In-SSD Stream-ID Routing for Selective Data Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current SSDs treat all incoming data streams uniformly for compression and encryption, leading to inefficiencies as not all data requires these processes, and varying applications have different compression and encryption needs, which cannot be simultaneously met with high-compression algorithms and encryption strengths.
Innovation Solution
A multi-stream memory system that selects data processing engines based on stream IDs, bypassing compression and encryption engines when unnecessary, and applying appropriate engines for each stream to optimize performance and reduce power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all incoming data streams are processed uniformly with compression and encryption engines, then data security and compression are ensured, but performance decreases and power consumption increases due to unnecessary processing
Solution Approach 1:
The patent applies different processing treatments to different data streams based on their specific requirements. The controller selectively applies compression and encryption only to streams that need them, rather than uniformly processing all streams. This resolves the contradiction by ensuring security where needed while maintaining high performance for streams that don't require intensive processing.
Solution Approach 2:
The patent segments incoming data streams into multiple categories based on their compression and encryption requirements. By dividing the data processing into different streams with different processing paths, the system can optimize performance for each stream type while maintaining necessary security measures, thus resolving the contradiction between universal security and overall system performance.
2Quantity of substance
If high-compression algorithms are used to achieve high compression ratios, then data storage efficiency improves, but compression speed decreases
Solution Approach 1:
The patent assigns different compression algorithms to different data streams based on their specific requirements. Some streams receive high-compression algorithms for maximum storage efficiency, while other streams use faster compression algorithms when speed is more critical. This resolves the contradiction by optimizing the compression ratio-speed tradeoff for each stream individually rather than using a single algorithm for all data.
3Reliability
If strong encryption is applied to all data streams, then data security is enhanced, but processing overhead and power consumption increase
Solution Approach 1:
The patent selectively applies encryption to only those data streams that require it, based on their sensitivity and security requirements. Non-sensitive streams bypass encryption processing entirely, reducing overall power consumption while maintaining necessary security for protected streams. This resolves the contradiction between universal security and energy efficiency.
4Loss of time
If device-side processing is implemented for all streams, then host-side processing time and CPU/memory consumption are reduced, but in-SSD processing resources are overutilized
Solution Approach 1:
The patent implements device-side processing selectively for streams that benefit from it, rather than forcing all streams through in-SSD processing. The controller evaluates each stream's characteristics and directs appropriate streams to compression/encryption engines while allowing others to be processed more efficiently elsewhere, thus resolving the contradiction between reducing host processing burden and optimizing in-SSD resource utilization.
Data Source
AI summary
A multi-stream memory system includes an in-device data processor including a first data processing engine and a second data processing engine, a controller processor, and a processor memory coupled to the controller processor, wherein the processor memory has stored thereon instructions that, when executed by the controller processor, cause the controller processor to perform: identifying a stream ID of an input stream, identifying the first data processing engine as being associated with the stream ID based on a stream assignment table, and applying the first data processing engine to the input stream to generate processed data.


