Arbitrated Shared RAID Buffer Management for SSD Deterministic Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-user storage environments, such as solid state drives (SSDs), existing technologies face challenges in efficiently managing shared resources like RAID buffers to maintain deterministic performance during hot and background data transfers, particularly in allocating resources among concurrent users to ensure adequate storage space and map integrity.

Innovation Solution

A controller circuit divides semiconductor memory dies into die sets, each assigned to a different user, with a shared resource like a RAID buffer managed through time-slice, round-robin, or priority-based approaches to arbitrate the use among die sets, ensuring predictable performance and efficient resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a shared RAID buffer is used by multiple die sets for background data transfers, then resource utilization is improved, but deterministic performance of hot data transfers deteriorates due to resource contention

Engineering Contradiction:
Improveresource utilizationVSAvoiddeterministic performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The shared RAID buffer is segmented into multiple dedicated buffers, with each buffer assigned to a specific die set. This segmentation eliminates resource contention between die sets while maintaining high resource utilization, as each die set has guaranteed access to its dedicated buffer portion during hot data transfers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer allocation mechanism dynamically adjusts buffer assignment based on operational mode. During hot data transfers, buffers are dynamically allocated to ensure deterministic performance. During background transfers, buffers are reassigned to maximize resource utilization. This dynamic reconfiguration resolves the contradiction between consistent performance and efficient resource use.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple users concurrently access the same memory resource, then system throughput is improved, but resource allocation complexity increases

Engineering Contradiction:
Improvesystem throughputVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory resource is segmented into user-specific partitions, with each user assigned dedicated buffer portions. This segmentation simplifies allocation complexity by eliminating the need for dynamic arbitration, while maintaining high throughput through parallel access to segmented resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system employs periodic time-sliced allocation where buffer access rights are periodically assigned to different users in a predetermined sequence. This periodic action maintains simple allocation logic while achieving high system throughput through coordinated concurrent access patterns.

Inventive Principle:
Principle #19Periodic action

3Productivity

If background data transfers are performed using shared resources, then resource efficiency is improved, but performance predictability deteriorates

Engineering Contradiction:
Improveresource efficiencyVSAvoidperformance predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The buffer allocation system dynamically switches between two operational states: a hot data transfer state with guaranteed deterministic buffer access, and a background transfer state with flexible resource sharing. This dynamic state management maintains performance predictability during critical operations while achieving high resource efficiency during background operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system periodically alternates between servicing hot data transfers with dedicated buffers and performing background transfers with shared buffers. This periodic alternation ensures that performance-critical operations maintain predictability while resource efficiency is maximized during less critical background operations.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10929286B2Arbitrated management of a shared non-volatile memory resource
Publication Date: 2021.02.23 SEAGATE TECH LLC
  • US10929286B2 patent drawing
  • US10929286B2 patent drawing
  • US10929286B2 patent drawing

AI summary

Apparatus and method for managing shared resources in a data storage device such as a solid-state drive (SSD). In some embodiments, a non-volatile memory (NVM) has a population of semiconductor memory dies to which are connected a number of parallel channel. A controller circuit apportions the semiconductor memory dies into a plurality of die sets each configured to store user data blocks associated with a different user during hot data transfers responsive to a sequence of host access commands. A shared resource is available for use by each of the die sets to support background data transfers not associated with the host access commands, such as a RAID buffer. The controller circuit arbitrates the use of the shared resource by each of the die sets in turn to sequentially perform the background data transfers to maintain a selected level of deterministic performance of the hot data transfers.