KR100968318B1 - 데이터 저장 디바이스 및 이로부터의 정보 획득 방법 및 시스템과 컴퓨터 판독가능 저장 매체 - Google Patents

데이터 저장 디바이스 및 이로부터의 정보 획득 방법 및 시스템과 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
KR100968318B1
KR100968318B1 KR1020067022758A KR20067022758A KR100968318B1 KR 100968318 B1 KR100968318 B1 KR 100968318B1 KR 1020067022758 A KR1020067022758 A KR 1020067022758A KR 20067022758 A KR20067022758 A KR 20067022758A KR 100968318 B1 KR100968318 B1 KR 100968318B1
Authority
KR
South Korea
Prior art keywords
logical volume
data
storage device
data storage
writing
Prior art date
Application number
KR1020067022758A
Other languages
English (en)
Other versions
KR20070015185A (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 KR20070015185A publication Critical patent/KR20070015185A/ko
Application granted granted Critical
Publication of KR100968318B1 publication Critical patent/KR100968318B1/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stereophonic System (AREA)

Abstract

표준 판독/기입 커맨드를 사용하여 데이터 저장 디바이스로부터 데이터 저장 디바이스 특정 정보의 획득을 제공하기 위한 제조 시스템, 방법, 및 물건이 개시된다. 이 방법은 호스트 애플리케이션을 이용하여 고유한 레코드 시퀀스를 데이터 저장 디바이스의 논리적 볼륨에 기입한다. 데이터 저장 디바이스는 논리적 볼륨에 대한 고유한 레코드 시퀀스를 검출하며, 논리적 볼륨에 디바이스 특정 정보를 기입하여, 논리적 볼륨에 대한 판독 커맨드를 이용하여 데이터 저장 디바이스 특정 정보를 판독하는 능력을 호스트 애플리케이션에게 허용한다.

Description

데이터 저장 디바이스 및 이로부터의 정보 획득 방법 및 시스템과 컴퓨터 판독가능 저장 매체{DYNAMIC LOADING OF VIRTUAL VOLUME DATA IN A VIRTUAL TAPE SERVER}
본 발명은 일반적으로 가상 테이프 서버로부터 호스트 애플리케이션에 의한 저장 제어기 특정 데이터의 검색에 관한 것이다. 저장 제어기 특정 데이터의 검색은 호스트 컴퓨터와 가상 테이프 서버 사이의 데이터 경로를 이용하여 달성된다.
가상 테이프 저장 시스템은 하드 디스크 드라이브 저장장치를 이용하여 테이프 드라이브 및 테이프 카트리지를 에뮬레이트한다. 예를 들어, 호스트 시스템은, 테이프 라이브러리를 에뮬레이트하는 하드 디스크 드라이브의 세트에 대하여 입/출력(I/O) 동작을 수행함으로써 테이프 라이브러리에 대한 I/O 동작을 수행한다. IBM(International Business Machines) Magstar
Figure 112010004300990-pct00001
가상 테이프 서버와 같은 종래의 가상 테이프 저장 시스템에서는, 하나 이상의 가상 테이프 서버(VTS)가 다수의 테이프 드라이브 및 테이프 카트리지를 포함하는 테이프 라이브러리에 연결된다. 또한, VTS는, 다수의 상호접속된 하드 디스크 드라이브로 이루어진 DASD(direct access storage device)에 연결된다.
DASD는 테이프 라이브러리에서 볼륨에 대한 캐시(cache)로서 기능한다. VTS 동작에서, VTS는 호스트의 요청을 프로세싱하여 테이프 라이브러리 내의 볼륨에 액세스하고, 가능하다면, 그 요청에 대한 데이터를 캐시로부터 반환한다. 만약 그 볼륨이 캐시에 있지 않으면, VTS는 볼륨을 테이프 라이브러리로부터 캐시로 리콜한다, 즉, VTS는 테이프 라이브러리로부터 캐시로 데이터를 전송한다. VTS는, 테이프 라이브러리로부터 캐시로 리콜되어야 할 볼륨에 대한 요청보다 캐시에 존재하는 볼륨에 대한 호스트 요청에 실질적으로 더 신속하게 응답할 수 있다.
캐시가 테이프 라이브러리보다 더 신속하게 요청을 만족시킬 수 있기 때문에, 빈번히 액세스되는 볼륨이 캐시에 유지된다면, I/O 요청은 더 신속하게 만족될 수 있다. 그러나, 캐시의 용량은 테이프 라이브러리와 비교해 볼 때 상대적으로 작기 때문에, 모든 볼륨이 캐시에 유지될 수는 없다. 따라서, VTS 또한 캐시로부터 테이프 라이브러리로 볼륨을 프리마이그레이션(premigration)시킨다, 즉, VTS는 캐시로부터 테이프 라이브러리 내의 테이프 카트리지로 데이터를 전송한다. 캐시로부터 테이프 카트리지로 데이터를 전송하는 프로세스는 프리마이그레이션이라 한다. 결국, 이 프리마이그레이션된 볼륨은 캐시로부터 제거되고, 테이프 카트리지 상의 데이터에 포인팅하는 포인터로 단축되어, 신규한 데이터를 위한 캐시 내의 공간을 비우게(free) 될 것이다. 이러한 단축 동작, 또는 "마이그레이션(migration)" 동작은 매우 신속하며, VTS에서의 성능 병목현상은 프리마이그레이션 동작 그 자체에서 발생한다.
일반적으로, 호스트 컴퓨터 상에서 구동하는 애플리케이션은 데이터 경로를 이용하여, 데이터를 판독하고 그 데이터를 저장 디바이스에 기입한다. 호스트에 의한 VTS 동작에서, VTS와 연관된 데이터 저장장치에 대해 데이터를 판독 및 기입하기 위해 데이터 경로가 이용된다. 만약 (호스트 상에서 구동하는) 애플리케이션이 데이터 저장 디바이스(즉, VTS)에 관한 디바이스 정보를 필요로 하면, 그 디바이스 정보를 획득하기 위하여, 다른 특별한 경로를 이용하는 특별한 애플리케이션이 기입되어야 한다. 예를 들어, AIX 애플리케이션에서, 판독 및 기입은 애플리케이션 데이터를 전송하기 위해 사용되며, IOCTLS(특정 AIX 디바이스 드라이버에 대한 입력 및 출력 제어 커맨드)가 디바이스 특정 정보를 획득하기 위해 요구된다.
일반적으로, 디바이스 정보를 획득하기 위해 이용되는 특별한 경로는 디바이스-특정이지만, 통상적으로, 데이터 경로 커맨드는 디바이스-특정이 아니다. 이것은 디바이스 정보를 획득하는 애플리케이션이 하드웨어 플랫폼 사이에서 덜 이동하게 하여, 애플리케이션을 유지하는데 더 많은 비용이 들게 한다. 또한, 데이터 경로 커맨드는 전송 및 반환되는 데이터에 대해 고정된 포맷을 가지며, 데이터를 요청하는 호스트 애플리케이션, I/O 디바이스들을 제어하는 호스트의 오퍼레이팅 시스템, 데이터 저장 디바이스로부터 부가적인 정보가 필요할 때 언제든 요청을 처리하는 데이터 저장 디바이스 간의 변경 조정을 필요로 한다. 데이터 특성의 가변성이 높은 경우 저장 디바이스로부터 정보를 획득하기 위해 데이터 경로 커맨드 방법을 이용하는 것은 비효율적이다. 예를 들어, 만약 저장 디바이스가 자동화된 테이프 라이브러리이고, 요청되는 정보가 그 라이브러리에 저장된 테이프의 리스트이면, 그 리스트는 작은 라이브러리에 대해서 오직 수백 개의 엔트리만을 포함하고, 또는 큰 가상 라이브러리에 대해서는 무수한 엔트리를 포함할 수 있다. 데이터 경로 커맨드는 데이터의 완전히 가변적인 양을 용이하게 처리할 수는 없다. 통상적으로, 정보를 획득하기 위한 데이터 경로 커맨드는 한번에 하나의 테이프 식별자 또는 어떠한 고정된 다중의 테이프 식별자, 예를 들어, 100개의 테이프 식별자를 획득하도록 설계된다. 한번에 100개의 획득은 작은 라이브러리에 대해서는 잘 동작할 수도 있지만, 큰 라이브러리에 대한 정보를 획득하는데 필요한 수백개의 커맨드의 오버헤드는 과도하다. 요구되는 것은, 데이터 저장 디바이스로부터 디바이스-특정 정보를 획득하도록 표준 호스트 컴퓨터 데이터 경로 및 판독/기입 커맨드를 이용하는 방법이다. 따라서, 표준 호스트 컴퓨터 데이터 경로 및 판독/기입 커맨드를 이용하여 저장 디바이스로부터 특정 정보를 획득하기 위한 개선된 방법이 필요하다.
본 발명은 표준 판독/기입 커맨드를 이용하여 데이터 저장 디바이스로부터 데이터 저장 디바이스 특정 정보를 획득하기 위한 시스템 및 방법을 제공한다. 본 방법은 호스트 애플리케이션을 이용하여, 고유한 레코드 시퀀스를 데이터 저장 디바이스의 논리적 볼륨에 기입한다. 데이터 저장 디바이스는 논리적 볼륨에 대한 고유한 레코드 시퀀스를 검출하고, 그 논리적 볼륨에 디바이스 특정 정보를 기입하고, 논리적 볼륨에 대한 판독 커맨드를 이용하여 데이터 저장 디바이스 특정 정보를 판독할 능력을 호스트 애플리케이션에 허용한다.
방법 형태에서, 예시적인 실시예는 데이터 저장 디바이스로부터 정보를 획득하는 방법을 포함하며, 그 방법은, 고유한 레코드 시퀀스를 포함하는 데이터를 데이터 저장 디바이스 상의 논리적 볼륨에 기입하는 단계를 포함한다. 데이터 저장 디바이스는 논리적 볼륨에 기입된 데이터를 분석하여 고유한 레코드 시퀀스를 검출한다. 데이터 저장 디바이스가 논리적 볼륨에 대한 고유한 레코드 시퀀스를 검출하는 것에 응답하여, 데이터 저장 디바이스는 논리적 볼륨 상에 데이터 저장 디바이스 특정 정보를 기입하고, 데이터 저장 디바이스는 논리적 볼륨을 마운팅하고 그 논리적 볼륨으로부터 디바이스 특정 정보를 판독한다.
또 다른 예시적인 방법 실시예는 데이터 저장 디바이스로부터 정보를 획득하는 방법을 포함하여, 그 방법은, 고유한 레코드 시퀀스를 포함하는 데이터를 데이터 저장 디바이스 상의 논리적 볼륨에 기입하는 단계를 포함한다. 데이터 저장 디바이스는 논리적 볼륨에 기입된 데이터를 분석하여 고유한 레코드 시퀀스를 검출한다. 데이터 저장 디바이스가 논리적 볼륨에 대한 고유한 레코드 시퀀스를 검출하는 것에 응답하여, 데이터 저장 디바이스는 디바이스 특정 정보 데이터 요청 플래그를 논리적 볼륨과 연관된 메타데이터(metadata)에 위치시켜, 논리적 볼륨이 디바이스 특정 정보를 포함함을 나타낸다. 데이터 저장 디바이스는 논리적 볼륨을 마운팅하기 위한 요청을 수신하고 메타데이터를 판독한다. 데이터 저장 디바이스가 메타데이터 내의 디바이스 특정 정보 데이터 요청 플래그를 검출하는 것에 응답하여, 데이터 저장 디바이스는 논리적 볼륨이 특별한 데이터 요청 논리적 볼륨임을 검증하고, 논리적 볼륨에 디바이스 특정 정보를 기입한다. 데이터 저장 디바이스는 논리적 볼륨으로부터 디바이스 특정 정보를 판독하고 그 디바이스 특정 정보를 호스트 컴퓨터에 제공한다.
시스템 실시예에서, 본 발명은 디바이스로부터 정보를 획득하는 시스템을 제공하며, 그 시스템은 호스트 컴퓨터, 캐시 메모리; 논리적 볼륨을 포함하는 데이터 저장 디바이스, 그 데이터 저장 디바이스를 제어하는 중앙 처리 장치, 및 호스트 컴퓨터에 연결되어 데이터 저장 디바이스를 호스트 컴퓨터에 인터페이싱시키는 호스트 컴퓨터 인터페이스를 포함한다. 호스트 컴퓨터는 고유한 레코드 시퀀스를 포함하는 데이터를 데이터 저장 디바이스 상의 논리적 볼륨에 기입한다. 데이터 저장 디바이스는 논리적 볼륨에 기입된 데이터를 분석하여 고유한 레코드 시퀀스를 검출하고, 데이터 저장 디바이스가 논리적 볼륨에 대한 고유한 레코드 시퀀스를 검출하는 것에 응답하여, 데이터 저장 디바이스는 논리적 볼륨에 데이터 저장 디바이스 특정 정보를 기입한다. 데이터 저장 디바이스는 논리적 볼륨을 마운팅하고, 그 논리적 볼륨으로부터 디바이스 특정 정보를 판독한다. 데이터 저장 디바이스는 디바이스 특정 정보를 호스트 컴퓨터에 제공한다.
비록 다음의 상세한 설명은 바람직한 실시예 및 이용 방법을 참조하여 진행되지만, 본 발명은 이들 바람직한 실시예 및 이용 방법에 제한되도록 의도되지 않음을 당업자는 알 수 있다. 대신, 본 발명은 오직 첨부된 특허청구범위에 개시된 것으로 제한되도록 의도된다.
본 발명의 더 상세한 이해를 위해, 첨부 도면과 함께 다음의 상세한 설명을 참조할 수도 있다.
이하, 본 명세서에서 동일한 참조 번호는 동일한 부품을 나타내는 도면을 참조한다.
도 1은 본 발명의 일 구현에 따른 컴퓨팅 환경을 블록도로 나타낸 것이다.
도 2는 본 발명의 일 구현에 따른 컴퓨팅 환경의 추가적인 상세를 블록도로 나타낸 것이다.
도 3은 본 발명의 일정 구현에 따른 가상 테이프 서버, 캐시, 및 물리적 라이브러리를 포함하는 블록도를 나타낸 것이다.
도 4는 데이터 저장 디바이스에 데이터를 기입하는 프로세스의 흐름도를 나타낸 것이다.
도 5는 데이터 저장 디바이스로부터 데이터를 판독하는 프로세스의 흐름도를 나타낸 것이다.
도 6은 데이터 저장 디바이스 특정 정보를 획득하기 위한 본 발명의 일 실시예의 흐름도를 나타낸 것이다.
도 7은 데이터 저장 디바이스 특정 정보를 획득하기 위한 본 발명의 제 2 실시예의 흐름도를 나타낸 것이다.
도 8은 본 발명을 위해 이용될 수도 있는 호스트, 오퍼레이터 인터페이스 및 VTS의 구조의 일 구현을 블록도로 나타낸 것이다.
본 발명은 다음의 설명에서 바람직한 실시예로 설명된다. 바람직한 실시예는 도면을 참조하여 설명된다. 본 발명이 바람직한 실시예를 참조하여 설명되지만, 당업자는 포함될 수도 있는 바와 같은 대체예, 변형예, 및 균등물을 커버하도록 의도됨을 알 수 있다.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 환경(100)을 블록도로 나타낸 것이다. 가상 테이프 서버(VTS; 110)는 DASD(direct access storage device) 캐시(160) 상의 파일로서 가상 테이프를 에뮬레이트한다. 추가적인 VTS 가 이용될 수도 있지만, 예시의 목적으로, 단일 VTS(110)가 도시되어 있다. VTS(110)는 당업계에 공지되어 있는 임의의 서버 계산 디바이스이며, 당업계에 공지되어 있는 임의의 오퍼레이팅 시스템을 포함한다. 예를 들어, 본 발명의 어떤 구현에서, VTS(110)는 IBM RS/6000
Figure 112006079299703-pct00002
시스템, IBM P 시리즈
Figure 112006079299703-pct00003
를 포함하여 하나 이상의 컴퓨터에서 구현될 수도 있으며, IBM AIX
Figure 112006079299703-pct00004
오퍼레이팅 시스템을 포함한다.
하나 이상의 호스트(102) 및 하나 이상의 오퍼레이터 인터페이스(105)가 VTS(110)에 접속된다. 호스트(102) 및 오퍼레이터 인터페이스(105)는 퍼스널 컴퓨터, 워크스테이션, 서버, 메인프레임, 휴대용 컴퓨터, 팜탑 컴퓨터, 전화 디바이스, 네트워크 어플라이언스 등과 같이 당업계에 공지되어 있는 임의의 계산 디바이스일 수도 있다. 호스트(102) 및 오퍼레이터 인터페이스(105)는 IBM OS/390** 오퍼레이팅 시스템과 같이 당업계에 공지되어 있는 임의의 오퍼레이팅 시스템을 포함할 수도 있다.
VTS(110)는, VTS(110)를 제어하는 하나 이상의 중앙 처리 장치(CPU; 128), 및 저장 이용을 최적화하는 저장 매니저(130)와 같은 애플리케이션을 포함한다. 저장 매니저(130)는 자립형 애플리케이션 또는 하나 이상의 다른 애플리케이션의 일부로서 구현될 수도 있다. 저장 매니저(130)는 DASD 파일 버퍼와 같은 캐시 메모리(즉, 캐시(160)), 및 자동화된 데이터 저장 라이브러리와 같은 물리적 라이브러리(150)로의 액세스를 제어한다. 어떤 구현에서, 저장 매니저(130)는 IBM Mgastar
Figure 112008015121440-pct00005
가상 테이프 서버 및 IBM ADSTAR 분산 관리(ADSM) 소프트웨어 또는 Tivoli
Figure 112008015121440-pct00006
저장 매니저와 같은 자동화된 데이터 저장 라이브러리를 이용하기 위한 소프트웨어를 포함할 수도 있다. 저장 매니저(130)는 호스트(102), 캐시(160), 및 물리적 라이브러리(150) 사이의 데이터 이동 동작을 수행할 수도 있다. VTS 기술의 추가적인 상세는 IBM 공보 "TotalStorage
Figure 112008015121440-pct00007
Peer-to-Peer Virtual Tape Server Planning and Implementation Guide" IBM 문헌 제SG24-6115-02(2004년 저작권 IBM)에 설명되어 있다.
물리적 라이브러리(150)는 Magstar
Figure 112006079299703-pct00008
3494 테이프 라이브러리와 같은 IBM Magstar
Figure 112006079299703-pct00009
테이프 라이브러리, 또는 당업계에 공지되어 있는 임의의 다른 자동화된 데이터 저장 라이브러리 시스템을 포함할 수도 있다. 어떤 구현에서, 물리적 라이브러리(150)는, 물리적 볼륨(156)으로의 액세스를 제공하는 테이프 드라이브, CD ROM 드라이브, DVD ROM 드라이브 등과 같은 다수의 물리적 디바이스(154)를 포함한 다. 어떤 구현에서, VTS(110)는 최대 256개의 테이프 드라이브(154; IBM으로부터의 3490개의 테이프 드라이브)의 이미지를 제공한다.
캐시(160)는 다수의 상호접속된 하드 디스크 드라이브를 포함할 수도 있다. 캐시(160)는 논리적 볼륨(162)을 저장한다. 어떤 구현에서, 비록 물리적 볼륨(156)은 풀(pool)로 구성될 수도 있지만, 논리적 볼륨(162)은 풀로 구성되지 않는다. 또한, 논리적 볼륨(162)은 캐시 내의 어디든지 저장될 수도 있다. 캐시(160)는 호스트(102)로부터 물리적 라이브러리(150)로의 호스트 I/O 요청이 더 느리게 액세스가능한 물리적 라이브러리(150)와 대조적으로 더 신속하게 액세스가능한 캐시(160)로부터 서비스되게 함으로써 성능을 개선시킨다. 캐시 내의 디스크는 DASD(Direct Access Storage Device), JBOD(Just a Bunch of Disks), RAID(Redundant Array of Inexpensive Disks) 등으로서 배열될 수도 있다.
호스트(들)(102)는 VTS(110)와 테이프 동작을 교환한다. 테이프 동작의 실행은 캐시(160)에 저장된 논리적 볼륨(162)으로부터 데이터를 검색하거나 논리적 볼륨(162)에 데이터를 저장한다. 논리적 볼륨이 호스트(들)(102)에 의해 물리적 볼륨(156)에 액세스된 이후, VTS는 캐시(160)에서 논리적 볼륨(162)을 자동으로 프리마이그레이션(즉, 오프로드)한다. 어떤 구현에서, LRU(the least recently used) 논리적 볼륨(162)이 다른 논리적 볼륨(162) 이전에 전송된다. 만약 호스트들(102) 중 하나가 캐시(160)에 있지 않은 논리적 볼륨(162)을 요구하면, VTS(110)의 저장 매니저(130)는 테이프 라이브러리(150)에게 적절한 물리적 볼륨(156)을 물리적 디바이스(154)에 마운팅하도록 커맨드한다. 그 후, 요구된 데이터는 캐 시(160) 내의 논리적 볼륨(162)으로서 물리적 볼륨(156)로부터 카피된다(즉, 데이터가 리콜됨).
도 2는 본 발명의 일 실시예에 따른 컴퓨팅 환경의 추가적인 상세를 블록도로 나타낸 것이다. 데이터 저장 디바이스(즉, VTS(110))를 호스트(들)(102)에 인터페이싱시키기 위해 호스트(들)(102)에 연결된 호스트 컴퓨터 인터페이스가 데이터 저장 디바이스와 통신하는 데 이용된다. ESCON(Enterprise System Connection)
Figure 112010004300990-pct00010
어댑터(112 및 114) 또는 당업계에 공지되어 있는 임의의 다른 스위칭 메커니즘(예를 들어, 파이버 채널, SAN(Storage Area Network) 배선 등)과 같은 다양한 호스트 컴퓨터 인터페이스가 사용될 수도 있다. CADD(116)는 테이프 데몬(118A...118N)용 디바이스 드라이버이다. 테이프 데몬(118A...118N)은 호스트(들)(102)로부터 하나 이상의 호스트 컴퓨터 인터페이스를 통해 판독 및 기입 테이프 동작을 수신한다. 기입 동작에 있어서, 테이프 데몬(118A...118N)은 데이터를 수신하고, 논리적 볼륨(162)을 생성하고, 그 논리적 볼륨(162)을 파일로서 캐시(160)에 기입한다. 판독 동작에 있어서, 테이프 데몬(118A...118N)은 캐시(160)에 액세스하여 클라이언트 커널 익스텐션(146)을 통해 데이터를 검색하고 그 데이터를 호스트(102)에 반환한다. 호스트(들)(102)는, 물리적 테이프 드라이브를 에뮬레이션하는 테이프 데몬(118A...118N)보다는 물리적 테이프 드라이브와 통신하고 있는 것같이 동작한다. 각각의 테이프 데몬(118A...118N)은, 캐시(160) 내의 파일에 액세스하는데 사용되는 파일 시스템 매니저(FSM; 120A...120N)를 포함한다.
저장 매니저(130)는 캐시(160)로부터 테이프 드라이브(154A...154N)로 데이 터를 전송한다. 일 실시예에서, 저장 매니저(130)는, 도 2에 도시된 바와 같이 다중의 컴포넌트를 포함한다. 자율적 캐시 제어장치(140)는 캐시(160)로부터 테이프 드라이브(154A...154N)로의 데이터의 전송을 제어한다. 또한, 자율적 캐시 제어장치(140)는, 테이프 데몬(118A...118N)이 데이터를 캐시(160)에 기입하는 레이트를 제어한다.
상세하게는, 자율적 캐시 제어장치(140)는 데이터를 전송한다는 통지를 호스트(102) 중 하나로부터 수신한다. 호스트(들)(102)는 어떤 논리적 볼륨(162)이 테이프 카트리지(156A...156N)의 특정 풀에 위치되어야 하는지를 나타낸다. 또한, 자율적 캐시 제어장치(140)는, 파일이 캐시(160)에 저장되는 메타데이터를 유지한다. 자율적 캐시 제어장치(140)는 디스크 데이터 클라이언트(144)에게 데이터를 전송하도록 통지한다. 디스크 데이터 클라이언트(144)는, 요청된 데이터를 캐시(160)로부터 검색하고 그 데이터를 디스크 데이터 클라이언트(144)로 포워딩하는 클라이언트 커널 익스텐션(146)으로부터 데이터를 요청한다. 디스크 데이터 클라이언트(144)는 자율적 캐시 제어장치(140)의 요청 시에 데이터를 테이프 데이터 서버(142)로 포워딩한다.
테이프 데이터 서버는 테이프 드라이브(154A...154N)로의 데이터의 기입을 제어한다. 데이터는 테이프 데이터 서버로부터 어테이프(Atape) 드라이버(136)로, SCSI 어댑터(138)로, 그리고 테이프 드라이브(154A...154N)로 전송된다. 테이프 데이터 서버는 라이브러리 인터페이스(134)를 이용하여, 어떤 테이프 카트리지(154)가 테이프 드라이브 중 하나에 놓여야 하는지를 라이브러리 매니저(152)에 게 통보한다. 자율적 캐시 제어장치(140)는 라이브러리 드라이버(132)를 통해 라이브러리 매니저(152)로 메시지를 전송한다.
라이브러리 매니저(152)는 테이프 드라이브(154A...154N)로부터의 테이프 카트리지(156A...156N)의 마운팅 및 언마운팅(unmounting)을 관리한다. 자율적 캐시 제어장치(140)는 적절한 물리적 테이프 카트리지(156)를 선택하여, 액세스 또는 기입되는 논리적 볼륨(162)과의 자신의 연관에 기초하여 마운팅한다. 라이브러리 매니저(152)가 테이프 카트리지(156)의 마운팅 또는 언마운팅에 대한 통지를 수신할 때, 라이브러리 매니저(152)는, 테이프 드라이브(154A...154N)에 액세스하는데 이용되는 액세서(158)에게 통지한다. 액세서(158)는 테이프 드라이브(154A...154N)를 마운팅 및 언마운팅한다.
도 3은 본 발명의 일 실시예에 따른 VTS(110), 캐시(160), 및 물리적 라이브러리(150)를 포함하는 블록도를 나타낸다. 물리적 디바이스(154A...154N)를 포함하는 것에 더하여, 물리적 라이브러리(150)는 물리적 볼륨(156A...156N)을 포함한다. 물리적 볼륨(156A...156N)은 임의의 물리적 디바이스(154A...154N)에 마운팅될 수도 있다. 어떤 구현에서, 물리적 볼륨(156A...156N)은, 테이프 드라이브인 물리적 디바이스(154A...154N)로의 기계적 마운팅을 통해 마운팅될 수도 있는 테이프 카트리지이다. 또 다른 구현에서, 물리적 볼륨(156A...156N)은 CD ROM, DVD 또는 다른 저장 매체일 수도 있다. 어떤 구현에서, 물리적 볼륨(156A...156N)의 수는 물리적 디바이스(154A...154N)의 수보다 더 크다. 물리적 볼륨(156A...156N)은 풀로 구성될 수도 있다. 예를 들어, 물리적 볼륨(156A...156N)은 풀(157)에 있을 수도 있다.
캐시(160)와 물리적 디바이스(154A...154N) 사이에서 발생하는 동작은 프리마이그레이션(즉, 캐시(160)로부터 물리적 볼륨(156A...156N)으로의 데이터의 전송) 및 리콜(즉, 물리적 볼륨(156A...156N)으로부터 캐시(160)로의 데이터의 전송)이다. 통상적인 데이터 파일 사이즈는 100~200메가바이트이다. 일 실시예에서, VTS(110)는 N:1비를 제공하며, 여기서, N은 통상적으로 논리적 디바이스 대 물리적 디바이스(154A...154N)에 대해 10~20이다. 그러한 구현에서는, 물리적 디바이스(154A...154N)보다 더 많은 물리적 볼륨(156A...156N; 논리적 디바이스에 저장된 논리적 볼륨(162)에 대응함)이 존재하기 때문에, VTS(110)에서 물리적 디바이스(154A...154N)가 존재하는 것보다 리콜하기 위해 마운팅될 더 많은 물리적 볼륨(156A...156N)을 VTS(110)가 갖는 시간 주기가 존재할 수도 있다. 따라서, 물리적 볼륨(156A...156N)은 언마운팅될 필요가 있을 수도 있어, 다른 물리적 볼륨(156A...156N)이 마운팅될 수도 있다.
호스트(102)가 VTS(110)로부터 논리적 볼륨을 요청할 경우, 논리적 볼륨이 캐시(160) 내에 상주하면 캐시 히트가 발생한다. 만약 논리적 볼륨이 캐시 내에 상주하지 않으면, 저장 매니저(130)는 대응하는 물리적 볼륨(156A...156N)이 물리적 디바이스(154A...154N) 중 하나에 마운팅되는지를 판정한다. 만약 대응하는 물리적 볼륨(156A...156N)이 마운팅되지 않으면, 저장 매니저(130)는 대응하는 물리적 볼륨(156A...156N)을 물리적 디바이스(154A...154N) 중 하나에 마운팅한다. 그 후, 논리적 볼륨용 데이터가 대응하는 물리적 볼륨(156A...156N)으로부터 다시 전 송, 즉, 리콜된다. 어떤 구현에서, 리콜 동작은 수 분이 걸릴 수 있고, 리콜 레이턴시는 로봇 팔이 테이프 카트리지에 액세스하고 그 테이프 카트리지를 테이프 드라이브에 삽입하는 시간을 포함하며, 리콜 레이턴시는 그 테이프를 원하는 위치에 위치지정하는 시간을 포함할 수도 있다.
저장 매니저(130)는 캐시(160) 내의 복수의 논리적 볼륨(162)을 복수의 논리적(가상) 디바이스에 매핑한다. 호스트(102)는 VTS(110)를 통하여 논리적 디바이스 내의 논리적(가상) 볼륨에 액세스함으로써 I/O 동작을 수행한다. 저장 매니저(130)는 논리적 볼륨(162)을 물리적 볼륨(156A...156N)에 매핑한다. 비록 호스트(102)가 논리적 볼륨 및 논리적 디바이스를 통하여 데이터에 액세스하지만, 데이터는 물리적 디바이스(154A...154N) 상에 마운팅가능한 물리적 볼륨(156A...156N) 내에 물리적으로 저장된다.
물리적 볼륨(156A...156N)에 대응하는 논리적 볼륨(162A...162N)은 캐시(160)에 상주할 수도 있다. 도 3에서, 캐시(160)는 논리적 볼륨(162A...162N)을 포함한다. 캐시(160)에 상주하는 논리적 볼륨은 시간에 따라 변할 수도 있다. 저장 매니저(130)는 캐시(160)에서 더 가능성있게 사용되는 논리적 볼륨의 유지를 시도한다.
호스트(102)가 논리적 볼륨을 VTS(110)에 기입할 경우, 데이터는 캐시(160)에 파일로서 저장된다. 이 후, 캐싱된 데이터는 물리적 볼륨(156A...156N)에 프리마이그레이션된다. 원래의 논리적 볼륨은 캐시 히트를 위해 캐시(160)에 남겨진다. 캐시(160)가 소정의 임계값으로 충만할 경우, 선택된 논리적 볼 륨(162A...162N)에 대한 논리적 볼륨 데이터는 더 많은 논리적 볼륨에 대해 캐시로부터 자유 공간으로 제거된다. 어떤 구현에서, 저장 매니저(130)는 최장의 시간 주기 동안 캐시(160) 상에 상주하였던 선택된 논리적 볼륨(162A...162N; 즉, 가장 늦게 사용된 논리적 볼륨)을 캐시(160)로부터 제거한다.
데이터를 기입하기 위해 VTS(110)에 의해 이용될 수도 있는 표준 기입 시퀀스(400)의 일예가 도 4에 나타낸 플로우 차트(400)에 도시되어 있다. 기입 시퀀스 프로세스는, 디바이스 드라이버 CADD(116)가 테이프 데몬(118A...118N)용 데이터와 함께 마운트 커맨드 및 후속적인 기입 커맨드를 호스트(들)(102)로부터 수신하는 단계 405에서 시작한다. 단계 407에서, 저장 매니저(130)는 기입용으로 요청된 논리적 볼륨을 마운팅한다. 논리적 볼륨의 마운팅은 개방 동작, 위치지정 동작, 리와인딩(rewinding) 동작, 또는 논리적 볼륨의 시작에 대한 정확한 위치에서 데이터를 판독 또는 기입하기 위해 논리적 볼륨을 일 상태에 놓는 임의의 다른 동작을 포함할 수도 있다. 호스트(들)(102)는 기입 커맨드를 데이터 객체 및 저장 요청의 형태로 전송할 수도 있다. 데이터 객체는 논리적 볼륨, 레코드, 파일, 물리적 볼륨, 실린더, 논리적 또는 물리적 디바이스, 표면, 섹터, 페이지, 바이트, 비트, 또는 데이터의 임의의 다른 적절한 단위를 포함할 수도 있다. 단계 410에서, 테이프 데몬(118A...118N)은 데이터를 수신하고 그 데이터를 저장 매니저(130)로 포워딩한다. 단계 415에서, 저장 매니저(130)는 데이터 객체를 DASD 캐시(160) 및/또는 기본 저장 물리적 볼륨(156)에 기입한다. 데이터가 캐시, 기본 저장장치, 또는 그 양자에 기입되는지는 제어기의 사전-프로그래밍된 데이터 관리 방법에 의해 결정되 며, 그 방법은 (1) 수신된 데이터 객체를 캐시에 항상 저장하고 캐싱된 데이터 객체를 기본 저장장치에 가끔 카피 또는 제거하는 방법, (2) 수신된 데이터 객체를 기본 저장장치에 저장하고 가장 빈번히 사용되거나 사용될 것 같은 데이터 객체만을 캐싱하는 방법, (3) 공지되거나 신규한 다른 접근법과 같은 다양한 대안을 포함할 수도 있다. 또한, 저장 매니저(130)는, 캐시(160)에 저장되거나 저장되지 않을 수도 있는 메타데이터 데이터베이스에 엔트리를 생성한다. 메타데이터 데이터베이스의 엔트리는 메타데이터와 함께 데이터 객체를 상호-참조하며, 이는 이하 더 상세히 설명한다. 또한, 1차 저장 사이트와 백업 저장 사이트 간의 데이터 객체의 카피는 단계 415에서 또는 다른 적절한 시간에 발생할 수도 있다.
단계 420에서 기입 동작이 완료되었다고 판정할 때까지, 필요에 따라, 단계 420은 단계 410~415를 반복한다. 기입 동작이 종료할 때, 단계 420은 단계 425로 진행한다. 단계 425에서, 저장 매니저(130)는 현재 데이터 객체의 메타데이터를 캡슐화한다. 메타데이터의 캡슐화는 다양한 메타데이터 서브컴포넌트를 수집하는 것과 그 메타데이터 서브컴포넌트를 저장용으로 적절한 형태로 결합하는 것과 관련된다. 그러한 캡슐화는 연결(concatenation), 집합, 부분들을 통일된 형태로 함께 인코딩, 암호화 등을 수반할 수도 있다. 본 발명에 관한 메타데이터 서브컴포넌트는 디바이스 특정 정보 데이터 요청 플래그(단계 723을 참조하여 후술됨)이다. 메타데이터는, 대응하는 데이터가 저장되는 논리적 볼륨과 연관된다. 단계 430은 적절한 데이터 관리 방법의 타입에 의존하여, 단계 415에서 기입된 데이터 객체와 함께, 캐시(160) 및/또는 다른 저장 위치에 메타데이터를 기입한다. 단계 430 이후 에, 기입 시퀀스(400)는 단계 435에서 종료한다.
대안으로서, 단계 410은 메타데이터를 그 대응하는 데이터 객체로 캡슐화하고, 단계 415에서, 캡슐화된 결과를 기입할 수도 있다. 이 경우, 단계 410은 단계 415에서의 저장장치로의 후속적인 기입을 위해 수신 데이터를 버퍼링한다. 데이터 객체 및 메타데이터는, 예를 들어, 연결, 집합, 부분들을 통일된 형태로 함께 인코딩, 암호화 등에 의해 캡슐화될 수도 있다.
데이터를 판독하기 위해 VTS(110)에 의해 이용될 수도 있는 표준 판독 시퀀스의 일예는 도 5에 나타낸 플로우 차트(500)에 도시되어 있다. 플로우 차트(500)의 프로세스는 데이터 저장 디바이스로부터 정보를 획득하는 프로세스의 오직 일예이며, 다른 프로세스가 제한없이 사용될 수도 있다. 판독 시퀀스(500)는 디바이스 드라이버 CADD(116)가 특정 논리적 볼륨(162)에 대해 호스트(들)(102)로부터 마운트 요청을 수신할 경우에 시작된다. 응답으로, 디바이스 드라이버 CADD(116)는 판독 요청을 테이프 데몬(118A...118N) 및 저장 매니저(130)에 포워딩한다. 단계 507에서, 저장 매니저(130)는, 논리적 볼륨이 캐시(160)에 이미 상주하지 않는다면, 요청된 논리적 볼륨과 연관된 물리적 테이프 카트리지(156)를 판독을 위해 마운팅한다. 논리적 볼륨의 마운팅은 개방 동작, 위치지정 동작, 리와인딩 동작, 또는 논리적 볼륨의 시작에 대한 정확한 위치에서 데이터를 판독 또는 기입하기 위해 논리적 볼륨을 일 상태에 놓는 임의의 다른 동작을 포함할 수도 있다. 단계 510에서, 논리적 볼륨에 대한 데이터 및 메타데이터가 판독된다. 단계 515에서, 판독된 데이터가 호스트(102)에 반환된다. 단계 520에서, 요청된 논리적 볼륨의 판독 상 태가 검사되어, 판독이 완료되었는지를 판정한다. 만약 판독이 완료되었으면, 제어는 단계 535로 전달된다. 만약 판독이 완료되지 않았으면, 판독이 완료될 때까지 단계 510, 515 및 520이 실행된다. 프로세스는 단계 535에서 완료한다.
다음으로, 데이터 저장 디바이스로부터 정보를 획득하기 위한 본 발명의 일 실시예의 동작의 일예가 도 6을 참조하여 설명된다. 프로세스는 단계 602로 시작한다. 단계 602는 단계 605로 진행하여, 예를 들어, VTS(110)인 데이터 저장 디바이스는 기입 커맨드를 수신하여 데이터를 논리적 볼륨에 기입한다. 논리적 볼륨은 VTS(110)에 의해 관리되거나 VTS(110)와 연관된 임의의 논리적 볼륨(들)일 수도 있다. 다중의 논리적 볼륨이 동시에 제한없이 기입될 수도 있다. 기입 커맨드는, 예를 들어, 호스트(들)(102)인 외부 디바이스(들)로부터 수신된다. 다른 외부 디바이스는, 예를 들어, 클라이언트, 서버, 다른 VTS, 자동화된 데이터 저장 라이브러리 등인 데이터 저장 디바이스에 제한없이 기입 커맨드를 전송할 수도 있다. 프로세스는 단계 608로 진행하여, 기입 커맨드와 연관된 데이터가 논리적 볼륨에 기입된다. 데이터는 통상의 데이터일 수도 있으며, 또는 기입된 데이터는 고유한 레코드 시퀀스를 포함하는 데이터일 수도 있으며, 여기서, 고유한 레코드 시퀀스는 디바이스 특정 정보(후술됨)가 요청됨을 나타내기 위해 사용될 수도 있다. 플로우 차트(400; 도 4)에 나타낸 기입 프로세스가 데이터를 기입하기 위해 사용될 수도 있으며, 또는 데이터를 기입하기 위한 다른 절차가 사용될 수도 있다. 데이터의 기입을 완료한 후, 프로세스는 단계 609로 진행하여, 논리적 볼륨이 리와인딩 또는 언로딩 및 로딩된다. 단계 609의 액션은 논리적 볼륨을 준비하여 데이터를 판독하도록 실행된다. 단계 609의 완료 이후, 프로세스는 단계 610으로 진행하여, VTS(110)는 기입된 데이터의 분석이 수행될 필요가 있는지를 판정한다. 단계 610에서, 데이터 분석 단계 615가 실행될 필요가 있는지를 판정한다. 데이터 분석 단계 615가, 예를 들어, 데이터 저장 디바이스에 연결된 오퍼레이터 인터페이스(105)를 이용함으로써, 단계 610에서 디스에이블링 또는 인에이블링될 수도 있다. 단계 610은 내부 소프트웨어 스위치, 하드웨어 로직, 프로세싱 엘리먼트 등에 의해 수행될 수도 있다. 오퍼레이터 인터페이스(105)는 단계 610에서, 또는 프로세스(600)의 임의의 실행 단계에서 데이터 분석을 인에이블 또는 디스에이블하도록 사용될 수도 있다. 예를 들어, 오퍼레이터는 오퍼레이터 인터페이스(105)에서 보안 프로토콜(예를 들어, 사용자 이름 및 패스워드)을 사용하여 커맨드를 입력하여, 단계 610에서 데이터 분석을 인에이블 또는 디스에이블할 수도 있다. 예를 들어, 원격 컴퓨터 또는 다른 데이터 프로세싱 디바이스를 이용하는 VTS(110)로의 원격 로그인인 다른 수단 또는 인터페이스가 사용되어, 단계 610에서 데이터 분석을 인에이블 또는 디스에이블할 수도 있다. 단계 610에서, 데이터 분석이 디스에이블되면, 제어는 단계 622로 진행하여, 이전에 저장된 데이터가 논리적 볼륨으로부터 판독될 수도 있다. 다른 방법으로, 단계 622에서, 데이터는 논리적 볼륨에 기입될 수도 있다. 단계 622에서의 판독 또는 기입 동작은 호스트(들)(102)로부터의 판독 또는 기입 요청의 결과일 수도 있다. 판독 또는 기입 요청은 논리적 볼륨에 대한 언마운팅 동작, 마운팅 동작, 또는 리와인딩 동작을 추가로 포함할 수도 있다. 플로우 차트(500; 도 5) 및 플로우 차트(400; 도 4)에 나타낸 판독 또는 기입 프로세스가 데이터를 판독 또는 기입하기 위해 사용될 수도 있으며, 또는 데이터를 판독 및 기입하기 위한 다른 절차가 사용될 수도 있다. 다른 방법으로, 단계 622가 실행될 필요는 없다. 단계 622의 실행 이후, 제어는 단계 650으로 진행하여 프로세스가 종료한다. 단계 622는, 이때에 데이터를 판독하는 것이 필요한지 또는 다른 시간에 데이터를 판독하는 것이 유리한지에 의존하여 실행될 수도 있거나 실행되지 않을 수도 있다.
단계 610에서 데이터 분석이 인에이블되면, 제어는 단계 615로 진행하여, 논리적 볼륨에 기입된 데이터가 분석되어 고유한 레코드 시퀀스를 검출한다. 데이터는, 논리적 볼륨 상의 데이터를 판독하고 그 데이터를 분석용 임시 저장장치에 저장하고 저장될 때에 그 데이터를 인터셉트하는 등에 의해 분석될 수도 있다. 분석된 데이터는 호스트(102)에 의해 기입된 전체 데이터 시퀀스 또는 그 특정 서브세트로 이루어질 수도 있다. 데이터 저장 디바이스(즉, VTS(110))는 논리적 볼륨에 기입된 데이터를 분석하여 고유한 레코드 시퀀스를 검출할 수도 있으며, 또는 VTS(110)와 연관된 다른 프로세싱 엘리먼트 또는 디바이스가 사용될 수도 있다. 고유한 레코드 세트는, 데이터 저장 디바이스로부터의 디바이스 특정 정보에 대한 요청이 호스트(들)(102)에 의해 요청됨을 나타내기 위해 사용된다. 고유한 레코드 세트는, 논리적 볼륨에 기입된 통상의 데이터에 비해 존재 확률이 낮은 데이터의 특정 패턴이다. 고유한 레코드 세트의 일예는 볼륨 헤더; 제 1 데이터세트 헤더; 제 2 데이터세트 헤더; 제 1 테이프 마크; 키 레코드; 문의 식별자 레코드; 제 2 테이프 마크; 볼륨 트레일러; 파일의 제 1 볼륨 엔드; 파일의 제 2 볼륨 엔드; 제 3 테이프 마크; 및 제 4 테이프 마크이다. 볼륨 헤더, 데이터세트 헤더, 테이프 마크, 파일 레코드의 엔드 및 볼륨 트레일러는 테이프 볼륨을 식별하는 산업 표준 방법들이다(정의는 IBM 공보 #SG26-7412인 "DFSMS: using magnetic tape"로부터 입수가능함).
상술한 바와 다른 고유한 레코드 세트가 제한없이 본 발명과 함께 사용될 수도 있다. 고유한 레코드 세트는, 논리적 볼륨에 기입된 통상의 데이터에 비해 발생 확률이 낮은 데이터의 패턴이어야 한다.
단계 620에서 고유한 레코드 세트가 논리적 볼륨 상에서 검출되지 않으면, 제어는 단계 622로 진행하여, 이전에 저장된 데이터가 논리적 볼륨으로부터 판독될 수도 있다. 단계 622에 대한 상기 설명은 이 실행에 또한 적용한다. 단계 622의 실행 이후, 제어는 단계 650으로 진행하여 프로세스가 종료한다. 단계 622는 이때에 데이터를 판독하는 것이 필요한지 또는 다른 시간에 데이터를 판독하는 것이 유리한지에 의존하여 실행될 수도 있거나 실행되지 않을 수도 있다. 단계 620에서 고유한 레코드 세트가 논리적 볼륨 상에서 검출되면, 프로세스는 단계 623으로 진행하여, 논리적 볼륨에 기입된 고유한 레코드 세트가 디바이스 특정 정보를 반영하도록 부가되거나 대체되거나 변경된다. 이것은, 하나 이상의 논리적 볼륨에 대한 고유한 레코드 시퀀스를 검출한 후 논리적 볼륨에 대한 데이터 저장 디바이스 특정 정보를 기입하는 데이터 저장 디바이스(즉, VTS(110))에 의해 달성될 수도 있다. 또한, 단계 623에서, VTS(110)는 호스트(들)(102)에게, 논리적 볼륨에 저장된 디바이스 특정 정보가 이제 판독하도록 이용가능함을 통지한다. 디바이스 특정 정보는 VTS(110), 논리적 또는 물리적 볼륨, 관련 저장 디바이스(즉, 테이프 드라이브, 라이브러리(150) 등)에 대한 다양한 형태의 정보를 포함할 수도 있다. 디바이스 특정 정보는 논리적 볼륨과 연관된 메타데이터 속성의 리스트를 포함할 수도 있다. 예를 들어, 메타데이터의 속성은, 피어-투-피어 VTS 서브시스템으로 연결되는 2개의 VTS 사이에서 논리적 볼륨의 카피들을 동기시키기 위해 사용되는 데이터 버전 레벨의 리스트를 포함할 수도 있다. 또한, 메타데이터의 속성은, 각각의 논리적 볼륨이 연관되는 물리적 테이프 카트리지의 어떤 풀을 제어하는 호스트 구조의 리스트를 포함할 수도 있다. 메타데이터의 속성은 데이터에 대한 통계적 정보 또는 데이터에 대한 다른 정보를 제한 없이 포함할 수도 있다. 디바이스 특정 정보는, 예를 들어, VTS(110)인 데이터 저장 디바이스의 동작 이력의 리포트를 포함할 수도 있다. 데이터 저장 디바이스의 동작 이력은, 저장되거나 검색된 데이터, 파워 업/다운 시퀀스, VTS의 성능 이력, 및 캐시(160) 또는 테이프 드라이브(154)와 같이 VTS를 포함하는 서브시스템의 이용에 관한 정보를 포함할 수도 있다. 동작 이력의 리포트의 형태는, 예를 들어, 간단한 리스트, 그래픽 묘사, 인터랙티브 데이터 파일 등 다양한 형태를 취할 수도 있다. 디바이스 특정 정보는, 예를 들어, VTS(110)인 데이터 저장 디바이스의 동작 상태의 리포트를 포함할 수도 있다. 데이터 저장 디바이스의 동작 상태는, 저장되거나 검색된 데이터의 현재 상태, 파워 업/다운 시퀀스 상태, 및 캐시(160) 또는 테이프 드라이브(154)와 같이 VTS를 포함하는 서브시스템의 가용 상태에 관한 정보를 포함할 수도 있다. 동작 상태의 리포트의 형태는, 예를 들어, 간단한 리스트, 그래픽 묘사, 인터랙티브 데이터 파일 등 다양한 형태를 취할 수도 있다. 디바이스 특정 정보는 데이터 저장 디바이스에 저장된 논리적 볼륨의 물리적 위치의 리스트를 포함할 수도 있다. 예를 들어, 논리적 볼륨의 물리적 위치는 하나 이상의 물리적 디바이스(154), 물리적 볼륨(156), 테이프 드라이브(154A~154N), 테이프 카트리지(156A~156N), DASD(160) 또는 VTS(110)와 연관된 다른 디바이스에 상주할 수도 있다. 물리적 위치의 리스트의 형태는, 예를 들어, 간단한 리스트, 그래픽 묘사, 인터랙티브 데이터 파일 등 다양한 형태를 취할 수도 있다.
단계 623의 실행 이후, 제어는 단계 625로 진행한다. 단계 625에서, 디바이스 특정 정보가 기입된 논리적 볼륨이 마운팅된다. 단계 625에서의 논리적 볼륨의 마운팅은 논리적 볼륨의 개방 동작; 논리적 볼륨의 리와인딩 동작; 또는 데이터가 논리적 볼륨으로부터 판독될 수 있도록 논리적 볼륨을 일 상태에 놓는 논리적 볼륨에 대한 임의의 다른 동작을 추가로 포함할 수도 있다. 논리적 볼륨의 마운팅은, 예를 들어, 호스트(들)(102)인 외부 디바이스로부터 판독 커맨드(즉, 프로세스(500), 도 5)를 수신하는 VTS(110)의 결과일 수도 있다. 또한, 논리적 볼륨의 마운팅은 물리적 테이프 드라이브(154)로부터 캐시(160)에서 논리적 볼륨의 전체 콘텐츠를 검색하는 단계, 볼륨 데이터 또는 볼륨 메타데이터 중 어느 하나를 체크함으로써 정확한 논리적 볼륨이 액세스되는지를 검증하는 단계, 및 에러 검출 또는 정정 코드를 사용하여 논리적 볼륨의 무결성을 검증하는 단계를 포함할 수도 있다. 단계 625에서의 논리적 볼륨의 마운팅 이후, 제어는 단계 630으로 진행하여, 데이터 저장 디바이스(즉, VTS(110))가 논리적 볼륨으로부터 디바이스 특정 정보를 판 독한다. 판독된 정보는, 예를 들어, 호스트(들)(102)인, 정보를 요청하는 디바이스에 전송된다. 디바이스 특정 정보의 판독은 볼륨 헤더를 판독하는 단계; 제 1 데이터세트 헤더를 판독하는 단계; 제 2 데이터세트 헤더를 판독하는 단계; 제 1 테이프 마크를 판독하는 단계; 리포트 헤더를 판독하는 단계; 하나 이상의 리포트 데이터 레코드를 판독하는 단계; 제 2 테이프 마크를 판독하는 단계; 볼륨 트레일러를 판독하는 단계; 파일의 제 1 볼륨 엔드를 판독하는 단계; 파일의 제 2 볼륨 엔드를 판독하는 단계; 제 3 테이프 마크를 판독하는 단계; 및 제 4 테이프 마크를 판독하는 단계를 포함할 수도 있다. 하나 이상의 리포트 데이터의 판독은 데이터 저장 디바이스 내의 논리적 볼륨과 연관된 메타데이터 속성의 리스트; 데이터 저장 디바이스의 동작 이력의 리포트; 데이터 저장 디바이스의 동작 상태의 리포트; 및 데이터 저장 디바이스 내의 논리적 볼륨의 물리적 위치의 리스트 중 임의의 것(상술되었음)을 포함할 수도 있다. 단계 630의 실행 이후, 제어는 단계 650으로 전달되어 프로세스가 종료한다.
다음으로, 데이터 저장 디바이스로부터 정보를 획득하기 위한 본 발명의 제 2 실시예의 동작의 일예가 도 7을 참조하여 설명된다. 프로세스는 단계 702로 시작한다. 단계 702는 단계 705로 진행하여, 예를 들어, VTS(110)인 데이터 저장 디바이스는 기입 커맨드를 수신하여 데이터를 논리적 볼륨에 기입한다. 논리적 볼륨은 VTS(110)에 의해 관리되거나 VTS(110)와 연관된 임의의 논리적 볼륨(들)일 수도 있다. 다중의 논리적 볼륨이 동시에 제한없이 기입될 수도 있다. 기입 커맨드는, 예를 들어, 호스트(들)(102)인 외부 디바이스(들)로부터 수신된다. 다른 외부 디바이스는, 예를 들어, 클라이언트, 서버, 다른 VTS, 자동화된 데이터 저장 라이브러리 등인 데이터 저장 디바이스에 제한없이 기입 커맨드를 전송할 수도 있다. 프로세스는 단계 708로 진행하여, 기입 커맨드와 연관된 데이터가 논리적 볼륨에 기입된다. 데이터는 통상의 데이터일 수도 있으며, 또는 기입된 데이터는 고유한 레코드 시퀀스를 포함하는 데이터일 수도 있으며, 여기서, 고유한 레코드 시퀀스는 디바이스 특정 정보(후술됨)가 요청됨을 나타내기 위해 사용될 수도 있다. 플로우 차트(400; 도 4)에 나타낸 기입 프로세스가 데이터를 기입하기 위해 사용될 수도 있으며, 또는 데이터를 기입하기 위한 다른 절차가 사용될 수도 있다. 데이터의 기입을 완료한 후, 프로세스는 단계 710으로 진행하여, VTS(110)는 기입된 데이터의 분석이 수행될 필요가 있는지를 판정한다. 단계 710에서, 데이터 분석 단계 715가 실행될 필요가 있는지를 판정한다. 데이터 분석 단계 715가, 예를 들어, 데이터 저장 디바이스에 연결된 오퍼레이터 인터페이스(105)를 이용함으로써, 단계 710에서 디스에이블링 또는 인에이블링될 수도 있다. 단계 710은 내부 소프트웨어 스위치, 하드웨어 로직, 프로세싱 엘리먼트 등에 의해 수행될 수도 있다. 오퍼레이터 인터페이스(105)는 단계 710에서, 또는 프로세스(700)의 임의의 실행 단계에서 데이터 분석을 인에이블 또는 디스에이블하도록 사용될 수도 있다. 예를 들어, 오퍼레이터는 오퍼레이터 인터페이스(105)에서 보안 프로토콜(예를 들어, 사용자 이름 및 패스워드)을 사용하여 커맨드를 입력하여, 단계 710에서 데이터 분석을 인에이블 또는 디스에이블할 수도 있다. 예를 들어, 원격 컴퓨터 또는 다른 데이터 프로세싱 디바이스를 이용하는 VTS(110)로의 원격 로그인인 다른 수단 또는 인터페이스가 사용되어, 단계 710에서 데이터 분석을 인에이블 또는 디스에이블할 수도 있다. 단계 710에서, 데이터 분석이 디스에이블되면, 제어는 단계 722로 진행하여, 이전에 저장된 데이터가 논리적 볼륨으로부터 판독될 수도 있다. 다른 방법으로, 단계 722에서, 데이터는 논리적 볼륨에 기입될 수도 있다. 단계 722에서의 판독 또는 기입 동작은 호스트(들)(102)로부터의 판독 또는 기입 요청의 결과일 수도 있다. 판독 또는 기입 요청은 논리적 볼륨에 대한 언마운팅 동작, 마운팅 동작, 또는 리와인딩 동작을 추가로 포함할 수도 있다. 플로우 차트(500; 도 5)에 나타낸 판독 프로세스가 데이터를 판독하기 위해 사용될 수도 있으며, 또는 데이터를 판독하기 위한 다른 절차가 사용될 수도 있다. 다른 방법으로, 단계 722가 실행될 필요는 없다. 단계 722의 실행 이후, 제어는 단계 770으로 진행하여 프로세스가 종료한다. 단계 722는, 이때에 데이터를 판독하는 것이 필요한지 또는 다른 시간에 데이터를 판독하는 것이 유리한지에 의존하여 실행될 수도 있거나 실행되지 않을 수도 있다. 단계 710에서 데이터 분석이 인에이블되면, 제어는 단계 715로 진행하여, 논리적 볼륨에 기입된 데이터가 분석되어 고유한 레코드 시퀀스를 검출한다. 데이터는, 논리적 볼륨 상의 데이터를 판독하고 그 데이터를 분석용 임시 저장장치에 저장하고 저장될 때에 그 데이터를 인터셉트하는 등에 의해 분석될 수도 있다. 분석된 데이터는 호스트(102)에 의해 기입된 전체 데이터 시퀀스 또는 그 특정 서브세트로 이루어질 수도 있다. 저장 디바이스(즉, VTS(110))는 논리적 볼륨에 기입된 데이터를 분석하여 고유한 레코드 시퀀스를 검출할 수도 있으며, 또는 VTS(110)와 연관된 다른 프로세싱 엘리먼트 또는 디바이스가 사용될 수도 있다. 고유한 레코드 세트는, 데이터 저장 디바이스로부터의 디바이스 특정 정보에 대한 요청이 호스트(들)(102)에 의해 요청됨을 나타내기 위해 사용된다. 고유한 레코드 세트는, 논리적 볼륨에 기입된 통상의 데이터에 비해 존재 확률이 낮은 데이터의 특정 패턴이다. 고유한 레코드 세트의 일예는 볼륨 헤더; 제 1 데이터세트 헤더; 제 2 데이터세트 헤더; 제 1 테이프 마크; 키 레코드; 문의 식별자 레코드; 제 2 테이프 마크; 볼륨 트레일러; 파일의 제 1 볼륨 엔드; 파일의 제 2 볼륨 엔드; 제 3 테이프 마크; 및 제 4 테이프 마크이다. 볼륨 헤더, 데이터세트 헤더, 테이프 마크, 파일 레코드의 엔드 및 볼륨 트레일러는 테이프 볼륨을 식별하는 산업 표준 방법들이다. 상술한 바와 다른 고유한 레코드 세트가 제한없이 본 발명과 함께 사용될 수도 있다. 고유한 레코드 세트는, 논리적 볼륨에 기입된 통상의 데이터에 비해 발생 확률이 낮은 데이터의 패턴이어야 한다. 단계 720에서 고유한 레코드 세트가 논리적 볼륨 상에서 검출되지 않으면, 제어는 단계 722로 진행하여, 이전에 저장된 데이터가 논리적 볼륨으로부터 판독될 수도 있다. 단계 622 및 722 의 동작에 대한 상기 설명은 단계 722의 이 실행에 또한 적용한다. 단계 722의 실행 이후, 제어는 단계 770으로 진행하여 프로세스가 종료한다. 단계 722는 이때에 데이터를 판독하는 것이 필요한지 또는 다른 시간에 데이터를 판독하는 것이 유리한지에 의존하여 실행될 수도 있거나 실행되지 않을 수도 있다.
단계 720에서 논리적 볼륨에 대한 고유한 레코드 시퀀스를 검출하는 데이터 저장 디바이스에 응답하여, 데이터 저장 디바이스(즉, VTS(110))는 단계 723에서 논리적 볼륨과 연관된 메타데이터에 디바이스 특정 정보 데이터 요청 플래그를 위 치시켜, 논리적 볼륨이 디바이스 특정 정보를 포함하고 논리적 볼륨이 특별한 데이터 요청 논리적 볼륨임을 나타낸다. 단계 723의 실행 이후, 제어는 단계 725로 진행하여, 호스트(들)(102)는 데이터 저장 디바이스(즉, VTS(110))에게 논리적 볼륨의 판독을 준비하기 위해 논리적 볼륨을 마운팅하도록 요청한다. 논리적 볼륨의 마운팅은 단계 725에서의 요청을 수신한 후에 시작한다. 논리적 볼륨의 마운팅은 논리적 볼륨의 개방 동작; 논리적 볼륨의 리와인딩 동작; 또는 데이터가 논리적 볼륨으로부터 판독될 수 있도록 논리적 볼륨을 일 상태에 놓는 논리적 볼륨에 대한 임의의 다른 동작을 추가로 포함할 수도 있다. 단계 725에서 논리적 볼륨의 마운팅에 대한 요청을 수신한 이후, 데이터 저장 디바이스(즉, VTS(110))는 논리적 볼륨과 연관된 메타데이터를 판독 및 검사하여 디바이스 특정 정보 데이터 요청 플래그를 검출한다. 단계 730에서의 메타데이터에서의 디바이스 특정 정보 데이터 요청 플래그의 검출에 응답하여 제어는 단계 735로 진행하여, 논리적 볼륨이 특별한 데이터 요청 논리적 볼륨임을 검증한다. 단계 723을 참조하여 상술한 바와 같이, 디바이스 특정 정보를 포함하는 논리적 볼륨은 특별한 데이터 요청 논리적 볼륨이다. 논리적 볼륨이 특별한 데이터 요청 논리적 볼륨임의 검증은 고유한 레코드 세트, 검증 목적으로 사용될 수도 있는 디바이스 특정 정보 또는 다른 데이터를 검출하기 위해 논리적 볼륨을 판독하는 단계를 제한없이 포함할 수도 있다. 다른 방법으로, 검증(단계 735)은, 논리적 볼륨이 특별한 데이터 요청 논리적 볼륨임을 검증하기에 메타데이터에서의 디바이스 특정 정보 데이터 요청 플래그의 검출이 충분하기 때문에 실행되지 않을 수도 있다.
단계 730에서 디바이스 특정 정보 데이터 요청 플래그가 검출되지 않으면, 제어는 단계 746으로 진행하여, VTS(110)는 호스트(들)(102)에게 논리적 볼륨의 마운팅이 완료되었음을 통지한다. 단계 746의 실행 이후, 제어는 단계 722(이미 상술됨)로 진행하여 논리적 볼륨으로부터 데이터를 옵션으로 판독한다. 단계 735에서 논리적 볼륨이 특별한 데이터 요청 논리적 볼륨임을 검증한 후, 제어는 단계 740으로 진행하여, 논리적 볼륨에 대한 디바이스 특정 정보를 기입한다. 단계 735에서, 논리적 볼륨이 특별한 데이터 요청 논리적 볼륨임을 VTS(110)가 검증하지 못하면, 제어는 단계 746으로 진행하여, VTS(110)는 호스트(들)(102)에게 논리적 볼륨의 마운팅이 완료되었음을 통지한다. 단계 746의 실행 이후, 제어는 단계 722(이미 상술됨)로 진행하여 논리적 볼륨으로부터 데이터를 옵션으로 판독한다.
단계 740에서, 단계 708에서의 논리적 볼륨에 이전에 기입된 고유한 레코드 세트는 디바이스 특정 정보를 반영하도록 부가되거나 대체되거나 변경된다. 이것은, 논리적 볼륨에 대한 데이터 저장 디바이스 특정 정보를 기입하는 데이터 저장 디바이스(즉, VTS(110))에 의해 달성될 수도 있다. 제 1 실시예에 대해 상술한 바와 같이, 디바이스 특정 정보는 VTS(110), 논리적 또는 물리적 볼륨, 관련 저장 디바이스(즉, 테이프 드라이브, 라이브러리(150) 등)에 대한 다양한 형태의 정보를 포함할 수도 있다. 디바이스 특정 정보는 논리적 볼륨과 연관된 메타데이터 속성의 리스트를 포함할 수도 있다. 예를 들어, 메타데이터의 속성은, 피어-투-피어 VTS 서브시스템으로 연결되는 2개의 VTS 사이에서 논리적 볼륨의 카피들을 동기시키기 위해 사용되는 데이터 버전 레벨의 리스트를 포함할 수도 있다. 또한, 메타데이터의 속성은, 각각의 논리적 볼륨이 연관되는 물리적 테이프 카트리지의 어떤 풀을 제어하는 호스트 구조의 리스트를 포함할 수도 있다. 메타데이터의 속성은 데이터에 대한 통계적 정보 또는 데이터에 대한 다른 정보를 제한없이 포함할 수도 있다. 디바이스 특정 정보는, 예를 들어, VTS(110)인 데이터 저장 디바이스의 동작 이력의 리포트를 포함할 수도 있다. 데이터 저장 디바이스의 동작 이력은, 저장되거나 검색된 데이터, 파워 업/다운 시퀀스, VTS의 성능 이력, 및 캐시(160) 또는 테이프 드라이브(154)와 같이 VTS를 포함하는 서브시스템의 이용에 관한 정보를 포함할 수도 있다. 동작 이력의 리포트의 형태는, 예를 들어, 간단한 리스트, 그래픽 묘사, 인터랙티브 데이터 파일 등 다양한 형태를 취할 수도 있다. 디바이스 특정 정보는, 예를 들어, VTS(110)인 데이터 저장 디바이스의 동작 상태의 리포트를 포함할 수도 있다. 데이터 저장 디바이스의 동작 상태는, 저장되거나 검색된 데이터의 상태, 파워 업/다운 시퀀스 상태, 및 캐시(160) 또는 테이프 드라이브(154)와 같이 VTS를 포함하는 서브시스템의 가용 상태에 관한 정보를 포함할 수도 있다. 동작 상태의 리포트의 형태는, 예를 들어, 간단한 리스트, 그래픽 묘사, 인터랙티브 데이터 파일 등 다양한 형태를 취할 수도 있다. 디바이스 특정 정보는 데이터 저장 디바이스에 저장된 논리적 볼륨의 물리적 위치의 리스트를 포함할 수도 있다. 예를 들어, 논리적 볼륨의 물리적 위치는 하나 이상의 물리적 디바이스(154), 물리적 볼륨(156), 테이프 드라이브(154A~154N), 테이프 카트리지(156A~156N), DASD(160) 또는 VTS(110)와 연관된 다른 디바이스에 상주할 수도 있다. 물리적 위치의 리스트의 형태는, 예를 들어, 간단한 리스트, 그래픽 묘사, 인터랙티브 데이터 파일 등 다양한 형태를 취할 수도 있다. 단계 740의 실행 이후, 제어는 단계 745로 진행한다.
단계 745에서, 데이터 저장 디바이스(즉, VTS(110))는 호스트(들)에게, 디바이스 특정 정보가 완료되어 호스트(들)(102)가 디바이스 특정 정보를 판독할 수 있게 하는 논리적 볼륨의 마운팅을 통지한다. 단계 745에서의 논리적 볼륨의 마운팅의 완료는 논리적 볼륨의 언마운팅 및 마운팅 동작; 논리적 볼륨의 리와인딩 동작; 또는 데이터가 논리적 볼륨으로부터 판독될 수 있도록 논리적 볼륨을 일 상태에 놓는 논리적 볼륨에 대한 임의의 다른 동작을 추가로 포함할 수도 있다. 단계 745의 실행 이후, 제어는 단계 750으로 진행한다. 단계 750에서는, 디바이스 특정 정보가 기입된 논리적 볼륨이 판독된다. 판독된 정보는, 예를 들어, 호스트(들)(102)인, 정보를 요청하는 디바이스에 전송된다. 논리적 볼륨으로부터의 디바이스 특정 정보의 판독은, 예를 들어, 호스트(들)(102)인 외부 디바이스로부터 판독 커맨드(즉, 프로세스(500), 도 5)를 수신하는 VTS(110)의 결과일 수도 있다. 디바이스 특정 정보의 판독은 볼륨 헤더를 판독하는 단계; 제 1 데이터세트 헤더를 판독하는 단계; 제 2 데이터세트 헤더를 판독하는 단계; 제 1 테이프 마크를 판독하는 단계; 리포트 헤더를 판독하는 단계; 하나 이상의 리포트 데이터 레코드를 판독하는 단계; 제 2 테이프 마크를 판독하는 단계; 볼륨 트레일러를 판독하는 단계; 파일의 제 1 볼륨 엔드를 판독하는 단계; 파일의 제 2 볼륨 엔드를 판독하는 단계; 제 3 테이프 마크를 판독하는 단계; 및 제 4 테이프 마크를 판독하는 단계를 포함할 수도 있다. 하나 이상의 리포트 데이터의 판독은 데이터 저장 디바이스 내의 논리적 볼륨과 연관된 메타데이터 속성의 리스트; 데이터 저장 디바이스의 동작 이력의 리포트; 데이터 저장 디바이스의 동작 상태의 리포트; 및 데이터 저장 디바이스 내의 논리적 볼륨의 물리적 위치의 리스트 중 임의의 것(상술되었음)을 포함할 수도 있다. 단계 750의 실행 이후, 제어는 단계 770으로 전달되어 프로세스가 종료한다.
본 발명의 동작에 대한 상기 설명은 데이터 저장 디바이스로서 VTS(110)를 사용하여 진행되었다. 또한, 본 발명을 구현하기 위해 사용된 데이터 저장 디바이스는 자동화된 데이터 저장 라이브러리(즉, 물리적 라이브러리(150))일 수도 있다. 상술한 바와 같이, 물리적 라이브러리(150)는 데이터의 저장용 데이터 저장 매체(즉, 물리적 볼륨(156)), 데이터 저장 매체에 대해 데이터를 판독 및 기입하기 위한 데이터 저장 드라이브(즉, 물리적 디바이스(154)), 및 자동화된 데이터 저장 라이브러리를 제어하는 라이브러리 제어기(즉, 라이브러리 매니저(152))를 포함한다.
추가적인 구현예에 대한 상세한 설명
네트워크 컴포넌트에 대한 정보를 유지하기 위한 상기 기술들은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합을 생성하기 위해 표준 프로그래밍 및/또는 엔지니어링 기술을 이용하는 제조 방법, 장치, 또는 물건으로서 구현될 수도 있다. 여기에서 사용되는 바와 같은 "제조 물건" 이라는 용어는 하드웨어 로직(예를 들어, 집적회로 칩, 프로그래머블 게이트 어레이(PGA), 주문형 집적회로(ASIC) 등) 또는 자기 저장매체(예를 들어, 하드 디스크 드라이브, 플로피 디스크, 테이프 등), 광학 저장장치(CD-ROM, 광학 디스크 등), 휘발성 및 비-휘발성 메모리 디바이스(예를 들어, EEPROM, ROM, PROM, RAM, DRAM, SRAM, 펌웨어, 프로그래머블 로직 등)에서 구현되는 코드 또는 로직을 지칭한다. 컴퓨터 판독가능 매체 내의 코드는 프로세서에 의해 액세스 및 실행된다. 또한, 실시예가 구현되는 코드는 네트워크를 통해 전송 매체를 통해 또는 파일 서버로부터 액세스가능할 수도 있다. 이 경우, 코드가 구현되는 제조 물건은 네트워크 전송 라인과 같은 전송 매체, 무선 전송 매체, 공간을 통해 전파하는 신호, 무선파, 적외선 신호 등을 포함할 수도 있다. 따라서, "제조 물건"은 코드가 구현되는 매체를 포함할 수도 있다. 또한, "제조 물건"은 코드가 구현되고 프로세싱되고 실행되는 하드웨어와 소프트웨어 컴포넌트의 조합을 포함할 수도 있다. 물론, 당업자는 본 발명의 범위로부터 일탈하지 않고 이 구성에 대한 다수의 변형이 행해질 수도 있으며, 제조 물건은 당업계에 공지되어 있는 임의의 정보 수록 매체를 포함할 수도 있음을 알 수 있다.
설명된 구현에서, N과 같은 일정 변수는 일정 개수의 엘리먼트를 나타내는 정수 변수를 나타내도록 사용된다. 이들 변수는, 동일하거나 상이한 엘리먼트에 의해 상이한 예에서 사용될 경우에 임의의 수를 나타낼 수도 있다. 예를 들어, 도 3에서, 논리적 볼륨(162A...162N)의 경우, N은 Q개의 엘리먼트를 나타낼 수도 있으며, 물리적 디바이스(154A...154N)의 경우, N은 M개의 엘리먼트를 나타낼 수도 있으며, 물리적 볼륨(156A...156N)의 경우, N은 P개의 엘리먼트를 나타낼 수도 있다.
도 4, 5, 6, 및 7의 로직은 특정 순서로 발생하는 특정 동작을 기술한 것이다. 또 다른 구현에서, 논리적 동작의 어떤 동작은 상이한 순서로 수행되거나 변형 또는 제거될 수도 있다. 또한, 단계들이 상술한 로직에 부가되고, 여전히, 설명된 구현에 부합할 수도 있다. 또한, 여기에서 설명된 동작들은 순차적으로 발생 할 수도 있으며, 또는 어떤 동작들은 병렬로 프로세싱될 수도 있으며, 또는 단일 프로세스에 의해 수행되는 것으로서 설명된 동작들이 분산 프로세스에 의해 수행될 수도 있다.
도 4, 5, 6 및 7의 로직은 소프트웨어로 구현되는 것으로서 기술되었다. 이러한 로직은 호스트 시스템의 오퍼레이팅 시스템의 일부 또는 애플리케이션 프로그램일 수도 있다. 또 다른 구현에서, 이러한 로직은 제어 유닛에 의해 관리되는 저장 영역에 또는 판독 전용 메모리 또는 다른 하드와이어드 타입의 디바이스에 유지될 수도 있다. 바람직한 로직은 하드 디스크 드라이브에서 또는 프로그래머블 및 넌-프로그래머블 게이트 어레이 로직에서 구현될 수도 있다.
도 8은 호스트(들)(102), 오퍼레이터 인터페이스(105), 및 VTS(110)의 일 구현을 나타낸 것이다. 호스트(들)(102), 오퍼레이터 인터페이스(105), 및 VTS(110)는, 프로세서(802; 예를 들어, 마이크로 프로세서), 메모리(804; 예를 들어, 휘발성 메모리 디바이스), 및 저장장치(806; 예를 들어, 자기 디스크 드라이브, 광학 디스크 드라이브, 테이프 드라이브 등가 같은 비휘발성 저장장치)를 갖는 컴퓨터 구조(800)를 구현할 수도 있다. 저장장치(806)는 내부 저장 디바이스 또는 부착형 또는 네트워크 액세스가능형 저장장치를 포함할 수도 있다. 저장장치(806) 내의 프로그램은 메모리(804)에 로딩되고, 당업계에 공지된 방식으로 프로세서(802)에 의해 실행될 수도 있다. 그 구조는 네트워크와의 통신을 가능케 하는 네트워크 카드(808)를 더 포함한다. 입력 디바이스(810)는 프로세서(802)에게 사용자 입력을 제공하기 위해 사용되며, 키보드, 마우스, 펜-스타일러스, 마이크로폰, 터치 민감 형 디스플레이 스크린, 또는 당업계에 공지되어 있는 임의의 다른 활성 또는 입력 메커니즘을 포함할 수도 있다. 출력 디바이스(812)는 프로세서(802), 또는 디스플레이 모니터, 프린터, 저장장치 등과 같은 다른 컴포넌트로부터 송신된 정보를 렌더링(rendering)할 수 있다.
설명된 구현에서, 호스트(102) 및 VTS(110)가 클라이언트-서버 패러다임 내에서 통신하는 동안, 호스트(102) 및 VTS(110)는 또한 피어-투-피어 또는 당업계에 공지된 다른 패러다임 내에서 통신할 수도 있다. 또한, 다수의 소프트웨어 및 하드웨어 컴포넌트는 예시의 목적으로 별도의 모듈로 설명되었다. 그러한 컴포넌트는 더 적은 개수의 컴포넌트로 통합되거나 더 큰 개수의 컴포넌트로 분할될 수도 있다. 또한, 특정 컴포넌트에 의해 수행되는 것으로 설명된 어떤 동작들은 다른 컴포넌트에 의해 수행될 수도 있다.
본 발명의 바람직한 구현의 상기 설명은 예시 및 설명의 목적으로 제공되었다. 이는 배타적인 것으로 또는 본 발명을 개시된 정확한 형태로 제한하도록 의도되지 않는다. 다양한 변형 및 변경이 상기 교시의 관점에서 가능하다. 본 발명의 범위는 이 상세한 설명에 의해 제한되지 않고 첨부된 특허청구범위에 의해 제한되도록 의도된다. 상기 명세, 실시예 및 데이터는 본 발명의 구성의 이용 및 제조의 완전한 설명을 제공한다. 본 발명의 다수의 구현이 본 발명의 사상 및 범위로부터 일탈하지 않고 행해질 수 있기 때문에, 본 발명은 이후에 첨부된 특허청구범위에 속한다. 설명의 목적으로, 상기 설명은 본 발명의 완전한 이해를 제공하기 위해 특정 용어를 사용하였다. 하지만, 본 발명을 실시하게 위해 특정 상세가 요구되지 않음은 당업자에게 자명할 것이다. 다른 경우, 널리 공지된 회로 및 디바이스는 기본 발명으로부터의 불필요한 혼란을 회피하기 위하여 블록도 형태로 도시된다. 따라서, 본 발명의 특정 실시예에 대한 상기 설명은 예시 및 설명의 목적으로 제공된다. 이는 배타적인 것으로 또는 본 발명을 개시된 정확한 형태로 제한하도록 의도되지 않는다. 명백하게, 다양한 변형 및 변경이 상기 교시의 관점에서 가능하다.
상기 실시예들은, 본 발명 및 그 실제 애플리케이션의 원리를 가장 잘 설명함으로써 당업자로 하여금 예상된 특정 사용에 적절한 것으로 다양한 변형을 갖는 본 발명 및 다양한 실시예를 가장 잘 이용하게 하도록 선택 및 설명되었다. 본 발명의 범위는 다음의 특허청구범위 및 그 균등물에 의해 정의되도록 의도된다.

Claims (17)

  1. 데이터 저장 디바이스로부터 정보를 획득하는 방법으로서,
    표준 기입 커맨드를 사용하여 상기 데이터 저장 디바이스 상의 적어도 하나의 논리적 볼륨에 고유한 레코드 시퀀스를 포함하는 데이터를 기입하는 단계―상기 고유한 레코드 시퀀스는 논리적 볼륨에 기입되는 통상의 데이터에 비해 존재 확률이 낮은 단일의 특정 패턴임―와,
    상기 적어도 하나의 논리적 볼륨을 리와인딩(rewinding) 또는 디마운팅(demounting)하는 단계와,
    상기 적어도 하나의 논리적 볼륨의 리와인딩 또는 디마운팅 단계 이후에, 상기 적어도 하나의 논리적 볼륨을 위치지정 또는 마운팅하는 단계와,
    상기 적어도 하나의 논리적 볼륨의 위치지정 또는 마운팅 단계 이후에, 상기 적어도 하나의 논리적 볼륨에 액세스하고 상기 적어도 하나의 논리적 볼륨에 기입된 데이터를 분석하여, 논리적 볼륨에 기입된 통상의 데이터와는 별개로 상기 단일의 특정 패턴의 상기 고유한 레코드 시퀀스를 검출하는 단계―상기 분석은 상기 데이터 저장 디바이스에 의해 수행됨―와,
    상기 데이터 저장 디바이스가 상기 적어도 하나의 논리적 볼륨 상의 상기 고유한 레코드 시퀀스를 검출하는 것에 응답하여, 상기 적어도 하나의 논리적 볼륨에 데이터 저장 디바이스 특정 정보를 기입하는 단계―상기 데이터 저장 디바이스 특정 정보 기입 단계는 상기 고유한 레코드 시퀀스를 포함하는 상기 데이터를 대체하는 것을 포함함―와,
    상기 적어도 하나의 논리적 볼륨을 일 상태로 배치하여 상기 데이터 저장 디바이스 특정 정보가 판독될 수 있도록 하는 단계를 포함하는
    정보 획득 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 분석은 상기 데이터 저장 디바이스에 연결된 오퍼레이터 인터페이스를 사용하여 디스에이블링 또는 인에이블링되는
    정보 획득 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 고유한 레코드 시퀀스를 포함하는 데이터를 기입하는 단계는,
    볼륨 헤더를 기입하는 단계와,
    제 1 데이터세트 헤더를 기입하는 단계와,
    제 2 데이터세트 헤더를 기입하는 단계와,
    제 1 테이프 마크를 기입하는 단계와,
    키 레코드를 기입하는 단계와,
    질의 식별자 레코드를 기입하는 단계와,
    제 2 테이프 마크를 기입하는 단계와,
    볼륨 트레일러를 기입하는 단계와,
    파일의 제 1 볼륨 엔드를 기입하는 단계와,
    파일의 제 2 볼륨 엔드를 기입하는 단계와,
    제 3 테이프 마크를 기입하는 단계와,
    제 4 테이프 마크를 기입하는 단계를 더 포함하는
    정보 획득 방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 디바이스로부터 정보를 획득하는 시스템으로서,
    호스트 컴퓨터와,
    데이터 저장 디바이스를 포함하되,
    상기 데이터 저장 디바이스는,
    캐시 메모리와,
    적어도 하나의 논리적 볼륨과,
    상기 데이터 저장 디바이스를 제어하는 중앙 처리 장치와,
    상기 호스트 컴퓨터에 연결되어, 상기 데이터 저장 디바이스를 상기 호스트 컴퓨터에 인터페이싱하는 호스트 컴퓨터 인터페이스를 포함하며,
    상기 호스트 컴퓨터는 표준 기입 커맨드를 사용하여 상기 데이터 저장 디바이스 상의 상기 적어도 하나의 논리적 볼륨에 고유한 레코드 시퀀스―상기 고유한 레코드 시퀀스는 논리적 볼륨에 기입된 통상의 데이터에 비해 존재 확률이 낮은 단일의 특정 패턴임―를 포함하는 데이터를 기입하고,
    상기 데이터 저장 디바이스는 상기 적어도 하나의 논리적 볼륨이 기입된 후에 상기 적어도 하나의 논리적 볼륨을 리와인딩 또는 디마운팅하며,
    상기 데이터 저장 디바이스는 상기 적어도 하나의 논리적 볼륨의 리와인딩 또는 디마운팅 이후에, 상기 적어도 하나의 논리적 볼륨을 위치지정 또는 마운팅하며,
    상기 데이터 저장 디바이스는 상기 적어도 하나의 논리적 볼륨의 위치지정 또는 마운팅 이후에, 상기 적어도 하나의 논리적 볼륨에 기입된 상기 데이터를 액세스하고 분석하여, 논리적 볼륨에 기입되는 통상의 데이터와는 별개로 상기 단일의 특정 패턴의 상기 고유한 레코드 시퀀스를 검출하며,
    상기 데이터 저장 디바이스가 상기 적어도 하나의 논리적 볼륨 상의 상기 고유한 레코드 시퀀스를 검출하는 것에 응답하여, 상기 데이터 저장 디바이스는 상기 적어도 하나의 논리적 볼륨에 데이터 저장 디바이스 특정 정보를 기입하되, 상기 고유한 레코드 시퀀스를 포함하는 상기 데이터를 대체함으로써 데이터 저장 디바이스 특정 정보를 기입하며, 그리고 상기 적어도 하나의 논리적 볼륨을 일 상태로 배치하여 상기 데이터 저장 디바이스 특정 정보가 판독될 수 있는
    정보 획득 시스템.
  11. 삭제
  12. 제 10 항에 있어서,
    상기 데이터 저장 디바이스에 연결된 오퍼레이터 인터페이스를 더 포함하며,
    상기 오퍼레이터 인터페이스는, 상기 적어도 하나의 논리적 볼륨에 기입된 상기 데이터를 분석하기 위해 상기 데이터 저장 디바이스를 인에이블링하거나 또는 디스에이블링하는
    정보 획득 시스템.
  13. 제1항, 제3항 또는 제5항 중 어느 한 항에 따른 정보 획득 방법의 각각의 단계를 컴퓨터로 하여금 수행하도록 하기 위한 프로그램 코드 수단을 포함한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 저장 매체.
  14. 데이터 저장 디바이스로서,
    캐시 메모리와,
    적어도 하나의 논리적 볼륨과,
    상기 데이터 저장 디바이스를 제어하는 중앙 처리 장치와,
    호스트 컴퓨터에 연결되어, 상기 데이터 저장 디바이스를 상기 호스트 컴퓨터에 인터페이싱하는 호스트 컴퓨터 인터페이스를 포함하되,
    상기 호스트 컴퓨터는 표준 기입 커맨드를 사용하여 상기 데이터 저장 디바이스 상의 상기 적어도 하나의 논리적 볼륨에 고유한 레코드 시퀀스―상기 고유한 레코드 시퀀스는 논리적 볼륨에 기입되는 통상의 데이터에 비해 존재 확률이 낮은 단일의 특정 패턴임―를 포함하는 데이터를 기입하고,
    상기 데이터 저장 디바이스의 상기 중앙 처리 장치는 상기 적어도 하나의 논리적 볼륨이 기입된 후에 상기 적어도 하나의 논리적 볼륨을 리와인딩 또는 디마운팅하며,
    상기 데이터 저장 디바이스는 상기 적어도 하나의 논리적 볼륨의 리와인딩 또는 디마운팅 이후에, 상기 적어도 하나의 논리적 볼륨을 위치지정 또는 마운팅하며,
    상기 데이터 저장 디바이스는 상기 적어도 하나의 논리적 볼륨의 위치지정 또는 마운팅 이후에, 상기 적어도 하나의 논리적 볼륨에 기입된 상기 데이터를 액세스하고 분석하여, 논리적 볼륨에 기입된 통상의 데이터와는 별개로 상기 단일의 특정 패턴의 상기 고유한 레코드 시퀀스를 검출하며,
    상기 데이터 저장 디바이스가 상기 적어도 하나의 논리적 볼륨 상의 상기 고유한 레코드 시퀀스를 검출하는 것에 응답하여, 상기 데이터 저장 디바이스의 상기 중앙 처리 장치는 상기 적어도 하나의 논리적 볼륨에 데이터 저장 디바이스 특정 정보를 기입하되, 상기 고유한 레코드 시퀀스를 포함하는 상기 데이터를 대체함으로써 데이터 저장 디바이스 특정 정보를 기입하며, 그리고 상기 적어도 하나의 논리적 볼륨을 일 상태로 배치하여 상기 데이터 저장 디바이스 특정 정보가 판독될 수 있는
    데이터 저장 디바이스.
  15. 삭제
  16. 삭제
  17. 삭제
KR1020067022758A 2004-05-14 2005-05-12 데이터 저장 디바이스 및 이로부터의 정보 획득 방법 및 시스템과 컴퓨터 판독가능 저장 매체 KR100968318B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/845,699 US7487288B2 (en) 2004-05-14 2004-05-14 Dynamic loading of virtual volume data in a virtual tape server
US10/845,699 2004-05-14

Publications (2)

Publication Number Publication Date
KR20070015185A KR20070015185A (ko) 2007-02-01
KR100968318B1 true KR100968318B1 (ko) 2010-07-08

Family

ID=34966642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067022758A KR100968318B1 (ko) 2004-05-14 2005-05-12 데이터 저장 디바이스 및 이로부터의 정보 획득 방법 및 시스템과 컴퓨터 판독가능 저장 매체

Country Status (8)

Country Link
US (2) US7487288B2 (ko)
EP (1) EP1769329B1 (ko)
JP (1) JP4843604B2 (ko)
KR (1) KR100968318B1 (ko)
CN (1) CN100514270C (ko)
AT (1) ATE464596T1 (ko)
DE (1) DE602005020627D1 (ko)
WO (1) WO2005114371A2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080183934A1 (en) * 2004-12-14 2008-07-31 Spectra Logic Corporation Optional mobile media storage system
US7253983B2 (en) * 2004-12-14 2007-08-07 Spectra Logic Corporation Variable media tape-based storage system
JP4392338B2 (ja) * 2004-12-20 2009-12-24 富士通株式会社 データ管理方法及び装置並びに階層型記憶装置
US7483926B2 (en) * 2005-04-01 2009-01-27 Microsoft Corporation Production server to data protection server mapping
US8533163B2 (en) * 2006-06-23 2013-09-10 Emc Corporation Database offload processing
US20080010290A1 (en) * 2006-06-23 2008-01-10 Lecrone Douglas E Application offload processing
US20080040539A1 (en) * 2006-08-09 2008-02-14 International Business Machines Corporation Method and system for writing and reading application data
US8230235B2 (en) 2006-09-07 2012-07-24 International Business Machines Corporation Selective encryption of data stored on removable media in an automated data storage library
JP4792361B2 (ja) * 2006-09-27 2011-10-12 富士通株式会社 応答装置、応答方法及び応答プログラム
FR2906624A1 (fr) * 2006-10-03 2008-04-04 Bull S A S Soc Par Actions Sim Systeme et procede de stockage de masse.
US8001340B2 (en) * 2007-04-19 2011-08-16 International Business Machines Corporation Method for determining allocation of tape drive resources for a secure data erase process
US9098717B2 (en) * 2007-04-19 2015-08-04 International Business Machines Corporation System for selectively performing a secure data erase to ensure timely erasure
US9141303B2 (en) * 2007-04-19 2015-09-22 International Business Machines Corporation Method for selectively performing a secure data erase to ensure timely erasure
US8006050B2 (en) 2007-04-19 2011-08-23 International Business Machines Corporation System for determining allocation of tape drive resources for a secure data erase process
US9461819B2 (en) * 2007-05-23 2016-10-04 Nec Corporation Information sharing system, computer, project managing server, and information sharing method used in them
US7716429B2 (en) * 2007-09-14 2010-05-11 International Business Machines Corporation Apparatus, system, and method for dynamic address tracking
US7949865B1 (en) * 2007-09-19 2011-05-24 Network Appliance, Inc. Mounting volumes on demand
US7882328B2 (en) * 2007-09-24 2011-02-01 International Business Machines Corporation Cancellation of individual logical volumes in premigration chains
US7882329B2 (en) * 2007-09-24 2011-02-01 International Business Machines Corporation Cancellation of individual logical volumes in premigration chains
US8229972B2 (en) * 2009-08-28 2012-07-24 International Business Machines Corporation Extended data storage system
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
JP2012208996A (ja) * 2011-03-30 2012-10-25 Nec Embedded Products Ltd ライブラリ装置、マガジン挿入検出方法及びプログラム
US8494674B2 (en) 2011-08-24 2013-07-23 International Business Machines Corporation Fast-access self-repairing tape library using mobile robots
JP2013097402A (ja) * 2011-10-27 2013-05-20 Fujitsu Ltd 仮想ストレージシステムの制御装置、仮想ストレージシステム、および制御方法
WO2013088284A1 (en) 2011-12-16 2013-06-20 International Business Machines Corporation Tape drive system server
US9189167B2 (en) 2012-05-31 2015-11-17 Commvault Systems, Inc. Shared library in a data storage system
US8762330B1 (en) * 2012-09-13 2014-06-24 Kip Cr P1 Lp System, method and computer program product for partially synchronous and partially asynchronous mounts/unmounts in a media library
US9263082B2 (en) 2013-01-30 2016-02-16 International Business Machines Corporation High density hybrid storage system
JP6191209B2 (ja) * 2013-04-12 2017-09-06 富士通株式会社 ストレージ装置、制御プログラムおよび制御方法
JP6212996B2 (ja) * 2013-07-05 2017-10-18 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
US9847098B2 (en) 2013-08-31 2017-12-19 Hewlett Packard Enterprise Development Lp Described object and descriptor
US10003675B2 (en) 2013-12-02 2018-06-19 Micron Technology, Inc. Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data
US10192065B2 (en) * 2015-08-31 2019-01-29 Commvault Systems, Inc. Automated intelligent provisioning of data storage resources in response to user requests in a data storage management system
US11003372B2 (en) 2018-05-31 2021-05-11 Portworx, Inc. Protecting volume namespaces from corruption in a distributed container orchestrator
US10482911B1 (en) * 2018-08-13 2019-11-19 Seagate Technology Llc Multiple-actuator drive that provides duplication using multiple volumes
US11494338B2 (en) * 2019-04-26 2022-11-08 International Business Machines Corporation Caching files in a directory
US11347422B1 (en) * 2021-03-03 2022-05-31 ScaleFlux, Inc. Techniques to enhance storage devices with built-in transparent compression for mitigating out-of-space issues

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003014909A2 (en) * 2001-08-08 2003-02-20 International Business Machines Corporation Method and system for accessing tape devices in a computer system
US20060058455A1 (en) * 2004-08-31 2006-03-16 Erhard Michels Polyurethane elastomers having improved antistatic behavior

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US44827A (en) * 1864-10-25 Improvement in gun-locks
US196036A (en) * 1877-10-09 Improvement in opera-chairs
US221076A (en) * 1879-10-28 Improvement in telegraph-poles
US44845A (en) * 1864-11-01 Corn-planter
US44829A (en) * 1864-10-25 Improvement in hydraulic pumps
US44843A (en) * 1864-10-25 Improvement in injectors for the hair
US44826A (en) * 1864-10-25 Improvement in carriages
US44860A (en) * 1864-11-01 Improvement in sash-holders
US53009A (en) * 1866-03-06 Improvement in bearings of locomotive-axles
US44851A (en) * 1864-11-01 Improved ice-cream machine
US44825A (en) * 1864-10-25 Improvement in smut-mills
US178335A (en) * 1876-06-06 Improvement in jack-spools
US5689678A (en) 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
WO1998033113A1 (en) * 1997-01-23 1998-07-30 Overland Data, Inc. Virtual media library
US6058455A (en) 1997-07-02 2000-05-02 International Business Corporation RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
US6070224A (en) 1998-04-02 2000-05-30 Emc Corporation Virtual tape system
US6502108B1 (en) 1999-10-25 2002-12-31 International Business Machines Corporation Cache-failure-tolerant data storage system storing data objects with version code equipped metadata tokens
US6553487B1 (en) * 2000-01-07 2003-04-22 Motorola, Inc. Device and method for performing high-speed low overhead context switch
US6629189B1 (en) 2000-03-09 2003-09-30 Emc Corporation Method and apparatus for managing target devices in a multi-path computer system
US6804755B2 (en) 2000-06-19 2004-10-12 Storage Technology Corporation Apparatus and method for performing an instant copy of data based on a dynamically changeable virtual mapping scheme
US6779094B2 (en) 2000-06-19 2004-08-17 Storage Technology Corporation Apparatus and method for instant copy of data by writing new data to an additional physical storage area
JP4105398B2 (ja) * 2001-02-28 2008-06-25 株式会社日立製作所 情報処理システム
US6983351B2 (en) 2002-04-11 2006-01-03 International Business Machines Corporation System and method to guarantee overwrite of expired data in a virtual tape server
US7073038B2 (en) 2002-05-22 2006-07-04 Storage Technology Corporation Apparatus and method for implementing dynamic structure level pointers
US7418562B2 (en) 2002-08-29 2008-08-26 International Business Machines Corporation Apparatus and method to assign one or more storage construct names to a logical volume
US6889285B2 (en) 2002-08-29 2005-05-03 International Business Machines Corporation Apparatus and method to maintain information using a plurality of storage attributes
US6973534B2 (en) * 2002-08-29 2005-12-06 International Business Machines Corporation Apparatus and method to export and then import a logical volume with assigned storage attributes
US6895466B2 (en) 2002-08-29 2005-05-17 International Business Machines Corporation Apparatus and method to assign pseudotime attributes to one or more logical volumes
US6889302B2 (en) 2002-08-29 2005-05-03 International Business Machines Corporation Apparatus and method to maintain information in one or more virtual volume aggregates comprising a plurality of virtual volumes
US6961811B2 (en) 2002-08-29 2005-11-01 International Business Machines Corporation Apparatus and method to maintain information by assigning one or more storage attributes to each of a plurality of logical volumes
US6954768B2 (en) 2002-08-29 2005-10-11 International Business Machines Corporation Method, system, and article of manufacture for managing storage pools
US6839796B2 (en) 2002-08-29 2005-01-04 International Business Machines Corporation Apparatus and method to import a logical volume indicating explicit storage attribute specifications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003014909A2 (en) * 2001-08-08 2003-02-20 International Business Machines Corporation Method and system for accessing tape devices in a computer system
WO2003014909A3 (en) 2001-08-08 2004-01-08 Ibm Method and system for accessing tape devices in a computer system
US20060058455A1 (en) * 2004-08-31 2006-03-16 Erhard Michels Polyurethane elastomers having improved antistatic behavior

Also Published As

Publication number Publication date
WO2005114371A2 (en) 2005-12-01
CN1934530A (zh) 2007-03-21
EP1769329A2 (en) 2007-04-04
US20050256999A1 (en) 2005-11-17
JP2007537522A (ja) 2007-12-20
WO2005114371A3 (en) 2006-05-11
EP1769329B1 (en) 2010-04-14
ATE464596T1 (de) 2010-04-15
US7487288B2 (en) 2009-02-03
DE602005020627D1 (de) 2010-05-27
US20090119465A1 (en) 2009-05-07
KR20070015185A (ko) 2007-02-01
CN100514270C (zh) 2009-07-15
JP4843604B2 (ja) 2011-12-21
US7743206B2 (en) 2010-06-22

Similar Documents

Publication Publication Date Title
KR100968318B1 (ko) 데이터 저장 디바이스 및 이로부터의 정보 획득 방법 및 시스템과 컴퓨터 판독가능 저장 매체
JP6708929B2 (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US6978325B2 (en) Transferring data in virtual tape server, involves determining availability of small chain of data, if large chain is not available while transferring data to physical volumes in peak mode
US7249218B2 (en) Method, system, and program for managing an out of available space condition
US7631157B2 (en) Offsite management using disk based tape library and vault system
JP4646526B2 (ja) 記憶制御システム及び同システムの制御方法
US7660946B2 (en) Storage control system and storage control method
US8539180B2 (en) System and method for migration of data
US7401197B2 (en) Disk array system and method for security
US6938136B2 (en) Method, system, and program for performing an input/output operation with respect to a logical storage device
US6941439B2 (en) Computer system
US20060155944A1 (en) System and method for data migration and shredding
US20030069886A1 (en) System and method for host based storage virtualization
US9128619B2 (en) System, method and computer program product for optimization of tape performance
US7930496B2 (en) Processing a read request to a logical volume while relocating a logical volume from a first storage location to a second storage location using a copy relationship
JP2007141216A (ja) 複数のプロトコルアクセス可能なosdストレージサブシステムのためのシステム、方法および装置
US11789611B2 (en) Methods for handling input-output operations in zoned storage systems and devices thereof
US7617373B2 (en) Apparatus, system, and method for presenting a storage volume as a virtual volume
US20050262296A1 (en) Selective dual copy control of data storage and copying in a peer-to-peer virtual tape server system
JP5606583B2 (ja) ストレージ装置及び同装置の制御方法
JP2010257477A (ja) 記憶制御システム及び同システムの制御方法

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130524

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee