IP Library Granted Patent US 12687979
Granted Patent B2
US 12687979 · App. 18/304,099 · Granted Jul 21, 2026

Offloading data compression during restores to a data processing unit in a deduplication backup system

Inventors: Bhimsen Bhanjois (Fremont, CA); Donna Barry Lewis (Holly Springs, NC); Chegu Vinod (San Jose, CA)
Assignee: Dell Products L.P.
G06F3/0641G06F3/0626G06F3/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 12687979
App. No.
18/304,099
Granted
Jul 21, 2026
Kind
B2
Abstract

Embodiments for performing the inline deduplication by filtering streaming data as it is received by a backup client through a backup server executing a backup process. A data processing unit (DPU) is deployed to offload certain processing operations performed by a central processing unit (CPU) of the backup client. An inline deduplication operation comprises file operations, data segmentation, segment fingerprinting, compression, and encryption prior to storage in a backup target. The DPU is deployed and configured to perform the compression and encryption steps. It is also configured to perform decompression tasks offloaded by the client for reading compressed data during restore operations.

Claims (24)

1 . A computer-implemented method of optimizing client-side restores of backup data in a system optimized for client-side inline deduplication of backup data, comprising:

performing the inline deduplication by filtering streaming data as it is received by a backup client through a backup server executing a backup process executed by a data storage server running a Data Domain File System (DDFS);

receiving, in a backup client, compressed backup data stored by a storage server, wherein the backup client utilizes a Data Domain (DD) Boost application program interface (API) to access a DD Boost library that comprises a Data Domain Protocol (DDP) Layer managing client resources and translating backend processing into application consumable APIs, and wherein the backup data is copied into buffers within the backup client;

providing, in a central processing unit (CPU) of the backup client, a decompression process to decompress the compressed backup data;

deploying a data processing unit (DPU) functionally coupled to the CPU to perform at least some of the decompression process performed by the CPU, wherein the DPU comprises a system on a chip (SoC) device that operates independently of the CPU with independent microcode to operate as a virtual machine operating in reduced-privilege mode relative to the CPU, and that comprises accelerators for specific offload functions;

offloading an entire deduplication stack to the DPU to offload segmentation and fingerprinting operations in addition to compression and encryption operations to the DPU;

extending the API to utilize resources of the DPU to reduce a bandwidth requirement for data ingests;

restoring the streaming data backed up by the inline deduplication of the backup process by: receiving a compressed-restore request sent from the storage server for retrieval of the backup data by the client after compression by the storage server, decompressing backup data compressed by the storage server in the backup client using the DPU by including a dedicated read request to a compressor executing in the DPU, performing deduplication tasks initiated by a dedicated write request so that both client deduplication and decompression tasks are offloaded to the DPU.

2 . The method of claim 1 wherein the backup storage server generates the compressed backup data by:

performing, in the CPU, a segmentation process to determine where to break the streaming data into a plurality of segments; and

calculating, in the CPU, a reference for each segment of the plurality of segments.

3 . The method of claim 2 wherein the DPU further performs at least some of the processing performed by the CPU including compressing, in the DPU, each segment, and encrypting each compressed segment.

4 . The method of claim 3 wherein the DPU comprises a hardware compression and encryption accelerator component, and a decompressor, and further wherein the CPU comprises data buffers, reference buffers, segment buffers executing a distributed segment processing send file loop for backup read and restore write operations.

5 . The method of claim 4 wherein the DD Boost library performs at least the segmentation and the reference calculating steps.

6 . The method of claim 5 wherein the DD Boost library provides an option to use a compression feature that comprises at least part of the compressing.

7 . A computer-implemented method of optimizing client-side inline deduplication of backup data in a backup client, comprising:

performing the inline deduplication by filtering streaming data as it is received by the backup client for a backup process executed through a backup server executed by a data storage server running a Data Domain File System (DDFS);

deploying a data processing unit (DPU) functionally coupled to the CPU to perform at least some of the inline deduplication performed by the CPU, wherein the DPU comprises a system on a chip (SoC) device that operates independently of the CPU with independent microcode to operate as a virtual machine operating in reduced-privilege mode relative to the CPU, and further wherein the DPU comprises accelerators for specific offload functions;

compressing, during a restore process from the backup server to the backup client, data read by the client after decompression, wherein the backup client utilizes a Data Domain (DD) Boost application program interface (API) to access a DD Boost library that comprises a Data Domain Protocol (DDP) Layer managing client resources and translating backend processing into application consumable APIs, and wherein the backup data is copied into buffers within the backup client;

extending the API to utilize resources of the DPU to reduce a bandwidth requirement for data ingests;

offloading an entire deduplication stack to the DPU to offload segmentation and fingerprinting operations in addition to compression and encryption operations to the DPU; and

restoring the streaming data backed up by the inline deduplication of the backup process by: receiving a compressed-restore request sent from the storage server for retrieval of the backup data by the client after compression by the storage server, decompressing backup data compressed by the storage server in the backup client using the DPU by including a dedicated read request to a compressor executing in the DPU, performing deduplication tasks initiated by a dedicated write request so that both client deduplication and decompression tasks are offloaded to the DPU.

8 . The method of claim 7 wherein the DPU comprises data buffers, reference buffers, segment buffers executing a distributed segment processing send and read file loop and further comprises a hardware compression accelerator component, and a decompression component.

9 . The method of claim 8 wherein the DD Boost library provides an option to use a compression feature that comprises at least part of the compressing.