Tone Generation Buffer for Flash Memory Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


