IP Library › Granted Patent US 12,393,441
Granted Patent B2
US 12,393,441 · App. 18/416,481 · Granted Aug 19, 2025

Smartnic based virtual splitter ensuring microsecond latencies

Inventors: Jehuda Shemer (Kfar Saba, IL); Srinivas Kangyampeta (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F9/45558G06F3/0611G06F3/0659G06F3/0664G06F3/0673G06F9/545G06F9/45541G06F2009/45583
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,393,441
App. No.
18/416,481
Granted
Aug 19, 2025
Kind
B2
Abstract

A data protection system includes a splitter configured to reduce latencies when splitting writes in a computing environment. The splitter captures a write and adds metadata to augment the write with virtual related information. The augmented data is provided to a smartNIC while the write is then processed in the IO stack. The smartNIC may have a volume only visible to the splitter. The smartNIC also includes processing power that allows data protection operations to be performed at the smartNIC rather than with the processing resources of the host.

Claims (37)

1. A method comprising:

receiving a write from an application at a filter framework implemented in a write path of a computing environment;

generating an augmented write by adding metadata to the write, wherein the metadata includes information for a destination of the write and an offset of the write in the destination;

transmitting the augmented write to a splitter component on a network interface card, wherein the splitter component is associated with a memory for storing the augmented write;

processing the augmented write stored in the memory of the network interface card; and

processing the write in the write path such that the write is committed to storage in the computing environment.

2. The method of claim 1 , wherein the destination comprises a virtual disk and an offset of the write in the virtual disk or a container and an offset of the write in the container.

3. The method of claim 1 , further comprising invoking a filter to augment the write, wherein the filter framework and the filter are implemented in a hypervisor or a container management layer.

4. The method of claim 1 , further comprising processing the augmented write at the network interface card, wherein the network interface card is a smart network interface and the processing includes one or more of resolving the write with other writes, compressing the write, deduplicating the write, encrypting the write, batching the write, and transmitting the write to a data protection system over a network.

5. The method of claim 3 , further comprising implementing a volume at the network interface card in the memory, wherein the volume is only visible to the filter framework and/or the filter.

6. The method of claim 5 , further comprising adding the metadata using a shared memory, wherein the shared memory is shared by the network interface card and the filter.

7. The method of claim 5 , further comprising adding the metadata using a fake write command to the volume and storing the fake write command until the write is received through the write path.

8. The method of claim 1 , further comprising transmitting the augmented write to the splitter component without further processing of the augmented write in a write stack.

9. The method of claim 1 , further comprising processing the write in the write path after the filter component acknowledges the augmented write to the filter.

10. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

receiving a write from an application at a filter framework implemented in a write path of a computing environment;

generating an augmented write by adding metadata to the write, wherein the metadata includes information for a destination of the write and an offset of the write in the destination;

transmitting the augmented write to a splitter component on a network interface card, wherein the splitter component is associated with a memory for storing the augmented write;

processing the augmented write stored in the memory of the network interface card; and

processing the write in the write path such that the write is committed to storage in the computing environment.

11. The non-transitory storage medium of claim 10 , wherein the destination comprises a virtual disk and an offset of the write in the virtual disk or a container and an offset of the write in the container.

12. The non-transitory storage medium of claim 10 , further comprising invoking a filter to augment the write, wherein the filter framework and the filter are implemented in a hypervisor or a container management layer.

13. The non-transitory storage medium of claim 10 , further comprising processing the augmented write at the network interface card, wherein the network interface card is a smart network interface and the processing includes one or more of resolving the write with other writes, compressing the write, deduplicating the write, encrypting the write, batching the write, and transmitting the write to a data protection system over a network.

14. The non-transitory storage medium of claim 12 , further comprising implementing a volume at the network interface card in the memory, wherein the volume is only visible to the filter framework and the filter.

15. The non-transitory storage medium of claim 14 , further comprising adding the metadata using a shared memory, wherein the shared memory is shared by the network interface card and the filter.

16. The non-transitory storage medium of claim 14 , further comprising adding the metadata using a fake write command to the volume and storing the fake write command until the write is received through the write path.

17. The non-transitory storage medium of claim 10 , further comprising transmitting the augmented write to the splitter component without further processing of the augmented write in a write stack.

18. The non-transitory storage medium of claim 10 , further comprising processing the write in the write path after the filter component acknowledges the augmented write to the filter.

19. A method comprising:

receiving a write generated by an application at a device, wherein the write flows to a write path to a first write stack portion;

receiving the write at a filter framework in a kernel space, wherein the filter framework initials a process of splitting the write;

transmitting the write to a filter in a user space, wherein the filter generates an augmented write and transmits the augmented write to a network interface card;

after receiving an acknowledgement from the network interface card that the augmented write has been received, transmitting the write to the filter framework, wherein the filter framework passes the write to a second stack portion;

storing the write, which now has a physical address, in a storage device.

20. The method of claim 19 , further comprising processing the augmented write at the network interface card, wherein the processing includes one or more of resolving the write with other writes, compressing the write, deduplicating the write, encrypting the write, batching the write, and transmitting the write to a data protection system over a network,

wherein the device is controller, and

wherein augmenting the write includes adding metadata that includes information for a destination of the write and an offset of the write in the destination.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: SHEMER, JEHUDA; KANGYAMPETA, SRINIVAS
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 066355/0865 →
Continuity (2)
Continuation 17191130 · Mar 3, 2021
Related Publication 20240152383A1 · May 9, 2024
References Cited (21)
US 8429362B1 · Natanzon · 2013 [cited by examiner]
US 9405765B1 · Natanzon · 2016 [cited by examiner]
US 9600553B1 · Nigade · 2017 [cited by examiner]
US 9659074B1 · Natanzon · 2017 [cited by examiner]
US 9875042B1 · Natanzon · 2018 [cited by examiner]
US 9959061B1 · Natanzon · 2018 [cited by examiner]
US 9965306B1 · Natanzon · 2018 [cited by examiner]
US 10120925B1 · Natanzon · 2018 [cited by examiner]
US 10191687B1 · Baruch · 2019 [cited by examiner]
US 10235061B1 · Natanzon · 2019 [cited by examiner]
US 10235091B1 · Ayzenberg · 2019 [cited by examiner]
US 10489058B2 · Zhao · 2019 [cited by examiner]
US 11513693B2 · Saad · 2022 [cited by examiner]
US 11775179B2 · Li · 2023 [cited by examiner]
US 20130198368A1 · Patterson · 2013 [cited by examiner]
US 20190296990A1 · Luuppala · 2019 [cited by examiner]
US 20200042619A1 · Venkataramani · 2020 [cited by examiner]
US 20210271390A1 · Shemer · 2021 [cited by examiner]
US 20210271391A1 · Azaria · 2021 [cited by examiner]
US 20220113878A1 · Saad · 2022 [cited by examiner]
US 20220283837A1 · Shemer · 2022 [cited by examiner]