Command Slot Management for Memory Endurance Groups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory devices with multiple endurance groups, there is an imbalance in wear and performance due to uneven usage of command slots, leading to potential starvation of resources for some endurance groups, which affects overall performance and quality of service (QoS).

Innovation Solution

Implementing a controller that manages command slots by allocating them from private and shared pools, ensuring equitable distribution and preventing overuse by one endurance group, thereby maintaining balanced resource availability across all endurance groups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If command slots are allocated without management across multiple endurance groups, then one endurance group can access all command slots freely, but other endurance groups may experience resource starvation and performance degradation

Engineering Contradiction:
Improvecommand slot availabilityVSAvoidquality of service
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The command slot pool is segmented into multiple subsets, with each subset dedicated to a specific endurance group. This segmentation ensures that each endurance group has guaranteed access to a portion of command slots, preventing resource starvation while maintaining overall system productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically allocates command slots based on real-time conditions. When an endurance group has available command slots, it can process commands; when slots are depleted, the system can reallocate or throttle to maintain quality of service across all endurance groups.

Inventive Principle:
Principle #15Dynamics

2Productivity

If command slots are shared among all endurance groups, then resource utilization is maximized, but uneven wear patterns and performance imbalance occur

Engineering Contradiction:
Improveresource utilizationVSAvoidwear balance
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

Command slots are divided into dedicated subsets for each endurance group, creating a stable allocation structure that prevents any single group from monopolizing resources. This segmentation balances wear patterns by ensuring each group operates within its allocated capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different endurance groups are assigned different portions of command slots based on their specific wear characteristics and performance requirements. This local differentiation allows each group to operate optimally while maintaining overall system balance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11928360B2Command slot management for memory devices
Publication Date: 2024.03.12 SANDISK TECHNOLOGIES LLC
  • US11928360B2 patent drawing
  • US11928360B2 patent drawing
  • US11928360B2 patent drawing

AI summary

A data storage device including a non-volatile memory device including one or more non-volatile memory sets and one or more endurance groups. Each of the endurance groups includes at least one of the non-volatile memory sets. The data storage device includes a controller coupled to the non-volatile memory device. The controller is configured to receive a pending command message from a host interface, where the received pending command message includes a command configured to be executed by a first endurance group of the number of endurance groups. The controller is further configured to determine an assigned command slot for storing the command, where the assigned command slot is selected form one of a private command slot pool associated with the first endurance group or a shared command slot pool, fetch the command from the host device, and store the fetched command in the assigned command slot.