Patent classifications
H03M13/6502
Method and Apparatus for Vertical Layered Decoding of Quasi-Cyclic Low-Density Parity Check Codes Built from Clusters of Circulant Permutation Matrices
This invention presents a method and the corresponding hardware apparatus for decoding LDPC codes using a vertical layered (VL) iterative message passing algorithm. The invention operates on quasi-cyclic LDPC (QC-LDPC) codes, for which the non-zero circulant permutation matrices (CPMs) are placed at specific locations in the parity-check matrix of the codes, forming concentrated clusters of CPMs. The purpose of the invention is to take advantage of the organization of CPMs in clusters in order to derive a specific hardware architecture, consuming less power than the classical VL decoders. This is achieved by minimizing the number of read and write accesses to the main memories of the design.
Hardware complexity reduction technique for successive cancellation list decoders
A hardware complexity reduction method for successive cancellation list decoders (SCL) is provided. In path pruning stages of an SCL decoding, L paths with smallest path metrics out of 2L candidate paths are chosen as surviving candidate paths as in a conventional SCL algorithm. Moreover, path indexes of L surviving candidate paths are provided in a sorted manner according to indexes at an output of a sorter module. After a path pruning, instead of L-to-1 multiplexers, (L/2+1)-to-1 multiplexers are deployed to perform copying operations of any required elements stored in dedicated registers of the L surviving candidate paths.
Systems and methods for Nyquist error correction
The present invention is directed to communication systems and methods. In a specific embodiment, the present invention provides a receiver that includes an error correction module. A syndrome value, calculated based on received signals, may be used to enable the error correction module. The error correction module includes an error generator, a Nyquist error estimator, and a decoder. The decoder uses error estimation generated by the Nyquist error estimator to correct the decoded data. There are other embodiments as well.
Accelerated erasure coding system and method
An accelerated erasure coding system includes a processing core for executing computer instructions and accessing data from a main memory, and a non-volatile storage medium for storing the computer instructions. The processing core, storage medium, and computer instructions are configured to implement an erasure coding system, which includes: a data matrix for holding original data in the main memory; a check matrix for holding check data in the main memory; an encoding matrix for holding first factors in the main memory, the first factors being for encoding the original data into the check data; and a thread for executing on the processing core. The thread includes: a parallel multiplier for concurrently multiplying multiple entries of the data matrix by a single entry of the encoding matrix; and a first sequencer for ordering operations through the data matrix and the encoding matrix using the parallel multiplier to generate the check data.
Cyclic redundancy check (CRC) system for detecting error in data communication
A cyclic redundancy check (CRC) system includes an input unit, a plurality of CRC engines for 1 byte to n/2 byte, and an output unit. The input unit has a data de-multiplexer for receiving n byte data. The plurality of CRC engines for 1 byte to n/2 byte are connected to the data de-multiplexer for processing demultiplexed n byte data. The output unit has a data multiplexer for providing processed CRC output data. The plurality of CRC engines for 1 byte to n/2 byte are arranged in two columns. A first column includes one or more CRC engines for 1 byte to n/2 byte and a second column includes a CRC engine for n/2 byte.
Noise generation for differential privacy
A system and method for applying noise to data is described. The system accesses a metric value of a metric of each user from a group of users of an application. The metric indicates a measure of an operation of the application by a corresponding user. The system generates noise values and defines a distribution of the noise values to the group of users. The system modifies the metric value of the metric of each user with a corresponding noise value from the noise values based on the distribution.
Accelerated erasure coding system and method
An accelerated erasure coding system includes a processing core for executing computer instructions and accessing data from a main memory, and a non-volatile storage medium for storing the computer instructions. The processing core, storage medium, and computer instructions are configured to implement an erasure coding system, which includes: a data matrix for holding original data in the main memory; a check matrix for holding check data in the main memory; an encoding matrix for holding first factors in the main memory, the first factors being for encoding the original data into the check data; and a thread for executing on the processing core. The thread includes: a parallel multiplier for concurrently multiplying multiple entries of the data matrix by a single entry of the encoding matrix; and a first sequencer for ordering operations through the data matrix and the encoding matrix using the parallel multiplier to generate the check data.
Storage unit including memories of different operational speeds for optimizing data storage functions
A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request for an encoded data slice (EDS) associated with a data object. The computing device compares a slice name of the data access request with slice names stored within RAM. When the data access request slice name compares unfavorably with those stored slice names, the computing device transmits an empty data access response that includes no EDS to the other computing device without needing to access a hard disk drive (HDD) that stores EDSs. Alternatively, the computing device transmits a data access response that includes the EDS.
METHODS AND PROCEDURES FOR POLAR ENCODING AND DECODING WITH LOW LATENCY
A polar code may be initially divided into multiple polar component codes where the features of these component codes, such as the number of component codes and the size of the component codes, are determined based on parameters such as the number of available timing units within a transmission interval, interleaving depth, and decoder capability. For each selected component code, the order of code bit generation and their indexes may be determined. The determined indexes may be assigned into different, unique groups according to the order of code bit generation. An interleaving operation may be configured and then executed according to the determined index grouping. In the transmission phase, the code bits may be transmitted based on the identified order of the bit generation in the component polar codes, such as the determined index grouping.
Transmission apparatus and method, and reception apparatus and method
A transmission apparatus includes a signal processing circuit configured to obtain information data bits to be transmitted; add known information data bits to the information data bits to generate first data blocks; perform error-correction coding on the first data blocks to generate first coded data blocks including parity data blocks such that the first coded data blocks satisfy a first code rate; remove the known information data bits from the first coded data blocks to generate second coded data blocks, the second coded data blocks satisfying a second code rate different from the first code rate; and modulate the second coded data blocks using a modulation scheme to generate a modulated signal, which is then transmitted. A number of the known information data bits depends on a number of the information data bits such that the first code rate is fixed regardless of the number of the information data bits.