This application claims priority to Japanese Patent Application No. 2012-000308, filed Jan. 5, 2012, which is herein incorporated by reference.
The present invention relates to a tape storage device, and more specifically, it relates to data writing control for a tape storage device.
Existing tape storage devices are based on the premise that, in recording data from a host on tape, items of data are sequentially recorded in a data track. If the amount of data input from a host per unit time is smaller than the amount of data written on tape, the tape transportation is stopped and the tape is rewound (back hitched), or alternatively, the tape transportation speed is reduced and items of data are sequentially recorded in a data track densely.
A device according to one embodiment includes a controller configured to perform control for: (i) writing data stored in a buffer, subsequently writing an interval marker without interruption after the buffer is empty of the stored data, and writing next data subsequently to the interval marker when the next data is stored in the buffer in a first round corresponding to a first-time write in a single track in a tape, (ii) writing data stored in the buffer in an area of the interval marker in a second round corresponding to a second-time write in the single track, and (iii) writing data stored in the buffer in the area in which no data is written of the interval marker in each of third and subsequent rounds corresponding to third- and subsequent-time writes in the single track.
A method according to one embodiment includes writing data stored in a buffer onto a tape; writing an interval marker on the tape after the data stored in the buffer is written onto the tape; writing next data subsequent to the interval marker when the next data is stored in the buffer in a first round corresponding to a first-time write in a single track in the tape; writing data stored in the buffer in an area of the interval marker in a second round corresponding to a second-time write in the single track; and writing data stored in the buffer in an area of the interval marker in which no data is written in each of third and subsequent rounds corresponding to third- and subsequent-time writes in the single track.
A computer program product may include program code readable/executable by a controller to perform some or all of the foregoing method.
Any of these embodiments may be implemented in a magnetic data storage system such as a tape drive system, which may include a magnetic head, a drive mechanism for passing a magnetic medium (e.g., recording tape) over the magnetic head, and a controller electrically coupled to the magnetic head.
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.
The following description is made for the purpose of illustrating the general principles of the present invention and is not meant to limit the inventive concepts claimed herein. Further, particular features described herein can be used in combination with other described features in each of the various possible combinations and permutations.
Unless otherwise specifically defined herein, all terms are to be given their broadest possible interpretation including meanings implied from the specification as well as meanings understood by those skilled in the art and/or as defined in dictionaries, treatises, etc.
It must also be noted that, as used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless otherwise specified.
The following description discloses several preferred embodiments of tape storage devices, as well as operation and/or component parts thereof.
In one general embodiment, a device includes a controller, such as a tape storage chip, board, and/or circuit, configured to perform control for: (i) writing the data stored in the buffer, subsequently writing an interval marker without interruption after the buffer is empty of the stored data, and writing next data subsequently to the interval marker when the next data is stored in the buffer in a first round corresponding to a first-time write in a single track in the tape, (ii) writing data stored in the buffer in an area of the interval marker in a second round corresponding to a second-time write in the single track, and (iii) writing data stored in the buffer in the area in which no data is written of the interval marker in each of third and subsequent rounds corresponding to third- and subsequent-time writes in the single track.
In another general embodiment, a method includes writing data stored in a buffer onto a tape; writing an interval marker on the tape after the data stored in the buffer is written onto the tape; writing next data subsequent to the interval marker when the next data is stored in the buffer in a first round corresponding to a first-time write in a single track in the tape; writing data stored in the buffer in an area of the interval marker in a second round corresponding to a second-time write in the single track; and writing data stored in the buffer in an area of the interval marker in which no data is written in each of third and subsequent rounds corresponding to third- and subsequent-time writes in the single track.
Back hitching or variable-speed tape transportation to sequentially record items of data on a data track typically needs a mechanism for minutely controlling a reel motor, e.g. a mechanism for controlling a tape transportation speed in several steps or steplessly. Accordingly, various embodiments of the present invention provide data writing control by which complex control of tape transportation, movement of the position of a read-and-write (R/W) head, or other intricate control in the above-described technique may be eliminated or reduced in data writing in a tape storage device.
Several preferred embodiments of the present invention provide a tape storage device including a read-and-write (R/W) head capable of writing data after reading data, a buffer configured to store data to be written on tape and data read from the tape by the R/W head, a motor driver configured to control a motor for transporting the tape, and a controller configured to control the R/W head and the motor driver. Preferably, after instructing the motor driver to transport the tape at a constant speed, the controller in the tape storage device may perform control for (i) writing the data stored in the buffer, subsequently writing an interval marker without interruption after the buffer is empty of the stored data, and writing next data subsequently to the interval marker when the next data is stored in the buffer in a first round corresponding to a first-time write in a single track in the tape, (ii) writing data stored in the buffer in an area of the interval marker in a second round corresponding to a second-time write in the single track, and (iii) writing data stored in the buffer in the area in which no data is written of the interval marker in each of third and subsequent rounds corresponding to third- and subsequent-time writes in the single track.
In some embodiments of the present invention, because data may be written while the tape is transported at a constant speed, complex control of tape transportation, such as back hitching and variable-speed tape transportation, may be avoided. In addition, production of an interval marker in the same track in the tape and use of the interval marker (a plurality of writes in the interval marker) may prevent a decrease in the amount of stored data (density) per one track.
According to one embodiment, a controller may perform control for writing the data stored in the buffer in the area of the interval marker when a data fill ratio (e.g. the amount of written data in one track/capacity of one track) for the single track does not exceed a predetermined value. Additionally, an overflow in writing data in the single track may be avoided, and, substantially the same or similar amount of writing data may be ensured in each track.
According to another embodiment, the controller may perform control for writing the data stored in the buffer in a next new track when the data fill ratio for the single track exceeds the predetermined value. Furthermore, complex control for movement of the position of the head may be avoided.
According to yet another embodiment, the controller may update the data fill ratio for the single track in an end or a beginning of the single track. In some approaches, a track in which data is to be written may be appropriately selected while, at the same time or near the same time, the latest data fill ratio for the track may be grasped before a write in each round.
According to a further embodiment, the controller may perform control for retaining the data fill ratio for the single track in either one or both of a housekeeping area in the single track or another track in the tape and a cartridge memory of a cartridge holding the tape. In some approaches, storing the data fill ratio for the single track in the tape or the cartridge itself may enable writing control using this data fill ratio in different (other) tape storage devices.
According to various embodiments, the data may be written in the area of the interval marker by the R/W head after a predetermined time since a beginning of the interval marker in the area of the interval marker is read by the R/W head. In addition, data may be automatically written (overwritten) in the area of the interval marker simply by detection (reading) of this interval marker.
According to some approaches, when the predetermined time is T, T may be expressed by the following equation:
T=L/V(s)
where L denotes a distance (m) between a write (W) head and a read (R) head in the R/W head and V denotes a transportation speed (m/s) of the tape. The time (position) to start writing data may also be appropriately and precisely set from detection (reading) of the interval marker.
Referring now to
As shown in
The host I/F 11 communicates with the host (server) 30, the user device 32, and other apparatuses. For example, the host I/F 11 receives, from the OS in the host 30, a command to write data on the tape 23, a command to move the tape 23 to a target position, and a command to read data from the tape 23. In the exemplary schematic diagram illustrated in
With the continued reference to
The R/W head 14 writes information on the tape 23 and reads information from the tape 23 while the tape 23 moves in the longitudinal direction. Although
As shown in
The controller 16 exercises control over the tape storage device 10. For example, the controller 16 may control writing data on the tape 23 and reading data from the tape 23 in accordance with a command received by the host I/F 11. The controller 16 may also control the head position control system 17 and the motor driver 18. The data writing control performed by the controller 16 is described below.
As also shown in
The motor driver 18 drives the motor 15. As previously described, if two motors 15 are used, two motor drivers 18 may be provided. The CM I/F 19 may be achieved by an RF reader-writer, for example, and writes information in the CM 24 and reads information from the CM 24.
Referring now to
An interval marker detector 145 illustrated in
In response to a detection signal from the interval marker detector 145, a delay processing circuit 146 may send a delay signal subjected to a delay of a predetermined time to a gate circuit 147. The predetermined time may be set in the way described below. For example, when the predetermined time is T(s), T may be set in various approaches as follows:
T=L/V(s) (1)
where L denotes the distance (m) between the write (W) head 143 and the read (R) head 141 in the R/W head and V denotes the transportation speed (m/s) of the tape.
The predetermined time may be set in this way because the data writing control in the present invention may be performed based on the premise that the tape is transported at a constant speed, as described below. Thus, the time (position) to start writing data in the area of an interval marker may be appropriately and precisely set from detection (reading) of this interval marker.
In response to the delay signal from the delay processing circuit 146, the gate circuit 147 may perform control for sending data stored in the buffer 12 to the write (W) head 143 in writes in a single track in the tape in the second and subsequent rounds, according to some approaches. Write data in the second and subsequent rounds may be sent to the write (W) head 143 through the channel 13 in more approaches.
According to various embodiments, the writing control performed by the controller 16 (shown, e.g. in
Referring first to
As shown in
When the end of the first track in the first round (EOT of the tape) is reached in
In various approaches, the controller 16 (
In more approaches, when the end of the second track in the first round (BOT of the tape) is reached in
When the data fill ratio for the first track does not exceed the predetermined value, the controller 16 may write data in the first track in the second round, as illustrated in
Further, according to some approaches, when the end of the first track in the second round (EOT of the tape) is reached in
When the data fill ratio for the second track does not exceed the predetermined value, the controller 16 may write data in the second track in the second round, as illustrated in
In additional approaches, when the end of the second track in the second round (BOT of the tape) is reached in
Referring now to
Referring now to
Now referring to
As shown in
Further, in operation 608, data stored in the buffer is written in an area of the interval marker in a second round corresponding to a second-time write in the single track. In one embodiment, the data stored in the buffer is written in the area of the interval marker by the R/W head after a predetermined time since a beginning of the interval marker in the area of the interval marker is read by the R/W head. As used herein, the predetermined time (T) may be expressed by the following equation:
T=L/V(s)
where L denotes a distance (m) between a write (W) head and a read (R) head in the R/W head and V denotes a transportation speed (m/s) of the tape.
Additionally, data stored in the buffer is written in an area of the interval marker in which no data is written, in each of third and subsequent rounds corresponding to third- and subsequent-time writes in the single track. See operation 610.
According to one embodiment, the method 600 may further include determining a data fill ratio for the single track, wherein the data fill ratio refers to an amount of written data on a single track divided by a capacity of the single track. In some approaches, the data fill ratio for the single track may be updated in an end of the single track or a beginning of the single track. In other approaches, the data fill ratio for the single track may be retained in at least one of a housekeeping area in the single track or another track in the tape and a cartridge memory of a cartridge holding the tape.
According to another embodiment, the data stored in the buffer in the area of the interval marker may be written when the data fill ratio for the single track does not exceed the predetermined value. According to yet another embodiment, the data stored in the buffer may be written in another track when the data fill ratio for the single track exceeds the predetermined value.
Numerous embodiments of the present invention have been described with reference to the drawings. It should be understood, however, that the present invention is not limited to the above-described embodiments. For instance, the present invention may be used in various applications and/or permutations, which may or not be specifically described in the illustrative embodiments listed herein. Moreover, any of the features presented herein may be combined in any combination to create various embodiments, any of which fall within the scope of the present invention.
It will be clear that the various features of the foregoing systems and/or methodologies may be combined in any way, creating a plurality of combinations from the descriptions presented above.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as “logic,” a “circuit,” “module,” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a non-transitory computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the non-transitory computer readable storage medium include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (e.g., CD-ROM), a Blu-ray disc read-only memory (BD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a non-transitory computer readable storage medium may be any tangible medium that is capable of containing, or storing a program or application for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a non-transitory computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device, such as an electrical connection having one or more wires, an optical fibre, etc.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fibre cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer, for example through the Internet using an Internet Service Provider (ISP).
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart(s) and/or block diagram block or blocks.
It will be further appreciated that embodiments of the present invention may be provided in the form of a service deployed on behalf of a customer.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of an embodiment of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2012-000308 | Jan 2012 | JP | national |