JP2021128627A - 計算機システム及びメモリ管理方法 - Google Patents
計算機システム及びメモリ管理方法 Download PDFInfo
- Publication number
- JP2021128627A JP2021128627A JP2020023760A JP2020023760A JP2021128627A JP 2021128627 A JP2021128627 A JP 2021128627A JP 2020023760 A JP2020023760 A JP 2020023760A JP 2020023760 A JP2020023760 A JP 2020023760A JP 2021128627 A JP2021128627 A JP 2021128627A
- Authority
- JP
- Japan
- Prior art keywords
- area
- memory
- physical
- storage device
- managed
- 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
Images
Classifications
-
- 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
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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
-
- 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/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- 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/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Retry When Errors Occur (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【解決手段】計算機は、メモリ105と、メモリに接続されるプロセッサ104と、を備える。プロセッサは、OSを実行し、OS上で複数のプロセスを実行する。複数のプロセスは、仮想ストレージ装置とアプリケーションを含む。プロセッサは、OSが管理するメモリの物理領域を、アプリケーションに提供し、計算機には搭載されているが、OSが管理しないメモリの物理領域を、仮想ストレージ装置が、利用するよう制御し、OSが管理するメモリの物理領域内から、連続する物理領域を確保し、仮想ストレージ装置に利用させ、確保した連続する物理領域を用いて、仮想ストレージ装置とアプリケーションの間で、DMA転送を行う。
【選択図】図2
Description
前記した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。
図1は、実施例1に係る計算機システムの構成例を示すブロック図を示す。
計算機システムは、1台以上の計算機10、ネットワーク20、1台以上のクライアント30を含む。
CPU104では、BIOS104e、OS104d上で、複数のプロセスを実行する。複数のプロセスは、複数のアプリケーションである複数のOSS104b、複数のストレージプログラム104aが動作する。尚、実施例1では、OS104dはLinuxを想定する。各ストレージプログラムが仮想ストレージ装置を構成する。
計算機10内のDRAMの物理リソースは、OS104dにより管理されるOS管理内領域301と、計算機10に搭載されているがOS104dにより管理されないOS管理外領域302とを含む。
図4は、ブートディスク107に格納される、ストレージプログラムメモリマッピングテーブル(以下、マッピングテーブルT40)の一例を示した図である。尚、このテーブルの内容は、ユーザにより設定される。
このシステム内メモリ管理テーブルT70は、DRAM105或いは記憶装置110に格納され、システム全体のDRAM容量、ストレージプロセス単位制御情報資料量(LM)、ストレージシステム単位制御情報資料量(SM)、ストレージシステム転送バッファメモリ使用量(DXBF)、ストレージキャッシュ量メモリ使用量(CM)の容量がそれぞれ管理される。
図8は、計算機10のCPU104で実行される動作(初期起動動作を含む)を示すフローチャートである。
次に、ステップS93で、OS104dがブートディスク107内のOSブートパラメータファイル(マッピングテーブルT40を含む)を参照し、OSが使用するDRAMのメモリ量(OS管理内領域)を設定する。このステップにより、OS104dであるLinuxのOS管理外領域に設定可能な物理リソースも決まる。
次に、ステップS94で、OS104dがシステム設定ファイル(DRAM hugepage数管理テーブルT50)のhugepage予約数を参照し、hugepageを予約する。
次に、ステップS95で、ストレージプログラム104aを起動させる。
メモリ割当処理が開始されると(S100)、ストレージ管理プログラム104aは、マッピングテーブルT40を参照する(S101)。
20:ネットワーク
30:クライアント
101−103:ネットワークIF
104:CPU
1041:コア
1042:DMAコントローラ
104a:ストレージプログラム
104b:OSS(FE/BEchip制御プログラム)
104c:OSS(FE/BEchip制御プログラム I/F)
104d:OS(Linux)
104e:BIOS
105:DRAM
106:SCM
107:ブートディスク
108:バックアップ用デバイス
120:ドライブ
301:OS管理内領域
302:OS管理外領域
Claims (12)
- 計算機であって、
メモリと、
前記メモリに接続されるプロセッサと、
を備え、
前記プロセッサは、OSを実行し、
前記プロセッサは、OS上で複数のプロセスを実行し、前記複数のプロセスは、仮想ストレージ装置とアプリケーションを含み、
前記プロセッサは、
前記OSが管理する前記メモリの物理領域を、前記アプリケーションに提供し、
前記計算機には搭載されているが、前記OSが管理いない前記メモリの物理領域を、前記仮想ストレージ装置が、利用するよう制御し、
前記OSが管理するメモリの物理領域内から、連続する物理領域を確保し、前記仮想ストレージ装置に利用させることを特徴とする計算機。 - 請求項1に記載の計算機において、
前記プロセッサは、
前記OSが管理する前記メモリの物理領域を、OS管理内領域とし、前記OS管理内領域に仮想アドレスを割当てて前記アプリケーションに提供し、
前記計算機には搭載されているが、前記OSが管理いない前記メモリの物理領域を、OS管理外領域として管理し、
前記OS管理内領域から、確保した連続する物理領域を用いて、前記仮想ストレージ装置と前記アプリケーションの間で、DMA転送を行う、ことを特徴とする計算機。 - 請求項2に記載の計算機において、
ブートディスクを更に備え、
前記ブートディスクに、前記メモリの領域毎に、前記OSの仮想先頭アドレスと、前記OS管理内領域か否かの情報と、を管理するマッピングテーブルを、格納することを特徴とする計算機。 - 請求項3に記載の計算機において、
前記プロセッサによる、前記OS管理内領域から、連続する物理領域の確保は、hugepageの機能を用いて行うことを特徴とする計算機。 - 請求項4に記載の計算機において、
前記メモリは、
前記OS管理内領域の物理領域を管理するため、前記hugepageのサイズに対し、前記hugepageの予約数と前記hugepageの割当済数とを管理するhugepage数管理テーブルと、
前記メモリの前記OS管理外領域の先頭物理アドレスに対応する情報、前記仮想ストレージ装置に割当て済みの物理アドレスと、を管理するOS管理外管理テーブルと、を格納することを特徴とする計算機。 - 請求項5に記載の計算機において、
前記プロセッサは、
前記マッピングテーブルを参照し、対象領域が前記OS管理内領域か否かを判断し、
前記対象領域が、前記OS管理内領域でなければ、前記OS管理外管理テーブルの前記割当て済みの物理アドレスから要求サイズ分の物理アドレスを、前記マッピングテーブルの前記仮想先頭アドレスから割当て、前記OS管理外管理テーブルの前記割当て済みの物理アドレスを更新し、
前記対象領域が、前記OS管理内領域であれば、前記hugepage数管理テーブルを参照して、要求サイズより大きいhugepageを選択し、前記マッピングテーブルの前記仮想先頭アドレスから、前記選択されたhugepageによって確保された物理領域を割当て、前記hugepage数管理テーブルの前記割当済数を更新する、ことを特徴とする計算機。 - 請求項6に記載の計算機において、
前記マッピングテーブルは、前記メモリの領域毎に、当該領域が電断時に退避すべきデータを格納しているかを示す電断時対象フラグを管理し、
前記プロセッサは、
前記電断時対象フラグにより、当該領域が電断時に退避すべきデータを格納している領域である場合、前記OS管理外管理テーブルの前記割当て済みの物理アドレス、或いは、前記選択されたhugepageによって確保された物理領域の先頭物理アドレスを、当該領域の先頭物理アドレスとし、当該領域のサイズと共にバックアップデバイス内の物理アドレスと対応付けて管理する保護対象管理テーブルを作成する、ことを特徴とする計算機。 - 請求項7に記載の計算機において、
前記メモリは、揮発性メモリと不揮発性メモリとを含み、
前記マッピングテーブルは、更に、前記メモリの領域毎に、当該領域が配置されるメモリが揮発性メモリか不揮発性メモリかを示す情報と、当該領域が電断時に退避すべきデータを格納しているかを示す電断時対象フラグとを、更に管理する、ことを特徴とする計算機。 - 請求項7に記載の計算機において、
前記計算機は、バックアップ用デバイスを有し、
前記保護対象管理テーブルの前記バックアップデバイス内の物理アドレスは、前記バックアップ用デバイスにおける退避データの格納先アドレスを管理することを特徴とする計算機。 - 請求項9に記載の計算機において、
前記プロセッサは、前記バックアップ用デバイスに退避された退避データを、前記マッピングテーブルの対応する領域の仮想先頭アドレスに対応させてリストアすることを特徴とする計算機。 - メモリと、前記メモリに接続されるプロセッサと、を備える計算機のメモリ管理方法であって、
前記プロセッサは、
OSを実行し、
OS上で複数のプロセスを実行し、前記複数のプロセスは、仮想ストレージ装置とアプリケーションを含み、
前記OSが管理する前記メモリの物理領域を、前記アプリケーションに提供し、
前記計算機には搭載されているが、前記OSが管理いない前記メモリの物理領域を、前記仮想ストレージ装置が、利用するよう制御し、
前記OSが管理するメモリの物理領域内から、連続する物理領域を確保し、前記仮想ストレージ装置に利用させ、
前記確保した連続する物理領域を用いて、前記仮想ストレージ装置と前記アプリケーションの間で、DMA転送を行う、ことを特徴とするメモリ管理方法。 - メモリと、記憶装置と、前記メモリ及び前記記憶装置に接続されるプロセッサと、ネットワークに接続される第1のインタフェースと、前記記憶装置に接続される第2のインタフェースと、を備える計算機のメモリ管理方法であって、
前記プロセッサは、
OSを実行し、
OS上で複数のプロセスを実行し、前記複数のプロセスは、仮想ストレージ装置とアプリケーションを含み、
前記OSが管理する前記メモリの物理領域を、前記アプリケーションに提供し、
前記計算機には搭載されているが、前記OSが管理いない前記メモリの物理領域を、前記仮想ストレージ装置が、利用するよう制御し、
前記OSが管理するメモリの物理領域内から、連続する物理領域を確保し、前記仮想ストレージ装置に利用させ、
前記確保した連続する物理領域を用いて、
前記第1のインタフェース或いは前記第2のインタフェースと前記仮想ストレージとの間で、データ転送を行う、ことを特徴とするメモリ管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020023760A JP6972202B2 (ja) | 2020-02-14 | 2020-02-14 | 計算機システム及びメモリ管理方法 |
US17/029,329 US11416409B2 (en) | 2020-02-14 | 2020-09-23 | Computer system and memory management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020023760A JP6972202B2 (ja) | 2020-02-14 | 2020-02-14 | 計算機システム及びメモリ管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021128627A true JP2021128627A (ja) | 2021-09-02 |
JP6972202B2 JP6972202B2 (ja) | 2021-11-24 |
Family
ID=77272857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020023760A Active JP6972202B2 (ja) | 2020-02-14 | 2020-02-14 | 計算機システム及びメモリ管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11416409B2 (ja) |
JP (1) | JP6972202B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115309538A (zh) * | 2021-05-08 | 2022-11-08 | 戴尔产品有限公司 | 存储资源之间的基于多指标的工作负荷平衡 |
CN114116035B (zh) * | 2022-01-26 | 2022-05-10 | 深圳市吉方工控有限公司 | Windows下的BIOS设置方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005028687A (ja) * | 2003-07-10 | 2005-02-03 | Ricoh Co Ltd | 画像処理装置,情報処理装置およびメモリディスク管理方法 |
WO2017056310A1 (ja) * | 2015-10-02 | 2017-04-06 | 株式会社日立製作所 | 計算機および計算機の制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050165837A1 (en) * | 2004-01-22 | 2005-07-28 | International Business Machines Corporation | System and method for embedded java memory footprint performance improvement |
US8473691B2 (en) * | 2009-02-27 | 2013-06-25 | Ryosuke Ohgishi | Memory management device, image forming apparatus, and image forming method |
WO2010122677A1 (en) * | 2009-04-23 | 2010-10-28 | Hitachi,Ltd. | Storage apparatus and its program processing method and storage controller |
US10108550B2 (en) * | 2016-09-22 | 2018-10-23 | Google Llc | Memory management supporting huge pages |
-
2020
- 2020-02-14 JP JP2020023760A patent/JP6972202B2/ja active Active
- 2020-09-23 US US17/029,329 patent/US11416409B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005028687A (ja) * | 2003-07-10 | 2005-02-03 | Ricoh Co Ltd | 画像処理装置,情報処理装置およびメモリディスク管理方法 |
WO2017056310A1 (ja) * | 2015-10-02 | 2017-04-06 | 株式会社日立製作所 | 計算機および計算機の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6972202B2 (ja) | 2021-11-24 |
US20210255959A1 (en) | 2021-08-19 |
US11416409B2 (en) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11360679B2 (en) | Paging of external memory | |
US11797181B2 (en) | Hardware accessible external memory | |
EP3188449B1 (en) | Method and system for sharing storage resource | |
US9612966B2 (en) | Systems, methods and apparatus for a virtual machine cache | |
KR20200017363A (ko) | 호스트 스토리지 서비스들을 제공하기 위한 NVMe 프로토콜에 근거하는 하나 이상의 호스트들과 솔리드 스테이트 드라이브(SSD)들 간의 관리되는 스위칭 | |
US10289564B2 (en) | Computer and memory region management method | |
JP6972202B2 (ja) | 計算機システム及びメモリ管理方法 | |
US11947419B2 (en) | Storage device with data deduplication, operation method of storage device, and operation method of storage server | |
US20230229330A1 (en) | Storage system and cooperation method | |
WO2019043815A1 (ja) | ストレージシステム | |
EP3889778B1 (en) | Distributed storage system and computer program product | |
JP7118108B2 (ja) | クラウドサーバ、ストレージシステム、及び計算機システム | |
JP7490714B2 (ja) | メモリシステムおよび制御方法 | |
US20230359397A1 (en) | Method for managing storage system, storage system, and computer program product | |
US20140208023A1 (en) | Storage system and control method for storage system | |
WO2017163322A1 (ja) | 管理計算機、および計算機システムの管理方法 | |
JP2015141508A (ja) | データ記憶制御装置、データ記憶制御方法、及び、データ記憶制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210817 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210922 |
|
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: 20211012 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211102 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6972202 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |