JPH0555901B2 - - Google Patents

Info

Publication number
JPH0555901B2
JPH0555901B2 JP1242424A JP24242489A JPH0555901B2 JP H0555901 B2 JPH0555901 B2 JP H0555901B2 JP 1242424 A JP1242424 A JP 1242424A JP 24242489 A JP24242489 A JP 24242489A JP H0555901 B2 JPH0555901 B2 JP H0555901B2
Authority
JP
Japan
Prior art keywords
page
nmds
main memory
data
storage
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.)
Expired - Lifetime
Application number
JP1242424A
Other languages
English (en)
Other versions
JPH02150940A (ja
Inventor
Jooji Ruubusan Kenisu
Jon Shimarutsu Richaado
Sutefuan Shuruzu Yuujin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02150940A publication Critical patent/JPH02150940A/ja
Publication of JPH0555901B2 publication Critical patent/JPH0555901B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】 A 産業上の利用分野 本発明はシステム制御プログラミング及び仮想
記憶システムの分野に関するものである。さらに
具体的には、本発明は、仮想データ空間の構成と
機能、及びある種の仮想データ空間に対して入出
力を実行する方法に関するものである。
B 従来技術とその課題 IBMのMVS,MVS/XA、及びMVS/ESA
などの仮想記憶データ処理オペレーテイング・シ
ステムでは、仮想アドレス空間は、1組のプログ
ラムが稼働するアドレス範囲を規定する制御構造
である。たとえば、「MVS/拡張アーキテクチヤ
概説書(MVS/Extended Architecture
Overview)」資料番号GC28−1348、「IBMエン
タープライズ・システム・アーキテクチヤ/370
解説書(IBM Enterprise Systems
Architecture/370 Principles of Operation)」
資料番号SA22−7200を参照のこと。仮想アドレ
ス空間は、プログラムとデータの両方を含むこと
ができ、またデータ空間と呼ばれる特殊な型式の
アドレス範囲は、データのみを含むことができ
る。特願平1−10094号の明細書は、データ空間
とアドレス空間の相違を詳述している。このよう
な従来技術すべてに共通の1つの特徴は、どのア
ドレス空間またはデータ空間内のデータも特定の
時点で実記憶域(主記憶装置)または非主記憶装
置(拡張記憶機構、補助記憶機構、外部記憶装置
など)に存在できることである。たとえば、アド
レス空間で実行中のプログラムがその同じアドレ
ス空間内の仮想アドレスを参照する場合、2つの
可能性があつた。すなわち、その仮想アドレスが
すでに実記憶域に存在するデータを表す場合、処
理は続行された。仮想アドレスが実記憶域にない
データを表す場合は、プログラムの実行が中断さ
れ、データが実記憶域に移されてからプログラム
の実行が再開された。
従来技術では、アプリケーシヨンが実行されて
いるアドレス空間以外のアドレス空間に存在する
データまたはデータ空間に存在するデータをアプ
リケーシヨンが参照及び処理するための機構も知
られている。このような機構の例として、米国特
許第4355355号及び第4521846号の機構、ならびに
「MVSシステム・プログラミング・ライブラリー
システム・マクロ及びシステム機能(MVS
System Programming Library:System
Macros and Facilities)」Vol.1、資料番号GC28
−1150の仮想記憶域間機能がある。
場合によつては、データをそのデータの“一時
的容器”としてのデータ空間に書き込み、次いで
データをアドレス空間に戻すことが望ましいこと
がある。このことを実施するために予め必要な一
連のステツプとしては、アドレス空間ページが補
助記憶機構によつてバツクアツプされる場合に主
記憶装置に書き込むべきデータを読み取り、目標
データ空間仮想ページが補助記憶機構によつてバ
ツクアツプされる場合に目標ページを主記憶装置
に読み込み、主記憶装置中のデータをアドレス空
間バツクアツプ・ページからデータ空間バツクア
ツプ・ページに移すことがある。データを参照す
ることなしに単に一時的にデータをデータ空間に
記憶することを意図する場合には、2つの入出力
操作及びそれに関連するCPUキヤツシユ空間の
置換は明らかに無駄である。
もしも、アプリケーシヨンがデータを一方の仮
想空間区画から他方の仮想空間区画へ移動させよ
うとする場合、読取り元の仮想区画または書込み
先の仮想区画が実記憶域でバツクアツプされてい
ないならば、ページ不在の状態になり、システム
制御により、これらの仮想区画を実記憶域でバツ
クアツプさせなければならない結果になる。
最後に、従来技術によれば、アドレス空間から
補助記憶機構へのデータの移動は、入出力が完了
した後に初めて制御がアプリケーシヨンに戻され
る“同期”方式でも、制御がただちに戻される
“非同期的”方式でもよいが、アプリケーシヨン
は、たとえば出力バツフアを再使用する前に入出
力が完了することを保証する責任を負う。
したがつて、本発明の主な目的は、改善された
性能特性を有する一時的データ記憶装置として使
用可能な新規な型のアドレツシング範囲を有する
データ処理システムを提供することである。
本発明の他の目的は、要求元アプリケーシヨン
が非主記憶装置データ空間(NMDS)の仮想記
憶装置にデータを書込み、又はそれからデータを
読取る時、上記NMDSのページの主記憶装置に
よるバツクアツプを不要にしたデータ処理システ
ムを提供することである。
本発明の他の目的は、アプリケーシヨンによる
NMDSへの書込み要求により、データが、直接
に、アプリケーシヨンのアドレス空間中のソース
から、NMDSをバツクアツプしている非主記憶
装置へ転送できるデータ処理システム及びその制
御方法を提供することである。
本発明の他の目的は、アプリケーシヨンによる
NMDSからの読取り要求により、データが
NMDSをバツクアツプしている、非主記憶装置
から、直接に、アプリケーシヨンのアドレス空間
へ転送できるデータ処理システム及びその制御方
法を提供することである。
なお、本明細書中、「バツクアツプ」とは、前
述の概説書、解説書などにみられる用語「Back]
または「Backing」と同意語であり、仮想記憶装
置のページに対応する物理的記憶装置、たとえば
主記憶装置、拡張/補助/外部記憶装置、の区画
を指称する。たとえば、仮想記憶装置のページ
は、特定の時点において、主記憶装置、非主記憶
装置などのページによつて「バツクアツプ」され
ている。
「アンバツクト・ページ」とは、現在、バツク
アツプされていない仮想記憶装置のページを指称
する。
C 課題を解決するための手段 本発明によれば、非主記憶装置データ空間
(NMDS)内では、直接には、決して参照され
ず、主記憶装置でバツクアツプされたアドレス空
間またはデータ空間に転送された後そこで参照さ
れる一時的データ記憶容器として使用可能な
NMDSシステムを設けることである。この
NMDSシステムには、NMDSにおける仮想記憶
ページがオペレーテング・システムの動作により
主記憶装置ページにバツクアツプされるのを防止
するための防止手段が設けられている。換言すれ
ば、NMDSは、その仮想記憶ページが主記憶装
置によつて全くバツクアツプされていない点を除
いては、通常のアドレス空間及び主記憶データ空
間(単に、データ空間と呼ぶ)に類似している。
本発明の構成は次の通りである。
1 主記憶装置及び拡張/補助/外部記憶機構の
ような非主記憶装置を含むプロセツサ・システ
ムと、該プロセツサ及び主記憶装置に結合され
たシステム資源と、該システム資源及びアプリ
ケーシヨン・プログラムを制御するための上記
記憶装置内のオペレーテング・システムとより
成るデータ処理システムにおいて、 識別標識を有する非主記憶装置データ空間
(NMDS)から成る非主記憶装置データ空間シ
ステムを設け、 上記非主記憶装置データ空間システムは、 上記NMDS標識に結合され、NMDSにおけ
る仮想記憶ページが上記オペレーテング・シス
テムの制御の下に上記主記憶装置にバツクアツ
プされるのを防止するための防止手段と、 アプリケーシヨン・プログラムの要求に応じ
て、データを、NMDSから読取り、または
NMDS内に書込むための手段と、 を有する事を特徴とする上記データ処理システ
ム。
2 主記憶装置及び非主記憶装置を含むプロセツ
サ・システムと、該プロセツサ及び主記憶装置
に結合されたシステム資源と、該システム資源
及びアプリケーシヨン・プログラムを制御して
複数の仮想アドレス空間内のプログラム及びデ
ータを管理するためのオペレーテイング・シス
テムとより成るデータ処理システムにおいて、 関連仮想アドレス空間にリンクした制御構造
内のNMDS識別標識と、該NMDS標識に応答
して、かつ、該NMDS標識がオンの時、
NMDSにおける仮想ページが上記オペレーテ
ング・システムの制御の下に上記主記憶装置に
バツクアツプされるのを防止するための防止手
段とより成るNMDSサポート・システムを設
け、 上記NMDS標識は、上記関連仮想アドレス
空間がNMDSある時に、オンになり、NMDS
でない時に、オフになるように構成されている
事を特徴とする上記データ処理システム。
3 データを、要求元アドレス空間から、非主記
憶装置だけによりバツクアツプされたNMDS
へ転送するステツプを含むアドレス空間の仮想
記憶に要求元の代りにデータを一時的に記憶さ
せるようにプロセツサを制御するための方法に
おいて、 アドレス空間ページをバツクアツプしている
非主記憶装置の関連ページを、入出力動作なし
に、そのアドレス空間ページからNMDSのア
ンバツクト・ページへ切替えるステツプと、 主記憶装置ページを非主記憶装置にコピーす
る出力動作を開始する前に、上記主記憶装置ペ
ージによりバツクアツプされているすべてのア
ドレス空間ページのバツクアツプを解除するス
テツプと、 より成り、上記主記憶装置ページにより以前
にバツクアツプされていたすべての仮想記憶装
置が出力動作の完了を待たずにそのアドレス空
間内で再使用可能になる事を特徴とする上記制
御方法。
次に、本発明を図面を参照して実施例について
説明する。
D 実施例 第1図は、本発明による非主記憶装置データ空
間の2つの型、すなわち“標準”非主記憶データ
空間(標準NMDS)10、及び“拡張記憶機構”
専用非主記憶データ空間(ESTOR NMDS)1
1の論理図を示す(“拡張記憶機構”は、“ページ
記憶機構”とも呼ばれており、そのアクセス方法
は、米国特許第4476524号明細書に詳述されてい
る。)。第1図の最上段の論理図は、従来のデータ
空間13(以後、単にデータ空間と呼ぶ)を示
す。このデータ空間13は、主記憶装置(MS)
15(順次に、拡張記憶機構(ES)及び補助/
外部記憶機構(DASD))によつてバツクアツプ
されている。そのため、任意の記憶域参照命令
は、データ空間13を、基準アドレス空間12か
ら参照できる。これら2つの各非主記憶データ空
間(NMDS)10,11とデータ空間13との
主な相違は、2つのNMDS10,11の仮想ペ
ージは主記憶装置(MS)によつてバツクアツプ
されるのが禁止されるように構成され制御される
のに対し、アドレス空間12及びデータ空間13
はいずれも、その仮想ページが主記憶装置(実記
憶域)14,15によつてバツクアツプできる点
にある。
ESTOR NMDS11では、仮想ページは拡張
記憶機構(ES)16によつてしかバツクアツプ
できないが、標準NMDS10では、仮想ページ
が拡張記憶機構(ES)17または補助記憶機構
(DASD)18のどちらによつてもバツクアツプ
できる。
非主記憶データ空間(NMDS)の仮想ページ
は、主記憶装置によつては決してバツクアツプさ
れることがないので、NMDSへのアクセス、す
なわち、NMDSと、標準命令により参照される
従来のアドレス空間との間でのデータの移動は、
特殊命令、たとえば、標準NMDS用の読取り/
書込みSREAD/SWRITE(スクリーン読取り/
書込み)及びESTOR NMSD用の読取り/書込
みCREAD/CWRITE(キヤツシユ読取り/書込
み)、の各機能19,19Aによつてのみ達成で
きる。
NMDSの定義から自然に出てくる特性は、そ
のオペランドによつて表されるデータが実記憶域
(主記憶装置)内にあることに依拠する従来の
(たとえばIBMシステム370)記憶域参照命令が、
NMDS中に存在するデータにアクセスできない
ことである。たとえば、第2A図は、MVS/
XAシステムにおける“CLC”(論理文字比較)
命令201を示したもので、この命令は、仮想ア
ドレス202にある命令と同じ仮想アドレス空間
中のオペランドA203を、仮想アドレス204
にある同じ仮想アドレス空間中のオペランドB2
05と比較する。従来のアドレス変換及びページ
不在処理206では、その後にまだ仮想アドレス
空間Aにあるオペランドは、物理的には主記憶装
置207,208内に位置し、そこで命令実行の
ためにアクセスされることができる。記憶域参照
命令が、オペランドを含むアドレス空間以外の他
のアドレス空間またはデータ空間に存在するオペ
ランドを参照するには、上記の他のアドレス/デ
ータ空間が、最初に命令発行アプリケーシヨンに
関連する“アクセス・リスト”に載つていなけれ
ばならない。この方式でアクセス・リストを使用
するための機構は、特願昭63−318662号で扱われ
ている。アドレス/データ空間をそのアクセス・
リストに加えることを要求するアプリケーシヨン
は、制御プログラム・サービスを介して要求を行
なわなければならない。しかしこの制御プログラ
ム・サービスは、アドレス/データ空間をアプリ
ケーシヨンのアクセス・リストに加える前に、ま
ず検査を行なつてアドレス/データ空間が
NMDS型のデータ空間であるかどうか調べる。
本発明では、アクセス・リストの概念を利用し
て、アドレス空間テーブル項目(ASTE)に、特
定のアドレス/データ空間がNMDSであるかど
うかを示す標識を関連づける。この空間が
NMDSである場合は、NMDSをアクセス・リス
トに加えるというアプリケーシヨンによる要求
は、システム・サービスによつて拒絶されること
になる。第3図にこの機構を示す。
アプリケーシヨンによつてデータ空間/アドレ
ス空間が作成されると、後で空間を参照するため
の空間トークン(STOKEN301)が生成され
る。STOKEN301は、ASTE303の位置を
示すために使用されるデータ空間記述子302を
論理的に指し、ASTE303は(セグメント・テ
ーブル305及びページ・テーブル306の位置
を示す)セグメント・テーブル記述子(STD)
304を含む。
(“ページ・テーブル”はここでは、ページ・
テーブルと拡張ページ・テーブルの両方が存在す
る通常の場合を含むように解釈できることに留意
されたい。この特徴は本発明にとつて重要ではな
い。)作成されたものがNMDSである場合、デー
タ空間記述子中の標識307がそのデータ空間に
NMDSのフラグを付ける。もう一つの標識がそ
れに拡張記憶機構専用(ESTOR)型NMDS30
8、または標準(拡張記憶機構または補助記憶機
構バツクアツプ)型NMDS309のフラグを付
ける。STOKEN310で示されるような主記憶
データ空間では、データ空間記述子311中の
NMDS標識312は“オフ”となる。したがつ
て、STOKEN310に関連するデータ空間を要
求側のアクセス・リスト313に加えるように要
求されたとき、システム・サービスはデータ空間
がNMDSでないこと(312)を検出し、こう
してアクセス・リストにアクセス・リスト項目3
14を加え、アクセス・リスト項目テーブル
(ALET)315に戻る。ALET315は、後で
アプリケーシヨンがデータ空間中のデータにアク
セスするために使用する。一方アプリケーシヨン
が、STOKEN301に関連するNMDSをアクセ
ス・リストに加えるように指示した場合は、シス
テム・サービスはそれがNMDS型のデータ空間
であること(307)を検出し、その要求を拒絶
する。ALETがなければ、アプリケーシヨンは
NMDS中のデータを直接参照することはできな
い。
第2B図はMVS/ESAシステムを表したもの
で、同様なCLC命令201が示されているが、
オペランド203A及び205Aがアドレス空間
Aとは別のアドレス/データ空間に存在する。
MVS/ESAのアクセス・レジスタに基づくアド
レス変換過程206Aにより、これらのオペラン
ドは、アドレス/データ空間内の仮想記憶機構を
バツクアツプする主記憶装置207Aと208A
内にページングされる。定義により、NMDS仮
想ページは主記憶装置によつてバツクアツプされ
ることはないので、NMDSと標準命令によつて
参照される従来のアドレス空間との間でデータを
移動させるための機構を設けなければならない。
ここで記述する機構は、標準NMDS用の読取
り/書込み(SREAD/SWRITE)サービス(第
1図の19)、及びESTOR NMDS用の読取り/
書込み(CREAD/CWRITE)サービス19A
を含む。
SWRITE/CWRITE 第4A図と第4B図に、データをアドレス空間
からNMDSに書き込むというアプリケーシヨン
による要求に関連するステツプを示す。第7図に
このステツプの説明に役立つこのような“書込
み”の特定の例を示す。書込みを要求する際、ア
プリケーシヨンは、書き込むべき連続ページの数
401(第7図の例では2)、書き込むべきアプ
リケーシヨンのアドレス空間内の開始ページJの
仮想アドレス402、書込み先のNMDS中の開
始ページKの仮想アドレス403、及び書込み先
のNMDSのSTOKEN404を指定する。
まず405で、アドレス空間内の仮想ページJ
に関連するページ・テーブル項目(PTE)Pjが、
下記で説明するようにページJの仮想アドレス4
02を使つて探し出され、NMDSに関連するデ
ータ空間記述子(DSD)がSTOKEN404を使
つて探し出され、そしてNMDS中のページKに
関連するPTE Pkが、下に示すように、
STOKEN404とページKの仮想アドレス40
3を使つて探し出される。
次に406で、ページJに対するPTEが実記
憶域(主記憶装置)を指し、ページJが実記憶域
内のページによつてバツクアツプされることを示
しているかどうかテストが行なわれる。このこと
はPTE(第6図)を検査することによつて決定さ
れる。無効標識(I)63は、“オフ”の場合、
関連するページが実記憶域(これは“有効”)に
よつてバツクアツプされることを示し、その実ア
ドレスはフイールド61に示されている。第7図
の例では、最初のページ701は主記憶装置70
3(実記憶域)によつてバツクアツプされ、第2
のページ702はそうではなく、補助記憶機構7
04によつてバツクアツプされる。
ページが主記憶装置によつてバツクアツプされ
ない場合(ページ2 702の場合)、407で、
ページ・テーブル項目(PTE)Pjが拡張記憶機
構を指すかどうか(すなわち、ページJが拡張記
憶機構によつてバツクアツプされているかどう
か)テストが行なわれる。(第7図では、ページ
1 701もページ2 702も拡張記憶機構に
よつてバツクアツプされていないことに留意され
たい。)この決定は、やはりPTE(第6図)を検
査することによつて行なわれる。無効標識(I)
63が“オン”であり、非主記憶標識(X)64
と拡張記憶標識(E)66が“オン”である場
合、そのページは、そのアドレスがフイールド6
2にある拡張記憶フレームによつてバツクアツプ
される。拡張記憶機構でバツクアツプされている
場合、ステツプ408でPTE中の非主記憶標識
(X)64及びページJに対する拡張記憶機構バ
ツクアツプ標識(E)66がターン・オフされ
(仮想ページjが“空白”または“新たに獲得さ
れたもの”であることを示す。通常は、このよう
なページが後で直接参照されると、ゼロのページ
が生成される)、NMDS中の仮想ページKが、
(単に、NMDSページPkに対するPTE中の非主
記憶標識64と拡張記憶機構バツクアツプ標識6
6をオンにし、この拡張記憶ページのアドレスを
フイールド62に入れることにより)この拡張記
憶機構によつてバツクアツプされる(409)。
407でPjが拡張記憶機構を指していなかつた
場合は、ページJが補助記憶機構を指している
(すなわち、フラグ63,64,67がすべてオ
ン)かどうかテストが行なわれる(410)。そ
うでない場合、書き込もうとしているのは“空
白”ページであり、これは単に目標NMDSペー
ジKを(関連するPTE Pk中の非主記憶標識64
をオフにして)やはり“空白”にする(415)
ことによつて実施できる。(第7図におけるペー
ジ2 702の場合のように)テスト410で、
Pjが補助記憶機構によつてバツクアツプされてい
ることがわかつた場合、NMDSが標準型である
ことがDSD標識309によつて示されているか
どうかを決定するために別のテスト411が行な
われる。そうである場合、ステツプ412で補助記
憶機構バツクアツプ704がアドレス空間ページ
705から除去され、(アドレス空間ページ70
5に関連するPTE中の非主記憶標識64と補助
記憶機構バツクアツプ標識67をオフにし、
NMDSページ706に関連するPTE中のフラグ
64,67をオンにし、NMDSページをバツク
アツプしている補助記憶機構スロツトの位置を
NMDS PTEのフイールド62に入れることによ
つて)NMDSページ706と関連付けられる
(413)。テスト411でNMDSが拡張記憶機
構専用型(標識308)であることが示された場
合は、その要求は拒絶される。(次に、通常はア
プリケーシヨンがアドレス空間ページを参照し
て、それを主記憶装置に戻し、その要求を繰り返
す。) テスト406で、(そのバツクアツプが703
にある第7図のページJ 701の場合のよう
に)アドレス空間仮想記憶ページが主記憶装置に
よつてバツクアツプされていることがわかつた場
合、関連するNMDSページ707が拡張記憶機
構(または補助記憶機構)によつてバツクアツプ
されるかどうかを決定するために、テストが行な
われる(420)。この決定は、(a)データ空間記
述子制御ブロツク(第3図の308,309)で
示されるNMDSの型式(標準またはESTOR)、
及び(b)拡張記憶機構に対する現システム負荷によ
つて左右される。(ESO型のNMDSでは常に拡張
記憶機構によつてバツクアツプされ、標準
NMDSでは、局部的オプシヨンに従つて、たと
えば拡張記憶機構が“苛酷に使用される”場合に
補助記憶機構でバツクアツプするアルゴリズムを
選ぶことができる。これは本発明にとつて重要で
はない。) NMDSページが補助記憶機構によつてバツク
アツプされる場合(第7図のページK 707の
場合のように、標準型式のNMDSの場合のみ可
能)、アドレス空間ページに対するバツクアツプ
708が除去され(421)、(アドレス空間ペー
ジJのPTE中の無効標識63をオンにし、非主
記憶標識64をオフにすることによつて)そのペ
ージが“空白”にセツトされて、主記憶ページJ
703から補助記憶機構への入出力操作を開始
させ(最終的にはページが第7図の位置709に
書き込まれる)、(NMDSページKに関連する
PTE中の非主記憶装置バツクアツプ標識64と
補助記憶機構バツクアツプ標識67をオンにし、
補助ページの位置をPTEフイールド62に入れ
ることによつて)NMDSページK 707を補
助ページ709でバツクアツプする(423)。
アドレス空間仮想記憶域は、入出力が完了してい
なくても、ただちに再使用できることに留意され
たい。そうなるのは、アドレス空間仮想ページ
に、そのページを参照するとゼロのページになる
ことを意味する“空間”の標識がつけられている
(すなわち新たに獲得された)ためである。
テスト420で、NMDSページを拡張記憶機
構によつてバツクアツプすべきことがわかつた場
合は、拡張記憶フレームが通常通り得られ(42
4)、ページJが主記憶装置から新たに得られた
拡張記憶フレームにコピーされ(425)、拡張
記憶ページのアドレスをNMDSページKに関連
するPTEの適切なフイールド62に入れ、この
PTE中の非主記憶標識62と拡張記憶機構バツ
クアツプ標識66をオンにすることによつて、仮
想ページKが拡張記憶ページによつてバツクアツ
プされる(426)。上記のプロセスが書込み要
求中の各ページごとに繰り返される。
SREAD/CREAD 第5A図と第5B図に、データをNMDSから
アドレス空間に読み出すというアプリケーシヨン
による要求に関連するステツプを示す。第8図
に、このステツプの説明に役立つこのような読取
りの特定の例を示す。読取りを要求する際、アプ
リケーシヨンは、読み取るべき連続ページの数5
01(第8図の例では2)、読み取るべきNMDS
中の開始ページKの仮想アドレス502、データ
を受け取るアドレス空間A内の開始ページJの仮
想アドレス503、及び読取り元のNMDSの
STOKEN504を指定する。
まず506で、NMDS中の仮想ページKに関
連するページ・テーブル項目(PTE)Pkが、下
記で説明するようにページKの仮想アドレス50
2とSTOKEN504を使つて探し出され、アド
レス空間内のページJに関連するPTE Pjがペー
ジJの仮想アドレス503を使つて探し出され、
NMDSに関連するデータ空間記述子(DSD)が
STOKEN504を通つて探し出される。
次に507で、NMDSページKに対するPTE
Pkが拡張記憶機構を指しているかどうか(すな
わち、バツクアツプ・ページが拡張記憶機構上に
あるかどうか)、テストが行なわれる。そうであ
る場合(第8図のページ1 801のように)、
主記憶フレーム802が通常通り得られ(50
8)、ページが拡張記憶機構801から主記憶装
置802にコピーされ(509)、(実記憶域ペー
ジのアドレスをPTE Pjのフイールド61に入れ
ることによつて)仮想ページJ 803が主記憶
装置によつてバツクアツプされるとの標識がつけ
られ(510)、(アドレス空間ページJに対する
PTE Pj中の無効標識63をオフにして)仮想ペ
ージJを有効化する(511)。
507でPkが拡張記憶機構を指していない場
合は、ページJが補助記憶機構によつてバツクア
ツプされているかどうかテストが行なわれる(5
15)。そうでない場合、それが“ESTOR”型
のNMDSでないことを認識するために、別のテ
ストが行なわれる(520)。(ESTOR型である
場合は、ESTOR型NMDS中のデータが空間から
除去されていて、もはや利用不可能であることを
示すので、その要求は拒絶される(521)。
(ESTOR型NMDSはキヤツシユと同様に取り扱
われ、その中のデータは、標準型の場合のように
常に検索可能であることは保証されない。)標識
NMDSであれば、PTE Pj中の無効標識63をオ
ンにし、非主記憶標識64をオフにすることによ
つて、アドレス空間ページJが“新たに獲得され
た”ものであることが示される。これで処理が完
了し、後でこのページ中の仮想アドレスが参照さ
れたときは、通常通りゼロのページが生成され
る。
ページKが(第8図のページ2 804のよう
に)補助記憶機構によつてバツクアツプされる場
合、通常通り実(主)記憶フレームが得られ(5
16)、(関連するPTE Pj中の無効標識63をオ
ンにすることによつて)アドレス空間中のページ
Jが無効にされ(517)、(フレームのアドレス
をアドレス空間ページJのPTEフイールド61
に入れることによつて)仮想ページJが、得られ
た主記憶フレームによつてバツクアツプされてい
ることが示され(518)、入出力操作が開始さ
れて、NMDSページKをバツクアツプするペー
ジ804が得られた主記憶フレーム805に読み
込まれる(519)。この入出力が完了すると
(530)、(関連するPTE中の無効標識63をオ
フにすることにより)アドレス空間ページJ80
6が有効なことが示され(531)、ページJの
参照で保留中のすべてのアプリケーシヨンが従来
通り指名可能となる(532)。上記のプロセス
が読取り要求中の各ページごとに繰り返される。
ページ・テーブル項目の仮想ページへのマツ
ピング 本発明の不可欠な部分ではないが、明確にする
ために、以下で仮想アドレスとページ・テーブル
項目との関係について説明する。
通常の31ビツト仮想記憶アドレス901(第9
図)は、0ないし2ギガバイト−1の範囲内のど
のバイトもアドレスする能力を持つている。各セ
グメントが256個の4Kバイト・ページからなる1
メガバイトのセグメント2048個に基づく仮想シス
テムでは、仮想アドレスは11ビツトのセグメント
番号902、8ビツトのページ番号903及び12ビ
ツトの変位に区分される。
2ギガバイトのアドレス空間内の各仮想ページ
は、ページ・テーブル項目(PTE)によつて表
される。2ギガバイト空間に対するPTEはすべ
てそれぞれ同じ長さを有し、それが表す仮想ペー
ジの番号順に昇順で仮想記憶機構中のページ・テ
ーブル・アレイ905に連続的に配列される。し
たがつて、最初の256個のPTEはセグメント0内
のページを表し、全体でセグメント0に対するペ
ージ・テーブル906を形成する。第2組の256
個のPTEはセグメント1に対するページ・テー
ブル907を形成し、以下同様である。すべての
ページ・テーブルは全体でページ・テーブル・ア
レイ905を形成する。
ここで、複数の2ギガバイトのアドレス空間か
らなるシステム内のある仮想バイトを識別するに
は、仮想記憶アドレスが、そのアドレスが適用さ
れる2ギガバイト空間の識別(空間位置)を伴う
ことが必要である。それは、2ギガバイトのアド
レス空間のアドレス空間識別子(ASID)、また
は2ギガバイト・データ空間のSTOKENであ
る。いずれの場合でも、空間ロケータ908は、
1つまたは複数の制御ブロツク(ここでは一括し
て空間ブロツク909と呼ぶ)を指す。空間ブロ
ツク909は、2ギガバイトのアドレス範囲を表
すページ・テーブル・アレイ905を指すポイン
タ910を含む。
ここで、システム内のある仮想ページの、空間
ロケータと仮想記憶アドレスから構成されるアド
レスが与えられているものとすると、指定された
バイトを含むページを表すPTEを探し出すこと
ができる。空間ロケータ908はページ・テーブ
ル・アレイ905の開始位置を指す。セグメント
番号902はアレイ内のページ・テーブルに対す
るインデツクス911となり、ページ番号903
はページ・テーブル内のPTEに対するインデツ
クス912となる。
したがつて、仮想ページのアドレスを知ること
は、そのページ・テーブル項目のアドレスを知る
ことと同等であり、逆のことも言える。
E 発明の効果 データを、2つの仮想空間区画の間で、転送す
る際に、読取り元または書込み先の仮想空間が主
記憶装置、すなわち実記憶域で、バツクアツプさ
れていない場合にもページ不在状態にもならず、
従つて、データ処理動作を中断してページ不在の
仮想空間を実記憶域でバツクアツプさせるステツ
プが省略できる。
【図面の簡単な説明】
第1図は、主記憶データ空間と、本発明の“標
準型“及び”ESTOR(拡張記憶機構)専用型”
の2つの形式の非主記憶データ空間(NMDS)
の論理的相違を示すブロツク図である。第2A図
は、命令発行側のアドレス空間内のオペランドを
参照するシステム370命令の使い方を示すブロ
ツク図である。第2B図は、別の(主記憶装置)
データ空間内のオペランドを参照するシステム3
70命令の使い方を示すブロツク図である。第3
図は、ASTEとSTOKENの関係を示すブロツク
図である。第4A図と第4B図は、アドレス空間
から本発明のNMDSにデータを書き込むという
要求に必要なステツプを示す流れ図である。第5
A図と第5B図は、本発明のNMDSからアドレ
ス空間にデータを読み出すという要求に必要なス
テツプを示す流れ図である。第6図は、ページ・
テーブル項目の本発明に関係する部分を示す図で
ある。第7図は、アドレス空間から本発明の
NMDSにページを書き込む際の、仮想記憶域及
び物理記憶域の内容のブロツク図である。第8図
は、本発明のNMDSからアドレス空間にページ
を読み出す際の、仮想記憶域及び物理記憶域の内
容のブロツク図である。第9図は、あるページの
仮想アドレスとそのページのページ・テーブル項
目の仮想アドレスの関係を示すブロツク図であ
る。 10……「標準型」非主記憶データ空間(標準
NMDS)、11……拡張記憶機構専用型非主記憶
データ空間(ESTOR NMDS)、12……アドレ
ス空間、13……データ空間、14,15……非
記憶装置、16,17……拡張記憶機構、18…
…補助記憶機構。

Claims (1)

  1. 【特許請求の範囲】 1 主記憶装置及び拡張/補助/外部記憶機構の
    ような非主記憶装置を含むプロセツサ・システム
    と、該プロセツサ及び主記憶装置に結合されたシ
    ステム資源と、該システム資源及びアプリケーシ
    ヨン・プログラムを制御するための上記記憶装置
    内のオペレーテイング・システムとより成るデー
    タ処理システムにおいて、 識別標識を有する非主記憶装置データ空間
    (NMDS)から成る非主記憶装置データ空間シス
    テムを設け、 上記非主記憶装置データ空間システムは、 上記NMDS標識に結合され、NMDSにおける
    仮想記憶ページが上記オペレーテイング・システ
    ムの制御の下に上記主記憶装置にバツクアツプさ
    れるのを防止するための防止手段と、 アプリケーシヨン・プログラムの要求に応じ
    て、データをNMDSから読取り、またはNMDS
    内に書込むための手段と、 を有する事を特徴とする上記データ処理システ
    ム。 2 主記憶装置及び非主記憶装置を含むプロセツ
    サ・システムと、該プロセツサ及び主記憶装置に
    結合されたシステム資源と、該システム資源及び
    アプリケーシヨン・プログラムを制御して複数の
    仮想アドレス空間内のプログラム及びデータを管
    理するためのオペレーテング・システムとより成
    るデータ処理システムにおいて、 関連仮想アドレス空間にリンクした制御構造内
    のNMDS識別標識と、該NMDS標識に応答し
    て、かつ、該NMDSがオンの時、NMDSにおけ
    る仮想ページが上記オペレーテング・システムの
    制御の下に上記主記憶装置にバツクアツプされる
    のを防止するための防止手段とより成るNMDS
    サポート・システムを設け、 上記NMDS標識は、上記関連仮想アドレス空
    間がNMDSである時に、オンになり、NMDSで
    ない時に、オフになるように構成されている事を
    特徴とする上記データ処理システム。 3 データを、要求元アドレス空間から、非主記
    憶装置だけによりバツクアツプされたNMDSへ
    転送するステツプを含むアドレス空間の仮想記憶
    に要求元の代りにデータを一時的に記憶させるよ
    うにプロセツサを制御するための方法において、 アドレス空間ページをバツクアツプしている非
    主記憶装置の関連ページを、入出力動作なしに、
    そのアドレス空間ページからNMDSのアンバツ
    クト・ページへ切替えるステツプと、 主記憶装置ページを非主記憶装置にコピーする
    出力動作を開始する前に、上記主記憶装置ページ
    によりバツクアツプされているすべてのアドレス
    空間ページのバツクアツプを解除するステツプ
    と、 より成り、上記主記憶装置ページにより以前にバ
    ツクアツプされていたすべての仮想記憶装置が出
    力動作の完了を待たずにそのアドレス空間内で再
    使可能になる事を特徴とする上記制御方法。
JP1242424A 1988-11-21 1989-09-20 データ処理システム及びその制御方法 Granted JPH02150940A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US274239 1988-11-21
US07/274,239 US5159677A (en) 1988-11-21 1988-11-21 Method and system for storing data in and retrieving data from a non-main storage virtual data space

Publications (2)

Publication Number Publication Date
JPH02150940A JPH02150940A (ja) 1990-06-11
JPH0555901B2 true JPH0555901B2 (ja) 1993-08-18

Family

ID=23047387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1242424A Granted JPH02150940A (ja) 1988-11-21 1989-09-20 データ処理システム及びその制御方法

Country Status (3)

Country Link
US (1) US5159677A (ja)
EP (1) EP0370175A3 (ja)
JP (1) JPH02150940A (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0679296B2 (ja) * 1989-09-22 1994-10-05 株式会社日立製作所 多重仮想アドレス空間アクセス方法およびデータ処理装置
US5394537A (en) * 1989-12-13 1995-02-28 Texas Instruments Incorporated Adaptive page placement memory management system
US5590300A (en) * 1991-03-05 1996-12-31 Zitel Corporation Cache memory utilizing address translation table
US5594885A (en) * 1991-03-05 1997-01-14 Zitel Corporation Method for operating a cache memory system using a recycled register for identifying a reuse status of a corresponding cache entry
EP0549924A1 (en) * 1992-01-03 1993-07-07 International Business Machines Corporation Asynchronous co-processor data mover method and means
US5361356A (en) * 1992-03-06 1994-11-01 International Business Machines Corporation Storage isolation with subspace-group facility
US5479631A (en) * 1992-11-19 1995-12-26 International Business Machines Corporation System for designating real main storage addresses in instructions while dynamic address translation is on
US5377337A (en) * 1993-06-08 1994-12-27 International Business Machines Corporation Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
US5544349A (en) * 1995-01-23 1996-08-06 International Business Machines Corporation Method and system for improving the performance of memory in constrained virtual memory environments by reducing paging activity
US5784701A (en) * 1995-09-19 1998-07-21 International Business Machines Corporation Method and system for dynamically changing the size of a hardware system area
US5819310A (en) * 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
US6055617A (en) * 1997-08-29 2000-04-25 Sequent Computer Systems, Inc. Virtual address window for accessing physical memory in a computer system
US6138187A (en) * 1998-08-21 2000-10-24 International Business Machines Corporation Method and system for increasing spatial reuse in a serial storage architecture subsystem
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

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3909798A (en) * 1974-01-25 1975-09-30 Raytheon Co Virtual addressing method and apparatus
US4008460A (en) * 1975-12-24 1977-02-15 International Business Machines Corporation Circuit for implementing a modified LRU replacement algorithm for a cache
US4264953A (en) * 1979-03-30 1981-04-28 Honeywell Inc. Virtual cache
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
US4356549A (en) * 1980-04-02 1982-10-26 Control Data Corporation System page table apparatus
US4463424A (en) * 1981-02-19 1984-07-31 International Business Machines Corporation Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes
US4521846A (en) * 1981-02-20 1985-06-04 International Business Machines Corporation Mechanism for accessing multiple virtual address spaces
US4476524A (en) * 1981-07-02 1984-10-09 International Business Machines Corporation Page storage control methods and means
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
US4636946A (en) * 1982-02-24 1987-01-13 International Business Machines Corporation Method and apparatus for grouping asynchronous recording operations
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging
US4660130A (en) * 1984-07-24 1987-04-21 Texas Instruments Incorporated Method for managing virtual memory to separate active and stable memory blocks
JPS61214870A (ja) * 1985-03-20 1986-09-24 Mitsubishi Electric Corp 固体撮像装置
JPS6261132A (ja) * 1985-09-12 1987-03-17 Fujitsu Ltd デ−タ転送命令制御方式
JPH0658649B2 (ja) * 1985-10-28 1994-08-03 株式会社日立製作所 仮想記憶装置における領域管理方法
JPS62237547A (ja) * 1986-04-09 1987-10-17 Hitachi Ltd アドレス変換方式
JPS63315945A (ja) * 1987-06-19 1988-12-23 Tokico Ltd 炭素量測定装置
US4926317A (en) * 1987-07-24 1990-05-15 Convex Computer Corporation Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
US5127094A (en) * 1987-11-09 1992-06-30 Hitachi, Ltd. Virtual storage type computer system

Also Published As

Publication number Publication date
US5159677A (en) 1992-10-27
JPH02150940A (ja) 1990-06-11
EP0370175A2 (en) 1990-05-30
EP0370175A3 (en) 1991-04-24

Similar Documents

Publication Publication Date Title
EP0441508B1 (en) Data storage using a cache and method therefor
JP2603369B2 (ja) ローカルキャッシュに共通のページ間の一貫性を確保する方法
US5095420A (en) Method and system for performing virtual address range mapping in a virtual storage data processing system
JP2575543B2 (ja) 同時アクセス管理方法
JP2575541B2 (ja) 分散キャッシュの階層無効化方法
US5095424A (en) Computer system architecture implementing split instruction and operand cache line-pair-state management
US5539895A (en) Hierarchical computer cache system
JPH0555901B2 (ja)
JPH0519177B2 (ja)
JPH0776944B2 (ja) 仮想索引機構
US5619696A (en) Program cache apparatus which associates the physical address of a physical page with both the logical address in a program cache space and the logical address in a process space
JP2002123424A (ja) コンピュータ・システムにおいてメモリを動的に再割当てするシステムおよび方法
JPH04230550A (ja) 情報処理ネツトワーク及び情報処理方法
US5388244A (en) Controls for initial diversion of page-frame logical content as part of dynamic virtual-to-real translation of a virtual page address
EP0173909B1 (en) Look-aside buffer least recently used marker controller
JPH0519176B2 (ja)
JPH1091521A (ja) 二重ディレクトリー仮想キャッシュ及びその制御方法
EP0271187A2 (en) Split instruction and operand cache management
JPH01288940A (ja) 論理アドレスキャッシュ制御方式
JP2618096B2 (ja) キャッシュ管理方法
JPH04205535A (ja) コピーオンライト方式
JP3081635B2 (ja) キャッシュメモリの無効化処理装置および無効化制御方法
JP2502406B2 (ja) 記憶制御方式およびデ―タ処理装置
JPS6138504B2 (ja)
JPH0784884A (ja) 仮想計算機システム