SSD Command Sequencing for NAND Bus Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solid-state drive (SSD) systems experience reduced NAND bus utilization due to idle intervals while waiting for read voltage settings, leading to performance degradation as bus utilization rates decrease with increased bus speeds.

Innovation Solution

Implementing a method where the SSD controller issues commands to configure a second read voltage for a NAND Flash die concurrently with data transfer from the first read operation, ensuring the NAND bus remains active and eliminating idle intervals by queuing and processing subsequent read operations without waiting for read voltage settings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the SSD controller waits for read voltage settings to complete before issuing subsequent commands, then the read voltage configuration is accurate and reliable, but the NAND bus utilization decreases and performance degrades

Engineering Contradiction:
Improveread voltage configuration accuracyVSAvoidNAND bus utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller pre-configures read voltages for multiple read operations before actually performing the read operations. By issuing voltage configuration commands in advance and queuing them, the system ensures that when read operations need to execute, the appropriate voltages are already set, eliminating waiting time and maintaining both reliability and productivity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller maintains continuous utilization of the NAND bus by eliminating idle intervals between operations. Instead of waiting for voltage settings to complete before issuing the next command, the controller continuously issues configuration commands and data transfer commands back-to-back, ensuring the bus remains active and maximizing productivity without compromising voltage configuration accuracy

Inventive Principle:
Principle #20Continuity of useful action

2Reliability

If the SSD controller issues commands sequentially waiting for each operation to complete, then command execution is simple and reliable, but the read operation throughput decreases

Engineering Contradiction:
Improvecommand execution reliabilityVSAvoidread operation throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller performs preliminary configuration of read voltages for subsequent read operations before those operations are actually executed. By pre-setting up the conditions needed for future reads, the system can execute multiple read operations in parallel or rapid succession, dramatically increasing throughput while maintaining reliability through proper voltage configuration

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller divides the command execution process into separate independent stages: voltage configuration stage and data transfer stage. By segmenting these operations, the controller can issue voltage configuration commands for multiple operations simultaneously, then execute data transfers without waiting for voltage settings to complete, thereby increasing throughput while ensuring each operation has its required voltage properly configured

Inventive Principle:
Principle #1Segmentation

3Device complexity

If the SSD controller uses traditional command sequencing with idle intervals, then the system is easier to implement and debug, but performance degrades especially at higher bus speeds

Engineering Contradiction:
Improvecommand sequencing complexityVSAvoidbus utilization rate
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The controller implements continuous command sequencing where voltage configuration commands and data transfer commands are issued back-to-back without idle intervals. This eliminates wasted time on the bus, maximizing utilization and performance. The continuous operation is achieved by carefully managing command queues and ensuring commands are pipelined efficiently

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The controller pre-issues voltage configuration commands for multiple read operations before data transfer begins. This preliminary setup allows the data transfer phase to proceed continuously without interruption for voltage reconfiguration, maintaining high bus utilization. The approach manages complexity by separating configuration timing from execution timing

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11733926B2Command sequencing for read operations by solid-state drives
Publication Date: 2023.08.22 DELL PROD LP
  • US11733926B2 patent drawing
  • US11733926B2 patent drawing
  • US11733926B2 patent drawing

AI summary

Systems and methods provide improved bus efficiency in read operations by a solid-state device (SSD) installed in an Information Handling System. A read operation is received that requests data stored in a die of the SSD. A command is issued to the die for use of a first read voltage in retrieving the requested data. Upon receiving confirmation that the die has retrieved the requested data, a command is issued to the die to configure a second read voltage for use in retrieving data requested by a second read operation received by the SSD. Concurrent with the die setting the second read voltage for use in retrieving the data requested in the second read operation, a command is issued to initiating transfer, by the die, of the data retrieved for the first read operation. In this manner, idle intervals in the bus used to service the die are eliminated.