Write Cache Sorting for NAND Flash Memory Fragmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata redundancyVSAvoidread operation efficiency
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveuser data processing efficiencyVSAvoidFlash page access efficiency
Core Design Contradiction:
ProductivityVSLoss of time

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvememory reuse efficiencyVSAvoiddata manipulation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9507705B2Write cache sorting
Publication Date: 2016.11.29 SK HYNIX MEMORY SOLUTIONS AMERICA INC
  • US9507705B2 patent drawing
  • US9507705B2 patent drawing
  • US9507705B2 patent drawing

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.