IP Library Granted Patent US 7,395,496
Granted Patent B2
US 7,395,496 · App. 11/469,156 · Granted Jul 1, 2008

Systems and methods for enhanced stored data verification utilizing pageable pool memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,395,496
App. No.
11/469,156
Granted
Jul 1, 2008
Kind
B2
Abstract

The present invention utilizes pageable pool memory to provide, via a data verifier component, data verification information for storage mediums. By allowing the utilization of pageable pool memory, overflow from the pageable pool memory is paged and stored in a virtual memory space on a storage medium. Recently accessed verification information is stored in non-pageable memory, permitting low latency access. One instance of the present invention synchronously verifies data when verification information is accessible in physical system memory while deferring processing of data verification when verification information is stored in paged memory. Another instance of the present invention allows access to paged verification information in order to permit synchronous verification of data.

Claims (49)

1. A method for verifying stored data, comprising:

computing verification information relating to the stored data;

validating the stored data by comparing the computed verification information with existing verification information stored, at least in part, in virtual memory space; and

updating existing verification information with the computed verification information when data is written to the storage medium.

2. The method of claim 1 , the verification information comprising, at least in part, checksum arrays.

3. The method of claim 1 , the verification information comprising, at least in part, checksum array time information.

4. The method of claim 1 , further comprising:

storing recently accessed verification information in non-pageable memory.

5. The method of claim 1 , further comprising:

comparing the computed verification information to existing verification information to establish data validity when data is read from a storage medium.

6. The method of claim 1 , further comprising:

paging overflow verification information from a pageable pool memory.

7. The method of claim 6 , further comprising:

storing the paged overflow verification information in the virtual memory space.

8. The method of claim 7 , storing including saving at least two redundant copies of the paged overflow verification information in disparate sections in the virtual memory space.

9. The method of claim 8 , further comprising:

comparing the redundant copies of the paged overflow verification information to establish data validity before utilizing the paged overflow verification information to verify computed verification information.

10. The method of claim 1 , further comprising:

determining if desired existing verification information is resident in paged memory; and

accessing the desired existing verification information when resident in the paged memory.

11. The method of claim 10 , further comprising:

comparing the existing verification information to the paged existing verification information to determine data validity when reading data from a storage medium; and

updating the existing verification information with the computed verification information when writing data to a storage medium.

12. The method of claim 1 , further comprising:

determining if desired existing verification information is resident in paged memory; and

appending a task to a deferred task list when the desired existing verification information is resident in the paged memory.

13. A system for validating storage media data, comprising:

means for storing verification information about the storage media data, at least in part, in virtual memory space, and

determining if desired existing verification information is resident in paged memory; and

appending a task to a deferred task list when the desired existing verification information is resident in the paged memory.

14. The system of claim 13 , further including:

means for computing verification information related to data on a storage medium;

means for comparing the computed verification information and the stored verification information to determine validity of data read from a storage medium; and

means for updating the stored verification information with the computed verification information when data is written to a storage medium.

15. The system of claim 13 , further including:

means for paging overflow verification information from a pageable pool memory to a virtual memory space.

16. The system of claim 15 , further including:

means for storing at least two redundant copies of the paged overflow verification information in disparate sections of the virtual memory space; and

means for comparing the redundant copies to determine data validity before the paged overflow verification information is utilized.

17. A method for saving verification information utilized to validate data on a storage medium, comprising:

storing the verification information at least in part, in virtual memory space; and

storing redundant copies of the verification information in disparate sections of the virtual memory space.

18. The method of claim 17 , further comprising:

computing verification information related to the data on a storage medium;

updating the stored verification information with the computed verification information when data is written to a storage medium.

19. The method of claim 17 , further comprising:

storing overflow verification information from a pageable pool memory into virtual memory space.

20. The method of claim 17 , further comprising:

storing recently accessed verification information in non-pageable memory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2006
From: PERETZ, ERVIN; MEHRA, KARAN; WANG, LANDY
To: MICROSOFT CORPORATION
Reel/Frame 018286/0316 →