IP Library › Granted Patent US 12,210,422
Granted Patent B2
US 12,210,422 · App. 18/459,265 · Granted Jan 28, 2025

Persistent memory architecture

Inventors: Ananthan Subramanian (San Ramon, CA); Ram Kesavan (Los Altos, CA); Matthew Fontaine Curtis-Maury (Apex, NC); Mark Smith (Cupertino, CA)
Assignee: NetApp, Inc.
G06F11/1464G06F3/0619G06F3/0641G06F3/0659G06F3/067G06F11/1451G06F11/1453G06F11/1469G06F11/2056G06F2201/84
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 12,210,422
App. No.
18/459,265
Granted
Jan 28, 2025
Kind
B2
Abstract

Techniques are provided for implementing a persistent memory storage tier to manage persistent memory of a node. The persistent memory is managed by the persistent memory storage tier at a higher level within a storage operating system storage stack than a level at which a storage file system of the node is managed. The persistent memory storage tier intercepts an operation targeting the storage file system. The persistent memory storage tier retargets the operation from targeting the storage file system to targeting the persistent memory. The operation is transmitted to the persistent memory.

Claims (29)

1. A computing device comprising: a storage file system tier within a storage operating system storage stack, wherein the storage file system tier manages a storage file system that stores data according to block-addressable access; and a persistent memory storage tier within the storage operating system storage stack, wherein the persistent memory storage tier manages a persistent memory file system that stores data according to byte-addressable access, and wherein the persistent memory storage tier utilizes a policy to determine whether a write operation, targeting the storage file system tier, is to be rerouted via the persistent memory storage tier;

wherein the persistent memory storage tier utilizes the policy to determine that the write operation is to be retargeted to the persistent memory file system based upon the write operation targeting a file that will be subsequently overwritten while data of the file is stored within persistent memory.

2. The computing device of claim 1 , wherein the persistent memory storage tier utilizes the policy to determine that the write operation is to be retargeted to the persistent memory file system based upon the write operation targeting a file that has been previously written to randomly.

3. The computing device of claim 1 , wherein the persistent memory storage tier:

receives an operation;

in response to determining that there is adequate storage within persistent memory for use by the persistent memory storage tier, utilizes the policy for determining whether the operation is to be rerouted via the persistent memory storage tier; and

in response to determining that there is not adequate storage within the persistent memory for use by the persistent memory storage tier, routes the operation to the storage file system tier and refrains from utilizing the policy for determining whether the operation is to be rerouted via the persistent memory storage tier.

4. The computing device of claim 1 , wherein the persistent memory storage tier:

receives an operation;

in response to identifying a threshold amount of infrequently accessed data to tier out from persistent memory to the storage file system, utilizes the policy for determining whether the operation is to be rerouted via the persistent memory storage tier, wherein the infrequently accessed data is tiered out from the persistent memory based upon a determination that the operation is to be rerouted via the persistent memory storage tier; and

in response to determining that there is not the threshold amount of infrequently accessed data to tier out from the persistent memory to the storage file system, routes the operation to the storage file system tier and refrains from utilizing the policy for determining whether the operation is to be rerouted via the persistent memory storage.

5. The computing device of claim 1 , wherein the persistent memory storage tier utilizes the policy to determine that the write operation is not to be retargeted to the persistent memory file system based upon the write operation targeting a file that has not been previously written to randomly.

6. The computing device of claim 1 , wherein the persistent memory storage tier utilizes the policy to determine that the write operation is not to be retargeted to the persistent memory file system based upon the write operation targeting a file that will not be subsequently overwritten while data of the file is stored within persistent memory.

7. The computing device of claim 1 , wherein the persistent memory storage tier utilizes the policy to determine whether data of an operation will be accessed again, and the operation is to be retargeted to the persistent memory file system.

8. The computing device of claim 1 , wherein the persistent memory storage tier determines whether data targeted by a workload is to be stored from the storage file system into persistent memory based upon characteristics of the workload.

9. The computing device of claim 1 , wherein the persistent memory storage tier and the storage file system remove indications that data resides within persistent memory in response to the data being tier out from the persistent memory to storage managed by the storage file system.

10. The computing device of claim 1 , wherein the persistent memory storage tier utilizes the policy to determine that the write operation is to be transmitted to a next lower tier within the storage operating system storage stack based upon the write operation targeting infrequently accessed data, and wherein the persistent memory storage tier is hosted at a tier higher within the storage operating system storage stack than the storage file system tier such that the persistent memory storage tier intercepts operations before the operations reach the storage file system tier.

11. The computing device of claim 1 , wherein the policy is utilized to determine whether data being read by a read operation is to be stored within persistent memory, wherein the policy specifies a recency threshold for how recently the data is to be accessed before being stored within the persistent memory.

12. The computing device of claim 1 , wherein the persistent memory storage tier utilizes access patterns and characteristics of a workload that includes a read operation for determining whether data being read by the read operation is to be stored into persistent memory after the read operation has been processed by the storage file system.

13. A method, comprising: receiving an operation by a persistent memory storage tier hosted within a storage operation system storage stack, wherein the storage operation system storage stack hosts a storage file system that stores data according to block-address access, and wherein the persistent memory storage tier manages a persistent memory file system that stores data according to byte-addressable access; and transmitting, based on an access pattern, the operation to the storage file system or rerouting the operation via the persistent memory storage tier;

transmitting the operation to the storage file system based upon the operation targeting a file that has not been previously written to randomly.

14. The method of claim 13 , comprising:

transmitting the operation to the storage file system based upon the operation targeting a file not accessed within the recency threshold.

15. The method of claim 13 , comprising:

rerouting the operation via the persistent memory storage tier to persistent memory based upon the operation targeting a file accessed within a recency threshold.

16. The method of claim 13 , comprising:

rerouting the operation via the persistent memory storage tier to persistent memory based upon operation targeting a file that has been previously written to randomly.

17. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to: host a persistent memory storage tier and a storage file system tier within a storage operating system storage stack, wherein the persistent memory storage tier manages a persistent memory file system that stores data according to byte-addressable access, and wherein the storage file system tier manages a storage file system that stores data according to block-addressable access; receive, by the storage operation system storage stack, an operation; and transmit the operation to the storage file system or reroute the operation via the persistent memory storage tier;

reroute the operation via the persistent memory storage tier to persistent memory based upon the operation targeting a file that has been previously written to randomly.

Continuity (3)
Continuation 17576981 · Jan 16, 2022
Continuation 16852593 · Apr 20, 2020
Related Publication 20230409443A1 · Dec 21, 2023
References Cited (16)
US 10454751B1 · Bent et al. · 2019 [cited by applicant]
US 11226869B2 · Subramanian et al. · 2022 [cited by applicant]
US 20050193084A1 · Todd et al. · 2005 [cited by applicant]
US 20090024813A1 · Uysal et al. · 2009 [cited by applicant]
US 20120215970A1 · Shats · 2012 [cited by applicant]
US 20160077988A1 · Tipton · 2016 [cited by examiner]
US 20170177447A1 · Golander et al. · 2017 [cited by applicant]
US 20170371947A1 · Golander · 2017 [cited by examiner]
US 20180232395A1 · Deshmukh et al. · 2018 [cited by applicant]
US 20190340083A1 · Ou-Yang et al. · 2019 [cited by applicant]
US 20220138052A1 · Subramanian et al. · 2022 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2021/028070 dated Aug. 17, 2021, 8 pages. [cited by applicant]
Non-Final Office Action mailed on Dec. 27, 2022 for U.S. Appl. No. 17/576,981, filed Jan. 16, 2022, 23 pages. [cited by applicant]
Non-Final Office Action mailed on May 14, 2021 for U.S. Appl. No. 16/852,593, filed Apr. 20, 2020, 15 pages. [cited by applicant]
Notice of Allowance malled on Apr. 18, 2023 for U.S. Appl. No. 17/576,981, filed Jan. 16, 2022, 8 pages. [cited by applicant]
Notice of Allowance malled on Sep. 9, 2021 for U.S. Appl. No. 16/852,593, filed Apr. 20, 2020, 10 pages. [cited by applicant]