IP Library Granted Patent US 7,533,215
Granted Patent B2
US 7,533,215 · App. 11/229,128 · Granted May 12, 2009

Distributed and packed metadata structure for disk cache

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,533,215
App. No.
11/229,128
Granted
May 12, 2009
Kind
B2
Abstract

An apparatus and method to reduce the initialization time of a system is disclosed. In one embodiment, upon a cache line update, metadata associated with the cache line is stored in a distributed format in non-volatile memory with its associated cache line. Upon indication of an expected shut down, metadata is copied from volatile memory and stored in non-volatile memory in a packed format. In the packed format, multiple metadata associated with multiple cache lines are stored together in, for example, a single memory block. Thus, upon system power up, if the system was shut down in an expected manner, metadata may be restored in volatile memory from the metadata stored in the packed format, with a significantly reduced boot time over restoring metadata from the metadata stored in the distributed format.

Claims (38)

1. A method comprising:

storing a metadata and a cache line together in a single block of memory during an update of the cache line, the metadata associated with the cache line;

storing the metadata and another metadata together during a system shutdown operation, the other metadata associated with another cache line; and

copying the metadata and the other metadata from non-volatile storage to volatile storage during a system initialization operation.

2. The method as recited in claim 1 , wherein the storing the metadata and the cache line together comprises storing the metadata and the cache line in non-volatile storage.

3. The method as recited in claim 1 , wherein the storing the metadata and the other metadata together comprises storing the metadata and the other metadata in non-volatile storage.

4. The method as recited in claim 3 , wherein a disk cache includes the non-volatile storage.

5. The method as recited in claim 1 , wherein storing the metadata and the cache line together comprises storing the metadata with the cache line during an atomic operation.

6. The method as recited in claim 1 , wherein storing the metadata with the other metadata comprises storing the metadata with the other metadata in a single block of memory.

7. The method as recited in claim 1 , wherein storing the metadata with the other metadata comprises storing the metadata with the other metadata during an atomic operation.

8. The method as recited in claim 1 , further comprising storing the metadata in volatile memory during the update of the cache line.

9. A method comprising:

copying a plurality of metadata, each of the plurality of metadata associated with a different cache line, from a non-volatile memory to a volatile memory during a system initialization operation;

wherein if an indication of an unexpected power down is detected, the copying the plurality of metadata comprises copying the plurality of metadata from a plurality of distributed storage locations in which each of the plurality of metadata is stored with its associated cache line; and

wherein if an indication of an expected power down is detected, the copying the plurality of metadata comprises copying the plurality of metadata from a packed storage location in which the plurality of metadata are stored in a packed format in a single storage location.

10. The method as recited in claim 9 , wherein the indication of an expected power down comprises a valid integrity signature stored with the plurality of metadata stored in the packed format.

11. The method as recited in claim 9 , wherein each of the plurality of distributed storage locations comprises a block of memory.

12. An apparatus comprising:

a memory controller configured to store a metadata and a cache line together in a single block of memory during an update of the cache line, the metadata associated with the cache line; and the memory controller further configured to store the metadata and another metadata together during a system shutdown operation, the other metadata associated with another cache line, the memory controller further configured to copy the metadata and the other metadata from non-volatile storage to volatile storage during a system initialization operation.

13. The apparatus as recited in claim 12 , wherein to store the metadata and the cache line together the memory controller is configured to store the metadata and the cache line in non-volatile storage.

14. The apparatus as recited in claim 12 , wherein to store the metadata and the other metadata together the memory controller is configured to store the metadata and the other metadata in non-volatile storage.

15. The apparatus as recited in claim 14 , wherein a disk cache includes the non-volatile storage.

16. The apparatus as recited in claim 12 , wherein to store the metadata and the cache line together the memory controller is configured to store the metadata with the cache line during an atomic operation.

17. The apparatus as recited in claim 12 , wherein to store the metadata with the other metadata the memory controller is configured to store the metadata with the other metadata in a single block of memory.

18. The apparatus as recited in claim 12 , wherein to store the metadata with the other metadata the memory controller is configured to store the metadata with the other metadata during an atomic operation.

19. The apparatus as recited in claim 12 , the memory controller further configured to store the metadata in volatile memory during the update of the cache line.

20. A system comprising:

a volatile memory;

a non-volatile memory; and

a memory controller coupled to the volatile memory and the non-volatile memory, the memory controller configured to store a metadata and a cache line together during an update of the cache line, the metadata associated with the cache line; the memory controller further configured to store the metadata and another metadata together during a system shutdown operation, the other metadata associated with another cache line; and the memory controller further configured to copy the metadata and the other metadata from the non-volatile storage to the volatile storage during a system initialization operation.

21. The system as recited in claim 20 , wherein to store the metadata and the cache line together the memory controller is configured to store the metadata and the cache line in the non-volatile memory.

22. The system as recited in claim 20 , wherein to store the metadata and the other metadata together the memory controller is configured to store the metadata and the other metadata in the non-volatile memory.

23. The system as recited in claim 22 , wherein a disk cache includes the non-volatile memory.

24. The system as recited in claim 20 , wherein the memory controller is further configured to:

determine if an integrity signature is valid;

if the integrity signature is valid, copy the metadata stored in a packed format; and

if the integrity signature is invalid, copy the metadata stored in a distributed format.

25. The system as recited in claim 20 , the memory controller further configured to store the metadata in volatile memory during the update of the cache line.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2023
From: INTEL CORPORATION
To: INTEL NDTM US LLC
Reel/Frame 064928/0832 →