WO2006107095A1 - 計算機システム、メモリ管理方法、およびそのプログラム - Google Patents

計算機システム、メモリ管理方法、およびそのプログラム Download PDF

Info

Publication number
WO2006107095A1
WO2006107095A1 PCT/JP2006/307274 JP2006307274W WO2006107095A1 WO 2006107095 A1 WO2006107095 A1 WO 2006107095A1 JP 2006307274 W JP2006307274 W JP 2006307274W WO 2006107095 A1 WO2006107095 A1 WO 2006107095A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage unit
program
address
computer system
block
Prior art date
Application number
PCT/JP2006/307274
Other languages
English (en)
French (fr)
Inventor
Masahiko Takahashi
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to EP06731222A priority Critical patent/EP1873647A4/en
Priority to US11/909,883 priority patent/US8930659B2/en
Priority to JP2007511258A priority patent/JP5071798B2/ja
Publication of WO2006107095A1 publication Critical patent/WO2006107095A1/ja
Priority to US14/560,712 priority patent/US9678862B2/en

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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

ROM(不揮発性記憶部152)には、変換済イメージデータ290とデータ変換されていない初期動作イメージ224が予め記憶されている。データを論理ブロック単位でデータ変換(圧縮や暗号化など)した後、1以上の論理ブロックを所定サイズの物理ブロックにまとめて不揮発性記憶部152に保存する。データを展開していない論理ブロックへの最初のアクセスが発生したときには、当該ブロックが格納されている物理ブロックに含まれている全ての論理ブロックを一度に展開する(変換処理を施されたデータに対して逆変換を行なうことで元のデータに戻す)ことで、当該物理ブロックへのアクセスは1回のみとなり、効率的なメモリ管理と計算機システムの高速起動が可能となる。

Description

明細書 計算機システム, メモリ管理方法, およびそのプログラム 技術分野 '
本発明は、 計算機システム、 メモリ管理方法、 及びそのプログラムに関し、 例 えば圧縮され暗号化されて R O M等の不揮発性記憶媒体内に格納されたデータを 管理し、 R AM等の主記憶部に効率良く転送することができる計算機システム, メモリ管理方法, およびそのプログラムに関する。 背景技術
コンピュータの起動時の制御プログラムは、 大容量であるがアクセス速度が遅 い R OM等の不揮発性記憶媒体に格納されている。従来は、システムリセット(初 期化動作) が完了した後で、 例えば不揮発性記憶媒体としての R OMから主記憶 部としての R AMに制御プログラムが転送されていた。 このため、 ユーザが電源 を投入してから情報処理装置を使用することができるまでの待ち時間が長かった。 ところで、 上述したように主記憶イメージは大きい。 このため、 起動時間を短 くかくするには R O M等の不揮発性記憶媒体の容量を節約する必要があり、 その 対応策として、 主記憶イメージ (O S用の制御プログラム) を圧縮処理して保存 するという試みがなされている。 例えば、 文献 1 (米国特許 第 6, 4 9 6, 8 8
2号) に開示された圧縮対応起動方式は、 R O M等の不揮発性記憶媒体の容量を 減らすために起動直後において必要な主記憶イメージを論理ブロック単位で圧縮 しており、 ある論理ブロックに最初にアクセスしたときに、 当該論理ブロックに 対応する圧縮データを不揮発性記憶媒体から読み込んで圧縮を解除し R AMにデ —タを展開する。 各圧縮ブロックが保存されている R OMのアドレスは管理テ一 ブルに書き込まれており、 R OMから圧縮ブロックを読み込むときには、 管理テ —ブルを参照して得たアドレスを用いて R O Mから読み出す。 この場合、 コンビ ユー夕システムに於けるメモリ管理装置では、 主記憶メモリの物理アドレスを所 定の幅に区切って管理している。 一方、 アプリケーションプログラムから指定されるアドレスは、 論理アドレス と呼ばれ、 物理ァドレスを所定の幅に区切ったプロックをマツビングして論理的 に連続に見えるように変換したものであり、 この変換テーブルはオペレーティン グシステム (O S ) が管理している。 ちなみに、 変換テーブルのエントリを、 C P U内の MM U (memory management uni t ) でキャッシュしたものが、 T L B
(Trans l at i on Look-as i de Buf fer)と呼ばれている。
しかしながら、 上述した従来例 (文献 1 ) にあっては、 圧縮ブロックを読み込 むときには、 不揮発性記憶媒体の当該プロックには 2つ以上の論理ブロックのデ 一夕が含まれているにもかかわらず、 それぞれの例外処理において別々に読み出 すことから、 時には、 ブロック単位でアクセスする R O M等の不揮発性記憶媒体 の 1つのブロックから 2回以上読み出すという不都合が生じていた。
また、 読み出す変換データが不揮発性記憶媒体上で 2つのブロックにまたがつ て保存されていることから、 論理ブロックのデ一夕を展開するときに、 ブロック 単位でアクセスすると R OM等の不揮発性記憶媒体の複数プロックを読み出すこ とがあり、 これに伴って T L Bエントリを 2つ使用するという事態が生じ、 これ がため高速起動に支障をきたすという不都合があつた。
そこで、 本発明の目的は、 読み出すべきブロックのデ一夕の大きさが変わった としても、 圧縮され暗号化されて R O M等の不揮発性記憶媒体内に格納されたプ ログラム及びデータを R AM等の主記憶部に効率良く転送 ·展開し、 ひいては、 計算機システムの起動時間を短縮することができる計算機システム, 計算機シス テムのメモリ管理方法, およびその管理プログラムを提供すること、 にある。 発明の開示
本発明にあっては、 圧縮や暗号化等により変換したプログラムを不揮発性記憶 部に格納する際には、 ブロックの境界を跨がないように格納し、 あるブロックへ の最初のアクセスの際には当該ブロックに含まれる全てのデータを、 対応する主 記憶部のブロックへ展開する、 という手法を採用している。 これを更に具体的に 開示する。
即ち、 本発明にかかる計算機システムは、 プログラムを格納する不揮発性記憶 部 (例えば R OM) と、 前記プログラムを不揮発性記憶部から受け取る主記憶部 (例えば R AM) と、 前述した不揮発性記憶部および主記憶部に格納されたプロ グラムを管理するメモリ管理部 (O S ) を含むデータ処理装置とを備えている。 前述したメモリ管理部は、 前述した不揮発性記憶部に所定のデータ変換を施し たプログラムと所定のデータ変換を施さないプログラムとを格納するプログラム 格納制御機能を備えている。 更に、 このメモリ管理部は、 そのプログラム格納制 御機能の実行に際しては所定のデ一タ変換を施したプログラムをブロックの境界 を跨がないように組み合わせるように機能すると共に、 或るプロックへの最初の アクセスの際には当該ブロックに含まれる全てのデ一夕を対応する主記憶部のブ ロックへ展開する機能を備えた構成とした (請求項 1 )。
このため、 本発明では、 不揮発性記憶部には、 O Sおよびアプリケーションプ ログラムの初期化処理後の主記憶イメージの一部をブロック単位でデータ変換さ れたイメージデータを記憶することができるので、 各ブロックの変換済データを ブロックサイズを越えないように適切にまとめ得るようになつている。 これによ り、 計算機システムの起動時には、 データ変換されていない主記憶イメージ部分 からシステム起動がなされるので、 O Sおよびアプリケーションプログラムの起 動直後と同じ状態になり、 システムは立上がり直後の環境に復帰する。 この時、 システム起動が主記憶イメージ部分からなされるので、 システム運用可能になる までの運用中断状態は発生せず、 これにより起動時間が有効に短縮される。
又、 本発明では、 前述したメモリ管理部が、 不揮発性記憶部に所定のデータ変 換を施したプログラムと所定のデ一夕変換を施さないプログラムとを格納するプ ログラム格納制御機能を備えたものとした。 更に、 このメモリ管理部は、 システ ム全体の起動後に 0 S及びアプリケ一ションのメモリアクセスを契機に (その夕 ィミングで) 作動し前述した不揮発性記憶部に格納された所定のデータ変換が施 されたプログラムを前述した主記憶部に転送してこれを逆変換するプログラム逆 変換機能と、 不揮発性記憶部に格納されたプログラムの物理ァドレスを主記憶部 の物理ァドレスに変更する物理ァドレス変更機能と、 前述した不揮発性記憶部に 格納され前記プログラムに割り当てられた所定容量の 1つの物理ァドレスを含む プロック内のデータの展開のために複数の論理プロック分の容量を割り当てる容 量割り当て機能とを備えて構成されている (請求項 2 )。 この場合、 前述した不揮 発性記憶部にはシステムの起動直後の主記憶のイメージに対して所定の幅毎にデ 一夕変換処理されたデータが格納されている。 このようにしても、 前述したもの と同等に機能する計算機システムを得ることができる。
更に、 本発明では、 前述したメモリ管理部が、 プログラムからのメモリァクセ スがあった場合に作動し論理ブロックアドレスから物理ブロックアドレスに変換 するアドレ 変換部と、 このアドレス変換部の情報を保持するマッピングテープ ル部と、 前記論理ブロックアドレスの本来の保護情報を保持する保護情報部と、 例外発生時に前記マツピングテーブル部のェントリを更新するマツピングテ一ブ ル変更部とを備えた構成とした (請求項 3 )。
又、 本発明では、 前述したメモリ管理部が、 プログラムからのメモリアクセス があつた場合に作動し論理プロックアドレスから物理ブロックアドレスに変換す るアドレス変換部と、 このアドレス変換部の情報を保持するマッピングテーブル 部と、 例外発生時に前記マツビングテーブル部のェントリを更新するマツピング テーブル変更部とを備えた構成とし、 前述したマッピングテーブル部が、 前記変 換済デ一夕内に各論理ブロックの本来のプロテクトモード (保護モードのこと、 以下同じ) を保持しているように構成してもよい。 このようにすると、 マツピン グテ一ブルの更新の際に変換済データ内で各論理ブロックの本来のプロテクトモ ード (保護モード) を保持している場合には、 保護情報部を参照する必要がなく なり、 その分、 処理時間の迅速化を図り得ることができる (請求項 4 )。
ここで、 前述した不揮発性記憶部にはシステム起動直後の前述した主記憶のィ メージに対して所定の幅毎にデータ変換処理を施したデータが格納されており、 システム起動後に未取得状態の主記憶ブロックへのアクセスが発生した場合には これに対応して前記アドレス変換部が例外処理を発生させる機能を有し、 更に、 前記マッピングテーブル変更部が前記未取得の主記憶プロックに対応する不揮発 性記憶部のプロックに含まれる 1以上のブロックのデータを前述した主記憶部上 にそれぞれ対応する未取得ブロック展開して未取得状態を取得状態に変更する機 能を備えているように構成してもよい (請求項 5 )。 このようにしても、 前述した 各計算機システムと同等に機能する計算機システムを得ることができる。 又、 前述した不揮発性記憶部に格納され所定のデータ変換が施された前記プロ グラムに対しては、 一律にプロテクトモード N U L Lを設定する。 又、 前記シス テム起動後の O S及びアプリケーションのメモリアクセスを契機に作動し前述し た不揮発性記憶部に格納され前記プログラムに所定のデータ'変換を施したものに 対して前記主記憶部上の物理アドレスを割り当てるようにしてもよい(請求項 6 )。 更に、 前述した不揮発性記憶部の所定サイズの物理ァドレスに格納した複数の プログラムには、 それぞれ主記憶部の物理アドレスに対応した論理アドレス, 総 論理アドレス数, 及びプログラムデータサイズを (請求項 7 )、 更には、 保護モー ド (プロテクトモード) を、 それぞれ記入してもよい (請求項 8 )。
又、前述した不揮発性記憶部の所定容量の物理ァドレスの複数個を 1単位とし、 この 1単位内に、 複数の論理ァドレスに割り当てられた前記プログラムを収容す るようにしてもよい (請求項 9 )。 更に、 所定のデータ変換が施され前記不揮発性 記憶部に格納されたプログラムに対しては、 一定時間間隔で、 別内容の所定のデ 一夕変換を施すようにしてもよい (請求項 1 0 )。
このように、 本発明にかかる計算機システムは、 上述したように構成され機能 するので上述したように、 各ブロックの変換済デ一タをブロックサイズを越えな いように適切にまとめ得ることから、 計算機システムの起動時には、 データ変換 されていない主記憶ィメ一ジ部分からシステム起動がなされ、 O Sおよびアブリ ケ一シヨンプログラムの起動直後と同じ状態になり、 システムは立上がり直後の 環境に復帰する。 そして、 システム起動が主記憶イメージ部分からなされること から、 システム運用可能になるまでの運用中断状態は発生せず、 これがためシス テム全体の起動時間が有効に短縮される。
更に、 計^機システムの起動後にあっては、 データ変換されたブロックへの最 初のアクセスの際に、 当該ブロックに含まれる全ての計算済データを展開される ため、 当該ブロックへのアクセスは一度しか起こらないため、 従来例で生じてい た、 プロック単位でアクセスすると不揮発性記憶部の複数プロックを読み出すこ とがある、という不都合を完全に排除することを可能とした。そして、 この場合、 当該ブロックはブロックサイズを越えてはいないため、 ブロックサイズでしか読 み出せない不揮発性記憶部であっても、 当該プロックを読み出す際には 1以上の ブロックを読み出す必要性もない。
又、 本発明では、 計算機システムのメモリ管理方法として、 以下に示す構成を 採用した。 即ち、 不揮発性記憶部に格納されたプログラムを主記憶部に転送する 計算機システムのメモリ管理方法において、 不揮発性記憶部に、 前述したプログ ラムに所定のデータ変換を施したものと前述したプログラムに所定のデータ変換 を施さないものとを格納する第 1のステップと、 計算機システムの起動に際し、 計算機システムの起動後に O S及びアプリケーションのメモリアクセスを契機に 作動し前記不揮発性記憶部に格納されているプログラムの内の所定のデータ変換 を施したプログラムを主記憶部に転送して当該所定のデータ変換の逆変換を施す 第 2のステップと、 不揮発性記憶部に格納された前記プログラムの物理アドレス を、 前記主記憶部の物理アドレスに変更する第 3のステップと、 前記不揮発性記 憶部に格納された前記プログラムに割り当てられた所定容量の 1つの物理ァドレ スを含むブロック内のデ一夕の展開にために複数の論理アドレス分の容量を割り 当てる第 4のステップとを含むように構成した (請求項 1 1 )。
このため、 本発明においても、 前述した前述した計算機システムの場合と同様 の効果を奏する計算機システムのメモリ管理方法を提供することができ、 当該計 算機システムの実施に際しては、 本発明の手法に沿って作動させることにより、 計算機システムを短時間に効率良く起動させることが可能となる。
ここで、 前述した第 1のステップと第 2のステップの間に、 前述した不揮発性 記憶部に格納され前記プログラムに所定のデータ変換が施されたものに対し一律 に保護モード N U L Lを設定するステップを設けるように構成してもよい (請求 項 1 2 )。 このようにしても、前述した計算機システムのメモリ管理方法を提供す ることができる。
又、 前述した不揮発性記憶部の所定サイズの物理ァドレスに格納した複数のプ ログラムに対して、 それぞれ前記主記憶部の物理アドレスに対応する論理アドレ ス, 総論理アドレス数, 及びプログラムデータサイズを (請求項 1 3 )、 或いはこ れらと保護モード (請求項 1 4 ) とを、 それぞれ記入するステップを、 前記第 1 のステップに併設してもよい。 又、 前述した不揮発性記憶部に格納されたプログ ラムの内の所定のデータ変換が施されたプログラムを対象として一定時間間隔で 別内容の所の定変換を施すステップを、前記第 1のステップに併設してもよい(請 求項 1 5 )。
更に、 本発明では、 計算機システム用のメモリ管理プログラムとして、 以下に 示す構成を採用した。 即ち、 不揮発性記憶部に格納されたプログラムを主記憶部 に転送するように構成されたシステムの動作を制御するコンピュータに、 前述し た不揮発性記憶部に対して、 前述したプログラムに所定のデータ変換を施したも のと前記プログラムに所定のデータ変換を施さないものとを格納する手順と、 シ ステムの起動後に O S及びアプリケーションのメモリアクセスを契機に作動し前 記不揮発性記憶部に格納されているプログラムの内の所定のデータ変換を施した プログラムを主記憶部に転送して当該所定のデータ変換の逆変換を施す手順と、 前記不揮発性記憶部に格納されたプログラムの物理ァドレスを前記主記憶部の物 理ァドレスに変更する手順と、 前記不揮発性記憶部に格納されたプログラムに割 り当てられた所定容量の 1つの物理ァドレスを含むプロック内のデ一夕の展開の ために複数の論理アドレス分の容量を割り当てる手順と、 をそれぞれコンピュー 夕に実行させるようにした (請求項 1 6 )。
ここで、 前述した不揮発性記憶部に格納され前記プログラムに所定のデ一夕変 換が施されたものには対して一律に保護モード N U L Lを設定する手順、 および 前記計算機システムの起動後に発生する O Sおよびアプリケーションのメモリア クセスを契機に作動し前記不揮発性記憶部に格納され前記プログラムに所定のデ 一夕変換が施されたものに対し前記主記憶部上の物理アドレスを割り当てる手順、 をコンピュータに実行させるようにしてもよい (請求項 1 7 )。
更に、 前記不揮発性記憶部の所定サイズの物理ァドレスに格納した複数のプロ グラムに対して、それぞれ前記主記憶部の物理アドレスに対応する論理アドレス, 総論理アドレス数, 及びプログラムデ一夕サイズを (請求項 1 8 )、或いはこれら と保護モードとを (請求項 1 9 )、 それぞれ記入する手順、 をコンピュータに実行 させるようにしてもよい。 又、 前述した不揮発性記憶部に格納されたプログラム の内の所定のデ一夕変換が施されたプログラムを対象として、 一定時間間隔で別 内容の所の定変換を施す手順、をコンピュータに実行させるようにしてもよい(請 求項 2 0 )。 このようにしても、 前述した各発明の場合と同様に計算機システムの起動時に は、 データ変換されていない主記憶イメージ部分からシステム起動がなされ、 〇
Sおよびアプリケーションプログラムの起動直後と同じ状態になり、 システムは 立上がり直後の環境に復帰する。 そして、 システム起動が主記憶イメージ部分か らなされることから、 システム運用可能になるまでの運用中断状態は発生せず、 システムに起動時間を効率よく短縮することができる。
更に、 計算機システムの起動後にあっては、 データ変換されたブロックへの最 初のアクセスの際に、 当該ブロックに含まれる全ての計算済データを展開される ため、 当該ブロックへのアクセスは一度しか起こらないため、 本発明によると、 従来例で生じていた、 ブロック単位でアクセスすると R OM (不揮発性記憶部) の複数プロックを読み出すことがある、 という不都合を完全に排除することがで さる。
以上のように、 本発明によると、 データを展開していない論理ブロックへの最 初のアクセスが発生した時には当該ブロックが格納されている物理ブロックに含 まれている全ての論理プロックを一度に展開する (変換処理を施されたデータに 対して逆変換を行うことでもとのデータに戻す) ようにしたので、 当該物理プロ ックへのアクセスは一回のみとなり、 効率的なメモリ管理が可能となり、 これに よって計算機システムの軌道時間を有効に短縮することができる。 図面の簡単な説明
図 1は、 本発明の第 1の実施形態を示すブロック図である。
図 2は、 第 1の実施形態で起動直後イメージを論理プロック毎にデータ変換し た例で、 不揮発性記憶部に仮想的に分けられて保存される変換済イメージデータ と非変換イメージデータを示すブロック図である。
図 3は、第 1の実施形態で複数プロックのデータを変換した後のデータ形式で、 変換済イメージデータの各物理プロックを示すプロック図である。
図 4は、 第 1の実施形態で計算機が備えるマツピングテーブル部のェントリの 構成例を示す説明図である。
図 5は、 第 1の実施形態で計算機が備える保護情報部のェントリの構成例を示 す説明図である。
図 6は、 第 1の実施形態で計算機のァドレス変換部およびマツビングテーブル 変更部における計算処理の例を示すフローチヤ一卜である。
図 7は、 第 1の実施形態におけるシステムの概略動作を示すフローチャートで ある。
図 8は、 第 1の実施形態の具体例を示すブロック図である。
図 9は、 図 8における主記憶部及び不揮発性記憶部の物理プロックアドレスの 割り当て状態の例を示す説明図である。
図 1 0は、 図 8における保護モード (保護情報部) の内容例を示す説明図であ る。
図 1 1は、 図 1に開示した O Sが有するマッピングテーブル部の初期状態およ び変更後の状態を示す図で、 図 1 1 ( a ) はマッピングテーブル部の初期状態を 示す説明図、 図 1 1 ( b ) はマッピングテーブル部の変更後の状態を示す説明で ある。
図 1 2は、 図 8に示す不揮発性記憶部の非変換データ (初期動作イメージ) 及 び変換済デー夕の構成例を示す説明図である。
図 1 3は、 本発明の第 2の実施形態における変換済イメージデ一夕の各物理ブ ロックの構成例を示す説明図である。
図 1 4は、第 2の実施形態における変換済データの構成例を示す説明図である。 図 1 5は、 第 3の実施形態における不揮発性記憶部の非変換データ及び変換済 デー夕の構成例を示す説明図である。
図 1 6は、 第 4の実施形態における再変換処理の例を示すフローチヤ一卜であ る。
図 1 7は、 第 4の実施形態におけるマッピングテーブル部の再変換処理前の状 態および変換処理後の状態を示す説明図である。
図 1 8は、 第 4の実施形態における再変換処理後の変換済データの構成例を示 す説明図である。
1 0 0 計算機システム、 1 0 1 主記憶装置、 1 0 2 データ処理装置、 1 0 2 A データ管理部、 1 5 1 主記憶部、 1 5 2 不揮発性記憶部、 1 5 3 八 一ドウエア初期化部、 1 5 4 マッピングテーブル変更部、 1 5 6 アドレス変 換部、 1 5 7 マッピングテーブル部、 1 5 8 保護情報部 発明を実施するための最良の形態
以下、 本発明の実施形態を添付図面に基づいて説明する。
(第 1の実施形態)
本実施形態にかかる計算機システム 1 0 0は、 図 1に示すように主記憶装置 1 0 1とデータ処理装置 1 0 2とを有し、 プログラム制御により動作する。 この計 算機システム 1 0 0は、 圧縮や暗号化された不揮発性記憶部 1 5 2のデータ (本 来、 主記憶装置 1 0 1中に備えられている) を、 データ処理装置 1 0 2を介して 前述した主記憶装置 1 0 1の主記憶部 1 5 1上に (圧縮や暗号を解除して) 展開 するシステムである。
これを具体的に説明すると、 上記計算機システム 1 0 0は、 プログラムを格納 する R O M等の不揮発性記憶部 1 5 2と、 プログラムを不揮発性記憶部 1 5 2か ら受け取る R AM等の主記憶部 1 5 1と、 前述した不揮発性記憶部 1 5 2および 主記憶部 1 5 1に格納されたプログラムを管理するメモリ管理部 (O S ) 1 0 2 Aを含むデータ処理装置 1 0 2とを備えている。
メモリ管理部 1 0 2 Aは、 不揮発性記憶部 1 5 2に所定のデータ変換を施した プログラムと所定のデータ変換を施さないプログラムとを格納するプログラム格 納制御機能とを備えている。 更に、 このメモリ管理部 1 0 2 Aは、 前述したプロ グラム格納制御機能の実行に際しては所定のデータ変換を施したプログラムをブ ロックの境界を跨がないように組み合わせるように機能すると共に、 或るプロッ クへの最初のアクセスの際には当該ブロックに含まれる全てのデータを対応する 主記憶部 1 5 1のブロックへ展開する機能を備えている。
又、 上述したメモリ管理部 1 0 2 Aは、 機能的には、 不揮発性記憶部 1 5 2に 所定のデータ変換を施したプログラムと所定のデータ変換を施さないプログラム とを格納するプログラム格納制御機能とを備え、 システム全体の起動後に O S及 びアプリケーションのメモリアクセスを契機に作動し前述した不揮発性記憶部 1 5 2に格納された所定のデータ変換が施されたプログラムを前述した主記憶部 1 5 1に転送してこれを逆変換するプログラム逆変換機能と、 不揮発性記憶部 1 5 2に格納されたプログラムの物理アドレスを主記憶部 1 5 1の物理アドレスに変 更する物理アドレス変更機能と、 前述した不揮発性記憶部 1 5 2に格納され前記 プログラムに割り当てられた所定容量の 1つの物理ァドレス内に, 所定の夕イミ ングで前記プログラムの複数の論理アドレス分の容量を割り当てる容量割り当て 機能とを備えて構成されている.。
このため、 不揮発性記憶部 1 5 2には、 O S 2 0 5およびアプリケ一ションプ ログラムの初期化処理後の主記憶イメージの一部をブロック単位でデータ変換さ れたィメージデータを記憶ずることができるので、 各ブロックの変換済データを ブロックサイズを越えないように適切にまとめ得るようになつている。 これによ り、 計算機システム全体の起動時には、 デ一夕変換されていない主記憶イメージ 部分からシステム起動がなされるので、 O S 2 0 5およびアプリケーションプロ グラムの起動直後と同じ状態になり、システムは立上がり直後の環境に復帰する。 この時、 システム起動が主記憶イメージ部分からなされるので、 システム運用可 能になるまでの運用中断状態は発生せず、 システムの起動時間を効率良く短縮す ることができる。
更に、 本発明では、 具体的には、 前述したメモリ管理部 1 0 2 Aが、 プロダラ ムからのメモリアクセスがあった場合に作動し論理ブロックアドレスから物理ブ ロックアドレスに変換するアドレス変換部 1 5 6と、 このアドレス変換部 1 5 6 の情報を保持するマッピングテ一ブル部 1 5 7と、 前記論理ブロックアドレスの 本来の保護情報を保持する保護情報部 1 5 8と、 例外発生時に前記マッピングテ 一ブル部 1 5 7のエントリを更新するマツビングテーブル変更部 1 5 4とを含む 構成とした。
そして、 かかる構成により、 前述したデータ変換によって変換されたデータを 不揮発性記憶部 1 5 2にまとめるに際には、 前述したようにブロックの境界を跨 がないように組み合わせを考え、 或るブロックへの最初のアクセスの際には当該 プロックに含まれる全てのデータを、 対応する主記憶のプロックへ展開すること を基本とする。 より具体的には、 本実施形態における計算機システムは、 前述したように少な くとも主記憶部 1 5 1と不揮発記憶部 1 5 2とデ一夕処理装置 1 0 2によって構 成され、 更に、 前記不揮発記憶部 1 5 2には当該システムが起動した直後の前述 した主記憶のイメージに対して所定の幅毎にデータ変換処理を施したデータが格 納されている。 そして、 当該システムの起動後に未取得状態の主記憶ブロックへ のアクセスが発生した場合に、 前述した未取得状態の主記憶ブロックに対応する 不揮発記憶部 1 5 2のブロックに含まれる 1以上のブロックのデータを前述した 主記憶部 1 5 1上のそれぞれに対応する未取得ブロックに展開して、 当該未取得 状態を取得状態に展開する、 という動作が実行される。
換言すると、 前述した不揮発性記憶部 1 5 2には、 システム起動直後の主記憶 イメージに対して所定の幅毎にデータ変換処理を施したデータが格納されており、 システム起動後に未取得状態の主記憶ブロックへのアクセスが発生した場合には、 これに対応して前述したアドレス変換部 1 5 6が例外処理を発生させる機能を備 え、 前述したマッピングテーブル変更部 1 5 4が未取得の主記憶ブロックに対応 する不揮^ §性記憶部 1 5 2のブロックに含まれる 1以上のブロックのデータを前 記主記憶部 1 5 1上にそれぞれ対応する未取得ブロックを展開して未取得状態を 取得状態に変更する機能を備えている。 これらの内容については、 後述するマツ ビングテーブル変更部 1 5 4 , アドレス変換部 1 5 6の説明箇所で詳述する。
又、 本実施形態においては、 前述した不揮発性記憶部 1 5 2に格納され所定の データ変換が施されたプログラムに対しては一律に保護モード N U L Lを設定す ると共に、 システム起動後の O S及びアプリケーションのメモリアクセスを契機 に作動し不揮発性記憶部に格納されプログラムに所定のデータ変換を施したもの に対して主記憶部上の物理ァドレスを割り当てるようにした。 これらの内容につ いては、 後述するマッピングテーブル 1 5 7の説明箇所で詳述する。
更に本実施形態においては、 前述した不揮発性記憶部 1 5 2の所定サイズの物 理アドレスに格納した複数のプログラムには、 それぞれ主記憶部 1 5 1の物理ァ ドレスに対応した論理アドレス, 総論理アドレス数, 及びプログラムデータサイ ズを記入するようにした。 更に本実施形態においては、 前述した不揮発性記憶部 の所定のデータ容量の物理アドレスの複数個を 1単位とし、 この 1単位内に、 複 数の論理アドレスに割り当てられたプログラムを収容ずるように構成した。 これ らの内容についても、 順次後述する。
以下、 これを各構成要素毎に、 具体的に詳述する。
(主記憶装置の構成)
主記憶装置 101は、 前述したように、 主記憶部 1 5 1と不揮発性記憶部 1 52 とを備えている。 この内、 主記憶部 151は、 CPUに計算させるプログラムを 格納するメモリであり、 DR AM, DDR— SDRAMなどが好適に用いられる。 この主記憶部 151は、 不揮発性記憶部 152以外の主記憶領域を構成する部分 である。 この主記憶部 151としては、 読み書き可能なメモリなら任意の種類の メモリであっても良く、 一般的には DRAM、 S RAM等の揮発性のメモリに代 えて MRAM (Magnetoresistive RAM), F e RAM (Ferroelectric RAM), 或いはフラッシュメモリ等の不揮発性のメモリを使用してもよい。
不揮発性記憶部 1 52は、 0 S及びアプリケーションの初期化処理後の主記憶 イメージ (以下 「起動直後イメージ」 と言う) を記憶する部分である。 この不揮 発性記憶部 1 52は、 不揮発なメモリなら任意の種類のメモリで良く、 例えば R OM等の読み出し専用の不揮発性メモリや、 MRAMや F e RAMやフラッシュ メモリ等の書き換え可能な不揮発性メモリが使用できる。 起動直後イメージ (主 記憶イメージ) の内容を変更する方法としては、 不揮発性記憶部 152の差し替 え、 又は不揮発性記憶部 1 52が書き換え可能な場合は、 ネットワークを利用し たイメージファイルのダウンロードや、 外部記憶媒体からのイメージファイルの 読み込みなどの方法が使用可能である。
(主記憶装置 101内のプログラムデータ形式)
図 2に、 前述した起動直後イメージ (主記憶イメージ:〇Sとアプリケーショ ンの初期化終了後の主イメージ) 242を、 論理ブロック毎に、 ROM等の不揮 発性記憶部 152上にデ一夕変換した例を示す。
起動直後イメージ (主記憶イメージ) 242の生成方法は任意であるが、 例え ば、 通常のシステム起動方法で起動した直後の主記憶部 15 1からの主記憶ィメ ージをダンプすることにより生成することができる。起動直後イメージ 242 (主 記憶イメージ) の一部は、 論理ブロック単位でデータ変換されてから、 不揮発性 記憶部 1 5 2に記憶される。
R O M等の不揮発性記憶部 1 5 2では、 〇S用の制御プログラムは、 変換済ィ メージデータ 2 9 0と非変換イメージデータ 2 9 5の 2つの領域に仮想的に分け られて保持されている。 この内、 変換済イメージデータ 2 9 0は、 起動直後ィメ ージ 2 4 2を論理ブロック単位で区切ったものに対して特定のデータ変換処理を 施したものをまとめたものである。 データ変換処理の例としては、 圧縮や暗号化 などが挙げられる。 また、 変換処理を施されたデータに対して逆変換を行なうこ とで元のデータに戻すことが可能であり、 この逆変換処理のことを以下 「展開」 という。 前述した変換済イメージデータ 2 9 0は、 後述する通り、 起動後に動的 に主記憶部 1 5 1に展開してアプリケーション 2 0 6の実行のために用いられる。 また、 変換済イメージデータ 2 9 0の一部は、 O S 2 0 5を動作させるために使 用される。
図 3に、 主記憶部 1 5 1上の複数ブロックのデータを変換した後の不揮発記憶 部 (R OM) 1 5 2上のデータ形式の例を示す。 ここで、 総ブロック数 3 7 0は データ変換された当該プロックに含まれる論理プロックの個数である。 データサ ィズ 3 8 0は当該論理ブロックの変換後のデータサイズを保持している。 論理ブ ロックアドレス 3 8 5は展開するべき論理ブロック番号である。 変換済デ一夕 3 9 5はデータ変換を施された後のデータである。 このように複数の論理ブロック が、データサイズ,論理ブロックアドレス,変換済データの一連の内容を保持し、 R OM (不揮発性記憶部) 1 5 2の 1ブロックに含まれている。
ここで、 主記憶部 1 5 1上のブロック毎に変換処理を施したイメージデータを まとめるに際しては、 従来の手法では論理ブロックアドレス順に連続的にまとめ るように成っていた。 しかしながら、 本実施形態では、 変換データのサイズを考 慮しながら、 物理ブロックサイズを越えないように任意の組み合わせを選ぶ。 こ のときには、 論理ブロックアドレスでは不連続なブロックを、 不揮発性記憶部 1 5 2上の 1ブロック内でまとめることも可能である。
例えば、 後述する図 9の物理ブロックアドレス 2 3には、 後述する図 1 2に示 すように論理ブロックアドレス 「2」 と 「4」 という連続してないブロックがま とめられている。 ここで、 図 1 2において 「2 Z 7 0 0 Z 2」 とあるのは、 それ ぞれ「総ブロック数 Zデータサイズ Z論理ブロックアドレス」 (図 3参照)であり、 「3 3 0 0ノ4」とあるのは「データサイズ'論理ブロックアドレス」 (図 3参照) である。
再び図 2を参照する。 前述した非変換イメージデータ 2 9 5は、 起動直後ィメ ージ(主記憶イメージ) 2 4 2の内、データ変換処理がされていない箇所であり、 計算機システムの起動時にはこの箇所を使用して起動する。 従って非変換ィメー ジデ一夕 2 9 5は初期 SM乍イメージ 2 2 4となる。
(データ処理装置 1 0 2の構成)
データ処理装置 1 0 2は、 図 1に示すように、 前述した不揮発性記憶部 1 5 2 および主記憶部 1 5 1に格納されたプログラムを管理するメモリ管理部 (O S ) 1 0 2 Aを含んで構成されている。
このメモリ管理部 1 0 2 Aは、 具体的には、 プログラムからのメモリアクセス があった場合に作動し論理ブロックアドレスから物理ブロックアドレスに変換す るアドレス変換部 1 5 6と、 このアドレス変換部 1 5 6の情報を保持するマツピ ングテ一ブル部 1 5 7と、 前記論理ブロックアドレスの本来の保護情報を保持す る保護情報部 1 5 8と、 例外発生時に前記マッピングテーブル部 1 5 7のェント リを更新するマッピングテーブル変更部とを備えている。 又、 データ処理装置 1 0 2は、 ハードウェア初期化部 1 5 3を備え、 図 1に示すように計算機システム 1 0 0の起動時にシステム各部のハードウェアの初期化を行うように機能する。 (マッビングテーブル部 1 5 7 )
再び図 1を参照すると、 マッピングテーブル部 1 5 7は、 計算機システム 1 0 0上で動作する O Sやアプリケーションプログラム (両者を総称してプログラム と言う) が主記憶装置 1 0 1を操作する際に指定するメモリアドレス (論理アド レス) を主記憶装置 1 0 1に実際に割り当てられているメモリアドレス (物理ァ ドレス) に変換するための情報、 およびプロテクトモードを記憶する制御テープ ルである。 ここで、 論理アドレスは論理ブロックアドレスとブロック内アドレス とによって構成され、 物理アドレスは物理ブロックアドレスとブロック内ァドレ スとによって構成されている。
図 4に、 前述したマッピングテーブル部 1 5 7のエントリの構成例を示す。 こ のマッピングテーブル部 1 57は、 この図 4に示すようなエントリの集合によつ て構成される。 そして、 この図 4に示すように、 1つのエントリには、 論理プロ ックアドレス 161と物理ブロックアドレス 16.2とプロテクトモード (保護モ —ドのこと、 以下同じ) 163の組が保持されようになつている。
ここで、 論理ブロックアドレス 161は、 論理アドレス空間を所定の大きさの ブロックに分割したときにできる個々の論理ブロックを一意に識別するァドレス である。 又、 物理ブロックアドレス 162は、 物理アドレス空間を論理アドレス 空間と同じ大きさのブロックに分割したときにできる個々の物理プロックを一意 に識別するアドレスである。 ブロックとしては、 ページと呼ばれるァーキテクチ ャ固有の単位を用いることで効率良く処理することが可能となるが、 本発明はそ の単位に制限されるわけではない。
更に、 プロテクトモード (保護モード) 163は、 読み込み専用のプロテクト モード、 読み書き可能のプロテクトモード (保護モード)、 NULL (割り当て無 し) のプロテクトモード (保護モード) の何れかの値をとる。 このプロテクトモ ード (保護モード) 163は、 計算機システム 100で実行されるプログラムの 本来の保護属性とは異なる擬似的なものであり、 ROM (不揮発性記憶部 1 52) の変換済ィメ一ジデ一夕のブロックに関してはシステム起動時に NULL (割り 当て無し) のプロテクトモードが一律に設定される。
即ち、 プロテクトモード (保護モード) 163が NULLの場合、 そのェント リの論理ブロックアドレス 16 1で定まる論理ブロックに対して、 物理メモリブ ロックが未だ割り当てられていないことを示す。 プロテクトモード 163が読み 込み専用或いは読み書き可能の場合、 そのエントリの論理ブロックアドレス 16 1で定まる論理ブロックに対して、 そのエントリの物理ブロックアドレス 162 で定まる物理ブロックが割り当て済であり、 かつ、 そのブロックのプロテクトモ 一ドが読み込み専用あるいは読み書き可能であることを示す。
従って、 物理ブロックアドレス欄は以下の 2つの意味を持つ。 第 1の意味は、 変換されたデータが存在する不揮発性記憶部 1 52上のブロックアドレス (プロ テクトモードが NULLのとき) であり、 第 2の意味は、 主記憶装置 10 1に実 際に割り当てられた物理メモリのブロックアドレス (プロテクトモードが NUL Lでないとき) である。 ここで、 プロテクトモード 1 6 3で N U L Lを指定する 代わりに存在ビットなどを用いることも出来る。 存在ビットは当該エントリに属 する物理ブロックが存在するかどうかを示すビットである。 この場合、 後述する 保護情報部 1 5 8 (図 1 ) は存在せずともよく、 プロテクトモード 1 6 3が本来 のブロック属性を保持している。 後述する例外イベントは、 この存在ビットの 0
/ 1に対して発生するか否かが決まる。
(保護情報部 1 5 8 ) "
再び図 1を参照する。 図 1において、 前述した保護情報部 1 5 8は、 計算機シ ステム 1 0 0で実行されるプログラムの保護属性を保持する制御テ一ブルである。 図 5に、 この保護情報部 1 5 8のエントリの構成例を示す。 この図 5に示すよう に、 1つのェントリには、 論理プロックアドレス 1 7 1と保護属性 1 7 2の組が 保持される。 この内、 保護属性 1 7 2には、 読み込み専用の保護属性と読み書き 可能の保護属性とがあり、 何れの保護属性が設定されるかは、 論理ブロックアド レス 1 7 1で特定されるブロックの本来の保護属性によって決定される。
(アドレス変換部 1 5 6 )
アドレス変換部 1 5 6は、 計算機システム 1 0 0上で動作するプログラムがメ モリ操作の際に指定する論理ァドレスを物理ァドレスに変換する機能と、 プロテ クトモ一ド違反による例外を検出し例外処理を起動する機能とを有する。 論理ァ ドレスから物理アドレスへの変換およびプロテクトモード違反による例外検出は、 主にマッピングテーブル部 1 5 7を参照して行われる。
(マツピングテーブル変更部 1 5 4 )
再び図 1を参照すると、 マッピングテーブル変更部 1 5 4は、 アドレス変換部 1 5 6で起動された例外処理を実行する機能を有する。 例外処理では、 保護情報 部 1 5 8の参照による本来の保護属性の判定、 不揮発性記憶媒体から読み出して 展開し主記憶部 1 5 1への書き出し、 及び、 マッピングテーブル部 1 5 7の更新 などの処理が行われる。
図 6は、 上述したアドレス変換部 1 5 6およびマッピングテーブル変更部 1 5 4の処理の一例を示すフローチャートである。 以下、 これを詳述する。
まず、 アドレス変換部 1 5 6は、 プログラムから指定されたメモリアクセスに かかる論理アドレス中のブロックアドレスでマッピングテーブル部 1 57を検索 し、図 4に示した論理プロックアドレス 161がー致するェントリを取得する(ス テツプ S 100)。
次に、 アドレス変換部 1 56は、 ステップ S 100で取得したエントリ中のプ ロテクトモード 163が NULLか、 読み込み専用か、 読み書き可能かを判別す る (ステップ S 101)。読み込み専用もしくは読み書き可能なプロテクトモード (ステップ S 101でノー) であれば、 アクセスのモ一ドをプロテクトモードと チェックして正当なアクセスか否かを確認し (ステップ S 102, S 103)、 不 正なアクセスの場合は、 メモリアクセスを拒否する等のエラー処理 1を行う。 一 方、 正当なアクセスの場合、 アドレス変換部 156は、 ステップ S 100で取得 したエントリ中の物理ブロックアドレス 162を用いて、 プログラムから指定さ れた論理アドレスを物理アドレスに変換し(ステップ S 104)、その物理ァドレ スで特定される主記憶部 151の個所をアクセスする (ステップ S 105)。
プロテクトモード 163が NUL L (ステップ S 101でイエス) の場合、 ァ ドレス変換部 156は、 当該メモリアクセスの処理を一時保留し、 例外イベント をマッピングテ一ブル変更部 1 54に通知して例外処理を起動する (ステップ S 106)。 この例外ィベントでは、ステップ S 100で取得したェントリ中の物理 ブロックアドレス 162をマッピングテーブル変更部 154に通知する。
マッピングテーブル変更部 154は、 ステヅプ S 106に続いて、 アドレス変 換部 1 56から通知された物理ブロックアドレス 162で特定される不揮発性記 憶部 1 52のプロックを読み出して得られる論理ブロックの論理プロックァドレ ス 385で、 保護情報部 158を検索し、 図 6の論理ブロックアドレス 17 1が 一致するエントリの保護 性 172を取得する (ステップ S 107)。
次に、 変換済データ 395を展開して主記憶部 1 51の空きブロックにコピー する (ステップ S 108)。 ここで、 主記憶部 151を構成するブロックの内、 ど のブロックが空き状態で、 どのブロックが使用中かを管理する技術は、 主記憶部 151の各ブロック毎の使用状態を保持するテーブルで管理するなど、 従来から 知られている任意の方法を使用することができる。
更に、 マッピングテーブル変更部 154は、 図 4の論理ブロックアドレス 16 1が論理プロックアドレス 3 8 5に一致するェン卜リをマツビングテーブル部 1 5 7から検索し、 そのエントリの物理ブロックアドレス 1 1 2をステップ S 1 0 9におけるコピー先の主記憶部 1 5 1のブロックの物理ブロックアドレスに書き 換え、 かつプロテクトモード 1 6 3をそのブロック本来の保護属性 (読み込み専 用あるいは読み書き可能) に書き換える (ステップ S 1 0 9 )。
不揮発性記憶部 1 5 2から読み出した当該ブロックには、 総ブロック数 3 7 0 に記述されている個数分だけ論理ブロック分の変換済みデ一夕が保持されている。 従って、 総ブロック数 3 7 0の個数分だけ、 「保護情報部 1 5 8 (図 1 ) の検索、 データの展開、 物理メモリの割り当てと書き出してマッピングテーブルの更新」 という処理を繰り返す(ステップ S 1 0 9 )。総ブロック数 3 7 0に記述されてい る個数分の繰り返えし処理が終了 (ステップ S 1 1 0でノー) すると、 例外処理 の完了をアドレス変換部 1 5 6に通知する。 アドレス変換部 1 5 6は、 マツピン グテーブル変更部 1 5 4から例外処理の完了通知を受けると、 一時保留していた メモリアクセスの処理をステップ S 1 0 0から再度開始する。
(計算機システム 1 0 0の概略動作)
図 7は、 本実施形態における計算機システム 1 0 0の概略動作を示すフローチ ヤートである。 ここでは、 計算機システム 1 0 0の概略動作を図 6〜図 7を参照 して説明する。
本実施形態における計算機システム 1 0 0は、 起動されると、 前述したハード ウェア初期化部 1 5 3によって、 まずハードウェアの初期化を行う (ステップ S
2 0 1 )。本実施の形態の場合、 マッピングテーブル部 1 5 7および保護情報部 1 5 8は、 初期化済の状態で不揮発性記憶媒体の非変換部に含まれている。
初期化済みのマッピングテーブル部 1 5 7では、図 4のエントリ全てにおいて、 論理ブロックアドレス 1 6 1と物理ブロックアドレス 1 6 2は設定済であり、 プ ロテクトモード 1 6 3は、 非変換イメージデータである初期動作イメージ 2 2 4 に属するプロックのエントリではそのプロック本来の保護属性 (読み込み専用あ るいは読み書き可能) に設定され、 初期動作イメージ 2 2 4以外の起動直後ィメ ージ 2 4 2に属するブロックのエントリでは N U L Lに設定されている。 初期化 済みの保護情報部 1 5 8では、 図 5のエントリ全てにおいて、 論理ブロックアド レス 1 7 1と保護属性 1 7 2は設定済みである。
次に、 計算機システム 1 0 0は、 不揮発性記憶媒体の非変換部にある初期動作 イメージ 2 2 4からシステムを起動する(ステップ S 2 0 2 )。 この初期動作ィメ ージ 2 2 4は、 O Sやアプリケーションプログラムの起動直後と同じ状態である ため、 システムは立ち上げ直後の環境に復帰することになる。 このとき、 初期動 作イメージ 2 2 4から起動してからシステム運用 (ステップ S 2 0 3 ) が可能に なる迄の運用中断状態は存在しない。
システム運用 (ステップ S 2 0 3 ) の段階において、 あるブロックに対してプ ログラムから初めてのアクセスが発生したときには、 そこは N U L Lのプロテク トモード (保護モード) でマッピングされているので、 アドレス変換部 1 5 6が 例外イベントを通知し、 当該アクセスを一時保留する (図 6の S 1 0 6 )。 この例 外イベントを受け取ったマッピングテーブル変更部 1 5 4は、 保護情報部 1 5 8 を参照してそのアクセスされた論理ァドレスのプロックの属性を判断し (図 6の ステップ S 1 0 7 )、正当なアクセスであれば、空きブロックを主記憶部 1 5 1か ら割り当てて、 不揮発性記憶部 1 5 2の当該ブロックの内容を展開し、 不揮発性 記憶媒体の変換済部から当該ブロックのデータを取得してその内容を主記憶部 1 5 1に書き出す(図 6のステップ S 1 0 8 )。更に、 マッピングテーブル変更部 1 5 4は、 アクセスが発生した論理ブロックアドレスに本来の保護属性のプロテク トモ一ドでマッピングするようマッピングテーブル部 1 5 7に設定する。
当該物理プロックに複数の論理プロックの変換済データが含まれている場合は、 それぞれも同様な流れで展開した後、 一時保留されたアクセスの処理を図 7のス テツプ S 1 0 0から再開させる。 この結果、 一時保留されたアクセスおよびその 後の当該プロックへのアクセスは、 割り当てられた主記憶プロックに対して実行 される。 このとき、 ブロックの単位を小さくすることで展開時間が短くなり、 シ ステム運用が中断される時間を短くすることができる。
(計算機システム 1 0 0の起動:初期動作イメージ 2 2 4 )
次に、 初期動作イメージ 2 2 4について更に詳しく説明する。 本実施形態にお いては、 初期動作イメージ 2 2 4だけを使って計算機システム 1 0 0のシステム を起動している。 従って、 初期動作イメージ 2 2 4には、 計算機システム 1 0 0 のシステムの起動に最小限必要な O Sのプログラムが含まれていなければならな い。 反対に、 無くてもシステムの起動が支障なく行える O Sの付加的な機能を実 現するためのプログラムや、 アプリケーションプログラムは、 初期動作イメージ
2 2 4に含まれていなくて良い。
又、 これまでの説明から明らかなように、 図 6の処理 (アドレス変換部 1 5 6 およびマッピングテーブル変更部 1 5 4での処理) を実現するためのプログラム 及データが計算機システム 1 0 0上に存在しないと、 システムの起動後、 処理が 立ち行かなくなってしまう。 従って、 マッピングテーブル変更部 1 5 4をはじめ とする O Sの例外処理ハンドラ、 ハ一ドゥエァ管理のためのデバイスドライバ、 マッピングテーブル部 1 5 7及び保護情報部 1 5 8の一部は、 少なくとも、 変換 されていない初期動作イメージ 2 2 4に含まれている必要がある。
このように、 本実施形態 1に於いては、 ある物理ブロックからの読み出しは 1 度しか起こらず、 また、 展開する際に、 2つ以上の物理ブロックから読み出す必 要がなくなるという効果が得られる。 1
(計算機システム 1 0 0の具体例)
図 8に、 本第 1実施形態における計算機システム 1 0 0の具体例 (計算機シス テム 2 0 0 ) を示す。
不揮発性記憶部 1 5 2には、 変換済イメージデータ 2 9 0 (図 2参照) とデー 夕変換されていない初期動作イメージ 2 2 4 (図 2参照)が予め記憶されている。 初期動作イメージ 2 2 4には、 図 1のマッピングテーブル部 1 5 7及び保護情報 部 1 5 8が初期状態で含まれ、 又マッピングテーブル変更部 1 5 4が O S 2 0 5 の一機能として含まれている。
主記憶部 1 5 1と不揮発性記憶部 1 5 2で構成される主記憶装置 1 0 1は、 C P U 2 0 1にメモリバス 2 0 2を通じて接続されており、 アドレス変換部 1 5 6 は C P U 2 0 1に内蔵されている。 C P U 2 0 1には、 他のハードウェア 2 0 9 と記憶装置 2 0 3とが接続されており、 記憶装置 2 0 3には B I 0 S 2 0 7が設 けられている。 B I O S 2 0 7には I P L 2 0 4が内蔵されている。
図 9に主記憶装置 1 0 1に割り当てられた物理プロックアドレスの割り当て例 を示す。実際には数多くのブロックが物理プロックアドレスに割り当てられるが、 図示した例は本発明の理解を容易にするためにブロック数を極めて小さくしてあ る。 この主記憶部 1 51には 0〜20の物理ブロックアドレスが割り当てられ、 不揮発性記憶部 152には 21〜 30の物理プロックアドレスが割り当てられて いる。
図 10に、 OS 205が有する保護情報部 1 58の内容例を示す。 この図 10 における保護情報部 158ではブロック数を小さくして開示したが、 実際には数 多くのブロックが存在する。 この図 10において、 論理ブロックアドレス 0〜2 の各ブロックの保護属性は読み込み専用 (R) に、 論理ブロックアドレス 3〜6 の各ブロックの保護属性は読み書き可能 (RW) になっている。 又、 図 1 1 (a) (b) に、 マッピングテーブル変更前後のマッピングテーブル部 1 57の例を、 それぞれ示す。
(マッピングテーブル部 157の初期状態)
図 1 1 (a) には、 〇 S 205が有する初期状態のマツピングテーブル部 1 5 7の例を示す。 この図 1 1 (a) にし示すマッピングテーブル部 157ではブロ ック数を小さくして開示したが、 実際には数多くのブロックが存在する。 この図 1 1 (a) に示すように、 マッピングテーブル部 1 57の初期状態は、 0〜6の 論理ブロックアドレスに対して、 不揮発性記憶部 1 52の物理ブロックアドレス 21〜25 (図 9)が対応付けられている。物理ブロックアドレス 21〜25 (図 9) の 5つの物理ブロックのうち、 物理ブロックアドレス 21〜22の 2つの物 理ブロックが初期動作イメージ 224である。従って、論理ブロックアドレス 0,
1に対応する各物理ブロックの保護モード (プロテクトモード) には、 本来の保 護属性が初期設定されている。
これに対し、 初期動作イメージ 224以外の起動直後イメージ 242の変換済 イメージデータに属する論理プロックアドレス 2〜 6の本来の保護属性は、 それ ぞれ R, RW, RW, RW, RWであるが (図 10参照)、 運用開始後に初めてァ クセスがあった際に保護属性違反をわざと起こして例外処理を起動するため、 す ベて N U L Lの保護モードが初期設定されている。
この図 1 1 (a) の初期の (変更前の) マッピングテーブルを更に具体的に説 明するために、 図 12に不揮発性記憶部 152に含まれる初期動作イメージ 22 4 (図 8 ) と変換済イメージデータ 2 9 0 (図 8 ) の内容例を示す。 この図 1 2 を参照すると、 物理ブロックアドレス 2 1, 2 2は、 既に図 1 1 ( a ) において 説明したとおり、 初期動作イメージ 2 2 4となっており、 この部分は圧縮や暗号 化などのデータ変換は施されていない。
また、 図 1 2の例では物理、 論理とも、 ブロックサイズは 4 0 9 6バイトであ る。 更に、 物理ブロックアドレス 2 3には 2つの論理ブロックアドレスの変換済 みデ一夕が含まれている。 1つは図 1 1 ( a ) に示す論理ブロックアドレス 「2」 のデータであり、 データ変換処理によって 7 0 0パイトのデ一夕になっている。 もう一つは図 1 1 ( a ) に示す論理ブロックアドレス 「4」 のデータであり、 何 れもデータ変換処理によって 3 3 0 0バイトのデータになっている。 更に、 物理 ブロックアドレス 2 4にも 2つの論理プロックアドレスの変換済みデータが含ま れている。それぞれ、論理ブロックアドレス「3」の 1 0 0 0バイ卜のデータと、 論理ブロックアドレス 「6」 の 2 5 0 0バイトのデータである。
これら物理ブロックアドレス 2 3と 2 4の間には 7 8バイ卜の空き空間が存在 し、 ブロックサイズを越えないように複数ブロックをまとめてある。 これは、 複 数ブロックを連続してまとめることによってブロックサイズを越えることを回避 し、 例外イベント処理の際に、 2つの物理ブロックを読み出して T L Bエントリ を 2つ使用することを回避するためである。
尚、 図 1 2には論理ブロック 5は図示されていないが、 その理由は、 論理プロ ック 5が物理ブロック 2 1〜2 4以外に割り当てられているためである。
(計算機システム 2 0 0の詳細な動作 (マッピングテーブルの変更を含む)) 以下、 図 6〜図 7および図 1 0〜図 1 1 ( a ) ( b ) を参照して、 上述した計算 機システム 2 0 0の詳細な動作について説明する。
まず、 図 7のステップ S 2 0 1において、 計算機システム 2 0 0は、 起動され ると前述した主記憶部 1 5 1のクリア等のハ一ドウエアの初期化を行う。 このと き、 初期動作イメージ 2 2 4には、 初期設定済のマッピングテーブル部 1 5 7の データ及ぴ保護情報部 1 5 8のデータ含まれているため、 計算機システム 2 0 0 上において自動的にマッピングテーブル部 1 5 7のデータが図 1 1 ( a ) のよう に設定され、 また図 1 0に示したような状態の保護情報部 1 5 8のデータが設定 されることになる。 更に、 初期動作イメージ 224には、 マッピングテーブル変 更部 1 54の機能が含まれているため、 その機能の利用が可能となる。
次に、 図 7のステップ S 202において、 CPU 201が、 初期動作イメージ 224からシステムを起動する。 具体的には、 I PL 204が CPU20 1内の プログラムカウンタにシステムの運用を開始する際に最初に実行する命令の論理 アドレスを設定し、 その命令から実行を開始させることにより、 システムの運用 を開始させる。 最後に、 図 7のステップ S 203において、 CPU20 1上で実 行されるプログラムが主記憶部 1 51をアクセスし、システム運用が行なわれる。 システム運用動作については、 例として以下のようなアクセスを想定する。 (1) 論理ブロックアドレス 「2」 を持つ論理アドレスへの最初の読み出しァク セス。
(2) 論理ブロックアドレス 「2」 を持つ論理アドレスへの 2回目以降の読み出 しアクセス。
(3) 論理ブロックアドレス 「2」 を持つ論理アドレスへの読み出しアクセスの 後の、 論理ブロックアドレス 「4」 を持つ論理アドレスへの書き込みアクセス。
(4) 論理ブロックアドレス 「1」 を持つ論理アドレスへの読み出しアクセス。 以下、 図 6に基づいて計算機システム 200のシステム運用動作について説明 する。
(1). 先ず、 論理ブロックアドレス 「2」 (図 10、 図 1 1 (a)) を持つ論理 アドレスへの最初の読み出しアクセスが発生した際の動作を説明する。
この場合、 アドレス変換部 156は、 論理ブロックアドレス 「2」 でマツピン グテ一ブル部 1 57を検索し、 図 1 1 (a) 中の 「論理ブロックアドレス 2、 物 理ブロックアドレス 23、 保護モード (プロテクトモード) NULL」 のェント リを取得する (図 6のステップ S 100)。
この時、保護モードが NULLであるので(図 6のステップ S 101でイエス)、 当該メモリアクセスの処理を一時保留し、 例外イベントをマッピングテーブル変 更部 1 54に通知して例外処理を起動する (図 6のステップ S 106)。 このマツ ピングテーブル変更部 1 54は、 論理ブロックアドレス 「2」 で保護情報部 15 8を検索し、 図 1 1 (a) の論理ブロックアドレス 2を持つエントリの保護モー ド(プロテクトモード)の保護属性「R」を取得する(図 6のステップ S 107)。 続いて、 論理ブロックアドレス 「2」 に対応する物理ブロック 「23」 で特定さ れる ROM (不揮発性記憶部 1 52) の当該ブロックから 700バイ卜のデータ (図 12) を読み出して RAM上に展開を行ない、 4096バイトのデ一タを主 記憶 151上の空いている物理ブロック (「13」 が割り当てられたとする) に書 き出す (図 6のステップ S 108)。
次に、 マッピングテ一ブル変更部 154は、 図 1 1 (b) に示されるように論 理ブロックアドレス 「2」 を持つエントリ中の不揮発性記憶部 1 52上の物理ブ ロックアドレス 「23」 を、 主記憶部 (RAM) 1 51上の物理ブロックァドレ ス 「13」 に書き換え、 保護モードを NULLから Rに書き換える (図 6のステ ップ S 109)。
更に、 当該物理ブロック (変更前は 「23」、 変更後も 「23」) には複数の論 理ブロックが変換されたデータを含んでいるので、 例外イベントが発生した変更 前の物理ブロックアドレス 「23」 以外の論理ブロックのデ一夕に対しても展開 及び物理ブロックの割り当てとデータの書き出し、 マッピングテーブルの更新を 行なう。 つまり、 論理ブロック 「4」 を保護情報部から探して (図 6のステップ S 1 07)、 3700バイトのデ一夕を展開して 4096バイトのデ一夕として主 記憶部 151の空いている物理ブロック (「14」 が割り当てられたとする) に書 き出し (図 6のステップ S 108)、 マッピングテーブル変更部 154が、 図 1 1 (b) に示されるように論理ブロックアドレス 「4」 を持つエントリの ROM上 の物理ブロックアドレス「23」を RAM上の物理アドレス「14Jに書き換え、 これのよって、 保護モード (プロテクトモード) を NULLから RWに書き換え る (図 6のステップ S 109)。
物理ブロックに含まれる全ての論理ブロックの展開と主記憶部 151への書き 出し及びマッピングテーブル部 157の更新が終わった後、 例外処理の完了をァ ドレス変換部 156に通知する (図 6のステップ S 1 10)。
アドレス変換部 1 56は、 マッピングテーブル変更部 154から例外処理の完 了通知を受けると、 一時保留していたメモリアクセスの処理を図 6のステップ S 100から再開する。 そして、 このアドレス変換部 1 56は、 論理ブロックアド レス 「2」 でマッピングテーブル部 1 57を検索すると、 マッピングテ一ブル部 157は図 1 1 (a) の状態から図
1 1 (b) の状態に更新されているので、 今度は 「論理ブロックアドレス 2、 物 理ブロックアドレス 13、 プロテクトモード R」 のエントリを取得する (図 6の ステップ S 100)。
続いて、 アドレス変換部 156は、 プログラムから指定されたメモリアクセス が、 プロテクトモ一ドが Rであり (図 6のステップ S 10 1でノー)、 読み込みァ クセスなので (図 6のステップ S 102でノー)、 保護違反なしと判断し、 取得し たエントリ中の主記憶部 1 51上の物理ブロックアドレス 「13」 を用いて、 プ ログラムから指定された論理ァドレスを物理ァドレスに変換し (図 6のステップ S 104)、その物理アドレスで特定される当該主記憶部 1 5 1の個所をアクセス して読み出し、 プログラムに値を返却する (ステップ S 105)。
このように、 システムの運用開始後、 保護属性が NULLのブロックに対して 最初のアクセスが発生した場合、 そのブロックのデータが ROM (不揮発性記憶 部 152)から読み出されて展開されて RAM (主記憶部 1 5 1)に書き出され、 データが読み込まれる。 ここでは、 読み込みを例にしたが、 書き出しアクセスの 場合も同様である。
(2). 次に、 論理ブロックアドレス 「2」 を持つ論理アドレスへの 2回目以降 の読み込みアクセスが発生した場合の動作を説明する。
アドレス変換部 1 56は、 論理ブロックアドレス 「2」 でマッピングテーブル 部 157を検索すると、 マッピングテーブル部 157は図 1 1 (a) の状態から 図 1 1 (b) の状態に更新されているので、 主記憶部 151内で 「論理ブロック アドレス 2、 物理ブロックアドレス 13、 保護モード R」 のエントリを取得する (図 6のステップ S 100)。
続いて、 アドレス変換部 156は、 プログラムから指定されたメモリアクセス が、 保護モードが 「R」 であり (図 6のステップ S 101でノー)、 読み込みァク セスなので(図 6のステップ S 102でノー)、取得した RAM (主記憶部 1 51) 内の物理ブロックアドレス 「1 3」 を用いて、 プログラムから指定された論理ァ ドレスを物理アドレスに変換し(図 6のステップ S 104)、その物理ァドレスで 特定される主記憶部 1 5 1の個所をアクセスして読み込み、 プログラムに値を返 却する (図 6のステップ S 1 0 5 )。
このように、 システムの運用開始後、 初期動作イメージ 2 2 4以外の起動直後 イメージ 2 4 2に属するブロックに対して 2回目以降のアクセスが発生した場合、 初回のような展開及び物理ブロックの割り当て動作は最早必要ないため、 主記憶 部 1 5 1上に存在するデータが直ちに更新される。
( 3 ) . 次に、 論理ブロックアドレス 「4」 を持つ論理アドレスへの書き出しァ クセスが発生した場合の動作を説明する。
アドレス変換部 1 5 6は、 プログラムから指定された論理ブロックアドレス 「4」 でマッピングテーブル部 1 5 7を検索し、 図 1 1 ( b ) に示すように、 R AM (主記憶 1 5 1 ) 内で 「論理ブロックアドレス 「4」、 物理ブロックアドレス 「1 4」、保護モード「RW」のエントリを取得する(図 6のステップ S 1 0 0 )。 既に保護モードは 「N U L L」 から 「RW」 に変更されているので (図 6のス テツプ S 1 0 2でノ一)、アドレス変換部 1 5 6はプログラムから指定されたメモ リアクセスが書き込みアクセスであり (ステップ S 1 0 2でイエス)、保護モード が「RW」 (図 6のステップ S 1 0 3でイエス) なので、 取得したエントリ中の物 理ブロックアドレス 「1 4」 を用いて、 プログラムから指定された論理アドレス を物理アドレスに変換し(図 6のステップ S 1 0 4 )、その物理アドレスで特定さ れる主記憶部 1 5 1の個所をアクセスし、 プログラムから渡されたデ一夕を書き 込む (図 6のステップ S 1 0 5 )。
このように、 既に論理ブロックアドレス 「2」 の例外処理時に、 論理ブロック アドレス 「4」 の展開処理も行なわれているため、 論理ブロックアドレス 「4」 に対する最初のアクセス発生時にも例外イベントは発生せずにメモリアクセスが 実行される。 既に例外イベントを発生した論理ブロックに含まれていたその他 の論理ブロックのデータに関しても同様であり、 つまり、 変換済データを含むと ある物理ブロックに対する読み込みと展開の処理は一度しか行なわれない。
( 4 ) . 最後に、 論理ブロックアドレス 「1」 を持つ論理アドレスへの読み出し アクセスが発生した場合の動作を説明する。 .
アドレス変換部 1 5 6は、 プログラムから指定された論理ブロックアドレス 「1」 でマッピングテーブル部 1 5 7を検索し、 図 1 1 ( b ) の 「論理ブロック アドレス 「1」、 物理ブロックアドレス 「2 2」、 保護モード 「R」 のエントリを 取得する (図 6のステップ S 1 0 0 )。
このエントリの保護モードが 「N U L L」 ではなく 「R」 なので (図 6のステ ップ S 1 0 1で N O)、 アドレス変換部 1 5 6は、 プログラムから指定されたメモ リアクセスが読み出しアクセスであるため(図 6のステップ S 1 0 2で N〇)、取 得したエントリ中の物理ブロックアドレス 「2 2」 を用いて、 プログラムから指 定された論理アドレスを物理アドレスに変換し(図 6のステップ S 1 0 4 )、その 物理アドレスで特定される主記憶部 1 5 1の個所をアクセスし、 読み出したデー タをプログラムに返却する (図 6のステップ S 1 0 5 )。
このように、 初期動作イメージ 2 2 4のブロックに対し、 プグラムが指定した 読み込みアクセスでは、 例外イベントが発生しない。
以上のように、 上記第 1の実施形態によれば、 ある物理ブロックからの読み出 しは 1度しか起こらず、 また、 展開する際に、 2つ以上の物理ブロックから読み 出す必要がなくなるという効果が得られる。 更に、 この第 1の実施形態では、 起 動直後イメージ 2 4 2をデータ変換して不揮発性記憶部 1 5 2に保持したが、 こ の方式は起動時間の短縮化以外の目的にも使用できる。 例えばファイルシステム を、 不揮発性記憶部 1 5 2に圧縮や暗号化するなどして保持する場合にも利用可 能である。
(第 2の実施形態)
上述した第 1の実施の形態では、 マッピングテーブル 1 5 7の更新の際に保護 情報部 1 5 8を使っていたが、 図 1 3に示すように、 変換済データ内で各論理ブ ロックの本来のプロテクトモード (保護モード) を保持している場合には、 図 1. における保護情報部 1 5 8を参照しなくてよい。
この場合、 この第 2の実施形態のおける計算機システムの構成は、 以下の如く なる。 即ち、 プログラムを格納する不揮発性記憶部 1 5 2と、 前記プログラムを 不揮発性記憶部 1 5 2から受け取る主記憶部 1 5 1と、 これら揮発性記憶部 1 5 2および主記憶部 1 5 1に格納されたプログラムを管理するメモリ管理部(O S ) を含むデータ処理装置 1 0 2とを備えている。この内、前述したメモリ管理部が、 プログラムからのメモリアクセスがあった場合に作動し論理ブロックァドレスか ら物理プロックアドレスに変換するアドレス変換部と、 このァドレス変換部の情 報を保持するマッピングテーブル部と、 例外発生時に前記マッピングテーブル部 のエントリを更新するマッピングテーブル変更部とを備えた構成とする。そして、 前述したマッピングテーブル部が、 前記変換済データ内に各論理ブロックの本来 のプロテクトモード (保護モード) を保持していることを特徴とする。
このように、 本第 2の実施形態では、 前述した第 1の実施の形態でマッピング テーブル 1 5 7の更新の際に保護情報部 1 5 8を使っていたが、 図 1 3に示すよ うに、変換済データ内で各論理ブロックの本来のプロテクトモ一ド(保護モード) を保持している場合には、 保護情報部 1 5 8を参照しなくてよい。
即ち、 本第 2の実施形態では、 この図 1 3に示す保護モード (プロテクトモー ド) 3 9 0を参照して、 前述したマッピングテーブル 1 5 7の保護モード (ブロ テクトモ一ド) 1 6 3を更新する。 従って、 この場合には、 図 1の計算機システ ム 1 0 0において保護情報部 1 5 8が省略され、 図 6の例外イベント処理の際の ステップ S 1 0 7が省略される。 図 1 3の例の変換済データ部分は、 保護情報属 性 (保護モード属性) を含んだものとなり (図 1 4 )、 データ処理の効率を高める ことができ、 システムの高速化が高められる。
この第 2の実施形態でも、 前述した第 1の実施形態の場合と同様に、 ある物理 ブロックからの読み出しは 1度しか起こらず、 また、 展開する際に 2つ以上の物 理ブロックから読み出す必要がなくなる。 このとき、 前述した第 1の実施形態と は異なり、 変換済デ一夕に保存されているプロテクトモードの情報からマツピン グテーブル 1 5 7の保護モード 1 6 3を更新するため、 保護情報部 1 5 8が必要 ない。
ここで、 前述した計算機システムにおいては、 不揮発性記憶部 1 5 2の所定サ ィズの物理アドレスに格納した複数のプログラムには、 それぞれ主記憶部 1 5 1 の物理アドレスに対応した論理アドレス, 総論理アドレス数, プログラムデータ サイズ, 及び保護モードを記入するように構成してもよい。 (第 3の実施形態)
前述した第 1の実施形態では、 各論理ブロックのデータを変換した後の大きさ が、 物理ブロックの大きさ (図 1 4の場合は 4 0 9 6バイト) よりも小さくなる ために、 1つの物理プロックに複数の論理プロックを格納することが出来た。 この第 3の実施形態では、 データを変換した後のサイズが元の 4 0 9 6パイト よりも大きくなることに対処する。 この場合、 図 1 5に示すように、 複数の論理 ブロックをまとめる大きさを、元々の物理ブロックサイズの任意の整数倍とする。 図 1 5の例では 1 6 3 8 4バイト (元々の 4倍) である。
このため、 当該ブロックに対して始めてのアクセスが発生して例外イベントが 呼び出されると、 マッピングテーブルに記入されている物理ブロックアドレスか ら始まって 4ブロック分のデータが読み出されて、 3つの論理ブロックに展開さ れる (変換処理を施されたデ一夕に対して逆変換を行なうことで元のデータに戻 すことが可能であり、 この逆変換処理のことを 「展開」 と称する)。
起動直後イメージ 2 4 2の各論理ブロックのデータを変換処理してまとめると きにも、 変換後のデータサイズを吟味しながら、 適切なブロックサイズを選択し てまとめることを行なう。 このとき、 決定したブロックサイズ (1 6 3 3 8バイ ト) の境界を跨がないようにして、 次のブロックの作成を開始する。 図 1 5の例 では、 5 8バイト分のデータ無しの空き領域が存在する。 ここで、 論理ブロック をまとめる際の物理プロックサイズは 1つのシステムで固定サイズではなくても 良い。 即ち、 まとめるブロックサイズは物理ブロックサイズの任意の整数倍であ ればよく、 2倍、 3倍、 4倍、 5倍などが物理ブロックに応じて変動してもよい。 この第 3の実施形態においては、 データ変換によってデータサイズが本来の物 理ブロックサイズよりも大きくなつた場合にも、 前述した第 1の実施の形態と同 様に、 ある物理ブロックからの読み出しは 1度しか起こらないという効果が得ら れる。
(第 4の実施形態)
この第 4の実施形態における計算機システムにあっては、 前述した不揮発性記 憶部に格納された所定のデータ変換が施された前記プログラムに対して、 一定時 間間隔で、 更に別内容の所定のデータ変換を施すようにした点に特徴を有する。 即ち、 前述した第 3の実施の形態では、 変換済データの展開後は、 そのままデ 一夕を利用し続けていた。 一方、 この第 4の実施形態では、 主記憶部 1 5 1上に 展開されたデータに対して、 再度、 デ一夕変換処理を施すことを行なう。 例えば 主記憶部 1 5 1上にあるデータを暗号化して保持したい場合などは、 一定時間間 隔でデ一夕の再暗号化を施す。
図 1 6に.、 この第 4実施形態における再変換処理のフローチャートを示す。 こ の場合、 実際の動作は、 まず、 マッピングテーブル部を検索して再変換できるブ ロックのエントリを探す(ステップ S 3 0 0 )。再変換できるブロックがなかった 場合 (ステップ S 3 0 1でノー) は終了となる。
一方、 再変換できるブロックがあった場合(ステップ S 3 0 1でイエス)、 その 論理ブロックを再変換処理してバッファ (図示せず) に貯える (ステップ S 3 0 2 )。そして、 既にバッファにある変換済みデータと併せて、 ブロックサイズを越 えるようであれば(ステップ S 3 0 3で、 イエス)、 当該ブロックの再変換データ を破棄し、 次のエントリを探す。 これに対し、 既にバッファにある変換済みデー 夕と併せてもブロックサイズを越えなければ(ステップ S 3 0 3でノー)、 当該ブ ロックのマッピングテーブルを更新する (ステップ S 3 0 4 )。
又、 前述したバッファの空き容量が小さくなつた場合 (ステップ S 3 0 5で、 イエス)、主記憶部 1 5 1の空き領域に書き出す(ステップ S 3 0 6 )。このとき、 バッファに貯えられたいずれかのプロックの物理プロック上に上書きすることも 可能である。 尚、 前述したバッファから書き出す判断のアルゴリズムは、 本第 4 の実施形態ではバッファの空き容量が小さくなった場合としたが、 既にある任意 のァルゴリズ.ムを使ってよい。
次に、 この第 4実施形態におけるマツピングテーブルの変更に付いて一例を挙 げて説明する。 図 1 7 ( a ) は、 コンピュータ 2 0 0が保持している初期化時(変 更前) のマッピングテーブルの状態である。 今、 論理ブロックアドレス 3のデー タを再変換処理し、 図 1 8のように 9 0 0バイトの変換済データがバッファに貯 えられたとする。
次に、 論理ブロックアドレス 4のデータを再変換処理してバッファに貯える。 これによつて、 3 9 0 0バイ卜の変換済データとなったため、 図 1 8に示す総ブ ロック数 2、 データサイズ 9 0 0、 論理ブロックアドレス 3、 及び、 デ一夕サイ ズ 3 0 0 0、 論理ブロックアドレス 4、 の一連の管理データを書き込んで、 主記 憶部 1 5 1上に書き出す。
このとき、 図 1 7 ( b ) に示すように、 論理ブロックアドレスが使用していた 主記憶部 1 5 1上の物理ブロックアドレス 1 5に書き出すので、 論理ブロックァ ドレス 3及び 4の物理ブロックアドレスを 1 5に変更し、 保護モード (プロテク トモ一ド) を NU L Lに変更する。
このように、 上記第 4の実施形態によれば、 一定時間ごとにデータ変換処理が 行なわれるため、 デ一タを主記憶部 1 5 1上にそのままの形で展開し続けること がなくなり、データを盗み見られたときなどの際の安全性を高めることができる。 (本実施形態における計算機システムのメモリ管理方法)
次に、 本実施形態における計算機システムのメモリ管理方法を、 添付図面に基 づいて説明する。
本実施形態における計算機システムのメモリ管理方法は、 不揮発性記憶部 1 5 2に格納されたプログラムを主記憶部 1 5 1に転送するように構成された計算機 システムのメモリ管理方法において、 不揮発性記憶部 1 5 2に、 前記プログラム に所定のデータ変換を施したものと前記プログラムに所定のデータ変換を施さな いものとを格納する第 1のステップと、 計算機システムの起動後に、 O S及びァ プリケーシヨンのメモリアクセスを契機に作動し前述した不揮発性記憶部 1 5 2 に格納されているプログラムの内の所定のデータ変換を施したプログラムを主記 憶部 1 5 1に転送して当該所定のデータ変換の逆変換を施す第 2のステップと、 不揮発性記憶部 1 5 2に格納されたプログラムの物理アドレスを主記憶部 1 5 1 の物理アドレスに変更する第 3のステップと、 前述した不揮発性記憶部 1 5 2に 格納された前記プログラムに割り当てられた所定容量の 1つの物理ァドレスを含 むブロック内のデ一夕の展開のために複数の論理ブロック分の容量を割り当てる 第 4のステップとを備えている。
このように構成すると、 前述した第 1の実施形態の場合と同等の効果を奏する 計算機システムのメモリ.管理方法を提供することができ、 同時に、 前述した計算 機システムにかかる発明を上記手順をもって効率良く且つ確実に実施し得るとい う効果を奏する。
ここで、 本実施形態では、 上述した第 1のステップと第 2のステップの間に、 前述した不揮発性記憶部 1 5 2に格納されプログラムに所定のデータ変換が施さ れたものに対し一律に保護モード N U L Lを設定するステップを設けるようにし てもよい。
又、 本実施形態では、 この計算機システムのメモリ管理方法において、 前述し た不揮発性記憶 ¾5 1 5 2の所定サイズの物理アドレスに格納した複数のプロダラ ムに対して、 それぞれ前記主記憶部 1 5 1の物理アドレスに対応する論理アドレ ス, 総論理アドレス数, 及びプログラムデータサイズを記入するステップを前述 した第 1のステップに併設するように構成するようにしてもよい。
更に、 本実施形態では、 この計算機システムのメモリ管理方法において、 前述 した不揮発性記憶部 1 5 2の所定サイズの物理アドレスに格納した複数のプログ ラムに対して、それぞれ主記憶部 1 5 1の物理アドレスに対応する論理アドレス, 総論理アドレス数, プログラムデータサイズ, 及び保護モード (プロテクトモー ド) を記入するステップを、 前述した第 1のステップに併設してもよい。 また、 前述した不揮発性記憶部 1 5 2に格納されたプログラムの内の所定のデータ変換 が施されたプログラムを対象として一定時間間隔で別内容の所の定変換を施すス テツプを、 前述した第 1のステップに併設してもよい。
尚、 上記した計算機システムのメモリ管理方法についての具体的な内容につい ては、 前述した第 1乃至第 4の各実施形態内で詳述した。
(本実施形態における計算機システムのメモリ管理プログラム)
次に、 本実施形態における計算機システムのメモリ管理プログラムを、 添付図 面に基づいて説明する。
本実施形態における計算機システムのメモリ管理プログラムは、 不揮発性記憶 部 1 5 2に格納されたプログラムを主記憶部 1 5 1に転送するように構成された 計算機システムの動作を制御するコンピュータに、 前述した不揮発性記憶部 1 5 2に対してプログラムに所定のデータ変換を施したものとプログラムに所定のデ —夕変換を施さないものとを格納する手順と、 システムの起動後に O S及びアブ ¾4 リケーシヨンのメモリアクセスを契機に作動し前述した不揮発性記憶部 1 5 2に 格納されているプログラムの内の所定のデータ変換を施したプログラムを主記憶 部 1 5 1に転送して当該所定のデータ変換の逆変換を施す手順と、 前記不揮発性 記憶部 1 5 2に格納されたプログラムの物理ァドレスを主記憶部 1 5 1の物理ァ ドレスに変更する手順と、 前記不揮発性記憶部 1 5 2に格納されたプログラムに 割り当てられた所定容量の 1つの物理ァドレスを含むブロック内のデータの展開 ために複数の論理アドレス分の容量を割り当てる手順と、 をコンピュータに実行 させるためプログラムである。 このように構成すると、 前述した第 1の実施形態 の場合と同等の効果を奏する計算機システムのメモリ管理プログラムを提供する ことができる。
ここで、 本実施形態では、 前述した計算機システムのメモリ管理プログラムに おいて、 前述した不揮発性記憶部 1 5 2に格納されプログラムに所定のデータ変 換が施されたものには対して一律に保護モード N U L Lを設定する手順を、 前記 コンピュータが実行し得るように組み込んでもよい。
又、 本実施形態では、 前述した計算機システムのメモリ管理プログラムにおい て、 前述した不揮発性記憶部 1 5 2の所定サイズの物理アドレスに格納した複数 のプログラムに対して、 それぞれ主記憶部 1 5 1の物理アドレスに対応する論理 アドレス, 総論理アドレス数, 及びプログラムデータサイズを又はこれらと保護 モードとを記入する手順を、 前記コンピュータが実行し得るように組み込んでも よい。
更に、 本実施形態では、 前述した計算機システムのメモリ管理プログラムにお いて、 前述した不揮発性記憶部 1 5 2に格納されたプログラムの内の所定のデー 夕変換が施されたプログラムを対象として、 一定時間間隔で別内容の所の定変換 を施す手順を、 前記コンピュータが実行し得るように組み込んでもよい。
尚、 上記した計算機システムのメモリ管理プログラムに関する具体的な内容に ついては、 前述した第 1乃至第 4の各実施形態内で、 これと同等の内容を計算機 のメモリ管理システムにおける動作および機能として具体的に詳述した。
以上のように、 本発明によると、 データ変換されたブロックに含まれる全プロ ックのデータを、どれかのプロックの展開の際に一回で展開するようにしたので、 3δ
R〇 M等の不揮発性記憶部の 1つのブロックからは 1回しか読み出せないことと なりる。 これにより、 従来例 (背景技術) で生していた不都合 (2回以上読み出 すことがあり起動時間が長いという欠点) を確実に且つ効率よく改善することが できることとなった。 また、 本発明によれば、 不揮発性記憶媒体のデータを主記 憶部上に展開する場合に、 不揮発性記憶媒体の複数ブロックを読み出す必要がな く、 T L Bエントリも 1つしか使用しないことである。 その理由は、 変換された 不揮発性記憶媒体のデー夕が複錄のブロックにまたがって保存されることがない からである。 産業上の利用可能性
本発明は、 圧縮や暗号化などの変換処理を施したデータを不揮発性記憶媒体に 格納して動的に展開する用途に適用できる。 これによつて、 必要となる不揮発性 記憶媒体の容量を削減したり、 機密性の高い内容を不揮発性記憶媒体に格納して 利用できる。

Claims

請求の範囲
1 . 不揮発性記憶部と、 主記憶部と、 前記不揮発性記憶部および主記憶部 に格納されたプログラムを管理するメモリ管理部を含むデータ処理装置とを備え、 不揮発性記憶部に格納されたプログラムを主記憶部に転送する構成の計算機シス テムにおいて、
前記メモリ管理部が、
前記不揮発性記憶部に所定のデータ変換を施したプログラムと所定のデータ変 換を施さないプログラムとを格納するプログラム格納制御機能と、
前記プログラム格納制御機能の実行に際し、 所定のデータ変換を施したプログ ラムをプロックの境界を跨がないように組み合わせると共に、 或るプロックへの 最初のアクセスの際には当該ブロックに含まれる全てのデータを対応する前記主 記憶部のプロックへ展開する機能を備えることを特徴とした計算機システム。
2 . 不揮発性記憶部と、 主記憶部と、 前記不揮発性記憶部および主記憶部 に格納されたプログラムを管理するメモリ管理部を含むデータ処理装置とを備え、 不揮発性記憶部に格納されたプログラムを主記憶部に転送する構成の計算機シス テムにおいて、
前記メモリ管理部が、 前記不揮発性記憶部に前記所定のデータ変換を施したプ ログラムと所定のデータ変換を施さないプログラムとを格納するプログラム格納 制御機能と、
システム全体の起動後に〇 Sおよびアプリケーションのメモリアクセスを契機 に作動し前記不揮発性記憶部に格納されたプログラムを前記主記憶部に転送して これを逆変換するプログラム逆変換機能とを備え、
前記メモリ管理部は、 更に前記不揮発性記憶部に格納されたプログラムの物理 ァドレスを前記主記憶部の物理ァドレスに変更する物理ァドレス変更機能と、 前 記不揮発性記憶部に格納され前記プログラムに割り当てられた所定容量の 1つの 物理ァドレスを含むプロック内のデータの展開のために複数の論理プロック分の 容量を割り当てる容量割り当て機能とを備えることを特徴とする計算機システム。
3 . 不揮発性記憶部と、 主記憶部と、 前記不揮発性記憶部および主記憶部 に格納されたプログラムを管理するメモリ管理部を含むデータ処理装置とを備え、 不揮発性記憶部に格納されたプログラムを主記憶部に転送する構成の計算機シス テムにおいて、
前記メモリ管理部が、 プログラムからのメモリアクセスがあった場合に作動し 論理ブロックアドレスから物 aブロックアドレスに変換するアドレス変換部と、 このアドレス変換部の情報を保持するマッピングテーブル部と、 前記論理ブロッ クアドレスの本来の保護情報を保持する保護情報部と、 例外発生時に前記マツピ ングテーブル部のエントリを更新するマッピングテーブル変更部とを備えたこと を特徴とする計算機システム。
4. 不揮発性記憶部と、 主記憶部と、 これら揮発性記憶部および主記憶部 に格納されたプログラムを管理するメモリ管理部を含むデータ処理装置とを備え、 不揮発性記憶部に格納されたプログラムを主記憶部に転送する構成の計算機シス テムにおいて、
前記メモリ管理部を、 プログラムからのメモリアクセスがあった場合に作動し 論理プロックアドレスから物理プロックアドレスに変換するァドレス変換部と、 このアドレス変換部の情報を保持するマッピングテ一ブル部と、 例外発生時に前 記マツビングテーブル部のェントリを更新するマツビングテーブル変更部とを備 えた構成とし、
前述したマッピングテーブル部が、 前記変換済データ内に各論理ブロックの本 来のプロテクトモードを保持することを特徴とした計算機システム。
5 . 前記請求項 3又は 4に記載の計算機システムにおいて、
前記不揮発性記憶部には、 システム起動直後の前記主記憶のイメージに対して 所定の幅毎にデータ変換処理を施したデータが格納されており、
システム起動後に未取得状態の主記憶ブロックへのアクセスが発生した場合に は、 これに対応して前記アドレス変換部が例外処理を発生させる機能を有し、 前 記マッピングテーブル変更部が前記未取得の主記憶プロックに対応する不揮発性 記憶部のプロックに含まれる 1以上のブロックのデータを前記主記憶部上にそれ ぞれ対応する未取得ブロック展開して未取得状態を取得状態に変更する機能を備 えることを特徴とした計算機システム。
6 . 前記請求項 1又は 2に記載の計算機システムにおいて、
前記不揮発性記憶部に格納され所定のデータ変換が施された前記プログラムに 対しては一律に保護モード N U L Lを設定すると共に、 前記システム起動後の O S及びアプリケーションからの要求に基づいて、 前記不揮発性記憶部に格納され 前記プログラムに所定のデータ変換を施したものに対しては前記主記憶部上の物 理アドレスを割り当てることを特徴とした計算機システム。
7 . 前記請求項 2, 3, 4又は 5に記載の計算機システムにおいて、 前記不揮発性記憶部の所定サイズの物理ァドレスに格納した複数のプログラム には、 それぞれ前記主記憶部の物理アドレスに対応した論理アドレス, 総論理ァ ドレス数, 及びプログラムデ一夕サイズを記入することを特徴とした計算機シス テム。
8 . 前記請求項 2に記載の計算機システムにおいて、
前記不揮発性記憶部の所定サイズの物理アドレスに格納した複数のプログラム には、 それぞれ前記主記憶部の物理アドレスに対応した論理アドレス, 総論理ァ ドレス数, プログラムデータサイズ, 及び保護モードを記入することを特徴とし た計算機システム。
9 . 前記請求項 1乃至 8のいづれか一つに記載の計算機システムにおい て、
前記不揮発性記憶部の所定容量の物理ァドレスの複数個を 1単位とし、 この 1 単位内に、 複数の論理ァドレスに割り当てられた前記プログラムを収容するよう に構成したことを特徴とする計算機システム。 89
1 0 . 前記請求項 1乃至 9のいづれか一つに記載の計算機システムにおい て、
前記不揮発性記憶部に格納された所定のデータ変換が施された前記プログラム に対して、 一定時間間隔で、 更に別内容の所定のデータ変換を施すことを特徴と した請求項 1記載の計算機システム。
1 1 . 不揮発性記憶部に格納されたプログラムを主記憶部に転送するよう に構成された計算機システムのメモリ管理方法において、
前記不揮発性記憶部に、 前記プログラムに所定のデータ変換を施したものと前 記プログラムに所定のデータ変換を施さないものとを格納する第 1のステップと、 前記計算機システムの起動後に、 O S及びアプリケーションプログラムのメモ リクセスを契機に作動し前記不揮発性記憶部に格納されている前記プログラムの 内の所定のデータ変換を施したプログラムを前記主記憶部に転送して当該所定の データ変換の逆変換を施す第 2のステップと、
前記不揮発性記憶部に格納された前記プログラムの物理ァドレスを、 前記主記 憶部の物理アドレスに変更する第 3のステップと、
前記不揮発性記憶部に格納された前記プログラムに割り当てられた所定容量の 1つの物理ァドレスを含むブロック内のデータの展開のために複数の論理ブロッ ク分の容量を割り当てる第 3のステップとを含むことを特徴とした計算機システ ムのメモリ管理方法。
1 2 . 請求項 1 1に記載の計算機システムのメモリ管理方法において、 前記第 1のステップと第 2のステップの間に、 前記不揮発性記憶部に格納され 前記プログラムに所定のデータ変換が施されたものに対し一律に保護モード N U L Lを設定するステップを設けた'ことを特徴とする計算機システムのメモリ管理 方法。
1 3 . 請求項 1 1又は 1 2に記載の計算機システムのメモリ管理方法にお 4U いて、
前記不揮発性記憶部の所定サイズの物理ァドレスに格納した複数のプログラム に対して、 それぞれ前記主記憶部の物理アドレスに対応する論理アドレス, 総論 理アドレス数, 及びプログラムデ一タサイズを記入するステップを前記第 1のス テップに併設したことを特徴とする計算機システムのメモリ管理方法。
1 4 . 前記請求項 1 1又は 1 2記載の計算機システムのメモリ管理方法に おいて、
前記不揮発性記憶部の所定サイズの物理ァドレスに格納した複数のプログラム に対して、 それぞれ前記主記憶部の物理アドレスに対応する論理アドレス, 総論 理ァドレス数,プログラムデータサイズ,及び保護モードを記入するステップを、 前記第 1のステップに併設したことを特徴とする計算機システムのメモリ管理方 法。
1 5 . 前記請求項 1 1乃至 1 4のいずれか一つに記載の計算機システムの メモリ管理方法において、
前記不揮発性記憶部に格納されたプログラムの内の所定のデー夕変換が施され たプログラムを対象として一定時間間隔で別内容の所の定変換を施すステップを、 前記第 1のステップに併設したことを特徴とする計算機システムのメモリ管理方 法。
1 6 . 不揮発性記憶部に格納されたプログラムを主記憶部に転送するよう に構成された計算機システムの動作を制御するコンピュータに、
前記不揮発性記憶部に対して、 前記プログラムに所定のデータ変換を施したも のと前記プログラムに所定のデータ変換を施さないものとを格納する手順と、 前記システムの起動後に、 O S及びアプリケーションのメモリアクセルを契機 に作動し前記不揮発性記憶部に格納されている前記プログラムの内の所定のデー 夕変換を施したプログラムを前記主記憶部に転送して当該所定のデータ変換の逆 変換を施す手順と、 前記不揮発性記憶部に格納された前記プログラムの物理ァドレスを、 前記主記 憶部の物理ァドレスに変更する手順と、
前記不揮発性記憶部に格納された前記プログラムに割り当てられた所定容量の
1つの物理アドレスを含むブロック内のデータの展開のために複数の論理ブロッ ク分の容量を割り当てる手順と、 を実行させるためのメモリ管理プログラム。
1 7 . 前記請求項 1 6に記載のメモリ管理プログラムにおいて、
更に、 前記不揮発性記憶部に格納され前記プログラムに所定のデータ変換が施 されたものには対して一律に保護モード N U L Lを設定する手順、
及び前記計算機システムの起動後に発生する O S及びアプリケーションのメモ リアクセルを契機に作動し前記不揮発性記憶部に格納され前記プログラムに所定 のデータ変換を施したものに対しては前記主記憶部上の物理アドレスを割り当て る手順を、 前記コンピュータに実行させるためのメモリ管理プログラム。
1 8 . 請求項 1 6又は 1 7に記載のメモリ管理プログラムにおいて、
更に、 前記不揮発性記憶部の所定サイズの物理ァドレスに格納した複数のプロ グラムに対して、それぞれ前記主記憶部の物理アドレスに対応する論理ァドレス, 総論理アドレス数, 及びプログラムデータサイズを記入する手順を、 前記コンビ ユー夕に実行させるためのメモリ管理プログラム。
1 9 . 前記請求項 1 6又は 1 7に記載のメモリ管理プログラムにおいて、 前記不揮発性記憶部の所定サイズの物理ァドレスに格納した複数のプログラム に対して、 それぞれ前記主言 5憶部の物理アドレスに対応する論理アドレス, 総論 理アドレス数, プログラムデ一夕サイズ, 及び保護モードを記入する手順を、 前 記コンピュータに実行させるためのメモリ管理プログラム。
2 0 . 前記請求項 1 6, 1 7 , 1 8又は 1 9に記載のメモリ管理プログラムにお いて、
更に、 前記不揮発性記憶部に格納されたプログラムの内の所定のデータ変換が 施されたプログラムを対象として、 一定時間間隔で別内容の所の定変換を施す手 順、 を前記コンピュータに実行させるためのメモリ管理プログラム。
PCT/JP2006/307274 2005-03-31 2006-03-30 計算機システム、メモリ管理方法、およびそのプログラム WO2006107095A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP06731222A EP1873647A4 (en) 2005-03-31 2006-03-30 COMPUTER SYSTEM, MEMORY MANAGEMENT METHOD, AND CORRESPONDING PROGRAM
US11/909,883 US8930659B2 (en) 2005-03-31 2006-03-30 Computer system, memory management method and program thereof
JP2007511258A JP5071798B2 (ja) 2005-03-31 2006-03-30 計算機システム,メモリ管理方法,およびそのプログラム
US14/560,712 US9678862B2 (en) 2005-03-31 2014-12-04 Computer system, memory management method and program thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-104932 2005-03-31
JP2005104932 2005-03-31

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US11/909,883 A-371-Of-International US8930659B2 (en) 2005-03-31 2006-03-30 Computer system, memory management method and program thereof
US14/560,712 Division US9678862B2 (en) 2005-03-31 2014-12-04 Computer system, memory management method and program thereof

Publications (1)

Publication Number Publication Date
WO2006107095A1 true WO2006107095A1 (ja) 2006-10-12

Family

ID=37073628

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/307274 WO2006107095A1 (ja) 2005-03-31 2006-03-30 計算機システム、メモリ管理方法、およびそのプログラム

Country Status (6)

Country Link
US (2) US8930659B2 (ja)
EP (1) EP1873647A4 (ja)
JP (1) JP5071798B2 (ja)
CN (1) CN101180612A (ja)
TW (1) TW200707193A (ja)
WO (1) WO2006107095A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282252A (ja) * 2009-06-02 2010-12-16 Ubiquitous Corp プログラム、制御方法、並びに制御装置
JP2011258189A (ja) * 2010-06-09 2011-12-22 Micron Technology Inc プロセッサ・メインメモリのための持続性メモリ
JP2012098954A (ja) * 2010-11-02 2012-05-24 Fuji Xerox Co Ltd 情報処理装置及び記憶媒体
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
US9448938B2 (en) 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101180612A (zh) * 2005-03-31 2008-05-14 日本电气株式会社 计算机系统、存储器管理方法及其程序
US7685360B1 (en) 2005-05-05 2010-03-23 Seagate Technology Llc Methods and structure for dynamic appended metadata in a dynamically mapped mass storage device
US7916421B1 (en) * 2005-05-05 2011-03-29 Seagate Technology Llc Methods and structure for recovery of write fault errors in a dynamically mapped mass storage device
US8250350B2 (en) * 2008-08-26 2012-08-21 Texas Digital And Multimedia Systems Computer system with non-volatile write-protected memory based operating system and secure system architecture
US8527749B2 (en) * 2009-11-11 2013-09-03 International Business Machines Corporation User device, computer program product and computer system for system for secure network storage
JP2011107925A (ja) * 2009-11-17 2011-06-02 Ubiquitous Corp プログラム、制御方法、並びに制御装置
US20110289282A1 (en) * 2010-05-18 2011-11-24 Microsoft Corporation Sessions for Direct Attached Storage Devices
CN102088349B (zh) * 2010-12-27 2013-07-10 深圳市国民电子商务有限公司 一种智能卡个人化的方法及系统
TWI492051B (zh) 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
KR20140065196A (ko) * 2012-11-21 2014-05-29 삼성전자주식회사 메모리 시스템 및 그 구동 방법
US10565099B2 (en) * 2012-12-28 2020-02-18 Apple Inc. Methods and apparatus for compressed and compacted virtual memory
US20140310493A1 (en) * 2013-04-11 2014-10-16 International Business Machines Corporation Migrating data across storages with dissimilar allocation sizes
US10289307B1 (en) * 2014-12-30 2019-05-14 EMC IP Holding Company LLC Method for handling block errors on a deduplicated storage system
US10175894B1 (en) 2014-12-30 2019-01-08 EMC IP Holding Company LLC Method for populating a cache index on a deduplicated storage system
US20160291887A1 (en) * 2015-03-30 2016-10-06 Kabushiki Kaisha Toshiba Solid-state drive with non-volatile random access memory
KR102402783B1 (ko) * 2015-05-11 2022-05-27 삼성전자 주식회사 전자 장치 및 이의 페이지 병합 방법
JP6732684B2 (ja) 2017-03-15 2020-07-29 キオクシア株式会社 情報処理装置、ストレージデバイスおよび情報処理システム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04284551A (ja) * 1991-03-14 1992-10-09 Fujitsu Ltd 圧縮データを格納した読み出し専用メモリを備えた装置
JPH05324476A (ja) * 1992-05-21 1993-12-07 Oki Electric Ind Co Ltd ディスクキャッシュ装置
JPH08235329A (ja) * 1995-02-24 1996-09-13 Ricoh Co Ltd データ管理方法
JP2001092671A (ja) * 1999-09-24 2001-04-06 Hitachi Ltd プログラム実行最適化方法、プログラム管理装置およびプログラム実行装置
JP2001166945A (ja) * 1999-12-09 2001-06-22 Mitsubishi Electric Corp 半導体装置及び圧縮プログラムの生成方法
JP2002278781A (ja) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
JP2002318696A (ja) * 2001-04-23 2002-10-31 Mitsubishi Electric Corp プログラム実行装置および方法
JP2005010897A (ja) * 2003-06-17 2005-01-13 Nec Corp 計算機システム、計算機システム起動方法およびプログラム
JP2005018418A (ja) * 2003-06-26 2005-01-20 Konica Minolta Business Technologies Inc 画像形成装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940871A (en) * 1996-10-28 1999-08-17 International Business Machines Corporation Computer system and method for selectively decompressing operating system ROM image code using a page fault
US6332172B1 (en) * 1998-05-29 2001-12-18 Cisco Technology, Inc. Method and system for virtual memory compression in an embedded system
JP4411703B2 (ja) 1999-09-17 2010-02-10 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US7558958B2 (en) * 2002-06-13 2009-07-07 Microsoft Corporation System and method for securely booting from a network
GB2404748B (en) 2003-08-01 2006-10-04 Symbian Ltd Computing device and method
CN101180612A (zh) * 2005-03-31 2008-05-14 日本电气株式会社 计算机系统、存储器管理方法及其程序

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04284551A (ja) * 1991-03-14 1992-10-09 Fujitsu Ltd 圧縮データを格納した読み出し専用メモリを備えた装置
JPH05324476A (ja) * 1992-05-21 1993-12-07 Oki Electric Ind Co Ltd ディスクキャッシュ装置
JPH08235329A (ja) * 1995-02-24 1996-09-13 Ricoh Co Ltd データ管理方法
JP2001092671A (ja) * 1999-09-24 2001-04-06 Hitachi Ltd プログラム実行最適化方法、プログラム管理装置およびプログラム実行装置
JP2001166945A (ja) * 1999-12-09 2001-06-22 Mitsubishi Electric Corp 半導体装置及び圧縮プログラムの生成方法
JP2002278781A (ja) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
JP2002318696A (ja) * 2001-04-23 2002-10-31 Mitsubishi Electric Corp プログラム実行装置および方法
JP2005010897A (ja) * 2003-06-17 2005-01-13 Nec Corp 計算機システム、計算機システム起動方法およびプログラム
JP2005018418A (ja) * 2003-06-26 2005-01-20 Konica Minolta Business Technologies Inc 画像形成装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1873647A4 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282252A (ja) * 2009-06-02 2010-12-16 Ubiquitous Corp プログラム、制御方法、並びに制御装置
JP2011258189A (ja) * 2010-06-09 2011-12-22 Micron Technology Inc プロセッサ・メインメモリのための持続性メモリ
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US9075725B2 (en) 2010-06-09 2015-07-07 Micron Technology, Inc. Persistent memory for processor main memory
US9384134B2 (en) 2010-06-09 2016-07-05 Micron Technology, Inc. Persistent memory for processor main memory
US9448938B2 (en) 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
US9317450B2 (en) 2010-09-30 2016-04-19 Micron Technology, Inc. Security protection for memory content of processor main memory
JP2012098954A (ja) * 2010-11-02 2012-05-24 Fuji Xerox Co Ltd 情報処理装置及び記憶媒体

Also Published As

Publication number Publication date
US20090158000A1 (en) 2009-06-18
EP1873647A1 (en) 2008-01-02
JPWO2006107095A1 (ja) 2008-10-02
CN101180612A (zh) 2008-05-14
JP5071798B2 (ja) 2012-11-14
US9678862B2 (en) 2017-06-13
US20150089117A1 (en) 2015-03-26
EP1873647A4 (en) 2009-01-28
TW200707193A (en) 2007-02-16
US8930659B2 (en) 2015-01-06

Similar Documents

Publication Publication Date Title
JP5071798B2 (ja) 計算機システム,メモリ管理方法,およびそのプログラム
JP5607943B2 (ja) メモリシステム及びその磨耗度管理方法
JP5351046B2 (ja) フラッシュメモリシステムの高速起動を容易にする方法およびシステム
JP3906825B2 (ja) 計算機システム、計算機システム起動方法およびプログラム
US8145829B2 (en) Flash memory device capable of preventing read disturbance
JP5783809B2 (ja) 情報処理装置、起動方法およびプログラム
US10061710B2 (en) Storage device
US11301331B2 (en) Storage device and operating method of storage device
KR20100132244A (ko) 메모리 시스템 및 메모리 시스템 관리 방법
JPWO2005103903A1 (ja) 不揮発性記憶システム
WO2005071522A1 (ja) 高速再起動方法および情報処理装置ならびにプログラム
JP4745465B1 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
KR20100016174A (ko) 데이터-스머글링을 위한 저장 장치와 방법
JP2004508620A (ja) 携帯型データ記憶媒体のスタックの仮想拡張方法
US20190324868A1 (en) Backup portion of persistent memory
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
JP2000305818A (ja) チップカードのメモリ断片化解消(デフラグ)
JP2000030375A (ja) データ処理システム、アクセス装置及び記録媒体
JP2002207640A (ja) 情報処理装置
JP2011175666A (ja) 半導体記憶装置及び半導体記憶装置の制御方法
JP5350077B2 (ja) 情報処理装置及びこれを備えた画像形成装置
JP6157158B2 (ja) 情報処理装置、その制御方法及びプログラム
JP2011123560A (ja) フラッシュディスク装置
JP2013120549A (ja) 電子計算機、メモリ管理方法、およびメモリ管理プログラム
JPH09237217A (ja) ローカルストレージのメモリ割付け方式と制御装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680010763.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007511258

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2006731222

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: RU

WWP Wipo information: published in national office

Ref document number: 2006731222

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11909883

Country of ref document: US