KR101141487B1 - 집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링 - Google Patents

집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링 Download PDF

Info

Publication number
KR101141487B1
KR101141487B1 KR1020090129726A KR20090129726A KR101141487B1 KR 101141487 B1 KR101141487 B1 KR 101141487B1 KR 1020090129726 A KR1020090129726 A KR 1020090129726A KR 20090129726 A KR20090129726 A KR 20090129726A KR 101141487 B1 KR101141487 B1 KR 101141487B1
Authority
KR
South Korea
Prior art keywords
memory module
logic
memory
error
condition
Prior art date
Application number
KR1020090129726A
Other languages
English (en)
Other versions
KR20100080383A (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 KR20100080383A publication Critical patent/KR20100080383A/ko
Application granted granted Critical
Publication of KR101141487B1 publication Critical patent/KR101141487B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/46Test trigger logic
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50016Marginal testing, e.g. race, voltage or current testing of retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5002Characteristic
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C2029/5606Error catch memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

일반적으로, 본 발명의 실시예들은 집적 메모리 제어기가 결함 메모리 디바이스들과 투과성으로(transparently) 동작할 수 있도록 하는 시스템, 방법 및 장치에 관한 것이다. 몇몇 실시예에서, 메모리 모듈의 정상 동작 동안 메모리 모듈에 마진 조건이 부과된다. "마진 조건" 이라는 용어는 메모리 모듈에 대한 지정된 (또는 "정상") 동작 조건에서 벗어나는 조건을 지칭한다. 메모리 모듈은 마진 조건에 응답하여 실패를 나타낼 수 있고, 보상 메카니즘이 실패를 완화시킬 수 있다.
Figure R1020090129726
메모리 모듈, 마진 조건, 하드 에러, 소프트 에러, 에러 정정

Description

집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링{ENABLING AN INTEGRATED MEMORY CONTROLLER TO TRANSPARENTLY WORK WITH DEFECTIVE MEMORY DEVICES}
일반적으로, 본 발명의 실시예들은 집적 회로의 분야에 관한 것으로서, 특히, 집적 메모리 제어기가 결함 메모리 디바이스들과 투과성으로(transparently) 동작할 수 있도록 하는 시스템, 방법 및 장치에 관한 것이다.
DRAM(dynamic random access memory) 디바이스들의 밀도는 빠른 속도로 증가해 왔다. 또한, 메모리 모듈 상의 DRAM의 수 (및 컴퓨팅 시스템에서의 메모리 모듈의 수)도 빠른 속도로 증가해 왔다. 이들 제조된 컴포턴트들 모두는 동일한 통계적 수율 패턴들에 의존하며, 이것은 DRAM 밀도가 증가함에 따라, 제조된 컴포넌트들에서의 결함 비트들의 위험성이 상응하여 증가함을 의미한다. DRAM에 대한 현재의 수율은 약 90%이다. 결함 비트들을 갖는 컴포넌트들은, 가능한 경우, 비닝(binning)되어, 저밀도 칩들로서 판매된다. 한편, 컴퓨터 오퍼레이팅 시스템의 크게 증가하는 메모리 풋프린트 및 데이터 처리 요구는, 컴퓨팅 시스템에서의 커다란 메모리 서브시스템에 대한 필요성을 유발하는데 기여하고 있다. 대부분의 모든 세그먼트에서, 메모리 서브시스템 비용은 컴퓨팅 시스템의 전체 비용의 커다란 부분이 되고 있다.
본 발명의 실시예들은, 첨부 도면들에서, 제한적인 것이 아닌, 예로써 도시되며, 도면에서의 유사한 참조번호는 유사한 요소들을 나타낸다.
일반적으로, 본 발명의 실시예들은 집적 메모리 제어기가 결함 메모리 디바이스들과 투과성으로 동작할 수 있도록 하는 시스템, 방법 및 장치에 관한 것이다. 몇몇 실시예에서, 메모리 모듈의 정상 동작 동안 메모리 모듈에 마진 조건이 부과된다. "마진 조건" 이라는 용어는 메모리 모듈에 대한 지정된 (또는 "정상") 동작 조건에서 벗어나는 조건을 지칭한다. 메모리 모듈은 마진 조건에 응답하여 실패를 나타낼 수 있고, 보상 메카니즘이 실패를 완화시킬 수 있다.
도 1은 본 발명의 실시예에 따라 구현된 컴퓨팅 시스템의 선택된 양상들을 도시하는 하이 레벨 블록도이다. 시스템(100)은 집적 회로(102), DRAM 서브시스템(104) 및 메모리 상호접속(106)을 포함한다. 대안적인 실시예에서, 시스템(100)은 보다 많은 요소들, 보다 적은 요소들, 및/또는 다른 요소들을 포함할 수 있다.
집적 회로(102)는 DRAM 서브시스템(104)과의 정보 전송을 제어하는 로직을 포함한다. 도시된 실시예에서, 집적 회로(102)는 프로세서 코어들(108) 및 로직(110)을 포함한다. 프로세서 코어들(108)은 일반 프로세서 코어들, 그래픽 프로세서 코어들 등을 포함하는 광범위한 프로세서 코어들 중 임의의 것일 수 있다. 로직(110)은, 예를 들면, 메모리 제어기, 언코어(uncore) 등을 포함하는 광범위한 수의 로직을 넓게 나타낸다.
몇몇 실시예에서, 로직(110)은 또한 메모리 모듈 (또는 DRAM 서브시스템(104)의 다른 요소)에 마진 조건을 부과하는 로직 및 부과된 마진 조건을 보상하는 로직을 포함한다. “마진 조건” 이라는 용어는, 넓게는, (공용 또는 사유의) 사양, 표준, 프로토콜 등에 의해 정의된 정상 동작 조건들의 범위를 넘는 조건을 지칭한다. 예를 들어, 전압, 온도 및 리프레시 레이트에 대한 정상 동작 조건들은, 사양 또는 표준에서 메모리 모듈에 대해 정의되는 것이 전형적이다. “마진 조건을 부과한다” 라는 문구는, 디바이스(예를 들면, 메모리 모듈)에 대해 “정상”으로 고려되는 값들의 범위 밖에서 디바이스를 동작하는 것을 지칭한다.
몇몇 실시예에서, “마진 조건을 부과한다” 라는 문구는, (예를 들면, 사양, 표준 등에 의해 정의된) “정상”으로 고려되는 값들 밖에 있는 전압, 온도 및/또는 리프레시 레이트를 부과하는 것을 지칭한다. 예를 들면, 몇몇 실시예에서, 로직(110)은 메모리 모듈(112)에 대해 지정된 리프레시 레이트보다 낮은 리프레시 레이트를 부과한다. 보다 낮은 리프레시 레이트를 부과하는 것은, 시스템이 그의 메모리 리프레시 시에 시간을 덜 소비하기 때문에, 전체 시스템 성능이 향상된다는 이점을 갖는다. 또한, DRAM 서브시스템(104)에 의해 소모된 전력은, 리프레시 레이트를 감소시킴으로써 감소될 수 있다. 유사하게, 보다 낮은 전압하에서의 동작은 전력 절약을 제공할 수 있다. 대안적인 실시예에서, 로직(110)은 메모리 모듈(112) (및/또는 DRAM 서브시스템(104)의 임의의 다른 요소 및/또는 상호접 속(106))에 다른 마진 조건을 부과할 수 있다.
"부과된 마진 조건을 보상한다" 라는 문구는 DRAM 서브시스템(104)의 성능의 변화를 검출하고/하거나 그러한 변화를 보상하는 것을 지칭한다. 예를 들면, 몇몇 실시예에서, 로직(110)은 메모리 모듈(112)에 감소된 리프레시 레이트를 부과한다. 모듈(112)에서의 메모리 위치들 중 일부는, 감소된 리프레시 레이트에 응답하여 결함을 나타낼 수 있다. 로직(110)은 그러한 결함을 검출하여, 그것을 보상할 수 있다. 예를 들어, 몇몇 실시예에서, 로직(110)은 "결함" 메모리 위치들에 저장되는 정보를 다른 위치(예를 들면, 적절하게 동작하는 것으로 알려진 위치)로 이동시킬 수 있다. 로직(110)의 양상들에 대해서는 도 2-4를 참조하여 아래에 더 기술된다.
DRAM 서브시스템(104)은 시스템(100)에 대한 메인 메모리의 적어도 일부분을 제공한다. 도시된 실시예에서, DRAM 서브시스템(104)은 하나 이상의 메모리 모듈(112)을 포함한다. 모듈(112)은 DIMM(dual inline memory module), SO-DIMM(small outline DIMM) 등을 포함하는 광범위한 메모리 모듈들 중 임의의 메모리 모듈일 수 있다. 각각의 모듈(112)은 하나 이상의 DRAM(114) (및 가능하게는 레지스터, 버퍼 등과 같은 다른 요소들)을 가질 수 있다. DRAM(114)은 거의 모든 세대의 DDR(double data rate) DRAM을 포함하는 광범위한 디바이스들 중 임의의 디바이스일 수 있다.
도 1에 도시된 실시예는 (예를 들면, 프로세서와 함께 집적된) 집적 메모리 제어기를 도시한다. 그러나, 몇몇 실시예에서, 메모리 제어기는 컴퓨팅 시스템(100)을 위한 칩셋의 일부일 수 있음을 이해할 것이다. 그러한 실시예에서, 마 진 조건을 부과하는 로직 및 마진 조건을 보상하는 로직 또한 컴퓨팅 시스템의 일부일 수 있다.
도 2는 메모리 모듈에 마진 조건을 부과하는 로직 및 부과된 마진 조건을 보상하는 로직의 선택된 양상들을 도시하는 블록도이다. 도시된 실시예에서, 집적 회로(200)는 마진 조건 로직(201), ECC(error correction code)(202), 하드 에러 검출 로직(204), 재배치 로직(206) 및 메모리 맵(208)을 포함한다. 대안적인 실시예에서, 집적 회로(200)는 보다 많은 요소들, 보다 적은 요소들, 및/또는 다른 요소들을 포함할 수 있다.
마진 조건 로직(201)은 DRAM 서브시스템(예를 들면, 도 2에 도시된 DRAM 서브시스템(204))의 하나 이상의 요소에 마진 조건을 부과하는 로직을 포함한다. 몇몇 실시예에서, 로직(201)은 하나 이상의 메모리 모듈을 감소된 리프레시 레이트로 동작하는 로직을 포함한다. 다른 실시예에서, 로직(201)은 메모리 서브시스템에 마진 전압 및/또는 마진 온도를 부과하는 로직을 포함한다. 또다른 실시예에서, 로직(210)은 DRAM 서브시스템의 하나 이상의 요소에 다른 마진 조건을 부과할 수 있다.
ECC 로직(202)은 DRAM 서브시스템(예를 들면, 도 1에 도시된 DRAM 서브시스템(104))으로부터 판독되는 정보(예를 들면, 데이터 및/또는 코드)에서의 선택된 에러들을 검출하여 정정하는 로직을 포함한다. 예를 들어, ECC 로직(202)은 메모리 상호접속(예를 들면, 도 1에 도시된 상호접속(106)의 (선택된 부분들과) 연결될 수 있다. 데이터가 (메모리 모듈로부터) 상호접속을 통해 도달함에 따라, ECC(202)는 데이터에서의 에러들을 체크한다. ECC(202)는 광범위한 알고리즘들(예를 들면, 패리티, SECDED(single error correct-double error detct), 칩킬(Chipkill) 등) 중 임의의 알고리즘을 이용하여 데이터를 체크할 수 있다. 몇몇 실시예에서, ECC(202)가 에러를 검출한다면, ECC(202)는 에러에 관한 정보를 로직(204)에게 전달한다.
몇몇 실시예에서, 하드 에러 검출 로직(204)은 검출된 에러가 하드 에러 또는 소프트 에러인지의 여부를 결정한다. “소프트 에러” 라는 용어는 하드웨어 결함의 결과가 아닌 저장된 정보에서의 에러(예를 들면, 알파 스트라이크(alpha strike)로 인한 에러)를 지칭한다. “하드 에러”는 하드웨어 결함으로 인한 에러를 지칭한다. 예를 들어, 마진 조건에서 동작하는 메모리 모듈로 인해 불량으로 되는 비트들은 하드 에러들이다. 몇몇 실시예에서, 로직(204)은 에러가 지속적인(persistent) 것인지의 여부에 기초하여 하드 에러가 존재하는지를 결정한다. 예를 들어, 로직(204)은 하나 이상의 비트들이 지속적으로 불량인지를 결정하기 위해 여러 차례 메모리 위치에 기록 및 메모리 위치로부터 판독하기 위한 리플라이(replay) 로직을 이용할 수 있다. 리플라이 로직은 (예를 들면, 메모리 제어기 내의) 이전에 존재하는 리플라이 로직일 수 있거나, 또는 로직(204)의 일부인 리플라이 로직일 수 있다.
몇몇 실시예에서, 로직(204)이 “하드 에러”를 검출한다면, 재배치 로직(206)은 결함 메모리 위치에 저장된 정보를 다른 메모리 위치(예를 들면, 정상으로 동작하는 예비된 메모리 위치)로 이동시킨다. 본 명세서에서 이용된 바와 같 이, “재배치” 라는 용어는 결함 영역으로부터 알려진 양호한 영역으로 정보를 이동시키는 것을 지칭한다. 또한, 재배치는 메모리 맵(208)을 형성 및 이용하는 것을 포함할 수 있다. 예를 들어, 재배치를 위한 프로세스 흐름은 포인터를 변경하는 것, 테이블 엔트리를 변경하는 것 등을 포함할 수 있다. 메모리 맵(208)은 재배치된 정보에 맵핑을 제공 및/또는 어느 메모리 위치들이 현재 결함이 있는지의 표시를 제공하는 로직 구조이다. 메모리 맵(208)은 시스템의 정상 동작 동안(예를 들면, 제조 시간이 아닌 실제 시간 동안) 형성 및 이용될 수 있다. 결함 위치들이 식별되고, 정보가 재배치됨에 따라, 로직(206)은 메모리 맵(208)을 형성 및 이용한다. 재배치는 “하드” 에러가 시스템 실패 또는 데이터 오류를 초래하기 전에 수행된다.
몇몇 실시예에서, 마진 조건을 보상하는 로직의 적어도 일부분은, 선택적으로, 소프트웨어로 수행된다. 예를 들어, 하드 에러를 검출하는 것, 정보를 재배치하는 것, 및/또는 메모리 맵을 형성/이용하는 것과 관련된 작업들의 일부 또는 전부는 소프트웨어(210)에 의해 수행될 수 있다. 몇몇 실시예에서, 소프트웨어(210)는 시스템 관리 인터럽트 핸들러(예를 들면, SMI 핸들러)와 같은 핸들러이다. 다른 실시예에서, 소프트웨어(210)는 오퍼레이팅 시스템(OS) 커널의 일부일 수 있다.
도 3은 본 발명의 실시예에 따른, 메모리 모듈을 동작하는 방법의 선택된 양상들을 도시하는 흐름도이다. 몇몇 실시예에서, 도 3에 도시된 프로세스 흐름은, 도 1에 도시된 시스템(100)과 같은 컴퓨팅 시스템에 의해 수행될 수 있다. 프로세스 블록(302)을 참조하면, 컴퓨팅 시스템이 초기화된다. “초기화” 라는 용어는, 예를 들면, 부팅, 재부팅, 시동, 파워업 등을 지칭한다.
마진 조건 로직(예를 들면, 로직(201) 또는 다른 로직)은 (304)에서 마진 조건을 부과한다. 몇몇 실시예에서, 마진 조건은 감소된 리프레시 레이트이다. 다른 실시예에서, 마진 조건은 마진 동작 전압 및/또는 마진 온도이다. 또다른 실시예에서, 마진 조건은 DRAM 서브시스템에 대한 “정상” 동작 조건과 맞지 않는 거의 모든 다른 조건일 수 있다.
마진 조건을 보상하는 로직은 (306)에서 동작을 수행한다. 몇몇 실시예에서, 마진 조건을 보상하는 것은 하드 에러들을 검출하고, 정보를 알려진 양호한 메모리 위치로 재배치하는 것을 포함한다. 몇몇 실시예에서, 보상 로직은 메모리 맵을 이용하여 재배치된 데이터에 대한 새로운 위치들을 참조한다.
도 4는 본 발명의 실시예에 따른, 메모리 모듈에 부과된 마진 조건을 검출 및 보상하는 방법의 선택된 양상들을 도시하는 흐름도이다. 몇몇 실시예에서, 도 4에 도시된 프로세스는 하드웨어(예를 들면, 도 2에 도시된 집적 회로(200)의 요소들)에 의해 수행된다. 다른 실시예에서, 프로세스 (또는 프로세스의 부분들)은 소프트웨어(예를 들면, 도 2에 도시된 소프트웨어(210))에 의해 수행될 수 있다.
프로세스 블록(402)을 참조하면, ECC 코드(예를 들면, 도 2에 도시된 ECC(202))는 메모리 모듈로부터 판독된 정보에서의 에러를 검출한다. ECC 코드는 패리티, SECDED, 칩킬 등을 포함하는 광범위한 알고리즘들 중 임의의 알고리즘을 이용할 수 있다. ECC 코드가 에러를 검출한다면, (404)에서, 하드 에러 검출 로직은 검출된 로직이 하드 에러 또는 소프트 에러인지의 여부를 결정한다. 몇몇 실시 예에서, 에러는, 그것이 지속적인 경우 하드 에러인 것으로 고려된다. 하드 에러 검출 로직이, 에러가 하드 에러가 아니라고 결정하면, (406)에 의해 도시된 바와 같이 종래의 방식으로, ECC 코드에 의해 에러가 처리된다.
하드 에러가 검출되면, 재배치 로직은 “결함” 메모리 위치에 현재 저장된 데이터를 알려진 양호한 위치로 이동시킬 수 있다(408). 몇몇 실시예에서, 재배치 로직은 정상으로 동작하는 하나 이상의 “스페어(spare)” 메모리 위치들(예를 들면, 행들, 행들의 부분들, 랭크들 등)을 예비로 마련할 수 있다. 하드 에러가 검출될 때, 결함 메모리 위치들에서의 정보는 스페어 위치들 중 하나로 이동될 수 있다. 몇몇 실시에에서, 재배치 로직은 메모리 맵을 이용하여 재배치된 데이터에 대한 새로운 위치들을 참조하여, 결함 위치들이 존재하는 위치를 표시한다.
본 발명의 실시예들의 요소들은 머신-실행가능 명령들을 저장하기 위한 머신-판독가능 매체로서 제공될 수도 있다. 머신-판독가능 매체는, 제한적인 것은 아니지만, 플래시 메모리, 광학 디스크, CD-ROM(compact disks-read only memory), DVD(digital versatile/video disks) ROM, RAM(random access memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 자기 또는 광학 카드, 전달 매체 또는 전자 명령들을 저장하기에 적합한 다른 유형의 머신-판독가능 매체를 포함할 수 있다. 예를 들어, 본 발명의 실시예는 통신 링크(예를 들면, 모뎀 또는 네트워크 접속)를 통해 반송파 또는 다른 전달 매체에서 구현된 데이터 신호들에 의해 원격 컴퓨터(예를 들면, 서버)로부터 요청 컴퓨터(예를 들면, 클라이언트)로 전송될 수 있는 컴퓨터 프로그램으로서 다운로드될 수 있다.
위의 설명에서, 본 발명의 실시예들을 기술하기 위해 소정의 용어가 이용된다. 예를 들어, "로직" 이라는 용어는 하나 이상의 기능들을 수행하기 위한 하드웨어, 펌웨어, 소프트웨어 (또는 이들의 임의의 조합)를 나타낸다. 예컨대, "하드웨어"의 예로는, 제한적인 것은 아니지만, 집적 회로, 유한 상태 머신, 또는 심지어 조합 로직이 포함된다. 집적 회로는 마이크로프로세서, ASIC(application specific integrated circuit), 디지털 신호 프로세서, 마이크로-제어기 등과 같은 프로세서의 형태를 취할 수 있다.
본 명세서 전체를 통해, “일 실시예” 또는 "실시예"에 대한 참조는, 실시예와 관련하여 기술된 특정한 특징, 구조 또는 특성은 본 발명의 적어도 하나의 실시예에 포함됨을 의미한다는 것을 이해해야 한다. 따라서, 본 명세서의 다양한 부분들에서의 “실시예” 또는 “일 실시예” 또는 “대안적인 실시예”에 대한 둘 이상의 참조가 모두 동일한 실시예를 지칭할 필요는 없다는 것이 강조되며, 그러한 것을 이해해야 한다. 더욱이, 특정한 특징, 구조 또는 특성은 본 발명의 하나 이상의 실시예에서 적절한 것으로서 결합될 수 있다.
유사하게, 본 발명의 실시예들에 대한 전술한 설명에서, 하나 이상의 다양한 발명의 양상들을 이해하는데 도움을 주는 개시를 능률화하기 위한 목적으로, 다양한 특징들이 때때로 단일의 실시예, 도면, 또는 그 설명에서 함께 그룹화됨을 이해해야 한다. 그러나, 이러한 개시 방법은, 청구된 주된 내용이 각 청구항에서 명시적으로 인용된 것보다 더 많은 특징들을 요구한다는 의도를 반영하는 것으로서 해 석되지 않는다. 그보다는, 이하의 특허청구범위가 반영하듯이, 발명의 양상들은 위에서 개시된 단일의 실시예의 모든 특징들보다 적은 것에 있다. 따라서, 상세한 설명 이후의 특허청구범위는 이러한 상세한 설명에 명시적으로 포함된다.
도 1은 본 발명의 실시예에 따라 구현된 컴퓨팅 시스템의 선택된 양상들을 도시하는 하이 레벨 블록도.
도 2는 메모리 모듈에 마진 조건을 부과하고, 부과된 마진 조건을 보상하는 로직의 선택된 양상들을 도시하는 블록도.
도 3은 본 발명의 실시예에 따른, 메모리 모듈을 동작하는 방법의 선택된 양상들을 도시하는 흐름도.
도 4는 본 발명의 실시예에 따른, 메모리 모듈에 부과된 마진 조건을 보상하는 방법의 선택된 양상들을 도시하는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
102 : 집적 회로
104 : DRAM 서브시스템
106 : 메모리 상호접속
108 : 프로세서 코어
110 : 로직
112 : 메모리 모듈

Claims (28)

  1. 집적 회로로서,
    메모리 모듈에 연결되고, 상기 메모리 모듈의 동작 동안 상기 메모리 모듈에 마진 조건(marginal condition)을 부과하여 상기 메모리 모듈이 상기 부과된 마진 조건으로 동작하도록 하는 마진 조건 로직; 및
    상기 메모리 모듈에 연결되고, 상기 메모리 모듈의 메모리 위치에 저장된 데이터를 새로운 메모리 위치로 재배치함으로써 상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 재배치(relocation) 로직 - 상기 재배치 로직은 적어도 에러 검출 로직과 통신하여 에러가 하드 에러(hard error)인지 또는 소프트 에러(soft error)인지를 결정함 -;
    을 포함하는 집적 회로.
  2. 제1항에 있어서,
    상기 조건은 변경된 동작 전압인 집적 회로.
  3. 제1항에 있어서,
    상기 조건은 변경된 동작 온도인 집적 회로.
  4. 제1항에 있어서,
    상기 조건은 변경된 리프레시 레이트인 집적 회로.
  5. 제4항에 있어서,
    상기 재배치 로직은 상기 변경된 리프레시 레이트를 보상하는 로직인 집적 회로.
  6. 제5항에 있어서,
    상기 재배치 로직은 상기 메모리 모듈 상의 메모리 위치에 대한 하드 에러를 검출하는 하드 에러 검출 로직을 포함하는 집적 회로.
  7. 제6항에 있어서,
    상기 재배치 로직은 상기 하드 에러가 검출된 상기 메모리 위치에 저장된 데이터를 상기 메모리 위치로부터 새로운 메모리 위치로 재배치하도록 더 동작하는 집적 회로.
  8. 제7항에 있어서,
    상기 재배치 로직에 연결되고, 상기 메모리 모듈 상에 저장된 정보에서의 에러들을 검출하는 에러 정정 로직을 더 포함하는 집적 회로.
  9. 삭제
  10. 제1항에 있어서,
    상기 메모리 모듈에 데이터를 전송하는 메모리 제어기를 더 포함하는 집적 회로.
  11. 컴퓨팅 시스템을 초기화하는 단계;
    메모리 모듈에 연결되고, 상기 메모리 모듈의 동작 동안 상기 메모리 모듈에 마진 조건을 부과하는 마진 조건 로직을 이용하여, 상기 메모리 모듈이 상기 부과된 마진 조건으로 동작하도록 상기 메모리 모듈의 동작 동안 상기 메모리 모듈에 상기 마진 조건을 부과하는 단계; 및
    상기 메모리 모듈에 연결되고, 적어도 에러 검출 로직과 통신하여 에러가 하드 에러인지 또는 소프트 에러인지를 결정하는 재배치 로직을 이용하여 상기 메모리 모듈의 메모리 위치에 저장된 데이터를 새로운 메모리 위치로 재배치함으로써 상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 조건은 변경된 동작 전압인 방법.
  13. 제11항에 있어서,
    상기 조건은 변경된 동작 온도인 방법.
  14. 제11항에 있어서,
    상기 조건은 변경된 리프레시 레이트인 방법.
  15. 제14항에 있어서,
    상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 단계는,
    상기 메모리 모듈 상의 메모리 위치에 대한 하드 에러를 검출하는 단계를 포함하는 방법.
  16. 제15항에 있어서,
    상기 메모리 모듈 상의 메모리 위치에 대한 하드 에러를 검출하는 단계는,
    에러 정정 로직을 이용하여 상기 메모리 위치로부터 판독된 정보에서의 에러를 검출하는 단계; 및
    상기 검출된 에러가 하드 에러인지 또는 소프트 에러인지를 결정하는 단계를 포함하는 방법.
  17. 제16항에 있어서,
    상기 검출된 에러가 하드 에러인지 또는 소프트 에러인지를 결정하는 단계는,
    상기 에러가 지속적인(persistent) 에러인지를 결정하는 단계를 포함하는 방법.
  18. 제15항에 있어서,
    상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 단계는,
    상기 메모리 위치에 대해 상기 하드 에러가 검출된 경우, 상기 메모리 위치로부터 다른 메모리 위치로 데이터를 재배치하는 단계를 더 포함하는 방법.
  19. 컴퓨팅 시스템에 대한 메인 메모리의 적어도 일부분을 제공하는 메모리 모듈; 및
    메모리 상호접속을 통해 상기 메모리 모듈과 연결된 집적 회로를 포함하며,
    상기 집적 회로는,
    상기 메모리 모듈에 연결되고, 상기 메모리 모듈의 동작 동안 상기 메모리 모듈에 마진 조건을 부과하여 상기 메모리 모듈이 상기 부과된 마진 조건으로 동작하도록 하는 마진 조건 로직, 및
    상기 메모리 모듈에 연결되고, 상기 메모리 모듈의 메모리 위치에 저장된 데이터를 새로운 메모리 위치에 재배치함으로써 상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 재배치 로직 - 상기 재배치 로직은 적어도 에러 검출 로직과 통신하여, 에러가 하드 에러인지 또는 소프트 에러인지를 결정함 - 을 포함하는 시스템.
  20. 제19항에 있어서,
    상기 조건은 변경된 동작 전압인 시스템.
  21. 제19항에 있어서,
    상기 조건은 변경된 동작 온도인 시스템.
  22. 제19항에 있어서,
    상기 조건은 변경된 리프레시 레이트인 시스템.
  23. 제22항에 있어서,
    상기 재배치 로직은 상기 변경된 리프레시 레이트를 보상하는 로직인 시스템.
  24. 제23항에 있어서,
    상기 재배치 로직은 상기 메모리 모듈 상의 메모리 위치에 대한 하드 에러를 검출하는 하드 에러 검출 로직을 포함하는 시스템.
  25. 제24항에 있어서,
    상기 재배치 로직은 상기 하드 에러가 검출된 상기 메모리 위치에 저장된 데이터를 상기 메모리 위치로부터 새로운 메모리 위치로 재배치하도록 더 동작하는 시스템.
  26. 제25항에 있어서,
    상기 집적 회로는, 상기 재배치 로직과 연결되고, 상기 메모리 모듈 상에 저장된 정보에서의 에러들을 검출하는 에러 정정 로직을 더 포함하는 시스템.
  27. 삭제
  28. 제26항에 있어서,
    상기 집적 회로는, 상기 메모리 모듈에 데이터를 전송하는 메모리 제어기를 더 포함하는 시스템.
KR1020090129726A 2008-12-30 2009-12-23 집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링 KR101141487B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/345,948 2008-12-30
US12/345,948 US20100169729A1 (en) 2008-12-30 2008-12-30 Enabling an integrated memory controller to transparently work with defective memory devices

Publications (2)

Publication Number Publication Date
KR20100080383A KR20100080383A (ko) 2010-07-08
KR101141487B1 true KR101141487B1 (ko) 2012-07-02

Family

ID=42115417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090129726A KR101141487B1 (ko) 2008-12-30 2009-12-23 집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링

Country Status (4)

Country Link
US (1) US20100169729A1 (ko)
EP (1) EP2204818A3 (ko)
KR (1) KR101141487B1 (ko)
CN (1) CN102117236A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10795763B2 (en) 2017-11-30 2020-10-06 SK Hynix Inc. Memory system and error correcting method thereof

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984250B2 (en) * 2008-12-31 2011-07-19 Intel Corporation Dynamic updating of thresholds in accordance with operating conditons
TW201302793A (zh) 2010-09-03 2013-01-16 Glaxo Group Ltd 新穎之抗原結合蛋白
US9786356B2 (en) * 2015-01-30 2017-10-10 Qualcomm Incorporated Memory device with adaptive voltage scaling based on error information
WO2017192626A1 (en) 2016-05-02 2017-11-09 Intel Corporation Internal error checking and correction (ecc) with extra system bits
CN107516547A (zh) * 2016-06-16 2017-12-26 中兴通讯股份有限公司 内存硬错误的处理方法及装置
US10120749B2 (en) 2016-09-30 2018-11-06 Intel Corporation Extended application of error checking and correction code in memory
US11656938B2 (en) * 2020-09-28 2023-05-23 Micron Technology, Inc. Preemptive read verification after hardware write back

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161831A1 (en) * 2005-01-19 2006-07-20 Moty Mehalel Lowering voltage for cache memory operation
US20080172523A1 (en) 2007-01-11 2008-07-17 Hitachi, Ltd. Flash memory module, storage apparatus using flash memory module as storage medium, and address translation table verification method for flash memory module

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244770A (ja) * 1996-03-11 1997-09-19 Ricoh Co Ltd 電子機器の電圧低下制御装置
US5870614A (en) * 1996-09-25 1999-02-09 Philips Electronics North America Corporation Thermostat controls dsp's temperature by effectuating the dsp switching between tasks of different compute-intensity
US5956350A (en) * 1997-10-27 1999-09-21 Lsi Logic Corporation Built in self repair for DRAMs using on-chip temperature sensing and heating
JPH11144494A (ja) * 1997-11-12 1999-05-28 Nec Corp 半導体メモリ
US6351827B1 (en) * 1998-04-08 2002-02-26 Kingston Technology Co. Voltage and clock margin testing of memory-modules using an adapter board mounted to a PC motherboard
US6085334A (en) * 1998-04-17 2000-07-04 Motorola, Inc. Method and apparatus for testing an integrated memory device
US6005824A (en) * 1998-06-30 1999-12-21 Lsi Logic Corporation Inherently compensated clocking circuit for dynamic random access memory
US6415388B1 (en) * 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US6467048B1 (en) * 1999-10-07 2002-10-15 Compaq Information Technologies Group, L.P. Apparatus, method and system for using cache memory as fail-over memory
US6574763B1 (en) * 1999-12-28 2003-06-03 International Business Machines Corporation Method and apparatus for semiconductor integrated circuit testing and burn-in
JP2001208798A (ja) * 2000-01-26 2001-08-03 Mitsubishi Electric Corp 半導体回路のテスト方法および装置
US6973605B1 (en) * 2001-06-15 2005-12-06 Artisan Components, Inc. System and method for assured built in self repair of memories
US7260758B1 (en) * 2001-09-07 2007-08-21 Lsi Corporation Method and system for performing built-in self-test routines using an accumulator to store fault information
US6754117B2 (en) * 2002-08-16 2004-06-22 Micron Technology, Inc. System and method for self-testing and repair of memory modules
US20040215912A1 (en) * 2003-04-24 2004-10-28 George Vergis Method and apparatus to establish, report and adjust system memory usage
US7099221B2 (en) * 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
US7272758B2 (en) * 2004-08-31 2007-09-18 Micron Technology, Inc. Defective memory block identification in a memory device
JP4846383B2 (ja) * 2006-02-10 2011-12-28 株式会社日立製作所 情報処理装置
US8020038B2 (en) * 2006-09-28 2011-09-13 Hewlett-Packard Development Company, L.P. System and method for adjusting operating points of a processor based on detected processor errors
US7483325B2 (en) * 2007-03-20 2009-01-27 International Business Machines Corporation Retention-time control and error management in a cache system comprising dynamic storage
US8078918B2 (en) * 2008-02-07 2011-12-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161831A1 (en) * 2005-01-19 2006-07-20 Moty Mehalel Lowering voltage for cache memory operation
US20080172523A1 (en) 2007-01-11 2008-07-17 Hitachi, Ltd. Flash memory module, storage apparatus using flash memory module as storage medium, and address translation table verification method for flash memory module

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10795763B2 (en) 2017-11-30 2020-10-06 SK Hynix Inc. Memory system and error correcting method thereof

Also Published As

Publication number Publication date
US20100169729A1 (en) 2010-07-01
EP2204818A2 (en) 2010-07-07
KR20100080383A (ko) 2010-07-08
EP2204818A3 (en) 2010-10-06
CN102117236A (zh) 2011-07-06

Similar Documents

Publication Publication Date Title
KR101141487B1 (ko) 집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링
TWI605459B (zh) 基於錯誤類型之錯誤檢查與校正(ecc)的動態應用程式
KR101203764B1 (ko) 메모리 셀프-리프레시 전력을 절약하기 위한 시스템들, 방법들 및 장치들
KR101821515B1 (ko) 메모리 제어기를 이용하여 데이터 에러 이벤트들을 핸들링하기 위한 방법, 장치 및 시스템
TWI421679B (zh) 錯誤校正裝置及方法
US8689041B2 (en) Method for protecting data in damaged memory cells by dynamically switching memory mode
US7793172B2 (en) Controlled reliability in an integrated circuit
US8020053B2 (en) On-line memory testing
US8869007B2 (en) Three dimensional (3D) memory device sparing
US8473791B2 (en) Redundant memory to mask DRAM failures
US20060239086A1 (en) Nonvolatile memory system
US10546649B2 (en) Post package repair for mapping to a memory failure pattern
US7107493B2 (en) System and method for testing for memory errors in a computer system
CN109785893B (zh) 用于验证存储器适当操作的错误纠正码校验位的冗余存储
US20080256416A1 (en) Apparatus and method for initializing memory
US8006028B2 (en) Enabling memory module slots in a computing system after a repair action
US20150248327A1 (en) Memory module with dedicated repair devices
US20190179554A1 (en) Raid aware drive firmware update
US7747915B2 (en) System and method for improving the yield of integrated circuits containing memory
CN103389921A (zh) 信号处理电路以及使用了该信号处理电路的试验装置
KR102427323B1 (ko) 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee