US20120166752A1 - Data processing apparatus and method for recording data - Google Patents
Data processing apparatus and method for recording data Download PDFInfo
- Publication number
- US20120166752A1 US20120166752A1 US13/291,484 US201113291484A US2012166752A1 US 20120166752 A1 US20120166752 A1 US 20120166752A1 US 201113291484 A US201113291484 A US 201113291484A US 2012166752 A1 US2012166752 A1 US 2012166752A1
- Authority
- US
- United States
- Prior art keywords
- block
- data
- compressed
- management information
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
Definitions
- the disclosure herein relates to a data processing apparatus and a method for recording data.
- a virtual tape library is a system in which a tape drive is virtually implemented on a disk device so as to appear to a high-order apparatus, such as a host computer, as if the tape drive were connected (refer to, for example, Japanese Laid-open Patent Publication No. 2005-122433).
- a high-order apparatus such as a host computer
- data is written for each block to the disk device.
- the virtual tape library can be easily implemented without making significant changes to the operation of a legacy physical tape library.
- the virtual tape library can speed up processing, such as backup.
- data may also be compressed when it is written to a disk device or tape drive (refer to, for example, Japanese Laid-open Patent Publication Nos. 2005-99971 and 2008-152778).
- a data compression/uncompression determination is made for each file. For example, the first one of blocks in the data field of a file is compressed and the compression residue ratio of the compressed block is compared with a predetermined threshold. When the compression residue ratio is lower than or equal to the threshold, all of the blocks included in the file are compressed and recorded to a storage device.
- compression residue ratio refers to the ratio (percentage) of the size of compressed data to the size of uncompressed data and is also called a “compression ratio”. A smaller numeric value of the compression residue ratio indicates that the size of compressed data is smaller and the compression efficiency is higher.
- FIG. 18 illustrates a compression residue ratio versus processing time. As illustrated in FIG. 18 , the time needed to process a compressed block includes data transfer time and compression/decompression time.
- the data transfer time is the time needed for transferring data and is proportional to the data size.
- the compression/decompression time is the time needed for compressing/decompressing the data and includes, for example, the time for creating/storing a dictionary table used for compression/decompression and the time for referring to the dictionary table.
- the compression/decompression time is constant, regardless of the data size.
- the compression residual ratio exceeds the specific value (e.g., 90%)
- the amount of data increases compared to a case in which the data is recorded uncompressed.
- a data processing apparatus includes a calculating unit configured to calculate a compression ratio when a block selected from among the plurality of blocks is compressed; a determining unit configured to determine whether a block is to be compressed by comparing the calculated compression ratio with a threshold; a recording unit configured to record the block on the storage device in a compressed or uncompressed state on a basis of a result of the determination; a management information creating unit configured to create a management information in association with data identification information for identifying the data, state information indicating a compressed or uncompressed state is recorded to the management information in association with each block, when the each block is recorded on the storage device; and a storage processing unit configured to store the management information created by the management information creating unit on a memory.
- FIG. 1 is a block diagram schematically illustrating a functional configuration of a virtual tape library system according to one example of an embodiment
- FIG. 2 is block diagram of a hardware configuration of the virtual tape library system according to one example of the embodiment
- FIG. 3 illustrates a tape format for use in the virtual tape library system according to one example of the embodiment
- FIG. 4 illustrates a tape format for use in the virtual tape library system according to one example of the embodiment
- FIG. 5 illustrates a tape format for use in the virtual tape library system according to one example of the embodiment
- FIG. 6 illustrates a tape format for use in the virtual tape library system according to one example of the embodiment
- FIGS. 7A and 7B illustrate a management table in the virtual tape library system according to one example of the embodiment
- FIGS. 8A and 8B illustrate write processing using the management table in the virtual tape library system according to one example of the embodiment
- FIG. 9 is a block diagram schematically illustrating write processing for writing data to a disk array device in the virtual tape library system according to one example of the embodiment.
- FIGS. 10A and 10B illustrate patrol processing in the virtual tape library system according to one example of the embodiment
- FIGS. 11A and 11B illustrate the patrol processing in the virtual tape library system according to one example of the embodiment
- FIG. 12 is a block diagram schematically illustrating the patrol processing in the virtual tape library system according to one example of the embodiment.
- FIG. 13 is a block diagram schematically illustrating migration processing in the virtual tape library system according to one example of the embodiment
- FIG. 14 is a block diagram illustrating an overview of processing for compressed/uncompressed control for a general job transmitted from a host, the processing being performed by the virtual tape library system according to one example of the embodiment;
- FIG. 15 is a flowchart illustrating the write processing in the virtual tape library system according to one example of the embodiment.
- FIG. 16 is a flowchart illustrating the patrol processing in the virtual tape library system according to one example of the embodiment.
- FIG. 17 is a flowchart illustrating the migration processing in the virtual tape library system according to one example of the embodiment.
- FIG. 18 illustrates a compression residue ratio versus processing time.
- FIG. 1 is a block diagram schematically illustrating a functional configuration of a virtual tape library system according to one example of an embodiment.
- FIG. 2 is a block diagram illustrating the hardware of the virtual tape library system.
- a virtual tape library system 1 includes a disk array (a storage device) 24 on which tape operations are virtually realized.
- the virtual tape library system 1 includes a virtual library apparatus 2 and a tape library apparatus 3 .
- the virtual tape library system 1 is coupled to a host 100 , which is a high-order apparatus, through a communications line 50 so as to allow communication and stores data, transmitted from the host 100 , onto the disk array 24 .
- data transmitted from the host 100 is stored in the disk array 24 in a tape format.
- various types of data used by the host 100 are stored in the disk array 24 as a data backup job of the host 100 .
- migration processing described below the data stored in the disk array 24 is moved (saved) to a recording tape 33 in the tape library apparatus 3 , as needed.
- the host 100 has, for example, a function of a backup server and executes a pre-scheduled backup job.
- the host 100 transmits data (backup data) to be stored to the virtual library apparatus 2 and the backup data is stored in the disk array 24 in the virtual library apparatus 2 .
- the backup data is given a predetermined file name for each job. For example, for backup for every day of the week, backup data for the same day of the week is given the same file name.
- Those backup data given the same file name are processed in a predetermined order and in a predetermined volume at the same or substantially the same storage location in the disk array 24 .
- the tape library apparatus 3 includes a robot unit 31 , a recording tape 33 , and a drive unit 32 .
- the tape library apparatus 3 records data, sent from the virtual library apparatus 2 , to the recording tape 33 or reads data recorded on the recording tape 33 and sends the read data to the virtual library apparatus 2 .
- the recording tape 33 is a recording medium that allows sequential data access and storage and is, for example, a magnetic tape, a cartridge tape, or a cassette tape. In the example illustrated in FIG. 2 , multiple recording tapes 33 are placed in the tape library apparatus 3 .
- the robot unit 31 has a mechanism for holding and transporting the recording tape 33 by using an arm (not illustrated) or the like.
- the robot unit 31 transports the recording tape 33 and places it into the drive unit 32 . More specifically, under the control of a layer controller 20 in the virtual library apparatus 2 , the robot unit 31 selects one of the recording tapes 33 . The robot unit 31 then transports the selected recording tape 33 and places it into the drive unit 32 .
- the drive unit 32 writes/reads data to/from the recording tape 33 .
- the drive unit 32 writes data in a tape format to the recording tape 33 placed by the robot unit 31 .
- the virtual tape library system 1 also has a migration function for moving data, stored in the disk array 24 in the virtual library apparatus 2 , to the recording tape 33 in the tape library apparatus 3 .
- the virtual library apparatus 2 includes the layer controller 20 and the disk array 24 .
- the virtual library apparatus 2 is provided between the host 100 and the tape library apparatus 3 to store data, transmitted from the host 100 , into a logical tape volume in the disk array 24 in the tape format.
- the tape format used by the virtual tape library system 1 be a tape format standardized by ISO (International Organization for Standardization), ANSI (American National Standards Institute), JIS (Japanese Industrial Standards), or the like.
- FIGS. 3 to 6 illustrate the tape format used by the virtual tape library system 1 . More specifically, FIG. 3 illustrates a volume format of the tape format, FIG. 4 illustrates volume labels in the volume format, and FIGS. 5 and 6 illustrate file labels in the volume format. In FIGS. 4 to 6 , numeral in bracket “( )” represents the number of bytes.
- data is recorded for each block (data block) in a data field.
- those blocks are processed in sequence from the first position.
- a label identification symbol is a 4-byte character string and is, for example, “VOL1”.
- a volume name is a 6-byte character string and is, for example, “AAAAAA”.
- An owner is a 10-byte character string and is, for example, “FUJITSU-FS”.
- a label identification symbol is a 4-byte character string and is, for example, “HDR1”.
- a file name is also a 17-byte character string and is, for example, “DATA-COMP-FILE”.
- a file serial number is a 6-byte character string and is, for example, “123456”.
- a volume order is a 4-byte character string and is, for example, “0001”, “0002”, . . . , “9999”.
- a file order is a 4-byte character string and is, for example, “0001”, “0002”, . . . , “9999”.
- a creation date is an 8-byte character string and is, for example, “20100506”.
- An expiration date is a 6-byte character string and is, for example, “200506”.
- a block count is a 6-byte character string and is, for example, “000001”, “000002”, . . . , “999999”.
- a label identification symbol is a 4-byte character string and is, for example, “HDR2”.
- a record format is a 1-byte character string and is, for example, “F (fixed-length record)”, “V (variable-length record), or “U (undefined-length record)”.
- a block length is a 5-byte character string and is, for example, “32000”.
- a record length is a 5-byte character string and is, for example, “32000”.
- Each of a recording density and a file position is a 1-byte character string.
- the tape format illustrated in FIGS. 3 to 6 is an example of standardized formats, and a detailed description is not given hereinafter.
- the illustrated example corresponds to a case in which one file is recorded on the tape.
- a typical tape format has the volume name (see FIG. 4 ) and the file name (see FIG. 5 ).
- the volume name and the file name serve as data identification information of identifying/specifying data.
- the disk array 24 is, for example, a RAID (redundant arrays of inexpensive disks) device in which multiple HDDs (hard disk drives) are managed in combination as a redundant storage.
- the disk array 24 provides a virtual storage for the layer controller 20 .
- the layer controller 20 is a server computer that is adapted to be able to flexibly deal with a case in which a change to one layer is needed.
- the layer controller 20 stores transmitted data onto the disk array 24 in the tape format. In accordance with an instruction from the host 100 , the layer controller 20 transmits the data, stored in the disk array 24 , to the host 100 . In addition, in accordance with an instruction from the host 100 , the layer controller 20 performs migration for moving the data, stored in the disk array 24 , to the recording tape 33 in the tape library apparatus 3 .
- the layer controller 20 includes a memory 25 (a recording device) and so on, in addition to a CPU (central processing unit), a RAM (random access memory), a ROM (read only memory), and a HDD (hard disk drive), which are not illustrated.
- the CPU achieves various functions by executing an OS (operating system) and various programs stored in the HDD or the like.
- the memory 25 is, for example, a nonvolatile memory and stores a management table T described below.
- the memory 25 in which the management table T is stored is not limited to a nonvolatile memory.
- the memory 25 may also be implemented by any other form, for example, a recording device, such as the RAM or HDD, for temporarily storing and loading data in order to execute the OS or the programs.
- the layer controller 20 has functions of a write processing unit 21 , a patrol processing unit 22 , and a migration processing unit 23 .
- the write processing unit 21 performs write processing for writing the data, received from the host 100 , to the disk array 24 in the above-described tape format. As illustrated in FIG. 1 , the write processing unit 21 includes a receiving unit 201 , a checking unit 202 , a compression-ratio calculating unit 203 , a recording unit 204 , a determining unit 205 , a management-table creating unit 206 , and a storage processing unit 207 .
- the receiving unit 201 receives, for each block, data to be written to the disk array 24 .
- the received data is stored in a memory (a buffer), which is not illustrated.
- Data for each block may simply be referred to as a “block” hereinafter.
- the checking unit 202 extracts the volume name and the file name from the header field (see FIG. 3 ) of the data that the receiving unit 201 received from the host 100 .
- the checking unit 202 compares the volume name and the file name received from the host 100 with a volume name and a file name in an entry registered in the management table T (data processing information) stored in the memory 25 . Through the comparison, the checking unit 202 checks whether or not an entry corresponding to the received volume name and file name is registered in the management table T. That is, the checking unit 202 checks whether or not a data write processing request transmitted from the host 100 is for write processing to be performed on the same data for the second or subsequent time.
- the compression-ratio calculating unit 203 calculates a compression ratio when a block is compressed using a data compression scheme.
- compression ratio refers to the ratio (percentage) of the size of compressed data to the size of uncompressed data and is also called a “compression residue ratio”.
- the data compression scheme may be implemented by various known schemes, as needed. Examples include Huffman coding, Lempel-Ziv coding, and run-length coding.
- the compression-ratio calculating unit 203 also has a function of a compression processing unit for actually compressing a block by using the aforementioned data compression scheme.
- the compression-ratio calculating unit 203 measures a data size of the compressed block and calculates a compression ratio by using the data size of the compressed block and the data size of the pre-compression block. Without actually compressing a block, the compression-ratio calculating unit 203 may obtain the data size of a compressed block by simulating the data size of the compressed block. Such a data size of a compressed block may be calculated using various known schemes, and a detailed description is not given hereinafter.
- the compression-ratio calculating unit 203 calculates a compression ratio for each block included in the data.
- the determining unit 205 determines whether it is to be stored in a compressed state or in an uncompressed state. More specifically, the determining unit 205 compares the compression ratio of the block, the compression ratio being calculated by the compression-ratio calculating unit 203 , with a certain threshold. When the calculated compression ratio is lower than the threshold, the determining unit 205 determines that the block is to be recorded to the disk array 24 in a compressed state. On the other hand, when the calculated compression ratio is higher than or equal to the threshold, the determining unit 205 determines that the block is to be recorded to the disk array 24 in an uncompressed state.
- the processing time when uncompressed data is written is shorter than the processing time when compressed data is written.
- that specific value of the compression ratio is used as the threshold with which the determining unit 205 determines whether or not the block is to be compressed.
- This threshold is a value that varies depending on a data-bus processing capability of the layer controller 20 , the algorithm of the data compression, or the like. Accordingly, data are compressed with varied compression ratios and are written to the disk array 24 and the processing times for the respective compression ratios are measured, and on the other hand, the same data is written to the disk array 24 without compression and the processing time is measured. It is preferable to compare the processing time with each other and to use, as the above-described threshold, a compression ratio that is a boundary value at which the amount of time taken for processing for a case in which the data is compressed/decompressed and transferred is larger than the amount of time (the data transfer time) taken for the uncompressed data.
- a description in the present embodiment is given of an example of a case in which the threshold with which the determining unit 205 determines whether the block is to be stored in the disk array 24 in a compressed state or an uncompressed state is 90%.
- a result of the determination made by the determining unit 205 is reported to the compression-ratio calculating unit 203 .
- the compression-ratio calculating unit 203 compresses the received block and passes the compressed block to the recording unit 204 .
- the compression-ratio calculating unit 203 passes the received block to the recording unit 204 in an uncompressed state.
- the management-table creating unit 206 serves as a data-processing-information creating unit for creating an entry to be registered in the management table T.
- FIGS. 7A and 7B illustrate the management table T in the virtual tape library system 1 according to one example of the embodiment. More specifically, FIG. 7A illustrates one example of data and FIG. 7B illustrates an entry in the management table T with respect to the data illustrated in FIG. 7A .
- the data field of data includes n blocks.
- each of the blocks included in the data field is shown together with a block number k (k is a natural number of 1 to n) in a bracket “( )”.
- the management table T stores at least one entry serving as data processing information indicating a processing state of data stored in the disk array 24 .
- a compressed/uncompressed state, a patrol pointer, and a last block are associated with a volume name and a file name for identifying and specifying corresponding data.
- the volume name and the file name are data identification information for identifying the data.
- the compressed/uncompressed state is state information indicating in which of a compressed state and an uncompressed state each of the blocks included in the data field of the data is recorded. In the example illustrated in FIG. 7B , “0” indicates a compressed state and “1” indicates an uncompressed state.
- the patrol pointer is information for specifying a block at which patrol processing (described below) is started. More specifically, with respect to data recorded in the disk array 24 , the block number (first-block identification information) for identifying the first block included in continuous blocks in the data field of the data and recorded in the disk array 24 in an uncompressed state is registered as the patrol pointer.
- the management-table creating unit 206 serves as a first-block-identification-information recording unit that records, in the management table T, the patrol pointer in association with the first block included in the series of blocks in the data field of the data and recorded in the storage device in an uncompressed state.
- an entry (data processing information) in which a compressed/uncompressed state serving as the state information is associated with the volume name and the file name serving as the data identification information is stored in the management table T.
- the created management table T is stored in the memory 25 .
- the storage processing unit 207 stores, in the memory 25 , the management table T created by the management-table creating unit 206 .
- the recording unit 204 records the blocks to the disk array 24 in a compressed or uncompressed state.
- the compression-ratio calculating unit 203 compresses the block
- the recording unit 204 records the block to the disk array 24 in a compressed state
- the compression-ratio calculating unit 203 does not compress the block
- the recording unit 204 records the block to the disk array 24 in an uncompressed state.
- the recording unit 204 records the block to the storage device in a compressed or uncompressed state.
- the recording unit 204 records the received block to the storage device in a compressed or uncompressed state in accordance with the compressed/uncompressed state in the entry.
- the recording unit 204 refers to the compressed/uncompressed state associated with the data and recorded in the management table T.
- the recording unit 204 stores, in the disk array 24 , each of the blocks in the data field of the data in a compressed or uncompressed state.
- FIGS. 8A and 8B illustrate write processing using the management table T in the virtual tape library system 1 according to one example of the embodiment. More specifically, FIG. 8A illustrates an entry in the management table T and FIG. 8B illustrates one example of data for the management table T in FIG. 8A .
- a description below will be given of an example of a case in which, when a write instruction is received from the host 100 , corresponding data has a volume name of “VOLAAA” and a file name of “HDRAAA”.
- the entry having the volume name of “VOLAAA” and the file name of “HDRAAA” is already registered in the management table T.
- the checking unit 202 confirms that an entry corresponding to the volume name and the file name of the received data is registered in the management table T in the memory 25 .
- the compression-ratio calculating unit 203 sets the blocks into compressed or uncompressed states in sequence from the first block in the data field of the received data, in accordance with the compressed and uncompressed states in the entry in the management table T. That is, in the example illustrated in FIG. 8A , the compressed and uncompressed sates in the entry indicate that the first block in the data field is in a compressed state and the second to fifth blocks are in uncompressed states. In accordance with the compressed and uncompressed states, the compression-ratio calculating unit 203 sets the first block in the data field into a compressed state and sets the second to fifth blocks into uncompressed states.
- the determining unit 205 re-determines in which of a compressed state and an uncompressed state the block is to be written to the disk array 24 , on the basis of a compression ratio for the block.
- the compression-ratio calculating unit 203 calculates a compression ratio for the block and passes the compression ratio to the determining unit 205 .
- the determining unit 205 compares the compression ratio, calculated by the compression-ratio calculating unit 203 , with a certain threshold. When the calculated compression ratio is higher than or equal to the threshold, the determining unit 205 determines that the block is to be recorded to the disk array 24 in an uncompressed state.
- the compression or un-compression re-determination based on the compression ratio is not performed. This arrangement achieves high-speed processing and can reduce the load of the layer controller 20 .
- the compression-ratio determining unit 203 passes the data of each block, set in a compressed/uncompressed state as described above, to the recording unit 204 and the recording unit 204 records the block, set in a compressed or uncompressed block, to the disk array 24 .
- FIG. 9 is a block diagram schematically illustrating the write processing for writing data to the disk array 24 in the virtual tape library system 1 according to one example of the embodiment.
- the write processing includes file opening processing, data-field write processing, and file closing processing.
- the file name of data to be written is obtained and the header field of the data is written to the disk array 24 .
- a compression ratio for each block in the data field of data to be written is calculated.
- a compression/un-compression determination for each block is made.
- compression processing for storing the block in the disk array 24 in a compressed state or un-compression processing for storing the block in the disk array 24 in an uncompressed state is performed.
- the data-field write processing is performed while reference is being made to the management table T and a block counter.
- the block counter is information (a counter value) for specifying a block to be processed in the write processing and the migration processing (described below) and corresponds to the block number of the corresponding block included in the data.
- an EOF (end of file) field of the data is written to the disk array 24 .
- the patrol processing unit 22 performs patrol processing for updating the management table T created by the management-table creating unit 206 .
- the patrol processing is started, for example, upon reception of an unload command from the host 100 . It is desired that the patrol processing be performed when a predetermined amount of time passes after the last patrol processing was performed.
- the patrol processing unit 22 includes a recalculating unit 221 and an updating unit 222 .
- the recalculating unit 221 recalculates the compression ratio for each block of the data recorded in the disk array 24 .
- the recalculating unit 221 calculates the compression ratio for the block by using a scheme that is similar to the scheme for the compression-ratio calculating unit 203 .
- the recalculating unit 221 sequentially calculates (recalculates) the compression ratio for each of the subsequent blocks included in the data field, starting at the block specified by the patrol pointer in the management table T.
- the updating unit 222 updates, in the management table T, the compressed/uncompressed state of each block. That is, on the basis of the compression ratio recalculated by the recalculating unit 221 , the updating unit 222 determines in which of a compressed state or an uncompressed state the block is to be stored.
- the updating unit 222 compares the compression ratio of the block, the compression ratio being recalculated by the recalculating unit 221 , with a certain threshold. When the recalculated compression ratio is lower than the threshold, it is determined that the block is to be compressed. When the recalculated compression ratio is higher than or equal to the threshold, it is determined that the block is not to be compressed.
- the updating unit 222 updates, in the management table T, the compressed/uncompressed state of the block with the determination result based on the recalculated compression ratio.
- the block stored in the disk array 24 is not rewritten in a compressed or uncompressed state and the management table T is merely updated.
- FIGS. 10A , 10 B, 11 A, and 11 B illustrate patrol processing in the virtual tape library system 1 according to one example of the embodiment. More specifically, FIG. 10A illustrates one example of data before the patrol processing is performed and FIG. 10B illustrates an entry in the management table T with respect to the data illustrated in FIG. 10A . FIG. 11A illustrates one example of data after the patrol processing is performed and FIG. 11B illustrates an entry in the management table T with respect to the data illustrated in FIG. 11A .
- the data field of the data includes n blocks.
- each of the blocks included in the data field is shown together with a block number k (k is a natural number of 1 to n) in a bracket “( )”.
- a “compressed” state is set in the compressed/uncompressed state in the entry of the corresponding data in the management table T with respect to the (n ⁇ 1) block, as illustrated in FIG. 11B .
- FIG. 12 is a block diagram schematically illustrating the patrol processing in the virtual tape library system 1 according to one example of the embodiment.
- the patrol processing includes timer start and data-field read processing.
- the timer is started upon reception of an unload command from the host 100 , and when a predetermined time passes after the last patrol processing was performed, the patrol processing is started.
- the data-field read processing is performed while reference is being made to the patrol pointer and the management table T.
- the patrol pointer is obtained by referring to the entry of the corresponding data in the management table T.
- the compression ratio of each of the subsequent blocks included in the data field is calculated (recalculated), starting at the block specified by the patrol pointer. On the basis of the recalculated compression ratio, the compressed/uncompressed state for each corresponding block is updated in the management table T.
- the migration processing unit 23 performs migration processing for moving the data stored in the storage device to the recording tape (recording medium) 33 .
- the migration processing is started when the volume name and the file name (the data identification information) for identifying the data to be migrated are received from the host 100 in conjunction with a migration execution instruction.
- the migration processing unit 23 includes a data-save processing unit 231 and a management-table referring unit 232 .
- the management-table referring unit 232 (which serves as a data-processing-information referring unit) refers to the management table T to check whether or not an entry for the data to be migrated is registered. That is, the management-table referring unit 232 checks whether or not the volume name and the file name of the data to be migrated are registered in the management table T.
- the data-save processing unit 231 (which serves a medium recording unit) controls the tape library apparatus 3 to store the data, stored in the disk array 24 , onto the recording tape 33 .
- the data-save processing unit 231 obtains the compressed/uncompressed state in the entry.
- the data-save processing unit 231 records the data to be migrated, the data being stored in the disk array 24 , to the recording tape 33 in a compressed or uncompressed state.
- FIG. 13 is a block diagram schematically illustrating the migration processing in the virtual tape library system 1 according to one example of the embodiment.
- the migration processing includes file opening processing, data-field save processing, and file closing processing.
- data to be migrated is obtained from the disk array 24 .
- the file name of the data is then obtained and the header field of the data is written to the recording tape 33 .
- the entry for the corresponding data is referred to in the management table T, and in accordance with the compressed/uncompressed state in the entry, each of the blocks included in the data field of the data to be migrated is processed. That is, with respect to each block, compression processing for storing the block on the recording tape 33 in a compressed state or un-compression processing for storing the block on the recording tape 33 in an uncompressed state is performed in accordance with the compressed/uncompressed state in the management table T.
- the data-field save processing is performed while reference is being made to the management table T and a block counter. In the file closing processing, the EOF field of the data is written to the recording tape 33 .
- the host 100 transmits uncompressed data to the layer controller 20 .
- the write processing unit 21 in the layer controller 20 processes sequentially the blocks from the first block in the data field and writes the blocks to the disk array 24 in a compressed or uncompressed state. More specifically, when the compression ratio of the block is lower than the threshold (e.g., 90%), the write processing unit 21 writes the block to the disk array 24 in a compressed state, and when the compression ratio of the block is higher than or equal to the threshold, the write processing unit 21 writes the block to the disk array 24 in an uncompressed state.
- the volume name, the file name, the compressed/uncompressed state, and the patrol pointer of the data are stored in the memory 25 in the layer controller 20 . In this case, the block whose compression ratio has become higher than the threshold to the last block of the file are processed without compression.
- the block number of the block next to the block whose compression residue ratio becomes higher than the threshold is stored in the management table T in the memory 25 in the layer controller 20 as the patrol pointer.
- the host 100 transmits an unload command to the layer controller 20 .
- the patrol processing unit 22 starts the patrol processing on the data in the disk array 24 . More specifically, the patrol processing unit 22 measures the compression ratio for the block specified by the patrol pointer. When the measured compression ratio is lower than the threshold, the patrol processing unit 22 marks “compressed” in the management table T in the layer controller 20 so that the block is to be compressed. Similarly, when the compression ratio is higher than or equal to the threshold, the patrol processing unit 22 marks “uncompressed” in the management table T in the layer controller 20 so that the block is not to be compressed.
- the patrol processing unit 22 performs the patrol processing on the data in the disk array 24 at regular intervals and repeatedly measures the compression ratio for the block specified by the patrol pointer. That is, when the compression ratio is lower than the threshold, the patrol processing unit 22 marks “compressed” in the compressed/uncompressed state in the management table T in the layer controller 20 so that the block is to be processed, thereby updating the management table T. Similarly, when the compression ratio is higher than or equal to the threshold, the patrol processing unit 22 marks “uncompressed” in the compressed/uncompressed state in the management table T in the layer controller 20 so that the block is not to be compressed.
- the migration processing unit 23 performs compression/un-compression control on each block in the data field in accordance with the compressed/uncompressed state in the management table T stored in the memory 25 in the layer controller 20 and stores (migrates) the data to the recording tape 33 via the drive unit 32 . More specifically, the migration processing unit 23 stores, in a compressed state, the block that is registered as “compressed” in the compressed/uncompressed state in the management table T and stores, in an uncompressed state, the block that is registered as “uncompressed” in the compressed/uncompressed state.
- processing for compressing the uncompressed data or decompressing the compressed data is performed in accordance with the management table T.
- processing for extracting the data is performed to generate uncompressed data.
- the host 100 transmits uncompressed data to the layer controller 20 .
- the write processing unit 21 sequentially writes each block to the disk array 24 in accordance with the form of the compressed/uncompressed state in the management table T.
- the write processing unit 21 writes the blocks up to the last block to the disk array 24 in an uncompressed state.
- the patrol pointer is then returned to the first one of the uncompressed blocks.
- the host 100 transmits an unload command to the layer controller 20 at the end of the job.
- the patrol processing unit 22 starts patrol of the data in the disk array 24 in response to the unload command. More specifically, the patrol processing unit 22 measures the compression ratio for the block specified by the patrol pointer. When the compression ratio is lower than the threshold, the layer controller 20 marks “compressed” in the management table T. When the compression ratio is higher than or equal to the threshold, the layer controller 20 marks “uncompressed” in the management table T.
- the migration processing unit 23 stores the data on the recording tape 33 in accordance with the compressed/uncompressed state in the management table T stored in the memory 25 in the layer controller 20 . That is, the migration processing unit 23 stores, on the recording tape 33 in a compressed state, the block that is registered as “compressed” in the compressed/uncompressed state in the management table T and stores, on the recording tape 33 in an uncompressed state, the block that is registered as “uncompressed”.
- processing for compressing the uncompressed data or decompressing (extracting) the compressed data is performed in accordance with the compressed/uncompressed state in the management table T.
- the receiving unit 201 receives the data and performs file opening processing in step A 10 .
- the header field of the data is written to the disk array 24 .
- This block counter corresponds to the block number of a block included in the data field.
- step A 30 the determining unit 205 checks whether or not an entry corresponding to the volume name and the file name of the data that the receiving unit 201 received along with a write instruction from the host 100 is registered in the management table T stored in the memory 25 . That is, in step A 30 , the determining unit 205 checks whether or not the data-write processing request transmitted from the host 100 is for write processing to be performed on the same data for the second or subsequent time.
- step A 40 the patrol pointer in the entry is updated first. More specifically, the value of the block counter is set for the patrol pointer to thereby update the patrol pointer.
- step A 50 the compression-ratio calculating unit 203 calculates a compression ratio for, in the data field, the block specified by the block counter.
- step A 60 the determining unit 205 compares the calculated compression ratio with a certain threshold (90%) to thereby determine in which of a compressed state or an uncompressed state the block is to be stored in the disk array 24 .
- step A 70 When the compression ratio is lower than the threshold (NO route from step A 60 ), the process proceeds to step A 70 in which the recording unit 204 writes the block to the disk array 24 in a compressed state.
- step A 80 with respect the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the management-table creating unit 206 sets “0” indicating “compressed” in association with the block, thereby updating the management table T.
- step A 90 the block counter is incremented (i.e., Block Count+1).
- step A 100 it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- step A 100 When the block is not the last block of the series of blocks included in the data field (NO route from step A 100 ), the process returns to step A 40 .
- the process proceeds to step A 280 in which file closing processing is performed and the EOF field of the data is written to the disk array 24 . Thereafter, the processing ends.
- step A 110 When the compression ratio is higher than or equal to the threshold (YES route from A 60 ), the process proceeds to step A 110 in which the recording unit 204 writes the block to the disk array 24 in an uncompressed state.
- step A 120 with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the management-table creating unit 206 sets “1” indicating “uncompressed” in association with the block, thereby updating the management table T.
- step A 130 the block counter is incremented (i.e., Block Count+1).
- step A 140 it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- step A 140 When the block is not the last block of the series of blocks included in the data field (NO route from step A 140 ), the process returns to step A 110 . That is, the block whose compression ratio has become higher than the threshold to the last block of the file are processed without compression.
- the process proceeds to step A 280 and then the processing ends.
- the entry corresponding to the volume name and the file name of the received data is registered in the management table T, i.e., when the data write processing request transmitted from the host 100 is for write processing performed for the second or subsequent time (YES route from A 30 ), the entry corresponding to the volume name and the file name of the received data is referred to in the management table T.
- step A 150 the management table T is referred to check whether or not the block corresponding to the block counter is a block to be compressed.
- the process proceeds to step A 230 in which the block is written to the disk array 24 in an uncompressed state.
- step A 240 with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the management-table creating unit 206 sets “1” indicating “uncompressed” in association with the block, thereby updating the management table T.
- step A 180 when a block that has been processed as compressed data in the previous processing is determined in processing in step A 180 (described below) to have a compression ratio that is higher than or equal to the threshold and is determined to be “uncompressed”, this change to the “uncompressed” state can be correctly reflected in the management table T.
- step A 250 the block counter is incremented (i.e., Block Count+1).
- step A 260 it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- step A 270 it is checked whether or not the number of blocks in the data field of the data has increased from the number of blocks registered in the management table T. That is, it is checked whether or not the value (the block count) of the block counter is larger than the block number (the table last block) n of the rearmost block.
- the process returns to step A 230 . That is, when it is found that the number of blocks has increased, the subsequent block to the last block of the file are processed without compression.
- the process returns to step A 150 .
- step A 280 When the block is the last block of the series of blocks included in the data field (YES route from A 260 ), the process proceeds to step A 280 and then the processing ends.
- step A 160 the patrol pointer in the entry is first updated. More specifically, the value of the block counter is set for the patrol pointer to thereby update the patrol pointer. As a result, when the block is a block to be compressed, the value of the block counter specifying the block is set for the patrol pointer. That is, the patrol pointer indicates a position at which the state of the block is changed from a compressed state to an uncompressed state (i.e., the first position of an uncompressed block).
- step A 170 the compression-ratio calculating unit 203 calculates a compression ratio for, in the data field, the block specified by the block counter.
- step A 180 the determining unit 205 compares the calculated compression ratio with the certain threshold (90%) to thereby determine in which of a compressed state or an uncompressed state the block is to be stored in the disk array 24 .
- step A 190 in which the recording unit 204 writes the block to the disk array 24 in a compressed state.
- step A 200 with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the management-table creating unit 206 sets “0” indicating “compressed” in association with the block, thereby updating the management table T.
- step A 210 the block counter is incremented (i.e., Block Count+1).
- step A 220 it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost of the series of blocks.
- step A 220 When the block is not the last block of the series of blocks included in the data field (NO route from step A 220 ), the process returns to step A 160 .
- the process proceeds to step A 280 in which file closing processing is performed and the EOF field of the data is written to the disk array 24 . Thereafter, the processing ends.
- step B 10 to B 90 the patrol processing in the virtual tape library system 1 according to one example of the embodiment will be described with reference to a flowchart (steps B 10 to B 90 ) illustrated in FIG. 16 .
- the patrol processing is performed while the management table T is stored in the memory 25 .
- the patrol processing is started upon reception of an unload command transmitted from the host 100 at the end of a job.
- the patrol processing unit 22 waits to receive the unload command from the host 100 (refer to step B 10 and NO route from step B 10 ).
- the process proceeds to step B 20 in which the patrol processing unit 22 checks whether or not a predetermined time has passed after the last patrol processing was performed. When the predetermined time has not passed (NO route from step B 20 ), the process returns to step B 10 .
- the process proceeds to step B 30 in which the patrol pointer registered in the entry in the management table T is set for the patrol counter (P Count).
- the patrol counter is information (a counter value) for specifying a block to be processed in the patrol processing and corresponds to the block number of the block included in data.
- step B 40 the recalculating unit 221 calculates a compression value for, in the data field, the block specified by the patrol counter.
- step B 50 the recalculating unit 221 checks whether or not the calculated compression ratio is higher than or equal to the certain threshold (e.g., 90%). When a result of the checking indicates that the calculated compression ratio is higher than or equal to the threshold (90%) (YES route from B 50 ), the process proceeds to step B 70 .
- step B 70 with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the updating unit 222 sets “1” indicating “uncompressed” in association with the block.
- the management table T is updated.
- step B 60 With respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the updating unit 222 sets “0” indicating “compressed” in association with the block. Thus, the management table T is updated.
- step B 90 the patrol counter is incremented (i.e., P Count+1). Thereafter, the process returns to step B 40 .
- the patrol processing ends.
- steps C 10 to C 220 The migration processing in the virtual tape library system 1 according to one example of the embodiment will now be described with reference to a flowchart (steps C 10 to C 220 ) illustrated in FIG. 17 .
- the migration processing unit 23 When the volume name and the file name for identifying data to be migrated are received from the host 100 in conjunction with a migration execution instruction, the migration processing unit 23 performs file opening processing in step C 10 . In the file opening processing, the data-save processing unit 231 saves the header field of the data to the recording tape 33 .
- This block counter corresponds to the block number of a block included in the data.
- step C 170 the management table T is referred to check whether or not the block corresponding to the block counter is a block to be compressed.
- the process proceeds to step C 190 in which the data-save processing unit 231 writes the block to the recording tape 33 in an uncompressed state.
- step C 180 the data-save processing unit 231 writes the block to the recording tape 33 in a compressed state.
- step C 200 the block counter is incremented (i.e., Block Count+1).
- step C 210 it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, a determination is made as to whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- step C 210 When the block is not the last block of the series of blocks included in the data field (NO route from step C 210 ), the process returns to step C 170 .
- the process proceeds to step C 220 in which file closing processing is performed and the EOF field of the data is written to the disk array 24 . Thereafter, the processing ends.
- step C 40 the management table T is referred to check whether or not the block corresponding to the block counter is a block to be compressed.
- the process proceeds to step C 120 in which the data-save processing unit 231 writes the block to the recording tape 33 in an uncompressed state.
- step C 130 with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the migration processing unit 23 sets “1” indicating “uncompressed” in association with the block, thereby updating the management table T.
- step C 140 the migration processing unit 23 increments the block-counter by 1 (i.e., Block Count+1).
- step C 150 it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- step C 160 the migration processing unit 23 checks whether or not the number of blocks in the data field of the data has increased from the number of blocks registered in the management table T. That is, the migration processing unit 23 checks whether or not the value (the block count) of the block counter is larger than the block number (the table last block) n of the rearmost block.
- the process returns to step C 120 . That is, when it is found that the number of blocks has increased, the subsequent block to the last block of the file are processed without compression.
- the process returns to step C 40 .
- step C 220 When the block is the last block of the series of blocks included in the data field (YES route from C 150 ), the process proceeds to step C 220 and then the processing ends.
- step C 50 the migration processing unit 23 first updates the patrol pointer. More specifically, the value of the block counter is set for the patrol pointer to thereby update the patrol pointer.
- step C 60 the migration processing unit 23 calculates a compression ratio for, in the data field, the block specified by the block counter.
- the migration processing unit 23 compares the calculated compression ratio with the certain threshold (90%) to thereby determine in which of a compressed state or an uncompressed state the block is to be stored on the recording tape 33 .
- step C 120 When the compression ratio is higher than or equal to the threshold (YES route from C 70 ), the process proceeds to step C 120 .
- step C 80 the data-save processing unit 231 saves the block to the recording tape 33 in a compressed state.
- the migration processing unit 23 sets “0” indicating “compressed” in association with the block, thereby updating the management table T.
- step C 100 the block counter is incremented (i.e., Block Count+1).
- step C 110 it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- step C 110 When the block is not the last block of the series of blocks included in the data field (NO route from step C 110 ), the process returns to step C 50 . When the block is the last block of the series of blocks included in the data field (YES route from C 110 ), the process proceeds to step C 220 and then the processing ends.
- the migration processing unit 23 has a function (such as the compression-ratio calculating unit 203 ) for calculating a compression ratio for each block, a function (such as the determining unit 205 ) for comparing the calculated compression ratio with the threshold, and a function (such as the management-table creating unit 206 ) for updating the management table T.
- a function such as the compression-ratio calculating unit 203
- a function such as the determining unit 205
- the management-table creating unit 206 for updating the management table T.
- the CPU of the layer controller 20 executes a data processing program to thereby cause it to function as the write processing unit 21 , the patrol processing unit 22 , and the migration processing unit 23 .
- the program (the data processing program) for realizing the functions of the write processing unit 21 , the patrol processing unit 22 , and the migration processing unit 23 is supplied in the form of a computer-readable recording medium, such as a flexible disk, a CD (such as CD-ROM, CD-R, or CD-RW), a DVD (such as DVD-ROM, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, or HD DVD), a Blu-ray disc, an optical disk, or a magneto-optical disk.
- a computer then reads the program from the recording medium, transfers the read program to an internal storage device or an external storage device, and stores it therein.
- the program may also be pre-stored on, for example, a storage device (a recording medium), such as a magnetic disk, an optical disk, or a magneto-optical disk and may be supplied to the computer from the storage device through a communication path.
- the program stored in the internal storage device e.g., a RAM or ROM (not illustrated) in the present embodiment
- a microprocessor a CPU in the present embodiment
- the program recorded on the recording medium may be read by the computer for execution.
- the term “computer” in the present embodiment refers to a concept including hardware and an operating system, the hardware operating under the control of the operating system.
- the hardware When the hardware is operable on an application program without use of the operating system, the hardware itself corresponds to the computer.
- the hardware has at least a microprocessor, such as a CPU, and means for reading the computer program recorded on the recording medium.
- the layer controller 20 has a function of the computer.
- the virtual tape library system 1 allows a compression/uncompression determination for each block to be made by referring to the management table T, without calculating a compression ratio for the block.
- the write processing for writing data to the disk array 24 can be sped up and the load of the layer controller 20 can also be reduced.
- the compression/uncompression determination for each block can be made, so that the data write processing can be sped up.
- the migration processing for moving data in the disk array 24 to the recording tape 33 it is possible to speed up the processing for writing (saving) the data to the recording tape 33 by referring to the management table T and it is also possible to reduce the load of the layer controller 20 .
- the compression/uncompression processing can be performed for each block of the data. As a result, the data size can be reduced and the disk array 24 and the recording tape 33 can be operated with efficiency.
- performing the patrol processing allows information in the management table T to be matched with the state of the modified data and also allows the data write processing performance and the save processing to be increased.
- the management table T is updated while the migration processing of data is performed. This arrangement allows uncompleted patrol processing to be completed, thereby enhancing convenience.
- the block whose data compression ratio has become higher than the threshold to the last block of a file are processed without compression.
- the subsequent block to the last block of a file are processed without compression.
- the blocks can be stored in an unprocessed state and the reliability of the data is improved.
- the management scheme is not limited thereto and may be realized by any other scheme.
Abstract
Description
- This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2010-287478, filed on Dec. 24, 2010, the entire contents of which are incorporated herein by reference.
- The disclosure herein relates to a data processing apparatus and a method for recording data.
- A virtual tape library (VTL) is a system in which a tape drive is virtually implemented on a disk device so as to appear to a high-order apparatus, such as a host computer, as if the tape drive were connected (refer to, for example, Japanese Laid-open Patent Publication No. 2005-122433). In the technology of the virtual tape library, data is written for each block to the disk device.
- The virtual tape library can be easily implemented without making significant changes to the operation of a legacy physical tape library. In addition, the virtual tape library can speed up processing, such as backup.
- In the virtual tape library, data may also be compressed when it is written to a disk device or tape drive (refer to, for example, Japanese Laid-open Patent Publication Nos. 2005-99971 and 2008-152778). In the known data compression schemes for the virtual disk library, a data compression/uncompression determination is made for each file. For example, the first one of blocks in the data field of a file is compressed and the compression residue ratio of the compressed block is compared with a predetermined threshold. When the compression residue ratio is lower than or equal to the threshold, all of the blocks included in the file are compressed and recorded to a storage device.
- The term “compression residue ratio” as used herein refers to the ratio (percentage) of the size of compressed data to the size of uncompressed data and is also called a “compression ratio”. A smaller numeric value of the compression residue ratio indicates that the size of compressed data is smaller and the compression efficiency is higher.
-
FIG. 18 illustrates a compression residue ratio versus processing time. As illustrated inFIG. 18 , the time needed to process a compressed block includes data transfer time and compression/decompression time. - The data transfer time is the time needed for transferring data and is proportional to the data size. The compression/decompression time is the time needed for compressing/decompressing the data and includes, for example, the time for creating/storing a dictionary table used for compression/decompression and the time for referring to the dictionary table. The compression/decompression time is constant, regardless of the data size.
- Accordingly, there is a problem in that compressed data whose compression residual ratio exceeds a specific value (90% in the example illustrated in
FIG. 18 ) needs a longer processing time than the processing time for a case in which the data is recorded to an uncompressed state that does not need the compression/decompression time. - In addition, for the compressed data, accompanying information, such as a compression dictionary, also needs to be recorded. Thus, when the compression residual ratio exceeds the specific value (e.g., 90%), the amount of data increases compared to a case in which the data is recorded uncompressed.
- According to one aspect of the present invention, a data processing apparatus includes a calculating unit configured to calculate a compression ratio when a block selected from among the plurality of blocks is compressed; a determining unit configured to determine whether a block is to be compressed by comparing the calculated compression ratio with a threshold; a recording unit configured to record the block on the storage device in a compressed or uncompressed state on a basis of a result of the determination; a management information creating unit configured to create a management information in association with data identification information for identifying the data, state information indicating a compressed or uncompressed state is recorded to the management information in association with each block, when the each block is recorded on the storage device; and a storage processing unit configured to store the management information created by the management information creating unit on a memory.
- The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
-
FIG. 1 is a block diagram schematically illustrating a functional configuration of a virtual tape library system according to one example of an embodiment; -
FIG. 2 is block diagram of a hardware configuration of the virtual tape library system according to one example of the embodiment; -
FIG. 3 illustrates a tape format for use in the virtual tape library system according to one example of the embodiment; -
FIG. 4 illustrates a tape format for use in the virtual tape library system according to one example of the embodiment; -
FIG. 5 illustrates a tape format for use in the virtual tape library system according to one example of the embodiment; -
FIG. 6 illustrates a tape format for use in the virtual tape library system according to one example of the embodiment; -
FIGS. 7A and 7B illustrate a management table in the virtual tape library system according to one example of the embodiment; -
FIGS. 8A and 8B illustrate write processing using the management table in the virtual tape library system according to one example of the embodiment; -
FIG. 9 is a block diagram schematically illustrating write processing for writing data to a disk array device in the virtual tape library system according to one example of the embodiment; -
FIGS. 10A and 10B illustrate patrol processing in the virtual tape library system according to one example of the embodiment; -
FIGS. 11A and 11B illustrate the patrol processing in the virtual tape library system according to one example of the embodiment; -
FIG. 12 is a block diagram schematically illustrating the patrol processing in the virtual tape library system according to one example of the embodiment; -
FIG. 13 is a block diagram schematically illustrating migration processing in the virtual tape library system according to one example of the embodiment; -
FIG. 14 is a block diagram illustrating an overview of processing for compressed/uncompressed control for a general job transmitted from a host, the processing being performed by the virtual tape library system according to one example of the embodiment; -
FIG. 15 is a flowchart illustrating the write processing in the virtual tape library system according to one example of the embodiment; -
FIG. 16 is a flowchart illustrating the patrol processing in the virtual tape library system according to one example of the embodiment; -
FIG. 17 is a flowchart illustrating the migration processing in the virtual tape library system according to one example of the embodiment; and -
FIG. 18 illustrates a compression residue ratio versus processing time. - A virtual tape library system according to an embodiment will be described below with reference to the accompanying drawings.
-
FIG. 1 is a block diagram schematically illustrating a functional configuration of a virtual tape library system according to one example of an embodiment.FIG. 2 is a block diagram illustrating the hardware of the virtual tape library system. - A virtual
tape library system 1 includes a disk array (a storage device) 24 on which tape operations are virtually realized. - As illustrated in
FIG. 2 , the virtualtape library system 1 includes avirtual library apparatus 2 and atape library apparatus 3. The virtualtape library system 1 is coupled to ahost 100, which is a high-order apparatus, through acommunications line 50 so as to allow communication and stores data, transmitted from thehost 100, onto thedisk array 24. - In the virtual
tape library system 1, data transmitted from thehost 100 is stored in thedisk array 24 in a tape format. For example, various types of data used by thehost 100 are stored in thedisk array 24 as a data backup job of thehost 100. Through migration processing described below, the data stored in thedisk array 24 is moved (saved) to arecording tape 33 in thetape library apparatus 3, as needed. - The
host 100 has, for example, a function of a backup server and executes a pre-scheduled backup job. For the backup job, thehost 100 transmits data (backup data) to be stored to thevirtual library apparatus 2 and the backup data is stored in thedisk array 24 in thevirtual library apparatus 2. The backup data is given a predetermined file name for each job. For example, for backup for every day of the week, backup data for the same day of the week is given the same file name. - In general, for a routine job such as a backup job, when the file name of one file matches, the number of blocks included in the data field of the data and the compressed/uncompressed data properties thereof tend to mostly match the other file.
- Those backup data given the same file name are processed in a predetermined order and in a predetermined volume at the same or substantially the same storage location in the
disk array 24. - The
tape library apparatus 3 includes arobot unit 31, arecording tape 33, and adrive unit 32. Thetape library apparatus 3 records data, sent from thevirtual library apparatus 2, to therecording tape 33 or reads data recorded on therecording tape 33 and sends the read data to thevirtual library apparatus 2. - The
recording tape 33 is a recording medium that allows sequential data access and storage and is, for example, a magnetic tape, a cartridge tape, or a cassette tape. In the example illustrated inFIG. 2 ,multiple recording tapes 33 are placed in thetape library apparatus 3. - The
robot unit 31 has a mechanism for holding and transporting therecording tape 33 by using an arm (not illustrated) or the like. Therobot unit 31 transports therecording tape 33 and places it into thedrive unit 32. More specifically, under the control of alayer controller 20 in thevirtual library apparatus 2, therobot unit 31 selects one of therecording tapes 33. Therobot unit 31 then transports the selectedrecording tape 33 and places it into thedrive unit 32. - The
drive unit 32 writes/reads data to/from therecording tape 33. Thedrive unit 32 writes data in a tape format to therecording tape 33 placed by therobot unit 31. - The virtual
tape library system 1 also has a migration function for moving data, stored in thedisk array 24 in thevirtual library apparatus 2, to therecording tape 33 in thetape library apparatus 3. - The
virtual library apparatus 2 includes thelayer controller 20 and thedisk array 24. Thevirtual library apparatus 2 is provided between thehost 100 and thetape library apparatus 3 to store data, transmitted from thehost 100, into a logical tape volume in thedisk array 24 in the tape format. - It is desired that the tape format used by the virtual
tape library system 1 be a tape format standardized by ISO (International Organization for Standardization), ANSI (American National Standards Institute), JIS (Japanese Industrial Standards), or the like. -
FIGS. 3 to 6 illustrate the tape format used by the virtualtape library system 1. More specifically,FIG. 3 illustrates a volume format of the tape format,FIG. 4 illustrates volume labels in the volume format, andFIGS. 5 and 6 illustrate file labels in the volume format. InFIGS. 4 to 6 , numeral in bracket “( )” represents the number of bytes. - As illustrated in
FIG. 3 , in the tape format, data is recorded for each block (data block) in a data field. For writing/reading data, those blocks are processed in sequence from the first position. - In the example illustrated in
FIG. 4 , a label identification symbol is a 4-byte character string and is, for example, “VOL1”. A volume name is a 6-byte character string and is, for example, “AAAAAA”. An owner is a 10-byte character string and is, for example, “FUJITSU-FS”. - In the example illustrated in
FIG. 5 , a label identification symbol is a 4-byte character string and is, for example, “HDR1”. A file name is also a 17-byte character string and is, for example, “DATA-COMP-FILE”. A file serial number is a 6-byte character string and is, for example, “123456”. A volume order is a 4-byte character string and is, for example, “0001”, “0002”, . . . , “9999”. A file order is a 4-byte character string and is, for example, “0001”, “0002”, . . . , “9999”. A creation date is an 8-byte character string and is, for example, “20100506”. An expiration date is a 6-byte character string and is, for example, “200506”. A block count is a 6-byte character string and is, for example, “000001”, “000002”, . . . , “999999”. - In the example illustrated in
FIG. 6 , a label identification symbol is a 4-byte character string and is, for example, “HDR2”. A record format is a 1-byte character string and is, for example, “F (fixed-length record)”, “V (variable-length record), or “U (undefined-length record)”. A block length is a 5-byte character string and is, for example, “32000”. A record length is a 5-byte character string and is, for example, “32000”. Each of a recording density and a file position is a 1-byte character string. - The tape format illustrated in
FIGS. 3 to 6 is an example of standardized formats, and a detailed description is not given hereinafter. The illustrated example corresponds to a case in which one file is recorded on the tape. - A typical tape format has the volume name (see
FIG. 4 ) and the file name (seeFIG. 5 ). In the present embodiment, the volume name and the file name serve as data identification information of identifying/specifying data. - The
disk array 24 is, for example, a RAID (redundant arrays of inexpensive disks) device in which multiple HDDs (hard disk drives) are managed in combination as a redundant storage. Thedisk array 24 provides a virtual storage for thelayer controller 20. - Through distribution of server processing to multiple layers, the
layer controller 20 is a server computer that is adapted to be able to flexibly deal with a case in which a change to one layer is needed. - In accordance with an instruction from the
host 100, thelayer controller 20 stores transmitted data onto thedisk array 24 in the tape format. In accordance with an instruction from thehost 100, thelayer controller 20 transmits the data, stored in thedisk array 24, to thehost 100. In addition, in accordance with an instruction from thehost 100, thelayer controller 20 performs migration for moving the data, stored in thedisk array 24, to therecording tape 33 in thetape library apparatus 3. - The
layer controller 20 includes a memory 25 (a recording device) and so on, in addition to a CPU (central processing unit), a RAM (random access memory), a ROM (read only memory), and a HDD (hard disk drive), which are not illustrated. The CPU achieves various functions by executing an OS (operating system) and various programs stored in the HDD or the like. Thememory 25 is, for example, a nonvolatile memory and stores a management table T described below. - The
memory 25 in which the management table T is stored is not limited to a nonvolatile memory. Thememory 25 may also be implemented by any other form, for example, a recording device, such as the RAM or HDD, for temporarily storing and loading data in order to execute the OS or the programs. - As illustrated in
FIG. 1 , thelayer controller 20 has functions of awrite processing unit 21, apatrol processing unit 22, and amigration processing unit 23. - The
write processing unit 21 performs write processing for writing the data, received from thehost 100, to thedisk array 24 in the above-described tape format. As illustrated inFIG. 1 , thewrite processing unit 21 includes a receivingunit 201, achecking unit 202, a compression-ratio calculating unit 203, arecording unit 204, a determiningunit 205, a management-table creating unit 206, and astorage processing unit 207. - The receiving
unit 201 receives, for each block, data to be written to thedisk array 24. The received data is stored in a memory (a buffer), which is not illustrated. Data for each block may simply be referred to as a “block” hereinafter. - The
checking unit 202 extracts the volume name and the file name from the header field (seeFIG. 3 ) of the data that the receivingunit 201 received from thehost 100. Thechecking unit 202 then compares the volume name and the file name received from thehost 100 with a volume name and a file name in an entry registered in the management table T (data processing information) stored in thememory 25. Through the comparison, thechecking unit 202 checks whether or not an entry corresponding to the received volume name and file name is registered in the management table T. That is, thechecking unit 202 checks whether or not a data write processing request transmitted from thehost 100 is for write processing to be performed on the same data for the second or subsequent time. - The compression-
ratio calculating unit 203 calculates a compression ratio when a block is compressed using a data compression scheme. The term “compression ratio” as used herein refers to the ratio (percentage) of the size of compressed data to the size of uncompressed data and is also called a “compression residue ratio”. The data compression scheme may be implemented by various known schemes, as needed. Examples include Huffman coding, Lempel-Ziv coding, and run-length coding. - The compression-
ratio calculating unit 203 also has a function of a compression processing unit for actually compressing a block by using the aforementioned data compression scheme. - For example, after compressing a block by using the aforementioned compression scheme, the compression-
ratio calculating unit 203 measures a data size of the compressed block and calculates a compression ratio by using the data size of the compressed block and the data size of the pre-compression block. Without actually compressing a block, the compression-ratio calculating unit 203 may obtain the data size of a compressed block by simulating the data size of the compressed block. Such a data size of a compressed block may be calculated using various known schemes, and a detailed description is not given hereinafter. - When a result of the checking performed by the
checking unit 202 indicates that an entry corresponding to the received volume name and file name is not stored in the management table T, the compression-ratio calculating unit 203 calculates a compression ratio for each block included in the data. - When the block received from the
host 100 is to be stored in thedisk array 24, the determiningunit 205 determines whether it is to be stored in a compressed state or in an uncompressed state. More specifically, the determiningunit 205 compares the compression ratio of the block, the compression ratio being calculated by the compression-ratio calculating unit 203, with a certain threshold. When the calculated compression ratio is lower than the threshold, the determiningunit 205 determines that the block is to be recorded to thedisk array 24 in a compressed state. On the other hand, when the calculated compression ratio is higher than or equal to the threshold, the determiningunit 205 determines that the block is to be recorded to thedisk array 24 in an uncompressed state. - In this case, when the compression ratio exceeds a specific value, the processing time when uncompressed data is written is shorter than the processing time when compressed data is written. In the present embodiment, that specific value of the compression ratio is used as the threshold with which the determining
unit 205 determines whether or not the block is to be compressed. - This threshold is a value that varies depending on a data-bus processing capability of the
layer controller 20, the algorithm of the data compression, or the like. Accordingly, data are compressed with varied compression ratios and are written to thedisk array 24 and the processing times for the respective compression ratios are measured, and on the other hand, the same data is written to thedisk array 24 without compression and the processing time is measured. It is preferable to compare the processing time with each other and to use, as the above-described threshold, a compression ratio that is a boundary value at which the amount of time taken for processing for a case in which the data is compressed/decompressed and transferred is larger than the amount of time (the data transfer time) taken for the uncompressed data. - A description in the present embodiment is given of an example of a case in which the threshold with which the determining
unit 205 determines whether the block is to be stored in thedisk array 24 in a compressed state or an uncompressed state is 90%. - A result of the determination made by the determining
unit 205 is reported to the compression-ratio calculating unit 203. When the result of the determination made by the determiningunit 205 indicates “compressed”, the compression-ratio calculating unit 203 compresses the received block and passes the compressed block to therecording unit 204. When the result of the determination made by the determiningunit 205 indicates “uncompressed”, the compression-ratio calculating unit 203 passes the received block to therecording unit 204 in an uncompressed state. - The management-
table creating unit 206 serves as a data-processing-information creating unit for creating an entry to be registered in the management table T. -
FIGS. 7A and 7B illustrate the management table T in the virtualtape library system 1 according to one example of the embodiment. More specifically,FIG. 7A illustrates one example of data andFIG. 7B illustrates an entry in the management table T with respect to the data illustrated inFIG. 7A . - In the example illustrated in
FIG. 7A , the data field of data includes n blocks. In the example illustrated inFIG. 7A , each of the blocks included in the data field is shown together with a block number k (k is a natural number of 1 to n) in a bracket “( )”. Block number 1 (k=1) is given to the first block of the series of blocks included in the data field and block number n (k=n) is given to the rearmost block of the series of blocks. - In the example illustrated in
FIGS. 7A and 7B , the first and second blocks (k=1, 2) of the n blocks included in the data field are stored compressed and the third and subsequent blocks (k=3 to n) are stored uncompressed. - The management table T stores at least one entry serving as data processing information indicating a processing state of data stored in the
disk array 24. In the example illustrated inFIG. 7B , in each entry in the management table T, a compressed/uncompressed state, a patrol pointer, and a last block are associated with a volume name and a file name for identifying and specifying corresponding data. - The volume name and the file name are data identification information for identifying the data. The compressed/uncompressed state is state information indicating in which of a compressed state and an uncompressed state each of the blocks included in the data field of the data is recorded. In the example illustrated in
FIG. 7B , “0” indicates a compressed state and “1” indicates an uncompressed state. - The patrol pointer is information for specifying a block at which patrol processing (described below) is started. More specifically, with respect to data recorded in the
disk array 24, the block number (first-block identification information) for identifying the first block included in continuous blocks in the data field of the data and recorded in thedisk array 24 in an uncompressed state is registered as the patrol pointer. - That is, the management-
table creating unit 206 serves as a first-block-identification-information recording unit that records, in the management table T, the patrol pointer in association with the first block included in the series of blocks in the data field of the data and recorded in the storage device in an uncompressed state. - The last block is information for specifying a block at which the patrol processing (described below) is ended. More specifically, the block number (k=n) for identifying the last block of the series of blocks included in the data field of data is registered as the last block.
- That is, an entry (data processing information) in which a compressed/uncompressed state serving as the state information is associated with the volume name and the file name serving as the data identification information is stored in the management table T.
- In the example illustrated in
FIG. 7B , although only an entry for one piece of data having a volume name of “VOLAAA” and a file name of “HDRAAA” is shown in the management table T for convenience of illustration, the entry is not limited thereto and entries for other data may also be registered in the management table T. - The created management table T is stored in the
memory 25. - Specifically, the
storage processing unit 207 stores, in thememory 25, the management table T created by the management-table creating unit 206. - The
recording unit 204 records the blocks to thedisk array 24 in a compressed or uncompressed state. When the compression-ratio calculating unit 203 compresses the block, therecording unit 204 records the block to thedisk array 24 in a compressed state, and when the compression-ratio calculating unit 203 does not compress the block, therecording unit 204 records the block to thedisk array 24 in an uncompressed state. - That is, on the basis of the result of the determination made by the determining
unit 205, therecording unit 204 records the block to the storage device in a compressed or uncompressed state. - When the result of the above-described checking performed by the
checking unit 202 indicates that an entry corresponding to the received volume name and file name is registered in the management table T, therecording unit 204 records the received block to the storage device in a compressed or uncompressed state in accordance with the compressed/uncompressed state in the entry. - That is, when data already stored in the
disk array 24 is to be re-stored in thedisk array 24, therecording unit 204 refers to the compressed/uncompressed state associated with the data and recorded in the management table T. - In accordance with the compressed/uncompressed state in the entry associated with the data and recorded in the management table T, the
recording unit 204 stores, in thedisk array 24, each of the blocks in the data field of the data in a compressed or uncompressed state. -
FIGS. 8A and 8B illustrate write processing using the management table T in the virtualtape library system 1 according to one example of the embodiment. More specifically,FIG. 8A illustrates an entry in the management table T andFIG. 8B illustrates one example of data for the management table T inFIG. 8A . - A description below will be given of an example of a case in which, when a write instruction is received from the
host 100, corresponding data has a volume name of “VOLAAA” and a file name of “HDRAAA”. In the example illustrated inFIG. 8A , the entry having the volume name of “VOLAAA” and the file name of “HDRAAA” is already registered in the management table T. In this case, thechecking unit 202 confirms that an entry corresponding to the volume name and the file name of the received data is registered in the management table T in thememory 25. - The compression-
ratio calculating unit 203 sets the blocks into compressed or uncompressed states in sequence from the first block in the data field of the received data, in accordance with the compressed and uncompressed states in the entry in the management table T. That is, in the example illustrated inFIG. 8A , the compressed and uncompressed sates in the entry indicate that the first block in the data field is in a compressed state and the second to fifth blocks are in uncompressed states. In accordance with the compressed and uncompressed states, the compression-ratio calculating unit 203 sets the first block in the data field into a compressed state and sets the second to fifth blocks into uncompressed states. - In this case, however, with respect to the block set into a compressed state according to the entry in the management table T, the determining
unit 205 re-determines in which of a compressed state and an uncompressed state the block is to be written to thedisk array 24, on the basis of a compression ratio for the block. - That is, with respect to the block compressed according to the entry in the management table T, the compression-
ratio calculating unit 203 calculates a compression ratio for the block and passes the compression ratio to the determiningunit 205. The determiningunit 205 compares the compression ratio, calculated by the compression-ratio calculating unit 203, with a certain threshold. When the calculated compression ratio is higher than or equal to the threshold, the determiningunit 205 determines that the block is to be recorded to thedisk array 24 in an uncompressed state. - Thus, even for the block for which compressed uncompressed state has been set in the entry in the management table T, when the block whose compression ratio calculated by the compression-
ratio calculating unit 203 is higher than or equal to the threshold, the block is re-written to thedisk array 24 in an uncompressed state. As a result, even when the data stored in thedisk array 24 is changed or modified for some reason, the compressed/uncompressed states in the entry in the management table T match the actual state of the data. Thus, it is possible to improve the reliability. - With respect to the block set into an uncompressed state in the compressed/uncompressed state in the entry in the management table T, the compression or un-compression re-determination based on the compression ratio is not performed. This arrangement achieves high-speed processing and can reduce the load of the
layer controller 20. - The compression-
ratio determining unit 203 passes the data of each block, set in a compressed/uncompressed state as described above, to therecording unit 204 and therecording unit 204 records the block, set in a compressed or uncompressed block, to thedisk array 24. -
FIG. 9 is a block diagram schematically illustrating the write processing for writing data to thedisk array 24 in the virtualtape library system 1 according to one example of the embodiment. - As illustrated in
FIG. 9 , the write processing includes file opening processing, data-field write processing, and file closing processing. - In the file opening processing, the file name of data to be written is obtained and the header field of the data is written to the
disk array 24. In the data-field write processing, a compression ratio for each block in the data field of data to be written is calculated. On the basis of a result of the above-described calculation of the compression ratio, a compression/un-compression determination for each block is made. In addition, on the basis of a result of the determination, compression processing for storing the block in thedisk array 24 in a compressed state or un-compression processing for storing the block in thedisk array 24 in an uncompressed state is performed. The data-field write processing is performed while reference is being made to the management table T and a block counter. - The block counter is information (a counter value) for specifying a block to be processed in the write processing and the migration processing (described below) and corresponds to the block number of the corresponding block included in the data. In the file closing processing, an EOF (end of file) field of the data is written to the
disk array 24. - The
patrol processing unit 22 performs patrol processing for updating the management table T created by the management-table creating unit 206. The patrol processing is started, for example, upon reception of an unload command from thehost 100. It is desired that the patrol processing be performed when a predetermined amount of time passes after the last patrol processing was performed. - As illustrated in
FIG. 1 , thepatrol processing unit 22 includes arecalculating unit 221 and an updatingunit 222. - The recalculating
unit 221 recalculates the compression ratio for each block of the data recorded in thedisk array 24. The recalculatingunit 221 calculates the compression ratio for the block by using a scheme that is similar to the scheme for the compression-ratio calculating unit 203. - During the patrol processing, the recalculating
unit 221 sequentially calculates (recalculates) the compression ratio for each of the subsequent blocks included in the data field, starting at the block specified by the patrol pointer in the management table T. - On the basis of the compression ratio recalculated by the recalculating
unit 221, the updatingunit 222 updates, in the management table T, the compressed/uncompressed state of each block. That is, on the basis of the compression ratio recalculated by the recalculatingunit 221, the updatingunit 222 determines in which of a compressed state or an uncompressed state the block is to be stored. - More specifically, the updating
unit 222 compares the compression ratio of the block, the compression ratio being recalculated by the recalculatingunit 221, with a certain threshold. When the recalculated compression ratio is lower than the threshold, it is determined that the block is to be compressed. When the recalculated compression ratio is higher than or equal to the threshold, it is determined that the block is not to be compressed. - When a result of the determination indicates that the compressed/uncompressed state of the block is different from the state in the management table T, the updating
unit 222 updates, in the management table T, the compressed/uncompressed state of the block with the determination result based on the recalculated compression ratio. In this case, the block stored in thedisk array 24 is not rewritten in a compressed or uncompressed state and the management table T is merely updated. -
FIGS. 10A , 10B, 11A, and 11B illustrate patrol processing in the virtualtape library system 1 according to one example of the embodiment. More specifically,FIG. 10A illustrates one example of data before the patrol processing is performed andFIG. 10B illustrates an entry in the management table T with respect to the data illustrated inFIG. 10A .FIG. 11A illustrates one example of data after the patrol processing is performed andFIG. 11B illustrates an entry in the management table T with respect to the data illustrated inFIG. 11A . - In the examples illustrated in
FIGS. 10A , 10B, 11A, and 11B, the data field of the data includes n blocks. In the example illustrated inFIGS. 10A and 10B , each of the blocks included in the data field is shown together with a block number k (k is a natural number of 1 to n) in a bracket “( )”. Block number 1 (k=1) is given to the first block of the series of blocks included in the data field and block number n (k=n) is given to the rearmost block of the series of blocks. - Before the patrol processing is performed, the first and second blocks (k=1, 2) of the n blocks in the data field are stored compressed and the third and subsequent blocks (k=3 to n) are stored uncompressed, as illustrated in
FIGS. 10A and 10B . - In the patrol processing performed by the
patrol processing unit 22, for example, when it is determined that the compression ratio of the (n−1) block is smaller than the threshold, as illustrated inFIG. 11A , a “compressed” state is set in the compressed/uncompressed state in the entry of the corresponding data in the management table T with respect to the (n−1) block, as illustrated inFIG. 11B . -
FIG. 12 is a block diagram schematically illustrating the patrol processing in the virtualtape library system 1 according to one example of the embodiment. - As illustrated in
FIG. 12 , the patrol processing includes timer start and data-field read processing. - In the timer start, the timer is started upon reception of an unload command from the
host 100, and when a predetermined time passes after the last patrol processing was performed, the patrol processing is started. - The data-field read processing is performed while reference is being made to the patrol pointer and the management table T. In the data-field read processing, the patrol pointer is obtained by referring to the entry of the corresponding data in the management table T. The compression ratio of each of the subsequent blocks included in the data field is calculated (recalculated), starting at the block specified by the patrol pointer. On the basis of the recalculated compression ratio, the compressed/uncompressed state for each corresponding block is updated in the management table T.
- The
migration processing unit 23 performs migration processing for moving the data stored in the storage device to the recording tape (recording medium) 33. The migration processing is started when the volume name and the file name (the data identification information) for identifying the data to be migrated are received from thehost 100 in conjunction with a migration execution instruction. - As illustrated in
FIG. 1 themigration processing unit 23 includes a data-save processing unit 231 and a management-table referring unit 232. - On the basis of the volume name and the file name received along with the migration execution instruction, the management-table referring unit 232 (which serves as a data-processing-information referring unit) refers to the management table T to check whether or not an entry for the data to be migrated is registered. That is, the management-
table referring unit 232 checks whether or not the volume name and the file name of the data to be migrated are registered in the management table T. - The data-save processing unit 231 (which serves a medium recording unit) controls the
tape library apparatus 3 to store the data, stored in thedisk array 24, onto therecording tape 33. When a result of the reference performed by the management-table referring unit 232 indicates that an entry for the data to be migrated is registered in the management table T, the data-save processing unit 231 obtains the compressed/uncompressed state in the entry. In accordance with the compressed/uncompressed state, the data-save processing unit 231 records the data to be migrated, the data being stored in thedisk array 24, to therecording tape 33 in a compressed or uncompressed state. -
FIG. 13 is a block diagram schematically illustrating the migration processing in the virtualtape library system 1 according to one example of the embodiment. - As illustrated in
FIG. 13 , the migration processing includes file opening processing, data-field save processing, and file closing processing. - In the file opening processing, data to be migrated is obtained from the
disk array 24. The file name of the data is then obtained and the header field of the data is written to therecording tape 33. - In the data-field save processing, the entry for the corresponding data is referred to in the management table T, and in accordance with the compressed/uncompressed state in the entry, each of the blocks included in the data field of the data to be migrated is processed. That is, with respect to each block, compression processing for storing the block on the
recording tape 33 in a compressed state or un-compression processing for storing the block on therecording tape 33 in an uncompressed state is performed in accordance with the compressed/uncompressed state in the management table T. The data-field save processing is performed while reference is being made to the management table T and a block counter. In the file closing processing, the EOF field of the data is written to therecording tape 33. - An overview of processing for compression/un-compression control for a general job transmitted from the
host 100, the processing being performed by the virtualtape library system 1 according to one example of the embodiment, will be described below with reference toFIG. 14 . In the following description, numerals in brackets “( )” represent an order of processing and correspond to the numerals in brackets “( )” inFIG. 14 . - (1) The
host 100 transmits uncompressed data to thelayer controller 20. - (2) The
write processing unit 21 in thelayer controller 20 processes sequentially the blocks from the first block in the data field and writes the blocks to thedisk array 24 in a compressed or uncompressed state. More specifically, when the compression ratio of the block is lower than the threshold (e.g., 90%), thewrite processing unit 21 writes the block to thedisk array 24 in a compressed state, and when the compression ratio of the block is higher than or equal to the threshold, thewrite processing unit 21 writes the block to thedisk array 24 in an uncompressed state. The volume name, the file name, the compressed/uncompressed state, and the patrol pointer of the data are stored in thememory 25 in thelayer controller 20. In this case, the block whose compression ratio has become higher than the threshold to the last block of the file are processed without compression. The block number of the block next to the block whose compression residue ratio becomes higher than the threshold is stored in the management table T in thememory 25 in thelayer controller 20 as the patrol pointer. - (3) At the end of a job, the
host 100 transmits an unload command to thelayer controller 20. - (4) In response to the unload command, the
patrol processing unit 22 starts the patrol processing on the data in thedisk array 24. More specifically, thepatrol processing unit 22 measures the compression ratio for the block specified by the patrol pointer. When the measured compression ratio is lower than the threshold, thepatrol processing unit 22 marks “compressed” in the management table T in thelayer controller 20 so that the block is to be compressed. Similarly, when the compression ratio is higher than or equal to the threshold, thepatrol processing unit 22 marks “uncompressed” in the management table T in thelayer controller 20 so that the block is not to be compressed. - (5) The
patrol processing unit 22 performs the patrol processing on the data in thedisk array 24 at regular intervals and repeatedly measures the compression ratio for the block specified by the patrol pointer. That is, when the compression ratio is lower than the threshold, thepatrol processing unit 22 marks “compressed” in the compressed/uncompressed state in the management table T in thelayer controller 20 so that the block is to be processed, thereby updating the management table T. Similarly, when the compression ratio is higher than or equal to the threshold, thepatrol processing unit 22 marks “uncompressed” in the compressed/uncompressed state in the management table T in thelayer controller 20 so that the block is not to be compressed. - (6) After the patrol processing is completed, the
migration processing unit 23 performs compression/un-compression control on each block in the data field in accordance with the compressed/uncompressed state in the management table T stored in thememory 25 in thelayer controller 20 and stores (migrates) the data to therecording tape 33 via thedrive unit 32. More specifically, themigration processing unit 23 stores, in a compressed state, the block that is registered as “compressed” in the compressed/uncompressed state in the management table T and stores, in an uncompressed state, the block that is registered as “uncompressed” in the compressed/uncompressed state. In this case, for example, with respect to a block whose compressed/uncompressed state stored in thedisk array 24 is different from the corresponding compressed/uncompressed state in the management table T, processing for compressing the uncompressed data or decompressing the compressed data is performed in accordance with the management table T. Thus, for example, when a block stored compressed in thedisk array 24 is marked as “uncompressed” in the management table T, processing for extracting the data is performed to generate uncompressed data. - (7) In write processing performed on the same data for the second or subsequent time, the
host 100 transmits uncompressed data to thelayer controller 20. - (8) In the write processing performed on the same data for the second or subsequent time, when the volume name and the file name of the received data match those stored in the management table T, the
write processing unit 21 sequentially writes each block to thedisk array 24 in accordance with the form of the compressed/uncompressed state in the management table T. When it is found that the number of data blocks in the file has increased, thewrite processing unit 21 writes the blocks up to the last block to thedisk array 24 in an uncompressed state. The patrol pointer is then returned to the first one of the uncompressed blocks. - (9) In the write processing performed on the same data for the second or subsequent time, the
host 100 transmits an unload command to thelayer controller 20 at the end of the job. - (10) In patrol processing performed on the same data for the second or subsequent time, the
patrol processing unit 22 starts patrol of the data in thedisk array 24 in response to the unload command. More specifically, thepatrol processing unit 22 measures the compression ratio for the block specified by the patrol pointer. When the compression ratio is lower than the threshold, thelayer controller 20 marks “compressed” in the management table T. When the compression ratio is higher than or equal to the threshold, thelayer controller 20 marks “uncompressed” in the management table T. - (11) In migration processing performed on the same data for the second or subsequent time, after the patrol processing is completed, the
migration processing unit 23 stores the data on therecording tape 33 in accordance with the compressed/uncompressed state in the management table T stored in thememory 25 in thelayer controller 20. That is, themigration processing unit 23 stores, on therecording tape 33 in a compressed state, the block that is registered as “compressed” in the compressed/uncompressed state in the management table T and stores, on therecording tape 33 in an uncompressed state, the block that is registered as “uncompressed”. In this case, for example, with respect to a block whose compressed/uncompressed state stored in thedisk array 24 is different from the corresponding compressed/uncompressed state in the management table T, processing for compressing the uncompressed data or decompressing (extracting) the compressed data is performed in accordance with the compressed/uncompressed state in the management table T. - The write processing in the virtual
tape library system 1, configured as described above, according to one example of the embodiment will now be described with reference to a flowchart (steps A10 to A280) illustrated inFIG. 15 . - When the
host 100 transmits uncompressed data to thelayer controller 20, the receivingunit 201 receives the data and performs file opening processing in step A10. In the file opening processing, the header field of the data is written to thedisk array 24. - In step A20, the
write processing unit 21 sets the block counter to 1 (i.e., Block Count=1) to thereby reset the block counter. This block counter corresponds to the block number of a block included in the data field. - In step A30, the determining
unit 205 checks whether or not an entry corresponding to the volume name and the file name of the data that the receivingunit 201 received along with a write instruction from thehost 100 is registered in the management table T stored in thememory 25. That is, in step A30, the determiningunit 205 checks whether or not the data-write processing request transmitted from thehost 100 is for write processing to be performed on the same data for the second or subsequent time. - When an entry corresponding to the volume name and the file name of the received data is not registered in the management table T, i.e., when the data-write processing request transmitted from the
host 100 is for write processing to be performed for the first time (NO route from step A30), a new entry is created in the management table T and the volume name and the file name of the received data are registered therein. - In step A40, the patrol pointer in the entry is updated first. More specifically, the value of the block counter is set for the patrol pointer to thereby update the patrol pointer.
- Next, in step A50, the compression-
ratio calculating unit 203 calculates a compression ratio for, in the data field, the block specified by the block counter. In step A60, the determiningunit 205 compares the calculated compression ratio with a certain threshold (90%) to thereby determine in which of a compressed state or an uncompressed state the block is to be stored in thedisk array 24. - When the compression ratio is lower than the threshold (NO route from step A60), the process proceeds to step A70 in which the
recording unit 204 writes the block to thedisk array 24 in a compressed state. In step A80, with respect the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the management-table creating unit 206 sets “0” indicating “compressed” in association with the block, thereby updating the management table T. - Thereafter, in step A90, the block counter is incremented (i.e., Block Count+1). In step A100, it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- When the block is not the last block of the series of blocks included in the data field (NO route from step A100), the process returns to step A40. When the block is the last block of the series of blocks included in the data field (YES route from A100), the process proceeds to step A280 in which file closing processing is performed and the EOF field of the data is written to the
disk array 24. Thereafter, the processing ends. - When the compression ratio is higher than or equal to the threshold (YES route from A60), the process proceeds to step A110 in which the
recording unit 204 writes the block to thedisk array 24 in an uncompressed state. In step A120, with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the management-table creating unit 206 sets “1” indicating “uncompressed” in association with the block, thereby updating the management table T. - Thereafter, in step A130, the block counter is incremented (i.e., Block Count+1). In step A140, it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- When the block is not the last block of the series of blocks included in the data field (NO route from step A140), the process returns to step A110. That is, the block whose compression ratio has become higher than the threshold to the last block of the file are processed without compression. When the block is the last block of the series of blocks included in the data field (YES route from A140), the process proceeds to step A280 and then the processing ends.
- When an entry corresponding to the volume name and the file name of the received data is registered in the management table T, i.e., when the data write processing request transmitted from the
host 100 is for write processing performed for the second or subsequent time (YES route from A30), the entry corresponding to the volume name and the file name of the received data is referred to in the management table T. - Next, in step A150, the management table T is referred to check whether or not the block corresponding to the block counter is a block to be compressed. When the block is not a block to be compressed (NO route from step A150), the process proceeds to step A230 in which the block is written to the
disk array 24 in an uncompressed state. In step A240, with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the management-table creating unit 206 sets “1” indicating “uncompressed” in association with the block, thereby updating the management table T. With this arrangement, for example, when a block that has been processed as compressed data in the previous processing is determined in processing in step A180 (described below) to have a compression ratio that is higher than or equal to the threshold and is determined to be “uncompressed”, this change to the “uncompressed” state can be correctly reflected in the management table T. - After step A240, in step A250, the block counter is incremented (i.e., Block Count+1). In step A260, it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- When the block is not the last block of the series of blocks included in the data field (NO route from step A260), the process proceeds to step A270 in which it is checked whether or not the number of blocks in the data field of the data has increased from the number of blocks registered in the management table T. That is, it is checked whether or not the value (the block count) of the block counter is larger than the block number (the table last block) n of the rearmost block.
- When the number of blocks has increased, i.e., when the value (the block count) of the block counter is larger than the block number (the table last block) n of the rearmost block (YES route from A270), the process returns to step A230. That is, when it is found that the number of blocks has increased, the subsequent block to the last block of the file are processed without compression. When the number of blocks has not increased, i.e., when the value (the block count) of the block counter is smaller than or equal to the block number (the table last block) n of the rearmost block (NO route from step A270), the process returns to step A150.
- When the block is the last block of the series of blocks included in the data field (YES route from A260), the process proceeds to step A280 and then the processing ends.
- When a result of the checking of the entry in the management table T indicates that the block is a block to be compressed (YES route from A150), the process proceeds to step A160 in which the patrol pointer in the entry is first updated. More specifically, the value of the block counter is set for the patrol pointer to thereby update the patrol pointer. As a result, when the block is a block to be compressed, the value of the block counter specifying the block is set for the patrol pointer. That is, the patrol pointer indicates a position at which the state of the block is changed from a compressed state to an uncompressed state (i.e., the first position of an uncompressed block).
- Next, in step A170, the compression-
ratio calculating unit 203 calculates a compression ratio for, in the data field, the block specified by the block counter. In step A180, the determiningunit 205 compares the calculated compression ratio with the certain threshold (90%) to thereby determine in which of a compressed state or an uncompressed state the block is to be stored in thedisk array 24. - When the compression ratio is higher than or equal to the threshold (YES route from A180), the process proceeds to step A230.
- On the other hand, when the compression ratio is lower than the threshold (NO route from step A180), the process proceeds to step A190 in which the
recording unit 204 writes the block to thedisk array 24 in a compressed state. In step A200, with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the management-table creating unit 206 sets “0” indicating “compressed” in association with the block, thereby updating the management table T. - Thereafter, in step A210, the block counter is incremented (i.e., Block Count+1). In step A220, it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost of the series of blocks.
- When the block is not the last block of the series of blocks included in the data field (NO route from step A220), the process returns to step A160. When the block is the last block of the series of blocks included in the data field (YES route from A220), the process proceeds to step A280 in which file closing processing is performed and the EOF field of the data is written to the
disk array 24. Thereafter, the processing ends. - Next, the patrol processing in the virtual
tape library system 1 according to one example of the embodiment will be described with reference to a flowchart (steps B10 to B90) illustrated inFIG. 16 . The patrol processing is performed while the management table T is stored in thememory 25. - The patrol processing is started upon reception of an unload command transmitted from the
host 100 at the end of a job. Thepatrol processing unit 22 waits to receive the unload command from the host 100 (refer to step B10 and NO route from step B10). Upon reception of the unload command from the host 100 (YES route from B10), the process proceeds to step B20 in which thepatrol processing unit 22 checks whether or not a predetermined time has passed after the last patrol processing was performed. When the predetermined time has not passed (NO route from step B20), the process returns to step B10. - When the predetermined time has passed after the last patrol processing was performed (YES route from B20), the process proceeds to step B30 in which the patrol pointer registered in the entry in the management table T is set for the patrol counter (P Count). The patrol counter is information (a counter value) for specifying a block to be processed in the patrol processing and corresponds to the block number of the block included in data.
- In step B40, the recalculating
unit 221 calculates a compression value for, in the data field, the block specified by the patrol counter. In step B50, the recalculatingunit 221 checks whether or not the calculated compression ratio is higher than or equal to the certain threshold (e.g., 90%). When a result of the checking indicates that the calculated compression ratio is higher than or equal to the threshold (90%) (YES route from B50), the process proceeds to step B70. In step B70, with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the updatingunit 222 sets “1” indicating “uncompressed” in association with the block. Thus, the management table T is updated. When the calculated compression ratio is lower than the threshold (90%) (NO route from step B50), the process proceeds to step B60. In step B60, with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, the updatingunit 222 sets “0” indicating “compressed” in association with the block. Thus, the management table T is updated. - Thereafter, in step B80, it is checked whether or not the block specified by the patrol counter is the last block of the series of blocks included in the data field. That is, it is checked whether or not the patrol counter matches the block number n of the rearmost block of the series of blocks (i.e., P Count=n).
- When the block is not the last block of the series of blocks included in the data field (NO route from step B80), the process proceeds to step B90 in which the patrol counter is incremented (i.e., P Count+1). Thereafter, the process returns to step B40. When the block is the last block of the series of blocks included in the data field (YES route from B80), the patrol processing ends.
- The migration processing in the virtual
tape library system 1 according to one example of the embodiment will now be described with reference to a flowchart (steps C10 to C220) illustrated inFIG. 17 . - When the volume name and the file name for identifying data to be migrated are received from the
host 100 in conjunction with a migration execution instruction, themigration processing unit 23 performs file opening processing in step C10. In the file opening processing, the data-save processing unit 231 saves the header field of the data to therecording tape 33. - In step C20, the
migration processing unit 23 sets the block counter to 1 (i.e., Block Count=1) to thereby reset the block counter. This block counter corresponds to the block number of a block included in the data. - In step C30, the
migration processing unit 23 checks whether or not the patrol processing performed by thepatrol processing unit 22 is completed. More specifically, it is checked whether or not the patrol counter matches the block number n of the rearmost block of the series of blocks (i.e., P Count=n). - When a result of the checking indicates that the patrol processing is completed (YES route from C30), the process proceeds to step C170 in which the management table T is referred to check whether or not the block corresponding to the block counter is a block to be compressed. When the block is not a block to be compressed (NO route from step C170), the process proceeds to step C190 in which the data-
save processing unit 231 writes the block to therecording tape 33 in an uncompressed state. When the block is a block to be compressed (YES route from C170), the process proceeds to step C180 in which the data-save processing unit 231 writes the block to therecording tape 33 in a compressed state. - Thereafter, in step C200, the block counter is incremented (i.e., Block Count+1). In step C210, it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, a determination is made as to whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- When the block is not the last block of the series of blocks included in the data field (NO route from step C210), the process returns to step C170. When the block is the last block of the series of blocks included in the data field (YES route from C210), the process proceeds to step C220 in which file closing processing is performed and the EOF field of the data is written to the
disk array 24. Thereafter, the processing ends. - When the patrol processing is not completed (NO route from step C30), the patrol processing is completed while the migration processing is executed.
- In step C40, the management table T is referred to check whether or not the block corresponding to the block counter is a block to be compressed. When the block is not a block to be compressed (NO route from step C40), the process proceeds to step C120 in which the data-
save processing unit 231 writes the block to therecording tape 33 in an uncompressed state. In step C130, with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, themigration processing unit 23 sets “1” indicating “uncompressed” in association with the block, thereby updating the management table T. - Thereafter, in step C140, the
migration processing unit 23 increments the block-counter by 1 (i.e., Block Count+1). In step C150, it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks. - When the block is not the last block of the series of blocks included in the data field (NO route from step C150), the process proceeds to step C160 in which the
migration processing unit 23 checks whether or not the number of blocks in the data field of the data has increased from the number of blocks registered in the management table T. That is, themigration processing unit 23 checks whether or not the value (the block count) of the block counter is larger than the block number (the table last block) n of the rearmost block. - When the number of blocks has increased, i.e., when the value (the block count) of the block counter is larger than the block number (the table last block) n of the rearmost block (YES route from C160), the process returns to step C120. That is, when it is found that the number of blocks has increased, the subsequent block to the last block of the file are processed without compression. When the number of blocks has not increased, i.e., when the value (the block count) of the block counter is smaller than the block number (the table last block) n of the rearmost block (NO route from step C160), the process returns to step C40.
- When the block is the last block of the series of blocks included in the data field (YES route from C150), the process proceeds to step C220 and then the processing ends.
- When the result of the checking of the entry in the management table T indicates that the block is a block to be compressed (YES route from C40), the process proceeds to step C50 in which the
migration processing unit 23 first updates the patrol pointer. More specifically, the value of the block counter is set for the patrol pointer to thereby update the patrol pointer. - Next, in step C60, the
migration processing unit 23 calculates a compression ratio for, in the data field, the block specified by the block counter. In step C70, themigration processing unit 23 compares the calculated compression ratio with the certain threshold (90%) to thereby determine in which of a compressed state or an uncompressed state the block is to be stored on therecording tape 33. - When the compression ratio is higher than or equal to the threshold (YES route from C70), the process proceeds to step C120.
- When the compression ratio is lower than the threshold (NO route from step C70), the process proceeds to step C80 in which the data-
save processing unit 231 saves the block to therecording tape 33 in a compressed state. In step C90, with respect to the compressed/uncompressed state in the entry associated with the data and registered in the management table T, themigration processing unit 23 sets “0” indicating “compressed” in association with the block, thereby updating the management table T. - Thereafter, in step C100, the block counter is incremented (i.e., Block Count+1). In step C110, it is checked whether or not the block is the last block of the series of blocks included in the data field. That is, it is checked whether or not the block counter matches the block number n of the rearmost block of the series of blocks.
- When the block is not the last block of the series of blocks included in the data field (NO route from step C110), the process returns to step C50. When the block is the last block of the series of blocks included in the data field (YES route from C110), the process proceeds to step C220 and then the processing ends.
- As described above, the
migration processing unit 23 has a function (such as the compression-ratio calculating unit 203) for calculating a compression ratio for each block, a function (such as the determining unit 205) for comparing the calculated compression ratio with the threshold, and a function (such as the management-table creating unit 206) for updating the management table T. - The CPU of the
layer controller 20 executes a data processing program to thereby cause it to function as thewrite processing unit 21, thepatrol processing unit 22, and themigration processing unit 23. - The program (the data processing program) for realizing the functions of the
write processing unit 21, thepatrol processing unit 22, and themigration processing unit 23 is supplied in the form of a computer-readable recording medium, such as a flexible disk, a CD (such as CD-ROM, CD-R, or CD-RW), a DVD (such as DVD-ROM, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, or HD DVD), a Blu-ray disc, an optical disk, or a magneto-optical disk. A computer then reads the program from the recording medium, transfers the read program to an internal storage device or an external storage device, and stores it therein. The program may also be pre-stored on, for example, a storage device (a recording medium), such as a magnetic disk, an optical disk, or a magneto-optical disk and may be supplied to the computer from the storage device through a communication path. - For realizing the functions of the
write processing unit 21, thepatrol processing unit 22, and, themigration processing unit 23, the program stored in the internal storage device (e.g., a RAM or ROM (not illustrated) in the present embodiment) is executed by a microprocessor (a CPU in the present embodiment) of the computer. In this case, the program recorded on the recording medium may be read by the computer for execution. - In the present embodiment, the term “computer” in the present embodiment refers to a concept including hardware and an operating system, the hardware operating under the control of the operating system. When the hardware is operable on an application program without use of the operating system, the hardware itself corresponds to the computer. The hardware has at least a microprocessor, such as a CPU, and means for reading the computer program recorded on the recording medium. In the present embodiment, the
layer controller 20 has a function of the computer. - For a job performed on the same data for the second or subsequent time, the virtual
tape library system 1 according to one example of the present embodiment allows a compression/uncompression determination for each block to be made by referring to the management table T, without calculating a compression ratio for the block. Thus, the write processing for writing data to thedisk array 24 can be sped up and the load of thelayer controller 20 can also be reduced. In particular, at the point when the header field of data is read, the compression/uncompression determination for each block can be made, so that the data write processing can be sped up. - Similarly, in the migration processing for moving data in the
disk array 24 to therecording tape 33, it is possible to speed up the processing for writing (saving) the data to therecording tape 33 by referring to the management table T and it is also possible to reduce the load of thelayer controller 20. - The compression/uncompression processing can be performed for each block of the data. As a result, the data size can be reduced and the
disk array 24 and therecording tape 33 can be operated with efficiency. - In addition, even when data stored in the
disk array 24 is modified after the management table T is created, performing the patrol processing allows information in the management table T to be matched with the state of the modified data and also allows the data write processing performance and the save processing to be increased. - Even if the patrol processing is terminated for some reason, when it is determined during the migration processing that the patrol processing is not completed, the management table T is updated while the migration processing of data is performed. This arrangement allows uncompleted patrol processing to be completed, thereby enhancing convenience.
- During data writing or saving, the block whose data compression ratio has become higher than the threshold to the last block of a file are processed without compression. When an increase in the number of blocks is found when the same file is written for the second time, the subsequent block to the last block of a file are processed without compression. As a result of writing the blocks without compression, the blocks can be stored in an unprocessed state and the reliability of the data is improved.
- The technology disclosed herein is not limited to the above-described embodiment and can be implemented in various modifications without departing from the scope of the embodiment.
- The embodiment disclosed above can also be implemented and manufactured by those skilled in the art.
- For example, although the compressed/uncompressed state, the patrol pointer, and the last block with respect to data are registered as an entry in the management table T in the above-described embodiment, the management scheme is not limited thereto and may be realized by any other scheme.
- All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Claims (13)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-287478 | 2010-12-24 | ||
JP2010287478A JP5712609B2 (en) | 2010-12-24 | 2010-12-24 | Data processing apparatus and data recording method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120166752A1 true US20120166752A1 (en) | 2012-06-28 |
US8904103B2 US8904103B2 (en) | 2014-12-02 |
Family
ID=46318469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/291,484 Expired - Fee Related US8904103B2 (en) | 2010-12-24 | 2011-11-08 | Data processing apparatus and method for recording data |
Country Status (2)
Country | Link |
---|---|
US (1) | US8904103B2 (en) |
JP (1) | JP5712609B2 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130179659A1 (en) * | 2012-01-09 | 2013-07-11 | Samsung Electronics Co., Ltd. | Data storage device with selective data compression |
US8904103B2 (en) * | 2010-12-24 | 2014-12-02 | Fujitsu Limited | Data processing apparatus and method for recording data |
US20150121173A1 (en) * | 2013-10-31 | 2015-04-30 | Lsi Corporation | Systems and Methods for Internal Disk Drive Data Compression |
US20150149739A1 (en) * | 2013-11-25 | 2015-05-28 | Research & Business Foundation Sungkyunkwan University | Method of storing data in distributed manner based on technique of predicting data compression ratio, and storage device and system using same |
US20150180936A1 (en) * | 2012-08-07 | 2015-06-25 | Nec Corporation | Data transfer device, data transfer method, and program storage medium |
US20170069395A1 (en) * | 2015-09-09 | 2017-03-09 | Kabushiki Kaisha Toshiba | Host device and memory device |
US20180121516A1 (en) * | 2016-11-02 | 2018-05-03 | Fujitsu Limited | Information processing device, computer-readable recording medium having stored therein information processing program, and information processing method |
US10120601B2 (en) * | 2014-03-24 | 2018-11-06 | Hitachi, Ltd. | Storage system and data processing method |
US20190114085A1 (en) * | 2017-10-16 | 2019-04-18 | Alteryx, Inc. | Memory allocation in a data analytics system |
US10489348B2 (en) | 2017-07-17 | 2019-11-26 | Alteryx, Inc. | Performing hash joins using parallel processing |
US10552452B2 (en) | 2017-10-16 | 2020-02-04 | Alteryx, Inc. | Asynchronously processing sequential data blocks |
US20200125553A1 (en) * | 2017-06-21 | 2020-04-23 | Huawei Technologies Co., Ltd. | Systems and methods for management of a log-structure |
US11119668B1 (en) * | 2020-03-19 | 2021-09-14 | EMC IP Holding Company LLC | Managing incompressible data in a compression-enabled log-structured array storage system |
EP4120057A4 (en) * | 2020-03-13 | 2023-08-16 | FUJIFILM Corporation | Information processing device, information processing method, and information processing program |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015005089A (en) * | 2013-06-20 | 2015-01-08 | 富士通株式会社 | Storage system, control device, and control method |
JP2020154525A (en) * | 2019-03-19 | 2020-09-24 | キオクシア株式会社 | Memory system and information processing system |
JP7390251B2 (en) * | 2020-04-30 | 2023-12-01 | 株式会社日立製作所 | storage system |
JP2022188911A (en) | 2021-06-10 | 2022-12-22 | キオクシア株式会社 | Compression device, compression/expansion device, and memory system |
Citations (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5235695A (en) * | 1989-06-28 | 1993-08-10 | International Business Machines Corporation | Apparatus for efficient utilization of removable data recording media |
US5333277A (en) * | 1992-01-10 | 1994-07-26 | Exportech Trading Company | Data buss interface and expansion system |
US5438674A (en) * | 1988-04-05 | 1995-08-01 | Data/Ware Development, Inc. | Optical disk system emulating magnetic tape units |
US5813011A (en) * | 1995-05-12 | 1998-09-22 | Fujitsu Limited | Storage of a compressed file containing its own compression management table |
US5915129A (en) * | 1994-06-27 | 1999-06-22 | Microsoft Corporation | Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system |
US6006276A (en) * | 1996-10-31 | 1999-12-21 | Sensormatic Electronics Corporation | Enhanced video data compression in intelligent video information management system |
US6092071A (en) * | 1997-11-04 | 2000-07-18 | International Business Machines Corporation | Dedicated input/output processor method and apparatus for access and storage of compressed data |
US6138201A (en) * | 1998-04-15 | 2000-10-24 | Sony Corporation | Redundant array of inexpensive tape drives using data compression and data allocation ratios |
US6615365B1 (en) * | 2000-03-11 | 2003-09-02 | Powerquest Corporation | Storing a computer disk image within an imaged partition |
US20040230724A1 (en) * | 2003-05-14 | 2004-11-18 | Roger Stager | Method and system for data compression and compression estimation in a virtual tape library environment |
JP2005099971A (en) * | 2003-09-24 | 2005-04-14 | Hitachi Ltd | Input/output control method of virtual tape device |
US20050086428A1 (en) * | 2003-10-16 | 2005-04-21 | Fujitsu Limited | Magnetic tape unit |
US6956507B2 (en) * | 2002-12-12 | 2005-10-18 | International Business Machines Corporation | Method and apparatus for morphing memory compressed machines |
US7039769B2 (en) * | 2002-05-30 | 2006-05-02 | International Business Machines Corporation | Direct addressed shared compressed memory system |
US7308528B2 (en) * | 2003-08-04 | 2007-12-11 | Hitachi, Ltd. | Virtual tape library device |
US20080034268A1 (en) * | 2006-04-07 | 2008-02-07 | Brian Dodd | Data compression and storage techniques |
US20080141039A1 (en) * | 2006-12-11 | 2008-06-12 | Matze John E G | System for using a virtual tape encryption format |
US20090055422A1 (en) * | 2007-08-23 | 2009-02-26 | Ken Williams | System and Method For Data Compression Using Compression Hardware |
US7568067B1 (en) * | 1999-08-06 | 2009-07-28 | Fujitsu Limited | Method for controlling magnetic tape unit |
US20090322958A1 (en) * | 2008-06-27 | 2009-12-31 | Toriyama Yoshiaki | Image processing apparatus and image processing method |
US7711876B2 (en) * | 2005-03-23 | 2010-05-04 | International Business Machines Corporation | Dynamic category compression in a data storage library |
US7747816B1 (en) * | 2003-03-31 | 2010-06-29 | Ultera Systems, Inc. | Virtual tape stacker |
US7765377B2 (en) * | 2003-05-08 | 2010-07-27 | International Business Machines Corporation | Apparatus and method to write information to one or more information storage media |
US20100192019A1 (en) * | 2009-01-23 | 2010-07-29 | Fujitsu Limited | Virtual library apparatus and method for diagnosing physical drive |
US7788299B2 (en) * | 2004-11-03 | 2010-08-31 | Spectra Logic Corporation | File formatting on a non-tape media operable with a streaming protocol |
US7853750B2 (en) * | 2007-01-30 | 2010-12-14 | Netapp, Inc. | Method and an apparatus to store data patterns |
US20110205565A1 (en) * | 2010-02-22 | 2011-08-25 | Canon Kabushiki Kaisha | Image processing apparatus and method that perform multiple image processes, and storage medium |
US8041672B2 (en) * | 2008-09-25 | 2011-10-18 | Hitachi, Ltd. | Management device and computer system |
US20110276754A1 (en) * | 2010-05-06 | 2011-11-10 | International Business Machines Corporation | Partial volume access in a physical stacked volume |
US20120124285A1 (en) * | 2003-08-14 | 2012-05-17 | Soran Philip E | Virtual disk drive system and method with cloud-based storage media |
US20120239877A1 (en) * | 2010-05-06 | 2012-09-20 | International Business Machines Corporation | Locating host data records on a physical stacked volume |
US20120287141A1 (en) * | 2011-05-13 | 2012-11-15 | Michael Francis Higgins | Piecewise non-causal compression and subsequent decompression of quantized data for processing of decompressed data in higher precision processing space |
US20120310890A1 (en) * | 2006-04-07 | 2012-12-06 | Data Storage Group, Llc | Data compression and storage techniques |
US8533166B1 (en) * | 2010-08-20 | 2013-09-10 | Brevity Ventures LLC | Methods and systems for encoding/decoding files and transmission thereof |
US8538174B2 (en) * | 2004-04-22 | 2013-09-17 | Sony Corporation | Image processing device |
US8566286B1 (en) * | 2009-05-15 | 2013-10-22 | Idera, Inc. | System and method for high speed database backup using rapidly adjusted dynamic compression ratios controlled by a feedback loop |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04242424A (en) * | 1991-01-16 | 1992-08-31 | Matsushita Electric Ind Co Ltd | Data compression controller and data restoration controller |
JPH08263218A (en) * | 1995-03-23 | 1996-10-11 | Toshiba Corp | Device and method for storing data |
EP0913761A1 (en) * | 1997-10-31 | 1999-05-06 | Hewlett-Packard Company | Data encoding scheme |
EP0915413A1 (en) * | 1997-10-31 | 1999-05-12 | Hewlett-Packard Company | Data encoding scheme with switchable compression |
US6604158B1 (en) * | 1999-03-11 | 2003-08-05 | Realtime Data, Llc | System and methods for accelerated data storage and retrieval |
JP2002259257A (en) | 2001-03-05 | 2002-09-13 | Casio Comput Co Ltd | Document preparing device and method for automatically switching data transfer |
JP2003308269A (en) | 2002-04-12 | 2003-10-31 | Ricoh Co Ltd | Data transfer system, program and recording medium |
JP5217155B2 (en) * | 2006-11-17 | 2013-06-19 | 日本電気株式会社 | File compression automatic determination method and method, and program |
JP5037952B2 (en) | 2007-01-15 | 2012-10-03 | 株式会社日立製作所 | Storage system and storage system control method |
JP5188348B2 (en) * | 2008-09-25 | 2013-04-24 | 三菱電機株式会社 | Data access device |
JP5712609B2 (en) * | 2010-12-24 | 2015-05-07 | 富士通株式会社 | Data processing apparatus and data recording method |
-
2010
- 2010-12-24 JP JP2010287478A patent/JP5712609B2/en not_active Expired - Fee Related
-
2011
- 2011-11-08 US US13/291,484 patent/US8904103B2/en not_active Expired - Fee Related
Patent Citations (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5438674A (en) * | 1988-04-05 | 1995-08-01 | Data/Ware Development, Inc. | Optical disk system emulating magnetic tape units |
US5235695A (en) * | 1989-06-28 | 1993-08-10 | International Business Machines Corporation | Apparatus for efficient utilization of removable data recording media |
US5333277A (en) * | 1992-01-10 | 1994-07-26 | Exportech Trading Company | Data buss interface and expansion system |
US6192432B1 (en) * | 1994-06-27 | 2001-02-20 | Microsoft Corporation | Caching uncompressed data on a compressed drive |
US5915129A (en) * | 1994-06-27 | 1999-06-22 | Microsoft Corporation | Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system |
US5813011A (en) * | 1995-05-12 | 1998-09-22 | Fujitsu Limited | Storage of a compressed file containing its own compression management table |
US6006276A (en) * | 1996-10-31 | 1999-12-21 | Sensormatic Electronics Corporation | Enhanced video data compression in intelligent video information management system |
US6092071A (en) * | 1997-11-04 | 2000-07-18 | International Business Machines Corporation | Dedicated input/output processor method and apparatus for access and storage of compressed data |
US6317747B1 (en) * | 1997-11-04 | 2001-11-13 | International Business Machines Corporation | Dedicated input/output processor method and apparatus for access and storage of compressed data |
US6138201A (en) * | 1998-04-15 | 2000-10-24 | Sony Corporation | Redundant array of inexpensive tape drives using data compression and data allocation ratios |
US7568067B1 (en) * | 1999-08-06 | 2009-07-28 | Fujitsu Limited | Method for controlling magnetic tape unit |
US6615365B1 (en) * | 2000-03-11 | 2003-09-02 | Powerquest Corporation | Storing a computer disk image within an imaged partition |
US7039769B2 (en) * | 2002-05-30 | 2006-05-02 | International Business Machines Corporation | Direct addressed shared compressed memory system |
US6956507B2 (en) * | 2002-12-12 | 2005-10-18 | International Business Machines Corporation | Method and apparatus for morphing memory compressed machines |
US7747816B1 (en) * | 2003-03-31 | 2010-06-29 | Ultera Systems, Inc. | Virtual tape stacker |
US7765377B2 (en) * | 2003-05-08 | 2010-07-27 | International Business Machines Corporation | Apparatus and method to write information to one or more information storage media |
US7437492B2 (en) * | 2003-05-14 | 2008-10-14 | Netapp, Inc | Method and system for data compression and compression estimation in a virtual tape library environment |
US20040230724A1 (en) * | 2003-05-14 | 2004-11-18 | Roger Stager | Method and system for data compression and compression estimation in a virtual tape library environment |
US7308528B2 (en) * | 2003-08-04 | 2007-12-11 | Hitachi, Ltd. | Virtual tape library device |
US20120124285A1 (en) * | 2003-08-14 | 2012-05-17 | Soran Philip E | Virtual disk drive system and method with cloud-based storage media |
JP2005099971A (en) * | 2003-09-24 | 2005-04-14 | Hitachi Ltd | Input/output control method of virtual tape device |
US20050086428A1 (en) * | 2003-10-16 | 2005-04-21 | Fujitsu Limited | Magnetic tape unit |
US8538174B2 (en) * | 2004-04-22 | 2013-09-17 | Sony Corporation | Image processing device |
US7788299B2 (en) * | 2004-11-03 | 2010-08-31 | Spectra Logic Corporation | File formatting on a non-tape media operable with a streaming protocol |
US7711876B2 (en) * | 2005-03-23 | 2010-05-04 | International Business Machines Corporation | Dynamic category compression in a data storage library |
US20080034268A1 (en) * | 2006-04-07 | 2008-02-07 | Brian Dodd | Data compression and storage techniques |
US7860843B2 (en) * | 2006-04-07 | 2010-12-28 | Data Storage Group, Inc. | Data compression and storage techniques |
US20110087640A1 (en) * | 2006-04-07 | 2011-04-14 | Brian Dodd | Data Compression and Storage Techniques |
US20120310890A1 (en) * | 2006-04-07 | 2012-12-06 | Data Storage Group, Llc | Data compression and storage techniques |
US20080141039A1 (en) * | 2006-12-11 | 2008-06-12 | Matze John E G | System for using a virtual tape encryption format |
US7853750B2 (en) * | 2007-01-30 | 2010-12-14 | Netapp, Inc. | Method and an apparatus to store data patterns |
US20090055422A1 (en) * | 2007-08-23 | 2009-02-26 | Ken Williams | System and Method For Data Compression Using Compression Hardware |
US7987161B2 (en) * | 2007-08-23 | 2011-07-26 | Thomson Reuters (Markets) Llc | System and method for data compression using compression hardware |
US20090322958A1 (en) * | 2008-06-27 | 2009-12-31 | Toriyama Yoshiaki | Image processing apparatus and image processing method |
US8520011B2 (en) * | 2008-06-27 | 2013-08-27 | Ricoh Company, Limited | Image processing apparatus and image processing method |
US8041672B2 (en) * | 2008-09-25 | 2011-10-18 | Hitachi, Ltd. | Management device and computer system |
US8117501B2 (en) * | 2009-01-23 | 2012-02-14 | Fujitsu Limited | Virtual library apparatus and method for diagnosing physical drive |
US20100192019A1 (en) * | 2009-01-23 | 2010-07-29 | Fujitsu Limited | Virtual library apparatus and method for diagnosing physical drive |
US8566286B1 (en) * | 2009-05-15 | 2013-10-22 | Idera, Inc. | System and method for high speed database backup using rapidly adjusted dynamic compression ratios controlled by a feedback loop |
US20110205565A1 (en) * | 2010-02-22 | 2011-08-25 | Canon Kabushiki Kaisha | Image processing apparatus and method that perform multiple image processes, and storage medium |
US20110276754A1 (en) * | 2010-05-06 | 2011-11-10 | International Business Machines Corporation | Partial volume access in a physical stacked volume |
US20120239877A1 (en) * | 2010-05-06 | 2012-09-20 | International Business Machines Corporation | Locating host data records on a physical stacked volume |
US8656094B2 (en) * | 2010-05-06 | 2014-02-18 | International Business Machines Corporation | Locating host data records on a physical stacked volume |
US8533166B1 (en) * | 2010-08-20 | 2013-09-10 | Brevity Ventures LLC | Methods and systems for encoding/decoding files and transmission thereof |
US20120287141A1 (en) * | 2011-05-13 | 2012-11-15 | Michael Francis Higgins | Piecewise non-causal compression and subsequent decompression of quantized data for processing of decompressed data in higher precision processing space |
Non-Patent Citations (1)
Title |
---|
data stream definition, McGraw-Hill Dictionary of Scientific and Technical Terms, 6E, 2003 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8904103B2 (en) * | 2010-12-24 | 2014-12-02 | Fujitsu Limited | Data processing apparatus and method for recording data |
US8954693B2 (en) * | 2012-01-09 | 2015-02-10 | Samsung Electronics Co., Ltd. | Data storage device with selective data compression |
US20130179659A1 (en) * | 2012-01-09 | 2013-07-11 | Samsung Electronics Co., Ltd. | Data storage device with selective data compression |
US9769241B2 (en) * | 2012-08-07 | 2017-09-19 | Nec Corporation | Data transfer device, data transfer method, and program storage medium |
US20150180936A1 (en) * | 2012-08-07 | 2015-06-25 | Nec Corporation | Data transfer device, data transfer method, and program storage medium |
US20150121173A1 (en) * | 2013-10-31 | 2015-04-30 | Lsi Corporation | Systems and Methods for Internal Disk Drive Data Compression |
US9436550B2 (en) * | 2013-10-31 | 2016-09-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for internal disk drive data compression |
US20150149739A1 (en) * | 2013-11-25 | 2015-05-28 | Research & Business Foundation Sungkyunkwan University | Method of storing data in distributed manner based on technique of predicting data compression ratio, and storage device and system using same |
US9606750B2 (en) * | 2013-11-25 | 2017-03-28 | Research And Business Foundation Sungkyunkwan University | Method of storing data in distributed manner based on technique of predicting data compression ratio, and storage device and system using same |
US10120601B2 (en) * | 2014-03-24 | 2018-11-06 | Hitachi, Ltd. | Storage system and data processing method |
US20170069395A1 (en) * | 2015-09-09 | 2017-03-09 | Kabushiki Kaisha Toshiba | Host device and memory device |
US10665305B2 (en) * | 2015-09-09 | 2020-05-26 | Toshiba Memory Corporation | Host device connectable to memory device performing patrol read and memory device performing patrol read |
US10108671B2 (en) * | 2016-11-02 | 2018-10-23 | Fujitsu Limited | Information processing device, computer-readable recording medium having stored therein information processing program, and information processing method |
US20180121516A1 (en) * | 2016-11-02 | 2018-05-03 | Fujitsu Limited | Information processing device, computer-readable recording medium having stored therein information processing program, and information processing method |
US20200125553A1 (en) * | 2017-06-21 | 2020-04-23 | Huawei Technologies Co., Ltd. | Systems and methods for management of a log-structure |
US10489348B2 (en) | 2017-07-17 | 2019-11-26 | Alteryx, Inc. | Performing hash joins using parallel processing |
US11334524B2 (en) | 2017-07-17 | 2022-05-17 | Alteryx, Inc. | Performing hash joins using parallel processing |
US10558364B2 (en) * | 2017-10-16 | 2020-02-11 | Alteryx, Inc. | Memory allocation in a data analytics system |
AU2018350897B2 (en) * | 2017-10-16 | 2020-03-26 | Alteryx, Inc. | Memory allocation in a data analytics system |
US10552452B2 (en) | 2017-10-16 | 2020-02-04 | Alteryx, Inc. | Asynchronously processing sequential data blocks |
US20200133504A1 (en) * | 2017-10-16 | 2020-04-30 | Alteryx, Inc. | Memory Allocation in a Data Analytics System |
US20190114085A1 (en) * | 2017-10-16 | 2019-04-18 | Alteryx, Inc. | Memory allocation in a data analytics system |
US10996855B2 (en) | 2017-10-16 | 2021-05-04 | Alteryx, Inc. | Memory allocation in a data analytics system |
US11494409B2 (en) | 2017-10-16 | 2022-11-08 | Alteryx, Inc. | Asynchronously processing sequential data blocks |
EP4120057A4 (en) * | 2020-03-13 | 2023-08-16 | FUJIFILM Corporation | Information processing device, information processing method, and information processing program |
US11783852B2 (en) * | 2020-03-13 | 2023-10-10 | Fujifilm Corporation | Information processing device, information processing method, and information processing program |
US11119668B1 (en) * | 2020-03-19 | 2021-09-14 | EMC IP Holding Company LLC | Managing incompressible data in a compression-enabled log-structured array storage system |
Also Published As
Publication number | Publication date |
---|---|
JP2012133731A (en) | 2012-07-12 |
JP5712609B2 (en) | 2015-05-07 |
US8904103B2 (en) | 2014-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8904103B2 (en) | Data processing apparatus and method for recording data | |
US5966358A (en) | Signal recording apparatus and signal recording method | |
US9280487B2 (en) | Methods and apparatus for data processing using data compression, linked lists and de-duplication techniques | |
JP6080799B2 (en) | A method for reading and writing through a file system for a tape recording system | |
TWI431616B (en) | Drive apparatus | |
US6636942B2 (en) | Storage structure for storing formatted data on a random access medium | |
US9448943B2 (en) | Partial volume access in a physical stacked volume | |
JP3674531B2 (en) | File management method, file management apparatus, and program | |
US7864478B2 (en) | Verification of a tape data storage cartridge | |
US20130054918A1 (en) | Blocked based end-to-end data protection for extended count key data (eckd) | |
CN112463724B (en) | Data processing method and system for lightweight file system | |
US20140379983A1 (en) | Storage system, control apparatus, and control method | |
US20080010324A1 (en) | System and method for high speed device access | |
US20180018238A1 (en) | System and apparatus for managing files | |
CN1985307A (en) | Recording/reproducing apparatus, recording/reproducing method and information storage medium | |
US8856436B2 (en) | Locating host data records on a physical stacked volume | |
US9170747B2 (en) | Storage device, control device, and control method | |
JP6341652B2 (en) | Automatic reclamation of tape cartridge data | |
JPH04325923A (en) | Access control system for optical disk device | |
US20070097534A1 (en) | Tape drive apparatus and method | |
US8799580B2 (en) | Storage apparatus and data processing method | |
JP6542152B2 (en) | Object storage, controller and program | |
US9841930B2 (en) | Storage control apparatus and storage control method | |
US20170168741A1 (en) | Encoded parity | |
EP0913760A1 (en) | Data encoding scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FUJITSU LIMITED, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TANIYAMA, YUKIO;REEL/FRAME:027324/0423 Effective date: 20111005 |
|
CC | Certificate of correction | ||
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.) |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Expired due to failure to pay maintenance fee |
Effective date: 20181202 |