Dynamic SLC MLC Bit Allocation in Non-Volatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional non-volatile memories face challenges in dynamically adjusting the number of bits per cell to optimize storage reliability, performance, and capacity, as they are typically pre-allocated as either single-level cell (SLC) or multi-level cell (MLC) locations, leading to potential reliability and efficiency issues.
Innovation Solution
A system and method for dynamically allocating the number of bits per cell in non-volatile memory locations, allowing a memory location to be dynamically switched between SLC and MLC based on current needs, using an address vector with an SLC/MLC indicator to determine the appropriate programming order and maintain a mapping for subsequent operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory locations are pre-allocated as MLC to increase storage capacity, then storage capacity increases, but storage reliability deteriorates
Solution Approach 1:
The patent implements dynamic allocation of bits per cell, allowing memory locations to switch between SLC and MLC modes at runtime based on current storage needs. This dynamic approach resolves the contradiction by enabling the system to optimize for capacity when needed (MLC mode) while maintaining reliability options (SLC mode) when required, rather than being locked into a fixed pre-allocation scheme.
2Reliability
If memory locations are pre-allocated as SLC to improve storage reliability, then storage reliability improves, but storage capacity deteriorates
Solution Approach 1:
The dynamic allocation mechanism allows the system to switch memory locations between SLC and MLC configurations at runtime. When high reliability is needed, locations can be allocated as SLC; when capacity is prioritized, the same locations can be re-allocated as MLC. This resolves the capacity penalty of SLC pre-allocation by enabling flexible re-use of memory resources.
Solution Approach 2:
The patent makes memory locations universal by enabling them to serve multiple functions - acting as either SLC or MLC locations depending on runtime requirements. This multi-functionality allows the same physical memory resources to adapt to different storage priorities, eliminating the need for dedicated SLC or MLC partitions.
3Productivity
If memory locations are pre-allocated as SLC to improve storage performance, then storage performance improves, but storage capacity deteriorates
Solution Approach 1:
The system dynamically adjusts the bits-per-cell configuration at runtime based on performance requirements. When high performance is needed, locations can be allocated as SLC with appropriate programming orders; when capacity is more important, the same locations switch to MLC mode. This dynamic adaptation resolves the performance-capacity tradeoff inherent in static pre-allocation.
Data Source
AI summary
Systems and methods are provided for dynamically allocating a number of bits per cell to memory locations of a non-volatile memory (“NVM”) device. In some embodiments, a host may determine whether to store data in the NVM device using SLC programming or MLC programming operations. The host may allocate an erased block as an SLC block or MLC block based on this determination regardless of whether the erased block was previously used as an SLC block, MLC block, or both. In some embodiments, to dynamically allocate a memory location as SLC or MLC, the host may provide an address vector to the NVM package, where the address vector may specify the memory location and the number of bits per cell to use for that memory location.


