JP2007041795A - コンピュータシステム - Google Patents

コンピュータシステム Download PDF

Info

Publication number
JP2007041795A
JP2007041795A JP2005224430A JP2005224430A JP2007041795A JP 2007041795 A JP2007041795 A JP 2007041795A JP 2005224430 A JP2005224430 A JP 2005224430A JP 2005224430 A JP2005224430 A JP 2005224430A JP 2007041795 A JP2007041795 A JP 2007041795A
Authority
JP
Japan
Prior art keywords
memory
area
hole area
computer system
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005224430A
Other languages
English (en)
Other versions
JP4800701B2 (ja
Inventor
Tsuyoshi Tamura
剛志 田村
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005224430A priority Critical patent/JP4800701B2/ja
Publication of JP2007041795A publication Critical patent/JP2007041795A/ja
Application granted granted Critical
Publication of JP4800701B2 publication Critical patent/JP4800701B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 メモリホール領域に存在するメモリを大容量のディスクキャッシュとして有効利用することにより、メモリを増設することなくキャッシュ動作が可能なコンピュータシステムを提供する。
【解決手段】 CPU1やPCI Device23からメモリ空間へのアクセスは、アドレスによって通常c.のパスを経由してDRAM3aへのアクセスとなるか、d.又はd’.のパスを経由してDisk Controller6やPCI Device23へとMemory Controller2によって振り分けられる。またDisk Controller6がメモリホール領域に存在するメモリへのアクセスであることを示す特殊サイクル指示信号30をアサートした場合、通常使用できないDRAM3bへのアクセスに振り分けられる。
【選択図】 図3

Description

本発明は、コンピュータシステムに関し、さらに詳しくは、主記憶装置内のメモリホール領域をキャッシュメモリとして使用する技術に関するものである。
近年、システムメモリとして使用するDRAMの微細化に伴い、高容量・低価格化が進み4GBのメモリを実装するシステムも珍しい物ではなくなってきている。同時にVideoコントローラではフレームバッファとして256MBのメモリ空間を必要とする物や、その他のI/Oデバイスもメモリ空間を必要とする場合が多い。またPCI Expressを使用するシステムではConfiguration空間として256MBのメモリ空間を必要とする。
これらのメモリ空間にマップする必要があるレジスタ類は、互換性のために32Bitのメモリ空間に配置する必要がある場合が多い。そのため、4GBのメモリを実装した場合であっても、512MB以上のメモリをメモリホールとして使用できないという無駄が発生する場合が多くなってきている。
またメモリホールの領域に存在するメモリを4GB以上のメモリ空間に再配置し、アクセス可能にする方法などが知られているが、既存のOSでは対応できない場合が多い。
従来技術として特許文献1には、本体システム監視ボードの本体システム監視機能は、システムの異常を検出すると、その旨をディスク制御処理ボードへ通知する。ディスク制御処理ボードでは、ディスクキャッシュ取込プログラムを起動して、本体ボードのメモリからディスクキャッシュに関する情報を読み込んでディスクへ反映させる処理を実行すると共にその処理結果及び処理終了時間を反映ログ情報としてキャッシュ反映ログファイルに書き込むディスクキャッシュシステムについて開示されている。
また特許文献2、3、4には、複数のキャッシュ記憶をもつ計算機システムにおいて、キャッシュ間のデータ重複を避け、キャッシュ記憶領域の利用効率を向上する方法などが提案されている。
特開2002−222118公報 特許第3568110号 特開2003−216491公報 特開2002−99465公報
しかしながら、特許文献1に開示されている従来技術は、ディスクはメモリに比べてアクセス速度が遅いため、ディスクI/O要求に応じてそのままディスクにアクセスをしているとシステム全体のパフォーマンスの低下につながるといった問題がある。
また、特許文献2、3、4に開示されている従来技術は、キャッシュ用のメモリの容量を増やすことで回避可能であるが、大容量のキャッシュ専用のメモリを追加した場合、コストアップにもつながるといった問題がある。
本発明は、かかる課題に鑑み、メモリホール領域に存在するメモリを大容量のディスクキャッシュとして有効利用することにより、メモリを増設することなくキャッシュ動作が可能なコンピュータシステムを提供することを目的とする。
本発明はかかる課題を解決するために、請求項1は、メモリマップドI/Oを行なうために、主記憶装置のアドレス空間が使用不可となるために発生するメモリホール領域を有するコンピュータシステムにおいて、DMA転送時に前記主記憶装置に存在する前記メモリホール領域にアクセス可能とすることにより、前記メモリホール領域を前記メモリマップドI/Oのメモリ領域とする。
メモリホール領域に存在し、通常のメモリアクセスでは読み書きできないメモリを、DMA転送によってアクセス可能とすることで、メモリの追加などコストアップすること無くI/Oデバイスがバッファとして使用することができる。
請求項2は、前記メモリホール領域に存在するアドレス空間をディスクキャッシュ用のメモリとして使用することを特徴とする。
キャッシュ専用のメモリ追加をすることによるコストアップが無く、本来無駄になっていたメモリを大容量のディスクキャッシュとして使用することが可能になり、複雑なキャッシュの制御を行わなくても、十分なキャッシュの効果を得ることが可能になる。
請求項3は、任意のタイミング、起動開始からOSの起動完了、あるいはキャッシュが全て使用されたタイミングにて、前記主記憶装置のどの領域がキャッシュされているか否かを取得する情報取得手段と、該情報取得手段により取得された情報を次回起動時に活用できるように不揮発性の記憶装置に保存する保存手段と、システムの初期化中に前記DMA転送によりOSが起動する前にキャッシュ領域に必要なデータを転送しておく転送手段と、を備えたことを特徴とする。
システムの初期化の内メモリ及びディスクコントローラの初期化をなるべく早めに行い、使用可能にしておくことで、残りの初期化を実行している間にDMA転送を用いてOS起動時に必要なコード・データをディスクキャッシュに転送することで、実際のOS起動時にはディスクアクセスを殆ど行わずに、OSを起動することが可能になるため、システム全体の起動が早く行うことができる。
請求項4は、前記メモリホール領域を有する主記憶装置に対して、当該メモリホール領域をアクセス可能にする操作手段を備えたことを特徴とする。
特定の操作によって、通常アクセス不可能なキャッシュメモリを読み書き可能にすることで、ハイバネーション処理の際にこの領域を同時に保存してしまうことが可能になり、ハイバネーション処理に移行する直前のキャッシュの状態に戻すことが可能になる。
請求項1の発明によれば、メモリマップドI/Oを行なうために使用できなくなったアドレス空間に発生するメモリホールにアクセス可能なDMA転送によって、I/Oデバイスがアクセスできるようにすることで、大きなバッファを必要とする場合であってもメモリを追加せずにバッファを使用することができる。
また請求項2では、メモリマップドI/Oを行なうために使用できなくなったアドレス空間に発生するメモリホールをディスクキャッシュとして使用することで、メモリを追加すること無く大容量のキャッシュを使用することができる。
また請求項3では、OSのロードに必要な情報を取得・保存できることで、次の起動時にその情報に基づいてディスクキャッシュに対してディスク上のデータを先に転送しておくことが可能になり、それによってOSの起動を高速化することができる。
また請求項4では、メモリホールの有効/無効を、あらかじめ定義された操作によって切替えられるようにしておくことで、ハイバネーション時にキャッシュデータも同時に保存することが可能になり、ハイバネーションからの復帰後もそれまでのキャッシュデータをそのまま使用することができる。
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
図1は本発明の一実施形態にかかるコンピュータシステムのブロック図である。システム全体を制御するCPU1と、CPU1からのメモリアクセスをそのアドレスによってDRAM3を制御するMemory Controller2と、記憶装置として使用するDRAM3と、CRTなどの表示装置の制御を行うVideo Controller4と、Flash ROM8を制御するSystem Controller5と、ディスクアクセスのためのHDD Controller6と、ハードディスクHDD7と、不揮発性メモリのFlash ROM8と、LANを制御するLAN Controller9と、キーボード、マウスを制御するKeyboard Mouse Controller10と、システムバス11と、を備えて構成されている。
図2は本発明の一実施形態のメモリマップである。図2aはCPU側から見たメモリ空間を示している。主記憶装置として使用するメモリ(例えばDRAM)はメモリ領域21にマップされ、メモリ空間を必要とするPCIデバイスはメモリ領域20にマップされる。図2dはPCIデバイス側から見たメモリ空間を示している。メモリマップドIOを使用するデバイスをマップするために、メモリ領域23が使用される。図2b、図2cはメモリコントローラから見たメモリ空間を示している。図2cはメモリコントローラが管理可能なメモリ領域全体を示す。メモリマップドIOを使用するデバイス用にメモリホール25が使用されるため、結果としてメモリ領域24に示す主記憶装置は、それが実装されているにもかかわらず、使用する事ができない。
図3は本発明のコンピュータシステムの概念を示すブロック図である。CPU1やPCI Device23からメモリ空間へのアクセスは、アドレスによって通常c.のパスを経由してDRAM3aへのアクセスとなるか、d.又はd’.のパスを経由してDisk Controller6やPCI Device23へとMemory Controller2によって振り分けられる。またDisk Controller6がメモリホール領域に存在するメモリへのアクセスであることを示す特殊サイクル指示信号30をアサートした場合、通常使用できないDRAM3bへのアクセスに振り分けられる。
またメモリホール領域に存在するメモリへのアクセスを示す第一の例として、図3で示すように、通常のバス信号とは独立したDisk Controller6とMemory Controller2間を一対一で接続する特殊サイクル指示信号30を利用する方法が考えられる。この信号をDisk Controller6がアサートした際には、通常使用できないメモリ領域へのアクセスを実現できる。
第二の例として、PCI Busのバスサイクルの種別を定義する信号であるC/BE[3:0]を使用する。これらの信号はその組合わせによってMemory空間のRead/WriteやI/O空間のRead/Writeなどが定義されている。未定義のC/BEの信号パターンを受取った場合には、各デバイスはそのバスサイクルを無視することが要求されている。この未定義のC/BEの信号パターンを新たにDisk Controller6とMemory Controller2の間で新しく定義し、通常使用できないメモリ領域へのアクセスを実現することが可能にする。
またDisk Controller6がディスクの読み込みを支持された場合、そのデータが通常使用できなDRAMに保存されていないかを確認する。保存されていた場合、メモリホール領域に存在するメモリへのアクセスであることを示す信号をアサートし、通常使用できないメモリからデータを読み込み、そのデータを返すようにする。保存されていなかった場合、HDD7からデータを読み込みそのデータを返した上で、バスの使用要求をMemory Controller2に対して要求し、バスの使用権が与えられるとメモリホール領域に存在するメモリアクセスを示す信号をアサートし、HDD7から読み込んだデータを通常使用できないDRAM3bへと転送する。本実施形態では記述をわかりやすくするために、Disk Controller6によって全て制御する様にしているが、Memory Controller2側でバッファリングすることでより高速に処理を完了させることも可能である。
また書込みの場合も、通常のディスクキャッシュ操作と同等な処理を行うことで、見かけ上高速に書込みを完了させることが可能となる。尚、キャッシュ操作(吐き出し、置換え)に関しては、既に多くの提案がされているためここでは省略する。
また、OS本体をディスクからロードする際にも同様な処理を行い、ロードが完了した際にどの領域がキャッシュに読み込まれたかを読み取る手段を設けることで、OSのロードまでを行うソフトウェア(通常図1 Flash ROM8に保存されているパーソナルコンピュータの場合は、System BIOSと呼ばれる。以下BIOSとする)は、その情報を不揮発性の記憶装置に保存する。OSのロード完了に関しては、特定の時間経過や、OS起動後にロードされるドライバからの通知、キャッシュメモリが一杯になったなどの条件を使用することが可能である。また不揮発性の記憶装置としては、Disk Controllerが管理しているHDDやBIOS自身が保存されているFlash ROM領域等を使用することが可能であるが、Flash ROMに保存する場合には、HDDのシリアル番号などにより、その情報の妥当性を調べる手段を設ける必要がある。
このように、本発明によれば、OS本体がロードされる時にディスクのどの領域が読込まれたかと言う情報を保存しておくことで、次にシステムを起動する時、システムの初期化中に使用できないメモリに対して、このデータを転送しておくことが可能になる。これによって、システムの起動を高速化することが可能になる。
また、通常使用できないメモリをあらかじめ定義された操作によって読み込めるようにする、つまりメモリホールを無効にすることで、ハイバネーション時にこのデータも同時に保存することが可能になり、キャッシュされたデータをレジューム後すぐに使用することが可能になる。
また、ディスクキャッシュとして使用しない場合であってもI/O Deviceが大量のバッファを必要とする場合に、通常使用できずに無駄になるだけであったメモリを使用することが可能になり、メモリを追加する必要が無くなる。
本発明の一実施形態にかかるコンピュータシステムのブロック図である。 本発明の一実施形態のメモリマップを示す図である。 本発明のコンピュータシステムの概念を示すブロック図である。
符号の説明
1 CPU、2 Memory Controller、3 DRAM、4 Video Controller、5 System Controller、6 HDD Controller、7 HDD、8 Flash ROM、9 LAN Controller、10 Keyboard Mouse Controller、11 システムバス

Claims (4)

  1. メモリマップドI/Oを行なうために、主記憶装置のアドレス空間が使用不可となるために発生するメモリホール領域を有するコンピュータシステムにおいて、DMA転送時に前記主記憶装置に存在する前記メモリホール領域にアクセス可能とすることにより、前記メモリホール領域を前記メモリマップドI/Oのメモリ領域とすることを特徴とするコンピュータシステム。
  2. 前記メモリホール領域に存在するアドレス空間をディスクキャッシュ用のメモリとして使用することを特徴とする請求項1に記載のコンピュータシステム。
  3. 任意のタイミング、起動開始からOSの起動完了、あるいはキャッシュが全て使用されたタイミングにて、前記主記憶装置のどの領域がキャッシュされているか否かを取得する情報取得手段と、該情報取得手段により取得された情報を次回起動時に活用できるように不揮発性の記憶装置に保存する保存手段と、システムの初期化中に前記DMA転送によりOSが起動する前にキャッシュ領域に必要なデータを転送しておく転送手段と、を備えたことを特徴とする請求項1又は2に記載のコンピュータシステム。
  4. 前記メモリホール領域を有する主記憶装置に対して、当該メモリホール領域をアクセス可能にする操作手段を備えたことを特徴とする請求項1、2又は3に記載のコンピュータシステム。
JP2005224430A 2005-08-02 2005-08-02 コンピュータシステム Expired - Fee Related JP4800701B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005224430A JP4800701B2 (ja) 2005-08-02 2005-08-02 コンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005224430A JP4800701B2 (ja) 2005-08-02 2005-08-02 コンピュータシステム

Publications (2)

Publication Number Publication Date
JP2007041795A true JP2007041795A (ja) 2007-02-15
JP4800701B2 JP4800701B2 (ja) 2011-10-26

Family

ID=37799720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005224430A Expired - Fee Related JP4800701B2 (ja) 2005-08-02 2005-08-02 コンピュータシステム

Country Status (1)

Country Link
JP (1) JP4800701B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299793A (ja) * 2007-06-04 2008-12-11 Ricoh Co Ltd 情報処理装置及び画像処理装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02189655A (ja) * 1989-01-18 1990-07-25 Fujitsu Ltd 情報処理装置の絶対アドレス変換方式
JPH07334420A (ja) * 1994-06-07 1995-12-22 Shinko Seisakusho Co Ltd 拡張メモリ制御回路
JPH08101802A (ja) * 1994-09-30 1996-04-16 Toshiba Corp コンピュータシステム
JP2000347929A (ja) * 1999-06-09 2000-12-15 Nec Eng Ltd メモリic
JP2003150445A (ja) * 2001-11-13 2003-05-23 Fujitsu Ltd 外部記憶装置を有するコンピュータシステム
JP2004355307A (ja) * 2003-05-29 2004-12-16 Hitachi Ltd 通信方法および情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02189655A (ja) * 1989-01-18 1990-07-25 Fujitsu Ltd 情報処理装置の絶対アドレス変換方式
JPH07334420A (ja) * 1994-06-07 1995-12-22 Shinko Seisakusho Co Ltd 拡張メモリ制御回路
JPH08101802A (ja) * 1994-09-30 1996-04-16 Toshiba Corp コンピュータシステム
JP2000347929A (ja) * 1999-06-09 2000-12-15 Nec Eng Ltd メモリic
JP2003150445A (ja) * 2001-11-13 2003-05-23 Fujitsu Ltd 外部記憶装置を有するコンピュータシステム
JP2004355307A (ja) * 2003-05-29 2004-12-16 Hitachi Ltd 通信方法および情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299793A (ja) * 2007-06-04 2008-12-11 Ricoh Co Ltd 情報処理装置及び画像処理装置

Also Published As

Publication number Publication date
JP4800701B2 (ja) 2011-10-26

Similar Documents

Publication Publication Date Title
US8151036B2 (en) Memory controller, memory system, and access control method of flash memory
KR101395778B1 (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
JP5489434B2 (ja) フラッシュメモリ搭載ストレージ装置
US8892831B2 (en) Memory subsystem hibernation
US20180275921A1 (en) Storage device
US20070038806A1 (en) Selective information caching on disk drive
US20090089501A1 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
US20070038850A1 (en) System boot and resume time reduction method
JP2007183961A (ja) ハードディスクドライブキャッシュメモリ及び再生デバイス
JP5860543B2 (ja) ブートデータのロード
US8370587B2 (en) Memory system storing updated status information and updated address translation information and managing method therefor
CN101131671A (zh) 控制对非易失性存储器的访问
JP2006331378A (ja) フラッシュメモリ保存システム
US20190042460A1 (en) Method and apparatus to accelerate shutdown and startup of a solid-state drive
US20190332527A1 (en) Information Handling System with Priority Based Cache Flushing of Flash Dual In-Line Memory Module Pool
US20120060023A1 (en) Methods for booting an operating system using non-volatile memory
US7861074B2 (en) Electronic systems using flash memory modules as main storage and related system booting methods
US8281073B2 (en) Information processing apparatus and method of controlling same
JP2012053572A (ja) 情報処理装置およびキャッシュの制御方法
US20060265437A1 (en) Contiguous boot and resume start-up files
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP4800701B2 (ja) コンピュータシステム
US8108605B2 (en) Data storage system and cache data—consistency assurance method
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method
US7266711B2 (en) System for storing data within a raid system indicating a change in configuration during a suspend mode of a device connected to the raid system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110726

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110804

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees