(57)【要約】【課題】減少された費用及び向上された性能を有するニューラルネットワークベースの永続性データストレージを提供する。【解決手段】本発明による装置は、データセットに関連付けられたメモリアクセス要請を受信するように構成されたホストインターフェース回路と、変換されたデータセットを格納するように構成された不揮発性メモリストレージ回路と、少なくとも１つのマシンラーニング回路を含み、書き込みメモリアクセス要請に応答して、データセットの元のバージョンを変換されたデータセットに変換し、読み取りメモリアクセス要請に応答して、変換されたデータセットを復元されたデータセットに変換するように構成された変換回路を備える。【選択図】図１
2020087468.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
データセットに関連付けられたメモリアクセス要請を受信するように構成されたホストインターフェース回路と、
変換されたデータセットを格納するように構成されたメモリ回路と、
少なくとも１つのマシンラーニング回路を含み、書き込みメモリアクセス要請に応答して、前記データセットの元のバージョンを前記変換されたデータセットに変換し、読み取りメモリアクセス要請に応答して、前記変換されたデータセットを復元されたデータセットに変換するように構成された変換回路と、を備えることを特徴とする装置。
【請求項２】
前記少なくとも１つのマシンラーニング回路の永続的状態（ｐｅｒｓｉｓｔｅｎｔ  ｓｔａｔｅ）を格納するように構成された第２のメモリ回路をさらに含むことを特徴とする請求項１に記載の装置。
【請求項３】
前記変換回路は、複数のマシンラーニング回路を含み、
前記変換回路は、少なくとも、ホストによって要求されるフィデリティ（ｆｉｄｅｌｉｔｙ）のサイズ及び前記複数のマシンラーニング回路によって提供可能な前記フィデリティのサイズに基づいて、前記複数のマシンラーニング回路の中のいずれか１つを選択して、前記データセットを変換するように構成されたことを特徴とする請求項１に記載の装置。
【請求項４】
前記ホストによって要求される前記フィデリティは、ストレージパラメータのセットに対して固定された値であり、前記ストレージパラメータは名前空間識別子（ｎａｍｅｓｐａｃｅ  ｉｄｅｎｔｉｆｉｅｒ）、ホスト識別子（ｈｏｓｔ  ｉｄｅｎｔｉｆｉｅｒ）、論理ブロックアドレス範囲（ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ  ｒａｎｇｅ）、不揮発性メモリセット識別子（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｓｅｔ  ｉｄｅｎｔｉｆｉｅｒ）、ＮＶＭｅサブミッションキュー識別子（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｅｘｐｒｅｓｓ  ｓｕｂｍｉｓｓｉｏｎ  ｑｕｅｕｅ  ｉｄｅｎｔｉｆｉｅｒ）、ストリーム識別子（ｓｔｒｅａｍ  ｉｄｅｎｔｉｆｉｅｒ）、イーサネット（登録商標）メディアアクセス制御識別子（Ｅｔｈｅｒｎｅｔ（登録商標）  ｍｅｄｉａ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ  ｉｄｅｎｔｉｆｉｅｒ）、ネットワークアドレス（ｎｅｔｗｏｒｋ  ａｄｄｒｅｓｓｅｓ）、トランスポートパラメータ（ｔｒａｎｓｐｏｒｔ  ｐａｒａｍｅｔｅｒ）、並びに日付及び時刻で構成されたグループから選択されることを特徴とする請求項３に記載の装置。
【請求項５】
前記要求されるフィデリティは、少なくとも前記メモリアクセス要請に関連付けられたデータタイプ又は前記メモリアクセス要請に関連付けられたソフトウェアアプリケーションをベースに、動的に調整されることを特徴とする請求項３に記載の装置。
【請求項６】
前記変換されたデータセットは、前記データセットの前記元のバージョンと同じか、又は前記元のバージョンよりも小さいサイズを有し、
前記復元されたデータセットは、前記データセットの前記元のバージョンと異なることを特徴とする請求項１に記載の装置。
【請求項７】
前記変換回路は、前記データセットを重複排除（ｄｅ−ｄｕｐｌｉｃａｔｅ）するように構成され、
前記データセットの重複排除は、前記メモリ回路に既に格納されたデータに対してブロックレベルから遂行されることを特徴とする請求項１に記載の装置。
【請求項８】
前記読み取りメモリアクセス要請に応答して、前記ホストインターフェース回路は、前記変換されたデータセットを返還するように構成され、
前記変換されたデータセットは、前記データセットの前記元のバージョンと同じサイズか、又はより小さいサイズを有し、前記変換されたデータセットは、前記データセットの前記元のバージョンの近似値であることを特徴とする請求項１に記載の装置。
【請求項９】
前記メモリ回路は、
前記変換されたデータセットに対する前記メモリアクセス要請に含まれるアドレッシング値に関連付けられたフィールドと、
前記変換されたデータセットを生成するために、前記少なくとも１つのマシンラーニング回路のうちのいずれが使用されるかを示すフィールドと、を含むことを特徴とする請求項１に記載の装置。
【請求項１０】
前記変換回路は、
前記データセットの前記元のバージョンと同じ前記変換されたデータセットのバージョンを生成し、前記データセットの前記元のバージョンと同じ前記復元されたデータセットのバージョンを生成するように構成されたフラッシュ変換レイヤ回路を含み、
前記変換回路は、フィデリティ要求に基づいて、前記変換されたデータセットを処理するために、前記フラッシュ変換レイヤ回路又は前記少なくとも１つのマシンラーニング回路のいずれを使用するかを選択するように構成されたことを特徴とする請求項１に記載の装置。
【請求項１１】
前記少なくとも１つのマシンラーニング回路は、１つ以上のニューラルネットワークを含み、
前記変換回路は、少なくともフィデリティ要求に基づいて、前記１つ以上のニューラルネットワークのレイヤの数を動的に調整するように構成されたことを特徴とする請求項１に記載の装置。
【請求項１２】
前記変換回路は、
観測された復元デルタ（ｏｂｓｅｒｖｅｄ  ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｄｅｌｔａ）を使用して、前記少なくとも１つのマシンラーニング回路をトレーニングし、
前記観測された復元デルタ（差分量）を使用して、複数のマシンラーニング回路の中から特定のマシンラーニング回路を選択することにより、達成されるフィデリティを判定するように構成され、
前記メモリ回路は、前記変換されたデータセットとともに、前記少なくとも１つのマシンラーニング回路の永続的状態を格納するようにさらに構成されたことを特徴とする請求項１に記載の装置。
【請求項１３】
前記少なくとも１つのマシンラーニング回路は、共通のエンコーダニューラルネットワーク及びマルチエンコーダニューラルネットワーク、又は複数のエンコーダニューラルネットワーク及びマルチデコーダニューラルネットワークのいずれかを含むことを特徴とする請求項１に記載の装置。
【請求項１４】
前記変換回路は、少なくともフィデリティターゲットに基づいて、前記データセットの前記元のバージョンを前記変換されたデータセットに無損失又は損失の変換を遂行するか否かを判定するように構成されたことを特徴とする請求項１に記載の装置。
【請求項１５】
システムであって、
ストレージ装置と、
前記ストレージ装置にデータセットと関連付けられたメモリアクセスを遂行するように構成されたホストコンピューティング装置と、を備え、
前記ストレージ装置は、
変換されたデータセットを格納するように構成されたメモリ回路と、
少なくとも１つのマシンラーニング回路を含み、前記メモリアクセスに応答して、前記データセットの元のバージョンを前記変換されたデータセットに変換する動作、前記変換されたデータセットを復元されたデータセットに変換する動作、又は前記変換されたデータを返還する動作のうちのいずれか１つを遂行するように構成された変換回路と、を含むことを特徴とするシステム。
【請求項１６】
前記ストレージ装置は、前記少なくとも１つのマシンラーニング回路の永続的状態（ｐｅｒｓｉｓｔｅｎｔ  ｓｔａｔｅ）を格納するように構成された第２のメモリ回路、を含み、
前記変換回路は、複数のマシンラーニング回路と、を含み、
前記変換回路は、少なくとも前記複数のマシンラーニング回路によって提供されたフィデリティ（ｆｉｄｅｌｉｔｙ）のサイズに基づいて、前記複数のマシンラーニング回路の中から１つを選択して、前記データセットを変換するように構成され、
前記変換されたデータセットは、前記データセットの前記元のバージョンよりも小さいサイズを有し、
前記復元されたデータセットは、前記データセットの前記元のバージョンとは異なることを特徴とする請求項１５に記載のシステム。
【請求項１７】
読み取りメモリアクセスに応答して、前記ストレージ装置は、前記ホストコンピューティング装置に前記変換されたデータセットを返還するように構成され、
前記変換されたデータセットは、前記データセットの前記元のバージョンよりも小さいサイズを有し、
前記変換回路は、前記データセットの前記元のバージョンと同じ前記変換されたデータセットのバージョンを生成し、前記データセットの前記元のバージョンと同じ前記復元されたデータセットのバージョンを作成するように構成された直接ストレージ回路と、を含み、
前記変換回路は、フィデリティ要求に基づいて、前記変換されたデータセットを処理するためにフラッシュ変換レイヤ回路又は前記少なくとも１つのマシンラーニング回路のいずれを使用するかを選択するように構成されたことを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記メモリ回路は、
前記変換されたデータセットに対する前記メモリアクセス内のアドレッシング値に関連付けられたフィールドと、
前記変換されたデータセットを生成するために、前記少なくとも１つのマシンラーニング回路のうちのいずれが使用されるかを示すフィールドと、を含むことを特徴とする請求項１５に記載のシステム。
【請求項１９】
前記マシンラーニング回路は、１つ以上のニューラルネットワークを含み、
前記変換回路は、少なくともフィデリティ要求に基づいて、前記１つ以上のニューラルネットワーク内のレイヤの数を動的に調整するように構成されたことを特徴とする請求項１５に記載のシステム。
【請求項２０】
方法であって、
元のデータセットを受信してメモリ回路に格納する段階と、
マシンラーニング技法を介して前記元のデータセットを前記元のデータセットよりも小さい変換されたデータセットに変換する段階と、
前記元のデータセットの代わりに、前記変換されたデータセットを格納する段階と、を有することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの格納に関し、より詳細には、ニューラルネットワークベースの永続的データストレージに関する。
【背景技術】
【０００２】
最新の情報処理（ＩＴ：Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）産業では、非常に大量のデータが多様な装置やプロセスによって生成されている。このようなデータジェネレータのいくつかの例は、スマートマシン、自動車、ソーシャルネットワーク、及びモノのインターネット（ＩｏＴ：Ｉｎｔｅｒｎｅｔ−ｏｆ−Ｔｈｉｎｇｓ）装置である。新しい人工知能（ＡＩ：ａｒｔｉｆｉｃｉａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ）及びマシンラーニング（ＭＬ：ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）技法は、収集されたデータを効率的に分析し、それを使用して、アプリケーションのより良い効用と生産性を達成するために開発されている。これらの膨大な量のデータは、ソリッドステート装置（ＳＳＤ：ｓｏｌｉｄ−ｓｔａｔｅ  ｄｅｖｉｃｅ）、ハードディスク装置（ＨＤＤ：ｈａｒｄ  ｄｉｓｋ  ｄｅｖｉｃｅ）、ストレージノード、及びストレージの連結で構成される、高性能及び高信頼性のストレージシステム（ｈｉｇｈ  ｐｅｒｆｏｒｍａｎｃｅ、ｒｅｌｉａｂｌｅ  ｓｔｏｒａｇｅ  ｓｙｓｔｅｍ）に格納される。
【０００３】
人工ニューラルネットワーク（ＮＮ：ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）、又はコネクショニストシステム（ｃｏｎｎｅｃｔｉｏｎｉｓｔ  ｓｙｓｔｅｍ）は、動物の脳（ａｎｉｍａｌ  ｂｒａｉｎ）を構成する生物学的ニューラルネットワークによって若干影響を受けたコンピューティングシステムである。ニューラルネットワークは、多数の他のマシンラーニング技法とともに動作し、複雑なデータ入力を処理するフレームワーク（ｆｒａｍｅｗｏｒｋ）である。このようなシステムは、一般的に、タスク特有の規則でプログラムされることなく、例を考慮することにより、タスク（ｔａｓｋ）を遂行するように「学習（ｌｅａｒｎ）」する。例えば、画像認識（ｉｍａｇｅ  ｒｅｃｏｇｎｉｔｉｏｎ）において、「猫（ｃａｔ）」又は「猫ではない（ｎｏ  ｃａｔ）」と手動でラベル付された画像例を分析し、他の画像の猫を識別するために、その結果を使用することで、猫が含まれている画像を識別するように学習する。それらは、例えば、毛皮（ｆｕｒ）、尾（ｔａｉｌ）、ひげ、及び猫のような顔を有することのような、猫に対する事前知識なしにこれを行う。代わりに、このようなシステムは、それらが処理した学習内容から特徴（ｃｈａｒａｃｔｅｒｉｓｔｉｃ）を識別することを自動的に生成する。
【０００４】
ニューラルネットワーク（ＮＮ）は、人工ニューロン（ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒｏｎ）と呼ばれる連結されたユニット又はノードの収集に基づいている。人工ニューロンは、生物学的脳のニューロンを大略的にモデリングする。生物学的脳のシナプス（ｓｙｎａｐｓｅ）のような各連結は、一つの人工ニューロンから他の人工ニューロンに信号を伝送する。信号を受信した人工ニューロンは、それを処理し、その後、それに連結された他の人工ニューロンに信号を伝送し得る。一般的なニューラルネットワークの具現において、人工ニューロン間の連結での信号は、実数（ｒｅａｌ  ｎｕｍｂｅｒ）であり、各人工ニューロンの出力は、その入力の合計の、ある非線形関数（ｎｏｎ−ｌｉｎｅａｒ  ｆｕｎｃｔｉｏｎ）によって演算される。人工ニューロン間の連結は、「エッジ（ｅｄｇｅ）」と呼ばれる。人工ニューロンとエッジとは、一般的に、学習が進行するにつれて調節される重みを含む。重みは、連結における信号の強度を増加又は減少させる。人工ニューロンは、合算信号がしきい値を超える場合にのみ、信号が伝送されるようにする、しきい値（ｔｈｒｅｓｈｏｌｄ）を有し得る。一般的に、人工ニューロンは、レイヤを介して合算される。他のレイヤは、それらの入力に対して、他の種類の変換を行い得る。信号は、レイヤを複数回通過した後に、最初のレイヤ（入力層）から最後のレイヤ（出力層）に移動する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第５５０４８８４号明細書
【特許文献２】米国特許第８９６５８１９号明細書
【特許文献３】米国特許第９７２７４５９号明細書
【特許文献４】米国特許出願公開第２０１６０２４７０８０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、減少された費用及び向上された性能を有するニューラルネットワークベースの永続性データストレージを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた本発明の一態様による装置は、データセットに関連付けられたメモリアクセス要請を受信するように構成されたホストインターフェース回路と、変換されたデータセットを格納するように構成されたメモリ回路と、少なくとも１つのマシンラーニング回路を含み、書き込みメモリアクセス要請に応答して、前記データセットの元のバージョンを前記変換されたデータセットに変換し、読み取りメモリアクセス要請に応答して、前記変換されたデータセットを復元されたデータセットに変換するように構成された変換回路と、を備えることを特徴とする。
【０００８】
上記目的を達成するためになされた本発明の一態様によるシステムは、ストレージ装置と、前記ストレージ装置にデータセットと関連付けられたメモリアクセスを遂行するように構成されたホストコンピューティング装置と、を備え、前記ストレージ装置は、変換されたデータセットを格納するように構成されたメモリ回路と、少なくとも１つのマシンラーニング回路を含み、前記メモリアクセスに応答して、前記データセットの元のバージョンを前記変換されたデータセットに変換する動作、前記変換されたデータセットを復元されたデータセットに変換する動作、又は前記変換されたデータを返還する動作のうちのいずれか１つを遂行するように構成された変換回路と、を含むことを特徴とする。
【０００９】
上記目的を達成するためになされた本発明の一態様による方法は、元のデータセットを受信してメモリ回路に格納する段階と、マシンラーニングの技法を介して前記元のデータセットを前記元のデータセットよりも小さい変換されたデータセットに変換する段階と、前記元のデータセットの代わりに、前記変換されたデータセットを格納する段階と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、減少された費用及び向上された性能を有するニューラルネットワークベースの永続的データストレージが提供される。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態によるシステムの一例を示すブロック図である。
【図２】本発明の一実施形態によるシステムの他の例を示すブロック図である。
【図３】本発明の一実施形態によるシステムの更に他の例を示すブロック図である。
【図４】本発明の他の実施形態によるシステムの一例を示すブロック図である。
【図５】本発明の更に他の実施形態によるシステムの一例を示すブロック図である。
【図６】本発明の技術的思想に基づいて形成された装置を含む情報処理システムの一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下では、いくつかの例としての実施形態を示す図面を参照して、多様な例としての実施形態が、より詳細に説明される。しかし、本明細書の詳細な説明に記載された内容は、他の多様な形態で具現されることができ、本明細書に記載された、例としての実施形態に限定されない。代わりに、これら例としての実施形態は、詳細な説明が完全であり、当業者に、本発明の技術的思想が完全に伝達されるように提供される。図面で、階層及び領域のサイズ及び相対的なサイズは、明確さのために、誇張される。また、類似の参照番号は、多様な図面において類似のエレメントを指す。
【００１３】
エレメントや階層が、他のエレメントや階層に「連結された」と記載される場合、これは直接的に他のエレメントや階層と連結されるか、又は１つ以上の中間のエレメントや階層が存在する。対照的に、エレメントが他のエレメントや階層と「直接連結された」と記載される場合には、中間のエレメント又は階層が存在していない。類似の参照番号は、全体的に類似のエレメントを指す。本明細書で使用される「及び／又は（ａｎｄ／ｏｒ）」は、関連してリストされたアイテム中のいずれか一つ又はそれ以上の組み合わせの一部及びすべてを含む。
【００１４】
「第１」、「第２」、「第３」などの用語は、多様なエレメント、構成要素、領域、階層、及び／又はセクションを説明するために本明細書で使用されるが、これらのエレメント、構成要素、領域、階層、及び／又はセクションはこれらの用語に限定されない。これらの用語は、一つのエレメント、構成要素、領域、階層、又はセクションを他の一つのエレメント、構成要素、領域、階層、又はセクションから区別するためにだけ使用される。つまり、以下に記載されている第１のエレメント、構成要素、領域、階層、又はセクションは、本発明の思想及び技術範囲から逸脱せずに、第２のエレメント、構成要素、領域、階層、又はセクションと呼ばれ得る。
【００１５】
「〜の下」、「〜の上」などのような空間的に相対的な用語は、図面に示された他の一つの要素又は特徴と、一つの要素又は特徴との関連性を容易に説明するために本明細書で使用される。空間的に相対的な用語は、図面に示された指向性に加え、動作又は使用において装置の他の指向性（ｏｒｉｅｎｔａｔｉｏｎ）を含むと意図される。例えば、図面で、装置が裏返される場合、他の要素又は特徴の「下」に、と説明されたエレメントは、他のエレメント又は特徴の「上部」に向く。つまり、「下」の例としての用語は、上と下の方向をすべて含む。装置は別の方向（例えば、９０度回転するか、又は他の方向）に指向され、本明細書で使用される空間的に相対的な説明は、これに応じて解釈される。
【００１６】
本発明の詳細な説明で使用される用語は、ただ特定の実施形態に対する説明目的のためのものであり、本発明の限定を意図するものではない。単数形は、明らかに別のものを示すと定義されない限り、複数形を含む。「含む」という用語は、明記された特徴、段階、動作、エレメント、及び／又は構成の存在を特定するが、一つ以上の他の特徴、段階、動作、エレメント、構成要素、及び／又はそれらのグループの追加又は存在を排除しない。
【００１７】
例としての実施形態は、理想的な実施形態（及び中間構造）の例としての図面である断面図を参照して、詳細な説明で説明される。このように、例えば、製造技術及び／又は許容誤差のような結果としての図面の形状からの変形が予想され得る。つまり、例としての実施形態は、詳細な説明に図示された特定の形状の領域に限定されるものではなく、例えば、製造からもたらされる形状の偏差を含み得る。例えば、長方形で示された注入された領域は、一般的には、注入された領域から注入されていない領域へのバイナリ変化というよりは、円形又は曲線のフィーチャー及び／又はエッジでの注入濃度の勾配を有する。同様に、注入によって形成された埋め込み領域は、埋め込み領域と注入が生じる表面との間の領域に若干の注入をもたらす。したがって、図面に示された領域は、本質的に概略であり、その形状は装置の領域の実際の形状を説明するためのものではなく、本発明の技術範囲を限定するものではない。
【００１８】
明らかに別のものを示すと定義されない限り、本明細書で使用されるすべての用語（技術的及び科学的用語を含む）は、当業者によって共通に理解される意味を有する。また、一般的に使用される辞典に定義された用語は、関連技術及び／又は本明細書に関連して、その意味と一致する意味を有するものと解釈され、本明細書で定義されていない限り、理想的又は過度に形式的な意味として解釈されない。
【００１９】
以下、本発明を実施するための形態の具体例を、図面を参照しながら、詳細に説明する。
【００２０】
図１は、本発明の一実施形態によるシステムの一例を示すブロック図である。多様な実施形態で、システム１００は、上述したように、大量のデータを格納するために使用される。図１に示す実施形態では、書き込みメモリアクセスが示されている。
【００２１】
図１に示す実施形態で、システム１００は、ホストコンピューティング装置１０２を含む。いくつかの実施形態で、ホストコンピューティング装置１０２は、例えば、ラップトップ、デスクトップ、ワークステーション、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、スマートフォン、タブレット、及び他の適切なコンピュータのような多様なコンピューティング装置又は仮想マシン若しくはそれらの仮想コンピューティング装置を含み得る。多様な実施形態で、ホストコンピューティング装置１０２は、ユーザー（図示せず）によって使用される。いくつかの実施形態で、ホストコンピューティング装置１０２は、複数の装置を含み、複数の装置のそれぞれは、ストレージ装置１０４からデータを読み書きすることができる。
【００２２】
図１に示す実施形態で、システム１００は、ストレージ装置１０４を含む。多様な実施形態で、ストレージ装置１０４は、データを格納するように構成される。多様な実施形態で、図１には１つのストレージ装置のみが示されているが、システム１００は、複数のストレージ装置１０４を含み得る。多様な実施形態で、ストレージ装置１０４は、揮発性又は不揮発性のＳＳＤ（ｓｏｌｉｄ−ｓｔａｔｅ  ｄｅｖｉｃｅ）、強磁性ハードディスクドライブ（ＨＤＤ：ｆｅｒｒｏｍａｇｎｅｔｉｃ  ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）、又は他のストレージ技術を含む。
【００２３】
一般的に、ストレージ装置は、書き込まれたデータを正確に格納するように構成される。ユーザーがデータをストレージ装置に書き込むとき、ユーザーは全く同じデータが後に抽出されることを期待する。図１に示す実施形態で、ストレージ装置１０４は、これを行うように構成されない可能性がある。代わりに、ストレージ装置１０４は、元のデータの表現（ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ｏｆ  ｏｒｉｇｉｎａｌ  ｄａｔａ）を格納し、後で生成するように構成され得る。多様な実施形態で、この表現は、元のデータ（ｏｒｉｇｉｎａｌ  ｄａｔａ）であるか、又は元のデータと同一であり得る。また、この表現は、元のデータと同じでない可能性がある。このような実施形態で、システム１００は、無損失（ｌｏｓｓｌｅｓｓ）及び損失（ｌｏｓｓｙ）ストレージの中の１つ又は両方を提供するように構成される。
【００２４】
図１に示す実施形態において、ホストコンピューティング装置１０２は、書き込みメモリアクセス要請１８２を発行し得る。書き込みメモリアクセス要請１８２は、ストレージ装置１０４によって格納される元のデータセット１９２を含む。
【００２５】
図１に示す実施形態において、ストレージ装置１０４は、ホストインターフェース回路１１２を含み得る。このような実施形態で、ホストインターフェース回路１１２は、メモリアクセス要請（例えば、書き込みメモリアクセス要請１８２）を受信するように構成される。いくつかの実施形態で、ホストインターフェース回路１１２又はレイヤ（ＨＩＬ：ｈｏｓｔ  ｉｎｔｅｒｆａｃｅ  ｌａｙｅｒ）は、ストレージ装置１０４の論理的視点（ｌｏｇｉｃａｌ  ｖｉｅｗ）を管理する。このような実施形態で、ホストコンピューティング装置１０２は、論理的アドレス範囲（ｌｏｇｉｃａｌ  ａｄｄｒｅｓｓ  ｒａｎｇｅ）を使用してストレージ装置１０４のストレージ容量（ｓｔｏｒａｇｅ  ｃａｐａｃｉｔｙ）の空間にアクセスする。多様な実施形態で、ホストインターフェース回路１１２は、ホストコンピューティング装置１０２によって使用される論理プロトコルと、ストレージ装置１０４によって使用される内部の実際の物理的プロトコル又はメカニズムとの間を変換するように構成される。多様な実施形態で、フラッシュチャネル又はインターフェース回路１１５は、論理アドレスから物理アドレスへの変換を遂行する。いくつかの実施形態で、ストレージ装置１０４は、以下で説明するように、従来の物理的なアドレス指定方式を使用しない。
【００２６】
図１に示す実施形態で、ストレージ装置１０４は、変換回路１１４を含む。多様な実施形態で、変換回路１１４は、元のデータセット１９２を変換されたデータセット１９４に変換するように構成される。多様な実施形態で、変換されたデータセット１９４は、元のデータセット１９２よりも小さい可能性がある。このような実施形態で、ストレージ装置１０４は、オリジナル（元のバージョン）そのものの代わりに、元のデータセット１９２の減少された表現を格納するように構成される。
【００２７】
多様な実施形態で、ニューラルネットワーク（ＮＮ）の状態（ｓｔａｔｅ  ｏｆ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）とともに減少された表現は、必要な場合、元のデータを再生成（ｒｅｃｒｅａｔｅ）又は復元（ｒｅｃｏｎｓｔｒｕｃｔ）するために使用される。データの再生成（ｒｅｃｒｅａｔｉｏｎ）又は復元（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ）は、元のデータのサイズ及び／又は元のデータの値という点では、元のデータと完全に一致していないか、又は一致し得る。このような実施形態で、データを格納するのに必要な空間のサイズが減少される。上述したように、多様な実施形態で、変換されたデータセット１９４は、無損失又は損失の減少方法（ｌｏｓｓｌｅｓｓ  ｏｒ  ｌｏｓｓｙ  ｒｅｄｕｃｔｉｏｎ  ｓｃｈｅｍｅ）を使用して生成される。フィデリティ（ｆｉｄｅｌｉｔｙ）と呼ばれる復元精度（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ａｃｃｕｒａｃｙ）が、１００％よりも小さい場合、永続的ストレージ（ｐｅｒｓｉｓｔｅｎｔ  ｓｔｏｒａｇｅ）は、損失（ｌｏｓｓｙ）であると呼ばれる。復元精度が１００％である場合には、ストレージ装置は、無損失（ｌｏｓｓｌｅｓｓ）である。
【００２８】
使用されるＮＡＮＤ型フラッシュのような実際の永続的ストレージ媒体のサイズは、減少された表現のサイズと、使用されるニューラルネットワークの状態を格納するのに必要なストレージ媒体のサイズである。ニューラルネットワークのために必要なストレージのサイズは、各ネットワークでのレイヤの数及びノードの数に従う。例えば、各レイヤで１２８個のノードを有する、２つのレイヤの全結合ニューラルネットワーク（ａ  ｔｗｏ  ｌａｙｅｒ  ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）に対し、このニューラルネットワークのために格納する必要があるパラメータの数は、１２８×１２８と、各レイヤのバイアスパラメータである。この例では、簡単にするために、バイアスパラメータを格納していないと仮定する。各パラメータが６４ビットを要求すると仮定すると、この２つのレイヤのニューラルネットワークのための全体のストレージは、「（１２８×１２８×８）／１０２４＝１２８ＫＢ」である。２つのネットワークがストレージ装置で使用されていると仮定すると、ネットワークの状態を格納するのに必要なＮＡＮＤ型フラッシュの容量は２５６ＫＢである。このストレージは、ストレージ装置に格納されたすべてのユーザーデータにわたって分割される。つまり、このストレージのサイズは固定され、実際のユーザーデータとは独立している。なお、４ＫＢ毎の元のデータが格納のために８バイトに減少できると仮定すると、必要なストレージ容量の空間が５１２倍減少するはずである。言い換えると、提案されたストレージ装置は、「１ＭＢ（１０２４ＫＢ）」のＮＡＮＤ型フラッシュの空間を含むものと仮定する。上述したように、２つのニューラルネットワークのために必要な空間（２５６ＫＢ）を除いた後に、残りのサイズ（１０２４ＫＢ−２５６ＫＢ＝７６８ＫＢ）がユーザーデータを永続的に格納するために使用される。４ＫＢのデータの、８Ｂの減少された表現を仮定すると、７６８ＫＢの空間は、「（７６８ＫＢ／８Ｂ）＝９６Ｋ」のデータセット（各４ＫＢのデータ）を格納するために使用される。言い換えると、１ＭＢの実際のＮＡＮＤ型フラッシュ媒体を有するストレージ装置は、「（９６Ｋ×４ＫＢ）＝３８４ＭＢ」のユーザーデータを格納できる。
【００２９】
多様な実施形態で、変換回路１１４は、１つ以上のマシンラーニング（ＭＬ：ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）回路１２６を含む。これらのＭＬ回路１２６は、元のデータセット１９２のサイズを減少させ、元のデータセット１９２を変換されたデータセット１９４に変換（ｃｏｎｖｅｒｔ  ｏｒ  ｔｒａｎｓｌａｔｅ）するように構成される。一実施形態で、ベイジアンネットワーク（Ｂａｙｅｓｉａｎ  ｎｅｔｗｏｒｋ）、遺伝子技法（ｇｅｎｅｔｉｃ  ｔｅｃｈｎｉｑｕｅ）、主成分分析（ｐｒｉｎｃｉｐａｌ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ）、及び／又はサポートベクトルマシン（ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ）が考慮されるが、ＭＬ回路１２６は、ニューラルネットワーク（ＮＮ：ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を実装する。上述した内容は、いくつかの例としての実施形態であり、本発明はこれに限定されない。
【００３０】
図１に示す実施形態で、変換回路１１４は、１つだけではなく、複数のＭＬ回路（例えば、ニューラルネットワーク１２６Ａ、１２６Ｎ）を含み得る。多様な実施形態で、変換回路１１４は、エンコーディング選択回路１２２を介して、ＭＬ回路１２６の中から１つを選択して、１つ以上の因子（ｆａｃｔｏｒ）に基づいて変換（ｔｒａｎｓｆｏｒｍａｔｉｏｎ）を遂行するように構成される。このような実施形態で、複数のＭＬ回路１２６の使用は、変換回路１１４が（どのような条件が意図されるか、例えば、復元フィデリティ（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｆｉｄｅｌｉｔｙ）に基づいて）、元のデータセット１９２を変換するために最適なＭＬ回路１２６を動的に選択できるようにする。エンコーディング選択回路１２２は、ＦＴＬ（ｆｌａｓｈ  ｔｒａｎｓｌａｔｉｏｎ  ｌａｙｅｒ）１２４を選択して、元のデータにどのような変換も遂行せずに、１００％の精度で、データをそのまま格納し得る。
【００３１】
図１に示す実施形態で、フィデリティ要求（ｆｉｄｅｌｉｔｙ  ｒｅｑｕｉｒｅｍｅｎｔ）１２８は、元のデータセット１９２と、変換されたデータセット１９４から復元されたデータセットとの間の変換損失がどの程度なのかを示すものとして設定される。このような実施形態で、変換回路１１４は、データタイプ及び他の因子をベースに、意図されたフィデリティ（又はより良いフィデリティ）を生成する特定のＭＬ回路１２６を選択する。フィデリティ要求１２８は、各データの書き込み動作に対して、ホストコンピューティング装置１０２によって提供される。他の実施形態で、フィデリティ要求１２８は、名前空間識別子（Ｎａｍｅｓｐａｃｅ  ｉｄｅｎｔｉｆｉｅｒ）、ホスト識別子（ｈｏｓｔ  ｉｄｅｎｔｉｆｉｅｒ）、論理ブロックアドレス範囲（ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ  ｒａｎｇｅ）、ＮＶＭセット識別子（ｎｏｎｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｓｅｔ  ｉｄｅｎｔｉｆｉｅｒ）、ＮＶＭｅサブミッションキュー識別子（ＮＶＭｅ  ｓｕｂｍｉｓｓｉｏｎ  ｑｕｅｕｅ  ｉｄｅｎｔｉｆｉｅｒ）、ストリーム識別子（Ｓｔｒｅａｍ  Ｉｄｅｎｔｉｆｉｅｒ）、イーサネット（登録商標）ＭＡＣ識別子（Ｅｔｈｅｒｎｅｔ  ＭＡＣ  Ｉｄｅｎｔｉｆｉｅｒ）、ＴＣＰ／ＩＰアドレス及び他の伝送／ネットワークパラメータ（ＴＣＰ／ＩＰ  ａｄｄｒｅｓｓｅｓ  ａｎｄ  ｏｔｈｅｒ  ｔｒａｎｓｐｏｒｔ／ｎｅｔｗｏｒｋ  ｐａｒａｍｅｔｅｒ）、又はデータと時間のような汎用パラメータなどの多様なストレージパラメータに対して、ホストによって固定された値として提供されるように構成される。
【００３２】
他の実施形態で、どのＭＬ回路１２６又は技法を使用するかの選択は、１つ以上の他の因子をベースに選択される。このような実施形態で、これらの因子は、データ又はファイルタイプ、ソースホスト（たとえば、ホストコンピューティング装置１０２）、元のデータセット１９２のサイズ、メモリ回路１１６の自由空間のサイズなどを含む。上述した内容は、単にいくつかの例としての実施形態であり、本発明はこれに限定されない。
【００３３】
多様な実施形態で、これらのフィデリティ要求１２８は、書き込みメモリアクセス要請１８２に含まれる。他の実施形態で、これらのフィデリティ要求１２８は、ホストインターフェース回路１１２又は他のインターフェース回路（図示せず）を介して受信された別途のコマンドを使用して設定される。別の実施形態で、フィデリティ要求１２８（ｆｉｄｅｌｉｔｙ  ｒｅｑｕｉｒｅｍｅｎｔ）は、名前空間識別子（Ｎａｍｅｓｐａｃｅ  ｉｄｅｎｔｉｆｉｅｒ）、ホスト識別子（ｈｏｓｔ  ｉｄｅｎｔｉｆｉｅｒ）、論理ブロックアドレス範囲（ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ  ｒａｎｇｅ）、ＮＶＭセット識別子（ｎｏｎｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｓｅｔ  ｉｄｅｎｔｉｆｉｅｒ）、ＮＶＭｅサブミッションキュー識別子（ＮＶＭｅ  ｓｕｂｍｉｓｓｉｏｎ  ｑｕｅｕｅ  ｉｄｅｎｔｉｆｉｅｒ）、ストリーム識別子（Ｓｔｒｅａｍ  ｉｄｅｎｔｉｆｉｅｒ）、イーサネット（登録商標）ＭＡＣ識別子（Ｅｔｈｅｒｎｅｔ  ＭＡＣ  ｉｄｅｎｔｉｆｉｅｒ）、ＴＣＰ／ＩＰアドレス及び他の伝送／ネットワークパラメータ（ＴＣＰ／ＩＰ  ａｄｄｒｅｓｓｅｓ  ａｎｄ  ｏｔｈｅｒ  ｔｒａｎｓｐｏｒｔ／ｎｅｔｗｏｒｋ  ｐａｒａｍｅｔｅｒｓ）、又はデータと時間のような汎用パラメータなどのような多様なストレージパラメータをベースに、ストレージ装置そのものによって決定される。
【００３４】
多様な実施形態で、図１を参照して、以下で説明するように、変換回路１１４は、ＭＬ回路１２６又は技法の動作を動的に変更して出力特性（例えば、フィデリティ（ｆｉｄｅｌｉｔｙ））を調整するように集められる。このような実施形態で、特定のＭＬ回路１２６の出力特性が調整される。
【００３５】
いくつかの実施形態で、変換回路１１４は、無損失のＭＬ回路１２６（ｌｏｓｓｌｅｓｓ  ＭＬ  ｃｉｒｃｕｉｔ）を含む。このような実施形態で、変換されたデータセット１９４は、元のデータセット１９２と同じサイズであるか又は小さい。
【００３６】
図１に示す実施形態で、変換回路１１４は、元のデータセット１９２と同じか又は等しい変換されたデータセット１９４のバージョンを生成する従来の非ニューラルネットワークベースの直接変換回路１２４を含み得る。図１に示す実施形態で、変換回路１１４は、フラッシュ変換レイヤ（ＦＴＬ：ｆｌａｓｈ  ｔｒａｎｓｌａｔｉｏｎ  ｌａｙｅｒ）１２４を含むか、又はそれを使用し得る。このような実施形態で、ＦＴＬ１２４の回路は、論理アドレスを物理アドレスに変換し、元のデータセット１９２を（変換されたデータセット１９４として）直接にメモリ回路１１６に書き込む。このような実施形態で、変換回路１１４は、ＦＴＬ１２４とＭＬ回路１２６のうちの１つ以上のオプションを使用する。
【００３７】
図１に示す実施形態で、ストレージ装置１０４は、メモリ回路１１６を含む。このような実施形態で、メモリ回路１１６は、変換されたデータセット１９４を格納するように構成される。このような実施形態で、変換されたデータセット１９４が生成されると、それはメモリ回路１１６に格納される。元のデータセット１９２は、全体又は部分的に除去（ｄｉｓｃａｒｄ）される。例えば、書き込みメモリアクセス要請１８２が論理ブロックアドレス（ＬＢＡ：ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓｉｎｇ）を使用している場合、元のデータセット１９２の全体が削除され、ストレージ装置１０４は、変換されたデータセット１９４からデータセット１９６を復元する能力に依存し得る。他の実施形態で、書き込みメモリアクセス要請１８２がキー値（ＫＶ：ｋｅｙ−ｖａｌｕｅ）のペアを使用する場合、元のデータセット１９２の値部分（ｖａｌｕｅ  ｐｏｒｔｉｏｎ）は除去されるが、キー部分は維持される。このような実施形態で、キー部分（一般的には値部分よりもはるかに小さい）は、変換されたデータセット１９４（現在、値部分として使用される）のインデックスとして維持される。
【００３８】
多様な実施形態で、損失の側面にも拘わらず、変換されたデータセットの使用が十分な場合がある。たとえば、センサーデータ、ＩｏＴデータ、及び画像などのアプリケーションでは、フィデリティと応答時間とがいずれも重要でない。他の例で、フィデリティは重要ではないが、応答時間が重要なアプリケーションは、例えば、システムから迅速な応答を要求するＷｅｂアプリケーションを含む。他の実施形態で、データストレージの調節機能（ｔｕｎａｂｉｌｉｔｙ）が要求される。例えば、フィデリティは重要であるが、応答時間が重要ではないアプリケーションとして、例えば、動物園で動物の行動を定期的に監視するアプリケーションがある。又は、他の実施形態で、フィデリティと応答時間の両方が重要である、例えば、金融分野などのようなアプリケーションがある。変換回路１１４を使用して、元のデータセット１９２を減少された表現のデータセット（例えば、変換されたデータセット１９４）に変換し、データセット（例えば、変換されたデータセット１９４）からデータセット（例えば、復元されたデータセット１９６）を復元するようにする本発明によるストレージ装置は、ディープソリッドステート装置（Ｄｅｅｐ−ＳＳＤ：Ｄｅｅｐ  Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｅｖｉｃｅ）と呼ばれる。このコンテキストで、ディープＳＳＤは、元のデータを、減少されたサイズの表現（ａ  ｒｅｄｕｃｅｄ  ｓｉｚｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）に変換し、必要なときに減少されたサイズの表現から元のデータの近似値又は元のデータを復元するニューラルネットワーク又は類似の技法を使用して、１つ以上の「機能（ｆｕｎｃｔｉｏｎ）」を具現する永続的なデータストレージ装置のタイプを含み得る。「機能（ｆｕｎｃｔｉｏｎ）」は、基本的に、装置内部に維持される元のデータの減少された表現であるディープキー（Ｄｅｅｐ−Ｋｅｙ）と呼ばれる入力値を必須に使用して、元のデータとある所定の程度で一致する出力を生成できる。ディープＳＳＤは、データを「そのまま（ａｓ−ｉｓ）」格納することで、一般的なＳＳＤのような機能を使用できる。上述した内容は、いくつかの例としての実施形態であり、本発明はこれに限定されない。
【００３９】
図２は、本発明の一実施形態によるシステムの他の例を示すブロック図である。多様な実施形態で、システム１００は、上述したように大規模なデータを格納するために使用される。図２に示す実施形態では、読み取りメモリアクセスが説明される。
【００４０】
図２に示す実施形態で、システム１００は、ホストコンピューティング装置１０２及びストレージ装置１０４を含む。このような実施形態で、ストレージ装置１０４は、ホストインターフェース回路１１２、変換回路１１４、及びメモリ回路１１６を含む。
【００４１】
図２に示す実施形態で、変換回路１１４は、復元されたデータセット１９６として知られた、元のデータセット（又はその複製若しくは類似物（ｆａｃｓｉｍｉｌｅ  ｏｒ  ｌｉｋｅｎｅｓｓ  ｔｈｅｒｅｏｆ））をデコーディングするか又は再生成するように構成された１つ以上のＭＬ回路１２６を含む。多様な実施形態で、複数のＭＬ回路１２６（例えば、ＮＮ（１２６Ａ、１２６Ｎ）及び／又はＦＴＬ１２４）が含まれている変換回路１１４は、エンコーディング（又はデコーディング）選択回路１２２を含む。
【００４２】
図２に示す実施形態で、ホストコンピューティング装置１０２は、読み取りメモリアクセス要請１８３を発行する。読み取りメモリアクセス要請１８３は、元のデータセット（図１に示す）に関連付けられる。このような実施形態で、読み取りメモリアクセス要請１８３は、どのようなデータが要請されるかを示す論理アドレス又はキー（キー値ペアのキー）を含む。
【００４３】
図２に示す実施形態で、ストレージ装置１０４は、読み取りメモリアクセス要請１８３を遂行するように試みるが、要請された元のデータセットが含まれていない可能性がある。代わりに、ストレージ装置１０４は、変換されたデータセット１９４を含み得る。このような実施形態で、変換回路１１４は、最初の段階で変換されたデータセット１９４を生成するために使用されたＭＬ回路１２６（又は関連したデコーディングＭＬ回路）を介して、変換されたデータセット１９４を駆動する。このような実施形態で、ＭＬ回路１２６は、変換されたデータセット１９４から復元されたデータセット１９６を生成し得る。このような復元されたデータセット１９６は、元のデータセットを再生成する際のストレージ装置１０４の最良の又は選択された試みであり得る。
【００４４】
一実施形態で、変換されたデータセット１９４が無損失エンコーディング（又はＦＴＬ１２４を介した直接コピー）である場合、復元されたデータセット１９６のバージョンは、元のデータセットと同じである。他の実施形態で、変換されたデータセット１９４が損失エンコーディングを使用して構成された場合、復元されたデータセット１９６は、元のデータセットと同じでないか又は等しくない可能性がある。このような実施形態で、システム１００は、復元されたデータセット１９６が部分的にしか正確（例えば、９０％の精度、８０％の精度など）ではないと、フィデリティ要求１２８を設定できる。
【００４５】
このような実施形態で、復元されたデータセット１９６が生成されると、復元されたデータセット１９６は、ホストコンピューティング装置１０２に（読み取り応答１８４として）伝送される。多様な実施形態で、ホストインターフェース回路１１２は、この読み取り応答１８４を伝送するように構成される。多様な実施形態で、復元されたデータセット１９６が損失である場合、復元されたデータセット１９６は、元のデータセットよりも小さい可能性があり、これにより、読み取りメモリアクセス要請１８３を処理するために、より小さな帯域幅又はより小さな他のシステムリソースを使用する。他の実施形態では、復元されたデータは、元のデータのサイズと正確に一致するが、復元されたコンテンツ又は値は、正確に一致しない可能性がある。
【００４６】
図３は、本発明の一実施形態によるシステムのさらに他の例を示すブロック図である。多様な実施形態で、システム１００は、上述したように、大規模なデータを格納するために使用される。図３に示す実施形態では、読み取りメモリアクセスが説明される。
【００４７】
図３に示す実施形態では、システム１００は、ホストコンピューティング装置１０２及びストレージ装置１０４を含む。このような実施形態で、ストレージ装置１０４は、ホストインターフェース回路１１２、変換回路１１４、及びメモリ回路１１６を含む。
【００４８】
図３に示す実施形態で、変換回路１１４は、復元されたデータセット１９６として知られる元のデータセット（又はその複製若しくは類似物（ｆａｃｓｉｍｉｌｅ  ｏｒ  ｌｉｋｅｎｅｓｓ  ｔｈｅｒｅｏｆ））をデコーディングするか又は再生成するように構成された１つ以上のＭＬ回路１２６を含む。多様な実施形態で、複数のＭＬ回路１２６（例えば、ＮＮ（１２６Ａ、１２６Ｎ））及び／又はＦＴＬ１２４が含まれている変換回路１１４は、エンコーディング（又はデコーディング）選択回路１２２を含む。
【００４９】
図３に示す実施形態で、ホストコンピューティング装置１０２は、読み取りメモリアクセス要請１８５を発行し得る。読み取りメモリアクセス要請１８５は、元のデータセット（図１に示す）に関連付けられる。このような実施形態で、読み取りメモリアクセス要請１８５は、どのようなデータセットが要請されるかを示す論理アドレス又はキー（キー値ペアのキー）を含む。
【００５０】
しかしながら、図３に示す実施形態で、読み取りメモリアクセス要請１８５が復元されたデータセットを返還することを予想しないか、又は要請しない可能性がある。代わりに、読み取りメモリアクセス要請１８５は、変換されたデータセット１９４そのものを要請し得る。
【００５１】
このような実施形態で、ストレージ装置１０４は、変換回路１１４又は少なくともＭＬ回路１２６をバイパス（ｂｙｐａｓｓ）する経路１７０を含む。多様な実施形態で、経路１７０は、図３に示されたものの代わりに、ＦＴＬ１２４を活用できる。上述した内容は、単に例としての実施形態であり、本発明はこれに限定されない。
【００５２】
このような実施形態で、ストレージ装置１０４は、どのような変換されたデータセット１９４が要請されたかを判定でき、変換されたデータセット１９４をホストコンピューティング装置１０２に（読み取り応答１８６を介して）直接提供する。このような実施形態で、ストレージ装置１０４とホストコンピューティング装置１０２との間で伝送されるデータのサイズは劇的に減少される。
【００５３】
一実施形態で、ホストコンピューティング装置１０２は、変換されたデータセット１９４をエンコーディングするＭＬ回路１２６と類似したＭＬ回路を含む。このような実施形態で、ホストコンピューティング装置１０２は、復元されたデータセットをローカルに（ｌｏｃａｌｌｙ）（ホストコンピューティング装置１０２へ）生成する。このような実施形態で、ストレージ装置１０４及びホストコンピューティング装置１０２は、ＭＬ回路が同期状態を維持できるように、ＭＬ回路１２６の重み又は設定を変換する。
【００５４】
図４は、本発明の他の実施形態によるシステムの一例を示すブロック図である。図４に示す実施形態で、システム２００は、図１のストレージ装置を含む。
【００５５】
図４に示す実施形態で、システム２００は、上述したように、ホストインターフェース回路１１２を含む。このような実施形態で、ホストインターフェース回路１１２は、外部コンピューティング装置（図示せず）とデータを送受信するように構成される。
【００５６】
図４に示す実施形態で、システム２００は、上述したように、変換回路１１４を含む。このような実施形態で、変換回路１１４は、１つ以上のマシンラーニング（ＭＬ：ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）回路を含む。
【００５７】
図４に示す実施形態で、各ＭＬ回路は、エンコーディング回路２２２（例えば、エンコーディング回路２２２Ａ、２２２Ｂ、２２２Ｃ）を含む。エンコーディング回路２２２は、上述したように、元のデータセットを変換されたデータセットに変換するように構成される。
【００５８】
図４に示す実施形態で、各ＭＬ回路は、デコーディング回路２２４（例えば、デコーディング回路２２４Ａ、２２４Ｂ、２２４Ｃ）を含む。デコーディング回路２２４は、上述したように、変換されたデータセットを復元されたデータセットに変換するように構成される。
【００５９】
多様な実施形態で、変換回路１１４は、シングルエンコーディング回路２２２及びマルチデコーディング回路２２４を含む。このような実施形態で、変換回路１１４は、どのデコーディング回路２２４が最も小さな差異や、最高のフィデリティを生成するかを選択する。上述した内容は、単にいくつかの例としての実施形態であり、本発明はこれに限定されない。
【００６０】
図４に示す実施形態で、各ＭＬ回路は差分又はデルタ（差異量）回路（ｄｉｆｆｅｒｅｎｃｅ  ｏｒ  ｄｅｌｔａ  ｃｉｒｃｕｉｔ）２２６（例えば、差分回路２２６Ａ、２２６Ｂ、２２６Ｃ）を含む。多様な実施形態で、変換回路１１４は、１つの差分又はデルタ回路２２６を含むか、複数のＭＬ回路は、差分又はデルタ回路２２６を共有し得る。このような実施形態で、差分回路２２６は、元のデータセットを復元されたデータセットと比較するように構成される。このような実施形態で、差分回路２２６は、各ＭＬ回路のために提供されたフィデリティのサイズ又はレベルを計算するか又は表し得る。上述したように、変換回路１１４は、元のデータセットをエンコーディングするのにどのようなＭＬ回路が使用されるかを決定するとき、このフィデリティのレベルを使用する。他の実施形態で、観測されたデルタ（ｏｂｓｅｒｖｅｄ  ｄｅｌｔａ）は、所望の復元フィデリティ（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｆｉｄｅｌｉｔｙ）を達成するために、エンコーダ及び／又はデコーダで使用されるニューラルネットワークの重み及び他のパラメータをアップデートするのに使用される。データの書き込み動作の間に、観測された復元されたデルタ（ｏｂｓｅｒｖｅｄ  ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｄｅｌｔａ）は、入力データが正確度に対する所望のレベルに後で復元できるようにニューラルネットワークをトレーニングするために使用される。いくつかの実施形態で、ニューラルネットワークは、事前トレーニング（ｐｒｅ−ｔｒａｉｎｅｄ）され、所望の復元フィデリティを達成するためにネットワークのレイヤの数だけが変更される。
【００６１】
多様な実施形態で、システム２００は、書き込みキャッシュ２１７を含む。書き込みキャッシュ２１７は、一時的なストレージを提供するように構成される。多様な実施形態で、一時的ストレージはＭＬ回路のエンコーディング／デコーディング手順の間の中間値及び／又は元のデータセットのためのものであり得る。
【００６２】
多様な実施形態で、システム２００は、上述したように、メモリ回路２１６を含む。多様な実施形態で、メモリ回路２１６は、変換されたデータセットを格納する。メモリ回路２１６は、データの復元中に使用される所望のフィデリティのレベルをさらに格納する。
【００６３】
図４に示す実施形態で、メモリ回路２１６は、ルックアップテーブル（ｌｏｏｋ−ｕｐ  ｔａｂｌｅ）、インデックスアレイ（ｉｎｄｅｘｅｄ  ａｒｒａｙ）、又は一連のフィールド（ｓｅｒｉｅｓ  ｏｆ  ｆｉｅｌｄｓ）のようなデータ構造に組織化される。図２に示す実施形態で、メモリ回路２１６は、システム２００が変換されたデータセットを検索できるようにする、インデックスフィールド２５２を含む。多様な実施形態で、インデックスフィールド２５２は、キー値（ＫＶ：ｋｅｙ−ｖａｌｕｅ）ペアのキー又は論理ブロックアドレス（ＬＢＡ：ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓ）を含む。
【００６４】
メモリ回路２１６は、変換されたデータセット、又は変換されたデータセットへのポインタを格納するデータフィールド２５４を含む。このような実施形態で、元のデータセットの同じインスタンスが同じ変換されたデータセットをもたらすため、システム２００は、データの重複排除（ｄａｔａ  ｄｅ−ｄｕｐｌｉｃａｔｉｏｎ）を行うことができ、これにより、追加の空間を確保できる。
【００６５】
一実施形態で、メモリ回路２１６は、変換されたデータセット１９４をデータフィールド２５４に格納する。データフィールド２５４に格納された、変換されたデータセット１９４は、ディープキー（Ｄｅｅｐ−Ｋｅｙ）と称する。このような実施形態で、変換されたデータセット１９４、すなわち、ディープキー（Ｄｅｅｐ−Ｋｅｙ）は、第２のメモリ回路２１８に別個に格納されるか、又は格納されない。第１のメモリ回路２１６に含まれているディープキー（Ｄｅｅｐ−Ｋｅｙ）は、第２のメモリ回路２１８に永続的に（ｐｅｒｓｉｓｔｅｎｔｌｙ）格納される。
【００６６】
メモリ回路２１６は、エンコーディングフィールド２５６を含む。エンコーディングフィールド２５６は、どのＭＬ回路がエンコーディングされるか、及び／又は変換されたデータセットをデコーディングするのに使用されるかを格納して識別する。このような実施形態で、変換回路１１４は、どのＭＬ回路が決定プロセス（ｄｅｃｉｄｉｎｇ  ｐｒｏｃｅｓｓ）に使用されなければならないかを迅速に決定できる。
【００６７】
図４に示す実施形態で、システム２００は、第２のメモリ回路２１８、及びフラッシュチャネル又はインターフェース回路２１５をさらに含む。多様な実施形態で、第１のメモリ回路２１６及び第２のメモリ回路２１８は、同一のメモリ回路に含まれ得るが、別個のパーティション又は領域内に含まれ得る。
【００６８】
多様な実施形態で、第２のメモリ回路２１８は、多様なＭＬ回路の状態又は重み値（例えば、ＮＮ状態２２８Ａ、２２８Ｂ、２２８Ｃ）を格納するように構成される。このような実施形態で、変換回路１１４は、ＭＬ回路又はＭＬ回路の構成間を迅速にかつ動的に切り替えることができる。多様な実施形態で、変換回路１１４は、他のＭＬ状態２２８又は設定をロードすることにより、ＭＬ回路間を切り替えるように構成された、装置プロセッサ又はコントローラを含み得る。
【００６９】
上述したように、システム２００は、以下の態様又は利点を含む。図４に示す実施形態で、システム２００は、メモリ回路にデータを「そのまま（ａｓ−ｉｓ）」格納する代わりに、ストレージ媒体としてニューラルネットワークを使用する。システム２００は、従来のストレージ装置と比較して、ストレージ容量を大幅に増加させることができる。多様な実施形態で、特定の動作（例えば、検索（ｓｅａｒｃｈ））は、全体のデータに対する動作の代わりにニューラルネットワーク及び／又はマシンラーニング回路によって遂行され、これにより、データの動作がより速くなる。たとえば、マシンラーニング回路は、データを第１のフォーマットから第２のフォーマットに変換し得る。以後、マシンラーニング回路は、データを第１のフォーマットに変換することなしに、第２のフォーマットのデータに対する１つ以上の検索を行うことができる。
【００７０】
多様な実施形態で、システム２００は、格納されたデータを自動的に重複削除（ｄｅ−ｄｕｐｌｉｃａｔｅ）することができる。このような実施形態で、重複排除（ｄｅ−ｄｕｐｌｉｃａｔｉｏｎ）は、ブロックレベル又はデータチャンクの一部の粒度であり、これは、データのより多くの重複排除を可能にする。
【００７１】
いくつかの実施形態では、ホストコンピューティング装置は、データを格納するためのフィデリティの程度を変更することを特定できる。もしフィデリティが１００％である場合、（無損失に又は直接格納された）データは、ホストコンピューティング装置に「そのまま（ａｓ−ｉｓ）」返還される。もしフィデリティが１００％よりも小さい場合には、ホストコンピューティング装置に返還されるデータは、元のデータのサイズと同じか、又は同じではない、元のデータの近似値である。いくつかの実施形態では、返還されたデータは、元のデータとまったく同じサイズを有し得るが、返還されたデータ値は、元のデータ値と正確に一致しない可能性がある。
【００７２】
このような実施形態で、システム２００は、マシンラーニングアプリケーションを補完し得る。多様な実施形態で、マシンラーニングアプリケーションは、復元されたデータを必要とせず、代わりに、減少された特徴の表現（ｒｅｄｕｃｅｄ  ｆｅａｔｕｒｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）を使用し得る。例えば、変換されたデータセットが直接使用されてＭＬアプリケーションの速度を向上させることができる。
【００７３】
図５は、本発明のさらに他の実施形態によるシステムの一例を示すブロック図である。多様な実施形態で、システム３００は、マシンラーニング（ＭＬ：ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）回路やソフトウェア構成を含む。特定の実施形態で、システム３００は、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を含む。
【００７４】
図５に示す実施形態で、システム３００は、エンコーダニューラルネットワーク３０２（ｅｎｃｏｄｅｒ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）及びデコーダニューラルネットワーク３０４（ｄｅｃｏｄｅｒ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を含む。多様な実施形態で、これらのニューラルネットワーク（３０２、３０４）は、それぞれ複数のレイヤ（例えば、レイヤ３１２Ａ、３１２Ｂ、３１２Ｃ、３１２Ｄ、及び３１４Ａ、３１４Ｂ、３１４Ｃ、３１４Ｄ）を含む。各レイヤ（３１２、３１４）は、レイヤの入力を処理して出力を生成する多様な重み値及び多数のニューロンを含む。ニューラルネットワークの各レイヤは、異なるタイプの可能性があり、コンボリューション（ｃｏｎｖｏｌｕｔｉｏｎ）、２つのレイヤの間の密な結合（ｄｅｎｓｅ  ｃｏｎｎｅｃｔｉｏｎｓ  ｂｅｔｗｅｅｎ  ｔｗｏ  ｌａｙｅｒｓ）、回帰型ニューラルネットワークユニット（ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  ｕｎｉｔ）、ロングショートタームメモリユニット（ｌｏｎｇ  ｓｈｏｒｔ  ｔｅｒｍ  ｍｅｍｏｒｙ  ｕｎｉｔ）、ゲート付き回帰型ユニット（ｇａｔｅｄ  ｒｅｃｕｒｒｅｎｔ  ｕｎｉｔ）、ＧＡＮ（ｇｅｎｅｒａｔｉｖｅ  ａｄｖｅｒｓａｒｉａｌ  ｎｅｔｗｏｒｋ）、ｓｉｇｍｏｉｄ、ソフトマックス（ｓｏｆｔｍａｘ）などのようなレイヤ、動作、及び他のニューラルネットワークのノードを含む。これらは、単に例としての実施形態であり、本発明はこれに限定されない。その後、ニューラルネットワークの最終的な出力レイヤ（例えば、３１２Ｄ、３１４Ｄ）に到達するまで、出力は他のレイヤの入力として使用される。
【００７５】
図５に示す実施形態で、元のデータセット１９２は、エンコーダニューラルネットワーク３０２に入力されて、変換されたデータセット１９４を生成する。同様に、変換されたデータセット１９４は、デコーダニューラルネットワーク３０４に入力されて、復元されたデータセット１９６を生成する。
【００７６】
このような実施形態で、システム３００は、差分回路又はデルタ回路３０６を含む。デルタ回路３０６は、元のデータセット１９２を復元されたデータセット１９６と比較して、ニューラルネットワーク（３０２、３０４）が、元のデータセット１９２をどのくらい正確に復元するかを判定できる。多様な実施形態で、上述したように、この正確度は、フィデリティ要請と比較される。
【００７７】
多様な実施形態で、システム３００は、ニューラルネットワーク（３０２、３０４）内の多様なレイヤをスキップ（ｓｋｉｐ）又はバイパス（ｂｙｐａｓｓ）することで、システム３００の正確度を動的に調整するように構成される。例えば、一実施形態で、フィデリティが要求されたよりも高い場合には、システム３００は、レイヤ３１２Ｂをバイパスする。フィデリティが要請されたよりもまだ高い場合には、システム３００は、レイヤ（３１２Ｂ、３１２Ｃ）の両方をバイパスする。同様に、デコーダニューラルネットワーク３０４は、例えば、レイヤ３１４をスキップできる。逆に、達成されたフィデリティが要求されたレベルよりも低い場合には、以前にバイパスされたレイヤが演算に再び追加され、フィデリティのレベルを増加させる。
【００７８】
多様な実施形態で、レイヤは、エンコーダ及びデコーダニューラルネットワーク（３０２、３０４）内に同時に追加／バイパスされる。他の実施形態で、レイヤは、独立して追加／バイパスされる。
【００７９】
多様な実施形態で、システム３００は、多様な設定を含むか、又は多様な設定によって制限される。例えば、システム３００は、スキップ又はバイパスできるレイヤの最大の個数によって制限される。他の実施形態で、システム３００は、所望のフィデリティ要求（又は演算時間などのような他の要求）を達成できる試行、又は最大の回数によって制限される。上述された内容は、本発明がいくつかの例としての実施形態に限定されない。
【００８０】
多様な実施形態で、システム３００は、データストレージの動作の一部として、このフィデリティの演算を遂行する。このような実施形態で、システム３００は、所望のフィデリティ又は他のリソースの要求を達成するためにどのようなニューラルネットワーク設定が使用されるかを判定する。このような実施形態で、ニューラルネットワークに対する設定は、データをエンコーディングするのにどのようなニューラルネットワークが使用されるかとともに格納される。
【００８１】
多様な実施形態で、システム３００が設定された試行回数又は全体で所望のフィデリティを達成できない場合は、システム３００は、フィデリティ要求に可能な限り近いフィデリティレベルを達成する設定を使用する。他の実施形態で、システム３００が所望のフィデリティを達成できない場合、システム３００は、元のデータセット１９２を「そのまま（ａｓ−ｉｓ）」又はそれの元のデータの状態に（例えば、ＦＴＬを介して）格納する。他の実施形態で、システム３００が所望のフィデリティを正確に達成できない場合、システム３００は、所望のフィデリティのレベルよりも高いが、１００％のフィデリティのレベルよりも低いフィデリティのレベルで、元のデータを格納し得る。別の実施形態で、システム３００が所望のレベル（又は他の要求）を達成できない場合、システム３００は、複数のＭＬ回路のうちの他の１つに切り替えて再び試行する。上述した内容は、単にいくつかの例としての実施形態であり、本発明はこれに限定されない。
【００８２】
図６は、本発明の原理に基づいて形成された半導体装置を含む情報処理システムの一例を示すブロック図である。
【００８３】
図６を参照すると、情報処理システム４００は、本発明の原理に基づいて構成された１つ以上の装置を含む。他の実施形態で、情報処理システム４００は、本発明の原理による１つ以上の手法を使用するか実行し得る。
【００８４】
多様な実施形態で、情報処理システム４００は、例えば、ラップトップ、デスクトップ、ワークステーション、サーバ、ブレードサーバ、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、スマートフォン、タブレット、及び他の適切なコンピュータのようなコンピューティング装置、仮想マシン、又はそれらの仮想コンピューティング装置を含む。多様な実施形態で、情報処理システム４００は、ユーザー（図示せず）によって使用される。
【００８５】
本発明の一実施形態による情報処理システム４００は、中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ロジック、又はプロセッサ４１０をさらに含む。いくつかの実施形態で、プロセッサ４１０は、１つ以上の機能ユニットブロック（ＦＵＢ：ｆｕｎｃｔｉｏｎａｌ  ｕｎｉｔ  ｂｌｏｃｋ）又は組み合わせ論理ブロック（ＣＬＢ：ｃｏｍｂｉｎａｔｉｏｎａｌ  ｌｏｇｉｃ  ｂｌｏｃｋ）４１５を含む。このような実施形態で、組み合わせ論理ブロックは、多様なブールロジック演算（Ｂｏｏｌｅａｎ  ｌｏｇｉｃ  ｏｐｅｒａｔｉｏｎ）（例えば、ＮＡＮＤ、ＮＯＲ、ＮＯＴ、ＸＯＲ）、安定化ロジック装置（ｓｔａｂｉｌｉｚｉｎｇ  ｌｏｇｉｃ  ｄｅｖｉｃｅ）（例えば、フリップ・フロップ、ラッチ）、他のロジック装置、又はそれらの組み合わせを含む。このような組み合わせ論理演算は、単純な又は複雑な方法で入力信号を処理して、所望の結果を達成し得る。同期式組み合わせ論理演算の一部の例としての実施形態が説明されたが、本発明はこれに限定されず、非同期式演算又はそれらの組み合わせを含み得る。一実施形態で、組み合わせ論理演算（回路）は、複数のＣＭＯＳ（ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ  ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタを含む。多様な実施形態で、これらのＣＭＯＳトランジスタは、論理演算を遂行するゲートにアレンジされる。本発明の技術範囲内で、他の技術が使用され得る。
【００８６】
本発明の一実施形態による情報処理システム４００は、揮発性メモリ４２０（例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））をさらに含む。本発明の一実施形態による情報処理システム４００は、不揮発性メモリ４３０（例えば、ハードドライブ、光メモリ、ＮＡＮＤ型フラッシュメモリ）をさらに含む。いくつかの実施形態で、揮発性メモリ４２０、不揮発性メモリ４３０、又はそれらの一部若しくは組み合わせの中の１つは、「ストレージ媒体（ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）」と呼ばれる。多様な実施形態で、揮発性メモリ４２０及び／又は不揮発性メモリ４３０は、半永続的又は実質的に永続的な形でデータを格納する。
【００８７】
多様な実施形態で、情報処理システム４００は、情報処理システム４００が通信ネットワークを介して、一部と通信するように構成された１つ以上のネットワークインターフェース４４０を含む。Ｗｉ−Ｆｉ（登録商標）プロトコルの例は、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１ｇ、ＩＥＥＥ  ８０２．１１ｎを含むが、これに限定されない。セルラーのプロトコルの例は、ＩＥＥＥ  ８０２．１６ｍ（別名、Ｗｉｒｅｌｅｓｓ−ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アドバンスド、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）（登録商標）アドバンスド、ＥＤＧＥ（（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ｒａｔｅｓ  ｆｏｒ  Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）エボリューション（Ｅｖｏｌｕｔｉｏｎ））、ＨＳＰＡ＋（Ｅｖｏｌｖｅｄ  Ｈｉｇｈ−  Ｓｐｅｅｄ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ））を包含できるが、これに限定されない。有線プロトコルの例は、ＩＥＥＥ  ８０２．３（別名、Ｅｔｈｅｒｎｅｔ（登録商標））、ファイバチャネル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）、電力線通信（Ｐｏｗｅｒ  Ｌｉｎｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）（例えば、ホームプラグ（ＨｏｍｅＰｌｕｇ）、ＩＥＥＥ  １９０１）を含み得るが、これに限定されない。上述した内容は、いくつかの例としての実施形態であり、本発明はこれに限定されない。
【００８８】
本発明の一実施形態による情報処理システム４００は、ユーザーインターフェースユニット４５０（例えば、ディスプレイアダプタ、ハプティックインターフェース、ヒューマンインターフェース装置）をさらに含む。多様な実施形態で、このようなユーザーインターフェースユニット４５０は、ユーザーからの入力を受信したり、ユーザーに出力を提供したりする。他の種類の装置がユーザーとの相互作用（ｉｎｔｅｒａｃｔｉｏｎ）を提供するために使用されるだけではなく、例えば、ユーザーに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックのような感覚フィードバックの形態であり、ユーザーからの入力は、音、音声、又は触覚入力を含む形で受信される。
【００８９】
多様な実施形態で、情報処理システム４００は、１つ以上の他の装置又はハードウェア構成要素４６０（例えば、ディスプレイ、モニター、キーボード、マウス、カメラ、指紋リーダー、ビデオプロセッサなど）を含む。上述した内容は、いくつかの例としての実施形態であり、本発明はこれに限定されない。
【００９０】
本発明の一実施形態による情報処理システム４００は、１つ以上のシステムバス４０５をさらに含む。このような実施形態で、システムバス４０５は、プロセッサ４１０、揮発性メモリ４２０、不揮発性メモリ４３０、ネットワークインターフェース４４０、ユーザーインターフェースユニット４５０、及び１つ以上のハードウェア構成要素４６０と通信的に連結されるように構成される。プロセッサ４１０によって処理されたデータ、又は不揮発性メモリ４３０に外部から入力されたデータは、不揮発性メモリ４３０又は揮発性メモリ４２０のいずれか１つに格納される。
【００９１】
多様な実施形態で、情報処理システム４００は、１つ以上のソフトウェア構成要素４７０を含むか実行し得る。いくつかの実施形態で、ソフトウェア構成要素４７０は、オペレーティングシステム（ＯＳ：ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）、及び／又はアプリケーションを含む。いくつかの実施形態で、ＯＳは、１つ以上のサービスをアプリケーションに提供し、情報処理システム４００のアプリケーションと、多様なハードウェア構成要素（例えば、プロセッサ４１０、ネットワークインターフェース４４０）との間の媒介として動作するか、又は管理する。このような実施形態で、情報処理システム４００は、ローカルに（例えば、不揮発性メモリ４３０内に）設置され、プロセッサ４１０によって直接実行され、ＯＳと直接相互作用するように構成された１つ以上のネイティブアプリケーションを含む。このような実施形態で、ネイティブアプリケーションは、事前にコンパイルされたマシン実行可能なコード（ｐｒｅ−ｃｏｍｐｉｌｅｄ  ｍａｃｈｉｎｅ  ｅｘｅｃｕｔａｂｌｅ  ｃｏｄｅ）を含む。いくつかの実施形態で、ネイティブアプリケーションは、ソース又はオブジェクトコードをプロセッサ４１０によって実行される実行可能なコードに変換するように構成されたスクリプトインタープリタ（ｓｃｒｉｐｔ  ｉｎｔｅｒｐｒｅｔｅｒ）（例えば、ｃｓｈ（Ｃ  ｓｈｅｌｌ）、ＡｐｐｌｅＳｒｃｒｉｐｔ（登録商標）、ＡｕｔｏＨｏｔｋｅｙ）又は仮想実行マシン（ＶＭ）（例えば、Ｊａｖａ（登録商標）Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、ｔｈｅ  Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｍｍｏｎ  Ｌａｎｇｕａｇｅ  Ｒｕｎｔｉｍｅ）を含む。
【００９２】
上述した半導体装置は、多様なパッケージング技法を使用してカプセル化され得る。例えば、本発明の原理による半導体装置は、ＰＯＰ（ｐａｃｋａｇｅ  ｏｎ  ｐａｃｋａｇｅ）技法、ＢＧＡ（ａ  ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙ）技法、ＣＳＰ（ａ  ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅ）技法、ＰＬＣＣ（ａ  ｐｌａｓｔｉｃ  ｌｅａｄｅｄ  ｃｈｉｐ  ｃａｒｒｉｅｒ）技法、ＰＤＩＰ（ａ  ｐｌａｓｔｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ）技法、ダイインワッフルパック（ａ  ｄｉｅ  ｉｎ  ｗａｆｆｌｅ  ｐａｃｋ）技法、ダイインウェハフォーム（ａ  ｄｉｅ  ｉｎ  ｗａｆｅｒ  ｆｏｒｍ）技法、ＣＯＢ（ａ  ｃｈｉｐ  ｏｎ  ｂｏａｒｄ）技法、ＣＥＲＤＩＰ（ａ  ｃｅｒａｍｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ）技法、ＰＭＱＦＰ（ａ  ｐｌａｓｔｉｃ  ｍｅｔｒｉｃ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技法、ＰＱＦＰ（ａ  ｐｌａｓｔｉｃ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技法、ＳＯＩＣ（ａ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技法、ＳＳＯＰ（ａ  ｓｈｒｉｎｋ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技法、ＴＳＯＰ（ａ  ｔｈｉｎ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技法、ＴＱＦＰ（ａ  ｔｈｉｎ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技法、ＳＩＰ（ａ  ｓｙｓｔｅｍ  ｉｎ  ｐａｃｋａｇｅ）技法、ＭＣＰ（ａ  ｍｕｌｔｉ−ｃｈｉｐ  ｐａｃｋａｇｅ）技法、ＷＦＰ（ａ  ｗａｆｅｒ−ｌｅｖｅｌ  ｆａｂｒｉｃａｔｅｄ  ｐａｃｋａｇｅ）技法、ＷＳＰ（ａ  ｗａｆｅｒ−ｌｅｖｅｌ  ｐｒｏｃｅｓｓｅｄ  ｓｔａｃｋ  ｐａｃｋａｇｅ）技法、又は本発明が属する技術分野でよく知られている他の技法の中のいずれか１つを使用してカプセル化される。
【００９３】
本発明による方法の段階は、コンピュータプログラムを実行して、入力データに対する演算及び出力を生成することにより、機能を遂行する１つ以上のプログラム可能なプロセッサによって遂行される。方法の段階は、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）又はＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）のような専用ロジック回路（ｓｐｅｃｉａｌ  ｐｕｒｐｏｓｅ  ｌｏｇｉｃ  ｃｉｒｃｕｉｔｒｙ）として具現され得る装置によって遂行される。
【００９４】
多様な実施形態で、コンピュータ読み取り可能な媒体は、コマンドを含み、コマンドが実行されるとき、装置は、方法の段階の少なくとも一部を遂行し得る。いくつかの実施形態で、コンピュータ読み取り可能な媒体は、磁気媒体、光媒体、他の媒体又はそれらの組み合わせ（例えば、ＣＤ−ＲＯＭ、ハードドライブ、読み取り専用メモリ、フラッシュメモリ）に含まれる。このような実施形態で、コンピュータ読み取り可能な媒体は、有形で非一時的に具現された製品であり得る。
【００９５】
以上、本発明の原理を、例としての実施形態を参照して説明したが、当業者は、本発明の思想及び技術範囲から逸脱しない範囲内で多様に変更実施することができる。したがって、上述した実施形態は限定ではなく、単純な例として提示したものである。すなわち、本発明の技術的思想は、特許請求の範囲及びその均等物の最も広い範囲の解釈によって決定されるべきで、上述の詳細な説明によって限定されない。
【符号の説明】
【００９６】
１００、２００、３００    システム
１０２    ホストコンピューティング装置
１０４    ストレージ装置
１１２    ホストインターフェース回路
１１４    変換回路
１１５、２１５    フラッシュチャネル／インターフェース回路
１１６    メモリ回路
１２２    エンコーディング選択回路
１２４    ＦＴＬ（フラッシュ変換レイヤ）／直接変換回路
１２６    マシンラーニング（ＭＬ）回路
１２６Ａ、１２６Ｎ    ニューラルネットワーク
１２８    フィデリティ要求
１７０    経路
１８２    書き込みメモリアクセス要請
１８３、１８５    読み取りメモリアクセス要請
１８４、１８６    読み取り応答
１９２    元のデータセット
１９４    変換されたデータセット
１９６    （復元された）データセット
２１６    （第１の）メモリ回路
２１７    書き込みキャッシュ
２１８    第２のメモリ回路
２２２    （シングル）エンコーディング回路
２２２Ａ、２２２Ｂ、２２２Ｃ    エンコーディング回路
２２４    （マルチ）デコーディング回路
２２４Ａ、２２４Ｂ、２２４Ｃ    デコーディング回路
２２６、３０６    差分回路（デルタ回路）
２２６Ａ、２２６Ｂ、２２６Ｃ    差分回路
２２８、２２８Ａ、２２８Ｂ、２２８Ｃ    ＮＮ状態
２５２    インデックスフィールド
２５４    データフィールド
２５６    エンコーディングフィールド
３０２    エンコーダニューラルネットワーク
３０４    デコーダニューラルネットワーク
３１２、３１２Ａ、３１２Ｂ、３１２Ｃ、３１２Ｄ    レイヤ
３１４、３１４Ａ、３１４Ｂ、３１４Ｃ、３１４Ｄ    レイヤ
４００    情報処理システム
４０５    システムバス
４１０    プロセッサ（及び／又はロジック）
４１５    組み合わせ論理ブロック
４２０    揮発性メモリ
４３０    不揮発性メモリ
４４０    ネットワークインターフェース
４５０    ユーザーインターフェースユニット
４６０    ハードウェア（構成要素）
４７０    ソフトウェア（構成要素）
【図１】
2020087468.tif 000003
【図２】
2020087468.tif 000004
【図３】
2020087468.tif 000005
【図４】
2020087468.tif 000006
【図５】
2020087468.tif 000007
【図６】
2020087468.tif 000008