Method and apparatus for adaptive circular predictive buffer management
First Claim
1. A method for adaptively operating a buffer memory by adjusting management of said buffer memory to optimize buffer memory hits in a data storage system having a primary storage means for storing a sequence of data blocks coupled to said buffer memory through a controller means for reading and storing in said buffer memory each of one or more said data blocks requested by a data access request (DAR) from a processor input/output (I/O) means wherein said DAR is the latest of an uninterruptedly consecutive DAR sequence having an acccss pattern, said controller means having means for prefetching a consecutive plurality of said data blocks stored in said primary storage means subsequently to said one or more requested data blocks and having means for storing said consecutive data block plurality in said buffer memory in either a block overwrite mode (BOM) or a circular overwrite mode (COM), said method comprising the steps of:
- (a) detecting either a sequential said access pattern (SAP) or a nonsequential said access pattern (NAP) in said DAR sequence;
(b) switching said buffer memory storing means to said circular overwrite mode (COM) responsive to a detection of said SAP; and
(c) switching said buffer memory storing means to said block overwrite mode (BOM) responsive to a detection of said NAP.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for adaptively managing predictive buffer memory prefetching operations to optimize buffer memory hits in a data storage system. The arriving data access request (DAR) stream is monitored for a particular data access pattern and, when a sequential access pattern (SAP) is detected, the buffer memory prefetching storage rule is switched to a circular overwrite mode (COM) to achieve the best sequential access performance. When the sequential access pattern disappears, a nonsequential access pattern (NAP) is detected and the buffer memory prefetching storage rule is responsively switched to a non-sequential or block overwrite mode (BOM) to maximize data block "re-use" hits in the data buffer. Sequential access pattern detection is achieved using a threshold that may be adapted to the size of incoming DARs. The buffer memory may be organized in many smaller segments, each operated independently according to the system of this invention, to provide simultaneous optimal predictive buffering for multiple processing threads.
-
Citations
19 Claims
-
1. A method for adaptively operating a buffer memory by adjusting management of said buffer memory to optimize buffer memory hits in a data storage system having a primary storage means for storing a sequence of data blocks coupled to said buffer memory through a controller means for reading and storing in said buffer memory each of one or more said data blocks requested by a data access request (DAR) from a processor input/output (I/O) means wherein said DAR is the latest of an uninterruptedly consecutive DAR sequence having an acccss pattern, said controller means having means for prefetching a consecutive plurality of said data blocks stored in said primary storage means subsequently to said one or more requested data blocks and having means for storing said consecutive data block plurality in said buffer memory in either a block overwrite mode (BOM) or a circular overwrite mode (COM), said method comprising the steps of:
-
(a) detecting either a sequential said access pattern (SAP) or a nonsequential said access pattern (NAP) in said DAR sequence; (b) switching said buffer memory storing means to said circular overwrite mode (COM) responsive to a detection of said SAP; and (c) switching said buffer memory storing means to said block overwrite mode (BOM) responsive to a detection of said NAP. - View Dependent Claims (2, 3, 4)
-
-
5. A buffer memory controller coupled to a buffer memory in a data storage system having a primary storage means for storing a sequence of data blocks coupled to said buffer memory through said buffer memory controller and having means for accepting a plurality of data access requests (DARs) from a processor I/O controller, wherein said each DAR is the latest of an uninterruptedly consecutive DAR sequence having an access pattern, said buffer memory controller comprising:
-
fetching means coupled to said primary storage means and said buffer memory for reading and storing in said buffer memory each of one or more said data blocks requested by said each DAR; prefetching means in said fetching means for reading and storing in said buffer memory a consecutive plurality of said data blocks stored in said primary storage means subsequently to said one or more data blocks requested by said each DAR, wherein said prefetching means stores said consecutive data block plurality in said buffer memory in either a block overwrite mode (BOM) or a circular overwrite mode (COM); detecting means coupled to said fetching means for detecting either a sequential access pattern (SAP) or a non-sequential access pattern (NAP) in each said uninterruptedly consecutive DAR sequence; and switching means coupled to said prefetching means for switching said prefetching means storage mode to said COM responsive to said SAP detection and for switching said prefetching storing means to said BOM responsive to said NAP detection. - View Dependent Claims (6)
-
-
7. The buffer memory controller of claim 7 wherein said detecting means comprises:
-
selecting means for selecting a predetermined threshold for consecutive DARs; counting means for counting the number of consecutive said DARs received in said each uninterruptedly consecutive DAR sequence; and comparing means coupled to said selecting means and said counting means for producing said SAP detection when said consecutive DAR number exceeds said predetermined threshold and for producing said NAP detection otherwise. - View Dependent Claims (8, 9)
-
-
10. A direct access storage device (DASD) having a rotating magnetic medium for storing a sequence of data blocks coupled to a buffer memory through a buffer memory controller comprising:
-
input means for accepting a plurality of DARs from a processor I/O controller, wherein each said DAR is the latest of an uninterruptedly consecutive DAR sequence having an access pattern; fetching means coupled to said rotating magnetic medium and said buffer memory for reading and storing in said buffer memory each of one or more said data blocks requested by said each DAR; prefetching means in said fetching means for reading and storing in said buffer memory a consecutive plurality of data blocks stored in said rotating magnetic medium subsequently to said one or more data blocks requested by said each DAR, wherein said prefetching means stores said consecutive data block plurality in said buffer memory in either a BOM or a COM; detecting means coupled to said fetching means for detecting either a SAP or a NAP in said each uninterruptedly consecutive DAR sequence; and switching means coupled to said prefetching means for switching said prefetching storing means to said COM responsive to said SAP detection and for switching said prefetching storing means to said BOM responsive to said NAP detection. - View Dependent Claims (11, 12, 13, 14)
-
-
15. An optical data storage system having an optical storage medium for storing a sequence of data blocks coupled to a buffer memory through a buffer memory controller comprising:
-
input means for accepting a plurality of DARs from a processor I/O controller, wherein each said DAR is the latest of an uninterruptedly consecutive DAR sequence having an access pattern; fetching means coupled to said optical storage medium and said buffer memory for reading and storing in said buffer memory each of said one or more said data blocks requested by said each DAR; prefetching means in said fetching means for reading and storing in said buffer memory a consecutive plurality of data blocks stored in said optical storage medium subsequently to said one or more data blocks requested by said each DAR, wherein said prefetching means stores said consecutive data block plurality in said buffer memory in either a BOM or a COM; detecting means coupled to said fetching means for detecting either a SAP or a NAP in said each uninterruptedly consecutive DAR sequence; and switching means coupled to said prefetching means for switching said prefetching storing means to said COM responsive to said SAP detection and for switching said prefetching storing means to said BOM responsive to said NAP detection. - View Dependent Claims (16, 17, 18, 19)
-
Specification