EP0438556A4 - Variable capacity cache memory - Google Patents
Variable capacity cache memoryInfo
- Publication number
- EP0438556A4 EP0438556A4 EP19900911237 EP90911237A EP0438556A4 EP 0438556 A4 EP0438556 A4 EP 0438556A4 EP 19900911237 EP19900911237 EP 19900911237 EP 90911237 A EP90911237 A EP 90911237A EP 0438556 A4 EP0438556 A4 EP 0438556A4
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- capacity
- cache memory
- cache
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 230000015654 memory Effects 0.000 title claims abstract description 129
- 238000000034 method Methods 0.000 claims description 47
- 238000013500 data storage Methods 0.000 claims description 36
- 238000007726 management method Methods 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 9
- 239000003550 marker Substances 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000005055 memory storage Effects 0.000 claims 7
- 230000003139 buffering effect Effects 0.000 claims 3
- 230000001186 cumulative effect Effects 0.000 claims 2
- 239000007787 solid Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 101150110532 CFDP1 gene Proteins 0.000 description 1
- 102100036345 Calicin Human genes 0.000 description 1
- 241000050051 Chelone glabra Species 0.000 description 1
- 101000714682 Homo sapiens Calicin Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012353 t test Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/311—In host system
Definitions
- This invention relates in general to methods for maximizing the efficiency of bulk data transfers from computer operating systems to peripheral devices, i.e., write operations, which store data serially such as tape devices, and particularly to such methods based on caching the write operations so they can be performed concurrently with other system operations, such as application program execution.
- tape device and “tape devices” shall refer to and mean data storage devices which store and access data serially, whether in “streaming” fashion or “start/stop” fashion, on or in a storage media of finite known length, such as magnetic tape devices
- the terms "concurrent” and “concurrently” in the context of describing the timing of events controlled by a computer operating system shall also mean the overlapping or time multiplexing of such events, such as multiple programs being executed by the operating system apparently simultaneously.
- the term "write head” shall refer to and mean the instrument by which data is actually recorded upon a tape or tape-like storage medium. For example, magnetic tapes can be recorded with a magnetic write head and optical disks configured as tape devices can be recorded with an optical write head.
- This queue at some point causes the operating system or application program to stop and wait for the completion of one or more of the queued operations. This creates a sort of traffic jam for the data and an irregular write request rate.
- the tape starts and stops over and over.
- This start and stop process is an agonizingly slow operation since the tape has to decelerate, rewind to the place where it last wrote data before decelerating (since it cannot write data while decelerating or accelerating) , and then accelerate again in order to write data at maximum speed.
- This start and stop process is expensive in terms of overall or elapsed time and therefore a costly process.
- tape devices In order to work at their peak throughout capacity, tape devices need a controlled flow, i.e., a steady flow of data and I/O requests to the tape sub ⁇ system.
- the tape devices In order to speed up the whole operation, the tape devices must be able to write data concurrently with the reading of disk data and the processing. For concurrency to occur, tl ⁇ e data to be written must be put into a high-speed memory cache. It has been known in the prior art to use cache memories with output devices, such as tape drives, in both conventional memory management systems as well as in virtual memory systems.
- an end-of-media indicator typically a reflector on the tape itself used as an end-of-tape marker
- a method and an apparatus are provided for dynamically changing the storage capacity, or size, of a cache memory used in the transfer of data to an output device which has a predetermined maximum storage capacity.
- the apparatus utilizes a maximum storage parameter which has a value a predetermined amount less the actual maximum storage capacity of the output device.
- the apparatus determines the presently available storage capacity of the output device. This corresponds to the maximum storage capacity parameter reduced by the amount of information previously stored on or written to the device.
- the current capacity of the cache memory is compared to the available storage capacity of the output device. If the current capacity of the cache memory exceeds the available storage capacity of the output device, as described above, the contents of the cache memory are transferred to the output device.
- the apparatus increases the capacity of the cache memory by an amount corresponding to the next received block or file of information to be written to the output device. That information is then stored in the cache memory and the process is repeated.
- the cache memory could be implemented as a contiguous group of memory locations which are located either in or coupled to a central processor or which can be separately located in a displaced cabinet. Alternately, the cache memory can be implemented as a group of pages in a virtual memory management system. In this implementation, the size of the cache memory is limited only by the available pages which can be acquired via the virtual memory management system. Hence, in accordance with the virtual memory implementation, the practical size of the cache memory is limited only by the amount of space still available for storage on the output device.
- the output device can be any form of bulk storage medium such as magnetic tape drive or optical storage device.
- the present method includes the steps of calculating the amount of output medium necessary to store the current contents of the cache memory. This value is added to the amount of the output medium which has previously been used. The sum can then be compared to the maximum storage parameter.
- the size of the cache memory can be increased by the size of the block or file of data which is to be next written into the cache memory. The comparison process is then repeated. In accordance with the present apparatus and method, the size of the cache memory can be increased to a maximum corresponding to the maximum output storage parameter before the contents of the cache memory are flushed or written to the output device.
- Figure 1 is a block diagram representation of a portion of prior art computer system
- Figure 2 is a block diagram representation of a portion of another prior art computer system
- Figure 3 is a schematic diagram illustrating portions of a magnetic tape
- Figure 4 is a block diagram representation of a computer system in accordance with the present invention
- Figure 5 is a block diagram representation of a computer system in accordance with the present invention with a second embodiment of the present invention
- Figure 6 is a block diagram representation of a computer system in accordance with the present invention with a third embodiment of the present invention.
- Figure 7 is an overall block diagram illustrating steps of a method in accordance with the present invention.
- an application program 2 when an application program 2 requires that data be stored on a tape device, it establishes the data to be written in a data buffer 4. It then initiates an I/O request by one or more special instructions 6A.
- the I/O request contains information concerning the type of operation being requested and a vector to the data buffer.
- the device driver 8 associated with the target tape device 10. The device driver communicates first-hand with the tape device to accomplish to write operation during which the device driver controls the flow of data between the data buffer 4 set up by the application program and the tape device.
- a tape I/O request a prior art caching system with a fixed length data cache is illustrated.
- the I/O request 6B initiated by the application program 2 is intercepted before it can pass to the device driver 8 and is placed in an I/O request queue 12.
- the data associated with the I/O request 6B is also moved to a data cache 14. From this point the I/O requests are sent to the device driver in an optimum regulated flow as determined by an algorithm.
- the size of the cache is limited to the amount of data that can be written past the end-of- media indicator.
- a fixed length cache can be implemented using "pages" of memory assigned by the system program.
- the present invention provides a variable size cache memory based on the amount of available space remaining on the storage unit, such as the tape drive 10.
- the steps of the present invention include: (a) monitoring by means of a first algorithm the physical position, within a tolerance, of the tape device's writing head relative to an end of the tape device's storage media; (b) monitoring by means of a second algorithm the length of the tape device's storage media that will be consumed when all of €he currently cached data is written to that media; and (c) whenever the length determined by the second algorithm plus the position of the tape device' writing head relative to a starting end of the media is greater than or equal to the total available writable length of the media, then stopping the caching of tape device I/O operations and flushing or writing the current contents of the cache memory to the tape device.
- a tape or tape-like storage medium 20 as illustrated has data being recorded upon it serially in a direction from left to right, i.e., from the end designated "START OF TAPE” to the opposite end which is designated "END OF TAPE,” by means of a writing head.
- the portion of the medium designated by "A” has already been consumed, i.e, data has actually been recorded upon it.
- This already- consumed portion extends from the start of the medium to the current physical position of the medium's writing head which is designated "HEAD.”
- the portion of the medium designated by “B” is a portion that has logically been consumed, i.e., it is a portion that will become actually-consumed when all of the data currently in the cache has been flushed from the cache to be written on the medium, i.e, recorded upon the medium.
- the portion designated by "C” is that portion of the medium not yet logically or actually consumed.
- the location of the border between the "B” and “C” portions is the logical position of the writing head as opposed to the physical position, the physical position being located at the border between the "A” and "B” portions.
- the physical and logical positions of the writing head can be determined by considering the following fixed and known factors: (a) the writable length of the medium, (b) the density at -which the data is written onto the medium, and (c) the size of any inter-record gaps.
- the units of measurement and data can vary without departing from the scope of this invention, for illustrative purposes only it will be assumed hereinafter that the units of length are inches and the units of data are bytes.
- the first algorithm determines at selected times the current physical position of the writing head in relation to the front of the tape by: (a) keeping a current total of all data units (bytes) already written to the medium, (b) dividing that total by the data density (bytes/inch) , (c) adding to the result of the division the total length (in inches) of all inter-record gaps associated with the already written data.
- the result is the physical position, within an acceptable tolerance, of the writing instrument from the front of the medium in terms of length units (inches) .
- the second algorithm determines at selected times the current logical position of the writing head in relation to the front of the tape by: (a) keeping a current total of all cached write data units (bytes) , i.e., data slated to be written to the medium, (b) dividing that total by the data density (bytes/inch) , (c) adding to the result of the division the total length (in inches) of all inter-record gaps which will be associated with said cached write data, and further adding to that total the physical position of the writing head.
- the result is the logical position, within an acceptable tolerance, of the writing instrument from the front of the medium in terms of length units (inches) .
- the length of the past-end-of-tape media determines the range of acceptable tolerances. It has been found that industry standards or such media provide more than enough excess writable media beyond the end-of-tape reflector to compensate for any differences in the-calculated from the real or actual positions. It has been found that these algorithms mathematically predict at any time both the physical and logical positions within 2% of actual for conventional tape devices.
- the caching system Whenever the caching system recognizes that the currently queued I/O requests will bring the tape device's writing instrument to within a selected proximity of the end of the storage media, the caching system discontinues the queuing of I/O requests until this condition is no longer true.
- the selected proximity is approximately 150 feet for tapes having a total length of 2400 feet.
- the size of the data cache can automatically increase to expand and encompass the entire available space on the medium to which information or data can be written. For example, if the medium is empty, the cache size could expand to almost the entire capacity of the medium.
- Another way of expressing the steps of the present method is as follows. The following factors are utilized in determining when to write the current cache contents to tape;
- inter-record-gap size (irg inches) .
- the size of cache is dynamically alterable and is no longer limited to the amount of data that can be written past the end-of-tape reflector. Instead, the cache is limited only by: 1) amount of data that can still be written to the tape and
- the present apparatus and method could be implemented in a variety of different ways without departing from the spirit and scope of the present invention.
- the method could be implemented using a stored program computer.
- a dynamic cache manager can be provided in the form of a program.
- the apparatus could be implemented as a hardwired system instead of a programmed system. It could be implemented with a dedicated cache management microprocessor with the management program stored in ROM.
- the apparatus and method of the present invention are usable with a wide variety of different types of computer systems.
- the dynamically adjustable cache memory of the present invention can be used in conjunction with a relatively standard memory management system.
- the apparatus and method of the present invention could be used very advantageously in a virtual memory management system.
- That portion of the virtual memory management syste which deals with input/output operations could communicate with a dynamic cache manager program.
- the cache management program could take in as inputs the length or total number of inches of tape on a reel, the density in bytes per inch at which data will be recorded as well as the inter-re ⁇ ord- gap size.
- the dynamic cache management program in a virtually memory system could use, to implement the variable size cache memory, one or more "pages" of memory taken off of th virtual memory system free page list.
- the number of memory pages taken from the free page list in this instance is dynamically controlled.
- the cache memory itself is implemented as a plurality of one or more pages from the virtual memory system.
- pages could be implemente on disk drives.
- a page of information recorded on disc drive is brought into computer memory as needed.
- the cache memory itself could be partly resident i main computer memory and partly resident on one or more d drives depending on the assignments made by the virtual memory management system.
- t cache memory can be made as large as necessary within the limits of the virtual memory management system.
- FIG. 4 illustrates an overall block diagram of a virtual memory type system 50 which incorporates a dynamically variable cache memory in accordance with the present invention.
- the system 50 includes a computer 52 which is being controlled in part by a control program wh includes a virtual memory management system kernel 54.
- T kernel 54 receives input/output requests from application programs 56 which are being executed.
- the kernel 54 communicates with a dynamic cache management program 58 which could be resident for executi purposes in the main memory of the computer 52.
- the dyna cache management program receives as parameters, informat pertaining to the length of the media magnetic tape, whic is available, the tape write density as well as the inter record gaps.
- the dyna cache management program 58 adjusts the size of a variabl length cache memory 60.
- the cach 60 is implemented utilizing one or more pages provided by the virtual memory management system, indicated generally a 62, then the size of the cache 60 can become arbitrarily large and far exceed the size of the main memory of the computer 52.
- the s.ize of the cache 60 can be increased when the next file or block of information is received to be written to the tape drive.
- the size of the cache 60 can thus be continuously increased so long as ther is space on the physical reel of tape.
- Figure 5 illustrates an alternate system 70 which embodies the present invention.
- the device driver 8a does not communicate directly with the tap unit 10a.
- the tape unit 10a includes a dynamic cache management program 72 in combination with a memory 74 of the fixed maximum size.
- the dynamic cache managemen program 72 could be executed by a microprocessor contained within the system 10a.
- the variable cache management program 72 can be used to store information into the cache memory 74 so long as the amount of information stored therein is less than or equal to the available space on the physical tape drive using the methods described previously.
- the contents of the cache memory 74 correspond to the available space on the magnetic tape on the drive 10b the contents of the memory 74 are flushed or written to the tap drive 10b.
- Input concerning the write density as well as the tota capacity or length of the tape available on the drive 10b can be provided via manually setable switches 76.
- FIG. 6 Yet another embodiment of the present invention is illustrated by the system 80 of Figure 6.
- a variable capacity cache memory unit 82 is provided which is coupled between the computer 52 and the tape drive 10.
- the cache memory unit can implemented as a unit which is separate from, although coupled to the tape drive 10.
- Figure 7 illustrates an overall block diagram of the method of the present invention. After each block of information, corresponding to some number of bytes, is written into the cache memory, a calculation is made in a step 90, as previously discussed, to determine the needed extent of the write memory based on the contents of the cache memory and the number of bytes previously written t the tape. The total available extent of write memory is retrieved in a step 92.
- the needed extent of write memory is compared to the total available extent of write memory in a step 94. If needed extent of write memory exceeds the total available extent of write memory, in a step 96, the contents of the cache memory are written to the physical tape. In a step 98, the cache memory is released if need be, such as if t cache memory were implemented using pages in a virtual memory system. Once the physical tape is full, then it would then be necessary to reload the tape unit with a fr reel of tape to continue writing to that particular drive. Again with reference to the step 94, if the needed extent of write memory does not exceed the available exte of write memory on the tape unit, the size of the cache memory can be expanded to receive the next vial or block information to be written to the tape drive.
- a particular type of virtual memory system which can advantageously use the present invention is represented b the family of VAX-type virtual memory computer systems marketed by the digital equipment corporation.
- This module implements the routines used control tape output caching.
- SWITCHES ADDRESSING_HODE EXTERNAL - GENERAL, HONEXTERNAL « WORD_RELATIVE
- LINKAGE throttle btoh_linkage - JSB REGISTER - 0, REGISTER « 2; REGISTER - 0), throttle-co ⁇ pT ⁇ te_linfcage » JS8 (REGISTER - 2, REGISTER ⁇ 3), throttle-consume linkage a JSB (REGISTER « 2, REGISTER • 3), throttla ⁇ eo. linkage « JSB (REGISTER » 2, REGISTER - 3), throttle ⁇ iniT_linkage « JSB (REGISTER - 2). throttle ⁇ write_linkage - JSB (REGISTER ⁇ 2, REGISTER « 3);
- LINKAGE (REGISTER « 3, REGISTER - 5) : NOPRESERVE (0, 1), » JSB (REGISTER - 1; REGISTER - 1, REGISTER - 2) : NOPRESERVE (2 ⁇ x ⁇ Sdeanonpeg ⁇ d ⁇ linkag ⁇ « JSB (REGISTER - 0) : NOPRESERVE (1, 2, 3);
- CHSFILL (0, .allocat ⁇ d_length, .block_addr) ; block_addr [ir ⁇ $w_size] « .allocated_length; block addr [irp$b_type] » block type;
- OWN throttl ⁇ _t ⁇ st_int ⁇ rval WORD INITIAL (k_interval) ;
- This routine is called to convert a byte count to the equivalent in hundreths based on tape density.
- MAP tacb REF BLOCK [, BYTE ⁇ ; ! Disk Cache Control Block
- This routine is called for the purpose of accounting for the amount of tape that the user process has written.
- BEGIN MAP tacb REF BLOCK [, BYTE], J Disk Cache Control Block irp : REF BLOCK [, BYTE); ! I/O Request Packet
- GLOBAL ROUTINE throttle consume (tacb, irp) : NOVALUE throttle_consu»e_linkage ⁇
- This routine is called for the purpose of accounting for tape actually writ
- GLOBAL ROUTINE throttl ⁇ _ ⁇ of (tacb, irp) NOVALUE throttl ⁇ _eof_linkag ⁇ ⁇
- This routine is called for the purpose of throttling end of files
- MAP tacb REF BLOCX (, BYTE], ! Disk Cache Control Block irp : REF BLOCK [ , BYTE] ; 1 I/O Request Packet
- This routine is called for the purpose of (re)initializing the output throttling facility.
- MAP tacb REF BLOCK [, BYTE];
- IPL - Ires SYNCH COMPLETION STATUS k true »> If a status of true is returned, the caller should cache the request. k ⁇ ta.se -> If a status ef false is returned, the caller should not cache the request.
- ⁇ CCIN HAP tacb _tr BLOCK (, BYTE), I Disk cache Control Block irp : x ⁇ r BLOCK I. BYTE); I I/O Request Packet
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38062989A | 1989-07-14 | 1989-07-14 | |
US380629 | 1989-07-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0438556A1 EP0438556A1 (en) | 1991-07-31 |
EP0438556A4 true EP0438556A4 (en) | 1993-03-17 |
Family
ID=23501907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19900911237 Ceased EP0438556A4 (en) | 1989-07-14 | 1990-07-13 | Variable capacity cache memory |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0438556A4 (en) |
AU (1) | AU6075790A (en) |
CA (1) | CA2036388A1 (en) |
WO (1) | WO1991001525A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133654B1 (en) * | 2017-02-28 | 2018-11-20 | American Megatrends, Inc. | Firmware debug trace capture |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0096456A2 (en) * | 1982-06-04 | 1983-12-21 | Cipher Data Products, Incorporated | Capstanless magnetic tape drive with electronic equivalent to length of tape |
US4876662A (en) * | 1988-05-02 | 1989-10-24 | International Business Machines Corporation | Optimizing volume mounts in a multidrive environment |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4258418A (en) * | 1978-12-28 | 1981-03-24 | International Business Machines Corporation | Variable capacity data buffer system |
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
US4524416A (en) * | 1980-04-15 | 1985-06-18 | Honeywell Information Systems Inc. | Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system |
US4445170A (en) * | 1981-03-19 | 1984-04-24 | Zilog, Inc. | Computer segmented memory management technique wherein two expandable memory portions are contained within a single segment |
US4499539A (en) * | 1982-12-20 | 1985-02-12 | International Business Machines Corporation | Method and apparatus for limiting allocated data-storage space in a data-storage unit |
US4947319A (en) * | 1988-09-15 | 1990-08-07 | International Business Machines Corporation | Arbitral dynamic cache using processor storage |
-
1990
- 1990-07-13 WO PCT/US1990/003940 patent/WO1991001525A1/en not_active Application Discontinuation
- 1990-07-13 EP EP19900911237 patent/EP0438556A4/en not_active Ceased
- 1990-07-13 CA CA002036388A patent/CA2036388A1/en not_active Abandoned
- 1990-07-13 AU AU60757/90A patent/AU6075790A/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0096456A2 (en) * | 1982-06-04 | 1983-12-21 | Cipher Data Products, Incorporated | Capstanless magnetic tape drive with electronic equivalent to length of tape |
US4876662A (en) * | 1988-05-02 | 1989-10-24 | International Business Machines Corporation | Optimizing volume mounts in a multidrive environment |
Non-Patent Citations (2)
Title |
---|
COMPUTER DESIGN. vol. 24, no. 13, October 1985, LITTLETON, MASSACHUSETTS US pages 89 - 93 , XP212203 R. THOMAS 'Cache memory splits computer and tape operations' * |
See also references of WO9101525A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO1991001525A1 (en) | 1991-02-07 |
CA2036388A1 (en) | 1991-01-15 |
EP0438556A1 (en) | 1991-07-31 |
AU6075790A (en) | 1991-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5226141A (en) | Variable capacity cache memory | |
EP0080875B1 (en) | Data storage system for a host computer | |
EP0109309B1 (en) | Method of operating a computer system | |
US5809560A (en) | Adaptive read-ahead disk cache | |
EP0415352A2 (en) | Method and system for optimizing data caching in a disk-based computer system | |
KR100373313B1 (en) | A method and system for managing a cache memory | |
US4875155A (en) | Peripheral subsystem having read/write cache with record access | |
Hu et al. | DCD—disk caching disk: A new approach for boosting I/O performance | |
EP0112442B1 (en) | Data storage hierarchy and its use for data storage space management | |
US6381677B1 (en) | Method and system for staging data into cache | |
US5146578A (en) | Method of varying the amount of data prefetched to a cache memory in dependence on the history of data requests | |
US6499083B1 (en) | Disk-based storage system responsive to a direction-selection signal for autonomously controlling seeks in a sequence determined by the direction-selection signal and a locally-stored doubly linked list | |
US4779189A (en) | Peripheral subsystem initialization method and apparatus | |
US4433374A (en) | Cache/disk subsystem with cache bypass | |
JP3183993B2 (en) | Disk control system | |
JPS58155464A (en) | Detection of sequential data stream | |
US4972364A (en) | Memory disk accessing apparatus | |
WO1996008772A1 (en) | Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching | |
US5289581A (en) | Disk driver with lookahead cache | |
EP0574692A1 (en) | Allocation of dasd for storing computer data | |
JPH0576059B2 (en) | ||
JPH07104817B2 (en) | Data record transfer method | |
US7139874B1 (en) | System and method for providing client-directed staging to improve non-sequential access performance in a caching disk storage system | |
WO1999015953A1 (en) | Optimizing scheduler for read/write operations in a disk file system | |
EP0438556A4 (en) | Variable capacity cache memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): DE FR GB NL |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: ESBENSEN, DANIEL |
|
17P | Request for examination filed |
Effective date: 19910712 |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 19930125 |
|
AK | Designated contracting states |
Kind code of ref document: A4 Designated state(s): DE FR GB NL |
|
17Q | First examination report despatched |
Effective date: 19950810 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 19961229 |