JP2011517797A - ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするためのコンピュータ可読プログラム・コード・ロジック、方法、およびシステム - Google Patents
ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするためのコンピュータ可読プログラム・コード・ロジック、方法、およびシステム Download PDFInfo
- Publication number
- JP2011517797A JP2011517797A JP2010547159A JP2010547159A JP2011517797A JP 2011517797 A JP2011517797 A JP 2011517797A JP 2010547159 A JP2010547159 A JP 2010547159A JP 2010547159 A JP2010547159 A JP 2010547159A JP 2011517797 A JP2011517797 A JP 2011517797A
- Authority
- JP
- Japan
- Prior art keywords
- protection
- host
- guest
- address
- bit
- 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
- 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0712—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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/1009—Address translation using page tables, e.g. page table structures
-
- 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/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- 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/0637—Permissions
-
- 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
- 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/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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/145—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 virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- 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/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- 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/654—Look-ahead translation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】 コンピューティング環境のページング可能ゲストによって使用されるストレージの管理を容易にする。試行済みストレージ・アクセスに応じて、どのレベルの保護(ホストまたはゲスト)が障害条件を引き起こしたかという判断を可能にする拡張保護抑止機構を提供する。
【選択図】 図11
Description
フレーム記述子は、ホスト・ページ・フレーム、すなわち、仮想メモリの一部分(ページ)を保持できる実メモリの一領域(フレーム)を記述するものである。これは、ホストによって割り振られ、割り振り解除され、初期化されるものであり、ホスト・ページ管理支援(Host Page Management Assist)機能(たとえば、2004年5月27日に出願されたBlandy他による「Facilitating Management of Storage of a Pageable Mode VirtualEnvironment Absent Intervention of a Host of the Environment」という発明の名称の米国特許出願第10/854990号に記載されている)によって更新することができる。
「領域テーブル項目」という用語は、領域第1テーブル項目、領域第2テーブル項目、または領域第3テーブル項目を示す。ある項目を含むテーブルのレベル(第1、第2、または第3)は、その項目内のテーブル・タイプ(TT)ビットによって識別される。領域第1テーブル、領域第2テーブル、および領域第3テーブルから取り出された項目のフォーマットの例は図4〜図6に描写されている。特に、図4は領域第1テーブル項目400のフォーマットの一実施形態を描写し、図5は領域第2テーブル項目430のフォーマットの一実施形態を描写し、図6は領域第3テーブル項目460のフォーマットの一実施形態を描写している。
拡張DATが適用されないときに、または拡張DATが適用され、セグメント・テーブル項目(STE)フォーマット制御であるセグメント・テーブル項目のビット53が0であるときに、セグメント・テーブルから取り出された項目は図7に描写されているフォーマット(たとえば、フォーマット0)を有する。拡張DATが適用され、STEフォーマット制御が1であるときに、セグメント・テーブルから取り出された項目は、たとえば、図8に描写されているフォーマット(たとえば、フォーマット1)を有する。
・ FCビットが0であるときに、この項目のビット0〜52はページ・テーブル起点を形成し、ビット55は予約される。
・ FCビットが1であるときに、この項目のビット0〜43はセグメント・フレーム絶対アドレスを形成し、ビット47はACCF妥当性制御であり、ビット48〜51はアクセス制御ビットであり、ビット52は取り出し保護ビットであり、ビット55は変更記録オーバーライドである。拡張DATが適用されないときに、ビット53は無視される。
・ 拡張DATが適用されないときに、ビット54は、変換時に使用されるページ・テーブル項目内のDAT保護ビットとのORが取られるものとして処理される。
・ 拡張DATが適用されるときに、変換時に使用される任意およびすべての領域テーブル項目内のDAT保護ビットは、セグメント・テーブル項目内のDAT保護ビットとのORが取られるものとして処理され、STEフォーマット制御が0であるときに、STE内のDAT保護ビットは、ページ・テーブル項目内のDAT保護ビットとのORが取られるものとしてさらに処理される。
・ このビットが0であるときに、セグメント・テーブル項目を使用することにより、アドレス変換が続行される。
・ このビットが1であるときに、セグメント・テーブル項目を変換に使用することはできない。
・ 0は専用セグメント(private segment)を識別し、この場合、セグメント・テーブル項目およびそれが指定する任意のページ・テーブルは、そのセグメント・テーブル項目が常駐するセグメント・テーブルを指定するセグメント・テーブル起点に関連する場合にのみ使用することができる。
・ 1は共通セグメントを識別し、この場合、セグメント・テーブル項目およびそれが指定する任意のページ・テーブルは、異なるセグメント・テーブルが指定されている場合でも、セグメント索引に対応するアドレスを変換するために使用し続けることができる。
・ FCビットが0であるときに、この項目のビット0〜52はページ・テーブル起点を形成し、ビット55は予約される。
・ FCビットが1であるときに、この項目のビット0〜43はセグメント・フレーム絶対アドレスを形成し、ビット47はアクセス制御ビットおよび取り出し保護ビットのACCF妥当性制御であり、ビット48〜51はアクセス制御ビットであり、ビット52は取り出し保護ビットであり、ビット55は変更記録オーバーライドである。拡張DATが適用されないときに、ビット53は無視される。
・ 拡張DATが適用されないときに、ビット54は、変換時に使用されるページ・テーブル項目内のDAT保護ビットとのORが取られるものとして処理される。
・ 拡張DATが適用されるときに、変換時に使用される任意およびすべての領域テーブル項目内のDAT保護ビットは、セグメント・テーブル項目内のDAT保護ビットとのORが取られるものとして処理され、STEフォーマット制御が0であるときに、STE内のDAT保護ビットは、ページ・テーブル項目内のDAT保護ビットとのORが取られるものとしてさらに処理される。
・ このビットが0であるときに、セグメント・テーブル項目を使用することにより、アドレス変換が続行される。
・ このビットが1であるときに、セグメント・テーブル項目を変換に使用することはできない。
・ 0は専用セグメントを識別し、この場合、セグメント・テーブル項目およびそれが指定する任意のページ・テーブルは、そのセグメント・テーブル項目が常駐するセグメント・テーブルを指定するセグメント・テーブル起点に関連する場合にのみ使用することができる。
・ 1は共通セグメントを識別し、この場合、セグメント・テーブル項目およびそれが指定する任意のページ・テーブルは、異なるセグメント・テーブルが指定されている場合でも、セグメント索引に対応するアドレスを変換するために使用し続けることができる。
ゲスト・ブロック(たとえば、単一ストレージ・キー(storage key)および協調メモリ管理(CMM:collaborative memory management)状態がそれに関連付けられている絶対メモリ内の領域(たとえば、4Kバイト))に関する状態情報は、たとえば、ゲストのメモリを記述するホスト・ページ・テーブル(PT)およびページ状況テーブル(PGST)に維持される。これらのテーブルは、たとえば、以下により詳細に記載する、1つまたは複数のページ・テーブル項目(PTE)および1つまたは複数のページ状況テーブル項目(PGSTE)をそれぞれ含む。
・ DAT保護ビットは、変換時に使用されるセグメント・テーブル項目では0になる。
・ 拡張DATが適用されるときに、DAT保護ビットは、変換時に使用されるすべての領域テーブル項目で0になる。
(a)Acc702: アクセス制御キー
(b)FP704: 取り出し保護インジケータ
(c)ページ制御インターロック(PCL)706: これは、予約済みとマークされているPGSTE状況領域およびPGSTEビットを除き、ページ・テーブル項目(PTE)および対応するPGSTEへの更新を直列化するためのインターロック制御である。
(d)HR708: ホスト参照バックアップ・インジケータ
(e)HC710: ホスト変更バックアップ・インジケータ
(f)GR712: ゲスト参照バックアップ・インジケータ
(g)GC714: ゲスト変更バックアップ・インジケータ
(h)状況716: ホスト・プログラム用として意図されている。
(i)ページ内容論理ゼロ・インジケータ(Z)718: このビットは、対応するPTEページ無効(PTE.I)ビットが1であるときに意味がある。
Zが1であるときに、このPGSTEおよび対応するPTEによって記述されたページの内容は0であると見なされる。そのページの前の内容はいずれも保存される必要はなく、0のページで置き換えることができる。
Zが0であるときに、PGSTEおよび対応するPTEによって記述されたページの内容は0であると見なされない。そのページの内容はホストによって保存される。
Zビットが1であり、対応するPTE.Iビットが1であるときに、CMMホスト状態はz(論理ゼロ)になる。これは、ページ内容をホストによってまたはホスト・ページ管理支援機構の一機能によって置き換えることができることを意味する。
Zビットが1であり、対応するPTE.Iビットが1であり、ページ内容が置き換えられるときに、そのページは、0に設定されているフレームにそれを関連付けることによって置き換えなければならない。
Zビットが0であり、PTE無効ビットが1であるときに、CMMホスト状態はp(保存済み)になる。
(j)ページ・クラス(PC)720: 0であるときに、PGSTEおよび対応するPTEによって記述されたページはクラス0ページであり、クラス0ページ用のデルタ・ピン固定ページ・カウント・アレイ(DPPCA:delta pinned page count array)は、そのページに関するピン固定(pinning)動作およびピン解除(unpinning)動作をカウントするために使用される。1であるときに、PGSTEおよび対応するPTEによって記述されたページはクラス1ページであり、クラス1ページ用のDPPCAは、そのページに関するピン固定動作およびピン解除動作をカウントするために使用される。
(k)ピン・カウント・オーバーフロー(PCO)722: 1であるときに、ピン・カウント・フィールドはオーバーフロー状態になっている。この場合、全ピン・カウントは、マシンによってアクセスされない他のデータ構造にホストによって保持される。0であるときに、ピン・カウント・フィールドはオーバーフロー状態になっていない。
(l)処理済みフレーム記述子リスト上のフレーム記述子(FPL)724: 1であるときに、PGSTEおよび対応するPTEによって記述されたページに関するフレーム記述子は処理済みフレーム記述子リスト内にある。フレーム記述子は、そのページに関するHPMA解決ホスト・ページ機能によって使用されたホスト・フレームを識別する。
(m)ページ内容置き換え要求(PCR)726: 1であるときに、PGSTEおよび対応するPTEによって表されるページについてHPMA解決ホスト・ページ機能が呼び出されたときに、ページ内容置き換えが要求された。
(n)使用状態(US)728: ホストとゲストとの協調メモリ管理の場合、このフィールドは、ゲスト状態がS(安定(stable)、すなわち、安定ブロックの内容はゲストによって設定されたものに等しいままになる)になるか、U(未使用(unused)、すなわち、未使用ブロックの内容はゲストにとって意味がない)になるか、V(揮発性(volatile)、すなわち、揮発性ブロックの内容はゲストにとって意味があるが、ホストはそのブロックの内容をいつでも廃棄し、バッキング・フレームを再利用(reclaim)することができる)になるか、またはP(潜在的揮発性(potentiallyvolatile)、すなわち、潜在的揮発性ブロックの内容はゲストにとって意味があるが、ゲスト変更履歴に基づいて、ホストは、そのブロックの内容を廃棄できるかまたは保存しなければならない)になるかを示す。
(o)状況730: ホスト・プログラム用として意図されている。
(p)ピン・カウント732: PGSTEおよび対応するPTEによって表されるホスト仮想ページの内容がPTEのページ・フレーム実アドレス・フィールドによって指定された実ホスト・フレーム内にピン固定されるかどうかを示すために使用される符号なし2進整数カウント。このフィールドの値が0より大きいかまたはページ・カウント・オーバーフロー(PCO)ビットが1であるときに、対応するページはピン固定されていると見なされる。このフィールドの値が0であり、PCOビットが0であるときに、対応するページはピン固定されていると見なされない。
ホストまたはCPUのいずれかによってページがピン固定された時点で、このフィールドは1だけ増分されるはずである。ホストまたはCPUのいずれかによってページがピン解除された時点で、このフィールドは1だけ減分されるはずである。
ピン・カウント・フィールドの値が0より大きいかまたはPCOビットが1であるときに、対応するPTE.I(ページ無効)ビットは0になるはずである。そうでなければ、予測不能な結果が発生する可能性がある。
ページがピン固定されている間、ホスト・プログラムは、PTEまたはセグメント・テーブル項目(STE)内のPTEページ・フレーム実アドレス(PFRA)フィールドの内容、PTEページ無効(I)ビットの設定、またはページ保護(P)ビットの設定を変更してはならない。そうでなければ、予測不能な結果が発生する可能性がある。
時には、メモリの各部分がコピーされるはずである。このコピーは、ユーザ開始であるか、またはオペレーティング・システムによって開始することができる。従来のシステムは、フラッシュ・コピーに遅延コピー技法(lazy copy technique)を使用する場合が多く、コピーすべきストレージには読み取り専用(read-only)という状況が割り当てられるが、実際のコピーは後ほどまで据え置かれる。オリジナルまたはコピーへの書き込みを試みる場合、メモリはその時点でコピーされ、オリジナルとコピーの両方に読み取り書き込み(read-write)という入出力(I/O)状況が与えられる。このようにして、コピーは直ちに行われたように見えるが、実際のコピーは後ほど(たとえば、考えられる最も遅い時間)まで据え置かれる。書き込みがまったく行われない場合、コピーもまったく行われない。このため、この方法はコピー・オン・ライト(COW)または仮想コピーと呼ばれる。
z/Architectureでは、たとえば、命令実行は、完了(completion)、ヌル文字化(nullification)、抑止(suppression)、終了(termination)、および部分完了(partial completion)という5通りのうちの1つで終了し、そのそれぞれについて以下に説明する。
エラーを含むかまたは無許可であるプログラムによる破壊または誤用からメイン・ストレージの内容を保護するために、キー制御保護、アクセス・リスト制御保護、ページ保護、および低アドレス保護という4つの保護機構が提供される。これらの保護機構は独立して適用され、いずれの機構もアクセスを禁止しないときに、メイン・ストレージへのアクセスが許可される。それぞれの保護機構について以下に説明する。
・ 割り込み
・ CPUログアウト
・ アクセス・レジスタ変換、動的アドレス変換、PC番号変換、ASN変換、またはASN許可に関するテーブル項目の取り出し
・ 追跡
・ ストア状況機能
・ 保留割り込みテスト(Test Pending Interruption)が0というオペランド・アドレスを有するときに実位置184〜191へのストア
・ 初期プログラム・ローディング
アクセス・レジスタ・モードでは、取り出し専用ビットであるアクセス・リスト項目のビット6は、アクセス・リスト項目によって指定されたアドレス・スペースに対し、どのタイプのオペランド参照が許可されるかを制御する。ある参照のアクセス・レジスタ変換部分でその項目が使用され、ビット6が0であるときに、取り出しタイプおよびストア・タイプの両方の参照が許可され、ビット6が1であるときに、取り出しタイプ参照が許可され、ストアしようという試みによって、保護例外が認識され、命令の実行が抑止される。取り出し専用ビットはALBアクセス・リスト項目に含まれる。メイン・ストレージ内のアクセス・リスト項目内の取り出し専用ビットに対する変更は、保護例外が認識されるかどうかに対して影響を及ぼす場合でも、必ずしも直ちに影響を及ぼすわけではない。しかし、このビットに対するこの変更は、たとえば、ALBをパージするALBパージ(Purge ALB)命令または比較交換パージ(Compare And Swap AndPurge)命令が実行された直後に影響を及ぼす。以下に記載する保護テスト命令は、CPUがアクセス・レジスタ・モードにあるときにアクセス・リスト制御保護を考慮に入れる。アクセス・リスト制御保護に違反すると、一例として、条件コード1が設定されるが、例外として、たとえば、条件コード2または3に関する条件が満足されたときにこれらの条件コードが設定されるのを妨げない。
ページ保護機構は、それぞれのページ・テーブル項目およびセグメント・テーブル項目内のページ保護ビットを使用することにより、仮想ストレージへのアクセスを制御する。これは、不適切なストアに対する保護を提供する。ページ保護ビットであるページ・テーブル項目のビット54は、対応する4Kバイト・ページへのストアが許可されるかどうかを制御する。このビットが0であるときに、取り出しとストアの両方が許可され、このビットが1であるときに、取り出しのみが許可される。保護ページにストアしようという試みが行われると、そのページの内容は変わらず、操作単位または命令の実行は抑止され、保護のためのプログラム割り込みが行われる。ページ保護ビットであるセグメント・テーブル項目のビット54は、セグメント・テーブル項目によって指定されたページ・テーブル内の各項目のページ保護ビット位置内にORされるものとして処理される。したがって、セグメント・テーブル項目ページ保護ビットが1であるときに、その結果は、指定されたページ・テーブル内の各項目でページ保護ビットが1である場合のようになる。ページ保護は、仮想アドレスを使用するストア・タイプ参照に適用される。
低アドレス保護機構は、割り込み処理中にCPUによって使用されるメイン・ストレージ情報の破壊に対する保護を提供する。これは、たとえば、0〜511の範囲および4096〜4607の範囲内の有効アドレス(第1および第2の4Kバイトの有効アドレス・ブロックの最初の512バイト)によって命令がストアすることを禁止することによって達成される。この範囲基準は、動的アドレス変換またはプレフィックス変換によってアドレスのアドレス変換が行われる場合にその前に適用される。しかし、この範囲基準が適用されないと、その結果、有効アドレスが動的アドレス変換の対象になり、専用スペース制御であるビット55が変換時に使用されるアドレス・スペース制御要素内で1である場合に、低アドレス保護が適用されない。使用すべきアドレス・スペース制御要素が他のタイプの例外のために使用不能である場合に、低アドレス保護は適用されない。低アドレス保護は、低アドレス保護制御ビットである制御レジスタ0のビット35の制御下にある。このビットが0であるときに、低アドレス保護はオフであり、このビットが1であるときに、低アドレス保護はオンである。
一部の命令定義は、いずれかのタイプの保護による保護例外が認識された場合に動作が抑止されることを指定する。この指定が欠けていると、アクセス・リスト制御保護またはDAT保護(ページ保護とも呼ばれる)による保護例外が認識された場合に命令の実行は抑止され、低アドレス保護またはキー制御保護による保護例外が認識された場合に命令の実行は抑止されるかまたは終了される可能性がある。
・ その間に例外が認識された操作単位または命令実行は抑止されていた。
・ プログラムの旧PSW内のDATモード・ビットによって示されているように、動的アドレス変換(DAT)がオンであった場合、例外を引き起こした有効アドレスは、DATによって変換すべきであった1である。(有効アドレスは、DATまたはプレフィックス変換による任意の変換の前に存在するアドレスである。)DATがオンであった場合にビット61は0に設定されるが、有効アドレスは実アドレスであるのでDATによって変換されないはずであった。DATがオフであった場合、保護例外は、DAT保護またはアクセス・リスト制御保護によるものであった可能性はない。
・ 実位置168〜175のビット位置0〜51は、例外を引き起こした有効アドレスのビット0〜51を含む。DATがオンであって、有効アドレスがDATによって変換されるはずであったことを示していた場合、実位置168〜175のビット位置62および63ならびに実位置160は、ページ変換例外によるプログラム割り込み中にストアされるものと同じ情報を含み、この情報は保護アドレスを含むアドレス・スペースを識別する。また、実位置168〜175のビット60は、保護例外がアクセス・リスト制御保護によるものではなかった場合に0になり、その例外がアクセス・リスト制御保護によるものであった場合に1になる。ビット位置60の1は、その例外がDAT保護によるものではなかったことを示す。DATがオフであった場合、実位置168〜175のビット位置60、62、および63の内容、ならびに実位置160の内容は予測不能である。実位置168〜175のビット位置52〜59の内容は予測不能である。
拡張保護抑止機能がインストールされると、保護例外中に何が発生する可能性があるかについて以下の追加の制約が発生する。これらの制約は、元の保護抑止機能に定義されているどの制約よりも優先される。
・ ゲスト・プレフィックス域にストアすべき割り込み情報(しかし、割り込み以前のゲストPSWは状態記述にストアされる。)
・ 適用可能であれば、割り込み要求そのもの
保護抑止機能は、ページング可能モードDATオフ・ゲストのために、ホスト・アクセス・リスト制御保護およびホスト・ページ保護により、たとえばz/VMによって使用可能である。DATモード・ビット(たとえば、プログラムの旧PSWのビット5)が0であるときにゲストはDATオフであり、DATモード・ビットが1であるときにゲストはDATオンである。ホスト・アクセス・リスト制御保護はMCDSゲスト(DATオフ・ゲストである)に適用される。
解釈実行モードでの拡張保護抑止は、たとえば、z/Architectureモードで動作するホストおよびz/Architectureモードのホストの下で任意のアーキテクチャ・モードで動作するゲストについて定義される。(しかし、他の諸実施形態では、ホストは他のアーキテクチャ・モードで動作することができる。)
・ その間に例外が認識されたゲスト操作単位またはゲスト命令実行はヌル文字化される。
・ 解釈実行開始命令は抑止される。
・ 情報は、それがホスト内の通常例外であった場合のようにホスト・ストレージにストアされる。変換例外IDにストアされたアドレスはホスト仮想アドレスであり、ASCE IDおよび例外アクセスIDはホスト・アドレス・スペースを識別する。(非MCDSゲストの場合、これはホスト1次スペースである。)
本発明の一態様により、保護例外に関するテストを可能にする機能が提供される。一例として、保護テスト(TPROT)命令は、TPROT命令を実行しているプログラムに対してプログラムによって使用すべきストレージに関する情報を提供するために使用される。たとえば、これは、ストレージの保護に関する表示を提供し、ホスト・レベル保護とゲスト・レベル保護との区別を可能にする。TPROTは、本発明の1つまたは複数の態様により、ESOPを利用する。
0 取り出し許可;ストア許可
1 取り出し許可;ストア不許可
2 取り出し不許可;ストア不許可
3 変換使用不能
・ 拡張保護抑止機構がホストにインストールされる。
・ ECB.6が1である。
・ 条件コード1が設定されることを要求する条件が存在する。
・ ホスト・ページ保護例外条件が存在する。
・ アクセス・リスト制御保護例外条件またはゲスト・ページ保護例外条件のいずれも存在しない。
0 取り出し許可;ストア許可
1 取り出し許可;ストア不許可
2 取り出し不許可;ストア不許可
3 変換使用不能
・ アドレス指定(有効アクセス・リスト指定、アクセス・リスト項目、ASN第2テーブル項目、権限テーブル項目、領域テーブル項目、セグメント・テーブル項目、ページ・テーブル項目、またはオペランド1)
・ 特権操作
・ 変換指定
本明細書ではIBMによるz/Architectureについて言及しているが、本発明の1つまたは複数の態様は、ページング可能エンティティまたは同様の構成体を使用する他のマシン・アーキテクチャまたはコンピューティング環境あるいはその両方に同等に適用可能である。
様々な例および実施形態が本明細書に記載されているが、これらは例に過ぎず、多くの変形例が本発明の範囲内に含まれる。たとえば、本明細書に記載されているコンピューティング環境は一例に過ぎない。他のタイプの通信環境を含む、多くのその他の環境は、本発明の1つまたは複数の態様を含むことができる。たとえば、種々のタイプのプロセッサ、ゲスト、またはホスト、あるいはそれらの組み合わせを使用することができる。さらに、ページング可能ホストならびにページング可能ゲストは、本発明の1つまたは複数の態様を使用することができる。その上、その他のタイプのアーキテクチャは、本発明の1つまたは複数の態様を使用することができる。
Claims (6)
- ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするためのコンピュータ可読プログラム・コード・ロジックであって、方法を実行するためにコンピュータによって実行するための前記コンピュータ可読プログラム・コード・ロジックを有する少なくとも1つのコンピュータ使用可能媒体を含む装置であって、前記方法が、
ホスト・レベルの保護およびゲスト・レベルの保護によって保護されたストレージの一領域へのアクセスを試みるステップと、
前記試行済みアクセスに応じて受け取られた障害が前記ホスト・レベルの保護によるものであるかまたは前記ゲスト・レベルの保護によるものであるかを判断するステップと、
を含む、装置。 - ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にする方法であって、
ホスト・レベルの保護およびゲスト・レベルの保護によって保護されたストレージの一領域へのアクセスを試みるステップと、
前記試行済みアクセスに応じて受け取られた障害が前記ホスト・レベルの保護によるものであるかまたは前記ゲスト・レベルの保護によるものであるかを判断するステップと、
を含む、方法。 - ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするシステムであって、
ホスト・レベルの保護およびゲスト・レベルの保護によって保護されたストレージの一領域へのアクセスを試みるための少なくとも1つのプロセッサと、
前記試行済みアクセスに応じて受け取られた障害が前記ホスト・レベルの保護によるものであるかまたは前記ゲスト・レベルの保護によるものであるかを判断するための少なくとも1つのプロセッサと、
を含む、システム。 - 命令を実行するためのコンピュータ・プログラムであって、
処理回路によって読み取り可能であって、方法を実行するために前記処理回路によって実行するための命令を保管する記憶媒体を含み、前記方法が、
保護テスト機械命令を入手するステップであって、前記保護テスト機械命令が命令コード・フィールドと、第1オペランドと、第2オペランドとを含む、前記入手するステップと、
ページング可能ゲストにより、前記入手した保護テスト機械命令を実行するステップであって、前記実行するステップが、
1つまたは複数の保護例外について前記第1オペランドによって指定された位置をテストするステップを含み、前記テストするステップが前記第2オペランドのキーを使用し、保護例外の表示が、前記保護例外がホスト・レベル保護によるものであるかまたはゲスト・レベル保護によるものであるかという表示を含む、前記実行するステップと、
を含む、コンピュータ・プログラム。 - 前記プログラムがコンピュータ上で実行されるときに請求項2記載の方法の前記ステップのすべてを実行するように適合されたコード手段を含む、コンピュータ・プログラム。
- 方法のステップのすべてを実行するように適合されたコード手段を含む、コンピュータ・プログラムであって、前記方法が、
保護テスト機械命令を入手するステップであって、前記保護テスト機械命令が命令コード・フィールドと、第1オペランドと、第2オペランドとを含む、前記入手するステップと、
ページング可能ゲストにより、前記入手した保護テスト機械命令を実行するステップであって、前記実行するステップが、
1つまたは複数の保護例外について前記第1オペランドによって指定された位置をテストするステップを含み、前記テストするステップが前記第2オペランドのキーを使用し、保護例外の表示が、前記保護例外がホスト・レベル保護によるものであるかまたはゲスト・レベル保護によるものであるかという表示を含む、前記実行するステップと、
を含む、コンピュータ・プログラム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3116008P | 2008-02-25 | 2008-02-25 | |
US61/031,160 | 2008-02-25 | ||
US12/052,683 | 2008-03-20 | ||
US12/052,683 US8176280B2 (en) | 2008-02-25 | 2008-03-20 | Use of test protection instruction in computing environments that support pageable guests |
US12/052,675 | 2008-03-20 | ||
US12/052,675 US8176279B2 (en) | 2008-02-25 | 2008-03-20 | Managing use of storage by multiple pageable guests of a computing environment |
PCT/EP2009/051799 WO2009106451A1 (en) | 2008-02-25 | 2009-02-16 | Managing use of storage by multiple pageable guests of a computing environment |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015134396A Division JP2015228227A (ja) | 2008-02-25 | 2015-07-03 | ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするためのコンピュータ可読プログラム・コード・ロジック、方法、およびシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011517797A true JP2011517797A (ja) | 2011-06-16 |
JP5812245B2 JP5812245B2 (ja) | 2015-11-11 |
Family
ID=40999535
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010547159A Active JP5812245B2 (ja) | 2008-02-25 | 2009-02-16 | ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするためのコンピュータ可読プログラム・コード・ロジック、方法、およびシステム |
JP2015134396A Ceased JP2015228227A (ja) | 2008-02-25 | 2015-07-03 | ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするためのコンピュータ可読プログラム・コード・ロジック、方法、およびシステム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015134396A Ceased JP2015228227A (ja) | 2008-02-25 | 2015-07-03 | ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするためのコンピュータ可読プログラム・コード・ロジック、方法、およびシステム |
Country Status (15)
Country | Link |
---|---|
US (11) | US8176279B2 (ja) |
EP (1) | EP2248020B1 (ja) |
JP (2) | JP5812245B2 (ja) |
KR (2) | KR101253394B1 (ja) |
CN (1) | CN101952807B (ja) |
CA (1) | CA2708939C (ja) |
DK (1) | DK2248020T3 (ja) |
ES (1) | ES2893618T3 (ja) |
HR (1) | HRP20211545T1 (ja) |
HU (1) | HUE056177T2 (ja) |
LT (1) | LT2248020T (ja) |
PL (1) | PL2248020T3 (ja) |
PT (1) | PT2248020T (ja) |
SI (1) | SI2248020T1 (ja) |
WO (1) | WO2009106451A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018538630A (ja) * | 2015-12-15 | 2018-12-27 | エルゼットラブズ ゲーエムベーハー | 仮想アドレス空間レガシーエミュレーションシステムにおける保護キー管理およびプレフィックス変換 |
JP2019117664A (ja) * | 2019-04-18 | 2019-07-18 | エルゼットラブズ ゲーエムベーハー | 仮想アドレス空間レガシーエミュレーションシステムにおける保護キー管理およびプレフィックス変換 |
JP2022522374A (ja) * | 2019-03-08 | 2022-04-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込みイネーブルのためのセキュア・インターフェース制御ハイレベル命令インターセプト |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423747B2 (en) * | 2008-06-30 | 2013-04-16 | Intel Corporation | Copy equivalent protection using secure page flipping for software components within an execution environment |
US8387049B2 (en) | 2005-07-15 | 2013-02-26 | International Business Machines Corporation | Facilitating processing within computing environments supporting pageable guests |
US8176279B2 (en) * | 2008-02-25 | 2012-05-08 | International Business Machines Corporation | Managing use of storage by multiple pageable guests of a computing environment |
GB0823162D0 (en) * | 2008-12-18 | 2009-01-28 | Solarflare Communications Inc | Virtualised Interface Functions |
US20110153306A1 (en) * | 2009-12-23 | 2011-06-23 | International Business Machines Corporation | System, method and computer program product for processor verification using abstract test case |
US8589657B2 (en) * | 2011-01-04 | 2013-11-19 | International Business Machines Corporation | Operating system management of address-translation-related data structures and hardware lookasides |
CN103384875B (zh) * | 2011-06-30 | 2016-02-17 | 株式会社日立制作所 | 计算机系统和访问限制方法 |
US8918885B2 (en) * | 2012-02-09 | 2014-12-23 | International Business Machines Corporation | Automatic discovery of system integrity exposures in system code |
US9027148B2 (en) * | 2012-03-19 | 2015-05-05 | Intel Corporation | Anti-malware protection operation with instruction included in an operand |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US8880959B2 (en) | 2012-06-15 | 2014-11-04 | International Business Machines Corporation | Transaction diagnostic block |
US8966324B2 (en) | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US9223663B2 (en) * | 2012-06-22 | 2015-12-29 | International Business Machines Corporation | Resolving memory faults with reduced processing impact |
US9317630B2 (en) | 2012-12-07 | 2016-04-19 | International Business Machines Corporation | Memory frame architecture for instruction fetches in simulation |
US9223602B2 (en) * | 2012-12-28 | 2015-12-29 | Intel Corporation | Processors, methods, and systems to enforce blacklisted paging structure indication values |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
US9317452B1 (en) * | 2013-11-18 | 2016-04-19 | Amazon Technologies, Inc. | Selective restrictions to memory mapped registers using an emulator |
US9582295B2 (en) | 2014-03-18 | 2017-02-28 | International Business Machines Corporation | Architectural mode configuration |
US9588774B2 (en) | 2014-03-18 | 2017-03-07 | International Business Machines Corporation | Common boot sequence for control utility able to be initialized in multiple architectures |
US9916185B2 (en) | 2014-03-18 | 2018-03-13 | International Business Machines Corporation | Managing processing associated with selected architectural facilities |
KR102196971B1 (ko) | 2014-03-28 | 2020-12-31 | 삼성전자주식회사 | 스토리지 시스템, 그것의 쓰기 방지 수행 방법, 그리고 그것의 쓰기 방지 인증 방법 |
US9519430B2 (en) * | 2014-05-28 | 2016-12-13 | International Business Machines Corporation | Verification of management of real storage via multi-threaded thrashers in multiple address spaces |
US9606732B2 (en) * | 2014-05-28 | 2017-03-28 | International Business Machines Corporation | Verification of serialization of storage frames within an address space via multi-threaded programs |
CN107408052B (zh) * | 2015-04-10 | 2021-04-16 | 谷歌有限责任公司 | 共享对象层级上的二进制转换的方法、系统和介质 |
CN107408053B (zh) * | 2015-04-10 | 2021-04-16 | 谷歌有限责任公司 | 用于到本原客户端的二进制翻译的方法、系统和介质 |
WO2016189725A1 (ja) * | 2015-05-28 | 2016-12-01 | 三菱電機株式会社 | シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム |
US11379385B2 (en) | 2016-04-16 | 2022-07-05 | Vmware, Inc. | Techniques for protecting memory pages of a virtual computing instance |
US10430223B2 (en) | 2016-05-17 | 2019-10-01 | Vmware, Inc. | Selective monitoring of writes to protected memory pages through page table switching |
US10592267B2 (en) | 2016-05-17 | 2020-03-17 | Vmware, Inc. | Tree structure for storing monitored memory page data |
US10120738B2 (en) * | 2016-06-24 | 2018-11-06 | Vmware, Inc. | Hypervisor techniques for performing non-faulting reads in virtual machines |
US10168902B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing purging of structures associated with address translation |
US10802986B2 (en) | 2016-07-18 | 2020-10-13 | International Business Machines Corporation | Marking to indicate memory used to back address translation structures |
US10282305B2 (en) | 2016-07-18 | 2019-05-07 | International Business Machines Corporation | Selective purging of entries of structures associated with address translation in a virtualized environment |
US10176110B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Marking storage keys to indicate memory used to back address translation structures |
US10223281B2 (en) | 2016-07-18 | 2019-03-05 | International Business Machines Corporation | Increasing the scope of local purges of structures associated with address translation |
US10248573B2 (en) | 2016-07-18 | 2019-04-02 | International Business Machines Corporation | Managing memory used to back address translation structures |
US10176006B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Delaying purging of structures associated with address translation |
US10241924B2 (en) | 2016-07-18 | 2019-03-26 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation using an array of tags |
US10180909B2 (en) | 2016-07-18 | 2019-01-15 | International Business Machines Corporation | Host-based resetting of active use of guest page table indicators |
US10169243B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation |
US10176111B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Host page management using active guest page table indicators |
US10162764B2 (en) | 2016-07-18 | 2018-12-25 | International Business Machines Corporation | Marking page table/page status table entries to indicate memory used to back address translation structures |
US10324796B2 (en) * | 2016-08-11 | 2019-06-18 | International Business Machines Corporation | Stack detail recovery |
US10452288B2 (en) | 2017-01-19 | 2019-10-22 | International Business Machines Corporation | Identifying processor attributes based on detecting a guarded storage event |
US10496292B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Saving/restoring guarded storage controls in a virtualized environment |
US10579377B2 (en) | 2017-01-19 | 2020-03-03 | International Business Machines Corporation | Guarded storage event handling during transactional execution |
US10496311B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Run-time instrumentation of guarded storage event processing |
US10732858B2 (en) | 2017-01-19 | 2020-08-04 | International Business Machines Corporation | Loading and storing controls regulating the operation of a guarded storage facility |
US10725685B2 (en) | 2017-01-19 | 2020-07-28 | International Business Machines Corporation | Load logical and shift guarded instruction |
US9984766B1 (en) * | 2017-03-23 | 2018-05-29 | Arm Limited | Memory protection circuitry testing and memory scrubbing using memory built-in self-test |
US10565126B2 (en) * | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
US10795679B2 (en) | 2018-06-07 | 2020-10-06 | Red Hat, Inc. | Memory access instructions that include permission values for additional protection |
US11151267B2 (en) | 2019-02-25 | 2021-10-19 | International Business Machines Corporation | Move data and set storage key based on key function control |
US10831480B2 (en) | 2019-02-25 | 2020-11-10 | International Business Machines Corporation | Move data and set storage key instruction |
US11176054B2 (en) | 2019-03-08 | 2021-11-16 | International Business Machines Corporation | Host virtual address space for secure interface control storage |
US11068310B2 (en) | 2019-03-08 | 2021-07-20 | International Business Machines Corporation | Secure storage query and donation |
US11283800B2 (en) | 2019-03-08 | 2022-03-22 | International Business Machines Corporation | Secure interface control secure storage hardware tagging |
US11403409B2 (en) | 2019-03-08 | 2022-08-02 | International Business Machines Corporation | Program interruptions for page importing/exporting |
US11347869B2 (en) * | 2019-03-08 | 2022-05-31 | International Business Machines Corporation | Secure interface control high-level page management |
US11182192B2 (en) | 2019-03-08 | 2021-11-23 | International Business Machines Corporation | Controlling access to secure storage of a virtual machine |
US11455398B2 (en) * | 2019-03-08 | 2022-09-27 | International Business Machines Corporation | Testing storage protection hardware in a secure virtual machine environment |
US10891232B2 (en) | 2019-03-21 | 2021-01-12 | International Business Machines Corporation | Page-based memory operation with hardware initiated secure storage key update |
US10970224B2 (en) | 2019-06-28 | 2021-04-06 | International Business Machines Corporation | Operational context subspaces |
US11176056B2 (en) * | 2019-06-28 | 2021-11-16 | International Business Machines Corporation | Private space control within a common address space |
US11074195B2 (en) | 2019-06-28 | 2021-07-27 | International Business Machines Corporation | Access to dynamic address translation across multiple spaces for operational context subspaces |
US10891238B1 (en) | 2019-06-28 | 2021-01-12 | International Business Machines Corporation | Dynamically joining and splitting dynamic address translation (DAT) tables based on operational context |
US11226902B2 (en) | 2019-09-30 | 2022-01-18 | International Business Machines Corporation | Translation load instruction with access protection |
JP7272290B2 (ja) * | 2020-01-24 | 2023-05-12 | 株式会社ダイフク | 仕分け設備及び走行台車の状態検査方法 |
US11513779B2 (en) | 2020-03-19 | 2022-11-29 | Oracle International Corporation | Modeling foreign functions using executable references |
US11875168B2 (en) | 2020-03-19 | 2024-01-16 | Oracle International Corporation | Optimizing execution of foreign method handles on a virtual machine |
US11543976B2 (en) * | 2020-04-01 | 2023-01-03 | Oracle International Corporation | Methods for reducing unsafe memory access when interacting with native libraries |
CN114895613B (zh) * | 2022-07-12 | 2022-10-21 | 三一重型装备有限公司 | 一种矿山设备的控制方法及装置、存储介质、计算机设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63228352A (ja) * | 1987-03-18 | 1988-09-22 | Hitachi Ltd | 仮想計算機システム |
JPH05165663A (ja) * | 1991-12-12 | 1993-07-02 | Fujitsu Ltd | データ処理装置 |
JPH08235071A (ja) * | 1995-02-22 | 1996-09-13 | Hitachi Ltd | 仮想計算機システム |
US7089377B1 (en) * | 2002-09-06 | 2006-08-08 | Vmware, Inc. | Virtualization system for computers with a region-based memory architecture |
US20060206687A1 (en) * | 2005-03-08 | 2006-09-14 | Microsoft Corporation | Method and system for a second level address translation in a virtual machine environment |
US20080005488A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Module state management in a virtual machine environment |
JP2008077144A (ja) * | 2006-09-19 | 2008-04-03 | Ricoh Co Ltd | 仮想化システム、メモリ管理方法及び制御プログラム |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4779188A (en) * | 1983-12-14 | 1988-10-18 | International Business Machines Corporation | Selective guest system purge control |
US5574936A (en) * | 1992-01-02 | 1996-11-12 | Amdahl Corporation | Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system |
JP2675961B2 (ja) * | 1992-05-20 | 1997-11-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 実記憶のページをロックするための方法 |
AU6629894A (en) | 1993-05-07 | 1994-12-12 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
JPH07160583A (ja) * | 1993-12-07 | 1995-06-23 | Hitachi Ltd | 仮想記憶装置の制御方法 |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
US5946484A (en) * | 1997-05-08 | 1999-08-31 | The Source Recovery Company, Llc | Method of recovering source code from object code |
US6009261A (en) * | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
US6463582B1 (en) * | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
AU2001257403A1 (en) * | 2000-04-26 | 2001-11-07 | The Trustees Of Columbia University In The City Of New York | A low latency fifo circuit for mixed clock systems |
US6789156B1 (en) * | 2001-05-22 | 2004-09-07 | Vmware, Inc. | Content-based, transparent sharing of memory units |
JP2003051819A (ja) | 2001-08-08 | 2003-02-21 | Toshiba Corp | マイクロプロセッサ |
US20030115476A1 (en) | 2001-10-31 | 2003-06-19 | Mckee Bret | Hardware-enforced control of access to memory within a computer using hardware-enforced semaphores and other similar, hardware-enforced serialization and sequencing mechanisms |
US7197585B2 (en) * | 2002-09-30 | 2007-03-27 | International Business Machines Corporation | Method and apparatus for managing the execution of a broadcast instruction on a guest processor |
US7111145B1 (en) | 2003-03-25 | 2006-09-19 | Vmware, Inc. | TLB miss fault handler and method for accessing multiple page tables |
US7284100B2 (en) * | 2003-05-12 | 2007-10-16 | International Business Machines Corporation | Invalidating storage, clearing buffer entries, and an instruction therefor |
US20050228921A1 (en) * | 2004-03-31 | 2005-10-13 | Prashant Sethi | Sharing of interrupts between operating entities |
US8214622B2 (en) * | 2004-05-27 | 2012-07-03 | International Business Machines Corporation | Facilitating management of storage of a pageable mode virtual environment absent intervention of a host of the environment |
US8387049B2 (en) | 2005-07-15 | 2013-02-26 | International Business Machines Corporation | Facilitating processing within computing environments supporting pageable guests |
US7703088B2 (en) * | 2005-09-30 | 2010-04-20 | Intel Corporation | Compressing “warm” code in a dynamic binary translation environment |
US8417916B2 (en) | 2008-01-11 | 2013-04-09 | International Business Machines Corporation | Perform frame management function instruction for setting storage keys and clearing blocks of main storage |
US8176279B2 (en) * | 2008-02-25 | 2012-05-08 | International Business Machines Corporation | Managing use of storage by multiple pageable guests of a computing environment |
US8095773B2 (en) * | 2008-02-26 | 2012-01-10 | International Business Machines Corporation | Dynamic address translation with translation exception qualifier |
-
2008
- 2008-03-20 US US12/052,675 patent/US8176279B2/en active Active
- 2008-03-20 US US12/052,683 patent/US8176280B2/en active Active
-
2009
- 2009-02-16 WO PCT/EP2009/051799 patent/WO2009106451A1/en active Application Filing
- 2009-02-16 LT LTEPPCT/EP2009/051799T patent/LT2248020T/lt unknown
- 2009-02-16 EP EP09714605.4A patent/EP2248020B1/en active Active
- 2009-02-16 CA CA2708939A patent/CA2708939C/en active Active
- 2009-02-16 KR KR1020107017222A patent/KR101253394B1/ko active IP Right Grant
- 2009-02-16 ES ES09714605T patent/ES2893618T3/es active Active
- 2009-02-16 HR HRP20211545TT patent/HRP20211545T1/hr unknown
- 2009-02-16 PL PL09714605T patent/PL2248020T3/pl unknown
- 2009-02-16 PT PT97146054T patent/PT2248020T/pt unknown
- 2009-02-16 DK DK09714605.4T patent/DK2248020T3/da active
- 2009-02-16 CN CN200980106262.3A patent/CN101952807B/zh active Active
- 2009-02-16 HU HUE09714605A patent/HUE056177T2/hu unknown
- 2009-02-16 KR KR1020127013083A patent/KR101253454B1/ko active IP Right Grant
- 2009-02-16 JP JP2010547159A patent/JP5812245B2/ja active Active
- 2009-02-16 SI SI200932144T patent/SI2248020T1/sl unknown
-
2011
- 2011-10-27 US US13/283,171 patent/US8364912B2/en active Active
-
2013
- 2013-01-24 US US13/749,001 patent/US8677077B2/en active Active
- 2013-12-13 US US14/105,337 patent/US8972670B2/en active Active
-
2014
- 2014-12-15 US US14/570,724 patent/US9122634B2/en active Active
-
2015
- 2015-07-03 JP JP2015134396A patent/JP2015228227A/ja not_active Ceased
- 2015-08-31 US US14/840,565 patent/US9542260B2/en active Active
-
2017
- 2017-01-09 US US15/401,765 patent/US9778869B2/en active Active
- 2017-06-30 US US15/638,553 patent/US9971533B2/en active Active
-
2018
- 2018-04-30 US US15/966,974 patent/US10223015B2/en active Active
-
2019
- 2019-02-22 US US16/282,567 patent/US10768832B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63228352A (ja) * | 1987-03-18 | 1988-09-22 | Hitachi Ltd | 仮想計算機システム |
JPH05165663A (ja) * | 1991-12-12 | 1993-07-02 | Fujitsu Ltd | データ処理装置 |
JPH08235071A (ja) * | 1995-02-22 | 1996-09-13 | Hitachi Ltd | 仮想計算機システム |
US7089377B1 (en) * | 2002-09-06 | 2006-08-08 | Vmware, Inc. | Virtualization system for computers with a region-based memory architecture |
US20060206687A1 (en) * | 2005-03-08 | 2006-09-14 | Microsoft Corporation | Method and system for a second level address translation in a virtual machine environment |
US20080005488A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Module state management in a virtual machine environment |
JP2008077144A (ja) * | 2006-09-19 | 2008-04-03 | Ricoh Co Ltd | 仮想化システム、メモリ管理方法及び制御プログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018538630A (ja) * | 2015-12-15 | 2018-12-27 | エルゼットラブズ ゲーエムベーハー | 仮想アドレス空間レガシーエミュレーションシステムにおける保護キー管理およびプレフィックス変換 |
JP2022522374A (ja) * | 2019-03-08 | 2022-04-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込みイネーブルのためのセキュア・インターフェース制御ハイレベル命令インターセプト |
JP7398472B2 (ja) | 2019-03-08 | 2023-12-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込みイネーブルのためのセキュア・インターフェース制御ハイレベル命令インターセプト |
JP2019117664A (ja) * | 2019-04-18 | 2019-07-18 | エルゼットラブズ ゲーエムベーハー | 仮想アドレス空間レガシーエミュレーションシステムにおける保護キー管理およびプレフィックス変換 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5812245B2 (ja) | ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするためのコンピュータ可読プログラム・コード・ロジック、方法、およびシステム | |
US9251089B2 (en) | System supporting multiple partitions with differing translation formats | |
CN118339542A (zh) | 两阶段地址转换 | |
US20240202139A1 (en) | Technique for constraining access to memory using capabilities | |
TW202340955A (zh) | 使用能力約束記憶體存取之技術 | |
TW202319913A (zh) | 用於使用能力限制對記憶體存取之技術 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130917 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131209 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20131209 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20131209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20131209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140611 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140901 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140922 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150320 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150703 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150703 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150710 |
|
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: 20150818 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150819 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20150819 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150908 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5812245 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |