KR101141487B1 - 집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링 - Google Patents
집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4078—Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/46—Test trigger logic
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50016—Marginal testing, e.g. race, voltage or current testing of retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5002—Characteristic
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5004—Voltage
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C2029/5606—Error catch memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports 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) 동작할 수 있도록 하는 시스템, 방법 및 장치에 관한 것이다. 몇몇 실시예에서, 메모리 모듈의 정상 동작 동안 메모리 모듈에 마진 조건이 부과된다. "마진 조건" 이라는 용어는 메모리 모듈에 대한 지정된 (또는 "정상") 동작 조건에서 벗어나는 조건을 지칭한다. 메모리 모듈은 마진 조건에 응답하여 실패를 나타낼 수 있고, 보상 메카니즘이 실패를 완화시킬 수 있다.
메모리 모듈, 마진 조건, 하드 에러, 소프트 에러, 에러 정정
Description
일반적으로, 본 발명의 실시예들은 집적 회로의 분야에 관한 것으로서, 특히, 집적 메모리 제어기가 결함 메모리 디바이스들과 투과성으로(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)
- 집적 회로로서,메모리 모듈에 연결되고, 상기 메모리 모듈의 동작 동안 상기 메모리 모듈에 마진 조건(marginal condition)을 부과하여 상기 메모리 모듈이 상기 부과된 마진 조건으로 동작하도록 하는 마진 조건 로직; 및상기 메모리 모듈에 연결되고, 상기 메모리 모듈의 메모리 위치에 저장된 데이터를 새로운 메모리 위치로 재배치함으로써 상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 재배치(relocation) 로직 - 상기 재배치 로직은 적어도 에러 검출 로직과 통신하여 에러가 하드 에러(hard error)인지 또는 소프트 에러(soft error)인지를 결정함 -;을 포함하는 집적 회로.
- 제1항에 있어서,상기 조건은 변경된 동작 전압인 집적 회로.
- 제1항에 있어서,상기 조건은 변경된 동작 온도인 집적 회로.
- 제1항에 있어서,상기 조건은 변경된 리프레시 레이트인 집적 회로.
- 제4항에 있어서,상기 재배치 로직은 상기 변경된 리프레시 레이트를 보상하는 로직인 집적 회로.
- 제5항에 있어서,상기 재배치 로직은 상기 메모리 모듈 상의 메모리 위치에 대한 하드 에러를 검출하는 하드 에러 검출 로직을 포함하는 집적 회로.
- 제6항에 있어서,상기 재배치 로직은 상기 하드 에러가 검출된 상기 메모리 위치에 저장된 데이터를 상기 메모리 위치로부터 새로운 메모리 위치로 재배치하도록 더 동작하는 집적 회로.
- 제7항에 있어서,상기 재배치 로직에 연결되고, 상기 메모리 모듈 상에 저장된 정보에서의 에러들을 검출하는 에러 정정 로직을 더 포함하는 집적 회로.
- 삭제
- 제1항에 있어서,상기 메모리 모듈에 데이터를 전송하는 메모리 제어기를 더 포함하는 집적 회로.
- 컴퓨팅 시스템을 초기화하는 단계;메모리 모듈에 연결되고, 상기 메모리 모듈의 동작 동안 상기 메모리 모듈에 마진 조건을 부과하는 마진 조건 로직을 이용하여, 상기 메모리 모듈이 상기 부과된 마진 조건으로 동작하도록 상기 메모리 모듈의 동작 동안 상기 메모리 모듈에 상기 마진 조건을 부과하는 단계; 및상기 메모리 모듈에 연결되고, 적어도 에러 검출 로직과 통신하여 에러가 하드 에러인지 또는 소프트 에러인지를 결정하는 재배치 로직을 이용하여 상기 메모리 모듈의 메모리 위치에 저장된 데이터를 새로운 메모리 위치로 재배치함으로써 상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 단계를 포함하는 방법.
- 제11항에 있어서,상기 조건은 변경된 동작 전압인 방법.
- 제11항에 있어서,상기 조건은 변경된 동작 온도인 방법.
- 제11항에 있어서,상기 조건은 변경된 리프레시 레이트인 방법.
- 제14항에 있어서,상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 단계는,상기 메모리 모듈 상의 메모리 위치에 대한 하드 에러를 검출하는 단계를 포함하는 방법.
- 제15항에 있어서,상기 메모리 모듈 상의 메모리 위치에 대한 하드 에러를 검출하는 단계는,에러 정정 로직을 이용하여 상기 메모리 위치로부터 판독된 정보에서의 에러를 검출하는 단계; 및상기 검출된 에러가 하드 에러인지 또는 소프트 에러인지를 결정하는 단계를 포함하는 방법.
- 제16항에 있어서,상기 검출된 에러가 하드 에러인지 또는 소프트 에러인지를 결정하는 단계는,상기 에러가 지속적인(persistent) 에러인지를 결정하는 단계를 포함하는 방법.
- 제15항에 있어서,상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 단계는,상기 메모리 위치에 대해 상기 하드 에러가 검출된 경우, 상기 메모리 위치로부터 다른 메모리 위치로 데이터를 재배치하는 단계를 더 포함하는 방법.
- 컴퓨팅 시스템에 대한 메인 메모리의 적어도 일부분을 제공하는 메모리 모듈; 및메모리 상호접속을 통해 상기 메모리 모듈과 연결된 집적 회로를 포함하며,상기 집적 회로는,상기 메모리 모듈에 연결되고, 상기 메모리 모듈의 동작 동안 상기 메모리 모듈에 마진 조건을 부과하여 상기 메모리 모듈이 상기 부과된 마진 조건으로 동작하도록 하는 마진 조건 로직, 및상기 메모리 모듈에 연결되고, 상기 메모리 모듈의 메모리 위치에 저장된 데이터를 새로운 메모리 위치에 재배치함으로써 상기 메모리 모듈에 부과된 상기 마진 조건을 보상하는 재배치 로직 - 상기 재배치 로직은 적어도 에러 검출 로직과 통신하여, 에러가 하드 에러인지 또는 소프트 에러인지를 결정함 - 을 포함하는 시스템.
- 제19항에 있어서,상기 조건은 변경된 동작 전압인 시스템.
- 제19항에 있어서,상기 조건은 변경된 동작 온도인 시스템.
- 제19항에 있어서,상기 조건은 변경된 리프레시 레이트인 시스템.
- 제22항에 있어서,상기 재배치 로직은 상기 변경된 리프레시 레이트를 보상하는 로직인 시스템.
- 제23항에 있어서,상기 재배치 로직은 상기 메모리 모듈 상의 메모리 위치에 대한 하드 에러를 검출하는 하드 에러 검출 로직을 포함하는 시스템.
- 제24항에 있어서,상기 재배치 로직은 상기 하드 에러가 검출된 상기 메모리 위치에 저장된 데이터를 상기 메모리 위치로부터 새로운 메모리 위치로 재배치하도록 더 동작하는 시스템.
- 제25항에 있어서,상기 집적 회로는, 상기 재배치 로직과 연결되고, 상기 메모리 모듈 상에 저장된 정보에서의 에러들을 검출하는 에러 정정 로직을 더 포함하는 시스템.
- 삭제
- 제26항에 있어서,상기 집적 회로는, 상기 메모리 모듈에 데이터를 전송하는 메모리 제어기를 더 포함하는 시스템.
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)
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)
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)
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)
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 |
-
2008
- 2008-12-30 US US12/345,948 patent/US20100169729A1/en not_active Abandoned
-
2009
- 2009-12-22 EP EP09252883A patent/EP2204818A3/en not_active Withdrawn
- 2009-12-23 KR KR1020090129726A patent/KR101141487B1/ko not_active IP Right Cessation
- 2009-12-28 CN CN200910215285XA patent/CN102117236A/zh active Pending
Patent Citations (2)
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)
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 |