XOR Scrambler for SSD Memory Channels
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current SSD communication protocols require reverse engineering of scrambling algorithms used by host memory controllers, which is difficult and varies among vendors/platforms, making it challenging to descramble and scramble data correctly without full knowledge of the host's algorithms.
Innovation Solution
A method and system that discover XOR vectors used by the host system during a training mode by inputting all zero training data, allowing the SSD to store and use these vectors for descrambling and scrambling data without needing to reverse engineer the host's scrambling algorithm, and operates independently of error correcting code algorithms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the SSD uses the host's scrambling algorithm directly, then data can be scrambled and descrambled correctly, but the SSD requires full reverse engineering of the host's algorithm which is difficult and varies by vendor/platform
Solution Approach 1:
The patent introduces an intermediary training process where the SSD sends training data through the memory controller to capture the host's scrambling behavior indirectly. Instead of reverse engineering the host's algorithm directly, the SSD observes the scrambled training data returned by the host and derives the XOR pattern from this intermediate observation, thereby avoiding direct reverse engineering while achieving correct scrambling/descrambling
Solution Approach 2:
The patent creates a copy of the host's scrambling pattern by capturing it during training mode. The SSD sends known training data and records the scrambled version returned by the host, then uses XOR operation to extract and store this pattern copy. This copied pattern can then be reused for scrambling and descrambling without needing to understand or reverse engineer the original host algorithm
2Adaptability or versatility
If the SSD implements vendor-specific scrambling algorithms, then compatibility with specific platforms is achieved, but adaptability to different vendors and platforms is reduced
Solution Approach 1:
The patent enables the SSD to automatically discover and adapt to the host's scrambling algorithm through self-service training. During training mode, the SSD independently captures the host's scrambling pattern by sending training data and analyzing the returned scrambled data. This self-configuration process eliminates the need for pre-programmed vendor-specific algorithms, allowing the SSD to adapt to any host platform automatically without increasing device complexity
Solution Approach 2:
The patent changes the approach from using fixed vendor-specific algorithm parameters to dynamically capturing parameters during training. Instead of having different algorithms for different vendors, the SSD captures the actual XOR pattern used by the host during training mode and stores it as the operational parameter. This parameter change enables universal adaptability across all platforms while maintaining scrambling correctness
Data Source
AI summary
Example embodiments for descrambling and scrambling a memory channel include executing a training mode for the memory device to discover XOR vectors used by the host system to scramble data. The training mode inputs all zero training data to a scrambling algorithm for all memory locations of the memory device to generate scrambled training data that is transmitted over the memory channel to the memory device. The scrambled training data are equal to the XOR vectors corresponding to those memory locations. The scrambled training data is received over the memory channel by the memory device and stored as the XOR vectors for each corresponding memory location. During a functional mode, the scrambled data is received over the memory channel for a specified memory location and the XOR vector stored for the specified memory location is used to descramble the scrambled data prior to writing to the specified memory location.


