Backward Sequential Read Pre-Loading in Data Storage Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices using semiconductor memory face limitations in providing high data read speed when files are retrieved in reverse order, as they cannot perform pre-read operations effectively.

Innovation Solution

A data storage device with a nonvolatile memory configured to store L2P map data and user data, and a controller that determines backward sequential read commands, increases a read count, sets pre-read start addresses, and loads L2P maps and user data in advance when the count meets a reference value, enhancing read performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the data storage device receives LBAs in reverse order from the host device, then the user can retrieve files in reverse order, but the data read speed decreases because pre-read cannot be performed

Engineering Contradiction:
Improvereverse order file retrieval capabilityVSAvoiddata read speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The controller performs preliminary actions by detecting backward sequential read patterns and pre-loading L2P map data and user data into the buffer memory before the host actually requests them. This allows the data to be ready when needed, maintaining high read speed even when accessing files in reverse order

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller uses feedback from analyzing sequential read command patterns to determine when backward sequential reads are occurring. Based on this feedback, it dynamically adjusts by pre-loading data into buffer memory, creating a closed-loop system that adapts to access patterns

Inventive Principle:
Principle #23Feedback

2Speed

If the controller performs pre-read operations for backward sequential reads, then the data read speed increases, but the device complexity increases due to additional control logic and buffer management

Engineering Contradiction:
Improvedata read speedVSAvoidcontroller logic complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The controller serves itself by automatically detecting backward sequential read patterns and managing its own buffer memory pre-loading operations. The system uses its existing resources (command analysis capability, buffer memory) to improve performance without requiring external assistance or significantly increasing complexity

Inventive Principle:
Principle #25Self-service

3Productivity

If the controller loads L2P map and user data in advance into buffer memory, then the read performance improves, but the energy consumption increases due to additional memory operations

Engineering Contradiction:
Improveread performanceVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The controller applies partial pre-loading by only pre-loading data when backward sequential read patterns are detected, rather than continuously pre-loading. This selective approach provides performance improvement only when needed, reducing unnecessary energy consumption during random or forward sequential access patterns

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11429530B2Data storage device and operating method thereof
Publication Date: 2022.08.30 MIMIRIP LLC
  • US11429530B2 patent drawing
  • US11429530B2 patent drawing
  • US11429530B2 patent drawing

AI summary

A data storage device may include: a nonvolatile memory configured to store L2P (Logical to Physical) map data and user data; and a controller configured to determine whether read commands which are sequentially transferred from a host device correspond to a backward sequential read, increase a backward sequential read count when the read commands are backward sequential read, set a pre-read start logical block address (LBA) and a length according to a preset condition, when the backward sequential read count is equal to or greater than a reference value, and load an L2P map of the corresponding LBA and user data corresponding to the L2P map from the nonvolatile memory in advance.