Non-Binary Flash Encoding for Flexible Program Levels
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The binary nature of data storage in flash memory systems limits the number of program levels, restricting the performance and capacity of flash memory devices that can utilize more than the standard power of two programming levels.
Innovation Solution
Converting binary data into non-binary data using a non-binary encoding scheme such as non-binary low-density parity-check (LDPC) encoding, where the number base is selected based on the device's capabilities, allowing for programming and reading of multiple levels beyond traditional binary constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If binary encoding is used for flash memory storage, then the storage system is simple and compatible with standard binary processors, but the number of program levels is limited to powers of two, restricting storage capacity and performance
Solution Approach 1:
The patent changes the fundamental parameter of data representation from binary (base-2) to non-binary (base-X where X>2). This allows the flash memory system to utilize more program levels (e.g., 6, 7, 10, 12 levels) that are not restricted to powers of two, thereby increasing storage capacity and adapting to varying memory cell qualities while maintaining a systematic encoding approach
2Quantity of substance
If more program levels are utilized to increase storage capacity, then the data storage capacity increases, but the bit error rate increases and requires more error correction
Solution Approach 1:
The patent introduces non-binary LDPC codes as an intermediary mechanism between the raw memory cells and the stored data. This error correction code acts as a mediator that can handle the increased bit error rates associated with higher program levels, enabling the system to reliably utilize more program levels (6, 7, 10, or 12 levels) to achieve greater storage capacity while maintaining data integrity
3Productivity
If the number of program levels is increased beyond powers of two, then storage efficiency improves, but standard binary decoding methods become incompatible
Solution Approach 1:
The patent inverts the traditional approach by having the encoder perform the base conversion from binary to base-X, rather than requiring the decoder to convert from base-X back to binary. This inversion allows standard binary processors to write data efficiently while the specialized non-binary LDPC decoder handles the non-binary operations, thus improving storage efficiency while maintaining processor compatibility
4Adaptability or versatility
If non-binary encoding is implemented to enable more program levels, then flexibility in selecting program levels improves, but the computational complexity of encoding and decoding increases
Solution Approach 1:
The patent segments the encoding and decoding processes into distinct functional components: base conversion module, non-binary LDPC encoder, and non-binary LDPC decoder. This segmentation allows each component to be optimized independently and enables the system to select different numbers of program levels (6, 7, 10, or 12) by reconfiguring these modular components, thereby maintaining flexibility while managing computational complexity through structured design
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.


