US10216637B2ExpiredUtilityA1
Non-volatile memory cache performance improvement
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: May 3, 2004Filed: Jul 21, 2016Granted: Feb 26, 2019
Est. expiryMay 3, 2024(expired)· nominal 20-yr term from priority
Inventors:Cenk ErganClark D. NicholsonDan TeodosiuDean L. DewhittEmily N. WilsonHanumantha Rao KodavallaMichael James ZwillingJohn M. ParchemMichael R. FortinNathan Steven ObrRajeev Y. NagarSurenda VermaTherron PowellWilliam J. WesterinenMark J. ZbikowskiPatrick L. Stemen
G06F 12/08B65G 47/88B65G 1/02G06F 12/0866G06F 3/0656G06F 3/0679G06F 3/061G06F 2212/281G06F 2212/1016G06F 2212/312G06F 2212/305G06F 2212/222G06F 2212/313Y02D10/13Y02D10/00
86
PatentIndex Score
3
Cited by
619
References
20
Claims
Abstract
In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
receiving an interrupt from a persistent storage device indicating that the persistent storage device is preparing for access; and
responsive to receiving the interrupt from the persistent storage device:
determining, without a request, that space is needed in a non-volatile memory; and
moving first data from an area in the non-volatile memory to the persistent storage device.
2. The method of claim 1 , wherein moving the first data from the area in the non-volatile memory to the persistent storage device comprises flushing a non-persistent write buffer or a non-persistent write cache directly to the persistent storage device.
3. The method of claim 2 , wherein the flushing uses a non-volatile memory circumvention interface.
4. The method of claim 2 , further comprising:
moving second data from the persistent storage device to the non-volatile memory, the second data comprising a read cache.
5. The method of claim 1 , further comprising:
discarding metadata related to a temporary file.
6. The method of claim 1 , wherein moving the first data from the area in the non-volatile memory to the persistent storage device comprises an atomic write.
7. The method of claim 1 , wherein moving the first data from the area of the non-volatile memory to the persistent storage device is based on a priority assigned to the area in the non-volatile memory.
8. The method of claim 7 , wherein the priority is assigned by an operating system.
9. A computer system comprising:
a non-volatile memory;
a persistent storage device; and
a processor communicatively connected with the persistent storage device, the processor effectuating instructions comprising:
receiving an interrupt from the persistent storage device indicating that persistent storage device is preparing for access; and
responsive to receiving the interrupt from the persistent storage device:
determining, without a request, that space is needed in a non-volatile memory; and
moving first data from an area in the non-volatile memory to the persistent storage device.
10. The computer system of claim 9 , wherein the processor moves the first data from the area in the non-volatile memory to the persistent storage device by flushing a non-persistent write buffer or a non-persistent write cache directly to the persistent storage device.
11. The computer system of claim 10 , further comprising a non-volatile memory circumvention interface that performs the flushing.
12. The computer system of claim 10 , wherein the processor further moves second data from the persistent storage device to the non-volatile memory, the second data comprising a read cache.
13. The computer system of claim 9 , wherein the processor moves the first data from the area in the non-volatile memory to the persistent storage device by performing an atomic write.
14. The computer system of claim 9 , wherein the processor moves the first data from the area of the non-volatile memory to the persistent storage device based on a priority assigned to the area in the non-volatile memory.
15. A computer readable storage medium comprising computer-executable instructions that when executed by a computing device cause said computing device to perform operations comprising:
receiving an interrupt from a persistent storage device indicating that the persistent storage device is preparing for access; and
responsive to receiving the interrupt from the persistent storage device:
determining, without a request, that space is needed in a non-volatile memory; and
moving first data from an area in the non-volatile memory to the persistent storage device.
16. The computer-readable storage medium of claim 15 , wherein the moving the first data from the area in the non-volatile memory to the persistent storage device comprises flushing a non-persistent write buffer or a non-persistent write cache directly to the persistent storage device.
17. The computer-readable storage medium of claim 16 , wherein the flushing uses a non-volatile memory circumvention interface.
18. The computer-readable storage medium of claim 16 , wherein the operations further comprise moving second data from the persistent storage device to the non-volatile memory, the second data comprising a read cache.
19. The computer-readable storage medium of claim 15 , wherein moving the first data from the area of the non-volatile memory to the persistent storage device is based on a priority assigned to the area in the non-volatile memory.
20. The computer-readable storage medium of claim 15 , wherein the persistent storage device prepares for access based on information from an application.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.