Enhanced protection for memory modification tracking with redundant dirty indicators
First Claim
1. A dirty memory subsystem for a computer system, the dirty memory subsystem comprising:
- storage operable to store dirty indicators and corresponding redundant copies of the dirty indicators, wherein each dirty indicator and the corresponding redundant dirty indicator being associated with a respective block of main memory and being settable to a predetermined state to indicate that the block of main memory associated therewith has been dirtied; and
a control logic operable to read the dirty indicator and the corresponding redundant dirty indicator from storage and to treat the block of memory associated therewith as dirtied if all or any one of the dirty indicator and the corresponding redundant dirty indicator has the predetermined state.
2 Assignments
0 Petitions
Accused Products
Abstract
A dirty memory subsystem includes storage operable to store redundant copies of dirty indicators. Each dirty indicator is associated with a respective block of main memory and is settable to a predetermined state to indicate that the block of main memory associated therewith has been dirtied. By providing redundant storage for the dirty indicators, any difference between the stored copies of the dirty indicators can be considered as indicative of memory corruption, for example as a result of a cosmic ray impact. As the different copies can be stored in different locations, it is unlikely that a cosmic ray impact would affect all copies equally. If a difference between the stored copies is detected, then the dirty indicator can be take as being unreliable and remedial action can be taken. For example, it can be assumed that a block of main memory has been dirtied if any of the copies of the dirty indicator has the predetermined state. Such a memory finds application in a method of managing reinstatement of an equivalent memory state in the main memory of a plurality of processing sets of a fault tolerant computer following a lock step error.
39 Citations
28 Claims
-
1. A dirty memory subsystem for a computer system, the dirty memory subsystem comprising:
-
storage operable to store dirty indicators and corresponding redundant copies of the dirty indicators, wherein each dirty indicator and the corresponding redundant dirty indicator being associated with a respective block of main memory and being settable to a predetermined state to indicate that the block of main memory associated therewith has been dirtied; and
a control logic operable to read the dirty indicator and the corresponding redundant dirty indicator from storage and to treat the block of memory associated therewith as dirtied if all or any one of the dirty indicator and the corresponding redundant dirty indicator has the predetermined state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer system comprising a dirty memory subsystem and at least one processing set that includes main memory, the dirty memory subsystem comprising:
-
storage operable to store dirty indicators and corresponding redundant copies of the dirty indicators, wherein each dirty indicator and the corresponding redundant dirty indicator being associated with a respective block of main memory and being settable to a predetermined state to indicate that the block of main memory associated therewith has been dirtied; and
a control logic operable to read the dirty indicator and the corresponding redundant dirty indicator from storage and to treat the block of memory associated therewith as dirtied if all or any one of the dirty indicator and the corresponding redundant dirty indicator has the predetermined state. - View Dependent Claims (16, 17)
-
- 18. A method of managing reinstatement of an equivalent memory state in the main memory of a plurality of processing sets of a fault tolerant computer following a lock step error, wherein a dirty memory subsystem stores dirty indicators and corresponding redundant copies of the dirty indicators that are settable to a predetermined state indicative that a block of main memory associated therewith has been dirtied, the method including the performance of at least one cycle of copying any page of main memory that has been dirtied from a first processing set to each other processing set, each cycle including reading a dirty indicator and a corresponding redundant indicator from storage and treating a block of memory associated with the dirty indicator and the corresponding redundant dirty indicator as dirtied if all or any one of the dirty indicator and the corresponding redundant dirty indicator has the predetermined state.
-
28. A dirty memory subsystem for a computer system, the dirty memory subsystem comprising:
-
a lower level memory operable to store groups of dirty indicators and groups of corresponding redundant copies of the dirty indicators, wherein each dirty indicator and the corresponding redundant dirty indicator being associated with a respective block of main memory and being settable to a predetermined state to indicate that the block of main memory associated therewith has been dirtied;
at least one higher level memory operable to store groups of dirty group indicators and groups of corresponding redundant copies of the dirty group indicators, wherein each dirty group indicator and a corresponding redundant dirty group indicator being settable to a given state indicative that a group of dirty indicators of the lower level memory has at least one dirty indicator in the predetermined state indicative that a block of memory associated therewith has been dirtied;
a control logic operable to read a dirty group indicator and a corresponding redundant dirty group indicator from the higher level memory and to treat the group of dirty indicators associated therewith as dirtied in response to all or any one of the dirty group indicator and the corresponding redundant dirty group indicator having the given state; and
wherein, in response to all or any one of the dirty group indicator and the corresponding redundant dirty group indicator having the given state, for each dirty indicator in the group of dirty indicators and for each corresponding redundant dirty indicator of the group of corresponding redundant dirty indicators, the control logic is operable to read the dirty indicator and the corresponding redundant dirty indicator from the lower level memory and to treat the block of memory associated therewith as dirtied in response to all or any one of the dirty indicator and the corresponding redundant dirty indicator having the predetermined state.
-
Specification