A method is provided according to one embodiment, which executes an optimum writing method even when overwrite is intervened between mixed read and write operations. In response to receiving an overwrite command while executing the mixed operations, which writes to a predetermined tape position, when a tape position to overwrite on is encountered before the append-written data ending position of the tape (tape EOD), the overwritten tape position is regarded as the append-written data ending position of the tape (tape EOD) to update the tape EOD by the overwritten tape position. When a tape position to overwrite is encountered after the append-written data ending position of the tape (tape EOD), the overwritten tape position is updated by the append-written data ending position of a non-volatile memory (non-volatile EOD). The updating the EODs enhances the performance of the mixed read and write operations even when an overwrite command is intervening.

Patent
   9135949
Priority
Jun 24 2011
Filed
Dec 10 2014
Issued
Sep 15 2015
Expiry
Apr 13 2032
Assg.orig
Entity
Large
4
22
EXPIRED
1. A method for writing data in a tape recording apparatus, the method comprising:
receiving a series of commands, the series of commands including mixed read, overwrite, and append write commands;
reading data from a specified position of the tape using a head and storing the data in a buffer in response to a read command; and
writing data stored in the buffer starting from an appended data end position of the tape in response to an append write command.
13. A method for writing data in a tape recording apparatus, the method comprising:
in response to receipt of an append write command, storing data stored in a buffer to a non-volatile memory starting from an appended data end position;
sending a completion notification of the append write command to a higher-level device when data in the buffer is written in the non-volatile memory;
moving to a tape writing position where the data stored in the non-volatile memory is to be written; and
performing append writing on a basis of a predetermined criterion so as to minimize a moving distance by which a tape travels relative to a head, when moving from an end position on the tape of read data for a m-th read command to a reading start position for a subsequent n-th read command, wherein n=m+1.
2. The method as recited in claim 1, comprising performing operations of position movement, reading, and writing on the tape back and forth in a longitudinal direction of the tape.
3. The method as recited in claim 1, wherein the buffer is configured to temporarily store data related to reading and append writing, wherein the tape is configured to record data stored in the buffer, and wherein a read/write head is configured to read data from the tape into the buffer and write data from the buffer onto the tape.
4. The method as recited in claim 3, comprising:
upon receipt of the append write command, storing the data stored in the buffer in a non-volatile memory starting from an appended data end position;
sending a completion notification of the append write command to a higher-level device when the data in the buffer is written in the non-volatile memory; and
moving the data temporarily stored in the non-volatile memory and then moving the tape to a tape writing position where the data temporarily stored in the non-volatile memory is to be written to perform append writing on a basis of a predetermined criterion so as to minimize a moving distance by which the tape travels relative to the head when moving from an end position on the tape of read data for the m-th read command to a reading start position for the n-th read command after receipt of the append write command.
5. The method according to claim 4, comprising, in response to receiving an overwrite command of data in a predetermined position on the tape between the mixed commands in the series of commands, updating an overwrite data position as an appended data end position in response to determining that the tape position for overwriting the data is encountered earlier than the appended data end position of the tape.
6. The method according to claim 4, comprising, in response to receiving an overwrite command of data in a predetermined position on the tape between the mixed commands in the series of commands, updating an overwrite data position as an appended data end position in the non-volatile memory in response to determining that the tape position for overwriting the data is encountered later than the appended data end position of the tape.
7. The method according to claim 4, wherein the criterion is satisfied when the data end position of the tape at which the data is to be written exists within the moving distance between the end position and the start position.
8. The method according to claim 4, comprising storing the updated data end position into the non-volatile memory.
9. The method according to claim 4, wherein the non-volatile memory is coupled to a tape cartridge.
10. The method according to claim 4, wherein the non-volatile memory is coupled to the tape recording apparatus.
11. The method according to claim 4, wherein the non-volatile memory is an area on the tape.
12. The method according to claim 1, wherein the read commands include first, second, . . . , m-th, n-th . . . , read commands in this order, and wherein n=m+1.
14. The method according to claim 13, comprising, in response to receiving an overwrite command of data in a predetermined position on the tape between commands in a series of commands including the append write command, updating an overwrite data end position as an appended data end position when the tape position for overwriting the data is encountered earlier than an appended data end position of the tape.
15. The method according to claim 13, comprising, in response to receiving an overwrite command of data in a predetermined position on the tape between commands in a series of commands including the append write command, updating an overwrite data end position as an appended data end position in the non-volatile memory when the tape position for overwriting the data is encountered later than the appended data end position of the tape.
16. The method as recited in claim 13, wherein the criterion is satisfied when the data end position of the tape at which the data is to be written exists within the moving distance between the end position and the start position.
17. The method as recited in claim 13, comprising storing the updated data end position into the non-volatile memory.
18. The method as recited in claim 13, wherein the non-volatile memory is coupled to a tape cartridge.
19. The method according to claim 13, wherein the non-volatile memory is coupled to the tape recording apparatus.
20. The method according to claim 13, wherein the non-volatile memory is an area on the tape.

The present application is a continuation of U.S. patent application Ser. No. 14/126,839, filed Apr. 21, 2014, which is a 371 of PCT Application No. PCT/JP2012/060139, having an international filing date of Apr. 13, 2012, which are herein incorporated by reference. The present application also claims priority to Japanese Patent Application Serial No. 2011-141259, filed Jun. 24, 2011, which is herein incorporated by reference.

The present invention relates to data storage, and more specifically, the present invention relates to a linear recording tape storage device which executes optimum writing upon receipt of a series of commands including mixed read and write commands (Read and Write), and to a method and a program for executing the same.

A tape recording device (a tape drive) is a sequential access device. Drive operations include mount/load and unmount/unload of a tape cartridge. Tape operations include operations on a tape medium which are position movement (a Position command), writing (a Write command), reading (a Read command) and synchronization (Sync command: Synchronize).

Data to be written in the tape includes user data and a file marker (FM) representing a user data delimiter. A write operation is performed either in a write-append method in which data is written in the tape from a position past the end of data after the tape is moved, or in an overwriting method in which old data is overwritten with new data.

Normally, the tape drive is able to perform read and write operations in a mixed manner, and these operations involve a moving operation and a synchronization operation (flush). The synchronization and moving operations cause the tape to move in a longitudinal direction thereof, thereby lowering the Read and Write performance of the tape drive. Note that the synchronization operation is an operation of ensuring that data temporarily stored in a buffer is written in a tape medium.

A hierarchical storage management (HSM) system allows the mixed read and write operations to be performed on tape drives. The tape drive is also included in a tape library which is at a lower layer of the HSM system. A single tape drive, however, is not required to perform read and write operations in a mixed manner in order to prevent the lowering of the overall performance of the entire read and write processing.

Instead, the single tape drive performs either the write operation or the read operation for each mount of a tape cartridge. Alternatively, a plurality of tape drives may each be used for either of write and read operations. These techniques require more tape drives, increase time-consuming (effort-taking) mount operations, and thus lower the processing performance.

There are some environments in which a tape cartridge is used exclusively for a read or write operation. Large-scaled scientific and technical calculations, in particular, cannot achieve higher performance, if a single tape cartridge is used for both mixed read and write operations. This also holds true for a hierarchical storage system which includes general tape storage devices.

Japanese Patent Application No. 2009-294309 provides a mechanism for causing a tape drive to perform read/write operations in a mixed manner in a single cartridge. Here, the writing method is an append writing method (Append Write). In the append writing method, the end of data (EOD) of write data in a tape is sequentially brought back by using a sequential moving method of the tape drive.

The writing method of a tape drive, however, includes Over Write in addition to the append write. The Over Write command is used to overwrite data (for example, a data set) having been written on a tape with new data by using the append write.

Accordingly, it is necessary to consider a case where the Over Write is received in mixed read/write operations in a single tape drive and tape cartridge.

According to one embodiment, a tape recording device includes a buffer configured for storing data related to reading and writing, a read/write head for reading data from a tape into the buffer and writing data from the buffer onto the tape, the tape being provided in a tape cartridge, a non-volatile memory configured for storing data stored in the buffer in response to a write command, and a controller configured for: receiving a series of commands from a higher-level device (each command moving to a tape position specified by a moving command), the series of commands including mixed read, overwrite, and append write commands, wherein the read commands include first, second, . . . , m-th, n-th . . . , read commands in this order, and wherein n=m+1, reading data from a specified position of the tape and storing data in the buffer in response to a read command, and writing data stored in the buffer from an appended data end position of the tape (EOD) in response to an append write command.

According to another embodiment, an append writing method for writing into a tape recording device includes receiving a series of commands from a higher-level device (each command moving a tape to a tape position specified by a moving command), the series of commands including mixed read, overwrite, and append write commands, wherein the read commands include first, second, . . . , m-th, n-th . . . , read commands in this order, and wherein n=m+1, reading data from a specified position of the tape using a read/write head and storing data in a buffer in response to a read command, and writing data stored in the buffer from an appended data end position of the tape (EOD) in response to an append write command.

In yet another embodiment, a computer program for writing into a tape recording device causes a computer to perform the steps of: (a) upon receipt of an append write command, storing data stored in the buffer in an appended data end position in a non-volatile memory (EOD in the non-volatile memory), (b) sending back a completion notification of the append write command to a higher-level device when data in the buffer is written in the non-volatile memory, (c) moving the data temporarily stored in the non-volatile memory and then moving to a tape writing position (EOD) where the data temporarily stored in the non-volatile memory is to be written to perform append writing on a basis of a predetermined criterion so as to minimize a moving distance by which a tape travels relative to a head, when moving from an end position on the tape of read data for a m-th read command to a reading start position for a subsequent n-th read command, wherein n=m+1, and (d) when receiving an overwrite command of data in a predetermined position on the tape between mixed commands in a series of commands, updating an overwrite data end position as an appended data end position (EOD) when the tape position for overwriting the data is encountered earlier than an appended data end position of the tape (EOD), and updating the overwrite data end position as an appended data end position in the non-volatile memory (EOD in the non-volatile memory) when the tape position for overwriting the data is encountered later than the appended data end position of the tape (EOD).

Other aspects and embodiments of the present invention will become apparent from the following detailed description, which, when taken in conjunction with the drawings, illustrate by way of example the principles of the invention.

It is preferable to provide a (linear recording) tape storage device having an optimum method of writing upon receipt of overwrite in the midst of performing read/write operations in a mixed manner, and a method and a program for executing the same.

In one general embodiment, a tape recording device which performs operations of position movement, reading, and writing on a tape medium back and forth in a longitudinal direction of the tape medium and which receives a series of commands from a higher-level device is presented. The series of commands includes mixed read (Read), overwrite, and append write (Write) commands and the plurality of read commands includes first, second, . . . m-th, n-th . . . (m, n=m+1) read commands in this order. The tape recording device includes: a buffer for storing data related to the reading and writing; a tape for recording the data stored in the buffer; a read/write head for reading the data from the tape into the buffer and writing the data from the buffer onto the tape, a controller configured for reading data from the specified position of the tape and storing the data in the buffer in response to a read command and for writing the data stored in the buffer from an appended data end position for data writing of the tape, e.g., end of data (EOD), in response to an append write command; and a non-volatile memory for storing the data stored in the buffer in response to a write command. Furthermore, in this embodiment, the controller may be configured to: (a) upon receipt of the append write command, store the data stored in the buffer from an appended data end position in the non-volatile memory (EOD in the non-volatile memory); (b) send back a completion notification of the append write command to the higher-level device when the data in the buffer is written in the non-volatile memory; (c) move the data temporarily stored in the non-volatile memory and then moving to a tape writing position (EOD) where the data temporarily stored in the non-volatile memory is to be written to perform writing on the basis of a predetermined criterion so as to minimize a moving distance by which the tape travels relative to the head, when moving from an end position on the tape of read data for the m-th read command to a reading start position for the n-th read command after receipt of the append write command; and (d) when receiving an overwrite command (Over Write) of data in a predetermined position on the tape between the mixed commands in the series of commands, wherein the overwrite command causes the end of written data to be in a data end position (EOD), update the overwrite data position as an appended data end position (EOD) when the tape position for overwriting the data is earlier (a value smaller) than the appended data end position of the tape (EOD), and update the overwrite data position as an appended data end position in the non-volatile memory (EOD in the non-volatile memory) when the tape position for overwriting the data is later (a value greater) than the appended data end position of the tape (EOD).

The device is characterized in that the criterion is satisfied when the data end position of the tape (EOD) at which the data is to be written exists within the moving distance (between the end position and the start position) according to one embodiment.

The device is further characterized in that the controller stores the updated data end position (EOD) into the non-volatile memory.

The device is also characterized in some approaches in that the controller stores the updated data end position (EOD) into the non-volatile memory of the tape cartridge which includes the tape.

In another general embodiment, a method for writing into a tape recording device includes the steps of: (a) upon receipt of the append write command, storing the data stored in the buffer in an appended data end position in the non-volatile memory (EOD in the non-volatile memory); (b) sending back a completion notification of the append write (synchronization) command to the higher-level device when the data in the buffer is written in the non-volatile memory; (c) moving the data temporarily stored in the non-volatile memory and then moving to a tape writing position (EOD) where the data temporarily stored in the non-volatile memory is to be written to perform writing on the basis of a predetermined criterion so as to minimize a moving distance by which the tape travels relative to the head, when moving from an end position on the tape of read data for the m-th read command to a reading start position for the subsequent n-th read command; and (d) when receiving an overwrite (Over Write) command of data in a predetermined position on the tape between the mixed commands in the series of commands wherein the overwrite command causes the end of the written data to be in a data end position (EOD), updating the overwrite data position as an appended data end position (EOD) if the tape position for overwriting the data is earlier (a value smaller) than the appended data end position of the tape (EOD), and updating the overwrite data position as an appended data end position in the non-volatile memory (EOD in the non-volatile memory) if the tape position for overwriting the data is later (a value greater) than the appended data end position of the tape (EOD).

In another embodiment, the tape recording device includes a buffer for temporarily storing data related to reading and append writing, a tape for recording the data stored in the buffer, a read/write head for reading the data from the tape into the buffer and writing the data from the buffer onto the tape, and controller for reading data from a specified position of the tape and storing the data in the buffer in response to a read command and for writing the data stored in the buffer from the tape in response to an append write command and which performs operations of position movement, reading, and writing on the tape medium back and forth in a longitudinal direction of the tape medium, when a single tape cartridge having the tape medium is loaded in the tape recording device and the tape recording device receives a series of commands including mixed read (Read), overwrite, and append write (Write) commands from a higher-level device (each moving to a tape position specified by a moving command, i.e., Position) where the plurality of read commands includes first, second, . . . m-th, n-th . . . (m, n=m+1) read commands in this order. In this method, the tape recording device and/or the tape cartridge is provided with a non-volatile memory for storing the data stored in the buffer in response to a write command.

In yet another general embodiment, a computer program product for writing into a tape recording device causes a computer to perform the steps of: (a) upon receipt of the append write command, storing the data stored in the buffer in an appended data end position in the non-volatile memory (EOD in the non-volatile memory); (b) sending back a completion notification of the append write (synchronization) command to the higher-level device when the data in the buffer is written in the non-volatile memory; (c) moving the data temporarily stored in the non-volatile memory and then moving to a tape writing position (EOD) where the data temporarily stored in the non-volatile memory is to be written to perform writing on the basis of a predetermined criterion so as to minimize a moving distance by which the tape travels relative to the head, when moving from an end position on the tape of read data for the m-th read command to a reading start position for the subsequent n-th read command; and (d) when receiving an overwrite (Over Write) command of data in a predetermined position on the tape between the mixed commands in the series of commands wherein the overwrite command causes the end of the written data to be in a data end position (EOD), updating the overwrite data position as an appended data end position (EOD) if the tape position for overwriting the data is earlier (a value smaller) than the appended data end position of the tape (EOD), and updating the overwrite data position as an appended data end position in the non-volatile memory (EOD in the non-volatile memory) if the tape position for overwriting the data is later (a value greater) than the appended data end position of the tape (EOD).

In one embodiment, a method for writing data in a tape recording apparatus includes receiving a series of commands, the series of commands including mixed read, overwrite, and append write commands. Data is read from a specified position of the tape using a head and the data is stored in a buffer in response to a read command. Data stored in the buffer is written starting from an appended data end position of the tape in response to an append write command.

According to another embodiment, a method for writing data in a tape recording apparatus includes, in response to receipt of an append write command, storing data stored in a buffer to a non-volatile memory starting from an appended data end position. A completion notification of the append write command is sent to a higher-level device when data in the buffer is written in the non-volatile memory. The tape is moved to a tape writing position where the data stored in the non-volatile memory is to be written. An append writing is performed on a basis of a predetermined criterion so as to minimize a moving distance by which a tape travels relative to a head, when moving from an end position on the tape of read data for a m-th read command to a reading start position for a subsequent n-th read command, wherein n=m+1.

According to one embodiment, a tape recording device is able to increase the overall performance of the mixed operations even when a higher-level device intervenes for overwriting in a series of commands including mixed read and append write commands.

FIG. 1 is a diagram illustrating a configuration example of a tape library including a tape drive according to one embodiment.

FIG. 2 illustrates normal operations of moving, reading, and writing performed on a tape of a tape drive, according to one embodiment.

FIG. 3 illustrates an example of conventional mixed read and write operations.

FIG. 4 illustrates that omission of a synchronization operation results in reduction in tape moving distance.

FIG. 5 illustrates reduction in moving distance resulting from omission of write and synchronization operations in one embodiment.

FIG. 6 illustrates a table summarizing a relationship in moving distance increase or decrease between omission of a synchronization operation and a subsequent rewrite operation.

FIG. 7 illustrates that a writing position exists in a moving operation, according to one embodiment.

FIG. 8 illustrates modes in which data is written in a tape when there is no free space in a non-volatile storage area.

FIG. 9 illustrates an operation flow of appended data writing.

FIG. 10 illustrates a flow of receiving both of Over Write and append write commands in mixed append write and read operations.

FIG. 11 illustrates an operation flow of synchronization.

FIG. 12 illustrates an operation flow of moving between two points when a writing position exists therebetween.

Hereinbelow, a description is given of an embodiment (hereinafter, referred to as “example”) of a method of append writing new data when an intervention of overwriting (Over Write) in a linear recording tape drive on which a single tape cartridge is loaded and which has received a series of commands including mixed read and append write (Append Write) commands from a host. This example is illustrative only and is not intended to limit a tape recording device for append writing in any way.

It is conceived that a total tape moving distance and duration with respect to a read/write head are reduced in mixed append write and read operations of a tape drive with a single tape cartridge (cartridge) loaded thereon. Accordingly, a summary of the example is given so that the following particular matters are performed.

First, a description is given of a tape drive and a tape library including the tape drive, to which this embodiment is applied. FIG. 1 is a diagram illustrating a configuration example of a tape library 100 including the tape drive, to which this embodiment is applied. As illustrated in FIG. 1, the tape library 100 includes a tape drive 10, a library control mechanism 30, an accessor 40, and a cartridge slot 50. Among them, 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 14a, a read head 14b, and a motor 15, and also includes a controller 16, a head position control system 17, and a motor driver 18. Furthermore, a tape cartridge (hereinafter, simply referred to as “cartridge”) 20 is also illustrated, since the cartridge 20 is loadable in the tape drive 10 by being inserted into the tape drive 10. The cartridge 20 includes a tape 23 wound around reels 21 and 22. With the rotation of the reels 21 and 22, the tape 23 is moved in a longitudinal direction thereof, from the reel 21 to the reel 22, or from the reel 22 to the reel 21. A magnetic tape is exemplified as the tape 23, but a tape medium other than the magnetic tape may be used.

The cartridge 20 also includes a cartridge memory 24. The cartridge memory 24 records information of, for example, how data is written in the tape 23. The indices of the data written in the tape 23 and a use status of the tape 23 are checked in a non-contact manner by using, for example, an RF interface, thereby enabling high-speed access to the data. In FIG. 1, an interface, like the RF interface, for accessing the cartridge memory 24 is shown as a cartridge memory interface (hereinafter, referred to as “CMI/F”) 19.

Meanwhile, the host I/F 11 communicates with a host 200. For example, from the host 200, the host I/F 11 receives a command for writing data in the tape 23, a command for moving the tape 23 to a target position, and a command for reading data from the tape 23. Incidentally, SCSI is exemplified as a communication standard used for the host I/F 11. In SCSI, a first command corresponds to a Write command, a second command corresponds to a Locate command or a Space command, for a tape moving operation; and a third command corresponds to a Read command. The host I/F 11 responds to the host 200, whether or not processing in response to a corresponding one of the commands succeeds or fails.

Data buffered in the buffer 12 is written in the tape 23 by a synchronization operation (Flush). The synchronization after Write is explicitly specified by a command (such as a Write Filemark command), or implicitly specified by a command (such as a Locate, Space, Rewind or Unload command for moving the position). Moreover, depending on an option of the Write command itself, the Write command itself might not be completed until the synchronization is completed.

The buffer 12 is a memory in which data to be written into the tape 23 and data read from the tape 23 is accumulated. For example, the buffer 12 comprises a Dynamic Random Access Memory (DRAM). Further, the buffer 12 is formed of a plurality of buffer segments, and each buffer segment stores a dataset which is a unit of reading from and writing in the tape 23. The channel 13 is a communication channel used for transmitting data to be written in the tape 23 to the write head 14a and for receiving data, which has been read from the tape 23, from the read head 14b. When the tape 23 moves in the longitudinal direction, the write head 14a writes information in the tape 23, while the read head 14b reads information from the tape 23. The motor 15 rotates the reels 21 and 22. Although the motor 15 is shown by a single rectangle in FIG. 1, it is preferable to provide one motor 15 for each of the reels 21 and 22, namely two motors 15 in total.

The controller 16 controls the entire tape drive 10. For example, the controller 16 controls writing or reading data to or from the tape 23 in accordance with a command received by the host I/F 11. The controller 16 also controls the head position control system 17 and the motor driver 18. The head position control system 17 is a system which controls the write head 14a and the read head 14b to track on a desired wrap. The wrap is a group of a plurality of tracks on the tape 23. When there arises a need for moving to a different wrap, electrical switching of the write head 14a or the read head 14b is also required. Therefore, the head position control system 17 controls such switching. The motor driver 18 drives the motor 15. When the two motors 15 are provided as described above, two motor drivers 18 should be provided, too.

Meanwhile, the library control mechanism 30 is a mechanism which controls the accessor 40 and the tape drive 10 in response to an instruction from the host 200. Specifically, the library control mechanism 30 instructs the accessor 40 to load the cartridge 20 in the tape drive 10 so that data designated by the host 200 is able to be read or written, and instructs the tape drive 10 to read the data designated by the host 200 from or to write the data onto the cartridge 20 loaded by the accessor 40. The accessor 40 takes the cartridge 20 out of the cartridge slot 50 to load the cartridge 20 in the tape drive 10 in accordance with the control of the library control mechanism 30. The cartridge slot 50 is a space for storing a cartridge 20 in which no data is read or written. Here, the cartridge slot 50 is shown by a single rectangle, but, actually, there are provided a plurality of slots for storing a plurality of cartridges, respectively.

Note that only one tape drive 10 is shown in FIG. 1, but a plurality of tape drives 10 may be provided. In the latter case, the library control mechanism 30 notifies the accessor 40 of identification information of one of the tape drives 10 to which a read or rite command is to be transmitted, and thereby instructs the accessor 40 to load a cartridge 20 in the tape drive 10.

FIG. 2 illustrates operations of normal position movement of data (Position command), reading (Read command), and append writing (Write command) which are performed in the tape 23 of a tape drive. The tape drive may be a linear recording enterprise tape product (TSxx series by IBM Corp.) or one in compliance with Liner Tape-Open (LTO). First, data reading and writing are performed on a wrap #0 in the right direction as shown by an arrow 201, and then the travelling direction of the tape 23 is reversed as shown by an arrow 202. Subsequently, data reading and writing are performed on a wrap #1 in the left direction, and then the travelling direction of the tape 23 is reversed as shown by an arrow 203. Furthermore, data reading and writing are performed on a wrap #2 in the right direction, and then the travelling direction of the tape 23 is reversed as shown by an arrow 204. In the last step, data reading and writing are performed on a wrap #55 in the left direction as shown by an arrow 205.

As described above, in the linear recording tape drive, the data reading and writing are performed in data storage areas called wraps defined in the tape 23, while the read/write head reciprocates between the beginning of the tape 23 (BOT) and the end of the tape (EOT). The wrap is a set of a plurality of tracks arranged in parallel with each other and spaced away from each other in a width direction of a tape. Each of the write head 14a and the read head 14b may include a plurality of channels (eight or 16 read/write elements). The write head 14a and the read head 14b enable the operations of moving, reading, and writing to be performed on the plurality of tracks in parallel in the same wrap. In the case of serial reading/writing, the read/write head reciprocates in the wraps. Note that the beginning of the tape 23 is an example of a first end portion and the end of the tape 23 is an example of a second end portion.

Meanwhile, through a HSM system, the tape library 100 located in the lowest layer receives a series of commands for mixed read/write operations from the host 200. The following provides an example of enhancing the performance in operation processing of the entire series of commands in the case where a single tape drive receives such a series of commands for the mixed read/write operations. In this embodiment, the total tape moving distance and duration is reduced when a tape drive performs mixed operations of append writing and reading on a single tape cartridge loaded in the tape drive.

Before describing the example, a description is given of how much a synchronization operation increases a moving distance in the mixed read/write operations. Then, an example is provided in which enhancement of the overall performance is exerted by substantially omitting the moving distance involved with the synchronization operation. First, as a premise of description of the example, an example below should be understood in which conventional mixed read and write operations involve an unnecessary moving distance.

FIG. 3 illustrates the example of the conventional mixed read/write operations. A description is given of an example of receiving a series of commands including mixed Read and Write commands when a tape is traveled linearly relative to tracks such as from right to left or left to right. As shown in the following series of commands (1) to (9), movement is performed after a write (append write) operation (Write) to perform a read operation (Read), and further, a write operation (Write) is performed:

Operations of the tape drive are performed as described below. User data is represented by data1 to data10 and FileMarkers (FM) as the delimiters of data are represented by FM1 to FM 10.

FIG. 4 shows that omission of a synchronization operation enables reduction in a tape moving distance. By omitting the writing into a tape medium in response to a synchronization command in the same series of commands ((1) to (9)) from the conventional operations (FIG. 3), the moving distance is able to be reduced. The following is the operations of the tape drive in accordance with the same series of commands as in the previous page, in accordance with FIG. 4:

At the time that a completion notification is sent in response to the synchronization command, however, it is necessary that data is properly written in the medium and future access is ensured. The synchronization operation is substantially ensured for the host in one approach. In addition, the following example discloses a write-once method which suppresses an increase in a moving distance of a series of commands including mixed Read and Write commands by placing Writes strategically.

The following configuration is discussed in accordance with one embodiment in order to ensure a synchronization operation for the host with respect to data stored in the buffer:

By being provided with a new non-volatile storage area, the tape drive receives a series of commands including mixed Read and Write transmitted from the host. Generally, Read is often performed after a reading position is specified. Similarly, Write for append writing is performed after a writing position is designated as the EOD. The reading position and the writing position, however, often are not related to each other. If a write operation (substantial synchronization operation) at a target position (physical EOD) on the tape can be executed in the course of moving between read operations, as append writing, an unnecessary tape moving distance is able to be reduced. If a writing position (physical EOD) on the tape for writing data stored in the non-volatile storage area exists between any two of a plurality of moving positions for subsequent Read operations, the writing in the tape during the moving increases the overall performance of the series of commands.

1. In the example, in accordance with a synchronization operation subsequent to an append write command (Write), data stored in the buffer is stored in a non-volatile storage area.

2. It is necessary to perform an operation in which the data temporarily stored in the non-volatile storage area is written at an originally intended position on a tape (end of data (EOD)).

A moving distance in the rewrite operation has a converse relation with a moving distance in the writing and synchronization operations. This means that a distance reduced by the omission of the synchronization operation is equal to a moving distance increased by the rewrite operation. Data is rewritten in a case where the moving distance or duration can be made less than those in the conventional operations. For example, if a position (EOD) to be rewritten (to be append written) is to be passed through during moving operations for a plurality of Read commands, data is able to be rewritten without moving exclusively for the rewritten operation.

In order to ensure data storing for the synchronization operation, it is useful to prevent a state in which there is no free space in the temporary storage area in one approach. When a synchronization command is received, a free space (unused ratio) in the non-volatile storage area might be reduced, depending on a moving distance for rewriting and temporarily stored data volume. When the non-volatile storage area is completely full, data in the non-volatile storage area is unconditionally rewritten from the EOD of the tape. After the rewrite operation, a normal write operation is subsequently performed on the tape. In addition, when the Rewind command or the Unload command for the cartridge is received, the rewrite operation is performed unconditionally, because Rewind and Unload mean that the tape cartridge is used up.

FIG. 5 illustrates a moving distance at the time of an append rewrite operation in which a substantial synchronization operation is ensured by using the non-volatile storage area. FIG. 5 illustrates increase and decrease of the moving distance caused by omission of the synchronization operation and the rewrite operation in the example.

FIG. 6 illustrates a table summarizing a relationship in moving distance increase or decrease between omission of the synchronization operation and the subsequent rewrite operation (the cases 1-a to 4-b in FIG. 5).

In one embodiment, rewriting processing in the moving operation may be determined as follows:

When the append write command and the synchronization command are received, the following two operations are conceivable.

FIG. 7 illustrates the case 1-a where air EOD which is the append writing position exists in the course of movement. The data. stored in the buffer is not append written in the tape, but stored in the non-volatile storage area. In the case of moving from the position A to B for Read, the course of movement includes an append tape writing position (physical EOD) for a normal synchronization operation and a distance for writing (distance X-Y). The direction (X→Y) of writing data in the tape is the same as the moving direction for Read (A→B). As described above, in the movement subsequent to a synchronization command, the append writing position (physical EOD) and the tape writing length (the volume of data) are included in the moving distance. If the Read direction matches the rewriting direction, it is advantageous to perform, during the movement, the operation of rewriting the data stored in the non-volatile storage area.

FIG. 8 illustrates modes in which data is written in the tape in the case where there is no free space in the non-volatile storage area, according to several embodiments.

When the Rewind command or the Unload command for the cartridge is received, the rewrite operation is performed unconditionally, because Rewind and Unload mean that the tape cartridge is used up. In this state, the moving target of the position B or E is the BOT of the tape. The positions C and D (FIG. 5) cannot be the moving targets, i.e., the BOT. The corresponding moving patterns are 1-a, 1-b, 4-a, and 4-b. The rewrite operation might cause a considerable increase in moving distance. For example, the moving patterns 4-a and 4-b correspond to this case. A rewrite operation is required to ensure data custody and to use the cartridge as normal when the cartridge is remounted. The increase in moving distance is offset by the reduction in distance by writing in the temporary storage area, except for a case where the moving pattern 4-a is repeated in a state where the current position A is located closer to the BOT than the rewriting start position X.

Another example is provided based on the linear recording method in which position movements for Read and Write are performed back and forth in the longitudinal direction of a tape medium. Append writing in movement on the tape in the tape drive is applied to a case where data is sequentially read from or written in the tape. The example of the present invention is applied to a case of receiving a series of commands including mixed Read and Write commands from an upper-level device (host) in the case where one cartridge is loaded in the tape drive. The mixed Read and Write commands included in the series of commands issued by the host to the tape drive are executed. Hereinbelow, a description is given of a flowchart of operations for the append write command (Write), the read command (Read) and the moving command (position) assumed for Read, according to one embodiment.

FIG. 9 illustrates an operation flow of appended data writing (Write) in one embodiment.

The Write command has been described with expect to only append writing in the above. In the append writing method, the end of data (EOD) of write data in a tape is sequentially brought back by using a sequential moving method of the tape drive.

The writing method of the tape drive, however, includes Over Write in addition to the append write. The Over Write command is used to overwrite data (for example, a data set) having been written in a tape with new data by using the append write. Upon the overwrite operation, the end of the overwrite data becomes the end of data (EOD) of the tape and the subsequent write data is treated as no data.

FIG. 10 illustrates a flow of receiving both of the Over Write and append write commands in mixed append write and read operations. The following describes each of the steps 1 to 100 in FIG. 10:

FIG. 11 illustrates an operation flow of a synchronization (Sync) command.

FIG. 12 illustrates a flow of moving operation in the case where a writing position exists in the movement between two positions.

The above example has been described with respect to the movement between Read commands in the series of commands including mixed Write and Read commands. The scope of the present invention is not limited to this example, and is provided on the assumption that the completion of a synchronization operation is ensured in writing in a non-volatile storage area. The scope of the present invention includes substantial tape writing of data stored in the non-volatile storage area if there is a chance of subsequently encountering a target tape position in a subsequent movement on the tape. Generally in a hierarchical storage management system, a lowest-layer tape library receives a series of commands including mixed Read and Write commands. The tape drive with one cartridge loaded thereon has many chances in which tape writing positions for the write and synchronization commands overlap in movement for subsequent Read commands. As long as a new non-volatile storage area is provided in the tape drive or the cartridge and a predetermined capacity thereof (for example, 100 Mbytes or more) is secured, it is possible to guarantee the performance of the operation of the series of commands as a whole by deferring append writing in the tape.

As described above, the library system in various embodiments exerts an advantageous effect of avoiding a replacement by unloading and loading of a cartridge exclusively for writing or reading. The system in various embodiments has an advantageous effect of achieving the speed-up as a whole even in the case where an overwrite operation is included in mixed read and write operations by minimizing the moving operation involved with data writing.

Shiratori, Toshiyuki, Taguchi, Kohei

Patent Priority Assignee Title
10719236, Nov 20 2015 Arm LTD Memory controller with non-volatile buffer for persistent memory operations
11386925, Aug 25 2020 Western Digital Technologies, Inc. Data storage device compensating for head/tape wear
11809731, Sep 28 2021 International Business Machines Corporation Appending data to a tape cartridge during recall operations
9330713, Jun 24 2011 International Business Machines Corporation Linear recording executing optimum writing upon receipt of series of commands including mixed read and write commands
Patent Priority Assignee Title
6715033, Mar 06 2001 Hewlett Packard Enterprise Development LP Method of and apparatus for tracking appended data on storage medium
6763427, Aug 03 1998 Fujitsu Limited Optimizing the execution sequence in a tape apparatus in order to minimize tape traveling distance
7853761, Dec 27 2006 Kabushiki Kaisha Toshiba Classifying write commands into groups based on cumulated flush time
8373896, Jun 03 2008 Canon Kabushiki Kaisha Image processing apparatus, control method therefor, program, and storage medium
8397136, Jan 08 2008 International Business Machines Corporation Method for appending data to tape medium, and apparatus employing the same
8400897, Dec 24 2010 AIRBNB, INC Migrating data from one recording medium to another
8477440, Nov 26 2009 LENOVO INTERNATIONAL LIMITED Tape recorder and tape recording that increases empty tape area without loss of necessary data
8929020, Jun 24 2011 International Business Machines Corporation Linear recording device for executing optimum writing upon receipt of series of commands including mixed read and write commands and method and program thereof
20080162803,
20090177947,
20090296120,
20110122522,
20110157741,
20110176238,
20140226236,
20140379980,
JP2000048549,
JP2008165881,
JP2009294309,
JP2011113605,
JP2011134413,
WO2012176539,
///
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 16 2013SHIRATORI, TOSHIYUKIInternational Business Machines CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0344830944 pdf
Dec 16 2013TAGUCHI, KOHEIInternational Business Machines CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0344830944 pdf
Dec 10 2014International Business Machines Corporation(assignment on the face of the patent)
Date Maintenance Fee Events
May 06 2019REM: Maintenance Fee Reminder Mailed.
Oct 21 2019EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Sep 15 20184 years fee payment window open
Mar 15 20196 months grace period start (w surcharge)
Sep 15 2019patent expiry (for year 4)
Sep 15 20212 years to revive unintentionally abandoned end. (for year 4)
Sep 15 20228 years fee payment window open
Mar 15 20236 months grace period start (w surcharge)
Sep 15 2023patent expiry (for year 8)
Sep 15 20252 years to revive unintentionally abandoned end. (for year 8)
Sep 15 202612 years fee payment window open
Mar 15 20276 months grace period start (w surcharge)
Sep 15 2027patent expiry (for year 12)
Sep 15 20292 years to revive unintentionally abandoned end. (for year 12)