Storage Controller Compression for End-to-End Encrypted Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face inefficiencies in data compression and encryption processes, where encrypted data is often stored uncompressed due to insufficient processing resources, leading to suboptimal storage utilization and performance.
Innovation Solution
Implementing dynamic compression with dynamic multi-stage encryption, where the storage controller decrypts, compresses, and re-encrypts data, leveraging its processing resources to preserve end-to-end encryption and enhance data storage efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the host compresses data before encrypting and sending to the storage controller, then storage space is preserved, but processing resources of the host are excessively depleted
Solution Approach 1:
The compression function is extracted from the host and relocated to the storage controller. The host only performs encryption and sends encrypted data, while the storage controller performs decryption and compression, thereby preserving host processing resources while still achieving storage space optimization.
Solution Approach 2:
The traditional sequence of compression then encryption is inverted to encryption then compression. Encrypted data is sent to the storage controller, which decrypts and then compresses the data before storage. This inversion allows compression to occur on encrypted data without depleting host resources.
2Quantity of substance
If the storage controller compresses encrypted data, then storage space is reduced, but processing resources are consumed and compression effectiveness is insufficient
Solution Approach 1:
The compression operation is applied to decrypted data rather than encrypted data. The storage controller decrypts the incoming encrypted data, then compresses the plaintext data which yields better compression ratios, and finally re-encrypts the compressed data for storage.
Solution Approach 2:
Decryption is performed as a preliminary action before compression. By decrypting the data first, the storage controller enables more effective compression since plaintext data has redundancies that can be compressed, whereas encrypted data appears random and compresses poorly.
3Productivity
If the host bypasses compression to maintain input/output operations, then processing resources are preserved, but storage efficiency deteriorates
Solution Approach 1:
The compression function is extracted from the host's I/O path and relocated to the storage controller. This allows the host to maintain high I/O performance by only performing encryption and transmission, while the storage controller handles compression in the background without impacting host I/O operations.
4Reliability
If end-to-end encryption is implemented, then data security is improved, but compression effectiveness is reduced because encrypted data is difficult to compress
Solution Approach 1:
The traditional encryption-compression sequence is inverted to compression-encryption at the host, and then decryption-compression-encryption at the storage controller. This allows compression to occur on plaintext data at both ends while maintaining end-to-end encryption security.
Solution Approach 2:
The encryption process is segmented into multiple stages: host encryption for transmission security, storage controller decryption for compression, and re-encryption for storage security. This segmentation allows compression to occur on plaintext data while maintaining security at critical points.
Data Source
AI summary
Dynamic compression with dynamic multi-stage encryption for a data storage system in accordance with the present description includes, in one aspect of the present description, preserves end-to-end encryption between a host and a storage controller while compressing data which was received from the host in encrypted but uncompressed form, using MIPs and other processing resources of the storage controller instead of the host. In one embodiment, the storage controller decrypts encrypted but uncompressed data received from the host to unencrypted data and compresses the unencrypted data to compressed data. The storage controller then encrypts the compressed data to encrypted, compressed data and stores the encrypted, compressed data in a storage device controlled by the storage controller. Other aspects and advantages may be realized, depending upon the particular application.


