(57)【要約】      （修正有）【課題】ホストの支援なしに、損失データ圧縮を知能的に遂行できるドライブを提供する【解決手段】損失データ圧縮方法は、ストレージ装置からローデータ（ｒａｗ  ｄａｔａ）を受信するステッププ、圧縮を要請するフラッグを受信するステップ、損失データ圧縮方式に対応する多様なデータ圧縮アルゴリズムを含むオンボードデータの圧縮アルゴルズムライブラリーにアクセスするステップ、パラメーターの数に基づいてデータ圧縮アルゴリズムの中の１つを選択するステップ、選択されたデータアルゴリズムをオンライン又はオフラインで実行するステップを包含する。オンラインではローデータが受信される時、ローデータを圧縮データとしてストレージ装置に格納して、ローデータがストレージ装置により圧縮され、オフラインではローデータがストレージ装置に格納され、選択されたデータ圧縮アルゴリズムに従ってストレージ装置により後で圧縮され、再格納される。【選択図】図１
2019009774.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置からローデータ（ｒａｗ  ｄａｔａ）を受信するステップと、
圧縮を要請するフラッグを受信するステップと、
損失データ圧縮方式に各々対応する多様なデータ圧縮アルゴリズムを含むオンボード（ｏｎｂｏａｒｄ）データの圧縮アルゴルズムのライブラリーにアクセスするステップと、
種々のパラメーターに基づいて前記データ圧縮アルゴリズムの中の１つを選択するステップと、
選択されたデータ圧縮アルゴリズムをオンライン又はオフラインで実行するステップと、を包含し、
前記オンラインで実行するステップは前記ローデータが受信される時、前記ストレージ装置により圧縮され、圧縮されたデータを前記ストレージ装置に格納するステップであり、
前記オフラインで実行するステップは前記ローデータが一旦前記ストレージ装置に格納され、選択されたデータ圧縮アルゴリズムに従い前記ストレージ装置により後で圧縮され、圧縮されたデータを前記ストレージ装置に再格納するステップであることを特徴とする、損失データ圧縮方法。
【請求項２】
前記パラメーターは前記ローデータに対応するキー−バリューのペアの向上された（ｅｎｈａｎｃｅｄ）キー内又はストレージ装置と連関されたサービス品質（ＱｏＳ）の優先データファイル内に包含されることを特徴とする、請求項１に記載の損失データ圧縮方法。
【請求項３】
前記パラメーターを提供するため前記ローデータを圧縮するように使用者要請を誘導するステップをさらに包含することを特徴とする、請求項１に記載の損失データ圧縮方法。
【請求項４】
客体署名又は客体拡張子に対応する前記ローデータ内に含まれたメタデータを読み出すステップと、
前記ストレージ装置上の客体署名辞典又は前記ストレージ装置上の客体拡張辞典にアクセスして、前記客体署名又は前記客体拡張子に各々基づいて前記ローデータのデータタイプを判別するステップと、
前記判別されたデータタイプに基づいて、前記データ圧縮アルゴリズムを選択するステップと、を更に包含することを特徴とする、請求項１に記載の損失データ圧縮方法。
【請求項５】
ストレージ装置からローデータを受信するステップと、
前記ストレージ装置が損失データ圧縮方式により前記ローデータを圧縮して、圧縮されたデータを生成するステップと、
前記圧縮されたデータを前記ストレージ装置に格納するステップと、を包含することを特徴とする、データ圧縮方法。
【請求項６】
前記ストレージ装置が前記ローデータ圧縮のためのデータ圧縮方式を決定するステップ、をさらに包含することを特徴とする、請求項５に記載のデータ圧縮方法。
【請求項７】
圧縮方式及びパラメーターに関する情報を含むサービス品質（ＱｏＳ）の優先データファイルを具備するステップと、
前記ストレージ装置によって、前記ローデータに対応する客体ファイルを識別するステップと、
前記情報及び前記客体ファイルに従い、前記ローデータを圧縮するためのデータ圧縮方式を決定するステップと、をさらに包含することを特徴とする、請求項６に記載のデータ圧縮方法。
【請求項８】
前記ローデータに対応するキー−バリューペアのキーのメタデータを読み出すステップと、
前記メタデータに従い前記ストレージ装置上のデータ圧縮アルゴリズムのライブラリーからデータ圧縮アルゴリズムを選択するステップと、
前記選択されたデータ圧縮アルゴリズムにより前記ローデータを圧縮するためのデータ圧縮方式を遂行するステップと、をさらに包含することを特徴とする、請求項６に記載のデータ圧縮方法。
【請求項９】
前記ローデータは客体署名又は客体拡張子を含み、
前記方法は、
前記ストレージ装置上の客体署名辞典又は前記ストレージ装置上の客体拡張子辞典にアクセスし、前記客体署名又は前記客体拡張子の各々に基づいて前記ローデータのデータタイプを判別するステップと、
前記判別されたデータタイプに基づいてデータ圧縮方式を遂行するステップと、を更に包含することを特徴とする、請求項５に記載のデータ圧縮方法。
【請求項１０】
使用者要請に従いホストコンピュータから前記ストレージ装置に前記ローデータを伝送するステップ、をさらに包含することを特徴とする、請求項５に記載のデータ圧縮方法。
【請求項１１】
使用者が情報を提供するように誘導するためのメニューを提供するステップと、
前記使用者の提供情報に従い、前記ローデータを圧縮するためのデータ圧縮アルゴリズムを決定するステップと、をさらに包含することを特徴とする、請求項１０に記載のデータ圧縮方法。
【請求項１２】
前記ストレージ装置に前記ローデータを格納するステップと、
前記ストレージ装置に対応する可用時間又はリソースを推定するステップと、
十分な時間及びリソースが可用であると判別されれば、前記ローデータを圧縮するステップと、をさらに包含することを特徴とする、請求項５に記載のデータ圧縮方法。
【請求項１３】
ホストと、
前記ホストからローデータを受信するように構成されたストレージ装置とを含み、
前記ストレージ装置は、
メモリーと、
命令を実行するように構成されたプロセッサとを含み、
前記命令が前記プロセッサによって実行される時、前記プロセッサに、
前記ストレージ装置が損失データ圧縮方式に従い前記ローデータを圧縮して圧縮されたデータを生成するようにさせ、
前記ストレージ装置が前記圧縮されたデータを前記ストレージ装置上に格納するようにさせることを特徴とする、データ圧縮システム。
【請求項１４】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置がさらに前記ローデータを圧縮するためのデータ圧縮方式を決定するようにさせることを特徴とする、請求項１３に記載のデータ圧縮システム。
【請求項１５】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が、
圧縮方式及びパラメーターに関する情報を格納するサービス品質（ＱｏＳ）の優先データファイルをアクセスし、
さらに前記ローデータに対応する客体ファイルを識別し、
前記情報及び前記客体ファイルに従い前記ローデータを圧縮するための前記データ圧縮方式を決定するようにさせることを特徴とする、請求項１４に記載のデータ圧縮システム。
【請求項１６】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が、
前記ローデータに対応するキー−バリューペアのキーのメタデータを読み出し、
前記メタデータによりデータ圧縮アルゴリズムのライブラリーからデータ圧縮アルゴリズムを選択し、
さらに前記選択されたデータ圧縮アルゴリズムにより前記ローデータを圧縮するための前記データ圧縮方式を遂行するようにさせることを特徴とする、請求項１４に記載のデータ圧縮システム。
【請求項１７】
前記ローデータは、客体署名又は客体拡張子を含み、
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が、
前記ストレージ装置上の客体署名辞典又は前記ストレージ装置上の客体拡張子辞典をアクセスし、前記客体署名又は前記客体拡張子の各々に基づいて前記ローデータのデータタイプを決定し、
さらに前記決定されたデータタイプに基づいて前記データ圧縮方式を遂行するようにさせることを特徴とする、請求項１４に記載のデータ圧縮システム。
【請求項１８】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が使用者要請に従いホストコンピュータから前記ローデータを受信するようにさせることを特徴とする、請求項１３に記載のデータ圧縮システム。
【請求項１９】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、圧縮される前記ローデータを要請する使用者が情報を提供するように誘導するメニューを、ホストが提供するように、
前記使用者の提供情報に従い前記ストレージ装置が前記ローデータを圧縮するためのデータ圧縮アルゴリズムを決定するように、させることを特徴とする、請求項１８に記載のデータ圧縮システム。
【請求項２０】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が、
前記ローデータを前記ストレージ装置上に格納し、
前記ストレージ装置に対応する可用時間及びリソースを推定し、  十分な時間及びリソースが可用である時、前記ローデータを圧縮するようにさせることを特徴とする、請求項１３に記載のデータ圧縮システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ圧縮に係り、より詳しくは、ホストの支援なしに、損失データ圧縮を知能的に遂行できる損失データ圧縮方法、データ圧縮方法、及びデータ圧縮システムに関する。
【背景技術】
【０００２】
データ圧縮は、ハードストレージ装置のようなデータストレージ容量の効率的な使用を増加させるための、よく知られた有用な技術である。しかしながら、一部のデータ圧縮方式又はアルゴルズムは、特定のタイプのデータに対してより有利に作用する。データ圧縮は圧縮されたバージョンから正確な原本データが獲得できる「無損失（ｌｏｓｓｌｅｓｓ）」のデータ圧縮、又は圧縮されたバージョンから正確な入力データが復元できない「損失（ｌｏｓｓｙ）」のデータ圧縮である。
【０００３】
一般的なデータ圧縮はホストで遂行され、圧縮されたデータは圧縮されたデータファイルとしてドライブ（例えば、ハードストレージドライブ（ｈａｒｄ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ：  ＨＤＤ）又はソリッドステートドライブ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ：  ＳＳＤ））に伝送される。また、オンドライブ（ｏｎ−ｄｒｉｖｅ）のデータ圧縮はドライブがロー（ｒａｗ）の圧縮されないデータファイルをホストから受信し、受信したデータを圧縮してから、圧縮されたデータファイルを格納する。
【０００４】
従来のオンドライブのデータ圧縮方法は、データを「愚かに（ｄｕｍｂｌｙ）」圧縮したり、ドライブにより受信される全てのローデータファイル（ｒａｗ  ｄａｔａ  ｆｉｌｅ）が同一のデータ圧縮方法又はアルゴリズムを使用して圧縮される非知能型（ｕｎｉｎｔｅｌｌｉｇｅｎｔｌｙ）／単純化し過ぎた（ｏｖｅｒｓｉｍｐｌｉｆｉｅｄ）データ圧縮を遂行する。その次に、ドライブは圧縮されたデータを圧縮されたデータファイルとして格納する。即ち、非知能型オンドライブのデータ圧縮はドライブがホストから受信した全てのデータを同一のデータ圧縮アルゴリズムにより圧縮してから、ドライブに圧縮されたデータファイルを格納する。
【０００５】
非知能型データ圧縮を使用する時、ドライブは、データがホストにより圧縮されたか、データが以前に暗号化されたか、ドライブの使用者がどんな等級又はどんなパラメーターによってデータが圧縮されることを望むか、及び多様な他の要素などを示す特性のようなデータの特別な特性を無視する。なお、非知能型データの圧縮が使用される時、ドライブは、特定のタイプのデータは他のタイプのデータより１つ以上の特定のデータ圧縮方式により、もっと容易に圧縮される事実を無視する。
【０００６】
従来具現された「愚かな（ｄｕｍｂ）」又は非知能型データ圧縮（例えば、一般的なデータ圧縮）はドライブにデータを格納しようとする使用者が重要なデータの損失をもたらす損失データの圧縮方式を望まないと仮定して動作した。従って、従来具現された知能型データの圧縮は、損失データの圧縮と異なり、無損失データ圧縮である。即ち、損失データ圧縮は特定のタイプ（例えば、データベース、作業データファイルなど）を害し得るし、潜在的にはデータ損傷をもたらすので、データインテグリティ（ｄａｔａ  ｉｎｔｅｇｒｉｔｙ）を維持するため無損失データの圧縮方式のみが具現された。
【０００７】
また、従来具現された損失データの圧縮方式は、いつもホストにより遂行され、データはドライブにより圧縮されなかった。代わりに、ドライブはホストから伝送された圧縮されたファイルを単純に受信し、格納する。ホストは、一般的にデータ圧縮及び格納を試みる使用者の中央処理装置（ＣＰＵ）／コンピュータのプロセッサに対応する。不幸にも、そのような損失データ圧縮と関連されたコンピューティングの動作は、一般的に多くの数のＣＰＵサイクルを必要とし、なお対応する多量のエネルギーを使用する。
【０００８】
前記情報は、ただ開示の背景に対する理解を向上させるために開示したものであり、従来の技術を構成しない情報を包含する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国登録特許第５８９２８４７号公報
【特許文献２】米国登録特許第８０３６２６５Ｂ１号公報
【特許文献３】米国登録特許第８４３５９９８Ｂ２号公報
【特許文献４】米国登録特許第８３８６４４４Ｂ２号公報
【特許文献５】米国登録特許第８４２７３４６Ｂ２号公報
【特許文献６】米国登録特許第８４４２８１８Ｂ２号公報
【特許文献７】米国登録特許第９１１８３４５Ｂ２号公報
【特許文献８】米国登録特許第９２３５９０５Ｂ２号公報
【特許文献９】米国公開特許第２００８／００３７８８０Ａ１号公報
【非特許文献】
【００１０】
【非特許文献１】ＣＨＹＥ，  Ｅｎ  Ｕｎ  ｅｔ  ａｌ．，“Ｓｅｌｅｃｔｉｏｎ  Ｃｒｉｔｅｒｉａ  ｏｆ  ｔｈｅ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ａｌｇｏｒｉｔｈｍ  ｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｍｅａｓｕｒｉｎｇ  Ｓｙｓｔｅｍ”，２ｎｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｄｕｓｔｒｉａｌ  Ｅｎｇｉｎｅｅｒｉｎｇ，  Ａｐｐｌｉｃａｔｉｏｎｓ  ａｎｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ（ＩＣＩＥＡＭ），  Ｊｕｎｅ  ３０，２０１６，（４ｐａｇｅｓ）．
【非特許文献２】ＬＡＲＳＳＯＮ，  Ａｎｄｅｒｓ  ｅｔ  ａｌ．，  “ＳＯＣ  Ｔｅｓｔ  Ｏｐｔｉｍｉｚａｔｉｏｎ  ｗｉｔｈ  Ｃｏｍｐｒｅｓｓｉｏｎ−Ｔｅｃｈｎｉｑｕｅ  Ｓｅｌｅｃｔｉｏｎ”，  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｓｔ  Ｃｏｎｆｅｒｅｎｃｅ，  Ｓａｎｔａ  Ｃｌａｒａ，  ＣＡ  Ｊｕｎｅ  ３０，  ２００８，（１ｐａｇｅ）．
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、ホストの支援なしに、損失データ圧縮を知能的に遂行できるドライブを提供する。
【課題を解決するための手段】
【００１２】
本開示の実施例は、ホストの支援なしに、損失データ圧縮を知能的に遂行できるドライブを提供する。
【００１３】
一実施例によると、損失データ圧縮方法は、ストレージ装置からローデータ（ｒａｗ  ｄａｔａ）を受信するステップと、圧縮を要請するフラッグを受信するステップと、損失データ圧縮方式に各々対応する多様なデータ圧縮アルゴリズムを含むオンボード（ｏｎｂｏａｒｄ）データの圧縮アルゴルズムのライブラリーにアクセスするステップと、パラメーターに基づいて前記データ圧縮アルゴリズムの中の１つを選択するステップと、選択されたデータアルゴリズムをオンライン又はオフラインで実行するステップと、を包含する。前記オンラインは前記ローデータが受信される時、前記ストレージ装置により圧縮され、圧縮されたデータを前記ストレージ装置に格納して、前記オフラインは前記ローデータが一旦前記ストレージ装置に格納され、選択されたデータ圧縮アルゴリズムに従って前記ストレージ装置により後で圧縮され、圧縮されたデータを前記ストレージ装置に再格納される。
【００１４】
前記パラメーターは前記ローデータに対応するキー−バリューのペアのキー内又はストレージ装置と連関されたサービス品質（ＱｏＳ）の優先データファイル内に包含される。
【００１５】
前記方法は、前記パラメーターを提供するため前記ローデータを圧縮するように使用者の要請を誘導するステップをさらに包含する。
【００１６】
前記方法は、客体署名又は客体拡張子に対応する前記ローデータ内に含まれたメタデータを読み出すステップと、前記ストレージ装置上の客体署名辞典又は前記ストレージ装置上の客体拡張辞典にアクセスして、前記客体署名又は前記客体拡張子に各々基づいて前記ローデータのデータタイプを判別するステップと、前記判別されたデータタイプに基づいて、前記データ圧縮アルゴリズムを選択するステップと、を更に包含する。
【００１７】
他の実施例によると、データ圧縮方法はストレージ装置からローデータを受信するステップと、前記ストレージ装置が損失データ圧縮方式により前記ローデータを圧縮し、圧縮されたデータを生成するステップと、前記圧縮されたデータを前記ストレージ装置に格納するステップを包含する。
【００１８】
前記方法は、前記ストレージ装置が前記ローデータ圧縮のためのデータ圧縮方式を決定するステップをさらに包含する。
【００１９】
前記方法は、圧縮方式及びパラメーターに関する情報を含むサービス品質（ＱｏＳ）の優先データを具備するステップと、前記ストレージ装置によって、前記ローデータに対応する客体ファイルを識別するステップと、前記情報及び前記客体ファイルに従い、前記ローデータを圧縮するためのデータ圧縮方式を決定するステップと、をさらに包含する。
【００２０】
前記方法は、前記ローデータに対応するキー−バリューペアのキーのメタデータを読み出すステップと、前記メタデータに従い前記ストレージ装置上のデータ圧縮アルゴリズムのライブラリーからデータ圧縮アルゴリズムを選択するステップと、前記選択されたデータ圧縮アルゴリズムにより前記ローデータを圧縮するためのデータ圧縮方式を遂行するステップと、をさらに包含する。
【００２１】
前記ローデータは、客体署名又は客体拡張子を含み、前記方法は、前記ストレージ装置上の客体署名辞典又は前記ストレージ装置上の客体拡張子辞典にアクセスし、前記客体署名又は前記客体拡張子の各々に基づいて前記ローデータのデータタイプを判別するステップと、前記判別されたデータタイプに基づいてデータ圧縮方式を遂行するステップと、を更に包含する。
【００２２】
前記方法は、使用者要請に従いホストコンピュータから前記ストレージ装置に前記ローデータを伝送するステップをさらに包含する。
【００２３】
前記方法は、使用者が情報を提供するように誘導するためのメニューを提供するステップと、前記使用者の提供情報に従い、前記ローデータを圧縮するためのデータ圧縮アルゴリズムを決定するステップと、をさらに包含する。
【００２４】
前記方法は、前記ストレージ装置に前記ローデータを格納するステップと、前記ストレージ装置に対応する可用できる時間又はリソースを推定するステップと、十分な時間及びリソースが可用できると判別されれば、前記ローデータを圧縮するステップと、をさらに包含する。
【００２５】
他の実施例によると、データ圧縮システムは、ホスト及び前記ホストからローデータを受信するように構成されたストレージ装置を含み、前記ストレージ装置は、メモリー及び命令を実行するように構成されたプロセッサを含み、前記命令が前記プロセッサによって実行される時、前記プロセッサに、前記ストレージ装置が損失データ圧縮方式に従い前記ローデータを圧縮して圧縮されたデータを生成させ、ストレージ装置が前記圧縮されたデータを前記ストレージ装置に格納するようにさせることを特徴にするデータ圧縮システム。
【００２６】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が前記ローデータを圧縮するためのデータ圧縮方式を決定するようにさせる。
【００２７】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が圧縮方式及びパラメーターに関する情報を格納するサービス品質（ＱｏＳ）の優先データファイルをアクセスし、前記ローデータに対応する客体ファイルを識別し、前記情報及び前記客体ファイルに従い前記ローデータを圧縮するための前記データ圧縮方式を決定するようにさせる。
【００２８】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が前記ローデータに対応するキー−バリューペアのキーのメタデータを読み出し、前記メタデータによりデータ圧縮アルゴリズムのライブラリーからデータ圧縮アルゴリズムを選択し、前記選択されたデータ圧縮アルゴリズムにより前記ローデータを圧縮するための前記データ圧縮方式を遂行するようにさせる。
【００２９】
前記ローデータは、客体署名又は客体拡張子を含み、前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が前記ストレージ装置上の客体署名辞典又は前記ストレージ装置上の客体拡張子辞典をアクセスし、前記客体署名又は前記客体拡張子の各々に基づいて前記ローデータのデータタイプを決定し、前記決定されたデータタイプに基づいて前記データ圧縮方式を遂行するようにさせる。
【００３０】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が使用者の要請に従いホストコンピュータから前記ローデータを受信するようにさせる。
【００３１】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記使用者が圧縮される前記ローデータを要請して情報を提供するように誘導するメニューを、ホストが提供するように、前記使用者の提供情報に従い前記ストレージ装置が前記ローデータを圧縮するためのデータ圧縮アルゴリズムを決定するように、させる。
【００３２】
前記命令は、前記プロセッサにより実行される時、前記プロセッサに、前記ストレージ装置が、前記ローデータを前記ストレージ装置に格納し、前記ストレージ装置に対応する可用時間及びリソースを推定し、十分な時間及びリソースが可用できる時、前記ローデータを圧縮するようにさせる。
【００３３】
開示された実施例によるドライブは、ローデータを受信でき、ローデータに対して損失データ圧縮を遂行することで、使用者がデータ圧縮に対応する特定のパラメーターに対する多様な制御レベルを許容する。よって、ドライブは損失データ圧縮の作業をオフローディング（ｏｆｆｌｏａｄｉｎｇ）してホストのＣＰＵサイクルを自由にでき、そうではないと使用者システムに相対的に多くの負荷が生じる。一部の実施例において、ドライブはドライブ上に追加又は増加されたハードウェアリソースを具現できたり、オペレーティングシステム（ＯＳ）のレベル及び／又はドライバーレベルの変更を具現できたりする。
【発明の効果】
【００３４】
本開示の実施例はデータ圧縮の実行において、対応するホストの支援なしに損失データ圧縮及び格納を遂行して、他の使用者の活動にホストのＣＰＵを開放できるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のようなストレージ装置を提供できる。
【図面の簡単な説明】
【００３５】
一部の実施例は添付した図面と共に次の説明により、より詳細に理解できる。
【００３６】
【図１】従来の損失データ圧縮方法と本願の損失データ圧縮方法を比較した図である。
【図２】本願の実施例による、ホストの支援なしに知能型損失データ圧縮を遂行できる損失圧縮ドライブを示す図である。
【発明を実施するための形態】
【００３７】
本発明の概念及びその実施方法の特徴は、次の実施例及び添付図面の詳細な説明を参照すれば、より容易に理解できる。以下、添付した図面を参照して実施例は詳細に説明し、同一の参照番号は同一の要素を指し示す。しかし、本発明は多様な形態に具体化でき、ここに示した実施例だけに限定されると解釈されてはいけない。これらの実施例を本開示が徹底かつ完全に達成されるように当業者に本発明の態様及び特徴を十分に伝達できるように例として提供する。従って、本発明の態様及び特徴の完全な理解のため当業者に不必要なプロセス、要素、及び技術は説明しない。他の言及がない限り、添付した図面及び詳細な説明の全般にわたって同一な参照符号は同一な要素を示し、従ってその説明は反復しない。図面において、エレメント、層及び領域の相対的な大きさは明確性のため誇張される。
【００３８】
以下の説明において、説明の目的のため、多くの特定の詳細で多様な実施例が完全な理解を提供するため説明する。しかし、多様な実施例が斯かる特定の細部事項なしに又は１つ以上の等価の構成なしに実施されるのは自明である。他の例において、構造及び装置は不必要に多様な実施例を曖昧にすることを避けるためブロック図の形態で図示する。
【００３９】
エレメント、階層、領域又は構成要素が他のエレメント、階層、領域又はコンポネントに「連結された」又は「結合された」のものと言及する時、これは他のエレメント、階層、領域又は構成要素に直接的に連結されたり、結合されたり、又は１つ以上の介在されたエレメント、階層、領域又は構成要素が存在できたりする。しかし、「直接的に連結された／直接的に結合された」は１つの構成要素が中間の構成要素なしに他の構成要素に直接的に連結又は結合されることを示す。一方、「間に」、「すぐ間に」又は「隣接した」そして「直接的に隣接した」のような構成要素間の関係を説明する表現は同様に解釈できる。なお、１つのエレメント又は階層が２つのエレメント又は階層の「間に」あるとして言及する時、２つのエレメント又は層間の唯一なエレメント又は階層、又は１つ以上の中間にあるエレメント又は階層が存在することもできる。
【００４０】
本明細書に使用する用語は、特定の実施態様を説明するためだけのものであり、本発明を制限しようとするものではない。本出願に使用する単数形態は、文脈上異なるように指示しない限り、複数形態を含む。本明細書において、使用する「包含する」、「包含された」、「具備する」及び「具備された」の用語は、明示した特徴、整数、ステップ、動作、エレメント及び／又は構成要素の存在を特定し、１つ以上の他の特徴、整数、ステップ、動作、エレメント、構成要素及び／又はこれらのグループの存在又は追加を排除しないことが理解される。本明細書に使用するように、「及び／又は」という用語は１つ以上の関連で列挙された項目の任意の及び全ての組み合わせを包含する。「少なくとも」のような表現は、エレメントの前でエレメントの全体の目録を修飾し、目録の個別のエレメントを修飾しない。
【００４１】
本明細書に使用する、用語の「実質的に」、「約」及び類似した用語は、近似の用語として使用され、程度（ｄｅｇｒｅｅ）の用語として使用されずに、測定された又は計算された値の固有の変化を説明するためのものであり、これは当業者にとって認識されるはずである。本明細書で使用する「約」又は「大略」は言及された値を含み、該当分野の当業者により判別される特定の値に対する偏差の許容可能な範囲以内を意味する。本明細書で使用する「大略（ａｂｏｕｔ）」「大略（ａｐｐｒｏｘｉｍａｔｅｌｙ）」は明示した値を含み、不確実な測定及び特定の量の測定と関連された誤差（例えば、測定システムの限界）を考慮し、当該分野の当業者により決定された特定の値に対する許容偏差以内を意味する。例えば、「約」は１つ以上の標準偏差内で又は明示された値の±３０％、２０％、１０％、５％以内を意味できる。なお、「〜であり得る」の使用は、本発明の説明する実施例が「本発明の１つ以上の実施例」を示す。本明細書で使用する用語の「使用する」、「使用する〜」及び「使用される」は、「活用する」及び「活用される」と同義語と見なされる。なお、「例示的な」の用語は事例又は例示を表す。
【００４２】
特定の実施例が異なるように具現されうる時、特定のプロセス順序は説明した順序と異なるように遂行できる。例えば、説明した２つの連続するプロセスは、実質的に同時に又は説明した順序と反対の順序に遂行できる。
【００４３】
多様な実施例を、実施例及び／又は中間構造の概略図である断面図を参照して、ここで説明する。結果としての図面の形状からの変化は、例えば、製造技術及び／又は許容誤差と共に予想されなければならない。従って、本明細書に開示する実施例は、図示する特定の形状に限定されるものとして解釈されてはいけないし、例えば、製造上の形状偏差を含まなければならない。例えば、直四角形で図示された注入領域は典型的に、注入された領域から注入されない領域への二進変化（ｂｉｎａｒｙ  ｃｈａｎｇｅ）であるよりは、丸い又は曲線の特性及び／又はエッジ（ｅｄｇｅ）での注入濃度の勾配（ｇｒａｄｉｅｎｔ）を有するはずである。同様に、注入により形成された埋立ての領域は、埋立て領域と注入が起こる表面間の領域とに若干の注入をもたらす。従って、図面に図示した領域は、本質的に概略的であり、その形状は装置の領域の実際形状を例示するものではないし、制限しようとするものではない。なお、当業者が理解できるように、説明する実施例は本開示の思想又は範囲を逸脱せずに、多様な他の方式で修正できる。
【００４４】
本明細書に説明する本発明の実施例による電子又は電気装置及び／又は任意の他の関連装置又は構成要素は、任意の適合したハードウェア、ファームウェア（例えば、注文型集積回路）、ソフトウェア、又はソフトウェア、ファームウェア及びハードウェアの組み合わせを利用して具現されうる。例えば、これらの装置の多様な構成要素は、１つの集積回路（ＩＣ）チップ上に又は個別ＩＣチップ上に形成される。なお、これらの多様な構成要素はフレキシブル印刷回路フィルム、テープキャリアーパッケージ（ＴＣＰ）、印刷回路基板（ＰＣＢ）又は１つの基板上に具現できる。なお、これらの多様な構成要素は、１つ以上のコンピューティング装置内の１つ以上のプロセッサで実行され、コンピュータのプログラム命令を実行し、ここで説明する多様な機能を遂行するために、他のシステムの構成要素と相互作用するプロセス又はスレッド（ｔｈｒｅａｄ）であり得る。コンピュータのプログラム命令は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような標準メモリー装置を使用するコンピューティング装置にて具現されうるメモリーに格納される。コンピュータのプログラム命令は、例えばＣＤ−ＲＯＭ、フラッシュドライブなどの他の非一時的なコンピュータ判読可能な媒体に格納される。なお、当業者は、本発明の例示的な実施例の思想及び範囲を逸脱しない限り、多様なコンピューティング装置の機能が単一のコンピューティング装置に結合されたり、統合されることができたりし、又は特定のコンピューティング装置の機能が１つ以上の他のコンピューティング装置にかけて分散されうることを認識しなければならない。
【００４５】
別に定義しない限り、本明細書に使用する全ての用語（技術用語及び科学用語を包含）は、本発明が属する技術分野の当業者により一般的に理解されるものと同一な意味を有する。なお、一般的に使用される辞典で定義された用語のような用語は、関連技術及び／又は本明細書と関連して、その意味と一致する意味を有するものと解釈されるべきであり、理想的とか過度に形式的とかの意味で解釈されていけない。
【００４６】
前述したように、ホストの支援なしにハードストレージ装置により遂行される従来の非知能型データ圧縮は、常に非損失圧縮の形態であった。さらに、従来の全ての損失データ圧縮は、ドライブによってではなく、ホスト／ホストコンピュータ／ホストＣＰＵにより遂行された。しかしながら、（例えば、音楽データファイル、ビデオデータファイル又は他のマルチメディアデータファイルを編集及び／又は格納する時）損失データ圧縮が許容できたり、好ましかったりする時、データに高い水準の圧縮が適用されるシナリオが存在する。また、ホストＣＰＵが圧縮を遂行する場合のリソースを開放し、ドライブにおいてローデータファイルを圧縮することが有用である。
【００４７】
本開示の実施例は、データ圧縮の実行において、対応するホストの支援なしに損失データ圧縮及び格納を遂行して、他の使用者の活動にホストのＣＰＵを開放できるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のようなストレージ装置を提供する。
【００４８】
図１は、従来の損失データ圧縮方法と本願の損失データ圧縮方法を比較した図である。
【００４９】
図１を参照すれば、上述したように、従来のドライブ１１６はホスト１１２の支援なしに損失データ圧縮の遂行ができない。代わりに、図１に図示したように、従来の損失データ圧縮方式１１０は、ホスト１１２がデータ圧縮１１３し、圧縮されたデータファイル１１４を格納するためドライブ１１６に伝送する前に、ローデータファイル１１８をホスト１１２に提供することにより遂行されるのでホスト１１２のシステムリソースが不足する。即ち、従来は、ローデータファイル１１８（例えば、ＰＣＭフォーマットのローサウンド／オーディオデータファイル）の圧縮が進行される時、使用者はホスト１１２がローデータファイル１１８を圧縮されたデータファイル１１４（例えば、ＭＰ３データファイル）にデータ圧縮１１３するよう指示し、ホスト１１２はデータ圧縮１１３を遂行して圧縮されたデータファイル１１４を格納するためドライブ１１６へ伝送する。
【００５０】
従って、従来技術はドライブ１１６がローデータファイル１１８に対し、データの忠実度を維持する無損失データ圧縮を遂行するが、ドライブ１１６は損失データ圧縮を遂行できない。データの忠実度の損失が使用者により容認され、許容されたり要求されたりする時（例えば、音楽及びビデオ編集の場合のように、使用者が多量の損失データ圧縮を選好する場合）、損失データ圧縮は通常、対応するホスト装置（例えば、ホスト１１２）上の多くのプロセッサのサイクルを占有する。
【００５１】
上述した観点から、損失データ圧縮の作業が、使用者の基本ＣＰＵ内に位置したホストから切り離されれば（ｏｆｆｒｏａｄ）有用である。従って、本開示の実施例によるドライブ１２６（例えば、ハードストレージドライブ又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）はホスト／ホストコンピュータ／ホストＣＰＵ１２２から非圧縮されたデータ／ローデータファイル１２８を受信し、ローデータファイル１２８を圧縮した圧縮されたデータファイル１２４を生成する１つ以上の本発明の損失データ圧縮方式１２０を遂行する。圧縮されたデータファイル１２４はドライブ１２６に保管／格納される。
【００５２】
本実施例によると、使用者が（例えば、ＣＰＵが「圧縮要請」のフラッグを設定するように命令することにより）ホストにローデータファイル１２８をデータ圧縮１２３するように命令でき（例えば、使用者がドライブ１２６に圧縮された形態で格納されるビデオ又はオーディオデータファイルの編集を完了した時）、これによりドライブ１２６が損失データ圧縮を行いローデータファイル１２８を自動的にデータ圧縮１２３して、ホスト１２２の支援なしにドライブ１２６に圧縮されたデータファイル１２４を生成する。知能型損失データ圧縮のドライブ１２６は、データ分析により（例えば、データファイルのタイプ、可能なデータ圧縮方法及びアルゴリズム、使用者パラメーター及びサービス品質ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の要求などの分析により）自動データ圧縮を許容し、損失方式のデータ圧縮１２３が適切かを確認する。その次に、ドライブ１２６は選択されたデータ圧縮方式に従い損失方式のデータ圧縮１２３を遂行し、圧縮されたデータファイル１２４を自身に格納する。ドライブ１２６は、命令通りにローデータファイル１２８をデータ圧縮１２３するか、又はデータ圧縮１２３して圧縮されたデータファイル１２４を格納する前に一定の時間非圧縮のフォーマットによりデータを格納する。
【００５３】
図２は、本願の実施例による、ホストの支援なしに知能型損失データ圧縮を遂行できる損失圧縮ドライブを示す図である。
【００５４】
図２を参照すれば、前述したように、使用者はホスト１２２からのローデータファイル１２８（例えば、ＰＣＭフォーマットのローサウンドデータ）をドライブ１２６へ直接伝送できる。その後、ドライブ１２６は、ローデータファイル１２８が損失する圧縮されたデータファイル１２４に適切に変換できるローデータファイルであるかを識別する。その次に、ドライブ１２６は損失方式のデータ圧縮１２３を遂行してドライブ１２６内の圧縮されたファイル１２４（例えば、ＭＰ３データファイル）を生成できるので、ローデータファイル１２８は損失する圧縮されたデータファイル１２４に変換され、損失する圧縮されたデータファイル１２４はドライブ１２６に保管／格納される。よって、本実施例は、自動的に又は半自動的に制御される損失方式のデータ圧縮１２３を遂行できる格納装置（例えば、ドライブ）であり、従って、従来データ圧縮を遂行するためホスト１２２により使用されたＣＰＵクロックサイクル及びリソースを、他の活動へ自由に活用できる。
【００５５】
「スマート圧縮（ｓｍａｒｔ  ｃｏｍｐｒｅｓｓ）」のドライブ１２６は、データ管理のための命令及び制御プロトコル、そして相対的に向上したオンディスク（例えば、ｏｎ−ＳＳＤ）のリソースを包含する。例えば、従来のハードディスクと異なってドライブ１２６は、多様な損失データ圧縮のメカニズムを含むデータ圧縮アルゴリズムのライブラリー１７を包含する。オンボードエンコーディングのライブラリー／データ圧縮アルゴルズムのライブラリー１７は、多様な損失データ圧縮方式及びエンコーディング方式を遂行するための多様なデータ圧縮アルゴリズムに対応するコードを包含する。なお、ドライブ１２６は、損失データ圧縮のパラメーターを含むように拡張されたサービス品質ＱｏＳの優先データファイル１４を包含する。斯かるパラメーターはローデータファイル１２８がどのように圧縮されるかを判別するためドライブ１２６によって使用される。
【００５６】
使用者からの各損失データ圧縮の要請は、最終的に圧縮されるローデータファイル１２８と関連される。データ圧縮の要請は、データ圧縮１２３の結果となるファイルのフォーマットを明確に示す直接命令、又はデータ圧縮１２３を遂行する間に、ドライブ１２６を案内するパラメーターを明確に示す直接命令を包含する。代案的に、データ圧縮の要請は、キー−メタデータに含まれた内蔵命令に対応でき、ドライブ１２６はキー−メタデータに基づいてデータ圧縮１２３をどのように遂行するかを決定する。
【００５７】
ドライブ１２６が損失方式でデータ圧縮１２３するために、ドライブ１２６は、要請されたデータ圧縮アルゴリズム又は最終フォーマットのような情報を使用してどのような圧縮方式を使用するか（例えば、データ圧縮アルゴリズムのライブラリー１７からいずれのデータ圧縮アルゴリズムを選択するか）を決定する。即ち、ドライブ１２６は、ドライブ１２６が特定の損失データ圧縮のアルゴリズムを使用してローデータファイル１２８を圧縮して、最終的に特定の損失格納フォーマット（例えば、ＭＰ３データファイル、ＪＰＥＧデータファイル、ＭＰＥＧデータファイルなど）に従い圧縮されたデータファイル１２４を格納するために多様な情報を使用する。
【００５８】
代案的に、ドライブ１２６は、（例えば、ＱｏＳの優先データファイル１４に包含された）パラメーター及びセッティングを使用して、いつどのようにしてデータを損失圧縮するのかを決定できる。例えば、ＱｏＳファイルは特定の拡張子の全てのファイルがＪＰＥＧデータファイルに圧縮されるべきことを表す。ＱｏＳファイルは、例えば、使用者の特定のデータ圧縮方式又は品質設定の選択、調節、サブサンプリングの量の設定、又は多様な他のパラメーターの制御を許容する圧縮アルゴリズムに対する圧縮の細部事項をさらに包含する。
【００５９】
従って、ドライブ１２６は情報を使用し、受信して与えられたローデータファイルに対して、要求されるデータ圧縮フォーマット及び関連されたパラメーターを理解する。本開示の実施例によると、データ圧縮フォーマット及びパラメーターは少なくとも三つの他のオプションの中の一つ以上のオプションにより伝達及び判別され、以下説明するように、ドライブ１２６が情報を学習することを可能にする。
【００６０】
ドライブ１２６の向上した特徴の他の例示によると、ドライブ１２６はエンコーディング加速ハードウェア（ｅｎｃｏｄｉｎｇ  ａｃｃｅｌｅｒａｔｉｏｎ  ｈａｒｄｗａｒｅ）を包含し、インライン（ｉｎｌｉｎｅ）又はオフラインでデータ重複除去を遂行し、オンライン（ｏｎｌｉｎｅ）又はオフラインにおいて無損失データ圧縮を遂行する。損失方式のデータ圧縮１２３がオンライン動作で遂行される時、ローデータファイル１２８がドライブ１２６により受信される時又はその近傍でデータは圧縮される。損失方式のデータ圧縮１２３がオフラインモードで遂行される時、非圧縮のローデータファイル１２８は、ドライブに無期限格納される。ドライブ１２６が十分な時間／リソースを有していると判別する時又はドライブ１２６に格納された非圧縮のローデータファイル１２８を作業することを決定する時、ローデータファイル１２８は圧縮され、そして圧縮されたデータファイル１２４としてドライブ１２６に再格納される。ドライブ１２６がオンライン又はオフラインで動作するかの決定は、圧縮のため必要な可用時間及び／又はシステムリソースの推定された量に対応するドライブ１２６の予測に依存する。
【００６１】
前記予測はマシンラーニング予測に基づき、ドライブ１２６のオンボードの装置性能のプロファイル１５の分析に基づいて決定される。例えば、装置性能のプロファイル１５はドライブ１２６の進行中の物理的性能の記録（例えば、可用メモリー、プロセッサ能力など）に対応する情報を包含し、圧縮アルゴリズム性能のチャート１６は与えられた作業により要求される可用リソースの総量を予測するため使用される。装置性能のプロファイル１５及び圧縮アルゴリズム性能のチャート１６に含まれた情報に基づいて、ドライブ１２６は圧縮されるローデータファイル１２８のタイプの決定に基づいてデータ圧縮アルゴリズムのライブラリー１７のいずれの圧縮アルゴリズムが可用装置のリソースを一番効率的に利用できるかを判別する。
【００６２】
圧縮アルゴリズム性能のチャート１６は、複数の圧縮アルゴリズムに対する情報（例えば、各圧縮アルゴリズムに対する平均圧縮比率、各圧縮アルゴリズムに対する処理量、各圧縮アルゴリズムに対するメモリーリソースの要求など）を包含し、ファイルタイプ、（ＱｏＳの優先データファイル１４により決定される）可能な処理量及び装置性能のプロファイル１５に基づいた装置性能に基づいて、データ圧縮アルゴリズムのライブラリー１７から特定のデータ圧縮アルゴリズムの選択を行う。
【００６３】
ドライブ１２６の他の向上した特徴は、ローメディアのデータファイルの相異なるタイプを知るようにする（例えば、ローデータファイル１２８の拡張子及び署名を認識することにより）エントロピー（ｅｎｔｒｏｐｙ）推定アルゴリズムのライブラリー６、客体署名辞典５及び／又は客体拡張子辞典４を包含することである。
【００６４】
エントロピー推定アルゴリズムのライブラリー６は、任意のサンプルデータのエントロピーをテストするためのコードを含んでいるので、ローデータファイル１２８の圧縮率レベルを判別できる。エントロピー基盤の計算は、ファイルが圧縮可能な程度を予測するためバリュー（ｖａｌｕｅ）２の一部を検索のために使用する。エントロピー基盤の計算は、エントロピック（ｅｎｔｒｏｐｉｃ）な又はランダムなデータがより圧縮し難いという原理で機能する（例えば、既に圧縮されたファイルは高いエントロピックな特性を有し、圧縮されないファイルはさらに圧縮可能なデータを有する可能性が高い）。客体署名辞典５は、各々の圧縮技術に対応する既知の客体／ファイル署名を包含する。客体拡張子辞典４は、多様な圧縮技術の各々に対してこれらの客体のタイプがどのくらい圧縮可能であるか評価された既知の客体／ファイル拡張子のリストを包含する。斯かる情報は、圧縮を容易にするために客体拡張子辞典４により、データ圧縮予測器３へ提供される。
【００６５】
従って、ローデータファイル１２８が受信される時、ドライブ１２６の多様な構成要素は圧縮されるローデータファイル１２８のタイプを識別するために使用され、これはデータ圧縮予測器３及び圧縮器７の動作に影響し、データ圧縮アルゴリズムのライブラリー１７から適切なデータ圧縮アルゴリズムを選択するのに使用される。例えば、データ圧縮予測器３は客体拡張子辞典４、客体署名辞典５及び／又はエントロピー推定アルゴリズムのライブラリー６に含まれた情報を使用してバリュー２の圧縮率を決定する。
【００６６】
その後、圧縮器７は指示されたパラメーターに基づいてデータ圧縮を遂行する。データ圧縮予測器３及び圧縮器７は、データファイルを識別し、それがどのようなタイプのデータファイルであるかを認識し、その時の使用者要求、ドライブ１２６のその時の性能、ＱｏＳの優先データファイル１４によるＱｏＳ要求（これは、あるデータ圧縮方式がデータ圧縮に使用されるべきであるかを決定するため使用される）、圧縮アルゴリズムの性能チャート１６内に収納されたヒストリカル（ｈｉｓｔｏｒｉｃａｌ）データ圧縮アルゴリズムの性能などのファクター（ｆａｃｔｏｒ）に基づいて一番効率的な損失データの圧縮アルゴリズムを知能的に提供する。なお、データ圧縮予測器３及び圧縮器７は、利用可能なもっと良好なデータ圧縮アルゴリズムの存在（例えば、もっと多くのプロセッサ空間が利用可能になったり、もっと多くのバッファー空間が利用可能になったりするなど）を後で判別できる。
【００６７】
ローデータファイル１２８をどのように圧縮するかに対して、データ圧縮予測器３による決定が行われると、受信スイッチ１１へ情報が提供され、受信スイッチ１１はデータを圧縮器７へ出力するか、損失圧縮が必要と確認されないファイルタイプが受信され、圧縮しないと決定されると、出力１３のためデータを出口スイッチ１２へ伝送することにより圧縮器７をバイパスするかを分別する。よって、データ圧縮予測器３は、どのように圧縮がなされるかを決定し、受信スイッチ１１はデータを圧縮器７又は出口スイッチ１２へ伝送する。
【００６８】
以下は、ドライブ１２６により、受信されたローデータファイル１２８を圧縮するための適切な圧縮方式及びパラメーターを決定するための三つのオプションを表す。
【００６９】
第１のオプションとして、データ圧縮フォーマット及びパラメーターは、格納命令の明示的な部分として決定される。
【００７０】
従来のシステムにおいて、ドライブ１２６に格納される各ローデータファイル１２８は、ドライブ１２６への最終的な格納命令を包含し、それによってドライブ１２６に対する明示的な指示を表示して、特定のデータ圧縮タイプ及び特定のデータ圧縮パラメーターと共に特定のローデータファイル１２８を格納する。
【００７１】
対照的に、本オプションにおいて、使用者がホスト１２２にドライブ１２６がローデータファイル１２８を圧縮されたデータファイル１２４として格納するように命令する時、データ圧縮フォーマット及びパラメーターは格納命令の一部として明瞭に判別される。本願の三つのオプションの中で、このオプションは、一般的に（ブロック基盤のストレージ装置は、以下で説明する第２のオプションによりキー（ｋｅｙ）−バリューのメタデータのオプションを有さないから）ブロック基盤のストレージ装置と共に使用される。しかし、この第１のオプションの具現は、伝統的なブロック基盤のデータファイルシステムのドライバー／ＯＳ階層の変更を要求する。
【００７２】
ドライバー／ＯＳ階層の変更は、ローデータファイル１２８を損失方式のデータ圧縮１２３する意図又は機会の存在を判別するため、ドライブ１２６へのライト（ｗｒｉｔｅ）命令をもたらす全ての使用者活動（例えば、使用者が意図的にビットマップ（ｂｉｔｍａｐ）をＪＰＥＧとして格納したり、ビットマップを圧縮されないドライブから他のドライブに移動したりすること）をスキャニングすることを包含する。ドライバー／ＯＳ階層の変更は、使用者の意図を確認するため、そして使用者がデータ圧縮１２３のパラメーターに関する情報を提供するように誘導するため、データ圧縮要請を遮る（ｉｎｔｅｒｒｕｐｔ）ことを含む（例えば、使用者は損失方式のデータ圧縮１２３に関するパラメーターを選択できるホスト１２２におけるメニューに影響を与える）。さらに、付加的な修正命令はアイデンティティ（ｉｄｅｎｔｉｔｙ）及びパラメーター情報を伝送するため、そしてドライブ１２６がいずれかの論理的ブロックアドレス（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｅｓ：  ＬＢＡｓ）が目標データファイルと連関されるかを識別するため使用される。
【００７３】
ドライバー／ＯＳ階層に対する１つ以上の提案された変更と関連された情報を獲得してから、ローデータファイル１２８はドライブ１２６へ伝送され、オペレーティングシステム及びドライバーはホスト１２２からドライブ１２６に使用者により選択された情報を伝達する。このオプションはドライブ１２６との通信の特定の向上したプロトコルをさらに具現する。
【００７４】
第２のオプションとして、データ圧縮フォーマット及び関連されたパラメーターは、キー１及びバリュー２（ＫＶペア）のキー１に明示的にエンコーディングされる。ドライブ１２６は改善された命令語又は命令語セットに応答したり、ローデータファイル１２８と関連された濃縮されたキー１を検出でき、損失−圧縮可能なデータのライト（ｗｒｉｔｅ）は、「圧縮要請」のフラッグ、データ圧縮フォ−マットの識別及び／又はデータ圧縮フォーマットのパラメーターによる。
【００７５】
本オプションによるＫＶ基盤のシステムにおいて、データ圧縮フォーマット及びパラメーターの関連情報は、データがどのように格納されなければならないかを示すキー１のメタデータの部分に包含される。例えば、キー１は、圧縮されたデータファイル１２４が特定のデータ圧縮設定及び特定のサブサンプリングの量を有するＪＰＥＧデータファイルとして格納されなければならないことを示すメタデータを包含する。例えば、ドライブ１２６のデータ圧縮予測器３及び圧縮器７は、ローデータファイル１２８が修正／圧縮されなければならないかを、また、データ圧縮１２３がどのように遂行されなければならないかを判別するためキー１に含まれた情報（例えば、メタデータ）を使用する。
【００７６】
さらに、キー１はローデータファイル１２８のタイプを示すファイル／客体拡張子を包含し、これは圧縮が遂行されるか／どのように遂行されるかに関する情報を提供する。既知の客体拡張子のリストは客体拡張子辞典４に維持され、客体拡張子辞典４からの情報はデータ圧縮１２３のタイプを判別するため、データ圧縮予測器３により使用される。
【００７７】
なお、キー１はファイル／客体署名を包含し、これはＫＶペアのバリュー２内に包含されたローデータファイル１２８のタイプに関する情報を提供するコードラインである。データのタイプに関する既知の署名のリストは客体署名辞典５に維持され、客体署名辞典５からの情報は、使用するデータ圧縮１２３のタイプを決定するためデータ圧縮予測器３へ提供される。
【００７８】
従って、受信されたデータがローメディアのデータファイルであることを示すキー１はドライブ１２６により受信され、キー１はデータ圧縮がどのように遂行されなければならないかのパラメーターを包含する。従って、客体署名辞典５又は客体拡張子辞典４は、キー１の情報／メタデータを読み出すことにより、バリュー２に対応する受信されたローデータファイル１２８が圧縮されなければならないことを検出でき、データ圧縮アルゴリズムのライブラリー１７からどのデータ圧縮アルゴリズムが使用されなければならないかを判別するため、メタデータを使用する。
【００７９】
データをどのように圧縮するかを決定するため、ドライブ１２６はキー１のメタデータの部分をリード（ｒｅａｄ）する。データファイル２８が、ＫＶ客体としてＫＶストア（ｓｔｏｒｅ）へ伝送される時、ＫＶストアはキー１をリードし、メタデータ部分を認識してリードし、ドライブ１２６が表示されたデータ圧縮フォーマット及びパラメーターを使用することにより、損失方式のデータ圧縮１２３の選択されたタイプで圧縮されたデータファイル１２４を格納する命令であることを判別する。メタデータの部分に包含された情報の使用により、ドライブ１２６は指定されたデータ圧縮アルゴリズム及びパラメーターに連関されたローデータファイル１２８をデータ圧縮１２３する。
【００８０】
従って、データ圧縮フォーマット及びパラメーターは、ＫＶストレージシステムの明確な部分になる。ＫＶペアのキー１は隠された情報を含むメタデータの部分を包含し、パラメーターはドライブ１２６により圧縮可能なデータの識別が可能であるようにエンコーディングされる。そのようなメタデータ情報の使用者レベルエントリーはＫＶストレージソフトウェアスタックで達成される。即ち、使用者は、どのローデータファイル１２８が損失圧縮されるかＫＶペアのキー１内に包含されたタグに対応する情報を付加できる。
【００８１】
本オプションは「細密な（ｆｉｎｅ−ｇｒａｉｎｅｄ）」の制御を使用者に提供し、本オプションは具現し易く、また僅かな変更で具現できる。このオプションによると、使用者は所定のタイプのローデータファイル１２８がドライブ１２６に格納される時、データが圧縮されることを理解できる。
【００８２】
第３のオプションとして、データ圧縮フォーマット及びパラメーターが、より大きなサービス品質ＱｏＳの優先データファイル１４の一部として、暗示的に行われる。ＱｏＳの優先データファイル１４は（例えば、使用者により）生成され、正確な又は一般的な損失圧縮及び格納オプションを明示するため、ドライブ１２６と共に設定される。ＱｏＳの優先データファイル１４は（例えば、デフォルトデータ圧縮のタイプ及び与えられたタイプの全てのローデータファイル１２８に適用されるパラメーターを示し、保存されるローデータファイル１２８のバックアップのコピーを要求し、与えられた状況下での損失方式のデータ圧縮１２３を禁止又は遅延させるためなど）データ圧縮政策の特定及び／又は包括的な具現のための設定を包含する。
【００８３】
ＱｏＳの優先データファイル１４は、ドライブ１２６が客体のローデータファイル１２８を識別するため、使用する情報（例えば、キー１内の情報、データファイル拡張子、ヘッダー署名など）を包含する。ＱｏＳの優先データファイル１４に対応するメディアのデータファイルのドライブ１２６による認識時、ＱｏＳの優先データファイル１４に含まれたオプションは、知能型ドライブにより自動的に具現される。ドライブ１２６はＱｏＳの優先データファイル１４内の情報を使用して適切なデータ圧縮のアルゴリズム及びパラメーターを選択して自動的に適用する。一部の実施例において、包括的なＱｏＳの要求は相反する使用者命令又はキー−フィールド指定を無視（ｏｖｅｒｒｉｄｅ）したり遅延（ｄｅｌａｙ）させる。
【００８４】
従って、使用者がホスト１２２に特定のタイプのローデータファイル１２８をドライブ１２６に伝送させる時、ドライブ１２６はＱｏＳの優先データファイル１４による対応する方式によりデータ圧縮１２３して格納１２５できるように構成される。このオプションは、理論的に数千個のローデータファイル１２８に適用される一般規則の初期構成後に使用者に、より少ない制御を提供して使用者からの多くの制御を除去する。しかし、このオプションは包括的なデータの圧縮制御を許容して、ＱｏＳの優先データファイル１４がデータ圧縮メカニズムの包括的な構成を許容し、侵入する使用者の相互作用を減少させる。本実施例によるドライブ１２６は、もっと速いコントローラープロセッサ、もっと大きなライト（ｗｒｉｔｅ）バッファー、もっと大きなコントローラープロセッサＲＡＭ割り当て及び／又はデータ圧縮／エンコーディング加速器の中の１つ以上の付加的なハードウェアリソースを包含できる。
【００８５】
従って、前述した実施例は、知能型損失データ圧縮が可能な自足的（ｓｅｌｆ−ｓｕｆｆｉｃｉｅｎｔ）ストレージ装置を提供する。
【００８６】
前述した内容は、例示的な実施例を説明するためのものであり、本発明を制限するものと解釈してはならない。いくつかの例示的な実施例を説明したが、当業者は例示的な実施例の新規な教示及び利点から実質的に逸脱せずに、例示的な実施例から多くの修正が可能であることを容易に理解するはずである。従って、そのような全ての修正は、例示的な実施例の範囲内に含まれる。請求の範囲において、手段と機能が結合された表現は構造的等価物だけではなく等価の構造を列挙して、ここに説明した構造を包含する。従って、前記説明は例示的な実施例を説明するためのものであり、開示した特定の実施例に限定されるものと解釈してはならないし、開示した例示的な実施例だけではなく、他の例示的な実施例に対する修正が含まれるものと理解しなければならない。本発明の概念は特許請求の範囲により定義され、特許請求の範囲の均等物も包含される。
【産業上の利用可能性】
【００８７】
本発明は、損失データ圧縮を知能的に遂行できるドライブ装置の提供に有用である。
【符号の説明】
【００８８】
１  キー
２  バリュー
３  データ圧縮予測器
４  客体拡張子辞典
５  客体署名辞典
６  エントロピー推定アルゴリズムのライブラリー
７  圧縮器
１１  受信スイッチ
１２  出口スイッチ
１３  出力
１４  ＱｏＳの優先データファイル
１５  装置性能のプロファイル
１６  圧縮アルゴリズム性能のチャート
１７  データ圧縮アルゴリズムのライブラリー
１１０  従来の損失データ圧縮方式
１２０  本発明の損失データ圧縮方式
１１２、１２２  ホスト
１１３、１２３  データ圧縮
１１４、１２４  圧縮されたデータファイル
１１６、１２６  ドライブ
１１８、１２８  ローデータファイル
１２５  格納
【図１】
2019009774.tif 000003
【図２】
2019009774.tif 000004