JP2000122929A - Information processor - Google Patents

Information processor

Info

Publication number
JP2000122929A
JP2000122929A JP10290249A JP29024998A JP2000122929A JP 2000122929 A JP2000122929 A JP 2000122929A JP 10290249 A JP10290249 A JP 10290249A JP 29024998 A JP29024998 A JP 29024998A JP 2000122929 A JP2000122929 A JP 2000122929A
Authority
JP
Japan
Prior art keywords
page
flash memory
dram
memory
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10290249A
Other languages
Japanese (ja)
Inventor
Yasushi Kai
康司 甲斐
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.)
KYUSHU SYSTEM JOHO GIJUTSU KEN
KYUSHU SYSTEM JOHO GIJUTSU KENKYUSHO
Panasonic Holdings Corp
Original Assignee
KYUSHU SYSTEM JOHO GIJUTSU KEN
KYUSHU SYSTEM JOHO GIJUTSU KENKYUSHO
Matsushita Electric Industrial 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 KYUSHU SYSTEM JOHO GIJUTSU KEN, KYUSHU SYSTEM JOHO GIJUTSU KENKYUSHO, Matsushita Electric Industrial Co Ltd filed Critical KYUSHU SYSTEM JOHO GIJUTSU KEN
Priority to JP10290249A priority Critical patent/JP2000122929A/en
Publication of JP2000122929A publication Critical patent/JP2000122929A/en
Pending 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)

Abstract

PROBLEM TO BE SOLVED: To provide a highly efficient non-volatile memory architecture. SOLUTION: In this information processor, a cache memory 11, DRAM (dynamic random access memory) 20 and a flash memory 30 are connected to respective system buses. When the PP(page present) bit of an address conversion table 43 shows the absence of a page and the LD(line dirty) bit of the cache memory 11 shows that the line is updated, namely, when the line in the cache memory 11 becomes dirty even if the page does not exist in DRAM 20, a page fault occurs and the page which becomes dirty is paged in DRAM 20 from the flash memory 30.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、フラッシュメモリ
を利用した情報処理装置におけるメモリ管理技術に関す
るものである。
[0001] 1. Field of the Invention [0002] The present invention relates to a memory management technique in an information processing apparatus using a flash memory.

【0002】[0002]

【従来の技術】DRAM(ダイナミックランダムアクセ
スメモリ:dynamic random access memory)やSRAM
(スタティックランダムアクセスメモリ:static rando
m access memory)と並ぶ重要な半導体メモリの1つと
して、フラッシュメモリ(一括消去型EEPROM)が
利用されている。フラッシュメモリは、不揮発、大容
量、高速な読み出しが可能という長所を持つ一方で、消
去と書き込みに長い時間を要することや、保証される書
き込み回数がDRAMやSRAMに比べて非常に少ない
ことが短所である。
2. Description of the Related Art DRAM (dynamic random access memory) and SRAM
(Static random access memory: static rando
A flash memory (batch erase EEPROM) is used as one of the important semiconductor memories along with the m access memory. While flash memory has the advantages of non-volatility, large capacity, and high-speed reading, it has the disadvantage that it requires a long time for erasing and writing, and that the guaranteed number of writes is very small compared to DRAM and SRAM. It is.

【0003】特開平7−114499号公報には、上記
フラッシュメモリの長所を生かすべく、ページング機構
を有するプロセッサと、DRAMと、フラッシュメモリ
とを備えた情報処理装置が開示されている。これによれ
ば、フラッシュメモリは基本的に仮想メモリとして扱わ
れ、情報の参照は主記憶であるDRAMを経由してなさ
れるが、参照の対象が命令のページである場合に限りフ
ラッシュメモリから直接読み出す機能を持たせている。
Japanese Patent Application Laid-Open No. Hei 7-114499 discloses an information processing apparatus including a processor having a paging mechanism, a DRAM, and a flash memory in order to take advantage of the above-mentioned flash memory. According to this, a flash memory is basically treated as a virtual memory, and information is referred to via a DRAM which is a main memory. However, only when a reference target is an instruction page, the flash memory is directly read from the flash memory. It has a reading function.

【0004】[0004]

【発明が解決しようとする課題】上記特開平7−114
499号公報の情報処理装置によれば、基本的にはペー
ジフォルトを起こしてフラッシュメモリからDRAMへ
ページ・インする。そして、更新されてダーティになっ
たページのみをDRAMからフラッシュメモリへページ
・アウトする。実行コードのページはフラッシュメモリ
からDRAMにページ・インせずに、フラッシュメモリ
が直接にアクセスされる。ところが、結果的に読み出し
しか行わない情報をDRAMに記憶させるためのページ
フォルトはプロセッサの処理の中断時間を長引かせると
いう問題があった。
SUMMARY OF THE INVENTION The above-mentioned JP-A-7-114
According to the information processing apparatus disclosed in Japanese Patent No. 499, basically, a page fault is caused and a page in is performed from the flash memory to the DRAM. Then, only the updated dirty page is paged out from the DRAM to the flash memory. The page of executable code is accessed directly from the flash memory without page-in from the flash memory to the DRAM. However, as a result, there is a problem that a page fault for storing information that is only read out in the DRAM prolongs the interruption time of the processing of the processor.

【0005】本発明の目的は、情報処理装置のための高
効率の不揮発性メモリアーキテクチャを提供することに
ある。
An object of the present invention is to provide a highly efficient nonvolatile memory architecture for an information processing device.

【0006】[0006]

【課題を解決するための手段】本発明は、各々システム
バスに接続されたキャッシュメモリと、DRAM(又は
SRAM)と、フラッシュメモリとを備えた情報処理装
置の構成を採用し、プログラムのように予め読み出し専
用とわかっている情報だけでなく、書き換える可能性の
あるデータも、キャッシュメモリにリードミスしたとき
は、DRAMを経由せずにフラッシュメモリからキャッ
シュメモリへ直接にフェッチすることで、不必要な情報
の転送とDRAMの容量の低減を図ることとしたもので
ある。
SUMMARY OF THE INVENTION The present invention employs an information processing apparatus having a cache memory, a DRAM (or an SRAM), and a flash memory connected to a system bus, respectively. Not only information that is known to be read-only in advance but also data that may be rewritten, when a read miss occurs in the cache memory, unnecessary fetching is performed directly from the flash memory to the cache memory without passing through the DRAM. The purpose is to transfer information and reduce the capacity of the DRAM.

【0007】具体的に説明すると、本発明によれば、情
報の参照はキャッシュメモリを介して行われる。読み出
し時はDRAMにページ・インしない。そして、キャッ
シュメモリの状態とページの状態とを組み合わせてペー
ジフォルトを起こす。つまり、DRAM中にページが存
在しないのにキャッシュメモリ中のラインがダーティに
なったときにページフォルトを起こし、ダーティになっ
たページをフラッシュメモリからDRAMにページ・イ
ンする。
More specifically, according to the present invention, reference to information is performed via a cache memory. At the time of reading, no page-in is performed on the DRAM. Then, a page fault is caused by combining the state of the cache memory and the state of the page. In other words, a page fault occurs when a line in the cache memory becomes dirty even though there is no page in the DRAM, and the dirty page is paged into the DRAM from the flash memory.

【0008】[0008]

【発明の実施の形態】図1は、本発明に係る情報処理装
置の構成例を示している。図1において、10はページ
ング機構を有するプロセッサ、11は小容量のキャッシ
ュメモリ、12はシステムバス、20は中容量のDRA
M、30は大容量のフラッシュメモリである。プロセッ
サ10は、ページングのためのTLB(translation lo
ok-aside buffer)を持つ。キャッシュメモリ11の状
態管理(タグの管理)は、いわゆるライトバック方式で
行われる。図1の情報処理装置は、各メモリ11,2
0,30が存在する物理的なアドレス空間とは無関係
に、仮想的な空間である論理アドレス空間をプログラム
に提供するものである。更に図1の例では、フラッシュ
メモリ30に対するアクセス方法として「優先読み出
し」及び「非優先書き込み」を採用する。すなわち、更
新された情報がDRAM20にあるときを除いてフラッ
シュメモリ30から情報を直接に読み出す一方、書き込
みは常にDRAM20に対して行う。フラッシュメモリ
30の読み出し速度が高速なことから、優先読み出しを
することでページフォルトによる性能低下を回避するこ
とができる。また、参照の局所性から、非優先書き込み
を行うことでフラッシュメモリ30を更新する頻度を低
減することができる。なお、図1の構成においてDRA
M20をSRAMに置き換えてもよい。
FIG. 1 shows an example of a configuration of an information processing apparatus according to the present invention. In FIG. 1, reference numeral 10 denotes a processor having a paging mechanism, 11 denotes a small-capacity cache memory, 12 denotes a system bus, and 20 denotes a medium-capacity DRA.
M and 30 are large-capacity flash memories. The processor 10 transmits a TLB (translation loL) for paging.
ok-aside buffer). The state management (tag management) of the cache memory 11 is performed by a so-called write-back method. The information processing apparatus of FIG.
The virtual address space, which is a virtual space, is provided to the program irrespective of the physical address space where 0 and 30 exist. Further, in the example of FIG. 1, “priority read” and “non-priority write” are adopted as an access method to the flash memory 30. That is, information is directly read from the flash memory 30 except when the updated information is in the DRAM 20, while writing is always performed on the DRAM 20. Since the read speed of the flash memory 30 is high, the priority read can avoid performance degradation due to page faults. Also, due to the locality of reference, the frequency of updating the flash memory 30 can be reduced by performing non-priority writing. In the configuration of FIG.
M20 may be replaced with an SRAM.

【0009】図2は、図1の情報処理装置におけるメモ
リアーキテクチャの詳細を示している。図2において、
41は論理アドレス、42は物理アドレス、43はアド
レス変換テーブル、44及び45はヒット/ミスの判定
のためのコンパレータである。キャッシュメモリ11の
各エントリは、LV(ラインバリッド)ビットと、LD
(ラインダーティ)ビットとを有する。アドレス変換テ
ーブル43の各エントリは、PP(ページプレゼント)
ビットと、PD(ページダーティ)ビットと、PR(プ
ロパティ)ビットとを有する。
FIG. 2 shows details of a memory architecture in the information processing apparatus of FIG. In FIG.
41 is a logical address, 42 is a physical address, 43 is an address conversion table, and 44 and 45 are comparators for hit / miss determination. Each entry of the cache memory 11 has an LV (line valid) bit, an LD
(Line dirty) bits. Each entry of the address conversion table 43 is a PP (page present).
Bit, a PD (page dirty) bit, and a PR (property) bit.

【0010】図2の構成によれば、キャッシュメモリ1
1中に記憶している情報はキャッシュタグで管理され、
DRAM20中にページが存在するか否かはアドレス変
換テーブル43で管理される。この構成において、プロ
セッサ10による書き込みアクセスがミスヒットし、か
つ該情報を含むページがDRAM20に無いときにペー
ジフォルトが起きる。これに対し読み出し時にミスヒッ
トし、かつページフォルトが起きたときには、キャッシ
ュメモリ11に情報を直接フェッチする。つまり、ペー
ジはDRAM20に存在しないが、キャッシュメモリ1
1中に存在する状態になる。こうしてキャッシュメモリ
11にフェッチされた情報が更新されることなくキャッ
シュメモリ11から追い出されることは問題ない。この
情報がキャッシュメモリ11中で更新されたときにペー
ジフォルトを起こす。これは、更新された情報はいずれ
フラッシュメモリ30に書き戻さねばならないが、DR
AM20を経由して書き戻すことで、フラッシュメモリ
30への書き込み速度が低速なことと、フラッシュメモ
リ30の更新の頻度を軽減することができる。ライトバ
ックキャッシュの場合には、更新された情報をリプレイ
スする必要が生じたときにページフォルトを起こすこと
としてもよい。なお、リプレイスアルゴリズムは例えば
LRU(least recently used)である。
According to the configuration of FIG. 2, the cache memory 1
The information stored in 1 is managed by a cache tag,
Whether or not a page exists in the DRAM 20 is managed by the address conversion table 43. In this configuration, a page fault occurs when a write access by the processor 10 miss-hits and there is no page containing the information in the DRAM 20. On the other hand, when a miss occurs during reading and a page fault occurs, information is directly fetched into the cache memory 11. That is, the page does not exist in the DRAM 20 but the cache memory 1
1 exists. There is no problem that the information fetched into the cache memory 11 is evicted from the cache memory 11 without being updated. When this information is updated in the cache memory 11, a page fault occurs. This means that the updated information will eventually have to be written back to the flash memory 30,
By writing back via the AM 20, the writing speed to the flash memory 30 is low and the frequency of updating the flash memory 30 can be reduced. In the case of a write-back cache, a page fault may be caused when it becomes necessary to replace updated information. The replacement algorithm is, for example, LRU (least recently used).

【0011】更に詳細に説明すると、アドレス変換テー
ブル43中のPRビットで示されるページ毎のアクセス
属性を判定し、「読み出し」のページはフラッシュメモ
リ30から直接キャッシュメモリ11にフェッチする。
ページをDRAM20にリプレイス・インしないため、
アドレス変換テーブル43のPPビットは立たない。次
に、「書き込み」の属性を持つページ内の情報を「読み
出す」場合について、上記と同様にキャッシュメモリ1
1に情報をフェッチする場合を説明する。
More specifically, the access attribute of each page indicated by the PR bit in the address conversion table 43 is determined, and the “read” page is fetched directly from the flash memory 30 to the cache memory 11.
Since the page is not replaced in the DRAM 20,
The PP bit of the address conversion table 43 does not stand. Next, in the case where the information in the page having the attribute of “write” is “read”, the cache memory 1
1 will be described.

【0012】図3は、ページ及びキャッシュラインの状
態と、各状態における「書き込み」の属性を持つ情報の
状態を示している。「書き込み」の属性を持つページ中
の情報をフラッシュメモリ30からキャッシュメモリ1
1に直接に読み出した後に(ページはDRAM20に存
在せずクリーンであり、情報はキャッシュメモリ11の
ラインに存在しクリーンである。)、その情報がキャッ
シュライン中で更新された場合(ページはDRAM20
に存在しないがダーティであり、情報はキャッシュメモ
リ11のラインに存在しダーティである。)、更新結果
をDRAM20及びフラッシュメモリ30に反映させる
必要がある。そこで、キャッシュラインが更新されたと
き、すなわちキャッシュラインを書き戻す必要が生じた
時点でページフォルトを起こし、該当するページをフラ
ッシュメモリ30からDRAM20上にリプレイス・イ
ンする。これにより、フラッシュメモリ30に書き戻す
必要が生じた情報だけをDRAM20にリプレイス・イ
ンすることとなるので、DRAM20の容量を削減する
ことができる。なお、DRAM20にリプレイス・イン
されたフラッシュメモリ30上のページは、情報の更新
に備えるために適宜消去される。
FIG. 3 shows the state of the page and the cache line, and the state of information having the attribute of "write" in each state. The information in the page having the attribute of “write” is transferred from the flash memory 30 to the cache memory 1
1 (the page does not exist in the DRAM 20 and is clean, the information exists in the line of the cache memory 11 and is clean), and then the information is updated in the cache line (the page is in the DRAM 20).
, But is dirty, and the information exists in the line of the cache memory 11 and is dirty. ), It is necessary to reflect the update result in the DRAM 20 and the flash memory 30. Therefore, when the cache line is updated, that is, when it becomes necessary to rewrite the cache line, a page fault occurs, and the corresponding page is replaced from the flash memory 30 into the DRAM 20. As a result, only the information that needs to be written back to the flash memory 30 is replaced in the DRAM 20, so that the capacity of the DRAM 20 can be reduced. The page on the flash memory 30 replaced in the DRAM 20 is erased as appropriate in preparation for updating information.

【0013】なお、キャッシュメモリ11にライトミス
した時は、該当するページをDRAM20に直ちにリプ
レイス・インする。
When a write miss occurs in the cache memory 11, the corresponding page is immediately replaced in the DRAM 20.

【0014】さて、図1の情報処理装置ではプロセッサ
10の論理アドレスが1回又は2回のアドレス変換にか
けられる。それぞれ1レベルアドレス変換及び2レベル
アドレス変換と呼ぶ。
In the information processing apparatus shown in FIG. 1, the logical address of the processor 10 is subjected to one or two address conversions. These are called one-level address translation and two-level address translation, respectively.

【0015】図4は、図1の情報処理装置における1レ
ベルアドレス変換を示している。アドレス変換は論理ア
ドレスから物理アドレスに対して1回だけ行われる。D
RAM20とフラッシュメモリ30とは、同一の物理ア
ドレス空間上に互いに重ならないように割り当てられて
いる。次に、論理アドレスの領域毎にアクセスの手順を
説明する。
FIG. 4 shows one-level address conversion in the information processing apparatus of FIG. Address conversion is performed only once from a logical address to a physical address. D
The RAM 20 and the flash memory 30 are allocated on the same physical address space so as not to overlap each other. Next, an access procedure will be described for each logical address area.

【0016】(a)読み出し[アドレス変換領域](図
4の1,2):プロセッサ10が出力した論理アドレス
はアドレス変換テーブルで物理アドレスに変換され、読
み出しアクセスであるのでフラッシュメモリ30から直
接に情報を読み出す。
(A) Read [address conversion area] (1, 2 in FIG. 4): The logical address output by the processor 10 is converted into a physical address in an address conversion table, and is directly accessed from the flash memory 30 because of read access. Read information.

【0017】(b)書き込み[アドレス変換領域](図
4の3−1〜3−4):書き込みしようとするが(3−
1)、書き込もうとするページがDRAM20上に存在
しないためにページフォルトが起きる。次に、フラッシ
ュメモリ30のP(2)番地にあるページがDRAM2
0のP(8)番地にリプレイス・インされ、アドレス変
換テーブルが更新されてリプレイス処理が完了する(3
−2)。そしてアドレス変換が行われDRAM20のP
(8)番地に書き込む(3−3)。P(8)番地にある
ページは、それがリプレイス・アウトの対象になったと
きに、フラッシュメモリ30上の任意の空き領域にリプ
レイス・アウトされる(3−4)。
(B) Writing [address conversion area] (3-1 to 3-4 in FIG. 4):
1) A page fault occurs because the page to be written does not exist on the DRAM 20. Next, the page at the address P (2) of the flash memory 30 is stored in the DRAM 2
0 is replaced at address P (8), the address conversion table is updated, and the replacement process is completed (3).
-2). Then, address conversion is performed, and P
(8) Write to the address (3-3). The page at the address P (8) is replaced out to an arbitrary free area on the flash memory 30 when the page is to be replaced out (3-4).

【0018】(c)読み出し[直接アクセス領域](図
4の4):直接アクセス領域に情報を置くことでアドレ
ス変換を行うことなく高速に読み出すことができる。こ
れにより、該領域をブート領域として使用できるだけで
なく、アドレス変換テーブルを管理するオーバーヘッド
を軽減できる。
(C) Reading [direct access area] (4 in FIG. 4): By placing information in the direct access area, high-speed reading can be performed without performing address conversion. As a result, not only can the area be used as a boot area, but also the overhead of managing the address translation table can be reduced.

【0019】(d)書き込み[直接アクセス領域]:ア
ドレス変換を行わないが更新には長い時間を要する。
(D) Write [direct access area]: No address conversion is performed, but updating takes a long time.

【0020】図5は、図1の情報処理装置における2レ
ベルアドレス変換を示している。図5に示すように、D
RAM20を物理アドレス空間上に割り当て、フラッシ
ュメモリ30の物理アドレス(DRAM20が存在する
物理アドレス空間とは異なる一次元のアドレス空間)を
実アドレスと呼ぶ空間上に重ねて割り当てる。アドレス
変換は論理アドレスから実アドレスへの変換と、実アド
レスから物理アドレスへの変換との2段階で行われ、2
段目のアドレス変換を行うか否かはアクセスの種類によ
って異なる。次に、アクセスの手順を述べる。
FIG. 5 shows two-level address conversion in the information processing apparatus of FIG. As shown in FIG.
The RAM 20 is allocated on a physical address space, and the physical address of the flash memory 30 (one-dimensional address space different from the physical address space where the DRAM 20 exists) is overlaid on a space called a real address. Address conversion is performed in two stages, that is, conversion from a logical address to a real address and conversion from a real address to a physical address.
Whether or not to perform the address conversion at the stage depends on the type of access. Next, an access procedure will be described.

【0021】(a)読み出し[アドレス変換領域](図
5の1):論理−実アドレス変換テーブルで変換された
実アドレスをフラッシュメモリ30を指す物理アドレス
として、フラッシュメモリ30から直接情報を読み出
す。
(A) Read [address conversion area] (1 in FIG. 5): Information is read directly from the flash memory 30 using the real address converted by the logical-to-real address conversion table as a physical address indicating the flash memory 30.

【0022】(b)書き込み[アドレス変換領域](図
5の2−1〜2−4):書き込みのときは(2−1)、
2段目の実−物理アドレス変換機構において、書き込も
うとする情報を含むページを、物理アドレスで指定する
DRAM20上の領域P(0)にコピーした後に、実ア
ドレスR(2)の変換先をP(0)に設定し(2−
2)、DRAM20上で情報が更新される(2−3)。
DRAM20上のP(0)がリプレイス・アウトの対象
になり、フラッシュメモリ30上にリプレイス・インさ
れると、実アドレスから物理アドレスへのポインタが途
切れる(2−4)。
(B) Write [address conversion area] (2-1 to 2-4 in FIG. 5): At the time of write (2-1),
In the second-stage real-physical address conversion mechanism, a page including information to be written is copied to an area P (0) on the DRAM 20 designated by a physical address, and then the conversion destination of the real address R (2) is set to P Set to (0) (2-
2) The information is updated on the DRAM 20 (2-3).
When P (0) on the DRAM 20 is to be replaced and replaced on the flash memory 30, the pointer from the real address to the physical address is interrupted (2-4).

【0023】(c)直接アクセス領域(図5の3):図
4の1レベルアドレス変換の場合と同様である。
(C) Direct access area (3 in FIG. 5): The same as in the case of the one-level address conversion in FIG.

【0024】2レベルアドレス変換は、1レベルアドレ
ス変換における書き込み時のアドレス変換テーブルの管
理を2段目のアドレス変換として取り出したものと考え
ることができる。2段目のアドレス変換が1段目のアド
レス変換と独立して行われる場合、1段目のアドレス変
換機構はフラッシュメモリ30が存在する物理アドレス
空間を意識するだけでよく、DRAM20の存在を意識
する必要がない。また、2段目のアドレス変換を1段目
と分離することで、フラッシュメモリ30をリムーバブ
ルメディアとして可搬することが容易になる。
It can be considered that the two-level address conversion is obtained by extracting the management of the address conversion table at the time of writing in the one-level address conversion as the second-stage address conversion. When the second-stage address conversion is performed independently of the first-stage address conversion, the first-stage address conversion mechanism only needs to be aware of the physical address space where the flash memory 30 exists, and is aware of the presence of the DRAM 20. No need to do. Also, by separating the second-stage address conversion from the first-stage address conversion, it becomes easy to carry the flash memory 30 as a removable medium.

【0025】しかし、上記2レベルアドレス変換では実
アドレス空間上でリロケーションが起きず、フラッシュ
メモリ30上の特定のページにアクセスが定まる。なぜ
ならば、2段目のアドレス変換機構がDRAM20に存
在するページをフラッシュメモリ30にリプレイス・ア
ウトするときに、該ページをリプレイス・インしてきた
実アドレスと異なる場所を選択したとすると、1段目の
アドレス変換テーブルも更新せねばならないからであ
る。これを回避する方法として、書き込みにより2段目
のアドレス変換機構で起きたページフォルト(フラッシ
ュメモリ30からDRAM20へリプレイス・インする
処理)の発生を1段目のアドレス変換機構に伝えるとと
もに、2段目のアドレス変換機構はリプレイス・インさ
れたばかりのページをリプレイス・アウトする領域を予
約しておき、その領域を1段目のアドレス変換機構に伝
えればよい。
However, in the two-level address conversion, no relocation occurs in the real address space, and access to a specific page in the flash memory 30 is determined. This is because if the address translation mechanism in the second stage replaces a page in the DRAM 20 with the flash memory 30 and selects a location different from the real address from which the page was replaced, the first stage Must also be updated. As a method for avoiding this, the occurrence of a page fault (replace-in process from the flash memory 30 to the DRAM 20) caused in the second-stage address translation mechanism by writing is transmitted to the first-stage address translation mechanism. The first address translation mechanism may reserve an area for replacing out the page that has just been replaced in, and transmit that area to the first-stage address translation mechanism.

【0026】以上のとおり、図1の構成によればフラッ
シュメモリ30からDRAM20へのページ・インの発
生自体が低減されるので、システムバス12のトラフィ
ックが低減される結果、情報処理装置の性能が向上す
る。また、フラッシュメモリ30の同一ページへの書き
込み回数も少なくなり、フラッシュメモリ30の寿命が
伸びる。オペレーティングシステム等によりリロケーシ
ョン先を分散させることで、フラッシュメモリ30の寿
命を伸ばすことも可能である。
As described above, according to the configuration of FIG. 1, the occurrence of page-in from the flash memory 30 to the DRAM 20 itself is reduced, so that the traffic on the system bus 12 is reduced, and the performance of the information processing apparatus is reduced. improves. Also, the number of times of writing to the same page of the flash memory 30 is reduced, and the life of the flash memory 30 is extended. By distributing the relocation destinations using an operating system or the like, the life of the flash memory 30 can be extended.

【0027】更に、アプリケーションが動作中のスタッ
ク等の情報もDRAM20からのリプレイス・アウトに
よりフラッシュメモリ30に格納されることから、情報
機器のハイバーネーション状態への移行や、該状態から
の復帰を高速に行うことができる。また、フラッシュメ
モリ30を取り外して他の情報機器に接続することで、
同じ環境で、直ちに停止前の状態で処理を再開できる等
の、高い情報の可搬性を実現できる。
Further, since information such as a stack in which an application is operating is also stored in the flash memory 30 by replacement out of the DRAM 20, the transition to the hibernation state of the information device and the return from the state can be performed at high speed. Can be done. Also, by removing the flash memory 30 and connecting it to another information device,
In the same environment, high portability of information can be realized, for example, processing can be immediately resumed before stopping.

【0028】[0028]

【発明の効果】以上説明してきたとおり、本発明によれ
ば、ランダムアクセスメモリ中にページが存在しないの
にキャッシュメモリ中のラインがダーティになったとき
にページフォルトを起こし、ダーティになったページを
フラッシュメモリからランダムアクセスメモリにページ
・インすることとしたので、実際に更新されたページの
みがページ・インされる結果、ページフォルトの処理の
ためにプロセッサの処理が中断される時間が短縮される
ことで、情報処理装置の性能が向上する。
As described above, according to the present invention, a page fault occurs when a line in the cache memory becomes dirty even though there is no page in the random access memory, and the page becomes dirty. Page-in from the flash memory to the random access memory, so that only the pages that are actually updated are paged in, thereby reducing the time during which the processor processing is interrupted due to the processing of the page fault. This improves the performance of the information processing device.

【0029】また、本発明では実際に更新したページに
関してのみページフォルトを起こすため、特開平7−1
14499号公報の従来の情報処理装置と本発明の情報
処理装置とを比較して、同じ回数のページフォルトを起
こして良いならば、本発明の情報処理装置で用いるラン
ダムアクセスメモリの容量は従来の情報処理装置で用い
るランダムアクセスメモリの容量以下になり、低コスト
化及び低消費電力化できる。
Also, in the present invention, a page fault occurs only with respect to an actually updated page.
By comparing the conventional information processing apparatus disclosed in Japanese Patent No. 14499 with the information processing apparatus of the present invention, if the same number of page faults can be caused, the capacity of the random access memory used in the information processing apparatus of the present invention is The capacity becomes smaller than the capacity of the random access memory used in the information processing device, so that cost reduction and power consumption can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係る情報処理装置の構成例を示すブロ
ック図である。
FIG. 1 is a block diagram illustrating a configuration example of an information processing apparatus according to the present invention.

【図2】図1の情報処理装置におけるメモリアーキテク
チャの詳細を示す概念図である。
FIG. 2 is a conceptual diagram showing details of a memory architecture in the information processing apparatus of FIG. 1;

【図3】図2のメモリアーキテクチャにおける種々の状
態を示す図である。
FIG. 3 illustrates various states in the memory architecture of FIG. 2;

【図4】図1の情報処理装置における1レベルアドレス
変換を説明するための概念図である。
FIG. 4 is a conceptual diagram illustrating one-level address conversion in the information processing apparatus of FIG. 1;

【図5】図1の情報処理装置における2レベルアドレス
変換を説明するための概念図である。
FIG. 5 is a conceptual diagram for explaining two-level address conversion in the information processing apparatus of FIG. 1;

【符号の説明】[Explanation of symbols]

10 プロセッサ 11 キャッシュメモリ 12 システムバス 20 DRAM 30 フラッシュメモリ 41 論理アドレス 42 物理アドレス 43 アドレス変換テーブル 44,45 コンパレータ DESCRIPTION OF SYMBOLS 10 Processor 11 Cache memory 12 System bus 20 DRAM 30 Flash memory 41 Logical address 42 Physical address 43 Address conversion table 44, 45 Comparator

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 各々システムバスに接続されたキャッシ
ュメモリと、ランダムアクセスメモリと、フラッシュメ
モリとを備えた情報処理装置であって、 前記ランダムアクセスメモリ中にページが存在しないの
に前記キャッシュメモリ中のラインがダーティになった
ときにページフォルトを起こし、ダーティになったペー
ジを前記フラッシュメモリから前記ランダムアクセスメ
モリにページ・インするようにしたことを特徴とする情
報処理装置。
1. An information processing apparatus comprising a cache memory, a random access memory, and a flash memory each connected to a system bus, wherein the random access memory has no page and the cache memory has no page. An information processing apparatus wherein a page fault is caused when the line becomes dirty, and the dirty page is page-in from the flash memory to the random access memory.
【請求項2】 請求項1記載の情報処理装置において、 前記フラッシュメモリは、前記ランダムアクセスメモリ
と同一のアドレス空間上にかつ重ならないように割り当
てられたことを特徴とする情報処理装置。
2. The information processing apparatus according to claim 1, wherein the flash memory is allocated on the same address space as the random access memory so as not to overlap.
【請求項3】 請求項1記載の情報処理装置において、 前記フラッシュメモリは、前記ランダムアクセスメモリ
とは異なるアドレス空間上に重ねて割り当てられたこと
を特徴とする情報処理装置。
3. The information processing apparatus according to claim 1, wherein the flash memory is allocated in a different address space from the random access memory.
JP10290249A 1998-10-13 1998-10-13 Information processor Pending JP2000122929A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10290249A JP2000122929A (en) 1998-10-13 1998-10-13 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10290249A JP2000122929A (en) 1998-10-13 1998-10-13 Information processor

Publications (1)

Publication Number Publication Date
JP2000122929A true JP2000122929A (en) 2000-04-28

Family

ID=17753699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10290249A Pending JP2000122929A (en) 1998-10-13 1998-10-13 Information processor

Country Status (1)

Country Link
JP (1) JP2000122929A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801994B2 (en) * 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
JP2008242944A (en) * 2007-03-28 2008-10-09 Toshiba Corp Integrated memory management device and method
JP2010066914A (en) * 2008-09-09 2010-03-25 Toshiba Corp Integrated memory management device and memory management method
JP2011238261A (en) * 2004-10-27 2011-11-24 Sony Corp Storage device and information processing system
JP2012018700A (en) * 2011-10-25 2012-01-26 Renesas Electronics Corp Arithmetic processing unit and storage system
US8554982B2 (en) 2004-10-27 2013-10-08 Sony Corporation Storage device and information processing system
US8719661B1 (en) * 2010-11-15 2014-05-06 Vmware, Inc. Transparent and lightweight recovery from hardware memory errors
US9141549B2 (en) 2008-12-27 2015-09-22 Kabushiki Kaisha Toshiba Memory system with read and write caches and method of controlling memory system with read and write caches

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7296258B2 (en) 2000-12-20 2007-11-13 Microsoft Corporation Software management systems and methods for automotive computing devices
US6801994B2 (en) * 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
US6957314B2 (en) 2000-12-20 2005-10-18 Microsoft Corporation Automotive computing systems
US7000075B2 (en) 2000-12-20 2006-02-14 Microsoft Corporation Software management systems and methods for automotive computing devices
US7254083B2 (en) 2000-12-20 2007-08-07 Microsoft Corporation Software management methods for automotive computing devices
US7051160B2 (en) 2000-12-20 2006-05-23 Microsoft Corporation Software management systems and methods for automotive computing devices
US6904494B2 (en) 2000-12-20 2005-06-07 Microsoft Corporation Software management systems and methods for automotive computing devices
US7155584B2 (en) 2000-12-20 2006-12-26 Microsoft Corporation Software management systems and methods for automotive computing devices
US7043613B2 (en) * 2000-12-20 2006-05-09 Microsoft Corporation Software management systems and methods for automotive computing devices
US7401190B2 (en) 2000-12-20 2008-07-15 Microsoft, Corporation Software management
US9535789B2 (en) * 2001-07-25 2017-01-03 Vmware, Inc. Transparent and lightweight recovery from hardware memory errors
US20150019906A1 (en) * 2001-07-25 2015-01-15 Vmware, Inc. Transparent and Lightweight Recovery From Hardware Memory Errors
US8904096B2 (en) 2004-10-27 2014-12-02 Sony Corporation Storage device and information processing system
JP2011238261A (en) * 2004-10-27 2011-11-24 Sony Corp Storage device and information processing system
US9317424B2 (en) 2004-10-27 2016-04-19 Sony Corporation Storage device and information processing system
US8554982B2 (en) 2004-10-27 2013-10-08 Sony Corporation Storage device and information processing system
JP2008242944A (en) * 2007-03-28 2008-10-09 Toshiba Corp Integrated memory management device and method
JP2010066914A (en) * 2008-09-09 2010-03-25 Toshiba Corp Integrated memory management device and memory management method
US9141549B2 (en) 2008-12-27 2015-09-22 Kabushiki Kaisha Toshiba Memory system with read and write caches and method of controlling memory system with read and write caches
US8719661B1 (en) * 2010-11-15 2014-05-06 Vmware, Inc. Transparent and lightweight recovery from hardware memory errors
JP2012018700A (en) * 2011-10-25 2012-01-26 Renesas Electronics Corp Arithmetic processing unit and storage system

Similar Documents

Publication Publication Date Title
RU2427892C2 (en) Method and device to establish caching policy in processor
US7266647B2 (en) List based method and apparatus for selective and rapid cache flushes
US6205521B1 (en) Inclusion map for accelerated cache flush
JP3352598B2 (en) Microprocessor
US6757784B2 (en) Hiding refresh of memory and refresh-hidden memory
JP3718302B2 (en) Instruction fetch method and apparatus
JPS6135584B2 (en)
JP2006277762A (en) Divided nondense directory for distributed shared memory multi-processor system
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
JPH10254772A (en) Method and system for executing cache coherence mechanism to be utilized within cache memory hierarchy
KR100505695B1 (en) Cache memory device having dynamically-allocated or deallocated buffers, digital data processing system comprising it and method thereof
JP2007156821A (en) Cache system and shared secondary cache
JP2004199677A (en) System for and method of operating cache
JP2000122929A (en) Information processor
US7356647B1 (en) Cache with integrated capability to write out entire cache
JPS6326417B2 (en)
JPH1165925A (en) Information processor
JPS6194159A (en) Memory
US20020010837A1 (en) Cache memory system and method of controlling cache memory
JPH06250926A (en) Data processing system provided with cache memory of plural hierarchies
US7996598B2 (en) Memory management module
JPH0784886A (en) Method and unit for cache memory control
JPH01149153A (en) Address converting index mechanism invalidating device
JPH07271669A (en) Cache memory control circuit
JPH05233444A (en) Microprocessor system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051013

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080805