Storage Controller Caching with Symmetric SCM Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face inefficiencies due to the need for redundant data copies to ensure data integrity, which increases storage space requirements and transaction latency, and these inefficiencies cannot be fully mitigated by simply adding hardware.

Innovation Solution

Implementing high-speed persistent Storage Class Memory (SCM) devices to maintain symmetric data caches for redundancy, allowing data and metadata to be stored in separate, discrete caches that are not dependent on storage controllers, thereby reducing the burden on processing resources and inter-controller communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If redundant data copies are maintained on discrete hardware devices to ensure data integrity, then data reliability is improved, but storage space requirements and transaction latency increase

Engineering Contradiction:
Improvedata integrityVSAvoidtransaction latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the redundant data storage function from the storage controller and places it in discrete cache devices. The storage controller maintains only metadata while actual data copies reside in separate cache devices, thereby reducing the storage controller's burden and improving transaction latency while maintaining data integrity through redundancy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces discrete cache devices as intermediary storage elements between the storage controller and persistent storage. These cache devices hold redundant data copies and work in conjunction with the storage controller to provide both speed and reliability, resolving the contradiction between fast access and data protection.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If redundant data copies are maintained on discrete hardware devices to ensure data integrity, then data reliability is improved, but storage space requirements increase

Engineering Contradiction:
Improvedata integrityVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the storage system into distinct functional components: the storage controller holds metadata, while discrete cache devices hold data copies. This segmentation allows efficient use of storage space by placing redundant data in high-speed cache memory rather than duplicating it across slow persistent storage devices.

Inventive Principle:
Principle #1Segmentation

3Productivity

If additional hardware is added to reduce transaction latency, then data handling speed is improved, but device complexity and cost increase

Engineering Contradiction:
Improvedata handling speedVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The discrete cache devices serve multiple functions: they store redundant data copies for reliability, provide high-speed data access to reduce latency, and can be independently managed without complicating the storage controller architecture. This multi-functionality achieves performance improvement without proportional increases in complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10698818B2Storage controller caching using symmetric storage class memory devices
Publication Date: 2020.06.30 NETAPP INC
  • US10698818B2 patent drawing
  • US10698818B2 patent drawing
  • US10698818B2 patent drawing

AI summary

Systems and techniques for performing a data transaction are disclosed that provide data redundancy using two or more cache devices. In some embodiments, a data transaction is received by a storage controller of a storage system from a host system. The storage controller caches data and/or metadata associated with the data transaction to at least two cache devices that are discrete from the storage controller. After caching, the storage controller provides a transaction completion response to the host system from which the transaction was received. In some examples, each of the at least two cache devices includes a storage class memory. In some examples, the storage controller caches metadata to the at least two cache devices and to a controller cache of the storage controller, while data is cached to the at least two cache devices without being cached in the controller cache.