(57)【特許請求の範囲】
【請求項１】
入出力ポートを含む１次記憶ロケーションと、
バックアップ記憶装置と、
前記一次記憶ロケーションからの圧縮されていないデータが前記バックアップ記憶装置へコピーされる予め定められたバックアップウィンドウ期間、ならびに前記一次記憶ロケーションからの圧縮されていないデータが前記バックアップ記憶装置へ圧縮されていない形でコピーされない遊休期間を有するデューティサイクルに従って、前記一次記憶ロケーションと前記バックアップ記憶装置との間でデータを転送するコントローラとを含み、
前記コントローラは、前記遊休期間中に、前記バックアップ記憶装置に記憶された圧縮されていないデータを検索し、検索されたデータを圧縮し、それから圧縮されたデータを前記バックアップ記憶装置に再記憶させる、記憶システム。
【請求項２】
データ圧縮は、ソフトウェアデータ圧縮アルゴリズムを用いて行なわれる、請求項１に記載の記憶システム。
【請求項３】
前記バックアップ記憶装置は、ハードドライブの配列を含むエミュレートされたテープドライブである、請求項１に記載の記憶システム。
【請求項４】
入出力ポートを含む１次記憶ロケーションと、
バックアップ記憶装置と、
予め定められたバックアップウィンドウ期間中に圧縮されていないデータを前記１次記憶ロケーションから前記バックアップ記憶装置へコピーし、前記入出力ポートを介した予め定められた非活動期間に続いて開始する遊休期間中に、圧縮されていないデータを前記バックアップ記憶装置から検索し、検索されたデータを圧縮し、それから圧縮されたデータを前記バックアップ記憶装置に再記憶させる、コントローラとを含む、記憶システム。
【請求項５】
前記コントローラはさらに、検索されたデータを圧縮するためのソフトウェアアルゴリズムを実行するよう構成される、請求項４に記載の記憶システム。
【請求項６】
コントローラと入出力ポートとの間に結合されるファイバチャネルコントローラをさらに含み、前記ファイバチャネルコントローラは光トランシーバを含む、請求項４に記載の記憶システム。
【請求項７】
コントローラと入出力ポートとの間に結合されるイーサネット（Ｒ）コントローラをさらに含み、前記イーサネット（Ｒ）コントローラはイーサネット（Ｒ）トランシーバを含む、請求項４に記載の記憶システム。
【請求項８】
前記バックアップ記憶装置と前記コントローラとの間に結合されたネットワークハブおよびブリッジ回路をさらに含む、請求項４に記載の記憶システム。
【請求項９】
前記バックアップ記憶装置へ圧縮されていないデータの転送を許容する一次記憶ロケーションをさらに含む、請求項４に記載の記憶システム。
【請求項１０】
ネットワーク接続は以下の種類のネットワーク接続の中の１つであり、前記ネットワーク接続はファイバチャネルまたはイーサネット（Ｒ）を含む、請求項９に記載の記憶システム。
【請求項１１】
一次記憶ロケーションおよびバックアップ記憶装置は、記憶装置接続型ネットワークまたはネットワーク接続型記憶装置構成のうち１つで構成される、請求項９に記載の記憶システム。
【請求項１２】
入出力ポートを有する一次記憶ロケーションからバックアップ記憶装置にデータを記憶するためにコンピュータにより実行される方法であって、
予め定められたバックアップウィンドウ期間中に、前記一次記憶ロケーションから前記バックアップ記憶装置に圧縮されていないデータをコピーするステップと、
前記一次記憶ロケーションから前記バックアップ記憶装置へ圧縮されていないデータがコピーされないときによって定義される遊休期間中にコントローラを用いてデータを圧縮するステップと、
前記遊休期間中に前記バックアップ記憶装置に圧縮されたデータを再記憶するステップとを含む、方法。
【請求項１３】
データ圧縮は、ソフトウェアデータ圧縮アルゴリズムを用いて行なわれる、請求項１２に記載の方法。
【請求項１４】
バックアップ記憶装置は、ハードドライブの配列を含むエミュレートされたテープドライブである、請求項１２に記載の方法。
【請求項１５】
データは、一次記憶ロケーションからネットワーク経由でダウンロードされる、請求項１２に記載の方法。
【請求項１６】
データは、一次記憶ロケーションとバックアップ記憶装置との間のファイバチャネル接続およびイーサネット（Ｒ）接続のうちのいずれか一方経由でダウンロードされる、請求項１５に記載の方法。
【請求項１７】
一次記憶ロケーションおよびバックアップ記憶装置はＳＡＮ（storage array network）の一部である、請求項１５に記載の方法。
【請求項１８】
一次記憶ロケーションおよびバックアップ記憶装置はネットワーク接続型記憶装置構成の一部である、請求項１５に記載の方法。
【請求項１９】
バックアップ記憶装置はサーバに直接電気的に接続される、請求項１２に記載の方法。
【請求項２０】
データを圧縮する前記ステップは、前記入出力ポートを介した予め定められた非活動期間に続いて前記遊休期間を開始するステップを含む、請求項１２に記載の方法。
【請求項２１】
前記入出力ポートを介して活動が検出されるとデータの圧縮を中断するステップをさらに含む、請求項１２に記載の方法。
【請求項２２】
前記入出力ポートを介して活動が検出されるとデータの再記憶を中断するステップをさらに含む、請求項１２に記載の方法。
【請求項２３】
入出力ポートを有する一次記憶ロケーションからバックアップ記憶装置にデータを記憶するためにコンピュータにより実行される方法であって、
前記一次記憶ロケーションから前記バックアップ記憶装置に圧縮されていないデータをコピーするステップと、
前記入出力ポートを介した予め定められた非活動期間に続いて開始する遊休期間中に、コントローラを用いてデータを圧縮するステップと、
前記遊休期間中に前記バックアップ記憶装置に圧縮されたデータを前記コントローラを用いて再記憶するステップとを含む、方法。
【請求項２４】
データ圧縮は、ソフトウェアデータ圧縮アルゴリズムを用いて行なわれる、請求項２３に記載の方法。
【請求項２５】
バックアップ記憶装置は、ハードドライブの配列を含むエミュレートされたテープドライブである、請求項２３に記載の方法。
【請求項２６】
データは、一次記憶ロケーションからネットワーク経由でダウンロードされる、請求項２３に記載の方法。
【請求項２７】
前記入出力ポートを介して活動が検出されるとデータの圧縮を中断するステップをさらに含む、請求項２３に記載の方法。
【請求項２８】
前記入出力ポートを介して活動が検出されるとデータの再記憶を中断するステップをさらに含む、請求項２３に記載の方法。
【請求項２９】
入出力ポートを含む１次記憶ロケーションと、
バックアップ記憶装置と、
バックアップウィンドウ期間ならびに遊休期間を有するデューティサイクルに従って前記一次記憶ロケーションと前記バックアップ記憶装置との間でデータを転送するコントローラとを含み、
前記コントローラは、
前記バックアップウィンドウ期間中に、圧縮されていないデータを前記１次記憶ロケーションからコピーのために前記バックアップ記憶装置へ転送し、
前記入出力ポートを介したデータ転送の予め定められた非活動期間に基づいて前記遊休期間の開始を検出し、
前記入出力ポートを介してデータが一旦転送されると前記遊休期間を終了し、
前記遊休期間中に、（ｉ）前記バックアップ記憶装置に記憶された圧縮されていないデータの圧縮ならびに（ｉｉ）圧縮されたデータの前記バックアップ記憶装置への再記憶を開始する、記憶システム。
【発明の詳細な説明】
【０００１】
【発明の分野】
この発明は一般的にデータ記憶装置のバックアップに関し、より特定的には、エミュレートされたバックアップテープドライブであって、圧縮されていないデータをバックアップ動作中に記憶し、後でドライブが遊んでいるときにデータを検索、圧縮および再記憶することでドライブの記憶媒体での空間を再び利用可能にする、テープドライブに関する。
【０００２】
【背景】
インターネット商取引や、ネットワークを中心として行なう計算がますます普及する中、企業およびその他の独立体はますます情報に依存するようになっている。このため、システムクラッシュやウィルス攻撃などに由来する損害から重要データを保護することが最重要課題となっている。一般に、よく設計されているデータ保護プログラムは、（ｉ）事故の際にデータを直ちに再記憶して計算動作の継続を可能にし、（ii）通常の計算動作を中断することなく長期間（数時間または数日）にわたりデータを再記憶し、さらに（iii）検索の頻度が低く緊急度の低いデータのコピーを保存することができる。テープドライブは長い間、情報システムにおいて保存用バックアップデータを記憶するための選択肢であった。
【０００３】
歴史的にこのようなテープドライブの多くでは、データ圧縮を用いてテープに記憶できるデータの量を最大限にしてきた。しかし、テープは記憶媒体としては比較的遅く非効率的なものである。このため最近は、ハードディスクドライブの配列を用いるエミュレートされた「テープ」ドライブの方が主流になってきた。これらエミュレートされたテープドライブは、より多くのデータの記憶を可能にするためにデータ圧縮に依存することが多い。現在のエミュレートされたテープドライブの問題は、データ圧縮がバックアップ中に「オンザフライ」で行なわれることである。換言すると、重要な時期であるデータのダウンロード時に圧縮が行なわれ、動作を妨害してしまう。このため、エミュレートされたテープドライブシステムの設計者は、許容できる性能レベルを達成するために高価格で高速のハードウェアデータ圧縮解決策に依存してきた。低速で低価格のソフトウェア圧縮アルゴリズムは性能が許容できるものでなく、過去において実行可能な選択肢ではなかった。
【０００４】
したがって、エミュレートされたバックアップテープドライブであって、圧縮されていないデータをバックアップ動作中に記憶し、後でドライブが遊んでいるときにデータを検索、圧縮および再記憶することでドライブの記憶媒体での空間を再び利用可能にするものが必要とされている。
【０００５】
【概要】
上記のことを達成するために、およびこの発明の目的に従い、バックアップ記憶装置であって、圧縮されていないデータをバックアップ動作中に記憶し、後で装置が遊んでいるときにデータを検索、圧縮および再記憶することで装置の記憶媒体での空間を再び利用可能にする記憶装置が開示される。動作中、バックアップウィンドウ期間および遊休期間を有するデューティサイクルが規定される。ウィンドウ中にバックアップが行なわれる際、データは圧縮されていない形で装置にダウンロードおよび記憶される。後で、デューティサイクルの遊休期間中、圧縮されていないデータは検索、圧縮および再記憶され、こうして装置の記憶媒体での空間が再び利用可能となる。圧縮はバックアップ装置が遊んでいるときに行なわれるため、データをバックアップするレートへの悪影響がなくなるであろう。こうして、低価格のソフトウェアデータ圧縮アルゴリズムが使用可能となる。この発明の一実施例では、バックアップ記憶装置は、記憶媒体としてハードドライブの配列を用いるエミュレートされたテープドライブである。他の実施例では、たとえばテープまたは半導体メモリチップなど、どの種の記憶媒体を用いてもよい。
【０００６】
この発明およびそのさらなる利点は、添付の図面との関連で以下の詳細な説明を参照することにより最もよく理解されるであろう。
【０００７】
［詳細な説明］
図１を参照すると、この発明のエミュレートされたバックアップテープドライブを用いることができる例示の情報インフラストラクチャのブロック図が示される。情報インフラストラクチャ１０は、複数のクライアント１２、クライアントネットワーク１６で結合された複数のサーバ１４、一次記憶ロケーション１８、およびネットワーク接続２２で結合された１つ以上のエミュレートされたテープドライブ２０を含む。クライアント１２は、パーソナルコンピュータ、「シン（thin）」クライアント、携帯情報端末、ウェブアプライアンス、または携帯電話など、どの種のクライアントであってもよく、これらに限定はされない。サーバ１４もまた、ユニックス、リナックスもしくはマイクロソフトウィンドウズ（Ｒ）オペレーティングシステム、またはこれらを組合わせたものに基づいたサーバなど、どの種のサーバであってもよい。同様にクライアントネットワーク１６もまた、インターネット、企業イントラネット、ワイドエリアネットワーク、ローカルエリアネットワーク、無線ネットワーク、またはこれらを任意に組合せたものを含む、どの種のネットワークであってもよく、これらに限定はされない。一次記憶ロケーション１８は、ＳＡＮ（storage array network）、ネットワーク接続型記憶装置（network attached storage：ＮＡＳ）または直接接続型記憶装置（direct attached storage）など、いくつかの異なった種類の構成が可能である。他の実施例では、一次記憶ロケーション１８は、サーバ１４のシャーシ／キャビネット、スタンドアローン記憶装置、またはこれらを組合わせたものの中に存在し得る。接続２２は、直接（たとえばパラレルＳＣＳＩまたはＩＤＥ）であっても、または、たとえばファイバーチャネル、イーサネット（Ｒ）（高速ギガビットまたは１０ギガビット）などのネットワークトポロジーであってもよい。さらに、多数のエミュレートされたテープ装置２０を用いる際には、これらをデイジーチェーン接続してバックアップ容量を増大させることもできる。
【０００８】
図２を参照すると、エミュレートされたテープドライブ２０の斜視図が示される。エミュレートされたテープドライブ２０は、シャーシ３０、電源３２、１対のファン３４、およびハードドライブ３６の配列を含み、これらすべてはシャーシ３０内に収められる。ユーザインターフェイスパネル３８がシャーシ３０の前部に位置づけられる。シャーシ３０の後部には後ろ板４０が設けられる。
【０００９】
図３を参照すると、この発明の一実施例に従うハードドライブ３６の分割斜視図が示される。この実施例では、ハードドライブ３６は１対の左および右のレール（４２Ｌおよび４２Ｒ）内でそれぞれ構成される。各レール４２内で、３つのハードドライブ３６の５列がディスクパック４４の中にそれぞれ配置される。なおこの実施例は単に例示的なものである。この発明の他のさまざまな実施例に従うと、ハードドライブ３６の数はレール４２（行）の任意の数で構成可能であり、ディスクパック４４当りのハードドライブ３６（列）の数は変更可能である。
【００１０】
図４を参照すると、シャーシ３０の後ろ板４０の図が示される。後ろ板４０は、ファンの通気口３４と、および或る数の入出力ポート４６とを含む。入出力ポート４６は、コントローラ４８（これはシャーシ３０の内部にあるため見えなくなっている）をネットワーク接続２２経由で一次記憶ロケーション１８に接続するために設けられる。エミュレートされたテープドライブ２０の特徴および動作のさらなる詳細については、これと同時に出願されたトーマスＢ．ボルトおよびケビンＣ．デイリー（Thomas B. Bolt，Kevin C. Daly）による「データ記憶および検索動作中にドライブの活動中のサブセットを利用する記憶システム（Storage System Utilizing an Active Subset of Drives During Data Storage and Retrieval Operations）」と題された同時係属の米国特許出願（代理人事件番号Ｑ０２−１０３７．ＵＳ１）を参照されたい。これはここであらゆる目的のため引用により援用される。
【００１１】
図５を参照すると、図２から図４で例示のエミュレートされたテープドライブ２０用に構成された、コントローラ４８の一実施例のブロック図が示される。この実施例では、コントローラ４８はマイクロプロセッサなどのマイクロコントローラ５０を含み、これはＵＳＢコントローラ５２、ＵＳＢハブ５４そしてブリッジ回路５６を通じ、ディスクパック４４のハードドライブ３６と通信するよう構成される。明瞭にするために、ただ１つのディスクパック４４についてこれら構成要素を示す。右のレール４２Ｒにある残りの４つのディスクパック４４と、左のレール４２Ｌにあるすべてのディスクパック４４とは、同様の構成でマイクロコントローラ５０と通信する。ネットワーク接続２２がファイバチャネルである状況において、マイクロコントローラ５０は光トランシーバ５８およびファイバチャネルコントローラ６０を通じて一次記憶ロケーション１８と接続される。これに代えてネットワーク接続２２がギガビット高速イーサネット（Ｒ）接続であれば、マイクロコントローラ５０はイーサネット（Ｒ）トランシーバ６２およびイーサネット（Ｒ）コントローラ６４を通じて一次記憶ロケーション１８と接続される。なおこれら２つの接続は単に例示的なものである。この発明のさまざまな実施例で、多数のファイバチャネルポートおよび／または多数のイーサネット（Ｒ）チャネルポートを、単独または任意の組合せで設けることが可能である。パラレルＳＣＳＩ（Small Computer System Interface）など代替的なインターフェイスを代わりに用いても、またはこれをイーサネット（Ｒ）のファイバチャネルとともに用いてもよい。さらに、ＵＳＢに代わる内部相互接続技術、たとえばファイバチャネルまたはパラレルＳＣＳＩなどが使用可能であろう。
【００１２】
システムメモリ６６および不揮発性メモリ６８がさらにマイクロコントローラ５０と結合される。この発明の一実施例でシステムメモリ６６はＲＡＭであり、不揮発性メモリはフラッシュである。不揮発性メモリは、マイクロコントローラ５０をプログラムするのに用いるマイクロコードと、エミュレートされたテープドライブ２２により用いられる圧縮／復元ソフトウェアアルゴリズムとを記憶するのに用いられる。なお、この図の回路構成要素はこの発明の一実施例を単に例示するものである。当業者には他の実施例が明らかであろう。たとえばより多数、またはより少数のレール４２およびディスクパック４４を伴う実施例では、追加の、またはより少数のＵＳＢコントローラ５２およびＵＳＢハブ５４が必要となるであろう。入出力ポート４６間のインターフェイスハードウェアもまた、ファイバチャネルまたはイーサネット（Ｒ）以外の種類のネットワークプロトコルを用いる場合には異なり得る。
【００１３】
図６を参照すると、エミュレートされたテープドライブ２０の動作を例示するフローチャート８０が示される。最初に情報インフラストラクチャ１０のシステム管理者またはユーザは、エミュレートされたテープドライブ２０のデューティサイクルを規定する（ステップ８２）。デューティサイクルは、バックアップウィンドウ期間および遊休期間を含む。バックアップウィンドウ期間は通常、毎日の設定された時間、またはエミュレートされたテープドライブ２０の利用度が最も低い或る他の固定時間間隔でスケジュールされる。バックアップが行なわれていないとき、エミュレートされたテープドライブ２０は遊んでいる。
【００１４】
一実施例に従い、デューティサイクルが始まると（ステップ８４）、データのバックアップが始まる（ステップ８６）。データは、一次記憶ロケーション１８から入出力ポート４６、マイクロコントローラ５０、適当なＵＳＢコントローラ５２、ＵＳＢハブ５４、そしてブリッジ回路５６を通じダウンロードされ、圧縮されていない形でハードドライブ３６のうち１つに記憶される（ステップ８８）。バックアップウィンドウ期間が終了すると遊休期間が始まる（ステップ９２）。遊休期間中、ハードドライブ３６に記憶された圧縮されていないデータが検索され（ステップ９４）、ブリッジ回路５６、ＵＳＢハブ５４およびＵＳＢコントローラ５２を通じてマイクロコントローラ５０に与えられる。マイクロコントローラ５０はデータを圧縮し（ステップ９６）、それからこれをハードドライブ３６に再記憶させ（ステップ９８）、こうしてハードドライブ３６での空間を再び利用可能にする。遊休期間が過ぎ次のバックアップウィンドウが始まると、新たなデューティサイクルが始まり（ステップ８４）、上述のステップが繰返される。さまざまな実施例で、zip、gnuzip、bzip、b2zip、Lempil Ziv、およびＬＺＳ（Lempil Ziv Stac）など、さまざまなソフトウェア圧縮アルゴリズムのうちいずれかが用いられる。これに代えて他の圧縮アルゴリズムを用いることも可能である。
【００１５】
エミュレートされたテープドライブ２０にある圧縮データが必要になると、これは検索されてマイクロコントローラ５０に与えられる。データは、フラッシュメモリ６８に記憶されているソフトウェアアルゴリズムを用いて復元され、適当な入出力ポート４６を通じ一次記憶ロケーション１８に与えられる。圧縮アルゴリズムは典型的に非対称であり、データ復元は圧縮と比べ計算上の集約度がはるかに低いため、エミュレートされたテープドライブ２０のデータ検索中の性能は、解決策としてソフトウェアを用いても著しく低下することはない。
【００１６】
このようにこの発明は、保存データのバックアップに用いられるエミュレートされたテープ装置であって、ソフトウェアベースのデータ圧縮アルゴリズムを用いたものを提供する。圧縮はエミュレートされたテープドライブ２０が遊んでいるときに行なわれるため、バックアップ動作中にデータが記憶されるレートへの悪影響はなくなるであろう。
【００１７】
なおデューティサイクルは、一次データインターフェイス４６で非活動が検出されるといつでも行なわれ得る。或る非活動期間（たとえば２０秒）の後、システムはデータの検索および圧縮を始めることができる。このプロセスは、一次データインターフェイス４６で活動が検出されると、どの時点においても中断され得る。データが部分的に圧縮されることは許容可能であり、以前に中断されたところから圧縮を再開することが可能である。
【００１８】
以上の発明は、理解を明瞭にするためいくらか詳細に記載されているが、前掲の特許請求の範囲の範囲内でいくつかの変更および変形が可能であることは明らかであろう。たとえば、磁気テープ、シリコンメモリチップ、ＳＲＡＭ、ＤＲＡＭ、フラッシュ、ＥＰＲＯＭ、ＥＵＶＰＲＯＭ、ＥＥＰＲＯＭなど、どの種の読み書き記憶媒体でこの発明を実施することも容易に可能である。したがって記載の実施例は制限的でなく例示的なものとして理解されるべきであり、この発明はここに記載の詳細に限定されるべきでなく、前掲の特許請求の範囲および均等物の範囲全体によって定められるべきである。
【図面の簡単な説明】
【図１】  この発明のエミュレートされたバックアップテープドライブを用いることができる例示的な情報インフラストラクチャを示すブロック図である。
【図２】  この発明のエミュレートされたテープドライブを示す図である。
【図３】  この発明のエミュレートされたテープドライブを示す図である。
【図４】  この発明のエミュレートされたテープドライブを示す図である。
【図５】  この発明のエミュレートされたテープドライブのコントローラを示すブロック図である。
【図６】  この発明のエミュレートされたテープドライブのバックアップおよび圧縮デューティサイクルを例示するフローチャートである。
【符号の説明】
１０  情報インフラストラクチャ、１２  クライアント、１４  サーバ、１６クライアントネットワーク、１８  一次記憶ロケーション、２０  エミュレートされたテープドライブ、３２  電源、３４  ファン、３６  ハードドライブ、３８  ユーザインターフェイスパネル、４０  後ろ板、４２  レール、４６  入出力ポート、５０  マイクロコントローラ、５８  光トランシーバ、６０  ファイバチャネルコントローラ、６２  イーサネット（Ｒ）トランシーバ、６６  システムメモリ、６８  不揮発性メモリ。
【図１】
0004340078.tif 000002
【図２】
0004340078.tif 000003
【図３】
0004340078.tif 000004
【図４】
0004340078.tif 000005
【図５】
0004340078.tif 000006
【図６】
0004340078.tif 000007