JPS61285555A - Computer system - Google Patents
Computer systemInfo
- Publication number
- JPS61285555A JPS61285555A JP60126024A JP12602485A JPS61285555A JP S61285555 A JPS61285555 A JP S61285555A JP 60126024 A JP60126024 A JP 60126024A JP 12602485 A JP12602485 A JP 12602485A JP S61285555 A JPS61285555 A JP S61285555A
- Authority
- JP
- Japan
- Prior art keywords
- area
- management table
- volatile
- volatile area
- real
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、メツセージ、データベース・レコード、およ
び持続性のあるシステム状態を含む回復可能な対象の変
更をジャーナリングするための新しい計算機システムに
関する。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a new computer system for journaling changes to recoverable objects, including messages, database records, and persistent system state.
計算機システムにおいて、データベース、システムの状
態は、システムの電源が障害により遮断された場合でも
完全性を保持したまま回復される必要がある。このよう
な障害から回復するために、データベース管理システム
(DBMSlではジャーナルを使用しており、このジャ
ーナルは主メモリ・バッファ、およびディスクまたは磁
気テープといった二次メモリのいずれかに、ブロックC
レコードの集まり)として記憶される。データは最初に
バッファに記入された後、バッファが一杯になるか、持
続して記憶する必要のある時、二次メモIJ K転送さ
れる。従来の装置では、保持の必要のある都度外部の二
次メモリへ書き出しを行っていた九め、ブロック・サイ
ズが大きくても書き出し回数はトランザクションからの
書き出し要求に対応して頻繁に発生するという問題があ
った。In computer systems, databases and system states need to be restored while maintaining their integrity even if the power to the system is cut off due to a failure. To recover from such failures, database management systems (DBMSl) use a journal that stores blocks of C in either main memory buffers and secondary memory, such as disk or magnetic tape.
stored as a collection of records). Data is first written into the buffer and then transferred to the secondary memory IJK when the buffer is full or needs to be permanently stored. In conventional devices, data is written to external secondary memory each time data needs to be retained.The problem is that even if the block size is large, the number of writes occurs frequently in response to write requests from transactions. was there.
一方特開昭59−59374によれば、主メモリをバッ
テリにより不揮発性とすることが可能であり、この主メ
モリにバッファを置けば、バッファも電源遮断時に失わ
れることがなく、書き出しは、ノクツファ満杯時のみで
よいという利点がある。On the other hand, according to Japanese Patent Application Laid-Open No. 59-59374, it is possible to make the main memory non-volatile by using a battery, and if a buffer is placed in this main memory, the buffer will not be lost when the power is cut off, and writing can be done without delay. It has the advantage that it only needs to be used when it is full.
しかし表から、主メモリ全体をバッテリでノくツク・ア
ップすることは、コストの点から実際的でなく、部分的
にバックアップされたメモリを使用して構成することに
なる。仮想記憶方式の計算機システムにおいては仮想メ
モリと実メモリの対応付けと実メモリの管理は、オペレ
ーティング・システム(O8)が一括して行っている。However, the table shows that it is impractical from a cost standpoint to power up the entire main memory with a battery, so it would be implemented using partially backed up memory. In a virtual memory computer system, the operating system (O8) collectively performs the association between virtual memory and real memory and the management of real memory.
O8の外側にいるデータベース管理プログラム(O8か
ら見るとユーザプログラムの−1と見られるので以後ユ
ーザプログラムと呼ぶ)は仮想メモリを対象として処理
を行っているため、実メモリ上の不揮発エリアにバッフ
ァを割り当てることはできない。The database management program outside the O8 (from the O8's point of view, it is seen as the user program -1, henceforth referred to as the user program) processes in virtual memory, so it is necessary to store the buffer in a non-volatile area on the real memory. cannot be assigned.
これに対処する手段として、仮想メモリのあるエリアを
実メモリの不揮発エリアと固定的に対応つけ、仮想メモ
リ上から実メモリ上の特定の部分を意識して割り当てを
行う方式をとつ九とすると、ユーザプログラムとシステ
ム構成との独立性が失われてしまう。また、複数の独立
したバッファを異なるユーザプログラムから互いに独立
して使用することが困難であり、好ましくないという問
題がある。As a way to deal with this, a method is used in which a certain area of virtual memory is fixedly associated with a non-volatile area of real memory, and allocation is made from virtual memory to a specific part of real memory. , the independence between the user program and the system configuration is lost. Another problem is that it is difficult and undesirable to use a plurality of independent buffers independently of each other from different user programs.
本発明の目的は、仮想メモリ方式計算機システムにおけ
るユーザプログラムの複数のジャーナル・バッファの不
揮発化を実メモリアドレスおよび互いの使用状況を意識
することなく実現することである。また、システム障害
により揮発性メモリの内容が失われた場合に、システム
の再開始後、仮想アドレス上のユーザプログラムのバッ
ファに障害発生前と同一の不揮発性エリアを対応付ける
ことにより、ユーザプログラムの回復処理を可能とする
ことである。An object of the present invention is to make multiple journal buffers of user programs in a virtual memory computer system non-volatile without being aware of real memory addresses and mutual usage status. In addition, if the contents of volatile memory are lost due to a system failure, the user program can be recovered by associating the user program buffer at the virtual address with the same nonvolatile area as before the failure after the system is restarted. The purpose is to enable processing.
本発明は上記の目的のため、オペレーティング・システ
ムがユーザプログラムから申請のあった仮想エリアを特
別に不揮発エリアの各部分に固定する方式をとった。こ
れと同時に、オペレーティング・システムは使用光ユー
ザプログラムの指定した使用者識別子を同じく不揮発エ
リア上に設定した管理テーブルに設定し、障害発生後に
不揮発エリア上のデータのうちどのデータが有効である
かという情報が失われないようにするとともに、前記ユ
ーザプログラムと同一の使用者識別子で再割り当て申請
のあった時、対応するバッファを障害発生以前と同じ不
揮発メモリ領域へ割り当て、ユーザプログラムによる障
害発生以前のバッファ内データへのアクセスを可能とし
た。For the above purpose, the present invention employs a method in which the operating system specifically fixes virtual areas requested by user programs to each part of the non-volatile area. At the same time, the operating system sets the user identifier specified by the optical user program in the management table set in the non-volatile area, and determines which data among the data in the non-volatile area is valid after a failure occurs. In addition to ensuring that information is not lost, when a reassignment request is made with the same user identifier as the user program, the corresponding buffer is allocated to the same nonvolatile memory area as before the failure occurred, and the user program Enables access to data in the buffer.
以下、本発明の一実施例を第1図により説明する。従来
の計算機システムは、主メモリ3と演算制御装置4と其
の他の部分(図示せず)より構成される。主メモリ3は
、揮発エリア1よシ構成されており、ページC実ページ
)に分割されている。An embodiment of the present invention will be described below with reference to FIG. A conventional computer system includes a main memory 3, an arithmetic control unit 4, and other parts (not shown). The main memory 3 is composed of a volatile area 1 and is divided into pages (C real pages).
これに対して、仮想メモリも実ページと同じ大きさの仮
想ページに分けて、メモリ管理を行うプログラム(以後
O8と呼ぶ)に管理されている。On the other hand, the virtual memory is also divided into virtual pages of the same size as the real page and managed by a program (hereinafter referred to as O8) that performs memory management.
実メモリの管理には、第2図に示す実ページテーブル1
0を使用する。実ページテーブル10には、仮想ページ
番号11使用中7ラグ12を含む。To manage real memory, real page table 1 shown in Figure 2 is used.
Use 0. The real page table 10 includes virtual page numbers 11 and 7 lags 12 in use.
演算制御装置4は、仮想アドレスから実アドレスへの変
換機構5をふくむ。O8による仮想アドレスから実アド
レスへの対応付けは、ページ単位に行われ、変換機構5
0ページ・テーブルC図示せず】にこの対応関係を設定
することでシステムに通知される。The arithmetic control unit 4 includes a virtual address to real address conversion mechanism 5. The correspondence between virtual addresses and real addresses by O8 is performed on a page-by-page basis, and the conversion mechanism 5
The system is notified by setting this correspondence in the 0 page table C (not shown).
ユーザプログラムからは、5vC(スーパーバイザ・コ
ール)によって仮想ページに対する実ページの割り当て
要求が行われる。この時パラメータとしてバッファペー
ジ番号が申請される。A user program makes a request to allocate a real page to a virtual page using a 5vC (supervisor call). At this time, a buffer page number is applied as a parameter.
O8による割シ当では以下のように行う。実ページテー
ブルから使用中7ラグがオフであるエントリを見付け、
匣用中フラグをオンとし、仮想ページ番号を設定して割
シ当てページとする。このようにして割り当てられたペ
ージは、ページングによる追い出しの対象とはならず、
ユーザプログラムからの同一仮想ページ番号を指定した
解放要求のSvCが行われるまで、解放されない。Allocation by O8 is performed as follows. Find the entry in use with 7 lags off from the real page table,
Turn on the boxing flag, set a virtual page number, and use it as an assigned page. Pages allocated in this way are not subject to paging eviction, and
It will not be released until an SvC of a release request specifying the same virtual page number is made from the user program.
本発明では、主メモリ3は、揮発エリア1と不揮発エリ
ア2よシ構成されてかり、それぞれ実ページに分割され
ている。不揮発エリア2には、管理テーブル6を含む。In the present invention, the main memory 3 is composed of a volatile area 1 and a non-volatile area 2, each of which is divided into real pages. The nonvolatile area 2 includes a management table 6.
第3図に示すように、管理テーブル6はエントリ毎にま
用者識別子31と使用状況フラグ32を含む。実ページ
テーブルのエン) IJには、不揮発フラグ13が追加
されており、システム初期設定時に不揮発エリアに対応
するエントリの当該ブックはオンに設定されている。ユ
ーザプログラムからの割り当て要求時、仮想ページ番号
に加えて、要求株別、および要求種別が不揮発エリア要
求なら使用者識別子が申請される。As shown in FIG. 3, the management table 6 includes a user identifier 31 and a usage status flag 32 for each entry. A non-volatile flag 13 is added to the IJ of the real page table, and the corresponding book of the entry corresponding to the non-volatile area is set to ON at the time of system initialization. When a user program makes an allocation request, in addition to the virtual page number, the requested stock type and if the request type is a non-volatile area request, a user identifier is requested.
第4図はその時の処理の流れを示す。要求種別が不揮発
初期割シ当ての時、管理テーブルのエントリから未更用
のものをサーチ、なければ割j5Mて失敗とする。見付
かったエントリを割シ当で実ページとし、使用者識別子
を設定し、便用中とする。実ページテーブルの上記ペー
ジに対応するエントリに仮想ページ番号を設定し、使用
中フラグを設定する。要求種別が不揮発再割シ当ての時
、管理テーブルのエントリから申請の使用者識別子と同
じものを持つエントリをサーチし、なかったり、再使用
開始状態でなければ、割り当て失敗とする。見付かった
エントリを割り当て実ページとして使用中とし、前記と
同様の実ページテーブルの設定を行う。要求種別が揮発
割シ轟ての時、実ページテーブルから、不揮発でなく使
用中でないエントリをサーチ、見付からなければ、割シ
当て失敗とする。見付かったエントリを割シ当で実ペー
ジとして上記と同様の実ページテーブルの設定をおこな
う。ユーザプログラムは、このSvCを行った後は当該
バッファの内容は、電源障害に対して不揮発であると考
えて処理を行う。FIG. 4 shows the flow of processing at that time. When the request type is non-volatile initial allocation, a search is made for an entry in the management table that has not been updated, and if not, the allocation is determined to be a failure. The found entry is assigned as a real page, a user identifier is set, and it is made available for use. A virtual page number is set in the entry corresponding to the above page in the real page table, and a busy flag is set. When the request type is non-volatile reassignment, the management table is searched for an entry that has the same user identifier as the user identifier of the application, and if it does not exist or the reuse has not started, the assignment is determined to have failed. The found entry is allocated and used as a real page, and the same real page table settings as above are performed. When the request type is volatile allocation, the real page table is searched for an entry that is neither nonvolatile nor in use, and if no entry is found, allocation is determined to have failed. The found entry is assigned as a real page and the real page table is set in the same manner as above. After performing this SvC, the user program performs processing assuming that the contents of the buffer are non-volatile in the event of a power failure.
最後に、システム開始時の管理テーブルの初期設定は第
5図の手順で行う。再開始かどうかを識別し、再開始で
なければ、管理テーブルの全エントリを未使用状態に設
定する。再開始ならば、エントリの中で使用中のものを
再割り当てに設定しなおす。とのようにして、前述のペ
ージ割シ当て処理の可能な状態とすることができる。Finally, the initial setting of the management table at the time of starting the system is performed according to the procedure shown in FIG. It is determined whether it is a restart or not, and if it is not a restart, all entries in the management table are set to an unused state. If restarting, the entries in use are set to reallocation. In this way, the state in which the above-described page allocation process can be performed can be achieved.
本発明によれば、各ユーザプログ2ムは実アドレスを意
識せず忙各々のバッファを不揮発化できる。また、シス
テム障害からの回復後、仮想アドレス体系が変わってし
まっていても、使用者識別子によ)、障害発生以前のデ
ータへ仮想ページ上のバッファを通じてアクセスができ
る。According to the present invention, each user program can make its own buffer non-volatile without being aware of the real address. Furthermore, even if the virtual address system has changed after recovery from a system failure, the data before the failure can be accessed via the buffer on the virtual page (using the user identifier).
第1図は、対象とする計算機システムの構成図、第2図
は、実ページテーブルの構成図、第3図は、管理テーブ
ルの構成図、第4図は、仮想ページに対する実ページ割
シ当で処理の流れ図、第5図は、システム開始時のテー
ブル類設定処理の流れ図である。
1・・・揮発性メモリ、2・・・不揮発性メモリ、3・
・・主メモリ、4・・・演算制御装置、6・・・管理テ
ーブル、第4図Figure 1 is a configuration diagram of the target computer system, Figure 2 is a configuration diagram of a real page table, Figure 3 is a configuration diagram of a management table, and Figure 4 is a diagram of the real page allocation scheme for virtual pages. FIG. 5 is a flowchart of table setting processing at the time of system startup. 1... volatile memory, 2... non-volatile memory, 3...
...Main memory, 4. Arithmetic control unit, 6. Management table, Fig. 4
Claims (1)
ドレスで実行が制御され、仮想アドレスから実アドレス
への変換を行うアドレス変換機構を含む演算制御装置を
含む計算機システムにおいて、不揮発エリア内に、不揮
発エリアの各部分の使用状況と各使用者識別子をエント
リとして記憶する不揮発エリア管理テーブル(以後管理
テーブルと呼ぶ)を持ち、主メモリを管理するプログラ
ムの機能として、システムの初期設定時に、この管理テ
ーブルの使用状況を全て未使用状況に設定するか、また
は、使用中のエントリを再使用開始に設定する機能を持
ち、他プログラムからの仮想エリアへの実エリア割り当
て要求に際し、不揮発エリアへの使用申請を伴わない要
求に対しては、揮発エリアへの割り当てを行い、不揮発
エリアの初期使用申請に対しては、管理テーブルをサー
チして未使用の不揮発エリアを見付けて割り当てるとと
もに、管理テーブルのエントリとして、申請時に指定さ
れた使用者識別子を設定するとともに、使用状況を使用
中に設定し、不揮発エリアの再使用申請に対しては、管
理テーブルの再使用開始エリアを申請時に指定した使用
者識別子によりサーチし、同一使用者識別子を持つエリ
アを再割り当てするとともに、管理テーブルの対応エン
トリの使用状況を使用中に設定する機能を持つことを特
徴とする計算機システム。In a computer system that includes a main memory consisting of a volatile area and a non-volatile area, and an arithmetic control unit whose execution is controlled by virtual addresses and includes an address translation mechanism that converts virtual addresses to real addresses, there is a non-volatile area within the non-volatile area. It has a non-volatile area management table (hereinafter referred to as management table) that stores the usage status of each part and each user identifier as entries.As a function of the program that manages main memory, this management table is stored during initial system setup. It has a function to set all the usage status to unused status or to set the entry in use to start reuse, and when a real area allocation request to a virtual area is requested from another program, the usage application to the non-volatile area is applied. For unaccompanied requests, allocation is made to the volatile area, and for requests for initial use of the non-volatile area, the management table is searched to find and allocate an unused non-volatile area, and as an entry in the management table, In addition to setting the user identifier specified at the time of application, the usage status is set to in use, and for non-volatile area reuse applications, the reuse start area of the management table is searched by the user identifier specified at the time of application. A computer system having a function of reassigning an area having the same user identifier and setting the usage status of a corresponding entry in a management table to be in use.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60126024A JPS61285555A (en) | 1985-06-12 | 1985-06-12 | Computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60126024A JPS61285555A (en) | 1985-06-12 | 1985-06-12 | Computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61285555A true JPS61285555A (en) | 1986-12-16 |
Family
ID=14924814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60126024A Pending JPS61285555A (en) | 1985-06-12 | 1985-06-12 | Computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61285555A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011033600A1 (en) * | 2009-09-21 | 2011-03-24 | 株式会社 東芝 | Virtual memory management device |
-
1985
- 1985-06-12 JP JP60126024A patent/JPS61285555A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011033600A1 (en) * | 2009-09-21 | 2011-03-24 | 株式会社 東芝 | Virtual memory management device |
JP5404798B2 (en) * | 2009-09-21 | 2014-02-05 | 株式会社東芝 | Virtual storage management device and storage management device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7155586B1 (en) | Method of allowing point-in-time view of data on a disk using a map on cache disk | |
EP1942414B1 (en) | Snapshot system and method | |
JP5346536B2 (en) | Information backup / restore processing device and information backup / restore processing system | |
US7412578B2 (en) | Snapshot creating method and apparatus | |
US6341341B1 (en) | System and method for disk control with snapshot feature including read-write snapshot half | |
US7743209B2 (en) | Storage system for virtualizing control memory | |
US20090164715A1 (en) | Protecting Against Stale Page Overlays | |
JP2004342050A (en) | Method for maintaining a plurality of snapshots, server system and storage system | |
GB2265734A (en) | Free memory cell management system | |
JPH05210637A (en) | Method of simultaneously controlling access | |
JPH06139120A (en) | File updating system | |
JP2000122902A (en) | Method for writing data in log structure storage destination, medium and data storage system | |
US7032093B1 (en) | On-demand allocation of physical storage for virtual volumes using a zero logical disk | |
JPH02150940A (en) | Virtual memory system | |
EP0351109A2 (en) | Reducing resources in a high reliability data storage subsystem | |
JP2021092915A (en) | Storage system and volume duplication method | |
JP3808058B2 (en) | Apparatus for allowing a plurality of hosts to share a set of memory sectors storing compressed data | |
JPS61285555A (en) | Computer system | |
US20050223180A1 (en) | Accelerating the execution of I/O operations in a storage system | |
JPH06309209A (en) | File backup system | |
JPS629929B2 (en) | ||
Greenberg et al. | The multics multilevel paging hierarchy | |
JPH03257641A (en) | Memory dump sampling system | |
JP2763956B2 (en) | File open environment collection processing method | |
CN115357197A (en) | Method, system and equipment for storing pre-written log |