Method and apparatus for generating a seed set in a data dependent seed selector
First Claim
1. A communications channel that includes a buffer that receives user data symbols including a plurality of M-bit symbols, comprising:
- a seed selector that receives said plurality of M-bit symbols, that selectively removes symbols from a seed set based on Hamming distances between at least two of said M-bit symbols, and that selects a scrambling seed from remaining symbols in said seed set;
a scrambling device that communicates with said seed selector and said data buffer and that generates scrambled user data based on said user data symbols and said scrambling seed.
2 Assignments
0 Petitions
Accused Products
Abstract
A communications channel includes a buffer that receives user data symbols including a plurality of M-bit symbols. A seed selector receives the plurality of M-bit symbols, selectively removes symbols from a seed set based on Hamming distances between at least two of the M-bit symbols, and selects a scrambling seed from remaining symbols in the seed set. A scrambling device that communicates with the seed selector and the data buffer generates scrambled user data based on the user data symbols and the scrambling seed. The communications channel is implemented in a data storage system. The seed selector ensures a minimum Hamming weight of 15 percent in the scrambled user data. The seed selector compares first and second user data symbols in the plurality of M-bit symbols.
-
Citations
106 Claims
-
1. A communications channel that includes a buffer that receives user data symbols including a plurality of M-bit symbols, comprising:
-
a seed selector that receives said plurality of M-bit symbols, that selectively removes symbols from a seed set based on Hamming distances between at least two of said M-bit symbols, and that selects a scrambling seed from remaining symbols in said seed set; a scrambling device that communicates with said seed selector and said data buffer and that generates scrambled user data based on said user data symbols and said scrambling seed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A communications channel that includes a buffer that receives user data symbols including a plurality of M-bit symbols, comprising:
-
seed selecting means for receiving said plurality of M-bit symbols, for selectively removing symbols from a seed set based on Hamming distances between at least two of said M-bit symbols, and for selecting a scrambling seed from remaining symbols in said seed set; scrambling means that communicates with said seed selecting means and the data buffer for generating scrambled user data based on said user data symbols and said scrambling seed. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for operating a communications channel that includes a buffer that receives user data symbols including a plurality of M-bit symbols, comprising:
-
receiving said plurality of M-bit symbols; selectively removing symbols from a seed set based on Hamming distances between at least two of said M-bit symbols; selecting a scrambling seed from remaining symbols in said seed set; generating scrambled user data based on said user data symbols and said scrambling seed. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. A data scrambler, comprising:
-
a seed selector that receives user data including M-bit symbols, that includes a seed set containing symbols, and that selects a scrambling seed from symbols in said seed set based on Hamming distances between at least two of said M-bit symbols; and a scrambling device that communicates with said seed selector and that generates scrambled user data based on said user data and said scrambling seed. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64)
-
-
65. A system comprising:
-
a data scrambler that receives user data including M-bit symbols and that scrambles said user data using a scrambling seed that is selected from symbols in a seed set based on Hamming distances between at least two of said M-bit symbols; and an error correction coding (ECC) encoder (ENC) that communicates with said scrambler and that appends at least one of cyclic redundancy check (CRC) code, ECC, and said scrambling seed to said scrambled user data. - View Dependent Claims (66, 67, 68, 69)
-
-
70. A data scrambler, comprising:
-
seed selecting means for receiving user data including M-bit symbols, and for selecting a scrambling seed from symbols in a seed set based on Hamming distances between at least two of said M-bit symbols; and scrambling means that communicates with said seed selecting means for generating scrambled user data based on said user data and said scrambling seed. - View Dependent Claims (71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85)
-
-
86. A system comprising:
-
data scrambling means for receiving user data including M-bit symbols and for scrambling said user data using a scrambling seed that is selected from symbols in a seed set based on Hamming distances between at least two of said M-bit symbols; and error correction coding (ECC) encoding means (ENC), that communicates with said scrambling means, for appending at least one of cyclic redundancy check (CRC) code, ECC, and said scrambling seed to said scrambled user data. - View Dependent Claims (87, 88, 89, 90)
-
-
91. A method for operating a data scrambler, comprising:
-
receiving user data including M-bit symbols; selecting a scrambling seed from symbols in a seed set based on Hamming distances between at least two of said M-bit symbols; and generating scrambled user data based on said user data and said scrambling seed. - View Dependent Claims (92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105)
-
-
106. A method of operating a communications channel, comprising:
-
receiving user data including M-bit symbols; scrambling said user data using a scrambling seed that is selected from symbols in a seed set based on Hamming distances between at least two of said M-bit symbols; and appending at least one of cyclic redundancy check (CRC) code, error correction code (ECC), and said scrambling seed to said scrambled user data.
-
Specification