KR970003316B1 - 디스크 모방 시스템(disk emulation system) - Google Patents

디스크 모방 시스템(disk emulation system) Download PDF

Info

Publication number
KR970003316B1
KR970003316B1 KR1019900700653A KR900700653A KR970003316B1 KR 970003316 B1 KR970003316 B1 KR 970003316B1 KR 1019900700653 A KR1019900700653 A KR 1019900700653A KR 900700653 A KR900700653 A KR 900700653A KR 970003316 B1 KR970003316 B1 KR 970003316B1
Authority
KR
South Korea
Prior art keywords
data
signal
disk
sector
bit
Prior art date
Application number
KR1019900700653A
Other languages
English (en)
Other versions
KR900702456A (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 KR900702456A publication Critical patent/KR900702456A/ko
Application granted granted Critical
Publication of KR970003316B1 publication Critical patent/KR970003316B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

내용없음.

Description

[발명의 명칭]
디스크 모방 시스템
[도면의 간단한 설명]
제1a도와 제1b도는 SMD 인터 페이스 규칙에 의해 정의된 보통 섹터의 내용을 나타내는 도면.
제2도는 본 발명의 디스크 모방기의 아키텍처의 개념 블록 다이어그램.
제3도는 본 발명의 디스크 모방기의 주회로의 블록 다이어그램.
제4도, 제5도 및 제6도는 SMD 제어선, SMD 데이터선, 및 디스크 모방기 사이의 인터페이스의 회로도.
제7도와 제8도는 디스크 모방기의 선택된 라인들을 SMD 데이터선 및 SDM 제어선과 인터페이스 접속하는 미분 전류모드 구동기들의 회로도.
제9도는 디스크 모방기의 입력 제어회로(801)의 회로도.
제10도는 디스크 모방기의 66비트 시프트 레지스터(802)의 회로도로서, 함께 도시된 입력 제어 회로(801), 66비트 병렬버스(700), 및 AND 게이트(593)에 대한 상호연결을 나타내는 도면.
제11도는 디스크 모방기의 래치회로(803)의 회로도로서, 래치회로(803)와 66비트 병렬버스(700)사이의 연결을 나타내는 도면.
제12도는 디스크 모방기의 패리디 회로(804)의 회로도로서, 패리티 회로(804)와 66비트 병렬버스(700)사이의 연결을 나타내는 도면.
제13도는 판독제어 신호와 기록 제어 신호를 디스크 모방기의 시프트 레지스터(802)와 래치회로(803)에 제공하는데 이용되는 멀티플렉서(1125)로의 연결을 나타내는 도면.
제14도는 디스크 모방기의 비교기 회로(815)의 회로도.
제15도는 디스크 모방기의 기록제어회로(806)의 회로도.
제16도는 디스크 모방기의 제1갭 카운터 회로(808)와 제2갭 카운터 회로(809)의 회로도.
제17도는 디스크 모방기의 바이트 클록회로(813)의 회로도.
제18도는 디스크 모방기의 판독 카운터회로(810)의 회로도.
제19도는 디스크 모방기의 메모리 워드 카운터(807)의 회로도.
제20도는 디스크 모방기의 온실린더 회로(840)의 회로도.
제21도는 디스크 모방기의 마이크로프로세서(816)의 회로도.
제22a도와 제22b도는 ROM 번역회로(819)의 회로도.
제23도는 디스크 모방기의 섹터/인덱스 회로의 회로도.
제24도는 디스크 모방기의 기록 플래그 회로의 회로도.
제25도는 디스크 모방기에 이용되는 16개의 DRAM 제어기 가운데 하나의 회로도.
제26a도와 제26b도는 디스크 모방기에 있는 16개의 DRAM 카드 가운데 하나를 도시하는 블록 다이어그램.
제27a도 내지 제27b도는 제26a도와 제26b도에 나타낸 보통 DRAM 카드를 위한 버퍼회로(845)의 회로도.
제28a도 내지 제28c도는 디스크 모방기의 DRAM 카드의 각 뱅크에 이용된 4개의 기억블록 가운데 한 기억블록을 나타내는 도면.
제29도는 디스크 모방기의 RPRQ 회로(841)의 회로도.
제30a도 내지 제39k도는 섹터의 0번째 워드를 에러없이 판독하는 판독신호와 래치클록신호를 나타내는 도면.
제31도는 디스크 모방기의 래치 클록/에러검출 회로(805)의 회로도.
제32도는 디스크 모방기의 리세트회로의 회로도.
제33도는 디스크 모방기의 판독/기록 게이트 회로(812)의 회로도.
제34a도 내지 제34z도는 제1갭 카운터(808)의 롤 오버에 대한 판독 카운터회로(810)의 신호 응답을 나타내는 도면.
제35a도 내지 35j 또는 섹터의 처음부터 63번재 까지의 워드를 에러없이 판독하는 신호들의 시퀀스를 나타내는 도면.
제36a도 내지 제36z도는 제2갭 카운터(809)의 롤오버에 대한 그리고 판독 카운터(810)의 롤오버에 대한 판독카운터회로(810)의 응답을 나타내는 도면.
제37a도 내지 제36v도는 데이터 싱크 패턴이 검출된 후의 기록 제어회로(806)의 신호 응답을 나타내는 도면.
제38a도 내지 제38j도는 디스크 모방기에 데이터를 기록하는 신호들의 시퀀스를 나타내는 도면.
제39도는 디스크 모방기의 기록 B회로(814)의 회로도.
제40a도 내지 제40j도는 에러가 있는 판독에 대한 신호들의 시퀀스를 나타내는 도면.
제41도는 디스크 모방기의 단위 선택회로의 회로도.
제42도는 디스크 모방기의 클록 0 및 클록 1회로의 회로도.
제43도는 디스크 모방기의 SCSI 대체용 시스템(101)의 처음 부분에 대한 회로도.
제44도는 디스크 모방기의 SCSI 대체용 시스템(101)의 제2 및 나머지 부분에 대한 회로도.
제45a도 내지 제45d도는 디스크 모방기에 이용된 선(cable)들에 포함된 개별 라인들을 표시하는 도면.
제46도는 디스크 모방기의 SMD 섹터/인덱스회로(818)의 회로도.
제47a도 내지 제47c도는 본 발명의 일실시예에 이용된 ROM 번역표를 발생하는데 이용되는 BASIC 컴퓨터 프로그램의 리스트, 그리고
제48도는 제47a도 내지 제47c도의 컴퓨터 프로그램의 부분적 출력 리스트이다.
[발명의 상세한 설명]
[발명의 분야]
본 발명은 일반적으로 데이터를 기억하는 디지탈 컴퓨터 부속 시스템에 관한 것으로서, 특히 보통 하드 디스크의 대기 시간에 제한 없이 하드 디스크 기억 장치의 기능을 하는 동적 램(DRAM) 장치에 관한 것이다.
[종래의 기술]
모든 컴퓨터는 크기에 관계없이 동일한 기본 부속 시스템, 즉, 중앙처리장치, 정보표시수단, 정보입력수단 및 데이터기억 수단으로 구성된다. 현존하는 몇가지 데이터 기억수단중에는 플로피 디스크 작동장치, 데이프 작동장치 및 하드 또는 고정 디스크 작동장치가 있다. 플로피 디스크 작동 장치의 기억용량은 대개 1메가 바이트 이하로 제한되어 있다. 테이프 작동 장치는 데이터의 기록과 보관 및 백업(back up)에는 유용하지만 임의 접근(random access) 응용에는 적합치 않다. 대용량의 데이터를 기억하는데 가장 일반적으로 이용되는 장치는 하드 디스크 작동장치이다. 하드 디스크 작동장치의 총 기억용량은 5 내지 1000메가바이트에 이를 수 있다.
하드 디스크 작동장치에는 어떤 패턴으로 자화될 수 있는 회전자기매체, 가령 디스크와 디스크 표면위를 비행하는 판독/기록 헤드가 있다. 기록 동작중에, 이 헤드는 데이터를 나타내는 회전디스크의 자기 코팅상에 데이터 패턴을 형성하고, 판독모드에서는 헤드가 이들 데이터 패턴을 판독한다. 모든 대용량 하드 디스크 작동장치에서는 몇개의 디스크가 공통 스핀들의 위 아래로 장착된다. 각각의 디스크에는 면당 적어도 하나의 판독/기록 헤드가 있으며, 보통 각 면에는 몇개의 판독/기록 헤드가 이용될 수 있다. 데이터는 디스크 표면의 동심원들인 트랙들에 기억된다. 다수의 디스크가 공통 스핀들에 이용되면 디스크들의 트랙들은 각 트랙상의 같은 상대적 방사상 위치에서 기록된다. 즉, 한 디스크의 트랙 1은 인접 디스크의 트랙 1 바로 위(또는 아래)에 있다. 디스크들의 스택(stack)의 트랙 1의 위치가 디스크 표면들에 수직으로 뻗은 실린더를 형성하므로 트랙위치들은 실린더 위치들로도 볼 수 있다.
하드 디스크에 기록된 데이터는 일반적으로 여러 파일로 나누어져 있다. 각 파일을 디지탈 컴퓨터에 의해 처리되는 데이터의 유니트를 나타낸다. 파일들은 회전 디스크에 섹터로 기억된다. 회전 디스크의 1회전중에 기록되는 섹터의 수는 1트랙을 구성한다. 트랙당 섹터의 수는 디스크 작동 장치와 디스크 제어기의 함수이지만 트랙당 32 섹터가 보통이다. 자기 서어보가 판독/기록 헤드를 디스크의 전체 표면위에서 위치 결정할 수 있으므로 디스크 표면은 다수의 동심 데이터 트랙을 포함한다. 보통의 디스크는 1인치 반경에 걸쳐 1000 동심 트랙의 트랙 밀도를 가진다.
디지털 컴퓨터의 중앙 처리 장치는 명령에 따라 하드 디스크에서 데이터를 판독하고 기록할 수 있어야 한다. 데이터는 그 데이터를 중앙 처리 장치가 판독하고자 할 때 찾아낼 수 있도록 디스크에 기록되어야 한다. 디스크 작동장치의 제어는 반드시 관련되는 동작인데, 만약 중앙처리 장치가 디스크 작동장치 제어에 전적으로 관련되면 이 중앙처리 장치는 수확적 계산이나 데이터 처리 같은 다른 동작을 위한 적당한 시간을 갖지 못한다. 따라서 중앙처리 장치는 디스크 제어기를 통해 하드 디스크 작동장치와 인터페이스 접속된다. 중앙처리 장치는 디스크 제어기에 파일 요청 신호를 발생하고 다른 작업을 넘어간다. 디스크 제어기는 디스크 작동장치에 명령 신호를 발생하고, 디스크상의 파일을 구성하는 섹터들을 찾아내고, 중앙처리 장치에 파일이 사용준비되어 있음을 신호한다.
중앙처리장치와 하드 디스크 작동장치 사이의 인터페이스로 작용하는 디스크 제어기는 다른 문제를 나타낸다. 각 컴퓨터에는 그 자체의 프로토콜이 있어서, 각 컴퓨터에는 중앙처리장치를 하드 디스크 작동 장치 같은 주변장치들과 인터페이스(Interface)하는 독특한 버스구조가 있다. 하드 디스크 작동장치를 상이한 컴퓨터들의 중앙처리 장치들을 위한 다양한 버스의 각각의 인터페이스하는 것은 대단히 번거로운 일이다. 따라서, 하드디스크 작동 장치들을 위한 표준 디스크 프로토콜이 개발되었다. 그러므로 각 중앙처리 장치에는 그 자체의 통신규칙이 있으나 디스크 제어기는 이 규칙을 표준 디스크 프로토콜로 번역한다.
콘트롤 데이트 코오포레이션(Control Data Corporation)에서는 가장 널리 이용되는 디스크 인터페이스 규격, 즉 기억 모듈 장치(Storage Module Device : SMD)인터페이스를 개발하였다. 이 SMD 인터페이스는 비트 직렬 디지털 데이터 전송, 병렬 제어버스 및 미분신호를 이용하고 오류 회복 기능을 포함한다. SMD 인터페이스는 널리 응용되고 있으며, 거의 모든 주요 디스크 제조업자들은 SMD 인터페이스에 맞는 제품을 생산한다. 따라서 하드 디스크 작동장치를 디지털 컴퓨터의 중앙처리장치와 인터페이스 접속하는 수단은 구할 수 있지만, 하드디스크 작동 장치들은 아지도 두가지 매우 심각한 문제, 탐색시간과 대기 시간의 문제로 시달리고 있다.
액세스 시간은 중앙처리 장치가 정보를 요청하고 그 정보가 디스크 제어기에 수신될 때 그 사이의 시간격으로 정의된다. 액세스 시간의 주요 인자는 하드디스크의 소망 트랙위에 헤드를 위치시키는데 필요한 많은 시간, 즉 탐색시간이다. 탐색시간 100 밀리세컨드는 하드 디스크 작동장치에서 보통이다. 자기 서어보는 헤드를 소망트랙의 근처에 위치시킬 수 있을 뿐이다. 어느 트랙의 각 섹터는 헤드 위치, 그 트랙, 트랙내의 섹터수에 관한 정보를 포함한다. 제어기는 이 정보를 판독하고, 판독 헤드의 현재 위치와 판독 헤드의 소망위치 사이의 연속적인 근시를 통해서 소망 트랙이 발견된다.
100 밀리세컨드의 지연시간도 현대의 고속컴퓨터에는 상당한 지연이지만 여러 인자에 의해서 이 지연시간은 더욱 길어질 수 있다. 중앙처리장치에 의해 요청된 트랙이 발견된 후 다른 지연, 즉 회전 대기 시간이 부과될 수 있다. 보통의 하드디스크는 16 밀리세컨드 마다 완전히 1회전 한다. 만약 소망 섹터가 방금 지나간후 어느 트랙에 헤드가 위치되면 제어기는 소망 섹터가 판독되기 전에 16 밀리세컨드를 또 기다려야 한다.
큰 파일은 각기 데이터로 채워진 수백개의 섹터를 포함할 수 있다. 디스크 제어기는 한번에 몇개의 섹터밖에 처리할 수 없다. 따라서 액세스 시간 지연은 여러번 반복되어 부과된다. 또한 큰 파일이 여러 디지털 컴퓨터 사용자에 의해 동시에 사용되면 디스크 제어기에는 디스크 전체를 통해 위치된 섹터에 대한 요청이 쇄도하게 된다.
이러한 문제들이 널리 알려져 있기는 하지만 디스크의 고속 회전과 판독/기록 헤드를 정밀하게 치시키는 능력과 디스크의 기하학적 구조가 이 문제를 해결하는데 있어서 선택을 크게 제한하고 있다. 액세스 시간은 향상시키는데 이용할 수 있는 선택에는 디스크 회전속도의 증가, 디스크 기억밀도의 증가 또는 디스크상의 기억 효율 향상이 있다.
현재의 하드 디스크 작동장치의 제한들을 더 잘 이해하기 위해서 SMD 디스크 제어기에 의해 하드디스크의 각 섹터에 기록된 정보를 생각해본다. 제1a도에 나타낸 바와 같이, 각 섹터(10)는 데이타 필드에 더하여 몇개의 필드로 구성된다. 각 섹터의 처음에 있는 첫번째 정보는 헤드 분산 필드(11)이다. 보통 16바이트 길이인 이 필드(11)는 보통의 하드디스크 작동 장치가 판독에서 기록으로 즉시 이전할 수 없는 무능을 보상하기 위해 제공된다. 헤드 분산 필드(11)의 직후에는 보통 10바이트 길이의 PLO싱크(sync) 필드(12)가 있다. PLO싱크 필드(120는 디스크들 사이나 시간에 다른 디스크 속도의 변동을 제어기가 보상하게 해주는 동기 신호이다. 다음에는 8바이트로 된 섹터(10)의 어드레스 필드(13)가 있는데, 이것은 제1b도에 나타낸 것과 같이 더욱 분류될 수 있다.
어드레스 필드(13)는 디스크의 각 섹터에 대하여 유일한 필드이다. 여기서는 상기 패턴(13a), 플래그 상태 및 논리단위(13b), 상부 실린더(13c), 하부 실린더(13d) 및 헤드 섹터(13e)에 대한 정보와 2개의 순환 여유검사(CRC) 코드 바이트(13f, 13g)가 제공된다. 어드레스 필드(13)의 다음에는 보통 1바이트인 기록 스플라이스(splice) 필드(14)가 있다. 그 뒤에는 10바이트의 다른 PLO 싱크 필드(15)와 1바이트의 싱크 패턴 필드(16)가 있다.
필드(11∼16)의 다음에는 중앙 처리 장치가 그곳에서 디스크에 데이터를 기억시키거나 디스크에서 데이터를 판독할 수 있는 데이터 필드(17)가 있다. 데이터 필드(17)의 뒤에는 2바이트 CRC 필드(18)와 1바이트 레코드 종료 패드 필드(19)가 있고 그 뒤에는 8바이트 섹터 종료 필드(20)가 있다.
보통의 하드 디스크에서는 실제로 기억 용량이 81%만이 데이터 기억에 이용된다. 나머지 기억용량은 제1도에 나타낸 각 섹터에 대한 추가 필드를 기억시키는 데 이용된다. 보통, 8 바이트 어드레스 필드와 데이터 필드만이 그 섹터에 독특한 것이다. 다른 필드에 있는 데이터는 어떤 트랙의 섹터들의 각각에 대해 유사하다.
소망 섹터를 찾는데 있어서, 디스크 제어기는 탐색 명령을 발생한다. 그후 종래의 하드 디스크 작동장치는 한쌍의 신호, 즉 섹터 펄스와 인덱스 펄스를 발생한다. 섹터 펄스는 각 섹터의 시작에서 제어기로 발생되고 인덱스 펄스는 디스크의 1회전 마다 한번씩 발생된다. SMD 디스크 제어기는 섹터 펄스를 수신한 후 판독 게이트 신호를 발행한다.
하드 디스크 작동장치는 탐색 명력을 수신하였을 때 판독/기록 헤드를 위치 결정한다. 판독 게이트 신호를 수신하였을 때, 디스크 작동장치는 판독 헤드가 현재 위치하고 있는 섹터의 헤드 분산, PLO 싱크 및 어드레스 필드들을 판독하고 그 정보를 SMD 디스크 제어기로 보낸다. SMD 디스크 제어기는 항상 섹터의 기록 스플라이스 필드에서 판독 게이트를 표명 중지(deassert) 한다.
제어기는 그 다음에 다음 세가지 동작 가운데 하나를 시작한다.
1. 만약 이것이 판독할 섹터이면, 판독 게이트가 재 표명(reassert) 된다.
2. 만약 이것이 기록할 섹터이면, 기록 게이트가 표명(assert) 된다.
3. 만약 이것이 관계없는 섹터이면, 어느 게이트도 표명되지 않는다.
그것이 정확한 트랙이 아니면, 헤드는 현재의 위치와 중앙처리장치에 의해 요청된 위치를 근거하여 새로운 장소로 이동하고 판독을 다시한다. 이 프로세스는 정확한 트랙이 발견될 때까지 계속된다. 판독 게이트 또는 기록게이트 신호는 소망 섹터와 트랙이 발견되었을 때 디스크 제어기에 의해 표명된다.
하드 디스크 작동장치에 관련된 이러한 문제들을 극복하기 위해서는 보다 나은 데이터 기억 수단을 제공함은 물론 디스크의 액세스 시간을 제거하거나 실질적으로 감소시켜야 한다. 종래에는 하드 디스크 작동장치의 성능을 향상시키는 수단으로서 하드 디스크의 회전속도 증가, 하드 디스크의 기억밀도증가 하드 디스크에서의 데이터 기억의 효율 증가를 생각하였다. 다른 해결책은 하드 디스크를 고체 메모리로 대체하는 것이다. 고체 메모리는 전자 기계식 장치가 아니기 때문에 매우 빠른 액세스 시간과 매우 양호한 신뢰성의 장점을 가지고 있다. 그러나 SMD 인터페이스는 디스크와 회전 매체를 제어하도록 고안되었으며, 고체 메모리를 제어하도록 고안 된 것은 아니다. 따라서 하드 디스크를 고체 메모리로 대체하기 위해서는 고체 메모리가 SMD 디스크 제어기에 디스크 형태로 나타나야 한다. 본 발명은 고체 메모리를 SMD 디스크 제어기와 직접 인터페이스 접속하는 수단을 제공함으로써 종래 기술의 문제점을 극복한다.
본 발명의 디스크 모방기는 액세스 시간을 상당히 향상시키는, 즉 탐색시간과 회전 대기시간 모두를 향상시키는 고체 시스템이다. 이 디스크 모방기는 SMD 인터페이스 규칙에 따르기 때문에 중앙 처리 장치와 SMD 디스크 제어기에 대하여 이 디스크 모방기는 사실상 제로 액세스 시간을 가진 디스크로 나타난다.
한 실시예에서, 디스크 모방기의 주 시스템들은 66비트 시프트 레지tm터, 패리티 회로, 래치회로, 66비트 병렬버스 및 동적 램(DRAM) 어레이이다 이들 시스템 각각은 디스크 모방기의 판독 및 기록 동작에 필요한 신호를 제공하는 디스크 모방기의 제어장치들과 인터페이스로 접속된다. 기록 동작과 판독 동작에 필요한 신호를 발생하는 때에는 여러 회로가 필요하지만, 판독 및 기록동작 모두에 66비트 병렬버스 및 DRAM 어레이와 함께 시프트 레지스터, 패리티회로 및 래치회로를 사용하면 디스크 모방기의 회로소자 수가 최소로 된다. 따라서 디스크 모방기의 비용과 크기가 모두 감소된다.
66비트 시프트 레지스터는 SMD 디스크 제어기로부터 직렬 데이터를 수신하고 그 직렬 데이터의 스트림을 66비트 워드들로 변환시키는데, 66비트 워드 각각은 66비트 병렬 버스를 거쳐 래치회로까지 가서 일시 기억된다. 각 66비트 워드에 대해 하나의 패리티 비트가 패리티 회로에 의해 발생되기도 한다. 래치회로에 기억된 워드와 관련 패리티 비트는 67비트(즉, 66비트의 데이터 더하기 1패리티 비트) 병렬 버스를 거쳐 DRAM 어레이로 전송되고 그 동안 다른 워드는 SMD 디스크 제어기에 의해 66비트 시프트 레지스터에 직렬로 공급된다.
이 실시예에서 디스크 모방기의 각 데이터 트랙은 32 섹터로 구성되고 각 섹터는 64개의 66비트 워드로 구성될 수 있다. 이 워드 길이는 메모리 인터페이스 타이밍이 매우 보수적이 되도록 해주면서도 SMD 디스크 제어기에 대해 매우 빠른 전송 속도를 유지할 수 있게 해준다. 66비트 워드의 또 다른 이점은 패리티의 절약이다. 긴 워드에 대해서 기억된 패리티 비트는 기억된 데이터의 작은 부분이다.
디스크 모방기의 DRAM 어레이에 대한 메모리 요구 조건을 더욱 줄이기 위해서 SMD 디스크 제어기에 의해 제공된 섹터-특정 데이터만이 DRAM 어레이에 기억된다. 디스크상이 각 섹터에서는 어드레스 필드와 데이터 필드만이 독특하다. 따라서 디스크 모방기는 어드레스 정보와 데이터 정보만 기억하면 되고 그렇게 하기 위하여 DRAM 어레이내의 섹터의 0번째 워드를 어드레스 필드로 만들고 DRAM 어레이내의 섹터의 제1에서 제63워드 전체를 데이터 필드로 만든다. 섹터-특정 데이터, 즉 어드레스 필드와 데이터 필드만이 DRAM 어레이에 기억되기 때문에 DRAM 어레이의 대략 96%가 데이터 기억에 이용되는 반면에, 보통의 하드 디스크에서는 디스크의 81%만이 데이터 기억에 이용될 수 있다. 따라서 디스크 모방기가 섹터-특정 데이터만이 기억하는 능력에 의하여 기억 매체의 이용율이 종래 시스템에 비해 상당히 향상된다.
이 데이터 모방기의 다른 특징은 데이터의 완전성에 관한 것이다. 고체 메모리 에러는 두가지 기본형, 즉 하드 에러와 소프트 에러로 나누어질 수 있다. SMD 디스크 제어기는 DRAM 어레이에서 검색된 데이터의 예측 불가능한 단일 비트 에러들인 소프트 에러들을 정정한다. 그러나, 하드 에러는 DRAM 어레이의 돌발적인 메모리 고장의 결과로써 발생되고 일반적으로 어레이내의 많은 비트에 영향을 준다. 하드 에러는 기억된 데이터가 SMD 디스크 제어기에 공급되기 전에 그 데이터를 정정하기 위한 에러 정정 프로세스를 필요로 한다. 종래의 에러 정정 프로세스는 보통 8비트 ECC코드와 ECC코드로 하드 에러를 정정하는 수학적 프로세스를 이용하였다. 그러나, 워드당 8비트 오버헤드(overhead)는 디스크 모방기에 상당한 비용을 추가시킨다. 따라서, 단일 패리티 비트만을 이용하여 단일비트 하드 메모리에러를 정정하는 새로운 에러 정정 프로세스가 본 발명의 디스크 모방기에 포함된다.
이 에러정정 프로세서에서는 각 워드가 디스크 모방기의 DRAM 어레이에서 검색될 때 새로운 패리티 비트가 기억된 워드에 대해 발생된다. 새로운 패리티 비트는 기억된 워드에 대한 기억된 패리티 비트와 비교된다. 두 패리티 비트가 동일하면 에러가 발생되지 않은 것이고 디스크 모방기에 대한 정상 판독 사이클로 이어진다. 그러나 두 패리티 비트가 상이하면 에러가 발생한 것이고 디스크 모방기는 워드를 정정하기 위해서 이 신규의 에러 정정 프로세스를 이용한다.
이 에러 정정 프로세스에서는 검색된 워드가 반전되고 디스크 모방기의 래치회로에 래치된다. 반전된 워드는 그 후 원래의 워드가 검색되어 나갔던 DRAM 어레이의 장소로 기록된다. 반전된 워드는 그후 DRAM 어레이에서 다시 검색되고 반전되고 래치회로에 래치된다. 그후, 적당한 때에 에러 정정된 워드는 래치회로에서 나와서 66비트 병렬버스를 거쳐 66비트 시프트 레지스터로 전송되고 그 레지스터로부터 에러 정정된 워드는 직렬로 SMD 디스크 제어기에 공급된다.
이 신규의 "판독/반적/기록/판독/반전/기록" 에러정정 프로세스는 단 하나의 패리티 비트를 이용하여 이전의 워드가 직렬로 SMD 디스크 제어기에 공급되는 동안에 단일 비트 하드 메모리에러를 정정한다. 래치회로의 이러한 설계, 즉 반전 래치의 사용과 신규의 6단계 에러정정 프로세스로써 에러정정 프로세스는 디스크 모방기가 50MHz 만큼 높은 데이터 속도로 동작할 수 있도록 일정 시간 프레임내에 완료된다. 따라서 이 새로운 에러정정 프로세스는 종래의 프로세스와는 달리 DRAM에 기억장소를 보존할 뿐만 아니라 디스크 모방기가 SMD 인터페이스 규칙에 의해 허용된 최고주파수로 동작하게 하는 속도로 에러를 정정할 수 있다.
SMD 디스크 제어기가 디스크 모방기로부터 데이터를 판독하거나 디스크 모방기에 데이터를 기록하고자 할때 SMD 제어기는 디스크 모방기에 탐색 명령을 보낸다. SMD 디스크 제어기는 동시에 SMD 제어선을 통해 소망 데이터에 대하여 실린더 및 헤드 어드레스를 제공한다. 각 헤드가 한 디스크 표면의 소정 실린더들에 접근할 수 있으므로 실린더와 헤드 어드레스의 조합은 독특한 트랙을 정의한다. 디스크 모방기내의 미분 전류모드 수신기들은 SMD 디스크 제어기로부터의 미분신호를 논리신호로 번역한다.
디스크 모방기의 ROM 번역회로는 동시에 SMD 디스크 제어기로부터의 기하 어드레스, 실린더 및 헤드 어드레스를 디스크 모방기의 DRAM 어레이를 위한 고차 어드레스로 번역한다. 디스크 모방기에서 고차 어드레스는 SMD 제어기로부터의 실린더와 헤드 어드레스에 해당하는 DRAM어레이용 어드레스를 나타낸다. 하위 어드레스도 DRAM 어레이에 이용되는데 그 용이는 그 섹터와 어느 섹터내의 워드에 해당하는 DRAM 어레이내의 어드레스를 나타낸다.
SMD 제어기로부터의 기하 어드레스 정보를 고차 어드레스로 번역하는 것은 사실상 동시적이기 때문에 디스크 모방기의 마이크로프로세서는 탐색 명령을 수신하였을 때 SMD 제어기로 즉시 인덱스 펄스를 발생하여 소망헤드가 소망 실린더위에 위치된 것, 즉 소망 섹터를 포함하는 트랙을 찾았다는 것을 나타낸다. 그후 마이크로프로세서는 고속 섹터 사이클로 들어간다. 고속 섹터 사이클에서 마이크로프로세서는 처음에 SMD 디스크 제어기에 의해 지정된 트랙의 0번째 섹터에 해당하는 어드레스를 발생시킨다.
SMD 디스크 제어기로 보내진 이 인덱스 펄스는 디스크 모방기를 초기화하는 데에도 이용된다. 인덱스 펄스는 타이밍 신호를 발생하는 프로그램 가능 카운터, 시프트 레지스터 및 디스크 모방기의 다른 구성부분들을 클리어 한다. 또한, 섹터의 워드들을 어드레스하는데 이용되는 다른 프로그램 가능 카운터들은 섹터의 0번째 워드기 어드레스되도록 초기화된다.
SMD 디스크 제어기는 고차 어드레스로 번역된 정보를 제공하고 디스크 모방기는 하위 어드레스를 발생하여 SMD 디스크 제어기에 의해 지정된 트랙의 제로 섹터의 0번째 워드를 구하게되므로 처음에 SMD 디스크 제어기에 제공될 워드의 DRAM 어레이내 위치는 완전하게 지정된 따라서 디스크 모방기는 SMD 제어기에 의해 지정된 트랙내의 0번째 섹터에 대해 0번째 66비트 워드(0번째 섹터에 대한 어드레스 필드)와 0번째 워드에 대한 패리티 비트를 인출하고 그 워드를 66비트 병렬 버스로 래치회로와 패리티 회로에 제공한다.
이때 66비트 병렬버스에도 연결된 시프트 레지스터의 병렬 단자들은 3상태로 되어 시프트 레지스터의 데이터와 DRAM 어레이에서 검색되고 있는 0번째 워드가 66비트 병렬 버스에 대하여 서로 회선 쟁탈을 하는 것을 방지한다. 따라서 DRAM 어레이로부터 66비트 병렬버스로 나온 0번째 워드는 패리티 회로와 래치회로에만 나타난다. 패리티 회로는 66비트 병렬 버스상의 0번재 워드에 대하여 새로운 패리티 비트를 발생하고 에러정정회로는 기억된 패리티 비트를 새로운 패리티 비트와 비교하여 상술한 바와같이 이 두 패리티 비트가 상이하면 기억된 워드는 에러정정된다.
그러므로, SMD 디스크 제어기로부터의 탐색명령과 디스크 모방기로부터의 인덱스 신호후에는 SMD 디스크 제어기에 의해 지정된 트랙의 0번째 섹터에 대한 0번째 워드, 즉 어드레스 필드가 래치회로에 로드되고 시프트 레지스터로의 로드 및 SMD 디스크 제어기로의 직렬 전송이 될 준비가 된다.
SMD 디스크 제어기가 디스크 모방기로부터 인덱스 펄스를 수신한 후 SMD 디스크 제어기는 판독 게이트 신호를 디스크 모방기에 표명한다. 이때, 디스크 모방기는 SMD 디스크 제어기에 섹터의 첫번째 갭, 즉 섹터의 시작에서 섹터의 어드레스 필드까지의 지역에 해당하는 일련의 제로 비트를 공급하기 시작한다.
디스크 모방기는 SMD 제어기에 공급된 바이트의 수를 계수하여 섹터에서 어드레스 필드 이전의 바이트 수에 정확히 도달된 때 디스크 모방기는 어드레스 필드를 래치회로로부터 병렬버스를 통해 시프트 레지스터로 로드하고, 이 레지스터는 뒤이어 어드레스 필드를 직렬로 SMD 제어기로 자리이동시킨다. 어드레스 필드가 SMD 제어기에 직렬로 공급되는 동안 디스크 모방기는 DRAM 어레이로부터 0번째 섹터의 첫번째 워드를 검색하고, 그 워드를 에러 정정하고, 그 워드를 래치회로에 기억시킨다.
SMD 디스크 제어기가 어드레스 필드를 수신한 후 제어기는 섹터의 기록 스플라이스 필드에서 판독게이트를 표명중지하고 다음 세가지 동작 가운데 하나를 시작한다: (1) 만약 이것이 판독할 섹터이면 SMD 디스크 제어기는 판독 게이트를 재표명하거나; (2) 만약 이것이 기록될 섹터이면 SMD 제어기는 기록 게이트를 표명하거나; (3) 만약 이것이 관계없는 섹터이면 판독 게이트와 기록 게이트중 어느 것도 SMD 디스크 제어기에 의해 표명되지 않는다.
따라서, 디스크 모방기의 마이크로프로세서는 어드레스 필드(이 경우에는 0번째 섹터에 대한 것)를 발생한 후 소정시간 동안 SMD 디스크 제어기로부터의 판독 게이트 신호와 기록 게이트 신호를 폴(poll)하고 판독 게이트나 기록 게이트 신호 어느 것도 재표명되지 않으면 이것은 이 섹터가 SMD 제어기가 원하는 섹터가 아님을 나타내고 섹터 펄스가 마이크로프로세서에 의해 발생되어 SMD 디스크 제어기로 전송된다. 또한 마이크로프로세서는 SMD 디스크 제어기에 의해 지정된 트랙의 첫번째 섹터까지 DRAM 어레이의 어드레스를 증가시킨다.
섹터 펄스는 앞서 인덱스 펄스에 대해 설명한 것과 같은 방식으로 디스크 모방기를 초기화시킨다. 그러므로 SMD 디스크 제어기에 의해 지정된 트랙의 제1섹터에 대한 0번째 워드, 즉 어드레스 필드가 검색되고 에러 정정되고 래치회로에 기억된다.
섹터 펄스에 응답하여 SMD 디스크 제어기는 판독 게이트를 표명하고 디스크 모방기는 다시 어드레스 필드전에 제1갭에 대한 제로비트를 제공하고 제1갭이 끝난후에는 SMD 디스크 제어기에 의해 요청된 트랙의 제1섹터의 0번째 워드인 어드레스 필드가 시프트 레지스터로 로드되고 SMD 제어기에 직렬로 제공된다. 제1섹터에 대한 어드레스 필드가 SMD 디스크 제어기에 제공되는 동안 디스크 모방기는 제1섹터의 데이터 필드의 제1워드를 검색하고 에러 정정하고 래치회로에 기억시킨다.
SMD 디스크 제어기로부터의 판독 게이트 신호와 기록 게이트 신호는 섹터 펄스와 어드레스 필드의 개시후 소정시간 동안 다시 폴되고 판독 게이트나 기록 게이트 어느 것도 재표명되지 않으면 다른 섹터 펄스가 마이크로프로세서에 의해 발생되고 제2섹터에 대한 0번째 워드가 앞서 0번째 섹터와 제1섹터에 대해 설명된 것과 같은 방식으로 SMD 디스크 제어기에 제공된다. 마이크로프로세서는 계속해서 이 고속 섹터 사이클 모드로 트랙의 연속 섹터들의 0번째 워드에서 일련의 판독 사이클을 개시하는 일을 판독 게이트나 기록 게이트가 SMD 디스크 제어기에 의해 표명될 때 까지 수행한다.
따라서, 어드레스 필드들은 소망 섹터가 발견될 때 까지 SMD 디스크 제어기에 의해 빠른 간격, 보통 약 10 마이크로세컨드 간격으로 판독된다. 소망 섹터가 트랙의 마지막 것, 즉 32번째 섹터이면 그 섹터를 찾는데 320 마이크로세컨드가 필요하다. 종래의 하드 디스크 작동 장치는 트랙이 발견된 후 정확한 섹터를 찾는데 16밀리세컨드를 필요로 할 수 있다. 그러므로 본 발명의 디스크 모방기는 평균 회전 대기시간을 인자 500만큼 감소시킨다. 이것은 종래 하드 디스크 작동장치에 대하여 상당한 성능의 증가를 나타내며 디스크 모방기의 회전 대기시간은 디스크 시스템의 응답에 있어서 더 이상 제한 인자가 못된다. 이제, SMD 디스크 제어기와 디스크 모방기의 성능은 SMD 디스크 제어기의 응답시간으로 제한된다. 따라서 회전 대기시간을 더욱 향상시키기 위해서는 SMD 인터페이스 규칙을 변경하여야 한다.
SMD 제어기에 제공된 어드레스 필드가 SMD 제어기에 의해 발견된 섹터에 해당할 때 SMD 제어기는 그 SMD 디스크 제어기를 구동하는 중앙처리 장치가 그 섹터에 기억된 데이터를 요청하였다면 판독 게이트를 재표명한다. 판독게이트가 재표명되면 마이크로프로세서는 고속 섹터 사이클을 떠나고 디스크 모방기는 어드레스 필드(필드(13))와 데이터 필드의 제1워드 사이의 간격인 섹터의 제2갭에 해당하는 제로의 스트링을 SMD 디스크 제어기에 제공한다.
제2갭의 바이트 갯수가 정확히 완료되는 때 데이터 필드의 에러정정된 제1워드는 시프트 레지스터로 로드되고 SMD 디스크 제어기에 직렬로 공급된다. 데이터 필드의 제1워드가 SMD 디스크 제어기에 공급되는 동안 데이터 필드의 제2워드는 DRAM 어레이로부터 검색되고, 에러 정정되고, 래치회로에 기억되며, 제1워드의 마지막 비트가 시프트 레지스터를 떠났을 때 제2워드는 시프트 레지스터로 로드되고 직렬로 SMD 디스크 제어기에 제공된다. 이 프로세스는 섹터의 63번째 워드(첫번째 워드가 0번째 워드였으므로 섹터의 64번째 워드가 마지막 워드임)가 SMD 디스크 제어기에 제공될 때까지 계속된다. 63번째 워드가 시프트 레지스터를 떠난후 디스크 모방기의 기능은 억제되고, 다른 섹터나 인덱스 펄스가 발생될 때까지 SMD 제어기에 일련의 제로 비트를 제공한다.
SMD 제어기를 구동하는 중앙처리 장치가 디스크 모방기에 데이터를 기록하고자 할때 초기의 행동 시퀀스는 판독동작의 경우와 동일하다. SMD 디스크 제어기는 탐색 명령을 발생하고 실린더 어드레스와 헤드 어드레스를 제공하여 디스크 모방기로의 기록을 개시한다. 마이크로프로세서는 탐색 명령과 실린더 및 헤드 어드레tm를 수신하였을 때 즉시 인덱스 펄스를 발생하고 고속 섹터 사이클에 들어간다. 디스크 모방기의 초기화와 SMD 디스크 제어기에 의해 요청된 트랙의 제로 섹터에 대한 0번째 워드의 검색은 앞서 설명한 것과 동일하다. 따라서 SMD 제어기는 다시 0번째 워드를 판독하고 섹터의 기록 스플라이스 부분에서 판독 게이트를 표명 중지한다. 다음에 제어기는 다음 두 동작중 하나를 개시한다: (1) 이것이 기록할 섹터이면 기록 게이트가 표명되거나: (2) 이것이 관계없는 섹터이면 기록게이트는 표명되지 않는다.
기록게이트가 표명되지 않으면 마이크로프로세서는 계속해서 트랙내의 다음 섹터(섹터 1)에 대한 0번째 워드를 고속으로 공급하고 그후 상술한 바와 같이 기록 게이트와 판독 게이트를 폴하여 어느 한 게이트가 표명되었는지의 여부를 알아낸다. 정확한 섹터가 발견되고 기록 게이트가 SMD 디스크 제어기에 의해 표명되었을 때 직렬 데이터가 시프트 레지스터로 클록(clok)되고 마이크로프로세서는 고속 섹터 사이클 모드를 떠난다.
어드레스 필드전의 데이터 싱크 패턴을 검출하도록 프로그램된 디스크 모방기내의 비교기 회로는 시프트 레지스터내의 데이터를 모니터한다. 데이터 싱크 패턴이 검출되었을 때에는 클록 펄스 2개가 추가로 시프트 레지스터로 전송된 후에, 래치회로내의 데이터 싱크 패턴을 포함하는 데이터 필드의 첫번째 66비트 워드를 포착하는 신호가 발생된다. 비교기 회로에 의해 모니터되는 시프트 레지스터내 위치의 선택은 데이터 싱크 패턴이 검출되었을 때 데이터 필드의 첫번째 전체 66비트 워드를 시프트 레지스터로 완전히 로드하는데 시프트 레지스터로의 클록 펄스 2개의 더 필요하도록 된다. 다음 워드가 시프트 레지스터에 들어가는 동안 래치회로에 기억된 66비트 워드와 관련 패리티 비트는 66비트 데이터 버스와 패리티 비트 라인으로 각각 구성된 67비트 병렬버스를 거쳐 DRAM 어레이로 기록된다. 또한, DRAM 어레이에 대한 어드레스는 섹터의 다음 데이터 워드까지 증가된다.
이 동작 시퀀스는 섹터의 제2데이터 워드에서 63번째 데이터 워드까지에 대해 반복된다. 따라서 각 섹터마다 64개의 워드가 DRAM 어레이에 기록된다. 66비트의 데이터 정보에 더하여 하나의 패리티 비트가 디스크 모방기의 회로소자에 의해 발생되고 67번째 비트로서 DRAM 어레이에 기억된다. 64번째 워드가 DRAM 어레이에 기록된 후 디스크 모방기는 SMD 디스크 제어기가 다른 섹터 또는 인덱스 펄스를 발생할 때까지 기능 억제된다.
디스크 모방기의 DRAM 어레이는 소멸성 기억장치이므로 디스크 모방기는 전원전압이 파괴된 경우에 DRAM 어레이내의 데이터의 완전성을 보호하는 대체용 시스템을 포함한다.
본 발명의 디스크 모방기는 탐색시간과 섹터 회전 대기 시간을 상당히 향상시킨다. 또한 이 디스크 모방기의 데이터 기억 매체는 종래 하드 디스크의 데이터 기억 매체보다 더 효율적으로 이용된다. 마지막으로 이 디스크 모방기에는 기계적으로 또는 가동 부분이 없고 신규의 에러 정정 프로세스가 하드 메모리 고장을 정정하므로 이 디스크 모방기의 신뢰성은 종래 하드 디스크 작동 장치들의 신뢰성보다 상당히 우수한 것이다.
[발명의 상세한 기술]
본 발명의 디스크 모방 시스템은 대기시간을 제거하는 교체시스템이다. 이 디스크 모방기는 SMD 인터페이스 규칙(즉 중앙처리장치)에 따르고 SMD 디스크 제어기에 대하여 이 디스크 모방기는 액세스 시간이 사실상 제로인 디스크 작동장치로 나타난다. 이 디스크 모방기의 개념 블록 다이어그램이 제2도에 나타나있다.
개념적으로, 제2도의 직렬변환기/역직렬변환기(102)는 디스크 모방기의 동적램(DRAM) 어레인 고체 메모리(104)를 SMD 디스크 제어기(107)와 인터페이스 접속한다. 직렬변환기/역직렬변환기(102)는 역직렬변환기 모드로 기능하고, SDM 디스크 제어기(107)부터 기록데이터 라인(115)에 나온 직렬 데이터 스트림을 병렬버스(112, 113)를 통해 DRAM 어레이(104)에 효율적으로 기록될 수 있는 66비트 병렬워드로 변환한다. 반대로 SMD 디스크 제어기(107)가 디스크 모방기에서 데이터를 판독할 때에는 직렬변환기/역직렬변환기(102)가 직렬변환기 모드로 기능하여 병렬버스(112, 113)를 통해 고체 메모리(104)로부터 검색된 66비트 병렬워드를 판독 데이터 라인(114)을 통해 SMD 디스크 제어기로 전송되는 직렬데이타 스트림으로 변환한다. 또한, 직렬변환기/역직렬변환기(102)는 각 66비트에 병렬워드에 대해 하나의 패리티 비트를 발생한다. 나중에 설명하겠지만, 이 패리티 비트는 고체메모리(104)에 기억되기도 하고 에러 정정에 이용되기도 한다.
이 실시예에서 디스크 모방기의 각 데이터 트랙은 지정된 섹터 0에서 섹터 31까지 32개의 섹터로 구성된다. 각 섹터는 64개의 66비트워드(섹터내에서, 워드 0에서 워드 63까지로 자정됨)로 구성된다. 각 섹터는 0번째 워드는 섹터를 식별하는데 이용되고, 각자의 섹터에 대한 어드레스이다. 이 워드의 길이는 메모리 인출타이밍이 매우 보수적일 수 있게 해주면서도 SMD 디스크 제어기에 대해 매우 빠른 전송속도를 유지하게 해준다. 66비트 워드의 다른 이득은 패리티의 절약이다. 긴 워드에 대하여, 기억된 패리티 비트는 기억된 데이터의 작은 부분이다. 그러나, 본 발명의 설명으로부터, 다른 워드길이 및/또는 섹터길이를 이용하는 디스크 모방기의 설계는 당업자에게 명백할 것이다.
SMD 디스크 제어기(107)가 디스크 모방기에서 데이터를 판독하거나 거기에 데이터를 기록하고자 하면, SMD 디스크 제어기(107)는 탐색명령을 온 실린더 라인(121)을 통해 제어회로(100)에 보낸다. SMD 디스크 제어기는 동시에 소망 데이터에 대한 실린더 및 헤드 어드레스를 실린더/헤드 어드레스 버스(108)를 통해 어드레스 번역회로(106)에 제공한다. 어드레스 번역회로(106)는 SMD 디스크 제어기(107)에 의해 제공된 신호를 SMD 디스크 제어기가 판독하거나 기록하고자 하는 데이터에 대한 고차메모리 어드레스로 변환된다. 이들 어드레스는 고차 어드레스버스(109)를 통하여 메모리 어드레스 선택기(105)에 제공된다. 특정 트랙을 찾아다녀야 하는 보통의 하드 디스크와는 달리 이 디스크 모방기는 어드레스 번역회로(106)를 이용하여 소망 트랙의 어드레스를 즉각 알아낸다. 따라서, 어드레스 번역회로(106)를 종래 하드 디스크 작동 장치에서 특정 트랙을 찾는데 관련된 헤드 탐색시간을 제기한다.
제어회로(100)는 탐색 명령을 수신 받았을 때 즉시 인덱스 펄스를 SMD 제어기(107)에 발생하여 소망 트랙이 발견되었음을 나타내고, 제어회로(100)는 고속 섹터사이클에 들어간다. 고속섹터 사이클에서 제어회로(100)는 처음에 SMD 디스크 제어기(107)에 의해 지정된 트랙의 제로 섹터에 있는 0번째 워드의 고체 메모리(104)내 위치의 어드레스(섹터 0의 어드레스)를 발생하고 그 어드레스는 어드레스버스(110)를 거쳐 메모리 어드레스 선택기(105)로 전송된다.
SMD 제어기(107)는 어드레스 번역회로(106)에 의해 고차 어드레스로 번역되는 실린더 및 헤드 어드레스 정보를 제공하고, 제어회로(100)는 하위 어드레스를 발생하였기 때문에, 처음에 SMD 디스크 제어기(107)에 제공될 워드의 위치는 완전하게 지정된다. 따라서, 디스크 모방기는 지정된 66비트 워드 더하기 1패리티 비트를 인출하고 그 워드를 병렬버스(112)를 거쳐 에러 정정회로(103)에 공급한다. 에러 정정회로(103)는 그 패리티 비트를 이용하여 후술하는 바와 같이 0번째 워드(섹터 0의 어드레스)를 분석하고 만약 66비트 워드의 어느 비트가 고체 메모리에서 워드가 기억되는 중에 또는 기억된 후에 또는 판독되는 중에 바뀌었다면 에러 정정회로(103)는 그 하드에러를 정정한다. 그 에러가 하드 에러가 아니면 에러 정정회로(103)는 후술하는 바와 같이 그 에러를 정정하지 않고 그 에러는 디스크 제어기(107)로 보내져서 정정된다.
SMD 디스크 제어(107)가 제어회로(100)에서 인덱스 펄스를 수신한 후 SMD 디스트 제어(107)는 판독 게이트 라인(119)상의 판독게이트 신호를 제어회로(100)에 표명한다. 다음에 제어회로(100)는 에러 정정회로(103)에 기억된 에러 정정된 0번째 워드를 병렬버스(113)를 통하여 직렬변환기/역직렬변환기(102)로 로드한다. SMD 디스크 제어기(107)는 직렬변환기/역직렬변환기(102)에 의해 판독데이타 라인(114)에 직렬로 공급된 0번째 워드를 판독한다.
섹터 0의 0번째 워드가 SMD 디스트 제어기(107)에 의해 판독되는 동안, 디스크 모방기는 0번째 섹터의 첫 번째 워드(데이타 워드)를 DRAM 어레이(104)로부터 검색하고 그 첫 번째 워드와 기억된 패리티 비트를 병렬버스(112)를 통해 에러 정정회로(103)에 제공한다. 이때에 섹터 0의 제1워드를 에러 정정회로(103)에 로드함으로써 만약 섹터 0이 소망 섹터이면 제1워드는 SMD 제어기(107)의 요청을 받자마자 나타난다.
SMD 디스크 제어기(107)는 제1a도에 나타낸 섹터의 기록 스플라이스 필드에서 판독게이트를 표명중지하고 다음 세가지 행동중 하나를 개시한다 ; (1) 이것이 판독될 섹터이면 SMD 디스크 제어기는 판독게이트를 재표명 한다 ; (2) 이것이 기록될 섹터이면 SMD 디스크 제어기는 기록게이트를 표명한다 ; 그렇지 않고 (3) 이것이 관련되지 않은 섹터이면 판곡게이트나 기록게이트는 어느 것도 표명되지 않는다.
제어회로(100)는 섹터 어드레스를 발생한 후 소정시간 동안 판독게이트 라인(119)과 기록게이트 라인(120)을 폴하고, 만약 판독게이트 신호나 기록게이트 신호 어느 것도 검출하지 않으면 섹터 펄스가 제어회로(100)에 의해 섹터펄스 라인(122)을 거쳐 SMD 디스크 제어기(107)로 공급된다. 섹터 펄스 후에는 SMD 디스크 제어기(107)에 의해 요청된 트랙의 제1섹터의 0번째 워드(섹터 1의 어드레스)가 0번째 섹터에 대해 설명한 것과 같은 방식으로 직렬변환기/역직렬변환기(102)로 로드되고 SMD 제어기(107)는 이 어드레스 워드를 판독한다. 판독 게이트 라인(119)가 기록게이트 라인(120)은 다시 제어회로(100)에 의해 섹터어드레스 발생후의 소정시간 동안 폴되고 만약 판독게이트나 기록게이트가 검출되지 않으면 다른 섹터 펄스가 제어회로(100)에 의해 SMD 디스크제어기(107)로 공급되고 제2섹터에 대한 0번째 워드가 SMD 디스크 제어기(107)로 보내진다. 제어회로(100)는 계속해서 이 고속 섹터 사이클 모드로 트랙의 연속 섹터들의 0번째 워드에서 일련의 판독사이클을 개시하는 일을 0번째 워드의 판독후 판독게이트나 기록게이트가 재표명될 때까지 실행한다.
판독게이트가 SMD 디스크 제어기(107)에 의해 판독게이트 라인(119)을 통해 재표명되면, 제어회로(100)는 에러 정정회로(103)에 기억된 섹터의 제1워드를 직렬변환기/역직렬변환기(102)로 로드한 후 섹터의 제2에서 제64워드 모두를 DRAM 어레이(104)로부터 순차적으로 검색한다. 각 섹터의 워드 1에서 63까지가 데이터 워드들을 구성한다는 것은 위에 설명하였다. 각 워드가 검색될 때에는 그 워드와 관련 패리티 비트가 병렬버스(112)를 통해 에러 정정회로(103)에 전송된다. 그 패리티 비트를 이용하여 에러정정 회로(103)는 발생된 어떠한 하드에러도 정정하고 그후 워드는 66비트 병렬버스(113)를 직렬변환기/역직렬변환기(102)로 전송된다. 직렬변환기/역직렬변환기(102)는 섹터의 제1에서 제3워드까지를 판독데이타라인(114)을 통해 SMD 디스크 제어기(107)에 직렬로 제공하여 섹터의 64개 워드 전체, 즉 어드레스 필드 더하기 63개 데이타 워드가 디스크 제어기로 전송된다.
SMD 제어기(107)를 구동하는 중앙처리장치가 디스크 모방기에 데이터를 기록하고자 하면 초기 행동 순서는 판독동작에서의 경우와 같다. SMD 디스크 제어기(107)는 디스크 모방기로의 기록을 개시하기 위하여 탐색명령을 발생한다. 제어회로(100)는 탐색명령을 받자마자 인덱스 펄스를 발생하고 고속 섹터 사이클에 들어간다. 제어회로(100)는 SMD 디스크 제어기(107)에 의해 요청된 트랙의 제로 섹터에 대한 0번째 워드(섹터 0의 어드레스)를 공급한다. SMD 제어기(107)는 다시 직렬변환기/역직렬변환기(102)로부터 0번째 워드를 판독하고 섹터의 기록 스플라이스 부분에서 판독게이트를 표명중지한다. 다음에 이 제어기는 다음 두 동작 가운데 하나를 개시한다 : (1) 이것이 기록할 섹터이면 기록게이트가 표명된다 ; 그렇지 않고 (2) 이것이 관계없는 섹터이면 기록게이트는 표명되지 않는다.
기록게이트가 표명되지 않으며, 제어회로(100)는 계속해서 트랙의 다음 섹터에 대한 0번째 워드를 소정시간, 한 실시예에서 10마이크로세컨드로 공급하고 나서 기록게이트가 표명되었는지를 알아내기 위해 게이트라인(120)을 폴한다. 제어회로(100)는 계속해서 연속한 섹터어드레스 정보를 발생하고 기록게이트 라인(120)을 폴한다. SMD 제어기(107)가 소망 섹터의 어드레스를 수신하면서 기록 게이트가 SMD 디스크 제어기(107)에 의해 표명되고, 직렬데이타가 기록데이타 라인(115)을 통해 직렬변환기/역직렬변환기(102)로 클록된다. 이것이 고체 메모리(104)에 기억될 제1데이타 워드이다. 66비트 워드 전체가 직렬변환기/역직렬변환기(102)에 있을 때 그 워드는 66비트 병렬버스(113)을 거쳐 에러정정회로(103)로 전송되어 일시 기억된다. 다음 워드가 SMD 제어기(107)로부터 직렬변환기/역직렬변환기(102)로 들어가는 동안 에러정정회로(103)에 기억된 66비트 워드에 대하여 한 패리티 비트가 발생되고 그후 이 기억된 66비트 워드와 그 워드에 대한 패리티 비트는 67비트 병렬버스(113)를 거쳐 고체메모리(104)로 기록된다. 이 순서는 하나의 66비트 어드레스 워드와 63개의 66비트 데이터 워드, 그리고 워드당 하나의 래피티 비트로 구성된 한 섹터 상당의 데이터가 고체메모리(104)에 기억될 때까지 계속된다.
판독/기록동작시 디스크 모방기는 SMD 디스크 제어기(107)에 의해 제공된 기타 어드레스 데이터를 연속 2진 어드레스들를 변환하고 고체 메모리(104)의 이들 어드레스에 있는 데이터를 판독/기록한다. 이 동작에 따르면 SMD 디스크 제어기(107)가 데이터를 검색하거나 기록하고자 할 때 쉽고 빠르게 어드레스되는 데이터 구조가 발생되기 때문에 하드디스크의 탐색시간이 제거된다.
디스크 모방기의 고체메모리(104)는 소멸성 기억장치이다. 디스크 모방기의 전원에 장애가 생긴다면 고체메모리(104)에 기억된 모든 데이터는 상실될 것이다. 따라서 디스크 모방기에는 이런일이 일어날 수 없게 하기 위하여 몇개의 대체용 시스템이 있다.
배터리 백업 모듈은 고체메모리(104)의 일부이다. 라인전압에 장애가 생기면 배터리 백업 모듈은 배터리 용량에 관련된 시간동안 메모리 구조를 지원할 수 있다. 이 대체용 시스템에는 SCSI 하드 디스크(101)도 포함된다. 제어회로(100)가 배터리 전원의 장애를 감지하면 고체 메모리(104)에 기억된 데이타는 제어회로(100)에 의해 직렬변환기/역직렬변환기(102)를 통해 액세스되고 그 데이터는 병렬 SCSI 데이터 경로(118)를 통해 이동되어 SCSI 하드 디스크(101)에 기억된다. SCSI 하드 디스크(101)는 비휘발성 매체이므로, 데이타는 전원이 회복될 때까지 그 디스크에 효율적으로 보관될 수 있는데, 전원이 회복되었을 때 제어회로(100)는 소프트웨어 형태의 알고리즘을 통해 고체메모리(104)를 디스크 모방기가 배터리 전원을 상실했을 당시의 상태로 재프로그램함으로써 고체메모리(104)에 데이터를 회복시킨다.
제2도가 디스크 모방기의 기본구조를 도시하고 디스크 모방기의 기능을 개념적으로 보여주는데 유용한 반면 제4∼29도, 제31∼33도, 제39도 및 제41∼46도는 본 발명의 디스크 모방기의 일 실시예의 회로도를 보여준다. 제4∼29도, 제31∼33도, 제39도 및 제41∼46도에는 몇 개의 집적회로가 있다. 집회로 몇개에는 참조문자와 제2의 번호가 표시되어 있다. 참조문자는 4개 이하의 숫자를 가지며 제2의 번호는 영숫자 문자나 5개의 숫자를 가진다. 제2의 번호는 보통 집적회로를 위한 산업표준 식별번호이다. 예를들어, 제14도에서 참조문자 1122로 표시된 IC는 시리즈 74 표준 TTL 집적회로에 대한 식별번호인 제2의 번호 F521을 가지고 있다. 유사하게, 규격 시리즈 74에서는 도면에서 식별되지 않는 집적회로들에 표준 TTL 집적회로 식별기회가 주어져 있다. 특정 집적회로에 관한 상세한 설명은 예를 들어 텍사스 인스트루먼츠의 1985년판 TLL 데이터 북, 제2권을 참조하면 된다. 제2의 식별번호에 대한 2개의 예외가 제21도와 제25도에 있다. 제21도에도 참조문자 1063으로 나타낸 집적회로는 인텔 8051 마이크로 프로세서이고, 제25도에서 참조문자 8207로 나타낸 집적회로는 인텔 8207 DRAM 제어기이다. 이 회로도는 이들 표면에 나타난 바와 같이 복잡하므로 제3도는 디스크 모방기의 주요 회로도를 블록 다이어그램으로 도시하고 주요 회로들간의 접속을 나타낸다. 제3도의 여러회로의 일반적 동작과 상호작용을 먼저 생각한 다음에 판독 및 기록 기능을 실행하기 위한 이들 회로의 통합을 더욱 상세히 설명한다.
[미분 전류모드 수신기]
제3도에 나타낸 바와 같이, SMD 디스크 제어기는 SMD 데아타선을 통해 디스크 모방기에 데이터를 보낸다. SDM 디스크 제어기는 미분신호를 제공하고 데이터선(data cable)의 각 라인쌍은 미분전류모드 수신기(800)에 연결되는데, 제3도에는 그중 하나만 나타나 있다. 제4도, 제5도 및 제6도는 SMD 데이터선 및 SMD 제어선의 라인들과 디스크 모방시스템의 라인들 사이의 인터페이스의 회로도이다. SMD 디스크 제어기로부터의 데이터를 제공하는 라인(J4-20, J4-8)과 디스크 모방기의 기록데이타 보수라인(write data complement line) (735)사이의 인터페이스에 대한 회로도는 제4도에 나타나 있다. 제4도, 제5도 및 제6도에 나타낸 다른 인터페이스들의 전형이기도 한 이 인터페이스에서, 디스크 모방기에 기억될 데이터를 나타내는 라인(JR-20, J4-8)상의 미분 신호는 MC 3450집적회로(그 부품번호를 주문해서 일반적으로 구입할 수 있는 집적회로) 내의 미분전류모드 수신기(547)에 라인 종단 저항 회로망(R54, R54-1)을 통해 결합되고 수신기(547)의 출력단자에 발생되는 신호는 기록데이타 보수라인(735)을 구동한다. 제4도, 제5도 및 제6도에서 저항들의 옴 값은 식별표지로 나타나 있다.
[입력 제어회로]
기록데이타 보수라인(735)은 제3도의 입력제어회로(801)에의 입력라인들중 하나이다. 입력제어회로(801)의 회로도는 제9도에 나타나 있다. 정상동작중에 입력제어회로(801)는 직렬데이타 입력 라인(737)에서 시프트 레지스터(802)로 전송되는 출력신호를 결정한다(제10도).
기록게이트 라인(704) 상의 신호가 높은 상태이면 입력제어회로는 기록데이타 보수라인(735)의 신호를 반전시키고 그 결과 신호를 직렬데이타 입력라인(737)에 제공한다. 입력제어회로(801)에 이어진 SMD/SCSI 보수 라인(725)과 SCSI 직렬데이타 라인(735)은 디스크 모방기의 백업동작에 이용되기 때문에 디스크 모방기의 정상 동작중에는 라인(736)상의 신호는 낮은 상태이고, 라인(725)상의 신호는 높은 상태이다. 기록게이트 라인(704)상의 신호가 낮은 상태이면, 입력제어회로는 기록데이타 보수라인(735)의 신호 레벨에는 상관없이 직렬데이터 입력라인(737)에 낮은 신호를 발생한다.
[시프트 레지스터]
제3도의 시프트 레지스터(802)는 앞서 설명한 직렬변환기/역직렬변환기의 기능을 수행하는 66비트 시프트 레지스터이다. 시프트 레지스터(802)는 제10도에 나타낸 바와 같이 8개의 74299 집적회로(1104∼1111)와 하나의 74194 직접회로(1211)로 구성된다. 74299 집적회로(IC)는 다중화 병렬 입출력 단자들을 가진 8비트 레지스터이다. 74299IC의 두 기능 선택 입력단자 SO, SI과 두 출력제어 입력단자 G0, G1에 있는 신호는 집적회로의 각 레지스터의 동작 모드를 결정한다. 74194 집적회로(1121)는 4비트 양방향 시프트 레지스터이다. 집적회로(1121)에는 제어된 병렬 입출력 단자들이 없으므로 제10도의 3상태 버퍼(297, 198)과 집적회로(1121)이 출력단자 QA와 AB에 각각 연결된다.
기록모드에서 시프트 레지스터(802)가 역직렬변환기로 기능하며 데이터는 직렬데이타 입력라인(737)을 거쳐 시프트 레지스터(802)에 공급되고 이 데이터는 집적회로(1104∼1111, 1121)의 단자 CLK 각각에 그리고 멀티플렉서(1125)의 출력단자 Y3에 연결된 시프트 레지스터 클록 라인(739)의 클록펄스에 의해 시프트 레지스터(802)를 통해 자리 이동된다. 아래에 설명된 예외는 있지만 데이터가 시프트 레지스터(802)를 통해 이동할 때 데이터는 병렬버스(700)에 직렬로 나타난다. 따라서, 완전한 66비트 워드가 시프트 레지스터(802)에 있을 때 이 66비트 워드는 66비트 병렬버스(700)상에 있는 제3도의 다른 회로들에 나타낸다.
그러나, 데이터가 DRAM 어레이(822)를 기록하는 시간 동안에는, 멀티 플렉서(1125)에서 집적회로(1104∼1111)의 단자,로 이어지는 시프트 레지스터 출력 제어라인(740)의 높은 상태 신호와 3상태 버퍼(297, 298)의 제어단자상의 인버터들이 집적회로들의 병렬출력단자들을 3상태로 만들어 이 시간중에는 시프트 레지스터(802)의 레지스터들에 있는 신호는 66비트 병렬버스(700)에 나타나지 않는다. 시프트 레지스터(802)의 병렬 출력단자들이 3상태인 동안에도 데이터는 시프트 레지스터(802)를 통해 직렬데이타 경로로 자리이동된다.
판독모드에서는 시프트 레지스터(802)가 직렬변환기로 기능할 때 판독카운터 회로(810) (제8도와 제18도에 나타냄)로부터의 S1 라인(74)상의 높은 상태 신호는 집적회로1104∼1111,1121)의 단자 S1에 인가된다. 이 높은 상태 신호는 시프트 레지스터(802)의 병렬 입력단자들을 유효화하고 뒤이어 병렬 버스(700)상의 신호들은 시프트 레지스터(802)로 동시에 병렬로드된다. 다음에 66비트 워드는 시프트 레지스터 클록라인(739)의 클록펄스에 의해 시프트 레지스터를 통해 직렬데이타 출력라인(738)으로 자리이동된다. 시프트 레지스터(802)에 인가되는 제어신호들의 순서와 발생은 아래에서 더욱 상세히 설명된다.
시프트 레지스터(802)는 IC(1104∼1111, 1121)의 각 단자에 연결된 섹터/인덱스 보수라인(711)상의 신호가 낮은 상태로 될 때 클리어된다.
[래치회로]
디스크 모방기에 기록을 하는데 있어서, SMD 디스크 제어기는 디스크 모방기가 최대 50MHz의 클록주파수로 동작하도록 설계되어 있기 때문에 극히 빠른 속도로 시프트 레지스터(802)에 데이터를 제공한다. 디스크 모방기가 24MHz의 속도로 동작하면 66비트 워드는 시프트 레지스터(802)에 40나노초 동안 밖에 있지 못하므로 66비트 워드를 이 시간 프레임내에 시프트 레지스터(802)로부터 DRAM 어레이(822)에 기록하는 것은 극히 어렵다. 따라서 66비트 워드가 시프트 레지스터(802)에 있는 바로 그 순간에 래치클록/에러검출회로(805) (제3도 및 제31도)는 클록펄스를 래치클록라인(743)에 발생하는데, 이 라인(743)은 제11도에 나타낸 래치회로를 구성하는 직접회로(1112∼1120) 각각의 단자 CP에 연결되어 있다. 이 클록펄스는 시프트 레지스터(802)에서 병렬버스(700)로 나온 66비트 워드를 래치회로(803)에 붙잡아 놓는다. 래치된 66비트 워드는 DRAM 어레이(822)에 기록될 수 있게 되고, 그 동안 다음 워드가 시프트 레지스터(802)를 채운다. 그러므로, DRAM 어레이(822)에 기록하는 동작이 40나노 초내에 이루어질 필요는 없고, 기록은 2.6 마이크로세컨드내에 실행되면 된다.
데이터가 회로(803)에 래치된후 멀티플렉서(1125)에서 나온 위에서 설명한 시프트 레지스터 출력제어라인(740)상의 신호는 제11도의 버퍼(296)과 병렬버스(700)에들 연결된 시프트 레지스터(892)의 병렬출력 단자를 3상태로 만든다. 동시에 낮은 상태 신호가 각 집적회로(1112∼1120)의 단자와 멀티플렉서(1125)의 출력단자 Y4에 연결된 래치출력 가능라인(742)에 제공된다. 따라서 라인(742)상의 낮은 상태신호는 병렬버스(700)의 각 라인D(1)∼D(66)이 제11도에 나타낸 바와 같이 집적회로(1112∼1120)의 래치들중 하나의 출력단자에 연결되어 있기 때문에 집적회로(1112∼1120)의 출력단자들을 유효화한 후 래치회로(803)의 래치들에 기억된 66비트 워드를 66비트 병렬버스(700)에 제공된다. 이때, 66비트 워드는 패리티 회로(840) <제3도 및 제12도>에도 제공되고 이어서 패리티 회로(804)는 래치회로(803)에 기억된 66비트 워드에 대한 패리티 비트를 패리티 비트라인(744)에 발생한다.
판독모드에서, 66비트 병렬버스(700)의 워드와 라인D(0)의 패리티 비트는 둘다 DRAM 어레이(822)로부터 나와, 래치클록/에러검출회로(805)에서 래치클록라인(743)에 제공된 클록 펄스에 의해 래치회로(803)에 래치된다. 시프트 래지스터(802)가 새로운 워드를 수신할 준비가 되었을 때, 래치회로(803)에 연결된 래치출력가능라인(742)상의 신호는 낮은 상태이고 시프트 래지스터(802)에 있는 직접회로(1104∼1111, 1121) 각각의 각 입력단자 S1을 판독카운터 회로(810)에 연결하는 S1 라인(741)상의 신호는 높은 상태로 된다. IC(1104∼1111, 1121) 각각의 입력단자 S0 상의 신호는 디스크 모방기의 정상동작중에 높은 상태이므로 66비트 병렬버스(700)에 연결된 시프트 레지스터의 병렬입력단자들은 유효화된다. 따라서, 래치회로(803)에 기억된 66비트 워드는 66비트 병렬버스(700)를 거쳐 시프트 레지스터(802)에 로드된다. 66비트 워드가 래치회로(803)에서 시프트 레지스터(802)로 병렬전송되기 전에 66비트 워드는 아래에 설명되듯이 에러 정정된다. 래치회로(803)에 제공되는 제어신호의 발생과 순서도 아래에서 더욱 완전하게 설명된다.
래치회로(803)는 반전된 데이터를 래치하므로 래치회로(803)의 각 레지스터의 입력단자는 레지스터의 출력 단자에 결선된다. 다음, 워드가 래치회로(803)에 래치된 후에는 래치회로(803)가 기능상태에 있는 동안 제2클록펄스가 래치클록라인(743)으로 래치회로(803)에 인가된다. 제2클록펄스는 래치회로(803)가 반전된 데이터에 대해 래치를 하게 한다. 그 결과 래치회로(803)는 반전된 워드가 아니라 원래의 워드를 포함하게 된다. 판독 및 기록모드 모두에서 이렇게 된다.
제11도에 나타낸 바와 같이, 래치회로는 9개의 74534 직접회로(1112∼1120)로 구성된다. 74534 직접회로는 8비트 에지 트리거 반전 레지스터인데, 각 레지스터의 출력선은 3상태 출력버퍼에 결합되어 있다. 따라서, 위에서 언급한 래치들 각각은 직접회로(1112∼1120) 가운데 하나의 레지스터이다.
[패리티 회로]
제3도와 제12도에 나타낸 패리티 회로(804)도 66비트 병렬버스(700)상에 있다. 기록모드에서는 위에 설명한 바와 같이 66비트 워드가 래치회로(803)에서 래치되고 반전된 후 시프트 래지스터(802)의 병렬출력 단자들은 3상태로 되고 래치회로(803)의 출력단자들은 유효화된다. 반전된 워드는 래치회로(803)에서 원래의 워드를 얻기 위하여 다시 반전된다. 결국, 래치회로(803)에 기억된 원래의 66비트 워드는 병렬버스라인(700)에 나타나고 따라서 66비트 워드는 패리티 발생회로(804)에 입력된다. 패리티 발생회로(804)는 짝수 패리티 신호를 패리티 비트 라인(744)을 통해 래치회로(803)에 제공하고, 래치회로(803)는 차례로, 패리티 비트를 라인 D(0)을 통해 DRAM 어레이(822)로 보낸다. 래치회로(803)내의 워드를 이용하여 패리티 비트를 발생하는 것은 50MHz 만큼 높은 클록주파수로 동작할 수 있는 디스크 모방기의 한가지 특성이다.
판독모드에서, 시프트 레지스터(802)에 있는 병렬 입출력 단자의 출력기능은 3상태이다. 따라서, DRAM 어레이(822)에서 병렬버스(700)로 나온 66비트 워드는 래치회로(803)와 패리티 회로(804)에만 나타난다. 래치회로(803)가 DRAM 어레이(822)로부터의 66비트 워드와 기억된 패리티 비트를 포획하면, 패리티 회로(804)는 DRAM 어레이(822)에서 검색된 워드의 패리티에 해당하는 새로운 패리티 비트를 패리티 비트 라인(744)에 제공한다. 이 새로운 패리티 비트는 배타적 OR 게이트(302)의 제1입력 단자에만 제공된다.
DRAM 어레이에서 나온 기억된 패리티 비트는 라인 D(0)을 통해 배타적 OR 게이트(302)의 제2단자에 제공된다. 따라서, 배타적 OR 게이트(302)의 출력신호가 높은 상태이면 디스크 모방기의 DRAM 어레이(822)에서 워드가 기억되는 동시에 또는 기억된 후에 또는 판독되는 중에 발생된 에러와 후술되는 에러 정정 방법은 함께 그 에러를 정정한다.
제3도의 패리티 회로는 제12도에 나타낸 바와 같이 서로 연결된 10개의 74280 직접회로(1094∼1103)와 병렬버스(700)로 구성되어 있다.
[멀티플렉서]
제3도와 제13도의 멀티플렉서(1125)는 시프트 레지스터(802)와 래치회로(803)에 인가되는 제어신호들을 선택한다. 멀티플렉서(1125)에는 2세트의 입력라인이 있다. 아래에 설명되는 제1세트의 입력라인은 시프트 레지스터(802)와 래치회로(803)에 판독제어신호를 제공하고 역시 아래에 설명되는 제2세트의 입력라인은 기록제어 신호를 제공한다.
기록플래그회로(811) (제3도와 제24도)를 멀티플렉서(1125) (제3도와 제13도)의 입력단자에 연결하는 기록라인(709)의 신호가 낮은 상태이면, 제1세트의 입력 라인은 멀티플렉서(1125)의 출력단자에 결합된다. 래치클록/에러검출회로(805) (제3도와 제31도)에서 판독 B 보수라인(746)으로 나온 신호는 멀티플렉서(1125)의 제1출력단자에 공급되고 ; 라인(749)상의 플러스 공급 전압은 멀티플렉서(1125)의 제2출력단자에 공급되고 ; 클록 제로라인(728)상의 신호는 멀티플렉서(1125)의 제3출력단자에 인가되고 래치 클록/에러검출회로(805)에서 판독 B라인(745)으로 나온 신호는 멀티플렉서(1125)의 제4단자에 인가된다.
기록라인(709)상의 신호가 높은 상태이면 제2세트의 입력라인은 출력단자들에 결합된다. 즉, 라인(749)상의 플러스 공급전압, 기록 B회로(814) (제3도와 제39도)에서 기록 B라인(747)으로 나온 신호, 기록 클록 라인(750)상의 신호 및 B회로(814)에서 기록 B 보수라인(748)에 나온 신호는 각기 멀티플렉서(1125)의 출력 단자 Y1 내지 Y4에서 인가된다.
멀티플렉서(1125)는 제13도에 나타낸 것과 같이 74157 직접회로이다. 74157 직접회로는 쿼드(quad) 2 입력 멀티플렉서로서 입력 단자상의 신호의 제어하에 2개의 소오스로부터 4개의 데이터 비트를 선택한다.
시프트 레지스터(802), 패리티 회로(804) 및 래치회로(803)는 DRAM 어레이(822)로부터의 데이터 판독과 DRAM 어레이(822)로의 데이터기록 모두에 이용된다. 따라서, 이들 회로는 이중 기능을 수행하고 그들의 동작 모드는 제3도에 나타낸 추가 회로 소자에 의해 결정된다. 시프트 레지스터(802), 패리티 회로(804) 및 래치회로(803)를 판독과 기록 동작 모두에 이용함으로써 디스크 모방기의 부품수가 최소화되어 회로의 비용과 크기 모두를 감소시킨다.
[비교기 회로]
기록 동작에서, SMD 디스크 제어기에서 나오는 모든 데이터가 DRAM 어레이(822)에 기억되는 것은 아니다. 제1도에 나타낸 각 센터의 어드레스 필드와 데이터 필드만이 독특한 것들이다. 따라서, 본 발명의 디스크 모방기는 SMD 디스크 제어기에 의해 제공된 데이터로부터 비(非) 섹터-특정 데이터를 제거하고 디스크 모방기의 DRAM 어레이(822)에 섹터에 특정된 데이터만을 기억시키도록 설계된다. 또한 이 방법에 의하면 DRAM 어레이(822)의 크기가 감소되므로 디스크 모방기의 비용과 크기가 감소된다. 그러나, 더욱 중요하게는 이후에 설명되는 바와 같이, 이 방법은 기억 매체의 이용율을 종래 하드디스크 작동 장치의 기억매체의 이용율에 비해 상당히 향상시킨다.
디스크 모방기에 의해 섹터로 기억된 64개의 66비트 워드는 그 섹터에 대한 어드레스 필드인 0번째 워드와 그 섹터의 데이타 필드를 구성하는 제1워드 내지 제63워드로 구성된다. 따라서, 기록모드에서 섹터-특정 데이타만을 포착하기 위해서, 어드레스 필드가 시프트 레지스터(802)에 있는데 그리고 데이터 필드를 구성하는 제1워드 내지 제63워드 각각이 시프트 레지스터(802)에 있는때를 확인하는 수단이 필요하고, 그와 달리 상기 설명식으로 하면 어드레스 필드가 시프트 레지스터에 있을 때 래치회로(803)에 들어가는 래치클록라인(743)상의 제1클록신호가 발생되어야 하고, 데이터 필드의 각 워드가 시프트 레지스터(802)를 채울 때 래치 클록라인(743)상의 다른 클록신호가 발생되어야 한다.
데이터 필드의 제1워드가 검출된 후에는 SMD 디스크 제어기가 연속 데이터 스트림을 제공하며, 시프트 레지스터(802)로의 클록펄스 수를 누산하고, 각 66비트 워드에 대한 래치회로(803)로의 클록신호를 발생한 카운터 회로는 섹터의 나머지 워드들을 포착한다. 또한, 래치회로(803)로의 클록펄스의 수를 계수함으로써 섹터의 끝이 결정될 수 있다. 제3도의 비교기회로(815), 기록제어회로(806) 및 메모리 워드 카운터 회로(807)는 이 개념적 방법을 구현한다.
어드레스 필드, 즉 섹터의 0번째 워드와 데이터 필드의 제1워드의 검출은 SMD 인터페이스 규칙에 의해 쉬워진다. 제1도에 나타낸 바와 같이, 어드레스 필드(13)와 데이터 필드(17)의 앞에는 각기 1바이트 싱크 패턴(13a, 16)이 있다. 싱크 패턴들(13a, 16)은 보통 같지만 SMD 인터페이스 규칙의 어떤 실시예에서 이들은 다르다. 따라서, 비교기 회로(815)에는 2개의 비교기가 있다. 제1비교기는 66비트 병렬버스(700)에 나타나는 어드레스 필드의 싱크 패턴을 검출하도록 프로그램되고 제2비교기는 데이터 필드(17) 앞에 있는 싱클 패턴을 검출하도록 프로그램된다.
비교기회로(815)는 제14도에 나타낸 바와 같이 2개의 74F521 직접회로(1122, 1123)와 2개의 8위치 DIP 스위치(291, 292)로 구성된다. 74F521 직접회로는 8비트 일치검출 비교기이다. 이 비교기들을 프로그램 하기 위해서 66비트 병렬버스(700)의 라인 D(10)-D(3)은 비교기 직접회로(1123)의 입력단자 P0-P7 각각에 그리고 비교기 직접회로(1122)의 입력단자 P0-P7 각각에 연결된다. 또한 라인 D(3)-D(10)에 대해서 라인의 번호는 워드의 비트에 해당하고 실제로 라인 D(3)는 워드의 제10비트에 해당하는 신호를 반송하고 라인 D(10)은 워드의 제3비트에 해당하는 신호를 반송한다.
비교기 직접회로(1123)의 입력단자 Q0∼Q7 각각은 저항 패키지(294)의 저항을 통해 플러스 공급전압에 연결되고 또한 8위치 DIP 스위치(291)의 스위치들중 하나를 통해 접지된다. 직접회로(1123)의 단자 Q1-Q7 각각은 저항 패키지(293)의 저항을 통해 플러스 전원 전압에 연결되고 또한 8위치 DIP(292)의 스위치들중 하나를 통해 접지된다. 디스크 모방기를 사용하기 전에 8위치 DIP 스위치에서 적절한 스위치를 개폐함으로써 비교기들(1122, 1123)이 단자 Q0-Q7 상의 신호가 설정되고 구에 따라 비교기들은 SMD 인터페이스 규칙의 구현에 이용된 어떤 8비트 싱크 패턴도 검출하게 된다.
비교기 회로(815)가 프로그램된 어드레스 싱크 패턴(제1도의 블록 13a)을 검출하면 기록 제어 회로(806)에 연결된 어드레스 싱크 검출 보수 라인(752)에 낮은 상태 신호가 발생된다. 마찬가지로, 데이터 싱크 패턴(16)이 검출되면 기록 제어 회로(806) (제3도 및 제15도)에 연결된 데이타 싱크 검출 보수 라인(753)에 낮은 상태 신호가 발생된다.
싱크 패턴같이 보이는 데이터 패턴으로 인하여 라인(752, 753)에 불요 신호가 나타나는 것을 방지하기 위하여 메모리 워드 카운터 회로(807) (제3도 및 제19도)는 어드레스 제로 검출 보수 라인(754)에 신호를 발생하는데, 이 신호는 어드레스 싱크 비교기를, 그 비교기가 어드레스 싱크 패턴을 검출하여야 할 때를 제외하고 무능화시킨다. 메모리 워드 카운터 회로(807)는 또한 어드레스 1검출 보수 라인(755)에 신호를 발생하여 데이터 싱크 비교기를, 그 비교기가 데이터 싱크 패턴을 검출하여야 할 때를 제외하고 무능화시킨다. 이들 신호의 발생과 타이밍은 아래에서 더욱 완전하게 설명된다.
[기록 제어 회로]
비교기 회로(815)에 의한 프로그램된 어드레스 싱크 패턴의 검출 후 기록 클록 라인(750) 상의 다음 클록 펄스는 시프트 레지스터(802)를 통해 하나의 추가 비트를 자리 이동시키고 어드레스 싱크 검출 보수 라인(752)에 낮은 상태 신호와 조합하여 기록 제어 회로(806)르 유효화시킨다. 프로그램된 어드레스 싱크 패턴의 검출 후 기록 클록 라인(750) 상의 제2클록 펄스는 데이타를 시프트 레지스터(802)르 통해 제2의 추가 비트만큼 자리 이동시키고 기록 제어회로(806)는 래치 클록/에러 검출 회로(805)에 연결된 로드 기록 래치 라인(717)에 신호를 발생한다. 나중에 설명되겠지만 래치 클록/에러 검출 회로(805)는 로드 기록 래치 라인(717) 상의 신호가 수신되었을 때 래치 클록 라인(743)에 클록 펄스를 발생한다. 그러므로, 어드레스 싱크 패턴의 검출에서 두 클록 펄스 후에 시프트 레지스터(802)의 66비트 워드는 래치 회로(803)로 로드된다.
비교기 회로(815)에 의한 싱크 패턴의 검출과 래치 클록 펄스의 발생 사이의 타이밍 시퀀스는 66비트 병렬 버스(700)에서의 비교기 회로(815) 위치를 명령한다. 싱크 패턴의 검출과 래치 클록 라인(743)에서의 클록 펄스 발생 사이의 클록 펄스 갯수가 n이면 비교기들은 66비트 병렬 버스(700) 상의 위치 n+1에서 n+8까지에 위치되어야 하는데 이 경우 66 비트 병렬 버스(700)에서의 첫 번째 위치는 그 워드의 최상위 비트이고 n=이다.
기록 제어회로(806) (제3도 및 제15)는 로드 기록 래치 라인(717)에 신호를 발생한 후 뒤이어서 기록 B 회로(814) (제3도 및 제39도)에 연결된 기록 라인(716)에 높은 상태 신호를 발생시킨다. 다음에 기록 B 회로(874)는 앞서 설명한 멀티 플렉서 회로(1125) (제3도 및 제13도)에 연결된 기록 B 라인(747)과 기록 B 보수 라인(748)에 신호를 발생시킨다. 기록 B 보수 라인(748)의 낮은 상태 신호는 8207 DRAM 제어기(820) (제3도 및 제25도)의 입력단자에도 인가되고 이 제어기(820)는 차례로 래치회로(803)에서의 워드와 병렬 버스(700)상의 관련 패리티 비트가 기록될 장소인 DRAM 어레이(822)내의 지역을 유효화시킨다.
기록 제어 회로(806)는 데이터 필드내의 제1워드를 DRAM 어레이(822)로 래치하고 기록하는 신호를 발생시킨 후 NAND 게이트(406) (제3도)의 제1입력단자에 연결된 기록 카운터 클록 라인(715)에 신호를 발생시킨다. NAND 게이트(406)는 메모리 워드 카운터 회로(807) (제3도 및 제19) 내의 카운터를 증가시키는 신호를 발생시킨다. 기록 제어 회로(806) (제3도 및 제15도)는 계속해서 데이터 필드의 각 66비트 워드에 대하여 신호를 로드 기록 래치 라인(717), 기록 라인(716) 및 기록 카운터 라인(715)에 발생시킨다.
메모리 워드 카운터 회로(807)는 기록 제어 회로(806)에 연결된 워드 어드레스 2∼63 보수 라인(756)에 신호를 공급하여 기록 제어 회로(806)가 데이터 필드의 제2 내지 제63워드를 계수하게 한다. 데이터 필드의 63번째 마지막 워드에 해당하는 신호가 기록 제어 회로(806)에 의하여 기록 카운터 클록 라인(715)에 발생되면 메모리 워드 카운터 회로(807)는 섹터 충만 라인(757)을 통해 기록 제어 회로(806)에 인가되는 섹터 층만 신호를 발생한다. 섹터 층만 라인(757)상의 신호는 기록 제어 회로(806)의 기능을 억제한다.
기록 제어 회로(806) 내의 카운터는 제15도에 나타낸 바와 같이 74F161A 직접회로들(1027, 1028)로 구성된 66비트 카운터이다. 74F161A 직접회로는 동기 4비트 2진 카운터이다. 4비트 2진 카운터(1027, 1028)에 대한 클리어 기능은 비동기적이고 클록, 로드 또는 가능 입력 신호들에 관계없이 카운터 내의 플립플롭 4개를 모두 낮은 상태 신호로 클리어한다.
카운터들(1027, 1028)로 구성된 66비트 카운터이다. 74F161A 직접 회로는 동기 4비트 2진 카운터이다. 4비트 2진 카운터(1027, 1028)에 대한 클리어 기능은 비동기적이고 클록, 로드 또는 가능 입력 신호들에 관계없이 카운터 내의 플립플롭 4개를 모두 낮은 상태 신호로 클리어한다.
카운터들(1027, 1028)은 기록 클록 라인(750)상의 66개 클록 펄스를 계수한 후를 오버(roll over) 하도록 프로그램된다. 직접 회로(1027)의 입력 단자 A, B, C, D와 직접 회로(1028)의 입력 단자 A, B는 접지된다. 집적회로(1028)의 입력 단자 C, D는 플러스 전원 전압에 연결된다. 카운터들(1027, 1028)은 종속되어있어 카운터(1027)의 리플 캐리(ripple carry)출력 단자가 높은 상태일 때 카운터(1023)는 유효화된다. 카운터(1027, 1028)의 단자에 나타난 낮은 상태 신호는 그 카운터들의 기능을 억제하고 카운터(1027, 1028)의 단자 CLK에 연결된 기록 클록 라인(750)에 다음 클록 펄스가 나타났을 때 그 카운터들에는 단자 ENT, ENP상의 신호에 관계없이 그들의 입력 단자에 있는 신호들이 로드된다. 따라서, 카운터(1027, 1028)는 기록 클록 라인(750)상의 66개 클록 펄스를 계수하도록 프로그램된 카운터를 구성한다.
[기록 플래그 회로]
제3도와 제24도에 도시된 기록 플래그 회로(811)는 R/W 게이트 회로(제3도 및 제33도)에서 기록 게이트(704)에 나온 신호가 낮은 상태일 때 기록 보수 라인(710)을 통해 기록 제어 회로(806)에 높은 상태 신호를 제공하여 기록 제어 회로(806)의 동작을 억제한다. 반대로 기록 게이트 라인(704)의 신호가 높은 상태일 때 기록 플래그 회로(811)는 기록 보수 라인(710)에 낮은 상태 신호를 발생시킨다. 또한 기록 플래그 회로는 기록라인(709)에 신호를 발생시켜 앞서 설명한 바와 같이 멀티플렉서(1125)를 제어하고, 디스크 모방기에 데이터가 기록될 때에는 판독 카운터(810) (제3도 및 제18도)의 동작을 억제한다. 기록 플래그 회로(811)에서 기록 라인(709)으로 공급된 신호를 아래에서 더욱 완전하게 설명되는 바와 같이 래치 클록/에러 검출 회로(805) (제3 및 제31도)에 이용되어 판독 제어 신호를 발생하게 된다.
[R/W 게이트 회로]
제3도와 제33도에 도시된 R/W 게이트 회로(812)는 기록 게이트 라인(704)에 의해 기록 플래그 회로(811)에 결합되고 또한 기록 게이트 라인(704)에 의해 입력 제어 회로(801) (제3도 및 제9도)에도 결합된다. 판독/기록 게이트 라인(705)은 R/W 게이트 회로(815)와 마이크로프로세서(816)를 결합시킨다. SMD 제어선에 연결된 수신기들로부터 나온 태그 3보수 라인인 비트 0라인 및 비트 1라인은 R/W 게이트 회로(812)의 입력 라인들이다.
SMD 디스크 제어기가 디스크 모방기에 기록하기를 원할 때 비트 0라인과 태그 3라인은 기록 게이트를 표명하기 위해 이용되고, 판독에 대해서는 비트 1라인과 태그(tag) 3라인이 판독게이트를 표명하기 위해 이용된다. R/W 게이트 회로(812)는 SMD 디스크 제어기로부터 비트0, 비트1 및 태그3 라인들을 통해 수신된 신호에 따라 판독 게이트, 기록 게이트 및 판독/기록 게이트 신호들을 발생한다.
[판독 제어회로]
디스크 모방기의 판독 동작은 판독 제어 회로[제1갭 카운터(808), 제2갭 카운터(809) 및 판독 카운터(810)로 구성됨], 래치 클록/에러검출회로(805) 및 메모리 워드 카운터 회로(807)와 마이크로프로세서(816), DRAM 어레이(822), 시프트 래지스터(802), 래치 회로(803) 및 패리티 회로(804) (제3도)와의 협력에 의해 구현된다. 디스크 모방기로부터 판독하기 위해서 워드는 DRAM 어레이(822)로부터 검색되고 래치 회로(803)에 들어가고 에러 정정된 후 시프트 래지스터(802)로 로드되고 거기에서 워드는 직렬 데이터 출력 라인(738)으로 자리 이동되어 나간다.
그러나 위에서 설명한 바와 같이 전체 섹터가 DRAM 어레이(822)에 기억되지는 않고 단지 어드레스 필드가 섹터의 0번째 워드로서 기억되고 데이터 필드가 섹터의 워드 1 내지 워드 63으로서 기억된다. 따라서, SMD 제어기는 제1도에 나타낸 것과 같은 전체 섹터를 보기를 기대하므로 디스크 모방기는 기록 동작에서 제거되었던, 정보, 즉 섹터의 시작과 어드레스 필드 사이에 있는 제1갭과 어드레스 필드와 데이타 필드 사이에 있는 제2갭을 다시 만들어야 한다. 이것이 판독 제어 회로의 첫 번째 기능이다. 판독 카운터 회로(810) (제3도)는 일련의 제로 비트를 출력 제로 보수 라인(730)을 통해 AND 게이트(593) (제3도)에 클록한다. 클록될 제로의 정확한 수는 제1갭 카운터(808)와 제2갭 카운터(809)에 의해 결정된다.
[제1 및 제2갭 카운터 회로]
제1갭 카운터(808) (제3도 및 제16도)는 제16도에 나타낸 바와 같이 74F191 직접 회로인 카운터들(1013, 1014)과 6위치 DIP 스위치(S2)로 구성된다. 74F191 집적회로는 4개의 주/종속 플립플롭을 가진 동기 가역 업다운 카운터인데, 상기 주/종속 플립플롭들은 가능 입력 단자가 낮은 상태로 유지되면 클록 입력 단자 CLK에 있는 클록 신호의 낮은 상태에서 높은 상태로의 전이에 따라 트리거된다. 가능 입력 단자에서의 높은 상태 신호는 계수를 억제한다. 카운터들은 로드 입력 단자에 낮은 상태 신호를 제공하고 카운터 입력 단자들의 소망 데이터를 들어보냄으로서 프로그램된다. 제16도에 나타낸 바와 같이 카운터들(1013, 1014)은 종속되어 카운터(1013)의 출력단자가 카운터(1014)의 가능단자에 결선되므로 계수 능력을 크게 증대시킨다.
카운터(1013, 1014)의 프로그래머블 능력을 이용하기 위하여 카운터(1013)의 입력 단자, A, B, C, D와 카운터(1014)의 입력 단자 A, B는 저항을 통해 플러스 전원 전압에 연결되고 6위치 DIP 스위치(S2) 내의 한 스위치를 통해 접지로도 연결된다. 카운터(1014)의 입력 단자들 C, D는 접지된다. 6위 DIP 스위치의 스위치들은 카운터들의 입력 단자들에 있는 신호들을 프로그램하도록 개폐되어 카운터들이 로드된 후에 카운터들은 섹터의 어드레스 필드 이전의 바이트 수를 계수한다. 그러므로, 갭 크기는 프로그램 가능하다.
카운터(1013, 1014)의 카운터 단자 D/U는 플러스 전원 전압에 연결되어 있어 이 갭 카운터들은 카운터 다운을 하고 프로그램된 바이트 수에 이르면 롤 오버한다. 제2갭 카운터(809) (제3도 및 제16도)는 역시 74F191 집적 회로인 카운터(1011, 1012)로 구성되고, 카운터들의 입력 단자들은 제1갭 카운터(808)에 대해 설명된 것과 동일한 방식으로 접지와 플러스 전원 전압에 연결된다.
[바이트 클록 회로]
제1갭 카운터(808)와 제2갭 카운터(809) 모두는 바이트 클록 회로(813) (제3도 및 제17도)에 의해 클록된다. 이 바이트 클록 회로는 제17도에 나타낸 바와 같이 74F191 집적회로로 구성되는데,이 회로는 그 출력 단자 QC에 결선된 바이트 클록 출력 라인(785)을 가지고 있으며 클록 제로 라인(728)상의 클록 펄스에 클록된다. 따라서, 바이트 클록 라인(785) 상의 1클록 펄스는 클록 제로 라인(728) 상의 8개 클록 펄스 후에 나타나고 바이트 클록 라인(785) 상의 다음 클록 펄스들은 클록 제로 라인(728)상에 8개의 클록 펄스가 더해질 때마다 발생한다.
제1갭 카운터(808)와 제2갭 카운터(809)에 바이트 클록과 프로그래머블 종속 카운터들을 사용함으로써 갭 크기를 설정하는데 있어서, 최소의 부품으로 최대의 융통성을 제공한다. 제1 및 제2갭에서의 바이트 수는 SMD 인터페이스 규칙의 상이한 구현에 대하여 다를 수 있기 때문에 이들 회로는 사용자로 하여금 갭의 크기를 쉽게 변경해서 디스크 모방기가 사용자의 컴퓨터에 있는 SMD 인터페이스의 버전(version)과 호환 가능하게 되도록 해준다.
[판독 카운터 회로]
제1갭 카운터(808)가 사전 설정 바이트의 수에서 0까지 카운트다운할 때 이 카운터는 판독 카운터(810)(제3도 및 제18도)에 연결된 라인(722)에 신호를 발생시킨다. 제1갭 카운터(808)로부터의 이 신호는 판독 카운터(810)로 하여금 AND 게이트(593)에 연결된 출력 제로 보수 라인(730)에 제로 신호를 발생하는 것을 멈추게 하는 동시에 S1 라인, 즉 시프트 레지스터(802)에 연결된 라인(741)에 신호를 발생하게 하여 래치회로(803)에 기억된 워드를 시프트 레지스터(802)로 로드한다. 또한, 판독 카운터 회로(810)(제3도) 안에서 하나의 카운터가 개시되는데, 이것은 66 비트 워드가 시프트 레지스터(802)에서 자리 이동되어 나가는 때를 알아내는데 이용된다.
워드가 자리 이동되어 나가는 동안 판독 카운터(810)는 래치 클록/에러 검출 회로(805)로 하여금 높은 상태 신호를 판독 B 라인(745)을 통해 멀티플렉서(1125)에 공급하고 낮은 상태 신호를 판독 B 보수 라인(746)을 통해 멀티플렉서(1125)(제3도 및 제13도)에 전송하게 한다. 판독 B 보수 라인(746)상의 낮은 상태 신호는 8207 DRAM 제어기(820)에도 전송되고 DRAM 제어기(820)는 다음 66비트 워드 및 관련 패리티 비트를 67 비트 병렬 버스, 즉 66 비트 병렬 버스(700)와 라인 D(0)(제3도)에 제공한다. 또한 8207 DRAM 제어기(820)는 래치 클록/에러 검출 회로(805)에 신호를 제공하여 66 비트 병렬 버스(700)상의 워드를 래치 회로(803)에 포착한다. 그 후에 판독 카운터 회로(810)에 있는 카운터는 다른 신호를 판독 카운터 TC 라인(781)을 통해 래치 클록/에러 검출 회로(805)에 발생하여 래치 회로(803)에 포착된 워드를 반전시켜서 그 워드는 정상 모드에 있게 된다. 판독 카운터 회로(810)는 또한 NAND 게이트(406)(제3도)에 연결된 판독 카운터 라인(732)에 신호를 발생한다. 이로 인해 NAND 게이트(406)에서 인출된 신호는 메모리 워드 카운터 회로(807)를 증가시킨다.
0번째 워드가 시프트 레지스터(802)로부터 자리 이동되어 나간 후, 판독 카운터 회로(810)는 다시 출력제로 보수 라인(730)에 일련의 제로 비트를 발생시키는 일을 제2갭 카운터(809)(제3도)가 롤 오버하고, 판독 카운터(810)에 연결된 제2갭 카운터 캐리(carry) 라인(721)에 신호를 발생시킬 때까지 계속한다. 라인(721)상의 신호에 대한 판독 카운터(810)의 응답은 제1갭 카운터(808)가 롤 오버했을 때 설명한 응답과 유사하다.
실제로, 판독 카운터 회로(810)는 메모리 워드 카운터(807)가 섹터를 구성하는 64개의 워드(어드레스 워드 더하기 63개의 데이터 워드)가 판독되었음을 결정할때까지 같은 시퀀스의 신호를 발생하고, 판독 카운터 회로(810)에 연결된 라인(758)에 섹터 층만 신호를 발생하여 판독 카운터(810)의 기능을 억제한다. 기록 동작중 판독 카운터 제어 회로가 필요 없을 때에는 기록 플래그 회로(811)로부터 기록 라인(709)에 나타난 낮은 상태 신호가 이용되어 판독 카운터 회로(810)를 억제한다.
판독 카운터(810) 내의 카운터는 제18도에 나타낸 바와 같이 2개의 74F163A 집적 회로들(1022, 1023)로 구성되고 메모리 워드 카운터(807) 내의 카운터는 유사하게 제19도에 나타낸 바와 같이 2개의 74F163A의 집적 회로(1054, 1055)로 구성된다. 74F161A의 직접 회로는 그 클리어 기능이 동기적인 것을 제외하고 상기 기록 제어 회로(806)의 74F16A의 집적 회로와 동일하다. 그러므로, 카운터(1022, 1023)와 카운터(1054, 1055)는 기록 제어 회로(806)이 카운터(1027, 1028)에 대하여 앞서 설명한 것과 같은 방식으로 결합되고 프로그램된다.
[DRAM 어레이의 어드레스]
디스크 모방기의 상기 설명은 일반적으로 래치회로(803)와 시프트 레지스터(892)와 SMD 디스크 제어기 사이에서 어떻게 워드가 전송되는지에 대해서 이루어졌다. 그러나, 디스크 모방기는 SMD 디스크 제어기에 의해 요청된 트랙의 섹터를 찾아내고 어드레스하여야 한다. 이것은 ROM 번역 회로(819), 메모리 워드 카운터 회로(807) 및 마이크로프로세서(816)와 8207 DRAM 제어기(820) 및 DRAM 어레이(822)(제3도)와의 협력을 통해 성취된다.
SMD 디스크 제어기는 회전 데이터 기억 장치와 인터페이스로 접속되도록 설계되어 있다. SMD 디스크 제어기는 데이터를 헤드, 섹터, 트랙 및 실린더의 단위로만 어드레스 한다. 디스크 작동기는 고체 메모리와는 달리 데이터 메모리를 기하학적 구조로 어드레스한다. 고체 메모리, 즉 본 발명의 DRAM 어레이는 연속한 2진 어드레스들을 필요로 한다.
SMD 제어기가 디스크에 액세스할 때 소망 헤드 및 트랙 데이터는 보통 디지털 데이터로 제공된다. 디스크 제어기들은 연속한 2진 데이터를 거의 제공하지 않는다. 따라서, 디스크 모방기를 SMD 디스크 제어기와 인터페이스 접속시키기 위해서, SMD 제어기에 의해 제공되는 디스크 어드레스 정보, 헤드 및 트랙 데이터는 고체 메모리를 어드레스하는데 적합한 2진 구조로 번역되어야 한다.
어드레스 정보의 기하학적 형태를 고체 메모리를 어드레스하는데 적합한 2진 구조로 번역하는데 상이한 두가지 수단이 이용될 수 있다. 첫 번째 방법에서 디스크 모방기와 인터페이스로 접속되는 컴퓨터 운영 시스템의 부분, 즉 SMD 디스크 제어기가 수정된다. 이 수정은 디스크 모방기를 제어하는 소프트웨어 디스크 작동 장치에 가해진다. 이 방법에서 소프트웨어 디스크 작동 장치는 피동 디스크가 2진수의 헤드, 섹터 및 실린더를 갖도록 구성된다. 따라서, 디스크 제어기에 의해 디스크 모방기에 나타나는 정보는 연속한 2진 어드레스를 기술한다. 따라서, 이 방법에서는 디스크 제어기가 연속 2진 어드레스를 발생하도록 수정되었으므로 디스크 모방기는 단지 이들 어드레스를 이용해서 고체 메모리를 어드레스하기만 하면 된다. 그러므로, 이 실시예에서 ROM 번역 회로(819)(도시하지 않음)는 SMD 디스크 제어기에 의해 제공된 어드레스를 포착하는 래치들로 구성된다.
두 번째 방법에서 ROM 번역 회로(819)(제3 및 제22a 및 22b도)는 SMD 디스크 제어기에서 나온 디스크 관련 트랙 및 헤드 정보를 DRAM 어레이(822)를 위한 고차 어드레스 비트로 변환한다. 제47a도 내지 제47c도에 나타낸 컴퓨터 알고리즘이 256k×8 ROM에 상주하는 번역표를 개발하는데 이용되었다. 이 ROM은 SMD 디스크 제어기에서 나오는 연속한 기하 어드레스를 DRAM 어레이(822)를 어드레스 하는데 이용되는 연속 2진 어드레스로 번역한다.
그러므로, 헤드가 반복적으로 디스크를 가로질러 소망 트랙으로 이동하여 소망 트랙을 기다리는 보통의 하드디스크와 달리 본 발명의 디스크 모방기는 수정된 디스크 제어기나 번역표를 이용하여 디스크를 가로지르는 헤드 추적의 효과를 즉각적으로 발생한다.
SMD 제어기에 의해 지정된 트랙을 찾는데 관련된 탐색 시간의 제거는 이 디스크 모방기의 중요한 장점이다. 종래 디스크에서는 SMD 디스크 제어기에 의해 탐색된 데이터가 디스크의 여러 지역에 있는 여러 트랙들에 위치될 수 있다. 그러므로, 데이터를 찾는데 있어서 트랙 탐색지연, 즉 탐색 시간이 여러배로 증가되지만 본 발명의 디스크 모방기는 지연 시간이 없어 종래의 하드디스크 작동 장치보다 상당히 빠르다.
[ROM 번역 회로]
헤드 및 트랙 정보는 SMD 제어기에 의해 SMD 제어선을 통해서 제공된다. 디스크 모방기는 제4도, 제5도 및 제6도에 나타낸 바와 같이 SMD 제어선의 각 라인쌍마다 하나의 수신기를 이용하는데 이 수신기는 각 라인쌍의 미분 신호를 디스크 모방기에 의해 처리되는 논리 신호로 변환한다. 수신기들로부터의 신호는 ROM 번역 회로(819)에서 번역되고, 발생된 어드레스는 ROM 번역 회로(819)안에 래치된다. 여기서 고차 어드레스라고 하면 DRAM 어레이(822)를 위한 어드레스로서 종래 하드디스크의 헤드 및 트랙 어드레스에 해당하는 것들을 말하고, 하위어드레스라고 하면 DRAM 어레이(822)의 어드레스로서 트랙의 섹터와 섹터내의 장소에 해당하는 것들을 말한다.
[DRAM 제어기들과 DRAM 어레이]
ROM 번역 회로(819)로부터 카드 선택 라인(792)에 나온 고차 어드레스에 해당하는 출력 신호는 DRAM 어레이(822)(제3도)를 구성하는 16개의 DRAM 카드 가운데 하나를 유효화하다. DRAM 카드 하나가 제26a 및 26b도에 도시되어 있으며 이후에 완전히 설명된다. DRAM 어레이(822)에 있는 16개 DRAM 카드의 각각은 DRAM 제어기 회로(820)에 있는 16개 8207 DRAM 제어기중 하나와 인터페이스로 접속되고 각각의 카드는 256k DRAM 집적회로의 4개 뱅크를 포함한다. 한 실시예에서, 8207 DRAM 제어기는 DRAM 카드에 물리적으로 배치되어 있어 제3도의 DRAM 제어기 회로(820)와 DRAM 어레이(822)는 함께 집적되어 16개의 DRAM 카드로 구성되고 각각의 카드는 8207 DRAM 제어기 하나와 DRAM의 뱅크 4개를 가진다.
DRAM 카드상의 각 뱅크는 66 비트 워드 및 관련 패리티 비트를 기억하고 66비트 워드의 각 비트 및 관련 패리티 비트는 별개의 DRAM 집적 회로에 기억되므로 각 뱅크는 적어도 67개의 256k DRAM 집적 회로를 포함한다. DRAM 카드의 이러한 구성은 DRAM 집적 회로 고장(가령 같은 워드의 2개 비트는 잘못된 것임)의 가능성을 제한하고 DRAM 어레이 구성이 고속으로 가능하게도 해준다.
통상적으로 DRAM 프리차지(pre-charge) 효과는 데이터가 DRAM 기록되거나 그로부터 검색될 수 있는 속도를 제한한다. 그러나, 이 디스크 모방기에서는 워드들이 DRAM 카드상의 뱅크들에 연속으로 기록된다. 즉, 데이터가 DRAM 카드상에 인터리브(interleave)된다. 따라서, 프리차지 효과는 DRAM 어레이(822)의 성능을 제한하지 않는다.
ROM 번역 회로(819)에서 나온 고차 어드레스는 DRAM 카드를 선택하고 거기에서 나온 나머지 고차 어드레스는 16개 카드 각각에 있는 8207 DRAM 제어기의 고차 어드레스 단자들에 인가된다. 그러나, 16개의 카드 가운데 하나만 유효화되므로 유효화된 카드상의 8207 DRAM 제어기만이 실제로 DRAM 어레이(822) 내의 장소를 어드레스한다. 따라서, 여기서 8207 제어기의 참조라 하면 ROM 번역 회로(819)로부터의 고차 어드레스에 의해 유효화된 DRAM 카드상의 8207 DRAM 제어기를 의미한다.
ROM 번역 회로(819)(제3도)가 SMD 디스크 제어기에 의해 지정된 헤드 및 트랙 위치에 해당하는 DRAM 어레이(822)내의 어드레스들을 식별하기는 하지만, 디스크는 보통 헤드를 트랙위에 위치시키기만 하고 올바른 섹터가 헤드 밑으로 움직여가기를 기다리기 때문에 섹터 정보는 SMD 디스크 제어기에 의해 제공되지 않는다. 그러므로, 디스크 모방기가 트랙내의 소망 섹터에 해당하는 하위 어드레스도 발생하여야 한다.
디스크 모방기가 16개의 DRAM 카드와 256k DRAM 집적 회로들을 가지는 것으로 설명되었으나 이러한 특징은 예시적인 것이고 본 발명의 범위를 제한하려고 한 것은 아니다. 디스크 모방기의 메모리 용량은 디스크 모방기가 대체하고 있는 하기 디스크 작동 장치의 기억 용량에 의해 결정된다. 이 설명을 참작할 때 당업자이면 본 발명의 원리를 이용하여 카드상의 DRAM 집적 회로의 크기와 개수 그리고 DRAM 카드의 개수를 변화시켜 필요한 기억 용량을 달성할 수 있다.
[마이크로프로세서와 메모리 워드 카운터]
섹터와 섹터내의 67비트 워드들의 각각에 해당하는 최하위 어드레스들은 메모리 워드카운터 회로(807)와 마이크로프로세서(816)(제3도)에 의해 발생된다. SMD 디스크 제어기가 탐색 명령을 표명하므로써 새로운 섹터의 데이터가 필요함을 나타낼 때 탐색 명령은 마이크로프로세서(816)의 외부 인터럽트 입력 단자들중 하나에 인가된다. 마이크로프로세서의 인터럽트 서비스 루틴은 즉시 고속 섹터 사이클을 개시한다. 고속 섹터 사이클에서 마이크로프로세서는 P00 라인 내지 P04, 즉 라인 786-790(제3도)에서 섹터 어드레스를 0으로 설정하고 인덱스 펄스를 발생한다.
인덱스 펄스는 메모리 워드 카운터(807)에서 섹터에 대한 워드 어드레스를 0으로 초기화하고 P00라인 내지 P04상의 신호들을 메모리 워드 카운터 회로(807)(제3도)에 래치한다. 메모리 워드 카운터 회로(807)는 8207 DRAM 제어기(820)의 하위 어드레스 단자들에 연결된 섹터 어드레스 버스(793)와 워드 어드레스 버스(794)에 신호를 발생한다. DRAM 제어기(820)는 DRAM 어레이(822)내의 특정 지역을 DRAM 어드레스 버스(795)를 통해 어드레스하고 0번째 섹터의 0번째 워드와 관련 패리티 비트는 각기 66비트 병렬 버스(700)와 라인 D(0)에 공급된다. 라인 D(0)와 66비트 병렬 버스는 67비트 병렬 버스이다.
이 위치가 SMD 디스크 제어기에 의해 요청된 트랙과 섹터에 해당하면 SMD 디스크 제어기는 판독게이트나 기록게이트를 표명하고 섹터의 나머지 워드들은 메모리 워드 카운터 회로(807)에 의해 워드 어드레스 버스(794)를 통해 어드레스 된다. 따라서, 마이크로프로세서 회로(816)는 판독/기록 라인(705)상의 신호를 풀하여 어느 한 게이트가 섹터 어드레스의 발생 후 소정시간, 가령 10 마이크로세컨드내에 표명되는지를 결정한다. 이 소정 시간의 실제 길이는 아래에서 더 완전하게 설명된다. 소정 시간내에 어느 한 게이트가 표명되면 마이크로프로세서(816)는 즉시 고속 섹터 사이클을 떠난다.
판독 게이트나 기록 게이트가 표명되지 않았다면 마이크로프로세서(816)는 계속해서 P00 내지 P04 라인(786∼790) 상에서 섹터 어드레스를 1만큼 증가시키고 섹터 펄스를 발생한다. 섹터 펄스는 인덱스 펄스와 같은 방식으로 메모리 워드 카운터(807)를 초기화한다. 다시 마이크로프로세서는 소정 시간만큼 기다리고 게이트들을 검사한다.
각 섹터 펄스는 워드 카운터 회로(807)를 리세트하여 각각의 새로운 섹터의 0번째 워드의 어드레스들은 워드 어드레스 버스(794)를 통해 8207 DRAM 제어기 회로(820)에 공급된다. 따라서, 각 섹터의 0번째 워드는 소망 섹터가 발견될 때까지 SMD 디스크 제어기에 의해 소정 간격으로 판독된다. 소망 섹터가 트랙에서 마지막 것, 즉 32번째 것이고 소정 시간이 10μsec이라고 가정할 때, 그 섹터를 찾는데에는 320마이크로세컨드(10μsec×32)가 필요하다. 종래의 하드디스크 작동 장치가 불확실한 16밀리세컨드를 보내는 것에 비하여 본 발명의 디스크 모방기는 종래 하드디스크 작동 장치보다 500배나 빠르다. 따라서, 트랙과 섹터를 찾는데 관련된 대기 시간이 감소되어 종래 하드디스크 작동 장치에 비하여 이 디스크 모방기의 대기 시간은 사실상 0이 되어 응답이 즉각적이라고 할 수 있다. 이는 디스크 기억 장치의 성능에 있어서 상당한 진보를 나타낸다.
[에러 정정]
이 디스크 모방기내에서 독특하게 해결되는 마지막 문제는 데이터의 완전성이다. SMD 디스크 제어기가 디스크 모방기에 기록을 할 때 제어기로부터의 직렬 데이터는 병렬 데이터로 변환되고, 이 데이터가 메모리에 기록되기 전에 패리티 비트가 발생되어 67번째 비트로서 기억되는데, 이는 위에서 설명한 것과 같다.
SMD 제어기가 판독을 할 때 이 프로세스는 반대로 된다. 메모리에서 데이터가 검색되고 새로운 패리티 비트가 발생된다. 새로운 패리티 비트는 기억된 패리티 비트와 비교된다. 이들이 동일하지 않으면 기억중, 기억후 또는 판독중에 비트가 변환된 것이므로 에러가 발생되었다고 할 수 있다.
고체 메모리 에러는 두가지 기본형, 즉 하드 에러와 소프트 에러로 나누어 질 수 있다. 소프트 에러는 불규칙한 단일 비트 에러이다. 이들 에러는 메모리 칩 고장의 결과가 아니므로 SMD 디스크 제어기에 의해 정정된다. 하드 에러들을 일반적으로 메모리 부품내의 많은 비트에 영향을 준다. 이들을 돌발적인 메모리 고장의 원인이다.
에러 정정 시스템은 오래전부터 있어왔다. 이 디스크 모방기에 통상적인 종래 에러 정정 시스템을 사용하는 데에는 66비트 워드와 함께 8비트 ECC 코드를 기억시키는 것이 필요하다. 하드 또는 소프트 에러는 ECC 코드에 대한 수학적 프로세스를 통해 정정할 수 있다. 그러나 워드당 8비트 오버 헤드는 디스크 모방기에 상당한 비용을 추가시킨다. 따라서, 단 하나의 패리티 비트를 이용하여 하드 메모리 에러를 정정하는 새로운 에러 검출 프로세스가 디스크 모방기에 구현된다. 이 에러 정정은 판독 동작중에 8207 DRAM 제어기, 래치 회로(803) 및 래치 클록/에러 검출 회로(805)(제3도)를 가지고 "판독/반전/기록/판독/반전/기록" 순서를 이용하여 실행된다. 새로운 에러 검출 프로세스의 일예가 표Ⅰ에 도시되어 있다.
[표 Ⅰ]
예증과 이해를 쉽게하기 위하여 표Ⅰ에서는 디스크 모방기에 이용된 66비트 워드가 아니고, 4비트 워드가 예로 이용된다. 그러나, 이 에러 검출 및 정정 프로세스는 워드 길이와 무관하기 때문에 4비트 예는 그 프로세스를 설명하는데 충분하다. 또한, 본 발명의 에러 검출 및 정정 프로세스는 패리티 비트를 발생하는 어떤 특정한 방법에도 제한되지 않는다. 예시를 위해서, 디스크 모방기 워드 길이는 짝수의 비트이므로 짝수 패리티가 선택 되었다. 표Ⅰ의 행에 나타낸 워드는 1비트의 수가 짝수이므로 짝수 패리티를 가지고 있어서 기억된 패리티 비트는 1이다.
이 에러 검출 및 정정 프로세스의 동작을 설명하기 위해서 1행의 워드가 기억되었고 메모리내의 제2비트가 영구적으로 고장인 것으로 가정한다. 따라서 표Ⅰ의 두 번째 행에 나타낸 것과 같이 기억된 워드는 1011로 검색되고 기억된 패리티는 1로 검색된다. 워드 1011이 검색될 때 새로운 패리티 비트가 발생된다. 워드의 1의 수가 이제는 홀수로 되어 새로운 패리티 비트 0이다. 기억된 패리티 비트 1과 새로운 패리티 비트 0을 비교하면 에러가 나타난다. 에러가 검출되면 검색된 워드는 표Ⅰ의 4행에 나타낸 것과 같이 반전된다.
반전된 워드와 새로운 패리티 비트는 메모리에 기록되고 다시 검색된다 제2비트 장소는 영구히 고장나 있으므로 그 번호가 메모리에서 다시 판독, 즉 검색될 때 표Ⅰ의 6행에 나타낸 것과 같이 워드는 '0000'이고 패리티 비트는 0이다. 이 워드와 패리티 비트는 반전되어 원래의 워드 '1111'을 복구한다. 그러므로 패리티 정보만을 이용하여 "판독/반전/기록/판독/반전/기록" 순서는 메모리의 단일 비트 장소의 고장으로 유발된 에러를 정정한다.
이 에러 정정 프로세스는 단지 단일 비트고장에 효과가 있고 또한 고장난 비트가 고장난 비트 장소로 기록을 하게될 때 높은 상태이든지 낮은 상태이든지 그 비트가 원래 고장났을 당시의 상태에서 벗어나지 못하게 고장난 메모리에만 효과가 있다. 즉, 실제로 단순히 하드 에러의 정의, 다시 말해서 이 신규의 정정 프로세스는 어떠한 단일 비트 하드 에러라도 정정한다.
워드당 단일 비트 고장은 상술한 바와 같은 DRAM 어레이의 독특한 구성에 의해 확인된다. DRAM 어레이는 워드의 각 비트가 다른 DRAM 집적 회로에 기억되고 매번 네 번째 워드의 한 비트만이 같은 DRAM 집적 회로에 기억되도록 설계된다. 따라서, 같은 워드에서의 2개의 비트 고장을 얻는데에는 DRAM 집적 회로 2개 내에서의 비트 장소의 동시적인 독립적 고장이 필요하다. 실제로, 이 에러 정정 프로세스가 없으면 메모리 고장, 즉 단일 비트 하드 에러는 100시간의 동작 이내에 발생할 것으로 예상되지만, 이 에러 정정 프로세스를 이용하면 같은 워드에서 2개의 독립적인 비트 고장은 50,000 시간의 동작까지 없을 것으로 예상된다. 그러므로, 이 신규의 에러 정정 프로세스는 디스크 모방기의 신뢰성을 크게 향상시킨다.
[디스크 모방기 DRAM 어레이의 형식화(formatting)]
처음에 디스크 모방기를 컴퓨터와의 동작에 준비시키기 위해서 형식 기록 동작이 이용된다. 형식 기록 동작에서 각 섹터에 대한 어드레스 필드는 64 워드섹터의 0번째 워드로서 디스크모방 시스템의 DRAM 어레이(822)에 기억된다. 이 형식 기록 동작으로 디스크 모방기 DRAM 어레이(822)의 구성은 DRAM 어레이(822)가 형식화된 하드 디스크와 기능적으로 동등하도록 된다.
그러나, 앞서 설명한 바와 같이 보통의 하드 디스크의 데이터 기억 용량은, 디스크를 SMD 디스크 제어기와 인터페이스 접속시키기 위해 하드 디스크에 기억 되어야하는 데이터에 의해 최대 19% 만큼 감소된다. 이 디스크 모방기에서는, 각 섹터에 대하여 8바이트 어드레스 필드가 하나의 워드로 기억되거나, 섹터의 각 워드에 대하여 1바이트 데이터 싱크 패턴이 기억되고 패리티 비트가 기억되거나, 총 138 비트가 이용되어 디스크 모방기를 SMD 디스크 제어기와 인터페이스 접속하는데 필요한 데이터를 기억한다. 각 섹터는 64개의 66비트 워드와 64개의 패리티 비트를 포함하므로 단지 138/4288 또는 DRAM 어레이(822)의 약 3%가 데이터 기억에 이용되지 않는다. 그러므로, 이 디스크 모방기는 보통의 하드 디스크보다 기억 매체를 상당히 효율적으로 사용한다. 디스크 모방기의 형식 기록 동작은 디스크 모방기의 정상적인 판독 및 기록 동작과 유사하므로 SMD 디스크 제어기에 응답한 디스크 모방기의 정상 판독 및 기록 동작만을 상세히 설명한다.
[탐색 명령]
정상 동작중에 판독이나 기록 동작에서 SMD 디스크 제어기는 먼저 디스크 모방기에 탐색 명령을 발생한다. 통상적으로 하드 디스크 작동 장치에서는 탐색 명령이 발생될때마다 실린더는 바뀌어야 하고 따라서 판독/기록 헤드는 디스크상의 새로운 위치까지 기계적으로 이동된 후 반복적으로 중심 조정이 되어야 한다. 이 기계적 동작은 컴퓨터의 동작 속도에 비해 느리기 때문에 컴퓨터는 하드 디스크 동작 장치가 올바른 실린더를 찾는 동안 다른 활동을 한다. 이러한 이유로 하드 디스크 작동 장치는 통상적으로 올바른 트랙이 발견되었을 때 하드 디스크 제어기에 탐색 종료 신호를 보내서 디스크 제어기가 컴퓨터에 통지할 수 있도록 해준다.
그러나, 이 디스크 모방기에서는 실린더를 바꾸는 시간이 거의 순간이어서 온 실린더 명령 및/ 또는 탐색 종료 명령은 디스크 제어기에 사실상 순간적으로 공급될 수 있다. 그러나 SMD 규칙은 탐색 명령이 발생되는 때와 탐색이 종료되는 때 사이에 어떤 최소 시간을 요구한다. 따라서 이것은 온 실린더 회로(840)(제20도)의 기능들 중 하나이다. 온 실린더 회로(840)의 기능들은 모두 디스크 작동 장치 헤드를 주어진 트랙에서 멀리 이동시키는 것에 관련된다.
정상 동작중에 태그 1 보수 라인(767) 상의 신호는 디스크 헤드를 디스크 모방기 내의 주어진 트랙에서 멀리 이동시키는 것을 모방하는 수단이다. 태그 1 보수 라인(767) 상의 신호는 하위 실린더 어드레스들이 막 변하려고 할 때, 즉 SMD 제어기가 탐색 명령을 발생하고 있을 때 SMD 제어기에 의해 낮은 상태로 된다. 태그 2 보수 라인(768) 상의 신호가 SMD 제어기에 의해 이용되어 헤드 또는 고차 실린더 어드레스들을 변경시키지만 태그 2 보수 라인(768) 상의 신호 뒤에는 항상 SMD 제어기에서 나온 태그 1 보수 라인(767) 상의 신호는 SMD 디스크 제어기가 정상 동작하에서 탐색 명령을 발생하였음을 효과적으로 나타낸다. SMD 제어기는 SMD 제어선의 라인(J5-31 및 J5-1) 미분 신호를 중단 저항 회로망을 통해 미분 전류 모드 수신기(457)(제5도)에 제공함으로써 태그 1신호를 표명한다. 미분 전류 모드 수신기(457)는 라인(J5-31 및 5-1) 상의 미분 신호에 응답하여 태그 1 보수 라인(767)에 낮은 상태를 발생한다.
태그 1 보수 라인(767)상의 낮은 상태 신호는 온 실린더 회로(840)에 있는 NAND 게이트(449)(제20도)의 제1입력 단자에 인가된다. NAND 게이트(449)이 제2입력 단자의 구동은 태그 3 보수 라인(720)(제5도)상의 신호를 비트 6 라인(763)(제5도)상의 신호를 반전한 것과 합하는 OR 게이트(448)로부터 출력 신호에 의해 이루어진다. 아래에 설명되는 특별한 상황을 제외한 모든 상황에서 OR 게이트(448)의 출력 신호는 높은 상태이고 따라서 NAND 게이트(449)는 하나의 높은 입력 신호를 받고 SMD 디스크 제어기가 태그 1 보수 라인(767)상의 신호를 낮은 상태로 만들 때 또 하나의 낮은 입력 신호를 받는다. 이들 입력 신호에 응답하여 NAND 게이트(449)는 상승단이 있는 펄스를 발생하는데, 이 펄스 단자 멀티바이브레이터(one-shot multivibrator)(450)(제20도)의 입력 단자 B에 인가된다. 멀티바이브레이터(450)의 단자상의 신호는 플러스 전원 전압에 연결되고 멀티바이브레이터(450)의 입력 단자 A는 접지되어 있으므로 멀티바이브레이터(450)는 그에 연결된 저항과 캐패시터에 의해 결정되는 기간동안 출력 단자 Q에 높은 신호를 발생하고, 단자에 낮은 출력 신호를 발생한다. 저항과 캐패시터의 선택은 SMD 규칙이 요구하는 탐색 명령의 발생 시기, 즉 태그 1 보수 라인(767)상의 신호가 낮은 상태로 가는 시기와 탐색의 종료 시기, 즉 탐색 종료 라인(772)상의 신호가 높은 상태로되는 시기 사이의 시간이 SMD 규칙이 요구하는 시간만큼 간격을 두고 이어지도록 된다.
NAND 게이트(449)로부터의 높은 출력 신호로 인하여 멀티바이브레이터(450)가 발사(fire)를 하고 온 실린더 보수 라인(771)에 낮은 신호를 발생하면, 라인(771)상의 낮은 신호는 8051 마이크로프로세서(1063)(제21도)의 단자 P33에 인가된다. 8051 마이크로프로세서(1063)의 단자 P33에 인터럽트1 입력단자이므로 온 실린더 보수 라인(771)상의 낮은 신호는 마이크로프로세서(1063)를 리세트하여 아래에 설명되는 고속 섹터 사이클 모드에 들어가게 한다.
탐색 종료 라인(772)상의 신호와 온 실린더 보수 라인(711)상의 신호는 모두 멀티바이브레이터(450)에 의해 발생되고 따라서 탐색 종료 신호와 온 실린더 신호는 같은 소오스에서 유도된다. 탐색이 끝났는데 디스크가 올바른 실린더상에 위치되지 않을 수가 있으나 이것은 고장 상태이므로 이 두 신호를 같은 소오스에서 유도하는 것은 적절하다.
온 실린더 회로(840)(제20도)에 의해 발생되는 다른 신호는 디스크 제어기가 디스크 작동 장치를 디스크상의 제로 실린더로 복귀시키는데 이용하는 제로 복귀(RTz) 신호이다. 이 신호의 구현은 비트 6 라인(763)상의 신호를 높은 상태로 만들고 태그 3 보수 라인(702)상의 신호를 스트로브(strobe)함으로써 이루어진다. 따라서, OR 게이트(448)의 입력 신호들은 모두 낮은 상태이고, OR 게이트(448)는 낮은 출력 신호를 제로 복귀 보수 라인(770)에 그리고 NAND 게이트(449)의 제2입력 단자에 발생한다. 이러한 NAND 게이트(449)의 낮은 입력 신호는 태그 1 보수 라인(767)의 신호가 낮은 상태로 되었을 때 위에 설명한 것들과 동일한 신호의 순서를 발생한다.
그러므로, RTZ 명령에 응답하여 마이크로프로세서(1063)는 초기화된다. 또한 제22a도와 제22b도에 나타낸 ROM 번역 회로(819)에서는 RTZ 보수 라인(770)상의 낮은 신호가 플립플롭(479, 480, 483)과 집적 회로(1038, 1039, 1040)를 클리어하는데, 집적 회로(1038, 1039, 1040)은 각기 개별 D 입력 단자들과 Q 및 Q보수 출력 단자 모두를 가진 4개의 에지 트리거 D형 플립플롭을 포함한다. 또한, RTZ 보수 라인(770)상의 낮은 신호는 NAND 게이트(482)로부터의 출력 신호를 높은 상태로 만들어 제22a도와 제22b도의 카운터(1042, 1043, 1044, 1045)를 클리어 시킨다. 따라서, 제로 복귀 명령은 마이크로프로세서(1063)가 초기화되는 점에서 탐색 명령과 유사하게 동작하고 또한 ROM 번역 회로(819)는 클리어된다.
[고차 어드레스 발생]
SMD 디스크 제어기는 탐색 명령 후 SMD 제어선의 비트 0 내지 비트 9라인과 태그 2 및 태그 3 라인을 통해 소망 헤드 및 트랙 정보를 제공하기도 한다. 종래의 하드 디스크에서는 SMD 디스크 제어기에 의해 지정된 헤드 및 트랙 정보가 하드 디스크 작동 장치의 서어브 헤드에 의해 보통 판독되는 현재 트랙 위치와 비교되고, 지정된 트랙에 가까운 헤드의 새로운 위치가 결정된다. 트랙을 판독하고 지정된 트랙을 현재 위치와 비교하고 새로운 위치로 이동하는 프로세스를 반복함으로써 하드 디스크 작동 장치는 SMD 디스크 제어기에 의해 지정된 트랙을 반복적으로 찾는다. 분명히, 만약 데이터 파일이 하드 디스크의 몇 개 트랙에 걸쳐 인터리브되어 있다면 하드디스크 작동 장치는 탐색 동작을 데이터의 세그먼트마다 반복하여야 한다. 따라서, 여러 트랙에 있는 복수 섹터로 구성된 데이터 파일을 판독하는데 있어서, 탐색 시간은 하드 디스크 작동 장치에 대해 누적된다. 디스크 모방기는 아래에 설명되겠지만 SMD 디스크 제어기에 의해 지정된 트랙을 사실상 순간적으로 찾아내고, 따라서 종래 하드디스크 작동 장치의 탐색 시간을 제거한다. 이 특징만으로도 SMD 인터페이스 규칙하에 동작하도록 설계된 하드 디스크 작동 장치의 성능에 비해 디스크 모방기의 성능은 실질적으로 형상된다.
상술한 바와 같이, SMD 디스크 제어기는 판독하고 기록할 소망 위치를 지정하는 미분 신호를 SMD 제어선의 비트 0 내지 비트 9 라인을 통해 디스크 모방기에 제공하고 이들 신호를 SMD 제어선의 태그 1 라인과 태그 2 라인상의 신호를 유효화한다(도면들에서 비트 라인과 태그 라인들을 디스크 모방기에 속한 것들이고 같은 명칭이 붙은 SMD 제어선이나 SMD 데이터선으로부터의 라인들은 접두사 J4, J5로 표시된다).
제4도, 제5도 및 제6도에 나타낸 바와 같이, 비트 또는 태그 신호들중 하나를 반송하는 SMD 디스크 제어기로부터의 각 라인쌍은 종단 저항 회로망을 통해 미분 전류 모드 수신기의 입력 단자들에 결합되는데, 미분 전류 모드 수신기는 SMD 디스크 제어기로부터의 신호에 응답하여 디스크 모방기의 해당 라인을 구동한다. 따라서 비트 0 내지 비트 9 라인(701, 703, 759∼766)은 수신기(461∼170)로부터의 기하 어드레스 신호를 발생한다.
상술한 바와 같이, 디스크를 위한 기하 어드레스 정보를 디스크 모방기의 DRAM 어레이를 위한 연속 2진 어드레스로 변환하는 데에는 2가지 방법이 있다. 첫 번째 방법에서는 디스크 제어기가 헤드, 섹터 및 실린더의 수에 대한 2진 형식으로 디스크 모방기를 어드레스 하도록 컴퓨터 운영 체제를 패치(patch)하여야 한다. 이 방법에서, 태그 1 라인과 태그 2 라인상의 신호들에 의해 유효화되는 비트 0 내지 비트 9라인들에 나타나는 정보는 연속 2진 어드레스를 기술한다. 따라서, 이 방법에서 수신기들(461 내지 470)로부터의 기하 어드레스 신호들은 DRAM 어레이를 어드레스하는데 직접 이용되는데, 이는 아래에서 더욱 상세하게 설명된다. 제2의 방법에서는, ROM 베이스 조사 테이블이 이용되어 기하학적 어드레스를 연속한 2진 어드레스로 변환한다. 이 방법은 현존하는 어떤 하드 디스크 작동 장치에 대해서도 정밀한 모방을 가능하게 해준다. SMD 규칙에서 실린더들은 12 비트의 정보로 지정되어 최대 4,096개 실린더의 어드레스를 가능하게 한다. 유사하게, 헤드 어드레스는 최대 32개의 헤드에 대하여 5비트로 지정된다. 따라서, SMD 규칙을 완전히 구현하기 위해서는 17비트의 어드레스 정보와 디스크 모방기에서 처리되어야 한다. 그러나, 헤드의 수나 실린더의 수는 다양할 수 있다. 예를 들어, DEC 모델 RMe3 디스크 작동 장치는 67.42메가 바이크의 형식화된 용량에 대해 32개의 섹터와 823개의 실린더와 5개의 헤드를 가진다. DEC RMe3을 모방하는데에는 상술한 바와 같이 디스크 모방기에 9개의 DRAM 카드가 필요하다. 더욱이 823개 실린더를 지정하는 데에는 단지 10비트가 필요하고 5개 헤드를 지정하는 데에는 3비트가 필요하다. 따라서, 이 특정 하드 디스크 작동 장치에 대하여 ROM 번역 회로(819)의 입력 어드레스 신호는 SMD 규칙에서 얻을 수 있는 완전한 17 비트가 아니라 13 비트로 구성된다. SMD 디스크 제어기에 의해 제공되는 기하 어드레스는 823개 실린더가 5개 헤드 각각에 대해 어드레스되므로 2진수가 아니다. DEC RMe3을 모방하기 위해서는 4.115(5×823)개의 고차 어드레스가 필요하다. 따라서 ROM 번역 회로(819)로부터 13 비트의 출력이 필요하다.
디스크 모방기의 ROM 번역 회로(819)(제22a도 및 제22b도)는 한쌍의 ROM(575,576), 예를 들어 131,072개의 8비트 번지지정 가능 장소를 가진 HitachiNH62301P나 그에 상당한 것으로 구현된다. 각 ROM은 제22a도에 나타낸 바와 같이 전체 SMD 실린더/헤드 버스가 수용되도록 17개의 어드레스 입력 단자를 가지고 있으며 8개의 출력 단자를 가진다.
SMD 제어기는 12비트의 실린더 어드레스 정보의 최하위 비트들을 비트 0 내지 비트 9 라인(701, 703, 759-766)(제22a도)에 제공하고 하위 실린더 어드레스 비트들을 태그 1 보수 라인(767)상의 낮은 신호로 유효화시킨다. 디스크 모방기에서 비트 0 내지 비트 9 라인(701, 703, 759∼766)상의 실린더 어드레스 신호는 태그 1 보수 라인(767)상이 유효화시키는 낮은 신호에 의해 집적 회로(1200, 1201)의 레지스터들에 기억된다.
SMD 제어기는 비트 0 내지 비트 4 라인(701, 703, 759∼766)에 헤드 어드레스 정보를 제공하고 비트 7 내지 비트 8 라인(764, 765)에 실린더 어드레스 정보의 최고차 비트 2개를 제공하는데, 이들은 모두 태그 2 보수 라인(768)상의 낮은 신호에 의해 유효화된다. 이들 신호는 집적 회로(1202)의 다른 레지스터에 기억된다. 따라서, 집적 회로(1200, 1201, 1202) 내의 레지스터 들은 SMD 제어기에 의해 제공된 전체 17비트의 기하 어드레스 정보를 래치한다. 집적 회로(1200, 1201, 1202)의 출력 단자들은 ROM(575, 576)의 입력 단자들에 연결되어 있어 각 ROM은 동시에 전체 17비트의 실린더 및 헤드 어드레스 정보를 수신한다.
ROM(575)은 17비트의 SMD 기하 어드레스 정보를 DRAM 어레이(822)를 위한 7개의 최하위 2진 고차 어드레스로 변환하는데 이용되는 검사 테이블을 포함하고 ROM(576)은 17비트 SMD 기하 어드레스 정보를 DRAM 어레이(822)를 위한 8개 최상위 비트의 2진 고차 어드레스로 변환하는데 이용되는 검사 테이블을 포함한다. ROM(575, 576)의 기억된 검사 테이블은 수동으로 발생될 수 있으나, 바람직한 실시예에서는 베이식 컴퓨터 언어(제47a, 47b, 47c도)로 쓰여진 컴퓨터 프로그램이 이용되어 ROM(575, 576)안에 프로그램된 데이터를 발생시켰다. 이 프로그램(제47a, 47b, 47c도)은 MS-DOS 버전 3.2운영 체제를 갖춘 IBM PC를 이용하여 실행된다. 더 구체적으로는 MS-DOS 버전 3.2의 해석 베이식 패키지가 IBM PC에 이용되어 베이식 컴퓨터 프로그램을 실행하였다. 제47a, 47b, 47c도에서 각 행의 좌측에 있는 숫자는 프로그램에 대한 행번호 들이고 각행의 나머지는 베이식 컴퓨터 프로그램 명령을 구성한다. 이 베이식 컴퓨터 프로그램을 이용하기 위해서는 본 발명의 디스크 모방기로 대체되는 하드 디스크 작동 장치의 실린더 수와 그 디스크 작동 장치의 헤드 수가 공급되어야 한다. 제47b에서 실린더 수는 1900행에서 822로 기입되었고 헤드 수는 1950행에서 5로 기입되어 있다. 프로그램을 바꾸려면 사용자는 1900행의 "C=" 다음에 실린더 수를 기입하고 1950행의 "H=" 다음에 헤드 수를 기입하여야 한다. 프로그램을 실행하기 위해서는 컴퓨터에 명령 "RUN 1900"을 준다. 명령 "RUN 1900"은 프로그램 실행 처리를 시작한다. 다음에 이 프로그램은 SMD 디스크 제어기로부터 ROM(575, 576)에 들어가는 다양한 어드레스 입력 신호들에 필요한 ROM 출력 신호들을 발생시킨다.
제47a, 47b, 47c도에 나타낸 베이식 컴퓨터 프로그램에 의해 발생된 출력 리스팅의 일부가 제48도에 주어져 있다. 이 프로그램은 출력행들의 쌍들(1300)을 발생시키는데, 각 쌍의 첫 번째 행에는 "어드레스" 표시가 되었고 두 번째 행에는 "내용" 표시가 되어 있다. "어드레스" 행(1301)은 SMD 디스크 제어기가 나온 ROM(575, 576)의 입력 단자상의 기하 어드레스 신호에 해당한다. 어드레스 신호들은 SMD 디스크 제어기에서 유도되므로 이들은 특성상 2진수가 아니다. 따라서 ROM(575, 576)에 대한 모든 어드레스가 이용되지는 않는다. "내용"행은 "어드레스"행에 주어진 기하 어드레스에 해당하는 DRAM 어레이(822)에 대한 2진 어드레스를 나타낸다. "내용"행의 좌측에 있는 첫 번째 8비트(1302)는 ROM(576)의 출력 신호이고 우측의 두 번째 8비트(1303)는 ROM(575)의 출력 신호이다. 또한 ROM 출력 신호들은 연속한 "어드레스" 행들에 나타낸 바와 같이 완전한 2진법으로 증가한다. 베이식 컴퓨터 프로그램을 이용하여 발생된 데이터는 ROM(575, 576)안에 프로그램되어야 한다. 베이식 컴퓨터 프로그램으로부터의 데이터를 ROM(575, 576)안에 프로그램하는 수단을 당업자에 알려져 있다.
ROM(575, 576)안에 프로그램된 검사 테이블은 SMD 디스크 제어기에서 ROM(575, 576)이 입력단자들에 나타난, 하드 디스크에 대한 기하 어드레스에 해당하는 신호를 디스크 모방기의 DRAM 어레이(822) 내의 연속한 고차 어드레스에 해당하는 ROM(575, 576)의 출력 단자들의 신호로 번역한다. 고차 어드레스의 고차 비트를 정의하는 ROM(576)의 출력 신호들은 DRAM 비트 7 내지 DRAM 비트 14 라인(857∼864)에 연결된 ROM(576)의 출력 단자들에 제공된다. 번역 ROM(576)에서 나온 DRAM 비트 9 라인(858) 내지 DRAM 비트 14 라인(864)상의 신호들은 구성 블록(J9)(제22b도)을 통해 집적 회로(1038)의 입력 단자 D0, D1, D2, D3와 D형 플립플롭(480)의 입력 단자와 D형 플립플롭(479)의 입력 단자에 각각 전송된다.
유사하게, 구성 블록(J8)은 ROM(575, 576)에서 (480)의 입력 단자와 D형 플립플롭(480)의 입력 단자와 D형 플립플롭(480)의 입력 단자에 각기 전송된다. 유사하게, 구성 블록(J8)은 ROM(575, 576)에서 나온 DRAM 비트 5 라인 DRAM 8 라인(855∼858)상의 신호들을 집적 회로(1039)의 입력 단자 D0, D1, D2, D3에 각기 전송하고 DRAM 비트 4 라인(854)상의 신호는 플립플롭(843)의 입력 단자에 전송한다. ROM(575)에서 나온 DRAM 비트 0 라인(850) 내지 DRAM 비트 3 라인(853) 상의 신호들은 집적 회로(1040)의 입력 단자 D0, D1, D2, D3에 각기 인가된다(제22a도 및 제22b도).
구성 블록 J7, J8, J9(제22b도)는 디스크 모방기의 DRAM 비트 라인들과 디스크 모방기의 번지 지정 회로 소자와의 결합을 쉽게 구성할 수 있게 해주고, 따라서 디스크 모방기를 SMD 인터페이스 규칙의 또하나의 구현에 적응시키는 수단을 제공한다. ROM(575, 576)의 출력 신호에 대하여 제22a도와 제22b도에 나타낸 한 실시예에서 최하위 비트는 DRAM 비트 0 라인(850)에 있고 최상위 비트는 DRAM 비트 14 라인(864)에 있다. 그러나 ROM(575, 576)은 ROM(575, 576)의 출력핀에 연속 2진 어드레스가 다른 순서로 나타나도록 프로그램될 수도 있다. 이러한 실시예에서 구성 블록(J7, J8, J9)은 플립플롭(483, 479 및 480)과 집적 회로(1038, 1039)의 입력 단자들에 있는 2진 어드레스를 구성하는데 이용된다.
수신기(457)(제5도)에서 태그 1 보수 라인(767)(제22b도)에 나타난 유효화 신호, 즉 낮은 신호는 높은 레벨로 복귀하고 이 신호의 낮은 상태에서 높은 상태로의 전이는 플립플롭(479, 480)과 집적 회로(1038, 1039)(제22b도)내의 플립플롭들을 클록한다. 따라서, 태그 1 보수 라인(767)상의 신호는 하위 기하 실린더 어드레스를 집적 회로(1200, 1201)에 래치할 뿐만이 아니라 ROM(575, 576)에 의해 발생된 10 최상위 비트의 연속 2진 어드레스를 플립플롭(479, 480)에 그리고 집적 회로(1038, 1039)의 플립플롭들에 래치한다. 유사하게 DRAM 비트 0 라인 내지 DRAM 비트 4 라인(850∼854) 상의 신호들은 각기, 태그 2 보수 라인(768)상의 신호가 SMD 헤드 어드레스와 SMD 고차 실린더 비트를 집적 회로(1202)에 래치한 후 높은 상태로 될 때 하나의 플립플롭에 래치된다. 그러므로, 태그 1 보수 라인(767)과 태그 2 보수 라인(768)상의 신호들은 그 신호들을 D형 플립플롭(제22b도)에 래칭함으로써, 번역된 신호들을 효과적으로 유효화된다.
ROM(575, 576)으로부터 D형 플립플롭들에 기억된 신호들은 하드디스크의 구동 기구를 효과적으로 대체한다. 래치된 신호들은 하드 디스크의 판독/기록 헤드를 소망 트랙위에 위치시키는 것과 동등하다. 따라서, 종래 하드디스크의 기계적 구동 기구, 기계적 구동 기구의 위치를 결정하는 수단 및 소망 트랙 찾는데 이용되는 반복적 절차는, 보통의 하드 디스크 작동 장치를 위한 기하 어드레스 정보에 해당하는 연속 고차 어드레스를 순간적으로 정의하는 본 발명의 ROM 병역 회로로 대체한다. 구동 기구를 제거함으로써 종래의 하드 디스크에 비하여 신뢰성이 향상되고 응답시간이 향상된다.
디스크 제어기가 2진 어드레스를 발생하도록 제어기를 수정하는 실시예에서는 ROM(575, 576)과 집적 회로(1200, 1201, 1202)는 ROM 번역 회로(819)(제22a도 및 22b도)에서 제거되고, 태그 1 보수 라인(767)과 태그 2 보수 라인(768)(제22b도)에 인버터들이 삽입되고, 비트 0 내지 비트 9 라인들의 신호가 SMD 규칙에 따라 DRAM 비트 라인들에 직접 제공된다. 이 실시예에서 ROM 번역 회로(819)의 다른 요소들은 제22a도와 22b도에 나타낸 것들과 동일하다.
그러므로, 제21도의 8051 마이크로프로세서(1063)가 고속 섹터 사이클 모드를 개시하는 온실린더 보수라인(771)의 신호를 수신하면, SMD 제어선에 의해 공급된 헤드 및 트랙 정보는 이미 연속된 고차 2진 어드레스로 변환되어 디스크 모방기가 나중에 사용하도록 래치된 상태에 있다.
[하위 어드레스 발생-섹터 어드레스]
이 디스크 모방기에서는 SMD 디스크 제어기에 의해 지정된 트랙위에 헤드를 위치시키기 위한 지연시간이 사실상 없으므로, 탐색 명령이 SMD 디스크 제어기로부터 수신되면 제21도의 8051 마이크로프로세서(1063)는 고속 사이클 섹터 모드에 들어가고 즉시 마이크로프로세서(1063)의 단자 P06에 연결된 인덱스 라인(714)에 인덱스 펄스를 발생한다. 이와 동시에 마이크로프로세서(1063)는 그 단자 P00, P01, P03, P04와 그 단자들에 각기 연결된 라인(786∼790)에다가 SMD 디스크 제어기에 의해 지정된 트랙의 제로 섹터에 해당하는 어드레스를 제공한다. 보통의 규칙은 32개 섹터가 임의의 주어진 트랙을 정의하는 것이므로, 8051 마이크로프로세서(1063)의 출력 단자 P00 내지 P04에 제공된 신호는 트랙의 각 섹터를 독특하게 정의한다.
[인덱스 펄스]
마이크로프로세서(1063)(제21도)의 단자 P06에서 나온 인덱스 라인(714)상이 인덱스 펄스는 섹터/인덱스 회로(817)(제23도)와 SMD 섹터/인덱스 회로(818)(제46도)에 전송된다. 단안정 멀티바이브레이터(454)(제46도)의 입력 단자 A에 인가되는 인덱스 신호의 하강단은 멀티바이브레이터(454)의 입력 단자 B가 플러스 전원 전압에 연결되어 있기 때문에 단안정 멀티바이브레이터(454)를 점화시킨다. 따라서, 멀티바이브레이터(454)는 그 출력 단자 Q에 연결된 SMD 인덱스 라인(773)에 신호를 발생한다. SMD 인덱스 라인(773)상의 높은 신호는 미분 전류 모드 구동 회로(471)(제7도)에 의해 SMD 제어선 라인 J5-48, J5-18에서 미분 신호로 변환된다.
섹터/인덱스 회로(817)(제23도)에서 인덱스 라인(714)의 높은 신호는 NOR 게이트(451)에 의해 반전되고 NOR 게이트(451)로부터의 낮은 출력 신호는 인버터(45)에 의해 반전된다. 인버터(452)는 높은 출력 신호로 섹터/인덱스 라인(712)을 구동하고 인버터(453)도 구동하는데 인버터(453)는 차례로 섹터/인덱스 보수 라인(711)에 낮은 신호를 발생한다. 인버터(452)로부터의 높은 신호는 단안정 멀티바이브레이터(1070)의 입력 단자 A에도 인가된다. 멀티바이브레이터(1070)의 입력 단자 B는 플러스 전원 전압에 연결된다. 그러므로 인버터(452)로부터의 높은 신호의 하강단에서 단안정 멀티바이브레이터(1070)는 단안정 멀티바이브레이터(1069)의 입력 단자 A에도 인가되는 신호를 발생하는데, 멀티바이브레이터(1069)에도 플러스 전원 전압에 연결된 입력 단자 B가 있다.
멀티바이브레이터(1070)에 의한 펄스의 개시후 약 1.5 마이크로세컨드가 됐을 때 발생하는 멀티바이브레이터(1070) 신호의 하강단에서 단안정 멀티바이브레이터(1069)는 그 출력 단자 Q에 연결된 판독 재로 라인(724)에 펄스폭 0.5∼0.7 마이크로세컨드 정도의 높은 신호를 발생한다.
판독 재로 라인(724)상의 높은 신호는 아래에 설명되는 바와 같이 각 섹터에 대해서 디스크 모방기의 초기 판독 사이클을 개시한다. 그러나, 입력 단자 A상의 신호의 하강단에서 동작하는 단안정 멀티바이브레이터(1069, 1070)는 섹터/인덱스 라인(712)과 섹터/인덱스 보수 라인(711)상의 신호들이 초기 판독 사이클의 개시 전에 디스크 모방기를 초기화하도록 판독 사이클의 개시를 지연시킨다.
섹터/인덱스 라인(712)상의 높은 신호는 기록 제어 회로(806)(제15도)의 NOR 게이트(405)(제15도)에 의해 그리고 NOR 게이트(407)에 의해 반전된다. 따라서 NOR 게이트(407)에서 나온 낮은 신호는 카운터(1027, 1028)를 클리어하고, NOR 게이트(405)에서 나온 낮은 신호는 D형 플립플롭(428)을 세트한다.
마찬가지로, 제19도의 메모리 워드 카운터 회로(807)에서 라인(712)상의 높은 신호는 NOR 게이트(497)의 제1입력 단자에 인가되고, 그로 인해 NOR 게이트(497)에서 나오는 낮은 출력 신호는 J-K 플립플롭(498)을 클리어하므로 플립플롭(497)의 출력 단자 Q에서 나온 섹터 충만 라인(757)상의 신호는 낮은 상태로 되고 플립플롭(498)의 출력 단자 Q에서 나온 섹터 충만 보수라인(758)상의 신호는 높은 상태로 된다.
제18도에 나타낸 판독 카운터 회로(810)에서 섹터/인덱스 라인(712)상의 높은 신호는 OR 게이트(415)의 출력 신호를 높은 상태로 만들고 차례로 NOR 게이트(417)의 출력 신호를 낮은 상태로 만든다. NOR 게이트(417)의 낮은 출력 신호는 카운터(1022 및 1023)를 클리어한다.
섹터/인덱스 보수 라인(711)상의 낮은 신호도 디스크 모방기의 부품들을 클리어하는데 이용된다. 제10도에 나타낸 시프트 레지스터 회로(802)에서 섹터/인덱스 보수 라인(711)상의 신호는 직접 회로(1104-1111, 1121)내의 레지스터 각각을 클리어한다. 또한, 섹터/인덱스 보수 라인(711)상의 낮은 신호는 기록 플래그 회로(811)(제24도)내의 플립플롭(584)을 클리어하고 기록 라인(709)상의 신호는 낮은 상태로 되고 기록 보수 라인(710)상의 신호는 높은 상태로 된다.
ROM 번역회로(819)(제22a도 및 제22b도)에서는 섹터/인덱스 라인(712)상의 높은 신호가 낮은 레벨로 복귀한 후 OR 게이트(485)의 출력 신호는 낮은 상태로 된다. 이 낮은 신호는 카운터(1042, 1043, 1044, 1045)를 로드한다. 카운터(1042, 1043, 1044, 1045)는 디스크 모방기 대체용 시스템에 이용되어 DRAM 어레이(822)의 내용을 SCSI 디스크에 세이브할 때 전체 DRAM 어레이(822)를 액세스 하는데 필요한 어드레스를 발생시킨다. 그러나, 디스크 모방기의 정상 동작에서 카운터(1042, 1043, 1044, 1045)는 카운터의 각 입력 단자상의 신호를 관련 출력 단자에 부착된 라인으로 그대로 통과시킨다. 따라서, 라인(712)상의 섹터/인덱스 펄스기 카운터(1042, 1043, 1044, 1045)를 로드한 후 DRAM 비트 0 내지 DRAM 비트 14 라인(850∼864)상의 신호들은 카운터(1042∼1045)를 로드한 후 DRAM 비트 0 내지 DRAM 비트 14 라인(850∼864)상의 신호들은 카운터(1042∼1045)의 출력 단자들로 전송된다.
구체적으로, 카운터(104)(제22b도)는 비트 12 라인(862)으로부터의 신호를 4 라인 내지 16 라인 디코더(1091)의 입력 단자 D로 통과시키고 카운터(1043)는 DRAM 비트 9라인(859) 내지 비트 11 라인(861)으로부터의 신호들을 각기 4라인 내지 16라인 디코더(1091)의 입력 단자 A, B, C로 통과시킨다. DRAM 비트 9 라인(859) 내지 DRAM 비트 12라인(862)상의 신호들은 디코더(1091)에 도달하기 전에 구성 블록(J7)을 거쳐간다.
카운터(1044)(제22b도)는 DRAM 비트 0 내지 DRAM 비트 3 라인(850∼853)상의 신호를 라인 J2∼26, J2∼90, J2∼25 및 J2∼89로 각기 통과시키고 이 라인들은 차례로 그 신호들을 디스크 모방기에 있는 8207 DRAM 제어기들의 입력단자 AH0, AH1, AH2, AH3에 각기 제공한다. 8207 DRAM 제어기의 입력 단자 AH4 내지 AH7 각각은 DRAM 비트 4 라인(854), DRAM 비트 5 라인(855), DRAM 비트 6 라인(856) 및 DRAM 비트 7 라인(858)에서 있는 신호들에 의해 구동되는데, 이 신호들은 카운터(1045)를 통과한다. 마찬가지로, DRAM 비트 8 라인(855)의 신호는 카운터(1043)를 통해 DRAM 제억기들의 단자 AH8에 전송된다.
따라서, 마이크로프로세서(1063)에 의해 발생된 인덱스 펄스는 SMD 디스크 제어기로부터의 탐색 명령에 응답하여 ROM 번역 회로(819)에 있는 래치들로부터의 고차 어드레스들을 DRAM 어레이(822)를 구성하는 16개의 DRAM 카드 각각에 위치된 8207 DRAM 제어기로 효과적을 통과시킨다. 4 라인 내지 16 라인 디코더(1091)(제22b도)는 DRAM 비트 9 내지 실린더 비트 12 라인(859∼862)으로부터의 신호들을 처리하고, 16개 DRAM 카드중 하나를 그 카드에 대하여 카드 선택 라인(792)에 낮은 신호를 발생함으로써 독특하게 유효화시킨다.
[초기 DRAM 카드 선택]
제26a도와 제26b도는 디스크 모방기에 이용되는 통상적인 DRAM 카드를 도시한다. 도시된 실시예에 따르면 디스크 모방기에 이러한 카드가 최대 16개 만큼 있다. 물론 본 발명이 어떤 특정수의 DRAM 카드를 이용하는 것에 제한되지는 않는다. 각각의 카드에는 제25도에 상세히 나타낸 8207 DRAM 제어기와 제27a도 내지 제27ed에 상세히 나타낸 De버퍼 회로(845)와, 카드를 디스크 모방기의 나머지 소자와 인터페이스 접속하는 접속기(도시하지 않음)와, DRAM 집적회로의 4개 뱅크(각 뱅크는 다시 4개 블록으로 나누어짐)가 있다.
뱅크의 통상적인 블록은 제28a도 내지 제28c도에 도시되어 있다. 따라서, 디코더(1091)(제22b도)의 출력 라인들의 각 하나는 16개 DRAM 카드중 하나에 위치된 DRAM 제어기 회로와 가능라인(801)(제26a도 및 제26b도)도에 연결된 카드 선택 라인(892)과 인터페이스 접속된다. 디코더(1091)의 출력 라인들중 하나에서 카드 선택 라인(792)에 제공된 높은 신호를 수신하는 15개 DRAM 카드에 대해서 제25도에 나타낸 DRAM 제어기 회로의 구동 회로(560, 561)가 억제된다. 그러므로, 이 15개 DRAM 카드에서 8207 DRAM 제어기들의 각각으로부터 구동 회로(560, 561)에 제공된 신호들은 디스크 모방기의 다른 회로들로 전송되지 않는다. 또한 De 버퍼 회로(845)에 연결된 가능 라인(801)(제27a도 내지 제27d도)상의 높은 신호는 De 버퍼 회로(845) 내의 구동 회로들(562∼573)을 억제하여 카드상의 DRAM 뱅크들을 병렬 버스(700)에서 효과적으로 제거한다.
반대로, 디코더(1091)(제22b도)로부터 16개 DRAM 카드상의 DRAM 제어기 회로에 연결된 카드 선택 라인(792)상의 낮은 신호는 구동 회로들(560, 561)(제25도)을 유효화하여 이 8207 DRAM 제어기가 디스크 모방기내의 다른 회로들과 통신을 하게한다. 마찬가지로 De 버퍼 회로(845)에 연결된 가능 라인(801)(제27a도 내지 제27d도)상의 낮은 신호는 16번째 DRAM 카드상의 DRAM 뱅크들을 병렬 버스(700)와 인터페이스 접속한다. 주의할 것은 여기서 16번째 카드라고 한것이 디스크 모방기안에 물리적으로 위치한 16번째 DRAM 카드를 의미하지 않고 디코더(1091)로의 고차 어드레스에 의해 선택된 DRAM 카드이며 따라서 다음 설명에서 말하는 DRAM 카드라는 점이다.
제25도에 도시한 디코더(1091)(제22b도)에 의해 유효화된 카드상의 8207 DRAM 제어기는 제어기의 단자 AH0 내지 AH8 그리고 AL0 내지 AL8에 있는 신호들에 따라 DRAM 내의 영역을 어드레스한다. 8207 DRAM 제어기는 제어기의 다중화 어드레스 출력 단자 AH0 내지 AH8에 적절한 신호를 발생한다. 출력 단자들 AH0 내지 AH8로부터의 신호들 각각은 DRAM 뱅크의 각 블록(제28a도 내지 제28c도)의 구동 회로와 저항을 통해 블록내의 각 DRAM 직접 회로의 어드레스 입력단자 A0∼A8 가운데 하나로 전송된다. 어드레스는 8207 DRAM 제어기로부터의 행 어드레스 스트로브 신호와 열 어드레스 스트로브 신호에 의해 래치된다.
[섹터 및 워드 어드레스 초기화]
DRAM 제어기에 의해 요청된 트랙의 위치가 이제 DRAM 어레이 내에서 완전하게 식별되지만 섹터와 섹터내의 워드들을 식별하는데 이용되는 디스크 모방기의 카운터들이 초기화되어야 한다. 메모리 워드 카운터 회로(807)(제19도)에서 NOR 게이트(495)에 의해 발생된 낮은 신호는 섹터/인덱스 라인(712)상의 높은 신호에 응답하여 카운터(1054 및 1055)를 로드하여 그것들이 64개의 펄스를 계수한 후 리세트 되게한다. 또한, 카운터(1055)의 출력단자 QA, QB에 로드된 낮은 신호들은 버퍼(502, 501)를 각각 구동하고 버퍼(502, 601)는 차례로 8207 DRAM 제어기(제25도)의 뱅크 선택 입력 단자 BS0, BS1을 각기 구동하여 256k DRAM의 0번째 뱅크는 디코더(1091)(제22b도)에 의해 선택된 DRAM 카드상에서 액세스된다.
카운터(1055)(제19도)의 출력 단자 QA로부터의 낮은 신호는 NOR 게이트(509)의 제1입력 단자에도 인가되고 인버터(505)의 입력 단자에도 인가되며, 인버터(505)는 차례로 NOR 게이트(506)의 제1입력 단자에 높은 신호를 발생한다. 따라서, 카운터(1055)의 단자 QB로부터의 낮은 신호도 수신하는 NOR 게이트(506)는 낮은 신호를 발생하여 NOR 게이트(510)의 제1입력 단자에 인가한다. 카운터(1055) 단자 QB로부터의 낮은 신호는 NOR 게이트(506)는 낮은 신호를 발생하여 NOR 게이트(510)의 제1입력단자에 인가한다. 카운터(1055) 단자 QB로부터의 낮은 신호는 NOR 게이트(509)의 제2입력 단자에도 인가되고 NOR 게이트(509)에 의해 발생된 높은 NAND 게이트(511)의 제3입력단자에 인가된다.
마찬가지로, 카운터(1054)의 출력 단자 QA, QB에서 나온 낮은 신호들은 NOR 게이트(508)의 제1 및 2입력 단자들에 각기 공급된다. 이렇게 해서 NOR 게이트(508)에서 발생된 높은 신호는 NAND 게이트(511)의 제2입력 단자와 NAND 게이트(510)의 제3입력 단자에 제공된다. NAND 게이트(511)의 제1입력 단자와 NAND 게이트(510)의 제3입력 단자에 제공된다. NAND 게이트(511)의 제1입력 단자와 NAND 게이트(510)이 제2입력 단자는, NAND 게이트(507)가 그 제1 및 제2입력단자들에 카운터(1055)의 단자 QC, QD로부터 각각 제공된 낮은 신호들에 응답하여 발생한 높은 출력 신호를 각기 수신한다.
따라서, NAND 게이트(507)와 NAND 게이트(508)로부터의 높은 출력 신호들과 NAND 게이트(506)로부터의 낮은 출력 신호를 수신하는 NAND 게이트(510)는 OR 게이트(515)의 제1입력 단자와 OR 게이트(513)의 한 입력 단자에 높은 출력 신호를 제공하는데, PR 게이트(513)는 차례로 NAND 게이트(512)의 제1입력 단자에 높은 신호를 전송한다. 높은 입력 신호에 응답하여 OR 게이트(515)는 높은 출력 신호를 발생하여 어드레스 1 검출 보수 라인(755)에 인가한다. 어드레스 1 검출 보수 라인(755)의 상이 높은 신호는 제14도에 보인 비교기 회로(815)의 데이터 싱크 비교기(1122)의 기능을 억제한다.
NOR 게이트(507, 508, 509)로부터의 높은 입력 신호들에 의해 발생된 NAND 게이트(511)(제19도)의 낮은 출력 신호는 OR 게이트(514)의 제1입력 단자로 전송되고 OR 게이트(514)는 차례로 어드레스 0 검출 보수 라인(754)에 낮은 신호를 발생하는데, 이는 기록 카운터 제로 상태 보수라인(718)으로부터 OR 게이트(514)의 제2입력 단자와 OR 게이트(515)의 제2입력 단자에 제공된 신호 역시 낮은 상태이기 때문이다. 어드레스 0 검출 보수라인(754)상의 낮은 신호는 비교기 회로(815)(제14도)의 어드레스 싱크 비교기(1123)를 유효화한다. 따라서, 메모리 워드 카운터 회로(807)(제19도)의 카운터(1054, 1055)를 마이크로프로세서(1063)(제21도)의 인덱스 펄스로 로드하는 것도 비교기 회로(815)(제14도)를 초기화한다.
NAND 게이트(511)(제19도)로부터의 낮은 출력 신호는 NAND 게이트(512)의 제2입력단자에도 인가되고 NAND 게이트(512)는 그 입력 신호들 모두가 낮은 상태이기 때문에 워드 어드레스 2∼63 보수 라인에 높은 신호를 발생한다.
섹터/인덱스 라인(712)상의 인덱스 펄스에 응답하여 NOR 게이트(495)의 낮은 출력 신호에 의해 카운터(1055)(제19도)의 출력단자 QC 및 QD와 카운터(1054)이 출력단자 QA 및 QB로 로드된 낮은 신호들은 버퍼(500, 499, 504 및 503)의 입력단자들에도 각기 인가된다. 버퍼들(500, 499, 504 및 503)은 8207 DRAM 제어기(제25도)의 입력단자 AL0, AL1, AL2 및 AL3 각각을 구동하는 낮은 출력 신호들을 발생한다. 그러므로, 로딩 카운터(1054, 1055)는 또한 8207 DRAM 제어기에 의해 발생된 하위 어드레스의 섹터내 워드들에 해당하는 하위 비트들을 섹터내의 0번째 워드로 초기화한다.
섹터/인덱스 라인(712)상이 높은 신호가 워드 카운터들(1054, 1055)(제19도)을 제로 워드 위치로 초기화한 반면 섹터/인덱스 보수 라인(711) 상의 신호는 카운터들(1052, 1053)(제19도)을 그 입력 단자들에 있는 신호들로 로드한다. 마이크로프로세서(1063(제21도))에서 나온 섹터 어드레스에 해당하는 신호들은 P00 내지 P03 라인(786∼789)을 통해 카운터(1053)의 입력 단자 A, B, C, D로 전송되고 P04 라인(790)상의 신호는 카운터(1052)의 입력 단자 A에 인가된다. 카운터들(1052, 1053)는 대체용 시스템의 부분이므로 이들은 정상 동작중에 카운터로서 유효화되지 않는다. 따라서, 섹터/인덱스 보수 라인(711)상의 신호는 P00∼P04 라인들(786∼790)의 신호들을 버퍼(491∼494 및 490)의 입력 단자들에 각기 로드하고, 이렇게 해서 버퍼(491, 492, 493 및 490)에서 나온 신호들은 8207 DRAM 제어기(제25도)의 입력 단자 AL4-AL8의 모든 신호들이 낮은 레벨로 초기화되므로 트랙의 0번째 섹터는 어드레스된다.
따라서, 마이크로프로세서(1063)(제21도)에 의해 발생된 섹터 어드레스를 가진 마이크로프로세서(1063)로부터의 인덱스 신호와 메모리 워드 카운터 회로(807)(제19도)의 카운터들의 초기화로써 SMD 디스크 제어기에 공급될 DRAM 어레이(822)의 제1워드의 어드레스의 정의는 완결된 것이다. 이것은 또한 이 디스크 모방기의 액세스 시간 이점을 증명한다. 초기 트랙은 ROM 번역 회로에 의해 사실상 순간적으로 발견되었고, 0번째 섹터의 어드레스 필드인 0번째 섹터의 0번째 워드는 SMD 제어기에 제공될 제1워드로서 즉시 식별된다. 아래에서 볼 수 있는 바와 같이, 비록 이것이 SMD 제어기가 요청한 섹터가 아니더라도 디스크 모방기는 SMD 제어기에 정확한 섹터를 종래 하드 디스크보다 최대 500배나 빠르게 제공한다.
섹터/인덱스 보수 라인(711)상의 낮은 신호는 제16도의 제1갭 카운터 회로(808)가 카운터(1013, 1014)와 제2갭 카운터 회로(809)(제16도)의 카운터(1011, 1012)를 로드한다. 앞서 설명한 바와 같이, 제1갭 카운터(808)는 어드레스 필드 이전의 바이트 수로 로드되고 제2갭 카운터(809)는 데이터 필드 이전의 바이트 수로 로드된다.
[메모리 재생 요구(memory refresh request)의 초기화]
상기 회로들의 초기화 후에 8051 마이크로프로세서(1063)(제21도)로부터의 인덱스 펄스에 의해 개시된 판독 제로 라인(724)상의 높은 신호는 단안정 멀티바이브레이터(1069)(제23도)에 의해 발생되고 판독 카운터 회로(810)(제18도)의 OR 게이트(426)를 통해 최초 판독 라인(734)으로 전송된다. 최초 판독 라인(734)은 높은 신호를 RERQ 회로(841)(제29도)의 NOR 게이트(440)의 제2입력 단자에 공급한다. 기록 제어 회로(806)(제15도)에서 나온 로드 기록 래치라인(717)은 NOR 게이트(440)(제29도)의 제1입력 단자에 낮은 신호를 공급하고, 플립플롭(442)의 출력 단자에 연결된 라인도 NOR 게이트(440)의 제3입력 단자에 낮은 신호를 제공한다. NOR 게이트(440)로부터의 낮은 출력 신호는 카운터들(1138, 1139)을 로드하여 DRAM 클록 라인(776)상의 128개 클록 펄스를 계수하게 한다.
최초 판독 라인(734)상의 높은 신호가 카운터들(1138, 1139)을 로드한 후 카운터(1138)은 DRAM 클록 라인(776)상의 각 클록 펄스를 계수하고 15개 클록펄스 후에 매번 카운터(1138)는 롤오버하고 카운터(1139)를 한 클록 펄스동안 유효화한다. 따라서 클록 라인(776) 상의 128개 클록 펄스후에 카운터(1139)는 그 출력 단자에 낮은 신호를 발생시키고, 이 낮은 신호는 D형 플립플롭(442)의 입력 단자 D에 공급된다. DRAM 클록 라인(776)상의 다음 클록 펄스는 입력 단자 D상의 낮은 신호를 플립플롭(442)으로 로드하고 플립플롭(442)은 출력 단자에 높은 신호를 발생한다. 이 높은 신호는 OR 게이트(443)를 통해 RERQ 출력 라인(778)으로 전송되고 라인 J2-71을 거쳐 8207 DRAM 제어기들의 RFRQ 입력 단자에 전송된다. 플립플롭(442)의 출력단자로부터의 높은 신호는 다시 NOR 게이트(440)의 제3입력 단자에 공급되고 NOR 게이트(440)는 낮은 신호를 발생하여 카운터(1138, 1139)를 다시 로드하고 사이클을 다시 개시한다.
따라서, 인덱스 펄스후에 RFRQ회로(841)(제29도)는 128개 클록 펄스후 매번 8207 DRAM 제어기들에 재생신호를 발생하여 제어기들이 DRAM 어레이(822)를 재생하게 한다. 이것은 디스크 모방기의 기억 매체로 이용되는 소멸성 기억 장치에 필요한 것이다. 그러나, 이 RFRQ 회로는 각 판독 또는 기록 순서의 시작에서 카운터들을 다시 로드함으로써 재생 요구가 판독 또는 기록 순서와 콘플릭트(conflict)되지 않게 해준다.
[초기 어드레스 필드의 검색]
DRAM 클록 라인(776)상의 128개 클록 펄스 이전에 판독 카운터 회로(810)(제18도)와 래치 클로/에러 검출회로(805)(제31도)는 제30a도 내지 제30k도에 나타낸 일련의 신호를 발생하는데, 이 신호들은 SMD 제어기에 의해 지정된 트랙의 0번째 섹터의 0번째 워드를 래치 회로(803)(제11도)로 로드한다. 제30도 내지 제30k도에서 주의할 것이 있는데, 수평 축은 축척에 맞게 그린 것이 아니지만, 그 도면들 각각에는 같은 축척이 이용된다.
구체적으로 설명하면, 판독 제로 라인(724)(제30a도) 상의 높은 신호는 판독 카운터 회로(810)(제18도)의 OR 게이트(426)를 통해서, 직접 회로(1144)에 있는 다시 트리거 할 수 있는 제1단안정 멀티바이브레이터의 단자 B1으로 전송된다. 다시 트리거할 수 있는 제1단안정 멀티바이브레이터의 단자 A1은 집저되어 있으므로, 집적 회로(1144)내의 제1멀티바이브레이터는 펄스폭 1200나노초 정도의 정진행 펄스를 집적 회로(1144)내의 다시 트리거할 수 있는 제2단안정 멀티바이브레이터의 입력 단자 A2로 발생시킨다. 집적 회로(1144)의 다시 트리거할 수 있는 제2단안정 멀티바이브레이터의 단자 B2는 플러스 전원 전압에 결선되어 있으므로, 이 제2멀티바이브레이터는 집적 회로(1144)내의 제1멀티바이브레이터에서 나온 펄스의 하강단에서 펄스폭 190나노초 정도의 정진행 펄스를 발생시킨다. 제2멀티바이브레이터에서 나온 펄스는 집적 회로(1144)의 제2멀티바이브레이터의 출력 단자 Q2에 연결된 판독 라인(733)(제30b도)에 인가된다.
판독 라인(733)상의 플러스 펄스는 래치 클록/에러 정정 회로(805)의 NOR 게이트(516)를 통과하고 플립플롭(517)을 클록한다. 또한, 판독 라인(733)상의 플러스 신호는 인버터(577)에 의해 낮은 신호로 바뀐다. D형 플립플롭(539)의 단자에 인가되는 인버터(577)의 낮은 출력 신호는 플립플롭(539)을 클리어한다.
그러므로, 플립플롭(539)은 출력 단자 Q에 낮은 신호를 발생하고 이 신호는 AND 게이트(541)의 제2입력 단자와 NOR 게이트(542)의 제1입력 단자에 인가된다. 플립플롭(539)은 RFRQ 라인상의 신호에 의해 클록되고 이 라인의 신호는 디스크 모방기에서의 판독 또는 기록의 기간중에 낮은 상태로 유지되므로 플립플롭(539)의 출력 신호는 판독 사이클중에 변화되지 않는데, 이는아래에 더욱 자세히 설명되어 있다. 따라서, AND 게이트(541)는 OR 게이트(543)의 제1입력 단자에 낮은 신호를 발생하고, NOR 게이트(542)에서 OR 게이트(543)의 제2입력 단자로 출력되는 신호는 판독 사이클중에 패리티 검사 라인(784)상의 신호에 의해 결정된다. 패리티 검사 라인(784)의 신호는 아래의 에러 정정 프로세서의 설명에서 설명된다.
플립플롭(517)을 클록하는 라인(733)상의 플러스 펄스 이전에 플립플롭(517)의 출력 단자 Q에 연결된 판독 B 보수 라인(746) 상의 신호는 높은 레벨로 초기화 되어 있고, 인버터(518)를 통해 플립플롭(517)의 출력 단자 Q에 결합된 판독 B 라인(745)상의 신호는 낮은 상태로 초기화되어 있는데, 이것은 제30c도와 제30d도에 각기 나타나있다. 플립플롭(517)(제31도)의 입력 단자 D에 연결된 기록 라인(709)상의 신호는 상술한 바와 같이 낮은 상태이므로 판독 라인(733)상의 펄스로 플립플롭(517)을 클록하는 것은 제30d도에 나타낸 바와 같이 판독 B 라인(745) 상의 신호를 높은 상태로 만들고 제30c도에 나타낸 바와 같이 판독 B 라인(745)상의 신호는 낮은 상태로 만든다.
판독 B 라인(746)상의 낮은 신호는 제25도의 8207 DRAM 제어기의 입력 단자에 인가되고 그 결과 8207 DRAM 제어기의 SMD 제어기에 의해 지정된 트랙의 0번째 섹터의 0번째 워드에 대한 판독 메모리 요청을 개시하는데, 이는 상술한 바와 같이 디스크 모방기가 SMD 제어기에 의해 공급된 신호들에 응답하여 0번째 섹터의 제로 워드를 어드레스하였기 때문이다. 8207 DRAM 제어기는 66비트 병렬 버스(700)에 0번째 섹터에 대한 어드레스 필드를 제공하고 DRAM 어레이(822)로부터의 라인 D(0)에 병렬 버스 내의 67번째 비트인, 그 어드레스에 대해 기억된 패리티 비트를 제공한다.
기록 라인(709)상의 신호는 낮은 상태이므로, 멀티 플렉서(125)(제13도)는 판독 B 보수 라인(746)을 데이터 가능 라인(751)에 연결하고, 플러스 전원 전압을 시프트 레지스터 출력 제어 라인(740)에 연결하고, 클록 제로 라인(728)을 시프트 레지스트 클록 라인(739)에 연결하고, 판독 B 라인(745)을 래치 출력 가능(742)에 연결한다. 시프트 레지스터 출력 제어 라인(740) 상의 플러스 전원 전압은 디스크 모방기의 판독 동작중에 시프트 레지스터(802)의 각 레지스터에 있는 병렬 출력 단자의 기능을 억제한다.
판독 B 라인(745)에서 래치 출력 가능 라인(742)으로 제공된 높은 신호는 래치 회로(803)(제11도)에 있는 각 레지스터의 출력 단자를 3 상태로 만들고, 판독 B 보수 라인(746)에서 데이터 가능 라인(751)으로 제공된 낮은 신호는 DRAM 어레이(822)에 있는 DRAM 직접 회로들의 입력 단자를 3 상태로 만든다. 따라서, 8207 DRAM 제어가 어드레스된 워드를 66 비트 병렬 버스로 로드하면, 그 워드는 패리티 회로(804)(제12도)에 그리고 래치회로(803)(제11도)의 입력 단자들에 나타난다.
패리티 회로(804)(제12도)는 66 비트 병렬 버스(700)에 연결되어 있으므로, 즉 병렬 버스(700)의 라인 D(66)-D(59)는 집적 회로(1094)의 제1의 8 입력 단자 A-H에 각기 연결되고, 라인 D(58)-D(51)는 제2집적회로(1095)의 제1의 8 입력 단자 A-H에 연결되고, 직접 회로들(1096∼1101)은 마찬가지로 병렬 버스(700)에 연결되고, 집적 회로(1102)의 입력 단자 A, B에는 라인 D(1), (2)가 연결되고, 이용되지 않는 집적 회로(1094∼1102)상의 입력 단자 또는 단자들은 집지되어 있으므로, 어드레스 필드가 버스(700)로 로드될 때 패리티 회로(804)는 그 워드에 대한 새로운 패리티 비트를 그것이 DRAM 어레이(822)에서 검색될 때 발생하는데, 이는 또 집적 회로(1094∼1101)의 각각에서 나온 홀수 출력 단자가 집적 회로(1103)의 입력 단자에 연결되어 있고 집적 회로(1103)의 짝수 출력 단자가 배타적 OR 게이트(302)(제11도)의 제1입력 단자에 연결되어 있기 때문이다. 따라서, 집적 회로(1103)는 버스(700)상의 워드에 해당하는 새로운 패리티 비트를 배타적 OR 게이트(302)의 제1입력 단자에 제공한다. 기억된 패리티 비트는 라인 D(0), 즉 병렬 버스의 67번째 라인을 통해 배타적 OR 게이트(302)의 제2입력 단자에 제공한다.
이 예에 대해서 어드레스 필드에 에러가 발생하지 않았고 따라서 배타적 OR 게이트(302)(제11도)의 입력단자들의 패리티 비트들이 동일하다고 가정한다. 따라서, 배타적 OR 게이트(302)에서 패리티 검사 라인(784)에 출력된 신호는 논리값 0이다. 따라서, 래치 클록/에러 검출 회로(805)(제31도)에 있는 NOR 게이트(542)의 입력 신호는 변화되지 않고 8207 DRAM 제어기에 연결된 에러 보수 라인(783) 상의 신호는 변하지 않는다. 따라서, 8207 DRAM 제어기는 정상 판독/기록 사이클을 실행한다. 판독 에러가 검출되었을 때의 디스크 모방기의 동작은 이후에 설명된다.
판독 B 보수 라인(746) 상의 낮은 신호 역시 RFRQ 회로(841)(제29도)에 있는 NAND 게이트(441)의 출력 신호는 높은 상태로 만든다. NAND 게이트(441)로부터의 높은 신호는 로드 신호를 카운터(1136)로 이동시킨다. 따라서, 카운터(1136)는 계수를 시작하고 DRAM 클록 라인(776)상의 4개 클록 펄스후에 카운터(1136)는 롤오버하고 높은 신호를 발생시켜 OR 게이트(443)를 통해 RFRQ 출력 라인(778)으로 전송하다. 그러나, 정상 판독에서는 아래에 설명되는 바와 같이 판독 B 보수 라인(746)상의 신호가 DRAM 클록 라인(776)상의 4개 클록 펄스 이전에 높은 상태로 되고 판독 B 보수 라인(746)상의 높은 신호는 카운터(1136)를 로드 상태로 유지시킨다. 따라서, 카운터(1136)의 롤 오버는 꼼짝 못하게 된 판독 명령(stuck read command)을 제거하는 데에만 이용된다.
정상 판독 사이클에서 8207 DRAM 제어기는 판독을 완료하고 XACKB 보수 라인(779)상의 신호를 낮은 상태로 세트한다(제30e도). XACKB 보수 라인(779)상의 낮은 신호는 AND 게이트(533)(제31도)의 출력 신호를 낮은 상태로 만든다. AND 게이트(533)의 낮은 출력 신호는 NOR 게이트(530)의 제1입력 신호가 된다. NOR 게이트(530)의 제2입력 신호는 DRAM 클록 보수 라인(777)에 의해 제공된다. 따라서, NOR 게이트(530)는 DRAM 클록 보수 라인(777)상의 신호가 낮은 상태로 될 때 높은 출력 신호를 발생한다. NOR 게이트(530)의 높은 출력 신호는 NOR 게이트(519)의 출력 신호를 낮은 상태로 만든다. NOR 게이트(519)의 낮은 출력 신호는 플립플롭(517)을 사전설정한다. 따라서, 플립플롭(517)의 출력 신호는 상술한 바와 같이 판독 B 라인(746)상의 신호가 높은 상태로 되게 하고(제30c도) 판독 B 라인(745)상의 신호가 낮은 상태로 되게 한다(제30d도). 래치 출력 가능 라인(742)(제30도)에 연결된 판독 B 라인(745)상의 낮은 신호는 멀티플렉서(1125)(제13도)를 통해 래치 회로(803)(제11도)의 병렬 출력 단자들을 유효화시킨다.
또한 AND 게이트(533)의 낮은 출력 신호는 8207 DRAM 제어기로부터의 XACKB 보수 라인(779)상의 낮은 신호에 응답하여 NAND 게이트(529)의 낮은 출력 신호를 높은 상태로 만든다. NAND 게이트(529)로부터의 높은 신호는 OR 게이트(527)를 통해 래치 클록 라인(743)으로 전송된다. 래치 클록 라인(743)(제30g도)상의 높은 신호는 66비트 병렬 버스(700)상의 어드레스 필드를 집적 회로(1112∼1120)(제11도)의 래치들에 포획하는데, 이는 병렬 버스(700)의 라인 D(59)-D(66)의 각각이 IC(1112)를 구성하는 8비트 레지스터의 한 단(段)의 입력 단자 D와 출력 단자 Q에 연결디고 병렬 버스(700)의 라인 D(51)-D(58)의 각각이 IC(1113)을 구성하는 8비트 레지스터들의 한 단의 입력 단자 D와 출력 단자 Q에 연결되고 버스(700)의 라인 D(3)-D(50)이 같은 식으로 집적 회로(1114∼1119)에 연결되고 라인 D(1)-D(2)가 집적 회로(1120)를 구성하는 8비트 레지스터의 한 단에 각기 연결되기 때문이다. 라인 D(0)상의 기억된 패리티 비트는 집적 회로(1120)(제11도)의 래치에 포획된다.
따라서, 8051 마이크로프로세서(1063)(제21도)가 SMD 디스크 제어기로부터 탐색 신호를 받았을 때 고속섹터 모드에 들어가고 인덱스 펄스를 발생한다. 8051 마이크로프로세서(1063)로부터의 인덱스 펄스와 섹터 어드레스 데이터는 SMD 제어기에 의해 지정된 트랙에 대한 0번째 섹터의 0번째 워드를 효과적으로 어드레스하고 디스크 모방기의 여러 회로들에 있는 카운터와 래치들을 리세트하고 로드한다. 따라서, 일련의 신호가 발생되어 SMD 제어기에 의해 지정된 트랙의 0번째 섹터에 대한 어드레스 필드와 기억된 패리트 비트를 래치 회로(803)로 로드한다. 리세트, 어드레스 및 로드 동작들이 순차적으로 설명되었으나 실시간으로 이들은 동시에 발생하고 따라서 종래의 하드 디스크 작동 장치와 달리 본 발명의 디스크 모방기는 SMD 제어기로부터 탐색 명령을 수신한 후 인덱스 펄스를 발생하고 하드 디스크 작동 장치 같으면 아직도 SMD 제어기가 요청한 트랙을 찾고 있을 때 SMD 제어기로부터의 다음 명령을 기다리고 있는다.
[어드레스 필드의 판독]
SMD 제어기는 인덱스 필드를 수신한 후 판독 게이트를 표면한다. SMD 제어기는 SMD 제어선으로부터의 비트 1라인, J5-5, J5-35(제6도)에 미분 신호를 제공함으로써 판독 게이트를 표명하는데, 상기 미분 신호는 SMD 제어선으로부터의 태그 3 라인 J5-33, J5-3(제5도)의 미분 신호에 의해 유효화된다. 수신기(462)(제6도)는 라인 J5-5, J5-35의 미분 신호를 비트 1 라인(703)의 높은 신호로 변환하고 마찬가지로 제5도의 수신기(459)는 라인 J5-5, J5-33의 미분 신호로부터 태그 3 보수 라인(702)상의 낮은 신호를 발생한다.
판독/기록 게이트 회로(812)(제33도)에서 비트 1 라인(703)상의 높은 신호는 인버터(437)에 의해 반전되고 인버터(437)로부터의 낮은 출력 신호는 NOR 게이트(438)의 제1입력 단자에 인가된다. 태그 3 보수 라인(702)상의 낮은 신호는 NOR 게이트(438)의 제2입력 단자에 인가되고 NOR 게이트(438)는 판독 게이트 라인(706)에 높은 신호를 발생한다. 또한 NOR 게이트(438)로부터의 높은 신호는 OR 게이트(439)를 통해 판독/기록 게이트 라인(705)을 구동한다.
판독/기록 게이트 회로(812)의 비트 0 라인(701)상의 신호는 판독 게이트가 표명될 때 낮은 상태이다. 따라서, 비트 0 라인(701)상의 낮은 신호는 인버터(435)에 의해 높은 신호로 변환되고 NOR 게이트(436)의 제1입력 단자에 인가된다. 태그 3 보수 라인(702)상의 낮은 신호는 NOR 게이트(436)의 제2입력 단자에 인가되고 따라서 NOR 게이트(436)에서 기록 게이트 라인(704)에 출력된 신호는 낮은 상태이다.
기록 게이트 라인(704)상의 낮은 신호는 OR 게이트(585)를 통해 기록 플래그 회로(811)(제24도)에 있는 J-K 플립플롭(584)의 입력 단자 J에 인가되는데, 이는 OR 게이트(585)의 제2입력 신호인 SCSI 판독/기록 기능라인(707)상의 신호가 디스크 모방기의 정상 동작 중에 항상 낮은 상태이기 때문이다. 그러므로, J-K 플립플롭(584)에 연결된 클록 1 라인(708)상의 다음 클록 펄스에서, 플립플롭(584)의 단자 Q의 출력 신호는 기록 플래그 회로(811)의 기록 출력라인(709)상의 신호를 낮은 상태로 만들고 플립플롭(584)는 단자 Q의 출력 신호는 기록 보수 라인(710)상의 신호를 높은 상태로 만든다.
기록 보수 라인(710)상의 높은 신호는 기록 제어 회로(806)(제15도)에 있는 NOR 게이트(400)에 의해 낮은 신호로 변환되고 이 낮은 신호는 J-K 플립플롭(432)의 단자에 인가된다. 그러므로, 낮은 신호 레벨이 J-K 플립플롭(432)의 출력단자 Q에 발생된다. 이 J-K 플립플롭(432)의 낮은 출력 신호는 NOR 게이트(402)의 제1입력 신호가 된다. OR 게이트(403)의 출력 신호가 NOR 게이트(403)에 제2입력 신호가 된다. OR 게이트(403)의 제1입력 신호는 카운터(1028)의 단자 QD에서 나오고 제2입력 신호는 카운터(1027)의 단자 QA에서 나온다. 카운터(1027, 1028)의 출력 신호들은 양 카운터를 클리어한 섹터/인덱스 라인(712)상의 인덱스 신호에 의해 낮은 레벨로 세트되었다. 따라서, OR 게이트(403)의 출력 신호는 낮은 상태이고 그리하여 NOR 게이트(402)의 양 입력 신호들은 낮은 상태이다. 이렇게 해서 NOR 게이트(402)에서 출력된 높은 신호는 NOR 게이트(407)의 출력 신호를 낮은 상태로 만들고 그럼으로써 카운터(1027, 1028)를 클리어모드로 유지시킨다. 그러므로, 기록 제어 회로(806)에 연결된 기록 보수 라인(710)상의 높은 신호는 기록 제어 회로(806)(제15도)의 동작을 효과적으로 억제한다.
제13도의 멀티플렉서(1125)의 단자의 인버터에 연결된 기록라인(709)상의 낮은 신호는 상술한 바와 같이 시프트 레지스터(802)와 래치회로(803)를 위한 판독제어 신호들인 멀티플렉서(1125)의 입력 단자 A1∼A4상의 신호들을 선택한다. 이들 신호의 발생과 순서는 아래에 설명된다.
기록 라인(709)의 낮은 신호는 판독 카운터 회로(810)(제18도)에 있는 OR 게이트(415)의 제1입력 단자에 인가된다. OR 게이트(415)의 제2입력 단자는 섹터/인덱스 라인(712)에 연결되어 있으므로, OR 게이트(415)의 출력 신호는 낮은 상태이다. 이 출력 신호는 NOR 게이트(417)의 제1입력 단자에 인가되고 따라서, NOR 게이트(417)의 제2입력 단자는 NOR 게이트(417)의 출력 신호의 레벨을 결정한다.
그러므로, 판독 카운터(1022, 1023)(제18도)는 기록 라인(709)의 낮은 신호에 의해 오프 상태로 유지되지 않는다. 그러나, 카운터(1022, 1023)는 여전히 억제된다. 처음에 메모리 워드 카운터(807)(제19도)에 있는 J-K 플립플롭(498)의 출력 단자에서 NAND 게이트(409)(제18도)의 제1입력 단자로 이어진 섹터 충만 게이트(758)상의 신호는 높은 상태인데, 이는 상술한 바와 같이 인덱스 펄스가 플립플롭(498)을 클리어하였기 때문이다. NAND 게이트(409)(제18도)의 제2입력 단자로 연결된 판독 카운터 가능 워드 2∼63 라인(719)상의 신호는 낮은 상태인데, 이는 판독 카운터 가능 워드 2∼63라인(719)이 카운터(1012)(제16도)의 출력 단자 QD에 연결되어 있고 섹터/인덱스 보수 라인(711)상의 신호가 마이크로프로세서(1063)의 인덱스 펄스에 응답하여 카운터(1012)의 출력 단자 QD에 낮은 신호를 로드하였기 때문이다. 따라서, NAND 게이트(409)는 NAND 게이트(410)(제18도)의 제1입력 단자를 높은 상태로 만드는 높은 출력 신호를 발생한다. 카운터(1012)(제16도)의 리플 캐리 출력 단자의 높은 신호는 NAND 게이트(410)의 제2입력 단자를 구동하고 카운터(1014)(제16도)의 리플 캐리 출력 단자의 높은 신호는 NAND 게이트(410)의 제3입력 단자를 구동한다. 따라서, NAND 게이트(410)는 낮은 출력 신호를 발생하고 이 신호는 차례로 NAND 게이트(410)의 출력 신호를 높은 상태로 만든다.
NAND 게이트(411)의 높은 출력 신호는 D형 플립플롭(418)의 입력 단자 D에 인가된다. 따라서, 플립플롭(418)의 클록 단자 CLK에 연결된 클로 제로 라인(728)상의 클록 신호는 플립플롭(418)의 출력 단자에 낮은 신호를 발생시킨다. 이 낮은 신호는 NOR 게이트(416)에 의해 반전되는데, 이는 제2입력 신호, 즉 NOR 게이트(416)에 연결된 아래에 설명되는 OR 게이트(421)의 출력 신호도 낮은 상태이기 때문이다. NOR 게이트(416)의 높은 출력 신호는 NOR 게이트(417)의 입력 단자에 인가되고, NOR 게이트(417)는 차례로 카운터(1022, 1023)를 클리어 모드에 유지시키는 낮은 신호를 발생한다. 그러므로, 기록 신호가 카운터(1022, 1023)를 억제하지 않더라도 플립플롭(418)의 입력 단자 D에 인가되는 높은 신호가 카운터를 억제하고 이 신호는 갭 카운터들 중 하나가 롤오버할때까지 변화되지 않는다.
카운터(1022, 1023)(제18도)는 클리어 모드에 있으므로 카운터(1022)의 출력 단자 QA의 신호와 카운터(1023)의 출력 단자 QD의 신호는 모두 낮은 상태이다. 카운터(1022)의 출력 단자 QA의 낮은 신호는 OR 게이트(421)의 제1입력 신호가 되고 카운터(1023)의 단자 QD의 낮은 신호는 OR 게이트(421)의 제2입력 신호가 된다. 따라서, OR 게이트(421)는 낮은 출력 신호를 발생하고 이 신호는 J-K 플립플롭(424)의 입력 단자 J와 입력단자모두로 전송되는데, J-K 플립플롭(424) 역시 클록 제로에 의해 클록된다. OR 게이트(421)는 낮은 출력 신호 역시 D형 플립플롭(424)을 클리어 모드로 유지시킨다. 클록 제어 라인(728)에 다음 클록 펄스가 나타나면 J-K 플립플롭(424)은 NOR 게이트(419)의 제2입력 단자에 낮은 신호를 공급하는데, NOR 게이트(419)의 제1입력 단자에는 플립플롭(418)의 출력 단자의 낮은 신호가 공급된다. 따라서, NOR 게이트(419)는 J-K 플립플롭(422)의 입력 단자 J에 높은 신호를 발생한다. 카운터(1022)의 출력 단자 QA상의 낮은 신호는 인버터(427)에 의해 반전되고 이렇게 해서 된 높은 신호는 OR 게이트(420)를 거쳐 J-K 플립플롭(422)의 입력 단자로 전송된다. 따라서, J-K 플립플롭(422)은 클록 제로 라인(728)의 클록 펄스의 상승단에서 출력 단자 Q의 높은 신호를 출력 제로 라인(729)에 발생하고 출력 단자의 낮은 신호를 출력 제로 보수 라인(730)에 발생한다.
NAND 게이트(409 또는 410)의 입력 신호들 중 하나가 변화되고 그로 인하여 발생한 NAND 게이트(411) 출력 신호의 변화가 플립플롭(418)을 통해 클록될때까지, J-K 플립플롭(422)(제18도)의 출력 단자로부터의 출력 제로 보수 라인(730)의 신호는 제10도에 나타낸 AND 게이트(593)의 제1입력 단자에 낮은 신호를 제공한다. 따라서, 판독 데이터 라인(755)을 구동하는 AND 게이트(593)의 출력 신호는 시프트 레지스터(802)에서 AND 게이트(593)의 제2입력 단자로 연결된 직렬 데이터 출력 라인(738)의 신호와 무관하게 낮은 상태이다.
판독 데이터 라인(755)의 낮은 신호는 제7도에 나타낸 미분 전류 모드 구동회로(476)에 의해 SMD 디스크 제어기에 연결된 라인 J4-3, J4-16상의 미분 신호로 변환된다. AND 게이트(593)의 낮은 출력 신호에 응답하여 구동 회로(476)(제7도)에 의해 SMD 디스크 제어기에 제공된 낮은 신호는 섹터에서 어드레스 필드 이전의 정보를 나타낸다.
이것은 본 발명의 디스크 모방기의 다른 장점을 설명해준다. 디스크 모방기에는 회전하는 기억 매체도 기계적 판독/기록 헤드도 없으므로, 섹터에 특정되지 않은 정보는 디스크 모방기의 동작에 필요하지 않다. 따라서, 섹터에 특정되지 않은 정보는 DRAM 어레이(822)에 기억되지 않고, 그보다는 SMD 디스크 제어기가 디스크 모방기로부터 판독을 할때 한 스프링의 제로들로 재창조된다. 이렇게 하면 종래 하드 디스크 작동 장치에서 얻을 수 있는 것보다 디스크 모방기의 기억 매체의 이용을 더욱 효율적으로 할 수 있다.
섹터에서 어드레스 필드에 앞서 제1갭의 끝에 이르면, 카운터(1013, 1014)로 구성된 제1갭 카운터(808)(제16도)는 롤오버하고 판독 카운터 회로(808)(제18도)의 NAND 게이트(410)에 연결되고 래치 클록/에러 검출 회로(805)(제31도)의 OR 게이트(535)의 제2입력 단자에 연결된 제1갭 카운터 캐리 라인(722)상의 신호는 제30f도에 나타낸 바와 같이 낮은 상태로 된다. OR 게이트(535)의 제1입력 단자에 연결된 기록 라인(709)상의 신호는 역시 낮은 상태이므로, OR 게이트(535)(제31도)는 낮은 신호를 발생하고 이 신호는 OR 게이트(532)이 제2입력 단자에 인가된다.
인덱스 펄스에 응답하여 초기에 판독 라인(733)(제30b도) 상에 발생된 높은 신호는 NOR 게이트(537)(제31도)에 의해 반전되었고, NOR 게이트(537)의 낮은 출력 신호는 플립플롭(538)을 클리어하였다. 따라서, OR 게이트(532)의 제1입력 단자에 제공되는 출력 단자 Q의 신호는 낮은 상태이다. 그러므로, OR 게이트(532)의 두 입력 신호는 낮은 상태이고, OR 게이트(532)는 낮은 출력 신호를 발생하여 NAND 게이트(529)의 제2입력 단자에 인가한다(그런데 만약 DRAM 어레이에서 어드레스 필드를 검색하는데 있어서 에러가 검출되었다면 후에 설명되는 에러 정정 프로세스는 플립플롭(538)을 클록하여 플립플롭(538)에서 OR 게이트(538)로 출력되는 신호가 높은 상태로 되고 에러가 있는 판독의 경우에 OR 게이트(532)의 출력 신호가 높은 상태로 유지되게 한다).
OR 게이트(532)(제31도)로부터의 낮은 신호에 응답하여 NAND 게이트(529)는 높은 출력 신호를 발생한다. NAND 게이트(529)의 높은 출력 신호는 OR 게이트(527)를 통해 래치 클록 라인(743)으로 전송된다(제30g도 참조). 래치들은 원래 어드레스 필드를 반전시켰고 각 래치의 입력 단자는 그 래치의 출력 단자에 결선되어 있으므로 래치 클록 라인(743)의 신호는 어드레스 필드를 그 올바른 형태로 반전시킨다. 따라서, 래치 클록회(803)내의 어드레스 필드는 SMD 디스크 제어기에 전송될 준비가 된다.
카운터(1014)(제16도)가 자리올림할 때, 제1갭 캐리 라인(722)상의 낮은 신호 역시 NAND 게이트(제18도)의 출력 신호를 높은 상태로 만들고 이 신호는 차례로 NAND 게이트(411)의 출력 신호를 제34a도에 나타낸 바와 같이 낮은 상태로 만든다. 카운터(1014)의 롤오버, 즉 자리올림에 대한 판독 카운터 회로(810)(제18도)의 응답은 제34a도 내지 제34z도에 나타나있다. 제34a도 내지 제34z도에서 도면 좌측의 번호들은 제18도의 판독 카운터 회로(810)에 있는 같은 부호를 가진 부품들을 나타내며, "IN1"은 그 부품의 제1입력 단자이고, "IN2"는 그 부품의 제2입력 단자이고, "OUT"는 그 부품의 출력 단자이다. 괄호속의 번호는 주어진 단자와 같은 신호 레벨을 갖는 다른 단자를 나타낸다.
D형 플립플롭(418)에 연결된 클록 제로 라인(728)상의 제1클록 펄스는 카운터(1014)(제16도)가 롤오버한 후 NAND 게이트(411)(제18도)의 낮은 출력 신호를 래치하고 플립플롭(418)의 출력 단자에 높은 신호를 발생한다(제34b도). 이 높은 신호는 NOR 게이트(419)에 의해 낮은 신호로 바뀌고 (제34r, 34s 및 34t도), 이 낮은 신호는 플립플롭(422)의 입력 단자 J에 인가된다(제34u도), 그러나, 플립플롭(422)의 단자에 인가되는 신호는 높은 상태로 유지되고(제34v) 따라서 플립플롭(422)의 출력 신호들은 플립플롭(422)에 인가되는 다음 클록 펄스에서 바뀌지 않고 있는다(제34w도).
플립플롭(418)의 단자상의 높은 신호는 NOR 게이트(419)에 의해 반전되고(제34c, 제34d 및 34e도) 그로인하여 NOR 게이트(416)에서 나오는 낮은 신호는 NOR 게이트(17)에 의해 반전되는데(제38도), 이는 상술한 바와 같이 NOR 게이트(417)의 다른 입력 신호도 낮은 상태이기 때문이다. NOR 게이트(417)의 높은 출력신호는 클리어 신호를 카운터(1022, 1023)(제18도)로 이동시킨다. 따라서, 제1갭 카운터(808)(제16도)로부터의 캐리 신호후의 제1클록 펄스는 판독 카운터(1022, 1023)(제18도)를 유효화시킨다.
클록 제로 라인(728)상의 제2클록 펄스는 카운터(1014)(제16도)가 롤오버한 후 카운터(1022)(제18도)의 출력 단자 QA의 신호를 높은 상태로 만든다. 단자 QA로부터의 높은 신호는 OR 게이트(421)를 통해(제34i도) 플립플롭(424)의 입력 단자들 J,로 전송되고(34p) 클리어 신호를 플립플롭(425)으로 이동시킨다(제34y도), 또한 카운터(1022)의 단자 QA에서 출력된 높은 신호는 인버터(427)의 입력 단자에 인가되고 인버터(427)는 차례로 낮은 신호를 발생하여 OR 게이트(420)의 제2입력 단자로 인가한다(제34k도). OR 게이트(420)의 제1입력 단자(제34j도)는 카운터(1023)의 출력 단자 QD에서 나오는 낮은 신호를 수신한다. 따라서, OR 게이트(420)는 낮은 신호(제34m도)를 발생하여 카운터(1022, 1023)의 단자로, J-K 플립플롭(422)의 입력 단자(제34v도)로, 그리고 인버터(582)의 입력 단자로 인가한다.
인버터(582)는 AND 게이트(423)의 제1입력 단자에 높은 신호를 발생한다. SCSI 정지 보수라인(727)의 높은 신호는 AND 게이트(423)의 제2입력 단자에 연결되고 따라서 AND 게이트(423)는 S1 라인(741)에 높은 출력 신호(제34n도)를 발생한다. S1 라인(741)상의 높은 출력 신호는 시프트 레지스터(802)(제10도)에 있는 집적 회로(1104∼1111, 1121)의 단자 S1에 인가된다. 단자 Se와 단자 S1 모두가 높은 상태이므로, 제1갭 카운터가 롤오버한 후 세 번째 클록 펄스에서, 병렬 G6비트 버스(700)상의 라인으로부터 시프트 레지스터(802)(제10도)를 구성하는 각 래지스터의 병렬 입력 단자에 나타나는 신호는 레지스터로 로드되는데, 이는 버스(700)의 라인들 D(59)-D(66)이 집적 회로(114)의 병렬 입출력 단자들 A-H에 각기 연결되어 있고, 버스(700)의 라인들D(51)∼D(58)이 같은 식으로 집적 회로(1106∼1111, 1121)에 연결되어 있기 때문이다. 그러므로, 제1갭 카운터가 롤오버한 후 세 번째 클록 펄스에서 66비트 시프트 레지스터(802)의 각 레지스터에는 동시에 래치 회로(803)로부터 병렬 버스(700)에 제공된 66비트 워드의 한 비트가 로드되고 네 번째 클록 펄스는 어드레스 필드를 시프트 레지스터(802)의 직렬 경로를 통해 AND 게이트(593)로 자리 이동시킨다.
구체적으로, 시프트 레지스터 클록 라인(739)에 네 번째 클록 펄스가 나타났을 때 IC(1121)(제10도)의 레지스터 B내의 비트는 직렬 데이터 출력라인(738)으로 자리 이동되고 IC(1121)의 레지스터 A내의 비트는 IC(1121)의 레지스터 B로 자리이동된다. IC(1111)의 레지스터 H내의 비트는 IC(1111)의 단자 QH를 IC(1121)의 단자 SR에 연결하는 라인을 통해 IC(1121)의 레지스터 A로 자리이동되고 IC(1111)내의 가 추가 비트는 IC(1111)내에서 내부적으로 1비트 자리이동된다. IC(1110)의 레지스터 H내의 비트는 IC(1110)의 단자 QH를 IC(1111)의 단자 SR에 연결되는 라인을 통해 IC(1111)의 레지스터 A로 자리이동되고 각 비트는 IC(1110)에서 내부적으로 1비트 자리이동된다.
IC(1109) 내지 IC(1104)도 마찬가지로 연결되어 있어 IC(1109) 내지 IC(1104)내의 비트들도 라인(739)상의 네 번째 클록 펄스에 의해 한 레지스터만큼 자리이동된다.
앞에서 설명하였지만 제34도에 나타낸 바와 같이 S1 라인(741)에 높은 신호를 발생한 제2클록 펄스는 또한 J-K 플립플롭(422)의 단자에 낮은 신호를 발생하였고(제34v도) J-K 플립플롭(422)의 단자 J에 높은 신호를 발생하였다(제34u도). 따라서, 클록 제로 라인(728)에 세 번째 클록 펄스가 나타났을 때 J-K 플립플롭(422)은 토글(toggle)하고(제34w도), 출력제로 보수 라인(730)에 높은 신호를 발생한다. 어드레스 필드의 제1비트가 NAND 게이트(593)의 제2입력 단자에 나타나고, 어드레스 필드의 제1비트에 해당하는 신호가 SMD 데이터 라인 J4-3, J4-16을 구동하는 제7도의미분 전류 모드 구동회로(476)에 연결된 판독 데이터 라인(755)에 나타나는 AND 게이트(593)의 출력 신호이다.
또한, 제1갭 카운터(808)가 롤오버한 후 세 번째 클록 펄스에서, 카운터(1022, 1023)의 단자상의 신호가 낮은 상태이기 때문에 카운터(1022)(제18도)의 각 입력 단자 A, B, C, D의 낮은 신호, 카운터(1023)(제18도)의 입력 단자 A, B의 낮은 신호 및 카운터(1023)의 입력 단자 C, D의 낮은 신호는 카운터(1022, 1023)로 로드된다. 세 번째 클록 펄스는 또한 플립플롭(425)의 입력 단자 D(제34x도)의 높은 신호를 그 출력 단자 Q(제34z도)로 자리이동시킨다. 플립플롭(425)의 출력 단자 Q로부터의 높은 신호는 OR 게이트(426)의 제1입력 단자에 인가되고 OR 게이트(426)는 차례로 높은 신호를 최초 판독 라인(734)에 그리고 집적 회로(1144)내의 제1단안정 멀티바이브레이터의 입력 단자 B1에 발생한다. OR 게이트(426)로부터의 높은 신호는 판독 제로 라인(724)상의 높은 신호에 대하여 전에 설명한 것들과 동일한 멀티바이브레이터 집적 회로(1144)로부터의 일열의 신호들을 발생한다.
그러나, 집적 회로(1144)(제18도)의 제2단안정 멀티바이브레이터에 의해 DRAM 어레이(822)로부터 제2판독을 개시하는 판독 펄스를 판독 라인(733)에 발생하기 전에 DRAM 어레이로의 어드레스가 증가되는데, 이는 플립플롭(425)의 출력 단자 Q의 신호가 높은 상태로 될 때(제34z도) 플립플롭(825)(제18도)의 출력 단자에서 나오는 신호가 판독 워드 카운터 라인(732)상의 신호를 낮은 상태로 만들기 때문이다. 판독 워드 카운터 라인(732)상의 낮은 신호는 NAND 게이트(406)(제3도)로부터 카운터 클록 라인(780)에 제공된 신호를 높은 상태로 만든다.
제1갭 카운터(808)의 롤오버후 네 번째로 클록 제로 라인(728)에 나타난 클록 펄스는 카운터 클록 라인(780)상의 높은 신호를 D형 플립플롭(488)(제19도)으로 로드하고 카운터 클록 라인(780)상의 낮은 레벨로 되는데, 이는 플립플롭(425)(제18도)의 출력 단자의 신호가 높은 상태로 되기 때문이다. 이로 인하여 플립플롭(488)(제19도)의 출력 단자 Q에 나타난 높은 신호는 카운터(1055)에 에너지를 공급한다. 제1갭 카운터(808)의 롤오버후 다섯 번째로 클록 펄스는 카운터(1055)를 증가시키고 카운터 클록 라인(780)으로부터의 낮은 신호를 플립플롭(488)으로 로드하고, 플립플롭(488)은 차례로 높은 신호를 카운터(1055)의 단자 ENP에 이동시킨다. 다섯 번째 클록 펄스후에 카운터(1055)의 출력 단자 QA에 나타난 높은 신호는 8207 DRAM 제어기의 단자 BSe에 연결된 라인 J2-32상의 신호를 높은 상태로 만든다. 이는 DRAM 어레이(822)에 대한 어드레스를 섹터의 0번째 워드에서 섹터의 첫 번째 워드까지 증가시킨다.
또한, 카운터(1055)의 출력 단자 QA의 높은 신호는 인버터(505)의 출력 신호를 낮은 상태로 만들고 이는 차례로 NOR 게이트(506)의 출력 신호를 높은 상태로 만드는데, 이는 카운터(1055)(제19도)의 출력 단자 QB로부터 NOR 게이트(506)의 제2입력 단자에 제공되는 신호가 여전히 낮은 상태이기 때문이다. NOR 게이트(508, 507)로부터의 출력 신호들이 상기 레벨들에서 바뀌지 않고 있기 때문에 NOR 게이트(506)의 높은 출력 신호는 NAND 게이트(510)의 낮은 출력 신호가 높은 상태에서 낮은 상태로 전환되게 한다. NAND 게이트(510)의 낮은 출력 신호는 OR 게이트(515)의 출력 신호를 낮은 레벨로 변화시킨다. OR 게이트(515)로부터 어드레스 1 검출 보수 라인(755)에 나타난 낮은 신호는 데이터 싱크 비교기(1122)(제13도)를 유효화한다.
또한 카운터(1055)(제19도) 카운터의 단자 QA로부터 높은 신호를 NOR 게이트(509)의 출력 신호를 낮은 상태로 만들고 이는 차례로 NAND 게이트(511)의 출력 신호를 높은 상태로 만든다. NAND 게이트(511)의 높은 출력 신호는 OR 게이트(514)의 출력 신호를 높은 신호로 변화시키고 NAND 게이트(512)의 제1입력 단자로의 입력 신호를 높은 신호로 변화시킨다. OR(514)(제19도)에서 어드레스 제로 검출 보수 라인(754)에 나타난 높은 신호는 어드레스 싱크 비교기(1123)(제13도)의 기능을 억제한다. 워드 어드레스 2∼63 보수 라인(756)의 높은 신호는 카운터(1055)의 단자 QA의 높은 신호로 인하여 변화되지 않는데, 이는 NAND 게이트(512)가 여전히 하나의 높은 입력 신호와 하나의 낮은 입력 신호를 가지고 있어 높은 출력 신호를 발생하기 때문이다.
판독 신호가 집적 회로(1144)의 제2멀티바이브레이터에 의하여 발생될 때 메모리 워드 카운터회로(807)는 신호를 발생하여 8207 DRAM 제어기가 섹터내의 첫 번째 워드를 어드레스하게 하고 또한 데이터 싱크 비교기를 유효화하였다. 상술한 바와 같이 판독 펄스는 8207 DRAM 제어기에 의해 어드레스된 워드가 래치 회로(803)로 로드되게 한다. 제35도에 나타낸 바와 같이 이 신호의 순서는 래치 클록 라인(743)상의 제1신호의 시간에 걸쳐 제30도의 순서와 동일하다. 따라서 섹터내의 제1워드는 래치 회로(803)(제11도)에 기억되며 0번째 워드가 시프트 레지스터(802)(제10도)에서 완전히 이동되어 나가기전에 반전된 후 시프트 레지스터(802)(제10도)로 로드될 준비가 된다. 제1갭 카운터(808)의 롤오버후 두 번째 클록 펄스로 돌이켜보면 제18도의 플립플롭(418)의 출력 단자 Q에서 NOR 게이트(416, 419)로 제공되는 신호는 제34b도에 나타낸 바와 같이 낮은 상태로 된다. 그러나 카운터(1023)의 출력 단자 QD의 높은 신호는 OR 게이트(421)(제34도, 제34i도)를 통해 NOR 게이트(416)(제34d도)로 전송되고 NOR 게이트(416)는 차례로 낮은 출력 신호(제34e도)를 발생한다. NOR 게이트(416)의 낮은 출력 신호는 NOR 게이트(417)의 출력 신호를 높은 상태로 만든다(제34f도).
NOR 게이트(417)에서 카운터(1022)의 단자로 인가되는 높은 신호는 카운터(1023)가 롤오버할때까지 클리어 기능을 지연시킨다. 이것은 8바이트 어드레스 워드가 시프트 레지스터(802)에서 직렬로 자리 이동되어 나갈 수 있게 해주는데, 이는 아래에 설명되는 바와 같이 카운터(1022, (1023)가 롤오버한 후 2개의 클록 펄스에서 출력 제로 보수 라인(730)상의 신호가 낮은 상태로 되어 앞에서 설명한 바와 같이 디스크 모방기의 출력 신호를 낮은 상태로 만들기 때문이다.
판독 카운터 회로(810)(제18도)의 카운터(1023)는 어드레스 필드의 2개 비트가 여전히 시프트 레지스터(802)에 있을 때 롤오버하는데 이는 앞에서 설명한 바와 같이 카운터(1022, 1023)가 로드된 후에 이들이 64개의 클록 펄스를 계수하고, 롤오버하기 때문이며, 카운터(1022)는 제1비트가 시프트 레지스터(802)에서 전송되어 나올 때 계수를 시작한다.
카운터(1023)가 롤오버할 때 판독 카운터 TC 라인(781)에는 높은 신호가 발생된다(35j도). 판독 카운터 TC 라인(781)상의 높은 신호는 래치 클록/에러 검출 회로(805)(제31도)에 있는 AND 게이트(534)의 제1입력 단자로 전송된다. 클록 제로 라인(728)은 인버터(536)를 통해 AND 게이트(534)의 제2입력 단자에 결합된다. 판독 카운터 TC 라인(781) 상의 신호는 클록 제로 펄스가 낮은 상태로 될 때 높은 상태로 되므로 AND 게이트(534)의 두 입력 신호는 높은 상태이고 AND 게이트(534)의 높은 출력 신호는 AND 게이트(531)의 제1입력 단자에 인가된다. AND 게이트(531)의 제2입력 단자는 플립플롭(538)의 단자에 연결된다. 섹터의 제1워드의 판독을 개시한 판독 라인(733)상의 높은 신호 역시 NOR 게이트(537)에 인가되었고 NOR 게이트(537)는 플립플롭(538)을 클리어한 낮은 신호를 발생한다. 따라서, AND 게이트(531)의 제2입력 단자상의 신호도 높은 상태이고 AND 게이트(531)는 높은 출력 신호를 발생하고 이 신호는 OR 게이트(528, 527)를 통하여 래치 클록 라인(743)(제35e도)으로 전송된다. 앞에서 설명했지만 래치 회로(803)(제11도)내의 래치들은 데이터를 반전시켰으나 각 래치의 입력 단자는 그 출력 단자에 연결되어 있다. 따라서 래치회로(803)(제11도)에 연결된 래치 클록 라인(743)상의 이 높은 신호는 단순히 각 래치내의 데이터를 반전시키고 따라서 래치회로(803)내의 섹터의 제1워드를 제공하여 그것이 시프트 레지스터(802)(제10도)로 로드될 준비가 되게 한다.
제18도의 카운터(1022, 1023)가 롤오버할 때 카운터(1022)의 단자 QA로부터 OR 게이트(421)의 제1입력 단자에 제공되는 낮은 상태이고 카운터(1023)의 단자 QD로부터 OR 게이트(421)의 제2입력 단자에 제공되는 신호 역시 낮은 상태이다. 따라서, OR 게이트(421)는 NOR 게이트(416)에 의해 반전되는 낮은 출력신호를 발생한다. NOR 게이트(416)의 높은 출력 신호는 NOR 게이트(417)에 의해 반전되고 NOR 게이트(417)로부터의 낮은 신호는 카운터(1022, 1023)를 클리어한다. 또한, OR 게이트(421)의 낮은 출력 신호는 플립플롭(425)을 클리어하고 J-K 플립플롭(424)의 입력 단자 J,에 인가된다. 카운터(1022)의 단자 QA의 낮은 출력 신호는 인버터(427)의 출력 신호를 높은 상태로 만들고 인버터(427)의 높은 출력 신호는 OR 게이트(420)를 통해 J-K 플립플롭(422)의 입력 단자K에 전송된다.
카운터(1022, 1023)(제18도)가 롤오버한 후 클록 제로 라인(728)에 처음 나타난 클록 펄스는 J-K 플립플롭(424)의 단자 Q상의 신호를 높은 상태로 만들고 NOR 게이트(419)의 두 입력 신호가 낮은 상태로 되어 NOR 게이트(419)는 높은 신호를 J-K 플립플롭(422)의 입력 단자 J에 발생시킨다. 플립플롭(422)의 단자상의 신호는 높은 상태이므로, 카운터(1022, 1023)가 폴오버한 후 클록 제로 라인(728)에 두 번째로 나타난 클록 펄스는 출력 제로 보수 라인(730)의 출력 신호를 낮은 상태로 만들고 이는 차례로 AND 게이트(593)에서 데이터 출력 라인으로 제공된 출력 신호를 낮은 상태로 만든다.
카운터(1022, 1023)는 64개의 클록 펄스를 계수하고 디스크 모방기 출력을 억제하기 위해 클록 펄스 2개가 추가로 필요하였으므로, 완전한 66비트 어드레스 필드가 시프트 레지스터(802)에서 이동되어 나갔고 이제 디스크 모방 시스템은 어드레스 필드와 데이터 필드 사이의 갭을 모방하기 위하여 제로들을 발생시킨다.
따라서, SMD 제어기는 탐색 명령과 헤드 및 트랙 정보를 발생하였고 그에 응답하여 디스크 모방기는 사실상 순간적으로 헤드 및 트랙 정보를 DRAM 어레이를 위한 고차 어드레스로 번역하였고, 지정된 트랙이 발견되었음을 나타내는 탐색 종료 신호를 SMD 제어기로 발생하였다. 인덱스 펄스는 디스크 모방기를 초기화하였고 지정된 트랙에 대한 어드레스 필드를 래치 회로(803)로 로드하였다.
인덱스 신호를 수신하였을 때 SMD 디스크 제어기는 판독 게이트를 표명하였고 그에 응답하여 디스크 모방기는 섹터에서 어드레스 필드 앞의 갭에 대한 제로 비트들의 스프링을 SMD 제어기에 공급하였다. 그 갭의 정확한 수의 비트가 발생되었을 때 제1갭 카운터(808)의 롤오버가 지정된 트랙의 0번째 섹터에 대한 어드레스 필드를 시프트 레지스터(802)로 로드하였고 그 어드레스 필드는 직렬로 SMD 디스크 제어기로 공급되었다.
어드레스 필드가 SMD 디스크 제어기에 직렬로 공급되는 동안 디스크 모방기는 SMD 디스크 제어기에 의해 지정된 트랙의 0번째 섹터의 첫 번째 워드를 래치회로(803)에 로드하였다. 어드레스 필드가 시프트 레지스터(802)에서 이동되어 나갈 때 디스크 모방기는 다시 일련이 제로 비트를 SMD 디스크 제어기에 공급하여 어드레스 필드와 데이터 필드의 시작 사이의 갭을 나타내었다. 따라서, 이 시간까지 디스크 모방기는 탐색 시간이 상당히 향상된 것을 제외하고 하드 디스크 작동 장치와 같은 기능을 실행하였다.
[어드레스 필드에 대한 디스크 제어기의 응답]
SMD 디스크 제어기는 자신이 지정한 트랙의 제로 섹터에 대한 어드레스 필드를 수신한 후 항상 어드레스 필드의 직후에 나타나는 섹터의 기록 스플라이스 필드에서 판독 게이트를 표명 중지한다. 다음에 SMD 디스크 제어기는 다음 세가지 행동 가운데 하나를 시작한다 :
1. 이것이 판독할 섹터이면 SMD 제어기는 판독 게이트를 재표명한다.
2. 이것이 기록할 섹터이면 SMD 제어기는 기록 게이트를 표명한다.
3. 이것이 관련되지 않은 섹터이면 어느 게이트도 SMD 디스크 제어기에 의해 표명되지 않는다.
행동 1이나 2는 섹터/인덱스 신호가 디스크 모방기에 의해 SMD 제어기에 발생된지 소정 시간후에 일어난다. 제21도의 8051 마이크로프로세서(1063)는 판독/기록 게이트 라인(705)이 부착된 단자 P37을 폴하고 SMD 디스크 제어기에 의해 판독 게이트나 기록 게이트 어느 하나가 표명되었는지, 따라서 제33도에 나타낸 판독/기록 게이트 회로(812)가 판독/기록 게이트 라인(705)에 높은 신호를 발생하였는지를 결정하는데, 이는 앞에서 설명한 바와 같다.
소정시간은 카운터(105, 106)(제17도)와 8051 마이크로프로세서(1063)(제21도)에 의해 정의된다. 카운터(1015)는 클록펄스 8개가 계수될 때마다 앞에서 바이트 클록카운터(1016)에 대해 설명한 것과 유사한 방식으로 카운터(1015)의 출력 단자 QC에 연결된 라인(850)에 높은 신호를 발생하지만, 카운터(1015)는 카운터들(1015, 1016)에 공급되는 매 16번째 클록펄스만을 개수하도록 유효화되는데, 이는 카운터(1015)의 가능 단자가 카운터(1016)의 리플캐리 출력단자에 연결되어 있기 때문이다. 따라서, 카운터(1015)는 16바이트마다 라인(850)에 클록펄스를 발생하는데 여기서 1비트는 클록제로라인(728)상의 클록펄스 하나이다.
라인(850)상의 높은 신호는 마이크로프로세서(1063)(제21도)의 입력핀 P35에 인가된다. 소정시간은 라인(850)상의 신호의 펄스폭으로 정의된다. 마이크로프로세서(1063)는 핀 P35의 신호를 모니터하고 소정시간의 끝은 핀 P35의 높은 신호가 낮은 상태로 될 때 검출한다. 예를 들어, 소정시간 10마이크로세컨드가 이용되지만, 실제시간은 클록 제로 라인(728)상의 신호와 일치하는 SMD 디스크 제어기의 클록 주파수와 8051 마이크로프로세서(1063)의 응답특성에 따라 결정된다.
[고속섹터사이클의 계속]
8051 마이크로프로세서(1063)의 단자 P37상의 신호가 소정시간, 가령 10마이크로세컨드 이내에 높은 상태로 되지 않으면 마이크로프로세서(1063)는 계속해서 출력단자 P00-P04상의 1비트로 섹터어드레스를 증가시키고 출력단자 P05에 섹터펄스를 발생한다. 제23도의 섹터/인덱스 회로(817)는 마이크로프로세서(1063)로부터 섹터라인(713)에 제공된 섹터펄스를 수신하고 섹터/인덱스라인(712)과 판독 제로 라인(724)에 높은 신호를 발생하고, 섹터/인덱스 보수라인(711)에 낮은 신호를 발생한다. 마이크로프로세서(1063)로부터의 섹터펄스에 응답하여 펄스에 응답하여 섹터/인덱스회로(817)에 의해 발생된 신호들은 마이크로프로세서(1063)의 인덱스 펄스에 응답하여 섹터/인덱스회로(817)에 의해 발생된 신호들과 동일하다.
따라서, 인덱스 신호에 대한 디스크 모방기의 응답과 관련하여 위에서 설명한 신호의 순서는, 섹터펄스에 응답하여 디스크 모방기에 의해 동일하게 반복된다. 섹터/인덱스 라인(712)과 섹터인덱스 보수라인(714)상의 신호들은 상술한 바와 같이 카운터들과 플립플롭들을 리세트하고 같은 카운터들을 로드한다. 제1갭 카운터(808)(제16도)는 롤오버하고 SMD 디스크 제어기에 의해 지정된 트랙의 첫 번째 섹터에 대한 어드레스 필드는 샤프트 레지스터(802)로 로드되고 그후 SMD 디스크 제어기에 제공되는데, 그동안 제1섹터에 대한 제1워드가 래치회로(803)로 로드된다.
SMD 디스크 제어기가 자신이 지정한 트랙의 제1섹터에 대한 어드레스 필드를 수신한 후 판독게이트 또는 기록 게이트를 표명하지 않으면 805/마이크로프로세서(1063)는 다른 섹터펄스를 발생하고 트랙의 제2섹터에 대한 어드레스 필드는 SMD 디스크 제어기에 제공된다. 따라서, 어드레스 해더들은 소망 섹터가 발견될 때까지 SMD 디스크 제어기에 의해 소정 간격으로 판독된다. 소망 섹터가 트랙의 마지막 것, 즉 32번째 섹터이면 소정 간격이 10마이크로세컨드로 취해졌을 때 그 섹트를 찾는데 320마이크로세컨드(10마이크로세컨드×32)가 필요하다. 종래의 하드디스크는 트랙이 발견된 후 정확한 섹터를 찾는데 최대 16밀리세컨드를 필요로 하는 것이 보통이다. 그러므로, 이 드스크 모방기는 평균 회전 대기시간을 이 예에서 500의 인자로 감소시킨다.
이것은 종래의 하드 디스크에 비하여 상당한 성능의 증가를 나타내며, 디스크 모방기의 회전 대기시간은 더 이상 디스크 시스템의 응답에 있어서 제한인자가 아니다. 이제, SMD 디스크 제어기와 디스크 모방기의 성능은 SMD 디스크 제어기의 응답시간으로 한정된다. 따라서, 대기시간을 더 향상시키려면 SMD 규칙을 변경하여야 한다. 종래 SMD 호환성 하드 디스크를 능가하는 이러한 성능의 증가는 SMD 디스크 제어기에 의해 제공된 정보에 기초하여 연속 2진 어드레스를 제공하는 소멸성 메모리와 회로를 이용하여 성취되는 것이지 종래 기술에서 제안된 것과 같이 하드디스크의 속도, 하드디스크의 밀도 또는 하드디스크상의 데이터 기억 방법을 향상시켜서 되는 것은 아니다.
[데이타 필드의 판독]
SMD 제어기에 제공된 어드레스 필드가 그 제어기가 찾는 섹터와 일치할 때, 그 제어기는 SMD 디스크 제어기를 구동하는 중앙처리장치가 그 섹터에 기억된 데이터를 요청했다면 판독게이트를 표명한다. 판독게이트가 표명되면 판독/기록 게이트회로(812)(제33도)는 마이크로프로세서(1063)(제21도)의 단자 P37에 연결된 판독/기록게이트라인(705)에 높은 신호를 제공하고, 마이크로프로세서는 단자 P37를 폴하고 높은 신호를 검출하였을 때 그 동작 가운데 고속섹터 사이클 모드를 즉시 떠난다. 판독게이트가 재표명되었으므로 디스크 모방기의 상태는 위에서 디스크 인덱스 펄스 후 0번째 워드에 대한 어드레스 필드를 제공하였을 때 설명한 것과 동일하다. 따라서, 제1갭 카운터(808)는 롤오버하였고, 섹터에 대한 어드레스 필드는 SMD 디스크 제어기에 제공되었고 섹터의 제1워드는 래치회로(803)(제11도)에 들어가서 시프트 레지스터(802)(제10도)로 로드될 준비가 되고, 이제는 일련의 제로 신호가 J-K 플립플롭(422)에 의해 AND 게이트(593)(제10도)에 연결된 출력제로 보수라인(730)에 제공된다. 이들 제로 신호는 어드레스 필드와 데이터 필드의 제1워드 사이의 제2갭을 나타낸다.
이 기간 중에는 섹터/인덱스 펄스가 발생되지 않으므로 디스크 모방기의 회로들의 초기화가 없고 메모리 워드 카운터회로(807)(제19도)와 래치클록/에러검출회로(805)(제31도)는 어드레스 필드를 SMD 디스크 제어기에 공급할 때 생성된 구성으로 남아 있는데, 이는 앞에서 설명한 것과 같다. 따라서, 디스크 모방기의 회로들의 상태는 제2갭 카운터(809)(제16도)의 카운터(102)가 롤오버할 때까지 변화되지 않는다.
제2갭 카운터(809)(제16도)가 인덱스 펄스에서부터 데이터 필드의 시작까지 바이트 수를 계수하였을 때, 카운터(1012)는 출력단자에 낮은 신호를 발생하고 이 신호는 NAND 게이트(410)(제18도)의 제2입력 단자에 연결된 제2갭 카운터 캐리라인(721)상의 신호를 낮은 상태로 만든다. 그러므로, 카운터(1012)가 롤오버할 때 NAND 게이트(410)(제18도)의 출력신호는 높은 출력 신호에서 낮은 출력신호로 전환된다. 이것은 제1갭 카운터(808)가 롤오버하였을 때 발생한 신호들의 순서와 유사하다. 따라서, 제36도에 나타낸 타이밍 다이어그램은 판독카운터 회로(810)가 제1갭 카운터(808)의 롤오버로 발생된 신호와 제2갭 카운터(809)의 롤오버로 발생된 신호와를 구별하지 못하기 때문에 제34도에 나타낸 것과 유사하다.
그러나, 제1갭 카운터로부터의 롤오버신호가 제30f도와 제30g도에 나타낸 것과 같이 그리고 앞에서 설명한 것과 같이 래치회로(803)(제11도)를 클록하는데 이용되었다. 이제 제2갭 카운터(809)(제16도)의 롤오버로부터 NAND 게이트(410)(제18도)에 공급되는 입력신호는 래치회로(803)(제11도)에 제공되지 않는데, 이는 앞에서 설명한 바와 같이 어드레스 필드가 시프트 레지스터(802)에서 자리 이동되어 나가는 동안 디스크 모방기가 래치회로(803)에 데이터 필드의 제1워드를 래치하고 반전시켰고 따라서 제2갭 카운터(809)가 롤오버할 때 제1워드는 시프트 레지스터(802)로 로드할 준비가 되기 때문이다. 따라서, 래치회로(803)에 클록 펄스는 필요없다.
따라서, 제2갭 카운터(809)에 있는 카운터(1012)의 롤오버이후 클록펄스 2개가 발생하였을 때 섹터의 제1워드는 래치회로(803)에서 시프트 레지스터(802)로 로드된 후 섹터의 0번째 워드에 대하여 앞에서 설명한 바와 같이 후속 클록펄스들에서 직렬로 SMD 디스크 제어기에 공급되고, 섹터내의 제2워드는 섹터의 제1워드가 시프트 레지스터(802)에서 직렬로 자리이동되어 나가는 동안 앞에서 설명한 수단에 의해 래치회로(803)에 로드되고 반전된다.
따라서, 디스크 모방기로부터의 판독의 이 시점에서, 디스크 모방기는 섹터-특정 어드레스 필드가 디스크 모방기에 의해 기억된 섹터의 유일한 부분이었지만 SMD 디스크 제어기에 데이터 필드 이전의 완전한 섹터를 제공하였다. 제1갭과 제2갭을 나타내기 위해 디스크 모방기에 의해 발생된 제로의 스트링은 SMD 디스크 모방기에 의해 타당한 데이터로 받아들여지고 디스크 모방기는 섹터에 특정되지 않은 데이터는 필요로 하지 않으므로 제로의 발생은 디스크 모방기가 SMD 디스크 제어기와 인터페이스 접속할 수 있는 능력에 영향을 주지 않는다. 그러므로, 소멸성 메모리를 사용하는 것은 디스크 모방기의 속도를 증가시킬 뿐만 아니라 종래 하드디스크에 이용되는 기계장치와 섹터에 특정되지 않은 정보의 기억 필요성 모두를 제거할 수 있게 해준다.
디스크 모방기가 데이터 필드의 첫 번째 워드를 SMD 디스크 제어기에 제공한 후 디스크 모방기는 계속해서 데이터 필드의 워드 2에서 워드 63까지를 순차적으로 SMD 디스크 제어기에 제공하여야 한다. 따라서, 판독 카운터회로(810)에서의 신호의 순서는 제36도에 나타낸 것과 같이 계속된다. 섹터내의 제1워드가 시프트 레지스터(802)(제10도)에서 자리이동되어 나갈 때, 판독 카운터 회로(810)(제18도)는 0번째 워드가 시프트 레지스터(802)에서 이동되어 나갈때처럼 카운터(1023)의 롤오버에 의해 기능억제 되지는 않는데, 이는 플립플롭(418)의 입력신호(제36a)가 그 자식이 제1갭 카운터가 롤오버할때처럼(제34a도) 제2갭 카운터(809)(제16도)의 롤오버 이후 첫 번째 클록펄스가 나타났을 때 높은 상태로 되지는 않기 때문이다.
제2갭 카운터(809)(제16도)에 있는 카운터(1012)의 단자상의 신호가 높은 레벨로 복귀할 때 카운터(1012)의 단자 QD의 신호는 높은 상태로 되어 카운터(1011)의 단자에 인가된다. 카운터(1011)의 단자의 높은 신호는 제2갭 카운터(809)의 기능을 억제한다. 또한, 카운터(1012)의 출력단자 QD로부터의 높은 신호는 판독카운터 회로(810)(제18도)에 있는 NAND 게이트(409)의 제1입력단자에 인가된다. NAND 게이트(409)의 제2단자는 상술한 바와 같이 높은 신호를 반송하는 섹터충만 보수라인(758)에 연결되어 있으므로 NAND 게이트(409)의 출력신호는 높은 신호에서 낮은 신호로 전환된다. 따라서, NAND 게이트(410)의 제2입력단자에 연결된 제2판독 카운터 캐리라인(721)상의 높은 신호가 낮은 신호로 전환될 때 NAND 게이트(410 및 411)이 출력 신호들은 NAND 게이트(409)의 낮은 출력신호에 의해 일정하게 유지되고 플립플롭(418)의 입력단자 D에는 낮은 신호가 유지된다. 따라서, 플립플롭(418)의 출력단자의 신호는 제36a도에 나타낸 바와 같이 높은 상태로 유지된다. 플립-플롭(418)에 이러한 높은 입력 신호는 제1갭 계수기(808)의 롤오버후 판독 계수 회로의 응답을 위하여 제30도에 예시된 것보다 더 큰 차이의 타이밍 다이어그램을 형성한다. 이 차이는 카운터(1023)가 롤오버할 때에만 중요하다. 이 차이는 판독 카운터 회로(810)의 초기 응답에 영향을 주지 않는다.
판독카운터 회로(810)(제18도)의 카운터들(1022, 1023)이 롤오버하고, 카운터(1022)의 단자 QA의 신호와 카운터(1023)의 단자 QD의 신호가 낮은 상태로 될 때 이 카운터들은 자신들이 어드레스 필드의 판독시처럼 기능억제 되지는 않는다. 그보다는 제36a도 내지 제36a도의 타이밍 다이어그램에 나타낸 신호의 순서가 카운터(1022, 1023)의 롤오버 이후에 발생한다. 실제로 제36a도 내지 제36z도에 나타낸 카운터(1022, 1023)의 롤오버 이후의 신호의 순서는 섹터의 제2 내지 제63워드에 대해 반복된다.
카운터(1023)의 롤오버 이후 클록제로라인(728)에 나타난 제1클록펄스는 플립플롭(418)의 출력단자의 높은 신호(제36b도)를 변화시키지 않는데, 이는 상술한 바와 같이 플립플롭(418)의 입력단자 D의 신호(제36a도)가 낮은 상태로 유지되기 때문이다. 따라서, 플립플롭(422)의 입력단자 J에 인가된 낮은 신호는 변화되지 않는데, 이는 상술한 바와 같이 플립플롭(418)의 출력단자의 높은 신호가 NOR 게이트(419)를 통해 플립플롭(422)의 입력단자 J에 결합되어 있기 때문이다. 또한, 플립플롭(418)의 단자의 높은 신호는 NOR 게이트(416)에 의해 반전되고 이로 인한 NOR 게이트(416)의 낮은 신호는 NOR 게이트(417)에 의해 반전된다. 그러므로, NOR 게이트(417)의 높은 출력신호는 계속해서 카운터(1022, 1023)를 유효화시키고, 카운터(1023)의 롤오버 이후 클록제로라인(728)에 처음 나타난 클록펄스는 카운터(1022)의 출력단자 QA의 신호를 높은 상태로 만든다(제36g도). 단자 QA로부터의 높은 신호는 OR 게이트(421)(제36i도)를 통해 플립플롭(424)의 입력단자 J,(제36p도)로 전송되고 클리어신호를 플립플롭(425)(제36y도)으로 이동시킨다. 또한 카운터(1022)의 단자 QA의 높은 출력신호는 인버터(427)의 입력단자에 인가되고, 인버터(427)의 낮은 출력신호는 OR 게이트(420)의 제2입력단자(제36k)도에 인가된다. OR 게이트(420)의 제1입력단자는 카운터(1023)의 출력단자 QD로부터 낮은 신호를 수신한다. 따라서, OR 게이트(420)는 낮은 출력신호(제36m도)를 발생하고, 이 신호는 카운터(1022, 1023)의 단자에, J-K 플립플롭(422)의 입력단자에 그리고 인버터(582)의 입력단자에 인가된다.
인버터(582)는 AND 게이트(423)의 제1입력 단자에 높은 신호를 발생시킨다. SCSI정시 보수라인(727)의 높은 신호는 AND 게이트(423)의 제2입력단자 연결되고 따라서 AND 게이트(423)는 S1라인(741)에 높은 신호(제36n도)를 발생시킨다. S1라인(741)의 높은 신호는 집적회로(1104∼1111, 1121)(제10도)의 S1 단자에 인가되고, 단자 S0과 단자 S1 모두의 신호들은 높은 상태이므로 카운터(1023)(제18도)의 롤오버 이후의 두 번째 클록펄스에서, 래치회로(803)에서 병렬 66비트 버스(700)로 나온 제2의 워드는 제1워드의 마지막 비트가 시프트 레지스터(802)에서 자리이동되어 나갈 때 시프트 레지스터(802)에 로드된다.
앞에서 설명하였지만, 제36v도에 나타낸 바와 같이, S1라인(741)에 높은 신호를 발생한 제1클록펄스는 J-K 플립플롭(422)의 단자에 낮은 신호를 발생하기도 하였고 J-K 플립플롭(422)의 단자 J의 낮은 신호에 제36u도에 나타낸 바와 같이 변화되지 않는다. 따라서, 클록제로라인(728)에 제2클록펄스가 나타났을 때 J-K 플립플롭(422)의 출력신호는 출력단자에 대해서 제36w도에 나타낸 바와 같이 바뀌지 않고 있는다.
또한, 카운터(1023)의 롤오버 이후 두 번째 클록펄스에서, 카운터(1022)의 각 입력단자 A, B, C, D의 낮은 신호와 카운터(1023)의 입력단자들 A, B의 낮은 신호와 카운터(1023)의 입력단자들 C, D의 높은 신호는 카운터(1022, 1023)에 로드되는데, 이는 카운터(1022, 1023)의 단자 LD의 신호가 낮은 상태이기 때문이다. 제2클록펄스 역시 플립플롭(425)의 입력단자 D의 높은 신호를 그 출력단자 Q(제36z도)로 자리이동시킨다. 플립플롭(425)의 출력단자 Q에서 나온 높은 신호는 OR 게이트(426)의 제1입력 단자에 인가되고 OR 게이트(426)는 차례로 높은 신호를 최초 판독라인(734)에 그리고 집적회로(1144)의 제1단안정 멀티바이브레이터의 입력단자 B1에 발생시킨다. OR 게이트(426)의 높은 신호는 앞에서 설명한 것과 동일한 행동의 순서를 발생시킨다.
그러나, DRAM 어레이로부터 제3의 판독을 시작하도록 집적회로(1144)의 제2의 단안정 멀티바이브레이터에 의해 판독라인(733)에 판독펄스를 발생시키기 전에 DRAM 어레이로의 어드레스는 상술한 바와 같이 판독워드 카운터 라인(732)의 신호에 의해 증가된다.
그러므로, 각 워드는 판독카운터회로(810)(제18도)에 있는 플립플롭(425)에서 나오는 높은 신호가 워드 카운터 회로(807)를 1워드만큼 증가시킨 후에 판독된다. 섹터의 마지막 워드가 래치회로(803)(제11도)에 로드될 때, 메모리 워드 카운터회로(807)(제19도)의 카운터(1054)는 카운터 클록라인(780)의 높은 신호에 응답하여 출력단자 RCO에 높은 신호를 발생한다. 그러므로, AND 게이트(496)의 두 입력신호, 즉 카운터(1054)의 단자 RCO에서 나온 신호와 플립플롭(488)의 단자 Q에서 신호는 모두 높은 상태이고 J-K 플립플롭(498)의 섹터충만라인(757)에 높은 신호를 발생하고 섹터충만 보수라인(758)에 낮은 신호를 발생한다.
제18도의 판독카운터회로(810)에 있는 NAND 게이트(409)의 두 입력신호는 낮은 상태가 되어 NAND 게이트(409)의 출력신호는 높은 상태로 되고 결국 플립플롭(418)의 입력단자 D에는 높은 신호가 제공되는데 이는 앞에서 설명한 바와 같다. 따라서, 판독카운터회로(810)의 카운터(1022, 1023)가 섹터의 마지막 워드 이후에 롤오버하면, 카운터(1022, 1023)는 그들이 상술한 어드레스 필드의 끝에서 그랬던것처럼 기능억제된다.
섹터의 63번째 워드가 디스크 모방기에서 자리이동되어 나간후 판독작업은 완료된다. SMD 디스크 제어기가 디스크 모방기에서 다른 섹터를 판독하고자 하면 제어기는 다른 탐색 또는 판독게이트 신호를 발생하고 앞서의 프로세스가 반복된다. 그러므로, 본 발명의 새로운 디스크 모방기는 제어기에 나타난다. 탐색시간과 회전 대기시간은 상당히 향상되었고 DRAM 어레이의 이용은 하드디스크 작동장치에서의 디스크 공간을 이용하는 것보다 효율적이다.
[데이터 필드로의 기록]
중앙처리장치가 디스크 모방기에 데이터를 기록하고자 할 때 SMD 디스크 제어기는 처음에 앞에서 설명한 것과 같이 진행된다. 즉, SMD 제어기는 탐색 명령을 발생하고 헤드 및 트랙정보를 디스크 모방기에 공급한다. 디스크 모방기는 인덱스 펄스를 발생하고 SMD 디스크 제어기는 판독게이트를 표명한다. 디스크 모방기는 상기 고속섹터 사이클모드에 들어가서 지정된 트랙의 각 섹터에 대한 어드레스 필드를 트랙에서의 정확한 위치가 발견될때까지 공급한다. 다음, 정확한 위치가 발견된 후 SMD 제어기는 기록게이트를 표명한다. 다시, 디스크 모방기는 탐색시간을 제거하고 회전대기 시간을 실질적으로 감소시켜 디스크 모방기는 종래 하드디스크 작동장치보다 훨씬 빠르게 제어기로부터 데이터를 수신할 준비가 된다.
SMD 디스크 제어기가 기록게이트를 표명하면, 디스크 모방기는 앞에서 판독사이클에서 소망 섹터가 식별되고 판독게이트가 재표명된 후 설명한 것과 같은 구성에 있게 된다. 메모리 워드 카운터 회로(807)(제19도)는 섹터의 첫 번째 워드를 어드레스하도록 증가된다. 메모리 워드 카운터 회로(807)에서 어드레스 제로 검출 보수라인(754)으로 출력된 신호는 어드레스 싱크 비교기(1122)(제14도)의 기능을 억제하고 메모리 워드 카운터 회로(807)에서 어드레스 1검출 보수라인(755)으로 출력된 신호는 데이터 싱크 비교기(1123)(제14도)를 유효화한다. 제2갭 카운터(809)(제16도)는 섹터의 데이터 필드 이전의 바이트를 계수하고 판독카운터회로(810)는 출력제로 보수라인(730)에 제로신호를 발생하는 상태에 있다.
SMD 인터페이스에서, 기록게이트는 SMD 제어선의 태그 3 라인상의 미분신호에 의해 유효화되는 비트 0라인상의 미분신호에 의해 표명된다. 제5도의 미분 전류 모드 수신기(461)는 저항 회로망을 통해 SMD 제어기로부터의 미분비트 0라인 J5-4, J5-34에 결합된다. 수신기(461)는 비트 0라인(701)을 구동한다. 마찬가지로, 태그 3보수라인(702)은 제5도에 보인 수신기(459)와 저항 회로망을 통해 SMD 제어기 라인 J5-3, J5-33에 결합된다.
판독/기록게이트회로(812)(제33도)에서 비트 0라인(701)의 높은 신호는 인버터(435)에 의해 반전되고, 인버터(435)의 낮은 출력신호는 NOR 게이트(436)의 제1입력단자에 인가된다. 태그 3 보수라인(702)의 낮은 신호는 NOR 게이트(438)의 제2입력 단자에 인가되어 NOR 게이트(436)는 기록 게이트 라인(704)에 높은 신호를 발생하고 NOR 게이트(436)의 높은 출력신호는 판독/기록 게이트 라인(706)의 신호를 높은 상태로 만든다.
판독/기록 게이트(812)(제33도)에서 비트 1라인(703)상의 신호는 기록 게이트가 표명될 때 낮은 상태가 된다. 따라서 비트 1라인(703)상의 낮은 신호는 인버터(437)에 의해 높은 신호로 바뀌고 NOR 게이트(438)의 제1입력단자에 인가된다. 태그 3 보수라인(702)상의 낮은 신호는 NOR 게이트(438)의 제2입력 단자에 인가되고 따라서 NOR 게이트(438)에서 출력되어 판독게이트 라인(706)에 나타난 신호는 낮은 상태로 된다.
기록게이트 라인(704)상의 높은 신호는 기록플래그 회로(811)(제24도)에 있는 OR 게이트(585)를 통해 J-K 플립플롭(584)의 입력단자 J에 인가된다. 그러므로, J-K 플립플롭(584)에 연결된 클록 1라인(708)에 다음 클록펄스가 나타났을 때, 기록 플래그 회로(811)에서 기록 출력라인(709)에 나타난 신호는 높은 상태로되고 그동안 기록 보수라인(710)의 신호는 낮은 상태로 되는데, 이는 SCSI 판독/기록 가능라인(707)상의 신호는 디스크 모방기의 정상동작중에 항상 낮은 상태이기 때문이다.
기록보수라인(710)상의 낮은 신호는 기록 제어회로(806)(제15도)에 있는 NOR 게이트(400)에 의해 높은 신호로 변환되고 이 높은 신호는 J-K 플립플롭(432)의 단자에 인가된다. 이 높은 신호는 J-K 플립플롭(432)으로부터 클리어신호를 제거하고, J-K 플립플롭(432)와 그 입력단자들의 신호에 응답할 준비가 된다.
기록플래그 회로(811)(제24도)에서 기록라인(709)으로 제공된 높은 신호는 제13도의 멀티 플렉서(1125)의 선택단자에 인가된다. 그러므로, 앞에서 설명한 것과 같이 기록클록라인(750)의 신호는 시프트 레지스터 클록라인(739)을 통해 시프트 레지스터(802)(제10도)를 구성하는 집적회로(1104-1111, 1121)의 클록단자(CLK)에 인가되고; 기록 B 보수라인(748)의 신호는 래치 출력가능 라인(742)을 통해 래치회로(803)(제11도)에 있는 집적회로(1112-1120) 각각의 출력가능단자에 인가되고; 플러스 전원 전압은 데이터 가능라인(751)에 인가되고; 기록 B 라인(747)의 신호는 시프트레지스터 출력제어라인(740)에 인가된다.
앞에서 설명한 바와 같이, 기록라인(709)도 신호를 제18도의 판독 카운터회로(810)에 있는 OR 게이트(415)의 입력 단자들 가운데 하나로 공급된다. 따라서, 기록라인(709)의 높은 신호는 OR 게이트(415)를 통해 NOR 게이트(417)의 제2입력단자로 전송된다. NOR 게이트(417)는 판독카운터 회로(810)의 카운터들(1022, 1023)을 클리어 모드로 유지하는 낮은 신호를 발생한다. 따라서, 제2갭 카운터(809)가 앞에서 디스크 모방기로부터의 판독과 관련하여 설명한 것과 같이 롤 오버할 때 판독카운터(810)는 기능억제된 상태로 유지된다.
래치클록/에러검출 회로(805)(제31도)에서, 기록라인(709)의 높은 신호는 OR 게이트(535)의 제1입력단자에, NOR 게이트(537)의 제2입력 단자에, OR 게이트(544)의 제1입력단자에 그리고 D형 플립플롭(517)의 입력 단자 D에 인가된다. 기록라인(709)의 높은 신호에 응답하여 OR게이트(535)에 의해 발생된 높은 신호는 OR 게이트(532)를 통하여 NAND 게이트(529)의 제1입력단자로 전송된다. 따라서, NAND 게이트(529)의 출력신호는 NAND게이트(529)의 제2입력단자에 인가되는 AND 게이트(533)의 출력신호에 의해 결정된다. AND 게이트(533)의 출력신호는 8207 DRAN 제어기로부터의 XACKB 보수라인(799)과 8207 DRAM 제어기로부터의 판독/기록 보수라인(782) 상의 신호에 의해 결정된다.
NDR 게이트(537) (제31도)는 기록라인(709) 상의 높은 신호를 반전시키고 NOR 게이트(537)의 낮은 출력신호는 플립플롭(538)을 클리어모드로 유지시킨다. 그러므로, 플립플롭(538)의 출력단자에 연결된 OR 게이트(532)의 제2입력단자에는 낮은 신호가 인가되고 플립플롭(538)의 출력단자 Q에 연결된 AND 게이트(531)의 제2입력단자에는 높은 신호가 인가된다. 기록라인(709)의 높은 신호에 응답하여 OR 게이트(544)에 의해 에러 보수라인(783)에 발생된 높은 신호는 8207 DRAM 제어기의 에러검출기능을 억제한다.
기록게이트를 표명한 후, SMD 디스크 제어기는 디스크 모방기에 기록될 데이터를 SMD 데이터선에 공급한다. SMD 데이터선으로부터의 라인 J4-8, J4-20은 제4도에 나타낸 수신기(547)에 미분신호를 공급하고, 수신기(547)는 데이터 신호의 보수를 기록데이터 보수라인(735)에 발생시킨다.
입력 제어회로(801) (제9도 및 제10도)에서는 SMD 제어기가 기록게이트를 표명하였기 때문에 NAND 게이트(446)의 제1입력단자에 연결된 SMD/SCSI 보수라인(725)의 신호는 높은 상태이고 NAND 게이트(446)의 제2입력단자에 연결된 기록게이트라인(704) 상의 신호도 높은 상태이다. 높은 입력신호에 응답하여 NAND 게이트(446)에 의해 발생된 낮은 출력신호는 NOR 게이트 (445)의 제1입력단자에 인가되고 기록데이터 보수라인(735)상의 신호는 NOR 게이트(445)의 제2입력단자에 인가된다. 따라서, 라인(735)의 데이터 신호의 보수는 NOR 게이트(445)에 의해 반전되고 OR 게이트(444)를 통해 집적회로(1104) (제10도)의 입력단자 SR로 전송된다. 기록 클록라인(750)에 클록펄스가 나타났을 때마다 데이터의 1비트는 제10도의 집적회로들(1104-1111, 1121)로 구성된 66비트 시프트 레지스터(802)의 직렬데이터 경로를 통해 자리 이동되는데, 이는 앞에서 판독동작중 시프트 레지스터(802)에서 데이터가 이동되어나갔을 때 설명한 것과 같다.
비교기회로(815) (제13도)의 디지털 비교기(1122)는 입력단자들 P0-P7의 신호들을 8위치 DIP 스위치(291)에서 사전설정된 신호들과 비교한다. 비교기(1122)는 66비트 버스(700) 상에 위치되어있어 데이터 싱크 패턴이 검출되면 기록클록라인(750)에 2개의 클록펄스가 추가로 나타난 후 데이터 필드의 첫 번째 66비트 워드는 시프트 레지스터(802)에 있게된다. 비교기(1122)가 데이터 싱크 패턴을 검출하면, 비교기(1122)의 단자 P=Q의 인버터에 연결된 데이터 싱크 검출 보수라인(753)을 통해 기록제어회로(806) (제15도)에 있는 NAND 게이트(401)의 제2입력단자에 인가된다. NAND 게이트(401)의 제1입력단자에 연결된 어드레스 싱크 검출보수라인(752)상의 신호는 높은 상태이고, 마찬가지로 NAND 게이트(401)의 제3입력 단자에 연결된 워드 어드레스 2-63 보수라인 상의 신호도 높은 상태이다. 따라서, NAND 게이트(401)는 J-K 플립플롭(432)의 입력단자 J에 인가되는 높은 신호를 발생시킨다. 제37a도 내지 제37v도는 데이터 동기검출 보수라인(753)의 낮은 신호에 대한 기록제어회로(806) (제15도)의 응답을 도시된다.
기록제어회로의 초기화는 J-K 플립플롭(432)의 입력단자에 높은 신호를 발생하였으므로(제37f도), 데이터 싱크 패턴의 검출이후 기록클록라인(750)에 나타난 첫번째 클록펄스는 데이터의 1개 비트를 더 시프트 레지스터(802) 안으로 이동시키며 입력단자 J의 높은 신호(제37e도)를 J-K 플립플롭(432)으로 로드하고 이는 플립플롭(432)의 출력단자 Q에 나타난 신호레벨을 높은 상태(제37g도)로 만든다. J-K 플립플롭(432)의 출력단자 Q에서 나온 높은 신호는 NOR 게이트(402)의 출력신호를 낮은 상태(제37j도)로 만들어 NOR 게이트(402)의 출력신호를 높은 상태(제37m도)로 만드는데, 이는 섹터/인덱스 라인(712)에서 NOR 게이트(407)로 인가되는 제2입력신호가 낮은 상태이기 때문이다. NOR 게이트(407)의 높은 출력신호는 카운터(1027, 1028)에서 클리어 신호를 제거한다. 또한 제1클록펄스 이후 데이터 싱크 패턴은 더 이상 비교기(1122)의 입력단자들에 있지 않기 때문에 데이터 싱크 검출 보수라인(753)의 신호는 높은 상태(제37b도)로 되어 NAND 게이트(401)의 출력신호를 낮은 상태(제37d도)로 만든다.
데이터 싱크 패턴의 검출이후 기록클록라인(750)에 나타난 제2의 클록펄스는 66비트 시프트 레지스터(802)를 채우고 카운터(1027)의 출력단자 QA에 높은 신호를 발생한다. 이 높은 신호는 인버터(431)에 의해 낮은 신호로 반전되고 OR 게이트(408)의 제2입력단자에 인가된다(제37e도). 카운터(1028)의 출력단자 QD에서 OR 게이트(408)의 제1입력단자로 제공된 신호는 낮은 상태(제37r도)이기 때문에 OR 게이트(408)의 출력신호는 낮은 상태(제37t도)로 된다. OR 게이트(532)의 낮은 출력신호는 카운터(1027, 1028)의 입력단자에 인가되어 데이터싱크 패턴의 검출이후 기록클록라인(750)에 세 번째 클록펄스가 나타났을 때 카운터들(1027, 1028)은 각자의 입력단자들에 있는 신호들로 로드된다. OR 게이트(408)의 낮은 출력신호는 또한 J-K 플립플롭(432)의 입력단자에 인가되고 (제37f도) 저항(R100)과 캐패시터(C300)로 구성된 적분기를 통해 슈미트 트리거 인버터(429)의 입력 단자에도 인가된다. 인버터(429)의 높은 출력신호는 다시 트리거할 수 있는 단안정 멀티바이브레이터(1143)의 입력단자 B1에 인가된다. 멀티바이브레이터(1143)의 입력단자 A1은 접지되어 있으므로 단안정 멀티바이브레이터(113)는 로드기록 래치라인(717)에 플러스 펄스를 발생시킨다(제37u도). 인버터(430)는 멀티바이브레이터(1143)의 출력펄스를 반전시키고 인버터(430)의 출력신호는 기록라인(716)에 인가된다(제37v도).
로드기록 래치라인(717)의 높은 신호는 래치클록/에러 검출 회로(805) (제31도)에 있는 OR 게이트(528, 527)를 통해 래치클록라인(743)으로 전송된다. 따라서, 비교기(1122)에 의한 데이터 싱크 패턴의 검출후 기록클록 라인(750)에 나타난 제2클록펄스는 래치회로(803) (제11도)의 래치들을 클록하고, 시프트 레지스터(802) (제10도)로부터 66비트 병렬 버스에 나타난 데이터의 워드를 래치회로(803)에 포획한다. 그러므로, 25MHz나 그 이상으로 동작하는 디스크 모방기는 데이터 필드의 제1워드를 기억해서 다음 워드가 시프트 레지스터(802)로 로드되는 동안 메모리에 기록될 수 있게 한 것이다. 이는 고속의 동작과 DRAM 어레이(822)에 알맞은 시간 프레임내에 기록하는 것을 허용한다. 또한 이것은 섹터-특정 데이터 필드가 검출되고 처리되는 방법을 설명해 준다. SMD 디스크 제어기는 이제 데이터 필드의 나머지를 디스크 모방기에 전송하므로, 디스크 모방기는 계속해서 66번째 기록 클록펄스가 나타날 때 마다 래치회로(803)에 클록신호를 발생하고 다음 워드가 래치회로(803)에 포획되기 전에 DRAM 어레이(822)에 각 워드를 기록하여야 한다.
로드기록 래치라인(717)의 높은 신호는 제29도에 나타낸 RFRQ 회로(841)에 있는 NOR 게이트(440)의 제1입력 단자에도 인가된다. 로드기록 래치라인(717)의 높은신호는 NOR 게이트(440)의 출력신호를 낮은 상태로 만들고 상술한 바와 같이 NOR 게이트(440)의 낮은 출력신호는 카운터(1138 및 1139)를 로드한다. RFRQ 회로(841)에 있는 카운터(1138, 1139)의 응답은 이제 최초 판독라인(734)의 높은 신호가 NOR 게이트(440)의 출력 신호를 낮은 상태로 만들었을 때 설명한 것과 동일하다.
데이터 싱크 패턴의 검출이후 기록클록라인(750)에 나타난 세 번째 클록펄스는 카운터(1027, 1028)(제15도)를 로드하여 카운터(1027)의 출력단자 QA의 신호는 낮은 상태로 되고 이는 차례를 인버터(431)에서 OR 게이트(408)의 제2입력단자로 출력된 신호를 높은 상태를 만든다(제37s도). 카운터(1028)의 출력단자 QD로부터의 신호 역시 높은 상태로 되고 이 높은 신호는 OR 게이트(408)의 제1입력단자(제37r도)에 공급된다. 따라서, OR 게이트(408)의 출력신호(제37t도)는 카운터(1028)가 롤오버한 후 하나의 클록펄스가 나타날때까지 높은 상태에 남아 있는다.
제3클록펄스에 의해 카운터(1028)의 출력단자 QD에 발생된 높은 신호는 OR 게이트(403)(제37n도)에도 인가되고 OR 게이트(403)의 높은 출력신호(제37q도)는 NOR 게이트(402)의 제1입력단자에 인가된다(제37h도). J-K 플립플롭(432)으로의 세번째 클록펄스는 출력단자 Q의 신호를 낮은 상태(제37도)로 만드는데, 이는 입력단자들 J,의 신호가 모두 낮은 상태(제37e도 및 제37f도)이기 때문이다. 따라서, NOR 게이트(402)가 하나의 높은 입력신호(제37h도)와 하나의 낮은 입력신호(제37i도)를 가지므로 NOR 게이트(402)의 출력신호는 낮은 상태(제37j도)에 남아 있는다. 이 낮은 출력신호는 NOR 게이트(407)의 출력신호를 높은 레벨로 유지시켜 카운터(1027, 1028)에 대한 클리어 기능을 억제한다.
OR 게이트(403)의 높은 출력신호는 기록카운터 제로상태 보수라인(718)에 의해 메모리워드가 카운터회로(807) (제19도)에 잇는 OR 게이트(514)와 OR 게이트(515)의 입력단자에도 인가된다. 기록 카운터 제로상태 보수라인(718)상의 높은 신호는 OR 게이트(514)가 어드레스 제로검출 보수라인(754)에 높은 신호를 유지하게 하고, OR 게이트(515)가 어드레스 1 검출 보수라인(755)에 높은 신호를 유지하게 한다. 그러므로, 비교기 회로(815) (제14도)는 기능 억제된다.
카운터들(1027, 1028) (제15도)이 기록클록라인(750)의 클록펄스를 계속할 때 카운터(1028)는 출력단자 QB에 높은 신호를 발생시킨다. 그러나, 이에 앞서 디스크 모방기는 래치회로(803)에 기억된 워드를 DRAM 어레이(822)에 기록하여야 하는데, 이는 아래에서 설명하겠지만 카운터(1028)의 출력단자 QB의 높은 신호가 메모리 워드 카운터회로(807) (제19도)로 하여금 DRAM 어레이(822)에 대한 워드 어드레스를 1만큼 증가시키도록 하기 때문이다. DRAM 어레이(822)로의 기록은 라인(717)의 로드 기록 래치 신호가 낮은 상태로 될 때 개시되는데, 이는 이때에 기록라인(716)의 높은 신호가 기록 순서를 개시하기 때문이다.
높은 신호가 로드기록 래치라인(717)에 있는 기간, 즉 대략 500 나노초는 제15도에 나타낸 멀티바이브레이터(1143)의 입력단자들에 연결된 저항(R101)과 캐패시터(C331)에 의해 결정된다. 로드기록 래치라인(717)의 신호가 제로로될 때 기록라인(716)의 신호는 높은 상태로 된다. 제38a도 내지 제38j도는 워드를 래치 회로(803)에서 DRAM 어레이(822)로 기록하는 신호의 순서를 도시한다. 제38도에서 도면 좌측의 명칭과 관련번호들은 각기 같은 부호를 가진 디스크 모방기의 라인을 나타낸다. 수평축은 척도에 맞게 되어있지 않지만, 각 도면은 같은 척도를 갖는다.
기록라인(716)에서 낮은 신호로부터 높은 신호로의 전이는 기록 B회로(814) (제39도)에 있는 D형 플립플롭(522)을 클록한다. 따라서, 플립플롭(522)의 입력단자 D상의 낮은 신호는 플립플롭(552)의 출력단자 Q에 제공된다. 출력단자 Q의 낮은 신호는 기록 B 부수라인(748)상의 신호를 낮은 상태(제38c도)로 만든다. 플립플롭(552)의 출력단자 Q상의 낮은 신호는 인버터(553)의 입력단자에도 인가되고 그 결과 인버터(553)에서 나온 높은 출력신호는 기록 B라인(747) 상의 신호를 높은 상태(제38d도)로 만든다.
기록 B라인(747)의 높은 신호는 시프트 레지스터(802)에 있는 레지스터들의 출력단자들을 3상태(제38h도)로 만들고 기록 B 보수라인(748)상의 낮은 신호는 멀티플렉서(1125) (제13도)를 통해 래치 출력 가능 라인(742)으로 전송되고 래치 출력 단자들은 유효화되어 래치회로(803)의 66비트 워드가 병렬버스(700)에 나타난다(제38i도).
기록 B 보수라인(748)의 낮은 신호는 8207 DRAM 제어기의 입력단자에 인가된다. 입력단자의 낮은 신호에 응답하여 8207 DRAM 제어기는 판독/기록 보수라인(782)에 낮은 신호를 발생시킨다(제38f도). 판독/기록 보수라인(782)의 낮은 신호는 래치클록/에러 검출회로(805) (제31도)에 있는 AND 게이트(533)의 출력신호를 낮은 상태로 만든다. AND 게이트(533)의 낮은 출력신호는 NAND 게이트(529)의 출력신호를 높은 상태로 만들고 NAND 게이트(529)의 높은 출력신호는 OR 게이트(527)를 통해 래치클록라인(743)으로 전송된다(제38g도). 래치회로(803)의 출력단자들은 유호화되므로, 래치클록라인(743)의 높은 신호는 회로(803)에 있는 래치들의 출력단자들의 반전된 신호를 회로(803)에 있는 래치들의 입력단자들에 포착한다. 따라서, 래치회로(803)에 기억된 66비트 워드는 반전되어 그 워드는 이제 DRAM 어레이(822)에 기록될 준비가 된다. 8207 DRAM 제어기는 그후 앞에서 설명한 바와 같이 ROM 번역회로(819)와 메모리 워드 카운터회로(807)에서 나온 어드레스 신호들에 의해 지정된 장소에 워드를 기억한다.
그 워드가 DRAM 어레이(822)내의 지정된 장소로 기록된 후 8207 DRAM 제어기는 XACKB 보수라인(779)의 신호를 낮은 상태로 만든다. XACKB 보수라인(779)의 낮은 신호는 기록 B 회로(814) (제39도)에 있는 NOR 게이트(550)의 제1입력신호가 된다. NOR 게이트(550)의 제2입력신호는 DRAM 클록 보수라인(777)에 있다. 따라서, NOR 게이트(550)는 DRAM 클록보수라인(777)의 신호가 낮은 상태로될 때 높은 출력신호를 발생시킨다. NOR 게이트(550)의 높은 출력신호는 NOR 게이트(551)의 출력신호를 낮은 상태로 만들어 플립플롭(552)을 사전설정하고 따라서 기록 B 보수라인(748)의 신호를 높은 상태(제38c도)로 만드는데, 이는 기록 B 보수라인(748)이 플립플롭(552)의 출력단자 Q에 연결되어 있기 때문이다. 플립플롭(552)의 단자 Q의 높은 출력신호는 인버터(533)의 입력신호에도 인가되고, 이는 차례로 기록 B 라인(747)에 낮은 출력신호를 발생시킨다(제38d도).
8207 DRAM 제어기가 XACKB 보수라인(779)의 신호를 낮은 상태(제38e도)로 만들 때 AND 게이트(533) (제31도)에 연결된 판독/기록 보수라인(782)상의 신호는 이미 낮은 상태(제38f도)에 있는 것이고 따라서 래치클록 에러 검출회로(805) (제31도)에 있는 AND 게이트(533)의 출력신호는 XACKB 보수라인(779) 상이 낮은 신호에 의해 바뀌지 않고 있는다. 따라서, 클록펄스는 XACKB 보수라인(779)의 낮은 신호에 의해 래치 클록라인(743)에 발생되지 않는다. XACKB 보수라인(779)의 낮은 신호가 높은 레벨(제38e도)로 돌아간 후 판독/기록 보수라인(782) 상의 신호도 높은 레벨(제38f도)로 돌아가고 이로써 DRAM 어레이(822)로의 기록은 완료된다.
앞에서 설명하였지만 로드기록 래치신호와 기록신호에 대한 디스크 모방기의 이러한 응답은 데이터 싱크 패턴의 검출후에 기록클록라인상의 두번째 클록펄스에 의해 발생된다. 카운터(1027, 1028) (제15도)가 상술한 바와 같이 기록클록 라인(750)의 클록펄스를 계속하고 카운터(1028)의 출력단자 QB에 높은 신호를 발생할 때, 카운터(1028)의 출력 단자 QB의 높은 신호는 플립플롭(428)의 입력단자 D에 연결된 NAND 게이트(404)의 출력신호를 낮는 상태로 만드는데, 이는 NAND 게이트(404)의 다른 두 입력단자의 신호들이 카운터(1028)가 로드될 때 높은 상태로 세트되었기 때문이다. 기록클록라인(750)에 다음 클록펄스가 나타났을 때, 플립플롭(428)의 입력단자 D의 낮은 신호는 플립플롭(428)으로 로드되고 출력단자 Q에 인가되어 기록 카운터 라인(715)의 신호를 낮은 상태로 만든다. 기록 카운터 라인(715)상의 낮은 신호는 NAND 게이트(406) (제3도)에 의해 반전된다. NAND 게이트(406)에 의해 카운터 클록라인(780)에 발생된 높은 신호는 앞에서 설명한 것과 같이 메모리 워드 카운터 회로(807)의 카운터(1054, 1055)를 증가시킨다.
이것이 계수된 두 번째 워드이므로 메모리 워드 카운터 회로(807) (제19도)의 카운터(1055)의 단자QA의 출력 신호는 낮은 상태이고, 카운터(1055)의 단자 QB의 출력신호는 높은 상태이고, 카운터(1055)의 단자 QB의 출력신호는 높은 상태이고, 카운터(1055)의 단자 QC와 QD 그리고 카운터(1054)의 단자 QA와 QB의 출력신호들은 모두 낮은 상태이다. 따라서, SMD 제어기에 의해 지정된 트랙의 섹터의 다음 워드가 8207 DRAM 제어기에 연결된 라인 J2-30, J2-94, J2-32, J2-96, J2-31 및 J2-95에 어드레스 되는데, 이 라인들은 카운터(1055)의 단자 QA 내지 QD와 카운터(1054)의 단자 QA, QB에 각기 결합한다.
따라서, 카운터(1055)의 출력 단자 QA의 낮은 출력신호는 또한 NOR 게이트(500)의 제1입력단자에 그리고 인버터(505)의 입력 단자에 인가되고 인버터(505)는 차례로 NOR 게이트(506)의 제1입력단자에 높은 신호를 발생한다. 따라서, 카운터(1055)의 단자 QB 에서 나온 높은 신호도 수신하는 NOR 게이트(506)는 낮은 신호를 발생하여 NAND 게이트(510)의 제1입력단자에 인가한다. 카운터(1055)의 단자 QB로부터의 높은 신호는 NOR 게이트(509)의 제2입력 단자에도 인가되고 NOR 게이트(509)에 의해 발생된 낮은 신호는 NAND 게이트(511)의 제3입력 단자에 인가된다. 마찬가지로, 카운터(1054)의 출력단자 QA, QB에서 나온 낮은 신호들은 NOR 게이트(508)의 제1 및 제2입력단자들에 각기 공급된다. 이렇게 해서 NOR 게이트(508)에 의해 발생된 높은 신호는 NAND 게이트(511)의 제2입력 단자와 NAND 게이트(510)의 제3입력 단자에 제공된다. NAND 게이트(511)의 제1입력 단자와 NAND 게이트(510)의 제2입력 단자는 각기 NOR 게이트(507)의 높은 출력신호를 수신하는데, 이 높은 출력신호는 NOR 게이트(507)의 제1 및 제2입력단자들에 각각 인가되는 카운터(1055)의 단자 QC, QD에서 나온 낮은 신호들에 응답하여 발생된다.
따라서, NOR 게이트(507)와 NOR 게이트(508)의 높은 출력신호들과 NOR 게이트(506)의 낮은 출력신호를 수신하는 NAND 게이트(510)는 OR 게이트(515)의 제1입력 단자에 높은 출력신호를 제공하고, 이 높은 신호는 차례로 어드레스 1검출 보수라인(755)에 높은 신호를 발생시킨다. NAND 게이트(510)의 높은 출력신호는 또한 OR 게이트(513)를 통해 NAND 게이트(512)의 제1입력 단자로 전송된다. NOR 게이트(507, 508)로부터의 높은 입력 신호들과 NOR 게이트(509)로부터의 낮은 입력 신호에 의해 발생된 NAND 게이트(511)의 높은 출력신호는 OR 게이트(514)의 제1입력단자로 인가된다. NAND 게이트(511)의 높은 출력신호는 NAND 게이트(512)의 제2입력 단자에도 인가된다. NAND 게이트(512)의 두 입력단자의 신호들은 모두 높은 상태이므로 NAND 게이트(512)는 워드어드레스 2-63 보수라인(756)에 낮은 신호를 발생시킨다.
워드 어드레스 2-63 보수라인(756)의 낮은 신호는 기록 제어회로(806) (제15도)에 있는 NAND게이트(401)의 출력신호를 높은 상태로 만든다. 따라서, 기록 제어회로(806) (제15도)에 있는 플립플롭(432)의 두 입력 단자 J, K의 신호는 높은 상태이고 기록 클록라인(750)에 다음 클록펄스가 나타났을 때 플립플롭(432)의 출력단자 Q의 신호는 높은 상태로 된다. 앞에서 설명한 바와 같이, 이 높은 신호는 카운터(1027, 1028)의 클리어 기능을 억제한다. 따라서, 카운터(1027, 1028)가 제2워드의 64개 비트를 계수한 후 롤오버하면 카운터들은 카운터(1028)의 출력단자 QD의 신호가 낮은 상태로될 때 클리어하지 않는다. 그보다는, 카운터(1028)의 롤오버이후 기록클록 라인에 처음 나타난 클록펄스가 카운터(1027)의 단자 QA의 출력신호를 높은 상태로 만들고 카운터(1028)의 단자 QD의 출력신호는 낮은 상태로 유지된다. 또한, 하나의 추가 데이터 비트가 시프트 레지스터(802)로 자리 이동된다. 카운터(1027)의 단자 QA의 높은 출력신호와 카운터(1028)의 낮은 출력신호는 상술한 바와 같이 로드기록 래치라인(717)에 제2의 높은 신호를 발생하고 이 신호는 래치 클록 라인(743)에 클록펄스를 발생하므로써 시프트 레지스터(802)내의 66비트 워드를 래치회로(803)에 포획한다. 워드의 한 비트가 이전의 로드기록 래치신호 이후 카운터(1027, 1028)를 로드한 클록펄스에 의해 시프트 레지스터(802)로 자리이동되었고, 워드의 추가 64 비트가 카운터(1028)의 롤오버를 일으킨 클록펄스들에 의해 시프트 레지스터(802)로 자리 이동되었고, 제2의 로드 기록 래치 신호가 발생될 때 하나의 추가 비트가 시프트 레지스터(802)로 자리 이동되었으므로, 래치 클록라인(743)의 클록펄스는 또 하나의 완전한 66 비트 워드가 시프트 레지스터(802)에 들어간 바로 그 순간에 발생된다. 카운터(1027 및 1028)는 제2의 로드 기록 래치신호의 발생후에 다시 로드되고 메모리 워드 카운터회로(807)는 상술한 바와 같이 증가된다. 그러므로, 각각의 66비트 워드가 시프트 레지스터(802)를 채우고 카운터(1028)가 롤오버할 때 하나의 클록펄스 후에 라인(717)상의 로드 기록 래치신호가 발생되고 이 프로세스는 그대로 반복된다.
메모리 워드 카운터 회로(807) (제19도)에 있는 카운터(1054)가 상술한 바와 같이 AND 게이트(496)에 케리 펄스 신호를 발생함으로써 플립플롭(498)의 입력 단자 J에 높은 신호를 발생시키는 때까지 이 프로세스는 계속된다. 클록제로라인(728)에 다음 클록펄스가 나타났을 때 플립플롭(498)의 출력단자 Q에 연결된 섹터 충만라인(757)의 신호는 높은 상태로 된다. 섹터 충만 라인(757)의 높은 신호는 기록 제어회로(806) (제15도)에 있는 NOR 게이트(400)의 출력신호를 낮은 상태로 만든다. NOR 게이트(400)의 낮은 출력신호는 플립플롭(432)을 클리어한다. 그 결과 플립플롭(432)의 출력 단자 Q에 나타난 낮은 신호는 상술한 바와 같이 NOR 게이트(402)의 제1입력 단자에 공급된다. 따라서, 카운터(1028)가 롤오버할 때 NOR 게이트(402)의 출력신호는 낮은 상태로 되고 카운터(1027, 1028)는 클리어모드에 있게 되는데, 이는 앞에서 설명한 바와 같다. 따라서, 디스크 모방기는 SMD 디스크 제어기에 의해 제공된 섹터의 데이터 필드를 판독한 후 기록 제어회로(806)의 기능을 억제한다. 그러므로, 이 디스크 모방기는 기록 동작에서 향상된 성능을 가진 하드 디스크 작동장치로 기능한다. 이 동작 모드를 따라서 SMD 디스크 제어기는 몇개의 섹터라도 디스크 모방기에 기록할 수 있다. 비교기회로(815)는 섹터-특정 데이터를 검출하고 섹터-특정 데이터만이 DRAM 어레이에 기록된다. 이것은 필요한 DRAM의 양을 최소화하고 종래의 하드 디스크 작동장치보다 기억매체의 이용율을 더욱 향상시킨다. 또한 위에서 설명한 바와 같이 디스크 모방기는 탐색 시간과 회전 대기시간을 상당히 향상시키고 25MHz 이상의 주파수로 동작하여 데이터가 디스크 모방기에 기록되는 속도가 디스크 모방기보다는 SMD 디스크 제어기의 속도로 재배되게 해 준다.
이렇게 SMD 디스크 제어기에 성능을 의존하는 것은 종래 기술에서처럼 하드 디스크 작동장치의 성능이 제한 요소로 되게 하는 의존 관계를 완전히 뒤집는 것이다.
[에러가 있는 판독]
디스크 모방기로부터의 판독동작에 관한 바로 앞의 설명에서 디스크 모방기의 에러 정정 능력은 거론되지 않았다. 앞에서 규정한 것처럼 DRAM 어레이에 데이터가 기억되는 동안 하드 에러가 발생하지 않은 것으로 가정하였다. 정상 판독에서 사이클은, 1) DRAM 어레이(822)에서 워드를 판독하고 그것을 래치회로(803)에 기억시키고, 2) 래치회로(803)내의 워드를 반전시키고, 3) 워드를 래치회로(803)에서 시프트 레지스터(802)로 기록하는 것이었다. 이것은 "판독/반전/기록" 사이클이었다.
가외의 반전사이클은 에러가 없는 정상 판독사이클로부터 관계없는 것처럼 보일 수 있지만 에러가 있는 판독 사이클의 검사는 래치회로(803)에 있는 반전래치들의 이점을 보여준다.
에러가 있는 메모리로부터의 판독은 이전에 표 I 에서 설명한 "판독/반전/기록/판독/반전/기록" 사이클을 필요로 한다. 이 사이클은 이전의 66 비트 워드가 시프트 레지스터(802)를 통해 자리 이동되는데 필요한 시간내에 완성되어야 한다. 에러 정정은 완전하게 되는데 그 모든 시간을 필요로 하고 그러하므로 SMD 디스크 제어기로의 직력데이터 전송에 제한 요소가 된다. 데이터는 래칭 동작과 연관되어 판독되고 즉시 판전되므로 상당한 시간이 절약된다. 이는 6단계 에러 정정 동작이 최대 50MHz의 클록속도에서 66비트 시간내에 들어맞게 해준다.
에러가 있는 판독 사이클은 앞에서 설명한 바와 같이 8207 DRAM 제어기로의 판독요청과 함께, 즉 8207 제어기의 단자에 낮은 신호를 인가함으로써 시작된다. 제40a도 내지 제40j도는 에러가 있는 판독에 대한 신호의 순서를 도시한다. 제40a도 내지 제40i도에서, 도면 좌측의 명칭들과 관련 번호들은 각기 같은 부호를 가진 디스크 모방기의 라인들을 나타낸다. 제40j도는 멀티바이브레이터(1131) (제31도)에 있는 단자 Q1의 응답이다. 제40도에서 수평축은 척도에서 맞게 되어있지 않으나 각 도면은 같은 척도를 가진다.
단자에 낮은 신호를 수신하였을때 8207 DRAM 제어기는 메모리 인출을 실행하고 66비트 워드를 66비트 병렬 버스(700)에 로드하고 그 66비트 워드에 대해 기억된 패리티 비트가 라인D(0)에 나타나는데, 이는 앞에서 설명한 바와 같다. 패리티 회로(804) (제12도)는 66비트 병렬 버스(700)상의 검색된 워드에 대하여 새로운 패리티 비트를 패리티 비트 라인(744)에 발생시킨다. 앞에서 설명하였지만 이 동작 중에는 시프트 레지스터(802) (제10도)에 있는 병렬 출력 단자들이 3상태이다.
패리티 비트 라인(744) 상의 새로운 패리티 비트는 배타적 OR 게이트(302) (제11도)의 제1입력 단자에 인가된다. 라인 D(0) 상의 기억된 패리티 비트는 배타적 OR 게이트(302)의 제2입력단자에 인가된다. OR 게이트(302)의 출력신호가 제로이면 에러가 발생하지 않은것이고, 판독 사이클은 상술한 바와 같이 진행된다. 그런, 설명을 위해서 에러를 가정하였으므로 새로운 패리티 비트는 기억된 패리티 비트와 다르고 배타적 OR 게이트(302)에서 패리티 검사 라인(784)으로 출력된 신호는 높은 상태이다.
패리티 검사라인(784)의 높은 신호는 래치 클록/에러검출 회로(805) (제31도)에 있는 NOR 게이트(542)의 제1입력단자에 인가된다. NOR 게이트(542)의 제2입력 단자의 신호와 AND 게이트(541)의 제1입력 단자의 신호는 모두 낮은 상태인데, 이는 판독 사이클을 개시한 판독라인(733)상의 신호가 인버터(577)의 출력신호를 낮은 상태로 만들었고 인버터(577)의 낮은 출력신호가 플립플롭(539)을 클리어 하였기 때문이다. 유사하게, 판독 B 보수라인(746)상의 낮은 신호(제40b도)는 플립플롭(540)을 클리어하였고 그 결과 플립플롭(540)의 출력단자 Q에 나타난 낮은 신호는 AND 게이트(541)의 제2입력 단자에 인가된다. 따라서, NOR 게이트(542)는 낮은 신호를 발생하여 OR 게이트(543)의 제1입력 단자에 인가하고 AND 게이트(541) 역시 낮은 신호를 발생하여 OR 게이트(543)의 제2입력 단자에 인가한다. OR 게이트(543)에 의해 발생된 낮은 출력신호는 OR 게이트(544)를 통해 에러 보수라인(783)으로 전송되는데, 이는 OR 게이트(544)의 다른 입력단자에 연결된 기록라인(709)의 신호 역시 낮은 상태이기 때문이다. 에러 보수라인(783) 상의 낮은 신호 8207 DRAM 제어기의 에러핀에 인가된다.
8207 DRAM 제어기의 에러핀의 신호가 낮은 상태로 될 때 제어기는 판독 사이클을 앞에서 설명한 것에서 수정한다. 에러없는 판독에서처럼 XACKB 보수라인(779)에 낮은 신호를 발생하는 대신에 8207 제어기는 그 단자 R/W에 연결된 판독/기록 보수라인(782)에 낮은 신호(제40f도)를 발생시킨다. 이것은 판독사이클이 "판독-수정-기록" 사이클이 되도록 변경되었음을 나타낸다.
판독/기록 보수라인(782)의 낮은 신호는 래치클록/에러 검출 회로(805) (제31도)에 있는 AND 게이트(533)의 출력신호를 낮은 상태로 만들고 AND 게이트(533)의 낮은 출력신호에 대한 NAND 게이트(529)의 응답은 에러없는 판독에서와 같다. 따라서, 판독/기록 보수라인(782)의 신호의 변화는 래치 클록/에러 검출 회로(803) (제40e도)가 병렬버스(700) 상의 워드를 래치하게 한다. 래치회로(803)는 그것이 래치할 때 워드를 반전시키므로 래치회로(803)는 병렬버스(700) 상의 반전된 워드를 DRAM 어레이(822)에 제공한다. 그후 8207 DRAM 제어기는 반전된 워드를 워드가 검색된 당시 빠져나온 DRAM 어레이(822) 내의 장소로 다시 기록한다.
AND 게이트(533)의 낮은 출력신호는 NOR 게이트(530)의 제1입력단자에도 인가된다. NOR 게이트(530)의 제2입력 단자에 있는 입력 신호는 DRAM 클록 보수 라인(777)에 있는 DRAM 클록신호의 보수이다. AND 게이트(533)의 출력신호를 구동하는 판독/기록 보수라인(782)의 신호와 DRAM 클록 보수라인(777)의 신호의 타이밍은, 그 두신호가 NOR 게이트(530)의 입력단자들에서 낮은 상태로 있어서 NOR 게이트(530)가 높은 출력 신호를 발생하도록 결정된다. NOR 게이트(530)의 높은 출력신호는 NOR 게이트(519)의 출력신호를 낮은 상태로 구동한다. 앞에서 설명한 바와 같이, NOR 게이트(519)의 낮은 출력신호는 플립플롭(517)을 세트하고 그에 따라 높은 신호가 판독 B 보수라인(746)에 발생되고(제40b도) 낮은 신호가 판독 B 라인(745)에 발생된다(제40c도).
8207 DRAM 제어기에 의해 판독/기록 보수라인(782)에 발생된 신호(제40f도)는 또한 오류 플래그 레지스터인 플립플롭(538)을 클록한다. 따라서, 플립플롭(538)의 입력단자 D의 신호는 높은 상태였으므로 플립플롭(538)의 출력단자 Q의 신호는 높은 상태로 되고 플립플롭(538)의 출력단자 Q의 신호는 낮은 상태로 된다. 플립플롭(538)의 출력단자 Q에서 나온 높은 신호는 OR 게이트(532)의 입력 단자들중 하나에 인가된다. 이것이 필요한 이유는 이 에러 정정 계획이 정정된 워드는 시프트 레지스터(802)에 그대로 로드되게 해 주지만 섹터의 0번째 워드에 대한 에러는 판독에서는 라인(722)의 신호가 이용되어 OR 게이트(532)의 출력 신호를 높은 상태로 만들어 줌으로써 래치 클록 라인(743)에 클록 펄스를 발생시키기 때문이다. 그러나, 라인(743)의 클록 펄스는 에러가 있는 판독에서는 불필요하므로 플립플롭(538)에 의해 OR 게이트(532)로 제공된 높은 신호가 OR 게이트(532)로 하여금 높은 출력 신호를 내내 발생하게 하고, 이를 NOR 게이트(537)에 연결된 판독라인(733)의 다른 판독 신호가 NOR 게이트(537)를 통해 플립플롭(538)을 클리어시킬때까지 지속시킨다. 플립플롭(538)의 출력단자 Q의 낮은 신호는 유사하게 AND 게이트(531)의 출력신호를 낮은 상태로 만들어 판독 카운터들이 톨오버하고 판독카운터 TC 라인(781)에 높은 신호를 발생시킬때 라인(781) 상의 높은 신호가 래치 클록라인(743)에 클록펄스를 발생시키지 않게 한다.
마지막으로, 패리티 에러의 검출후 8207 DRAM 제어기에 의해 판독/기록 보수라인(782)에 발생된 신호는 플립플롭(539)을 세트하여 그 출력단자 Q의 신호가 높은 상태가 되도록 한다. 플립플롭(539)의 출력단자 Q의 높은 출력신호는 NOR 게이트(542)의 출력신호를 낮은 상태로 만든다. 플립플롭(539)의 출력단 Q에서 나온 높은 신호는 AND 게이트(541)의 제2입력단자에도 인가된다. 플립플롭(540)의 출력단자 Q에서 AND 게이트(541)의 제1입력 단자로 제공된 신호는 낮은 상태인데, 이는 판독/기록 보수라인(782)에 낮은 신호(제40f도)가 나타나기 직전에 판독 B 보수라인(746)의 신호(제40b도)가 낮은 상태였고 이 낮은 신호가 플립플롭(540)을 클리어 모드로 유지시켰기 때문이다.
따라서, 하나의 높은 입력 신호와 하나의 낮은 입력 신호를 가지고 AND 게이트(541)은 낮은 출력 신호를 발생시킨다. 그러므로, OR 게이트(543)는 2개의 낮은 입력 신호를 가지며 따라서 낮은 출력 신호를 발생하여 OR 게이트(544)를 통해 에러 보수라인(783)으로 전송한다. 에러 보수라인(783)의 낮은 신호는 8207 DRAM 제어기의 에러핀을 활성화시켜서 8207 DRAM 제어기가 제2의 판독 사이클을 실행할때 보증된 에러가 발생하도록 한다. 패리티 에러의 검출후 8207 DRAM 제어기에 의해 발생된 판독/기록 보수라인(782)상의 신호에 의한 플립플롭(538)의 클록에 의해 발생된 플립플롭(538)의 출력단자 Q로부터 높은 신호는 접지된 입력단자 A1을 가진 단안정 멀티바이브레이터(1134)를 트리거한다. 멀티바이브레이터(1134)의 높은 출력 신호(제40j도)는 OR 게이트(516)를 통하여 플립플롭(517)의 단자 CLK로 전송된다.
따라서, 멀티바이브레이터(1134)가 트리거할 때 플립플롭(517)이 클록되고 상술한 바와 같이 기록 B 보수라인(745)의 신호(제40b도)는 낮은 상태로 되고 기록 B 라인(745)의 신호(제40c도)는 높은 상태로 된다. 기록 B 보수라인(746)의 낮은 신호는 8207 DRAM 제어기의 입력 단자에 인가되고 따라서 8207 DRAM 제어기는 에러 보수 라인(783)의 낮은 신호로 인하여 에러가 있는 제2의 판독사이클을 개시하는데, 이는 앞에서 설명한 것과 같다.
이 사이클은 제1사이클과 거의 동일하지만 단지 이제는 판독/기록 보수 라인(782)의 낮은 신호(제40f도)가 플립플롭(538)의 출력신호를 변화시키지 않아서 멀티바이브레이터(1131)가 다시 트리거되지 않는 차이점이 있다. 따라서, 이 제2사이클은 단지 에러 정정 프로세스의 제1사이클에 의해 DRAM 어레이에 기록된 데이터를 그로부터 판독하고 반전시킨다. 표 I에 관련하여 앞에서 설명한 바와 같이 제2의 "판독/반전/기록" 사이클은 에러 정정된 워드를 래치회로(803)에 남겨둔다. 이 워드는 나주에 시프트 레지스터들에 로드되고 SMD 제어기는 정확한 데이터를 만나게 되어 어떤 메모리 고장이 발생한 것도 알지 못한다.
이 에러 정정 프로세스는 이전의 워드가 시프트 레지스터(802)에서 자리이동되어 나가는 동안 완료되며 래치 회로(803)의 반전 래치들과 독측한 "판독/반전/기록/판독/기록 프로세스의 사용은 DRAM 어레이 내의 단일 비트 고장의 어떤 잠재적인 문제도 제거한다.
본 발명의 디스크 모방기는 탐색시간과 회전 대기 시간 모두를 상당히 향상시킨다. 또한 이 디스크 모방기의 데이터 기억 매체는 종래 하드 디스크의 데이터 기억 매체보다 더욱 효율적으로 이용된다. 마지막으로, 디스크 모방기에는 기계적인 가동 부분이 없고 신규의 에러 정정 프로세스가 하드 메모리 고장을 정정하므로 디스크 모방기의 신뢰성은 종래 하드 디스크의 신뢰성보다 상당히 향상되었다. 본 발명의 한가지 실시예가 설명되었다. 본 발명의 한가지 실시예가 설명되었으나, 이 설명은 단지 본 발명의 원리를 예시하는 것이지 본 발명을 그것으로 제한하는 것은 아니다. 이 설명으로부터 본 발명의 다른 실시예와 장점들이 당업자에게 명백할 것으로 본다.

Claims (76)

  1. 중앙처리 장치에 이용되는 데이터를 기억하고 검색하는 데이터 기억 부속시스템으로서 ; 데이터 기억 장소들을 가진 소멸성 기억 매체를 포함하는 디스크 모방기와, 상기 중앙처리장치 및 상기 디스크 모방기에 작동적으로 연결되어 상기 디스크 모방기 안팎으로의 데이터 기억 및 검색을 제어하는 디스크 제어기와로 구성되고, 상기 디스크 제어기가 기하 어드레스 정보에 의해 데이터가 들어가서 기억되고 기억된 데이터가 검색되어 나올 상기 소멸성 기억 매체내의 장소를 지정하고, 상기 소멸성 기억매체에 기억될 데이터의 비트들로 구성된 직렬 데이터 스트림을 상기 디스크 모방기에 제공하고, 상기 디스크 모방기로부터 기억된 데이터를 데이터의 비트들로 구성된 직렬 데이터 스트림으로 받고, 상기 디스크 모방기에 제어신호들을 제공하며, 상기 디스크 모방기에는 또한, 상기 디스크 제어기에 결합되어 그로부터 상기 데이터를 수신하는 제어입력 라인, 데이터 출력라인들 및 직렬데이터 입력라인을 가진 제1데이터 수신 수단으로서, 상기 제어입력 라인에 수신된 제어신호들에 응답 하여 상기 데이터 출력라인들에 데이터를 제공하는 제1데이터 수신수단과, 상기 디스크 제어기에 작동적으로 연결된 직력데이터 스트림 발생수단으로서, 데이터입력 라인들과 제어입력 라인을 가지고 있으며 상기 데이터 입력 라인들과 제어입력 라인상의 신호들에 응답하여 직렬데이터 스트림을 발생시켜 상기 디스크 제어기에 제공하는 직렬데이터 스트림 발생 수단과, 데이터 입력 신호들을 수신한 후 데이터 출력 신호들을 발생하도록 작동적으로 상기 제1데이터 수신수단, 상기 직렬데이터 스트림 발생 수단의 상기 데이터 입력 라인들 및 상기 소멸성 기억매체에 연결된 임시 데이터 기억 수단으로서 제어입력 라인을 가지고 있어서, 제1동작모드에서는 상기 제1데이터 수신 수단으로부터의 상기 데이터 출력 신호들이 상기 임시 데이터 기억 수단에 제공되고 상기 임시 데이터 기억 수단으로부터의 상기 데이터 출력 신호들은 상기 소멸성 기억 매체로 전송되며, 제2동작 모드에서는 상기 소멸성 기억 매체로부터의 데이터 신호들이 상기 임시 데이터 기억 수단에 제공되고 상기 임시 데이터 기억 수단으로부터의 상기 데이터 출력신호들은 상기 직렬데이터 스트림 발생수단의 데이터 입력 라인들에 제공되는 임시 데이터 기억 수단과, 상기 디스크 제어기에 작동적으로 연결되어 상기 디스크 제어기로부터의 제1제어신호와 상기 기하 어드레스 정보에 응답하여 상기 소멸성 기억 매체내의 지정된 장소에 대한 어드레스 신호를 발생하는 번지 지정 수단과, 작동적으로 상기 디스크 제어기, 상기 제1데이터 수신 수단의 상기 제어 입력 라인, 상기 임시 데이터 기억 수단의 상기 제어입력 라이, 상기 소멸성 기억 매체 및 상기 번지 지정 수단에 연결된 데이터 기억 제어수단으로서, 상기 제1데이터 수신수단의 상기 데이터 출력 신호들을 상기 임시데이터 기억수단에 선택적으로 연결하고, 또한 상기 번지 지정 수단의 어드레스 신호와 상기 디스크 제어기의 제2제어신호에 응답하여 상기 임시 데이터 기억 수단의 상기 데이터 출력신호들을 상기 소멸성 기억 매체내의 상기 지정된 장소에 선택적으로 연결하는 데이터 기억제어 수단과, 작동적으로 상기 임시 데이터 기억 수단의 상기 제어 입력 라인, 상기 직렬데이터 스트림 발생수단의 상기 제어 입력 라인, 상기 소멸성 기억 매체, 상기 번지 지정 수단 및 상기 디스크 제어기에 연결된 데이터 검색 제어 수단으로서, 상기 번지 지정 수단의 어드레스 신호에 응답하여 상기 임시 데이터 기억수단을 상기 소멸성 기억매체내의 상기 지정된 장소에 선택적으로 연결하고 상기 디스크 제어기의 제3제어 신호에 응답하여 상기 임시 데이터 기억수단을 상기 직렬데이터 스트림 발생 수단에 선택적으로 연결하는 데이터 검색 제어 수단이 더 있는 데이터 기억 부속시스템.
  2. 제1항에 있어서, 상기 번지 지정 수단이 상기 디스크 제어기에 작동적으로 연결되어 상기 기하 어드레스들을 수신하는 제2데이터 수신 수단을 더 포함하는 데이터 기억 부속시스템.
  3. 제2항에 있어서, 상기 번지 지정 수단이 상기 제2데이터 수신 수단에 작동적으로 연결되어 상기 기하 어드레스들을 상기 소멸성 기억 매체의 제1접촉 영역에 대한 고차 어드레스 변환하는 상기 기하 어드레스들의 번역 수단으로서, 상기 제1접촉 영역이 제1선택 정수 r개의 접촉 기억 장소들로 구성된 기하 어드레스 번역단을 더 포함하는 데이터 기억 부속 시스템.
  4. 제3항에 있어서, 상기 제1데이터 수신 수단의 상기 데이터 출력신호들이 제2선택 정수 n-비트 워드들을 포함하는 데이터 기억 부속시스템.
  5. 제4항에 있어서, 상기 번지 지정 수단이 상기 소멸성 기억매체의 상기 제1접촉영역에 대한 하위 어드레스들을 발생시키는 수단으로서, 상기 제1접촉 영역내에서 제3선택 정수 m개의 접촉(n+1)-비트 워드들을 각기 포함하고 있는 상기 소멸성 기억매체의 제3접촉영역들에 대한 어드레스들을 발생시키는 수단과, 상기 제2접촉 영역내에 있는 상기 소멸성 기억 매체의 m개 접촉 워드 장소들에 대한 어드레스들을 발생시키는 수단으로 구성되는 상기 하위 어드레스 발생수단을 더 포함하고 있어, 상기 지정된 장소가 상기 고차 어드레스와 상기 하위 어드레스들에 의해 정의되는 데이터 기억 부속시스템.
  6. 제5항에 있어서, 상기 제1데이터 수신 수단의 상기 데이터 출력 라인들과 상기 임시 데이터 기억 수단과 상기 소멸성 기억 매체 사이의 상기 작동적 연결이 병렬버스로 되어 있는 데이터 기억 부속시스템.
  7. 제6항에 있어서, 상기 디스크 모방기가 상기 병렬버스에 작동적으로 연결된 패리티 신호 발생 수단을 더 포함하고 있어, 상기 디스크 모방기의 제1동작모드에서 상기 병렬버스는 상기 임시 데이터 기억수단의 상기 데이터 출력신호들을 상기 패리티 신호 발생 수단과 상기 소멸성 기억 매체에 동시적으로 제공하고, 상기 데이터 출력신호들에 응답하여 상기 패리티 신호 발생 수단이 패리티 출력신호를 발생하고 상기 패리티 출력신호는 상기 병렬버스에 의해 상기 소멸성 기억 매체에 제공되는 데이터 기억 부속시스템.
  8. 제7항에 있어서, 상기 패리티 출력신호가 상기(n+1)-비트 워드의 1개 비트로서 상기 소멸성 기억 매체에 기억되는 데이터 기억 부속시스템.
  9. 제8항에 있어서, 상기 디스크 제어기로부터의 직렬 데이터 스트림이 섹터들을 구성하고 각각의 섹터는 섹터-특정 데이터와 비섹터-특정 데이터로 구성되는 데이터 기억 부속시스템.
  10. 제9항에 있어서, 상기 디스크 꼬방기가 상기 임시 데이터 기억수단에 기억을 위해 섹터 특정 데이터를 선택하는 수단으로서, 상기 데이터 기억 제어수단과 상기 병렬버스에 작동적으로 연결되어 상기 제1데이터 수신 수단의 데이터 출력 신호들을 제공받고, 섹터 특정 데이터의 시작을 나타내는 상기 제1데이터 수신 수단의 데이터 출력신호들의 패턴에 응답하여 상기 데이터 기억 제어 수단에 출력신호를 발생시키는 상기 섹터 특정 데이타 선택 수단을 더 포함하는 데이타 기억 부속시스템.
  11. 제10항에 있어서, 상기 데이타 기억 제어 수단이 상기 섹터 특정 데이타 선택 수단의 상기 출력 신호에 응답하여 제어 신호들의 순서를 상기 번지 지정 수단과 상기 제1데이타 수신 수신과 상기 임시 데이타 기억 수단에 발생시켜 상기 디스크 제어기로부터의 상기 섹터 특정 데이타가 상기 소멸성 기억 매체에 기억되게 하는 데이타 기억 부속시스템.
  12. 제11항에 있어서, 상기 임시 데이타 기억 수단과 상기 직렬데이타 스트림 발생 수단의 데이타 입력라인들 사이의 상기 작동식 연결이 상기 병렬 버스로되어 있는 데이타 기억 부속시스템.
  13. 제12항에 있어서, 상기 디스크 모방기의 제2동작 모드에서, 상기 병렬버스는 상기 소멸성 기억 매체에서 검색된 상기 데이타 신호들을 상기 임시 데이타 기억 수단과 상기 패리티 신호 발생 수단에 동시적으로 제공하여 상기 패리티 신호 발생 수단이 상기 검색된 데이타 신호들에 대한 패리티 출력 신호를 발생하게 하는 데이타 기억 부속시스템.
  14. 제13항에 있어서, 상기 패리티 회로가 상기 검색된 (n+1)-비트 워드의 n-비트들에 대한 패리티 신호를 발생시키며 상기 검색된 (n+1)-비트 워드의 상기 n-비트들은 상기 디스크 제어기로부터 기억된 데이타를 구성하는 데이타 기억 부속시스템.
  15. 제14항에 있어서, 상기 기억된 패리티 신호가 상기 소멸성 기억 매체로부터 상기 병렬버스의 1개 라인을 통해 검색되는 데이타 기억 부속 시스템.
  16. 제15항에 있어서, 상기 디스크 모방기가 상기 검색된 패리티 신호를 반송하는 상기 병렬버스의 상기 라인과 상기 패리티 회로에 작동적으로 연결된 패리티 신호들의 비교 수단으로서, 상기 검색된 워드의 상기 n-비트들에 대하여 발생된 상기 패리티 신호를 상기 검색된 패리티 신호와 비교하여 상기 패리티 신호들이 상이할때 출력신호를 발생하는 패리티 신호 비교수단을 더 포함하는 데이타 기억 부속시스템.
  17. 제16항에 있어서, 상기 디스크 모방기가 상기 검색된 워드의 상기 n-비트들을 에러정정하는 수단으로서 자동적으로 상기 임시데이타 기억 수단, 상기 데이타 검색 제어 수단 및 상기 패리티 신호 비교 수단에 연결되어 상기 패리티 신호 비교수단의 상기 출력 신호를 받았을 때에만 동작되는 에러정정 수단을 더 포함하는 데이타 기억 부속시스템.
  18. 제17항에 있어서, 상기 디스크 모방기가 비섹터 특정 직렬데이타 스트림을 발생하며 작동적으로 상기 디스크 제어기와 상기 데이타 검색 제어 수장에 연결된 수단을 더 포함하고 있어 상기 데이타 검색 제어수단은 한 분서의 신호들을 상기 번지 지정 수단, 상기 직렬 데이타 스트림 발생수단, 상기 임시 데이타 기억 수단 및 상기 비섹터 특정 직렬데이타 스트림 발생수단에 발생하여, 상기 디스크 제어기로의 상기 직렬데이타 스트림이 상기 비섹터 특정데이타 발생수단에 의해 제공된 비섹터 특정데이타와 상기 소멸성 기억 매체에서 검색된 섹터 특정데이타를 가진 섹터를 구성하게 되는 데이타 기억 부속시스템.
  19. 제18항에 있어서, 상기 디스크 제어기가 SMD 디스크 제어기로 된 데이타 기억 부속시스템.
  20. 제18항에 있어서 , 상기 소멸성 기억매체가 DRAM 어레이로 된 데이타 기억 부속시스템.
  21. 디스크 제어기로부터 제어신호들과 데이타를 수신하고 그에 응답하여 상기 테이타를 기억하고 상기 디스크 제어기의 제어 신호들을 통한 요청에 의해서 상기 기억된 데이타를 상기 디스크 제어기에 제공하는 데이타 기억 디스크 모방기로서, 상기 디스크 제어기는 상기 디스크 모방기내의 데이타의 장소를 기하 어드레스 정보에 의해 지정하고, 또한 상기 디스크 제어기는 데이타를 직렬데이타 스트림으로 상기 디스크 모방기에 제공하고 그로부터 수신하게 되어있으며, 상기 디스크 모방기는, 기억 장소들을 가진 소멸성 기억 매체와, 상기 디스크 제어기로부터 직렬 데이타를 수신하고, 상기 디스크 제어기에 직렬데이타를 발생시키는 수단과, 데이타를 기억하고 검색하며 작동적으로 상기 소멸성 기억매체와 상기 직렬데이타 수신 및 발생 수단에 연결되어 있는 수단으로서, 제1동작 모드에서는 상기 디스크 제어기의 제1제어신호들에 응답하여 상기 수신된 직렬데이타를 상기 소멸성 기억매체에 기억시키고, 제2동작 모드에서는 상기 디스크 모방기의 제2제어신호들에 응답하여 상기 소멸성 기억매체에서 데이타를 검색하고 상기 검색된 데이타를 상기 직렬데이타 수신 및 발생수단에 제공하여 상기 직렬데이타 수신 및 발생수단이 상기 검색된 데이타를 직렬데이타 스트림으로 상기 디스크 제어기에 제공하게하는 상기 데이타 기억 및 검색수단과로 구성되는 데이타 기억 디스크 모방기.
  22. 제21항에 있어서, 상기 직렬데이타 수신 및 발생수단이 상기 디스크 제어기에 결합되어 그로부터 직렬데이타를 수신하는 제어 입력 라인, 데이타 출력라인들 및 직렬데이타 입력라인을 가진 제1데이타 수신 수단으로서, 상기 제어 입력 라인에 수신된 제어 신호들에 응답하여 상기 데이타 출력 라인들에 데이타를 제공하는 제1데이타 수신 수단과, 직렬데이타 스트림을 발생하는 수단으로서 데이타 입력 라인들과 제어 입력 라인을 가지고 있어 상기 데이타 입력 라인들과 상기 제어 입력 라인상의 신호들에 응답하여 상기 직렬데이타 스트림을 상기 디스크 제어기에 제공하는 직렬데이타 스트림 발생수단을 포함하는 디스크 모방기.
  23. 제22항에 있어서, 상기 데이타 기억 및 검색수단이 데이타 입력 신호들을 수신한 후 데이타 출력 신호들을 발생하며 작동적으로 상기 제1데이타 수신 수단, 상기 직렬데이타 스트림 발생수단의 상기 데이타 입력라인들 및 상기 소멸성 기억매체에 연결된 임시데이타 기억 수단으로서, 제어 입력 라인을 가지고 있어서, 제1동작 모드에서는 상기 제1데이타 수신 수단으로부터의 상기 테이타 출력신호들이 상기 임시 데이타 기억 수단에 제공되고 상기 임시 데이타 기억수단으로부터의 상기 데이타 출력신호들은 상기 소멸성 기억매체로 전송되며, 제2동작 모드에서는 상기 소멸성 기억 매체로부터의 데이타 신호들이 상기 임시데이타 기억수단에 제공되고 상기 임시 데이타 기억 수단으로부터의 상기 데이타 출력신호들은 상기 직렬데이타 스트림 발생수단의 데이타 입력 라인들에 제공되는 임시 데이타 기억수단과, 상기 디스크 제어기로부터의 상기 기하 어드레스 정보와 제1제어 신호에 응답하여 상기 소멸성 기억 매체내에 지정된 장소에 대한 어드레스 신호를 발생하는 번지 지정 수단과, 작동적으로 상기 제1데이타 수신수단의 상기 제어 입력 라인, 상기 임시 데이타 기억 수단의 상기 제어 입력라인, 상기 소멸성 기억 매체 및 상기 번지 지정 수단에 연결된 데이타 기억 제어 수단으로서, 상기 디스크 제어기의 상기 제어 신호들에 응답하여 상기 제1데이타 수신수단의 상기 데이타 출력 신호들을 상기 임시 데이타 기억 수단에 선택적으로 연결하고, 상기 번지 지정 수단의 어드레스 신호에 응답하여 상기 임시 데이타 기억 수단의 상기 데이타 출력신호들을 상기 소멸성 기억 매체내의 상기 지정된 장소에 선택적으로 연결하는 데이타 기억 제어 수단과, 작동적으로 상기 임시 데이타 기억수단의 상기 제어 입력 라인, 상기 직렬 데이타 스트림 발생수단의 상기 제어 입력 라인, 상기 소멸성 기억매체 및 상기 번지 지정 수단에 연결된 데이타 검색 제어수단으로서, 상기 디스크 제어기의 제어신호들과 상기 번지 지정 수단의 어드레스 신호에 응답하여 상기 임시 데이타 기억 수단을 상기 소멸성 기억 매체내의 상기 지정된 장소에 선택적으로 연결하고 상기 임시 데이타 기억수단을 상기 직렬데이타 스트림 발생 수단에 선택적으로 연결하는 데이타 검색 제어 수단을 포함하는 디스크 모방기.
  24. 제23항에 있어서, 상기 번지 지정 수단이, 상기 디스크 제어기로부터 상기 기하 어드레스들을 수신한 제2데이타 수신 수단을 더 포함하는 디스크 모방기.
  25. 제24항에 있어서, 상기 번지 지정 수단이 상기 제2데이타 수신 수단에 작동적으로 연결되어 상기 기하 어드레스들을 상기 소멸성 기억 매체의 제1접촉 영역에 대한 고차 어드레스로 변환하는 상기 기하 어드레스들의 번역 수단으로서, 상기 제1접촉 영역이 제1선택 정수 r개의 접촉 기억 장소들로 구성된 기하 어드레스 번역 수단을 더 포함하는 디스크 모방기.
  26. 제24항에 있어서, 상기 제1데이타 수신 수단의 상기 데이타 출력 신호들이 제2선택 정수 n-비트 워드들을 포함하는 디스크 모방기.
  27. 제26항에 있어서, 상기 번지 지정 수단이, 상기 소멸성 기억 매체의 상기 제1접촉 영역에 대한 하위 어드레스들을 발생시키는 수단으로서, 상기 제1접촉 영역내에서 제3선택 정수 m개의 접촉(n+1)-비트 워드를 각기 포함하고 있는 상기 소멸성 기억 매체의 제2접촉영역들에 대한 어드레스들을 발생기키는 수단과, 상기 제2접촉 영역내에 있는 상기 소멸성 기억 매체의 m개 접촉 워드 장소들에 대한 어드레스들을 발생시키는 수단과, 상기 제2접촉 영역내에 있는 상기 소멸성 기억매체의 m개 접촉 워드 장소들에 대한 어드레스들을 발생시키는 수단으로 구성되는 상기 하위 어드레스 발생 수단을 더 포함하고 있어 상기 지정된 장소가 상기 고차 어드레스와 상기 하위 어드레스들에 의해 정의되는 디스크 모방기.
  28. 제27항에 있어서, 상기 제1데이타 수신 수단의 상기 데이타 출력라인들과 상기 임시 데이타 기억 수단과 상기 소멸성 기억 매체 사이의 상기 작동력 연결이 병렬버스로 되어 있는 디스크 모방기.
  29. 제28항에 있어서, 상기 병렬버스에 자동적으로 연결된 패리티 신호 발생수단이 상기 디스크 모방기에 더 포함되어 있어, 상기 디스크 모방기의 상기 제1동작 모드에서 상기 병렬버스는 상기 임시 데이타 기억 수단의 상기 데이타 출력신호들을 상기 패리티 신호 발생 수단과 상기 소멸성 기억 매체의 동시적으로 제공하고, 상기 데이타 출력신호들에 응답하여 상기 패리티 신호 발생수단이 패리티 출력 신호를 발생하고 상기 패리티 출력신호는 상기 병렬버스에 의해 상기 소멸성 기억 매체에 제공되는 디스크 모방기.
  30. 제29항에 있어서, 상기 패리티 출력신호가 상기(n+1)-비트 워드의 1개 비트로서 상기 소멸성 기억매체에 기억되는 디스크 모방기.
  31. 제30항에 있어서, 상기 디스크 제어기로부터의 직렬데이타 스트림이 섹터들을 구성하고, 각각의 섹터는 섹터-특정데이타와 비섹터-특정데이타로 구성되는 디스크 모방기.
  32. 제31항에 있어서, 상기 임시 데이타 기억 수단에의 기억을 위해 섹터 특정 데이타를 선택하는 수단으로서, 상기 데이타 기억 제어 수단과 상기 병렬버스에 작동적으로 연결되어 상기 제1데이타 수신 수단의 데이타 출력신호들을 제공받고, 섹터 특정데이타의 시작을 나타내는 상기 제1데이타 수신 수단의 데이타 출력신호들의 패턴에 응답하여 상기 데이타 기억제어 수단에 출력신호를 발생시키는 상기 섹터 특정 데이타 선택 수단을 더 포함하는 디스크 모방기.
  33. 제32항에 있어서, 상기 데이타 기억 제어 수단이 상기 섹터 특정 데이타 선택 순의 상기 출력신호에 응답하여 제어 신호들의 순서를 상기 번지 지정 수단과 상기 제1데이타 수신 수단과 상기 임시 데이타 기억 수단에 발생시켜 상기 디스크 제어기로부터의 상기 섹터 특정 데이타가 상기 소멸성 기억매체에 기억되게 하는 디스크 모방기.
  34. 제33항에 있어서, 상기 임시 데이타 기억 수단과 상기 직렬 데이타 스트림 발생수단의 데이타 입력 라인들 사이의 상기 작동연결이 상기 병렬버스로 되어 있는 디스크 모방기.
  35. 제34항에 있어서, 상기 디스크 모방기의 상기 제2동작모드에서 상기 병렬버스는 상기 소멸성 기억 매체에서 검색된 상기 데이타 신호들을 상기 임시 데이타 기억 수단과 상기 패리티 신호 발생 수단이 상기 검색된 데이타 신호들에 대한 패리티 출력신호를 발생하게 하는 디스크 모방기.
  36. 제35항에 있어서, 상기 패리티 회로가 상기 검색된 (n+1)-비트 워드의 n-비트들에 대한 패리티 신호를 발생시키며 상기 검색된 (n+1)-비트들에 대한 패리티 신호를 발생시키며 상기 검색된 (n+1)-비트 워드의 상기 n-비트들은 상기 디스크 제어기로부터 기억된 데이타를 구성하는 디스크 모방기.
  37. 제36항에 있어서, 상기 기억된 패리티 신호가 상기 소멸성 기억 매체로부터 상기 병렬버스의 1개 라인을 통해 검색되는 디스크 모방기.
  38. 제37항에 있어서, 상기 검색된 패리티 신호를 반송하는 상기 병렬버스의 상기 라인과 상기 패리티 회로에 작동적으로 연결된 패리티 신호들의 비교 수단으로서, 상기 검색된 워드의 상기 n-비트들에 대하여 발생된 상기 패리티 신호를 상기 검색된 패리티 신호와 비교하여 상기 패리티 신호들이 상이할 때 출력신호를 발생하는 패리티 신호 비교 수단을 더 포함하는 디스크 모방기.
  39. 제38항에 있어서, 상기 검색된 워드의 상기 n-비트들을 에러 정정하는 수단으로서, 작동적으로 상기 임시 데이타 기억 수단, 상기 데이타 검색 제어수단 및 상기 패리티 신호 비교 수단에 연결되어, 상기 패리티 신호 비교 수단의 상기 출력신호를 받았을 때에만 동작되는 에러 정정 수단을 더 포함하는 디스크 모방기.
  40. 제39항에 있어서, 비섹터 특정 직렬데이타 스트림을 발생하며 작동적으로 상기 데이타 검색제어 수단과 상기 직렬데이타 스트림 발생 수단에 연결된 수단이 상기 디스크 모방기에 더 포함되어 있어 상기 데이타 검색 제어수단은 한 순서의 신호들을 상기 번지 지정수단, 상기 직렬데이타 스트림 발생수단, 상기 임시 데이타 기억 수단 및 상기 비섹터 특정 직렬 데이타 스트림 발생 수단에 발생하여 상기 디스크 제어기로의 상기 직렬데이타 스트림이 상기 비섹터 특정 직렬데이타 스트림 발생 수단에 의해 제공된 비섹터 특정 데이터와 상기 소멸성 기억 매체에서 검색된 섹터 특정데이타를 가진 섹터를 구성하게 되는 디스크 모방기.
  41. 제40항에 있어서, 상기 디스크 제어기가 SMD 디스크 제어기로된 시스템.
  42. 제40항에 있어서, 상기 소멸성 기억 매체가 DRAM 어레이로된 시스템.
  43. 제21항에 있어서, 상기 직렬데이타 수신 및 발생 수단이 데이타 입출력 수단을 포함하고, 상기 데이타 입출력 수단이 상기 디스크 제어기로부터 직렬데이타를 수신하는 직렬 데이타 입력라인, 상기 디스크 제어기에직렬데이타를 제공하는 직렬데이타 출력라인, 상기 데이타 입출력 수단을 통해서 상기 직렬데이타 입력 라인과 상기 직렬데이타 출력라인 연결하는 직렬데이타 경로, 데이타 입출력 라인들 및 제어 입력 라인을 가지고 있어, 상기 디스크 모방기의 상기 제1동작 모드에서 상기 데이타 비출력 수단이 상기 제어입력 라인상의 제어 신호들에 응답하여 상기 직렬데이타 입력라인으로 데이타를 수신하고 상기 입출력 라인들에 출력 신호들을 제공하며 상기 디스크 모방기의 상기 제2동작 모드에서 상기 데이타 입출력 수단이 상기 제어 입력 라인상의 제어 신호들에 응답하여 상기 데이타 입출력 라인들로 데이타를 수신하고 상기 직렬데이타 출력라인에 직렬데이타를 제공하는 디스크 모방기.
  44. 제43항에 있어서, 상기 데이타 기억 및 검색 수단이, 데이타 입력 신호들을 수신한 후 데이타 출력신호들을 발생하며 작동적으로 상기 데이타 입출력 수단의 상기 데이타 입출력 라인들과 상기 소멸성 기억 매체에 연결된 임시 데이타 기억수단으로서 제어 입력 라인을 가지고 있어서, 제1동작 모드에서는 상기 데이타 입출력 수단의 상기 데이타 출력 신호들이 상기 임시 데이타 기억 수단에 제공되고 상기 임시 데이타 기억 수단으로부터의 상기 데이타 출력 신호들은 상기 소멸성 기억 매체로 전송되며, 제2동작 모드에서는 상기 소멸성 기억 매체로부터의 데이타 신호들이 상기 임시 데이타 기억 수단에 제공되고 상기 임시 데이타 기억 수단으로부터의 상기 데이타 출력신호들은 상기 데이타 입출력 수단의 상기 데이타 입출력 라인들에 제공되는 임시 데이타 기억 수단과, 상기 디스크 제어기로부터의 상기 기하 어드레스 정보와 제1제어 신호에 응답하여 상기 소멸성 기억 매체내의 지정된 장소에 대한 어드레스 신호를 발생하는 번지 지정 수단과, 작동적으로 상기 데이타 입출력 수단의 상기 제어 입력 라인, 상기 임시 데이타 기억 수단의 상기 제어 입력 라인, 상기 소멸성 기억 매체 및 상기 번지 지정 수단에 연결된 데이타 기억 제어 수단으로서, 상기 디스크 제어기의 상기 제어 신호들에 응답하여 상기 데이타 입출력 수단의 상기 데이타 출력 신호들을 상기 임시 데이타 응답하여 상기 임시 데이타 기억 수단의 상기 데이타 출력 신호들을 상기 소멸성 기억 매체내의 상기 지정된 장소에 선택적으로 연결하는 데이타 기억 제어 수단과, 작동적으로 상기 임시 데이타 기억 수단의 제어 입력 라인, 상기 데이타 입출력 수단의 상기 제어 입력 라인, 상기 소멸성 기억 매체 및 상기 번지 지정 수단에 연결된 데이타 검색 제어 수단으로서, 상기 디스크 제어기의 제어 신호들과 상기 번지 지정 수단의 어드레스 신호에 응답하여, 상기 임시 데이타 기억 수단을 상기 소멸성 기억 매체내의 상기 지정된 장소에 선택적으로 연결하고 상기 임시 데이타 기억 수단을 상기 데이타 입출 수단에 선택적으로 연결하는 데이타 검색 제어 수단을 포함하는 디스크 모방기.
  45. 제44항에 있어서, 상기 번지 지정 수단이 , 상기 디스크 제어기로부터 상기 기하 어드레스들을 수신하는 제2데이타 수신 수단을 더 포함하는 디스크 모방기.
  46. 제45항에 있어서, 상기 번지 지정 수단이 상기 제2데이타 수신 수단에 작동적으로 연결되어 상기 기하 어드레스들을 상기 소멸성 기억 매체의 제1접촉 영역에 대한 고차 어드레스로 변환하는 상기 기하 어드레스들의 번역 수단으로서, 상기 제1접촉 영역이 제1선택 정수 r개의 접촉 기억 장소들로 구성된 기하 어드레스 번역 수단을 더 포함하는 디스크 모방기.
  47. 제46항에 있어서, 상기 데이타 입출력 수단의 상기 데이타 출력 신호들이 제2선택 정수 n-비트 워드들을 포함하는 디스크 모방기.
  48. 제47항에 있어서, 상기 번지 지정 수단이 상기 소멸성 기억 매체의 상기 제1접촉 영역에 대한 하위 어드레스들을 발생시키는 수단으로서, 상기 제1접촉 영역내에서 제3선택 정수 m개의 접촉(n+1)-비트워드들을 각기 포함하고 있는 상기 소멸성 기억 매체의 제2접촉영역들에 대한 어드레스들을 발생시키는 수단과, 상기 제2접촉 영역내에 있는 상기 소멸성 기억 매체의 m개 접촉 워드 장소들에 대한 어드레스들을 발생시키는 수단으로 구성되는 상기 하위 어드레스 발생 수단을 더 포함하고 있어 상기 지정된 장소가 상기 고차 어드레스와 상기 하위 어드레스들에 의해 정의되는 디스크 모방기.
  49. 제48항에 있어서, 상기 데이타 입출력 수단의 상기 데이타 입출력라인들과 상기 임시 데이타 기억 수단과 상기 소멸성 기억 매체 사이의 상기 작동력 연결이 병렬버스로 되어 있는 디스 크 모방기.
  50. 제49항에 있어서, 상기 병렬버스에 작동적으로 연결된 패리티 신호 발생 수단이 상기 디스크 모방기에 더 포함되어 있어, 상기 디스크 모방기의 상기 제1동작 모드에서 상기 병렬버스는 상기 임시 데이타 기억 수단의 상기 데이타 출력신호들을 상기 패리티 신호 발생 수단과 상기 소멸성 기억 매체의 동시적으로 제공하고, 상기 데이타 출력신호들에 응답하여 상기 패리티 신호 발생수단이 패리티 출력 신호를 발생하고 상기 패리티 출력 신호는 상기 병렬버스에 의해 상기 소멸성 기억 매체에 제공되는 디스크 모방기.
  51. 제50항에 있어서, 상기 패리티 출력신호가 상기 (n+1)-비트 워드의 1개 비트로서 상기 소멸성 기억 매체에 기억되는 디스크 모방기.
  52. 제51항에 있어서, 상기 디스크 제어기로부터의 직렬데이타 스트림이 섹터들을 구성하곤, 각각의 섹터는 섹터-특정데이타와 비섹터-특정데이타로 구성되는 디스크 모방기.
  53. 제52항에 있어서, 상기 임시 데이타 기억 수단에의 기억을 위해 섹터 특정 데이타를 선택하는 수단으로서, 상기 데이타 기억 제어 수단과 상기 병렬버스에 작동적으로 연결되어 상기 데이타 입출력 수단의 데이타 출력신호들을 제공받고, 섹터 특정데이타의 시작을 나타내는 상기 데이타 입출력 수단의 데이타 출력신호들의 패턴에 응답하여 상기 데이타 기억제어 수단에 출력신호를 발생시키는 상기 섹터 특정 데이타 선택 수단을 더 포함하는 디스크 모방기.
  54. 제53항에 있어서, 상기 데이타 기억 제어 수단이 상기 섹터 특정 데이타 선택 수단의 상기 출력신호에 응답하여 제어 신호들의 순서를 상기 번지 지정 수단과 상기 데이타 입출력 수단과 상기 임시 데이타 기억 수단에 발생시켜 상기 디스크 제어기로부터의 상기 섹터 특정 데이타가 상기 소멸성 기억매체에 기억되게 하는 디스크 모방기.
  55. 제54항에 있어서, 상기 디스크 모방기의 상기 제2동작모드에서 상기 병렬버스는 상기 소멸성 기억 매체에서 검색된 상기 데이타 신호들을 상기 임시 데이타 기억 수단과 상기 패리티 신호 발생 수단이 상기 검색된 데이타 신호들에 대한 패리티 출력신호를 발생하게 하는 디스크 모방기.
  56. 제55항에 있어서, 상기 패리티 회로가 상기 검색된 (n+1)-비트 워드의 n-비트들에 대한 패리티 신호를 발생시키며 상기 검색된 (n+1)-비트들에 대한 패리티 신호를 발생시키며 상기 검색된 (n+1)-비트 워드의 상기 n-비트들은 상기 디스크 제어기로부터 기억된 데이타를 구성하는 디스크 모방기.
  57. 제55항에 있어서, 상기 기억된 패리티 신호가 상기 소멸성 기억 매체로부터 상기 병렬버스의 1개 라인을 통해 검색되는 디스크 모방기.
  58. 제56항에 있어서, 상기 검색된 패리티 신호를 반송하는 상기 병렬버스의 상기 라인과 상기 패리티 회로에 작동적으로 연결된 패리티 신호들의 비교 수단으로서, 상기 검색된 워드의 상기n-비트들에 대하여 발생된 상기 패리티 신호를 상기 검색된 패리티 신호와 비교하여 상기 패리티 신호들이 상이할 때 출력신호를 발생하는 패리티 신호 비교 수단을 더 포함하는 디스크 모방기.
  59. 제58항에 있어서, 상기 검색된 워드의 상기 n-비트들을 에러 정정하는 수단으로서, 작동적으로 상기 임시 데이타 기억 수단, 상기 데이타 검색 제어수단 및 상기 패리티 신호 비교 수단에 연결되어 상기 패리티 신호 비교 수단의 상기 출력신호를 받았을 때에만 동작되는 에러 정정 수단을 더 포함하는 디스크 모방기.
  60. 제59항에 있어서, 비섹터 특정 직렬데이타 스트림을 발생하며 작동적으로 상기 데이타 검색제어 수단과 상기 데이타 입출력 수단에 연결된 수단이 상기 디스크 모방기에 더 포함되어 있어, 상기 데이타 검색 제어수단은 한 순서의 신호들을 상기 번지 지정 수단, 상기 데이타 입출력수단, 상기 임시 데이타 기억 수단 및 상기 비섹터 특정 직렬데이타 스트림 발생 수단에 발생하여 상기 디스크 제어기로의 상기 직렬데이타 스트림이 상기 비섹터 특정 직렬데이타 스트림 발생 수단에 의해 제공된 비섹터 특정 데이타와 상기 소멸성 기억 매체에서 검색된 섹터 특정 데이타를 가진 섹터를 구성하게 되는 디스크 모방기.
  61. 제40항에 있어서, 상기 디스크 제어기가 SMD 디스크 제어기로된 시스템.
  62. 제40항에 있어서, 상기 소멸성 기억 매체가 DRAM 어레이로 된 시스템.
  63. 선택된 정수 "n”개 비트의 기억된 디지털 테이타 워드에서 단일비트 하드 에러들을 정정하는 방법으로써 : a) 상기 워드를 기억시키기 전에 소정 알고리즘에 따라 상기 n-비트 워드에 대한 패리티 비트를 발생시키는 단계, b) 상기 디지털 데이타 워드를 선택된 기억 장소에 기억시키는 단계, c) 상기 패리티 비트를 기억시키는 단계, d) 상기 선택된 기억 장소에서 상기 기억된 n-비트 워드를 검색하는 단계 f) 상기 소정 알고리즘에 따라 상기 검색된 워드에 대한 새로운 패리티 비트를 발생시키는 단계, g) 상기 새로운 패리티 비트를 상기 검색된 패리티 비트와 비교하는 단계 및 h) 상기 패리티 비트들이 상이할 때에만 상기 n-비트 검색워드를 에러 정정하는 단계로 구성된 단일 비트 하드 에러 정정 방법.
  64. 제63항에 있어서, 상기 에러 정정 단계가, a) 상기 검색된 워드를 반전시키는 단계, b) 상기 반전된 워드를 상기 선택된 기억 장소에 기록하는 단계, c) 상기 선택된 기억 장소에서 상기 워드를 검색하는 단계 및 d) 상기 선택된 기억장소에서 검색된 상기 워드를 반전시키는 단계를 포함하는 단일 비트 하드 에러 정정 방법.
  65. 중앙 처리 장치와 마찬가지로 디스크 제어기에 연결되어 중앙처리장치에 의해 이용되는 데이타를 기억하고 검색하는 고체 데이타 기억 시스템으로서 : 선택된 정수, n-비트 시프트 레지스터 수단으로서 상기 디스크 제어기로부터 데이타를 수신하는 직렬입력 단자, 상기 디스크 제어기에 데이타를 제공하는 직렬 출력 단자, 상기 시피트 레지스터 수단을 통해 상기 직렬 입력 단자와 상기 직렬 출력 단자를 연결하는 직렬데이타 경로 및 상기 시프트 레지스터 수단의 각 비트에 대한 병렬 데이타 입출력 단자들 그리고 제어 입력라인을 가지는 상기 n-비트 시프트 레지스터 수단과, 그 각각의 비트에 대한 병렬 데이타 입출력 단자들과 제어 입력 라인을 가진 n-비트 래치회로와, n-비트 워드들을 기억하도록 되고 상기 n-비트 워드의 각 비트에 대한 병렬 데이타 입출력 단자들을 가진 고체메모리 수단과, 상기 n-비트 시프트 레지스터의 상기 병렬 데이타 입출력 단자들을 상기 n-비트 패치회로의 상기 병렬 데이타 입출력 단자들 및 상기 고체메모리 수단의 상기 병렬 데이타 입출력 단자들과 작동적으로 연결하는 병렬버스와, 상기 고체메모리 수단에 작동적으로 연결된 메모리 어드레스 선택 회로로서, 상기 고체메모리 수단에 대한 고차 어드레스를 포함하는 제1입력 신호와 상기 고체메모리 수단에 대한 하위 어드레스를 포함하는 제2입력 신호를 수신하여 상기 입력 신호들에 해당하는 상기 고체메모리 수단의영역을 상기 병렬버스에 선택적으로 연결하는 메모리 어드레스 섹터 회로와 상기 디스크 제어기와 상기 메모리 어드레스 선택 회로에 작동적으로 연결된 어드레스 번역회로로서, 상기 디스크 제어기로부터의 기하 어드레스 정보에 응답하여 상기 메모리 어드레스 선택회로의 상기 제1입력 신호를 구성하는 출력신호를 발생하는 어드레스 번역 회로와, 작동적으로 상기 디스크 제어기, 상기 메모리 어드레스 선택회로, 상기 고체 메모리수단, 상기 n-비트 시프트 레지스터의 상기 제어 입력 라인 및 상기 n-비트 래치 회로의 상기 제어 입력 라인에 연결된 제어회로와도 구성되어 있어, 상기 제어회로가 상기 n-비트 레지스터, 상기 n-비트 래치회로, 상기 메모리 어드레스 선택회로 및 상기 고체메모리 수단에 신호들을 발생시켜 데이타를 n-비트 워드들로 상기 고체메모리 수단에 기억시키고 데이타를 상기 고체메모리 수단으로부터 검색하며, 상기 디스크 모방기로부터의 신호들에 응답하여 상기 제어회로가 상기 메모리 어드레스 선택회로를 위한 상기 제2입력신호를 발생시키는 고체데이타 기억시스템.
  66. 제65항에 있어서, 상기 디스크 제어기로부터의 직렬데이타 스트림이 섹터들을 구성하고, 각각의 섹터는 섹터-특정데이타와 비섹터-특정데이타로 구성되는 고체데이타 기억시스템.
  67. 제66항에 있어서, 상기 n-비트 래치회로에의 기어 수단에의 기억을 위해 섹터 특정 데이타를 선택하는 수단으로서, 상기 제어회로와 상기 병렬버스에 작동적으로 연결되어 상기 n-비트 시프트 레지스터의 데이타 출력신호들을 제공받고, 섹터 특정데이타의 시작을 나타내는 상기 n-비트 시프트 레지스터의 데이타 출력신호들의 패턴에 응답하여 상기 제어회로에 출력신호를 발생시키는 상기 섹터 특정 데이타 선택 수단을 더 포함하는 고체데이타 기억시스템.
  68. 제67항에 있어서, 상기 제어회로와 상기 섹터 특정 데이타 선택 수단의 상기 출력신호에 응답하여 제어 신호들의 순서를 상기 메모리 어드레스 선택회로와 상기 n-비트 시프트 레지스터와 상기 n-비트 래치회로에 발생시켜 상기 디스크 제어기로부터의 상기 섹터 특정 데이타가 상기 고체 메모리 수단에 상기 n-비트 워드들로 기억되게 하는 고체데이타 기억시스템.
  69. 제68항에 있어서, 상기 고체메모리 수단이 각각의 n-비트 워드에 대하여 (n+1)-비트들을 기억하도록 되고 (n+1)-비트에 대한 병렬데이타 입출력 단자를 가지는 고체데이타 기억시스템.
  70. 제69항에 있어서, 상기 병렬버스에 작동적으로 연결되고 2가지 동작 모드를 가지는 패리티 회로가 상기 고체데이타가 기억시스템에 더 포함되어 있어, 제1동작모드에서 상기 패리티회로가 상기 n-비트 래치회로에 기억된 상기 데이타에 대한 패리티 비트를 발생하고 상기 패리티 비트는 상기 고체메모리 수단의 상기 (n+1)-비트 장소에 기억되며, 상기 제2동작모드에서 상기 패리티회로가 상기 고체메모리 수단에서 검색된 n-비트 워드에 대한 패리티비트를 발생하는 고체데이타 기억시스템.
  71. 제70항에 있어서, 상기 기억된 패리티 신호가 상기 고체메모리 수단으로부터 상기 병렬버스의 1개 라인을 통해 검색되는 고체데이타 기억시스템.
  72. 제71항에 있어서, 상기 검색된 패리티 신호를 반송하는 상기 병렬버스의 상기 라인과 상기 패리티 회로에 작동적으로 연결된 패리티 신호들의 비교 수단으로서, 상기 검색된 워드의 상기 n-비트들에 대하여 발생된 상기 패리티 신호를 상기 검색된 패리티 신호와 비교하여 상기 패리티 신호들이 상이할 때 출력신호를 발생하는 패리티 신호를 비교 수단을 더 포함하는 고체데이타 기억시스템.
  73. 제72항에 있어서, 상기 검색된 워드의 상기 n-비트들을 에러 정정하는 수단으로서, 작동적으로 상기 n-비트 래치회로, 상기 제어회로 및 상기 패리티 신호 비교 수단에 연결되어 상기 패리티 신호 비교 수단의 상기 출력신호를 받았을 때에만 동작되는 에러 정정 수단을 더 포함하는 고체데이타 기억시스템.
  74. 제73항에 있어서, 비섹터 특정 직렬데이타 스트림을 발생하며 작동적으로 상기 n-비트 시프트 래지스터의 상기 직렬출력 라인과 상기 제어 신호에 연결된 수단이 상기 고체데이타 기억 수단에 더 포함되어, 상기 제어회로는 한 순서의 신호들을 상기 메모리 어드레스 선택회로, 상기 n-비트 시프트 레지스터, 상기 비섹터 특정 직렬데이타 스트림 발생수단 및 상기 n-비트 래치회로에 발생하여, 상기 디스크 제어기로의 상기 직렬데이타 스트림이 상기 비섹터특정 직렬 데이타 스트림 발생수단에 의해 발생된 비섹터 특정 데이타와 상기 고체메모리 수단에서 검색된 섹터특정 데이타를 가진 섹터를 구성하게 되는 고체데이타 기억수단.
  75. 제74항에 있어서, 상기 디스크 제어기가 SMD 디스크 제어기로된 고체 데이타 기억수단.
  76. 제74항에 있어서, 상기 고체메모리 수단이 DRAM 어레이로된 고체데이타 기억수단.
KR1019900700653A 1988-07-26 1989-07-25 디스크 모방 시스템(disk emulation system) KR970003316B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US07/224.530 1988-07-26
US07/224,530 US5070474A (en) 1988-07-26 1988-07-26 Disk emulation system
US07/224,530 1988-07-26
PCT/US1989/003197 WO1990001193A1 (en) 1988-07-26 1989-07-25 Disk emulation system

Publications (2)

Publication Number Publication Date
KR900702456A KR900702456A (ko) 1990-12-07
KR970003316B1 true KR970003316B1 (ko) 1997-03-17

Family

ID=22841086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900700653A KR970003316B1 (ko) 1988-07-26 1989-07-25 디스크 모방 시스템(disk emulation system)

Country Status (7)

Country Link
US (1) US5070474A (ko)
EP (1) EP0428597A4 (ko)
JP (1) JP2933282B2 (ko)
KR (1) KR970003316B1 (ko)
AU (1) AU4057589A (ko)
CA (1) CA1324444C (ko)
WO (1) WO1990001193A1 (ko)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190617B1 (en) 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
DE69033438T2 (de) 1989-04-13 2000-07-06 Sandisk Corp., Santa Clara Austausch von fehlerhaften Speicherzellen einer EEprommatritze
JPH03149614A (ja) * 1989-08-31 1991-06-26 Univ California 情報処理システム及び記憶処理方法
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5663901A (en) * 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5586302A (en) * 1991-06-06 1996-12-17 International Business Machines Corporation Personal computer system having storage controller with memory write control
US5291584A (en) * 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5778418A (en) * 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
US5404492A (en) * 1992-05-21 1995-04-04 Helios Incorporated Head disk assembly simulator
US5459742A (en) * 1992-06-11 1995-10-17 Quantum Corporation Solid state disk memory using storage devices with defects
US5337275A (en) * 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US5473753A (en) * 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
US5341330A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for writing to a flash memory array during erase suspend intervals
US5535369A (en) * 1992-10-30 1996-07-09 Intel Corporation Method for allocating memory in a solid state memory disk
US5740395A (en) * 1992-10-30 1998-04-14 Intel Corporation Method and apparatus for cleaning up a solid state memory disk storing floating sector data
US5452311A (en) * 1992-10-30 1995-09-19 Intel Corporation Method and apparatus to improve read reliability in semiconductor memories
US5448577A (en) * 1992-10-30 1995-09-05 Intel Corporation Method for reliably storing non-data fields in a flash EEPROM memory array
US5822781A (en) * 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
US5471604A (en) * 1992-10-30 1995-11-28 Intel Corporation Method for locating sector data in a memory disk by examining a plurality of headers near an initial pointer
US5416782A (en) * 1992-10-30 1995-05-16 Intel Corporation Method and apparatus for improving data failure rate testing for memory arrays
US5479633A (en) * 1992-10-30 1995-12-26 Intel Corporation Method of controlling clean-up of a solid state memory disk storing floating sector data
US5835933A (en) * 1993-02-19 1998-11-10 Intel Corporation Method and apparatus for updating flash memory resident firmware through a standard disk drive interface
US5740349A (en) * 1993-02-19 1998-04-14 Intel Corporation Method and apparatus for reliably storing defect information in flash disk memories
US5581723A (en) * 1993-02-19 1996-12-03 Intel Corporation Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
US5586285A (en) * 1993-02-19 1996-12-17 Intel Corporation Method and circuitry for increasing reserve memory in a solid state memory disk
US5603036A (en) * 1993-02-19 1997-02-11 Intel Corporation Power management system for components used in battery powered applications
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
WO1994019807A1 (en) * 1993-02-22 1994-09-01 Conner Peripherals, Inc. Flash solid state drive
SG49632A1 (en) * 1993-10-26 1998-06-15 Intel Corp Programmable code store circuitry for a nonvolatile semiconductor memory device
AU1091295A (en) * 1993-11-09 1995-05-29 Kenneth H. Conner First come memory accessing without conflict
US6173385B1 (en) * 1993-11-19 2001-01-09 Disk Emulation Systems, Inc. Address generator for solid state disk drive
US5754889A (en) * 1993-12-22 1998-05-19 Adaptec, Inc. Auto write counter for controlling a multi-sector write operation in a disk drive controller
US5473765A (en) * 1994-01-24 1995-12-05 3Com Corporation Apparatus for using flash memory as a floppy disk emulator in a computer system
US5765175A (en) * 1994-08-26 1998-06-09 Intel Corporation System and method for removing deleted entries in file systems based on write-once or erase-slowly media
US5771247A (en) * 1994-10-03 1998-06-23 International Business Machines Corporation Low latency error reporting for high performance bus
US5563828A (en) * 1994-12-27 1996-10-08 Intel Corporation Method and apparatus for searching for data in multi-bit flash EEPROM memory arrays
US5724592A (en) * 1995-03-31 1998-03-03 Intel Corporation Method and apparatus for managing active power consumption in a microprocessor controlled storage device
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US6757800B1 (en) 1995-07-31 2004-06-29 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6801979B1 (en) 1995-07-31 2004-10-05 Lexar Media, Inc. Method and apparatus for memory control circuit
US5930815A (en) * 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
US6081878A (en) 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US6125435A (en) * 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5802553A (en) * 1995-12-19 1998-09-01 Intel Corporation File system configured to support variable density storage and data compression within a nonvolatile memory
US5875477A (en) * 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
US5928370A (en) * 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
DE19708755A1 (de) 1997-03-04 1998-09-17 Michael Tasler Flexible Schnittstelle
US6411546B1 (en) 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
US6122195A (en) * 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US6034897A (en) * 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US6076137A (en) 1997-12-11 2000-06-13 Lexar Media, Inc. Method and apparatus for storing location identification information within non-volatile memory devices
GB9801373D0 (en) 1998-01-22 1998-03-18 Memory Corp Plc Memory system
US6374337B1 (en) 1998-11-17 2002-04-16 Lexar Media, Inc. Data pipelining method and apparatus for memory control circuit
ATE340405T1 (de) 1999-04-01 2006-10-15 Lexar Media Inc Raumverwaltung in einem nichtflüchtigen speicher mit hoher kapazität
US6141249A (en) * 1999-04-01 2000-10-31 Lexar Media, Inc. Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
US7102671B1 (en) 2000-02-08 2006-09-05 Lexar Media, Inc. Enhanced compact flash memory card
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US6973553B1 (en) * 2000-10-20 2005-12-06 International Business Machines Corporation Method and apparatus for using extended disk sector formatting to assist in backup and hierarchical storage management
US6631456B2 (en) 2001-03-06 2003-10-07 Lance Leighnor Hypercache RAM based disk emulation and method
CN1122281C (zh) * 2001-06-30 2003-09-24 深圳市朗科科技有限公司 一种多功能半导体存储装置
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
GB0123419D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Data handling system
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123417D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Improved data processing
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
AU2002360058A1 (en) * 2001-12-21 2003-07-09 Sony Dadc Austria Ag Record medium with different latencies
US6950918B1 (en) 2002-01-18 2005-09-27 Lexar Media, Inc. File management of one-time-programmable nonvolatile memory devices
US6957295B1 (en) 2002-01-18 2005-10-18 Lexar Media, Inc. File management of one-time-programmable nonvolatile memory devices
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
US7643983B2 (en) * 2003-03-28 2010-01-05 Hewlett-Packard Development Company, L.P. Data storage system emulation
GB0312569D0 (en) * 2003-06-02 2003-07-09 Accelerated Logic B V Data storage device
TWI309776B (en) * 2003-10-24 2009-05-11 Hon Hai Prec Ind Co Ltd Secure storage system and method for solid memory
CN1809833B (zh) 2003-12-17 2015-08-05 雷克萨媒体公司 用于减少用于购买的电子设备的盗窃发生率的方法
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US7831882B2 (en) 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US9459960B2 (en) 2005-06-03 2016-10-04 Rambus Inc. Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation
US7469368B2 (en) * 2005-11-29 2008-12-23 Broadcom Corporation Method and system for a non-volatile memory with multiple bits error correction and detection for improving production yield
US7562285B2 (en) 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
US8352805B2 (en) 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
GB2442501B (en) * 2006-10-05 2011-04-13 Advanced Risc Mach Ltd Apparatus and method for data processing having an on-chip or off-chip interconnect between two or more devices
US9323473B2 (en) 2009-01-09 2016-04-26 Hewlett Packard Enterprise Development Lp Virtual tape library
TW201212035A (en) * 2010-09-10 2012-03-16 Jmicron Technology Corp Access method of volatile memory and access apparatus of volatile memory
KR20150002129A (ko) * 2013-06-28 2015-01-07 에스케이하이닉스 주식회사 반도체 장치, 그를 포함하는 반도체 시스템 및 그 반도체 시스템의 테스트 방법
US10638601B2 (en) * 2017-08-11 2020-04-28 Seagate Technology Llc Apparatus comprising conductive traces configured to transmit differential signals in printed circuit boards
US11361839B2 (en) 2018-03-26 2022-06-14 Rambus Inc. Command/address channel error detection
DE102018006707A1 (de) * 2018-08-24 2020-02-27 Julius Montz Gmbh Kolonne mit Trennwand
CN114327258B (zh) * 2021-11-30 2023-08-15 苏州浪潮智能科技有限公司 一种固态硬盘处理方法、系统、设备及计算机存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5325443B2 (ko) * 1972-12-29 1978-07-27
US3863217A (en) * 1973-12-13 1975-01-28 Honeywell Inf Systems Apparatus for assembling and disassembling data characters transferred between data handling devices
US3891974A (en) * 1973-12-17 1975-06-24 Honeywell Inf Systems Data processing system having emulation capability for providing wait state simulation function
US3887901A (en) * 1974-04-29 1975-06-03 Sperry Rand Corp Longitudinal parity generator for mainframe memories
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
US4527234A (en) * 1982-08-02 1985-07-02 Texas Instruments Incorporated Emulator device including a semiconductor substrate having the emulated device embodied in the same semiconductor substrate
US4630230A (en) * 1983-04-25 1986-12-16 Cray Research, Inc. Solid state storage device
US4642759A (en) * 1984-04-02 1987-02-10 Targa Electronics Systems Inc. Bubble memory disk emulation system
US4617624A (en) * 1984-04-16 1986-10-14 Goodman James B Multiple configuration memory circuit
US4727512A (en) * 1984-12-06 1988-02-23 Computer Design & Applications, Inc. Interface adaptor emulating magnetic tape drive
JPS61229133A (ja) * 1985-04-03 1986-10-13 Nec Corp シングルチツプマイクロコンピユ−タ用エミユレ−タ
US4789960A (en) * 1987-01-30 1988-12-06 Rca Licensing Corporation Dual port video memory system having semi-synchronous data input and data output
US4849875A (en) * 1987-03-03 1989-07-18 Tandon Corporation Computer address modification system with optional DMA paging

Also Published As

Publication number Publication date
EP0428597A4 (en) 1991-11-13
CA1324444C (en) 1993-11-16
WO1990001193A1 (en) 1990-02-08
JP2933282B2 (ja) 1999-08-09
AU4057589A (en) 1990-02-19
KR900702456A (ko) 1990-12-07
EP0428597A1 (en) 1991-05-29
US5070474A (en) 1991-12-03
JPH04502826A (ja) 1992-05-21

Similar Documents

Publication Publication Date Title
KR970003316B1 (ko) 디스크 모방 시스템(disk emulation system)
US6374389B1 (en) Method for correcting single bit hard errors
US6018778A (en) Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory
US5737744A (en) Disk array controller for performing exclusive or operations
US6505281B1 (en) Hard disk drives employing high speed distribution bus
US4843544A (en) Method and apparatus for controlling data transfers through multiple buffers
EP0108346B1 (en) Memory reconfiguration method in a data processing system
US5072378A (en) Direct access storage device with independently stored parity
US4598357A (en) Cache/disk subsystem with file number for recovery of cached data
US4916605A (en) Fast write operations
US5732238A (en) Non-volatile cache for providing data integrity in operation with a volatile demand paging cache in a data storage system
US5124987A (en) Logical track write scheduling system for a parallel disk drive array data storage subsystem
US5430855A (en) Disk drive array memory system using nonuniform disk drives
US5809280A (en) Adaptive ahead FIFO with LRU replacement
JPS624745B2 (ko)
US4811280A (en) Dual mode disk controller
US4733366A (en) Apparatus for providing an interrupt signal in response to a permanent or transient power failure
US5630054A (en) Method and apparatus for storing and retrieving error check information
US5832005A (en) Fault-tolerant method and means for managing access to an initial program load stored in read-only memory or the like
US5396620A (en) Method for writing specific values last into data storage groups containing redundancy
US4438512A (en) Method and apparatus for verifying storage apparatus addressing
CN1022724C (zh) 非同步通道/直接存取存储器设备通信系统
US3911400A (en) Drive condition detecting circuit for secondary storage facilities in data processing systems
CA2134016A1 (en) Data storage device and method of operation
US4663733A (en) Programmable universal synchronization byte detector

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
FPAY Annual fee payment

Payment date: 20031229

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee