Memory Controller Parity Block Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems experience performance degradation due to writing unnecessary dummy data when writing data and parity to memory devices, leading to increased data ratio and reduced storage capacity, as well as higher garbage collection frequency.
Innovation Solution
A memory system and operating method that flush first data smaller than a reference write unit to the memory device without adding dummy data, writing its parity to a dedicated parity memory block, and managing the parity location pointer and write flag to optimize data and parity storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data smaller than reference write unit is written together with dummy data to meet reference write unit size, then write operation can be performed with parity, but storage capacity is reduced and performance degrades
Solution Approach 1:
The patent segments the storage system into data memory blocks and separate parity memory blocks. Small data units can be written to data memory blocks without requiring padding to reference write unit size, while parity is independently managed in parity memory blocks. This segmentation allows efficient storage of variable-sized data without wasting space on dummy data.
Solution Approach 2:
The patent changes the parameter of write unit size from fixed (reference write unit) to variable (actual data size). By allowing data to be written in its actual size without padding to a fixed reference size, the system eliminates the need for dummy data while maintaining the ability to write parity for error verification.
2Adaptability or versatility
If dummy data is added to reach reference write unit size, then write operation compatibility is maintained, but data ratio increases and storage efficiency decreases
Solution Approach 1:
The patent divides the storage system into separate data memory blocks and parity memory blocks. This segmentation allows data of any size to be written to data memory blocks without requiring padding, while parity is independently calculated and stored in parity memory blocks, maintaining write operation compatibility without adding dummy data.
Solution Approach 2:
The patent extracts the parity storage function from the data storage function by using separate parity memory blocks. This extraction allows data to be written in its actual size without being constrained by reference write unit requirements, eliminating the need for dummy data while maintaining parity verification capability.
3Productivity
If dummy data is written to meet reference write unit size, then write operations can proceed, but garbage collection frequency increases
Solution Approach 1:
The patent segments data and parity into separate memory blocks, allowing data to be written in variable sizes without padding. This reduces the amount of valid data in each write operation, thereby reducing the proportion of dummy data that needs to be collected during garbage collection, which decreases garbage collection frequency and improves overall productivity.
4Reliability
If data is padded to reference write unit size, then parity can be calculated and written, but unnecessary dummy data is written reducing performance
Solution Approach 1:
The patent segments the storage system into data memory blocks and parity memory blocks. Data of any size can be written to data memory blocks without padding, and parity is independently calculated and stored in parity memory blocks. This segmentation maintains parity verification capability while eliminating the performance degradation caused by writing dummy data.
Solution Approach 2:
The patent changes the write operation from requiring fixed-size data units to accepting variable-size data units. By allowing data to be written in its actual size without padding to reference write unit size, the system maintains parity verification while improving performance by eliminating dummy data writes.
Data Source
AI summary
Embodiments of the present disclosure relate to a memory system and an operating method thereof. A memory system may include a memory device and a memory controller configured to, when receiving from the host a flush command instructing to flush data cached in a data cache to the memory device, flush first data cached in the data cache, the first data having a size smaller than a size of the reference write unit, to the memory device, write a first parity associated with the first data to a parity memory block, update a value of a parity location pointer indicating a location where the first parity is written, and set a parity write flag indicating whether the parity at the location pointed by the parity location pointer is valid.


