Storage System Dynamic Decompression for Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems face challenges in achieving both high compression ratios and high throughput performance, particularly in scale-out storage systems where increasing the unit size of compression leads to increased internal data transfer and potential throughput deterioration.
Innovation Solution
A storage system architecture where data is distributed across multiple nodes, with one node receiving read requests, determining if data chunks need decompression based on size, and either decompressing or transferring compressed data between nodes to optimize throughput and reduce storage costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the size of the unit of compression is increased to improve compression ratio, then storage cost is reduced, but internal transferred data amount increases and throughput deteriorates
Solution Approach 1:
The patent segments the data transfer process into two distinct phases: first transferring compressed data chunks between nodes, then performing decompression locally at the destination node. This segmentation allows the system to benefit from high compression ratios (reducing storage cost) while minimizing internal data transfer volume, as only the compressed data needs to be transferred rather than decompressed data. The decompression operation is segmented and executed locally, avoiding the throughput bottleneck that would occur if large decompressed data volumes were transferred internally.
2Productivity
If data is decompressed at the node where the host is connected to reduce network load, then network throughput is improved, but internal data transfer and processing complexity increase
Solution Approach 1:
The patent introduces compressed data chunks as an intermediary form between the stored data and the host-accessible data. Instead of transferring fully decompressed data across the network (which would increase network load) or transferring raw compressed data and decompressing at the host (which would increase processing complexity), the system uses compressed data chunks as an intermediate representation that can be efficiently transferred and then locally decompressed. This intermediary approach balances network throughput and processing complexity by leveraging the fact that compressed data is more compact for transfer but can be efficiently decompressed locally.
Data Source
AI summary
A first node receives a read request, determines a storage drive location where data corresponding to one or more logical addresses designated in the read request is stored, and requests transfer of the data at the one or more logical addresses, from the second node, when the storage drive location is the second node. The second node reads a data chunk containing the data designated by the one or more logical addresses, from one or more storage drives, determines whether to decompress the data chunk based on the size of the data chunk and the size of the one or more logical addresses, decompresses the data chunk based on the determination as to decompress the data chunk, extracts data at the one or more logical addresses, and transfers the extracted data to the first node.


