
階層型ストレージ管理( HSM ) は、階層型ストレージとも呼ばれ、[ 1 ]は、高コストと低コストのストレージ メディア間でデータを自動的に移動するデータ ストレージおよびデータ管理技術です。HSM システムが存在する理由は、ソリッドステート ドライブアレイなどの高速ストレージ デバイスが、ハードディスク ドライブ、光ディスク、磁気テープ ドライブなどの低速デバイスよりも (保存されるバイトあたりの) 高価であるためです。すべてのデータが常に高速デバイスで利用できることが理想的ですが、これは多くの組織にとって法外なコストがかかります。代わりに、HSM システムは、企業のデータの大部分を低速デバイスに保存し、必要に応じてデータを高速ディスク ドライブにコピーします。HSM システムは、データの使用方法を監視し、どのデータを安全に低速デバイスに移動できるか、どのデータを高速デバイスに残しておくべきかを推測します。
HSMは、より堅牢なストレージが長期アーカイブ用に利用可能であるものの、アクセス速度が遅い場合にも使用できます。これは、災害復旧のためのオフサイトバックアップといった単純な用途にも当てはまります。
HSMは、商用データ処理の黎明期にまで遡る、長年確立された概念です。しかし、ストレージと大規模データセットの長距離通信の両方において、新しい技術が利用可能になるにつれて、使用される技術は大きく変化しました。「サイズ」や「アクセス時間」などの尺度の規模は劇的に変化しました。それにもかかわらず、多くの基本的な概念は、はるかに大規模または高速なスケールで、何年も経ってから再び好まれるようになっています。[ 1 ]
一般的なHSM(ハードウェアセキュリティ管理)のシナリオでは、頻繁に使用されるデータは、ソリッドステートドライブ(SSD)などのウォームストレージデバイスに保存されます。アクセス頻度の低いデータは、一定期間経過後、低速ながら大容量のコールドストレージ層に移行されます。ユーザーがコールドストレージ層にあるデータにアクセスすると、データは自動的にウォームストレージ層に戻されます。この方式の利点は、保存されるデータの総量がウォームストレージデバイスの容量をはるかに超える場合でも、コールドストレージ層には使用頻度の低いファイルしか保存されないため、ほとんどのユーザーは速度低下に気づかないことです。
概念的には、HSMはほとんどのコンピュータCPUに搭載されているキャッシュに類似しています。キャッシュでは、非常に高速で動作する少量の高価なSRAMメモリを使用して頻繁に使用されるデータを保存しますが、新しいデータをロードする必要がある場合は、最も使用頻度の低いデータが、より低速ではあるものの容量の大きいメインのDRAMメモリに追い出されます。
実際には、HSMは通常、IBM Tivoli Storage ManagerやOracleのSAM-QFSなどの専用ソフトウェアによって実行されます。
階層の上位レベル(磁気ディスクなど)から下位レベル(光メディアなど)に移動されたファイルを削除することは、ファイルグルーミングと呼ばれることがあります。[ 2 ]
階層型ストレージマネージャ(HSM、後にDFHSM、最終的にDFSMShsm)は、データストレージのコスト削減と低速メディアからのデータ取得の簡素化を目的として、 1978年3月31日にIBMによってMVS向けに初めて実装されました。ユーザーはデータの保存場所や取得方法を知る必要がなく、コンピュータが自動的にデータを取得します。ユーザーにとっての違いは、データの取得速度のみでした。HSMは当初、IBM 3850 Mass Storage Facility上のディスクボリュームと仮想ボリュームへのデータセットの移行のみに対応していましたが、後のリリースでは移行レベル2(ML2)用の磁気テープボリュームもサポートされました。
その後、IBMはHSMを自社のAIXオペレーティングシステムに移植し、さらにSolaris、HP-UX、Linuxなどの他のUnix系オペレーティングシステムにも移植した。
オーストラリアのCSIRO(連邦科学産業研究機構)のコンピューティング研究部門は、1960年代にDAD(ドラム・アンド・ディスプレイ)オペレーティングシステムにドキュメント領域を備えたHSM(ハードウェアセキュリティモジュール)を実装し、文書のコピーを7トラックテープに書き込み、文書にアクセスすると自動的に検索できるようにした。
HSMは、DEC VAX/VMSシステムおよびAlpha/VMSシステムにも実装されました。最初の実装日は、VMSシステム実装マニュアルまたはVMS製品説明パンフレットから容易に確認できます。
近年では、 Serial ATA (SATA)ディスクの開発により、3段階HSMの大きな市場が生まれました。高性能なファイバーチャネルストレージエリアネットワークデバイスから、やや低速ながらはるかに安価な数テラバイト以上のSATAディスクアレイにファイルが移行され、最終的にSATAディスクからテープに移行されます。
HSMは、低コストで長期保存するデータのディープアーカイブストレージによく利用されます。自動テープロボットは、低消費電力で大量のデータを効率的にサイロ化できます。
一部のHSMソフトウェア製品では、データファイルの一部を高速ディスクキャッシュに、残りをテープに保存することができます。これは、インターネット経由でビデオをストリーミング配信するアプリケーションで利用されています。ビデオの最初の部分はディスクから即座に配信され、残りの部分はロボットが検索、マウント、そしてエンドユーザーにストリーミング配信されます。このようなシステムは、大規模なコンテンツ配信システムにおけるディスクコストを大幅に削減します。
現在、HSMソフトウェアはハードディスクドライブとフラッシュメモリ間の階層化にも使用されており、フラッシュメモリは磁気ディスクよりも30倍以上高速である一方、ディスクははるかに安価である。
HSMの背後にある重要な要素は、システム内のファイル転送を制御するデータ移行ポリシーです。より正確には、このポリシーは、ストレージシステム全体が適切に整理され、要求に対する応答時間が最短になるように、ファイルをどの階層に保存するかを決定します。このプロセスを実現するアルゴリズムはいくつかあり、例えば、最近使用されていない置換(LRU)[ 3 ] 、サイズ温度置換(STP)、ヒューリスティック閾値(STEP)[ 4 ]などがあります。近年の研究では、機械学習技術を使用したインテリジェントなポリシーもいくつか登場しています。[ 5 ]
階層化ソリューションとキャッシングは表面上は同じように見えるかもしれませんが、根本的な違いは、より高速なストレージの利用方法と、頻繁にアクセスされるデータを検出して高速化するために使用されるアルゴリズムにあります。[ 6 ]
キャッシングは、頻繁にアクセスされるデータブロックのコピーを作成し、そのコピーを高速ストレージデバイスに保存し、低速で大容量のバックエンドストレージ上の元のデータソースの代わりにこのコピーを使用することで機能します。ストレージ読み取りが発生するたびに、キャッシングソフトウェアは、このデータのコピーが既にキャッシュに存在するかどうかを確認し、存在する場合はそのコピーを使用します。そうでない場合は、低速で大容量のストレージからデータが読み取られます。[ 6 ]
一方、階層化は全く異なる方法で動作します。頻繁にアクセスされるデータのコピーを高速ストレージに作成するのではなく、階層化では、たとえば、アクセス頻度の低いデータを低コストで大容量のニアラインストレージデバイスに移動することで、データを階層間で移動します。 [ 7 ] [ 6 ]基本的な考え方は、ミッションクリティカルでアクセス頻度の高い「ホット」データは、高いI/Oパフォーマンスを活用するためにSSDなどの高価なメディアに保存され、ニアラインまたはアクセス頻度の低い「コールド」データは、 HDDやテープなどの安価なニアラインストレージメディアに保存されるということです。[ 8 ]このように、「データ温度」またはアクティビティレベルによってプライマリストレージ階層が決定されます。[ 9 ]