KR0130008B1 - 다수의 기억장치체계에 쓰이는 파일시스템 - Google Patents

다수의 기억장치체계에 쓰이는 파일시스템 Download PDF

Info

Publication number
KR0130008B1
KR0130008B1 KR1019890702407A KR890702407A KR0130008B1 KR 0130008 B1 KR0130008 B1 KR 0130008B1 KR 1019890702407 A KR1019890702407 A KR 1019890702407A KR 890702407 A KR890702407 A KR 890702407A KR 0130008 B1 KR0130008 B1 KR 0130008B1
Authority
KR
South Korea
Prior art keywords
data
storage
access
data file
cell
Prior art date
Application number
KR1019890702407A
Other languages
English (en)
Other versions
KR900700960A (ko
Inventor
스타 크라카우어 아르노
가울리크 디터
알란 콜그로브 존
바이런 윌모트 2세 리차드
Original Assignee
그레고리 한슈
암달코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 그레고리 한슈, 암달코포레이션 filed Critical 그레고리 한슈
Publication of KR900700960A publication Critical patent/KR900700960A/ko
Application granted granted Critical
Publication of KR0130008B1 publication Critical patent/KR0130008B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

내용 없음.

Description

다수의 기억장치체계에 쓰이는 파일시스템
제1도는 종래의 파일시스템의 블록선도.
제2도는 본 발명에 따른 파일시스템의 블록선도.
제3도는 본 발명에 따른 파일시스템의 각각의 단계를 지나는 데이타 흐름을 예시한 블록선도.
제4도는 본 발명에 따른 파일시스템의 단계의 구조를 보인 선도.
제5도는 다수의 입력-출력 경로와 수많은 물리적 기억장치를 갖춘 데이터기억 서브시스템을 구비한 컴퓨터시스템의 블록선도.
제6도는 본 발명에 따른 데이타 파일의 개략선도.
제7도는 논리적 디스크와 이용가능한 경로의 개념을 예시한 선도.
제8도는 본 발명에 따른, 에러교정을 갖지않은 데이타 파일의 논리적 조직화를 보인 도면.
제9도는 제5도에 도시한 파일의 기록레벨 스트라이핑(Striping)을 실시하는 IDAW 리스트를 보인 도면.
제10도는 본 발명에 따른, 단일 에러교정을 갖는 데이타 파일의 논리적 조직화를 보인 도면.
제11도는 제7도에 도시한 파일의 기록레벨 스트라이핑을 실시하는 IDAW 리스트를 보인 도면.
제12도는 에러교정 블록이 저장되는 경로가 회전하는, 단일 에러교정을 갖는 데이타 파일의 논리적 조직화 선도.
제13도는 제9도에 도시한 파일의 기록레벨 스트라이핑을 실시하는 IDAW 리스트를 보인 도면.
제14도는 본 발명에 따라 이중 에러교정을 갖는 데이타 파일의 논리적 조직화 선도.
제15도는 제11도에 도시한 파일의 기록레벨 스트라이핑을 실시하는 IDAW 리스트를 보인 도면.
제16도는 본 발명에 따른 스트라이핑 드라이버용 전략 루틴의 플로우챠트.
제17도는 입력/출력 동작을 완료하기 위해 스트라이핑 드라이버내에서 호출되는 루틴을 보인 도면.
제18도는 입력/출력 처리에 의해 보고되는 손실데이타를 회복하기 위해 동작하는 회복루틴의 선도.
제19도는 본 발명의 이중 ECC 실시를 위한 에러교정 루틴을 보인 도면.
제20도는 시스템을 구성하는데 사용되는 스트라이핑 드라이버용 I/O 제어루틴을 보인 도면.
제21도는 스트라이핑된 장치에 사용되는 원입력/출력 조정루틴을 보인 도면.
제22도는 원하는 에러교정 레벨의 사용자 정의 매개변수에 따라 에러교정 블록을 발생시키는 루틴을 나타낸 도면.
제23도는 단일에러교 교정용 패리티 데이타를 발생시키는 루틴을 보인 도면.
제24도는 하나의 데이타 영역에서 다른 영역까지 전용 OR을 수행하는 루틴을 보인 도면.
제25도는 본 발명에 따라 이중에러 교정블록을 발생시키는 루틴을 보인 도면.
제26도는 본 발명에 따라 스트라이핑된 입력/출력용 IDAW 리스트를 발생시키는 루틴을 나타낸 도면.
*도면의 주요부분에 대한 부호의 설명
A : 응용프로그램 I :사용자 인터페이스
10 : 중앙처리장치 11 : 채널 인터페이스
12 : 채널 30 : 파일서버
31 : 논리적 기억장치체계 32 : 물리적 기억장치체계 서버
33 : 장치 작동기 39 : 파일서버 데몬
35 : 논리적 기억장치체계 데몬 36 : 물리적 기억장치체계 데몬
37 : 장치작동기 데몬 40 : 버퍼 풀 매니저
41 : 버퍼공간 42 : 시스템제어 프로그램
43 : 장치작동기 44 : 비휘발성 기억장치
본 특허서류에 개시된 내용중 일부는 저작권 보호의 청구가 행해진 상태이며, 저작권자는 특허서류 또는 특허 명세서에 관한 제3자의 복사재생에 대해서, 그것이 미합중국 특허 및 상표청의 파일 및 문서에 나타나 있기 때문에, 어떤 이의도 제기하지 않지만 기타의 다른 모든 권리는 소유함을 밝혀둔다.
본 발명은 인터페이스를 제공하고 데이타 프로세싱 시스템 내의 데이타 사용자들 간의 엑세스 경로를 확립하는 시스템과 그러한 데이타를 기억하는 기기에 관한 것이다. 더욱 특정하게는, 본 발명은 다수의 액세스 경로와 시스템의 동작조건에 적합한 기억장치를 최대한 활용할 수 있게하는 파일 시스템에 관한 것이다.
시스템에 의해 처리되어지는 데이타의 양이 방대한 컴퓨터 시스템이 개발중이다. 예를들어, 데이타의 양을 엑사바이트 정도로 처리할수 있고 수백개의 직접 액세스 기억장치(DASDs)를 지나 전개되는 데이타 기억 시스템이 제안되어왔다. 그러한 시스템에 쓰이는 개개의 파일들은 1백억 바이트(1010 바이트) 만큼 높도록 기도되어왔다. 그러한 대량기억 시스템은, 충돌 후에 완전한 기억시스템을 재저장하기 위해 많은 시간 또는 시일이 요구되기 때문에, 신뢰성이 뛰어나야한다. 또한, 이들 기억시스템은 데이타의 효율적인 사용을 허용하는 매우 높은 데이타 전송율을 유지해야만 한다. 그리고 그러한 대량 데이타 시스템의 동작이 멈출수도 있는 단 하나의 고장요소도 없어야만 한다. 그러한 데이타 시스템의 크기, 속도 및 신뢰성의 요구조건은 최후에는 슈퍼컴퓨터의 용량증가와 상대적으로 느린 컴퓨터에 의해 사용되는 대량 데이타 기억시스템의 증가 숫자와 계속적으로 보조를 맞출 것이다.
데이타를 사용하는 사용자간의 인터페이스, 컴퓨터시스템내의 버퍼 및 컴퓨터 시스템에 연결되는 외부 기억장치를 제공하는 종래의 화일시스템은 사용자에 의해 개별적으로 요구되는 단일 액세스 경로를 파일에 설정함으로써 작동되었다. 이것은 데이타를 기억하는 장치가 그다지 많지 않는 한 절대적으로 적절하다. 그러나, 많은 기억장치와 데이타가 각각의 개별요구에 응답하여 병렬로 전송되게 되는 수많은 독립된 액세스 경로들로 구성함에 있어서는, 시스템 제어프로그램의 요구제한에 대한 하나의 액세스 경로가 내부기억장치에 연결되는 외부기억장치간의 데이타 전송을 요구하는 주어진 과제에 대한 응답시간을 크게 제한한다.
종래의 파일 시스템을 제1도에 도시한 선도를 참조하여 설명한다. 종래의 파일시스템이 실행되는 컴퓨터 시스템은 데이타 사용자에 응답하는 다수의 응용 프로그램(A)을 포함한다. 몇몇 응용프로그램은 데이타베이스 드라이버 등과같은 프로세싱 서브시스템(SS)의 부분이다. 이들 응용프로그램(A) 또는 서브시스템은 사용자 인터페이스(I)를 통해 컴퓨터의 버퍼공간에 액세스 요구를 생성한다. 만일 주어진 트랜잭션에 의해 요구되는 데이타가 버퍼공간내에 위치하지 않으면, 시스템제어 프로그램(SCP)이 요구되는 데이타를 비휘발성 기억장치로부터 검색하는 장치작동기를 통해 액세스 경로를 확립한다.
버퍼공간의 관리는 다수의 사용자와 다수의 데이타 파일을 갖는 데이타 프로세싱 시스템에 대한 동작상의 주요 장애요인이다. UNIX에서는, 버퍼공간이 적어도 최근에 사용되는 방식, 즉 버퍼공간이 완전히 채워졌을때 페이지가 단순한 연산방식에 따라 버퍼로 부터 해제되어 현 트랜잭션용의 공간이 만들어지게 되는 방식으로 관리된다. 그러나 사용자 전부가 동일한 버퍼 풀(pool)을 공유하기 때문에, 해제된 공간이 시스템 내에서 실행되는 또다른 프로그램을 위한 임계 데이타가 아니라는 보장이 없다. 또한 데이타의 대량 이주가 발생할때 버퍼 풀은 이주 트랜잭션에 의한 사용을 위해 신속하게 소멸됨으로써 이주하는 동안에 시스템의 다른 사용자를 효과적으로 폐쇄시킬 수 있다.
MVS와 같은 다른 오퍼레이팅 시스템에 있어서는, 버퍼공간이 일군의 버퍼 풀에 할당된다. 각각의 버퍼 풀은 사용자 또는 버퍼공간을 액세스하는 서브시스템에 의해 필수적으로 독립하여 관리된다. 사용자간에 버퍼공간을 분할함으로써 각 트랜잭션용의 저널 기능을 수행하는 트랜잭션 제어시스템에서 요구되는 바와 같은, 데이타의 페이지의 이용에 대한 더 좋은 제어가 실행될 수 있다. 그러나 다수의 사용자들간에 버퍼공간을 정적으로 할당함으로써, 데이타 프로세싱 시스템의 전반적인 성능에 영향을 미치는 비유효성이 나타난다. 예를들어, 주어진 서브시스템은 특정한 시간동안에 작용할 수 있고 다른 시간동안에는 작용하지 않을 수도 있다. 그러나, 서브시스템의 부분상의 작용이 없으면, 그 버퍼공간은 하루종일 할당된 상태로 남아있어서 사용에 적절치 않은 대량의 버퍼공간이 그대로 방치된다.
MVS를 기본으로하는 시스템에 있어서 사용자간에 버퍼공간을 효율적으로 할당하는 문제는 많은 자원을 소모하고 사용자에게 극히 복잡한 데이타 프로세싱 시스템의 동작을 일으키게하는 동작상의 주요문제이다.
따라서, 수많은 액세스 경로를 이용하고 크기가 몇 바이트에서 수조 바이트 이상까지인 파일에 효율적인 액세스를 제공하는 파일 시스템이 필요하게 된다. 파일 시스템은 트랜잭션의 효율적인 저널링과 데이타베이스 프로세싱을 허용할 수 있도록 확장될 수 있어야만 한다. 또한, 파일 시스템의 동작은 간편하고 자동화되어야 하며 새로운 기억장치 기술에 적응되어야 한다. 그밖에, 사용되어지는 파일에 관한 유지, 이주 및 에러교정과 함께 데이타에 지속적인 액세스를 허용하는 파일 시스템이 제공되어져야만 한다.
본 발명은 버퍼링용 내부 기억장치, 외부 기억장치 및 다수의 사용자가 데이타 파일에 액세스를 요구할 수 있게 해주는 파일 사용자 인터페이스를 포함하는 데이타 프로세싱 시스템의 다수의 사용자에 의한 액세스용 데이타 파일을 관리하는 장치를 제공한다. 상기 장치는 파일사용자 인터페이스에 커플링되고 다수의 사용자에 의해 액세스되는 데이타의 일시 기억을 위한 내부 기억장치를 할당하고 그러한 할당의 원조로 외부 기억장치와의 트랜잭션의 요구를 발생시키는 내부 기억장치에 커플링되는 제1 레벨을 구성한다. 제2 레벨은 제1 레벨과 외부 기억장치에 커플링되며 외부 기억장치로부터 데이타를 검색하거나 외부 기억장치에 데이타를 기억시키기 위한 트랜잭션을 관리하기 위해 외부기억 장치와의 트랜잭션 요구에 응답한다.
그 시스템은 수많은 기억장치와 내부 기억장치와 외부 기억장치간에 데이타를 전송할 수 있게하는 수많은 액세스 경로를 포함할 수도 있다. 그러한 시스템에서는, 제2 레벨이 외부 기억장치내의 기억장소에 트랜잭션의 데이타 파일 서브젝트를 할당하는 사전 지정된 매개 변수에 의해 특징지워지는 다수의 물리적 기억장치 체계를 한정한다. 트랜잭션 요구에 응답하여, 제2 레벨은 트랜잭션의 데이타 파일 서브젝트에 할당되는 다수의 기억장치 체계중 하나를 판정하고 외부 기억장치의 적절한 기억장소와의 트랜잭션을 수행한다.
다수의 기억장치 체계중 적어도 하나는 그러한 기억장치 체계에 할당된 데이타 파일을 포함하는 트랜잭션용의 다수의 병렬 액세스 경로의 활용에 충당된다. 또한, 적어도 하나의 기억장치 체계용의 사전지정된 매개변수가 주요 데이타 파일에 요구되는 신뢰성의 레벨을 판정한다. 그 매개변수에 응답하여, 제2 레벨은 에러교정 코드를 발생시키거나 미러링(mirroring)형 신뢰성 자치용 복제를 수행하고, 반사된 데이타 또는 발생된 에러교정 코드를 외부 기억장치의 기억장소에 할당한다. 할당된 데이타 파일로부터 데이타를 검색하는 트랜잭션에 쓰이도록, 제2 레벨은 에러를 검사하고 교정하는 수단을 포함한다.
제1 레벨은 다수의 사용자 간에 할당된 내부 기억장치의 기억장소 용의 종속성을 나열하기 위해 종속성 그래프와 같은 수단은 포함한다. 그 종속성에 응답하여 제1 레벨은 다수의 사용자에 명료한 방식으로 기억장소를 위치시키고 저널링하고 해제하는 것에 충당된다. 적절한 방식으로 종속성을 나열함으로써 내부 기억장치의 전체적인 균형이 성취될 수 있다.
사용자에게 명백한 에러교정과 함께 기억장치 체계의 동적인 할당에 충당됨으로써, 파일 시스템은 고정도의 고장 허용한계를 나타내는 한편, 에러교정 트랜잭션 또는 하나의 기억장치에서 다른 기억장치로 데이타의 재할당을 요구하는 트랜잭션이 진행되는 동안에 계속적인 동작이 보증된다.
바람직한 시스템에서, 기억장치 체계중의 하나는 기록레벨 스트라이핑 용으로 충당된다. 따라서, 또다른 양상에 따라, 본 발명은 높은 데이타 전송율을 얻기 위해 변수 기록-레벨 스트라이핑으로 구성되고 에러교정 코드와 회복방법과 협력하여 대용량 파일 시스템에 요구되는 개선된 데이타 활용성과 신뢰성을 또한 성취하는 컴퓨터시스템내의 데이타 입력-출력을 수행하는 효과적인 방법을 제공한다. 이러한 양상에 따라, 본 발명은 X를 통과하는 것과 동일한 i용로컬 셀(LCi)의 배열을 포함하는 데이타 파일을 기억하는 장치로서 특징지워진다. 파일내의 각 로컬 셀은 데이타 파일 사용자에 의한 적어도 하나의 기본 전송단위를 포함한다. 장치는 자기 테이프, 자기 디스크 또는 기타의 비휘발성 기억장치 등과같은 다수의 데이타 기억장치를 구성한다. n 이 1 부터 N까지인 다수의 입력-출력(I/O)경로(Pn)가 포함된다. 데이타의 블록이 다수의 경로를 통해 다수의 기억장치로 그리고 기억장치로부터 병렬로 전송될 수 있도록 각각의 경로는 다수의 기억장치의 서브세트와 커플링된다. 제어유니트는 로컬 셀(LCi)의 배열을 적어도 다수의 기억장치의 서브세트에 할당하기 위해 다수의 경로에 커플링 됨으로써 로컬 셀(LCi)은 경로(Pn)에 커플링되는 기억장치내에 기억되고 로컬 셀(LCi+1)은 경로(Pk) (여기서 k는 n과 다름)에 커플링되는 기억장치내에 기억된다.
본 발명의 일실시예에 따라, 로컬 셀(LCi)이 기억되는 경로는 ((j-1)modN)+1과 같으며, N로컬 셀은 병렬로 N 액세스 경로를 지나 액세스될 수 있는 셀을 뜻한다. 다른 한편으로, 경로를 지나는 로컬 셀을 할당하는 다른 방법의 매개 변수적 선택은 기억장치의 동일한 세트상에서 행해질 수 있기 때문에, 개개의 장치의 속도와 셀 및 주어진 파일용의 로컬 셀의 크기 및 파일을 사용하는 프로그램에 의한 데이타 조작의 양이 조화될 수 있다.
본 발명의 또다른 양상에 따라, 파일내의 모든 N-1 로컬 셀에 있어서, N-1 로컬 셀용 교정코드로 이루어지는 교정블록이 발생된다. 교정블록이 데이타 파일내에 할당될 수 있는 경로를 추가로 제공함으로써 주어진 경로를 통해 액세스되는 동안 검사되는 사전 교정될 수 없는 에러의 교정이 행해질 수 있다. 몇몇 파일 시스템의 성능을 향상시키기 위해, 에러교정 블록의 할당은 교정블록에 다수의 액세스를 요구하는 파일 시스템용 N경로를 지나 회전될 수 있다. 또한, 고정블록용의 또다른 경로를 사용함으로써, 에러교정 계획이 다수의 에러교정을 위해 충당될 수 있도록 확장될 수 있다.
본 발명에 따른 파일 시스템은 광범위한 동작조건에 적응 가능하다. 예를들어, 표준 UNIX 파일 시스템 구조를 반영하는 하나의 기억장치 체계를 한정할 수 있다. 물론, 존재하는 다른 파일 시스템 구조에도 적합하도록 기억장치 체계가 한정될 수 있다.
많은 응용이 고속의 순차처리를 요구한다. 개개의 장치의 고속전송율의 장점을 갖기 위해, 트랙과 실린더와 같은 장치 기하학을 반영하는 기억장치 체계가 본 발명에 따라 한정될 수 있다. 또한, 수많은 액세스 경로를 병렬로 제공함으로써, 경로가 부착되는 장치의 최대 전송속도, 초고속의 순차처리 속도를 제공하는 각각의 경로가 성취될 수 있다.
한편, 운영 데이타 베이스는 블록내에 포함되는 소형목적에 효과적인 랜덤 액세스를 전형적으로 요구하며 그 밖에도 일괄처리, 복사이미지 및 데이타베이스 회복에 필요한 고속의 순차액세스 속도를 요구한다. 적절한 기억장치 체계 정의를 사용함으로써 순차 액세스가 요구되는 만큼 빠르게 실행될 수 있다. 신뢰성 조건은 적절한 신뢰성 매개변수를 통해 충족될 수 있다. 마지막으로, 높은 랜덤 갱신율은 미러링과 같은 신뢰성 특징을 가장 잘 사용할 수도 있는 반면, 낮은 랜덤 갱신은 패리티를 기본으로하는 신뢰성 시스템을 가장 잘 이용할 수도 있다.
CAD/CAM 데이타베이스 같은 비운영 데이타베이스는 수백만 바이트의 데이타를 구성하는 대형오브젝트에 의해 종종 특징지워진다. 몇개의 셀내에 평균 오브젝트를 갖는 기억장치 체계를 사용하는 것은 그러한 시스템의 성능에 매우 유리하다.
이하 첨부도면에 의거 본 발명이 상세히 설명된다. 파일 시스템의 조직화에 대해서는 제2도 및 제 4도를 참조하여 서술하기로 한다. 제5도에 의하여 하드웨어 시스템이 개략적으로 설명된다. 제6도 내지 제15도에 따라, 본 발명에 따른 매개변수적 기록 스트라이핑의 실시예가 설명된다. 제16도 내지 제26도로부터 매개변수적 스트라이핑의 소프트웨어적인 일실시예가 서술되어진다. 부록은 37 CFR 1.96(a)(ii) 하에서 제16도 내지 제26도는 참조로 설명되는 실시예의 키부분의 소오스 코드예를 제공하는 명세서를 수반한다.
제2도는 본 발명에 따른 파일 시스템의 블록선도이다. 제2도에 도시한 파일시스템은 컴퓨터 시스템의 내부기억장치(41)를 구성하는 버퍼공간과 사용자 인터페이스(I) 사이에 버퍼 풀 매니저(40)를 제공한다. 버퍼 풀 매니저(40)는 데이타를 일시적으로 기억하는 내부기억장치(41)를 시스템의 다수의 사용자에 의해 액세스될 수 있도록 할당하고 트랜잭션의 요구를 버퍼 풀의 할당의 원조로 외부기억장치(44)에 발생시킨다. 장치작동기와 연합하는 기억장치 제어 프로그램(42)는 버퍼 풀 매니저(40)에 의해 발생하는 트랜잭션의 요구에 응답하여 외부기억장치에 데이타를 기억시키고 외부 기억장치로부터 데이타를 탐색하기 위해 외부기억장치와의 트랜잭션을 관리한다. 특정 파일 매개변수에 대응하는 버퍼공간(40)의 관리는 프로그램 사용자에게서 덜어지고 파일사용자 인터페이스(I) 아래에 놓여졌다. 또한, 외부기억장치와의 트랜잭션의 요구 발생은 버퍼 풀 매니저(40) 이하에 놓여졌고 또한 사용자로부터 그 동작을 차단시킨다.
제3도는 본 발명에 따른 파일시스템의 바람직한 실시예의 더욱 상세한 블록선도이다. 도면을 단순화하기 위해 제3도에는 버퍼공간을 도시하지 않았다.
제3도는 도시한 파일시스템은 파일 사용자 인터페이스(I)에 커플링되는 파일서버(30)를 포함한다. 바람직한 실시예의 파일 사용자 인터페이스(I)는 암달 UTS 오퍼레이팅 시스템에 의해 실행되는 UNIX V R3 인터페이스이지만, 사용자에 의해 정의되는 다른 인터페이스일 수도 있다. 따라서, 바람직한 실시예에서 파일 사용자 인터페이스(I)에 대해 쓰여진 어떠한 프로그램도 버퍼공간의 할당과 외부기억 장치와의 트랜잭션의 제어가 사용자에게, 명백한 한 파일 시스템과 함께 작용할 것이다.
파일 사용자 인터페이스(I) 아래에서, 파일시스템은 버퍼관리를 제공하는 파일서버(30)를 포함한다. 방대한 선형 어드레스 공간을 파일서버(30)에 제공하는 논리적 기억장치체계(31)가 파일서버(30) 아래에 위치한다. 논리적 기억장치체계 서버(35)는 논리적 기억장치체계(31)의 할당을 제어한다. 외부기억 장치와의 트랜잭션의 실제적 관리를 수행하는 물리적 기억장치체계 서버(32)가 논리적 기억장치체계(31) 아래 위치한다. 채널 프로그램을 생성하는 다수의 장치작동기(33)가 물리적 기억장치체계서버(32)에 커플링되고 에러회복 연산을 수행하며 필터링과 같은 다른 기능도 제공한다.
각각의 서버의 기능을 제어하는 사용자 인터페이스를 제공하는 데몬(demon) 프로그램이 파일시스템내의 각각의 서버(30, 35, 32, 33)와 연합한다. 따라서, 파일서버 데몬(34), 논리적 기억장치체계 데몬(35), 물리적 기억장치체계 데몬(36), 및 장치작동기 데몬(37)등이 있다. 데몬(34,35,36,37)은 파일사용자 인터페이스(I)를 통해 일실시예에서의 파일시스템과 소통한다. 다른 한편으로, 그것들은, 필요하다면, 특수한 시스템의 필요에 맞도록 적응될 수 있다.
제4도에 절연과 적층을 갖는 바람직한 시스템의 구조가 도시되어 있다. 제4도는 독립한 다중 파일서버(FS1,FS2,FS3,FS4,FS5)를 갖는 파일시스템의 개략선도이다. 각각의 파일서버는 다수의 사용자에게 커플링된다. 사용자로부터의 다중 경로를 데이타 프로세싱 시스템의 지속적인 운영의 원조로 파일시스템에 제공하기 위해, 그것들중 다수가 사실상 병행되는 사용자의 풀 또는 동일한 사용자의 풀을 원조한다. 용장도 논리적 기억장치체계(LSC1, LSC2)가 제4도에 또한 도시되어 있다. LSC1이 파일서버(FS1-FS4)에 커플링되는 반면 LSC2는 파일서버(FS2-FS55)에 커플링된다. 이것은 지속적인 운영에 필요한 파일시스템을 통해 여러경로를 제공한다.
또한, 다수의 물리적 기억장치체계 서버(PSC1-PSC3)와, 물리적 기억장치체계 드라이버간에 교차 커플링되는 다수의 장치작동기(D1-D5)가 있다. 도시한 바와 같이, 파일서버(3,4)에 커플링된 사용자는 어떠한 단일 고장요소가 주어진 파일시스템의 지속적인 운영을 보장받는다. 일 레벨에 있어서의 각각의 서버는 다음의 상위 레벨의 다중 서버에 의해 사용될 수 있다. 추가로, 각각의 서버는 다음의 하위레벨의 다중서버의 작동을 포함할 수 있다. 이것은 각 레벨에서의 기능모사를 허용한다.
각 레벨에서의 서버는 레벨용 정상 동작의 실행과 발생하는 예외의 인지에 책임을 진다. 어떠한 예외도 연합된 데몬에 의해 조정된다. 이 데몬은 예외가 있을때 마다 발생되는 트랜잭션 처리로서 실행한다. 고장 허용한계와 지속적인 운영은 서버에 관련된 영구데이타의 존재를 요구한다. 이들 데이타는 연합된 데몬에 의해 유지될 수 있고, 사용되는 서버에 의해 액세스될 수 있다. 바림직한 시스템이 4개의 레벨로 이루어진다 하더라도 더욱 복잡한 구조가 또한 가능하다.
파일서버 레벨에서, 시스템 사용자에 의해 사용되는 바와 같은 다른 파일구조용 지원이 제공된다. 오직 UNIX V R3 파일 인터페이스를 갖는 시스템에서, 파일은 사용자에 의해 보여지는 정도의 선형 바이트 중심 어드레스 공간으로서 취급된다. 인덱스 구조와 같은 기타의 알려진 구조들이 지원될 수 있다.
논리적 기억장치체계 레벨에서, 선형 어드레스 공간이 파일서버에 제공된다. 파일서버는 선형 어드레스 공간을 획득하고 변경하고 해제한다. 선형 어드레스를 위해 공간은 액세바이트 정도로 미리 보여질 수 있다.
물리적 기억장치체계 레벨에서, 논리적 장치가 논리적 기억장체계에 제공된다. 논리적 장치는 논리적 기억장치 체계를 물리적 기억장치 체계에 매개변수적인 맵핑(mapping)을 행하는 것을 기본으로하는 실제장치로부터 생성된다. 물리적 기억장치 체계의 특성은 이하 더욱 상세히 설명된다.
장치작동기 레벨에서, 기억장치가 물리적 기억장치 체계에 제공된다. 이들 장치는 물리적 장치와 밀접하게 어울린다. 그러나, 그들은 선형어드레스 공간을 제공하고 병행하는 여러요구를 혀용하며 데이타 필터와 같은 향상된 기능을 제어하는데 적응될 수 있다.
개개의 레벨의 기능과 그 관계가 아래에 설명되어진다. 각각의 서버와 그와 연합되는 데몬이 커플링된다. 서버는 정상동작을 실행하고 파일 시스템에서의 영구적인 처리로서 실행된다. 영구적인 처리는 데몬에 의해 유지되는 영구적인 데이타로부터 파생되는 일시적인 데이타를 사용한다. 데몬은 그와 연합된 서버에 의해 보고되는 예외를 처리한다. 데몬은, 일시적인 처리로서 실행되는 동안, 처리구조를 사용자 및 시스템 응용과 트랜잭션에 연합할 수 있다.
파일서버의 기능은 아래의 사항을 포함한다:
1) 파일내의 데이타의 기억장소를 결정한다.
2) 종속성 그래프를 사용하여 연합하는 저널링을 갖는 영구 기억장치에 갱신을 동기화한다.
3) 병행하는 여러요구를 허용한다.
파일서버 데몬 기능은 아래사항을 포함한다 :
1) 프로그램 상태에 관한 영구적인 정보와 파일에 대한 정보를 유지하고 갱신한다.
2) 논리적 기억장치체계 데몬과 소통한다.
논리적 기억장치체계 서버의 기능은 다음과 같다.
1) 다중 파일용 공간을 할당한다.
2) 예외에 대하여 데몬에 통보한다.
3) 데몬의 명령에 따라 유틸리티 기능을 수행한다.
4) 병행하는 여러요구를 허용한다.
논리적 기억장치체계 서버 데몬은 다음의 기능을 제공한다. :
1) 파일의 맵핑에 관한 정보를 논리적 기억장치체계의 선형 기억 공간에 유지시킨다.
2) 파일서버와 물리적 기억장치체계 데몬과 소통한다.
3) 데이타의 복사 및 기억장소 재지정을 감독한다.
물리적 기억장치체계 서버는 다음의 기능을 수행한다 :
1) 기억장치체계를 파일에 양도한다.
2) 다중 경로를 생성하고 파일의 에러교정을 추가하며 파일을 회전시키는 것을 포함하여, 아래에 논의되는 바와 같은 스트라이핑을 성취한다.
3) 장치 복사기능을 수행한다.
4) 데이타 판독용 최적장치를 선택한다.
5) 파일 갱신용 전략을 선택한다.
6) 외부 기억장치와의 트랜잭션을 위한 장치 서버에 요구를 생성한다.
7) 예외에 대해 연합된 데몬에 알린다.
8) 병렬의 여러요구를 허용한다.
9) 에러교정 정보로부터 데이타를 재건한다.
물리적 기억장치체계 데몬은 다음의 기능을 수행한다.
1) 맵핑전략, 에러조건 및 처리상의 수리에 관한 정보를 데이타파일에 유지시킨다.
2) 논리적 기억장치체계와 장치작동기 데몬과 소통한다.
3) 데이타를 복사하고 기억장소를 재지정한다.
장치서버의 기능은 다음과 같다:
1) 채널 프로그램을 구성한다.
2) 장치 인터럽트를 감독한다.
3) 예외를 데몬에 보고한다.
4) 병렬의 여러요구를 허용한다.
5) 우선순위선정 요구를 허용한다.
6) 요구가 중단되는 것을 허용한다.
7) 필터와 같은 확장된 기능을 허용한다.
장치서버 데몬은 다음의 정보를 제공한다.
1) 장치기하학, 장치연결 또는 위상, 장치 및 연결속도, 장치 및 연결사용, 에러 히스토리, 풀내의 장치의 조직화에 대한 정보를 유지한다.
2) 물리적 기억장치체계 데몬과 소통한다.
3) 장치복사를 수행한다.
본 발명에 따른 파일구조는 다섯층에 관한 것일수 있다. :
사용자 - 이것은 응용프로그램 파일 사양이다.
파일 - 이것은 사용자에 의해 보여지는 바와같은 선형 어드레스 공간이다.
논리적 기억장치체계 - 이것은 파일이 파일서버에 의해 맵핑되는 지정된 선형 어드레스 공간이다. 이 레벨에서 파일서버에 의해 할당되는 공간의 크기만이 파일구조에서의 관심대상이다.
물리적 기억장치체계 - 이것은 한 세트의 물리적 장치내로의 논리적 기억장치체계의 성능과 신뢰성을 위한 맵핑이다. 이것은 아래에 설명된 바와같은 기억장치체계 매개변수에 의해 한정되는 특성을 보여주는 물리적 매체로부터 구성되는 논리적 기억장치 매체로서 고려될 수 있다.
물리적 기억장치 : 이것은 장치작동기를 통한 선형 어드레스 공간으로서의 물리적 매체를 나타낸다. 물리적 매체는 컴퓨터 시스템의 외부에 있는 것으로 고려되는 어떠한 기억장치일 수도 있으며 전형적으로 비 휘발성이다. 이러한 사양으로 인해, 파일구조의 리스트상에 가장 먼저 등록된 층은 고 레벨층이다.
이 파일 시스템에 따라, 아래의 조건들은 참이다 :
1) 각각의 층은 다른층과 논리적으로 독립되어 있다.
2) 층의 내부구조는 서로 독립적이다.
3) 층들은 메세지 프로토콜이나 공유된 기억장치를 지나 서로 소통한다. 여러다른 층들은 여러다른 소 통방식에 적응될 수 있다.
4) 데이타의 이동이나 기억장소 재지정을 다루는 유틸리티는 사용자 모드에서 실행되지 않지만 파일구조의 층내에 집적된다.
5) 파일구조의 개개의 층에 대한 구조덕 데이타베이스 내에 유지되고 파일구조의 내부에 형성된 트랜잭션에 의해 변형될 수 있다.
6) 사용자는 한꺼번에 트랜잭션의 여러요구를 발행할 수 있다.
7) 요구를 처리하기 위해 다중처리가 사용될 수 있다.
파일시스템은 현 사용자 인터페이스와 함께 작용하고 관찰된 액세스 특성에 따라 또는 연합된 데몬 또는 기타의 것을 통해 제공되는 운영상의 암시를 통해 액세스 전략을 최대한 활용한다. 또한, 파일시스템은, 응용으로 하여금 현재의 또는 계획된 액세스 패턴에 대한 정보를 파일시스템에 줄 수 있도록 하는 발전된 인터페이스를 제공할 수 있다.
데이타의 액세스는 파일서버 레벨에서 내부버퍼 공간의 사용을 위한, LOCATE, RELEASE 및 JOURNAlL요구에 의해 제어된다. LOCATE 기능은 판독, 갱신, 기록형태의 요구이다. 판독요구는, 다른 요구자로부터의 데이타의 변경으로인해 외부기억장치에 데이타 영역의 병행 버퍼기록을 허용하는 동안, 존재하는 데이타 영역의 위치를 찾는다. 갱신요구는, 병행버퍼 기록이 외부기억장치에 행해지지 않도록 하는 동안 존재하는 데이타 영역의 위치를 찾는다. 기록기능은 앞서의 액세스 없이도 데이타를 실제로 존재하는 데이타에 기록하며 병행버퍼기록이 외부기억 장치에 행해지지 않게한다. 아래의 매개변수들이 LOCATE 기능에 유효하게 사용된다 :
1) SEQ - 현재의 액세스는 순차적이다. 데이타는 요구에 앞서 검색되어야 하며 사용되어진 데이타는 폐기해야 한다.
2) RAND - 현재의 액세스는 랜덤하다. 오직 요구되는 데이타만이 검색되어야 한다.
3) STRx - 한번의 액세스로 검색되어야하는 데이타의 평균크기 x는 바이트의 수이고 STR은 스트링의 약어이다. 주목할 사항으로 이것은 바람직한 버퍼크기를 나타내기 때문에 파일이 개방되어 있을 때 이 매개변수가 사용되어져야 한다.
4) TOKEN - 이것은 LOCATE 요구에 의해 복귀되며, 데이타영역 또는 활용될 버퍼를 식별한다. 이 매개변수는, 처리식별이 항상 암시 TOKEN으로서 할당되어질 수 있기 때문에 선택적이다.
특별 버퍼링용 응용요구는 스트링이 스트라이핑 드라이버에 의해 한정되는 셀보다는 작아야 한다는 제한에 따르며, 어떠한 쌍이든 다중 스트링 길이가 한정되면 하나의 스트링은 다른 스트링의 배수가 되어야 하고, 단일 요구는 SEQ 및 RAND 매개변수를 둘다 포함할 수는 없다.
여러 다른 버퍼 풀내의 데이타간의 보전성은 파일시스템에 의해 유지되며, 스트링 크기간의 콘플릭트는 몇몇 사양에 우선권을 주거나 타협을 나타내는 숫자를 사용하는 시스템에 의해 해결된다. 보전성 알고리즘의 정확한 본질은 특정 응용의 필요에 맞게 산출될 수 있다.
객관화에 대하여 차단되어진 버퍼는 RELEASE요구에 의해 해제되어야 한다. RELEASE 요구는 LOCATE요구에 의해 얻어질 수 있는 TOKEN에 의해 표시된다. 이 매개변수는 데이타영역이 RELEASE요구후에 객관화에 대해 보호될 필요가 없다는 것을 한정한다.
처리가 종료되면, 그 처리와 연합된 모든 데이타 영역은 처리식별을 TOKEN으로 사용함으로써 암시적으로 해제된다.
수정은 JOURNAL 요구에 의해 보구된다. 그 처리는 아래의 변수들을 지정한다 :
1) TYPE - 이것은 JOURNAL 기록형태를 지정한다. JOURNAL의 특정형태는 특정응용에 따라 선택될 수 있다.
2) TOKEN - LOCATE 요구에 의해 얻어지는 하나 또는 다수의 TOKEN은 JOURNAL 요구에 따라 지정될 수도 있다. 이 매개변수는 현 JOURNAL 기록이 쓰여지는 동안에는 데이타 영역이 구체화될 수 없다는 것을 한정한다.
3) DATA - 이것은 JOURNAL 내에 놓여진 데이타의 위치이다.
4) RELEASE - LOCATE 요구에 의해 얻어지는 하나 또는 다수의 TOKEN이 지정될 수도 있다. 이 매개변수는 JOURNAL 이 완료된 후 데이타 영역이 구체화에 대해 보호될 필요가 없다는 것을 한정한다.
버퍼 조작은 아래의 규칙에 의해 제어된다 :
1) 버퍼요구는 갱신 또는 기록기능을 갖는 LOCATE 기능과 RELEASE 기능간에 구체화되지 않는다.
2) JOURNAL 요구가 버퍼와 관련되어지면, 버퍼는 JOURNAL 정보가 구체화될 때까지 구체화되지 않는다.
3) LOCATE, RELEASE 및 JOURNAL 기능은 파일시스템 사용자층에 또한 사용가능하다.
4) 파일시스템은 록킹 프로토콜을 통한 처리 사이에서 데이타 보전성을 유지하지 않는다. 이것은 파일시스템 외부의 처리에 의해 행해져야 한다.
파일시스템에서, 파일은 물리적 기억장치체계 서버에 의해 기억장치 체계내에 위치한다. 각각의 기억장치체계는 다음에 의해 식별된다 : NAME - UNIX 에서의 정당한 이름.
SIZE - 1 바이트와 16 EB(엑사바이트) 사이의 수, 그 숫자는 다음의 고다중 DEPTH 및 WIDTH에 둘러 싸여진다. SIZE 는 사용자 데이타를 함유하는 데이타 영역의 크기만은 결정한다. 기억장치매체에 대한 실제공간 요구는 신뢰성 요구에 기인하여 증가될 수 있다.
DEPTH - 1과 D사이의 숫자로 하나의 경로상에서 연속적으로 기억되는 바이트의 수를 나타낸다. 그러한 연속되는 기억영역은 로컬 셀로 지칭된다. D는 보통 4K인 블록으로 지칭되는 전송 기본 단위의 배수이다. 가능한 최대 D는 파일시스템의 구체화와 사용가능한 하드웨어에 의해 결정된다.
WITH : 1과 W사이의 숫자로 기억장치체계로의 병렬 액세스 경로의 숫자를 나타낸다. 가능한 최대 W는 파일시스템의 구체화와 사용가능한 하드웨어에 의해 결정된다. 각각의 액세스 경로는 동일한 수의 로컬 셀을 갖는다. 각각의 액세스 경로에서의 동일한 상대 위치내의 로컬 셀로서 나타나는 기억장치는 셀로 지칭된다.
신뢰성 - 아래의 사양이 가능하다 :
None - 매체 신뢰성이 충분하다. None은 디폴트이다.
SPAR : 단일 패리티가 사용되어야 한다.
PARx : x 패리티 경로가 추가되어야 한다. x는 1과 N 사이의 숫자이다. 가능한 최대 N은 파일시 스템의 구체화와 사용가능한 하드웨어에 의해 결정된다. PAR1은 SPAR과 동일한다.
DUAL : 각 경로의 데이타는 두개의 독립된 디스크 상에 기록된다.
REx : 데이타는 x개의 독립된 디스크상에 기록(복사)되어야 한다. x는 1과 N사이의 숫자이다. 가능 한 최대 N은 파일 시스템의 구체화와 사용가능한 하드웨어에 의해 결정된다. RE1은 DUAL과 동일 하다.
패리티에 근거한 코드가 아닌 에러교정 코드는, 코드를 발생시키기 위해 0부터 빼는 가산 논리적 기능의 사용에 의한 것과 같이 사용될 수 있으며, 에러를 검사하기 위해 다시 더하게 된다.
SIZE, DEPTH, WIDTH와 같은 매개변수들은 정확히 한번씩 지정되어야 한다. 신뢰성 매개변수는 삭제될 수도 있고, 그렇지 않으면 많아야 각 쌍의 SPAR, PARx, AND DUAL, REx 중 하나의 매개변수일 수도 있다. None과 다른 신뢰성을 가졌다고 말할 수 있다.
신뢰성 매개변수로 인해 사용자가 매체에러에 대해 요구되는 만큼의 보호를 지정할 수 있게된다. 고 장 MTBF 간의 원하는 평균시간으로 인해, 이 MTBF를 초과하는 한정이 있게 된다. 시스템은 사용자가 원하는 MTBF와 기억장치간의 적절한 균형과 액세스 단가를 선택할 수 있도록 돕는바, 이것은 액세스 패턴에 매우 의존적이며 특히 셀보다 적게 커버링되는 갱신용 판독 대 갱신 비율에 의존적이다.
단순한 패리티 정보 또는 해밍(Hamming) 코드를 사용하는 데이타 추가를 통해 증가된 신뢰성이 얻어진다. 증가된 신뢰성은 매체상에 추가적인 공간을 요구한다. 시스템은 폭을 증가시키고 패리티 정보를 보유하기 위한 로컬 셀의 필요량을 더한다. 폭의 증가는 자동적으로 이루어진다. 사용자는 추가적인 공간의 요구를 무시할 수는 있지만 작동은 그것을 인지해야만 한다.
파일은 기억장치 체계내로 맵핑된다. 두 파일은 결코 하나의 셀을 공유하지 못한다.
이용가능도는 두 주요부품, 연속적인 작동과 고장허용한계를 갖는다. 파일 시스템은 본 발명에 따른 두가지 양상을 조정할 수 있다.
A. 연속적인 작동 :
연속적인 작동은 파일과 기억장치체계, 기억장치체계 정의 및 기초가 되는 기억매체를 포함하여 요소를 변화시키는 능력이고 파일시스템의 사용이다 :
- 데이타가 현재 사용되는지의 여부에 상관없고
- 데이타 보존성의 어떠한 손실도 없으며
- 변화가 영구적이라는 보증을 갖는다.
이것은 다음에 의해 성취된다.
- 연속적인 작동을 위한 논리를 각 레벨내에 설립하고,
- 각 레벨상에 데이타 버퍼를 가지며,
- 레벨간의 제어요구의 흐름에 집착하고,
- 구조와 상태정보를 데이타베이스내에 유지하며,
- 각 레벨의 다중서버의 절연 및 독립성을 유지한다.
B. 고장허용한계 :
파일시스템은, 한정된 신뢰성의 제한내에 있는 한, 가능한 모든 매체 에러를 조정할 수 있다.
1. 소프트 에러 :
기억장치내의 소프트에러는 파일시스템에 의해 인지된다. 사용자는, 시스템을 사용하는동안, 에러를 나타내는 기억장치체계의 부분에 새로운 DASD 기억장치를 할당할 수 있다. 파일시스템은, 데이타가 사용되는 동안에도, 그 데이타의 기억장소를 재지정한다. 기억장소의 재지정은 DEPTH숫자에 상관없이 활용될 수 있다.
2. 하드 에러(트랙) :
트랙을 사용할 수 없게되고 향상된 신뢰성이 지정되었다면, 시스템은 트랙을 재할당하고 에러가 복구되자마다 데이타를 재구성한다. 이 처리는 파일시스템의 사용자와 작동에 명백하며 시스템의 어떤 주목할만한 성능저하를 초래하지 않는다.
3. 하드 에러(매체) :
DASD 장치를 사용할 수 없게되고 향상된 신뢰성이 지정되었다면, 시스템은 새로운 장치를 요구하거나 새로운 장치를 선택하고, 하나 또는 다수가 긴급보수에 사용되도록 사전 할당되었다면 데이타를 새로운 장치에 이동시킨다. 이것은 에러가 복구되자마자 이루어진다. 이 처리는 파일시스템의 사용자에게 명백하다. 작동이 개재될 수도 있다. 물리적 맵핑이 정상작동 상태에서 만큼 최적이 아니기 때문에 어떤 기억장치 영역용의 시스템의 성능저하가 나타날 수도 있다. 그러한 경우, 데이타는 고장난 장치가 수리되자마자 다시 맵핑된다. 이 처리는 자동적으로 행해지고 따라서 작동에 명백하다.
종래의 파일시스템은 요구되는 하나의 액세스 경로를 하나의 파일에 사용한다. 이것은 데이타를 기억하는 요소(DASDs)가 소수인한 절대적으로 타당하다. 그러나 많은 기억장치와 많은 독립된 액세스 경로를 갖는 시스템은 병행성의 이용이 주어진 과제에 대한 반응시간을 극적으로 향상시키고, 부산물로서 시스템의 처리량을 잠정적으로 향상시킨다.
본 발명에 따른 파일시스템 내에서 복사 명령을 사용하여 하나의 기억장치체계에서 또다른 기억장치체계로 파일을 이동시킬 수가 있다. 파일시스템은, 데이타를 액세스하는 사용자에게 실제적인 방해를 일으킴없이 이주를 실행하기 위해 장치작동기와 물리적 기억장치체계 드라이버에 커플링되는 유틸리티를 포함한다. 로컬 셀은 장치간에 전송될 수 있거나 새로운 기억장치체계로 전송될 수 있다. 시스템 제어 프로그램은 전송시, 잘 알려진 록킹 기술을 사용하여, 로컬 셀이나 셀을 고정한다. 고정된 셀이나 로컬 셀로의 액세스가 요구되면, 사용자는 전송이 완료될 때까지 약간의 지연만을 느끼게된다. 복사 명령은 기억장치체계에 또한 적용될 수 있다. 파일을 파일시스템에 전송하기 위해, 파일은 폐쇄되어야하고 기억장치체계에 복사되어야한다. 그 점으로부터, 파일은 서술된 파일시스템에 의해 제공되는 모든 기능과 함께 사용될 수 있다.
제5도는 본 발명에 따라 구체화되는 다수의 데이타 기억장치체계를 갖는 컴퓨터 시스템의 개략 블록선도이다. 컴퓨터 시스템은 하나 또는 다수의 중앙처리장치(10)를 갖는 기본 컴퓨터를 포함한다. 중앙처리장치(10)는 채널 인터페이스(11)를 통해 다수의 채널(12)과 소통한다. 채널은 CPU(10)로부터 데이타 기억장치(D11-Dnm)로의 입력/출력 경로를 한정하는 제어장치(P1-Pn)에 커플링된다. 데이타 기억장치(D11, D12 ... D1a) (a는 정수이다)의 스트링은 경로(P1)에 커플링된다. 데이타는 라인(1)에 걸쳐 경로(P1)에 커플링되는 어떠한 장치로 부터도 판독되거나 기록될 수 있다. 라인(1)은 이 기술분야에서 알려진 바와같은 장치(D11-D1a)내에 기억된 데이타를 액세스하기 위한 다수의 실제경로를 포함할 수도 있다. 또한, 다수의 장치(D21-D2b)는 라인(2)에 걸쳐 경로(P2)에 커플링될 수 있고, 다수의 장치(D31-D3c)는 라인(3)에 걸쳐 경로(P3)에 커플링되고, 다수의 장치(D41-D4d)는 라인(4)에 걸쳐 경로(P4)에 커플링되며, 다수의 장치(Dn1-Dnm)는 라인(n)에 걸쳐 경로(Pn)에 커플링됨으로써 CPU(10)의 제어하에서 입력-출력을 지원하게된다.
제5도에 예시한 데이타 기억장치(D11-Dnm)는 테이프 드라이브와 같은 형태의 물리적 장치, IBM 3380급의 디스크 드라이브, 소형디스크 드라이브, 광학매체 또는 기타의 기억장치를 포함할 수도 있다. 주어진 경로에 단하나의 장치가 있을 수도 있고, 다른 여러 경로상에는 다양한 수의 장치가 있을수도 있으며, 주어진 경로들 상에 수많은 장치가 있을 수도 있다. 본 발명에 따른 파일 기억장치 시스템은 아래에서 더욱 심도있게 다루어질 여러가지 다양한 특성을 갖는 많은 경로에 걸쳐 기억장치를 논리적으로 할당할 수 있다.
제5도에는 예시되지 않았지만, 바람직한 데이타 프로세싱 시스템은 물리적 매체내의 주어진 위치로 향하는 수많은 용장경로를 포함한다. 따라서, 제어장치(P1)는 경로(2)에 커플링된 장치의 스트링으로 향하는 경로를 또한 제공하고 제어장치(P2)는 경로(1)에 커플링된 장치의 스트링용 액세스 경로를 제공한다. 또한, 각 제어장치는 그것이 커플링된 각 장치로 향하는 둘 또는 그 이상의 경로를 제공할 수도 있다. 이러한 방식으로, 하드웨어내의 고장이 교번기능 경로를 통해 복귀될 수 있고, 시스템은 고장에 응답하여 액세스 경로를 동적으로 재구성 함으로써 지속적인 작동을 하게된다. 외부기억장치 시스템 내에서 발생하는 고장은 에러복구 기능을 수행하고 영향이 미치는 데이타의 로컬 셀로 향하는 액세스 경로를 재계산하는 장치작동기에 보고 된다. 액세스 경로 내에서의 여유도의 레벨은 데이타프로세싱 시스템이나 외부기억장치 시스템내에 기억된 개개의 파일에 관한 고정요구에 주어진 평균시간이 적용되도록 적응될 수 있다.
제6도 내지 제11도는 본 발명에 따라 스트라이핑된 데이타 파일의 논리적인 조직화를 예시한 도면이다. 제6도에서 데이타 파일은 로컬 셀(LC1-LC20)의 배열로서 개략적으로 도시되어있다. 배열은 제6도의 논리적 경로(P1-P5)에 대응하는 종렬과 셀에 대응하는 횡렬로 구성된다. 도시한 바와같이, 순차적 로컬 셀은 시스템내의 여러다른 논리적 경로에 할당된다. 고성능을 발휘하기 위해 논리적 경로는 물리적 경로와 같게된다. 그러나 두 논리적 경로는 하나의 물리적 경로를 공유할 수 있거나 하나의 논리적 경로가 두 물리적 경로를 포함할 수 있다.
제7도는 이용가능한 경로와 논리적장치 개념을 예시한 것이다. 이용가능한 물리적 경로(P1-Pn)로 인해, 기억장치는, 요구된다면, 물리적인 경계보다는 논리적인 경계를 따라 할당될 수 있다. 따라서 물리적 경로(P1)는 다섯개의 논리적 디스크로서 취급되는 다섯개의 실효장치를 포함할 수도 있다. 물리적 경로(P2)는 파일시스템에 의해 세개의 논리적 디스크로서 취급되는 단일 고용량 디스크를 포함할 수도 있다. 물리적 경로(P3)는 여러개의 논리적 디스크로서 구성되는 다수의 고용량 장치를 포함할 수도 있다. 또한, 물리적 경로(PN)는 두개의 논리적 디스크로서 구성될 수도 있다. 파일 시스템이 데이타 파일을 기억장치에 할당하기 때문에, 그것은 시스템내의 이용가능한 경로, 즉 이용가능한 논리적 디스크를 갖는 경로를 식별할 수가 있고, 기억장치를 최대한 사용하기 위해 그들 이용가능한 경로에 걸쳐 데이타 파일을 할당할 수 있다. 이용가능한 경로를 식별하는 처리는 파일이 할당될 때 일어나는 동적인 것일 수 있거나 기억장치를 구성하는 프로그래머에 의해 사전에 설정된 것일 수도 있다.
제6도에 예시된 바와같이, 본 발명에 따른 스트라이핑 알고리즘의 바림직한 실시예는 로컬 셀(LCi)을 경로(P(((i-1)modN)+1))에 할당하는 바, 여기서 N은 이용가능한 논리적 경로의 숫자이고, i는 1부터 X까지의 숫자이고, X는 파일내의 로컬 셀의 숫자이다. 이러한 방식으로, 순차적인 로컬 셀은 순차적인 경로에 할당되며 두개의 순차적인 로컬 셀이 동일한 경로상에 위치하지는 않는다. 또한, N 로컬 셀의 하나의 로컬 셀은, 논리적 경로가 물리적 경로와 같다는 가정하에서, 단일 병렬 I/O 트랜잭션 내에서 전송될 수도 있다.
제8도 내지 제15도는 본 발명에 따라 여러형태의 에러교정을 사용하는 스트라이핑된 데이타 파일의 예들을 예시한 것이다. 제8도는 블록(B0-B199)을 포함하는 데이타 파일이며, 여기서 각각의 블록(B)은 채널 작동용 번지지정 가능한 유니트이다. 블록은 각각 열개의 블록(B0-B9, B10-B19, ...., B190-B199)의 로컬 셀로 분할된다. 데이타 파일은, 다섯개의 경로가 이 데이타 파일, 네개의 셀 딥(S0-S3)을 위해 활용될 수 있도록 스트라이핑된다. 파일 시스템은 제9도에 예시한 바와 같이 IDAW리스트(여기에서 논리적 경로는 물리적 경로와 같다)를 발생시키는 바, 제9도에서 경로(0)는 로컬 셀(B0-B9, B50-B59, B100-B109, B150-B159)을 포함한다. 경로(1)는 로컬 셀(B10-B19, B60-B69, B110-B119, B160-B169)을 갖는다. 경로(P4)는 로컬 셀(B40-B49, B90-B99, B140-B149, B190-B199)을 포함한다. 앞서 언급한 바와 같이 논리적 디스크와 이용가능한 경로개념에 따라, 제8도에 예시한 경로(P0-P4)는 수많은 물리적 경로를 포함할 수도 있는 데이타 기억장치 시스템내에서 식별된 로컬 셀로 향하는 어떤 이용가능한 경로일 수 있다. 제8도 및 제9도에 도시한 바와같이, 추가적인 에러교정 능력은 제공되지 않는다. 각각의 물리적 경로용 제어장치는 패리티를 사용하는 자신의 에러교정 능력을 가지거나 이 기술분야에서 잘 알려진 바와같은 데이타내에 연합되는 에러교정 코드를 구비한다. 교정될 수 없는 에러가 어떠한 경로에 발생하는 경우, 그 데이타는 손실되고 그 손실은 장치 작동기에 보고되며 파일 시스템은 복구단계를 밟기를 요구하게 될 것이다.
높은 신뢰성이 요구되는 시스템에 있어서는, 에러교정 능력이 제10도 내지 제18도에 예시된 바와같이, 본 발명에 따라 제공될 수 있다. 에러교정 능력의 레벨은 특정 데이타 파일의 요구에 부합되도록 선택될 수 있다. 예를 들어, 단일 에러교정이 제10도 내지 제13도에 도시된 바와같은 여러가지 포맷으로 제공될 수 있으며, 제14도 및 제15도에서처럼 이중에러교정이 제공될 수도 있다. 따라서, 고신뢰성이 요구된다면 미터링 되거나 다중여유 스트라이핑된 데이타 파일이 제공될 수 있다. 요구되는 에러교정의 레벨은 바림직한 시스템에서 기억장치 체계용 매개변수로서 지정될 수 있다.
제10도 및 제11도는 논리적 조직화와 단일에러 교정을 사용하는 파일시스템용으로 발생된 IDAW 리스트를 예시한 것이다. 도시한 바와같이, 데이타파일은 제8도를 참조하여 논의된 반대로 조직되지만, 커널공간에서 각각의 로컬 셀내의 에러교정블록(X0-X9, X10-X19, X20-X29, X30-X39)이 파일시스템에 의해 발생된다. 그러면 파일시스템은 제8도에 예시한 바와같은 IDAW 리스트를 발생시켜 모든 에러교정 블록을 예시된 바와같이경로(P5)에 할당한다. 바람직한 시스템에서의 에러교정 블록은 각 셀의 대응블록에 걸친 비트와이즈(bitwise)(XOR)이다. 그래서 X0는 BO, B10, B20, B30, B40의 비트 와이즈(XOR)이다. 따라서 블록(B10)이 손실되면, 그것은 B0, B20, B30, B40 및 X0를 계산함으로써 대체될 수 있다.
개개의 블록에 대한 갱신이 빈번한 것으로 예상되는 파일시스템에서, 교정블록이 단일 경로내에 기억되는 시스템은 교정블록에 할당되는 경로상에 초과되는 교통량을 갖는다. 따라서, 이용가능한 경로간에 교정블록을 분배하기 위한 알고리즘은 하나의 경로용 회선쟁탈을 막도록 요구되어진다.
제12도 및 제13도는 교정블록용 회전경로를 갖는 단일 에러교정 능력을 예시하는 것이다. 제12도에 도시한 바와같이, 파일시스템은 제10도에 예시한 단일에러 교정용과 같은 방식으로 교정블록을 발생시킨다. IDAW 리스트는 경로(P0)가 셀(C0)내의 에러교정블록(X0-X9)과 셀(C1)내의 데이타블록(B50-B59)과 셀(C2)내의 데이타 레코드(B100-B109)와 셀(C3)내의 데이타블록(B150-B159)을 포함하도록 발생된다. 셀(C1)에서 에러교정 블록은 경로(P1)에 할당된다. 셀(C2)에서 에러교정 블록은 경로(P2)에 할당되고 셀(C3)에서 에러교정 블록은 경로(P3)에 할당된다. 이러한 방식으로, 에러교정 블록으로의 액세스는 시스템내의 이용가능한 경로에 걸쳐 확산되므로써 에러교정 목적용 단일경로의 과다 사용을 예방할 수 있다.
더 큰 신뢰성도 이중 에러교정을 사용하는 본 발명에 따라 제공될 수 있다. 이러한 계획에 따라 분리된 경로에서 동시에 두 에러가 교정될 수 있다 제14도에 예시된 바와같이, 데이타파일은 S3를 통해 셀(S0)내에 배열된 블록(B0-B9 내지 B150-B159)을 포함한다. 파일시스템은 데이타파일의 로컬 셀용의 3-비트 해밍코드를 발생시킴으로써 교정블록(X0-X9, X10-X19 내지 X110-X119)이 생성된다. 그러면 경로(P0)가 교정블록(X0-X9, X10-X19, X20-X29, X30-X39)을 수용할 수 있도록 제15도에 예시한 바와같이 파일시스템이 IDAW 리스트를 발생시킨다. 경로(P1) 교정블록(X40-X49, X50-X59, X60-X69)을 수용한다. 경로(P2)는 데이타블록(B0-B9, B40-B49, B80-B89, B120-B129)을 수용한다. 경로(P3)는 교정블록(X80-X89, X90-X99, X100-X109, X110-X119)을 수용한다. 경로(P4-P6)는 도면에 예시한 바와같이, 데이타블록의 균형을 수용한다.
제15도는 교정블록의 발생을 조장하는 이중 ECC를 갖는 데이타 파일의 배치를 나타낸 것이다. 이들 교정블록은 데이타파일내의 특정경로로의 액세스 집중을 막기 위해 경로간에 또한 분배될 수 있다.
도면에 도시되지 않았지만, 더 많은 신뢰성이 에러교정이 더 큰 레벨(즉, 더 큰 에러교정코드)이나 여유파일 기억장치에 의해 제공될 수 있다. 여유 파일들은, 주어진 파일의 제1 복사가 시스템내의 이용 가능한 경로의 제1세트상에 기억될 수 있도록 또한 스트라이핑 될 수 있는 반면, 데이타파일의 제2 복사는 이용가능한 경로의 제2세트 상에서 반사형식으로 기억된다. 파일시스템은, 앞서 언급된 바와 같은 에러교정 코드를 발생시키는 것과같은 방식으로 반사된 데이타 I/O 요구를 물리적 시스템에 자동적으로 발생시킨다.
제8도 내지 제15도에서, 로컬 셀의 크기는 열개의 블록을 가진 것으로서 도시되어있다. 각 로컬 셀내의 데이타의 익스텐트가 시스템의 여러 매개변수와 조화될 수 있도록 명백히 다른 데이타파일들이 구성될 수 있다. 예를 들어, 디스크 드라이브를 포함하는 데이타 기억장치에서 상기 디스크 드라이브용 I/O 전송 최적크기를 나타내는 매개변수가 로컬 셀 크기를 결정할 수 있도록 사용될 수도 있다. 예를들어, 주어진 디스크 드라이브가 주어진 디스크의 트랙크기와 동일한 크기로 고비율로 정보를 전송할 수 있다면, 스트라이핑된 데이타 파일용 로컬 셀의 크기는 트랙과 동일하게 설정될 수도 있다. 주어진 디스크 시스템내의 다수의 트랙이 데이타의 실린더를 구성하고 I/O 전송이 고비율로 실린더 레벨상에 발생한다면, 로컬 셀의 크기는 디스크내의 실린더의 크기와 동일하게 만들어질 수 있다. 또한, 다른 매개변수들은, 로컬 셀이 본 발명에 따라 할당되어지는 크기에 영향을 미칠 수도 있다. 예를들어, 응용 프로그램은 정교한 의료영상 기술분야에서 사용되는 디지탈 영상과 같은 매우 큰 단위의 데이타를 조정할 수도 있다. 따라서, 로컬 셀은 물리적 디스크 특성과는 관련이 없는 이들 각각의 물리적 영상에 요구되는 데이타의 양과 같은 크기를 갖고 할당될 수도 있다.
로컬 셀의 크기에 추가하여, 데이타 파일의 주어진 셀에 사용되는 경로의 숫자를 나타내는 폭은 특정시스템의 필요에 따라 조작될 수 있는 매개변수이다. 경로가 시스템에 물리적으로 더해질 때 또는 데이타가 시스템 외부로 전송될 때와 같이 이용가능한 경로의 수가 주어진 컴퓨터 시스템이 갖는 시간 이상으로 변화함으로써 사용되는 경로의 숫자를 증가시키거나 감소시키기 위해 존재하는 경로가 자유롭게 된다.
제16도는 내지 제26도는 UNIX를 기본으로 하는 오퍼레이팅 시스템(UTS)에서 파일시스템의 전시번전의 구현을 예시한 플로우차트이다. 이 전시비전은 모든 기억장치가 IBM급 3380 디스크 드라이브이고 모든 I/O 동작이 순차적인 로컬 셀을 포함하는 전체 셀을 액세스하는 시스템 용으로 마련된 것이다. 이 전시버전의 구현을 단순화하기 위해 이러한 가정들이 제시되었다. 바람직한 시스템에서, 이들 가정들은 제거될 것이다.
제16도는 외부기억장치와의 트랜잭션 요구에 의해 블록(1301)내에서 호출되는 스트라이핑 전략루틴을 예시한 것이다. 요구는 물리적 I/O요구 또는 버퍼 매니저에 의해 발생되고 파일과 그것의 논리적 위치및 트랜잭션용 바이트의 숫자를 식별하는 버퍼 헤더를 포함할 것이다. 전략루틴은 파일 시스템으로부터 받아들여진 I/O 동작의 매개변수들을 검사한다. 그들 매개변수에 응답하여, 이 작동을 위한 I/O 헤더와, 에러교정블록이 추가되어져야 한다면 요구되어지는 추가의 헤더가 검색된다(블록 1302). 다음, 논리적 I/O가 분리되어져야하는 물리적 I/O헤더의 숫자가 계산된다(블록 1303). USERIOLOCK을 호출하는 루틴이 물리적 I/O 헤더용 코어내의 버퍼를 고정하고 메모리내의 실제페이지용 페이지 리스트를 발생시킨다. 버퍼링된 I/O 헤더는 이미 페이지 리스트를 갖고있다.(블록 1304). 루틴(MAKE-IDAWS)은 동작용 IDAW 리스트를 발생시키기 위해 호출되고, 그에따라 버퍼헤더가 각각의 물리적 I/O용 버퍼헤더의 할당된 풀로부터 획득된다(블록 1305). 버퍼헤더는 요구연쇄를 발생시키기 위해 함께 연쇄된다(블록 1306). 각각의 물리적 I/O가 설정되고 버퍼헤더 변수의 적절한 값들이 교정 IDAW포인터와 (스트라이핑된 I/O를 식별하기 위해 디스크 드라이버에 의해 사용되는)BSTRIPE 플래그를 포함하여 설정된다(블록 1307). 트랜잭션이 버퍼링 안된 I/O이면, 사용자의 버퍼를 커널 어드레스 공간내에 맵핑하기 위해 페이지 테이블 엔트리가 저장된다(블록 1308). 기록이 수행되면, GEN-ECC 루틴이 사용자에 의해 요구되는 에러교정을 발생시키기 위해 호출된다(블록 1309). 장치 전략 루틴은 물리적 I/O 요구의 연쇄와 함께 호출된다(블록 1310). STR-STRAT()로의 입력이 연쇄이면, 루틴은 그 연쇄의 다음요구를 처리한다(블록1311). 그렇지 않으면 루틴은 종료된다(블록 1312).
제17도는 BSTRIPE가 설정되면, 스트라이핑된 버퍼헤더용 I/O의 완료를 알리기 위해 수정된 UTS IODONE 루틴에 의해 호출되는 STRIODONE 루틴이다. UTS IODONE 루틴은 I/O 트랜잭션의 완료를 알리기 위해 디스크 인터럽트 루틴으로부터 호출된다. I/O의 완료후, STRIODONE 루틴은 블록(1400)내에서 이 버퍼헤더가 속하는 I/O 헤더를 찾고 눈에띄는 I/O헤더의 수를 감소시킴으로써 시작된다. 다음, I/O가 에러를 갖는다면, 에러 마스크가 I/O 헤더 내에서 저장된다(블록 1401). 이 헤더용의 I/O 헤더가 더 많으면, 버퍼헤더는 프리리스트상에 놓이고 루틴은 복귀한다(블록 1402). I/O 헤더가 더 많지 않으면, 이것은 논리적 I/O의 마지막 부품임에 틀림없다. 따라서 XC-RECOVER 루틴은 필요한 에러복구를 행하고 복귀값을 설정하기 위해 호출된다(블록 1403). 다음, USERIOUNLOCK 루틴은 사용자 버퍼의 고정을 해제하기 위해 호출되며, 논리적 I/O 동작의 완료를 알리기 위해 IODONE를 호출한다 (블록 1404). 마지막으로, I/O 헤더는 프리리스트상에 다시 놓여지고 루틴은 복귀한다 (블록 1405).
제18도는 필요한 에러복구를 수행하고 버퍼내에 복귀값을 설정하기 위해 호출되는 XC-RECOVER 루틴이다. 이 루틴은 블록(1500)에서 시작되며, 에러 히스토리 맵이 고장난 I/O용으로 유지된다. 판독이 행해지면, 판독내의 어떠한 에러도 이 맵으로부터 교정되어야 한다. 기록이 행해지면, 에러 데이타가 식별되게 맵이 갱신된다. 블록 (1500)내에서 어떠한 에러도 맵내에 열거되지 않는다면 루틴은 복귀한다(블록 1501). 이 데이타 파일상에 어떠한 에러교정도 구현되지 않으면 버퍼의 복귀 마스크내에서 어떠한 에러도 인쇄되고 표시된다(블록 1502). 단일 에러교정 또는 회전에러 교정이 이 스트라이핑된 파일용으로 구현되면, XOR 버퍼로부터 데이타를 복사함으로써 교정가능한 에러는 어떤 것이든 교정되고, 손실된 데이타를 재발생시키기 위해 나머지 셀을 XOR함으로써 교정불가능한 에러는 어떤 것이든 복귀 마스크내에 표시된다(블록 1503). 이중 에러교정의 경우, 어떠한 에러라도 교정하기 위해 CORRECT() 루틴이 호출된다(블록 1504). 마지막으로 루틴은 복귀 마스크와 함께 복귀하고, 에러 플래그는 원래의 요구버퍼내에 놓여진다(블록 1505).
제19도는 CORRECT() 루틴이다. 이 루틴은 검색된 에러의 수가 하나인지의 여부를 결정함으로써 시작된다(블록 1600). 에러가 하나이고 그 에러가 방금 기록된 데이타의 블록내에서 검색되면, 루틴은 복귀한다(블록 1601). 판독동작중에 에러가 경로내에서 검색되면 틀린 데이타를 반영하는 패리티 경로가 발견된다(블록 1602). 틀린 데이타가 패리티 경로내에 있으면, 그것은 교정되지 않는다. 그렇지 않으면, 패리티 데이타는 에러를 교정하기 위해 사용된다(블록 1603).
마지막으로, 성공적으로 교정된 에러지시가 복귀된다(블록 1604). 블록(1600)내에서 눈에띄는 에러의 수가 1보다 많으면, 다른 에러는 교정하지 않으면서 그 에러만을 교정할 수 있는지를 알기 위해, 알고리즘은 눈에띄는 각각의 에러를 검사한다(블록 1605). 어떠한 에러도 교정이 불가능하면, 루틴은 교정불가능한 에러신호를 복귀시킨다(블록 1606). 교정가능한 에러가 발견되면, 적절한 패리티 경로의 사용으로 그 에러가 교정되며, CORRECT() 루틴은 잔존하는 에러를 교정하기 위해 반복적으로 호출된다(블록 1607).
제20도는 관리기능을 제어하는 STR-IOCT1 루틴이다. 이 루틴은 현재 구성데이타를 설정하고 얻는 능력만을 제공한다. 이 루틴은 블록(1700)에서 시작되는 바, 명령이 구성설정을 요구하는지를 결정한다. 그렇다면, 알고리즘은 사용자에 의해 공급되는 표준 매개변수를 사용하여 물리적 장치의 부분들로부터 스트라이핑된 장치를 구성하려한다. 다음, 스트라이핑된 장치가 사용되지 않고 사용자가 적절한 허용을 갖는다면, 표준구성이 복구된다(블록 1701). 다음, STRCHECK 루틴은 구성의 타당성을 검사하기 위해 호출되며, 타당하다면 새로운 구성이 스트라이핑된 장치내에 복사된다. 그렇지 않으면 이전 구성은 변하지 않는다(블록 1702). 명령이 구성을 얻는 것이라면 구성 데이타는 모두 복사된다(블록 1703). 마지막으로 루틴은 복귀한다(블록 1704).
제21도는 스트라이핑된 장치용의 원 I/0들을 설정하는 STR-PHYSIO 루틴이다. 이것은 PHYSIO 버퍼헤더를 얻고 그것을 I/O 요구용 값으로 채움으로써 동작한다(블록 1800). 다음 STR-START 루틴이 호출되고 그 루틴은 I/O가 종료되기를 기다린다. 그러면 버퍼는 자유롭게 되고 루틴은 복귀한다(블록 1801).
제22도는 사용자에 의해 매개변수적으로 지정된 바와같은 스트라이핑된 파일에 필요한 ECC 데이타를 발생시키는 GEN-ECC 루틴이다. ECC가 사용자에 의해 지정되지 않으면 루틴은 복귀한다(블록 1900). 단일 또는 회전단일 ECC가 사용자에 의해 매개변수적으로 할당되면, 루틴은 교정블록을 발생시키기 위해 GEN-XCL을 호출한다(블록 1901). 이중 ECC가 사용자에 의해 할당되면 루틴은 교정블록을 발생시키기 위해 GEN-ECC2를 호출한다.
제23도는 단일에러 교정용 패리티 데이타를 하나 또는 다수의 셀위에 발생시키기 위해 사용되는 GEN-XCL 루틴을 예시한 것이다. 셀의 수가 0보다 크다면 루틴은 블록(2000)에서 시작한다. 루틴은 제1경로로부터 XC 버퍼영역내로 데이타를 복사한다(블록 2001). 셀내에 남아있는 로컬 셀(경로)의 수가 0보다 크면(블록 2002), EX-0R()루틴이 데이타로부터 XC버퍼로 전용-OR을 수행하도록 호출된다(블록2003). 데이타 어드레스는 증가한다(블록 2004). 로컬 셀(경로)이 더 있다면(블록 2005), 루틴은 블록(2002)으로 반송된다. 남아있는 경로가 더이상 없으면 인터럽트용 윈도우가 개방되고(블록 2006) 알고리즘은 더 많은 셀이 필요한지의 여부를 결정하며(블록 2007) 많이 있다면 블록(2000)으로 반송한다. 셀이 더 없으면 알고리즘은 복귀한다(블록 2008). 제24도는 하나의 데이타로부터 다른 데이타로 전용 OR을 행하는 EX-OR루틴을 예시한 것이다. 블록(2100)에서, XOR 루틴용으로 남아 있는 블록의 수가 0보다 클 경우 루틴은 4 킬로바이트의 데이타 블록을 XC 버퍼 내로 XOR 하기위해 분기된다(블록 2101). 어드레스는 증가되고 블록의 수는 감소하며(블록 2102), 루틴은 블록(2100)으로 반송된다.
제25도는 이중에러 교정용 패리티 값을 발생시키는 GEN-ECC2루틴을 예시한 것이다. 이것은 블록(2200)에서 XOR 버퍼영역을 클리어하므로써 시작된다. 필요한 로컬 셀은 활용되는 행밍코드 패턴에 따라 XOR된다. 다음, 각각의 패리티 경로용 알고리즘이 반복된다(블록 2202).
제26도는 파일 시스템에 의해 발생되는 페이지 리스트로부터 스트라이핑된 I/O용 IDAW 리스트를 구성하는 MAKEIDAWS 루틴이다. 알고리즘은 블록(2300)에서 오프셋 및 페이지 리스트 포인터를 설정함으로써 시작된다. 적절한 형태의 에러교정에 기초하여, 알고리즘은 각각의 경로를 통해 반송되고 가상 기억장치로부터 디스크로 데이타와 패리티 값을 맵핑하기 위해 경로내의 각각의 블록용 IDAWS를 설정한다(블록 2301).
본 발명에 따른 파일 시스템은 내부기억장치의 전반적인 활용, 단일 I/O 트랜잭션용의 다수의 병렬 액세스 경로의 사용 및 물리적인 기억장치들의 더욱 효과적인 할당에 충당된다. 또한, 파일 시스템은 데이타 프로세스 시스템의 사용자를 위한 지속적인 동작을 위해 고정도의 고장허용한계까지 최대한 활용될 수 있다.
본 발명의 파일시스템은 가능한 병행성을 이용한다. 또한 그것으로인해 이용가능한 하드웨어와 동작요구에 파일구조를 적응시킬 수 있으며 현재의 실해과제에 액세스 전략을 적응시킬 수 있다.
그밖에도, 기억장치체계의 정의를 활용함으로써 단일 파일시스템에 의해 매우 다양한 데이타 파일이 사용될 수 있다. 또한 단일파일 시스템에 의해 할당되는 기억공간이 증가될 수 있다.
기억장치체계는 여러 구조를 조화시키기 위해 한정될 수 있다. 예를 들어, 기억장치체계의 크기를 물리적 매체로 제한하고 길이와 폭의 매개변수들을 1과 같게 설정함으로써, 기억장치체계는 UNIX 파일구조와 어울릴 수 있다. 이것은 현재의 UNIX 파일 시스템구조를 반영한다. 이것은 중요한 사항인 바, 그 이유는 설명된 방법이, 적어도 현재의 UNIX 파일시스템만큼 빨리 수행되고 그 시스템보다 더 많은 공간을 사용하지 않는 방식으로 사용될 수 있다는 것을 나타내기 때문이다.
고속 순차처리를 요하는 응용이 많이 있다. 트랙과 실린더 크기와 같은 장치기하학을 반영하기 위해 깊이를 한정함으로써, 개개의 장치의 속도가 응용의 특정요구에 적응될 수 있다. 암달 6380급 디스크 시스템을 사용하고 깊이 매개변수(D)를 60블록(1 실린더)으로 설정함으로써, 초당 2 메가바이트의 데이타 액세스율이 1과 같은 폭과 함께 성취될 수 있다. 폭 매개변수를 31과 같도록 설정함으로써, 초당 약 70 메가바이트의 데이타율이 제16도 내지 제26도를 참조하여 설명한 장치를 사용하여 측정되었다.
운영 데이타베이스는 전형적으로 블록내에 포함된 소형오브젝트로의 효율적인 랜덤 액세스와, 일괄처리, 영상복사 및 복구에 필요한 높은 순차속도를 요구한다. 적절한 기억장치체계 정의를 사용함으로써, 순차액세스는 요구되는 만큼 빨리 실행될 수 있다. 신뢰성의 요구문제는 적절한 매개변수를 통해 만족스럽게 될 수 있다. 예를들어, 높은 랜덤 갱신율은 DUAL 또는 REx를 요구할 수도 있고, 랜덤 갱신율은 SPAR 또는 PARx를 허용할 수도 있다.
CAD/CAM 과 같은 비운영 데이타베이스는 대형오브젝트를 통해 예를들어 여러 메가바이트를 포함함으로써 흔히 특징지워진다. 몇몇 셀내의 평균 오브젝트를 함유하는 기억장치체계를 이용하는 것은 데이타 액세스의 성능에 유리하다.
바람직한 기억장치체계에 따라, 조정되어지는 각 파일용 디지탈 데이타가 X경로(P1, P2 ... PX)까지 맵핑되는 셀 내에서 W 로컬 셀(L1, L2, ... LW)의 배열내로 논리적으로 조직화된다. 로컬 셀을 셀에 맵핑하는 여러방법이 한정된다. 각 경로에 대해 밴드 폭을 최대로 하기위해, 잘 알려진 버퍼링 기술이 그러한 각각의 파일용으로 채용된다(대형버퍼, 다중 버퍼링, 버퍼매칭 트랙/실린더 크기등등). 에러교정 블록은 전체장치 고장의 경우 여분의 경로나 장치에, 또는 국부적인 고장의 경우 동일한 장치상의 여분의 위치에 손실 데이타의 즉각적이고도 자동적인 복구를 고려한다. 따라서, 방법은, 제1 고장의 복구가 단일에러교정 실현을 위해 완료되기 전에 조우하게 되는 제2 고장의 확률에 반비례하는 방식으로 데이타의 수집 신뢰성과 이용가능성을 매우크게 개선시킨다.
이상과 같은 본 발명의 바람직한 실시예의 설명은 예시 및 설명의 목적으로 제공되었다. 그것이 전체적인 것이라거나 본 발명을 개시된 형태로 제한하고자 하는것은 아니다. 명백하게도, 이 기술분야에 숙련된 사람에게는 많은 변형이 가능한다. 본 발명의 원리와 그 실제적용을 가장 잘 설명하기 위해 실시예가 선택되고 설명되었으며, 그에 의해 이 기술분야에 숙련된 사람들은 본 발명의 다양한 실시예가 가능하고 예측된 특정용도에 적합한 많은 변형이 가능하다는 것을 이해할 수 있다. 본 발명의 범위는 다음의 특허청구범위 및 그에 상당하는 것에 의해 한정된다.

Claims (68)

  1. 데이타 처리 시스템의 다수의 사용자에 의해 데이타 파일내의 데이타에 대한 액세스 제어 장치로서, 상기 데이타 처리 시스템은 내부 기억 장치, 데이타 파일을 기억한 외부기억장치, 내부기억장치 및 외부기억장치간의 다수의 액세스 경로와, 다수의 사용자가 데이타 파일에 대한 액세스를 요구하는 파일 사용자 인터페이스를 포함하는 데이타 파일내의 데이타에 대한 액세스 제어 장치에 있어서, 파일 사용자 인터페이스 및 내부기억장치에 결합되어, 다수의 사용자에 의해 액세스되도록 현재 데이타의 일시 기억을 위한 내부 기억장치를 할당하고, 내부기억장치내에 기억된 구(old) 데이타로 부터 내부기억장치를 할당 해제(deallocate)하며, 그리고 할당된 내부기억장치로의 현재 데이타의 전송 및 할당 해제된 내부기억장치로 부터의 갱신된 구 데이타의 전송을 위해 외부기억장치와 액세스하기 위한 요구(request)를 생성시키는 제1수단과, 상기 제1수단 및 외부기억장치에 결합되고 액세스 요구에 응답하여 다수의 액세스 경로를 통해 내부기억장치 및 외부기억장치간의 전송을 관리하는 제2수단을 구비하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  2. 제1항에 있어서, 상기 제2 수단은, 외부기억장치에 대한 액세스 요구에 응답하여, 각 액세스의 데이타 서브젝트(subject)에 논리적 어드레스를 지정하는 논리적 맵핑(mapping)수단 및, 상기 논리적 어드레스에 응답하여, 논리적 어드레스를 외부기억장치로 맵핑하고, 외부기억장치로 요구의 액세스 서브젝트를 수행하는 외부 맵핑 수단을 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  3. 제2항에 있어서, 액세스의 데이타 파일 서브젝트의 논리적 어드레스를 외부 메모리내의 위치에 맵(map)하는 미리 선정된 매개변수(parameter)에 의해 특징지워지는 다수의 물리적 기억체계(class)가 있는 데, 상기 외부 맵핑 수단은, 상기 논리적 어드레스에 응답하여, 다수의 기억 체계중 하나를 식별하는 수단 및, 식별된 기억 체계에 응답하여, 식별된 기억 체계내의 데이타 파일을 맵하는 외부 메모리내의 위치로 액세스를 수행하는 수단을 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  4. 제3항에 있어서, 상기 제2수단은, 상기 식별된 기억 체계에 응답하여, 내부기억장치로부터 외부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트에 대한 에러코드를 생성시키는 수단 및 상기 식별된 기억 체계에 응답하여, 외부기억장치로부터 내부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트내의 에러를 검출하고 교정하는 수단을 더 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  5. 제3항에 있어서, 다수의 기억 체계의 서브세트(subset)내의 기억 체계는 데이타의 셀을 선정하는 매개변수로 특징지워지고, 상기 셀은 병렬인 다수의 액세스 경로에 걸쳐 액세스될 수 있는 다수의 로컬(local)셀을 포함하고, 데이타의 셀은 한 셀에 병렬 액세스를 위한 데이타의 대응 로컬 셀에 대한 액세스 경로의 수를 한정하는 제1 매개변수(w)에 의해 선정되는데, w로컬 셀은 셀을 한정하고, 상기 데이타의 셀은 또한 각각의 로컬 셀내에서 기억 체계내의 데이터 파일로 부터 데이터 블록의 수를 한정하는 데 2 매개변수(D)에 의해 선정되는 것을 특징으로 하는 데이터 파일내의 데이타에 대한 액세스 제어장치.
  6. 제5항에 있어서, 데이타 블록은 외부기억장치 및 내부기억장치간에 액세스 경로에 걸친 전송의 기본 단위인 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  7. 제5항에 있어서, 데이타 블록은 외부기억장치 및 내부기억장치간에 액세스 경로에 걸친 전송의 기본 단위이고, 다수의 기억 체계의 서브세트내의 기억 체계는 제각기 에러 복구 알고리즘을 선정하는 신뢰성(reliability)매개 변수에 의해 또한 특징지워지며, 상기 외부 맵핑 수단은, 상기 신뢰성 매개 변수에 응답하여, 내부기억장치로부터 외부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트에 대한 에러코드를 생성시키는 수단 및, 상기 신뢰성 매개 변수에 응답하여, 외부기억장치로부터 내부기억장치로 데이타를 전송하기 위해 액세의 데이타 서브젝트내의 에러를 검출하고 교정하는 수단을 더 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  8. 제5항에 있어서, 데이타 블록은 외부기억장치 및 내부기억장치간에 액세스 경로에 걸친 전송의 기본 단위이고, 다수의 기억 체계의 서브세트내의 기억 체계는 제각기 에러 복구 알고리즘의 하나를 선정하는 신뢰성 매개변수에 의해 또한 특징지워지며, 상기 외부 맵핑 수단은, 상기 신뢰성 매개 변수에 응답하여, 에러 복구 알고리즘을 구현하는 순단을 더 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  9. 제8항에 있어서 다수의 에러 복구 알고리즘 중의 하나는 내부기억장치로부터 외부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트의 로컬 셀을 복사하고, 병렬인 독립 액세스 경로에 결처 외부기억장치내의 복사된 로컬 셀을 기억하며, 그리고 외부기억장치로부터 내부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트의 복사된 로컬 셀중 가장 좋은 하나를 선택하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치..
  10. 제8항에 있어서, 다수의 에러 복구 알고리즘중의 하나는 각각의 셀에 대한 에러코드를 생성시키고, 내부기억장치로부터 외부기억장치로 데이타를 전송하기 위해 엑세스의 데이타 서브젝트의 기억장치와 병렬인 외부기억장치내의 셀내에서 로컬 셀에 대한 에러코드를 기억시키며, 그리고 외부기억장치로부터 내부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트내의 에러를 검출하고 교정하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  11. 제8항에 있어서, 에러코드는 셀내의 데이타의 로컬 셀 전반에 걸친 비트 단위(bitwise)패리티로 이루어지는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  12. 제8항에 있어서, N비트를 포함한 로컬 셀에 대해, 에러코드는 M이 1보다 큰 수이고, 셀내의 M로컬 셀내에 기억되는 N x M 비트 코드로 이루어지는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치,
  13. 제1항에 있어서, 상기 제1 수단에 결합되어, 다수의 사용자에게 할당되는 내부기억장치내의 위치상에 사용자에 의해 종속성(dependencies)을 선정하는 수단을 더 포함하는 데, 상기 제1 수단은 내부기억장치를 할당 및 할당 해제에 있어 선정된 종속성에 응답하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  14. 제13항에 있어서, 선정 수단에 의해 선정된 종속성은 다수의 사용자를 위한 내부기억장치의 할당 및 할당 해제의 전체적인 균형을 유지하기 위하여 데이타 처리 시스템을 통해 프로그램 가능한 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어 장치.
  15. 제13항에 있어서, 제1 수단은 상기 종속성에 응답하여, 다수의 사용자를 위한 내부기억장치내에 위치를 할당 및 할당 해제하도록 위치를 설정하고, 저널링(journaling)하며, 그리고 해제하는 수단을 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  16. 제1항에 있어서, 액세스의 데이타파일 서브젝트를 외부 메모리내의 위치에 맵하는 사전 선정된 매개변수에 의해 특징지워지는 다수의 물리적 기억장치체계가 존재하는데, 제2 수단은, 액세스 요구에 응답하여, 액세스의 데이타파일 서브젝트에 지정되는 다수의 기억체계 중 하나를 식별하는 수단과, 식별된 기억 체계에 응답하여, 사전 선정된 매개 변수가 식별된 기억 체계내의 데이타 파일을 맵하는 외부 메모리내의 위치로 액세스를 수행하는 수단을 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  17. 제16항에 있어서, 상기 제2 수단에 결합되어, 데이타파일을 기억 체계에 지정하는 수단을 더 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  18. 제17항에 있어서, 할당수단이 외부 메모리의 동적인 할당을 위해 지정하는 수단을 프로그램하는 수단을 더 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  19. 제1항에 있어서, 상기 제2 수단은 외부기억장치로 액세스하기 위한 단일 요구에 응답하여, 병렬인 다수의 액세스 경로의 서브세트에 걸친 요구의 액세스 서브젝트를 수행하는 수단을 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  20. 제1항에 있어서, 외부 메모리내의 위치에 액세스의 데이타파일 서브젝트를 맵하는 사전 선정된 매개 변수에 의해 특징지워지는 다수의 물리적 기억 체계가 있고, 제2 수단이, 외부기억장치로 액세스를 위한 요구에 응답하여, 액세스를 위한 요구의 데이타 파일 서브젝트에 지정된 다수의 기억 체계중 하나를 식별하는 수단 및, 다수의 액세스 경로의 서브세트를 통해 액세스 가능한 다수의 위치로 데이타 파일을 맵하는 식별된 기억 체계에 응답하여, 병렬인 다수의 액세스 경로의 서브세트를 통해 액세스를 수행하는 수단을 포함하는 것을 특징으로 하는 데이타 파일내의 테이타에 대한 액세스 제어장치.
  21. 제1항에 있어서, 고장( failure) 포인트가 단일인 경우에 지속적인 동작을 지원하도록 다수의 제1 수단 및 다수의 제2 수단이 제공되는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  22. 제1항에 있어서, 외부기억장치는 다수의 물리적 기억소자를 포함하며, 상기 제2 수단은, 상기 제1 수단에서 독립하여, 제1 소자내에 기억된 데이타 파일로 부터 다수의 물리적 기억소자내의 제2 소자로 데이타 전송을 수행하는 수단을 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  23. 제20항에 있어서, 상기 제2 수단은, 상기 제1 수단에서 독립하여, 제1 기억 체계내에서 식별된 위치로 부터 다수의 기억체계내의 제2 기억 체계내에서 식별된 위치로 제1 기억 체계에 지정된 데이타 파일내의 데이타의 전송을 수행하는 수단을 더 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  24. 데이타 처리 시스템의 다수의 사용자에 의해 데이타 파일내의 데이타에 대한 액세스 제어장치로서, 상기 데이타 처리 시스템은 내부기억장치, 외부기억장치, 내부기억장치 및 외부기억장치간의 다수의 액세스 경로와, 다수의 사용자가 데이타 파일에 대한 액세스를 요구하는 파일 사용자 인터페이스를 포함하는데, 액세스의 데이타 파일 서브젝트를 외부 메모리내의 위치에 맵하는 사전 선정된 매개변수로 특징지워진 다수의 물리적 기억 체계가 있는 데이타 파일내의 데이타에 대한 액세스 제어장치에 있어서 파일 사용자 인터페이스 및 내부기억장치에 결합되어, 다수의 사용자에 의해 액세스되도록 데이타 파일내의 현재 데이타의 일시 기억을 위한 내부기억장치를 할당하고, 내부기억장치내에 기억된 구 데이타로 부터 내부기억장치를 할당 해제하며, 그리고 할당된 내부기억장치로의 현재 데이타의 전송 및 할당 해제된 내부기억장치로 부터의 갱신된 구 데이타의 전송을 위해 외부기억장치와 액세스하기 위한 요구를 생성시키는 제1 수단과, 상기 제1 수단에 결합되어, 사용자에 의해 다수의 사용자에게 할당된 내부기억장치내의 위치상에 종속성을 선정하는 수단으로서, 여기서 상기 제1 수단은 내부기억장치를 할당 및 할당 해제함에 있어 선정된 종속성에 응답하는 상기 종속성 선정수단, 외부기억장치로 액세스하기 위한 요구에 응답하여, 논리적 어드레스를 각 액세스의 데이타 서브젝트에 지정하는 논리적 맵핑 수단, 상기 논리적 어드레스에 응답하여, 다수의 기억 체계중의 하나를 식별하는 외부 맵핑 수단과, 식별된기억 체계에 응답하여, 다수의 액세스 경로의 서브세트를 통해 외부 메모리내의 적당한 위치로 액세스를 수행하는 수단을 구비하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  25. 제24항에 있어서, 제1 수단은 상기 종속성에 응답하여, 다수의 사용자를 위한 내부기억장치내에 위치를 할당 및 할당 해제하도록 위치를 설정하고, 저널링하며, 그리고 해제하는 수단을 포함하는 것을 특징으로 하는데이타 파일내의 데이타에 대한 액세스 제어장치.
  26. 제24항에 있어서, 상기 선정 수단에 의해 선정된 종속성은 다수의 사용자를 위한 내부기억장치의 할당 및 할당해제의 전체적인 균형을 유지하기 위하여 데이타 처리 시스템을 통해 프로그램 가능한 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  27. 제24항에 있어서, 액세스를 수행하는 수단은 병렬인 다수의 액세스 경로의 서브세트에 걸쳐 데이타를전송하도록 외부기억장치로 액세스를 위한 단일 요구에 응답하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스를 제어장치.
  28. 제27항에 있어서, 다수의 기억 체계의 서브세트내의 기억 체계는 데이타의 셀을 선정하는 매개변수로 특징지워지고, 상기 셀은 병렬인 다수의 액세스 경로에 걸쳐 액세스될 수 있는 다수의 로컬 셀을 포함하고, 데이타의 셀은 한 셀에 병렬 액세스를 위한 데이타의 대응 로컬 셀에 대한 액세스 경로의 수를 한정하는 제1 매개변수(W)에 의해 선정되는데, W 로컬 셀은 셀을 한정하고, 상기 데이타의 셀은 또한 각각의 로컬 셀내에서 기억 체계내의 데이타 파일내의 데이타 블록의 수를 한정하는 제2 매개변수(D)에 의해 선정되는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  29. 제28항에 있어서, 데이타 블록은 외부기억장치 및 내부기억장치간에 액세스 경로에 걸친 전송의 기본 단위인 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  30. 제24항에 있어서, 외부기억장치로 액세스를 수행하는 수단은, 식별된 기억 체계에 응답하여, 내부기억장치로부터 외부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트에 대한 에러코드를 생성시키는 수단 및 식별된 기억체계에 응답하여, 외부기억장치로부터 내부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트내의 에러를 검출 및 교정하는 수단을 더 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  31. 제28항에 있어서, 데이타의 블록은 외부기억장치 및 내부기억장치간의 액세스 경로에 걸친 전송의 기본 단위이고, 다수의 기억 체계의 서브세트내의 기억 체계는 제각기 에러 복구 알고리즘을 선정하는 신뢰성 매개 변수에 의해 또한 특정지워지고, 외부기억장치로 액세스를 수행하는 수단은, 상기 신뢰성 매개 변수에 응답하여, 내부기억장치로부터 외부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트에 대한 에러코드를 생성시키는 수단 및, 상기 신뢰성 매개 변수에 응답하여, 외부기억장치로부터 내부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트내의 에러를 검출 및 교정하는 수단을 더 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  32. 제28항에 있어서, 데이타의 블록은 외부기억장치 및 내부기억장치간의 액세스 경로에 걸친 전송의 기본 단위이고, 다수의 기억 체계의 서브세트내의 기억 체계는 제각기 다수의 에러 복구 알고리즘의 하나를 선정하는 신뢰성 매개 변수에 의해 또한 특징지워지고, 외부기억장치로 액세스를 수행하는 수단은, 신뢰성 매개 변수에 응답하여, 구현하는 수단을 더 포함하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  33. 제32항에 있어서, 다수의 에러복구 알고리즘중의 하나는 내부기억장치로부터 외부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트의 로컬 셀을 복사하고, 병렬인 독립 액세스 경로에 걸쳐 외부기억장치내의 복사된 로컬 셀을 저장하며, 그리고 외부기억장치로부터 내부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트의 복사된 로컬 셀중 최상의 하나를 선택하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  34. 제32항에 있어서, 다수의 에러복구 알고리즘중의 하나는 각각의 셀에 대한 에러코드를 생성시키고, 내부기억장치로부터 외부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트의 기억과 병행하여 셀내의 로컬 셀에 대한 에러코드를 외부기억장치내에 기억하며, 그리고 외부기억장치로 부터 내부기억장치로 데이타를 전송하기 위해 액세스의 데이타 서브젝트내의 에러를 검출 및 교정하는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  35. 제32항에 있어서, 에러코드가 셀내의 데이타의 로컬 셀 전반에 걸쳐 비트 단위 패리티로 이루어지는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  36. 제32항에 있어서, N비트를 포함한 로컬 셀에 대해, 에러코드는 M이 1보다 큰 수이고, 셀내의 M로컬 셀내에 기억되는 N x M 비트 코드로 이루어지는 것을 특징으로 하는 데이타 파일내의 데이타에 대한 액세스 제어장치.
  37. 데이타 처리 시스템과 통신하여 데이타 처리 시스템으로 순차적인 전송을 위해 데이타 파일을 기억하는 장치로서, 상기 데이타 파일은 다수의 로컬 셀을 포함하고, 각 로컬 셀은 데이타의 최소한 하나의 블록을 포함하는 데, 블록은 데이타 처리 시스템 및 장치간의 전송의 기본 단위인 데이타 파일 기억 장치에 있어서, 데이타를 기억하는 다수의 기억 수단 및 다수의 논리적 입력/출력 경로(Pn)를 포함하는데, 여기서 n은 1내지 N 이고, 각 경로는 다수의 기억 수단의 서브세트 및 데이타 처리 시스템에 결합되어, 데이타의 로컬 셀은 데이타 처리 시스템 및 다수의 기억 수단간에 N 경로를 통해 병렬로 전송될 수 있으며, 데이타 파일내의 로컬 셀은 로컬 셀(LCi) (i는 1내지 X이다)의 시퀀스내의 다수의 기억수단내에 기억되고, 로컬 셀(LCi)은 경로(Pn)에 결합된 기억 Pn+k수단내에 기억되며, 그리고 로컬 셀(LCi+1)은 경로(Pn+k) (k는 0이 아니다)에 결합된 기억 수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  38. 제37항에 있어서, 상기 데이타 파일은 데이타의 S셀을 포함하는 데, 각 셀은 W로컬 셀을 포함하고, 여기서 W은 N보다 작거나 동일하며, S는 다음 상위 정수로 반올림된 X/W와 동일하며, 각 셀은 셀에 대한 에러교정코드를 기억하는 최소한 하나의 로컬 셀 및, 서로 다른 경로에 결합된 기억수단내에 기억된 소정의 셀내의 모든 로컬 셀을 포함하는 것을 특징으로 하는 데이타 파일 기억장치.
  39. 제38항에 있어서, 소정의 셀에 대한 에러교정코드는 에러교정코드를 제외한 셀내의 모든 로컬 셀의 비트단위 배타적-OR로 이루어지는 것을 특징으로 하는 데이타 파일 기억장치.
  40. 제39항에 있어서, 에러교정코드를 포함하는 데이타 파일내의 로컬 셀이 단일경로에 결합된 기억 수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  41. 제39항에 있어서, 셀(J)에 대한 에러교정코드를 포함하는 데이타 파일내의 로컬 셀이 경로(P(((j-1)modW)+1))에 결합된 기억수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  42. 제38항에 있어서, 각 로컬 셀은 L비트를 포함하고, 에러교정코드는 L x M비트 코드를 포함하는 데, 여기서 M은 1보다 큰 정수인 것을 특징으로 하는 데이타 파일 기억장치.
  43. 데이타 처리 시스템과 통신하여, 데이타 처리 시스템으로 순차적인 전송을 위해 데이타 파일을 기억하는 장치로서, 상기 데이타 파일은 다수의 로컬 셀을 포함하고, 각 로컬 셀은 데이타 파일로 액세스를 위한 단위로서 데이타 처리시스템에 의해 조작될 수 있는 데이타의 최소한 하나의 블록을 포함하는 데이타 파일 기억 장치에 있어서, 데이타를 기억하는 다수의 기억 수단과, 경로(1) 내지 경로(W)인 논리적 입력/출력 경로의 수(W)를 포함하는데, 각 경로는 다수의 기억 수단의 서브세트 및 데이타 처리 시스템에 결합되어, 데이타 블록은 데이타 처리 시스템 및 다수의 기억 수단간에 W경로를 통해 병렬로 전송될 수 있으며, 데이타 파일은 X로컬셀의 시퀸스내의 다수의 기억 수단내에 기억되고, 시퀀스내의 로컬 셀(1)은 경로(1)에 결합된 기억수단내에 기억되며, 로컬 셀(2)은 경로(2)에 결합된 기억 수단내에 기억되고, 로컬 셀(W)은 경로(W)에 결합된 기억 수단내에 기억되며, 로컬 셀(W+1)은 경로(1)에 결합된 기억 수단내에 기억되고, 로컬 셀(W+2)은 경로(2)에 결합된 기억 수단내에 기억되며, 로컬 셀(2W)은 경로(W)에 결합된 기억 수단내에 기억되고, 로컬 셀(X)은 경로((((X-1)modW)+1))에 결합된 기억수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  44. 제43항에 있어서, 데이타 파일은 데이타의 S셀을 포함하고, 각 셀은 W까지의 로컬 셀을 포함하며, 여기서 S는 다음 상위 정수로 반올림된 X/W와 동일하며, 각 셀은 셀에 대한 에러교정코드를 기억하는 최소한 하나의 로컬 셀을 포함하는 것을 특징으로 하는 데이타 파일 기억장치.
  45. 제44항에 있어서, 소정의 셀에 대한 에러교정코드는 에러교정코드를 기억한 로컬 셀을 제외한 셀내의 모든 로컬 셀의 비트단위 배타적-OR로 이루어지는 것을 특징으로 하는 데이타 파일 기억장치.
  46. 제45항에 있어서, 에러교정코드를 포함하는 데이터 파일내의 로컬 셀은 단일 경로에 결합된 기억 수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  47. 제45항에 있어서, 셀(j)에 대한 에러교정코드를 포함하는데 데이터 파일내의 로컬 셀은 경로(P(((j-1)modW)+1))에 결합된 기억 수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  48. 제44항에 있어서, 각 로컬 셀은 L비트를 포함하고, 에러교정코드는 L x M비트 코드를 포함하는 데, 여기서, M은 1보다 큰 정수인 것을 특징으로 하는 데이타 파일 기억장치.
  49. 데이타 처리 시스템과 통신하여, 데이타 처리 시스템으로 순차적인 전송을 위해 데이타 파일을 기억하는 장치로서, 상기 데이타 파일은 i가 1내지 X인 로컬 셀(LCi)의 시퀸스를 포함하고, 각 로컬 셀은 데이타 파일로 액세스를 위한 단위로서 데이타 처리 시스템에 의해 조작될 수 있는 데이타의 최소한 하나의 블록을 포함하는 데이타 파일 기억장치에 있어서, 데이타를 기억하는 다수의 기억 수단과 다수의 논리적 입력/출력 경로(Pn)로서, 여기서 n은 1내지 W이고, 각 경로는 다수의 기억 수단의 서브세트 및 데이타 처리시스템에 결합되어, 데이타의 블록이 데이타 처리 시스템 및 다수의 기억 수단간에 다수의 경로를 통해 병렬로 전송될 수 있는 다수의 논리적 입력/출력 경로(Pn)및, 다수의 경로에 결합되어, 로컬 셀(LCi)의 시퀸스(i는 1내지 X임)를 다수의 기억수단의 최소한 서브세트에 할당하는 수단을 구비하는 데, 상기 로컬 셀(LCi)은 경로(Pn)에 결합된 기억수단내에 기억되고, 로컬 셀(LCi+1)은 경로(Pn+k Pk)(k는 0이 아님)에 결합된 기억 수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  50. 제49항에 있어서, 로컬 셀(LCi)은 n이(((i-1)modW)+1) (i는 1 내지 X임)과 동일한 경로(Pn)에 결합된 기억수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  51. 데이타 처리 시스템과 통신하여, 데이타 처리 시스템으로 순차적인 전송을 위해 데이타 파일을 기억하는 장치로서, 상기 데이타 파일은 i가 1내지 X인 로컬 셀(LCi)의 시퀸스를 포함하고, 각 로컬 셀은 데이타 파일의 사용자에 의해 단위로서 데이타 처리 시스템을 통해 조작될 수 있는 데이타의 최소한 하나의 블록을 포함하는 데이타 파일 기억장치에 있어서, 데이타를 기억하는 다수의 기억 수단과, 다수의 논리적 입력/출력 경로(Pn)로서, 여기서 n은 1내지 w이고, 각 경로는 다수의 기억수단의 서브세트 및 데이타 처리 시스템에 결합되어, 데이터의 블록이 데이타 처리 시스템 및 다수의 기억수단간에 다수의 경로를 통해 병렬로 전송될 수 있는 다수의 논리적 입력/출력 경로(Pn)및, 데이타의 블록을 수신하도록 다수의 경로에 결합되어, E로컬 셀의 각 세트(s)에 대한 에러교정코드(ECCs)(여기서, s는 1에서 S로 진행하고, S는 다음상위 정수로 반올림된 X/E와 동일함)을 생성시키는 수단 및 세트(s)내의 모든 로컬 셀 및 에러교정코드(ECCs)가 한 셀 및, 셀내의 로컬 셀을 한정하고, 제각기 서로 다른 경로에 결합된 기억 수단내에 기억되도록, 다수의 경로 및, 에러교정코드(ECCs)를 생성시키는 수단에 결합되어, 로컬 셀(LCi)(i는 1 내지 X임) 및 에러교정코드(ECCs)(s는 1내지 S임)를 다수의 기억수단의 최소한 서브세트에 맵하는 수단을 구비하는 것을 특징으로 하는 데이타 파일 기억장치.
  52. 제51항에 있어서, 에러교정코드(ECCs)는 셀내의 데이타의 모든 로컬 셀의 비트단위 배타적-OR을 취함으로써 생성되는 것을 특징으로 하는 데이타 파일 기억장치.
  53. 제52항에 있어서, 상기 맵하는 수단은 모든 에러교정코드를 단일 겅로에 결합된 기억 수단에 맵하는 것을 특징으로 하는 데이타 파일 기억장치.
  54. 제52항에 있어서, 상기 맵하는 수단을 에러교정코드(ECCs)을 경로(P(((s-1)modW)+1))에 결합된 기억수단에 맵하는 것을 특징으로 하는 데이타 파일 기억장치.
  55. 제51항에 있어서, 에러교정코드는 다중비트 해밍코드인 것을 특징으로 하는 데이타 파일 기억장치.
  56. 제51항에 있어서, 에러교정코드(ECCs)는 M로컬 셀과 동일한 크기를 가지며, E는 W-M과 동일한 것을 특징으로 하는 데이타 파일 기억장치.
  57. 데이타 처리 시스템과 통신하여, 데이타 처리 시스템으로 순차적인 전송을 위해 다수의 데이타 파일을 기억하는 장치로서, 각 데이타 파일은 로컬 셀(LCi)(i는 1내지 X이고, X는 각 데이타 파일과 관련된 매개변수이다)의 시퀸스를 포함하고, 각 로컬 셀은 데이타 파일의 사용자에 의해 단위로서 데이타 처리 시스템을 통해 조작될 수 있는 데이타의 최소한 하나의 블록을 포함하는 데이타 파일 기억장치에 있어서, 데이타를 기억하는 다수의 기억수단, 다수의 논리적 입력/출력 경로(Pn) 로서, 여기서 n은 1내지 N이고, 각 경로는 다수의 기억수단의 서브세트 및 데이타 처리 시스템에 결합되어, 데이타가 데이타 처리 시스템 및 다수의 기억수단간에 다수의 경로를 통해 병렬로 전송될 수 있는 다수의 논리적 입력/출력 경로(Pn)및, 다수의 경로 및 데이타 처리 시스템에 결합되고, 데이타 처리 시스템에 의해 각 데이타 파일과 관련된 매개 변수에 응답하여, 각 데이타 파일에 대한 로컬 셀(LCi)(i는 1내지 X임)의 시퀸스를 다수의 기억수단의 최소한 서브세트에 맵하는 수단을 구비하는데, 소정의 데이타 파일의 로컬 셀(LCi)은 경로(Pn)에 결합된 기억수단내에 기억되고, 소정의 데이타 파일의 로컬 셀(LCi+1)은 경로(Pk)(k는 n과 동일하지 않음)에 결합된 기억수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  58. 제57항에 있어서, 로컬 셀당 블록의 수는 데이타 처리 시스템에 의해 각 데이타 파일과 관련되고, 상기 맵하는 수단이 응답하는 추가적인 매개변수인 것을 특징으로 하는 데이타 파일 기억장치.
  59. 제57항에 있어서, 로컬 셀의 수(W)는 셀을 한정하고, 그 수(W)는 데이타 처리시스템에 의해 각 데이타 파일과 관련된 추가적인 매개변수인 것을 특징으로 하는 데이타 파일 기억장치.
  60. 제59항에 있어서, 로컬 셀(LCi)은 n이 (((i-1)modW)+1))(i는 1내지 X와 동일함)과 동일한 Pn에 결합된 기억수단내에 기억되는 것을 특징으로 하는 데이타 파일 기억장치.
  61. 데이타 처리 시스템과 통신하여, 데이타 처리 시스템으로 순차적인 전송을 위해 다수의 데이타 파일을 기억하는 장치로서, 각 데이타 파일은 로컬 셀(LCi)(i는 1내지 X이고, X는 각 데이타 파일과 관련된 매개변수이다)의 시퀸스를 포함하고, N로컬 셀은 한 셀과 동일하며, 각 로컬 셀은 데이타 파일의 사용자에 의해 단위로서 데이타 처리 시스템을 통해 조작될 수 있는 데이타의 최소한 하나의 블록을 포함하는 데이타 파일 기억장치에 있어서, 데이타를 기억하는 다수의 기억수단, 다수의 논리적 입력/출력 경로(Pn) 로서, 여기서 n은 1내지 N이고, 각 경로는 다수의 기억수단의 서브세트 및 데이타 처리 시스템에 결합되어, 데이타가 데이타 처리 시스템 및 다수의 기억 수단간에 다수의 경로를 통해 병렬로 전송될 수 있는 다수의 논리적 입력/출력 경로(Pn), 데이타의 블록을 수신하도록 다수의 경로 및 데이타 처리 시스템에 결합되어, 로컬 셀내에 기억시키기 위해 데이타의 E로컬 셀의 세트(s)에 대한 에러교정코드(ECCs)(여기서, s는 1에서 S로 진행하고, S는 다음 상위 정수로 반올림된 X/E와 동일하며, N은 Z+E와 동일함)를 생성시키는 수단 및, 소정의 세트의 데이타의 모든 로컬 셀 및, 소정의 세트에 대한 로컬 셀 또는 에러교정코드가 W로컬 셀의 셀과 동일하며, 셀내의 각 로컬 셀이 서로 다른 경로에 결합된 기억 수단내에 기억되도록, 다수의 경로 및 데이타 처리 시스템에 결합되고, 데이타 처리 시스템에 의해 각 데이타 파일과 관련된 매개변수에 응답하여, 각 데이타 파일에 대해 로컬 셀(LCi)(i는 1내지 X임)의 시퀸스 및 에러교정코드(ECCs)(s는 1내지 S임)를 다수의 기억 수단의 서브세트에 맵하는 수단을 구비하는 것을 특징으로 하는 데이타 파일 기억장치.
  62. 제61항에 있어서, 로컬 셀당 블록의 수는 데이타 처리 시스템에 의해 각 데이타 파일과 관련되고, 상기 맵하는 수단이 응답하는 추가적인 매개변수인 것을 특징으로 하는 데이타 파일 기억장치.
  63. 제61항에 있어서, W는 데이타 처리시스템에 의해 각 데이타 파일과 관련된 매개변수인 것을 특징으로 하는 데이타 파일 기억장치.
  64. 제61항에 있어서, 다수의 에러교정코드형이 있고, 에러교정코드형은 데이타 처리 시스템에 의해 각 데이타 파일과 관련되 매개변수인 것을 특징으로 하는 데이타 파일 기억장치.
  65. 제64항에 있어서, 에러교정코드의 제1형은 세트내의 모든 로컬 셀의 비트단위 배타적-OR을 취함으로써 생성되는 것을 특징으로 하는 데이타 파일 기억장치.
  66. 제64항에 있어서, 에러교정코드의 제1 형은 세트내의 모든 로컬 셀의 비트단위 배타적-OR을 취함으로써 생성되고, 상기 맵하는 수단은 모든 에러교정코드를 단일 경로에 결합된 기억 수단에 맵하는 것을 특징으로 하는 데이타 파일 기억장치.
  67. 제64항에 있어서, 에러교정코드의 제2 형은 세트내의 모든 로컬 셀의 비트단위 배타적-OR을 취함으로써 생성되고, 상기 맵하는 수단은 에러교정코드(ECCs)를 경로(P(((s-1)modW)+1))에 결합된 기억수단에 맵하는 것을 특징으로 하는 데이타 파일 기억장치.
  68. 제64항에 있어서, 에러교정코드의 한 형태는 세트내의 모든 로컬 셀에 걸쳐 생성되는 다중비트 해밍코드인 것을 특징으로 하는 데이타 파일 기억장치.
KR1019890702407A 1988-04-22 1989-04-19 다수의 기억장치체계에 쓰이는 파일시스템 KR0130008B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US185.179 1988-04-22
US185,179 1988-04-22
US07/185,179 US4993030A (en) 1988-04-22 1988-04-22 File system for a plurality of storage classes
USPUS89/01665 1989-04-19
PCT/US1989/001665 WO1989010594A1 (en) 1988-04-22 1989-04-19 A file system for a plurality of storage classes

Publications (2)

Publication Number Publication Date
KR900700960A KR900700960A (ko) 1990-08-17
KR0130008B1 true KR0130008B1 (ko) 1998-04-15

Family

ID=22679934

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890702407A KR0130008B1 (ko) 1988-04-22 1989-04-19 다수의 기억장치체계에 쓰이는 파일시스템

Country Status (12)

Country Link
US (2) US4993030A (ko)
EP (1) EP0414729B1 (ko)
JP (1) JP2951676B2 (ko)
KR (1) KR0130008B1 (ko)
AT (1) ATE162319T1 (ko)
AU (1) AU645814B2 (ko)
CA (1) CA1321845C (ko)
DE (1) DE68928546T2 (ko)
ES (1) ES2013462A6 (ko)
HK (1) HK1008446A1 (ko)
NZ (1) NZ228861A (ko)
WO (1) WO1989010594A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437757B1 (ko) * 1998-12-17 2004-08-16 엘지전자 주식회사 보코더용메모리관리방법

Families Citing this family (261)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077736A (en) * 1988-06-28 1991-12-31 Storage Technology Corporation Disk drive memory
JP2804115B2 (ja) * 1988-09-19 1998-09-24 株式会社日立製作所 ディスクファイルシステム
US5148432A (en) * 1988-11-14 1992-09-15 Array Technology Corporation Arrayed disk drive system and method
AU630635B2 (en) * 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method
US5764659A (en) * 1989-03-10 1998-06-09 Canon Kabushiki Kaisha Apparatus for preventing writing to a releasable storage device
CA2010591C (en) * 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
US5101492A (en) * 1989-11-03 1992-03-31 Compaq Computer Corporation Data redundancy and recovery protection
US5072378A (en) * 1989-12-18 1991-12-10 Storage Technology Corporation Direct access storage device with independently stored parity
JP2617026B2 (ja) * 1989-12-22 1997-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害余裕性メモリ・システム
JPH03216751A (ja) * 1990-01-05 1991-09-24 Internatl Business Mach Corp <Ibm> フアイル転送方法
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
US5166939A (en) * 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5212785A (en) * 1990-04-06 1993-05-18 Micro Technology, Inc. Apparatus and method for controlling data flow between a computer and memory devices
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5388243A (en) * 1990-03-09 1995-02-07 Mti Technology Corporation Multi-sort mass storage device announcing its active paths without deactivating its ports in a network architecture
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
US5369764A (en) * 1990-04-25 1994-11-29 Blair; Gary L. Method for sharing access to database elements in a data processing 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
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
GB9019891D0 (en) * 1990-09-12 1990-10-24 Di Data Ltd Computer memory array control
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
EP0481735A3 (en) * 1990-10-19 1993-01-13 Array Technology Corporation Address protection circuit
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
JPH04165541A (ja) * 1990-10-30 1992-06-11 Hitachi Ltd ファイル再配置方法
EP0485110B1 (en) * 1990-11-09 1999-08-25 Emc Corporation Logical partitioning of a redundant array storage system
US5457703A (en) * 1990-11-21 1995-10-10 Hitachi, Ltd. Array disk system and control method thereof
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5239640A (en) * 1991-02-01 1993-08-24 International Business Machines Corporation Data storage system and method including data and checksum write staging storage
US5271012A (en) * 1991-02-11 1993-12-14 International Business Machines Corporation Method and means for encoding and rebuilding data contents of up to two unavailable DASDs in an array of DASDs
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
US5287500A (en) * 1991-06-03 1994-02-15 Digital Equipment Corporation System for allocating storage spaces based upon required and optional service attributes having assigned piorities
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
CA2067650C (en) * 1991-07-24 1996-10-22 Eric Jonathan Bauer Method and apparatus for operating a computer-based file system
US5636358A (en) * 1991-09-27 1997-06-03 Emc Corporation Method and apparatus for transferring data in a storage device including a dual-port buffer
US5499337A (en) 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
GB9200207D0 (en) * 1992-01-06 1992-02-26 Di Data Ltd Computer memory array control
DE69231873T2 (de) * 1992-01-08 2002-04-04 Emc Corp Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
JP2708657B2 (ja) * 1992-02-18 1998-02-04 富士通株式会社 スプリット制御方法
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
ATE172038T1 (de) * 1992-06-05 1998-10-15 Compaq Computer Corp Plattenantriebsteuergerät mit nachschreibcachespeicher
US5408644A (en) * 1992-06-05 1995-04-18 Compaq Computer Corporation Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem
JPH0675785A (ja) * 1992-06-29 1994-03-18 Fujitsu Ltd プレステージング処理方法、バッファ管理方法及びファイルシステム
JP2842738B2 (ja) * 1992-08-25 1999-01-06 富士通株式会社 オンライン処理システム
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5412661A (en) * 1992-10-06 1995-05-02 International Business Machines Corporation Two-dimensional disk array
US5448709A (en) * 1992-10-13 1995-09-05 Compaq Computer Corporation Disk array controller having command descriptor blocks utilized by bus master and bus slave for respectively performing data transfer operations
US5652913A (en) * 1992-10-13 1997-07-29 Microsoft Corporation System for providing intercommunication of I/O access factors stored in a shared data structure, accessed and maintained by both file system and device driver
WO1994009436A1 (en) * 1992-10-13 1994-04-28 Compaq Computer Corporation Disk array controller having advanced internal bus protocol
US6088767A (en) * 1993-04-30 2000-07-11 International Business Machines Corporation Fileserver buffer manager based on file access operation statistics
ATE222384T1 (de) * 1993-06-03 2002-08-15 Network Appliance Inc Verfahren und dateisystem zur zuordnung von datei-blöcken zu speicherplatz in einem raid- plattensystem
US5495603A (en) * 1993-06-14 1996-02-27 International Business Machines Corporation Declarative automatic class selection filter for dynamic file reclassification
JP2669303B2 (ja) * 1993-08-03 1997-10-27 日本電気株式会社 ビットエラー訂正機能付き半導体メモリ
US6301711B1 (en) * 1993-11-30 2001-10-09 International Business Machines Corporation System and method for the network support of full motion video using a redundant array of inexpensive disks
US5504882A (en) * 1994-06-20 1996-04-02 International Business Machines Corporation Fault tolerant data storage subsystem employing hierarchically arranged controllers
US5701429A (en) * 1994-06-20 1997-12-23 International Business Machines Corporation Method and system for maintaining concurrent data access during device upgrade
US5467361A (en) * 1994-06-20 1995-11-14 International Business Machines Corporation Method and system for separate data and media maintenance within direct access storage devices
JPH0883232A (ja) * 1994-09-09 1996-03-26 Fujitsu Ltd ファイルサーバシステム
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5491820A (en) * 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
US6038679A (en) * 1994-11-30 2000-03-14 International Business Machines Corporation Adaptive data recovery method and apparatus
US5548712A (en) * 1995-01-19 1996-08-20 Hewlett-Packard Company Data storage system and method for managing asynchronous attachment and detachment of storage disks
US5511164A (en) * 1995-03-01 1996-04-23 Unisys Corporation Method and apparatus for determining the source and nature of an error within a computer system
US5701473A (en) * 1995-03-17 1997-12-23 Unisys Corporation System for optimally storing a data file for enhanced query processing
US5732219A (en) * 1995-03-17 1998-03-24 Vermeer Technologies, Inc. Computer system and computer-implemented process for remote editing of computer files
US5758149A (en) * 1995-03-17 1998-05-26 Unisys Corporation System for optimally processing a transaction and a query to the same database concurrently
US5745915A (en) * 1995-03-17 1998-04-28 Unisys Corporation System for parallel reading and processing of a file
US5848230A (en) 1995-05-25 1998-12-08 Tandem Computers Incorporated Continuously available computer memory systems
US5682507A (en) * 1995-06-07 1997-10-28 Tandem Computers, Incorporated Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
US5765151A (en) * 1995-08-17 1998-06-09 Sun Microsystems, Inc. System and method for file system fix-on-panic for a computer operating system
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
US5815649A (en) * 1995-10-20 1998-09-29 Stratus Computer, Inc. Distributed fault tolerant digital data storage subsystem for fault tolerant computer system
US5742814A (en) * 1995-11-01 1998-04-21 Imec Vzw Background memory allocation for multi-dimensional signal processing
US5758050A (en) * 1996-03-12 1998-05-26 International Business Machines Corporation Reconfigurable data storage system
US5996054A (en) * 1996-09-12 1999-11-30 Veritas Software Corp. Efficient virtualized mapping space for log device data storage system
US6021408A (en) * 1996-09-12 2000-02-01 Veritas Software Corp. Methods for operating a log device
CA2272708A1 (en) 1996-11-27 1998-06-04 Kurt E. Godwin File directory and file navigation system
US6016552A (en) * 1997-06-06 2000-01-18 The Chinese University Of Hong Kong Object striping focusing on data object
US5991894A (en) * 1997-06-06 1999-11-23 The Chinese University Of Hong Kong Progressive redundancy transmission
US5963963A (en) * 1997-07-11 1999-10-05 International Business Machines Corporation Parallel file system and buffer management arbitration
US6032191A (en) * 1997-10-28 2000-02-29 International Business Machines Corporation Direct coupling for data transfers
US6230247B1 (en) 1997-10-29 2001-05-08 International Business Machines Corporation Method and apparatus for adaptive storage space allocation
US7010532B1 (en) 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US6658417B1 (en) 1997-12-31 2003-12-02 International Business Machines Corporation Term-based methods and apparatus for access to files on shared storage devices
US6694317B1 (en) 1997-12-31 2004-02-17 International Business Machines Corporation Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
WO1999042934A2 (en) * 1998-02-20 1999-08-26 Storm Systems, Llc File system performance enhancement
US6477591B1 (en) * 1998-03-03 2002-11-05 Highground Systems, Inc. Method and apparatus for storing and copying data via a first path and a second path wherein second path bypasses mirror driver
US6269375B1 (en) 1998-04-01 2001-07-31 International Business Machines Corporation Rebalancing partitioned data
US6125370A (en) * 1998-04-01 2000-09-26 International Business Machines Corporation Repartitioning data
US6161191A (en) * 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
US6654881B2 (en) * 1998-06-12 2003-11-25 Microsoft Corporation Logical volume mount manager
US6353837B1 (en) * 1998-06-30 2002-03-05 Emc Corporation Method and apparatus providing mass storage access from systems using different meta-data formats
US6298345B1 (en) * 1998-07-10 2001-10-02 International Business Machines Corporation Database journal mechanism and method that supports multiple simultaneous deposits
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US6170023B1 (en) 1998-10-07 2001-01-02 International Business Machines Corporation System for accessing an input/output device using multiple addresses
US6185638B1 (en) 1998-10-07 2001-02-06 International Business Machines Corporation Method and system for dynamically assigning addresses to an input/output device
US6167459A (en) * 1998-10-07 2000-12-26 International Business Machines Corporation System for reassigning alias addresses to an input/output device
US6202095B1 (en) 1998-10-07 2001-03-13 International Business Machines Corporation Defining characteristics between processing systems
US6336194B1 (en) 1998-10-29 2002-01-01 International Business Machines Corporation Program products for repositioning an input/output device without knowledge of current positioning of the device
US6339799B1 (en) 1998-10-29 2002-01-15 International Business Machines Corporation Method of repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6343335B1 (en) 1998-10-29 2002-01-29 International Business Machines Corporation System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6401215B1 (en) * 1999-06-03 2002-06-04 International Business Machines Corporation Resynchronization of mirrored logical data volumes subsequent to a failure in data processor storage systems with access to physical volume from multi-initiators at a plurality of nodes
US6742137B1 (en) * 1999-08-17 2004-05-25 Adaptec, Inc. Object oriented fault tolerance
US6629202B1 (en) 1999-11-29 2003-09-30 Microsoft Corporation Volume stacking model
US6553387B1 (en) * 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
US6684231B1 (en) * 1999-11-29 2004-01-27 Microsoft Corporation Migration of friendly volumes
US6883049B1 (en) 1999-12-16 2005-04-19 International Business Machines Corporation Method and system for making an open system volume accessible to an MVS system
US6615219B1 (en) * 1999-12-29 2003-09-02 Unisys Corporation Database management system and method for databases having large objects
US6766359B1 (en) * 1999-12-29 2004-07-20 Emc Corporation Method and apparatus for utilizing multiple paths in a file transfer utility employing an intermediate data storage system
US6529905B1 (en) 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
US6760720B1 (en) 2000-02-25 2004-07-06 Pedestrian Concepts, Inc. Search-on-the-fly/sort-on-the-fly search engine for searching databases
US6574696B1 (en) * 2000-03-07 2003-06-03 Hewlett-Packard Development Company, L.P. Methods and arrangements for providing bi-directional control between data storage drives and automation controllers
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6938039B1 (en) 2000-06-30 2005-08-30 Emc Corporation Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US7788335B2 (en) * 2001-01-11 2010-08-31 F5 Networks, Inc. Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
US8195760B2 (en) * 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation in a switched file system
US8239354B2 (en) * 2005-03-03 2012-08-07 F5 Networks, Inc. System and method for managing small-size files in an aggregated file system
US7383288B2 (en) * 2001-01-11 2008-06-03 Attune Systems, Inc. Metadata based file switch and switched file system
US7512673B2 (en) 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US7509322B2 (en) 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
WO2002056181A2 (en) 2001-01-11 2002-07-18 Force Communications Inc Z File switch and switched file system
US6886171B2 (en) * 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6996750B2 (en) * 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
JP4144727B2 (ja) * 2001-07-02 2008-09-03 株式会社日立製作所 情報処理システム、記憶領域提供方法、およびデータ保持管理装置
US6947947B2 (en) * 2001-08-17 2005-09-20 Universal Business Matrix Llc Method for adding metadata to data
US6883131B2 (en) * 2001-09-28 2005-04-19 Sun Microsystems, Inc. XOR processing incorporating error correction code data protection
US6904540B2 (en) 2001-10-29 2005-06-07 Hewlett-Packard Development Company, L.P. Targeted data protection
US6782450B2 (en) * 2001-12-06 2004-08-24 Raidcore, Inc. File mode RAID subsystem
US6978283B1 (en) 2001-12-21 2005-12-20 Network Appliance, Inc. File system defragmentation technique via write allocation
US7171396B2 (en) * 2002-04-04 2007-01-30 Hewlett-Packard Development Company, L.P. Method and program product for specifying the different data access route for the first data set includes storing an indication of the different access for the first data set providing alternative data access routes to a data storage
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
US7016982B2 (en) * 2002-05-09 2006-03-21 International Business Machines Corporation Virtual controller with SCSI extended copy command
US7873700B2 (en) 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7340486B1 (en) 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
US7055071B2 (en) * 2003-01-09 2006-05-30 International Business Machines Corporation Method and apparatus for reporting error logs in a logical environment
US7877511B1 (en) 2003-01-13 2011-01-25 F5 Networks, Inc. Method and apparatus for adaptive services networking
US7509321B2 (en) * 2003-01-21 2009-03-24 Microsoft Corporation Selection bins for browsing, annotating, sorting, clustering, and filtering media objects
US7383497B2 (en) 2003-01-21 2008-06-03 Microsoft Corporation Random access editing of media
US7904797B2 (en) * 2003-01-21 2011-03-08 Microsoft Corporation Rapid media group annotation
US7117453B2 (en) * 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
US7809693B2 (en) 2003-02-10 2010-10-05 Netapp, Inc. System and method for restoring data on demand for instant volume restoration
US7383378B1 (en) 2003-04-11 2008-06-03 Network Appliance, Inc. System and method for supporting file and block access to storage object on a storage appliance
US7437523B1 (en) 2003-04-25 2008-10-14 Network Appliance, Inc. System and method for on-the-fly file folding in a replicated storage system
EP1652043B1 (en) * 2003-07-11 2017-01-25 CA, Inc. System and method for common storage object model
JP2007502470A (ja) 2003-08-14 2007-02-08 コンペレント・テクノロジーズ 仮想ディスク・ドライブのシステムおよび方法
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
JP4386694B2 (ja) * 2003-09-16 2009-12-16 株式会社日立製作所 記憶システム及び記憶制御装置
US7783611B1 (en) 2003-11-10 2010-08-24 Netapp, Inc. System and method for managing file metadata during consistency points
US7401093B1 (en) 2003-11-10 2008-07-15 Network Appliance, Inc. System and method for managing file data during consistency points
US7721062B1 (en) 2003-11-10 2010-05-18 Netapp, Inc. Method for detecting leaked buffer writes across file system consistency points
US8032726B2 (en) * 2003-12-03 2011-10-04 Hitachi, Ltd Remote copy system
US7437389B2 (en) * 2004-03-10 2008-10-14 Hitachi, Ltd. Remote copy system
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP5166735B2 (ja) 2003-12-19 2013-03-21 ネットアップ,インコーポレイテッド 非常に短い更新インターバルで同期データ複製が可能なシステム及び方法
US7478101B1 (en) 2003-12-23 2009-01-13 Networks Appliance, Inc. System-independent data format in a mirrored storage system environment and method for using the same
US8041888B2 (en) 2004-02-05 2011-10-18 Netapp, Inc. System and method for LUN cloning
US20050204104A1 (en) * 2004-03-15 2005-09-15 Tatsundo Aoshima Server and method for managing volume storing digital archive
US7430571B2 (en) 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7409511B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
US7334094B2 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7334095B1 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Writable clone of read-only volume
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7519628B1 (en) 2004-06-01 2009-04-14 Network Appliance, Inc. Technique for accelerating log replay with partial cache flush
US7509329B1 (en) 2004-06-01 2009-03-24 Network Appliance, Inc. Technique for accelerating file deletion by preloading indirect blocks
US20050273556A1 (en) * 2004-06-04 2005-12-08 International Business Machines Corporation Method and system for providing a recommended allocation of data storage space
US7194595B1 (en) 2004-09-27 2007-03-20 Network Appliance, Inc. Technique for translating a hybrid virtual volume file system into a pure virtual file system data stream
US7243207B1 (en) 2004-09-27 2007-07-10 Network Appliance, Inc. Technique for translating a pure virtual file system data stream into a hybrid virtual volume
US7260678B1 (en) 2004-10-13 2007-08-21 Network Appliance, Inc. System and method for determining disk ownership model
US7603532B2 (en) 2004-10-15 2009-10-13 Netapp, Inc. System and method for reclaiming unused space from a thinly provisioned data container
US7730277B1 (en) 2004-10-25 2010-06-01 Netapp, Inc. System and method for using pvbn placeholders in a flexible volume of a storage system
US7636744B1 (en) 2004-11-17 2009-12-22 Netapp, Inc. System and method for flexible space reservations in a file system supporting persistent consistency point images
US7523286B2 (en) 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US7885970B2 (en) * 2005-01-20 2011-02-08 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US8180855B2 (en) 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
US7424497B1 (en) 2005-01-27 2008-09-09 Network Appliance, Inc. Technique for accelerating the creation of a point in time prepresentation of a virtual file system
US8019842B1 (en) 2005-01-27 2011-09-13 Netapp, Inc. System and method for distributing enclosure services data to coordinate shared storage
US7958347B1 (en) 2005-02-04 2011-06-07 F5 Networks, Inc. Methods and apparatus for implementing authentication
US7574464B2 (en) 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
JP4824085B2 (ja) 2005-04-25 2011-11-24 ネットアップ,インコーポレイテッド ネットワークファイルシステムをキャッシュするシステム、及び方法
US7617370B2 (en) 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7634760B1 (en) 2005-05-23 2009-12-15 Netapp, Inc. System and method for remote execution of a debugging utility using a remote management module
US7739318B2 (en) 2005-06-20 2010-06-15 Netapp, Inc. System and method for maintaining mappings from data containers to their parent directories
US7653682B2 (en) 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
JP2007066109A (ja) 2005-08-31 2007-03-15 Fujitsu Ltd データ送受信制御装置およびデータ送受信制御方法
US7650366B1 (en) 2005-09-09 2010-01-19 Netapp, Inc. System and method for generating a crash consistent persistent consistency point image set
US7467276B1 (en) 2005-10-25 2008-12-16 Network Appliance, Inc. System and method for automatic root volume creation
US7376796B2 (en) 2005-11-01 2008-05-20 Network Appliance, Inc. Lightweight coherency control protocol for clustered storage system
US20070118559A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation File system filters and transactions
US7546412B2 (en) * 2005-12-02 2009-06-09 International Business Machines Corporation Apparatus, system, and method for global metadata copy repair
US7693864B1 (en) 2006-01-03 2010-04-06 Netapp, Inc. System and method for quickly determining changed metadata using persistent consistency point image differencing
US7734603B1 (en) 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
US7480848B2 (en) * 2006-02-10 2009-01-20 The Directv Group, Inc. Methods and apparatus to select tornado error correction parameters
US8285817B1 (en) 2006-03-20 2012-10-09 Netapp, Inc. Migration engine for use in a logical namespace of a storage system environment
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US8260831B2 (en) 2006-03-31 2012-09-04 Netapp, Inc. System and method for implementing a flexible storage manager with threshold control
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
US7769723B2 (en) 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US7853822B2 (en) * 2006-12-05 2010-12-14 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for enhancing the functionality of file systems
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US8312214B1 (en) 2007-03-28 2012-11-13 Netapp, Inc. System and method for pausing disk drives in an aggregate
US20090077097A1 (en) * 2007-04-16 2009-03-19 Attune Systems, Inc. File Aggregation in a Switched File System
WO2008147973A2 (en) * 2007-05-25 2008-12-04 Attune Systems, Inc. Remote file virtualization in a switched file system
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US20090204705A1 (en) * 2007-11-12 2009-08-13 Attune Systems, Inc. On Demand File Virtualization for Server Configuration Management with Limited Interruption
US8117244B2 (en) 2007-11-12 2012-02-14 F5 Networks, Inc. Non-disruptive file migration
US8548953B2 (en) * 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8180747B2 (en) 2007-11-12 2012-05-15 F5 Networks, Inc. Load sharing cluster file systems
US20090204650A1 (en) * 2007-11-15 2009-08-13 Attune Systems, Inc. File Deduplication using Copy-on-Write Storage Tiers
US8352785B1 (en) 2007-12-13 2013-01-08 F5 Networks, Inc. Methods for generating a unified virtual snapshot and systems thereof
US7984259B1 (en) 2007-12-17 2011-07-19 Netapp, Inc. Reducing load imbalance in a storage system
US8380674B1 (en) 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
US9213612B2 (en) 2008-09-29 2015-12-15 Cisco Technology, Inc. Method and system for a storage area network
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US9454441B2 (en) 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US8533299B2 (en) 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US9813529B2 (en) 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US8447833B2 (en) 2010-04-19 2013-05-21 Microsoft Corporation Reading and writing during cluster growth phase
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8438244B2 (en) * 2010-04-19 2013-05-07 Microsoft Corporation Bandwidth-proportioned datacenters
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US8843502B2 (en) 2011-06-24 2014-09-23 Microsoft Corporation Sorting a dataset of incrementally received data
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
CN102541472A (zh) * 2011-12-31 2012-07-04 杭州宏杉科技有限公司 一种raid阵列重建的方法及装置
US10379971B2 (en) * 2012-01-31 2019-08-13 Hewlett Packard Enterprise Development Lp Single and double chip space
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9778856B2 (en) 2012-08-30 2017-10-03 Microsoft Technology Licensing, Llc Block-level access to parallel storage
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3585606A (en) * 1969-09-12 1971-06-15 Ibm File protect circuit and method
US4135240A (en) * 1973-07-09 1979-01-16 Bell Telephone Laboratories, Incorporated Protection of data file contents
US4038642A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Input/output interface logic for concurrent operations
US4148098A (en) * 1976-10-18 1979-04-03 Xerox Corporation Data transfer system with disk command verification apparatus
JPS5362945A (en) * 1976-11-17 1978-06-05 Toshiba Corp Disc address system
US4399503A (en) * 1978-06-30 1983-08-16 Bunker Ramo Corporation Dynamic disk buffer control unit
US4245307A (en) * 1979-09-14 1981-01-13 Formation, Inc. Controller for data processing system
US4344127A (en) * 1980-08-28 1982-08-10 The Bendix Corporation Microprocessor based process control system
US4396984A (en) * 1981-03-06 1983-08-02 International Business Machines Corporation Peripheral systems employing multipathing, path and access grouping
US4453211A (en) * 1981-04-28 1984-06-05 Formation, Inc. System bus for an emulated multichannel system
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
EP0121565A1 (en) * 1982-10-06 1984-10-17 YIANILOS, Peter N. Improved error correction system
US4860244A (en) * 1983-11-07 1989-08-22 Digital Equipment Corporation Buffer system for input/output portion of digital data processing system
US4621321A (en) * 1984-02-16 1986-11-04 Honeywell Inc. Secure data processing system architecture
US4916605A (en) * 1984-03-27 1990-04-10 International Business Machines Corporation Fast write operations
FR2573888B1 (fr) * 1984-11-23 1987-01-16 Sintra Systeme pour la transmission simultanee de blocs de donnees ou de vecteurs entre une memoire et une ou plusieurs unites de traitement de donnees
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
JPS61193266A (ja) * 1985-02-21 1986-08-27 Hitachi Ltd 情報検索システム
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4881163A (en) * 1986-09-19 1989-11-14 Amdahl Corporation Computer system architecture employing cache data line move-out queue buffer
US4792898A (en) * 1986-09-26 1988-12-20 Mccarthy Donald F Method and apparatus for temporarily storing multiple data records
US4851991A (en) * 1987-02-24 1989-07-25 Digital Equipment Corporation Central processor unit for digital data processing system including write buffer management mechanism
US5257367A (en) * 1987-06-02 1993-10-26 Cab-Tek, Inc. Data storage system with asynchronous host operating system communication link

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437757B1 (ko) * 1998-12-17 2004-08-16 엘지전자 주식회사 보코더용메모리관리방법

Also Published As

Publication number Publication date
EP0414729A4 (en) 1993-01-13
AU645814B2 (en) 1994-01-27
AU7935991A (en) 1991-10-03
EP0414729B1 (en) 1998-01-14
US4993030A (en) 1991-02-12
EP0414729A1 (en) 1991-03-06
JP2951676B2 (ja) 1999-09-20
AU614611B2 (en) 1991-09-05
DE68928546D1 (de) 1998-02-19
US5553285A (en) 1996-09-03
KR900700960A (ko) 1990-08-17
AU3448389A (en) 1989-11-24
ES2013462A6 (es) 1990-05-01
WO1989010594A1 (en) 1989-11-02
DE68928546T2 (de) 1998-07-23
JPH03505643A (ja) 1991-12-05
HK1008446A1 (en) 1999-05-07
ATE162319T1 (de) 1998-01-15
NZ228861A (en) 1995-12-21
CA1321845C (en) 1993-08-31

Similar Documents

Publication Publication Date Title
KR0130008B1 (ko) 다수의 기억장치체계에 쓰이는 파일시스템
US6985995B2 (en) Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data
US6880102B1 (en) Method and system for managing storage systems containing multiple data storage devices
JP3753461B2 (ja) 冗長性パリティ法によるデータの書き込み方法およびデータ記憶システム
EP0726521B1 (en) Disk array having hot spare resources and methods for using hot spare resources to store user data
US9122410B2 (en) Storage system comprising function for changing data storage mode using logical volume pair
US6405284B1 (en) Distributing data across multiple data storage devices in a data storage system
US8131969B2 (en) Updating system configuration information
US6725392B1 (en) Controller fault recovery system for a distributed file system
US5392244A (en) Memory systems with data storage redundancy management
US5546558A (en) Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information
EP0715249B1 (en) Methods of and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
US9104342B2 (en) Two stage checksummed raid storage model
US7644308B2 (en) Hierarchical timestamps
EP0521630A2 (en) DASD array hierarchies
JP2016534471A (ja) シェアード・ナッシング分散型ストレージ・システムにおけるターゲットにより駆動される独立したデータの完全性および冗長性のリカバリ
US7882420B2 (en) Method and system for data replication
US20120278560A1 (en) Pre-fetching in a storage system that maintains a mapping tree
US11003554B2 (en) RAID schema for providing metadata protection in a data storage system
US6629203B1 (en) Alternating shadow directories in pairs of storage spaces for data storage
CN111587425A (zh) 分布式存储系统中的文件操作
US6427212B1 (en) Data fault tolerance software apparatus and method
WO2002033551A1 (en) Controller fault recovery system for a distributed file system
US7281188B1 (en) Method and system for detecting and correcting data errors using data permutations
AU614611C (en) A file system for a plurality of storage classes

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20001115

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee