KR20080110710A - 고장 셀의 위치를 식별하는 정보를 저장하는 방법 및 메모리 장치 - Google Patents

고장 셀의 위치를 식별하는 정보를 저장하는 방법 및 메모리 장치 Download PDF

Info

Publication number
KR20080110710A
KR20080110710A KR1020080111202A KR20080111202A KR20080110710A KR 20080110710 A KR20080110710 A KR 20080110710A KR 1020080111202 A KR1020080111202 A KR 1020080111202A KR 20080111202 A KR20080111202 A KR 20080111202A KR 20080110710 A KR20080110710 A KR 20080110710A
Authority
KR
South Korea
Prior art keywords
memory
row
column
spare
address
Prior art date
Application number
KR1020080111202A
Other languages
English (en)
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 KR20080110710A publication Critical patent/KR20080110710A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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/44Indication or identification of errors, e.g. for repair
    • 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/72Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

메모리 테스트 정보를 저장하기 위한 방법 및 장치가 개시된다. 이 방법은, 메모리를 테스트하는 동안 검출되는 고장 메모리 셀의 위치 및 개수에 관한 정보의 일부를 저장하는 단계, 및 제1 유형의 메모리 스페어가 고장 메모리 셀을 수리하도록 할당되고, 제2 상보형 메모리 스페어가 상기 고장 메모리 셀을 수리하도록 할당되거나, 상기 메모리가 수리불능인 것을 지시하기 위하여 고장 메모리 셀이 검출될 때 상기 저장된 정보를 갱신하는 단계를 포함한다. 상기 제1 유형의 메모리 스페어는 메모리의 로우 및 컬럼 부분 중 하나에 대응하고, 상기 제2 상보형 메모리 스페어는 메모리의 로우 및 컬럼 부분들 중 다른 하나에 대응한다.
메모리 테스트, 용장 메모리, 상보형 메모리, 메모리 셀, 에러 저장 테이블

Description

고장 셀의 위치를 식별하는 정보를 저장하는 방법 및 메모리 장치{METHODS AND APPARATUS FOR STORING MEMORY TEST INFORMATION}
본 발명은 메모리 테스트 정보를 저장하기 위한 방법 및 장치에 관한 것으로서, 보다 상세하게는 용장 메모리 회로를 구비한 메모리의 메모리 테스트 정보를 저장하기 위한 방법 및 장치에 관한 것이다.
종래의 메모리 테스트는 메모리 어레이 내의 모든 고장 메모리 어드레스의 식별 및 이러한 메모리 어드레스의 어느 비트가 고장났는지에 대한 식별을 수반한다. 통상적인 메모리 테스트는 각종 데이타 패턴을 메모리에 기록한 후 메모리의 출력을 판독하여 기대 값 또는 패턴과 비교하는 것을 포함한다. 기대값과 실제 판독 메모리 값 간의 불일치는 통상 메모리 테스터 자체에 위치하는 외부 메모리 맵에 저장된다.
모든 테스트 패턴이 실행되고 고장 어드레스 (및 비트)가 식별되어 저장된 후, 테스터는 저장된 에러 데이타에 대한 수리 분석을 행하여 메모리가 완전하게 동작할 수 있도록 하기 위해 어느 고장 어드레스 로우 및/또는 컬럼(또는 I/O)의 비트(또는 셀들)가 이용가능한 용장(또는 스페어) 메모리 셀로 교체되어야 하는지 를 결정할 수 있다. 고장 메모리 정보는 통상 메모리 테스트 전체의 종료시에 분석된다. 이것은 메모리의 동작을 최대화하고 가장 효율적인 방식으로 용장 메모리 셀을 이용하는 최적의 수리 구성을 결정하기 위하여 수리 알고리즘이 모든 고장 메모리 정보를 고려하는 것을 허용한다. 또한, 한번에 모든 고장 메모리 정보를 고려함으로써 소정의 수리불능 메모리 조건을 조기에 식별할 수 있어, 수리불능 상태에서 귀중한 테스트 및 수리 시간을 허비하기 전에 메모리를 버릴 수 있게 된다.
종래 대부분의 테스터와 관련된 한계점은 수리 정보가 동적으로 생성되고 이용되어야 한다는 점이다. 이것은 용장 메모리 셀을 비효율적으로 이용함으로써 전체 메모리 수율을 감소시킬 수 있다. 이러한 한계는 또한 고속, 고집적 메모리의 개발에 있어서 메모리 테스트를 고비용의 시간 소모적인 프로세스로 만들 수 있다.
예컨대, 종래의 메모리 테스터는 통상 테스트에 사용되는 메모리 셀의 동작 주파수보다 비교적 느린 처리 클럭 속도를 갖는다. 비교적 느린 클럭 속도는 테스트 중인 메모리가 정상 동작 속도로 정확하게 동작할 것인지를 결정하는 것을 불가능하게 한다. 또한, 정상 동작 속도에서 에러 정보를 수집하는 것은 이렇게 느린 종래의 테스터를 사용하여서는 불가능하다. 결과적으로, 테스터는 대량의 에러 데이타를 저장한 후 "오프라인"으로 실행되는 수리 알고리즘으로 대량의 데이타를 분석할 수 있어야 한다. 종래의 테스터에서 에러 메모리는 고장 비트의 총 기대수만큼 커야 한다. 더욱이, 메모리 밀도가 계속 증가하면, 이미 한정된 테스터 메모리도 증가해야 하고 더 복잡한 수리 알고리즘 솔루션을 처리할 수 있도록 하기 위해 테스터의 처리 능력도 향상되어야 한다.
종래의 테스터와 관련된 또 하나의 한계는 전형적인 제한된 I/O 성능이다. 메모리가 고밀도화됨에 따라 메모리를 테스트하는 데 필요한 I/O의 수도 증가되어야 한다. I/O가 제한된 테스터는 한번에 전체 메모리를 테스트할 수 없으며, 테스트 프로그램이 여러 개의 작은 테스트로 분할될 것을 요구한다. 메모리 테스트의 분할은 전체적인 테스트 시간을 증가시키며, 이는 메모리 제조와 관련된 비용에 크게 기여한다.
메모리 설계자는 이러한 문제의 일부를 해결하기 위하여 BIST(built-in-self-test) 기술을 이용해왔다. BIST에서는 메모리를 테스트하기 위한 패턴 생성기가 메모리 자체와 동일한 반도체 칩(또는 웨이퍼) 상에 제조된다. 이것은 BIST 회로가 메모리를 고속으로 테스트할 수 있게 하여 서브 동작 속도로 메모리를 테스트함으로써 에러 검출에 실패하는 문제를 없앤다. 또한, BIST 회로는 I/O가 제한된 근래의 테스터와 관련된 문제를 해결한다.
종래의 BIST 기술과 관련된 한계가 여전히 존재한다. 예컨대, 고장 메모리 정보를 저장하기 위하여 대량의 에러 메모리가 BIST 회로에 포함되어야 한다. 또한, 수리 알고리즘 처리를 행하기 위하여 부가적인 저장 및 프로세서 자원이 구비되어야 한다. 공간 및 프로세서 제한으로 인해 제한된 양의 에러 저장 및 수리 코드만이 BIST 설계에 통합될 수 있다. 결과적으로, 종래의 BIST 기술은 고장 메모리 위치를 검출하기 위하여 "스냅샷 어프로치"를 계속 이용하고 있다. 이것은 수리 알고리즘이 고장 메모리 정보를 "온더플라이(on the fly)" 방식으로 처리할 것을 요구하는데, 이는 전술한 바와 같이 메모리 칩에 포함된 용장 메모리 셀의 이용 을 비효율적이게 한다.
따라서, 메모리 테스트에서 발생하는 고장 메모리 정보를 저장하기 위한 기술로서, 테스터에 부과되는 에러 저장 요건을 완화하고 수리 알고리즘의 복잡성을 더욱 단순하게 줄일 수 있는 개량된 기술이 필요하다. 특히, 수리 정보를 완전히 분석 및 생성하는 데 필요한 고장 메모리 정보만을 저장하기 위한 개량된 기술이 필요하다.
따라서, 본 발명의 목적은 효율적인 방식으로 모든 고장 메모리 정보의 온칩 저장을 제공하는 것이다. 다른 목적은 모든 고장 메모리 정보의 고속 저장을 제공하는 것이다. 또 다른 목적은 많은 수의 I/O 버스 메모리를 구비한 메모리의 테스트를 지원하는 것이다. 또 다른 목적은 수리 알고리즘을 개시하기 전에 소정의 수리불능 메모리 고장 조건을 검출하는 것이다. 또 다른 목적은 수리 알고리즘 자체의 복잡성을 감소시키는 것이다. 이러한 목적은 고장 메모리 위치에 관한 정보를 메모리에 압축시키는 방법 및 장치에 의해 달성된다.
한 양태에 따르면, 메모리 테스트 정보를 저장하기 위한 방법은 메모리를 테스트하는 동안 검출되는 고장 메모리 셀의 위치 및 개수에 관한 정보의 일부를 저장하는 단계를 포함한다. 제1 유형의 메모리 스페어가 고장 메모리 셀을 수리하도록 할당되고, 제2 상보형 메모리 스페어가 상기 고장 메모리 셀을 수리하도록 할당되거나, 메모리가 수리불능인 것을 지시하기 위하여 상기 저장된 정보는 고장 메모리 셀이 검출될 때 갱신된다. 제1 유형의 메모리 스페어는 메모리의 로우 및 컬럼 부분 중 하나에 대응하고, 제2 상보형 메모리 스페어는 메모리의 로우 및 컬럼 부분 중 다른 하나에 대응한다.
관련 양태에 따르면, 고장 메모리 셀이 위치하는 메모리의 각각의 로우 또는 컬럼 부분의 고장 메모리 셀의 개수가 이용가능한 상보형 메모리 스페어의 개수를 초과하는지에 부분적으로 기초하여 고장 메모리 셀을 수리하기 위하여 할당되는 메모리 스페어의 유형을 지시하도록 상기 저장된 정보가 갱신된다.
다른 관련 양태에 따르면, 정보는 로우 및 컬럼 부분을 가진 테이블에 저장되는데, 테이블의 각 로우 및 컬럼 부분은 고장 메모리 셀이 위치하는 메모리의 각각의 로우 또는 컬럼 부분의 어드레스, 및 메모리의 각각의 로우 또는 컬럼 부분에서 검출되는 고장 메모리 셀의 개수를 저장하기 위한 적어도 하나의 어드레스/에러-카운트 엔트리 쌍을 포함한다.
또 다른 관련 양태에 따르면, 상기 방법은 고장 메모리 셀이 위치하는 메모리의 로우 및 컬럼 부분의 어드레스들 중 적어도 하나와 테이블에 저장된 어드레스 엔트리 사이에 일치가 존재하는지를 결정하는 단계를 더 포함한다.
또 다른 관련 양태에 따르면, 일치가 존재하는 경우, 상기 방법은 쌍을 이루는 에러 카운트 엔트리가 이용가능한 상보형 메모리 스페어의 개수와 동일한 경우 일치하는 어드레스 엔트리와 쌍을 이루는 에러 카운트 엔트리를 증분시키는 단계를 더 포함한다. 테이블의 로우 및 컬럼 부분 모두에서 일치가 존재하는 경우, 상기 방법은 쌍을 이루는 에러 카운트 엔트리들이 각각 이용가능한 상보형 메모리 스페어들의 각각의 개수보다 작은 경우에 일치하는 어드레스 엔트리와 쌍을 이루는 에러 카운트 엔트리를 증분시키는 단계를 더 포함한다.
또 다른 관련 양태에 따르면, 테이블의 로우 및 컬럼 부분 중 하나에서 일치가 존재하는 경우, 상기 방법은 일치하는 어드레스 엔트리를 포함하지 않는 테이블의 로우 또는 컬럼 부분이 채워져 있는지(full)를 결정하는 단계를 더 포함한다. 일치하는 어드레스 엔트리를 포함하지 않는 테이블의 로우 또는 컬럼 부분이 채워지지 않은 경우, 상기 방법은 쌍을 이루는 에러 카운트 엔트리가 유효한 상보형 메모리 스페어의 개수보다 작은 경우에 일치하는 어드레스 엔트리와 쌍을 이루는 에러 카운트 엔트리를 증분시키는 단계, 및 일치하는 어드레스 엔트리를 포함하지 않는 테이블의 부분에 어드레스/에러 카운트 엔트리 쌍을 추가하는 단계를 더 포함하는데, 추가된 엔트리 쌍은 테이블 내의 어드레스 엔트리와 일치하지 않는 고장 메모리 셀이 위치하는 메모리의 로우 또는 컬럼 부분의 어드레스와 하나의 에러 카운트를 포함한다. 일치하는 어드레스 엔트리를 포함하지 않는 테이블의 로우 또는 컬럼 부분이 채워진 경우, 테이블에 저장된 정보는 메모리가 수리 가능하지 않다는 것을 지시하도록 갱신된다.
또 다른 관련 양태에 따르면, 일치가 존재하지 않는 경우, 상기 방법은 테이블의 로우 및 컬럼 부분 중 적어도 하나가 채워져 있는지를 결정하는 단계를 더 포함한다. 테이블의 로우 및 컬럼 부분 모두가 채워져 있지 않은 경우, 상기 방법은 테이블의 로우 및 컬럼 부분 모두에 어드레스/에러 카운트 엔트리 쌍을 추가하는 단계를 더 포함하는데, 각각의 추가된 엔트리 쌍은 고장 메모리 셀이 위치하는 메모리의 로우 또는 컬럼 부분의 각각의 어드레스와 하나의 에러 카운트를 포함한다. 테이블의 로우 및 컬럼 부분 중 적어도 하나가 채워진 경우, 테이블에 저장된 정보는 메모리가 수리가능하지 않다는 것을 지시하도록 갱신된다.
또 다른 관련 양태에 따르면, 한 유형의 메모리 스페어의 총 수가 상보형 메모리 스페어의 총 수보다 큰 경우, 일치가 존재하는지를 결정하는 단계는 스페어의 총 수가 더 작은 메모리 스페어의 유형에 대응하는 메모리의 로우 또는 컬럼 부분의 어드레스를 테이블의 어드레스 엔트리와 비교하기 전에 스페어의 총 수가 더 큰 메모리 스페어의 유형에 대응하는 메모리의 로우 또는 컬럼 부분의 어드레스를 테이블의 어드레스 엔트리와 비교하는 단계를 포함한다.
또 다른 관련 양태에 따르면, 제1 및 제2 유형의 메모리 스페어의 총 수가 동일한 경우, 일치가 존재하는지를 결정하는 단계는 고장 메모리 셀이 위치하는 메모리의 로우 및 컬럼 부분의 어드레스들 중 하나를 임의로 선택하는 단계, 및 임의로 선택되지 않은 메모리의 로우 또는 컬럼 부분의 어드레스를 테이블의 어드레스 엔트리와 비교하기 전에 임의로 선택된 메모리의 로우 또는 컬럼 부분의 어드레스를 테이블의 어드레스 엔트리와 비교하는 단계를 포함한다.
또 다른 관련 양태에 따르면, 상기 방법은 테이블의 로우 부분에 포함된 어드레스/에러 카운트 엔트리 쌍과 테이블의 컬럼 부분에 포함된 관련 어드레스/에러 카운트 엔트리 쌍을 링크하는 단계를 더 포함한다. 테이블의 로우 부분에 포함된 어드레스/에러 카운트 엔트리 쌍과 테이블의 컬럼 부분에 포함된 관련 어드레스/에러 카운트 엔트리 쌍을 링크하기 위해 스페어의 총 수가 더 큰 메모리 스페어의 유형에 대응하는 테이블의 로우 또는 컬럼 부분의 각각의 어드레스/에러 카운트 쌍에, 고유 링크 ID를 저장하기 위한 링크 식별자 엔트리가 부가된다.
또 다른 관련 양태에 따르면, 테이블은 제1 유형의 메모리 스페어 중 적어도 하나가 제2 상보형 메모리 스페어 중 적어도 하나에서 교차하는 메모리의 일부를 나타낸다.
본 발명의 효율적인 방식으로 모든 고장 메모리 정보의 온칩 저장이 제공되고, 모든 고장 메모리 정보의 고속 저장도 제공된다. 또한, 많은 수의 I/O 버스 메모리를 구비한 메모리의 테스트가 지원되며, 수리 알고리즘을 개시하기 전에 소정의 수리불능 메모리 고장 조건이 검출되며 수리 알고리즘 자체의 복잡성이 감소된다.
"포함한다" 및 "포함하는"이라는 용어는 본 명세서 및 청구범위에서 사용될 때 기술된 특징, 단계 또는 구성요소의 존재를 특정하기 위한 것이지, 이러한 용어의 사용이 하나 이상의 다른 특징, 단계, 구성요소 또는 이들의 집합의 존재 또는 추가를 배제하기 위한 것은 아니라는 것이 강조되어야 한다.
전술한 목적, 특징 및 장점은 유사 또는 동일한 구성요소에 동일한 참조부호가 부여된 도면을 참조한 아래의 상세한 설명에 비추어 더욱 명백해질 것이다.
하기에서는 첨부 도면들을 참조하여 바람직한 실시예들을 설명한다. 하기의 설명에서, 공지된 기능 및 구성은 설명이 불필요하게 상세하게 되는 것을 피하기 위해 생략될 것이다.
용장 회로
위에서 간단히 설명한 바와 같이, 메모리 수리를 위해 포함된 용장 회로는 스페어 메모리 셀들을 식별된 고장 메모리 위치에 다중화(또는 맵핑)함에 의해 고장 메모리 위치를 대체할 수 있는 메모리 어레이들로 구성된다. 수리 알고리즘으 로부터의 수리 정보는 스페어 로우 또는 컬럼 셀들을 고장 메모리 위치에 어떻게 맵핑할지를 지시한다. 고장 메모리 위치들을 수리하기 위한 효율적인 알고리즘은 본원과 양수인이 동일하고, 본원과 동일자로 대응 실용신안출원이 된, "Repair Analysis Algorithm Suitable for On-Chip Implementation" 이란 제목의 현재 계류 중인 미국특허출원번호 제60/296,793호에 설명되어 있다.
임의의 주어진 고장 메모리 비트를 수리하기 위해 단지 하나의 스페어 메모리 셀이 필요하다. 전형적으로, 스페어 메모리 셀 회로들은 어드레싱 가능한 로우 스페어 셀들과 컬럼 스페어 셀들로 구성된다. 이러한 구성에 있어서, 스페어 로우가 특정 위치에 맵핑되면, 주어진 로우 어드레스와 연관된 모든 메모리 비트들이 대체된다. 유사하게, 스페어 컬럼을 메모리에 맵핑하는 것은 그 컬럼에 포함된 모든 메모리 비트들을 대체할 것이다. 로우 및 컬럼 어드레스의 각 교차점은 메모리 비트들 (또는 셀들)의 그룹을 선택한다.
다른 용장 회로 배열들은 스페어 I/O도 맵핑할 수 있다. 이 구성은 몇개의 컬럼 메모리 어레이들을 하나의 출력 드라이버로 그룹화한다. 이것은 다수의 컬럼 어드레스들에 존재하는 개개의 데이터 비트가 단일 스페어 컬럼으로 대체될 수 있도록 해준다. 스페어 컬럼들은 컬럼 어드레스에 대한 I/O의 그룹을 대체한다. 이에 따라, 용어 "컬럼"은 본 명세서에서 컬럼 및 I/O 타입 용장 회로 둘다를 지칭하도록 사용된다.
몇개의 메모리 코어들을 갖는 메모리 칩들에서, 여러 메모리 코어들을 수리하기 위해 포함된 스페어 로우들 및 스페어 컬럼들은 개별적으로 구성될 수 있다. 주어진 용장 회로에서 서로 교차하는 스페어 로우들 및 컬럼들의 개수는 그 용장 회로에 연관된 에러 저장 테이블의 구성을 결정하는 중요한 설계 기준이다. 각 에러 저장 테이블은 특정 코어 내에서 스페어 로우들이 스페어 컬럼들과 교차하는 하나의 서브-블록을 나타낸다고 생각될 수 있다. 각 스페어 로우 및 스페어 컬럼은 임의의 범위의 로우 및 컬럼 어드레스들을 수리할 수 있다. 이 범위는 "분석 블록"으로서 일컬어지는 것을 정의한다. 분석 블록의 로우 및 컬럼 어드레스 범위들은 메모리 코어를 더 작은 독립 영역들로 분할한다. 분석 블록의 스페어 로우들 및 스페어 컬럼들은 다수의 서브-블록들 간에 공유될 수 있다. 공유량은 특정 메모리 코어의 용장 아키텍쳐에 따른다.
관련 로우 및 컬럼 어드레스들의 범위를 수리할 수 있는 것에 부가하여, 서브-블록은 또한 그 서브-블록 자체 내의 모든 고장 위치들을 수리하는 데에 사용될 수 있는 전용 스페어 로우들 및 스페어 컬럼들을 갖는다. 유사하게, 서브-블록이 스페어 로우들과 스페어 I/O들로 구성된다면, 이와 동일한 기능이 유효해서, 서브-블록은 그 서브-블록 내의 모든 고장 위치들을 수리하는 데에 사용될 수 있는 전용 스페어 로우들과 스페어 I/O들을 갖는다.
상술한 바와 같이, 서브-블록 당 스페어 로우 및 컬럼 셀들 또는 I/O들의 개수는 메모리 칩상에 존재하는 상이한 메모리 코어들에 걸쳐 변화될 수 있다. 비록 하기의 바람직한 실시예들은 서브-블록당 두개의 스페어 로우들과 하나의 스페어 컬럼 (또는 I/O)를 사용하는 메모리 코어들이지만, 당업자는 서브-블록당 임의의 개수의 스페어 셀들 또는 I/O들을 사용하는 다른 구성들도 가능하다는 것을 이해할 것이다.
에러 저장 테이블
에러 저장 테이블은 식별된 고장 메모리 셀들을 스페어 위치들로 맵핑하는 데에 필요한 수리 코드들을 생성하기 위한 수리 분석 알고리즘에 의해 요구되는 정보만을 저장하기 위해 사용된다. 이것은 수리 프로세싱을 위한 모든 고장 정보를 저장하는 통상의 에러 저장 기술과 대조된다. 상술한 바와 같이, 각 스페어 셀 (또는 I/O)는 어드레스 범위를 커버하므로, 한번에 다수의 어드레스들을 수리할 수 있다.
예를 들면, 한번에 4개의 로우 어드레스들을 대체할 수 있는 스페어 셀들을 갖는 메모리 코어가 주어지면, 어드레스의 두 최하위 비트들(LSB들)은 하나의 어드레스인 것으로 여겨질 수 있다. 메모리 고장들이 메모리 코어의 로우 어드레스 1 및 로우 어드레스 3에서 식별되면, 스페어 로우는 로우 어드레스 0, 1, 2, 및 3을 대체할 것이다. 따라서, 에러 저장 테이블은 로우 어드레스 0, 1, 2, 및 3을 동일한 어드레스로서 해석한다. 이것은 수리 분석 알고리즘을 구동하기 위해 저장될 수 있는 고장 메모리 정보의 양을 줄이는 유일한 방법이다.
도 1은 일반적인 에러 저장 결정 챠트를 도시한다. 특별한 결정 차트들은 임의의 소정의 용장 회로 구조에서 가용의 스페어 로우들 및 컬럼들 (또는 I/O들)의 개수에 기초하여 일반적인 챠트로부터 유도될 수 있다. 에러 저장 테이블에 중요한 것은 그 테이블 엔트리들을 관리하는 규칙들이다. 이 규칙들은 테이블이 나타내는 서브-블록 내의 가용 스페어들의 개수에 기초한다.
두개의 범용 규칙들이 챠트 엔트리들을 관리한다. 첫째, 소정의 컬럼 어드레스 상의 고장들의 개수가 가용의 스페어 로우들의 개수를 초과하면, 스페어 컬럼이 사용되어야 한다. 이 상황은 도 2a에 도시된다. 둘째, 소정의 로우 어드레스 상의 고장들의 개수가 가용의 스페어 컬럼들 (또는 I/O들)의 개수를 초과하면, 스페어 로우가 사용되어야 한다. 이 상황은 도 2b에 도시된다. 스페어 I/O들이 가용인 경우에 대해, 부가적인 테이블 엔트리 규칙이 필요하다. 즉, 다수의 I/O들이 동일한 어드레스에서 고장들을 갖고 가용의 스페어 I/O들의 개수가 초과되면, 스페어 로우가 사용되어야 한다.
이 범용 규칙들을 염두에 두고, 도 1에 도시된 챠트는 일반적으로 챠트를 가로질러 수평하게 스패닝(spanning)하는 I/O (또는 컬럼) 정보와 수직하게 스패닝하는 로우 정보를 갖도록 배열된다. 수직(102) 및 수평(104) 챠트 헤더들은 대응하는 로우 갱신 및 컬럼 갱신 테이블들의 현재 상태를 각각 기술한다 (도 3a 및 도 3b 참조). 헤더들은 각 테이블들이 1) 처리될 고장의 현재 로우 및/또는 컬럼 어드레스와 일치하는 엔트리들을 포함하고 있지 않고, 및 채워져 있지 않은지, 2) 처리될 고장의 현재 로우 및/또는 컬럼 어드레스와 일치하는 엔트리를 포함하는지, 그리고 3) 채워져 있고 처리될 고장의 현재 로우 및/또는 컬럼 어드레스와 일치하는 엔트리를 포함하지 않는지를 기술한다. 헤더들은 또한 여러 테이블 엔트리들에 대해 현재 로우 및 컬럼 에러 카운트들을 지시하는 정보를 포함한다.
결정 챠트 내의 각 블록(106)은 현재 테이블 엔트리들 및 처리될 고장 어드레스 위치에 기초하여 어떻게 로우 갱신 및 컬럼 갱신 테이블들이 변경되어야 하는 지를 정의하는 정보를 포함한다. 하위 좌측 블록 엔트리들(108)은 로우 갱신 테이블 커맨드들에 해당하고, 상위 좌측 셀 엔트리들(110)은 컬럼 갱신 테이블 커맨드들을 나타내고, 하위 우측 셀 엔트리(112)는 처리되는 메모리 코어가 "불량"이거나 수리 불능이라는 것을 지시하기 위해 비어있거나 "NG"로 설정된다.
도 3a 및 3b는 로우 갱신 및 컬럼 (또는 I/O 갱신) 테이블들을 각각 도시한다. 테이블 크기 및 테이블 엔트리들의 크기는 주어진 서브-블록 내의 가용의 스페어 로우들 및 컬럼들 (또는 I/O들)의 개수에 의존한다. 두개의 스페어 로우들 및 하나의 스페어 I/O를 갖는 서브-블록에 대해 계속해서 예를 들면, 테이블 로우 엔트리들의 개수는 4개, 즉 각 가용 스페어 로우에 대한 2개의 엔트리들과, 2개의 가용 스페어 로우들과 단일 가용 스페어 컬럼의 각 교차점에 대한 두개의 엔트리들의 합이다. 유사하게, 테이블 컬럼 엔트리들의 개수는 3인데, 이들은 단일 가용 스페어 컬럼에 대한 하나의 엔트리와, 단일 가용 스페어 컬럼과 두개의 가용 스페어 로우들의 각 교차점에 대한 두개의 엔트리들이다.
로우 갱신 및 컬럼 갱신 테이블들 각각은 현재 에러 카운트에 대한 엔트리들을 포함한다. 본 예에서 에러 카운트 엔트리의 크기는 2 비트이다. 테이블들 각각은 또한 수리되는 로우 및 컬럼 고장의 어드레스에 대한 대응 엔트리들을 갖는다. 끝으로, 로우 갱신 테이블은 소정의 로우 수리를 대응하는 컬럼 수리에 링크하는 엔트리들을 포함한다. 이 예에서, 컬럼 ID 엔트리의 크기는 역시 2 비트이다. 에러 저장 테이블의 크기 및 그 다양한 엔트리들에 대한 상세한 설명은 하기의 "에러 테이블 크기의 계산"이란 섹션에서 상세히 설명된다.
통상적으로, 고장 메모리 셀들의 모든 어드레스들의 저장은 수리 분석 알고리즘이 서브-블록을 수리하기 위해 스페어 로우들 및 컬럼들을 어떻게 배열할 지를 적당하게 선택하기 위해 필요하다. 본 명세서에서 설명된 기술을 채용함에 의해, 각 스페어 셀 또는 I/O는 여러개의 로우들을 동시에 수리할 수 있어서, 여러개의 어드레스들이 에러 테이블 내의 하나의 단일 어드레스로서 표현될 수 있게 해준다. 하기의 예에서, 각 스페어 로우는 메모리 내의 4개의 인접한 로우들을 수리하기 위해 어드레스될 수 있다.
에러 저장 테이블의 필요한 크기를 더 감소시키기 위한 다른 기술은, 에러 테이블 내에 용장 에러들을 저장하지 않는 단계와, 소정의 어드레스가 에러를 갖는 횟수를 카운팅하는 단계와, 이미 필요로 된 스페어 로우 및 스페어 컬럼을 따라 놓여 있도록 결정된 에러들을 저장하지 않는 단계를 포함한다. 이 기술들은 에러 저장 프로세스 동안 제한된 수리 분석을 수행하여 소정의 메모리 코어를 수리하는 데에 사용되어야 하는 스페어 셀 또는 I/O들의 사전 선택을 가능하게 하도록 결합된다. 이 기술은 또한 테스팅 동안 수리 불가능한 메모리 장치들의 조기 검출을 가능하게 하여 귀중한 테스트 시간과 자원을 절약한다.
실례
도 4a 및 4b는 다수의 식별된 고장 메모리 위치들을 갖는 서브-블록의 실례를 도시한다. 도 4a는 A 내지 J로 순서가 매겨진 10개의 에러들을 갖는 서브-블록을 도시한다. 도 4b에 도시된 테이블은 서브-블록 내에 에러들이 존재하는 로우 및 컬럼 위치들을 나열한다. 앞서 설명한 바와 같이, 본 예의 각 스페어 로우는 서브-블록 내의 4개의 로우들을 대체할 수 있다. 도 5a 내지 5d는 도 4에 도시된 예시적인 서브-블록에 대해 상술된 에러 저장 기술을 실시할 때 수행되는 여러 단계들을 도시한다.
도 5a를 참조하여, 제1 에러 A가 검출되면, 로우 및 I/O 테이블들은 현재의 엔트리들을 체크한다. 엔트리가 없다면, 도면의 단계 1에 도시된 바와 같이, 테이블들이 대응하는 로우 및 컬럼 엔트리로 갱신된다. 어드레스 1로 맵핑되는 에러 A가 로우 어드레스 4 상에서 검출된 제1 에러이므로, 에러 카운트는 1 증가된다. 대응하는 컬럼 엔트리는 어드레스 1을 갖게 되고 에러 카운트는 1로 된다. ID는 위치별로 로우 어드레스를 컬럼 어드레스로 링크한다. 대응하는 컬럼 어드레스 엔트리가 I/O 테이블 내의 위치 ID=0으로 되므로, 이 엔트리는 동일한 ID를 사용하여 로우 테이블 엔트리 내에 링크된다.
리스트 내의 다음 에러는 B이다. 이 에러는 서브-블록의 로우 어드레스 2와 컬럼 어드레스 3에 위치한다. 이 위치들은 로우 또는 I/O 갱신 테이블들 내의 로우 또는 컬럼 엔트리들과 일치하지 않으므로, 테이블들은 현재 에러 정보로 다시 갱신된다. 이것은 도면 중의 단계 2에 도시된다.
도 5b는 에러 프로세싱의 다음 단계를 도시한다. 본 예에서 다음에 검출된 에러는 에러 C이다. 이 에러는 로우 어드레스 2와 컬럼 어드레스 1에 위치된다. 이 에러의 위치는 로우 갱신 테이블 내의 현재의 엔트리와 일치하므로, 로우 어드레스 2를 갖는 로우 갱신 테이블 엔트리의 에러 카운트가 2로 증가된다. 이것은 도면 중에 단계 3에 도시된다. 상기의 범용 규칙을 적용하면, 로우 2에 대한 에러 카운트가 가용의 컬럼 스페어들의 개수(이 예에서는 1)를 초과하므로, 로우는 두개의 가용 스페어 로우들 중의 하나에 의해 수리되어야 한다. 로우 2 상의 모든 에러들이 할당된 로우 스페어에 의해 수리될 것이므로, 에러 C에 대한 대응 엔트리는 컬럼 테이블에 추가될 필요가 없다.
그 다음 검출된 에러는 에러 D이다. 이 에러는 임의의 기존 에러 어드레스들과 일치하지 않고, 테이블들은 새로운 에러 정보에 의해 갱신된다. 이것은 도면 중의 단계 4에 도시된다. 컬럼 엔트리 테이블은 에러 D에 대한 엔트리를 마킹한 후 채워지게 된다는 것을 주목한다. 따라서, 임의의 현재의 컬럼 어드레스 엔트리들과 일치하지 않는 임의의 추가로 검출된 에러들은 이 장치를 수리 불능으로 만들것이고 이에 EK라 테스팅 사이클이 정지된다.
본 예에서 그 다음에 검출되는 에러는 에러 E이다. 이 에러는 I/O 갱신 테이블 내의 현재의 컬럼 엔트리와 일치하지만, 임의의 현재의 로우 테이블 엔트리들과는 일치하지 않는다. 이에 따라, 로우 테이블은 새로운 에러 정보에 의해 갱신된다. 컬럼 ID 에러 E 로우 테이블 엔트리는 0으로 설정되는데, 이것은 컬럼 1과 연관된 I/O 테이블 식별자에 대응한다. ID=0에 대한 에러 카운트는 2로 증가되어 추가의 검출된 컬럼 에러를 기록한다. 이 갱신들은 도면 중의 단계 5에 도시된다.
도 5c는 에러 저장 프로세스의 다음 단계를 도시한다. 본 예에서 그 다음 검출된 에러는 에러 F이다. 이 에러는 서브-블록의 로우 3 및 컬럼 1에 위치한다. 이 에러는 에러 카운트 2를 갖는 컬럼 엔트리 (ID=0)와 일치한다. 이 에러는 컬럼 엔트리에 대한 에러 카운트가 가용 로우 스페어들의 개수를 초과하게 만들 것이다. 다시 상기의 범용 규칙을 적용하면, 단일 가용 컬럼 스페어가 에러를 수리하기 위해 할당된다. 할당된 스페어 컬럼에 의해 에러가 수리되므로, 대응하는 엔트리는 로우 엔트리 테이블 내에 만들어질 필요가 없다.
증가된 에러 카운트(3)가 가용 스페어 로우들의 개수(2)를 초과하지 않으면, 장치는 수리 불능으로 판정될 것임을 유의하는 것이 중요하다. 그 이유는 로우 엔트리 테이블이 채워지고, 따라서 로우 어드레스 3에 대한 고장 정보를 추가하기 위해 로우 테이블을 갱신하는 것은 불가능할 것이기 때문이다. 테이블은 모든 수리 가능한 (몇몇은 수리 불가능함) 에러 패턴들이 일치하도록 사이즈화된다. 따라서, 테이블 엔트리들을 초과하는 것은 테스팅 프로세스에서 수리 불가능한 장치들을 조기에 식별하도록 돕는다.
이 예에서 다음의 세 에러 G, H, 및 I 모두는 기존의 엔트리와 일치하기 때문에 저장 결정 처리에서 무시된다. 동일한 에러는 수리 분석 처리에서 전혀 고려될 필요가 없다. 이 예에서 최종 에러인 에러 J는 새로운 에러로서 이전에 할당된 로우 스페어에 의해 수리된다. 이는 로우 테이블 내의 에러 카운트 엔트리에 의해 식별될 수도 있다. 2의 값을 갖는, 로우 엔트리 내의 모든 에러 카운트는 스페어 로우를 사용해야 하는데, 그 이유는 이 값이 이용가능한 스페어 컬럼의 개수를 초과하기 때문이다. 3의 엔트리를 갖는 모든 컬럼 엔트리는 컬럼 스페어로 수리되어야 하는데, 그 이유는 이 값이 이용가능한 스페어 로우의 개수를 초과하기 때문이다.
모든 에러가 처리되고 에러 저장 테이블이 완료되면, 수리 분석 알고리즘은 테이블 결과를 해석하여 성공적인 수리가 행해질 수 있는지 여부를 판정한다. 도 6은 수리를 행하기 위해 수리 분석이 에러 저장 테이블을 해석하는 방법을 도시한 도면이다. 에러 저장 테이블의 컬럼 갱신 부분, 즉 스페어 컬럼 C1의 검사는 컬럼 어드레스 1을 수리하는 데에 사용되는데, 그 이유는 이 엔트리에 대한 에러 카운트(예를 들면, 3)는 이용가능한 스페어 로우의 개수(예를 들면, 2)를 초과하기 때문이다. 다음에, 두 개의 이용가능한 스페어 로우중 하나인 R1이 로우 어드레스 2를 수리하는 데에 사용된다. 다시, 스페어 로우가 할당되는데, 그 이유는 이 로우 어드레스에 대한 에러 카운트 엔트리(예를 들면, 2)가 스페어 컬럼의 이용가능한 개수(예를 들면, 1)를 초과하기 때문이다.
최종적으로, 최종 이용가능한 스페어 로우가 할당되는 방법을 결정하기 위해 에러 테이블의 로우 갱신 부분이 검사된다. 이미 할당된 스페어 컬럼 C1은 컬럼 ID=0을 갖는 컬럼 어드레스 1에 할당되었음을 상기하기로 하자. 따라서, 컬럼 ID=0을 갖는 모든 로우 어드레스 에러 엔트리는 이미 할당된 스페어 컬럼 C1에 의해 수리될 것이다. 로우 테이블의 검사는, 로우 어드레스 4에 기록된 에러를 제외한 모두가, 할당된 스페어 컬럼 C1 또는 할당된 스페어 로우 R1에 의해 수리됨을 나타낸다. 따라서, 최종 이용가능한 스페어 로우 R2는 로우 4의 에러 D를 수리하도록 할당되며, 서브 블럭내의 모든 에러는 스페어 메모리 셀 또는 I/O로 성공적으로 수리된다.
실례를 위한 프로세스 흐름도
도 7은 에러 저장 처리의 실시예를 나타내는 상위 레벨 흐름도이다. 이 처 리는 유휴(IDLE) 모드로 정의된 단계(702)에서 시작된다. 다음에 단계(704)에서, 메모리, 예를 들어 메모리 칩 상에 포함된 SRAM으로부터 에러 저장(ES) 테이블 정보를 페치할지 여부가 결정된다. 처리된 ES 정보 페치 결정이 행해지지 않을 경우 유휴 상태(702)로 돌아가나, 페치 결정이 행해질 경우 ES 정보가 SRAM으로부터 판독되는 단계(706)으로 이동한다. SRAM으로부터 ES 정보를 판독한 후, 프로세스는 갱신된 ES 정보를 SRAM으로 기록하기 위한 결정이 행해지는 단계(708)로 이동한다. ES 정보를 갱신하기 위한 결정이 행해질 경우, 단계(710)에서 ES 테이블이 갱신되며 프로세스는 단계(702)의 유휴 상태로 돌아간다. ES 테이블이 갱신되지 않을 경우, 단계(712)에서 에러 테스트 및 처리가 시작된다.
단계(712)에서 서브 블럭이 테스트되어 I/O 입력 상에서 활성 상태인 에러 신호수(존재하는 경우)가 결정된다. 하나보다 큰 에러 신호가 검출될 경우, 프로세스는 단계(720)로 이동하여 하나보다 큰 에러 신호를 처리하기 위한 루틴이 실행된다. 검출된 에러 신호가 하나 이하인 경우, 프로세스는 단계(714)로 이동하여 정확하게 하나의 에러 신호가 검출되었는지 여부를 결정한다. 정확하게 하나의 에러 신호가 검출될 경우, 프로세스는 단계(718)로 이동하여 정확하게 하나의 에러 신호를 처리하기 위한 루틴이 실행된다. 에러가 검출되지 않을 경우, 현재의 사이클에 대해 아무런 처리도 행하지 않으며 프로세스는 단계(716 내지 708)로 이동하여 SRAM 내의 ES 테이블을 갱신하기 위한 결정이 다시 행해진다. 단계(712 내지 720)에서 에러 신호를 검출하여 처리하는 프로세스가 다시 실행된다.
도 8은 하나의 메모리 셀 에러만이 검출될 때 에러를 처리하는 예시적인 루 틴을 도시한 흐름도이다. 이 도면에서 예시된 몇몇 단계는 하나의 스페어 컬럼(또는 I/O) 및 두 개의 스페어 로우를 갖는 용장 회로를 포함하는 실례에 특정된 것이다. 도면에 나타낸 일반적인 개념은, 임의의 개수의 스페어 로우 및 컬럼을 갖는 용장 회로까지 확장될 수 있음을 이해할 것이다.
이 루틴은, 예를 들어 도 7에 도시된 상위 레벨 프로세스의 단계(718)로부터 호출되는 단계(802)에서 시작된다. 단계(804)에서 에러의 어드레스가 로우 갱신 테이블 내의 엔트리와 비교되어 로우 일치가 존재하는지 여부를 판정한다. 로우 일치가 존재할 경우, 루틴은 단계(806 내지 822)로 진행한다. 이들 단계 중 단계(808 및 814)에서는 대응하는 I/O 어드레스가 존재하는지 여부가 판정되며, 존재할 경우, 단계(810 및 816)에서 I/O 카운트가 2인지 여부가 판정된다. I/O 카운트가 2이고, 단계(806)에서 판정된 바와 같이 로우 카운트가 1인 경우, 단계(812)에서 로우 카운트가 증분되며 I/O 카운트는 3으로 설정된다. 그러나, 단계(806)에서 로우 카운트가 1이 아닐 경우, 단계(818)에서 I/O 카운트만이 증가된다.
단계(808 및 814)에서 I/O 일치가 발견되지 않는 경우 또는 단계(810 및 816)에서 I/O 카운트가 2가 아닐 경우, 그리고 단계(806)에서 로우 카운트가 1일 경우, 단계(822)에서 로우 카운트만이 증가된다. 그러나, 단계(806)에서 로우 카운트가 1이 아닐 경우, 단계(820)에서 아무런 처리가 행해지지 않는다.
단계(804)에서 로우 일치가 존재하지 않을 경우, 루틴은 단계(838)에서 로우 갱신 테이블이 채워져 있는지 여부를 결정한다. 로우 테이블이 채워져 있지 않은 경우, 단계(824)에서 I/O 어드레스 일치를 위해 I/O 갱신 테이블을 조사한다. I/O 어드레스 일치가 발견될 경우, 단계(826)에서 I/O 카운트가 검사된다. I/O 카운트가 2(이 예에서 스페어 로우의 개수)보다 클 경우, 단계(828)에서 I/O 카운트는 3으로 설정되며 그렇지 않을 경우 단계(830)에서 새로운 로우 엔트리가 추가되며 대응하는 I/O 카운트가 증가된다. 단계(824)에서 I/O 일치가 발견되지 않을 경우, 단계(832)에서 I/O 테이블이 채워져 있는지 여부에 대한 판정이 행해진다. 테이블이 채워져 있는 경우, 단계(834)에서 검사되는 메모리 코어가 수리가능하지 않은 것으로 표시되며, 그렇지 않을 경우 단계(836)에서 새로운 로우 및 I/O 테이블 엔트리 모두가 만들어진다.
단계(838)에서 로우 테이블이 채워져 있는 것으로 발견될 경우, 루틴은 단계(840)에서 대응하는 I/O 어드레스 일치를 찾는다. 일치가 발견되지 않을 경우, 단계(834)에서 메모리 코어가 다시 수리가능하지 않은 것으로 태그가 붙여진다. I/O 일치가 발견될 경우, 단계(842)에서 대응하는 에러 카운트가 검사된다. 에러 I/O 에러 카운트가 1일 경우, 메모리 코어는 수리가능하지 않은 것으로 태그가 붙여지는데, 그 이유는 로우 갱신 테이블에서 이용가능한 부가적인 스페이스가 더 이상 존재하지 않기 때문이다. 그러나, 단계(842)에서 I/O 카운트가 1일 경우, I/O 카운트는 3으로 설정된다. 각 테이블 갱신이 완료된 후, 제어는 단계(846)에서 도 7에 도시된 메인 에러 처리 루틴으로 돌아간다.
도 9는 2 이상의 메모리 셀 에러가 검출될 때의 에러 처리에 대한 예시적인 루틴을 도시한 흐름도이다. 또한, 이 도면에 도시된 몇몇 단계들은, 하나의 스페어 컬럼(또는 I/O) 및 두 개의 스페어 로우를 갖는 용장 회로를 포함하는 실례에 특정된 것이다. 전술한 바와 같이, 이 도면에 나타낸 일반적인 개념은, 임의의 개수의 스페어 로우 및 컬럼을 갖는 용장 회로에도 확장될 수 있다.
이 루틴은, 예를 들어 도 7에 도시된 상위 레벨 처리의 단계(718)로부터 호출되는 단계(902)에서 시작된다. 단계(904)에서 로우 갱신 테이블이 검사된다. 로우 일치가 발견될 경우, 단계(906)에서 로우 에러 카운트가 2로 설정된다. 그러나, 로우 일치가 발견되지 않을 경우, 단계(908)에서 로우 갱신 테이블이 채워져 있는지 여부에 대한 판정이 행해진다. 테이블이 채워져 있는 경우, 단계(910)에서 테스트될 메모리 코어는 수리가능하지 않은 것으로 태그가 붙여진다. 단계(908)에서 테이블이 채워져 있지 않은 경우, 3으로 설정된 컬럼 ID 값을 갖는 새로운 로우 테이블 엔트리가 만들어지며 에러 카운트가 2로 설정된다. 제어는 단계(914)에서 도 7에 도시된 메인 에러 처리 루틴으로 돌아간다.
에러 테이블 크기의 계산
전술한 바로부터 모든 수리가능한(일부는 수리가능하지 않은) 에러 패턴이 일치하도록 에러 테이블이 사이즈화되는 것을 상기하기로 하자. 이하에서는 에러 테이블의 크기가 이러한 결과를 달성하도록 계산될 수 있는 방법에 대해 기술하기로 한다. 도 10은 R 로우 및 C 컬럼을 갖는 메모리 서브 블럭을 도시한 도면이다. 서브 블럭은 분석 블럭 내의 고장 메모리 셀을 수리하기 위한 스페어 컬럼 SC 및 스페어 로우 SR를 포함한다.
전술한 바와 같이, 분석 블럭 내에 포함된 각 서브블럭에 대해 개별적인 에 러 저장 테이블이 요구된다. 도 3a 및 3b는 에러 테이블의 로우 갱신 및 컬럼(또는 I/O) 갱신 부분을 각각 도시한 도면이다. 테이블 엔트리의 포맷에는 어드레스/에러 카운트 쌍이 포함된다. 최상의 스페어를 갖는 갱신 테이블(또는 로우 또는 컬럼) 내에 부가적인 ID 엔트리가 포함된다. 이 ID 엔트리는 에러 저장 테이블의 로우 및 컬럼 부분간의 링크를 제공한다.
이하의 수식은 로우 및 컬럼 갱신 테이블에서의 카운트/어드레스 쌍의 크기를 계산하는 데에 사용될 수도 있다.
Figure 112008077701048-PAT00001
여기서, SC는 스페어 컬럼(또는 I/O)의 수, R은 서브 블럭 내의 로우의 수, SR은 스페어 로우의 수, C는 서브 블럭 내의 컬럼의 수이다.
링크 ID의 값 및 요구된 링크 ID의 수 NID는 이하의 수식을 이용하여 계산될 수 있다.
Figure 112008077701048-PAT00002
여기서, CE는 컬럼(또는 I/O) 엔트리 수=SR*(SC+1)이며, RE는 로우 엔트리 수 =SC*(SR+1)이며, NID는 링크 ID의 수이다.
*위의 식을 이용하여, 에러 저장 테이블의 크기가 이하와 같이 계산될 수 있다.
Figure 112008077701048-PAT00003
실례를 기술하는 데에 있어서의 편리를 위해 특정 용어들이 사용되었지만, 이들은 본 명세서에 기술된 일반적인 개념들을 제한하는 데에 사용되어서는 안된다. 예를 들면, 메모리의 "로우" 또는 "컬럼" 부분 혹은 메모리 스페어 유형에 대한 임의의 특정 용어는 이들 메모리의 부분 또는 메모리 스페어의 유형을 포함하도록 해석될 수 있다. 메모리 스페어의 경우, 메모리 스페어의 하나의 유형이 소정의 메모리 셀 위치를 수리하도록 사용되지 않을 경우 메모리 스페어의 다른 상보적 유형이 그 위치를 수리하는 데에 사용될 수도 있다는 점에서 특정 용어는 메모리 스페어의 상보적 유형을 나타낸다. 또한, "셀" 또는 "메모리 셀"이라는 용어는 메모리 내의 하나 이상의 메모리 셀 또는 위치를 나타내는 것으로 해석될 수 있다.
여러 실시예들과 관련하여 여러 양태들이 개시되었다. 이들 실시예들의 이해를 돕기 위해, 컴퓨터 시스템 또는 마이크로콘트롤러의 엘리먼트에 의해 수행될 수도 있는 일련의 작용 면에서 많은 양태들이 개시되었다. 예를 들면, 각 실시예에서 하나 이상의 프로세서 또는 이들 프로세서들의 결합에 의해 실행되는 프로그 램 명령어에 의해 전문화된 회로(예를 들면, 전문화된 기능을 수행하도록 상호접속되는 이산 논리 게이트)에 의해 여러 작용들이 수행될 수도 있다.
또한, 예시적인 실시예들은, 본 명세서에 개시된 기술들을 프로세서가 수행하도록 하는 적절한 컴퓨터 명령어 세트를 저장하고 있는 임의의 형태의 컴퓨터 판독가능한 저장 매체의 일부로서 고려될 수 있다. 따라서, 여러 실시예들이 다른 많은 형태로 구현될 수 있으며, 이러한 모든 형태는 지금까지 기술된 본 발명의 범주 내에 있는 것으로 여겨진다. 여러 형태들 각각에 대해, 본 명세서에서 이러한 실시예의 임의의 형태는 기술된 작용을 수행하도록 "구성된 로직", 또는 이와 달리 기술된 작용을 수행하는 "로직"으로서 지칭될 수 있다.
여러 예시적인 실시예들이 기술되었지만, 본 기술분야에 통상의 지식을 가진 자라면 이들 실시예들은 단지 예시를 위한 것이며 다른 많은 실시예들이 가능함을 알 것이다. 본 발명이 의도하는 범주는 전술한 설명이 아니라 이하의 특허청구범위에 의해 정의되며, 특허청구범위 내에 해당되는 모든 변형들은 본 명세서에 포함된다.
도 1은 일반적인 에러 저장 결정 챠트를 나타내는 도면.
도 2a 및 2b는 검출된 메모리 셀 고장을 유효 메모리 스페어를 이용하여 수리하는 것을 설명하기 위한 도면.
도 3a 및 3b는 에러 저장 테이블의 로우 및 컬럼 부분을 나타내는 도면.
도 4a 및 4b는 다수의 검출된 고장 메모리 위치를 가진 메모리의 예시적인 부분을 나타내는 도면.
도 5a, 5b 및 5c는 도 4a 및 4b에 도시된 메모리의 예시적인 부분에 대한 에러 저장 프로세스의 여러 단계를 나타내는 도면.
도 6은 도 4a 및 4b에 도시된 메모리의 예시적인 부분의 수리를 설명하기 위한 도면.
도 7은 에러 저장 프로세스의 예시적인 실시예를 나타내는 상위 레벨 흐름도.
도 8은 하나의 메모리 셀 에러만이 검출된 경우에 에러를 처리하기 위한 예시적인 루틴의 흐름도.
도 9는 둘 이상의 메모리 셀 에러가 검출된 경우에 에러를 처리하기 위한 예시적인 루틴의 흐름도.
도 10은 R 로우 및 C 컬럼을 가진 메모리의 일부를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
102 : 수직 챠트 헤더
104 : 수평 챠트 헤더
106 : 판정 챠트내의 블럭
108 : 블럭 엔트리
110 : 좌측 셀 엔트리
112 : 우측 셀 엔트리

Claims (7)

  1. 메모리 내의 고장 셀(failed cell)들의 위치를 식별하는 정보를 저장하는 방법으로서,
    상기 메모리의 로우(row)와 컬럼(column)에 각각 관련된 한 쌍의 테이블을 생성하는 단계 - 상기 한 쌍의 테이블의 각각은 관련된 로우나 컬럼의 어드레스를 위한 필드 및 상기 어드레스에 대한 에러 카운트를 위한 필드, 및 하나의 테이블 내의 어드레스를 나머지 하나의 테이블 내의 어드레스에 링크하는 링크 정보를 포함함 - 와,
    고장 메모리 셀을 검출하게 되면, 메모리 로우에 관련된 테이블 내에 카운트 값과 상기 고장 메모리 셀의 로우 어드레스를 저장하고, 메모리 컬럼에 관련된 엔트리로서 카운트 값과 상기 고장 메모리 셀의 컬럼 어드레스를 저장하고, 상기 한 쌍의 테이블 중 적어도 하나의 테이블 내에, 상기 하나의 테이블 내에 저장된 엔트리를 상기 나머지 하나의 테이블 내에 저장된 엔트리에 링크하는 정보를 저장하는 단계와,
    추가 고장 메모리 셀을 검출하게 되면, 상기 한 쌍의 테이블을 체크하여 상기 추가 고장 메모리 셀의 로우 어드레스와 컬럼 어드레스가 상기 한 쌍의 테이블에 각각 저장되어 있는지 여부를 검출하고, 검출한 각 어드레스에 대하여, 상기 검출한 어드레스에 대응하는 상기 카운트 값을 증분시키는 단계
    를 포함하는 고장 셀의 위치를 식별하는 정보를 저장하는 방법.
  2. 제1항에 있어서,
    상기 메모리는 수리(repair) 할당을 위해 셀들의 하나 이상의 스페어 로우와 셀들의 하나 이상의 스페어 컬럼을 갖고,
    상기 로우에 관련된 테이블은 SR*(SC+1)과 동일한 엔트리의 최대 개수를 갖고, 상기 컬럼에 관련된 테이블은 SC*(SR+1)과 동일한 엔트리의 최대 개수를 갖고,
    여기서, SR은 셀들의 스페어 로우의 개수이고, SC는 셀들의 스페어 컬럼의 개수인 고장 셀의 위치를 식별하는 정보를 저장하는 방법.
  3. 제2항에 있어서,
    상기 로우나 컬럼 테이블 내의 증분된 카운트 값이 각각 할당가능 스페어 컬럼이나 로우의 개수를 초과하는지 여부를 결정하고, 초과한다면, 초과하는 카운트 값에 대응하는 어드레스에서, 상기 로우나 컬럼을 스페어 로우나 스페어 컬럼 중 하나에 의해 수리될 것으로 각각 지정하는 단계를 더 포함하는 고장 셀의 위치를 식별하는 정보를 저장하는 방법.
  4. 제3항에 있어서,
    상기 수리될 것으로 지정할 로우나 컬럼이 없다면, 상기 추가 고장 셀이 위치하고 있는 어드레스를 위한 나머지 테이블에 엔트리를 추가하는 고장 셀의 위치 를 식별하는 정보를 저장하는 방법.
  5. 제4항에 있어서,
    추가 에러를 검출하면, 상기 추가 고장 셀이 엔트리의 최대 개수를 이미 포함하고 있는 테이블 내의 엔트리를 요구하는지 여부를 결정하고, 요구한다면, 상기 메모리를 수리불가(unrepairable)로 지정하는 단계를 더 포함하는 고장 셀의 위치를 식별하는 정보를 저장하는 방법.
  6. 로우와 컬럼으로 배치된 메모리 셀들을 갖고 수리 할당을 위해 셀들의 적어도 하나의 스페어 로우와 셀들의 적어도 하나의 스페어 컬럼을 갖고 고장 메모리 셀에 관한 정보를 더 갖는 메모리 장치로서,
    상기 메모리 셀의 로우에 관련되고, 각각이 고장 셀을 포함하는 로우의 어드레스와 상기 로우 내의 고장 셀의 개수를 식별하는 하나 이상의 엔트리를 내부에 저장한 제1 테이블과,
    상기 메모리 셀의 컬럼에 관련되고, 각각이 고장 셀을 포함하는 컬럼의 어드레스와 상기 컬럼 내의 고장 셀의 개수를 식별하는 하나 이상의 엔트리를 내부에 저장한 제2 테이블을 포함하고,
    상기 제1 테이블과 상기 제2 테이블 중 적어도 하나는, 상기 테이블 내의 각 엔트리를 나머지 테이블 내의 대응하는 엔트리에 링크하는 정보를 포함하는 메모리 장치.
  7. 제6항에 있어서,
    상기 제1 테이블은 SR*(SC+1)과 동일한 엔트리의 최대 개수를 갖고, 여기서 SR은 셀들의 스페어 로우의 개수이고, SC는 셀들의 스페어 컬럼의 개수인 메모리 장치.
KR1020080111202A 2001-06-08 2008-11-10 고장 셀의 위치를 식별하는 정보를 저장하는 방법 및 메모리 장치 KR20080110710A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29678901P 2001-06-08 2001-06-08
US60/296,789 2001-06-08
US10/160,640 US7178072B2 (en) 2001-06-08 2002-05-31 Methods and apparatus for storing memory test information
US10/160,640 2002-05-31

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020020032161A Division KR20020093642A (ko) 2001-06-08 2002-06-08 메모리 테스트 정보를 저장하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20080110710A true KR20080110710A (ko) 2008-12-19

Family

ID=26857078

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020020032161A KR20020093642A (ko) 2001-06-08 2002-06-08 메모리 테스트 정보를 저장하기 위한 방법 및 장치
KR1020080111202A KR20080110710A (ko) 2001-06-08 2008-11-10 고장 셀의 위치를 식별하는 정보를 저장하는 방법 및 메모리 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020020032161A KR20020093642A (ko) 2001-06-08 2002-06-08 메모리 테스트 정보를 저장하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US7178072B2 (ko)
JP (1) JP3878062B2 (ko)
KR (2) KR20020093642A (ko)
CN (1) CN100458743C (ko)
DE (1) DE10225381A1 (ko)
TW (1) TW561490B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101133689B1 (ko) * 2010-11-23 2012-04-24 에스케이하이닉스 주식회사 리페어 분석 장치 및 방법
US8432758B2 (en) 2010-11-23 2013-04-30 Hynix Semiconductor Inc. Device and method for storing error information of memory
US9779838B2 (en) 2014-08-28 2017-10-03 Research & Business Foundation Sungkyunkwan University Method of improving error checking and correction performance of memory

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196687A1 (en) * 2001-06-08 2002-12-26 Sauvageau Anthony J. Methods and apparatus for analyzing and repairing memory
US6968479B2 (en) * 2002-03-06 2005-11-22 Hewlett-Packard Development Company, L.P. Verifying data in a data storage device
US7734966B1 (en) * 2002-12-26 2010-06-08 Marvell International Ltd. Method and system for memory testing and test data reporting during memory testing
DE60320745D1 (de) * 2003-02-12 2008-06-19 Infineon Technologies Ag Verfahren und MBISR (Memory Built-In Self Repair) zum Reparieren eines Speichers
US6937531B2 (en) * 2003-07-21 2005-08-30 Infineon Technologies Ag Memory device and method of storing fail addresses of a memory cell
KR100684471B1 (ko) * 2005-02-25 2007-02-22 장훈 내장 에스램의 자체 복구 방법 및 장치
US7774643B2 (en) * 2006-01-06 2010-08-10 Dot Hill Systems Corporation Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US8612797B2 (en) * 2006-03-31 2013-12-17 Hewlett-Packard Development Company, L.P. Systems and methods of selectively managing errors in memory modules
US7966518B2 (en) * 2007-05-15 2011-06-21 Sandisk Corporation Method for repairing a neighborhood of rows in a memory array using a patch table
US7958390B2 (en) * 2007-05-15 2011-06-07 Sandisk Corporation Memory device for repairing a neighborhood of rows in a memory array using a patch table
JP5319387B2 (ja) * 2009-05-13 2013-10-16 ルネサスエレクトロニクス株式会社 半導体チップの救済設計方法
CN101866307A (zh) * 2010-06-24 2010-10-20 杭州华三通信技术有限公司 一种基于镜像技术的数据存储方法及装置
GB2506041A (en) 2011-06-30 2014-03-19 Hewlett Packard Development Co A memory module that includes a memory module copy engine for copying data from an active memory die to a spare memory die
KR101373668B1 (ko) * 2012-06-22 2014-03-13 연세대학교 산학협력단 메모리 수리 장치 및 방법
TWI545582B (zh) * 2013-11-15 2016-08-11 慧榮科技股份有限公司 存取快閃記憶體中儲存單元的方法以及使用該方法的裝置
WO2016032784A1 (en) * 2014-08-25 2016-03-03 Rambus Inc. Buffer circuit with adaptive repair capability
KR101545716B1 (ko) 2015-01-19 2015-08-20 연세대학교 산학협력단 메모리 수리 장치 및 방법, 그리고 그를 이용한 메모리 칩
KR102487553B1 (ko) * 2016-12-07 2023-01-11 삼성전자주식회사 리페어 가능한 휘발성 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10452468B2 (en) 2016-12-30 2019-10-22 Western Digital Technologies, Inc. Method and system for managing non-volatile memory
US11380415B2 (en) * 2020-02-27 2022-07-05 Taiwan Semiconductor Manufacturing Company, Ltd. Dynamic error monitor and repair
DE102020134945A1 (de) * 2020-02-27 2021-09-02 Taiwan Semiconductor Manufacturing Co., Ltd. Dynamische fehlerüberwachung und -reparatur
EP3985675B1 (en) 2020-08-18 2024-01-31 Changxin Memory Technologies, Inc. Method and device for repairing fail bits
US11791010B2 (en) 2020-08-18 2023-10-17 Changxin Memory Technologies, Inc. Method and device for fail bit repairing
US11887685B2 (en) 2020-08-18 2024-01-30 Changxin Memory Technologies, Inc. Fail Bit repair method and device
US11797371B2 (en) 2020-08-18 2023-10-24 Changxin Memory Technologies, Inc. Method and device for determining fail bit repair scheme
US11984179B2 (en) 2021-03-26 2024-05-14 Changxin Memory Technologies, Inc. Redundant circuit assigning method and device, and medium
CN112885398B (zh) * 2021-03-26 2022-05-24 长鑫存储技术有限公司 备用电路分派方法、装置、设备及介质
US11881278B2 (en) 2021-03-31 2024-01-23 Changxin Memory Technologies, Inc. Redundant circuit assigning method and device, apparatus and medium
US11791012B2 (en) 2021-03-31 2023-10-17 Changxin Memory Technologies, Inc. Standby circuit dispatch method, apparatus, device and medium
CN113835970B (zh) * 2021-10-09 2022-05-10 南阳理工学院 一种计算机存储器优化装置及其优化方法
US20230229560A1 (en) * 2022-01-19 2023-07-20 Micron Technology, Inc. Method and system for off-line repairing and subsequent reintegration in a system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US164513A (en) * 1875-06-15 Improvement in sad-iron heaters
JPH10222999A (ja) 1997-02-03 1998-08-21 Fujitsu Ltd 半導体試験方法及び装置
US6032264A (en) * 1997-04-22 2000-02-29 Micron Technology, Inc. Apparatus and method implementing repairs on a memory device
US6011734A (en) * 1998-03-12 2000-01-04 Motorola, Inc. Fuseless memory repair system and method of operation
JP2000348498A (ja) 1999-06-08 2000-12-15 Mitsubishi Electric Corp 半導体試験装置
JP2001006388A (ja) * 1999-06-23 2001-01-12 Toshiba Corp 冗長回路内蔵半導体記憶装置
JP2001043698A (ja) 1999-08-03 2001-02-16 Hitachi Ltd 内蔵メモリアレイの自己検査回路および自己検査方法
KR100354437B1 (ko) * 2000-01-28 2002-09-28 삼성전자 주식회사 내장 메모리를 위한 자기 복구 회로를 구비하는 집적회로반도체 장치 및 메모리 복구 방법
US6795942B1 (en) * 2000-07-06 2004-09-21 Lsi Logic Corporation Built-in redundancy analysis for memories with row and column repair

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101133689B1 (ko) * 2010-11-23 2012-04-24 에스케이하이닉스 주식회사 리페어 분석 장치 및 방법
US8432758B2 (en) 2010-11-23 2013-04-30 Hynix Semiconductor Inc. Device and method for storing error information of memory
US8601330B2 (en) 2010-11-23 2013-12-03 Hynix Semiconductor Inc. Device and method for repair analysis
US9779838B2 (en) 2014-08-28 2017-10-03 Research & Business Foundation Sungkyunkwan University Method of improving error checking and correction performance of memory

Also Published As

Publication number Publication date
JP2003059292A (ja) 2003-02-28
US20030005353A1 (en) 2003-01-02
CN100458743C (zh) 2009-02-04
US7178072B2 (en) 2007-02-13
TW561490B (en) 2003-11-11
KR20020093642A (ko) 2002-12-16
DE10225381A1 (de) 2003-02-13
CN1409323A (zh) 2003-04-09
JP3878062B2 (ja) 2007-02-07

Similar Documents

Publication Publication Date Title
KR20080110710A (ko) 고장 셀의 위치를 식별하는 정보를 저장하는 방법 및 메모리 장치
US7127647B1 (en) Apparatus, method, and system to allocate redundant components
US6574757B1 (en) Integrated circuit semiconductor device having built-in self-repair circuit for embedded memory and method for repairing the memory
US7237154B1 (en) Apparatus and method to generate a repair signature
US8037376B2 (en) On-chip failure analysis circuit and on-chip failure analysis method
US7490274B2 (en) Method and apparatus for masking known fails during memory tests readouts
TWI441189B (zh) 用於改良冗餘分析之記憶體裝置故障彙總資料縮減技術
KR101133689B1 (ko) 리페어 분석 장치 및 방법
KR101373668B1 (ko) 메모리 수리 장치 및 방법
US7644323B2 (en) Method and apparatus of build-in self-diagnosis and repair in a memory with syndrome identification
US6247153B1 (en) Method and apparatus for testing semiconductor memory device having a plurality of memory banks
KR101545716B1 (ko) 메모리 수리 장치 및 방법, 그리고 그를 이용한 메모리 칩
US20020196687A1 (en) Methods and apparatus for analyzing and repairing memory
US20050066226A1 (en) Redundant memory self-test
US6711705B1 (en) Method of analyzing a relief of failure cell in a memory and memory testing apparatus having a failure relief analyzer using the method
KR20030085466A (ko) 반도체 집적 회로 장치
US20100313081A1 (en) Cache memory, processor, and production methods for cache memory and processor
US7257733B2 (en) Memory repair circuit and method
US9372771B1 (en) Method of grouping embedded memories for testing
US20070118778A1 (en) Method and/or apparatus to detect and handle defects in a memory
US7904766B1 (en) Statistical yield of a system-on-a-chip
CN114203244A (zh) 存储器测试电路
JPS62262162A (ja) 半導体メモリ装置の欠陥救済方法
JPH1186594A (ja) 半導体メモリ試験装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid