IP Library Granted Patent US 10,289,556
Granted Patent B2
US 10,289,556 · App. 15/338,199 · Granted May 14, 2019

Techniques to perform power fail-safe caching without atomic metadata

Inventor: Sanjeev N. Trika (Portland, OR)
Assignee: Intel Corporation
G06F12/0871G06F11/1441G06F12/0246G06F12/0804G06F12/0815G06F12/0866G06F12/0868G06F2212/1032G06F2212/222G06F2212/601
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 10,289,556
App. No.
15/338,199
Granted
May 14, 2019
Kind
B2
Abstract

A method and system to allow power fail-safe write-back or write-through caching of data in a persistent storage device into one or more cache lines of a caching device. No metadata associated with any of the cache lines is written atomically into the caching device when the data in the storage device is cached. As such, specialized cache hardware to allow atomic writing of metadata during the caching of data is not required.

Claims (35)

1. A method comprising:

storing, with a controller for a tiered storage, data in a caching storage device of the tiered storage, wherein the data is not synchronized with a primary storage device of the tiered storage when it is stored, and wherein the data is stored first in the caching storage device and not stored directly in the primary storage device; and

executing an operating system to manage storage of data in the primary storage device and the caching storage device, the operating system being a host operating system executed by a processor coupled to the controller, the processor of a host system to which the tiered storage is to connect and separate from the tiered storage, the executing including the operating system to selectively request transfer of recently accessed data from the primary storage device to the caching storage device for access from the caching storage device.

2. The method of claim 1 , wherein storing comprises storing data based on blocks of data rather than data files.

3. The method of claim 1 , wherein a first portion of a file is stored in the caching storage device and a second portion of the file is stored in the primary storage device.

4. The method of claim 1 , wherein storing comprises the controller updating state information associated with a logical block address of data.

5. The method of claim 1 , wherein data has a common logical block address when stored in either the caching storage device or the primary storage device.

6. The method of claim 1 , wherein the operating system synchronizes the caching storage device to the primary storage device in response to a data access.

7. The method of claim 1 , wherein the operating system synchronizes data from the caching storage device to the primary storage device in response to a flush operation, and transfers data from the primary storage device to the caching storage device in response to promotion of data.

8. The method of claim 1 , wherein the caching storage device comprises flash memory or a phase change memory.

9. The method of claim 1 , wherein the primary storage device comprises a hard disk drive or a solid state storage device.

10. An apparatus comprising:

a tiered storage including a caching storage device and a primary storage device;

a controller coupled to the tiered storage to store data in the caching storage device, wherein the controller is to selectively transfer data between storage in the caching storage device and storage in the primary storage device including data not synchronized between the caching storage device and the primary storage device, and wherein the controller is to store the data first in the caching storage device and not directly in the primary storage device; and

a processor of a host system to which the tiered storage is coupled and separate from the tiered storage, coupled to the controller to execute a host operating system to manage storage of data in the primary storage device and the caching storage device, including to selectively request transfer of recently accessed data from the primary storage device to the caching storage device for access from the caching storage device.

11. The apparatus of claim 10 , wherein the controller is to store data based on blocks of data rather than data files.

12. The apparatus of claim 10 , wherein the controller is to store a first portion of a file in the caching storage device and a second portion of the file in the primary storage device.

13. The apparatus of claim 10 , wherein the controller is to update state information associated with a logical block address of data in conjunction with synchronization of the data from the caching storage device to the primary storage device.

14. The apparatus of claim 10 , wherein data has a common logical block address when stored in either the caching storage device or the primary storage device.

15. The apparatus of claim 10 , wherein the processor is to execute the operating system to synchronize the caching storage device to the primary storage device in response to a data access.

16. The apparatus of claim 10 , wherein the processor is to execute the operating system to synchronize data from the caching storage device to the primary storage device in response to a flush operation, and transfer data from the primary storage device to the caching storage device in response to promotion of data.

17. The apparatus of claim 10 , wherein the caching storage device comprises a flash memory.

18. The apparatus of claim 10 , wherein the caching storage device comprises a phase change memory.

19. The apparatus of claim 10 , wherein the primary storage device comprises a hard disk drive.

20. The apparatus of claim 10 , wherein the primary storage device comprises a solid state storage device.

21. A computer readable storage medium storing instructions which, when executed by a machine, result in performance of operations comprising:

storing, with a controller for a tiered storage, data in a caching storage device of the tiered storage, wherein the data is not synchronized with a primary storage device of the tiered storage when it is stored, and wherein the data is stored first in the caching storage device and not stored directly in the primary storage device; and

executing an operating system to manage storage of data in the primary storage device and the caching storage device, the operating system being a host operating system executed by a processor coupled to the controller, the processor of a host system to which the tiered storage is to connect and separate from the tiered storage, the executing including the operating system to selectively request transfer of recently accessed data from the primary storage device to the caching storage device for access from the caching storage device.

22. The computer readable storage medium of claim 21 , wherein storing comprises storing data based on blocks of data rather than data files.

23. The computer readable storage medium of claim 21 , wherein a first portion of a file is stored in the caching storage device and a second portion of the file is stored in the primary storage device.

24. The computer readable storage medium of claim 21 , wherein storing comprises the controller updating state information associated with a logical block address of data.

25. The computer readable storage medium of claim 21 , wherein the operating system synchronizes the caching storage device to the primary storage device in response to a data access.

26. The computer readable storage medium of claim 21 , wherein the operating system synchronizes data from the caching storage device to the primary storage device in response to a flush operation, and transfers data from the primary storage device to the caching storage device in response to promotion of data.

27. The computer readable storage medium of claim 21 , wherein the caching storage device comprises caching storage device or a phase change memory.

28. The computer readable storage medium of claim 21 , wherein the primary storage device comprises a hard disk drive or a solid state storage device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2023
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP.
Reel/Frame 062702/0048 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2017
From: TRIKA, SANJEEV N.
To: INTEL CORPORATION
Reel/Frame 042133/0714 →
Continuity (4)
Continuation 14184256 · Feb 19, 2014
Division 13473419 · May 16, 2012
Continuation 12414385 · Mar 30, 2009
Related Publication 20170161198A1 · Jun 8, 2017