JP6788566B2 - コンピューティングシステム及びその動作方法 - Google Patents
コンピューティングシステム及びその動作方法 Download PDFInfo
- Publication number
- JP6788566B2 JP6788566B2 JP2017190020A JP2017190020A JP6788566B2 JP 6788566 B2 JP6788566 B2 JP 6788566B2 JP 2017190020 A JP2017190020 A JP 2017190020A JP 2017190020 A JP2017190020 A JP 2017190020A JP 6788566 B2 JP6788566 B2 JP 6788566B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- page
- central processing
- processing unit
- clean
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 51
- 230000006870 function Effects 0.000 claims description 42
- 230000006835 compression Effects 0.000 claims description 16
- 238000007906 compression Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 15
- 238000012937 correction Methods 0.000 claims description 14
- 230000002085 persistent effect Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 3
- 230000009977 dual effect Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 7
- 230000006386 memory function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- -1 regions Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
システムが拡張されることによって、このようなメモリ容量の要求が大きく増加している。
したがって、より大きい格納容量を提供するシステム及び方法が要求されるという問題がある。
前記第1メモリインターフェイスは、第2世代又はそれより高い世代の2倍速同期式ダイナミックランダムアクセスメモリインターフェイスであることが好ましい。
前記第2メモリインターフェイスは、第2世代又はそれより高い世代の2倍速同期式ダイナミックランダムアクセスメモリインターフェイスであることが好ましい。
前記第1メモリインターフェイスは、NVDIMM−Fインターフェイスであり、前記コンピューティングシステムはブロック装置として前記メモリシステムを動作するように構成されることが好ましい。
前記中央処理装置はメモリ管理回路を通じて前記メモリアダプター回路に接続されることが好ましい。
前記第1メモリは、ダイナミックランダムアクセスメモリであり、前記第2メモリインターフェイスは、第2世代又はそれより高い世代の2倍速同期式ダイナミックランダムアクセスメモリインターフェイスであることが好ましい。
前記メモリアダプター回路は、圧縮、重複除去、及びエラー訂正を遂行するよう構成された単一集積回路(single integrated circuit)であることが好ましい。
前記第2メモリは、第3メモリインターフェイスを通じて前記メモリ管理回路に接続され、前記第3メモリインターフェイスは、第2世代又はそれより高い世代の2倍速同期式ダイナミックランダムアクセスメモリインターフェイスであることが好ましい。
前記中央処理装置は、前記第2メモリに使用者メモリ空間を保持するよう構成され、前記中央処理装置は、前記使用者メモリ空間からダーティページを追い出す(evicting)時、前記ダーティページに対するフロントスワップ機能を呼び出すよう構成され、前記フロントスワップ機能は、前記ダーティページを格納するよう構成され、前記ダーティページを格納するための充分な空間が前記第1メモリで利用可能する時、前記ダーティページは前記第1メモリに格納され、前記ダーティページを格納するための充分な空間が前記第1メモリで利用可能でない時は、前記ダーティページは、持続性格納装置に格納されることが好ましい。
前記フロントスワップ機能は、推定増加比率に基づいて前記第1メモリで前記ダーティページを格納するための充分な空間が利用可能であるか否かを評価するよう構成されることが好ましい。
前記トータル使用可能なメモリに対する前記値は、前記第2メモリで使用可能なメモリの量と、最小増加比率と前記第1メモリで使用可能なメモリの量とを乗算した値と、を総和した値であり、前記最小増加比率は、システム開始の後に設定された時間間隔が経過した場合、前記設定された時間間隔にわたって前記第1メモリに格納されたデータに対する増加比率の関数であり、その他の場合、「2.0」であることが好ましい。
前記中央処理装置はさらに、推定増加比率に基づいて第1メモリ内に十分なスペースが利用可能かどうかを評価するように構成され、推定増加比率は、設定された時間間隔で第1メモリに格納されたデータの増加比率の関数であることを特徴とする。
前記メモリシステムをNVDIMM−Fプロトコルで動作することができるブロック装置として使用する段階をさらに有することが好ましい。
前記メモリアダプター回路は、圧縮、重複除去、及びエラー訂正を遂行するよう構成された単一集積回路であることが好ましい。
また、上記目的を達成するためになされた本発明によるコンピューティングシステムは、中央処理装置(central processing unit:CPU)と、第1メモリと、前記第1メモリの格納容量の増加を用いて前記第1メモリにデータを格納し、前記第1メモリからデータを回収するためのメモリアダプター手段と、を含むメモリシステムと、を有し、前記第1メモリの格納容量の増加は、増加比率に従って第1メモリの空きメモリを増やすように設定され、前記メモリアダプター手段は、以前の書き込み操作の圧縮及又は重複除去の少なくともいずれか一つに基づいて増大率を推定するようにさらに構成され、前記メモリアダプター手段は、前記中央処理装置に接続された第1メモリインターフェイスと、前記第1メモリに接続された第2メモリインターフェイスと、を含み、前記第1メモリインターフェイスは、NVDIMM−Fインターフェイスであり、前記コンピューティングシステムは、前記メモリシステムをブロック装置として動作するように構成され、前記コンピューティングシステムは、メモリ管理回路を介して前記中央処理装置に接続される第2メモリをさらに有し、前記中央処理装置は、前記第2メモリにページキャッシュを保持するように構成され、前記中央処理装置は、前記ページキャッシュからクリーンページを追い出す(evicting)時、前記クリーンページに対するクリーンキャッシュ機能を呼び出すよう構成され、前記クリーンキャッシュ機能は、前記クリーンページを格納するよう構成され、前記クリーンページを格納するための充分な空間が前記第1メモリで利用可能な場合、前記クリーンページは、前記第1メモリに格納され、それ以外の場合は、前記クリーンページは、持続性(persistent)格納装置に格納され、前記中央処理装置はさらに、推定増加比率に基づいて第1メモリ内に十分なスペースが利用可能かどうかを評価するように構成され、推定増加比率は、設定された時間間隔で第1メモリに格納されたデータの増加比率の関数であることを特徴とする。
詳細な説明は、例示的な実施形態と関連して本発明の特徴に対する説明である。
しかし、本発明の思想や範囲内に含まれる他の実施形態によって同一であるか、或いは同一の機能及び構造が遂行されることを理解されるべきである。本明細書で示す同じ構成の番号は同じ要素又は特徴を示す。
このようなシステムは、メモリシステムに完全に局部的なハードウェア技術に依存しながら、メモリ密度を劇的に増加させることができる。
メモリABCDEシステムのための課題は、2倍速同期式ダイナミックランダムアクセスメモリ(DDR:double data rate synchronous dynamic random−access memory)バスに対する統合と、このようなシステムが提供することができる可変メモリ密度に対する管理(例えば、アプリケーションデータ又は外部条件(例えば、エラーに影響を及ぶ外部条件)に応じて変化するメモリ密度)を含む。
本発明の実施形態において、システムは、シミュレーションされたシステムメモリ容量を提供して使用者空間アプリケーションが大容量のメモリを処理できるようにする。
本発明の実施形態において、オペレーティングシステム(OS:operating system)は、下部メモリの物理的構成及び容量を認識し、関連動作を遂行してアプリケーションからこのような細部事項をマスクする。
使用者空間下で、オペレーティングシステムのメモリ管理装置(MMU:memory management unit)(又は“メモリ管理回路”)は、リナックス(登録商標)カーネルに存在する超越メモリ(transcendent memory)機能を再使用してメモリABCDEシステムをDDRインターフェイス(例えば、第4世代DDR(DDR4)インターフェイス)に対する高速スワップブロック装置として示す。
メモリABCDEシステムは、ブロック装置として動作できるので、メモリABCDE“ドライブ”であると称する。
本発明の一実施形態において、メモリABCDEシステムを使用するコンピューティングシステムは、次の3つの構成を含み得る。
第1に、コンピューティングシステムは、フラッシュメモリ(NVDIMM−F)フォームファクタ及びインターフェイス(例えば、図2で、メモリABCDEシステム240とメモリ管理回路220との間のインターフェイス)を具備する不揮発性デュアルインラインメモリモジュール(NVDIMM)に基づいたメモリABCDEシステム240を含む。
フラッシュメモリ(NVDIMM−F)は、メモリABCDEシステムと共通の属性を有し、このような理由は、例えば両方とも可変格納密度を示すことができるためである。
このようなインフラは、メモリABCDEシステムにアクセスするためにオペレーティングシステムによって使用されるメモリABCDEドライバーであると称するドライバーを含む。
このようなアプリケーションは、64バイトキャッシュラインを具備する短いアクセスバーストのみをサポートするインターフェイス(例えば、DDRインターフェイス)を使用して長いアクセス待機時間を有するブロックアクセスを可能にすることができる。
このようなアプリケーションでは、アドレス空間はDDRコマンドバスが自身のピン制限(pin limits)内でロジックブロックアドレス(LBA)を伝送できないほど、十分に大きい場合がある。
したがって、フラッシュメモリ(NVDIMM−F)インターフェイスは、DRAMデータバスを用いてフラッシュモジュールに命令(アドレスを含む)を伝送することができる。
本発明の実施形態において、メモリABCDEシステムは、フラッシュ基盤システムより少ない容量を有するので、フラッシュメモリ(NVDIMM−F)プロトコルが命令とアドレスとのための命令及びアドレスバス(データバスの代わりに)を使用するように修正することができる。
このような実施形態で、アドレスは、命令及びアドレスバス上に(メモリABCDEドライバーによって)書き込まれ、したがってメモリ位置に直接アクセス(修正されないフラッシュメモリ(NVDIMM−F)プロトコルでのようにアドレス自体を小さいバッファに書き込む代わりに)する。
これを達成するために、メモリABCDEドライバーは、フラッシュキャッシュライン(例えば、CLFLUSH)CPU命令及びフラッシュオンデマンド(例えば、PCOMMIT)CPU命令を使用して命令がABCDEモジュールに到達するようにする。
追加的に、メモリABCDEシステムで効率的なメモリ−メモリダイレクトメモリアクセス(DMA)エンジンを、メインメモリとメモリABCDEシステムとの間でページを速やかに移動することができるように、メモリABCDEシステムのブロック基盤の内部ページからコンピューティングシステムのDDR4バスにデータを伝送するために採用することができる。
(i)メインメモリ230(DDRメモリ、例えば、DDR4メモリ又は他の実施形態で第2世代又はそれ以上の世代の2倍速同期式ダイナミックランダムアクセスメモリインターフェイス(例えば、DDR2、DDR3、DDR4、又はDDR5メモリ))と通信する。
メモリ管理回路220は、またメモリアダプター回路250及び中間メモリ260(その役割がメインメモリ230と持続性記憶装置(例えば、ソリッドステートドライブ(SSD))との中間役割をすることと看做されるので、“中間メモリ”と称される)を含むメモリABCDEシステム240に接続される。
メモリアダプター回路250は、メモリ管理回路220に接続された(例えば、DDRバスを通じて)第1メモリインターフェイス(例えば、DDR4インターフェイス)及び中間メモリ260に接続された第2メモリインターフェイスを含む。
第2メモリインターフェイスは、中間メモリ260が互換可能な任意の適合なインターフェイス(例えば、中間メモリ260がDDR4メモリであれば、DDR4インターフェイス)である。
メモリアダプター回路250は、先に説明したように、第1メモリインターフェイスで、フラッシュメモリ(NVDIMM−F)プロトコル、又は修正されたフラッシュメモリ(NVDIMM−F)プロトコル(後者はデータバスの代わりに制御及びアドレスバス上のアドレスを送信する)を実行する。
例えば、メモリアダプター回路250は、メモリ管理回路220から受信したデータを圧縮して中間メモリ260に格納し、メモリ管理回路220からの要請によって中間メモリ260から圧縮されたデータを取り出し、圧縮されたデータの圧縮を解除してメモリ管理回路220に伝送することができる。
同様に、メモリアダプター回路250は、中間メモリ260に格納されたデータから重複したデータを除去し(重複エントリが含まれたデータがメモリ管理回路220によって要請される時、重複エントリを復元する)、中間メモリ260にデータを格納する前にエラー訂正コードを通じてデータをエンコーディングし、中間メモリ260から回収する任意のデータに対してエラー訂正を遂行することができる。
中央処理装置210は、メインメモリ230及びメモリABCDEシステム240を含む複合メモリ310にアクセスする。
ブーティングの時(At boot−up)、基本入/出力システム(BIOS)の命令は、DDRバスのアドレス範囲をメモリABCDEシステムに登録し、アドレス範囲に対してアドレスインタリービングを非活性化し、ブロック装置に対応するアドレス範囲を指定する。
(i)データを圧縮及び圧縮解除する等の一部の動作が個別的なワードアクセスよりブロックアクセスにさらに適合であり、
(ii)中央処理装置210が同期式DDRメモリとしての動作に不適切に依存しないので、ブロック装置として登録される。
このような機能は、このような機能がリナックス(登録商標)カーネルに存在し、使用可能であれば、リナックス(登録商標)カーネルの超越(transcendent)メモリ機能であると称される。
超越メモリ機能は、カーネル動作をインターセプトして
(i)クリーンキャッシュページ、又は
(ii)ダーティ(dirty)使用者ページを追い出し(evicting)、メモリABCDEドライバー320のクリーンキャッシュ及びフロントスワップ機能を呼び出すことができる。
ダーティ使用者ページがカーネルによって追い出される時、超越メモリ機能は、追い出し動作をインターセプトし、追い出されるダーティ使用者ページをメモリABCDEシステム240にコピーすることができるフロントスワップ機能を呼び出す、これはページを持続性格納装置に書き込むことよりさらに速く遂行される動作である。
メモリABCDEドライバー320は、推定増加比率(estimated augmentation ratio)によって中間メモリ260の自由空間を増加させ、その結果を書き込み要請のデータ量と比較することによってこのような決定を行う。
推定増加比率は、例えば、推定された重複除去比率、即ち重複除去を使用した結果として、どのぐらい多くデータがさらに格納されるかに対する推定値である。
本発明の実施形態において、メモリABCDEドライバー320は、完了した書き込み動作に対する実際の増加比率に基づくか、時間に応じてゆっくりと変化する推定増加比率を算出するように構成され、実際の増加比率(例えば、少ない量のデータに関連された書き込み動作に対する)の大きな変動が推定増加比率の大きな変動をもたらさない。
最終使用者(エンドユーザー)及びアプリケーションフレームワークは、他のページングされていない(non−paged)メモリシステムが(例えば、持続的格納装置内に)二次的な格納装置に存在し、長いアクセス待ち時間を有する可能性があるため、ページングされていないメモリの使用を避けるように特別に設計することができる。
1つの可能な解法は、開発者がアプリケーションライブラリ及びミドルウェアフレームワークを再作成することであるが、これは多い既存のフレームワークに対する修正を伴う重大な課題を引き起こす。
したがって、本発明の実施形態において、カーネルは、メモリABCDEシステム240がシステム情報関数に対する呼び出しのようなシステム呼び出しに応答するためにメインメモリをシミュレーションするように修正され得る。
図4を参照すると、本発明の一実施形態において、アプリケーション又はミドルウェア410がシステム関数(sysinfo())を呼び出す時、リターンされる構造420は
(i)メインメモリ230のサイズ及び中間メモリ260のサイズに基づいたトータル可用メモリ(total available memory)(例えば、図4でトラム(tram))に対する値、及び
(ii)メインメモリ230の使用可能なメモリ(free memory)の量及び中間メモリ260の使用可能なメモリ(free memory)の量に基づいた全体使用可能なメモリ(total free memory)に対する値を含むことができる。
本発明の実施形態において、リターンされた全体使用可能なメモリ(total free memory)に対する値は
(i)メインメモリ230で使用可能なメモリの量と
(ii)(1)推定増加比率及び(2)中間メモリ260で使用可能なメモリの量を乗算した値の総和と同一である。
有意義な推定の基礎になるデータが利用可能である時、推定増加比率は、例えば、一定期間の間に完了された書き込み動作に対する最小実際増加比率を使用して計算することができる。
このようなシステム機能は、呼び出されると、仮想アドレスをメインメモリから開始して、2次的な格納装置にスワップしないように特定のサイズのメモリを固定又はロックするよう設計することができる。
本発明の実施形態において、動作時、このようなメモリの一部はメインメモリ230に存在し、他の部分はメモリABCDEシステム240に存在することができる。
使用者空間要請を履行するために、メモリABCDEドライバーは、メモリABCDEシステム内の現在ページがそこに固定されたままであることを確実にさせ、それらを2次的な格納装置(例えば持続性格納装置)にスワッピングすることを遅延させるよう構成することができる。
このシステムは、圧縮、重複除去、及び/又はエラー訂正を使用してメモリ増加を遂行するためのメモリアダプター回路を含む。
メモリアダプター回路はメモリに接続され、メモリ増加方法を採用してメモリの有効格納容量を増加させる。
これらの用語は、ただ1つの要素、構成、領域、層、又はセクションを他の要素、構成、領域、層、又はセクションと区別するために使用する。したがって、第1要素、成分、領域、層、又はセクションは本発明の思想及び範囲を逸脱しなく、第2要素、成分、領域、層、又はセクションとして説明することができる。
本明細書で使用する用語は特定の実施形態を説明するためのことであり、本発明の思想を制限するものではない。
本明細書で使用された用語“実質的に”、“約”、及び類似する用語は類似する用語として使用し、程度(等級)の用語として使用せず、これらによって認識される測定又は計算された値の固有な偏差を説明するためのものである。
本明細書で使用する用語“含んでいる”及び/又は“含む”は説明された特徴、整数、段階、動作、要素、及び/又は構成が存在することを示すが、このような存在を排除することはなく、また1つ以上の他の特徴、整数、段階、動作、要素、構成、及び/又はグループの追加を含むことと理解されるべきである。
本明細書で使用した用語“及び/又は”は1つ以上の関連されて列挙された項目の任意及びすべての組み合わせを含む。
“少なくとも1つ”のような表現は要素の目録の先で要素の全体目録を修正し、要素の個別要素を修正しない。
さらに、本発明の実施形態を説明する時に使用された“することができる”という用語は本発明の1つ以上の実施形態を意味する。また、“例示的な”という用語は例又は説明を意味する。本明細書で使用された用語“使用する”、“使用”、及び“使用された”は各々“活用する”、“活用する”、及び“活用された”と同意語として考慮されることができる。
中間に介在される構成が第2構成に連結された第1構成の間に存在する時、第1構成は中間に介在される構成を通じて第2構成に連結されることと看做される。
したがって、本発明の思想にしたがって構成されたコンピューティングシステム及びその動作方法が本明細書で具体的に説明したもの以外の他のことと具現することができることが理解されるべきである。
本発明は、特許請求の範囲によって定義される。
220 メモリ管理回路(MMU)
230 メインメモリ
240 メモリABCDEシステム
250 メモリアダプター回路
260 中間メモリ
310 複合メモリ
320 メモリABCDEドライバー
410 アプリケーション又はミドルウェア
420 リターンされる構造
Claims (19)
- コンピューティングシステムであって、
中央処理装置(central processing unit:CPU)と、
メモリアダプター回路及び第1メモリを含むメモリシステムと、
メモリ管理回路を介して前記中央処理装置に接続される第2メモリと、を有し、
前記メモリアダプター回路は、前記中央処理装置に接続された第1メモリインターフェイスと、前記第1メモリに接続された第2メモリインターフェイスと、を含み、
前記第1メモリインターフェイスは、2倍速同期式(double data rate synchronous)ダイナミックランダムアクセスメモリインターフェイスであり、
前記メモリアダプター回路は、前記第1メモリの格納容量の増加を用いて前記第1メモリにデータを格納し、前記第1メモリからデータを回収するよう構成され、
前記第1メモリの格納容量の増加は、増加比率に従って第1メモリの空きメモリを増やすように設定され、
前記メモリアダプター回路は、以前の書き込み操作の圧縮及又は重複除去の少なくともいずれか一つに基づいて増大率を推定するようにさらに構成され、
前記中央処理装置は、前記第2メモリにページキャッシュを保持するように構成され、
前記中央処理装置は、前記ページキャッシュからクリーンページを追い出す(evicting)時、前記クリーンページに対するクリーンキャッシュ機能を呼び出すよう構成され、前記クリーンキャッシュ機能は、前記クリーンページを格納するよう構成され、前記クリーンページを格納するための充分な空間が前記第1メモリで利用可能な場合、前記クリーンページは、前記第1メモリに格納され、それ以外の場合は、前記クリーンページは、持続性(persistent)格納装置に格納され、
前記中央処理装置はさらに、推定増加比率に基づいて第1メモリ内に十分なスペースが利用可能かどうかを評価するように構成され、
推定増加比率は、設定された時間間隔で第1メモリに格納されたデータの増加比率の関数であることを特徴とするコンピューティングシステム。 - 前記第1メモリの格納容量の増加は、圧縮、重複除去、及びエラー訂正の中の少なくとも1つを含むことを特徴とする請求項1に記載のコンピューティングシステム。
- 前記第1メモリインターフェイスは、第2世代又はそれより高い世代の2倍速同期式ダイナミックランダムアクセスメモリインターフェイスであることを特徴とする請求項1に記載のコンピューティングシステム。
- 前記第2メモリインターフェイスは、第2世代又はそれより高い世代の2倍速同期式ダイナミックランダムアクセスメモリインターフェイスであることを特徴とする請求項1に記載のコンピューティングシステム。
- 前記第1メモリインターフェイスは、NVDIMM−F(non−volatile dual in−line memory module with flash memory)インターフェイスであり、
前記コンピューティングシステムは、ブロック装置として前記メモリシステムを動作するように構成されることを特徴とする請求項3に記載のコンピューティングシステム。 - 前記中央処理装置は、メモリ管理回路を通じて前記メモリアダプター回路に接続されることを特徴とする請求項1に記載のコンピューティングシステム。
- 前記第1メモリは、ダイナミックランダムアクセスメモリであり、前記第2メモリインターフェイスは、第2世代又はそれより高い世代の2倍速同期式ダイナミックランダムアクセスメモリインターフェイスであることを特徴とする請求項1に記載のコンピューティングシステム。
- 前記メモリアダプター回路は、圧縮、重複除去、及びエラー訂正を遂行するよう構成された単一集積回路(single integrated circuit)であることを特徴とする請求項1に記載のコンピューティングシステム。
- 前記第2メモリは、第3メモリインターフェイスを通じて前記メモリ管理回路に接続され、前記第3メモリインターフェイスは、第2世代又はそれより高い世代の2倍速同期式ダイナミックランダムアクセスメモリインターフェイスであることを特徴とする請求項1に記載のコンピューティングシステム。
- 前記クリーンキャッシュ機能は、前記推定増加比率に基づいて前記第1メモリに充分な空間が利用可能であるか否かを評価するよう構成されることを特徴とする請求項1に記載のコンピューティングシステム。
- 前記中央処理装置は、前記第2メモリに使用者メモリ空間を保持するよう構成され、
前記中央処理装置は、前記使用者メモリ空間からダーティページを追い出す(evicting)時、前記ダーティページに対するフロントスワップ機能を呼び出すよう構成され、前記フロントスワップ機能は、前記ダーティページを格納するよう構成され、
前記ダーティページを格納するための充分な空間が前記第1メモリで利用可能な時、前記ダーティページは、前記第1メモリに格納され、前記ダーティページを格納するための充分な空間が前記第1メモリで利用可能でない時は、前記ダーティページは、持続性格納装置に格納されることを特徴とする請求項1に記載のコンピューティングシステム。 - 前記フロントスワップ機能は、推定増加比率に基づいて前記第1メモリで前記ダーティページを格納するための充分な空間が利用可能であるか否かを評価するよう構成されることを特徴とする請求項11に記載のコンピューティングシステム。
- 前記中央処理装置は、1つ以上のアプリケーションを実行し、
システム情報関数に対する1つ以上のアプリケーションに応答して、前記第1メモリのサイズ及び前記第2メモリのサイズに基づいたトータル有効(total available)メモリに対する値、及び前記第1メモリで使用可能なメモリの量(the amount of free memory)及び前記第2メモリで使用可能なメモリの量に基づいたトータル使用可能な(total free)メモリに対する値を返す(return)よう構成されることを特徴とする請求項1に記載のコンピューティングシステム。 - 前記トータル使用可能なメモリに対する前記値は、前記第2メモリで使用可能なメモリの量と、最小増加比率と前記第1メモリで使用可能なメモリの量とを乗算した値と、を総和した値であり、
前記最小増加比率は、システム開始の後に設定された時間間隔が経過した場合、前記設定された時間間隔にわたって前記第1メモリに格納されたデータに対する増加比率の関数であり、その他の場合、「2.0」であることを特徴とする請求項13に記載のコンピューティングシステム。 - 中央処理装置と、メモリアダプター回路及び第1メモリを含むメモリシステムと、メモリ管理回路を介して前記中央処理装置に接続される第2メモリと、を有し、前記メモリアダプター回路は、前記中央処理装置に接続された第1メモリインターフェイスと前記第1メモリに接続された第2メモリインターフェイスとを含み、前記第1メモリインターフェイスは、2倍速同期式ダイナミックランダムアクセスメモリインターフェイスであるコンピュータシステムの動作方法であって、
前記第1メモリの格納容量の増加を用いて前記第1メモリにデータを格納し、前記第1メモリからデータを回収する段階を有し、
前記メモリアダプター回路は、以前の書き込み操作の圧縮及又は重複除去の少なくともいずれか一つに基づいて増大率を推定するようにさらに構成され、
前記中央処理装置は、前記第2メモリにページキャッシュを保持するように構成され、
前記中央処理装置は、前記ページキャッシュからクリーンページを追い出す(evicting)時、前記クリーンページに対するクリーンキャッシュ機能を呼び出すよう構成され、前記クリーンキャッシュ機能は、前記クリーンページを格納するよう構成され、前記クリーンページを格納するための充分な空間が前記第1メモリで利用可能な場合、前記クリーンページは、前記第1メモリに格納され、それ以外の場合は、前記クリーンページは、持続性(persistent)格納装置に格納され、
前記中央処理装置はさらに、推定増加比率に基づいて第1メモリ内に十分なスペースが利用可能かどうかを評価するように構成され、
推定増加比率は、設定された時間間隔で第1メモリに格納されたデータの増加比率の関数であることを特徴とするコンピュータシステムの動作方法。 - 前記第1メモリの格納容量の増加は、圧縮、重複除去、及びエラー訂正の中の少なくとも1つを含むことを特徴とする請求項15に記載のコンピュータシステムの動作方法。
- 前記メモリシステムをNVDIMM−Fプロトコルで動作することができるブロック装置として使用する段階をさらに有することを特徴とする請求項15に記載のコンピュータシステムの動作方法。
- 前記メモリアダプター回路は、圧縮、重複除去、及びエラー訂正を遂行するよう構成された単一集積回路であることを特徴とする請求項15に記載のコンピュータシステムの動作方法。
- コンピューティングシステムであって、
中央処理装置(central processing unit:CPU)と、
第1メモリと、前記第1メモリの格納容量の増加を用いて前記第1メモリにデータを格納し、前記第1メモリからデータを回収するためのメモリアダプター手段と、を含むメモリシステムと、を有し、
前記第1メモリの格納容量の増加は、増加比率に従って第1メモリの空きメモリを増やすように設定され、
前記メモリアダプター手段は、以前の書き込み操作の圧縮及又は重複除去の少なくともいずれか一つに基づいて増大率を推定するようにさらに構成され、
前記メモリアダプター手段は、前記中央処理装置に接続された第1メモリインターフェイスと、前記第1メモリに接続された第2メモリインターフェイスと、を含み、
前記第1メモリインターフェイスは、NVDIMM−Fインターフェイスであり、
前記コンピューティングシステムは、前記メモリシステムをブロック装置として動作するように構成され、
前記コンピューティングシステムは、メモリ管理回路を介して前記中央処理装置に接続される第2メモリをさらに有し、
前記中央処理装置は、前記第2メモリにページキャッシュを保持するように構成され、
前記中央処理装置は、前記ページキャッシュからクリーンページを追い出す(evicting)時、前記クリーンページに対するクリーンキャッシュ機能を呼び出すよう構成され、前記クリーンキャッシュ機能は、前記クリーンページを格納するよう構成され、前記クリーンページを格納するための充分な空間が前記第1メモリで利用可能な場合、前記クリーンページは、前記第1メモリに格納され、それ以外の場合は、前記クリーンページは、持続性(persistent)格納装置に格納され、
前記中央処理装置はさらに、推定増加比率に基づいて第1メモリ内に十分なスペースが利用可能かどうかを評価するように構成され、
推定増加比率は、設定された時間間隔で第1メモリに格納されたデータの増加比率の関数であることを特徴とするコンピューティングシステム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/282,848 | 2016-09-30 | ||
US15/282,848 US10372606B2 (en) | 2016-07-29 | 2016-09-30 | System and method for integrating overprovisioned memory devices |
US201762489997P | 2017-04-25 | 2017-04-25 | |
US62/489,997 | 2017-04-25 | ||
US15/663,619 US10515006B2 (en) | 2016-07-29 | 2017-07-28 | Pseudo main memory system |
US15/663,619 | 2017-07-28 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018060538A JP2018060538A (ja) | 2018-04-12 |
JP2018060538A5 JP2018060538A5 (ja) | 2020-11-12 |
JP6788566B2 true JP6788566B2 (ja) | 2020-11-25 |
Family
ID=61781195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017190020A Active JP6788566B2 (ja) | 2016-09-30 | 2017-09-29 | コンピューティングシステム及びその動作方法 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6788566B2 (ja) |
KR (1) | KR102266477B1 (ja) |
CN (2) | CN107885676B (ja) |
TW (1) | TWI710903B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11074007B2 (en) * | 2018-08-08 | 2021-07-27 | Micron Technology, Inc. | Optimize information requests to a memory system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5668957A (en) * | 1995-11-02 | 1997-09-16 | International Business Machines Corporation | Method and apparatus for providing virtual DMA capability on an adapter connected to a computer system bus with no DMA support |
JP2004139503A (ja) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | 記憶装置及びその制御方法 |
US8001294B2 (en) * | 2004-09-28 | 2011-08-16 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a compressed network in a multi-processing system |
JP4700562B2 (ja) * | 2006-05-18 | 2011-06-15 | 株式会社バッファロー | データ記憶装置およびデータ記憶方法 |
CN100524244C (zh) * | 2006-12-14 | 2009-08-05 | 英业达股份有限公司 | 网络存储系统的存储空间不足预警方法 |
US20100161909A1 (en) * | 2008-12-18 | 2010-06-24 | Lsi Corporation | Systems and Methods for Quota Management in a Memory Appliance |
KR20100133710A (ko) * | 2009-06-12 | 2010-12-22 | 삼성전자주식회사 | 메모리 시스템 및 그것의 코드 데이터 로딩 방법 |
JP2011128792A (ja) * | 2009-12-16 | 2011-06-30 | Toshiba Corp | メモリ管理装置 |
US8966477B2 (en) * | 2011-04-18 | 2015-02-24 | Intel Corporation | Combined virtual graphics device |
US9507639B2 (en) * | 2012-05-06 | 2016-11-29 | Sandisk Technologies Llc | Parallel computation with multiple storage devices |
KR20140030383A (ko) * | 2012-08-27 | 2014-03-12 | 삼성전자주식회사 | 컴퓨팅 장치 및 컴퓨팅 장치의 동작 방법 |
US20150242432A1 (en) * | 2014-02-21 | 2015-08-27 | Microsoft Corporation | Modified Memory Compression |
-
2017
- 2017-09-04 TW TW106130111A patent/TWI710903B/zh active
- 2017-09-28 KR KR1020170126199A patent/KR102266477B1/ko active IP Right Grant
- 2017-09-29 JP JP2017190020A patent/JP6788566B2/ja active Active
- 2017-09-30 CN CN201710913938.6A patent/CN107885676B/zh active Active
- 2017-09-30 CN CN202310609420.9A patent/CN116594931B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107885676B (zh) | 2023-06-13 |
KR20180036591A (ko) | 2018-04-09 |
TW201823994A (zh) | 2018-07-01 |
TWI710903B (zh) | 2020-11-21 |
CN116594931A (zh) | 2023-08-15 |
JP2018060538A (ja) | 2018-04-12 |
KR102266477B1 (ko) | 2021-06-18 |
CN107885676A (zh) | 2018-04-06 |
CN116594931B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10956323B2 (en) | NVDIMM emulation using a host memory buffer | |
US11030088B2 (en) | Pseudo main memory system | |
US7620784B2 (en) | High speed nonvolatile memory device using parallel writing among a plurality of interfaces | |
US9244839B2 (en) | Methods and apparatus for supporting persistent memory | |
Jung et al. | nvramdisk: A transactional block device driver for non-volatile ram | |
US20130111103A1 (en) | High-speed synchronous writes to persistent storage | |
US11055220B2 (en) | Hybrid memory systems with cache management | |
KR20180013693A (ko) | 초과 공급 메모리 장치들을 통합하기 위한 시스템 및 방법 | |
JP2022516000A (ja) | キャッシュメモリの階層内のキャッシュメモリに記憶するデータの圧縮 | |
US9547460B2 (en) | Method and system for improving cache performance of a redundant disk array controller | |
CN112992207A (zh) | 用于减少未对齐的写入操作的写入放大的缓冲器 | |
JP2021149374A (ja) | データ処理装置 | |
US11526441B2 (en) | Hybrid memory systems with cache management | |
JP6788566B2 (ja) | コンピューティングシステム及びその動作方法 | |
WO2019041903A1 (zh) | 一种基于非易失存储的计算装置及其使用方法 | |
KR101888781B1 (ko) | 비휘발성 메모리를 이용하는 영속적 dram 스토리지 및 그 작동 방법 | |
JP4792065B2 (ja) | データ記憶方法 | |
JP2014182812A (ja) | データ記憶装置 | |
US11966339B1 (en) | Selecting between basic and global persistent flush modes | |
US20170123693A1 (en) | Relocatable and Resizable Tables in a Computing Device | |
US11809341B2 (en) | System, device and method for indirect addressing | |
US11436151B2 (en) | Semi-sequential drive I/O performance | |
KR101881039B1 (ko) | 비휘발성 메모리에 저장된 메모리 매핑 파일의 비동기식 원자적 업데이트 방법 및 제어 장치 | |
KR20220138324A (ko) | 지속성 지원 방법 및 컴퓨팅 장치 | |
CN117806560A (zh) | 内存语义固态盘及数据存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200928 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200928 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200928 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20201002 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20201013 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201030 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6788566 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |