KR20080072948A - 메모리 비트 정정 보고 방법 및 장치 - Google Patents

메모리 비트 정정 보고 방법 및 장치 Download PDF

Info

Publication number
KR20080072948A
KR20080072948A KR1020087015677A KR20087015677A KR20080072948A KR 20080072948 A KR20080072948 A KR 20080072948A KR 1020087015677 A KR1020087015677 A KR 1020087015677A KR 20087015677 A KR20087015677 A KR 20087015677A KR 20080072948 A KR20080072948 A KR 20080072948A
Authority
KR
South Korea
Prior art keywords
line
time
bit
update
counter
Prior art date
Application number
KR1020087015677A
Other languages
English (en)
Other versions
KR101001071B1 (ko
Inventor
트스비카 쿠르츠
모티 메할렐
율리우스 만델브랏
알렉산더 젠들러
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20080072948A publication Critical patent/KR20080072948A/ko
Application granted granted Critical
Publication of KR101001071B1 publication Critical patent/KR101001071B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

각각 소정 라인 내의 비트 실패의 제1 및 제2 시간 정정에 대해 제1 및 제2 카운터를 갱신함으로써 메모리 라인의 비트에서의 실패를 보고하는 방법, 메인 프로세싱 유닛 및 컴퓨터 시스템. 라인 내의 비트 실패의 제3 시간 정정 후의 제1 및 제2 카운터의 갱신은 디스에이블된다.
비트 실패, 카운터, 메모리 라인, 메인 프로세싱 유닛

Description

메모리 비트 정정 보고 방법 및 장치{METHOD AND APPARATUS OF REPORTING MEMORY BIT CORRECTION}
예컨대 랩탑 컴퓨터, 핸드헬드 장치, 개인 휴대 정보 단말(PDA), 데이터 단말, 포켓 개인용 컴퓨터 등과 같은 모바일 장치는 프로세서 및/또는 컴퓨팅 플랫폼을 포함할 수 있다. 프로세서 및/또는 컴퓨팅 플랫폼은 배터리 전력을 많이 소모하여 장치의 동작시간을 줄일 수 있다. 배터리로부터의 높은 전력 소모를 줄이기 위해서 프로세서의 전력 소모를 제어하는 전력 제어 기구가 사용될 수 있다. 이 전력 제어 기구는 프로세서 및/또는 컴퓨팅 플랫폼에 저전압 및/또는 저주파수를 공급함으로써 전력 소모를 줄일 수 있다. 저전압은 프로세서 및/또는 컴퓨팅 플랫폼의 캐시 메모리에서 재생가능 및/또는 재생 불가능 에러를 생기게 할 수 있다.
프로세서 및/또는 컴퓨팅 플랫폼은 온 다이(on-die) 캐시 메모리를 포함할 수 있다. 캐시 메모리의 랜덤 액세스 메모리(RAM) 셀은 프로세서가 동작할 수 있는 최저 가능 전압을 제한할 수 있다. 온 다이 프로세서 캐시 메모리에서 RAM 셀은 프로세서 제조에 이용된 제조 프로세스가 지원하는 최소 가능 크기로 설계된 장치로부터 제조될 수 있으며, 이 장치는 부작용으로서, 제조 중에 통상적으로 발생하는 변동에 매우 민감할 수 있으며, 이에 따라 몇 개의 셀은 정확하게 동작하는데 필요한 최소 전압의 평균으로부터 크게 벗어날 수 있다. 이러한 변동은 캐시 메모 리 라인에서 비트의 고장을 일으킬 수 있다.
본 발명의 청구 대상은 본 명세서의 결론부에서 특히 지적되어 권리 주장된다. 그러나 본 발명은 그 목적, 특징 및 이점과 함께 그 구성 및 동작 방법에 관해서 첨부 도면을 참조하여 하기의 상세한 설명으로부터 가장 잘 이해될 것이다.
도 1은 본 발명의 예시적인 실시예에 따른 컴퓨터 시스템의 개략 블록도;
도 2는 본 발명의 일부 예시적인 실시예에 따른 메모리와 제어 비트를 나타낸 개략도;
도 3은 본 발명의 일부 예시적인 실시예에 따른 머신 체크 레지스터와 소프트 비트 픽스 카운트 레지스터의 구조의 블록도;
도 4는 본 발명의 예시적인 실시예에 따른 메모리 라인에서의 단일 비트 페일을 관리하는 방법의 개략적 플로우 차트;
도 5는 본 발명의 예시적인 실시예에 따른 레지스터의 상태에서 시간에 따른 변화를 반영하는 타임 테이블을 나타낸 것으로, 도 4의 방법을 설명하는데 유용한 개략도;
도 6은 본 발명의 예시적인 실시예에 따른 메모리 라인에서의 단일 비트 페일을 보고하는 방법의 개략적 플로우 차트;
도 7은 본 발명의 예시적인 실시예에 따른 레지스터의 상태에서 시간에 따른 변화를 반영하는 타임 테이블을 나타낸 것으로, 도 6의 방법을 설명하는데 유용한 개략도.
설명을 간단하게 하고 명료하게 하기 위하여 도면에 도시된 요소들은 반드시 일정한 비례에 따라서 확대 또는 축소하여 그려진 것은 아니다. 예컨대 명료하게 하기 위하여 일부 요소는 다른 요소에 비해 그 치수가 과장되어 있을 수 있다. 더욱이 도면 중에서 적당하다고 생각되는 경우에 동일 또는 유사한 요소에 대해서는 동일 도면 부호가 병기된다.
하기의 상세한 설명에서는 본 발명을 철저히 이해할 수 있도록 많은 특정의 세부 사항에 대해서 설명된다. 그러나 당업자라면 그와 같은 특정의 세부 사항이 없더라도 본 발명을 실시할 수 있을 것이다. 여러 경우에 있어서 본 발명을 불명료하게 하지 않도록 공지의 방법, 절차, 구성 요소 및 회로에 대해서는 설명하지 않았다.
하기의 상세한 설명 중 일부에서는 컴퓨터 메모리 내의 데이터 비트나 바이너리 디지털 신호에 대한 동작을 알고리즘과 기호로서 나타낸다. 이러한 알고리즘 표현은 데이터 처리 분야의 당업자가 작업의 실체를 다른 당업자에게 전달하기 위해 이용한 기술일 수 있다.
특별히 달리 언급하지 않는 한, 하기의 설명으로부터 명백하듯이 명세서 전체에 걸쳐서 "처리", "계산", "산출", "결정" 등과 같은 용어는 컴퓨팅 시스템의 레지스터 및/또는 메모리 내의 전자적 량과 같은 물리적 량으로 표현된 데이터를 컴퓨팅 시스템의 메모리, 레지스터 또는 기타 그와 같은 정보 저장, 전송 또는 표시 장치 내의 물리적 량으로 유사하게 표현된 다른 데이터로 조작 및/또는 변환하 는 컴퓨터 또는 컴퓨팅 시스템 또는 그와 유사한 전자 컴퓨팅 장치의 동작 및/또는 처리를 말한다. 게다가 "복수"라는 용어는 명세서 전체를 통해 2 또는 그 이상의 부품, 장치, 요소, 파라미터 등을 기술하는데 사용될 수 있다. 예컨대 "복수의 명령"은 2 또는 그 이상의 명령을 기술한다.
본 발명은 여러 가지 응용 분야에 이용될 수 있다. 여기서 설명된 회로와 기술들은 컴퓨터 시스템, 프로세서, CPU, 메모리, 칩셋 그래픽 컨트롤러 등과 같은 많은 장치에 이용될 수 있으나, 본 발명은 이에 한정되는 것은 아니다. 본 발명의 범위에 포함되는 프로세서는 예컨대 축소 명령어 세트 컴퓨터(RISC), 파이프라인을 가진 프로세서, 복합 명령어 세트 컴퓨터(CISC) 등을 포함한다.
본 발명의 일부 실시예는 예컨대 기계에 의해 실행될 때에 그 기계에게 본 발명의 실시예에 따른 방법 및/또는 동작을 수행하게 하는 명령어 또는 명령어 세트를 저장할 수 있는 기계 판독 매체 또는 물품을 이용하여 구현될 수 있다. 그와 같은 기계는 예컨대 임의의 적당한 프로세싱 플랫폼, 컴퓨팅 플랫폼, 컴퓨팅 장치, 프로세싱 장치, 컴퓨팅 시스템, 프로세싱 시스템, 컴퓨터, 프로세서 등을 포함할 수 있으며, 하드웨어와 소프트웨어의 임의의 적당한 조합을 이용하여 구현될 수 있다. 기계 판독 매체 또는 물품은 임의의 적당한 형태의 메모리 유닛, 메모리 장치, 메모리 물품, 메모리 매체, 저장 장치, 저장 물품, 저장 매체 및/또는 저장 유닛, 예컨대 메모리, 착탈식 또는 고정식 매체, 소거 가능 또는 소거 불능 매체, 기록 가능 또는 재기록 가능 매체, 디지털 또는 아날로그 매체, 하드 디스크, 플로피 디스크, 컴팩 디스크 판독 전용 메모리(CD-ROM), 컴팩 디스크 레코더블(CD-R), 컴 팩 디스트 리라이터블(CR-RW), 광 디스크, 자기 매체, 각종 디지털 범용 디스크(DVD), 테이프, 카세트 등을 포함할 수 있다. 명령어는 임의의 적당한 형태의 코드, 예컨대 소스 코드, 컴파일된 코드, 번역된 코드, 실행가능 코드, 스태틱 코드, 다이나믹 코드 등을 포함할 수 있으며, 임의의 적당한 하이 레벨, 로우 레벨, 객체 지향, 비주얼, 컴파일된 및/또는 번역된 프로그래밍 언어, 예컨대 C, C++, 자바(Java), 베이직(BASIC), 파스칼(Pascal), 포트란(Fortran), 코볼(Cobol), 어셈블리 언어, 머신 코드 등을 이용하여 구현될 수 있다.
먼저, 도 1을 참조로 설명하면, 본 발명의 예시적인 실시예에 따른 컴퓨터 시스템(100)의 블록도가 도시되어 있다. 컴퓨터 시스템(100)은 개인용 컴퓨터(PC), 개인 휴대 정보 단말(PDA), 인터넷 정보 단말, 셀룰러 전화 및/또는 기타 다른 컴퓨팅 장치일 수 있으나, 본 발명의 범위는 이에 한정되는 것은 아니다. 본 발명의 예시적인 일 실시예에서 컴퓨터 시스템(100)은 전원 장치(120)로부터 전력을 공급받는 메인 프로세싱 유닛(110)를 포함할 수 있다. 메인 프로세싱 유닛(110)는 시스템 상호 접속부(135)에 의해 메모리 장치(140)와 하나 또는 그 이상의 인터페이스 회로(150)에 전기적으로 연결된 멀티코어 처리 장치(130)를 포함할 수 있다. 예컨대 시스템 상호 접속부(135)는 원한다면 어드레스/데이터 버스일 수 있다. 멀티코어 처리 장치(130)를 메모리 장치(140)에 연결하는 데는 버스 이외의 다른 상호 접속부를 이용할 수 있음은 물론이다. 예컨대 하나 또는 그 이상의 전용선 및/또는 크로스바(crossbar)를 이용하여 멀티코어 처리 장치(130)를 메모리 장치(140)에 연결할 수 있다. 메모리 장치(140)는 다이나믹 랜덤 액세스 메모 리(DRAM), 불휘발성 메모리 등을 포함할 수 있다. 일 예로서 메모리 장치(140)는 원한다면 멀티코어 처리 장치(130)에 의해 실행될 수 있는 소프트웨어 프로그램을 저장할 수 있다.
인터페이스 회로(150)는 이더넷 인터페이스 및/또는 범용 직렬 버스(USB) 인터페이스 등을 포함할 수 있지만, 본 발명의 범위는 이에 한정되는 것은 아니다. 본 발명의 일부 실시예에서 하나 또는 그 이상의 입력 장치(155)는 인터페이스 회로(150)에 연결되어 메인 프로세싱 유닛(110)에 데이터와 명령을 입력할 수 있다. 예컨대 입력 장치(160)는 키보드, 마우스, 터치 스크린, 트랙 패드, 트랙 볼, 이소포인트(isopoint), 음성 인식 시스템 등을 포함할 수 있다.
출력 장치(170)는 하나 또는 그 이상의 인터페이스 회로(150)를 통해 메인 프로세싱 유닛(110)에 작동적으로 연결될 수 있으며, 원한다면 하나 또는 그 이상의 디스플레이, 프린터, 스피커, 및/또는 기타 출력 장치를 포함할 수 있지만 본 발명의 범위는 이에 한정되는 것은 아니다. 예컨대 출력 장치들 중 하나는 디스플레이일 수 있다. 디스플레이는 음극선관(CRT), 액정 디스플레이(LCD), 플라즈마 디스플레이 또는 임의의 다른 형태의 그래픽 디스플레이일 수 있다.
본 발명의 일부 실시예에 따라서 컴퓨터 시스템(100)은 하나 또는 그 이상의 저장 장치(160)를 포함할 수 있다. 예컨대 컴퓨터 시스템(100)은 원한다면 하나 또는 그 이상의 하드 드라이브, 하나 또는 그 이상의 컴팩 디스크(CD) 드라이브, 하나 또는 그 이상의 디지털 범용 디스크 드라이브(DVD), 및/또는 기타 다른 컴퓨터 매체 입/출력(I/O) 장치를 포함할 수 있다.
예시적인 컴퓨터 시스템(100)은 네트워크(165)에 연결된 네트워크 연결부를 통해 다른 장치와 데이터를 교환할 수 있다. 네트워크 연결부는 예컨대 이더넷 연결부, 디지털 가입자선(DSL), 전화선, 동축 케이블, 무선 네트워크 인터페이스 카드 등과 같은 임의 형태의 네트워크 연결부를 포함할 수 있다. 네트워크(165)는 예컨대 인터넷, 전화망, 케이블망, 예컨대 IEEE 표준 802. 11 a/b/g, 1999에 따른 네트워크와 같은 무선 네트워크 등과 같은 임의 형태의 네트워크일 수 있다. 본 발명의 예시적인 실시예에 따라서 무선 네트워크 인터페이스 카드(NIC)는 원한다면 컴퓨터 시스템(100)에 네트워크 접속용이성을 제공할 수 있다.
본 발명의 일부 실시예에 따라서 멀티코어 처리 장치(130)는 원한다면 하나 또는 그 이상의 CPU(미도시)를 포함할 수 있다. 멀티코어 처리 장치(130)는 예컨대 레벨 2(L2) 캐시 등과 같은 캐시 메모리(180)를 포함하고/하거나 이에 연결될 수 있다. 본 발명의 일부 실시예에서 캐시 메모리(180)는 복수의 라인을 포함할 수 있다.
캐시 메모리 라인의 비트들 중 하나가 에러를 포함할 수 있기 때문에 캐시 메모리 라인 상의 기록 또는 판독 동작이 실패할 수 있다. 예컨대 어떤 실패는 항상 일어날 수 있고 어떤 실패는 저전압에서만 일어날 수 있다.
본 발명의 실시예들에 따라서 에러를 포함하는 라인에서의 단비트 페일(single bit fail)은 에러 정정 코드(ECC) 정보에 의해 검출 및/또는 정정될 수 있다. 예컨대 ECC 정보는 태그를 가진 비트 페일 보고 모듈(190)의 레지스터들 중 어느 하나와 캐시 메모리(180) 라인에 저장될 수 있다. 캐시 메모리(180)의 엔트 리가 판독될 때, 태그 및 라인은 그들에 저장된 ECC 데이터에 대해 체크된다. ECC는 비트 내 에러를 정정 및/또는 수정할 수 있다. 간단하게 하기 위하여 정정된 비트는 여기서는 단비트 픽스(single bit fix: SBF)라고 부른다. SBF는 비트 페일 보고 모듈(190)에 보고될 수 있다. ECC는 32 바이트 범위에서 동작할 수 있고 캐시(180)는 64 바이트를 포함할 수 있으나, 본 발명의 범위는 이에 한정되는 것은 아니다. 따라서 이 예에 따라서 ECC는 캐시 라인당 2 비트를 검출할 수 있다.
본 발명의 일부 실시예에 따라서 비트 페일 보고 모듈(190)은 레지스터와 카운터를 포함할 수 있다. 비트 페일 보고 모듈(190)은 원한다면 SBF를 컴퓨터 시스템(100)의 운영 체제(OS)에 보고할 수 있다. 본 발명의 실시예들에 따라서 비트 페일 보고 모듈(190)은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
도 2를 참조로 설명하면, 본 발명의 일부 실시예에 따른 메모리(200)의 개략적 블록도가 도시되어 있다. 본 발명의 일부 실시예에 따라서 메모리(200)는 캐시를 포함할 수 있다.
캐시 메모리는 필요하다면 레벨 1(L1) 캐시 및/또는 레벨 2(L2) 캐시 및/또는 레벨 3(L3) 캐시, 예컨대, 대레벨 캐시(LLC)를 포함할 수 있으나, 본 발명의 범위는 이에 한정되는 것은 아니다. 메모리(200)는 비트(230)를 포함할 수 있는 라인(210)을 포함할 수 있다. 본 발명의 예시적인 일 실시예에 따라서 일부 비트는 그들의 상태를 플립(flip)함으로써 페일될 수 있다. 예컨대 비트(220)는 그 값을 "0"에서 "1"로(또는 그 반대로) 변경할 수 있다. 본 발명의 실시예들에 따라서 페 일된 비트는 ECC에 의해 정정될 수 있으며 SBF라고 할 수 있다.
메모리(200)의 라인(210)은 하나 또는 그 이상의 상태 비트, 예컨대 상태 비트(240, 245)를 포함할 수 있으나, 본 발명의 범위는 이에 한정되는 것은 아니다. 상태 비트(240, 245)는 각각 ECN1과 ECN0으로 나타낼 수 있다. ECN1과 ECN0은 라인(210) 내의 SBF의 검출과 정정을 지정할 수 있다. 예컨대 ECN1(예컨대 상태 비트(240))은 ECC 이력을 카운트하는데 이용될 수 있다. ECN1과 ECN0의 값의 변화에 의해서, SBF를 검출, 정정 및 보고하는 알고리즘의 흐름에 따라서 라인 상태(예컨대 라인(210))를 추적할 수 있으나, 본 발명의 범위는 이에 한정되는 것은 아니다.
본 발명의 일부 예시적인 실시예에 따라서 상태 비트 상태 테이블(status bit state table; 250)은 메모리(200)의 라인(210)으로의 기록과 SBF를 검출, 정정 및 보고하는 알고리즘의 흐름에 관한 상태 비트(240, 245)의 값을 보여줄 수 있다. 테이블(250)의 제1 라인에서는 상태 비트(ECN1, ECN0)는 "0"일 수 있으며, 이는 라인 내의 비트 및/또는 그 라인에의 제1 기록을 지정할 수 있다. 예컨대 그 비트가 ECC에 의해 정정되었다면 ECN0 상태 비트는, 테이블(250)의 제2 라인에서 코멘트 "제1 정정"으로 나타낸 바와 같이, "0"에서 "1"로 갱신될 수 있다. 정정된 비트를 가진 라인에의 제2 기록이 성공하면(테이블(250)의 제3 라인), ECN0 상태 비트는 "1"에서 "0"으로 갱신될 수 있으며, ECN0 상태 비트는 "0"에서 "1"로 갱신될 수 있다. 동일 캐시 라인에서 제2 비트 페일이 발생하면(테이블(250)의 마지막 라인), ECN1은 "0"에서 "1"로 갱신될 수 있다.
ECN0 및 ECN1 상태 비트 모두의 상태가 "1"이면 이는 캐시 라인의 하드 실 패(hard failure)를 표시할 수 있으나, 본 발명의 범위는 이에 한정되는 것은 아니다. 실패한 라인은 SBF로서 보고될 수 있다. 본 발명의 일부 실시예에 따라서 테이블(250)에서 SBF로 표기된 라인은 기록에 대해 디스에이블(disable)될 수 있다.
도 3을 참조로 설명하면, 본 발명의 일부 예시적인 실시예에 따른 머신 체크 구조(MCA) 레지스터(300)와 소프트 비트 픽스 카운트 레지스터(310)가 도시되어 있다. MCA 레지스터(300)는 프로세서의 머신 체크 구조(MCA)의 레지스터들 중 어느 하나, 예컨대 캐시 상태 레지스터(CACHE_MC_STATUS)일 수 있으나, 본 발명의 범위는 이에 한정되는 것은 아니다.
본 발명의 이 예시적인 실시예에 따라서 MCA 레지스터(300)는 다음의 기능을 포함할 수 있다. 즉, 비트 0 내지 15는 MCA 에러 코드를 나타낼 수 있고; 비트 16 내지 31은 모델 특정 에러 코드, 예컨대 SBF, ECC 등의 에러 코드를 나타낼 수 있고; 비트 32 내지 35, 36 및 37은 캐시 메모리(예컨대 메모리(200))의 웨이(way)의 상태를 나타낼 수 있고; 비트 38 내지 51은 소프트 에러율을 카운트하는 ECC 카운터(ESER_CNT)로서 이용될 수 있고; 비트 52는 ESER_CNT의 오버플로우(OVF) 비트로서 이용될 수 있고; 비트 53 내지 56은 임의의 다른 정보를 위해 남겨둘 수 있고; 비트 57은 프로세서 콘텍스트 오류(Processor Context Corrupt; PCC)를 나타낼 수 있고; 예컨대 PCC 비트는 손상을 입히는 에러가 백사이드 버스 로직(BBL)에서 발생한 경우에 "1"로 설정될 수 있고; 비트 58, 즉 ADDRV 비트는 CACHE_MC_ADDR 레지스터가 존재한다는 것을 나타낼 수 있고; 비트 59는 MISC 레지스터가 설정되지 않음을 나타낼 수 있고; 비트 60(EN)은 에러가 인에이블됨을 나타낼 수 있고; 비트 61 은 예컨대 프로세서가 에러 상태를 정정할 수 없었음과 그리고/또는 BBL 유닛에 손상을 입힌 중대한 에러가 발생했음을 나타낼 수 있고; 비트 62는 이전 에러의 결과가 에러 보고 레지스터 뱅크에 여전히 있는 동안에 MCA 에러가 발생했음을 나타낼 수 있고; 비트 63은 다른 상태 레지스터 내의 정보가 유효함을 나타낼 수 있다. MCA 레지스터(300)는 하드웨어 및/또는 소프트웨어에 의해 구현되거나, 하드웨어 및 소프트웨어의 임의의 조합에 의해 구현될 수 있음을 이해해야한다.
본 발명의 적어도 하나의 예시적인 실시예에서 SBF 카운트 레지스터(310)는 SBF 메카니즘에 의해 정정된 결함있는(defected) 라인을 카운트할 수 있다. SBF 카운트 레지스터(310)는 캐시 라인(예컨대 비트 6:0)에서 제2 시간을 반복했던 정정된 에러를 카운트하는 제1 카운터(CNT2)와, 캐시 라인(예컨대 비트 24:11)에서 제1 시간 동안 발생한 정정된 에러를 카운트하는 제2 카운터(CNT1)를 포함할 수 있다. SBF 카운트 레지스터(310)의 다른 비트들(예컨대 비트 10:7 및 30:25)은 예비로 남겨둘 수 있다. 레지스터(310)의 비트(31)는 제조 및/또는 테스트 중에 SBF가 검출되지 않은 경우에 설정될 수 있는 SBF_NEVER_USED 퓨즈의 값을 반영할 수 있으나, 본 발명의 범위는 이 예에 한정되는 것은 아니다.
도 4 및 도 5를 참조로 설명하면, 도 4는 본 발명의 예시적인 실시예에 따른 단비트 페일(SBF) 관리 방법을 보여준다. 도 5는 본 발명의 예시적인 실시예의 레지스터의 상태에서 시간에 따른 변화를 보여주는 타임 테이블(500)을 나타낸 것으로, 도 4의 방법을 설명하는데 유용한 도면이다. 본 발명의 예시적인 일 실시예에 따라서 테이블(500)은 캐시 라인 상태 비트(ECN1, ECN0)(예컨대 비트 240 및 245) 와, 카운터, 플래그, 상태 및/또는 정보 필드를 가진 보고 레지스터(예컨대 CACHE_MC_STATUS 레지스터(300))를 보여줄 수 있다.
이 예시적인 실시예에 따라서 시각 T0에서 캐시 상태 비트(ECN0, ECN1)와 보고 레지스터 카운터 및 필드는 "0"으로 리셋될 수 있다. 시각 T1에서는 캐시(예컨대 캐시(200))로의 기록이 행해질 수 있다(텍스트 블록(400)). 시각 T2에서는 캐시 라인의 판독 및 정정이 행해질 수 있다. 만일 이것이 첫번째 정정이라면(도 4의 판단블록(405)), 이 라인의 제1 정정은 보고 레지스터에 보고될 수 있다(텍스트 블록(410)). 제1 카운터(예컨대 CNT1)는 에러 정정을 카운트할 수 있으며, 원한다면 그 상태를 "0"에서 "1"로 변경함으로써 갱신될 수 있다(텍스트 블록(415)).
이 예에 따라서 원한다면 ESER_CNT(예컨대 테이블(500)에 나타낸 CACHE_MC_STATUS 레지스터의 카운터)는 CNT1-CNT2의 바이너리 마이너스 동작의 결과를 표시할 수 있다. 캐시 라인은 제1 정정 및/또는 소프트 페일로 표기될 수 있다(텍스트 블록(430)). 예컨대 원한다면 캐시 상태 비트(ECNT [1:0])를 갱신하고, 보고 레지스터의 필드 "모델 특정"에 값 "0007"을 써 넣고, 및/또는 보고 레지스터의 필드 "MCAOD"에 값 "010A"를 써 넣음으로써 제1 정정이 표기될 수 있다.
이 예에 따라서, 시각 T2에서 캐시 라인의 판독 동작이 행해질 수 있으며, ECC 메카니즘은 캐시 라인에서의 비트 페일을 정정할 수 있다. 시각 T3에서는 캐시 라인에 대한 다른 판독 및 정정이 행해질 수 있다. 캐시 라인의(예컨대 상태 비트(CNT1, CNT2)의) 이와 같은 판독 및 정정의 제1 및 제2 카운터의 갱신은 예컨대 ECC 메카니즘에 의해 디스에이블될 수 있으며, 보고 레지스터에서의 보고도 역 시 디스에이블될 수 있다. 시각 T4에서는 정정된 캐시 라인에 대한 다시 기록이 행해질 수 있다(텍스트 블록(435)). 제2 카운터(예컨대 SBF 카운트 레지스터(310)의 CNT2)는 예컨대 그 상태를 "0"에서 "1"로 변경함으로써 갱신될 수 있다. ESER_CNT 카운터는 원한다면 ESER_CNT의 감소를 나타낼 수 있는 CNT1-CNT2를 표시할 수 있다. 시각 T5에서는 이 캐시 라인의 판독 및 정정이 행해질 수 있다. 이 정정이 동일 캐시 라인의 제2 정정이라면(판단 블록(440)), 실패는 하드 비트 에러로 인식될 수 있다(텍스트 블록(450)). 캐시 라인의 ECN1 상태 비트는 ECN0와 함께 증가될 수 있으며, 실패는 SBF로서 보고될 수 있다(텍스트 블록(455)). 제2 카운터(예컨대 CNT2)는 원한다면 예컨대 그 상태를 "0"에서 "1"로 변경함으로써 갱신될 수 있다(텍스트 블록(460)). 보고 레지스터에서 ESER_CNT는 제1 및 제2 카운터(예컨대 CNT1-CNT2, 텍스트 블록(465))의 상태에 따라서 갱신될 수 있고, 캐시 라인은 SBF로 표기될 수 있다(텍스트 라인(470)). 예컨대 오류가 생긴 캐시 라인의 상태 비트(ECN1, ECN2)의 상태를 갱신하고, 보고 레지스터의 필드 "모델 특정"에 값 "0008"을 기록하고, 보고 레지스터(예컨대 보고 레지스터(300))의 필드 "MCACOD"에 값 "100E"를 기록함으로써 정정이 행해질 수 있다.
예컨대 제3 시간 동안 정정된 캐시 라인을 판독하고 정정한 후에 기록이 행해질 수 있으나(텍스트 블록(475)), 본 발명의 범위는 이에 한정되는 것은 아니다. 캐시 라인의 비트의 제3 시간 정정이 일어날 수 있다면(판단 블록(480)), 예컨대 시각 T6에서 제3 시간 정정의 보고 레지스터로의 보고는 디스에이블될 수 있다(텍스트 블록(485)). ESER_CNT 카운터의 갱신도 디스에이블될 수 있다(텍스트 블 록(490)).
본 발명의 실시예들에 따라서 캐시 메모리의 라인을 기록하고 판독하며, 캐시 메모리 라인에서의 비트 실패를 검출 및 정정하고, 캐시 라인의 상태 비트를 갱신하고, 보고 레지스터의 카운터와 필드를 갱신하고, SBF 카운트 레지스터의 카운터를 갱신하고, 정정된 캐시 라인에의 제2 시간 기록 후에 및/또는 제1 기록 후의 정정된 캐시 라인에 대한 반복된 정정 후에 캐시 메모리 라인의 제3 시간 정정을 위한 레지스터 및 상태 비트의 갱신과 보고를 디스에이블시키는 동작들은 원한다면 예컨대 메인 프로세싱 유닛(110)의 비트 페일 보고 장치(190)에 의해 행해질 수 있다.
도 6 및 도 7을 참조로 설명하면, 도 6은 본 발명의 예시적인 실시예에 따른 단비트 픽스(SBF)의 카운터를 갱신하는 방법을 보여준다. 도 7은 본 발명의 예시적인 실시예에 따른 레지스터의 상태에서 시간에 따른 변화를 반영하는 타임 테이블(700)을 나타낸 것으로, 도 6의 방법을 설명하는데 유용한 도면이다.
본 발명의 예시적인 일 실시예에 따라서 테이블(700)은 캐시 라인 상태 비트(ECN0, ECN1)(예컨대 비트 240 및 245)와, 카운터, 플래그, 상태 및/또는 정보 필드를 가진 보고 레지스터(예컨대 CACHE_MC_STATUS 레지스터(300)), 및 SBF 카운트 레지스터(예컨대 SBF 카운트 레지스터(310))를 보여줄 수 있다.
이 예시적인 실시예에 따라서 SBF 카운트 레지스터는 카운터(CNT1, CNT2)를 포함할 수 있다. 제1 카운터(CNT1)는 캐시 메모리 라인에서의 비트의 ECC 정정의 총 수를 카운트할 수 있다. 제2 카운터(CNT2)는 결함있는 캐시 메모리 라인으로 보고된 총 수를 카운트할 수 있다. 예컨대 SBF로 보고된 라인은 카운트가 임계치를 초과할 때까지 예컨대 127의 값을 갖는다.
도 6의 방법에 따라서 정정된 라인에 대한 판독 동작과 정정 동작이 수행되고(판단 블록(600)), SBF의 상한이 임계치를 초과했다면, 예컨대 카운터(CNT2)의 값이 127이라면(판단 블록(610)), 예컨대 테이블(700)의 시각 T502, T504, T507 및 T509에서 에러 정정된 캐시 라인에 대한 각 기록 동작에 대해서 기록 동작의 정정이 단일 ECC로서 보고될 수 있다(텍스트 블록(620)). 예를 들어, 임계치를 초과한 후의 결함있는 캐시 메모리 라인의 수가 보고될 수 있다. 게다가 제1 카운터(예컨대 CNT1)의 갱신이 행해질 수 있다(텍스트 블록(630)). ESER_CNT 카운터의 값은 필요하다면 ESER_CNT=CNT1-CNT2에 따라서 갱신될 수 있다. 더욱이 보고 레지스터에서 ESER_CNT 카운터는 임계치를 초과한 후에 메모리 라인에 대해 행해진 정정의 수를 카운트할 수 있다.
본 발명의 실시예들을 따라서 본 방법은 테이블(700)의 시각 T503 내지 T509에서 보는 바와 같이 캐시 라인의 기록, 판독 및 정정의 사이클마다 반복될 수 있다. 이 예에 따라서 ESER_CNT 카운터는 SBF 임계치를 초과한 후에 에러를 카운트할 수 있다. CNT1 카운터는 SBF 에러의 총 수를 카운트할 수 있으나, 본 발명의 범위는 이에 한정되는 것은 아니다.
지금까지 본 발명의 특정한 특징들에 대해서 설명하였지만 당업자라면 본 발명을 여러 가지로 변경, 치환, 수정 등을 할 수 있을 것이다. 그러므로 청구범위는 본 발명의 본질 내에 있는 그와 같은 변경이나 수정 등을 모두 포괄하고 있음을 알아야 한다.

Claims (29)

  1. 방법으로서,
    라인 내의 비트 실패(bit failure)의 제1 시간 및 제2 시간 정정을 위해 각각 제1 및 제2 카운터를 갱신하는 단계; 및
    상기 라인 내의 비트 실패의 제3 시간 정정 후에 상기 제1 및 제2 카운터의 갱신을 디스에이블(disable)시키는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 및 제2 카운터 갱신 단계는,
    제1 시간 동안 상기 라인에 기록하고 상기 제1 카운터를 갱신하는 단계;
    정정된 라인을 제공하기 위하여 제1 시간 동안 상기 라인 내의 비트 실패를 판독하고 정정하는 단계; 및
    제2 시간 동안 상기 라인에 기록하고 상기 제2 카운터를 갱신하는 단계
    를 포함하는 방법.
  3. 제2항에 있어서,
    제2 시간 동안 상기 정정된 라인 내의 비트 실패를 판독하고 정정하는 단계;
    제3 시간 동안 상기 정정된 라인을 기록하는 단계; 및
    상기 제1 및 제2 카운터의 상기 갱신을 디스에이블시키는 단계
    를 포함하는 방법.
  4. 제2항에 있어서,
    상기 라인으로의 상기 제1 시간 기록 후에 상기 정정된 라인을 판독하고 정정하는 것을 반복할 때에 상기 제1 및 제2 카운터의 상기 갱신을 디스에이블시키는 단계를 포함하는 방법.
  5. 제2항에 있어서,
    상기 라인으로의 상기 제1 시간 기록 후에 상기 정정된 라인의 반복된 판독 및 정정에 대한 보고를 디스에이블시키는 단계를 포함하는 방법.
  6. 메모리로서,
    각 라인은, 복수의 데이터 비트와, 상기 라인의 데이터 비트 내의 실패의 정정을 보고하는 제1 및 제2 상태 비트를 포함하는 2 이상의 라인을 포함하는 메모리.
  7. 제6항에 있어서,
    상기 제1 상태 비트는 상기 라인의 비트의 제1 실패에 대해 갱신되는 메모리.
  8. 제7항에 있어서,
    상기 제2 상태 비트는 상기 라인의 비트의 제2 실패에 대해 갱신되는 메모리.
  9. 제7항에 있어서,
    레벨 2 캐시 메모리를 포함하는 메모리.
  10. 메인 프로세싱 유닛으로서,
    각 라인이 복수의 데이터 비트와, 라인의 데이터 비트 내의 실패의 정정을 보고하는 제1 및 제2 상태 비트를 포함하는 2 이상의 라인을 구비한 메모리; 및
    상기 제1 및 제2 상태 비트에 따라 상기 라인의 정정 수를 보고하는 보고 레지스터
    를 포함하는 메인 프로세싱 유닛.
  11. 제10항에 있어서,
    각각의 상기 라인 내의 비트 실패의 제1 시간 및 제2 시간 정정에 따라서 상기 보고 레지스터의 제1 및 제2 카운터를 갱신하고, 상기 라인의 비트 실패의 제3 시간 정정에 대해 상기 제1 및 제2 카운터의 상기 갱신을 디스에이블시키는 비트 페일 보고 모듈(bit fail reporting module)을 포함하는 메인 프로세싱 유닛.
  12. 제11항에 있어서,
    상기 비트 페일 보고 모듈은 상기 라인으로의 제1 시간 동안의 기록 후에 상기 제1 카운터를 갱신하고, 상기 라인으로의 제2 시간 동안의 기록 후에 상기 제2 카운터를 갱신하고, 상기 라인 내의 상기 비트 실패의 상기 제2 시간 정정 후에 상기 제2 카운터를 갱신할 수 있는 메인 프로세싱 유닛.
  13. 제11항에 있어서,
    상기 비트 페일 보고 모듈은 제3 시간 동안 제2 시간 정정된 라인으로의 기록 후에 상기 제1 및 제2 카운터의 갱신을 디스에이블시킬 수 있는 메인 프로세싱 유닛.
  14. 제13항에 있어서,
    상기 비트 페일 보고 모듈은 상기 라인으로의 상기 제1 시간 기록 후에 제1 시간 정정된 라인에 대한 판독 및 정정을 반복할 때에 상기 제1 및 제2 카운터의 갱신을 디스에이블시킬 수 있는 메인 프로세싱 유닛.
  15. 제14항에 있어서,
    상기 비트 페일 보고 모듈은 상기 라인으로의 상기 제1 시간 기록 후에 상기 제1 시간 정정된 라인의 반복된 판독 및 정정에 대한 보고를 디스에이블시킬 수 있 는 메인 프로세싱 유닛.
  16. 제13항에 있어서,
    상기 비트 페일 보고 모듈은 상기 제1 카운터가 미리 정해진 임계치를 초과한 후에 상기 메모리의 라인에 대한 상기 정정 수에 따라서 상기 제2 카운터를 갱신할 수 있는 메인 프로세싱 유닛.
  17. 컴퓨터 시스템으로서,
    네트워크에의 접속을 제공하는 무선 네트워크 인터페이스 카드; 및
    메인 프로세싱 유닛을 포함하고,
    상기 메인 프로세싱 유닛은,
    각 라인이 복수의 데이터 비트와, 라인의 데이터 비트 내의 실패의 정정을 보고하는 제1 및 제2 상태 비트를 포함하는 2 이상의 라인을 구비한 메모리; 및
    상기 제1 및 제2 상태 비트에 따라 상기 라인의 정정 수를 보고하는 보고 레지스터
    를 포함하는 컴퓨터 시스템.
  18. 제17항에 있어서,
    상기 메인 프로세싱 유닛은,
    상기 라인 내의 비트 실패의 제1 시간 및 제2 시간 정정 각각에 따라서 상기 보고 레지스터의 제1 및 제2 카운터를 갱신하고, 상기 라인의 비트 실패의 제3 시간 정정에 대해 상기 제1 및 제2 카운터의 상기 갱신을 디스에이블시키는 비트 페일 보고 모듈을 포함하는 컴퓨터 시스템.
  19. 제18항에 있어서,
    상기 비트 페일 보고 모듈은 상기 라인으로의 제1 시간 동안의 기록 후에 상기 제1 카운터를 갱신하고, 상기 라인으로의 제2 시간 동안의 기록 후에 상기 제2 카운터를 갱신하고, 상기 라인 내의 상기 비트 실패의 상기 제2 시간 정정 후에 상기 제2 카운터를 갱신할 수 있는 컴퓨터 시스템.
  20. 제18항에 있어서,
    상기 비트 페일 보고 모듈은 제3 시간 동안 제2 시간 정정된 라인으로의 기록 후에 상기 제1 및 제2 카운터의 갱신을 디스에이블시킬 수 있는 컴퓨터 시스템.
  21. 제20항에 있어서,
    상기 비트 페일 보고 모듈은 상기 라인으로의 상기 제1 시간 기록 후에 제1 시간 정정된 라인에 대한 판독 및 정정을 반복할 때에 상기 제1 및 제2 카운터의 상기 갱신을 디스에이블시킬 수 있는 컴퓨터 시스템.
  22. 제21항에 있어서,
    상기 비트 페일 보고 모듈은 상기 라인으로의 상기 제1 시간 기록 후에 상기 제1 시간 정정된 라인의 반복된 판독 및 정정에 대한 보고를 디스에이블시킬 수 있는 컴퓨터 시스템.
  23. 제20항에 있어서,
    상기 비트 페일 보고 모듈은 상기 제1 카운터가 미리 정해진 임계치를 초과한 후에 상기 메모리의 라인에 대한 상기 정정의 수에 따라서 상기 제2 카운터를 갱신할 수 있는 컴퓨터 시스템.
  24. 물품(article)으로서,
    실행 시에,
    라인 내의 비트 실패의 제1 시간 및 제2 시간 정정을 위해 각각 제1 및 제2 카운터를 갱신하고; 그리고
    상기 라인 내의 비트 실패의 제3 시간 정정 후에 상기 제1 및 제2 카운터의 갱신을 디스에이블시키는
    명령이 저장된 저장 매체를 포함하는 물품.
  25. 제24항에 있어서,
    상기 제1 및 제2 카운터를 갱신하는 상기 명령은, 실행 시에,
    제1 시간 동안 상기 라인에 기록하고 상기 제1 카운터를 갱신하고;
    정정된 라인을 제공하기 위하여 제1 시간 동안 상기 라인 내의 비트 실패를 판독하고 정정하고; 그리고
    제2 시간 동안 상기 라인에 기록하고 상기 제2 카운터를 갱신하는 물품.
  26. 제25항에 있어서,
    상기 명령은, 실행 시에,
    제2 시간 동안 상기 정정된 라인 내의 비트 실패를 판독 및 정정하고;
    제3 시간 동안 상기 정정된 라인에 기록하고; 그리고
    상기 제1 및 제2 카운터의 상기 갱신을 디스에이블시키는 물품.
  27. 제25항에 있어서,
    상기 명령은, 실행 시에,
    상기 라인으로의 상기 제1 시간 기록 후에 상기 정정된 라인을 판독하고 정정하는 것을 반복할 때에 상기 제1 및 제2 카운터의 상기 갱신을 디스에이블시키는 물품.
  28. 제25항에 있어서,
    상기 명령은, 실행 시에,
    상기 라인으로의 상기 제1 시간 기록 후에 상기 정정된 라인의 반복된 판독 및 정정에 대한 보고를 디스에이블시키는 물품.
  29. 제24항에 있어서,
    상기 명령은, 실행 시에,
    임계치를 초과할 때까지 결함있는 라인으로 보고된 메모리 라인의 수를 카운트하고; 그리고
    상기 임계치를 초과한 후에 결함있는 라인의 수를 보고하는 물품.
KR1020087015677A 2005-12-29 2006-12-11 메모리 비트 정정 보고 방법 및 장치 KR101001071B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/320,496 US7590913B2 (en) 2005-12-29 2005-12-29 Method and apparatus of reporting memory bit correction
US11/320,496 2005-12-29

Publications (2)

Publication Number Publication Date
KR20080072948A true KR20080072948A (ko) 2008-08-07
KR101001071B1 KR101001071B1 (ko) 2010-12-14

Family

ID=37998302

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087015677A KR101001071B1 (ko) 2005-12-29 2006-12-11 메모리 비트 정정 보고 방법 및 장치

Country Status (4)

Country Link
US (1) US7590913B2 (ko)
KR (1) KR101001071B1 (ko)
CN (1) CN101346697B (ko)
WO (1) WO2007078701A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101495049B1 (ko) * 2010-05-21 2015-02-24 인텔 코포레이션 저전력 상태를 지원하는 시스템에서 캐시 메모리를 이용하는 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075904B2 (en) * 2013-03-13 2015-07-07 Intel Corporation Vulnerability estimation for cache memory
US9690649B2 (en) 2015-05-08 2017-06-27 International Business Machines Corporation Memory device error history bit

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3999051A (en) * 1974-07-05 1976-12-21 Sperry Rand Corporation Error logging in semiconductor storage units
DE3176883D1 (en) 1981-12-17 1988-10-27 Ibm Apparatus for high speed fault mapping of large memories
US6615374B1 (en) * 1999-08-30 2003-09-02 Intel Corporation First and next error identification for integrated circuit devices
US6715116B2 (en) * 2000-01-26 2004-03-30 Hewlett-Packard Company, L.P. Memory data verify operation
US7346812B1 (en) * 2000-04-27 2008-03-18 Hewlett-Packard Development Company, L.P. Apparatus and method for implementing programmable levels of error severity
US6993623B2 (en) * 2002-12-23 2006-01-31 Micron Technology, Inc. Parity bit system for a CAM
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
US20070094569A1 (en) * 2005-10-24 2007-04-26 Thayer Larry J Determining hard errors vs. soft errors in memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101495049B1 (ko) * 2010-05-21 2015-02-24 인텔 코포레이션 저전력 상태를 지원하는 시스템에서 캐시 메모리를 이용하는 방법 및 장치

Also Published As

Publication number Publication date
WO2007078701A3 (en) 2008-01-03
CN101346697B (zh) 2012-11-14
US20070165041A1 (en) 2007-07-19
CN101346697A (zh) 2009-01-14
KR101001071B1 (ko) 2010-12-14
WO2007078701A2 (en) 2007-07-12
US7590913B2 (en) 2009-09-15

Similar Documents

Publication Publication Date Title
US10789117B2 (en) Data error detection in computing systems
US7971112B2 (en) Memory diagnosis method
US8806285B2 (en) Dynamically allocatable memory error mitigation
US7900084B2 (en) Reliable memory for memory controller with multiple channels
US20090150721A1 (en) Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System
US20080010566A1 (en) Disabling portions of memory with non-deterministic errors
EP1659494B1 (en) Method and apparatus for classifying memory errors
KR20170059219A (ko) 메모리 장치, 메모리 시스템 및 메모리 장치의 복구 검증 방법
KR20110001881A (ko) 비트 에러 임계값 및 메모리 장치의 리맵핑
US8566672B2 (en) Selective checkbit modification for error correction
US11734113B2 (en) Solid state disk access method and apparatus, device, and medium
US11080135B2 (en) Methods and apparatus to perform error detection and/or correction in a memory device
US9208027B2 (en) Address error detection
KR20160023151A (ko) 에러 알림 기능이 있는 메모리 장치
US20140082264A1 (en) Nand flash storage chip checking method and device
CN111078459A (zh) 半导体芯片的测试方法、装置及系统
US9965346B2 (en) Handling repaired memory array elements in a memory of a computer system
US20170186500A1 (en) Memory circuit defect correction
KR101001071B1 (ko) 메모리 비트 정정 보고 방법 및 장치
KR20080043881A (ko) 저장된 데이터의 소프트웨어 오류 취약성의 감소
US20190340060A1 (en) Systems and methods for adaptive proactive failure analysis for memories
CN115033441A (zh) PCIe设备故障检测方法、装置、设备和存储介质
CN115509786A (zh) 一种报告故障的方法、装置、设备及介质
KR20210015036A (ko) 호스트 시스템 및 호스트 시스템을 포함하는 컴퓨팅 시스템
CN106874161B (zh) 一种高速缓存异常的处理方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131202

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee