NVMe Controller Memory Manager CMB Capacity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current NVMe storage devices with the controller memory buffer (CMB) feature provide high performance but have limited storage capacity, necessitating an improved solution to enhance capacity while maintaining performance.

Innovation Solution

The implementation of a controller memory manager that stores NVMe data structures in both non-volatile and volatile memory, utilizing SRAM as a cache for NVMe queues and classifying host write transactions to optimize storage within DRAM, SRAM, and non-volatile memory, thereby increasing the capacity of the CMB/PMR without requiring a larger ASIC area.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If NVMe data structures are stored in controller memory buffer (CMB), then performance is improved, but storage capacity is limited

Engineering Contradiction:
ImproveperformanceVSAvoidstorage capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the storage capacity by dividing CMB into multiple independently manageable instances, each capable of storing NVMe data structures. This segmentation allows the system to serve multiple virtualization contexts simultaneously, effectively increasing the usable storage capacity while maintaining the performance benefits of CMB for each instance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements multi-functionality by enabling a single physical CMB resource to serve multiple virtualization instances through dynamic allocation and management. The controller memory manager enables the CMB to function as multiple independent buffers, allowing one physical resource to fulfill multiple roles and serve diverse storage needs simultaneously.

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

2Quantity of substance

If CMB size is increased to provide more storage capacity, then storage capacity is improved, but ASIC area increases

Engineering Contradiction:
Improvestorage capacityVSAvoidASIC area
Core Design Contradiction:
Quantity of substanceVSArea of stationary object

Solution Approach 1:

The patent applies dynamics by implementing flexible, dynamic allocation of CMB resources across multiple instances rather than dedicating fixed, static memory regions. The controller memory manager dynamically allocates and manages CMB instances based on runtime requirements, allowing the system to optimize memory usage and avoid the need for permanently allocated larger ASIC memory structures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of CMB instance count and size dynamically through software management rather than requiring fixed hardware configuration. By allowing the number and size of CMB instances to be adjusted via parameters and configuration rather than hardwired ASIC design, the system achieves increased storage capacity without proportionally increasing ASIC area.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11960725B2NVMe controller memory manager providing CMB capability
Publication Date: 2024.04.16 SANDISK TECHNOLOGIES LLC
  • US11960725B2 patent drawing
  • US11960725B2 patent drawing
  • US11960725B2 patent drawing

AI summary

Embodiments of the present disclosure generally relate to an NVMe storage device having a controller memory manager and a method of accessing an NVMe storage device having a controller memory manager. In one embodiment, a storage device comprises a non-volatile memory, a volatile memory, and a controller memory manager. The controller memory manager is operable to store one or more NVMe data structures within the non-volatile memory and the volatile memory.