SSD Token-Based Resource Allocation for Accelerator Conflicts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid State Drive (SSD) devices face challenges in efficiently allocating resources for accelerators, leading to suboptimal performance and computational workload offloading, as existing technologies lack effective methods to dynamically manage non-volatile memory and bus resources for various data types and throughput requirements.

Innovation Solution

The implementation of a system that dynamically assigns portions of the non-volatile memory array to accelerators as caches, allowing direct access and sharing of resources, with a token management system to minimize conflicts and optimize storage device performance by allocating cache memory and bus resources based on computational needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If accelerators are added to SSD devices to offload computational workload, then processing capability and computational throughput are improved, but resource allocation complexity and device complexity increase

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

Solution Approach 1:

The patent introduces a resource manager as an intermediary component that mediates between accelerators and non-volatile memory resources. The resource manager dynamically allocates cache memory and bus bandwidth to different accelerators based on their computational needs, thereby resolving the complexity of direct resource management while maintaining high computational throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic resource allocation where the resource manager continuously monitors accelerator performance and adjusts cache memory size and bus bandwidth allocation in real-time. This dynamic adaptation allows the system to optimize computational throughput while managing resource allocation complexity through automated feedback mechanisms.

Inventive Principle:
Principle #15Dynamics

2Speed

If non-volatile memory is allocated as cache for accelerators, then data access speed and computational efficiency are improved, but available storage capacity for host data is reduced

Engineering Contradiction:
Improvedata access speedVSAvoidavailable storage capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the non-volatile memory array into multiple independent cache regions, each dynamically assigned to specific accelerators. The resource manager can allocate different portions of the memory array to different accelerators based on computational workload, allowing high-speed cache access for accelerators while preserving remaining capacity for host storage needs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic memory allocation where cache memory size for each accelerator is adjusted based on real-time computational requirements. When accelerators require high performance, larger memory portions are allocated as cache; when computational workload decreases, memory is reallocated to host storage, thus balancing data access speed with available storage capacity.

Inventive Principle:
Principle #15Dynamics

3Productivity

If multiple accelerators share bus resources, then device utilization and productivity are improved, but resource conflicts and access delays increase

Engineering Contradiction:
Improvedevice utilizationVSAvoidbus access delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary bus bandwidth allocation where the resource manager pre-allocates bus bandwidth to accelerators based on their computational workload requirements before data transfer operations begin. This preliminary allocation reduces contention and access delays by ensuring that accelerators have guaranteed bandwidth availability when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic bus bandwidth allocation where the resource manager continuously monitors bus utilization and adjusts bandwidth allocation to different accelerators in real-time. This dynamic adjustment allows multiple accelerators to share bus resources efficiently, maintaining high device utilization while minimizing access delays through adaptive resource distribution.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11797224B2Resource management for solid state drive accelerators
Publication Date: 2023.10.24 SANDISK TECHNOLOGIES LLC
  • US11797224B2 patent drawing
  • US11797224B2 patent drawing
  • US11797224B2 patent drawing

AI summary

Solid State Drive devices with hardware accelerators and methods for apportioning storage resources with tokens in the SSD are disclosed. SSDs typically comprise an array of non-volatile memory devices and a controller which manages access to the memory devices. The controller may also comprise one or more accelerators to either improve the performance of the SSD itself or to offload specialized computation workloads of a host-computing device. Different accelerators may be dynamically assigned portions of the non-volatile memory array according to the type of data being accessed and/or the throughput required. Provision is also made for the data to be accessed directly by the accelerators bypassing the controller. The accelerators may also share data bus bandwidth and resources with each other or the storage device controller. To minimize conflicts and improve the storage device performance, a system of tokens for both cache memory and bus bandwidth is used to dynamically assign these resources.