Methods of supporting host CRC in data storage systems without RLL coding
AssigneeMarvell International Ltd.
InventorsWeishi Feng, Zhan Yu
Life of this patent
Estimating the term…
Abstract
A data dependent scrambler for a communications channel that receives a user data sequence including N symbols and host cyclic redundancy check (CRCU) bits comprises a data buffer that receives the user data sequence and the host CRCU bits. A seed finder generates a scrambling seed that is dependent upon the symbols in the user data sequence. A first scrambler receives the user data sequence from the data buffer and the scrambling seed from the seed finder and generates the scrambled user data sequence. A second scrambler generates a difference sequence that is based on the user data sequence and the scrambled user data sequence.
Claims37
A data dependent scrambler for a communications channel, the data dependent scrambler configured to receive a user data sequence including (i) N symbols and (ii) host cyclic redundancy check user bits, the data dependent scrambler comprising:
- a data buffer configured to receive the user data sequence and the host cyclic redundancy check user bits;
- a seed finder configured to generate a scrambling seed, wherein the scrambling seed is dependent upon said the N symbols in the user data sequence;
- a first scrambler configured to receive (i) the user data sequence from the data buffer and (ii) the scrambling seed from the seed finder, wherein the first scrambler is configured to generate a scrambled user data sequence;
- and
- a second scrambler configured to generate a difference sequence based on (i) the user data sequence and (ii) the scrambled user data sequence.
A data dependent scrambler for a communications channel, the data dependent scrambler configured to receive a user data sequence including N symbols and host cyclic redundancy check user bits, the data dependent scrambler comprising:
- means for storing the user data sequence and the host cyclic redundancy check user bits;
- means for generating a scrambling seed, wherein the scrambling seed is dependent upon the symbols in the user data sequence;
- means for receiving (i) the user data sequence from the data buffer and (ii) the scrambling seed from the means for generating the scrambling seed, wherein the means for receiving the user data sequence and the scrambling seed generates a scrambled user data sequence;
- and
- means for generating a difference sequence based on (i) the user data sequence and (ii) the scrambled user data sequence.
A method of coding a user data sequence including N symbols for a communications channel, the method comprising:
- generating cyclic redundancy check user bits based on the user data sequence;
- determining a scrambling seed based on the symbols in the user data sequence;
- generating a scrambled user data sequence based on the user data sequence and the scrambling seed;
- and
- calculating a difference sequence based on the user data sequence and the scrambled user data sequence.
A method of coding a user data sequence for a communications channel, the user data sequence including N symbols and host cyclic redundancy check user bits in, the method comprising:
- receiving the user data sequence and the host cyclical redundancy check user bits via a data buffer;
- generating a scrambling seed via a seed finder, wherein the scrambling seed is dependent upon the symbols in the user data sequence;
- receiving the user data sequence from the data buffer;
- receiving the scrambling seed from the seed finder;
- generating a scrambled user data sequence based on (i) the scrambling seed and (ii) the user data sequence;
- and
- generating a difference sequence based on (i) the user data sequence and (ii) the scrambled user data sequence.
Dependencies are inferred from the claim text.