KR930004330B1 - 자체시험 메모리시스템을 가진 데이타 처리시스템 - Google Patents

자체시험 메모리시스템을 가진 데이타 처리시스템 Download PDF

Info

Publication number
KR930004330B1
KR930004330B1 KR1019880005687A KR880005687A KR930004330B1 KR 930004330 B1 KR930004330 B1 KR 930004330B1 KR 1019880005687 A KR1019880005687 A KR 1019880005687A KR 880005687 A KR880005687 A KR 880005687A KR 930004330 B1 KR930004330 B1 KR 930004330B1
Authority
KR
South Korea
Prior art keywords
memory
bank
contents
banks
board
Prior art date
Application number
KR1019880005687A
Other languages
English (en)
Other versions
KR880014464A (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 KR880014464A publication Critical patent/KR880014464A/ko
Application granted granted Critical
Publication of KR930004330B1 publication Critical patent/KR930004330B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C29/28Dependent multiple arrays, e.g. multi-bit arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

내용 없음.

Description

자체시험 메모리시스템을 가진 데이타 처리시스템
제 1 도는 본 발명의 바람직한 실시예를 나타낸 데이타 처리시스템의 블럭선도.
제 2 도는 제 1 도에 도시한 구성상태 레지스터(40)의 바람직한 실시예의 블럭선도.
제 3 도는 제 2 도에 도시한 구성레지스터(202)에 기억되는 데이타 포맷을 도시한 도면.
제 4 도는 제 1 도에 도시한 메모리 제어논리부(50)의 바람직한 실시예의 블럭선도.
제 5 도는 제 1 도에 도시한 보오드(1)상의 어떤회로에 대한 바람직한 실시예의 블럭선도.
제 6 도는 제 5 도에 도시한 메모리 뱅크(100)와 그 관련된 버퍼회로의 바람직한 실시예를 도시한 도면.
제 7a 도는 제 1 도의 데이타처리 시스템의 판독동작을 수행하기 위한 타이밍도.
제 7b 도는 제 1 도에 도시한 데이타 처리시스템을 사용하여 기입동작을 수행하기 위한 타이밍도.
제 7c 도는 기호판독동작에 대한 타이밍도.
제 7d 도는 신속한 진단시험동작에 대한 타이밍도.
제 8 도는 기호판독 동작 단계를 설명하는 순서도.
제 9 도는 신속한 진단 시험동작에 대한 순서도.
* 도면의 주요부분에 대한 부호의 설명
10 : 데이타 처리시스템 15 : CPU 보오드
20 : 중앙처리 장치(CPU) 22 : CPU 버스
25 : 부트 ROM 28 : 전력센서
30 : 메모리제어기 34 : 래치
40 : 구성상태 레지스터 50 : 메모리제어논리부
52 : 마이크로 시퀀서
54 : 메모리어드레스 상호접속부
56 : 클럭논리부 66 : 프리차지회로
70,72,74,76 : 메모리 보오드
71,73,75,77 : 접속기 200 : 뱅크 상태 레지스터 회로
210 : 비교기 230 : RAS/CAS 디코더
본 발명은 메모리분야, 특히 메모리의 자동시험분야에 관한 것이다.
컴퓨터 시스템이 먼저 턴온되거나 혹은 비작동상태에서 작동상태로 되는 경우, 그 컴퓨터 시스템이 정확하게 동작하는 지의 여부를 결정하기 위하여 몇가지 시험이 수행되어야 한다.
이들 시험기법중 한가지로는 메모리 모듈들로 하여금 정보를 정확히 기억케하여 검색하는 메모리진단 프로그램을 들 수 있다. 이러한 메모리 진단프로그램에는 여러가지 종류가 있는데, 그중 대표적인 프로그램은 소정의 패턴을 메모리의 각 기억위치내에 기입하고 이어서 이들 위치로부터의 내용을 판독하여 상기 패턴이 각 기억위치에서 정확히 기억 및 검색되게하는 프로그램이다.
그러나, 이러한 시험은 초소형 메모리와는 상당히 많은 실행시간이 걸린다. 게다가, 메모리크기가 커짐에 따라 진단프로그램을 실행하는 시간이 요구된다. 최근, 메모리크기는 기술의 진보발전에 따라 매 3년마다 4가지 요인에 의하여 커지고 있다. 그렇지만, 메모리사이클 속도는 빨라지기 않기 때문에, 증대된 메모리크기는 대응하는 진단시간의 증대를 초래되게 한다.
통상의 메모리시스템은 한번에 하나의 패턴을 메모리기억위치로 기입 및 판독함으로써 시험을 수행한다. 이것은 고속시스템이라 하더라도 상당히 많은 시간을 소모시킬 수 있다. 예를 들어 64메가 바이트(16메가워드)의 메모리에 댈한 400(nsec)의 메모리 사이클시간을 가정하는 경우, 진단프로그램의 일부로서 단지 하나의 패턴을 기입 및 판독하는 것은 약 13초(워드당 40nsec *16메가워드 *2판독 및 기입동작)가 걸린다.
그러나, 이에는 상당히 많은 심각한 문제점이 있다. 예컨대, 메모리 셀이 어떤 데이타값이 기억되느냐에 관계없이 항상 "1"출력을 생성하기 때문에 결함을 초래한다면, 시험을 위해 사용되는 패턴들의 거의 절반은 이러한 결함을 체크할 수 없게 된다.
보다 완전한 시험을 위해서는, 메모리 진단프로그램이 몇 가지의 다른 패턴을 수반한다. 예를 들면,, 64메가바이트 메모리 시스템에서의 32비트데이타워드의 각 비트위치를 통해 제로피일드에서 "1"를 시프팅함으로써 형성되는 패턴을 사용하는 간단한 시험을 실행하기 위해서는 거의 7분(32테스트 *13초/테스트)이 걸린다.
그러므로, 통상의 시스템은 메모리 시험에 대한 몇분을 소모하는지 혹은 메모리의 완전한 시험을 행하여야 하는지를 선택하여야 한다. 그렇지만, 이둘중 어느 한가지 만을 택일하는 것을 허용되지 않는다.
따라서, 본 발명의 목적은 통상의 방법보다 훨씬 더 빠른 자체 시험절차를 수행할 수 있는 메모리를 제공하는 것이다.
또한, 본 발명의 목적은 메모리의 자동시험을 신속하게 수행하지만, 부가의 구성요소를 필요로 하지 않고 수행하기 위한 것이다.
본 발명의 추가의 목적 및 잇점들은 다음의 상세한 설명의 일부에서 설명되며, 이러한 설명으로부터 그 목적 및 잇점들을 명백히 알 수 있고 또한 본 발명의 실시예로부터도 알 수 있을 것이다.
본 발명은 시험 패턴을 보오드상의 대응하는 몇개의 뱅크위치내에 동시에 기입하고 또한 그 기억위치의 내용들을 소정의 뱅크와 비교하기 위하여 동시에 판독해 냄으로써 그 목적 및 잇점들을 달성한다.
보다 구체적으로 말하자면, 본 명세서에서 구현 및 설명되는 바와 같이 본 발명에 다른 목적을 달성하기 위하여, 다수의 메모리 뱅크로 구성되는 본 발명의 자체 시험 메모리는 시험 패턴을 메모리 뱅크중 하나를 선택하기 위한 다수의 메모리뱅크 수단의 각각에 동시에 기입하기 위한 수단과; 상기 메모리 뱅크중 선택된 하나의 내용을 다른 메모리 뱅크의 내용과 동시에 비교하기 위한 수단과; 상기 메모리 뱅크의 한 기억위치의 내용들이 메모리 뱅크의 다른 대응하는 기억 위치와 내용과 상이할때 에러 신호를 발생시켜 기록하기 위한 수단을 구비하고 있다.
본 명세서의 일부분인 첨부한 도면은 본 발명의 한 실시예를 예서한 것인데, 이는 상세한 설명과 함께 본 발명의 원리를 설명하도록 하기 위해 제공한 것이다.
A. 일반적인 시스템 및 자동메모리 사이징 장치
제 1 도는 자동 메모리 사이징(sizing) 및 신속한 메모리 테스팅을 제공하는 데이타처리 시스템(10)을 도시한 것이다. 상기 제 1 도가 그 바람직한 실시예에서 도시하는 바와 같이, 데이타처리 시스템(10)은 CPU 보오드(15) 및 메모리보오드들(70,72,74 및 76)을 포함한다. 그러나, 제 1 도에서 도시한 보오드의 특정 배열을 본 발명에 대한 부수적인 것이다.
데이타처리 시스템(10)은 CPU 보오드(15)상에 배치된 CPU와 같은 중앙처리장치(20)를 포함한다. 이 CPU(20)는 본 발명을 수행하기 위한 명령을 실행할 수 있다. CPU 버스(22)는 CPU(20)으로부터의 명령, 어드레스 및 데이타를 캐리하며 또한 데이타를 CPU(20)에 전송한다.
상기 데이타 처리시스템은 또한 중앙처리장치에 결합되어 그 중앙처리장치로 하여금 메모리 초기화 절차는 물론 명령 및 어드레스들의 발생절차를 개시하도록 하기 위한 부팅(booting) 수단을 포함한다. 바람직한 실시예의 데이타처리 시스템(10)은 CPU 보오드(15)상의 부트 ROM(25)을 포함하는데, 이 부트(25)은 부트스트랩 또는 초기화 절차에 대한 프로그램을 내장한 판독전용 메모리이다. 부트 ROM(25)내에 저장된 프로그램중에는 자동메모리 사이징 및 신속한 메모리 시험절차에 필요한 동작을 제어하는 프로그램과 같은 초기화 프로그램이 있다. 물논 부트(25)은 또한 다른 프로그램 및 다른 절차를 포함할 수 있다.
본 실시예는 또한 중앙처리장치로 하여금 초기화 프로그램을 개시케하기 위해 초기화 상태를 감지하기 위한 수단을 포함할 수 있다. 제 1 도의 바람직한 실시예에서 도시한 바와 같은 전력센서(28)는 부트스트랩 동작을 개시하기 위하여 데이타 처리시스템(10)에 전력이 공급될때 그 전력을 검출한다. 회로(28)의 출력은 본 발명의 이해에 그다지 중요하지 않는 동기화 회로를 통해 통과한 후, 초기화시간에 특정동작을 행하는 데이타처리시스템(10)의 여러가지 구성요소에 의한 리세트(RST) 신호를 발생시킨다. 예컨대, 바람직한 실시예에 있어서, CPU(20)는 그 CPU(20)로 하여금 자동 메모리 사이징절차를 수행케하도록 하기 위해 부트(25)내에 저장된 초기화프로그램을 개시하는 소타팅어드레스를 부트 ROM(25)에 보낸다. 상기 RST신호는 또한 다른 상태의 검출에 의해 발생될 수도 있다.
상기 데이타처리시스템은 또하나 중앙처리 장치에 결합되어 그 중앙처리장치에 의해 수행된 초기화 절차에 응답하는 메모리 시스템을 포함한다. 제 1 도에 도시한 이와 같은 시스템은 메모리 제어기(30) 및 메모리 보오들(70,72,74 및 76)을 포함한다.
상기 메모리는 메모리시스템내의 기억위치의 배열을 나타내는 구성테이블을 구성하여, 중앙처리장치로부터 수신된 어드레스 및 명령에서의 메모리어드레스신호와 메모리 선택 신호를 형성하기 위한 메모리 제어기수단을 포함한다. 제 1 도에 도시한 바람직한 실시예에 있어서, CPU 보오드(15)상의 메모리 제어기(30)는 메모리 제어기 수단의 기능을 수행한다. 메모리 제어기(30)는 래치(34), 구성상태 레지스터(40), 메모리 제어 논리회로(50), 그리고 에러검출 및 정정회로(45)를 포함한다. 상기 메모리 제어기(30)는 CPU버스(22)를 통해 CPU(20)에서의 어드레스 및 명령을 수신한다. 특히, AS신호는 CPU 버스(22)에서의 어드레스를 메모리 제어기(30)내의 메모리 제어기버스(32)로 전송하기 위해 래치(34)를 제어한다. 이어서, 상기 메모리 제어기(30)는 그 어드레스 및 명령을 처리하여 메모리어드레스 및 메모리 선택신호(즉, 제 1 도에서 도시된 신호 310,320,330,340 및 350-353)를 형성한다.
메모리 제어기 수단은 또한 메모리 시스템의 구성을 나타내는 구성 데이타에 따른 구성구조를 형성하기 위해 구성레지스터 수단을 포함한다. 이러한 구성레지스터 수단의 일예는 메모리 제어기(30)의 일부분인 구성상태 레지스터(CSR)(40)이다. 상기 구성데이타는 "기호데이타"로도 지칭되는데, 이는 하기에서 보아 더 상세히 설명한다. 일반적으로, 이러한 데이타는 뱅크의 크기 또는 갯수와 같은 메모리모듈의 특성을 설명하는 것이다.
제 2 도는 구성 상태레지스터(40)의 바람직한 실시예를 더욱 상세히 도시한 것이다. 본 발명의 바람직한 실시예에 있어서, 각각의 메모리 보오드는 다수의 개별 메모리 뱅크를 포함하며, CSR(40)은 각각의 메모리 뱅크에 대한 분리뱅크 상태 레지스터 회로(200)를 포함한다.
상기 뱅크 상태레지스터 회로(200)는 각각 구성레지스터(202), 멀리플렉서(205), 및 비교기(210)를 포함한다. 각각의 구성 레지스터(202)는 그 구성레지스터를 내장한 뱅크상태 레지스터 회로에 대응하는 메모리 뱅크에 대한 구성 데이타를 포함한다. 뱅크 상태 레지스터회로(200)는 누가적으로 전체 메모리의 구성 구조를 나타낸다.
제 3 도는 한 구성 레지스터(202)의 내용에 대한 일예를 도시한 것으로서 제 3 도의 상부에 있는 숫자는 비트위치 갯수를 나타낸다.
각각의 구성레지스터(202)에 기억된 정보는 메모리 제어기 버스(32), 래치(34) 및 CPU 버스(22)에 의하여 메모리데이타 버스(65)나 혹은 CPU(20)중 어느 하나로부터 수신된다. 메모리 제어논리부(50)에서의 제어신호는 래지스터(202)로 하여금 수신된 정보를 기억케한다. 제 3 도에서 도시한 바와 같이, 각각의 구성 레지스터(202)의 내용은 다수의 피일드를 포함한다. 상기 피일드중 하나는 대응하는 메모리 뱅크에 대한 기본 메모리 어드레스이다. 메모리 뱅크의 기본 메모리 어드레스는 상기 뱅크에 대한 어드레스이다. CPU(20)는 부트 ROM(25)의 제어에 따라서, 다른 메모리 뱅크의 어드레스 및 크기 정보를 기초로하여 각각의 뱅크에 대한 기본 메모리어드레스를 계산한다. 바람직한 실시예에서 CPU(20)에 의해 사용된 특정처리가 이하에서 보다 더 상세히 설명된다.
기본 메모리 어드레스를 계산한 후, CPU(20)는 CPU 버스(22), 래치(34), 및 메모리 제어기 버스(32)에 의하여 상기 계산 결과를 적당한 구성레지스터(202)에 기억시킨다. CPU(20)가 기본 메모리 어드레스를 대응하는 구성 레지스터(202)내에 기억하는 경우에는 또한 상기 대응하는 기본 메모리어드레스가 유효인 것을 나타내기 위하여 제 3 도에서 도시한 바와 같은 레지스터에 대한 유효비트를 세트시킨다.
구성레지스터(202)내의 다른 파일드는 록비트이다. 이러한 비트의 기능이 비록 본 발명과는 직접적인 관계가 없지마는, 본원 명세서의 완벽을 위하여 개략적으로 설명한다. 상기로 비트는 데이타 보전성을 유지하기 위해 메모리 뱅크에 대한 배타적판독-정정-기입동작동안 세트된다.
다음 피일드는 기호 판독피트이다. CPU(20)는 메모리 제어기(30) 및 메모리 보오드(70,72,74 및 76)로 하여금 대응하는 메모리 뱅크의 기호나 혹은 구성데이타를 구성 레지스터(202)의 나머지 피일드내에 기억시키는데 필요한 어떤 절차를 개시케하기 위하여 서술한 기호판독비트를 세트시킨다.
그 나머지 피일드는 대응하는 메모리 뱅크에 대한 기호나 구성 데이타이다. 5개의 정보비트로 이루어지는 상기 기호데이타는 구성데이타 판독동작동안 메모리데이타 버스(65)의 하위 5개의 라인으로부터 얻어진다. 제 3 도에서 도시한 구성데이타 피일드는 3개의 서브피일드, 즉 에러서브피일드, 크기서브피일드 및 이용서브피일드를 포함한다. 상술한 이유로, 바람직한 실시예의 구성데이타는 메모리 보오드상의 모든 메모리 뱅크에 대해 동일하다.
에러서브피일드는 2비트폭을 가지는데, 이는 대응하는 뱅크로 수행되는 에러정정이나 혹은 검출의 종류를 식별한다. 바람직한 실시예에서는 에러정정 및 검출이 존재하지 않을 수 있거나, 또는 만일 존재하는 경우에는 단일 비트 패리티나 혹은 7비트 에러정정코드중 어느 하나일수도 있다. 물론, 본 발명에 따라서, 사용될 수 있는 에러 정정 종류에는 전혀 어떤 제한이 있을 수 없으며 또한 거의 전부 에러정정이 사용되어야 한다는 어떤 요구조건도 있을 수 없다. 바람직한 실시예에서의 에러정정은 보오드상의 각각의 뱅크에 대해 동일하며, 이에 따라 각 보오드상의 모든 뱅크에 대한 구성레지스터(202)도 에러서브피일드내의 동일한 값을 갖게된다.
사이즈 서브 피일드는 1비트 폭을 갖는데, 이는 바람직한 실시예에서의 1M워드나 혹은 256K 워드로서 대응하는 뱅크의 크기를 식별한다. 바람직할 실시예에서는 워드의 길이가 4바이트이다. 또, 바람직한 실시예에 있어서의 각 보오드상의 모든 뱅크는 동일한 크기를 가지므로, 동일 보오드상의 메모리 뱅크에 대해 각각의 구성 레지스터(202)가 그 서브피일드에 대해 동일한 값을 갖는다. 그러나, 보오드상의 동일 크기의 뱅크는 본 발명의 모든 실시예에 대한 요구조건을 아니다.
뱅크 이용서브피일드는 대응하는 메모리 뱅크를 내장한 보오드상의 메모리 뱅크의 갯수를 특정하는 2비트 서브피일드이다. 바람직한 실시예에서의 2비트 서브피일드는 0뱅크(보오드가 없는 경우), 1뱅크, 2뱅크 또는 4뱅크중 어느 하나로서 그 크기를 식별한다.
구성상태 레지스터(40)내의 뱅크상태 레지스터 회로(200)는 제 2 도에서 도시한 바와 같이 각각 동일하지만 그것들이 필요하지는 않다. 예컨대, 그것들은 다른 뱅크 요구조건을 반영하도록 요구하는 경우에는 달라질 수 있다.
뱅크상태 레지스터회로(200)와 아울러 구성상태 레지스터(40)는 동작 관리를 수행하기 위하여 상태 레지스터(228)를 내장시킨 상태 레지스터 회로(225)와 같은 부가적인 상태 레지스터 회로를 가질 수 있다. 예를 들면, 바람직한 실시예에서는, CPU(20)가 하기에 상세히 설명한 바와 같이 상태 레지스터 회로(225)내의 비트를 세팅함으로써 신속한 진단시험을 수행할 수 있다.
상태 레지스터(40)의 바람직한 실시예에 있어서, 부가적인 소자가 뱅크 상태 레지스터 회로(200)의 각각과 관련된다. 제 2 도에서 도시한 이들 소자는 멀티플렉서(25) 및 비교기(210)를 포함한다. 이들 소자의 단지 한세트만이 도시되어 있지만, 바람직한 실시예에 있어서 각각의 뱅크상태 레지스터 회로(200)는 자체 멀티플렉서(205) 및 비교기(210)를 가질 수 있다.
뱅크 상태 레지스터 회로(200)의 바람직한 실시예에 있어서는, 비교기(210)가 멀티플렉서를 통해 수신되는 뱅크 상태 레지스터의 기본어드레스 정보를 CPU(20)에서 수신되는 메모리 제어기 버스(32)상의 어드레스들과 비교한다. 보오드상의 뱅크들이 각각 1M워드를 갖고 또 그 뱅크들에 대한 기본 어드레스들이 1M의 승수인 경우, 그 뱅크내의 기억위치에 대한 메모리 어드레스들이 동일한 상위 비트를 공유한다. 마찬가지로, 뱅크가 256K 워드인 경우에는 참상태를 유지한다. 이것은 상황에 따라 다른데, 주어진 비트 갯수의 어드레스의 경우 큰 사이즈 보다는 작은 사이즈뱅크에 대히 더 많은 명령비트 갯수가 존재한다. 따라서, 비교기(320)가 정확한 갯수의 어드레스비트를 각각의 메모리 사이즈와 비교하도록 하기 위하여, 멀티플렉서(205)가 1M 워드 메모리의 상위 어드레스비트와 그리고 265K 워드 메모리의 상위 어드레스배트를 그 입력으로 한다. 멀티플렉서(205)는 크기 서브피일드에 응답하여 상기 입력들중 한 입력을 선택한다.
비교기(210)는 그 뱅크에 대한 기본 메모리어드레스의 선택된 부분과 메모리 제어기버스(32)상의 어드레스를 비교하고, 또한 제어기(32)상의 어드레스부분이 상태 레지스터(202)내의 기본 메모리 어드레스 부분과 같은 경우에는 대응하는 뱅크히트신호(215)을 인에이블한다. 뱅크 히트신호가 인에이블되는 경우는 메모리 어드레스들이 대응하는 뱅크의 어드레스 스페이스내에 있다는 것을 의미한다. 각 뱅크상태 레지스터회로(200)의 비교기(210)는 동시에 유사한 비교를 수행하여, CPU(20)에서의 어드레스들이 대응하는 뱅크의 어드레스 스페이스내에 있을 때 그 자신의 뱅크히트신호를 인에이블시킨다. 명백한 바와 같이, 거의 하나의 뱅크 히트신호가 단일어드레스로 인에이블된다.
상기 뱅크히트신호(215)는 모두 OR게이트(220), RAS/CAS(230)에 입력된다. 상기 OR게이트(220)는 뱅크 히트 신호(325)가 인에이블되면 어드레스 히터신호를 발생시킨다. 인에이블된 어드레스 히트신호는 CPU(20)에서의 어드레스가 관련된 메모리의 어드레스 스페이스내에 있다는 것을 가리킨다. 때때로, 어드레스들은 상태 레지스터 회로의 어드레스 스페이스와 같은 스페이스의 외부에 있게 된다. 이러한 경우, 뱅크 히트 신호들이 전혀 인에이블되지 않는다.
뱅크히트신호는 또한 적당한 RAS EN 및 CAS EN 신호를 인에이블 하기 위하여 RAS 및 CAS 디코더(230)에 의해 사용된다. 인에이블되는 경우, RAS EN신호 및 CAS EN신호는 메모리의 대응하는 뱅크를 작동시키는 행 어드레스 스트로브(RAS) 및 열어드레스 스트로브(CAS)를 발생시키는데 사용되는 레벨을 의미한다. 각각의 메모리 뱅크는 한 RAS 한 CAS의 다른 조합에 의해 선택된다. 상기 RAS EN및 CAS EN 신호는 후술하거나 혹은 본 발명의 이해와는 무관한 어드레스 히트신호 및 다른 신호들과 마찬가지로 구성상태 레지스터(40)의 출력이다.
메모리제어기 수단은 또한 중앙처리장치와 구성 레지스터 수단의 구성 구조로부터 수신된 어드레스 및 명령들에서의 메모리 어드레스와 메모리 선택신호를 형성하기 위한 제어 논리부를 포함한다. 이러한 제어논리부의 일예는 제 1 도에서 도시한 제어논리회로(50)이다,. 이 제어논리회로(50)는 제 4 도에서 보다 상세히 도시되어 있다.
제어논리회로(50)는 구성상태 레지스터(40)에서의 몇가지 신호 뿐만 아니라, 어드레스 히트신호, RAS EN신호 및 CAS EN신호를 수신한다. 아울러, 상기 제어논리회로(50)는 클럭신호, AS신호 및 RST 신호를 수신하며, 메모리 제어기 버스(32)에 결합한다. 메모리 제어논리부(50)는 또하나 메모리 어드레스 상호접속부(62)를 형성하는 신호를 발생시킨다.
제 1 도 및 제 4 도에서 도시한 바와 같이, 메모리 어드레스 상호접속부(62)는 각각의 뱅크내의 어드레스 기억 위치중 하나를 특정하는 10비트 메모리 어드레스라인(310)과 대응하는 CAS 신호 및 클럭신호로부터 형성되는 신호 CAS0-CAS3(350-353)과, 대응하는 RAS 신호 및 클럭신호로부터 형성되는 RAS0-3(340)과, SE(기호 인에이블) 신호와, 그리고 WE(기입 인에이블) 신호를 포함한다.
일반적으로, CAS0-SAS 3은 후술하는 시험에 대한 것을 제외하고는 RAS0-3로 마찬가지로 상호 배타적이다. CAS0-CAS 3은 각각 다른 메모리 보오드에 대응하며, RAS-3은 각각 각 메모리 보오드상의 뱅크들중 하나에 대응한다. SE 신호는 구성데이타의 기호 판독을 초래하며, 또 WE신호를 메모리데이타 버스(65)에서의 데이타를 메모리 어드레스 라인(310)에 의해 특정된 기억위치내로 기입하기 위하여 RAS0-3에 의해 지정된 메모리 뱅크와 CAS0-CAS 3에 의해 지정된 보오드를 초래한다. 메모리 어드레스 라인(310)은 또한 판독동작동안 메모리 데이타버스(65)로 데이타가 전송되도록 하기 위해 뱅크내의 기억위치를 측정한다.
제 4 도에서 도시한 바와 같이, 메모리 제어논리부(50)는 마이크로시퀀서(52), 메모리 어드레스상호 접속 제어부(54), 클럭논리부(56) 및 프라차지 회로(66)를 포함한다. 버퍼링 회로와 같은 다른 구성소자는 편의상 바람직한 실시예의 설명에서 생략하였는데, 그 이유는 이들소자의 설명이 통상의 기술분야에 속하기 때문이다. 클럭논리부(56)는 시스템 클럭 신호(CLK)를 수신하여 내부 클럭 신호를 마이크로 시퀀서(52) 및 메모리 어드레스 상호 접속제어부(54)에 제공한다. 제 4 도에서 P1-P4로서 지정된 상기 내부클럭 신호는 데이타 처리시스템(10)의 메인 사이클중의 서브사이클에 대응한다. 메모리어드레스 상호접속 제어부(54)는 RAS0-3 및 CAS0-CAS3 신호를 형성하는 RAS EN신호 및 CAS EN신호에 적절한 타이밍을 제공하기 위해 내부플럭신호를 사용된다. 상기 RAS0-3 신호는 CAS0-CAS3과 같은 4개의 분리신호이다. 메모리어드레스 상호접속제어부(54)는 마이크로 시퀀서(52)에서의 제어신호에 응답하여 상기한 타이밍을 부가시킨다.
상기 마이크로시퀀서(52)의 기능은 CAS0-CAS3, RAS0-3메모리어드레스 라인(310), SE 및 WE가 인에이블되어야 하는 동안 그 사이클의 상호접속제어부를 어드바이싱하는 기능을 한다. 이에 따라, 제어부(54)는 그 적당한 서브사이클 동안 그 신호들을 인에이블 및 디스에이블한다.
상기 마이크로시퀀서(52)는 또한 메모리 제어기버스(32)를 통해 CPU(20)에서의 명령 및 데이타를 수신하는 것과 마찬가지로 CPU(20)가 상기 명령 및 어드레스들을 전송하였음을 나타내는 AS신호를 수신하고, 그리고 CPU(20)에서의 어드레스가 메모리의 어드레스 스페이스내에 있음을 가리키는 CSR(40)의 어드레스 히트 신호를 수신한다. 아울러, 상기 마이크로 시퀀서(52)는 예를 들어 데이타 레지스터(202)내에 기억시키기 위해 제어신호를 CSR(40)에 전송한다. 마이크로시퀀서(52)의 다른 기능은 본 발명의 방법에 따른 설명으로부터 명백해질 것이다.
메모리시스템은 또한 메모리 제어기 수단에 결합되어, 메모리데이타, 메모리 어드레스 및 메모리선택신호를 캐리어시키는 메모리버스를 포함한다. 이러한 메모리버스는 바람직한 실시예에서는 어드레스 상호 접속부(62) 및 메모리 데이타버스(65)를 포함할 수 있다. 상기 메모리 데이타버스(65)는 컴퓨터 구조의 후방평면상에 있게하고, 메모리보오드(70,72,74 및 76)은 물론 CPU보오드(15)는 접속기에 의하여 상기 후방평면에 끼워지게 하는 것이 바람직하다. 상기 보오드(70,72,74 및 76)에 각각 대응하는 접속기(71,73,75 및 77)는 제 1 도에 도시되어 있다.
메모리시스템은 또한 메모리버스에 결합된 메모리모듈을 포함하고 있다. 메모리보오드(70,72,74 및 76)는 바람직한 실시예에서는 메모리모듈이다.
상기 메모리모듈은 메모리버스에 결합되어, 이 메모리버스상의 메모리어드레스들에 대응하는 다른 위치에 메모리데이타를 기억시키고 또한 상기 다른 위치로부터 상기 기억된 메모리데이타를 검색하기 위해 몇가지 구성중 한가지 구성을 갖는 기억수단을 포함한다. 제 1 도에서 도시된 바람직한 실시예에서는 보오드당 4개이상의 뱅크로 구성될 수 있는 메모리뱅크(99)가 상기한 기억수단의 기능을 수행한다.
제 5 도는 메모리보오드(70)의 어떤 소자와, 제어논리부(95) 및 인터페이스 회로(93)(제 1 도에 도시되어 있음)의 소자를 포함하는 시스템도를 도시한 것이다.
상기 메모리보오드(70)는 제 1 도의 메모리뱅크(99)와 등가인 4개의 메모리뱅크(100,102,104 및 106)를 포함하는 것이 바람직하다. 뱅크(100)와 그리고 메모리보오드(70)의 다른소자들 사이의 접속부는 제 6 도에서 보다 상세히 도시되어 있다.
제 6 도에서 도시한 바와 같이, 뱅크(100)는 기억수단으로서 작용하는 256K 또는 1M 워드의 메모리어레이를 포함한다. 바람직한 실시예에서는, 뱅크(100)가 32비트워드의 기억부와 7비트까지의 에러검출 및 정정코드를 제공한다. 제 6 도에서 예시한 바와 같이, 뱅크(100)는 256K는 메모리에 의한 39개의 병령 1비트나 혹은 1M 메모리에 의한 39개의 병렬 1비트중 어느 하나로서 구성된다.
메모리뱅크(100)는 메모리보오드(70)상의 모든 뱅크에 의해 공유되는 열 어드레스 버퍼(120)와, 단지 뱅크(100)에 의해 공유되는 행어드레스 버퍼(130)에 결합된다. 버퍼(120,130)내에 래치되기 이전에 메모리어드레스 라인들이 제 1 도에 도시된 버퍼(97)를 통해 통과한다.
뱅크(100)에 대한 RAS 및 CAS는 제 1 도에 도시된 제어논리부(95)내의 버퍼를 통해서도 통과한다. 각각의 버퍼(120,130)는 10개의 어드레스비트를 홀딩할 수 있다. 메모리의 1M 워드까지의 각 위치를 어드레싱하기 위해서는 총 20개의 어드레스 비트만으로 충분한다.
메모리어드레스 라인(310)에서의 메모리어드레스에 대한 10개의 비트까지는 대응하는 RAS신호의 공급동안 행어드레스버퍼(130)내에 래치되며, 메모리어드레스의 다른 10개의 비트까지는 대응하는 CAS 신호의 공급동안 열어드레스버퍼(130)내에 래치된다.
메모리 어드레스 라인 및 메모리데이타 벼스에 관한 RAS 및 CAS의 타이밍 관계는 단일 전송판독동작(에러없는 경우)에 대해서는 제 7a 도에 도시되어 있고 또 단일 전송기입 동작(에러없는 경우)에 대해서는 제 7b 도에 도시되어 있다. 다수의 전송 판독동작 및 기입동작은 서로 유사하지만, CAS신호를 열어드레스변화로서 토클링하는 동작을 수반한다.
제 7a 도가 판독동작에 대해 방금 설명한 것과 일치하는 것으로 도시한 바와 같이, 행어드레스신호는 RAS신호의 공급동안 메모리어드레스라인(310)상에서 유효하며, 열어드레스신호는 CAS신호의 공급동안 메모리어드레스라인(310)상에서 유효하다. 판독동작에서의 데이타는 CAS가 공급되는 경우와 그리고 CAS가 공급되지 않는 경우 메모리 데이타버스(65)상에서 유용하다.
제 7b 도가 도시하는 바와 같이, RAS 및 CAS의 공급타이밍은 판독 및 기입동작에 대해 동일하지만 그 신호들의 지속시간은 다르다. WE신호는 메모리 데이타버스(65)상의 데이타가 유효해지기 이전에 제공되며, 그 데이타가 더 이상 유효하지 않게 된 후에는 제공되지 않는다. 상기 데이타는 적당한 CAS가 제공되는 경우에는 기입된다.
제 5 도에서 도시한 바와 같이, 뱅크 트랜시버는 각각의 뱅크와 관련된다. 따라서, 뱅크트랜시버(142,144,146 및 148)는 각각 메모리뱅크(100,102,104 및 106)에 대응한다. 트랜시버(142,144,146 및 148)를 통해 흐르는 데이타의 방향은 WE신호에 의해 제어된다.
메모리 보오드는 또한 기억수단의 구성을 식별하는 구성데이타를 기억하기 위한 기호수단을 포함한다. 제 5 도에서 도시한 메모리보오드(70)의 바람직한 실시예에 있어서, 기호 레지스터(160)는 메모리보오드(70)상의 대응하는 메모리뱅크에 대한 구성 데이타를 유지한다.
상기 기호 레지스터는 "1" 또는 "0"레벨중 어느하나를 나타내는 전압소스에 접속된 한조의 핀인것이 바람직하다. 상술한 바와 같이, 본 실시예의 한 메모리보오드상의 메모리뱅크는 구성데이타의 동일한 5비트를 공유하는데, 그 이유는 각 보오드상의 메모리 뱅크의 크기가 같아야 할 뿐만 아니라 모든 메모리 뱅크도 동일한 에러정점 및 검출스키마(scheme)를 사용하여야 하기 때문이다.
따라서, 단일 기호레지스터는 메모리보오드(70)상의 각 메모리 뱅크에 대한 구성데이타를 제공하는 것이 충분할 수 있다. 그러나, 본 발명은 본 실시예로 제한되지 않으며, 또한 각각의 뱅크에 대한 구성데이타가 달라질 수 있는 경우 각 뱅크에 기호레지스터를 제공하는 것이 가능하다.
기호레지스터(160)는 5비트워드가 바람직하다. 제 1의 2비트는 에러검출스키마(1비트 패리티, 7비트 에러 정정, 또는 에러검출무)를 특정하며, 제 2의 2비트는 뱅크의 갯수(1,2 또는 4)를 특정하고, 그리고 최종 비트는 뱅크들이 256K 워드 인지 또는 1M 워드인지의 여부를 특정한다.
메모리보오드는 또한 기억수단 및 기호수단에 결합된 멀티플렉서 수단을 포함하는데, 이는 그 작동시 멀티플렉서 제어신호에 응답하여 메모리데이타나 또는 구성데이타를 메모리버스상에 배치하는 기능을 한다. 바람직한 실시예에 있어서, 제 1 도에 도시된 인터페이스 회로(93)는 이러한 수단을 제공한다. 인터페이스회로(93)의 어떤 구성소자가 뱅크 멀티플렉서(170) 및 시험/기호 멀티플렉서(175)로서 제 5 도에서 더욱 완전하게 도시된다. 제 5 도의 다른 소자는 제어논리부(95)의 일부이거나 혹은 제 1 도에 도시된 보오드(70)의 다른 소자를 나타낸다.
뱅크 멀티플렉서(170)는 뱅크 트랜지스터(142,144,146 및 148)에 결합된 입력을 갖는데, 이는 그 출력중 한 출력을 보오드 트랜지스터(180)에 대한 입력으로서 선택할 수 있다. 뱅크멀티플렉서(170)는 또한 시험/기호 멀티플렉서(175)의 출력에 결합된 한 입력을 갖는 대신에 그 출력을 보오드 트랜시버(180)에 대한 입력으로서 선택할 수 있다. 시험/기호 멀티플렉서(175)에 대한 입력중 하나는 기호 레지스터(160)이다. 시험/기호 멀티플렉서(175)는 시험신호가 디스에이블 되는 경우 상기 기호 레지스터(160)의 내용을 뱅크 멀티플렉서(170)에 대한 입력으로 게이트시킨다. 시험신호의 발생에 대해서는 하기에서 상세히 설명한다.
뱅크멀티플렉서(170)는 SE신호, 시험신호와 또한 보다 상세시 후술하는 BDONE신호를 입력 RAS0-RAS3으로서 갖는 뱅크멀티플렉서 제어회로(172)에 의해 제어된다. 뱅크 멀티플렉서 제어회로(172)에 응답하여 뱅크멀티플렉서(170)는 뱅크트랜시버(142,144,146 및 148)중 하나의 출력이나 혹은 시험/기호 멀티플렉서(175)의 출력중 어느 하나를 선택한다. 이어서, 그 선택된 출력은 보오드트랜시버(180)를 통해 메모리 데이타버스(65)상에 전송된다.
제 5 도에서 도시한 바와 같은 보오드 트랜시버(180)는 뱅크 멀티플렉서(170)에서 메모리 데이타버스(5)상으로의 데이타전송을 제어할 뿐만 아니라 또한 대응하는 뱅크트랜시버에 의하여 메모리 데이타버스(65)에서 뱅크(100,102,104 및 106)로의 정보전송도 제어한다. 보오드트랜시버(180)는 대응하는 CAS신호는 물론 BDONE신호 WE신호에서의 보오드 트랜시버 제어회로(182)에 응답한다.
각각의 뱅크 트랜시버는 RAS0-RAS3중 다른 하나에 의해 인에이블 되며, 트랜시버를 통해 흐르는 데이타의 방향은 WE신호에 의해 결정된다. 그 제어는 일반적으로 각각의 메모리 보오드에 대해 동일한다.
본 실시예는 또한 메모리보오드의 전체 구성소자가 유용하지는 않다하더라도 자동 메모리사이징에 대한 능력을 포함한다. 각각의 메모리보오드가 후방평면내의 대응하는 메모리보오드 접속기내에 끼워지게 되지만 그 각각의 메모리보오드 접속기가 메모리보오드를 포함할 필요는 없다.
메모리제어기 수단은 보오드를 포함하지 않는 메모리 접속기에 대한 구성데이타를 얻기위한 수단을 포함할 수 있다. 바람직한 실시예에 있어서는, 메모리데이타버스(65)의 라인들이 제 4 도에 도시한 메모리 제어 논리부(50)에 있는 프리차지 회로 장치(66)에 의해 미리 충전된다.
상기 프라차지회는 기호데이타를 메모리제어기(30)에 전송하는 메모리데이타버스(65)의 5개의 라인을 공급전압 Vdd까지 끌어 당기는 트랜지스터인 것이 바람직하다. 구성상태레지스터(40)가 앰프티 접속기부터의 기호 데이타를 판독하려고 시도할때 그 접속기들중 하나에 보오드가 전혀없는 경우에는 메모리 데이타 버스(65)에 대한 프리차지된 상태나 혹은 디폴트상태에서의 값을 판독하게 된다. 상기 디폴트 값은 메모리 보오드가 전혀 메모리뱅크를 갖고 있지 않음을 나타내는 지시값에 대응한다.
제 7c 도는 기호동작에 대한 타이밍을 도시한 것이다. 대응하는 CAS신호는 SE신호와 동시에 제공되며, 메모리데이타버스(65)는 CAS신호가 제공되기전에 프라차지된다. 대응하는 CAS 및 SE신호가 제공될 때, 그 기호 데이타는 메모리 데이타버스(65)로 게이트된다.
아울러, 메모리 시스템은 또한 메모리버스에 결합되어, 메모리데이타내의 에러를 검출하기 위한 에러검출수단을 포함할 수 있다. 이러한 에러검출수단의 일예가 제 1 도에서 ECC장치(45)로서 도시되어 있다.
이 ECC장치(45)는 패리티 에러검출이나 혹은 에러검출정정의 해밍(Hamming) 코드 유형을 수행할 수 있다. 또한, 에러검출 및 정정의 다른 유형도 그 수행이 가능하다.
B. 자동 사이징 동작
제 1 도 내지 제 6 도에 도시한 다른 구성요소에 의해 수행디는 기능의 이해에 따라, 이제 자동 사이징방법이 쉽게 이해될 수 있다. 그러나, 그 방법을 설명하기전에 앞서, 데이타 처리시스템(10)의 일반적인 메모리액세스 동작을 보다 상세히 이해하는 것이 도움이 될 수 있다.
일반적으로, CPU(20)는 어드레스 또는 데이타를 포함하는 CPU 버스(22)를 통해 판독 또는 기입요구를 행한다. 이러한 메모리액세스 동작에 있어서, CPU(20)에 의해 공급되는 메모리어드레스가 래치(34)를 통해 메모리 제어기버스(32)상에 전송되는데, 이는 각 뱅크상태 레지스터회로에 비교기(210)에 대한 입력이 된다. 만일 그 메모리 어드레스가 보오드(70,72,74 및 76)의 어드레스 스페이스내에 있으면, 비교기들(210)중 하나는 어드레스가 그 비교기에 대응하는 뱅크의 어드레스 스페이스내에 위치하는 것을 타나내는 뱅크히트신호를 인에이블 할 것이다. 이어서, 그 인에이블된 히트신호 RAS 및 CAS 디코터(230)로 하여금 그 뱅크에 대응하는 한 RAS 및 한 CAS를 제공케한다. 그리고, 메모리제어논리부(50), 특히 메모리 어드레스 상호접속제어부(54)는 대응하는 RAS 및 CAS를 형성하기위하여 클럭(위상)타이밍을 부가시킨다.
데이타 처리시스템(10)에서는 메모리 제어논리부(50)가 메모리제어기 버스(32)를 통해 CPU(20)로부터의 메모리리어드레스를 재 포맷화되게 하여, 이 재 포맷화된 메모리어드레스를 메모리어드레스 상호접속제어부(54) 및 메모리어드레스 라인(310)을 통해 메모리보오드(70,72,74 및 76)에 10비트 세그먼트로서 전송한다. 그 제 1 세그먼트는 행어드레스를 포함하고, 그 다음 세그먼트는 열어드레스를 포함한다. 메모리제어 논리부(50)는 제 7a 도 및 제 7b 도에 도시한 바와 같은 타이밍을 제어하여 RAS를 먼저 발생시키고, 이러한 상태에서 행어드레스의 메모리어드레스 라인(310)상의 10비트를 대응하는 뱅크의 행어드 레스버퍼(130)내에서 판독되게 한다. 다음 CAS를 제공하게 되면, 메모리어드레스 라인(110)상의 열어드레스를 나타내는 다음 10비트가 지정된 보오드의 열어드레스 버퍼(120)내에서 판독된다. 만일 다수의 워드의 판독이 개시되면, 기호행어드레스의 다수 CAS어드레스 및 다수 열어드레스가 발생된다.
판독동작의 경우 대응하는 메모리뱅크가 행어드레스버퍼(130) 및 열어드레스버퍼(120)내의 어드레스에 특정된 위치의 내용으로부터 데이타를 발생시킬 것이다. 그 데이타는 대응하는 뱅크 트랜지스터(142,144,146 또는 148) 및 보오드 트랜시브(180)를 통해 메모리데이타 버스(65)로 전송될 것이다. 상기 뱅크 트랜시버는 대응하는 RAS에 의해 제어되며, 또 상기 보오드 트랜시버는 대응하는 CAS에 의해 제어된다.
기입동작의 경우, 기입될 데이타는 CPU 버스(22)를 거쳐 래치(34), 메모리 제어기버스(32) 및 ECC블럭(45)를 통해 CPU(20)에서 메모리 데이타버스(65)로부터, 상기 데이타가 CAS 및 WE신호에 의해 인에이블되는 보오드 트랜시버와 또한 WE신호 및 대응하는 RAS에 의해 제어되는 뱅크트랜시버를 통해 적절한 메모리 뱅크로 공급된다. 상기 CAS는 선택된 메모리 뱅크의 행 및 열어드레스의 어드레스에 의해 특정된 위치의 내용으로 기억될 데이타를 초래한다.
이러한 자동메로리 사이징 장치 및 그 방법의 잇점들 중 하나는 그것을 수행함에 있어 매우 작은 하드웨어와 단지 하나의 후방평면신호를 필요로 한다는 것인데, 그 이유는 기존 메모리액세스 하드웨어 및 제어부의 잇점을 취할 수 있기 때문이다. 데이타 처리시스템(10)에 있어서, RST 신호는 CPU(20) 및 메모리 제어부(30)의 양자에 전송된다. CPU(20)는 초기화나 혹은 부트스트래핑절차는 물론 자동 메모리사이징 절차를 포함하는 부트 ROM(25)에 스타팅어드레스를 보내는 RST신호를 이용한다. 이러한 RST 신호에 응답하여, 상기 메모리 제어기 논리부(50)가 CAS, RAS, SE 및 WE 신호를 다시 제공해서 모든 뱅크 상태 레지스터회로(200)와 또한 이 회로의 상태 구성 레지스터의 록 비트를 클리어한다.
제 8 도는 본 발명의 기호 판독동작을 도시한 순서도이다. 방금 기술된 리세트 동작은 상기 순서도에서 단계(410)로서 도시되어 있다. 자동 메모리 사이징 절차를 개시하기 위하여, CPU(20)는 상태구성 레지스터(202)내에 기호 판독요구 비트를 세트시킨다(단계 420). 다음, 메모리 데이타버스 라인(65)이 프라치지 된다(단계 425).
메모리 제어논리부(50)와 특히 마이크로 시퀀서(52)는 상태 구성레지스터(220)에 전송되는 워드내의 기호 판독비트를 검출하여 기호판독동작을 시작한다. 사실상 바람직한 실시예에 있어서의 마이크로 시퀀서(52)는 그 기호 판독동작이 완료될때까지 상태 구성 레지스터에 대한 CPU전송의 긍정 응답완료를 행하지 않는다. 이어서, 메모리 제어논리부(50)가 그 뱅크를 내장한 보오드의 CAS를 공급하며 또한 SE 신호를 공급한다(단계 430). 제 5 도에서 알 수 있는 바와 같이, 이들 신호의 공급에 따라 그 보오드에 대한 기호 데이타를 나타내는 기호신호 레지스터(160)의 내용이 시험/기호 멀티플렉서(175), 뱅크멀티플렉서(170) 및 보오드 트랜시버(180)를 통해 메모 데이타버스(65)상에 게이트된다(단계 440).
이어서, 기호 데이타는 메모리 데이타버스(65)로부터 구성 데이타가 방금 판독된 보오드상의 각 뱅크에 대한 상태 구성 레지스터(202)내로 기입된다.
그후, CPU(20)는 상태 구성 레지스터(202)로부터 기호 데이타를 획득하여, 부트 ROM(25)으로부터 실행된 절차에 따라 동일 보오드상의 각 뱅크에 대해 기본 메모리어드레스를 계산한다(단계 460). 일반적으로, 이러한 계산은 0으로 초기화될 수 있는 "다음 기본 어드레스"를 유지하는 단계와, 이러한 값을 보오드의 뱅크 0에 대한 기본 어드레스를 사용하는 단계와 그리고 뱅크에 대한 기본 어드레스를 얻어서 "다음 기본 어드레스"값을 설정하는 크기(1M 또는 256K)를 가산하는 단계로 이루어진다.
다음, CPU(20)는 그 보오드상의 각 뱅크에 대한 기본 어드레스를 그 뱅크에 대응하는 구성 상태 레지스터(202)내로 기입한다(단계 470). 이어서. 상기 CPU는 기호가 보오드로부터 모두 판독되었는지의 여부를 결정한다(단계 480). 만일 판독되었다면, 메모리 초기화절차가 완성된다. 또, 판독되지 않은 경우에는 그 절차가 다음 보오드의 단계(420)에서 다시 개시하도록 반복된다.
따라서, 자동 메모리 사이징은 새로운 하드웨어 또는 신호라인의 부가를 필요로함이 없이 기존 메모리 하드웨어에 응용된다. 메모리데이타 버스, RAS CAS의 사용에 의해, 각 보오드의 기호 또는 구성데이타가 단지 단일부가 신호, SE신호의 부가로서 얻어진다. 게다가, 이러한 동작방법을 실행하기 위해 각 보오드상에서 요구되는 부가적인 기능을 몇몇 제어회로와 더불어 기호 레지스터(160)에 의해 수행된다.
C. 신속한 메모리 진단
본 발명은 모든 메모리뱅크를 기준 뱅크와 동시에 데이타 비교를 하여 메모리진단을 신속하게 행한다. 이것은 메모리 시험을 병렬로 행하기 때문에 보다 신속하게 처리할 수 있다. 일반적으로, 메모리시험은 동일 패턴을 대응하는 위치와 모든 메모리 뱅크내에 동시에 기입하는 "브론드케스트기입(bradcastwriting)"에 의해 시작한다. 이어서, 신속한 메모리 진단 방법은 기준 메모리 뱅크의 내용을 다른 메모리뱅크의 내용에 대해 비교함으로써 계속된다.
그러므로, 본 발명의 자체 시험 메모리는 동일 시험패턴을 다수의 메모리뱅크의 각각에 대한 대응 기억위치내에 동시에 기입하기 위한 수단을 구비한다.
본 발명의 바람직한 실시예에 있어서, 이러한 기능은 메모리 데이타버스(65)상의 데이타에 의해 표시되는 패턴을 각 메모리 보오드상의 모든 뱅크 0-3의 대응기억위치내에 동시기입하는 브로드케스트 기입 동작으로서 실현된다. 일반적으로, 이것은 RAS0-RAS3은 물론 CAS0-CAS3을 동시에 공급함으로써 달성된다.
정상적인 메모리 기입 동작에 있어서는 단지 하나의 RAS 및 하나의 CAS가 공급되는데, 그 이유는 소망의 메모리 위치가 단지 하나의 뱅크내에 존재한다. 그러나, 본 발명의 신속한 메모리 진단 절차의 바람직한 실시예에서는 모든 RAS가 CAS 및 WE신호에 응답하여 메모리 데이타 버스(65)상의 패턴을 동시에 기억한다.
RAS 라인의 동시공급은 메모리 제어기(30)내의 회로에 의해 실시된다. 특히, 본 발명의 바람직한 실시예에서는 CPU(20)가 상태 레지스터회로(225)의 상태 레지스터(228)내에 신속한 진단 플래그(229)로 지칭된 비트를 설정함으로써 신속한 메모리 진단을 개시한다. 이러한 플래그의 세팅에 응답하여, RAS 및 CAS 디코터(230)(제 2 도)가 RAS0-RAS3 EN 및 CAS0-CAS3 EN 신호로하여금 보도드케스트 기입 기능을 수행할 수 있게한다. 제 2 도에서 도시한 바와같이 RAS 및 CAS디코더(230)는 비록 다른 수행이 본 발명이 범위이내에 있더라도 신속한 진단플래그(229)를 직접 수신한다. 제어논리부(50)는 RAS EN 및 CAS EN 신호의 동시에 인에이블링에 응답하여 모든 RAS와 모든 CAS를 동시에 제공한다. 이어서, 메모리 어드레스 제어부(54)는 상술한 바와같이 적절한 타이밍을 가산한다. 그리고 부트 ROM(25)에서의 명령에 응답하여, 연속기입명령을 연속메모리 위치에 허가한후 동일 패턴을 모든 뱅크의 각 위치내에 기입되게 한다. 그러나, 모든 뱅크에 기입하는데 필요한 시간은 단일 뱅크에 기입하는데 필요한 시간과 동일하다.
CPU(20)가 신속한 진단 플래그(229)를 세트시킬 때, 제 2 도에 도시한 시험설정논리부(232)는 그 플래그에 응답하여 메모리 데이타 버스(65)상의 어떤 라인을 세트시킨다. 바람직한 실시예에 있어서, 세트를 포함하는 라인들은 라인 0,10,20 및 30이다. 이러한 라인을 선택하기 위한 이유는 그것이 바람직한 메모리 아키텍처에 응답하기 때문이다, 그 아키텍처에서의 메모리 데이타 버스(65)는 모든 39메모리 비트의 동시전송을 도모하기 위해 39비트폭을 갖는다. 바람직한 구현을 위해서는 각각의 메모리 보오드(70,72,74 및 76)가 4개의 10비트 폭 슬라이스를 구비하고, 또 메모리 데이타 버스(65)는 4조의 10비트 콘덕터를 구비한다. 매 10비트 슬라이스의 경우, 최하위 비트(즉, 비트 0,10,20 및 30)가 시험을 나타내는데 사용된다. 이들 라인이 제공될때, 그 메모리 보오드는 시험 모드 상태에 있다, 메모리 보오드 제어논리회로(190)는 이들 라인의 제공을 감지하여 상술된 시험신호를 형성한다. 이어서, 이러한 시험 신호는 신속한 메모리 진단절차를 수행하기 위하여 메모리 보오드(70)에 의해 사용된다.
본 발명에 따라서, 자체 시험 메모리는 또한 한메모리 뱅크의 각 기억 위치에서의 내용을 다른 메모리 뱅크의 대응하는 각 기억 위치에서의 내용과 동시에 비교하기 위한 수단을 포함한다. 이러한 수단은 메모리 뱅크들중 선택된 뱅크의 내용을 판독해 내기 위한 수단을 포함할 수 있다. 본 발명의 바람직한 실시예에 있어서, 상기 선택된 메모리 뱅크는 보오드 1상의 뱅크 0이다.
보오드 1은 후방평면상의 신호 BDLOCLI를 사용하여 결정되고, BDLOCLI는 CPU보오드(15)에서 발생된다. 제 1 메모리 보오드(70)(즉, CPU보오드 15에 가장 근접한 보오드)는 BDLOCLI신호를 초기 위치 센서(195)(제 5 도 참고)의 입력으로서 수신하다. 만일 초기위치 센서(195)가 BDLOCLI 신호를 Vss레벨에 있도록 하였다면, 그것은 CPU보오드(15)에 가장 근접한 메모리 보오드를 식별하는 BDONE 또는 "보오드 1"신호를 공급한다. CPU(20)에 가장 근접한 메모리 보오드는 또한 BDLOCLI 신호가 보다 멀리 전파되는 것을 중지시킨다. 따라서, 상기 BDLOCLI 신호는 CPU(20)에 가장 근접한 메모리 보오드를 빼고는 전부 유동적이다. 다른 메모리 보오드상의 레지스터(198)는 BDLOCLI신호를 Vdd까지 끌어올리고 또 그 초기 위치 센서는 그 BDONE 신호를 제공하지 않게된다.
본 발명의 바람직한 실시예에 있어서, 메모리 뱅크중 선택된 함 뱅크를 판독하기 위한 수단을 뱅크 멀티플렉서 제어 회로(172)를 포함한다. 보오드(70)가 시험모드상태인 시험 신호를 인에이블 하기위해 제어논리부(190)에 의해 감지될때, 뱅크 멀티플렉서 제어회로(172)는 뱅크 멀티플렉서(170)로 하여금 메모리 판독동안 뱅크 0의 지정된 내용을 선택케하고, 또 트랜시버 제어회로(182)는 트랜시버(180)로 하여금 이들 내용을 메모리 데이타 버스(65)상에 제이트되게 한다. 지정된 내용은 CPU(20)에서의 어드레스에 따라 메모리 어드레스라인(310)에 의해 결정된다.
본 발명의 동시비교 수단은 하나의 메모리 보오드의 내용을 제 1 래치 내에 기억시키기 위한 수단을 포함한다. 뱅크 0의 지정된 위치의 내용이 메모리 데이타 버스(65)에 전송되는 판독동작 동안, 각각의 메모리보오드(70,72,74 및 76)는 그 내용을 보오드 트랜시버(180)를 통해 수신하고, 이어서 관련된 CAS의 비작동동안 메모리 래치(500)내에 래치시킨다.
본 발명의 동시비교수단은 또한 다른 메모리뱅크의 대응하는 내용을 제 2 래치내에서 동시 판독하기 위한 수단을 포함할 수 있다. 동일한 판독동작동안, RAS신호는 작동상태로 유지되어, 각각의 뱅크(100,102,104 및 106)의 대응위치에서의 내용을 각기 뱅크(100,102,104 및 106)에 대응하는 몇개의 뱅크 래치(510,515,520 및 525)내에서의 내용의 기억에 따라 CAS신호가 제공되지 않는 동안에 기억된다.
바람직한 실시예에 있어서, 상기 비교수단은 또한 선택된 메모리 뱅크의 내용, 예컨대 래치(500)내의 보오드 1의 뱅크 0내용을 다른 메모리뱅크의 대응기억위치의 내용, 예컨대 래치(520,515,520 및 525)의 내용과 비교하기 위해 비교기(530,535,540 및 560)과 같은 비교기를 포함한다. 제 5 도에서 도시한 바와같이, 각각의 비교기(530,535,540 및 545)는 각기 대응하는 랭크 래치(510,515,520 또는 525)의 출력을 수신하는 하나의 입력과 메모리 래치(500)의 출력에 접속된 다른 입력을 갖는다.
각각의 비교기(530,535,540 및 545)는 메모리 래치(500)의 내용이 각각의 뱅크래치(510,515,520 또는 525)의 내용과 정합하지 않으면 "1"과 같은 제 1 상태에서 출력을 발생시키는 것이 좋다. 그렇지 않은 경우에는 비교기(530,535,540 및 545)가 제 2 상태에서 "0"출력을 발생시킨다. 비교기(530,535,540 및 545)의 출력은 모드 OR게이트(530)에 대한 입력이다. OR게이트(550)에 대한 어떤 입력이 제 1 상태, 즉 "1"인 경우, OR게이트(550)의 출력이 인에이블, 즉 "1"이 된다.
본 발명에 따라서, 자체시험 메모리는 또한 선택된 메모리 뱅크의 기억위치에서의 내용이 다른 메모리 뱅크의 대응하는 기억 위치에서의 내용과 다를 때 에러발생으로서 기록하기 위한 수단을 포함한다. 본 발명의 바람직한 실시예에서는, 제 5 도에서 도시된 7비트 카운터(560)가 OR게이트(550)의 출력에 접속된 데이타 입력과 그리고 이 입력이 지연회로(555)를 통과한후 관련된 CAS를 수신하도록 접속된 클럭 입력을 갖는다. 상기 지연회로(555)는 래치(500,510,515,520 및 525)와, 비교기(530,535,540 및 545)와, 그리고 OR게이트(550)를 통해 전파지연을 허용한다. OR게이트(550)의 출력이 "1"이면, CAS는 카운터를 증분되게한다. 만일 OR게이트(550)의 출력이 "0"이면, 카운터(560)가 증분되지 않는다.
이러한 방식으로, 카운터(560)가 뱅크 래치(510,515,520 또는 525)중 하나의 내용을 카운트하고, 이에 따라 그 래치에서 기억된 대응하는 메모리위치의 내용이 보오드 1의 0의 대응하는 기억위치에서의 내용을 포함하는 메모리 래치(500)의 내용들과는 달라진다. 바람직한 실시예에 있어서, 카운터(560)는 단지 7비트 카운터이다. 만일 2개 이상의 에러가 있다면, 오버플로우(OV)비트가 세트된다.
본 발명의 바람직한 실시예에 있어서, 메모리 보오드(70)는 10비트 슬라이스로서 수행되는데, 각 슬라이스에 대해서는 단지 하나의 카운터가 존재한다. 따라서, 각각의 보오드는 메모리 이벤트의 횟수를 기록하는 4개의 7비트 카운터를 갖는다.
그러나, 바람직한 실시예라 하더라고, CPU버스(22)가 32비트폭을 갖는 것이 바람직하기 때문에 4개의 카운트(즉, 모두 40비트)의 출력을 CPU(20)에 송신하기란 곤란하다. 따라서, 메모리데이타버스(65)의 최상위 10개의 라인상에 존재하는 카운터의 내용은 레지스터(227)에 기억되고, CPU(20)에 의해 레지스터에서 분리메모리 판독명에 판독된다.
카운터(560)의 출력은 시험/기호 멀티플렉터(175)에서의 입력이 되는데, 이는 시험절차의 종료로 CPU(10)에서의 입력에 대한 메모리 데이타 버스(65)상에 출력될 수 있다. 이것은 진단 시험동작이후 제 1의 판독동작동안 발생하는 것이 바람직하다. 특히, CPU(20)가 시험을 종료시키는 경우, 메모리 데이타 버스(65)의 라인(0,10,20 및 30)을 다시 제공하도록 레지스터(228)의 내용을 변경시킨다. 이에 응답하여, 시험제어 논리부(190)는 시험신호를 다시 제공하고, 시험/기호 멀티플렉서(175)와 뱅크 멀리플렉서(170)는 카운터(560)의 출력을 보오드 트랜시버(180)으로 게이트시켜 시험을 수반하는 제 1 판독동작동안 RAS를 무효화시킨다. 상기 제 1 판독동작을 위해 발생되는 CAS동안, 보오드 트랜시버(180)가 카운터의 내용을 메모리 데이타 버스(65)로 게이트시킨다.
카운터(560)의 출력은 바람직한 실시예에서 SE신호가 기호 판독동안 작동될 때 클리어된다.
D. 신속한 메모리진단 방법
상술한 구성에 따라, 본 발명의 신속한 진단 시험을 수행하기 위한 방법의 바람직한 실시예는 메모리 시험 절차의 양호한 방법을 예시한 제 9 도의 순서도의 도움으로서 이해될 수 있다. 제 1 단계는 에러 카운터(560)를 리세트시키는 것이다(단계 600). 이것은 그 타이밍이 비록 본 발명의 메모리 시험을 실시하는데 필요하지는 않는 예시적인 것이라 하더라도 기호 판독동안 행해진다.
다음 단계에서는, 시험 패턴이 모든 메모리 뱅크의 기억위치내에 동시에 기입된다(단계 610). 이미 설명한 바와같이, 이것은 CPU(20)가 뱅크 중 하나의 다른 위치에 대한 메모리 시험 패턴 및 어드레스를 공급할 때 RAS 및 CAS의 동시제공에 의해 행해진다.
상기 패턴이 모든 뱅크내에 기입된후, 보오드 1(제 1 도에서 보오드 70으로 표시됨)이 뱅크0(제 5 도에서 100으로 표시됨)의 내용은 메모리 데이타 버스(65)상에 판독되어진다(단계 620). 상술한 바와같이, 이것은 BDONE 신호가 뱅크 멀티플렉서제어부(170)로 하여금 뱅크 0에서의 내용을 트랜시버(142)를 통해 선택케하고 또한 트랜시버 제어부(182) 내의 BDONE신호가 보오드 트랜시버(180)로 하여금 뱅크 멀티플렉서(170)의 출력을 메모리 데이타버스(65) 상에 게이트 시키도록 하기 때문에 발생한다. 만일 BDONE신호가 보오드(72,74 및 76)에서와 같이 제공되지 않는다면, 뱅크멀티플렉서(170)와 보오드 트랜시버(180)는 그 어느것도 인에이블 될수 없다. 이것은 보오드 1의 뱅크 0 내용만이 메모리데이타버스(65)상에 게이트되게한다(단계 630). 이러한 게이팅은 대응하는 CAS신호가 제공되는 동안 발생한다.
CPU(20)는 그 내용을 기억되어 있는 패턴과 비교하는 분석과 같은 뱅크 0의 내용에 대한 자체분석을 수행한다. 그러나, 이러한 분석은 하나의 뱅크에 대해서만 실시해야 한다.
각각의 보오드는 보오드 1내의 뱅크 0의 내용을 대응하는 메모리 래치(500)내에 기억시키고 또한 다른 뱅크래치(510,515,520 및 525)의 대응하는 위치에서의 내용을 기억시킨다(단계 640). 이러한 기억단계는 CAS가 제공되지 않을 때 발생한다. 각 보오드내의 CAS는 보오드트랜시버로 하여금 메모리데이타 버스내용을 수신케하여 그것들을 메모리래치(500)에 대한 입력으로서 존재케한다.
따라서, 모든 보오드는 대응하는 CAS신호가 제공되지 않을 때 메모리 데이타 버스(65)로부터의 신호를 동시에 래치시키며, 또한 다른 뱅크의 내용도 뱅크 래치내에 동시에 래치시킨다. 제 7d 도는 메모리 뱅크로부터 데이타가 판독되는 경우 신속한 메모리 진단에 대한 타이밍을 도시한 것이다.
선택된 뱅크이 내용과 대응 위치에 대한 다른 뱅크의 내용이 래치된 후에는 각 뱅크의 내용이 선택된 뱅크의 내용과 동시에 비교된다(단계 650). 제 5 도에서 도시한 바와같이, 이러한 비교는 각기 뱅크 0 내지 3의 내용에 대한 비교기(530,535,540 및 545)를 사용한다. 비교기(530,535,540 및 545)는 모두 동시에 동작한다.
다음 단계에서는, 선택된 메모리 뱅크의 내용과 다른 어떤 뱅크에서의 대응하는 위치의 내용이 정합하지 않을때마다 에러 카운터가 증분된다(단계 660). 이미 설명한 바와같이 비교기(530,535,540 및 545)는 각각 그 입력이 같지 않을때는 "1"를 발생시킨다. "1"이 발생하는 경우에 OR게이트(550)가 인에이블 되어, 데이타 입력을 카운터(560)에 인에이블시킨다. 또, 카운터(560)가 클럭신호를 수신할 때 그것은 증분된다. 상기 클럭신호는 지연 소자(555)를 통해 지연된 후에는 대응하는 CAS로부터 제공된다. 상기 지연 소자는 카운터의 데이타입력으로 전송하는 신호에 대한 시간을 허용한다.
다음, 뱅크의 내용이 전체적으로 판독되었는지의 여부 대한 검증이 행해진다(단계 670). 단일 판독되지 않았다면, 에러 카운터의 내용이 출력된다(단계 680). 본 발명의 바람직한 실시예에서는, 카운터(560)의 내용은 신속한 메모리 진단이후 제 1 의 비시험 모드 판독 동작이 선택된 보오드에 대해 발생할 때 시험/기호 멀티플렉서(175), 뱅크 멀티플렉서(170) 및 보오드 트랜시버(180)를 통해 게이트된다. 신속한 메모리 진단의 종료로, CPU(20)가 시험 설정회로(232)로 하여금 메모리 데이타 버스(65)의 라인들(0,10,20 및 30)을 제공되지 않게 하도록 메모리 진단 플레그를 리세트 시킨다. 시험 제어 논리회로(190)가 라인들(0,10,20 및 30)을 더 이상 제공하지 않게끔 결정하는 경우, 뱅크 멀티 플렉서 회로(172) 및 신호/기호 멀티플렉서(175)는 카운터(560)의 내용을 보오드 트랜시버(180)와 메모리 데이타 버스(65)에 게이트시키도록 구성된다.
CPU(20)는 카운터 값을 얻을 수 있는데, 이는 이러한 절차를 다른 패턴에 따라 반복하는지의 여부를 결정되게 한다(단계 690). 만일 반복하고 있다면 그 절차는 계속되고(단계 600), 그렇지 않다면 그 절차는 중지된다.
따라서, 본 발명의 신속한 메모리와 시험메모리는 종래의 방법보다 휠씬 더 작은 시간을 필요로 할뿐만 아니라 훨씬 더 작은 수의 하드웨어를 필요로 한다.
이러한 분야에서 숙련된 기술을 가진자에게는 본 발명에 대한 여러 가지 변경이 이루어질 수 있다는 것이 이해될 것이다. 그러므로, 본 발명은 지금까지 예시 및 설명된 특정 실시예로만 제한되어서는 아니되며, 본 발명의 사상 및 범위로부터 벗어남이 없이 여러 가지 변경이 이루어질 수 있다.

Claims (26)

  1. 복수의 독립 메모리 뱅크로 구성된 자체 시험 메모리에 있어서, 상기 복수의 독립 메모리 뱅크중 각 뱅크의 내용 기억위치내에 동일 테스트 패턴을 동시에 기입하기 위한 수단과; 상기 복수의 독립 메모리 뱅크중 각 뱅크의 대응 기억위치의 내용을 액세스 하기 위한 수단과; 상기 복수의 독립 메모리 뱅크중 한 뱅크를 선택하기 위한 수단과; 상기 복수의 독립 메모리 뱅크중 상기 선택된 한 뱅크의 기억위치의 내용을 상기 복수의 독립 메모리 뱅크중 다른 뱅크의 대응기억위치의 내용과 동시에 비교하기 위한 수단과; 상기 선택된 메모리 뱅크의 기억위치의 내용이 상기 복수의 독립메모리 뱅크중 임의의 다른 뱅크의 기억위치의 내용과 다른 경우 에러를 발생시켜 기록하기 위한 수단을 구비하는 것을 특징으로 하는 자체시험메모리.
  2. 제 1 항에 있어서, 상기 모든 메모리 뱅크는 단일메모리 보오드상에 존재하는 것을 특징으로 하는 자체시험메모리
  3. 제 1 항에 있어서, 각각 상기 복수의 메모리 뱅크중 적어도 한 뱅크를 갖는 복수의 메모리 보오드를 아울러 포함하는 것을 특징으로 하는 자체시험메모리.
  4. 제 1 항에 있어서, 상기 선택된 메모리 뱅크의 내용들을 유지하기 위한 제 1 래치와; 상기 메모리 뱅크중 다른 뱅크의 각 내용들을 위치하기 위한 제 2 래치를 아울러 포함하는 것을 특징으로 하는 자체시험메모리.
  5. 제 4 항에 있어서, 상기 동시 비교수단은 상기 제 1 및 제 2 래치에 결합된 비교기를 포함하는 것을 특징으로 하는 자체시험메모리.
  6. 제 5 항에 있어서, 상기 비교기에 결합된 OR 게이트를 아울러 포함하는 것을 특징으로 하는 자체시험메모리.
  7. 제 1 항에 있어서, 상기 선택된 메모리 뱅크의 기억위치의 내용이 상기 복수의 독립메모리 뱅크중 임의의 다른 뱅크의 기억위치의 내용과 다른 경우 카운트값을 증가시키기 위한 카운팅 수단을 아울러 포함하는 것을 특징으로 하는 자체시험메모리
  8. 제 7 항에 있어서 상기 카운팅 수단으로부터 카운트 값을 출력시키기 위한 수단을 아울러 포함하는 것을 특징으로 하는 자체시험메모리.
  9. 복수의 독립 메모리 뱅크로 구성된 자체시험메모리를 포함하는 데이타 처리 시스템에 있어서, 상기 복수의 독립메모리 뱅크중 각 뱅크의 대응기억 위치내에 동일 시험 패턴을 동시에 기입하기 위한 수단과; 상기 복수의 독립메모리뱅크중 각 뱅크의 대응위치의 내용을 액세스하기 위한 수단과; 상기 복수의 독립메모리 뱅크중 한 뱅크를 선택하기 위한 수단과; 상기 복수의 독립 메모리 뱅크에 결합되어, 상기 복수의 독립 메모리뱅크의 동작을 평가하도록 상기 복수의 독립메모리 뱅크중 상기 선택된 뱅크로부터의 기억내용을 시험하기 위한 수단과; 상기 복수의 독립메모리 뱅크중 상기 선택된 뱅크의 기억 위치의 내용을 상기 복수의 독립메모리 뱅크중 다른 한 뱅크의 대응기억위치의 내용과 동시에 비교하기 위한 수단과; 상기 선택된 메모리 뱅크의 기억위치의 내용이 상기 복수의 독립 메모리 뱅크중 임의의 다른 뱅크의 기억위치의 내용과 다른 경우 에러를 발생시켜 기록하기 위한 수단을 구비하는 것을 특징으로 하는 데이타처리 시스템.
  10. 제 9 항에 있어서, 상기 복수의 독립 메모리 뱅크중 상기 선택된 한 메모리 뱅크의 내용을 유지하기 위한 제 1 래치와; 상기 복수의 독립 메모리 뱅크중 상기 다른 뱅크의 각 내용을 유지하기 위한 제 2 래치와; 상기 제 1 및 제 2 래치에 결합된 비교기를 구비하는 것을 특징으로 하는 데이타 처리 시스템.
  11. 복수의 독립메모리 뱅크에 결합되는 자체시험메모리 시스템에 있어서, 상기 복수의 독립 메모리 뱅크중 각 뱅크의 대응 기억위치 내에 동일 시험 패턴을 동시에 기입하기 위한 수단과; 상기 복수의 독립메모리 뱅크중 각 뱅크의 대응기억위치의 내용을 액세스 하기 위한 수단과; 상기 복수의 독립메모리 뱅크중 한 뱅크를 선택하기 위한 수단과; 상기 복수의 독립 메모리 뱅크중 상기 선택된 한 뱅크의 기억위치의 내용을 상기 복수의 독립메모리 뱅크중 다른 뱅크의 대응위치의 내용과 동시에 비교하기 위한 수단과; 상기 선택된 메모리뱅크의 기억위치의 내용이 상기 복수의 독립메모리 뱅크중 임의의 다른 뱅크의 기억위치의 내용과 다른경우 에러를 발생시켜 기록하기 위한 수단을 구비하는 것을 특징으로 하는 자체시험메모리.
  12. 제 11 항에 있어서, 상기 모든 메모리 뱅크는 단일 메모리 보오드상에 존재하는 것을 특징으로 하는 자체시험 메모리 시스템.
  13. 제 11 항에 있어서, 각각 상기 복수의 메모리 뱅크중 적어도 한 뱅크를 갖는 복수의 메모리 보오드를 아울러 포함하는 것을 특징으로 하는 자체시험 메모리 시스템.
  14. 제 11 항에 있어서, 상기 선택된 메모리 뱅크의 내용을 유지하기 위한 제 1 래치와; 상기 복수의 독립메모리 뱅크중 상기 다른 뱅크의 각 내용을 유지하기 위한 제 2 래치를 아울러 포함하는 것을 특징으로 하는 자체시험 메모리 시스템.
  15. 제 14 항에 있어서, 상기 동기 비교수단은 상기 제 1 및 제 2 래치에 결합된 비교기를 포함하는 것을 특징으로 하는 자체시험 메모리 시스템.
  16. 제 15 항에 있어서, 상기 비교기에 결합된 OR 게이트를 아울러 포함하는 것을 특징으로 하는 자체시험 메모리 시스템.
  17. 제 11 항에 있어서, 상기 선택된 메모리 뱅크의 기억위치의 내용이 상기 복수의 독립메모리 뱅크중 임의의 다른 뱅크의 대응기억장치의 내용과 다른 경우 카운트값을 증가시키기 위한 카운팅수단을 아울러 포함하는 것을 특징으로 하는 자체시험 메모리 시스템.
  18. 제 11 항에 있어서, 상기 메모리 시스템에 결합되어 상기 메모리 시스템의 동작을 평가하도록 상기 선택된 메모리 뱅크로부터의 내용을 시험하기 위한 수단을 아울러 포함하는 것을 특징으로 하는 자체시험 메모리 시스템.
  19. 자체시험 메모리 시스템에 있어서, 메모리버스와; 상기 메모리버스에 결합된 적어도 하나의 메모리 보오드를 구비하는데, 이 각각의 메모리 보오드는 복수의 독립메모리 뱅크, 각각 상기 메모리 뱅크중 다른 한 뱅크와 결합되어 기입신호와 복수의 뱅크 선택신호중 대응하는 한 선택신호에 응답하여 데이타를 상기 결합된 메모리 뱅크의 선택된 기억위치내에 기입되게 하기 위한 트랜시버회로, 상기 보오드가 선택된 보오드위치에 있는 경우 선택된 보오드 신호를 발생시키기 위한 위치검출회로, 상기 메모리 보오드상의 상기 각 뱅크에 결합된 입력과 상기 메모리버스에 결합된 출력을 가지며, 상기 위치 검출회로가 상기 선택된 보오드 신호를 발생하는 경우 상기 뱅크들중 소정의 뱅크의 내용을 상기 메모리버스에 전송하기 위한 멀티플렉서, 상기 메모리버스로부터 수신된 상기 뱅크중 소정의 뱅크로 부터의 내용을 기억하기 위한 보오드 래치, 상기 메모리 보오드상에 상기 뱅크의 각 대응내용을 기억 하기 위한 뱅크래치, 상기 보오드 래치 및 상기 각 뱅크래치에 결합된 입력을 가진 비교기, 상기 비교기의 출력에 접속된 입력을 가진 카운터, 상기 각각의 메모리 보오드에 결합되어 상기 뱅크 선택신호 및 상기 가입신호를 발생하기 위한 메모리 제어회로를 포함하고, 상기 메모리 제어회로는, 신속한 메모리 진단시험이 수행되는 경우 세트되는 시험 플래그를 유지하기 위한 레지스터, 그리고 상기 시험 플래그가 세트될 때 상기 모든 뱅크 선택 신호를 동시에 인에이블링 하기위한 뱅크 선택회로를 포함하는 것을 특징으로 하는 자체시험 메모리 시스템.
  20. 자체시험 메모리 능력을 갖는 데이타처리 시스템에 있어서, 메모리버스와; 상기 메모리버스에 결합된 적어도 하나의 메모리 보오드를 구비하며, 이 각각의 메모리 보오드는 복수의 독립메모리 뱅크, 각각 상기 메모리 뱅크중 다른 한 뱅크와 결합되어 기입신호와 복수의 뱅크 선택신호중 대응하는 한 선택신호에 응답하여 데이타를 상기 관련된 메모리 뱅크의 선택된 기억위치내에 기입되게 하기 위한 트랜시버회로, 상기 보오드가 선택된 보오드위치에 있는 경우 선택된 보오드 신호를 발생시키기 위한 위치검출회로, 상기 메모리 보오드상의 상기 각 뱅크에 결합된 입력과 상기 메모리 버스에 결합된 출력을 가지며, 상기 위치검출 회로가 상기 선택된 보오드 신호를 발생하는 경우 상기 뱅크들중 소정의 뱅크의 내용을 상기 메모리 버스에 전송시키기 위한 멀티플렉서, 상기 메모리버스로부터 수신된 상기 뱅크중 소정의 뱅크로 부터의 내용을 기억하기 위한 보오드 래치, 상기 메모리 보오드상에 상기 뱅크의 각 대응내용을 기억하기 위한 뱅크래치, 상기 보오드 래치 및 상기 뱅크 래치중 각각의 뱅크 래치에 결합된 입력을 가진 비교기, 상기 비교기, 상기 비교기의 출력에 접속된 입력을 가진 카운터, 상기 각각의 메모리 보오드에 결합되어 상기 뱅크선택신호 및 상기 가입신호를 발생하기 위한 메모리 제어회로를 포함하고, 상기 메모리 제어회로는, 신속한 메모리 진단 시험이 수행되는 경우 세트되는 시험플래그를 유지하기 위하여 레지스터, 그리고 상기 시험 플래그가 세트될때 상기 모든 뱅크선택 신호를 동기에 인에이블링 하기 위한 뱅크 선택회로, 상기 메모리버스에 결합되어 상기 시험 플래그를 세트시킴과 동시에 상기 소정의 메모리 뱅크로부터의 내용을 평가하기 위한 중앙처리장치를 포함하는 것을 특징으로 하는 자체시험 메모리 시스템.
  21. 복수의 독립메모리 뱅크로 구성된 메모리를 시험하기 위한 방법에 있어서, 상기 복수의 독립메모리뱅크중 각 뱅크의 대응기억 위치내에 동일시험 패턴을 기입하는 단계와; 상기 복수의 독립메모리 뱅크중 각 뱅크의 대응위치의 내용을 액세스 하는 단계와; 상기 복수의 독립메모리 뱅크중 하나의 뱅크를 선택하는 단계와; 상기 복수의 독립메모리 뱅크중 상기 선택된 한 뱅크의 기억 위치의 내용을 상기 복수의 독립메모리 뱅크중 다른 뱅크의 대응기억위치의 내용과 동시에 비교하기 위한 단계와; 상기 선택된 메모리 뱅크의 기억위치의 내용이 상기 메모리 뱅크중 임의의 다른 뱅크의 대응기억 위치의 내용의 차이를 에러로서 기록하는 단계를 포함하는 것을 특징으로 하는 메모리 시험방법.
  22. 제 21 항에 있어서, 상기 기록단계는 상기 선택된 메모리 뱅크의 기억위치의 내용이 상기 메모리중 다른 뱅크의 대응위치의 내용과 다른 경우 그 시간을 카운팅하는 보조단계를 포함하는 것을 특징으로 하는 메모리 시험방법.
  23. 제 21 항에 있어서, 복수의 다른 시험패턴으로 기입 및 비교단계를 반복하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시험방법.
  24. 제 21 항에 있어서, 상기 선택된 메모리 뱅크의 내용을 판독하는 단계와; 상기 선택된 메모리 뱅크의 내용을 상기 테스트 패턴과 비교하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시험방법.
  25. 복수의 독립메모리 뱅크로 구성된 메모리를 시험하기 위한 방법에 있어서, 상기 메모리 뱅크중 각 뱅크에 대한 메모리 선택라인을 동시에 작동시킴으로써 동일시험 패턴을 상기 메모리뱅크의 대응기억 위치내에 동시에 기입하는 단계와; 상기 메모리 뱅크중 한 뱅크를 선택하는 단계와; 상기 메모리 뱅크중 상기 선택된 뱅크의 기억위치의 내용을 판독하는 단계와; 상기 메모리 뱅크중 상기 선택된 뱅크의 기억위치의 내용을 보오드 래치내에 기억시키는 단계와; 상기 메모리뱅크중 다른 뱅크의 내용을 동시에 판독하는 단계와; 상기 메모리 뱅크중 다른 뱅크의 내용을 뱅크래치내에 동시에 기억시키는 단계와; 상기 선택된 메모리 뱅크의 기억위치에서 기억된 내용을 상기 메모리 뱅크중 다른 메모리 뱅크의 각 대응기억 위치에서 기억된 내용과 동시에 비교하기 위한 단계와; 그리고 상기 하나의 메모리 뱅크의 기억위치에서 기억된 내용이 상기 메모리 뱅크중 임의의 다른 뱅크에서 기억된 내용과 다른 경우 임의의 에러신호를 기록하는 단계를 포함하는 것을 특징으로 하는 메모리 시험방법.
  26. 제 25 항에 있어서, 상기 선택된 메모리 뱅크의 내용을 판독하는 단계와; 상기한 메모리 뱅크의 내용을 시험패턴과 비교하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 시험방법.
KR1019880005687A 1987-05-14 1988-05-14 자체시험 메모리시스템을 가진 데이타 처리시스템 KR930004330B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US049,812 1987-05-14
US07/049,812 US4782486A (en) 1987-05-14 1987-05-14 Self-testing memory
US49812 1987-05-14

Publications (2)

Publication Number Publication Date
KR880014464A KR880014464A (ko) 1988-12-23
KR930004330B1 true KR930004330B1 (ko) 1993-05-26

Family

ID=21961873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880005687A KR930004330B1 (ko) 1987-05-14 1988-05-14 자체시험 메모리시스템을 가진 데이타 처리시스템

Country Status (10)

Country Link
US (1) US4782486A (ko)
EP (2) EP0362197A1 (ko)
JP (1) JPS6464051A (ko)
KR (1) KR930004330B1 (ko)
CN (1) CN1016910B (ko)
AU (2) AU607932B2 (ko)
CA (1) CA1286781C (ko)
DE (1) DE3884454D1 (ko)
MX (1) MX167351B (ko)
WO (1) WO1988009038A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4970648A (en) * 1987-08-12 1990-11-13 Fairchild Space And Defense Corporation High performance flight recorder
JPS6450148A (en) * 1987-08-20 1989-02-27 Nec Corp Memory resetting circuit
US4876684A (en) * 1988-02-11 1989-10-24 John Fluke Mfg. Co., Inc. Method of and apparatus for diagnosing failures in read only memory systems and the like
US5007053A (en) * 1988-11-30 1991-04-09 International Business Machines Corporation Method and apparatus for checksum address generation in a fail-safe modular memory
KR910005306B1 (ko) * 1988-12-31 1991-07-24 삼성전자 주식회사 고밀도 메모리의 테스트를 위한 병렬리드회로
DE4001563A1 (de) * 1990-01-20 1991-07-25 Standard Elektrik Lorenz Ag Verfahren zur pruefung von schreibe-lese-speichern
EP0441088A1 (en) * 1990-01-24 1991-08-14 International Business Machines Corporation Memory card resident diagnostic testing
US5274648A (en) * 1990-01-24 1993-12-28 International Business Machines Corporation Memory card resident diagnostic testing
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5357529A (en) * 1992-04-24 1994-10-18 Digital Equipment Corporation Error detecting and correcting apparatus and method with transparent test mode
US5956352A (en) * 1992-04-24 1999-09-21 Digital Equipment Corporation Adjustable filter for error detecting and correcting system
US5216672A (en) * 1992-04-24 1993-06-01 Digital Equipment Corporation Parallel diagnostic mode for testing computer memory
EP0569969B1 (en) * 1992-05-12 1998-03-04 Nec Corporation Microcomputer having instruction memory storing instructions for reading out internal conditions
GB9414266D0 (en) * 1994-07-14 1994-08-31 Jonhig Ltd Testing of memory content
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5909448A (en) * 1995-09-22 1999-06-01 Advantest Corporation Memory testing apparatus using a failure cell array
US6000048A (en) * 1996-08-14 1999-12-07 Cirrus Logic, Inc. Combined logic and memory circuit with built-in memory test
US5877956A (en) * 1996-12-23 1999-03-02 Micron Electronics, Inc. System for burning in and diagnostically testing a computer
US5959911A (en) * 1997-09-29 1999-09-28 Siemens Aktiengesellschaft Apparatus and method for implementing a bank interlock scheme and related test mode for multibank memory devices
US6001662A (en) * 1997-12-02 1999-12-14 International Business Machines Corporation Method and system for providing a reusable configurable self-test controller for manufactured integrated circuits
USRE40172E1 (en) 1998-05-25 2008-03-25 Hynix Semiconductor, Inc. Multi-bank testing apparatus for a synchronous dram
US7159161B2 (en) * 1999-01-29 2007-01-02 National Science Council Test method and architecture for circuits having inputs
US6889334B1 (en) * 2001-10-02 2005-05-03 Advanced Micro Devices, Inc. Multimode system for calibrating a data strobe delay for a memory read operation
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7184916B2 (en) * 2003-05-20 2007-02-27 Cray Inc. Apparatus and method for testing memory cards
US7539909B2 (en) * 2003-09-30 2009-05-26 Intel Corporation Distributed memory initialization and test methods and apparatus
US8060799B2 (en) * 2004-06-11 2011-11-15 Samsung Electronics Co., Ltd. Hub, memory module, memory system and methods for reading and writing to the same
US7634696B2 (en) * 2005-03-03 2009-12-15 Sigmatel, Inc. System and method for testing memory
US7865740B2 (en) * 2005-09-27 2011-01-04 Intel Corporation Logging changes to blocks in a non-volatile memory
US7802157B2 (en) * 2006-06-22 2010-09-21 Micron Technology, Inc. Test mode for multi-chip integrated circuit packages
CN103744752B (zh) * 2013-12-20 2015-09-30 北京交控科技有限公司 一种内存的在线故障检测方法和装置
CN107315649A (zh) * 2016-04-26 2017-11-03 新华三技术有限公司 一种表项校验方法和装置
GB2567189B (en) * 2017-10-05 2020-10-21 Advanced Risc Mach Ltd Handling errors in buffers

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US999051A (en) * 1910-02-10 1911-07-25 John D Mccurdy Floor-scraper.
DE1198857B (de) * 1963-01-18 1965-08-19 Licentia Gmbh Verfahren zur gleichzeitigen Pruefung einer Mehrzahl von taktgesteuerten elektronischen Speicherelementen waehrend des Betriebes
US3517174A (en) * 1965-11-16 1970-06-23 Ericsson Telefon Ab L M Method of localizing a fault in a system including at least two parallelly working computers
US3668644A (en) * 1970-02-09 1972-06-06 Burroughs Corp Failsafe memory system
US3999051A (en) * 1974-07-05 1976-12-21 Sperry Rand Corporation Error logging in semiconductor storage units
US4055754A (en) * 1975-12-22 1977-10-25 Chesley Gilman D Memory device and method of testing the same
US4236207A (en) * 1978-10-25 1980-11-25 Digital Equipment Corporation Memory initialization circuit
JPS5654698A (en) * 1979-10-09 1981-05-14 Fujitsu Ltd Test method of memory device
US4369511A (en) * 1979-11-21 1983-01-18 Nippon Telegraph & Telephone Public Corp. Semiconductor memory test equipment
US4334307A (en) * 1979-12-28 1982-06-08 Honeywell Information Systems Inc. Data processing system with self testing and configuration mapping capability
JPS5715296A (en) * 1980-06-30 1982-01-26 Nec Corp Testing system for storage device
JPS5764397A (en) * 1980-10-03 1982-04-19 Olympus Optical Co Ltd Memory device
JPS57105897A (en) * 1980-12-23 1982-07-01 Fujitsu Ltd Semiconductor storage device
US4510603A (en) * 1981-05-26 1985-04-09 Burroughs Corporation Testing system for reliable access times in ROM semiconductor memories
US4541090A (en) * 1981-06-09 1985-09-10 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device
JPS5963099A (ja) * 1982-10-02 1984-04-10 Fujitsu Ltd メモリ診断方式
US4608690A (en) * 1982-11-26 1986-08-26 Tektronix, Inc. Detecting improper operation of a digital data processing apparatus
JPS59185097A (ja) * 1983-04-04 1984-10-20 Oki Electric Ind Co Ltd 自己診断機能付メモリ装置
US4601034A (en) * 1984-03-30 1986-07-15 Texas Instruments Incorporated Method and apparatus for testing very large scale integrated memory circuits
US4697233A (en) * 1984-04-02 1987-09-29 Unisys Corporation Partial duplication of pipelined stack with data integrity checking
ATE65339T1 (de) * 1984-12-28 1991-08-15 Siemens Ag Integrierter halbleiterspeicher.
EP0193210A3 (en) * 1985-02-28 1988-12-14 Nec Corporation Semiconductor memory device with a built-in test circuit
US4715034A (en) * 1985-03-04 1987-12-22 John Fluke Mfg. Co., Inc. Method of and system for fast functional testing of random access memories
US4719411A (en) * 1985-05-13 1988-01-12 California Institute Of Technology Addressable test matrix for measuring analog transfer characteristics of test elements used for integrated process control and device evaluation
US4686456A (en) * 1985-06-18 1987-08-11 Kabushiki Kaisha Toshiba Memory test circuit

Also Published As

Publication number Publication date
AU1557288A (en) 1988-11-17
EP0292206B1 (en) 1993-09-29
CA1286781C (en) 1991-07-23
US4782486A (en) 1988-11-01
DE3884454D1 (de) 1993-11-04
KR880014464A (ko) 1988-12-23
JPS6464051A (en) 1989-03-09
MX167351B (es) 1993-03-18
CN1016910B (zh) 1992-06-03
EP0292206A1 (en) 1988-11-23
AU7750887A (en) 1988-12-06
CN1031148A (zh) 1989-02-15
WO1988009038A1 (en) 1988-11-17
AU607932B2 (en) 1991-03-21
EP0362197A1 (en) 1990-04-11

Similar Documents

Publication Publication Date Title
KR930004330B1 (ko) 자체시험 메모리시스템을 가진 데이타 처리시스템
US5175836A (en) Automatic sizing memory system with multiplexed configuration signals at memory modules
US8732533B2 (en) Devices, methods, and apparatuses for detection, sensing, and reporting functionality for semiconductor memory
EP0716421B1 (en) A method for testing an array of Random Access Memories (RAMs)
US5935263A (en) Method and apparatus for memory array compressed data testing
US7310752B2 (en) System and method for on-board timing margin testing of memory modules
US6536004B2 (en) On-chip circuit and method for testing memory devices
US5274648A (en) Memory card resident diagnostic testing
US20060156092A1 (en) Memory technology test apparatus
US6014759A (en) Method and apparatus for transferring test data from a memory array
US7808849B2 (en) Read leveling of memory units designed to receive access requests in a sequential chained topology
US6286116B1 (en) Built-in test method for content addressable memories
US20070168780A1 (en) Memory with test mode output
US6671836B1 (en) Method and apparatus for testing memory
US7797594B1 (en) Built-in self-test of 3-dimensional semiconductor memory arrays
US7246279B2 (en) Static random access memory (SRAM) unit and method for operating the same
US5229999A (en) Method and apparatus for integrity testing of fault monitoring logic
KR940002904B1 (ko) 데이타 처리 시스템 및 이 시스템에 있어서의 다수 메모리 어레이 테스팅 방법
MX2007002013A (es) Aparato de archivo de registro y metodo que incorpora bloqueo de lectura-despues-de-escritura utilizando celdas de deteccion.
US6479363B1 (en) Semiconductor integrated circuit and method for testing the same
JP5510107B2 (ja) エラー訂正試験方法
WO1989009471A2 (en) Memory selftest method and apparatus
JPH08327703A (ja) ベクトル・モジュール・テーブルを用いる自動テスト装置のためのメモリ・アーキテクチャ

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee