IP Library Granted Patent US 12,147,680
Granted Patent B2
US 12,147,680 · App. 18/085,248 · Granted Nov 19, 2024

Methods of administering metadata for persistent storage device

Inventors: Stuart John Inglis (Hamilton, NZ); Sheridan John Lambert (Hamilton, NZ); Adam Gworn Kit Fleming (Hamilton, NZ); Matthew Sylvain Lazaro (Leamington, NZ)
Assignee: Daedalus Cloud LLC
G06F3/0619G06F3/064G06F3/0662G06F3/0683G06F11/1076
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,147,680
App. No.
18/085,248
Granted
Nov 19, 2024
Kind
B2
Abstract

In some examples, there is provided a method for a storage controller to receive a request to write data at a virtual location, writing data at the next free physical location in sequence, writing metadata correlating the virtual location with the physical location at the physical location, and writing a counter at the physical location. The recorded metadata can be used to re-construct the mapping between a given physical location and its corresponding virtual location if the virtual block address is somehow lost. The recorded counter can be used to determine the most recently recorded mapping between the virtual location and physical location, thereby resolving any discrepancies between earlier recorded metadata.

Claims (36)

1. A method comprising:

receiving a request to write data at a virtual location;

writing the data to a physical location on a first persistent storage device;

writing first metadata to the physical location, wherein the first metadata comprises the virtual location and a counter; and

writing second metadata to a second persistent storage device, wherein the second metadata comprises a mapping from the virtual location to the physical location.

2. The method of claim 1 , wherein the counter is a block counter.

3. The method of claim 1 , wherein the counter is a stripe index counter.

4. The method of claim 1 , wherein the counter is monotonically increasing.

5. The method of claim 1 , wherein the data is a block of a stripe.

6. The method of claim 1 , wherein the data is parity data.

7. The method of claim 5 , wherein the first metadata correlates the virtual location with the physical location of the block of the stripe.

8. A method of reconstructing metadata for a storage device, the method comprising:

reading metadata stored at a first physical location of the storage device;

reading a virtual location within the metadata;

determining whether a reconstructed metadata for the storage device includes a mapping between the virtual location and a second physical location;

reading a first counter within the metadata stored at the first physical location if the reconstructed metadata for the storage device includes the mapping between the virtual location and the second physical location; and

if a second counter within the reconstructed metadata is greater than the first counter, not updating the reconstructed metadata for the storage device, otherwise, updating the reconstructed metadata for the storage device.

9. The method of claim 8 , wherein the first counter is a stripe index counter.

10. The method of claim 8 , wherein the first counter is a block counter.

11. A method of reconstructing metadata for an array of storage devices, the method comprising:

reading metadata stored at a first physical location of the array of storage devices;

reading a virtual location within the metadata;

determining whether a reconstructed metadata for the array of storage devices includes a mapping between the virtual location and a second physical location;

reading a first stripe index counter within the metadata stored at the first physical location if the reconstructed metadata for the array of storage devices includes the mapping between the virtual location and the second physical location; and

if a second stripe index counter within the reconstructed metadata is greater than the first stripe index counter, not updating the reconstructed metadata for the storage device, otherwise, updating the reconstructed metadata for the array of storage devices.

12. The method of claim 11 , further comprising:

reading parity metadata stored at a third physical location of the array of storage devices;

accessing a stripe mapping within the parity metadata; and

reading a third stripe index counter associated with the stripe mapping.

13. The method of claim 11 , further comprising:

reading parity metadata stored at a third physical location of the array of storage devices;

accessing a stripe mapping within the parity metadata;

reconstructing a block of a stripe; and

updating the reconstructed metadata for the array of storage devices using the stripe mapping within the parity metadata.

14. The method of claim 1 , wherein the first persistent storage device is identical to the second persistent storage device.

15. The method of claim 1 , wherein the first persistent storage device is different from the second persistent storage device.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDRESS OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 66856 FRAME 603. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 25, 2024
From: NYRIAD; NYRIAD, INC.
To: DAEDALUS CLOUD LLC
Reel/Frame 067239/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2024
From: NYRIAD; NYRIAD INC.
To: DAEDALUS CLOUD LLC
Reel/Frame 066856/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: INGLIS, STUART JOHN; LAMBERT, SHERIDAN JOHN; FLEMING, ADAM GWORN KIT; LAZARO, MATTHEW SYLVAIN
To: NYRIAD, INC.
Reel/Frame 062169/0627 →
Continuity (2)
Provisional Application 63292044 · Dec 21, 2021
Related Publication 20230195329A1 · Jun 22, 2023