Write Cache Sorting for NAND Flash Memory Fragmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
NAND Flash memory systems face inefficiencies due to mismatches between user page sizes and Flash memory page sizes, leading to data fragmentation and inefficient access times, particularly during write operations and garbage collection processes.
Innovation Solution
A method involving a controller that sorts data elements into write data tag queues based on specific attributes, optimizing write operations by associating them with RAID groups and using a buffer memory to manage data chunks, thereby improving read and write efficiency by localizing data access within Flash memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is divided into chunks and stored in RAID group memory circuits, then data redundancy and reliability are improved, but read operation efficiency deteriorates because only a portion of the Flash memory page may contain the requested data
Solution Approach 1:
The patent applies preliminary action by pre-sorting data chunks into dedicated queues based on their destination Flash memory page addresses before writing. This allows the system to organize data in advance so that when a read operation occurs, the data is already positioned optimally within the page, eliminating the need to read entire pages and reducing read latency while maintaining RAID redundancy
2Productivity
If user page sizes differ from Flash memory page sizes, then user data processing efficiency is improved, but data fragmentation occurs leading to inefficient Flash page access
Solution Approach 1:
The patent applies segmentation by dividing incoming user data into chunks that fit Flash memory page constraints, then organizing these chunks into sorted queues. Each queue groups chunks destined for specific Flash pages, allowing efficient writing and reading. This segmentation resolves the mismatch between user page sizes and Flash page sizes by creating an intermediate organized structure
Solution Approach 2:
The patent introduces a new organizational dimension by creating multiple sorted queues arranged in a circular buffer structure. Instead of linear storage, data is organized across multiple dimensions (queues arranged circularly), allowing efficient access patterns that accommodate both user page size requirements and Flash memory constraints without direct fragmentation
3Productivity
If garbage collection moves valid data between blocks, then memory reuse and productivity are improved, but data manipulation complexity increases due to compression requirements
Solution Approach 1:
The patent applies preliminary action in garbage collection by pre-organizing data chunks into sorted queues before the collection process begins. When valid data needs to be moved during garbage collection, the sorted queue structure already groups data by destination, eliminating the need for complex compression algorithms and reducing the manipulation complexity while maintaining high memory reuse efficiency
Data Source
AI summary
A method of managing a non-volatile memory system is described where data elements stored in a buffer are characterized by attributes and a write data tag is created for the data elements. A plurality of write data tag queues is maintained so that different data attributes may be applied as sorting criteria when the data elements are formed into pages for storage in the non-volatile memory. The memory system may be organized as a RAID system and a write data tag queue may be associated with a specific RAID group such that the data pages may be written from a buffer to the non-volatile memory in accordance with the results of sorting each write data queue. The data elements stored in the buffer may be received from a user, or be read from the non-volatile memory during the performance of system overhead operations.


