Claims
- 1. A method for storing transactional information in a computer comprising:
(a) receiving transactional information; (b) storing the particular transactional information in a persistent volatile memory on the computer; and (c) retrieving the transactional information after a computer failure by accessing the transactional information stored in the persistent volatile memory on the computer.
- 2. The method of claim 1 further comprising identifying particular transactional information.
- 3. The method of claim 1 further comprising flushing the persistent volatile memory to a persistent mass storage device.
- 4. The method of claim 3 further comprising determining when the transactional information stored in the persistent volatile memory exceeds some predetermined threshold.
- 5. The method of claim 3 further comprising determining when a predefined amount of time has elapsed since the storage of the transactional information in the persistent volatile memory.
- 6. The method of claim 3 further comprising determining when a program is not busy.
- 7. The method of claim 6 wherein the program is an operating system of the computer.
- 8. The method of claim 3 further comprising determining when a file is closed.
- 9. The method of claim 3 further comprising determining when the computer is being shut down.
- 10. The method of claim 1 further comprising making a copy of the transactional information.
- 11. The method of claim 10 further comprising transferring the copy of the transactional information to the persistent volatile memory.
- 12. In a computer comprising predetermined criteria, a persistent volatile memory comprising a persistent cache, and a persistent non-volatile memory, a method for providing persistent mass storage of transactional information, comprising the steps:
(a) receiving transactional information; (b) determining whether the transactional information meets the predetermined criteria; and (c) storing the transactional information meeting the predetermined criteria in the persistent cache.
- 13. The method of claim 12 further comprising the step of:
(d) updating the contents of the persistent non-volatile memory to mirror the contents of the persistent cache.
- 14. The method of claim 12 wherein the transactional information meeting the predetermined criteria comprises unbuffered writes to disk.
- 15. The method of claim 12 wherein the transactional information meeting the predetermined criteria comprises one of a file copy, a file backup, a file update, and a file initialization.
- 16. A computer for committing transactional information, the computer comprising:
(a) a persistent volatile memory; (b) an intermediary program in communication with the persistent volatile memory, the intermediary program receiving transactional information and storing the transactional information in the persistent volatile memory, wherein the contents of the persistent volatile memory remain unaltered through a system failure.
- 17. The computer of claim 16 further comprising a filter driver module to identify particular transactional information.
- 18. The computer of claim 17 further comprising storing the particular transactional information in the persistent volatile memory.
- 19. The computer of claim 16 wherein the persistent volatile memory further comprises a persistent cache.
- 20. The computer of claim 19 further comprising a persistent non-volatile memory, wherein the computer flushes the contents of the persistent cache to the persistent non-volatile memory.
- 21. The computer of claim 19 further comprising a flushing thread to flush the contents of the persistent cache.
- 22. The computer of claim 16 wherein the transactional information comprises unbuffered writes to disk.
- 23. The computer of claim 16 wherein the transactional information comprises one of a file copy, a file backup, a file update, and a file initialization.
- 24. The computer of claim 16 further comprising a data structure to describe the state of the transactional information stored in the persistent volatile memory.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 09/550,108, filed Apr. 14, 2000, the entire disclosure which is incorporated by reference herein.
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
09550108 |
Apr 2000 |
US |
| Child |
09790750 |
Feb 2001 |
US |