IP Library › Granted Patent US 12,182,436
Granted Patent B2
US 12,182,436 · App. 18/160,414 · Granted Dec 31, 2024

Communicating information for performing a live migration using recursive large-to-small-granularity querying

Inventors: Daniel Lee Helmick (Broomfield, CO); Vipin Kumar Agrawal (San Jose, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0647G06F3/0604G06F3/067
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,182,436
App. No.
18/160,414
Granted
Dec 31, 2024
Kind
B2
Abstract

Provided is a method for communicating information, the method including determining, by a storage device, that a first region of a source storage includes a storage location including data to be copied from the source storage to a target storage, the first region having a size that is equal to a first granularity size, determining, by the storage device, that a second region within the first region includes the storage location, the second region having a size that is equal to a second granularity size that is less than the first granularity size, determining that the second region is associated with a threshold value, exiting a query pattern that includes the first granularity size and the second granularity size, and sending a results data structure indicating that the second region comprises the storage location.

Claims (86)

1. A method for communicating information, the method comprising:

determining, by a storage device, that a first region of a source storage comprises a storage location comprising data to be copied from the source storage to a target storage, the first region having a size that is equal to a first granularity size;

determining, by the storage device, that a second region within the first region comprises the storage location, the second region having a size that is equal to a second granularity size that is less than the first granularity size;

determining that the second region is associated with a threshold value;

exiting a query pattern that includes the first granularity size and the second granularity size; and

sending a results data structure indicating that the second region comprises the storage location.

2. The method of claim 1 , further comprising receiving, at the storage device, a request for information indicating that one or more storage locations comprise data to be copied from the source storage to the target storage, the request being associated with the first granularity size,

wherein the results data structure comprises:

a bitmap indicating that the first region or the second region comprises one or more storage locations comprising data to be copied from the source storage to the target storage; or

a listing of one or more logical block addresses (LBAs) comprising the data to be copied.

3. The method of claim 2 , further comprising determining that a number of storage locations that are within the first region or the second region and that comprise data to be copied from the source storage to the target storage is equal to or less than a threshold number of storage locations as the threshold value,

wherein the results data structure comprises the listing of the one or more LBAs.

4. The method of claim 2 , further comprising determining that a number of storage locations that correspond to a second bitmap and that comprise data to be copied from the source storage to the target storage is equal to or less than a threshold number of storage locations per bitmap as the threshold value,

wherein the first region is associated with a first bitmap,

wherein the second region is associated with the second bitmap,

wherein the second bitmap indicates that one or more storage locations within the second region comprise data to be copied from the source storage to the target storage, and

wherein the results data structure comprises the listing of the one or more LBAs.

5. The method of claim 2 , further comprising determining that the second granularity size is equal to or less than a threshold granularity size as the threshold value,

wherein the results data structure comprises the listing of the one or more LBAs.

6. The method of claim 2 , further comprising copying data corresponding to all storage locations within the second region,

wherein the threshold value comprises a threshold granularity size or a number of remaining contiguous LBAs.

7. The method of claim 2 , further comprising determining the first granularity size or the second granularity size based on information that is stored on the storage device,

wherein the request for information is directed to a namespace comprising the one or more storage locations, and

wherein the first region and the second region correspond to the namespace.

8. The method of claim 2 , wherein:

the query pattern comprises a recursive query pattern;

the second granularity size is greater than a third granularity size corresponding to a third region that is within the second region, and that comprises the storage location;

the first region is associated with a first data structure indicating that one or more storage locations within the first region comprise data to be copied from the source storage to the target storage;

the second region is associated with a second data structure indicating that one or more storage locations within the second region comprise data to be copied from the source storage to the target storage; and

the results data structure comprises a self-describing return data structure comprising:

the first data structure;

the second data structure;

a global header; and

a bitmap header or an LBA list header.

9. A storage device for communicating information, the storage device being configured to:

determine that a first region of a source storage comprises a storage location comprising data to be copied from the source storage to a target storage, the first region having a size that is equal to a first granularity size;

determine that a second region within the first region comprises the storage location, the second region having a size that is equal to a second granularity size that is less than the first granularity size;

determine that the second region is associated with a threshold value;

exit a query pattern that includes the first granularity size and the second granularity size; and

send a results data structure indicating that the second region comprises the storage location.

10. The storage device of claim 9 , configured to receive a request for information indicating that one or more storage locations comprise data to be copied from the source storage to the target storage, the request being associated with the first granularity size,

wherein the results data structure comprises:

a bitmap indicating that the first region or the second region comprises one or more storage locations comprising data to be copied from the source storage to the target storage; or

a listing of one or more logical block addresses (LBAs) comprising the data to be copied.

11. The storage device of claim 10 , configured to determine that a number of storage locations that are within the first region or the second region and that comprise data to be copied from the source storage to the target storage is equal to or less than a threshold number of storage locations as the threshold value,

wherein the results data structure comprises the listing of the one or more LBAs.

12. The storage device of claim 10 , configured to determine that a number of storage locations that correspond to a second bitmap and that comprise data to be copied from the source storage to the target storage is equal to or less than a threshold number of storage locations per bitmap as the threshold value,

wherein the first region is associated with a first bitmap,

wherein the second region is associated with the second bitmap,

wherein the second bitmap indicates that one or more storage locations within the second region comprise data to be copied from the source storage to the target storage, and

wherein the results data structure comprises the listing of the one or more LBAs.

13. The storage device of claim 10 , configured to determine that the second granularity size is equal to or less than a threshold granularity size as the threshold value,

wherein the results data structure comprises the listing of the one or more LBAs.

14. The storage device of claim 10 , further comprising copying data corresponding to all storage locations within the second region,

wherein the threshold value is a threshold granularity size or a number of remaining contiguous LBAs.

15. The storage device of claim 10 , configured to determine the first granularity size or the second granularity size based on information that is stored on the storage device,

wherein the request for information is directed to a namespace comprising the one or more storage locations, and

wherein the first region and the second region correspond to the namespace.

16. The storage device of claim 10 , wherein:

the query pattern comprises a recursive query pattern;

the second granularity size is greater than a third granularity size corresponding to a third region that is within the second region, and that comprises the storage location;

the first region is associated with a first data structure indicating that one or more storage locations within the first region comprise data to be copied from the source storage to the target storage;

the second region is associated with a second data structure indicating that one or more storage locations within the second region comprise data to be copied from the source storage to the target storage; and

the results data structure comprises a self-describing return data structure comprising:

the first data structure;

the second data structure;

a global header; and

a bitmap header or an LBA list header.

17. A method for communicating information, the method comprising:

receiving, at a storage device, an initial request for information indicating that one or more storage locations comprise data to be copied from a source storage to a target storage, the initial request being associated with a first granularity size;

determining, by the storage device, that a first region of the source storage comprises a storage location comprising data to be copied from the source storage to the target storage, the first region having a size that is equal to the first granularity size; and

determining automatically, based on the initial request, that a second region within the first region comprises the storage location, the second region having a size that is equal to a second granularity size that is less than the first granularity size.

18. The method of claim 17 , further comprising:

determining that the second region is associated with a threshold value; and

sending, by the storage device, a results data structure.

19. The method of claim 18 , further comprising:

determining that the second region is associated with the threshold value; and

exiting a recursive query pattern that includes the first granularity size and the second granularity size.

20. The method of claim 19 , wherein:

the first region is associated with a first data structure indicating that one or more storage locations within the first region comprise data to be copied from the source storage to the target storage;

the second region is associated with a second data structure indicating that one or more storage locations within the second region comprise data to be copied from the source storage to the target storage; and

the results data structure comprises a self-describing return data structure comprising:

the first data structure;

the second data structure;

a global header; and

a bitmap header or an LBA list header.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2023
From: HELMICK, DANIEL LEE; AGRAWAL, VIPIN KUMAR
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 062507/0727 →
Continuity (2)
Provisional Application 63415558 · Oct 12, 2022
Related Publication 20240126468A1 · Apr 18, 2024