JP5712609B2 - データ処理装置及びデータ記録方法 - Google Patents

データ処理装置及びデータ記録方法 Download PDF

Info

Publication number
JP5712609B2
JP5712609B2 JP2010287478A JP2010287478A JP5712609B2 JP 5712609 B2 JP5712609 B2 JP 5712609B2 JP 2010287478 A JP2010287478 A JP 2010287478A JP 2010287478 A JP2010287478 A JP 2010287478A JP 5712609 B2 JP5712609 B2 JP 5712609B2
Authority
JP
Japan
Prior art keywords
block
data
unit
recording
compressed
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.)
Expired - Fee Related
Application number
JP2010287478A
Other languages
English (en)
Other versions
JP2012133731A (ja
Inventor
行生 谷山
行生 谷山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010287478A priority Critical patent/JP5712609B2/ja
Priority to US13/291,484 priority patent/US8904103B2/en
Publication of JP2012133731A publication Critical patent/JP2012133731A/ja
Application granted granted Critical
Publication of JP5712609B2 publication Critical patent/JP5712609B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files

Description

本件は、データ処理装置及びデータ記録方法に関する。
仮想テープライブラリ(Virtual Tape Library:VTL)は、ディスク装置上でテープドライブを仮想的に実行させることで、ホストコンピュータ等の上位装置に対して、あたかもテープドライブが接続されているかのように見せかける仕組みである(例えば、下記特許文献1参照)。この仮想テープライブラリの技術においては、データをディスク装置上にブロック単位で書き込む。
仮想テープライブラリは、従来の物理テープライブラリの運用に大きな変更を与えることなく容易に導入することができ、又、バックアップ等の処理の高速化を図ることができる。
また、仮想テープライブラリにおいては、ディスク装置やテープドライブにデータを書き込む際に、圧縮することも行なわれている(例えば、下記特許文献2,3)。仮想ディスクライブラリにおける従来のデータ圧縮手法においては、一般に、ファイル毎にデータの圧縮・非圧縮の判断を行なっている。例えば、ファイルのデータ部の先頭ブロックを圧縮して、その圧縮残存率を所定の閾値と比較し、圧縮残存率が閾値以下の場合に、そのファイルを構成する全てのブロックを圧縮してストレージ装置に記録する。
ここで、圧縮残存率とは、圧縮前のデータサイズに対する圧縮後のデータサイズの比率(割合)を示し、圧縮率ともいう。この圧縮残存率においては、数値が低い程、圧縮後のデータサイズが小さく、圧縮性能が良いことを表す。
特開2005−122433号公報 特開2005−99971号公報 特開2008−152778号公報
図18は圧縮残存率と処理時間との関係を示す図である。この図18に示すように、圧縮されたブロックを処理するために要する時間には、データ転送時間と圧縮復元時間とが含まれる。
ここで、データ転送時間は、データの転送に要する時間であり、データサイズに比例する。又、圧縮復元時間は、データの圧縮や復元を行なうために要する時間であり、例えば、圧縮・復元に用いる辞書テーブルの作成・保存や、この辞書テーブルの参照に要する時間等が含まれる。そして、この圧縮復元時間は、データサイズにかかわらず一定時間である。
従って、圧縮残存率が特定の値(図18に示す例では90%)を越える圧縮データは、圧縮復元時間が不要な非圧縮で記録する場合よりも処理時間がかかるという課題がある。
また、圧縮データにおいては圧縮辞書等の付随する情報も記録する必要があるので、圧縮残存率が特定値(例えば、90%)を超えると、非圧縮で記録する場合よりもデータ量が多くなるという課題もある。
本件の目的の一つは、データ記録時の処理速度を速くするとともに、データ量を小さくできるようにすることである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、データ処理装置は、連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ処理装置であって、ブロックを圧縮した場合の圧縮率を算出する算出部と、算出した前記圧縮率を予め設定された閾値と比較して、当該ブロックについて圧縮もしくは非圧縮を判断する判断部と、当該ブロックを、判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記
録する記録部と、前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、各ブロックを前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報を作成するデータ処理情報作成部と、前記データ処理情報作成部によって作成された前記データ処理情報を記録装置に格納する格納処理部と、前記ストレージ装置に記録されている前記ブロックに対して所定のタイミングで圧縮率を再度算出する第2の算出部と、前記第2の算出部により算出された前記圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する前記状態情報を更新する更新部とをそなえ、該ブロックの記録が同一のブロックの2回目以降の記録であり、当該ブロックが前記ストレージ装置に圧縮状態で記録されている場合に、前記第2の算出部が、前記ストレージ装置に圧縮状態で記録されている当該ブロックに対して前記圧縮率の算出を行なう
また、このデータ処理装置は、連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ処理装置であって、ブロックを圧縮した場合の圧縮率を算出する算出部と、算出した前記圧縮率を予め設定された閾値と比較して、当該ブロックについて圧縮もしくは非圧縮を判断する判断部と、当該ブロックを、判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する記録部と、前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、各ブロックを前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報を作成するデータ処理情報作成部と、前記データ処理情報作成部によって作成された前記データ処理情報を記録装置に格納する格納処理部と、前記ストレージ装置に記録されている前記ブロックに対して所定のタイミングで圧縮率を再度算出する第2の算出部と、前記第2の算出部により算出された前記圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する前記状態情報を更新する更新部と、前記データ処理情報において、前記データの連続する複数のブロックにおける、非圧縮の状態で前記ストレージ装置に記録された先頭のブロックに対して先頭識別情報を関連付けて記録する先頭識別情報記録部とをそなえ、前記第2の算出部が、前記先頭識別情報が設定された前記ブロックを始点として、前記データを構成する連続する各ブロックに対して、前記圧縮率の算出を順次行なう。
また、このデータ処理装置は、連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ処理装置であって、前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、前回、前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報から、前記データ処理情報の前記状態情報を参照する参照部と、参照した前記状態情報に従って、前記ブロックを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する記録部と、前記ストレージ装置に記録されている前記ブロックに対して所定のタイミングで圧縮率を算出する算出部と、前記算出部により算出された前記圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する前記状態情報を更新する更新部とをそなえ、該ブロックの記録が同一のブロックの2回目以降の記録であり、当該ブロックが前記ストレージ装置に圧縮状態で記録されている場合に、前記算出部が、前記ストレージ装置に圧縮状態で記録されている当該ブロックに対して前記圧縮率の算出を行なう
さらに、このデータ記録方法は、連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ記録方法であって、ブロックを圧縮した場合の圧縮率を算出するステップと、算出した圧縮率を予め設定された閾値と比較することにより、当該ブロックについて圧縮もしくは非圧縮を判断するステップと、前記判断結果に基づき、当該ブロックを圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録するステップと、前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、各ブロックを前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報を作成するステップと、前記データ処理情報を記録装置に格納するステップと、前記ストレージ装置に記録されている前記ブロックに対して所定のタイミングで圧縮率を再度算出するステップと、再度算出された前記圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する前記状態情報を更新するステップとをそなえ、該ブロックの記録が同一のブロックの2回目以降の記録であり、当該ブロックが前記ストレージ装置に圧縮状態で記録されている場合に、前記ストレージ装置に圧縮状態で記録されている当該ブロックに対して前記圧縮率を再度算出する。
開示の技術によれば、以下の少なくともいずれか1つの効果ないし利点が得られる。
(1)ストレージ装置へのデータのライト処理を高速化することができる。
(2)ブロックの圧縮もしくは非圧縮の判断に要する負荷を軽減することができる。
(3)データサイズを小さくすることができ、ストレージ装置や記録媒体を効率的に運用することができる。
実施形態の一例としての仮想テープライブラリシステムの機能構成を模式的に示す図である。 実施形態の一例としての仮想テープライブラリシステムのハードウェア構成図である。 実施形態の一例としての仮想テープライブラリシステムにおいて用いられるテープフォーマットを例示する図である。 実施形態の一例としての仮想テープライブラリシステムにおいて用いられるテープフォーマットを例示する図である。 実施形態の一例としての仮想テープライブラリシステムにおいて用いられるテープフォーマットを例示する図である。 実施形態の一例としての仮想テープライブラリシステムにおいて用いられるテープフォーマットを例示する図である。 (a),(b)は実施形態の一例としての仮想テープライブラリシステムにおける管理テーブルを説明するための図である。 (a),(b)は実施形態の一例としての仮想テープライブラリシステムにおける管理テーブルを用いたライト処理を説明するための図である。 実施形態の一例としての仮想テープライブラリシステムにおけるディスクアレイ装置へのデータのライト処理を模式的に示す図である。 (a),(b)は実施形態の一例としての仮想テープライブラリシステムにおけるパトロール処理を説明するための図である。 (a),(b)は実施形態の一例としての仮想テープライブラリシステムにおけるパトロール処理を説明するための図である。 実施形態の一例としての仮想テープライブラリシステムにおけるパトロール処理を模式的に示す図である。 実施形態の一例としての仮想テープライブラリシステムにおけるマイグレーション処理を模式的に示す図である。 実施形態の一例としての仮想テープライブラリシステムにおける、ホストからの一般ジョブについての圧縮/非圧縮制御にかかる処理の概要を説明するための図である。 実施形態の一例としての仮想テープライブラリシステムにおけるライト処理を説明するためのフローチャートである。 実施形態の一例としての仮想テープライブラリシステムにおけるパトロール処理を説明するためのフローチャートである。 実施形態の一例としての仮想テープライブラリシステムにおけるマイグレーション処理を説明するためのフローチャートである。 圧縮残存率と処理時間との関係を示す図である。
以下、図面を参照して本仮想テープライブラリシステムに係る実施の形態を説明する。
図1は実施形態の一例としての仮想テープライブラリシステムの機能構成を模式的に示す図、図2はそのハードウェア構成図である。
仮想テープライブラリシステム1は、ディスクアレイ(ストレージ装置)24をそなえ、このディスクアレイ24上においてテープ運用を仮想的に実現する。
この仮想テープライブラリシステム1は、図2に示すように、仮想ライブラリ装置2とテープライブラリ装置3とをそなえている。仮想テープライブラリシステム1は、上位装置であるホスト100と通信回線50を介して通信可能に接続され、ホスト100から送信されるデータを、ディスクアレイ24に格納する。
仮想テープライブラリシステム1は、ホスト100から送信されるデータをテープフォーマットでディスクアレイ24に格納する。例えば、ホスト100のデータのバックアップジョブとして、ホスト100で用いられる各種データをディスクアレイ24に格納する。又、ディスクアレイ24に格納されたデータは、マイグレーション処理により、必要に応じてテープライブラリ装置3の記録テープ33に移動(セーブ)される。
ホスト100は、例えば、バックアップサーバとしての機能をそなえ、予めスケジュール化されたバックアップジョブを行なう。このバックアップジョブは、ホスト100が、保存対象のデータ(バックアップデータ)を仮想ライブラリ装置2に送信し、仮想ライブラリ装置2においてディスクアレイ24に保存することにより行なう。ここでバックアップデータには、ジョブ毎に決まったファイル名が設定される。例えば、日々実施される曜日毎のバックアップにおいては、同じ曜日のバックアップデータには同一のファイル名が設定される。
一般に、バックアップジョブのような定常的に行なわれるジョブに関しては、ファイル名が一致すると、そのデータのデータ部を構成するブロックについて、ブロック数,圧縮/非圧縮のデータの性質はほとんどの部分において一致する傾向にある。
また、これらの同じファイル名が設定されたバックデータは、ディスクアレイ24における同一もしくはほぼ同一の格納場所に決まったボリュームに決まった順番で処理される。
テープライブラリ装置3は、ロボットユニット31,記録テープ33及びドライブユニット32をそなえている。このテープライブラリ装置3は、仮想ライブラリ装置2から送信されるデータを記録テープ33に記録したり、又、記録テープ33に記録されているデータを読み出し、仮想ライブラリ装置2に送信する。
記録テープ33は、データを順次アクセス記憶する記録媒体であって、例えば、磁気テープ,カートリッジテープ,カセットテープ等が用いられる。図2に示す例においては、テープライブラリ装置3に複数の記録テープ33が搭載される。
ロボットユニット31は、図示しないアーム等を用いて記録テープ33を把持して搬送する機構をそなえ、記録テープ33を搬送してドライブユニット32に取り付ける。ロボットユニット31は、後述する仮想ライブラリ装置2の階層制御部20からの制御に従って、複数の記録テープ33の中から一の記録テープ33を選択する。そして、この選択した記録テープ33を搬送してドライブユニット32に取り付ける。
ドライブユニット32は、記録テープ33に対してデータの読み書きを行なうものであり、ロボットユニット31によって取り付けられた記録テープ33に対して、テープフォーマットでデータの書き込みを行なう。
また、本仮想テープライブラリシステム1は、仮想ライブラリ装置2のディスクアレイ24に格納されているデータを、テープライブラリ装置3の記録テープ33に移動する、マイグレーション機能をそなえている。
仮想ライブラリ装置2は、階層制御部20とディスクアレイ24とをそなえる。この仮想ライブラリ装置2は、ホスト100とテープライブラリ装置3との間にそなえられ、ホスト100から送信されるデータをディスクアレイ24の論理テープボリュームにテープフォーマットで記憶する。
本仮想テープライブラリシステム1において用いられるテープフォーマットには、ISO,ANSI,JIS等において標準化されているものを用いることが望ましい。
図3〜図6は、本仮想テープライブラリシステム1において用いられるテープフォーマットを例示する図である。図3はテープフォーマットにおけるボリュームフォーマットを例示する図、図4はそのボリュームラベルを例示する図、図5及び図6はそのファイルラベルを例示する図である。なお、図4〜図6中において、カッコ“()”付きの符号はバイト数を示す。
図3に示すように、テープフォーマットにおいては、データ部においてデータがブロック(データブロック)単位で記録される。そして、データの書き込みや読み出しは、これらのブロックをその先頭位置から順番に処理することにより行なわれる。
図4に示す例においては、ラベル識別記号は4バイト(byte)の文字列であり、例えば“VOL1”である。又、ボリューム名は6バイトの文字列であり、例えば“AAAAAA” である。更に、所有者は10バイトの文字列であり、例えば“FUJITSU-FS”である。
図5に示す例においては、ラベル識別記号は4バイトの文字列であり、例えば “ HDR1”である。又、ファイル名は17バイトの文字列であり、例えば、“DATA-COMP-FILE”である。ファイル通番は6バイトの文字列であり、例えば、“123456”である。ボリューム順番は4バイトの文字列であり、例えば“0001”,“0002”,---,“9999”である。ファイル順番は6バイトの文字列であり、例えば、“0001”,“0002”,---,“9999”である。作成日は8バイトの文字列であり、例えば“20100506”である。有効期限は6バイトの文字列であり、例えば“200506”である。ブロックカウントは6バイトの文字列であり、例えば、“000001”,“000002”,----,“999999”である。
図6に示す例においては、ラベル識別記号は4バイトの文字列であり、例えば“HDR2”である。レコード形式は1バイトの文字列であり、例えば“F(固定長レコード)”や“V(可変長レコード)”,“U(不定長レコード)”である。ブロック長は5バイトの文字列であり、例えば“32000”である。レコード長は5バイトの文字列であり、例えば、“32000”である。記録密度及びファイル位置はそれぞれ1バイトの文字列である。
なお、これらの図3〜図6に示すテープフォーマットは標準化されたものの一例であり、その詳細な説明は省略する。又、この例においては、一つのファイルをテープに記録例について示している。
そして、一般的なテープフォーマットにおいては、ボリューム名(図4参照)やファイル名(図5参照)が格納される。本実施形態においては、これらのボリューム名及びファイル名は、データを識別・特定するためのデータ識別情報として機能する。
ディスクアレイ24は、例えばRAID(Redundant Arrays of Inexpensive Disks)装置であり、複数のHDD(Hard Disk Drive)を組み合わせて、冗長化された1つのストレージとして管理するものである。このディスクアレイ24は、階層制御部20に対して仮想的なストレージを提供する。
階層制御部20は、サーバの処理を複数の階層に分離して配置することで、ある階層へ変更を加える必要が生じた際にも柔軟に対応できるようにしたサーバ・コンピュータである。
この階層制御部20は、ホスト100からの指示に応じて、送信されるデータをテープフォーマットでディスクアレイ24に格納する。又、階層制御部20は、ホスト100からの指示に応じて、ディスクアレイ24に格納されているデータをホスト100に送信する。更に、階層制御部20は、ホスト100からの指示に応じて、ディスクアレイ24に格納されたデータをテープライブラリ装置3の記録テープ33に移動するマイグレーションを行なう。
階層制御部20は、図示しない、CPU(Central Processing Unit)やRAM(Random Access Memory),ROM(Read Only Memory),HDD(Hard Disk Drive)の他、メモリ25等をそなえる。そして、CPUが、HDD等に格納されたOS(Operating System)や各種プログラムを実行することにより各種機能を実現する。又、メモリ(記録装置)25は、例えば不揮発性メモリであり、このメモリ25に後述する管理テープルTを格納する。
なお、管理テーブルTを格納するメモリ25は不揮発性メモリに限定されるものではない。例えば、OSやプログラムを実行するためにデータを一時的に格納・展開する上記RAMやHDD等の他の記録装置を用いてもよく、種々変形して実施することができる。
階層制御部20は、図1に示すように、ライト処理部21,パトロール処理部22及びマイグレーション処理部23としての機能をそなえる。
ライト処理部21は、ホスト100から受信したデータを、ディスクアレイ24に上述したテープフォーマットで書き込むライト処理を行なう。このライト処理部21は、図1に示すように、受信部201,確認部202,圧縮率算出部203,記録部204,判断部205,管理テーブル作成部206及び格納処理部207をそなえている。
受信部201は、ディスクアレイ24に書き込むためのデータをブロック単位で受信する。受信したデータは、図示しないメモリ(バッファ)に格納される。以下、ブロック単位のデータを単にブロックという場合がある。
確認部202は、受信部201がホスト100から受信したデータのヘッダ部(図3参照)から、ボリューム名及びファイル名を抽出する。そして、確認部202は、これらのホスト100から受信したボリューム名及びファイル名と、メモリ25に格納されている管理テーブル(データ処理情報)T(詳細は後述)に登録されているエントリのボリューム名及びファイル名とを照合する。これにより、確認部202は、受信したボリューム名及びファイル名に対応するエントリが管理テーブルTに登録されているか否かを確認する。つまり、確認部202は、ホスト100から送信されたデータのライト処理要求が、同一データについての2回目以降のライト処理であるか否かを確認する。
圧縮率算出部(算出部)203は、データ圧縮手法を用いてブロックを圧縮した場合の圧縮率を算出する。圧縮率とは、圧縮前のデータサイズに対する圧縮後のデータサイズの比率(割合)を示し、圧縮残存率ともいう。又、データ圧縮手法としては、例えば、ハフマン符号化、レンペルジブ符号化、ランレングス符号化等、既知の種々の手法を適宜用いることができる。
また、圧縮率算出部203は、上述したデータ圧縮手法を用いて、ブロックを実際に圧縮する圧縮処理部としての機能もそなえている。
圧縮率算出部203は、例えば、上述したデータ圧縮手法を用いてブロックを圧縮して、その圧縮後のデータサイズを測定し、この圧縮後のデータサイズと圧縮前のデータサイズとを用いて圧縮率を算出する。なお、圧縮率算出部203は、実際にブロックを圧縮することなく、ブロックの圧縮後のデータサイズをシミュレートすることにより圧縮後のデータサイズを取得してもよい。なお、このようなブロックの圧縮後のデータサイズは、既知の種々の手法を用いて算出することができ、その詳細な説明は省略する。
また、圧縮率算出部203は、前述した確認部202による確認の結果、受信したボリューム名及びファイル名に対応するエントリが管理テーブルTに格納されていない場合に、そのデータを構成する各ブロックについて圧縮率の算出を行なう。
判断部205は、ホスト100から受信したブロックをディスクアレイ24に格納する際に、圧縮した状態で格納するか非圧縮の状態で格納するかを判断する。具体的には、判断部205は、圧縮率算出部203が算出した、そのブロックの圧縮率を予め設定された閾値と比較する。そして、算出された圧縮率が閾値よりも低い場合には、そのブロックを圧縮した状態でディスクアレイ24に記録すると判断し、一方、算出された圧縮率が閾値以上の場合には、そのブロックを非圧縮でディスクアレイ24に記録すると判断する。
ここで、前述したように、圧縮率がある特定値を超えると、非圧縮でデータを書き込んだ方が処理時間が短くなる。本実施形態においては、この圧縮率の特定値を判断部205が圧縮もしくは非圧縮を判断するための閾値として用いる。
なお、この閾値は階層制御部20におけるデータバスの処理性能やデータ圧縮のアルゴリズム等により変化する値である。そこで、予め、データを、圧縮率を種々に変化させて圧縮してディスクアレイ24に書き込み、各処理時間を測定する一方で、同一のデータを非圧縮状態でディスクアレイ24に書き込んでその処理時間を測定する。これらの処理時間の比較を行ない、非圧縮のデータの処理(データ転送)に要する時間(テータ転送時間:処理時間)よりも、圧縮したデータの処理(圧縮復元及びデータ転送)に要する時間が長くなる、境界値としての圧縮率を上記閾値として採用することが望ましい。
本実施形態においては、ブロックをディスクアレイ24に格納する際に、判断部205が圧縮した状態で格納するか非圧縮の状態で格納するかを判断するための閾値が90%である場合について例示する。
この判断部205による判断結果は圧縮率算出部203に通知される。圧縮率算出部203は、この判断部205の判断結果が圧縮である場合に、受信したブロックを圧縮し、この圧縮した状態のブロックを記録部204に受け渡す。又、圧縮率算出部203は、判断部205の判断結果が非圧縮である場合に、受信したブロックを非圧縮の状態で記録部204に受け渡す。
管理テーブル作成部206は、管理テーブルTに登録するエントリを作成するデータ処理情報作成部である。
図7(a),(b)は実施形態の一例としての仮想テープライブラリシステム1における管理テーブルTを説明するための図であり、図7(a)はデータの一例を示す図、図7(b)は図7(a)のデータについての管理テーブルTのエントリを例示する図である。
図7(a)に示す例においては、データのデータ部がn個のブロックで構成されている。又、図7(a)に示す例においては、データ部を構成する各ブロックに対して、それぞれブロック番号k(k=1〜nの自然数)をカッコ“()”を付して示している。そして、データ部を構成するブロック列の先頭のブロックにブロック番号1(k=1)を付し、ブロック列の最後尾のブロックにブロック番号n(k=n)を付している。
そして、図7(a),(b)に示す例においては、データ部のn個のブロックのうち、先頭から1番目と2番目のブロック(k=1,2)が圧縮状態で格納されており、先頭から3番目のブロック以降(k=3〜n)が非圧縮で格納されている。
管理テーブルTは、ディスクアレイ24に格納したデータの処理状態を表すデータ処理情報としてのエントリを1以上格納する。図7(b)に示す例においては、この管理テーブルTのエントリとして、データを識別・特定するためのボリューム名及びファイル名に対して、圧縮・非圧縮状態,パトロールポインタ及びラストブロック(Last Block)を関連付けている。
ボリューム名及びファイル名は、データを識別するデータ識別情報である。圧縮・非圧縮状態は、データのデータ部を構成する各ブロックについて、圧縮もしくは非圧縮のいずれの状態で記録したかを示す状態情報である。図7(b)に示す例においては、圧縮の状態を“0”で表し、非圧縮の状態を“1”で表している。
パトロールポインタは、後述するパトロール処理の始点となるブロックを特定する情報である。具体的には、ディスクアレイ24に記録されたデータについて、そのデータ部を構成する連続する複数のブロックにおける、非圧縮の状態でディスクアレイ24に記録された先頭のブロックを識別するブロック番号(先頭識別情報)がパトロールポインタとして登録される。
すなわち、管理テーブル作成部206は、管理テーブルTにおいて、データのデータ部を構成するブロック列における、非圧縮の状態で前記ストレージ装置に記録された先頭のブロックに対してパトロールポインタを関連付けて記録する先頭識別情報記録部として機能する。
ラストブロック(Last Block)は、後述するパトロール処理の終点となるブロックを特定する情報である。具体的には、データのデータ部を構成するブロック列の最終ブロックを識別するブロック番号(k=n)がラストブロックとして登録される。
すなわち、管理テーブルTには、データ識別情報としてのボリューム名及びファイル名に、状態情報としての圧縮・非圧縮状態を対応付けたエントリ(データ処理情報)が格納されている。
なお、図7(b)に示す例においては、便宜上、管理テーブルTにボリューム名“VOLAAA”、且つ、ファイル名“HDRAAA”の1つのデータについてのエントリのみ示しているが、これに限定されるものではなく、管理テーブルTには他のデータについても登録される。
また、作成された管理テーブルTはメモリ25に格納される。
格納処理部207は、管理テーブル作成部206によって作成された管理テーブルTをメモリ25に格納する。
記録部204は、ブロックを圧縮もしくは非圧縮のいずれかの状態でディスクアレイ24に記録する。記録部204は、圧縮率算出部203がブロックを圧縮した場合には圧縮した状態でそのブロックをディスクアレイ24に記録し、圧縮率算出部203がブロックの圧縮を行なわなわなかった場合には、そのブロックを非圧縮の状態でディスクアレイ24に記録する。
すなわち、記録部204は、判断部205の判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する。
また、記録部204は、前述した確認部202による確認の結果、管理テーブルTにおいて、受信したボリューム名及びファイル名に対応するエントリ登録されている場合に、そのエントリの圧縮・非圧縮状態に従って、受信したブロックを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する。
すなわち、既にディスクアレイ24に格納されているデータを、再度、ディスクアレイ24に格納する場合には、記録部204は、管理テーブルTに登録されたそのデータにかかるエントリの圧縮・非圧縮状態を参照する。
そして、記録部204は、そのデータのデータ部の各ブロックを、管理テーブルTに登録されたそのデータにかかるエントリの圧縮・非圧縮状態に従って、圧縮もしくは非圧縮のいずれかの状態でディスクアレイ24に格納する。
図8(a),(b)は実施形態の一例としての仮想テープライブラリシステム1における管理テーブルTを用いたライト処理を説明するための図であり、図8(a)は管理テーブルTのエントリを例示する図、図8(b)は図8(a)の管理テーブルTに対応するデータの一例を示す図である。
例えば、ホスト100からライト指令を受けた場合において、そのデータが、ボリューム名“VOLAAA”、ファイル名“HDRAAA”であった場合について例示する。図8(a)に示す例において、管理テーブルTに、既にボリューム名“VOLAAA”、ファイル名“HDRAAA”のエントリが登録されている。この場合、確認部202が、受信したデータのボリューム名及びファイル名に対応するエントリがメモリ25の管理テーブルTに登録されていることを確認する。
圧縮率算出部203は、受信したデータのデータ部の先頭ブロックから順番に、各ブロックを、この管理テーブルTのエントリにおける圧縮・非圧縮状態に従って、圧縮もしくは非圧縮の状態にする。すなわち、図8(a)に示す例においては、圧縮・非圧縮状態において、データ部の先頭ブロックが圧縮状態であり、2〜5番目のブロックは非圧縮状態であることを示している。圧縮率算出部203は、この圧縮・非圧縮状態に従って、データ部の先頭ブロックを圧縮状態とし、2〜5番目のブロックを非圧縮状態とする。
ただし、この際、管理テーブルTのエントリに従って圧縮状態にしたブロックについては、判断部205が、その圧縮率に基づき、圧縮もしくは非圧縮のいずれの状態でディスクアレイ24に書き込むかの判定を再度行なう。
すなわち、圧縮率算出部203は、管理テーブルTのエントリに従って圧縮状態にしたブロックについては、その圧縮率を算出し、判断部205に受け渡す。判断部205は、圧縮率算出部203によって算出された圧縮率を予め設定された閾値と比較する。そして、この算出された圧縮率が閾値以上の場合には、そのブロックを非圧縮でディスクアレイ24に記録することを判断する。
このように、管理テーブルTのエントリにおいて、圧縮・非圧縮状態に圧縮が設定されているブロックであっても、圧縮率算出部203によって算出した圧縮率が閾値以上となったものについては、ディスクアレイ24に非圧縮の状態で書き直す。これにより、ディスクアレイ24に格納されているデータが何等かの理由で変わった場合であっても、管理テーブルTのエントリの圧縮・非圧縮状態が、データの実際の状態に一致し、信頼性を向上させることができる。
なお、管理テーブルTのエントリにおいて圧縮・非圧縮状態に非圧縮状態が設定されているブロックについては、圧縮率に基づく圧縮もしくは非圧縮の再判定は行なわない。これにより、処理の高速化を図るとともに、階層制御部20の負荷を軽減することができる。
圧縮率算出部203は、このように圧縮/非圧縮の状態に生成した各ブロックのデータを、記録部204に受け渡し、記録部204は、これらの圧縮もしくは非圧縮の状態に成形されたブロックをディスクアレイ24に記録する。
図9は実施形態の一例としての仮想テープライブラリシステム1におけるディスクアレイ24へのデータのライト処理を模式的に示す図である。
ライト処理は、この図9に示すように、ファイルオープン(File Open)処理,データ部ライト処理及びファイルクローズ(File Close)処理をそなえる。
ファイルオープン処理においては、書き込み対象のデータのファイル名を取得し、ディスクアレイ24にデータのヘッダ部の書き込みを行なう。データ部ライト処理においては、書き込み対象のデータのデータ部をブロック単位で圧縮率の算出を行なう。又、この圧縮率の算出結果に基づいて、ブロック毎に圧縮/非圧縮の判断を行ない、更に、その判断結果に基づいて、ブロックを圧縮状態でディスクアレイ24に格納する圧縮処理や、ブロックを非圧縮状態でディスクアレイ24に格納する非圧縮処理を行なう。なお、このデータ部ライト処理は、管理テーブルT及びブロックカウンタ(Block Counter)を参照しながら行なう。
ブロックカウンタは、ライト処理や後述するマイグレーション処理において、処理対象のブロックを特定する情報(カウンタ値)であり、データを構成するブロックのブロック番号に対応する。ファイルクローズ処理においては、ディスクアレイ24にデータのEOF部の書き込みを行なう。
パトロール処理部22は、管理テーブル作成部206が作成した管理テーブルTを更新するパトロール処理を行なう。なお、パトロール処理は、例えば、ホスト100からアンロードコマンドを受信したタイミングで開始される。又、望ましくは、パトロール処理は、前回にパトロール処理行なってから所定時間経過した後に行なうことが望ましい。
このパトロール処理部22は、図1に示すように、再算出部221及び更新部222をそなえる。
再算出部221は、ディスクアレイ24に記録されているデータのブロックの圧縮率を再算出する。この再計算部221は、圧縮率算出部203と同様の手法でブロックの圧縮率を算出する。
また、再算出部221は、パトロール処理を行なうに際して、管理テーブルTにおけるパトロールポインタが示すブロックを始点として、データ部を構成する後続する各ブロックに対して圧縮率の算出(再算出)を順次行なう。
更新部222は、再算出部221により再度算出された圧縮率に基づいて、管理テーブルTにおける、各ブロックに対応する圧縮・非圧縮状態を更新する。すなわち、更新部222は、再算出部221により再度算出された圧縮率に基づいて、そのブロックを圧縮した状態で格納するべきであるか非圧縮の状態で格納するべきであるかを判断する。
具体的には、更新部222は、再算出部221が算出した、そのブロックの圧縮率を予め設定された閾値と比較する。そして、再算出された圧縮率が閾値よりも低い場合には、そのブロックについて“圧縮”するべきブロックと判断する。又、再算出された圧縮率が閾値以上の場合には、そのブロックについて“非圧縮”とするべきブロックと判断する。
そして、この判断の結果が、その判断時点において、管理テーブルTにおけるそのブロックの圧縮・非圧縮状態と異なっている場合には、更新部222は、管理テーブルTにおけるそのブロックの圧縮・非圧縮状態を再算出された圧縮率に基づく判断結果で更新する。なお、この際、ディスクアレイ24に格納されているブロックを圧縮もしくは非圧縮の状態に書き換えることまでは行なわず、管理テーブルTの更新を行なうにとどめる。
図10(a),(b),図11(a),(b)は、それぞれ実施形態の一例としての仮想テープライブラリシステム1におけるパトロール処理を説明するための図である。図10(a)はパトロール処理前のデータの一例を示す図、図10(b)は図10(a)のデータについての管理テーブルTのエントリを例示する図である。又、図11(a)はパトロール処理後のデータの一例を示す図、図11(b)は図11(a)のデータについての管理テーブルTのエントリを例示する図である。
図10(a),(b),図11(a),(b)に示す例においては、データのデータ部がn個のブロックで構成されている。又、図10(a),図10(b)に示す例においては、データ部を構成する各ブロックに対して、それぞれブロック番号k(k=1〜nの自然数)をカッコ“()”を付して示している。そして、データ部を構成するブロック列の先頭のブロックにブロック番号1(k=1)を付し、ブロック列の最後尾のブロックにブロック番号n(k=n)を付している。
パトロール処理前においては、図10(a),(b)に示すように、データ部のn個のブロックのうち、先頭から1番目と2番目のブロック(k=1,2)が圧縮状態で格納されており、先頭から3番目のブロック以降(k=3〜n)が非圧縮で格納されている。
そして、上述したパトロール処理部22によるパトロール処理において、図11(a)に示すように、例えば、先頭からn−1番目のブロックの圧縮率が閾値よりも小さくなることが判明した場合には、図11(b)に示すように、管理テーブルTにおける対応するデータのエントリの圧縮・非圧縮状態において、そのn−1番目のブロックに対して圧縮状態が設定される。
図12は実施形態の一例としての仮想テープライブラリシステム1におけるパトロール処理を模式的に示す図である。
パトロール処理は、この図12に示すように、タイマ(Timer)起動及びデータ部リード処理をそなえる。
タイマ起動においては、ホスト100からのアンロードコマンドの受信を契機として、前回パトロール処理を行なってから所定期間経過した場合に、パトロール処理を開始する。
データ部リード処理は、パトロールポインタ及び管理テーブルTを参照しながら行なう。このデータ部リード処理においては、管理テーブルTにおける対象データのエントリを参照して、そのパトロールポインタを取得する。そして、このパトロールポインタによって表されるブロックを始点として、データ部を構成する、後続する各ブロックに対して圧縮率の算出(再算出)を行なう。そして、これらの再度算出された圧縮率に基づいて、管理テーブルTにおける、各ブロックに対応する圧縮・非圧縮状態を更新する。
マイグレーション処理部23は、ストレージ装置に格納されたデータを記録テープ(記録媒体)33に移動させるマイグレーション処理を行なう。マイグレーション処理は、ホスト100から、マイグレーションの実行指令とともに、マイグレーションの対象となるデータを識別するためのボリューム名及びファイル名(データ識別情報)を受信することにより開始する。
このマイグレーション処理部23は、図1に示すように、データセーブ処理部231及び管理テーブル参照部232をそなえる。
管理テーブル参照部(データ処理情報参照部)232は、マイグレーションの実行指令とともに受信したボリューム名及びファイル名に基づいて管理テーブルTを参照し、マイグレーション対象のデータに対応するエントリが登録されているか否かを確認する。すなわち、管理テーブル参照部232は、マイグレーション対象のデータのボリューム名及びファイル名が、管理テーブルTに登録されているか否かを確認する。
データセーブ処理部(媒体記録部)231は、テープライブラリ装置3を制御して、ディスクアレイ24に格納されているデータを記録テープ33に格納する。このデータセーブ処理部231は、上述した管理テーブル参照部232による参照の結果、管理テーブルTにマイグレーション対象のデータにかかるエントリが登録されていた場合に、そのエントリの圧縮・非圧縮状態を取得する。そして、データセーブ処理部231は、この圧縮・非圧縮状態に従って、ディスクアレイ24に格納されているマイグレーション対象のデータを、圧縮もしくは非圧縮のいずれかの状態で記録テープ33に記録する。
図13は実施形態の一例としての仮想テープライブラリシステム1におけるマイグレーション処理を模式的に示す図である。
マイグレーション処理は、この図13に示すように、ファイルオープン(File Open)処理,データ部セーブ処理及びファイルクローズ(File Close)処理をそなえる。
ファイルオープン処理においては、マイグレーション対象のデータをディスクアレイ24から取得する。そして、そのデータのファイル名を取得し、記録テープ33にデータのヘッダ(Header)部の書き込みを行なう。
データ部セーブ処理においては、管理テーブルTにおける対象データのエントリを参照し、その圧縮・非圧縮状態に従って、マイグレーション対象のデータのデータ部を構成する各ブロックを処理する。すなわち、各ブロックを、管理テーブルTの圧縮・非圧縮状態に従って、ブロックを圧縮状態で記録テープ33に格納する圧縮処理や、ブロックを非圧縮状態で記録テープ33に格納する非圧縮処理を行なう。なお、このデータ部セーブ処理は、管理テーブルT及びブロックカウンタ(Block Counter)を参照しながら行なう。ファイルクローズ処理においては、記録テープ33にデータのEOF部の書き込みを行なう。
上述の如く構成された、実施形態の一例としての仮想テープライブラリシステム1における、ホスト100からの一般ジョブについての圧縮/非圧縮制御にかかる処理の概要を、図14を参照しながら説明する。なお、以下に示すかっこ“()”付きの符号は処理の順番を示し、図14中のかっこ“()”付き符号に対応する。
(1)ホスト100は非圧縮データを階層制御部20に送付する。
(2)階層制御部20において、ライト処理部21は、データ部の先頭ブロックから順番に処理して、圧縮/非圧縮のいずれかの状態でディスクアレイ24に書き込む。具体的には、ブロックを圧縮率が閾値(例えば、90%)より低い場合に圧縮でディスクアレイ24書き込み、圧縮率が閾値以上の場合に非圧縮でディスクアレイ24に書き込む。又、データのボリューム名,ファイル名,圧縮・非圧縮状態及びパトロールポインタを階層制御部20のメモリ25に記憶しておく。ここで、圧縮率が閾値よりも高くなったブロックからはファイルの最後のブロックまで非圧縮で処理する。又、圧縮残存率が高くなった次のブロックのブロック番号はパトロールポインタとして階層制御部20のメモリ25の管理テーブルTに記憶しておく。
(3)ホスト100はジョブの終わりにアンロードコマンドを階層制御部20に送付する。
(4)パトロール処理部22は、アンロードコマンドを契機にディスクアレイ24内のデータのパトロール処理を開始する。具体的には、パトロール処理部22は、パトロールポインタが示すブロックの圧縮率を計測する。圧縮率が閾値よりも低い場合は、圧縮するべきブロックであるとして階層サーバ20の管理テーブルT上で圧縮とマークする。同様に、圧縮率が閾値以上であった場合は、非圧縮とするべきブロックであるとして階層サーバ20の管理テーブルT上で非圧縮とマークする。
(5)パトロール処理部22は、一定時間間隔でディスクアレイ24内のデータのパトロール処理を行ない、パトロールポインタが示すブロックの圧縮率の計測を繰り返し行なう。すなわち、パトロール処理部22は、圧縮率が閾値よりも低い場合は、圧縮するべきブロックであるとして階層制御部20の管理テーブルT上で、圧縮・非圧縮状態に圧縮とマーク更新する。同様に、圧縮率が閾値以上であった場合は、非圧縮とするべきブロックであるとして階層制御部20の管理テーブルT上で、圧縮・非圧縮状態に非圧縮とマーク更新する。
(6)パトロール終了後、マイグレーション処理部23が、階層制御部20のメモリ25に記憶した管理テーブルTの圧縮・非圧縮状態に従って、データ部の各ブロックの圧縮/非圧縮制御を行ない、ドライブユニット32を介して記録テープ33にデータを格納(マイグレーション)する。具体的には、マイグレーション処理部23は、管理テーブルTの圧縮・非圧縮状態において、圧縮として登録されているブロックを圧縮状態で、又、非圧縮として登録されているブロックを非圧縮状態で、それぞれ格納する。又、この際、ディスクアレイ24に格納されている圧縮/非圧縮の状態と管理テーブルTの圧縮・非圧縮状態とが異なるブロックについては、管理テーブルTに従って、非圧縮データの圧縮や圧縮データの非圧縮化の処理を行なう。従って、例えば、ディスクアレイ24に圧縮状態で格納されているブロックが、管理テーブルTにおいては非圧縮とすべきブロックとなっている場合には、そのブロックのデータを伸張して非圧縮化する処理を行なう。
(7)同一データの2回目以降のライト処理:ホスト100は非圧縮データを階層制御部20に送付する。
(8)同一データの2回目以降のライト処理:ライト処理部21は、管理テーブルT上に記憶したボリューム名及びファイル名が一致すると、管理テーブルTの圧縮・非圧縮状態の形式に従って、各ブロックを順次ディスクアレイ24に書き込む。ファイル内のデータブロック数が増えたことが判明した場合は、最後のブロックまで非圧縮でディスクアレイ24に書き込む。パトロールポインタは非圧縮の先頭ブロックに戻しておく。
(9)同一データの2回目以降のライト処理:ホスト100はジョブの終わりにアンロードコマンドを階層制御部20に送付する。
(10)同一データの2回目以降のパトロール処理:パトロール処理部22は、アンロードコマンドを契機にディスクアレイ24内のデータのパトロールを開始する。具体的には、パトロールポインタが示すブロックの圧縮率を計測する。圧縮率が閾値よりも低い場合は階層制御部20の管理テーブルT上で圧縮とマークする。同様に、圧縮率が閾値以上であった場合は階層制御部20の管理テーブルT上で非圧縮とマークする。
(11)同一データの2回目以降のマイグレーション処理:マイグレーション処理部23は、パトロール処理終了後、階層制御部20のメモリ25に記憶した管理テーブルTの圧縮・非圧縮状態に従い、記録テープ33にデータを格納する。すなわち、マイグレーション処理部23は、管理テーブルTの圧縮・非圧縮状態において、圧縮として登録されているブロックを圧縮状態で、又、非圧縮として登録されているブロックを非圧縮状態で、それぞれ記録テープ33に格納する。又、この際、ディスクアレイ24に格納されている圧縮/非圧縮の状態と管理テーブルTの圧縮・非圧縮状態とが異なるブロックについては、管理テーブルTの圧縮・非圧縮状態に合わせて、非圧縮データの圧縮や圧縮データの非圧縮化(伸張)の処理を行なう。
次に、上述の如く構成された、実施形態の一例としての仮想テープライブラリシステム1におけるライト処理を、図15に示すフローチャート(ステップA10〜A280)に従って説明する。
ホスト100が非圧縮の状態のデータを階層制御部20に送信すると、受信部201がそのデータを受信し、ファイルオープン処理を行なう(ステップA10)。このファイルオープン処理において、データのヘッダ(Header)部がディスクアレイ24に書き込まれる。
ライト処理部21は、ブロックカウンタ(Block Count)を1に設定(Block Count=1)することによりカウンタリセットを行なう(ステップA20)。なお、このブロックカウンタは、データ部を構成するブロックのブロック番号に対応する。
判断部205は、受信部201がホスト100からライト指令とともに受信したデータのボリューム名及びファイル名に対応するエントリが、メモリ25に格納されている管理テーブルTに登録されているか否かを確認する(ステップA30)。すなわち、判断部205は、ホスト100から送信されたデータのライト処理要求が、同一データについての2回目以降のライト処理であるか否かを確認する(ステップA30)。
管理テーブルTにおいて同一のボリューム名及びファイル名のエントリが登録されてない場合、すなわち、ホスト100から送信されたデータのライト処理要求が初回のライト処理である場合には(ステップA30のNルート参照)、管理テーブルTに新たなエントリを作成して、受信したデータのボリューム名及びファイル名を登録する。
そして、このエントリにおいて、先ず、パトロールポインタの更新を行なう(ステップA40)。具体的には、ブロックカウンタの値をパトロールポインタにセットすることにより、パトロールポインタを更新する。
次に、圧縮率算出部203が、ブロックカウンタによって特定されるデータ部のブロックの圧縮率を算出する(ステップA50)。判断部205は、この算出された圧縮率を予め設定された閾値(90%)と比較することにより、ブロックをディスクアレイ24に格納する際に、圧縮した状態で格納するか非圧縮の状態で格納するかを判断する(ステップA60)。
圧縮率が閾値よりも低い場合には(ステップA60のNルート参照)、記録部204が、そのブロックを圧縮状態でディスクアレイ24に書き込む(ステップA70)。そして、管理テーブル作成部206が、管理テーブルTのそのデータに対応するエントリについて、圧縮・非圧縮状態にそのブロックに対応させて圧縮を示す“0”を設定することにより、管理テーブルTの更新を行なう(ステップA80)。
その後、ブロックカウンタをインクリメント(Block Count+1)して(ステップA90)、そのブロックがデータ部を構成するブロック列の最終ブロックであるか否かを確認する(ステップA100)。すなわち、ブロックカウンタがブロック列の最後尾のブロックのブロック番号nと一致しているか否かを確認する。
そのブロックがデータ部を構成するブロック列の最終ブロックでない場合には(ステップA100のNルート参照)、ステップA40に戻る。又、そのブロックがデータ部を構成するブロック列の最終ブロックである場合には(ステップA100のYルート参照)、ファイルクローズ処理を行ない、ディスクアレイ24にデータのEOF部の書き込みを行ない(ステップA280)、処理を終了する。
また、圧縮率が閾値以上である場合には(ステップA60のYルート参照)、記録部204が、そのブロックを非圧縮状態でディスクアレイ24に書き込む(ステップA110)。又、管理テーブル作成部206が、管理テーブルTのそのデータに対応するエントリについて、圧縮・非圧縮状態にそのブロックに対応させて非圧縮を示す“1”を設定することにより、管理テーブルTの更新を行なう(ステップA120)。
その後、ブロックカウンタをインクリメント(Block Count+1)して(ステップA130)、そのブロックがデータ部を構成するブロック列の最終ブロックであるか否かを確認する(ステップA140)。すなわち、ブロックカウンタがブロック列の最後尾のブロックのブロック番号nと一致しているか否かを確認する。
そのブロックがデータ部を構成するブロック列の最終ブロックでない場合には(ステップA140のNルート参照)、ステップA110に戻る。すなわち、圧縮率が閾値よりも高くなったブロックからはファイルの最後のブロックまで非圧縮で処理する。又、そのブロックがデータ部を構成するブロック列の最終ブロックである場合には(ステップA140のYルート参照)、ステップA280に移行し、処理を終了する。
管理テーブルTにおいて同一のボリューム名及びファイル名のエントリが登録されている場合、すなわち、ホスト100から送信されたデータのライト処理要求が2回目以降のライト処理である場合には(ステップA30のYルート参照)、管理テーブルTにおける、受信したデータのボリューム名及びファイル名に相当するエントリを参照する。
ブロックカウンタに相当するブロックについて、管理テーブルTを参照して圧縮ブロックであるかを確認する(ステップA150)。圧縮ブロックではない場合には(ステップA150のNルート参照)、そのブロックを非圧縮でディスクアレイ24に書き込む(ステップA230)。そして、管理テーブル作成部206が、管理テーブルTのそのデータに対応するエントリについて、圧縮・非圧縮状態にそのブロックに対応させて非圧縮を示す“1”を設定することにより、管理テーブルTの更新を行なう(ステップA240)。これにより、例えば、後述するステップA180の処理において、前回の処理時には圧縮データとして処理されたブロックが、圧縮率が閾値以上であると判断され、非圧縮と判断された場合においても、この非圧縮への変更を管理テーブルTに正しく反映させることができる。
その後、ブロックカウンタをインクリメント(Block Count+1)して(ステップA250)、そのブロックがデータ部を構成するブロック列の最終ブロックであるか否かを確認する(ステップA260)。すなわち、ブロックカウンタがブロック列の最後尾のブロックのブロック番号nと一致しているか否かを確認する。
そのブロックがデータ部を構成するブロック列の最終ブロックでない場合には(ステップA260のNルート参照)、次に、データのデータ部のブロック数が管理テーブルTに登録された状態から増えていないかの確認を行なう(ステップA270)。すなわち、ブロックカウンタの値(Block Count)が最後尾のブロックのブロック番号(Table Last Block)nよりも大きいか否かを確認する。
ブロック数が増えている場合、すなわち、ブロックカウンタの値(Block Count)が最後尾のブロックのブロック番号(Table Last Block)nよりも大きい場合には(ステップA270のYルート参照)、ステップA230に戻る。すなわち、ブロック数が増加していることが判明した場合に、以降のブロックからはファイルの最後のブロックまで非圧縮で処理する。又、ブロック数が増えていない場合、すなわち、ブロックカウンタの値(Block Count)が最後尾のブロックのブロック番号(Table Last Block)n以下の場合には(ステップA270のNルート参照)、ステップA150に戻る。
そして、そのブロックがデータ部を構成するブロック列の最終ブロックである場合には(ステップA260のYルート参照)、ステップA280に移行し、処理を終了する。
また、管理テーブルTのエントリの確認の結果、ブロックが圧縮ブロックである場合には(ステップA150のYルート参照)、このエントリにおいて、先ず、パトロールポインタの更新を行なう(ステップA160)。具体的には、ブロックカウンタの値をパトロールポインタにセットすることにより、パトロールポインタを更新する。これにより、圧縮ブロックの場合に、そのブロックを表すブロックカウンタの値によりパトロールポインタに設定される。すなわち、パトロールポインタが、圧縮状態から非圧縮状態へ切り替わる位置(非圧縮の先頭位置)を表すものとなる。
次に、圧縮率算出部203が、ブロックカウンタによって特定されるデータ部のブロックの圧縮率を算出する(ステップA170)。判断部205は、この算出された圧縮率を予め設定された閾値(90%)と比較することにより、ブロックをディスクアレイ24に格納する際に、圧縮した状態で格納するか非圧縮の状態で格納するかを判断する(ステップA180)。
ここで、圧縮率が閾値以上である場合には(ステップA180のYルート参照)、ステップA230に移行する。
一方、圧縮率が閾値よりも低い場合には(ステップA180のNルート参照)、記録部204が、そのブロックを圧縮状態でディスクアレイ24に書き込む(ステップA190)。そして、管理テーブル作成部206が、管理テーブルTのそのデータに対応するエントリについて、圧縮・非圧縮状態にそのブロックに対応させて圧縮を示す“0”を設定することにより、管理テーブルTの更新を行なう(ステップA200)。
その後、ブロックカウンタをインクリメント(Block Count+1)して(ステップA210)、そのブロックがデータ部を構成するブロック列の最終ブロックであるか否かを確認する(ステップA220)。すなわち、ブロックカウンタがブロック列の最後尾のブロックのブロック番号nと一致しているか否かを確認する。
そのブロックがデータ部を構成するブロック列の最終ブロックでない場合には(ステップA220のNルート参照)、ステップA160に戻る。又、そのブロックがデータ部を構成するブロック列の最終ブロックである場合には(ステップA220のYルート参照)、ファイルクローズ処理を行ない、ディスクアレイ24にデータのEOF部の書き込みを行ない(ステップA280)、処理を終了する。
次に、実施形態の一例としての仮想テープライブラリシステム1におけるパトロール処理を、図16に示すフローチャート(ステップB10〜B90)に従って説明する。なお、このパトロール処理は、管理テーブルTが存在しメモリ25に格納されている状態において行なう。
パトロール処理は、ホスト100がジョブの終了時に送信するアンロードコマンドを受信することを契機に開始される。すなわち、パトロール処理部22は、ホスト100からのアンロードコマンドの受信を待つべく待機する(ステップB10,ステップB10のNルート参照)。そして、ホスト100からアンロードコマンドを受信すると(ステップB10のYルート参照)、パトロール処理部22は、次に、前回パトロール処理を行なってから所定の時間が経過したかを確認する(ステップB20)。ここで、一定時間が経過していない場合には(ステップB20のNルート参照)、ステップB10に戻る。
前回パトロール処理を行なってから一定時間が経過している場合には(ステップB20のYルート参照)、管理テーブルTのエントリに登録されているパトロールポインタをパトロールカウンタ(P Count)に設定する(ステップB30)。パトロールカウンタは、パトロール処理における処理対象のブロックを特定する情報(カウンタ値)であり、データを構成するブロックのブロック番号に対応する。
再計算部221が、パトロールカウンタによって特定されるデータ部のブロックの圧縮率を算出し(ステップB40)、この算出した圧縮率が、予め設定された閾値(90%)以上であるかを確認する(ステップB50)。この比較の結果、算出した圧縮率が閾値(90%)以上である場合には(ステップB50のYルート参照)、更新部222は、管理テーブルTのそのデータに対応するエントリについて、圧縮・非圧縮状態にそのブロックに対応させて非圧縮を示す“1”を設定する。これにより、管理テーブルTの更新を行なう(ステップB70)。又、算出した圧縮率が閾値(90%)より低い場合には(ステップB50のNルート参照)、更新部222は、管理テーブルTのそのデータに対応するエントリについて、圧縮・非圧縮状態にそのブロックに対応させて圧縮を示す“0”を設定する。これにより、管理テーブルTの更新を行なう(ステップB60)。
その後、そのパトロールカウンタによって特定されるブロックが、データ部を構成するブロック列の最終ブロックであるか否かを確認する(ステップB80)。すなわち、パトロールカウンタがブロック列の最後尾のブロックのブロック番号nと一致しているか(P Count=n)否かを確認する。
そのブロックがデータ部を構成するブロック列の最終ブロックでない場合には(ステップB80のNルート参照)、パトロールカウンタをインクリメント(P Count+1)して(ステップB90)、ステップB40に戻る。又、そのブロックがデータ部を構成するブロック列の最終ブロックである場合には(ステップB80のYルート参照)、パトロール処理を終了する。
次に、実施形態の一例としての仮想テープライブラリシステム1におけるマイグレーション処理を、図17に示すフローチャート(ステップC10〜C220)に従って説明する。
ホスト100から、マイグレーションの実行指令とともに、マイグレーションの対象となるデータを識別するためのボリューム名及びファイル名を受信すると、マイグレーション処理部23は、ファイルオープン処理を行なう(ステップC10)。このファイルオープン処理において、データセーブ処理部231が、データのヘッダ(Header)部を記録テープ33にセーブする。
また、マイグレーション処理部23は、ブロックカウンタ(Block Count)を1に設定(Block Count=1)に設定することによりカウンタリセットを行なう(ステップC20)。なお、このブロックカウンタは、データを構成するブロックのブロック番号に対応する。
そして、マイグレーション処理部23は、パトロール処理部22によるパトロール処理が完了しているか否かを確認する(ステップC30)。具体的には、パトロールカウンタがブロック列の最後尾のブロックのブロック番号nと一致しているか(P Count=n)否かを確認する。
この確認の結果、パトロール処理が完了している場合には(ステップC30のYルート参照)、ブロックカウンタに相当するブロックについて、管理テーブルTを参照して圧縮ブロックであるかを確認する(ステップC170)。圧縮ブロックではない場合には(ステップC170のNルート参照)、データセーブ処理部231が、そのブロックを非圧縮の状態で記録テープ33に書き込む(ステップC190)。又、圧縮ブロックである場合には(ステップC170のYルート参照)、データセーブ処理部231が、そのブロックを圧縮した状態で記録テープ33に書き込む(ステップC180)。
その後、ブロックカウンタのインクリメントをインクリメント(Block Count+1)して(ステップC200)、そのブロックがデータ部を構成するブロック列の最終ブロックであるか否かを確認する(ステップC210)。すなわち、ブロックカウンタがブロック列の最後尾のブロックのブロック番号nと一致しているか否かを確認する。
そのブロックがデータ部を構成するブロック列の最終ブロックでない場合には(ステップC210のNルート参照)、ステップC170に戻る。又、そのブロックがデータ部を構成するブロック列の最終ブロックである場合には(ステップC210のYルート参照)、ファイルクローズ処理を行ない、ディスクアレイ24にデータのEOF部の書き込みを行ない(ステップC220)、処理を終了する。
また、パトロール処理が完了していない場合には(ステップC30のNルート参照)、マイグレーション処理を実行しながらパトロール処理を完了させる。
すなわち、ブロックカウンタに相当するブロックについて、管理テーブルTを参照して圧縮ブロックであるかを確認する(ステップC40)。圧縮ブロックではない場合には(ステップC40のNルート参照)、データセーブ処理部231が、そのブロックを非圧縮の状態で記録テープ33に書き込む(ステップC120)。又、マイグレーション処理部23は、管理テーブルTのそのデータに対応するエントリについて、圧縮・非圧縮状態にそのブロックに対応させて非圧縮を示す“1”を設定することにより、管理テーブルTの更新を行なう(ステップC130)。
その後、マイグレーション処理部23は、ブロックカウンタをインクリメント(Block Count+1)して(ステップC140)、そのブロックがデータ部を構成するブロック列の最終ブロックであるか否かを確認する(ステップC150)。すなわち、ブロックカウンタがブロック列の最後尾のブロックのブロック番号nと一致しているか否かを確認する。
そのブロックがデータ部を構成するブロック列の最終ブロックでない場合には(ステップC150のNルート参照)、マイグレーション処理部23は、データのデータ部のブロック数が管理テーブルTに登録された状態から増えていないかの確認を行なう(ステップC160)。すなわち、ブロックカウンタの値(Block Count)が最後尾のブロックのブロック番号(Table Last Block)nよりも大きいか否かを確認する。
ブロック数が増えている場合、つまりブロックカウンタの値(Block Count)が最後尾のブロックのブロック番号(Table Last Block)nよりも大きい場合には(ステップC160のYルート参照)、ステップC120に戻る。すなわち、ブロック数が増加していることが判明した場合に、以降のブロックからはファイルの最後のブロックまで非圧縮で処理する。又、ブロック数が増えていない場合、つまり、ブロックカウンタの値(Block Count)が最後尾のブロックのブロック番号(Table Last Block)n以下の場合には(ステップC160のNルート参照)、ステップC40に戻る。
そして、そのブロックがデータ部を構成するブロック列の最終ブロックである場合には(ステップC150のYルート参照)、ステップC220に移行し、処理を終了する。
また、管理テーブルTのエントリの確認の結果、ブロックが圧縮ブロックである場合には(ステップC40のYルート参照)、このエントリにおいて、マイグレーション処理部23は、先ず、パトロールポインタの更新を行なう(ステップC50)。具体的には、ブロックカウンタの値をパトロールポインタにセットすることにより、パトロールポインタを更新する。
次に、マイグレーション処理部23は、ブロックカウンタによって特定されるデータ部のブロックの圧縮率を算出する(ステップC60)。マイグレーション処理部23は、この算出された圧縮率を予め設定された閾値(90%)と比較することにより、ブロックを記録テープ33に格納する際に、圧縮した状態で格納するか非圧縮の状態で格納するかを判断する(ステップC70)。
ここで、圧縮率が閾値以上である場合には(ステップC70のYルート参照)、ステップC120に移行する。
一方、圧縮率が閾値よりも低い場合には(ステップC70のNルート参照)、データセーブ処理部231が、そのブロックを圧縮状態で記録テープ33にセーブする(ステップC80)。そして、マイグレーション処理部23は、管理テーブルTのそのデータに対応するエントリについて、圧縮・非圧縮状態にそのブロックに対応させて圧縮を示す“0”を設定することにより、管理テーブルTの更新を行なう(ステップC90)。
その後、ブロックカウンタをインクリメント(Block Count+1)して(ステップC100)、そのブロックがデータ部を構成するブロック列の最終ブロックであるか否かを確認する(ステップC110)。すなわち、ブロックカウンタがブロック列の最後尾のブロックのブロック番号nと一致しているか否かを確認する。
そのブロックがデータ部を構成するブロック列の最終ブロックでない場合には(ステップC110のNルート参照)、ステップC50に戻る。又、そのブロックがデータ部を構成するブロック列の最終ブロックである場合には(ステップC110のYルート参照)、ステップC220に移行し、処理を終了する。
このように、マイグレーション処理部23は、前述した圧縮率算出部203のようにブロックの圧縮率を算出する機能や、判断部205のように算出した圧縮率を閾値と比較する機能や、管理テーブル作成部206のように管理テーブルTを更新する機能もそなえている。
そして、階層制御部20のCPUが、データ処理プログラムを実行することにより、上述した、ライト処理部21,パトロール処理部22及びマイグレーション処理部23として機能する。
なお、これらのライト処理部21,パトロール処理部22及びマイグレーション処理部23としての機能を実現するためのプログラム(データ処理プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
ライト処理部21,パトロール処理部22及びマイグレーション処理部23としての機能を実現する際には、内部記憶装置(本実施形態では図示しないRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、階層制御部20がコンピュータとしての機能を有しているのである。
このように、実施形態の一例としての仮想テープライブラリシステム1によれば、同一データについての2回目以降のジョブにおいては、管理テーブルTを参照することにより、ブロック毎に圧縮率を算出することなく各ブロックの圧縮/非圧縮を判断することできる。これにより、ディスクアレイ24へのデータのライト処理を高速化することができ、又、階層制御部20の負荷を軽減することができる。特に、データのヘッダ部を読み込んだ時点で、各ブロックの圧縮/非圧縮を判断することができ、データのライト処理を高速化することができる。
同様に、ディスクアレイ24を記録テープ33に移動させるマイグレーション処理においても、管理テーブルTを参照することにより、記録テープ33へのデータの書き込み(セーブ)処理を高速化することができ、又、階層制御部20の負荷を軽減することができる。
また、データのブロック単位で圧縮/非圧縮の処理を行なうことができる。これにより、データ容量を小さくすることができ、ディスクアレイ24や記録テープ33を効率的に運用することができる。
さらに、パトロール処理を行なうことにより、管理テーブルT作成後においてディスクアレイ24に格納されたデータに何らかの変更が加えられた場合においても、管理テーブルTを変更後のデータの状態に合わせることができ、データのライト処理性能の高速化やセーブ処理の高速化を維持することができる。
また、パトロール処理が何らかの理由により中断した場合であっても、マイグレーション処理において、パトロール処理が完了していないと判断した場合には、データのマイグレーション処理を行ないながら管理テーブルTの更新を行なう。これにより未完了のパトロール処理を完了させることができ、利便性が高い。
データのライト時やセーブ時において、データの圧縮率が閾値よりも高くなったブロックからはファイルの最後のブロックまで非圧縮で処理する。又、同一ファイルの2回目のライト時において、ブロック数が増加していることが判明した場合にも、以降のブロックからはファイルの最後のブロックまで非圧縮で処理する。ブロックを非圧縮で書き込むことにより、ブロックを未加工の状態で保存することができ、データの信頼性を向上させる。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
例えば、上述した実施形態においては、データについてのボリューム名及びファイル名に対して、圧縮・非圧縮状態,パトロールポインタ及びラストブロックを、管理テーブルTのエントリとして登録しているが、これに限定されるものではなく、種々の手法で管理することができる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ処理装置であって、
ブロックを圧縮した場合の圧縮率を算出する算出部と、
算出した前記圧縮率を予め設定された閾値と比較して、当該ブロックについて圧縮もしくは非圧縮を判断する判断部と、
当該ブロックを、判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する記録部と、
前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、各ブロックを前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報を作成するデータ処理情報作成部と、
前記データ処理情報作成部によって作成されたデータ処理情報を記録装置に格納する格納処理部とをそなえることを特徴とする、データ処理装置。
(付記2)
連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ処理装置であって、
前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、前回、前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報から、前記データ処理情報の前記状態情報を参照する参照部と、
参照した状態情報に従って、前記ブロックを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する記録部とをそなえることを特徴とする、データ処理装置。
(付記3)
上位装置から送信されるデータ及び当該データを識別するデータ識別情報を受信する受信部と、
前記受信したデータ識別情報と、前記記録装置に格納されているデータ処理情報にかかるデータ識別情報とを照合し、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されているか否かを確認する確認部とをそなえ、
前記確認部による確認の結果、対応する前記データ処理情報が前記記録装置に格納されている場合に、該記録部が、当該データ処理情報の前記状態情報に従って、受信したデータを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録することを特徴とする、付記1記載のデータ処理装置。
(付記4)
前記確認部による確認の結果、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されていない場合に、
該算出部が、前記データを形成するブロックを圧縮した場合の圧縮率を算出し、
該判断部が、該算出部が算出した圧縮率を予め設定された閾値と比較し、当該ブロックについて圧縮もしくは非圧縮を判断し、該記録部が、当該ブロックを、該判断部による判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録し、
該データ処理情報作成部が、該データ処理情報を作成し、該格納処理部が、前記データ処理情報作成部によって作成された前記データ処理情報を記録装置に格納し、
該記録部が、前記確認部による確認の結果、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されている場合に、該記録部が、当該データ処理情報の状態情報に従って、受信した前記データを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録することを特徴とする、付記3記載のデータ処理装置。
(付記5)
前記ストレージ装置に記録されているブロックの圧縮率を再算出する再算出部と、
前記再算出部により再度算出された圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する状態情報を更新する更新部とをそなえることを特徴とする、付記1〜4のいずれか1項に記載のデータ処理装置。
(付記6)
前記データ処理情報において、前記データの連続する複数のブロックにおける、非圧縮の状態で前記ストレージ装置に記録された先頭のブロックに対して先頭識別情報を関連付けて記録する先頭識別情報記録部をそなえ、
前記再算出部が、前記先頭識別情報が設定された前記ブロックを始点として、前記データを構成する連続する各ブロックに対して、前記圧縮率の算出を順次行なうことを特徴とする、付記5記載のデータ処理装置。
(付記7)
前記ストレージ装置に格納されたデータを記録媒体に移動させるマイグレーション処理を行なうに際して、
前記データに対応するデータ処理情報を参照するデータ処理情報参照部と、
当該データ処理情報の状態情報に従って、前記ストレージ装置に格納されたデータを、圧縮もしくは非圧縮のいずれかの状態で前記記録媒体に記録する媒体記録部とをそなえることを特徴とする、付記1〜6のいずれか1項に記載のデータ処理装置。
(付記8)
上位装置から送信される連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ処理装置であって、
前記上位装置から送信されるデータ及び当該データを識別するデータ識別情報を受信する受信部と、
前記受信したデータ識別情報と、記録装置に格納されているデータ処理情報にかかるデータ識別情報とを照合し、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されているか否かを確認する確認部と、
前記確認部による確認の結果、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されていない場合に、前記データを形成するブロックを圧縮した場合の圧縮率を算出する算出部と、
該算出部が算出した圧縮率を予め設定された閾値と比較し、当該ブロックについて圧縮もしくは非圧縮を判断する判断部と、
当該ブロックを、該判断部による判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する第1記録部と、
前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、各ブロックを前記第1記録部が前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けるデータ処理情報を作成するデータ処理情報作成部と、
前記データ処理情報作成部によって作成された前記データ処理情報を記録装置に格納する格納処理部と、
前記確認部による確認の結果、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されている場合に、当該データ処理情報の状態情報に従って、受信した前記データを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する第2記録部とをそなえることを特徴とする、データ処理装置。
(付記9)
連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ記録方法であって、
ブロックを圧縮した場合の圧縮率を算出するステップと、
算出した圧縮率を予め設定された閾値と比較することにより、当該ブロックについて圧縮もしくは非圧縮を判断するステップと、
前記判断結果に基づき、当該ブロックを圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録するステップと、
前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、各ブロックを前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報を作成するステップと、
前記データ処理情報を記録装置に格納するステップとをそなえることを特徴とする、データ記録方法。
(付記10)
連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ記録方法であって、
前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、前回、前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報から、前記データ処理情報の前記状態情報を参照するステップと、
参照した前記状態情報に従って、前記ブロックを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録するステップとをそなえることを特徴とする、データ記録方法。
(付記11)
上位装置から送信されるデータ及び当該データを識別するデータ識別情報を受信するステップと、
前記受信したデータ識別情報と、前記記録装置に格納されている前記データ処理情報にかかるデータ識別情報とを照合し、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されているか否かを確認するステップと、
前記確認の結果、対応する前記データ処理情報が前記記録装置に格納されている場合に、当該データ処理情報の前記状態情報に従って、受信した前記データを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録するステップとをそなえることを特徴とする、付記9記載のデータ記録方法。
(付記12)
前記確認の結果、対応する前記データ処理情報が前記記録装置に格納されていない場合に、
ブロックを圧縮した場合の圧縮率を算出し、
算出した前記圧縮率を予め設定された閾値と比較することにより、当該ブロックについて圧縮もしくは非圧縮を判断し、
当該ブロックを、判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録し、
前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けるデータ処理情報を作成し、
前記データ処理情報を記録装置に格納する、ことを特徴とする、付記11記載のデータ記録方法。
(付記13)
前記ストレージ装置に記録されている前記ブロックの圧縮率を再度算出するステップと、
再度算出された前記圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する前記状態情報を更新するステップとをそなえることを特徴とする、付記9〜12のいずれか1項に記載のデータ記録方法。
(付記14)
前記データ処理情報において、前記データの連続する複数のブロックにおける、非圧縮の状態で前記ストレージ装置に記録された先頭のブロックに対して先頭識別情報を関連付けて記録するステップをそなえ、
前記圧縮率を再計算するステップにおいて、前記先頭識別情報が設定された前記ブロックを始点として、前記データを構成する連続する各ブロックに対して、前記圧縮率の算出を順次行なうことを特徴とする、付記13記載のデータ記録方法。
(付記15)
前記ストレージ装置に格納されたデータを記録媒体に移動させるマイグレーション処理を行なうに際して、
前記データに対応する前記データ処理情報を参照するステップと、
当該データ処理情報の前記状態情報に従って、前記ストレージ装置に格納されたデータを、圧縮もしくは非圧縮のいずれかの状態で前記記録媒体に記録するステップとをそなえることを特徴とする、付記9〜14のいずれか1項に記載のデータ記録方法。
1 仮想テープライブラリシステム
2 仮想ライブラリ装置
3 テープライブラリ装置
20 階層制御部(データ処理装置)
21 ライト処理部
22 パトロール処理部
23 マイグレーション処理部
24 ディスクアレイ(ストレージ装置)
25 メモリ(記録装置)
31 ロボットユニット
32 ドライブユニット
33 記録テープ(記録媒体)
50 通信回線
100 ホスト(上位装置)
201 受信部
202 確認部
203 圧縮率算出部(算出部)
204 記録部(第1記録部,第2記録部)
205 判断部
206 管理テーブル作成部(データ処理情報作成部)
207 格納処理部
221 再算出部
222 更新部
231 データセーブ処理部
232 管理テーブル参照部
T 管理テーブル(データ処理情報)

Claims (9)

  1. 連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ処理装置であって、
    ブロックを圧縮した場合の圧縮率を算出する算出部と、
    算出した前記圧縮率を予め設定された閾値と比較して、当該ブロックについて圧縮もしくは非圧縮を判断する判断部と、
    当該ブロックを、判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する記録部と、
    前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、各ブロックを前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報を作成するデータ処理情報作成部と、
    前記データ処理情報作成部によって作成された前記データ処理情報を記録装置に格納する格納処理部と、
    前記ストレージ装置に記録されている前記ブロックに対して所定のタイミングで圧縮率を再度算出する第2の算出部と、
    前記第2の算出部により算出された前記圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する前記状態情報を更新する更新部と
    をそなえ
    該ブロックの記録が同一のブロックの2回目以降の記録であり、当該ブロックが前記ストレージ装置に圧縮状態で記録されている場合に、前記第2の算出部が、前記ストレージ装置に圧縮状態で記録されている当該ブロックに対して前記圧縮率の算出を行なうことを特徴とする、データ処理装置。
  2. 上位装置から送信されるデータ及び当該データを識別するデータ識別情報を受信する受信部と、
    前記受信したデータ識別情報と、前記記録装置に格納されているデータ処理情報にかかるデータ識別情報とを照合し、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されているか否かを確認する確認部とをそなえ、
    前記確認部による確認の結果、対応する前記データ処理情報が前記記録装置に格納されている場合に、該記録部が、当該データ処理情報の前記状態情報に従って、受信したデータを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録することを特徴とする、請求項1記載のデータ処理装置。
  3. 前記確認部による確認の結果、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されていない場合に、
    該算出部が、前記データを形成するブロックを圧縮した場合の圧縮率を算出し、
    該判断部が、該算出部が算出した圧縮率を予め設定された閾値と比較し、当該ブロックについて圧縮もしくは非圧縮を判断し、該記録部が、当該ブロックを、該判断部による判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録し、
    該データ処理情報作成部が、該データ処理情報を作成し、該格納処理部が、前記データ処理情報作成部によって作成された前記データ処理情報を記録装置に格納し、
    該記録部が、前記確認部による確認の結果、前記受信したデータ識別情報に対応するデータ処理情報が前記記録装置に格納されている場合に、該記録部が、当該データ処理情報の状態情報に従って、受信した前記データを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録することを特徴とする、請求項2記載のデータ処理装置。
  4. 前記データ処理情報において、前記データの連続する複数のブロックにおける、非圧縮の状態で前記ストレージ装置に記録された先頭のブロックに対して先頭識別情報を関連付けて記録する先頭識別情報記録部をそなえ、
    前記第2の算出部が、前記先頭識別情報が設定された前記ブロックを始点として、前記データを構成する連続する各ブロックに対して、前記圧縮率の算出を順次行なうことを特徴とする、請求項1〜3のいずれか1項に記載のデータ処理装置。
  5. 連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ処理装置であって、
    ブロックを圧縮した場合の圧縮率を算出する算出部と、
    算出した前記圧縮率を予め設定された閾値と比較して、当該ブロックについて圧縮もしくは非圧縮を判断する判断部と、
    当該ブロックを、判断結果に基づき、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する記録部と、
    前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、各ブロックを前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報を作成するデータ処理情報作成部と、
    前記データ処理情報作成部によって作成された前記データ処理情報を記録装置に格納する格納処理部と、
    前記ストレージ装置に記録されている前記ブロックに対して所定のタイミングで圧縮率を再度算出する第2の算出部と、
    前記第2の算出部により算出された前記圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する前記状態情報を更新する更新部と、
    前記データ処理情報において、前記データの連続する複数のブロックにおける、非圧縮の状態で前記ストレージ装置に記録された先頭のブロックに対して先頭識別情報を関連付けて記録する先頭識別情報記録部とをそなえ、
    前記第2の算出部が、前記先頭識別情報が設定された前記ブロックを始点として、前記データを構成する連続する各ブロックに対して、前記圧縮率の算出を順次行なうことを特徴とする、データ処理装置。
  6. 連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ処理装置であって、
    前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、前回、前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報から、前記データ処理情報の前記状態情報を参照する参照部と、
    参照した前記状態情報に従って、前記ブロックを、圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録する記録部と、
    前記ストレージ装置に記録されている前記ブロックに対して所定のタイミングで圧縮率を算出する算出部と、
    前記算出部により算出された前記圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する前記状態情報を更新する更新部と
    をそなえ
    該ブロックの記録が同一のブロックの2回目以降の記録であり、当該ブロックが前記ストレージ装置に圧縮状態で記録されている場合に、前記算出部が、前記ストレージ装置に圧縮状態で記録されている当該ブロックに対して前記圧縮率の算出を行なうことを特徴とする、データ処理装置。
  7. 前記ストレージ装置に格納されたデータを記録媒体に移動させるマイグレーション処理を行なうに際して、
    前記データに対応するデータ処理情報を参照するデータ処理情報参照部と、
    当該データ処理情報の前記状態情報に従って、前記ストレージ装置に格納されたデータを、圧縮もしくは非圧縮のいずれかの状態で前記記録媒体に記録する媒体記録部と
    をそなえることを特徴とする、請求項1〜6のいずれか1項に記載のデータ処理装置。
  8. 連続する複数のブロックによって形成されるデータを、ブロック単位で、順次、ストレージ装置に記録するデータ記録方法であって、
    ブロックを圧縮した場合の圧縮率を算出するステップと、
    算出した圧縮率を予め設定された閾値と比較することにより、当該ブロックについて圧縮もしくは非圧縮を判断するステップと、
    前記判断結果に基づき、当該ブロックを圧縮もしくは非圧縮のいずれかの状態で前記ストレージ装置に記録するステップと、
    前記データを識別するデータ識別情報に関連付けて、当該データを構成する各ブロックのそれぞれに、各ブロックを前記ストレージ装置に記録した際の圧縮もしくは非圧縮のいずれかの状態を表す状態情報を対応付けたデータ処理情報を作成するステップと、
    前記データ処理情報を記録装置に格納するステップと、
    前記ストレージ装置に記録されている前記ブロックに対して所定のタイミングで圧縮率を再度算出するステップと、
    再度算出された前記圧縮率に基づいて、前記データ処理情報における、当該ブロックに対応する前記状態情報を更新するステップと
    をそなえ
    該ブロックの記録が同一のブロックの2回目以降の記録であり、当該ブロックが前記ストレージ装置に圧縮状態で記録されている場合に、前記ストレージ装置に圧縮状態で記録されている当該ブロックに対して前記圧縮率を再度算出することを特徴とする、データ記録方法。
  9. 前記ストレージ装置に格納されたデータを記録媒体に移動させるマイグレーション処理を行なうに際して、
    前記データに対応する前記データ処理情報を参照するステップと、
    当該データ処理情報の前記状態情報に従って、前記ストレージ装置に格納されたデータを、圧縮もしくは非圧縮のいずれかの状態で前記記録媒体に記録するステップとをそなえることを特徴とする、請求項8記載のデータ記録方法。
JP2010287478A 2010-12-24 2010-12-24 データ処理装置及びデータ記録方法 Expired - Fee Related JP5712609B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010287478A JP5712609B2 (ja) 2010-12-24 2010-12-24 データ処理装置及びデータ記録方法
US13/291,484 US8904103B2 (en) 2010-12-24 2011-11-08 Data processing apparatus and method for recording data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010287478A JP5712609B2 (ja) 2010-12-24 2010-12-24 データ処理装置及びデータ記録方法

Publications (2)

Publication Number Publication Date
JP2012133731A JP2012133731A (ja) 2012-07-12
JP5712609B2 true JP5712609B2 (ja) 2015-05-07

Family

ID=46318469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010287478A Expired - Fee Related JP5712609B2 (ja) 2010-12-24 2010-12-24 データ処理装置及びデータ記録方法

Country Status (2)

Country Link
US (1) US8904103B2 (ja)
JP (1) JP5712609B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899934B2 (en) 2021-06-10 2024-02-13 Kioxia Corporation Compression device, compression and decompression device, and memory system

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5712609B2 (ja) * 2010-12-24 2015-05-07 富士通株式会社 データ処理装置及びデータ記録方法
KR101862341B1 (ko) * 2012-01-09 2018-05-30 삼성전자주식회사 데이터 압축 기능을 갖는 데이터 저장 장치
EP2884398A4 (en) * 2012-08-07 2016-07-06 Nec Corp DATA TRANSFER DEVICE, DATA TRANSFER METHOD, AND PROGRAM
JP2015005089A (ja) * 2013-06-20 2015-01-08 富士通株式会社 ストレージシステム、制御装置および制御方法
US9436550B2 (en) * 2013-10-31 2016-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for internal disk drive data compression
KR101468336B1 (ko) * 2013-11-25 2014-12-04 성균관대학교산학협력단 데이터 압축률 예측 기법에 기반한 데이터 분산 저장 방법, 이를 이용한 저장 장치 및 시스템
US10120601B2 (en) 2014-03-24 2018-11-06 Hitachi, Ltd. Storage system and data processing method
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
JP6794782B2 (ja) * 2016-11-02 2020-12-02 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法
CN110832473B (zh) * 2017-06-21 2023-01-13 华为技术有限公司 日志结构管理系统及方法
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
US10558364B2 (en) * 2017-10-16 2020-02-11 Alteryx, Inc. Memory allocation in a data analytics system
JP2020154525A (ja) 2019-03-19 2020-09-24 キオクシア株式会社 メモリシステムおよび情報処理システム
EP4120057A4 (en) 2020-03-13 2023-08-16 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
JP7390251B2 (ja) * 2020-04-30 2023-12-01 株式会社日立製作所 ストレージシステム
WO2024075306A1 (ja) * 2022-10-07 2024-04-11 富士通株式会社 転送方法、転送プログラム、および情報処理装置

Family Cites Families (47)

* Cited by examiner, † Cited by third party
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
JPH04242424A (ja) * 1991-01-16 1992-08-31 Matsushita Electric Ind Co Ltd データ圧縮制御装置およびデータ復元制御装置
US5333277A (en) * 1992-01-10 1994-07-26 Exportech Trading Company Data buss interface and expansion system
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
JPH08263218A (ja) * 1995-03-23 1996-10-11 Toshiba Corp データ記憶装置およびデータ記憶方法
JP3509285B2 (ja) * 1995-05-12 2004-03-22 富士通株式会社 圧縮データ管理方式
US5828848A (en) * 1996-10-31 1998-10-27 Sensormatic Electronics Corporation Method and apparatus for compression and decompression of video data streams
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
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
US6604158B1 (en) * 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
JP3931017B2 (ja) * 1999-08-06 2007-06-13 富士通株式会社 磁気テープ装置の制御方法
US6615365B1 (en) * 2000-03-11 2003-09-02 Powerquest Corporation Storing a computer disk image within an imaged partition
JP2002259257A (ja) 2001-03-05 2002-09-13 Casio Comput Co Ltd 帳表作成装置及びデータ転送自動切換方法
JP2003308269A (ja) 2002-04-12 2003-10-31 Ricoh Co Ltd データ転送システム、プログラムおよび記録媒体
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
JP4559046B2 (ja) * 2003-08-04 2010-10-06 株式会社日立製作所 仮想テープライブラリ装置
US20120124285A1 (en) * 2003-08-14 2012-05-17 Soran Philip E Virtual disk drive system and method with cloud-based storage media
JP2005099971A (ja) 2003-09-24 2005-04-14 Hitachi Ltd 仮想テープ装置の入出力制御方法
JP2005122433A (ja) 2003-10-16 2005-05-12 Fujitsu Ltd 磁気テープ装置
JP4385841B2 (ja) * 2004-04-22 2009-12-16 ソニー株式会社 画像処理装置
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
US8832045B2 (en) * 2006-04-07 2014-09-09 Data Storage Group, Inc. Data compression and storage techniques
CA2648428C (en) * 2006-04-07 2017-11-21 Data Storage Group Data compression and storage techniques
JP5217155B2 (ja) * 2006-11-17 2013-06-19 日本電気株式会社 ファイル圧縮自動判定方式および方法、並びに、プログラム
US20080141039A1 (en) * 2006-12-11 2008-06-12 Matze John E G System for using a virtual tape encryption format
JP5037952B2 (ja) 2007-01-15 2012-10-03 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US7853750B2 (en) * 2007-01-30 2010-12-14 Netapp, Inc. Method and an apparatus to store data patterns
US7987161B2 (en) * 2007-08-23 2011-07-26 Thomson Reuters (Markets) Llc System and method for data compression using compression hardware
JP5083772B2 (ja) * 2008-06-27 2012-11-28 株式会社リコー 画像形成装置、制御方法及び制御プログラム
JP5188348B2 (ja) * 2008-09-25 2013-04-24 三菱電機株式会社 データアクセス装置
JP5199003B2 (ja) * 2008-09-25 2013-05-15 株式会社日立製作所 管理装置及び計算機システム
JP4734663B2 (ja) * 2009-01-23 2011-07-27 富士通株式会社 仮想ライブラリ装置及び物理ドライブの診断方法
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
JP5599033B2 (ja) * 2010-02-22 2014-10-01 キヤノン株式会社 画像処理装置及び方法、並びにプログラム
US8656094B2 (en) * 2010-05-06 2014-02-18 International Business Machines Corporation Locating host data records on a physical stacked volume
US9336149B2 (en) * 2010-05-06 2016-05-10 International Business Machines Corporation Partial volume access in 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
JP5712609B2 (ja) * 2010-12-24 2015-05-07 富士通株式会社 データ処理装置及びデータ記録方法
US8537171B2 (en) * 2011-05-13 2013-09-17 Samsung Display Co., Ltd. Piecewise non-causal compression and subsequent decompression of quantized data for processing of decompressed data in higher precision processing space

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899934B2 (en) 2021-06-10 2024-02-13 Kioxia Corporation Compression device, compression and decompression device, and memory system

Also Published As

Publication number Publication date
US20120166752A1 (en) 2012-06-28
JP2012133731A (ja) 2012-07-12
US8904103B2 (en) 2014-12-02

Similar Documents

Publication Publication Date Title
JP5712609B2 (ja) データ処理装置及びデータ記録方法
JP5603997B2 (ja) ストレージ装置及びデータ制御方法
US9164921B2 (en) Dynamic reuse and reconfiguration of logical data objects in a virtual tape system
US8280855B2 (en) Extended logical worm data integrity protection with unique worm identifier in header and database
US7864478B2 (en) Verification of a tape data storage cartridge
US7900013B2 (en) Method and computer for determining storage device
JP2009507304A5 (ja)
US20080010324A1 (en) System and method for high speed device access
US8478933B2 (en) Systems and methods for performing deduplicated data processing on tape
JP5618813B2 (ja) 記憶装置、記録媒体、およびデータの長期保存方法
US20040148476A1 (en) Performance-predicated automatic defragmentation of hard disks, particularly for non-pc mobile digital devices including music recorder/players
US10268421B2 (en) Information recording device and information recording method
JP6050794B2 (ja) フラッシュメモリモジュール、不揮発性半導体メモリモジュール及びストレージ装置
JP2014071487A (ja) ファイル記録装置、フィルシステム管理方法およびチェンジャドライブ
JP4841408B2 (ja) ボリューム移行プログラム及び方法
US20050027934A1 (en) Disk fragmentation test system
JP2008269520A (ja) 記録装置及び記録方法
JP4492341B2 (ja) ファイルシステムの検査データ記録方法及びデータ変更検出方法
JP2014071917A (ja) ファイル記録装置、フィルシステム管理方法、ファイル修復方法およびチェンジャドライブ
JPH0512800A (ja) データ圧縮機能を備えた情報記録再生装置と情報記録媒体
JP3030949B2 (ja) ディジタルデータ記録再生装置
CN102063273A (zh) 硬盘管理方法及管理装置
JP2003296047A (ja) Raidファイルシステム
JP2001325135A (ja) データ記憶再生装置及びデータ記憶再生方法
JP3936839B2 (ja) データ保管システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150223

R150 Certificate of patent or registration of utility model

Ref document number: 5712609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees