JPH07152644A - 情報格納装置 - Google Patents

情報格納装置

Info

Publication number
JPH07152644A
JPH07152644A JP5326198A JP32619893A JPH07152644A JP H07152644 A JPH07152644 A JP H07152644A JP 5326198 A JP5326198 A JP 5326198A JP 32619893 A JP32619893 A JP 32619893A JP H07152644 A JPH07152644 A JP H07152644A
Authority
JP
Japan
Prior art keywords
data
page
storage device
data conversion
conversion
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
Application number
JP5326198A
Other languages
English (en)
Other versions
JP2932920B2 (ja
Inventor
Sunao Hashimoto
直 橋元
Shigehisa Kawabe
恵久 川邉
Kazunori Horikiri
和典 堀切
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP5326198A priority Critical patent/JP2932920B2/ja
Publication of JPH07152644A publication Critical patent/JPH07152644A/ja
Priority to US08/822,146 priority patent/US5787487A/en
Application granted granted Critical
Publication of JP2932920B2 publication Critical patent/JP2932920B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 補助記憶装置へのデータの格納及び補助記憶
装置からのデータの読み出しの際に、柔軟なデータ処理
を行なうことにより融通性の高い情報格納装置を提供す
る。 【構成】 一時記憶管理装置3は、ページャ2からのペ
ージインまたはページアウトのコマンドを受けると、主
記憶装置5と一時記憶装置6の間のデータ転送に加え、
データ変換装置7に対し一時記憶装置6上のデータを変
換するコマンドを発行し、さらに、一時記憶装置6と磁
気ディスク装置4間のデータ転送を引き起こす。データ
変換装置7は、一時記憶装置6上のデータを所定のデー
タ変換手続により変換し、変換済みデータを一時記憶装
置6に格納する。所定のデータ変換手続はデータ変換に
関する情報に基づいて設定される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、補助記憶手段を用いた
情報格納装置に関するものであり、特に、ページング方
式による仮想記憶システムの構成に用いて好適な情報格
納装置に関するものである。
【0002】
【従来の技術】従来より用いられているページング方式
による仮想記憶システムでは、主記憶装置と補助記憶装
置を含み、仮想記憶域をページ単位に分割し、また、主
記憶装置全体をページ枠に分割し、ページ単位で主記憶
装置と補助記憶装置との間でデータの転送を行なうもの
である。ページング方式による仮想記憶システムは、メ
インフレームコンピュータに始まり、ワークステーショ
ンやパーソナルコンピュータにおいてまで利用可能なほ
ど普及している。
【0003】従来の仮想記憶管理システムでは、補助記
憶装置と主記憶装置との間のデータ転送は、主記憶装置
に転送されるデータそのものにより行なわれている。近
年、例えば画像処理などのように、多量のデータを扱う
ようになるとともに、ページングのために必要となる補
助記憶装置の容量の増加、および、補助記憶装置と主記
憶装置との間の転送効率が問題となっている。
【0004】このような問題に対処するため、従来のい
くつかのシステムでは、ページングの際にデータを圧縮
あるいは伸張する処理を行なうことが考えられている。
例えば、特開平4−14154号公報や、特開昭62−
154152号公報に記載されたシステムでは、主記憶
装置にあるデータを圧縮して補助記憶装置の未使用域に
書き出し、また、補助記憶装置にある圧縮データを伸張
復元して主記憶装置に読み込むことにより、補助記憶装
置上の領域を節約するとともに、圧縮された形でデータ
転送を行ない、転送効率を向上させている。
【0005】また、仮想記憶管理システム以外にも、例
えば、ファイルのアクセス時にも補助記憶装置に対する
データ転送が発生する。この場合にも転送速度が問題と
なる。そのため、例えば、特開平4−364547号公
報に記載されている補助記憶装置では、ディスクに対す
る書き込みおよび読み出しの速度の高速化を図るため、
情報の書き込みあるいは読み出しの際に、書き込み情報
の圧縮あるいは読み出し情報の伸張を行なっている。
【0006】一方、情報機器としてコンピュータが一般
化し、個人利用に供されるにつれて、情報の暗号化、情
報の圧縮、画像情報の階調変換や解像度変換などの前処
理や後処理を行なう必要性が高まってきている。これら
の処理は、ユーザが所望する処理の前後に決まって行な
われる場合が多い。そのため、これらの処理をシステム
側で効率良く行なう機構が望まれるところである。しか
し、一般的には、このような情報の暗号化、情報の圧
縮、画像情報の階調変換や解像度変換などの前処理、後
処理は、専用のプログラムで行なうか、あるいは、アプ
リケーションプログラムの内部に組み込まれて実行され
ている。
【0007】上述した従来の仮想記憶システムや補助記
憶装置では、圧縮伸張についてはデータ転送時に行なう
ことができる。しかし、その他の処理をデータ転送時に
行なうことは全く考えられていなかった。これは、従来
のシステムが、補助記憶装置の効率的な利用と転送効率
の向上のみを目指すものであることによる。また、従来
のシステムでは、圧縮および伸張の処理は、データ転送
時に必ず行なわれてしまい、データの種類、システムの
状態、あるいは、ユーザの意図などに応じて選択的に行
なえるものではなかった。そのため、例えば、アプリケ
ーションプログラムによって圧縮処理や画像処理が施さ
れているファイルデータを別のアプリケーションプログ
ラムで扱う際には、あらかじめ所定のデータ処理が施さ
れていることを考慮しなくてはならず、融通性に欠けて
いた。
【0008】
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、補助記憶装置へのデータの
格納および補助記憶装置からのデータの読み出しの際
に、柔軟なデータ処理を行なうことにより融通性の高い
情報格納装置を提供することを目的とするものである。
【0009】
【課題を解決するための手段】本発明は、情報格納装置
において、補助記憶手段と、転送データに対してデータ
変換を行なうデータ変換手段と、データ転送に関する情
報を保持するデータ転送情報保持手段と、データ変換に
関する情報を保持するデータ変換情報保持手段と、前記
補助記憶手段を管理するとともに前記データ転送情報保
持手段に保持されているデータ転送に関する情報を用い
て前記補助記憶手段に対するデータ転送を行ない該デー
タ転送時に前記データ変換情報保持手段に保持されてい
るデータ変換に関する情報を用いて前記データ変換手段
に転送データのデータ変換を指示する記憶管理手段を有
することを特徴とするものである。
【0010】前記記憶管理手段は、ページャからの指示
に従って前記補助記憶手段に対するデータ転送および前
記データ変換手段に対するデータ変換の指示を行ない、
ページ方式の仮想記憶システムに用いることができる。
仮想記憶システムにおいて一時記憶手段を有する構成で
は、前記記憶管理手段は、主記憶装置と前記一時記憶手
段の間および前記一時記憶手段と前記補助記憶手段の間
のデータ転送の指示を行ない、前記一時記憶手段から前
記主記憶装置へのデータ転送あるいは前記一時記憶手段
から前記補助記憶手段へのデータ転送の際に、前記デー
タ変換手段により転送データに対して所定のデータ変換
を行なうように構成することができる。この一時記憶手
段を有する構成において、前記記憶管理手段は、前記デ
ータ変換情報保持手段に保持されているデータ変換に関
する情報に基づき前記一時記憶手段にページアウトされ
ている所定のページを消去しないように管理可能に構成
することができる。また、前記記憶管理手段は、所定の
ページを補助記憶手段に書き込まないように管理可能に
構成することができる。
【0011】また、前記データ変換手段は複数のデータ
変換処理を有し、前記記憶管理手段からの指示に従って
前記複数のデータ変換処理の中から1つまたは複数のデ
ータ変換処理を選択し、データ転送の際に転送データに
対して選択されたデータ変換処理を施すように構成する
ことができる。このとき、前記データ変換処理の選択
は、所定の手続きを実行した結果や、ユーザが指定する
パラメータ、システムの状態やページの属性などの情報
に基づいて行なうことができる。
【0012】さらに、前記データ変換手段は、ユーザが
あらかじめ用意した所定のデータ変換手続きが登録可能
に構成することができる。
【0013】
【作用】本発明によれば、データ転送に関する情報とと
もにデータ変換に関する情報を保持しており、補助記憶
手段を管理する記憶管理手段が、データ転送に関する情
報を用いて前記補助記憶手段に対するデータ転送を行な
い、データ転送時にはデータ変換に関する情報を用いて
データ変換手段に転送データのデータ変換を指示し、デ
ータ変換手段において転送データは自動的に変換処理さ
れる。そのため、保持されているデータ変換に関する情
報の設定に応じて柔軟にデータ変換を行なうことができ
る。
【0014】この情報格納装置を仮想記憶管理システム
の一部として用い、記憶管理手段はページャからの指示
に従って、補助記憶手段に対するデータ転送およびデー
タ変換手段に対するデータ変換の指示を行なうように構
成することにより、柔軟なデータ変換を行なうことので
きる仮想記憶管理システムを構築することができる。
【0015】この仮想記憶システムにおいて、一時記憶
手段を有する構成では、記憶管理手段は、主記憶装置と
一時記憶手段の間および一時記憶手段と補助記憶手段の
間のデータ転送の指示を行ない、一時記憶手段から主記
憶装置へのデータ転送あるいは一時記憶手段から補助記
憶手段へのデータ転送の際に、データ変換手段により転
送データに対して所定のデータ変換を行なう。このよう
に構成することにより、データ変換は情報格納装置で行
なわれるので、ページャによるページング動作を高速に
行なうことができる。
【0016】この一時記憶手段を有する構成において、
記憶管理手段は、データ変換に関する情報に基づき一時
記憶手段にページアウトされている所定のページを消去
しないように管理可能に構成することにより、例えば、
よくアクセスする変換前のデータを消去せずに一時記憶
手段に記憶させておくことができ、補助記憶装置からの
データ転送を減少させ、ページングの高速化を図ること
ができる。また、記憶管理手段は、所定のページを補助
記憶手段に書き込まないように管理可能に構成すること
により、例えば、復号化したデータを補助記憶装置に書
き込まないようにすることができ、セキュリティの向上
を図ることができる。
【0017】また、データ変換手段は複数のデータ変換
処理を有し、記憶管理手段からの指示に従って複数のデ
ータ変換処理の中から1つまたは複数のデータ変換処理
を選択し、データ転送の際に転送データに対して選択さ
れたデータ変換処理を施すように構成することができる
ので、種々の状態に対応した柔軟なデータ変換をデータ
転送時に行なうことができる。このとき、データ変換処
理の選択は、所定の手続きを実行した結果や、ユーザが
指定するパラメータ、システムの状態やページの属性な
どの情報に基づいて行なうことができる。
【0018】さらに、前記データ変換手段は、ユーザが
あらかじめ用意した所定のデータ変換手続きが登録可能
に構成することができ、よりユーザの意向に即した柔軟
なデータ変換を実現することができる。
【0019】
【実施例】図1は、本発明の情報格納装置の一実施例を
示すブロック構成図である。図中、1は主記憶管理装
置、2はページャ、3は一時記憶管理装置、4は磁気デ
ィスク装置、5は主記憶装置、6は一時記憶装置、7は
データ変換装置である。また、実線の矢印は装置間での
データの授受を表わし、破線はデータ制御のための信号
を表わしている。この実施例では、本発明の情報格納装
置を仮想記憶システムに適用した例を示しており、一時
記憶装置6と主記憶装置5間でのページ・インまたはペ
ージ・アウト処理に連動して、データ変換装置7によっ
て所定のデータ処理を施した上で磁気ディスク装置4と
一時記憶装置6との間の転送を行なっている。
【0020】主記憶管理装置1は、主記憶装置5を管理
し、また、ページインやページアウトのコマンドをペー
ジャ2に出力する。ページャ2は、データ転送に関する
情報に基づき、主記憶装置5と一時記憶管理装置3の両
者の制御情報の交換を行ない、主記憶装置5と一時記憶
装置6の間のデータ転送を制御する。
【0021】一時記憶管理装置3は、ページャ2からの
ページインまたはページアウトのコマンドを受けると、
主記憶装置5と一時記憶装置6の間のデータ転送に加
え、データ変換装置7に対し一時記憶装置6上のデータ
を変換するコマンドを発行し、その後一時記憶装置6と
磁気ディスク装置4間のデータ転送を引き起こす。デー
タ変換装置7は、一時記憶装置6上のデータを所定のデ
ータ変換手続により変換し、変換済みデータを一時記憶
装置6に格納する。所定のデータ変換手続はデータ変換
に関する情報に基づいて設定される。
【0022】この実施例では、一時記憶装置6を設けて
いるが、一時記憶装置6を設けず、直接、磁気ディスク
装置4と主記憶装置5との間のデータ転送を行なうよう
に構成することもできる。また、一時記憶装置6とし
て、磁気ディスク装置4の特定の領域や、データ変換装
置7内のメモリ、あるいは、主記憶装置5内のページン
グ対象外の領域を使ってもよい。さらに、一時記憶装置
6を複数有する構成としてもよい。一時記憶装置6を複
数段設けることもでき、一般的にいえば階層的な記憶装
置を用いることができる。
【0023】この実施例では、データ変換装置7による
データ変換の結果を一時記憶装置6に格納するようにし
ているが、直接、主記憶装置5あるいは磁気ディスク装
置4に転送するような構成にしてもよい。一時記憶装置
6を複数有する構成の場合には、データ変換装置7は、
変換前のデータと変換後のデータを別の一時記憶装置6
に記録することも可能である。一時記憶装置6を用いな
い構成では、主記憶装置5からの転送データは、データ
変換を行なって、直接、磁気ディスク装置4に転送し、
磁気ディスク装置4からの転送データは、データ変換を
行なって、直接、主記憶装置5へ転送することになる。
【0024】ここで、変換前のデータとは、磁気ディス
ク装置4上のデータブロックに書かれたデータを指し、
変換後のデータとは、変換前のデータにデータ変換装置
7により変換を施したデータを指す。データ変換装置7
に第1の変換方式と、その逆変換である第2の変換方式
が存在する場合、変換前のデータに対して第1の変換方
式を適用して得られた変換後のデータは、第2の変換方
式を適用することにより変換前のデータに戻すことがで
きる。データ変換装置7で行なうデータ変換は、可逆変
換に限らず、変換後のデータに第2の変換方式を適用し
た結果が変換前のデータと異なる変換であってもよい。
また、1つの変換方式のみを用い、双方向の変換を行な
ってもよい。さらに、後述するように、複数の変換方式
を内蔵し、切り換えて用いることもできる。もちろん、
一時記憶管理装置3は、変換前のデータと変換後のデー
タが同じ、すなわち、データ変換装置7による変換を行
なわないという選択を行なうことも可能である。
【0025】この実施例の磁気ディスク装置4の代わり
に光ディスク装置やあるいは光磁気ディスク装置、フロ
ッピー装置、半導体メモリを利用したシリコンディスク
装置、ランダムアクセスが可能なテープ装置など、種々
の装置を1つまたは複数台あるいは複数種類の装置を組
み合わせて用いても良い。
【0026】この実施例では、仮想記憶システムにおけ
るページイン、ページアウトのデータ転送時にデータ変
換を行なう構成例について説明したが、本発明は、仮想
記憶システム以外の主記憶と補助記憶との間のデータ転
送について適用可能である。例えば、磁気ディスク装置
から主記憶装置へのブロック転送などに適用することが
できる。
【0027】図1に示した構成において、少なくとも、
一時記憶管理装置3、磁気ディスク装置4、データ変換
装置7の部分を、あるいは、一時記憶装置6を含めた部
分を、一つの補助記憶装置として構成することができ
る。このように構成した場合、通常のデータ変換装置7
を有しない計算機システムに対して、外付けの補助記憶
装置として接続することにより、既存の計算機システム
を用いてデータ変換装置を有するシステムを簡易に構成
することができる。
【0028】以下、図1に示した各構成について、より
詳しく説明する。主記憶管理装置1は、データプロセッ
サのメモリアクセスを関知し、論理アドレスから物理ア
ドレスへのアドレス変換と、主記憶装置5に実際にデー
タが置かれていないページの検出と、ページアウトすべ
きページの決定と、主記憶装置5の空きページの管理
と、論理アドレスに対応する物理アドレス、仮想ブロッ
ク識別子、更新マークを管理するためのページテーブル
の管理と、ページャ2にページインコマンドの発行を行
なう。ここで、仮想ブロック識別子とは、一時記憶装置
6内の変換後データのデータブロックを指す仮想的な識
別子である。また、空きページが第1の所定の量より少
なくなったら、ページャ2にページアウトコマンドの発
行を行なう。
【0029】ページテーブルは、例えば、特定のページ
について論理アドレス空間のページ番号と物理アドレス
空間のページ番号と仮想ブロック識別子から構成され
る。データの書き込みアクセスが行なわれたページが発
生すると、そのページに該当するページテーブルのエン
トリには、更新マークがつけられる。この実施例では、
ページテーブルは主記憶管理装置1が管理するが、ペー
ジャ2が管理するようにしても良い。また、ページャ2
はページテーブルの参照と更新を行なうことができる。
【0030】ページャ2は、主記憶管理装置1から指定
されたページのページインコマンドを受け取り、データ
変換装置7に対して指定されたページの仮想ブロック識
別子から定まるページデータを主記憶装置5へ転送する
ように、一時記憶管理装置3と主記憶装置5に指示す
る。
【0031】ページインの場合、ページャ2はページテ
ーブルを参照し、主記憶装置5上の空きページの論理ア
ドレス空間のページ番号に対応する仮想ブロック識別子
を調べる。その結果、一時記憶装置6から主記憶装置5
へ空きページを埋めるためのページデータの転送を行な
うように、一時記憶管理装置3と主記憶装置5にページ
イン転送コマンドを発行する。ページデータの転送によ
り、主記憶装置5上の空きページにはデータが置かれる
ので、該当するページテーブルのエントリの更新を行な
う。
【0032】ページャ2は、主記憶管理装置1からペー
ジアウトコマンドを受け取ると、空きページが第2の所
定の量を上回るまで、主記憶装置5のページを解放す
る。ページを解放する前に、該当ページのページテーブ
ルのエントリに更新マークがあるか否かを検出し、更新
マークがあれば、主記憶装置5のページを一時記憶装置
6に退避するために、主記憶装置5から一時記憶装置6
へデータを転送するページアウト転送コマンドを一時記
憶管理装置3と主記憶装置5に発行する。
【0033】一時記憶管理装置3は、一時記憶装置6か
ら磁気ディスク装置4へページアウトすべきページの決
定と、一時記憶装置6の空きページの管理と、一時記憶
装置6の各ページに対応するブロック識別子、仮想ブロ
ック識別子、更新マークを管理するための一時記憶管理
テーブルの管理を行なう。ここで、ブロック識別子と
は、磁気ディスク装置のディスクブロックに付けられた
識別子のことである。また、データ変換装置7に対し
て、一時記憶装置6上のデータを変換するように要求す
る。また、ブロック識別子を指定してデータブロックの
リードコマンド、ライトコマンドを磁気ディスク装置4
へ発行することにより、一時記憶装置6と、磁気ディス
ク装置4との間のブロックデータの転送を指示する。
【0034】磁気ディスク装置4は、データを保存管理
するとともに、ブロック識別子とディスク上の記憶ブロ
ックとの対応を管理し、一時記憶管理装置3よりデータ
ブロックのリードコマンドが発行されたら、指示された
ブロック識別子で定まるデータブロックを出力する。ま
た、一時記憶管理装置3よりデータブロックのライトコ
マンドが発行されたら、データブロックを格納する。
【0035】主記憶装置5は、データを記憶するととも
に、要求されたアドレスに対するアクセスを行ない、デ
ータの格納、読み出し、消去を行なう。そして、仮想ブ
ロック識別子に対応するページブロックのデータブロッ
クを一時記憶装置6との間でやり取りする。
【0036】一時記憶装置6は、データを一時記憶する
とともに、要求されたアドレスに対するアクセスを行な
い、データの格納、読み出し、消去を行なう。そして、
仮想ブロック識別子に対応するページブロックのデータ
ブロックを主記憶装置5との間でやり取りする。同様
に、磁気ディスク装置4との間でのデータブロックのや
り取りも行なう。
【0037】データ変換装置7は、一時記憶装置6に対
してデータブロックの読み書きを行ない、データ変換を
行なう。また、データ変換テーブルの管理を行なう。デ
ータ変換装置7において行なわれるデータ変換は、一般
的には、mブロックのデータを所定のデータ変換手続き
によってnブロックのデータに変換し、一時記憶装置6
に書き込む操作である。ここで、m、nは1より大きい
整数とする。mはnより大きくてもよいし小さくてもよ
い。もちろん、mとnは同じでもよい。mおよびnは、
データブロックの内容に無関係に、データ変換手続きに
よって定まってもよいし、データ変換手続きの実行や、
データブロックの内容によって動的に定まってもよい。
また、いかなるデータブロックにおいても、あらかじめ
定められたm,nについて、mブロックのデータブロッ
クを変換するとちょうどnブロックとなるとは限らな
い。mブロックのデータを変換したとき、nブロックに
満たない場合には、不足した量のヌルデータを補っても
よい。
【0038】データ変換装置7でページインのときにデ
ータ変換に使われる第1のデータ変換手続きとページア
ウトのときに使われる第2のデータ変換手続きはそれぞ
れ互いに逆変換手続きとすることができる。すなわち、
第1のデータ変換手続きをmブロックのデータをnブロ
ックのデータに変換する手続きとし、第2のデータ変換
手続きをnブロックのデータからmブロックのデータに
逆変換する手続きとすることができる。しかし、必ずし
も逆変換手続きを持つ必要はない。また、逆変換手続き
の代わりに、別の変換手続きを用いても良い。一般的に
は、データ変換装置7でページインのときにデータ変換
に使われる第1のデータ変換手続きとページアウトのと
きに使われる第2のデータ変換手続きはそれぞれ無関係
に任意の変換手続きでよい。
【0039】図2は、ページテーブル、一時記憶管理テ
ーブル、データ変換テーブルの一例の説明図である。ペ
ージテーブルは、例えば、主記憶管理装置1によって保
持され、管理される。図2(A)に示すページテーブル
は、論理アドレス空間のページ番号の項目と、物理アド
レス空間のページ番号の項目と、仮想ブロック識別子の
項目と、該当ページデータの更新の有無を表す更新マー
クの項目からなる表である。もちろん、他の項目を有す
る表として構成してもよい。
【0040】図中のLA1,LA2,LA3は、それぞ
れ特定の論理アドレス空間のページ番号、PA1,PA
2,PA3は、それぞれ特定の物理アドレス空間のペー
ジ番号、VBI1,VBI2,VBI3は、それぞれ特
定の仮想ブロック識別子を示している。更新マークの列
は、×印があれば、ページインの後にデータプロセッサ
により更新されていることを表わしている。
【0041】例えば、図2(A)に示したページテーブ
ルの1行目の論理アドレス項目LA1と物理アドレス項
目PA1は、図2(D)に示す論理アドレス空間のペー
ジ番号LA1が、図2(E)に示す論理アドレス空間の
ページ番号PA1にマッピングされていることを示す。
また、これらのページ番号に対応して、仮想ブロック識
別子VBI1が付与されている。さらに、このページ
は、更新マークの欄に×印があるので、データプロセッ
サにより更新がなされていることを示している。
【0042】次に、一時記憶管理テーブルについて説明
する。図1に示した実施例では、一時記憶装置6は単な
るページ記憶で実現している。一時記憶装置6は仮想記
憶ではないが、仮想記憶によって実現してもよい。一時
記憶装置6のデータブロックは、ページブロック番号に
より一意に識別される。一時記憶管理テーブルは、例え
ば、一時記憶管理装置3により管理される。
【0043】一時記憶管理テーブルは、例えば図2
(B)に示すように、ページブロック番号の項目と、仮
想ブロック識別子またはブロック識別子を表す項目と、
更新マークの項目とからなる表として構成することがで
きる。ここで、仮想ブロック識別子とブロック識別子は
1つの列に格納しているが、例えば、ブロック識別子に
十分大きな定数を加えて格納することにより、仮想ブロ
ック識別子とブロック識別子は区別できる。もちろん、
他の項目を有する表として構成してもよい。例えば、磁
気ディスク装置4へのページアウトを行なうか否かの項
目を設け、よく使う変換前データはページアウトを行な
わないというページング方式を採用することが可能とな
る。
【0044】図中、PBN1,PBN2,PBN3は、
それぞれ特定のページブロック番号、BI1は特定のブ
ロック識別子、VBI1,VBI2はそれぞれ特定の仮
想ブロック識別子を表わしている。更新マークの列は、
×印があれば、一時記憶装置6から磁気ディスク装置4
へのデータ転送を行なった後に主記憶装置5からページ
データが転送され、更新されていることを表す。
【0045】図2(B)に示した一時記憶管理テーブル
の1行目の例では、図2(F)に示す一時記憶装置のア
ドレス空間上のページブロック番号PBN1は、図2
(G)に示す磁気ディスク装置上のブロック識別子BI
1が対応していることを示す。すなわち、一時記憶装置
のページブロック番号PBN1には、変換前のデータが
格納されていることになる。また、3行目の例では、一
時記憶装置のアドレス空間上のページブロック番号PB
N3が仮想ブロック識別子VBI2と対応していること
を示している。この仮想ブロック識別子VBI2によ
り、図2(A)に示したページテーブルから、論理アド
レスLA2および物理アドレスPA2と対応することが
わかる。このページブロック番号PBN3に対応する更
新マークの欄には、×印が付されているので、このペー
ジは、主記憶装置から一時記憶装置へデータが転送さ
れ、更新されたことを示している。
【0046】主記憶装置5と一時記憶装置6との間のデ
ータ転送を行なうときには、ページテーブルを参照し
て、データ転送の必要な論理アドレスから仮想ブロック
識別子を得て、得られた仮想ブロック識別子により一時
記憶管理テーブルを参照することで、一時記憶装置6上
のページブロック番号を得ることができる。主記憶装置
5上のページは、ページテーブルの物理アドレスから得
られるので、主記憶装置5上の物理アドレスに対応する
ページと、一時記憶装置6上のページブロック番号に対
応するページの間でデータ転送を行なうことになる。
【0047】次に、データ変換テーブルについて説明す
る。データ変換テーブルは、データ変換装置7によって
保持され、管理される。データ変換テーブルは、図2
(C)に示すように、仮想ブロックの識別子の項目と、
第1の変換方式の項目と、第2の変換方式の項目と、変
換前データのブロック識別子列の項目と、変換後データ
の仮想ブロック識別子列の項目を有する表として構成さ
れる。もちろん他の項目を有する表として構成すること
もできる。図中、VBI1,VBI2,VBI3,VB
I4,VBI5は、それぞれ特定の仮想ブロック識別
子、TR1,TR2は、それぞれ特定の第1の変換方
式、RTR1,RTR2は、それぞれ特定の第2の変換
方式、BI1,BI2,BI3は、それぞれ特定のブロ
ック識別子を表わしている。
【0048】例えば、図2(C)に示したデータ変換テ
ーブルの1行目は、仮想ブロック識別子VBI1は、第
1の変換方式TR1、第2の変換方式TR2、変換前デ
ータのブロック識別子の列BI1、変換後データの仮想
ブロック識別子の列VBI1,VBI2と対応してい
る。第1の変換方式をページイン時の変換方式とし、第
2の変換方式をページアウト時の変換方式とすれば、仮
想ブロック識別子VBI1が付されたページは、図2
(G)に示す磁気ディスク装置内のブロック識別子BI
1が付されたデータブロックを第1の変換方式TR1に
より変換することにより、仮想ブロック識別子VBI2
が付されたページとともに生成されることを示してい
る。また、仮想ブロック識別子VBI1が付されたペー
ジは、仮想ブロック識別子VBI2が付されたページと
ともに、第2の変換方式RTR1により、変換前データ
のブロック識別子BI1が付されたデータブロックに変
換されることを示している。
【0049】変換前データのブロック識別子および変換
後データの仮想ブロック識別子は、図2(B)に示す一
時記憶管理テーブルによりページブロック番号と対応し
ている。ページインの際には、変換前データのブロック
識別子をもとに一時記憶管理テーブルを参照し、一時記
憶装置6内のブロック識別子に対応するページから変換
前データを取り出し、第1の変換方式により変換を行な
い、変換後データは、変換後データの仮想ブロック識別
子から一時記憶管理テーブルを参照し、一時記憶装置6
内のページブロック番号に対応するページへ格納される
ことになる。逆に、データ変換装置7により変換前デー
タに戻す場合にも、変換後データの仮想ブロック識別子
をもとに、一時記憶管理テーブルを参照することによ
り、変換後データが格納されている一時記憶装置6内の
仮想ブロック識別子に対応するページから変換後データ
を読み取り、第2の変換方式により変換を行ない、変換
前データを生成する。変換前データは、変換前データの
ブロック識別子から一時記憶管理テーブルを参照し、一
時記憶装置6内のページブロック番号に対応するページ
に格納される。
【0050】上述した各テーブルは、それぞれ独立に存
在してもよいし、あるいは、いくつかのテーブルを1つ
にまとめた構成のテーブルとしてもよい。また、各テー
ブルの管理を行なう装置は、適宜変更可能であり、たと
えば、ページテーブルをページャ2が管理したり、デー
タ変換テーブルを一時記憶管理装置3により管理するこ
ともできる。
【0051】図3は、本発明の情報格納装置の一実施例
における動作の説明図、図4ないし図9はページアウト
の時の動作を示すフローチャート、図10ないし図14
はページインの時の動作を示すフローチャートである。
以下の説明において、データ変換装置7は、第1のデー
タ変換手続きと第2のデータ変換手続きを有するものと
する。ここで、m個のデータブロックをn個のデータブ
ロックに変換する第1のデータ変換手続きをF_mnと
する。また、n個のデータブロックをm個のデータブロ
ックに変換する第2のデータ変換手続きをG_nmとす
る。変換前の特定のm個のデータブロックの列をM=<
M_1,M_2,…,M_m>とする。データブロック
列Mを第1のデータ変換手続きF_mnで変換した結
果、生成されるn個のデータブロックの列をN=<N_
1,N_2,…,N_n>とする。また、第2のデータ
変換手続きG_nmは、第1のデータ変換手続きF_m
nの出力データを入力としたとき、第1のデータ変換手
続きF_mnの入力データが出力されるような、第1の
データ変換手続きF_mnの逆変換手続きとする。
【0052】ページアウトの処理を、図1、図3、およ
び、図4ないし図9に示すフローチャートを使用して説
明する。図4は、ページアウト時における主記憶管理装
置1の動作の流れの一例を示している。主記憶管理装置
1は、S101において、主記憶装置5の空きページが
第1の所定の量以下になったか否かを監視している。空
きページが第1の所定の量以下になると、S102にお
いて、主記憶管理装置1はページャ2に対してページア
ウト・コマンドを発行する。
【0053】図5は、ページアウト時におけるページャ
2の動作の流れの一例を示している。ページャ2は主記
憶管理装置1からページアウト・コマンドを受け取る
と、S111において、主記憶管理装置1が保持するペ
ージテーブルを調べ、ページアウトするページを決定す
る。ページアウトするページを決定する方法は、従来の
仮想記憶システムと同様の方式を採用することができ
る。例えば、参照や更新が最も長い間行なわれていない
ページを再優先にページアウトするページとするLRU
置換方式を採用してもよい。または、ページアウトにか
かるコストが、データ変換手続きやページデータの内容
に依存する場合を考慮して、例えば、データ変換装置7
によりページアウトのコストを見積もる手続きを実行し
た上で、最小のコストでページアウトできるページを再
優先にページアウトする最小コスト置換方式を採用して
もよい。さらに、ページアウトだけでなく、ページアウ
トした後、次に同じページをページインするコストも含
めて、最小のコストとなるページをページアウトする置
換方式を採用してもよい。
【0054】S112において、ページャ2はページテ
ーブルを調べ、ページアウトするページに更新マークが
あるかどうかを調べる。更新マークは、ページインした
ページがそれまでの間、書き込みアクセスによって、内
容を変更されたかどうかを示すマークである。もし更新
マークがなければ、S114において、該当するページ
を解放し、S115において、ページテーブルの該当す
るエントリを空きページであるようにページテーブルを
更新する。
【0055】もし、ページアウトするページに更新マー
クがあれば、S113において、主記憶装置5と一時記
憶管理装置3に対して、該当ページの仮想ブロック識別
子を指定してページアウト転送コマンドを発行する。こ
のページアウト転送コマンドにより、主記憶装置5から
一時記憶装置6へのデータ転送が行なわれる。この転送
手続きは、図3のに相当する。転送が終了したら、S
114において、該当するページを解放し、S115に
おいて、ページテーブルの該当するエントリを空きペー
ジであるようにページテーブルを更新する。さらに、S
116において、該当するページの更新マークを消去す
る。
【0056】ページャ2は、S117において、主記憶
装置5の空きページが第2の所定の量以上になったか否
かを判定し、主記憶装置5の空きページャ2が第2の所
定の量以上になるまで、上述のページアウトの処理を続
ける。第2の所定の量は、ページ解放手続きが頻繁に起
こることにより、全体の処理効率を低下させることのな
いように、第1の所定の量に対して十分多い量にすると
良い。
【0057】図6は、ページアウト時における主記憶装
置5の動作の流れの一例を示している。ページャ2から
該当ページに対応する仮想ブロック識別子とページアウ
ト転送コマンドが送られてくると、主記憶装置5は、S
121において、仮想ブロック識別子をもとにページテ
ーブルを検索して物理アドレスを求め、得られた物理ア
ドレスに対応するページを一時記憶装置6へ転送する。
【0058】図7は、ページアウト時における一時記憶
管理装置3の動作の流れの一例を示している。一時記憶
管理装置3は、ページャ2から指示されたページアウト
転送コマンドを受け取ると、S131において、同時に
送られてきた仮想ブロック識別子をもとに一時記憶管理
テーブルの内容を検索し、ページャ2から指定された仮
想ブロック識別子に対応する一時記憶装置6のページブ
ロック番号を調べる。
【0059】S132において、指定された仮想ブロッ
ク識別子に対応して一時記憶装置6のページブロック番
号が割り当てられているか否かを判定し、割り当てられ
ている場合には、S133において、主記憶装置5から
転送されるページデータを一時記憶装置6の該当ページ
ブロックに記憶する。次に、S134において、一時記
憶管理テーブルの該当するエントリに更新マークをつけ
て、ページアウト処理を終了する。
【0060】S132において、一時記憶装置6のペー
ジブロック番号が割り当てられていない場合には、S1
35以降の処理において、一時記憶装置6上にページを
確保してから、主記憶装置5からの転送データを記憶す
る。まず、S135において、一時記憶装置6の空きペ
ージブロックが、第3の所定の量を上回っているか否か
を判定する。空きページブロックが第3の所定の量を上
回っていれば、S136において、空きページブロック
をページアウトされるブロックデータに割り当て、S1
37において、ページデータを一時記憶装置6の該当ペ
ージブロックに記憶した後、S138において、一時記
憶管理テーブルの該当するページブロック番号のエント
リに、仮想ブロック識別子を記録し、データ変換テーブ
ルを更新する。さらに、S139において、該当するエ
ントリに更新マークをつけてページアウト処理を終了す
る。
【0061】次に、S135において、一時記憶装置6
の空きページブロックが第3の所定の量以下になった場
合には、S140において、一時記憶装置6から特定の
ページブロックを磁気ディスク装置4に退避する。そし
て、S141において、一時記憶装置5の空きページブ
ロックが第4の所定の量を上回っているか否かを判定
し、空きページブロックが第4の所定の量を上回るま
で、S140の磁気ディスク装置4への退避の処理を実
行する。空きページブロックが第4の所定の量を上回る
と、S136以降の主記憶装置5からの転送データの記
憶の処理を行なう。
【0062】図8は、ページアウト時における一時記憶
装置6から磁気ディスク装置4へのデータの退避の動作
の流れの一例を示している。一時記憶管理装置3は、S
151において、一時記憶管理テーブルから一時記憶装
置6の特定のページブロックを選択する。特定のページ
ブロックを選択する方法としては、従来から知られてい
るページ管理手法やキャッシュメモリのブロック管理手
法を用いることができる。例えば、参照や更新が最も長
い間行なわれていないページブロックを再優先に未使用
ページブロックとするLRU置換方式を採用してもよ
い。また、磁気ディスク装置4に書き込むコストと、デ
ータ変換手続きにかかるコストを見積もる手続きを実行
した上で、両者を比較し、次回の参照が発生したときに
最小のコストで参照を可能とするページブロックを、再
優先に未使用ページブロックとする最小コスト置換方式
を採用しても良い。あるいは、次回のページブロックア
クセスのときに、最も短い応答時間でブロックデータを
復帰できるページブロックを再優先に未使用ページブロ
ックとする置換方式を採用しても良い。
【0063】S152において、選択した特定のページ
ブロックに更新マークがついているか否かを判定し、更
新マークがない場合は、S153において、一時記憶管
理テーブルの該当エントリを空のページブロックである
とし、該当するページブロックを解放し、S154にお
いて、一次記憶管理テーブルを更新する。
【0064】あるいは、単にページブロックを解放する
だけでなく、選択したページブロックが変換前のデータ
ブロック列Mの要素M_kであった場合、データブロッ
クM_1,…,M_mのどれにも更新マークがついてい
なければ、データブロックM_kを含むページブロック
を解放し、また、データブロックM_1,…,M_mの
うち、1つ以上のデータブロックに更新マークがついて
いれば、後述するS156ないしS160の更新マーク
つきの変換前のデータブロックの解放手順により、デー
タブロック列Mを退避した後、データブロックM_kを
含むページブロックを解放するようにするようにしても
よい。いずれの場合も、データブロックM_kを解放す
る代わりにデータブロック列Mを解放するようにしても
よい。選択したページブロックが変換後のデータブロッ
ク列Nの要素N_kであった場合も同様に処理可能であ
る。
【0065】選択した特定のページブロックに更新マー
クがついている場合は、S155以降の処理により、選
択した前記特定のページブロックのブロックデータを退
避して、一時記憶管理テーブルの該当エントリを空のペ
ージブロックとして該当するページブロックを解放す
る。特定のページブロックのブロックデータを退避する
処理は、選択した特定のページブロックが変換前のペー
ジブロックである場合と、変換後のページブロックであ
る場合とで処理が異なるので、それぞれの場合にわけて
説明する。
【0066】S155において、選択した特定のページ
ブロックが変換前のブロックデータを有するのか、ある
いは、変換後のブロックデータを有するのかを、一時記
憶管理テーブルの内容を検索し、判定する。選択した特
定のページブロックが変換前のデータブロックである場
合、S156において、一次記憶管理テーブルの該当エ
ントリを調べ、S157において、該当エントリのブロ
ック識別子を指定して、該当するページブロックの内容
であるブロックデータを磁気ディスク装置4に書き込
む。この動作を図3ので示している。次に、S158
において、該当するページブロックを解放し、S159
において、一次記憶管理テーブルの該当エントリを空の
ページブロックとし、さらに、S160において、該当
エントリの更新マークを消す。
【0067】この場合の例としては、選択した特定のペ
ージブロックが変換前のデータブロックM_k(ただ
し、kは1からmまでの整数のいずれか)であった場合
に相当する。上記の説明では、単に1ページ解放するに
とどめたが、データ変換テーブルを検索してデータブロ
ックM_kを含む変換前のデータブロック列Mを構成す
るすべてのデータブロックM_i(ただし、iは1から
mまでの整数)について、各データブロックM_iが一
時記憶装置6のページブロックにあれば、上記一次記憶
管理テーブルの更新マークにしたがって、磁気ディスク
装置4に書き込み、該当ページを解放する処理を一括し
て行なうように構成しても良い。
【0068】S155において、変換後のブロックデー
タを有していると判定された場合には、S161以降の
処理により、データ変換手続きを起動しデータの変換を
行なった上で、磁気ディスク装置4に書き込む処理を行
なう。以下の説明では、選択した特定のページブロック
が変換後のデータブロックN_k(ただし、kは1から
nまでの整数のいずれか)であった場合を例にして説明
する。
【0069】S161において、データ変換テーブルを
検索し、データブロックN_kに対応する仮想ブロック
識別子のエントリを参照して、変換後データの仮想ブロ
ック識別子列を得る。変換後データの仮想ブロック識別
子列の項目には、データブロックN_kを含むデータブ
ロック列Nに対応する仮想ブロック識別子列が記憶され
ている。S162において、データブロック列Nに対応
する仮想ブロック識別子列の各要素である仮想ブロック
識別子(データブロックN_i(iはkでない1からn
までの整数)に対応している)について、それぞれ仮想
ブロック識別子を指定してデータを用意した上で、S1
63において、データブロック列Nを第2のデータ変換
手続きで変換する。この動作は、図3のに相当する。
そして、S164において、データブロック列Nが占め
るページブロックを解放し、S165において、データ
変換テーブルの該当するエントリを空ページブロックで
あるように更新し、S166において、更新マークを消
す。さらに、変換前データのデータブロック列Mは、デ
ータ変換により更新されているので、S167におい
て、データ変換テーブルの該当するエントリに更新マー
クを付ける。
【0070】図9は、ページアウト時における変換後の
データブロック列を用意する動作の流れの一例を示して
いる。この処理は、図8のS162において行なわれる
処理である。まず、S171において、N_kを除く変
換後データブロック列Nの全ての要素が一時記憶上に全
て揃っているか否かを判断する。揃っていれば新たに用
意すべきデータブロック列はないので、そのまま戻る。
【0071】S171において、データブロックN_i
が一時記憶装置6上に揃っていない場合には、S172
において、変換前のデータブロック列Mの全ての要素M
_1,M_2,…,M_mが一時記憶装置6に存在する
か否かを判定する。変換前のデータブロック列Mが一時
記憶装置6にあれば、S175において、第1のデータ
変換手続きF_mnを起動し、S176において、一時
記憶装置6の一時記憶域にデータブロック列Mを第1の
データ変換手続きF_mnで変換して生成されるデータ
ブロック列L=<L_1,L_2,…,L_n>を記録
する。さらに、S177において、一次記憶管理テーブ
ルを更新し、S178において、更新マークがついてい
ないデータブロックN_iについて、データブロックL
_iをデータブロックN_iにコピーする。データブロ
ックN_iが一時記憶装置6に存在しない場合は、デー
タブロックL_i,データブロックN_iとして一次記
憶管理テーブルを更新してもよい。
【0072】あるいは、更新マークがついているN_i
のページブロックのメモリ保護状態を書き込み禁止ある
いは書き込みで内容が変更されない設定とした上で、デ
ータブロック列Mを第1のデータ変換手続きF_mnで
変換してできるブロックデータの列をデータブロック列
N=<N_1,N_2,…,N_n>に上書きするよう
にしてもよい。
【0073】S172において、変換前のデータブロッ
ク列Mの全ての要素M_1,M_2,…,M_mが一時
記憶装置6に揃っていない場合、S173において、デ
ータ変換テーブルを検索し、S174において、磁気デ
ィスク装置4から必要なブロックデータを一時記憶装置
6に置く処理を繰り返し、データブロックM_1,M_
2,…,M_mを用意する。この動作は、図3のに相
当する。データブロック列Mの全ての要素が揃ってか
ら、S175の第1のデータ変換手続きF_mnによる
データ変換以降の手続きを実行する。
【0074】ページインの処理を、図1、図3、およ
び、図10ないし図14に示すフローチャートを使用し
て説明する。図10は、ページイン時における主記憶管
理装置1の動作の流れの一例を示している。S201に
おいて、主記憶管理装置1が、主記憶装置5上に存在し
ないページへのアクセスを関知すると、S202におい
て、主記憶装置5上の空きページの有無を調べる。空き
ページがない場合は、S203において、ページャ2に
ページアウトコマンドを発行し、空きページを確保す
る。その後、S202へ戻る。S202において、空き
ページがある場合は、S204において、ページャ2に
ページインコマンドを発行する。
【0075】主記憶装置5上に存在しないページへのア
クセスは、例えば、従来より用いられているミッシング
ページフォルト等のハードウェア割り込みにより知るこ
とができる。また、空きページの有無は、主記憶管理装
置1の空きページ管理機構により知ることができる。
【0076】図11は、ページイン時におけるページャ
2の動作の流れの一例を示している。ページャ2は主記
憶管理装置1からページインコマンドを受けると、S2
11において、ページテーブルを検索してページインを
行なうページの仮想ブロック識別子を調べる。そして、
S212において、主記憶装置5と一時記憶管理装置3
に対して、該当ページの仮想ブロック識別子を指定して
ページイン転送コマンドを発行する。これにより、一時
記憶装置6から主記憶装置5へのページデータの転送が
行なわれる。この動作は、図3におけるに相当する。
主記憶装置5に該当ページデータが転送されると、S2
13において、ページテーブルの該当するエントリを更
新し、ページイン処理を終了する。
【0077】図12は、ページイン時における主記憶装
置5の動作の流れの一例を示している。S221におい
て、主記憶装置5はページャ2から該当ページに対応す
る仮想ブロック識別子とページイン転送コマンドが送ら
れてくると、一時記憶装置6から転送されてきたページ
データを受け取り、主記憶上の所定の位置に格納する。
【0078】図13は、ページイン時における一時記憶
管理装置3の動作の流れの一例を示し、図14は、ペー
ジイン時におけるブロック識別子列の各要素についてデ
ータを用意する処理の流れの一例を示している。一時記
憶管理装置3は、ページャ2から転送すべきページの仮
想ブロック識別子とページイン転送コマンドが送られて
くると、S231において、一次記憶管理テーブルを検
索し、該当ページの仮想ブロック識別子に対応する一時
記憶装置6のページブロック番号を調べる。
【0079】S232において、仮想ブロック識別子に
対して、一時記憶装置6のページブロック番号が割り当
てられているか否かを判定し、割り当てられている場合
には、S241において、そのページブロックに格納さ
れたページデータを主記憶装置5に転送する。この例で
は、主記憶装置5に転送したページデータを記憶してい
るページブロックを解放していないが、解放するように
構成してもよい。解放する場合は、一時記憶管理テーブ
ルの該当する箇所を更新して、未使用のページブロック
となるようにする。
【0080】S232において、仮想ブロック識別子に
対して一時記憶装置6のページブロック番号が割り当て
られていない場合は、変換前のページデータを用意し
て、第1の変換手続きにより変換後のページデータを用
意する。
【0081】まず、S233において、一時記憶装置6
の空きページブロックが第3の所定の量を上回っている
かを調べる。一時記憶装置6の空きページブロックが第
3の所定の量を上回っている場合は、S234におい
て、データ変換テーブルを検索して該当仮想ブロック識
別子に対応する変換前のページデータのブロック識別子
列を調べる。そして、S235において、ブロック識別
子列の各要素についてデータを用意する。例えば、デー
タブロック列Mの各要素M_iを用意する。この動作
は、図3のに相当する。
【0082】データブロック列Mが用意できたら、S2
36において、そのデータブロック列Mを第1のデータ
変換手続きF_mnで変換し、S237において、一時
記憶装置6にデータブロックMを第1のデータ変換手続
きF_mnで変換してできるデータブロック列Nを記録
する。この動作は、図3のに相当する。そして、S2
38において、データ変換テーブルの該当箇所を更新す
る。第1のデータ変換手続きF_mnによって得られた
データブロック列Nのうち、指定された仮想ブロック識
別子に対応するページデータが、S241において主記
憶装置5に転送される。
【0083】S235において、一時記憶管理装置3が
ブロック識別子列の各要素についてデータを用意する処
理は、まず、図14のS251でデータブロック列Mの
全ての要素M_1,M_2,…,M_mが一時記憶装置
6に存在するかどうかを調べる。全て一時記憶装置6に
存在しない場合は、S252において、データブロック
列Mのうち必要なページデータを、データブロックM_
iに対応するブロック識別子を指定して、磁気ディスク
装置4から一時記憶装置6に取り出す。そして、S25
3において、一次記憶管理テーブルを更新する。
【0084】図13のS233において、一時記憶装置
6の空きページブロックが第3の所定の量を上回ってい
ない場合は、S239において、一時記憶装置6の特定
のページブロックを磁気ディスク装置4に退避する。そ
して、S240において、一時記憶装置6の空きページ
ブロックが第4の所定の量を上回っているか否かを判定
し、空きページブロックが第4の所定の量を上回るま
で、S239の特定のページブロックの退避の処理を繰
り返し行なう。この特定のページブロックの退避の処理
は、図8、図9で説明したページアウト時に一時記憶装
置6に行なうページブロックの退避の処理と同様のもの
である。
【0085】ページブロックの退避により、一時記憶装
置6に空きページのブロックが第4の所定の量を上回る
と、S234に進み、変換前のページデータを用意する
処理を行なう。
【0086】上述の説明では、例えば図2に示した各テ
ーブルが設定された後の動作を説明した。新たなプロセ
スが起動され、あるいは、新たなファイルがオープンさ
れてメモリにマップされる際には、各テーブルが更新さ
れ、あるいは、プロセスやファイルに応じて新たなテー
ブルが作成される。このとき、データ変換装置7におい
て行なわれるデータ変換手続きは、システムが設定する
こともできるが、ユーザが指定することも可能である。
【0087】一例として、オープンしたファイルをメモ
リにマップする際に、あらかじめシステムで用意された
複数のデータ変換方式から、ユーザが所望する変換方式
を選択する方式を説明する。アプリケーション・プログ
ラムでは、ファイルをオープンした後、メモリ・マップ
システムコールにより、例えば、配列にファイルのデー
タをマップする。メモリ・マップシステムコールとして
は、例えば、SunMicro systems In
cのSun OSのmmapシステムコールなどがあ
る。従来のメモリ・マップシステムコールの引数に加え
て、第1のデータ変換方式の番号と第2のデータ変換方
式の番号をつけ加える。このとき、例えば、第1のデー
タ変換方式はディスクブロックのデータから主記憶装置
に転送するデータへ変換するデータ変換処理であり、第
2のデータ変換方式は主記憶装置のデータからディスク
ブロックへのデータへ変換するデータ変換処理とするこ
とができる。
【0088】メモリ・マップシステムコールが行なわれ
ると、仮想ブロック識別子が割り当てられ、補助記憶装
置に仮想ブロック識別子と、第1の変換方式、第2の変
換方式のタプルが送られる。補助記憶装置では、データ
変換テーブルに、仮想ブロック識別子に対応するエント
リを確保し、確保したエントリにそれぞれ、第1のデー
タ変換方式の番号、第2のデータ変換方式の番号、変換
前データのブロック識別子の列、変換後データの仮想ブ
ロック識別子の列を割り当てる。第1のデータ変換方式
および第2のデータ変換方式は、どちらか一方を指定す
ることもできるし、両方とも指定しないことも可能とす
ることができる。指定されなかったデータ変換方式は、
システムでデフォルトの変換方式を割り当ててもよい
し、データ変換装置7による変換を行なわないことを示
すように構成することもできる。
【0089】この例は、データ変換装置7に複数のデー
タ変換方式が存在する場合に特に有効であり、アプリケ
ーションが使用するファイルに応じてデータ変換方式を
切り換えて用いることが可能となる。また、ユーザがO
Sのコマンドレベルで明示的にデータ変換方式を指定で
きるように構成することもできる。この場合、例えば、
ファイルのコピーにより、ファイルデータのデータ変換
を行なうことが可能となる。
【0090】また、ユーザが用意したデータ変換手続き
を実行することも可能である。前述のメモリ・マップシ
ステムコールの引数として、例えば、第1のデータ変換
方式、第2のデータ変換方式を指示する際に、データ変
換手続きのエントリアドレスとその手続きの長さを与え
るように構成する。メモリ・マップが行なわれ、ページ
インが行なわれたときに、引数で指定されたエントリア
ドレスから手続きの長さ分だけのデータがデータ変換装
置に転送される。データ変換装置は、変換前データを変
換する際に、転送された手続きを使用して変換処理を行
ない、変換後データを一時記憶装置上の該当するページ
に書き込む。その後、変換後データが主記憶装置に転送
される。データ変換手続きのデータは、一時記憶装置を
経由して転送されるが、直接、データ変換装置へ転送し
てもよい。
【0091】データ変換装置に複数のデータ変換手続き
が存在するとき、これらを選択する方法としては、上述
のユーザあるいはアプリケーションにより明示的にデー
タ変換手続を選択する方法のほか、種々の選択方法を用
いることができる。以下、いくつかの選択方法について
説明する。
【0092】まず、所定の手続きを実行することによ
り、データ変換方式を選択することができる。この例に
おいては、データ変換装置7は、手続きを評価した結果
とデータ変換方式の対応を表す手続きテーブルを保持
し、管理する。データ変換装置7は、データ変換を行な
うステップにおいて、あらかじめ設定された所定の手続
きを評価し、その結果に対応するデータ変換方式を手続
きテーブルを参照することにより決定し、決定されたデ
ータ変換方式によりデータ変換を実行する。データ変換
方式を決定するために実行される所定の手続きは、双方
向のデータ転送に共通して設けてもよいし、別々に設け
ることも可能である。
【0093】別の選択方式として、パラメータによりデ
ータ変換方式を選択することができる。パラメータは、
ユーザから入力されることもあるし、アプリケーション
から設定されることもある。データ変換装置7にパラメ
ータ記憶部を新たに設けておくとともに、各パラメータ
に対応するデータ変換方式を表わすパラメータテーブル
を保持し、管理する。データ変換装置7は、パラメータ
の入力を受け付け、それをパラメータ記憶部に格納す
る。
【0094】データ変換装置7は、データ変換のステッ
プにおいて、パラメータ記憶部をアクセスして、パラメ
ータを取り出す。そして、パラメータテーブルを参照し
て、取り出したパラメータに対応するデータ変換方式を
調べ、得られたデータ変換方式によってデータ変換を実
行する。
【0095】この例の場合、データ転送の方向を一つの
パラメータとし、第1の変換方式と第2の変換方式を切
り替えることもできる。また、パラメータテーブルを参
照する代わりに、所定の手続きでパラメータを評価し、
データ変換方式を決定するようにしてもよい。
【0096】また、システムの状態をパラメータとして
用い、データ変換方式を選択することができる。データ
変換装置7に、システム状態検知部を新たに設けるとと
もに、システムの状態とデータ変換方式の対応を表わす
状態テーブルを設ける。データ変換装置7は、データ変
換を行なうステップにおいて、データ変換方式を選択す
るために、どのシステムの状態をパラメータにするかを
決定する。この使用するパラメータの決定は、あらかじ
め与えておいてもよいし、所定の手続きを実行すること
によりどのシステムの状態をパラメータに選ぶかを決定
してもよい。パラメータとなるシステムの状態が決定さ
れると、状態テーブルを参照し、データ変換方式を決定
してデータ変換を実行する。
【0097】状態テーブルを参照する代わりに、所定の
手続きによってシステムの状態を評価し、その評価結果
に基づき、直接、データ変換方式を選択するようにして
もよい。
【0098】システムの状態によりデータ変換方式を切
り替える具体的な例としては、画像表示装置において、
表示可能な色数や解像度に応じてデータを変換すること
が考えられる。例えば、磁気ディスク装置4に格納され
た画像データが24ビットカラーで、画像表示装置の表
示可能な色数が8ビットカラーの場合、データ変換装置
7がシステム状態検知部により、画像表示装置の表示可
能な色数を調べ、24ビットカラーの画像データを8ビ
ットカラーの画像データに変換するデータ変換手続きを
選択し、データ変換を行なえばよい。
【0099】さらに別の選択方式として、磁気ディスク
装置4に格納されている属性によりデータ変換方式を選
択することができる。属性としては、例えば、ディレク
トリに格納されているファイル属性やファイルの拡張子
を用いたり、あるいは、FATに各ブロックごとに属性
値を格納しておいたり、ファイルの所定位置の数バイト
にマジックナンバーを記憶させておき、これらの情報を
用いるようにすればよい。磁気ディスク装置4は、ペー
ジブロックを管理するとともに、これらの属性を保持
し、管理する。
【0100】データ変換装置7が保持し、管理している
一次記憶管理テーブルに、新たに属性の項目が設けられ
る。データ変換装置7は、磁気ディスク装置4からペー
ジブロックに対応する属性を読み込み、一次記憶管理テ
ーブルの属性の項目に格納する。また、データ変換装置
7は、各属性とデータ変換方式の対応を表わす属性テー
ブルを保持し、管理する。
【0101】データ変換装置7は、データ変換を行なう
ステップにおいて、一次記憶管理テーブルからページブ
ロックに対応する属性を取り出し、属性テーブルを参照
してデータ変換方式を決定し、データ変換を実行する。
【0102】さらに別の例として、データ変換装置7に
よるデータ変換の際の統計情報を保持し、その情報を基
に変換方式を選択することが考えられる。データ変換装
置7は、データ変換に伴う統計情報をテーブルとして保
持する。そのテーブルを統計情報テーブルとする。図1
5は、統計情報テーブルの内容の一例の説明図である。
統計情報テーブルの各行は、各変換方式それぞれに対応
する統計情報を表す。統計情報としては、例えば図15
に示すように、データ変換の平均処理時間、データ変換
の最大処理時間、データ変換の最小処理時間とすること
ができる。もちろん、これ以外の情報をデータ変換装置
7が保持することも可能である。また、統計情報テーブ
ルは、磁気ディスク装置4に蓄積し、適宜、データ変換
装置7に読み込むこともできる。
【0103】データ変換装置7がデータ変換方式を選択
する場合、データ変換装置が保持する統計情報テーブル
の情報を所定の手続きで評価し、得られた結果に対応す
るデータ変換方式を選択する。所定の評価手続きは、デ
ータ変換装置7が保持してもよいし、アプリケーション
プログラムから与えるようにしても良い。例えば、上述
のmmap関数の引数の一つとして、評価手続きへのポ
インタを与える方法が考えられる。
【0104】次に本発明の情報格納装置の応用例につい
て説明する。図16は、本発明の情報格納装置を映像デ
ータの処理に応用した一例のブロック図である。図中、
図1と同様の部分には同じ符号を付して説明を省略す
る。11はメモリ管理装置、12はデータプロセッサ、
13は出力装置、14は回線性能測定装置、15は回線
性能データベースである。この例では、特定のフレーム
レートで表現される映像データが映像データファイルと
して磁気ディスク装置4上に記録されており、通信回線
の速度に応じて所望のフレームレートで読み出し転送す
る方式を示している。映像データファイルは、例えば、
1秒当たり30フレームで表現され、1フレーム当たり
1キロバイトで表現される映像データが磁気ディスク装
置4に格納されているものとする。メモリ管理装置11
は、図1に示した主記憶管理装置1と一時記憶管理装置
3の機能を兼ね備えている。出力装置13は、シリアル
回線に対して映像データを送出する。ユーザは、この出
力装置13から送出される映像データを視聴する。回線
性能測定装置14は、出力装置13の性能測定を行な
い、測定結果はデータプロセッサ12に通知される。回
線性能データベース15には、測定結果に基づき、回線
の状態を判別するための情報が格納されている。
【0105】磁気ディスク装置4に格納されている映像
データファイルの映像を、1秒当たり64キロビットの
シリアル回線を経由して、ユーザが視聴する場合を説明
する。この場合、ちょうど1秒当たり8フレームの映像
が転送できる。
【0106】アプリケーションは、映像ファイルをオー
プンし、第1のデータ変換手続きを引数の一つとしてメ
モリ・マップシステムコールを起動する。第1のデータ
変換手続きとしては、8フレームごとに映像データを取
り出して主記憶装置に書き込む手続きを指定することが
できる。
【0107】メモリ管理装置11は、磁気ディスク装置
4上の映像データを一時記憶装置6上に読み込むように
制御し、データ変換装置7により第1のデータ変換手続
きを実行して8フレームごとの映像データを取り出し、
一旦一時記憶装置6に格納した後、主記憶装置5に転送
する。
【0108】アプリケーションは、主記憶装置5に展開
されたフレームを1フレームずつ順に読み出して、処理
を行なう。このとき、主記憶装置5に展開された映像デ
ータは、既にシリアル回線の転送速度に従って主記憶装
置5に転送されているので、アプリケーションは、シリ
アル回線の転送速度に独立して映像データを処理するこ
とができる。
【0109】また、例えば、映像データ視聴中にシリア
ル回線が混雑して、ちょうど1秒当たり5フレームの映
像しか転送できなくなった場合でも、5フレームごとに
映像データを取り出すデータ変換手続きを指定して再マ
ップすることにより、シリアル回線の混雑に対応するこ
とができる。
【0110】何フレームごとに取り出せば、滞りなく、
かつ、できるだけ滑らかに映像を視聴できるか、すなわ
ち、最適なフレームレートを定めるためには、シリアル
回線の通信速度と混雑度などを測定する性能測定手続き
を実行した上で定めるようにしてもよい。図16に示し
た例では、回線性能測定装置14を設けており、シリア
ル回線の通信速度や混雑度などを測定することができ
る。この回線性能測定装置14による測定結果をもと
に、データプロセッサ12は所定の手続きを実行し、例
えば、回線性能データベース15を参照して、測定結果
に対応した回線状態を判別し、回線状態に適合したデー
タ変換手続きを選択して指定すればよい。
【0111】図17は、本発明の情報格納装置を映像デ
ータの処理に応用した別の例のブロック図である。図
中、図16と同様の部分には同じ符号を付して説明を省
略する。16はデータプロセッサ性能測定装置、17は
磁気ディスク性能測定装置、18は変換方式選択装置で
ある。この例では、図16に示した例に加え、データプ
ロセッサ12の性能を測定するデータプロセッサ性能測
定装置と、磁気ディスク装置4の性能を測定する磁気デ
ィスク性能測定装置17を設けている。回線性能測定装
置14、データプロセッサ性能測定装置16、磁気ディ
スク性能測定装置17の測定結果は変換方式選択装置1
8に入力される。変換方式選択装置18では、これらの
性能測定装置からの測定結果をもとに、最適なフレーム
レートを決定し、そのフレームレートに映像データを変
換するデータ変換方式を選択する。データ変換装置7で
は、変換方式選択装置18により選択されたデータ変換
方式によりデータ変換を行ない、最適なフレームレート
の映像データを生成する。
【0112】この例によれば、シリアル回線の通信速度
と混雑度の他に、データプロセッサや、ディスク装置の
性能を考え合せて評価することにより、最適なフレーム
レートを定めているので、磁気ディスクのアクセススピ
ードや、データプロセッサの混雑度などに影響されず
に、常に最適な映像データの伝送を行なうことができ
る。もちろん、他のシステム性能を評価するように構成
することもできる。
【0113】このように、図16、図17に示した例に
よれば、回線状態やシステムの状態に応じて、主記憶装
置5へのデータ転送時にすでに最適なフレームレートの
映像データとなっているので、アプリケーションはフレ
ームレートを気にすることなく処理を行なうことがで
き、回線速度や回線状態、システムの状態などに独立に
アプリケーションを作成することができる。
【0114】図18は、本発明の情報格納装置をネット
ワークに応用した一例のブロック図である。図中、図1
と同様の部分には同じ符号を付して説明を省略する。2
1はネットワーク、22は補助記憶装置、23は一時記
憶管理装置、24は磁気ディスク装置、25は一時記憶
装置である。この例では、図1の磁気ディスク装置4の
代わりにネットワーク21に接続され、さらに、ネット
ワーク21に補助記憶装置22が接続されている。補助
記憶装置22は、一時記憶管理装置23、磁気ディスク
装置24、一時記憶装置25を有する。各装置は、それ
ぞれ、図1の一時記憶管理装置3、磁気ディスク装置
4、一時記憶装置6と同様である。
【0115】ネットワーク21としては、例えば、よく
知られたイーサネットなどを用いることができる。この
ネットワーク21を経由して、一時記憶装置6および2
5が通信を行ない、協調して、上述のような動作をす
る。
【0116】例えば、補助記憶装置22は、一時記憶装
置25内の変換前データを、よく知られたネットワーク
プロトコル、例えば、TCP/IPプロトコルを用い
て、ネットワーク21により通信を行ない、一時記憶装
置6に変換前データとして書き込む。そして、データ変
換装置7により変換後データに変換する。
【0117】また、データ変換装置7は、一時記憶装置
6内の変換後データを、変換前データに変換し、よく知
られたネットワークプロトコル、例えば、TCP/IP
プロトコルを用いてネットワーク21により通信を行な
い、一時記憶装置25に変換前データとして書き込む。
【0118】いずれの場合も一時記憶装置6内のデータ
に対してデータ変換を行なう代わりに、一時記憶装置2
5内のデータに対してデータ変換を行なうように、補助
記憶装置22側にデータ変換装置7を有してもよい。ま
た、両方にデータ変換装置を配置し、ネットワーク21
により通信を行なう間だけ変換後データとなるように構
成することもできる。この場合、データ変換装置によっ
て暗号化および復号化を行なうことにより、ネットワー
ク21上のデータのセキュリティを確保することができ
る。また、この場合、データ変換装置によって通信用の
フォーマットに変換するように構成することもできる。
【0119】このようなネットワークを用いた構成を用
いることにより、ネットワークを経由した磁気ディスク
装置に対する遠隔ファイルシステムを実現することがで
きる。図18に示した補助記憶装置22に加えて、第2
の補助記憶装置、第3の補助記憶装置…というように、
複数の補助記憶装置が互いにネットワークを経由して通
信を行ない、一時記憶装置6などと互いに協調して動作
する補助記憶装置群を構成してもよい。
【0120】次に、本発明の情報格納装置により暗号化
および復号化を行なう応用例について説明する。装置構
成としては、図1に示した構成や、図18に示した構成
などを用いることができる。データ変換装置7で行なわ
れるデータ変換手続きとして、mブロックをnブロック
に変換する符号化手続きか、あるいは、nブロックをm
ブロックに変換する復号化手続きを用いる。特に、第1
のデータ変換手続きとして、例えば、DESアルゴリズ
ムで知られる暗号化方式に基づく復号化手続きとし、第
2のデータ変換手続きとして、同じくDESアルゴリズ
ムで知られる暗号化方式に基づく暗号化手続きとする。
【0121】暗号化手続きと復号化手続きは、例えば、
磁気ディスク装置4に保持させておくことができる。ア
プリケーションプログラムは、データ変換手続きの選択
を行なうときに、暗号化および復号化の変換方法とその
キー情報を指定する。例えば、ファイルのオープン処理
のパラメータの1つとして、これらの情報を指定する。
これらのパラメータは、一時記憶管理装置3で解釈さ
れ、変換手続きを指定する引数とキー情報を指定する引
数の2つから定まる変換手続きの番号を、ページテーブ
ルの該当する場所に格納する。
【0122】あるいは、データ変換テーブルのエントリ
にキー情報を保持する欄を設けてもよい。図19は、暗
号化・復号化で使用されるデータ変換テーブルの一例の
説明図である。データ変換テーブルへの登録は、変換手
続きを指定する引数により変換手続きの番号を指定し、
キー情報は、キー情報の欄に記憶させておく。変換手続
きが起動された際に、データ変換テーブルのキー情報の
欄を参照して、変換手続きを開始する。
【0123】以上の構成により、キー情報を有するアプ
リケーションまたはユーザが、データを暗号化したり復
号化してアクセスすることができる。
【0124】この例では、磁気ディスク装置4に記録さ
れたデータブロックは、DESアルゴリズムにより暗号
化された情報が記録されるため、磁気ディスク装置の盗
難による機密漏洩に対して、セキュリティ管理上好まし
い。また、本発明では、上述したように、一時記憶装置
6の領域を変換前データ用と変換後データ用に分離して
構成することができるので、復号化したデータを保持す
るページと暗号化したデータを保持するページを区別し
て管理でき、復号化したデータを保持するページをペー
ジアウトしないようなページング方式か、あるいは、い
かなる事態でも復号化したデータを磁気ディスク装置4
に書き込まないページング方式を採用することによっ
て、暗号化されていないデータが磁気ディスク装置4に
格納されないようにすることができる。そのため、磁気
ディスク装置4上のデータを覗き見ることによって発生
する機密漏洩に対してセキュリティ管理上好ましい。
【0125】さらに、図18で説明したネットワークを
経由した情報格納方式を組合わせた構成において、暗号
化されていないデータがネットワーク通信によって遠隔
磁気ディスク装置との間で転送されないようにすること
ができ、ネットワーク通信を盗聴することで発生する機
密漏洩に対して、セキュリティ管理上好ましい。
【0126】この例においては、アプリケーションプロ
グラムは、アクセスするデータの暗号化手続きや復号化
手続きの実装を含めなくてよい。また、複数のアプリケ
ーションがシステムに組込まれた共用の手続きを利用す
ることで、プログラムのモジュール化が達成でき、アプ
リケーション作成の効率を向上させることができるばか
りでなく、注意を欠いた実装によるセキュリティ管理上
の不備に関して、アプリケーションごとに気を配る必要
がなく、管理上も好ましい。
【0127】さらに、この例では、データ変換装置7で
暗号化/復号化するので、ユーザプロセスで暗号化/復
号化する方式に比較して、暗号化/復号化に用いるデー
タや一時記憶などの資源の隠蔽が容易となる。
【0128】図20は、本発明の情報格納装置を画像処
理に応用した一例のブロック図である。図中、図1と同
様の部分には同じ符号を付して説明を省略する。31は
端末装置、32は端末性能測定装置、33は変換方式選
択装置である。ここでは、磁気ディスク装置4上に、特
定の階調で特定の解像度の画像データファイルを記録し
た後、ある解像度の画像を処理するアプリケーションが
読み出す場合と、出力装置、例えば、端末装置31に応
じて所望の解像度かつ所望の表現階調で読み込む場合を
説明する。端末装置31の性能を端末性能測定装置32
により測定し、測定結果に基づき、変換方式選択装置3
3がデータ変換装置7内のデータ変換手続きを選択す
る。選択されたデータ変換手続きによりデータ変換を行
なう。
【0129】以下、具体例をもとに説明する。磁気ディ
スク装置4内に格納されている画像データファイルの画
像データとしては、例えば、縦横それぞれ600ピクセ
ルで、解像度が25.4mm当たり400ピクセルの画
像を表現しているものとする。各ピクセルは、赤、青、
緑それぞれ256階調で表現されるものとする。この画
像データファイルの名前をAとする。また、データ変換
装置7に用意されているデータ変換手続きは解像度変換
の手続きである。この手続きは、25.4mm当たり4
00ピクセルの解像度から、それぞれ、25.4mm当
たり75ピクセル、25.4mm当たり100ピクセ
ル、25.4mm当たり200ピクセルの画像に変換す
る3種類の手続きであるとする。
【0130】ファイルAと全く同じ画像データを保持す
るファイルのファイル名をA#75、A#100、A#
200、A#400であるとする。全く同じ画像データ
を保持するファイルは、ファイルAをコピーしてもよい
が、従来のUNIX OSのファイルシステムで用いら
れるシンボリックリンクやハードリンクの仕組みを用い
て、同一のファイルに複数のファイル名を与えることで
提供してもよい。
【0131】ファイルA#75をオープンすると、ファ
イル名を解釈する手続きが実行され、例えば、ファイル
名中の記号#に続く数値75によって、400ピクセル
の解像度から75ピクセルの解像度に変換するデータ変
換手続きを指定することができる。この指定は、メモリ
・マップシステムコールの引数として与えられる。
【0132】上述のように、メモリ・マップシステムコ
ールにより、データ変換テーブルに、変換方式として2
5.4mm当たり400ピクセルの解像度から、25.
4mm当たり75ピクセルの解像度の画像に変換するデ
ータ変換手続を選択するように登録される。そして、主
記憶装置へのデータ転送の際にデータ変換装置7により
解像度変換が行なわれる。そのため、アプリケーション
は25.4mm当たり400ピクセルの解像度の画像で
あることを意識することなく、25.4mm当たり75
ピクセルの解像度の画像として読み込むことができる。
ファイルA#100、A#200についても同様であ
る。
【0133】次に、上述の画像データを保持するファイ
ルAを、端末やプリンタに出力するアプリケーションに
ついて説明する。ユーザはこの画像ファイルをオープン
して、25.4mm当たり75ピクセルの解像度のディ
スプレイ表示器に表示するために、75ピクセルの解像
度に変換してメモリにマップする。そのために、第1の
変換方式として、25.4mm当たり400ピクセルの
画像を75ピクセルの画像に階調変換する画像処理手続
きを指定すればよい。この方法としては、例えば、上述
のように、階調変換の画像手続きを示す番号をメモリ・
マップシステムコールの引数として与えて発行すればよ
い。
【0134】アプリケーションが出力しようとする端末
装置やプリンタ装置の解像度は、端末性能測定装置32
により得ることができる。得られた解像度を基に、変換
方式選択装置33により、ユーザが関与することなく、
自動的に階調変換の画像処理手続きを選択する。
【0135】または、端末装置やプリンタ装置の解像度
を保持するシステム記述ファイルを参照するか、あるい
は、端末装置またはプリンタ装置の解像度を保持する別
のアプリケーションに問い合わせる手続きを実行する。
この手続きは、例えば、端末やプリンタ装置に問い合わ
せを行ない、解像度情報を得る手続きとする。得られた
解像度を基に、アプリケーションがmmapシステムコ
ールの引数として指定するようにしても良い。例えば、
75ピクセルの解像度の端末装置でアプリケーションを
起動した場合、400ピクセルの解像度のファイルを端
末に表示するために、アプリケーションは端末装置と通
信を行なって75ピクセルの解像度の端末装置であるこ
とを得る。次に、400ピクセルの解像度から75ピク
セルの解像度に変換するデータ変換手続きの番号をメモ
リ・マップシステムコールの引数として与える。
【0136】この例によれば、磁気ディスク装置4上の
25.4mm当たり400ピクセルの画像データは、デ
ータ変換装置7の選択されたデータ変換手続きにより、
25.4mmあたり75ピクセルの画像データに変換さ
れて主記憶装置5に転送される。そのため、主記憶装置
5上の画像データをディスプレイに表示するアプリケー
ションは、磁気ディスク装置4上の画像データファイル
に格納されている画像データの解像度に関係なく、ま
た、特別な解像度変換処理を行なうことなく、主記憶装
置5上にマップされた画像データをディスプレイに出力
するだけでよい。
【0137】また、ディスプレイ装置の解像度が25.
4mm当たり75ピクセルではなく、100ピクセルで
あった場合でも、端末性能測定装置32により自動的に
検出されてデータ変換手続きが切り換えられ、あるい
は、メモリ・マップシステムコールの引数として25.
4mm当たり400ピクセルの画像を100ピクセルの
画像に解像度変換する画像処理手続きを第1の変換手続
きとして指定するだけで良く、アプリケーションは出力
装置の解像度として独立して作成できる。
【0138】上述の例では、画像データファイルの解像
度が一定の例を示したが、画像データファイル内の画像
データの解像度が違う場合のデータ変換手続きの選択方
法について説明する。この場合には、例えば、上述のデ
ータ変換手続きの選択方法で説明したマジックナンバー
によるデータ変換手続きの選択の方法を用いることがで
きる。図21は、マジックナンバーの一例の説明図であ
る。例えば、図21に示すように、ファイルデータの解
像度を表わす2バイトの値をマジックナンバーとしてフ
ァイルの先頭に置く。画像ファイルをオープンすると、
ファイルの先頭の2バイトを読み込んで解釈する手続き
が実行され、解像度を判別し、適当な変換手続きが選択
される。
【0139】例えば、縦横それぞれ500ピクセル、解
像度が25.4mm当たり400ピクセルであり、1ピ
クセル当たり1バイトで表現される画像を画像ファイル
として格納しているとする。このファイルの名前をAと
する。また、縦横それぞれ600ピクセル、解像度が2
5.4mm当たり200ピクセルであり、1ピクセル当
たり1バイトで表現される画像を画像ファイルとして格
納しているとする。このファイルの名前をBとする。
【0140】システムで用意されている解像度変換の手
続きは、400ピクセルの解像度から、それぞれ、75
ピクセル、100ピクセル、200ピクセルの解像度に
変換する手続きと、200ピクセルの解像度から、それ
ぞれ、75ピクセル、100ピクセル、200ピクセル
の解像度に変換する手続きの6種類であるとする。
【0141】ディスプレイ表示器が25.4mm当たり
75ピクセルの解像度の場合、画像ファイルAをオープ
ンすると、そのマジックナンバーにより、画像の解像度
が25.4mm当たり400ピクセルであることが分か
るので、解像度変換の手続きは400ピクセルの解像度
から75ピクセルの解像度に変換する手続きが選択され
る。ファイルBをオープンした場合には、そのマジック
ナンバーから、200ピクセルの解像度から75ピクセ
ルの解像度に変換する手続きが選択される。
【0142】この場合にも、ファイルAをオープンして
も、ファイルBをオープンしても、主記憶装置5にマッ
プされる画像データは25.4mm当たり75ピクセル
の解像度を有する画像データに変換されているので、ア
プリケーションは、画像データファイルに格納されてい
る画像データの解像度に関係なく、例えば、ディスプレ
イ表示器への表示を行なうことができる。上述の解像度
変換の例では、多数の解像度変換を行なうデータ変換手
続きを用意したが、汎用の1つあるいは数種のデータ変
換手続きのみを用意し、画像ファイル内の画像データの
解像度と、アプリケーションや出力装置が必要とする画
像データの解像度をパラメータとしてデータ変換手続き
に与える構成とすることもできる。
【0143】上述の例では、解像度の変換について述べ
たが、これに限らず、階調の変換や、色の変換について
も、解像度と同様に、所望のデータ変換を行なうデータ
変換手続き指定することによりで、アプリケーションの
処理可能な階調や色に、あるいは、出力装置の表現可能
な階調や色に、データ変換して主記憶装置5にデータ転
送されるので、階調や色とは独立にアプリケーションを
作成することができる。
【0144】さらに、ユーザは自らが使用する端末装置
の解像度や階調を知らなくても、自動的に解像度の変換
が行なわれ、WYSIWYG(What You Se
eIs What You Get)性が保持される。
アプリケーションは、画像の表示装置ごとに異なる解像
度、表現可能な階調や色について、特別な画像処理を行
なうことなく機種に依存しない形で作成することがで
き、ポータビリティを向上させることができる。
【0145】画像データの変換処理は、解像度、階調、
色等の変換だけではなく、画像の回転、拡大縮小といっ
た座標変換や、特定領域の切り出し処理、特定画像との
合成処理、圧縮伸張など、種々の画像処理を行なうこと
ができる。
【0146】本発明の情報格納方式においては、解像度
変換前のデータを保持する領域と解像度変換後のデータ
を保持する領域を区別して管理することが可能であるの
で、例えば、同時に複数の解像度に変換を行なう場合、
解像度変換前のデータを共有することができる。また、
変換後のデータは変換前のデータから変換処理を行なう
ことで作成するので、変換前のデータを磁気ディスク装
置4にページアウトしないですますページング方式を採
用することにより、磁気ディスク装置4の入出力の速度
に依存せずに、効率のよい解像度変換が達成できる。
【0147】以上、いくつかの応用例について説明した
が、これらの例に限らず、本発明は、種々のデータ処理
に適用することができる。
【0148】
【発明の効果】以上の説明から明らかなように、本発明
によれば、データ変換に関する情報を有しているので、
この情報に従って、データ転送時に実行される処理を動
的に切り換え、データ転送時にデータ変換を実行するこ
とができる。そのため、広い範囲のアプリケーションに
対して融通性の高い情報格納方式を提供することができ
るという効果がある。特に、仮想記憶システムに適用す
ることができ、仮想記憶システムの融通性を向上させる
ことができる。
【図面の簡単な説明】
【図1】 本発明の情報格納装置の一実施例を示すブロ
ック構成図である。
【図2】 ページテーブル、一時記憶管理テーブル、デ
ータ変換テーブルの一例の説明図である。
【図3】 本発明の情報格納装置の一実施例における動
作の説明図
【図4】 ページアウト時における主記憶管理装置1の
動作の流れの一例を示すフローチャートである。
【図5】 ページアウト時におけるページャ2の動作の
流れの一例を示すフローチャートである。
【図6】 ページアウト時における主記憶装置5の動作
の流れの一例を示すフローチャートである。
【図7】 ページアウト時における一時記憶管理装置3
の動作の流れの一例を示すフローチャートである。
【図8】 ページアウト時における一時記憶装置6から
磁気ディスク装置4へのデータの退避の動作の流れの一
例を示すフローチャートである。
【図9】 ページアウト時における変換後のデータブロ
ック列を用意する動作の流れの一例を示すフローチャー
トである。
【図10】 ページイン時における主記憶管理装置1の
動作の流れの一例を示すフローチャートである。
【図11】 ページイン時におけるページャ2の動作の
流れの一例を示すフローチャートである。
【図12】 ページイン時における主記憶装置5の動作
の流れの一例を示すフローチャートである。
【図13】 ページイン時における一時記憶管理装置3
の動作の流れの一例を示すフローチャートである。
【図14】 ページイン時におけるブロック識別子列の
各要素についてデータを用意する処理の流れの一例を示
すフローチャートである。
【図15】 統計情報テーブルの内容の一例の説明図で
ある。
【図16】 本発明の情報格納装置を映像データの処理
に応用した一例のブロック図である。
【図17】 本発明の情報格納装置を映像データの処理
に応用した別の例のブロック図である。
【図18】 本発明の情報格納装置をネットワークに応
用した一例のブロック図である。
【図19】 暗号化・復号化で使用されるデータ変換テ
ーブルの一例の説明図である。
【図20】 本発明の情報格納装置を画像処理に応用し
た一例のブロック図である。
【図21】 マジックナンバーの一例の説明図である。
【符号の説明】
1 主記憶管理装置、2 ページャ、3 一時記憶管理
装置、4 磁気ディスク装置、5 主記憶装置、6 一
時記憶装置、7 データ変換装置。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 情報格納装置において、補助記憶手段
    と、転送データに対してデータ変換を行なうデータ変換
    手段と、データ転送に関する情報を保持するデータ転送
    情報保持手段と、データ変換に関する情報を保持するデ
    ータ変換情報保持手段と、前記補助記憶手段を管理する
    とともに前記データ転送情報保持手段に保持されている
    データ転送に関する情報を用いて前記補助記憶手段に対
    するデータ転送を行ない該データ転送時に前記データ変
    換情報保持手段に保持されているデータ変換に関する情
    報を用いて前記データ変換手段に転送データのデータ変
    換を指示する記憶管理手段を有することを特徴とする情
    報格納装置。
  2. 【請求項2】 前記記憶管理手段は、ページャからの指
    示に従って前記補助記憶手段に対するデータ転送および
    前記データ変換手段に対するデータ変換の指示を行な
    い、ページ方式の仮想記憶システムに用いられることを
    特徴とする請求項1に記載の情報格納装置。
  3. 【請求項3】 一時記憶手段を有し、前記記憶管理手段
    は、主記憶装置と前記一時記憶手段の間および前記一時
    記憶手段と前記補助記憶手段の間のデータ転送の指示を
    行ない、前記一時記憶手段から前記主記憶装置へのデー
    タ転送あるいは前記一時記憶手段から前記補助記憶手段
    へのデータ転送の際に、前記データ変換手段により転送
    データに対して所定のデータ変換を行なうことを特徴と
    する請求項1または2に記載の情報格納装置。
  4. 【請求項4】 前記記憶管理手段は、前記データ変換情
    報保持手段に保持されているデータ変換に関する情報に
    基づき前記一時記憶手段にページアウトされている所定
    のページを消去しないように管理可能であることを特徴
    とする請求項3に記載の情報格納装置。
  5. 【請求項5】 前記記憶管理手段は、所定のページを補
    助記憶手段に書き込まないように管理可能であることを
    特徴とする請求項3に記載の情報格納装置。
  6. 【請求項6】 前記データ変換手段は複数のデータ変換
    処理を有し、前記記憶管理手段からの指示に従って前記
    複数のデータ変換処理の中から1つまたは複数のデータ
    変換処理を選択し、データ転送の際に転送データに対し
    て選択されたデータ変換処理を施すことを特徴とする請
    求項1ないし5のいずれか1項に記載の情報格納装置。
  7. 【請求項7】 前記データ変換処理の選択は、所定の手
    続きを実行した結果に基づいて行なうことを特徴とする
    請求項6に記載の情報格納装置。
  8. 【請求項8】 前記データ変換処理の選択は、ユーザが
    指定するパラメータに基づいて行なうことを特徴とする
    請求項6に記載の情報格納装置。
  9. 【請求項9】 前記データ変換処理の選択は、システム
    の状態やページの属性などの情報に基づいて行なうこと
    を特徴とする請求項6に記載の情報格納装置。
  10. 【請求項10】 前記データ変換手段は、ユーザがあら
    かじめ用意した所定のデータ変換手続きが登録可能であ
    ることを特徴とする請求項1ないし9のいずれか1項に
    記載の情報格納装置。
JP5326198A 1993-11-30 1993-11-30 情報格納装置 Expired - Lifetime JP2932920B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5326198A JP2932920B2 (ja) 1993-11-30 1993-11-30 情報格納装置
US08/822,146 US5787487A (en) 1993-11-30 1997-03-21 Information storage system for converting data at transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5326198A JP2932920B2 (ja) 1993-11-30 1993-11-30 情報格納装置

Publications (2)

Publication Number Publication Date
JPH07152644A true JPH07152644A (ja) 1995-06-16
JP2932920B2 JP2932920B2 (ja) 1999-08-09

Family

ID=18185113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5326198A Expired - Lifetime JP2932920B2 (ja) 1993-11-30 1993-11-30 情報格納装置

Country Status (2)

Country Link
US (1) US5787487A (ja)
JP (1) JP2932920B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203101A (ja) * 1998-01-19 1999-07-30 Riso Kagaku Corp コンピュータ・インターフェース装置および孔版印刷機用出力データの作成方法
US6408369B1 (en) * 1998-03-12 2002-06-18 Emc Corporation Internal copy for a storage controller
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6785013B1 (en) * 1999-05-14 2004-08-31 Ricoh Company, Ltd. System for capturing images from a peripheral unit and transferring the captured images to an image management server
JP3573012B2 (ja) * 1999-09-29 2004-10-06 三菱電機株式会社 データ管理装置およびデータ管理方法
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US6718404B2 (en) * 2000-06-02 2004-04-06 Hewlett-Packard Development Company, L.P. Data migration using parallel, distributed table driven I/O mapping
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7417568B2 (en) 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
JP4226350B2 (ja) * 2003-02-17 2009-02-18 株式会社日立製作所 データ移行方法
WO2004102401A1 (ja) * 2003-05-13 2004-11-25 Fujitsu Limited 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法
JP4671332B2 (ja) * 2005-03-10 2011-04-13 株式会社日立製作所 ユーザ識別情報を変換するファイルサーバ
JP4615337B2 (ja) * 2005-03-16 2011-01-19 株式会社日立製作所 ストレージシステム
US20080189495A1 (en) * 2007-02-02 2008-08-07 Mcbrearty Gerald Francis Method for reestablishing hotness of pages
US9489300B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9117520B2 (en) 2013-06-19 2015-08-25 Sandisk Technologies Inc. Data encoding for non-volatile memory
US9489299B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9489294B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9117514B2 (en) * 2013-06-19 2015-08-25 Sandisk Technologies Inc. Data encoding for non-volatile memory
US9390008B2 (en) 2013-12-11 2016-07-12 Sandisk Technologies Llc Data encoding for non-volatile memory
US20160246715A1 (en) * 2015-02-23 2016-08-25 Advanced Micro Devices, Inc. Memory module with volatile and non-volatile storage arrays
JP6930314B2 (ja) * 2017-09-08 2021-09-01 富士通株式会社 データ変換プログラム、データ変換方法、およびデータ変換装置
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS586514A (ja) * 1981-07-06 1983-01-14 Mitsubishi Electric Corp デイスク制御装置
JPH04113431A (ja) * 1990-09-04 1992-04-14 Nec Corp 仮想記憶方式
JPH0573413A (ja) * 1991-09-12 1993-03-26 Mitsubishi Electric Corp キヤツシユメモリ・データ制御装置
JPH05274198A (ja) * 1992-03-27 1993-10-22 Hitachi Ltd 情報処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756639B2 (ja) * 1985-12-27 1995-06-14 松下電送株式会社 画像用仮想記憶管理方法
US5063499A (en) * 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
JPH0414154A (ja) * 1990-05-08 1992-01-20 Nec Corp 仮想記憶管理方式
US5247638A (en) * 1990-06-18 1993-09-21 Storage Technology Corporation Apparatus for compressing data in a dynamically mapped virtual data storage subsystem
US5040075A (en) * 1990-10-10 1991-08-13 Fuji Xerox Co., Ltd. Digital electrophotographic copying apparatus
US5463476A (en) * 1990-10-10 1995-10-31 Fuji Xerox Co., Ltd. Image processing system
US5237460A (en) * 1990-12-14 1993-08-17 Ceram, Inc. Storage of compressed data on random access storage devices
JPH04364547A (ja) * 1991-06-11 1992-12-16 Oki Electric Ind Co Ltd 補助記憶装置の情報格納方式
JPH05298419A (ja) * 1992-04-20 1993-11-12 Ricoh Co Ltd 画像ファイリング装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS586514A (ja) * 1981-07-06 1983-01-14 Mitsubishi Electric Corp デイスク制御装置
JPH04113431A (ja) * 1990-09-04 1992-04-14 Nec Corp 仮想記憶方式
JPH0573413A (ja) * 1991-09-12 1993-03-26 Mitsubishi Electric Corp キヤツシユメモリ・データ制御装置
JPH05274198A (ja) * 1992-03-27 1993-10-22 Hitachi Ltd 情報処理装置

Also Published As

Publication number Publication date
US5787487A (en) 1998-07-28
JP2932920B2 (ja) 1999-08-09

Similar Documents

Publication Publication Date Title
JP2932920B2 (ja) 情報格納装置
US8255900B2 (en) Virtual computer server apparatus, and update image detection method
US9678862B2 (en) Computer system, memory management method and program thereof
US6658549B2 (en) Method and system allowing a single entity to manage memory comprising compressed and uncompressed data
JP4395536B2 (ja) ディスクにファイルデータを記憶する方法
US20030225972A1 (en) Storage system
JP2001500686A (ja) メディア・コプロセッサにより共用ワークステーションメモリ上で実行される圧縮及び復元方式
JP2006259962A (ja) ストレージシステム
EP1191446A2 (en) Compressing memory management in a device
JPH0973412A (ja) データ転送方法及びメモリ管理装置
EP1536307B1 (en) Encryption of system paging file
WO2021169121A1 (zh) 数据存储方式转换方法、装置及存储介质
WO2024074012A1 (zh) 视频传输控制方法、装置、设备及非易失性可读存储介质
CN108229190B (zh) 透明加解密的控制方法、装置、程序、存储介质和电子设备
US7506131B2 (en) Reformat logic to translate between a virtual address and a compressed physical address
US20010047461A1 (en) Systems and methods for relocation of compressed data tracks
JP4123368B2 (ja) 情報処理装置
JP2932919B2 (ja) 仮想記憶システム
JP3471988B2 (ja) ファクシミリ装置
CN113641694A (zh) 数据库的海量历史数据备份方法和恢复方法
KR101065114B1 (ko) 프로그래밍 언어 표현에서 장치 드라이버 메모리로의 액세스
JP2008257584A (ja) Ramディスクの処理方法及びシステム
JPH07312694A (ja) 画像蓄積転送装置
JPS60169959A (ja) デ−タ暗号化方式
JPH04257079A (ja) 画像データ管理方式