IP Library Granted Patent US 9,973,210
Granted Patent B1
US 9,973,210 · App. 15/668,783 · Granted May 15, 2018

Reduction of execution stalls of LZ4 decompression via parallelization

Inventors: Aidan O Mahony (Togher, IE); Alesia Tringale (Worcester, MA); Jason Jerome Duquette (Milford, MA); Philip O'Carroll (Glenbrook, IE)
Assignee: EMC IP HOLDING COMPANY LLC
H03M7/6023H03M7/3086H03M7/6005
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 9,973,210
App. No.
15/668,783
Granted
May 15, 2018
Kind
B1
Abstract

A parallel decompression engine has separate hardware paths for sequence processing and repeated byte copying/placement. Literal byte extraction logic obtains literal bytes from a selected sequence. Literal byte write logic writes the obtained literal bytes into an uncompressed data set that is being generated. Offset and length extraction logic obtains the offset and length of repeated bytes from the selected sequence. In a separate hardware path, copying and placement logic uses the offset and length to find and copy the length of repeated bytes at the specified offset in the uncompressed data set, and place the copied repeated bytes back into the uncompressed data set adjacent to the literal bytes.

Claims (34)

1. An apparatus comprising:

a parallel decompression engine that processes a compressed data set to generate a corresponding uncompressed data set, the parallel decompression engine comprising:

sequence processing logic comprising:

literal byte extraction logic that obtains literal bytes from a selected sequence of the compressed data set;

literal byte write logic that writes the obtained literal bytes into the uncompressed data set; and

offset and length extraction logic that obtains an offset and length of repeated bytes from the selected sequence; and

copying and placement logic that uses the offset and length to copy the length of repeated bytes at the offset in the uncompressed data set, and place the copied repeated bytes at a location in the uncompressed data set adjacent to the literal bytes of the selected sequence;

wherein the sequence processing logic is implemented by a first hardware path and the copying and placement logic is implemented by a second hardware path.

2. The apparatus of claim 1 comprising a first special purpose integrated circuit in which the sequence processing logic is implemented, and a second special purpose integrated circuit in which the copying and placement logic is implemented.

3. The apparatus of claim 1 comprising a special purpose integrated circuit in which the parallel decompression engine is implemented, the special purpose integrated circuit comprising a first execution unit in which the sequence processing logic is implemented, and a second execution unit in which the copying and placement logic is implemented.

4. The apparatus of claim 1 comprising a first processor core in which the sequence processing logic is implemented, and a second processor core in which the copying and placement logic is implemented.

5. The apparatus of claim 1 comprising a first group of allocated processor cores in which the sequence processing logic is implemented, and a second group of allocated processor cores in which the copying and placement logic is implemented.

6. The apparatus of claim 5 comprising pairings of individual processor cores of the first group with individual processor cores of the second group.

7. The apparatus of claim 1 comprising a special purpose integrated circuit in which the sequence processing logic is implemented, and a general purpose multi-core processor in which the copying and placement logic is implemented.

8. The apparatus of claim 1 comprising a general purpose multi-core processor in which the sequence processing logic is implemented, and a special purpose integrated circuit in which the copying and placement logic is implemented.

9. The apparatus of claim 1 comprising a computing node in which the parallel decompression engine is implemented.

10. The apparatus of claim 9 comprising a storage array in which the computing node is implemented.

11. A method comprising:

generating an uncompressed data set from a compressed data set, comprising:

sequence processing in a first hardware path, comprising:

obtaining literal bytes from a selected sequence of the compressed data set;

writing the obtained literal bytes into the uncompressed data set; and

obtaining an offset and length of repeated bytes from the selected sequence; and

copying and placement processing in a second hardware path, comprising:

using the offset and length for copying the length of repeated bytes at the offset in the uncompressed data set, and placing the copied repeated bytes at a location in the uncompressed data set adjacent to the literal bytes of the selected sequence.

12. The method of claim 11 comprising performing sequence processing with a first special purpose integrated circuit, and performing copying and placement processing with a second special purpose integrated circuit.

13. The method of claim 11 comprising performing parallel decompression with a special purpose integrated circuit, comprising performing sequence processing with a first execution unit of the special purpose integrated circuit, and performing copying and placement processing with a second execution unit of the special purpose integrated circuit.

14. The method of claim 11 comprising performing sequence processing with a first processor core, and performing copying and placement processing with a second processor core.

15. The method of claim 11 comprising performing sequence processing with a first group of allocated processor cores, and performing copying and placement processing with a second group of allocated processor cores.

16. The method of claim 15 comprising pairing individual processor cores of the first group with individual processor cores of the second group.

17. The method of claim 11 comprising performing sequence processing with a special purpose integrated circuit, and performing copying and placement processing with a general purpose multi-core processor.

18. The method of claim 11 comprising performing sequence processing with a general purpose multi-core processor, and performing copying and placement processing with a special purpose integrated circuit.

19. The method of claim 11 comprising operating the parallel decompression engine in a computing node.

20. The method of claim 19 comprising operating the parallel decompression engine in a storage array.

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 (043775/0082) Recorded May 20, 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 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
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 Mar 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2017
From: DUQUETTE, JASON JEROME
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044013/0740 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
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 043775/0082 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2017
From: MAHONY, AIDAN O; TRINGALE, ALESIA; O'CARROLL, PHILIP
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043195/0801 →