Non-volatile Memory Intelligent Compute Task Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current non-volatile storage systems face performance limitations due to the need for transferring large data sets to hosts for compute tasks, leading to increased latency and inefficiencies, as they lack optimal distribution of compute tasks between memory controllers and integrated memory assemblies based on data transfer and computational resource needs.

Innovation Solution

A non-volatile storage system comprising a memory controller and integrated memory assemblies with separate compute resources, where a module intelligently assigns compute tasks based on anticipated data transfer, computational resource requirements, and available bandwidth, allowing tasks to be performed either by the memory controller or control dies within the storage system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If compute tasks are performed in the storage system rather than at the host, then data transfer time is reduced, but performance latency still remains high

Engineering Contradiction:
Improvedata transfer timeVSAvoidperformance latency
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The storage system is segmented into multiple independent compute nodes distributed across different memory controllers and memory devices. Each node can independently execute compute tasks on local data, enabling parallel processing and reducing the sequential latency bottleneck. The system divides the compute workload across multiple segments rather than relying on a single centralized processor.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of computation within the storage system itself, moving from traditional host-centric processing to storage-embedded processing. By embedding compute capabilities directly in the storage architecture, the system adds a spatial dimension where data processing occurs close to the data location, reducing the distance and time for data transfer while maintaining computational functionality.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If compute resources are added within the storage system, then compute capability is improved, but device complexity increases

Engineering Contradiction:
Improvecompute capabilityVSAvoidstorage system architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controllers and memory devices are designed with multi-functionality, serving both as storage components and as compute nodes. These universal components can execute compute tasks locally while maintaining their primary storage functions, eliminating the need for separate dedicated compute hardware and reducing overall system complexity despite adding compute capability.

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

Solution Approach 2:

The storage system components perform self-service by executing compute tasks autonomously without requiring constant host intervention. The distributed compute nodes can independently manage their own compute workloads, data access, and coordination, reducing the complexity of centralized control while maintaining high compute capability across the system.

Inventive Principle:
Principle #25Self-service

3Productivity

If compute tasks are distributed across multiple nodes, then resource utilization is improved, but task assignment complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidtask assignment mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where compute nodes continuously report their availability, workload status, and performance metrics to the coordination layer. This feedback enables intelligent, adaptive task assignment that considers real-time conditions, optimizing resource utilization while simplifying the assignment process through automated, data-driven decision-making rather than complex manual orchestration.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

An intermediary coordination layer is introduced between the host and distributed compute nodes, serving as a mediator that handles task assignment and workload distribution. This intermediary layer abstracts the complexity of distributed task management from the host and individual nodes, providing simplified interfaces for task submission while managing the underlying distributed resource allocation automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11977915B2Non-volatile memory with intelligent compute task distribution
Publication Date: 2024.05.07 SANDISK TECHNOLOGIES LLC
  • US11977915B2 patent drawing
  • US11977915B2 patent drawing
  • US11977915B2 patent drawing

AI summary

A non-volatile storage system includes a memory controller and multiple integrated memory assemblies separate from and in communication with the memory controller. The integrated memory assemblies each comprises a memory die and a control die. The control die is connected (e.g., bonded) to the memory die. The memory controller and the control die include separate compute resources (e.g., each includes a processor). The storage system is configured to receive a request to perform a compute task and assign that compute task to any one or more of the memory controller and the integrated memory assemblies based on anticipated amount of data to be transferred to or from non-volatile memory for the compute task, computational resource need of the compute task, and/or available bandwidth of the memory controller and the control dies.