KR102573833B1 - 메모리에 대한 테스트 회로 및 이를 포함하는 메모리 모듈 - Google Patents
메모리에 대한 테스트 회로 및 이를 포함하는 메모리 모듈 Download PDFInfo
- Publication number
- KR102573833B1 KR102573833B1 KR1020180045080A KR20180045080A KR102573833B1 KR 102573833 B1 KR102573833 B1 KR 102573833B1 KR 1020180045080 A KR1020180045080 A KR 1020180045080A KR 20180045080 A KR20180045080 A KR 20180045080A KR 102573833 B1 KR102573833 B1 KR 102573833B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- failures
- packages
- memory packages
- repair
- Prior art date
Links
Images
Classifications
-
- 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/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
-
- 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/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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 sector programmable memories, e.g. flash disk
-
- 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
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
메모리에 대한 테스트 회로는, 복수개의 메모리 패키지들에 대한 테스트를 수행하여 페일 정보를 출력하는 빌트-인 셀프 테스트 회로와, 그리고 빌트-인 셀프 테스트 회로로부터의 페일 정보를 입력받아, 복수개의 메모리 패키지들 중 리페어 대상 메모리 패키지를 선정하되, 리페어 대상 메모리 패키지의 선정은 에러정정능력 및 복수개의 메모리 패키지들 각각의 리던던시영역의 사용 가능 여부에 따라 결정되도록 구성되는 빌트-인 리페어 분석 회로를 포함한다.
Description
본 개시의 여러 실시예들은, 반도체 메모리에 관한 것으로서, 특히 메모리에 대한 테스트 회로 및 이를 포함하는 메모리 모듈에 관한 것이다.
반도체 메모리의 고집적화에 따라 메모리의 용량은 매우 빠른 속도로 증가하고 있다. 반도체 기술의 발전에 따른 메모리 용량의 증가는 하나의 메모리 칩이 갖는 메모리 셀의 개수의 증가를 의미한다. 메모리 셀의 개수가 증가할수록 불량 메모리 셀의 개수 또한 증가될 수 있다. 따라서 이러한 불량이 발생할 경우를 대비하여 메모리 셀어레이는 리던던시(redundancy) 영역을 구비하게 되고, 메모리 셀들의 페일 정보(fail information)을 이용하여 불량이 발생한 메모리 셀들을 리던던시 영역 내의 리던던시 셀들로 대체한다.
특히 최근에는 반도체 메모리의 전력소모 감소와 성능 향상을 위해 3차원적 집적기술을 도입하려는 시도가 활발하게 이루어지고 있다. 3차원적 집적 기술은 메모리 칩을 수직으로 적층함으로써 단위 면적에 대한 집적도를 증가시키는 제조 기술로 설명될 수 있다. 이와 같이 메모리 칩들에 대한 적층 기술을 통해 고집적의 메모리 패키지를 구현함으로써, 메모리 칩들 내의 메모리 셀들에 대한 신뢰성이 더욱 더 중요해지고 있다.
본 출원이 해결하고자 하는 과제는, 반도체 패키지들에 대한 테스트 결과 리페어 대상 메모리 패키지를 선정하는데 있어서 효율성이 증대되도록 하는 테스트 회로를 제공하는 것이다.
본 출원이 해결하고자 하는 다른 과제는, 이와 같은 테스트 회로를 갖는 메모리 모듈을 제공하는 것이다.
본 개시의 일 예에 따른 메모리에 대한 테스트 회로는, 복수개의 메모리 패키지들에 대한 테스트를 수행하여 페일 정보를 출력하는 빌트-인 셀프 테스트 회로와, 그리고 빌트-인 셀프 테스트 회로로부터의 페일 정보를 입력받아, 복수개의 메모리 패키지들 중 리페어 대상 메모리 패키지를 선정하되, 리페어 대상 메모리 패키지의 선정은 에러정정능력 및 복수개의 메모리 패키지들 각각의 리던던시영역의 사용 가능 여부에 따라 결정되도록 구성되는 빌트-인 리페어 분석 회로를 포함한다.
본 개시의 일 예에 따른 메모리 모듈은, 복수개의 메모리 패키지들 및 모듈 컨트롤러를 포함한다. 모듈 컨트롤러는, 에러정정코드(ECC) 회로 및 테스트 회로를 포함한다. 테스트 회로는, 복수개의 메모리 패키지들에 대한 테스트를 수행하여 페일 정보를 출력하는 빌트-인 셀프 테스트 회로와, 그리고 빌트-인 셀프 테스트 회로로부터의 페일 정보를 입력받아, 복수개의 메모리 패키지들 중 리페어 대상 메모리 패키지를 선정하되, 리페어 대상 메모리 패키지의 선정은 ECC 회로의 에러정정능력 및 복수개의 메모리 패키지들 각각의 리던던시영역의 사용 가능 여부에 따라 결정되도록 구성되는 빌트-인 리페어 분석 회로를 포함한다.
여러 실시예들에 따르면, 에러정정능력 및 복수개의 메모리 패키지들 각각의 리던던시영역의 사용 가능 여부를 고려하여 복수개의 메모리 패키지들 중 리페어 대상 메모리 패키지가 선정되도록 함으로써 리페어 대상 메모리 패키지의 선정을 효율적으로 수행할 수 있다는 이점이 제공된다.
도 1은 본 개시에 따른 메모리 모듈의 일 예를 나타내 보인 도면이다.
도 2는 도 1의 메모리 모듈의 메모리 패키지 구성의 일 예를 나타내 보인 블록도이다.
도 3은 도 2의 메모리 패키지 내의 뱅크 구성의 일 예를 나타내 보인 도면이다.
도 4는 도 3의 뱅크 내의 셀 어레이 구성의 일 예를 나타내 보인 도면이다.
도 5는 도 1의 메모리 모듈의 모듈 컨트롤러 구성의 일 예를 나타내 보인 블록도이다.
도 6은 본 개시에 따른 메모리에 대한 테스트 회로의 일 예를 나타내 보인 블록도이다.
도 7 내지 도 9는 본 개시에 따른 메모리에 대한 테스트 회로 동작의 일 예를 설명하기 위해 나타내 보인 플로챠트들이다.
도 10은 본 개시에 따른 메모리에 대한 테스트 회로의 동작을 설명하기 위한 메모리 모듈의 일 예를 나타내 보인 도면이다.
도 11은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 빌트-인 셀프 테스트 회로(BIST)로부터 빌트-인 리페어 분석 회로(BIRA)로 전송되는 페일 정보의 일 예를 나타내 보인 테이블이다.
도 12는 도 11의 페일 정보 중 로우 어드레스 및 패키지별 페일 정보의 이진 바이너리 데이터 구성의 일 예를 나타내 보인 도면이다.
도 13은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 페일 분포가 빌트-인 리페어 분석 회로(BIRA) 내의 제1 레지스터에 저장된 형태의 일 예를 나타내 보인 도면이다.
도 14는 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리던던시 영역의 상태가 빌트-인 리페어 분석 회로(BIRA) 내의 제2 레지스터에 저장된 형태의 일 예를 나타내 보인 도면이다.
도 15는 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 제1 레지스터와 제2 레지스터를 비교하여 리던던시 영역의 상태를 리페어 대상 메모리 패키지의 선정에 반영하는 과정의 일 예를 설명하기 위해 나타내 보인 도면이다.
도 16은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 제1 레지스터와 제2 레지스터를 비교하여 리던던시 영역의 상태를 리페어 대상 메모리 패키지의 선정에 반영하는 과정의 다른 예를 설명하기 위해 나타내 보인 도면이다.
도 17은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 예정된 리던던시 영역의 어드레스가 빌트-인 리페어 분석 회로(BIRA) 내의 제3 레지스터에 저장된 형태의 일 예를 나타내 보인 도면이다.
도 18은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 제1 레지스터와 제3 레지스터를 비교하여 리던던시 영역의 상태를 리페어 대상 메모리 패키지의 선정에 반영하는 과정의 다른 예를 설명하기 위해 나타내 보인 도면이다.
도 19는 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 대상 메모리 패키지를 선정하는 과정의 일 예를 설명하기 위해 나타내 보인 플로챠트이다.
도 20은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 대상 메모리 패키지가 선정된 후의 빌트-인 리페어 분석 회로(BIRA) 내의 제1 레지스터 상태의 일 예를 나타내 보인 도면이다.
도 21은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 대상 메모리 패키지가 선정된 후의 빌트-인 리페어 분석 회로(BIRA) 내의 제1 레지스터 상태의 다른 예를 나타내 보인 도면이다.
도 22는 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 대상 메모리 패키지가 선정된 후의 빌트-인 리페어 분석 회로(BIRA) 내의 제1 레지스터 상태의 또 다른 예를 나타내 보인 도면이다.
도 2는 도 1의 메모리 모듈의 메모리 패키지 구성의 일 예를 나타내 보인 블록도이다.
도 3은 도 2의 메모리 패키지 내의 뱅크 구성의 일 예를 나타내 보인 도면이다.
도 4는 도 3의 뱅크 내의 셀 어레이 구성의 일 예를 나타내 보인 도면이다.
도 5는 도 1의 메모리 모듈의 모듈 컨트롤러 구성의 일 예를 나타내 보인 블록도이다.
도 6은 본 개시에 따른 메모리에 대한 테스트 회로의 일 예를 나타내 보인 블록도이다.
도 7 내지 도 9는 본 개시에 따른 메모리에 대한 테스트 회로 동작의 일 예를 설명하기 위해 나타내 보인 플로챠트들이다.
도 10은 본 개시에 따른 메모리에 대한 테스트 회로의 동작을 설명하기 위한 메모리 모듈의 일 예를 나타내 보인 도면이다.
도 11은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 빌트-인 셀프 테스트 회로(BIST)로부터 빌트-인 리페어 분석 회로(BIRA)로 전송되는 페일 정보의 일 예를 나타내 보인 테이블이다.
도 12는 도 11의 페일 정보 중 로우 어드레스 및 패키지별 페일 정보의 이진 바이너리 데이터 구성의 일 예를 나타내 보인 도면이다.
도 13은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 페일 분포가 빌트-인 리페어 분석 회로(BIRA) 내의 제1 레지스터에 저장된 형태의 일 예를 나타내 보인 도면이다.
도 14는 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리던던시 영역의 상태가 빌트-인 리페어 분석 회로(BIRA) 내의 제2 레지스터에 저장된 형태의 일 예를 나타내 보인 도면이다.
도 15는 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 제1 레지스터와 제2 레지스터를 비교하여 리던던시 영역의 상태를 리페어 대상 메모리 패키지의 선정에 반영하는 과정의 일 예를 설명하기 위해 나타내 보인 도면이다.
도 16은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 제1 레지스터와 제2 레지스터를 비교하여 리던던시 영역의 상태를 리페어 대상 메모리 패키지의 선정에 반영하는 과정의 다른 예를 설명하기 위해 나타내 보인 도면이다.
도 17은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 예정된 리던던시 영역의 어드레스가 빌트-인 리페어 분석 회로(BIRA) 내의 제3 레지스터에 저장된 형태의 일 예를 나타내 보인 도면이다.
도 18은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 제1 레지스터와 제3 레지스터를 비교하여 리던던시 영역의 상태를 리페어 대상 메모리 패키지의 선정에 반영하는 과정의 다른 예를 설명하기 위해 나타내 보인 도면이다.
도 19는 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 대상 메모리 패키지를 선정하는 과정의 일 예를 설명하기 위해 나타내 보인 플로챠트이다.
도 20은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 대상 메모리 패키지가 선정된 후의 빌트-인 리페어 분석 회로(BIRA) 내의 제1 레지스터 상태의 일 예를 나타내 보인 도면이다.
도 21은 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 대상 메모리 패키지가 선정된 후의 빌트-인 리페어 분석 회로(BIRA) 내의 제1 레지스터 상태의 다른 예를 나타내 보인 도면이다.
도 22는 본 개시에 따른 메모리에 대한 테스트 회로의 동작 과정에서 리페어 대상 메모리 패키지가 선정된 후의 빌트-인 리페어 분석 회로(BIRA) 내의 제1 레지스터 상태의 또 다른 예를 나타내 보인 도면이다.
본 출원의 예의 기재에서 "제1" 및 "제2"와 같은 기재는 부재를 구분하기 위한 것이며, 부재 자체를 한정하거나 특정한 순서를 의미하는 것으로 사용된 것은 아니다. 또한, 어느 부재의 "상"에 위치하거나 "상부", "하부", 또는 "측면"에 위치한다는 기재는 상대적인 위치 관계를 의미하는 것이지 그 부재에 직접 접촉하거나 또는 사이 계면에 다른 부재가 더 도입되는 특정한 경우를 한정하는 것은 아니다. 또한, 어느 한 구성 요소가 다른 구성 요소에 "연결되어 있다"거나 "접속되어 있다"의 기재는, 다른 구성 요소에 전기적 또는 기계적으로 직접 연결되어 있거나 또는 접속되어 있을 수 있으며, 또는, 중간에 다른 별도의 구성 요소들이 개재되어 연결 관계 또는 접속 관계를 구성할 수도 있다.
도 1은 본 개시에 따른 메모리 모듈의 일 예를 나타내 보인 도면이다. 도 1을 참조하면, 메모리 모듈(10)은, 복수개의 메모리 패키지들(100)과, 복수개의 데이터 버퍼들(200)과, 탭(300)과, 그리고 모듈 컨트롤러(DIMM CTRL)(400)를 포함하여 구성될 수 있다. 본 예에서 메모리 모듈(10)은 18개의 메모리 패키지들(100)을 포함하지만, 이는 단지 하나의 예시로서 이에 제한되는 것은 아니다. 메모리 모듈(10)에 포함되는 메모리 패키지들(100)의 개수는 메모리 모듈(10)의 구조와 입/출력(I/O) 구성에 따라 다양하게 설정될 수 있다. 복수개의 메모리 패키지들(100), 복수개의 데이터 버퍼들(200), 및 모듈 컨트롤러(400)는, 예컨대 인쇄회로기판과 같은 기판에 집적될 수 있다. 기판의 일 단부에 배치되는 탭(300)은, 탭 핀으로 불리우는 커넥팅 단자를 복수로 가질 수 있다. 탭(300)에는 커맨드/어드레스 신호 입력핀들, 클럭 입력핀들, 데이터 입/출력 신호핀들이 할당될 수 있다.
도 2는 도 1의 메모리 모듈(10)의 메모리 패키지(100) 구성의 일 예를 나타내 보인 블록도이다. 메모리 패키지(100)는 복수개, 예컨대 N개의 메모리 칩들(또는 메모리 다이들)(110-1, 110-2, …, 110-N)을 포함할 수 있다. 일 예에서 메모리 칩들(110-1, 110-2, …, 110-N)은 패키지 기판 위에서 수직 방향으로 적층되어 구성될 수 있다. 메모리 칩들(110-1, 110-2, …, 110-N) 각각은 동일한 구조를 가질 수 있다. 첫번째 메모리 칩(110-1)을 예로 들면, 메모리 칩(110-1)은, 예컨대 4개의 뱅크 그룹들(Bank Groups)(BG-0, BG-1, BG-2, BG-3)을 갖는다. 뱅크 그룹들(BG-0, BG-1, BG-2, BG-3) 각각은 동일하게 구성될 수 있다. 뱅크 그룹들(BG-0, BG-1, BG-2, BG-3) 각각은 뱅크 그룹 어드레스를 통해 특정될 수 있다. 뱅크 그룹들(BG-0, BG-1, BG-2, BG-3) 각각은, 예컨대 4개의 뱅크들(BANK-0, BANK-1, BANK-2, BANK-3)을 갖는다. 이에 따라 메모리 칩(110-1)은 16개의 뱅크들을 포함할 수 있다. 뱅크들(BANK-0, BANK-1, BANK-2, BANK-3) 각각은 동일하게 구성될 수 있다. 뱅크들(BANK-0, BANK-1, BANK-2, BANK-3) 각각은 뱅크 어드레스를 통해 특정될 수 있다.
도 3은 도 2의 메모리 패키지(110-1) 내의 뱅크(BANK-0) 구성의 일 예를 나타내 보인 도면이다. 도 3을 참조하면, 뱅크(BANK-0)는, 예컨대 4개의 셀 어레이들(cell array 0, cell array 1, cell array 2, cell array 3)을 포함할 수 있다. 셀 어레이들(cell array 0, cell array 1, cell array 2, cell array 3) 각각은 동일하게 구성될 수 있다. 셀 어레이들(cell array 0, cell array 1, cell array 2, cell array 3) 각각은 셀어레이 어드레스를 통해 특정될 수 있다. 첫번째 셀 어레이(cell array 0)는 "00"의 셀어레이 어드레스를 갖는다. 두번째 셀 어레이(cell array 1)는 "01"의 셀어레이 어드레스를 갖는다. 세번째 셀 어레이(cell array 2)는 "10"의 셀어레이 어드레스를 갖는다. 그리고 네번째 셀 어레이(cell array 3)는 "11"의 셀어레이 어드레스를 갖는다.
도 4는 도 3의 뱅크(BANK-0) 내의 셀 어레이(cell array 0) 구성의 일 예를 나타내 보인 도면이다. 도 4를 참조하면, 셀 어레이(cell array 0)는 복수개의 로우들(rows) 및 복수개의 컬럼들(columns)에 의해 한정되는 매트릭스 형태로 배치되는 복수개의 메모리 셀들을 포함한다. 셀 어레이(cell array 0)는 데이터저장영역 및 리던던시영역을 포함한다. 데이터저장영역은, 메인 메모리 셀들을 포함하는 셀 영역에 해당하고, 리던던시영역은, 메인 메모리 셀들 중 페일(fail)난 메모리 셀들을 대체할 수 있는 리던던트 메모리 셀들을 포함하는 셀 영역이다. 일 예에서 로우들 각각은 로우 어드레스에 의해 특정될 수 있다. 컬럼들 각각은 컬럼 어드레스에 의해 특정될 수 있다. 데이터저장영역 내의 메인 메모리 셀들은, 리던던시영역 내의 메모리 셀들과 어떠한 로우 어드레스도 공유하지 않는 반면에 데이터저장영역 내의 메인 메모리 셀들은 리던던시영역 내의 리던던트 메모리 셀들과 컬럼 어드레스들을 공유할 수 있다. 일 예에서 데이터저장영역 내의 메인 메모리 셀을 특정하는 로우 어드레스 및 컬럼 어드레스는 각각 13 비트의 이진 바이너리 데이터 형태 및 10 비트의 이진 바이너리 데이터 형태로 구성된다. 이 경우, 셀 어레이(cell array 0)의 데이터저장영역은, 모두 1 메가바이트(MB)의 데이터 저장 용량을 갖는다. 셀 어레이(cell array 0) 내에서 데이터저장영역과 리던던시영역의 배치는 다양하게 설정될 수 있다.
도 5는 도 1의 메모리 모듈(10)의 모듈 컨트롤러(400) 구성의 일 예를 나타내 보인 블록도이다. 도 5를 참조하면, 모듈 컨트롤러(400)는, 호스트(Host)(20)와의 인터페이스를 수행하는 프론트 물리층(Front PHY)(401-1)과, 메모리 미디어(Media)(30)와의 인터페이스를 수행하는 백 물리층(Back PHY)(401-2)을 포함할 수 있다. 일 예에서 메모리 미디어(30)는 메모리 모듈(도 1의 10)의 각각을 구성하는 메모리 패키지들(도 1의 100)일 수 있다. 모듈 컨트롤러(400)는 명령 처리 회로(402), 테스트 회로(403) 및 에러정정코드(error correction code; 이하 ECC) 회로(404)를 더 포함하여 구성될 수 있다. 또한 모듈 컨트롤러(400)는 단방향의 멀티플렉서(405) 및 양방향의 멀티플렉서(406)를 더 포함할 수 있다.
명령 처리 회로(402)는, 호스트(20)로부터 프론트 물리층(401-1)을 통해 입력되는 커맨드(command)를 단방향의 멀티플렉서(405) 및 백 물리층(401-2)을 통해 메모리 미디어(30)에게 전송한다. 테스트 회로(403)는, 메모리 미디어(30)에 대한 테스트를 수행하고, 테스트 결과에 따라 리페어 대상의 메모리 패키지를 선정한다. 테스트 회로(403)는, 선정된 리페어 대상의 메모리 패키지에 대한 리페어를 수행할 수 있다. 이 외에, 테스트 회로(403)는, 메모리 미디어(30) 내의 리던던시영역의 상태 및 리페어 대상 영역의 어드레스를 저장한다. 테스트 회로(403)는 단방향의 멀티플렉서(405) 및 양방향의 멀티플렉서(406)를 통해 백 물리층(401-2)과 결합된다. ECC 회로(404)는, 호스트(20)로부터의 쓰기 데이터가 프론트 물리층(401-1)을 통해 입력되면, ECC 인코딩을 수행한 후에 양방향의 멀티플렉서(406) 및 백 물리층(401-2)을 통해 메모리 미디어(30)에 ECC 인코딩된 데이터를 전달한다. ECC 회로(404)는, 메모리 미디어(30)로부터의 읽기 데이터가 백 물리층(401-2) 및 양방향의 멀티플렉서(406)를 통해 입력되면, ECC 디코딩을 수행하여 에러를 정정한 후에 프론트 물리층(401-1)을 통해 호스트(20)로 전달한다. 이 과정에서 ECC 회로(404)는, 에러정정능력(error correction capability) 내에서 에러를 정정할 수 있다. 에러정정능력은, ECC 회로(404)에 의한 ECC 인코딩 및 ECC 디코딩 동작이 정정할 수 있는 최대 비트(또는 심볼)의 수로 정의될 수 있다.
도 6은 본 개시에 따른 메모리에 대한 테스트 회로(403)의 일 예를 나타내 보인 블록도이다. 도 6을 참조하면, 테스트 회로(403)는, 빌트-인 셀프 테스트(built-in self test) 회로(BIST)(410), 빌트-인 리페어 분석(built-in repair analysis) 회로(BIRA)(420), 테스트 모드(test mode) 회로(TM)(430), 빌트-인 셀프 리페어(built-in self repair) 회로(BISR)(440), 및 리페어 어드레스 레지스터 파일(repair address register file)(RARF)(450)를 포함하여 구성될 수 있다. 테스트 회로(403)는, 복수개의 메모리 패키지들에 대한 테스트를 수행하여 페일 정보를 획득하고, 이 페일 정보를 고려하여 리페어 대상이 되는 메모리 패키지를 선정할 수 있도록 구성된다. 리페어 대상 메모리 패키지의 선정은, 모듈 컨트롤러(400)의 ECC 회로(404)의 에러정정능력과, 메모리 패키지들 각각의 리던던시영역의 사용 가능 여부를 고려하여 이루어질 수 있다.
빌트-인 셀프 테스트 회로(BIST)(410)는, 복수개의 메모리 패키지들에 대한 테스트를 수행하여 페일 정보를 출력한다. 테스트는 메모리 셀에 대한 일련의 테스트 알고리즘(test algorithms)이 적용되어 수행될 수 있다. 이를 위해 빌트-인 셀프 테스트 회로(BIST)(410)는, 명령 발생기(411), 어드레스 발생기(412), 데이터 발생기(413), 및 데이터 비교부(414)를 포함할 수 있다. 명령 발생기(411)는, 테스트를 위한 쓰기 명령 및 읽기 명령을 발생시킨다. 어드레스 발생기(412)는, 읽기 동작 및 쓰기 동작이 수행되는 메모리 셀의 어드레스를 발생시킨다. 데이터 발생기(413)는, 테스트되는 메모리 셀들에 적용되는 테스트 패턴을 생성시킨다. 그리고 데이터 비교부(414)는, 메모리로부터 읽은 데이터를 메모리에 쓴 테스트 패턴과 비교하여 메모리 셀들의 각각이 불량 메모리 셀인지를 판단하고, 불량 메모리 셀들에 대한 페일 정보를 생성하여 빌트-인 리페어 분석 회로(BIRA)(420)로 전달한다.
빌트-인 셀프 테스트(BIST)(410)의 데이터 비교부(414)로부터 페일 정보가 입력되면, 빌트-인 리페어 분석 회로(BIRA)(420)는, 페일 정보를 분석하여 리페어할 메모리 패키지를 선정한다. 이 과정에서, 빌트-인 리페어 분석 회로(BIRA)(420)는, 셀 어레이 내의 리던던시영역 상태와 ECC 회로의 에러정정능력을 고려하여 리페어 대상 패키지의 개수가 최소가 되도록 한다. 빌트-인 리페어 분석 회로(BIRA)(420)는, 언리페어 제어(unrepair controller) 회로(URC)(421), 리페어 분석(repair analysis) 회로(RA)(422), 및 리페어 어드레스 레지스터 파일 제어(repair address register file controller) 회로(RARFC)(423)를 포함할 수 있다.
언리페어 제어 회로(URC)(421)는, 입력되는 페일 정보를 분석하여 페일 분포 데이터를 얻고, 메모리 패키지의 셀 어레이 내의 리던던시영역의 상태에 관한 정보를 입력받아 빌트-인 리페어 분석 동작의 수행 여부를 결정한다. 언리페어 제어 회로(URC)(421)에 의해 얻어진 페일 분포 데이터는 메모리 패키지별 페일 개수의 형태로 언리페어 제어회로(URC)(421) 내의 제1 레지스터에 저장될 수 있다. 즉, 언리페어 제어 회로(URC)(421)의 제1 레지스터에는 각각의 메모리 패키지가 갖는 페일(불량 메모리 셀)의 총 개수가 이진 데이터 형태로 저장된다. 언리페어 제어 회로(URC)(421)는, 동작 과정에서 ECC 회로(404)의 에러정정능력을 고려하기 위해, ECC 회로(404)의 에러정정능력을 넘지 않는 범위 내로 한정되는 페일 판단 기준(FC; Failure Criterion)을 설정한다. 일 예에서, ECC 회로(404)의 에러정정능력이 M 비트(또는 심볼)인 경우, 페일 판단 기준(FC)은 0보다는 크고 M보다는 같거나 작은 자연수로 설정될 수 있다.
언리페어 제어 회로(URC)(421)는, 메모리 패키지(100) 별로 셀 어레이 내의 리던던시영역의 상태에 관한 정보를 테스트 모드 회로(TM)(430)를 통해 메모리 미디어(30)로부터 전달받을 수 있다. 언리페어 제어 회로(URC)(421)로 입력된 리던던시 영역의 상태에 관한 정보는 언리페어 제어회로(URC)(421) 내의 제2 레지스터에 저장될 수 있다. 언리페어 제어 회로(URC)(421)는, 더 이상 리페어 공정에 사용할 수 없는 이용 불가능한 리던던시영역을 갖는 메모리 패키지의 페일 개수의 총 합을 페일 판단 기준(FC)과 비교함으로써 빌트-인 리페어 분석 동작의 수행 여부를 결정할 수 있다. 이용 불가능한 리던던시영역은 이미 이전의 리페어에 사용되어 이용가능한 여분의 메모리 셀을 갖지 않는 리던던시영역에 해당한다. 일 예에서 리던던시영역을 사용할 수 없는 메모리 패키지의 페일 개수의 총 합이 페일 판단 기준(FC)보다 같거나 큰 경우, 리던던시영역을 이용하여 리페어할 수 없으므로 빌트-인 리페어 분석 동작을 종료한다. 반면에 리던던시영역을 사용할 수 없는 메모리 패키지가 없거나, 또는 리던던시영역을 사용할 수 없는 메모리 패키지의 페일 개수의 총 합이 페일 판단 기준(FC)보다 작은 경우, 빌트-인 리페어 분석 동작이 계속 수행되도록 한다.
리페어 분석 회로(RA)(422)는, 언리페어 제어 회로(URC)(421)에 의해 빌트-인 리페어 분석 동작이 계속 수행되는 경우, 일정 조건에서 빌트-인 리페어 분석 동작을 종료하거나, 또는 리페어 대상 메모리 패키지를 선택하는 동작을 수행한다. 구체적으로 리페어 분석 회로(RA)(422)는, 전체 페일 개수에서 리던던시영역이 이미 리페어 대상으로 예정되어 있는 메모리 패키지의 페일 개수의 합을 뺀 값으로 페일 개수를 업데이트하고, 이 업데이트된 페일 개수가 페일 판단 기준(FC)보다 작은 경우 빌트-인 리페어 분석 동작을 종료시킨다. 반면에 업데이트된 페일 개수가 페일 판단 기준(FC)보다 같거나 큰 경우, 리페어 대상에서 제외되는 메모리 패키지의 개수가 최대가 되도록 리페어 대상 메모리 패키지를 선정한다. 이를 위해 리페어 분석 회로(RA)(422)는, 리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)를 통해 리페어 어드레스 레지스터 파일(RARF)(450)로부터 리페어 대상으로 예정되어 있는 메모리 패키지의 리던던시 영역의 어드레스 정보를 입력받을 수 있다.
리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)는, 빌트-인 리페어 분석 과정에서 리페어 어드레스 레지스터 파일(RARF)(450) 내에 저장되어 있는 리페어 대상 메모리 패키지 및 리페어 대상 어드레스에 관한 정보를 리페어 분석 회로(RA)(422)로 전달하는 기능을 수행한다. 리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)는, 빌트-인 리페어 분석 과정에서 리페어 대상으로 선정된 메모리 패키지 및 리페어 대상 어드레스에 관한 정보를 리페어 분석 회로(RA)(422)로부터 입력받아 리페어 어드레스 레지스터 파일(RARF)(450) 내에 저장하는 기능도 수행한다. 또한 리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)는, 리페어 대상 메모리 패키지가 선정된 후에, 선정된 리페어 대상 메모리 패키지 내의 리던던시영역이 이용가능한지의 여부를 판단하고, 그 결과에 따라 빌트-인 리페어 분석 동작을 종료시키거나, 또는 리페어 대상으로 선정된 메모리 패키지 및 리페어 대상 어드레스에 관한 정보를 리페어 어드레스 레지스터 파일(RARF)(450)에 저장시키거나, 또는 추후 빌트-인 셀프 리페어 동작을 다시 수행하도록 빌트-인 셀프 리페어 재시도 플래그(BIST retry flag) 신호를 설정할 수 있다.
테스트 모드 회로(TM)(430)는, 셀 어레이 내의 리던던시영역의 상태에 관한 정보를 메모리 미디어(30)로부터 획득하여 언리페어 제어 회로(URC)(421)로 전달한다. 빌트-인 셀프 리페어 회로(BISR)(440)는, 리페어 어드레스 레지스터 파일(RARF)(450) 내에 저장된 리페어 대상으로 선정된 메모리 패키지 및 리페어 대상 어드레스에 관한 정보를 입력받고, 리페어 대상 메모리 패키지에 대한 리페어가 수행되도록 한다.
도 7 내지 도 9는 본 개시에 따른 테스트 방법의 일 예를 설명하기 위해 나타내 보인 플로챠트들이다. 그리고 도 10 내지 도 22는 본 개시에 따른 테스트 방법의 각각의 단계를 보다 구체적으로 설명하기 위해 나타내 보인 도면들이다. 이하에서는 도 7 내지 도 22를 참조하면서 본 개시에 따른 테스트 방법의 일 예를 상세하게 설명하기로 한다. 먼저 도 7을 참조하면, 모듈 컨트롤러(400) 내의 테스트 회로(403)를 구성하는 빌트-인 셀프 테스트 회로(BIST)(410)는 메모리 모듈(10)의 메모리 패키지들(100)에 대한 테스트를 수행한다(단계 511). 단계 511에서의 테스트 결과, 빌트-인 셀프 테스트 회로(BIST)(410)는 메모리 패키지들(100)에 대한 페일 정보를 빌트-인 리페어 분석 회로(BIRA)(420)의 언리페어 제어 회로(URC)(421)에 전달한다. 본 예에서는, 도 10에 나타낸 바와 같이, 5개의 메모리 패키지들(PKG0-PKG4)을 갖는 메모리 모듈(50)의 경우를 예로 들기로 한다. 도 10에서 모듈 컨트롤러의 도시는 생략되었다. 또한 빌트-인 셀프 테스트 회로(BIST)(410)에 의한 테스트 결과, 첫번째 메모리 패키지(PKG0)의 페일 개수(fcn)는 4 비트(또는 심볼, 이하 동일)이고, 두번째 메모리 패키지(PKG1)의 페일 개수(fcn)는 2 비트이고, 세번째 메모리 패키지(PKG2)의 페일 개수(fcn)는 1 비트이고, 네번째 메모리 패키지(PKG3)의 페일 개수(fcn)는 1 비트이며, 그리고 다섯번째 메모리 패키지(PKG4)의 페일 개수(fcn)는 없는 경우를 예로 들기로 한다.
도 11에 나타낸 바와 같이, 빌트-인 셀프 테스트 회로(BIST)(410)로부터 빌트-인 리페어 분석 회로(BIRA)(420)의 언리페어 제어 회로(URC)(421)로 전달되는 페일 정보에는 칩선택신호(CS), 칩 아이디(CID), 뱅크 그룹 어드레스, 뱅크 어드레스, 로우 어드레스, 및 패키지별 페일 정보가 포함될 수 있다. 일 예에서 칩선택신호(CS)는 2 비트의 데이터, 예컨대 "01"의 바이너리 스트림(binary stream)으로 구성될 수 있다. 일 예에서 칩 아이디(CID)는 3 비트의 데이터, 예컨대 "000"의 바이너리 스트림으로 구성될 수 있다. 칩선택신호(CS) 및 칩 아이디(CID)에 의해 메모리 패키지들(PKG0-PKG4) 중 어느 하나 내의 복수개의 메모리 칩들 중 하나의 메모리 칩이 지정된다. 일 예에서 뱅크 그룹 어드레스는 2 비트의 데이터, 예컨대 "01"의 바이너리 스트림으로 구성될 수 있다. 뱅크 그룹 어드레스에 의해, 지정된 메모리 칩의 복수개의 뱅크 그룹들 중 하나의 뱅크 그룹이 지정된다. 일 예에서 뱅크 어드레스는 2 비트의 데이터, 예컨대 "10"의 바이너리 스트림으로 구성될 수 있다. 뱅크 어드레스에 의해, 지정된 뱅크 그룹의 복수개의 뱅크들 중 하나의 뱅크가 지정된다. 일 예에서 로우 어드레스는 18 비트의 데이터, 예컨대 "000101010101010101"의 바이너리 스트림으로 구성될 수 있다. 일 예에서 패키지별 페일 정보는 15 비트의 데이터, 예컨대 "000001001010100"의 바이너리 스트림으로 구성될 수 있다.
도 12에 나타낸 바와 같이, 18 비트의 로우 어드레스 중 하위 13 비트는 로우 어드레스를 나타내고, 상위 3 비트는 컬럼그룹 어드레스를 나타내며, 그 사이의 2 비트는 셀어레이 어드레스를 나타낸다. 본 예의 경우, 뱅크 내의 복수개의 셀어레이들 중 "10"의 셀어레이 어드레스를 갖는 셀어레이가 지정된다. 또한 셀어레이 내의 복수개의 로우들 중 "1010101010101"의 로우 어드레스를 갖는 로우가 지정된다. 그리고 지정된 로우의 메모리 셀들 중에서 컬럼그룹 어드레스인 "000"에 의해 지정된 컬럼들의 8 비트의 메모리 셀들이 테스트 대상이 된다. 패키지별 페일 정보를 구성하는 데이터의 비트 수는 하나의 메모리 패키지에서 발생할 수 있는 최대 페일 개수에 의해 결정된다. 본 예의 경우, 하나의 메모리 패키지에서 발생할 수 있는 최대 페일 개수가 4 비트인 경우를 예로 들었으며, 이에 따라 각각의 메모리 패키지가 갖는 페일 개수는 3 비트로 표현할 수 있다. 본 예에서 메모리 패키지들의 개수는 모두 5개이므로, 패키지별 페일 정보는 15 비트의 바이너리 스트림으로 구성될 수 있다. 본 예의 경우 하위 3 비트인 "100"은 첫번째 메모리 패키지(PKG0)의 페일 개수를 나타내고, 그 다음 3 비트인 "010"은 두번째 메모리 패키지(PKG1)의 페일 개수를 나타내고, 그 다음 3 비트인 "001"은 세번째 메모리 패키지(PKG2)의 페일 개수를 나타내고, 그 다음 3 비트인 "001"은 네번째 메모리 패키지(PKG3)의 페일 개수를 나타내며, 그리고 최상위 3 비트인 "000"은 다섯번째 메모리 패키지(PKG4)의 페일 개수를 나타낸다.
도 13에 나타낸 바와 같이, 언리페어 제어 회로(URC)(421)는 페일 정보를 분석하여 페일 분포 데이터를 생성하고, 페일 분포 데이터를 내부의 제1 레지스터(601)에 저장한다(단계 512). 제1 레지스터(601)는, 하나의 메모리 패키지가 가질 수 있는 최대 페일 개수와 동일한 개수의 레지스터 저장영역들(601-1, 601-2, 601-3, 601-4)을 갖는다. 본 예에서와 같이 하나의 메모리 패키지가 가질 수 있는 최대 페일 개수가 4 비트인 경우, 제1 레지스터(601)는 모두 4개의 레지스터 저장영역들, 즉 제1 내지 제4 레지스터 저장영역들(601-1, 601-2, 601-3, 601-4)을 포함한다. 레지스터 저장영역들(601-1, 601-2, 601-3, 601-4) 각각은, 메모리 모듈(50)이 갖는 메모리 패키지들(PKG0-PKG4)의 개수와 동일한 개수의 저장소들을 갖는다. 본 예에서와 같이, 메모리 모듈(50)이 5개의 메모리 패키지들(PKG0-PKG4)을 갖는 경우, 제1 레지스터 저장영역들(601-1, 601-2, 601-3, 601-4) 각각은, 5개의 저장소들을 갖는다. 5개의 저장소들 각각은, 5개의 메모리 패키지들(PKG0-PKG4) 각각에 대응된다. 예컨대 LSB부터 MSB에 이르기까지 첫번째 메모리 패키지(PKG0), 두번째 메모리 패키지(PKG1), 세번째 메모리 패키지(PKG2), 네번째 메모리 패키지(PKG3), 및 다섯번째 메모리 패키지(PKG4)의 순서대로 페일 분포 정보가 저장된다.
첫번째 레지스터 저장영역(601-1)의 저장소들 각각에는 페일 개수(fcn)가 한 개인 메모리 패키지에 대응하는 저장소에 데이터 "1"이 저장되고, 나머지 메모리 패키지들에 대응하는 저장소들 각각에는 데이터 "0"이 저장된다. 따라서 페일 개수(fcn)가 1 비트인 메모리 패키지는 세번째 메모리 패키지(PKG2) 및 네번째 메모리 패키지(PKG3)이므로, 첫번째 레지스터 저장영역(601-1)의 저장소들 중 최하위부터 세번째 저장소 및 네번째 저장소에 데이터 "1"이 저장되고, 나머지 저장소들에는 데이터 "0"이 저장된다. 페일 개수(fcn)가 2 비트인 메모리 패키지는 두번째 메모리 패키지(PKG1)이므로, 두번째 레지스터 저장영역(601-2)의 저장소들 중 최하위부터 두번째 저장소에 데이터 "1"이 저장되고, 나머지 저장소들에는 데이터 "0"이 저장된다. 메모리 모듈(50) 내에는 페일 개수(fcn)가 3 비트인 메모리 패키지는 없으므로, 세번째 레지스터 저장영역(601-3)의 모든 저장소들에는 데이터 "0"이 저장된다. 그리고 페일 개수(fcn)가 4 비트인 메모리 패키지는 첫번째 메모리 패키지(PKG0)이므로, 네번째 레지스터 저장영역(601-4)의 저장소들 중 최하위 저장소에 데이터 "1"이 저장되고, 나머지 저장소들에는 데이터 "0"이 저장된다.
도 14에 나타낸 바와 같이, 메모리 패키지들 각각의 리던던시영역에 대한 정보를 언리페어 제어 회로(URC)(421)의 제2 레지스터(602)에 저장한 후에, 리던던시 여유가 없는 메모리 패키지가 있는지의 여부를 판단한다(단계 513). 구체적으로 언리페어 제어회로(URC)(421)는 테스트 모드 회로(TM)(430)를 통해 메모리 패키지들로부터 메모리 패키지들 각각의 리던던시영역에 대한 정보를 전달받는다. 리던던시영역에 대한 정보는, 메모리 패키지들 각각의 리던던시영역이 현재 여유가 있는지에 대한 정보가 포함된다. 예컨대 리던던시영역이 이전 리페어에 의해 이미 사용되어 더 이상 리던던시영역을 이용한 리페어가 수행될 수 없는 메모리 패키지에 대해서는 "1"의 나타낸다. 반면에 리던던시영역이 사용 가능한 메모리 패키지에 대해서는 "0"으로 나타낸다.
리던던시영역에 대한 정보가 저장되는 제2 레지스터(602)는, 예컨대 26개의 제2 레지스터 저장영역들, 즉 제1 내지 제64 저장영역들(602-1, …, 602-64)을 갖는다. 이에 따라 제1 내지 제64 레지스터 저장영역들(602-1, …, 602-64) 각각은 6 비트의 어드레스에 의해 선택될 수 있다. 일 예에서 제2 레지스터(602)의 첫번째 저장영역(no_redun_000000)(602-1)은 "000000"의 어드레스를 갖는다. 64번째 저장영역(no_redun_111111)(602-64)은 "111111"의 어드레스를 갖는다. 제1 내지 제64 저장영역들(602-1, …, 602-64) 각각이 갖는 6 비트의 어드레스 중 최하위의 2 비트는, 도 12를 참조하여 설명한 로우 어드레스를 구성하는 18 비트 중 셀어레이 어드레스를 나타내는 2 비트와 동일하다. 제1 내지 제64 저장영역들(602-1, …, 602-64) 각각이 갖는 6 비트의 어드레스 중 그 다음 2 비트는 뱅크 어드레스를 구성하는 2 비트와 동일하다. 제1 내지 제64 저장영역들(602-1, …, 601-64) 각각이 갖는 6 비트의 어드레스 중 최상위 2 비트는 뱅크 그룹 어드레스를 구성하는 2 비트와 동일하다. 이에 따라 "000000"의 어드레스를 갖는 첫번째 저장영역(602-1)은, "00"의 뱅크 그룹 어드레스를 갖고, "00"의 뱅크 어드레스를 가지며, "00"의 셀어레이 어드레스를 갖는 셀 어레이에 대응된다. 마찬가지로 "111111"의 어드레스를 갖는 64번째 저장영역(602-64)은, "11"의 뱅크 그룹 어드레스를 갖고, "11"의 뱅크 어드레스를 가지며, "11"의 셀어레이 어드레스를 갖는 셀 어레이에 대응된다.
제1 내지 제64 저장영역들(602-1, …, 601-64) 각각은, 메모리 모듈(50)이 갖는 메모리 패키지들(PKG0-PKG4)의 개수와 동일한 개수의 저장소들을 갖는다. 본 예에서와 같이, 메모리 모듈(50)이 5개의 메모리 패키지들(PKG0-PKG4)을 갖는 경우, 제1 내지 제64 저장영역들(602-1, …, 601-64) 각각은, 5개의 저장소들을 갖는다. 5개의 저장소들 각각은, 5개의 메모리 패키지들(PKG0-PKG4) 각각에 대응된다. 예컨대 최하위 비트부터 최상위 비트에 이르기까지 첫번째 메모리 패키지(PKG0), 두번째 메모리 패키지(PKG1), 세번째 메모리 패키지(PKG2), 네번째 메모리 패키지(PKG3), 및 다섯번째 메모리 패키지(PKG4)의 순서대로 리던던시영역 정보가 저장된다. 도 14에 나타낸 바와 같이, 첫번째 저장영역(602-1)의 저장소들에 "0", "0", "1", "1", "0"의 데이터가 저장되는 경우, 두번째 패키지(PKG1) 및 세번째 패키지(PKG2)의 셀 어레이들 중 "00"의 뱅크 그룹 어드레스와, "00"의 뱅크 어드레스와, "00"의 셀어레이 어드레스에 의해 정의되는 셀 어레이들의의 리던던시영역들은 리페어에 더 이상 사용할 수 없는 리던던시영역들이고,, 나머지 메모리 패키지들(PKG0, PKG3, PKG4)의 리던던시영역들은 리페어에 유효한 리던던트 메모리 셀들을 갖는 사용 가능한 리던던시 영역들이라는 것을 의미한다. 64번째 저장영역(602-64)의 저장소들에 "0", "0", "1", "0", "0"의 데이터가 저장되는 경우, 세번째 패키지(PKG2)의 셀 어레이들 중 "11"의 뱅크 그룹 어드레스와, "11"의 뱅크 어드레스와, "11"의 셀어레이 어드레스에 의해 정의되는 셀 어레이의 리던던시영역은 리페어에 더 이상 사용할 수 없는 리던던시영역이고, 나머지 메모리 패키지들(PKG0, PKG1, PKG3, PKG4)의 리던던시영역들은 리페어에 유효한 리던던트 메모리 셀들을 갖는 사용 가능한 리던던시 영역들이라는 것을 의미한다.
단계 513의 판단 결과, 리던던시영역의 여유가 없는 메모리 패키지가 없는 경우 단계 517을 수행한다. 단계 513의 판단 결과, 리던던시영역의 여유가 없는 메모리 패키지가 존재하는 경우, 리던던시영역의 여유가 없는 메모리 패키지의 페일 개수(fcn)의 합을 연산하고, 이 값이 페일 판단 기준(FC)보다 같거나 큰지의 여부를 판단한다(단계 514). 단계 514의 판단에서, 리던던시영역의 여유가 없는 메모리 패키지의 페일 개수(fcn)의 합이 페일 판단 기준(FC)보다 같거나 큰 경우 단계 515를 수행한다. 단계 514의 판단에서, 리던던시영역의 여유가 없는 메모리 패키지의 페일 개수(fcn)의 합이 페일 판단 기준(FC)보다 작은 경우 단계 516을 수행한다. 단계 514는, 도 15 및 도 16에 나타낸 바와 같이, 언리페어 제어 회로(URC)(421)의 제1 레지스터(601)에 저장된 페일 분포 데이터 및 제2 레지스터(602)에 저장된 리던던시 영역 정보를 이용하여 수행되도록 할 수 있다. 언리페어 제어 회로(URC)(421)의 제1 레지스터(601)에 저장된 페일 분포 데이터는 메모리 패키지들(PKG0-PKG4) 각각의 페일 개수(fcn)에 대한 정보에 해당한다. 언리페어 제어 회로(URC)(421)의 제2 레지스터(602)에 저장된 리던던시 영역 정보는 메모리 패키지들(PKG0-PKG4) 각각의 리던던시영역의 사용가능 여부에 대한 정보에 해당한다. 따라서 단계 514의 판단을 위해, 먼저 제2 레지스터(602)를 통해 테스트 대상인 메모리영역에 대한 메모리 패키지들(PKG0-PKG4) 각각의 리던던시영역의 사용가능 여부를 파악한다.
도 15는 "01"의 뱅크 그룹 어드레스, "10"의 뱅크 어드레스, 및 "10"의 셀어레이 어드레스를 갖는 테스트 대상 셀 어레이에 대한 빌트-인 리페어 분석 동작을 수행하는 경우, 단계 514의 판단 과정을 설명하기 위한 도면이다. 이 경우, 25번째 저장영역(602-25)에서 데이터 "1"이 저장된 첫번째 패키지(PKG0) 및 두번째 패키지(PKG1) 내에는 리페어에 사용가능한 리던던시영역들이 없다. 반면에 나머지 메모리 패키지들(PKG2, PKG3, PKG4)의 경우 리던던시영역이 사용 가능하다. 다음에 리던던시영역의 여유가 없는 메모리 패키지들, 즉 첫번째 메모리 패키지(PKG0)의 페일 개수와 두번째 메모리 패키지(PKG1)의 페일 개수의 합을 연산한다. 제1 레지스터(601)에 따르면, 첫번째 메모리 패키지(PKG0)의 경우 페일 개수가 "4"이고, 두번째 메모리 패키지(PKG1)의 경우 페일 개수는 "2"이다. 따라서 두 메모리 패키지들(PKG0, PKG1) 각각의 페일 개수의 총 합은 "6"이 된다. 이 경우 페일 개수의 총 합인 "6"이 페일 판단 기준(FC)인 "4"보다 크므로 단계 515를 수행한다.
이와 같이, 단계 514에서 리던던시영역 여유가 없는 메모리 패키지의 페일 개수의 총 합이 페일 판단 기준(FC)보다 큰 경우, BIRA(Built-In Repair Analysis) 페일플래그를 설정한다(단계 515). BIRA(Built-In Repair Analysis) 페일플래그는 하이 레벨의 값 또는 로우 레벨의 값을 가질 수 있다. 단계 514에서 리던던시영역 여유가 없는 메모리 패키지의 페일 개수의 총 합이 페일 판단 기준(FC)보다 큰 경우는, 테스트 대상 메모리영역에서 발생한 페일을 리던던시영역을 이용하여 리페어할 수 없으며, 또한 ECC 회로에 의한 ECC 동작을 통해 에러를 정정할 수 없다는 것을 의미한다. 이 경우, 빌트-인 리페어 분석 동작을 더 이상 수행할 필요가 없다. 따라서 이 경우 BIRA 페일플래그를 설정하여 빌트-인 리페어 분석 동작이 종료되도록 한다. 일 예에서 리던던시영역 여유가 없는 메모리 패키지의 페일 개수의 총 합이 페일 판단 기준(FC)보다 큰 경우 BIRA 페일플래그는 하이(high) 레벨의 값을 갖도록 설정될 수 있다. 하이 레벨로 BIRA 페일플래그가 설정되면, 빌트-인 리페어 분석 동작이 종료된다.
도 16은 "00"의 뱅크 그룹 어드레스, "00"의 뱅크 어드레스, 및 "00"의 셀어레이 어드레스를 갖는 테스트 대상 셀 어레이에 대한 빌트-인 리페어 분석 동작을 수행하는 경우, 단계 514의 판단 과정을 설명하기 위한 도면이다. 이 경우, 첫번째 저장영역(602-1)에서 데이터 "1"이 저장된 두번째 패키지(PKG1) 및 세번째 패키지(PKG2) 내에는 리페어에 사용 가능한 리던던시영역들이 없다. 반면에 나머지 메모리 패키지들(PKG0, PKG3, PKG4)의 경우 리던던시영역이 사용 가능하다. 다음에 리던던시영역의 여유가 없는 메모리 패키지들, 즉 두번째 메모리 패키지(PKG1)의 페일 개수와 세번째 메모리 패키지(PKG2)의 페일 개수의 합을 연산한다. 제1 레지스터(601)에 따르면, 두번째 메모리 패키지(PKG1)의 경우 페일 개수가 "2"이고, 세번째 메모리 패키지(PKG2)의 경우 페일 개수는 "1"이다. 따라서 두 메모리 패키지들(PKG1, PKG2) 각각의 페일 개수의 총 합은 "3"이 된다. 이 경우 페일 개수의 총 합인 "3"이 페일 판단 기준(FC)인 "4"보다 작으므로 단계 516을 수행한다.
도 7의 단계 514에서 리던던시영역의 여유가 없는 메모리 패키지의 페일 개수의 합이 페일 판단 기준(FC)보다 작은 경우, 업데이트된 페일 기준(updated FC; uFC)을 계산한다(단계 516). 업데이트된 페일 판단 기준(uFC)은, 페일 판단 기준(FC)에서 리던던시영역의 여유가 없는 메모리 패키지의 페일 개수의 합을 뺌으로써 계산될 수 있다. 도 16에 나타낸 바와 같이, 리던던시영역의 여유가 없는 메모리 패키지의 페일 개수의 총 합이 "3"인 경우, 업데이트된 페일 판단 기준(uFC)은 페일 판단 기준(FC)인 "4"에서 "3"을 뺀 "1"의 값으로 변경된다. 이는 리던던시영역의 여유가 없는 메모리 패키지의 페일 개수의 합인 "3"은, 리던던시영역을 이용한 리페어를 할 수 없으므로 ECC 회로(404)의 에러 정정에 의해 정정되어야 한다는 것을 의미한다. 따라서 이 경우 ECC 회로(404)의 에러 정정에 의해 결정된 페일 판단 기준(FC)인 4 비트에서 3 비트는 리던던시영역의 여유가 없는 메모리 패키지들의 에러 정정에 할당된다. 그리고 나머지 1 비트만이 이후의 리페어 대상 메모리 패키지를 선정하기 위한 페일 기준으로 사용될 수 있다.
단계 513에서 리던던시영역 여유가 없는 메모리 패키지가 존재하지 않는 경우이거나, 또는 단계 514에서 리던던시영역 여유가 없는 메모리 패키지의 페일 개수의 합이 페일 판단 기준(FC)보다 작아서 업데이트된 페일 판단 기준(uFC)이 계산된 경우에는, 리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)는 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하는지의 여부를 판단한다(단계 517). 페일 로우 어드레스는, 현재 테스트가 이루어지는 페일된 메모리 셀을 갖는 셀 어레이의 로우 어드레스로 정의할 수 있다. 따라서 리페어 어드레스 레지스터 파일(RARF)(450)에 페일 로우 어드레스가 저장되어 있는 경우는, 현재 테스트가 이루어진 메모리영역이 이미 리페어 대상으로 선정되어 있다는 것을 의미한다. 리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)는 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하는지를 확인하고, 그 결과를 리페어 분석 회로(RA)(422)에 전송한다. 일 예에서 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하는 메모리 패키지에 대해서는 "1"의 값을, 그리고 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하지 않는 메모리 패키지에 대해서는 "0"의 값을 전송한다.
도 17에 나타낸 바와 같이, 리페어 분석 회로(RA)(422)는, 리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)로부터 출력된 확인 결과를 내부의 제3 레지스터(603)에 저장한다. 제3 레지스터(603)는 복수개의 저장소들을 갖는다. 저장소들의 개수는 메모리 패키지들(PKG0-PKG4)의 개수와 동일하다. 저장소들 각각에는 메모리 패키지들(PKG0-PKG4) 각각의 페일 로우 어드레스의 존재 여부에 대한 값이 저장된다. 도면에 나타낸 바와 같이, 제3 레지스터(603)의 저장소들 각각에 "0", "0", "0", "0", "1"의 값이 저장되는 경우, "1"의 값이 저장된 저장소에 대응되는 첫번째 메모리 패키지(PKG0)만 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하고, "0"의 값이 저장된 저장소에 대응되는 나머지 메모리 패키지들(PKG1-PKG4) 각각에 대해서는 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하지 않는다는 것을 의미한다.
단계 517에서 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하는 경우, 업데이트된 페일 개수의 합(∑fcn)을 계산하고, 언리페어 제어 회로(URC)(421) 내의 제1 레지스터(601)에 저장된 메모리 패키지별 페일 분포에 대한 정보를 변경한다(단계 518). 이에 따라 언리페어 제어 회로(URC)(421) 내의 제1 레지스터(601)에 저장된 값들 중 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하는 메모리 패키지의 값을 "0"으로 리셋된다. 리페어 분석 회로(RA)(422) 내의 제3 레지스터(603)의 저장소들 중에서 첫번째 패키지(PKG0)에 대응되는 저장소에 "1"이 저장되어 있으므로, 도 18에 나타낸 바와 같이, 언리페어 제어 회로(URC)(421)의 제1 레지스터(601)의 저장소들 중 첫번째 패키지(PKG0)의 페일 개수(fcn)가 저장된 네번째 저장영역(601-4)의 최하위 저장소의 저장값이 "1"에서 "0"으로 리셋된다. 그리고 제1 레지스터(601)에 저장된 페일 개수의 총 합(∑fcn)은 업데이트된다. 본 예의 경우, 총 페일 개수(fcn)가 "8"인 리페어 선정 대상 메모리 패키지들에서 페일 개수(fcn)가 "4"인 첫번째 메모리 패키지(PKG0)가 제외되므로, 업데이트된 페일 개수의 합(∑fcn)은 "4"가 된다. 이와 같이, 업데이트된 페일 개수의 합(∑fcn)은, 모든 메모리 패키지들(PKG0-PKG4) 각각의 페일 개수(fcn)의 총 합에서 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하는 메모리 패키지의 페일 개수를 차감함으로써 계산될 수 있다.
업데이트된 페일 개수의 합(∑fcn)을 계산한 후에는 업데이트된 페일 개수의 합(∑fcn)이 페일 판단 기준(FC) 또는 업데이트된 페일 판단 기준(uFC)보다 같거나 큰지의 여부를 판단한다(단계 519). 단계 519의 판단은 리페어 분석 회로(RA)(422)에서 수행된다. 단계 519의 판단에서 업데이트된 페일 개수의 합(∑fcn)과 비교되는 대상은, 도 7의 단계 513에서의 리던던시영역 여유가 없는 메모리 패키지가 있는지의 여부에 따라 달라진다. 구체적으로 도 7의 단계 513의 판단에서 리던던시영역 여유가 없는 메모리 패키지가 없는 경우(단계 513에서 "N"의 경우), 단계 519의 판단에서 업데이트된 페일 개수의 합(∑fcn)은 페일 판단 기준(FC)과 비교된다. 반면에 도 7의 단계 513의 판단에서 리던던시영역 여유가 없는 메모리 패키지가 있는 경우(단계 513에서 "Y"의 경우), 단계 519의 판단에서 업데이트된 페일 개수의 합(∑fcn)은 업데이트된 페일 판단 기준(uFC)과 비교된다. 단계 519의 판단에서 업데이트된 페일 개수의 합(∑fcn)이 페일 판단 기준(FC) 또는 업데이트된 페일 판단 기준(uFC)보다 같거나 큰 경우(단계 519에서 "Y"의 경우), 단계 520을 수행한다. 단계 519의 판단에서 업데이트된 페일 개수의 합(∑fcn)이 페일 판단 기준(FC) 또는 업데이트된 페일 판단 기준(uFC)보다 작은 경우(단계 519에서 "N"의 경우)는, ECC 회로(404)의 ECC 동작에 의해 정정될 수 있는 페일 개수가 리페어 대상인 모든 페일 개수보다 많은 경우라는 것을 의미한다. 따라서 이 경우 메모리 패키지에 대한 리페어를 수행할 필요가 없으므로 빌트-인 리페어 분석 동작은 종료된다.
단계 517에서 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하지 않는 경우(단계 517에서 "N"의 경우), 또는 단계 519에서 업데이트된 페일 개수의 합(∑fcn)이 페일 판단 기준(FC) 또는 업데이트된 페일 판단 기준(uFC)보다 같거나 큰 경우(단계 519에서 "Y"의 경우), 리페어 대상 메모리 패키지를 선정한다(단계 520). 리페어 대상 메모리 패키지의 선정은, ECC 회로(404)의 ECC 동작에 의해 최대한 많은 수의 메모리 패키지의 페일이 정정되도록 하고, 그에 따라 리페어 대상 메모리 패키지의 개수가 최소화되도록 하는 기준으로 수행된다. 이와 같은 리페어 대상 메모리 패키지 선정 기준에 따라 다양한 방식으로 리페어 대상 메모리 패키지를 선정할 수 있다. 이하에서는 도 19의 플로챠트를 참조하여 위와 같은 선정 기준에 부합되는 리페어 대상 메모리 패키지 선정의 예를 설명하기로 한다. 본 예에서는 페일 개수(fcn)(또는 업데이트된 페일 개수(ufcn); 이하 동일)가 가장 많은 메모리 패키지를 리페어 대상 메모리 패키지로 선정하는 동작을 수행하고, 이어서 페일 개수(fcn)가 가장 작은 메모리 패키지부터 페일 개수(fcn)의 순서대로 리페어 선정 동작을 수행한다.
단계 520의 리페어대상 메모리 패키지 선정의 예에서, 페일 개수(fcn)는, 단계 517의 판단에서 "N"인 경우 변경되지 않지만, 단계 517의 판단에서 "Y"인 경우 단계 518에 의해 변경된 페일 개수일 수 있다. 또한 페일 판단 기준(FC)은, 단계 516에 의해 업데이트된 페일 판단 기준(uFC)이거나, 또는 업데이트되지 않은 페일 판단 기준(FC)일 수 있다. 도 7의 단계 513에서 리던던시영역 여유가 없는 메모리 패키지가 존재하지 않는 경우(단계 513에서 "N"의 경우), 페일 개수(fcn) 및 페일 판단 기준(FC)은 단계 520에서 모두 업데이트되지 않은 상태이다. 반면에 도 7의 단계 514에서 리던던시영역 여유가 없는 메모리 패키지의 페일 개수(fcn)의 합이 페일 판단 기준(FC)보다 작고(단계 514에서 "N"의 경우), 또한 도 8의 단계 517에서 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하지 않는 경우(단계 517에서 "N"의 경우)에는, 페일 판단 기준(FC)만 업데이트된다. 따라서 이 경우 페일 판단 기준(FC) 대신 업데이트된 페일 판단 기준(uFC)이 다음 단계들에 적용된다. 도 7의 단계 514에서 리던던시영역 여유가 없는 메모리 패키지의 페일 개수(fcn)의 합이 페일 판단 기준(FC)보다 작고(단계 514에서 "N"의 경우), 또한 도 8의 단계 517에서 리페어 어드레스 레지스터 파일(RARF)(450) 내에 페일 로우 어드레스가 존재하는 경우(단계 517에서 "Y"의 경우)에는 페일 개수(fcn) 및 페일 판단 기준(FC)이 모두 업데이트된다. 따라서 이 경우 페일 개수(fcn) 및 페일 판단 기준(FC) 대신 업데이트된 페일 개수(ufcn) 및 업데이트된 페일 판단 기준(uFC)이 적용된다. 이하에서는 페일 개수(fcn) 및 페일 판단 기준(FC)은 모두 업데이트되지 않은 상태를 예로 들어 설명하기로 한다.
단계 520의 리페어 대상 메모리 패키지의 선정 단계는, 리페어 분석 회로(RA)(422)에 의해 수행된다. 리페어 분석 회로(RA)(422)는, 언리페어 제어 회로(URC)(421) 내의 제1 레지스터(601)를 액세스할 수 있다. 이하에서는 도 20 내지 도 22의 세 가지 예들과 관련하여 도 19를 참조하여 리페어 대상 메모리 패키지를 선정하는 방법을 설명하기로 한다. 도 20에는 첫번째 메모리 패키지(PKG0)가 "4"의 페일 개수(fcn)를 갖고, 두번째 메모리 패키지(PKG1) 및 세번째 메모리 패키지(PKG2)가 각각 "2"의 페일 개수(fcn)를 갖고, 네번째 메모리 패키지(PKG3)가 "1"의 페일 개수(fcn)를 가지며, 그리고 다섯번째 메모리 패키지(PKG4)가 "3"의 페일 개수(fcn)를 갖는 경우의 제1 레지스터(601A)가 도시되어 있다. 도 21에는 첫번째 메모리 패키지(PKG0)가 "4"의 페일 개수(fcn)를 갖고, 두번째 메모리 패키지(PKG1)가 "2"의 페일 개수(fcn)를 갖고, 세번째 메모리 패키지(PKG2) 및 네번째 메모리 패키지(PKG3)가 각각 "1"의 페일 개수(fcn)를 가지며, 그리고 다섯번째 메모리 패키지(PKG4)는 페일 개수(fcn)를 갖지 않는 경우의 다른 제1 레지스터(601B)가 도시되어 있다. 도 22에는 첫번째 메모리 패키지(PKG0)가 "4"의 페일 개수(fcn)를 갖고, 두번째 내지 다섯번째 메모리 패키지(PKG1-PKG4)가 각각 "1"의 페일 개수(fcn)를 갖는 경우의 또 다른 제1 레지스터(601C)가 도시되어 있다.
도 19에 나타낸 바와 같이, 먼저 페일 개수(fcn)별로 논리합(이하 OR) 연산을 수행하여 리페어 선정 대상 메모리 패키지들의 페일 분포를 파악한다(단계 520-1). 이는 리페어 분석 회로(RA)(422)가 언리페어 제어 회로(URC)(421) 내의 제1 레지스터(601)를 액세스하여 수행될 수 있다. 하나의 메모리 패키지가 가질 수 있는 최대 페일 개수가 K개(K는 자연수)인 경우를 예로 들기로 한다. 이 경우 리페어 선정 대상 메모리 패키지들의 페일 분포는, K개부터 1개까지 순차적으로 해당하는 페일 개수를 갖는 메모리 패키지의 존재 여부를 "1" 또는 "0"으로 표현함으로써 구성될 수 있다. 본 예에서와 같이 하나의 메모리 패키지가 가질 수 있는 최대 페일 개수가 4개인 경우, {페일 개수가 "4"인 메모리 패키지의 존재 여부, 페일 개수가 "3"인 메모리 패키지의 존재 여부, 페일 개수가 "2"인 메모리 패키지의 존재 여부, 페일 개수가 "1"인 메모리 패키지의 존재 여부}로 리페어 선정 대상 메모리 패키지들의 페일 분포를 구성할 수 있다.
페일 개수가 "4"인 메모리 패키지의 존재 여부는, 제1 레지스터(601)의 네번째 저장 영역(601-4)의 저장소들 각각에 저장된 값을 모두 OR 연산함으로써 결정된다. 페일 개수가 "3"인 메모리 패키지의 존재 여부는, 제1 레지스터(601)의 세번째 저장 영역(601-3)의 저장소들 각각에 저장된 값을 모두 OR 연산함으로써 결정된다. 페일 개수가 "2"인 메모리 패키지의 존재 여부는, 제1 레지스터(601)의 두번째 저장 영역(601-2)의 저장소들 각각에 저장된 값을 모두 OR 연산함으로써 결정된다. 페일 개수가 "1"인 메모리 패키지의 존재 여부는, 제1 레지스터(601)의 첫번째 저장 영역(601-1)의 저장소들 각각에 저장된 값을 모두 OR 연산함으로써 결정된다. 이에 따라 도 20의 예의 경우, 리페어 선정 대상 메모리 패키지들의 페일 분포는 {1111}로 결정된다. 이는 페일 개수가 "4", "3", "2", "1"인 메모리 패키지가 메모리 모듈(50) 내에 모두 존재하고 있다는 것을 의미한다. 도 21의 예의 경우, 리페어 선정 대상 메모리 패키지들의 페일 분포는 {1011}로 결정된다. 이는 페일 개수가 "3"인 메모리 패키지는 없으며, 페일 개수가 "4", "2", "1"인 메모리 패키지는 존재하고 있다는 것을 의미한다. 도 22의 예의 경우, 리페어 선정 대상 메모리 패키지들의 페일 분포는 {1001}로 결정된다. 이는 페일 개수가 "3", "2"인 메모리 패키지는 없으며, 페일 개수가 "4", "1"인 메모리 패키지가 존재하고 있다는 것을 의미한다.
다음에 페일 개수가 가장 많은 최대 페일 개수(fcn_max)가 페일 판단 기준(FC)보다 같거나 큰지의 여부를 판단한다(단계 520-2). 이는 최대 페일 개수(fcn_max)를 갖는 메모리 패키지의 경우, 우선적으로 리페어 대상으로 선정될 가능성이 가장 높기 때문이다. 단계 520-2의 판단에서 최대 페일 개수(fcn_max)가 페일 판단 기준(FC)보다 같거나 큰 경우(단계 520-2에서 "Y"의 경우), ECC 회로(404)에 의한 ECC 동작에 의해 에러가 정정될 수 없으므로, 최대 페일 개수(fcn_max)를 갖는 메모리 패키지를 모두 리페어 대상 메모리 패키지로 선정한다(단계 520-3). 도 20 내지 도 22의 예의 경우, 모두 최대 페일 개수(fcn_max)는 "4"이며, 이 값은 페일 판단 기준(FC)인 "4"와 같으므로, "4"의 최대 페일 개수(fcn_max)를 갖는 첫번째 메모리 패키지(PKG0)는 리페어 대상 메모리 패키지로 선정된다.
단계 520-2의 판단에서 최대 페일 개수(fcn_max)가 페일 판단 기준(FC)보다 작은 경우(단계 520-2에서 "N"의 경우) 또는 단계 520-3을 수행한 후에는, x=1로 설정한다(단계 520-4). 여기서 "x"는 페일 개수를 나타낸다. 따라서 x=1인 경우, 페일 개수가 "1"인 경우를 나타낸다. 즉 최대 페일 개수(fcn_max)를 고려하여 리페어 대상 메모리 패키지를 선정한 후에는, 최소 페일 개수(fcn_1)를 고려하여 리페어 대상 메모리 패키지를 추가적으로 선정한다. 다음에 fcn_x에 상응하는 페일 개수를 갖는 메모리 패키지가 존재하는지의 여부를 판단한다(단계 520-5). 단계 520-4에서 x=1로 설정되었으므로, 단계 520-5에서 "1"인 페일 개수(fcn_1)를 갖는 메모리 패키지가 존재하는지의 여부를 판단한다. "1"인 페일 개수(fcn_1)를 갖는 메모리 패키지가 존재하지 않는 경우(단계 520-5에서 "N"의 경우), 단계 520-9를 수행한다. 단계 520-5에서 "1"인 페일 개수(fcn_1)가 존재하는 경우(단계 520-5에서 "Y"의 경우), "1"인 페일 개수(fcn_1)의 총 합(∑fcn_1)이 페일 판단 기준(FC)와 같거나 큰지의 여부를 판단한다(단계 520-6).
단계 520-6의 판단에서 "1"인 페일 개수(fcn_1)의 총 합(∑fcn_1)이 페일 판단 기준(FC)보다 작은 경우(단계 520-6에서 "N"의 경우), "1"인 페일 개수(fcn_1)를 갖는 메모리 패키지를 리페어 대상 메모리 패키지에서 제외한다(단계 520-7). 이에 따라 "1"인 페일 개수(fcn_1)를 갖는 메모리 패키지는, 리던던시영역을 이용한 리페어가 아닌 ECC 회로(404)의 ECC 동작에 의해 에러가 정정된다. 도 20의 예의 경우, "1"인 페일 개수(fcn_1)의 총 합(∑fcn1)이 "1"이므로, 페일 판단 기준(FC)인 "4"보다 작으며, 따라서 "1"인 페일 개수(fcn_1)를 갖는 네번째 메모리 패키지(PKG3)는 리페어 대상에서 제외된다. 유사하게 도 21의 예의 경우, "1"인 페일 개수(fcn_1)의 총 합(∑fcn_1)이 "2"이므로, 페일 판단 기준(FC)인 "4"보다 작으며, 따라서 "1"인 페일 개수(fcn_1)를 갖는 세번째 메모리 패키지(PKG2) 및 네번째 메모리 패키지(PKG3)는 리페어 대상에서 제외된다.
단계 520-6의 판단에서 "1"인 페일 개수(fcn_1)의 총 합(∑fcn_1)이 페일 판단 기준(FC)보다 같거나 큰 경우(단계 520-6에서 "Y"의 경우), "1"인 페일 개수(fcn_1)를 갖는 메모리 패키지들 중 페일 판단 기준(FC)보다 작은 값과 동일한 개수까지의 메모리 패키지를 리페어 대상 메모리 패키지에서 제외하고, 나머지 "1"인 페일 개수(fcn_1)를 갖는 메모리 패키지를 리페어 대상으로 선정한다(단계 520-8). 이에 따라 리페어 대상에서 제외된 "1"인 페일 개수(fcn_1)를 갖는 메모리 패키지는, 리던던시영역을 이용한 리페어가 아닌 ECC 회로(404)의 ECC 동작에 의해 에러가 정정된다. 도 22의 예의 경우, "1"인 페일 개수(fcn_1)의 총 합(∑fcn_1)이 "4"이므로, 페일 판단 기준(FC)인 "4"와 같다. 따라서 이 경우 제2 내지 제5 메모리 패키지들(PKG1-PKG4) 중 3개의 메모리 패키지는 리페어 대상에서 제외되며, 제2 내지 제5 메모리 패키지들(PKG1-PKG4) 중 나머지 하나의 메모리 패키지는 리페어 대상으로 선정된다. 동일한 페일 개수(fcn)를 갖는 메모리 패키지들 중에서 선택적으로 리페어 대상 메모리 패키지를 선정하는 경우, 임의의 기준을 통해 선정이 이루어지도록 할 수 있다. 일 예에서 메모리 패키지의 번호가 가장 낮은 순서부터 리페어 대상 메모리 패키지로부터 제외되는 기준을 적용할 수 있다. 이 경우 도 22의 예의 경우, "1"의 페일 개수(fcn_1)를 갖는 메모리 패키지들 중 두번째 내지 네번째 메모리 패키지(PKG1, PKG2, PKG3)는 리페어 대상에서 제외되며, 다섯번째 메모리 패키지(PKG4)가 리페어 대상으로 선정된다.
단계 520-7 또는 단계 520-8을 수행한 후에는, 페일 판단 기준(FC)은, 현재의 페일 판단 기준(FC)에서 리페어 대상에서 제외된 메모리 패키지의 페일 개수의 합(∑fcn_1)이 차감된 값으로 설정된다(단계 520-9). 단계 520-7이 수행된 도 20의 예 및 도 21의 예의 경우, 리페어 대상에서 제외된 메모리 패키지의 페일 개수의 합(∑fcn_1)은 각각 "1" 및 "2"가 된다. 따라서 페일 판단 기준(FC)은 각각 "4-1=3" 및 "4-2=2"가 된다. 단계 520-8이 수행된 도 22의 예의 경우, 리페어 대상에서 제외된 메모리 패키지의 페일 개수의 합(∑fcn_1)은 "3"이 된다. 따라서 페일 판단 기준(FC)은 "4-3=1"이 된다. 단계 520-9를 수행한 후에는 x=x+1로 설정한다(단계 520-10). 이에 따라 리페어 선정 여부 대상은 "2"인 페일 개수(fcn_2)를 갖는 메모리 패키지가 된다. 다음에 x가 가장 큰 값인지의 여부를 판단한다(단계 520-11). 여기서 x가 가장 큰 값인 경우는, 메모리 패키지가 가질 수 있는 최대 페일 개수(fcn_max)인 경우를 의미한다. 단계 520-11의 판단에서 x가 가장 큰 값이 아닌 경우, 예컨대 x=2인 경우, 단계 520-5 내지 단계 520-10의 단계를 반복하여 수행한다. 단계 520-11의 판단에서 x가 가장 큰 값인 경우, 즉 최대 페일 개수(fcn_max)인 경우 이미 리페어 대상 메모리 패키지의 선정 동작이 수행되었으므로 리페어 대상 메모리 패키지를 선정하는 동작을 종료한다.
도 20의 예의 경우, x=2일 때 단계 520-5 및 단계 520-6를 수행한 결과 "2"인 페일 개수(fcn_2)의 총 합(∑fcn_2)인 "4"가 새롭게 설정된 페일 판단 기준(FC)인 "2"보다 크므로, 단계 520-8를 수행한다. 단계 520-8에서 페일 판단 기준(FC)인 "2"보다 작은 페일 개수의 메모리 패키지가 없으므로, 두번째 메모리 패키지(PKG1)는 리페어 대상으로 선정된다. 도 21의 예의 경우, x=2일 때 단계 520-5 및 단계 520-6를 수행한 결과 "2"인 페일 개수(fcn_2)의 총 합(∑fcn_2)인 "2"가 새롭게 설정된 페일 판단 기준(FC)인 "2"와 동일하므로, 단계 520-8을 수행한다. 단계 520-8에서 페일 판단 기준(FC)인 "2"와 동일한 "2"인 페일 개수(fcn_2)를 갖는 두번째 반도체 메모리 패키지(PKG1)가 리페어 대상으로 선정된다. 그리고 리페어 대상에서 제외된 메모리 패키지의 페일 개수의 합(∑fcn_2)은 "0"이 된다. 따라서 단계 520-9에서 페일 판단 기준(FC)은 동일하게 "2"의 값을 유지한다.
이와 같이 도 8의 단계 520이 수행되면, 도 9에 나타낸 바와 같이, 리페어 대상 메모리 패키지 내의 리던던시영역이 사용가능한지의 여부를 판단한다(단계 521). 단계 521의 판단은, 리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)에 의해 수행될 수 있다. 단계 521의 판단은, 리페어 어드레스 레지스터 파일(RARF)(450) 내에 리페어 대상 메모리 패키지 내의 리던던시영역에 대한 어드레스가 기록될 저장 공간이 남아 있는지의 여부에 따라 이루어질 수 있다. 구체적으로 리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)는, 리페어 분석 회로(RA)(422)로부터 리페어 대상으로 선정된 메모리 패키지에 대한 정보를 입력받는다. 그리고 리페어 어드레스 레지스터 파일(RARF)(450) 내에 리페어 대상으로 선정된 메모리 패키지 내의 리던던시영역의 어드레스가 기록될 저장 공간이 남아 있는지를 확인한다. 단계 521의 판단에서, 리페어 대상 메모리 패키지들 중 어느 하나의 메모리 패키지의 리던던시영역 어드레스가 기록될 저장 공간이 남아 있지 않는 경우(단계 521에서 "N"의 경우), 빌트-인 셀프 테스트를 다시 수행하도록 하는 BIST 재시도 플래그를 설정한다(단계 523). 다른 예에서 빌트-인 셀프 테스트가 정해진 스케줄에 의해 추후 수행될 예정인 경우, 단계 523은 생략될 수도 있다. 단계 521의 판단에서, 리페어 대상 메모리 패키지의 리던던시영역 어드레스가 기록될 저장 공간이 남아 있는 경우(단계 521에서 "Y"의 경우), 리페어 어드레스 레지스터 파일 제어 회로(RARFC)(423)는, 리페어 어드레스 레지스터 파일(RARF)(450) 내에 리페어 대상 메모리 패키지의 리던던시영역에 대한 어드레스를 저장한다(단계 522).
이와 같은 테스트 과정이 종료되면, 도 20의 예의 경우, "4"의 페일 개수(fcn4)를 갖는 첫번째 메모리 패키지(PKG0)와, "3"의 페일 개수(fcn3)를 갖는 다섯번째 메모리 패키지(PKG4)와, 그리고 "2"의 페일 개수(fcn2)를 갖는 세번째 메모리 패키지(PKG2)는 각각의 리던던시영역을 이용한 리페어가 수행된다. "2"의 페일 개수(fcn2)를 갖는 두번째 메모리 패키지(PKG1) 및 "1"의 페일 개수(fcn1)를 갖는 네번째 메모리 패키지(PKG3)는, 리페어 대상에서 제외되며, 데이터 액세스 과정에서 발생되는 에러는 ECC 동작을 통해 정정될 수 있다. 도 21의 예의 경우, "4"의 페일 개수(fcn4)를 갖는 첫번째 메모리 패키지(PKG0) 및 "2"의 페일 개수(fcn2)를 갖는 두번째 메모리 패키지(PKG1)는 각각의 리던던시영역을 이용한 리페어가 수행된다. 각각 "1"의 페일 개수(fcn1)를 갖는 메모리 패키지들(PKG2, PKG3)은, 리페어 대상에서 제외되며, 데이터 액세스 과정에서 발생되는 에러는 ECC 동작을 통해 정정될 수 있다. 도 22의 예의 경우, 4"의 페일 개수(fcn4)를 갖는 첫번째 메모리 패키지(PKG0)는 리던던시영역을 이용한 리페어가 수행된다. "1"의 페일 개수(fcn1)를 갖는 메모리 패키지들(PKG1-PKG4) 중 다섯번째 메모리 패키지(PKG4) 또한 리던던시영역을 이용한 리페어가 수행된다. "1"의 페일 개수(fcn1)를 갖는 두번째 메모리 패키지(PKG1), 세번째 메모리 패키지(PKG2), 및 네번째 메모리 패키지(PKG3)는 리페어 대상에서 제외되며, 데이터 액세스 과정에서 발생되는 에러는 ECC 동작을 통해 정정될 수 있다.
상술한 바와 같이 본 출원의 실시 형태들을 도면들을 예시하며 설명하지만, 이는 본 출원에서 제시하고자 하는 바를 설명하기 위한 것이며, 세밀하게 제시된 형상으로 본 출원에서 제시하고자 하는 바를 한정하고자 한 것은 아니다.
10...메모리 모듈 20...호스트
30...미디어 100...메모리 패키지
200...데이터 버퍼 300...탭
400...모듈 컨트롤러 110-1, 110-2, …, 110-N...메모리 칩
401-1...프론트 물리층 401-2...백 물리층
402...명령 처리 회로 403...테스트 회로
404...ECC 회로 405, 406...멀티플렉서
410...빌트-인 셀프 테스트(BIST) 회로
411...커맨드 발생기 412...어드레스 발생기
413...데이터 발생기 414...데이터 비교부
420...빌트-인 리페어 분석 회로(BIRA)
421...언리페어 제어 회로(URC) 422...리페어 분석 회로(RA)
423...리페어 어드레스 레지스터 파일 제어 회로(RARFC)
430...테스트 모드 회로(TM)
440...빌트-인 셀프 리페어 회로(BISR)
450...리페어 어드레스 레지스터 파일(RARF)
30...미디어 100...메모리 패키지
200...데이터 버퍼 300...탭
400...모듈 컨트롤러 110-1, 110-2, …, 110-N...메모리 칩
401-1...프론트 물리층 401-2...백 물리층
402...명령 처리 회로 403...테스트 회로
404...ECC 회로 405, 406...멀티플렉서
410...빌트-인 셀프 테스트(BIST) 회로
411...커맨드 발생기 412...어드레스 발생기
413...데이터 발생기 414...데이터 비교부
420...빌트-인 리페어 분석 회로(BIRA)
421...언리페어 제어 회로(URC) 422...리페어 분석 회로(RA)
423...리페어 어드레스 레지스터 파일 제어 회로(RARFC)
430...테스트 모드 회로(TM)
440...빌트-인 셀프 리페어 회로(BISR)
450...리페어 어드레스 레지스터 파일(RARF)
Claims (29)
- 복수개의 메모리 패키지들에 대한 테스트 동작을 수행하여 페일 정보를 출력하는 빌트-인 셀프 테스트 회로; 및
상기 빌트-인 셀프 테스트 회로로부터의 상기 페일 정보를 입력받아, 상기 복수개의 메모리 패키지들 중 리페어 대상 메모리 패키지를 선정하되, 상기 리페어 대상 메모리 패키지의 선정은 ECC 회로의 에러정정능력 및 상기 복수개의 메모리 패키지들 각각의 리던던시영역의 사용 가능 여부에 따라 결정되도록 구성되는 빌트-인 리페어 분석 회로를 포함하되,
상기 빌트-인 리페어 분석 회로는, 페일 개수를 갖는 메모리 패키지들 중 리던던시영역 여유가 없는 메모리 패키지들의 페일 개수의 합이 기설정된 페일 판단 기준보다 같거나 큰 경우 상기 테스트 동작을 종료하도록 구성되는 메모리에 대한 테스트 회로. - 삭제
- ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈제1항에 있어서,
상기 페일 판단 기준은, 상기 에러정정능력과 같거나 작은 자연수로 설정되는 메모리에 대한 테스트 회로. - ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈제3항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들 중 상기 리던던시영역 여유가 없는 메모리 패키지가 존재하지 않고, 상기 페일 개수를 갖는 메모리 패키지들 중 리페어가 예정된 메모리 패키지가 존재하지 않는 경우 상기 리페어 대상 메모리 패키지 선정 과정을 수행하는 메모리에 대한 테스트 회로. - ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈제4항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들 중 상기 페일 판단 기준을 넘는 페일 개수를 갖는 메모리 패키지를 모두 상기 리페어 대상 메모리 패키지로 선정하는 메모리에 대한 테스트 회로. - ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈제5항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들에 대해서 상기 페일 판단 기준을 넘지 않는 페일 개수를 갖는 메모리 패키지들 중 가장 적은 페일 개수를 갖는 메모리 패키지부터 페일 개수의 순서대로 리페어 대상 메모리 패키지에서 메모리 패키지를 제외하되, 상기 제외되는 메모리 패키지의 페일 개수의 총 합이 상기 페일 판단 기준을 넘지 않도록 하는 메모리에 대한 테스트 회로. - ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈제3항에 있어서,
상기 빌트-인 리페어 분석 회로는,
상기 페일 개수를 갖는 메모리 패키지들 중 상기 리던던시영역 여유가 없는 메모리 패키지가 존재하지 않고, 상기 페일 개수를 갖는 메모리 패키지들 중 리페어가 예정된 메모리 패키지가 존재하는 경우, 상기 페일 개수를 갖는 메모리 패키지들의 페일 개수의 합에서 상기 리페어가 예정된 메모리 패키지의 페일 개수의 합을 차감하여 업데이트된 페일 개수의 합을 계산하고,
상기 업데이트된 페일 개수의 합이 상기 페일 판단 기준보다 작은 경우 테스트 동작을 종료하고,
상기 업데이트된 페일 개수의 합이 상기 페일 판단 기준보다 같거나 큰 경우 리페어 대상 메모리 패키지 선정 과정을 수행하는 메모리에 대한 테스트 회로. - ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈제7항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들에서 상기 리페어가 예정된 메모리 패키지를 제외한 나머지 메모리 패키지들 중 상기 페일 판단 기준을 넘는 페일 개수를 갖는 메모리 패키지를 모두 상기 리페어 대상 메모리 패키지로 선정하는 메모리에 대한 테스트 회로. - ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈제8항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들에 대해서 상기 리페어가 예정된 메모리 패키지를 제외한 나머지 메모리 패키지들 중 가장 적은 페일 개수를 갖는 메모리 패키지부터 페일 개수의 순서대로 리페어 대상 메모리 패키지에서 메모리 패키지를 제외하되, 상기 제외되는 메모리 패키지의 페일 개수의 총 합이 상기 페일 판단 기준을 넘지 않도록 하는 메모리에 대한 테스트 회로. - ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈제3항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들 중 상기 리던던시영역 여유가 없는 메모리 패키지들의 페일 개수의 합이 상기 기설정된 페일 판단 기준보다 작은 경우, 상기 페일 판단 기준에서 상기 리던던시영역 여유가 없는 메모리 패키지들의 페일 개수의 합이 차감된 업데이트된 페일 판단 기준을 계산하는 메모리에 대한 테스트 회로. - ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈제10항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들 중 리페어가 예정된 메모리 패키지가 존재하지 않는 경우 상기 리페어 대상 메모리 패키지 선정 과정을 수행하는 메모리에 대한 테스트 회로. - ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈제11항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들 중 상기 업데이트된 페일 판단 기준을 넘는 페일 개수를 갖는 메모리 패키지를 모두 상기 리페어 대상 메모리 패키지로 선정하는 메모리에 대한 테스트 회로. - ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈제12항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들에 대해서 상기 업데이트된 페일 판단 기준을 넘지 않는 페일 개수를 갖는 메모리 패키지들 중 가장 적은 페일 개수를 갖는 메모리 패키지부터 페일 개수 순서대로 리페어 대상 메모리 패키지에서 메모리 패키지를 제외하되, 상기 제외되는 메모리 패키지의 페일 개수의 총 합이 상기 업데이트된 페일 판단 기준을 넘지 않도록 하는 메모리에 대한 테스트 회로. - ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈제10항에 있어서,
상기 빌트-인 리페어 분석 회로는,
상기 페일 개수를 갖는 메모리 패키지들 중 리페어가 예정된 메모리 패키지가 존재하는 경우, 상기 페일 개수를 갖는 메모리 패키지들의 페일 개수의 합에서 상기 리페어가 예정된 메모리 패키지의 페일 개수의 합을 차감하여 업데이트된 페일 개수의 합을 계산하고,
상기 업데이트된 페일 개수의 합이 상기 업데이트된 페일 판단 기준보다 작은 경우 상기 테스트 동작을 종료하고,
상기 업데이트된 페일 개수의 합이 상기 업데이트된 페일 판단 기준보다 같거나 큰 경우 상기 리페어 대상 메모리 패키지 선정 과정을 수행하는 메모리에 대한 테스트 회로. - ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈제14항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들에서 상기 리페어가 예정된 메모리 패키지를 제외한 나머지 메모리 패키지들 중 상기 업데이트된 페일 판단 기준을 넘는 페일 개수를 갖는 메모리 패키지를 모두 상기 리페어 대상 메모리 패키지로 선정하는 메모리에 대한 테스트 회로. - ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈제15항에 있어서,
상기 빌트-인 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들에서 상기 리페어가 예정된 메모리 패키지를 제외한 나머지 메모리 패키지들에 대해서 상기 업데이트된 페일 판단 기준을 넘지 않는 페일 개수를 갖는 메모리 패키지들 중 가장 적은 페일 개수를 갖는 메모리 패키지부터 페일 개수의 순서대로 리페어 대상 메모리 패키지에서 메모리 패키지를 제외하되, 상기 제외되는 메모리 패키지의 페일 개수의 총 합이 상기 업데이트된 페일 판단 기준을 넘지 않도록 하는 메모리에 대한 테스트 회로. - 복수개의 메모리 패키지들, 및
상기 복수개의 메모리 패키지들의 동작을 제어하는 모듈 컨트롤러를 포함하되,
상기 모듈 컨트롤러는, 에러정정코드(ECC) 회로 및 테스트 회로를 포함하고,
상기 테스트 회로는,
상기 복수개의 메모리 패키지들에 대한 테스트 동작을 수행하여 페일 정보를 출력하는 빌트-인 셀프 테스트 회로; 및
상기 빌트-인 셀프 테스트 회로로부터의 상기 페일 정보를 입력받아, 상기 복수개의 메모리 패키지들 중 리페어 대상 메모리 패키지를 선정하되, 상기 리페어 대상 메모리 패키지의 선정은 상기 ECC 회로의 에러정정능력 및 상기 복수개의 메모리 패키지들 각각의 리던던시영역의 사용 가능 여부에 따라 결정되도록 구성되는 빌트-인 리페어 분석 회로를 포함하되,
상기 빌트-인 리페어 분석 회로는, 페일 개수를 갖는 메모리 패키지들 중 리던던시영역 여유가 없는 메모리 패키지들의 페일 개수의 합이 기설정된 페일 판단 기준보다 같거나 큰 경우 상기 테스트 동작을 종료하도록 구성되는 메모리 모듈. - ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈제17항에 있어서, 상기 빌트-인 리페어 분석 회로는,
상기 페일 정보를 분석하여, 페일 개수를 갖는 메모리 패키지들 중 리던던시영역의 여유가 없는 메모리 패키지의 존재 여부에 따라 빌트-인 리페어 분석 과정의 진행 여부를 판단하는 언리페어 제어 회로;
상기 메모리 패키지들 각각의 페일 로우 어드레스를 저장하는 리페어 어드레스 레지스터 파일;
상기 페일 개수를 갖는 메모리 패키지들 중 리페어가 예정된 메모리 패키지의 린던던시영역에 대한 어드레스가 상기 리페어 어드레스 레지스터 파일 내에 저장되어 있는지의 여부에 따라 상기 빌트-인 리페어 분석 과정을 종료하거나 상기 리페어 대상 메모리 패키지를 선정하는 리페어 분석 회로; 및
상기 리페어 어드레스 레지스터 파일 내에 저장된 상기 리페어 어드레스를 상기 리페어 분석 회로로 전달하는 리페어 어드레스 레지스터 파일 제어 회로를 포함하는 메모리 모듈. - ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈제18항에 있어서,
상기 언리페어 제어 회로는,
상기 페일 개수를 갖는 메모리 패키지들 각각의 페일 개수에 대한 정보가 저장되는 제1 레지스터; 및
상기 페일 개수를 갖는 메모리 패키지들 각각의 리던던시영역의 사용 가능 여부에 대한 정보가 저장되는 제2 레지스터를 포함하는 메모리 모듈. - ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈제19항에 있어서,
상기 리던던시영역의 사용 가능 여부에 대한 정보를 상기 언리페어 제어 회로에 전송하는 테스트 모드 회로를 더 포함하는 메모리 모듈. - ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈제19항에 있어서,
상기 언리페어 제어 회로는,
상기 제1 레지스터에 저장된 정보 및 상기 제2 레지스터에 저장된 정보를 비교하여, 상기 페일 개수를 갖는 메모리 패키지들 중에 상기 리던던시영역의 여유가 없는 메모리 패키지가 존재하지 않거나, 또는 상기 리던던시영역의 여유가 없는 메모리 패키지가 갖는 페일 개수의 합이 페일 판단 기준 보다 작은 경우, 상기 페일 판단 기준에서 상기 리던던시영역의 여유가 없는 메모리 패키지들의 페일 개수의 합이 차감된 업데이트된 페일 판단 기준을 계산하는 메모리 모듈. - ◈청구항 22은(는) 설정등록료 납부시 포기되었습니다.◈제21항에 있어서,
상기 페일 판단 기준은, 상기 에러정정능력과 같거나 작은 자연수로 설정되는 메모리 모듈. - ◈청구항 23은(는) 설정등록료 납부시 포기되었습니다.◈제22항에 있어서,
상기 언리페어 제어 회로는,
상기 제1 레지스터에 저장된 정보 및 상기 제2 레지스터에 저장된 정보를 비교하여, 상기 리던던시영역의 여유가 없는 메모리 패키지가 갖는 페일 개수의 합이 상기 페일 판단 기준 보다 같거나 큰 경우, 테스트 과정을 종료시키는 메모리 모듈. - ◈청구항 24은(는) 설정등록료 납부시 포기되었습니다.◈제22항에 있어서,
상기 리페어 어드레스 레지스터 파일 제어 회로는, 상기 리페어 어드레스 레지스터 파일에 저장된 상기 페일 개수를 갖는 메모리 패키지들 각각의 페일 로우 어드레스 정보를 상기 리페어 분석 회로로 전송하는 메모리 모듈. - ◈청구항 25은(는) 설정등록료 납부시 포기되었습니다.◈제24항에 있어서,
상기 리페어 분석 회로는,
상기 상기 리페어 어드레스 레지스터 파일 제어 회로로부터 출력되는 상기 페일 로우 어드레스 정보를 저장하는 제3 레지스터를 포함하는 메모리 모듈. - ◈청구항 26은(는) 설정등록료 납부시 포기되었습니다.◈제25항에 있어서,
상기 리페어 분석 회로는,
상기 제1 레지스터에 저장된 정보 및 상기 제3 레지스터에 저장된 정보를 비교하여, 상기 페일 개수를 갖는 메모리 패키지들의 페일 개수의 합에서 상기 리페어가 예정된 메모리 패키지의 페일 개수의 합을 차감하여 업데이트된 페일 개수의 합을 계산하고,
상기 업데이트된 페일 개수의 합이 상기 페일 판단 기준 또는 상기 업데이트된 페일 판단 기준보다 작은 경우 상기 테스트 동작을 종료하고, 그리고
상기 업데이트된 페일 개수의 합이 상기 페일 판단 기준 또는 상기 업데이트된 페일 판단 기준보다 같거나 큰 경우 리페어 대상 메모리 패키지 선정 과정을 수행하는 메모리 모듈. - ◈청구항 27은(는) 설정등록료 납부시 포기되었습니다.◈제26항에 있어서,
상기 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들에서 상기 리페어가 예정된 메모리 패키지를 제외한 나머지 메모리 패키지들 중 상기 페일 판단 기준 또는 업데이트된 페일 판단 기준을 넘는 페일 개수를 갖는 메모리 패키지를 모두 상기 리페어 대상 메모리 패키지로 선정하는 메모리 모듈. - ◈청구항 28은(는) 설정등록료 납부시 포기되었습니다.◈제27항에 있어서,
상기 리페어 분석 회로는, 상기 페일 개수를 갖는 메모리 패키지들에서 상기 리페어가 예정된 메모리 패키지를 제외한 나머지 메모리 패키지들에 대해서 상기 페일 판단 기준 또는 업데이트된 페일 판단 기준을 넘지 않는 페일 개수를 갖는 메모리 패키지들 중 가장 적은 페일 개수를 갖는 메모리 패키지부터 페일 개수의 순서대로 리페어 대상 메모리 패키지에서 메모리 패키지를 제외시키되, 상기 제외되는 메모리 패키지의 페일 개수의 총 합이 상기 업데이트된 페일 판단 기준을 넘지 않도록 하는 메모리 모듈. - ◈청구항 29은(는) 설정등록료 납부시 포기되었습니다.◈제28항에 있어서,
상기 리페어 어드레스 레지스터 파일 제어 회로는, 상기 리페어 어드레스 레지스터 파일 내에 리페어 대상으로 선정된 메모리 패키지의 리페어 어드레스가 저장될 저장영역이 남아 있는 경우 상기 리페어 어드레스를 저장하고, 남아 있지 않는 경우 테스트 과정을 종료하는 메모리 모듈.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180045080A KR102573833B1 (ko) | 2018-04-18 | 2018-04-18 | 메모리에 대한 테스트 회로 및 이를 포함하는 메모리 모듈 |
TW107142290A TWI787404B (zh) | 2018-04-18 | 2018-11-27 | 用於儲存裝置的模組控制器和包括該模組控制器的儲存模組 |
US16/205,747 US10861577B2 (en) | 2018-04-18 | 2018-11-30 | Module controllers for memory devices and memory modules including the module controllers |
CN201811474347.4A CN110390993B (zh) | 2018-04-18 | 2018-12-04 | 用于存储器件的模块控制器和包括模块控制器的存储模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180045080A KR102573833B1 (ko) | 2018-04-18 | 2018-04-18 | 메모리에 대한 테스트 회로 및 이를 포함하는 메모리 모듈 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190121585A KR20190121585A (ko) | 2019-10-28 |
KR102573833B1 true KR102573833B1 (ko) | 2023-09-04 |
Family
ID=68238220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180045080A KR102573833B1 (ko) | 2018-04-18 | 2018-04-18 | 메모리에 대한 테스트 회로 및 이를 포함하는 메모리 모듈 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10861577B2 (ko) |
KR (1) | KR102573833B1 (ko) |
CN (1) | CN110390993B (ko) |
TW (1) | TWI787404B (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020134945A1 (de) | 2020-02-27 | 2021-09-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Dynamische fehlerüberwachung und -reparatur |
KR20210147523A (ko) | 2020-05-29 | 2021-12-07 | 에스케이하이닉스 주식회사 | 리던던시 분석 회로 및 이를 포함하는 메모리 시스템 |
US11783884B2 (en) | 2020-12-10 | 2023-10-10 | SK Hynix Inc. | Semiconductor memory device and memory system including the same |
US11749371B2 (en) | 2020-12-14 | 2023-09-05 | SK Hynix Inc. | Memory system including memory device performing target refresh |
EP4084005B1 (en) | 2021-03-19 | 2023-06-07 | Changxin Memory Technologies, Inc. | Memory device repair method and system |
TWI794967B (zh) | 2021-09-10 | 2023-03-01 | 臺灣發展軟體科技股份有限公司 | 資料處理電路及故障修補方法 |
US12026050B2 (en) * | 2022-05-16 | 2024-07-02 | Innosilicon Microelectronics (Wuhan) Co., Ltd. | DDR DIMM, memory system and operation method thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US20090172483A1 (en) | 2007-12-28 | 2009-07-02 | Kabushiki Kaisha Toshiba | On-chip failure analysis circuit and on-chip failure analysis method |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304989B1 (en) | 1999-07-21 | 2001-10-16 | Credence Systems Corporation | Built-in spare row and column replacement analysis system for embedded memories |
KR100374636B1 (ko) * | 2000-10-18 | 2003-03-04 | 삼성전자주식회사 | 결함 테스트 및 분석 회로를 구비하는 반도체 장치 및 결함 분석 방법 |
KR20020068768A (ko) * | 2001-02-22 | 2002-08-28 | 삼성전자 주식회사 | 내장 메모리를 위한 빌트 인 셀프 리페어 회로를 구비하는반도체 장치 |
TWI252397B (en) * | 2004-09-17 | 2006-04-01 | Ind Tech Res Inst | Method and apparatus of built-in self-diagnosis and repair in a memory with syndrome identification |
US7536614B1 (en) * | 2006-06-28 | 2009-05-19 | Integrated Device Technology, Inc | Built-in-redundancy analysis using RAM |
US7757135B2 (en) * | 2006-09-11 | 2010-07-13 | Mentor Graphics Corporation | Method and apparatus for storing and distributing memory repair information |
KR20080045097A (ko) * | 2008-04-14 | 2008-05-22 | 삼성전자주식회사 | 멀티 칩 및 그것의 리페어 방법 |
CN101329918A (zh) * | 2008-07-30 | 2008-12-24 | 中国科学院计算技术研究所 | 存储器内建自修复***及自修复方法 |
JP2010225239A (ja) * | 2009-03-24 | 2010-10-07 | Toshiba Corp | 半導体集積回路およびメモリの機能検証方法 |
JP4865018B2 (ja) * | 2009-09-08 | 2012-02-01 | 株式会社東芝 | 半導体集積回路 |
CN102420016A (zh) * | 2011-11-03 | 2012-04-18 | 西安交通大学 | 一种应用于集成错误校验码的嵌入式存储器的内建修复分析方法 |
KR101862379B1 (ko) | 2013-04-19 | 2018-07-05 | 삼성전자주식회사 | Ecc 동작과 리던던시 리페어 동작을 공유하는 메모리 장치 |
US9430324B2 (en) * | 2013-05-24 | 2016-08-30 | Rambus Inc. | Memory repair method and apparatus based on error code tracking |
KR102083266B1 (ko) * | 2013-11-29 | 2020-03-03 | 삼성전자주식회사 | 반도체 메모리 장치의 테스트 방법 및 반도체 메모리 시스템 |
KR102238706B1 (ko) * | 2014-11-28 | 2021-04-09 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
-
2018
- 2018-04-18 KR KR1020180045080A patent/KR102573833B1/ko active IP Right Grant
- 2018-11-27 TW TW107142290A patent/TWI787404B/zh active
- 2018-11-30 US US16/205,747 patent/US10861577B2/en active Active
- 2018-12-04 CN CN201811474347.4A patent/CN110390993B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US20090172483A1 (en) | 2007-12-28 | 2009-07-02 | Kabushiki Kaisha Toshiba | On-chip failure analysis circuit and on-chip failure analysis method |
Non-Patent Citations (1)
Title |
---|
"Cost-Efficient Built-In Repair Analysis for Embedded Memories with On-Chip ECC", Hongbin Sun 외 4명, 2011 1st International Symposium on Access Spaces(ISAS), 2011.06.19. |
Also Published As
Publication number | Publication date |
---|---|
US20190325982A1 (en) | 2019-10-24 |
CN110390993A (zh) | 2019-10-29 |
KR20190121585A (ko) | 2019-10-28 |
US10861577B2 (en) | 2020-12-08 |
CN110390993B (zh) | 2023-02-17 |
TW201944425A (zh) | 2019-11-16 |
TWI787404B (zh) | 2022-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102573833B1 (ko) | 메모리에 대한 테스트 회로 및 이를 포함하는 메모리 모듈 | |
US10936455B2 (en) | Recovery of data failing due to impairment whose severity depends on bit-significance value | |
US7545689B2 (en) | Method and apparatus for improving yield in semiconductor devices by guaranteeing health of redundancy information | |
US9996417B2 (en) | Data recovery in memory having multiple failure modes | |
US9201718B2 (en) | Data recovery in a solid state storage system | |
US8910021B2 (en) | Automatic defect management in memory devices | |
US10938421B2 (en) | Decoding optimization for channel mismatch | |
US10409677B2 (en) | Enhanced memory reliability in stacked memory devices | |
US9811413B2 (en) | Orphan block management in non-volatile memory devices | |
US10795768B2 (en) | Memory reallocation during raid rebuild | |
US20160070507A1 (en) | Memory system and method of controlling memory device | |
US11036597B2 (en) | Semiconductor memory system and method of repairing the semiconductor memory system | |
JP2019139764A (ja) | メモリコントローラ、メモリシステム及びメモリ装置を使用する方法 | |
US10229751B2 (en) | Storage system and method for bad block recycling | |
US9886339B2 (en) | Semiconductor device using fuse arrays to store weak cell addresses | |
US11200962B2 (en) | Memory devices having spare column remap storages and methods of remapping column addresses in the memory devices | |
US11954364B2 (en) | Memory system and method of writing data to storage areas constituting group | |
CN103229243A (zh) | 用于在非易失性存储设备中以冗余方式存储数据块的存储控制器和*** | |
CN105206307B (zh) | 一种芯片修复方法和装置 | |
US20140181456A1 (en) | Memory, memory controller, memory system including the memory and the memory controller, and operating method of the memory system | |
US20230376376A1 (en) | Memory cell array unit | |
US20230153038A1 (en) | Storage device performing self-diagnosis and storage system including the same | |
CN114187954A (zh) | 存储器装置及其测试方法和使用方法、存储器*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |