Performing a cyclic redundancy checksum operation responsive to a user-level instruction

US11048579B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11048579-B2
Application numberUS-201916538812-A
CountryUS
Kind codeB2
Filing dateAug 12, 2019
Priority dateDec 23, 2005
Publication dateJun 29, 2021
Grant dateJun 29, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one embodiment, the present invention includes a method for receiving incoming data in a processor and performing a checksum operation on the incoming data in the processor pursuant to a user-level instruction for the checksum operation. For example, a cyclic redundancy checksum may be computed in the processor itself responsive to the user-level instruction. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor comprising: a cache; a plurality of 64-bit registers including a first 64-bit register to store 64-bits of source data and a second 64-bit register to store a 32-bit initial value in bits [31:0]; and execution circuitry coupled with the first and second 64-bit registers, the execution circuitry, responsive to a 32-bit cyclic redundancy check (CRC32) instruction of an instruction set architecture of the processor, to: perform CRC32 computations on the 64-bits of source data and the 32-bit initial value according to a polynomial value of 11EDC6F41H; and store a result of the CRC32 computations in bits [31:0] of a 64-bit destination register and zeroes in bits [63:32] of the 64-bit destination register. 2. The processor of claim 1 , wherein the CRC32 computations comprise incremental CRC32 computations on a plurality of portions of the 64-bits of source data. 3. The processor of claim 1 , wherein the CRC32 instruction is a user-level instruction. 4. The processor of claim 1 , further comprising: a floating point unit; a reorder buffer (ROB); a load buffer; and a store buffer. 5. The processor of claim 1 , further comprising a memory controller. 6. A processor comprising: a cache; a plurality of 64-bit registers including a first 64-bit register to store source data and a second 64-bit register to store a 32-bit initial value in bits [31:0]; and an execution circuitry coupled with the first and second 64-bit registers, the execution circuitry, responsive to a 32-bit cyclic redundancy check (CRC32) instruction of an instruction set architecture of the processor, to: perform CRC32 computations on the source data and the 32-bit initial value according to a polynomial value of 11EDC6F41H; and store a result of the CRC32 computations in a destination register. 7. The processor of claim 6 , wherein the source data is one of 8-bits, 16-bits, 32-bits, and 64-bits. 8. The processor of claim 7 , wherein the source data is 64-bits, wherein destination register is a 64-bit destination register, and wherein the execution circuitry is to store the result in bits [31:0] of the 64-bit destination register and zeroes in bits [63:32] of the 64-bit destination register. 9. The processor of claim 7 , wherein the source data is 64-bits, and wherein the CRC32 computations comprise incremental CRC32 computations on a plurality of portions of the 64-bits of source data. 10. The processor of claim 6 , wherein the CRC32 instruction is a user-level instruction. 11. The processor of claim 6 , further comprising: a floating point unit; a reorder buffer (ROB); a load buffer; and a store buffer. 12. The processor of claim 6 , further comprising a memory controller. 13. A system comprising: a processor, the processor comprising: a cache; a plurality of 64-bit registers including a first 64-bit register to store 64-bits of source data and a second 64-bit register to store a 32-bit initial value in bits [31:0]; and an execution unit coupled with the first and second 64-bit registers, the execution unit, responsive to a 32-bit cyclic redundancy check (CRC32) instruction of an instruction set architecture of the processor, to: perform CRC32 computations on the 64-bits of source data and the 32-bit initial value based on a polynomial value of 11EDC6F41H; and store a result of the CRC32 computations in bits [31:0] of a 64-bit destination and zeroes in bits [63:32] of the 64-bit destination; and a data storage device coupled to the processor. 14. The system of claim 13 , wherein the CRC32 computations comprise incremental CRC32 computations on a plurality of portions of the 64-bits of source data. 15. The system of claim 13 , wherein the CRC32 instruction is a user-level instruction. 16. The system of claim 13 , wherein the processor comprises: a floating point unit; a reorder buffer (ROB); a load buffer; and a store buffer. 17. The system of claim 13 , wherein the processor comprises a memory controller. 18. The system of claim 17 , further comprising a memory coupled to the memory controller. 19. The system of claim 13 , wherein the system is to use the result to process a storage protocol. 20. The processor of claim 1 , wherein the CRC32 computations comprise incremental CRC32 computations on a plurality of portions of the 64-bits of source data, wherein the CRC32 instruction is a user-level instruction, wherein the processor further comprises a reorder buffer (ROB).

Assignees

Inventors

Classifications

  • Bit or string instructions · CPC title

  • CRC update after modification of the information word · CPC title

  • Checksums · CPC title

  • Arrangements for executing specific machine instructions · CPC title

  • Architectures of general purpose stored program computers (with program plugboard G06F15/08; multicomputers G06F15/16) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11048579B2 cover?
In one embodiment, the present invention includes a method for receiving incoming data in a processor and performing a checksum operation on the incoming data in the processor pursuant to a user-level instruction for the checksum operation. For example, a cyclic redundancy checksum may be computed in the processor itself responsive to the user-level instruction. Other embodiments are described …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/1004. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 29 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).