Flash Memory QC-LDPC Decoder Layout for Faster Convergence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing number of variable nodes in QC-LDPC decoders poses challenges for hardware area and decoding convergence speed, particularly in flash memory systems, due to the complexity of hardware implementation and the layered schedule architecture.
Innovation Solution
A flash memory controller and access method that adjusts the QC-LDPC decoder architecture by reducing the number of serially coupled blocks in the decoding loop to three: the variable node block, the V2C shift block, and the check node block, utilizing a shift parameter unit to optimize the shift parameters for improved convergence speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the number of variable nodes in QC-LDPC decoder is increased, then the decoding performance is improved, but the hardware area and decoding convergence speed deteriorate
Solution Approach 1:
The patent divides the variable nodes into multiple groups and processes them in a sequential layered schedule, where each group is handled by dedicated processing units. This segmentation allows the decoder to manage large numbers of variable nodes without requiring all processing resources simultaneously, thereby reducing hardware area while maintaining decoding performance.
Solution Approach 2:
The patent introduces a time dimension through iterative decoding layers, where decoding proceeds in multiple passes over different groups of variable nodes. This transforms the spatial complexity problem into a temporal process, allowing the same hardware resources to be reused across iterations, thus reducing the required hardware area for handling large variable node counts.
2Reliability
If the number of variable nodes in QC-LDPC decoder is increased, then the decoding performance is improved, but the decoding convergence speed deteriorates
Solution Approach 1:
By dividing variable nodes into groups and processing them in layered iterations, the patent enables parallel processing within each layer while maintaining manageable group sizes. This segmentation allows the decoder to make progress on multiple variable nodes simultaneously without the convergence speed degradation that would result from processing all nodes sequentially, thus improving overall decoding speed while maintaining performance.
Solution Approach 2:
The layered schedule architecture ensures that decoding operations continue continuously across multiple layers and iterations without idle periods. Each layer processes a different group of variable nodes, maintaining continuous useful action throughout the decoding process, which prevents convergence speed deterioration even as the total number of variable nodes increases.
3Speed
If the number of serially coupled blocks in decoding loop is reduced, then the decoding convergence speed is improved, but the implementation complexity increases
Solution Approach 1:
The patent merges the shift parameter generation and application functions into an integrated control mechanism that operates transparently across the decoding blocks. By combining these functions and using a unified layered schedule architecture, the patent reduces the number of serially coupled blocks and interface requirements, thereby improving convergence speed while actually simplifying the overall implementation complexity through functional integration.
Solution Approach 2:
The patent designs processing blocks with universal functionality that can handle multiple operations within the decoding loop. The layered schedule architecture creates multi-functional processing units that can operate on different variable node groups across iterations, reducing the need for dedicated specialized blocks and thereby reducing the number of serially coupled blocks while maintaining implementation simplicity through standardized reusable components.
Data Source
AI summary
A flash memory controller and a flash memory access method are provided. The flash memory controller comprises a decoder, performing a decoding operation based on a base matrix of a quasi-cyclic low-density parity-check code and the channel values read from a flash memory. The decoder comprises a variable node block, a V2C shift block, a check node block, which are serially coupled. The decoder further comprises a status data shift block, which is parallelly coupled with the check node block, circularly shifts the status data of the check node block and feeds back to the check node block. Due to the number of serially coupled blocks is only three, the convergence speed of the iterative decoding process is improved, thereby the flash memory access performance is enhanced.


