Write-back Cache Protection via Segmented Sub-blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional write-back cache protection approaches in data storage clusters consume substantial bandwidth and cache memory space by duplicating full copies of host data across multiple nodes to ensure data integrity, leading to inefficiencies as the number of nodes increases.
Innovation Solution
The improved technique splits host data into equally-sized sub-blocks and computes checksum sub-blocks using error-correcting mathematics like Reed-Solomon coding, distributing these sub-blocks across nodes to ensure data recovery without the need for full data duplication, thereby reducing bandwidth and cache memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full copies of host data are transmitted to multiple data storage nodes for cache protection, then data reliability is improved, but network bandwidth consumption increases proportionally with the number of nodes
Solution Approach 1:
The patent divides host data into multiple data sub-blocks and distributes them across different storage nodes. Instead of transmitting full copies of host data to each node, only portions (sub-blocks) are sent, reducing the bandwidth consumption from O(k×) to O(1×) where k is the number of nodes, while maintaining the ability to reconstruct the original data through checksum verification
Solution Approach 2:
The patent introduces checksum sub-blocks as intermediary elements that enable data verification and reconstruction. These checksums act as mediators that allow any single node to verify data integrity and reconstruct lost data sub-blocks, providing the same reliability as full replication but with minimal bandwidth consumption
2Reliability
If full copies of host data are stored in cache memory of multiple data storage nodes, then data reliability is improved, but cache memory space consumption increases proportionally with the number of nodes
Solution Approach 1:
The patent segments host data into multiple smaller data sub-blocks that are distributed across different storage nodes' cache memory. Each node stores only a portion of the original data plus checksum information, reducing total cache memory consumption from O(k×) to O(1×) while maintaining data reliability through distributed storage and checksum-based reconstruction
Solution Approach 2:
Instead of creating full copies of host data at each node, the patent creates checksum sub-blocks that are much smaller and can be stored efficiently. These checksums serve as compact representations that enable data reconstruction without requiring full data duplication, significantly reducing cache memory space requirements
3Reliability
If the conventional naïve cache protection approach is used to withstand multiple node failures, then data integrity is maintained, but the system becomes inefficient and scalable only with limited nodes
Solution Approach 1:
The patent changes the fundamental parameter of data representation from full copies to segmented sub-blocks with checksums. This parameter change transforms the system from one requiring O(k×) bandwidth and memory to one requiring only O(1×), enabling efficient operation with any number of nodes while maintaining data integrity through mathematical checksum verification
Data Source
AI summary
A technique protects host data. The technique involves receiving, at a local computerized node, a block of data from a host computer, the block of data including data sub-blocks. The technique further involves storing the block of data, as a dirty cache block, in a local cache of the local computerized node. The technique further involves performing a set of external caching operations to cache a set of sub-blocks in a set of external computerized nodes in communication with the local computerized node. Each external caching operation caches a respective sub-block of the set of sub-blocks in a cache of a respective external computerized node. The set of sub-blocks includes (i) the data sub-blocks of the block of data from the host and (ii) a set of checksums derived from the data sub-blocks of the block of data from the host.


