IP Library Granted Patent US 11,567,917
Granted Patent B2
US 11,567,917 · App. 16/994,332 · Granted Jan 31, 2023

Writing data and metadata into storage

Inventors: John Hayes (Mountain View, CA); Robert Lee (San Carlos, CA); Igor Ostrovsky (Mountain View, CA); Peter Vajgel (Menlo Park, CA)
Assignee: Pure Storage, Inc.
G06F16/2219G06F16/13G06F16/907
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 11,567,917
App. No.
16/994,332
Filed
Aug 14, 2020
Granted
Jan 31, 2023
Kind
B2
Art Unit
2168
USPC
707/737
Abstract

A processor-based method for locating data and metadata closely together in a storage system is provided. The method includes writing a first range of a file and a first metadata relating to attributes of the file into at least one segment controlled by a first authority of the file. The method includes delegating, by the first authority, a second authority for a second range of the file, and writing the second range of the file and second metadata relating to the attributes of the file into at least one segment controlled by the second authority.

Claims (39)

1. A method, comprising:

writing into a storage node of a storage system a first portion of data of a file and a first metadata relating to attributes of the file into a first segment controlled by a first authority of the file;

delegating, by the first authority, a second authority of the storage node for control of a second portion of data of the file responsive to identifying an offset associated with the second portion of data controlled by the second authority; and

writing the second portion of data of the file and second metadata associated with the attributes of the file into a second segment controlled by the second authority.

2. The method of claim 1 , further comprising:

persisting delegation of the second authority using a token.

3. The method of claim 1 , wherein the offset associated with the second portion of data is associated with a different portion of data of the file from the first portion of data.

4. The method of claim 1 , further comprising:

persisting the delegating of the second authority through an interlock, wherein writing the second portion of data of the file and the second metadata is responsive to the persisting the delegating the second authority.

5. The method of claim 1 , further comprising:

writing metadata indicating which authority has a most recent update to a size and a modification time of the file into the first segment controlled by first authority, and wherein the segments are striped across storage memory in the storage system.

6. The method of claim 1 , wherein the attributes of the file include at least one of a size of the file, a modification time of the file, and permissions of the file.

7. The method of claim 1 , wherein data of the file is distributed across multiple storage nodes.

8. A system, comprising:

storage memory, configurable to have a plurality of segments that are logical containers of data in an address space for the segments; and

at least one processor, configured to write data of a file and metadata relating to attributes of the file into the plurality of segments of the storage memory under a plurality of authorities, wherein a first portion of the data of the file and a first metadata are in a first segment controlled by a first authority of the file the first authority residing on a storage node of a storage system, and a second portion of the data of the file and a second metadata are in a second segment controlled by a second authority residing on the storage node, wherein the first authority of the file is configured to delegate ownership of a portion of data of the file to the second authority responsive to identifying an offset associated with the second portion of data controlled by the second authority, and wherein the plurality of authorities is implemented in the system with each authority configurable to be an owner of a plurality of portions of data of files.

9. The system of claim 8 , further comprising:

the at least one processor configured to delegate the second authority through an interlock, wherein writing the second portion of data of the file and the second metadata is responsive to the persisting the delegating the second authority.

10. The system of claim 8 , wherein the offset associated with the second portion of data is associated with a different portion of data of the file from the first portion of data.

11. The system of claim 8 , wherein:

the at least one processor is further configured to persist a delegation of an authority using a token.

12. The system of claim 8 , further comprising:

the at least one processor configured to write metadata indicating which authority has a most recent update to a size and a modification time of the file into the first segment controlled by first authority, and wherein the segments are striped across storage memory in the storage system.

13. The system of claim 8 , wherein data of the file is distributed across multiple storage nodes of the system.

14. The system of claim 8 , wherein the attributes of the file include at least one of a size of the file, a modification time of the file, and permissions of the file.

15. A system, comprising:

storage memory, configurable to have segments that are logical containers of data in an address space for the segments;

a plurality of authorities implemented in the data storage system with each authority configurable to be an owner of a plurality of portions of data of files; and

at least one processor in communication with the storage memory, configured to perform actions comprising:

writing into a storage node of a storage system data of a first portion of data of a file and a first metadata relating to attributes of the file into a first segment controlled by a first authority of the file; and

delegating, by the first authority, a second authority of the storage node for control of a second portion of data of the file on responsive to identifying on an offset associated with the second portion of data; and

writing data of the second portion of data of the file and second metadata relating to the attributes of the file into a second segment controlled by the second authority.

16. The system of claim 15 , wherein the at least one processor is configured to persist delegation of the second authority using a token.

17. The system of claim 15 , wherein the offset associated with the second portion of data is associated with a different portion of data of the file from the first portion of data.

18. The system of claim 15 , wherein the actions further comprise:

writing metadata indicating which authority has a most recent update to a size and a modification time of the file into the first segment controlled by the first authority.

19. The system of claim 15 , wherein the actions further comprise:

persisting the delegating of the second authority through an interlock, wherein writing the second portion of data of the file and the second metadata is responsive to the persisting the delegating the second authority.

20. The system of claim 15 , wherein the attributes of the file include at least one of a size of the file, a modification time of the file, and permissions of the file.

Continuity (2)
Continuation 14871833 · Sep 30, 2015
Related Publication 20200379965A1 · Dec 3, 2020
Cited By (1)
US 12,271,359