KR20030020957A - 메모리를 분석하고 복구하기 위한 방법 및 장치 - Google Patents

메모리를 분석하고 복구하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20030020957A
KR20030020957A KR10-2003-7001467A KR20037001467A KR20030020957A KR 20030020957 A KR20030020957 A KR 20030020957A KR 20037001467 A KR20037001467 A KR 20037001467A KR 20030020957 A KR20030020957 A KR 20030020957A
Authority
KR
South Korea
Prior art keywords
memory
recovered
row
error
column
Prior art date
Application number
KR10-2003-7001467A
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 KR20030020957A publication Critical patent/KR20030020957A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • 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
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme

Landscapes

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

Abstract

메모리를 분석하고 복구하는 방법 및 장치가 제공된다. 본 방법은 적어도 메모리의 일부에서 검출된 고장 메모리 셀이 복수의 유형의 메모리 여유분 중 하나만을 사용하여 복구되어야 하는지 또는 임의의 유형의 메모리 여유분을 사용하여 복구될 수 있는지를 판정하는 단계(302, 304, 306)를 포함한다. 복수의 유형의 메모리 여유분 중 하나만을 사용하여 복구되어야 하는 고장 메모리 셀은 복구되어야 하는 복구되는 새로운 에러가 없고 스킵되는 고장 메모리 셀이 없거나 메모리가 복구가능하지 않다고 판정될 때까지 복수의 유형의 메모리 여유분 중 임의의 유형을 사용하여 복구될 수 있는 모든 고장 메모리 셀을 스킵하여 반복적으로 복구된다(308).

Description

메모리를 분석하고 복구하기 위한 방법 및 장치{METHODS AND APPARATUS FOR ANALYZING AND REPAIRING MEMORY}
가장 일반적인 의미에서, 메모리는 다수의 로우(M) 및 다수의 컬럼(N)을 갖는 메모리 셀의 2차원 어레이로서 정의될 수 있다. 로우와 컬럼의 각 교차 지점은 저장된 정보의 한 출력 비트를 생성한다. 종종 임의의 주어진 시점에 메모리로부터 출력된 정보의 한 비트 이상을 갖는 것이 바람직하다. 이를 달성하기 위한 2가지 방법은 추가적인 출력 비트를 제공하도록 전체 어레이 구조를 복사하거나, 여러 부분으로 어레이의 한 차원(예를 들면, M 또는 N 차원에서)을 분할하여 각 부분이 메모리 어레이가 액세스될 때마다 하나의 출력 비트를 제공하게 하는 것이다.
3가지 변수 R, C 및 I/O는 분할부(RxCxIO로 통상 지칭)를 설명하기 위해 사용될 수 있다. R 및 C는 각기 어레이의 로우의 수와 컬럼의 수를 나타내고 어레이로의 입력으로서 기능할 수 있다. I/O 변수는 어레이의 로우와 컬럼의 "교차 지점"으로부터 출력된 비트의 수를 나타낼 수 있다. 실제로, I/O 비트는 어레이의단일 로우 및 컬럼의 교차지점에서 형성되지 않는다. 대신에, I/O 비트는 동시에 액세스되는 어레이의 단일 로우 및 다수의 컬럼의 교차 지점의 집합 또는 동시에 액세스되는 어레이의 단일 컬럼과 다수의 로우의 교차 지점의 집합에 의해 형성된다. I/O 비트가 어떻게 형성되는지는 로우 또는 컬럼이 분할되어 어레이에 대한 다중 I/O를 생성하는지에 달려있다.
종래의 메모리 어레이는 대개 메모리의 제조 수율을 증가시키기 위해 고장 메모리 셀을 대체하기 위해 사용되는 리던던트 메모리 셀을 포함한다. 메모리가 일반적으로 로우와 컬럼의 2차원 어레이로 정의될 수 있으므로, 여유분 로우와 여유분 컬럼(또는 여유분 I/O)의 2차원 그룹으로서 리던던트 셀을 정의하는 것이 편리하다. 여유분 로우 및 컬럼(또는 여유분 I/O)의 수 및 그 구성은 다양하나, 통상적으로 메모리 어레이는 여유분 로우와 컬럼의 그룹 또는 여유분 로우와 I/O의 그룹을 갖도록 배열될 것이다.
여유분 로우는 메모리의 단일 로우 주소와 관련된 다수의 컬럼 및 I/O를 동시에 대체할 수 있다. 마찬가지로, 여유분 컬럼은, 존재한다면, 메모리의 단일 컬럼 주소와 관련된 다수의 로우를 대체할 수 있다. 여유분 I/O는, 존재한다면, 메모리의 특정 I/O 비트와 관련된 다수의 컬럼을 동시에 대체할 수 있다. 통상적으로, I/O는 메모리 어레이의 로우 또는 컬럼과 동일한 방향으로 배향되므로, 고장 메모리 셀을 대체할 목적으로 동일한 방향으로 배향된 여유분과 동일한 유형으로 처리될 수 있다.
종래의 메모리 검사는 메모리 어레이의 모든 고장 메모리 주소의 식별 및 그메모리 주소의 어느 비트가 고장인지의 식별하는 것을 모두 포함한다. 통상의 메모리 검사는 다양한 데이타 패턴을 메모리로 기록하고 메모리의 출력과 기대값 또는 패턴을 판독 및 비교하는 것을 포함한다. 기대값과 실제 판독 메모리 값과의 불일치는 통상 메모리 검사기 자체에 위치한 외부 메모리 맵에 저장된다.
모든 검사 패턴이 실행되고 고장 주소(및 비트)가 식별되고 저장된 후, 검사기는 어느 고장 주소 로우 및/또는 컬럼(또는 I/O)의 비트(또는 셀)를 메모리를 완전히 동작가능하게 하기 위해서 사용가능한 여유분 메모리 셀로 대체하여야 할지를 판정하기 위해서, 저장된 에러 데이타에 대한 복구 분석을 수행할 수 있다. 고장 메모리 정보는 모든 메모리 검사의 종료시 통상적으로 분석된다. 이는, 메모리 동작을 최대화하고 리던던트 메모리 셀을 가장 효율적인 방식으로 사용하는 최적의 복구 구성을 결정하기 위해서 복구 루틴이 모든 고장 메모리 정보를 고려할 수 있게 한다. 또한, 모든 고장 메모리 정보를 한번에 고려할 수 있게 되어, 복구불가 상황에 대한 고가의 검사 및 복구 시간을 소모하기 전에 소정의 복구불가 메모리 상황이 조기에 식별될 수 있고, 메모리가 제거된다.
대부분의 종래의 검사기와 관련된 제한은 복구 정보가 동적으로 생성되고 사용될 것이 요구된다는 것이다. 이는 리던던트 메모리 셀을 비효율적으로 사용함으로써 전반적인 메모리 수율을 감소시킬 수 있다. 이러한 제한은 또한 보다 신속하고 밀도 있는 메모리의 개발에서 메모리 검사에 비용과 시간이 보다 많이 들게 만들었다.
예를 들면, 종래의 메모리 검사기는 검사에 사용되는 메모리 셀의 동작 주파수보다 통상적으로 상대적으로 느린 처리 클럭 속도를 갖는다. 상대적으로 느린 클럭 속도는 검사 중인 메모리가 정상 동작 속도에서 바르게 동작할 지를 판정하는 것이 불가능하게 한다. 또한, 정상 동작 속도에서의 에러 정보 수집은 이러한 느린 종래의 검사기로는 불가능하다. 결국, 검사기는 "오프라인"에서 실행되는 복구 루틴에서 대량의 에러 데이타를 저장하고 이 대량의 데이타를 분석할 수 있어야 한다. 종래의 검사기에서, 에러 메모리는 고장 비트의 총 기대 개수만큼 이어야 한다. 더욱이, 메모리 밀도가 계속 증가하면서, 이미 제한된 검사기 메모리도 증가하고 검사기의 처리력은 보다 복잡한 복구 루틴 해결책을 처리할 수 있도록 증가되어야 한다.
종래의 검사기와 관련된 또다른 제한은 전형적으로 제한된 I/O 용량이다. 메모리 밀도가 높아지면서, 메모리를 검사하기 위해 필요한 I/O의 수도 증가하여야 한다. I/O가 제한된 검사기는 전체 메모리를 한번에 검사할 수 없을 것이고, 검사 프로그램은 다수의 보다 작은 검사로 분할되어야 할 것이다. 메모리 검사 분할은 검사 시간을 전체적으로 증가시켜, 이는 메모리 제조와 관련된 비용을 상당히 증가시킬 것이다.
메모리 설계자는 이러한 문제의 일부를 해결하기 위해서 내장 자체 검사(즉 BIST: built-in-self-test) 기술을 사용하여 왔다. BIST를 사용하여, 메모리 검사기를 위한 패턴 생성기는 메모리 자체와 같이 동일한 반도체 칩 상에 제조된다. 이는 BIST 회로가 "속도"있게 메모리를 검사할 수 있게 하여, 서브 동작 속도에서 메모리를 검사하는 결과와 같은 에러 검출을 실패하는 문제를 제거한다. 또한,BIST 회로는 I/O 제한된 오늘날 검사기에 관련된 문제들을 해결한다.
여전히, 종래의 BIST 기술과 관련한 제한들이 존재한다. 예를 들면, 대량의 에러 메모리는 고장 메모리 정보를 저장하기 위해서 BIST 회로와 여전히 결합해야 한다. 또한, 추가적인 저장 및 처리기 자원은 복구 루틴 처리를 수행하기 위해서 메모리와 결합되어야 한다. 공간 및 처리기의 한계로, 에러 저장 및 복구 코드의 제한된 양만이 BIST 설계로 집적될 수 있다. 결국, 종래의 BIST 기술은 고정 메모리 위치를 검출하기 위해 "스냅샷 방법"을 계속 사용한다. 상술한 것처럼, 이는 복구 루틴이 고장 메모리 정보를 "동작이 멈추기 전에" 처리할 것을 요구하여, 메모리 칩 상에 포함된 리던던트 메모리 셀의 비효율적 사용을 야기한다.
그러므로, 복구 루틴의 복잡도를 훨씬 단순한 태스크로 감소시키고 메모리 검사기 상에 놓인 에러 저장 요구사항을 완화시킬 개선된 메모리 분석 및 복구 기술이 요구되고 있다.
본 발명은 메모리를 분석하고 복구하기 위한 방법 및 장치에 관한 것이다. 구체적으로, 본 발명은 리던던트 메모리 회로를 갖는 메모리의 고장 메모리 셀을 분석하고 복구하기 위한 방법 및 장치에 관한 것이다.
도 1은 리던던트 회로가 있는 예시적인 메모리 어레이의 도면.
도 2는 도 1에 도시된 예시적인 메모리 어레이의 일부를 도시하고, 분석 블럭으로 지칭된 메모리의 일부를 도시하는 도면.
도 3은 예시적인 복구 분석 루틴의 흐름도.
도 4A 및 4B는 도 3에 도시된 복구 분석 루틴에 의해 생성된 정보를 처리하기 위한 예시적인 복구 루틴의 흐름도.
따라서, 본 발명의 목적은 동시에 메모리의 수 개의 보다 작은 부분을 효율적으로 복구할 수 있는 복잡도가 감소된 메모리 분석 및 복구 기술을 제공하는 것이다. 다른 목적은 효율적인 방식으로 모든 고장 메모리 정보의 온칩 저장을 가능하게 하는 메모리 분석 및 복구 기술을 제공하는 것이다. 다른 목적은 모든 고장 메모리 정보에 대한 복구 정보의 빠른 분석 및 생성을 제공하는 것이다. 또다른 목적은 다수의 I/O를 구비한 메모리의 검사를 지원하는 것이다. 또다른 목적은 복구 루틴의 실행에서 조기에 소정의 복구불가 메모리 고장 상황을 검출하는 것이다.이러한 목적들은 메모리의 고장 메모리 셀을 분석하고 복구하기 위한 방법 및 장치에 의해 해결된다.
일양태에 따르면, 메모리를 분석하고 복구하는 방법은 메모리의 적어도 일부에서 검출된 고장 메모리 셀이 복수의 유형의 메모리 여유분 중 하나의 유형만을 사용하여 복구되어야 하는지 또는 상기 복수의 유형의 메모리 여유분 중 임의의 유형을 사용하여 복구될 수 있는 지를 판정하는 단계를 포함한다. 복구되어야 하는 새로운 에러가 복구되지 않고 스킵되는 고장 메모리 셀이 없거나 상기 메모리가 복구가능하지 않다고 판정될 때까지, 상기 복수의 유형의 메모리 여유분 중 하나의 유형만을 사용하여 복구되어야 하는 고장 메모리 셀은 반복적으로 복구되고, 상기 복수의 유형의 메모리 여유분 중 임의의 유형을 사용하여 복구될 수 있는 모든 고장 메모리 셀은 스킵된다. 복구되어야 하는 고장 메모리를 복구할 때 모든 스킵된 고장 메모리 셀의 적어도 하나가 복구된다. 적어도 하나의 스킵된 고장 메모리 셀이 복구될 때마다, 고장 메모리 셀이 복구되어야 하는지를 판정하는 단계 및 복구되어야 하는 고장 메모리 셀을 반복적으로 복구하는 단계가 반복된다.
관련 양태에 따르면, 상기 복수의 유형의 메모리 여유분 중 제1 유형은 메모리의 로우 및 컬럼 부분 중 하나를 복구할 수 있고, 상기 복수의 유형의 메모리 여유분 중 제2 상보적 유형은 메모리의 로우 및 컬럼 부분 중 다른 하나를 복구할 수 있다.
다른 관련 양태에 따르면, 복구되어야 하는 고장 메모리 셀은 사용가능한 상보적 유형의 메모리 여유분의 수를 초과하는 고장 메모리 셀의 총 수를 갖는 메모리의 개별 로우 또는 컬럼 부분에 고장 메모리 셀을 포함한다.
또다른 관련 양태에 따르면, 상기 메모리의 적어도 일부는 상기 복수의 유형의 메모리 여유분의 각 유형 중 적어도 하나를 각각 완전하게 포함하는 다수의 분석 블럭으로 상기 메모리를 논리적으로 분할하여 형성된다.
또다른 관련 양태에 따르면, 상기 메모리의 적어도 일부는 각각의 분석 블럭을 상기 복수의 유형의 메모리 여유분의 각각의 유형이 복구할 수 있는 메모리 셀의 범위에 해당하는 상기 개별 분석 블럭의 영역에 각각 걸치는 다수의 서브 블럭으로 논리적으로 분할하여 형성된다.
또다른 관련 양태에 따르면, 본 방법은 메모리에 별개의 주소지정가능한 엔트리로서 각각의 서브 블럭에 대한 고장 메모리 셀 정보를 저장하는 단계를 더 포함한다.
또다른 관련 양태에 따르면, 각각의 서브 블럭에 대한 상기 고장 메모리 셀 정보는 분석되고 복구되는 상기 메모리의 일부에 저장된다.
또다른 관련 양태에 따르면, 메모리의 각각의 주소지정가능한 엔트리는 각각의 서브 블럭에 대한 에러 저장 테이블에 해당하고, 각각의 에러 저장 테이블은 메모리의 개별 로우 및 컬럼 부분에서 검출된 다수의 고장 메모리 셀과 관련된 정보를 저장하기 위한 로우 및 컬럼 엔트리를 갖는다.
또다른 관련 양태에 따르면, 본 방법은 메모리의 개별 로우 및 컬럼 부분에서 검출된 상기 다수의 고장 메모리 셀과 관련된 정보를 메모리에 저장된 적어도 하나의 에러 저장 테이블로부터 판독하는 단계를 더 포함한다. 메모리의 상기 적어도 일부에서 검출된 상기 고장 메모리 셀은 상기 다수의 고장 메모리 셀과 관련된 상기 정보가 판독된 상기 적어도 하나의 에러 저장 테이블에 해당하는 서브 블럭에 위치한다.
또다른 관련 양태에 따르면, 본 방법은 상기 메모리에서 검출된 모든 고장 메모리 셀이 복구되었거나 상기 메모리가 복구가능하지 않다고 판정될 때까지 상기 메모리의 별개의 부분들에 대해 상기 방법의 단계의 각각을 수행하는 단계를 더 포함한다.
또다른 관련 양태에 따르면, 상기 메모리의 별개의 부분들에 대해 상기 방법의 단계의 각각을 수행하는 단계는 각각의 별개의 부분에 대해 동시에 일어난다.
또다른 관련 양태에 따르면, 상기 복수의 유형의 메모리 여유분 중 하나의 유형만을 사용하여 복구되어야 하는 고장 메모리 셀을 반복적으로 복구하는 단계는 상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼 엔트리가 비어있거나 상기 로우 또는 컬럼에 의해 식별된 에러가 복구되었는지를 판정하는 단계를 포함한다. 상기 로우 또는 컬럼 엔트리가 비어있지 않고 상기 식별된 에러가 복구되지 않았다면, 상기 식별된 에러가 복구되어야 하는지를 판정한다. 그렇지 않다면, 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비어있는지 또는 상기 다음 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정한다. 상기 식별된 에러가 복구되어야 한다면, 상기 복수의 유형의 메모리 여유분 중의 단지 하나의 유형의 여유분이 사용가능한지를 판정한다. 그렇지 않으면, 상기 식별된 에러의 복구를 스킵하고 상기 적어도 하나의 에러 저장 테이블의 다음 로우또는 컬럼 엔트리가 비어있는지 또는 상기 다음 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정한다. 상기 복수의 유형의 메모리 여유분 중 단지 하나의 유형의 여유분만이 사용가능하면, 상기 식별된 에러를 상기 복수의 유형의 메모리 여유분 중 단지 하나의 유형의 여유분으로 대체하고 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비어있는지 또는 상기 다음 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정한다. 그렇지 않으면, 상기 메모리가 복구가능하지 않다고 판정한다. 상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼이 비어있는지 또는 상기 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하는 단계는 상기 적어도 하나의 에러 저장 테이블의 모든 로우 및 컬럼 엔트리가 처리될 때까지 반복된다.
또다른 관련 양태에 따르면, 복구되어야 하는 고장 메모리 셀을 복구할 때 모든 스킵된 고장 메모리 셀 중 적어도 하나를 복구하는 단계는 모든 스킵된 고장 메모리 셀 중 상기 적어도 하나 중 최초로 검출된 고장 메모리 셀만을 복구하는 단계를 포함한다.
또다른 관련 양태에 따르면, 단지 최초로 검출된 고장 메모리 셀만을 복구하는 단계는 상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼 엔트리가 비어있는지를 판정하는 단계를 포함한다. 상기 로우 또는 컬럼 엔트리가 비어있다면, 상기 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정한다. 그렇지 않으면, 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비었는지를 판정한다. 상기 식별된 에러가 복구되지 않았다면, 상기 복수의 유형의 메모리 여유분 중 제1 유형이 사용가능한지를 판정한다. 그렇기 않으면, 상기 적어도 하나의 에러 저장 테이블의 다음 로우 및 컬럼 엔트리가 비어있는지를 판정한다. 상기 복수의 유형의 메모리 여유분 중 제1 유형이 사용가능하면, 상기 제1 유형의 여유분으로 상기 식별된 에러를 대체한다. 그렇지 않으면, 상기 복수의 유형의 메모리 여유분 중 제2 상보적 유형이 사용가능한지를 판정한다. 상기 복수의 유형의 메모리 여유분의 제2 유형이 사용가능하면, 상기 제2 유형의 여유분으로 상기 식별된 에러를 대체한다. 그렇지 않으면, 상기 메모리가 복구가능하지 않다고 판정한다. 상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼 엔트리가 비어있다고 판정하는 단계는 상기 적어도 하나의 에러 저장 테이블의 적어도 모든 로우 엔트리 또는 모든 컬럼 엔트리가 처리될 때까지 반복된다.
또다른 관련 양태에 따르면, 상기 적어도 하나의 에러 저장 테이블의 임의의 로우 또는 컬럼 엔트리가 비어있다고 판정되면, 비어있는 유형의 다음 엔트리는 처리될 필요가 없다.
또다른 관련 양태에 따르면, 상기 메모리의 로우 부분은 메모리의 적어도 하나의 로우를 포함하고 상기 메모리의 컬럼 부분은 메모리의 적어도 하나의 컬럼을 포함한다.
또다른 관련 양태에 따르면, 상기 메모리의 컬럼 부분은 적어도 하나의 입력/출력(I/O) 장치를 포함하고, 상기 적어도 하나의 I/O 장치는 메모리의 적어도 하나의 컬럼에 대해 입력 및 출력 경로를 제공한다.
또다른 관련 양태에 따르면, 복구되어야 하는 고장 메모리 셀을 복구할 때모든 스킵된 고장 메모리 셀 중의 적어도 하나를 복구하는 단계는 상기 복수의 유형의 메모리 여유분 중 어느 유형이 상기 복수의 유형의 메모리 여유분 중 임의의 것을 사용하여 복구될 수 있는 고장 메모리 셀 중 최다수를 복구할 수 있는지를 판정하는 단계를 포함한다. 상기 판정된 유형의 사용가능한 여유분으로 상기 최다수의 고장 메모리 셀을 대체한다.
또다른 관련 양태에 따르면, 적어도 메모리 일부에서 검출된 고장 메모리 셀이 복구되어야 한다고 판정하기 이전에, 본 방법은 상기 메모리의 적어도 일부의 상기 복수의 유형의 메모리 여유분 중 임의의 유형이 기능성이 없는지를 판정하는 단계를 더 포함한다. 상기 메모리의 적어도 일부의 상기 복수의 유형의 메모리 여유분의 구성에 기초하여 기능성이 없는 메모리 여유분에 관련된 정보는 함께 그룹화된다.
또다른 관련 양태에 따르면, 기능성이 없는 메모리 여유분에 관련된 정보를 함께 그룹화하는 단계는 상기 메모리의 적어도 일부의 다수의 부분에 대해 상기 부분이 상기 복수의 유형의 메모리 여유분의 개별 유형의 적어도 하나에 의해 복구될 수 있으면 기능성이 없는 메모리 여유분에 관한 정보를 논리적으로 OR시키는 단계를 포함한다.
청구항은 물론 상세한 설명에서 사용되는, "포함한다" 및 "포함하는"이라는 용어는 기술된 특징, 단계 또는 구성요소의 존재를 규정하기 위해 사용되었으며, 이러한 용어의 사용이 하나 이상의 다른 특징, 단계, 구성요소 또는 그 그룹의 존재 또는 추가를 배제하는 것이 아니라는 것을 알아야 한다.
양호한 실시예는 첨부한 도면을 참조하여 이하 설명된다. 이하 설명에서, 불필요하게 상세하게 설명을 모호하게 하지 않도록 하기 위해서, 공지된 기능 및/또는 구성은 상세하게 설명되지 않을 것이다.
예시적인 메모리 구조
분석 및 복구 기술을 상세하게 설명하기 이전에, 기술이 이용될 수 있는 예시적인 메모리 구조를 먼저 설명하는 것이 도움이 될 것이다. 메모리 어레이를 여유분 중심적 관점으로 보면, 여유분 로우 및 컬럼(spare rows and columns)(또는 I/O)은 메모리 어레이에 걸쳐 정규 간격으로 배열될 수 있다. 여유분 로우 및 컬럼(또는 I/O)의 활성화는 퓨즈에 의해 통상적으로 제어되지만, 활성화의 다른 수단도 일반적으로 공지되어 있다. 퓨즈가 "파열(blown)"되면, 해당 여유분 로우 또는 컬럼(또는 I/O)은 활성화되고 대체될 적절한 메모리 주소가 프로그램된다. 퓨즈는 레이저 커팅 및 소정의 전기적 신호의 활성화를 포함하되 이에 한정되지 않는 다양한 방식으로 "파열"될 수 있다.
통상적으로, 퓨즈는 여유분 활성화시키는 메모리 셀과 비교하여 상대적으로 크므로, 임의의 주어진 퓨즈는 동시에 수 개의 로우 또는 컬럼(또는 I/O)을 활성화시키고 대체하기 위해 종종 사용될 수 있다. 이러한 구성에서, 주어진 퓨즈에 의해 활성화되고 프로그램된 여유분 로우 또는 컬럼의 그룹은 분석 및 복구 관점에서 단일 엔티티로서 보여질 수 있다. 여유분 로우 및 컬럼의 이러한 그룹화는 고장 메모리 셀의 식별 및 대체에서 압축도 및 효율성을 달성하기 위해 분석 및 복구 루틴에 의해 개발될 수 있다.
도 1은 리던던트 회로를 갖는 예시적인 메모리 어레이를 도시한다. 예시적인 어레이는 메모리 셀의 2개의 뱅크, 뱅크 0 및 뱅크 1을 포함한다. 메모리 셀의 각각의 뱅크는 32컬럼(컬럼 0-15 및 16-31) 및 4096 로우(각각 2K 셀의 로우인 2 세트)의 어레이를 포함한다. 메모리 뱅크는 각각이 128 I/O(IO[0]-IO[127] 및 IO[128]-IO[255])를 갖는 부분으로 분할된다. 여유분 I/O 및 로우는 어레이에 걸쳐 정규 간격으로 배열된다. 상술한 것처럼, 여유분 컬럼 및 로우를 갖는 리던던트 회로를 포함하는 메모리 어레이도 사용될 수 있을 것이다.
메모리 어레이는 분석 블럭(102)으로 지칭되는 수 개의 부분으로 논리적으로 분할된다. 양호하게는, 분석 블럭(102)의 크기 및 형태는 적어도 하나의 여유분 I/O(또는 컬럼) 및 적어도 하나의 여유분 로우를 완전하게 포함하는 메모리 어레이의 최소 부분을 정의하도록 선택된다. 양호하게는, 분석 및 복구 루틴은 분석 블럭(102) 기반으로 동작하도록 정의된다. 도시된 예시적인 메모리 구조에서, 16 분석 블럭이 도시되어 있다. 메모리 어레이는 임의의 수의 분석 블럭으로 논리적으로 분할될 수 있다는 것을 이해할 수 있을 것이다.
분석 블럭의 여유분 메모리 셀이 다른 분석 블럭의 여유분 메모리 셀과 독립적이 되도록 분석 블럭(102)을 정의하면, 이러한 구성이 엄격하게 요구되는 아니지만, 복구 및 분석 루틴이 더 효율적이 된다. 예를 들면, 주어진 분석 블럭의 여유분 I/O 및 로우가 분석 블럭 경계를 교차하지 않는다는 것을 보장하여, 분석 및 복구 루틴은 메모리 어레이의 다양한 분석 블럭을 독립적 및 병렬적으로 분석 및 복구할 수 있다.
도 2는 도 1에 도시된 강조된 분석 블럭(102)을 더 상세하게 도시한다. 도면에서 볼 수 있는 것처럼, 예시적인 각각의 분석 블럭은 4개의 I/O 여유분 및 4개의 로우 여유분을 포함하도록 정의된다. 분석 블럭(102)은 서브 블럭(202)으로 지칭되는 보다 작은 부분으로 논리적으로 더 분할될 수 있다. 도 2에 도시된 분석 블럭은 8개의 이러한 서브 블럭(202)을 갖는다. 서브 블럭의 크기는 양호하게는 로우 및 I/O(또는 컬럼) 차원에서 서브 블럭이 연장되는 거리가 로우 및 I/O(또는 컬럼) 여유분이 대체가능한 메모리 셀의 범위에 대응하도록 선택된다.
도시된 예에 따르면, 각각의 서브 블럭(202)은 I/O 부분(206)의 32 I/O 중의 임의의 것을 대체할 수 있는 하나의 I/O 여유분 및 블럭에서 512 로우 중의 임의의 것을 대체할 수 있는 2개의 로우 여유분을 포함한다. 서브 블럭은 4개의 서브 블럭 각각의 2로우으로 배열되고, 로우는 세트(204)로 지칭된다. 양호하게는, 각각의 서브 블럭에 대한 고장 메모리 셀 정보는 에러 저장(error storage:ES) SRAM(미도시)에서 별도의 로우 엔트리로서 저장된다. ES SRAM의 각 로우 엔트리는 또한 에러 저장 테이블로서 지칭될 수도 있다. 다수의 ES SRAM은 메모리 어레이의 크기 및 어레이의 리던던트 회로의 구성에 의존하여 고장 메모리 셀 정보를 저장하는데 사용될 수 있다. 고장 메모리 셀 및 복구 정보를 저장하는 기술은 본 출원과 공통의 양수인을 갖는 2002년 5월 31에 출원된 발명의 명칭 "메모리 검사 정보를 저장하는 방법 및 장치"인 동시계류중인 미국특허출원 제10/__호에 설명되어 있다.
분석 루틴
예시적인 메모리 구조를 설명하였으므로, 메모리 어레이의 고장 메모리 셀을 분석하는 루틴에 대해 이하 설명될 것이다. 이하에서 분석 루틴(및 복구 루틴)에서 사용되는 용어들을 정의한다.
Must: 에러 또는 에러 그룹을 여유분 로우 또는 여유분 I/O(또는 컬럼)로 대체하여 단지 하나의 방식으로 복구될 수 있는 고장 메모리 셀(또는 에러) 또는 에러 그룹
Fixed: 루틴의 흐름을 제어하기 위해 사용되는 플래그. 에러가 복구될 때마다 이 플래그는 "Y"로 설정되어야 한다.
Skip: 루틴의 흐름을 제어하기 위해 사용되는 다른 플래그. 에러가 검출되지만 루틴에 의해 즉시 복구되지 않을 때마다 이 플래그는 "Y"로 설정되어야 한다.
NG: 메모리 어레이가 복구될 수 있음을 나타내는 루틴에서 사용된 플래그.
Fix_Any: 즉시 수리될 에러의 유형을 판정하기 위해 루틴에서 사용되는 플래그. 이 플래그가 "Y"로 설정되면, 가능하면, 고려되는 임의의 에러는 수리될 것이다. "N"으로 기술될 때, "Must" 에러만이 루틴에 의해 복구될 것이다.
루틴의 분석 부분에 대한 흐름도가 도 3에 도시되어 있다. 엄격하게 요구되지는 않지만, 루틴은 현재 분석되는 분석 블럭에 대한 리던던트 회로를 형성하는 다양한 로우 및 컬럼 여유분의 기능성에 관련된 정보를 판정(또는 갱신)하여 단계 302에서 시작한다. 여유분 기능성 정보는 서브 블럭(202) 기반으로, 예를 들면 ES SRAM인 메모리에 저장될 수 있다. 여유분 기능성 정보가 이 방식으로 저장되면, 단계 302는 다양한 서브 블럭(202) 중에서 수집된 여유분 기능성 정보와 관련된 그룹화 단계를 더 포함하여야 한다.
관련된 여유분 기능성 정보의 그룹화는 논리적 "OR" 함수를 사용하여 달성될 수 있다. 예를 들면, 도 2에 도시된 분석 블럭에 대해, 여유분 로우가 세트(204)에 도시된 4개의 I/O부(206)의 각각을 교차하므로, 주어진 세트(204)의 I/O부(206)의 각각에 대해 여유분 로우와 관련된 기능성 정보는 논리적으로 함께 OR되어야 한다. 마찬가지로, 여유분 I/O는 I/O부(206)의 로우 각각을 교차하므로, I/O부(206)의 로우의 각각에 대한 여유분 I/O(또는 컬럼)에 관련된 기능성 정보는 논리적으로 OR되어야 한다.
현재 분석 블럭에 대한 여유분 기능성 정보가 갱신된 후, 루틴은 현재 분석 블럭에 대한 임의의 저장된 복구 코드(RC) 정보가 메모리로부터 판독되는 단계 304로 진행한다. 양호하게는, RC 정보는, 예를 들면 별도의 RC 및 ES SRAM 각각에 에러 저장 정보와 따로 저장되지만, 이 저장 구성은 엄격하게 요구되지는 않는다. 단계 306 내지 330은 분석 루틴의 주요부를 나타낸다. 이 단계에서, 주어진 분석블럭(102)에 대한 고장 메모리 셀 정보는 분석 블럭을 복구하기 위한 적절한 복구 코드가 생성될 수 있도록 분석된다. 각각의 분석 블럭이 처리된 후, 단계 332에서 메모리 어레이의 모든 분석 블럭이 처리되었는지를 판정한다. 그렇다면, 처리는 종료되고, 그렇지 않다면, 처리되어야 하는 다음 분석 블럭과 관련된 정보가 단계 334에서 갱신되고 처리는 단계 302에서 반복된다.
분석 루틴의 주요부는 두 단계 방식을 사용한다. 먼저, 루틴은 에러를 복구하기 위해 여유분 로우 또는 여유분 I/O를 할당하여 특정 방식으로 수리되어야 할 분석 블럭의 로우 및/또는 I/O를 복구하려고 한다. 다음으로, 루틴은 에러를 복구하기 위해 사용가능한 유형을 할당하여 다중 방식으로 복구될 수 있는 로우 및/또는 I/O를 복구하려고 한다.
흐름도에서 명확하게 도시되지는 않았지만, 루틴에 의해 사용된 다양한 플래그는 새로운 분석 블럭의 처리를 시작하기 이전에 다음 값들을 초기화한다.
Fix_Any: "N"으로 설정
Fixed: "N"으로 설정
Skip: "N"으로 설정
NG: "N"으로 설정
Last Set:"N"으로 설정[주의: 이 플래그의 값은 현재 분석 블럭(102)의 여유분/서브 블럭/세트의 구성에 의존한다.]
분석 블럭의 처리는, 예를 들면 ES SRAM으로부터 현재 분석 블럭에 대한 ES 데이타를 판독하여 단계 306에서 시작한다. 플래그 Fix_Any가 "N"으로 초기화되기때문에, 루틴은 소위 "Must" 에러를 먼저 처리하여 ES 데이타의 분석을 시작한다. 특정 유형의 여유분, 즉 이 예에서 여유분 로우 또는 여유분 I/O(또는 컬럼)로만 복구될 수 있는 "Must" 에러는 메모리 셀 고장을 나타낸다는 것을 상기하자. 분석 루틴의 이 단계는 상기한 2단계 방식의 제1 단계를 나타낸다.
도 2에 도시된 분석 블럭이 4개의 서브 블럭 각각의 2세트로 배열된 8개의 서브 블럭(202)을 포함한다는 것을 상기하자. 각각의 세트는 세트(204)의 4개의 서브 블럭(202)에 걸치는 512 로우 중 임의의 로우를 대체하는데 사용가능한 2개의 여유분 로우를 포함한다. 이 특정 배열이 주어지고, 제2 4개의 에러 저장 테이블이 ES SRAM으로부터 단계 306에서 판독된다. 이러한 에러 저장 테이블은 분석 블럭(102)의 제1 세트(204)를 구성하는 4개의 서브 블럭(202)에 해당한다. 다른 구성은 ES SRAM으로부터 판독되어야 하는 데이타의 양을 변경하는 것을 요구할 것이다.
다음으로, 단계 306에서 판독된 ES 데이타는 도 4A 및 4B(이하 상세하기 설명됨)에 도시된 복구 루틴을 사용하여 단계 306에서 처리된다. 다시, 플래그 Fix_Any가 "N"으로 초기화되기 때문에, 복구 루틴은 소위 "Must"에러를 복구하려고 먼저 시도하여 시작한다. 복구 루틴에서 일단 설정된 플래그 Skip, Fixed 및 NG는 분석의 이 단계 내내 유지되고 도 3에 도시된 루틴의 분석 부분으로 돌아가야 한다. 플래그 Skip은 에러가 복구되지 않는다고 고려되면 "Y"로 설정되어야 하고, 플래그 Fixed는 에러가 복구되면 "Y"로 설정되어야 하고, 플래그 NG는 에러가 복구될 수 없다고 고려되면 "Y"로 설정되어야 한다는 것을 상기하자.
단계 310에서, 제어는 NG 플래그의 현재 상태가 검사되는 루틴의 분석 부분으로 돌아간다. NG 플래그가 "Y"로 설정되었다면, 루틴은 메모리 어레이가 복구가능하지 않은 것으로 식별되는 단계 312로 진행한다. 메모리 어레이는 이 판정이 이루어지면 더 이상 분석될 필요가 없고, 분석 및 복구는 종료한다.
단계 310에서 플래그 NG가 "N"으로 설정되면, 루틴은 Fix_Any 플래그의 현재 상태가 검사되는 단계 314로 진행한다. 상술한 것처럼, 이 플래그는 2단계 분석의 제1 단계 동안 "N"으로 설정되어 다른 식별된 에러보다 먼저 "Must" 에러를 식별하고 복구한다.
따라서, 분석의 제1 단계동안, 루틴은 처리되고 있는 현재 세트(204)가 분석될 분석 블럭(102)의 최종 세트(204)인지를 판정하는 단계 316으로 진행한다. 분석되는 현재 세트(204)가 분석 블럭에서 처리될 최종 세트가 아니라면, 루틴은 루틴에 의해 분석될 다음 세트(204)에 해당하는 SRAM에 저장된 다음 4개의 에러 저장 테이블을 액세스하기 위해 ES SRAM 주소가 갱신되는 단계 318로 진행한다. 단계 306 내지 318은 분석 블럭(102)의 모든 세트(204)가 "Must" 에러에 대해 처리될 때까지 반복적으로 실행된다.
처리되고 있는 현재 세트(204)가 현재 분석 블럭(102)의 최종 세트(204)라고 단계 316에서 판정되면, 루틴은 Fixed 플래그의 현재 상태가 검사되는 단계 320으로 진행한다. Fixed 플래그가 "Must" 에러가 단계 308에서 복구 루틴에 의해 복구되었음을 표시하는 "Y"로 설정되면, 처리는 ES SRAM에 저장된 제1 4개의 에러 저장 테이블을 다시 한번 액세스하기 위해 ES SRAM 주소가 갱신되는 단계 330으로 진행한다. 이러한 에러 저장 테이블은 현재 분석되고 있는 분석 블럭(102)의 제1 세트(204)에 해당한다. 도면에 도시되지는 않았지만, 플래그 Skip 및 Fixed는 단계 330에서 "N"으로 재초기화된다.
단계 306 내지 318은 현재 분석 블럭(102)의 모든 세트(204)가 "Must" 에러에 대해 처리될 때까지 다시 반복적으로 실행된다. 분석 블럭의 임의의 에러를 수리하는 것은 이미 스킵(skip)한 에러("Must" 에러로 식별되지 않아 스킵된)를 "Must" 에러로 되게 할 수 있다는 것을 알아야 한다. 그러므로, "Must" 에러에 대한 분석 블럭의 처리는 복구 루틴에 의해 더이상 새로운 에러가 수리되지 않을 때까지 반복된다.
복구 루틴에 의해 수리되는 새로운 "Must" 에러가 없을 때, 복구 루틴에 의해 리턴되는 Fixed 플래그는 초기값 "N"으로 설정된 채 있을 것이다. 결국, Fixed 플래그가 단계 320에서 검사될 때, Skip 플래그의 현재 상태가 검사되는 단계 322로 진행할 것이다. 이는 "Must" 에러가 다른 유형의 에러 이전에 복구되는 2단계 방식의 제1 단계의 종료를 나타낸다.
분석의 제1 단계 동안 스킵된 에러가 없다면, 처리는 현재 분석 블럭(102)이 메모리 어레이에서 처리될 최종 분석 블럭인지를 판정하는 단계 332로 진행한다. 현재 분석 블럭이 처리될 최종 분석 블럭이면, 루틴은 종료하고, 그렇지 않다면, 루틴은 메모리 어레이의 다음 분석 블럭에 대해 반복되는 전체 루틴이 반복되는 단계 334로 진행한다. 도면에 도시되지는 않았지만, 플래그 Skip, Fix_Any 및 Fixed는 단계 334에서 "N"으로 재초기화된다.
분석의 제1 단계에서 에러가 스킵되었다면, 복구 루틴에 의해 리턴된 Skip 플래그의 값은 "Y"로 설정될 것이다. 결국, 플래그가 단계 322에서 검사될 때, 루틴은 Fix_Any 플래그가 "Y"로 설정되는 단계 324로 진행할 것이다. 이는 사용가능한 여유분의 어느 유형에 의해서도 복구가능한 에러가 복구 루틴에 의해 처리되는 2단계 방식의 제2 단계의 시작을 나타낸다.
Fix_Any 플래그를 "Y"로 설정한 후, ES SRAM에 저장된 제1 4개의 에러 저장 테이블을 다시 한번 액세스하기 위해서 ES SRAM 주소는 단계 330에서 갱신된다. 이 에러 저장 테이블은 현재 분석되는 분석 블럭(102)의 제1 세트(204)에 해당한다. 플래그 Skip 및 Fixed는 "N"으로 다시 초기화된다.
단계 306 내지 312는 분석의 제1 단계 동안과 같은 방식으로 분석의 제2 단계에서 실행된다. Fix_Any 플래그가 단계 314에서 검사될 때, 분석의 제2 단계 동안 플래그가 "Y"로 설정되므로 루틴은 단계 326으로 진행할 것이다.
단계 326에서, 플래그 Fixed는 모든 에러가 단계 308에서 복구 루틴에 의해 수리되었는지를 판정하기 위해서 검사된다. 수리된 에러가 없다면, 루틴은 SRAM에 저장된 다음 4개의 에러 저장 테이블을 액세스하기 위해서 ES SRAM 주소가 갱신되는 단계 318로 진행한다. 이 저장 테이블은 루틴에 의해 처리될 다음 분석 블럭(102)의 다음 세트(204)에 해당한다. 분석 블럭(102)의 세트(204)는 단계 326에서 분석 블럭의 에러가 복구되었다고 판정이 이루어질 때까지 처리된다. 분석 루틴의 제2 단계는 분석의 제1 단계 동안 에러가 스킵되었다고 단계 322에서 판정된 이후에만 진입되므로, 루틴의 이 시점에서 적어도 하나의 에러가 분석 블럭에존재하여야 한다는 것을 상기하자.
분석 블럭의 에러가 단계 326에서 복구되었다고 판정될 때, 루틴은 Fix_Any 플래그가 "N"으로 리셋되는 단계 328로 진행한다. 이는 루틴이 사용가능한 여유분의 하나의 특정 유형으로만 복구될 수 있는 "Must" 에러를 탐색하고 복구하려고 시도하는 분석의 제1 단계로 루틴이 재진입하게 한다.
다시, 분석 블럭의 모든 에러를 분석 및 복구의 제2 단계 동안 수리하는 것은 새로운 "Must" 에러를 생성할 수 있다는 것을 알 수 있다. 분석의 제2 단계에서 에러를 선택하는 것은 단순한 일이 아니다. 따라서, 설명된 기술은 수리할 최선의 에러를 판정하려고 하지 않고, 대신 분석 블럭에 포함된 최초의 비수리 에러를 복구하고 나서, 가능한 새로운 "Must" 에러가 검출되고 복구되는 분석의 제1 단계로 돌아간다. 이 방식은 간단하고 효율적이고 분석 및 복구 루틴의 전반적인 성능에 무시할만한 영향을 준다.
대안적으로, 분석의 제1 단계 동안 최다수의 잔존하는 비"Must"형 에러를 복구할 수 있는 메모리 여유분의 유형을 판정하려고 할 수 있다. 이러한 판정을 하여 개선된 제조 수율을 얻을 수 있지만, 루틴에 복잡도를 더하고, 메모리 복구에 영향을 주기 위해 필요한 분석 및 복구 시간 및 저장 요구사항을 증가시킨다.
분석 및 복구의 제1 및 제2 단계의 상술한 시퀀스는 1) 제1 단계가 "Must" 에러의 수리없이 비수리된 에러를 스킵하지 않고 완료되거나 2) 메모리 영역이 복구가능하지 않다고 판정될 때까지(즉, NG 플래그가 "Y"로 설정) 계속된다. 루틴의 완료 후, 분석되는 메모리 어레이의 고장 메모리 셀을 대체하는데 필요한 복구 코드가 RC SRAM에 저장된다.
복구 루틴
도 4A 및 4B는 여유분 셀로 메모리 어레이의 고장 메모리 셀을 대체하는데 필요한 복구 코드를 생성하는 예시적인 복구 루틴의 흐름도이다. 도 4A는 검출된 "Must" 에러가 복구되는 분석 및 복구의 제1 단계에서 동작할 때 실행되는 단계를 도시한다. 도 4B는 "Must" 에러가 아닌 에러가 복구되는 분석 및 복구의 제2 단계에서 동작할 때 실행되는 단계를 도시한다. "Must" 에러 또는 다른 유형의 에러가 처리되는 지가 도 4A에 도시된 루틴의 단계 402에서 판단된다.
복구 루틴을 상세하게 설명하기 전에, 루틴에서 사용되는 소정의 용어를 정의하고 루틴의 동작에 관한 몇가지 일반적인 언급을 하는 것이 도움이 될 것이다.
먼저, "Must"형 에러를 구성하는 것은 이에 한정되지는 않지만 분석되는 메모리 어레이의 크기, 검출된 에러의 수, 희망 검사 수율, 사용가능한 여유분 로우 및 컬럼(I/O)의 수를 포함하는 임의의 수의 변수에 의존할 수 있다. 양호한 실시예에 따르면, "Must" 에러는 1) 주어진 로우의 에러의 수가 사용가능한 여유분 컬럼(또는 I/O)의 수를 넘을 때 분석 블럭의 주어진 로우에서 검출된 에러 또는 2) 주어진 컬럼(또는 I/O)의 에러의 수가 사용가능한 여유분 로우의 수를 넘을 때 분석 블럭의 주어진 컬럼(또는 I/O)에서 검출된 에러로서 정의된다.
다음, 도 4A 및 4B에 도시된 예시적인 흐름도는 로우 에러가 컬럼 에러 이전에 처리되고 복구된다는 것을 나타내지만 이는 반드시 그래야 하는 것은 아니다. 예를 들면, "Must"형 에러가 처리되는 도 4A에 도시된 루틴의 일부에서, 에러 저장테이블의 모든 로우 및 컬럼 엔트리가 에러에 대해 검사되어 로우 또는 컬럼 엔트리 임의의 것으로 시작할지를 판단한다. 로우 또는 컬럼 엔트리가 비"Must"형 에러가 처리되는 도 4B에 도시된 루틴의 일부에서 처리되는지는 이용된 에러 저장 기술에 달려 있다. 예를 들면, 동시계류중인 미국특허출원 제10/__호에 설명된 에러 저장 기술은 비"Must"형 에러가 에러 저장 테이블에 로우 및 컬럼 엔트리 모두를 갖는다고 보장한다.
따라서, 이러한 에러 저장 기술의 이용을 반영하는 도 4B는 비"Must"형 에러에 대해 검사되는 테이블의 로우 엔트리만을 도시하지만 반드시 이럴 필요는 없다. ES SRAM의 고장 메모리 셀 정보의 저장이 비"Must"형 에러가 로우 및 컬럼 엔트리 모두를 가질 것을 보장하지 않는다면, 루틴은 에러 저장 테이블의 로우 및 컬럼 모두에서 적어도 하나의 비"Must"형 에러를 탐색하도록 변형될 수 있다. 또한, 루틴은 ES SRAM의 고장 메모리 셀 정보의 저장이 그렇게 보장하면 에러 저장 테이블의 컬럼 엔트리에서 적어도 하나의 비"Must"형 에러를 탐색하도록 변형될 수 있다.
마지막으로, 도 4A 및/또는 4B는 분석 블럭(102)의 세트(204)를 형성하는 각각의 서브 블럭(202)에 대해 처리되는 4개의 로우 및 3개의 컬럼을 도시한다. 복구 루틴에서 처리된 로우 및 컬럼의 수는 ES SRAM에서 저장된 고장 메모리 셀 정보의 양에 의존한다. 이로부터 ES SRAM의 각각의 로우는 에러 저장 테이블에 해당할 수 있는 것을 알 수 있다. 동시계류중인 미국특허출원 제10/__호에 설명된 것처럼, 각각의 에러 저장 테이블은 총 고장 메모리 셀 정보의 적어도 일부를 저장하기 위한 로우 및 컬럼 엔트리를 포함한다.
동시계류중인 출원은 3개의 여유분 로우 및 하나의 여유분 컬럼을 갖는 서브 블럭(202)에 대해 복구에 영향을 주기 위해 필요한 테이블 로우 엔트리의 수는 각각의 사용가능한 여유분 로우에 대한 3개의 엔트리 및 단일 사용가능한 여유분 컬럼과 2개의 사용가능한 여유분 로우의 각각의 교차에 대한 2개의 엔트리인 4이고, 복구에 영향을 주기 위해 필요한 테이블 컬럼 엔트리의 수는 단일 사용가능한 여유분 컬럼에 대한 하나의 엔트리 및 2개의 사용가능한 여유분 로우와 단일 사용가능한 여유분 컬럼의 각각의 교차에 대한 2개의 엔트리인 3이라고 더 설명한다. 그러므로, 도 4A 및 4B에서 처리된 로우 및/또는 컬럼의 수는 단지 도시적인 것이고, 주어진 서브 블럭(202)의 로우 및 컬럼의 총 수까지의 임의의 수일 수 있다. 처리될 로우 및 컬럼의 수가 적을수록, 복구 루틴은 더 효율적이고 효과적이 된다.
이러한 정의 및 일반적인 언급을 염두에 두고, 도 4A에 도시된 복구 루틴의 일부가 보다 상세하게 설명될 것이다. 도면에서 볼 수 있는 것처럼, 주어진 세트(204)를 이루는 서브 블럭(202)의 각각은 루틴에서 차례로 처리된다. 에러 테이블의 각각의 로우 및 컬럼 엔트리는 동일한 방식으로 처리되므로 로우 #1의 처리만이 상세하게 설명될 것이다.
제1 ES 테이블 로우(또는 컬럼 또는 I/O) 엔트리의 처리는 그 테이블 엔트리에서 식별된 에러가 이미 복구되었는지(즉, 여유분 로우 또는 컬럼로 수리되었는지) 또는 해당 로우의 에러의 수가 0이어서 복구될 필요가 없는지를 판정하는 단계 404에서 시작한다. 이러한 조건 중의 하나가 참이면, 루틴은 테이블의 모든 로우 및 컬럼이 처리될 때까지 에러 저장 테이블의 다음 로우(및 컬럼) 엔트리를 처리하기 위해 이동한다. 어느 조건도 참이 아니라면, 루틴은 고장이 "Must"형 또는 다른 유형의 에러인지가 판정되는 단계 406으로 진행한다. 양호한 실시예에 따르면 로우에서 검출된 에러의 수가 사용가능한 여유분 컬럼의 수를 넘어서면 에러는 "Must" 에러로 간주될 것이라는 것을 상기하자.
에러가 "Must"형 에러가 아니라면, 에러는 스킵되고(루틴의 이 부분은 "Must"형 에러만을 처리하므로) 루틴은 Skip 플래그가 참으로 설정되는 단계 408로 진행한다. 이는 도 3에 도시된 분석 루틴에 검출된 에러가 스킵되었음을 알려서, 그 루틴에서 더 이상의 처리가 따라서 진행될 수 있다. 그리고 나서, 루틴은 모든 로우 및 컬럼 엔트리가 처리될 때까지 에러 저장 테이블의 다음 로우(및 컬럼) 엔트리를 처리하기 위해 이동한다.
에러가 "Must"형 에러라고 판정되면, 루틴은 에러를 복구하기 위해 여유분 로우가 사용가능한지를 판정하는 단계 410으로 진행한다. 여유분 로우가 사용가능하면, 사용가능한 여유분 로우는 에러를 복구하기 위해 할당되고 루틴은 Fixed 플래그가 참으로 설정되는 단계 412로 진행한다. 이는 검출된 에러가 수리되었음을 분석 루틴에 알려서 그 루틴의 이후 처리가 따라서 처리될 수 있게 한다. 루틴은 모든 로우 및 컬럼 엔트리가 처리될 때까지 에러 저장 테이블의 다음 로우(및 컬럼) 엔트리를 처리하기 위해 이동한다.
검출된 "Must"형 에러를 복구하기 위해 사용가능한 여유분 로우가 없다면, 루틴은 플래그 NG가 "Y"로 설정되는 단계 414로 진행한다. 이 플래그는 분석되는 메모리 어레이가 복구가능하지 않다고 분석 루틴에 알리고, 어레이의 모든 분석 및복구는 중단된다. 분석 블럭(102)의 현재 세트(204)의 서브 블럭(202)의 각각이 처리되었을 때, 루틴은 단계 308에서 루틴의 분석 부분에 제어를 리턴한다.
도 4B에 도시된 복구 루틴의 부분에 대해 이제 상세하게 설명될 것이다. 도 4A에 도시된 루틴의 부분에서 "Must" 에러를 처리하는 반면 루틴의 이 부분은 적어도 하나의 스킵된 에러 중 하나를 검출하고 복구하려고 시도할 것이라는 것을 상기하자. 로우(또는 아마도 컬럼 또는 I/O) 엔트리의 각각이 동일한 방식으로 처리되므로, 로우 #1을 처리하는 것에 대해서만 상세하게 설명하기로 한다. 루틴의 이 부분은 에러가 로우 1에서 검출되었는지를 판정하는 단계 416에서 시작한다. 에러가 검출되었다면, 루틴은 검출된 에러가 이미 복구되었는지를 판정하는 단계 418로 진행한다. 에러가 제1 로우 엔트리에서 검출되지 않았거나 제1 로우 엔트리에서 검출된 에러가 이미 복구되었다면, 루틴은 모든 엔트리가 처리될 때까지 에러 저장 테이블의 나머지 로우(또는 컬럼 또는 I/O) 엔트리를 처리하기 위해 이동한다.
대안적으로, 이용된 에러 저장 기술이 에러가 없는 에러 저장 테이블의 제1로우(또는 컬럼 또는 I/O) 엔트리 아래의 로우(또는 컬럼 또는 I/O) 엔트리도 에러가 없다고는 것을 보장할 수 있다면. 더 이상의 로우(또는 컬럼 또는 I/O) 엔트리의 처리가 스킵될 수 있다. 그 다음에, 루틴은 분석 블럭(102)의 현재 세트(204)의 다음 서브 블럭(202)이 처리되는 단계 420 및 422로 직접 진행한다.
검출된 에러가 이미 복구되지 않았다고 단계 418에서 판정되면, 루틴은 검출된 에러를 복구하기 위해 로우 여유분이 사용가능한지를 판정하는 단계 424로 진행한다. 로우 여유분이 사용가능하면, 에러는 단계 426에서 사용가능한 여유분으로대체되고 Fixed 플래그는 단계 434에서 설정된다. 사용가능한 여유분 로우가 없다면, 루틴은 검출된 에러를 복구하기 위해 컬럼 여유분이 사용가능한지를 판정하는 단계 428로 진행한다. 컬럼 여유분이 사용가능하면, 에러는 단계 430에서 사용가능한 여유분으로 대체되고 Fixed 플래그는 다시 단계 426에서 설정된다. 검출된 에러를 복구하기 위해 사용가능한 로우 또는 컬럼 여유분이 없다면, NG 플래그는 단계 432에서 "Y"로 설정되고 제어는 루틴의 분석 부분으로 돌아간다.
예시적인 실시예를 설명하는데 편리를 위해 소정의 용어가 사용되었지만, 본 명세서에서 설명된 일반적 개념을 한정하는데 사용되어서는 안 된다. 예를 들면, 메모리의 "로우" 또는 "컬럼" 부분 또는 메모리 여유분의 유형에 대한 특정 지칭은 메모리의 이러한 부분 또는 메모리 여유분의 유형을 포함하는 것으로 해석될 수 있다. 메모리 여유분의 경우에, 특정 용어가 메모리 여유분의 하나의 유형이 주어진 메모리 셀 위치를 복구하는데 사용되지 않을 때 메모리 여유분의 다른 상보적 유형이 그 위치를 복구하는데 사용될 수 있다는 점에서 메모리 여유분의 상보적 유형을 나타낸다.
또한, "복구" 또는 "복구하는"이라는 용어는 고장 메모리 셀을 여유분 셀과 대체하는 것뿐만 아니라, 이후 고장 메모리 셀을 여유분 셀로 대체하는데 사용하기 위한, 예를 들면 RC SRAM에 저장될 수 있는 복구 정보의 생성도 포함한다. 또한, "셀" 및 "메모리 셀"이라는 용어는 메모리의 하나 이상의 메모리 셀 또는 위치 나타내는 것으로 해석될 수 있다. 마지막으로, "Y" 및 "참" 및 "N" 및 "거짓"이라는 용어는 설명된 루틴에서 발생하는 다양한 검사 조건의 상태를 기술하기 위해 상세한 설명 및 청구의 범위에서 교환가능하게 사용된다.
다양한 양태가 다수의 예시적인 실시예와 연계하여 설명되었다. 이러한 실시예의 이해를 돕기 위해, 많은 형태가 컴퓨터 시스템 또는 마이크로제어기의 소자에 의해 수행될 수 있는 액션의 시퀀스대로 설명되었다. 예를 들면, 각각의 실시예에서 다양한 액션이 특수화된 회로(예를 들면, 특수화된 기능을 수행하기 위해 상호연결된 이산 로직 게이트), 하나 이상의 처리기에 의해 실행되는 프로그램 명령 또는 그들의 조합에 의해 수행될 수 있다는 것을 알 수 있다.
또한, 예시적인 실시예는 본 명세서에서 설명된 기술을 처리기가 수행하게 할 컴퓨터 명령의 적절한 세트를 저장한 임의의 형태의 컴퓨터 판독가능 저장 매체의 일부로서 생각될 수 있다. 그러므로, 많은 형태로 다양한 양태가 실시될 수 있고 모든 이러한 형태는 설명된 범주에 있는 것으로 고려된다. 다양한 양태 각각에 대해 임의의 이러한 형태의 실시예는 설명된 액션을 수행하기 위해 본 명세서에서 "구성된 로직" 또는 대안적으로 설명된 액션을 수행하는 "로직"으로서 지칭될 수 있다.
다양한 예시적인 실시예가 설명되었지만, 당업자는 이러한 실시예가 단지 예시적인 것이고 많은 다른 실시예가 가능하다는 것을 알 수 있을 것이다. 본 발명의 의도된 범주는 전술한 발명의 상세한 설명이 아닌 이하의 청구의 범위에 의해 정되고, 청구의 범위의 범주 내에 있는 모든 변경예는 이에 포함되는 것으로 의도되어야 할 것이다.

Claims (40)

  1. 메모리를 분석하고 복구하는 방법에 있어서,
    메모리의 적어도 일부에서 검출된 고장 메모리 셀이 복수의 유형의 메모리 여유분 중 하나의 유형만을 사용하여 복구되어야 하는지 또는 상기 복수의 유형의 메모리 여유분 중 임의의 유형을 사용하여 복구될 수 있는지를 판정하는 단계와,
    복구되어야 하는 새로운 에러가 복구되지 않고 스킵되는 고장 메모리 셀이 없거나 상기 메모리가 복구가능하지 않다고 판정될 때까지, 상기 복수의 유형의 메모리 여유분 중 하나의 유형만을 사용하여 복구되어야 하는 고장 메모리 셀을 반복적으로 복구하고, 상기 복수의 유형의 메모리 여유분 중 임의의 유형을 사용하여 복구될 수 있는 모든 고장 메모리 셀을 스킵하는 단계와,
    복구되어야 하는 고장 메모리 셀을 복구할 때 스킵된 모든 고장 메모리 셀 의 적어도 하나를 복구하는 단계와,
    적어도 하나의 스킵된 고장 메모리 셀이 복구될 때마다, 고장 메모리 셀이 복구되어야 하는지를 판정하는 단계 및 복구되어야 하는 고장 메모리 셀을 반복적으로 복구하는 단계를 반복하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 복수의 유형의 메모리 여유분 중 제1 유형은 메모리의 로우 및 컬럼 부분 중 하나를 복구할 수 있고, 상기 복수의 유형의 메모리 여유분중 제2 상보적 유형은 메모리의 로우 및 컬럼 부분 중 다른 하나를 복구할 수 있는 방법.
  3. 제2항에 있어서, 복구되어야 하는 고장 메모리 셀은 사용가능한 상보적 유형의 메모리 여유분의 수를 초과하는 고장 메모리 셀의 총 수를 갖는 메모리의 개별 로우 또는 컬럼 부분의 고장 메모리 셀을 포함하는 방법.
  4. 제1항에 있어서, 상기 메모리의 적어도 일부는 다수의 분석 블럭으로 상기 메모리를 논리적으로 분할하여 형성되고, 상기 각각의 분석 블럭은 상기 복수의 유형의 메모리 여유분의 각 유형 중 적어도 하나를 완전하게 포함하는 방법.
  5. 제4항에 있어서, 상기 메모리의 적어도 일부는 각각의 분석 블럭을 다수의 서브 블럭으로 논리적으로 분할하여 형성되고, 상기 각각의 서브 블럭은 상기 복수의 유형의 메모리 여유분의 각각의 유형이 복구할 수 있는 메모리 셀의 범위에 해당하는 상기 개별 분석 블럭의 영역에 걸치는 방법.
  6. 제5항에 있어서, 메모리에 별개의 주소지정가능한 엔트리로서 각각의 서브 블럭에 대한 고장 메모리 셀 정보를 저장하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서, 상기 메모리의 일부에 저장된 각각의 서브 블럭에 대한 상기 고장 메모리 셀 정보는 분석되고 복구되는 방법.
  8. 제6항에 있어서, 메모리의 각각의 주소지정가능한 엔트리는 각각의 서브 블럭에 대한 에러 저장 테이블에 해당하고, 각각의 에러 저장 테이블은 메모리의 개별 로우 및 컬럼 부분에서 검출된 다수의 고장 메모리 셀과 관련된 정보를 저장하기 위한 로우 및 컬럼 엔트리를 갖는 방법.
  9. 제8항에 있어서,
    메모리의 개별 로우 및 컬럼 부분에서 검출된 상기 다수의 고장 메모리 셀과 관련된 정보를 메모리에 저장된 적어도 하나의 에러 저장 테이블로부터 판독하는 단계를 더 포함하고,
    메모리의 상기 적어도 일부에서 검출된 상기 고장 메모리 셀은 상기 다수의 고장 메모리 셀과 관련된 상기 정보가 판독된 상기 적어도 하나의 에러 저장 테이블에 해당하는 서브 블럭에 위치하는 방법.
  10. 제9항에 있어서,
    상기 메모리에서 검출된 모든 고장 메모리 셀이 복구되었거나 상기 메모리가 복구가능하지 않다고 판정될 때까지 상기 메모리의 별개의 부분들에 대해 상기 방법의 각 단계들을 수행하는 단계를 더 포함하는 방법.
  11. 제10항에 있어서, 상기 메모리의 별개의 부분들에 대해 상기 방법의 각 단계들을 수행하는 단계는 각각의 별개의 부분에 대해 동시에 일어나는 방법.
  12. 제8항에 있어서, 상기 복수의 유형의 메모리 여유분 중 하나의 유형만을 사용하여 복구되어야 하는 고장 메모리 셀을 반복적으로 복구하는 단계는
    상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼 엔트리가 비어있거나 상기 로우 또는 컬럼에 의해 식별된 에러가 복구되었는지를 판정하는 단계와,
    상기 로우 또는 컬럼 엔트리가 비어있지 않고 상기 식별된 에러가 복구되지 않았다면, 상기 식별된 에러가 복구되어야 하는지를 판정하고, 그렇지 않다면, 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비어있는지 또는 상기 다음 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하는 단계와,
    상기 식별된 에러가 복구되어야 한다면, 상기 복수의 유형의 메모리 여유분 중의 단지 하나의 유형의 여유분이 사용가능한지를 판정하고, 그렇지 않으면, 상기 식별된 에러의 복구를 스킵하고 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비어있는지 또는 상기 다음 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하는 단계와,
    상기 복수의 유형의 메모리 여유분 중 단지 하나의 유형의 여유분만이 사용가능하면, 상기 식별된 에러를 상기 복수의 유형의 메모리 여유분 중 단지 하나의 유형의 여유분으로 대체하고 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비어있는지 또는 상기 다음 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하고, 그렇지 않으면, 상기 메모리가 복구가능하지 않다고 판정하는 단계를 포함하고,
    상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼이 비어있는지 또는 상기 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하는 단계는 상기 적어도 하나의 에러 저장 테이블의 모든 로우 및 컬럼 엔트리가 처리될 때까지 반복되는 방법.
  13. 제8항에 있어서, 복구되어야 하는 고장 메모리 셀을 복구할 때 모든 스킵된 고장 메모리 셀 중 적어도 하나를 복구하는 단계는 모든 스킵된 고장 메모리 셀 중 상기 적어도 하나 중 최초로 검출된 고장 메모리 셀만을 복구하는 단계를 포함하는 방법.
  14. 제13항에 있어서, 단지 최초로 검출된 고장 메모리 셀만을 복구하는 단계는
    상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼 엔트리가 비어있는지를 판정하는 단계와,
    상기 로우 또는 컬럼 엔트리가 비어있지 않다면, 상기 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하고, 그렇지 않으면, 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비었는지를 판정하는 단계와,
    상기 식별된 에러가 복구되지 않았다면, 상기 복수의 유형의 메모리 여유분 중 제1 유형이 사용가능한지를 판정하고, 그렇지 않으면, 상기 적어도 하나의 에러 저장 테이블의 다음 로우 및 컬럼 엔트리가 비어있는지를 판정하는 단계와,
    상기 복수의 유형의 메모리 여유분 중 제1 유형이 사용가능하면, 상기 제1 유형의 여유분으로 상기 식별된 에러를 복구하고, 그렇지 않으면, 상기 복수의 유형의 메모리 여유분 중 제2 상보적 유형이 사용가능한지를 판정하는 단계와,
    상기 복수의 유형의 메모리 여유분의 제2 유형이 사용가능하면, 상기 제2 유형의 여유분으로 상기 식별된 에러를 복구하고, 그렇지 않으면, 상기 메모리가 복구가능하지 않다고 판정하는 단계를 포함하고,
    상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼 엔트리가 비어있는지를 판정하는 단계는 상기 적어도 하나의 에러 저장 테이블의 적어도 모든 로우 엔트리 또는 모든 컬럼 엔트리가 처리될 때까지 반복되는 방법.
  15. 제14항에 있어서, 상기 적어도 하나의 에러 저장 테이블의 임의의 로우 또는 컬럼 엔트리가 비어있다고 판정되면, 비어있는 유형의 다음 엔트리는 처리될 필요가 없는 방법.
  16. 제2항에 있어서, 상기 메모리의 로우 부분은 메모리의 적어도 하나의 로우를 포함하고 상기 메모리의 컬럼 부분은 메모리의 적어도 하나의 컬럼을 포함하는 방법.
  17. 제2항에 있어서, 상기 메모리의 컬럼 부분은 적어도 하나의 입력/출력(I/O) 장치를 포함하고, 상기 적어도 하나의 I/O 장치는 메모리의 적어도 하나의 컬럼에 대해 입력 및 출력 경로를 제공하는 방법.
  18. 제1항에 있어서, 복구되어야 하는 고장 메모리 셀을 복구할 때 모든 스킵된 고장 메모리 셀 중의 적어도 하나를 복구하는 단계는
    상기 복수의 유형의 메모리 여유분 중 어느 유형이 상기 복수의 유형의 메모리 여유분 중 임의의 것을 사용하여 복구될 수 있는 고장 메모리 셀 중 최다수를 복구할 수 있는지를 판정하는 단계와,
    상기 판정된 유형의 사용가능한 여유분으로 상기 최다수의 고장 메모리 셀을 대체하는 단계를 포함하는 방법.
  19. 제1항에 있어서, 적어도 메모리 일부에서 검출된 고장 메모리 셀이 복구되어야 한다고 판정하기 이전에,
    상기 메모리의 적어도 일부의 상기 복수의 유형의 메모리 여유분 중 임의의 유형이 기능성이 없는지를 판정하는 단계와,
    상기 메모리의 적어도 일부의 상기 복수의 유형의 메모리 여유분의 구성에 기초하여 기능성이 없는 메모리 여유분에 관련된 정보를 함께 그룹화하는 단계
    를 더 포함하는 방법.
  20. 제19항에 있어서, 상기 기능성이 없는 메모리 여유분에 관련된 정보를 함께 그룹화하는 단계는 상기 메모리의 적어도 일부의 다수의 부분에 대해 상기 부분이 상기 복수의 유형의 메모리 여유분의 개별 유형의 적어도 하나에 의해 복구될 수 있으면 기능성이 없는 메모리 여유분에 관한 정보를 논리적으로 OR시키는 단계를 포함하는 방법.
  21. 메모리를 분석하고 복구하는 장치에 있어서,
    메모리의 적어도 일부에서 검출된 고장 메모리 셀이 복수의 유형의 메모리 여유분 중 하나의 유형만을 사용하여 복구되어야 하는지 또는 상기 복수의 유형의 메모리 여유분 중의 임의의 유형을 사용하여 복구될 수 있는지를 판정하는 로직과,
    복구되어야 하는 새로운 에러가 복구되지 않고 스킵되는 고장 메모리 셀이 없거나 상기 메모리가 복구가능하지 않을 때까지, 상기 복수의 유형의 메모리 여유분 중 하나의 유형만을 사용하여 복구되어야 하는 고장 메모리 셀을 반복적으로 복구하고, 상기 복수의 유형의 메모리 여유분 중 임의의 유형을 사용하여 복구될 수 있는 모든 고장 메모리 셀을 스킵하는 로직과,
    복구되어야 하는 고장 메모리 셀을 복구할 때 모든 스킵된 고장 메모리 셀 중 적어도 하나를 복구하는 로직과,
    적어도 하나의 스킵된 고장 메모리 셀이 복구될 때마다 고장 메모리 셀이 복구되어야 하는지를 판정하고 복구되어야 하는 고장 메모리 셀을 반복적으로 복구하는 로직
    을 포함하는 장치.
  22. 제21항에 있어서, 상기 복수의 유형의 메모리 여유분 중 제1 유형은 메모리의 로우 및 컬럼 부분 중 하나를 복구할 수 있고, 상기 복수의 유형의 메모리 여유분 중 제2 상보적 유형은 메모리의 로우 및 컬럼 부분 중 다른 하나를 복구할 수 있는 장치.
  23. 제22항에 있어서, 복구되어야 하는 고장 메모리 셀은 사용가능한 상보형 메모리 여유분의 수를 초과하는 고장 메모리 셀의 총 수를 갖는 메모리의 개별 로우 및 컬럼 부분의 고장 메모리 셀을 포함하는 장치.
  24. 제21항에 있어서, 다수의 분석 블럭으로 상기 메모리를 논리적으로 분할하는 로직을 더 포함하고, 각각의 분석 블럭은 상기 복수의 유형의 메모리 여유분의 각각의 유형의 적어도 하나를 완전하게 포함하는 장치.
  25. 제24항에 있어서, 다수의 서브 블럭으로 각각의 분석 블럭을 논리적으로 분할하는 로직을 더 포함하고, 각각의 서브 블럭은 상기 복수의 유형의 메모리 여유분의 각각의 유형이 복구를 할 수 있는 메모리 셀의 범위에 해당하는 상기 개별 분석 블럭의 영역에 걸치는 장치.
  26. 제25항에 있어서, 메모리에서 별개의 주소지정가능한 엔트리로서 각각의 서브 블럭에 대한 고장 메모리 셀 정보를 저장하는 로직을 더 포함하는 장치.
  27. 제26항에 있어서, 각각의 서브 블럭에 대한 상기 고장 메모리 셀 정보는 분석되고 복구되는 상기 메모리의 일부에 저장되는 장치.
  28. 제26항에 있어서, 개별 서브 블럭에 해당하는 메모리의 각각의 주소지정가능한 엔트리에 대한 에러 저장 테이블을 더 포함하고, 각각의 에러 저장 테이블은 메모리의 개별 로우 및 컬럼에서 검출된 다수의 고장 메모리 셀에 관련된 정보를 저장하기 위한 로우 및 컬럼 엔트리를 갖는 장치.
  29. 제28항에 있어서,
    메모리에 저장된 적어도 하나의 에러 저장 테이블로부터 개별 로우 및 컬럼 부분에서 검출된 다수의 고장 메모리 셀에 관련된 정보를 판독하는 로직을 더 포함하고,
    상기 메모리의 적어도 일부에서 검출된 상기 고장 메모리 셀은 상기 다수의 고장 메모리 셀에 관련된 상기 정보가 판독되는 상기 적어도 하나의 에러 저장 테이블에 해당하는 서브 블럭에 위치하는 장치.
  30. 제29항에 있어서, 상기 메모리에서 검출된 모든 고장 메모리 셀이 복구되었거나 상기 메모리가 복구가능하지 않다고 판정될 때까지 상기 메모리의 별개의 부분에서 검출된 고장 메모리 셀이 복구되었는지를 판정하는 로직을 더 포함하는 장치.
  31. 제30항에 있어서, 상기 로직은 고장 메모리 셀이 상기 메모리의 상기 별개의 부분에서 동시에 복구되었는지를 판정하는 장치.
  32. 제28항에 있어서,
    상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼 엔트리가 비어있는지 또는 상기 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하는 로직과,
    상기 로우 또는 컬럼 엔트리가 비어있지 않고 상기 식별된 에러가 복구되지 않았다면 상기 식별된 에러가 복구되어야 하는지를 판정하는 로직과,
    상기 로우 또는 컬럼 엔트리가 비어있거나 상기 식별된 에러가 복구되었을 때, 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비어있는지 또는 상기 다음 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하는 로직과,
    상기 식별된 에러가 복구되어야 할 때, 상기 복수의 유형의 메모리 여유분 중 단지 하나의 유형의 여유분이 사용가능한지를 판정하는 로직과,
    상기 식별된 에러가 복구될 필요가 없을 때, 상기 식별된 에러의 복구를 스킵하고 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼이 비어있는지 또는 상기 다음 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하는 로직과,
    상기 복수의 유형의 메모리 여유분 중 단지 하나의 유형의 여유분이 사용가능할 때, 상기 복수의 유형의 메모리 여유분 중 단지 하나의 유형의 여유분으로 상기 식별된 에러를 복구하고 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비어있는지 또는 상기 다음 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하는 로직과,
    상기 복수의 유형의 메모리 여유분 중 단지 하나의 유형의 여유분이 사용가능하지 않을 때, 상기 메모리가 복구가능하지 않다고 판정하는 로직
    을 더 포함하는 장치.
  33. 제28항에 있어서, 복구되어야 하는 고장 메모리 셀을 복구할 때 모든 스킵된 고장 메모리 셀 중의 적어도 하나를 복구하는 상기 로직은 모든 스킵된 고장 메모리 셀 중 적어도 하나 중 최초로 검출된 고장 메모리 셀만을 복구하는 로직을 포함하는 장치.
  34. 제33항에 있어서,
    최초로 검출된 고장 메모리 셀만을 복구하는 상기 로직은
    상기 적어도 하나의 에러 저장 테이블의 로우 또는 컬럼 엔트리가 비어있는지를 판정하는 로직과,
    상기 로우 또는 컬럼 엔트리가 비어있지 않을 때, 상기 로우 또는 컬럼 엔트리에 의해 식별된 에러가 복구되었는지를 판정하는 로직과,
    상기 로우 또는 컬럼 엔트리가 비어있을 때, 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비어있는지를 판정하는 로직과,
    상기 식별된 에러가 복구되지 않았을 때, 상기 복수의 유형의 메모리 여유분 중 제1 유형이 사용가능한지를 판정하는 로직과,
    상기 식별된 에러가 복구되었을 때, 상기 적어도 하나의 에러 저장 테이블의 다음 로우 또는 컬럼 엔트리가 비어있는지를 판정하는 로직과,
    상기 제1 유형의 여유분이 사용가능할 때, 상기 제1 유형의 여유분으로 상기 식별된 에러를 복구하는 로직과,
    상기 제1 유형의 여유분이 사용가능하지 않을 때, 상기 복수의 유형의 메모리 여유분 중 제2 상보적 유형이 사용가능한지를 판정하는 로직과,
    상기 제2 유형의 여유분이 사용가능할 때, 상기 제2 유형의 여유분으로 상기 식별된 에러를 복구하는 로직과,
    상기 제2 유형의 여유분이 사용가능하지 않을 때, 상기 메모리가 복구가능하지 않다고 판정하는 로직
    을 포함하는 장치.
  35. 제34항에 있어서, 상기 적어도 하나의 에러 저장 테이블의 임의의 로우 또는 컬럼 엔트리가 비어있다고 판정되면, 비어있는 유형의 다음 엔트리가 처리될 필요가 없는 장치.
  36. 제22항에 있어서, 상기 메모리의 로우 부분은 메모리의 적어도 하나의 로우를 포함하고, 상기 메모리의 컬럼 부분은 메모리의 적어도 하나의 컬럼을 포함하는 장치.
  37. 제22항에 있어서, 상기 메모리의 컬럼 부분은 메모리의 적어도 하나의 컬럼에 대한 입력 및 출력 경로를 제공하는 적어도 하나의 입력/출력(I/O) 장치를 포함하는 장치.
  38. 제21항에 있어서, 복구되어야 하는 고장 메모리 셀을 복구할 때 모든 스킵된 고장 메모리 셀 중의 적어도 하나를 복구하는 상기 로직은
    상기 복수의 유형의 메모리 여유분 중의 어느 유형이 상기 복수의 유형의 메모리 여유분 중의 임의의 유형을 사용하여 복구될 수 있는 최다수의 고장 메모리 셀을 복구할 수 있는지를 판정하는 로직과,
    상기 최다수의 고장 메모리 셀을 상기 판정된 유형의 사용가능한 여유분으로 대체하는 로직을 포함하는 장치.
  39. 제21항에 있어서,
    상기 메모리의 적어도 일부의 상기 복수의 유형의 메모리 여유분 중 임의의 유형이 기능성이 없는지를 판정하는 로직과,
    상기 메모리의 적어도 일부의 상기 복수의 유형의 메모리 여유분의 구성에 기초하여 기능성이 없는 메모리 여유분과 관련된 정보를 함께 그룹화하는 로직을 더 포함하는 장치.
  40. 제39항에 있어서, 기능성이 없는 메모리 여유분과 관련된 정보를 함께 그룹화하는 상기 로직은 상기 메모리의 적어도 일부의 다수의 부분들에 대한 기능성이 없는 메모리 여유분에 관련된 정보를 상기 부분들이 상기 복수의 유형의 메모리 여유분 중의 개별 유형의 적어도 하나에 의해 복구될 수 있다면 함께 OR시키는 로직을 포함하는 장치.
KR10-2003-7001467A 2001-06-08 2002-06-07 메모리를 분석하고 복구하기 위한 방법 및 장치 KR20030020957A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29679301P 2001-06-08 2001-06-08
US60/296,793 2001-06-08
US???? 2002-06-06
US10/164,513 US20020196687A1 (en) 2001-06-08 2002-06-06 Methods and apparatus for analyzing and repairing memory
PCT/US2002/017744 WO2002101749A1 (en) 2001-06-08 2002-06-07 Methods and apparatus for analyzing and repairing memory

Publications (1)

Publication Number Publication Date
KR20030020957A true KR20030020957A (ko) 2003-03-10

Family

ID=26860631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7001467A KR20030020957A (ko) 2001-06-08 2002-06-07 메모리를 분석하고 복구하기 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US20020196687A1 (ko)
JP (1) JP2004522250A (ko)
KR (1) KR20030020957A (ko)
CN (1) CN100403443C (ko)
AU (1) AU2002314916A1 (ko)
DE (1) DE10292320T5 (ko)
WO (1) WO2002101749A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290804B (zh) * 2007-04-18 2010-10-27 智原科技股份有限公司 内建备份元件分析器以及备份元件分析方法
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
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
US20110041016A1 (en) * 2009-08-12 2011-02-17 Taiwan Semiconductor Manufacturing Company, Ltd. Memory errors and redundancy
CN102280142B (zh) * 2010-06-10 2013-11-20 英业达股份有限公司 存储器检测方法
CN103713184A (zh) * 2012-09-29 2014-04-09 英业达科技有限公司 记忆体感测器的选择方法
US9760477B1 (en) * 2016-04-12 2017-09-12 Linkedin Corporation Self-healing job executor pool
CN106128509A (zh) * 2016-06-17 2016-11-16 凌美芯(北京)科技有限责任公司 一种新型的碳纳米晶体管存储器的测试方法
CN110970083B (zh) * 2018-09-30 2022-03-29 长鑫存储技术有限公司 集成电路修复方法及装置、存储介质、电子设备
CN113541988B (zh) * 2020-04-17 2022-10-11 华为技术有限公司 一种网络故障的处理方法及装置
US20210141703A1 (en) * 2020-12-24 2021-05-13 Intel Corporation Persistent data structure to track and manage ssd defects
CN115116531A (zh) * 2021-03-19 2022-09-27 长鑫存储技术有限公司 存储器件修复方法及系统
EP4084005B1 (en) * 2021-03-19 2023-06-07 Changxin Memory Technologies, Inc. Memory device repair method and system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4573146A (en) * 1982-04-20 1986-02-25 Mostek Corporation Testing and evaluation of a semiconductor memory containing redundant memory elements
US4584681A (en) * 1983-09-02 1986-04-22 International Business Machines Corporation Memory correction scheme using spare arrays
US4939694A (en) * 1986-11-03 1990-07-03 Hewlett-Packard Company Defect tolerant self-testing self-repairing memory system
US5343429A (en) * 1991-12-06 1994-08-30 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having redundant circuit and method of testing to see whether or not redundant circuit is used therein
FR2699301B1 (fr) * 1992-12-16 1995-02-10 Sgs Thomson Microelectronics Procédé de traitement d'éléments défectueux dans une mémoire.
US5479609A (en) * 1993-08-17 1995-12-26 Silicon Storage Technology, Inc. Solid state peripheral storage device having redundent mapping memory algorithm
US5513144A (en) * 1995-02-13 1996-04-30 Micron Technology, Inc. On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same
JPH09146836A (ja) * 1995-11-21 1997-06-06 Kofu Nippon Denki Kk キャッシュ索引の障害訂正装置
JPH09306198A (ja) * 1996-02-07 1997-11-28 Lsi Logic Corp 冗長列及び入/出力線を備えたasicメモリを修復するための方法
US5764878A (en) * 1996-02-07 1998-06-09 Lsi Logic Corporation Built-in self repair system for embedded memories
US5844914A (en) * 1996-05-15 1998-12-01 Samsung Electronics, Co. Ltd. Test circuit and method for refresh and descrambling in an integrated memory circuit
JP3483724B2 (ja) * 1997-03-19 2004-01-06 シャープ株式会社 不揮発性半導体記憶装置
US5835504A (en) * 1997-04-17 1998-11-10 International Business Machines Corporation Soft fuses using bist for cache self test
US5920515A (en) * 1997-09-26 1999-07-06 Advanced Micro Devices, Inc. Register-based redundancy circuit and method for built-in self-repair in a semiconductor memory device
US5956350A (en) * 1997-10-27 1999-09-21 Lsi Logic Corporation Built in self repair for DRAMs using on-chip temperature sensing and heating
CN1223443A (zh) * 1998-01-16 1999-07-21 三菱电机株式会社 半导体集成电路装置
US5909404A (en) * 1998-03-27 1999-06-01 Lsi Logic Corporation Refresh sampling built-in self test and repair circuit
US6067262A (en) * 1998-12-11 2000-05-23 Lsi Logic Corporation Redundancy analysis for embedded memories with built-in self test and built-in self repair
JP2001052495A (ja) * 1999-06-03 2001-02-23 Toshiba Corp 半導体メモリ
KR100750416B1 (ko) * 1999-09-15 2007-08-21 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 메모리 어레이 테스트 방법 및 메모리 기반 디바이스
US6795942B1 (en) * 2000-07-06 2004-09-21 Lsi Logic Corporation Built-in redundancy analysis for memories with row and column repair
US7178072B2 (en) * 2001-06-08 2007-02-13 Renesas Technology America, Inc. Methods and apparatus for storing memory test information

Also Published As

Publication number Publication date
JP2004522250A (ja) 2004-07-22
WO2002101749A1 (en) 2002-12-19
US20020196687A1 (en) 2002-12-26
CN100403443C (zh) 2008-07-16
AU2002314916A1 (en) 2002-12-23
CN1489766A (zh) 2004-04-14
WO2002101749A8 (en) 2003-03-27
DE10292320T5 (de) 2004-08-05
WO2002101749A9 (en) 2003-09-04

Similar Documents

Publication Publication Date Title
JP3878062B2 (ja) メモリテスト情報を記憶する方法および装置
Kim et al. Built in self repair for embedded high density SRAM
US6345004B1 (en) Repair analysis circuit for redundancy, redundant repairing method, and semiconductor device
EP1416499B1 (en) Self-repairing built-in self test for linked list memories
US7251756B2 (en) Method and apparatus for increasing fuse programming yield through preferred use of duplicate data
US7149924B1 (en) Apparatus, method, and system having a pin to activate the self-test and repair instructions
Jeong et al. An advanced BIRA for memories with an optimal repair rate and fast analysis speed by using a branch analyzer
US20090006916A1 (en) Method for cache correction using functional tests translated to fuse repair
KR20030020957A (ko) 메모리를 분석하고 복구하기 위한 방법 및 장치
US7895028B2 (en) Structure for increasing fuse programming yield
JP2001216797A (ja) 内蔵メモリのための自己復旧回路を具備する集積回路半導体装置及びメモリ復旧方法
KR19990069338A (ko) 빌트인 셀프 테스트 회로를 구비한 결함구제회로 및 이를 사용한 결함구제방법
WO2014047225A1 (en) Substitute redundant memory
KR20060111856A (ko) 반도체 기억 장치
US7076700B2 (en) Method for reconfiguring a memory
Tseng et al. A reconfigurable built-in self-repair scheme for multiple repairable RAMs in SOCs
US8694838B2 (en) Cache memory, processor, and production methods for cache memory and processor
Lu et al. Efficient BISR techniques for word-oriented embedded memories with hierarchical redundancy
JPS62250599A (ja) 半導体メモリ装置
Manzini et al. A machine learning-based approach to optimize repair and increase yield of embedded flash memories in automotive systems-on-chip
JP2012009098A (ja) プログラム可能論理デバイス及びその試験方法
JP2003077291A (ja) 半導体集積回路装置
Sontakke et al. Memory built-in self-repair and correction for improving yield: a review
Huang et al. Fail pattern identification for memory built-in self-repair
Wrights Central processing unit built-in self-test for random access memory test and repair

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee