IP Library Granted Patent US 11,362,681
Granted Patent B2
US 11,362,681 · App. 16/999,250 · Granted Jun 14, 2022

One-shot state transition probability encoder and decoder

Inventors: Zheng Wang (Longmont, CO); Marcus Marrow (San Jose, CA); Jason Bellorado (San Jose, CA)
Assignee: Seagate Technology LLC
H03M13/2903G06F3/0604G06F3/0656G06F3/0673G06K9/6297H03M13/3961H03M13/45H03M13/611
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 11,362,681
App. No.
16/999,250
Granted
Jun 14, 2022
Kind
B2
Abstract

In a one-shot state transition encoder, L-bits of user data are received and encoded into a codeword of N-bits, wherein N>L. The encoding of the user data involves repeatedly performing: a) encoding a portion of user bits from the user data to a portion of encoded bits of the codeword based on a set of state transition probabilities, thereby reducing a size of a remaining buffer of the codeword and reducing a number of unencoded bits of the user data; and b) based on the number of unencoded bits of the user data being greater than or equal to the remaining buffer size of the codeword, terminating further encoding and storing the unencoded bits of the user data into the remaining buffer of the codeword.

Claims (35)

1. A method, comprising:

receiving user data comprising L-bits;

performing an encoding of the user data into a codeword comprising N-bits, wherein N>L, and wherein the encoding of the user data comprises repeatedly performing:

encoding a portion of user bits from the user data to a portion of encoded bits of the codeword based on a set of state transition probabilities, thereby reducing a size of a remaining buffer of the codeword and reducing a number of unencoded bits of the user data; and

based on the number of unencoded bits of the user data being greater than or equal to the remaining butter size of the codeword, terminating further encoding and storing the unencoded bits of the user data into the remaining buffer of the codeword.

2. The method of claim 1 , wherein terminating further encoding and storing the unencoded bits of the user data into the remaining buffer of the codeword comprises storing in a first part of the codeword a stitching location that indicates a start bit of the unencoded bits of the user data.

3. The method of claim 2 , wherein, during the encoding of the user data, based on the number of unencoded bits of the user data being equal to zero, writing a predetermined pattern to the stitching value indicating there is no stitching.

4. The method of claim 1 , wherein the number of unencoded bits of the user data is greater than the remaining buffer size of the codeword, and wherein the encoding of the user data further involves:

discarding the last portion of encoded bits that were encoded; and

storing the last portion of user bits and the unencoded bits of the user data starting at a beginning of the last portion of encoded bits.

5. The method of claim 1 , further comprising storing the codeword to a data storage medium.

6. The method of claim 5 , further comprising:

reading the codeword from the data storage medium;

reading a first D bits of the codeword to determine a stitching location d within the codeword, the stitching location identifying a start bit of the unencoded bits of the user data in the codeword;

performing an decoding of the codeword into an output buffer for the user data, wherein parameters of a decoder are set before the decoding, the setting of parameters including setting a length of the codeword to N−L+d and a number of encoded bits to d, the decoding including decoding the d encoded bits based on the set of state transition probabilities and copying decoded bits into the output buffer; and

copying the unencoded data to the end of the output buffer.

7. The method of claim 6 , wherein based on the first D-bits being a predetermined pattern, there are no unencoded bits in the codeword and the decoding comprises decoding all of the N−D bits.

8. The method of claim 1 , wherein the set of state transition probabilities comprise Markov state transition probabilities.

9. An apparatus, comprising:

a processing circuit receiving user data comprising L-bits, the processing circuit comprising a modulation encoder that performs an encoding of the user data into a codeword comprising N-bits; wherein N>L, and wherein modulation encoder repeatedly performs:

encoding a portion of user bits from the user data to a portion of encoded bits of the codeword based on a set of state transition probabilities, thereby reducing a size of a remaining buffer of the codeword and reducing a number of unencoded bits of the user data; and

based on the number of unencoded bits of the user data being greater than or equal to the number of remaining bits of the codeword, terminating further encoding and storing the unencoded bits of the user data into the remaining bits of the codeword.

10. The apparatus of claim 9 , wherein terminating further encoding and storing the unencoded bits of the user data into the remaining buffer of the codeword comprises storing in a first part of the codeword a stitching location that indicates a start bit of the unencoded bits of the user data.

11. The apparatus of claim 10 , wherein, during the encoding of the user data, based on the number of unencoded bits of the user data being equal to zero, terminating the encoding and writing a predetermined value to the stitching value indicating there is no stitching.

12. The apparatus of claim 9 , wherein the number of unencoded bits of the user data is greater than the remaining buffer size of the codeword, and wherein the encoding of the user data further involves:

discarding the last portion of encoded bits that were encoded; and

storing the last portion of user bits and the unencoded bits of the user data starting at a beginning of the last portion of encoded bits.

13. The apparatus of claim 9 , further comprising a data storage medium into which the codeword is stored via the processing circuitry.

14. The apparatus of claim 13 , wherein the processing circuitry is further operable to perform:

reading the codeword from the data storage medium;

reading a first D bits of the codeword to determine a stitching location d within the codeword, the stitching location identifying a start bit of the unencoded bits of the user data in the codeword;

performing an decoding of the codeword into an output buffer for the user data, wherein parameters of a decoder are set before the decoding, the setting of parameters including setting a length of the codeword to N−L+d and a number of encoded bits to d, the decoding including decoding the d encoded hits based on the set of state transition probabilities and copying decoded bits into the output buffer; and

copying the unencoded data to the end of the output buffer.

15. The apparatus of claim 14 , wherein based on the first D-bits being a predetermined pattern, there are no unencoded bits in the codeword and the decoding comprises decoding all of the N−D bits.

16. The apparatus of claim 9 , wherein the set of state transition probabilities comprise Markov state transition probabilities.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2024
From: SEAGATE TECHNOLOGY LLC; SEAGATE SINGAPORE INTERNATIONAL HEADQUARTERS PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 067489/0509 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE LAST NAME OF ASSIGNOR MARCUS MARROW PREVIOUSLY RECORDED AT REEL: 054233 FRAME: 0811. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 14, 2022
From: WANG, ZHENG; MARROW, MARCUS; BELLORADO, JASON
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 059085/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2020
From: WANG, ZHENG; MORROW, MARCUS; BELLORADO, JASON
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 054233/0811 →