IP Library Granted Patent US 10,762,069
Granted Patent B2
US 10,762,069 · App. 14/871,833 · Granted Sep 1, 2020

Mechanism for a system where data and metadata are located closely together

Inventors: John Hayes (Mountain View, CA); Robert Lee (Mountain View, CA); Igor Ostrovsky (Mountain View, CA); Peter Vajgel (Mountain View, 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 10,762,069
App. No.
14/871,833
Filed
Sep 30, 2015
Granted
Sep 1, 2020
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 (54)

1. A method, comprising:

writing 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 for control of a second portion of data of the file; 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, wherein segments are logical containers of data in an address space for the segments, and wherein a plurality of authorities is implemented in a storage system with each authority configurable to be an owner of a plurality of portions of data of files.

2. The method of claim 1 , wherein:

delegating the second authority is associated with a write offset.

3. 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.

4. The method of claim 1 , further comprising:

persisting the delegating the second authority using a token, 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:

determining, from the first metadata in the first segment and the first authority, which of the plurality of authorities is a delegated authority;

appending further data of the file to a further segment controlled by the delegated authority; and

writing further metadata to the further segment controlled by the delegated authority.

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 , further comprising:

reading data from the first segment controlled by the first authority;

determining, from the first metadata in the first segment controlled by the first authority where to find the second authority and the second segment controlled by the second authority; and

reading data from the second segment controlled by the second authority.

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, and a second portion of the data of the file and a second metadata are in a second segment controlled by a second authority, wherein the first authority of the file is configured to delegate ownership of a portion of data of the file to 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 first authority of the file configured to delegate the second authority responsive to a write offset associated with the second portion of data of the file.

10. The system of claim 8 , wherein the first metadata indicates which of the plurality of authorities, other than the first authority, has metadata including a most recent update to size of the file and modification time of the file.

11. The system of claim 8 , further comprising:

the at least one processor 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 determine from the first metadata which authority is a delegated authority as delegated by the first authority; and

the at least one processor configured to write further data of the file and further metadata pertaining to the file to a further segment under the delegated authority, and wherein the segments are striped across storage memory in the system.

13. The system of claim 8 , further comprising:

the at least one processor configured to determine from the first metadata which authority is a delegated authority as delegated by the first authority; and

the at least one processor configured to write further metadata including at least one of permissions of the file, an updated size of the file, and an updated modification time of the file to a further segment under the delegated authority.

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 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 for control of a second portion of data of the file; 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 delegating the second authority is associated with a write offset.

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

persisting the delegating the second authority using a token, wherein the writing the data of the second portion of data of the file and the second metadata is responsive to the persisting the delegating the second authority, and wherein the segments are striped across storage memory in the system.

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:

determining, from the first metadata in the first segment and the first authority, which of a plurality of authorities is a delegated authority;

appending further data of the file to a further segment controlled by the delegated authority; and

writing further metadata to the further segment controlled by the delegated authority.

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

reading data from the first segment controlled by the first authority;

determining, from the first metadata in the first segment controlled by the first authority where to find the second authority and the second segment controlled by the second authority; and

reading data from the second segment controlled by the second authority.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2016
From: VAJGEL, PETER; HAYES, JOHN; LEE, ROBERT; OSTROVSKY, IGOR
To: PURE STORAGE, INC.
Reel/Frame 039846/0759 →
Continuity (1)
Related Publication 20170091236A1 · Mar 30, 2017
Cited By (1)
US 12,271,359