IP Library Granted Patent US 8,914,705
Granted Patent B1
US 8,914,705 · App. 13/664,617 · Granted Dec 16, 2014

Probability maximum transition run codes

Inventors: Lingqi Zeng (San Jose, CA); Yu Kou (San Jose, CA)
Assignee: SK hynix memory solutions inc.
H03M7/28G06F11/10
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 8,914,705
App. No.
13/664,617
Granted
Dec 16, 2014
Kind
B1
Abstract

A plurality of random bit sequences is generated. Each of the random bit sequences is different and is based at least in part on an input bit sequence. A plurality of metrics corresponding to the plurality of random bit sequences is generated. The plurality of metrics is associated with one or more transition run lengths. One of the random bit sequences is selected based at least in part on the metrics. An output bit sequence is generated that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence.

Claims (116)

1. A method for modulating data, comprising:

using a processor to generate a plurality of random bit sequences, wherein:

each of the plurality of random bit sequences is based at least in part on an input bit sequence and each of the plurality of random bit sequences is different; and

using the processor to generate the plurality of random bit sequences includes using a linear feedback shift register;

using the processor to generate a plurality of metrics corresponding to the plurality of random bit sequences, wherein the plurality of metrics is associated with one or more transition run lengths;

selecting one of the plurality of random bit sequences based at least in part on the plurality of metrics; and

generating an output bit sequence that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence.

2. The method of claim 1 , wherein in the event more than one metric in the plurality of metrics has a best value:

the plurality of metrics is a plurality of primary metrics; and

selecting includes:

using the processor to generate a plurality of secondary metrics for those random bit sequences having a primary metric with a best value; and

selecting, from those random bit sequences having a primary metric with a best value, one based at least in part on the plurality of secondary metrics.

3. The method of claim 1 , wherein using the processor to generate the plurality of random bit sequences includes using a look up table.

4. The method of claim 1 , wherein the method is performed by a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

5. A method for modulating data, comprising:

using a processor to generate a plurality of random bit sequences, wherein each of the plurality of random bit sequences is based at least in part on an input bit sequence and each of the plurality of random bit sequences is different;

using the processor to generate a plurality of metrics corresponding to the plurality of random bit sequences, wherein the plurality of metrics is associated with one or more transition run lengths;

selecting one of the plurality of random bit sequences based at least in part on the plurality of metrics; and

generating an output bit sequence that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence, wherein:

in the event more than one metric in the plurality of metrics has a best value:

the plurality of metrics is a plurality of primary metrics; and

selecting includes:

using the processor to generate a plurality of secondary metrics for those random bit sequences having a primary metric with a best value; and

selecting, from those random bit sequences having a primary metric with a best value, one based at least in part on the plurality of secondary metrics; and

the plurality of primary metrics includes a weighted sum based at least in part on a first weight associated with transition runs of a first length, a first number of transition runs of the first length, a second weight associated with transition runs of a second length, and a second number of transition runs of the second length.

6. The method of claim 5 , wherein the plurality of secondary metrics includes a length of a longest transition run.

7. The method of claim 5 , wherein the method is performed by a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

8. A method for modulating data, comprising:

using a processor to generate a plurality of random bit sequences, wherein:

each of the plurality of random bit sequences is based at least in part on an input bit sequence and each of the plurality of random bit sequences is different; and

using the processor to generate the plurality of random bit sequences includes using a codeword associated with an error correction encoder;

using the processor to generate a plurality of metrics corresponding to the plurality of random bit sequences, wherein the plurality of metrics is associated with one or more transition run lengths;

selecting one of the plurality of random bit sequences based at least in part on the plurality of metrics;

generating an output bit sequence that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence; and

receiving the input bit sequence from the error correction encoder, wherein the input bit sequence is error correction encoded by the error correction encoder.

9. The method of claim 8 , wherein the codeword associated with the error correction encoder includes a string of zeros.

10. The method of claim 8 , wherein:

there are 2 t random bit sequences in the plurality of random bit sequences, wherein t is a positive integer;

using the processor to generate the plurality of random bit sequences further includes using a plurality of codewords associated with the error correction encoder;

the plurality of codewords include a string of zeros; and

the plurality of codewords include a string of bits having a value in the range of 0 through (2 t −1).

11. The method of claim 8 , wherein the method is performed by a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

12. A system for modulating data, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

generate a plurality of random bit sequences, wherein:

each of the plurality of random bit sequences is based at least in part on an input bit sequence and each of the plurality of random bit sequences is different; and

the instructions for generating the plurality of random bit sequences include instructions for using a linear feedback shift register;

generate a plurality of metrics corresponding to the plurality of random bit sequences, wherein the plurality of metrics is associated with one or more transition run lengths;

select one of the plurality of random bit sequences based at least in part on the plurality of metrics; and

generate an output bit sequence that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence.

13. The system of claim 12 , wherein in the event more than one metric in the plurality of metrics has a best value:

the plurality of metrics is a plurality of primary metrics; and

the instructions for selecting include instructions for:

generating a plurality of secondary metrics for those random bit sequences having a primary metric with a best value; and

selecting, from those random bit sequences having a primary metric with a best value, one based at least in part on the plurality of secondary metrics.

14. The system of claim 12 , wherein the instructions for generating the plurality of random bit sequences include instructions for using a look up table.

15. The system of claim 12 , wherein the system includes a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

16. A system for modulating data, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

generate a plurality of random bit sequences, wherein each of the plurality of random bit sequences is based at least in part on an input bit sequence and each of the plurality of random bit sequences is different;

generate a plurality of metrics corresponding to the plurality of random bit sequences, wherein the plurality of metrics is associated with one or more transition run lengths;

select one of the plurality of random bit sequences based at least in part on the plurality of metrics; and

generate an output bit sequence that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence, wherein:

in the event more than one metric in the plurality of metrics has a best value:

the plurality of metrics is a plurality of primary metrics; and

the instructions for selecting include instructions for:

 generating a plurality of secondary metrics for those random bit sequences having a primary metric with a best value; and

 selecting, from those random bit sequences having a primary metric with a best value, one based at least in part on the plurality of secondary metrics; and

the plurality of primary metrics includes a weighted sum based at least in part on a first weight associated with transition runs of a first length, a first number of transition runs of the first length, a second weight associated with transition runs of a second length, and a second number of transition runs of the second length.

17. The system of claim 16 , wherein the plurality of secondary metrics includes a length of a longest transition run.

18. The system of claim 16 , wherein the system includes a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

19. A system for modulating data, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

generate a plurality of random bit sequences, wherein:

each of the plurality of random bit sequences is based at least in part on an input bit sequence and each of the plurality of random bit sequences is different; and

the instructions for generating the plurality of random bit sequences include instructions for using a codeword associated with an error correction encoder;

generate a plurality of metrics corresponding to the plurality of random bit sequences, wherein the plurality of metrics is associated with one or more transition run lengths;

select one of the plurality of random bit sequences based at least in part on the plurality of metrics;

generate an output bit sequence that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence; and

to receive the input bit sequence from the error correction encoder, wherein the input bit sequence is error correction encoded by the error correction encoder.

20. The system of claim 19 , wherein the codeword associated with the error correction encoder includes a string of zeros.

21. The system of claim 19 , wherein:

there are 2 t random bit sequences in the plurality of random bit sequences, wherein t is a positive integer;

the instructions for generating the plurality of random bit sequences further include instructions for using a plurality of codewords associated with the error correction encoder;

the plurality of codewords include a string of zeros; and

the plurality of codewords include a string of bits having a value in the range of 0 through (2 t −1).

22. The system of claim 19 , wherein the system includes a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

23. A computer program product for modulating data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

generating a plurality of random bit sequences, wherein:

each of the plurality of random bit sequences is based at least in part on an input bit sequence and each of the plurality of random bit sequences is different; and

generating the plurality of random bit sequences includes using a linear feedback shift register;

generating a plurality of metrics corresponding to the plurality of random bit sequences, wherein the plurality of metrics is associated with one or more transition run lengths;

selecting one of the plurality of random bit sequences based at least in part on the plurality of metrics; and

generating an output bit sequence that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence.

24. A computer program product for modulating data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

generating a plurality of random bit sequences, wherein each of the plurality of random bit sequences is based at least in part on an input bit sequence and each of the plurality of random bit sequences is different;

generating a plurality of metrics corresponding to the plurality of random bit sequences, wherein the plurality of metrics is associated with one or more transition run lengths;

selecting one of the plurality of random bit sequences based at least in part on the plurality of metrics; and

generating an output bit sequence that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence, wherein:

in the event more than one metric in the plurality of metrics has a best value:

the plurality of metrics is a plurality of primary metrics; and

selecting includes:

generating a plurality of secondary metrics for those random bit sequences having a primary metric with a best value; and

selecting, from those random bit sequences having a primary metric with a best value, one based at least in part on the plurality of secondary metrics; and

the plurality of primary metrics includes a weighted sum based at least in part on a first weight associated with transition runs of a first length, a first number of transition runs of the first length, a second weight associated with transition runs of a second length, and a second number of transition runs of the second length.

25. A computer program product for modulating data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

generating a plurality of random bit sequences, wherein:

each of the plurality of random bit sequences is based at least in part on an input bit sequence and each of the plurality of random bit sequences is different; and

generating the plurality of random bit sequences includes using a codeword associated with an error correction encoder;

generating a plurality of metrics corresponding to the plurality of random bit sequences, wherein the plurality of metrics is associated with one or more transition run lengths;

selecting one of the plurality of random bit sequences based at least in part on the plurality of metrics;

generating an output bit sequence that includes the selected random bit sequence and an index associated with demodulating the selected random bit sequence; and

receiving the input bit sequence from the error correction encoder, wherein the input bit sequence is error correction encoded by the error correction encoder.

Assignments (2)
CHANGE OF NAME Recorded Feb 26, 2013
From: LINK_A_MEDIA DEVICES CORPORATION
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 029881/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2013
From: ZENG, LINGQI; KOU, YU
To: LINK_A_MEDIA DEVICES CORPORATION
Reel/Frame 029672/0279 →
Continuity (1)
Provisional Application 61558361 · Nov 10, 2011