« PreviousContinue »
 DYNAMIC DISK BUFFER CONTROL UNIT
 Inventor: Kenneth R. Hawley, Ventura, Calif.
 Assignee: Bunker Ramo Corporation, Oak Brook, 111.
 Appl. No.: 920,831
 Filed: Jun. 30, 1978
 Int. Q.3 G06F 13/04
 U.S. CI 364/200
 Field of Search ... 364/200 MS File, 900 MS File
 References Cited
U.S. PATENT DOCUMENTS
3,275,991 9/1966 Schneberger 364/200
3,647,348 3/1972 Smith et al 364/200
3,820,078 6/1974 Curley et al 364/200
3,911,401 10/1975 Lee 364/200
4,080,651 3/1978 Cronshaw et al 364/200
Fisher et al., "Time Sharing on a Computer with a Small Memory", Communications of the ACM, vol. 10, No. 2, Feb. 1967, pp. 77-81.
Morris, "Demand Paging Through Utilization of Working Sets on the Maniac II", Communications of the ACM, vol. 15, No. 10, Oct. 1972, pp. 867-872. Ling et al., "Cost-Oriented Algorithm for Data Set Allocation in Storage Hierarchies Based on Fundamental Data Set Characteristics", IBM T.D.B., vol. 17, No. 5, Oct. 1974, pp. 1472-1474.
Mattson, "Storage Management of Linear Lists by Or
dinal Numbers", IBM T.D.B., vol. 19, No. 7, Dec. 1976, pp. 2709-2714.
Greenberg et al., "The Multics Multilevel Paging Hierarchy", IEEE Intercon Conference Record 1975, Session 20, p. 3, pp. 1-9.
Gold et al., "A Model for Masking Rotational Latency by Dyanmic Disk Allocation", Communications of the ACM, vol. 17, No. 5, May 1974, pp. 278-288.
Primary Examiner—Raulfe B. Zache
Attorney, Agent, or Firm—F. M. Arbuckle; A. Freilich
A programmable control unit for disk memory and controller comprising a microprocessor (MPU), random access memory (RAM) used as a buffer to cache disk resident data used by a data processing system (DPS), and a configurable data path (CDP) which couples the DPS to the disk controller. The (MPU) is programmed to provide the DPS rapid access to disk resident data by so controlling the CDP as to maintain a memory cache of disk resident data in the RAM. Data is cached under either directed control via an application level task or operator console directive, or under dynamic control through which a predetermined number of successive blocks of data are read from the disk and stored in the RAM each time any one block is addressed, and once the RAM is full, by discarding from the RAM a block of data which the immediate history has shown is least useful.
10 Claims, 98 Drawing Figures