IP Library Granted Patent US 11,657,018
Granted Patent B2
US 11,657,018 · App. 17/215,122 · Granted May 23, 2023

System and method for data-layout aware decompression and verification using a hardware accelerator chain

Inventors: Colin Zou (San Jose, CA); Tao Chen (Beijing, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F15/8092G06F9/44589G06F9/5044G06F9/545G06F9/546
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,657,018
App. No.
17/215,122
Granted
May 23, 2023
Kind
B2
Abstract

A computer implemented method of data decompression and verification includes decompressing a compressed data segment to generate a decompressed data region. The method also includes generating a segment vector array (SVA) including a number of segment vectors corresponding to data segments within the decompressed data region, each segment vector indicating a location and a size of a corresponding data segment. The method also includes transmitting the SVA to a chain plugin module and transmitting segment vector array data to a SVA-based message constructor. The method also includes constructing a SVA-based message including the location and size of data segments within the decompressed data region, and transmitting the SVA-based message to a hardware accelerator. The method also includes performing verification sessions at the hardware accelerator, each verification session corresponding to a specific data segment indicated by the SVA-based message.

Claims (42)

1. A computer implemented method of data decompression and verification, comprising:

decompressing a compressed data segment to generate a decompressed data region;

generating a segment vector array (SVA) including a plurality of segment vectors corresponding to data segments within the decompressed data region, each segment vector indicating a location and a size of a corresponding data segment;

transmitting the SVA to a chain plugin module;

transmitting segment vector array data to a SVA-based message constructor;

constructing a SVA-based message including the location and size of data segments within the decompressed data region;

transmitting the SVA-based message to a hardware accelerator; and

performing a plurality of verification sessions at the hardware accelerator, each verification session corresponding to a specific data segment indicated by the SVA-based message.

2. The computer implemented method as in claim 1 , wherein the chain plugin module is located within a user space along with a filesystem responsible for generating the segment vector array.

3. The computer implemented method as in claim 2 , wherein the SVA-based message constructor is located within a kernel space along with the hardware accelerator.

4. The computer implemented method as in claim 1 , wherein the hardware accelerator performs the plurality of verification sessions in a verification sequence that is different than a sequence corresponding to the location of the data segments within the decompressed data region.

5. The computer implemented method as in claim 1 , wherein transmitting the SVA-based message to the hardware accelerator provides the hardware accelerator with a data layout of the decompressed data region.

6. The computer implemented method as in claim 5 , wherein providing the hardware accelerator with the data layout of the decompressed data region reduces a number of context switches between a user space and a kernel space.

7. The computer implemented method as in claim 5 , wherein providing the hardware accelerator with the data layout of the decompressed data region reduces a number of hardware accelerator session launches.

8. A data decompression and verification system comprising:

a hardware accelerator for decompressing data to generate a decompressed data region and performing data verification;

a filesystem configured to generate a segment vector array (SVA) including a plurality of segment vectors corresponding to data segments within the decompressed data region, each segment vector indicating a location and a size of a corresponding data segment;

a chain plugin module configured to receive the SVA from the filesystem; and

a SVA-based message constructor configured to:

receive segment vector array data from the chain plugin module;

construct a SVA-based message including the location and size of data segments within the decompressed data region; and

transmit the SVA-based message to the hardware accelerator,

wherein the hardware accelerator is further configured to perform a plurality of verification sessions, each verification session corresponding to a specific data segment indicated by the SVA-based message.

9. The data decompression and verification system as in claim 8 , wherein the chain plugin module is located within a user space along with the filesystem responsible for generating the SVA.

10. The data decompression and verification system as in claim 9 , wherein the SVA-based message constructor is located within a kernel space along with the hardware accelerator.

11. The data decompression and verification system as in claim 8 , wherein the hardware accelerator performs the plurality of verification sessions in a verification sequence that is different than a sequence corresponding to the location of the data segments within the decompressed data region.

12. The data decompression and verification system as in claim 8 , wherein transmitting the SVA-based message to the hardware accelerator provides the hardware accelerator with a data layout of the decompressed data region.

13. The data decompression and verification system as in claim 12 , wherein providing the hardware accelerator with the data layout of the decompressed data region reduces a number of context switches between a user space and a kernel space.

14. The data decompression and verification system as in claim 12 , wherein providing the hardware accelerator with the data layout of the decompressed data region reduces a number of hardware accelerator session launches.

15. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform a data decompression and verification operation, the operation comprising:

decompressing a compressed data segment to generate a decompressed data region;

generating a segment vector array (SVA) including a plurality of segment vectors corresponding to data segments within the decompressed data region, each segment vector indicating a location and a size of a corresponding data segment;

transmitting the SVA to a chain plugin module;

transmitting segment vector array data to a SVA-based message constructor;

constructing a SVA-based message including the location and size of data segments within the decompressed data region;

transmitting the SVA-based message to a hardware accelerator; and

performing a plurality of verification sessions at the hardware accelerator, each verification session corresponding to a specific data segment indicated by the SVA-based message.

16. The non-transitory computer-readable medium as in claim 15 , wherein the chain plugin module is located within a user space along with a filesystem responsible for generating the segment vector array.

17. The non-transitory computer-readable medium as in claim 16 , wherein the SVA-based message constructor is located within a kernel space along with the hardware accelerator.

18. The non-transitory computer-readable medium as in claim 15 , wherein the hardware accelerator performs the plurality of verification sessions in a verification sequence that is different than a sequence corresponding to the location of the data segments within the decompressed data region.

19. The non-transitory computer-readable medium as in claim 15 , wherein transmitting the SVA-based message to the hardware accelerator provides the hardware accelerator with a data layout of the decompressed data region.

20. The non-transitory computer-readable medium as in claim 19 , wherein providing the hardware accelerator with the data layout of the decompressed data region reduces a number of context switches between a user space and a kernel space.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) 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/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) 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/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) 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 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 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 056295/0124 →
SECURITY INTEREST Recorded May 19, 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 056295/0001 →
SECURITY INTEREST Recorded May 19, 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 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: ZOU, COLIN; CHEN, TAO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055781/0085 →
Continuity (1)
Related Publication 20220309030A1 · Sep 29, 2022