KR100667114B1 - 제거가능한 랜덤 액세스 데이터 기억 매체의 시뮬레이트순차 데이터에 대한 동시 판독 및 기입 액세스 - Google Patents

제거가능한 랜덤 액세스 데이터 기억 매체의 시뮬레이트순차 데이터에 대한 동시 판독 및 기입 액세스 Download PDF

Info

Publication number
KR100667114B1
KR100667114B1 KR1020047010493A KR20047010493A KR100667114B1 KR 100667114 B1 KR100667114 B1 KR 100667114B1 KR 1020047010493 A KR1020047010493 A KR 1020047010493A KR 20047010493 A KR20047010493 A KR 20047010493A KR 100667114 B1 KR100667114 B1 KR 100667114B1
Authority
KR
South Korea
Prior art keywords
data
access
write
read
storage medium
Prior art date
Application number
KR1020047010493A
Other languages
English (en)
Other versions
KR20040071285A (ko
Inventor
바시암로버트베버레이
그레코폴메릴
Original Assignee
퀀텀 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀀텀 코포레이션 filed Critical 퀀텀 코포레이션
Publication of KR20040071285A publication Critical patent/KR20040071285A/ko
Application granted granted Critical
Publication of KR100667114B1 publication Critical patent/KR100667114B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Storage Device Security (AREA)

Abstract

복수의 논리 액세서로서 구성된 데이터 기억 매체 드라이브는 제거가능한 랜덤 액세스 매체의 데이터를 액세스한다. 논리 액세서에 의한 데이터 세그멘트의 기록 액세스시에, 제어부는 논리 액세서에 대한 파티션의 적어도 하나의 데이터 세그멘트를 포함하는 콘텍스트를 로크한다. 제어부는 로크된 콘텍스트를 제외하고, 제거가능한 랜덤 액세스 매체의 데이터에 대한 판독 액세스를 동시에 허용하고, 다른 논리 액세서에 의한, 로크된 파티션을 제외한, 기록 액세스를 허용한다.

Description

제거가능한 랜덤 액세스 데이터 기억 매체의 시뮬레이트 순차 데이터에 대한 동시 판독 및 기입 액세스 {CONCURRENT READ AND WRITE ACCESS TO SIMULATED SEQUENTIAL DATA OF A REMOVABLE RANDOM ACCESS DATA STORAGE MEDIUM}
본 발명은 제거가능한 카트리지와 같은 제거가능한 데이터 기억 매체에 기억된 데이터에 관한 것으로, 특히 테이프 또는 광디스크 데이터 기억 매체의 환경에서 제거가능한 랜덤 액세스 데이터 기억 매체에 기억된 데이터에 대한 액세스를 제공하는 것에 관한 것이다.
전형적으로 카트리지 내의 자기 테이프를 사용하는 테이프형 데이터 기억 매체는 대량의 데이터를 효율적으로 기억하기 위한 것으로 잘 알려져 있다. 전형적으로, 카트리지의 높은 데이터 기억 용량을 이용하기 위해 단일 카트리지에 다수의 데이터 세트가 함께 기억 또는 "스택"된다. 또한, 전형적으로 각 데이터 세트의 데이터는, 적어도 초기에, 순차적인 데이터 열(string)로서 기록되고, 데이터 세트는 데이터 열의 순차적인 세트로서 기록된다.
데이터는 전형적으로 비스트리밍 방식(non-streaming manner)으로 기록된다. 즉, 호스트가 정보를 처리하고 기록될 데이터로 버퍼를 채움에 따라, 테이프는 중지되었다가 다시 시작된다. 테이프는 다른 위치로 액세스하기 위해 감겨지거나 풀 어져야 하기 때문에, 기록하는 동안의 시간 중에 다른 기록 또는 판독 처리에 이용될 수 없고, 원래의 기록 처리에서의 대기 시간은 다른 위치에 대한 액세스 시간보다 훨씬 더 짧다.
전형적으로 카트리지 내의 광디스크를 사용하는 광디스크 데이터 기억 매체는 또한 대량의 데이터를 효율적으로 기억한다. 드라이브에서 구동되는 동안에, 디스크는 계속적으로 회전하지만, 트랙 대 트랙 액세스가 비교적 느리고, 그래서, 데이터는 트랙이 다 채워질 때까지 위에서 설명한 것처럼 비스트리밍 방식으로 동일 트랙 또는 인접 트랙의 비연속 섹터에 기록된다. 따라서, 광디스크 기억 매체 역시 광학 헤드가 다른 트랙에 액세스해야 하기 때문에, 기록하는 동안의 시간 중에 다른 기록 또는 판독 처리에 이용될 수 없고, 원래의 기록 처리에서의 대기 시간은 다른 트랙에 대한 액세스 시간보다 훨씬 더 짧다.
하나의 구성에서, 각 데이터 세트는 그 데이터 세트에 할당된 특수한 순차적 양의 테이프 또는 광디스크 기억 용량을 가질 수 있다. 따라서, 데이터가 데이터 세트에 추가될 때, 그 데이터는 이전에 기록된 데이터 세트의 끝에 있는 "부속 지점"(append point)에 기록된다. 추가되는 데이터가 할당된 기억 용량을 계속적으로 초과하고, 다른 스택된 데이터 세트가 후속되면, 데이터는 테이프 또는 광디스크의 다음 이용가능한 위치에 기록된다. 다른 구성에서, 각 데이터 세트에 할당된 테이프 또는 광디스크 기억 용량은 가변적이고, 따라서 더 효율적으로 기억 동작을 수행한다. 그 경우에, 다른 스택된 데이터 세트가 후속하는 데이터 세트에 데이터가 추가될 때, 상기 부속 지점은 테이프 또는 광디스크에서 실제로 다음의 이용가능한 위치가 된다.
또한, 데이터 세트가 판독되고, 변경되고 재기록될 때, 테이프 또는 광디스크의 원래 데이터 세트가 있었던 곳과 동일한 스페이스에 데이터를 재기록하는 것이 바람직하다. 그러나, 위에서 설명한 것처럼, 재기록되는 데이터는 할당된 기억 용량을 초과하여 연장할 수 있고, 이 경우 데이터 세트가 분할되어 추가적인 데이터는 테이프 또는 광디스크의 다음 이용가능한 위치에 기억된다.
전형적으로, 테이프 또는 광디스크 카트리지에 대한 액세스는 느리다. 예를 들면, 단일 테이프 또는 광디스크 드라이브는 저장 장소로부터 테이프 또는 광디스크 카트리지의 수동적 회수(retrieve)를 필요로 할 수 있다. 자동화된 데이터 기억 매체 라이브러리는 저장 선반에 다수의 카트리지를 저장할 수 있고, 저장 선반으로부터 카트리지를 회수하여 그 카트리지를 데이터 기억 매체 드라이브에 로딩하기 위한 로보트를 구비하며, 이것에 의해 카트리지의 회수를 고속화한다.
일단 카트리지가 회수되고 데이터 기억 매체 드라이브에 로드되면, 특정 데이터 세트에 대한 판독 또는 기록 액세스는 순차적으로 비교적 느리게 발생한다. 테이프는 전형적으로, 저장될 때, "테이프의 시작" 또는 "BOT"라고 부르는 미리 정해진 지점으로 다시 감겨진다. 그 다음에, 원하는 데이터 세트에 액세스하기 위하여, 테이프는 원하는 데이터 세트의 위치로 감겨지고, 데이터는 다음 데이터 세트와 마주칠 때까지 판독되며, 그 다음에 테이프는 데이터 세트에 대한 부속 지점의 위치로 감겨진다. 테이프가 부속 지점으로 감겨지는 동안에는 원하는 데이터 세트로부터 데이터가 판독될 수 없기 때문에, 테이프가 감겨지고 있는 동안 데이터 전 송은 중단된다. 이와 유사하게, 광디스크 시스템은 임의의 액세스가 수행되기 전에 디스크의 특정 섹션에서 레이저가 매체에 대하여 초기화될 것을 요구한다. 또한, 트랙에서 트랙으로의 랜덤 액세스는 비교적 느리기 때문에, 임의의 데이터 전송은 부속 지점으로의 트랙에서 트랙으로의 액세스 중에 중단된다. 따라서, 많은 테이프 및 광 디스크 시스템은 그것이 마치 단일의 연속 순서로 되어 있는 것처럼 나타나도록 데이터를 제공하기 위해 광대한 데이터 버퍼링 시스템을 제공한다. 동일한 문제가 기록 액세스 중에도 발생하며, 데이터는 전형적으로 버퍼링되고, 그 다음에 여러 군데의 비순차적 위치에서 이전에 판독된 데이터 위에 기록된다.
미국 특허 출원 제09/970,881호에서, 데이터에 대한 액세스를 고속화하는 수단으로서, 데이터는 카트리지 내에 있는 "경질(hard)"의 자기 디스크와 같은 제거가능한 랜덤 액세스 데이터 기억 매체에 의해 기억되고, 랜덤 액세스 매체를 판독하고 기록할 수 있는 대응하는 데이터 기억 매체 드라이브가 제거가능한 데이터 기억 매체의 일부로서, 예를 들면 자동화 데이터 기억 매체 라이브러리에 제공된다. 이 명세서에서 설명하는 "파티션(partition)"은 랜덤 액세스 매체에서 연속적 또는 비연속적일 수 있고 순차적 또는 비순차적일 수 있는 관련된 데이터 그룹을 의미한다.
랜덤 액세스 데이터 기억 매체는 더 전형적으로 섹터와 같은 더 작은 길이의 데이터에 대하여 사용되고, 예를 들면 판독/기록 헤드를 원하는 데이터를 내포한 트랙으로 신속히 이동시킴으로써 데이터에 대한 직접 액세스를 제공한다.
그러나, 테이프 및 광디스크 시스템은 데이터를 랜덤하게 하기보다 순차적으 로 판독 및 기록하도록 설계된다.
또한, 한번에 단지 하나의 호스트만이 주어진 테이프 또는 광디스크에 대하여 서비스될 수 있다. 테이프 또는 광디스크 상의 다른 위치들 사이에서 앞뒤로 가서 하나 이상의 요구에 대하여 서비스하도록 동작할 수는 없다. 그러므로, 동일한 테이프 또는 광디스크의 데이터 세트에 대한 동시 요구는 대기 행렬로 되어 연속적으로 수행된다.
방법, 데이터 기억 매체 드라이브 및 자동화 데이터 기억 매체 라이브러리는 자기 디스크를 내포하는 카트리지와 같은 제거가능한 랜덤 액세스 데이터 기억 매체 상의 데이터에 액세스하기 위하여 본 발명에 따라 제공된다.
제거가능한 랜덤 액세스 데이터 기억 매체에 기억된 데이터는 복수의 데이터 세그멘트를 포함하고, 상기 데이터 세그멘트의 적어도 일부는 테이프 또는 광디스크 순차 데이터를 시뮬레이트하는, 파티션이라고 부르는 적어도 하나의 공통 데이터 스트림을 포함한다. 제거가능한 랜덤 액세스 데이터 기억 매체는 데이터 기억 매체 드라이브에서 액세스가능할 뿐만 아니라 데이터 기억 매체 드라이브로부터 제거가능하다. 데이터 기억 매체 드라이브는 복수의 논리 액세서(logical accessor)로서 구성되고, 각각의 논리 액세서는 제거가능한 랜덤 액세스 데이터 기억 매체에 대한 판독 및/또는 기록 액세스를 위하여 적어도 하나의 호스트와 통신하도록 구성된다.
제어부는 하나의 파티션에 대한 논리 액세서들 중의 하나의 판독 및/또는 기 록 액세스에 응답한다. 하나의 논리 액세서에 의해 파티션에 대한 기록 액세스가 발생하였을 때, 제어부는 기록 액세스를 위한 식별된 파티션의 적어도 데이터 세그멘트를 기록 액세스된 콘텍스트로서 확립하고, 상기 기록 액세스 논리 액세서에 대한 기록 액세스된 콘텍스트를 로크(lock)한다. 그 다음에, 제어부는 판독/기록 액세스 유닛을 동작시켜서 로크된 기록 액세스 논리 액세서에 대한 기록 액세스된 콘텍스트를 액세스하게 한다.
기록이 비연속 방식으로 수행된 때, 제어부는 로크된 기록 액세스 논리 액세서 이외의 다른 논리 액세서에 의해 제거가능한 랜덤 액세스 데이터 기억 매체의 데이터에 대하여 동시 판독 액세스를 허가하고, 로크된 기록 액세스 논리 액세서 이외의 임의의 논리 액세서에 의한 기록 액세스된 콘텍스트에 대한 판독 액세스를 금지하며, 파티션에 대한 로크된 기록 액세스를 가진 논리 액세서 이외의 다른 논리 액세서에 의한 로크된 파티션의 임의 데이터에 대한 기록 액세스를 금지하고, 로크된 기록 액세스 논리 액세서에 의한 기록 액세스의 완료시에, 로크된 기록 액세스 논리 액세서에 대한 기록 액세스된 콘텍스트의 로크를 해제한다.
일단 기록이 데이터 세트의 임의 지점에서 수행되면, 기록이 발생한 지점에 후속하는 데이터의 나머지는 종래의 순차 디바이스 동작에 대하여 더 이상 유효하지 않다. 그러므로, 본 발명의 일 실시예에서, 기록 액세스된 콘텍스트는 현재의 기록으로부터 데이터 세트의 끝까지 총 데이터량으로 이루어진 데이터 세그멘트를 포함할 수 있다.
본 발명의 다른 태양에 있어서, 판독 랜덤 액세스된 데이터 세그멘트는 호스 트에 의한 순차 액세스를 위해 조직된다.
따라서, 본 발명은 상이한 데이터 세트에 대한 동시 액세스를 제공하기 위해 랜덤 액세스 매체의 고속 랜덤 액세스를 이용하도록 비연속적 판독 및 기록 처리 중의 대기 기간의 장점을 취한다. 본 발명은 또한 순환 순서 방식(round robin)과 같은 임의 방식으로, 또는 성능 가중 방식(performance weighted manner)으로 상기 액세스의 시간 공유를 허용한다.
이제 본 발명을 첨부 도면을 참조하여 단지 예로서 설명하겠다. 첨부 도면에 있어서:
도 1a 및 도 1b는 종래의 테이프 카트리지 및 이 테이프 카트리지의 자기 테이프를 나타내는 도면이다.
도 2a 및 도 2b는 종래의 디스크 카트리지 및 이 디스크 카트리지의 경질의 자기 디스크를 나타내는 도면이다.
도 3은 본 발명에 따라 구성된 디스크 드라이브를 나타내는 블록도이다.
도 4는 본 발명에 따라 구성된 자동화 데이터 기억 매체 라이브러리를 나타내는 블록도이다.
도 5는 본 발명과 함께 사용되며 도 2a 및 도 2b에 도시된 자기 디스크와 같은 랜덤 액세스 데이터 기억 매체 상의 파티션 및 데이터 세그멘트를 식별하는 포맷 구성을 나타내는 도면이다.
도 6은 본 발명에 따라 대안적으로 사용될 수 있는 색인을 나타내는 도면이 다.
도 7, 도 8 및 도 9는 본 발명의 방법의 실시예를 설명하는 흐름도이다.
도 1a 및 도 1b를 참조하면, 전형적으로 카트리지(21) 내의 자기 테이프(20)를 사용하는 테이프 데이터 기억 매체는 대량의 데이터를 효율적으로 저장하기 위한 것으로 잘 알려져 있다. 위에서 설명한 바와 같이, 광디스크 데이터 기억 장치는 유사하게 대량의 데이터를 저장한다. 전형적으로, 카트리지의 높은 데이터 기억 용량을 이용하기 위하여 단일 카트리지 내에 다수의 데이터 세트가 함께 기억 또는 "스택"된다. 위에서 설명한 바와 같이, 테이프 또는 광디스크 카트리지에 대한 액세스는 느리고, 일단 테이프 카트리지(21)가 회수되고 데이터 기억 매체 드라이브에 로드(load)되면, 테이프(20) 상에서 특정 데이터 세트에 대한 판독 또는 기록 액세스가 순차적이고 비교적 느리게 이루어진다. 테이프(20)는 길이방향의 선형 트랙(22)을 포함하고, 저장될 때 "테이프의 시작(beginning of tape)" 또는 "BOT"라고 부르는 미리 정해진 지점으로 일반적으로 다시 감겨진다. 원하는 데이터 세트에 액세스하기 위하여, 테이프는 그 다음에 상기 원하는 데이터 세트의 위치로 감겨지고, 데이터는 다음 데이터 세트와 마주칠 때까지 판독되며, 그 다음에, 테이프는 데이터 세트의 부속 지점(append point)의 위치로 감겨진다. 테이프가 감겨지고 있는 동안에는 원하는 데이터 세트로부터의 데이터 판독이 불가능하기 때문에, 테이프(20)가 감겨지고 있는 동안에는 데이터 전송이 중단된다. 광디스크 시스템은 또한 트랙들 사이에서 비교적 느린 랜덤 액세스를 제공한다. 따라서, 많은 테이프 및 광디스크 시스템은 마치 단일의 계속적인 순서로 있는 것처럼 데이터를 공급하기 위한 광대한 데이터 버퍼링 시스템을 제공한다. 기록 액세스 동안에도 이와 동일한 사건이 발생하고, 여기에서 데이터는 전형적으로 새로운 순서로서 버퍼링 및 기록되고, 또는 이전에 판독한 데이터 위에 기록된다. 그러나, 데이터 세트는 그 데이터 세트와 교체되는 데이터와 동일한 길이로 되거나 더 짧게 되는 경우가 별로 없다. 그러므로, 이전에 기록된 다른 데이터 세트가 나타나면 기록은 중지되고, 새로운 기록의 추가를 위한 위치(이 위치가 부속 지점이 된다)가 결정되며, 그 다음에, 테이프는 상기 데이터 세트의 기록을 계속하기 위하여 부속 지점의 위치로 감겨진다. 또한, 기록은 비연속 방식으로 행하여지기 때문에, 테이프는 기록들 사이에서 중지해야 하고, 광디스크는 기록들 사이에서 스핀(spin)을 계속한다.
도 2a 및 도 2b를 참조하면, 제거가능한 데이터 기억 매체에 의해 기억된 데이터에 대한 액세스 속도를 고속화하는 수단으로서, 카트리지(26) 내의 "경질(hard)"의 자기 디스크(25)와 같은 랜덤 액세스 매체가, 예를 들면 미국 특허 출원 제09/970,881호에 개시된 바와 같이, 제거가능한 데이터 기억 매체의 일부로서, 자동화 데이터 기억 매체 라이브러리에 제공된다. 랜덤 액세스 데이터 기억 매체는, 더욱 전형적으로, 다수의 섹터(27)로 분리된 동심원 트랙에서와 같이, 더 작은 길이의 데이터에 대하여 사용되고, 예를 들면 판독/기록 헤드를 원하는 데이터를 내포한 트랙 및 섹터로 신속히 이동시킴으로써 데이터에 대한 직접 액세스를 제공한다.
전술한 바와 같이, 많은 테이프 및 광디스크 시스템은 랜덤하게 보다는 순차 적으로 데이터를 판독 및 기록하도록 설계된다. 그러므로, 테이프 또는 광디스크 데이터를 저장하기 위하여 랜덤 액세스 매체를 사용한다 하더라도, 데이터는 테이프 또는 광디스크와 같은 방식으로 액세스되어, 판독 및 기록 액세스가 테이프 또는 광디스크와 랜덤 액세스 기억 매체의 모두에 대하여 동일하게 나타나게 할 것이다.
또한, 주어진 테이프 또는 광디스크에 대해서는 한번에 하나의 호스트만이 서비스될 수 있다. 테이프 또는 광디스크의 다른 위치들 사이에서 앞뒤로 가서 하나 이상의 요구에 대하여 서비스하도록 동작할 수는 없다. 그러므로, 동일한 테이프 또는 광디스크 상의 데이터 세트에 대한 동시 요구는 대기 행렬(queue)로 되고 연속적으로 수행된다.
도 3은 도 2a의 랜덤 액세스 데이터 기억 매체(25)에 데이터를 기록하고 그로부터 데이터를 판독할 수 있는 데이터 기억 매체 드라이브(30)를 도시한 것이다. 미국 특허 출원 제09/970,881호에서는, 데이터 기억 매체 드라이브를 "전송 스테이션(transfer station)"이라고도 부르고 있는데, 그 이유는 드라이브 전체가 카트리지에 내포되기 때문이며, 전송 스테이션은 드라이브를 내포하는 카트리지에 대한 데이터 전송 인터페이스를 제공할 뿐이다. 그러므로, 이 명세서에서 사용하는 용어 "데이터 기억 매체 드라이브", "드라이브", "랜덤 액세스 데이터 기억 매체", "휴대용 카트리지", "제거가능한 랜덤 액세스 데이터 기억 매체", "린덤 액세스 매체" 등은 모두 랜덤 액세스 데이터 기억 매체에 대하여 데이터를 판독 및/또는 기록하기 위하여 데이터 기억 매체 드라이브와 함께 랜덤 액세스 데이터 기억 매체의 구 성을 지칭한다. 도 3에서, 드라이브(30)는 도 2a의 랜덤 액세스 데이터 기억 매체 카트리지(26)를 로딩하고 판독/기록 액세스 유닛(32)에 의한 액세스를 위하여 카트리지를 개방하는 로드/언로드 장치(31)를 포함한다. 일 예로서, 카트리지는 손으로 이송될 수 있고, 또는, 다른 예로서, 카트리지는 자동화 데이터 기억 매체 라이브러리에 의해 이송될 수 있다. 판독(R)/기록(W) 액세스 유닛(32)은 판독/기록 헤드를 원하는 트랙으로 신속히 이동시키기 위한 종래의 서보 시스템과, 판독/기록 제어부(35)의 제어하에서 데이터를 판독하고 기록하기 위한 회로를 포함한다. SCSI 인터페이스와 같은 입력(I)/출력(O) 유닛(37)은 코맨드를 수신하고 그 코맨드를 판독/기록 제어부에 제공하며, 예를 들면, 하나 이상의 호스트(310, 312)에 대하여 데이터를 수신 및 송신하기 위하여 판독/기록 제어부(35)에 결합된다.
판독/기록 제어부(35)는 코맨드를 수신하고 판독/기록 액세스 유닛(32)을 동작시켜서 판독 및/또는 기록 동작을 위해 도 2a 및 도 2b에 도시된 랜덤 액세스 데이터 기억 매체로부터 특정의 데이터 세그멘트를 액세스하기 위한 논리 회로(40) 및 메모리(41)를 포함한다. 본 발명에 따라서, 판독/기록 제어부(35)는 내부 구성에 의해 또는 외부 또는 내부 코맨드에 의해, 복수의 분리된 논리 유닛(45∼47), 또는 SCSI 용어로 "LUN" 내에 구성되며, 상기 각각의 LUN은 호스트에 의해 개별적으로 어드레스될 수 있다. 당업자라면 이해하고 있겠지만, 각 호스트에 대한 각 논리 유닛에는 가상 어드레스가 제공될 수 있다. 각각의 호스트 및 그 어드레스된 논리 유닛의 각각은 가상 어드레스 경로, 또는 SCSI 용어로 "넥서스(nexus)"를 포함한다. 여기에서, 각각의 호스트 및 그 호스트에 결합된 각각의 논리 유닛에 대한 넥서스, 즉 가상 어드레스 경로는 "액세서(accessor)"(60∼65)로서, 또는 "논리 액세서(logical accessor)"로서 정의된다. 만일 가상 어드레스 경로를 사용하지 않으면, LUN과 같은 논리 유닛 또는 유사한 논리 유닛이 또한 여기에서 "액세서" 또는 "논리 액세서"로서 정의된다. 따라서, 이 예에서, 호스트 H1(310)과 논리 유닛 0(45)의 가상 어드레스 경로는 액세서(60)를 포함하고, 호스트 H2(312)와 논리 유닛 0(45)의 가상 어드레스 경로는 액세서(61)를 포함하는 식으로 구성된다. 판독/기록 액세스 유닛(32)에 의해 데이터 기억 매체로부터 판독한 데이터, 또는 데이터 기억 매체에 기록할 데이터는 버퍼(50)에서 임시로 저장 및 조직될 수 있다. 버퍼(50)는, 예를 들면, 분리된 고정 길이의 버퍼를 포함할 수 있고, 또는 개별적으로 액세스가능한 가변 길이 버퍼로 구성될 수 있다.
본 발명의 일 실시예에 따라서, 각각의 액세서(60∼65)는 버퍼(50)의 버퍼들(70∼75) 중의 하나와 관련되고, 임의의 하나의 액세서는, 나중에 설명하는 바와 같이, 제거가능한 랜덤 액세스 데이터 기억 매체에 대하여 판독 및/또는 기록 액세스하도록 지정될 수 있다.
데이터 기억 매체 드라이브(30)는 도 4의 다중 호스트 라이브러리 시스템(300)과 같은 테이프 라이브러리 시스템 내의 드라이브를 포함한다. 테이프 라이브러리 시스템의 일 예는 IBM 3494 데이터 기억 매체 라이브러리이다. 테이프 라이브러리 시스템은 적어도 2개의 호스트(310, 312), 및 테이프 드라이브(도시 생략)를 포함한 다수의 기억 매체 드라이브에 대한 접속을 제공하는 라이브러리 제어부(302)를 포함할 수 있고, 본 발명의 일 실시예에 따라서, 라이브러리 내에서 기 억 및 운송을 위하여 휴대용 카트리지에 각각 장착되는 복수의 드라이브 중의 하나를 나타낼 수 있는 제거가능한 랜덤 액세스 데이터 기억 매체 드라이브(30)는 테이프 라이브러리 시스템(300)에 또한 장착될 수 있고 라이브러리 제어부(302)에 의해 접속될 수 있다.
라이브러리 제어부에 대한 호스트 접속(330, 332)은 예를 들면 섬유 채널, SCSI, 또는 장치 접속일 수 있는 직렬 기억 장치 아키텍쳐(Serial Storage Architecture; SSA)일 수 있다. 도 1a 및 도 2a에 도시된 테이프 및 랜덤 액세스 데이터 기억 매체와 같은 데이터 기억 매체는 라이브러리 랙(rack)(350) 내에 설치된 저장 선반(storage shelf)(342)에 저장된다. 로보트(354, 356)는 저장 선반(342)의 일부 또는 모두에 대하여 액세스하며, 테이프 드라이브들의 일부 또는 모두 및 데이터 기억 매체 드라이브(30)에 대하여 액세스한다. 라이브러리 제어부(302)는 호스트(310, 312)와 테이프 드라이브들 및 데이터 기억 매체 드라이브(30) 사이에서 버스(360, 362)를 전환(switch)한다. 로보트(354, 356)는 테이프 매체(21)를 저장 및 회수하고, 저장 선반(342)에서 제거가능한 랜덤 액세스 데이터 기억 매체 카트리지(26)를 저장 및 회수하며, 제거가능한 랜덤 액세스 데이터 기억 매체 카트리지를 데이터 기억 매체 드라이브(30)에 로드하거나 그로부터 제거하고, 테이프 매체를 테이프 드라이브에 로드하거나 그로부터 제거한다. 로보트는 테이프 매체 및 랜덤 액세스 데이터 기억 매체를 운송하도록 구성될 수 있고, 또는 단지 한가지 유형의 매체만을 취급하도록 특정화될 수 있다.
판독 및/또는 기록 동작 중에, 호스트(310, 312)는 테이프 드라이브 및 데이 터 기억 매체 드라이브(30)에 접속되고, 라이브러리 제어부(302)는 수 개의 호스트로부터의 이동 코맨드를 수행할 것이다. 본 발명에 따라서, 데이터 기억 매체 드라이브(30)에는, 위에서 설명한 바와 같이, 도 3의 각 액세서(60∼65)에 대하여 적어도 하나씩 수 개의 가상 어드레스가 제공된다. 라이브러리 제어부(302)는 직접 신호 라인(328)을 이용하여 액세서(60∼65) 또는 드라이브의 가상 어드레스를 변경할 수 있다. 이 기술 분야에서 공지된 바와 같이, 각각의 물리적인 데이터 기억 매체 볼륨, 또는 도 1a 및 도 2a에 도시된 카트리지(26, 21)는 다수의 논리적 데이터 볼륨을 포함할 수 있고, 논리적 볼륨의 재고품 조사표(inventory table) 또는 맵(map)은 라이브러리 제어부(302) 내 및/또는 관련된 호스트(310, 312) 내의 매체상에 존재할 수 있다. 이러한 재고품 조사 맵은, 데이터 기억 매체 드라이브에 로드된 매체를 포함하도록 라이브러리 제어부에서 동적으로 업데이트되는 물리적 데이터 기억 매체 볼륨(26, 21)의 물리적 기억 매체 맵과는 다르다.
호스트 접속(330, 332)은 라이브러리 제어부(302)의 내부 버스(380)와 링크하도록 호스트 프로토콜 회로(370, 372)를 통해 이루어진다. 내부 버스는 메모리(382), 프로세서(386), 논리 회로(388) 및 로보트 버스(390)에 대한 접속을 제공한다. 내부 논리 회로(388)는 다수의 호스트(310, 312)를 다수의 버스(360, 362)를 통하여 특정의 테이프 드라이브 및 데이터 기억 매체 드라이브(30)에 동적으로 접속하는 스위치(392)를 제어한다.
본 발명의 태양에 있어서, 제어부는 파티션을 포함하는 공통 데이터 스트림의 적어도 데이터 세그멘트를 식별한다. 기록 액세스 논리 액세서에 의한 식별된 파티션의 적어도 하나의 데이터 세그멘트에 대한 기록 액세스가 발생할 때, 제어부는 기록 액세스 논리 액세서에 대한, "콘텍스트(context)"라고 부르는 파티션의 일부를 로크한다. 그 다음에, 제어부는 기록 액세스 논리 액세서에 대하여 제거가능한 랜덤 액세스 데이터 기록 매체에서 로크된 파티션의 기록 액세스된 콘텍스트를 액세스한다. 제어부는 상기 파티션을 로크한 기록 액세스 논리 액세서가 아닌 다른 논리 액세서에 의해 동일한 파티션 또는 다른 파티션의 로크되지 않은 부분의 데이터에 대한 판독 액세스를 동시에 허용하고, 기록 액세스 논리 액세서에 의한 기록 액세스가 완료된 때, 파티션의 콘텍스트 및 기록 액세스 논리 액세서의 로크를 해제한다. 다른 기록 액세스 논리 액세서는 제거가능한 랜덤 액세스 데이터 기록 매체의 다른 독특한 파티션들을 동시에 로크할 수 있다.
파티션들은 매체 자체에서 관리되는 포맷 구성에 따라 식별 및 추적되고, 또는 다른 방식으로, 색인(index) 구조에 따라 식별 및 추적된다.
도 5를 참조하면, 제거가능한 랜덤 액세스 데이터 기억 매체, 예를 들면 도 2a 및 도 2b에 도시된 카트리지(26)의 하드 디스크(25)의 복수의 섹터(27)에 데이터를 기억하기 위한 포맷 구성의 배열이 미국 특허 출원 제09/970,881호에 개시된 것과 같이 도시되어 있다.
구체적으로, 데이터는 3 레벨의 구성으로 기억 및 맵된다. 제3 레벨은 각 영역이 상이한 포맷일 수 있는 영역(110, 111, 112)들을 포함하고, 또는 전체 랜덤 액세스 매체가 하나의 포맷의 단일 영역을 포함할 수 있다. 본 발명과 관련하여 관심있는 한가지 유형의 포맷은 테이프의 포맷을 포함하지만, 다른 포맷들은 각종 유 형의 광디스크를 포함할 수 있다. 자기 테이프 카트리지는 선형의 순차 포맷으로 데이터를 기억하고, 하나의 릴(reel)로부터 테이프를 풀고 다른 릴에 테이프를 감음으로써 데이터에 액세스한다. 선형 순차 포맷은 연속 데이터 스트림을 포함할 수 있고, 또는 가변 길이 또는 다른 포맷의 데이터 블록들을 포함할 수 있다. 각 영역은 데이터의 특성 포맷에 관련된 항목(terms)에 영역의 식별자를 구비하고, 영역 디바이스 블록 맵(region device block map; "RDBM")(115, 116)에 제공되고, 도 2b의 순차적으로 번호붙여진 논리 섹터(27)에 관계되어 제공된다. 데이터는 예를 들면 논리 블록(118)에 지정된 포맷으로 기록된다. IBM 3590과 같은 가변 길이의 순차 디바이스 블록을 사용하는 자기 테이프 포맷 등의 선형 순차 포맷의 경우에, 포맷의 식별자는 영역의 모든 디바이스 블록의 시작점을 포함하고, 영역 디바이스 블록 맵 "RDBM"(120)에 제공된다.
제2 레벨 구성은 헤더 구역 "GDBM"(128)을 가지며 각 영역에 대하여 적어도 하나의 글로벌 디바이스 블록 엘리멘트(global device block element; "GDE")(130∼133)를 가진 글로벌 디바이스 블록 맵(125)을 포함해서 기록된다. 각각의 글로벌 디바이스 블록 엘리멘트는 도 2b의 순차적으로 번호붙여진 논리 섹터(27)에 관하여 대응하는 영역에 기록된 데이터의 경계를 식별한다. GDE는 논리 섹터에 관하여 영역의 시작점 및 크기를 표시하고, 예를 들면 고속 로케이트를 수행하기 위하여 또는 RDBM을 재구축하기 위하여 포맷 특정 정보를 포함할 수 있다. 포맷 디바이스 블록 맵 "FDBM"(139)은 GDBM(128)의 초기 헤더 구역을 포함해서 제공된다. "FDBM"(139)은 정상 사용 중에 변화되지 않고 유지되며, 업데이트되지 않고, 각 영 역의 시작점을 식별하는 각 GDE의 초기부를 포함한다.
제1 레벨 구성은 적어도 하나의 포맷 식별자 "FID1"(141)을 포함해서, 바람직하게는 제2의 용장 포맷 식별자 "FID2"(142)와 함께 기록된다. 포맷 식별자는 각각 도 2b의 순차적으로 번호붙여진 논리 섹터(27)에 관하여 제2 레벨 구성인 글로벌 디바이스 블록 맵의 위치 및 크기를 표시하는 포인터를 갖는다.
다시 도 5를 참조하면, 특히 선형 순차 포맷의 데이터에 대한 다른 실시예에 있어서, 제3 레벨 구성과 같은 구성은 선형 순차 포맷으로 데이터를 기록하고 판독하기 위한 적어도 하나의 영역, 예를 들면, 영역(110∼112)을 포함해서 기록된다. 선형 순차 포맷의 데이터는 기록 및 판독을 위하여 가변 길이의 순차 디바이스 블록(150∼151)의 스트림으로 조직된다. 각 영역은 디바이스 블록(150∼151)을 포함한 포맷 특정 어드레스 방법과 도 2b의 순차적으로 번호붙여진 논리 섹터(27)에 관한 영역 사이의 관계를 식별하는 영역 디바이스 블록 맵 "RDBM"(120)을 구비한다.
비록, 진실한 선형 순서를 포함하는 것으로 설명하였지만, 데이터와 구성은 랜덤 액세스 매체에 기록되고, 임의의 적당한 방법으로 도 2a의 트랙들 중에 및 섹터(27)들 중에 분산된다.
선형 순차 포맷 데이터는 데이터 세그멘트(170∼176)의 스트림 내에 추가적으로 조직된다. 미국 특허 출원 제09/970,881호에서, 데이터 세그멘트는 "디바이스 패킷" 또는 "DP"라고 부르고 있다. 데이터 세그멘트(170∼176)는 크기가 디바이스 블록들보다 크지 않고, 디바이스 블록들 사이의 경계에 걸치지 않는다. 또한, 디바이스 블록, 예를 들면 디바이스 블록(150∼151)의 디바이스 패킷 각각에 대하여, 디바이스 패킷 헤더 엘리멘트 "PHE"는 다바이스 블록 헤더 "DBH"(180∼181)에 제공된다. 이 예에서, 데이터 스트림은 테이프 논리 블록 "TLB"(185)와 테이프 서브 블록 "TSB"(186)를 포함한다. 디바이스 패킷들은 크기가 테이프 서브 블록(186)보다 더 크지 않는 것으로 정의되고, 또한, 추가적으로 디바이스 블록들간의 경계에 걸치지 않는다. 따라서, 디바이스 패킷(173, 174)은 디바이스 블록(150)과 디바이스 블록(151) 사이의 경계에 걸치지 않도록 테이프 서브 블록(186)과 테이프 논리 블록(185)을 분할하고, 그리하여 디바이스 패킷(173)은 디바이스 블록(150) 내에 있게 하고 디바이스 패킷(174)은 디바이스 블록(151) 내에 있게 한다. 따라서, 각각의 디바이스 패킷 헤더 엘리멘트 "PHE"는 각각의 디바이스 블록(150, 151)의 각각의 디바이스 블록 헤더 "DBH"(180, 181)에 또한 제공된다. 디바이스 패킷 헤더 엘리멘트는 각각, 선형 순차 표맷으로, 디바이스 패킷의 선형 순차 포맷 데이터의 표시자(indicator)를 포함한다.
구체적인 예로서, 테이프 논리 블록(185)은 하나 이상의 서브 블록(186)을 가지며, 크기가 1 바이트로부터 상향으로 변화할 수 있으며, 서브 블록(186)은 하나 이상의 디바이스 패킷을 구비하고 크기가 테이프 논리 블록(185)의 크기로부터 어느 쪽이든 더 작은 특정의 최대값, 예를 들면 256 kb까지 변화할 수 있다. 디바이스 패킷은 디바이스 블록 경계에 걸치는 것을 방지하기 위하여 서브 블록(186)을 포함하는 것으로서 또는 서브 블록의 일부로서 정의된다.
대안으로, 본 발명의 "데이터 세그멘트"는 테이프 논리 블록(185), 서브 블록(186), 또는 디바이스 블록(150∼151)을 포함할 수 있으며, 상기 블록들은 각각 영역(110∼112)의 일부를 포함한다.
또한, 미국 특허 출원 제09/970,881호에 개시된 바와 같이, 랜덤 액세스 매체는 영역들(110∼112)의 세트에 배열될 수 있다. 일 예로서, 한 세트의 영역들은 관련 데이터용으로 예비된다. 여기에서, 한 세트의 영역들은 "공통 데이터 스트림" 또는 "파티션"이라고 부른다.
미국 특허 출원 제09/970,881호에서, 한 세트의 영역들 또는 "파티션"은 파티션 식별자를 가지며, 파티션의 각 영역에는 영역 순차 번호가 주어진다. 파티션 식별자 및 영역 순차 번호는 GDBM(125)에 기억될 때 각 영역에 대하여 GDE(130∼133)에 제공된다.
따라서, 파티션의 파티션 식별자는 쉽게 식별될 수 있고, 파티션에서 영역의 위치는 파티션이 추적되고 유지될 수 있도록 영역 순차 번호에 의하여 식별될 수 있다.
본 발명에 따라서, 도 6을 참조하면, 파티션 및 관련 제어 정보를 유지하는 다른 형태가 도시되어 있다. 따라서, 도 2a 및 도 2b에 도시된 제거가능한 랜덤 액세스 데이터 기억 매체(25)에 저장될 수 있는 색인(index)(410)이 제공되고, 이 색인은 파티션의 각 데이터 세그멘트(421)에 대한 파티션(420)을 식별한다.
위에서 설명한 바와 같이, 데이터 스트림은 필요한 만큼의 많은 스페이스에 한번에 연속 순서로 기록되지 않을 수 있다. 오히려, 테이프 또는 광디스크에서, 각 데이터 세트는 그것에 할당된 특수한 초기의 순차적인 양의 기억 용량을 가질 수 있다. 따라서, 데이터가 데이터 세트에 추가될 때, 그 데이터는 이전에 기록된 데이터 세트의 끝에 있는 "부속 지점"에 기록된다. 추가된 데이터가 할당된 기억 길이를 계속하여 초과하고 다른 스택된 데이터 세트가 상기 할당된 기억 길이에 바로 뒤따르면, 데이터는 다음 이용가능한 위치에 기록된다.
위에서 설명한 바와 같이, 구성들은 반드시 선형으로 기록될 필요가 없고, 그래서, 부속 지점은 랜덤 액세스 매체의 임의의 적당한 랜덤 액세스 위치에 제공될 수 있다.
또한, 데이터 세트가 판독되거나 변경되거나 재기록될 때, 데이터를 원래 데이터 세트와 동일한 스페이스에 재기록하기를 원할 수 있다. 그러나, 위에서처럼, 재기록될 데이터는 할당된 기억 용량을 초과하여 연장할 수 있고, 그 경우 데이터 세트는 분할되어 추가의 데이터가 이용가능한 위치에 기억된다.
예로서 도 6을 참조하면, 파티션은 순서(422)를 가진 일련의 데이터 세그멘트를 포함할 수 있고, 세그멘트 순서는 위에 영역 순차 번호와 함께 영역 내에 순서를 포함한다. 위치 어드레스(423)는 데이터 스트림의 제1 세그멘트의 랜덤 액세스 맵 어드레스를 포함하고, 데이터 스트림의 순서(422)에서 각각의 후속 세그멘트의 부속 지점을 포함한다. 여기에서, 파티션은 단일 영역에 제공된 데이터 스트림을 또한 포함할 수 있다.
본 발명에 따라서, 데이터 스트림의 테이프 또는 광디스크 순차 조직은 호스트에 의한 순차적 액세스를 위하여 판독 액세스 비순차 기록 데이터 세그멘트, 예를 들면 도 5의 디바이스 패킷(170∼176)을 조직함으로써 시뮬레이트된다. 일 실시예에 있어서, (A), 데이터는 가장 효율적인 액세스 순서로, 예를 들면 데이터 세그 멘트의 랜덤 액세스 순서로 판독되고, 액세스된 때에 버퍼에, 예를 들면 도 3의 버퍼(50)에 기억되며, 그 다음에 버퍼 내에서 순서대로 예를 들면 포인터에 의해 배열된다. 다른 실시예에서, 데이터 세그멘트는 제거가능한 린덤 액세스 데이터 기억 매체(25)에서 실제적인 선형 순서로 액세스되고, 버퍼(50)에 순서대로 기억된다.
제거가능한 랜덤 액세스 데이터 기억 매체(25)에 데이터를 기록할 때는 반대의 절차를 따른다.
다시 도 3과 도 4를 참조하면, 본 발명의 태양에 있어서, 호스트 시스템(310, 312)은 특수한 액세스를 위해 LUN을 선택할 수 있고, 제어부, 예를 들면 제어부(35)는 LUN(45∼47)의 지정 및 그에 따른 액세서(60∼65)의 지정을 행한다. 상기 지정은 각 액세스에 대하여 변경될 수 있고, 상기 지정은 호스트 등에 대한 접속 중에 행하여질 수 있다. 제어부(35)는 액세스에 대한 파티션의 적어도 하나의 데이터 세그멘트를 식별함으로써, 식별된 파티션에 대한 하나의 액세서의 판독 및/또는 기록 액세스에 응답한다.
기록 액세스 논리 액세서, 예를 들면, 도 3의 액세서 "H1/L0"(60)에 의해 파티션의 하나 이상의 데이터 세그멘트에 대한 기록 액세스가 발생한 때, 제어부(35)는, 기록 액세스된 콘텍스트로서, 기록 액세스에 대한 식별된 파티션의 적어도 하나의 데이터 세그멘트를 확립한다. 제어부는 기록 액세스 논리 액세서에 대한 기록 액세스된 콘텍스트를 로크한다.
여기에서 용어 "콘텍스트"는 단일 데이터 세그멘트를 포함할 수 있고, 또는 데이터 세그멘트의 그룹을 포함할 수도 있다. 구체적으로, 위에서 설명한 바와 같 이, 일단 기록이 재기록되는 데이터 세트의 임의 지점에서 수행되면, 기록이 발생하는 지점에 후속하는 데이터의 나머지는 변경되기 쉽고 현재의 완전성(integrity)을 잃게 된다. 그러므로, 본 발명의 일 실시예에서, 기록 액세스된 콘텍스트는 현재의 기록으로부터 데이터 세트의 끝까지 총 데이터량을 포함하는 데이터 세그멘트를 포함할 수 있다.
도 5와 관련하여 위에서 설명한 바와 같이, 본 발명의 "데이터 세그멘트"는 영역(110∼112)의 일부를 각각 구성하는 디바이스 패킷(170∼176), 테이프 논리 블록(185), 서브 블록(186), 또는 디바이스 블록(150∼151)을 포함할 수 있다.
그 다음에, 제어부는 이용가능한 스페이스에 예를 들면 데이터 세그멘트(170∼176)로서 데이터를 기록하기 위하여 기록 액세스 콘텍스트를 액세스하도록 판독/기록 액세스 유닛(30)을 동작시킨다.
본 발명에 따라서, 기록이 비연속 방식으로 수행될 때, 제어부는, 도 3의 로크된 기록 액세스 논리 액세서 "H1/L0"(60) 대신에, 도 3의 논리 액세서, 예를 들면 논리 액세서 "H2/L0"(61) 및 "H1/L2"(64) 유닛 "LUN 1"(46) 및 "LUN 2"(47)에 의한 제거가능한 랜덤 액세스 데이터 기억 매체의 데이터에 대한 판독 액세스를 동시에 허용함으로써 동시 액세스를 제공한다.
자기 디스크 드라이브와 같은 전형적인 랜덤 액세스 매체는 단지 하나의 헤드를 갖기 때문에, 동시 액세스는 동시에 발생될 수 없다. 오히려, 기록들 사이의 대기 기간 중에, 헤드는 판독 액세스 데이터 세그멘트(들)에 액세스되고, 그 다음에 비연속 기록 처리의 다음 위치에 액세스된다.
그러므로, 여기에서, 용어 "동시(concurrent)" 및 "동시에(concurrently)"는 하나의 액세스가 다른 액세스와 동일한 시간에, 그러나 동시적으로는 아니게 동작하는 것을 포함하는 의미로 정의된다.
제어부(35)는 로크된 기록 액세스 논리 액세서, 예를 들면, "H1/L0"(60)를 제외하고, 도 3의 임의의 논리 액세서, 예를 들면 액세서(61∼65)에 의한 기록 액세스된 콘텍스트의 판독 액세스를 추가적으로 금지하고; 로크된 기록 액세스 논리 액세서 "H1/L0"(60)를 제외한 다른 논리 액세서에 의한 제거가능한 랜덤 액세스 데이터 기억 매체의 파티션의 임의의 데이터에 대한 기록 액세스를 금지한다.
만일 액세스가 현재의 콘텍스트로부터 다른 콘텍스트로 순차적으로 계속되면, 콘텍스트는, 예를 들면, 다음 데이터 세그멘트로 전진하고, 로크는 새로운 콘텍스트로 변경된다. 기록 액세스 콘텍스트가 현재의 기록으로부터 데이터 세트의 끝까지의 총 데이터량으로 이루어진 데이터 세그멘트를 포함하는 본 발명의 실시예에서, 다음 콘텍스트는 파티션 내에 다음 데이터 세트를 포함할 수 있다.
기록 액세스 논리 액세서에 의한 기록 액세스를 완료한 때에, 제어부는 도 3의 지정된 기록 액세스 논리 액세서 "H1/L0"(60)에 대한 콘텍스트의 로크를 해제한다.
본 발명에 따른 방법의 실시예들을 도 7 내지 도 9를 참조하여 설명한다.
도 3, 도 4 및 도 7을 참조하면, 단계 450에서, 복수의 논리 유닛(45∼47)이 제공되고, 각각의 논리 유닛은 호스트(310, 312)와 통신하도록 구성된다. 논리 유닛, 또는 SCSI 용어로 "LUN"은 데이터 기억 매체 드라이브(30)의 판독/기록 제어부(35)에 고정된 형태로 형성될 수 있고, 또는 판독/기록 제어부(35)가 원하는 대로 또는 라이브러리 제어부(302)로부터의 코맨드의 결과로서 형성될 수 있다. 랜덤 액세스 데이터 기억 매체 드라이브(30)에는 수 개의 가상 어드레스가 제공되는데, 그 중에서 적어도 하나는 각각의 논리 유닛(45∼47)을 위한 것이고, 다른 가상 어드레스는 논리 액세서(60∼65)를 형성하는, 각각의 호스트에 대한 각각의 논리 유닛을 위해 제공될 수 있다. 라이브러리 제어부(302)는 논리 유닛(45∼47), 논리 액세서, 또는 드라이브의 가상 어드레스를 직접 신호 라인(328)을 이용하여 변경할 수 있다.
단계 453과 455는 액세스 요구에 응답하여 액세서의 전형적인 동적 지정을 나타내며, 이것은 호스트로부터의 판독/기록 액세스 요구를 포함할 수 있다. 단계 455에서, 액세서는 액세스 요구에 대해 지정된다. 로크되어 있는 제안된 콘텍스트에 판독 액세서가 현재 위치되어 있을 때의 시도된 기록 액세스의 경우에, 또는 다른 기록 액세서가 동일한 파티션에서 임의의 로크를 현재 유지하고 있는 경우에, 기록 코맨드 및 시도된 액세서 지정은 호스트에 대하여 실패된다. 대안적으로, 위에서 설명한 것처럼, 지정은 고정될 수 있고, 또는 더 긴 기간에 기초해서 이루어질 수 있다.
호스트는 호스트가 데이터와 관련하여 작업하고 있을 때 일련의 판독 및/또는 기록 액세스를 순차적으로 요구할 것이다. 그러므로, 일단 액세서가 지정되면, 지정된 액세서를 통한 액세스는 호스트가 예를 들면 파티션을 취급하고 있는 전체 시간 동안 계속될 수 있다.
그 결과, 단계 460에서, 선택된 랜덤 액세스 데이터 기억 매체(25, 26)가 그 저장 선반(342)으로부터 로보트(354)에 의해 데이터 기억 매체 드라이브(30)에 제공되고, 로드/언로드 장치(31)에 의해 로드된다. 매체(26)는 호스트에 의해 선택될 수도 있고, 또는 물리적 볼륨이 호스트에 의해 선택된 논리적 볼륨을 포함하고 있을 때 라이브러리 제어부(302)에 의해 선택될 수도 있다.
도 5를 참조하면, 미국 특허 출원 제09/970,881호에서 설명하고 있는 바와 같이, 도 7의 단계 465에서, GDBM(125)은 원하는 데이터의 파티션을 식별하기 위해 검사된다. 각 영역에 대하여 적어도 하나의 GDE(130∼133)가 제공되고, 파티션의 영역들에 대하여, GDE는 파티션 식별자 및 파티션 내의 영역의 영역 순차 번호를 포함한다. 다시 도 6을 참조하면, 대안적으로, 색인(410)은 도 7의 단계 465에서 판독/기록 액세스 유닛(32)에 의해 매체(25)로부터 판독되고 색인은 데이터 기억 매체 드라이브(30)의 판독/기록 제어부(35)에 의해 기억된다.
호스트 또는 라이브러리 제어부는 적어도 데이터 스트림의 세그멘트에 대한 요구된 판독 및/또는 기록 액세스를 가질 것이다. 만일 요구가 데이터 세그멘트 또는 데이터 스트림을 판독하기 위한 것이면, 데이터는 파티션으로서 식별된다. 기록될 데이터 스트림은 기존의 데이터 스트림에 덮어쓰기되거나, 기존의 데이터 스트림에 추가되거나, 또는 새로운 데이터 스트림이 될 수 있다. 만일 데이터 스트림이 기존의 데이터 스트림에 덮어쓰기되거나 추가되면, 파티션이 식별된다. 만일 데이터 스트림이 새로운 것이면, 새로운 파티션이 생성된다. 따라서, 도 5를 다시 참조하면, 단계 465는 공통 데이터 스트림의 적어도 데이터 세그멘트[예를 들면, 디바 이스 패킷(170∼176)]의 파티션을 식별하거나 발생하는 것을 포함한다. 도 6의 색인(410) 및 도 5의 포맷은 각 세그멘트의 물리적 위치(423) 및 그 세그멘트의 순차 번호(422)를 또한 제공한다.
도 3, 도 4 및 도 8을 참조하면, 선택된 랜덤 액세스 데이터 기억 매체(26)가 데이터 기억 매체 드라이브(30)에 로드되었다고 가정하고, 라이브러리 제어부(302)는, 단계 200에서, 로드된 매체에 대한 기록 액세스를 논리 액세서(60∼65)의 어드레스를 이용하여 요구한다. 단계 203에서, 단지 하나의 논리 액세서가 한번에 각 파티션에 대한 기록 액세스를 허용받기 때문에, 단계 203에서는 기록 액세스가 원하는 논리 액세서에 대하여 이용가능한지를 판정한다. 일 예로서, 요구하는 논리 액세서가 아닌 다른 논리 액세서가 동일한 파티션에 대한 기록 액세스를 지정받을 수 있다. 만일 기록 액세스가 가능하지 않으면, 단계 205에서, 기록 액세스 실패 메시지가 전송된다. 요구하는 에이전트는 동일한 논리 액세서 또는 다른 논리 액세서에서 계속하여 요구를 반복할 수 있고, 다른 파티션으로 변경하여 재시도할 수 있고, 또는 요구를 반복하기 전에 논리 액세서의 상태에 대하여 질의할 수 있다.
다시 도 5와 도 6을 참조하면, 논리 액세서가 기록 액세스를 허가 받으면, 단계 207에서, GDE(130∼133) 또는 색인(410)은 데이터 기억 매체 드라이브(30)의 판독/기록 제어부(35)에 의해 검사되고, 여기에서 원하는 스페이스를 할당하기 위하여, 위에서 설명하는 바와 같이, 임시적으로 또는 연속적으로 기억된다. 기록을 이용하기 위하여 필요한 임의의 추가적인 스페이스는 GDE(130∼133) 또는 색인(410)으로부터 재요구(reclaim)될 수 있고, 또는 새로운 GDE 또는 색인 엔트리가 논리 포맷마다 할당될 수 있다.
만일 판독 액세스가 파티션에서 수행되면, 동시 기록 액세스는 판독 무효로 간주하는 기록된 파티션 부분에 및 그 뒤에 있는 데이터의 일부 또는 모두를 무효로 간주할 가능성이 있다. 따라서, 단계 208에서는 판독 액세스가 로크될 파티션(선택적으로, 파티션의 구역)에 위치하고 있는지 여부를 판정한다. 만일 위치하고 있으면, 단계 209에서 로크와의 충돌이 있다는 메시지를 전송한다. 이 메시지는 단계 205에서와 유사하게 액세스 실패로서 호스트에 보고되고, 호스트는 전술한 바와 같이 그들 사이에 동일한 옵션을 갖는다.
만일 파티션이 이용가능하면, 파티션의 콘텍스트(도 7의 단계 465로부터)가 단계 210에서 도 5의 GDE(130∼133) 또는 도 6의 색인(410)을 이용하여 판정된다. 예를 들어서 만일 콘텍스트가 파티션 내에 세그멘트를 포함하고 있으면, 그 세그멘트(423)의 위치가 식별된다. 만일 콘텍스트가 세그멘트의 그룹을 포함하고 있거나 또는 전술한 바와 같이 기록될 세그멘트 및 기록된 데이터 세그멘트에 후속하는 데이터 세트에 남아있는 모든 세그멘트를 포함하고 있으면, 그 세그멘트의 파티션(420)이 식별되고, 그 다음에 그 그룹의 모든 데이터 세그멘트 또는 파티션의 데이터 세트가 그 세그멘트의 순서(422)와 함께 판정된다.
단계 220에서, 단지 하나의 콘텍스트가 각각의 파티션에 대하여 한번에 로크될 수 있기 때문에, 도 7의 단계 453과 455에서 기록 액세스를 허가받은 논리 액세서가 하나의 기록 액세스로부터 다른 기록 액세스로 전환하면, 제어부, 예를 들면 판독/기록 제어부(35)는 새로이 요구된 파티션에 대하여 기존의 로크가 있는지를 판정하고, 이것은 다른 호스트 등이 그 콘텍스트에 대하여 또는 그 콘텍스트의 일부에 대하여 현재 기록 액세스를 갖고 있음을 의미한다.
대안으로, 매체의 단지 하나의 콘텍스트가 한번에 로크될 수 있고, 단계 220에서는 매체의 임의의 콘텍스트에 기존 로크가 있는지 여부를 판정한다.
어느 경우이든, 만일 기존 로크가 있으면, 기록 액세스는 단계 222에서 제어부(35)에 의해 실패되고, 임의의 재시도가 호스트에 의해 관리되어야 한다.
만일 다른 로크가 없으면, 파티션(420)의 단계 260에서 정의된 콘텍스트는, 단계 225에서, 지정된 기록 액세스 논리 액세서에 대하여 로크된다. 다시 도 3과 도 5를 참조하면, 일 예로서, 논리 액세서(60)가 기록 액세스를 지정받고, 데이터 세그멘트(170∼173)의 콘텍스트에 대하여 로크된다.
본 발명에 따라서, 제어부는 다른 논리 액세서, 예를 들면 액세서 "H2/L0"(61) 및 "H1/L2"(64)에 의한 제거가능한 랜덤 액세스 데이터 기억 매체의 데이터에 대한 판독 액세스를 동시에 허가하고, 각각의 로크된 기록 액세스 논리 액세서, 예를 들면 논리 액세서 "H1/L0"(60)가 아닌 임의의 논리 액세서에 의한 임의의 기록 액세스된 콘텍스트에 대한 판독 액세스를 금지하며, 로크된 기록 액세스 논리 액세서가 아닌 임의의 논리 액세서에 의한 제거가능한 랜덤 액세스 데이터 기억 매체의 각각의 로크된 파티션의 임의 데이터에 대한 기록 액세스를 금지한다.
그 다음에, 제어부는, 단계 230에서, 임의의 부속 지점을 이용하여, 랜덤 액세스 데이터 기억 매체에서 데이터를 세그멘트, 예를 들면 도 5의 데이터 세그멘트(170∼173)로서 기록하기 위하여, 로크된 콘텍스트의 기록 액세스된 데이터 세그멘트를 액세스하도록 판독/기록 액세스 유닛을 동작시킨다. 이 기술에 숙련된 사람에게는 잘 알려져 있는 바와 같이, 부속 지점은 전형적으로 데이터의 헤더 및 포맷 제어부 구조, 즉 도 5의 GDBM(128) 및 GDE(130∼133) 또는 도 6의 색인(410)에서 식별된다.
구체적으로, 제어부는 식별된 파티션의 다음 순서 세그멘트의 부속 지점을 식별하고, 부속된 데이터를 식별된 파티션의 데이터 세그멘트로서 랜덤 액세스 순서로 기록하며, 식별된 파티션의 부속 지점에서 데이터 세그멘트의 순서를 계속함에 따라 부속 데이터를 식별한다.
콘텍스트의 데이터가 기록될 때, 또는 콘텍스트 데이터 스트림의 모든 데이터가 기록되었을 때, 콘텍스트의 위치 또는 상태는 단계 233에서 업데이트되어 업데이트된 파티션의 기록된 세그멘트를 식별한다.
데이터 스트림은 기록 액세스 논리 액세서, 예를 들면, 도 3의 버퍼(70)와 논리 액세서(60)에 관련된 버퍼에서 데이터 세그멘트를 조직함으로써 테이프 또는 광디스크의 순차적 조직을 시뮬레이트하기 위해 판독/기록 액세스 유닛(32)에 의해 기록될 수 있다. 일 실시예에 있어서, 데이터는 가장 효율적인 액세스 순서로 버퍼로부터 랜덤 액세스 데이터 기억 매체에 기록되지만, 순차적인 조직은 미국 특허 출원 제09/970,881호에 개시된 맵핑에 의해 시뮬레이트된다. 다른 실시예에 있어서, 데이터 세그멘트는 버퍼로부터 순서대로 제거가능한 랜덤 액세스 데이터 기억 매체(25)에 기록된다.
기록된 데이터 스트림은 기존 데이터 스트림을 교체하거나 기존 데이터 스트림에 추가될 수 있고, 추가되는 경우에는 이전에 기록된 데이터의 끝에 있는 부속 지점에 기록된다. 부속 지점은 예를 들면 도 5의 디바이스 블록(150, 151)의 시작 부분을 포함하도록 맵핑된다.
단계 240에서는 파티션에 대한 기록 액세스의 기록 동작이 완료되고 색인이 업데이트되었는지를 판정한다. 만일 완료되지 않았으면, 단계 241에서, 기록 동작을 파티션 내의 다음 콘텍스트로 전진시키고, 단계 225에서 다음 콘텍스트를 로크하며, 다음 콘텍스트의 데이터를 기록하기 위하여 단계 230과 단계 233이 계속된다. 기록 액세스 논리 액세서에 의한 기록 액세스가 완료되었으면, 제어부는, 단계 245에서, 지정된 기록 액세스 논리 액세서, 예를 들면, 도 3의 "H1/LO"(60)에 대한 콘텍스트, 예를 들면, 도 5의 세그멘트(170∼173)의 로크를 해제하고, 단계 247에서 다음 코맨드로 진행한다.
전술한 바와 같이, 본 발명에 따라서, 제어부는 논리 액세서, 예를 들면, 도 3의 논리 액세서 "H2/L0"(61), "H1/L1"(62) 등에 의한 제거가능한 랜덤 액세스 데이터 기억 매체의 데이터에 대한 판독 액세스를 동시에 허가한다. 또한, 제어부는 상기 로크 방법에 따라 다수의 논리 액세서에 의한 제거가능한 랜덤 액세스 데이터 기억 매체의 데이터에 대한 기록 액세스를 동시에 허가한다.
판독 액세스의 실시예는 도 9에 도시되어 있고, 시작부인 단계 250에서, 판독 액세스가 논리 액세서, 예를 들면, 도 3의 논리 액세서(60∼65) 중의 하나에서 요구된다. 다시 도 3 내지 도 6을 참조하면, 단계 255에서, GDBM(125) 또는 색인(410)은 요구된 콘텍스트가 매체 내에 있는지 및 유효한지를 판정하기 위해 데이터 기억 매체 드라이브(30)의 판독/기록 제어부(35)에 의해 검사된다. 상기 요구는 전체 파티션(420) 또는 특수 데이터(421)를 포함할 수 있고, 단일 데이터 세그멘트 또는 완전 데이터 스트림을 포함할 수 있다. 만일 잘못된 세그멘트(wrong segment) 등이 요구되거나 요구된 데이터가 유효하지 않으면, 단계 258에서 유효 데이터가 없다는 메시지가 전송된다.
만일 데이터, 위치, 파티션 등이 유효이면, (도 7의 단계 465로부터의) 파티션의 콘텍스트는 GDE(130∼133) 또는 색인(410)을 이용하여 단계 260에서 판정된다. 예를 들어, 만일 콘텍스트가 파티션 내에 세그멘트를 포함하고 있으면, 그 세그멘트(423)의 위치가 식별된다. 만일 콘텍스트가 세그멘트의 그룹 또는 데이터 세트를 포함하고 있으면, 그 세그멘트의 파티션(420)이 식별되고, 그 다음에, 그 그룹의 모든 데이터 세그멘트 또는 파티션의 데이터 세트가 그 세그멘트의 순서(422)와 함께 판정된다.
단계 263에서, 제어부, 예를 들면, 판독/기록 제어부(35)는 그 콘텍스트에 대하여 기존의 로크가 있는지를 판정한다. 이것은 기록 액세스를 가진 논리 액세서, 예를 들면 논리 액세서(60)가 요구된 콘텍스트 또는 콘텍스트의 일부에 대한 기록 액세스를 로크하였음을 의미한다. 콘텍스트가 로크되었으면, 단계 269에서 판독 액세스가 제어부에 의해 실패되고, 로크와 마주쳤다는 보고서가 작성된다. 임의의 재시도는 호스트에 의해 관리되어야 한다.
순차적인 포맷 구현에 있어서, 순차적인 판독 또는 명백한 재배치가 호스트 에 대하여 실패하였기 때문에, 현재 로크된 콘텍스트를 가로지르거나 그 콘텍스트 내에 논리적으로 위치되는 것이 불가능하다. 그러므로, 로크와의 마주침은 단계 269에서 특수화된 "데이터 응답의 끝"으로서 보고될 수 있다.
만일 요구된 콘텍스트에 대한 로크가 없으면, 파티션은 단계 275에서 판독/기록 액세스 유닛(32)에 의해 판독된다. 본 발명에 따라서, 데이터 스트림의 테이프 또는 광디스크 순차 조직은, 단계 277에서, 랜덤 액세스된 데이터를 호스트에 의한 순차적인 액세스를 위하여 원하는 순서로 조직함으로써 시뮬레이트된다. 식별된 파티션의 데이터 세그멘트를 판독 액세스함에 있어서, 제어부는 임의의 기록 부속된 데이터를 식별된 파티션으로서 추가적으로 식별한다.
따라서, 단계 275에서, 콘텍스트의 데이터 세그멘트는 랜덤 액세스 매체의 랜덤 액세스의 가장 효율적인 순서로 판독될 수 있고(A), 버퍼, 예를 들면 버퍼(56)에 기억된 데이터는 액세스될 때에, 버퍼 내에서 순서대로 포인터에 의해 배열된다(단계 277).
데이터 스트림에서 데이터 세그멘트의 순서는 도 5의 GDE(130∼133)의 순차 번호 또는 도 6의 색인(410)의 순차 번호(422)에 의해 결정된다. 공통 데이터 스트림의 제1 데이터 세그멘트의 위치 및 후속 세그멘트 각각에 대한 부속 지점의 위치는 GDE에 의해 또는 색인(410)의 위치 어드레스(423)에 의해 제공된다.
다른 실시예(B)에서, 데이터 세그멘트는, 예를 들면 미국 특허 출원 제 09/970,881호의 맵핑을 이용하여, 제거가능한 랜덤 액세스 데이터 기억 매체(25)에서 테이프 또는 광디스크 순서로 액세스되고, 버퍼(56)에 순서대로 기억된다.
일단 조직되면, 제어부는, 단계 280에서, 요구하는 호스트 시스템(310, 312) 또는 라이브러리 제어부(302)와 관련한 판독 액세스 논리 액세서에 대하여 판독 액세스를 제공한다. 단계 285에서는 요구된 전체 데이터 스트림이 판독되었는지를 판정한다. 만일 판독되지 않았으면, 단계 286에서는 파티션 내에서 다음 콘텍스트로 판독 동작을 전진시키고, 단계 263에서는 다음 콘텍스트가 로크되었는지를 판정하며, 파티션의 데이터를 판독하기 위하여 단계 275, 277 및 280이 계속된다. 판독 액세스 논리 액세서에 의한 판독 액세스가 완료되었으면, 제어부는, 단계 287에서, 예를 들면 호스트로부터 다음 코맨드를 수신한다.
따라서, 본 발명은 랜덤 액세스 매체에 기억된 시뮬레이트된 순차 데이터에 대한 동시 판독 및 기록 액세스를 제공하고, 기록 액세스 논리 액세서에 대하여, 독특하게 식별된 파티션의 적어도 데이터 세그멘트로 구성된 하나 이상의 기록 액세스된 콘텍스트를 로크하며, 판독/기록 액세스 유닛은 로크된 기록 액세스 논리 액세서에 대하여 기록 액세스된 콘텍스트를 액세스한다.
판독 또는 기록 매체 액세스가 비연속 방식으로 수행될 때, 로크된 기록 액세스 논리 액세서 이외의 다수의 논리 액세서에 의해 제거가능한 랜덤 액세스 데이터 기억 매체의 데이터에 대하여 동시 판독 및 기록 액세스가 제공되고, 각각의 로크된 기록 액세스 논리 액세서 이외의 임의의 논리 액세서에 의한 임의의 기록 액세스된 콘텍스트에 대한 판독 액세스를 금지하며, 다른 논리 액세서에 의한 기록 액세스된 콘텍스트를 가진 파티션에 있는 임의의 데이터에 대한 기록 액세스를 금지한다.
따라서, 본 발명은 다른 데이터 세트에 대한 동시 액세스를 제공하기 위하여 랜덤 액세스 매체의 고속 랜덤 액세스를 이용하도록 비연속 판독 및 기록 처리 중의 대기 기간의 장점을 취하고, 제거가능한 랜덤 액세스 데이터 기억 매체의 데이터에 대하여 적어도 하나의 호스트에 의한 시뮬레이트된 테이프 또는 광디스크 순차 액세스를 제공한다.
이 기술에 숙련된 사람이라면, 다른 맵핑 구성을 이용할 수 있고, LUN의 다른 구성 및 랜덤 액세스 데이터 기억 매체의 다른 구성을 또한 이용할 수 있다는 것을 이해할 것이다.

Claims (13)

  1. 제거가능한 랜덤 액세스 데이터 기억 매체(20, 25)에 기억할 수 있는 데이터에 대하여 적어도 하나의 호스트(310, 312)에 의해 동시 판독 및 기록 액세스를 제공하는 데이터 기억 매체 드라이브(30)로서; 상기 데이터는 복수의 데이터 세그멘트(170∼176, 185, 186, 150, 151, 421)를 포함하고, 상기 데이터 세그멘트의 적어도 일부는 적어도 하나의 파티션(420)을 포함하며; 상기 제거가능한 랜덤 액세스 데이터 기억 매체는 상기 데이터 기억 매체 드라이브에 액세스 가능하고 그로부터 제거가능한 것인 데이터 기억 매체 드라이브에 있어서,
    상기 제거가능한 랜덤 액세스 데이터 기억 매체에 대한 판독 액세스 및 기록 액세스 중 적어도 하나를 위하여 상기 적어도 하나의 호스트와 통신하도록 각각 구성된 복수의 논리 액세서(60∼65)와;
    상기 제거가능한 랜덤 액세스 데이터 기억 매체에 대한 판독 및 기록 액세스를 제공하는 판독/기록 액세스 유닛(32)과;
    상기 복수의 논리 액세서 및 상기 판독/기록 액세스 유닛에 결합된 판독/기록 제어부(35)
    를 포함하고,
    상기 판독/기록 제어부는:
    상기 파티션들 중의 하나에 대한 상기 논리 액세서들 중의 하나의 상기 판독 액세스 및 기록 액세스 중 적어도 하나에 응답하여, 상기 액세스를 위한 상기 파티션을 포함하는 적어도 하나의 상기 데이터 세그멘트를 식별하고;
    상기 논리 액세서 중의 하나에 의해 상기 식별된 파티션의 적어도 하나의 데이터 세그멘트에 대한 기록 액세스가 발생하였을 때, 상기 기록 액세스를 위한 상기 식별된 파티션의 적어도 상기 하나의 데이터 세그멘트를 기록 액세스된 콘텍스트로서 확립하고, 상기 기록 액세스를 위한 상기 논리 액세서 중의 하나에 대하여 상기 기록 액세스된 콘텍스트를 로크하며;
    상기 논리 액세서 중의 하나에 의한 상기 로크된 기록 액세스를 위하여 상기 기록 액세스된 콘텍스트를 액세스하도록 상기 판독/기록 액세스 유닛을 동작시키고;
    상기 논리 액세서 중에서 상기 로크된 기록 액세스 논리 액세서 이외의 다른 논리 액세서에 의해 상기 제거가능한 랜덤 액세스 데이터 기억 매체의 상기 데이터에 대하여 판독 액세스 및 기록 액세스 중 적어도 하나를 제공하고, 상기 논리 액세서 중에서 상기 로크된 기록 액세스 논리 액세서 이외의 임의의 논리 액세서에 의한 상기 기록 액세스된 콘텍스트에 대한 판독 액세스를 금지하며, 상기 논리 액세서 중에서 상기 로크된 기록 액세스 논리 액세서 이외의 다른 논리 액세서에 의한 상기 제거가능한 랜덤 액세스 데이터 기억 매체의 상기 로크된 기록 액세스 파티션의 임의의 데이터에 대한 기록 액세스를 금지하도록 상기 판독/기록 액세스 유닛을 동시에 동작시키고;
    상기 논리 액세서 중의 상기 로크된 기록 액세스 논리 액세서에 의한 상기 기록 액세스의 완료시에, 상기 논리 액세서 중의 상기 로크된 기록 액세스 논리 액세서에 대한 상기 기록 액세스된 콘텍스트의 상기 로크를 해제하도록 동작하는 것인 데이터 기억 매체 드라이브.
  2. 제1항에 있어서, 상기 판독/기록 제어부(35)는, 추가적으로 상기 논리 액세서(60∼65) 중의 하나에 의한 판독 액세스가 발생하였을 때, 상기 판독 액세스가 상기 액세스 금지된 데이터가 아닌 데이터 세그멘트(170∼176, 185, 186, 150, 151, 421)에 대한 것인지를 판정하고, 만일 그렇다면, 상기 액세스를 위하여 식별 파티션(420)의 적어도 하나의 데이터 세그멘트를 판독 콘텍스트로서 확립하도록 구성된 것인 데이터 기억 매체 드라이브.
  3. 제1항에 있어서, 상기 판독/기록 제어부(35)는, 상기 파티션(420)을 식별할 때, 상기 적어도 하나의 호스트(310, 312)에 의한 순차적 액세스를 위하여 순서대로 상기 파티션의 상기 데이터 세그멘트(170∼176, 185, 186, 150, 151, 421)를 추가로 조직하고; 상기 기록 액세스 콘텍스트에 대한 상기 판독 액세스를 금지할 때, 상기 기록 콘텍스트에 대하여 상기 순서에서 후속하는 임의의 데이터 세그멘트에 대한 판독 액세스를 추가로 금지하는 것인 데이터 기억 매체 드라이브.
  4. 제1항에 있어서, 상기 판독/기록 제어부는, 식별된 파티션(420)의 상기 데이터 세그멘트(170∼176, 185, 186, 150, 151, 421)를 기록 액세스할 때, 추가적으로:
    상기 식별된 파티션의 상기 데이터 세그멘트의 다음 순서 세그멘트에 대한 부속 지점을 식별하고;
    상기 식별된 파티션의 데이터 세그멘트로서, 상기 제거가능한 랜덤 액세스 데이터 기억 매체(20, 25)에 랜덤 액세스 순서로 부속 데이터를 기록하며;
    상기 식별된 파티션의 상기 부속 지점에서 상기 데이터 세그멘트의 상기 순서를 계속할 때 상기 부속 데이터를 식별하는 것인 데이터 기억 매체 드라이브.
  5. 제1항에 있어서, 상기 식별된 파티션(420)은 랜덤 액세스 데이터 세그멘트(170∼176, 185, 186, 150, 151, 421)의 순차적인 데이터 세트를 포함하고, 상기 랜덤 액세스 데이터 기억 매체(20, 25)는 추가의 파티션(420)을 포함하며; 상기 판독/기록 제어 유닛(35)은 상기 순차적으로 배열된 파티션을 그 자체로 식별하는 색인을 추가로 포함하는 것인 데이터 기억 매체 드라이브.
  6. 제1항에 있어서, 상기 데이터 기억 매체 드라이브가 복수의 상기 호스트(310, 312)에 결합되고, 각각의 호스트는 기록 액세스를 위하여 각각의 상기 논리 액세서(60∼65)에 관련되며, 상기 판독/기록 제어부(35)는 추가적으로 상기 복수의 논리 액세서 중의 하나에 대한 상기 기록 액세스를 지정하고, 상기 지정은 상기 기록 액세스의 소스를 포함하는 상기 호스트에 관련된 상기 논리 액세서 중의 하나에 기초하여 이루어지며, 상기 지정은 상기 식별된 파티션이 다른 논리 액세서 에 의해 현재 액세스되지 않을 때에만 이루어지는 것인 데이터 기억 매체 드라이브.
  7. 테이프 매체(20) 및 제거가능한 랜덤 액세스 데이터 기억 매체(25)를 저장하고 회수하기 위한 자동화 데이터 기억 매체 라이브러리(300)로서, 적어도 하나의 상기 제거가능한 랜덤 액세스 데이터 기억 매체는 복수의 데이터 세그멘트(170∼176, 185, 186, 150, 151, 421)를 포함하는 데이터를 기억하고, 상기 데이터 세그멘트의 적어도 일부는 적어도 하나의 파티션(420)을 포함하는 것인 자동화 데이터 기억 매체 라이브러리에 있어서,
    상기 테이프 매체를 저장하고 상기 제거가능한 랜덤 액세스 데이터 기억 매체를 저장하기 위한 복수의 저장 선반(342)과;
    복수의 데이터 세그멘트를 포함하는 데이터를 기억하는 상기 적어도 하나의 제거가능한 랜덤 액세스 데이터 기억 매체에 기억된 데이터에 대하여 적어도 하나의 호스트(310, 312)에 의한 동시 판독 및 기록 액세스를 제공하기 위한 청구항 제1항 내지 제6항 중 어느 한 항에 기재된 적어도 하나의 데이터 기억 매체 드라이브(30)와;
    상기 저장 선반에서 상기 테이프 매체를 저장 및 회수하고 상기 제거가능한 랜덤 액세스 데이터 기억 매체를 저장 및 회수하며, 상기 제거가능한 랜덤 액세스 데이터 기억 매체를 상기 데이터 기억 매체 드라이브에 로딩하고 그로부터 제거하기 위한 적어도 하나의 로보트(354, 356)와;
    상기 로보트 및 상기 데이터 기억 매체 드라이브에 결합되고, 상기 저장 선반에서 상기 테이프 매체를 저장 및 회수하고 상기 저장 선반에서 상기 제거가능한 랜덤 액세스 데이터 기억 매체를 저장 및 회수하며, 상기 제거가능한 랜덤 액세스 데이터 기억 매체를 상기 데이터 기억 매체 드라이브에 로딩하고 그로부터 제거하도록 상기 로보트를 동작시키는 라이브러리 제어부(302)
    를 포함하는 자동화 데이터 기억 매체 라이브러리.
  8. 제거가능한 랜덤 액세스 데이터 기억 매체(20∼25)에 기억할 수 있는 데이터에 대하여 적어도 하나의 호스트(310, 312)에 의해 동시 판독 및 기록 액세스를 제공하는 방법으로서; 상기 데이터는 복수의 데이터 세그멘트(170∼176, 185, 186, 150, 151, 421)를 포함하고, 상기 데이터 세그멘트의 적어도 일부는 적어도 하나의 파티션(420)을 포함하며; 상기 제거가능한 랜덤 액세스 데이터 기억 매체는 데이터 기억 매체 드라이브(30)에 액세스 가능하고 그로부터 제거가능한 것인 동시 판독 및 기록 액세스 제공 방법에 있어서,
    상기 제거가능한 랜덤 액세스 데이터 기억 매체에 대한 판독 액세스 및 기록 액세스 중 적어도 하나를 위하여 상기 적어도 하나의 호스트와 통신하도록 각각 구성된 복수의 논리 액세서(60∼65)로서 상기 데이터 기억 매체 드라이브를 구성하는 단계(450)와;
    상기 파티션에 대한 상기 논리 액세서 중 하나의 판독 액세스 및 기록 액세스 중 적어도 하나에 응답하여, 상기 액세스를 위한 상기 파티션을 포함하는 상기 데이터 세그멘트 중의 적어도 하나를 식별하는 단계와;
    상기 논리 액세서 중의 하나에 의해 상기 식별된 파티션의 적어도 하나의 데이터 세그멘트에 대한 기록 액세스가 발생하였을 때, 상기 기록 액세스를 위한 상기 식별된 파티션의 적어도 상기 하나의 데이터 세그멘트를 기록 액세스된 콘텍스트로서 확립(210)하고, 상기 논리 액세서 중의 하나에 대한 상기 기록 액세스된 콘텍스트를 로크(225)하는 단계와;
    상기 논리 액세서 중의 하나에 의한 상기 로크된 기록 액세스를 위하여 상기 기록 액세스된 콘텍스트를 액세스(230)하는 단계와;
    상기 논리 액세서 중에서 상기 로크된 기록 액세스 논리 액세서 이외의 다른 논리 액세서에 의해 상기 제거가능한 랜덤 액세스 데이터 기억 매체의 상기 데이터에 대하여 판독 액세스 및 기록 액세스 중 적어도 하나를 동시에 허용하고, 상기 논리 액세서 중에서 상기 로크된 기록 액세스 논리 액세서 이외의 임의의 논리 액세서에 의한 상기 기록 액세스된 콘텍스트에 대한 판독 액세스를 금지(269)하며, 상기 논리 액세서 중에서 상기 로크된 기록 액세스 논리 액세서 이외의 다른 논리 액세서에 의한 상기 제거가능한 랜덤 액세스 데이터 기억 매체의 상기 로크된 기록 액세스 파티션의 임의의 데이터에 대한 기록 액세스를 금지하는 단계와;
    상기 논리 액세서 중의 상기 로크된 기록 액세스 논리 액세서에 의한 상기 기록 액세스의 완료시에, 상기 논리 액세서 중의 상기 로크된 기록 액세스 논리 액세서에 대한 상기 기록 액세스된 콘텍스트의 상기 로크를 해제(245)하는 단계
    를 포함하는 동시 판독 및 기록 액세스 제공 방법.
  9. 제8항에 있어서, 상기 판독 액세스를 동시에 허용하는 단계는, 상기 논리 액세서 중의 하나에 의한 판독 액세스가 발생하였을 때, 상기 판독 액세스가 상기 액세스 금지된 데이터가 아닌 데이터 세그멘트에 대한 것인지를 판정(263)하고, 만일 그렇다면, 상기 액세스를 위한 식별된 파티션의 적어도 하나의 데이터 세그멘트를 판독 콘텍스트로서 확립(275)하는 단계를 더 포함하는 것인 동시 판독 및 기록 액세스 제공 방법.
  10. 제8항에 있어서, 상기 파티션을 식별하는 단계는, 상기 적어도 하나의 호스트에 의한 순차적 액세스를 위하여 순서대로 상기 파티션의 상기 데이터 세그멘트를 조직하는 단계와, 상기 판독 액세스를 동시에 허용하는 단계에서, 상기 기록 액세스 콘텍스트에 대한 상기 판독 액세스를 금지하고 상기 기록 콘텍스트에 대하여 상기 순서에서 후속하는 임의의 데이터 세그멘트에 대한 판독 액세스를 추가로 금지하는 단계를 더 포함하는 것인 동시 판독 및 기록 액세스 제공 방법.
  11. 제8항에 있어서, 식별된 파티션의 상기 데이터 세그멘트를 기록 액세스하는 단계는,
    상기 식별된 파티션의 상기 데이터 세그멘트의 다음 순서 세그멘트에 대한 부속 지점을 식별하는 단계와;
    상기 식별된 파티션의 데이터 세그멘트로서, 상기 제거가능한 랜덤 액세스 데이터 기억 매체에 랜덤 액세스 순서로 부속 데이터를 기록(230)하는 단계와;
    상기 식별된 파티션의 상기 부속 지점에서 상기 데이터 세그멘트의 상기 순서를 계속할 때 상기 부속 데이터를 식별하는 단계를 더 포함하는 것인 동시 판독 및 기록 액세스 제공 방법.
  12. 제8항에 있어서, 상기 식별된 파티션은 랜덤 액세스 데이터 세그멘트의 순차적인 데이터 세트를 포함하고, 상기 랜덤 액세스 데이터 기억 매체는 추가의 파티션을 포함하며; 상기 방법은 상기 순차적으로 배열된 파티션을 그 자체로 식별하는 색인을 상기 파티션들 각각에 대하여 유지하는 단계를 더 포함하는 동시 판독 및 기록 액세스 제공 방법.
  13. 제8항에 있어서, 상기 데이터 기억 매체 드라이브가 복수의 상기 호스트에 결합되고, 각각의 호스트는 기록 액세스를 위하여 각각의 상기 논리 액세서에 관련되며, 상기 방법이, 상기 기록 액세스의 소스를 포함하는 상기 호스트에 관련된 상기 논리 액세서 중의 하나에 기초하여 상기 논리 액세서 중 하나의 기록 액세스를 지정하는 단계를 더 포함하고, 상기 지정은 상기 식별된 파티션이 다른 논리 액세서에 의해 현재 액세스되지 않을 때에만 이루어지는 것인 동시 판독 및 기록 액세스 제공 방법.
KR1020047010493A 2002-01-04 2002-12-02 제거가능한 랜덤 액세스 데이터 기억 매체의 시뮬레이트순차 데이터에 대한 동시 판독 및 기입 액세스 KR100667114B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/035,117 US6785078B2 (en) 2002-01-04 2002-01-04 Concurrent read and write access to simulated sequential data of a removable random access data storage medium
US10/035,117 2002-01-04
PCT/GB2002/005420 WO2003060686A2 (en) 2002-01-04 2002-12-02 Concurrent read and write access to simulated sequential data of a removable random access data storage medium

Publications (2)

Publication Number Publication Date
KR20040071285A KR20040071285A (ko) 2004-08-11
KR100667114B1 true KR100667114B1 (ko) 2007-01-12

Family

ID=21880745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047010493A KR100667114B1 (ko) 2002-01-04 2002-12-02 제거가능한 랜덤 액세스 데이터 기억 매체의 시뮬레이트순차 데이터에 대한 동시 판독 및 기입 액세스

Country Status (10)

Country Link
US (1) US6785078B2 (ko)
EP (1) EP1481314B1 (ko)
JP (1) JP4053987B2 (ko)
KR (1) KR100667114B1 (ko)
CN (1) CN1265273C (ko)
AT (1) ATE438134T1 (ko)
AU (1) AU2002347320A1 (ko)
DE (1) DE60233167D1 (ko)
TW (1) TW200305857A (ko)
WO (1) WO2003060686A2 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346733B2 (en) 2006-12-22 2013-01-01 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library
US7603518B2 (en) 2005-12-19 2009-10-13 Commvault Systems, Inc. System and method for improved media identification in a storage device
US7596586B2 (en) 2003-04-03 2009-09-29 Commvault Systems, Inc. System and method for extended media retention
US20030135672A1 (en) * 2002-01-14 2003-07-17 Imation Corp. System having tape drive emulator and data cartridge carrying a non-tape storage medium
US7162604B1 (en) * 2002-10-08 2007-01-09 Ultera Systems, Inc. Multi-user virtual tape system
US20040098244A1 (en) * 2002-11-14 2004-05-20 Imation Corp. Method and system for emulating tape storage format using a non-tape storage medium
US20040181388A1 (en) * 2003-03-11 2004-09-16 Yung Yip System having tape drive emulator and data tape cartridge housing carrying multiple disk drives
WO2004090740A1 (en) 2003-04-03 2004-10-21 Commvault Systems, Inc. System and method for dynamically sharing media in a computer network
US7509373B2 (en) * 2003-11-24 2009-03-24 At&T Intellectual Property I, L.P. Methods for providing communications services
US7848909B2 (en) * 2004-01-14 2010-12-07 Sap Aktiengesellschaft Computing prediction results during an unbroken online interactive session
US7403451B2 (en) * 2004-07-15 2008-07-22 International Business Machines Corporation Media vaulting in an automated data storage library
GB2419222B (en) * 2004-10-15 2007-05-30 Zootech Ltd Copy deterrent for an audiovisual product
US7809914B2 (en) 2004-11-05 2010-10-05 Commvault Systems, Inc. Methods and system of pooling storage devices
US7417819B2 (en) * 2004-11-17 2008-08-26 Prostor Systems, Inc. Extendable virtual autoloader systems and methods
JP4392338B2 (ja) * 2004-12-20 2009-12-24 富士通株式会社 データ管理方法及び装置並びに階層型記憶装置
US7046476B1 (en) * 2005-01-10 2006-05-16 Hitachi Global Storage Technologies Method apparatus and system for accessing discontinuous media tracks
US20060288008A1 (en) * 2005-06-21 2006-12-21 Sukadev Bhattiprolu Append/read lock compatibility in a distributed file system
JP4268156B2 (ja) * 2005-07-08 2009-05-27 富士通株式会社 ライブラリ装置、その制御方法、及び情報処理装置
US7386868B2 (en) * 2005-07-14 2008-06-10 Quantum Corporation External desktop dock for a cartridge-based data storage unit
US7493430B2 (en) 2005-07-14 2009-02-17 Quantum Corporation Data flow control and bridging architecture enhancing performance of removable data storage systems
US20070155201A1 (en) * 2006-01-05 2007-07-05 Quantum Corporation, A Delaware Corporation PCB edge connector
US7536428B2 (en) * 2006-06-23 2009-05-19 Microsoft Corporation Concurrent read and write access to a linked list where write process updates the linked list by swapping updated version of the linked list with internal list
US7752463B2 (en) * 2006-09-07 2010-07-06 International Business Machines Corporation Automatically filling a drive table
US7539783B2 (en) 2006-09-22 2009-05-26 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library, including removable media
WO2008070813A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a front-end, distributed raid
US7831566B2 (en) 2006-12-22 2010-11-09 Commvault Systems, Inc. Systems and methods of hierarchical storage management, such as global management of storage operations
US7779220B1 (en) 2007-03-15 2010-08-17 Quantum Corporation Password-based media cartridge authentication
US8706976B2 (en) * 2007-08-30 2014-04-22 Commvault Systems, Inc. Parallel access virtual tape library and drives
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US20100070466A1 (en) 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
JP5355603B2 (ja) * 2011-01-27 2013-11-27 株式会社東芝 ディスクアレイ装置及び論理ボリュームアクセス方法
CN102646024B (zh) * 2011-02-17 2015-02-18 纬创资通股份有限公司 多硬盘的读写管理方法与***、电子装置
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
AU2013202553B2 (en) 2012-03-30 2015-10-01 Commvault Systems, Inc. Information management of mobile device data
JP5962140B2 (ja) * 2012-03-30 2016-08-03 富士通株式会社 プログラム、制御方法、制御装置およびシステム
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
US9552306B2 (en) * 2013-11-27 2017-01-24 Ca, Inc. Concurrent virtual tape usage
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US9679600B2 (en) * 2015-07-13 2017-06-13 Facebook, Inc. Mechanical pre-fetching of cold storage media
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
CN109992212B (zh) * 2019-04-10 2020-03-27 苏州浪潮智能科技有限公司 一种数据写入方法和一种数据读取方法
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355259A (en) * 1992-02-28 1994-10-11 Ampex Corporation Volume format table for data recording system
US5870764A (en) * 1993-05-12 1999-02-09 Apple Computer, Inc. Method of managing a data structure for concurrent serial and parallel revision of a work
US5485321A (en) 1993-12-29 1996-01-16 Storage Technology Corporation Format and method for recording optimization
US5774682A (en) 1995-12-11 1998-06-30 International Business Machines Corporation System for concurrent cache data access by maintaining and selectively merging multiple ranked part copies
US5926834A (en) 1997-05-29 1999-07-20 International Business Machines Corporation Virtual data storage system with an overrun-resistant cache using an adaptive throttle based upon the amount of cache free space
US6041394A (en) * 1997-09-24 2000-03-21 Emc Corporation Disk array write protection at the sub-unit level
US6052341A (en) 1997-12-16 2000-04-18 International Business Machines Corporation Device element allocation manager and method for a multi-library system for multiple host connections
US5982576A (en) 1998-03-13 1999-11-09 Tandberg Data Asa Multiple tape cartridge and drive for concurrent recording with the tapes disposed in the cartridge
US6826757B2 (en) * 2000-04-18 2004-11-30 Sun Microsystems, Inc. Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value

Also Published As

Publication number Publication date
WO2003060686A2 (en) 2003-07-24
JP2005515535A (ja) 2005-05-26
EP1481314A2 (en) 2004-12-01
CN1610876A (zh) 2005-04-27
ATE438134T1 (de) 2009-08-15
CN1265273C (zh) 2006-07-19
JP4053987B2 (ja) 2008-02-27
US20030128454A1 (en) 2003-07-10
TW200305857A (en) 2003-11-01
KR20040071285A (ko) 2004-08-11
WO2003060686A3 (en) 2004-08-26
AU2002347320A1 (en) 2003-07-30
DE60233167D1 (de) 2009-09-10
EP1481314B1 (en) 2009-07-29
US6785078B2 (en) 2004-08-31

Similar Documents

Publication Publication Date Title
KR100667114B1 (ko) 제거가능한 랜덤 액세스 데이터 기억 매체의 시뮬레이트순차 데이터에 대한 동시 판독 및 기입 액세스
US5584008A (en) External storage unit comprising active and inactive storage wherein data is stored in an active storage if in use and archived to an inactive storage when not accessed in predetermined time by the host processor
US6938123B2 (en) System and method for raid striping
US5481694A (en) High performance multiple-unit electronic data storage system with checkpoint logs for rapid failure recovery
JP2643093B2 (ja) データ記憶装置
US5551002A (en) System for controlling a write cache and merging adjacent data blocks for write operations
US6490648B1 (en) Virtual tape storage apparatus
US20070079078A1 (en) Centralized storage management method
EP2317428B1 (en) Automatically linking partitions on a tape media device
JPS60250449A (ja) デ−タ記録方法
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
JP2691087B2 (ja) データ・ファイルについてのディレクトリ・システム、装置および方法
US20160011792A1 (en) Media control device and control method
JPH0646488B2 (ja) 記憶媒体のオートチェンジャ装置
JPH04263182A (ja) テープ上の論理ブロック番号により識別される所望の論理データブロックに迅速にアクセスする方法
US7117325B2 (en) Recording device and recording system using recording disk, and backup, method for the same
US6209057B1 (en) Storage device having data buffer
US7406491B1 (en) Disk medium managing method having recording areas predefined on the disk medium as directories
US20070236817A1 (en) Magnetic-tape recording method, magnetic-tape recording apparatus, and computer system
JPH06332622A (ja) 情報処理装置
JP3030949B2 (ja) ディジタルデータ記録再生装置
JPH0854991A (ja) ライブラリ装置
JP3409627B2 (ja) 記憶装置システム
JPH0554537A (ja) デイジタルデータ記録再生装置
JPH073661B2 (ja) 情報処理システム及びその制御方法

Legal Events

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

Payment date: 20111228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee