IP Library Patent Application 14338343
Patent Application
App. No. 14/338,343

Systems and Methods for Rank Independent Cyclic Data Encoding

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 None
App. No.
14/338,343
Abstract

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

Claims (50)

1 . A data processing system, the data processing system comprising:

a rank independent data encoding circuit operable to:

receive a user data input; and

apply a rank independent encoding algorithm to the user data input to yield an encoded output, wherein the rank independent encoding algorithm includes multiplying an interim data set by a quasi-pseudo inverse matrix.

2 . The data processing system of claim 1 , wherein the quasi-pseudo inverse matrix is part of an encoding matrix, and wherein the encoding matrix further includes a first user matrix, a second user matrix, a first interim matrix, a second interim matrix.

3 . The data processing system of claim 2 , wherein the interim data set is a first interim data set, and wherein the rank independent data encoding circuit comprises:

a first vector multiplier circuit operable to multiply the user data input by an inverse of the first user matrix to yield a second interim data set;

a second vector multiplier circuit operable to multiply the second interim data set by the first interim matrix to yield a third interim data set;

a third vector multiplier circuit operable to multiply the third interim data set by the second interim matrix to yield a fourth interim data set;

a fourth vector multiplier circuit operable to multiply the user data input by the second user matrix to yield a fifth interim data set; and

a fifth vector multiplier circuit operable to multiply a combination of the fourth interim data set and the fifth interim data set by the quasi-pseudo inverse matrix to yield the first interim data set.

4 . The data processing system of claim 3 , wherein the rank independent data encoding circuit further comprises:

an adder array circuit operable to add the fourth interim data set to the fifth interim data set to yield the combination of the fourth interim data set and the fifth interim data set.

5 . The data processing system of claim 4 , wherein the encoding matrix further includes a third interim matrix.

6 . The data processing system of claim 5 , wherein the rank independent data encoding circuit further comprises:

a sixth vector multiplier circuit operable to multiply the first interim data set by the third interim matrix to yield a sixth interim data set; and

a seventh vector multiplier circuit operable to multiply a combination of the fifth interim data set and the sixth interim data set by the first user matrix to yield a seventh interim data set.

7 . The data processing system of claim 6 , wherein each of the sixth vector multiplier circuit and the seventh vector multiplier circuit is a sparse circulant vector multiplier circuit.

8 . The data processing system of claim 6 , wherein the adder array circuit is a first adder array circuit, and wherein the rank independent data encoding circuit further comprises:

a second adder array circuit operable to add the fifth interim data set to the sixth interim data set to yield the combination of the fifth interim data set and the sixth interim data set.

9 . The data processing system of claim 6 , wherein the first interim data set is a first parity set, and wherein the rank independent data encoding circuit further comprises:

a shift based parity calculation circuit operable to calculate a second parity set based at least in part on the seventh interim data set, and wherein the encoded output includes the user data input, the first parity set, and the second parity set.

10 . The data processing system of claim 3 , wherein each of the first vector multiplier circuit, the second vector multiplier circuit, the third vector multiplier circuit, the fourth vector multiplier circuit, and the fifth vector multiplier circuit is a sparse circulant vector multiplier circuit.

11 . The data processing system of claim 1 , wherein the quasi-pseudo inverse matrix represents a rank deficient matrix.

12 . The data processing system of claim 1 , wherein the quasi-pseudo inverse matrix represents a full rank matrix.

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

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

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

receiving a user data set;

applying a rank independent encoding algorithm by an encoding circuit to the user data input to yield an encoded output, wherein the rank independent encoding algorithm includes multiplying an interim data set by a quasi-pseudo inverse matrix.

16 . The method of claim 15 , multiplying the interim data set by the quasi-psuedo inverse matrix is done by a sparse circulant vector multiplier circuit.

17 . The method of claim 15 , wherein the interim data set is a first interim data set, wherein the quasi-pseudo inverse matrix is part of an encoding matrix, wherein the encoding matrix further includes a first user matrix, a second user matrix, a first interim matrix, a second interim matrix, and wherein the method further comprises:

multiplying the user data input by an inverse of the first user matrix to yield a second interim data set;

multiplying the second interim data set by the first interim matrix to yield a third interim data set;

multiplying the third interim data set by the second interim matrix to yield a fourth interim data set;

multiplying the user data input by the second user matrix to yield a fifth interim data set;

adding the fourth interim data set to the fifth interim data set to yield a combination of the fourth interim data set and the fifth interim data set; and

multiplying the combination of the fourth interim data set and the fifth interim data set by the quasi-pseudo inverse matrix to yield the first interim data set.

18 . The method of claim 17 , wherein the encoding matrix further includes a third interim matrix, the method further comprising:

multiplying the first interim data set by the third interim matrix to yield a sixth interim data set; and

adding the fifth interim data set to the sixth interim data set to yield a combination of the fifth interim data set and the sixth interim data set; and

multiplying the combination of the fifth interim data set and the sixth interim data set by the first user matrix to yield a seventh interim data set.

19 . The method of claim 18 , wherein the first interim data set is a first parity set, the method further comprising:

applying a shift based parity calculation to calculate a second parity set based at least in part on the seventh interim data set, and wherein the encoded output includes the user data input, the first parity set, and the second parity set.

20 . A hard disk storage device, the device comprising:

a storage medium;

a read/write head assembly disposed in relation to the storage medium and operable to write an encoded output to the storage medium; and

a rank independent data encoding circuit operable to:

receive a user data input; and

apply a rank independent encoding algorithm to the user data input to yield the encoded output, wherein the rank independent encoding algorithm includes multiplying an interim data set by a quasi-pseudo inverse matrix.

Assignments (4)
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 →
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 Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2014
From: LI, SHU; YANG, SHAOHUA
To: LSI CORPORATION
Reel/Frame 033368/0210 →