KR100402638B1 - 리던던트 디바이스 초기화 방법 및 장치 - Google Patents

리던던트 디바이스 초기화 방법 및 장치 Download PDF

Info

Publication number
KR100402638B1
KR100402638B1 KR10-2000-0052466A KR20000052466A KR100402638B1 KR 100402638 B1 KR100402638 B1 KR 100402638B1 KR 20000052466 A KR20000052466 A KR 20000052466A KR 100402638 B1 KR100402638 B1 KR 100402638B1
Authority
KR
South Korea
Prior art keywords
memory device
redundant
data
failed
fetch
Prior art date
Application number
KR10-2000-0052466A
Other languages
English (en)
Other versions
KR20010030270A (ko
Inventor
블랙몬허먼리
드레멜로버트엘런
하셀호스트켄트해롤드
마셀라제임스엔쏘니
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20010030270A publication Critical patent/KR20010030270A/ko
Application granted granted Critical
Publication of KR100402638B1 publication Critical patent/KR100402638B1/ko

Links

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/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Abstract

리던던트(redundant) 메모리 디바이스의 초기화 완료 후, 고장 메모리 디바이스에서 리던던트 메모리 디바이스로 비초기화 인출(페치) 동작의 전환을 지연함으로써, 장치, 프로그램 제품, 방법은 리던던트 메모리 디바이스를 초기화한다. 따라서, 초기화 중에 비초기화 인출 동작은 고장 메모리 디바이스로 지정되며, 비초기화 저장 동작은 리던던트 메모리 디바이스로 지정된다.

Description

리던던트 디바이스 초기화 방법 및 장치{REDUNDANT BIT STEERING MECHANISM WITH DELAYED SWITHCHOVER OF FETCH OPERATIONS DURING REDUNDANT DEVICE INITIALIZATION}
본 발명은 일반적으로 컴퓨터 등의 전자 장치와 같은 데이터 처리 시스템에 관한 것으로서, 특히 데이터 처리 시스템에서 구현된 메모리 어레이의 에러 검출 및 정정에 관한 것이다.
컴퓨터 등의 전자 장치와 같은 데이터 처리 시스템에 의해서 처리된 데이터의 무결성을 보장하는 것이 이러한 시스템의 신뢰할 수 있는 동작을 위해 중요하다. 데이터 무결성은 예를 들어 서버, 데이터베이스, 공학용 컴퓨터 등과 같은 고장 허용오차 응용에서 특히 관심사이며, 여기서 어느 에러는 복잡한 동작의 정확성을 떨어뜨리며 많은 유저에게 영향을 미치는 시스템 충돌을 야기한다.
데이터 무결성 문제는 예를 들어 데이터 처리 시스템을 위한 주 작업 기억 저장소로서 사용되는 많은 고체 메모리 어레이에 대해서 관심사이다. 고체 메모리 어레이는 통상 정적 또는 동적 랜덤 액세스 메모리(SRAM 또는 DRAM) 디바이스와 같은 복수의 집적 회로 메모리 디바이스를 이용하여 구현된다. 이러한 디바이스는 그의 수명 동안에 "하드" 및 "소프트" 에러라 불리는 것을 포함하여 많은 에러가 있게 된다.
하드 에러(hard error)는 일반적으로 디바이스의 동작 중에 발생하는 어떤 전기적인 외란 또는 제조간 발생할 수 있는 결함으로 인해 메모리 디바이스의 일부 또는 전체의 영구적인 고장이다. 하드 에러는 예를 들어 단일 메모리 셀, 메모리 셀의 행 또는 열, 입/출력 포트, 또는 전체 디바이스에 영향을 미칠 수 있다. 소프트 에러(soft error)는 일반적으로 종종 우주선 또는 알파 입자와 같은 자연 영향으로 인한 메모리 셀에 저장된 데이터 상태의 일시적인 변경이며, 디바이스를 오프 한 다음, 다시 디바이스를 온함으로써 정정 가능하다. 그러나, 회로 제조 기술의 현저한 진보에도 불구하고, 메모리 디바이스가 에러로부터 완전히 면역되지 않으며, 메모리 어레이에 저장된 데이터의 계속된 무결성을 계속해서 보장하는 방식으로 이러한 에러를 다루는 데에 현저한 개발 노력을 기울여 왔다.
예를 들어, 복잡한 에러 정정 코드(ECC) 알고리즘은 메모리 어레이의 동작 중에 일어날 수 있는 에러들을 다루기 위해 개발되었다. 데이터는 통상 데이터의 논리적 "워드"를 형성하도록 함께 정렬된 복수의 비트를 포함하는 2진 형태로 메모리 어레이에 저장된다. 대부분의 ECC 알고리즘은 통상 1워드에서 1비트가 장애가 있는 상황, 즉 "1비트 에러"라고 알려진 에러 상태를 위한 것이다. 이를 위해 대부분의 ECC 알고리즘은 데이터의 워드에 따라 별개의 에러 정정 코드를 저장하고, 데이터 워드에서 어느 1비트 에러를 검출해서 정정하기 위해 복잡한 수학적 알고리즘이 이용된다.
ECC 알고리즘은 통상 1워드에서 복수개의 비트가 장애가 있는 상황에 지정할 수 없다. 그러나, 1 비트 에러가 메모리 어레이에서 발생된 모든 많은 에러를 포함하므로, ECC 알고리즘은 ECC 가능한 데이터 처리 시스템의 데이터 무결성을 향상하기 위해 많이 사용된다. 또한, 멀티 비트 에러(복구 불가능한 에러)의 가능성을 최소화하기 위해 많은 메모리 어레이는 메모리 어드레스 공간에서 각각의 디바이스가 소정 워드의 1비트 정도를 제공하도록 메모리 디바이스를 정렬한다. 따라서 어느 소정 디바이스의 고장 또는 소정 디바이스의 일부분의 고장은 동일 워드의 또 다른 비트를 제공하는 다른 디바이스에 에러가 또한 존재한다면 치유 불가능한 에러를 야기할 것이다.
리던던트 메모리 어레이의 사용을 통해 부가적인 무결성 보호가 이용 가능하며, 메모리 어레이에서 데이터 폭의 일부분은 메모리 어레이의 다른 부분에서 에러가 검출될 때마다 사용하기 위해 보존된다. 메모리 디바이스가 어느 소정 워드에 대해서 1비트 이상의 데이터를 공급하지 않는 시스템에서, 특정 디바이스의 고장은 워드의 1비트의 고장을 가져오며, 리던던트 비트 스티어링(redundant bit steering,RBS)이라고 알려진 프로세스가 사용되어 장애가 있는 비트에서 리던던트 메모리 어레이의 보존된 공간에 할당된 리던던트 비트로 데이터 흐름을 재지정하거나 "스티어링"한다.
종종, 리던던트 메모리 어레이의 보존된 공간이 기존 디바이스에 할당될 수 있지만 리던던트 메모리 어레이의 보존된 공간이 별개의 전용 메모리 디바이스에서 할당된다. 그럼에도 불구하고, 디바이스의 어드레스 가능한 공간 전체 또는 일부에 장애가 있다고 판단되면, 장애가 있는 비트로부터의 데이터 흐름을 재지정하기 위한 프로세스는 고장 디바이스에 할당된 다른 메모리 액세스가 계속해서 처리될 수 있다는 사실에 관계없이 리던던트 디바이스로 고장 디바이스를 "교체(replcing)"하는 것이다.
고장 디바이스를 리던던트 디바이스로 교체하려면 반드시 리던던트 디바이스는 장애가 있는 디바이스로부터의 데이터에 의해 초기화될 것을 요한다. 이를 위한 대부분의 수월한 방법은 메모리 어레이로의 액세스를 단순히 금지하고, 장애가 있는 디바이스에서 리던던트 디바이스로 영향을 받은 데이터를 복사한 다음, 모든 차후의 액세스에 대해서 리던던트 디바이스로 전환하는 것이다. 그러나, 대부분의 고장 허용(fault tolerant) 어플리케이션에 있어서, 어느 상당한 시간 동안에 메모리 어레이로의 액세스를 금지하는 것은 가능하지 않다. 따라서, 리던던트 메모리 어레이는 전형적으로 리던던트 메모리 디바이스의 초기화와 동시에 발생하는 비초기화 동작을 다룰 수 있어야 만 한다.
예를 들면, 메모리 어레이를 활용하면서 리던던트 디바이스를 최소화하기 위한 하나의 방법은 리던던트 디바이스로 단순히 전환하고 ECC 로직으로 하여금 디바이스에 의해서 공급된 리던던트 비트에 있는 어느 1비트 에러를 정정하게 하는 것이다. 시간이 지남에 따라 리던던트 디바이스의 저장 장치는 정확한 데이터로 디바이스를 채울 것이다. 그러나, 초기화가 없으면 전환 시 리던던트 디바이스에서 데이터의 초기 상태를 알 수가 없고, 리던던트 디바이스를 포함하는 모든 액세스 중 통계적으로 50%가 정정될 리던던트 비트를 필요로 할 것이다. 이때 이러한 방법과 관련해서는 신뢰성이 관심사인데, 이는 또 다른 메모리 디바이스에서 어느 1 비트 에러에 대해서 리던던트 비트의 에러가 발생할 확률이 대략 50%이어서 복구 불가능한 복수 비트 에러로 되기 때문이다.
또 다른 방법은 메모리 어레이에 제공된 정규의 처리 저장 및 인출 동작을 처리하는 것과 동시에 고장 디바이스에서 리던던트 디바이스로 데이터를 복사하는 것 즉 리던던트 디바이스를 "클리닝"하는 것으로 알려진 프로세스를 행하는 것이다.
상기 "클리닝" 프로세스를 행하는 경우, 데이터는 통상 고장 메모리 디바이스에 할당된 세그먼트를 순차적으로 인출하고, 일반적인 ECC 로직을 통해 데이터를 패스하며, 정정된 데이터 세그먼트를 다시 리던던트 디바이스에 저장함으로써 복사된다. 그러나, 이러한 동작 중에 통상적으로 리던던트 디바이스를 고장 디바이스로 교체하는 하드웨어는 고장 디바이스의 클린되지 않은 영역으로 지정된 정규 인출 또는 저장 동작에 대해서는 고장 디바이스로 지정되고, 클린된 영역으로 지정된 동작에 대해서는 리던던트 디바이스에 지정되도록 제어된다. 그러나, 실용상 이러한 동작은 클린된 경계와 클린되지 않은 영역이 항상 이동하기 때문에, 디바이스의 클린된 영역으로 액세스가 지정되는지 또는 클린되지 않은 영역으로 액세스가 지정되는지를 결정하기 어렵다는 문제점이 있다. 이러한 어려움은 클린된 영역을 액세스하는 데 고장 디바이스가 이용되거나, 클린되지 않은 영역에 액세스하는 데 리던던트 디바이스가 이용되어 데이터 무결성과 관련한 잠재적 문제를 야기하는 위험을 증대시킨다. 게다가, 고장 디바이스 및 리던던트 디바이스 사이의 데이터 흐름을 적절하게 제어하는데 필요한 로직이 더 복잡해져서 추가 하드웨어를 필요로 하고 메모리 제어 설계 비용을 증대시킨다.
그러므로, 리던던트 메모리 어레이에서 리던던트 디바이스를 초기화하기 위한 개선된 방법의 필요성이 계속해서 요구되고 있다. 특히 데이터 무결성을 유지하면서 고속의 효율적인 초기화를 제공하는 리던던트 디바이스를 초기화하기 위한 개선된 방법의 필요성이 요구되고 있다.
도 1은 본 발명에 따른 컴퓨터 시스템의 블록도.
도 2는 본 발명에 따른 또 다른 컴퓨터 시스템의 메모리 인터페이스 구성요소의 블록도.
도 3은 도 2의 시스템 버스 및 메모리 어레이 사이의 데이터 흐름을 도시하는 블록도.
도 4는 도 3의 RBS 어레이의 블록도.
도 5는 도 2의 메모리 제어기에서 사용된 리던던트 비트 스티어링 로직의 블록도.
도 6은 도 2의 메모리 제어기로 수행된 에러 정정 동작 중에 발생되는 동작 순서를 도시하는 흐름도.
※도면의 주요 부분에 대한 부호의 설명※
12 시스템 프로세서
14 주기억 장치
16 캐시 시스템
20 I/O 버스 부착 인터페이스
22 워크스테이션 제어기
24 기억장치 제어기
본 발명은 리던던트 메모리 디바이스를 초기화하는 장치 및 방법을 제공함으로써 종래 기술과 관련된 상기 문제점들을 해소한다. 본 발명에 따르면, 리던던트 메모리 디바이스의 초기화 동안에 리던던트 메모리 디바이스의 초기화를 완료할 때까지 리던던트 메모리 디바이스로의 비초기화 인출 동작의 전환이 지연된다. 따라서, 초기화 동안에 비초기화 인출 동작(초기화 동작 이외의 통상의 인출 동작)은 고장 메모리 디바이스에 지정되고, 비초기화 기억 동작은 리던던트 디바이스에 지정된다.
본 발명의 실시예들은 여기서 개시하고 있는 바와 같이 대부분의 상황에서 메모리 디바이스의 고장을 야기하는 에러들이 디바이스 크기 전체와 비교할 때 상대적으로 작고, 대부분의 데이터는 여전히 고장 디바이스에서 정확하다는 사실을 이용하는 동작 유형에 기초한 라우팅을 이용한다. 따라서, 단지 저장 동작을 리던던트 디바이스로 전환하고 계속해서 리던던트 디바이스를 초기화시켜서 인출 동작을 고장 디바이스로 지정함으로써, 1 비트 에러를 가져올 수 있는 초기화 프로세스 동안에 인출 동작은 완전히 초기화되지 않은 리던던트 디바이스의 결과로서 리던던트 디바이스에 지정되었으면 고장 디바이스에 저장된 우세 정정 데이터로부터 판독된다. 1 비트 에러가 발생할 확률이 낮으므로, 정정 불가능한 복구될 수 없는 에러를 야기하는 또 다른 디바이스에서의 비트 에러 확률은 감소된다.
이후, 본 발명의 보다 상세한 설명을 위해 첨부된 도면을 참조하여 본 발명의 실시예를 설명하기로 한다.
본 발명은 리던던트 메모리 디바이스의 초기화 동안에 리던던트 메모리 어레이의 영향을 받은 부분과 관련된 인출(판독), 저장(기록) 동작을 별도로 지정하는 동작 유형에 기초한 라우팅 메카니즘(operation type-based routing mechanism)의이용을 통해 리던던트 메모리의 성능과 신뢰성을 향상한다. 특히, 초기화 동안에, 고장 메모리 디바이스와 관련된 비초기화 인출 동작은 초기화가 완료될 때까지 고장 메모리 디바이스로 지정되며, 비초기화 저장 동작은 초기화가 수행되면서 리던던트 메모리로 지정된다.
특정 디바이스에 "지정된"다는 것은 그 디바이스로부터의 데이터가 동작에 사용되고 있다는 것을 의미한다. 예를 들면, 저장 동작에 대해서 고장 또는 리던던트 디바이스로 동작을 지정하는 것은 실제로 이러한 디바이스에 데이터가 기록된다는 것을 의미한다. 이와는 달리, 고장 또는 리던던트 디바이스로 인출 동작을 지정하는 것은 이러한 디바이스로부터의 데이터가 동작에 응답해서 리턴된 데이터 워드에서 사용된다는 것을 의미한다. 그러나, 이후 설명으로부터 보다 명확해지는 바와 같이, 어느 특정 디바이스로 동작이 지정된다는 것은 또 다른 디바이스가 동작에서 액세스될 수 없다는 것을 의미하지는 않는다. 예를 들면, 여기서 설명하고 있는 실싱예에 있어서 고장 디바이스는 여전히 리던던트 디바이스에 지정된 인출 동작에 응답해서 액세스되며, 그 역의 동작 또한 가능하나, 그들로부터의 데이터는 단순히 버려진다. 이와는 달리 리던던트 디바이스에 지정된 저장 동작에 대해서, 비록 데이터가 실제적으로 결코 사용되지 않을 지라도, 데이터는 여전히 고장 디바이스에기록된다.
리던던트 메모리 어레이는 하나 이상의 물리적 메모리 디바이스, 예를 들어 동적 랜덤 액세스 메모리(DRAM) 디바이스, 정적 랜덤 액세스 메모리(SRAM) 디바이스 등에 상주하는 어드레스 가능한 메모리 위치의 어레이로 대표될 수 있다. 게다가, 이후 설명되는 바와 같이, 이러한 어레이에 제공된 리던던트 메모리 디바이스는 어레이를 구현하는 주 메모리 디바이스와는 별개의 디바이스일 수 있거나, 대안으로서 어레이에서 하나 이상의 주 메모리 디바이스의 미사용 또는 보존 공간에서 구현될 수 있다. 그러므로, 후자의 경우 리던던트 메모리 디바이스의 초기화는 실제로 디바이스의 리던던트 부분 만을 초기화하는 것으로 이루어질 수 있고, 고장 디바이스에서 리던던트 디바이스로의 전환은 전환 완료 후 여전히 사용되는 고장 디바이스의 다른 고장나지 않은 부분으로 될 수 있다.
디바이스의 최소한 고장 부분은 동작을 지정하는 정보의 적어도 1 비트를 저장할 때마다 고장 메모리 디바이스와 연관되도록 동작이 고려된다. 공지된 바와 같이, 종종 메모리 디바이스는 1 비트 정도의 특정 메모리 어드레스를 제공하도록 분할되며, 고장 메모리 디바이스는 대부분의 예에서 메모리 액세스 동작에 응답하여 1 비트 정보를 공급할 것이다.
통상, 리던던트 디바이스의 초기화는 고장 메모리 디바이스의 데이터의 적어도 일부분을 리던던트 메모리 디바이스로 중복 복사하는 것을 포함한다. 예증의 실시예에서, 각각의 디바이스는 디바이스상의 I/O 포트 수(1비트 정정 ECC를 갖는 4개의 I/O 포트와 칩 킬 능력(chip kill capability)이 이 실시예에서 사용됨)에 의거해서 복수개의 ECC 워드로 분할된다. 또한, 이 실시예에서 복수개의 "범위" 또는 칩 선택 그룹은 별도로 제어될 수 있다. 한 범위란 동시에 액세스되는 디바이스의 그룹이다. 통상, 하나 이상의 범위는 범위들 사이에서 특별한 적어도 하나의 제어 라인을 갖는 데이터 버스를 공유할 것이다. 게다가, 고장 디바이스의 고장 범위에서 모든 데이터는 리던던트 디바이스에 중복 복사된다. 그러나, 다른 실시예에서 고장 메모리 디바이스의 고장 범위의 고장 부분에 저장된 데이터를 중복 복사하는 것이 바람직하다. 또 다른 실시예에서, 고장 디바이스의 전체 내용은 또한 적절하다면 중복 복사 가능하다. 물론, 이러한 실시예에서 고장 부분에 저장된 실제 데이터는 검색 불가능할 수 있으나, 대신에 고장 디바이스에서 리던던트 디바이스로 정정 데이터를 복사하는 것과 기능적으로 같은 ECC 로직에서 생성될 수 있다.
도면으로 돌아가서, 도면에서 동일 참조 부호는 동일 요소를 가리키며, 도 1은 본 발명에 따른 리던던트 메모리 어레이를 구현하기 적합한 예증의 데이터 처리 시스템(10)의 일반적인 구성을 도시한다. 시스템(10)은 일반적으로 일례로 네트워크 서버와 같은 복수의 멀티 유저 컴퓨터 시스템과, 중급 컴퓨터와, 메인 프레임 컴퓨터 등으로 대표된다. 그러나, 본 발명은 다른 데이터 처리 시스템, 예를 들어 워크스테이션, 데스트톱, 포터블 컴퓨터 등과 같은 독립형 또는 단일 유저 컴퓨터 시스템 또는 내장된 제어기 등과 같은 다른 컴퓨팅 디바이스에서 구현될 수 있다. 데이터 처리 시스템(10)의 적절한 하나의 구현은 인터내셔널 비지네스 머신즈 코포레이션으로부터 구득이 가능한 AS/400과 같은 중급 컴퓨터에서 가능하다.
데이터 처리 시스템(10)은 일반적으로 주 기억장치(14), 예를 들어 동적 랜덤 액세스 메모리(DRAM)의 어레이를 포함하는 메모리 서브시스템에 연결된 하나 이상의 시스템 프로세서(12)를 포함한다. 통상 하나 이상의 데이터 레벨, 명령 및/또는 조합 캐시를 포함하는 캐시 시스템(16)은 프로세서(12)와 주 기억장치(14) 사이에 설치되며, 어떤 캐시들은 종래 기술에서 공지된 바와 같이 개개의 프로세서 또는 복수개의 프로세서로서 기능한다. 게다가, 캐시 시스템(16)에서 적어도 일부의 캐시는 하나 이상의 시스템 프로세서(12)와 동일한 집적 회로 디바이스상에 집적될 수 있다. 또한, 주 기억 장치(14)는 시스템 버스(18)와 복수의 인터페이스 디바이스, 예를 들어 하나 이상의 외부 네트워크(26), 하나 이상의 워크스테이션(28), 및/또는 직접 액세스 기억 장치(DASD)(30)와 같은 하나 이상의 기억 장치에 외부적인 액세스를 제공하는 입/출력 버스 부착 인터페이스(20), 워크스테이션 제어기(22), 기억장치 제어기(24)를 통해 복수 유형의 외부 디바이스에 연결된다.
데이터 처리 시스템(10)은 단지 본 발명으로 사용하기 적합한 하나의 환경을 나타내며, 본 발명은 대안으로 많은 다른 환경에서 이용 가능하다. 예를 들면, 예증의 실시예에서, 리던던트 메모리 어레이는 주 기억장치(14)내에서 구현된다. 그러나, 다른 구현예에 있어서, 리던던트 메모리 어레이는 시스템(10)내의 각종 레벨의 캐시 메모리중 어느 레벨이 캐시메모리로 또는 국부적으로 또는 외부 네트워크를 통해 시스템에 연결된 대량 기억 시스템에서와 같이 어느 다른 레벨의 메모리로 구현 가능하다. 리던던트 메모리 어레이는 고장 허용오차 및 리던던트가 바람직한 시스템(10)의 각종 전자 구성요소중 어느 구성요소의 국부 기억장치내에 또는 전자 디바이스에서 발견되는 어느 메모리 어레이내에서 구현될 수 있다. 본 발명은 여기서 설명하고 있는 특정 구현예에 제한되지는 않는다.
본 발명에 따른 리던던트 메모리 어레이는 통상 하나 이상의 프로그램 가능한 집적 회로 디바이스상에 배치된 회로 배열로 구현된다. 게다가, 종래 기술에 공지된 바와 같이, 집적 회로 디바이스는 통상적으로 집적 회로 디바이스상에서 회로 배열의 레이아웃을 한정하는 하드웨어 정의 프로그램으로서 여기서 지칭되는 하나 이상의 컴퓨터 데이터 파일을 이용하여 설계되고 제조된다. 프로그램은 통상 설계 툴에 의해서 생성되며, 계속해서 반도체 웨이퍼에 적용된 회로 구성을 형성하는 레이아웃 마스크를 생성하는 제조 중에 사용된다. 통상, 프로그램은 VHDL, 베릴로그, EDIF 등과 같은 하드웨어 정의 언어(HDL)를 이용하는 소정의 포맷으로 제공된다. 이후, 이러한 디바이스를 이용하는 데이터 처리 시스템과 집적회로 디바이스가 완전하게 기능하도록 구현된 회로 구성에 대해서 기술하기로 하며, 본 발명이 속하는 기술 분야의 숙련가라면 본 발명에 따른 회로 구성은 각종 형태의 프로그램 제품으로서 분배될 수 있고, 이 분배를 실제적으로 실행하는데 사용되는 특정 유형의 신호 전달 매체에 관계없이 본 발명을 적용할 수 있음을 알 수 있을 것이다. 일례의 신호 전달 매체는 디지털 및 아날로그 통신 링크와 같은 전송 타입 매체 중에서 휘발성 및 비휘발성 메모리 디바이스, 플로피 디스크, 하드 디스크 드라이브, CD-ROM, DVD와 같은 기록 가능한 매체를 포함하며 이에 한정되지는 않는다.
도 2는 리던던트 메모리 어레이가 인터페이스되는 공유 버스 아키텍쳐를 구현하는 또 다른 데이터 처리 시스템(50)을 도시한다. 복수의 시스템 프로세서(52) 및 하나 이상의 입/출력 장치(54)는 어드레스 버스(58) 및 데이터 버스(60)를 포함하는 공유 시스템 버스(56)에 연결된다. 또한 공유 시스템 버스(56)에는 복수의 DRAM 메모리 디바이스(66)를 포함하는 리던던트 메모리 어레이(65)와 함께 시스템 버스(56)에 연결된 각종 구성요소를 인터페이스하는 메모리 제어기(64)가 연결된다.
도 3에는 시스템 버스(56)와 리던던트 메모리 어레이(65) 사이의 정보의 데이터 흐름에 대해서 상세히 도시되고 있다. 이 실시예에서, 리던던트 메모리 어레이(65)는 어드레스 가능한 메모리 공간에서 4개의 상이한 ECC 워드를 나타내는 4개의 개별 입/출력 포트를 포함하는 4×DRAM 디바이스(66)를 이용하고 있다. DRAM 디바이스(66)는 소정의 메모리 위치에 대해 총 W(여기서, W는 각 메모리 위치에 저장된 데이터 비트 및 체크 비트의 수와 같다)의 주비트를 제공하는 주메모리 디바이스로 분할된다. 또한, 리던던트 메모리 디바이스(102)는 주 메모리 디바이스(100)중 하나에 할당된 고장 비트로 리던던트 비트(RBS 비트라 지칭)를 대체하는 리던던트 기억 장치를 제공한다.
메모리 제어기(64)는 각 메모리 디바이스(66)로부터 들어오는 4개의 입/출력 라인을 다루도록 구성된 4개의 데이터 처리 회로(110,112,114,116)와 결합한다. 각 회로(110-116)는 ECC 블럭(122)에 결합된 RBS 멀티플렉서 블럭(120)을 포함한다.
RBS 멀티플렉서 블럭(120)은 주 DRAM 디바이스로부터의 W비트의 정보와 리던던트 디바이스(120)로부터의 부가적인 RBS 비트를 수신함으로써, 총 W+1 비트의 정보를 제공한다. 인출 동작 동안, 각 블럭(120)이 이용되어 W+1 입력 비트에서 W 비트의 정보의 서브세트가 선택된다. 저장 동작 동안, 블럭(120)은 ECC 블럭(122)에서 수신된 W 비트를 리던던트 메모리 어레이의 적절한 디바이스로 경로 지정한다.
인출 동작 중에, ECC 블럭(122)은 블럭(120)으로부터 데이터를 수신해서 ECC 검출 및 정정을 수행하고 ,정정된 데이터를 시스템 버스에 출력한다. 저장 동작 중에 블럭(122)은 시스템 버스를 통해 공급된 정보로부터 ECC 데이터를 생성하여 이 데이터를 블럭(120)에 제공한다.
여기서 기술된 리던던트 메모리 어레이 초기화를 구현하기 위해, 스티어 클린업 명령 생성 로직 및 시퀀서 블럭(126)을 이용해서 RBS 어레이(128)에 RBS 데이터를 저장한다. 다음에 어레이의 정보를 이용해서 각 데이터 처리 회로(110-116)의 각각의 RBS 멀티플렉서 블럭(120)을 제어한다.
도 4에 도시한 바와 같이, RBS 어레이(126)는 통상 복수개의 엔트리(130)를 포함하며, 각 엔트리는 리던던트 메모리 어레이에 제공된 범위 또는 칩 선택 그룹을 지원한다. 예를 들면, 도 3에 도시된 실시예의 경우, 4개의 어레이 엔트리는 각 범위를 지원한다.
어레이(126)의 각 엔트리는 새로운 스티어 표시기 필드(132)와 인코딩 RBS 정보 필드(134)를 포함한다. 새로운 스티어 표시기 필드(132)는 예를 들어 관련 범위에서 초기화 프로세스의 수행 여부를 표시하는 1 비트를 이용하는 새로운 스티어(또는 초기화) 표시기를 나타낼 수 있다. 인코딩 RBS 정보는 범위의 W 비트들중 어느 것이 고장이어서 리던던트 비트로 교체되어야만 하는 지를 나타내는 2진값을 지원한다.
오직 하나의 리던던트 메모리 디바이스 만이 예증의 실시예에서 범위 마다지원되므로, 인코딩 값은 대체될 1 비트만으로 대표될 수 있다. 대안으로, 필드(134)에서 정보는 비트들의 열로서 표현될 수 있으며, 각 비트는 주 데이터 비트들 중 특정의 하나와 연관된다. 이것에 의해서 복수개의 고장 비트는 복수개의 리던던트 비트로 교체가 가능하다. 두 실시예에서 필드(134)에서 유효 비트 인코딩되지 않는 값은 리던던트 메모리 디바이스가 사용되지 않음을 나타낸다. 대안으로, "유효" 비트는 각 엔트리에서 또 다른 필드로서 부가될 수 있다.
도 5는 도 3의 범위중 하나의 블럭(120,122)의 주 구성요소를 보다 상세히 도시한다. 동 도면에 도시한 바와 같이, 동 도면에 도시한 바와 같이, 각 RBS 멀티플렉서 블럭(120)은 드라이버/리시버(140) 세트를 통해 메모리 어레이(65)와 인터페이스된다. 메모리 어레이부터 인출된 데이터는 인출 데이터 입력 래치(142)로 공급된다. 이 때, 주 데이터 비트와 리던던트 비트를 포함하는 W+1 데이터 비트는 래치(142)에 공급된다. 리던던트 비트 스티어링은 일련의 2:1 인출 멀티플렉서(144)를 이용하여 구현되며, 각각의 멀티플렉서는 주 데이터 비트 및 리던던트 비트(W 비트로서 제공됨) 중 하나를 입력으로서 수신한다. 멀티플렉서(144)의 출력은 ECC 블럭(122)의 ECC 정정 로직 블럭(146)에 공급된다. 멀티플렉서(144)는 W+1 내지 W의 총 비트수를 감소시키며, ECC 정정 로직 블럭(146)의 출력은 정정된 인출 데이터 래치(148)에 공급되어 시스템 버스(56)에 출력하는 ECC 정정값이다. 각종의 ECC 알고리즘이 본 발명에 따라 이용 가능하며, 이러한 ECC 알고리즘의 구현 및 사용은 당 기술 분야의 숙련가에게는 자명한 것이다.
저장 동작에서, 데이터가 시스템 버스(56)로부터 수신되어 데이터 흐름 멀티플렉서(150)의 한 입력에 공급되며, 다른 입력은 래치(148)의 출력에 연결된다. 멀티플렉서(150)는 2:1 멀티플렉서이며, 래치(148)에서 채워진 시스템 버스로부터의 데이터 또는 ECC 정정 데이터를 블럭(122)의 저장 데이터 래치(152)로 선택적으로 라우팅할 수 있는 선택 신호의 제어하에 있다. 이 때 래치된 데이터는 ECC 복구 코드 생성 블럭(154)에 공급되며, ECC 복구 코드 생성 블럭은 에러 검출 및 정정을 위해 시스템 버스가 공급하는 데이터와 함께 저장될 ECC 워드 또는 복구 코드를 생성하도록 블럭(146)에서 구현된 것에 대한 보충적인 알고리즘을 이용한다.
블럭(154)은 메모리 어레이에 저장될 주 데이터 비트를 나타내는 저장된 데이터 출력 래치(156)로 W 데이터 라인을 출력한다. 또한, 각각의 데이터 비트는 W 입력을 가지며, 메모리 어레이에 출력된 워드 출력과 연관된 리던던트 비트로서 래치(156)에 W 입력중 하나를 출력할 수 있는 저장 멀티플렉서(158)에 공급된다. 저장 멀티플렉서(158)는 리던던트 디바이스에 저장을 위해 리던던트 비트에 고장 메모리 디바이스에 대한 주 데이터 비트를 복사할 수 있다. 래치(156)의 출력은 드라이버/리시버 블럭(140)에 공급됨에 따라, 메모리 어레이(65)와의 인터페이스를 제공한다.
리던던트 메모리 디바이스의 초기화를 수행하기 위해, 시퀀서 블럭(126)에서 스티어 클린업 명령 생성 로직은 메모리 어레이의 각 범위와 연관된 RBS 어레이(128)에 새로운 스티어 인코딩 RBS 정보를 선택적으로 저장하기 위해 RBS 어레이(128)에 인터페이스된다. 인출 멀티플렉서(144)를 제어하기 위해, 인출 선택 로직 블럭(160)은 어레이(128)와 각각의 인출 멀티플렉서(144) 사이에 놓여진다.RBS 어레이(128)의 관련 엔트리로부터의 인코딩 RBS 정보는 또한 블럭(120)의 저장 측에서 저장 멀티플렉서(158)를 제어하는 저장 선택 로직 블럭(162)에 제공된다.
전술한 바와 같이, RBS 어레이 엔트리에 저장된 인코딩 RBS 정보는 리던던트 비트로 교체될 주 데이터 비트의 2진 표현을 제공한다. 인코딩 RBS 정보는 0 내지 W 값을 인코드하기 충분히 커야 한다. 0 내지 W 값 이외의 값은 리던던트 비트 스티어링이 수행될 수 없음을 나타낸다.
인출 선택 로직 블럭(160)은 인코딩 RBS 정보를 수신해서 그 정보를 하나의 인출 멀티플렉서(144)에 입력되는 주 데이터 비트를 리던던트 비트로 교체하기 위해 W 선택 라인들중 하나에서 선택 신호로 디코드하도록 구성된다. 그러나, 본 발명에 의하면, 디코드 동작은 새로운 스티어 표시기가 RBS 어레이 엔트리에서 어서트(assert)되지 않을 때만 발생한다. 새로운 스티어 표시기가 어서트될 때, 인출 선택 로직 블럭(160)은 리던던트 비트 스티어링이 블럭(120)의 인출 측에서 발생하지 않도록 인출 멀티플렉서(144)에 대한 모든 선택 신호를 디어서트하도록 구성된다. 다른 실시예들이 가능하며, 블럭(160)에 대한 하나의 적절한 실시예는 각 선택 라인에 결합된 AND 게이트를 가진 로직 디코더일 수 있으며, 새로운 스티어 비트가 어서트되지 않을 때만 인터버를 통해 선택 신호를 전달하도록 각 AND 게이트의 제2 입력에 새로운 스티어 비트가 결합된다.
전술한 바와 같이, 새로운 스티어 표시기는 리던던트 디바이스가 초기화되는 동안에 어서트된다. 그 결과 리던던트 디바이스의 초기화 동안에 개시된 모든 비초기화 인출 동작은 고장 디바이스로부터의 데이터를 사용할 것이다.
멀티플렉서(158)를 제어하는데 인코딩 신호가 필요하다고 주어지면, 저장 선택 로직 블럭(162)은 단순히 래치로서 구현 가능하거나 생략 가능하다. 그러나, 블럭(160)과는 달리 블럭(162)은 도시된 실시예에서 새로운 스티어 표시기에 응답하지 않는다. 그 결과 비초기화 저장 동작은 항상 인코딩된 RBS 정보가 RBS 어레이 엔트리에 저장될 때마다 리던던트 디바이스로 지정된다.
초기화 동안에, 블럭(126)은 또한 고장 범위내에 있는 메모리 어드레스를 순차적으로 인출해서 저장하는 메모리 어레이를 제어하도록 메모리 어레이(65)에 복수의 제어 라인을 통해 결합된 로직 블럭(166)과 DRAM 제어 시퀀서를 제어한다. 이러한 각각의 동작 동안에, 블럭(126)은 또한 멀티플렉서(150)의 선택 라인을 어서트하여 정정된 데이터를 리던던트 디바이스로 복사하기 위해 래치(152)로 다시 ECC 로직을 통해 인출되고 정정되는 데이터를 라우팅한다.
이러한 초기화 동안에 발생하는 동작의 순서는 도 6의 흐름도(170)로 도시되고 있다. 동 도면에서 도시되고 있는 동작의 순서는 통상 메모리 제어기에 의해서 메모리 어레이의 에러의 검출에 응답해서 개시된다. 이러한 에러 검출은 본 발명이 속하는 종래 기술에서 공지되어 있으며, 메모리 제어기에서 그의 구현은 본 발명이 속하는 기술 분야의 숙련자에게는 자명한 것이다.
이러한 검출에 응답해서, 메모리 제어기는 블럭(172)에서 데이터 처리 시스템의 운영 체제로 인터럽트 신호를 전송한다. 이 신호에 응답해서 블럭(174)에서 운영 체제는 신호 전송된 인터럽트 신호로부터 에러를 디코드하고 적합한 RBS 엔트리 데이터(새로운 스티어 비트는 어서트되고, 적절한 인코딩 RBS 정보를 포함)를 생성해서 에러에 의해서 영향을 받는 범위에 대한 RBS 어레이 엔트리에 데이터를 저장한다. 일단, 새로운 RBS 엔트리 데이터가 적절한 RBS 엔트리에 저장된 다음, 저장 동작이 즉각 리던던트 디바이스로 재지정될 것이다. 그러나, 새로운 스티어 표시기의 어서트에 의해서, 인출 동작은 여전히 고장 디바이스로 지정된다.
다음에, 블럭(176)에서 운영 체제는 예를 들어 메모리 제어기에서 인터럽트 또는 전용 핀을 어서트함으로써 메모리 제어기의 동작, 초기화, 또는 스티어 클린업을 개시한다. 클린업 동작의 개시에 응답해서, 메모리 제어기 및 도 5의 블럭(126)은 영향을 받는 범위(블럭178)에 있는 각각의 어드레스에 대해서 판독/기록 동작을 순차적으로 수행한다. 전술한 바와 같이, 메모리 어드레스를 판독해서 동일 메모리 어드레스에 즉각 그 데이터를 다시 저장함으로써, 그 범위에 대한 RBS 멀티플렉서 블럭의 구성 및 ECC 로직은 고장 디바이스로부터의 데이터를 리던던트 디바이스에 복사함으로써 리던던트 디바이스를 초기화한다.
블럭(178)의 수행 동안에 다른 비초기화 저장 및 인출 동작은 수신되어 정해지 코스로 처리 될 수 있다. 그러나, RBS 멀티플렉서의 구성을 통해, 인출 동작은 고장 디바이스로 지정되고, 저장 동작은 리던던트 디바이스로 지정된다.
일단 영향을 받은 범위에 있는 각각의 어드레스가 복사된 다음, 메모리 제어기는 범위(블럭180)와 연관된 RBS 엔트리에서 새로운 스티어 비트를 리세트한다. 표시기의 디어서트(deassert) 시, 엔트리에 저장된 인코딩 RBS 정보는 인출 디코드 로직에 의해서 디코드되어 고장 디바이스에서 리던던트 디바이스로의 인출 동작의 전환을 수행한다. 다음에 리던던트 디바이스의 초기화가 완료된다.
본 발명의 사상 및 범위를 일탈하지 않는 상기 실시예에 대한 각종 수정이 행해질 수가 있다. 예를 들면, 소정의 범위로부터 모든 데이터를 복사하기 보다는 결함이 있는 공지의 데이터 부분만을 복사하는 것이 바람직할 수가 있다.
상기 실시예는 리던던트 디바이스의 초기화 동안 신뢰성면에서 현저한 이점을 제공한다. 전술한 바와 같이, 예를 들어 고장 디바이스에서 리던던트 디바이스로의 전환이 어느 종래의 클린업 없이 발행할 때 마다, 인출 데이터가 정정되거나 ECC 로직에 의해서 정정 가능한 확률은 0.5이다. 그러나, 여기서 기술된 실시예에 의하면, 정정 불가능한 데이터의 확률은 현저히 줄어들며, 특히 디바이스의 에러가 디바이스의 전체 범위에 비해서 상대적으로 작은 일반적인 상황에서 줄어든다. 예를 들면, 16Mb 디바이스가 1Kb의 고장 데이터를 가진다면, 정정 불가능한 에러를 얻을 확률은 0.5 내지 0.0006 범위로 떨어진다.
본 발명의 사상 및 범위를 일탈하지 않는 각종의 부가적인 수정인 가능하다.

Claims (21)

  1. (가) 복수의 메모리 디바이스를 포함하는 메모리 어레이와,
    (나) 상기 메모리 어레이에 결합되고, 상기 복수의 메모리 디바이스 중 고장 메모리 디바이스 내에 저장된 데이터로 리던던트(redundant) 메모리 디바이스를 초기화하도록 구성되는 메모리 제어기로서, 상기 고장 메모리 디바이스와 관련된 모든 비초기화 인출 동작(non-initialization fetch operation)은 상기 고장 메모리 디바이스로 지정(direct)하고, 상기 고장 메모리 디바이스와 관련된 모든 비초기화 저장 동작은 상기 리던던트 메모리 디바이스로 지정하며, 상기 고장 메모리 디바이스로부터의 데이터를 상기 리던던트 메모리 디바이스에 복사함으로써 초기화 동작을 수행하는 것인 메모리 제어기를 포함하는 장치.
  2. 제1항에 있어서, 상기 복수의 메모리 디바이스는 상기 고장 메모리 디바이스를 구비하는 복수의 주 메모리 디바이스를 포함하며, 각각의 주 메모리 디바이스는 주 데이터 비트를 공급하도록 구성된 적어도 하나의 데이터 라인를 구비하며, 상기 리던던트 메모리 디바이스는 리던던트 데이터 비트를 공급하도록 구성된 적어도 하나의 데이터 라인을 포함하는 장치.
  3. 제2항에 있어서, 상기 메모리 제어기는,
    (가) 각 인출 멀티플레서가 관련된 주 메모리 디바이스로부터 상기 주 데이터 비트를 수신하도록 연결된 제1 데이터 입력 및 상기 리던던트 메모리 디바이스로부터 상기 리던던트 데이터 비트를 수신하도록 연결된 제2 데이터 입력과, 선택 입력 및 상기 관련된 주 메모리 디바이스로부터의 주 데이터 비트 또는 상기 선택 입력에 제공된 선택 신호에 응답하는 상기 리던던트 데이터 비트 중 하나를 출력하도록 구성된 선택 출력을 구비한 복수의 인출 멀티플렉서와,
    (나) 상기 메모리 어레이에 저장될 데이터 워드를 형성하는 복수의 주 데이터 비트를 수신하도록 구성된 복수의 데이터 입력과, 선택 입력 및 상기 리던던트 메모리 디바이스로부터 상기 데이터 라인에 결합된 선택 출력을 구비한 저장 멀티플렉서와,
    (다) 상기 인출 및 저장 멀티플렉서의 상기 선택 입력에 연결되며, 리던던트 비트 스티어링 정보(redundant bit steering information)에 응답하여 상기 저장 멀티플렉서의 상기 선택 입력을 구동시켜 상기 고장 메모리 디바이스과 관련된 상기 주 데이터 비트를 상기 리던던트 메모리 디바이스로 출력하도록 상기 저장 멀티플렉서를 제어하는 선택 로직을 포함하는 장치.
  4. 제3항에 있어서, 상기 선택 로직은 상기 리던던트 메모리 디바이스가 초기화되고 있는지 여부를 나타내는 초기화 표시기(indicator)에 추가로 응답하며, 상기 초기화 표시기가 상기 리던던트 메모리 디바이스가 초기화되고 있음을 표시할 때, 상기 선택 로직은 각각의 인출 멀티플렉서의 상기 선택 입력을 구동시켜 상기 관련 주 메모리 디바이스로부터 상기 주 데이터 비트를 출력하도록 각 인출 멀티플렉서를 제어하며, 상기 초기화 표시기가 상기 리던던트 메모리 디바이스가 초기화되지 않고 있음을 표시할 때, 상기 선택 로직은 상기 리던던트 비트 스티어링 정보에 응답하여 상기 고장 메모리와 관련된 상기 인출 멀티플렉서의 선택 입력을 구동시켜 상기 고장 메모리 디바이스와 관련된 상기 주 데이터 비트 대신에 상기 리던던트 데이터 비트를 출력하도록 상기 인출 멀티플렉서를 제어하는 장치.
  5. 제4항에 있어서, 상기 메모리 제어기는 복수의 엔트리를 구비한 리던던트 비트 스티어링 어레이를 포함하며, 각각의 엔트리는 상기 메모리 어레이에서 한정된 복수의 범위(extent) 중 하나와 관련되며, 각각의 엔트리는 상기 관련 범위에 대한 리던던트 비트 스티어링 정보와 초기화 표시기를 저장하는 장치.
  6. 제4항에 있어서, 상기 메모리 제어기는,
    (가) 상기 인출 멀티플렉서의 출력에 연결되며, 상기 인출 멀티플렉서로부터 출력된 데이터 비트로부터, 정정된 인출 데이터 워드를 생성하도록 구성된 에러 정정 로직과,
    (나) 저장 데이터 워드를 수신하여 이로부터 에러 복구 코드를 생성하도록 구성되고, 상기 저장 데이터 워드와 상기 에러 복구 코드를 상기 메모리 어레이와 상기 저장 멀티플렉서 양쪽에 출력하도록 구성되는 에러 복구 코드 생성 로직을 더 포함하는 장치.
  7. 제6항에 있어서, 상기 메모리 제어기는, 상기 선택 로직과 상기 메모리 어레이에 연결되며, 주 메모리 디바이스에서의 고장 검출에 응답해서 고장 메모리 디바이스를 식별하는 리던던트 비트 스티어링 정보를 생성하고, 상기 초기화 표시기를 어서트(assert)하고, 상기 고장 메모리 디바이스와 관련된 복수의 인출 및 저장 동작을 시작하여 상기 고장 메모리 디바이스에서 상기 리던던트 메모리 디바이스로 데이터를 복사한 후, 상기 초기화 표시기를 디어서트(deassert)하는 초기화 로직을 더 포함하는 장치.
  8. 제1항에 있어서, 상기 메모리 제어기는 상기 고장 메모리 디바이스와 관련된 모든 비초기화 인출 동작을 상기 고장 메모리 디바이스로 지정하고, 초기화 동작 처리 중에 상기 고장 메모리 디바이스와 관련된 모든 비초기화 저장 동작을 상기 리던던트 메모리 디바이스로 지정하는 장치.
  9. 복수의 메모리 디바이스를 구비한 메모리 어레이를 제어하는 데 사용하기 위한 회로 장치로서,
    상기 복수의 메모리 디바이스 중 고장 메모리 디바이스 내에 저장된 데이터로 리던던트 메모리 디바이스를 초기화하도록 구성되는데, 상기 고장 메모리 디바이스와 관련된 모든 비초기화 인출 동작(non-initialization fetch operation)은 상기 고장 메모리 디바이스로 지정하고, 상기 고장 메모리 디바이스와 관련된 모든 비초기화 저장 동작은 상기 리던던트 메모리 디바이스로 지정하고, 상기 고장 메모리 디바이스로부터의 데이터를 상기 리던던트 메모리 디바이스에 복사함으로써 초기화 동작을 수행하는 것인 회로 장치.
  10. 제9항의 회로 장치를 포함하는 메모리 제어기.
  11. 제9항의 회로 장치를 포함하는 데이터 처리 시스템.
  12. 삭제
  13. 메모리 어레이 내의 리던던트 메모리 디바이스를 초기화하는 방법에 있어서,
    (가) 고장 메모리 디바이스에서 리던던트 메모리 디바이스로 데이터를 복사함으로써 상기 리던던트 메모리 디바이스에 대한 초기화 동작을 처리하는 단계와,
    상기 초기화 단계 중에,
    (나) 상기 고장 메모리 디바이스와 관련된 모든 비초기화 인출 동작을 상기 고장 메모리 디바이스로 지정하는 단계와,
    (다) 상기 고장 메모리 디바이스와 관련된 모든 비초기화 저장 동작을 상기 리던던트 메모리 디바이스로 지정하는 단계
    를 포함하는 리던던트 메모리 디바이스 초기화 방법.
  14. 제13항에 있어서, 상기 고장 메모리 디바이스와 관련된 모든 비초기화 인출 동작을 상기 고장 메모리 디바이스로 지정하는 단계와, 상기 고장 메모리 디바이스와 관련된 모든 비초기화 저장 동작을 상기 리던던트 메모리 디바이스로 지정하는 단계는 초기화 동작의 처리 중에 수행되는 리던던트 메모리 디바이스 초기화 방법.
  15. 제13항에 있어서, 상기 초기화 동작 처리 후에 상기 고장 메모리 디바이스와 관련된 모든 비초기화 인출 동작을 상기 리던던트 메모리 디바이스로 지정하는 단계를 더 포함하는 리던던트 메모리 디바이스 초기화 방법.
  16. 제15항에 있어서, (가) 상기 메모리 어레이는 상기 고장 메모리 디바이스를 구비한 복수의 주 메모리 디바이스를 포함하며, 상기 각각의 주 메모리 디바이스는 주 데이터 비트를 공급하도록 구성된 적어도 하나의 데이터 라인를 구비하며, 상기 리던던트 메모리 디바이스는 리던던트 데이터 비트를 공급하도록 구성된 적어도 하나의 데이터 라인을 포함하며,
    (나) 상기 초기화 동작의 처리 후에 상기 고장 메모리 디바이스와 관련된 모든 비초기화 인출 동작을 상기 리던던트 메모리 디바이스로 지정하는 단계는 복수의 인출 멀티플렉서의 선택 입력을 제어하는 것을 포함하며, 각각의 인출 멀티플렉서는 선택 입력과, 제1 및 제2 데이터 입력과, 출력을 구비하며, 상기 제1 데이터 입력은 관련된 주 메모리 디바이스로부터 주 데이터 비트를 수신하도록 연결되며, 상기 제2 데이터 입력은 상기 리던던트 메모리 디바이스로부터 상기 리던던트 데이터 비트를 수신하도록 연결되고,
    (다) 상기 고장 메모리 디바이스와 관련된 모든 비초기화 저장 동작을 상기 리던던트 메모리 디바이스로 지정하는 단계는 선택 입력과, 복수의 데이터 입력과, 출력을 구비한 저장 멀티플렉서의 선택 입력을 제어하는 것을 포함하며, 상기 복수의 데이터 입력은 상기 메모리 어레이에 저장될 데이터 워드를 형성하는 복수의 주 데이터 비트를 수신하도록 구성되는 리던던트 메모리 디바이스 초기화 방법.
  17. 제16항에 있어서, (가) 상기 고장 메모리 디바이스와 관련된 모든 비초기화 인출 동작을 상기 고장 메모리 디바이스로 지정하는 단계는 각각의 인출 멀티플렉서의 선택 입력을 구동하여 상기 관련된 주 메모리 디바이스로부터 상기 주 데이터 비트를 출력하도록 각각의 인출 멀티플렉서를 제어하는 것을 포함하며,
    (나) 상기 초기화 동작의 처리 후에, 상기 고장 메모리 디바이스와 관련된 모든 비초기화 인출 동작을 상기 리던던트 메모리 디바이스에 지정하는 단계는, 상기 고장 메모리 디바이스와 관련된 인출 멀티플렉서의 선택 입력을 구동하여 상기 고장 메모리 디바이스와 관련된 상기 주 데이터 비트 대신에 상기 리던던트 데이터 비트를 출력하도록 상기 인출 멀티플렉서를 제어하는 리던던트 메모리 디바이스 초기화 방법.
  18. 제17항에 있어서, 초기화 표시기를 폴링(polling)함으로써 초기화 동작의 처리가 완료되었는지를 결정하는 단계를 더 포함하는 리던던트 메모리 디바이스 초기화 방법.
  19. 제17항에 있어서, 상기 고장 메모리 디바이스로부터 상기 리던던트 메모리 디바이스로 데이터를 복사하는 단계는,
    (가) 상기 메모리 어레이로부터 데이터를 인출하는 단계와,
    (나) 에러 정정 코드(ECC) 로직을 이용해서 상기 인출된 데이터를 처리하여 에러 정정 데이터를 생성하는 단계와,
    (다) 상기 에러 정정된 데이터를 다시 상기 메모리 어레이에 저장하는 단계를 포함하는 리던던트 메모리 디바이스 초기화 방법.
  20. 메모리 어레이에서 리던던트 메모리 디바이스를 초기화하는 방법에 있어서,
    (가) 고장 메모리 디바이스로부터 리던던트 메모리 디바이스로 데이터를 복사하는 단계와,
    (나) 상기 고장 메모리 디바이스로부터 상기 리던던트 메모리 디바이스로 데이터를 복사하는 동안에 비초기화 저장 동작 및 인출 동작을 수신하는 단계와,
    (다) 상기 고장 메모리 디바이스로부터 상기 리던던트 메모리 디바이스로의 데이터 복사를 완료하기 전에, 상기 고장 메모리 디바이스로부터 상기 리던던트 메모리 디바이스로 각각 수신된 고장 메모리 디바이스와 관련된 비초기화 저장 동작을 재지정하는 단계와,
    (라) 상기 고장 메모리 디바이스로부터 상기 리던던트 메모리 디바이스로의 데이터 복사를 완료한 후, 상기 고장 메모리 디바이스로부터 상기 리던던트 메모리 디바이스로 각각 수신된 고장 메모리 디바이스와 관련된 비초기화 인출 동작을 재지정하는 단계를 포함하는 리던던트 메모리 디바이스 초기화 방법.
  21. 제20항에 있어서, 상기 고장 메모리 디바이스로부터 상기 리던던트 메모리 디바이스로의 데이터 복사를 완료하기 전에, 상기 고장 메모리 디바이스와 관련된 수신된 비초기화 인출 동작은 상기 고장 메모리 디바이스로 지정되는 리던던트 메모리 디바이스 초기화 방법.
KR10-2000-0052466A 1999-09-15 2000-09-05 리던던트 디바이스 초기화 방법 및 장치 KR100402638B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9/396,973 1999-09-15
US09/396,973 1999-09-15
US09/396,973 US6505306B1 (en) 1999-09-15 1999-09-15 Redundant bit steering mechanism with delayed switchover of fetch operations during redundant device initialization

Publications (2)

Publication Number Publication Date
KR20010030270A KR20010030270A (ko) 2001-04-16
KR100402638B1 true KR100402638B1 (ko) 2003-10-22

Family

ID=23569370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0052466A KR100402638B1 (ko) 1999-09-15 2000-09-05 리던던트 디바이스 초기화 방법 및 장치

Country Status (2)

Country Link
US (1) US6505306B1 (ko)
KR (1) KR100402638B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304854B2 (en) 2012-06-04 2016-04-05 SK Hynix Inc. Semiconductor device and operating method thereof

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162668B2 (en) * 2001-04-19 2007-01-09 Micron Technology, Inc. Memory with element redundancy
US6865702B2 (en) * 2001-04-09 2005-03-08 Micron Technology, Inc. Synchronous flash memory with test code input
US7640465B2 (en) * 2001-04-19 2009-12-29 Micron Technology, Inc. Memory with element redundancy
US9098932B2 (en) * 2004-08-11 2015-08-04 Ati Technologies Ulc Graphics processing logic with variable arithmetic logic unit control and method therefor
US7577869B2 (en) * 2004-08-11 2009-08-18 Ati Technologies Ulc Apparatus with redundant circuitry and method therefor
US7761678B1 (en) 2004-09-29 2010-07-20 Verisign, Inc. Method and apparatus for an improved file repository
JP4736828B2 (ja) * 2006-02-03 2011-07-27 株式会社デンソー 電子制御装置
US9135017B2 (en) * 2007-01-16 2015-09-15 Ati Technologies Ulc Configurable shader ALU units
US20090089515A1 (en) * 2007-10-02 2009-04-02 Qualcomm Incorporated Memory Controller for Performing Memory Block Initialization and Copy
US8683270B2 (en) * 2010-04-29 2014-03-25 Micron Technology, Inc. Signal line to indicate program-fail in memory
US9037931B2 (en) 2011-12-21 2015-05-19 Advanced Micro Devices, Inc. Methods and systems for logic device defect tolerant redundancy
WO2023085589A1 (ko) * 2021-11-10 2023-05-19 삼성전자 주식회사 전자 장치의 초기화 상황에서 데이터 보존 방법 및 그 전자 장치
EP4394607A1 (en) 2021-11-10 2024-07-03 Samsung Electronics Co., Ltd. Method for preserving data in initialization situation of electronic device and electronic device thereof

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4608687A (en) * 1983-09-13 1986-08-26 International Business Machines Corporation Bit steering apparatus and method for correcting errors in stored data, storing the address of the corrected data and using the address to maintain a correct data condition
US4899342A (en) * 1988-02-01 1990-02-06 Thinking Machines Corporation Method and apparatus for operating multi-unit array of memories
JP2617026B2 (ja) * 1989-12-22 1997-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害余裕性メモリ・システム
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5267242A (en) * 1991-09-05 1993-11-30 International Business Machines Corporation Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
JP3078972B2 (ja) * 1993-11-05 2000-08-21 富士通株式会社 ディスクアレイ装置
US5493508A (en) * 1994-06-01 1996-02-20 Lsi Logic Corporation Specification and design of complex digital systems
US6351427B1 (en) * 1997-12-10 2002-02-26 Texas Instruments Incorporated Stored write scheme for high speed/wide bandwidth memory devices
JPH11203157A (ja) * 1998-01-13 1999-07-30 Fujitsu Ltd 冗長装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304854B2 (en) 2012-06-04 2016-04-05 SK Hynix Inc. Semiconductor device and operating method thereof

Also Published As

Publication number Publication date
US6505306B1 (en) 2003-01-07
KR20010030270A (ko) 2001-04-16

Similar Documents

Publication Publication Date Title
US5267242A (en) Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US5822782A (en) Methods and structure to maintain raid configuration information on disks of the array
KR920005297B1 (ko) 고장 방지 컴퓨터 메모리 시스템
US5867642A (en) System and method to coherently and dynamically remap an at-risk memory area by simultaneously writing two memory areas
EP1848001B1 (en) Soft error location and sensitivity detection for programmable devices
US5228046A (en) Fault tolerant computer memory systems and components employing dual level error correction and detection with disablement feature
US5434868A (en) Fault tolerant memory
US6181614B1 (en) Dynamic repair of redundant memory array
US7533321B2 (en) Fault tolerant encoding of directory states for stuck bits
US8099570B2 (en) Methods, systems, and computer program products for dynamic selective memory mirroring
KR100402638B1 (ko) 리던던트 디바이스 초기화 방법 및 장치
US20090006916A1 (en) Method for cache correction using functional tests translated to fuse repair
JPH081617B2 (ja) メモリフォルトマッピング装置、検出エラーのマッピング方法及びマルチパスメモリフォルトマッピング装置
US7185246B2 (en) Monitoring of solid state memory devices in active memory system utilizing redundant devices
US5200963A (en) Self-checking on-line testable static ram
JPH0769873B2 (ja) コンピユータのためのメモリ装置及びメモリ構成方法
US6457067B1 (en) System and method for detecting faults in storage device addressing logic
JPH10301846A (ja) 修復マスクを使用したキャッシュ・アレイ欠陥の機能的迂回方法及びシステム
US7076686B2 (en) Hot swapping memory method and system
US5832005A (en) Fault-tolerant method and means for managing access to an initial program load stored in read-only memory or the like
JP4434548B2 (ja) L2訂正可能エラーのための複数のプロセッサ・コアの割振り解除方法
US9037948B2 (en) Error correction for memory systems
US7689891B2 (en) Method and system for handling stuck bits in cache directories
US11449397B2 (en) Cache array macro micro-masking
KR920010972B1 (ko) 고장 방지 컴퓨터 메모리 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee