KR0128343B1 - 고장 내성 및 오류 정정 기억 장치 시스템 - Google Patents

고장 내성 및 오류 정정 기억 장치 시스템

Info

Publication number
KR0128343B1
KR0128343B1 KR1019890700189A KR890700189A KR0128343B1 KR 0128343 B1 KR0128343 B1 KR 0128343B1 KR 1019890700189 A KR1019890700189 A KR 1019890700189A KR 890700189 A KR890700189 A KR 890700189A KR 0128343 B1 KR0128343 B1 KR 0128343B1
Authority
KR
South Korea
Prior art keywords
data
interface
controller
disk drive
storage device
Prior art date
Application number
KR1019890700189A
Other languages
English (en)
Other versions
KR890702122A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22010025&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR0128343(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 디오도어제이 굿랜더 코포레이션, 스토리지 컴퓨터 filed Critical 디오도어제이 굿랜더 코포레이션
Publication of KR890702122A publication Critical patent/KR890702122A/ko
Application granted granted Critical
Publication of KR0128343B1 publication Critical patent/KR0128343B1/ko

Links

Images

Classifications

    • 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
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • Control By Computers (AREA)

Abstract

내용 없음.

Description

고장 내성 및 오류 정정 기억 장치 시스템
제1도는 종래 디스크 드라이브 시스템과 그 사용자와의 인터페이스 방식을 보인 도면.
제2도는 제1도의 종래 디스크 드라이브 시스템에 사용되는 디스크 및 헤드 위치 설정 시스템의 평면도.
제3도는 제1도의 종래 디스크 드라이브 시스템에 사용되는 디스크 및 헤드 위치 설정 시스템의 측면도.
제4도는 제1도 내지 제3도에서와 같은 장치에 사용되는 종래 패리티 검사 방법을 보인 도면.
제5도는 본 발명의 지능 디스크 드라이브 시스템의 블럭도.
제6도는 본 발명에 사용되는 가상 디스크 제어기의 기본 구조를 보인 도면.
제7도는 비교 목적을 위해 제4도에서의 데이타 저장에 대응하는 본 발명의 한 실시예에 따른 복수의 디스크 드라이브 유니트에 대한 데이타 저장을 보인 도면.
제8도는 순차 바이트를 포함하여 연속한 비트로서 사용자에 의한 후속 억세스를 위해 개별 디스크 드라이브가 제7도의 데이타를 버퍼로 어떻게 전송하는가를 보인 도면.
제9도는 사용자에 의한 후속 억세스를 위해 상기 개별 디스크 드라이브가 제10도의 데이타를 분리 버퍼로 비동기적으로 어떻게 전송하는가를 보인 도면.
제10도는 비교 목적을 위해 제4도에서의 기억된 데이타에 대응하는 본 발명의 제2실시예에 따른 복수의 디스크 드라이브 유니트에 대한 데이타 저장을 보인 도면.
제11도는 본 발명에 따른 가상 디스크 드라이브 시스템의 상세 블럭도.
제12도는 단일 디스크상의 다른 실린더로의 이동을 요하는 일련의 명령어의 종래의 실행을 보인 도면.
제13도는 가상 디스크를 포함하는 디스크가 실린더 지향되고 그것에 의해 사용자에 대한 유익한 실행이 실현되는 한 실시예에 사용되는 본 발명을 보인 도면.
제14도는 그것을 통해 데이타가 실제디스크 드라이브로 전달되는 본 발명의 배터리 백업 비동기 큐메모리가 많은 응용에 있어 동작의 속도를 개선하기 위해 어떻게 캐쉬 메모리로서 작용하는가를 보인 도면.
본 발명은 디스크 드라이브 등과 같은 컴퓨터용 대용량 기억장치에 관한 것이다. 본 발명은 컴퓨터에 대용량 기억 장치로서 사용되는 디스크 드라이브를 갖춘 특별한 유틸리티를 가지고 있으며, 본 발명은 이러한 유틸리티와 관련되어 설명된다. 하지만, 본 발명의 이점은 기타 다른 대용량 기억 장치(예컨대, 광학 디스크, 고밀도 RAM 어레이, 버블(bubble) 메모리등)에도 유리하게 사용될 수 있다.
현재 컴퓨터 기술에서, 소위 윈체스터 기종 등의 디스크 드라이브는 프로그램과 데이터의 대용량 기억 장치용으로 사용되고 있는 주요 장치이다. 이 디스크 드라이브는 저렴한 비용으로 인해, 시중에서 구입할 수 있는 보다 많은 색다른 장치가 존재하더라도 장래에 폭넓게 사용될 것이다.
종래 디스크 드라이브는 일반적으로 제1도 내지 제4도에 도시된 방식으로 동작한다. 제1도에 도시된 바와 같이, 사용자 CPU(10)는 통상적으로 버스(12)에 접속되어 있으며, 이 버스(12)는 특히 전반적으로 16으로 표기된 비-지능 디스크 드라이브에 대해 입출력을 행하는 비-지능 시스템 디스크 제어기(14)에 접속되어 있다. 이 제어기(14)와 상기 디스크 드라이브(16)는 일반적으로 상기 사용자 CPU(10)가 요구하는 작업만을 행한다는 점에서 비-지능적이라고 말한다. 상기 디스크 드라이브(16)는 I/O 케이블(18)에 의해 상기 제어기(14)에 접속되어 있다. 상기 디스크 드라이브(16)내에는 이 디스크 드라이브의 헤드의 위치를 결정하는 기계적/전기적 드라이브 어셈블리(20)가 존재하며, 이 어셈블리는 기억 디스크(22) 자체에 대해 판독 및 기록을 행하는데 필요한 아날로그/디지탈 변환과 디지탈/아날로그 변환을 행한다. 이 과정이 제2도와 제3도에 보다 상세히 도시되어 있다.
상기 기억 디스크(22)는 화살표(28)에 의해 표기한 바와 같이 중앙 허브(26)를 중심으로 회전하는 1개 이상의 물리적 디스크(24)를 포함하고 있다. 일반적으로, 주소 지정을 위해, 상기 디스크(24)는 복수의 동심 트랙(30)으로 분리되어 있고, 이 트랙은 복수의 섹터(32)로 분리되어 있다. 수직으로 정렬되어 있는 특정 개수의 트랙(30)은 상기 헤드(34)의 위치의 재결정 없이 판독될 수 있는 최대 데이타량인 실린더를 형성하고 있다. 상기 디스크(24)는 민감한 주변 지시기(도시되어 있지 않음)를 가지고 있으며, 상기 지시기에 의해 상기 드라이브 어셈블리(20)내에 포함되어 있는 주소 지정 논리 회로는 상기 디스크(24)의 회전 위치를 결정할 수 있다. 판독/기록 헤드(34)는 헤드 위치 결정 기구(38)에 접속되어 있는 아암(36)의 단부에 위치되어 있으며, 상기 헤드 위치 기구에 의해 상기 헤드(34)는 드라이브 어셈블리(20)의 제어하에서 화살표(39)에 의해 표기된 바와 같이 안쪽과 바깥쪽으로 이동될 수 있다. 상기 디스크(24)상의 특정 위치에 대한 판독 또는 기록을 위해, 상기 헤드(34)가 전자적으로 선택되고, 상기 아암(36)들이 적당한 실린더(30)에서 반사상으로 모든 헤드(34)의 위치를 결정하기 위해 일제히 이동된다. 다음에, 판독 또는 기록을 위한 섹터(32)가 상기 선택된 헤드(34)의 아래에 놓일 때까지 상기 디스크(24)의 회전 위치가 감시된다. 이때, 상기 판독/기록이 상기 디스크(24)의 회전 속도에 의해 결정된 속도로 수행된다.
이러한 디스크 드라이브는 이용할 수 있는 어떤 개선에 대한 부족함 때문에 많은 문제점을 가지고 있다. 일예로, 상기 디스크(24)의 보다 높은 패킹 밀도가 가능하도록 헤드와 자기 표면처리 재료 기술이 개발되어 왔다. 이에따라, 실린더당 보다 많은 섹터가 얻어질 수 있고 디스크당 보다 많은 실린더가 얻어질 수 있다. 또한, (상대적으로) 보다 높은 용량과 보다 높은 속도가 제공된다. 속도측면에서, 디스크 드라이브 기술의 전자 분야 및 기타 다른 분야는 매우 높은 전송 속도가 가능하도록 발전된 반면에, 물리적 회전 분야는 개발이 중단되어 전송 속도의 의미있는 증가에 대한 병목 현상이 야기되었다. 초기의 컴퓨터는 이 컴퓨터의 메인 메모리로서 회전식 드럼 메모리는 이용하고 있었다. 이 드럼의 외부 표면은 자성 재료로 코팅되어 있고, 판독/기록 헤드는 자성 표면에 인접하여 영구적으로 부착되어 있다. 각각의 헤드가 상기 드럼의 하나의 트랙에 제공되며, 이들 각각의 트랙은 복수의 섹터로 분리되어 있다. 주소 지정은 헤드(예컨데, 트랙)와 회전 위치의 선택에 의해 수행되었다. 이러한 초기 드럼 메모리의 회전 속도는 3,600rpm이었다. 오늘날의 고급 기술 디스크 드라이브의 회전 속도도 여전히 3,600rpm인데, 이는 본 명세서에서의 설명에 중요하지 않은 물리적인 제한 때문이다. 상기 회전 속도는 상기 판독/기록 헤드(34)에 대해 데이터가 얼마나 고속으로 전달될 수 있는지를 결정해 주므로, 상기 회전 속도는 3,600rpm 이상으로 증가될 수 없고, 비트 밀도도 현재의 레벨에서 실질적으로 최대로 되면, 디스크 드라이브 전송 속도를 증가시킬 수 있는 잠재력이 그렇게 많지 않음을 알 수 있다.
제1도 내지 제3도의 간단화된 도면에 의해 나타내어진 디스크 드라이브와 같은 종래 디스크 드라이브에 대한 또 다른 제한은 선택된 실린더들 사이에서 상기 아암(36)과 헤드(34)를 안쪽으로 그리고 바깥쪽으로 물리적으로 이동시키는 것과 관련된 탐색 시간이다. 이동이 방사 말단들 사이에서(즉, 디스크의 회전 중심과 주변에 인접한 위치들 사이에서) 행해지는 경우에는 특히, 이동에 대한 탐색 시간은 상당할 수 있으며, 그리고 이러한 시간은 상기 디스크(24)가 상기 헤드(34)의 아래에서 회전되지만 어떠한 판독 또는 기록이 행해지지 않을 때의 손실 시간이다. 방사 말단들 사이에서 반복적으로 행해진 판독과 기록이 존재하는 경우에는, 스래싱(thrashing)의 문제가 존재하는데, 즉 상기 아암과 헤드는 하나의 방사 방향으로 가속된 후에, 단지 반대 방향으로 다시 가속될 수 있도록 브레이킹된 다음에, 다시 한번 브레이킹되어야 한다는 문제가 존재한다. 방사 거리가 긴 경우에는, 반복적인 개시 및 정지에 의해, 상기 이동을 달성하는 구성 요소에 해로운 큰 힘이 작용하게 된다. 이에따라, 물론 상기 드라이브와 이 드라이브의 구성 요소의 수명이 단축되거나 고장이 발생할 수 있다. 상기 디스크용 시스템 제어(14), 버스(12), 및 CPU(10)에게는, 탐색 시간은 디스크 요구가 완료될 때까지 기타 다른 어떠한 유용한 작업도 수행될 수 없는 대기 상태가 된다. 탐색 시간은 전체적인 디스크 요구 사이클 시간의 대부분에 대한 평균치이며, 이에따라 CPU(10)의 성능이 바로 저하된다. I/O 디스크 요구 회수가 많을 수록, 보다 좋은 어떤 시스템 성능이 달성될 수 없는 I/O 또는 디스크 바운드(disk bound) 상태에 이를 때까지 시스템 성능은 저하된다.
제4도에 대해 잘 알 수 있는 종래 디스크 드라이브 기술의 또 다른 해로운 측면으로는 재구성가능성의 당연한 고려에 대한 신뢰성을 들 수 있는 데, 즉 손실 데이타에 대해 어떻게 보호를 행하고, 손실 데이타를 어떻게 재구성할 수 있느냐는 점이다. 종래에는, 이 질문에 대한 대답은 아니오와 불충분하다이다. 제4도는 일반적인 종래 디스크(24)상에 4개의 연속 8비트, 즉 4개의 바이트를 나타낸 것이다. 이들 바이트는 도시된 바와같이 화살표 방향으로 위에서 아래로 섹터(예컨데, 흔히 256, 512, 1024 또는 2048 바이트 길이의 데이타 블럭)의 형태로 순차적으로 기록 및 판독 된다. 따라서, 제1바이트는 2진수10101010이며, 마지막 바이트는 11111111이다. 하지만, 판독 또는 기록 동안에 감산되거나 또는 가산된 비트로부터의 오류를 방지하기 위해, 상기 종래 기술이 개발되었고, 기억 장치에 예컨대 바이트, 니블과 같은 각각의 데이타 엔터티를 가진 소위 패리티 비트(상기도면에서 비트 위치 P로 표기됨)를 계속 이용하고 있었다. 패리티는 짝수 또는 홀수일 수 있다. 도시된 패리티 기술은 상기 바이트와 상기 패리티 비트로된 비트들의 합이 항상 짝수이어야 하는 짝수 패리티 시스템이다. 제1바이트(10101010)에서, 1의 개수는 4개, 즉, 짝수이다. 따라서, 상기 패리티 비트는 0 이다. 상기 제1바이트가 판독되면, 상기 하드웨어는 그 비트(패리티 비트을 포함해서)를 합하고, 이 합이 짝수이면, 어떠한 오류도 존재하지 않음을 뜻한다. 1비트가 손실 또는 가산되면, 상기 합은 홀수가 될 것이고, 패리티 오류 상태가 존재하게 된다. 하지만, 오류있는 비트의 비트 위치를 알 수 없으므로, 어떤 정정 동작을 행하기에는 정보가 불충분하다. 또한, 데이타가 전송될 때에는 직렬로 전송된 데이타의 각각의 섹터에 관련된 순환 중복 코드(CRC)가 존재한다. 상기 데이타의 각각의 섹터에 대한 CRC가 검사되고, 상기 CRC 테스트가 실패하면 섹터 보전성(integrity) 오류 상태가 존재하게 된다. 상기 섹터내의 상기 패리티 오류로, 섹터 보전성의 CRC 테스트는 실패하게 된다. 일반적으로 이러한 경우에, 행해지는 유일한 정정 동작은 상기 CRC 오류가 순간적인 것인지를 알아 보기 위해, 판독 또는 기록을 n(상기 시스템에서 미리 설정된 값)회 만큼 반복하는 것이다. 상기 CRC 오류가 지속되면, 할 수 있는 유일한 동작은 어떻게 진행할 것인지에 대한 명령을 요구하는 오류 메시지, 예컨대 디스크 판독 오류, 재시도-계속 진행-중지?(DISK READ ERROR, RETRY-CONTINUE-ABORT?)와 같은 메시지를 사람인 조작자에게 프린팅해 주는 것이다. 손실 데이타를 재구성하기를 원하거나 재구성할 필요가 있는 경우에, 종래 기술은 여유 디스크를 이용하는 경우와 같이 비용이 많이 들고 시간이 필요한 방법, 또는 다른 디스크, 테이프 등에 상기 디스크상의 데이타와 프로그램을 백업하거나 복사하는 방법을 의존하고 있었다. 여유 디스크 시스템에서는, 하나의 디스크가 오류를 가지고 있으면, 복사 디스크상에서 그 데이타를 여전히 이용할 수 있도록, 모든 데이타가 다이내믹하게 복사된다. 비용 요소를 무시하면, 이러한 원리는 순간적인 전압 스파이크(디스크 오류의 공통 발생원)에 의해 동일한 오류 데이타가 동시에 두 디스크상에 기록될 때까지는 바람직하다. 백업 시스템은 초기에 컴퓨터를 사용할 때부터 사용 되어 왔다. 초기에 컴퓨터 시스템은 전자 타자기상에서 천공 종이에 메모리내의 데이타를 천공시킴으로써 백업을 행하였다(시간이 많이 필요함). 보다 현대적인 백업 시스템은 일반적으로 백업될 데이타의 기억을 위해 일부 종류의 자기 테이프 또는 디스크 기술을 이용하고 있다. 따라서, 이러한 과정은 비용이 많이 들고 많은 시간을 필요로 하며, 그리고 마지막 백업 시간과 고장 발생 시간과의 사이에서 데이타를 손실하게 된다.
종래 제어기와 기억 장치에서는, 모든 제어기가 해당 기억 장치에 배선되어 있다는 점을 주의해야 한다. 상기 기억 장치의 크기가 고정되어 있으면, 이 기억 장치와 관련되어 있는 제어기의 내부 논리 회로의 크기가 고정되게 된다. 상기 기억 장치의 크기가 고정된 제한 범위 및 크기 증가 범위내에서 변경될 수 있으면, 기껏해야 상기 제어기는 그러한 것이 어떤 모델인지에 대하여 기억 장치에 질문할 수 있고, 다양한 모델을 위한 내부 논리에서 설정된 크기로부터 선택할 수도 있으며, 또한 설계되어 구성된 상기 제어기 보다 다른 기억 장치의 크기와 종류를 자동적으로 조정할 능력은 없다. 만약 사용자가 새로운 종류 및 크기를 가진 장치를 얻기를 원한다면, 새로운 제어기 역시 얻어야만 한다. 또한 사용자 인터페이스 측면에 대해서, 새로운 인터페이스 규약이 채택된다면, 상기 제어기는 적당한 인터페이스로 대체되어야만 한다. 같은 것이 기억 장치 측면상에서 발생하며 새로운 인터페이스 규약은 전체적으로 새로운 제어기를 의미한다.
탐색 시간 문제에 대해, 시스템 성능의 저하기로서 탐색 시간의 인식이 적었으며, 상기 문제에 대한 어떤 종류의 정정을 제공하는 시도도 거의 없었다. 이는 상기 시도가 위에서 언급한 구성과 동작을 가진 종래 제어기/기억장치 방법내에서 수행되기 때문이다. 따라서, 그러한 탐색 시간 감소를 위해 상업적으로 존재하는 시도는 사용자 CPU와 각각의 디스크 드라이브에 접속된 복수의 제어기 사이에서 라운드 로빈(round-robin) 기초 최적화 하드웨어 삽입이었다. 여러 제어기측에의 판독 및 기록 요구시, 상기 최적화 하드웨어는 연속적으로 상기 동작이 완료되었는지의 여부를 알기 위해 상기 제어기에 질문을 행한다. 완료되지 않았으면, 상기 하드웨어는 완전하고 그러한 요구를 다루는 하드웨어를 발견할 때 까지 계속해서 이동한다. 이러한 것은 결코 최적의 것은 아니지만 종래 기술에 근거를 둔 FIFO를 이용하여 그러한 요구를 취급하는 것보다 양호하다. 하지만, 종래의 제어기와 기억 장치의 동작 모드의 한계내에서, 그러한 것이 희망할 수 있는 최상의 것일 것이다.
과거 몇년동안에, 직렬 디스크 드라이브(예컨대, 탐색 시간의 수행에 대한 결점을 감소시키는)의 전송속도 병목 현상의 인식에서, 일부의 초기 작업이 병렬 전송 드라이브(PRD)와 함께 수행된다. 본 발명에서 본 출원인이 발견한 것과 정반대인 이러한 작업은 탐색 시간이 데이타 전송 비율 문제와 관계가 없다고 가정한 것이다.
현재의 PTD발전 상태는 후지쯔 아메리카, 인코포레이티드의 마이클 가멜(Michael Gamerl)저, 직렬 채널 디스크 드라이브에 의해 생성된 다수의 응용에서의 병목 현상은 PTD로 보고되지만, 가격/Mbite는 높고 기술은 여전히 개선됨이라는 논문에 수록되어 있으며, 이 논문은 HARDCOPY 잡지의 1987년 2월호의 41페이지 서두에 설명되어 있다. 일반적으로, 상기 기사에 따라 PTD를 이용한 접근법은 일피하여 실제로 또는 가상으로 스핀되도록 기계적 또는 전자적으로 링크된 복수의 마그네틱 디스크에 병렬로 기록된 데이타와 함께 아암 위로 이동된 복수의 판독/기록 헤드를 이용한 것이다. 소위 덤(dumb)단말기, 즉 어떤한 결정 능력도 가지고 있지 않거나 또는 약간의 결정 능력을 가지고 있는 상기 단말기에서, 종래 PTD는 일반적으로 제공된 논리가 시영역에서 데이타 전송 비트 위치의 호출 시간과 정렬 부분에서의 소규모 차이를 보상하는 상기 데이타의 전송용 경로에 이용된 관련논리(예컨대, 디스큐잉(de-skewing)회로망)와 함께 FIFO버퍼로 구성된다. 일부 PTD개발자는 지능제공을 주장하지만, 이들은 지능이 사용자 인터페이스의 부분이며 성능 잠재력을 실제로 저하시킨다고 한다. 상기 논문에서 설명된 바와 같이, 개별적으로 각각의 PTD 아암을 지지하기 위해, 드라이브 하드웨어는 각각에 대해 복사된다. 그렇지 않으면, PTD의 구조는 높은 수행의 직렬 드라이브와 유사한 구조를 가지게 된다. 전송된 데이타의 정정과 자체 검사용으로 제공된 어떠한 언급된 사항도 없으며, 사용자 또는 기억 장치와 무관한 이터페이스용으로 제공된 어떠한 언급된 사항도 없다. 탐색 시간의 최적화는 언급된 것도 없을 뿐만 아니라 실제로 고려되지도 않는다.
마지막으로, 고장내성(fault tolerance)의 개념과 이 목적을 달성하는데에 대한 기억 시스템의 무능에 대해 설명되어야 한다. 고장 내성 컴퓨터 시스템에 관한 최근의 기사에서는 고장 내성 시스템을 어떠한 단일의 고장도 사용자에게 명백해지지 않는 시스템. 환언하면, 고장 내성이란 어떤 구성 요소에서 고장이 발생 하더라도 시스템이 계속해서 처리를 행함을 뜻하는 것으로서 설명하고 있다. 고장 내성을 위해 필요한 5가지 특성, 즉, 리던던시, 검출, 격리, 재구성, 및 복구등 5가지의 특성이 존재한다. 첫째로, 어떤 구성 요소가 고장나면 그 역할을 다른 구성 요소가 행할 수 있도록, 상기 시스템의 모든 구성 요소는 백업을 가지고 있어야 한다. 둘째로, 고장은 이 고장이 식별되어 복구될 수 있도록 상기 시스템에 의해 검출될수 있어야 한다. 세째로, 한 구성 요소의 고장이 기타 다른 구성요소에 악영향을 미치지 않도록, 고장난 구성 요소는 상기 시스템의 나머지 부분으로 부터 격리되어야 한다. 넷째로, 상기 시스템은 고장난 구성 요소로부터의 영향을 제거 할수 있도록, 그리고 이 고장에도 불구하고 계속적으로 동작할 수 있도록 재구성될 수 있어야 한다. 마지막으로, 복구시, 상기 고장난 구성 요소는 처리에 대해 어떠한 인터럽트도 일으키지 않고 서비스로 복귀되어야 한다. 본 기억 시스템에 대해, 고장 내성의 개념은 간단하지가 않다. 상기 5가지 특성중 어느것도 충족되지는 않는다. 앞서 설명한 바와 같이, 일반적인 종래 디스크 기억 시스템에서, 순간적이지 않은, 따라서 동작의 재수행에 의해 정정될 수 없는 CRC 오류(오류)에 의해 상기 시스템의 매우 명백한 무능력은 지속된다.
따라서, 본 발명의 주요 목적은 제어기, 및 디스크 드라이브와 같은 관련 기억 장치에 대한 새로운 접근법을 제공하는데 있으며, 이에따라 탐색 시간 등의 감소를 통해 능력의 이용을 최적화하는 지능 환경에서 동작하는 복수의 장치를 이용 하는 병렬 동작의 이점이 제공된다.
본 발명의 다른 목적은 보다 색다르고 고가인 기억 기술을 이용하지 않고도 높은 용량을 제공하는데 있다.
본 발명의 또다른 목적은 고장 내성, 높은 신뢰성, 및 손실된 데이타(lost data)를 간단하고 용이하게 재구성할 수 있는 능력을 제공하는데 있다.
본 발명의 또 다른 목적은 대용량 데이타 기억 시스템의 백업에 대한 필요성을 크게 줄이고, 일부의 경우에서는 완전히 제거하는 기억 시스템 기술에 대한 새로운 접근을 제공하는데 있다.
본 발명의 또 다른 목적은 회전 속도 및 탐색 시간에 통상적으로 부과된 제한을 극복하여, 기억 장치에 대한 전송속도를 크게 증가시키는데 있다.
본 발명의 또 다른 목적은 종래 기억 장치들간의 통신과 동작 지능에 인터페이스 투명성을 제공하는, 종래 컴퓨터 기억 장치 제어기와 종래 기억 장치 사이에 지금까지 존재하지 않은 장치를 제공하는데 있다.
본 발명의 기타 다른 목적과 이점은 첨부된 도면과 더불어 성세한 설명으로 부터 명백해진다.
상기 목적과 기타 다른 목적은 오류/복구 코드 비트를 보유하고 있는 하나의 여분의 기억 장치를 사용하여 손실된 데이타를 재구성하고; 사용자 및 이용된 기억 장치와 함께 손쉽게 인터페이스를 변화시키고; 복수의 기억 장치에 동시에 판독과 기록을 하는 단일의 제어기를 가지고; 사용자 및 이용된 기억 장치와 함께 복수의 인터페이스 규약을 동시에 이용하고; 다른 기억 장치형의 동시 사용을 보유하고 있는 다양한 기억 장치형을 빠르고 쉽게 조정하고; 사용자의 명료성과 편리를 위해 다른 기억 장치를 모방하고; 다양한 크기의 장치에 적용시킬 수있는 본 발명의 기억 장치와 제어 시스템에 의해 달성된다.
특히, 상기 목적은 본 발명의 기억 장치 시스템에 의해 실현되며, 이 시스템은 손실된 데이타를 동적으로(dynamically) 그리고 투명하게(transparently)재구성할 수 있으며, 디지탈 정보를 저장하기 위한 복수의 개별적인 제1기억 장치와 오류/복구 코드 비트를 저장하기 위한 개별적인 제2기억 장치를 포함하고 있다. 상기 복수의 개별적인 제1기억 장치를 교차하여 대응 하는 각각의 비트위치에서의 디지탈 정보에 대한 소정의 패리티 검사 알고리즘에 따라 개별적인 제2기억 장치에서의 오류/복구 코드 비트를 발생 및 저장하기 위한 수단이 제공된다.
또한, 개별적인 상기 제1및 제2기억 장치가 디지탈 정보 전송중 오류를 검출할때, 패리티 검사 알고리즘에 따라 디지탈 정보에서 오류내의 변화된 비트를 재구성하기 위해 상기 복수의 제1개별 기억 장치를 교차하여 대응하는 각각의 비트 위치의 내용과 더불어 오류/복구 코드 비율을 이용하기 위한 수단이 제공된다.
또한, 상기 목적을 실현하기 위해, 인터페이스 수단이 사용자 CPU로부터의 판독 및 기록 요청을 수신하도록 삽입되고, 복수의 기억 장치 제어기 수단이 복수의 기억 장치를 인터페이스하고 그것을 동시에 동작시키기 위해 상기 복수의 기억 장치중 각각의 기억 장치와 인터페이스 수단 사이에 접속되어 있다. 또한, 상기 인터페이스 수단은, 제1인터페이스 규약에 따라 사용자 CPU로부터의 요청을 수용하고, 복수의 기억 장치와의 인터페이스를 위한 기억 장치 제어기 수단에 의해 사용되는 제2인터페이스 규약으로 상기 요청을 변환하는 인터페이스 정의 수단을 포함하고 있다. 또한, 상기 인터페이스는 상기 기억 장치에 기후 및 판독에 있어 상기 기억 장치 제어기의 동작 시퀀스를 제어하기 위해 상기 복수의 기억 장치 제어기에 동작 가능하게 접속된 CPU수단을 가진 제어부를 포함하고 있다.
또한, 바람직한 실시예에서, 해당 기억 장치에 대해 데이타 기록 및 판독되는 복수의 기억 장치 각각에 복수의 데이타 버퍼가 접속되어 있으며, 해당 기억 장치측으로 데이타를 전달하기 위해 데이타 버퍼로 전달되기에 앞서 모든 기억 장치로 기록될 데이타가 위치하게 되는 버퍼 메모리가 있으며, 상기 CPU수단을 데이타가 버퍼 메모리에 위치하자마자 관련 기억 장치로의 기록을 바로 확인 응답하기 위한 논리 회로를 포함하고 있다. 또한, 상기 CPU수단은 버퍼 메모리내의 데이타검사하고, 판독 요청이 사용자로부터 수신될 때 그것에 의해 수 버퍼 메모리가 캐쉬 메모리로서 작용하는 실제판독없이 관련 기억 장치로 부터 판독된 것으로 지시하기 위한 논리 회로를 포함하고 있다.
본 발명은 첨부 도면의 참조로 보다 잘 이해될수 있다.
본 발명은 하나의 종래 디스크 드라이브를 가상의 디스크 드라이브로 대체하는 것에 기초를 두고 있으며, 상기 가상의 디스크 드라이브는 데이타용의 개별적이고 별개인 종래 디스크 드라이브와 상기 데이타와 관련된 오류 복구 코드(ERC)의 기억 전용인 하나의 부가적인 디스크로 구성되어 있고, 이때 상기 복수의 디스크 드라이브는 병렬로 동시에 그리고 지능적으로 동작한다. 이하에서 상세히 설명되는 바와 같이, 이와 같이 지금까지 시도되지 않은 접근법이 본 발명의 상기 모든 목적에 대한 기초를 제공한다. 상기 가상 디스크의 용량은 그 개별적인 디스크의 용량의 n배이며, 이에 따라 용량 증대라는 목적이 실현된다. 고정된 전송속도로 상기 개별적인 디스크 드라이브내에서 동일한 회전 속도를 이용하고 있더라도, 직렬이 아닌 병렬로 동작하는 상기 가상 디스크는 개별적이고, 직렬적이며, 그리고 회전 제한된 디스크 드라이브에 의해 실현될 수있는 속도보다 적어도 7배 또는 8배 높은 전송속도를 달성할 수 있어야 한다. 고장 내성, 신뢰도, 및 재구성 가능성에 대해, 이하의 설명으로부터 알 수 있는 바와 같이, 본 발명의 지능적인 가상 디스크 접근법은 빈번한 백업이 리던던트가 불필요함에 따라 제거될 수 있도록 하기 위해 신뢰도를 극대화 시키고 재구성을 제공한다. 또한, 상기 접근법은 기본적인 고장 내성에 필요한 5가지의 특성 모두를 충족해 준다.
본 발명의 지능적인 가상디스크 드라이브는 제5도에 전반적으로 40으로 표시되어 있다. 제1도의 사용자 CPU(10)에게는 본 발명의 가상 디스크 드라이브(40)가 투명(transparent)한데 , 즉 본 발명의 가상 드라이브(40)는 상기 CPU(10) 에게 는 종래 디스크 드라이브(20)와 같은 기타 다른 디스크 드라이브 처럼 보인다. 접속의 간단한 문제이다. I/O 케이블(18)은 제1도의 종래 디스크 드라이브(16)로 부터 간단히 플러그 접속 해제되어, 본 발명의 상기 가상 디스크 드라이브(40)측에 플러그 접속된다. 이것이 필요한 전부이다. 이점은 중요한 고려 대상인데, 이는 어떤 장치가 시중에서 구입할 수 있는 것이면 기존의 하드웨어 및 소프트웨어와 플러그 호환성이 있어야 하기 때문이다. 그러므로 본 발명에서는, 상기 CPU(10)가 통상적이고 예측되는 방식으로 I/O케이블(18)을 통한 디스크 드라이브(40)와의 인터페이스를 위해 그 판독/기록 요구를 해당 디스크 제어기(14)로 보낸다. 하지만, 가상 디스크 드라이브(40)내에서는, 실제로는 I/O 케이블(18)이 가상 디스크 제어기(42)에 접속된 CPU 기초 지능 인터페이스 제어부(43)와 인터페이스하는데, 이점이 본 발명의 핵심이다. 또한, 제1도의 드라이브와 같은 복수의 개별적인 종래 디스크 드라이브(16, 16')를 사용하기 위해 상기 가상 디스크 제어기(42)가 접속되어 있다. 상기 디스크 드라이브(16, 16')측으로의 가상 디스크 제어기(42)측으로의 입력은 이하에서 간단히 설명되는 바와 같이 그것이 현재 사용되고 있는 어떠한 포맷에도 대응하여야한다. 상기 디스크 드라이브(16)가 특성에 있어 통상적인 것이고, 그 인터페이스 또한 종래의 것이기 때문에, 상기 디스크 드라이브(16,16')는 증가된 속도, 용량 및 오류 방지와 재구성 가능성과 같은 본 발명의 비회전 에 근거한 이점을 실현하기 위해 버블 메모리 등에 의해 쉽게 대치될수 있다. 인터페이스 정의는 양쪽에서의 종래의 인터페이스에서의 변화에 대한 재구성이 그 인터페이스 정의를 변화시킴으로써 이루어질 수 있도록 별도로 대치 가능 하다.
내부 재구성 가능 인터페이스는 새로운 기억 장치가 일정하게 유지되는 변화되지 않은 사용자 인터페이스가 언제라도 함께 사용될 수 있다는 것을 의미한다. 그러므로, 사용자에 의해 주로 지정되는 디스크 드라이브는 사실상 버블 메모리나 몇몇 다른 기억 장치가 될 수도 있다. 그러므로, 본 발명은 두 방향으로 명료성을 제공하는, 사용자와 기억 장치사이에 삽입된 지금까지는 존재하지 않은 장치를 구현한다.
제6도를 참조하면, 최대 융통성 및 재구성 가능성을 위한 본 출원인에 의해 만들어진 바와 같은 본 발명의 물리적 구조가 단순화된 형태로 도시되어 있다. 시험적 실시예에서, 종래에 대해 본 발명을 구별하는 지능을 제공하기 위해 사용된 CPU(44)가 컴퓨터 버스(BUS)(46)에 접속된다. 상기 컴퓨터 버스(46)에 플러그 접속된 복수의 카드(48)는 CPU(44)와 디스크 드라이브(16)를 인터페이스하기 위한 논리를 포함하고 있다. 카드(48')는 오류/복구 디스크(16')의 고장을 제어 및 검출 한다. 이들은 드라이브(16,16')로부터의 어떤 고장도 정정하기 위한 논리 및 데이타를 포함하고 있다. 시스템 디스크 제어 인터페이스는 사용된 장치와 관련된 규약이 변화되면 가상 디스크 제어 및 인터페이스와 새로운 규약을 빠르고 쉽게 적응 할 수 있도록 분리 카드(62)에 포함되어 있다. 상기 카드(48,48')는 또한 컴퓨터버스(46)에 무관하도록 전용버스(50)에 의해 별도로 상호 접속되어 있다.
본 발명에 따라, 데이타(여기서 용어 데이타는 디스크 드라이브에 대해 2진수에 불과한 컴퓨터 프로그램을 포함함)는 여러 방식으로 가상 디스크 드라이브(40)를 포함하는 병렬 디스크 드라이브(16,16')에 할당될 수 있다. 컴퓨터 기술의 최상의 측면에서와 같이, 시간, 공간 및 비용과 관련하여 발생하는 본 발명의 트레이드오프가 있다. 각각의 할당 방식이 본 발명의 다른 실시예이며, 서로에 대해 일정한 정점과 단점을 제공한다. 일정한 응용이 한 실시예에 의해 최상으로 제공되며, 다른 것은 또 다른 것에 대해 최상으로 동작하게 된다. 그러므로 최상으로 작용하는 것이 최종 응용으로 선택된다. 여러 가지 일반적인 실시예가 가능하며, 이들 각각의 특성에 대해 이제부터 설명한다. 당업자는 기술되는 것 이상의 데이타에 대한 다른 가능한 구성이 본 발명의 범위와 정신내에서 가능하다는 것을 알 수 있다. 그러므로 설명될 특정 실시예는 그 효과면에서 제한 의도는 없다.
실제적인 종래 디스크에서, 일반적으로 각각의 실린더는 일정 개수의 섹터의 복수의 트랙으로 분리되어 있다. 75 메가바이트와 300 메가바이트 용량의 두 상용 디스크에 대한 다음 데이타를 고찰하자.
Figure kpo00001
알수 있는 바와 같이, 이들 2개의 디스크는 실린더당 트랙수를 제외하고는 실질적으로 동일하다. 하지만, 이점은 성능에 관해 중요한 분기점을 갖는다. 큰 디스크의 총용량에서의 차이점이 있고 이들 두 디스크가 동일하게 동작하는 것처럼 보이지만 실질적으로 보다 큰 디스크가 작은 것보다 성능이 좋다. 그 이유는 간단하다. 실린더 변화를 위해서는 전술한 바와 같이 아암 및 판독/기록 헤드의 이동이 있어야 되는데, 이것은 손실 시간이 걸리며, 이 손실 시간은 성능을 감소 기킨다. 보다 작은 디스크에서, 45섹터(5트랙x9섹터/트랙)가 억세스-아암 이동없이 억세스 될수 있다. 이와 달리 보다 큰 디스크에서는 171 연속 섹터가 있다. 그러므로 억세스-아암 이동 없이 어드레스 가능한 연속 섹터는 성능의 중요한 특정치이다.
데이타 기억과 관련된 본 발명의 제1실시예는 제7도 및 제8도에 도시되어 있다. 이 접근 방식에 따라, 각각 바이트를 포함하는 8개의 개별 비트 디스크를 통해 전개된다. 비교 및 이해를 용이하게 하기 위해, 제7도 및 제 8도에 도시된 데이터는 제4도의 예에 사용된 데이터에 일치한다. 제7도는 도시된 바와 같이, 예컨대, 8개의 데이터 비트와 단일 오류/복구 비트에 대한 9개의 디스크가 있다. 제4도의 예에 비해 제7도 및 제 8도의 도면이 보여주는 바와 같이 위에서 아래로 기록되고 판독된다. 제4도에서의 제1바이트(010101010)의 데이터와 오류/복구 의 비트(이경우 동일한 데이터에 대한 패리티 비트에 동일함)가 본 발명의 본 실시예와 동일하며, 단지 0-1-0-1-0-1-0-1-0과 같은 가상 디스크 드라이브(40)의 9개의 디스크 드라이브(16,16')에서의 특정의 동일한 비트 위치를 통해 전개된다는 것을 알 수있다. 제8도에 도시된 바와 같이, 각각의 디스크 드라이브(16,16')로부터의 데이터는 버퍼(%2)에 비동기로 기록되고 판독된다. 사용자(54)는 버퍼(52)와 인터페이스하며, 가상 디스크 드라이브(40)을 포함하는 디스크 드라이브(16,16')와 버퍼(52)에 대해 발생하는 데이터 전송의 비동기 특성을 완전하게 알지 못한다. 본 실시예는 또한 진행중인 오류 데이터를 재구성할 수 있는 능력을 제공하는데, 즉 데이터가 전송되는 동안, 바이트내의 손실 및 추가된 데이터가 발견되어 정정될 수 있다. 이와 같은 동적 고장 재구성이 바이트로부터 연속된 바이트까지 특성에 있어 연속적이 될수 있다. 이는 하나의 디스크 드라이브(16,16')가 완전하게 고장 날수 있다는 것을 의미하며, 본 발명의 가상 디스크 드라이브 시스템은 실제적으로 성능의 손실없이 차단없이 동작을 계속되게된다. 제거된 디스크 드라이브(16)가 시스템에 다시 설치되면, 그것에 포함된 데이터는 동일한 처리에 따른 사용중에 자동적으로 동적 복구된다. 동일한 작업을 개별적으로 실현할 수 없는 종래 디스크 드라이브를 사용하는 방식은 제5도와 제3도 및 제4도를 비교함으로써 이해될 수있다. 제4도의 데이터를 포함하는 종래 디스크 드라이브(16)에 있어서, 만일 제1바이트(010101010)가 한 비틀 떨어트려 예컨대 010101000을 포함하고 있으면, 3개의 1 비트는 홀수이며 제1바이트내의 패리티 오류가 색터 보전성에서 CRC 오류를 야기하게 된다. 하지만 그 논리 회로는 어떤 비트 위치가 포함되었는지 알지 못하며, 올바른 작용을 취할수 없다. 제7도에 도시된 바와 같은 가상 디스크 드라이브(40)에서의 동일한 고장을 고려해보면, 비트 2의 비트 스트림을 나타내는 디스크 2 내의 데이터는 그것이 표준 종래 디스크 드라이브이기 때문에 관련 패리티 비트를 가진 8비트 바이트로 여전히 유지된다. 따라서, 본발명의 재구성 논리는 2가지 사실을 알려준다. 먼저, 그 디스크 2 가 제1바이트에 대한 비트 2 비트를 포함하고 있는 섹터를 판독하는데 있어 CRC오류를 갖는다는 것, 즉, 그것이 오류가 있는 디스크 2 비트 위치 (즉 비트 2) 라는 것이다. 두번째로, 제1바이트(010101010)를 통한 오류/복구 비트 테스트가 오류가 있다는 것이다(010101000이 판독되었기 때문). 제1바이트의 비트 2가 0으로 판독되어 오류가 있기 때문에, 2진 시스템에서, 그것은 올바르게 1이 될수있다. 이와 같이 정정함으로써, 오류있는 제1바이트는 010101000으로부터 010101010으로 동적으로 정정된다. 실질적으로, 이것은 그 기술에서 잘 알려진 방식으로 비트 위치의 내용과 그 대응하는 오류/복구 비트를 함께 단순히 논리적으로 XOR 함으로써 실현된다. 만일 그것이 오류/복구 비트 드라이브, 즉 고장난 디스크이면, 동일한 방식으로 정정이 이루어 진다.
후술된 본 발명의 제2 실시예는 탐색 시간의 축소등 성능 최대화의 원리에 근거하고 있다. 희생되는 것은 제어 논리의 단수성이다. 하지만, 트레이드 오프는 정당화되기 어렵지 않다. 본 발명의 가상 디스크 제어기(42)내의 논리의 복잡성은 고려 대상이 되지않는데 , 최종 사용자에게는 별로 중요하지 않으며, 상용 시스템을 제조하는 전체 비용에 처리하기 위운 영향을 준다. 한편, 일상적인 성능은 최종 사용자에 직접 관계있는 연속적인 것이다.
제2실시예와 그 동작 방식이 제9도 및 제10도에 도시되어 있다. 제10도에 도시된 바와 같이, 본 실시예 에서 데이터는 디스크 드라이브에 대한 지정된 섹터상의 디스크에 분배된다. 예컨대, 3개의 섹터(2, 6, 8)의 내용의 제1바이트가 디스크(2, 6, 8)에 포함된 것으로 제10도에 도시되어 있다. 본 구성에서, 잔여 디스크 데이터 내용은 지정되지 않는다. 도시된 바와 같이, 섹터(2)의 제1바이트는 11111111이고, 섹터(6)의 제1바이트는 00000010이며 섹터(8) 의 제1바이트는 10101010이다. 제9도에 도시된 바와 같이, 본 실시예의 장점은, 디스크 드라이브(16,16')를 통한 오류/복구외에 섹터(1 내지 8)에 대응하는 9개의 디스크 드라이브(16,16')가 데이터를 분리 버퍼(52)에 비동기적으로 동시에 전송할 수 있다는 것이다.
알 수 있는 바와 같이, 오류/복구 디스크(디스크 E/R)(16')의 내용 및 조작은 특히 오류가 발견되었을 때 본 실시예에서는 어는 정도 복잡하다. 본 실시예에서 가상 디스크 드라이브(40)를 포함하는 디스크 드라이브(16,16')를 통한 오류/복구는 한 섹터씩을 근거로 한다. 오류/복구 디스크 (16')가 갱신될 필요가 있는 시간은 오직 한 디스크로의 기록이 발생할 때이다. 이 목적을 위해, 이후 더욱 상세하게 기술되게 되는 바와 같이, 개별 디스크 드라이브(16)로의 데이터 전송을 실현하는 본 발명의 논리는 변환된 비트(1 에서 0으로 또는 그 역)를 찾는 비트의 상태를 검사한다. 비트 위치가 변화되었을때에만 오류/복구 디스크(16')상의 대응하는 비트가 변화되어야 한다. 이 변화는 그 영역에서 오류/복구 디스크(16')에 영향을 주게 되는 데이터 디스크 드라이브(16)에 대한 어떤 다른 변화가 발생하기 전에 일어나는 오류/복구 디스크(16')로의 별도의 기록으로서 행해진다.
물론, 본 실시예에서 손실 데이터를 재구성하기 위해서는, 섹터에 대한 데이터 , 및 손실 데이터를 포함하는 디스크 E/R로부터의 대응하는 오류/복구 데이터가 이전 실시예에 대한 상기 드라이브를 통한 오류/복구 정정 절차가 실현될 수 있도록 공통 버퍼 영역측에 제공되어야 한다. 이는 보다 복잡하고 시간을 소비하는 절차임이 명백하지만, 통계적으로 볼 때 매우 드물게 발생하게 된다. 완전한 디스크 드라이브 제거 또는 고장의 경우에, 본 실시예에서 전술한 방식으로 연속적인 재구성 및 정정이 일어나는 동안 성능의 뚜렷한 감소가 있지만, 이전의 실시예의 경우와 마찬가지로, 가상 디스크 드라이브(40)의 실제적 충돌(crash)이 없으며, 저하된 성능 모드로 계산이 계속되는데, 이는 충돌이 초래하는 어떤 성능도 없는 종래 기술 보다 확실히 양호하다.
데이터의 할당 및 기억을 위한 제 3실시예가 제12도 및 제 13도를 참조하여 단순한 형태로 도시되어 있다. 이경우에, 이 응용은 무겁게 실린더 지향된 것으로 가정한다. 성능을 최대화하고 탐색 시간을 감소시키기 위해, 가상 디스크(40)를 포함하는 디스크(16)가 할당되고 실린더를 근거로 하여 데이터가 할당된다. 본 발명의 전체 상황내에서 이 데이타 및 어드레스 구성의 효과를 알기 위해, 먼저 제12도에 대한 참조가 이루어지는데, 여기에는 복수의 사용자에 의한 단순한 전형적인 일련의 명령어의 실행과 함께 종래의 단일 디스크가 도시되어 있다. 알 수 있는 바와 같이, 많은 실린더(즉 C1,C2,. . .,Cn)가 디스크(16)상에 쉽게 할당된다. 간단화를 위해 각각의 디스크(16)에 대해 단지 하나의 디스크 및 헤드 어셈블리만이 도시되었지만, 실제적으로는 제12도 및 제13도의 디스크(16)는 제3도에서와 같은 복수 디스크를 포함하고 있다. 각 사용자가 여러 실린더에 대해 판독 및 기록을 행할 때, 헤드는 원하는 실린더에서 수직으로 위치되도록 이동해야 한다. 따라서, 각 사용자는 선행 명령이 실현될 때까지 기다려야 한다. 즉, 선입선출 방식이다. 제13도의 본 발명의 실시예에서, 각각의 디스크(16)는 개별 실린더로 확인된다. 그러므로, 사용자는 그 개별 실린더를 동시에 억세스할 수 있다. 또한, 도면에 도시된 바와 같이, 이전에 판독된 데이터에 대한 순차 판독 요청을 하는 사용자는 이전에 판독된 데이터가 캐쉬 메모리에 보유되게 되기 때문에 본 발명에 있어 탐색 시간을 갖지 않으며, 그러므로, 이후 보다 상세하게 기술되게 되는 방식으로 디스크로부터의 판독없이 바로 이용가능하다. 이점이 종래 기술에 대한 본 발명의 중요한 구별점이다. 전술한 라운드 로빈 최적화의 논의로부터 알 수 있는 바와 같이, 여러 디스크 드라이브의 상태를 순차적으로 요구하는 것은 종래의 그 주어진 덤 드라이브 상태를 수행할 수 있는 최선의 방법이다.
이와 같은 것은 본 발명의 지능 기억 시스템에 대한 경우가 아니다. 이 논리는 과거의 판독 또는 기록 요청의 결과로서 위치되는 헤드를 가진 각각의 디스크(16, 16')를 알고 있다. 이것들은 이 목적을 위해 CPU의 논리에 의해 유지되는 값을 동적으로 변화시킨다. 따라서, 본 발명에서, 상기 논리가, 예컨대 드라이브(16,16')로 하여금 각 드라이브의 최소 이동을 요하는 요청에 대한 우선권을 줌으로써 광학 방식으로 동작하도록 유지할수 있기 때문에 탐색 시간이 최소화될 수 있다.
지금은 가상 디스크 드라이브를 포함하는 복수의 종래의 디스크 드라이브를 통한 데이터 저장의 방식과 관련하여 본 발명의 몇몇 실시예가 기술되었는데 , 이제, 본 발명의 가상 디스크 드라이브 제어기의 구성과 전술된 실시예에 관한 추가적인 이점을 실현하기 위한 바람직한 동작 방식을 설명한다.
제11도를 참조하면, 전술한 제2실시예(섹터 할당 디스크)를 수행하도록 구성된 본 발명의 가상 디스크 드라이브 제어기(42)가 컴퓨터 버스(46)를 통해 복수의 디스크 드라이브를 인터페이스하는 부분(48)에 접속된 인터페이스 및 제어부(56)를 포함하는 것으로 도시되어 있다. 도면에서 점선은, 본 출원인의 실험적 실시예에 서 두 인터페이싱 부분(48)이 단일 카드에 포함된다는 제안을 뜻한다. 현재 디스크 드라이브 및 드라이브 제어기에 의해 사용되는 표준 인터페이스는 소위 SCSI 인터페이스이다. 알 수 있는 바와 같이, 한편으로는 사용자(54)와 그 시스템 디스크 제어기(60)에 적합하고 다른 한편으로는 가상 디스크 드라이브(40)에 사용된 표준 디스크 드라이브에 적합하게 하기 위해 상기 인터페이스 및 제어부(43)는 시스템 디스크 제어기(60)에 대한 적당한 인터페이스를 제공하는 시스템 디스크 제어기 인터페이서(43)를 포함하며, 상기 디스크 드라이브 인터페이싱 부분은 거기에 접속된 디스크 드라이브(16)에 대한 적당한 장치 인터페이스를 제공하는 장치 제어기(60')에서 끝난다. 사용된 인터페이스의 형태는 본 발명의 특징으로 고려되지 않는다. 하지만, 어떤 형태의 인터페이스라도 사용할수 있는 능력과 새로운 인터페이스로 쉽게 재구성할 수 있는 능력은 종래에 대한 본 발명의 신규성이 중요한 특징으로 고려된다. 가상 디스크 드라이브 제어기(42)의 제어는 CPU(44)에 포함된 프로그래밍 논리에 의해 수행된다. 판독 전용 메모리(ROM)에 내재된 펌웨어의 형태로 된 CPU에 의해 수행되는 프로그래밍 논리가 바람직하지만 원하다면 수행의 다른 방식이 사용될 수있다. 상기 인터페이스 및 제어부(56)는 또한 이후 기술될 특수 사용으로 인해 캐쉬 메모리(64)를 포함한다.
각각의 디스크 드라이브 인터페이싱 부분(48)은 컴퓨터 버스(46)에 접속된 상태 제어기(66)를 구비하고 있다. 상기 장치 제어기(60')는 그 관련 디스크 드라이브(16)와 컴퓨터버스 (46) 사이에 접속되어 있다. 또한 각각의 경우에 DMA(70)에 의해 제어되는 데이터 버퍼(68)가 컴퓨터 버스(46)에 접속된다. 이들 구성요소는 그 기술에서 잘 알려진 방식으로 동작하며, 그러므로, 간단화를 위해 그 추가적인 설명은 하지 않는다. 또한 각각의 디스크 드라이브 인터페이싱 부분(48)과 관련된 오류/복구 논리 회로(72)가 있다. 이것은 변화를 위해 디스크로 기록되는 데이터의 비트를 이전의 데이터와 XOR함으로써 검사하는 논리회로이다. 변화가 별견되면, 이정보는 마스터 오류복구 논리 회로(74)로 행해진다.
사용되는 알고리즘에 따른 개별 디스크 드라이브 인터페이싱 부분(48)을 통한 오류/복구 비트 발생은 마스터 오류/복구 논리회로(74)에 포함되는데, 이 회로는 오류/복구 드라이브(16')에 대한 대응하는 오류/복구 비트의 변화를 요하는 비트 위치의 내용에 변화에 기인할 때 갱신을 야기하도록 오류/복구 드라이브(16')에 대한 관련 부품 및 제어기(60')뿐만 아니라, 전용 버스(50)를 통해 오류/복구 논리 블록(72) 각각에 인터페이스한다. 재구성 논리 회로(76)는 컴퓨터 버스(46)에 접속되며, 그러므로 마스터 오류/복구 논리 회로(74)와 통신할 수 있을 뿐만 아니라 다른 오류/복구 논리 블록 (72)및 다른 시스템 부품과 통신할 수 있다. 다른 상세한 설명이 필요없이도 당업자가 알 수 있는 바와 같이, 재구성 논리 회로(76)는 손실 데이터는 제구성하는데 필요한 모든 정보를 억세스한다. 전술한 바와같이, 이는 구현되는 데이터 저장을 위한 실시예에 적합한 방식으로 수행된다. 예컨대, 손실된 데이터가 검출되는 디스크 구동부 (16,16')양단의 섹터 데이터 방향의 경우에, 재구성 논리는 각종 구동부(16,16')로부터 손실된 데이터를 포함하는 섹터를 판독하고, 컴퓨터 BUS(46)상에 발생하는 상태 제어기(66)로부터의 구동 오류 신호를 감지하여, 손실된 데이터를 적당히 재구성하도록 오류/복구 비트를 가진 불량 구동부로부터 데이터를 하고, 사용을 위해 CPU로 재구성된 데이터를 제공한다. 전술한 바와 같이, 어느 다른 구동부(16)와 같이 불량한 경우 오류/복구 구동부(16')에 대한 인식 및 정정이 제공된다. 동시성 다중 오류 검출 및 보정은 부가적인 오류 보정 구동부로 달성될 수 있음을 알 수 있다.
이제, 제14도를 다시 참조하여, 본 발명의 최종적인 주요 측정에 대해 설명한다. 각각의 디스크 구동부(16,16')로부터의 실제 기록 및 판독은 각 데이터 버퍼(68)을 통해 이루어 진다. 캐쉬 메모리(64)는 사용자 CPU(54)로부터 송수신되는 데이터의 저장에 이용된 큰 용량 (검사된 실시예에서 3.6M 바이트) 메모리이다. 비동기 판독 섹터 데이터는 가상 디스크 구동부(40)가 제9도 및 제10도에 관해 기술되는 식으로 동작할 시에 메모리(63)내로 이동된다. 메모리(64)는 디스크 구동부(16)로부터 데이터를 이동시키는 비동기 대기 행렬 메모리 이다. 본 발명에 따라 성능을 최대화하기 위하여, 사용자 CPU(54)가 디스크(즉 가상 디스크 구동부(40)로 기록될 데이터 블록을 제공할시에, 데이터는 메모리(64)의 가용 영역내로 이동되고, 사용자 CPU(54)측으로 바로 긍정 응답된다. 따라서 사용자 CPU는 요구된 디스크 기록이 달성됨을 알고 있다. 포함된 섹터에 대해 적당한 디스크 구동부(16)로의 실제 기록은 그후 가능할 때마다 발생한다. 인터페이스 및 제어부(56)내의 CPU(44)의 논리부는 디스크에의 기록에 적당할 때에 메모리(64)로부터 적당한 데이터 버퍼(68)내로 비동기적으로 기록한다. 이런점에서, 논리부는 통상적인 FIFO 또는 LIFO 과정에 무관하게 메모리(64)에서의 전송을 최적화한다. 탐색 시간을 최소화하고, 휴지 디스크 구동부를 이용하는 최선의 데이터를 기록함으로써 디스크를 양호하게 전송할 수 있다.
많은 데이터 베이스 동작에서, 예컨대, 디스크로의 기록이 일반적이며, 바로 동일 데이터를 다시 억세스 한다. 그러한 경우에, 본 발명은 제14도에 도시된 바와 같은 캐쉬 메모리로서의 메모리(64)를 동작 시키며, 즉, 판독 요구가 디스크로 기록되도록 메모리(64)내에서 이미 대기 행렬된 데이터에 대해 이루어질 경우, 실제판독 요구는 없어지고, 데이터는 요구에 응답하여 디스크로부터 판독될시에 요구로 되돌아간다. 당업자에게 명백한 바와같이, 비동기 대기 행렬 메모리(64)의 이용은 본 발명의 견지에 따라 이루어진다. 따라서, 본 발명의 이점을 충분히 실현 하도록 흡수되는 한 코스트 요소는 전원 고장의 경우에 포함된 데이터가 상실되지 않도록 메모리(64)와 결합하여 베터리 백업 전력 공급기(78)를 이용한다. 캐쉬 메모리 자체는 새로운 사항이 아니다. 하지만, 본 발명에서와 같이 구동되고 여기서 설명한 방법으로 동작하는 캐쉬 메모리는 종래보다 더욱 개선되었다.
본 발명과 물리적 구조에 따른 복수의 가능 데이터 방향을 기술한 바와 같이, 작업 할당의 지능 이용을 통해 성능을 최적화할 동작의 전체 방식에 대해 특히 설명된다.
이것은 (PTD 변형을 포함한 )종래 디스크 구동부와 본 발명의 지능 가상 디스크 구동 시스템의 차이점을 완전히 이해하는 것이 중요하다. 이런 점에서, 복수의 각 디스크 구동부가 사용되는 사실과, 손실된 데이터의 검출 및 재구성이 가능한 사실 이외에, 본 발명의 가장 중요한 요소는 각 구동부의 모든 기계적인 이동을 최적화하도록 마이크로 컴퓨터를 내장하는 것이다. 알 수 있는 바와 같이, 이것을 두 에지 스워드(sword)인데, 즉, 분리위치 가능한 기계적인 메커니즘을 가진 각 디스크 구동부가 존재해야 하고, 구동부가 위치되는 방식으로 지능부가 존재해야한다. 본 발명에서, CPU(44)는 최적 방식으로 각종 디스크(16,16')로 판독/기록 동작을 동시에 할당할 수 있다. 예컨대, 종래 디스크 구동부의 동작은 순차적으로 수행된다. 반면에, 본 발명에서, CPU(44)내에 포함된 논리부의 지능은 최적화하도록 각종 구동부(16, 16')(캐쉬 메모리(64)를 동시에 비동기적으로 사용할 수 있도록 설계되어 있다. 예컨대, 구동부 n이 실린더(13)에 있고, 근접한 실린더에서 동일 구동동안에 대기 행렬된 요구가 있을 경우, CPU(44)는 아암 및 헤드 어셈블리가 더욱 이동된 위치로 이동함을 요구하기에 앞서 요구하도록 프로그래밍될 수 있다. 또한, 동시 동작을 제공하는 본 발명의 가상 디스크 구동부의 특정 구조에 의해 가능한 CPU(44)의 지능에 대한 여러가지 가능성은 주로 그 구조가 적용되는 응용에 따라 달라진다. 일부 응용에서는, 예컨대 순차 동작이 필요할 수도 있고, 그리고 실린더 위치 결정을 순서없이 이용하는 요구를 받아들이는 상기 예는 바람직하지 않을 수도 있다.

Claims (23)

  1. 손실된 데이터를 동적으로 그리고 투명하게 재구성할수 있는 컴퓨터용 기억 장치 시스템에 있어서,
    (a) 디지털 정보를 저장하기 위한 복수의 개별적인 제1기억장치 (16);
    (b) 오류/복구 코드 비트를 저장하기 위한 개별적인 제2기억장치(16');
    (c) 상기 복수의 개별적인 제1기억 장치(16)의 대응하는 각각의 비트 위치에 있는 상기 디지털 정보에 대한 소정의 오류/복구 코드 검사 알고리즘에 따라 상기 개별적인 제2기억 장치(16')에 오류/복구 코드 비트를 발생 및 저장하는 수단;
    (d) 상기 개별적인 제1 및 제2기억 장치(16,16')중 하나의 기억 장치가 상기 디지털 정보의 전송중에 오류를 검출하면, 상기 오류/복구 코드 검사 알고리즘에 따라 상기 디지털 정보의 변화된 오류 비트를 재구성하기 위해, 상기 복수의 개별적인 제1기억 장치(16)의 상기 각각의 대응 비트 위치의 내용과 더불어, 상기 오류/복구 코드 비트를 이용하는 수단.
    (e) 사용자 CPU(10)로부터 판독 요구 및 기록 요구를 수신하기 위해 설치되어 있는 인터페이스 수단(45, 56);및
    (f) 상기 인터페이스 수단과 상기 복수의 기억장치 (16)중의 각각의 기억 장치 사이에 접속되어, 상기 복수의 기억 장치(16)와 인터페이스를 행하고, 이들을 동시에 동작시키는 복수의 기억장치제어기 수단(60')을 구비하고 있는 컴퓨터용 기억 장치 시스템에 있어서,
    상기 인터페이스 수단(56)은 상기 사용자 CPU(10)로부터의 기록 요구 데이터를 저장하기 위한 버퍼 메모리(64)로서, 상기 기록 요구에 대해 시간과 시퀀스 측면에서 비동기적으로 상기 버퍼 메모리(64)로부터의 상기 데이터를 상기 기억 장치 제어기 수단(60')과 상기 기억 장치(16)측에 기록하는 버퍼 메모리(64)를 구비하고 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템
  2. 손실 데이터를 동적으로 그리고 투명하게 재구성할 수 있는 컴퓨터용 대용량 기억 장치 시스템으로서,
    (a) 디지털 정보를 저장하기 위한 복수의 개별적인 제1기억 장치(16);
    (b) 오류/복구 코드 비트를 저장하기 위한 개별적인 제2기억장치(16');
    (c) 개별적인 상기 제1기억 장치(16)에의 디지털 정보 기록 동안에, 상기 복수의 개별적인 제1기억 장치(16)의 대응하는 각각의 비트 위치에 있는 디지털 정보에 대한 소정의 오류/복구 코드 비트를 발상 및 저장하는 수단;
    (d) 개별적인 상기 제1 및 제2기억 장치(16,16')중 하나의 기억 장치가 상기 디지털 정보의 전송중에 오류를 검출하면, 상기 오류/복구 코드 검사 알고리즘에 따라 상기 디지털 정보의 변화된 오류비트를 재구성하기 위해 상기 복수의 개별적인 제1기억 장치(16)의 상기 각각의 대응 비트 위치의 내용과 더불어, 상기 오류/복구 코드 비트를 이용하는 수단;
    (e) 사용자 CPU(10, 54)로부터 판독 요구 및 기록 요구를 수신하기 위한 인터페이스 수단(46, 56);및
    (f) 상기 인터페이스 수단과 상기 복수의 기억장치(16)중의 각각의 기억 장치 사이에 접속되어, 상기 복수의 기억장치(16)와 인터페이스를 행하는 복수의 기억 장치 제어기 수단(60')을 가지고 있는 컴퓨터용 대용량 기억 장치 시스템에서, 디지털 정보를 저장하는 방법으로서, 상기 기억 장치(16)들을 동시에 동작시키는 단계를 포함하고 있는 방법에 있어서,
    상기 사용자 CPU(10)로부터의 기록 요구 데이터를 저장하기 위한 상기 인터페이스 수단(56)내의 버퍼 메모리(64)로서, 상기 기록 요구에 대해 시간과 시퀀스 측면에서 비동기적으로 상기 버퍼 메모리(64) 로부터 상기 데이터를 상기 기억 장치 제어기 수단(60')과 상기 기억장치(16)에 기록하는 버퍼 메모리(16)를 사용하는 단계를 포함하고 있는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 대용량 기억 장치(16)는 비동기적으로 동작가능하고, 그리고 그 입력 인터페이스에서 각각의 장치 제어기(16') 인터페이스할 수 있도록 채택되어 있으며, 상기 장치 제어기(16')는 각각의 상기 대용량 기억 장치 (16)의 상기 입력 인터페이스측에 시스템 장치 제어기 인터페이스를 제공하는 제어기 인터페이스 수단을 포함하고 있고; 상기 대용량 기억 장치(16)에 대해 데이터 전달을 행하는 데이터 버퍼 수단(68)을 구비하고 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템
  4. 제1항에 있어서, 상기 인터페이스 수단은 사용자 CPU(10, 54)와 인터페이스를 행하기 위한 단일 인터페이스 논리부를 구비하고 있고, 이 단일 인터페이스 논리부는 표준 시스템 장치 제어기(14, 60)와 인터페이스를 행하기 위한 시스템 장치 제어기 인터페이스 수단(43, 62)을 포함하고 있으며, 상기 제어기를 통해 상기 사용자 CPU(10, 54)는 기억 장치 시스템(40)에 접속되어 있고, 상기 기억 장치 제어기 수단(60')각각은 각각의 기억장치(16)의 상기 입력 인터페이스측에 표준 시스템 장치 제어기 인터페이스를 제공하기 위한 제어기 인터페이스 수단, 및 각각의 기억 장치(16)에 대해 데이터 전송을 행하는 데이터 버퍼(68)를 포함하고 있으며;
    상기 인터페이스 논리부는 상기 기억 장치(16)에 데이터를 기록하고 이 기억 장치로부터 데이터를 판독할 때에, 상기 기억 장치 제어기(60')의 동작의 동시 발생 시퀀스를 제어하기 위해, 상기 복수의 기억 장치 제어기 (60')에 동작가능하게 접속된 CPU 수단(44)을 가지고 있는 제어부를 포함하고 있고; 상기 재구성 수단(76)은 데이터 전송시에 상기 대용량 기억 장치(16, 16')중 하나의 기억 장치로부터 오류 상태를 감지하고, 상기 오류 비트를 논리적으로 재구성하기 위해 오류 비트를 포함하고 있는 오류 데이터에 관련된 상기 오류/복구 비트와 더불어 상기 기억 장치의 데이터중 어느 데이터가 오류가 있는지에 대한 정보를 어느 비트 위치에 오류가 있는지에 대한 지시로서 사용하는 수단을 포함하고 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  5. 제1항에 있어서, 상기 오류/복구 코드 검사 알고리즘은 소정의 패리티검사 알고리즘이고,
    상기 인터페이스 수단(14, 18, 46, 56, 62)은 제1인터페이스 규약에 따라 사용자 CPU(10, 54)로부터의 요구를 수신하고, 이 요구를 상기 복수의 기억 장치 (16)와 인터페이스를 행하기 위한 상기 기억 장치 제어기 수단(60')에 의해 사용된 제2인터페이스 규약으로 변환하는 인터페이스 정의 수단을 포함하고 있는 것을 특징으로 하는 켬퓨터용 기억 장치 시스템.
  6. 제1항 또는 제5항에 있어,
    (a) 상기 인터페이스 수단(14, 18, 46, 56, 62)은 상기 기억장치(16)에 데이터를 기록하고 이 기억 장치로부터 데이터를 판독할 때에, 상기 기억 장치 제어기 수단(60')의 동작의 시퀀스를 제어하기 위해, 상기 복수의 기억 장치 제어기 수단(60')에 동작 가능하게 접속된 CPU 수단(44)을 가지고 있는 제어부(43)를 포함하고 있고;
    (b) 복수의 데이터 버퍼(68)는 상기 복수의 기억 장치(16)중 각각의 기억 장치에 접속되어, 해당 기억 장치에 대해 기록 및 판독을 행하며;
    (c) 상기 CPU 수단(44)은 상기 버퍼 메모리(64)에 배치된 상기 데이터에 대해 상기 해당 기억 장치에의 기록을 바로 확인 응답하는 논리 회로(48)를 포함하고 있는 것을 특징으로 하는 기억 장치 시스템.
  7. 제1항, 제5항, 또는 제6항에 있어서,
    (a) 상기 인터페이스 수단(14, 18, 46, 56, 62)은 상기 기억 장치(16)에 데이터를 기록하고 이 기억 장치로부터 데이터를 판독할때에, 상기 기억 장치 제어기 수단(60')의 동작의 시퀀스를 제어하기 위해, 상기 복수의 기억 장치 제어기 수단(60')에 동작가능하게 접속된 CPU 수단(44)을 가지고 있는 제어부(43)를 포함하고 있고;
    (b) 복수의 데이터 버퍼(68)는 상기 복수의 기억 장치(16)중 각각의 기억장치에 접속되어, 해당 기억 장치에 대해 데이터의 기록 및 판독을 행하며,
    (c) 상기 CPU 수단(44)은 사용자 CPU로부터 판독 요구가 수신되면 실제 판독 없이 상기 버퍼 메모리(64)의 데이터를 검사하고, 그 데이터가 해당 기억장치(16)로부터 판독된 것임을 지시하는 논리 회로로서, 이에 의해 상기 버퍼 메모리(64)는 그러한 경우에 캐쉬 메모리로서 작용하는 논리 회로를 포함하고 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  8. 제7항에 있어서,
    상기 기억 장치 시스템에 대한 전력 고장의 경우에 내부의 데이터를 유지하기 위해 상기 버퍼 메모리(64)에 동작 가능하게 접속되어 있는 배터리 백업 전력 공급 수단(78)을 구비하고 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  9. 제2항에 있어서,
    상기 방법은 대용량 기억 시스템에 디지털 정보를 저장하는 방법으로서, 제1인터페이스 규약에 따라 사용자 CPU(10, 54)로 부터의 요구를 수신하고, 이 요구를 복수의 기억 장치(16)와 인터페이스를 행하기 위한 기억 장치 제어(60')에 의해 사용된 제2인터페이스 규약으로 변환하는 단계;
    필요하다면, 상기 기억 장치(16)에 데이터를 기록하고 이 기억 장치(16)로부터 데이터를 판독할 때에, 상기 기억 장치 제어기(60')의 동작 시퀀스를 제어하기 위해, 상기 복수의 기억 장치 제어기(60')에 동작가능하게 접속된 CPU(44)를 포함하고 있는 인터페이스의 일부로서 제어부(43)을 제공하는 단계;
    필요하다면, 상기 복수의 기억장치(16)중 각각의 기억 장치에, 해당 기억 장치(16)에 대해 데이터 기록 및 판독을 행하는 데이터 버퍼(68)를 접속하는 단계;
    버퍼 메모리(64)에 배치된 데이터에 대한 해당 기억 장치에의 기록을 바로 확인 응답하는 단계; 및 필요하다면, 사용자(10, 54)로부터 판독 요구가 수신되면 실제 판독없이 상기 버퍼 메모리(64)의 데이터를 검사하고, 그 데이터가 해당 기억 장치(16)로부터 판독된 것임을 지시하는 단계로서, 이에 따라 그러한 경우에 상기 버퍼 메모리(64)는 캐쉬 메모리로서 작용하는 단계를 포함하고 있는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 상기 방법은 단일 사용자 장치 제어기로부터 컴퓨터용 복수의 기억 장치의 동시 발생 동작을 행하며, 상기 인터페이스내의 인터페이스 정의 논리 회로는 제1인터페이스 규약에 따라 사용자 장치 제어기로부터의 요구를 수신하고 이 요구를 상기 기억 장치 제어기(60')에 의해 사용된 제2인터페이스 규약으로 변환하는 것을 특징으로 하는 방법.
  11. 제2항에 있어서, 상기 기억 장치 시스템은 상기 기억 장치(16)에 데이터를 기록하고 이 기억 장치로부터 데이터를 판독할 때에, 상기 기억 장치 제어기(60')의 동작의 시퀀스를 제어하기 위해, 상기 복수의 기억 장치 제어기(60')에 동작가능하게 접속된 CPU(44)를 가지고 있는 상기 인터페이스 수단내의 제어부;
    필요하다면, 상기 복수의 기억 장치(16)중 각각의 기억 장치에 접속되어, 해당 기억 장치(16)에 대해 데이터의 기록 및 판독을 행하는 복수의 데이터 버퍼(68)를 구비하고 있고;
    상기 버퍼 메모리(64)에 배치되어 있는 데이터에 대한 해당 기억 장치에의 기록을 바로 확인 응답하는 단계;
    필요하다면, 사용자로부터 판독 요구가 수신되면 실제 판독없이 상기 버퍼 메모리(64)의 데이터를 검사하고, 그 데이터가 해당 대용량 기억 장치(16)로부터 판독된 것임을 지시하며, 이에따라 그러한 경우에 상기 버퍼 메모리(64)가 캐쉬 메모리로서 작용하는 단계를 포함하고 있는 것을 특징으로 하는 방법
  12. 제1항에 있어서, 상기 인터페이스 수단은 사용 CPU(10, 54)와 인터페이스를 행하기 위한 단일 인터페이스 논리부를 구비하고 있고, 상기 인터페이스 논리부는 장치제어기(60')와 인터페이스를 행하기 위한 시스템 장치 제어기 인터페이스 수단을 포함하고 있고, 상기 제어기를 통해 상기 사용자 CPU(10, 54)가 상기 대용량 기억 장치(40)에 접속되어 있으며,
    상기 기억 장치(16)는 비동기적으로 동작가능하고, 입력 인터페이스에서 상기 장치 제어기(60')와 인터페이스를 행할 수 있도록 채택되어 있고;
    상기 기억 장치 제어기 수단(60')은 상기 인터페이스 논리부와 상기 복수의 기억 장치(16)사이에 접속되어 있고, 상기 장치 제어기 수단(60')은 상기 대용량 기억 장치(16)의 입력 인터페이스에 시스템 장치 제어기 인터페이스를 제공하는 제어기 인터페이스 수단(62)을 포함하고 있고;
    상기 대용량 기억 장치에 대해 데이터 전달을 행하는 데이터 버퍼(68)를 구비하고 있으며;
    상기 인터페이스 논리부는 상기 대용량 기억 장치(16)에 테이타를 기록하고 이 대용량 기억 장치로부터 데이터를 판독할 때에, 상기 장치 제어기(60')의 동작의 시퀀스를 제어하기 위해, 상기 복수의 장치 제어기(60')에 동작가능하게 접속된 CPU 수단(44)을 가지고 있는 제어부를 포함하고 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템
  13. 제12항에 있어서,
    (a) 상기 데이터 버퍼 수단(68)은 상기 복수의 기억 장치(16)중 각각의 기억 장치에 접속되어, 해당 기억 장치(16)에 대해 데이터의 기록 및 판독을 행하는 복수의 데이터 버퍼(68)를 구비하고 있고,
    (b) 상기 인터페이스 수단은 제1인터페이스 규약에 따라 사용자 CPU(10, 54)로부터의 요구를 수신하고, 이 요구를 상기 복수의 기억 장치(16)와 인터페이스를 행하기 위한 상기 기억 장치 제어기 수단(60')에 의해 사용된 제2인터페이스 규약으로 변환하는 인터페이스 정의 수단을 포함하고 있으며,
    (c)상기 CPU 수단(44)은 상기 버퍼메모리(64)에 배치된 데이터에 대해 상기 해당 대용량 기억 장치(16)에의 기록을 바로 확인 응답하는 논리 회로를 포함하고 있고, 필요하다면, 사용자(54)로부터 판독 요구가 수신되면 실제 판독 없이 상기 버퍼 메모리(64)의 데이터를 검사하고, 그 데이터가 해당 대용량 기억 장치(16)로부터 판독된 것임을 지시하는 논리 회로를 포함하고 있으며, 이에 따라 그러한 경우에 상기 버퍼 메모리(64)는 캐쉬 메모리로서 작용하고;
    (d)상기 복수의 장치 제어기(60'), 상기 제어기 인터페이스 수단(62), 상기 데이터 버퍼(68), 및 상기 인터페이스 논리부는 제1컴퓨터 버스(46)를 통해 서로 통신할 수 있도록 상호 접속되어 있고, 상기 오류/복구 발생기 비트 수단(72, 74)과 상기 재구성 논리 수단(76)은 제2컴퓨터 버스(50)를 통해 서로 통신할 수 있도록 상호접속되어 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  14. 제1항에 있어서, 사용자 CPU(10, 54)와 인터페이스를 행하기 위한 단일 인터페이스 논리부로서, 표준 시스템 장치 제어기(60)와 인터페이스를 행하기 위한 시스템 장치 제어기 인터페이스 수단(62)을 포함하고 있고, 상기 제어기를 통해 상기 사용자 CPU(10, 54)가 상기 가상 대용량 기억 장치 시스템(40)에 접속되어 있는 단일 인터페이스 논리부를 구비하고 있고;
    상기 기억 장치 제어기(60')각각은 상기 인터페이스 논리부(56)와 상기 복수의 대용량 기억 장치(16)중의 각각의 기억 장치 사이에 접속되어 있고, 상기 기억 장치 제어기 각각은 각각의 대용량 기억 장치(16)의 상기 입력 인터페이스에 표준 시스템 장치 제어기 인터페이스를 제공하는 제어기 인터페이스 수단, 및 각각의 대용량 기억장치(16)에 대해 데이터 전달을 행하는 데이터 버퍼(68)를 포함하고 있으며;
    상기 인터페이스 논리부는 상기 대용량 기억 장치(16)에 데이터를 기록하고 이 대용량 기억 장치로부터 데이터를 판독할 때에, 상기 디스크 드라이브 제어기(60')의 동작의 동시 발생 시퀀스를 제어하기 위해, 상기 복수의 장치 제어기(60')에 동작 가능하게 접속된 CPU 수단(44)을 가지고 있는 제어부를 포함하고 있고;
    상기 재구성 논리 수단(76)은 데이터 전송시에 상기 대용량 기억 장치(16)중 하나의 기억 장치로부터 오류 상태를 감지하고, 상기 오류 비트를 논리적으로 재구성하기 위해오류 비트를 포함하고 있는 오류 데이터에 관련된 상기 오류/복구 비트와 더불어 어느 비트 위치에 오류가 있는지에 대한 지시로서 상기 대용량 기억장치의 데이터중 어느 데이터에 오류 있는지에 대한 정보를 이용하는 수단을 포함하고 있으며; 또한,
    상기 CPU 수단(44)은 상기 버퍼 메모리(64)에 배치된 데이터에 대한 상기 해당 대용량 기억 장치에의 기록을 바로 확인 응답하는 논리 회로를 포함하고 있고, 그리고 필요하다면, 상기 CPU 수단(4)은 또한 사용자(54)로부터 판독 요구가 수신되면 실제 판독없이 상기 버퍼 메모리(64)의 데이터를 검사하고, 그 데이터가 해당 대용량 기억 장치(16)로부터 판독된 것임을 지시하는 논리회로를 포함하고 있으며, 이에 따라 상기 버퍼 메모리(64)는 그러한 경우에 캐쉬 메모리로서 작용하는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  15. 제1항에 있어서, 상기 기억 장치 시스템은 컴퓨터용 대용량, 오류 정정 가상 디스크 드라이브 기억 장치이며,
    상기 인터페이스 수단은 사용자 CPU(10, 54)와 인터페이스를 행하기 위한 단일 인터페이스 논리부로서, 표준 디스크 드라이브 제어기와 인터페이스를 행하기 위한 디스크 드라이브 제어기 인터페이스 수단을 포함하고 있고, 상기 제어기를 통해 상기 사용자 CPU가 상기 가상 디스크 드라이브 기억 장치에 접속되어 있는 단일 인터페이스 논리부를 구비하고 있으며,
    상기 기억 장치는 입력 인터페이스에서 표준 디스크 드라이브 제어기와 인터페이스를 행할 수 있도록 채택된 복수의 표준 대용량 기억 장치이고, 상기 복수의 기억 장치 제어기 수단(60')은 상기 인터페이스 논리부와 상기 복수의 디스크 드라이브중의 각각의 디스크 드라이브사이에 접속되어 있는 디스크 드라이브 제어기이며, 상기 디스크 드라이브 제어기 각각은 각각의 디스크 드라이브의 입력 인터페이스에 표준 시스템 디스크 드라이브 제어기 인터페이스를 제공하는 제어기 인터페이스 수단, 각각의 디스크 드라이브에 대해 데이터 전달을 행하는 데이터 버퍼(68), 및 각각의 디스크 드라이브측으로 전송되는 표준 길이 그룹의 비트에 대해 패리티 비트를 발생하는 패리티 발생기 수단을 포함하고 있으며,
    상기 발생 및 기억 수단은 상기 디스크 드라이브측으로 전송된 비트의 데이터 그룹의 일부로서 해당 패리티 비트를 발생하는 가상 디스크 드라이브 패리티 발생 수단을 구비하고 있고,
    상기 재구성 수단은 상기 가상 디스크 드라이브 패리티 발생 수단에 의해 발생된 패리티 비트에 의해 지시된 비트의 데이터 그룹중 하나의 그룹에서의 패리티 오류와 더불어 상기 디스크 드라이브중 하나의 디스크 드라이브로부터 패리티 오류 상태를 감지하고, 조인트 패리티 오류 상태를 생성하는 오류 비트를 논리적으로 재구성하기 위해 상기 가상 디스크 드라이브 패리티 발생 수단에 의해 발생된 패리티 비트와 더불어 상기 디스크 드라이브의 데이터중 어느 데이터에 오류가 있는지에 대한 인식을 이용하는 재구성 논리 수단이며,
    조합된 상기 데이터 버퍼는 복수의 순차적 데이터 그룹을 유지하기 위한 FIFO버퍼를 구비하고 있고, 상기 디스크 드라이브 제어기 각각은 각각의 디스크 드라이브로부터의 일련의 데이터 그룹중 각각의 데이터 그룹을 상기 FIFO 데이터 버퍼 수단에 비동기적으로 전송하는 데이터 전송논리 회로로서, 모든 디스크 드라이브로부터 판독되는 일련의 데이터 그룹중 나머지 데이터 그룹이 상기 FIFO데이타 버퍼 수단내로 비동기적으로 판독되는 속도보다 고속으로, 상기 사용자 CPU가 모든 디스크 드라이브로부터 판독되는 일련의 데이터 그룹을 상기 FIFO 데이터 버퍼 수단으로부터 제거할 수 없도록 하는 것을 보장하기 위해, 모든 디스크 드라이브로부터 판독되는 일련의 데이터 그룹중 충분한 데이터 그룹이 존재할 때에만, 요구된 판독 동작이 완료되었음을, 사용자 CPU가 상기 가상 디스크 드라이브 기억 장치에 접속되어 있는 표준 디스크 드라이브 제어기측에 알리는 데이터 전송논리 회로를 포함하고 있는 것을 특징으로 하는 켬퓨터용 기억 장치 시스템.
  16. 제15항에 있어서, 상기 인터페이스 논리부는 상기 디스크 드라이브에 데이터를 기록하고 이 디스크 드라이브로부터 데이터를 판독할 때에, 상기 디스크 드라이브 제어기의 동작이 시퀀스를 제어하기 위해, 상기 복수의 디스크 드라이브 제어기에 동작가능하게 접속된 CPU 수단을 가지고 있는 제어부를 포함하고 있고, 또한 상기 CPU 수단은 상기 버퍼 메모리(64)에 비치된 기록될 데이터에 대한 해당 디스크 드라이브에의 기록을 바로 확인 응답하며, 이에 따라 가상 디스크 드라이브 기억 장치의 판독 처리량이 증가되는 논리 회로를 포함하고 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  17. 제16항에 있어서, 상기 CPU수단은 사용자로부터 판독 요구가 수신되면 실제 판독없이 상기 버퍼 메모리의 데이터를 검사하고, 그 데이타가 해당 디스크 드라이브로부터 판독된 것임을 지시하며, 이에따라 상기 버퍼 메모리는 또한 그러한 경우에 캐쉬메모리로서 작용하는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  18. 제14항에 있어서, (a)상기 복수의 디스크 드라이브 제어기와 상기 인터페이스 논리부는 제1컴퓨터 버스를 통해 서로 통신할 수 있도록 상호 접속되어 있고,
    (b) 상기 제어기 인터페이스 수단, 상기 데이터 버퍼, 및 상기 디스크 드라이브 제어기의 패리티 발생기 수단은 제2컴퓨터 버스를 통해 서로 통신할 수 있도록 상호접속되어 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  19. 제15항에 있어서, 상기 인터페이스 논리부는 상기 디스크 드라이브에 데이터를 기록하고 이 디스크 드라이브로부터 데이터를 판독할 때에, 상기 디스크 드라이브 제어기의 동작의 시퀀스를 제어하기 위해, 상기 복수의 디스크 드라이브 제어기에 동작가능하게 접속된 CPU 수단을 가지고 있는 제어부를 포함하고 있고,
    상기 CPU 수단은 상기 버퍼 메모리에 배치된 기록될 데이터에 대한 해당 디스크 드라이브에의 기록을 바로 확인 응답하며, 이에 따라 가상 디스크 드라이브 기억 장치의 판독 처리량이 증가되는 논리 회로를 포함하고 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  20. 제19항에 있어서, 상기 CPU 수단은 사용자로부터 판독 요구가 수신되면 실제 판독없이 상기 버퍼 메모리(64)의 데이터를 검사하고, 그 데이터가 해당 디스크 드라이브로부터 판독된 것임을 지시하는 논리 회로를 포함하고 있으며, 이에 따라 상기 버퍼 메모리는 또한 그러한 경우에 캐쉬 메모리로서 작용하는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  21. 제19항에 있어서, 상기 복수의 디스크 드라이브 제어기와 상기 인터페이스 논리부는 제1컴퓨터 버스를 통해 서로 통신할 수 있도록 상호 접속되어 있고,
    상기 제어기 인터페이스 수단, 상기 데이터 버퍼, 및 상기 디스크 드라이브 제어기의 패리티 발생기 수단은 제2컴퓨터 버스를 동해 서로통신할 수 있도록 상호접속되어 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  22. 제19항에 있어서, 상기 CPU 수단은 사용자로부터 판독 요구가 수신되면 실제 판독 없이 상기 버퍼메모리(64)의 데이터를 검사하고 , 그 데이터가 해당 디스크 드라이브로부터 판독된 것임을 지시하는 논리 회로를 포함하고 있으며, 이에 따라 가상 디스크 드라이브 기억 장치의 판독 처리량이 증가하고 상기 버퍼 메모리는 또한 캐쉬 메모리로서 작용하는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
  23. 제22항에 있어서, 상기 복수의 디스크 드라이브 제어기와 상기 인터페이스 논리부는 제1컴퓨터 버스를 통해 서로 통신할 수 있도록 상호 접속되어 있고,
    상기 제어기 인터페이스 수단, 상기 데이터 버퍼, 및 상기 디스크 드라이브 제어기의 패리티 발생기 수단은 제2컴퓨터 버스를 동해 서로 통신할 수 있도록 상호접속되어 있는 것을 특징으로 하는 컴퓨터용 기억 장치 시스템.
KR1019890700189A 1987-06-02 1988-05-31 고장 내성 및 오류 정정 기억 장치 시스템 KR0128343B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US5734787A 1987-06-02 1987-06-02
US057,347 1987-06-02
PCT/US1988/001826 WO1988009968A1 (en) 1987-06-02 1988-05-31 Fault-tolerant, error-correcting storage system
USPUS88/01826 1988-05-31

Publications (2)

Publication Number Publication Date
KR890702122A KR890702122A (ko) 1989-12-22
KR0128343B1 true KR0128343B1 (ko) 1998-04-14

Family

ID=22010025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890700189A KR0128343B1 (ko) 1987-06-02 1988-05-31 고장 내성 및 오류 정정 기억 장치 시스템

Country Status (8)

Country Link
EP (1) EP0294287B1 (ko)
JP (1) JP3180130B2 (ko)
KR (1) KR0128343B1 (ko)
CN (1) CN1014840B (ko)
AT (1) ATE197853T1 (ko)
CA (1) CA1296103C (ko)
DE (1) DE3856443T2 (ko)
WO (1) WO1988009968A1 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870643A (en) * 1987-11-06 1989-09-26 Micropolis Corporation Parallel drive array storage system
US5283791A (en) * 1988-08-02 1994-02-01 Cray Research Systems, Inc. Error recovery method and apparatus for high performance disk drives
US5218689A (en) * 1988-08-16 1993-06-08 Cray Research, Inc. Single disk emulation interface for an array of asynchronously operating disk drives
WO1990006550A1 (en) * 1988-12-08 1990-06-14 Cray Research, Inc. Single disk emulation for asynchronous disk array
US5022030A (en) * 1989-03-17 1991-06-04 Digital Equipment Corporation Skewed XOR data storage process
WO1991001524A1 (en) * 1989-07-19 1991-02-07 Cray Research, Inc. An error recovery method and apparatus for high performance disk drives
US5249279A (en) * 1989-11-03 1993-09-28 Compaq Computer Corporation Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands
US5206943A (en) * 1989-11-03 1993-04-27 Compaq Computer Corporation Disk array controller with parity capabilities
US5072378A (en) * 1989-12-18 1991-12-10 Storage Technology Corporation Direct access storage device with independently stored parity
JPH0786810B2 (ja) * 1990-02-16 1995-09-20 富士通株式会社 アレイディスク装置
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5166939A (en) * 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5325497A (en) * 1990-03-29 1994-06-28 Micro Technology, Inc. Method and apparatus for assigning signatures to identify members of a set of mass of storage devices
CA2034904C (en) * 1990-03-30 1995-07-18 John Stuart Best High speed, small diameter disk storage system
US5130992A (en) * 1990-04-16 1992-07-14 International Business Machines Corporaiton File-based redundant parity protection in a parallel computing system
US5263145A (en) * 1990-05-24 1993-11-16 International Business Machines Corporation Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
US5247638A (en) * 1990-06-18 1993-09-21 Storage Technology Corporation Apparatus for compressing data in a dynamically mapped virtual data storage subsystem
US5239640A (en) * 1991-02-01 1993-08-24 International Business Machines Corporation Data storage system and method including data and checksum write staging storage
US5289478A (en) * 1991-03-11 1994-02-22 Fujitsu Limited Method and means for verification of write data
US5345565A (en) * 1991-03-13 1994-09-06 Ncr Corporation Multiple configuration data path architecture for a disk array controller
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5301297A (en) * 1991-07-03 1994-04-05 Ibm Corp. (International Business Machines Corp.) Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof
ATE172038T1 (de) * 1992-06-05 1998-10-15 Compaq Computer Corp Plattenantriebsteuergerät mit nachschreibcachespeicher
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5490149A (en) * 1993-12-28 1996-02-06 International Business Machines Corporation Tactical read error recovery strategy based on dynamic feedback
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
KR100449693B1 (ko) * 1997-01-29 2004-10-14 삼성전자주식회사 Cpu내의쓰기버퍼데이터보존장치및그방법
WO1999018507A1 (en) 1997-10-08 1999-04-15 Seagate Technology, Inc. Hybrid data storage and reconstruction system and method for a data storage device
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
KR100363221B1 (ko) * 2000-11-10 2002-12-05 디스크뱅크(주) 대용량 디스크 저장 장치 및 이를 위한 폴트 톨로런스제공 방법
ES2253534T3 (es) 2001-06-01 2006-06-01 Koninklijke Philips Electronics N.V. Sistema digital y metodo de deteccion de errores del mismo.
US7793020B1 (en) * 2002-11-27 2010-09-07 International Business Machines Corporation Apparatus and method to read information from an information storage medium
US7712010B2 (en) 2006-06-15 2010-05-04 International Business Machines Corporation Systems, methods and computer program products for utilizing a spare lane for additional checkbits
US11593237B2 (en) 2021-05-28 2023-02-28 International Business Machines Corporation Fast recovery with enhanced raid protection

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3876978A (en) * 1973-06-04 1975-04-08 Ibm Archival data protection
GB1578485A (en) * 1976-06-22 1980-11-05 Bell & Howell Co Data coding and error correcting method
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4425615A (en) * 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
US4410942A (en) * 1981-03-06 1983-10-18 International Business Machines Corporation Synchronizing buffered peripheral subsystems to host operations
US4644545A (en) * 1983-05-16 1987-02-17 Data General Corporation Digital encoding and decoding apparatus
JPS605023A (ja) * 1983-06-22 1985-01-11 Tokuyama Soda Co Ltd 塩化カルシウム水溶液の製造方法
FR2561428B1 (fr) * 1984-03-16 1986-09-12 Bull Sa Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques
JPS6162920A (ja) * 1984-09-05 1986-03-31 Hitachi Ltd 磁気デイスク装置システム
CA1263194A (en) * 1985-05-08 1989-11-21 W. Daniel Hillis Storage system using multiple mechanically-driven storage units
US4722085A (en) * 1986-02-03 1988-01-26 Unisys Corp. High capacity disk storage system having unusually high fault tolerance level and bandpass

Also Published As

Publication number Publication date
KR890702122A (ko) 1989-12-22
ATE197853T1 (de) 2000-12-15
WO1988009968A1 (en) 1988-12-15
CA1296103C (en) 1992-02-18
EP0294287A2 (en) 1988-12-07
DE3856443T2 (de) 2001-06-28
JPH02500228A (ja) 1990-01-25
DE3856443D1 (de) 2001-01-04
EP0294287B1 (en) 2000-11-29
JP3180130B2 (ja) 2001-06-25
CN88103284A (zh) 1988-12-21
EP0294287A3 (en) 1991-04-24
CN1014840B (zh) 1991-11-20

Similar Documents

Publication Publication Date Title
KR0128343B1 (ko) 고장 내성 및 오류 정정 기억 장치 시스템
US4942579A (en) High-speed, high-capacity, fault-tolerant error-correcting storage system
JP2831072B2 (ja) ディスクドライブメモリ
US5077736A (en) Disk drive memory
US5959860A (en) Method and apparatus for operating an array of storage devices
EP0485110B1 (en) Logical partitioning of a redundant array storage system
US5088081A (en) Method and apparatus for improved disk access
US4989206A (en) Disk drive memory
US5072378A (en) Direct access storage device with independently stored parity
US5608891A (en) Recording system having a redundant array of storage devices and having read and write circuits with memory buffers
US5487160A (en) Concurrent image backup for disk storage system
EP0572564B1 (en) Parity calculation in an efficient array of mass storage devices
US5124987A (en) Logical track write scheduling system for a parallel disk drive array data storage subsystem
US4989205A (en) Disk drive memory
US5537567A (en) Parity block configuration in an array of storage devices
US5720027A (en) Redundant disc computer having targeted data broadcast
EP0601699A2 (en) Method of storing data in a disk array
WO2001022224A2 (en) Degraded parity-protected raid operation
AU605598B2 (en) Fault-tolerant, error-correcting storage system
JP2857289B2 (ja) ディスクアレイ装置
GB2298307A (en) A disk array with multiport memory

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20041022

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee