JPS6139142A - Main storage protection system - Google Patents
Main storage protection systemInfo
- Publication number
- JPS6139142A JPS6139142A JP15870284A JP15870284A JPS6139142A JP S6139142 A JPS6139142 A JP S6139142A JP 15870284 A JP15870284 A JP 15870284A JP 15870284 A JP15870284 A JP 15870284A JP S6139142 A JPS6139142 A JP S6139142A
- Authority
- JP
- Japan
- Prior art keywords
- key
- area
- data
- storage
- program
- 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.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、計算機システムにおける主記憶上のデータ破
壊防止を容易にする主記憶保護方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a main memory protection method that facilitates prevention of data destruction on main memory in a computer system.
計算機シス、テムにおいては、主記憶上のデータ破壊防
止のため、主記憶のページ単位に記憶保護キー(ストレ
ージ・キー)を設け、主記憶上のデータ更新時、更新し
ようとしているページのストレージ・キーとプロセッサ
の実行状態を示す保護キー(プロセッサ・キー)とを比
較し、一致した場合のみ、主記憶上の該当ページのデー
タ更新を可能とする記憶保l!IIl&構を持っている
。In computer systems, in order to prevent data corruption in main memory, a memory protection key (storage key) is provided for each page of main memory, and when data on main memory is updated, the storage key of the page to be updated is The key is compared with the protection key (processor key) that indicates the execution state of the processor, and only when they match, the data of the corresponding page in the main memory can be updated. I have IIl & structure.
ところで、従来のシステムでは、1つのプログラム(プ
ログラム空間)には1個の保護キーが与えられ、他のプ
ログラムとの間ではストレージ・キーまたはアドレス空
間番こより記憶保護がなされているが、同一プログラム
内では記憶保護キーがない。このため、同一プログラム
空間内の一部重要なメモリ・エリアについてデータ破壊
防止を行う場合は、そのエリアのストレージ・キーをo
S(オペレーション・システム)と同等の特権キー(特
権モード)としている。この場合、特権キーのエリアを
更新するためには、特殊5VC(Super Viso
r Ca1l)命令を発行する必要があり、性能低下を
招くだけでなく、OSエリアの破壊を伴う危険性もある
。このため、特権キーのエリアは更新不要な重要データ
に限られてしまうのが実状である。By the way, in conventional systems, one program (program space) is given one protection key, and memory is protected between it and other programs using a storage key or address space number. There is no memory protection key inside. Therefore, if you want to prevent data destruction for some important memory areas within the same program space, the storage key for that area can be omitted.
The privilege key (privileged mode) is equivalent to S (operation system). In this case, in order to update the privileged key area, a special 5VC (Super Viso
It is necessary to issue the rCa1l) command, which not only causes performance deterioration but also has the risk of destroying the OS area. Therefore, the actual situation is that the privileged key area is limited to important data that does not need to be updated.
一方、更新が頻繁に伴い、かつ、破壊防止を講する必要
のある重要な主記憶データを扱うシステムでは、データ
更新プログラムで、データ破壊防止のためのサムチェッ
ク等の処理を行っているが、これはデータ更新プログラ
ムの処理の複雑化を引き起こすという欠点が存在する。On the other hand, in systems that handle important main memory data that is frequently updated and must be protected from destruction, the data update program performs processes such as sum checks to prevent data destruction. This has the disadvantage of complicating the processing of the data update program.
本発明の目的は、同一プログラム空間内の重要データエ
リアに対し、性能低下、処理の複雑化を招くことなく、
データ破壊防止を容易に実現できる主記憶保護方式を提
供することにある。The purpose of the present invention is to provide information on important data areas within the same program space without deteriorating performance or complicating processing.
An object of the present invention is to provide a main memory protection method that can easily prevent data destruction.
本発明では、複数のストレージ・キーのうちの1個を特
殊ストレージ・キーとして定義し、どのプログラム空間
でも、その空間内の一部のエリアを特殊ストレージ・キ
ーに設定できるようにする。In the present invention, one of a plurality of storage keys is defined as a special storage key, and a part of the area in any program space can be set as a special storage key.
即ち、同一プログラム空間内には、当該空間に割当てら
れた固有のストレージ・キーを持つメモリエリアと特殊
ストレージ・キーを持つメモリエリアが混在する。各プ
ログラムとも、当該空間の固有ストレージ・キーを持つ
メモリエリアに対しては参照、更新が可能であるが、特
殊ストレージ・キーを持つメモリエリアは参照のみで、
更新はできないようにして、特殊ストレージ・キーのメ
モリエリアのデータ破壊防止を実現する。この特殊スト
レージ・キーのメモリエリアの更新は、該メモリエリア
へのデータ転送を指示する特殊命令によって行う。That is, within the same program space, memory areas with unique storage keys assigned to the space and memory areas with special storage keys coexist. Each program can refer to and update the memory area that has a unique storage key of the space, but the memory area that has a special storage key can only be read.
This prevents data from being destroyed in the memory area of the special storage key by making it impossible to update. The memory area of this special storage key is updated by a special command that instructs data transfer to the memory area.
以下、本発明の一実施例について図面により説明する。 An embodiment of the present invention will be described below with reference to the drawings.
第1図は本発明によるフログラム(プログラム空間)と
ストレージ・キーの関係を示したものである。第1図で
は、保護キーは4ビツトからなり、全部で16個のスト
レージ・キーを割当てること。FIG. 1 shows the relationship between a program (program space) and a storage key according to the present invention. In FIG. 1, the protection key consists of 4 bits, and a total of 16 storage keys are assigned.
ができるとしている。この16個のストレージ・キーの
うち、キー0は特権キーとしてO8に割当て、キー1〜
14をそれぞれプログラム1〜14に対して固有に割当
てる。そして、残りのキー15をメモリ・データ・エリ
ア保護のためのデータ・エリア保護キー(以下、データ
・エリア・キーと呼ぶ)として定義する。このデータ・
エリア・キー15はキー1〜14とは異なり、各プログ
ラム1〜14が、その空間内の一部のエリアをデータ・
エリア・キー15として設定することができる。即ち、
プログラム1〜14は、データ破壊防止を講する必要の
ある重要なメモリ・データ・エリアに対してデータ・エ
リア・キー15を設定する。こ効データ・エリア・キー
15を持つメモリエリアは、各プログラムに固有に割当
てられたキーl〜14のメモリエリアと同様に参照する
ことはできるが、変更(書込み)はできないようにする
。It is said that it can be done. Among these 16 storage keys, key 0 is assigned to O8 as a privileged key, and keys 1 to
14 are uniquely assigned to each program 1-14. The remaining key 15 is defined as a data area protection key (hereinafter referred to as data area key) for protecting the memory data area. This data
Area key 15 differs from keys 1 to 14 in that each program 1 to 14 uses data/data for some area within its space.
It can be set as an area key 15. That is,
Programs 1 to 14 set data area keys 15 for important memory data areas that require measures to prevent data destruction. The memory area with the effective data area key 15 can be referenced in the same way as the memory areas with keys 1 to 14 uniquely assigned to each program, but cannot be changed (written).
一方、プログラムには、データ・エリア・キー15を持
つメモリエリアの更新のため次の2つの命令を設ける。On the other hand, the program includes the following two instructions for updating the memory area having the data area key 15.
(1) 5ETDA(Set Data Area K
ey)命令複数個の主記憶保護キーのうち、当命令で指
定されたストレージ・キーをデータ・エリア・キーとし
て認識するため、指定されたストレージ・キーを制御レ
ジスタに格納する。(1) 5ETDA (Set Data Area K
ey) Instruction Out of a plurality of main memory protection keys, the storage key specified by this instruction is recognized as a data area key, so the specified storage key is stored in the control register.
(2) W D A (Write Data Are
a)命令非データ・エリア・キーのエリアよりデータ・
エリア・キーを持つエリアにデータを移動するためにW
DA命令を持つ、WDA命令は、プログラムより移動元
データ・エリア・アドレス、移動先データ・エリア・ア
ドレスおよび移動データ・サイズが指定されるデータ移
動命令の一種である。(2) WDA (Write Data Are
a) Data from the instruction non-data area key area.
W to move data to an area with an area key
A WDA instruction having a DA instruction is a type of data movement instruction in which a source data area address, a destination data area address, and a size of data to be moved are specified by the program.
CPUは移動先データ・エリアが5ETDA命令で制御
レジスタに格納されているデータ・エリア・キーを持つ
エリアか否かを判定し、データ・エリア・キーを持つエ
リアであれば一般のデータ移動命令と同様の動作でキー
をまたがったデータの移動を行う。The CPU determines whether the movement destination data area is an area that has a data area key stored in the control register with the 5ETDA instruction, and if it is an area that has a data area key, it is executed as a general data movement instruction. A similar operation is used to move data across keys.
第2図は5ETDA命令をプログラムより受付けたとき
のCPUの動作を示す。これはデータ・エリア・キーに
よる記憶保護機構の有無を検定し、記憶保護機構が有る
場合にはプログラムの指定したストレージ・キーをデー
タ・エリア・キー制御レジスタに格納することを示して
いる。CCは命令の実行結果をプログラムに通知するコ
ンディション・コードである。FIG. 2 shows the operation of the CPU when it receives the 5ETDA instruction from the program. This indicates that the presence or absence of a storage protection mechanism using a data area key is verified, and if a storage protection mechanism exists, the storage key specified by the program is stored in the data area key control register. CC is a condition code that notifies the program of the instruction execution result.
第3図はプログラムよりWDA命令を受けた時のCPU
の動作を示す。移動先データ・エリアが。Figure 3 shows the CPU when receiving the WDA command from the program.
shows the operation. The destination data area.
データ・エリア・キー制御レジスタに格納されているデ
ータ・エリア・キーと同一のストレージ・キーを持つエ
リアであれば、一般データ移動命令と同様の動作を行い
、ストレージ・キーの相違するエリア間でデータ移動を
行うことを示している。If the area has the same storage key as the data area key stored in the data area key control register, it performs the same operation as a general data movement instruction, and moves between areas with different storage keys. Indicates that data will be moved.
図中のエラー条件は一般データ移動命令処理におけるチ
ェックにより規定されるものである。The error conditions in the figure are defined by checks in general data movement command processing.
5ETDA、WDAのいずれの命令においても、プログ
ラムからの指定情報に誤りのあった場合には、コンディ
ション・コード(CC)レジスタによりエラー条件発生
をプログラムに通知することにより、当該命令は終結す
る。In either the 5ETDA or WDA instruction, if there is an error in the specified information from the program, the condition code (CC) register notifies the program of the occurrence of an error condition, thereby terminating the instruction.
本発明によれば、プログラム(空間)単位で、当該プロ
グラムが必要と判断する任意のメモリ・データ・エリア
をメモリ・ページ単位でそのストレージ・キーをデータ
・エリア・キーに設定することができ、当該データ・エ
リアをプログラムネ良などによる誤ったデータ破壊から
保護することが可能になるとともに、当該データ・エリ
アの更新も一般データ移動命令と同様の動作により、か
つ、性能低下をきたすことなく実行できる。したがって
、従来必要とされていたデータ更新プログラムによるデ
ータ破壊防止チェック処理が不要となり、性能を損うこ
となく容易にシステムの信頼性向上を実現することが可
能となる効果がある。According to the present invention, an arbitrary memory data area that the program determines to be necessary can be set as a data area key in units of memory pages in units of programs (spaces), This makes it possible to protect the relevant data area from accidental data destruction due to program errors, and updates of the relevant data area can be executed in the same manner as general data movement commands, without degrading performance. can. Therefore, there is no need for data destruction prevention check processing using a data update program, which was conventionally required, and it is possible to easily improve system reliability without impairing performance.
第1図は本発明によるプログラムとストレージ・キーの
対応関係を示す図、第2図は5ETDA命令におけるC
PU動作を示す図、第3図はWDA命令におけるCPU
動作を示す図である。Figure 1 is a diagram showing the correspondence between programs and storage keys according to the present invention, and Figure 2 is a diagram showing the correspondence between programs and storage keys according to the present invention.
A diagram showing the PU operation, Figure 3 shows the CPU in the WDA instruction.
It is a figure which shows operation|movement.
Claims (2)
ストレージ・キーという)を設け、主記憶へのアクセス
時、該当エリアのストレージ・キーとプログラムに割当
てられたストレージ・キーを比較し、両者が一致した場
合、該当エリアへのアクセスを許す記憶保護機構を具え
た計算機システムにおいて、複数のストレージ・キーの
うちの一個を特殊ストレージ・キーとして定義して、ど
のプログラムにも割当てることを許し、前記特殊ストレ
ージ・キーを持つエリアへのアクセスは参照のみとする
ことを特徴とする主記憶保護方式。(1) A memory protection key (hereinafter referred to as
A storage protection mechanism that provides a storage key (called a storage key), and when accessing main memory, compares the storage key of the corresponding area with the storage key assigned to the program, and if the two match, allows access to the corresponding area. In a computer system equipped with a special storage key, one of the multiple storage keys is defined as a special storage key and can be assigned to any program, and the area with the special storage key can only be accessed for reference. A main memory protection method characterized by:
更新は、非特殊ストレージ・キー・エリアから該特殊ス
トレージ・キー・エリアへのデータ移動を指示する特定
命令により行うことを特徴とする特許請求の範囲第1項
記載の主記憶保護方式。(2) The data in the area having the special storage key is updated by a specific instruction that instructs data movement from a non-special storage key area to the special storage key area. The main memory protection method described in scope 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15870284A JPS6139142A (en) | 1984-07-31 | 1984-07-31 | Main storage protection system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15870284A JPS6139142A (en) | 1984-07-31 | 1984-07-31 | Main storage protection system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6139142A true JPS6139142A (en) | 1986-02-25 |
Family
ID=15677488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15870284A Pending JPS6139142A (en) | 1984-07-31 | 1984-07-31 | Main storage protection system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6139142A (en) |
-
1984
- 1984-07-31 JP JP15870284A patent/JPS6139142A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030093686A1 (en) | Memory management system and method providing linear address based memory access security | |
JPS6248258B2 (en) | ||
US5684944A (en) | Atomic update of EDC protected data | |
KR100995146B1 (en) | System and method for handling device accesses to a memory providing increased memory access security | |
US7096389B2 (en) | System and method for dynamically moving checksums to different memory locations | |
EP0230350A2 (en) | Protection of data in a multiprogramming data processing system | |
US7680999B1 (en) | Privilege promotion based on check of previous privilege level | |
JPH0156410B2 (en) | ||
JPS6139142A (en) | Main storage protection system | |
JPS63317975A (en) | Right protecting mechanism for magnetic disk device | |
US6546501B1 (en) | Cache memory apparatus and computer readable recording medium on which a program for controlling a cache memory is recorded | |
EP0076098B1 (en) | Key storage error processing system | |
JPS5847784B2 (en) | key storage system | |
US4916703A (en) | Handling errors in the C bit of a storage key | |
US6317857B1 (en) | System and method for utilizing checksums to recover data | |
JPS6073762A (en) | Memory protective system | |
JPH01125638A (en) | Cache memory device | |
JPH0137779B2 (en) | ||
JPH0241772B2 (en) | ||
JP2927072B2 (en) | Access right inspection device | |
JPH02116940A (en) | Page shared system using indirect pointer | |
JPH0348954A (en) | Key storage control system | |
JPS6226490B2 (en) | ||
JPS59113599A (en) | Memory protection system | |
JPS63298652A (en) | Central processing unit |