Method for preloading data to improve data-retrieval times
First Claim
1. A method comprising:
- in a data storage device that is detachable from and operatively coupled to a host device, wherein the data storage device includes a controller, a cache memory attached to the controller via a first data path, and a storage memory attached to the controller via a second data path, wherein the first data path is different than the second data path, performing;
sending a first data segment of a data object to the host device;
after sending the first data segment to the host device, receiving an indication from the host device that the data object has a predictable data object type; and
after receiving the indication from the host device and prior to receiving a request from the host device for a second data segment;
identifying, in the data storage device, that the first data segment associated with the data object and the second data segment associated with the data object are sequential in a predictable sequence, wherein the second data segment is non-contiguous in relation to the first data segment; and
in response to identifying the second data segment as being sequential to the first data segment, autonomously preloading the second data segment from the storage memory into the cache memory to be available for access by the host device.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention discloses methods for improving data-retrieval times from a non-volatile storage device. A method for preloading data to improve data-retrieval times from a non-volatile storage device, the method including the steps of: providing a cache memory for preloading the data upon a host-system request to read the data; determining that a plurality of data segments that constitute a non-contiguous data object, stored in the storage device such that at least one data segment is non-contiguous to a preceding data segment in the data object, are in a predictable sequence; and preloading a non-contiguous next data segment in the predictable sequence into the cache memory after loading a current data segment into a host system from the cache memory, wherein the next data segment is preloaded prior to the host-system request to read the next data segment.
33 Citations
21 Claims
-
1. A method comprising:
in a data storage device that is detachable from and operatively coupled to a host device, wherein the data storage device includes a controller, a cache memory attached to the controller via a first data path, and a storage memory attached to the controller via a second data path, wherein the first data path is different than the second data path, performing; sending a first data segment of a data object to the host device; after sending the first data segment to the host device, receiving an indication from the host device that the data object has a predictable data object type; and after receiving the indication from the host device and prior to receiving a request from the host device for a second data segment; identifying, in the data storage device, that the first data segment associated with the data object and the second data segment associated with the data object are sequential in a predictable sequence, wherein the second data segment is non-contiguous in relation to the first data segment; and in response to identifying the second data segment as being sequential to the first data segment, autonomously preloading the second data segment from the storage memory into the cache memory to be available for access by the host device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A storage device that is detachable from a host device, the storage device comprising:
-
a storage area comprising a non-volatile memory; a cache memory; and a controller coupled to the cache memory via a first data path and coupled to the non-volatile memory via a second data path, wherein the first data path is different than the second data path, wherein while the storage device is operatively coupled to the host device, the controller is configured to; send a first data segment of a data object to the host device; after sending the first data segment to the host device, receive an indication from the host device that the data object has a predictable data object type; and after receiving the indication from the host device and prior to receiving a request from the host device for a second data segment; identify, in the storage device, that the first data segment associated with the data object and the second data segment associated with the data object are sequential in a predictable sequence, wherein the second data segment is non-contiguous in relation to the first data segment; and in response to identifying the second data segment as being sequential to the first data segment, autonomously preload the second data segment from the non-volatile memory into the cache memory to be available for access by the host device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
Specification