Check pointing a shift register with a circular buffer
First Claim
1. A hardware structure for check pointing comprising:
- a main shift register;
a circular buffer having a plurality of data positions for storing data elements, wherein the plurality of data positions includes a data position for each data position of the main shift register, an additional data position for each of one or more check points of the main shift register, and an additional data position for each of a plurality of points in time;
a pointer configured to identify a plurality of active data positions from the plurality of data positions of the circular buffer;
an update history shift register having a data position for each check point; and
check point generation logic configured to derive each check point for restoration based on selecting a subset of the plurality of active data positions identified by the pointer and on information stored in the update history shift register.
4 Assignments
0 Petitions
Accused Products
Abstract
Hardware structures for check pointing a main shift register one or more times which include a circular buffer used to store the data elements most recently shifted onto the main shift register which has an extra data position for each check point and an extra data position for each restorable point in time; an update history shift register which has a data position for each check point which is used to store information indicating whether the circular buffer was updated in a particular clock cycle; a pointer that identifies a subset of the data positions of the circular buffer as active data positions; and check point generation logic that derives each check point by selecting a subset of the active data positions based on the information stored in the update history shift register.
-
Citations
26 Claims
-
1. A hardware structure for check pointing comprising:
-
a main shift register; a circular buffer having a plurality of data positions for storing data elements, wherein the plurality of data positions includes a data position for each data position of the main shift register, an additional data position for each of one or more check points of the main shift register, and an additional data position for each of a plurality of points in time; a pointer configured to identify a plurality of active data positions from the plurality of data positions of the circular buffer; an update history shift register having a data position for each check point; and check point generation logic configured to derive each check point for restoration based on selecting a subset of the plurality of active data positions identified by the pointer and on information stored in the update history shift register. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for deriving one or more check points for a main shift register comprising:
-
storing data elements in a plurality of data positions of a circular buffer, the plurality of data positions including a data position for each data position of the main shift register, an additional data position for each check point, and an additional data position for each of a plurality of points in time; storing an index to the circular buffer in a pointer; storing information indicating whether the circular buffer was updated in a same clock cycle as a particular check point trigger event in a data position of an update history shift register; and deriving each check point by selecting, with hardware logic, a subset of a plurality of active data positions based on the information stored in the update history shift register. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
Specification