Bulk Copy Request Partitioning for Storage Prefetch Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data copy methods in storage environments consume significant host computer resources and can lead to performance issues due to out-of-order requests when dealing with large requests, particularly when multiple requests complete around the same time on different cores, confusing prefetchers and affecting performance.

Innovation Solution

A method that partitions a copy request into multiple requests, issues a first number of these requests, detects completion of a second number of requests (greater than one but less than the first number), and then issues a third number of requests upon detecting completion of the second number, optimizing data transfer and prefetching by ensuring sequential order.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If data is copied from source to target through host computer buffering, then data transfer can be performed, but host computer resources (memory, bandwidth) are significantly consumed

Engineering Contradiction:
Improvehost computer resource consumptionVSAvoiddata transfer efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent extracts the data transfer function from the host computer by implementing offloaded data transfer (ODX) at the storage system level. The storage system directly copies data between source and target devices without buffering through the host, removing the host from the data path while maintaining transfer capability. This resolves the contradiction by eliminating host resource consumption without sacrificing data transfer functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The storage system acts as an intermediary between source and target devices, performing the copy operation autonomously. Instead of the host mediating every data movement, the storage system's controller directly manages the data transfer between devices, using tokens to identify and relocate data. This intermediary approach enables efficient data transfer while preserving host resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple copy requests are issued in parallel on different processor cores, then throughput is improved, but requests complete out of order which confuses prefetchers and degrades performance

Engineering Contradiction:
Improverequest processing throughputVSAvoidrequest completion order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the parallel request processing into batches, where each batch is assigned to a specific processor core. By dividing the workload into discrete batches handled sequentially by different cores, the system maintains both parallel processing capability and request order integrity. This segmentation resolves the contradiction by allowing throughput improvement through parallelism while preserving reliability through ordered batch processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-assigning batches of requests to specific processor cores before execution. This preliminary organization ensures that when requests are processed in parallel, their completion order is predictable and maintains sequential logic. The prefetcher can anticipate request patterns because the batching strategy is established in advance, resolving the order reliability issue while maintaining throughput.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If large copy requests are partitioned into multiple smaller requests, then resource consumption is reduced, but the complexity of managing request sequences increases

Engineering Contradiction:
Improverequest sizeVSAvoidrequest management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where the storage system monitors request completion status and dynamically adjusts the issuance of subsequent requests. When a batch of requests is issued, the system waits for their completion before issuing the next batch, creating a feedback loop that maintains order without requiring complex management. This feedback-based approach resolves the contradiction by simplifying request management while handling partitioned data effectively.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10564847B1Data movement bulk copy operation
Publication Date: 2020.02.18 EMC IP HLDG CO LLC
  • US10564847B1 patent drawing
  • US10564847B1 patent drawing
  • US10564847B1 patent drawing

AI summary

Techniques are described for performing a copy operation. A first request is received to perform a copy operation to copy source data from a source area to a target area. The first request is partitioned into a plurality of other requests. Each of the plurality of other requests being a request to copy a portion of source data located in the source area to a corresponding location in the target area. A first number of the other requests is issued. Responsive to the issued requests, a copy operation is performed to copy a portion of the source data from the source area to the target area. Completion of a second number of the issued other requests is detected. The second number corresponds to a fraction of the first number such that the second number is greater than one and less than the first number. Upon detecting completion of the second number, a third number of the other requests is issued to copy another portion of the source data from the source area to the target area. The third number corresponding to the second number of the issued other requests detected as complete.