KR970000840B1 - I/o 서브시스템 및 i/o 서브시스템에서의 배타적 제어, 데이타 기억, 메모리 초기화 방법 - Google Patents
I/o 서브시스템 및 i/o 서브시스템에서의 배타적 제어, 데이타 기억, 메모리 초기화 방법 Download PDFInfo
- Publication number
- KR970000840B1 KR970000840B1 KR1019940015267A KR19940015267A KR970000840B1 KR 970000840 B1 KR970000840 B1 KR 970000840B1 KR 1019940015267 A KR1019940015267 A KR 1019940015267A KR 19940015267 A KR19940015267 A KR 19940015267A KR 970000840 B1 KR970000840 B1 KR 970000840B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- logical path
- interface
- host
- semiconductor memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
내용 없음.
Description
제1도는 반도체 디스크 장치로서 I/O 서브시스템의 구조도.
제2도는 배타적 제어 테이블(control table)으 설명도.
제3도는 OC 링크 인터페이스(link interface) 시스템의 설명도.
제4a도 및 제4b도는 노광의 설명도.
제5도는 종래의 배타적 제어 테이블의 구조도.
제6도는 종래의 반도체 디스크 장치에서의 데이타 포맷(format)을 도시한 도.
제7도는 종래의 초기화 메카니즘을 도시한 도.
제8도는 종래의 다른 초기화 메카니즘을 도시한 도.
제9도는 본 발명의 첫번째 개략 설명도.
제10도는 본 발명의 두번째 개략 설명도.
제11도는 본 발명의 세번째 개략 설명도.
제12도는 본 발명에 따른 배타적 제어방법의 실시예의 구조도.
제13도는 제12도에 도시된 실시예에서 각 유니트의 하드웨어의 구조도.
제14도는 제12도에 도시된 실시예에서 논리 경로(path)제어 테이블의 설명도.
제15도는 실시예에서 배타적 제어 테이블의 설명도.
제16도는 하나의 호스트(host)인터페이스가 실시예에서 하나의 물리적 인터페이스에 상응할때 논리 경로번호의 할당의 설명도.
제17도는 논리 패스 제어 테이블의 내용의 설명도.
제18a도 및 제18b도는 하나의 호스트 인터페이스가 실시예에서 하나의 논리 인터페이스에 상응할때 논리 경로 할당 제어의 설명도.
제19a도 내지 제19c도는 노광 시스템에서 논리 경로 번호 할당 제어의 설명도.
제20도는 논리 경로 할당 제어에 있어서 자원관리부에 의한 처리 흐름도.
제21도는 논리 경로 번호 할당제어에 있어서 채널 어댑터에 의한 처리흐름도.
제22a도 및 제22b도는 채널 어댑터에 의한 논리 경로 번호의 등록설명도.
제23도는 논리 경로 번호 할당제어에 있어서 채널 어댑터에 의한 두번째 처리 흐름도.
제24도는 배타적 제어 흐름도.
제25도는 실제 반도체 디스크의 전체구조도.
제26도는 본 발명에 따른 반도체 디스크 장치의 반도체 메모리 모듈중에 압축 데이타를 기억시키는 데이타 기억 제어방법의 실시예의 구조도.
제27도는 제26도에 도시된 실시예에서 채널 어댑터의 구조도.
제28도는 제26도에 도시된 실시예에서 데이타 제어 어댑터의 구조도.
제29도는 제26도에 도시된 실시예에서 백엎(backup) 디스크 어댑터의 구조도.
제30도는 본 발명에 따른 데이타 포맷의 설명도.
제31도는 데이타 기록 제어순서의 설명도.
제32도는 반도체 메모리 모듈이 오버플로우(overflow)하였을때 데이타 기록 제어순서의 설명도.
제33도는 데이타 판독 제어순서의 설명도.
제34도는 제26도에 도시된 실시예에서 백엎 디스크 장치의 기억영역의 설명도.
제35a도 및 제35b도는 종래의 메모리 초기화 방법의 설명도.
제36a도 및 제37b도는 리프레싱(refreshing)동작 설명도.
제37a도 및 제37b도는 본 발명에 따른 초기화 방법의 설명도.
제38a도는 본 발명에 따른 메모리 초기화 방법의 실시예의 구조도.
제39도는 제38도에 도시된 실시예에 의한 동작의 타임챠트도.
제40도는 본 발명에 따른 메모리 초기화 방법이 다른 실시예의 구조도.
제41도는 고속 액세스모드에 사용된 초기화 어드레스 카운터의 구조도.
제42도는 고속 액세스할 수 있는 본 발명에 따른 메모리 초기화 방법의 또다른 실시예의 설명도.
제43도는 다수의 블럭으로 분할되는 본 발명에 따른 메모리 초기화 방법의 또 다른 실시예의 구조도.
제44도는 제43도에 도시된 실시예에 사용된 초기화 어드레스 카운터의 구조도.
제45도는 제43도에 도시된 실시예에 데이타 기록처리의 설명도.
본 발명은 I/O 서브시스템 및 I/O 서브시스템에서의 배타적 제어, 데이타 기억, 메모리 초기화 방법에 관한 것이다.
규모가 상당히 거대화된 최근의 대형 컴퓨터 시스템은 통상 다수의 중앙처리장치(CPU)로 구성되어 있다. 이러한 시스템에 있어서, 다수의 CPU중에서 데이타의 공용과 데이타의 통신이 필요하다.
이를 위하여, 외부기억유니트를 포함하는 I/O 디바이스 시스템은 다수의 호스트 인터페이스를 제공하는 것이 요구된다.
이러한 요구를 충족하기 위하여는, I/O 서브시스템이 호스트 CPU에 접속되는 다수의 입/출력 인터페이스를 갖는 다수의 입/출력 제어기(CA:Channel Adapter)로 제공된다. 다수의 CPU로부터 어드레스를 배타적으로 제어하기 위하여는, I/O 서브시스템이 배타적 제어 테이블을 갖는 배타적 제어관리부 (RM:Resource Manager)로 제공된다.
제1도는 이러한 I/O 서브시스템으로서 반도체 디스크 장치의 구조를 도시한 것이다. 제1도에 있어서, 도면부호 1a,1b는 각각 CPU, 2a는 반도체 디스크 제어기, 3은 다수의 반도체 메모리 모듈 3a,3b,3c,…을 갖는 반도체 디스크이다.
반도체 디스크 장치는 기록매체로서 자기 디스크를 반도체 메모리로 교체하는 것이외는 자기 디스크 장치의 구조와 동일한 구조(커맨드코드, 데이타 전송방법등)를 갖는다.
그러므로, CPU 1a(1b)와 반도체 디스크 제어기의 인터페이스는 CPU 1a(1b)와 자기 디스크 제어기 사이의 인터페이스와 완전히 동일하다. 이 반도체 디스크 장치는 자기 디스크에서 필요한 헤드의 이동이 필요하지 않기 때문에 순시 액세스가 가능하다는 점과, CPU와 자기 디스크 제어기 사이의 소프트웨어 자원이 실제 사용가능하다는 점에서 유리하다.
반도체 디스크 제어기 2에 있어서, 도면부호 2a와 2b는 각각 호스트 장치(CPU)에서 단일 또는 다수의 인터페이스(호스트 인터페이스), 2c,2d는 각각 반도체 디스크 3에 기록/판독 동작을 제어하는 메모리 인터페이스 어댑터, 2e는 배타적 제어 테이블 ECT를 갖고, 다른 호스트 인터페이스가 반도체 모듈 3a(3b 또는 3c)을 사용하지 않을때 호스트 인터페이스가 그것을 사용하게 하는 배타적 제어를 행하는 반면에, 다른 호스트 인터페이스가 그것을 사용하지 않을때 사용을 금지하는 자원관리부 RM을 나타낸다. 배타적 제어는 각 반도체 메모리 모듈에서 실행된다.
2개의 물리적 인터페이스(물리포트(port)) 2a0,2a1,(2b0,2b1)는 채널 어댑터 2a(2b)와 CPU 1a(1b) 사이에 제공된다. 자원관리부 2e의 배타적 제어 테이블 ECT는 각 반도체 메모리 모듈 3a,3b,3c(디바이스 번호 0-2)가 제2도에 도시된 바와 같이 채널 어댑터(채널번호)의 각 조합(경로)과 각 채널 어댑터상에 장착된 물리 인터페이스에 의해 사용중인지 여부를 기록한다. 반도체 디스크 제어기 2에는 4종류의 경로, 즉 (00),(01),(10) 및 (11)이 있다.
이 I/O 서브시스템에 있어서, 반도체 메모리 모듈 3b에 액세스하기 위한 커맨드가 CPU 1b에서 물리 인터페이스 2b1을 통하여 채널 어댑터 2b에 발행되는 경우에, 예를 들면, 채널 어댑터 2b는 자원관리부 2e에 반도체 모듈 3b의 사용을 요구한다. 자원관리부 2e가 사용요구를 받아들일때, 반도체 메모리 모듈 3b가 배타적 제어 테이블 ECT를 참조하여 다른 경로에 의해 사용되는지 여부를 판정한다. 그 응답이 YES인 경우에는 자원관리부 2e는 채널 어댑터 2b를 사용하지 않게 하는 반면에, 그 응답이 NO인 경우에는 자원관리부 2e는 채널 어댑터 2b를 사용하게 하여, 패스(11)과 부합하여 반도체 메모리 모듈 3b의 필드내에 사용중을 나타내는 플래그(flag)을 설정한다. 그 다음에, 반도체 메로리 모듈 3b를 사용하게 하는 채널 어댑터 2b가 물리 인터페이스 2b1을 통하여 CPU 1b로부터 데이타를 수신하여 메모리 인터레이스 어댑터 2d를 통하여 반도체 메모리 모듈 3b내에 데이타를 기록한다. 기록동작이 종결될때, 자원관리부 2e는 경로(11)와 부합하여 사용중에서 미사용중을 나타내는 플래그를 변화시킨다.
배타적 제어의 문제
상술된 바와 같이, 종래의 I/O 서브시스템에 있어서, 배타적 제어 테이블 ECT상의 테이블 영역은 미리 I/O 서브시스템의 각 채널 어댑터에 할당된다. 이러한 이유로 인해, I/O 서브시스템내에 수용된 채널 어댑터의 수가 증가되고 각 채널 어댑터의 물리 인터페이스의 수가 증가되는 경우에, 배타적 제어의 크기가 확대된다.
최근의 데이타 전송기술의 개발과 변화에 따라, 많은 종류의 인터페이스 시스템(예를 들면, 전기 인터페이스 시스템, 광인터페이스 시스템 및 OC 링크)가 함께 존재한다. 이러한 상황에서, I/O 서브시스템이 가능한 많은 CPU에 접속될 수 있도록 하기 위하여는 존재하는 모든 인터페이스 시스템에 대응하는 것이 필요하다. 환언하면, 모든 인터페이스 시스템에 대응하기 위하여 I/O 서브시스템의 각종의 채널 어댑터를 제공하는 것이 필요하고, 그 결과로서 채널 어댑터의 수가 증가한다. 더우기, 한 채널 어댑터에 제공될 수 있는 물리 인터페이스의 수 뿐만 아니라 물리 데이타 전송수단이 인터페이스 시스템에서 다르다. 그러므로, 배타적 제어 테이블이 더 확대된다.
다수의 논리 인터페이스가 하나의 물리 인터페이스에 정의되는 경우에, 배타적 제어 테이블은 각 논리 인터페이스를 고려하여 작성되어야 한다. 제3도는 OC 링크 인터페이스 시스템의 설명도이다. 제3도에 있어서, 도면부호 4a는 OC 링크에 대한 채널 어댑터, 4b는 인터페이스를 동적으로 절환하도록 CPU 4ci(i=1,2,…)과 I/O 서브시스템 사이에 제공된 OC 링크 변경(change-over)/중계기를 나타낸다. OC 링크 변경/중계기를 통하여 하나의 물리 인터페이스에 최대로 256 CPU를 정의하는 것이 가능하다. 다수의 논리 인터페이스가 이방식으로 하나의 물리 인터페이스에 정의될때, 이 인터페이스가 상이한 물리 인터페이스인 것처럼 각각의 논리 인터페이스로 처리하면서 배타적 제어 테이블 ECT를 작성하는 것이 필요하다.
하나의 I/O 디바이스에 대하여 다수의 I/O 디바이스 어드레스를 정의하여 다중 액세스를 가능하게 하는 다중 노광 시스템이라고 하는 시스템이 있다. 다중 노광 시스템은 자기 드럼 장치, 반도체 디스크 장치, 및 디스크 캐쉬등의 I/O 디바이스에서의 다수으 면적을 다른 경로에 의하여 동시에 액세스할 수 있는 I/O 디바이스 액세스 시스템으로서 사용된다. 컴퓨터는 가상 계산기(단일 CPU에 서로 무관하게 동작되는 분리 동작시스템)라고 하는 아키텍쳐(architecture)가 있다.
다수의 이러한 가상 계산기(동작시스템)가 동작될때, 각 동작시스템의 I/O 디바이스 액세스의 독립성을 확보하기 위하여 하나의 노광이 하나의 동작시스템에 할당된다. 이러한 방식으로, 다수의 가상 계산기가 존재하는 경우에, 다수의 논리 인터페이스가 하나의 물리 인터페이스상에 존재한다. 이 경우에서도, 논리 인터페이스가 다른 물리 인터페이스인 것처럼 각 논리 인터페이스로 처리하면서 배타적 제어 테이블 ECT를 작성하는 것이 필요하다.
제4도는 다중 노광 시스템의 설명도이다. 이제, (OO)hex∼(FF)hex등의 256개의 I/O 디바이스 어드레스가 인터페이스상에 정의된다고 하자. 이때에, 어드레스의 존(zone) 비트가 노광번호에 할당된다. 예를 들면, 제4a도에 도시된 바와 같이, 상위 2비트가 노광번호에 할당되고 하위 6비트가 디바이스 번호에 할당된다. 환언하면, 노광 0,1,2 및 3이 정의된다. I/O 서브시스템내의 물리 I/O 디바이스의 수가 1개이고 디바이스 번호가 0라고 하면, 제4b도에 도시된 관계는 노광 번호와 I/O 디바이스 어드레스 사이에 유지된다. 이들 4개의 I/O 디바이스 어드레스는 동일한 물리 디바이스(중복정의)를 지정한다. 노광수는 4개 이외일 수 있고 노광번호를 나타내는 비트위치는 다른 위치일 수 있다.
상술된 바와 같이, 종래의 I/O 서브시스템에 있어서, 테이블 영역은 I/O 서브시스템의 최대 가능한 구조에 따라 배타적 제어 테이블상에 고정적으로 할당된다. 이 시스템에 있어서, 배타적 제어 테이블상에 대량의 테이블 면적을 확보하는 것이 필요하여, 대량 기억영역이 요구된다.
제5도는 종래의 배타적 제어 테이블의 구조예를 도시한 것이다. 이 테이블에 있어서, 부호 n1은 I/O 서브시스템내에 장착된 최대수의 채널 어댑터, n2는 한개의 채널 어댑터상에 장착된 최대수의 물리 인터페이스, n3는 하나의 물리 인터페이스에 정의된 최대수의 논리 인터페이스를 나타낸다. 컬럼의 항목수는 n1×n2×n3이다. 그러나, 실제 서브시스템에 있어서, 하나의 채널 어댑터의 물리 인터페이스의 수와 하나의 물리 인터페이스의 논리 인터페이스의 수가 변화하고 테이블의 큰 부분이 통상 미사용상태로 있어서, 대량의 배타적 제어 테이블을 작성하는 것이 쓸모없는 일이다.
반도체 메모리에서의 문제
반도체 디스크 장치에 있어서, 반도체 메모리 칩이 데이타 기억용 매체로서 사용된다. 이러한 이유로 인해, 비트당 메모리 비용이 자기 디스크 장치에서 보다 높다. 더우기, 반도체 디스크 장치당 기억용량이 자기디스크 장치와 비교하여 작다. 기억용량의 문제를 해결하기 위하여, 반도체 메모리 칩의 형상이 고안되거나 반도체 메모리 칩의 설치방법이 개선되지만, 이들 개선책은 한정되어 있고 아직까지 비용의 문제가 해결되지 않았다. 비용의 문제를 해결하기 위하여, 물리적으로 동일한 반도체 메모리 자원에서 가능한 데이터량이 큰 기억기술이 필요하다.
종래의 디스크 장치에 있어서, 실제 자기 디스크 장치의 것과 유사한 포맷(CDK 포맷)이 에물레이션(emulation)시에 채택된다. 즉, 반도체 메모리의 면적이 자기 디스크 매체에 입/출령의 동작을 제어하기 위해 필요한 갭(gap)정보에 할당된다.
제6도는 종래의 반도체 디스크 장치에서의 데이타 포맷을 도시한 것이다. 부호 DIR은 트랙필드의 헤드에 기록된 디렉토리를 나타낸다. 이 데이타는 반도체 디스크에 고유의 것이고 실제 자기 디스크 장치에 존재하지 않는다. 디렉토리 DIR 후에, 각각 카운트부 Ci(i=1,2), 키부 Ki 및 데이타부 Di로 구성된 다수의 레코드 Ri가 쓰여진다. 카운트부 Ci는 트랙 어드레스, 레코드 번호, 잇따른 키부 Ki와 데이타부 Di의 길이를 기록한다. 키부 Ki는 항상 필요한 것이 아니라 액세스 방법에 의해 검색하기 위한 키를 기록한다. 데이타부 Di는 통상 사용자 데이타(user data)로 불리우는 데이타를 기록한다. 각 인접한 기록부는 갭 g로 분할된다.
이러한 갭 g는 반도체 메모리를 액세스하기 위해 필요치 않다. 그러므로, 갭 g을 모두 제거하여, 대량의 데이타를 동일한 물리 반도체 메모리 자원에 기억된다. 그러나, 이들 갭 면적은 서브시스템의 전체 영역으로부터 알 수 있는 바와 같이 매우 작으므로, 갭 면적의 제거나 매우 효과적인 해결책이라고 말할 수가 없다.
주목된 기술로서, 최근에 데이타 압축 복원기술이 개발되어 왔다.
이것은 데이타의 내용을 손상시키지 않고, 외부 기억 매체내의 압축 데이타를 기억하며 데이타를 실제 처리할때 압축 데이타를 원래 데이타로 복원함이 없이 원래 데이타 크기를 감소시키도록 데이타를 압축하는 기술이다. 이 기술에 대하여 각종 방법이 있다. 대표적인 방법은 한 블럭의 데이타열내에 데이타의 연속성에 따라 데이타를 부호화하는 방법이며, 런 렝스(run-lenfh) 부호화 방법과 유니버설(universal) 부호화 방법이 있다. 런 렝스 부호화 방법에 있어서는, 데이타 a는 예를 들면 aa를 a2, aaaaa를 a5로 표기하여 압축된다.
유니버설 부호화 방법에 있어서, 입력데이타는 이미 부호화된 부분 데이터열을 표기하는 정보를 사용하여 부호화된다. 대표적인 유니버설 부호화 방법은 Ziv-Lempel 코드를 채택한다(예를 들면, Data Compression Method by Ziv-Lempel Information Processing Vol. 26, NO. 1, 1985 참조). Ziv-Lempel 부호화 방법에 있어서, 2개의 알고리듬, (1) 유니버설형과 (2) 증분분해형(incremental parsing type)이 제안된다. 유니버설형 알고리듬을 사용하는 실용적인 방법으로서, LZSS 부호화 방법(T.C.Bell,Better OMP/L Text compression, IEEE trans. on Commun, Vol. COM-34, NO.12, Dec. 1986)이 있다. 증분분해형 알고리듬을 사용하는 실용적인 방법으로서, LZW(Lempel-Ziv-Welch) 부호화 방법(T.A.Welsh, A Technique for High-performance Data Compression, Computer, June 1984).
물리적으로 동일한 반도체 메모리중의 대량의 데이타를 쓰는 경우에서, 판독할때 압축 데이타를 쓰고 이를 원해 데이타로 복원하는 방법이 고려된다. 그러나, 데이타 압축 기술에 있어서 해결되지 않은 몇가지 문제점이 있다.
첫번째 문제점은 데이타 압축에 요구되는 시간, 즉 데이타가 전송에 필요한 오버헤드시간이 같다. 데이타 압축방법에 따라 약간의 변화가 있더라도, 데이타 압축처리가 근본적으로 데이타의 패턴을 조정하는 데이타의 버퍼링(buffering)과 부호화된 데이타의 등록 및 검색 등의 처리를 필요로 한다. 이러한 이유로 인해, 압축 데이타에 대한 데이타 전송시간이 어떠한 처리도 행하지 않는 데이타에 대한 것보다 길다. 이러한 오버헤드시간은 데이타의 형태에 관계없이 균일한 고속 액세스를 가능하게 하는 반도체 디스크 장치에서 무시될 수가 없다.
두번째 문제점은 압축 데이타의 크기가 실제 압축전에 평가될 수 없다는 것이다. 그 결과, 기억된 데이타를 판독하여 그 일부를 변경한 후 다시 쓰는 경우에서, 압축 데이타의 크기가 변경전의 압축 데이타와 다르기 때문에 동일한 위치에서 데이타를 기억하는 것이 항상 가능하지 않다. 런 렝스 부호화 방법의 예를 들면, a4로서 부호화되어 반도체 메모리내에 기억된 데이타 aaaa를 aabaa로 변경될때, 압축 데이타가 a2ba2로 되어, 압축 데이타의 크기가 증가한다. 더우기, 데이타 압축비가 데이타 형태에 의존하므로, 데이타가 연속적이지 않거나 데이타의 패턴 또는 데이타 발생빈도가 일정하지 않는 경우에, 일반적으로 압축이 불가능하다. 최악의 경우에, 압축 데이타의 크기가 원래 데이타의 크기보다 크게 된다.
세번째 문제점은 원래 데이타가 압축되므로, 데이타 압축메카니즘등에 이상이 있을때 압축 데이타가 원래 데이타로 복원될때까지 이상을 발견할 수가 없다.
데이타 압축/복원방법을 채택하여 반도체 메모리에 기억된 데이타량을 증가하기 위하여 이들 문제점을 해결하는 것이 필요하다.
메모리 초기설정시간의 문제
반도체 디스크 장치등의 비휘발성 메모리를 사용하는 기억유니트에 있어서, 전원을 ON하거나 메모리 모듈을 가진 인쇄판을 설치 또는 제거할때, 메모리의 내용이 정의되지 않는 상태로 된다. 이 경우에서, 메모리를 초기화하기 위하여 메모리중에 특정데이타(초기설정 데이타)를 쓰는 초기화 동작이 필요하다.
초기화 동작이 종결될때까지 장치를 사용할 수 없으므로, 사용자는 전원을 ON시킨후에 잠시동안 기다려야 한다. 더우기, 액세스 제어기는 초기화동작을 행하므로, 메모리 액세스가 초기설정중에 불가능하다. 그러므로, 초기설정 시간을 단축시키거나 메모리 액세스 경로를 개선시킴으로써 기억유니트의 이러한 불편을 가능한 많이 감소시키는 것이 필요하다.
제7도는 종래의 초기화 메카니즘을 도시한 것이다. 전원을 ON시킨 경우에, 초기설정 출발신호 INS가 호스트 모듈 또는 액세스 제어기 11에서 발생된다. 데이타 레지스터 12는 초기설정 출발신호 INS를 수신하여 그 안에 초기설정하기 위한 기록데이타 IDT를 설정한다. 초기설정 어드레스 카운터 13은 초기설정 어드레스 IAD를 출력한다. 어드레스 스위칭 회로 14는 호스트 모듈에서의 어드레스 신호 AD를 초기설정 어드레스 IAD로 변화시키고, 초기설정 데이타 IDT를 데이타 버스 15로, 초기설정 어드레스 신호 IAD를 어드레스버스 16으로 출력하고 메모리 액세스 타이밍 신호(도시되어 있지 않음)를 출력하여 기억유니트 10을 초기화하는 동작을 행한다. 여기에서, REF는 리프레쉬 커맨드 신호(refresh command signal), IED는 초기 설정 종결 신호를 표시한 것이다.
제8도는 종래의 다른 초기화 메카니즘의 구조를 도시한 것이다. 이 메카니즘에 있어서, 2개의 액세스 제어기 11a,11b는 서로 개별적으로 3개의 메모리부 10a,10b 및 10c를 액세스한다. 각각의 액세스 제어기 11a,11b는 제7도에 도시된 액세스 제어기 11과 동일한 구조를 갖는다. 중앙에 메모리부 10b가 메모리 모듈에 대해 인쇄판을 설치하여 추가될때 , 상부 액세스 제어기 11a는 메모리부 10b를 액세스하여 제7도에 도시된 메카니즘과 동일하게 그것을 초기화시킨다.
기억부 10b를 초기설정시에, 하부 액세스 제어기 11b는 호스트 모듈에서의 데이타 신호 DT와 어드레스신호 AD를 수신하여 이들 신호를 각각 어드레스 버스 16과 데이타 버스 15에 출력하고 기억 액세스 타이밍 신호(도시되어 있지 않음)를 더 출력하여 호스트모듈에서 액세스 요구에 응하여 다른 2개의 기억부 10a와 10b를 액세스한다.
상술된 바와 같이, 초기설정은 초기설정 어드레스를 발생시키고 액세스 제어기에 의한 어드레스에 따라 메모리내에 초기설정 데이터를 씀으로써 통상적으로 실행된다. 휘발성 메모리를 초기화하는 경우에서, 메모리내에 데이터를 보류하는 리프레싱 동작이 필요하다. 그러므로, 리프레쉬 커맨드 신호 REF(제7도 참조)가 입력될때, 초기설정 어드레스 카운터 13은 초기설정 어드레스 신호 IAD의 발생을 중지하면, 리프레싱 동작이 종결된후에, 초기설정 어드레스 신호 IAD의 발생을 되찾는다. 그 결과, 초기설정에 요구되는 시간이 초기설정 데이타 IDT를 기록하는 시간과 리프레슁 동작을 행하는 시간의 합이다.
초기설정이 장시간 소요되는 경우에, 호스트 모듈에서 액세스의 요구는 초기설정의 종결까지 처리될 수 없으므로, 전원을 ON시킨 사용자가 장치를 실제 사용할 수 있기전에 장시간 동안 기다려야 한다.
제8도에 도시된 메카니즘에 있어서, 다른 액세스 제어기가 호스트 모듈로부터 액세스 요구를 처리할 수가 있지만, 전체로서 액세스의 메모리 액세스 성능이 그 시간중 절반으로 감소된다. 즉, 초기설정이 장시간 소요되는 경우에, 성능 또한 이 메카니즘에서도 상당히 저하된다.
상술된 바와 같이, 종래의 I/O 서브시스템에 있어서, 배타적 제어 테이블이 크고 배타적 제어 테이블을 기억하기 위해 큰 메모리가 요구된다.
더우기, 종래의 반도체 디스크 장치내에 압축 데이타를 기록하는 동작이 (1) 전송시간의 증가가 무시될 수 없고, (2) 압축 데이타의 크기를 미리 평가하는 것이 불가능하며, (3) 압축제어 메카니즘에서 이상이 발생될 때, 데이타가 복원될때까지 이상을 발견하는 것이 불가능하다는 등의 여러 가지 문제점에 부딪힌다.
더우기, 리프레싱 동작이 반도체 메모리 등을 초기화하는데 필요하므로, 액세스의 기록시간이 길어진다.
그러므로, 관련기술에서의 상술된 문제점을 제거하여 성능이 향상된 I/O 서브시스템을 제공하는 것이 본 발명의 첫번째 목적이다.
본 발명의 두번째 목적은 배타적 제어 테이블의 크기를 감소시킬 수 있는 I/O 서브시스템과 배타적 제어방법을 제공하는데 있다.
본 발명의 세번째 목적은 관련기술에 있어서의 데이타 압축의 문제점을 해결할 수 있는 반도체 디스크 장치에 압축 데이타를 기억하는 I/O 서브시스템과 데이타 기억방법을 제공하는데 있다.
본 발명의 네번째 목적은 리프레싱 동작을 생략하여 반도체 메모리 등을 초기화하는 시간을 단축할 수가 있는 I/O 서브시스템과 초기설정 방법을 제공하는데 있다.
첫번째와 두번째 목적을 달성하기 위하여, 본 발명의 제1양상에 있어서는 각각의 입/출력 인터페이스부의 각 호스트 인터페이스에 논리 경로 번호를 할당하고, 배타적 제어 테이블의 논리 경로 번호와 대응하여 I/O 디바이스를 사용하는 상태를 관리하고, I/O 디바이스의 사용요구가 소정의 논리 경로 번호를 할당하는 호스트 인터페이스로부터 입력될때 배타적 제어 테이블을 참고하여 다른 호스트 인터페이스에 의해 I/O 디바이스가 사용되는지 여부를 판정하고, 액세스 요구를 갖는 호스트 인터페이스로 하여금 I/O 디바이스가 사용중이지 않을때 I/O 디바이스를 사용하는 반면에, I/O 디바이스가 할당된 논리 경로 번호와 대응하여 배타적 제어 테이블에 사용중이라는 것을 나타내는 플래그를 설정하며, I/O 디바이스가 I/O 디바이스의 사용이 종결될때까지 미사용중이라는 것을 나타내는 플래그로 변환시키는 단계로 구성된 배타적 제어방법이 있다.
세번째 목적을 달성하기 위하여, 본 발명의 제2양상에 있어서는 채널 어댑터에 의해 데이타를 압축하여 반도체 메모리 모듈에 압축 데이타를 기록하고, 반도체 메모리 모듈로부터 압축 데이타를 판독하여 복원하며, 압축전의 데이타와 복원 데이타를 비교하여 반도체 메모리 모듈에 기록된 압축 데이타를 검증하는 단계로 구성되는 반도체 메모리 모듈에 데이타를 기억하는 데이타 기억방법이 제공되어 있다. 또한, 이 데이타 기억방법을 실현하는 I/O 서브시스템이 제공되어 있다.
네번째 목적을 달성하기 위하여, 본 발명의 제3양상에 있어서는 지정된 컬럼 어드레스와 지정된 로우 어드레스의 결합에 따라 액세스되고 메모리내에 초기설정 데이타를 기록하여 각 로우에 대해 리프레쉬되는 휘발성 메모리를 초기설정하는 메모리 초기설정 방법으로서, 일정한 값으로 고정된 컬럼 어드레스의 상승 순서로 로우 어드레스를 연속적으로 생성시키면서 두번째 컬럼상의 모든 메모리 셀내의 초기설정 데이타를 기록하고, 컬럼 어드레스를 하나씩 직렬로 진행시키면서 다음의 컬럼상에 동일한 방식으로 초기설정 데이타의 기록단계를 반복하는 단계로 구성되어 있다.
본 발명의 다른 특징과 이점은 첨부된 도면에 의하여 다음의 상세한 설명으로부터 명백하게 된다.
(a) 발명의 개략적 구조
제9도 및 제10도는 본 발명의 구조의 개략적인 설명도이다.
(a-1) 배타적 제어(제9도)
제9도와 관련하여, 참조번호 21a-21c는 각각 호스트 장치와 인터페이스부 사이에 단일 또는 다수의 인터페이스(호스트 인터페이스)를 갖는 다수의 입/출력 인터페이스, 22는 다수의 인터페이스부 21a-21c에 의해 공통으로 사용된 I/O 디바이스(반도체 메모리), 23은 배타적 제어 테이블 ECT와 논리 경로 제어 테이블 LPT로 제공되고 어떤 다른 호스트 인터페이스에 의해 I/O 디바이스를 사용하지 않는 경우 호스트 인터페이스가 I/O 디바이스를 사용하게 하는 반면에, 다른 호스트 인터페이스가 이를 사용하는 경우 사용을 금지하는 배타적 제어기(자원관리부)를 나타낸다.
배타적 제어기 23은 입/출력 인터페이스부 21a-21c의 각각의 호스트 인터페이스의 각각에 논리 경로 번호를 할당하고, 배타적 제어 테이블 ECT의 논리 경로 번호와 대응하여 I/O 디바이스를 사용하는 상태를 관리하며, 배타적 제어기 23이 소정의 논리 경로 번호가 할당된 호스트 인터페이스를 통하여 I/O 디바이스 22의 사용요구를 받아들일때 배타적 제어 테이블 ECT를 참고하여 다른 논리 경로를 통하여 다른 호스트 인터페이스에 의해 I/O 디바이스 22의 사용 여부를 판정한다. 응답이 NO인 경우에는, 배타적 제어기 23은 요구된 액세스를 갖는 호스트 인터페이스로 하여금 I/O 디바이스 22를 사용하게 하고, I/O 디바이스가 호스트 인터페이스의 논리 경로 번호와 대응하여 배타적 제어 테이블 ECT에 사용중이라는 것을 나타내는 플래그를 설정한다. I/O 디바이스 22의 사용이 종결될때, 배타적 제어기 23은 플래그를 I/O 디바이스가 미사용중이라는 것을 나타내는 플래그를 변화시킨다.
이 경우에서, 하나의 호스트 인터페이스가 하나의 물리 인터페이스에 대응할 수 있지만, 다수의 논리 인터페이스가 하나의 물리 인터페이스상에 정의될때, 하나의 호스트 인터페이스는 하나의 논리 인터페이스에 대응한다. 즉, 적어도 2개의 인터페이스가 1개의 물리 인터페이스상에 정의될때, 논리 경로 번호는 호스트 인터페이스로서 각 논리 인터페이스에 할당된다. 더우기, 다수의 I/O 기계번호가 단일의 I/O 디바이스에 할당되고 1개의 호스트 장치의 동작 시스템이 각각의 I/O 기계번호를 사용하여 물리 인터페이스를 거쳐 I/O 디바이스에 동시에 액세스 가능할때, 호스트 인터페이스 번호는 각각의 I/O 디바이스 번호와 대응하여 물리 인터페이스에 할당되며, 논리 경로 번호는 각각의 호스트 인터페이스(호스트 인터페이스 번호)에 할당된다.
이 구조에 따라, 종래의 I/O 서브시스템과 달리 최대 구조로 대처할 수 있는 대량의 배타적 제어테이블을 고정적으로 준비하는 것이 필요치 않다. 환언하면, I/O 서브시스템에 실제 연결된 호스트 인터페이스만이 리스트(list)되는 배타적 제어 테이블이 충분하다. 그러므로, 배타적 제어 테이블의 크기와 테이블에 대한 기억용량을 감소시키는 것이 가능하다.
논리 경로 번호의 할당은 다음방식으로 제어된다. 논리 경로 제어 테이블 LPT는 배타적 제어기 23에 제공된다. 전원이 ON되거나 논리 인터페이스가 정의될때, 각각의 입/출력 인터페이스부 21a-21c는 연결된 모든 호스트 인터페이스에 논리 경로 번호를 할당하는 배타적 제어기 23은 논리 경로 번호를 할당하기 위한 요구에 응하여 미사용중인 논리 경로 번호를 호스트 인터페이스에 동적으로 할당하고 입/출력 인터페이스부의 식별정보(CA 번호)와 호스트 인터페이스의 식별 정보(호스트 인터페이스 번호)와 대응하여 논리 경로 제어 테이블 LPT에 할당된 논리 경로 번호를 레지스터한다.
또한, 배타적 제어기 23은 정전시에도 내용을 손실시키지 않는 비휘발성 메모리내에 논리 경로 제어 테이블 LPT를 기억하고 비휘발성 메모리에 기억된 논리 경로 제어 테이블 LPT에 근거하거나 또는 명령수단(스위치)의 ON/OFF에 따라 논리 경로 번호의 상술된 동적 할당에 근거하든지 어느 한쪽에 논리 경로 번호를 할당한다. 이 구조에 따라, 정전이전에 논리 경로 번호의 할당을 재생시키는 것이 가능하므로, 고정 분석시 또는 고장의 재생시험시에 동일한 환경이 재생된다.
(a-2) 데이타 기억제어(제10도)
제10도와 관련하여, 참조번호 31은 호스트 장치(CPU) 30과 메모리 인터페이스 어댑터사이에 데이타 입/출력 동작을 제어하는 채널 어댑터, 32는 반도체 메모리 모듈에 대한 액세스에 대하여 배타적 제어를 실행하는 배타적 제어기(자원 관리부), 33a-33n은 각각 다수의 반도체 메모리 칩으로 구성된 반도체 메모리 모듈, 34는 반도체 메모리 모듈에서 기록 및 판독 동작을 제어하는 메모리 인터페이스 어댑터, 35는 반도체 메모리 모듈내에 기록된 압축 데이타를 검증하는 데이터 제어 어댑터, 36는, 백엎 디스크 장치, 37은 백엎 디스크 어댑터를 나타낸다.
데이타가 I/O 서브시스템에서 반도체 메모리 모듈 33a-33n(이하, 반도체 메모리 모듈 33이라 함) 중 하나에 기억될때, 채널 어댑터 31은 그 안에 제공된 데이타 버퍼에 기억된 데이타를 압축하여 반도체 메모리 모듈 33에 압축 데이타를 기록한다. 데이타 제어 어댑터는 35는 반도체 메모리 모듈 33으로부터 압축 데이타를 판독하고 복원하여 압축전에 데이타(비압축 데이타)와 복원 데이타를 비교하여 반도체 메모리 모듈 33에 기록된 압축 데이타를 검증한다. 이 경우에서, 압축데이타가 반도체 메모리 모듈 33에 기록된 후에, 데이타 버퍼에 기억된 비압축 데이타는 여분의 반도체 메모리 모듈 33s에 기록되며, 비압축 데이타는 복원데이타와 비교되도록 여분의 반도체 메모리 모듈 33a에서 판독된다.
데이타 비교결과, 이상이 검출될때, 데이타 제어 어댑터 35는 여분의 반도체 메모리 모듈 33s에서 판독된 데이타를 압축하여 반도체 메모리 모듈 33내에 압축데이타를 기록한다. 그후에, 압축데이타를 복원하고 복원된 데이타를 비압축 데이타와 비교하여 반도체 메모리 모듈 33에 기록된 압축 데이타를 검증한다. 검증결과 반도체 메모리 모듈 33의 트랙헤드의 디렉토리부에 기록된다.
반도체 메모리 모듈이 압축데이타를 기록하는 동작시 충반될때, 비압축 데이타가 백엎 디스크 장치 36로부터 반도체 메모리 모듈내에 기록된다.
이러한 방식으로, 데이타가 압축될때 야기된 문제점이 해결된다.
그 결과, 압축 데이타를 기록함으로써 반도체 메모리내에 대량의 데이타를 실제 기억하는 것이 가능하다. (a-3) 초기설정(제11도).
제11도에 있어서, 참조번호 41은 리프레싱을 필요로 하는 휘발성 메모리를 나타내며 부호 CA는 컬럼 어드레스, RA는 로우 어드레스를 나타낸다.
휘발성 메모리 41은 지정된 컬럼 어드레스 CA와 지정된 로우 어드레스 RA와 결합에 의해 액세스되고 각 로우에 대해 리프레쉬 된다. 휘발성 메모리 41를 초기화하기 위하여, 일정한 값 i에서 고정된 컬럼 어드레스 CA의 상승순서로 로우 어드레스 RA를 연속적으로 작성하면서 i번째 컬럼상에 모든 메모리 셀(1∼2)에 초기설정 데이타를 기록한다. 그 다음에, 다음의 컬럼(로우 어드레스 3∼4에서)에 동일한 방식으로 초기설정 데이타를 기록한다.
이러한 방식으로, 초기설정 데이타의 기록동작이 메모리를 동시에 리프레쉬하므로, 1개의 컬럼상에 데이타를 기록하는데 요구되는 시간이 리프레슁 동작 사이의 구간보다 짧을때, 별개의 리프세슁 동작이 필요하지 않아 초기설정 시간이 감소된다. 고속 메모리의 경우에서 컬럼 어드레스 CA는 상부 컬럼 어드레스와 하부 컬럼 어드레스로 분할되고, 고정된 상부 컬럼 어드레스와 하부 컬럼 어드레스의 상승순서로 하부 컬럼 어드레스를 연속적으로 작성하면서 메모리 셀내에 초기설정 데이타를 기록한다. 그 다음에, 초기설정 데이타가 다음의 로우에 동일한 방식으로 기록된다. 이러한 방식으로, 모든 로우상에 초기설정데이타가 기록된 후에, 데이타 기록 동작이 상부 컬럼 어드레스를 하나씩 순차적으로 진행시키면서 반복된다. 이 처리도 별개의 리프레싱 동작을 생략하여 초기설정 시간을 감소시킨다.
(b) 발명의 배타적 제어방법의 실시예
(b-1) 전체구조
제12도는 본 발명에 따른 배타적 제어방법의 실시예 구조를 도시한 것이다. 참조번호 20은 I/O 서브시스템으로서의 반도체 디스크 장치, 300, 311 및 302는 호스트 장치로서의 CPU(CPU-0∼CPU-2)를 나타낸다.
반도체 디스크 장치 20에 있어서, 참조번호 21a,21b 및 21c는 각각 호스트 장치(CPU)에서 단일 또는 다수의 인터페이스(호스트 인터페이스)를 갖는 채널 어댑터(CA-0∼CA-2), 22는 각각 CPU 300∼312에 대한 I/O 디바이스로서 사용하는 다수의 반도체 메모리 모듈 22a∼22n으로 제공된 반도체 디스크를 나타낸다. 참조번호 23은 논리 경오 제어와 배타적 제어등의 처리를 행하도록 배타적 제어 테이블 ECT와 논리 경로 제어 테이블 LPT로 제공되는 자원 관리부(RM)을 나타낸다. 배타적 제어 테이블 ECT와 논리 경로 제어 테이블 LPT는 비휘발성 기억영역에 기억된다. 논리 경로 제어는 각 어댑터에 연결된 호스트 인터페이스에 논리 경로 번호를 가산하여 CPU와 반도체 디스크 사이의 경로를 제어하는 처리단계이며, 배타적 제어는 어떤 다른 호스트 인터페이스에 의해 사용되지 않을때 호스트 인터페이스가 반도체 메모리를 사용하게 하는 반면에, 또 다른 호스트 인터페이스가 이를 사용할때 사용을 금지하는 처리단계이다. 배타적 제어는 각 반도체 메모리 모듈에 대해 행해진다.
참조번호 24는 반도체 디스크 22에 데이타의 기록 및 판독 동작을 제어하는 메모리 인터페이스 어댑터, 25는 유지 및 모듈감시등의 처리를 행하는 서비스 어댑터(SA), 26는 논리 경로 번호를 할당하는 방법을 명령하는 스위치 SW로 제공된 유지판을 나타낸다. 논리 경로 번호의 할당 방법으로서는 2가지 방법이 있다. 즉, 1. 논리 경로 번호의 할당요구가 채널 어댑터 21a∼21c중 하나로 부터 공급될때 미사용중인 논리 경로 번호를 할당하는 방법(이하, 논리 경로 번호 비 고정 모드라고 함), 2. 정전이전에 비휘발성 기억용량에 기억된 논리 경로 제어 테이블에 근거하여 논리 경로 번호를 할당하는 방법(이하, 논리 경로 번호 고정모드라고 함)이 있다. 스위치 SW가 OFF될때, 논리 경로 번호는 논리 경로 번호 비고정모드에 의해 할당되고 스위치 SW가 ON될때, 논리 경로 번호는 논리경로 번호 고정모드에 의해 할당된다.
참조번호 27은 C-BUS, D-VUS 및 S-BUS(도시되어 있지 않음)로 공급된 내부 버스를 나타낸다. C-BUS는 각 유니트가 메시지를 통신하고 제어정보를 액세스하는 제어버스이고, D-버스는 각 유니트가 공급하고 반도체 디스크 22에 데이타를 수신하는 데이타 전송 버스이며, S-BUS는 마스터로서의 서비스 모듈이 각 유니트의 상태를 제어하는 서비스 버스이다.
채널 어댑터 21a는 1개의 물리 인터페이스(물리 포트)0으로 제공되고, 채널 어댑터는 21b는 2개의 물리 인터페이스 0,1로 제공되고, 채널 어댑터 21c는 3개의 물리 인터페이스 0,1,2로 제공된다. 또한, 채널 어댑터 21a의 물리 인터페이스 0은 CPU 300의 인터페이스를 구성하고, 채널 어댑터 21b의 물리 인터페이스 0,1은 각각 CPU 300,311의 인터페이스를 구성하며, 채널 어댑터 21c의 물리 인터페이스 0,1,2는 각각 CPU, 300,311,312의 인터페이스를 구성한다.
각각의 채널 어댑터 21a-21c, 자원 관리부 23, 메모리 인터페이스 어댑터 24와 서비스 어댑터 25는 실제 제13도에 도시된 것과 동일한 구조를 갖는 마이크로 프로세서로 구성된다. 제13도에 있어서, 참조번호 101은 마이크로 프로세서(MPU), 102는 RAM 구조를 갖는 제어 기억부(CS), 103은 ROM 구조를 갖는 제어 기억부(CS), 104는 내부버스 27에 접속된 드라이버/수신기(DV/RV) 105는 버스 인터페이스 로직(BIL), 106은 외부 인터페이스에 접속된 드라이버/수신기(DV/RV), 107은 버퍼 또는 테이블 기억부, 108은 개별 LSI(게이트 어레이)를 나타낸다. 드라이버/수신기(DV/RV) 106의 수는 거리에 접속된 외부 인터페이스의 수에 의존한다.
(b-2) 논리 경로 제어 테이블
논리 경로 제어 테이블 LPT는 제14도에 도시된 바와같이 서로와 대응하여 논리 경로 번호, 채널 어댑터 번호(CA 번호) 및 호스트 인터페이스 번호를 기억한다. 논리 인터페이스가 물리 인터페이스상에 정의되는 경우에, 1개의 호스트 인터페이스가 1개의 물리 인터페이스(물리 포트)에 대응한다. 한편, 다수의 논리 인터페이스가 물리 인터페이스상에 정의되는 경우에, 1개의 호스트 인터페이스가 1개의 논리 인터페이스에 대응한다.
논리 경로 제어 테이블 LPT는 논리 경로 번호 비고정 모드의 경우에는 다음같은 방식으로 작성된다. 전원 스위치 ON될때, 각각의 채널 어댑터 21a-21c는 대응하는 채널 어댑터에 접속된 각 호스트 인터페이스에 논리 경로 번호를 할당하도록 자원 관리부 23을 필요로 한다. 자원 관리부 23은 할당 요구에 응하여 호스트 인터페이스에 미사용중인 논리 경로 번호를 할당하고 논리 경로 번호와 대응하여 논리 경로 제어 테이블 LPT의 호스트 인터페이스 번호와 채널 어댑터 번호(CA번호)를 등록한다. 모든 채널 어댑터에 대하여 이 레지스터 동작을 행함으로써, 논리 경로 제어테이블 LPT가 작성된다. 제14도에 있어서, 논리 경로 번호 0는 채널 어댑터 21a의 호스트 인터페이스 0에 할당되고, 논리 경로 번호 1은 채널 어댑터 21b의 호스트 인터페이스 0에 할당되며, 논리 경로 번호 2는 채널 어댑터 21b의 호스트 인터페이스 1에 할당되며,…(동일한 규칙이 다음에 대응하여 적용된다).
채널 어댑터의 호스트 인터페이스가 논리 경로 번호의 할당후에 옵션(option)의 증설에 의하여 가산되는 경우에, 채널 어댑터는 가산된 호스트 인터페이스에 논리 번호를 할당하도록 자원 관리부 23을 필요로 한다. 그 다음에, 자원관리부 23은 동일한 방식으로 호스트 인터페이스에 미사용중인 논리 경로 번호를 할당하고 논리 경로 번호와 대응하여 논리 경로 제어 테이블 LPT에 채널 어댑터 번호(CA 번호)와 호스트 인터페이스 번호를 등록한다…동적 할당추가.
채널 어댑터의 소정의 호스트 인터페이스가 제거되거나 채널 어댑터 자체가 I/O 서비스시스템으로부터 제거되는 경우(부품 고장시의 수리할때 해당함), 자원 관리부 23은 대응하는 호스트 인터페이스에 할당된 논리 경로 번호를 제거한다…동적 제거.
논리 경로 번호를 할당하는 이러한 방법에 있어서, 논리 경로 번호는 예를 들면, I/O 서브시스템이 시동되거나 옵션이 증설될때에 필요에 따라 할당된다. 이러한 이유로 인하여, 논리 경로 번호 자체는 CPU 또는 I/O 서브시스템에서의 전원스위치를 ON시키는 순서에 따라 변화할 수가 있다. 이것은 통상사용시에 어떠한 문제도 없지만, 고장발생시에는 고장 분석 또는 고장의 재생시험에 대해 동일한 환경을 재생하는 것이 곤란하다. 대응책으로서, 비휘발성 영역이 논리 경로 제어테이블 LPT를 기억하도록 제공된다. 더우기, 보수원에 의해 외부적으로 동작될 수 있는 스위치 SW가 상술된 바와 같이 보수판 26상에 제공된다.
스위치 SW가 OFF될때, 논리 경로 번호의 할당요구가 채널 어댑터로부터 공급될때, 새로운 논리 경로 번호가 상술된 바와 같이 할당된다. (동적 할당) 한편, 스위치 SW가 ON될때, 비휘발성영역에 기억된 테이블 정보에 의해 나타난 것과 같은 논리 경로 번호가 할당된다.
스위치 SW는 보수원이 논리 경로 보호를 고정적으로 할당할때 ON된다…논리 경로 번호 고정모드.
(b-2) 배타적 제어 테이블
배타적 제어 테이블 ECT는 제15도에 도시된 바와같이, 논리 경로 번호와 대응하여, I/O 디바이스(반도체 메모리 모듈)가 사용중에 있는지 여부를 나타내는 사용중 데이타, I/O 디바이스(반도체 메모리 모듈)여가 예약되는지 여부를 나타내는 예약데이타, 경로 그룹정보등을 기억한다. 배타적 제어 테이블 ECT가 각 반도체 메모리 모듈에 대해 제공된다.
호스트 인터페이스가 반도체 메모리 모듈 33을 사용할때, 플래그 1은 호스트 인터페이스의 논리 경로의 로우에 대하여 사용중 데이타의 컬럼에 설정된다. 반도체 메모리 모듈 33의 사용이 종결될때, 플래그 1이 0으로 복귀된다. 호스트 인터페이스가 소정의 반도체 메모리 모듈 33을 전용적으로 사용하도록 예약 커맨드를 발행할때, 플래그(1은 호스트 인터페이스의 논리 경로 번호의 루우에서의 예약 데이타의 컬럼에 설정된다. 예약 커맨드가 해제될때, 플래그(1이 0으로 복귀된다. 다른 호스트 인터페이스가 반도체 메모리 모듈 33에 대한 액세스 요구를 공급하더라도, 플래그 1이 예약 데이터의 칼럼에 설정되는 동안 응답은 통화중이다.
(b-4) 논리 경로 번호의 할당
제16도는 하나의 호스트 인터페이스가 하나의 물리 인터페이스에 대응할때 논리 경로의 할당의 설명도이다. 각각의 채널 어댑터 21a-21c에 장착된 물리 인터페이스는 호스트 인터페이스로서 사용되며, 제17도에 도시된 것과 같은 논리 경로 제어테이블 LPT는 논리 경로 번호 할당 제어에 의해 생성된다.
제18a도 및 제18b도는 하나의 호스트 인터페이스가 하나의 논리 인터페이스에 대응할때 논리 경로의 할당의 설명도이다. 채널 인터페이스 21b는 OC링크용 어댑터이며, 1개의 물리 인터페이스 21b'는 전환/중계기 28을 통하여 4개의 CPU 20a-20d에 접속된다. 환언하면, 4개의 인터페이스 29는 1개의 물리 인터페이스 21b'상에 정의된다. 이러한 경우에서, 15개의 호스트 인터페이스는 1개의 논리 인터페이스에 대응하며, 논리 경로 번호는 각각의 호스트 인터페이스(0-3)에 할당된다. 제16도에 도시된 채널 어댑터 21b와 각각의 CPU게 제18a도에 도시된 바와 같이 접속된다고 가정하면, 제18b도에 도시된 것과 같은 논리 경로 제어테이블 LPT가 논리경로 번호 할당 제어에 의해 생성된다.
제19a도 내지 제19c도는 노광 시스템에서의 논리 경로 번호 할당 제어의 설명도이다. CPU 20이 1개의 물리 인터페이스 21b'를 통하여 채널 어댑터 21b에 접속된다(제19a도 참조). 2개의 기계 어드레스가 노광에 의해 반도체 메모리 모듈 22a상에 설정된다. 노광에 의하여, 1개의 CPU 20은 2개의 가상 컴퓨터 VM1, VM2인 것처럼 사용되어, 가상 컴퓨터 VM1, VM2의 각각이 1개의 물리 인터페이스 21b'를 통하여 반도체 메모리 모듈 22a에 대한 액세스 요구를 공급한다. 이것은 2개의 논리 인터페이스가 1개의 물리 인터페이스 21b'상에 정의된다는 것을 의미한다(제19b도 참조). 1개의 호스트 인터페이스가 1개의 논리 인터페이스에 대응하므로, 논리 경로 번호는 각각의 호스트 인터페이스(0과 1)에 할당된다. 그러므로, 제16도에서의 채널 어댑터 21b의 물리 인터페이스에 접속되는 CPU가 2개의 노광을 설정하는 경우, 제19c에 도시된 논리 경로 제어 테이블 LPT가 생성된다.
(b-5) 논리 경로 번호 할당 제어
제20도는 논리 경로 번호 할당 제어에서의 자원 관리부 23에 의한 처리의 흐름도이다.
자원 관리부 23의 전원이 ON될때, 동작 프로그램이 시작되어 초기 진단(단계 201)후 스위치 SW가 ON되는지 OFF되는지를 판정한다.
스위치 SW가 OFF되는 경우에, 논리 경로 제어 테이블 LPT의 내용이 초기화 되는 반면에(단계 202), 스위치 SW가 ON되는 경우에는 초기화 되지 않는다.
논리 경로 번호의 할당요구(할당 요구 커맨트+CA 번호+호스트 인터페이스 번호)가 채널 어댑터로부터 발행되는지를 판정하고 그 응답이 YES인 경우, 스위치 SW가 ON 또는 OFF의 여부를 판정한다(단계 204). 스위치 SW가 OFF인 경우, 새로운 논리 경로 번호가 동적으로 할당되고 논리 경로 번호는 CA 번호와 호스트 인터페이스 번호와 대응하여 논리 경로 제어 테이블 LPT에 등록된다(단계 205). 등록후에, 할당요구를 공급한 채널 어댑터는 논리 경로 번호를 통지하고(단계 206), 과정은 다음의 처리를 반복하도록 단계 203으로 복귀한다.
스위치 SW가 단계 204에서 ON되는 경우, 논리 경로 번호는 할당요구에 포함된 CA 번호와 호스트 인터페이스 번호에 근거하여 논리 경로 제어 테이블 LPT로 부터 검색된다(단계 207) 다음에, 할당요구를 공급한 채널 어댑터는 검색된 논리 경로 번호를 통지하며, 과정은 다음의 처리를 반복하도록 단계 203으로 복귀한다.
논리 경로 번호는 I/O 서브시스템내의 모든 호스트 인터페이스에 할당된 시리얼(serial)번호이다.
제21도는 논리 경로 할당 제어에서의 각 채널 어댑터 21a-21c에 의한 처리의 흐름도이다. 전원이 ON될때, 1개의 물리 인터페이스에 대응하는 호스트 인터페이스의 논리 경로 번호, 또는 노광에 의해 할당된 호스트 인터페이스의 논리 경로 번호가 등록된다.
소정의 채널 어댑터의 전원이 ON될때, 동작 프로그램이 초기진단후 시작된다. 채널 어댑터는 거기에 연결된 호스트 인터페이스의 개수를 계수하여 확인하고, i번째 호스트 인터페이스에 논리 경로 번호를 할당하도록 자원관리부 23을 요구한다(단계 301) 할당요구를 할당 요구 커맨트, CA 번호 및 인터페이스 번호로 구성된다.
그 다음에, 자원관리부 23이 논리 경로 번호의 채널 어댑터를 통지하는지 여부를 판정하고(단계 302), 그 응답이 YES인 경우에 채널 어댑터는 호스트 인터페이스 번호와 대응하여 논리 경로 제어 테이블에 자원관리부 23으로부터 수신된 논리 경로 번호를 등록한다(단계 303, 제22a도 참조). 등록후, 논리 경로 번호의 할당이 모든 호스트 인터페이스에 대하여 완결되는지를 판정하고(단계 304), 그 응답이 NO인 경우에 단계 301 이후에 처기가 (i+1)번째 호스트 인터페이스에 대하여 반복된다. 이러한 방식으로, 모든 호스트 인터페이스의 논리 번호가 등록된다.
OC 링크의 경우에 있어서, 논리 인터페이스는 시스템의 동작시 동적으로 정의된다. 제23도는 이 경우에서 논리 경로 번호 할당 제어에서의 채널 어댑터에 의한 처리의 흐름도이다.
OC 링크용 채널 어댑터는 CPU가 링크를 확립하도록 그것을 지시하는지 여부를 판정한다(단계 401). 그 응답이 YES인 경우, OC 링크 번호는 호스트 인터페이스 번호와 대응하여 등록된다(단계 402, 제22b도 참조). 그 다음에, 채널 어댑터는 호스트 인터페이스에 논리경로 번호를 할당하도록 자원 관리부를 요구한다(단계 403).
그후에, 자원 관리부 23이 논리 경로 번호의 채널 어댑터를 통지하는지 여부를 판정하고(단계 404), 그 응답이 YES인 경우, 채널 어댑터는 제22B도에 도시된 바와같이, 호스트 어댑터 번호와 OC링크 번호와 대응하여 논리 경로 제어 테이블에 자원관리부 23으로부터 수신된 논리 경로 번호를 등록한다. 과정은 다음의 처리를 반복하도록 단계 401로 복귀한다.
(b-6) 배타적 제어
제24도는 배타적 제어의 흐름도이다. 액세스 요구(판독/기록 커맨드)가 호스트 인터페이스를 통하여 소정의 CPU로 부터의 소정의 채널 어댑터에 공급될때(단계 501), 채널 어댑터는 물리 인터페이스를 지정하고 요구를 발행한 논리 인터페이스는 호스트 인터페이스 번호를 인식하여 호스트 인터페이스 번호에 근거하여 논리 경로 제어 테이블로 부터 논리 경로 번호를 얻는다(단계 502). 논리 경로 번호가 부착된 I/O 디바이스의 사용 요구(반도체 메모리 모듈)가 자원 관리부 23에 전송되고(단계 503) 자원 관리부 23으로부터의 허용을 기다린다(단계 504) 자원관리부 23이 I/O디바이스의 사용요구를 받아들일때, 반도체 메모리 모듈이 배타적 제어 테이블 ECT를 참조하여 다른 논리 경로(호스트 인터페이스)에 의해 사용중인지 예약중인지를 판정한다(단계 505). 사용중이지도 않고 예약중이지도 않는 경우에는 사용중임을 나타내는 플래그 1이 사용요구에 부착되는 논리 경로 번호와 대응하여 배타적 제어 테이블 ECT내에 설정된다(단계 506) 그 다음에, 디바이스 사용의 서용을 공급한다(단계 507) 반도체 메모리 모듈이 사용중이면, 자원관리부 23은 NO(통화중)로 채널 어댑터를 대답한다.
채널 어댑터가 허용을 받아들일때, 데이타는 CPU와 반도체 메모리 모듈사이에 전송되며(단계 508) 액세스가 종결될때, 채널 어댑터는 자원관리부 23에 사용종결(단게 509), CPU에 커맨드 종력(단계 510)을 통지한다.
자원 관리부 23이 사용 종결을 통지받을때, 자원 관리부 23은 플래그 1을 미사용중을 나타내는 0으로 변화시켜, 배타적 제어를 종결짓는다.
(b-7) 다른 제어
CPU는 다른 산업 규모등의 확대에 기인하여 컴퓨터 시스템에 새롭게 추가되는 경우가 있다. 새로운 CPU가 현존하는 I/O 서브시스템을 사용하는 경우에는 인터페이스 또는 채널 어댑터를 I/O 서브시스템에 추가되는 것이 필요하다. 인터페이스/채널 어댑터가 추가된 후에, 논리 경로 번호의 할당요구가 전원 ON될때와 같은 방식으로 자원 관리부에 공급되며, 새로운 논리 경로 번호가 할당되어 등록되어 그후에, 채널 어댑터/인터페이스가 배타적 제어의 목적으로 처리된다.
하드웨어의 부품에 고장이 있고 보수되도록 어댑터를 I/O 서브시스템으로 부터 제거할때, 채널 어댑터에 관련된 논리 경로 번호에 대응하는 논리 경로 제어 테이블 LPT내의 면적에 등록된 데이타가 삭제된다.
시스템의 동작시 논리 경로 번호의 이러한 추가 또는 제거는 다른 논리 경로 번호의 인터페이스를 통하여 행해지는 동작에 어떠한 영향도 끼치지 않는다. 그러므로, I/O 서브시스템과 전체 컴퓨터 시스템의 동작을 지속시키면서 옵션과 변화모듈을 추가하고 모듈을 유지하는 것이 가능하다.
본 발명에서의 논리 경로 번호의 할당방법에 있어서, 논리 경로 번호는 I/O 서브 시스템의 내부구조(채널 어댑터의 수, 인터페이스의 수)가 동일한 때에도 전원을 ON시키는 시간마다 I/O 서브시스템의 전원 스위치를 ON시키는 순서에 따라 변화할 수가 있다. 이것은 실용적인 동작에 어떠한 문제점도 없지만 배타적 제어에의 문제점이 하드웨어의 부품 또는 마이크로프로그램의 고정에 의하여 발생되어 문제점을 분석하고 재생시키는 것이 필요하다.
이러한 경우에 있어서, 동일한 환경을 일으키는 것이 중요하다.
이 목적을 위하여, 논리 경로 번호를 고정하는 상술된 스위치 SW가 ON되어 모드를 고정된 논리 경로번호 모드로 변화시킨다. 이러한 동작은 논리 경로 번호의 동일한 할당을 확보한다. 고정된 논리 경로 번호 모드에 있어서, 새로운 논리 경로 번호를 할당하는 것이 가능하지만, 고장등에 기인한 논리 경로 번호를 제거하는 경우에 있어서는 논리 경로 제어 테이블 LPT로 부터 논리 경로 번호를 제거하지 않는다. 이것은 동일한 논리 경로 번호를 보수후에 모듈에 할당하기 때문이다. 더우기, 시스템의 적용형태를 확립한 후에 스위치 SW를 ON상태로 고정하는 제어 방법이 채택될 수가 있다.
(b-8) 실체 반도체 디스크 장치의 구조
제25도는 I/O 서브시스템으로서 반도체 디스크 장치의 전체구조를 도시한 것이다. 반도체 디스크 장치는 이중 구조를 가지며, 여기서 첨자 1를 갖는 모듈은 제1반도체 디스크장치 GO에 속하고, 첨자 2를 갖는 모듈은 제2반도체 디스크 장치 G1에 속하며, 첨가가 없는 모듈은 공통으로 사용된다.
부호 CA는 호스트 장치에서 인터페이스로서 사용되는 채널 어댑터를 표기한 것이다. 전기 채널과 광채널 및 OC 링크에 대응하는 각종 채널 어댑터는 필요에 따라 제공된다. 자원 관리부 RM은 논리 경로 제어와 배타적 제어를 실행하고, 또한 서브시스템의 모든 자원을 관리한다. 서비스 어댑터 SA는 다른 유니트의 상태를 제어하는 마스터로서 사용된다.
C-BUS는 각 유니트가 메세지를 통신하고 제어정보를 액세스하는 제어버스이고, D-BUS는 각 유니트가 반도체 디스크에서 데이타를 공급하고 수신하는 데이타 전송 버스이며, S-BUS는 마스터로서 서비스 모듈이 각 유니트의 상태를 제어하는 서비스 버스이다. 부호 BH-1과 BH-2는 버스의 논쟁 또는 버스 클럭의 분배를 제어하는 버스 핸들러(handler), MDK는 자기 디스크 장치가 고장있을 경우 메모리의 내용을 임시 백엎하는 자기 디스크 장치, DA는 자기 디스크 장치와 채널 어댑터 CA 사이에서 인터페이스로서 사용되는 디바이스 어댑터, BANK는 최대 10개의 반도체 모듈 MS를 수용할 수 있는 반도체 디스크(공유 메모리)를 나타낸다.
부호 ESP1-ESP4는 반도체 디스크에 대한 액세스를 제어하는 포트(확장 기억포트), ESA1-ESA4는 반도체 메모리 모듈 MS, 메모리 리프레시먼트와 오류 검사 코드에 데이타 수정사이에서 타이밍 제어를 행하는 메모리 인터페이스 어댑터, PANEL은 보수판을 나타낸다.
제1 및 제2반도체 디스크 장치 G0, G1은 제25도에서 중앙의 점선에 대하여 대칭구조를 갖는다. 호스트 CPU는 제1 및 제2반도체 장치의 채널 어댑터 CA1과 CA2에 대칭으로 접속되어 있고, 포트 ESP2와 ESP3는 타측상의 메모리 인터페이스 어댑터 ESA3, ESAA4에 접속되어 있다. 그러므로, 타측상의 채널 어댑터에 고장이 있을 때에도, CPU는 타측상의 채널 어댑터를 통하여 반도체 디스크를 액세스 할 수 있다. 일측상의 반도체 디스크에 고장이 있을 때에도, 타측상의 반도체 디스크를 액세스할 수 있다. 이러한 방식으로 신뢰성이 향상된다.
이 실시예에 있어서, I/O 서브시스템으로서 반도체 디스크 장치의 배타적 제어방법을 설명하지만, 본 발명의 배타적 제어방법은 그것에 제한되지 않고 자기 디스크 장치와 디스크 개쉬(disk cash)등의 I/O 서브시스템에 적용가능하다.
(c) 발명의 데이타 기억 제어방법의 실시예
(c-1) 전체구조
제26도는 본 발명에 따른 반도체 디스크 장치의 반도체 메모리 모듈내에 압축데이타를 기억시키는 데이타 기억 제어방법의 실시예의 구조를 도시한 것이다. 참조번호 30은 CPU등의 호스트 장치, 31은 호스트 장치(CPU) 30과 메모리 인터페이스 어댑터 ESA 사이의 데이타 입/출력 동작을 제어하는 채널 어댑터, 32는 반도체 메모리 모듈에 대한 액세스에 대하여 배타적 제어를 행하는 자원 관리부 33a-33n은 각각 다수의 반도체 메모리 칩으로 구성된 반도체 메모리 모듈, 33s는 여분의 반도체 메모리 모듈, 34는 반도체 메모리 모듈에서 데이타를 기록, 판독하는 동작을 제어하는 메모리 인터페이스 어댑터, 35는 반도체 메모리 모듈내에 기록된 압축 데이타를 검증하는 데이타 제어 어댑터, 36은 백엎 디스크장치, 37은 백엎 디스크 어댑터, 38은 내부 데이타 버스를 나타낸다. 채널 어댑터 31과 데이타 제어 어댑터 35는 각각 대용량 데이타 버프 31a과 데이타 압축 메카니즘 31b, 및 대용량 데이타 버퍼 35a와 데이타 압축 메카니즘 35b를 가지며, 백엎디스크 어댑터 37은 데이타 압축 메카니즘 37a를 갖는다.
데이타가 I/O 서브시스템의 반도체 메모리 모듈 33a-33n(이하, 반도체 31의 데이타 모듈 33이라 함)중 하나에 기억될때, 채널 어댑터 31으 데이타 압축 메카니즘 31b가 데이타 버퍼 31a에 기억된 데이타를 압축하여 반도체 메모리 모듈 33에 압축 데이타를 기록한다.
데이타 버퍼 31a에 기억된 압축전의 데이타(비압축 데이타)는 여분의 반도체 메모리 모듈 33s에 기록된다.
이들 데이타를 기록한 후에, 데이터 제어 어댑터 35의 데이타 압축 메카니즘 35b는 데이타 버퍼 35a에 압축 데이타를 기억하도록 반도체 메모리 모듈 33으로부터 압축 데이타를 판독하여 복원한다.
그후에, 비압축 데이타는 여분의 반도체 메모리 모듈 33s에서 판독하여 복원데이타와 비압축데이타를 비교함으로써 반도체 메모리 모듈내에 기록된 압축데이타를 검증한다. 데이타에 대한 액세스 요구가 비교와 검증시 어느 채널 어댑터로부터 공급되는 경우에, 자원관리부 32는 통화중을 대답한다.
데이타 비교결과로서 이상이 검출될 때, 데이타 제어 어댑터 35는 여분의 반도체 메모리 모듈 33s에서 판독된 데이타를 압축하여 반도체 메모리 모듈 33에 압축데이타를 기록한다. 그후에, 압축 데이타는 복원되고 복원된 데이타는 비압축 데이타와 비교하여 반도체 메모리 모듈 33에 기록된 압축 데이타를 검증한다. 검증의 결과(비교실패 플래그, 복원 플래그등)이 반도체 메모리 모듈의 트랙헤드에서 디렉토리부에 레코드된다. 데이타의 압축 여부를 나타내는 플래그가 각 데이타의 헤드에 추가된다. 디렉토리부는 검증결과 이외에 논리 어드레스 정보, 물리 메모리 어드레스 정보, 데이타가 비교 대상임을 나타내는 비교 플래그 및 트랙상의 데이타를 변화 또는 기록할때의 최근날짜(갱신 정보)를 포함한다.
반도체 메모리 모듈 33이 압축 데이타의 기록동작시 충만될때, (예를들면, 압축 데이타의 크기가 비압축 데이타의 크기보다 큰 경우) 채널 어댑터 31은 백엎 디스크 어댑터 37을 통하여 백엎 디스크 장치 36에 비압축 데이타를 기억한다. 기억후, 백엎 디스크 어댑터 37은 백엎 디스크 장치 36으로부터 비압축 데이타를 판독하여 반도체 메모리 모듈 33에 기록한다.
백엎 디스크 장치 36내에 반도체 메모리에 기억된 데이타를 백엎하는 경우에 있어서, 데이타는 백엎 디스크 어댑터 37에 의해 압축되어 백엎 디스크 장치 36내에 기억된다. 데이타는 이 경우에서, 백엎 완결날짜가 기억되고, 반도체 메모리 33에 기억된 데이타가 다시 백엎될 때, 디렉토리부에 포함된 날짜가 백엎 완결날짜와 비교되어 백엎 완결날짜보다 오래된 날짜를 백엎시키지 않는다. 이러한 방식으로, 백엎시간이 단축된다.
(c-2) 채널 어댑터의 구조
제27도는 채널 어댑터 31의 구조를 도시한 것이다. 채널 어댑터 31은 전송된 데이타를 기억하는 대용량 데이타 버퍼 31a, 채널 인터페이스와 내부 버스 인터페이스 사이에 전송된 데이타를 압축/복원하는 데이타 압축 메카니즘 31b, 압축/복원동작을 돕는 디렉토리 메모리 31c, 채널 인터페이스 프로토콜 제어기 31d, 데이타 버퍼 31a와 데이타 비교 메카니즘 31b로부터 데이타를 선택적으로 출력하고 데이타 버퍼 31반도체 메모리와 데이타 비교 메카니즘 31b에 데이타를 선택적으로 입력하는 셀렉터 31e, 내부 버스 38에 접속된 내부 버스 인터페이스 제어기 31f, 마이크로프로그램에 의해 이들 하드웨어 자원을 제어하는 MPU 31g, 프로그램을 기억하는 제어 기억부 31h 및 버스 31i를 수용한다.
채널 인터페이스 프로토콜 제어기 31d는 채널 어댑터와 호스트 장치사이에 전송되는 커맨드의 내용을 분석하고 인터페이스상의 소정의 순서에 근거하여 데이타의 전송을 제어한다. 채널 인터페이스 프로토콜 제어기 31d가 호스트 장치로부터 반도체 메모리 모듈 33내에 기억될 데이타를 수신할 때, 채널 인터페이스 프로토콜 제어기 31d는 대용량데이타 버퍼 31a내에 데이타를 임시 기억시킨다. 데이타 압축메카니즘 31b는 데이타 버퍼 31a로부터 입력데이타를 압축한다. 셀렉터 31e는 데이타 압축 메카니즘 31b에 의해 압축된 데이타 또는 MPU 31g의 제어하에 데이타 버퍼 31a에 기억된 원래 데이타(비압축 데이타)를 설정하고, 내부 버스 인터페이스 제어기 31f에 설정된 데이타를 입력한다. 셀렉터 31e로부터 데이타를 수신한 내부 버스 인터페이스 제어기 31f는 메모리 인터페이스 어댑터 34에 데이타를 전송한다.
기록시에, 데이타 압축 메카니즘 31b에 의해 압축된 데이타는 셀렉터 31e, 내부 버스 인터페이스 31f 및 메모리 인터페이스 어댑터 34를 통하여 반도체 메모리 모듈 33에 통상기록 된다. 비압축 데이타는 통상 데이타 버퍼 31a, 셀렉터 31e, 내부 버스 인터페이스 31f 및 메모리 인터페이스 어댑터 34를 통하여 여분의 반도체 메모리 모듈 33s에 기록된다.
한편, 반도체 메모리 모듈 33에 기록된 데이타를 호스트 장치에 전송하는 경우에 있어서, 셀렉터 31e는 데이타를 데이타 압축 메카니즘 31b 또는 데이타전 바로 기록된 식별 플래그를 참고하여 데이타 버퍼 31a에 출력하여 데이타가 압축 데이타 인지 비압축 데이타인지를 나타낸다. 즉, 내부 버스 인터페이스 제어기 31f가 메모리 인터페이스 어댑터 34를 수신하는 데이타가 압축 데이타인 경우에, 셀렉터 31e 데이타를 데이타 압축 메카니즘 31b에 입력하는 반면에, 비압축 데이타인 경우에, 셀렉터 31e는 데이타를 데이타 버퍼 31a에 입력한다. 데이타 압축 메카니즘 31b는 압축 데이타를 복원하여 데이타 버퍼 31a에 기억시킨다. 데이타 버퍼 31a에 기억된 데이타는 채널 인터페이스 프로토콜 제어기 31d에 전송되어 채널 인터페이스를 통하여 호스트 장치에 이동된다.
(c-3) 데이타 제어 어댑터
제28도는 데이타 제어 어댑터 35의 구조를 도시한 것이다. 데이타 제어 어댑터 35는 대용량 데이타 버퍼 35a, 전동될 데이타를 압축/복원하는 데이타 압축 메카니즘 35b, 압축/복원 동작을 돕는 사전 메모리 35c, 내부 버스 38에 접속된 내부 버스 인터페이스 제어기 35d, 원래의 비압축 데이타와 압축 및 복원 데이타를 비교하여 압축 데이타를 검증하는 데이타 비교기 35e, 내부 버스 인터페이스 제어기 35d로부터 입력된 데이타가 압축 데이타인지 비압축데이타인지에 따라 데이타 압축 메카니즘 35b 또는 데이타 비교기 35e에 입력 데이타를 선택적으로 출력하는 셀렉터 35f, 마이크로 프로그램에 의해 이들 하드웨어 자원을 제어하는 MPU 35g, 프로그램을 기억하는 제어 기억부, 35h, 및 버스 35i를 수용한다.
채널 어댑터 31이 반도체 메모리 모듈 33에 압축 데이타의 기록을 여분의 반도체 메모리 모듈 33s에 비압축 데이타의 기록을 종결할 때, 데이타 제어 어댑터 35는 압축 데이타를 판독한다. 압축데이타는 내부 버스 인터페이스 제어기 35d와 셀렉터 35f를 통하여 데이타 압축 메카니즘 35b 내로 입력되며, 데이타 압축 메카니즘 35b는 압축 데이타를 복원하여 데이타 버퍼 35a에 복원데이타를 기억시킨다.
그 다음에, 데이타 제어 어댑터 35는 여분의 반도체 메모리 모듈 33s에 기억된 비압축 데이타를 판독한다. 비압축 데이타는 내부 버스 인터페이스 제어기 35d와 셀렉터 35f를 통하여 데이타 비교기 35e에 전달된다.
데이타 비교기 35e는 여분의 반도체 메모리 모듈 33s에서 판독된 비압축데이타와 데이타 버퍼 35a에 기억된 복원 데이타를 비교한다.
비교의 결과로서 이상이 검출될 때, 데이타는 다음같은 방식으로 보수된다. 비압축데이타는 다시 여분의 반도체 메모리 모듈 33s에서 판독되어 내부 버스 인터페이스 제어기 35d와 셀렉터 25f를 통하여 데이타 버퍼 35a에 기억된다. 비압축 데이타의 판독 완결후에, 데이타 압축메카니즘 35b는 데이타 버퍼 35a에 기억된 데이타를 압축하여 셀렉터 35f와 내부 버스 인터페이스 제어기 35d를 통하여 반도체 메모리 모듈 33내에 압축데이타를 기록한다. 압축 데이타의 기록완결후에, 데이타 비교가 데이타의 정상을 확인하도록 상술된 방식으로 다시 실행된다.
(c-4) 백엎 디스크 어댑터
제29도는 백엎 디스크 어댑터 37의 구조를 도시한 것이다. 백엎 디스크 어댑터 37은 데이타를 압축/복원하는 데이타 압축 메카니즘 37a, 압축 동작을 돕는 사전 메모리 37b, 내부 버스 인터페이스를 통하여 데이타 전송을 제어하는 내부 버스 인터페이스 제어기 37c, 백엎 디스크 장치 36에 접속된 자기 디스크 인터페이스 제어기 37d, 내부 버스 인터페이스 제어기 37c를 통하여 입력된 데이타를 데이타 압축 메카니즘 37a 또는 자기 디스크 인터페이스 제어기 37d에 선택적으로 출력하고 데이타 압축 메카니즘 37a 또는 자기 디스크 인터페이스 제어기 37d에 선택적으로 출력하고 데이타 압축 메카니즘 37a 또는 자기 디스크 인터페이스 제어기 37d를 내부 버스 인터페이스 제어기 37c에 선택적으로 출력하는 셀렉터 37e, 마이크로프로그램에 의해 이들 하드웨어 자원을 제어하는 MPU 37f, 프로그램을 기억하는 제어기억부 37g, 및 버스 37h를 수용한다.
반도체 메모리 모듈 33에 기억된 데이타를 백엎하는 동작을 시작할 때, 내부 버스 인터페이스 제어기 37c를 통하여 수신된 데이타는 셀렉터 37e에 의해 데이타 압축 메카니즘 37c에 전달된다. 데이타 압축 메카니즘 37a는 다른 데이타 압축 메카니즘에 의해 이미 압축되어진 데이타를 포함하는 모든 데이타를 압축하여 자기 디스크 인터페이스 제어기 37d에 압축데이타를 전송한다. 자기 디스크 인터페이스 제어기 37d는 압축 데이타 인지 비압축 데이타인지에 관계없이 백엎 디스크 장치 36 내에 수신된 데이타를 기록한다. 데이타 압축 메카니즘 37a에 의해 데이타를 압축하지 않고 셀렉터 37e를 동작시켜 백엎 디스크 장치 36내에 데이타를 기록하는 것이 가능하다.
(c-5) 데이타 포맷
종래의 I/O 서브시스템은 제6도에 도시된 바와 같이, 통상의 자기 디스크 내에 기록된 것과 동일한 데이타 포맷을 사용하여 자기 디스크에 대하여 에뮬레이션을 실행한다. 부호 DIR은 트랙 필드의 헤드에 기록된 디렉토리를 표기한 것이다. 이 데이타는 반도체 디스크에 본질적이고 실제 자기 디스크 장치에 존재하지 않는다. 디렉토리 DIR 후에, 각각 카운트부 Ci(i=1,2,…), 키부 Ki 및 데이타부 Di로 구성되는 다수의 레코드부 Ri가 기록된다. 카운트 부 Ci는 레코드 번호, 및 다음의 키부 Ki와 데이타부 Di의 길이를 레코드한다. 키부 Ki는 항상 필요한 것이 아니라 액세스 방법에 의해 검색용키를 레코드한다. 데이타부 Di는 통상 사용자 데이타로 불리우는 데이타를 레코드한다.
본 발명에 있어서, 디렉토리부, DIR, 카운트부 Ci 및 키부 Ki가 제거된(즉, 데이타부 Di만의)반도체 메모리 모듈 33내의 데이타가 압축된다. 반도체 디스크 장치는 불필요한 가능한 많은 갭부분을 제거하며, 반도체 디스크에 대한 추가 정보이 갭과 동등한 부분대신에 기록된다.
제30도는 본 발명에 따른 반도체 메모리 모듈 내에 기록된 이중 포맷의 설명도이다. 이 이중포맷에서, 압축데이타와 비압축 데이타 사이에서 식별하기 위한 식별 플래그 Fi가 디렉토리부 DIR, 카운터부 Ci와 키부 Ki후에 기록되며, 데이타 압축 메카니즘에 의해 압축된 데이타 Di'가 식별 플래그 Fi후에 기록된다.
디렉토리부 DIR은 논리 어드레스 정보 d1, 물리 메모리 어드레스정보d2, 데이터가 비교 대상임을 나타내는 압축플래그 d3, 트랙부에의 데이타를 변화시키거나 기록하는 최종날짜 d4(갱신 정보), 트랙상의 데이타의 일부를 백엎 디스크 36에 기억시키는 것을 나타내는 백엎 디스크 사용 플래그 백엎 디스크 36에 기억시키는 것을 나타내는 백엎 디스크 사용 플래그 d5, 데이터 제어 어댑터 35에 의한 검증 결과를 나타내는 비교실패 플래그 d6과 복원 성공플래그 d7을 포함한다.
(c-6) 데이타 기록 제어
제31도는 데이타 기록제어순서의 설명도이다.
반도체 디스크는 고속 액세스 가능한 자기디스크와 동일한 방식으로 호스트 장치로부터 행해진다. 환언하면, 시크(seek) 등의 위치를 지시하는 위치조절 커맨드, 데이타 전송을 지시하는 판독 커맨드와 기록 커맨드는 통상의 자기 디스크의 경우에서와 동일한 방식으로 호스트 장치로부터 빌행된다.
위치조절 커맨드를 수신하는 채널 모듈 31은 자원 관리부 32에 대하여 반도체 메모리 모듈의 사용허가를 요구한다. 반도체 메모리 모듈의 사용이 허가될때, 대응하는 반도체 메모리 모듈의 어드레스는 지정된 물리 위치조절 파라미터로부터 계산된다. 얻어진 어드레스가 존재하는 트랙의 디렉토리 정보는 반도체 메모리 모듈에서 판독되며, 논리 어드레스 정보와 물리 어드레스 정보에 대하여 처리를 행한다.
기록 커맨드가 위치조절 동작의 종결후에 호스트 장치로부터 발생될때, 채널 어댑터 31은 채널 인터페이스 프로토콜 제어기 31d를 통하여 데이타 버퍼 31a 내로 수신된 데이타를 기억한다. 채널 어댑터 31의 MPU 31g는 데이타가 데이타부 Di에 대응할때 데이타 압축 메카니즘 31b의 출력측을 설정하도록 셀렉터 31e를 제어한다.
데이타 압축 메카니즘 31b는 데이타 버퍼 31a에 기억된 입/출력 데이타를 압출하고 내부 버스 인터페이스 제어가 31f내에 압축 데이타를 입력한다. 내부 버스 인터페이스 제어 31f내에 입력된 압축데이타는 내부 버스를 통하여 메모리 인터페이스 어댑터 34에 전달되어 소정의 반도체 메모리 모듈 33에 대응하는 어드레스 위치에 기억된다.
압축데이타를 기억할때, 채널어댑터 31의 MPU 31g는 데이타가 데이타 포맷에 따라 반도체 메모리 모듈 33내에 데이타를 압축한 것을 나타내는 식별 플래그 Fi를 기록한다. MPU 31는 셀렉터 31e를 더 제어하여 데이타 버퍼 31a에 기억된 원래의 데이타(비압축 데이타)를 내부 버스 인터페이스 제어기 31f에 전달하고 그것을 여분의 반도체 메모리 모듈 33s에 기록한다.
기록동작이 종결될때, MPU 31g는 디렉토리부 DIR에서의 갱신정보, 데이타가 압축데이타를 나타내는 식별 플래그 등을 갱신처리하고 갱신후의 디렉토리부 DIR을 대응하는 반도체 메모리 모듈 33의 트랙헤드에 뒤로 기록한다.
모든 기록동작이 채널 어댑터 31에 의해 반도체 메모리 모듈 33과 여분의 반도체 메모리 모듈 33s에 대하여 종결될때, 자원관리부는 32는 배타적 제어에 의해 Busy로 대답하여 호스트 장치로부터 대응하는 데이타에 대한 액세스를 금지하여 호스트 장치로부터 대응하는 데이타에 대한 액세스를 금지하여 압축데이타의 검증을 시작하도록 데이타 제어 어댑터 35를 지시한다.
데이타 제어 어댑터 35의 MPU 35g는 반도체 메모리 모듈 33으로부터 압축데이타의 디렉토리부 DIR을 판독하여 압축된 데이타를 독출한다. 반도체 메모리 모듈 33으로부터 전송된 데이타는 내부 버스 인터페이스 제어기 35d와 셀렉터 35f를 통하여 데이타 압축 메카니즘 35b에 입력된다.
데이타 압축 메카니즘 35b는 입력 데이타를 복원하여 데이타 버퍼 35a에 기억시킨다. 그 다음에, 데이타 압축 메카니즘 35b는 여분의 반도체 메모리 모듈 33s로부터 비압축 데이타를 판독하여 데이타 비교기 35e에 입력한다. 데이타 비교기 35e는 복원 데이타와 비압축 데이타를 비교한다.
비교의 결과 데이타의 정상성을 확인한 경우에, 데이타 제어 어댑터 35는 디렉토리부 DIR의 뒤에 기록등의 처리를 행하지 않고 기록 동작의 정상 종결을 자원 관리부 32에 통지한다. 정보를 수신한 자원 관리부 32는 호스트 장치로부터 데이타에 대한 액세스에 대하여 임시 금지를 제거한다.
비교의 결과 데이타의 이상을 검출한 경우에, 데이타 제어 어댑터 35의 MPU 35g는 여분의 반도체 메모리 모듈 33s로부터 비압축 데이타를 판독한다. 데이타 압축 메카니즘 35b는 판독 비압축 데이타에 근거하여 데이타를 압축하고 압축된 데이타를 반도체 메모리 모듈 33에 기록한다. 압축 데이타의 기록동작이 종결될때, 데이타 제어 어댑터 35는 상술된 데이타·검증을 행한다. 다시 반도체 메모리 모듈 33에 기억된 압축 데이타의 정상성이 두번째 검증에 의해 확인되는 경우에, 비교 실패 플래그 d6과 정상성 복원 플래그 d7 모두가 압축 데이타의 디렉토리부 DIR에서 1로 설정되며, 디렉토리부 DIR은 반도체 메모리 모듈 33 뒤로 기록된다. 디렉토리부 DIR 뒤에 기록동작이 종결될때, 자원관리부 32는 검증의 종결을 통지받고, 이것에 의해 처리를 종결한다. 그 다음에, 자원관리부 32는 호스트 장치초부터 데이타에 대한 액세스에 대하여 임시금지를 제거한다.
한편, 데이타 복원결과, 이상이 다시 검출되는 경우에, 데이타 제어 어댑터 35는 비교 실패 플래그 d6(정상 복원 플래그 d7은 아님)만을 1로 설정하여 반도체 메모리 모듈 33내에 디렉토리부 DIR 뒤에 기록한다. 디렉토리부 DIR 뒤에 기록동작이 종결될때, 자원관리부 32는 검증의 종결을 통지받아 처리를 종결한다. 그 다음에, 자원관리부 32는 호스트 장치로부터 데이타에 대한 액세스에 대하여 임시 금지를 제거한다.
상술된 순서는 반도체 메모리 모듈이 오버플로우하지 않는 경우에 적용가능하다. 제32도는 반도체 메모리 모듈이 오버플로우할때 데이타 기록 제어의 순서의 설명도이다.
압축 데이타가 원래의 데이타 보다 큰 경우에는, 지정된 반도체 메모리 모듈 33내에 어댑터압축데이타를 기록하는 것이 물리적으로 불가능한 경우가 있다. 이러한 경우에서, 자원 관리부 32는 영역의 오버플로우에 의하여 오류를 통보받게 된다. 자원관리부가 오류의 정보를 수신할때, 반도체 메모리 모듈 33내에 압축 데이타의 기록 동작을 저지하여 그 대신에 비압축 데이타를 백엎 디스크 장치에 기록하도록 채널 어댑터 31를 명령한다. 그러므로, 채널 어댑터 31은 반도체 메모리 모듈 33내에 압축 데이타의 기록동작을 저지하여 백엎 디스크 장치 36내에 비압축 데이타의 임시 기억을 시작한다. 그 다음에, 비압축 데이타를 임시 기억하도록 명령된 백엎 디스크 어댑터 37은 셀렉터 37e를 절환하여 압축없이 백엎 디스크 장치 36내에 내부 버스 인터페이스를 통하여 채널 어댑터 31로부터 전달된 데이타를 기록한다. 임시 기억을 위해 충분한 면적이 미리 백엎 디스크 장치 36에 할당되므로, 이미 백엎 데이타로서 기억된 사용자 데이타를 손상시킬 염려가 없다.
백엎 디스크 장치 36에 기록동작이 종결될때, 채널 어댑터 31의 MPU 31g가 내부 버스 인터페이스 제어기 31f를 통하여 여분의 반도체 메모리 모듈 33s내의 데이타 버퍼 31a에 기억된 압축데이타를 기록한다. 이들 동작후에, 채널 어댑터 31의 MPU 31g는 갱신정보 d4, 데이터가 압축데이타인 것을 나타내는 압축 플래그 d3, 및 임시 기억영역인 백엎 디스크 장치 36에 데이타가 기억되는 것을 나타내는 플래그 d5를 갱신하여 갱신된 디렉토리부 DIR를 반도체 메모리 모듈 33에 기록한다.
백엎 디스크 장치 36에 기록동작이 종결될때, 백엎 디스크 어댑터 37은 반도체 메모리 모듈 33의 사용을 허가하도록 자원관리부 32를 요구하여 반도체 메모리 모듈 33에 임시 기억된 비압축 데이타를 기록한다. 반도체 메모리 모듈 33의 사용이 허가되는 경우, 백엎 디스크 어댑터 37은 백엎 디스크 장치 36으로부터 비압축 데이타를 판독하여 반도체 메모리 모듈 33에 기록한다. 기록 동작이 종결될때, 백엎 디스크 어댑터 37은 기록동작의 종결을 자원관리부 32에 통지하여 처리를 종결한다. 그 다음에, 자원관리부 32는 호스트 장치로부터 데이타에 대한 액세스에 대하여 임시 금지를 제거한다.
(c-7) 데이타 판독 제어
제33도는 데이타 판독 제어 순서의 설명도이다.
위치조절 커맨드를 수신한 채널 어댑터 31은 기록동작에서와 동일한 방식으로 반도체 메모리 모듈의 사용을 허가하도록 자원관리부 32를 요구한다. 반도체 메모리 모듈의 사용이 허가되는 경우, 대응하는 반도체 메모리 모듈의 어드레스가 지정된 물리적 위치조절 파라미터로부터 계산된다. 얻어진 어드레스가 존재하는 트랙의 디렉토리 정보는 반도체 메모리 모듈에서 판독되며, 논리 어드레스 정보와 물리 어드레스 정보에 대하여 처리를 행한다.
판독 커맨드가 위치조절 동작의 종결후에 호스트 장치로부터 발생되는 경우, 채널 어댑터 31의 MPU 31g가 데이타를 기억하는 반도체 메모리 모듈 33으로부터 데이타의 판독을 시작한다. MPU 31g는 식별 플래그 Fi를 참조하여 데이타가 압축되는지 비압축되는지를 판정하고, 데이타가 압축데이타인 경우에는 MPU 31g는 내부 버스 인터페이스 제어기 31f와 셀렉터 31e를 통하여 데이타 압축 메카니즘 31b에 압축 데이타를 공급한다. 데이타 압축 메카니즘 31b가 데이타를 복원하여 데이타 버퍼 31a와 데이타 인터페이스 프로토콜 제어기 31d를 통하여 채널 인터페이스에 전달한다. 한편, 데이타가 비압축 데이타인 경우에는, MPU 31g가 데이타 버퍼 31a내에 비압축 데이타를 직접 기억한다. 그 후에, MPU 31g는 데이타 인터페이스 프로토콜 제어기 31d를 통하여 채널 인터페이스에 데이타를 전달한다.
상술된 판독 동작에 있어서, 채널 어댑터 31의 MPU 31g는 디렉토리부 DIR의 내용에 근거하여 데이타의 상태를 판정한다. 즉, MPU 31g는 데이타 인터페이스 프로토콜 제어기 31d를 통하여 채널 인터페이스에 데이타를 전달한다.
상술한 판독동작에 있어서, 채널어댑터 31의 MPU 31g는 디렉토리부 DIR의 내용에 근거하여 데이타의 상태를 판정한다.
즉, MPU 31g는 데이타 기록시에 채널어댑터 31 또는 데이타 제어 어댑터 35에 의해 기록된 플래그 d5∼d7에 근거하여 데이타의 상태를 판정한다. 예를들면, 백묘사용 플래그 d5가 1로 설정될때, 정상데이타 판독이 가능하지만, 반도체 메모리 모듈의 면적에 기억할 염려가 있으므로 경고메세지가 제공된다. 비교실패 플래그 d6이 1로 설정되고 복원플래그 d7이 0으로 설정될때, 데이타의 이상성은 데이터 검증에서와 동일한 방식으로 통보받게 되어 데이타를 다시 기록하여 전달한다.
(c-8) 백엎제어
반도체 메모리가 휘발성 기록메체이기 때문에, 통상 시스템이 정지 또는 긴급시에는 비휘발성 매체인 자기 디스크 장치에 데이타를 백엎하는 처리를 행한다.
제34도에 도시된 바와 같이 반도체 메모리 모듈 33a∼33n과 33s에 대응하는 영역 36a∼36n과 36s 및 입시기억 영역 36p가 백엎 디스크 장치 36에 미리 할당된다. 각각의 영역 36a∼36n과 36s는 각각 반도체 메모리 모듈상에 에뮬레이트된 트랙에 대응하는 트랙에 대한 영역으로 세분화 된다.
백엎 디스크 장치 36은 또한 백엎동작 종결시와 기록백(write-back) 동작(반도체 메모리 모듈에 백엎 디스크 장치내의 데이타의 뒤에 기록하는 동작) 종결시 기억하는 영역 36g와 36r을 포함한다. 백엎 동작이 지시될때, 백엎 디스크 어댑터 37은 내부버스 인터페이스 제어기 37c와 셀렉터 37d를 통하여 반도체 메모리 모듈 33a∼33n과 33s로부터 전달되는 데이타를 데이타 압축 메카니즘 37a에 입력한다.
데이타를 데이타 압축 메카니즘 37a에 입력한다.
데이타 압축 메카니즘 37a는 입력 데이타를 일괄하여 압축하고 자기 디스크 인터페이스 제어기 37d를 통하여 백엎 디스크 장치 36에 대응하는 위치로 압축데이타를 기록한다.
백엎 어댑터 37은 백엎 동작이 백엎 디스크 장치 36의 영역 36g로 완료되는 데이타를 기록하고 데이타가 뒤로 기록될때의 데이타를 판독하여 내부적으로 기억한다. 백엎 동작이 다시 지시될때, 백엎 디스크 어댑터 37은 반도체 메모리 모듈의 트랙헤드에 기억된 디렉토리의 갱신정보 기억시간을 비교한다. 디렉토리의 날짜가 최종 백엎 완료날짜보다 보다 오래된 경우에, 트랙상에 기억된 날짜는 백엎 디스크 장치 36내에 기록되지 않는다. 이러한 방식으로, 백엎 시간을 단축시키는 것이 가능하다.
(c-9) 변경
1개의 채널 어댑터 31, 1개의 메모리 인터페이스 어댑터 34화 1개의 백엎 디스크 어댑터 37만이 상술된 실시예에 사용되더라도, 각 장치의 수가 증가될 수가 있다.
단, 1개의 데이타 제어 어댑터 35가 이 실시예에서 반도체 디스크 장치에 제공되더라도, 다수의 데이타 제어 어댑터가 병렬처리를 가능하게 하도록 제공될 수가 있다.
더욱이, 각 트랙에 대한 데이타가 이 실시예에서 유니트로서 백엎 디스크 장치에 기억되더라도, 각 섹터에 대한 데이타 또는 각 실린더에 대한 데이타가 유니트로서 그안에 기억될 수가 있다.
또한, 비압축 데이타를 기억하는 여분의 반도체 메모리가 이 실시예에 제공되더라도, 반도체 메모리 모듈의 각각의 일부가 여분의 반도체 메모리 모듈로서 대신 사용될 수가 있다.
(c-10) 이점
상술된 바와 같이, 데이타의 일부가 기억전에 압축되기 때문에, 반도체 메모리의 용량보다 많은 양의 데이타를 기억하기 위한 반도체 디스크 장치를 제공하는 것이 가능하다.
대용량을 갖는 데이타 버퍼가 채널 어댑터내에 제공되기 때문에, 호스트 장치에 대하여 데이타 전송속도를 일정한 비율로 유지하면서 데이타 전송하여 데이타 처리시 발생된 응력을 감소시키는 것이 가능하다.
더욱이, 데이타 제어 어댑터가 채택되기 때문에, 호스트 장치와 결합할 필요없이 서브시스템 내에 압축 데이타의 이상성을 검증하는 것이 가능하다. 데이타의 이상성이 검증의 결과로 검출되는 경우에도, 서브시스템내에 데이타를 복원하는 것이 가능하다.
또한, 갱신정보가 디렉토리부와 백엎 디스크 장치에 기억되기 때문에 데이타를 백엎하는데 요구되는 시간이 단축된다.
(d) 메모리의 초기설정
(d-1) 초기설정의 개략적인 설명
제35a도와 제35b도는 I/O 서브시스템에서 반도체 디스크 등에 의해 채택된 종래의 메모리 초기설정 방법의 설명도이다.
제35a도에 있어서, 부호 INCT는 종래의 초기설정 어드레스 카운터를 표기한 것이며, 여기서 부호 CAo-CAn은 (N+1)비트의 컬럼 어드레스, RAO-RAM는 (m+1)비트의 로우 어드레스를 표기한 것이다. 휘발성 메모리인 다이내믹 RAM은 메모리의 로우 발향으로의 어드레스를 나타내는 로우 어드레스와 메모리의 컬럼방향으로의 어드레스를 나타내는 컬럼 어드레스 모두를 구비한다. 종래의 초기설정 어드레스 카운터에 있어서, 카운터 출력신호의 최하위 비트는 CAO이고, 최상위 비트는 RAm이다. 카운터 INCT를 동작시킴으로써, 직렬 어드레스 신호가 상승순서로 발생된다. 이 카운터 INCT에 있어서, 초기설정 데이타가 제35b도에서 실선의 화살표로 표시된 순서로 메모리 셀내에 기록된다.
다이내믹 RAM은 일정한 간격시간으로 리프레쉬된다. 다이내믹 RAM을 리프레쉬하기 위하여, 어드레스 RA로 표시된 1개의 로우 ①의 모드 메모리셀에서의 데이타가 제36a도에 도시된 바와 같이 메모리내의 감지증폭기 SA에 판독되며, 셀내에 기억된 전하를 일정한 값으로 유지하도록 동일한 로우상의 메모리 셀내에 뒤로 기록된다. 이러한 동작은 일정한 간격시간으로 모든 로우상의 데이타에 대하여 반복된다. 데이타의 이러한 리프레쉬먼트가 일정한 간격시간으로 모든 셀내의 데이타에 대하여 실행되지 않는 경우에, 메모리 내의 데이타가 손실된다. 데이타를 메모리내에 기록할때, 리프레쉬먼트의 시간에서와 동일한 효과가 발생된다. 즉, 데이타를 제36b도에 1개의 셀 ③내에 기록할때, 로우 어드레스 RA에 의해 외부적으로 지정된 로우 ②상의 데이터는 감지증폭기 SA에 판독되고, 컬럼 어드레스 CA에 의해 지정된 셀 ③ 내의 데이타가 외부적으로 공급된 데이타에 의해 갱신처리된 후에, 모든 데이타가 동일한 로우상의 메모리 셀내에 뒤로 기록된다. 이러한 방식으로, 데이타 기록 동작이 로우 ②상의 모든 셀내의 데이타의 리프레쉬먼트와 동일한 효과를 발생시킨다.
제35b도와 재관련하여, 초기설정 데이타가 로우 ①상의 셀로부터 메모리내에 연속적으로 기록되는 경우에, 전하를 유지하는 시간이 로우 ② 상의 셀내에 데이타를 기록하기 전에 멈추어 로우 ① 상의 셀의 전하가 손실된다. 이러한 이유로 인해, 제36a도에 설명된 리프레쉬먼트가 종래의 메모리 초기설정 방법에서의 초기설정시 필요하여 초기설정 시간을 연장시킨다.
한편, 제37a도에 도시된 본 발명의 초기설정 어드레스 카운터 INCT에 있어서, 카운터 출력신호의 최하위 비트는 RAO이고 그 최상위비트는 CAn이다. 이 카운터의 동작에 의하여, 생성된 어드레스는 종래의 카운터에 의해 생성된 어드레스와는 달리 직렬이 아니고, 제37b도에 실선 화살표로 데이타를 연속적으로 기록한다. 이 데이타 기록방법에 따라, 데이타가 셀 ①-②와 ③내에 기록되는데 소요되는 시간이 2개의 리프레쉬먼트 동작사이의 간격보다 더 단축되어, 데이타가 메모리 셀 ③내에 기록될때까지, 메모리 셀 ①의 전하가 그 자체로 기억된다. 더우기, 메모리 셀 ③내에 데이타 기록시에, 메모리 셀 ③과 동일한 로우인 메모리 셀 ①이 제36b도에 설명된 리프레쉬먼트 효과에 의하여 리프레쉬된다. 환언하면, 본 발명의 초기설정 어드레스 카운터를 사용하는 초기설정 방법에 따라, 리프레슁 동작을 개별적으로 지시하는 것이 필요치 않고 초기설정 시간을 그만큼 단축한다.
(d-2) 본 발명의 메모리 초기설정 방법의 실시예의 구조
제38도는 본 발명의 메모리 초기설정 방법의 실시예 구조를 도시한 것이다. 제38도에 있어서, 참조번호 41은 리프레쉬먼트를 필요로 하는 다이나믹 RAM등의 휘발성 메모리, 42는 액세스 제어기, 43은 초기설정 어드레스 생성기, 44는 데이타 생성기, 45는 어드레스 스위칭부를 표시한 것이다. 초기설정 어드레스 생성기 43에 있어서, 참조번호 43a는 초기설정 컬럼 어드레스 CA0-CAn를 출력하는 (n+1)비트의 엎-카운터이고 43b는 초기설정 로우 어드레스 RA0-RAm을 출력하는 (m+1)비트의 엎-카운터이다. 초기설정 개시시, 양쪽의 카운터 43a와 43b는 논리 0을 출력한다. 데이타 생성기 44에 있어서, 참조번호 44a는 초기설정 데이타를 기억하는 레지스터, 44b는 초기설정 데이타를 설정하거나 기록하는 셀렉터, 44c는 데이타 기억 레지스터이다. 어드레스 스위칭부 45에 있어서, 참조번호 45a는 초기설정 컬럼 어드레스와 데이타 액세스 컬럼 어드레스 사이에 절환하는 셀렉터, 45b는 초기설정 로우 어드레스와 데이타 액세스 로우 어드레스 사이에 절환하는 셀렉터, 45c는 스위칭 신호 SWS에 따라 로우 어드레스 또는 컬럼 어드레스를 설정하는 셀렉터이다.
제39도는 제38도에 도시된 실시예에 의한 동작의 타이밍 챠트이고 카운터 43a, 43b와 셀렉터 45c의 동작을 도시한 것이다.
전원이 ON되고 초기설정 신호 IST가 발생될때, 셀렉터 44b는 입력신호로서 호스트 모듈로부터의 데이타 신호를 레지스터 44a로부터 출력되는 초기설정 기록 데이타 신호 IDT로 절환하며, 초기설정 기록 데이타 신호 IDT를 레지스터 44c에 기억한다. 셀렉터 45a는 호스트 모듈로부터의 입력신호로서 컬럼 어드레스 CA0'-CAn'를 카운터 43a로부터의 출력신호로서 초기설정 컬럼 어드레스 CA0-CAn을 절환하며, 셀렉터 45b는 호스트 모듈로부터의 입력신호로서 로우 어드레스 RA0'-RAm'을 카운터 43b로부터의 출력신호로서 초기설정 로우 어드레스 RA0-RAm을 절환한다.
AND 게이트 43c는 카운터 43b 및 AND 게이트 43d로 클럭신호 CL을 출력한다. 카운터 43b로부터의 캐리신호(carry signal) CRY 출력이 논리 0 상태로 남아있기 때문에 클럭신호 CL은 카운터 43a로 공급되지 않는다. 카운터 43b는 클럭신호 CL에 따라 총계한다. 스위칭 신호 SWS가 클럭신호 CL의 주기의 절반에서 바뀌므로, 선택기 45c는 제39도에 도시된 바와 같이 한번의 클럭시 로우 어드레스 RA 및 컬럼 어드레스 CA로 구성된 어드레스 신호 AD를 교대로 출력한다. 이때, 데이타는 제37b도에서 메모리 셀 ①-②의 순서(로우의 직렬순서)로 기록된다. 카운터 43b가 총계하고 모든 초기설정 로우 어드레스 신호 Ra0-Ram이 1이 될때, 카운터 43b의 캐리신호 CRY는 출력되고 ADN 게이트 43d는 개방된다. 카운터 43a는 다음 클럭에서 총계하고, 카운터 43b의 모든 출력은 논리 0이 된다. 따라서, 캐리신호 CRY는 다시 논리 0이 된다. 카운터 43b가 총계하는 동안, 데이타는 제37 b도에서 메모리 셀 ③-④의 순서로 기록된다. 데이타가 두번째 컬럼에 기록될때, 메모리 셀 ①-②는 상술한 리프레슁 효과로 인하여 리프레쉬된다.
이러한 동작은 반복되고, 카운터 43a 및 43b의 모든 출력이 논리 1(제37 b도에서 셀 ⑤를 표시)이 될 경우, 카운터 43a 및 43b의 CRY인 두 캐리신호 CRY는 모두 1이 되고, 초기설정 종결신호 IED는 AND 게이트 43e의 출력신호로서 출력되며 호스트 모듈은 메모리 41의 초기설정의 종결을 통보받게 된다.
제40도는 본 발명의 메모리 초기설정 방법의 또다른 실시예의 구조를 도시한 것이다. 401에서 404의 각각의 메모리 모듈에서 제38도에 도시된 실시예에서와 동일한 요소들에 대해 동일한 참조번호가 제공된다. 이 실시예에서 액세스 제어기 46은 401에서 404의 메모리 모듈을 각기 따로따로 액세스할 수 있다. 예를 들어, 상부로부터 두번째 메모리 모듈 402가 인쇄판의 삽입으로 인해 첨가된다면 액세스 제어기 46은 호스트 모듈에서 나온 초기설정 요구에 응하여 초기설정 커맨드 신호 ISTb를 전송한다. 그러면 메모리 모듈 402의 플립플롭 47이 설정되고 메모리 모듈내의 액세스 제어기 42가 상술한 바와 같이 초기설정 어드레스를 일으켜서 메모리내의 초기설정을 실행한다. 초기설정이 종결되면 초기설정 종결신호 IEDb가 공급되고, 플립플롭이 리셋되며 액세스 제어기 46은 초기설정의 종결을 통보받게 된다. 이 실시예에서, 리프레쉬가 초기설정에 필요하지 않고 단일체로서의 메모리 모듈 402의 초기설정이 실행되므로 액세스 제어기 46은 초기설정 커맨드 신호 ISTb의 전송과 초기설정 종결신호 IEDb의 수신 사이의 초기설정시 또다른 메모리 모듈을 액세스할 수 있다.
두개의 액세스 제어기가 401에서 404의 다수의 메모리 모듈을 개별적으로 액세스될 수 있도록 다른(도시되지 않은) 액세스 제어기 46을 제공하는 것 역시 가능하다. 이러한 구조에서 인쇄판의 삽입으로 인해 메모리 모듈이 첨가된다면, 액세스 제어기들 46중의 하나가 초기설정 커맨드 신호 ISTa에서 ISTd까지를 전송한다. 그후에, 단일체로서 지정된 메모리 모듈의 초기설정이 실행된다. 따라서 두개의 액세스 제어기 46은 메모리 모듈의 초기설정시에도 호스트 모듈에서 나온 액세스 요구를 처리할 수 있다.
(d-3) 고속액세스가 가능한 경우의 초기설정 방법
고속 초기설정을 실행할 목적으로 니블모드와 고속페이지모드등의 고속 액세스가 가능한 다이나믹 RAM이 채택될 수 있다. 니블모드나 고속페이지모드에서 하나의 로우에 연속적인 네개의 메모리 셀에서 혹은 하나의 로우에 네개의 셀에서 데이타를 판독/기록하는 것이 가능하다. 제41도는 고속페이지모드에서 사용된 초기설정 어드레스 카운터의 구조를 도시한 것이다. 초기설정 어드레스 카운터는 2비트의 카운터 51, (n-1)비트의 카운터 52, (m+1)비트의 카운터 53 및 54에서 56까지의 AND 게이트로 구성된다.
클럭신호 CL은 항상 카운터 51로 공급되고, 카운터 51로부터 캐리신호 CRY1이 출력되는 경우에 한하여(카운터 51의 모든 출력은 논리 1이다)클럭신호 CL이 카운터 53으로 입력된다. 캐리신호 CRY1 및 캐리신호 CRY3이 동시에 카운터 51 및 53으로부터 각각 출력될 경우에 한하여 클럭신호 CL이 카운터 52로 입력된다. 카운터 51은 컬럼 어드레스의 두개의 하부 비트 CA0,CA1을 출력하고, 카운터 52는 컬럼 어드레스의 상부 (n-1)비트인 CA2에서 CAn까지를 출력하고, 카운터 53은 (m+1)비트의 로우 어드레스 RA0에서 RAm까지를 출력한다. 카운터 51에서 53까지의 캐리신호 CRY1에서 CRY3까지가 모두 출력되면, AND 게이트 54의 출력신호 IED는 초기설정의 종결을 나타내는 논리 1이 된다.
제42도에 도시된 바와 같이, 데이타는 초기설정 어드레스 카운터를 사용하여 초기설정시 ①에서 ⑧까지의 순서로 메모리 셀에 기록되고, 메모리 셀 ⑦에서 ⑧에 데이타가 기록될때 메모리 셀 ①에서 ②에 기록된 데이타는 리프레쉬된다. 데이타가 셀 ①에서 ⑥까지에 기록되는데 소요되는 시간은 두 리프레싱 동작 사이의 간격보다 더 짧다.
제43도는 본 발명에 따라 메모리 41이 다수의 메모리 블럭 41a에서 41b까지로 분리되는 메모리 초기설정 방법의 그 이상의 실시예의 구조를 도시한 것이다. 이 경우에, 호스트 모듈에서 나온 어드레스 신호 AD는 ① 컬럼 어드레스 신호 CA0'에서 CAn'까지 ② 로우 어드레스 신호 RA0'에서 RAm'까지, 및 ③ 메모리 블럭을 선별하기 위한 신호 BSL을 포함한다. 선별기 45d는, 신호 BSL을 근거로 선별신호 SLa에서 SLd중의 하나를 출력하여 SLA에서 SLd까지의 선별신호를 메모리 블럭 41a에서 41d중의 하나가 액세스된다. 액세스 신호의 전송과 동시에 메모리 블럭 41a에서 41d중의 하나를 선별하는 동작이 초기설정시에 필요하다. 따라서 초기설정 어드레스 카운터 43은 제44도에 도시된 것과 같은 구조를 갖는다. 초기설정 어드레스 카운터 43은 상술된 고속페이지모드가 채택된다는 가정하에 두개 비트의 카운터 57, 카운터 57의 출력을 디코딩하기 위한 디코더 58 및 AND 게이트 59a,59b를 제41도에 도시된 구조에 첨가하므로써 생산된다.
클럭신호 CL은 항상 카운터 51로 공급되고, 캐리신호 CRY1이 카운터 51호부터 출력되는 경우에만 클럭신호 CL이 카운터 53으로 입력된다. 캐리신호 CRY1 및 캐리신호 CRY3이 동시에 카운터 51 및 53으로부터 각각 출력되는 경우에만 클럭신호 CL이 카운터 57로 입력되고, 캐리신호 CRY1, 캐리신호 CRY2 및 캐리신호 CRY4가 동시에 카운터 51,52 및 57로부터 각각 출력되는 경우에 한하여 클럭신호 CL이 카운터 52로 입력된다.
초기설정 어드레스 카운터 43을 이용한 초기설정 과정에 있어서, 데이타는 제45도에 도시된 순서로 메모리 셀에 기록된다. 제43도에 도시된 41a에서 41d까지의 메모리 블럭의 내부셀은 제45도에 도시되어 있다. 데이타는 제42도에 도시된 것과 같은 방식으로 셀 ①에서 ⑥까지로 기록된다. 데이타가 셀 ⑥에 기록된후, 카운터 57의 출력은 바뀌고 메모리 블럭 41b가 선별되며 따라서 데이타는 메모리 블럭 41b의 셀 ⑦에 기록된다. 계속해서 메모리 블럭 41c 및 41d에 데이타가 같은 방식으로 기록된다. 메모리 블럭 41d로 데이타 기록이 완결되면, 메모리 블럭 41a가 다시 선별되지만, 이때 카운터 52가 총계하므로 데이타는 메모리 셀 ①'에 기록된다. 셀 ①'에서 ②'까지에의 데이타 기록동작시 ①에서 ②의 셀이 리프레쉬되므로, 메모리 셀 ①에서 ②까지의 내용을 잃게될 염려는 없다.
(d-4) 이점
리프레쉬를 필요로 하는 초기설정시에 특정한 규칙에 따른 어드레스의 생산은 개별적인 리프레싱 동작을 제거하고, 따라서 초기설정 시간을 단축시킨다.
더우기, 호스트 모듈과 액세스 제어기는 리프레쉬와 무관하게 초기설정을 실행할 수 있다. 몇몇 구조에 의하면, 메모리 액세스 전력이 초기설정으로 인하여 하락하지 않도록 방지하는 것이 가능하면, 그것에 의해 정보처리 장치의 성능을 높일 수 있다.
상술한 바와 같이 종래의 I/O 서브시스템에서와는 달리 본 발명에 따르면 I/O 서브시스템의 최대 구조를 제공하기 위해 큰 배타적 제어 테이블을 고정적으로 준비할 필요는 없고, 배타적 제어 테이블은 I/O 서브시스템에 실제로 접속된 호스트 인터페이스가 유일하게 게재된 곳에 충분하다. 따라서 배타적 제어 테이블의 기억용량을 감소하는 것이 가능하다. 논리 경로 제어 테이블 LPT가 전원을 off하더라도 메모리의 내용을 잃지 않는 비소멸성 메모리에 기억되고, 논리 경로 번호가 비소멸성 메모리에 기억된 논리 경로 제어 테이블을 기초로 하여 할당되기 때문에, 정전전에 논리 경로 번호의 할당을 재생하는 것이 가능하고, 따라서 문제의 분석 혹은 그 문제의 재생테스트의 분석시에 동일한 상황이 재현된다. 본 발명에 따르면, 이러한 방식으로 I/O 서브시스템의 성능을 높이는 것이 가능하다.
더우기, 본 발명에 따르면 데이타의 일부가 기억되기전에 압축되므로 반도체 메모리의 용량보다 더 많은 양의 데이타를 깅거하기 위한 반도체 디스크 장치를 제공하는 것이 가능하다. 데이타 압축시 많은 용량을 갖는 데이타 버퍼가 채널 어댑터내에 공급되므로 일정한 비율로 호스트 장치에 대해 데이타 전달 속도를 유지하는 동안 데이타를 압축하는 것이 가능하고, 따라서 데이타의 압축으로 인해 유발된 스트레스를 완화시키는 것이 가능하다. 호스트 장치와의 결합이 필요없이 서브시스템내에서 압축된 데이타의 정상상태를 검증하는 것이 가능하다. 검증의 결과로 데이타의 이상성이 검출되는 경우에도 서브시스템내의 데이타를 복구하는 것이 가능하다. 그러한 데이타 압축으로 인해 데이타의 많은 용량이 기억될 수 있으므로 I/O 서브시스템의 성능을 향상시키는 것이 가능하다.
더우기, 본 발명에 따르면 초기설정 데이타가 각 로우에 대해 리프레쉬를 필요로 하는 휘발성 메모리안에 기록되는 경우, 일정한 값 i에 고정된 컬럼 어드레스 CA와 상향순서로 로우 어드레스 RA를 연속적으로 제작하는 동안 초기설정 데이타는 i번째 컬럼의 모든 메모리 셀에 기록되고, 컬럼 어드레스 CA를 하나씩 순차적으로 진출시키는 동안 초기설정 데이타를 기록하는 단게는 다음 컬럼에 같은 방식으로 반복된다. 이러한 방식으로, 리프레쉬와 데이타 기록이 동시에 행해지므로, 데이타가 기록되는데 소요되는 시간이 두 리프레쉬 동작 사이의 간격보다 더 짧은 경우에, 리프레쉬를 데이타 기록 동작과 분리해서 실행할 필요는 없으며 그것에 의해 초기설정 시간이 단축된다. 고속메모리를 사용할 경우에, 컬럼 어드레스 CA는 상부 컬럼 어드레스와 하부 컬럼 어드레스로 분리되고, 상부 컬럼 어드레스와 상향순서로 하부 컬럼 어드레스를 연속 생산하는 동안에 초기설정 데이타는 메모리 셀에 기록되고, 및 로우 어드레스 RA는 고정된다. 그러면 초기설정 데이타는 다음 로우에 동일한 방법으로 기록된다. 이러한 방식으로 초기설정 데이타가 모든 로우에 기록되면 상부 컬럼 어드레스를 하나씩 순차적으로 진행시키는 동안 데이타 기록 동작이 반복된다. 이 과정은 또한 분리된 리프레싱 동작을 제거해주고 그것으로 인해 초기설정 시간을 감소시킨다. 본 발명에 따르면 이러한 방식으로 I/O 서브시스템의 성능을 향상시키는 것이 가능하다.
본 발명의 광범위하게 많은 상이한 실시예가 그것의 정신과 범위에서 벗어나지 않고 만들어질 수 있기 때문에 발명은 첨부된 청구범위에 규정된 것을 제외하고 특정실시예에 제한되지 않는다.
Claims (24)
- 호스트 장치에 단일 또는 다수의 호스트 인터페이스를 각각 갖는 다수의 입/출력 인터페이스부, 상기 다수의 호스트 인터페이스에 의해 공통으로 사용된 I/O 디바이스, 및 배타적 제어 테이블로 제공되고 상기 I/O 디바이스가 어느 다른 호스트 인터페이스에 의해 사용되지 않을때 호스트 인터페이스에 상기 I/O 디바이스의 사용을 허가하고 또다른 호스트 인터페이스가 상기 I/O 디바이스를 사용할때 사용을 금지하는 배타적 제어기를 갖는 I/O 서브시스템에서의 배타적 제어방법에 있어서, 상기 입/출력 인터페이스부의 각각의 상기 호스트 인터페이스의 각각에 논리 경로 번호를 할당하고, 배타적 제어 테이블내에 논리 경로 번호와 대응하여 I/O 디바이스의 사용상태를 관리하고, 상기 I/O 디바이스의 사용요구가 소정의 논리 경로 번호를 할당하는 호스트 인터페이스로부터 입력될때 상기 배타적 제어 테이블을 참조하여 I/O 디바이스가 또 다른 호스트 인터페이스에 의해 사용되는지 여부를 판정하고, 상기 I/O 디바이스가 사용중이지 않을때 액세스 요구를 갖는 상기 호스트 인터페이스에 상기 I/O 디바이스의 사용을 허가하고, 할당된 논리 경로 번호와 대응하여 상기 I/O 디바이스가 상기 배타적 제어 테이블에 사용중임을 나타내는 플래그를 설정하며, 상기 I/O 디바이스의 사용이 종결될때 상기 플래그를 상기 I/O 디바이스가 미사용중임을 나타내는 플래그로 변환시키는 단계로 구성되는 I/O 서브시스템에서의 배타적 제어방법.
- 제1항에 있어서, 논리 인터페이스가 상기 다수의 인터페이스부중 하나에 물리적으로 제공되는 물리 인터페이스상에 정의될때 상기 호스트 인터페이스로서 논리 인터페이스의 각각에 논리 경로 번호를 할당하는 단계로 더 구성되는 방법.
- 제1항에 있어서, 다수의 I/O 기계번호를 단일의 I/O 디바이스에 제공하고, 1개의 호스트 장치상의 동작시스템이 상기 I/O 기계번호의 각각을 사용하여 상기 물리 인터페이스를 거쳐 상기 I/O 장치에 액세스 가능할때 상기 다수의 입/출력 인터페이스부중 하나에 물리적으로 제공되는 물리 인터페이스상에 I/O 기계번호의 수와 동일한 수의 호스트 인터페이스를 정의하며, 논리 경로 번호를 상기 호스트 인터페이스의 각각에 할당하는 단계로 더 구성되는 방법.
- 제1항에 있어서, 상기 배타적 제어기내에 논리 경로 제어 테이블을 제공하고, 전원 스위치가 ON되거나 상기 호스트 인터페이스가 정의될때 상기 호스트 인터페이스의 각각에 논리 경로 번호를 할당하도록 상기 입/출력 인터페이스부중 하나로부터 상기 배타적 제어기를 요구하고, 논리 경로 번호의 할당요구에 응하여 상기 호스트 인터페이스의 각각에 미사용중 논리 경로 번호를 동적으로 할당하여 입/출력 인터페이스부의 식별 정보와 호스트 인터페이스의 식별 정보와 대응하여 상기 논리 경로 제어 테이블내에 할당된 논리 경로번호를 등록하며, 논리 경로 번호가 할당되는 호스트 인터페이스에 대하여 배타적 제어를 행하는 단계로 더 구성되는 방법.
- 제4항에 있어서, 상기 호스트 인터페이스의 각각에 대응하여 상기 입/출력 인터페이스의 각각에 상기 배타적 제어기에 의해 할당된 논리 경로 번호를 기억하고, 호스트 장치가 소정의 호스트 인터페이스를 통하여 I/O 디바이스에 액세스 요구를 입력할때 소정의 호스트 인터페이스에 대응하는 논리 경로 번호를 얻으며, 상기 논리 경로 번호가 부착된 I/O 디바이스를 사용하는 허용 요구 커맨드를 상기 배타적 제어기에 입력하는 단계로 더 구성되는 방법.
- 제4항에 있어서, 상기 호스트 인터페이스가 새롭게 추가될때 호스트 인터페이스에 논리 경로 번호를 할당하거나 상기 호스트 인터페이스가 제거될때 호스트 인터페이스의 논리 경로 번호를 제거하도록 상기 입/출력 인터페이스부중 하나로부터 상기 배타적 제어기를 요구하며, 추가되는 상기 호스트 인터페이스에 논리 경로 번호를 할당하여 상기 배타적 제어기에 의해 상기 논리 경로 제어 테이블내에 상기 논리 경로 번호를 등록하거나 상기 배타적 제어기에 의해 상기 논리 경로 제어 테이블로부터 제거된 상기 호스트 인터페이스의 상기 논리 경로 번호를 제거하는 단계로 더 구성되는 방법.
- 제4항에 있어서, 정전시에도 내용을 분실하지 않는 비휘발성 기억수단내에 상기 논리 경로 제어 테이블을 기억하고, 상기 기억수단에 기억된 상기 논리 제어 테이블에 근거하여 논리 경로 번호를 할당하거나 논리 경로 번호를 동적으로 할당하는지를 지시하는 지시수단을 제공하며, 상기 지시수단의 지시하에 논리 경로 번호를 할당하는 단계로 더 구성되는 방법.
- 다수의 반도체 메모리 칩으로 이루어진 반도체 메모리 모듈, 반도체 메모리 모듈에 데이타의 기록과 판독 동작을 제어하는 메모리 인터페이스 어댑터, 호스트 장치와 상기 메모리 인터페이스 어댑터 사이에 데이타의 입력 및 출력동작을 제어하는 채널 어댑터, 및 상기 반도체 메모리 모듈의 액세스에 대하여 배타적 제어를 행하는 배타적 제어기로 구성되는 I/O 서브시스템에서의 데이타 기억방법에 있어서, 상기 채널 어댑터에 의해 데이타를 압축하여 압축된 데이타를 상기 반도체 메모리 모듈내에 기록하고, 상기 반도체 메모리 모듈로부터 상기 압축 데이타를 판독하여 복원하며, 복원 데이타와 압축전의 데이타를 비교하여 상기 반도체 메모리 모듈내에 기록된 상기 압축 데이타를 검증하는 단계로 구성되는 I/O 서브시스템에서의 데이타 기억방법.
- 제8항에 있어서, 대용량을 갖는 데이타 버퍼와 데이타 압축 메카니즘을 상기 채널 어댑터내에 제공하고, 상기 데이타 압축 메카니즘에 의해 상기 데이타 버퍼내에 기억된 입력데이타를 압축하여 압축 데이타를 상기 반도체 메모리 모듈내에 기록하는 단계로 더 구성되는 방법.
- 제9항에 있어서, 상기 압축 데이터를 상기 반도체 메모리 모듈내에 기록한후에 상기 데이타 버퍼에 기억된 압축전의 상기 데이타를 여분의 반도체 메모리 모듈내에 기록하며, 상기 데이타와 상기 압축 데이타를 비교하도록 상기 여분의 반도체 메모리 모듈로부터 압축전의 상기 데이타를 판독하는 단계로 더 구성되는 방법.
- 제10항에 있어서, 데이타 비교의 결과로 이상성이 검출될때 상기 여분의 반도체 메모리 모듈로부터 판독된 상기 데이타를 상기 반도체 메모리 모듈내에 압축하여 기록하고, 상기 반도체 메모리 모듈내에 기록된 압축 데이타를 판독하여 복원하며, 복원 데이타와 압축전의 상기 데이타를 비교하여 상기 반도체 메모리 모듈내에 기록된 상기 압축 데이타를 검증하는 단계로 더 구성되는 방법.
- 제8항에 있어서, 데이타 압축시 상기 반도체 메모리 모듈에 액세스 요구에 응하여 상기 배타적 제어기로부터 통화중을 나타내는 신호를 공급하는 단계로 더 구성되는 방법.
- 제8항에 있어서, 상기 I/O 서브시스템이 자기 디스크 장치를 에뮬레이트하여 제조된 반도체 디스크 장치인 방법.
- 제13항에 있어서, 상기 자기 디스크 장치의 트랙에 대응하는 상기 트랙필드의 헤드에서 트랙필드에 기억될 레코드의 제어정보를 포함하는 디렉토리를 기록하여 상기 디렉토리후에 레코드를 기록하고, 상기 레코드에서의 데이터의 압축여부를 나타내는 각 레코드레 플래그를 추가하며, 디렉토리 논리 어드레스 정보, 물리 메모리 어드레스 정보, 데이타가 비교대상인 것을 나타내는 압축 플래그, 및 상기 트랙필드의 데이타를 변화시키거나 기록할때의 최종날짜를 추가하는 단계로 더 구성되는 방법.
- 제14항에 있어서, 백엎 디스크 장치와 상기 백엎 디스크 장치에 데이타의 입력 및 출력동작을 제어하는 백엎 어댑터를 제공하고, 상기 반도체 메모리 모듈에 기억된 데이타를 상기 백엎 디스크 장치내에 백엎시키고, 상기 반도체 메모리 모듈에 기억된 상기 데이타를 상기 백엎 디스크 장치에 백엎시킬때의 백엎 완료날짜를 기억하고, 상기 반도체 메모리에 기억된 상기 데이타를 다시 백엎시킬때의 상기 백엎 완료날짜와 상기 디렉토리에 포함된 상기 날짜를 비교하며, 상기 백엎 디스크 장치내에 상기 백엎 완결날짜보다 최근이 날짜를 백엎시키는 반면에, 상기 백엎 완료날짜보다 오래된 날짜를 백엎시키지 않는 단계로 더 구성되는 방법.
- 제8항에 있어서, 백엎 디스크 장치와 상기 백엎 디스크 장치에 데이타의 입력 및 출력동작을 제어하는 백엎 어댑터를 제공하고, 상기 압축 데이타의 크기가 상기 비압축 데이타의 크기보다 크기 때문에 상기 반도체 메모리 모듈내에 상기 압축 데이타의 기록동작시에 상기 반도체 메모리 모듈이 충만될때에 상기 백엎 디스크 장치내에 비압축 데이타를 기억하며, 상기 반도체 메모리 모듈내에 상기 백엎 디스크 장치로부터 상기 비압축 데이타를 잇달아 기록하는 단계로 더 구성되는 방법.
- 지정된 컬럼 어드레스와 지정된 로우 어드레스와의 결합에 따라 액세스되고 각 로우에 리프레쉬되는 휘발성 메모리를 초기화하는 메모리 초기설정 방법에 있어서, 상기 휘발성 메모리를 초기화하도록 일정한 값 i에서 고정된 컬럼 어드레스의 상승순서로 로우 어드레스를 연속적으로 생성하면서 i번째 컬럼상에 모든 메모리 셀에 초기설정 데이타를 기록하며, 상기 컬럼 어드레스를 하나씩 직렬로 진행시키면서 다음의 컬럼상에 동일한 방식으로 상기 초기설정 데이타의 기록 단계를 반복하는 단계로 구성되는 메모리 초기설정 방법.
- 제17항에 있어서, 감지증폭기를 제공하고, 초기설정 데이타가 i번째 컬럼과 j번째 로우상에 모든 메모리 셀의 내용을 판독하여 감지증폭기에 내용을 입력하며, 상기 초기설정 데이타에 의해 컬럼 어드레스 i로 지정된 셀의 내용을 갱신하고 감지증폭기에 의해 상기 j번째 로우상에의 셀에 갱신 데이타를 기록하여 각 로우에 대한 메모리 리프레쉬먼트와 동시에 데이타 기록을 행하는 방법으로 더 구성되는 방법.
- 지정된 컬럼 어드레스와 지정된 로우 어드레스의 결합에 따라 액세스되고 각 로우에 대해 리프레쉬되는 휘발성 메모리를 초기화하는 메모리 초기설정 방법에 있어서, 상부 컬럼 어드레스와 로우 컬럼 어드레스로 컬럼 어드레스를 분할하고, 고정된 상부 컬럼 어드레스와 로우 어드레스의 상승순서로 상기 하부 컬럼 어드레스를 연속적으로 생성시키면서 메모리 셀에 초기설정 데이타를 기록하고, 상기 로우 어드레스를 하나씩 직렬로 진행시키면서 동일한 방식으로 초기설정 데이타를 기록하며, 모든 로우상에 상기 데이타 기록동작의 완료후에 상기 상부 컬럼 어드레스를 하나씩 직렬로 진행시키면서 데이타 기록 동작을 반복하는 단계로 구성되는 메모리 초기설정 방법.
- 지정된 컬럼 어드레스와 지정된 로우 어드레스의 완결에 따라 액세스되고 각 로우에 대해 리프레쉬되는 휘발성 메모리를 초기화하는 메모리 초기설정 방법에 있어서, 휘발성 메모리가 다수의 블럭으로 구성될때 상부 컬럼 어드레스와 하부 컬럼 어드레스로 컬럼 어드레스를 분할하고, 고정된 상기 상부 컬럼 어드레스와 하부 어드레스의 상승순서로 상기 하부 컬럼 어드레스를 연속적으로 생성시키면서 모든 블럭내의 메모리 셀에 초기설정 데이타를 기록하고, 상기 로우 어드레스를 하나씩 직렬로 진행시키면서 모든 블럭내에 데이타 기록 동작을 반복하고, 상기 초기설정 데이타 기록동작이 모든 로우상의 모든 블럭에서 종결된 후에 상기 상부 컬럼 어드레스를 하나씩 직렬로 진행시키면서 모든 블럭에 상기 데이타 기록 동작을 반복하는 단계로 구성되는 메모리 초기설정 방법.
- 호스트 장치에 단일 또는 다수의 호스트 인터페이스를 각각 갖는 다수의 채널 어댑터, 상기 다수의 호스트 인터페이스에 의해 공통으로 사용되는 I/O 디바이스, I/O 디바이스에 인터페이스로서 사용되는 디바이스 어댑터 및 상기 I/O 서브시스템의 자원을 전체로서 관리하는 자원관리부로 구성되며, 상기 자원관리부는 상기 채널 어댑터의 각각의 상기 호스트 인터페이스의 각각에 논리 경로 번호를 할당하는 논리 경로 번호 할당 수단, 논리 경로 번호와 대응하여 상기 호스트 인터페이스의 각각에 의해 상기 I/O 디바이스의 사용 상태를 기억하는 배타적 제어 테이블, 상기 I/O 디바이스의 사용요구가 소정의 논리 경로를 할당하는 호스트 인터페이스로부터 입력될때 상기 배타적 제어 테이블을 참조하여 I/O 디바이스가 다른 호스트 인터페이스에 의해 사용되는지 여부를 판정하고 상기 I/O 디바이스가 어느 다른 호스트 인터페이스에 의해 사용되지 않을때 상기 호스트 인터페이스에 상기 I/O 디바이스의 사용을 허가하고 다른 호스트 인터페이스가 상기 I/O 디바이스를 사용할때 사용을 금지하는 배타적 제어기, 및 상기 I/O 디바이스가 할당된 논리 경로 번호와 대응하여 상기 배타적 제어 테이블내에 사용중임을 나타내는 플래그를 설정하고 상기 I/O 디바이스가 종결될때 상기 플래그를 상기 I/O 디바이스가 미사용중임을 나타내는 플래그로 변화시키는 테이블 제어기를 포함하는 I/O 서브시스템.
- 제21항에 있어서, 상기 자원관리부가 논리 경로 번호를 할당하는 호스트 인터페이스와 대응하여 논리 경로 번호를 기억하는 논리 경로 제어 테이블을 포함하고 상기 논리 경로 할당 수단이 상기 논리 경로 제어 테이블을 참조하여 상기 호스트 인터페이스의 각각에 논리 경로 번호를 할당하는 I/O 서브시스템.
- 호스트 장치 사이에 단일 또는 다수의 호스트 인터페이스를 각각 갖는 다수의 채널 어댑터, 상기 다수의 호스트 인터페이스에 의해 공통으로 사용되는 다수의 I/O 디바이스, I/O 디바이스 사이에 인터페이스로서 사용되는 다수의 디바이스 어댑터 및 상기 I/O 서브시스템의 자원을 전체로서 관리하는 자원관리부를 포함하는 I/O 서브시스템에 있어서, 상기 I/O 디바이스로서 다수의 반도체 메모리 칩으로 구성된 반도체 메모리 모듈, 반도체 메모리 모듈에 데이타의 기록 및 판독동작을 제어하고 디바이스 어댑터로서 제공되는 메모리 인터페이스 어댑터, 데이타를 압축하여 복원하는 데이타 압축/복원 메카니즘, 상기 반도체 메모리 모듈내에 기록된 압축 데이타를 판독하여 복원하고 복원 데이타와 압축전의 데이타를 비교하여 상기 압축 데이타를 검증하는 검증수단으로 구성되는 I/O 서브시스템.
- 호스트 장치 사이에 단일 또는 다수의 호스트 인터페이스를 각각 갖는 다수의 채널 어댑터, 상기 다수의 호스트 인터페이스에 의해 공통으로 사용되는 다수의 I/O 디바이스, I/O 디바이스 사이에 인터페이스로서 사용되는 다수의 디바이스 어댑터 및 상기 I/O 서브시스템의 자원을 전체로서 관리하는 자원관리부를 포함하는 I/O 서브시스템에 있어서, 반도체 메모리 모듈에 데이타의 기록 및 판독 동작을 제어하고 디바이스 어댑터로서 제공되는 메모리 인터페이스 어댑터, 및 고정된 컬럼 어드레스의 상승순서로 로우 어드레스를 일정한 값 i로 연속적으로 생성시키면서 초기설정 데이타를 기록하고 상기 컬럼 어드레스를 하나씩 직렬로 진행시키면서 다음의 컬럼상에 동일한 방식으로 상기 초기설정 데이타의 기록 단계를 반복하는 메모리 초기설정 수단으로 구성되는 I/O 서브시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5232677A JP2972501B2 (ja) | 1993-09-20 | 1993-09-20 | I/oサブシステム及びi/oサブシステムにおける排他制御方法 |
JP93-232677 | 1993-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950009449A KR950009449A (ko) | 1995-04-24 |
KR970000840B1 true KR970000840B1 (ko) | 1997-01-20 |
Family
ID=16943067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940015267A KR970000840B1 (ko) | 1993-09-20 | 1994-06-29 | I/o 서브시스템 및 i/o 서브시스템에서의 배타적 제어, 데이타 기억, 메모리 초기화 방법 |
Country Status (4)
Country | Link |
---|---|
US (3) | US5694619A (ko) |
JP (1) | JP2972501B2 (ko) |
KR (1) | KR970000840B1 (ko) |
DE (1) | DE4423949A1 (ko) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5915129A (en) * | 1994-06-27 | 1999-06-22 | Microsoft Corporation | Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system |
US6078942A (en) * | 1996-04-25 | 2000-06-20 | Microsoft Corporation | Resource management for multimedia devices in a computer |
US6810040B1 (en) | 1997-12-22 | 2004-10-26 | Cisco Technology, Inc. | Method and apparatus for configuring network devices |
US6700890B1 (en) * | 1997-12-22 | 2004-03-02 | Cisco Technology, Inc. | Method and apparatus for configuring permanent virtual connection (PVC) information stored on network devices in an ATM network logically configured with subnetworks |
US6624761B2 (en) | 1998-12-11 | 2003-09-23 | Realtime Data, Llc | Content independent data compression method and system |
US6604158B1 (en) | 1999-03-11 | 2003-08-05 | Realtime Data, Llc | System and methods for accelerated data storage and retrieval |
US6601104B1 (en) | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
CA2299550A1 (en) * | 1999-03-31 | 2000-09-30 | International Business Machines Corporation | Dynamic i/o allocation in a partitioned computer system |
WO2001001262A1 (fr) * | 1999-06-24 | 2001-01-04 | Fujitsu Limited | Controleur de peripherique et systeme d'entree/sortie |
US20010047473A1 (en) | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
US20010033243A1 (en) * | 2000-03-15 | 2001-10-25 | Harris Glen Mclean | Online remote control configuration system |
US6741978B1 (en) * | 2000-04-12 | 2004-05-25 | Intel Corporation | Accessing file data stored in non-volatile re-programmable semiconductor memories |
US7417568B2 (en) | 2000-10-03 | 2008-08-26 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US8692695B2 (en) | 2000-10-03 | 2014-04-08 | Realtime Data, Llc | Methods for encoding and decoding data |
US9143546B2 (en) | 2000-10-03 | 2015-09-22 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US7386046B2 (en) | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
JP4039821B2 (ja) | 2001-05-09 | 2008-01-30 | 株式会社日立製作所 | ディスク制御装置を用いた計算機システムおよびその運用サービス |
AU2002334947A1 (en) * | 2001-06-14 | 2003-01-21 | Cable And Wireless Internet Services, Inc. | Secured shared storage architecture |
WO2003007154A2 (en) * | 2001-07-09 | 2003-01-23 | Cable & Wireless Internet Services, Inc. | Methods and systems for shared storage virtualization |
JP3900467B2 (ja) * | 2001-11-05 | 2007-04-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 外部記憶装置、外部記憶装置制御方法、プログラム、及び記録媒体 |
JP4107083B2 (ja) * | 2002-12-27 | 2008-06-25 | 株式会社日立製作所 | 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム |
JP2005011110A (ja) * | 2003-06-19 | 2005-01-13 | Hitachi Ltd | 情報処理装置、情報処理装置の制御方法、プログラム、及び情報処理システム |
JP4817836B2 (ja) * | 2004-12-27 | 2011-11-16 | 株式会社東芝 | カードおよびホスト機器 |
JP2006252239A (ja) * | 2005-03-11 | 2006-09-21 | Fujitsu Ltd | ファイル制御装置 |
US7333430B2 (en) * | 2005-07-06 | 2008-02-19 | Fortinet, Inc. | Systems and methods for passing network traffic data |
JP2007310656A (ja) * | 2006-05-18 | 2007-11-29 | Hitachi Ltd | 計算機システム及び論理パス差分検出方法 |
US7702893B1 (en) | 2006-09-22 | 2010-04-20 | Altera Corporation | Integrated circuits with configurable initialization data memory addresses |
US8909827B2 (en) * | 2008-01-30 | 2014-12-09 | International Business Machines Corporation | Method to allow a host to replace logical path resources it owns |
US8392610B2 (en) | 2008-01-30 | 2013-03-05 | International Business Machines Corporation | Method, apparatus and system to dynamically manage logical path resources |
US8843449B2 (en) | 2009-06-16 | 2014-09-23 | Bmc Software, Inc. | Unobtrusive copies of actively used compressed indices |
US8495423B2 (en) * | 2009-08-11 | 2013-07-23 | International Business Machines Corporation | Flash-based memory system with robust backup and restart features and removable modules |
JP5574993B2 (ja) * | 2011-01-13 | 2014-08-20 | 三菱電機株式会社 | 制御用計算機および情報処理システムおよび制御方法およびプログラム |
US10929040B1 (en) * | 2011-09-28 | 2021-02-23 | EMC IP Holding Company LLC | RAID 1—half compressed data storage |
JP5925288B2 (ja) | 2012-02-23 | 2016-05-25 | 三菱電機株式会社 | 計算機、アクセス管理方法およびアクセス管理プログラム |
US9606870B1 (en) | 2014-03-31 | 2017-03-28 | EMC IP Holding Company LLC | Data reduction techniques in a flash-based key/value cluster storage |
US10025843B1 (en) | 2014-09-24 | 2018-07-17 | EMC IP Holding Company LLC | Adjusting consistency groups during asynchronous replication |
GB2539445A (en) | 2015-06-16 | 2016-12-21 | Nordic Semiconductor Asa | Data processing |
US9805802B2 (en) | 2015-09-14 | 2017-10-31 | Samsung Electronics Co., Ltd. | Memory device, memory module, and memory system |
US10152527B1 (en) | 2015-12-28 | 2018-12-11 | EMC IP Holding Company LLC | Increment resynchronization in hash-based replication |
US10691354B1 (en) | 2018-01-31 | 2020-06-23 | EMC IP Holding Company LLC | Method and system of disk access pattern selection for content based storage RAID system |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2715889C2 (de) * | 1977-04-09 | 1983-01-20 | Ibm Deutschland Gmbh, 7000 Stuttgart | Steuerschaltung für einen Metallpapierdrucker-Schreibkopf |
JPS5734233A (en) * | 1980-08-07 | 1982-02-24 | Fujitsu Ltd | Exclusive control for data output system |
JPS5760588A (en) * | 1980-09-26 | 1982-04-12 | Toshiba Corp | Memory controller |
US4423480A (en) * | 1981-03-06 | 1983-12-27 | International Business Machines Corporation | Buffered peripheral system with priority queue and preparation for signal transfer in overlapped operations |
JPS5827240A (ja) * | 1981-08-10 | 1983-02-17 | Nippon Telegr & Teleph Corp <Ntt> | フアイル記憶方式 |
JPS5827255A (ja) * | 1981-08-12 | 1983-02-17 | Hitachi Ltd | 複数電子計算機間共用フアイルの制御方式 |
US4604709A (en) * | 1983-02-14 | 1986-08-05 | International Business Machines Corp. | Channel communicator |
JPS6336461A (ja) * | 1986-07-31 | 1988-02-17 | Pfu Ltd | 汎用チャネル制御方式 |
JPH0210988A (ja) * | 1988-06-28 | 1990-01-16 | Matsushita Electric Ind Co Ltd | テレビジョン受信機 |
JPH0250389A (ja) * | 1988-08-12 | 1990-02-20 | Oki Electric Ind Co Ltd | 記憶制御装置 |
JPH02213966A (ja) * | 1989-02-14 | 1990-08-27 | Nec Corp | データセーブリストア方式 |
JPH0390942A (ja) * | 1989-09-01 | 1991-04-16 | Oki Electric Ind Co Ltd | 主記憶装置の制御方式 |
AU650242B2 (en) * | 1989-11-28 | 1994-06-16 | International Business Machines Corporation | Methods and apparatus for dynamically managing input/output (I/O) connectivity |
US5167034A (en) * | 1990-06-18 | 1992-11-24 | International Business Machines Corporation | Data integrity for compaction devices |
US5247638A (en) * | 1990-06-18 | 1993-09-21 | Storage Technology Corporation | Apparatus for compressing data in a dynamically mapped virtual data storage subsystem |
US5291391A (en) * | 1992-03-20 | 1994-03-01 | Cincinnati Milacron Inc. | Fast programmable scan logic controller method and apparatus |
JP2566728B2 (ja) * | 1992-10-30 | 1996-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 論理径路スケジューリング装置及び実行方法 |
US5761531A (en) * | 1995-06-30 | 1998-06-02 | Fujitsu Limited | Input/output control apparatus and method for transfering track data from cache module to channel unit during the staging of the data track from device adapter |
JP3789542B2 (ja) * | 1996-04-04 | 2006-06-28 | 富士通株式会社 | メモリ制御回路 |
-
1993
- 1993-09-20 JP JP5232677A patent/JP2972501B2/ja not_active Expired - Fee Related
-
1994
- 1994-06-16 US US08/261,851 patent/US5694619A/en not_active Expired - Lifetime
- 1994-06-29 KR KR1019940015267A patent/KR970000840B1/ko not_active IP Right Cessation
- 1994-07-07 DE DE4423949A patent/DE4423949A1/de not_active Ceased
-
1997
- 1997-05-08 US US08/853,315 patent/US5925111A/en not_active Expired - Fee Related
-
1999
- 1999-04-30 US US09/302,904 patent/US6338101B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE4423949A1 (de) | 1995-03-23 |
JPH0784936A (ja) | 1995-03-31 |
JP2972501B2 (ja) | 1999-11-08 |
US5925111A (en) | 1999-07-20 |
US5694619A (en) | 1997-12-02 |
US6338101B1 (en) | 2002-01-08 |
KR950009449A (ko) | 1995-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR970000840B1 (ko) | I/o 서브시스템 및 i/o 서브시스템에서의 배타적 제어, 데이타 기억, 메모리 초기화 방법 | |
US7127557B2 (en) | RAID apparatus and logical device expansion method thereof | |
US6035373A (en) | Method for rearranging data in a disk array system when a new disk storage unit is added to the array using a new striping rule and a pointer as a position holder as each block of data is rearranged | |
US7318122B2 (en) | Disk array control device with an internal connection system for efficient data transfer | |
US5859960A (en) | Semiconductor disk apparatus having a semiconductor memory for a recording medium | |
US5848229A (en) | Fault tolerant disk array system for allocating auxillary disks in place of faulty disks | |
US5371882A (en) | Spare disk drive replacement scheduling system for a disk drive array data storage subsystem | |
US20020178327A1 (en) | Disk array controller with connection path formed on connection request queue basis | |
WO1992009035A1 (en) | Multilevel, hierarchical, dynamically mapped data storage subsystem | |
WO1999063438A1 (en) | Apparatus, system and method for n-way raid controller | |
JP2000099281A (ja) | ディスクアレイ制御装置 | |
KR19980022356A (ko) | 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법 | |
CN101482802A (zh) | 独立磁盘冗余阵列5扩展方法及装置 | |
JPH09231015A (ja) | 記憶装置および記憶装置システム | |
US4941088A (en) | Split bus multiprocessing system with data transfer between main memory and caches using interleaving of sub-operations on sub-busses | |
US20200233588A1 (en) | Efficient lightweight storage nodes | |
KR100254722B1 (ko) | 데이타 기억 시스템,데이타 전송 방법 및 데이타 재구성 방법 | |
JP2000029636A (ja) | I/oサブシステム及びi/oサブシステムにおけるデ―タ記憶、メモリイニシャライズ方法 | |
JP2003131818A (ja) | クラスタ構成ストレージにおけるクラスタ間raid構成 | |
US5892780A (en) | Data storage system and parity generation method for data storage system | |
JP2001014139A (ja) | ワークファイルを使用するマルチスレッドソート処理方式及び処理方法 | |
CN114281240A (zh) | 存储系统及其控制方法 | |
JPH06119125A (ja) | ディスクアレイ装置 | |
JP2002157091A (ja) | ストレージサブシステム及びそのシステムに使用する記憶装置 | |
JPH08234928A (ja) | 情報記憶制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100111 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |