Flash Memory Data Rearrangement for Lower Random Read Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The performance of memory systems with flash memories, such as SSDs, deteriorates due to clusters being arranged across multiple pages of the flash memory as the memory becomes exhausted, leading to increased error correction code length and longer read latencies.
Innovation Solution
A memory system with a controller that counts the number of random reads and adaptively rearranges data clusters based on this count to minimize the frequency of clusters spanning across two pages, thereby optimizing data placement and reducing performance degradation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data clusters are arranged in flash memory as the memory becomes exhausted, then the storage capacity is utilized, but the performance deteriorates due to clusters spanning across multiple pages
Solution Approach 1:
The patent applies preliminary action by performing data rearrangement before the memory becomes completely exhausted. The controller proactively identifies and rearranges clusters that would span across page boundaries during garbage collection operations, preventing performance degradation before it occurs. This is evident in the embodiment where the controller rearranges data during garbage collection to ensure clusters are contained within single pages, rather than waiting until performance issues manifest.
2Quantity of substance
If clusters are arranged across multiple pages to utilize exhausted memory, then storage space is maximized, but read latency increases
Solution Approach 1:
The patent applies local quality by making the data arrangement adaptive to local conditions. The controller analyzes the specific state of each page and cluster, and makes localized rearrangement decisions based on which clusters are frequently accessed and which pages have available space. This selective, localized rearrangement during garbage collection ensures that clusters requiring fast access are kept within single pages, minimizing read latency while still utilizing exhausted memory space.
3Quantity of substance
If clusters span across two pages, then more storage regions can be used, but the access frequency increases and performance degrades
Solution Approach 1:
The patent applies preliminary action by proactively preventing clusters from spanning across page boundaries during the garbage collection process. The controller identifies clusters that would cross page boundaries and rearranges them beforehand, ensuring that high-access-frequency clusters are contained within single pages. This preliminary rearrangement maintains data access efficiency while still allowing the system to utilize exhausted storage regions by carefully managing cluster placement.
Data Source
Figure 1
Figure 2(A)~2(C)
Figure 3(A)~3(C)
AI summary
According to one embodiment, a memory system (1) includes a nonvolatile memory (12) and a controller (11). The controller (11) includes a counter (131) counting a number of accesses of data stored in the nonvolatile memory, in a first unit, the first unit being a unit of access to data from the host. The controller (11) determines whether a read command received from a host is a command for a sequential read or a random read, increments a value of the counter, which corresponds to data specified by the read command, when the read command is the command for the random read, and in a process of moving first data of a first block to a second block, controls rearrangement of the first data of the first block to the second block based on the value of the counter when the first data has a size of the first unit and needs to be arranged across two pages in the second block.