WO2010073776A1 - 記録媒体に記録されたデータを読み出す装置及び方法 - Google Patents

記録媒体に記録されたデータを読み出す装置及び方法 Download PDF

Info

Publication number
WO2010073776A1
WO2010073776A1 PCT/JP2009/065160 JP2009065160W WO2010073776A1 WO 2010073776 A1 WO2010073776 A1 WO 2010073776A1 JP 2009065160 W JP2009065160 W JP 2009065160W WO 2010073776 A1 WO2010073776 A1 WO 2010073776A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
recorded
read
data elements
track
Prior art date
Application number
PCT/JP2009/065160
Other languages
English (en)
French (fr)
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 インターナショナル・ビジネス・マシーンズ・コーポレーション
Priority to JP2010543951A priority Critical patent/JP5480163B2/ja
Priority to US13/141,959 priority patent/US9036286B2/en
Priority to CN200980152303.2A priority patent/CN102265348B/zh
Priority to EP09834582.0A priority patent/EP2372715B1/en
Publication of WO2010073776A1 publication Critical patent/WO2010073776A1/ja

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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • 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
    • 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/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/032Electronic editing of digitised analogue information signals, e.g. audio or video signals on tapes
    • 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/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/107Programmed access in sequence to addressed parts of tracks of operating record carriers of operating tapes
    • 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/30Indexing; 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 the same track as the main recording
    • G11B27/3027Indexing; 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 the same track as the main recording used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • G11B2020/1267Address data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/65Solid state media wherein solid state memory is used for storing indexing information or metadata
    • G11B2220/652Solid state media wherein solid state memory is used for storing indexing information or metadata said memory being attached to the recording medium
    • G11B2220/655Memory in cassette [MIC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Definitions

  • the present invention relates to an apparatus and a method for reading data recorded on a recording medium.
  • the present invention relates to an apparatus and method for reading data recorded on a recording medium having a plurality of tracks.
  • tape media are often used as archives for photo data, video data, and the like.
  • data main data
  • metadata as additional information is important as data to be stored for a long time.
  • the metadata for example, for photo data, the photo shooting location, date / time, subject, photographer, photographing device, recording format, file name, file size, and the like can be considered. Since data and metadata are associated with each other in this way, it is desirable that data and metadata are processed together when performing processing such as backup, archive, and migration. This will be described by taking archiving to a tape medium as an example. Suppose that data and metadata are processed separately and each is archived on a separate tape cartridge. In this case, in order to obtain information on data recorded on a certain tape cartridge, it is necessary to search for metadata of the data from another tape cartridge, and the cost for obtaining the information increases. Thus, data and metadata are preferably archived together on the same tape cartridge.
  • Patent Document 1 a content number display area, a total time display area, a genre display area, and a content display area are provided in the title list of a tape medium, and a desired content is selected from the contents displayed in the content display area with a cursor. By selecting, the head address of the selected content is read, and the video data of the content is reproduced.
  • Patent Document 1 originally does not assume a situation in which a plurality of contents to be read simultaneously are recorded in a distributed manner. Therefore, no means for efficiently reading a plurality of data elements recorded in a distributed manner is disclosed.
  • An object of the present invention is to efficiently read a plurality of data elements to be read from a recording medium in which the data elements are distributed and recorded.
  • the present invention is an apparatus for reading data recorded on a recording medium having a plurality of tracks, the receiving unit receiving designation of a plurality of data elements to be read, and the plurality of data elements, Even if each data element of a plurality of data elements is recorded on any of a plurality of tracks, a plurality of data elements are read out in order of recording positions of each data element in a direction along the recorded track. And a determination unit for determining a reading order of the data elements.
  • the apparatus further includes an acquisition unit that acquires position information indicating a recording position of each data element in a direction along a track in which each data element of the plurality of data elements is recorded, and the determination unit includes the acquisition unit
  • the reading order of a plurality of data elements may be determined based on the position information acquired by the above. Further, the determining unit records the recording position of one data element in the direction along the track where one data element of the plurality of data elements is recorded, and the other data element of the plurality of data elements.
  • a data element group including one data element and not including another data element is read out in accordance with the relationship with the recording position of another data element in the direction along the track.
  • the reading order of a plurality of data elements may be determined so that the reading is performed in one scan without reversing the head.
  • the determining unit determines the reading order of the plurality of data elements so that the data element group including the other data elements is read in another scan after one scan of the read head. It's okay.
  • the plurality of data elements read data in the first data element group recorded in the first track group from which data is read in the first direction, and in the second direction opposite to the first direction.
  • the second data element group recorded in the second track group, and the determining unit includes any one of the first data element group and each data element in the first data element group.
  • the second data element group is the second data element group. Even if each data element is recorded on any track of the second track group, a plurality of data are read so that each data element is read in the order of the recording position in the direction along the recorded track. Reading order of elements Determining, it may be one. In that case, the acquisition unit further acquires identification information for identifying a track in which each data element of the plurality of data elements is recorded, and the determination unit determines the plurality of data elements based on the identification information acquired by the acquisition unit. Then, it may be divided into a first data element group and a second data element group. Furthermore, each data element of the plurality of data elements may be either main data or metadata that is additional information of the main data.
  • the present invention provides a tape having a first track group from which data is read in a first direction from the front end to the end, and a second track group from which data is read in a second direction from the end to the front end.
  • An apparatus for reading data recorded on a medium a receiving unit for receiving designation of a plurality of data elements to be read, identification information for identifying a track on which each data element of the plurality of data elements is recorded, and a track
  • An acquisition unit that acquires position information indicating a recording position of each data element in the along direction, and a plurality of data elements recorded on the first track group based on the identification information acquired by the acquisition unit
  • a division unit for dividing the data element group into one data element group and a second data element group recorded in the second track group, and the first data element group includes each data element of the first data element group.
  • each data element is read in the order of the recording position of each data element in the direction along the recorded track, and the second data element group
  • the order of the recording position of each data element in the direction along the track in which each data element is recorded there is also provided an apparatus including a determining unit that determines a reading order of a plurality of data elements to be read based on position information acquired by an acquiring unit.
  • the present invention is a method of reading data recorded on a recording medium having a plurality of tracks, the step of receiving designation of a plurality of data elements to be read, and the plurality of data elements being a plurality of data elements. Even if each data element is recorded on any of the plurality of tracks, reading of the plurality of data elements is performed so that each data element is read in the order of the recording position of each data element in the direction along the recorded track. And a method for determining the order.
  • the present invention is a program for causing a computer to function as a device for reading data recorded on a recording medium having a plurality of tracks, the computer receiving a designation of a plurality of data elements to be read; Even if a plurality of data elements are recorded on any of a plurality of tracks, each data element is recorded in the order of the recording position of each data element in the direction along the track on which each data element is recorded.
  • a program that functions as a determining unit that determines the reading order of a plurality of data elements so as to be read is also provided.
  • these data elements can be efficiently read from a recording medium in which a plurality of data elements to be read are recorded in a distributed manner.
  • FIG. 1 is a diagram illustrating a configuration example of an archive device 100 to which the exemplary embodiment is applied.
  • the archive device 100 includes a tape drive 10, a control mechanism 30, an accessor 40, and a cartridge slot 50.
  • the tape drive 10 includes a host interface (hereinafter referred to as “host I / F”) 11, a buffer 12, a channel 13, a write head 14 a, a read head 14 b, and a motor 15. Further, the controller 16, a head position control system 17, and a motor driver 18 are included. Furthermore, since a tape cartridge (hereinafter simply referred to as “cartridge”) 20 can be loaded into the tape drive 10, the cartridge 20 is also illustrated here.
  • the cartridge 20 includes a tape 23 wound around reels 21 and 22. As the reels 21 and 22 rotate, the tape 23 moves in the longitudinal direction from the reel 21 to the reel 22 or from the reel 22 to the reel 21.
  • the magnetic tape is illustrated as the tape 23, tape media other than a magnetic tape may be sufficient.
  • the cartridge 20 also includes a cartridge memory 24.
  • the cartridge memory 24 records, for example, information on how data is written on the tape 23. Then, for example, by using an RF interface to check the index of data written on the tape 23 in a non-contact manner, the usage status of the tape 23, etc., high-speed access to the data is possible.
  • an interface for accessing the cartridge memory 24 such as this RF interface is shown as a cartridge memory interface (hereinafter referred to as “CMI / F”) 19.
  • the host I / F 11 communicates with the host 200 via the control mechanism 30.
  • the host 200 receives a command for instructing data writing to the tape 23, a command for moving the tape 23 to a target position, and a command for instructing reading of data from the tape 23.
  • SCSI is exemplified as a communication standard used in the host I / F 11.
  • the first command corresponds to the Write command
  • the second command corresponds to the Locate command and the Space command
  • the third command corresponds to the Read command.
  • the host I / F 11 returns a response to the host 200 as to whether the processing according to these commands has succeeded or failed.
  • the buffer 12 is a memory that stores data to be written to the tape 23 and data read from the tape 23.
  • the buffer 12 is composed of a plurality of buffer segments, and each buffer segment stores a data set that is a unit of reading and writing with respect to the tape 23.
  • the channel 13 is a communication path used for sending data to be written on the tape 23 to the write head 14a and receiving data read from the tape 23 from the read head 14b.
  • the write head 14a writes information to the tape 23 when the tape 23 moves in the longitudinal direction
  • the read head 14b reads information from the tape 23 when the tape 23 moves in the longitudinal direction.
  • the motor 15 rotates the reels 21 and 22. In the figure, the motor 15 is represented by one rectangle, but it is preferable to provide two motors 15, one for each of the reels 21 and 22.
  • the controller 16 controls the entire tape drive 10. For example, data writing to the tape 23 and reading from the tape 23 are controlled in accordance with a command received by the host I / F 11.
  • the head position control system 17 and the motor driver 18 are also controlled.
  • the head position control system 17 is a system that controls the write head 14a and the read head 14b to track one or more desired wraps.
  • the lap is a group of a plurality of tracks on the tape 23.
  • the head position control system 17 performs such switching control.
  • the motor driver 18 drives the motor 15. As described above, if two motors 15 are used, two motor drivers 18 are also provided.
  • the control mechanism 30 is a mechanism that controls the accessor 40 and the tape drive 10 in accordance with an instruction from the host 200. That is, the accessor 40 is instructed to load the cartridge 20 into the tape drive 10 so that the data instructed by the host 200 can be read and written, and the host 200 is instructed to the tape drive 10. The instructed data is read from the cartridge 20 loaded by the accessor 40 or written to the cartridge 20. The accessor 40 takes out the cartridge 20 from the cartridge slot 50 and loads it into the tape drive 10 under the control of the control mechanism 30.
  • the cartridge slot 50 is a place for storing a cartridge 20 that has not been read or written.
  • the cartridge slot 50 is shown as a single rectangle, but in reality it is a plurality of slots for storing a plurality of cartridges.
  • the control mechanism 30 instructs the loading of the cartridge 20 into the tape drive 10 by transmitting the identification information of the tape drive 10 to which the read command or the write command is sent to the accessor 40.
  • the logical position information “Nth record from the beginning” does not indicate a physical position on the tape 23.
  • a linear tape system such as LTO (Linear Tape-Open)
  • data is recorded while reciprocating on the tape 23, so it cannot be said that the larger the record number is, the farther from the head of the tape 23 is. Therefore, in order to efficiently read out all related data and metadata, it is necessary to devise special measures.
  • the tape drive 10 that has received the command “move immediately before the Nth record” from the host 200, the physical position of the target record on the tape 23 based on the information of the tape directory in the tape drive 10.
  • the record can be accessed at high speed. However, this is speeding up access to individual records, and does not improve the total access speed to data recorded in a distributed manner at a plurality of positions.
  • the data identified by the identifier d-id and the metadata identified by the identifier m-id are recorded on the tape 23, and the association between the data and the metadata is identified by the identifier dm-id.
  • the recording speed of data and metadata on the tape 23 is also managed to improve the reading speed of the data and metadata from the tape 23.
  • the recording position of the data and metadata on the tape 23 is recorded in the semiconductor memory attached to the cartridge 20, thereby improving the reading speed of the data and metadata from the tape 23.
  • the data and metadata reading order is optimized from the current access position on the tape 23 and the data and metadata recording positions.
  • FIG. 2 is a diagram schematically showing how data and metadata are associated with each other.
  • the host 200 creates an association between data and metadata by assigning an arbitrary identification number dm-id.
  • the data is passed to the control mechanism 30 via the data port, and the metadata is passed to the control mechanism 30 via the metadata port.
  • the information passed through the data port is handled as data, and the ID generation unit 31 generates d-id and assigns it to the data.
  • d-id is a data identification number and is a unique value at least in an environment in which the archive apparatus 100 operates.
  • information passed through the metadata port is handled as metadata, and the ID generation unit 31 generates m-id and assigns it to the metadata.
  • m-id is an identification number of metadata, and is a unique value at least in the environment in which the archive apparatus 100 operates. Even if the data and the metadata are passed apart in time, the relationship between them can be established in the archive device 100 by dm-id.
  • the control mechanism 30 records the relationship between the data based on the dm-id and the metadata in the database (DB) 32 as a dm-a table (hereinafter simply referred to as “dm-a”).
  • dm-a dm-a table
  • B shows the format of dm-a.
  • M and N are natural numbers.
  • the control mechanism 30 records the recording location of the data and metadata in the archive device 100 as a dm-l table (hereinafter simply referred to as “dm-l”) in the DB 32 for each piece of data and metadata.
  • C shows the format of dm-l.
  • entries corresponding to the number of copies are registered in dm-l.
  • entries are represented by Location-1, Location-2,.
  • FIG. 3 is a diagram showing a specific example of association between data and metadata.
  • (A) is recorded on the recording medium with the medium name “A001”, with the data identified by d-id and the metadata identified by m-id having a relation identified by dm-id. It represents the state.
  • data with d-id d3 and metadata with m-id m4, m6, and m8 are recorded with an association with dm-id dm03, and data with d-id d1 and m-id
  • the metadata with id m1 and m7 is recorded with the relationship dm-id dm01
  • the data with d-id d2 and the metadata with m-id m5 have the relationship dm-id dm02
  • the d-id d5 data and the m-id m9 metadata are recorded with the relationship dm-id dm04.
  • (b) shows a state in which identifiers (d-id, m-id) are listed in dm-a for data and metadata having a relationship with dm-id dm03.
  • the recording order of the data and metadata on the tape 23 is not uniquely determined. Therefore, even if the relationship between data and metadata is logically constructed by dm-id, the physical recording positions on the tape 23 can be dispersed when they are recorded on the tape 23. There is sex.
  • FIG. 4 is a diagram showing an example of data and metadata on the tape 23 distributed and recorded in this way. As illustrated, a plurality of wraps exist on the tape 23. Further, in the figure, the white arrow indicates the data writing direction, and the solid arrow indicates that the running direction of the tape 23 is reversed.
  • m-id is m6 metadata
  • d-id is d3 data
  • m-id is m1 metadata
  • d-id is d1 data
  • m -Metadata with id of m4 is written.
  • metadata with m-id of m5 and data with d-id of d2 are written.
  • information on the physical position of data and metadata on the tape 23 is stored in the cartridge memory 24, for example.
  • information on the physical position a value indicating what number of laps was recorded (by how many times the one-way run), and an L-POS indicating a position in the direction from the leading end to the trailing end of the tape 23 There is.
  • FIG. 5 is an example of a position table related to dm03.
  • This position table includes a list of metadata m4, m6, m8, and data d3 having an association with dm-id dm03, each record number, and information on each physical position (lap number and L-POS). ) And are recorded.
  • L-POS an L-POS (start LPOS) at the start of the record and an L-POS (end LPOS) at the end of the record are recorded.
  • the former is indicated by L-POS (s) and the latter is indicated by L-POS (e).
  • the lap number is an example of identification information for identifying a track on which each data element of a plurality of data elements is recorded.
  • L-POS is along the track on which each data element of a plurality of data elements is recorded. It is an example of the positional information which shows the recording position of each data element in a direction.
  • the optimum reading order is determined based on the information recorded in the position table.
  • FIG. 6 shows an example of the optimum access order when reading data and metadata corresponding to dm03.
  • the tape drive 10 acquires information on the physical position of the data and metadata corresponding to dm03 from the cartridge memory 24, and determines the reading order so as to minimize the distance of movement without reading data.
  • the metadata m8 is recorded in the same traveling direction between the data d3 and the metadata m4. Therefore, by reading the metadata m8 before the metadata m4, the travel distance is shortened and the access performance is improved.
  • FIG. 7 is a block diagram illustrating a functional configuration example of the controller 16 of the tape drive 10.
  • the controller 16 includes a command processing unit 61, a buffer management unit 62, a channel input / output unit 63, a cartridge memory input / output unit (hereinafter referred to as “CM input / output unit”) 64, and a reading order determination.
  • Unit 65 record extraction unit 71, direction determination unit 72, evaluation execution list generation unit 73, head position management unit 67, and tape travel management unit 68.
  • the command processing unit 61 receives a command from the host I / F 11.
  • a command a Write command that instructs to store data in the buffer 12, a synchronous command that instructs to write data stored in the buffer 12 to the tape 23, and an instruction to read data from the tape 23 There is a Read command and the like.
  • a command processing unit 61 is provided as an example of a receiving unit that receives designation of a plurality of data elements to be read.
  • the buffer management unit 62 prepares data in the buffer 12 when the command processing unit 61 receives a Write command.
  • the command processing unit 61 receives a synchronization command, the data is read from the buffer 12 and output to the channel input / output unit 63. Further, when the command processing unit 61 receives a Read command, if the target data is not in the buffer 12, it instructs the channel input / output unit 63 to read the data, and the target data is stored in the buffer 12. If it exists, the data is returned to the host 200 via the command processing unit 61.
  • the channel input / output unit 63 outputs the data read from the buffer 12 by the buffer management unit 62 to the channel 13 or outputs the data received from the channel 13 to the buffer management unit 62.
  • the CM input / output unit 64 reads the position table stored in the cartridge memory 24 via the CMI / F 19.
  • a CM input / output unit 64 is provided as an example of an acquisition unit that acquires position information and as an example of an acquisition unit that further acquires identification information.
  • the reading order determination unit 65 receives the position table read by the CM input / output unit 64 and controls the record extraction unit 71, the direction determination unit 72, and the evaluation execution list generation unit 73, which will be described later, thereby reading data and metadata. Determine the order.
  • a reading order determining unit 65 is provided as an example of a determining unit that determines the reading order of a plurality of data elements.
  • the record extraction unit 71 receives the position table from the reading order determination unit 65, and extracts a record group related to the designated d-id and m-id from the position table. Whether the direction discriminating unit 72 records the data or metadata in each record included in the designated record group when traveling in the forward direction or when traveling in the reverse direction. Is determined. Then, the designated record group is divided into the former record group and the latter record group.
  • the data or metadata in the former record group is an example of the first data element group recorded in the first track group from which data is read in the first direction.
  • the metadata is an example of a second data element group recorded in a second track group from which data is read in a second direction opposite to the first direction.
  • the evaluation execution list generation unit 73 generates a list of records to be subjected to evaluation for determining the reading order of data and metadata.
  • the head position management unit 67 outputs a signal for offsetting the positions of the write head 14 a and the read head 14 b with respect to the tape 23 in the width direction of the tape 23 to the head position control system 17. Further, information regarding the current position of the write head 14a and the read head 14b in the width direction on the tape 23 is acquired.
  • the tape running management unit 68 outputs a signal for running the tape 23 in the forward direction and a signal for running the tape 23 in the reverse direction to the motor driver 18.
  • the host 200 sends a Read command with dm-id to the archive device 100.
  • the control mechanism 30 specifies d-id and m-id associated with dm-id based on dm-a.
  • the cartridge 20 associated with d-id and m-id is specified based on dm-l, and the accessor 40 is instructed to load the cartridge 20 into the tape drive 10.
  • the control mechanism 30 sends d-id and m-id to the tape drive 10. Thereby, the operation of the tape drive 10 is started.
  • FIG. 8 is a flowchart showing an operation example of the controller 16 of the tape drive 10 at this time.
  • the command processing unit 61 receives d-id and m-id for specifying data to be read and metadata, respectively, via the host I / F 11 (step 601).
  • d-id and m-id are passed to the reading order determination unit 65 via the buffer management unit 62 and further passed to the record extraction unit 71.
  • the record extraction unit 71 acquires a necessary record list RR [] that is a list of records necessary for determining the reading order (step 602). Specifically, first, the reading order determination unit 65 instructs the CM input / output unit 64 to read the position table stored in the cartridge memory 24 via the CMI / F 19. The position table read by the CM input / output unit 64 is received and passed to the record extraction unit 71. Thereby, the record extraction part 71 extracts the record containing d-id or m-id passed by step 601 from the some record contained in a position table. The necessary record list RR [] is returned to the reading order determination unit 65.
  • the direction determination unit 72 acquires the evaluation target list SRf [] in the forward direction and the evaluation target list SRb [] in the reverse direction from the necessary record list RR []. (Step 603). Specifically, first, the reading order determining unit 65 passes the necessary record list RR [] to the direction determining unit 72, and the direction determining unit 72 is necessary based on the wrap number included in the necessary record list RR []. The record list RR [] is divided into a forward evaluation target list SRf [] and a reverse evaluation target list SRb [].
  • the reading order determination unit 65 substitutes 0 for a variable i indicating the reading order of data and metadata (step 604).
  • the evaluation execution list generation unit 73 performs an evaluation execution list generation process for generating the evaluation execution list SR [] under the control of the reading order determination unit 65 (step 605).
  • the evaluation execution list SR [] means a record related to data or metadata to be evaluated for whether or not it can be read out in one run without reversal of the read head 14b.
  • the evaluation execution list SR [] is returned to the reading order determination unit 65.
  • the reading order list RO [] is completed in the evaluation execution list generation process, information to that effect is returned to the reading order determination unit 65. Details of the evaluation execution list generation process will be described later.
  • the reading order determination unit 65 determines whether or not the reading order list RO [] in which records relating to data or metadata are stored in the reading order is completed (step 606).
  • the reading order list RO [] is not completed, among the records included in the evaluation execution list SR [], records relating to data or metadata that can be read in one run without the read head 14b being reversed.
  • records relating to data or metadata deviating from the data or metadata are set in the reevaluation target list SRN [].
  • the read order determination unit 65 determines the distance from the end LPOS of RO [i-1], which is the element of the latest read order list already determined, to the start LPOS of the current evaluation target SR [j]. Is calculated (step 607).
  • the distance is x
  • the start LPOS of record n is LPs (n)
  • the end LPOS of record n is LPe (n)
  • the distance between y and z is f (y, z).
  • the reading order determination unit 65 determines whether x / v is larger than t1 + ⁇ (step 608).
  • v represents the speed of the tape 23.
  • is a margin value that guarantees time fluctuation due to a physical difference or the like, and it is necessary to set an appropriate value according to the system to be applied.
  • the reading order determination unit 65 adds SR [j] as SRN [k] to the re-evaluation target list (step 609). Then, 1 is added to k and 1 is added to j (step 610). Thereafter, it is determined whether SR [j] is the last record (step 613). If it is not the last record, the process returns to step 607. That is, in this case, a new element is not added to RO [], and the same evaluation is performed by changing the element to be evaluated by SR [] to the next element.
  • the reading order determination unit 65 adds SR [j] as RO [i] to the reading order list (step 611). Then, 1 is added to i and 1 is added to j (step 612). Thereafter, it is determined whether SR [j] is the last record (step 613). If it is not the last record, the process returns to step 607. In other words, in this case, an element related to data or metadata determined as a read target is added to RO [], and the evaluation target element of SR [] is changed to the next element to perform the same evaluation. become.
  • step 613 If it is determined in step 613 that SR [j] is the last record, the reading order determination unit 65 returns to step 605 to set the reading order list for another direction, or step In step S609, a process for setting the read order list for the record set in the re-evaluation target list is performed.
  • the reading order determination unit 65 passes the reading order list RO [] to the buffer management unit 62, and the buffer management unit 62 sets the reading order list RO []. ] And read the data and metadata (step 617).
  • the head position management unit 67 that has received an instruction from the buffer management unit 62 controls the head position control system 17 to align the read head 14 b in the width direction of the tape 23 and from the buffer management unit 62.
  • the tape running management unit 68 that has received the instruction controls the motor driver 18 to run the tape 23.
  • the data and metadata read by the read head 14 b are acquired by the channel input / output unit 63 via the channel 13 and passed to the buffer management unit 62, and the buffer management unit 62 accumulates the data and metadata in the buffer 12. . Then, the data and metadata stored in the buffer 12 are transmitted to the control mechanism 30.
  • FIG. 9 is a flowchart showing an operation example of the evaluation execution list generation process by the evaluation execution list generation unit 73.
  • the evaluation execution list generating unit 73 determines whether or not there is data in the forward evaluation target list SRf [] (step 621). As a result, if there is data in SRf [], SRf [] is copied to SR [] (step 622), 0 is substituted for j (step 623), and the contents of SRf [] are cleared (step 624). . Thereafter, the evaluation execution list generation unit 73 sets SR [j] to RO [i] (step 629).
  • SR [0] is set to RO [0].
  • SR [0] is set to RO [i] corresponding to the value of i at that time.
  • the evaluation execution list generation unit 73 adds 1 to i and 1 to j (step 630).
  • evaluation execution list generation unit 73 determines whether there is data in evaluation target list SRb [] in the reverse direction (step 625). As a result, if there is data in SRb [], SRb [] is copied to SR [] (step 626), 0 is substituted for j (step 627), and the contents of SRb [] are cleared (step 628). . Thereafter, the evaluation execution list generation unit 73 sets SR [j] to RO [i] (step 629).
  • SR [0] is set to RO [0].
  • the SRf [] process is performed before the SRb [] process, or when the evaluation execution list generation process is called for the SRb [] acquired in step 632 described later, the SR [0 ] Is set to RO [i] corresponding to the value of i at that time.
  • the evaluation execution list generation unit 73 adds 1 to i and 1 to j (step 630).
  • the evaluation execution list generation unit 73 determines whether there is data in the re-evaluation target list SRN [] (step 631). As a result, if there is data in SRN [], evaluation execution list generation unit 73 acquires forward evaluation target list SRf [] and reverse evaluation target list SRb [] from reevaluation target list SRN []. (Step 632). Then, the contents of SRN [] are cleared (step 633), 0 is substituted for k (step 634), and the process returns to step 621. Thereafter, the same processing as that performed for SRf [] and SRb [] acquired from RR [] in step 603 is performed on the SRf [] and SRb [] acquired here.
  • the evaluation execution list generation unit 73 returns information indicating that RO [] is completed to the reading order determination unit 65 (step 635). Thus, the operation of the present embodiment ends.
  • the tape drive 10 receives d-id and m-id and determines the data and metadata reading order based on this and the position table. Is not limited to this.
  • the tape drive 10 refers to the dm-a held by the tape drive 10 to acquire the d-id and the m-id, and reads data and metadata based on this and the position table.
  • the control mechanism 30 acquires a position table from the tape drive 10 and determines the reading order of data and metadata, or the host 200 acquires dm-a from the control mechanism 30 and acquires the position table from the tape drive 10.
  • a mode of obtaining and determining the reading order of data and metadata is also conceivable.
  • the L-POS indicating the physical position where data and metadata are recorded is held, and even if the lap number where the data and metadata are recorded is different, Data and metadata are read according to L-POS. As a result, even if the data and metadata to be read are distributed and recorded in different wraps, these data and metadata can be read efficiently.
  • the present invention may be realized entirely by hardware or entirely by software. It can also be realized by both hardware and software.
  • the present invention can be realized as a computer, a data processing system, and a computer program.
  • This computer program may be stored and provided on a computer readable medium.
  • the medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (apparatus or equipment), or a propagation medium.
  • Examples of computer readable media include semiconductors, solid state storage devices, magnetic tape, removable computer diskettes, random access memory (RAM), read only memory (ROM), rigid magnetic disks, and optical disks.
  • the Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read / write (CD-R / W) and DVD.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

【課題】読出し対象の複数のデータ要素が分散して記録されている記録媒体からこれらのデータ要素を効率よく読み出す。 【解決手段】テープドライブのコントローラ16において、コマンド処理部61が、データの識別子d-idとメタデータの識別子m-idを受けると、CM入出力部64が、d-idで識別されるデータとm-idで識別されるメタデータが記録されたラップ及びラップ方向の物理的な位置(L-POS)を示す位置テーブルを取得し、読出順序決定部65が、レコード抽出部71、方向判別部72、評価実行リスト生成部73を制御して、ラップの方向ごとのL-POSに応じたデータ及びメタデータの読出し順序を決定する。そして、チャネル入出力部63が、読出し順序に従ってテープからデータ及びメタデータを読み出し、バッファ管理部62がコマンド処理部61を介して外部に出力する。

Description

記録媒体に記録されたデータを読み出す装置及び方法
 本発明は、記録媒体に記録されたデータを読み出す装置及び方法に関する。特に、本発明は、複数のトラックを有する記録媒体に記録されたデータを読み出す装置及び方法に関する。
 近年、写真データ、映像データ等のアーカイブとしてテープ媒体を使用することが多くなっている。その場合、データ(主データ)そのものだけでなく、その付加情報であるメタデータも、長期保管されるべきデータとして重要となる。ここで、メタデータとしては、例えば写真データに対しては、写真の撮影場所、日時、被写体、撮影者、撮影機器、記録フォーマット、ファイル名、ファイルサイズ等が考えられる。
 このようにデータとメタデータは互いに関連付けられたものであるので、バックアップ、アーカイブ、マイグレーション等の処理を施す際、データとメタデータは一緒に処理されることが望ましい。このことを、テープ媒体へのアーカイブを例にとって説明する。仮に、データとメタデータが別々に処理され、それぞれが別のテープカートリッジにアーカイブされてしまったとする。そうなると、あるテープカートリッジに記録されているデータの情報を得るために、別のテープカートリッジからそのデータのメタデータを探し出す必要があり、情報を得るためのコストが大きくなる。従って、データとメタデータは、同じテープカートリッジに一緒にアーカイブされるのが望ましい。
 ところが、データとメタデータを同じテープカートリッジにアーカイブしたとしても、データとメタデータがテープカートリッジ上の隣接した位置に記録されていることを保証することは難しい。テープ媒体はシーケンシャルデバイスなので、メタデータを後から追加したり削除したりすることを考えると、テープ媒体の任意の位置にデータを記録することができないからである。そのため、同じテープカートリッジにデータとメタデータのペア又は組み合わせが記録されていたとしても、それぞれがテープ媒体上で分散された位置に記録されていることがある。
 ここで、公報記載の従来技術として、複数のコンテンツが記録された大容量テープメディアを再生するものがある(例えば、特許文献1参照)。
 特許文献1では、テープメディアのタイトルリストに、コンテンツ数表示領域、合計時間表示領域、ジャンル表示領域、コンテンツ表示領域を設け、コンテンツ表示領域に表示されているコンテンツの中から所望のコンテンツをカーソルで選択することにより、選択されたコンテンツの先頭のアドレスが読み出され、コンテンツの映像データが再生されるようになっている。
特開2004-185697号公報
 上述したように、関連するデータとメタデータがテープカートリッジ上で分散された位置に記録されている場合、関連する全てのデータとメタデータの組み合わせをテープカートリッジ上から読み出すためには、必要なデータが記録された位置まで移動して読む、という動作を繰り返し行わなければならない。即ち、読出し対象の複数のデータ要素がテープ媒体に分散して記録されている場合に、これらを効率よく読み出すことはできないという問題点があった。尚、同様の問題点は、磁気ディスク等、テープ媒体以外の記録媒体においても指摘できる。
 一方で、特許文献1は、そもそも、同時に読み出したい複数のコンテンツが分散して記録されているという状況を想定したものではない。従って、分散して記録された複数のデータ要素を効率よく読み出すための手段を開示していない。
 本発明の目的は、読出し対象の複数のデータ要素が分散して記録されている記録媒体からこれらのデータ要素を効率よく読み出すことにある。
 かかる目的のもと、本発明は、複数のトラックを有する記録媒体に記録されたデータを読み出す装置であって、読出し対象の複数のデータ要素の指定を受け付ける受付部と、複数のデータ要素が、複数のデータ要素の各データ要素が複数のトラックの何れのトラックに記録されていても、各データ要素が記録されたトラックに沿った方向における各データ要素の記録位置の順に読み出されるように、複数のデータ要素の読出し順序を決定する決定部とを含む、装置を提供する。
 ここで、この装置は、複数のデータ要素の各データ要素が記録されたトラックに沿った方向における各データ要素の記録位置を示す位置情報を取得する取得部を更に備え、決定部は、取得部により取得された位置情報に基づいて、複数のデータ要素の読出し順序を決定する、ものであってよい。
 また、決定部は、複数のデータ要素のうちの一のデータ要素が記録されたトラックに沿った方向における一のデータ要素の記録位置と、複数のデータ要素のうちの他のデータ要素が記録されたトラックに沿った方向における他のデータ要素の記録位置との関係に応じて、複数のデータ要素のうち、一のデータ要素を含み、かつ、他のデータ要素を含まないデータ要素群が、読出しヘッドの反転を伴わない一の走査で読み出されるように、複数のデータ要素の読出し順序を決定する、ものであってよい。その場合、決定部は、他のデータ要素を含むデータ要素群が、読出しヘッドの一の走査の後の他の走査で読み出されるように、複数のデータ要素の読出し順序を決定する、ものであってよい。
 更に、複数のデータ要素は、第1の方向にデータが読み出される第1のトラック群に記録された第1のデータ要素群と、第1の方向とは逆の第2の方向にデータが読み出される第2のトラック群に記録された第2のデータ要素群とを含み、決定部は、第1のデータ要素群が、第1のデータ要素群の各データ要素が第1のトラック群の何れのトラックに記録されていても、各データ要素が記録されたトラックに沿った方向における各データ要素の記録位置の順に読み出され、かつ、第2のデータ要素群が、第2のデータ要素群の各データ要素が第2のトラック群の何れのトラックに記録されていても、各データ要素が記録されたトラックに沿った方向における各データ要素の記録位置の順に読み出されるように、複数のデータ要素の読出し順序を決定する、ものであってよい。その場合、取得部は、複数のデータ要素の各データ要素が記録されたトラックを識別する識別情報を更に取得し、決定部は、複数のデータ要素を、取得部により取得された識別情報に基づいて、第1のデータ要素群と第2のデータ要素群とに分割する、ものであってよい。
 更にまた、複数のデータ要素の各データ要素は、主データ、及び、主データの付加情報であるメタデータの何れかである、ものであってもよい。
 また、本発明は、先端から終端へ向かう第1の方向にデータが読み出される第1のトラック群と、終端から先端へ向かう第2の方向にデータが読み出される第2のトラック群とを有するテープ媒体に記録されたデータを読み出す装置であって、読出し対象の複数のデータ要素の指定を受け付ける受付部と、複数のデータ要素の各データ要素が記録されたトラックを識別する識別情報と、トラックに沿った方向における各データ要素の記録位置を示す位置情報とを取得する取得部と、複数のデータ要素を、取得部により取得された識別情報に基づいて、第1のトラック群に記録された第1のデータ要素群と、第2のトラック群に記録された第2のデータ要素群とに分割する分割部と、第1のデータ要素群が、第1のデータ要素群の各データ要素が第1のトラック群の何れのトラックに記録されていても、各データ要素が記録されたトラックに沿った方向における各データ要素の記録位置の順に読み出され、かつ、第2のデータ要素群が、第2のデータ要素群の各データ要素が第2のトラック群の何れのトラックに記録されていても、各データ要素が記録されたトラックに沿った方向における各データ要素の記録位置の順に読み出されるような、複数のデータ要素の読出し順序を、取得部により取得された位置情報に基づいて決定する決定部とを含む、装置も提供する。
 更に、本発明は、複数のトラックを有する記録媒体に記録されたデータを読み出す方法であって、読出し対象の複数のデータ要素の指定を受け付けるステップと、複数のデータ要素が、複数のデータ要素の各データ要素が複数のトラックの何れのトラックに記録されていても、各データ要素が記録されたトラックに沿った方向における各データ要素の記録位置の順に読み出されるように、複数のデータ要素の読出し順序を決定するステップとを含む、方法も提供する。
 更にまた、本発明は、複数のトラックを有する記録媒体に記録されたデータを読み出す装置としてコンピュータを機能させるプログラムであって、コンピュータを、読出し対象の複数のデータ要素の指定を受け付ける受付部と、複数のデータ要素が、複数のデータ要素の各データ要素が複数のトラックの何れのトラックに記録されていても、各データ要素が記録されたトラックに沿った方向における各データ要素の記録位置の順に読み出されるように、複数のデータ要素の読出し順序を決定する決定部として機能させる、プログラムも提供する。
 本発明によれば、読出し対象の複数のデータ要素が分散して記録されている記録媒体からこれらのデータ要素を効率よく読み出すことができる。
本発明の実施の形態が適用されるアーカイブ装置の構成を示したブロック図である。 本発明の実施の形態におけるdm-id、d-id、m-idの関連付けについて説明するための図である。 本発明の実施の形態におけるdm-id、d-id、m-idの関連付けの具体例を示した図である。 本発明の実施の形態でデータ及びメタデータがテープ上に分散配置された状態を示した図である。 本発明の実施の形態で用いる位置テーブルの一例を示した図である。 本発明の実施の形態でデータ及びメタデータがテープ上に分散配置された状態において、データ及びメタデータを効率よく読み出す手順を示した図である。 本発明の実施の形態におけるコントローラの機能構成例を示したブロック図である。 本発明の実施の形態におけるコントローラの動作例を示したフローチャートである。 本発明の実施の形態のコントローラにおける評価実行リスト生成部の動作例を示したフローチャートである。
 以下、添付図面を参照して、本発明を実施するための形態(以下、「実施の形態」という)について詳細に説明する。尚、本発明は如何なる記録媒体に対しても適用可能であるが、ここでは、テープ媒体(以下、単に「テープ」という)を例にとり説明する。 まず、本実施の形態が適用されるディジタルデータアーカイブ装置(以下、単に「アーカイブ装置」という)について説明する。
 図1は、本実施の形態が適用されるアーカイブ装置100の構成例を示した図である。 図示するように、アーカイブ装置100は、テープドライブ10と、制御機構30と、アクセッサ40と、カートリッジスロット50とを備える。
 このうち、テープドライブ10は、ホストインターフェイス(以下、「ホストI/F」という)11と、バッファ12と、チャネル13と、書込みヘッド14aと、読出しヘッド14bと、モータ15とを含む。また、コントローラ16と、ヘッド位置制御システム17と、モータドライバ18とを含む。更に、テープドライブ10には、テープカートリッジ(以下、単に「カートリッジ」という)20が挿入されることにより装填可能となっているので、ここでは、カートリッジ20も図示している。このカートリッジ20は、リール21、22に巻かれたテープ23を含む。テープ23は、リール21、22の回転に伴い、リール21からリール22の方向へ、又は、リール22からリール21の方向へ、長手方向に移動する。尚、テープ23としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
 また、カートリッジ20は、カートリッジメモリ24も含む。このカートリッジメモリ24は、例えば、テープ23上にどのようにデータが書かれたかの情報を記録する。そして、例えばRFインターフェイスを用いて非接触でテープ23に書かれたデータのインデックスやテープ23の使用状況等を調べることにより、データへの高速アクセスを可能としている。尚、図では、このRFインターフェイスのようなカートリッジメモリ24へのアクセスを行うためのインターフェイスを、カートリッジメモリインターフェイス(以下、「CMI/F」という)19として示している。
 ここで、ホストI/F11は、制御機構30を介してホスト200との通信を行う。例えば、ホスト200から、テープ23へのデータの書込みを指示するコマンド、テープ23を目的の位置に移動させるコマンド、テープ23からのデータの読出しを指示するコマンドを受け取る。尚、このホストI/F11で用いる通信規格としては、SCSIが例示される。SCSIの場合、1つ目のコマンドは、Writeコマンドに相当し、2つ目のコマンドは、LocateコマンドやSpaceコマンドに相当し、3つ目のコマンドは、Readコマンドに相当する。また、ホストI/F11は、ホスト200に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
 バッファ12は、テープ23に書き込むべきデータやテープ23から読み出されたデータを蓄積するメモリである。例えば、DRAM(Dynamic Random Access Memory)によって構成される。また、バッファ12は、複数のバッファセグメントからなり、各バッファセグメントが、テープ23に対する読み書きの単位であるデータセットを格納している。 チャネル13は、テープ23に書き込むべきデータを書込みヘッド14aに送ったり、テープ23から読み出されたデータを読出しヘッド14bから受け取ったりするために用いられる通信経路である。
 書込みヘッド14aは、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込み、読出しヘッド14bは、テープ23が長手方向に移動するとき、テープ23から情報を読み出す。
 モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
 コントローラ16は、テープドライブ10の全体を制御する。例えば、ホストI/F11で受け付けたコマンドに従って、データのテープ23への書込みやテープ23からの読出しを制御する。また、ヘッド位置制御システム17やモータドライバ18の制御も行う。
 ヘッド位置制御システム17は、書込みヘッド14a及び読出しヘッド14bが所望の1つ又は複数のラップを追跡するよう制御するシステムである。ここで、ラップとは、テープ23上の複数のトラックのグループである。ラップを切り換える必要が生じると、書込みヘッド14a及び読出しヘッド14bを電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム17で行う。
 モータドライバ18は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ18も2個設けられる。
 また、制御機構30は、ホスト200からの指示に応じて、アクセッサ40及びテープドライブ10を制御する機構である。即ち、アクセッサ40に対しては、ホスト200から指示されたデータを読み出したり書き込んだりできるように、カートリッジ20をテープドライブ10に装填するように指示し、テープドライブ10に対しては、ホスト200から指示されたデータをアクセッサ40によって装填されたカートリッジ20から読み出すように又はカートリッジ20に書き込むように指示する。
 アクセッサ40は、制御機構30の制御により、カートリッジ20をカートリッジスロット50から取り出してテープドライブ10に装填する。
 カートリッジスロット50は、読み書きが行われていないカートリッジ20を保管しておくための場所である。ここでは、カートリッジスロット50を1つの矩形で示したが、実際には、複数のカートリッジをそれぞれ格納する複数のスロットである。
 尚、図では、1台のテープドライブ10しか示していないが、複数台のテープドライブ10を設けてもよい。その場合、制御機構30は、読出し命令又は書込み命令の送り先であるテープドライブ10の識別情報をアクセッサ40に伝えることで、そのテープドライブ10へのカートリッジ20の装填を指示することになる。
 ところで、このようなアーカイブ装置100で用いられるテープ23上で、関連するデータとメタデータが分散された位置に記録されている場合を考える。このような場合、関連する全てのデータとメタデータの組み合わせをテープ23上から読み出すためには、必要なデータが記録された位置まで移動して読む、という動作を繰り返し行わなければならない。
 このことを具体的に説明する。
 一般にテープ23上に情報がデータやメタデータとして記録される際、情報はレコードと呼ばれる単位に分割されて記録される。そして、任意の情報は、「先頭からN番目のレコード」という形の指定によって得られた情報から連続する複数のレコードを読み出すことにより、テープ23から取得される。
 ここで、例えば、写真データが0番目から100番目のレコードとして記録され、そのメタデータが、300番目から308番目のレコード、及び、428番目から436番目のレコードとして、2箇所に記録されていたとする。この場合、写真データとそのメタデータの全てを読み出すには、以下のようなシーケンスを実行する必要がある。
(1)0番目のレコードの直前に移動する。
(2)写真データを構成する101個のレコードを読む。
(3)300番目のレコードの直前に移動する。
(4)1つ目のメタデータを構成する9個のレコードを読む。
(5)428番目のレコードの直前に移動する。
(6)2つ目のメタデータを構成する9個のレコードを読む。
 尚、「先頭からN番目のレコード」という論理的な位置情報は、テープ23上の物理的な位置を示していない。例えば、LTO(Linear Tape-Open)等のリニアテープ方式では、テープ23上を往復しながらデータを記録するため、レコード番号が大きいほどテープ23の先頭から遠くにある、とは言えない。従って、関連する全てのデータとメタデータを効率よく読み出すためには、特別な工夫を行う必要がある。
 また、ホスト200から「N番目のレコードの直前に移動」というコマンドを受け取ったテープドライブ10は、テープドライブ10内のテープディレクトリという情報に基づいて目的のレコードのテープ23上での物理的な位置を求めることで、そのレコードに高速にアクセスできる場合もある。しかしながら、それは個々のレコードに対するアクセスの高速化であり、複数の位置に分散して記録されたデータへのトータルのアクセス速度を向上させるものではない。
 そこで、本実施の形態では、識別子d-idで識別されるデータと識別子m-idで識別されるメタデータとをテープ23に記録し、識別子dm-idでデータとメタデータとの関連付けを識別する記録方式において、データとメタデータのテープ23上での記録位置も管理することにより、データ及びメタデータのテープ23からの読出し速度を向上させる。
 その際、データとメタデータのテープ23上の記録位置を、カートリッジ20に付属する半導体メモリに記録することで、データとメタデータのテープ23からの読出し速度を向上させる。
 また、dm-idで関連付けられるデータとメタデータを読み出す場合、現在のテープ23上のアクセス位置と、データ及びメタデータの記録位置とから、データ及びメタデータの読出し順序を最適化する。
 以下、このような動作を実現する構成について詳細に説明する。
 その前提として、まず、データ及びメタデータの関連付けについて説明する。
 図2は、データとメタデータを関連付けるときの様子を模式的に示した図である。
 (a)に示すように、まず、ホスト200は、データとメタデータの関連を任意の識別番号dm-idを割り当てることで作成する。そして、データは、データポートを介して制御機構30に渡し、メタデータは、メタデータポートを介して制御機構30に渡す。
 次に、制御機構30では、データポートを介して渡された情報がデータとして扱われ、ID生成部31がd-idを生成してデータに割り当てる。ここで、d-idは、データの識別番号であって、少なくともアーカイブ装置100が動作する環境においてユニークな値である。また、メタデータポートを介して渡された情報がメタデータとして扱われ、ID生成部31がm-idを生成してメタデータに割り当てる。ここで、m-idは、メタデータの識別番号であって、少なくともアーカイブ装置100が動作する環境内においてユニークな値である。尚、データとメタデータは時間的に離れて渡されたとしても、アーカイブ装置100内でdm-idによってそれらの関係を構築することができる。
 これにより、制御機構30は、dm-idに基づくデータとメタデータの関係をdm-aテーブル(以下、単に「dm-a」という)としてデータベース(DB)32に記録する。(b)にdm-aの形式を示す。ここでは、1つのデータに対して1つのメタデータが関連付けられているが、データとメタデータはM対Nの関係を持つことも可能である(M,Nは自然数)。
 加えて、制御機構30は、データとメタデータのアーカイブ装置100内での記録場所をdm-lテーブル(以下、単に「dm-l」という)として個々のデータ及びメタデータごとにDB32に記録する。(c)にdm-lの形式を示す。ここで、アーカイブ装置100内に複数のストレージ空間が実装され、それらの空間にデータ又はメタデータの複数のコピーが存在する場合、そのコピーの数だけdm-lにエントリが登録されることになる。図では、そのようなエントリをLocation-1、Location-2、…で表している。
 ここで、データ及びメタデータの関連付けについて具体例を用いて説明する。
 図3は、データ及びメタデータの関連付けの具体例を示した図である。
 (a)は、媒体名が「A001」の記録媒体に、d-idで識別されるデータとm-idで識別されるメタデータとがdm-idで識別される関連を持って記録されている状態を表している。具体的には、d-idがd3のデータとm-idがm4、m6、m8のメタデータとがdm-idがdm03の関連を持って記録され、d-idがd1のデータとm-idがm1、m7のメタデータとがdm-idがdm01の関連を持って記録され、d-idがd2のデータとm-idがm5のメタデータとがdm-idがdm02の関連を持って記録され、d-idがd5のデータとm-idがm9のメタデータとがdm-idがdm04の関連を持って記録されている。
 また、(b)は、dm-idがdm03の関連を持つデータとメタデータについて、その識別子(d-id、m-id)がdm-aにリストされている様子を示している。
 ところが、テープ23へのデータやメタデータの書込みはその準備が整った時点で行われることから、テープ23上のデータやメタデータの記録順序は一意的には決まらない。 従って、データとメタデータの間の関係がdm-idによって論理的に構築されていても、それらがテープ23上に記録された際には、テープ23上の物理的な記録位置は分散する可能性がある。
 図4は、このように分散記録されたテープ23上のデータ及びメタデータの例を示した図である。図示するように、テープ23上には、複数のラップが存在している。また、図中、白抜きの矢印がデータの書込み方向を示しており、実線の矢印がテープ23の走行方向が逆転することを示している。
 ここでは、まず、ラップ#1に対して順方向に、m-idがm6のメタデータ、d-idがd3のデータ、m-idがm1のメタデータ、d-idがd1のデータ、m-idがm4のメタデータが書き込まれている。次に、ラップ#2に対して逆方向に、m-idがm5のメタデータ、d-idがd2のデータが書き込まれている。その後、ラップ#3に対して再び順方向に、m-idがm7のメタデータ、m-idがm9のメタデータ、d-idがd5のデータ、m-idがm8のメタデータが書き込まれている。
 即ち、ある記録媒体に図3(a)に示したようなデータとメタデータ群が保管されていたとしても、それらをテープ23に移行すると、データとメタデータの関連付けに関係なく配置されてしまう可能性がある。この場合、複数回のテープ23の位置合わせを行わなければ、あるdm-idに対応するデータ及びメタデータを読み出すことはできないので、テープ23の位置合わせの分だけアクセス性能が低下することになる。
 そこで、本実施の形態では、データとメタデータのテープ23上の物理的な位置の情報を、例えばカートリッジメモリ24に記憶する。ここで、物理的な位置の情報としては、何番目のラップで(片道の何回目の走行で)記録されたかを示す値と、テープ23の先端から終端へ向かう方向における位置を示すL-POSとがある。
 図5は、dm03に関する位置テーブルの一例である。この位置テーブルには、dm-idがdm03の関連を持つメタデータm4、m6、m8、データd3のリストと、それぞれのレコード番号と、それぞれの物理的な位置の情報(ラップ番号及びL-POS)とが記録されている。ここで、L-POSとしては、レコードの開始点のL-POS(開始LPOS)とレコードの終了点のL-POS(終了LPOS)とが記録されている。図では、前者をL-POS(s)で示し、後者をL-POS(e)で示している。尚、ラップ番号は、複数のデータ要素の各データ要素が記録されたトラックを識別する識別情報の一例であり、L-POSは、複数のデータ要素の各データ要素が記録されたトラックに沿った方向における各データ要素の記録位置を示す位置情報の一例である。
 そして、本実施の形態では、この位置テーブルに記録された情報に基づいて、最適な読出し順序を決定する。
 図6に、dm03に対応するデータ及びメタデータを読み出す際の最適アクセス順序の例を示す。テープドライブ10は、カートリッジメモリ24からdm03に対応するデータ及びメタデータの物理位置の情報を取得し、データの読出しを伴わない移動の距離をできるだけ少なくするように読み込み順序を決める。
 この例では、図5の位置テーブルにより、メタデータm8は、データd3とメタデータm4の間に、同じ走行方向で記録されていることが分かる。従って、メタデータm8をメタデータm4よりも先に読み出すことにより、走行距離を短くし、アクセスのパフォーマンスを向上させている。
 次に、このような動作を行うテープドライブ10について詳細に説明する。
 図7は、テープドライブ10のコントローラ16の機能構成例を示したブロック図である。
 図示するように、コントローラ16は、コマンド処理部61と、バッファ管理部62と、チャネル入出力部63と、カートリッジメモリ入出力部(以下、「CM入出力部」という)64と、読出順序決定部65と、レコード抽出部71と、方向判別部72と、評価実行リスト生成部73と、ヘッド位置管理部67と、テープ走行管理部68とを備える。
 このうち、コマンド処理部61は、ホストI/F11からコマンドを受け取る。ここで、コマンドとしては、バッファ12にデータを格納することを指示するWriteコマンド、バッファ12に格納されたデータをテープ23に書き込むことを指示する同期コマンド、テープ23からデータを読み出すことを指示するReadコマンド等がある。本実施の形態では、読出し対象の複数のデータ要素の指定を受け付ける受付部の一例として、コマンド処理部61を設けている。
 バッファ管理部62は、コマンド処理部61がWriteコマンドを受け取った場合は、データをバッファ12内に用意する。また、コマンド処理部61が同期コマンドを受け取った場合は、データをバッファ12から読み出してチャネル入出力部63に出力する。更に、コマンド処理部61がReadコマンドを受け取った場合は、対象となるデータがバッファ12内になければチャネル入出力部63に対してそのデータを読み出すように指示し、対象となるデータがバッファ12内にあればそのデータをコマンド処理部61を介してホスト200に返す。
 チャネル入出力部63は、バッファ管理部62がバッファ12から読み出したデータをチャネル13に出力したり、チャネル13から受け取ったデータをバッファ管理部62に出力したりする。
 CM入出力部64は、カートリッジメモリ24に記憶された位置テーブルをCMI/F19を介して読み出す。本実施の形態では、位置情報を取得する取得部の一例として、また、識別情報を更に取得する取得部の一例として、CM入出力部64を設けている。
 読出順序決定部65は、CM入出力部64が読み出した位置テーブルを受け取り、後述するレコード抽出部71、方向判別部72、評価実行リスト生成部73を制御することにより、データ及びメタデータの読出し順序を決定する。本実施の形態では、複数のデータ要素の読出し順序を決定する決定部の一例として、読出順序決定部65を設けている。
 レコード抽出部71は、読出順序決定部65から位置テーブルを受け取り、その中から指定されたd-id、m-idに関するレコード群を抽出する。
 方向判別部72は、指定されたレコード群に含まれる各レコードにおけるデータ又はメタデータが、正方向への走行で記録されたものであるか、逆方向への走行で記録されたものであるかを判別する。そして、指定されたレコード群を、前者のレコード群と、後者のレコード群とに分ける。ここで、前者のレコード群におけるデータ又はメタデータは、第1の方向にデータが読み出される第1のトラック群に記録された第1のデータ要素群の一例であり、後者のレコード群におけるデータ又はメタデータは、第1の方向とは逆の第2の方向にデータが読み出される第2のトラック群に記録された第2のデータ要素群の一例である。
 評価実行リスト生成部73は、データ及びメタデータの読出し順序を決定するための評価を実行する対象となるレコードのリストを生成する。
 ヘッド位置管理部67は、テープ23に対する書込みヘッド14a及び読出しヘッド14bの位置をテープ23の幅方向へオフセットさせる信号をヘッド位置制御システム17に出力する。また、書込みヘッド14a及び読出しヘッド14bのテープ23上の幅方向における現在位置に関する情報を取得する。
 テープ走行管理部68は、テープ23を順方向に走行させるための信号や、テープ23を逆方向に走行させるための信号をモータドライバ18に出力する。
 次に、本実施の形態におけるテープドライブ10の動作について詳細に説明する。
 まず、ホスト200は、dm-idを伴うReadコマンドをアーカイブ装置100に送ってくる。すると、アーカイブ装置100では、制御機構30が、dm-idに関連付けられたd-idとm-idをdm-aに基づいて特定する。また、d-idとm-idに関連付けられたカートリッジ20をdm-lに基づいて特定し、そのカートリッジ20をテープドライブ10に装填するようアクセッサ40に指示する。そして、制御機構30は、d-id、m-idをテープドライブ10に送る。これにより、テープドライブ10の動作が開始する。
 図8は、このときのテープドライブ10のコントローラ16の動作例を示したフローチャートである。
 コントローラ16では、まず、コマンド処理部61が、ホストI/F11を介して読出し対象のデータ及びメタデータをそれぞれ特定するd-id及びm-idを受け取る(ステップ601)。このとき、d-id、m-idは、バッファ管理部62を介して読出順序決定部65に渡され、更にレコード抽出部71に渡される。
 次に、読出順序決定部65の制御の下、レコード抽出部71が、読出し順序を決定するために必要なレコードのリストである必要レコードリストRR[]を取得する(ステップ602)。具体的には、まず、読出順序決定部65が、カートリッジメモリ24に記憶された位置テーブルをCMI/F19を介して読み出すようCM入出力部64に指示する。そして、CM入出力部64が読み出した位置テーブルを受け取ってレコード抽出部71に渡す。これにより、レコード抽出部71が、位置テーブルに含まれる複数のレコードの中から、ステップ601で渡されたd-id又はm-idを含むレコードを抽出する。そして、この必要レコードリストRR[]は、読出順序決定部65に戻される。
 次いで、読出順序決定部65の制御の下、方向判別部72が、必要レコードリストRR[]から、正方向の評価対象リストSRf[]と、逆方向の評価対象リストSRb[]とを取得する(ステップ603)。具体的には、まず、読出順序決定部65が、必要レコードリストRR[]を方向判別部72に渡し、方向判別部72が、必要レコードリストRR[]に含まれるラップ番号に基づいて、必要レコードリストRR[]を正方向の評価対象リストSRf[]と逆方向の評価対象リストSRb[]とに分ける。例えば、奇数番号のラップに記録されたデータ又はメタデータに関するレコードはSRf[]に振り分けられ、偶数番号のラップに記録されたデータ又はメタデータに関するレコードはSRb[]に振り分けられることになる。そして、この評価対象リストSRf[]、SRb[]は、読出順序決定部65に戻される。
 その後、読出順序決定部65は、データ及びメタデータの読出し順序を示す変数iに0を代入する(ステップ604)。
 そして、評価実行リスト生成部73が、読出順序決定部65の制御の下、評価実行リストSR[]を生成する評価実行リスト生成処理を行う(ステップ605)。ここで、評価実行リストSR[]は、読出しヘッド14bの反転を伴わない1回の走行で読み出すことができるかの評価を実行する対象のデータ又はメタデータに関するレコードを意味する。そして、この評価実行リストSR[]は、読出順序決定部65に戻される。また、評価実行リスト生成処理において読出順序リストRO[]が完成した場合は、その旨の情報が読出順序決定部65に返される。尚、評価実行リスト生成処理の詳細については後述する。
 さて、この評価実行リスト生成処理が終了すると、読出順序決定部65は、データ又はメタデータに関するレコードが読出し順序で格納された読出順序リストRO[]が完成したかどうかを判定する(ステップ606)。
 ここで、読出順序リストRO[]が完成していなければ、評価実行リストSR[]に含まれるレコードのうち、読出しヘッド14bの反転を伴わない1回の走行で読み出せるデータ又はメタデータに関するレコードを読出順序リストRO[]に設定し、それらのデータ又はメタデータから外れるデータ又はメタデータに関するレコードを再評価対象リストSRN[]に設定する。
 即ち、まず、読出順序決定部65は、既に決まっている最新の読出順序リストの要素であるRO[i-1]の終了LPOSから、現在の評価対象のSR[j]の開始LPOSまでの距離を算出する(ステップ607)。尚、図では、距離をx、レコードnの開始LPOSをLPs(n)、レコードnの終了LPOSをLPe(n)、yとzの間の距離をf(y,z)で表している。
 次に、読出順序決定部65は、x/vがt1+αよりも大きいかどうかを判定する(ステップ608)。ここで、vは、テープ23の速度を表す。また、t1は、ラップからラップへの移動時間を表し、RO[i-1]に含まれるラップ番号とSR[j]に含まれるラップ番号とに基づいて決められる。尚、ラップ番号が同じ場合はt1=0である。更に、αは、物理的な差異等による時間のゆらぎを保証するマージン値であり、適用するシステムに応じて適切な値を設定する必要がある。
 その結果、x/vがt1+αよりも大きくない場合は、RO[i-1]の終了LPOSに位置していた読出しヘッド14bをSR[j]が記録されたラップに移動させたときには既にSR[j]の開始LPOSを読出しヘッド14bが通過していることになる。従って、読出順序決定部65は、SR[j]をSRN[k]として再評価対象リストに追加する(ステップ609)。そして、kに1を加算すると共に、jに1を加算する(ステップ610)。その後、SR[j]が最後のレコードであるかを判定し(ステップ613)、最後のレコードでなければ、ステップ607へ戻る。つまり、この場合、RO[]には新たな要素を追加せず、SR[]の評価対象の要素を次の要素に変更して、同様の評価を行うことになる。
 一方、x/vがt1+αよりも大きい場合は、RO[i-1]の終了LPOSに位置していた読出しヘッド14bをSR[j]が記録されたラップに移動させた後にSR[j]の開始LPOSを読出しヘッド14bが通過することになる。従って、読出順序決定部65は、SR[j]をRO[i]として読出順序リストに追加する(ステップ611)。そして、iに1を加算すると共に、jに1を加算する(ステップ612)。その後、SR[j]が最後のレコードであるかを判定し(ステップ613)、最後のレコードでなければ、ステップ607へ戻る。つまり、この場合、RO[]にここで読出し対象として決定されたデータ又はメタデータに関する要素を追加し、SR[]の評価対象の要素を次の要素に変更して、同様の評価を行うことになる。
 また、ステップ613でSR[j]が最後のレコードであると判定されれば、読出順序決定部65は、ステップ605に戻って、別の方向についての読出順序リストへの設定処理、或いは、ステップ609で再評価対象リストに設定されたレコードについての読出順序リストへの設定処理を行う。
 一方、ステップ606で読出順序リストRO[]が完成していれば、読出順序決定部65は、読出順序リストRO[]をバッファ管理部62に渡し、バッファ管理部62が、読出順序リストRO[]に従って、データ及びメタデータを読み出す(ステップ617)。 具体的には、バッファ管理部62から指示を受けたヘッド位置管理部67がヘッド位置制御システム17を制御して読出しヘッド14bのテープ23の幅方向における位置合わせを行うと共に、バッファ管理部62から指示を受けたテープ走行管理部68がモータドライバ18を制御してテープ23を走行させる。一方で、読出しヘッド14bが読み出したデータ及びメタデータをチャネル入出力部63がチャネル13を介して取得してバッファ管理部62に渡し、バッファ管理部62がデータ及びメタデータをバッファ12に蓄積する。そして、バッファ12に蓄積されたデータ及びメタデータは、制御機構30に送信される。
 次に、評価実行リスト生成処理について詳細に説明する。
 図9は、評価実行リスト生成部73による評価実行リスト生成処理の動作例を示したフローチャートである。
 まず、評価実行リスト生成部73は、正方向の評価対象リストSRf[]にデータがあるかどうかを判定する(ステップ621)。
 その結果、SRf[]にデータがあれば、SRf[]をSR[]にコピーし(ステップ622)、jに0を代入し(ステップ623)、SRf[]の内容をクリアする(ステップ624)。その後、評価実行リスト生成部73は、SR[j]をRO[i]に設定する(ステップ629)。この場合、例えば、最初に評価実行リスト生成処理が呼び出された場合は、その直前のステップ604でiに0が代入されているので、SR[0]をRO[0]に設定することになる。また、後述するステップ632で取得されたSRf[]について評価実行リスト生成処理が呼び出された場合は、SR[0]がそのときのiの値に応じたRO[i]に設定されることになる。そして、評価実行リスト生成部73は、iに1を加算すると共に、jに1を加算する(ステップ630)。
 一方、SRf[]にデータがなければ、評価実行リスト生成部73は、逆方向の評価対象リストSRb[]にデータがあるかどうかを判定する(ステップ625)。
 その結果、SRb[]にデータがあれば、SRb[]をSR[]にコピーし(ステップ626)、jに0を代入し(ステップ627)、SRb[]の内容をクリアする(ステップ628)。その後、評価実行リスト生成部73は、SR[j]をRO[i]に設定する(ステップ629)。この場合、例えば、最初に評価実行リスト生成処理が呼び出された際に、SRf[]にはデータがなくSRb[]にのみデータがある場合には、その直前のステップ604でiに0が代入されているので、SR[0]をRO[0]に設定することになる。また、SRb[]の処理の前にSRf[]の処理を行っていた場合や、後述するステップ632で取得されたSRb[]について評価実行リスト生成処理が呼び出された場合には、SR[0]がそのときのiの値に応じたRO[i]に設定されることになる。そして、評価実行リスト生成部73は、iに1を加算すると共に、jに1を加算する(ステップ630)。
 一方、SRb[]にデータがなければ、評価実行リスト生成部73は、再評価対象リストSRN[]にデータがあるかどうかを判定する(ステップ631)。
 その結果、SRN[]にデータがあれば、評価実行リスト生成部73は、再評価対象リストSRN[]から正方向の評価対象リストSRf[]と逆方向の評価対象リストSRb[]とを取得する(ステップ632)。そして、SRN[]の内容をクリアし(ステップ633)、kに0を代入し(ステップ634)、ステップ621に戻る。その後、ここで取得したSRf[]、SRb[]に対し、ステップ603でRR[]から取得したSRf[]、SRb[]に対して行ったのと同様の処理を施す。
 一方、SRN[]にデータがなければ、読出し対象の全てのデータ及びメタデータについて処理を行ったことになる。従って、評価実行リスト生成部73は、RO[]が完成した旨の情報を読出順序決定部65に返す(ステップ635)。
 以上により、本実施の形態の動作は終了する。
 尚、本実施の形態では、テープドライブ10がd-idとm-idを受け付け、これと位置テーブルとに基づいてデータ及びメタデータの読出し順序を決定したが、本発明を実施する際の態様はこれに限られるものではない。例えば、テープドライブ10が、dm-idを受け付けると、自身が保持するdm-aを参照してd-idとm-idを取得し、これと位置テーブルとに基づいてデータ及びメタデータの読出し順序を決定する態様を採用してもよい。また、制御機構30がテープドライブ10から位置テーブルを取得し、データ及びメタデータの読出し順序を決定する態様や、ホスト200が制御機構30からdm-aを取得すると共にテープドライブ10から位置テーブルを取得し、データ及びメタデータの読出し順序を決定する態様も考えられる。
 このように、本実施の形態では、データ及びメタデータが記録された物理的な位置を示すL-POSを保持しておき、データ及びメタデータが記録されたラップ番号が異なっていても、このL-POSに従ってデータ及びメタデータを読み出すようにした。これにより、読出し対象のデータ及びメタデータが異なるラップに分散して記録されていたとしても、これらのデータ及びメタデータを効率よく読み出すことができるようになった。
 ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク-リードオンリーメモリ(CD-ROM)、コンパクトディスク-リード/ライト(CD-R/W)及びDVDが含まれる。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…テープドライブ、11…ホストI/F、12…バッファ、13…チャネル、14a…書込みヘッド、14b…読出しヘッド、15…モータ、16…コントローラ、17…ヘッド位置制御システム、18…モータドライバ、19…CMI/F、20…カートリッジ、30…制御機構、40…アクセッサ、50…カートリッジスロット、100…アーカイブ装置、200…ホスト

Claims (10)

  1.  複数のトラックを有する記録媒体に記録されたデータを読み出す装置であって、
     読出し対象の複数のデータ要素の指定を受け付ける受付部と、
     前記複数のデータ要素が、当該複数のデータ要素の各データ要素が前記複数のトラックの何れのトラックに記録されていても、当該各データ要素が記録されたトラックに沿った方向における当該各データ要素の記録位置の順に読み出されるように、当該複数のデータ要素の読出し順序を決定する決定部と
    を含む、装置。
  2.  前記複数のデータ要素の各データ要素が記録されたトラックに沿った方向における当該各データ要素の記録位置を示す位置情報を取得する取得部を更に備え、
     前記決定部は、前記取得部により取得された前記位置情報に基づいて、前記複数のデータ要素の読出し順序を決定する、請求項1の装置。
  3.  前記決定部は、前記複数のデータ要素のうちの一のデータ要素が記録されたトラックに沿った方向における当該一のデータ要素の記録位置と、前記複数のデータ要素のうちの他のデータ要素が記録されたトラックに沿った方向における当該他のデータ要素の記録位置との関係に応じて、当該複数のデータ要素のうち、当該一のデータ要素を含み、かつ、当該他のデータ要素を含まないデータ要素群が、読出しヘッドの反転を伴わない一の走査で読み出されるように、当該複数のデータ要素の読出し順序を決定する、請求項1の装置。
  4.  前記決定部は、前記他のデータ要素を含むデータ要素群が、前記読出しヘッドの前記一の走査の後の他の走査で読み出されるように、前記複数のデータ要素の読出し順序を決定する、請求項3の装置。
  5.  前記複数のデータ要素は、第1の方向にデータが読み出される第1のトラック群に記録された第1のデータ要素群と、当該第1の方向とは逆の第2の方向にデータが読み出される第2のトラック群に記録された第2のデータ要素群とを含み、
     前記決定部は、前記第1のデータ要素群が、当該第1のデータ要素群の各データ要素が前記第1のトラック群の何れのトラックに記録されていても、当該各データ要素が記録されたトラックに沿った方向における当該各データ要素の記録位置の順に読み出され、かつ、前記第2のデータ要素群が、当該第2のデータ要素群の各データ要素が前記第2のトラック群の何れのトラックに記録されていても、当該各データ要素が記録されたトラックに沿った方向における当該各データ要素の記録位置の順に読み出されるように、前記複数のデータ要素の読出し順序を決定する、請求項1の装置。
  6.  前記取得部は、前記複数のデータ要素の各データ要素が記録されたトラックを識別する識別情報を更に取得し、
     前記決定部は、前記複数のデータ要素を、前記取得部により取得された前記識別情報に基づいて、前記第1のデータ要素群と前記第2のデータ要素群とに分割する、請求項5の装置。
  7.  前記複数のデータ要素の各データ要素は、主データ、及び、当該主データの付加情報であるメタデータの何れかである、請求項1の装置。
  8.  先端から終端へ向かう第1の方向にデータが読み出される第1のトラック群と、終端から先端へ向かう第2の方向にデータが読み出される第2のトラック群とを有するテープ媒体に記録されたデータを読み出す装置であって、
     読出し対象の複数のデータ要素の指定を受け付ける受付部と、
     前記複数のデータ要素の各データ要素が記録されたトラックを識別する識別情報と、当該トラックに沿った方向における当該各データ要素の記録位置を示す位置情報とを取得する取得部と、
     前記複数のデータ要素を、前記取得部により取得された前記識別情報に基づいて、前記第1のトラック群に記録された第1のデータ要素群と、前記第2のトラック群に記録された第2のデータ要素群とに分割する分割部と、
     前記第1のデータ要素群が、当該第1のデータ要素群の各データ要素が前記第1のトラック群の何れのトラックに記録されていても、当該各データ要素が記録されたトラックに沿った方向における当該各データ要素の記録位置の順に読み出され、かつ、前記第2のデータ要素群が、当該第2のデータ要素群の各データ要素が前記第2のトラック群の何れのトラックに記録されていても、当該各データ要素が記録されたトラックに沿った方向における当該各データ要素の記録位置の順に読み出されるような、前記複数のデータ要素の読出し順序を、前記取得部により取得された前記位置情報に基づいて決定する決定部と
    を含む、装置。
  9.  複数のトラックを有する記録媒体に記録されたデータを読み出す方法であって、
     読出し対象の複数のデータ要素の指定を受け付けるステップと、
     前記複数のデータ要素が、当該複数のデータ要素の各データ要素が前記複数のトラックの何れのトラックに記録されていても、当該各データ要素が記録されたトラックに沿った方向における当該各データ要素の記録位置の順に読み出されるように、当該複数のデータ要素の読出し順序を決定するステップと
    を含む、方法。
  10.  複数のトラックを有する記録媒体に記録されたデータを読み出す装置としてコンピュータを機能させるプログラムであって、
     前記コンピュータを、
     読出し対象の複数のデータ要素の指定を受け付ける受付部と、
     前記複数のデータ要素が、当該複数のデータ要素の各データ要素が前記複数のトラックの何れのトラックに記録されていても、当該各データ要素が記録されたトラックに沿った方向における当該各データ要素の記録位置の順に読み出されるように、当該複数のデータ要素の読出し順序を決定する決定部と
    して機能させる、プログラム。
PCT/JP2009/065160 2008-12-25 2009-08-31 記録媒体に記録されたデータを読み出す装置及び方法 WO2010073776A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010543951A JP5480163B2 (ja) 2008-12-25 2009-08-31 記録媒体に記録されたデータを読み出す装置及び方法
US13/141,959 US9036286B2 (en) 2008-12-25 2009-08-31 Reading data stored in recording medium
CN200980152303.2A CN102265348B (zh) 2008-12-25 2009-08-31 记录介质记录的数据的读出装置及方法
EP09834582.0A EP2372715B1 (en) 2008-12-25 2009-08-31 Device and method for reading out data from recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-329602 2008-12-25
JP2008329602 2008-12-25

Publications (1)

Publication Number Publication Date
WO2010073776A1 true WO2010073776A1 (ja) 2010-07-01

Family

ID=42287403

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/065160 WO2010073776A1 (ja) 2008-12-25 2009-08-31 記録媒体に記録されたデータを読み出す装置及び方法

Country Status (5)

Country Link
US (1) US9036286B2 (ja)
EP (1) EP2372715B1 (ja)
JP (1) JP5480163B2 (ja)
CN (1) CN102265348B (ja)
WO (1) WO2010073776A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012070319A1 (ja) * 2010-11-25 2012-05-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のプロセッサのメモリ共有化のためのメモリアクセス装置、及びそのアクセス方法
JP2012128937A (ja) * 2010-12-16 2012-07-05 Internatl Business Mach Corp <Ibm> テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、システム、およびコンピュータ・プログラム
JP2013538399A (ja) * 2010-08-24 2013-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体上での総シーク時間を減らすための方法、システム及びプログラム
WO2014024397A1 (en) * 2012-08-09 2014-02-13 International Business Machines Corporation Reducing total seek time for determining an access sequence of data stored on a tape medium
JP2014179140A (ja) * 2013-03-14 2014-09-25 International Business Maschines Corporation テープ上の複数のレコード群の読み出し順序を検索する方法、プログラム
JP2016122480A (ja) * 2010-12-17 2016-07-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation バックアップ・デバイスからデータ・オブジェクトを復元するためのプログラム
US9721610B2 (en) 2014-07-11 2017-08-01 International Business Machines Corporation Method of managing, writing, and reading file on tape
US10649697B2 (en) 2014-11-19 2020-05-12 International Business Machines Corporation Technique for providing information on time to read a file
US11061579B2 (en) 2019-09-11 2021-07-13 International Business Machines Corporation Access ordering for tape cycle optimization
US11494445B2 (en) 2019-09-11 2022-11-08 International Business Machines Corporation Group-based tape storage access ordering
US11538497B2 (en) 2020-11-12 2022-12-27 Fujitsu Limited Information processing apparatus and information processing method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5005023B2 (ja) * 2009-12-25 2012-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。
US9952780B2 (en) * 2016-06-28 2018-04-24 International Business Machines Corporation Method for retrieving data from a tape drive
US20180275976A1 (en) * 2017-03-22 2018-09-27 Qualcomm Innovation Center, Inc. Link time optimization in presence of a linker script using path based rules
JP7130032B2 (ja) * 2018-03-22 2022-09-02 富士フイルム株式会社 記録装置、読取装置、記録方法、記録プログラム、読取方法、読取プログラム、及び磁気テープ
CN112771611B (zh) * 2018-09-26 2022-09-13 富士胶片株式会社 记录装置、读取装置、记录方法、记录介质及读取方法
WO2021054243A1 (ja) * 2019-09-17 2021-03-25 富士フイルム株式会社 記録装置、記録方法、記録プログラム、及び磁気テープ
US11176968B2 (en) * 2019-10-22 2021-11-16 International Business Machines Corporation Buffered writing of datasets and end longitudinal positions (end LPOSs) on a magnetic recording tape and validating the end LPOSs during reading of a later dataset thereafter
EP4113269A4 (en) * 2020-02-28 2023-08-09 FUJIFILM Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING PROGRAM

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001118365A (ja) * 1999-10-19 2001-04-27 Nec Corp 記憶階層管理システム、記憶階層管理方法及び記憶階層管理プログラムを記録した記録媒体
JP2002025001A (ja) * 2000-06-28 2002-01-25 Internatl Business Mach Corp <Ibm> 磁気テープ記録装置の試験方法および装置
WO2006046614A1 (ja) * 2004-10-26 2006-05-04 Matsushita Electric Industrial Co., Ltd. ディスク再生装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845316A (en) 1996-05-23 1998-12-01 Lucent Technologies Inc. Scheduling random I/O for data storage tape
JPH1166730A (ja) * 1997-08-18 1999-03-09 Fujitsu Ltd 磁気テープ装置の制御方法
US6349356B2 (en) 1997-12-10 2002-02-19 International Business Machines Corporation Host-available device block map for optimized file retrieval from serpentine tape drives
JP2000048549A (ja) * 1998-08-03 2000-02-18 Fujitsu Ltd テープ装置
JP2001210014A (ja) * 2000-01-25 2001-08-03 Sony Corp 記録再生装置および記録再生方法
JP4144887B2 (ja) * 2005-02-08 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション テープドライブを制御する装置、方法、及びプログラム
US8082388B2 (en) * 2008-03-27 2011-12-20 International Business Machines Corporation Optimizing operational requests of logical volumes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001118365A (ja) * 1999-10-19 2001-04-27 Nec Corp 記憶階層管理システム、記憶階層管理方法及び記憶階層管理プログラムを記録した記録媒体
JP2002025001A (ja) * 2000-06-28 2002-01-25 Internatl Business Mach Corp <Ibm> 磁気テープ記録装置の試験方法および装置
WO2006046614A1 (ja) * 2004-10-26 2006-05-04 Matsushita Electric Industrial Co., Ltd. ディスク再生装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2372715A4 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013538399A (ja) * 2010-08-24 2013-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体上での総シーク時間を減らすための方法、システム及びプログラム
US9021175B2 (en) 2010-08-24 2015-04-28 International Business Machines Corporation Method for reordering access to reduce total seek time on tape media
GB2500529B (en) * 2010-11-25 2020-03-25 Ibm Memory access device for memory sharing among multiple processors and access method for the same
WO2012070319A1 (ja) * 2010-11-25 2012-05-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のプロセッサのメモリ共有化のためのメモリアクセス装置、及びそのアクセス方法
DE112011103916B4 (de) 2010-11-25 2021-11-25 International Business Machines Corporation Speicherzugriffseinheit für gemeinsame Speichernutzung zwischen mehreren Prozessoren
GB2500529A (en) * 2010-11-25 2013-09-25 Ibm Memory access device for memory sharing among plurality of processors, and access method for same
US9460763B2 (en) 2010-11-25 2016-10-04 International Business Machines Corporation Holding by a memory controller multiple central processing unit memory access requests, and performing the multiple central processing unit memory request in one transfer cycle
US9268721B2 (en) 2010-11-25 2016-02-23 International Business Machines Corporation Holding by a memory controller multiple central processing unit memory access requests, and performing the multiple central processing unit memory requests in one transfer cycle
JP2012128937A (ja) * 2010-12-16 2012-07-05 Internatl Business Mach Corp <Ibm> テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、システム、およびコンピュータ・プログラム
JP2016122480A (ja) * 2010-12-17 2016-07-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation バックアップ・デバイスからデータ・オブジェクトを復元するためのプログラム
WO2014024397A1 (en) * 2012-08-09 2014-02-13 International Business Machines Corporation Reducing total seek time for determining an access sequence of data stored on a tape medium
US9754628B2 (en) 2012-08-09 2017-09-05 International Business Machines Corporation Reducing total seek time for determining an access sequence of data stored on a tape medium
US9343111B2 (en) 2012-08-09 2016-05-17 International Business Machines Corporation Reducing total seek time for determining an access sequence of data stored on a tape medium
JP2014179140A (ja) * 2013-03-14 2014-09-25 International Business Maschines Corporation テープ上の複数のレコード群の読み出し順序を検索する方法、プログラム
US9619147B2 (en) 2013-03-14 2017-04-11 International Business Machines Corporation Reading order search method and program for recording
US9852756B2 (en) 2014-07-11 2017-12-26 International Business Machines Corporation Method of managing, writing, and reading file on tape
US9721610B2 (en) 2014-07-11 2017-08-01 International Business Machines Corporation Method of managing, writing, and reading file on tape
US10649697B2 (en) 2014-11-19 2020-05-12 International Business Machines Corporation Technique for providing information on time to read a file
US11061579B2 (en) 2019-09-11 2021-07-13 International Business Machines Corporation Access ordering for tape cycle optimization
US11494445B2 (en) 2019-09-11 2022-11-08 International Business Machines Corporation Group-based tape storage access ordering
US11538497B2 (en) 2020-11-12 2022-12-27 Fujitsu Limited Information processing apparatus and information processing method

Also Published As

Publication number Publication date
EP2372715B1 (en) 2016-11-02
US9036286B2 (en) 2015-05-19
JPWO2010073776A1 (ja) 2012-06-14
EP2372715A1 (en) 2011-10-05
EP2372715A4 (en) 2013-03-06
JP5480163B2 (ja) 2014-04-23
CN102265348A (zh) 2011-11-30
US20110261480A1 (en) 2011-10-27
CN102265348B (zh) 2017-08-25

Similar Documents

Publication Publication Date Title
JP5480163B2 (ja) 記録媒体に記録されたデータを読み出す装置及び方法
JP5954751B2 (ja) テープ上のデータをロールバックする方法及びファイルシステム
JP5885298B2 (ja) テープドライブでのデータ書き込み方法、プログラム
JP5999650B2 (ja) テープ上の複数のレコード群の読み出し順序を検索する方法、プログラム
US6937411B2 (en) Method, system, program, and storage cartridge for storing data in a storage medium
JP5106377B2 (ja) 記録媒体に記録されたデータの移行のための装置及び方法
JP6391061B2 (ja) テープ上へのファイル書き込み方法
US8009541B2 (en) Device, method, and computer program product for data migration
CN103858163B (zh) 带驱动数据更改检测方法和文件***
JP6052812B2 (ja) テープ上のファイルの管理、書き込み、及び読み出し方法
JP5065203B2 (ja) データのフォーマットを変換する装置及び方法
US10656853B2 (en) Tape having multiple data areas
JP2015088199A (ja) テープメディア上に複数のアクセスパターンを持つデータの書き込み、及び、読み出し
US9685179B2 (en) Tape device and controller thereof
JP5063377B2 (ja) テープ媒体に対してデータの書込み/読出しを行う装置及び方法
US20070236817A1 (en) Magnetic-tape recording method, magnetic-tape recording apparatus, and computer system
US6985325B2 (en) Updateable centralized data position information storage system
JP2010267352A (ja) データテープ制御装置
JPH02299036A (ja) 情報記録再生方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980152303.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09834582

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010543951

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13141959

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2009834582

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2009834582

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE