Storage Apparatus Parallel CRC Calculation for Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

When using cyclic redundancy check (CRC) for data guarantee codes, the operation result varies with the order of data pieces, making it difficult to improve data transfer performance, especially when multiple DMA controllers are involved in transferring concatenated data.

Innovation Solution

A storage apparatus with a channel control unit, storage device, and processor that specifies element data to operation units for partial code calculation, allowing the processor to calculate a sequence code for concatenated data, thereby improving data transfer performance by parallelizing CRC operations across multiple DMA controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single DMA controller is used to transfer multiple pieces of data, then the guarantee code can be calculated correctly, but the data transfer performance is limited

Engineering Contradiction:
Improveguarantee code calculation accuracyVSAvoiddata transfer performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the data transfer task into multiple segments, with each DMA controller handling a specific piece of data independently. Each operation unit calculates the guarantee code for its assigned data segment in parallel, eliminating the sequential bottleneck while maintaining code accuracy through coordinated processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines multiple DMA controllers into a coordinated system where each controller operates independently on its assigned data while contributing to the overall guarantee code calculation. The results from multiple controllers are merged to produce the final guarantee code for concatenated data.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If multiple DMA controllers are used to transfer multiple pieces of data in parallel, then data transfer performance improves, but the guarantee code calculation becomes complex due to order dependency

Engineering Contradiction:
Improvedata transfer performanceVSAvoidguarantee code calculation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by having each DMA controller calculate and store its individual guarantee code before the final concatenation operation. This preliminary calculation simplifies the subsequent combination step, as controllers only need to exchange and combine their pre-calculated codes rather than performing complex sequential operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism where each DMA controller calculates its guarantee code independently and then exchanges results with other controllers. This intermediary step decouples the parallel calculation phase from the final combination phase, reducing complexity while maintaining accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple operation units calculate guarantee codes independently in parallel, then data transfer performance improves, but maintaining data order becomes challenging

Engineering Contradiction:
Improvedata transfer performanceVSAvoiddata order maintenance
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent assigns specific data pieces to specific operation units with fixed assignments, creating local responsibility for data order. Each operation unit knows its position in the sequence and processes data accordingly, maintaining global order through localized control while enabling parallel processing.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9720767B2Storage apparatus and storage apparatus control method
Publication Date: 2017.08.01 HITACHI VANTARA LTD
  • US9720767B2 patent drawing
  • US9720767B2 patent drawing
  • US9720767B2 patent drawing

AI summary

A storage apparatus includes a channel control unit, a storage device, and a processor. The channel control unit includes a plurality of operation units. The processor specifies, when receiving a request for read of a plurality of pieces of element data from a host computer, the plurality of pieces of element data to the plurality of operation units, respectively. The plurality of operation units respectively reads the plurality of pieces of element data from the storage device, calculates a plurality of partial codes that is a plurality of guarantee codes on the basis of the plurality of pieces of element data, and transmits the plurality of partial codes to the processor. The processor calculates, on the basis of the plurality of partial codes, a sequence code that is a guarantee code of sequence data including the plurality of pieces of element data which is concatenated.