IP Library Granted Patent US 9,331,716
Granted Patent B2
US 9,331,716 · App. 14/470,873 · Granted May 3, 2016

Systems and methods for area efficient data encoding

Inventors: Pavel A. Panteleev (Moscow, RU); Elyar E. Gasanov (Moscow, RU); Andre P. Sokolov (Moscow, RU); Yuri Shutkin (Moscow, RU); Dmitriy V. Alekseev (Moscow, RU)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
H03M13/116G11B20/1833H03M13/1171H03M13/611G11B2020/185
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,331,716
App. No.
14/470,873
Granted
May 3, 2016
Kind
B2
Abstract

The present inventions are related to systems and methods for data processing, and more particularly to systems and methods for data encoding.

Claims (45)

1. A data processing system, the system comprising:

an encoder circuit including:

a cyclic convolution circuit operable to multiply a vector input derived from a user data input by a portion of a circulant matrix to yield a convolved output; and

an encoded output circuit operable to generate an encoded data set corresponding to the user data input and based at least in part on the convolved output, wherein the encoded output circuit includes:

a vector adder circuit operable to sum instances of the convolved output with instances of a cyclic convolution output to yield a corresponding instance of a vector sum; and

a shift register circuit operable to shift instances of the vector sum to yield the instances of the cyclic convolution output.

2. The data processing system of claim 1 , wherein the encoded data set generated based at least in part on the cyclic convolution output.

3. The data processing system of claim 1 , wherein the number of instances of the vector sum is 1, and wherein 1 corresponds to the number of sub-vectors into which the user data input is divided.

4. The data processing system of claim 1 , wherein the cyclic convolution circuit includes:

a first cyclic convolution circuit; and

a second cyclic convolution circuit, wherein the first cyclic convolution circuit operates in parallel with the second cyclic convolution circuit, and wherein the first cyclic convolution circuit operates on a first portion of the vector input and the second cyclic convolution circuit operates on a second portion of the vector input.

5. The data processing system of claim 4 , wherein the first portion of the vector input is a 3×1 portion of the vector input, and wherein the second portion of the vector input is a 3×4 portion of the vector input.

6. The data processing system of claim 4 , wherein the first portion of the vector input is a 3×4 portion of the vector input, and wherein the second portion of the vector input is a 3×8 portion of the vector input.

7. The data processing system of claim 1 , wherein the system further comprises:

a transformation circuit operable to transform a first number of bits of the user data input into a second number of bits of the vector input.

8. The data processing system of claim 7 , wherein the first number of bits is 128, and wherein the second number of bits is 255.

9. The data processing system of claim 8 , wherein the cyclic convolution circuit includes:

a first cyclic convolution circuit;

a second cyclic convolution circuit, wherein the first cyclic convolution circuit operates in parallel with the second cyclic convolution circuit, and wherein the first cyclic convolution circuit operates on a first portion of the vector input to yield a first sub-output and the second cyclic convolution circuit operates on a second portion of the vector input to yield a second sub-output; and

a combining circuit operable to combine at least the first sub-output and the second sub-output to yield a non-transformed output.

10. The data processing system of claim 1 , wherein the system further includes:

an inverse transformation circuit operable transform the second number of bits of the non-transformed output to the first number of bits of a cyclic convolution output.

11. The data processing system of claim 1 , wherein the data processing system is implemented as part of a device selected from a group consisting of: a storage device, and a communication device.

12. The data processing system of claim 1 , wherein the data processing system is implemented as part of an integrated circuit.

13. A method for data encoding, the method comprising:

receiving a user data input;

using a first cyclic convolution circuit to multiply a first portion of a vector input derived from a user data input by a first portion of a circulant matrix to yield a first convolved output; and

using a second cyclic convolution circuit in parallel with the first cyclic convolution circuit to multiply a second portion of the vector input by a second portion of a circulant matrix to yield a second convolved output; and

generating an encoded data set corresponding to the user data input and based at least in part on the first convolved output.

14. The method of claim 13 , the method further comprising:

transforming a first number of bits of the user data input into a second number of bits to yield the vector input.

15. The method of claim 14 , wherein the first number of bits is 128, and wherein the second number of bits is 255.

16. The method of claim 13 , wherein the first portion of the vector input is a 3×1 portion of the vector input, and wherein the second portion of the vector input is selected from a group consisting of: a 3×4 portion of the vector input, and a 3×8 portion of the vector input.

17. The method of claim 13 , wherein the method further comprises:

adding instances of the convolved output with instances of a cyclic convolution output to yield a corresponding instance of a vector sum; and

shifting instances of the vector sum to yield the instances of the cyclic convolution output.

18. A data processing system, the system comprising:

an encoder circuit including:

a first cyclic convolution circuit operable to multiply a first portion of a vector input derived from a user data input by a portion of a circulant matrix to yield a convolved output;

a second cyclic convolution circuit, wherein the first cyclic convolution circuit operates in parallel with the second cyclic convolution circuit, and wherein the second cyclic convolution circuit operates on a second portion of the vector input; and

an encoded output circuit operable to generate an encoded data set corresponding to the user data input and based at least in part on the convolved output.

19. The data processing system of claim 18 , wherein the encoded output circuit comprises:

a vector adder circuit operable to sum instances of the convolved output with instances of a cyclic convolution output to yield a corresponding instance of a vector sum; and

a shift register circuit operable to shift instances of the vector sum to yield the instances of the cyclic convolution output.

20. The data processing system of claim 18 , wherein the first portion of the vector input is a 3×1 portion of the vector input, and wherein the second portion of the vector input is a 3×4 portion of the vector input.

Assignments (8)
MERGER Recorded Mar 3, 2023
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED; BROADCOM INTERNATIONAL PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 062952/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
To: BROADCOM INTERNATIONAL PTE. LTD.
Reel/Frame 053771/0901 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2016
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 038062/0967 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2014
From: ALEKSEEV, DMITRIY V; PANTELEEV, PAVEL A; GASANOV, ELYAR E; SOKOLOV, ANDRE P; SHUTKIN, YURI
To: LSI CORPORATION
Reel/Frame 033624/0655 →
Priority Claims (1)
RU 2014104571 · Feb 10, 2014 · national
Continuity (1)
Related Publication 20150229331A1 · Aug 13, 2015