IP Library Granted Patent US 11,733,903
Granted Patent B2
US 11,733,903 · App. 17/341,470 · Granted Aug 22, 2023

Data relocation for data units in scale-out storage systems

Inventors: Joshua Durgin (Canyon County, CA); Gabriel Zvi BenHanokh (Tel-Aviv, IL)
Assignee: RED HAT, INC.
G06F3/0647G06F3/0604G06F3/067G06F3/0631G06F3/0652
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,733,903
App. No.
17/341,470
Granted
Aug 22, 2023
Kind
B2
Abstract

Data units can be relocated in scale-out storage systems. For example, a computing device can receive, at a first node of a scale-out storage system, a request for a data unit. The first node can include a metadata entry associated with the data unit. The computing device can determine, based on the metadata entry, that a second node of the scale-out storage system includes the data unit. The computing device can determine, from the metadata entry, that a number of versions of the data unit in the scale-out storage system meets or exceeds a threshold. The computing device can output a command to cause the data unit to be relocated to the first node with the metadata entry.

Claims (63)

1. A system comprising:

a processor; and

a memory including instructions that are executable by the processor for causing the processor to:

receive, at a first node of a scale-out storage system, a request for a data unit, the first node including a metadata entry associated with the data unit;

determine, based on the metadata entry, that a second node of the scale-out storage system includes the data unit;

determine, from the metadata entry, that a number of copies of the data unit in the scale-out storage system meets or exceeds a threshold, the number of copies of the data unit being stored based on one or more write requests for the data unit; and

in response to determining that the number of copies meets or exceeds the threshold, output a command to cause the data unit to be relocated to the first node with the metadata entry.

2. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

determine, from the metadata entry, the number of copies of the data unit in the scale-out storage system is below the threshold; and

maintain the data unit in the second node.

3. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to relocate the data unit to the first node by:

allocating space on the first node for the data unit;

transmitting the command to the second node indicating the data unit is to be transmitted to the first node;

receiving the data unit at the first node from the second node; and

removing the data unit from the first node.

4. The system of claim 3 , wherein the command further indicates the data unit is to be replaced with a redirect entry for updating a reference about the data unit at a third node of the scale-out storage system, the reference indicating a location of the data unit in the scale-out storage system.

5. The system of claim 3 , wherein the memory further includes instructions that are executable by the processor for causing the processor to transmit the command including a notification to each node of the scale-out storage system that includes a reference to the data unit, the notification indicating the data unit is stored in the first node.

6. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to determine the second node includes the data unit by:

comparing a hash associated with the data unit to a plurality of metadata entries each including a hash associated with a data unit in the scale-out storage system, the metadata entry being included in the plurality of metadata entries; and

determining the hash associated with the data unit matches the hash included in the metadata entry.

7. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

determine, based on the metadata entry, the number of copies of the data unit is below the threshold subsequent to a predefined length of time passing; and

remove the metadata entry for the data unit.

8. A computer-implemented method comprising:

receiving, at a first node of a scale-out storage system, a request for a data unit, the first node including a metadata entry associated with the data unit;

determining, based on the metadata entry, that a second node of the scale-out storage system includes the data unit;

determining, from the metadata entry, that a number of copies of the data unit in the scale-out storage system meets or exceeds a threshold, the number of copies of the data unit being stored based on one or more write requests for the data unit; and

in response to determining that the number of copies meets or exceeds the threshold, outputting a command to cause the data unit to be relocated to the first node with the metadata entry.

9. The method of claim 8 , further comprising:

determining, from the metadata entry, the number of copies of the data unit in the scale-out storage system is below the threshold; and

maintaining the data unit in the second node.

10. The method of claim 8 , further comprising relocating the data unit to the first node by:

allocating space on the first node for the data unit;

transmitting the command to the second node indicating the data unit is to be transmitted to the first node;

receiving the data unit at the first node from the second node; and

removing the data unit from the first node.

11. The method of claim 10 , wherein the command further indicates the data unit is to be replaced with a redirect entry for updating a reference about the data unit at a third node of the scale-out storage system, the reference indicating a location of the data unit in the scale-out storage system.

12. The method of claim 8 , further comprising:

transmitting the command including a notification to each node of the scale-out storage system that includes a reference to the data unit, the notification indicating the data unit is stored in the first node.

13. The method of claim 8 , further comprising determining the second node includes the data unit by:

comparing a hash associated with the data unit to a plurality of metadata entries each including a hash associated with a data unit in the scale-out storage system, the metadata entry being included in the plurality of metadata entries; and

determining the hash associated with the data unit matches the hash included in the metadata entry.

14. The method of claim 8 , further comprising:

determining, based on the metadata entry, the number of copies of the data unit is below the threshold subsequent to a predefined length of time passing; and

removing the metadata entry for the data unit.

15. A non-transitory computer-readable medium comprising program code that is executable by a processor for causing the processor to:

receive, at a first node of a scale-out storage system, a request for a data unit, the first node including a metadata entry associated with the data unit;

determine, based on the metadata entry, that a second node of the scale-out storage system includes the data unit;

determine, from the metadata entry, that a number of copies of the data unit in the scale-out storage system meets or exceeds a threshold, the number of copies of the data unit being stored based on one or more write requests for the data unit; and

in response to determining that the number of copies meets or exceeds the threshold, output a command to cause the data unit to be relocated to the first node with the metadata entry.

16. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by the processor for causing the processor to:

determine, from the metadata entry, the number of copies of the data unit in the scale-out storage system is below the threshold; and

maintain the data unit in the second node.

17. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by the processor for causing the processor to relocate the data unit to the first node by:

allocating space on the first node for the data unit;

transmitting the command to the second node indicating the data unit is to be transmitted to the first node;

receiving the data unit at the first node from the second node; and

removing the data unit from the first node.

18. The non-transitory computer-readable medium of claim 17 , wherein the command further indicates the data unit is to be replaced with a redirect entry for updating a reference about the data unit at a third node of the scale-out storage system, the reference indicating a location of the data unit in the scale-out storage system.

19. The non-transitory computer-readable medium of claim 17 , further comprising program code that is executable by the processor for causing the processor to transmit the command including a notification to each node of the scale-out storage system that includes a reference to the data unit, the notification indicating the data unit is stored in the first node.

20. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by the processor for causing the processor to:

determine, based on the metadata entry, the number of copies of the data unit is below the threshold subsequent to a predefined length of time passing; and

remove the metadata entry for the data unit.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2021
From: DURGIN, JOSHUA; BENHANOKH, GABRIEL ZVI
To: RED HAT, INC.
Reel/Frame 057240/0780 →
Continuity (1)
Related Publication 20220391119A1 · Dec 8, 2022