IP Library › Granted Patent US 10,142,098
Granted Patent B2
US 10,142,098 · App. 15/196,698 · Granted Nov 27, 2018

Optimized SHA-256 datapath for energy-efficient high-performance Bitcoin mining

Inventors: Vikram B. Suresh (Hillsboro, OR); Sudhir K. Satpathy (Hillsboro, OR); Sanu K. Mathew (Hillsboro, OR)
Assignee: Intel Corporation
H04L9/0643G09C1/00H04L2209/12
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,142,098
App. No.
15/196,698
Granted
Nov 27, 2018
Kind
B2
Abstract

A processing system includes a processor to construct an input message comprising a plurality of padding bits and a hardware accelerator, communicatively coupled to the processor, comprising a first plurality of circuits to perform a stage-1 secure hash algorithm (SHA) hash based on the input message, wherein the hardware accelerator comprises a first data path coupled between a first reference node and a first input node of the first plurality of circuits to feed a first padding bit of the plurality of padding bits to the first input node.

Claims (37)

1. A processing system comprising:

a processor to construct an input message comprising a nonce and a plurality of padding bits; and

a hardware accelerator, communicatively coupled to the processor, the hardware accelerator comprising:

a first plurality of circuits to compute a stage-1 secure hash algorithm (SHA) hash of the input message,

a first data path coupled between a first reference node and a first input node of the first plurality of circuits to feed a first padding bit of the plurality of padding bits to the first input node, wherein the first data path comprises a hardwire coupled between the first reference node and the first input node, and wherein the first reference node supplies a fixed reference value,

a second plurality of circuits to compute a stage-2 SHA hash, and

a plurality of data paths to feed the nonce to the second plurality of circuits for performing a plurality of rounds of compression.

2. The processing system of claim 1 , wherein the hardware accelerator further comprises a second data path coupled between a second reference node and a second input node of the second plurality of circuits to feed a second padding bit of the plurality of padding bits to the second input node.

3. The processing system of claim 2 , wherein the first plurality of circuits is to perform a first plurality of rounds of compression on a first plurality of state data associated with the stage-1 SHA hash, and the second plurality of circuits is to perform a second plurality of rounds of compression on a second plurality of state data associated with the stage-2 SHA hash, wherein the hardware accelerator comprises a plurality of registers to store the second plurality of state data, and wherein the hardware accelerator comprises a third data path coupled between a third reference node supplying an initial value and at least one of the plurality of registers.

4. The processing system of claim 1 , further comprising:

a clock gate circuit to convert a system clock to a gate clock and to supply the gate clock to the first plurality of circuits, wherein the gate clock is to:

enable rounds 0 through 2 of the first plurality of rounds of compression; and

disable the rounds 0 through 2 of the first plurality of rounds of compression.

5. The processing system of claim 1 wherein responsive to an increment of the nonce, the hardware accelerator is to increment a same amount to at least one state data associated with the first plurality of rounds of compression.

6. The processing system of claim 5 , wherein the hardware accelerator is to subtract a constant value from the at least one state data in rounds 4 through 6 of the first plurality of rounds of compression.

7. The processing system of claim 6 , wherein the hardware accelerator is to compute the stage-1 SHA hash and stage-2 SHA hash sequentially to determine a validity of the nonce in Bitcoin mining, and wherein responsive to determine that the nonce is one of valid or invalid, the processor is to increment a value of the nonce to generate a new input message.

8. An application specific integrated circuit (ASIC) comprising:

a first plurality of circuits to compute a stage-1 secure hash algorithm (SHA) hash based on an input message comprising a nonce and a plurality of padding bits; and

a first data path coupled between a first reference node and a first input node of the first plurality of circuits to feed a first padding bit of the plurality of padding bits to the first input node, wherein the first data path comprises a hardwire coupled between the first reference node and the first input node, and wherein the first reference node supplies a fixed reference value;

a second plurality of circuits to compute a stage-2 SHA hash; and

a plurality of data paths to feed the nonce to the second plurality of circuits for performing a plurality of rounds of compression.

9. The ASIC of claim 8 , wherein the ASIC further comprises a second data path coupled between a second reference node and a second input node of the second plurality of circuits to feed a second padding bit of the plurality of padding bits to the second input node.

10. The ASIC of claim 9 , wherein the first plurality of circuits is to perform a first plurality of rounds of compression on a first plurality of state data associated with the stage-1 SHA hash, and the second plurality of circuits is to perform a second plurality of rounds of compression on a second plurality of state data associated with the stage-2 SHA hash, wherein the ASIC comprises a plurality of registers to store the second plurality of state data, and wherein the ASIC comprises a third data path coupled between a third reference node supplying an initial value and at least one of the plurality of registers.

11. The ASIC of claim 8 , further comprising:

a clock gate circuit to convert a system clock to a gate clock and to supply the gate clock to the first plurality of circuits, wherein the gate clock is to:

enable rounds 0 through 2 of the first plurality of rounds of compression; and

disable the rounds 0 through 2 of the first plurality of rounds of compression.

12. The ASIC of claim 8 , wherein responsive to an increment of the nonce, the ASIC is to increment a same amount to at least one state data associated with the first plurality of rounds of compression.

13. The ASIC of claim 12 , wherein the ASIC is to subtract a constant value from the at least one state data in rounds 4 through 6 of the first plurality of rounds of compression.

14. The ASIC of claim 13 , wherein the ASIC is to compute the stage-1 SHA hash and stage-2 SHA hash sequentially to determine a validity of the nonce in Bitcoin mining, and wherein responsive to determine that the nonce is one of valid or invalid, the processor is to increment a value of the nonce to generate a new input message.

15. A method comprising:

receiving, by a hardware accelerator, an input message comprising a nonce and a first padding bit;

feeding, using a first data path coupled between a first reference node and a first input node of a first plurality of circuits, the first padding bit to the first input node of the first plurality of circuits to compute a stage-1 secure hash algorithm (SHA) hash, wherein the first data path comprises a hardwire coupled between the first reference node and the first input node, and wherein the first reference node supplies a fixed reference value;

feeding, using a plurality of data paths, the nonce to a second plurality of circuits for performing a plurality of rounds of compression; and

performing, by the hardware accelerator, the stage-1 SHA hash based on the input message.

16. The method of claim 15 , further comprising:

providing, using a second data path coupled between a second reference node and a first input node of the second plurality of circuits, a second padding bit to the second input node of the second plurality of circuits to compute a stage-2 SHA hash, wherein the hardware accelerator is to compute the stage-1 SHA hash and stage-2 SHA hash sequentially to determine a validity of a nonce in Bitcoin mining.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2016
From: SURESH, VIKRAM B.; SATPATHY, SUDHIR K.; MATHEW, SANU K
To: INTEL CORPORATION
Reel/Frame 039218/0273 →
Continuity (1)
Related Publication 20180006808A1 · Jan 4, 2018
Cited By (5)
US 12,288,064 US 12,411,996 US 12,621,175 US 12,726,333 US 12,737,155