Indirect Memory Key Scatter-Gather List Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed storage systems face challenges in securely copying data across remote systems, particularly in ensuring data integrity and preventing unauthorized access.
Innovation Solution
The method involves using an indirect memory key (IMKEY) in conjunction with scatter-gather lists (SGLs) to identify data blocks and their associated integrity fields, allowing for seamless integration of data integrity checking operations during data copy operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional data copying methods are used in distributed storage systems, then data transfer can proceed without complex integrity verification, but data integrity and security cannot be ensured across remote systems
Solution Approach 1:
The patent applies preliminary action by pre-calculating and attaching integrity fields (such as T10-DIF protection information) to data blocks before transmission. The metadata is prepared in advance to include integrity verification parameters, so that when data is copied across remote systems, the integrity verification can proceed automatically without adding complex runtime verification logic.
Solution Approach 2:
The patent uses metadata as an intermediary structure that carries integrity verification information between the source and destination systems. The metadata includes scatter-gather list information and integrity field locations, acting as a mediator that enables reliable data transfer without requiring complex direct verification protocols between remote systems.
2Reliability
If integrity verification is performed on all data blocks during copying, then data security is improved, but the time required for data copy operations increases
Solution Approach 1:
Integrity fields are calculated and attached to data blocks before the copy operation begins. This preliminary computation of protection information (such as CRC or more advanced integrity checks) eliminates the need for time-consuming verification calculations during the actual data transfer, thus maintaining security while reducing copy operation time.
Solution Approach 2:
The patent enables continuous data transfer by preparing integrity verification information in advance. The metadata structure allows the copy operation to proceed continuously without pausing for verification checks, as the integrity fields are already computed and attached to each data block, maintaining both security and operational efficiency.
3Productivity
If scatter-gather lists are used to identify multiple memory regions for data copying, then data transfer efficiency is improved, but tracking and verifying integrity across distributed memory regions becomes more complex
Solution Approach 1:
The patent merges the integrity tracking function into the metadata structure that already contains scatter-gather list information. By combining the SGL entries with integrity field location information and verification parameters in a unified metadata structure, the system maintains efficient multi-region data transfer while simplifying integrity tracking, as both data location and integrity verification information are managed together in the same metadata framework.
Data Source
AI summary
A method for use in a computing device, the method comprising: detecting a first command to copy data to a remote system, the first command including a scatter-gather list (SGL) that identifies the data that is desired to be copied, the SGL including a plurality of entries that identify a plurality of memory regions, each of the plurality of entries identifying a different one of the plurality of memory regions; generating metadata for the SGL, for each of the data blocks in the plurality of memory regions, wherein the metadata identifies at least one of: (i) a location where a respective integrity field for the data block is stored, and (ii) a respective integrity operation that is required to be performed on the data block; registering the plurality of entries and the metadata under a key; generating a command capsule that includes the key; and transmitting the command capsule.


