Data Block Checksum Offloading to Reduce Server Read Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional NAND Flash-based SSDs face inefficiencies in write operations due to out-of-place writes, erase block units, and garbage collection processes, leading to increased write amplification and reduced performance, while existing end-to-end integrity checks require multiple cycles of checksum validations, inefficiently utilizing memory bandwidth.

Innovation Solution

Offload the validity check for data blocks from a server to a client node by transferring data and checksums, allowing the client to perform a single cycle of checksum validation, thereby reducing server overhead and increasing read throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server performs multiple cycles of checksum validation for data blocks, then data integrity is ensured, but memory bandwidth utilization increases and read throughput decreases

Engineering Contradiction:
Improvedata integrityVSAvoidread throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the checksum validation operation from the server and relocates it to the client node. The server reads data blocks and their associated checksums from storage, then transmits them to the client, which performs the validation. This separation removes the validation overhead from the server's critical data path, allowing the server to focus on high-speed data retrieval while the client handles integrity verification, thereby resolving the contradiction between ensuring data integrity and maintaining high read throughput.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the server performs checksum validation, then data integrity is verified, but server processing overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidserver processing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the checksum validation function from the server's processing workload and assigns it to the client node. The server's role is reduced to reading data and checksums from storage and transmitting them to the client. This extraction eliminates the processing overhead of multiple validation cycles from the server, simplifying its operation to data movement tasks while the client handles the computationally intensive validation work.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If multiple cycles of checksum validation are performed, then data integrity is thoroughly checked, but memory bandwidth is consumed inefficiently

Engineering Contradiction:
Improvedata integrityVSAvoidmemory bandwidth utilization
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the checksum validation operation from the server's memory subsystem and relocates it to the client node. By having the client perform validation on received data rather than the server re-reading and re-validating data from storage multiple times, the system eliminates redundant memory bandwidth consumption. The checksums are transmitted once with the data, and validation occurs at the client, transforming inefficient repeated memory accesses into a single-bandwidth transmission followed by local processing.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12353279B2Offloading a validity check for a data block from a server to be performed by a client node
Publication Date: 2025.07.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12353279B2 patent drawing
  • US12353279B2 patent drawing
  • US12353279B2 patent drawing

AI summary

A computer-implemented method, according to one embodiment, includes receiving, by a server from a client application, a read request for a data block. The method further includes, reading, by the server, data of the data block and checksums associated with the data block, from a data storage drive, and storing, by the server, the data of the data block and the associated checksums in a buffer. A client node is caused, by the server, to use the associated checksums to perform a validity check for the data of the data block and a transmission from the server to the client node. A computer program product, according to another embodiment, includes a computer readable storage medium having program instructions embodied therewith. The program instructions are readable and/or executable by a server to cause the server to perform the foregoing method.