JP 2022-511405 A 2022.1.31(57)【要約】
電力が提供されている間にデータを記憶する揮発性
記憶回路を備えるデータ処理装置が提供されている。持続性記憶回路は、電力の非存在下でデータを記憶し、転送回路は、揮発性記憶回路から持続性記憶回路にデータを転送する。転送回路は、一次電源が揮発性記憶回路に対して利用不可能になることに応じて、揮発性記憶回路から持続性記憶回路にデータを転送するように構成されている。転送回路は、データのサブセットのインジケー
ションを含む明示的な要求に応じて、揮発性記憶回路から持続性記憶回路にデータのサブセットを転送するように構成されている。
【選択図】図２

(2)JP 2022-511405 A 2022.1.31【特許請求の範囲】【請求項１】
データ処理装置であって、電力が提供されている間にデータを記憶する揮発性記憶回路と、電力の非存在下でデータを記憶する持続性記憶回路と、
前記揮発性記憶回路から前記持続性記憶回路にデータを転送する転送回路と、を備え、
前記転送回路が、一次電源が前記揮発性記憶回路に対して利用不可能となることに応じて、前記揮発性記憶回路から前記持続性記憶回路に前記データを転送するように構成されており、
前記転送回路が、前記データのサブセットのインジケーションを含む明示的な要求に応じて、前記揮発性記憶回路から前記持続性記憶回路に前記データの前記サブセットを転送するように構成されている、データ処理装置。
【請求項２】
更なる揮発性記憶回路を備え、
前記転送回路が、前記更なる揮発性記憶回路を検索することなく、前記揮発性記憶回路からの前記データの前記サブセットを検索するように構成されている、請求項１に記載のデータ処理装置。
【請求項３】
前記データの前記サブセットがアドレス識別子によって示されている、請求項１又は２に記載のデータ処理装置。
【請求項４】
前記データの前記サブセットが、仮想マシン識別子、
アプリケーション空間識別子、又はメモリロケーションの使用モード、の少なくとも１つによって示されている、請求項
１〜３のいずれか一項に記載のデータ処理装置。
【請求項５】
前記使用モードが、仮想メモリアドレスに関連して定義されている、請求項４に記載のデータ処理装置。
【請求項６】
前記使用モードが、少なくとも部分的な物理メモリアドレスに関連して定義されている、請求項４又は５に記載のデータ処理装置。
【請求項７】
前記使用モードが、ページテーブルエントリ又は相互接続ルーティング回路によって定義されている、請求項４〜６のいずれか一項に記載のデータ処理装置。
【請求項８】
前記揮発性記憶回路及び前記持続性記憶回路が、メモリ階層の一部を含む、請求項１〜７のいずれか一項に記載のデータ処理装置。
【請求項９】
前記揮発性記憶回路が、前記メモリ階層内のラストレベルキャッシュ又はそれ以上のものである、請求項８に記載のデータ処理装置。
【請求項１０】
前記一次電源が前記揮発性記憶回路に対して利用不可能となることに応じて、前記揮発性記憶回路に電力を供給するバックアップエネルギー源を備える、請求項１〜９のいず
れか一項に記載のデータ処理装置。
【請求項１１】
命令ストリームを実行する処理回路、を備え、前記処理回路が、処理回路信号を前記転送回路に送信して、前記データの前記サブセットを示すように構成されている、請求項１〜１０のいずれか一項に記載のデータ処理装

10

20

30

40

50

(3)

JP 2022-511405 A 2022.1.31

置。
【請求項１２】
前記持続性記憶回路が、前記処理回路から前記処理回路信号を受信するように構成されており、データがアクセスされることになる前記持続性記憶回路内のロケーションを示す、請求項１１に記載のデータ処理装置。
【請求項１３】
前記持続性記憶回路が、前記転送回路から転送回路信号を受信するように構成されており、データがアクセスされることになる前記持続性記憶回路内のロケーションを示す、
請求項１〜１１のいずれか一項に記載のデータ処理装置。
【請求項１４】
前記転送回路信号が、データが書き込まれることになる前記持続性記憶回路内の前記
ロケーションを示す、請求項１３に記載のデータ処理装置。
【請求項１５】
前記処理回路が、前記データの前記サブセットが前記揮発性記憶回路から前記持続性記憶回路に転送されている間に、前記命令ストリームを実行し続けるように構成されている、請求項１１〜１４のいずれか一項に記載のデータ処理装置。
【請求項１６】方法であって、一次電源が前記揮発性記憶回路に対して利用不可能となることに応じて、揮発性記憶回路から持続性記憶回路にデータを転送することと、
前記揮発性記憶回路内の前記データのサブセットのインジケーションを含む明示的な要求を受信することと、
前記明示的な要求に応じて、前記揮発性記憶回路から前記持続性記憶回路に前記デー
タの前記サブセットを転送することと、を含む、方法。
【請求項１７】
データ処理装置であって、電力が提供されている間にデータを記憶する手段と、電力の非存在下でデータを記憶する手段と、前記電力の非存在下で前記データを記憶する手段に電力が提供されている間に、前記データを記憶する手段からデータを転送する手段と、を備え、
前記データを転送する手段が、一次電源が電力が供給されている間に前記データを記憶する手段に対して利用不可能となることに応じて、電力が供給されている間に前記データを記憶する手段から、前記電力の非存在下で前記データを記憶する手段にデータを転送するものであり、
前記データを転送する手段がまた、前記データの前記サブセットのインジケーションを含む明示的な要求に応じて、電力が供給されている間に前記データを記憶する手段から、前記電力の非存在下で前記データを記憶する手段に前記データのサブセットを転送するものである、データ処理装置。
【発明の詳細な説明】【技術分野】【０００１】
本開示は、データ処理に関する。より具体的には、データ記憶装置に関する。
【背景技術】【０００２】
揮発性記憶回路では、データは、その回路に電力が供給されている限りでのみ保持される。対照的に、持続性記憶回路は、たとえ電力が供給されていない間であってもデータを記憶することができる。データ処理装置では、記憶装置の両方の形態を使用することができる。しかしながら、持続性記憶装置は揮発性記憶装置よりも遅い傾向があるため、データを損失又は破損する可能性のある揮発性記憶装置に保持されるかどうか、又はデータを損失又は破損する可能性は低いが待ち時間が増大することになる持続性記憶装置に保持

10

20

30

40

50

(4)

JP 2022-511405 A 2022.1.31

されるかどうかに関して、トレードオフが存在する。データは、同時に両方の記憶装置の形態で記憶することができる。しかしながら、コヒーレンシ／一貫性を提供することは、
特に関与する大量のデータが存在する場合に、記憶回路間の帯域幅の増大につながる。
【発明の概要】【０００３】
第１の例示的構成から見て、提供されるデータ処理装置は、電力が提供されている間にデータを記憶する揮発性記憶回路と、電力の非存在下でデータを記憶する持続性記憶回路と、揮発性記憶回路から持続性記憶回路にデータを転送する転送回路と、を備え、転送回路は、一次電源が揮発性記憶回路に対して利用不可能となることに応じて、揮発性記憶回路から持続性記憶回路にデータを転送するように構成されており、転送回路は、データのサブセットのインジケーションを含む明示的な要求に応じて、揮発性記憶回路から持続性記憶回路にデータのサブセットを転送するように構成されている。
【０００４】
第２の例示的構成から見て、提供される方法は、一次電源が揮発性記憶回路に対して利用不可能となることに応じて、揮発性記憶回路から持続性記憶回路にデータを転送する
ことと、揮発性記憶回路内のデータのサブセットのインジケーションを含む明示的な要求を受信することと、明示的な要求に応じて、揮発性記憶回路から持続性記憶回路にデータのサブセットを転送することと、を含む。
【０００５】
第３の例示的構成から見て、提供されるデータ処理装置は、電力が提供されている間にデータを記憶する手段と、電力の非存在下でデータを記憶する手段と、電力の非存在下でデータを記憶する手段に電力が提供されている間に、データを記憶する手段からデータを転送する手段と、を備え、データを転送する手段は、電力が供給されている間に一次電源がデータを記憶する手段に対して利用不可能となることに応じて、電力が供給されている間にデータを記憶する手段から、電力の非存在下でデータを記憶する手段にデータを転送するものであり、データを転送する手段はまた、データのサブセットのインジケーショ
ンを含む明示的な要求に応じて、電力が供給されている間にデータを記憶する手段から、電力の非存在下でデータを記憶する手段にデータのサブセットを転送するものである。
【図面の簡単な説明】【０００６】
添付図面に示されるそれらの実施形態を参照して、あくまで一例として本発明を更に説明する。
【図１】いくつかの実施形態による装置を概略的に示す。
【図２】いくつかの実施形態による装置を概略的に示す。
【図３】持続性記憶回路のバイトアドレス指定可能な性質を示す。
【図４】いくつかの実施形態による装置を概略的に示す。
【図５Ａ】いくつかの実施形態による、使用モードを指定するためのページテーブルエン
トリ（ＰＴＥ）及び相互接続ルーティングテーブルの使用例を示す。
【図５Ｂ】いくつかの実施形態による、使用モードを指定するためのページテーブルエン
トリ（ＰＴＥ）及び相互接続ルーティングテーブルの使用例を示す。
【図６】いくつかの実施形態による転送プロセスのオフロードを示す。
【図７】いくつかの実施形態によるデータ処理の方法を示す。
【発明を実施するための形態】【０００７】
添付図面を参照して実施形態を検討する前に、以下の実施形態の説明を行う。
【０００８】
いくつかの態様によれば、提供されるデータ処理装置は、電力が提供されている間にデータを記憶する揮発性記憶回路と、電力の非存在下でデータを記憶する持続性記憶回路と、揮発性記憶回路から持続性記憶回路にデータを転送する転送回路と、を備え、転送回
路は、一次電源が揮発性記憶回路に対して利用不可能となることに応じて、揮発性記憶回

10

20

30

40

50

(5)

JP 2022-511405 A 2022.1.31

路から持続性記憶回路にデータを転送するように構成されており、転送回路は、データのサブセットのインジケーションを含む明示的な要求に応じて、揮発性記憶回路から持続性記憶回路にデータのサブセットを転送するように構成されている。
【０００９】
データ処理装置内では、持続点が定義される。この持続点の前に記憶されたデータは、電力損失の場合に失われる傾向がある。持続点を過ぎると、たとえ電源障害の場合であっても、持続性記憶媒体にマッピングされたデータを保持させるアクションがとられる。
これは、持続性記憶装置に保持されているデータによって達成され得る。あるいは、デー
タは、一次電源障害の場合に、データを持続性記憶装置に転送するのに十分な時間を提供するために二次電源を使用する、揮発性記憶装置に保持することができる。二次電源は専用電源であってもよく、又は更には障害中の一次電源のキャパシタンスであってもよい。
データ処理装置内では、深い持続点もまた定義され、これはそれ自体が持続点を超えている（例えば、深い持続点を過ぎた全てのものは持続点も過ぎている）。深い持続点は、一次電源の障害の場合に、データがより強く「保証」され続ける点を定義する。これには、ホストプロセッサクラッシュなどの一次電源の障害、又はバッテリバックアップ障害を超えるシナリオに対する絶縁を含むことができる。例えば、持続点は１つの保証レベルを提供し得、深い持続点は、より高い保証レベルを提供し得る。したがって、深い持続点は、
持続性記憶回路自体の開始を定義することができる。そのようなシステム内では、データが深い持続点で記憶されるようにデータを制御することが可能である。これは、データが失われることを抑制するのに特に重要であり、より強い「保証」がデータの安全性に必要とされる、ジャーナル（ジャーナル付きファイルシステム内の）又はデータベースメンテ
ナンスレコードなどの特に価値のあるデータに対して重要であり得る。したがって、デー
タのサブセットが深い持続点（例えば、持続性記憶回路）を過ぎて転送されることを（例
えば、電力損失などのイベントに対する応答ではなく、実行時の動作の結果として）明示的に要求することが可能である。データのサブセットが指定される（例えば、データがフィルタリングされている）ため、揮発性記憶装置内の全てのデータを持続性記憶装置に転送する必要がないことによって、帯域幅を保存することができる。
【００１０】
いくつかの実施形態では、更なる揮発性記憶回路は、転送回路は、更なる揮発性記憶
回路を検索することなく、揮発性記憶回路からのデータのサブセットを検索するように構成されている。その結果、データの識別又は分析が行われる範囲を制限することが可能である。例えば、いくつかの実施形態では、データのサブセットを転送する明示的な要求は、「持続点」の後ろにある揮発性記憶回路への検索を制限するためのインジケーションを追加的に行うことができる。持続性の「保証」又は約束がＣＰＵ（又は他のデバイス）に
よって以前に要求され、かつ、持続点の後ろに存在する揮発性記憶回路の一部分によって確認応答されたデータのサブセットを転送することにのみ関心があるため、他の場所を検索する必要はなく、例えば、特に持続点を超える上流の揮発性キャッシュのスヌーピング
又は検索を制限することができる。
【００１１】
いくつかの実施形態では、データのサブセットは、アドレス識別子によって示される。アドレス識別子は、持続性記憶装置に転送される１つ以上の指定されたロケーションに関して提供され得る。これは、例えば、オフセットと共の、又は範囲の一部としての、開始点であり得る。
【００１２】
いくつかの実施形態では、データのサブセットは、仮想マシン識別子、アプリケーシ
ョン空間識別子、又はメモリロケーションの使用モードのうちの少なくとも１つによって示される。特定の仮想マシンによって使用されるメモリを表すために、仮想マシン識別子（ＶＭＩＤ）を使用することができる。対照的に、特定のアプリケーションによって使用されるメモリを識別するために、アプリケーション空間識別子（ＡＳＩＤ）を使用することができる。使用モードは、メモリがどのように使用されているかを示す。例えば、持続

10

20

30

40

50

(6)

JP 2022-511405 A 2022.1.31

性媒体によって実際にバックアップされたメモリは、更新が持続性として実際に確認応答されることを更新を強制しないか又は保証しないことによって、揮発性記憶装置として使用することができる。したがって、この特定の例では、使用モードは、記憶装置が持続性
記憶装置によってバックアップされているが、使用モードが揮発性記憶装置であるという事実を反映することになる。
【００１３】
いくつかの実施形態では、使用モードは、仮想メモリアドレスに関連して定義される。例えば、特定の仮想メモリアドレスは、持続性な方法で使用されるメモリの領域である
ものとして示され得る。これは、例えば、単一のビットで表すことができる。
【００１４】
いくつかの実施形態では、使用モードは、少なくとも部分的な物理メモリアドレスに関連して定義される。例えば、特定の物理メモリアドレスは、持続性な方法で使用されるメモリの領域であるものとして示され得る。一部の物理アドレスは、仮想から物理への変換が多数のステップで生じる場合に発生し得る。例えば、仮想アドレスは、その後に物理アドレスに変換される、少なくとも部分的な物理アドレス（例えば、中間アドレス）に変換することができる。
【００１５】
いくつかの実施形態では、使用モードは、ページテーブルエントリ又は相互接続ルー
ティング回路によって定義される。ページテーブルエントリは、例えば、仮想アドレスから（少なくとも部分的に）物理アドレスに変換するために、トランスレーションルックア
サイドバッファ及び／又はページウォーキング回路で使用される。相互接続ルーティング
回路は、例えばその要求のアドレスに基づいて特定の要求を送信すべきハードウェアの部
分を判定するために使用される。これらの例のいずれかでは、使用モードを表すために新しいフィールドを追加することができる。
【００１６】
いくつかの実施形態では、揮発性記憶回路及び持続性記憶回路は、メモリ階層の一部を含む。メモリ階層には、典型的に、より小さくより高速な上位レベルキャッシュと、よ
り大きくより低速な下位レベルキャッシュが含まれる。頻繁にはアクセスされないデータ
又は最近アクセスされていないデータがメモリ階層の下位レベルに記憶され、最近アクセ
スされたデータがメモリ階層の上位レベルに記憶されるように、キャッシュ間でデータを転送することができる。そのような階層では、ＳＣＭなどの持続性記憶装置によって、より下位レベルをバックアップすることができる。
【００１７】
いくつかの実施形態では、揮発性記憶回路は、メモリ階層内のラストレベルキャッシ
ュ又はそれ以上のものである。ラストレベルキャッシュ（ＬＬＣ）は、キャッシュの形態をとるメモリ階層内の最後の記憶回路と見なすことができる。階層の次の（より下位の）レベルは、そのようなストレージクラスメモリ（ＳＣＭ）のバッキングストアである。そのようなキャッシュは、多数のプロセッサ間で共有され得る。しかしながら、これは義務的ではない。
【００１８】
いくつかの実施形態では、データ処理装置は、一次電源が揮発性記憶回路に対して利用不可能となることに応じて、揮発性記憶回路に電力を供給するバックアップエネルギー源を備える。バックアップエネルギー源は、持続点を過ぎた揮発性記憶装置の全てが、一次電源が利用不可能となる場合に持続性記憶装置に転送される、最悪ケースシナリオを取り扱うのに十分な容量を有するように選択されている。バックアップエネルギー源は、必
ずしもエネルギー供給源である必要はないことに留意されたい。障害中の一次電源のキャ
パシタンスが関連データの全てを転送するのに十分である場合、これはバックアップエネ
ルギー源自体として機能することができる。
【００１９】
いくつかの実施形態では、データ処理装置は、命令ストリームを実行する処理回路を

10

20

30

40

50

(7)

JP 2022-511405 A 2022.1.31

備え、ここで処理回路は、信号を転送回路に送信してデータのサブセットを示すように構成されている。したがって、揮発性記憶装置から持続性記憶装置に転送されるデータに関する信号は、命令を実行するＣＰＵなどの処理回路によって開始され得る。
【００２０】
いくつかの実施形態では、持続性記憶回路は、処理回路から信号を受信するように構成されており、データがアクセスされることになる持続性記憶回路内のロケーションを示す。持続性記憶回路は、持続性記憶回路内に記憶された個々のバイトがデバイスドライバを使用することなくアドレス指定され得るという点で、アドレス指定可能なバイトであり得る。これは、（潜在的に４ｋＢのデータを記憶する）データのブロックが、個々のバイトではなく一度に記憶又はアクセスされる他の形態の記憶装置とは対照的である。バイト
アドレス指定可能記憶装置を有することの結果として、ＣＰＵと記憶回路自体との間の待ち時間は、デバイスドライバが仲介として機能するのに必要とされる状況よりも改善することができる。
【００２１】
いくつかの実施形態では、持続性記憶回路は、転送回路から信号を受信するように構成されており、データがアクセスされることになる持続性記憶回路内のロケーションを示す。
【００２２】
いくつかの実施形態では、信号は、データが書き込まれることなる持続性記憶回路内のロケーションを示す。
【００２３】
いくつかの実施形態では、処理回路は、データのサブセットが揮発性記憶回路から持続性記憶回路に転送されている間に、命令ストリームを実行し続けるように構成されている。これにより、データが揮発性記憶装置から持続性記憶装置に転送されている間に、処理回路が動作し続けることが可能になる。したがって、転送を実行する作業は、処理回路から「オフロード」される。
【００２４】
ここで、特定の実施形態を、図面を参照して説明する。
【００２５】
図１は、いくつかの実施形態による装置１００を示している。装置は、命令ストリー
ムを実行する中央処理装置（ＣＰＵ）１１０を含む。これらの命令の実行中、ＣＰＵ１１０は、キャッシュ１２０及びストレージクラスメモリ（ＳＣＭ）１５０の形態の１つ以上の記憶回路を使用することができる。
【００２６】
装置１００内には、電源１９０が設けられている。電源１９０は、ＣＰＵ１２０、及び記憶回路１２０、１５０のそれぞれに電力供給する。電源１９０から電力が供給される
限り、各記憶回路にアクセスすることができる。しかしながら、キャッシュ１２０は「揮発性」であり、その結果、記憶された任意のデータは、電力が供給されなくなると失われ得る。キャッシュ１２０は、バックアップバッテリ１７０を備えている。電力が失われた
場合、このキャッシュ１２０は、記憶されたデータをＳＣＭ１５０に転送するように設計されている。このようにして、たとえキャッシュが揮発性記憶装置である場合であっても、電力障害の場合に、記憶されたデータを保持するための約束又は保証を提供することによって、持続性な方法で機能することが可能であり得る。したがって、これらのキャッシ
ュは、持続点１６０の後ろに存在する。将来の持続性の約束又は保証を与えられて持続性であるとマークされ、キャッシュ１２０に記憶されたデータは、たとえ電力障害の場合であって保存される。
【００２７】
しかしながら、そのような持続性データが常に保存されることは保証されない。例えば、バッテリバックアップ１７０が電源１９０と同時に障害となった場合、又は以前に障害となっており問題としてのフラグが立てられていなかった場合には、キャッシュ１２０

10

20

30

40

50

(8)

JP 2022-511405 A 2022.1.31に記憶されたデータがＳＣＭ１５０に転送されることは不可能になる。したがって、状況によっては、より強い約束又は保証が望ましい場合がある。これは、データベースメンテ
ナンスレコード又はジャーナルファイルシステム内のジャーナルなどの、より重要なデータを有する場合であり得る。したがって、本装置１００はまた、データ連続性のはるかに強い約束又は保証が提供される、深い持続点１７０を定義する。実際に、この実施例では、深い持続点１７０は、ＳＣＭ１５０の境界に設定される。その結果、この実施例では、
深い持続点１７０を越えて記憶されるデータは、常に持続的に記憶される。
【００２８】
上記の段落では、電力障害が発生する状況について説明した。しかしながら、発生し得る他の形態の障害が存在することを理解されたい。例えば、電力スパイク、回路内のわ
ずかなエラー又は欠陥、及び特定の形態の攻撃（例えば、ＤＲＡＭの場合のローハマー）
は、記憶回路内の個々のビットを反転させ得る。これは、ＥＣＣなどの技術によって緩和することができる。しかしながら、この方法で、全てのエラーが修復されるか、又は完全に抑制され得るわけではない。その結果、これらのエラーが発生し得る範囲を制限するために、深い持続点１７０でデータが記憶されることが望ましい場合がある。
【００２９】
電力障害が生じたときに、持続点１６０を過ぎて揮発性記憶回路から持続性記憶回路まで自動的に転送されているデータに加えて、ＣＰＵ１１０は、キャッシュ１２０に記憶されたデータのサブセットを持続性記憶回路１５０に能動的にプッシュすることもまた可能である。この技術を、図４を参照してより詳細に説明する。
【００３０】
図２は、いくつかの実施形態による装置１００を示している。この装置は、この装置
がレベル１キャッシュ１２０、レベル２キャッシュ１３０，レベル３キャッシュ１４０、
及びストレージクラスメモリ（ＳＣＭ）１５０の形態の記憶回路を含むメモリ階層１９５を含むことを除いて、図１を参照して示される装置と同様である。レベル１キャッシュ１２０などのメモリ階層１９５の上部に向けたそれらの回路は、ＳＣＭ１５０などの階層１９５の底部におけるそれらの記憶回路よりも小さくかつより速い。
【００３１】
レベル１キャッシュ１２０、レベル２キャッシュ１３０、及びレベル３キャッシュ１
４０は、「揮発性」媒体から構成されており、その結果、記憶されている任意のデータは、それらが電力を供給されなくなると失われ得る。レベル２キャッシュ１３０及びレベル
３キャッシュ１４０には、バックアップバッテリ１７０、１７５が設けられている。電力が失われた場合、これらのキャッシュ１３０、１４０は、記憶されたデータをＳＣＭ１５０に転送するように設計されている。このようにして、たとえレベル２キャッシュ１３０
及びレベル３キャッシュ１４０が揮発性記憶装置であっても、電力障害の場合に記憶されたデータを保持するための約束又は保証を提供することによって、持続性な方法で機能することが可能であり得る。したがって、これら２つのキャッシュは、持続点１６０の後ろに存在する。（持続点１６０の前にある）レベル１キャッシュ１２０は、そのようなメカ
ニズムを提供しない。この階層１９５内で、レベル３キャッシュ１４０は、ラストレベル
キャッシュ（ＬＬＣ）として記述される。ＬＬＣは、階層１９５で生じる最後のキャッシュである。
【００３２】
図２は、メモリ階層１９５に関して説明されている本技術を例示しているが、データ書き込みがバッファされる他のロケーションにも適用可能であることに留意されたい。例
えば、レベル３キャッシュ１４０とＳＣＭ１５０との間に位置し得る相互接続及びメモリ
コントローラに適用可能である。
【００３３】
図３は、ＳＣＭ１５０の挙動を示している。特に、図３は、ＳＣＭ１５０がどのようにバイトアドレス指定可能記憶装置として使用され得るかを示している。バイトアドレス
指定可能記憶装置により、ＣＰＵ１１０などのプロセッサが、記憶回路１５０内の特定の

10

20

30

40

50

(9)

JP 2022-511405 A 2022.1.31

バイトに書き込み又は記憶する命令を実行することが可能である。さらに、揮発性記憶装置から持続性記憶装置にデータをコピーする転送回路、又はＳＣＭ１５０は、記憶回路内の特定のバイトにアクセスするための書き込みを発行することができる。この書き込みは、記憶回路１５０によって直接解釈される。換言すれば、ＣＰＵ１１０からの書き込みを解釈するために、及びそのデバイスドライバによってその記憶回路に発行される更なる信号のために、デバイスドライバが提供される必要はない。この１つの結果は、データが必
ずしもブロックベースでブロックにアクセスされる必要はないことである。特に、バイト
アドレス指定可能でない記憶回路は、多数のバイトが同時にアクセスされなければならないようにブロック配向される傾向がある。デバイスドライバはしたがって、多くの場合、記憶回路とＣＰＵとの間のバッファ又は仲介として機能し、必要なブロックを引き寄せ、
ブロック上のアクセスを実行して所望のバイトに影響を及ぼし、次いでブロックを記憶装置に戻す。しかしながら、バッファからのそのようなローディング及び保存は、記憶回路とＣＰＵとの間の変換を必要とするため、時間がかかり得る。その結果、ブロックベース
記憶装置は、バイトアドレス指定可能記憶装置よりも遅くなる傾向がある。当然のことながら、これは、バイトのグループで同時に動作する任意の記憶回路が、「ブロックベース
記憶装置」と言えるわけではない。その代わりに、差別化要因は、デバイスドライバの存在と見なすことができる。
【００３４】
図３の実施例では、バイト０ｘ０１０１への読み出し命令の形態でＣＰＵ１１０によって発行される読み出し命令は、記憶回路１５０にバイト０ｘ０１０１に記憶されているデータに応答させることが示されている。この実施例では、データは、デバイスドライバを必要とせずにＣＰＵ１１０に戻される１００１００１１である。
【００３５】
図４は、いくつかの実施形態による装置３００を示している。装置３００は、揮発性
記憶回路１３０及び持続性記憶回路１５０と共に、命令ストリームを実行するＣＰＵ１１０を更に含む。回路３００は、持続点１６０を更に含む。しかしながら、この実施例では、持続点は、ＣＰＵ１１０のすぐ下に設定される。物理的観点から揮発性媒体から構成される揮発性記憶回路１３０は、持続点１６０を下回り、バックアップバッテリ１７５によって支持されている。この実施例では、バックアップバッテリ１７５が使用されるが、いくつかの状況では、障害中の主電源１９０のキャパシタンスは、揮発性記憶回路１３０から持続性記憶回路１５０に必要なデータを転送するために十分であり得ることを理解されたい。そのような場合、バックアップバッテリ１７５は必要とされなくてもよい。深い持続点１７０は、持続性記憶回路１５０の境界にあるように設定されている。
【００３６】
この実施例では、転送回路３２０は、電源１９０が故障した場合及び故障したときに、揮発性記憶回路から持続性記憶回路１５０に関連データを転送する責任を負う。加えて、この実施例では、持続性記憶回路１５０は相互接続回路３３０を介してアクセスされる。したがって、持続性記憶回路１５０は、ＣＰＵ１１０を含む多数の異なるＣＰＵにアクセス可能な記憶回路であり得る。加えて、ＣＰＵ１１０は、トランスレーションルックア
サイドバッファ（ＴＬＢ）３１０を含む。ＴＬＢ３１０は、仮想メモリアドレスを物理メ
モリアドレスに変換する責任を負う。ＴＬＢ３１０は、変換を実行するために、又はそのような変換の結果を記憶するために、ページウォーキング回路と組み合わせて機能し得る。
【００３７】
この実施例では、ＣＰＵ１１０は、揮発性記憶回路１３０から転送されるデータのサブセットを示す記述子を構築することができる。記述子は、仮想マシン識別子（ＶＭＩＤ）、アプリケーション空間識別子（ＡＳＩＤ）、使用モード、及びアドレスなどの１つ以上の識別子を示すことができる。次いで、ＣＰＵは、記述子を使用して転送回路３２０を管理し、それによって一致しているデータを転送する、オフロード回路３４０を呼び出す。記述子内の１つ以上の識別子と一致する、揮発性記憶回路１３０内に記憶されているデ

10

20

30

40

50

(10)

JP 2022-511405 A 2022.1.31

ータのサブセットは次いで、持続性記憶回路１５０に転送される。この実施形態では、転送回路３２０を管理するオフロード回路３４０への転送を完了するタスクをオフロードすることによって、転送プロセスがＣＰＵ１１０と非同期的に発生する。したがって、ＣＰ
Ｕ１１０は、転送が行われる間、命令を実行し続けることができる。次いで、揮発性記憶
回路１３０に記憶されているデータのサブセットは、主電源１９０からの電力損失がないにもかかわらず、深い持続点１７０にプッシュされる。そのような動作は、データのサブセットをより良好に保護するためにとられ得る。その結果、例えば、バックアップ電源が問題を解決できない複数の電力障害又はハードウェアエラーの結果として、このデータが破損又は失われる可能性がより低くなる。揮発性記憶回路１３０に記憶されたデータのサブセットは識別子を介して指定されているため、揮発性記憶回路１３０内の全てのデータが、深い持続点１７０にプッシュされる必要はない。したがって、これにより、揮発性記
憶回路１３０に記憶されたデータの全てが転送回路３２０によって持続性記憶回路１５０に転送される状況とは対照的に、帯域幅消費を低減することができる。
【００３８】
転送されるデータのサブセットを示す記述子は、データのサブセットのルックアップ
又は検索が持続点１６０の後ろに存在する揮発性記憶装置のみに制約され得るかどうかを通信するオプションを追加的に有し得る。このオプションは、データのサブセットが持続
点１６０に既に以前にプッシュされており、したがって最終的に（電力障害時に）持続性となったことが保証又は約束されたことが既知の場合に使用することができる。
【００３９】
いくつかの実施形態では、転送はコピーの形態をとる。結果として、データは、その現在の形態で保存されているが、更に揮発性記憶回路１３０内に記憶し続けることによって、迅速にアクセスし続けることができる。これにより、待ち時間を低減するためのステップを更に取りながら、データのコピーを保存する。しかしながら、揮発性記憶回路１３
０内にのみ記憶されているデータに対する将来の修正により、持続性記憶回路１５０にプッシュされたデータと比較して、損失のリスクが増大する。
【００４０】
これらの実施例では、持続点１６０及び深い持続点１７０は、特定の記憶回路の境界に設定されることに留意されたい。しかしながら、他の実施形態では、持続点１６０は、記憶回路の一部をカバーするように設定され得る。例えば、揮発性記憶回路１３０の一部
のみが、バックアップバッテリ１７５によってバックアップされ得る。
【００４１】
図５Ａは、ＴＬＢの一例を示している。図５Ａでは、テーブルの各行は、仮想アドレ
ス、仮想アドレスが変換される物理アドレス、メモリロケーションが持続性な方法で使用されることを意図しているかどうかを示すタイプ（又は、他の実施形態では、メモリが持続性であるべきロケーション）、仮想アドレスに関連付けられた仮想マシン識別子、及び仮想アドレスに関連付けられたアプリケーション空間識別子、を含む。検討されるように、「クリーン」命令又はオフロードコマンドで提供される識別子により、持続性記憶回路
１５０に転送される、要求された識別子と一致するそれらのＰＴＥ属性を有するメモリの領域に関連付けられた揮発性記憶装置内に、データが生成される。クリーン命令でＣＰＵ
１１０によって提供される識別子は、仮想アドレス又は物理アドレスに関連し得ることを理解されたい。
【００４２】
図５Ｂは、デバイス間の要求をルーティングするために使用される、相互接続ルーテ
ィング回路３３０のテーブルに使用され得るテーブルを示している。そのようなテーブル
は、その要求のアドレスに基づいて、要求が発行されることになる特定のデバイスを示すために使用される。したがって、テーブルの列には、アドレス列、ハードウェアの一部を識別するハードウェアＩＤ列、及び前述のタイプ列が含まれる。
【００４３】
これらの実施例では、メモリの特定のバイトに対して個々のエントリが提供される。

10

20

30

40

50

(11)

JP 2022-511405 A 2022.1.31

しかしながら、テーブルのエントリは、あるいは、特定のアドレス／バイト範囲（仮想又は物理のいずれか）を識別することができる。
【００４４】
図６は、いくつかの実施形態による、クリーンプロセスがどのように実行されるかを示すフローチャート５００を示している。プロセスは、ＣＰＵが命令ストリームを実行するステップ５１０において開始する。これらの命令の実行中のある時点において、ステッ
プ５２０でのＣＰＵ１１０は、クリーン信号／コマンド／記述子をオフロード回路３４０に発行する。この実施例では、記述子は、特定のＶＭＩＤを指定する。この時点において、２つの動作が同時に発生する。ステップ５３０において、ＣＰＵは、命令ストリーム内の命令を実行し続ける。その間、ステップ５４０において、オフロード回路３４０は、転送回路３２０によって、ステップ５２０で発行されたクリーン信号で指定されたＶＭＩＤと一致する揮発性記憶回路１３０内のエントリを、揮発性記憶回路１３０から持続性記憶
回路１５０へ（すなわち、深い持続点を過ぎて）転送させる。ステップ５５０において、転送が完了したかどうかが判定される。もしそうでない場合、ステップ５３０及び５４０は継続する。転送が完了した場合、ステップ５６０において、プロセスは、ＣＰＵ１１０
を中断して転送が行われることを示すことによって終了する。これにより、割り込みが発生するか、又は確認応答信号がＣＰＵ１１０に返送される結果となり得る。
【００４５】
したがって、転送回路３２０を使用してデータエントリが揮発性記憶回路から持続性
記憶回路１５０に転送されるのと同時にＣＰＵ１１０が命令を実行することができることが、前述の説明からである。したがって、ＣＰＵ１１０が動作を継続的に監督する必要はない。さらに、特定の識別子が提供され得るため、揮発性記憶回路１３０から持続性記憶
回路１５０に保存される多数のアドレスを個別に発行するために、ＣＰＵ１１０が、動作を監督するソフトウェアの使用により時間がかかり、ＣＰＵ１１０に他の命令を同時に実行させることができなくなる可能性があるソフトウェアを使用する必要はない。
【００４６】
図７は、例えば転送回路３２０によって実行され得る、いくつかの実施形態によるデータ処理の方法を示すフローチャート６００を示している。プロセスは、通知が受信されるステップ６１０において開始する。ステップ６２０において、一次電力障害が発生したかどうかが判定される。すなわち、通知が、一次電源が利用不可能になっているという通知であるかどうかが判定される。もしそうであれば、転送回路３２０は、持続性であるようにマークされた揮発性記憶回路１３０内にあるデータを持続性記憶回路１５０に転送させる。次いで、プロセスはステップ６１０に戻る。ステップ６２０において通知によって一次電力障害が示されていない場合、ステップ６４０において、データの転送に対する明示的な要求が行われているかどうかが判定される。もしそうであれば、ステップ６５０において、明示的な要求に示されるデータのサブセットが持続性記憶回路１５０で転送される。このプロセスは、ＣＰＵ１１０が転送される個々のアドレスのそれぞれ及び全てを指示することを必要とせずに行われてもよく、したがって図６を参照して説明されている他の命令を示すためにＣＰＵ１１０を解放する。転送を実行した後、プロセスはプロセス６
１０に戻る。ステップ６４０において明示的な要求が発行されない場合、受信されている通知のための適切なハンドラがステップ６６０において実行され、その後プロセスはステップ６１０に戻る。
【００４７】
したがって、上記の段落では、持続点１６０及び深い持続点１７０の両方がどのように動作することができるかを説明している。転送回路３２０は、一次電力障害に応じて、持続点１６０から深い持続点１７０までデータを転送させる。ＣＰＵ１１０はまた、機密又は非常に重要なデータを深い持続点にプッシュさせることができる。これにより、そのデータに対するより良好なセキュリティを提供し、その損失又は破損に対してより良好なセーフガードを提供する。深い持続点１７０にプッシュされるデータのサブセットのみを指定することによって、全てのデータが転送された場合に必要とされる帯域幅の使用を低

10

20

30

40

50

(12)

JP 2022-511405 A 2022.1.31

減することが可能である。
【００４８】
本 出 願 に お い て 、 「 〜 よ う に 構 成 さ れ る （ configured to） 」 と い う 用 語 は 、 装 置 の要素が、定義された動作を実行することができる構成を有することを意味するために使用される。このコンテキストにおいて、「構成」は、ハードウェア又はソフトウェアの相互接続の構成又は方法を意味する。例えば、装置は、定義された動作を提供する専用ハード
ウェアを有してもよく、又はプロセッサ若しくは他の処理デバイスは、機能を実行するよ
うにプログラムされてもよい。「構成されている」は、定義された動作を提供するために、装置要素を任意の方法で変更する必要を意味しない。
【００４９】
本発明の例示的な実施形態が添付の図面を参照して本明細書で詳細に説明されてきたが、本発明はそれらの正確な実施形態に限定されず、添付の特許請求の範囲によって定義される本発明の範囲及び精神から逸脱することなく、当業者によって様々な変更、追加、及び修正を行うことができることを理解されたい。例えば、従属請求項の特徴の様々な組
み合わせは、本発明の範囲から逸脱することなく、独立請求項の特徴によって作製され得
る。

【図１】

【図２】

10

(13)

【図３】

【図４】

【図５Ａ】

【図５Ｂ】

【図６】

【図７】

JP 2022-511405 A 2022.1.31

(14)【国際調査報告】

JP 2022-511405 A 2022.1.31

(15)JP 2022-511405 A 2022.1.31

(16)JP 2022-511405 A 2022.1.31

̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶
フロントページの続き(81)指定国・地域

AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,
SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,
BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,N
Z,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US,UZ,
VC,VN,ZA,ZM,ZW
Ｆターム(参考) 5B205 MM01

MM36

MM51 RR04

UU31

WW16