Block Reallocation Planning During Read-Ahead Processing
First Claim
Patent Images
1. A method comprising:
- pre-fetching a plurality of data blocks from a mass storage device;
determining whether reallocation would improve access to the plurality of data blocks; and
if access would be improved, writing the plurality of data blocks to different locations of the mass storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
A data storage system pre-fetches data blocks from a mass storage device, then determines whether reallocation of the pre-fetched blocks would improve access to them. If access would be improved, the pre-fetched blocks are written to different areas of the mass storage device. Several different implementations of such data storage systems are described.
-
Citations
23 Claims
-
1. A method comprising:
-
pre-fetching a plurality of data blocks from a mass storage device; determining whether reallocation would improve access to the plurality of data blocks; and if access would be improved, writing the plurality of data blocks to different locations of the mass storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a communication interface to receive requests from a client; a processor to interpret the requests; filesystem logic to locate data on a mass storage device, wherein the data is identified by the requests; prediction logic to identify additional data on the mass storage device that may soon be requested; and reallocation logic to determine whether defragmenting the additional data is likely to improve access to the additional data. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer-readable medium containing data and instructions to cause a programmable processor to perform operations comprising:
-
maintaining a filesystem on a mass storage subsystem; predicting a plurality of data blocks of the mass storage subsystem that are not required yet but are expected to be required soon; pre-fetching the plurality of data blocks into a cache memory; evaluating a physical location of the plurality of data blocks to decide whether access to the plurality of data blocks could be improved by moving the plurality of data blocks; and if access could be improved, moving the plurality of data blocks. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A method comprising:
-
performing a read of a sequential set of data blocks from a mass storage device; detecting at least two subsets of the sequential set of data blocks that are not contiguous with the sequential set and not contiguous with each other; and reallocating the at least two subsets to a contiguous area of the mass storage device. - View Dependent Claims (21, 22, 23)
-
Specification