IP Library Granted Patent US 12,737,111
Granted Patent B2
US 12,737,111 · App. 18/611,860 · Granted Sep 15, 2026

Leveraging host accelerator resources to reduce storage system computational load

Inventors: Sanjib Mallick (Bangalore, IN); Vinay G. Rao (Bangalore, IN); Yevgeni Gehtman (Modi'in, IL); Tomer Shachar (Beer-Sheva, IL); Arieh Don (Newton, MA)
Assignee: Dell Products L.P.
G06F3/0604G06F3/0623G06F3/0635G06F3/0641G06F3/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,737,111
App. No.
18/611,860
Granted
Sep 15, 2026
Kind
B2
Abstract

An apparatus illustratively comprises at least one processing device that includes a processor and a memory, with the processing device being configured to obtain in a host device deduplication information relating to a logical storage device of a storage system, wherein the host device comprises acceleration resources and is configured to communicate with the storage system over at least one network, and to determine based at least in part on the obtained deduplication information whether to compute a content-based signature for one or more data blocks of the logical storage device utilizing the acceleration resources of the host device. Responsive to an affirmative result of the determining, the content-based signature is computed utilizing the acceleration resources of the host device and sent by the host device to the storage system in association with a given write operation that targets the one or more data blocks of the logical storage device.

Claims (49)

1 . An apparatus comprising:

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

the at least one processing device being configured:

to obtain in a host device deduplication information relating to a logical storage device of a storage system, wherein the host device comprises acceleration resources and is configured to communicate with the storage system over at least one network, wherein obtaining the deduplication information in the host device comprises the host device requesting the deduplication information from the storage system and receiving the deduplication information from the storage system in response to the request, the deduplication information being stored by the storage system in a storage-side data structure in association with an identifier of the logical storage device and comprising one or more statistical measures characterizing results of one or more deduplication operations previously performed in the storage system for at least a subset of a plurality of data blocks of the logical storage device; and

to determine based at least in part on the obtained deduplication information whether to compute a content-based signature for one or more of the plurality of data blocks of the logical storage device utilizing the acceleration resources of the host device, wherein utilization of the acceleration resources of the host device is controlled by the host device based at least in part on the obtained deduplication information comprising the one or more statistical measures characterizing the results of the one or more deduplication operations previously performed in the storage system;

wherein responsive to an affirmative result of the determining, the content-based signature is computed utilizing the acceleration resources of the host device and sent by the host device to the storage system in association with a given write operation that targets the one or more data blocks of the logical storage device; and

wherein responsive to a negative result of the determining, the content-based signature is not computed utilizing the acceleration resources of the host device and the given write operation is sent by the host device to the storage system without the content-based signature.

2 . The apparatus of claim 1 wherein the at least one processing device comprises at least the host device.

3 . The apparatus of claim 1 wherein the acceleration resources comprise at least one of one or more graphics processing units (GPUs) and one or more data processing units (DPUs) implemented within the host device.

4 . The apparatus of claim 1 wherein the content-based signature is computed for the one or more data blocks of the logical storage device by applying a secure hashing algorithm to the one or more data blocks.

5 . The apparatus of claim 1 wherein the at least one processing device is further configured:

to send a designated command from the host device to the storage system to obtain in response thereto from the storage system an indication as to whether or not the storage system supports leveraging of the acceleration resources of the host device to compute the content-based signature; and

to initiate the determining based at least in part on the obtained indication.

6 . The apparatus of claim 1 wherein the at least one processing device is further configured:

to send a designated command from the host device to the storage system to obtain in response thereto from the storage system an indication as to a particular deduplication process utilized by the storage system for the logical storage device; and

to initiate the determining based at least in part on the obtained indication.

7 . The apparatus of claim 1 wherein the deduplication information comprises at least a deduplication rate for at least a portion of the logical storage device.

8 . The apparatus of claim 7 wherein determining based at least in part on the obtained deduplication information whether to compute the content-based signature for the one or more data blocks of the logical storage device utilizing the acceleration resources of the host device comprises:

comparing the deduplication rate to a threshold;

responsive to the deduplication rate being at or above the threshold, reaching the affirmative result of the determining; and

responsive to the deduplication rate being below the threshold, reaching the negative result of the determining.

9 . The apparatus of claim 1 wherein obtaining in the host device the deduplication information relating to the logical storage device comprises sending a designated command from the host device to the storage system to obtain the deduplication information from the storage system in response to the designated command.

10 . The apparatus of claim 1 wherein the content-based signature is sent from the host device to the storage system in a header of the given write operation.

11 . The apparatus of claim 10 wherein a payload of the given write operation comprises the one or more data blocks from which the content-based signature in the header was computed utilizing the acceleration resources of the host device.

12 . The apparatus of claim 1 wherein a header of the given write operation includes an indication as to whether or not acceleration resources of the host device have been utilized to compute the content-based signature.

13 . The apparatus of claim 1 wherein a header of the given write operation includes a plurality of content-based signatures computed utilizing the acceleration resources of the host device for respective different sets of one or more data blocks of the logical storage device that are targeted by the given write operation.

14 . The apparatus of claim 1 wherein the storage system is configured:

to determine whether or not the content-based signature received from the host device in association with the given write operation is recognized by the storage system as corresponding to an existing content-based signature already present in the storage system; and

responsive to the content-based signature not being recognized by the storage system, to obtain the one or more data blocks from the given write operation and to store the one or more data blocks in association with the content-based signature.

15 . 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 comprising a processor coupled to a memory, causes the at least one processing device:

to obtain in a host device deduplication information relating to a logical storage device of a storage system, wherein the host device comprises acceleration resources and is configured to communicate with the storage system over at least one network, wherein obtaining the deduplication information in the host device comprises the host device requesting the deduplication information from the storage system and receiving the deduplication information from the storage system in response to the request, the deduplication information being stored by the storage system in a storage-side data structure in association with an identifier of the logical storage device and comprising one or more statistical measures characterizing results of one or more deduplication operations previously performed in the storage system for at least a subset of a plurality of data blocks of the logical storage device; and

to determine based at least in part on the obtained deduplication information whether to compute a content-based signature for one or more of the plurality of data blocks of the logical storage device utilizing the acceleration resources of the host device, wherein utilization of the acceleration resources of the host device is controlled by the host device based at least in part on the obtained deduplication information comprising the one or more statistical measures characterizing the results of the one or more deduplication operations previously performed in the storage system;

wherein responsive to an affirmative result of the determining, the content-based signature is computed utilizing the acceleration resources of the host device and sent by the host device to the storage system in association with a given write operation that targets the one or more data blocks of the logical storage device; and

wherein responsive to a negative result of the determining, the content-based signature is not computed utilizing the acceleration resources of the host device and the given write operation is sent by the host device to the storage system without the content-based signature.

16 . The computer program product of claim 15 wherein the deduplication information comprises at least a deduplication rate for at least a portion of the logical storage device, and further wherein determining based at least in part on the obtained deduplication information whether to compute the content-based signature for the one or more data blocks of the logical storage device utilizing the acceleration resources of the host device comprises:

comparing the deduplication rate to a threshold;

responsive to the deduplication rate being at or above the threshold, reaching the affirmative result of the determining; and

responsive to the deduplication rate being below the threshold, reaching the negative result of the determining.

17 . The computer program product of claim 15 wherein the content-based signature is sent from the host device to the storage system in a header of the given write operation.

18 . A method comprising:

obtaining in a host device deduplication information relating to a logical storage device of a storage system, wherein the host device comprises acceleration resources and is configured to communicate with the storage system over at least one network, wherein obtaining the deduplication information in the host device comprises the host device requesting the deduplication information from the storage system and receiving the deduplication information from the storage system in response to the request, the deduplication information being stored by the storage system in a storage-side data structure in association with an identifier of the logical storage device and comprising one or more statistical measures characterizing results of one or more deduplication operations previously performed in the storage system for at least a subset of a plurality of data blocks of the logical storage device; and

determining based at least in part on the obtained deduplication information whether to compute a content-based signature for one or more of the plurality of data blocks of the logical storage device utilizing the acceleration resources of the host device, wherein utilization of the acceleration resources of the host device is controlled by the host device based at least in part on the obtained deduplication information comprising the one or more statistical measures characterizing the results of the one or more deduplication operations previously performed in the storage system;

wherein responsive to an affirmative result of the determining, the content-based signature is computed utilizing the acceleration resources of the host device and sent by the host device to the storage system in association with a given write operation that targets the one or more data blocks of the logical storage device; and

wherein responsive to a negative result of the determining, the content-based signature is not computed utilizing the acceleration resources of the host device and the given write operation is sent by the host device to the storage system without the content-based signature.

19 . The method of claim 18 wherein the deduplication information comprises at least a deduplication rate for at least a portion of the logical storage device, and further wherein determining based at least in part on the obtained deduplication information whether to compute the content-based signature for the one or more data blocks of the logical storage device utilizing the acceleration resources of the host device comprises:

comparing the deduplication rate to a threshold;

responsive to the deduplication rate being at or above the threshold, reaching the affirmative result of the determining; and

responsive to the deduplication rate being below the threshold, reaching the negative result of the determining.

20 . The method of claim 18 wherein the content-based signature is sent from the host device to the storage system in a header of the given write operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2024
From: MALLICK, SANJIB; RAO, VINAY G.; GEHTMAN, YEVGENI; SHACHAR, TOMER; DON, ARIEH
To: DELL PRODUCTS L.P.
Reel/Frame 066852/0708 →
Continuity (1)
Related Publication 20250298507A1 · Sep 25, 2025
References Cited (141)
US 6567397B1 · Campana, Jr. et al. · 2003 [cited by applicant]
US 6687746B1 · Shuster et al. · 2004 [cited by applicant]
US 6697875B1 · Wilson · 2004 [cited by applicant]
US 7275103B1 · Thrasher et al. · 2007 [cited by applicant]
US 7454437B1 · Lavallee et al. · 2008 [cited by applicant]
US 7617292B2 · Moore et al. · 2009 [cited by applicant]
US 7668981B1 · Nagineni et al. · 2010 [cited by applicant]
US 7770053B1 · Bappe et al. · 2010 [cited by applicant]
US 7809912B1 · Raizen et al. · 2010 [cited by applicant]
US 7818428B1 · Lavallee et al. · 2010 [cited by applicant]
US 7890664B1 · Tao et al. · 2011 [cited by applicant]
US 7904681B1 · Bappe et al. · 2011 [cited by applicant]
US 7925872B2 · Lai et al. · 2011 [cited by applicant]
US 8250256B2 · Ghosalkar et al. · 2012 [cited by applicant]
US 8285825B1 · Nagaraj et al. · 2012 [cited by applicant]
US 8825919B1 · Lim et al. · 2014 [cited by applicant]
US 8832334B2 · Okita · 2014 [cited by applicant]
US 8874746B1 · Gonzalez · 2014 [cited by applicant]
US 9026694B1 · Davidson et al. · 2015 [cited by applicant]
US 9201803B1 · Derbeko et al. · 2015 [cited by applicant]
US 9400611B1 · Raizen · 2016 [cited by applicant]
US 9430368B1 · Derbeko et al. · 2016 [cited by applicant]
US 9594780B1 · Esposito et al. · 2017 [cited by applicant]
US 9647933B1 · Tawri et al. · 2017 [cited by applicant]
US 9672160B1 · Derbeko et al. · 2017 [cited by applicant]
US 9778852B1 · Marshak et al. · 2017 [cited by applicant]
US 10289325B1 · Bono · 2019 [cited by applicant]
US 10353714B1 · Gokam et al. · 2019 [cited by applicant]
US 10439878B1 · Tah et al. · 2019 [cited by applicant]
US 10474367B1 · Mallick et al. · 2019 [cited by applicant]
US 10476960B1 · Rao et al. · 2019 [cited by applicant]
US 10521369B1 · Mallick et al. · 2019 [cited by applicant]
US 10606496B1 · Mallick et al. · 2020 [cited by applicant]
US 10637917B2 · Mallick et al. · 2020 [cited by applicant]
US 10652206B1 · Pusalkar et al. · 2020 [cited by applicant]
US 10678778B1 · Chalmer · 2020 [cited by examiner]
US 10754572B2 · Kumar et al. · 2020 [cited by applicant]
US 10757189B2 · Mallick et al. · 2020 [cited by applicant]
US 10764371B2 · Rao et al. · 2020 [cited by applicant]
US 10789006B1 · Gokam et al. · 2020 [cited by applicant]
US 10817181B2 · Mallick et al. · 2020 [cited by applicant]
US 10838648B2 · Sharma et al. · 2020 [cited by applicant]
US 10880217B2 · Mallick et al. · 2020 [cited by applicant]
US 10884935B1 · Doddaiah · 2021 [cited by applicant]
US 10911402B2 · Pusalkar et al. · 2021 [cited by applicant]
US 10936220B2 · Mallick et al. · 2021 [cited by applicant]
US 10936335B2 · Mallick et al. · 2021 [cited by applicant]
US 10949104B2 · Marappan et al. · 2021 [cited by applicant]
US 10996879B2 · Gokam · 2021 [cited by applicant]
US 11016699B2 · Anchi et al. · 2021 [cited by applicant]
US 11016783B2 · Rao et al. · 2021 [cited by applicant]
US 11044313B2 · Patel et al. · 2021 [cited by applicant]
US 11044347B2 · Kumar et al. · 2021 [cited by applicant]
US 11050660B2 · Rao et al. · 2021 [cited by applicant]
US 11093155B2 · Anchi et al. · 2021 [cited by applicant]
US 11106381B2 · Rao et al. · 2021 [cited by applicant]
US 11126358B2 · Kumar et al. · 2021 [cited by applicant]
US 11126363B2 · Tidke et al. · 2021 [cited by applicant]
US 11157203B2 · Gokam et al. · 2021 [cited by applicant]
US 11366771B2 · Smith et al. · 2022 [cited by applicant]
US 11615340B2 · Mallick et al. · 2023 [cited by applicant]
US 20020023151A1 · Iwatani · 2002 [cited by applicant]
US 20020103923A1 · Cherian et al. · 2002 [cited by applicant]
US 20040010563A1 · Forte et al. · 2004 [cited by applicant]
US 20060026346A1 · Kadoiri et al. · 2006 [cited by applicant]
US 20060277383A1 · Hayden et al. · 2006 [cited by applicant]
US 20070174849A1 · Cheung et al. · 2007 [cited by applicant]
US 20080043973A1 · Lai et al. · 2008 [cited by applicant]
US 20080201458A1 · Salli · 2008 [cited by applicant]
US 20080301332A1 · Butler et al. · 2008 [cited by applicant]
US 20090259749A1 · Barrett et al. · 2009 [cited by applicant]
US 20100313063A1 · Venkataraja et al. · 2010 [cited by applicant]
US 20110197027A1 · Balasubramanian et al. · 2011 [cited by applicant]
US 20110296230A1 · Chen et al. · 2011 [cited by applicant]
US 20120102369A1 · Hiltunen et al. · 2012 [cited by applicant]
US 20120246345A1 · Contreras et al. · 2012 [cited by applicant]
US 20130117766A1 · Bax et al. · 2013 [cited by applicant]
US 20130339551A1 · Flanagan et al. · 2013 [cited by applicant]
US 20140105068A1 · Xu · 2014 [cited by applicant]
US 20150222705A1 · Stephens · 2015 [cited by applicant]
US 20150242134A1 · Takada et al. · 2015 [cited by applicant]
US 20160092136A1 · Balakrishnan et al. · 2016 [cited by applicant]
US 20160117113A1 · Li et al. · 2016 [cited by applicant]
US 20160335003A1 · Ahmed et al. · 2016 [cited by applicant]
US 20170235507A1 · Sinha et al. · 2017 [cited by applicant]
US 20180189635A1 · Olarig et al. · 2018 [cited by applicant]
US 20180253256A1 · Bharadwaj · 2018 [cited by applicant]
US 20180317101A1 · Koue · 2018 [cited by applicant]
US 20190095299A1 · Liu et al. · 2019 [cited by applicant]
US 20190108888A1 · Sarkar et al. · 2019 [cited by applicant]
US 20190334987A1 · Mallick et al. · 2019 [cited by applicant]
US 20200021653A1 · Rao et al. · 2020 [cited by applicant]
US 20200097203A1 · Mallick et al. · 2020 [cited by applicant]
US 20200106698A1 · Rao et al. · 2020 [cited by applicant]
US 20200110552A1 · Kumar et al. · 2020 [cited by applicant]
US 20200112608A1 · Patel et al. · 2020 [cited by applicant]
US 20200192588A1 · Kumar et al. · 2020 [cited by applicant]
US 20200204475A1 · Mallick et al. · 2020 [cited by applicant]
US 20200204495A1 · Mallick et al. · 2020 [cited by applicant]
US 20200213274A1 · Pusalkar et al. · 2020 [cited by applicant]
US 20200241890A1 · Mallick et al. · 2020 [cited by applicant]
US 20200314218A1 · Kumar et al. · 2020 [cited by applicant]
US 20200348860A1 · Mallick et al. · 2020 [cited by applicant]
US 20200348861A1 · Marappan et al. · 2020 [cited by applicant]
US 20200348869A1 · Gokam · 2020 [cited by applicant]
US 20200349094A1 · Smith et al. · 2020 [cited by applicant]
US 20200363985A1 · Gokam et al. · 2020 [cited by applicant]
US 20200372401A1 · Mallick et al. · 2020 [cited by applicant]
US 20210019054A1 · Anchi et al. · 2021 [cited by applicant]
US 20210026551A1 · Tidke et al. · 2021 [cited by applicant]
US 20210026650A1 · Rao et al. · 2021 [cited by applicant]
US 20210157502A1 · Rao et al. · 2021 [cited by applicant]
US 20210181965A1 · Anchi et al. · 2021 [cited by applicant]
US 20220121361A1 · Kamran · 2022 [cited by examiner]
US 20230102067A1 · Richardson · 2023 [cited by examiner]
US 20230126783A1 · Hu · 2023 [cited by examiner]
CN 103677927B · 2017 [cited by applicant]
EP 1117028A2 · 2001 [cited by applicant]
EP 2667569A1 · 2013 [cited by applicant]
WO WO2024041140A1 · 2024 [cited by examiner]
WO WO2025110261A1 · 2025 [cited by examiner]
Al-Kiswany et al., GPUs as Storage System Accelerators, IEEE Transactions on Parallel and Distributed Systems (vol. 24, Issue: 8, pp. 1556-1566). (Year: 2012). [cited by examiner]
International Search Report and Written Opinion of PCT/US2019/052549 dated Dec. 4, 2019, 13 pages. [cited by applicant]
International Search Report and Written Opinion of PCT/US2019/053204 dated Dec. 16, 2019, 40 pages. [cited by applicant]
International Search Report and Written Opinion of PCT/US2019/053473 dated Dec. 19, 2019, 16 pages. [cited by applicant]
International Search Report and Written Opinion of PCT/US2019/067144 dated May 4, 2020, 26 pages. [cited by applicant]
Kris Piepho, “Dell EMC SC Series Storage: Microsoft Multipath I/O,” Dell EMC Best Practices, Jan. 2017, 57 pages. [cited by applicant]
NVM Express, “NVM Express, Revision 1.3,” NVM Express, May 1, 2017, 282 pages. [cited by applicant]
VMWare, “Multipathing Configuration for Software iSCSI Using Port Binding,” Technical White Paper, Apr. 25, 2012, 15 pages. [cited by applicant]
Dell EMC, “Dell EMC SC Series Storage: Microsoft Multipath I/O,” Dell EMC Engineering, Jun. 2017, 56 pages. [cited by applicant]
Dell EMC, “Dell EMC PowerPath Family: PowerPath and PowerPath/VE Multipathing,” Data Sheet, 2017, 3 pages. [cited by applicant]
EMC, “EMC PowerPath and PowerPath/VE Family for Windows,” Installation and Administration Guide, Oct. 2018, 102 pages. [cited by applicant]
EMC, “EMC Powerpath Load Balancing and Failover”, Comparison with native MPIO operating system solutions, Feb. 2011, 28 pages. [cited by applicant]
Dell EMC, “PowerMax OS,” Dell EMC PowerMax Family Product Guide, May 2019, 192 pages. [cited by applicant]
Dell EMC, “Dell EMC SC Series Storage and Microsoft Multipath I/O,” CML 1004, Jul. 2018, 36 pages. [cited by applicant]
VMWare, Inc. “VMware VMFS Volume Management,” 2009, 8 pages. [cited by applicant]
Dell EMC, “Dell EMC Unity: Virtualization Integration,” Technical White Paper, Oct. 2019, 39 pages. [cited by applicant]
Dell EMC, “Dell EMC PowerMax: iSCSI Implementation for Dell EMC Storage Arrays Running PowerMaxOS,” Technical White Paper, Sep. 2019, 35 pages. [cited by applicant]
NVM Express, “NVM Express Base Specification, Revision 2.0a,” NVM Express, Jul. 23, 2021, 454 pages. [cited by applicant]
NVM Express, “NVM Express Base Specification, Revision 2.0b,” NVM Express, Jan. 6, 2022, 455 pages. [cited by applicant]
Seagate Technology LLC, “SCSI Commands Reference Manual,” Fibre Channel (FC) Serial Attached SCSI (SAS), Publication No. 100293068, Rev. J, Oct. 2016, 518 pages. [cited by applicant]