US2008016273A1PendingUtilityA1

System And Method To Reduce Disk Access Time During Predictable Loading Sequences

Individually held — no corporate assignee on recordPriority: Mar 11, 2004Filed: Jun 11, 2007Published: Jan 17, 2008
Est. expiryMar 11, 2024(expired)· nominal 20-yr term from priority
G06F 12/0862G06F 12/0866
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method, software, and system for loading data from disk include comparing a current sequence of disk I/O requests to data indicative of a previous disk I/O request sequence. Responsive to detecting a match between the current disk I/O sequence and the previous disk I/O sequence, a copy of data blocks accessed during the I/O sequence is stored in a contiguous portion of the disk. Responsive to a subsequent request to data in the disk sequence, the request is mapped to and serviced from the sequential portion of the disk. In one embodiment, the disk sequence represents a boot sequence of the system.

Claims

exact text as granted — not AI-modified
1 . A method of loading data from disk in a data processing system, comprising: 
 comparing a current sequence of disk requests to data indicative of a previous sequence of disk requests;    responsive to detecting a match between the current sequence and the previous sequence, storing a copy of data blocks accessed during the current sequence in a contiguous portion of the disk; and    responsive to a subsequent request for data in the disk sequence, mapping the request to the sequential portion of the disk and servicing the request from data in the sequential portion.    
   
   
       2 . The method of  claim 1 , further comprising recording a sequence of disk accesses, wherein recording the sequence includes recording the disk address of each block accessed and the length of each block.  
   
   
       3 . The method of  claim 1 , wherein storing a copy of data blocks accessed during the I/O sequence comprises storing the data blocks sequentially in the order that the data blocks were accessed chronologically.  
   
   
       4 . The method of  claim 3 , further comprising, responsive to retrieving data from the contiguous portion, prefetching additional data from the contiguous portion of the disk and caching the additional data in a buffer.  
   
   
       5 . The method of  claim 4 , further comprising, responsive to an I/O request, determining whether the data requested resides in the buffer and, if so, retrieving the data from the buffering without accessing the hard disk.  
   
   
       6 . The method of  claim 1 , wherein the sequence of disk requests includes the sequence of disk requests following a power-on event.  
   
   
       7 . The method of  claim 1 , wherein the contiguous portion of the disk to which the data is copied is on a different partition of the disk than a disk partition on which the original data is stored.  
   
   
       8 . A computer program product, comprising a sequence of computer executable instructions stored on a computer medium, for booting a data processing system, the program product comprising: 
 program code means for recording a sequence of accesses to disk storage during a system boot sequence;    program code means for copying data blocks accessed during the boot sequence into a contiguous block of the fixed disk; and    program code means for routing, during a subsequent boot sequence, the sequence of disk accesses to a sequence of accesses to data in the contiguous block wherein the data retrieved from disk during the subsequent boot sequence is retrieved from the contiguous block.    
   
   
       9 . The computer program product of  claim 8 , further comprising recording a sequence of disk accesses, wherein recording the sequence includes recording the disk address of each block accessed and the length of each block.  
   
   
       10 . The computer program product of  claim 8 , wherein the program code means for copying data blocks accessed during the boot sequence includes copying data blocks accessed during the boot sequence to the contiguous portion in the order that the blocks were accessed chronologically.  
   
   
       11 . The computer program product of  claim 8 , wherein the contiguous portion of the disk to which the data is copied is on a different partition of the disk than the original data.  
   
   
       12 . The computer program product of  claim 8 , further comprising code means for prefetching data during the subsequent boot sequence and storing the prefetched data into a buffer wherein at least some of the disk requests of the subsequent boot sequence are serviced by the buffer without retrieving data from the disk.  
   
   
       13 . The computer program product of  claim 8 , further comprising code means for updating, in response to a modification of data in the boot sequence, of updating the data in both the original data block and the copied data block.  
   
   
       14 . A data processing system, comprising: 
 a processor coupled to a system memory;    a disk controller coupled to the processor and memory, and configured to control accesses to disk storage of the system, wherein the disk controller is configured to: 
 record data indicative of a sequence of disk sectors accessed during operation of the system;  
 copy the sectors accessed during the sequence into a contiguous block of the disk responsive to detecting the same disk access sequence occurring; and  
 responsive to a subsequent access to a disk sector in the sequence of disk sectors, servicing the request from the contiguous block.  
   
   
   
       15 . The system of  claim 14 , wherein the sequence of disk accesses represents the sequence of disk accesses that occur following power on.  
   
   
       16 . The system of  claim 14 , further comprising recording a sequence of disk accesses, wherein recording the sequence includes recording the disk address of each block accessed and the length of each block.  
   
   
       17 . The system of  claim 14 , wherein the program code means for copying data blocks accessed during the boot sequence includes copying data blocks accessed during the boot sequence to the contiguous portion in the order that the blocks were accessed chronologically.  
   
   
       18 . The system of  claim 14 , wherein the contiguous portion of the disk to which the data is copied is on a different partition of the disk than the original data.  
   
   
       19 . The system of  claim 14 , further comprising code means for prefetching data during the subsequent boot sequence and storing the prefetched data into a buffer wherein at least some of the disk requests of the subsequent boot sequence are serviced by the buffer without retrieving data from the disk.  
   
   
       20 . The system of  claim 14 , further comprising code means for updating, in response to a modification of data in the boot sequence, of updating the data in both the original data block and the copied data block.

Join the waitlist — get patent alerts

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

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