IP Library Granted Patent US 10,936,402
Granted Patent B2
US 10,936,402 · App. 16/199,571 · Granted Mar 2, 2021

Speculative data processing and recovery

Inventors: Bulent Abali (Tenafly, NJ); Bartholomew Blaner (Shelburne, VT); John J. Reilly (Huntington, VT)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/0793G06F9/3842G06F11/0721G06F11/0751
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 10,936,402
App. No.
16/199,571
Granted
Mar 2, 2021
Kind
B2
Abstract

Aspects include copying a plurality of input data into a buffer of a processor configured to perform speculatively executing pipelined streaming of the input data. A bit counter maintains a difference in a number of input bits from the input data entering a pipeline of the processor and a number of the input bits consumed in the pipeline. The pipeline is flushed based on detecting an error. A portion of the input data is recirculated from the buffer into the pipeline based on a value of the bit counter.

Claims (36)

1. A computer-implemented method comprising:

copying a plurality of input data into a buffer of a processor configured to perform speculatively executing pipelined streaming of the input data;

maintaining, in a bit counter, a difference in a number of input bits from the input data entering a pipeline of the processor and a number of the input bits consumed in the pipeline;

flushing the pipeline based on detecting an error; and

recirculating a portion of the input data from the buffer into the pipeline based on a value of the bit counter.

2. The computer-implemented method of claim 1 , wherein the pipeline comprises a plurality of computation blocks configured to speculatively decode a plurality of symbols having variable symbol lengths.

3. The computer-implemented method of claim 2 , wherein the computation blocks apply coding for a compression or decompression operation.

4. The computer-implemented method of claim 2 , wherein the error is detected based on resolving an end-of-block symbol in a speculation resolving pipeline stage of the pipeline.

5. The computer-implemented method of claim 4 , wherein the error comprises speculatively decoding a next block header as one or more symbols.

6. The computer-implemented method of claim 5 , wherein the next block header is used to adjust an initial symbol alignment of a next block of symbols upon recirculation.

7. The computer-implemented method of claim 4 , wherein the end-of-block symbol is used to adjust an initial symbol alignment of a next block of symbols upon recirculation.

8. The computer-implemented method of claim 1 , wherein the buffer is a shadow first-in-first-out buffer sized with a greater bit capacity than the pipeline.

9. A system of a processor, the system comprising:

a buffer;

a bit counter;

a pipeline configured to perform speculatively executing pipelined streaming of a plurality of input data; and

a controller configured to perform a plurality of operations comprising:

copying the input data into the buffer;

maintaining, in the bit counter, a difference in a number of input bits from the input data entering the pipeline and a number of the input bits consumed in the pipeline;

flushing the pipeline based on detecting an error; and

recirculating a portion of the input data from the buffer into the pipeline based on a value of the bit counter.

10. The system of claim 9 , wherein the pipeline comprises a plurality of computation blocks configured to speculatively decode a plurality of symbols in parallel having variable symbol lengths.

11. The system of claim 10 , wherein the error is detected based on resolving an end-of-block symbol in a speculation resolving pipeline stage of the pipeline.

12. The system of claim 11 , wherein the error comprises speculatively decoding a next block header as one or more symbols.

13. The system of claim 12 , wherein the next block header is used to adjust an initial symbol alignment of a next block of symbols upon recirculation.

14. The system of claim 11 , wherein the end-of-block symbol is used to adjust an initial symbol alignment of a next block of symbols upon recirculation.

15. The system of claim 9 , wherein the buffer is a shadow first-in-first-out buffer sized with a greater bit capacity than the pipeline.

16. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to perform a plurality of operations comprising:

copying a plurality of input data into a buffer of a processor configured to perform speculatively executing pipelined streaming of the input data;

maintaining, in a bit counter, a difference in a number of input bits from the input data entering a pipeline of the processor and a number of the input bits consumed in the pipeline;

flushing the pipeline based on detecting an error; and

recirculating a portion of the input data from the buffer into the pipeline based on a value of the bit counter.

17. The computer program product of claim 16 , wherein the pipeline comprises a plurality of computation blocks configured to speculatively decode a plurality of symbols in parallel having variable symbol lengths.

18. The computer program product of claim 17 , wherein the error is detected based on resolving an end-of-block symbol in a speculation resolving pipeline stage of the pipeline and the error comprises speculatively decoding a next block header as one or more symbols.

19. The computer program product of claim 17 , wherein the computation blocks apply coding for a compression or decompression operation.

20. The computer program product of claim 16 , wherein the buffer is a shadow first-in-first-out buffer sized with a greater bit capacity than the pipeline.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2018
From: ABALI, BULENT; BLANER, BARTHOLOMEW; REILLY, JOHN J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047580/0557 →
Continuity (1)
Related Publication 20200167224A1 · May 28, 2020