KR20110023744A - 동기화된 데이터를 자기 테이프에 라이트함에 있어서 오버헤드 계산 - Google Patents

동기화된 데이터를 자기 테이프에 라이트함에 있어서 오버헤드 계산 Download PDF

Info

Publication number
KR20110023744A
KR20110023744A KR1020100076712A KR20100076712A KR20110023744A KR 20110023744 A KR20110023744 A KR 20110023744A KR 1020100076712 A KR1020100076712 A KR 1020100076712A KR 20100076712 A KR20100076712 A KR 20100076712A KR 20110023744 A KR20110023744 A KR 20110023744A
Authority
KR
South Korea
Prior art keywords
tape
magnetic tape
rabf
predefined
computer program
Prior art date
Application number
KR1020100076712A
Other languages
English (en)
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 KR20110023744A publication Critical patent/KR20110023744A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B15/00Driving, starting or stopping record carriers of filamentary or web form; Driving both such record carriers and heads; Guiding such record carriers or containers therefor; Control thereof; Control of operating function
    • G11B15/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
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

이용가능한 복수의 미리 정의된 테이프 속도들에 따른 라이팅을 수행하도록 준비된 자기 테이프 드라이브를 사용하여 복수의 랩들(wraps)을 갖는 자기 테이프에 수신된 동기화된 데이터를 라이트하기 위한 여러 가지 실시예들이 제공된다. 그러한 하나의 실시예에서, 상기 이용가능한 복수의 미리 정의된 테이프 속도들 각각에 대해, 반복적으로 누적된 백히치없는 플러쉬(recursively accumulated backhitchless flush, RABF) 사이클을 수행하기 위해 동기화된 명령 당 평균 오버헤드가 계산된다. 가장 낮은 계산된 평균 오버헤드를 갖는 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 하나가 선택된다. 상기 RABF 사이클은 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 상기 선택된 하나를 사용하여 수행된다.

Description

동기화된 데이터를 자기 테이프에 라이트함에 있어서 오버헤드 계산{OVERHEAD CALCULATION IN WRITING SYNCHRONIZED DATA TO MAGNETIC TAPE}
본 발명은 일반적으로 컴퓨터와 관련되고, 더 구체적으로는 컴퓨팅 환경에서 동기화된 데이터(synchronized data)를 자기 테이프에 라이트(write)하기 위한 방법 내에 오버헤드(overhead)의 계산을 포함시키기 위한 방법, 시스템, 및 컴퓨터 프로그램 제품과 관련된다.
본 출원은 미국특허출원번호 10/058,101(2002.1.29.출원) - 현재 미국특허번호 6,856,479(2005.2.15.발행) - 과 관련되는데, 이는 본 출원서 내에 참조로 포함된다.
자기 테이프는 데이터를 물리적으로 저장하기 위한 수단을 제공하는데, 이 데이터는 자동화 데이터 스토리지 라이브러리들의 스토리지 쉘프(storage shelf)에 기록 또는 저장될 수 있고 필요시 접근될 수 있다. 이러한 방법으로 저장된 데이터는 영구성(permanence)의 측면을 갖는데, 이 영구성의 측면은, 자기 테이프 상에 카피가 존재한다는 것을 알 경우, 호스트 시스템에서 메모리 또는 디스크에 저장된 데이터의 카피들이 지워지도록 허용한다. 상기 호스트 시스템에서 이용가능한 스토리지 공간은 비교적 비싸고, 그래서 가능한 한 빨리 상기 스토리지 공간을 릴리스(release)하고자 하는 요구가 있다. 따라서, 데이터는 일반적으로 중간의 스테이징 버퍼(staging buffer)(예를 들어, 하드 디스크)를 통해 상기 테이프 드라이버에 전송될 수 있고, 그래서 가능한 한 빨리 상기 스테이징 버퍼를 릴리스하고 오버라이트(overwrite)하고자 하는 요구도 또한 있다. 그러므로, 흔히 상기 데이터를 "동기화(synchronize)"시키는 것이 바람직하다.
"동기화된 데이터(synchronized data)"는, "동기화 이벤트(synchronizing event)" 또는 유사한 명령 - 이는 상기 테이프 드라이브가 라이트 유형의 명령에 대해 "명령 완료(Command Complete)"를 리턴하지 않을 것을 요구함 -, 또는 하나의 표시(an indication) - 이는 상기 명령이 상기 데이터를 매체, 특히 자기 테이프에 실제로 라이트하도록 이행할 때까지 상기 명령이 성공적으로 실행되었거나 실행될 것이라는 표시임 - 를 받는 대상이 되는, 데이터 또는 다른 정보로 정의된다. 그 결과, 만약 파워가 나간다면, 상기 데이터는 상기 테이프로부터 복구될 수 있는 반면에, 상기 데이터는 상기 테이프 드라이브 버퍼의 휘발성 DRAM 스토리지로부터는 복구될 수 없다.
동기화 이벤트의 일 예는 이미디어트 비트(Immediate bit)가 "0"으로 설정되도록 한 라이트 파일마크 명령(Write Filemark command)이다. 이것은 상기 드라이브가 즉시(immediately) 응답하는 것이 아니라, 상기 명령이 완료되었을 때 응답한다는 것을 의미하는데, 이는 상기 명령의 일부로서 보내진 어떤 데이터가 테이프에 라이트된다는 것을 의미한다. 전문화된 경우의 라이트 파일마크 명령은 파일마크들 필드의 숫자가 또한 "0"으로 설정되는 경우인데, 이는 상기 라이트 파일마크 명령이 자신의 데이터를 갖지 않고, 그래서 상기 명령에 선행하는 모든 데이터는 명령 완료(command complete)가 보내지기 전에 테이프에 라이트되어야 한다는 것을 의미한다. 따라서, 이 명령은 흔히, 당해 기술 분야에서 통상의 기술을 가진 자들에게 알려진 바와 같이, "동기화" 명령으로 일컬어진다.
동기화 이벤트의 다른 예는 당해 기술 분야에서 통상의 기술을 가진 자들에게 "논-버퍼드 라이트들(non-buffered writes)"로 알려진 호스트 선택가능 라이트 모드(host selectable write mode)인데, 이 경우 내포되는(implicit) 동기화는 각각의 레코드가 상기 호스트로부터 라이트된 후에 수행되어야 한다. "명령 완료"는 상기 데이터가 매체 상에 성공적으로 라이트될 때까지 어떤 라이트 명령에 대해서도 리턴되지 않는다. 여기서는, 어떤 데이터 레코드, 레코드들의 그룹, 또는 다른 마크를 라이트하는 것은 "트랜잭션(transaction)"으로 정의되고, 동기화 이벤트의 결과로서 그러한 데이터 레코드 등을 라이트하는 것은 "동기화된 트랜잭션(synchronized transaction)"으로 정의된다.
자기 테이프에 대한 어려움은, 상기 데이터는 데이터 세트들 사이에 긴(long) 갭들이 없이 순차적으로 기록되는 반면, 동기화된 트랜잭션들은, 그 다음의 트랜잭션을 라이트하기 전에 현저한 시구간(time period)을 갖고서, 각각의 동기화 이벤트에 대해 분리된 버스트들(separate bursts)에 저장된다는 점이다. 이는, 상기 선행하는 트랜잭션에 바로 뒤따르는(closely following) 그 다음의 트랜잭션을 라이트하기 위해, 상기 테이프 드라이브가 상기 동기화된 트랜잭션을 라이트한 후 "백히치(backhitch)"하는 것을 필요로 한다. 테이프는 그것이 일정한 속도로 길이방향으로(longitudinally) 움직이면서 라이트되거나 리드(read)된다. 따라서, 백히치는 상기 테이프가 정지되고, 이전의 트랜잭션의 끝을 넘어서까지 리버스(reverse)되고, 다시 정지되고, 또한 상기 이전의 트랜잭션의 끝에 도달할 때까지 원래의 방향(original direction)으로의 속도까지 가속될 것을 필요로 한다. 당해 기술 분야에서 통상의 기술을 가진 자들이라면 이해할 수 있는 바와 같이, 상기 백히치 프로세스는 상당한 양의 시간을 소모하고, 그래서 만약 매우 많은 작은 동기화된 트랜잭션들이 저장되어야 한다면, 상기 테이프 드라이브의 처리량(throughput)은 극적으로 감소된다. 일 예로, 백히치 시간들은 약 0.5초에서부터 3초 이상까지 변할 수 있다.
위에서 참조로 포함된 관련 특허 6,856,479에서, 백히치들의 수를 감소시키는 동기화된 테이프를 라이트하기 위한 방법이 제공된다. 그러한 방법의 일 실시예에서, 컨트롤러는 테이프에 라이트될 데이터 레코드들을 수신하기 위한 동기화 이벤트들의 패턴을 탐지하고, 데이터 레코드들의 각각의 트랜잭션을 상기 자기 테이프에 라이트하고, 상기 동기화된 트랜잭션들을 버퍼에 누적(accumulate)하며, 그 후에, 상기 버퍼로부터 상기 자기 테이프로 순차적으로(in a sequence) 데이터 레코드들의 상기 누적된 트랜잭션들을 반복적으로(recursively) 라이트한다. 본 발명의 이 실시예 및 다른 실시예는, "반복적으로 누적된 백히치없는 플러시(Recursively Accumulated Backhitchless Flush)" 또는 RABF 사이클(본 명세서에서는 이렇게 일컬어짐)로 일컬어질 수 있다. 상기 호스트가 소량의 데이터를 전송하고 반복해서 동기화 명령을 이슈(issue)할 때, 상기 테이프 드라이브는 RABF 모드의 동작을 시작한다. 그런 다음 상기 드라이브는 상기 테이프의 작업 또는 임시 영역으로 움직이고, 따르는 백히치(accompanying backhitch)없이 임시로 상기 데이터를 라이트한다. 상기 임시 영역이 전부 사용된 후, 상기 드라이브는 상기 임시 영역으로부터 원래의 영역(original area)으로 리턴하며, 상기 원래의 영역 상에 상기 데이터(상기 임시 영역 상에 라이트된 데이터)를 반복적으로 라이트한다. RABF 사이클들에 따라, 백히치들의 수는 감소되고, 상기 드라이브의 퍼포먼스는, 상기 호스트 어플리케이션이 소량의 데이터를 전송하고 반복해서 동기화 명령을 이슈하는 상황들에서의 노멀한 라이팅에 비해 최대화된다.
일반적으로, RABF 사이클들에 따라, 상기 테이프 드라이브는 상기 임시 영역 상에 가장 빠른 테이프 속도로 상기 데이터를 라이트한다. 왜냐하면 상기 데이터가 가장 짧은 시간에 라이트될 수 있기 때문이다. 그러므로, 드라이브로부터 테이프까지의 처리량은 상기 테이프의 선밀도(linear density)와 상기 테이프 속도에 의해 정의된다. 그러나 어떤 상황들에 있어서는, 더 느린 테이프 속도를 사용하여 상기 임시 영역에 상기 데이터를 라이트하는 것이 퍼포먼스를 향상시킬 수 있다. 이러한 상황에서, 상기 호스트는 동기화 명령에 뒤따르는 상기 데이터를 즉시 전달하지 않는다. 이러한 상황에서, 상기 동기화 명령은 상기 드라이브에 의해 송신 및 수신되지만, 상기 호스트 어플리케이션은 데이터를 즉시 전송하지 않는다. 한편, 드라이브 헤드(drive head)는 상기 임시 영역 위에 위치하고, 상기 드라이브는 그 다음의 데이터(subsequent data)를 기다린다. 바꿔 말하면, 이러한 상황에서, 상기 임시 영역 상에 라이트될 데이터의 총량은 더 작고, 반복적인 라이팅(이는 RABF 사이클의 오버헤드의 원인이 됨)의 발생이 증가한다. 만약 이 경우 더 작은 테이프 속도가 구현된다면, 라이팅없이 실행하기 위한 임시 테이프의 영역은 더 빠른 테이프 속도들에서의 경우보다 더 작다. 이는 상기 더 작은 테이프 속도의 사용이 반복적인 라이팅의 발생을 감소시킬 수 있고, 그래서 결국 더 나은 처리량을 초래할 수 있는 것을 의미한다.
상기 동기화 명령과 데이터의 수신 사이의 지연(latency)이 더 높은 상황(그리고 상기 임시 영역에서 가장 빠른 테이프 속도의 디폴트 위치가 반드시 가장 높은 퍼포먼스를 초래하지는 않음)에 대처하고자, 이러한 상황들에서 처리량 및 퍼포먼스를 최대화하도록 적절한 테이프 속도를 선택하기 위해, 상기 RABF 사이클이 오버헤드 계산에 인자들(factors)의 고려를 포함시키는 메커니즘에 대한 필요성이 존재한다.
따라서, 이용가능한 복수의 미리 정의된(predefined) 테이프 속도들에 따른 라이팅(writing)을 수행하도록 준비된 자기 테이프 드라이브를 사용하여, 수신된 동기화된 데이터(received synchronized data)를 복수의 랩들(wraps)을 갖는 자기 테이프에 라이트하기 위한 여러 가지 실시예들이 제공된다. 이러한 실시예에서, 상기 이용가능한 복수의 미리 정의된 테이프 속도들 각각에 대해, 반복적으로 누적된 백히치없는 플러쉬(recursively accumulated backhitchless flush, RABF) 사이클을 수행하기 위해 동기화된 명령 당 평균 오버헤드(average overhead per synchronized command)가 계산된다. 가장 낮은 계산된 평균 오버헤드를 갖는 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 하나가 선택된다. 상기 RABF 사이클은 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 상기 선택된 하나를 사용하여 수행된다.
관련된 방법 실시예, 시스템 실시예, 및 컴퓨터 프로그램 제품 실시예가 제공되는데, 이 실시예들은 추가 이점들을 제공한다.
본 발명의 이점들이 쉽게 이해되도록 하기 위해, 이상에서 간략하게 기술된 본 발명에 대한 더 상세한 설명은 첨부된 도면들에서 예시되는 특정 실시예들을 참조하여 제공될 것이다. 이들 도면들은 단지 본 발명의 실시예들을 설명하는 것이므로 발명의 범위가 설명된 범위로 제한되는 것으로 여겨져서는 아니됨을 이해해야 한다. 본 발명은 첨부되는 도면들을 사용함으로써 더 구체적으로 그리고 상세하게 기술되고 설명될 것이다.
도 1은 본 발명의 여러 가지 측면들을 구현할 수 있는 자기 테이프 카트리지를 갖는 예시적인 자기 테이프 드라이브의 블록도이다.
도 2는 본 발명의 여러 가지 측면들을 포함하여, 동기화 데이터를 자기 테이프에 라이트하기 위한 예시적인 방법이다.
앞서 언급한 바와 같이, 기술된 실시예들은 다수의 가능한 테이프 속도들 각각에 대해 오버헤드 계산들을 고려함으로써 RABF 사이클의 실행을 향상시키기 위한 여러 가지 기술들을 설명 및 기술한다. 이들 실시예들은 더 작은 테이프 속도들이 결국 더 빠른 테이프 테이프 속도들보다 더 나은 처리량을 초래하도록 하는 상황을 탐지하고, 그래서 더 느린 테이프 속도를 선택한다. 어떤 경우에는, 더 느린 테이프 속도를 선택함으로써, 상기 실시예들은 테이프 내구성(durability)을 향상시킨다.
앞서 기술된 시나리오를 설명하기 위해, 다음의 테이프 속도들을 사용하는 다음의 예를 고려한다. 제1 테이프 속도(SP1)는 10m/s(meter/second)의 레이트(rate)를 갖는다. 제2 테이프 속도(SP2)는 5m/s의 레이트를 갖는다. 임시 영역에서의 두 개의 랩들(wraps)은 ABF1 및 ABF2로 일컬어진다. 호스트로부터 전송된 소량의 트랜잭션 데이터(동기화 명령(synchronization command) 사이에 보내진 데이터)에 뒤따라서, 드라이브는 RABF 모드의 동작을 시작한다. 그런 다음, 상기 드라이브는 상기 제1 임시 랩(ABF1)에서 그 다음의 트랜잭션 데이터를 라이트한다. ABF1의 전체 영역이 라이트될 때, 상기 드라이브는 상기 제2 임시 영역(ABF2)으로 움직인다. ABF1 및 ABF2의 영역들이 라이트되면, 상기 드라이브는 원래의 랩으로 움직이고, ABF1 및 ABF2에 라이트된 데이터를 반복적으로 라이트한다. 상기 반복적인 라이트가 완료되면, 상기 드라이브는 그 다음의 동기화 명령을 위해 ABF1 랩으로 리턴한다. 바꿔 말하면, 상기 RABF 사이클은, 상기 호스트 어플리케이션이 작은 데이터 및 높은 주파수의 동기화 명령들을 전송하는 것을 중단하여 상기 드라이브가 상기 RABF 모드의 동작을 빠져나오도록 할 때까지 반복된다.
만약 임시 랩들(ABF1 및 ABF2)의 길이가 각각 100 미터이면, 이들 랩들을 라이팅하는 시간은 다음과 같이 확장된다. 더 빠른 테이프 속도(SP1)에서, 확장된 시간은 (100m)*(2 랩)/(10m/s) = 20초이다. 더 느린 테이프 속도(SP2)에서, 확장된 시간은 (100m)*(2 랩)/(5m/s) = 40초이다. 이들 값들은 반복적인 라이트 프로세스가 매 20초당(상기 더 빠른 테이프 속도에서) 또는 매 40초당(상기 더 느린 테이프 속도에서) 발생한다는 것을 나타낸다. 반복적인 라이트들의 발생은 상기 더 느린 테이프 속도에서 더 작기 때문에(매 40초 대(vs) 매 20초), 상기 반복적인 라이팅 자체로부터 기인하는 오버헤드는 감소된다. 이는 아래에서 더 설명될 것이다. 앞서의 설명에 추가로, 상기 더 느린 속도를 보증하는 상황들에서 더 느린 테이프 속도들의 사용은 상기 자기 테이프의 내구성을 향상시킨다.
도 1을 참조하면, 본 발명의 측면들을 구현할 수 있는 테이프 드라이브(10)가 예시된다. 상기 테이프 드라이브는 자기 테이프 카트리지(11)에 대하여 정보를 리드하고 라이트하기 위한 수단을 제공한다. 카트리지 및 연관 테이프 드라이브는 LTO(Linear Tape Open) 포맷에 부착된 것들과 같은 것으로 예시된다. 싱글 릴 테이프 드라이브(single reel tape drive)의 일 예는 LTO 기술에 기초한 IBM®3580 Ultrium® 자기 테이프 드라이브이다. 싱글 릴 테이프 드라이브의 다른 예는 IBM®3590 Magstar® 자기 테이프 드라이브 및 연관 자기 테이프 카트리지이다. 듀얼 릴 카트리지(dual reel catridge)의 일 예는 IBM®3570 자기 테이프 카트리지 및 연관 드라이브이다.
당해 기술 분야에서 통상의 기술을 가진 자들이라면 이해할 수 있는 바와 같이, 자기 테이프 카트리지(11)는 하나 또는 두 개의 릴들(15, 16) 상에 감긴 소정의 길이의 자기 테이프(14)를 포함한다. 또한 당해 기술 분야에서 통상의 기술을 가진 자라면 이해할 수 있는 바와 같이, 테이프 드라이브(10)는 인터페이스(21)에 수신된 호스트 시스템(20)으로부터 수신된 명령들에 따라 상기 테이프 드라이브를 동작시키기 위한 레코딩 시스템의 하나 또는 그 이상의 컨트롤러들(18)을 포함한다. 상기 테이프 드라이브(10)는 독립형 유닛(standalone unit)을 포함할 수도 있고, 또는 테이프 라이브러리의 일부 또는 다른 서브시스템을 포함할 수 있다. 테이프 드라이브(10)는 라이브러리를 통해, 또는 네트워크 상으로, 호스트 시스템(20)에 직접 결합될 수 있고, 스몰 컴퓨터 시스템 인터페이스(Small Computer Systems Interface, SCSI), 파이버 채널 인터페이스(Fibre Channel Interface) 등을 채용할 수 있다.
하나 또는 그 이상의 모터들(25)에 의해 상기 테이프가 길이방향으로 움직여짐에 따라 상기 레코딩 시스템의 하나 또는 그 이상의 리드 및/또는 라이트 헤드들(23)이 자기 테이프(14)에 대하여 정보를 리드 및/또는 라이트하도록 하기 위해, 자기 테이프 카트리지(11)는 테이프 드라이브(10)에 삽입될 수 있고, 상기 테이프 드라이브에 의해 로드될 수도 있다. 상기 자기 테이프는 복수의 평행 트랙들, 또는 트랙들의 그룹들을 포함한다. 위에서 논의된 LTO 포맷과 같은 몇몇 포맷들에서, 상기 트랙들은 분리된 랩들의 구불구불한 전후 패턴(serpentine back and forth pattern)으로 정렬되는데, 이는 당해 기술 분야에서 통상의 기술을 가진 자들에게 알려져 있다. 당해 기술 분야에서 통상의 기술을 가진 자들이라면 또한 알 수 있는 바와 같이, 상기 레코딩 시스템은 리드 및/또는 라이트 헤드들의 또 다른 세트를 전기적으로 전환시키기 위해, 및/또는 상기 자기 테이프에 대하여 측면으로 리드 및/또는 라이트 헤드들(23)을 찾아 움직이기 위해, 원하는 랩 또는 랩들에 상기 헤드들을 배치하기 위해, 그리고 일부 실시예들에서는, 상기 원하는 랩 또는 랩들을 뒤따라 추적하기 위해, 랩 컨트롤 시스템(27)을 포함한다. 또한 상기 랩 컨트롤 시스템(27)은 모터 드라이버들(28)을 통하여, 그리고 컨트롤러(18)에 의한 명령들에 응답하여, 모터들(25)의 동작을 컨트롤할 수 있다. 또한 컨트롤러(18)는 상기 자기 테이프로부터 리드되고 또한 상기 자기 테이프에 라이트될 데이터의 포맷팅 및 데이터 흐름을 제공하는데, 이 경우 당해 기술 분야에서 통상의 기술을 가진 자들에게 알려진 바와 같이, 버퍼(30) 및 레코딩 채널(32)을 채용한다.
위에서 논의된 바와 같이, 자기 테이프는 자동화된 데이터 스토리지 라이브러리들의 스토리지 쉘프에 기록되거나 저장되고 필요시 접근될 수 있는 데이터를 물리적으로 저장하기 위한 수단을 제공한다. 테이프 드라이브들은 흔히 영구성의 측면을 제공하도록 상기 데이터가 정확하게 라이트되는 것을 보장하기 위해, "라이트 후 리드(read after write)" 프로세스를 채용한다. 상기 영구성은, 자기 테이프 상에 정확한 카피가 존재한다는 것을 알 경우, 호스트 시스템(20)에서 메모리 또는 디스크에 저장된 데이터의 카피들이 지워지도록 허용한다.
앞에서의 논의를 고려할 때, RABF 사이클의 일 실시예는 다음과 같이 정의될 수 있다. 첫 번째 단계로서, 상기 테이프 헤드는 원래의 랩(original wrap)으로부터 상기 제1 임시 랩(이는 재차 ABF1으로 일컬어짐)으로 움직인다. 두 번째 단계로서, 상기 데이터는 상기 ABF1 랩 상에 라이트된다. 세 번째 단계로서, 상기 테이프 헤드는 상기 제1 임시 랩으로부터 상기 제2 임시 랩으로(즉, ABF1에서 ABF2) 움직인다. 네 번째 단계로서, 데이터는 상기 ABF2 랩에 라이트된다. 다섯 번째 단계로서, 상기 테이프 헤드는 상기 ABF2 랩으로부터 상기 원래의 랩으로 움직인다(상기 임시 영역들이 채워진 경우). 마지막으로 여섯 번째 단계로서, 상기 드라이브는 상기 데이터를 ABF1 및 ABF2로부터 상기 원래의 랩으로 반복적으로 라이트한다. 이들 단계들 각각들에 대해, 동기화 명령이 이슈될 수 있다.
여기서는 다음의 용어 및 가정들이 사용될 수 있다.
A : 테이프 속도의 가속도
SP_x : 테이프 속도
D : 데이터 세트의 크기(데이터 세트는 테이프 상에 라이트될 유닛임)
S_x : 테이프 속도(SP_x)의 전송속도(transfer rate)
n_x : 테이프 속도(SP_x)로 반복적으로 라이트될 데이터 세트들의 넘버
R_x : 테이프 속도(x)를 갖는 하나의 RABF 사이클(ABF1, ABF2, 반복적인 라이트) 동안의 동기화 명령들의 넘버
또한, 이하의 전송속도들이 정의될 수 있는데, 여기서 m_1, m_2, 및 m_3은 가장 높은 테이프 속도에 대한 현재의 속도의 비들(ratios)을 나타낸다. 이들 값들은 그러한 테이프 속도로 하나의 RABF 사이클의 퍼포먼스에 뒤따르는 특정 테이프 속도(x)에 대해 얻어질 수 있다. 예를 들어, 특정 컴퓨팅 환경에서, 다음과 같은 것들이 얻어질 수 있다.
S_1 = 163MB/sec = S_1*m_1(m_1 = 1)
S_2 = 134MB/sec = S_1*m_2(m_2 = 134/163)
S_3 = 109MB/sec = S_2*m_3(m_3 = 109/163)
앞에서의 가정들을 사용하여, 동기화 명령 당 평균 오버헤드는, Overhead_S_x = Time_To_Write_One_Dataset + (Time_To_Recursive_Write + One_RABF_Cycle에 대한 Tape_Motion)/R_x로 계산될 수 있다. 다시, 다음의 가정들 및 용어들이 사용될 수 있다.
Time_To_Write_One_Dataset = D/S_x
Time_To_Recursive_Write = D*n_x/S_x
One_RABF_Cycle에 대한 Tape_Motion(RABF 사이클의 6 단계들 모두) = (SP_x/A)*6
Time_To_Wrap_Change_From_Original_to_ABF1 = (SP_x/A)*2
Time_To_Wrap_Turn_From_ABF1_to_ABF2 = (SP_x/A)*2
Time_To_Wrap_Turn_From_ABF2_to_Original = (SP_x/A)*2
그런 다음, 추가 속도 y 및 z에 대해 동일한 평균 오버헤드 값이 계산될 수 있다.
Overhead_S_y = D/(S_x*m_y) + ((D*n_x/m_y)/(S_x*m_y) + (S_x*m_y/A)*6)/(R_x/m_y)
Overhead_S_z = D/(S_x*m_z) + ((D*n_x/m_z)/(S_x*m_z) + (S_x*m_z/A)*6)/(R_x/m_z)
상기 평균 오버헤드 값들이 얻어지는 경우, 상기 RABF 사이클은 가장 작은 계산된 평균 오버헤드를 갖는 테이프 속도를 사용하여 실행된다. 바꿔 말하면, 하나의 RABF 사이클의 총 시간이 주어질 때, 만약 특정 테이프 속도에 대해 계산된 평균 오버헤드 값이 상기 계산된 오버헤드 값들 중 가장 작으면, 상기 RABF 사이클은 그러한 특정 테이프 속도를 사용하여 최상의 퍼포먼스를 달성한다.
도 2를 참조하면, 미리 정의된 테이프 속도들에 대한 오버헤드 값들의 고려를 포함시키는 테이프에의 데이터의 동기 라이팅(synchronous writing)을 위한 예시적인 방법(50)이 예시된다. 당해 기술 분야에서 통상의 기술을 가진 자라면 알 수 있는 바와 같이, 방법(50)에서의 여러 가지 단계들은 특정 어플리케이션에 적합하도록 하기 위해 다른 방법들로 구현될 수 있다. 또한, 기술된 방법들은 하드웨어, 소프트웨어, 펌웨어, 또는 자기 테이프 상의 또는 자기 테이프 드라이브와 연관된 그것들의 동작적인 조합과 같은 여러 가지 수단에 의해 구현될 수 있다. 예를 들어, 방법(50)은 부분적으로 또는 전적으로, 컴퓨터-판독가능 스토리지 매체(computer-readable storage medium) - 상기 컴퓨터-판독가능 스토리지 매체 내에 저장되는 컴퓨터-판독가능 프로그램 코드 부분들을 가짐 - 로 구현될 수 있다. 상기 컴퓨터-판독가능 스토리지 매체는 디스크 드라이브들, 플래쉬 메모리(flash memory), DVD들(digital versatile disks), CD들(compact disks), 또는 다른 유형의 스토리지 매체들을 포함할 수 있다.
방법(50)은 이하에서 반복적인 메커니즘으로 표현되지만, 당해 기술 분야에서 통상의 기술을 가진 자라면, 일부 실시예들에서, 방법(50)에서의 특정 단계들이 병렬적으로 일어날 수 있음을 이해할 것이다. 예를 들어, 평균 오버헤드 값의 계산은 복수의 미리 정의된 테이프 속도들 각각에 대해 동시에 일어날 수 있다.
방법(50)은 상기 드라이브가 동기화 명령들(동기화 이벤트들)의 패턴을 탐지함에 따라 시작되는데(단계 52), 상기 동기화 명령들(동기화 이벤트들)의 패턴의 탐지는 상기 드라이브가 RABF 모드의 동작을 시작하도록 하고, 그래서 상기 RABF 사이클이 시작된다(단계 54). 만약 이것이 하나의 시구간에서 실행된 제1 RABF 사이클이라면(단계 56), 상기 RABF는 가장 빠른 이용가능한 테이프 속도를 사용하여 수행된다(단계 58). 만약 상기 RABF 사이클이 실행된 상기 제1 사이클이 아니라면, X는 가장 빠른 이용가능한 테이프 속도로 정의된다(단계 60). 호스트 전송속도가 X보다 더 작은지에 관한 결정이 이뤄진다(단계 62). 만약 상기 호스트 전송속도가 X보다 더 작지 않으면, 가장 작은 계산된 오버헤드 값을 갖는 테이프 속도 Y가 선택되고(단계 70), 상기 RABF는 상기 선택된 테이프 속도를 사용하여 수행된다(단계 72). 그런 다음, 상기 방법은 종료된다(단계 74).
단계 62로 돌아가서, 그러나 만약 상기 호스트 전송속도가 X보다 더 작다고 결정되면, 방법(50)은 속도 X를 사용하여 평균 오버헤드를 계산한다(단계 64). 만약 X보다 더 느린 테이프 속도가 확인되지 않는다면(단계 66), 상기 방법은 다시 단계 70으로 진행되어, 가장 작은 계산된 오버헤드를 갖는 속도(Y)를 선택하여 선택된 속도(Y)로 상기 RABF 사이클을 실행한다(다시, 단계 72). 한편, 만약 X보다 더 느린 테이프 속도가 확인된다면(다시, 단계 66), X는 그 다음 느린 테이프 속도로 재정의된다(단계 68). 그런 다음, 방법(50)은 단계 62로 리턴되고, 여기서 상기 호스트 전송속도는 다시 그것이 상기 재정의된 테이프 속도(X)보다 더 작은지의 여부를 결정하기 위해 조사된다. 단계들 62-68은 더 느린 테이프 속도가 확인되지 않을 때까지 계속된다.
당해 기술 분야에서 통상의 기술을 가진 자라면 알 수 있는 바와 같이, 본 발명의 측면들은 시스템, 방법 또는 컴퓨터 프로그램 제품으로 구현될 수 있다. 따라서, 본 발명의 측면들은 전적으로 하드웨어 구현 형태를 취할 수 있고, 전적으로 소프트웨어 구현 형태(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함함)를 취할 수도 있고, 또는 여기서는 일반적으로 모두가 "회로", "모델" 또는 "시스템"으로 일컬어질 수 있는 소프트웨어와 하드웨어 측면들을 조합하는 구현 형태를 취할 수도 있다. 더 나아가, 본 발명의 측면들은 하나 또는 그 이상의 컴퓨터 판독가능 매체(들) - 상기 하나 또는 그 이상의 컴퓨터 판독가능 매체(들) 상에 구현된 컴퓨터 판독가능 프로그램 코드를 가짐 - 로 구현되는 컴퓨터 프로그램 제품 형태를 취할 수 있다.
하나 또는 그 이상의 컴퓨터 판독가능 매체(들)의 조합이 이용될 수 있다. 상기 컴퓨터 판독가능 매체는 컴퓨터 판독가능 신호 매체 또는 컴퓨터 판독가능 스토리지 매체일 수 있다. 컴퓨터 판독가능 스토리지 매체는, 예를 들어, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스, 또는 이것들의 적절한 조합일 수 있다. 그러나, 위와 같은 예들로 한정되는 것은 아니다. 상기 컴퓨터 판독가능 스토리지 매체의 더 구체적인 예들에는 다음과 같은 것들, 즉 하나 또는 그 이상의 와이어들을 갖는 전기적 연결, 휴대용 컴퓨터 디스켓, 하드 디스크, RAM(random access memory), ROM(ROM), EPROM(erasable programmable read-only memory) 또는 플래쉬 메모리, 광 파이버, 휴대용 CD-ROM, 광 스토리지 디바이스, 자기 스토리지 디바이스, 또는 이것들의 적절한 조합이 포함될 수 있다. 그러나 위에서 열거한 예들은 상기 컴퓨터 판독가능 스토리지 매체의 예들을 빠짐없이 모두 열거한 것은 아님에 유의하자. 이 문서의 정황에서, 컴퓨터 판독가능 스토리지 매체는 명령 실행 시스템, 장치, 또는 디바이스와 연결 또는 명령 실행 시스템, 장치, 또는 디바이스에 의한 사용을 위한 프로그램을 포함 또는 저장할 수 있는 실체적인 매체일 수 있다.
컴퓨터 판독가능 매체 상에 구현되는 프로그램 코드는 적절한 매체를 사용하여 전송될 수 있는데, 그러한 매체의 예들에는, 무선, 유선, 광 파이버 케이블, RF, 또는 이것들의 적절한 조합들이 있으나, 이러한 예들로 한정되는 것은 아니다. 본 발명의 측면들에 대한 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 하나 또는 그 이상의 프로그래밍 언어들의 조합으로 쓰여질 수 있는데, 이러한 컴퓨터 프로그램 코드의 예들에는, 객체 지향 프로그래밍 언어(예, 자바(Java), 스몰토크(Smalltalk), C++ 등) 및 전통적인 절차 프로그래밍 언어들(예, "C" 프로그래밍 언어 또는 유사 프로그래밍 언어들)이 있다. 상기 프로그램 코드는 독립형 소프트웨어 패키지와 같이, 사용자의 컴퓨터 상에서 전적으로, 사용자의 컴퓨터 상에서 부분적으로 실행될 수도 있으며, 사용자의 컴퓨터 상에서 부분적으로 그리고 원격 컴퓨터 상에서 부분적으로 실행될 수도 있으며, 또는 원격 컴퓨터 또는 서버에서 전적으로 실행될 수도 있다. 후자의 시나리오에서, 원격 컴퓨터는 LAN(local area network) 또는 WAN(wide area network)와 같은 유형의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있고, 또는 상기 연결은 외부 컴퓨터(예를 들어, 인터넷 서비스 공급자를 사용하여 인터넷을 통해)에 대해서 이뤄질 수 있다.
본 발명의 측면들은 발명의 측면들에 따른 방법들, 장치들(시스템들) 및 컴퓨터 프로그램 제품들의 흐름도 도면들 및/또는 블록도들을 참조하여 이하에서 기술될 것이다. 흐름도 도면들 및/또는 블록도들에서 흐름도 도면들 및/또는 블록도들의 블록 각각, 및 블록들의 조합들은 컴퓨터 프로그램 명령들에 의해 실행될 수 있다는 것을 이해해야 할 것이다. 이들 컴퓨터 프로그램 명령들은 범용 컴퓨터, 전용 컴퓨터, 또는 머쉰을 만들어내기 위한 다른 프로그램가능한 데이터 처리 장치에 제공될 수 있는데, 그리하여, 상기 명령들은 다른 프로그램가능한 데이터 처리 장치 또는 상기 컴퓨터의 프로세서를 통해 실행되는 경우, 흐름도 및/또는 블록도의 블록 또는 블록들에 명시된 기능들/작동들을 실행하기 위한 수단을 생성하도록 한다.
이들 컴퓨터 프로그램 명령들은 또한 컴퓨터, 다른 프로그램가능한 데이터 처리 장치, 또는 다른 디바이스들이 특정 방법으로 기능하도록 지시할 수 있는 컴퓨터 판독가능 매체에 저장될 수 있다. 그리하여, 상기 컴퓨터 판독가능 매체에 저장된 명령들이, 흐름도 및/또는 블록도의 블록 또는 블록들에 명시된 기능/작동을 실행하는 명령들을 포함하는 제조 물품을 만들어내도록 한다. 상기 컴퓨터 프로그램 명령들은 또한 컴퓨터, 다른 프로그램 데이터 처리 장치, 또는 다른 디바이스들 상에 로드되어, 상기 컴퓨터, 다른 프로그램가능한 장치 또는 다른 디바이스들 상에서 수행될 일련의 동작 단계들로 하여금 컴퓨터로 구현된 프로세스를 만들어내도록 할 수 있다. 그리하여, 상기 컴퓨터 또는 다른 프로그램가능한 장치 상에서 실행되는 명령들이 상기 흐름도 및/또는 블록도의 블록 또는 블록들에 명시된 기능들/작동들을 실행하기 위한 프로세스들을 제공하도록 한다.
위에서 설명한 도면들에서의 흐름도 및 블록도들은 본 발명의 여러 가지 실시예들에 따른 시스템들, 방법들 컴퓨터 프로그램 제품들의 가능한 구현 예들의 구조, 기능, 및 동작을 예시한다. 이 점에서, 흐름도 또는 블록도들에서 각각의 블록은 모듈, 세그먼트, 또는 코드의 일부분을 표현할 수 있으며, 이러한 모듈, 세그먼트, 또는 코드의 일부분은 명시된 논리적 기능(들)을 실행하기 위한 하나 또는 그 이상의 실행가능한 명령들을 포함한다. 또한, 몇몇 다른 구현 예들에서, 도면들에 표시된 순서를 벗어나서 상기 블록에 표시된 기능들이 일어날 수도 있음을 또한 주목하자. 예를 들어, 연속해서 보여지는 두 개의 블록들은 사실상 실질적으로 동시에 수행될 수도 있고, 또는 그 블록들은 관련 기능에 의존하여 때로는 반대의 순서로 실행될 수도 있다. 블록도들 및/또는 흐름도 도면의 각각의 블록, 및 블록도들 및/또는 흐름도 도면에서의 블록들의 조합은, 명시된 기능들 또는 작동들을 수행하는 전용 하드웨어 기반의 시스템들 또는 전용 하드웨어 및 컴퓨터 명령들의 조합들에 의해 구현될 수 있다는 것을 또한 주목하자.
본 발명의 하나 또는 그 이상의 실시예들은 상세하게 설명되었지만, 당해 기술 분야에서 통상의 기술을 가진 자라면, 이하의 청구항들에서 제시되는 본 발명의 범위를 벗어나지 않고서 실시예들에 대한 변경들 및 개조들이 행해질 수 있음을 알 것이다.

Claims (20)

  1. 이용가능한 복수의 미리 정의된 테이프 속도들에 따른 라이팅(writing)을 수행하도록 준비된 자기 테이프 드라이브를 사용하여, 수신된 동기화된 데이터(received synchronized data)를 복수의 랩들(wraps)을 갖는 자기 테이프에 라이트하기 위한 방법에 있어서,
    상기 이용가능한 복수의 미리 정의된 테이프 속도들 각각에 대해, 반복적으로 누적되는 백히치없는 플러쉬(recursively accumulated backhitchless flush, RABF) 사이클을 수행하기 위해 동기화된 명령 당 평균 오버헤드를 계산하는 단계;
    가장 낮은 계산된 평균 오버헤드를 갖는 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 하나를 선택하는 단계; 및
    상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 상기 선택된 하나를 사용하여 상기 RABF 사이클을 수행하는 단계를 포함하는
    방법.
  2. 청구항 1에 있어서, 상기 방법은, 상기 평균 오버헤드를 계산하는 단계에 앞서, 상기 자기 테이프에 트랜잭션들(transactions)을 라이트하기 위해 동기화 이벤트들의 패턴을 탐지하는 단계 - 상기 탐지 단계는 RABF 모드의 동작을 트리거함 - 를 더 포함하는
    방법.
  3. 청구항 2에 있어서, 상기 방법은, 상기 RABF 사이클을 수행하는 단계에 따라, 상기 자기 테이프 드라이브의 적어도 하나의 리드/라이트 헤드로 상기 자기 테이프의 적어도 하나의 워크 카피 랩(work copy wrap)에 접근하는 단계;
    버퍼로부터 상기 자기 테이프의 상기 적어도 하나의 워크 카피 랩으로 상기 탐지된 패턴의 적어도 하나의 저장된 동기화된 트랜잭션을 라이트하는 단계;
    상기 버퍼로부터 상기 자기 테이프로 상기 적어도 하나의 저장된 동기화된 트랜잭션을 라이트하는 즉시, 상기 버퍼에 상기 적어도 하나의 저장된 동기화된 트랜잭션을 누적(accumulate)하는 단계; 및
    그 후에 상기 적어도 하나의 워크 카피 랩으로부터 분리된 상기 자기 테이프의 적어도 하나의 노멀 랩(normal wrap)에 접근하고, 상기 버퍼로부터 상기 자기 테이프로 순차적으로(in a sequence) 상기 누적된 트랜잭션들을 반복적으로 라이트하는 단계를 더 포함하는
    방법.
  4. 청구항 3에 있어서, 상기 방법은, 만약 상기 탐지하는 단계가 하나의 시구간(a period of time)에서 상기 RABF 모드의 동작의 제1 발생을 트리거하면, 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 가장 빠른 테이프 속도를 사용하여 제1 RABF 사이클을 수행하는 단계를 더 포함하는
    방법.
  5. 청구항 1에 있어서, 상기 방법은, 상기 평균 오버헤드를 계산하는 단계에 앞서, 호스트 전송속도가 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 제1 테이프 속도보다 더 작은지의 여부를 결정하는 단계를 더 포함하는
    방법.
  6. 청구항 5에 있어서, 상기 방법은, 만약 상기 호스트 전송속도가 상기 제1 테이프 속도보다 더 작다면, 상기 제1 테이프 속도에 대해 상기 평균 오버헤드를 계산하는 단계를 수행하는
    방법.
  7. 청구항 6에 있어서, 상기 방법은, 만약 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 추가 테이프 속도가 상기 제1 테이프 속도보다 더 느리면, 상기 호스트 전송속도가 상기 추가 테이프 속도보다 더 작은지의 여부를 결정하고, 만약 상기 호스트 전송속도가 더 작으면, 상기 추가 테이프 속도에 대해 상기 평균 오버헤드를 계산하는 단계를 수행하는
    방법.
  8. 이용가능한 복수의 미리 정의된 테이프 속도들에 따른 라이팅(writing)을 수행하도록 준비된 자기 테이프 드라이브를 사용하여, 수신된 동기화된 데이터를 복수의 랩들(wraps)을 갖는 자기 테이프에 라이트하기 위한 시스템에 있어서,
    적어도 하나의 버퍼; 및
    상기 적어도 하나의 버퍼에 결합되어 상기 적어도 하나의 버퍼를 동작시키는 컨트롤러 - 상기 컨트롤러는 프로세스 디바이스를 포함함 - 를 포함하며, 여기서 상기 컨트롤러는,
    상기 이용가능한 복수의 미리 정의된 테이프 속도들 각각에 대해, 반복적으로 누적되는 백히치없는 플러쉬(recursively accumulated backhitchless flush, RABF) 사이클을 수행하기 위해 동기화된 명령 당 평균 오버헤드를 계산하고;
    가장 낮은 계산된 평균 오버헤드를 갖는 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 하나를 선택하고; 및
    상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 상기 선택된 하나를 사용하여 상기 RABF 사이클을 수행하도록 준비된
    시스템.
  9. 청구항 8에 있어서, 상기 컨트롤러는, 상기 평균 오버헤드를 계산하는 것에 앞서, 상기 자기 테이프에 트랜잭션들(transactions)을 라이트하기 위해 동기화 이벤트들의 패턴을 탐지하도록 - 상기 탐지는 RABF 모드의 동작을 트리거함 - 더 준비된
    시스템.
  10. 청구항 9에 있어서, 상기 컨트롤러는 상기 RABF 사이클을 수행하는 것에 따라,
    상기 자기 테이프 드라이브의 적어도 하나의 리드/라이트 헤드로 상기 자기 테이프의 적어도 하나의 워크 카피 랩(work copy wrap)에 접근하고;
    상기 적어도 하나의 버퍼로부터 상기 자기 테이프의 상기 적어도 하나의 워크 카피 랩으로 상기 탐지된 패턴의 적어도 하나의 저장된 동기화된 트랜잭션을 라이트하고;
    상기 적어도 하나의 버퍼로부터 상기 자기 테이프로 상기 적어도 하나의 저장된 동기화된 트랜잭션을 라이트하는 즉시, 상기 적어도 하나의 버퍼에 상기 적어도 하나의 저장된 동기화된 트랜잭션을 누적하고;
    그 후에 상기 적어도 하나의 워크 카피 랩으로부터 분리된 상기 자기 테이프의 적어도 하나의 노멀 랩(normal wrap)에 접근하고, 상기 적어도 하나의 버퍼로부터 상기 자기 테이프로 순차적으로(in a sequence) 상기 적어도 하나의 누적된 트랜잭션들을 반복적으로 라이트하도록 더 준비된
    시스템.
  11. 청구항 10에 있어서, 상기 컨트롤러는, 만약 상기 탐지가 하나의 시구간에서 상기 RABF 모드의 동작의 제1 발생을 트리거하면, 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 가장 빠른 테이프 속도를 사용하여 제1 RABF 사이클을 수행하도록 더 준비된
    시스템.
  12. 청구항 8에 있어서, 상기 컨트롤러는 상기 평균 오버헤드를 계산하기에 앞서, 호스트 전송속도가 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 제1 테이프 속도보다 더 작은지의 여부를 결정하도록 더 준비된
    시스템.
  13. 청구항 12에 있어서, 상기 컨트롤러는, 만약 상기 호스트 전송속도가 상기 제1 테이프 속도보다 더 작으면, 상기 제1 테이프 속도에 대해 상기 평균 오버헤드를 계산하는 것을 수행하도록 더 준비된
    시스템.
  14. 청구항 13에 있어서, 상기 컨트롤러는, 만약 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 추가 테이프 속도가 상기 제1 테이프 속도보다 더 느리면, 상기 호스트 전송속도가 상기 추가 테이프 속도보다 더 작은지의 여부를 결정하고, 만약 상기 호스트 전송속도가 더 작으면, 상기 추가 테이프 속도에 대해 상기 평균 오버헤드를 계산하는 것을 수행하도록 더 준비된
    시스템.
  15. 이용가능한 복수의 미리 정의된 테이프 속도들에 따른 라이팅(writing)을 수행하도록 준비된 자기 테이프 드라이브를 사용하여, 수신된 동기화된 데이터를 라이트하기 위한 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 컴퓨터-판독가능 스토리지 매체 - 상기 컴퓨터-판독가능 스토리지 매체는 상기 컴퓨터 판독가능 스토리지 매체 내에 저장된 컴퓨터-판독가능 프로그램 코드 부분들을 가짐 - 를 포함하며, 상기 컴퓨터-판독가능 프로그램 코드 부분들은,
    상기 이용가능한 복수의 미리 정의된 테이프 속도들 각각에 대해, 반복적으로 누적되는 백히치없는 플러쉬(recursively accumulated backhitchless flush, RABF) 사이클을 수행하기 위해 동기화된 명령 당 평균 오버헤드를 계산하기 위한 제1 실행 부분;
    가장 낮은 계산된 평균 오버헤드를 갖는 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 하나를 선택하기 위한 제2 실행 부분; 및
    상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 상기 선택된 하나를 사용하여 상기 RABF 사이클을 수행하기 위한 제3 실행 부분을 포함하는
    컴퓨터 프로그램 제품.
  16. 청구항 15에 있어서, 상기 컴퓨터 프로그램 제품은, 상기 평균 오버헤드를 계산하는 것에 앞서, 상기 자기 테이프에 트랜잭션들(transactions)을 라이트하기 위한 동기화 이벤트들의 패턴을 탐지하기 위한 제4 실행 부분 - 상기 탐지는 RABF 모드의 동작을 트리거함 - 을 더 포함하는
    컴퓨터 프로그램 제품.
  17. 청구항 16에 있어서, 상기 컴퓨터 프로그램 제품은, 상기 RABF 사이클을 수행하는 것에 따라,
    상기 자기 테이프 드라이브의 적어도 하나의 리드/라이트 헤드로 상기 자기 테이프의 적어도 하나의 워크 카피 랩(work copy wrap)에 접근하고;
    상기 버퍼로부터 상기 자기 테이프의 상기 적어도 하나의 워크 카피 랩으로 상기 탐지된 패턴의 적어도 하나의 저장된 동기화된 트랜잭션을 라이트하고;
    상기 버퍼로부터 상기 자기 테이프로 상기 적어도 하나의 저장된 동기화된 트랜잭션을 라이트하는 즉시, 상기 적어도 하나의 저장된 동기화된 트랜잭션을 누적하고;
    그 후에 상기 적어도 하나의 워크 카피 랩으로부터 분리된 상기 자기 테이프의 적어도 하나의 노멀 랩(normal wrap)에 접근하고, 상기 버퍼로부터 상기 자기 테이프로 순차적으로(in a sequence) 상기 누적된 트랜잭션들을 반복적으로 라이트하기 위한 제5 실행 부분을 더 포함하는
    컴퓨터 프로그램 제품.
  18. 청구항 17에 있어서, 상기 컴퓨터 프로그램 제품은, 만약 상기 탐지가 하나의 시구간에서 상기 RABF 모드의 동작의 제1 발생을 트리거한다면, 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 가장 빠른 테이프 속도를 사용하여 제1 RABF 사이클을 수행하기 위한 제6 실행 부분을 더 포함하는
    컴퓨터 프로그램 제품.
  19. 청구항 15에 있어서, 상기 컴퓨터 프로그램 제품은, 상기 평균 오버헤드를 계산하는 것에 앞서, 만약 호스트 전송속도가 상기 이용가능한 복수의 미리 결정된 테이프 속도들 중 제1 테이프 속도보다 더 작은지의 여부를 결정하고, 만약 상기 호스트 전송속도가 상기 제1 테이프 속도보다 더 작다면, 상기 제1 테이프 속도에 대한 상기 평균 오버헤드를 계산하는 것을 수행하기 위한 제4 실행 부분을 더 포함하는
    컴퓨터 프로그램 제품.
  20. 청구항 19에 있어서, 상기 컴퓨터 프로그램 제품은, 만약 상기 이용가능한 복수의 미리 정의된 테이프 속도들 중 추가 테이프 속도가 상기 제1 테이프 속도보다 더 느리면, 상기 호스트 전송속도가 상기 추가 테이프 속도보다 더 작은지의 여부를 결정하고, 만약 상기 호스트 전송속도가 더 작다면, 상기 추가 테이프 속도에 대한 상기 평균 오버헤드를 계산하는 것을 수행하기 위한 제5 실행 부분을 더 포함하는
    컴퓨터 프로그램 제품.
KR1020100076712A 2009-08-31 2010-08-10 동기화된 데이터를 자기 테이프에 라이트함에 있어서 오버헤드 계산 KR20110023744A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/551,280 US7995303B2 (en) 2009-08-31 2009-08-31 Overhead calculation in writing synchronized data to magnetic tape
US12/551,280 2009-08-31

Publications (1)

Publication Number Publication Date
KR20110023744A true KR20110023744A (ko) 2011-03-08

Family

ID=43624560

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100076712A KR20110023744A (ko) 2009-08-31 2010-08-10 동기화된 데이터를 자기 테이프에 라이트함에 있어서 오버헤드 계산

Country Status (3)

Country Link
US (1) US7995303B2 (ko)
KR (1) KR20110023744A (ko)
CN (1) CN102005226B (ko)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2309506B1 (en) * 2008-07-08 2014-05-21 International Business Machines Corporation Device for adjusting traveling speed of tape medium, method for adjusting traveling speed, and program for adjusting traveling speed
US8941863B1 (en) * 2010-11-29 2015-01-27 Symantec Corporation Techniques for image duplication optimization
US8908314B2 (en) * 2011-08-19 2014-12-09 Oracle International Corporation Data file information based selection of tape drive tape speed
JP6316248B2 (ja) 2015-08-21 2018-04-25 富士フイルム株式会社 磁気テープおよびその製造方法
US10540996B2 (en) 2015-09-30 2020-01-21 Fujifilm Corporation Magnetic tape having characterized magnetic layer and magnetic tape device
US10403319B2 (en) 2015-12-16 2019-09-03 Fujifilm Corporation Magnetic tape having characterized magnetic layer, tape cartridge, and recording and reproducing device
JP6552402B2 (ja) 2015-12-16 2019-07-31 富士フイルム株式会社 磁気テープ、磁気テープカートリッジ、磁気記録再生装置および磁気テープの製造方法
JP6430927B2 (ja) 2015-12-25 2018-11-28 富士フイルム株式会社 磁気テープおよびその製造方法
JP6465823B2 (ja) 2016-02-03 2019-02-06 富士フイルム株式会社 磁気テープおよびその製造方法
JP6427127B2 (ja) 2016-02-03 2018-11-21 富士フイルム株式会社 磁気テープおよびその製造方法
JP6474748B2 (ja) 2016-02-29 2019-02-27 富士フイルム株式会社 磁気テープ
JP6472764B2 (ja) 2016-02-29 2019-02-20 富士フイルム株式会社 磁気テープ
JP6467366B2 (ja) 2016-02-29 2019-02-13 富士フイルム株式会社 磁気テープ
JP6556096B2 (ja) 2016-06-10 2019-08-07 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6534637B2 (ja) 2016-06-13 2019-06-26 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6534969B2 (ja) 2016-06-22 2019-06-26 富士フイルム株式会社 磁気テープ
JP6556100B2 (ja) 2016-06-22 2019-08-07 富士フイルム株式会社 磁気テープ
JP6556101B2 (ja) 2016-06-23 2019-08-07 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6717684B2 (ja) 2016-06-23 2020-07-01 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6507126B2 (ja) 2016-06-23 2019-04-24 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6549528B2 (ja) 2016-06-23 2019-07-24 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6549529B2 (ja) 2016-06-23 2019-07-24 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6498154B2 (ja) 2016-06-23 2019-04-10 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6496277B2 (ja) 2016-06-23 2019-04-03 富士フイルム株式会社 磁気テープ
JP6556102B2 (ja) 2016-06-23 2019-08-07 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6529933B2 (ja) 2016-06-24 2019-06-12 富士フイルム株式会社 磁気テープ
JP6556107B2 (ja) 2016-08-31 2019-08-07 富士フイルム株式会社 磁気テープ
JP6552467B2 (ja) 2016-08-31 2019-07-31 富士フイルム株式会社 磁気テープ
JP6585570B2 (ja) 2016-09-16 2019-10-02 富士フイルム株式会社 磁気記録媒体およびその製造方法
JP6701072B2 (ja) 2016-12-27 2020-05-27 富士フイルム株式会社 磁気テープ装置およびヘッドトラッキングサーボ方法
JP2018106778A (ja) * 2016-12-27 2018-07-05 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6588002B2 (ja) 2016-12-27 2019-10-09 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6684203B2 (ja) 2016-12-27 2020-04-22 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6684236B2 (ja) 2017-02-20 2020-04-22 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6689223B2 (ja) 2017-02-20 2020-04-28 富士フイルム株式会社 磁気テープ
JP6684238B2 (ja) 2017-02-20 2020-04-22 富士フイルム株式会社 磁気テープ
JP6649297B2 (ja) 2017-02-20 2020-02-19 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6684239B2 (ja) 2017-02-20 2020-04-22 富士フイルム株式会社 磁気テープ
JP6684237B2 (ja) 2017-02-20 2020-04-22 富士フイルム株式会社 磁気テープ装置およびヘッドトラッキングサーボ方法
JP6689222B2 (ja) 2017-02-20 2020-04-28 富士フイルム株式会社 磁気テープ
JP6649298B2 (ja) 2017-02-20 2020-02-19 富士フイルム株式会社 磁気テープ装置およびヘッドトラッキングサーボ方法
JP6684235B2 (ja) 2017-02-20 2020-04-22 富士フイルム株式会社 磁気テープ装置およびヘッドトラッキングサーボ方法
JP6602806B2 (ja) 2017-02-20 2019-11-06 富士フイルム株式会社 磁気テープ
JP6602805B2 (ja) 2017-02-20 2019-11-06 富士フイルム株式会社 磁気テープ
JP6637456B2 (ja) 2017-02-20 2020-01-29 富士フイルム株式会社 磁気テープ
JP6685248B2 (ja) 2017-02-20 2020-04-22 富士フイルム株式会社 磁気テープ
JP6684234B2 (ja) 2017-02-20 2020-04-22 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6649312B2 (ja) 2017-03-29 2020-02-19 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6632561B2 (ja) 2017-03-29 2020-01-22 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6649313B2 (ja) 2017-03-29 2020-02-19 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6615815B2 (ja) 2017-03-29 2019-12-04 富士フイルム株式会社 磁気テープ装置およびヘッドトラッキングサーボ方法
JP6626032B2 (ja) 2017-03-29 2019-12-25 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6615814B2 (ja) 2017-03-29 2019-12-04 富士フイルム株式会社 磁気テープ装置およびヘッドトラッキングサーボ方法
JP6649314B2 (ja) 2017-03-29 2020-02-19 富士フイルム株式会社 磁気テープ装置およびヘッドトラッキングサーボ方法
JP6626031B2 (ja) 2017-03-29 2019-12-25 富士フイルム株式会社 磁気テープ装置および磁気再生方法
JP6632562B2 (ja) 2017-03-29 2020-01-22 富士フイルム株式会社 磁気テープ
JP6660336B2 (ja) 2017-03-29 2020-03-11 富士フイルム株式会社 磁気テープ装置およびヘッドトラッキングサーボ方法
JP6694844B2 (ja) 2017-03-29 2020-05-20 富士フイルム株式会社 磁気テープ装置、磁気再生方法およびヘッドトラッキングサーボ方法
JP6723198B2 (ja) 2017-06-23 2020-07-15 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6691512B2 (ja) 2017-06-23 2020-04-28 富士フイルム株式会社 磁気記録媒体
JP6714548B2 (ja) 2017-07-19 2020-06-24 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6707061B2 (ja) 2017-07-19 2020-06-10 富士フイルム株式会社 磁気記録媒体
JP6717785B2 (ja) 2017-07-19 2020-07-08 富士フイルム株式会社 磁気記録媒体
JP6723203B2 (ja) 2017-07-19 2020-07-15 富士フイルム株式会社 磁気テープ
JP6717786B2 (ja) 2017-07-19 2020-07-08 富士フイルム株式会社 磁気テープおよび磁気テープ装置
JP6723202B2 (ja) 2017-07-19 2020-07-15 富士フイルム株式会社 磁気テープ
JP6678135B2 (ja) 2017-07-19 2020-04-08 富士フイルム株式会社 磁気記録媒体
JP6717787B2 (ja) 2017-07-19 2020-07-08 富士フイルム株式会社 磁気テープおよび磁気テープ装置
US10854230B2 (en) 2017-07-19 2020-12-01 Fujifilm Corporation Magnetic tape having characterized magnetic layer
US10839849B2 (en) 2017-07-19 2020-11-17 Fujifilm Corporation Magnetic recording medium having characterized magnetic layer
US10854227B2 (en) 2017-07-19 2020-12-01 Fujifilm Corporation Magnetic recording medium having characterized magnetic layer
JP6707060B2 (ja) 2017-07-19 2020-06-10 富士フイルム株式会社 磁気テープ
US10515657B2 (en) 2017-09-29 2019-12-24 Fujifilm Corporation Magnetic tape having characterized magnetic layer and magnetic recording and reproducing device
US10854234B2 (en) 2017-09-29 2020-12-01 Fujifilm Corporation Magnetic recording medium having characterized magnetic layer and magnetic recording and reproducing device
US10978105B2 (en) 2017-09-29 2021-04-13 Fujifilm Corporation Magnetic recording medium having characterized magnetic layer and magnetic recording and reproducing device
CN111164686B (zh) 2017-09-29 2021-06-08 富士胶片株式会社 磁带及磁记录回放装置
US10854231B2 (en) 2017-09-29 2020-12-01 Fujifilm Corporation Magnetic recording medium having characterized magnetic layer and magnetic recording and reproducing device
CN113436654B (zh) 2017-09-29 2022-12-02 富士胶片株式会社 磁带及磁记录回放装置
US10854233B2 (en) 2017-09-29 2020-12-01 Fujifilm Corporation Magnetic recording medium having characterized magnetic layer and magnetic recording and reproducing device
US11514944B2 (en) 2018-03-23 2022-11-29 Fujifilm Corporation Magnetic tape and magnetic tape device
US11361793B2 (en) 2018-03-23 2022-06-14 Fujifilm Corporation Magnetic tape having characterized magnetic layer and magnetic recording and reproducing device
US11514943B2 (en) 2018-03-23 2022-11-29 Fujifilm Corporation Magnetic tape and magnetic tape device
US11361792B2 (en) 2018-03-23 2022-06-14 Fujifilm Corporation Magnetic tape having characterized magnetic layer and magnetic recording and reproducing device
JP6830931B2 (ja) 2018-07-27 2021-02-17 富士フイルム株式会社 磁気テープ、磁気テープカートリッジおよび磁気テープ装置
JP6784738B2 (ja) 2018-10-22 2020-11-11 富士フイルム株式会社 磁気テープ、磁気テープカートリッジおよび磁気テープ装置
JP6830945B2 (ja) 2018-12-28 2021-02-17 富士フイルム株式会社 磁気テープ、磁気テープカートリッジおよび磁気テープ装置
JP7042737B2 (ja) 2018-12-28 2022-03-28 富士フイルム株式会社 磁気テープ、磁気テープカートリッジおよび磁気テープ装置
JP7003073B2 (ja) 2019-01-31 2022-01-20 富士フイルム株式会社 磁気テープ、磁気テープカートリッジおよび磁気テープ装置
JP6778804B1 (ja) 2019-09-17 2020-11-04 富士フイルム株式会社 磁気記録媒体および磁気記録再生装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4410942A (en) * 1981-03-06 1983-10-18 International Business Machines Corporation Synchronizing buffered peripheral subsystems to host operations
US6286061B1 (en) * 1998-06-02 2001-09-04 Philips Electronics North America Corporation System for applying a tag to a frame based on certain characteristics of the frame and transferring the frame as a function of the tag
CN1106644C (zh) * 1998-09-03 2003-04-23 索尼公司 从磁带介质安装卷的磁带驱动器装置和方法
US6307701B1 (en) * 1998-10-20 2001-10-23 Ecrix Corporation Variable speed recording method and apparatus for a magnetic tape drive
US6856479B2 (en) * 2002-01-29 2005-02-15 International Business Machines Corporation Writing synchronized data to magnetic tape
US6958878B2 (en) * 2003-10-27 2005-10-25 International Business Machines Corporation Forced backhitch for speed matching in a multi-speed tape drive
JP2008016117A (ja) * 2006-07-05 2008-01-24 Fujitsu Ltd テープへのデータ書込方法、テープへのデータ書込プログラム、及びテープ記憶装置
US7710681B2 (en) * 2007-06-06 2010-05-04 International Business Machines Corporation Optimizing tape speed for a sync operation
JP4912472B2 (ja) * 2007-11-05 2012-04-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 磁気テープへの書込み制御方法及びその方法を実行する磁気テープ装置
JP4954141B2 (ja) * 2008-05-30 2012-06-13 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体の走行を制御する装置及び方法
US7903363B2 (en) * 2008-06-05 2011-03-08 International Business Machines Corporation Same Wrap backhitchless write method to encode data on a tape storage medium

Also Published As

Publication number Publication date
US7995303B2 (en) 2011-08-09
US20110051280A1 (en) 2011-03-03
CN102005226A (zh) 2011-04-06
CN102005226B (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
KR20110023744A (ko) 동기화된 데이터를 자기 테이프에 라이트함에 있어서 오버헤드 계산
JP4016408B2 (ja) 磁気テープへの同期データの書き込み
US7511915B2 (en) Method, system, and program for storing data in a storage medium
US9025271B2 (en) Method for reading file using plurality of tape media
US7119974B2 (en) Storing data to magnetic tape both to one set of tracks and in the same operation rewritten to another set of tracks
EP2372715B1 (en) Device and method for reading out data from recording medium
JP5385992B2 (ja) テープ媒体の走行を制御する装置及び方法
US10541004B2 (en) Shortening the average reposition time to the beginning of files in a magnetic tape
US11100003B2 (en) Tape drive with intelligent selection of wrap / track for temporarily storing flushed data
JP2011134413A (ja) 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。
US20150199980A1 (en) Tape apparatus and write processing method
US7143232B2 (en) Method, system, and program for maintaining a directory for data written to a storage medium
US11955140B2 (en) Reducing deviation of read head position between writing and reading in a magnetic tape
US6985325B2 (en) Updateable centralized data position information storage system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application