[go: up one dir, main page]

KR100301719B1 - 고장방지큐시스템 - Google Patents

고장방지큐시스템 Download PDF

Info

Publication number
KR100301719B1
KR100301719B1 KR1019960702770A KR19960702770A KR100301719B1 KR 100301719 B1 KR100301719 B1 KR 100301719B1 KR 1019960702770 A KR1019960702770 A KR 1019960702770A KR 19960702770 A KR19960702770 A KR 19960702770A KR 100301719 B1 KR100301719 B1 KR 100301719B1
Authority
KR
South Korea
Prior art keywords
pointer
pointers
test
buffer memory
list
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019960702770A
Other languages
English (en)
Other versions
KR960706126A (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 KR960706126A publication Critical patent/KR960706126A/ko
Application granted granted Critical
Publication of KR100301719B1 publication Critical patent/KR100301719B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Indole Compounds (AREA)
  • Plural Heterocyclic Compounds (AREA)

Abstract

본 발명은 스위치로부터 하나이상의 출력 포트를 위한 공통 버퍼 메모리(32)에 패킷 스위치의 데이타를 버퍼링하기 위한 고장 방지 큐 시스템에 관한 것으로서, 상기 시스템은 버퍼 메모리에서 저장 위치를 식별하기 위한 다수의 포인터를 사용한다. 동일 포인터의 다수의 카피는 각 포인터의 시스템내에 포함된 카피의 수가 기록되는 다수의 포인터 리스트(56)를 사용함으로써 제어되는 방식으로 취급된다. 유지보수 기능(52)은 포인터의 카피의 수가 각각의 포인터를 위한 다수의 포인터 리스트(56)내에 기록된 값과 일치하는지를 검사한다. 유지보수 기능(52)은 한번에 하나씩 모든 포인터와 부속 버퍼 위치를 순환적으로 검사한다. 이것은 초기화 절차보다 뒤에 수행되는데, 이 절차 동안 큐의 포인터를 큐잉하기 위한 출력 큐 리스트로부터 메모리의 출력 포인터까지 유휴 리스트(38)로 복귀되는 포인터의 플로우(flow)로부터 포인터를 필터링 제거함으로써, 이 포인터는 큐 시스템에 문제의 포인터의 각 카피가 비워질 때까지 제거된다. 이때, 문제의 포인터의 복귀된 카피의 수는 다수의 포인터 리스트(56)의 값과 비교된다. 그후에, 유지보수 기능은 순환적인 제어를 수행하기 위한 하나이상의 동작 모드에 따라서 동작될 수 있다.

Description

[발명의 명칭]
고장 방지 큐 시스템
[발명의 기술분야]
제 1 양상을 따른 본 발명은 어드레스의 온-라인 유지된 유휴 리스트에서 메모리의 자유 저장 위치들로 기록 동작을 수행하기 위한 메모리내 저장 위치의 선택을 위한 큐 시스템(queue system)에 관한 것이다. 이 큐 시스템은 또한 메모리에 초기에 저장된 데이타를 수집하기 위한 어드레스를 계산한다.
제 2 및 제 3 양상을 따른 본 발명은 스위치의 하나이상의 포트를 위한 공통 버퍼 메모리에 패킷 스위치의 데이타를 버퍼링하기 위한 큐 시스템에 관한 것이다. 이 시스템은 버퍼 메모리내 저장 위치를 식별하는 다수의 포인터(pointers)를 사용한다. 이 포인터들은 여러 논리적인 리스트들간에서 이동되어 지정된 버퍼 위치내 데이타에 대해 수행되는 동작을 표시한다.
본 발명은 또한 상술된 종류의 큐 시스템과 관련하여 저장 위치 및 포인터를 각각 테스트하기 위한 방법에 관한 것이다.
[관련기술의 설명]
메모리가 컴퓨터 및 다른 장치에 사용될때, 어드레스 계산은 특정 데이타를 저장하기 위하여 사용되는 물리적인 위치를 결정한다. 사용될 어드레스의 가장 간단한 직접 어드레싱, 결정 또는 계산은 프로그램의 컴파일에서 수행되거나 고정된 프로그램을 갖는 장치에 대한 하드웨어 설계와 관련하여 수행된다. 간접 어드레싱 및 링크된 리스트들은 보다 유연한 어드레싱 방법의 예이다. 여기서, 어드레스 정보는 다른 어드레스 위치 또는 계수기 등에 저장된다. 따라서 어드레스 계산은 고정되는 것이 아니라 저장된 데이타의 포맷 및 양에 적응하기 위하여 실행동안 변화한다.
직접 어드레싱을 갖는 간단한 FIFO 메모리들은 종종 기록 및 판독 어드레스를 증분시키기 위한 계수기로 실현되거나, 또는 이들의 가장 간단한 형태에서 시프트 레지스터내 고정된 어드레스로 실현된다. 동적인 간접 어드레싱과 관련하여, 어드레스 포인터가 사용되는데, 이들 또한 메모리내에 저장된다. 시스템 시작에서, 이들 포인터는 시스템을 위한 유효한 포인터 세트를 얻기 위하여 초기화되는데, 이들 유효 포인터는 상기 시스템과 함께 동작된다. 그리고 나서, 시스템의 기능은 동작동안 파괴되지 않는 이 포인터 초기화에 좌우된다. 포인터 값의 비트 에러는 시스템의 지속적인 오기능을 초래한다. 연속 동작시에 고 신뢰성을 요구하는 시스템에 대해선, 이것은 문제가 된다.
대규모 반도체 메모리들은 통상적으로 제조 수율을 개선하기 위하여 용장성(redundancy)을 갖고 있다. 여기서, 용장성이란 여분 회로(spare circuit)의 로우 및 칼럼을 의미하는데, 이것은 통상적인 회로를 대체하기 위하여 회로에 접속될 수 있다. 이것은 퓨즈를 용해함으로써 또는 공장에서 회로를 영구히 재구성하는 다른 수단에 의해 이루어진다.
테스트는 수리를 필요로 하는 회로를 결정하기 위해 수행된다. 제조 에러가 발생되고 이 에러가 여분 회로의 회로와의 접속에 의해 정정될 수 있다면, 제조 에러의 형태가 결정되고 이 정정이 수행된다.
용장성이 없는 반도체 메모리에서, 메모리내의 어드레스 및 물리적 위치 사이의 맵핑이 메모리를 설계하는 동안 결정된다. 여분이 있는 반도체 메모리에서, 이 맵핑은 설계동안 부분적으로 설정되고 에러있는 메모리 위치가 정정될때 제조동안 완료된다.
디스크 메모리의 경우, 사용될 수 있는 디스크상의 섹션을 결정하기 위한 포맷팅 동작 동안, 디스크를 동작시키기 전 테스트 절차가 사용된다. 이 목적은 불량한 섹션을 갖는 디스크를 사용할 수 있도록 하기 위해서이다. 사용된 에러 가설(error hypothesis)은 디스크상의 어떤 위치가 완벽하지 않은 제조로 인해 불량하게 될 수 있다는 것이다. 양호한 섹터 및 불량한 섹터로 분할하는 것은 포맷팅 공정동안 수행될 수 있고 또한 변경될 필요가 없는 것으로 하자. 디스크 어드레싱 에러의 위험은 포맷팅 절차동안 고려될 필요가 없다.
어떤 시스템에서, 에러 교정 코드(ECC = Error Correcting Code)는 동작 동안 비트 에러에 대한 에러 허용한계를 얻기 위하여 사용된다. 동작하는 동안 발생하는 이들 에러들은 소프트(soft)하거나 또는 견고(hard)할 수 있는데, 즉 일시적인 교란 또는 고정된 에러일 수 있다. 각 워드에서 교정될 수 있는 비트수는 한계가 정해져 있다. 가장 빈번히 사용되는 코드는 단일 비트 에러를 교정할 수 있고 이중 비트 에러를 검출할 수 있다. 가장 최근에, 에러 교정 코드 및 여분의 로우를 조합하면은 반도체 메모리에서 상당히 높은 제조 에러의 정정 능력을 갖는 에러 방지 시스템(error tolerant system)을 제공한다는 것이 판명되었다(IEEE transactions on computers, Vol. 41 #9 Sept. 1992, pp 1078∼1087을 참조).
제조 완료전에 장치의 수리는 공장의 제조 라인상에서 퓨즈 프로그래밍(기능에 영향을 미치는 전기 회로에서 접속의 지속적인 변경-퓨즈 또는 안티퓨즈라 칭한다)을 위한 테스트 장치와 장비 및 퓨즈 요소를 포함하는 제조 공정을 필요로 한다. 이것은 제조 싸이클의 연장으로 인한 단가 상승을 의미한다. 수리 작업에 관한 성공도는 이들이 여분의 로우 및 컬럼의 사용을 기초로 한다는 점과 산발적인(sporadic) 단일 에러의 처리에 관한 경직성(inflexibility)에 의해 제한된다.
에러 교정 코드의 사용은 격리된 단일 에러를 처리한다. 그러나, 충분한 효율을 위해선 용장성 로우를 갖는 어떠한 종류의 시스템과의 조합을 필요로 한다. 최신 기술을 따르면, 이것은 회로가 완료되기전 퓨즈 프로그래밍 및 테스트를 의미한다.
미국 특허 US 4,049,965호는 동작 동안 에러 검출에 관한 최신 기술의 일예이고 시간 다중화(time multiplexing) 모드로 메모리 작업의 관리를 서술한다. 인입하는 데이타는 워드들 다수의 스텝(multiple step) 메모리의 각 스텝에 일시적으로 저장되고 또다른 수정을 위해 판독 출력된다. 테스트는 메모리가 정상 동작을 벗어나지 않게 하면서 수행된다. 이 메모리는 2 진 워드가 기록되고 각 스텝에서 판독 출력되는 n 시간 슬롯의 반복된 주사 싸이클로 주기적으로 어드레스되는 다수의 n 스텝으로 구성된다. 메모리 스텝에 기록된 워드는 바로 후속하는 싸이클에서 판독 출력된다. 오기능은 패리티 검사로 검출된다.
미국특허 US 3,863,227 호는 메모리가 온-라인일때 코어 메모리내의 여러 코어 소자에 액세스하기 위하여 사용되는 개별적인 전자 제어 소자들 중 각각 하나의 소자를 선택하여 테스트하는 것을 기술한다. 따라서, 문제는 메모리에 포함된 메모리 저장 소자가 아니라 메모리 시스템의 온라인 테스트의 문제이다. 패리티 테스트의 사용이 기술되지 않았다.
미국 특허 US 5,016,248 호는 초기화 또는 유지보수를 언급함이 없이 패킷 전송을 위한 큐 시스템을 서술한 것이다.
[발명의 요약]
본 발명의 제 1 목적은 동적인 간접 어드레싱으로 큐 시스템에서 처리되는 포인터의 연속적인 유지보수로 에러 허용한계를 제공하여 시스템이 종료되는 상태와 관계없이 상기 시스템이 항상 정확한 포인터 세트를 리세팅할 수 있는 능력을 갖도록 하는 것이다.
본 발명의 제 2 목적은 시스템의 동작중에 발생할 수 있는 메모리내 에러에 대한 에러 허용한계를 성취하고자 하는 것이다.
본 발명의 제 3 목적은 새로운 방식으로 용장성 회로를 구성하고 사용함으로써 대규모 반도체 메모리의 제조시에 수율을 개선고자 하는 것이다. 에러 허용한계를 사용함으로써, 작은 제조 에러를 갖는 메모리가 정확한 방식으로 동작되어 거부(rejection)될 필요가 없다. 여분의 용량을 유지하기 위하여 테스트 절차동안 이 거부 레벨을 적절하게 설정함으로써, 메모리 처리 시스템은 또한 작업동안 발생하는 에러로부터 복구될 수 있다.
본 발명에 따르면, 상술된 목적들은 다음 방법으로 완전히 또는 부분적으로 이루어진다.
상술된 제1 양상을 따른 큐 시스템에서 저장 위치는 시스템의 동작 동안 유휴 싸이클의 각 저장 위치상에 주기적으로 수행되는 테스트 절차에 노출된다. 이 절차의 결과는 유휴 리스트의 유지보수를 위하여 사용된다. 테스트를 위하여 선택된 어드레스들은 시스템에 의해 제어될 때 시스템 사용으로부터 해제된다.
한 실시예에서, 저장 위치의 테스트는 시스템에 의한 사용으로부터 해제되는 것을 대기한후 수행되고 시스템 사용으로의 복귀는 저장 위치가 테스트를 견딜때만 수행된다.
또다른 실시예에서, 저장 위치에 대한 어드레스는 테스트될 저장 위치의 내용을 자유롭고 에러 없는 저장위치로 카피(copy)함으로써 해제된다. 이때, 어드레스 계산은 새로운 저장 위치에 의해 사용되기 위하여 다시 향하게 된다. 최종적으로 테스트된 저장 위치는 테스트를 견딜때만 시스템 사용으로 복귀된다.
다른 실시예에서, 테스트를 견디지 못하는 저장 위치는 그 저장 위치를 포함하는 모든 메모리 블록이 시스템에서의 사용으로부터 해제될때 다시 테스트된다.
또다른 실시예에서, 결정된 저장 위치의 테스트를 수행하기 위한 메모리 테스트 논리는 모든 어드레스가 테스트 논리에 의해 제어되는 오프-라인 테스트에서 테스트되는 제1 모드에서 동작하고(이 동작 동안 카운팅은 교정가능한 에러를 가진 저장 위치의 수로 수행되고 교정가능하지 않는 기존의 에러가 표시된다) 온-라인 테스트되는 제2 모드에서 동작한다(이 동작 동안, 메모리 테스트 논리만이 테스트되는 메모리 위치에 대한 데이타를 검사하고 다른 저장 위치는 시스템에 의해 제어되는 어드레스로서 정상 동작 동안의 데이타로 동작된다)
상술된 제 2 양상을 따른 큐 시스템에서, 유지보수 기능은 시스템이 버퍼 메모리내 각각의 유효한 패킷 위치에 대한 하나 그리고 단지 하나의 포인터만을 포함하도록 보장한다.
상술된 제 3 양상을 따른 큐 시스템에서, 동일한 포인터의 카피는 각 포인터의 시스템에 포함된 카피 수가 기록되고, 또한 유지보수 기능이 포인터의 카피의 수가 각 포인터를 위한 다수의 포인터 리스트에 기록된 값과 일치하는가를 검사하는 다수의 포인터 리스트를 사용함으로써 제어된 방식으로 처리된다.
제 1실시예에서, 각 포인터 카테고리에 대한 후속하는 논리 리스트들은 다수의 포인터 리스트 이외에 유휴 포인터를 위한 유휴 리스트, 출력 포트에 대한 큐내 큐잉된(queued) 포인터를 위한 출력 큐 리스트 및 차단 포인터를 위한 차단 리스트(blocking list)에서 사용된다. 유지보수 기능은 모든 포인터와 종속 버퍼 위치를 한번에 하나씩 순환적으로 검사하는데, 이 검사는 초기화 절차보다 뒤에 수행된다. 이 절차동안, 포인터는 포인터의 플로우(flow)로부터의 포인터를 필터링 제거함으로써 동작에서 제거되는데, 이것은 큐 시스템이 그 포인터의 각각의 카피가 비워질 때까지 출력 큐 리스트로 부터 유휴 리스트로 복귀되며, 이때, 그 포인터의 복귀된 카피 수는 다수의 포인터 리스트의 값과 비교된다.
이 실시예의 제 1 개선 방안으로서, 유지보수 기능은 초기화 절차 그리고 결정된 제한수 보다 많은 포인터가 상기 초기화 절차에 따라서 발견되었다는 사실(상기 포인터의 각 카피의 수가 그 포인터용 다수의 포인터 리스트에서의 값과 일치하지 않는다) 또는 외부 신호에 활성화된 후, 포인터를 유휴 리스트로 복귀시키며, 다수의 포인터 리스트의 값을 다수의 카피가 없는 것으로 리세트하고 차단 리스트에서 포인터가 차단되지 않는다는 것을 표시하는 제1 동작 모드를 갖는다.
제 2 개선 방안으로서, 유지보수 기능은 초기화 절차 및 결정된 절차 및 결정된 제한 수 보다 많은 상실(lost) 또는 다수의 포인터가 상기 초기화 절차에 따라서 발견되었다는 사실 또는 외부 신호에 의해 활성화된 후 각 포인터의 카피를 유휴 리스트로 복귀시키고 차단 리스트에서 포인터가 차단되지 않는다는 것을 표시하는 제 1 동작 모드를 갖는다.
유지보수 기능은 단지 하나의 부가적인 동작 모드, 즉 제 2 모드를 가질 수 있다. 이 경우, 제 2 동작 모드는 모든 포인터에 대하여 실행되는 제 1 동작 모드에 의해 활성화된다. 이때, 초기화 절차는 각 포인터에 대해 한번에 하나씩 수행되고 버퍼 메모리는 상기 포인터에 의해 식별된 차단되지 않은 메모리 위치에 낮은 우선 순위로 큐잉된다. 차단되지 않은 모든 다른 메모리 위치들은 테스트 동안 시스템으로 실행된다. 메모리 테스트의 결과는 버퍼 메모리 테스트가 정확한 결과를 제공하는 경우 상기 포인터를 유휴 리스트로 복귀시키는데 사용되지만, 버퍼 메모리 테스트가 포인터에 의해 규정된 에리어의 오기능을 표시하는 경우 시스템에서의 사용으로부터 차단된다. 차단된 포인터들은 시스템 데이타가 차단된 포인터에 의해 식별되는 위치를 포함하는 버퍼 메모리 세크먼트내 어디에라도 저장되는 동안 큐에서 유지되는 데이타 동작을 각각 테스트함으로써 조절된 제1 타입과 동일한 타입의 제2 버퍼 메모리 검사에 노출된다. 제 2 테스트의 결과는 테스트가 정확한 결과를 제공하는 경우 포인터를 유휴 리스트로 복귀시키기 위해 사용되는 반면, 차단된 포인터들은 제2 제한 수를 초과하는 다수의 연속적인 테스트에서 수용된 후 우선적으로 유휴 리스트로 복귀된다.
유지보수 기능이 다수의 여러 동작 모드를 갖는 경우, 모든 포인터에 실행되는 제 1 모드에 의해 활성화된 제 2 동작 모드를 가질 수 있고, 이때 초기화 절차는 포인터에 대해 다시 수행된다. 간단한 기록 및 판독 테스트는 포인터에 의해 식별되는 버퍼 메모리 위치에서 실행하기 위하여 큐잉되는데, 상기 포인터의 카피의 다수의 포인터 리스트내 값과 일치하지 않는다. 기록 및 판독 테스트의 결과는 테스트가 정확한 결과를 제공하는 경우 바로 그 포인터를 유휴 리스트로 복귀시키기 위해 사용되지만, 테스트가 바로 그 포인터에 의해 식별된 에리어내에서 오기능을 표시하는 경우 시스템에서 사용으로부터 차단하여 제거한다.
제 3 동작 모드는 모든 포인터에 대해 실행되는 제 2 모드에 의해 활성화되는데, 이때 초기화 절차가 차단되지 않은 포인터에 대해 다시 한번 실행된다. 제 2 동작 모드에서 간단한 기록 및 판독 테스트로 검출되지 않은 오기능의 타입을 검출하기 위한 버퍼 메모리 테스트가 초기화된 포인터에 의해 식별되는 버퍼 메모리 위치에 대해 실행하기 위하여 큐잉되는데, 상기 메모리 위치는 테스트 데이타로 실행되는 반면, 차단되지 않은 모든 다른 버퍼 메모리 위치들은 각각의 차단된 포인터에 대한 테스트 동안 시스템 데이타로 실행된다. 테스트의 결과는 버퍼 메모리 테스트가 정확한 결과를 제공한 경우 포인터를 유휴 리스트로 복귀시키는데 사용되지만, 버퍼 메모리 테스트가 포인터에 의해 식별된 에리어내에서 오기능을 표시하는 경우 시스템에서의 사용으로부터 차단하여 제거한다.
제 4 동작 모드는 모든 포인터에 대해 실행되는 제 3 모드에 의해 활성화되는데, 이때 초기에 차단된 포인터들이 모든 포인터에 대해 한번에 하나씩 상기 초기화 절차를 순환적으로 수행함으로써 테스트를 위해 수용된다. 제 3 모드와 동일한 종류의 버퍼 메모리 테스트가 차단되지 않은 포인터에 적용되는 반면, 초기에 차단된 포인터들은 시스템 데이타가 바로 상기 초기에 차단된 포인터에 의해 식별된 위치들을 포함하는 버퍼 메모리 세그먼트내 어디에라도 저장되는 동안 큐에서 유지되는 데이타 동작을 테스트함으로써 조절되는 동일한 타입의 버퍼 메모리 테스트에 노출된다. 테스트 결과는 초기에 차단된 포인터를 위한 수용되지 않는 테스트 및 차단되지 않은 포인터를 위한 제3 모드와 동일한 방식으로 사용되는 반면, 초기에 차단된 포인터들은 제한 수로 규정된 다수의 연속적인 테스트에서 수용된후 우선적으로 유휴 리스트로 복귀된다.
본 발명에 따른 메모리 처리 시스템은 시스템이 동작될때 제조 에러에 대해 동적인 허용한계를 제공한다. 공장에서 재구성에 의한 수리와 테스트가 필요치 않게 된다. 테스트는 메모리가 의도된 응용을 위해 충분한 저장능력을 가졌는지 여부를 결정하기 위해 제조를 완료한 후 수행된다.
[도면의 간단한 설명]
제1도는 본 발명의 한 양상을 따른 큐 시스템을 개략적으로 도시한 도면.
제2도는 본 발명의 다른 양상이 사용된 패킷 스위치의 실시예를 부분적으로 도시한 블록도.
제3도는 제2도에 따른 패킷 스위치내 어드레스 포인터 및 버퍼 메모리 위치를 테스팅하기 위한 유지보수 기능에 포함된 주 동작 모드의 흐름도.
제4∼7도는 제3도의 각 모드의 흐름도.
[본 실시예의 상세한 설명]
본 발명은 첨부도면에 도시된 실시예를 참조해 보다 상세히 기술될 것이다.
제1도는 데이타 메모리(2)에서 저장 위치를 선택하여 어드레스의 온라인 유지된 유휴 리스트(6)에서 메모리(2)내 자유 저장 위치로 이들상에 기록 동작(화살표 4)을 수행하고 메모리(2)내에 초기에 저장된 데이타를 수집(화살표 8)을 수행하는 큐 시스템을 개략적으로 도시한 것이다. 최종 언급된 어드레스는 메모리(2)내의 사용된 저장 공간위의 리스트(12)에 전송된다(화살표 10).
본 발명의 제 1 양상을 따르면, 테스팅 논리(14)에 의해 메모리의 메모리 위치는 시스템의 동작중 유휴 싸이클 동안 각 저장 위치에 대해 주기적으로 수행되는(화살표 16) 테스팅 절차를 겪게된다. 테스트받는 위치는 리스트(12)에 포함된 어드레스에 의해 선택되는데(화살표 18), 선택된 위치들은 시스템에 의해 제어된 시스템 사용으로부터 해제된다. 테스트의 결과는 유휴 리스트(6)의 유지보수(화살표 20)를 위하여 사용된다.
저장 위치의 테스팅은 시스템 사용으로부터 해제를 대기한 후에 수행될 수 있다. 또한, 테스트 받는 저장 위치에 대한 어드레스가 테스트될 저장 위치의 내용을 자유롭고 에러 없는 새로운 저장 위치로 카피함으로서 해제될 수 있다. 그후 어드레스 계산은 이 새로운 저장 위치의 사용을 위해 다시 향하게된다.
두가지 경우에서, 테스트된 저장 위치는 테스팅을 견딜 수 있는 경우에만 최종적으로 시스템 사용, 즉 유휴 리스트(6)로 복귀된다. 테스팅을 견디지 못하는 저장 위치들은 상기 저장 위치를 포함하는 모든 메모리 블록이 시스템에서 사용으로 부터 해제될때 다시 테스트된다.
제공된 저장 위치의 테스팅을 수행하기 위한 메모리 테스팅 논리(14)는 두가지 모드로 동작하는 것이 바람직하다.
제 1 모드에서, 모든 어드레스들은 논리에 의해 제어되는 오프-라인 테스트로 테스트되는데, 이 도안에 카운팅은 교정가능한 에러를 가진 저장 위치의 수로 수행되고 기존의 교정가능하지 않은 에러가 표시된다.
이 요소 테스팅 동안, 완전한 메모리 테스트는 예컨대 소위 “마치 패턴(march patterns)”으로 수행된다. 예컨대 IEEE Design & Test of Computer, March 93, vol 10, no 1에 AD J van de Goor가 발표한 “Using March Tests to Test SRAMS”와 IEEE Design & Tests of Computers, June 93, vol 10, no 2에 S. Robert Trenter가 발표한 “Built in Self Diagnosis for Repairable Embedded RAM”을 참조하라. 이것은 동작가능하지 않는 회로를 제거하기 위해 행해진다. 본 발명에 따른 큐 시스템이 어떤 에러 허용한계량 제공하기 때문에, 에러있는 저장 위치를 가진 회로가 정확한 것으로서 분류될 수 있다. 그러므로, 에러의 수가 테스팅 동안 기록된다. 에러의 수가 설정된 거부 임계 낮다면, 이 요소는 수용된다.
제 2 모드에서, 온-라인을 작동시키며, 논리(20)만이 테스트되는 메모리 위치에 대한 데이타를 관리하고, 다른 저장 위치들은 정상 동작 동안 시스템에 의해 제어된 어드레스로서 데이타로 동작하도록 된다.
본 발명의 실시예가 지금부터 보다 상세히 설명된다. 한 타입의 패킷 스위치에서 그리고 제2도를 참조하면, 분석 기능(30)에서 패킷의 헤드내의 내용의 분석후 도달하는 패킷은 자신에 공통인 버퍼 메모리(32)내 저장 위치에 기록된다. 버퍼 메모리(32)는 도달하는 패킷 플로우(34) 및 스위치를 떠나는 패킷 플로우에 대한 다수의 출력 채널(36.1 . . . 36.n)과 함께 개략적으로 도시되었다. 분석 기능을 가능하게 하기 위한 분석 기능(30)으로 데이타의 플로우는 (34′)으로 표시되었다.
기록은 버퍼 메모리(32)내 대응 유휴 저장 위치를 가리키는 어드레스 포인터를 포함하는 어드레스 리스트(38)에 의해 안내되어 수행된다. 이 어드레스 리스트는 또한 아래에서 간단하게 “유휴 리스트”로 불린다. 특히, 신호를 가진 분석기능(30)(화살표 39)은 한편으로는 유휴 리스트(38)가 상기 패킷을 위한 포인터를 제공하도록 지시하며, 다른 한편으로는 기록후, 유휴 리스트(38)에서 버퍼 메모리(32)로의 화살표(40)에 따라서 시그널링되어 각 출력(36)에 대한 다수의 FIFO 포인터 큐(44)를 포함하는 포인터 큐 시스템에 포인터를 전송하도록 지시한다.
특히, 포인터는 화살표(42)에 따라 유휴 리스트(38)에서 헤드 내용의 분석에 의해 안내된 패킷을 위해 선택된 스위치 출력(36.n)에 대한 FIFO 포인터 큐(44.n)로 이동된다. 포인터 큐의 선택은 분석 기능(30)에서 상기 포인터 큐로의 제어 신호에 의해 수행된다.
도달하는 패킷의 헤드는 몇 개의 목적지 어드레스를 포함할 수 있는데, 즉 패킷의 내용은 몇개의 스위치 출력으로 전송될 수 있다. 이 경우, 포인터는 상기 스위치 출력 수만큼 많은 포인터를 얻기 위하여 버퍼 메모리(32)내의 선택된 저장 위치로 카피된다. 이하에서, 명칭 “다수의 포인터”는 버퍼 메모리(32)내의 동일 저장 위치를 지시하는 한 세트의 포인터의 포인터를 위해 사용된다. 이들 다수의 포인터들은 상기 출력을 위한 포인터 큐 각각으로 안내된다.
포인터, 즉 단일 포인터 또는 다수의 포인터가 자신의 FIFO 큐(44.n)내에 첫번째 포인터로서 나타나면, 포인터에 의해 지정된 데이타 패킷이 판독되고(화살표 46.n) 버퍼 메모리(32)내 저장 위치에서 상기 출력(36.n)으로 포인터에 의해 안내된다.
그후, 포인터는 유휴 리스트(38)로 복귀될 포인터를 관리하는 후에 상세히 설명되는 유지보수 기능(52)을 통해 화살표(48 및 50)에 따라서 유휴 리스트(38)로 다시 향하게 된다. 특히, 포인터는 유지보수 기능(52)에 의해 테스트를 위해 선택되지 않는다면 유휴 리스트로 이동된다.
유지보수 기능(52)에서, 동일 포인터의 카피가 제어된 방식으로 처리된다. 특히, 이것은 시스템내에 포함된 각 포인터의 카피 수가 기록되는 유지보수 기능(52)에 포함된 다수의 포인터 리스트(56)를 사용함으로써 수행된다. 유지보수 기능(52)는 또한 포인터의 카피의 수가 각 포인터를 위한 다수의 포인터 리스트(56)에 기록된 값과 일치하는가를 검사한다.
본 발명의 실시예를 이하에서 보다 상세히 설명하면, 명칭 “x”는 테스트되는 포인터에 대해 사용되는데, x 는 모든 포인터의 세트에 속한다. 대응적으로, 포인터(x)에 의해 지정된 버퍼 메모리(32)내 버퍼 메모리 위치는 B(x)로 지정된다.
이하에 보다 상세하게 설명되는 유지보수 기능(52)은 버퍼 메모리 위치 B(x)의 테스트를 수행한다. 이를 위해, 포인터(x)는 화살표(60′)에 따라 버퍼 메모리(32)를 위한 테스트 논리(58)로 전송된다. 버퍼 메모리 위치 B(x)에서 테스트 작업의 결과는 화살표(60″)를 따라서 테스트 논리(58)에서 유지보수 기능(52)으로 시그널링된다.
마찬가지로 아래 상세한 설명으로부터 만일 이 테스트가 메모리 위치의 오기능을 나타낸다면 대응 포인터가 시스템에서 사용되지 못하게 되고 또한 유지보수 기능(52)에 포함된 차단 리스트(62)에 공급된다는 것을 보다 명확히 알 수 있게 될 것이다. 다수 및 차단된 포인터를 위한 리스트들은 또한 단일 리스트에 결합될 수 있다.
특히, 유지보수 기능(52)은 한번에 하나씩 모든 포인터 및 종속 버퍼 위치들을 순환적으로 검사하는데, 이것은 초기화 절차보다 나중에 수행된다. 여기서 “모든” 포인터는 시스템내에 존재하는 모든 포인터, 즉 유휴 리스트(38), 출력 큐(44), 다중 포인터 리스트(56) 및 차단 리스트(62)에 포함된 포인터를 의미한다. 초기화 절차동안, 각 포인터 값들은 한편으로는 큐 시스템(38, 44)의 포인터의 처리가 정확한지에 대해 검사하기 위하여 동작에서 한번에 하나씩 제거되고, 다른 한편으로는 상기 포인터에 의해 식별된 버퍼 메모리(32)내 데이타 저장 에리어 B(x)를 검사하기 위하여 동작에서 제거된다.
초기화 절차동안, 큐 시스템(38, 44)은 테스트하에서 포인터 및 그의 모든 카피가 비워지는데, 이때 발견된 카피의 수가 테스트하의 포인터를 위한 다수의 포인터 리스트(56)내 값과 동일한지에 대한 검사가 행해진다.
그후, 유지보수 기능(52)은 하나 또는 몇개의 동작 모드에 따라 동작될 수 있다. 또다른 대안과 관계없이, 초기화 절차는 각각의 이와같은 동작 모드중 제1단계이다.
제3도를 참조하면, 몇 개의 동작 모드가 존재하는 한 실시예의 경우에, 네개의 레벨(70, 72, 74, 76)의 유지보수 기능(52)이 존재한다. 최저 레벨(70)은 “포인터 조절”로 명칭되는데 이는 포인터의 순환에만 관계된다. 다른 세 개의 포인터는 버퍼 메모리(32)의 여러 판독/기록 테스트로 확장된다.
언급된 바와 같이, 큐 시스템(38, 44)은 어쨌든 초기화 절차동안 포인터(x)의 모든 카피가 비워진다. 비-실시간 시스템에서, 이것은 몇개의 상이한 방식으로 얻어질 수 있다. 실시간 시스템에서, 하나는 통상적으로 유휴 리스트(38)로 복귀되는 포인터만을 가진 작업까지 감소된다.
상술된 종류의 포인터(x)를 실시간 큐 시스템을 비우기 위하여, 유휴 리스트(38)은 우선적으로 포인터의 모든 카피가 비워져야만 한다. 이것은 유휴 리스트(38)내로 기록되는 것을 방지하기 위하여 복귀된 포인터의 플로우(48)로 부터 포인터(x)를 필터링 제거함으로써 수행된다(제4∼7도에서 단계 78). 특히, 이 필터링은 화살표(78′)에 따라서 유지보수 기능(52)이 그 순간동안 유휴 리스트내의 최종 포인트인 포인트를 위한 표시자를 배치하기 위하여 유휴 리스트(38)에 신호를 방출하기 때문에 가능하다. 신호(78”)에 의해, 유지보수 기능(52)은 그후 표시자가 유휴 리스트(38)에서 가장 전방 위치에 도달했다는 정보를 얻는다. 필터링 단계의 시작에서 유휴 리스트(38)내에 존재하는 모든 포인터들이 출력 큐(44)로 공급될때, 유휴 리스트(35)는 포인터(x)가 비워진다.
그후, 출력 큐(44)는 어쨌든 포인터(x)의 카피가 비워져야만 한다. 이 비우기는 특히 화살표(79′)에 따라서 신호를 출력 큐(44)로 방출하여 당분간 각각의 출력 큐에서 최종적인 것으로 되는 포인터에 대한 표시자를 설정하는 유지보수 기능에 의해 행해진다. 화살표(79″)에 따르면, 그후에, 유지보수 기능(52)은 이에따라서 표시된 포인터가 우선적으로 각각의 큐에서 종료되었다는 정보를 출력 큐로부터 얻는다. 이에 따라서 유지보수 기능(52)은 복귀된 포인터의 플로우(48)로부터 포인터(x)를 계속적으로 필터링 제거하면서 유휴 리스트(38)의 비우기가 종료된 시점에서 출력 큐(44)에 최종적으로 위치된 포인터들이 큐에서 제일 먼저 종료되도록 대기한다. 가장 늦은 큐가 이 기준을 만족시켰을때, 시스템에는 포인터(x)가 비워지게 된다.
그후, 제5∼7도의 단계(80)에서, 복귀된 포인터의 수가 다수의 포인터 리스트(56)내 포인터(x)를 위한 값과 일치하는지에 대해 검사가 행해진다. 만일 이것이 그 경우가 아니라면, 포인터 에러 신호가 발생된다. 이 에러 신호는 실행되는 유지보수 모드에 따라 어느 정도 상이한 방식으로 종료된다. “포인터 조절”모드를 제외한 모든 모드에서, 포인터값은 차단되고 또한 에러 카운터(도시되지 않음)가 증분된다(제5∼7도의 단계 82). 제5∼7도의 단계(84)에서 다수의 α 에러보다 많은 에러가 발견된다면, 현재의 유지보수 모드가 중단되고 에러 카운터는 0으로 설정되며 또한 모드 “포인터 조절”로 점프가 수행된다(제5∼7도의 화살표 86). α는 다수의 포인터 리스트(56)에서 에러에 대한 소망의 허용한계이다. “포인터 조절” 모드에서, 포인터 에러 신호는 어떤 방식으로(예를들어, 제4도)도 종료되지 않는다.
시스템의 시작에서, 정확한 포인터 세트가 가능한 빨리 큐 시스템에 활용될 수 있게 이루어져야만 한다. 그러므로, 절차 “포인터 조절”이 초기화된다. 이것은 상기에 따라 나타나는 포인터 에러에 따라서 또는 외부신호에 의한 활성화로 수행될 수 있다. 상술된 바와 같이, 초기화 절차동안 복귀된 포인터의 카피 수가 상기 포인터를 위한 다수의 포인터 리스트에 나타난 수와 일치되지 않을때 포인터 에러라 한다. 포인터가 검사되자 마자, 이것은 유휴 리스트(38)내로 도입되고 패킷을 큐잉하기 위해 사용될 수 있다.
모든 포인터들이 조절될때, 다음 유지보수 레벨(72)이 모든 포인터에 대해 실행되는데, 이하에 “고속 테스트”로 명명된다. 그후, 유지보수 기능(52)은 유지보수 레벨(74)(“완전 테스트”로 명명)로 통과하고 나서 현재 동작 상태이지만 만일 포인터 에러가 발생하면 인터럽트될 수 있는 유지보수 레벨(76) “리세트를 가지는 완전 테스트”의 실행이 시작된다.
만일 α 이외의 몇 개의 에러있는 포인터(다수 또는 상실 포인터)가 검출되면, 유지보수 기능(52)은 상술된 바와 마찬가지로 항상 실행되는 다른 유지보수 기능들중 하나의 기능에 관계없이 “포인터 조절”로 재시작된다. 이것은 제5∼7도 뿐만아니라 제3도에서 화살표(86)로 표시된다.
제4도를 참조하면, 모드(70)(“포인터 조절”)은 단계(88)에서 각 포인터(x)를 유휴 리스트(38)로 복귀시키며, 다수의 포인터 리스트(56)내 값을 “다수의 카피가 없음”으로 리세트시키고 차단 리스트(62)내 값을 “차단되지 않음”으로 리세트 시킨다. 최종 포인터가 처리되면(단계 90 참조), 포인터 에러 카운터는 0로 설정된다(단계 92). 그후 모드(70)는 모드(72)에서 종료된다(화살표 94).
이에 따라서 모드(72) “고속 테스트”는 모든 포인터에 대해 실행되는 제 1 모드(70)에 의해 활성화된다(제5도 참조). 그후, 초기화 절차는 모든 포인터에 대해 수행되고 간단한 기록 및 판독 테스트 온라인(단계 96)은 포인터(x)에 의해 식별되는 버퍼 메모리 위치B(x)에 대해 수행된다. 필요하다면, 이 테스트는 버퍼 메모리에 대해 수행될 수 있는 동작중 낮은 또는 최저 우선순위로 큐잉한 후 수행될 수 있다.
이 테스트가 정확한 결과를 제공하는 경우, 기록 및 판독 테스트의 결과는 현재 포인터를 유휴 리스트(38)로 복귀시키기 위하여 사용되지만, 상기 테스트가 상기 포인터에 의해 식별된 에리어내에서 오기능을 표시하는 경우 시스템에서의 사용을 차단하고 이를 차단 리스트(62)로 도입한다. 최종 포인터후, 테스트는 모드(74)로 통과한다(단계(98)와 화살표(100)를 참조).
상술된 오프 라인 테스트와는 대조적으로, 제1도의 테스트 논리(14)는 메모리에 대한 모든 데이타 및 모든 어드레스를 제어하고 검사하며, 제2도의 온라인 테스트에서 테스트 논리(58)는 초기화 절차에 의한 시스템 사용으로부터 해제된 어드레스 위치에 대한 올바른 기록 및 판독만을 갖는데, 시스템에는 포인터 값이 비워져 있다. 상술된 모든 것과 관계하여, 테스트 논리는 메모리로 향하는 보다 높지 않은 시스템 동작이 문제가 될 때만 동작하도록 된다.
제5도에 따른 모드(72)의 간단한 기록 및 판독 테스트에서, 제 1 비트 패턴은 해제된 포인터에 의해 식별된 어드레스 위치로 기록된다. 이것은 실행되자 마자 이들 위치들은 메모리 셀들이 이 제 1 비트 패턴을 저장할 수 있는가를 테스트하기 위해 판독된다. 그후, 이 과정은 두번 반복되는데, 이때 제 2 비트 패턴은 제 1 패턴의 역이다. 만일 판독 데이타가 기록 데이타와 일치하지 않는다면 제2도의 신호(60″)가 에러 신호의 형태로 발생된다.
제6도를 참조하면, 제 3 동작 모드(74)(“완전 테스트”)는 모든 포인터를 통과하는 제 2 모드에 의해 활성화되고 모드(72)에 의해 차단되지 않은 포인터에 대해 새로운 초기화 절차를 수행함으로써 시작된다. 그후, 버퍼 메모리 테스트는 제 2 동작 모드의 간단한 기록 및 판독 테스트로 검출되지 않는 오기능의 타입을 검출하기 위해 큐잉되는데, 버퍼 메모리 위치 B(x)에 대해 실행되게 되는 최저 우선순위는 차단되지 않는다(단계(102 및 104) 를 참조). 이들 메모리 위치들은 테스트 데이타로 실행, 즉 기록 및 판독되는 반면, 차단되지 않은 다른 모든 버퍼 메모리 위치들은 각각 차단된 포인터를 위한 테스트 동안 시스템 데이타로 실행, 즉 판독 및 기록된다.
테스트의 결과는 버퍼 메모리 테스트가 정확한 결과를 제공하는 경우 포인터를 유휴 리스트(38)로 복귀시키기 위해 사용되지만, 버퍼 메모리 테스트가 포인터에 의해 식별된 에리어의 오기능을 표시하는 경우 시스템에서 이것이 사용되는 것을 차단하고 이를 차단 리스트(62)로 도입한다. 최종 포인터후, 테스트는 모드(76)로 진행한다(단계(106) 및 화살표(108)를 참조).
제 3 동작 모드(74)에 따른 완전한 온라인 테스트의 경우에, 어드레싱 논리내 에러가 검출될 것이다. 통상적으로, 이것은 메모리 위치 B(x)내 데이타와 상이한 데이타가 모든 다른 어드레스내에 기록되는 것을 필요로 한다. 본 발명을 따르면, 시스템 데이타는 다른 차단되지 않은 위치내로 기록되고 또한 이로부터 판독 출력된다. 이것은 상술된 오프라인 테스트에서 제어된 데이타와 동일한 기능을 수행한다. 테스트하에서 메모리 위치와 중첩하는 어드레스 디코딩 에러를 가지는 어드레스에서, 테스트 논리가 테스트를 위하여 사용하는 것과 동일한 데이타를 기록하는 시스템이 어드레싱 에러를 발견하지 못하도록 하는 위험성은 모든 테스트를 연속적으로 반복시킴으로서, 또한 포인터 차단하는데 충분한 하나의 에러 검출로 최소화된다. 그러므로, 테스트 논리는 대기하여 판독 검사가 수행되기 전에 시스템 데이타가 모든 다른 사용된 위치내로 기록되도록 한다.
제7도를 참조하면 제 4 동작 모드(76) “재 테스트를 갖는 완전 테스트”는 제 3 모드(74)가 모든 포인터를 통과한다는 사실에 의해 활성화된다. 또한, 초기에 차단된 포인터들이 모든 포인터에 대해 한번에 하나씩 수행되는 초기화 절차에 의한 테스트를 위하여 수용된다. 그후, 제 3 모드와 동일 종류의 버퍼 메모리 테스트가 차단되지 않은 포인터에 적용된다(단계 110 및 112). 초기에 차단된 포인터(x)에 의해 식별되는 저장 영역 B(x)을 포함하는 버퍼 메모리 세그먼트 어디에라도 저장된 시스템 데이타가 존재하는 한(단계 114), 초기에 차단된 포인터들은 큐내에 유지되는 각 테스트 데이타 동작에 의해 조절된 동일 타입의 버퍼 메모리 테스트를 겪게된다. 테스트의 결과는 초기에 차단된 포인터(x)의 허용되지 않은 테스트 및 차단되지 않은 포인터를 위하여 제3 모드와 동일한 방식으로 사용되는 반면, 초기에 차단된 포인터들은 다수의 연속적인 테스트에서 수용되고 나서야 비로서 유휴 리스트(38)로 복귀되는데, 상기 수는 제한값(β)으로 규정된다.
제 4 동작 모드(76)는 연속적인 동작에서 테스트하에서 메모리 위치로부터 어드레싱 에러가 시스템 데이타를 파괴할 수 있다는 위험을 고려한다는 것을 이해하는 것을 토대로 한다.
그러므로, 어드레싱 에러가 발생될 수 있는 모든 세크먼트에 시스템 데이타가 비워지기 전 초기에 차단된 위치에서 테스트 논리로부터 기록되는 것이 허용되지 않는다. 그후, 모든 다른 위치에 시스템 데이타와 함께 기록하는 것은 제 3 동작 모드와 같이 대기된다. 모든 판독 동작이 에러있는 메모리내의 데이타를 파괴할 수 있기 때문에, 메모리로부터 시스템 데이타를 비우는 것은 현재 새로운 테스트하에 있는 초기에 차단된 포인터에 의해 식별된 버퍼 위치들에 대해 판독 검사가 수행되기 전 다시 대기된다.
하나의 단일 동작 모드인 일 실시예에서, 제6도 및 제7도를 따른 두 개의 최종 동작 모드의 합병의 문제가 반드시 존재한다.
특히, 버퍼 메모리(32)의 테스트는 차단되지 않은 포인터에 의해 식별되는 버퍼 메모리 위치에 대해 수행되는 초기화 절차후 가장 낮은 우선순위로 큐잉된다(제6도의 단계 102와 104 참조). 이들 메모리 위치는 테스트 데이타로 실행된다. 차단되지 않은 모든 다른 버퍼 메모리 위치들은 테스팅 절차동안 시스템 데이타로 실행된다. 그후, 테스트의 결과는 버퍼 메모리 테스트가 정확한 결과를 제공하는 경우 포인터가 유휴 리스트(38)로 복귀되지만, 버퍼 메모리 테스트가 포인터로 규정된 에리어내 오기능을 표시하는 경우 시스템에서의 사용으로부터 차단된다.
차단된 포인터들은 차단 리스트(62)에 공급되고 또한 시스템 데이타가 차단된 포인터들에 의해 식별되는 위치를 포함하는 버퍼 메모리 세그먼트 어느곳에라도 저장되는 한 큐에서 유지되는 각각의 테스팅 데이타 동작에 의해 조절된 동일 타입의 버퍼 메모리를 테스트를 겪게된다(제7도의 단계 114를 참조). 그후, 테스트의 결과는 버퍼 메모리 테스트가 정확한 결과를 제공하는 경우 포인터를 유휴 리스트(38)로 복귀시키기 위해 사용된다. 제한값(β) 보다 큰 다수의 연속적인 테스트에서 수용된 후 차단된 포인터들은 우선적으로 유휴 리스트(38)로 복귀된다.

Claims (23)

  1. 스위치로부터 하나이상의 출력 포트를 위한 공통 버퍼 메모리에 패킷 스위치의 데이타를 버퍼링하고, 상기 버퍼 메모리내의 저장 위치를 식별하고 지정된 버퍼 위치의 데이타로 수행될 동작을 표시하기 위한 여러 논리적인 리스트들 간에서 이동되는 다수의 포인터를 사용하는 큐 시스템으로서, 상기 시스템이 상기 버퍼 메모리내의 각각의 유효한 패킷 위치에 대한 하나의 포인터 및 단지 하나의 포인터만을 포함하도록 계속적으로 보장하는 유지보수 기능을 구비하며, 상기 유지보수 기능은 초기화 절차 및 결정된 제한 수 보다 많은 상실 또는 다수의 포인터가 초기화 절차에 따라서 발견된다는 사실 또는 외부 신호에 의해 활성화된 후 각각의 포인터의 카피를 유휴 리스트로 복귀시키고 차단 리스트에서 포인터가 차단되지 않는다는 것을 표시하는 제1 동작 모드를 갖는 큐 시스템.
  2. 제1항에 있어서, 상기 유지보수 기능은 모든 포인터에 대해 실행되는 제1모드로 활성화되는 제2 동작 모드를 갖으며, 상기 초기화 절차는 상기 포인터에 대해 다시 수행되며, 간단한 기록 및 판독 테스트는 다수의 포인터 리스트의 값과 일치하지 않는 다수의 카피를 갖는 포인터에 의해 식별되는 버퍼 메모리 위치에서 실행하기 위하여 큐잉되며, 상기 기록 및 판독 테스트의 결과는 테스트가 정확한 결과를 제공하는 경우 상기 포인터를 유휴 리스트로 복귀시키기 위하여 사용되지만, 테스트가 상기 포인터에 의해 식별되는 에리어내에서 오기능을 표시하는 경우 시스템에서의 사용으로 부터 차단하여 제거하는 것을 특징으로 하는 큐 시스템.
  3. 제2항에 있어서, 상기 유지보수 기능은 모든 포인터에 대해 실행되는 제2모드로 활성화되는 제3 동작 모드를 갖으며, 상기 초기화 절차는 차단되지 않은 포인터에 대해 다시 한번 실행되며, 상기 제2 동작 모드에서 간단한 판독 및 기록 테스트에 의해 검출되지 않는 오기능의 타입을 검출하는 버퍼 메모리 테스트는 상기 초기화된 포인터에 의해 식별되는 버퍼 메모리 위치상에서 실행하기 위하여 큐잉되며, 상기 메모리 위치는 테스팅 데이타로 실행되는 반면에, 모든 다른 차단되지 않은 버퍼 메모리 위치는 각각의 차단된 포인터동안 시스템 데이타로 실행되며, 상기 테스트 결과는 버퍼 메모리 테스트가 제1 결과를 제공하는 경우 포인터를 유휴 리스트로 복귀시키기 위하여 사용되지만, 상기 버퍼 메모리 테스트가 상기 포인터에 의해 식별되는 에리어내에서 오기능을 표시하는 제2 결과를 제공하는 경우 시스템에서의 사용으로부터 차단하여 제거하는 것을 특징으로 하는 큐 시스템.
  4. 제3항에 있어서, 상기 유지 보수 기능은 모든 포인터에 대해 실행되는 제3모드로 활성화되는 제4 동작 모드를 갖으며, 상기 초기에 차단된 포인터들은 모든 포인터들에 대해 상기 초기화 절차를 순환적으로 수행함으로써 한번에 하나씩 테스트하기 위하여 수용되며, 상기 제3 모드와 동일한 종류의 버퍼 메모리 테스트는 차단되지 않은 포인터들에 적용되는 반면에, 시스템 데이타가 초기의 차단된 포인터들에 의해 식별되는 위치를 포함하는 버퍼 메모리 세그먼트내 어디에라도 저장되는 동안 초기에 차단된 포인터들은 큐에서 유지되는 각각의 데이타 동작을 테스트함으로써 조절되는 동일한 타입의 버퍼 메모리 테스트에 노출되며, 상기 테스트 결과는 초기에 차단된 포인터의 수용되지 않는 테스트 및 차단되지 않은 포인터를 위한 제3 모드와 동일한 방식으로 사용되는 반면에, 초기에 차단된 포인터들은 제한 수로 규정된 연속적인 테스트의 수에서 수용된 후 우선적으로 유휴 리스트로 복귀되는 것을 특징으로 하는 큐 시스템.
  5. 스위치로부터 하나이상의 출력 포트를 위한 공통 버퍼 메모리에 패킷 스위치의 데이타를 버퍼링하고, 상기 버퍼 메모리내의 저장 위치를 식별하고 지정된 버퍼위치의 데이타로 수행될 동작을 표시하기 위한 여러 논리적인 리스트들 간에서 이동되는 다수의 포인터를 사용하는 큐 시스템으로서, 동일한 포인터의 카피는 각각의 포인터의 시스템내에 포함되는 카피수가 기록되는 다수의 포인터 리스트를 사용함으로써 제어되는 방식으로 처리되며, 유지보수 기능은 포인터의 카피 수가 각각의 포인터를 위한 다수의 포인터 리스트에 기록된 값과 일치하는지를 검사하는 큐 시스템.
  6. 제5항에 있어서, 상기 다수의 포인터 리스트 이외에, 각각의 포인터 카테고리를 위한 다음의 논리적인 리스트, 즉 유휴 포인터를 위한 유휴 리스트, 출력 포트에 대한 큐에서 큐잉된 포인터를 위한 출력 큐 리스트 및 차단된 포인터를 위한 차단 리스트가 사용되는 것을 특징으로 하는 큐 시스템.
  7. 제6항에 있어서, 상기 유지보수 기능은 모든 포인터 및 종속 버퍼 위치를 한번에 하나씩 검사하는데, 이것은 초기화 절차보다 나중에 수행되며, 이 절차동안, 상기 포인터는 상기 큐 시스템이 상기 포인터의 각각의 카피가 비워질 때까지 출력 큐 리스트로부터 유휴 리스트로 복귀되는 포인터의 플로우로부터 포인터를 필터링 제거함으로써 동작에서 제거되며, 상기 포인터의 복귀된 카피 수는 다수의 포인터 리스트의 값과 비교되는 것을 특징으로 하는 큐 시스템.
  8. 제7항에 있어서, 상기 유지보수 기능은 초기화 절차 및 상기 포인터 각각의 카피수가 상기 포인터를 위한 다수의 포인터 리스트에서의 값과 일치하지 않은 보다 많이 결정된 제한수의 포인터가 상기 초기화 절차에 따라서 발견되거나 또는 외부 신호에 의해 활성화된 후, 포인터들을 유휴 리스트로 복귀시키며, 다수의 포인터 리스트의 값을 다수의 카피가 없는 것으로 리세트하고 차단 리스트에서 포인터가 차단되지 않는다는 것을 표시하는 것을 특징으로 하는 큐 시스템.
  9. 제8항에 있어서, 상기 유지보수 기능은 단지 하나의 부가적인 동작 모드를 갖는 것을 특징으로 하는 큐 시스템.
  10. 제9항에 있어서, 상기 유지보수 기능은 모든 포인터들에 대해 실행되는 제1 유지보수 모드로 활성화되는 제2 동작 모드를 갖으며, 상기 초기화 절차는 각각의 포인터에 대해 한번에 하나씩 다시 수행되며, 버퍼 메모리 테스트는 상기 포인터에 의해 식별되는 차단되지 않은 메모리 위치에 대한 낮은 우선순위로 큐잉되는 반면에, 모든 다른 차단되지 않은 메모리 위치는 테스트동안 시스템 데이타로 실행되며, 상기 메모리 테스트의 결과는 버퍼 메모리 테스트가 정확한 결과를 제공하는 경우 유휴 리스트로 포인터를 복귀시키기 위하여 사용되지만 버퍼 메모리 테스트가 포인터에 의해 규정된 에리어내에서 오기능을 표시하는 경우 시스템의 사용으로부터 차단되며, 상기 차단된 포인터는 차단된 포인터에 의해 식별되는 위치를 포함하는 버퍼 메모리 세그먼트내 어느곳에라도 시스템 데이타가 저장되는 동안 큐에서 유지되는 데이타 동작을 각각 테스트함으로써 조절되는 제1 타입과 동일한 타입의 제2 버퍼 메모리 테스트에 노출되며, 상기 제 2 테스트의 결과는 테스트가 정확한 결과를 제공하는 경우 포인터를 유휴 리스트로 복귀시키기 위해 사용되는 반면, 차단된 포인터들은 제2 제한 수를 초과하는 다수의 연속적인 테스트에서 수용된 후 우선적으로 유휴 리스트로 복귀되는 것을 특징으로 하는 큐 시스템.
  11. 제7항에 있어서, 상기 유지보수 기능은 초기화 절차 및 결정된 제한수 보다 많은 상실(lost) 또는 다수의 포인터가 상기 초기화 절차에 따라서 발견되었다는 사실 또는 외부 신호에 의해 활성화된 후 각 포인터의 카피를 유휴 리스트로 복귀시키고 차단 리스트에서 포인터가 차단되지 않는다는 것을 표시하는 제 1 동작 모드를 갖는 것을 특징으로 하는 큐 시스템.
  12. 제6항에 있어서, 상기 유지보수 기능은 다수의 상이한 동작 모드를 갖는 것을 특징으로 하는 큐 시스템.
  13. 제8항에 있어서, 상기 사용된 다수의 리스트 및 차단된 포인터는 하나의 리스트에 결합되는 것을 특징으로 하는 큐 시스템.
  14. 스위치로부터 하나이상의 출력 포트를 위한 공통 버퍼 메모리에 패킷 스위치의 데이타를 버퍼링하고, 상기 버퍼 메모리내의 저장 위치를 식별하고 지정된 버퍼 위치의 데이타로 수행될 동작을 표시하기 위한 여러 논리적인 리스트들 값에서 이동되는 다수의 포인터를 사용하는 큐 시스템에서, 상기 포인터를 관리하는 방법으로서, 상기 시스템이 상기 버퍼 메모리내의 각각의 유효한 패킷 위치에 대한 하나 및 단지 하나의 포인터만을 포함하도록 계속적으로 보장하는 단계와, 상기 큐 시스템이 상기 포인터의 모든 카피가 비워질 때까지, 출력 포트에 대한 큐에서 큐잉된 포인터를 위한 출력 큐 리스트로부터 유휴 리스트로 복귀되는 포인터의 플로우로부터 필터링 제거하여 모든 포인터가 동작을 제거됨으로써 초기화 절차에 모든 포인터를 노출시키고 상기 포인터의 복귀된 카피 수를 다수의 포인터 리스트의 값과 비교하는 단계와, 결정된 제한수 보다 많은 상실 또는 다수의 포인터가 상기 초기화 절차에 따라서 발견된다는 사실 또는 외부 신호에 의해 활성화되는 상기 초기화 절차후 각각의 포인터의 카피를 유휴 리스트로 복귀시키는 단계와 차단 리스트에서 포인터가 차단되지 않는다는 것을 표시하는 단계를 포함하여 수행하는 단계를 포함하는 포인터 관리 방법.
  15. 제14항에 있어서, 모든 포인터에 대해 실행되는 제1 모드로 활성화되는 제2 동작 모드를 수행하는 단계와, 상기 초기화 절차를 상기 포인터에 대해 다시 수행하는 단계와, 다수의 포인터 리스트의 값과 일치하지 않는 카피 수를 갖는 포인터에 의해 식별되는 버퍼 메모리 위치에 대해 실행하기 위한 간단한 기록 및 판독 테스트를 큐잉 하는 단계와, 상기 테스트가 정확한 결과를 제공하는 경우 상기 포인터를 유휴 리스트로 복귀시키기 위하여 기록 및 판독 테스트의 결과를 사용하지만 상기 테스트가 상기 포인터에 의해 식별되는 에리어내에서 오기능을 표시하는 경우 상기 시스템에서의 사용으로부터 차단하여 제거하는 단계를 포함하는 것을 특징으로 하는 포인터 관리 방법.
  16. 제15항에 있어서, 모든 포인터에 대해 실행되는 제2 모드로 활성화되는 제3 동작모드를 수행하는 단계와, 차단되지 않은 포인터에 대해 다시 한번 초기화 절차를 수행하는 단계와, 상기 초기화된 포인터에 의해 식별되는 버퍼 메모리 위치에 대해 실행하기 위한 제2 동작 모드에서 간단한 기록 및 판독 테스트에 의해 검출되지 않은 오기능의 타입을 검출하기 위하여 버퍼 메모리 테스트를 큐잉하는 단계로서, 상기 버퍼 메모리는 이들 메모리 위치를 테스트 데이타로 실행하는 단계와 각각의 차단된 포인터에 대해 테스트하는 동안 모든 다른 차단되지 않는 버퍼 메모리 위치를 시스템 데이타로 실행하는 단계를 포함하는, 상기 큐잉 단계와, 상기 버퍼 메모리 테스트가 제1 결과를 제공하는 경우 포인터를 유휴 리스트로 복귀시키기 위한 테스트의 결과를 사용하지만, 상기 버퍼 메모리 테스트가 포인터에 의해 식별되는 에리어에서 오기능을 표시하는 제2 결과를 제공하는 경우 시스템에서의 사용으로부터 차단하여 제거하는 단계를 포함하는 것을 특징으로 하는 포인터 관리 방법.
  17. 제16항에 있어서, 모든 포인터에 대해 시행되는 제3 모드에 의해 활성화되는 제4 동작 모드를 수행하는 단계와, 모든 포인터에 대해 상기 초기화 절차를 한번에 하나씩 순환적으로 수행함으로써 테스트를 위한 초기 차단된 포인터를 또한 수용하는 단계와, 차단되지 않은 포인터에 대해 제3 모드와 동일한 종류의 버퍼 메모리 테스트를 적용하고, 시스템 데이타가 상기 초기 차단된 포인터에 의해 식별되는 위치를 포함하는 버퍼 메모리 세그먼트내의 어느 곳에라도 저장되는 한 큐에서 유지되는 각각의 테스트 데이타 동작에 의해 조절되는 동일한 타입의 버퍼 메모리 테스트에 초기 차단된 포인터를 노출시키는 단계와, 초기에 차단된 포인터의 수용되지 않은 테스트 및 차단되지 않은 포인트를 위한 제3 모드와 동일한 방식으로 테스트 결과를 사용하고 제한수로 규정된 다수의 연속적인 테스트에서 수용된 후 우선적으로 초기 차단된 포인터를 유휴 리스트로 복귀시키는 단계를 포함하는 것을 특징으로 하는 포인터 관리 방법.
  18. 스위치로부터 하나이상의 출력 포트를 위한 공통 버퍼 메모리에 패킷 스위치의 데이타를 버퍼링하고, 상기 버퍼 메모리내의 저장 위치를 식별하고 지정된 버퍼 위치의 데이타로 수행될 동작을 표시하기 위한 여러 논리적인 리스트들 간에서 이동되는 다수의 포인터를 사용하는 큐 시스템에서, 상기 포인터를 관리하는 방법으로서, 각각의 포인터의 시스템에 포함되는 카피수를 다수의 포인터 리스트에 기록함으로써 제어된 방식으로 동일한 포인터의 카피를 처리하는 단계와, 포인터의 카피수가 각각의 포인터를 위한 다수의 포인터에 기록되는 값과 일치하는지를 검사하는 단계를 포함하는 포인터 관리 방법.
  19. 제18항에 있어서, 다수의 포인터 리스트 이외에 각각의 포인터 카테고리를 위한 다음의 논리적인 리스트, 즉 유휴 포인터를 위한 유휴 리스트와, 출력 포트에 대한 큐에서 큐잉된 포인터를 위한 출력 큐 리스트와, 차단된 포인터를 위한 차단 리스트를 사용하는 단계를 포함하는 것을 특징으로 하는 포인터 관리 방법.
  20. a) 큐 시스템이 상기 포인터의 모든 카피가 비워질 때까지 출력 큐 리스트로 부터 유휴 리스트로 복귀되는 포인터의 플로우로부터 필터링 제거하여 동작에서 제거된 모든 포인터를 취함으로써 모든 포인터를 초기화 절차에 노출시키는 단계와, 상기 포인터의 복귀된 카피수를 다수의 포인터 리스트의 값과 비교하는 단계와, b) 상기 초기화 절차 후, 포인터에 의해 식별되는 버퍼 메모리의 모든 포인터 및 위치를 한번에 하나씩 순환적으로 검사하는 단계를 포함하는 것을 특징으로 하는 포인터 관리 방법.
  21. 제20항에 있어서, 포인터의 각각의 카피수가 상기 포인터를 위한 다수의 포인터 리스트의 값과 일치하지 않는 결정된 제한수 보다 많은 포인터가 상기 초기화 절차에 따라서 발견된다는 사실 또는 외부 신호에 의해 활성화되는 제1 동작 모드를 상기 초기화 절차후 수행하는 단계와, 상기 포인터를 유휴 리스트로 복귀시키는 단계와, 상기 다수의 포인터 리스트의 값을 다수의 카피가 없는 것으로 리세트하는 단계와 차단 리스트에서 포인터가 차단되지 않는다는 것을 표시하는 단계를 포함하는 것을 특징으로 하는 포인터 관리 방법.
  22. 제20항에 있어서, 결정된 제한수 보다 많은 상실 또는 다수의 포인터가 상기 초기화 절차에 따라서 발견된다는 사실 또는 외부 신호에 의해 활성화되는 제1 동작 모드를 상기 초기화 절차후 수행하는 단계와, 각각의 포인터의 카피를 유휴 리스트로 복귀시키는 단계 및 차단 리스트에서 포인터가 차단되지 않는다는 것을 표시하는 단계를 포함하는 것을 특징으로 하는 포인터 관리 방법.
  23. 제21항에 있어서, 모든 포인터에 대해 실행되는 제1 유지보수 모드에 의해 활성화되는 제2 동작 모드를 수행하는 단계와, 각각의 포인터에 대해 한번에 하나씩 초기화 절차를 다시 수행하는 단계와, 상기 포인터에 의해 식별되는 차단되지 않은 메모리 위치에 대해 저 우선순위로 버퍼 메모리 테스트를 큐잉하는 단계와, 상기 테스트동안 시스템 데이타로 모든 다른 차단되지 않은 메모리 위치를 실행하는 단계와, 상기 버퍼 메모리 테스트가 정확한 결과를 제공하는 경우 포인터를 유휴 리스트로 복귀시키기 위하여 메모리 테스트의 결과를 사용하지만, 상기 버퍼 메모리 테스트가 상기 포인터로 규정된 에리어의 오기능을 표시하는 경우 시스템에서의 사용으로부터 차단하는 단계와, 시스템 데이타가 차단된 포인터에 의해 식별되는 위치를 포함하는 버퍼 메모리 세그먼트내 어느곳에라도 저장되는 한 큐에서 데이타 동작을 각각 테스트하는 것을 유지함으로써 조절되는 제1 타입과 동일한 타입의 제 2 버퍼 메모리 테스트로 차단된 포인터를 노출시키는 단계와, 테스트가 정확한 결과를 제공하는 경우 포인터를 유휴 리스트로 복귀시키는 제2 테스트의 결과를 사용하고, 제2 제한수를 초과하는 다수의 연속적인 테스트에서 수용된 후 우선적으로 차단된 포인터를 유휴 리스트로 복귀시키는 단계를 포함하는 것을 특징으로 하는 포인터 관리 방법.
KR1019960702770A 1993-11-26 1994-11-23 고장방지큐시스템 Expired - Fee Related KR100301719B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9303932A SE502576C2 (sv) 1993-11-26 1993-11-26 Feltolerant kösystem
SE9303932-9 1993-11-26
PCT/SE1994/001119 WO1995014970A2 (en) 1993-11-26 1994-11-23 A fault tolerant queue system

Publications (2)

Publication Number Publication Date
KR960706126A KR960706126A (ko) 1996-11-08
KR100301719B1 true KR100301719B1 (ko) 2001-10-22

Family

ID=20391901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960702770A Expired - Fee Related KR100301719B1 (ko) 1993-11-26 1994-11-23 고장방지큐시스템

Country Status (17)

Country Link
US (2) US5602988A (ko)
EP (1) EP0730764B1 (ko)
JP (1) JPH09506452A (ko)
KR (1) KR100301719B1 (ko)
CN (1) CN1045675C (ko)
AU (2) AU681220B2 (ko)
BR (1) BR9408131A (ko)
CA (1) CA2176471A1 (ko)
DE (1) DE69427129T2 (ko)
DK (1) DK0730764T3 (ko)
ES (1) ES2155882T3 (ko)
FI (1) FI962202A7 (ko)
GR (1) GR3035795T3 (ko)
NO (1) NO962120L (ko)
SE (1) SE502576C2 (ko)
TW (1) TW278157B (ko)
WO (1) WO1995014970A2 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19742378A1 (de) * 1997-09-25 1999-04-22 Siemens Ag Ringspeicher für eine TDMA-Datenübertragungsstation und entsprechende Datenübertragungsstation
US6778490B1 (en) 1998-05-20 2004-08-17 Nortel Networks Limited Method and apparatus for a fault tolerant router architecture
US6256756B1 (en) * 1998-12-04 2001-07-03 Hewlett-Packard Company Embedded memory bank system
US6363506B1 (en) * 1999-04-13 2002-03-26 Agere Systems Guardian Corp. Method for self-testing integrated circuits
US6606326B1 (en) 1999-07-02 2003-08-12 International Business Machines Corporation Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path
US6510531B1 (en) * 1999-09-23 2003-01-21 Lucent Technologies Inc. Methods and systems for testing parallel queues
US6985455B1 (en) * 2000-03-03 2006-01-10 Hughes Electronics Corporation Method and system for providing satellite bandwidth on demand using multi-level queuing
US6584584B1 (en) * 2000-04-10 2003-06-24 Opentv, Inc. Method and apparatus for detecting errors in a First-In-First-Out buffer
US20020110094A1 (en) * 2001-02-13 2002-08-15 Reddy Naveen S. Spot beam hopping packet scheduler system
US7480239B1 (en) 2001-11-27 2009-01-20 Cisco Technology, Inc. Method and apparatus for true priority based connection establishment within a PNNI ATM network
US7161950B2 (en) * 2001-12-10 2007-01-09 Intel Corporation Systematic memory location selection in Ethernet switches
DE10162046A1 (de) * 2001-12-17 2003-06-26 Thomson Brandt Gmbh Wiedergabegerät mit einem Zwischenspeicher zum Verringern der mittleren Zugriffszeit auf einen Informationsträger
US6781898B2 (en) * 2002-10-30 2004-08-24 Broadcom Corporation Self-repairing built-in self test for linked list memories
US20050071730A1 (en) * 2003-09-30 2005-03-31 Lattice Semiconductor Corporation Continuous self-verify of configuration memory in programmable logic devices
US7532574B1 (en) 2003-10-02 2009-05-12 Cisco Technology, Inc. Method and apparatus for improved priority based connection establishment within a PNNI ATM network
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
CN101031971A (zh) * 2004-08-02 2007-09-05 皇家飞利浦电子股份有限公司 数据存储和重放设备
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7257750B1 (en) 2005-01-13 2007-08-14 Lattice Semiconductor Corporation Self-verification of configuration memory in programmable logic devices
US7802148B2 (en) * 2005-02-23 2010-09-21 Broadcom Corporation Self-correcting memory system
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
CN101346692B (zh) * 2005-12-29 2011-05-04 英特尔公司 多处理器系统中的高性能队列实现
US7596744B1 (en) 2006-02-24 2009-09-29 Lattice Semiconductor Corporation Auto recovery from volatile soft error upsets (SEUs)
US7562260B2 (en) * 2006-04-04 2009-07-14 International Business Machines Corporation Method and system for performing recovery of a single-threaded queue
US7640386B2 (en) 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) * 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US8065574B1 (en) 2007-06-08 2011-11-22 Lattice Semiconductor Corporation Soft error detection logic testing systems and methods
CN101794242B (zh) * 2010-01-29 2012-07-18 西安交通大学 服务于操作系统核心层的容错计算机系统数据比较方法
US10866837B2 (en) * 2018-07-30 2020-12-15 Lendingclub Corporation Distributed job framework and task queue

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3681757A (en) * 1970-06-10 1972-08-01 Cogar Corp System for utilizing data storage chips which contain operating and non-operating storage cells
US3814922A (en) * 1972-12-01 1974-06-04 Honeywell Inf Systems Availability and diagnostic apparatus for memory modules
US3863227A (en) * 1973-09-17 1975-01-28 Gte Automatic Electric Lab Inc Method and arrangement for testing a core memory
US3982111A (en) * 1975-08-04 1976-09-21 Bell Telephone Laboratories, Incorporated Memory diagnostic arrangement
IT1047437B (it) * 1975-10-08 1980-09-10 Cselt Centro Studi Lab Telecom Procedimento e dispositivo per il controllo in linea di memorie logiche sequenziali operanti a divisione di tempo
US4575792A (en) * 1982-03-31 1986-03-11 Honeywell Information Systems Inc. Shared interface apparatus for testing the memory sections of a cache unit
US4479214A (en) * 1982-06-16 1984-10-23 International Business Machines Corporation System for updating error map of fault tolerant memory
US4535455A (en) * 1983-03-11 1985-08-13 At&T Bell Laboratories Correction and monitoring of transient errors in a memory system
US4672583A (en) * 1983-06-15 1987-06-09 Nec Corporation Dynamic random access memory device provided with test circuit for internal refresh circuit
US4841434A (en) * 1984-05-11 1989-06-20 Raytheon Company Control sequencer with dual microprogram counters for microdiagnostics
JPS62250593A (ja) * 1986-04-23 1987-10-31 Hitachi Ltd ダイナミツク型ram
US4809276A (en) * 1987-02-27 1989-02-28 Hutton/Prc Technology Partners 1 Memory failure detection apparatus
FR2625392B1 (fr) * 1987-12-24 1993-11-26 Quinquis Jean Paul Circuit de gestion de pointeurs d'ecriture de files tampons notamment pour commutateur temporel de paquets auto-acheminables
JPH02117243A (ja) * 1988-10-27 1990-05-01 Toshiba Corp パケット通信装置
US5014266A (en) * 1988-12-28 1991-05-07 At&T Bell Laboratories Circuit switching system for interconnecting logical links between packet switching networks
US4953157A (en) * 1989-04-19 1990-08-28 American Telephone And Telegraph Company Programmable data packet buffer prioritization arrangement
JPH0387000A (ja) * 1989-08-30 1991-04-11 Mitsubishi Electric Corp 半導体記憶装置
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5357521A (en) * 1990-02-14 1994-10-18 International Business Machines Corporation Address sensitive memory testing
US5155844A (en) * 1990-02-14 1992-10-13 International Business Machines Corporation Background memory test during system start up
DE59010092D1 (de) * 1990-05-31 1996-03-07 Siemens Ag Integrierter Halbleiterspeicher
US5276833A (en) * 1990-07-02 1994-01-04 Chips And Technologies, Inc. Data cache management system with test mode using index registers and CAS disable and posted write disable
JPH04271445A (ja) * 1990-08-02 1992-09-28 Internatl Business Mach Corp <Ibm> メモリ・テスト装置
US5177745A (en) * 1990-09-26 1993-01-05 Intel Corporation Memory device with a test mode
JPH04178580A (ja) * 1990-11-14 1992-06-25 Ando Electric Co Ltd 半導体メモリの故障自己診断装置
US5299202A (en) * 1990-12-07 1994-03-29 Trw Inc. Method and apparatus for configuration and testing of large fault-tolerant memories
DE69130392T2 (de) * 1991-07-10 1999-06-02 International Business Machines Corp., Armonk, N.Y. Hochgeschwindigkeitspufferverwaltung
US5311520A (en) * 1991-08-29 1994-05-10 At&T Bell Laboratories Method and apparatus for programmable memory control with error regulation and test functions
KR950000305Y1 (ko) * 1991-12-23 1995-01-16 금성일렉트론 주식회사 메모리 장치의 테스트 모드회로
US5452418A (en) * 1992-04-24 1995-09-19 Digital Equipment Corporation Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
US5291482A (en) * 1992-07-24 1994-03-01 At&T Bell Laboratories High bandwidth packet switch
US5388238A (en) * 1992-07-24 1995-02-07 At&T Corp. System and method for monitoring the validity of circulating pointers in a FIFO memory
SE516073C2 (sv) * 1993-02-15 2001-11-12 Ericsson Telefon Ab L M Sätt för hantering av redundanta väljarplan i paketväljare och paketväljare för utförande av sättet
US5396619A (en) * 1993-07-26 1995-03-07 International Business Machines Corporation System and method for testing and remapping base memory for memory diagnostics
US5461588A (en) * 1994-11-15 1995-10-24 Digital Equipment Corporation Memory testing with preservation of in-use data

Also Published As

Publication number Publication date
GR3035795T3 (en) 2001-07-31
WO1995014970A3 (en) 1995-07-27
US6088817A (en) 2000-07-11
ES2155882T3 (es) 2001-06-01
FI962202A0 (fi) 1996-05-24
KR960706126A (ko) 1996-11-08
NO962120D0 (no) 1996-05-24
AU1206795A (en) 1995-06-13
AU681220B2 (en) 1997-08-21
BR9408131A (pt) 1997-08-05
TW278157B (ko) 1996-06-11
SE502576C2 (sv) 1995-11-13
EP0730764B1 (en) 2001-04-18
DE69427129D1 (de) 2001-05-23
JPH09506452A (ja) 1997-06-24
CN1045675C (zh) 1999-10-13
AU693056B2 (en) 1998-06-18
CA2176471A1 (en) 1995-06-01
EP0730764A1 (en) 1996-09-11
WO1995014970A2 (en) 1995-06-01
DE69427129T2 (de) 2001-08-02
US5602988A (en) 1997-02-11
SE9303932D0 (sv) 1993-11-26
AU2618897A (en) 1997-09-04
DK0730764T3 (da) 2001-07-09
SE9303932L (sv) 1995-05-27
FI962202A7 (fi) 1996-05-24
CN1136354A (zh) 1996-11-20
NO962120L (no) 1996-05-24

Similar Documents

Publication Publication Date Title
KR100301719B1 (ko) 고장방지큐시스템
US5267242A (en) Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US4475194A (en) Dynamic replacement of defective memory words
US6209060B1 (en) Disk array device for ensuring stable operation when a constituent disk device is replaced
EP1416499B1 (en) Self-repairing built-in self test for linked list memories
EP1206739B1 (en) Methods and apparatus for correcting soft errors in digital data
JPS6237423B2 (ko)
US20040034817A1 (en) Efficient mechanisms for detecting phantom write errors
JP2000311497A (ja) 半導体記憶装置
KR100402638B1 (ko) 리던던트 디바이스 초기화 방법 및 장치
EP0637034B1 (en) Method for detecting faulty elements of a redundancy semiconductor memory
JP2001023397A (ja) 半導体メモリのテスト方法及び半導体メモリ
JP3563362B2 (ja) 集積メモリのメモリセルの機能をテストする方法および集積メモリ
US20100169572A1 (en) Data storage method, apparatus and system for interrupted write recovery
JP3139738B2 (ja) 論理回路
JPH07321795A (ja) バッファアドレス管理方法
CN117037884B (zh) 在存储阵列中使用的熔断器单元及其处理方法、存储阵列
JPH06282385A (ja) 記憶制御装置および記憶制御装置を備える情報処理システム
KR0121442B1 (ko) 멀티프로세서 시스템에서 캐쉬부 오류검출 및 그 처리장치와 방법
JPH0922387A (ja) メモリ装置
JP2002108721A (ja) ディスクアレイ装置
SE502719C2 (sv) Feltolerant kösystem för buffertering av data i en paketväljare
JPH1011284A (ja) 制御記憶装置
US7426686B2 (en) System and method for verifying data integrity
JPH1165942A (ja) 制御記憶装置障害回復方式

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 19960527

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19970830

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20000428

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20010425

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20010627

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20010628

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20040625

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20050621

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20060621

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20070628

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20080624

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20080624

Start annual number: 8

End annual number: 8

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20100510