IP Library Granted Patent US 11,544,013
Granted Patent B2
US 11,544,013 · App. 17/324,709 · Granted Jan 3, 2023

Array-based copy mechanism utilizing logical addresses pointing to same data block

Inventors: TingWei Wang (Chengdu, CN); Ming Tong (Chengdu, CN); KeCheng Bi (Chengdu, CN)
Assignee: Dell Products L.P.
G06F3/0683G06F3/065G06F3/0613
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,544,013
App. No.
17/324,709
Granted
Jan 3, 2023
Kind
B2
Abstract

An information handling system includes a first storage array having a first logical block table with logical block addresses. Each logical block address includes a pointer to an associated data block in a first storage volume of the first storage array. The second storage array includes a second logical block table having the logical block addresses and a second storage volume. The first storage array receives a data read command from the second storage array to a first logical block address, and in response to the data read command, determines that a data block pointed to by the first logical block address in the first storage array is also pointed to by second logical block address that is adjacent to the first logical block address in the first logical block table, and sends the data block and metadata to the second storage array, the metadata indicating that the second logical block address points to the data block.

Claims (35)

1. An information handling system, comprising:

a first storage array including a first logical block table having a plurality of logical block addresses, each logical block address including a pointer to an associated data block in a first storage volume of the first storage array; and

a second storage array including a second logical block table having the plurality of logical block addresses and a second storage volume;

wherein the first storage array is configured to receive a data read command from the second storage array to a first logical block address, and to determine, in response to the data read command, that a data block, which is i) pointed to by the first logical block address and ii) in the first storage volume, is also pointed to by second logical block address that is adjacent to the first logical block address in the first logical block table, and to send the data block and metadata to the second storage array, the metadata indicating that the second logical block address points to the data block.

2. The information handling system of claim 1 , wherein the second storage array is configured to receive the data block and the metadata, to write the data block to the second storage volume, to modify the first logical block address in the second logical block table to point to the data block in the second storage volume, and to modify the second logical block address in the second logical block table to point to the data block in the second storage volume.

3. The information handling system of claim 2 , wherein the first storage array is further configured to determine that the data block is also point to by a third logical block address that is adjacent to the second logical block address in the first logical block table, the metadata further indicating that the third logical block address points to the data block.

4. The information handling system of claim 3 , wherein the second storage array is further configured to modify the third logical block address in the second logical block table to point to the data block in the second storage volume.

5. The information handling system of claim 1 , wherein the first metadata indicates a number of consecutive logical block addresses in the second logical block table that each point to the data block in the second storage array.

6. The information handling system of claim 1 , wherein the first metadata indicates a number of logical block addresses in the second logical block table that each point to the data block in the second storage array in addition to the first logical block address.

7. The information handling system of claim 1 , wherein the first metadata indicates all logical block addresses in the second logical block table that point to the data block in the second storage array.

8. The information handling system of claim 1 , wherein the first storage array and the second storage array are SCSI storage arrays.

9. The information handling system of claim 1 , wherein the first and second storage volumes include at least one of a disk drive and a solid state drive.

10. A method, comprising:

sending a data read request for data associated with a first logical block address from a second storage array to a first storage array, the first storage array including a first logical block table having a plurality of logical block addresses, each logical block address including a pointer to an associated data block in a first storage volume of the first storage array, and the second storage array including a second logical block table having the logical block addresses and a second storage volume;

determining, in response to the data read request, that the data block, which is i) in the first storage volume and ii) pointed to by the first logical block address, is also pointed to by second logical block address that is adjacent to the first logical block address in the first logical block table; and

sending the data block and metadata to the second storage array, the metadata indicating that the second logical block address points to the data block.

11. The method of claim 10 , further comprising:

receiving, by the first storage array, the data block and the metadata;

writing the data block to the second storage volume;

modifying the first logical block address in the second logical block table to point to the data block in the second storage volume; and

modifying the second logical block address in the second logical block table to point to the data block in the second storage volume.

12. The method of claim 11 , further comprising:

determining, by the first storage array, that the data block is also point to by a third logical block address that is adjacent to the second logical block address in the first logical block table, the metadata further indicating that the third logical block address points to the data block.

13. The method of claim 12 , further comprising:

modifying, by the second storage array, the third logical block address in the second logical block table to point to the data block in the second storage volume.

14. The method of claim 10 , wherein the first metadata indicates a number of consecutive logical block addresses in the second logical block table that each point to the data block in the second storage array.

15. The method of claim 10 , wherein the first metadata indicates a number of logical block addresses in the second logical block table that each point to the data block in the second storage array in addition to the first logical block address.

16. The method of claim 10 , wherein the first metadata indicates all logical block addresses in the second logical block table that point to the data block in the second storage array.

17. The method of claim 10 , wherein the first storage array and the second storage array are SCSI storage arrays.

18. The method of claim 10 , wherein the first and second storage volumes include at least one of a disk drive and a solid state drive.

19. An information handling system, comprising:

a first storage array including a first logical block table having a plurality of logical block addresses, each logical block address including a pointer to an associated data block in a first storage volume of the first storage array; and

a second storage array including a second logical block table having the logical block addresses and a second storage volume;

wherein the first storage array is configured to receive a metadata request command from the second storage array, and to send, in response to the metadata request command, logical block table metadata to the second storage array, the logical block table metadata identifying the logical block addresses of the first logical block table that point to common data blocks in the first storage volume.

20. The information handling system of claim 19 , wherein the second storage array is configured to receive the logical block table metadata, and, in response to receiving the logical block table metadata, to, for each common data block of the common data blocks, send a data read command to the first storage array, receive the common data block, write the common data block to the second storage volume, and modify the logical block addresses, associated with the common data block, in the second logical block table based upon the logical block table metadata.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2021
From: WANG, TINGWEI; TONG, MING; BI, KECHENG
To: DELL PRODUCTS, LP
Reel/Frame 056290/0135 →
Priority Claims (1)
CN 202110358797.2 · Apr 1, 2021 · national
Continuity (1)
Related Publication 20220317910A1 · Oct 6, 2022