Probability maximum transition run codes
AssigneeSK hynix memory solutions inc.
InventorsLingqi Zeng, Yu Kou
Life of this patent
Estimating the term…
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.
Claims25
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.
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.
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.
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.