Memory Bad Block Management via Dynamic Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current file systems for memory devices face inefficiencies due to the overhead costs of remapping bad memory locations, which increase with the use of higher access speed memories and are exacerbated by the need for volatile storage of remapping data, leading to potential data loss during power failures.
Innovation Solution
The proposed solution involves omitting the listing of auxiliary physical addresses from the memory device file system table, evaluating primary physical addresses before access, and hashing them to obtain auxiliary addresses only when necessary, reducing the need for storing remapping data and using metadata to track remapped pages, with remapping occurring on a per-page basis until a threshold is exceeded, then shifting to entire block remapping.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If auxiliary physical addresses are listed in the file system table for remapping bad memory locations, then reliability is improved, but device complexity and storage overhead increase
Solution Approach 1:
The patent extracts the remapping information from the main file system table structure and implements it through dynamic evaluation and hashing mechanisms. Instead of pre-storing all auxiliary address mappings in the file system table, the system evaluates primary addresses at access time and computes auxiliary addresses on-demand, removing the burden of maintaining extensive remapping metadata in the file system structure.
Solution Approach 2:
The system implements self-service by automatically evaluating primary physical addresses and computing auxiliary addresses through hashing when bad blocks are encountered. The memory device autonomously manages the remapping process without requiring external intervention or pre-configured remapping tables, reducing the complexity of file system management while maintaining reliability.
2Speed
If remapping data is stored in volatile memory for fast access, then speed is improved, but data loss risk increases during power failures
Solution Approach 1:
The system performs preliminary evaluation of primary physical addresses to determine if they map to bad blocks before actual data access. By pre-computing auxiliary addresses through hashing and maintaining evaluation results in metadata, the system prepares remapping information in advance, reducing the need for extensive volatile storage while ensuring fast access when needed.
Solution Approach 2:
The patent introduces metadata as an intermediary layer between volatile remapping data and persistent storage. The metadata stores essential evaluation results and auxiliary address mappings that can be quickly accessed during operation, while the actual remapping information is persisted through the file system structure, reducing reliance on large volatile memory buffers and mitigating data loss risk.
3Quantity of substance
If per-page remapping is implemented instead of block remapping, then storage efficiency is improved, but device complexity increases
Solution Approach 1:
The patent segments the remapping operation from the block structure and applies it at the page level. By evaluating and remapping individual pages within blocks rather than entire blocks, the system maximizes the usable storage capacity of memory devices with bad blocks. The segmentation is implemented through page-level address evaluation and selective remapping to auxiliary pages.
Solution Approach 2:
The system changes the granularity parameter of remapping operations from block-level to page-level. This parameter change enables finer control over which memory locations are remapped, improving storage efficiency by preserving good pages within blocks that contain bad pages. The implementation uses page-specific address evaluation and hashing to achieve this fine-grained remapping.
Data Source
AI summary
The amount of remapping data in a file system of a memory device is reduced. In one aspect, for each request access, e.g., read or write operation, the memory cells of a primary physical address are evaluated. If the evaluation indicates the memory cells are good, the read or write operation proceeds. If the memory cells have a failure such as uncorrectable errors, the primary physical address is hashed to obtain an auxiliary physical address. If the auxiliary physical address is not available, the primary physical address can be hashed again to obtain another auxiliary physical address. In another aspect, per-page remapping is performed until a threshold number of bad pages in a block are detected, after which the entire block is remapped. In another aspect, pages of a block are remapped to auxiliary pages based on a block identifier.


