(57)【要約】      （修正有）【課題】定期的な管理をしなくてもキャッシュフラッシュ動作を実行することができる情報処理装置および情報処理装置の制御方法を提供する。【解決手段】情報処理装置は、不揮発性の半導体メモリ１０３と、半導体メモリへのアクセスを受け付けるメモリ制御部１０２と、少なくとも半導体メモリとメモリ制御部へ電源電圧の供給する電源回路と、少なくとも電源回路から半導体メモリへの電源電圧の供給ラインの電荷を排出する排出回路１１０と、メモリ制御部がアクセスを受け付けてから所定期間の間、排出回路による電荷の排出を遅延させる遅延回路４０１と、を有する。【選択図】図４
2020102167.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性の半導体メモリと、
前記半導体メモリへのアクセスを受け付けるメモリ制御部と、
少なくとも前記半導体メモリと前記メモリ制御部へ電源電圧の供給する電源回路と、
少なくとも前記電源回路から前記半導体メモリへの電源電圧の供給ラインの電荷を排出する排出回路と、
前記メモリ制御部が前記アクセスを受け付けてから所定期間の間、前記排出回路による電荷排出の開始を遅延させる遅延回路と、を有することを特徴とする情報処理装置。
【請求項２】
前記メモリ制御部がアクセスを受け付けることに基づいて、所定の信号を前記遅延回路に入力するタイマー回路を有し、
前記遅延回路は、前記所定の信号を受け付けてから前記所定期間において、前記電源電圧の低下の検知による前記排出回路による電荷排出の開始を遅延させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記タイマー回路は、前記メモリ制御部がアクセスを受け付ける前には、前記所定の信号とは異なる信号を前記遅延回路に入力し、前記メモリ制御部がアクセスを受け付けることに従って、前記所定の信号を前記所定期間の間、前記遅延回路に入力することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
電源電圧を監視する監視手段を更に有し、
前記排出回路は、前記監視手段が前記電源電圧の低下を検知したことに基づいて、少なくとも前記供給ラインの電荷を排出し、
前記遅延回路は、前記所定期間に、前記監視手段が前記電源電圧の低下の検知することよって前記排出回路による電荷排出の開始を遅延させることを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記排出回路を制御する制御信号を出力する電源制御回路を有し、
前記監視手段による前記電源電圧の低下の検知に基づいて、前記電源制御回路は、前記遅延回路に前記排出回路による電荷排出の開始を示す制御信号を入力することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記遅延回路は、前記タイマー回路から異なる信号を受け付け、且つ、前記電源制御回路から前記排出回路による電荷排出の開始を示す制御信号を受け付けた場合には、前記排出回路による電荷排出の開始を示す信号を前記排出回路に入力し、前記タイマー回路から前記所定の信号を受け付け、且つ、前記電源制御回路から前記排出回路による電荷排出の開始を示す制御信号を受け付けた場合には、前記排出回路による電荷排出を行わないことを示す信号を前記排出回路に入力することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記所定の信号はＬｏ信号であり、且つ、前記異なる信号および前記排出回路による電荷排を実行することを示す制御信号はＨｉ信号であることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記監視手段は、外部装置から供給される電源電圧を監視し、
前記電源電圧の低下が、停電または瞬断によって生じることを特徴とする請求項４乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記遅延回路は、ＡＮＤ回路であることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記不揮発性の半導体メモリは、データを一時的に保持するキャッシュ領域と、不揮発性のメモリ領域と、を有し、
前記所定の期間は、前記キャッシュ領域に一時的に記憶されたデータを前記メモリ領域に書き込むために必要な時間以上の長さであることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記アクセスは、印刷ジョブを実行することによる前記半導体メモリへのアクセスであることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記アクセスは、スキャンジョブを実行することによる前記半導体メモリへのアクセスであることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
不揮発性の半導体メモリと、前記半導体メモリへのアクセスを受け付けるメモリ制御部と、少なくとも前記半導体メモリと前記メモリ制御部への電源電圧の供給する電源回路と、少なくとも前記半導体メモリと前記メモリ制御部を電気的に接続した供給ラインの電荷を排出する排出回路と、を有する情報処理装置の制御方法であって、
電源電圧を監視し、前記メモリ制御部が前記アクセスを受け付けてから所定期間において、前記電源電圧の低下の検知による前記排出回路による電荷排出の開始を遅延させることを特徴とする情報処理装置の制御方法。
【請求項１４】
請求項１３に記載の制御方法を、コンピュータに実行させるためのプログラム。
【請求項１５】
請求項１４に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理装置の制御方法に関する。
【背景技術】
【０００２】
情報処理装置には、不揮発性の記憶装置が搭載される。これら記憶装置には、専用コントローラと揮発性のキャッシュメモリ、不揮発性の記録メディアを持ち、専用コントローラが不定期にキャッシュメモリ内のデータを記録メディアに書き込んでいる（キャッシュフラッシュ動作）。
【０００３】
また、情報処理装置は複数のデバイスを内蔵しており、それらの電源投入タイミングやリセットタイミングを制御するための電源シーケンス回路を備えている。特に電源ＯＦＦ時のシーケンスを作るため、電源ラインから電荷を抜くための排出回路が設けられる。
【０００４】
この排出回路は、停電や瞬断時にも動作する。瞬断や停電はいつ発生するかわからないため、排出回路が動作した際に、不揮発性メモリのキャッシュ内にデータが残っており、キャッシュフラッシュが間に合わないとデータを失うことになる。
【０００５】
先行文献１では、停電等が発生し、かつキャッシュメモリ内にデータがある場合、記憶装置の電源ラインを電池等のバックアップ電源に切り替え、キャッシュフラッシュの時間を確保する方法が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２７２３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
キャッシュフラッシュ動作を実行するための時間を確保するためにバックアップ電源に切り替える構成では、バックアップ電源及び切り替え回路を設ける必要があり、バックアップ電源を充電する等の定期的な管理が必要となってしまう。
【０００８】
本発明の目的は、定期的な管理をしなくてもキャッシュフラッシュ動作を実行するための時間を確保することである。
【課題を解決するための手段】
【０００９】
本発明は、不揮発性の半導体メモリと、半導体メモリへのアクセスを受け付けるメモリ制御部と、少なくとも半導体メモリとメモリ制御部へ電源電圧の供給する電源回路と、少なくとも電源回路から半導体メモリへの電源電圧の供給ラインの電荷を排出する排出回路と、メモリ制御部がアクセスを受け付けてから所定期間の間、排出回路による電荷排出の開始を遅延させる遅延回路と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、定期的な管理をしなくてもキャッシュフラッシュ動作を実行するための時間を確保することが可能である。
【図面の簡単な説明】
【００１１】
【図１】情報処理装置のブロック図
【図２】記憶装置とその周辺回路の内部ブロック図
【図３】比較例の電源オフ時シーケンス図、及び、本発明の電源オフ時シーケンス図
【図４】記憶装置とその周辺回路の内部ブロック図
【図５】ストレージとその周辺回路の動作を説明するフローチャート
【図６】電源オフ動作を説明するためのフローチャート
【発明を実施するための形態】
【００１２】
添付図面を参照して本発明の各実施例を詳しく説明する。以下の実施例は特許請求の範囲に係る発明を限定するものではなく、また各実施例で説明されている特徴の組み合わせすべてが発明の解決手段に必須の構成とは限らない。なお、以下の実施例では、情報処理装置の例として画像処理装置を用いる。
【００１３】
（実施例１）
図１は、情報処理装置１００のブロック図である。情報処理装置１００は、メインＣＰＵ１０１、ＩＯコントローラ１０２、ストレージ１０３、ＰＣＩｅデバイス１０４、電源制御回路１０７、電源回路１０８より成る。また図内においては、実線矢印は通信ラインを、破線矢印は電源ラインを意図している。
【００１４】
メインＣＰＵ１０１は、情報処理装置１００全体の動作を制御しており、ＲＡＭ（図示しない）上に展開された制御ソフトウェアによって稼働する。
【００１５】
ＩＯコントローラ１０２は、メインＣＰＵ１０１およびストレージ１０３と接続しており、メモリ制御部として機能する。ＩＯコントローラ１０２は、ストレージ１０３に情報処理装置１００を動作するために必要なデータや一時的なデータを保持させる。
【００１６】
ストレージ１０３は、半導体メモリであり、電源制御線１２３を介して電源回路１０８から電源電圧が供給される。また、ストレージ１０３は、通信ラインを介してＩＯ回路に接続されている。なお、記憶装置は、例えばＳＳＤ等である。
【００１７】
メインＣＰＵ１０１とＩＯコントローラ１０２は、電気的にはＰＣＩ−ｅｘｐｒｅｓｓ通信ラインを介して接続されている。また、メインＣＰＵ１０１は、通信ラインを介してＰＣＩｅデバイス１０４に接続されている。
【００１８】
電源制御回路１０７は、情報処理装置１００の電源シーケンスを制御する。電源制御回路１０７は、通信ラインを介してメインＣＰＵ１０１と接続し、メインＣＰＵ１０１の指示に従って動作する。
【００１９】
電源回路１０８は、電源制御線１０９を介して電源制御回路１０７に接続し、電源制御回路１０７の指示に従って外部電源１２６からの電力を基に複数の低圧電源を生成する。電源回路１０８と各デバイスとの間には、電源ライン上にスイッチ１１０やスイッチ１２５といった電源開閉回路が設けられる。
【００２０】
スイッチ１１０は、電源制御回路からスイッチ制御信号１１１および開閉回路制御信号１１２によって制御される。また、スイッチ１２５は、電源制御回路からスイッチ制御信号１１４および開閉回路制御信号１１２によって制御される。このように電源開閉回路を電源制御回路１０７が操作することで、電源シーケンスを生成する。
【００２１】
これら開閉回路は排出回路も備えており、電源制御回路１０７からの開閉回路制御信号１１２による指示を受けて、電荷のＤｉｓｃｈａｒｇｅも行う。加えて電源回路１０８は、停電などによる外部電源の電圧低下を検知し、電源制御回路１０７に通知するための電源状態通知信号１１３も備えている。電源状態通知信号は、通常状態でＨｉ（Ｈｉ電位）を示し、電源電圧が低下するとＬｏ（Ｌｏ電位）を示す。
【００２２】
なお、各信号は、通信ラインに流れる信号を示しているため、図において通信ラインに番号を付与している。これは、以下の実施例において同様である。
【００２３】
まず図２、図３（Ａ）を比較例として課題が生じる構成を説明する。図２は、ストレージ１０３とその周辺回路の内部ブロック図である。ＩＯコントローラ１０２は、ＩＯＣＰＵ２０１と、ＩＯに特化したＩＯ回路２０２を備える。ＩＯＣＰＵ２０１は、メインＣＰＵ１０１とのコマンド送受を行い、送受するデータと配下のストレージ１０３の状態を管理する。
【００２４】
またＩＯ回路２０２は、ＩＯＣＰＵ２０１とメインＣＰＵ１０１の間でやり取りされたコマンド通信に連動するデータをＩＯＣＰＵ２０１から受領し、ストレージ１０３に送信する。加えて、ＩＯ回路２０２からは提示回路２０３が接続され、先述したストレージとのデータ送受状況を、電圧レベルの変化によって外部ユーザに状態提示することができる。この提示回路２０３はハードウェアによって構成されており、ＩＯコントローラ１０２にアクセスが発生したことを通知する。提示回路は、ユーザにアクセス状態を提示するアクセスＬＥＤとその制御回路等である。この提示回路を駆動させるＩＯ回路内の回路はハードウェア制御によって動作するため、即応性が高い。
【００２５】
ストレージ１０３は、ストレージコントローラ２０４とｃａｃｈｅ２０５（キャッシュ領域）、およびＦＬＡＳＨ  ＭＥＭＯＲＹ２０６（メモリ領域）から成る。ストレージコントローラ２０４は、ストレージ１０３全体を制御しており、ＩＯＣＰＵ２０１との通信を担う。
【００２６】
ｃａｃｈｅ２０５は、ストレージコントローラ２０４がＩＯコントローラ１０２から受信したデータを一時的に保持するための揮発性メモリである。ストレージコントローラ２０４は、ｃａｃｈｅ２０５内データを不揮発性のＦＬＡＳＨ  ＭＥＭＯＲＹ２０６に不定期に書き込む。この動作がキャッシュフラッシュ動作であり、キャッシュフラッシュ動作はＩＯコントローラ１０２とは独立して動作する。
【００２７】
図３は、電源オフ時のシーケンス図である。まず図３（Ａ）に比較例として課題が生じる構成における電源オフ時シーケンス図を示す。
【００２８】
図３（Ａ）は、キャッシュフラッシュ動作が必要な状況下で、停電が発生した際の電源ＯＦＦシーケンスを示している。なお、ここでは停電を例に挙げたが瞬断でもよい。
【００２９】
ＩＯコントローラ１０２とストレージ１０３は、ＳＡＴＡ１０６ラインによってＡＣＣＥＳＳが発生すると、ストレージ１０３に書き込まれたデータを、ｃａｃｈｅ２０５内に記憶する。その後、ストレージコントローラ２０４の任意のタイミングでキャッシュフラッシュ動作が実行される。
【００３０】
しかし、何らかの理由によって、キャッシュフラッシュ動作を実行する前に外部電源が電圧低下したとする。その場合、電源回路１０８によって電圧低下が検知され、電源回路１０８は、電源状態通知信号１１３をＬｏにして電源制御回路１０７に電圧低下を通知する。
【００３１】
通知を受けた電源制御回路１０７は、開閉回路制御信号１１２、スイッチ制御信号１１４、スイッチ制御信号１１１をＨｉ（Ｈｉ信号）にする。これによりスイッチ１１０やスイッチ１２５がＤｉｓｃｈａｒｇｅ状態になり、ストレージ１０３電源の電圧が急激に落ちる（ディスチャージ処理）。
【００３２】
また、電源制御回路は、電源電圧の低下をメインＣＰＵ１０１に通知する。通知を受けたメインＣＰＵ１０１は、ＩＯ回路に電源電圧の低下を通知する。通知を受け取ったＩＯ回路は、ストレージ１０３に書き込み（キャッシュフラッシュ動作）を指示する。
【００３３】
しかしながら、キャッシュフラッシュ動作を実行する際に、ディスチャージ処理を実行することで電源制御線１２３において電荷排出されている。そのため、キャッシュフラッシュ動作を実行するための電力が足りず、ｃａｃｈｅ２０５に保持したデータをＦＬＡＳＨ  ＭＥＭＯＲＹ２０６に記憶させることが出来ない。
【００３４】
なお、情報処理装置の電源を正常にオフする場合にユーザから電源オフ指示を受け付けると、メインＣＰＵ１０１が、ＩＯ回路に電源オフを指示する。指示を受け取ったＩＯ回路は、ストレージコントローラにキャッシュフラッシュ動作を実行させる。そして、キャッシュフラッシュ動作が実行し終わった後に、メインＣＰＵ１０１の指示によって、電源制御回路がディスチャージ処理を実行する。
【００３５】
そこで本実施例の情報処理装置は、キャッシュフラッシュ動作が必要な場合に、電源ＯＦＦ時のディスチャージ処理を遅延させる。具体的な説明を図４〜図６、図３（Ｂ）を用いて行う。
【００３６】
図４は、本実施例の情報処理装置のストレージ１０３とその周辺回路の内部ブロック図である。Ｔｉｍｅｒ回路４０１（タイマー回路）、マスクトリガ信号４０２、マスク回路４０３（遅延回路）、タイマー信号４０４、マスク信号４０５が配されている点で図２と異なる。
【００３７】
ＩＯ回路２０２は、ストレージ１０３へのアクセスコマンドを受け付けると、提示回路２０３に通知を行う。そしてそれと同期してＩＯ回路２０２は、Ｔｉｍｅｒ回路４０１に入力するマスクトリガ信号４０２をＨｉからＬｏにする。
【００３８】
また、電源電圧の低下が生じた場合には、次のようになる。電源制御回路１０７は、電源電圧の低下をメインＣＰＵ１０１に通知する。通知を受けたメインＣＰＵ１０１は、ＩＯ回路にストレージ１０３へのキャッシュフラッシュ動作を指示する。ＩＯコントローラ１０２は、ストレージ１０３へのアクセスコマンドを受け付けると、Ｔｉｍｅｒ回路４０１に入力するマスクトリガ信号４０２をＨｉからＬｏにする。
【００３９】
Ｔｉｍｅｒ回路４０１は、ＩＯコントローラ１０２（ＩＯ回路２０２）とマスク回路４０３に接続されており、ＩＯ回路２０２からの指示によって出力するタイマー信号４０４（マスク回路４０３に入力する信号）を変える。
【００４０】
具体的には、ＩＯ回路２０２からＨｉを示すマスクトリガ信号がＴｉｍｅｒ回路４０１に入力されると、Ｔｉｍｅｒ回路４０１は、Ｈｉを示すタイマー信号４０４を出力する。
【００４１】
ＩＯ回路２０２からＬｏを示すマスクトリガ信号がＴｉｍｅｒ回路４０１に入力されると、Ｔｉｍｅｒ回路４０１は、所定期間の間Ｌｏ（ディスチャージ無効）を示すタイマー信号４０４を出力する。つまり、Ｔｉｍｅｒ回路４０１は、マスクトリガ信号がＬｏである時に、一定時間その信号をラッチする回路であるといえる。一定時間が経つと、Ｔｉｍｅｒ回路４０１は、マスク回路４０３にＨｉを示すタイマー信号４０４を入力する。
【００４２】
電源制御回路１０７は、電源電圧の低下を検知していない場合には、マスク回路にＬｏを示すスイッチ制御信号１１１を入力する。電源電圧の低下を検知する場合には、マスク回路にＨｉを示すスイッチ制御信号１１１を入力する。
【００４３】
マスク回路４０３は、Ｔｉｍｅｒ回路４０１と電源制御回路１０７に接続している一般的なＡＮＤ回路である。マスク回路４０３は、Ｔｉｍｅｒ回路４０１から入力されたタイマー信号４０４およびスイッチ制御信号１１１に基づいてマスク信号４０５を出力する。
【００４４】
例えば、マスク回路４０３は、Ｈｉを示すスイッチ制御信号１１１およびタイマー信号４０４が入力された場合に、Ｈｉ（ディスチャージ有効）を示すマスク信号を出力する。これにより、スイッチ１１０はＤｉｓｃｈａｒｇｅ状態になる。
【００４５】
また、例えば、マスク回路４０３は、Ｈｉを示すスイッチ制御信号１１１およびＬｏを示すタイマー信号４０４が入力された場合に、Ｌｏ（ディスチャージ無効）を示すマスク信号を出力する。このとき、スイッチ１１０はＤｉｓｃｈａｒｇｅ状態にならない。
【００４６】
図５は、ＩＯコントローラ１０２が、Ｄｉｓｃｈａｒｇｅマスクを行いながらストレージ１０３にＷｒｉｔｅを実行させる際のフローチャートである。
【００４７】
ステップＳ５０１において、ＩＯコントローラ１０２は、上流のメインＣＰＵ１０１からストレージ１０３に対してＷｒｉｔｅアクセスがあるかどうかを監視する。Ｗｒｉｔｅアクセスが無い場合には、ステップＳ５０１においてＷｒｉｔｅアクセスがあるまでステップＳ５０１を続ける。ＩＯコントローラ１０２は、メインＣＰＵ１０１からＷｒｉｔｅアクセス指示が合った場合に、ステップＳ５０２に遷移する。
【００４８】
ステップＳ５０２において、ＩＯコントローラ１０２は、ＷｒｉｔｅするデータをＩＯ回路２０２に保持する。また、この時、ＩＯコントローラ１０２は、メインＣＰＵ１０１およびストレージコントローラ２０４にコマンドを用いてでアクセスする。ステップＳ５０２を終えるとステップＳ５０３に遷移する。
【００４９】
ステップＳ５０３において、ＩＯコントローラ１０２は、ＩＯ回路２０２に保持したデータをストレージコントローラ２０４にＷｒｉｔｅする。ステップＳ５０３を終えるとステップＳ５０４に遷移する。
【００５０】
ステップＳ５０４において、ＩＯコントローラ１０２は、アクセスを受け付けた状態であることを、提示回路２０３を介して外部に通知する。ステップＳ５０４を終えるとステップＳ５０５に遷移する。
【００５１】
ステップＳ５０５において、ＩＯコントローラ１０２は、マスクトリガ信号４０２をＨｉからＬｏにする。これにより、Ｔｉｍｅｒ回路４０１から出力されるタイマー信号４０４がＬｏとなり、マスク回路４０３から出力されるマスク信号４０５が所定の期間の間、Ｈｉにならなくなる。なお、ステップＳ５０３〜Ｓ５０５は同時に実施されてもよい。
【００５２】
ステップＳ５０５を終えるとステップＳ５０６に遷移する。
【００５３】
ステップＳ５０６において、ＩＯコントローラ１０２が、ストレージコントローラ２０４にＷｒｉｔｅデータを送信し終えるまでステップＳ５０３〜ステップＳ５０６を繰り返す。ＩＯコントローラ１０２が、ストレージコントローラ２０４にＷｒｉｔｅデータを送信し終えると、ステップＳ５０７に遷移する。
【００５４】
ステップＳ５０７において、ＩＯコントローラ１０２は、提示回路２０３を非アクセス状態に変更する。ステップＳ５０７を終えるとステップＳ５０８に遷移する。
【００５５】
ステップＳ５０８において、ＩＯコントローラ１０２は、マスクトリガ信号４０２をＬｏからＨｉに変更する。ステップＳ５０８を終えるとステップＳ５０１に戻り、ＩＯコントローラ１０２は、アクセスを待つ。この状態は、ＩＯコントローラ１０２へのアクセスが発生しない状態、すなわち情報処理装置１００が電源ＯＦＦや省電力状態に至るまで継続される。
【００５６】
なお、アクセスとは、例えば、不図示のプリンタを用いて印刷ジョブを実行する際に、外部の情報処理装置からデータを受信し、受信したデータをストレージ１０３に記憶させることであってもよい。または、スキャンジョブを実行する際に、不図示のスキャナを用いて原稿を読み取り、読み取った画像データをストレージ１０３に記憶させることであってもよい。
【００５７】
図６は、マスク信号４０５を動作させながらＩＯコントローラ１０２にアクセスしている状況下で、外部電源の電圧低下が発生した場合のフローチャートである。
【００５８】
ステップＳ６０１において、停電などで外部電源の電圧低下が発生すると、電源回路１０８は電圧低下を検知し、電源状態通知信号１１３を介して電源制御回路１０７に通知する。ステップＳ６０１を終えるとステップＳ６０２に遷移する。
【００５９】
ステップＳ６０２において、電源制御回路１０７は、システムとして予め定められた電源ＯＦＦシーケンスに従って、情報処理装置１００を電源ＯＦＦ状態に移行させるため、開閉回路制御信号１１２、スイッチ制御信号１１１、１１４をＨｉに変更する。それにより、電源制御回路１０７は、スイッチ１１０とスイッチ１２５等の開閉回路をＤｉｓｃｈａｒｇｅ状態に移行しようとする。
【００６０】
ステップＳ６０３において、ＩＯコントローラ１０２が、マスクトリガ信号をＬｏにするようなコマンドを受けていない場合には、ステップＳ６０６に遷移する。ステップＳ６０６の説明は後述する。
【００６１】
ステップＳ６０３において、ＩＯコントローラ１０２が、マスクトリガ信号をＬｏにするようなコマンドを受けた場合には、ステップＳ６０３に遷移する。なお、ここで受けたとは、ステップＳ６０２による信号の変更が行われた後に限らない。ＩＯコントローラ１０２が該コマンドを受けたことによりタイマー信号がＬｏになっている所定期間内に、ステップＳ６０２による信号の変更が行われていてもよいし、同時でもよい。
【００６２】
また、マスクトリガ信号をＬｏにするようなコマンドとは、図５で説明したＷｒｉｔｅコマンドでもよいし、キャッシュフラッシュ動作を指示するコマンドでもよい。例えば、ＷｒｉｔｅコマンドをＩＯコントローラ１０２で受け付けていない場合、ＣＰＵ１０１は、キャッシュフラッシュ動作を指示するコマンドをＩＯコントローラ１０２に送信する。
【００６３】
ステップＳ６０４において、Ｔｉｍｅｒ回路４０１は、Ｌｏを示すタイマー信号４０４を所定期間出力する。つまり、所定期間、マスク回路４０３から出力されるマスク信号４０５はＬｏとなり、所定期間、スイッチ１１０にＤｉｓｃｈａｒｇｅが指示されない（マスク状態）。
【００６４】
ここでいう所定期間の長さは、少なくともストレージコントローラ２０４によるキャッシュフラッシュ動作を完了するために必要な時間以上の長さである。なお、電源制御線１２３（供給ライン）は、少なくとも該所定期間のあいだ、キャッシュフラッシュ動作を実行することが可能な電荷量を保持できるように設計される。ステップＳ６０４を終えるとステップＳ６０５に遷移する。
【００６５】
ステップＳ６０５において、Ｔｉｍｅｒ設定時間が満了するまで、ステップＳ６０５に戻る。Ｔｉｍｅｒ設定時間が満了すると、ステップＳ６０６に遷移する。なお、図示しないが、このＴｉｍｅｒ回路４０１による遅延時間内に、ストレージコントローラ２０４によるキャッシュフラッシュが完了する。ステップＳ６０５を終えるとステップＳ６０６に遷移する。
【００６６】
ステップＳ６０６において、Ｔｉｍｅｒ回路４０１は、タイマー信号４０４をＨｉ（非マスク状態）に戻す。これによりマスク回路４０３から出力されるマスク信号４０５はＨｉとなる。ステップＳ６０６を終えるとステップＳ６０７に遷移する。
【００６７】
ステップＳ６０７において、マスク信号４０５がＨｉを示すことで、スイッチ１１０やスイッチ１２５によるＤｉｓｃｈａｒｇｅが実行される。ステップＳ６０７を終えるとフローが終了する。
【００６８】
図３Ｂは、これら一連のシーケンスを示したものである。ＩＯコントローラ１０２とストレージ１０３が、ＳＡＴＡ１０６ラインによってＡＣＣＥＳＳすると、同時に（図示しない）Ｌｏを示すマスクトリガ信号４０２がＴｉｍｅｒ回路４０１によって供給され、マスク信号４０５が所定期間Ｌｏになる（３０２）。
【００６９】
一方で、任意のタイミングで外部電源の電圧低下が発生すると、電源回路１０８が電源状態通知信号１１３をＬｏにして電源制御回路１０７に通知し、これを受けて電源制御回路１０７は開閉回路制御信号１１２をＨｉ状態にする。
【００７０】
しかしながら、開閉回路制御信号１１２をＨｉ状態であっても、マスク回路４０３にＬｏを示すタイマー信号４０４が入力されるため、マスク回路４０３の出力はであるマスク信号４０５はＬｏになり、Ｄｉｓｃｈａｒｇｅは実行されない。つまり、ストレージ１０３に接続される電源制御線１２３における電荷排出が抑制され、残電荷を用いてストレージコントローラ２０４がキャッシュフラッシュ動作を実施することが可能となる。
【００７１】
Ｔｉｍｅｒ回路４０１による遅延時間が満了すると、マスクトリガ信号４０２がＨｉとなる。そのため、マスク回路４０３から出力されるマスク信号４０５は、Ｈｉ（非マスク状態）に戻る。その結果、マスク回路４０３によるマスクが解除され、Ｄｉｓｃｈａｒｇｅが実行されストレージ１０３の電荷が抜かれる。具体的には、電源制御線１２３の電荷が排出され、記憶装置に電荷が供給されなくなる。
【００７２】
以上述べたように、本実施の形態によれば、ＩＯコントローラ１０２がストレージ１０３に対してＷｒｉｔｅ指示を実行した際、Ｗｒｉｔｅアクセスの開始から所定期間はＤｉｓｃｈａｒｇｅが実施されない。この所定期間の間に、ストレージ１０３の電源制御線１２３に残された電荷を用いて、このストレージコントローラ２０４がキャッシュフラッシュ動作を実施することができるようになる。
【００７３】
さらに、本実施例の構成を実現するために必要な回路は、Ｔｉｍｅｒ回路４０１やマスク回路４０３などの安価で確実性の高い部品のみで構成することができる。
【００７４】
さらに、本実施例の一連の動作はＩＯコントローラ１０２が独立して行うため、メインＣＰＵ１０１を介在させる必要がない。つまり、即応性が高い制御が可能になる。これは、例えば外部電源不安定な状況において、残電荷を用いてキャッシュフラッシュ動作を行うための時間を設けることが出来る。
【００７５】
加えて、外部電源の状態とは完全に独立して実施されているため、例えば、瞬断や停電が生じた状態であっても、残電荷を用いてストレージコントローラがキャッシュフラッシュ動作を行うための時間を設けることができる。
【００７６】
以上、本発明の構成によれば、定期的な管理をしなくてもキャッシュフラッシュ動作を実行するための時間を確保することが可能である。
【００７７】
（その他の実施形態）
以上、本発明の様々な例と実施形態を示して説明したが、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
【００７８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７９】
１０２  ＩＯコントローラ
１０３  ストレージ
１０７  電源制御回路
１０８  電源回路
４０３  マスク回路
【図１】
2020102167.tif 000003
【図２】
2020102167.tif 000004
【図３】
2020102167.tif 000005
【図４】
2020102167.tif 000006
【図５】
2020102167.tif 000007
【図６】
2020102167.tif 000008