JP2007041795A - コンピュータシステム - Google Patents
コンピュータシステム Download PDFInfo
- 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
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
これらのメモリ空間にマップする必要があるレジスタ類は、互換性のために32Bitのメモリ空間に配置する必要がある場合が多い。そのため、4GBのメモリを実装した場合であっても、512MB以上のメモリをメモリホールとして使用できないという無駄が発生する場合が多くなってきている。
またメモリホールの領域に存在するメモリを4GB以上のメモリ空間に再配置し、アクセス可能にする方法などが知られているが、既存のOSでは対応できない場合が多い。
従来技術として特許文献1には、本体システム監視ボードの本体システム監視機能は、システムの異常を検出すると、その旨をディスク制御処理ボードへ通知する。ディスク制御処理ボードでは、ディスクキャッシュ取込プログラムを起動して、本体ボードのメモリからディスクキャッシュに関する情報を読み込んでディスクへ反映させる処理を実行すると共にその処理結果及び処理終了時間を反映ログ情報としてキャッシュ反映ログファイルに書き込むディスクキャッシュシステムについて開示されている。
また特許文献2、3、4には、複数のキャッシュ記憶をもつ計算機システムにおいて、キャッシュ間のデータ重複を避け、キャッシュ記憶領域の利用効率を向上する方法などが提案されている。
また、特許文献2、3、4に開示されている従来技術は、キャッシュ用のメモリの容量を増やすことで回避可能であるが、大容量のキャッシュ専用のメモリを追加した場合、コストアップにもつながるといった問題がある。
本発明は、かかる課題に鑑み、メモリホール領域に存在するメモリを大容量のディスクキャッシュとして有効利用することにより、メモリを増設することなくキャッシュ動作が可能なコンピュータシステムを提供することを目的とする。
メモリホール領域に存在し、通常のメモリアクセスでは読み書きできないメモリを、DMA転送によってアクセス可能とすることで、メモリの追加などコストアップすること無くI/Oデバイスがバッファとして使用することができる。
請求項2は、前記メモリホール領域に存在するアドレス空間をディスクキャッシュ用のメモリとして使用することを特徴とする。
キャッシュ専用のメモリ追加をすることによるコストアップが無く、本来無駄になっていたメモリを大容量のディスクキャッシュとして使用することが可能になり、複雑なキャッシュの制御を行わなくても、十分なキャッシュの効果を得ることが可能になる。
請求項3は、任意のタイミング、起動開始からOSの起動完了、あるいはキャッシュが全て使用されたタイミングにて、前記主記憶装置のどの領域がキャッシュされているか否かを取得する情報取得手段と、該情報取得手段により取得された情報を次回起動時に活用できるように不揮発性の記憶装置に保存する保存手段と、システムの初期化中に前記DMA転送によりOSが起動する前にキャッシュ領域に必要なデータを転送しておく転送手段と、を備えたことを特徴とする。
システムの初期化の内メモリ及びディスクコントローラの初期化をなるべく早めに行い、使用可能にしておくことで、残りの初期化を実行している間にDMA転送を用いてOS起動時に必要なコード・データをディスクキャッシュに転送することで、実際のOS起動時にはディスクアクセスを殆ど行わずに、OSを起動することが可能になるため、システム全体の起動が早く行うことができる。
請求項4は、前記メモリホール領域を有する主記憶装置に対して、当該メモリホール領域をアクセス可能にする操作手段を備えたことを特徴とする。
特定の操作によって、通常アクセス不可能なキャッシュメモリを読み書き可能にすることで、ハイバネーション処理の際にこの領域を同時に保存してしまうことが可能になり、ハイバネーション処理に移行する直前のキャッシュの状態に戻すことが可能になる。
また請求項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で示すように、通常のバス信号とは独立した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のシリアル番号などにより、その情報の妥当性を調べる手段を設ける必要がある。
また、通常使用できないメモリをあらかじめ定義された操作によって読み込めるようにする、つまりメモリホールを無効にすることで、ハイバネーション時にこのデータも同時に保存することが可能になり、キャッシュされたデータをレジューム後すぐに使用することが可能になる。
また、ディスクキャッシュとして使用しない場合であってもI/O Deviceが大量のバッファを必要とする場合に、通常使用できずに無駄になるだけであったメモリを使用することが可能になり、メモリを追加する必要が無くなる。
Claims (4)
- メモリマップドI/Oを行なうために、主記憶装置のアドレス空間が使用不可となるために発生するメモリホール領域を有するコンピュータシステムにおいて、DMA転送時に前記主記憶装置に存在する前記メモリホール領域にアクセス可能とすることにより、前記メモリホール領域を前記メモリマップドI/Oのメモリ領域とすることを特徴とするコンピュータシステム。
- 前記メモリホール領域に存在するアドレス空間をディスクキャッシュ用のメモリとして使用することを特徴とする請求項1に記載のコンピュータシステム。
- 任意のタイミング、起動開始からOSの起動完了、あるいはキャッシュが全て使用されたタイミングにて、前記主記憶装置のどの領域がキャッシュされているか否かを取得する情報取得手段と、該情報取得手段により取得された情報を次回起動時に活用できるように不揮発性の記憶装置に保存する保存手段と、システムの初期化中に前記DMA転送によりOSが起動する前にキャッシュ領域に必要なデータを転送しておく転送手段と、を備えたことを特徴とする請求項1又は2に記載のコンピュータシステム。
- 前記メモリホール領域を有する主記憶装置に対して、当該メモリホール領域をアクセス可能にする操作手段を備えたことを特徴とする請求項1、2又は3に記載のコンピュータシステム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299793A (ja) * | 2007-06-04 | 2008-12-11 | Ricoh Co Ltd | 情報処理装置及び画像処理装置 |
Citations (6)
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 | 通信方法および情報処理装置 |
-
2005
- 2005-08-02 JP JP2005224430A patent/JP4800701B2/ja not_active Expired - Fee Related
Patent Citations (6)
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)
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 |