KR20080098683A

Detection of transient errors by means of new selective implementation

Abstract

In one embodiment, the present invention includes a method for determining a degree or level of vulnerability for an instruction implemented by a processor, and re-implementing the instruction if the level of vulnerability is greater than a predetermined threshold. The level of vulnerability may correspond to the likelihood of a logic error for an instruction while it resides within the processor. Other embodiments are described and claimed.Vulnerability level, instruction, soft error, threshold, re-execution

KR20080098683A, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 31 March 2026, 0.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

29 claims: 4 independent, 25 dependent

  1. 1
    프로세서에서 실행된 인스트럭션(instruction)에 대한 취약성 레벨(vulnerability level)을 결정하는 단계 - 상기 취약성 레벨은 상기 인스트럭션에 대한 소프트 에러 가능성에 대응함 - ;및 상기 취약성 레벨이 임계값보다 큰 경우 상기 인스트럭션을 재실행하는 단계 를 포함하는 방법.
  2. 2
    제1항에 있어서, 상기 인스트럭션이 실행되었던 프로세서의 제1 실행 유닛이 아닌, 상기 프로세서의 다른 실행 유닛에서 상기 인스트럭션을 재실행하는 단계를 더 포함하는 방법.
  3. 3
    제1항에 있어서, 상기 취약성 레벨이 상기 임계값보다 작은 경우 상기 인스트럭션을 재실행하지 않는 단계를 더 포함하는 방법.
  4. 4
    제1항에 있어서, 상기 인스트럭션에 의해 점유된 상기 프로세서의 영역 및 상기 인스트럭션의 수명과 관련된 시간 기간 중 적어도 하나에 근거하여 상기 취약성 레벨을 결정하는 단계를 더 포함하는 방법.
  5. 5
    제4항에 있어서, 상기 인스트럭션과 관련된 시간 스탬프를 이용하여 상기 시간 기간을 결정하는 단계를 더 포함하는 방법.
  6. 6
    제1항에 있어서, 상기 재실행된 인스트럭션의 결과가 상기 인스트럭션의 결과와 매칭되는지를 결정하는 단계;및 매칭되지 않는 경우 상기 프로세서를 플러싱(flushing)하는 단계를 더 포함하는 방법.
  7. 7
    적어도 하나의 레지스터 파일 및 상기 적어도 하나의 레지스터 파일에 연결된 적어도 하나의 실행 유닛;및 상기 실행 유닛에 의해 실행된 인스트럭션들의 소프트 에러에 대한 취약성을 결정하는 인스트럭션 검증 유닛 을 포함하는 장치.
  8. 8
    제7항에 있어서, 상기 인스트럭션 검증 유닛은, 인스트럭션들 및 관련된 소스 데이터 태그들을 저장하는 버퍼;및 상기 버퍼에 연결되어 취약한 인스트럭션들을 재실행하는 적어도 하나의 실행 유닛을 포함하는 장치.
  9. 9
    제8항에 있어서, 상기 인스트럭션 검증 유닛은 상기 인스트럭션에 대한 영역 값 및 상기 인스트럭션에 대한 시간 값 중 적어도 하나에 근거하여 인스트럭션에 대한 취약성 레벨을 결정하는 로직(logic)을 더 포함하는 장치.
  10. 10
    제9항에 있어서, 상기 로직은 상기 인스트럭션과 관련된 시간 스탬프에 근거하여 상기 시간 값을 결정하는 장치.
  11. 11
    제9항에 있어서, 상기 로직은 상기 취약성 레벨이 임계값보다 큰 경우 재실행을 위해 상기 인스트럭션을 상기 적어도 하나의 실행 유닛에 제공하는 장치.
  12. 12
    제11항에 있어서, 상기 임계값은 선택된 성능 매트릭(metric)에 근거하여 조절가능하고, 상기 임계값은 보다 높은 레벨의 성능에 대해 보다 높게 설정되는 장치.
  13. 13
    제11항에 있어서, 상기 인스트럭션의 재실행이 상기 인스트럭션의 원래의 실행과 매칭되는 경우 상기 인스트럭션을 회수(retire)하는 인스트럭션 회수 유닛을 더 포함하는 장치.
  14. 14
    인스트럭션들을 포함하는 머신-판독가능한 저장 매체를 포함하는 물품에 있어서, 상기 인스트럭션들은 머신에 의해 실행되는 경우 상기 머신으로 하여금, 원래의 결과를 얻기 위해 프로세서에서 인스트럭션을 실행하는 단계;상기 인스트럭션이 소프트 에러에 대해 취약한 경우 재실행된 결과를 얻기 위해 상기 프로세서에서의 상기 인스트럭션을 재실행하는 단계;및 상기 원래의 결과를 상기 재실행된 결과와 비교하는 단계 를 포함하는 방법을 수행하도록 하는, 머신-판독가능한 저장 매체를 포함하는 물품.
  15. 15
    제14항에 있어서, 상기 방법은 인스트럭션 회수 단계에서 상기 인스트럭션을 회수하고, 상기 인스트럭션이 상기 소프트 에러에 대해 취약하지 않은 경우 상기 인스트럭션을 재실행하지 않는 단계를 더 포함하는, 머신-판독가능한 저장 매체를 포함하는 물품.
  16. 16
    제14항에 있어서, 상기 방법은 상기 비교가 미스매칭을 나타내는 경우 상기 프로세서를 플러싱하는 단계를 더 포함하는, 머신-판독가능한 저장 매체를 포함하는 물품.
  17. 17
    제14항에 있어서, 상기 방법은 상기 인스트럭션에 의해 소모된 영역 및 상기 프로세서에서의 상기 인스트럭션의 펜딩 시간(pending time) 중 적어도 하나에 근거하여, 상기 인스트럭션이 상기 소프트 에러에 대해 취약한지 여부를 결정하는 단계를 더 포함하는, 머신-판독가능한 저장 매체를 포함하는 물품.
  18. 18
    제17항에 있어서, 상기 방법은, 상기 영역 및 상기 펜딩 시간을 이용하여 취약성 값을 계산하는 단계;및 상기 취약성 값과 임계값을 비교하고, 상기 비교에 근거하여 상기 인스트럭션을 재실행할지 여부를 결정하는 단계를 더 포함하는, 머신-판독가능한 저장 매체를 포함하는 물품.
  19. 19
    인스트럭션을 실행하는 적어도 하나의 실행 유닛 및 상기 인스트럭션이 소프트 에러에 대해 취약한 경우 상기 인스트럭션을 재실행하는 중복 실행 유닛을 포함하는 프로세서;및 상기 프로세서에 연결된 DRAM(dynamic random access memory) 을 포함하는 시스템.
  20. 20
    제19항에 있어서, 상기 프로세서는 상기 소프트 에러에 대한 상기 인스트럭션의 취약성을 정량화하는 인스트럭션 검증기를 더 포함하는 시스템.
  21. 21
    제20항에 있어서, 상기 인스트럭션 검증기는 상기 프로세서에서의 상기 인스트럭션의 크기 및 상기 인스트럭션의 수명 중 적어도 하나에 근거하여 상기 인스트럭션을 재실행할지의 여부를 결정하는 시스템.
  22. 22
    제21항에 있어서, 상기 인스트럭션 검증기는 상기 인스트럭션의 상기 크기 및 수명에 근거하여 상기 인스트럭션의 취약성 값을 임계값과 비교하고, 상기 취약성 값이 상기 임계값보다 큰 경우 상기 재실행을 트리거링하는 시스템.
  23. 23
    제22항에 있어서, 상기 임계값은 적응적 임계값이며, 상기 시스템은 선택된 성능 레벨에 근거하여 상기 임계값을 조절하는 시스템.
  24. 24
    제22항에 있어서, 상기 시스템은 상기 프로세서가 인스트럭션 취약성 감소 기술을 구현하는 경우에 상기 임계값을 감소시키는 시스템.
  25. 25
    제20항에 있어서, 상기 인스트럭션 검증기는 상기 인스트럭션의 회수 단계에서 상기 인스트럭션을 재실행할지의 여부를 결정하는 시스템.
  26. 26
    제20항에 있어서, 상기 인스트럭션 검증기는 상기 프로세서에서 실행된 인스트럭션들에 대응하는 엔트리들을 저장하는 버퍼를 포함하는 시스템.
  27. 27
    제26항에 있어서, 상기 엔트리들은 대응하는 상기 인스트럭션을 상기 프로세서내로 삽입하는 시간에 대응하는 시간 스탬프 필드를 포함하는 시스템.
  28. 28
    제27항에 있어서, 상기 인스트럭션 검증기는 상기 시간 스탬프 필드를 이용하여 상기 인스트럭션을 재실행할지의 여부를 결정하는 시스템.
  29. 29
    제19항에 있어서, 상기 시스템은 상기 재실행된 인스트럭션의 결과가 상기 인스트럭션의 결과와 매칭되지 않는 경우 상기 프로세서의 적어도 일부분을 플러싱하는 시스템.
Independent claims29