US2024036766A1PendingUtilityA1

Data stream identification and processing in data storage device

Assignee: MICRON TECHNOLOGY INCPriority: Feb 9, 2018Filed: Sep 15, 2023Published: Feb 1, 2024
Est. expiryFeb 9, 2038(~11.5 yrs left)· nominal 20-yr term from priority
Inventors:Alex Frolikov
G06F 3/0659G06F 3/0679G06F 3/0644G06F 3/0611
78
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A computer system having a host in communication with a data storage device is coupled to the host via a peripheral bus and a host interface. The data storage device has a controller, non-volatile storage media; and firmware containing instructions configures the operations of the controller. The host transmits a sequence of commands to the storage device to read data items from, or write data items to, the non-volatile storage media. The storage device examines a subset of the commands to determine whether or not data items identified in the subset are addressed sequentially and optimizes processing of at least a portion of the sequence of commands based on a result of a determination of whether or not data items identified in the subset are addressed sequentially.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer system, comprising:
 a host; and   a storage device having:
 a host interface in communication with the host; 
 a controller; 
 non-volatile storage media; and 
 firmware containing instructions executable by the controller; and 
   wherein the host transmits a sequence of commands to the storage device; and   wherein the storage device examines a subset of the commands to determine whether or not data items identified in the subset are addressed sequentially and optimizes processing of at least a portion of the sequence of commands based on a result of a determination of whether or not data items identified in the subset are addressed sequentially.   
     
     
         2 . The computer system of  claim 1 , wherein the subset of the commands, examined to make the determination of whether or not data items identified in the subset are addressed sequentially, is a predetermined number of commands. 
     
     
         3 . The computer system of  claim 2 , wherein the storage device optimizes processing of commands in the subset based on the result of the determination of whether or not data items identified in the subset are addressed sequentially. 
     
     
         4 . The computer system of  claim 2 , wherein the storage device optimizes processing of commands following the subset based on the result of the determination of whether or not data items identified in the subset are addressed sequentially. 
     
     
         5 . The computer system of  claim 4 , wherein the processing of the commands following the subset is optimized based on the result of the determination of whether or not data items identified in the subset are addressed sequentially without determining whether or not the commands following the subset address data items sequentially. 
     
     
         6 . The computer system of  claim 2 , wherein the storage device sorts the commands in the subset according to address to make the determination of whether or not data items identified in the subset are addressed sequentially. 
     
     
         7 . The computer system of  claim 2 , wherein the storage device continuously monitors commands of the predetermined number to determine whether or not data items identified in the commands of the predetermined number being monitored are addressed sequentially. 
     
     
         8 . The computer system of  claim 1 , further comprising:
 a communication bus coupled between the host and the storage device.   
     
     
         9 . The computer system of  claim 8 , wherein the communication bus is a peripheral component interconnect express bus. 
     
     
         10 . The computer system of  claim 9 , wherein the host communicates with the storage device in accordance with a non-volatile memory host controller interface specification. 
     
     
         11 . The computer system of  claim 10 , wherein the storage device is a solid state drive. 
     
     
         12 . The computer system of  claim 1 , wherein the host places commands directed to different data streams in different input/output submission queues. 
     
     
         13 . The computer system of  claim 12 , wherein the data streams corresponding to data access requests from different running instances of one or more applications. 
     
     
         14 . The computer system of  claim 12 , wherein the data streams corresponding to data access requests from different user accounts. 
     
     
         15 . The computer system of  claim 1 , wherein the sequence of commands read data items from the non-volatile storage media of the storage device. 
     
     
         16 . A method implemented in a computer system, the method comprising:
 receiving, in a storage device coupled to a host, a sequence of commands submitted from the host, the storage device having:
 a host interface in communication with the host; 
 a controller; 
 non-volatile storage media; and 
 firmware containing instructions executable by the controller; and 
   examining, by the controller executing the firmware, a subset of the commands to determine whether or not data items identified in the subset are addressed sequentially; and   optimizing, by the controller executing the firmware, processing of at least a portion of the sequence of commands based on a result of a determination of whether or not data items identified in the subset are addressed sequentially.   
     
     
         17 . The method of  claim 16 , wherein the commands in the sequence write data items into the non-volatile storage media of the storage device. 
     
     
         18 . The method of  claim 16 , wherein the commands in the sequence identify locations of data items to be stored or retrieved using logical addresses. 
     
     
         19 . The method of  claim 16 , wherein whether or not data items identified in the subset are addressed sequentially is determined based on whether or not logical addresses of data items in the subset are sequential. 
     
     
         20 . A non-transitory computer storage medium storing instructions which, when executed by a computer system, cause the computer system to perform a method, the method comprising:
 receiving, in a storage device coupled to a host, a sequence of commands submitted from the host, the storage device having:
 a host interface in communication with the host; 
 a controller; 
 non-volatile storage media; and 
 firmware containing instructions executable by the controller; and 
   examining, by the controller executing the firmware, a subset of the commands to determine whether or not data items identified in the subset are addressed sequentially; and   optimizing, by the controller executing the firmware, processing of at least a portion of the sequence of commands based on a result of a determination of whether or not data items identified in the subset are addressed sequentially.

Join the waitlist — get patent alerts

Track US2024036766A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.