Patents by Inventor Kiran Gunnam

Kiran Gunnam has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8443249
    Abstract: Various embodiments of the present invention provide systems and methods for encoding data. As an example, a data encoding circuit is disclosed that includes a first stage data encoder circuit and a second stage data encoder circuit. The first stage data encoder circuit is operable to provide a first stage output. The first stage data encoder circuit includes a first vector multiplier circuit operable to receive a data input and to multiply the data input by a first sparse matrix to yield a first interim value. The second stage encoder circuit includes a second vector multiplier circuit operable to multiply the first stage output by a second sparse matrix to yield a second interim value.
    Type: Grant
    Filed: April 26, 2010
    Date of Patent: May 14, 2013
    Assignee: LSI Corporation
    Inventors: Zongwang Li, Kiran Gunnam, Shaohua Yang
  • Patent number: 8423861
    Abstract: In a communications system that demultiplexes user data words into multiple sub-words for encoding and decoding within different subword-processing paths, the minimum distance between bit errors in an extrinsic codeword can be increased by having corresponding interleavers/deinterleavers in the different subword-processing paths use different interleaving/deinterleaving algorithms.
    Type: Grant
    Filed: December 22, 2009
    Date of Patent: April 16, 2013
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8407553
    Abstract: Certain embodiments of the present invention are efficient run-time methods for creating and updating a RAM list of dominant trapping-set profiles for use in (LDPC) list decoding. A decoded correct codeword is compared to a near codeword to generate a new trapping-set profile, and the profile written to RAM. Record is kept of how many times RAM has been searched since a profile was last matched. Profiles that have not been matched within a specified number of searches are purge-eligible. Purge-eligible profiles are further ranked on other factors, e.g., number of times a profile has been matched since it was added, number of unsatisfied check nodes, number of erroneous bit nodes. If there is insufficient free space in RAM to store a newly-discovered profile, then purge-eligible profiles are deleted, beginning with the lowest-ranked profiles, until either (i) sufficient free space is created or (ii) there are no more purge-eligible profiles.
    Type: Grant
    Filed: December 12, 2008
    Date of Patent: March 26, 2013
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8407567
    Abstract: In one embodiment, a reconfigurable adder has first and second five-bit non-reconfigurable adders and is selectively configurable to operate in a five-bit mode or a ten-bit mode. In five-bit mode, the first non-reconfigurable adder adds first and second messages to generate a first sum, and the second non-reconfigurable adder adds third and fourth messages to generate a second sum. In ten-bit mode, the first non-reconfigurable adder adds a first half of a first ten-bit message and a first half of a second ten-bit message to generate a first partial sum and a carry-over bit. The second non-reconfigurable adder adds a second half of the first ten-bit message, a second half of the second ten-bit message, and the carry-over bit to generate a second partial sum. A ten-bit sum is then generated by combining the first and second partial sums.
    Type: Grant
    Filed: June 26, 2009
    Date of Patent: March 26, 2013
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8402348
    Abstract: Various embodiments of the present invention provide systems and methods for data processing. For example, a data processing system is disclosed that includes two or more detection processing circuits, a decoder processing circuit and a memory. The memory is coupled to both of the data detection processing circuits and the decoder processing circuit. In some instances of the aforementioned embodiments, the system further includes a scheduling circuit that is operable to govern access to the memory by the detection processing circuits and the decoder processing circuit.
    Type: Grant
    Filed: May 21, 2010
    Date of Patent: March 19, 2013
    Assignee: LSI Corporation
    Inventors: Kiran Gunnam, Shaohua Yang
  • Patent number: 8402324
    Abstract: In one embodiment, a communications system has a write path and a read path. In the write path, a local/global interleaver interleaves a user data stream, and an error-correction (EC) encoder encodes the user data stream to generate an EC codeword. A local/global de-interleaver de-interleaves the parity bits of the EC codeword, and both the original un-interleaved user data and the de-interleaved parity bits are transmitted via a noisy channel. In the read path, a channel detector recovers channel soft-output values corresponding to the codeword. A local/global interleaver interleaves the channel values, and an EC decoder decodes the interleaved values to recover the original codeword generated in the write path. A de-multiplexer de-multiplexes the user data from the parity bits. Then, a local/global de-interleaver de-interleaves the user data to obtain the original sequence of user data that was originally received at the write path.
    Type: Grant
    Filed: September 27, 2010
    Date of Patent: March 19, 2013
    Assignee: LSI Corporation
    Inventors: Kiran Gunnam, Yang Han
  • Patent number: 8392692
    Abstract: In one embodiment, the present invention determines index values corresponding to bits of a binary vector that have a value of 1. During each clock cycle, a masking technique is applied to M sub-vector index values, where each sub-vector index value corresponds to a different bit of a sub-vector of the binary vector. The masking technique is applied such that (i) the sub-vector index values that correspond to bits having a value of 0 are zeroed out and (ii) the sub-vector index values that correspond to the bits having a value of 1 are left unchanged. The masked sub-vector index values are sorted, and index values are calculated based on the masked sub-vector index values. The index values generated are then distributed uniformly to a number M of index memories such that the M index memories store substantially the same number of index values.
    Type: Grant
    Filed: December 12, 2008
    Date of Patent: March 5, 2013
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8381071
    Abstract: Various embodiments of the present invention provide systems and methods for data processing. For example, a method for data processing is disclosed that includes providing a decoder processing circuit having a first memory, a second memory, and a decoder circuit; and providing a centralized queue communicably coupled to the decoder processing circuit. A first data set is loaded from the centralized queue to the first memory, and concurrent with the loading the first data set, a data decoding algorithm is applied to a second data set by the decoder circuit.
    Type: Grant
    Filed: May 21, 2010
    Date of Patent: February 19, 2013
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8381074
    Abstract: Various embodiments of the present invention provide systems and methods for data processing. For example, a method for data processing is disclosed that includes: providing a data detection circuit including a first detection processing circuit, a second detection processing circuit, a decoder processing circuit, and a memory circuit; performing a data detection algorithm on an input data set by the first detection processing circuit to yield a first detected output; writing a derivative of the first detected output to the memory circuit; accessing the derivative of the first detected output from the memory circuit; performing a decoder algorithm on the derivative of the first detected output using the decoder processing circuit to yield a decoded output; writing the decoded output to the memory circuit; accessing the decoded output from the memory circuit; and performing the data detection algorithm on a combination of the input data set and the decoded output to yield a second detected output.
    Type: Grant
    Filed: May 21, 2010
    Date of Patent: February 19, 2013
    Assignee: LSI Corporation
    Inventors: Kiran Gunnam, Shaohua Yang
  • Patent number: 8359515
    Abstract: In one embodiment, a forward substitution component performs forward substitution based on a lower-triangular matrix and an input vector to generate an output vector. The forward substitution component has memory, a first permuter, an XOR gate array, and a second permuter. The memory stores output sub-vectors of the output vector. The first permuter permutates one or more previously generated output sub-vectors stored in the memory based on one or more permutation coefficients corresponding to a current block row of the lower-triangular matrix to generate one or more permuted sub-vectors. The XOR gate array performs exclusive disjunction on (i) the one or more permuted sub-vectors and (ii) a current input sub-vector of the input vector to generate an intermediate sub-vector. The second permuter permutates the intermediate sub-vector based on a permutation coefficient corresponding to another block in the current block row to generate a current output sub-vector of the output vector.
    Type: Grant
    Filed: December 22, 2009
    Date of Patent: January 22, 2013
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8352847
    Abstract: In one embodiment, a matrix-vector multiplication (MVM) component generates a product vector based on (i) an input matrix and (ii) an input vector. The MVM component has a permuter, memory, and an XOR gate array. The permuter permutates, for each input sub-vector of the input vector, the input sub-vector based on a set of permutation coefficients to generate a set of permuted input sub-vectors. The memory stores a set of intermediate product sub-vectors corresponding to the product vector. The XOR gate array performs, for each input sub-vector, exclusive disjunction on (i) the set of permuted input sub-vectors and (ii) the set of intermediate product sub-vectors to update the set of intermediate product subvectors, such that all of the intermediate product sub-vectors in the set are updated based on a current input sub-vector before updating any of the intermediate product sub-vectors in the set based on a subsequent input sub-vector.
    Type: Grant
    Filed: December 22, 2009
    Date of Patent: January 8, 2013
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8327235
    Abstract: In one embodiment, an LDPC decoder has one or more reconfigurable adders that generate variable-node messages and one or more reconfigurable check-node units (CNUs) that generate check-node messages. The LDPC decoder has a five-bit precision mode in which the reconfigurable adders and CNUs are configured to process five-bit variable-node and check-node messages, respectively. If the LDPC decoder is unable to properly decode codewords in five-bit precision mode, then the decoder can be reconfigured in real time into a ten-bit precision mode in which the reconfigurable adders and CNUs are configured to process ten-bit variable-node and check-node messages, respectively. By increasing the size of the variable-node and check-node messages from five bits to ten bits, the probability that the LDPC decoder will decode the codeword correctly may be increased.
    Type: Grant
    Filed: April 8, 2009
    Date of Patent: December 4, 2012
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8321746
    Abstract: Various approaches related to systems and methods for LDPC based data processing.
    Type: Grant
    Filed: July 30, 2009
    Date of Patent: November 27, 2012
    Assignee: LSI Corporation
    Inventors: Zongwang Li, Hao Zhong, Yang Han, Kiran Gunnam, Shaohua Yang, Yuan Xing Lee
  • Patent number: 8316272
    Abstract: In one embodiment, an LDPC decoder has a controller and one or more check-node units (CNUs). The CNUs generate check-node messages using a scaled min-sum algorithm, an offset min-sum algorithm, or a scaled and offset min-sum algorithm. Initially, the controller selects a scaling factor and an offset value. The scaling factor may be set to one for no scaling, and the offset value may be set to zero for no offsetting. If the decoder is unable to correctly decode a codeword, then (i) the controller selects a new scaling and/or offset value and (ii) the decoder attempts to correctly decode the codeword using the new scaling and/or offset value. By changing the scaling factor and/or offset value, LDPC decoders of the present invention may be capable of improving error-floor characteristics over LDPC decoders that use only fixed or no scaling factors or fixed or no offsetting factors.
    Type: Grant
    Filed: April 8, 2009
    Date of Patent: November 20, 2012
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8312342
    Abstract: In one embodiment, a reconfigurable minimum operator has two five-bit non-reconfigurable minimum operators and is selectively configurable to operate in a five- or ten-bit mode. In five-bit mode, the first non-reconfigurable minimum operator determines whether a first five-bit message is less than a second five-bit message, and the second non-reconfigurable minimum operator determines whether a third five-bit message is less than a fourth five-bit message. In ten-bit mode, the first non-reconfigurable minimum operator determines whether a first half of a first ten-bit message is less than a first half of a second ten-bit message, and the second non-reconfigurable minimum operator determines whether a second half of the first ten-bit message is less than a second half of the second ten-bit message. The reconfigurable minimum operator determines whether the first ten-bit message is less than the second ten-bit message based on the comparisons of the first and second non-reconfigurable minimum operators.
    Type: Grant
    Filed: June 26, 2009
    Date of Patent: November 13, 2012
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8307253
    Abstract: In one embodiment, a reconfigurable two's-complement-to-sign-magnitude (2TSM) converter has two five-bit non-reconfigurable 2TSM converters and is selectively configurable to operate in a five-bit mode or a ten-bit mode. In five-bit mode, the first and second non-reconfigurable 2TSM converters concurrently convert first and second five-bit messages, respectively, from two's-complement-to-sign-magnitude format. In the ten-bit mode, the first and second non-reconfigurable 2TSM converters concurrently convert first and second halves of a ten-bit message, respectively, from two's-complement-to-sign-magnitude format. The reconfigurable 2TSM converter then generates a ten-bit sign-magnitude message based on the conversions of the two non-reconfigurable 2TSM and a carry-over bit. In another embodiment, a reconfigurable sign-magnitude-to-two's-complement (SMT2) converter comprises the reconfigurable 2TSM described above.
    Type: Grant
    Filed: June 26, 2009
    Date of Patent: November 6, 2012
    Assignee: LSI Corporation
    Inventor: Kiran Gunnam
  • Patent number: 8291292
    Abstract: Systems and methods are provided for selecting precisions during iterative decoding with a low-density parity check (LDPC) decoder in order to maximize LDPC code's performance in the error floor region. The selection of the precision of the messages may be done in such a way as to avoid catastrophic errors and to minimize the number of near-codeword errors during the decoding process. Another system and method to avoid catastrophic errors in the layered (serial) LDPC decoder is provided. Lastly, a system and method that select precisions and provide circuitry that optimizes the exchange of information between a soft-input, soft-output (SISO) channel detector and an error correction code (ECC) decoder for channels with memory is provided.
    Type: Grant
    Filed: January 7, 2009
    Date of Patent: October 16, 2012
    Assignee: Marvell International Ltd.
    Inventors: Nedeljko Varnica, Gregory Burd, Kiran Gunnam
  • Patent number: 8276055
    Abstract: Low-latency programmable encoders, and more particularly, low-latency programmable encoders which use low-density parity check (LDPC) codes in combination with an outer systematic code. The LDPC encoder is programmable for any irregular circulant-based LDPC code. The code profile, block length, number of block rows, and number of block columns can vary. The LDPC encoding and the outer systematic code encoding can proceed in a parallel manner (e.g., simultaneously) instead of in a serial manner.
    Type: Grant
    Filed: November 7, 2011
    Date of Patent: September 25, 2012
    Assignee: Marvell International Ltd.
    Inventors: Kiran Gunnam, Farshid Rafiee Rad
  • Patent number: 8245098
    Abstract: In one embodiment, an LDPC decoder has a plurality of check-node units (CNUs) and a controller. Initially, the CNUs generate check-node messages based on an initial offset value selected by the controller. If the decoder converges on a trapping set, then the controller selects new offset values for missatisfied check nodes (MSCs), the locations of which are approximated, and/or unsatisfied check nodes (USCs). In particular, offset values are selected such that (i) the messages corresponding to the MSCs are decreased relative to the messages that would be generated using the initial offset value and/or (ii) the messages corresponding to the USCs are increased relative to the messages that would be generated using the initial offset value. Decoding is then continued for a specified number of iterations to break the trapping set. In other embodiments, the controller selects scaling factors rather than, or in addition to, offset values.
    Type: Grant
    Filed: August 11, 2009
    Date of Patent: August 14, 2012
    Assignee: LSI Corporation
    Inventors: Yang Han, Kiran Gunnam, Shaohua Yang, Hao Zhong, Nils Graef, Yuan Xing Lee
  • Patent number: 8196010
    Abstract: Systems and methods are provided for encoding data based on an LDPC code using various inversion mechanisms to obtain parity bits. In some embodiments, an LDPC encoder may compute parity bits using a speculative recursion and correction mechanism. In these embodiments, the LDPC encoder may initiate a recursion using at least one speculative value in place of the actual value for a parity component. The speculative values may then be corrected using a correction factor. In other embodiments, an LDPC encoder is provided that can perform a blockwise inversion mechanism. This mechanism may be used on LDPC codes with parity check matrices having a parity portion composed partially of a large triangular matrix. In still other embodiments, a generic LDPC encoder is provided. The generic LDPC encoder can implement a variety of different encoding techniques, such as different inversion mechanisms, and may be processor-based or finite state machine-based.
    Type: Grant
    Filed: August 7, 2008
    Date of Patent: June 5, 2012
    Assignee: Marvell International, Ltd.
    Inventors: Kiran Gunnam, Nedeljko Varnica