IP Library › Granted Patent US 10,318,649
Granted Patent B2
US 10,318,649 · App. 15/490,730 · Granted Jun 11, 2019

Implementing a secondary storage dentry cache

Inventors: Umesh Deshpande (San Jose, CA); Wayne A. Sawdon (San Jose, CA); Vasily Tarasov (Port Jefferson Station, NY)
Assignee: International Business Machines Corporation
G06F17/30233G06F3/0613G06F3/0643G06F3/0679G06F9/45545G06F17/30132G06F17/30176G06F2009/45579G06F2201/80G06F2212/217
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,318,649
App. No.
15/490,730
Granted
Jun 11, 2019
Kind
B2
Abstract

A computer-implemented method according to one embodiment includes identifying an accessing of a file within an operating system, checking an in-memory cache for path information associated with the file, checking an external cache for the path information associated with the file, conditionally retrieving the path information associated with the file by performing a file system lookup and adding the path information associated with the file to the in-memory cache and the external cache, and returning the path information.

Claims (35)

1. A computer-implemented method, comprising:

identifying an accessing of a file within an operating system;

checking an in-memory cache for path information associated with the file;

checking an external cache for the path information associated with the file, where the external cache is checked in parallel with the in-memory cache;

conditionally retrieving the path information associated with the file by performing a file system lookup and adding the path information associated with the file to the in-memory cache and the external cache; and

returning the path information.

2. The computer-implemented method of claim 1 , wherein the in-memory cache includes non-persistent memory within a system.

3. The computer-implemented method of claim 1 , wherein the path information includes an inode that stores metadata describing a location of the file within one or more disk blocks.

4. The computer-implemented method of claim 1 , wherein the external cache is checked upon determining that the in-memory cache does not contain the path information associated with the file.

5. The computer-implemented method of claim 1 , wherein the in-memory cache and the external cache are populated in response to file access by one or more users.

6. The computer-implemented method of claim 1 , wherein the external cache includes persistent memory.

7. The computer-implemented method of claim 1 , wherein the in-memory cache is populated from the external cache during a reboot.

8. The computer-implemented method of claim 1 , wherein the external cache contains a mapping of an entire path to an inode for the file.

9. The computer-implemented method of claim 1 , wherein the checking of the external cache is performed by a virtual file system (VFS) as part of the file system lookup in response to the accessing of the file.

10. The computer-implemented method of claim 1 , further comprising reorganizing the external cache to put file information that is frequently accessed together in a single block or adjacent blocks.

11. The computer-implemented method of claim 1 , wherein the external cache is pre-populated proactively from a file system as a background process.

12. The computer-implemented method of claim 1 , wherein the external cache is generic, such that each of a plurality of different file systems utilize the external cache.

13. A computer program product for implementing a secondary storage dentry cache, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:

identifying an accessing of a file within an operating system, utilizing the processor;

checking an in-memory cache for path information associated with the file, utilizing the processor;

checking an external cache for the path information associated with the file, utilizing the processor, where the external cache is checked in parallel with the in-memory cache;

conditionally retrieving the path information associated with the file by performing a file system lookup and adding the path information associated with the file to the in-memory cache and the external cache, utilizing the processor; and

returning the path information, utilizing the processor.

14. The computer program product of claim 13 , wherein the in-memory cache includes non-persistent memory within a system.

15. The computer program product of claim 13 , wherein the path information includes an inode that stores metadata describing a location of the file within one or more disk blocks.

16. The computer program product of claim 13 , wherein the external cache is checked upon determining that the in-memory cache does not contain the path information associated with the file.

17. The computer program product of claim 14 , wherein the in-memory cache and the external cache are populated in response to file access by one or more users.

18. A system, comprising:

a processor; and

logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:

identify an accessing of a file within an operating system;

check an in-memory cache for path information associated with the file;

check an external cache for the path information associated with the file, where the external cache is checked in parallel with the in-memory cache;

conditionally retrieve the path information associated with the file by performing a file system lookup and add the path information associated with the file to the in-memory cache and the external cache; and

return the path information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2017
From: DESHPANDE, UMESH; SAWDON, WAYNE A.; TARASOV, VASILY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042181/0093 →
Continuity (1)
Related Publication 20180300355A1 · Oct 18, 2018
Cited By (1)
US 12,287,738