Host Memory Buffer for Storage Read Data Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face limitations in efficiently utilizing host memory for read data operations, leading to potential performance issues due to limited volatile memory capacity and the need for additional storage solutions.

Innovation Solution

A storage system and method that allocates host memory as a buffer to store data before transferring it, allowing for parallel data handling and error correction operations, thereby optimizing memory usage without requesting host involvement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the storage system uses its own volatile memory to buffer read data, then data transfer reliability is improved, but the required volatile memory size increases and performance is limited

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidvolatile memory size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent uses host memory as an intermediary buffer to store read data temporarily during transfer from storage system to host. This mediator approach allows the storage system to offload buffering responsibilities, reducing its own volatile memory requirements while maintaining reliable data transfer through coordinated access to the host memory buffer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The host memory buffer serves multiple functions: it acts as a temporary storage location for read data in transit, provides error correction capabilities, and enables parallel data handling operations. This multi-functionality reduces the need for dedicated volatile memory in the storage system while improving overall system efficiency.

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

2Adaptability or versatility

If the storage system requests host memory usage, then memory utilization is improved, but system complexity and host involvement increase

Engineering Contradiction:
Improvememory utilizationVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The storage system autonomously manages the host memory buffer without requiring explicit host requests or involvement. The controller independently allocates, manages, and releases the buffer memory, performing error correction and data handling operations self-service style, thereby improving memory utilization while avoiding increased system complexity.

Inventive Principle:
Principle #25Self-service

3Productivity

If the storage system uses allocated host memory for parallel operations, then productivity is improved, but memory management complexity increases

Engineering Contradiction:
Improveworkload efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts error correction and buffer management functions from the main data transfer path, performing them independently in the host memory buffer. This separation allows parallel processing of data transfer and error correction operations, improving productivity while keeping memory management complexity contained within specific modular functions.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11507309B2Storage system and method for using memory allocated in a host for read data as a host memory buffer
Publication Date: 2022.11.22 SANDISK TECHNOLOGIES LLC
  • US11507309B2 patent drawing
  • US11507309B2 patent drawing
  • US11507309B2 patent drawing

AI summary

A storage system and method for using memory allocated in a host for read data as a host memory buffer are provided. In one embodiment, a controller of a storage system receives a read request from a host for data stored in the memory, wherein the read request identifies a storage location in the host that is allocated by the host to store the requested data after it is received from the storage system. Prior to sending the requested data to the host, the storage system uses the allocated storage location in the host as a host memory buffer to store other data until the host needs the allocated storage location to store the requested data. Other embodiments are provided.