JP2017531252A - メモリ割当て方法および装置 - Google Patents
メモリ割当て方法および装置 Download PDFInfo
- Publication number
- JP2017531252A JP2017531252A JP2017512349A JP2017512349A JP2017531252A JP 2017531252 A JP2017531252 A JP 2017531252A JP 2017512349 A JP2017512349 A JP 2017512349A JP 2017512349 A JP2017512349 A JP 2017512349A JP 2017531252 A JP2017531252 A JP 2017531252A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- mirrored
- allocation
- mirrored memory
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 767
- 238000000034 method Methods 0.000 title claims abstract description 157
- 230000008569 process Effects 0.000 claims description 62
- 238000001514 detection method Methods 0.000 claims description 44
- 230000005012 migration Effects 0.000 claims description 5
- 238000013508 migration Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- 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/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Memory System (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
当該初期のミラー化されたメモリ内の未占有のミラー化されたメモリを取得するステップであって、当該初期のミラー化されたメモリは、OSの初期化中にBOISによりOSに提供されたミラー化されたメモリのアドレス範囲により示されたミラー化されたメモリである、ステップと、
メモリ割当てを要求するデータに検出を実施するステップと、
当該データがミラー化されたメモリに格納すべきデータであると検出したとき、当該未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるステップと
を含む。
ミラー識別子をカーネル・データおよびクリティカルなユーザ・データに対して設定するステップであって、当該クリティカルなユーザ・データはミラー化された記憶を要求するユーザ指定のデータである、ステップ
を含み、
メモリ割当てを要求するデータに検出を実施するステップは、
当該メモリ割当てを要求するデータが当該ミラー識別子を運搬するかどうかを検出するステップを含み、
当該データがミラー化されたメモリに格納すべきデータであると検出したとき、未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるステップは、
当該メモリ割当てを要求するデータが当該ミラー識別子を運搬すると検出したとき、当該メモリ割当てを要求するデータがカーネル・データまたはクリティカルなユーザ・データであると判定し、当該未占有のミラー化されたメモリから、当該ミラー化されたメモリをカーネル・データまたはクリティカルなユーザ・データに割り当てるステップを含む。
当該メモリ割当てを要求するデータがクリティカルなユーザ・データであるとき、同一のプロセスのデータが当該初期のミラー化されたメモリに格納されるかどうかを判定するステップであって、当該同一のプロセスのデータは、当該クリティカルなユーザ・データを生成する同一のプロセスにより当該クリティカルなユーザ・データの前に生成されたデータである、ステップと、
当該同一のプロセスのデータが当該ミラー化されたメモリに格納されていない場合、当該同一のプロセスのデータを当該初期のミラー化されたメモリにマイグレートするステップと
を含む。
当該ミラー化されたメモリに格納されるべきデータが属する予め計画されたメモリ・リソース領域を決定するステップと、
当該データが属する当該予め計画されたメモリ・リソース領域の未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるステップと
を含む。
当該ミラー化されたメモリに格納されるべきデータに割り当てられた当該ミラー化されたメモリのアドレス範囲に占有フラグを設定するステップを含む。
当該初期のミラー化されたメモリ内の未占有のミラー化されたメモリを取得するように構成された取得ユニットであって、当該初期のミラー化されたメモリは、OSの初期化中にBOISによりOSに提供されたミラー化されたメモリのアドレス範囲により示されたミラー化されたメモリである、取得ユニットと、
メモリ割当てを要求するデータに検出を実施するように構成された検出ユニットと、
当該取得ユニットにより取得された未占有のミラー化されたメモリから、当該データがミラー化されたメモリに格納すべきデータであると当該検出ユニットが判定したとき、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるように構成された割当てユニットと、
を備える。
当該検出ユニットが、当該メモリ割当てを要求するデータに検出を実施する前にミラー識別子をカーネル・データおよびクリティカルなユーザ・データに設定するように構成された第1の設定ユニットであって、当該クリティカルなユーザ・データはミラー化された記憶を要求するユーザ指定のデータである、第1の設定ユニット
を備え、
当該検出ユニットは、当該メモリ割当てを要求するデータが第1の設定ユニットにより設定されたミラー識別子を運搬するかどうかを検出するように構成され、
当該割当てユニットは、当該メモリ割当てを要求するデータが当該ミラー識別子を運搬すると当該検出ユニットが検出したとき、当該メモリ割当てを要求するデータがカーネル・データまたはクリティカルなユーザ・データであると判定し、当該未占有のミラー化されたメモリから、当該ミラー化されたメモリをカーネル・データまたはクリティカルなユーザ・データに割り当てるように構成される。
当該メモリ割当てを要求するデータがクリティカルなユーザ・データであるとき、同一のプロセスのデータが当該初期のミラー化されたメモリに格納されるかどうかを判定するように構成された判定ユニットであって、当該同一のプロセスのデータは、当該クリティカルなユーザ・データを生成する同一のプロセスにより当該クリティカルなユーザ・データの前に生成されたデータである、判定ユニットと、
当該判定ユニットが、当該同一のプロセスのデータが当該ミラー化されたメモリに格納されていないと判定したとき、当該同一のプロセスのデータを当該初期のミラー化されたメモリにマイグレートするように構成されたマイグレーション・ユニットと
を備える。
当該ミラー化されたメモリに格納されるべきデータが属する予め計画されたメモリ・リソース領域を決定するように構成された決定サブユニットと、
当該決定サブユニットにより決定された当該データが属する当該予め計画されたメモリ・リソース領域の未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるように構成された割当てサブユニットと
を備える。
e820:BIOSで提供された物理RAMマップ:
[mem 0x0000000000000000-0x000000000009a7ff] 使用可
[mem 0x000000000009a800-0x000000000009ffff] 予約済み
[mem 0x00000000000e4b60-0x00000000000fffff] 予約済み
[mem 0x0000000000100000-0x000000003fffffff] ミラー (1M乃至1G)
[mem 0x0000000040000000-0x00000000bf78ffff] 使用可 (1G乃至3063M)
[mem 0x00000000bf790000-0x00000000bf79dfff] ACPIデータ
[mem 0x00000000bf79e000-0x00000000bf7cffff] ACPI NVS
[mem 0x00000000bf7d0000-0x00000000bf7dffff] 予約済み
[mem 0x00000000bf7ec000-0x00000000bfffffff] 予約済み
[mem 0x00000000e0000000-0x00000000efffffff] 予約済み
[mem 0x00000000fee00000-0x00000000fee00fff] 予約済み
[mem 0x00000000fff00000-0x00000000ffffffff] 予約済み
[mem 0x0000000100000000-0x00000002ffffffff] 使用可 (4G乃至12G)
[mem 0x0000000300000000-0x000000033fffffff] ミラー (12G乃至13G)
[mem 0x0000000340000000-0x00000005ffffffff] 使用可 (13G乃至24G)
[mem 0x0000000600000000-0x000000063fffffff] ミラー (24G乃至25G)
[mem 0x0000000640000000-0x0000000bffffffff] 使用可 (25G乃至36G)
[mem 0x0000000900000000-0x000000093fffffff] ミラー (36G乃至37G)
[mem 0x0000000940000000-0x0000000c3fffffff] 使用可 (37G乃至48G)・・・
#define GFP_KERNEL (__GFP_WAIT | __GFP_IO | __GFP_FS | __GFP_mirror)
である。
メモリ割当てを要求するデータに検出を実施するステップが、当該メモリ割当てを要求するデータが当該ミラー識別子を運搬するかどうかを検出するステップを含んでもよく、
当該データがミラー化されたメモリに格納すべきデータであると検出したとき、当該未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるステップが、
当該メモリ割当てを要求するデータが当該ミラー識別子を運搬すると検出したとき、当該メモリ割当てを要求するデータがカーネル・データまたはクリティカルなユーザ・データであると判定し、当該未占有のミラー化されたメモリから、当該ミラー化されたメモリをカーネル・データまたはクリティカルなユーザ・データに割り当てるステップを含んでもよい。
当該メモリ割当てを要求するデータがクリティカルなユーザ・データであるとき、同一のプロセスのデータが当該初期のミラー化されたメモリに格納されるかどうかを判定するステップであって、当該同一のプロセスのデータは、当該クリティカルなユーザ・データを生成する同一のプロセスにより当該クリティカルなユーザ・データの前に生成されたデータである、ステップと、
当該同一のプロセスのデータが当該ミラー化されたメモリに格納されていない場合、当該同一のプロセスのデータを当該初期のミラー化されたメモリにマイグレートするステップと、
を含んでもよい。
当該ミラー化されたメモリに格納されるべきデータが属する予め計画されたメモリ・リソース領域を決定するステップと、
当該データが属する当該予め計画されたメモリ・リソース領域の未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるステップと
を含んでもよい。
検出ユニット202が当該メモリ割当てを要求するデータに検出を実施する前にミラー識別子をカーネル・データおよびクリティカルなユーザ・データに設定するように構成された第1の設定ユニット204であって、当該クリティカルなユーザ・データはミラー化された記憶を要求するユーザ指定のデータである、第1の設定ユニット204
を備え、
検出ユニット202は、当該メモリ割当てを要求するデータが第1の設定ユニット204により設定されたミラー識別子を運搬するかどうかを検出するように構成され、
割当てユニット203は、検出ユニット202が、当該メモリ割当てを要求するデータが当該ミラー識別子を運搬することを検出したとき、当該メモリ割当てを要求するデータがカーネル・データまたはクリティカルなユーザ・データであると判定し、当該未占有のミラー化されたメモリから、当該ミラー化されたメモリをカーネル・データまたはクリティカルなユーザ・データに割り当てるように構成される。
当該メモリ割当てを要求するデータが設定ユニット204により設定されたクリティカルなユーザ・データであるとき、同一のプロセスのデータが当該初期のミラー化されたメモリに格納されるかどうかを判定するように構成された判定ユニット205であって、当該同一のプロセスのデータは、当該クリティカルなユーザ・データを生成する同一のプロセスにより当該クリティカルなユーザ・データの前に生成されたデータである、判定ユニット205と、
判定ユニット205が、当該同一のプロセスのデータが当該ミラー化されたメモリに格納されていないと判定したとき、当該同一のプロセスのデータを当該初期のミラー化されたメモリにマイグレートするように構成されたマイグレーション・ユニット206と、
を備える。
当該ミラー化されたメモリに格納されるべきデータが属する予め計画されたメモリ・リソース領域を決定するように構成された決定サブユニット2031と、
決定サブユニット2021により決定され当該データが属する当該予め計画されたメモリ・リソース領域の未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるように構成された割当てサブユニット2032と
を備える。
メモリ割当てを要求するデータに検出を実施するステップと、
当該データがミラー化されたメモリに格納すべきデータであると検出したとき、当該未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるステップと
を実施する(当該動作命令をオペレーティング・システムに格納してもよい)。
201 取得ユニット
202 検出ユニット
203 割当てユニット
2031 決定サブユニット
2032 割当てサブユニット
204 第1の設定ユニット
205 判定ユニット
206 マイグレーション・ユニット
207 第2の設定ユニット
410 入出力装置
430 プロセッサ
440 メモリ
450 バス
当該初期のミラー化されたメモリ内の未占有のミラー化されたメモリを取得するステップであって、当該初期のミラー化されたメモリは、OSの初期化中にBIOSによりOSに提供されたミラー化されたメモリのアドレス範囲により示されたミラー化されたメモリである、ステップと、
メモリ割当てを要求するデータに検出を実施するステップと、
当該データがミラー化されたメモリに格納すべきデータであると検出したとき、当該未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるステップと
を含む。
当該メモリ割当てを要求するデータがクリティカルなユーザ・データであるとき、同一のプロセスのデータが当該初期のミラー化されたメモリに格納されるかどうかを判定するステップであって、当該同一のプロセスのデータは、当該クリティカルなユーザ・データを生成する同一のプロセスにより当該クリティカルなユーザ・データの前に生成されたデータである、ステップと、
当該同一のプロセスのデータが元のミラー化されたメモリに格納されていない場合、当該同一のプロセスのデータを当該初期のミラー化されたメモリにマイグレートするステップと
を含む。
当該初期のミラー化されたメモリ内の未占有のミラー化されたメモリを取得するように構成された取得ユニットであって、当該初期のミラー化されたメモリは、OSの初期化中にBIOSによりOSに提供されたミラー化されたメモリのアドレス範囲により示されたミラー化されたメモリである、取得ユニットと、
メモリ割当てを要求するデータに検出を実施するように構成された検出ユニットと、
当該取得ユニットにより取得された未占有のミラー化されたメモリから、当該データがミラー化されたメモリに格納すべきデータであると当該検出ユニットが判定したとき、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるように構成された割当てユニットと、
を備える。
e820:BIOSで提供された物理RAMマップ:
[mem 0x0000000000000000-0x000000000009a7ff] 使用可
[mem 0x000000000009a800-0x000000000009ffff] 予約済み
[mem 0x00000000000e4b60-0x00000000000fffff] 予約済み
[mem 0x0000000000100000-0x000000003fffffff] ミラー (1MB乃至1GB)
[mem 0x0000000040000000-0x00000000bf78ffff] 使用可 (1GB乃至3063MB)
[mem 0x00000000bf790000-0x00000000bf79dfff] ACPIデータ
[mem 0x00000000bf79e000-0x00000000bf7cffff] ACPI NVS
[mem 0x00000000bf7d0000-0x00000000bf7dffff] 予約済み
[mem 0x00000000bf7ec000-0x00000000bfffffff] 予約済み
[mem 0x00000000e0000000-0x00000000efffffff] 予約済み
[mem 0x00000000fee00000-0x00000000fee00fff] 予約済み
[mem 0x00000000fff00000-0x00000000ffffffff] 予約済み
[mem 0x0000000100000000-0x00000002ffffffff] 使用可 (4GB乃至12GB)
[mem 0x0000000300000000-0x000000033fffffff] ミラー (12GB乃至13GB)
[mem 0x0000000340000000-0x00000005ffffffff] 使用可 (13GB乃至24GB)
[mem 0x0000000600000000-0x000000063fffffff] ミラー (24GB乃至25GB)
[mem 0x0000000640000000-0x0000000bffffffff] 使用可 (25GB乃至36GB)
[mem 0x0000000900000000-0x000000093fffffff] ミラー (36GB乃至37GB)
[mem 0x0000000940000000-0x0000000c3fffffff] 使用可 (37GB乃至48GB)・・・
#define GFP_KERNEL (__GFP_WAIT | __GFP_IO | __GFP_FS | __GFP_mirror)
である。
当該メモリ割当てを要求するデータがクリティカルなユーザ・データであるとき、同一のプロセスのデータが当該初期のミラー化されたメモリに格納されるかどうかを判定するステップであって、当該同一のプロセスのデータは、当該クリティカルなユーザ・データを生成する同一のプロセスにより当該クリティカルなユーザ・データの前に生成されたデータである、ステップと、
当該同一のプロセスのデータが元のミラー化されたメモリに格納されていない場合、当該同一のプロセスのデータを当該初期のミラー化されたメモリにマイグレートするステップと、
を含んでもよい。
当該メモリ割当てを要求するデータが第1の設定ユニット204により設定されたクリティカルなユーザ・データであるとき、同一のプロセスのデータが当該初期のミラー化されたメモリに格納されるかどうかを判定するように構成された判定ユニット205であって、当該同一のプロセスのデータは、当該クリティカルなユーザ・データを生成する同一のプロセスにより当該クリティカルなユーザ・データの前に生成されたデータである、判定ユニット205と、
判定ユニット205が、当該同一のプロセスのデータが当該ミラー化されたメモリに格納されていないと判定したとき、当該同一のプロセスのデータを当該初期のミラー化されたメモリにマイグレートするように構成されたマイグレーション・ユニット206と、
を備える。
当該ミラー化されたメモリに格納されるべきデータが属する予め計画されたメモリ・リソース領域を決定するように構成された決定サブユニット2031と、
決定サブユニット2031により決定され当該データが属する当該予め計画されたメモリ・リソース領域の未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるように構成された割当てサブユニット2032と
を備える。
メモリ割当てを要求するデータに検出を実施するステップと、
当該データがミラー化されたメモリに格納すべきデータであると検出したとき、当該未占有のミラー化されたメモリから、当該ミラー化されたメモリに格納されるべきデータに当該ミラー化されたメモリを割り当てるステップと
を実施する(当該動作命令をオペレーティング・システムに格納してもよい)。
Claims (15)
- メモリ割当て方法であって、前記方法はコンピュータ・システムに適用され、前記コンピュータ・システムはメモリ・リソース、基本入出力システムBOIS、およびオペレーティング・システムOSを備え、前記メモリ・リソースは初期のミラー化されたメモリを備え、前記オペレーティング・システムを実行したとき、前記方法は、
メモリ割当てを要求するデータがミラー識別子を運搬するかどうかを検出するステップであって、前記ミラー識別子がカーネル・データおよびクリティカルなユーザ・データにおいて設定され、前記クリティカルなユーザ・データは、ユーザ・データにおける、ミラー化された記憶を要求するユーザ指定のデータである、ステップと、
前記メモリ割当てを要求するデータが前記ミラー識別子を運搬すると検出したとき、ミラー化されたメモリの未占有部分から、前記メモリ割当てを要求するデータにメモリを割り当てるステップであって、前記ミラー化されたメモリは、前記OSの初期化中に前記BOISにより前記OSに提供されたミラー化されたメモリのアドレス範囲により示されたミラー化されたメモリである、ステップと、
を含む、方法。 - 前記メモリ割当てを要求するデータが前記クリティカルなユーザ・データであるとき、同一のプロセスのデータが前記ミラー化されたメモリに格納されているかどうかを判定するステップであって、前記同一のプロセスの前記データは、前記クリティカルなユーザ・データを生成する前記同一のプロセスにより前記クリティカルなユーザ・データの前に生成されたデータである、ステップと、
前記同一のプロセスの前記データが前記ミラー化されたメモリに格納されていない場合、前記同一のプロセスの前記データを前記ミラー化されたメモリにマイグレートするステップと
をさらに含む、請求項1に記載の方法。 - 前記ミラー化されたメモリの未占有部分から、前記メモリ割当てを要求するデータにメモリを割り当てるステップは、
前記メモリ割当てを要求するデータが属する予め計画されたメモリ・リソース領域を決定するステップであって、各領域はミラー化されたメモリの1つまたは複数のセグメントに対応する、ステップと、
前記メモリ割当てを要求するデータが属する前記予め計画されたメモリ・リソース領域に対応するミラー化されたメモリの未占有部分から、ミラー化されたメモリを前記ミラー化されたメモリに格納されるべき前記データに割り当てるステップと
を含む、請求項1または2に記載の方法。 - 前記割り当てられたミラー化されたメモリのアドレス範囲に対して占有フラグを設定するステップをさらに含む、請求項1乃至3の何れか1項に記載の方法。
- メモリ割当て装置であって、前記装置はコンピュータ・システムに適用され、前記コンピュータ・システムはメモリ・リソース、基本入出力システムBOIS、およびオペレーティング・システムOSを備え、前記メモリ・リソースは初期のミラー化されたメモリを備え、前記装置は、
メモリ割当てを要求するデータがミラー識別子を運搬するかどうかを検出するように構成された検出ユニットであって、前記ミラー識別子がカーネル・データおよびクリティカルなユーザ・データにおいて設定され、前記クリティカルなユーザ・データは、ユーザ・データにおける、ミラー化された記憶を要求するユーザ指定のデータである、検出ユニットと、
ミラー化されたメモリの未占有部分から、前記メモリ割当てを要求するデータが前記ミラー識別子を運搬することが検出されたとき、前記メモリ割当てを要求するデータにメモリを割り当てるように構成された割当てユニットであって、前記ミラー化されたメモリは、前記OSの初期化中に前記BOISにより前記OSに提供されたミラー化されたメモリのアドレス範囲により示されたミラー化されたメモリである、割当てユニットと、
を備える、装置。 - 前記メモリ割当てを要求するデータが前記クリティカルなユーザ・データであるとき、同一のプロセスのデータが前記初期のミラー化されたメモリに格納されるかどうかを判定するように構成された判定ユニットであって、前記同一のプロセスの前記データは、前記クリティカルなユーザ・データを生成する前記同一のプロセスにより前記クリティカルなユーザ・データの前に生成されたデータである、判定ユニットと、
前記判定ユニットが、前記同一のプロセスの前記データが前記ミラー化されたメモリに格納されていないと判定したとき、前記同一のプロセスの前記データを前記初期のミラー化されたメモリにマイグレートするように構成されたマイグレーション・ユニットと、
をさらに備える、請求項5に記載の装置。 - 前記割当てユニットは、
前記メモリ割当てを要求するデータが前記ミラー識別子を運搬することが検出されたとき、前記メモリ割当てを要求するデータに対応する予め計画されたメモリ・リソース領域を決定するように構成された決定サブユニットであって、各領域はミラー化されたメモリの1つまたは複数のセグメントに対応する、決定サブユニットと、
前記メモリ割当てを要求するデータが属する前記予め計画されたメモリ・リソース領域に対応するミラー化されたメモリの未占有部分から、ミラー化されたメモリを前記ミラー化されたメモリに格納されるべき前記データに割り当てるように構成された割当てサブユニットと、
を備える、請求項5または6に記載の装置。 - 前記割り当てられたミラー化されたメモリのアドレス範囲に対して占有フラグを設定するように構成された第2の設定ユニットをさらに備える、請求項5乃至7の何れか1項に記載の装置。
- メモリ割当て方法であって、前記方法はコンピュータ・システムに適用され、前記コンピュータ・システムはメモリ・リソース、基本入出力システムBOIS、およびオペレーティング・システムOSを備え、前記メモリ・リソースは初期のミラー化されたメモリを備え、前記オペレーティング・システムを実行したとき、前記方法は、
メモリ割当てを要求するデータに検出を実施するステップと、前記メモリ割当てを要求するデータがミラー化されたメモリに格納すべきデータであると検出したとき、前記メモリ割当てを要求するデータに対応する予め計画されたメモリ領域を決定し、前記メモリ割当てを要求するデータが属する前記予め計画されたメモリ領域に対応するミラー化されたメモリの1つまたは複数のセグメントの未占有部分から、前記ミラー化されたメモリを前記ミラー化されたメモリに格納されるべき前記データに割り当てるステップであって、前記ミラー化されたメモリは、前記OSの初期化中に前記BOISにより前記OSに提供されたミラー化されたメモリのアドレス範囲により示されたミラー化されたメモリである、ステップと、
を含む、方法。 - 前記メモリ割当てを要求するデータに対応する予め計画されたメモリ領域を決定し、前記メモリ割当てを要求するデータが属する前記予め計画されたメモリ領域に対応するミラー化されたメモリの1つまたは複数のセグメントの未占有部分から、前記ミラー化されたメモリを前記ミラー化されたメモリに格納されるべき前記データに割り当てるステップは、
前記メモリ割当てを要求するデータに対応するノードを決定し、前記メモリ割当てを要求するデータに対応する前記ノードのミラー化されたメモリの未占有部分から、前記メモリ割当てを要求するデータに前記ミラー化されたメモリを割り当てるステップと、
を含む、請求項9に記載の方法。 - 全てのノードは不均一メモリ・アクセスNUMAアーキテクチャに従って計画され、各ノードはミラー化されたメモリの1つまたは複数のセグメントを含む、請求項10に記載の方法。
- メモリ割当て装置であって、前記装置はコンピュータ・システムに適用され、前記コンピュータ・システムはメモリ・リソース、基本入出力システムBOIS、およびオペレーティング・システムOSを備え、前記メモリ・リソースは初期のミラー化されたメモリを備え、前記装置は、
メモリ割当てを要求するデータに検出を実施するように構成されたユニットと、
前記メモリ割当てを要求するデータがミラー化されたメモリに格納すべきデータであることが検出されたとき、前記メモリ割当てを要求するデータに対応する予め計画されたメモリ領域を決定し、前記メモリ割当てを要求するデータが属する前記予め計画されたメモリ領域に対応するミラー化されたメモリの1つまたは複数のセグメントの未占有部分から、前記ミラー化されたメモリを前記ミラー化されたメモリに格納されるべき前記データに割り当てるように構成されたユニットであって、前記ミラー化されたメモリは、前記OSの初期化中に前記BOISにより前記OSに提供されたミラー化されたメモリのアドレス範囲により示されたミラー化されたメモリである、ユニットと
を備える、装置。 - 前記メモリ割当てを要求するデータがミラー化されたメモリに格納すべきデータであることが検出されたとき、前記メモリ割当てを要求するデータに対応する予め計画されたメモリ領域を決定し、前記メモリ割当てを要求するデータが属する前記予め計画されたメモリ領域に対応するミラー化されたメモリの1つまたは複数のセグメントの未占有部分から、前記ミラー化されたメモリを前記ミラー化されたメモリに格納されるべき前記データに割り当てるように構成された前記ユニットは、前記メモリ割当てを要求するデータに対応するノードを決定し、前記メモリ割当てを要求するデータに対応する前記ノードのミラー化されたメモリの未占有部分から、前記メモリ割当てを要求するデータに前記ミラー化されたメモリを割り当てるように構成される、請求項12に記載の方法。
- 全てのノードは不均一メモリ・アクセスNUMAアーキテクチャに従って計画され、各ノードはミラー化されたメモリの1つまたは複数のセグメントを含む、請求項13に記載の方法。
- ミラー化されたメモリの各セグメントはミラー化されたメモリ管理ゾーンMIRROR ZONEにより追跡および管理され、各ノードは1つまたは複数のMIRROR ZONEに対応する、請求項14に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410471145.XA CN104252419B (zh) | 2014-09-16 | 2014-09-16 | 一种内存分配的方法及装置 |
CN201410471145.X | 2014-09-16 | ||
PCT/CN2015/089796 WO2016041501A1 (zh) | 2014-09-16 | 2015-09-16 | 一种内存分配的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017531252A true JP2017531252A (ja) | 2017-10-19 |
JP6478430B2 JP6478430B2 (ja) | 2019-03-06 |
Family
ID=52187342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017512349A Active JP6478430B2 (ja) | 2014-09-16 | 2015-09-16 | メモリ割当て方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10353609B2 (ja) |
EP (1) | EP3171276B1 (ja) |
JP (1) | JP6478430B2 (ja) |
KR (1) | KR101996975B1 (ja) |
CN (1) | CN104252419B (ja) |
WO (1) | WO2016041501A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220156378A1 (en) * | 2020-11-18 | 2022-05-19 | Canon Kabushiki Kaisha | Information processing apparatus, control method of information processing apparatus, and storage medium |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252419B (zh) * | 2014-09-16 | 2017-09-19 | 华为技术有限公司 | 一种内存分配的方法及装置 |
CN106648938B (zh) * | 2016-12-30 | 2021-01-12 | 苏州浪潮智能科技有限公司 | 一种Linux系统应用程序内存管理方法及系统 |
CN107704399B (zh) * | 2017-08-16 | 2021-01-29 | 华为技术有限公司 | 一种存储数据的方法和装置 |
CN113868151A (zh) * | 2019-05-16 | 2021-12-31 | 华为技术有限公司 | 配置镜像内存的方法、装置及计算机存储介质 |
US11294692B2 (en) * | 2020-07-27 | 2022-04-05 | Dell Products L.P. | Basic input output system (BIOS)—identified memory size and node address range mirroring system |
CN114090223A (zh) * | 2020-08-24 | 2022-02-25 | 北京百度网讯科技有限公司 | 访存请求调度方法、装置、设备以及存储介质 |
US11734176B2 (en) * | 2021-10-27 | 2023-08-22 | Dell Products L.P. | Sub-NUMA clustering fault resilient memory system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199478A (ja) * | 2008-02-25 | 2009-09-03 | Hitachi Ltd | メモリミラーリング自動構成制御方式 |
JP2011186563A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
JP2012043246A (ja) * | 2010-08-20 | 2012-03-01 | Canon Inc | 情報処理装置、情報処理装置の制御方法、及び、プログラム |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5651133A (en) * | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
US6546472B2 (en) * | 2000-12-29 | 2003-04-08 | Hewlett-Packard Development Company, L.P. | Fast suspend to disk |
US7028215B2 (en) * | 2002-05-03 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Hot mirroring in a computer system with redundant memory subsystems |
US20050216552A1 (en) * | 2004-03-24 | 2005-09-29 | Samuel Fineberg | Communication-link-attached persistent memory system |
US20070214333A1 (en) * | 2006-03-10 | 2007-09-13 | Dell Products L.P. | Modifying node descriptors to reflect memory migration in an information handling system with non-uniform memory access |
US9262284B2 (en) * | 2006-12-07 | 2016-02-16 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Single channel memory mirror |
US20090006793A1 (en) * | 2007-06-30 | 2009-01-01 | Koichi Yamada | Method And Apparatus To Enable Runtime Memory Migration With Operating System Assistance |
CN101470667A (zh) | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | Linux系统平台上指定地址范围分配物理内存的方法 |
US8151138B2 (en) * | 2008-10-31 | 2012-04-03 | Dell Products L.P. | Redundant memory architecture management methods and systems |
CN101937400B (zh) * | 2009-06-29 | 2012-07-25 | 联想(北京)有限公司 | 管理热备份内存的方法和电子设备 |
CN101604263A (zh) | 2009-07-13 | 2009-12-16 | 浪潮电子信息产业股份有限公司 | 一种实现操作系统核心代码段多副本运行的方法 |
KR20120068765A (ko) | 2009-07-17 | 2012-06-27 | 가부시끼가이샤 도시바 | 메모리 관리 장치 |
US8090977B2 (en) * | 2009-12-21 | 2012-01-03 | Intel Corporation | Performing redundant memory hopping |
US8335908B2 (en) * | 2010-07-01 | 2012-12-18 | Arm Limited | Data processing apparatus for storing address translations |
CN101901174B (zh) | 2010-07-28 | 2012-07-18 | 西安交通大学 | 基于代码段多副本对比机制提高程序可靠性方法 |
US8601310B2 (en) * | 2010-08-26 | 2013-12-03 | Cisco Technology, Inc. | Partial memory mirroring and error containment |
CN102203737B (zh) | 2011-05-20 | 2013-09-11 | 华为技术有限公司 | 多线程访问多副本的方法和装置 |
US8898408B2 (en) * | 2011-12-12 | 2014-11-25 | Dell Products L.P. | Memory controller-independent memory mirroring |
US9037903B2 (en) | 2012-12-28 | 2015-05-19 | Intel Corporation | Apparatus and method for partial memory mirroring |
CN103136110B (zh) | 2013-02-18 | 2016-03-30 | 华为技术有限公司 | 内存管理方法、内存管理装置及numa系统 |
CN103198028B (zh) | 2013-03-18 | 2015-12-23 | 华为技术有限公司 | 一种内存数据迁移方法、装置及系统 |
CN103324582A (zh) * | 2013-06-17 | 2013-09-25 | 华为技术有限公司 | 一种内存迁移方法、装置及设备 |
CN103389884A (zh) * | 2013-07-29 | 2013-11-13 | 华为技术有限公司 | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 |
CN103530241B (zh) * | 2013-09-24 | 2016-04-13 | 创新科存储技术(深圳)有限公司 | 一种用户态的双控内存镜像实现方法 |
US9411695B2 (en) * | 2013-12-04 | 2016-08-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Provisioning memory in a memory system for mirroring |
CN104252419B (zh) | 2014-09-16 | 2017-09-19 | 华为技术有限公司 | 一种内存分配的方法及装置 |
US9753662B1 (en) * | 2016-09-26 | 2017-09-05 | International Business Machines Corporation | Using mirror indicators to determine whether to mirror tracks in a data set in a primary volume mirrored to a secondary volume |
-
2014
- 2014-09-16 CN CN201410471145.XA patent/CN104252419B/zh active Active
-
2015
- 2015-09-16 EP EP15841888.9A patent/EP3171276B1/en active Active
- 2015-09-16 WO PCT/CN2015/089796 patent/WO2016041501A1/zh active Application Filing
- 2015-09-16 KR KR1020177004358A patent/KR101996975B1/ko active IP Right Grant
- 2015-09-16 JP JP2017512349A patent/JP6478430B2/ja active Active
-
2017
- 2017-03-15 US US15/460,132 patent/US10353609B2/en active Active
-
2019
- 2019-05-29 US US16/425,872 patent/US10990303B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199478A (ja) * | 2008-02-25 | 2009-09-03 | Hitachi Ltd | メモリミラーリング自動構成制御方式 |
JP2011186563A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
JP2012043246A (ja) * | 2010-08-20 | 2012-03-01 | Canon Inc | 情報処理装置、情報処理装置の制御方法、及び、プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220156378A1 (en) * | 2020-11-18 | 2022-05-19 | Canon Kabushiki Kaisha | Information processing apparatus, control method of information processing apparatus, and storage medium |
US11928217B2 (en) * | 2020-11-18 | 2024-03-12 | Canon Kabushiki Kaisha | Information processing apparatus, control method of information processing apparatus, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20170185340A1 (en) | 2017-06-29 |
EP3171276A1 (en) | 2017-05-24 |
EP3171276B1 (en) | 2020-12-16 |
KR20170031230A (ko) | 2017-03-20 |
JP6478430B2 (ja) | 2019-03-06 |
CN104252419B (zh) | 2017-09-19 |
KR101996975B1 (ko) | 2019-07-05 |
US20190278499A1 (en) | 2019-09-12 |
WO2016041501A1 (zh) | 2016-03-24 |
EP3171276A4 (en) | 2017-08-23 |
BR112017001965A2 (pt) | 2017-11-21 |
US10990303B2 (en) | 2021-04-27 |
US10353609B2 (en) | 2019-07-16 |
CN104252419A (zh) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6478430B2 (ja) | メモリ割当て方法および装置 | |
WO2018010654A1 (zh) | 一种虚拟机热迁移的方法、装置及系统 | |
KR101952795B1 (ko) | 자원 프로세싱 방법, 운영체제, 및 장치 | |
US10025503B2 (en) | Autonomous dynamic optimization of platform resources | |
WO2016023390A1 (zh) | 虚拟机存储资源部署方法和装置 | |
US20160266923A1 (en) | Information processing system and method for controlling information processing system | |
JP6111181B2 (ja) | 計算機の制御方法及び計算機 | |
US11740810B2 (en) | Mirrored memory configuration method and apparatus, and computer storage medium | |
EP3304294A1 (en) | Method and system for allocating resources for virtual hosts | |
JP2013246582A (ja) | ストレージ装置およびストレージ装置の制御方法 | |
CN113515483A (zh) | 一种数据传输方法及装置 | |
US20170277632A1 (en) | Virtual computer system control method and virtual computer system | |
US20190050240A1 (en) | Bios startup method and apparatus | |
US20150293841A1 (en) | Efficient reclamation of pre-allocated direct memory access (dma) memory | |
US10061528B2 (en) | Disk assignment for multiple distributed computing clusters in a virtualized computing environment | |
JP2015148921A (ja) | 半導体装置、プロセッサシステム、及びその制御方法 | |
US9697123B2 (en) | Information processing device, control method of information processing device and control program of information processing device | |
CN113760457A (zh) | 一种虚拟机资源分配方法、装置、电子设备及存储介质 | |
CN107329798B (zh) | 数据复制的方法、装置和虚拟化系统 | |
JP2013140596A (ja) | メニーコアシステムのためのオペレーティングシステム動的再構成装置及び方法 | |
US10228859B2 (en) | Efficiency in active memory sharing | |
WO2015161804A1 (zh) | 一种Cache分区的方法及装置 | |
BR112017001965B1 (pt) | Método de alocação de memória, aparelho e sistema de computador | |
CN117742962A (zh) | 一种虚拟机资源的管理方法、装置、设备及存储介质 | |
CN111837104A (zh) | 一种在多个处理器之间调度软件任务的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180320 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20180620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180925 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181225 |
|
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: 20190108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6478430 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 |