Storage Controller Parity Data Management via Zonal RAM Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices, such as SSDs, face limitations due to the high demand for RAM space for generating and storing parity data, leading to increased costs and reduced capabilities, as well as slower data transfer speeds that cause bottlenecks during writing operations.
Innovation Solution
Implementing a method where a storage device with a controller and two types of RAM (DRAM and SRAM) optimizes data transfer speeds by setting a minimum write size and using a temporary buffer in SRAM to update and copy parity data, ensuring efficient data transfer and storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If parity data is generated and stored in RAM for each write command, then data protection reliability is improved, but RAM space consumption increases and cost increases
Solution Approach 1:
The invention segments the storage system into zones, with each zone having its own dedicated parity die. This segmentation allows parity data to be distributed across multiple zones rather than concentrated in a single RAM area, effectively dividing the RAM space requirement into smaller manageable portions allocated to each zone.
Solution Approach 2:
The invention transitions from storing all parity data in a single RAM dimension to utilizing the zonal structure of the storage device. Parity data is now stored in association with specific zones and their corresponding dies, adding a spatial dimension (zone-based distribution) to the parity storage architecture.
2Speed
If data transfer speed to NAND is increased, then write performance is improved, but bottlenecks occur when simultaneously generating parity data for numerous small commands
Solution Approach 1:
The invention implements preliminary action by pre-allocating parity storage space in RAM for each zone before write operations begin. This allows the system to prepare the necessary buffer space in advance, enabling faster data transfer to NAND without the overhead of dynamically allocating and managing parity storage during the write process.
Solution Approach 2:
The invention ensures continuity of useful action by maintaining dedicated parity storage regions in RAM that are continuously available for each zone. This eliminates interruptions in the write process caused by parity generation and storage operations, allowing data transfer to NAND to proceed continuously without bottlenecks.
3Quantity of substance
If more RAM is included in the storage device, then parity data storage capacity is improved, but overall device cost increases
Solution Approach 1:
The invention makes the RAM serve multiple functions: it is used both for storing user data and for generating/storing parity data for each zone. This multi-functionality eliminates the need for separate dedicated RAM regions solely for parity storage, thereby reducing the total RAM capacity required and lowering device cost.
Solution Approach 2:
The invention changes the parameter of RAM allocation from a fixed large capacity to a dynamic zone-based allocation. Each zone receives only the amount of RAM space it needs for its parity data, optimizing the overall RAM utilization and reducing the total RAM capacity required compared to traditional approaches that allocate RAM uniformly or in large blocks.
Data Source
AI summary
The present disclosure generally relates to methods of operating storage devices. The storage device comprises a controller comprising first random access memory (RAM1), second random access memory (RAM2), and a storage unit divided into a plurality of zones. By restricting the host to have a minimum write size, the data transfer speed to RAM2, RAM1, and the storage unit can be optimized. A temporary buffer is utilized within the RAM1 to update parity data for the corresponding commands. The parity data is updated in the RAM1 and written to the RAM2 in the corresponding zone. The parity data may be copied from the RAM2 to the RAM1 to update the parity data in the temporary buffer when commands are received to write data to corresponding zones. As the parity data is updated, the corresponding command is simultaneously written to the corresponding zone.


