Non-binary Data Encoding for Flash Memory Capacity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory systems are limited by their binary nature, which restricts the number of program levels per cell to powers of two, leaving unused capacity and performance potential in newer, higher-quality flash memory devices.
Innovation Solution
Converting binary data into non-binary data using a base greater than two and encoding it with non-binary low-density parity-check (LDPC) coding, allowing for more flexible use of program levels based on the device's capabilities, without relying on gray coding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If binary data encoding is used in flash memory, then compatibility with existing systems is maintained, but the number of program levels per cell is restricted to powers of two, leaving unused capacity in higher-quality memory devices
Solution Approach 1:
The patent changes the fundamental parameter of data encoding from binary (base-2) to non-binary (base-X where X>2), allowing the number of program levels per cell to be selected from any integer greater than one, not restricted to powers of two. This enables flash memory systems to adapt to varying memory cell qualities and utilize the full range of available program levels, thereby resolving the contradiction between adaptability and complexity by fundamentally changing the encoding parameter space.
Solution Approach 2:
The patent introduces dynamic selection of the base value X for non-binary encoding, where X can be adjusted based on the quality and capabilities of individual flash memory devices. This dynamic adaptation allows the system to optimize performance for each device's specific characteristics, enabling higher-quality devices to utilize more program levels while maintaining compatibility with lower-quality devices, thus resolving the contradiction between adaptability and complexity.
2Quantity of substance
If the number of program levels per cell is increased to store more data, then storage capacity increases, but the binary nature of data writing and reading impedes performance
Solution Approach 1:
The patent changes the data encoding parameter from binary to non-binary, which fundamentally alters how data is written to and read from flash memory cells. By using base-X encoding where X matches the number of available program levels, the system can directly map data values to program levels without binary conversion overhead, thereby increasing both storage capacity utilization and data access performance simultaneously.
Solution Approach 2:
The patent replaces the mechanical binary encoding system with a non-binary encoding system that is better suited to the physical characteristics of flash memory cells. This substitution eliminates the mismatch between binary data representation and the analog nature of flash memory program levels, improving the efficiency of data writing and reading operations while maximizing storage capacity utilization.
3Productivity
If non-binary encoding is implemented to increase flexibility, then capacity and performance are optimized, but the complexity of encoding and decoding processes increases
Solution Approach 1:
The patent changes the encoding parameter from binary to non-binary, which simplifies the mapping between data and program levels by using a base system that directly corresponds to the number of available program levels. This parameter change reduces the complexity of encoding and decoding operations compared to binary systems that must accommodate non-power-of-two program levels, thereby improving memory usage efficiency while keeping implementation complexity manageable.
4Quantity of substance
If flash memory devices with higher program levels are used, then storage density increases, but the binary data structure leaves unused capacity
Solution Approach 1:
The patent changes the data encoding parameter to non-binary, which allows direct utilization of all available program levels in flash memory cells regardless of whether the number of levels is a power of two. This eliminates the unused capacity that occurs in binary systems where program levels beyond the nearest power of two cannot be fully utilized, thereby increasing storage density while minimizing waste.
Solution Approach 2:
The patent creates a universal non-binary encoding system that can accommodate any number of program levels, making the system adaptable to different flash memory device capabilities. This universal approach allows high-density memory devices to fully utilize their capacity while maintaining compatibility with lower-density devices, eliminating unused capacity across the board and maximizing storage efficiency.
Data Source
AI summary
A data storage system and method are provided for storing data in non-volatile memory devices. Binary data is received for storage in a non-volatile memory device. The binary data is converted into non-binary data comprising base-X values, where X is an integer greater than two. The non-binary data is encoded to generate a codeword and the codeword is written to a wordline of the non-volatile memory device.


