Host Command Data Buffer as Extended Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Non-Volatile Memory Express (NVMe) systems face inefficiencies in utilizing host command data buffers, leading to increased memory requirements and costs due to the need for large volatile memory in memory devices for processing commands and internal operations.

Innovation Solution

The proposal is to use host command data buffers as extended volatile memory during the execution of NVMe commands, allowing the memory device to perform additional operations such as error correction and internal memory management, thereby reducing the requirement for large volatile memory and minimizing costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If large volatile memory is provided in the memory device for processing commands and internal operations, then command processing capability and internal operation performance are improved, but memory device size and cost increase

Engineering Contradiction:
Improvecommand processing capabilityVSAvoidmemory device size
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The patent merges the host command data buffer on the host device with the memory device's volatile memory resources. The host command data buffer is utilized as extended volatile memory for the memory device, allowing command processing data and internal operation data to share the same memory resource. This eliminates the need for separate large volatile memory in the memory device while maintaining full command processing capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The host command data buffer is given multiple functions: it serves both as the data buffer for host commands and as extended volatile memory for the memory device's internal operations. This multi-functional usage allows the same memory resource to support both host-device communication and internal memory management operations, reducing overall memory requirements.

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

2Productivity

If large volatile memory is provided in the memory device for processing commands and internal operations, then command processing capability and internal operation performance are improved, but memory device cost increases

Engineering Contradiction:
Improvecommand processing capabilityVSAvoidmemory device cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent merges the host command data buffer on the host device with the memory device's volatile memory resources. The host command data buffer is utilized as extended volatile memory for the memory device, allowing command processing data and internal operation data to share the same memory resource. This eliminates the need for separate large volatile memory in the memory device while maintaining full command processing capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The host command data buffer is given multiple functions: it serves both as the data buffer for host commands and as extended volatile memory for the memory device's internal operations. This multi-functional usage allows the same memory resource to support both host-device communication and internal memory management operations, reducing overall memory requirements.

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

3Volume of stationary object

If host command data buffers are used as extended volatile memory, then memory device size and cost are reduced, but buffer availability for host commands may be affected

Engineering Contradiction:
Improvememory device sizeVSAvoidbuffer availability
Core Design Contradiction:
Volume of stationary objectVSReliability

Solution Approach 1:

The patent implements dynamic management of the host command data buffer, where the buffer's allocation and usage are adjusted based on real-time needs. The memory device coordinates with the host device to ensure that sufficient buffer space is available when host commands require it, while allowing the buffer to be used as extended volatile memory during periods when host command buffering is not needed. This dynamic approach ensures both buffer availability and memory efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms where the memory device monitors the usage and availability of the host command data buffer. Based on this feedback, the memory device adjusts its usage of the buffer as extended volatile memory, ensuring that host command operations are never compromised. The host device is also notified of buffer usage status to coordinate allocations appropriately.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10489082B2System and method for using host command data buffers as extended memory device volatile memory
Publication Date: 2019.11.26 SANDISK TECHNOLOGIES LLC
  • US10489082B2 patent drawing
  • US10489082B2 patent drawing
  • US10489082B2 patent drawing

AI summary

Systems and methods for using host command data buffers as extended memory device volatile memory are disclosed. NVM Express implements a paired submission queue and completion queue mechanism, with host software on the host device placing commands into the submission queue. Commands may include an indication of a host buffer, resident on the host device, in which to store data for access by the host device. The memory device may use the host buffer as extended memory during execution of the command. As one example, the memory device may process the command in stages, with each stage retrieving data from the host buffer, manipulating the data, and writing the processed data to the same host buffer. As another example, the host buffer can be used for memory device internal relocation and garbage collection operations. Thus, the area/cost of the memory device controller is reduced since less volatile memory is required.