1. Technical Field
The present invention relates to a storage device, a program for controlling the storage device, a method for controlling the storage device and a recording medium. Particularly, the present invention relates to a storage device for recording additional data in association with data to be recorded when the data to be recorded is divided into multiple blocks and recorded on a recording medium, a program for controlling the storage device, a method for controlling the storage device and a recording medium.
2. Description of the Related Art
With a recent increase in demand for distribution of digital data, there have been developed methods for adding data for identifying digital data to the digital data. For example, Japanese Patent Publication No. 2001-518651 discloses a method for incorporating electronic watermarking data into digital data such as audio, video and image data.
Since the method of incorporating electronic watermarking data into digital data itself changes the original digital data, it is not appropriate to apply this method to digital data that cannot be changed, such as a program of an information processing system or accounting information. In such a case, therefore, a method of adding data to be used for identification of digital data without changing the digital data itself is desirable.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, where:
The present invention is now described below with reference to its embodiments. It should be noted, however, that the embodiments do not limit the scope of the invention defined by the claims, and all the combinations of features described in the embodiments are not necessarily essential for the invention to solve the problem.
The information processing device 100 is connected to the storage devices 110a and 110b and accesses the storage devices 110a and 110b based on a request received from another information processing device connected via the network. In other words, when a data write request is received from another information processing device, the information processing device 100 sends the data to be written to a storage device 110 to which the data should be written and causes the storage device 100 to perform a writing process. On the contrary, when a data read request is received from another information processing device, the information processing device 100 causes a storage device 110 from which the data should be read to perform a reading process, and sends the read data to the information processing device requesting the data. Also, the information processing device 100 performs a copy operation between recording media of the storage devices 110a and 110b based on, for example, an instruction from a user of the storage system 10.
The storage device 110a is provided with a write-control section 210 and a read-control section 220 and uses a recording medium 200. Since the configuration of the storage device 110b is almost the same as that of the storage device 110a, the description thereof is omitted here.
The recording medium 200 records multiple blocks produced by dividing data to be written. A magnetic tape conforming to the LTO (Linear Tape-Open) standard, for example, is used as the recording medium 200 according to the embodiment. Alternatively, other recording media, such as a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory, may be used as the recording medium 200.
The write-control section 210 receives a write request and data to be written from the information processing device 100 and writes the data to be written to the recording medium 200. The write-control section 210 comprises an additional data storing section 230, a recording position determining section 235 and a block writing section 240.
The additional data storing section 230 stores additional data to be recorded on the recording medium 200 in association with the data to be written. In this case, the additional data may be electronic watermarking data including device identification information such as a serial number of the storage device 110a, date and time of writing, identification information for the data to be written which is specified by a user of the storage device 110a, a password for releasing a read restriction on the data to be written, and the like, which is added to identify the data to be written. Alternatively, the additional data may include various information, such as fault information for identifying a fault caused in writing onto the recording medium 200, which is usually concealed from the user of the storage device 110a.
The recording position determining section 235 determines recording positions on the recording medium 200 where the blocks produced by dividing the data to be written are respectively written, based on the additional data acquired from the additional data storing section 230. By dividing the data to be written into multiple blocks and causing the recording position determining section 235 to specify recording positions where the respective blocks are written, the block writing section 240 writes the respective blocks to the recording positions on the recording medium that have been determined by the recording position determining section 235.
The read-control section 220 receives a read request from the information processing device 100 and reads data to be read, which has been divided into multiple blocks and recorded on the recording medium 200. The read-control section 220 comprises a block reading section 250, a recording position acquiring section 255, an additional data extracting section 260 and a block readout inhibiting section 265.
The block reading section 250 reads multiple blocks from the recording medium 200. The recording position acquiring section 255 acquires recording positions on the recording medium 200 where the respective blocks are recorded. The recording position acquiring section 255 then composes data to be read by putting together the read blocks, and sends it to the information processing device 100. In this case, the recording position acquiring section 255 may acquire from the block reading section 250 the recording positions specified by the block reading section 250 to read the respective blocks. The additional data extracting section 260 extracts additional data recorded on the recording medium 200 in association with the data to be read, from the recording positions corresponding to the blocks, respectively, which have been acquired by the recording position acquiring section 255. The additional data extracting section 260 sends the additional data to the information processing device 100 if it has been set to do so.
In the case where the additional data is electronic watermarking data, the block readout inhibiting section 265 inhibits the blocks from being read by the block reading section 250 if the additional data extracted by the additional data extracting section 260 does not correspond to electronic watermarking data to be recorded on the recording medium 200 in association with data to be written in a writing process. The block readout inhibiting section 265 according to the embodiment may use additional data stored in the additional data storing section 230 as electronic watermarking data to be recorded on the recording medium 200 in association with data to be written in a writing process. In this case, the additional data stored in the additional data storing section 230 may be data stored in advance, such as device identification information of the storage device 110a, or data specified through the information processing device 100 when the recording medium 200 is read.
The following functions can be provided by the storage device 110a described above.
(1) Case where Electronic Watermarking Data is Recorded as Additional Data:
The storage device 110a can embed electronic watermarking data for identifying data to be written in a recording medium 200 as recording positions of the respective blocks produced by dividing the data to be written. Accordingly, identification information of a storage device which has performed writing to the recording medium 200, time and date of the writing, and the user who has requested the writing, for example, can be embedded in the recording medium 200 as electronic watermarking data, and it is possible to prove that the recording medium 200 has been completely copied illegally, based on such information.
In some storage devices, information on recording positions of the respective blocks is lost when the recording medium 200 is copied. In this case, it is possible to prove that a recording medium is a copied one by detecting that the same data as that on the recording medium 200 is recorded thereon and electronic watermarking data has been lost.
Furthermore, by inhibiting multiple blocks from being read by the block reading section 250 if recording positions of the blocks read from the recording medium 200 in a reading process of the recording medium 250 do not correspond to valid electronic watermarking data, it is possible to prevent the recording medium 200, from which the electronic watermarking data has been lost due to illegal copying, from being read.
(2) Case where Data Other Than Electronic Watermarking Data is Recorded as Additional Data:
In the storage device 110a, it is possible to record data, which usually cannot be read by a user of the storage system 10, on a recording medium 200 as additional data. For example, in the storage device 110a, fault information for identifying a fault caused during writing to a recording medium is stored in the additional data storing section 230 and is written as additional data to a recording medium 200 together with data to be written. This allows a user or a manufacturer of the storage system 10 to identify a fault caused during writing by acquiring the additional data from the recording medium 200 in case of any error caused in writing to the recording medium 200.
Next, the block writing section 240 receives data to be written from the information processing device 100 and divides it into multiple blocks (S310). The recording position determining section 235 then determines recording positions on the recording medium 200 where the blocks divided by the block writing section 246 are respectively written (S320). The block writing section 240 writes the respective blocks to the recording positions on the recording medium determined by the recording position determining section 235 (S330).
When a read request is received from the information processing device 100, the block reading section 250 sequentially reads each block (S400). Next, the recording position acquiring section 255 sequentially acquires a recording position of each block read by the block reading section 250 (S410). The additional data extracting section 260 then sequentially extracts additional data recorded on the recording medium 200 in association with the data to be read from each of the recording positions of the blocks that have been acquired by the recording position acquiring section 255 (S420).
If the recording position of one block acquired by the recording position acquiring section 255 does not correspond to the electronic watermarking data recorded on the recording medium 200 in association with the data to be written in the writing process, the block readout inhibiting section 265 determines that the extracted additional data is invalid (S430). More particularly, if the additional data extracted by the additional data extracting section 260 does not match the corresponding portion of the electronic watermarking data stored in the additional data storing section 230, then the block readout inhibiting section 265 determines that the additional data is invalid. If the additional data is determined to be invalid, the block readout inhibiting section 265 inhibits reading of the block that has been determined at S430 to be stored in a recording position that does not correspond to the electronic watermarking data, and subsequent blocks (S450). In response to this, the block reading section 250 stops reading of the blocks starting from that block. In this case, the block reading section 250 may read some blocks starting from that block before reading is stopped because the stop of reading is late, for example.
On the contrary, if the additional data is determined to be valid at S430, then the process from S400 to S430 is repeated until reading of the blocks is completed (S440). Through the reading process described above, the storage device 110a can sequentially extract the additional data that has been added in association with the data to be written in the writing process. The storage device 110a can stop reading of the data from the recording medium 200 when the extracted additional data does not correspond to the electronic watermarking data.
When a recording medium 200 is mounted on the storage device 110a, the recording position acquiring section 255 scans multiple blocks included in the data written on the recording medium 200 to acquire multiple recording positions corresponding to the respective blocks (S500). Next, the additional data extracting section 260 extracts additional data recorded on the recording medium 200 in association with the data to be read, from the recording positions that have been acquired by the recording position acquiring section 255 (S510). When a read request is received from the information processing device 100, the block readout inhibiting section 265 determines that the additional data is invalid if the recording positions do not correspond to the electronic watermarking data which was recorded in association with the data to be written when the data was written to the recording medium 200 in the writing process (S520). If the additional data is determined to be invalid, the block readout inhibiting section 265 inhibits the blocks from being read by the block reading section 250. On the contrary, if the additional data is determined to be valid, the block reading section 250 reads the blocks and sends them to the information processing device 100.
According to the modified embodiment described above, the storage device 110a can determine whether or not the additional data corresponding to the data recorded on the recording medium 200 is valid electronic watermarking data when the recording medium 200 is mounted thereon. The storage device 110a can then inhibit data from being read from the recording medium 200 when the additional data is not correct electronic watermarking data.
a) shows a recording format in the case where the same additional data is recorded multiple times. In the writing process, by determining sizes of the block gaps such as the first gap 620a, the second gap 650a and the Nth gap 680, based on additional data stored in the additional data storing section 230, the recording position acquiring section 255 determines the recording positions of the second record data 630a, the Nth record data 660 and the Nth gap 680. For example, if the first data value of the additional data is “d1”, then the length of the first gap 620a is set to 11, and if the first data value of the additional data is “d2 ”, then the length of the gap 620a is set to 12, and so forth. Thus, the length of a block gap is determined based on each data value of the additional data. When the data value is a particular value such as 0, the corresponding length of a block gap may be set to 0. Thus, the recording medium 200 includes multiple block recording areas for recording the respective blocks obtained by dividing the data to be recorded, such as the first record data 600a, the second record data 630a, the Nth record data 660 and the (N+1)th record data 690, and the recording positions on the recording medium 200 for the block recording areas are determined based on the additional data recorded on the recording medium 200 in association with the data to be recorded. More particularly, the recording positions are determined by determining the sizes of the respective block gaps provided between continuous block storage areas based on the additional data.
In
b) shows a recording format in the case where the recording position of the second record data 630b has been changed. In the recording format of
c) shows a recording format in the case where recording position change information is used, which indicates that a recording position determined based on the additional data has been changed. In
The host controller 782 connects the RAM 720 with the CPU 700 and the graphic controller 775 which access the RAM 720 at a high transmission rate. The CPU 700 operates based on programs stored in the ROM 710 and the RAM 720 to control each part. The graphic controller 775 acquires image data that is generated in a frame buffer provided within the RAM 720 by the CPU 700 to display it on the display device 780. Alternatively, the graphic controller 775 may include therein a frame buffer for storing image data generated by the CPU 700. The input/output controller 784 connects the host controller 782 with the communication interface 730, the hard disk drive 740, the CD-ROM drive 760 and the storage device interface 785, which are relatively high speed input/output devices. The communication interface 730 communicates with other devices via a network. The hard disk drive 740 stores programs and data to be used by the information processing device 100. The CD-ROM drive 760 reads a program or data from a CD-ROM 795 and provides it for the storage device interface 785 via the RAM 720 and the input/output controller 784. The input/output controller 784 accesses the storage devices 110a and 110b based on a request received by the communication interface 730 from other information processing devices connected via the network.
The ROM 710 and relatively low speed input/output devices, such as the flexible disk drive 750 and the input/output chip 770, are connected to the input/output controller 784. The ROM 710 stores a boot program to be executed by the CPU 700 at a startup time of the information processing device 100, and hardware dependent programs for the information improvements have been made should also be included in the technical scope of the present invention.
For example, if the recording medium 200 is a magnetic disk, an optical disk, or a magneto-optical disk, the recording position determining section 235 may determine recording positions such as tracks or sectors where the respective blocks are to be written, based on the additional data.
As is apparent from the above description, according to the present invention, it is possible to store digital data in a storage device with data, which is to be recorded in association with the digital data, added to the digital data without changing the original digital data to be written.
Number | Date | Country | Kind |
---|---|---|---|
2002-306830 | Oct 2002 | JP | national |
This application is a continuation of U.S. patent application Ser. No. 11/395,574, now U.S. Pat. No. 8539181, filed on Mar. 31, 2006, which claims priority to Japanese Patent Application No. 2002-306830, filed on Oct. 22, 2002, and entitled “Storage Device, Program for Controlling Storage Device, Method for Controlling Storage Device and Recording Medium.”
Number | Name | Date | Kind |
---|---|---|---|
4028539 | Jacobs | Jun 1977 | A |
4637023 | Lounsbury et al. | Jan 1987 | A |
4979059 | Sengoku | Dec 1990 | A |
5617432 | Eggenberger et al. | Apr 1997 | A |
5644709 | Austin | Jul 1997 | A |
6009547 | Jaquette et al. | Dec 1999 | A |
6212660 | Joeressen et al. | Apr 2001 | B1 |
6367048 | McAuliffe et al. | Apr 2002 | B1 |
6477127 | Osada et al. | Nov 2002 | B1 |
6751757 | Biskup et al. | Jun 2004 | B2 |
6771668 | Fukunaga et al. | Aug 2004 | B2 |
6836844 | Kori et al. | Dec 2004 | B1 |
6850619 | Hirai | Feb 2005 | B1 |
20040083332 | Kimura et al. | Apr 2004 | A1 |
Number | Date | Country |
---|---|---|
10065912 | Mar 1998 | JP |
11164235 | Jun 1999 | JP |
11250572 | Sep 1999 | JP |
2002124034 | Apr 2002 | JP |
2004005800 | Jan 2004 | JP |
Number | Date | Country | |
---|---|---|---|
20140019700 A1 | Jan 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10689264 | Oct 2003 | US |
Child | 11395574 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11395574 | Mar 2006 | US |
Child | 13937737 | US |