Memory Controller Write Alignment for Faster Die-Level Reads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage devices experience decreased read performance due to misalignment of write data at the die level, necessitating twice as many requests and inefficient data programming.
Innovation Solution
A method for a memory controller that computes the minimum number of dies required for write data programming, determines if dummy data is necessary, and buffers data in units of reference sizes to optimize data alignment and minimize die usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If write data is not aligned with die units, then the controller can handle arbitrary data sizes, but the number of requests doubles and read performance decreases
Solution Approach 1:
The controller performs preliminary alignment adjustment by padding write data with dummy data before programming to the die. This preliminary action ensures that the total data size (original data + dummy data) becomes a multiple of the die unit size, thereby achieving proper alignment and avoiding the need for doubled requests during subsequent reads.
Solution Approach 2:
The controller changes the parameter of data size by adding dummy data to the write data, transforming the original data size into a new size that is compatible with die unit alignment requirements. This parameter change enables the data to be programmed efficiently in a single request while maintaining read performance.
2Productivity
If the controller adds dummy data to align write data, then read performance improves, but the amount of data programmed increases
Solution Approach 1:
The controller uses dummy data as a temporary, disposable element that is added only during the write operation. This dummy data serves its purpose of achieving alignment and is then read along with the actual data during subsequent read operations, but since it is identical data, it does not increase the meaningful information load. The dummy data is effectively a temporary placeholder that enables efficient alignment without permanently increasing the data quantity.
3Productivity
If the controller programs write data in minimum number of dies, then data programming efficiency improves, but alignment control becomes more complex
Solution Approach 1:
The controller segments the data programming process into two independent steps: first, it calculates the minimum number of dies required based on data size and die capacity; second, it distributes the data (plus dummy data for alignment) across these dies. This segmentation allows the controller to handle alignment control systematically by first determining the optimal die count and then performing the actual programming, thereby reducing overall complexity.
Solution Approach 2:
The dummy data acts as an intermediary element between the original write data and the die programming process. By adding this intermediary, the controller simplifies the alignment control mechanism, as the dummy data automatically fills the gap between the original data size and the nearest multiple of die unit size, eliminating the need for complex calculation and control logic during data distribution.
Data Source
AI summary
Proposed is a method of operating a memory controller, the method including receiving a program command from a host, computing the minimum number of dies in which write data is programmable in response to the program command, determining whether or not the write data is programmable in the dies corresponding to the computed minimum number, on the basis of a size of a data stored in a FTL write queue, and determining whether or not dummy data is additionally necessary to the data stored in the FTL write queue, on the basis of a result of the determining of whether or not the write data is programmable.


