Patent ID: 6557075
Filing Date: 2003-04-29
Classification: G06F

Abstract:
A method of accessing and storing data in a memory system communicating with one or more computers generating read and write requests, the memory system comprising a controller, a memory cache for temporarily storing data, said memory cache comprising an A-cache and a B-cache, and a pairwise-redundant direct access storage device comprising an A-DASD and a B-DASD, the B-cache being a read-ahead cache of data read from B-DASD, the method comprising the steps of:a) providing an A-interface and a B-interface to said memory system; b) configuring transaction processing applications on a computer communicating with said memory system to direct read and write requests to the A-interface; c) configuring decision support system applications on a computer communicating with said memory system to direct read and write requests to the B-interface; d) fulfilling write requests received at the A-interface by writing data to the A-cache; e); fulfilling write requests received at the B-interface by writing data to the A-cache; f) fulfilling read requests received at the A-interface by reading data from the A-cache whenever it contains the requested data, else from the A-DASD; g) fulfilling read requests received at the B-interface by reading data from the B-cache whenever it contains the requested data, else from the B-DASD; h) writing data that has not yet been committed to A-DASD, from the A-cache to the A-DASD whenever the A-DASD is not fulfilling a read request; and i) writing data that has not yet been committed to B-DASD, from the A-cache to the B-DASD whenever the B-DASD is not fulfilling a read request; j) whenever A-cache becomes full, interrupting the flow of data at A-interface and B-interface, including any read operation from B-DASD; and k) writing to B-DASD records in A-cache that are changed but not yet committed to B-DASD, in the preferential sequence of: i) those records which are logically in read sequence before the current reading position of B-DASD, and then, if additional records must be written in order to generate sufficient space in A-cache, ii) those records which are logically in read sequence after the reading position of B-DASD and are most distant from the current reading position of B-DASD; such that space in A-cache has been freed; and then l) allowing the flow of data at A-interface and B-interface to resume, including any interrupted read operation from B-DASD, whereby the average time for fulfilling read requests is improved over that of a corresponding memory system using a RAID-1 controller, and the likelihood is minimized that the data read fromB-DASD in a resumed read operation was changed from the corresponding data before the write operation k) was performed.