US2005102467A1PendingUtilityA1

Method for determining seek times in a disk array storage device

Priority: Oct 6, 1997Filed: Dec 9, 2004Published: May 12, 2005
Est. expiryOct 6, 2017(expired)· nominal 20-yr term from priority
G06F 3/061G06F 3/0689G06F 11/3447G06F 11/3433G06F 3/0653G06F 11/3485G06F 11/3409G11B 17/22G06F 3/0634
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Optimizing performance of physical disk drives in a disk array storage device with a plurality of logical volumes is accomplished by accumulating statistics over an interval to select two logical volumes for an exchange. After testing to determine any adverse effect of making that change, the exchange occurs to more evenly distribute the loading on individual physical disk storage devices. One set of statistics, seek time, is obtained by combining estimated disk access information and an interpolated seek time obtained from a template that stores characteristics seek times among different pairs of segments that define a physical disk device independently of a logical volume configuration.

Claims

exact text as granted — not AI-modified
1 . A program for determining the seek time over a time interval for a physical disk drive configured to store data in a plurality of logical volumes, said program comprising: 
 A) a template procedure for dividing the physical disk into a plurality of fixed sized segments independently of the logical volume configuration on the physical disk drive wherein each segment has a plurality of contiguous tracks,    B) a seek time procedure for determining actual seek times for seek operations between the segments including, 
 i) a store for assigning a predetermined seek time for each seek operation between two segment boundaries,  
 ii) a calculator for calculating an intrasegment seek time based upon the predetermined seek times, and  
 iii) an array generator for placing the predetermined seek times in a two-dimensional array with the rows and columns defined by the segment boundaries.  
   C) an accumulation procedure for accumulating statistics for each access to each logical volume during the time interval,    D) a conversion procedure for converting the accumulated statistics into an estimated number of seeks between each pair of logical volumes,    E) a seek time generator for defining a seek time for each logical volume pair based upon said actual segment seek times, and    F) a total seek time generator for generating a total seek time as the sum of the products, for each logical volume pair, of the actual seek time for and the estimated number of seeks between each logical volume in the logical volume pair over the time interval.    
   
   
       2 . A program as recited in  claim 1  wherein said accumulation procedure segregates each access to a logical volume into one of predetermined classes of accesses and weights the numbers of accesses in each predetermined class.  
   
   
       3 . A program as recited in  claim 1  wherein said accumulation procedure segregates each access to a logical volume into one of random read, write and sequential prefetch read classes and with weights accesses in each class by 1.0, 0.5 and 0.25, respectively.  
   
   
       4 . A program as recited in  claim 3  wherein A i  and A j  represent the weighted access to logical volumes i and j, and A represents the weighted sum of all the accesses to the physical disk drive and wherein said conversion procedure generates an estimated number of disk accesses for the logical volume pair by:  
     
       
         
           
             
               Nr 
               ⁢ 
               
                   
               
               ⁢ 
               seeks 
               ⁢ 
               
                   
               
               ⁢ 
               
                 ( 
                 
                   i 
                   , 
                   j 
                 
                 ) 
               
             
             = 
             
               
                 
                   A 
                   i 
                 
                 ⁢ 
                 
                   A 
                   j 
                 
               
               A 
             
           
         
       
     
   
   
       5 . A program as recited in  claim 4  wherein said seek time procedure determines the seek time between a center location of each of the logical volumes in the logical volume pair.  
   
   
       6 . A program as recited in  claim 1  additionally comprising a procedure for determining an intravolume seek time within a logical volume.  
   
   
       7 . A program as recited in  claim 6  wherein said intravolume seek time procedure for a logical volume includes a process for defining the boundaries of the logical volume relative to the segment boundaries and a process for determining the seek time between the logical volume boundaries.  
   
   
       8 . A program as recited in  claim 7  wherein said process for defining intravolume seek time includes interpolating the seek times determined for seek operations between the segments based upon the logical volume boundary locations.  
   
   
       9 . A program as recited in  claim 6  wherein said process for defining seek time includes linearly interpolating the seek times determined for seek operations between the segments based upon the logical volume boundary locations.  
   
   
       10 . A program as recited in  claim 4  wherein each of said center locations is given as an offset from a segment boundary according to:  
         p=x−└x┐   and    q=┌y┐−y    
     where x and y represent center line locations of logical volumes, └x┐ and ┌y┐ represent “floor of x” and “ceiling of y” functions for the values of x and y based upon the boundaries of the segments and p and q represent the displacements of the center line addresses for each logical volume relative to a segment boundary; and said seek time generation procedure generates a seek time according to:  
     
       
         
           
             
               
                 
                   
                     t 
                     
                       i 
                       , 
                       j 
                     
                   
                   = 
                     
                   ⁢ 
                   
                     
                       pq 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       time 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           
                             
                               ⌊ 
                               x 
                               ⌋ 
                             
                             + 
                             1 
                           
                           , 
                           
                             
                               ⌈ 
                               y 
                               ⌉ 
                             
                             - 
                             1 
                           
                         
                         ) 
                       
                     
                     + 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       
                         p 
                         ⁡ 
                         
                           ( 
                           
                             1 
                             - 
                             q 
                           
                           ) 
                         
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       time 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           
                             
                               ⌊ 
                               x 
                               ⌋ 
                             
                             + 
                             1 
                           
                           , 
                           
                             ⌈ 
                             y 
                             ⌉ 
                           
                         
                         ) 
                       
                     
                     + 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       
                         ( 
                         
                           1 
                           - 
                           p 
                         
                         ) 
                       
                       ⁢ 
                       q 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       time 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           
                             ⌊ 
                             x 
                             ⌋ 
                           
                           , 
                           
                             
                               ⌈ 
                               y 
                               ⌉ 
                             
                             - 
                             1 
                           
                         
                         ) 
                       
                     
                     + 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       ( 
                       
                         1 
                         - 
                         p 
                       
                       ) 
                     
                     ⁢ 
                     
                       ( 
                       
                         1 
                         - 
                         q 
                       
                       ) 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     time 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           ⌊ 
                           x 
                           ⌋ 
                         
                         , 
                         
                           ⌈ 
                           y 
                           ⌉ 
                         
                       
                       ) 
                     
                   
                 
               
             
           
         
       
     
     where t ij  represents the seek time for a specific pair of logical volumes and time is the seek interval for the corresponding relationship.  
   
   
       11 . Apparatus for determining the seek time over a time interval for a physical disk drive configured to store data in a plurality of logical volumes, said apparatus comprising: 
 A) dividing means for dividing the physical disk into a plurality of fixed sized segments independently of the logical volume configuration on the physical disk drive wherein each segment has a plurality of contiguous tracks,    B) determination means for determining actual seek times for seek operations between the segments including: 
 i) means for assigning a predetermined seek time for each seek operation between two segment boundaries,  
 ii) means for calculating an intrasegment seek time based upon the predetermined seek times, and  
 iii) means for placing the predetermined seek times in a two-dimensional array with the rows and columns defined by the segment boundaries,  
   C) accumulating means for accumulating statistics for each access to each logical volume during the time interval,    D) conversion means for converting the accumulated statistics into an estimated number of seeks between each pair of logical volumes,    E) seek time definition means for defining a seek time for each logical volume pair based upon said actual segment seek times, and    F) total seek time generation means for generating a total seek time as the sum of the products, for each logical volume pair, of the actual seek time for and the estimated number of seeks between each logical volume in the logical volume pair over the time interval.    
   
   
       12 . Apparatus as recited in  claim 11  wherein said accumulation means includes means for segregating each access to a logical volume into one of predetermined classes of accesses and means for weighting the numbers of accesses in each predetermined class.  
   
   
       13 . Apparatus as recited in  claim 12  wherein said segregation means segregates each access into one of random read, write and sequential prefetch read classes said weightings means assigns weights of 1.0, 0.5 and 0.25, to those classes respectively.  
   
   
       14 . Apparatus as recited in  claim 13  wherein A i  and A j  represent the weighted access to logical volumes i and j, and A represents the weighted sum of all the accesses to the physical disk drive and wherein said seek time determination means produces the estimated number of disk accesses for the logical volume pair according to:  
     
       
         
           
             
               Nr 
               ⁢ 
               
                   
               
               ⁢ 
               seeks 
               ⁢ 
               
                   
               
               ⁢ 
               
                 ( 
                 
                   i 
                   , 
                   j 
                 
                 ) 
               
             
             = 
             
               
                 
                   A 
                   i 
                 
                 ⁢ 
                 
                   A 
                   j 
                 
               
               A 
             
           
         
       
     
   
   
       15 . Apparatus as recited in  claim 11  wherein said determination means includes means for determining the seek time between a center location of each of the logical volumes in the logical volume pair.  
   
   
       16 . Apparatus as recited in  claim 11  additionally comprising means for determining an intravolume seek time within a logical volume.  
   
   
       17 . Apparatus as recited in  claim 16  wherein said determination means for determining intravolume seek time for a logical volume includes means for defining the boundaries of the logical volume relative to the segment boundaries and means for determining the seek time between the logical volume boundaries.  
   
   
       18 . Apparatus as recited in  claim 17  wherein said means for defining intravolume seek time includes means for interpolating the seek times determined for seek operations between the segments based upon the logical volume boundary locations.  
   
   
       19 . Apparatus as recited in  claim 17  wherein said means for defining seek time includes means for linearly interpolating the seek times determined for seek operations between the segments based upon the logical volume boundary locations.  
   
   
       20 . Apparatus as recited in  claim 15  wherein each of said center locations is given as an offset from a segment boundary according to:  
         p=x−└x┘   and    q=┌y┐−y    
     where x and y represent center line locations of logical volumes, └x┘ and ┌y┐ represent “floor of x” and “ceiling of y” functions for the values of x and y based upon the boundaries of the segments and p and q represent the displacements of the center line addresses for each logical volume relative to a segment boundary and wherein said means for defining a seek time for each logical volume includes means for generating a seek time according to:  
     
       
         
           
             
               
                 
                   
                     t 
                     
                       i 
                       , 
                       j 
                     
                   
                   = 
                     
                   ⁢ 
                   
                     
                       pq 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       time 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           
                             
                               ⌊ 
                               x 
                               ⌋ 
                             
                             + 
                             1 
                           
                           , 
                           
                             
                               ⌈ 
                               y 
                               ⌉ 
                             
                             - 
                             1 
                           
                         
                         ) 
                       
                     
                     + 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       
                         p 
                         ⁡ 
                         
                           ( 
                           
                             1 
                             - 
                             q 
                           
                           ) 
                         
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       time 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           
                             
                               ⌊ 
                               x 
                               ⌋ 
                             
                             + 
                             1 
                           
                           , 
                           
                             ⌈ 
                             y 
                             ⌉ 
                           
                         
                         ) 
                       
                     
                     + 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       
                         ( 
                         
                           1 
                           - 
                           p 
                         
                         ) 
                       
                       ⁢ 
                       q 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       time 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           
                             ⌊ 
                             x 
                             ⌋ 
                           
                           , 
                           
                             
                               ⌈ 
                               y 
                               ⌉ 
                             
                             - 
                             1 
                           
                         
                         ) 
                       
                     
                     + 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       ( 
                       
                         1 
                         - 
                         p 
                       
                       ) 
                     
                     ⁢ 
                     
                       ( 
                       
                         1 
                         - 
                         q 
                       
                       ) 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     time 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           ⌊ 
                           x 
                           ⌋ 
                         
                         , 
                         
                           ⌈ 
                           y 
                           ⌉ 
                         
                       
                       ) 
                     
                   
                 
               
             
           
         
       
     
       
     where t ij  represents the seek time for a specific pair of logical volumes and time is the seek interval for the corresponding relationship.

Join the waitlist — get patent alerts

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

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