Storage Device Read Data Sorting via Buffer Tagging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage devices face issues with outputting read data in a non-ordering sequence due to differences in data channel speeds, leading to potential system failures in hosts that only support ordering data channels, as they may not be able to correctly process non-ordering read data without additional firmware.
Innovation Solution
A read data sorting method and storage device that utilize a sorting buffer to manage continuous logic block addresses by initializing an address counter and setting tags to ensure data is transmitted in the correct order, using a processor to store logic block addresses in the sorting buffer and transmitting data to the host only when the tag is valid and the address matches the counter, thereby maintaining the order of logic block addresses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If read data is transmitted directly from storage media to host without sorting, then data transmission speed is improved, but data ordering is violated causing system failures in hosts with ordering data channels
Solution Approach 1:
The patent divides the data transmission process into separate channels: a first data buffer for storing read data and a second data buffer for transmitting data to the host. The sorting buffer is segmented into multiple entry points, each corresponding to a specific logic block address range. This segmentation allows data to be read from storage media in any order while ensuring it is transmitted to the host in the correct sequential order, resolving the contradiction between transmission speed and ordering reliability.
Solution Approach 2:
The sorting buffer acts as an intermediary component between the first data buffer (receiving read data) and the second data buffer (transmitting to host). It receives read data with associated logic block addresses, sorts them according to address sequence, and outputs them in the correct order to the host. This intermediary mechanism maintains data ordering reliability without requiring the storage media or host to enforce ordering constraints, allowing high-speed reads while ensuring ordered delivery.
2Reliability
If a sorting buffer is introduced to ensure data ordering, then data ordering reliability is improved, but device complexity increases
Solution Approach 1:
The sorting buffer is pre-configured with multiple entry points corresponding to different logic block address ranges before data transmission begins. Each entry point is prepared with its associated logic block address information, allowing the buffer to immediately sort and route data in the correct order as it arrives from the first data buffer. This preliminary setup eliminates the need for complex real-time sorting algorithms, reducing operational complexity while maintaining ordering reliability.
Solution Approach 2:
The sorting buffer manages data ordering by changing the parameter of data organization from unstructured read data to structured sorted data. It transforms the data based on logic block addresses, reorganizing the data flow from the first data buffer into the correct sequential order for the host. This parameter transformation approach simplifies the buffer management complexity by focusing on address-based organization rather than complex sorting operations.
3Reliability
If read commands are processed sequentially, then data ordering is maintained, but productivity decreases due to potential wait times
Solution Approach 1:
The sorting buffer enables continuous data retrieval from the storage media while maintaining ordering reliability. Multiple read commands can be processed in parallel without disrupting the ordered output to the host. The buffer continuously receives data from the first data buffer and continuously outputs sorted data to the second data buffer, eliminating idle wait times and maintaining high productivity while ensuring data ordering is preserved throughout the entire read operation.
Data Source
AI summary
A read data sorting method and a storage device are provided. The read data sorting method includes: receiving a read command to read multiple logic block addresses (LBAs), wherein the LBAs are continuous; initializing an address counter as an initial logic block address of the LBAs; storing a first logic block address in a sorting buffer and set a tag corresponding to the first logic block address as valid when a first data corresponding to the first logic block address of the LBAs is transmitted to the data buffer; and transmitting a second data corresponding to a second logic block address to a host and accumulating the address counter when the tag corresponding to the second logic block address of the LBAs in the sorting buffer is valid and the second logic block address equals to the address counter.


