Metapage Storage Concurrent Programming for Write Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage devices face performance and throughput issues due to the dual write scheme, which requires waiting for data to be completely transferred before writing a second copy, leading to delays and reduced efficiency.
Innovation Solution
Implementing a method where a second copy of a page is programmed as soon as the next page is transferred, and allowing the transfer of a second metapage to non-volatile memory arrays without waiting for the first metapage to be programmed, enabling simultaneous operations and quicker data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dual write scheme is used to write data to two separate sets of blocks, then data reliability is improved, but write throughput and performance deteriorate due to waiting for complete data transfer before programming the second copy
Solution Approach 1:
The patent applies preliminary action by transferring data to a buffer memory before programming it to the non-volatile memory array. This allows the data to be staged and prepared in advance, enabling the controller to initiate programming operations without waiting for complete data transfer from the host, thus improving throughput while maintaining reliability through the buffer staging mechanism.
Solution Approach 2:
The patent implements dynamics by allowing the programming of a second copy of data to commence before the complete transfer of the next metapage is finished. This dynamic approach enables overlapping of data transfer and programming operations, transforming the static sequential process into a dynamic concurrent process that improves write throughput while ensuring data reliability through dual-copy programming.
2Stability of the object's composition
If the controller waits for complete metapage transfer before programming, then data integrity is ensured, but operational delays increase and efficiency decreases
Solution Approach 1:
The controller performs preliminary actions by transferring data to a buffer memory before programming operations begin. This preliminary staging ensures data is ready and validated before programming starts, maintaining data integrity while allowing the programming process to begin without waiting for complete host-to-buffer transfer, thus reducing operational delays.
Solution Approach 2:
The patent enables continuity of useful action by allowing the programming of data copies to proceed continuously without waiting for complete metapage transfers. The controller maintains continuous programming operations by utilizing buffer-staged data and overlapping transfer with programming, ensuring data integrity through validation while minimizing idle time and operational delays.
3Manufacturing precision
If sequential programming of data copies is performed, then programming precision is maintained, but overall write speed and throughput are reduced
Solution Approach 1:
The patent applies dynamics by transitioning from static sequential programming to dynamic concurrent programming. The controller can initiate programming of the first copy before the second copy transfer is complete, and can overlap programming operations with subsequent data transfers. This dynamic approach maintains programming precision through proper sequencing and validation while significantly improving write speed through operational concurrency.
Solution Approach 2:
The preliminary transfer of data to buffer memory enables the controller to prepare programming operations in advance. This preliminary staging allows precise programming operations to be initiated without waiting for complete host transfers, maintaining programming precision through controlled buffering while improving write speed by eliminating idle waiting time between transfer and programming operations.
Data Source
AI summary
Systems and methods are disclosed for executing access commands for a data storage device. A data storage device receives first data to be written to a plurality of dies/non-volatile memory arrays. The data storage device transfers a first metapage of the first data to the plurality of dies/non-volatile memory arrays. The data storage device also programs the first metapage to a first metablock of the plurality of dies and programs the first metapage to a second metablock of the plurality of dies/non-volatile memory arrays. The data storage device further transfers a second metapage to the plurality of dies/non-volatile memory arrays. Programming the first metapage to the first metablock may be simultaneous with transferring the second metapage to the plurality of dies/non-volatile memory arrays.


