IP Library › Granted Patent US 12,487,781
Granted Patent B2
US 12,487,781 · App. 18/930,692 · Granted Dec 2, 2025

File chunk distribution and ownership determination

Inventors: Peter Vajgel (Menlo Park, CA); Robert Lee (Pebble Beach, CA); John Hayes (Mountain View, CA); Igor Ostrovsky (Mountain View, CA)
Assignee: PURE STORAGE, INC.
G06F3/0679G06F16/182
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,487,781
App. No.
18/930,692
Filed
Oct 29, 2024
Granted
Dec 2, 2025
Kind
B2
Art Unit
2166
USPC
707/755
Abstract

A method for accessing a file in a storage system is provided. The method includes determining, for each file chunk of the file, an authority among differing storage nodes of the storage system and receiving from the authority having ownership of the file chunk, location information for the file chunk. The method includes accessing file chunks of the file as directed by each of the determined authorities.

Claims (32)

1 . A method, comprising:

determining, for a file chunk of a file stored within a storage system, an authority having ownership of the file chunk from a plurality of authorities, among differing storage nodes of the storage system, wherein the determining comprises performing a hash calculation;

receiving from the authority having ownership of the file chunk, location information for the file chunk; and

accessing the file chunk of the file as directed by the authority having ownership of the file chunk.

2 . The method of claim 1 , wherein the hash calculation is performed on an identifier of the file and an offset of the file chunk.

3 . The method of claim 1 , wherein the file chunk of the file is associated with an offset value and wherein differing authorities are associated with differing file chunks of the file.

4 . The method of claim 1 , wherein:

a result of the hash calculation indicates the authority; and

differing storage nodes of the storage system contain differing authorities for differing file chunks of the file.

5 . The method of claim 1 , wherein determining includes, for each file chunk of the file, performing a hash calculation based on an offset of the file chunk and an inode number of the file, and wherein a result of the hash calculation indicates the authority having ownership of the file chunk.

6 . The method of claim 1 , wherein the authority directs data recovery responsive to a failure of one of the differing storage nodes.

7 . The method of claim 1 , wherein determining an authority for differing file chunks is distributed among the differing storage nodes in the storage system.

8 . A tangible, non-transitory, computer readable medium having instructions thereupon which, when executed by a processing device, cause the processing device to perform a method, comprising:

determining, for a file chunk of a file stored within a storage system, an authority having ownership of the file chunk from a plurality of authorities, among differing storage nodes of the storage system, wherein the determining comprises performing a hash calculation;

receiving from the authority having ownership of the file chunk, location information for the file chunk; and

accessing the file chunk of the file as directed by the authority having ownership of the file chunk.

9 . The computer readable medium of claim 8 , wherein the hash calculation is performed on an identifier of the file and an offset of the file chunk.

10 . The computer readable medium of claim 8 , wherein the file chunk of the file is associated with an offset value and wherein differing authorities are associated with differing file chunks of the file.

11 . The computer readable medium of claim 8 , wherein a result of the hash calculation indicates the authority, and differing storage nodes of the storage system contain differing authorities for differing file chunks of the file.

12 . The computer readable medium of claim 8 , wherein determining an authority for differing file chunks is distributed among the differing storage nodes in the storage system.

13 . The computer readable medium of claim 8 , wherein the authority directs data recovery responsive to a failure of one of the differing storage nodes.

14 . A storage system, comprising:

a plurality of storage nodes coupled as a storage cluster, wherein one of the plurality of storage nodes include a processor configured to;

determine, for a file chunk of a file stored within a storage system, an authority having ownership of the file chunk from a plurality of authorities, among differing storage nodes of the storage system, wherein the determining comprises performing a hash calculation;

receive from the authority having ownership of the file chunk, location information for the file chunk; and

access the file chunk of the file as directed by the authority having ownership of the file chunk.

15 . The storage system of claim 14 , wherein the hash calculation is performed on an identifier of the file and an offset of the file chunk.

16 . The storage system of claim 14 , wherein the file chunk of the file is associated with an offset value and wherein differing authorities are associated with differing file chunks of the file.

17 . The storage cluster of claim 14 , wherein a result of the hash calculation indicates the authority, and differing storage nodes of the storage system contain differing authorities for differing file chunks of the file.

18 . The storage cluster of claim 14 , wherein determining includes, for each file chunk of the file, performing a hash calculation based on an offset of the file chunk and an inode number of the file, and wherein a result of the hash calculation indicates the authority having ownership of the file chunk.

19 . The storage cluster of claim 14 , wherein the authority directs data recovery responsive to a failure of one of the differing storage nodes.

20 . The storage cluster of claim 14 , wherein determining an authority for differing file chunks is distributed among the differing storage nodes in the storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2024
From: HAYES, JOHN; LEE, ROBERT; OSTROVSKY, IGOR; VAJGEL, PETER
To: PURE STORAGE, INC.
Reel/Frame 069089/0521 →
Continuity (4)
Continuation 18350440 · Jul 11, 2023
Continuation 17213761 · Mar 26, 2021
Continuation 14798371 · Jul 13, 2015
Related Publication 20250053347A1 · Feb 13, 2025
References Cited (47)
US 7747584B1 · Jernigan, IV · 2010 [cited by examiner]
US 7831641B2 · Wong et al. · 2010 [cited by applicant]
US 8380676B1 · Eastham et al. · 2013 [cited by applicant]
US 8463787B2 · Kirshenbaum · 2013 [cited by applicant]
US 9275063B1 · Natanzon · 2016 [cited by applicant]
US 9311333B1 · Pawar · 2016 [cited by examiner]
US 9361306B1 · Pawar · 2016 [cited by examiner]
US 9442955B1 · Pawar · 2016 [cited by examiner]
US 9460102B1 · Bono · 2016 [cited by examiner]
US 9460177B1 · Pawar · 2016 [cited by examiner]
US 9785646B2 · Haustein et al. · 2017 [cited by applicant]
US 9891860B1 · Delgado · 2018 [cited by examiner]
US 9910742B1 · Faibish et al. · 2018 [cited by applicant]
US 9952797B2 · Katiyar et al. · 2018 [cited by applicant]
US 9959275B2 · Vijayan · 2018 [cited by applicant]
US 10185495B2 · Katsuki · 2019 [cited by applicant]
US 10216757B1 · Armangau · 2019 [cited by examiner]
US 10262023B1 · Kuang · 2019 [cited by examiner]
US 10303547B2 · Hayes · 2019 [cited by examiner]
US 10983859B2 · Davis · 2021 [cited by examiner]
US 11709628B2 · Shimizu · 2023 [cited by applicant]
US 11962638B2 · Spitulski · 2024 [cited by applicant]
US 20040267831A1 · Wong et al. · 2004 [cited by applicant]
US 20080270436A1 · Fineberg et al. · 2008 [cited by applicant]
US 20090037500A1 · Kirshenbaum · 2009 [cited by examiner]
US 20090199199A1 · Pooni et al. · 2009 [cited by applicant]
US 20090265399A1 · Cannon · 2009 [cited by examiner]
US 20110238716A1 · Amir · 2011 [cited by examiner]
US 20110307736A1 · George · 2011 [cited by examiner]
US 20130227201A1 · Talagala · 2013 [cited by examiner]
US 20140195488A1 · Patil et al. · 2014 [cited by applicant]
US 20140310258A1 · Tian · 2014 [cited by examiner]
US 20140310259A1 · Tian · 2014 [cited by examiner]
US 20150242309A1 · Talagala · 2015 [cited by examiner]
US 20160041887A1 · Davis · 2016 [cited by examiner]
US 20160110377A1 · Yun et al. · 2016 [cited by applicant]
US 20160142485A1 · Mitkar et al. · 2016 [cited by applicant]
US 20170017662A1 · Hayes · 2017 [cited by examiner]
US 20170155713A1 · Powell et al. · 2017 [cited by applicant]
US 20180074748A1 · Makin et al. · 2018 [cited by applicant]
US 20180081562A1 · Vasudevan · 2018 [cited by applicant]
US 20180218005A1 · Kuhtz et al. · 2018 [cited by applicant]
US 20210064579A1 · Wang et al. · 2021 [cited by applicant]
US 20220092033A1 · Wang et al. · 2022 [cited by applicant]
US 20220156114A1 · Nagpal et al. · 2022 [cited by applicant]
Frakes Dan, “Up close with Mountain Lion: Power Nap (Frakes, Dan, Working Mac—Up close with Mountain Lion: Power Nap, Macworld.com, ”Aug. 1, 2012, pp. 1-6. [cited by applicant]
Wong T.M., et al., “Verifiable Secret Redistribution for Archive Systems,” Proceedings on First International IEEE Security in Storage Workshop (SISW'02), IEEE Xplore, Dec. 2002, 12 pages, DOI: 10.1109/SISW.2002.1183515. [cited by applicant]