Storage Die Scheduling via Translation Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage devices do not fully utilize their inherent parallelism architecture due to inefficient die management, leading to overwork and idleness of dies, resulting in reduced performance and efficiency, especially during low queue depth operations.

Innovation Solution

A die translation table is used to estimate which die will be idle for operations, allowing for scheduling of tasks to maximize die utilization and parallel operations, with a scheduler interacting with the table to reorder commands and perform operations on the appropriate dies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional read command scheduling is used without die translation table, then the system is simpler to implement, but die utilization is unbalanced and parallelism is not fully utilized

Engineering Contradiction:
Improvedie utilizationVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The die translation table is built in advance during write operations, storing the mapping between logical block addresses and physical die locations. This preliminary action enables the scheduler to predict which dies will be idle for future read operations, allowing proactive command scheduling that maximizes die utilization and parallelism without adding complex real-time decision-making logic.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If read commands are executed in host-generated order without reordering, then command execution is simpler, but die parallelism is compromised when queue depth is low

Engineering Contradiction:
Improvedie parallelismVSAvoidcommand execution simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The die translation table is constructed in advance during write operations, storing the mapping between logical block addresses and physical die locations. This preliminary action enables the scheduler to predict which dies will be idle for future read operations, allowing proactive command scheduling that maximizes die utilization and parallelism without adding complex real-time decision-making logic.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of executing commands in the order they arrive from the host and hoping for die parallelism, the invention inverts the approach by using the die translation table to predict idle dies and proactively scheduling read commands to those dies. This inversion transforms the scheduling strategy from passive (hoping for parallelism) to active (ensuring parallelism through prediction and reordering).

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS10712972B2Read commands scheduling method in storage device
Publication Date: 2020.07.14 SANDISK TECHNOLOGIES LLC
  • US10712972B2 patent drawing
  • US10712972B2 patent drawing
  • US10712972B2 patent drawing

AI summary

In one non-limiting embodiment, a method is disclosed for performing a storage device operation on a die is provide having steps of choosing a storage device operation to perform, estimating which die is related to the storage device operation chosen to be performed and performing the storage device operation at the die based on the estimating.