Storage Cache Duplication via Save Memory Area

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data duplication methods in storage apparatuses face performance degradation due to frequent disk access and high memory usage, leading to competition between backup and host I/O operations, which increases CPU load and degrades host I/O performance.

Innovation Solution

A storage apparatus with a processor and memory that saves pre-update data blocks in a save memory area during duplication, allowing for high-speed data duplication without overwriting memory, thus reducing disk access and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is duplicated by reading from disk when not in cache, then duplication can be performed, but disk access increases and host I/O performance degrades

Engineering Contradiction:
Improvedata duplication capabilityVSAvoidhost I/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent saves data blocks into a save area before duplication begins. When duplication is triggered, the system checks if the required data blocks are already in the save area (pre-saved), and if so, performs duplication from memory without disk access. This preliminary action of pre-saving blocks eliminates the need for disk access during duplication, resolving the contradiction between maintaining duplication capability and preserving host I/O performance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If additional log is created on disk for backup, then backup can be performed without competition, but load on storage apparatus increases and host I/O performance degrades

Engineering Contradiction:
Improvebackup capabilityVSAvoidstorage apparatus load
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a save area in memory as an additional layer between the cache memory and the disk. Instead of creating logs only on disk (one dimension), the system maintains data blocks in both cache memory and save area (adding a memory dimension). This allows backup operations to read from the memory-based save area rather than disk, reducing device complexity and load while maintaining backup capability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If enormous memory capacity is allocated for cache, then disk access is reduced, but memory capacity requirements become unrealistic

Engineering Contradiction:
Improvedisk access reductionVSAvoidmemory capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Instead of allocating enormous memory capacity to hold all possible data blocks (excessive action), the patent selectively saves only the data blocks that are targets of upcoming duplication operations into the save area (partial action). This selective approach reduces memory capacity requirements to realistic levels while still achieving the goal of reducing disk access during duplication by having the required blocks pre-loaded in memory.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9436559B2Storage apparatus and method for controlling cache of storage apparatus
Publication Date: 2016.09.06 HITACHI VANTARA LTD
  • US9436559B2 patent drawing
  • US9436559B2 patent drawing
  • US9436559B2 patent drawing

AI summary

A storage apparatus is connected to a host apparatus and a secondary storage apparatus and includes a memory, a storage device, and a processor. The memory includes a save memory area and a cache memory area that temporarily stores data received from the host apparatus. The storage device stores data that is received from the host apparatus.The processor controls a duplication process for specified data to another storage apparatus at a point in time of a start of duplication, saves a first data block into the save memory area when receiving an update request of the first data block in the cache memory area after the start of duplication, and updates the first data block in the cache memory area to an updated data block.