IL168928A

Error detection and recovery within processing stages of an integrated circuit

Abstract

This record has no abstract on file.

IL168928A, drawing sheet 1
Sheet 1 of 20

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

40 claims: 27 independent, 13 dependent

  1. 1
    An integrated circuit for performing data processing, said integrated circuit comprising:an error detector operable to detect errors in operation of said integrated circuit by double-sampling data signal values within said integrated circuit, a difference between sampled values being indicative of an error;error-repair logic responsive to said error detector and operable to repair said errors in operation;and an operational parameter controller operable to control one or more performance controlling operational parameters of said integrated circuit;wherein said operational parameter controller dynamically controls at least one of said one or more performance controlling parameters in dependence upon one or more characteristics of errors detected by said error detector to maintain a non-zero rate of errors in operation, said errors in operation being repaired by said error repair logic such that data processing by said integrated circuit continues.
  2. 3
    An integrated circuit as claimed in any one of claims 1 and 2, wherein said operational parameter controller applies feedback control to adjust said at least one of said one or more performance controlling parameters in dependence upon said one or more characteristics of errors detected by said error detector.
  3. 4
    An integrated circuit as claimed in any one of claims 1,2 and 3, wherein said one or more characteristics of errors detected by said error detector comprise at least one of:an error rate of said errors detected by said error detector;and a reduction in processing performance resulting from repair by said errorrepair logic of said errors detected by said error detector.
  4. 5
    An integrated circuit as claimed in any one of the preceding claims, wherein, said one or more performance controlling parameters include at least one of;an operating voltage;an operating frequency;an integrated circuit body bias voltage;and temperature.
  5. 6
    An integrated circuit as claimed in any one of the preceding claims comprising:a plurality of processing stages, a processing stage output signal from at least one processing stage being supplied as a processing stage input signal to a following processing stage, wherein said at least one processing stage comprises: processing logic operable to perform a processing operation upon at least one processing stage input value to generate a processing logic output signal;a non-delayed latch operable to capture a non-delayed value of said processing logic output signal at a non-delayed capture time, said non-delayed value being supplied to said following processing stage as said processing stage output signal following said non-delayed capture time;and a delayed latch operable to capture a delayed value of said processing logic output signal at a delayed capture time later than said non-delayed capture time;wherein said error detector comprisies a comparator operable to compare said nondelayed value and said delayed value to detect a change in said processing logic output signal following said non-delayed capture time indicative of said processing logic not having finished said processing operation at said non-delayed capture time;and said error-repairlogic is operable when said comparator detects said change to perform an error-repair operation suppressing use of said non-delayed value by said following processing stage.
  6. 8
    An integrated circuit as claimed in any one of claims 6 and 7, wherein when said comparator detects said change, said error-repair logic is operable to replace said non-delayed value with said delayed value as said processing stage output signal. S
  7. 10
    An integrated circuit as claimed in any one of claims 6 to 9, wherein when 10 said comparator detects said change said error-repair logic is operable to force said delayed value to be stored in said non-delayed latch in place of said non-delayed value.
  8. 11
    An integrated circuit as claimed in any one of claims 6 to 10, wherein 15 processing operations within said processing stage and said following processing stage are driven by a non-delayed clock signal.
  9. 14
    An integrated circuit as claimed in any one of claims 6 to 13, wherein said 30 plurality of processing stages are respective pipeline stages within a synchronous pipeline.
  10. 15
    An integrated circuit as claimed in any one of claim? 6 to. 14 ,wherein a minimum processing time taken for said processing operation is greater than a time separating said delayed capture time from said non-delayed capture time such that said delayed value is not influenced by a processing operation performed upon different input values.
  11. 17
    An integrated circuit as claimed in any one of claims 6 to 16, wherein a 10 maximum processing time taken for said processing operation is less than a sum of a time separating said delayed capture time from said non-delayed capture time and a time between non-delayed capture times such that said processing logic will have completed said processing operation by said delayed capture time. 15
  12. 18
    An integrated circuit as claimed in any one of claims 6 to 17, wherein said processing stages are part of a data processor.
  13. 19
    An integrated circuit as claimed in any one of claims 6 to 18, comprising an error counter circuit operable to store a count of detection of errors corresponding to 20 said change.
  14. 21
    A method of controlling an integrated circuit for performing data processing, 25 said method comprising the steps of:detecting errors in operation of said integrated circuit by double-sampling data signal values within said integrated circuit, a difference between sampled values being indicative of an error;repairing detected errors in operation;and 30 controlling one or more performance controlling operational parameters of said integrated circuit;wherein at least one of said one or more performance controlling parameters is controlled in dependence upon one or more characteristics of detected error to maintain a non-zero rate of errors in operation, said errors in operation being repaired such that data processing by said integrated circuit continues.
  15. 23
    A method as claimed in any one of claims 21 and 22, wherein said step of controlling applies feedback control to adjust said at least one of said one or more performance controlling parameters in dependence upon said one or more characteristics of detetcted errors.
  16. 24
    A method as claimed in any one of claims 21, 22 and 23, wherein said one or more characteristics of detected errors comprise at least one of:an error rate of detected errors;and a reduction in processing performance resulting from repair of detected errors.
  17. 25
    A method as claimed in any one of claims 21 to 24, wherein said one or more performance controlling parameters include at least one of:an operating voltage;an operating frequency;an integrated circuit body bias voltage;and temperature.
  18. 26
    A method as claimed in any one of claims 21 to 25 comprising the steps of:supplying a processing stage output signal from at least one processing stage of a plurality of processing stages as a processing stage inputj signal to a following processing stage, said at least one processing stage operating to: perform a processing operation with data processing logic upon at least one processing stage input value to generate a processing logic output signal;capture a non-delayed value of said processing logic output signal at a nondelayed capture time, said non-delayed value being supplied to said following processing stage as said processing stage output signal following said non-delayed capture time;and capture a delayed value of said processing logic output signal at a delayed capture time later than said non-delayed capture time;wherein detecting errors comprises comparing said non-delayed value and said delayed value to detect a change in said processing logic output signal following said nondelayed capture time indicative of said processing logic not having finished said processing operation at said non-delayed capture time, and said step of repairing detected errors comprises suppressing use of said nondelayed value by said following processing stage.
  19. 28
    A method as claimed in any one of claims 26 and 27, wherein when said change is detected, replacing said non-delayed value with said delayed value as said processing stage output signal.
  20. 29
    A method as claimed in any one of claims 26, 27 and 28, wherein supply of said delayed value to said following processing stage forces forward progress through processing operations.
  21. 30
    A method as claimed in any one of claims 26 to 29, wherein when said change is detected, forcing said delayed value to be stored in place of said non-delayed value.
  22. 31
    A method as claimed in any one of claims 26 to 30, wherein processing operations within said processing stage and said following processing stage are driven by a non-delayed clock signal.
  23. 34
    A method as claimed in any one of claims 26 to 33, wherein said plurality of processing stages are respective pipeline stages within a synchronous pipeline.
  24. 35
    A method as claimed in any one of claims 26 to 34, wherein a minimum processing time taken for said processing operation is greater than a time separating said delayed capture time from said non-delayed capture time such that said delayed value is not influenced by a processing operation performed upon different input values.
  25. 37
    A method as claimed in any one of claims 26 to 36, wherein a maximum processing time taken for said processing operation is less than a sum of a time separating said delayed capture time from said non-delayed capture time and a time between non-delayed capture times such that said processing logic will have completed said processing operation by said delayed capture time.
  26. 38
    A method as claimed in any one of claims 26 to 37 wherein said processing stages are part of a data processor.
  27. 39
    A method as claimed in any one of claims 26 to 38, comprising the step of storing a count of detection of errors corresponding to said change.
Independent claims27