JP5712451B2 - メモリ移行を実施するための方法およびデバイス - Google Patents
メモリ移行を実施するための方法およびデバイス Download PDFInfo
- Publication number
- JP5712451B2 JP5712451B2 JP2014501397A JP2014501397A JP5712451B2 JP 5712451 B2 JP5712451 B2 JP 5712451B2 JP 2014501397 A JP2014501397 A JP 2014501397A JP 2014501397 A JP2014501397 A JP 2014501397A JP 5712451 B2 JP5712451 B2 JP 5712451B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- physical address
- operating system
- migrated
- mapping relationship
- 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
- 230000015654 memory Effects 0.000 title claims description 1089
- 238000013508 migration Methods 0.000 title claims description 232
- 230000005012 migration Effects 0.000 title claims description 232
- 238000000034 method Methods 0.000 title claims description 162
- 238000013507 mapping Methods 0.000 claims description 220
- 230000008569 process Effects 0.000 claims description 91
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000004913 activation Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/254—Distributed memory
- G06F2212/2542—Non-uniform memory access [NUMA] architecture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
移行が行われるべきメモリの移行が行われる際、コンピュータの基本入出力システムによって、移行が行われるべきメモリの中のデータをコンピュータのオペレーティングシステムの第1の使用不能なメモリに移行させるように構成された第1の移行モジュールであって、第1の使用不能なメモリは、オペレーティングシステムのために確保されたメモリセットであるオペレーティングシステムの元の使用可能なメモリから前もって変換されており、さらにオペレーティングシステムによって変更不能であるとともに、オペレーティングシステムがアクセスできない、第1の移行モジュールと、
基本入出力システムによって、移行が行われるべきメモリの物理アドレスと第1の使用不能なメモリの物理アドレスの間のマッピング関係を格納するように構成された格納モジュールと
を備える。
1501 第1の移行モジュール
1502 格納モジュール
1503 第2の移行モジュール
1504 制御モジュール
1505 アクセスモジュール
1506 メモリ判定モジュール
1507 アドレス獲得モジュール
1508 アドレス検査モジュール
1509 第3の物理アドレス獲得モジュール
1510 第3の移行モジュール
1511 マッピング関係削除モジュール
15011 第1のメモリ獲得サブモジュール
15012 移行サブモジュール
15021 メモリページ整列サブモジュール
15022 格納サブモジュール
15031 第2のメモリ獲得サブモジュール
15032 スリープ動作サブモジュール
15033 メモリ割り当てサブモジュール
15034 メモリコピーサブモジュール
15035 ページテーブルエントリ削除サブモジュール
15036 ページテーブルエントリ更新サブモジュール
15037 起動サブモジュール
15051 オフセット獲得サブモジュール
15052 第2の物理アドレス獲得サブモジュール
15053 アクセスサブモジュール
Claims (22)
- メモリ移行を実施するための方法であって、
移行が行われるべきメモリの移行が行われる際、コンピュータの基本入出力システムによる、移行が行われるべき前記メモリの中のデータを前記コンピュータのオペレーティングシステムの第1の使用不能なメモリに移行させるステップであって、前記第1の使用不能なメモリは、前記オペレーティングシステムのために確保されたメモリセットである前記オペレーティングシステムの元の使用可能なメモリから前もって変換されており、さらに前記オペレーティングシステムによって変更不能であるとともに、前記オペレーティングシステムがアクセスできない、ステップと、
前記基本入出力システムによる、移行が行われるべき前記メモリの物理アドレスと前記第1の使用不能なメモリの物理アドレスの間のマッピング関係を格納するステップと、
を含み、
前記基本入出力システムによる、移行が行われるべき前記メモリの物理アドレスと前記第1の使用不能なメモリの物理アドレスの間のマッピング関係を格納する前記ステップは、
前記基本入出力システムによる、移行が行われるべき前記メモリの前記物理アドレスに関してメモリページ整列を実行して、第1の物理アドレスを得るステップと、
前記基本入出力システムによる、前記第1の物理アドレスと前記第1の使用不能なメモリの前記物理アドレスの間のマッピング関係を格納するステップと、
を含むことを特徴とするメモリ移行を実施するための方法。 - 前記オペレーティングシステムが目標の物理アドレスにアクセスする際、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するステップと、
前記目標の物理アドレスが対応するマッピング関係が存在する場合に、前記オペレーティングシステムによる、前記目標の物理アドレスが対応する前記マッピング関係に従って前記第1の使用不能なメモリの中のデータにアクセスするステップと、
をさらに含む請求項1に記載のメモリ移行を実施するための方法。 - 前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するステップに先立って、
前記目標の物理アドレスが属する前記メモリが、ユーザモードメモリであるか、またはカーネルモードメモリであるかを判定するステップをさらに含み、
前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定する前記ステップは、
前記目標の物理アドレスが属する前記メモリが前記カーネルモードメモリである場合に、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するステップである、
請求項2に記載のメモリ移行を実施するための方法。 - 前記オペレーティングシステムによる、前記目標の物理アドレスが対応する前記マッピング関係に従って前記第1の使用不能なメモリの中のデータにアクセスする前記ステップは、
前記オペレーティングシステムによる、前記目標の物理アドレスのページ内オフセットを得るステップと、
前記オペレーティングシステムによる、前記目標の物理アドレスが対応する前記マッピング関係に従って、前記目標の物理アドレスが対応する前記第1の使用不能なメモリの第2の物理アドレスを得るステップと、
前記オペレーティングシステムによる、前記ページ内オフセットおよび前記第2の物理アドレスの合計に従って前記第1の使用不能なメモリの中のデータにアクセスするステップと、
を含む請求項2に記載のメモリ移行を実施するための方法。 - 移行が行われるべき前記メモリが、一様でないメモリアクセスアーキテクチャの下のノードメモリである場合、
目標のノードがホットアドされる際、前記基本入出力システムによる、前記目標のノードが対応する物理アドレスを得るよう前記目標のノードに対してメモリアドレス指定を実行するステップと、
前記基本入出力システムによる、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標のノードが対応する物理アドレスが存在するかどうかを調べるステップと、
前記基本入出力システムによる、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標のノードが対応する前記物理アドレスが存在する場合に、前記マッピング関係に従って、前記目標のノードが対応する前記物理アドレスに対応する第1の使用不能なメモリの第3の物理アドレスを得るステップと、
前記基本入出力システムによる、前記第3の物理アドレスが属する前記メモリの中のデータを、前記目標のノードに対応する前記物理アドレスが属する前記メモリに移行させるステップと、
前記基本入出力システムによる、前記コンピュータの中に格納された前記マッピング関係から、前記目標のノードが対応する前記物理アドレスの前記マッピング関係を削除するステップと、
をさらに含む請求項1から4のいずれか一項に記載のメモリ移行を実施するための方法。 - メモリ移行を実施するための方法であって、
移行が行われるべきメモリの移行が行われる際、コンピュータの基本入出力システムによる、移行が行われるべき前記メモリの中のデータを前記コンピュータのオペレーティングシステムの第1の使用不能なメモリに移行させるステップであって、前記第1の使用不能なメモリは、前記オペレーティングシステムのために確保されたメモリセットである前記オペレーティングシステムの元の使用可能なメモリから前もって変換されており、さらに前記オペレーティングシステムによって変更不能であるとともに、前記オペレーティングシステムがアクセスできない、ステップと、
前記基本入出力システムによる、移行が行われるべき前記メモリの物理アドレスと前記第1の使用不能なメモリの物理アドレスの間のマッピング関係を格納するステップと、
を含み、
コンピュータの基本入出力システムによる、移行が行われるべき前記メモリの中のデータを前記コンピュータのオペレーティングシステムの第1の使用不能なメモリに移行させる前記ステップに先立って、
前記コンピュータの前記オペレーティングシステムによる、移行が行われるべき前記メモリの中の、前記オペレーティングシステムによって移行が行われることが可能なメモリの中のデータを前記コンピュータの第1のアイドルなメモリに移行させるステップをさらに含み、
コンピュータの基本入出力システムによる、移行が行われるべき前記メモリの中のデータを前記コンピュータのオペレーティングシステムの第1の使用不能なメモリに移行させる前記ステップは、前記コンピュータの前記基本入出力システムによる、残りのメモリの中のデータを前記コンピュータの前記オペレーティングシステムの第2の使用不能なメモリに移行させるステップであって、前記残りのメモリは、前記オペレーティングシステムによって移行が行われることが可能な前記メモリを除いた、移行が行われるべき前記メモリの中のメモリであり、前記第2の使用不能なメモリは、前記第1の使用不能なメモリの一部分である、
ことを特徴とするメモリ移行を実施するための方法。 - 前記コンピュータの前記オペレーティングシステムによる、移行が行われるべき前記メモリの中の、前記オペレーティングシステムによって移行が行われることが可能なメモリの中のデータを前記コンピュータの第1のアイドルなメモリに移行させる前記ステップは、
前記オペレーティングシステムによる、移行が行われるべき前記メモリから、前記オペレーティングシステムによって移行がサポートされる、前記オペレーティングシステムによって移行が行われることが可能な前記メモリを得るステップと、
前記オペレーティングシステムによる、前記オペレーティングシステムによって移行が行われることが可能な前記メモリを参照するすべてのプロセスに対してスリープ動作を実行するステップと、
前記オペレーティングシステムによる、前記コンピュータの占有されていないメモリの中の前記第1のアイドルなメモリを割り当てるステップと、
前記オペレーティングシステムによる、前記オペレーティングシステムによって移行が行われることが可能な前記メモリの中のデータを前記第1のアイドルなメモリにコピーするステップと、
前記オペレーティングシステムによる、前記オペレーティングシステムによって移行が行われることが可能な前記メモリが対応するすべてのページテーブルエントリを削除するステップと、
前記オペレーティングシステムによる、前記オペレーティングシステムによって移行が行われることが可能な前記メモリを参照するすべてのプロセスのページテーブルエントリを更新して、前記更新されたページテーブルエントリが前記第1のアイドルなメモリに向けられるようにするステップと、
前記オペレーティングシステムによる、前記スリープ動作を受けた前記プロセスを起動するステップと、
を含む請求項6に記載のメモリ移行を実施するための方法。 - 前記オペレーティングシステムが目標の物理アドレスにアクセスする際、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するステップと、
前記目標の物理アドレスが対応するマッピング関係が存在する場合に、前記オペレーティングシステムによる、前記目標の物理アドレスが対応する前記マッピング関係に従って前記第1の使用不能なメモリの中のデータにアクセスするステップと、
をさらに含む請求項6または7に記載のメモリ移行を実施するための方法。 - 前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するステップに先立って、
前記目標の物理アドレスが属する前記メモリが、ユーザモードメモリであるか、またはカーネルモードメモリであるかを判定するステップをさらに含み、
前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定する前記ステップは、
前記目標の物理アドレスが属する前記メモリが前記カーネルモードメモリである場合に、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するステップである、
請求項8に記載のメモリ移行を実施するための方法。 - 前記オペレーティングシステムによる、前記目標の物理アドレスが対応する前記マッピング関係に従って前記第1の使用不能なメモリの中のデータにアクセスする前記ステップは、
前記オペレーティングシステムによる、前記目標の物理アドレスのページ内オフセットを得るステップと、
前記オペレーティングシステムによる、前記目標の物理アドレスが対応する前記マッピング関係に従って、前記目標の物理アドレスが対応する前記第1の使用不能なメモリの第2の物理アドレスを得るステップと、
前記オペレーティングシステムによる、前記ページ内オフセットおよび前記第2の物理アドレスの合計に従って前記第1の使用不能なメモリの中のデータにアクセスするステップと、
を含む請求項8に記載のメモリ移行を実施するための方法。 - 移行が行われるべき前記メモリが、一様でないメモリアクセスアーキテクチャの下のノードメモリである場合、
目標のノードがホットアドされる際、前記基本入出力システムによる、前記目標のノードが対応する物理アドレスを得るよう前記目標のノードに対してメモリアドレス指定を実行するステップと、
前記基本入出力システムによる、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標のノードが対応する物理アドレスが存在するかどうかを調べるステップと、
前記基本入出力システムによる、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標のノードが対応する前記物理アドレスが存在する場合に、前記マッピング関係に従って、前記目標のノードが対応する前記物理アドレスに対応する第1の使用不能なメモリの第3の物理アドレスを得るステップと、
前記基本入出力システムによる、前記第3の物理アドレスが属する前記メモリの中のデータを、前記目標のノードに対応する前記物理アドレスが属する前記メモリに移行させるステップと、
前記基本入出力システムによる、前記コンピュータの中に格納された前記マッピング関係から、前記目標のノードが対応する前記物理アドレスの前記マッピング関係を削除するステップと、
をさらに含む請求項6から10のいずれか一項に記載のメモリ移行を実施するための方法。 - メモリ移行を実施するためのデバイスであって、
移行が行われるべきメモリの移行が行われる際、コンピュータの基本入出力システムによって、移行が行われるべき前記メモリの中のデータを前記コンピュータのオペレーティングシステムの第1の使用不能なメモリに移行させるように構成された第1の移行モジュールであって、前記第1の使用不能なメモリは、前記オペレーティングシステムのために確保されたメモリセットである前記オペレーティングシステムの元の使用可能なメモリから前もって変換されており、さらに前記オペレーティングシステムによって変更不能であるとともに、前記オペレーティングシステムがアクセスできない、第1の移行モジュールと、
前記基本入出力システムによって、移行が行われるべき前記メモリの物理アドレスと前記第1の使用不能なメモリの物理アドレスの間のマッピング関係を格納するように構成された格納モジュールと、
を備え、
前記格納モジュールは、
前記基本入出力システムによって、移行が行われるべき前記メモリの前記物理アドレスに関してメモリページ整列を実行して、第1の物理アドレスを得るように構成されたメモリページ整列サブモジュールと、
前記基本入出力システムによって、前記第1の物理アドレスと前記第1の使用不能なメモリの前記物理アドレスの間のマッピング関係を格納するように構成された格納サブモジュールと、
を備えることを特徴とするメモリ移行を実施するためのデバイス。 - 前記オペレーティングシステムが目標の物理アドレスにアクセスする際、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するように構成された制御モジュールと、
前記目標の物理アドレスが対応するマッピング関係が存在する場合に、前記オペレーティングシステムによって、前記目標の物理アドレスが対応する前記マッピング関係に従って前記第1の使用不能なメモリの中のデータにアクセスするように構成されたアクセスモジュールと、
をさらに備える請求項12に記載のメモリ移行を実施するためのデバイス。 - 前記目標の物理アドレスが属する前記メモリが、ユーザモードメモリであるか、またはカーネルモードメモリであるかを判定するように構成されたメモリ判定モジュールをさらに備え、
前記制御モジュールは、前記目標の物理アドレスが属する前記メモリが前記カーネルモードメモリである場合に、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するように構成されている、
請求項13に記載のメモリ移行を実施するためのデバイス。 - 前記アクセスモジュールは、
前記オペレーティングシステムによって、前記目標の物理アドレスのページ内オフセットを得るように構成されたオフセット獲得サブモジュールと、
前記オペレーティングシステムによって、前記目標の物理アドレスが対応する前記マッピング関係に従って、前記目標の物理アドレスが対応する前記第1の使用不能なメモリの第2の物理アドレスを得るように構成された第2の物理アドレス獲得サブモジュールと、
前記オペレーティングシステムによって、前記ページ内オフセットと前記第2の物理アドレスの合計に従って前記第1の使用不能なメモリの中のデータにアクセスするように構成されたアクセスサブモジュールと、
を備える請求項13に記載のメモリ移行を実施するためのデバイス。 - 移行が行われるべき前記メモリが、一様でないメモリアクセスアーキテクチャの下のノードメモリである場合、
目標のノードがホットアドされる際、前記基本入出力システムによって、前記目標のノードが対応する物理アドレスを得るよう前記目標のノードに対してメモリアドレス指定を実行するように構成されたアドレス獲得モジュールと、
前記基本入出力システムによって、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標のノードが対応する物理アドレスが存在するかどうかを調べるように構成されたアドレス検査モジュールと、
前記基本入出力システムによって、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標のノードが対応する前記物理アドレスが存在する場合に、前記マッピング関係に従って、前記目標のノードが対応する前記物理アドレスに対応する第1の使用不能なメモリの第3の物理アドレスを得るように構成された第3の物理アドレス獲得モジュールと、
前記基本入出力システムによって、前記第3の物理アドレスが属する前記メモリの中のデータを、前記目標のノードに対応する前記物理アドレスが属する前記メモリに移行させるように構成された第3の移行モジュールと、
前記基本入出力システムによって、前記コンピュータの中に格納された前記マッピング関係から、前記目標のノードが対応する前記物理アドレスの前記マッピング関係を削除するように構成されたマッピング関係削除モジュールと、
をさらに備える請求項12から15のいずれか一項に記載のメモリ移行を実施するためのデバイス。 - メモリ移行を実施するためのデバイスであって、
移行が行われるべきメモリの移行が行われる際、コンピュータの基本入出力システムによって、移行が行われるべき前記メモリの中のデータを前記コンピュータのオペレーティングシステムの第1の使用不能なメモリに移行させるように構成された第1の移行モジュールであって、前記第1の使用不能なメモリは、前記オペレーティングシステムのために確保されたメモリセットである前記オペレーティングシステムの元の使用可能なメモリから前もって変換されており、さらに前記オペレーティングシステムによって変更不能であるとともに、前記オペレーティングシステムがアクセスできない、第1の移行モジュールと、
前記基本入出力システムによって、移行が行われるべき前記メモリの物理アドレスと前記第1の使用不能なメモリの物理アドレスの間のマッピング関係を格納するように構成された格納モジュールと、
を備え、
前記コンピュータの前記オペレーティングシステムによって、移行が行われるべき前記メモリの中の、前記オペレーティングシステムによって移行が行われることが可能なメモリの中のデータを前記コンピュータの第1のアイドルなメモリに移行させるように構成された第2の移行モジュールをさらに備え、
前記第1の移行モジュールは、前記コンピュータの前記基本入出力システムによって、残りのメモリの中のデータを第2の使用不能なメモリに移行させるように構成され、前記残りのメモリは、前記オペレーティングシステムによって移行が行われることが可能な前記メモリを除いた、移行が行われるべき前記メモリの中のメモリであり、前記第2の使用不能なメモリは、前記第1の使用不能なメモリの一部分である、
ことを特徴とするメモリ移行を実施するためのデバイス。 - 前記第2の移行モジュールは、
前記オペレーティングシステムによって、移行が行われるべき前記メモリから、前記オペレーティングシステムによって移行がサポートされる、前記オペレーティングシステムによって移行が行われることが可能な前記メモリを得るように構成された第2のメモリ獲得サブモジュールと、
前記オペレーティングシステムによって、前記オペレーティングシステムによって移行が行われることが可能な前記メモリを参照するすべてのプロセスに対してスリープ動作を実行するように構成されたスリープ動作サブモジュールと、
前記オペレーティングシステムによって、前記コンピュータの占有されていないメモリの中の前記第1のアイドルなメモリを割り当てるように構成されたメモリ割り当てサブモジュールと、
前記オペレーティングシステムによって、前記オペレーティングシステムによって移行が行われることが可能な前記メモリの中のデータを前記第1のアイドルなメモリにコピーするように構成されたメモリコピーサブモジュールと、
前記オペレーティングシステムによって、前記オペレーティングシステムによって移行が行われることが可能な前記メモリが対応するすべてのページテーブルエントリを削除するように構成されたページテーブルエントリ削除サブモジュールと、
前記オペレーティングシステムによって、前記オペレーティングシステムによって移行が行われることが可能な前記メモリを参照するすべてのプロセスのページテーブルエントリを更新して、前記更新されたページテーブルエントリが前記第1のアイドルなメモリに向けられるようにするように構成されたページテーブルエントリ更新サブモジュールと、
前記オペレーティングシステムによって、前記スリープ動作を受けた前記プロセスを起動するように構成された起動サブモジュールと、
を備える請求項17に記載のメモリ移行を実施するためのデバイス。 - 前記オペレーティングシステムが目標の物理アドレスにアクセスする際、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するように構成された制御モジュールと、
前記目標の物理アドレスが対応するマッピング関係が存在する場合に、前記オペレーティングシステムによって、前記目標の物理アドレスが対応する前記マッピング関係に従って前記第1の使用不能なメモリの中のデータにアクセスするように構成されたアクセスモジュールと、
をさらに備える請求項17または18に記載のメモリ移行を実施するためのデバイス。 - 前記目標の物理アドレスが属する前記メモリが、ユーザモードメモリであるか、またはカーネルモードメモリであるかを判定するように構成されたメモリ判定モジュールをさらに備え、
前記制御モジュールは、前記目標の物理アドレスが属する前記メモリが前記カーネルモードメモリである場合に、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標の物理アドレスが対応するマッピング関係が存在するかどうかを判定するように構成されている、
請求項19に記載のメモリ移行を実施するためのデバイス。 - 前記アクセスモジュールは、
前記オペレーティングシステムによって、前記目標の物理アドレスのページ内オフセットを得るように構成されたオフセット獲得サブモジュールと、
前記オペレーティングシステムによって、前記目標の物理アドレスが対応する前記マッピング関係に従って、前記目標の物理アドレスが対応する前記第1の使用不能なメモリの第2の物理アドレスを得るように構成された第2の物理アドレス獲得サブモジュールと、
前記オペレーティングシステムによって、前記ページ内オフセットと前記第2の物理アドレスの合計に従って前記第1の使用不能なメモリの中のデータにアクセスするように構成されたアクセスサブモジュールと、
を備える請求項19に記載のメモリ移行を実施するためのデバイス。 - 移行が行われるべき前記メモリが、一様でないメモリアクセスアーキテクチャの下のノードメモリである場合、
目標のノードがホットアドされる際、前記基本入出力システムによって、前記目標のノードが対応する物理アドレスを得るよう前記目標のノードに対してメモリアドレス指定を実行するように構成されたアドレス獲得モジュールと、
前記基本入出力システムによって、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標のノードが対応する物理アドレスが存在するかどうかを調べるように構成されたアドレス検査モジュールと、
前記基本入出力システムによって、前記コンピュータの中に格納された前記マッピング関係の中に、前記目標のノードが対応する前記物理アドレスが存在する場合に、前記マッピング関係に従って、前記目標のノードが対応する前記物理アドレスに対応する第1の使用不能なメモリの第3の物理アドレスを得るように構成された第3の物理アドレス獲得モジュールと、
前記基本入出力システムによって、前記第3の物理アドレスが属する前記メモリの中のデータを、前記目標のノードに対応する前記物理アドレスが属する前記メモリに移行させるように構成された第3の移行モジュールと、
前記基本入出力システムによって、前記コンピュータの中に格納された前記マッピング関係から、前記目標のノードが対応する前記物理アドレスの前記マッピング関係を削除するように構成されたマッピング関係削除モジュールと、
をさらに備える請求項17から21のいずれか一項に記載のメモリ移行を実施するためのデバイス。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/077748 WO2012083695A1 (zh) | 2011-07-28 | 2011-07-28 | 内存迁移的实现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014509763A JP2014509763A (ja) | 2014-04-21 |
JP5712451B2 true JP5712451B2 (ja) | 2015-05-07 |
Family
ID=45453086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014501397A Active JP5712451B2 (ja) | 2011-07-28 | 2011-07-28 | メモリ移行を実施するための方法およびデバイス |
Country Status (8)
Country | Link |
---|---|
US (1) | US9600202B2 (ja) |
EP (1) | EP2664990A4 (ja) |
JP (1) | JP5712451B2 (ja) |
KR (1) | KR101534540B1 (ja) |
CN (1) | CN102326149B (ja) |
AU (1) | AU2011348835B2 (ja) |
BR (1) | BR112013021548A2 (ja) |
WO (1) | WO2012083695A1 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014059613A1 (zh) * | 2012-10-17 | 2014-04-24 | 华为技术有限公司 | 降低内存系统功耗的方法和内存控制器 |
US9497266B2 (en) * | 2013-02-22 | 2016-11-15 | International Business Machines Corporation | Disk mirroring for personal storage |
JP5439620B1 (ja) * | 2013-05-07 | 2014-03-12 | 株式会社 ディー・エヌ・エー | 電子コンテンツを推奨するシステム |
CN103455372B (zh) | 2013-08-31 | 2017-05-10 | 华为技术有限公司 | 一种服务器中内存模块的数据迁移方法及服务器 |
US9854036B2 (en) * | 2013-09-30 | 2017-12-26 | Huawei Technologies Co., Ltd. | Method for migrating memory data of virtual machine, and related apparatus and cluster system |
WO2015074232A1 (zh) * | 2013-11-22 | 2015-05-28 | 华为技术有限公司 | 一种内存数据的迁移方法、计算机和装置 |
CN105353980B (zh) * | 2013-11-22 | 2019-10-22 | 华为技术有限公司 | 一种内存数据的迁移方法、计算机和装置 |
EP2913754B1 (en) * | 2013-11-22 | 2016-11-09 | Huawei Technologies Co., Ltd. | Memory data migration computer and method |
CN104917784B (zh) * | 2014-03-10 | 2018-06-05 | 华为技术有限公司 | 一种数据迁移方法、装置及计算机系统 |
CN103914403B (zh) * | 2014-04-28 | 2016-11-02 | 中国科学院微电子研究所 | 一种混合内存访问情况的记录方法及其系统 |
CN103927233A (zh) * | 2014-04-30 | 2014-07-16 | 无锡云动科技发展有限公司 | 多节点内存互联装置及一种大规模计算机集群 |
CN104156322B (zh) * | 2014-08-05 | 2017-10-17 | 华为技术有限公司 | 一种缓存管理方法及缓存管理装置 |
CN105468538B (zh) | 2014-09-12 | 2018-11-06 | 华为技术有限公司 | 一种内存迁移方法及设备 |
CN104375899B (zh) * | 2014-11-21 | 2016-03-30 | 北京应用物理与计算数学研究所 | 高性能计算机numa感知的线程和内存资源优化方法与系统 |
US10430221B2 (en) * | 2015-09-28 | 2019-10-01 | Red Hat Israel, Ltd. | Post-copy virtual machine migration with assigned devices |
CN105260321B (zh) * | 2015-11-11 | 2018-07-20 | 浪潮(北京)电子信息产业有限公司 | 一种改进型内存域划分方法 |
US20170161203A1 (en) * | 2015-12-03 | 2017-06-08 | Intel Corporation | Increased memory capacity |
US10069697B2 (en) * | 2016-01-29 | 2018-09-04 | Microsoft Technology Licensing, Llc | Routing actions to user devices based on a user graph |
KR20180027656A (ko) * | 2016-09-05 | 2018-03-15 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
CN106713462A (zh) * | 2016-12-26 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种网络数据包处理方法和装置 |
US10365824B2 (en) * | 2017-04-24 | 2019-07-30 | Advanced Micro Devices, Inc. | Silent active page migration faults |
CN109299021B (zh) * | 2017-07-24 | 2023-06-16 | 阿里巴巴集团控股有限公司 | 页迁移方法、装置和中央处理器 |
CN109240816B (zh) * | 2018-08-30 | 2020-11-10 | 世纪龙信息网络有限责任公司 | 系统方案切换方法、装置、计算机设备和存储介质 |
CN109117416B (zh) * | 2018-09-27 | 2020-05-26 | 贵州华芯通半导体技术有限公司 | 插槽间的数据迁移或交换的方法和装置以及多处理器系统 |
CN109388629B (zh) * | 2018-09-29 | 2021-04-27 | 武汉斗鱼网络科技有限公司 | 一种数组规整方法、装置、终端及可读介质 |
CN113868151A (zh) | 2019-05-16 | 2021-12-31 | 华为技术有限公司 | 配置镜像内存的方法、装置及计算机存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5862314A (en) * | 1996-11-01 | 1999-01-19 | Micron Electronics, Inc. | System and method for remapping defective memory locations |
US6397349B2 (en) * | 1998-10-13 | 2002-05-28 | Agere Systems Guardian Corp. | Built-in self-test and self-repair methods and devices for computer memories comprising a reconfiguration memory device |
US7103728B2 (en) | 2002-07-23 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | System and method for memory migration in distributed-memory multi-processor systems |
JP4096660B2 (ja) * | 2002-08-22 | 2008-06-04 | カシオ計算機株式会社 | データ記録制御装置及びプログラム |
US7047438B2 (en) * | 2002-11-21 | 2006-05-16 | Hitachi Global Storage Technologies Netherlands B.V. | Accommodation of media defect growth on a data storage medium through dynamic remapping |
US7032053B2 (en) * | 2003-08-14 | 2006-04-18 | International Business Machines Corporation | System and method for loading, executing, and adapting a portable running operation system from a removable module to multiple computer systems |
US7321990B2 (en) * | 2003-12-30 | 2008-01-22 | Intel Corporation | System software to self-migrate from a faulty memory location to a safe memory location |
US8806103B2 (en) * | 2004-04-28 | 2014-08-12 | Hewlett-Packard Development Company, L.P. | System and method for interleaving memory |
US7529903B2 (en) * | 2005-07-05 | 2009-05-05 | International Business Machines Corporation | Systems and methods for memory migration |
US7478268B2 (en) | 2005-09-13 | 2009-01-13 | International Business Machines Corporation | Deallocation of memory in a logically-partitioned computer |
JP2007122259A (ja) * | 2005-10-26 | 2007-05-17 | Toshiba Corp | 情報処理装置、およびそのメモリ制御方法 |
US7549034B2 (en) | 2005-11-10 | 2009-06-16 | International Business Machines Corporation | Redistribution of memory to reduce computer system power consumption |
JP2008033588A (ja) | 2006-07-28 | 2008-02-14 | Hitachi Ltd | 情報処理装置 |
CN101819542B (zh) * | 2009-02-26 | 2012-07-25 | 佛山市顺德区汉达精密电子科技有限公司 | 硬盘开机扇区异常时的开机方法与使用该方法之电脑装置 |
CN102081552A (zh) * | 2009-12-01 | 2011-06-01 | 华为技术有限公司 | 一种物理机到虚拟机的在线迁移方法、装置和系统 |
US8219851B2 (en) * | 2009-12-29 | 2012-07-10 | Intel Corporation | System RAS protection for UMA style memory |
CN101818542A (zh) | 2010-04-07 | 2010-09-01 | 湖南大学 | 一种内置空间桁架钢骨的混凝土梁 |
-
2011
- 2011-07-28 JP JP2014501397A patent/JP5712451B2/ja active Active
- 2011-07-28 EP EP11851937.0A patent/EP2664990A4/en not_active Ceased
- 2011-07-28 CN CN2011800011693A patent/CN102326149B/zh active Active
- 2011-07-28 AU AU2011348835A patent/AU2011348835B2/en active Active
- 2011-07-28 WO PCT/CN2011/077748 patent/WO2012083695A1/zh active Application Filing
- 2011-07-28 KR KR1020137024310A patent/KR101534540B1/ko active IP Right Grant
- 2011-07-28 BR BR112013021548A patent/BR112013021548A2/pt not_active Application Discontinuation
-
2013
- 2013-09-24 US US14/035,545 patent/US9600202B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
AU2011348835B2 (en) | 2016-03-24 |
AU2011348835A1 (en) | 2013-09-05 |
BR112013021548A2 (pt) | 2016-11-01 |
US20140052948A1 (en) | 2014-02-20 |
CN102326149A (zh) | 2012-01-18 |
WO2012083695A1 (zh) | 2012-06-28 |
US9600202B2 (en) | 2017-03-21 |
CN102326149B (zh) | 2013-09-25 |
KR101534540B1 (ko) | 2015-07-07 |
JP2014509763A (ja) | 2014-04-21 |
KR20130127511A (ko) | 2013-11-22 |
EP2664990A4 (en) | 2014-01-22 |
EP2664990A1 (en) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5712451B2 (ja) | メモリ移行を実施するための方法およびデバイス | |
US10719393B2 (en) | Memory system for controlling nonvolatile memory | |
TWI689817B (zh) | 記憶體系統及控制方法 | |
US10592409B2 (en) | Memory system and method for controlling nonvolatile memory | |
JP7159069B2 (ja) | メモリシステムおよび制御方法 | |
WO2016082196A1 (zh) | 文件访问方法、装置及存储设备 | |
US11176032B2 (en) | Memory system and method of controlling nonvolatile memory | |
JP7358594B2 (ja) | メモリシステム | |
JP2017515242A (ja) | メモリ管理方法およびデバイス | |
JP7143232B2 (ja) | メモリシステムおよび制御方法 | |
US11650760B2 (en) | Memory system and method of controlling nonvolatile memory with checking a total size indicative of a sum of data length specified by a write command | |
US11151064B2 (en) | Information processing apparatus and storage device access control method | |
JP2023010765A (ja) | メモリシステム | |
JP7077151B2 (ja) | メモリシステム | |
JP7167295B2 (ja) | メモリシステムおよび制御方法 | |
US11687359B2 (en) | Hybrid memory management apparatus and method for many-to-one virtualization environment | |
JP7204020B2 (ja) | 制御方法 | |
JP2022179798A (ja) | メモリシステムおよび制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140924 |
|
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: 20150210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5712451 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |