H03M13/6566

ADAPTIVE READ RETRY OPTIMIZATION

Systems, devices, and methods are presented that allow a data channel to adaptively vary a change in a reference voltage used to read data from a solid state memory. The change in the reference voltage may be determined based on a measured error statistic of the solid state memory. A hard decision low density parity check (HLDPC) decoder may be utilized in conjunction with a soft decision low density parity check (SLDPC).

Low density parity check decoder, electronic device, and method therefor

An electronic device, configured to perform a series of low-density parity check, LDPC, decoding operations for a parity check matrix, PCM, derived from at least one basegraph having a plurality of rows, includes: two or more check node, CN, sub-processors having input-output (I-O) port(s); and a controller configured to activate a subset of the I-O port(s) based on a current LDPC decoding sub-step of the LDPC decoding operations and the basegraph. The CN sub-processors support: a first single LDPC decoding operation to perform LDPC decoding computations for two or more rows of the PCM that are derived from different orthogonal rows of the plurality of rows in the basegraph; and a second mode whereby two or more of CN sub-processors co-operate to perform LDPC decoding computations for two or more rows of the PCM that are derived from a single row in the basegraph.

Adaptive read retry optimization

Systems, devices, and methods are presented that allow a data channel to adaptively vary a change in a reference voltage used to read data from a solid state memory. The change in the reference voltage may be determined based on a measured error statistic of the solid state memory. A hard decision low density parity check (HLDPC) decoder may be utilized in conjunction with a soft decision low density parity check (SLDPC).

Scheduling method of a parity check matrix and an LDPC decoder for performing scheduling of a parity check matrix

Provided is a method of scheduling a parity check matrix, the method performed by a low-density parity-check (LDPC) decoder, the method including checking at least one non-zero elemental variable node in the parity check matrix, identifying a first index of a row of the parity check matrix in the at least one non-zero elemental variable node, extracting a column in which the at least one non-zero elemental variable node is positionable from the parity check matrix using the first index, and mapping the at least one non-zero elemental variable node to the extracted column based on an arrangement, and identifying a second index of the column of the parity check matrix through the mapped at least one non-zero elemental variable node.

TIERED ERROR CORRECTION CODE (ECC) OPERATIONS IN MEMORY

Apparatuses and methods for performing an error correction code (ECC) operation are provided. One example method can include performing a first error code correction (ECC) operation on a portion of data, performing a second ECC operation on the portion of data in response to the first ECC operation failing, and performing a third ECC operation on the portion of data in response to the second ECC operation failing.

Multi-phase dispersed storage write process

A method begins by a storage unit of a dispersed storage network (DSN) receiving a lock request from a distributed storage (DS) processing unit associated with the DSN for an encoded data slice (EDS) of a set of encoded data slices (EDSs). The method continues with the storage unit determining whether a lock request has previously been granted for the EDS and when a lock request has not been previously granted for a slice name associated with the EDS, transmitting, by the storage unit, a favorable lock request response to the DS processing unit and locking the slice name associated with the EDS. The method continues with storage unit receiving a persist message indicating that the DS processing unit has received a write threshold number of favorable lock request responses for the set of EDSs.

Error correcting code testing

Various additional and alternative aspects are described herein. In some aspects, the present disclosure provides a method of testing error-correcting code (ECC) logic. The method includes receiving data for storage in a memory. The method further includes receiving an address indicating a location in the memory to store the data. The method further includes determining if the received address matches at least one of one or more test addresses. The method further includes operating the ECC logic in a normal mode when the received address does not match at least one of the one or more test addresses. The method further includes operating the ECC logic in a test mode when the received address does match at least one of the one or more test addresses.

ACCOMMODATING VARIABLE PAGE SIZES IN SOLID-STATE DRIVES USING CUSTOMIZED ERROR CORRECTION
20190243706 · 2019-08-08 ·

Systems and methods for accommodating variable page sizes in solid-state drives using customized error correction are disclosed. In one embodiment, a system is disclosed comprising a NAND Flash storage device comprising a plurality of NAND Flash pages; a NAND FTL configured to convert a LBA of a NAND Flash page to a PBA; a syndrome calculator configured to calculate a syndrome using a LBA and an LBA parity matrix, the LBA associated with a read command issued by a host device; and an ECC decoder configured to: read a codeword located at a PBA associated with the LBA associated with the read command, the codeword including a plurality of user data bits and a plurality of parity bits, confirm that the codeword does not contain an error if the codeword converges with the syndrome, and transmit the user data bits to the host device as a response to the read command.

Use of multiple codebooks for programming data in different memory areas of a storage device

A storage device may program data differently for different memory areas of a memory. In some embodiments, the storage device may use different codebooks for different memory areas. In other embodiments, the storage device may modify bit orders differently for different memory areas. What codebook the storage device uses or what bit order modification the storage device performs for a particular memory area may depend on the bad storage locations specific to that memory area. Where different codebooks are used, optimal codebooks may be selected from a library, or codebooks may be modified based on the bad storage locations of the memory areas.

LDPC PERFORMANCE IMPROVEMENT USING SBE-LBD DECODING METHOD AND LBD COLLISION REDUCTION
20190207628 · 2019-07-04 ·

Systems and methods are described for performing Layered Belief LDPC decoding on received Standard Belief LDPC encoded data bursts. In on implementation, a receiver: demodulates a signal, the demodulated signal including a noise corrupted signal derived from a codeword encoded using standard belief LDPC encoding; converts the noise corrupted signal derived from the standard belief LDPC encoded codeword to a noise corrupted signal derived from a layered belief LDPC encoded codeword; and decodes the noise corrupted signal derived from the layered belief LDPC encoded codeword using a layered belief LDPC decoder. In further implementations, systems are described for reducing collisions in Layered Belief LDPC decoders that occur when multiple parity checks need the same soft decision at the same time. In these implementations, elements in an original LBD decoder table are rearranged to increase the distance between elements specifying the same location in a RAM where soft decisions are stored.