Memory Page Data Type Allocation for NAND Flash Resource Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face resource inefficiencies and increased costs due to large physical memory block sizes, which hinder data separation and management, especially in NAND flash memory systems where in-place writes are not supported, leading to higher production and operating costs.
Innovation Solution
Implementing a method where data from multiple sources is stored in a single memory block or shared NAND page, with each page allocated based on data type, using an error correction code (ECC) engine to verify and manage data types, ensuring correct data access and reducing resource allocation by mixing data from different sources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If entire memory blocks are allocated to respective data sources, then data separation reliability is improved, but resource utilization deteriorates due to large physical memory block sizes
Solution Approach 1:
The patent segments memory blocks into smaller units (pages) for allocation. Instead of allocating entire memory blocks to data sources, the system allocates individual pages (e.g., 4KB units) within blocks, allowing finer-grained resource distribution while maintaining data separation through page-level data type tracking
Solution Approach 2:
The patent introduces data type attributes at the page level to distinguish different data sources. Each page is marked with its data type (e.g., host data, firmware data, partition data), enabling localized identification and management of data from different sources without requiring entire block allocation
2Quantity of substance
If physical memory block sizes are increased, then storage capacity is improved, but management complexity increases due to in-place write limitations
Solution Approach 1:
The patent divides large memory blocks into smaller manageable pages, reducing the management footprint. This segmentation allows the controller to handle writes more efficiently by operating at the page level rather than requiring entire block operations, thereby managing complexity while supporting large total capacity
Solution Approach 2:
The patent implements dynamic allocation and tracking of pages based on data types. The controller dynamically manages page-level attributes and allocation states, adapting memory management strategies based on the specific data types being written or read, which simplifies handling of large blocks through flexible page-level control
3Quantity of substance
If data from multiple sources is mixed in single memory blocks, then resource utilization is improved, but data access accuracy deteriorates without proper verification
Solution Approach 1:
The patent assigns data type attributes to each page to maintain quality differentiation within mixed blocks. Even though multiple data sources share the same physical block, each page carries its own data type marker (host data, firmware data, partition data), enabling accurate identification and access control at the page level
Solution Approach 2:
The patent implements verification mechanisms where the controller reads data type attributes from memory pages and uses this feedback to determine whether to execute read operations. The controller compares the requested data type with the stored page attribute, providing feedback control to ensure accurate data retrieval from the correct source
Data Source
AI summary
A method includes receiving a first write command from a first data source and determining a first data type associated with the first data source. The method also includes allocating a first page of a memory block to the first data source. The method also writing data to the first page based on the first write command and setting, on the first page, a data type of the first page based on the first data type. The method also includes receiving a read command from one of a plurality of data sources. The method also includes determining a data type associated with the one of the plurality of data sources. The method also includes determining whether to perform the read operation on the first page based on the data type of the first page and the data type associated with the one of the plurality of data sources.


