Tone Generation Buffer for Flash Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing tone generation apparatus using hard disks experiences delays in starting tone generation due to bottlenecks in access speed, and replacing them with NAND-type flash memory increases CPU load significantly due to frequent transfer request interrupts.

Innovation Solution

Waveform sample data is read out from a NAND-type flash memory on a page-by-page basis without interrupting the CPU, allowing for continuous page-by-page transfers and reducing CPU load by using a transfer queue register for instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hard disk is used for waveform data storage, then access speed is slow causing tone generation delay, but replacing with NAND-type flash memory increases CPU load due to frequent interrupts

Engineering Contradiction:
Improveaccess speedVSAvoidCPU load
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

A buffer memory is introduced as an intermediary between the NAND-type flash memory and the waveform memory. The buffer receives waveform data from the flash memory and supplies it to the waveform memory, decoupling the high-speed flash memory access from the CPU interrupt cycle. This mediator allows the flash memory to operate at high speed while the CPU is not continuously interrupted for each page transfer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-reading waveform data pages into the buffer memory before they are needed for tone generation. The buffer is filled with waveform data in advance, allowing the tone generation to start immediately without waiting for CPU interrupts to fetch data from the flash memory.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If NAND-type flash memory is used with frequent page readout, then data transfer speed increases, but transfer request interrupt frequency increases ten times or more

Engineering Contradiction:
Improvedata transfer speedVSAvoidinterrupt frequency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The buffer memory acts as a mediator that absorbs the high-frequency readout requests from the flash memory. Instead of the CPU being interrupted for each page readout, the buffer handles the continuous stream of page requests from the flash memory and supplies data to the waveform memory at the required rate, filtering out the interrupt frequency issue.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables continuous useful action by maintaining a continuous data flow from the flash memory through the buffer to the waveform memory. The buffer is continuously refilled from the flash memory without interrupting the tone generation process, creating an uninterrupted data supply chain that eliminates the stop-start nature of interrupt-driven transfers.

Inventive Principle:
Principle #20Continuity of useful action

3Extent of automation

If waveform data are read out page by page from flash memory, then CPU intervention is minimized, but buffer memory capacity requirements increase

Engineering Contradiction:
ImproveCPU interventionVSAvoidbuffer memory capacity
Core Design Contradiction:
Extent of automationVSQuantity of substance

Solution Approach 1:

The buffer memory capacity is designed to hold a partial amount of waveform data (one or more pages) rather than the entire waveform database. This partial buffering is sufficient to bridge the gap between flash memory readout and waveform memory consumption, providing adequate automation without requiring excessive buffer capacity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8035021B2Tone generation apparatus
Publication Date: 2011.10.11 YAMAHA CORP
  • US8035021B2 patent drawing
  • US8035021B2 patent drawing
  • US8035021B2 patent drawing

AI summary

With no interrupt to a CPU, waveform data stored in a NAND-type flash memory are read out on a page-by-page basis to supply a buffer of a waveform memory with waveform sample data. A series of waveform data are prestored in successive pages of the intermediate buffer capable of high-speed page access thereto. Page number of a page to be read out first is set, and that page is read into a buffer in advance. Before completion of readout of the first page, another page to be read out next is loaded into the buffer. After that, the page number is incremented by one each time readout of one page is completed, and the waveform sample data of the page number continue to be reproduced while being read into the buffer.