Data-Dependent Scrambler for Host CRC Without RLL Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Magnetic storage systems using Run Length Limited (RLL) coding face challenges in reducing unwanted bit patterns while maintaining data storage capacity and signal-to-noise ratio, particularly in implementing host CRC features due to differences in user data at the host bus interface and ECC/CRC encoder.
Innovation Solution
A communications channel with a data-dependent scrambler (DDS) generates a scrambling seed based on user data, producing a scrambled sequence that reduces unwanted bit patterns, and includes a CRC encoder to generate CRCD bits, with an ECC/CRC device generating ECC and CRCW bits, and a RLL encoder to further constrain bit patterns, supporting host CRC without RLL coding on user data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If RLL coding is used to eliminate unwanted bit patterns, then reliability is improved, but data storage capacity is reduced due to increased channel bit density
Solution Approach 1:
The patent segments the data stream into user data portions and ECC/CRC portions, applying different coding strategies to each. The user data portion is scrambled with a data-dependent scrambler that adapts to the actual data patterns, while the ECC/CRC portion is separately encoded. This segmentation allows the system to maintain high storage capacity for user data while ensuring reliability through targeted error correction on the control portions.
Solution Approach 2:
The patent changes the coding parameter from fixed RLL constraints to adaptive scrambling parameters. The data-dependent scrambler uses feedback from the actual data stream to dynamically adjust the scrambling sequence, allowing the system to eliminate unwanted bit patterns without the overhead of traditional RLL coding. This parameter adaptation maintains data storage capacity while achieving the desired bit pattern constraints.
2Reliability
If RLL coding is applied to ECC/CRC bits to eliminate unwanted bit patterns, then reliability is improved, but device complexity increases
Solution Approach 1:
The patent extracts the ECC/CRC bits as a separate portion from the user data and processes them independently through a dedicated ECC/CRC encoder. This extraction allows the system to apply appropriate error correction coding to the control bits without complicating the main data stream processing. The separated processing path reduces overall device complexity by avoiding the need for complex integrated RLL coding that would need to handle both data and control portions simultaneously.
3Object-generated harmful factors
If traditional RLL coding is used in data storage systems, then unwanted bit patterns are eliminated, but signal-to-noise ratio is reduced
Solution Approach 1:
The patent replaces static RLL coding constraints with a dynamic data-dependent scrambler that adapts its scrambling sequence based on the actual data being transmitted. This dynamic approach allows the system to eliminate unwanted bit patterns (such as long sequences of zeros or ones) without the fixed overhead of RLL coding. The scrambler responds to the instantaneous data patterns, maintaining signal quality while achieving bit pattern constraints.
Solution Approach 2:
The patent introduces a data-dependent scrambler as an intermediary between the raw user data and the physical storage medium. This scrambler processes the data to eliminate harmful bit patterns before storage, acting as a mediator that preserves the original data content while transforming its representation. The scrambler's output maintains the information content but in a form that is more robust to noise and less prone to timing issues, thereby improving signal-to-noise ratio compared to direct RLL coding.
Data Source
AI summary
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.


