Computer system which supports asynchronous commitment of data
First Claim
1. A computer system for processing and committing data, said computer system comprising:
- a processor;
a storage device coupled to and located externally to said processor for storing committed data;
a virtual or actual working memory, located internally or tightly coupled to said processor or at least accessible by said processor with greater speed than said processor can access the external storage device;
means for receiving from an application program executing on said processor requests to write data into said memory and commit said data;
operating system means, responsive to said commit request, for determining which of said data or blocks of said data have been changed in said memory, supplying to an I/O service an identification of the changed data or blocks to cause said I/O service to write said changed data or blocks to said external storage device and permitting said application program to process other data of an unrelated transaction while the changed data or blocks are being written to said external storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system for processing and committing data comprises a processor, an external storage device such as DASD or tape coupled to the processor, and a working memory such as RAM. An application program updates data in the working memory and then requests that the data be committed, i.e. written to the external storage device. In response, an operating system function determines which data or blocks have been changed and supplies to an I/O service an identification of the changed data or blocks to cause the I/O service to write the changed data or blocks to the external storage device. Thus, the application program is not burdened with the management of the I/O. The operating system permits the program to continue with other processing while the data is being written from the working memory to the external storage device. As a result, the program need not wait while the data is written to the external storage. Also, because little time is required of the program in the commit process, the program can frequently request commits. With frequent commits, there is less chance that the data will have been written to back-up memory or back-up storage (due to an overload of the working memory) between commits, and as a result, time will not be required to read the data from the back-up memory or storage into the working memory en route to the application program'"'"'s external storage. Also, the frequent commits reduce the chance of overloading the I/O subsystem.
-
Citations
18 Claims
-
1. A computer system for processing and committing data, said computer system comprising:
-
a processor; a storage device coupled to and located externally to said processor for storing committed data; a virtual or actual working memory, located internally or tightly coupled to said processor or at least accessible by said processor with greater speed than said processor can access the external storage device; means for receiving from an application program executing on said processor requests to write data into said memory and commit said data; operating system means, responsive to said commit request, for determining which of said data or blocks of said data have been changed in said memory, supplying to an I/O service an identification of the changed data or blocks to cause said I/O service to write said changed data or blocks to said external storage device and permitting said application program to process other data of an unrelated transaction while the changed data or blocks are being written to said external storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 15)
-
-
11. A computer implemented method for committing data, said method comprising the steps of:
-
executing a request of a first program to map virtual or actual memory to an external storage device; executing a request of said first program to update data in said memory; executing a request of said first program to commit the updated data by invoking a second program to manage writing of the data to the external storage device; and while the data is being written to said external storage device, continuing to execute said first program to perform an unrelated transaction. - View Dependent Claims (12, 13, 14, 18)
-
-
16. A computer implemented method for committing data, said method comprising the steps of:
-
executing a request of a first program to update data in a virtual or actual working memory; executing a request of said first program to commit the updated data by invoking a second program to manage writing of the data to an external storage device; and while the data is being written to said external storage device, continuing to execute said first program to perform an unrelated transaction. - View Dependent Claims (17)
-
Specification