Reordering Buffer for Out-of-Order Data Sectors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems often return data sectors out of order due to processing delays, which can disrupt the expected sequence required by host devices.

Innovation Solution

A data storage device with a controller that receives out-of-order data sectors from a read channel, uses indicators to track and reorder them, storing sequential sectors in one list and non-sequential sectors in another, and updates lists based on sequential relationships to ensure data is returned in the correct order.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data is read using sequential read gates, then the reading process is simple and straightforward, but the data may be returned out of order due to processing delays

Engineering Contradiction:
Improvereading process simplicityVSAvoiddata order integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

A reordering buffer is introduced as an intermediary component between the read channel and the host interface. The buffer receives out-of-order data sectors from the read channel, stores them temporarily, and releases them to the host interface in the correct sequential order. This mediator resolves the contradiction by allowing simple sequential reading while ensuring reliable data order delivery.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by reading data sectors in advance using sequential read gates, then preparing them for ordered delivery through the reordering buffer. The buffer pre-processes the data by tracking received sectors and holding them until they can be delivered in the correct sequence, allowing the reading operation to remain simple while ensuring order integrity.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If data sectors are returned out of order due to processing delays, then processing flexibility is improved, but data integrity and system reliability deteriorate

Engineering Contradiction:
Improveprocessing flexibilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The reordering buffer acts as a mediator that accepts the flexibility of out-of-order processing from the read channel while guaranteeing data integrity to the host interface. It tracks the order of received sectors and rearranges them before delivery, thus maintaining reliability despite processing flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The data flow is segmented into two independent paths: one for receiving data (which can be flexible and out-of-order) and another for delivering data (which maintains strict order). The reordering buffer creates this segmentation, allowing processing flexibility in the receive path while ensuring data integrity in the delivery path.

Inventive Principle:
Principle #1Segmentation

3Reliability

If a reordering mechanism is implemented to ensure data order, then data integrity is improved, but device complexity increases

Engineering Contradiction:
Improvedata order integrityVSAvoidreordering mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The reordering buffer is a relatively simple intermediary component that uses basic tracking mechanisms (such as LBA counters or status registers) to manage data order. This simple mediator structure improves data integrity without significantly increasing overall device complexity, as it only adds minimal buffering and tracking functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The reordering buffer implements self-service by automatically tracking received sectors and managing its own reordering operations without external intervention. The buffer uses its own internal state to determine when sectors are ready for delivery, eliminating the need for complex external control mechanisms and reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9959204B1Tracking sequential ranges of non-ordered data
Publication Date: 2018.05.01 WESTERN DIGITAL TECHNOLOGIES INC
  • US9959204B1 patent drawing
  • US9959204B1 patent drawing
  • US9959204B1 patent drawing

AI summary

Embodiments described herein are directed to systems and methods for ordering read sector data that has been returned from a hard disk controller out of order. For example, in typical storage systems, the firmware of the storage system and/or the host interface typically process read sectors in logical block address order. However, some of the data that is received may be received out of order. As such, the disk block hardware within the hard disk controller may accept these out of order sectors from the read channel and subsequently provide information that describes the available sectors that are in order to the firmware and/or the host interface.