IP Library › Granted Patent US 11,151,048
Granted Patent B2
US 11,151,048 · App. 16/663,499 · Granted Oct 19, 2021

Host-based read performance optimization of a content addressable storage system

Inventors: Lior Kamran (Rishon LeZion, IL); Amitai Alkalay (Kadima, IL)
Assignee: Dell Products L.P.
G06F12/0882G06F12/0824G06F12/1009G06F12/1408G06F2212/7201
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,151,048
App. No.
16/663,499
Filed
Oct 25, 2019
Granted
Oct 19, 2021
Kind
B2
Art Unit
2136
USPC
711/3
Abstract

An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory, with the processing device being configured to maintain a content-based signature cache for a plurality of data pages. For each of a plurality of read operations to be directed to a distributed content addressable storage (CAS) system, the processing device determines if a data page targeted by the read operation has a corresponding content-based signature in the content-based signature cache. Responsive to the data page having a content-based signature in the content-based signature cache, the processing device identifies a particular storage node that stores the data page in the distributed CAS system, and directs the read operation to the identified storage node using the content-based signature to specify the data page targeted by the read operation. The processing device illustratively comprises a host device coupled to the CAS system over a network.

Claims (64)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

said at least one processing device being configured:

to maintain in a host device a content-based signature cache for a plurality of data pages; and

for each of a plurality of read operations to be directed from the host device to a distributed content addressable storage system that is separate from the host device:

to determine if a data page targeted by the read operation has a corresponding content-based signature in the content-based signature cache; and

responsive to the data page having a content-based signature in the content-based signature cache:

to identify a particular storage node that stores the data page in the distributed content addressable storage system; and

to direct the read operation to the identified storage node using the content-based signature to specify the data page targeted by the read operation;

wherein identifying a particular storage node that stores the data page in the distributed content addressable storage system comprises using the content-based signature of the data page to access a mapping table that maps content-based signatures to respective ones of a plurality of storage nodes that store the data pages in the distributed content addressable storage system.

2. The apparatus of claim 1 wherein the content-based signatures comprise respective hash digests of respective data pages with a given one of the hash digests being generated by applying a secure hashing algorithm to content of a corresponding one of the data pages.

3. The apparatus of claim 1 wherein said at least one processing device comprises at least a portion of the host device, and further wherein the host device is configured to communicate with the distributed content addressable storage system over at least one network.

4. The apparatus of claim 1 wherein the content-based signature cache comprises a plurality of entries for respective data pages with each such entry comprising a logical address of its data page and a corresponding content-based signature of that data page.

5. The apparatus of claim 1 wherein maintaining a content-based signature cache for a plurality of data pages comprises:

sending write operations each targeting one or more data pages to the distributed content addressable storage system;

receiving from the distributed content addressable storage system content-based signatures for respective ones of the data pages; and

storing the content-based signatures in the content-based signature cache in association with respective logical addresses of the corresponding data pages.

6. The apparatus of claim 5 wherein receiving from the distributed content addressable storage system a content-based signature for a particular one of the data pages comprises receiving the content-based signature for that data page in an acknowledgement of a corresponding one of the write operations.

7. The apparatus of claim 1 wherein the mapping table comprises a hash-to-data mapping table that maps hashes of respective data pages to data modules of respective corresponding storage nodes that store the data pages in the distributed content addressable storage system.

8. The apparatus of claim 1 wherein the mapping table is obtained from the distributed content addressable storage system using at least one command sent by the processing device to the distributed content addressable storage system, wherein said command is sent responsive to at least one of:

an expiration of a timer used to define a specified interval for requesting an updated mapping table; and

a failure of the read operation directed to the identified storage node using the content-based signature to specify the data page targeted by the read operation.

9. The apparatus of claim 8 wherein the command comprises a vendor unique command of a designated storage protocol.

10. The apparatus of claim 1 wherein directing the read operation to the identified storage node using the content-based signature to specify the data page targeted by the read operation comprises directing the read operation in a manner that avoids any need to map a logical address of the data page to a content-based signature of the data page in the distributed content addressable storage system.

11. The apparatus of claim 1 wherein directing the read operation to the identified storage node using the content-based signature to specify the data page targeted by the read operation comprises directing the read operation in a manner that bypasses both a routing module and a control module of at least one storage node of the distributed content addressable storage system in reaching a data module of the storage node that stores the data page in the distributed content addressable storage system, thereby reducing a latency that would have otherwise been incurred in processing of the read operation without bypassing both the routing module and the control module.

12. The apparatus of claim 1 wherein said at least one processing device is further configured, responsive to the data page not having a content-based signature in the content-based signature cache, to direct the read operation to the distributed content addressable storage system without identifying a particular storage node that stores the data page in the distributed content addressable storage system and without using the content-based signature to specify the data page targeted by the read operation.

13. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

said at least one processing device being configured:

to maintain in a host device a content-based signature cache for a plurality of data pages; and

for each of a plurality of read operations to be directed from the host device to a distributed content addressable storage system that is separate from the host device:

to determine if a data page targeted by the read operation has a corresponding content-based signature in the content-based signature cache; and

responsive to the data page having a content-based signature in the content-based signature cache:

to identify a particular storage node that stores the data page in the distributed content addressable storage system; and

to direct the read operation to the identified storage node using the content-based signature to specify the data page targeted by the read operation;

wherein the distributed content addressable storage system comprises a plurality of storage nodes interconnected in a mesh network, each such storage node comprising a set of processing modules configured to communicate with corresponding sets of processing modules on other ones of the storage nodes, a given such set of processing modules comprising at least two or more of a routing module, a control module and a data module, the sets of processing modules of the storage nodes of the distributed content addressable storage system collectively comprising at least a portion of a storage controller of the distributed content addressable storage system.

14. A method comprising:

maintaining in a host device a content-based signature cache for a plurality of data pages; and

for each of a plurality of read operations to be directed from the host device to a distributed content addressable storage system that is separate from the host device:

determining if a data page targeted by the read operation has a corresponding content-based signature in the content-based signature cache; and

responsive to the data page having a content-based signature in the content-based signature cache:

identifying a particular storage node that stores the data page in the distributed content addressable storage system; and

directing the read operation to the identified storage node using the content-based signature to specify the data page targeted by the read operation;

wherein identifying a particular storage node that stores the data page in the distributed content addressable storage system comprises using the content-based signature of the data page to access a mapping table that maps content-based signatures to respective ones of a plurality of storage nodes that store the data pages in the distributed content addressable storage system; and

wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

15. The method of claim 14 wherein the content-based signature cache comprises a plurality of entries for respective data pages with each such entry comprising a logical address of its data page and a corresponding content-based signature of that data page.

16. The method of claim 14 wherein maintaining a content-based signature cache for a plurality of data pages comprises:

sending write operations each targeting one or more data pages to the distributed content addressable storage system;

receiving from the distributed content addressable storage system content-based signatures for respective ones of the data pages; and

storing the content-based signatures in the content-based signature cache in association with respective logical addresses of the corresponding data pages.

17. The method of claim 14 wherein the mapping table comprises a hash-to-data mapping table that maps hashes of respective data pages to data modules of respective corresponding storage nodes that store the data pages in the distributed content addressable storage system.

18. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device:

to maintain in a host device a content-based signature cache for a plurality of data pages; and

for each of a plurality of read operations to be directed from the host device to a distributed content addressable storage system that is separate from the host device:

to determine if a data page targeted by the read operation has a corresponding content-based signature in the content-based signature cache; and

responsive to the data page having a content-based signature in the content-based signature cache:

to identify a particular storage node that stores the data page in the distributed content addressable storage system; and

to direct the read operation to the identified storage node using the content-based signature to specify the data page targeted by the read operation;

wherein identifying a particular storage node that stores the data page in the distributed content addressable storage system comprises using the content-based signature of the data page to access a mapping table that maps content-based signatures to respective ones of a plurality of storage nodes that store the data pages in the distributed content addressable storage system.

19. The computer program product of claim 18 wherein the content-based signature cache comprises a plurality of entries for respective data pages with each such entry comprising a logical address of its data page and a corresponding content-based signature of that data page.

20. The computer program product of claim 18 wherein maintaining a content-based signature cache for a plurality of data pages comprises:

sending write operations each targeting one or more data pages to the distributed content addressable storage system;

receiving from the distributed content addressable storage system content-based signatures for respective ones of the data pages; and

storing the content-based signatures in the content-based signature cache in association with respective logical addresses of the corresponding data pages.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528) Recorded Jun 23, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2019
From: KAMRAN, LIOR; ALKALAY, AMITAI
To: DELL PRODUCTS L.P.
Reel/Frame 050823/0743 →
Continuity (1)
Related Publication 20210124686A1 · Apr 29, 2021
Cited By (1)
US 12,572,297