ZNS Storage Controller Data Integrity via Delta Copying
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices, such as SSDs, face challenges in data reliability due to limited RAM capacity, which is consumed by parity data and data in flight, leading to potential data loss during power failures.
Innovation Solution
The implementation of a method where change log data and delta data are generated and stored in volatile memory, periodically copied to non-volatile storage, and tracked by the controller, ensuring that during a power failure, this data is copied to the non-volatile storage unit, thereby protecting it from loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If RAM is used to store parity data and data in flight, then data protection capability is improved, but RAM capacity consumption increases
Solution Approach 1:
The patent segments the storage system into multiple zones, with each zone having dedicated parity regions. This segmentation allows efficient utilization of limited RAM by allocating specific portions for parity data and data in flight, rather than treating all RAM as a single pool, thus improving data protection while optimizing RAM capacity usage.
Solution Approach 2:
The system performs preliminary actions by pre-allocating and pre-organizing RAM spaces for parity data and data in flight before power failures occur. The controller proactively manages the placement and protection of these critical data portions, ensuring that when power is restored, the data can be recovered without loss, thereby improving reliability without requiring excessive RAM capacity.
2Reliability
If more RAM is allocated for parity data and data in flight, then data reliability is improved, but device cost increases
Solution Approach 1:
The patent implements a universal RAM management system that serves multiple functions: storing user data, parity data, and data in flight, all within the same RAM resource pool. The controller dynamically manages these different data types, allowing the same hardware resources to fulfill multiple protection and storage roles, thereby improving data reliability without proportionally increasing device cost.
Solution Approach 2:
The system dynamically changes parameters such as the allocation size of parity regions and data in flight buffers based on current operational needs and available RAM capacity. This flexible parameter adjustment allows the system to maintain high data reliability while adapting to different cost constraints and performance requirements, avoiding the need for excessive fixed RAM allocation.
3Speed
If data is stored in volatile memory, then access speed is improved, but data loss risk during power failure increases
Solution Approach 1:
The patent implements a copying mechanism where critical data portions (parity data and data in flight) are maintained in volatile RAM for fast access, with corresponding copies or protection information stored in non-volatile storage. When power failure occurs, the system can recover the volatile data from these persistent copies, thereby maintaining both high access speed during normal operation and data reliability during power failures.
Solution Approach 2:
The system provides beforehand cushioning by pre-preparing protection mechanisms for volatile memory data. The controller continuously maintains protective copies and manages data states in advance, so that when power failure occurs, the damage is already mitigated. This prior cushioning allows the system to enjoy the speed benefits of volatile memory while being protected against its inherent data loss risk.
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. When a write command is received to write data to a zone, change log data is generated and stored in the RAM1, the previous delta data for the zone is copied from the RAM2 to the RAM1 to be updated with the change log data, and the updated delta data is copied to the RAM2. The delta data stored in the RAM2 is copied to the storage unit periodically. The controller tracks which delta data has been copied to the RAM2 and to the storage unit. During a power failure, the delta data and the change log data are copied from the RAM1 or the RAM2 to the storage unit.


