(57)【特許請求の範囲】
【請求項１】
ホストに接続して使用されるハードディスクドライブ互換記憶装置であって、
ファイル管理情報部とデータ部とを備え、前記データ部にはホストから送られて来るデータが保存され、前記ファイル管理情報部には前記データ保存に関連するファイル管理情報が保存されるように構成された半導体不揮発性メモリと、
揮発性メモリと、
前記ホストの制御下で前記ホストとの間でデータの書き込み・読み出し制御を行うコントローラと、
電源保持部と、を有し、
前記記憶装置は、前記ホストから供給される電力によって駆動されるように構成されてなり、
前記コントローラは、
（１）ハードディスクに対するデータ管理方式と互換性のあるデータ管理方式で前記ホストとの間でやり取りされるデータの書き込み・読み出しを管理し、
（２）前記ホストの起動時に前記不揮発性メモリ内の前記ファイル管理情報部からファイル管理情報を読み出して前記揮発性メモリに書き込み、
（３）前記ホストから前記不揮発性メモリへの読み出し動作と書き込み動作があったときは、前記揮発性メモリ内の前記ファイル管理情報に基づいて読み出しと書き込みを行うとともに前記揮発性メモリ内で前記ファイル管理情報の更新を行い、
（４）前記ホストから送られて来るデータが、少なくともデータサイズ、書き換え頻度及びブロック単位での充足率のいずれかにおいて、予め設定された条件のときは前記揮発性メモリ内に保存し、予め設定された条件以外のときは前記不揮発性メモリに保存するようにデータの保存先の振り分けを行い、
（５）前記ホストにおける終了動作に応じて前記揮発性メモリ内に記録されている更新された前記ファイル管理情報を読み出して前記不揮発性メモリに書き込み、
（６）前記ホスト側で予期しない電源遮断が発生したときは、電源供給を前記電源保持部に切り替えるとともに、ホスト側からの信号を遮断する制御を行い、前記電源保持部から供給される電力を利用して前記揮発性メモリ内に記録されている更新された前記ファイル管理情報を読み出して前記不揮発性メモリに書き込む、
処理を実行するように構成されてなることを特徴とする記憶装置。
【請求項２】
請求項１記載の記憶装置において、
前記電源保持部はコンデンサを備え、
前記コンデンサへ流入する電圧、または前記コンデンサの電位差の変化を検出することにより前記コンデンサの劣化が検知されることを特徴とする記憶装置。
【請求項３】
請求項１記載の記憶装置において、
前記不揮発性メモリは、複数個の不揮発性メモリ素子から構成され、
予め、緊急電源遮断時用のデータ格納アドレスが前記複数の不揮発性メモリ素子に分散して割り当てられており、
緊急電源遮断時に、前記コントローラは、前記揮発性メモリ内のデータを読み出して、前記複数の不揮発性メモリ素子のそれぞれの前記データ格納アドレスに書き込むことを特徴とする記憶装置。
【請求項４】
請求項１記載の記憶装置において、
前記コントローラは、電源起動時に前記不揮発性メモリ内の前記データ部内の書き換え頻度の高いデータを読み出して前記揮発性メモリに書き込むことを特徴とする記憶装置。
【請求項５】
請求項１記載の記憶装置において、
前記ファイル管理情報は、良品・不良品情報、論理アドレス、チップ内アドレス、書き換え回数、ＥＣＣ情報、データの存在場所情報、不具合発生履歴のうち、少なくとも１つ以上を含むことを特徴とする記憶装置。
【請求項６】
請求項１記載の記憶装置において、
前記コントローラは、書き込み動作時に、書き込みデータのサイズが第１のサイズより大きいときは前記不揮発性メモリへ前記書き込みデータを書き込み、前記第１のサイズより小さいときは前記揮発性メモリへ前記書き込みデータを書き込むことを特徴とする記憶装置。
【請求項７】
請求項１記載の記憶装置において、
前記コントローラは、書き込み動作時に、書き込みデータの書き換え頻度が第１の頻度より大きいときは前記揮発性メモリへ前記書き込みデータを書き込み、前記第１の頻度より小さいときは前記不揮発性メモリへ前記書き込みデータを書き込むことを特徴とする記憶装置。
【請求項８】
請求項１記載の記憶装置において、
前記コントローラは、書き込み動作時に、ブロック単位での充足率が第１の充足率より大きいときは前記揮発性メモリへデータを書き込み、前記第１の充足率より小さいときは前記不揮発性メモリへデータを書き込むことを特徴とする記憶装置。
【請求項９】
請求項１記載の記憶装置において、
前記コントローラは、前記揮発性メモリ内の前記ファイル管理情報に基づいて、書き換え回数を判断し、前記不揮発性メモリに対して均等化処理を行うことを特徴とする記憶装置。
【請求項１０】
請求項１記載の記憶装置において、
前記コントローラは、書き込み動作時に、前記不揮発性メモリ内の１つのブロック内において、ページ単位で空きページに追記し、前記揮発性メモリ内の前記ファイル管理情報を更新することを特徴とする記憶装置。
【請求項１１】
請求項１記載の記憶装置において、
前記電源保持部はコンデンサを備え、
前記コンデンサは、基板とスペーサとの間に挟まれて固定されていることを特徴とする記憶装置。
【請求項１２】
請求項１１記載の記憶装置において、
前記スペーサの素材は、液状樹脂、ポリカーボネート、非導電性素材のうちのいずれかであることを特徴とする記憶装置。
【請求項１３】
請求項１記載の記憶装置において、
残余ブロックの残数により寿命を検知することを特徴とする記憶装置。
【請求項１４】
ホストに接続して使用されるハードディスクドライブ互換記憶装置であって、
ファイル管理情報部とデータ部とを備え、前記データ部にはホストから送られて来るデータが保存され、前記ファイル管理情報部には前記データ保存に関連するファイル管理情報が保存されるように構成された少なくとも１６Ｇビットの記憶容量を有する半導体不揮発性メモリと、
揮発性メモリと、
前記ホストの制御下で前記ホストとの間でデータの書き込み・読み出し制御を行うコントローラと、
少なくとも０．１Ｆの容量の電気二重層コンデンサを含む電源保持部と、を有し、
前記記憶装置は、前記ホストとの間でやり取りされるデータの書き込み・読み出しをハードディスクドライブ互換のインターフェースを介して前記ホストに接続され、前記ホストの正常動作時においては前記半導体不揮発性メモリと前記揮発性メモリと前記コントローラは前記ホストから供給される電力で駆動され、前記電気二重層コンデンサは前記ホストから供給される電力で充電されるように構成されてなり、
前記コントローラは、
（１）前記ホストの起動に応答して前記不揮発性メモリ内の前記ファイル管理情報部からファイル管理情報を読み出して前記揮発性メモリに書き込み、
（２）前記ホストから前記記憶装置に読み出しあるいは書き込みのアクセスがあったときは、前記揮発性メモリ内の前記ファイル管理情報に基づいて読み出しと書き込みを行うとともに前記揮発性メモリ内で前記ファイル管理情報の更新を行い、
（３）前記ホストから送られて来るデータを、予め設定された条件に基づき前記揮発性メモリに保存するか前記不揮発性メモリに保存するかのデータ保存先の振り分けを行い、
（４）前記ホストにおける終了動作に応じて前記揮発性メモリ内に記録されている更新された前記ファイル管理情報を読み出して前記不揮発性メモリに書き込み、
（５）前記ホスト側で予期しない電源遮断が発生したときは、電源供給を前記電源保持部に切り替えるとともに、ホスト側からの信号を遮断する制御を行い、前記電源保持部から供給される電力を利用して前記揮発性メモリ内に記録されている更新された前記ファイル管理情報を読み出して前記不揮発性メモリに書き込む、
処理を実行するように構成されてなることを特徴とする記憶装置。
【請求項１５】
ホストに接続して使用されるハードディスクドライブ互換記憶装置であって、
ファイル管理情報部とデータ部とを備え、前記データ部にはホストから送られて来るデータが保存され、前記ファイル管理情報部には前記データ保存に関連するファイル管理情報が保存されるように構成された少なくとも１６Ｇビットの記憶容量を有する半導体不揮発性メモリと、
前記ファイル管理情報を少なくとも予め設定された条件に該当するデータとを保存するメモリ容量を有する揮発性メモリと、
前記ホストの制御下で前記ホストとの間でデータの書き込み・読み出し制御を行うコントローラと、
少なくとも０．１Ｆの容量の電気二重層コンデンサを含む電源保持部と、を有し、
前記記憶装置は、前記ホストとの間でやり取りされるデータの書き込み・読み出しをハードディスクドライブ互換のインターフェースを介して前記ホストに接続され、前記ホストの正常動作時においては前記半導体不揮発性メモリと前記揮発性メモリと前記コントローラは前記ホストから供給される電力で駆動され、前記電気二重層コンデンサは前記ホストから供給される電力で充電されるように構成されてなり、
前記コントローラは、
（１）前記ホストの起動に応答して前記不揮発性メモリ内の前記ファイル管理情報部からファイル管理情報を読み出して前記揮発性メモリに書き込み、
（２）前記ホストから前記記憶装置に読み出しあるいは書き込みのアクセスがあったときは、前記揮発性メモリ内の前記ファイル管理情報に基づいて読み出しと書き込みを行うとともに前記揮発性メモリ内で前記ファイル管理情報の更新を行い、
（３）前記ホストから送られて来るデータを、前記予め設定された条件に基づき前記揮発性メモリに保存するか前記不揮発性メモリに保存するかのデータ保存先の振り分けを行い、
（４）前記ホストにおける終了動作に応じて前記揮発性メモリ内に記録されている更新された前記ファイル管理情報を読み出して前記不揮発性メモリに書き込み、
（５）前記ホスト側で予期しない電源遮断が発生したときは、電源供給を前記電源保持部に切り替えるとともに、ホスト側からの信号を遮断する制御を行い、前記電源保持部から供給される電力を利用して前記揮発性メモリ内に記録されている更新された前記ファイル管理情報を読み出して前記不揮発性メモリに書き込む、
処理を実行するように構成されてなることを特徴とする記憶装置。
【請求項１６】
請求項１４または１５に記載の記憶装置において、
前記予め設定された条件は、データサイズ、書き換え頻度及びブロック単位での充足率のいずれかに対し設定されていることを特徴とする記憶装置。
【請求項１７】
請求項１乃至１６のいずれか一項に記載の記憶装置において、
前記コントローラによって実行される処理は、起動時に前記不揮発性メモリに記録されていたファイル管理情報を消去し前記揮発性メモリ内に記録されている更新された前記フィル管理情報を前記不揮発性メモリに書き込む処理を含むことを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置に関し、例えばフラッシュメモリを用いて構成され、ファイルメモリとして用いられる記憶装置に利用して有効な技術に関するものである。
【背景技術】
【０００２】
フラッシュメモリを用いて複数ページ分の記憶容量を持つファイルメモリを構成するようにされた記憶装置が特許文献１に開示されている。
【特許文献１】特開平７−４４４６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
民生用機器、工業用途の組み込み機器の記憶デバイスとして使用されているハードディスクドライブ（以下、「ＨＤＤ」という）の置き換え製品として、フラッシュメモリ等の半導体不揮発性メモリを記憶媒体に使用したＦＭＤ（Flash Memory Drive）の製品化検討に際して、半導体不揮発性メモリの書き換え耐性に問題の生じることが判明した。つまり、フラッシュメモリのような半導体不揮発性メモリは、その書き換え回数には一定の制限があり、上記のようなファイルメモリに使用した場合において、書き換えの発生回数が特定の記憶エリアに頻繁に発生するアドレスを調査したところ、ファイル管理情報、例えばＰＢＲ（Partion Boot Record），ＦＡＴ（File Allocation Table）システムの場合、ＦＡＴ１，ＦＡＴ２，ＤＩＲ(Directory) に集中していることが判明した。同様に、他の方式のＯＳにおいてもファイル管理情報に書き換えが集中していると判明した。【０００４】
また、記憶装置において、ＨＤＤの磁気ヘッドのアクセス寿命が約３０万回、フラッシュメモリ（ＮＡＮＤ型、ＡＮＤ型）はブロック当たり１０万回〜３０万回と、どちらも有寿命部品である。そして、記憶装置の寿命は、記憶部の寿命に依存する。【０００５】
このように、記憶装置の寿命は、記憶部のアクセスによる劣化が問題であり、記憶部の寿命の最大を決めている。特に、書き込みブロックサイズの大きいＮＡＮＤ型フラッシュメモリは、書き込みブロックサイズより小さいサイズのデータが複数あり、書き込みが頻繁に発生すると、短い期間で書き込み寿命に達してしまう。特に、ＯＳ上のファイル管理部は、書き換えが頻繁に発生し、最近のＯＳでは、障害が発生しても履歴が追えるように頻繁に位置情報を書き込むため、記憶装置の寿命が極端に短くなる。【０００６】
そこで、本発明の目的は、不揮発性メモリの書き換え耐性の向上と、書き込み・読み出しのデータ転送レートの向上を実現した記憶装置を提供することにある。【０００７】
本発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。【０００９】
すなわち、本発明による記憶装置は、ファイル管理情報部とデータ部とを備える不揮発性メモリと、前記不揮発性メモリのファイル管理情報を記憶する揮発性メモリと、前記不揮発性メモリ及び前記揮発性メモリの制御を行うコントローラと、電源遮断時に、前記不揮発性メモリ、前記揮発性メモリ又は前記コントローラに電源を供給する電源保持部とを有し、前記コントローラは、電源起動時に前記不揮発性メモリ内の前記ファイル管理情報部のファイル管理情報を読み出して前記揮発性メモリに書き込み、前記コントローラは、前記不揮発性メモリへの読み出し動作と書き込み動作においては、前記揮発性メモリ内の前記ファイル管理情報に基づいて読み出しと書き込みを行い、前記コントローラは、電源遮断時に前記揮発性メモリ内の前記ファイル管理情報を読み出して前記不揮発性メモリに書き込むことを特徴とするものである。
【発明の効果】
【００１０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。【００１１】
半導体不揮発性メモリの書き換え耐性の向上と、書き込み・読み出しのデータ転送レートの向上を実現した記憶装置を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態による記憶装置の概略構成を示すブロック図である。
【図２】本発明の一実施の形態による記憶装置のアドレス空間を示すメモリマップ図である。
【図３】本発明の一実施の形態による記憶装置のメモリ動作説明図である。
【図４】本発明の一実施の形態による記憶装置において、大容量コンデンサ劣化の検出を行う回路の概略構成を示すブロック図である。
【図５】本発明の一実施の形態による記憶装置において、大容量コンデンサ劣化の検出を行う回路の動作を示すフローチャートである。
【図６】本発明の一実施の形態による記憶装置において、大容量コンデンサ劣化の検出を行う回路における判定方法を示す説明図である。
【図７】本発明の一実施の形態による記憶装置において、大容量コンデンサ劣化の検出を行う回路における判定方法を示す説明図である。
【図８】本発明の一実施の形態による記憶装置において、大容量コンデンサ劣化の検出を行う回路における判定方法を示す説明図である。
【図９】本発明の一実施の形態による記憶装置の概略構成を示すブロック図である。
【図１０】本発明の一実施の形態による記憶装置において、緊急電源遮断シーケンスの動作を示すフローチャートである。
【図１１】本発明の一実施の形態による記憶装置において、パワーオン／パワーオフシーケンスの動作を示すフローチャートである。
【図１２】本発明の一実施の形態による記憶装置の概略構成を示すブロック図である。
【図１３】本発明の一実施の形態による記憶装置において、コントローラによる振り分けの動作を示すフローチャートである。
【図１４】本発明の一実施の形態による記憶装置において、４倍の書き換え回数差が生じた場合の平準化処理の動作例を示すフローチャートである。
【図１５】本発明の一実施の形態による記憶装置において、平準化処理の動作例を示す説明図である。
【図１６】本発明の一実施の形態による記憶装置において、データ追記の動作例を示すフローチャートである。
【図１７】本発明の一実施の形態による記憶装置の基板上のレイアウトを示す平面図である。
【図１８】本発明の一実施の形態による記憶装置の基板上のレイアウトを示す裏面図である。
【図１９】本発明の一実施の形態による記憶装置において、スペーサによるコンデンサの固定例を示す図である。
【図２０】本発明の一実施の形態による記憶装置において、スペーサによるコンデンサの固定例を示す図である。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には原則として同一の符号を付し、その繰り返しの説明は省略する。【００１４】
（概略構成）
図１は、本発明の一実施の形態による記憶装置の概略構成を示すブロック図である。【００１５】
まず、図１により、本実施の形態による記憶装置の構成の一例を説明する。本実施の形態の記憶装置は、例えばＨＤＤ互換記憶装置（Flash Memory Drive：ＦＭＤ）１００とされ、特に制限されないが、５１２Ｍビットの記憶容量を持つ不揮発性メモリ（フラッシュメモリ等）１０１を、例えば３２個又は６４個のように多数個を１つのパッケージの中に搭載して複数ページ分の記憶容量を持つようなファイルメモリを構成するようにされる。【００１６】
これらの不揮発性メモリ１０１は、不揮発性メモリＩＦ（図示せず）を通して内部バス１０２に接続される。内部バス１０２は、コントローラ１０３に接続される。【００１７】
コントローラ１０３は、１チップマイクロコンピュータ等のような制御部とＡＴＡ（AT Attachment）又はＳＣＳＩ（Small Computer System Interface） のようなインターフェイスとから構成される。したがって、コントローラ１０３により、インターフェイスに設けられたドライバと上記不揮発性メモリ１０１との間でデータのやりとり、つまりはデータの書き込みや読み出しが行われる。【００１８】
この実施例では、上記パッケージには、電源遮断を検出する電源検出部１０４と、電源遮断時の動作電圧を確保するための大容量コンデンサ及びスイッチ等からなる電源保持部１０５と、揮発性メモリ（ＤＲＡＭ，ＳＲＡＭ等）１０６をさらに備えている。電源保持部１０５内の大容量コンデンサは、システム側において予期しない電源遮断が生じた場合でも、その蓄積電荷によって不揮発性メモリ１０１やコントローラ１０３や揮発性メモリ１０６や電源検出部１０４に電圧を供給して、不揮発性メモリ１０１の正常終了可能な状態まで動作電圧を維持するように動作する。大容量コンデンサとしては、例えば、電気二重層コンデンサなどを用いる。なお、電源検出部１０４内の大容量コンデンサの代わりに充電式の電池などを用いてもよい。【００１９】
不揮発性メモリ１０１においては、書き込み途中において停電や操作や取扱いミスによってシステム側の電源遮断が行われると、書き込み動作が中断されてしまう。一般にファイル形式の記憶装置に記憶するデータは、誤りビットの検出や修正を目的にエラー検出、修正用のコードをある１かたまりのデータの一部に付加して記憶しているため、書き込み途中で中断してしまうと、新旧データの入り交じったデータとなってしまうために、エラー検出、修正用コードは新旧いずれのものとも合わなくなり、これを読み出すと必ずエラーとなってしまい、データの破壊が行われる。消去動作中においても、消去が未完了のままにされると同様なエラーが発生してしまう。【００２０】
さらに、あるページへの書き込み中に電源遮断に伴い動作電圧が低下して十分な書き込みが行われないとき、当該ページへの書き込み不能と誤判断して不良ページとして登録して、実質的にデバイス故障としてしまうなどの不都合が生じる。上記大容量コンデンサは、上記のような誤動作を防止して、不揮発性メモリ１０１において常に正常終了が行われるような動作電圧確保のために、例えば約０．１Ｆ程度の比較的大きな容量値を持つようにされる。【００２１】
電源検出部１０４は、マイクロコンピュータ等のようなホスト１０７側からの電源電圧ＶＣＣを受けて、その電源起動と遮断を検出する。【００２２】
システム側において予期しない電源遮断等が発生した場合、上記のように電源検出部１０４によりコントローラ１０３及び不揮発性メモリ１０１には、電源保持部１０５内の大容量コンデンサから動作電圧が維持され、逆流防止が行われるとともに、コントローラ１０３内のインターフェイス回路が上記システム側からの信号に応答しないように制御され、電源遮断直前の信号状態を維持するために、もしも書き込み動作中ならばそのままの書き込みが継続して行われるために書き込み動作を正常に終了させることができる。同様に、消去中でもそのまま消去動作が継続して行われて消去動作も正常に終了させられる。【００２３】
記憶装置１００は、例えば２．５インチのハードディスクドライブ装置と同様な外形サイズ（７０．０×１００．０×９．５ｍｍ）又は３．５インチのハードディスクドライブ装置と同様な外形サイズ（１０１．６×１４６．０×２５．４ｍｍ）のパッケージに搭載され、コントローラ１０３内のインターフェイス回路に接続されるコネクタピンも上記２．５インチのハードディスクドライブ装置又は３．５インチのハードディスクドライブ装置と同様なものが用いられる。これにより、この実施例の記憶装置１００は、ＨＤＤ（ハードディスクドライブ）互換性記憶装置とされる。【００２４】
そして、この実施例では、フラッシュメモリのような半導体不揮発性メモリ１０１は、その書き換え回数には一定の制限があることに、上記のようなファイルメモリに使用した場合において、書き換えの発生回数が例えば前記のようなＰＢＲ，ＦＡＴシステムの場合のＦＡＴ１，ＦＡＴ２，ＤＩＲのようなファイル管理情報が割り当てられる領域に集中することに着目し、半導体不揮発性メモリ１０１における書き換え回数制限が特定のエリアで発生してしまうのを防止するために、揮発性メモリ（ＲＡＭ）１０６が利用される。【００２５】
電源投入時に、不揮発性メモリ１０１上に展開されたホスト１０７から見えるアドレス上のデータを揮発性メモリ１０６の先頭アドレスから予め決められたアドレスのエリアごとを揮発性メモリにロードする。つまり、図２で示したような不揮発性メモリに割り当てられた０ｈからｘｘｘｈまでのようなＸＸＧＢ（ギガビット）のような記憶容量を持つ場合、例えば０ｈのような先頭アドレスから２０ｈまでのエリア（１６ＫＢ）を上記ファイル管理情報が記録されるエリアとする。【００２６】
そして、図３に示すように、電源投入が検知されると、不揮発性メモリ１０１の上記０ｈのような先頭アドレスから２０ｈまでのエリア（１６ＫＢ）のデータつまりはファイル管理情報（２）が読み出されて揮発性メモリ１０６の例えば０ｈのような先頭アドレスから２０ｈまでのエリアに書き込まれる。揮発性メモリ１０６に書き込まれた先頭アドレスから２０ｈまでのエリア（１６ＫＢ）のデータ（１）は、上記のデータ（２）がそのまま投影されたいわばシャドー情報とされる。また、揮発性メモリ１０６のそれ以外２０ｈを越える記憶エリアはデータバッファエリアとして使用される。揮発性メモリ１０６は、スタティック型ＲＡＭ又はダイナミック型ＲＡＭを用いるようにすることができる。【００２７】
そして、上記電源供給によって不揮発性メモリ１０１に対してホスト側から書き込み又は読み出しが行われる際において、データの書き込みや読み出しのために上記ファイル管理情報の読み出しや書き込みは、不揮発性メモリ１０１のファイル管理情報（２）が用いられるのではなく、揮発性メモリ１０６の上記シャドー情報（１）が用いられる。このとき、コントローラ１０３において、ホスト１０７側から入力されるデータのアドレス（１）が（１）≦２０ｈならファイル管理情報と判定され、揮発性メモリ１０６の上記先頭アドレスから２０ｈまでのエリアに対してメモリアクセスが行われてシャドー情報（１）の更新が行われる。【００２８】
ここで、ファイルシステムは、記憶装置に記録されているデータを管理する方式であり、管理を行うソフトウェアや、記録媒体に設けられた管理領域など管理情報のこともファイルシステムという場合がある。記憶装置にファイルやフォルダ（ディレクトリ）を作成したり、移動や削除を行ったりする方法や、データを記録する方式、管理領域の場所や利用方法などが定められている。通常、ファイルシステムは、ＯＳ（オペレーティング・システム）の持つ機能の一つとして提供されて、ＯＳごとに異なるファイルシステムを用いる。例えばＦＡＴ（File Allocation Table）は、ＭＳ−ＤＯＳからウインドウズ（登録商標）ＭｅまでのＯＳにおいて、標準で使われたファイルシステムであり、ファイルを構成するクラスタのディスク上の物理的な配置を管理する。例えばＦＡＴ３２では、２ＧＢ以上のディスクを扱える。上記のようなハードディスクと互換性を持つようにするために、不揮発性メモリ１０１においても上記同様なファイシステムが適用される。【００２９】
電源が遮断されると、揮発性メモリ１０６のデータ（１）が、不揮発性メモリ１０１へのファイル管理情報（２）として置き換えられる。つまり、揮発性メモリ１０６のデータ（１）が読み出されて、それが不揮発性メモリ１０１のデータ（２）として書き換えられる。このような書き換えのために、不揮発性メモリ１０１では、上記電源投入時に記録されていたデータがいったん消去されて、上記電源が遮断される前の揮発性メモリ１０６に保持されていたシャドー情報（１）が不揮発性メモリ１０１に対してファイル管理情報（２）として書き込まれる。このようなメモリアクセスを採用することによって、本願のファイルメモリにおけるファイル管理情報は、メモリアクセスの都度、揮発性メモリ１０６を用いて更新が行われ、電源が遮断される前に、それが不揮発性メモリ１０１に転送されて不揮発性データとして保持される。【００３０】
このようにして、揮発性メモリ内にファイル管理情報があるようにすれば、通常の読出し（リード時）や更新（ライト時）時には、不揮発性メモリに対してその都度ファイル管理情報の書き換え（消去、書き込み）が発生せず、上記のような書き換え回数の制限に達することがない。また、揮発性メモリを用いて管理情報の読み出しや書き換え（更新）を行うので、内部バス１０２及び不揮発性メモリインターフェイス（図示せず）を介して不揮発性メモリ１０１へのメモリアクスセス時間に比べて、読出し時間及び書き込みの短縮が図られて、記憶装置としてのメモリアクセスの高速化が可能となる。そして、データ書き込み時には、不揮発性メモリに対する書き込み回数の低減ができ、あるいは書き込みによる待ち時間がなくなることによりシステムとしてのパフォーマンスが向上する。【００３１】
基本的には、上記のように電源起動時と電源遮断時に不揮発性メモリ１０１と揮発性メモリ１０６との間で上記ファイル管理情報の転送を行うようにすればよい。この他、ホスト１０７側からコントロール線を通して入力された制御信号によって、上記揮発性メモリの更新されたファイル管理情報を不揮発性メモリ１０１に転送するようにしてもよい。例えば、システムの電源遮断の時には、上記ファイル管理情報を揮発性メモリ１０６から不揮発性メモリ１０１に転送して、かかる情報を不揮発性化してから電源を遮断するようにする場合に利用できる。あるいは、一定時間毎に上記制御信号を発生させて上記ファイル管理情報を揮発性メモリ１０６から不揮発性メモリ１０１に転送して、かかる情報の更新を行うようしておいてもよい。この場合には、電源遮断時にファイル管理情報の更新が無いときには、そのまま電源を遮断することができる。【００３２】
前記のように停電や操作や取扱いミスによってシステム側の電源遮断が行われたときに、電源検出部１０４と大容量コンデンサを含む電源保持部１０５によって安定的に不揮発性メモリ１０１を正常に終了させる動作の中、揮発性メモリ１０６の更新されたファイル管理情報を不揮発性メモリ１０１に転送して記録させる動作を含ませるようにする。これにより、不揮発性メモリ１０１としての信頼性を確保することができる。また、上記大容量コンデンサを省略することも可能である。すなわち、不揮発性メモリ１０１や揮発性メモリ１０６の動作電圧（ＶＤＤ）は、システムの中で低い電圧であるので、システムの電源（ＶＣＣ）が遮断されてから不揮発性メモリ１０１や揮発性メモリ１０６の動作下限電圧に至るまでの時間を利用して、不揮発性メモリ１０１を正常に終了させたり、ファイル管理情報を不揮発性メモリ１０１に転送させたりすることもできる。【００３３】
頻繁に書き換えが起きるファイル管理情報を揮発性メモリに展開するため、不揮発性メモリの書き換え回数を低減でき、書き込み回数が減るので装置の寿命の延長が可能となる。そして、頻繁にアクセスが起きるファイル管理情報を揮発性メモリからやり取りする為にシステムパワオーマンスを向上できる。【００３４】
（大容量コンデンサ劣化の検出）
図４は、本発明の一実施の形態による記憶装置において、大容量コンデンサ劣化の検出を行う回路の概略構成を示すブロック図である。なお、図１において、ＶＣＣは外部から供給される電源電圧であり、電圧値は例えば５Ｖである。ＶＤＤは、記憶装置内部の内部電源電圧であり、電圧値は例えば３．５Ｖである。【００３５】
電流・電圧検知回路４０１が、電源保持部１０５内の大容量コンデンサに流入する電流量・電圧を監視することにより、上記大容量コンデンサの残容量を検知する。電流・電圧検知回路４０１の監視により、コンデンサの劣化による容量低下、ショート等の故障モードを検知する。電流・電圧検知回路４０１では、電圧値をデジタル値で出力するいわゆるゲージＩＣなどを用いて、所定時間の電圧の変動値などを算出する。【００３６】
上記大容量コンデンサの劣化を検知する方法としては、例えば、電源投入時、電源遮断時に（１）電位差が大きくなることにより判定する、または（２）電流が流れないことにより判定する。電流・電圧検知回路４０１は、上記大容量コンデンサの劣化を検知すると、コントローラ１０３へ、その検知信号４０２を出力する。この信号を受けると、コントローラ１０３は、データを揮発性メモリ１０６へ保存しないモードに切り替える。【００３７】
また、電源投入・遮断時以外に、不揮発性メモリ１０１へリセット信号を送り、急な電力消費を発生させ、上記（１）、（２）と同様な判定を行うようにしてもよい。【００３８】
図５は、大容量コンデンサ劣化の検出を行う回路の動作を示すフローチャートである。図５に示すように、まず、ステップＳ５０１で、電流・電圧検知回路４０１が、電源保持部１０５内の大容量コンデンサに流入する電流量・電圧を測定する。ステップＳ５０２で、前記大容量コンデンサ（キャパシタ）の劣化を検知した場合、ステップＳ５０３で、電流・電圧検知回路４０１は、検知信号４０２をコントローラ１０３へ出力して、前記大容量コンデンサの劣化を報告する。劣化の検知信号４０２を受けると、コントローラ１０３は動作モードを切り替える。例えば、揮発性メモリ１０６へデータ保存を行わないようしたり、リード／ライトを制限したりする。そして、ステップＳ５０５で、揮発性メモリ１０６の動作がオン（ＯＮ）になる。【００３９】
劣化が検知されない場合は、ステップＳ５０６で、通常モードが選択される。そして、ステップＳ５０５で、揮発性メモリ１０６の動作がオン（ＯＮ）になる。【００４０】
図６、図７、図８は、大容量コンデンサ劣化の検出を行う回路における判定方法を示す説明図である。図６は、電源投入時における上記大容量コンデンサの電圧の時間的変化を示している。図６において、波形６０１は大容量コンデンサが正常な場合の波形、波形６０２は大容量コンデンサ（以下、「コンデンサ」という）が劣化した場合の波形である。また、ｔ１、ｔ２、ｔ３は、電位差を算出するタイミングを示す時間である。コンデンサが劣化してくると、電源投入時のコンデンサの電圧波形は波形６０１から波形６０２へと変化する。すなわち、コンデンサ容量が劣化すると、入力電圧の立ち上がりが速くなる。そこで、コンデンサの劣化を検出するためには、時間ｔ１、ｔ２、ｔ３の各タイミングでＶＤＤとの電位差を計算する。もしくは、所定の電位差となる時間を求める。すなわち、立ち上がり時間と電位差によりコンデンサの劣化を判断する。【００４１】
図７は、電源遮断（ＯＦＦ）時における上記大容量コンデンサの電圧の時間的変化を示している。図７において、波形７０１はコンデンサが正常な場合の波形、波形７０２はコンデンサが劣化した場合の波形である。また、ｔ１、ｔ２は、電位差を算出するタイミングを示す時間である。コンデンサが劣化してくると、電源遮断時のコンデンサの電圧波形は波形７０１から波形７０２へと変化する。すなわち、コンデンサ容量が劣化すると、入力電圧の立ち下がりが速くなる。そこで、コンデンサの劣化を検出するためには、時間ｔ１、ｔ２の各タイミングでＶＤＤとの電位差を計算する。もしくは、所定の電位差となる時間を求める。すなわち、立ち下がり時間と電位差によりコンデンサの劣化を判断する。そして、劣化が検知されたという情報を内部のメモリに保存し、次回の起動時にモードを遷移させる。【００４２】
図８は、リード・ライト動作時に、不揮発性メモリにリセット信号を投入することで電力を急に消費させ、コンデンサの劣化を判定する場合の上記大容量コンデンサの電圧の時間的変化を示している。図８において、波形８０１はコンデンサが正常な場合の波形、波形８０２はコンデンサが劣化した場合の波形である。また、ｔ１、ｔ２は、電位差を算出するタイミングを示す時間である。コンデンサが劣化してくると、リセット信号投入時のコンデンサの電圧波形は波形８０１から波形８０２へと変化する。すなわち、コンデンサ容量が劣化すると、電圧の復帰時間が速くなる。そこで、コンデンサの劣化を検出するためには、時間ｔ１、ｔ２の各タイミングでＶＤＤとの電位差を計算する。もしくは、所定の電位差となる時間を求める。すなわち、立ち上がり時間と電位差によりコンデンサの劣化を判断する。【００４３】
（緊急電源遮断シーケンス）
図９は、本発明の一実施の形態による記憶装置の概略構成を示すブロック図である。本実施の形態による記憶装置は、図１と同じ構成であるので、詳細な説明は省略する。【００４４】
ホスト１０７からの電源が遮断された場合、データ保護のため、緊急電源遮断シーケンスに移行する。この際、内部の揮発性メモリ１０６に保存されているデータを不揮発性メモリ１０１へ移動する。【００４５】
但し、予め、書き込み先の不揮発性メモリ１０１のアドレスを決めておき、メモリに記憶しておく。アドレスを記憶するメモリは、コントローラ１０３内メモリ、揮発性メモリ１０６または不揮発性メモリ１０１とする。上記緊急電源遮断時のデータ格納アドレス（緊急格納アドレス）を一般のデータとは別に持つ。【００４６】
この際、データの保存が並行的に高速処理を行えるように、上記緊急格納アドレスを複数の不揮発性メモリ１０１のメモリバスに均等に割り振る。このように、緊急格納アドレスを固定しておき、緊急時のデータの退避先を複数の不揮発性メモリに振り分けることにより、オーバーヘッドの処理が不要となり、高速に処理を行うことが可能となる。【００４７】
図１０は、緊急電源遮断シーケンスの動作を示すフローチャートである。ステップＳ１００１で、不測の電源遮断が発生した場合、ステップＳ１００２で、緊急電源遮断シーケンスへ移行する。ステップＳ１００３で、内部のＲＡＭすなわち揮発性メモリ１０６に格納されているデータを、Ｆｌａｓｈメモリすなわち不揮発性メモリ１０１へ移動する。その際、複数の不揮発性メモリ１０１内の予め決められた緊急格納アドレスへ分散してデータ移動する。【００４８】
（パワーオン／パワーオフシーケンス）
パワーオン（電源投入）時、コントローラ１０３は、データとは別のブロックに管理された不揮発性メモリ（Ｆｌａｓｈメモリ）１０１内のファイル管理情報を揮発性メモリ１０６（ＲＡＭ）へと移動して保存する。メモリ動作時、ファイル管理情報は、揮発性メモリ１０６内で管理し、パワーオフ（電源遮断）時に不揮発性メモリ１０１へ書き戻しを行う。【００４９】
また、頻繁にアクセスが予想されるデータも、コントローラ１０３がパワーオン時に、不揮発性メモリ１０１から揮発性メモリ１０６へ移動する。【００５０】
上記ファイル管理情報としては、該当する不揮発性メモリのセクタの（１）良品・不良品、（２）論理アドレス、（３）チップ内アドレス、（４）書き換え回数、（５）ＥＣＣ情報、（６）データの存在場所、（７）不具合発生履歴、等があげられる。【００５１】
このように、上記のような頻繁に更新されるファイル管理情報については、揮発性メモリで更新することにより、不揮発性メモリの書き換え回数が減少して、寿命が延びる。また、揮発性メモリは不揮発性メモリよりも高速なので、処理速度が高速化する。【００５２】
図１１は、パワーオン／パワーオフシーケンスの動作を示すフローチャートである。ステップＳ１１０１で電源投入されると、ステップＳ１１０２で、Ｆｌａｓｈすなわち不揮発性メモリ１０１のファイル管理情報をＲＡＭすなわち揮発性メモリ１０６へ移動して保存する。ステップＳ１１０３で、メモリ読み書き等の通常の動作を実施する。ステップＳ１１０４で、電源ＯＦＦすなわち電源遮断されると、ステップＳ１１０５で、ＲＡＭすなわち揮発性メモリ１０６内のファイル管理情報をＦｌａｓｈすなわち不揮発性メモリ１０１へ移動して保存する。なお、データ保存時は、電源保持部１０５内のコンデンサから電源を得るものとする。【００５３】
（書き込みサイズによるデータの振り分け）
図１２は、本発明の一実施の形態による記憶装置の概略構成を示すブロック図である。本実施の形態による記憶装置は、図１と同じ構成であるので、詳細な説明は省略する。【００５４】
コントローラ１０３は、ホスト１０７からライト（書き込み）コマンドが発生された際、書き込み先を揮発性メモリ１０６もしくは不揮発性メモリ１０１へと振り分けを行う機構を持つ。コントローラ１０３による振り分けの判定は、以下の基準で行われる。【００５５】
（１）データサイズが大きい場合は不揮発性メモリ１０１へ、小さい場合は揮発性メモリ１０６へと振り分けられる。判別の基準としては、例えば、１／２ブロック （１ブロック：１２８ＫＢ）を境とする。【００５６】
（２）書き換えが発生した時間間隔やタイムスタンプなどから判断して、データの書き換え頻度が高い場合は揮発性メモリ１０６へ、低い場合は不揮発性メモリ１０１へと振り分けられる。【００５７】
（３）ブロック単位での充足率（１２８ＫＢ／ブロック中どこまで追記されたか？）が高い場合は揮発性メモリ１０６へ、低い場合は不揮発性メモリ１０１へと振り分けられる。【００５８】
図１３は、コントローラ１０３による振り分けの動作を示すフローチャートである。まず、ステップＳ１３０１で、ホスト１０７からライトコマンドが発生した場合、コントローラ１０３は、ステップＳ１３０２で、データサイズの判定を行う。このとき、データサイズ以外にも、上記（１）〜（３）の判定基準に従い、データの書き換え頻度やブロック単位の充足率等の判定も行う。そして、データサイズが例えば１／２ブロック以上の場合は、ステップＳ１３０６でＥＣＣを付加した後、ステップＳ１３０３へ進み、Ｆｌａｓｈすなわち不揮発性メモリ１０１へデータを保存する。データサイズが例えば１／２ブロックより小さい場合は、ステップＳ１３０７でＥＣＣを付加した後、ステップＳ１３０４へ進み、ＲＡＭすなわち揮発性メモリ１０６へデータを保存する。【００５９】
（平準化処理）
コントローラ１０３は、ＲＡＭすなわち揮発性メモリ１０６内に保存した不揮発性メモリ１０１の上記ファイル管理データにより、書き換え回数を判断し、均等化処理すなわち平準化処理を行う。すなわち、不揮発性メモリ１０１内データの書き換え回数、ＥＣＣ訂正ビット数等により揮発性メモリ１０６と不揮発性メモリ１０１との間でデータの移動を行い、コントローラ１０３が平準化処理を実施する。【００６０】
図１４は、４倍の書き換え回数差が生じた場合の平準化処理の動作例を示すフローチャートである。まず、Ｆｌａｓｈすなわち不揮発性メモリ１０１に対して書き込みが発生した時、ステップＳ１４０１で任意のブロックを選択する。具体的には、上記ファイル管理情報の領域内該当チップエリアに、（タイマ）×（RANDOM）でセンタアドレスブロックを選択する。なお、（RANDOM）は、任意の乱数である。【００６１】
次に、ステップＳ１４０２で、ＲＡＭすなわち揮発性メモリ１０６内にある上記ファイル管理情報の書き換え回数情報をもとに、２５６ブロック毎に２ブロック、計１６ブロックを選択し、既書え換えブロックがあるか否かを確認する。【００６２】
既書え換えブロックがない場合は、ステップＳ１４０３で、最も書き換えの少ないブロックを選択し、不揮発性メモリ１０１にデータを書き込む。既書え換えブロックがある場合は、ステップＳ１４０４で、パラメータを確認し、「既データ書き込みブロックは書き換えを実施しない」が選択されているか否かを確認する。【００６３】
「既データ書き込みブロックは書き換えを実施しない」が選択されていない場合は、ステップＳ１４０５で、（既書き込みブロックの書換回数）×４と（未書き込みブロック）とを比較し、最も書き込みの少ないブロックを選択する。このブロックが既書き込みブロックであった場合は均等化処理を実施し、ＲＡＭすなわち揮発性メモリ１０６へデータを移動し、イレーズ実施後データ書き込み実施する。次に、書き換えの少ない未書き込み領域に既書き込みデータを書き戻す。【００６４】
「既データ書き込みブロックは書き換えを実施しない」が選択されている場合は、ステップＳ１４０６で、未書き込みブロックのうち最も書き込みの少ないブロックに書き込みを実施する。【００６５】
図１５は、平準化処理の動作例を示す説明図である。図１５において、ＲＡＭは揮発性メモリ１０６、Ｆｌａｓｈは不揮発性メモリ１０１である。【００６６】
例えば、以下の手順で、平準化処理が実施される。【００６７】
（１）ホスト１０７からライト（書き込み）が発生した際、コントローラ１０３はＲＡＭに維持されているファイル管理情報をさがす。【００６８】
（２）例えば、Ｆｌａｓｈ内のデータＡをＲＡＭ内のデータ保有エリアに移動する（Ａ→Ａ’）。【００６９】
（３）コントローラ１０３が、書き換え先を１６ヶ所検索する。【００７０】
（４）書き換え先のデータＢをＲＡＭのデータ保有エリアに移動する（Ｂ→Ｂ’）。【００７１】
（５）ＲＡＭ内のデータＢ’を、Ｆｌａｓｈ内のデータＡがあった位置に移動する。【００７２】
（６）ＲＡＭ内のデータＡ’を、Ｆｌａｓｈ内のデータＢがあった位置に移動する。【００７３】
（７）ＲＡＭ内のファイル管理情報を更新し、終了する。【００７４】
（データ追記）
不揮発性メモリ１０１へのデータ書き込みの際、コントローラ１０３は、不揮発性メモリ１０１の一つのブロック内において、ブロック全体を書き換えるのではなく、追記するデータのみをページ単位で不揮発性メモリ１０１の空きページに追記し、揮発性メモリ１０６内の上記ファイル管理情報を更新する。不揮発性メモリ１０１のブロック全体の書き換えを控えることで、書き換え耐性の向上を図ることができる。上記追記はブロック充足率が上がった段階で（例えば１２８ＫＢ中１００ＫＢが書かれた場合や、６４ページ中５６ページ書かれた場合など）、同一アドレスの最新のページのみ書き込み整理する。【００７５】
図１６は、本発明の一実施の形態による記憶装置において、データ追記の動作例を示すフローチャートである。まず、ステップ１６０１で、ライト（書き込み）が発生した場合、ステップＳ１６０２で、コントローラ１０３は上記ファイル管理情報に基づいて不揮発性メモリ１０１への追記が可能であるか否か確認する。追記が可能でない場合、ステップＳ１６０３で、コントローラ１０３は不揮発性メモリ１０１へ追記せずに、通常の書き換えシーケンスを実行する。追記が可能である場合、ステップＳ１６０４で、コントローラ１０３は不揮発性メモリ１０１の同一ブロック内の空きページにデータを書き込む。そして、ステップＳ１６０５で、そのブロック内の充足率を確認し、例えば１００ＫＢ／１２８ＫＢ以上の場合は、ステップＳ１６０６で、最新のページのみ書き込み整理を行う。そして、ステップＳ１６０７で、ＲＡＭすなわち揮発性メモリ１０６内のファイル管理情報を更新する。一方、ブロック内の充足率が、例えば１００ＫＢ／１２８ＫＢ以下の場合は、ステップＳ１６０８へ進み、追記の動作が終了する。【００７６】
（残余ブロック数の計算）
本発明の実施の形態による記憶装置は、残余ブロック数を出力する機能を有する。すなわち、ホスト１０７からの要求コマンドを受けて、コントローラ１０３が、揮発性メモリ１０６内のファイル管理情報を基に残余ブロック数を計算し、ホスト１０７へ返す。残余ブロック数を返すことにより、ホスト１０７は、不揮発性メモリ１０１の寿命を認識することが可能となる。【００７７】
（レイアウト）
図１７は、本発明の一実施の形態による記憶装置の基板上のレイアウトを示す平面図、図１８は、その裏面図である。【００７８】
本実施の形態による記憶装置は、２．５インチ（70.0×100.0×9.5mm）外形内に電源保持用大容量コンデンサ１７０５（電源保持部１０５）、Ｆｌａｓｈ（不揮発性メモリ１０１）、コントローラ１０３、ＲＡＭ（揮発性メモリ１０６）を持つ。図１７に示すように、基板１７００の表面に８個の不揮発性メモリ１０１と、電源保持部１０５を構成する４個の電気二重層コンデンサ１７０５が配置されている。また、図１８に示すように、基板１７００の裏面に８個の不揮発性メモリ１０１と、コントローラ１０３と、揮発性メモリ（ＲＡＭ）１０６が配置されている。【００７９】
また、電源保持部１０５のコンデンサ１７０５はスペーサにより耐振性を保つ構造とされる。スペーサは基板とネジ止め等により固定する形、または基板にはめ込むのみの非固定の形がとれる構造をとる。【００８０】
図１９及び図２０は、スペーサによるコンデンサの固定例を示す図である。図１９は、基板１７００と、外形ケース１９０１と、スペーサ１９０２とで、コンデンサ１７０５を挟み込む例である。図２０は、ネジ２００１と、スペーサ１９０２と、基板１７００と、ナット２００２とで、コンデンサ１７０５を挟み込む例である。基板１７００のボス穴にスペーサ１９０２の突起をはめ込んで固定する。なお、スペーサ１９０２の素材は、液晶樹脂、ポリカーボネート、非導電性素材等を用いる。このような構造をとることにより、コンデンサの耐振性が向上する。【００８１】
以上本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。【００８２】
例えば、不揮発性メモリ１０１としては、前記Ｆｌａｓｈ（フラッシュメモリ）の他に、電気的に消去が可能な不揮発性メモリを用いることができる。起動時に先頭アドレス０ｈから一定量データを不揮発性メモリから揮発性メモリへロードする際のアドレスは、前記２０ｈの他に１００ｈ（１２８ＫＢ）等、そのファイルシステムに適合したものであればよい。パッケージは、前記ＨＤＤの外形サイズと同じものの他、より小型で薄いカード状態のものにも適用できる。
【産業上の利用可能性】
【００８３】
本発明は、不揮発性メモリを用いたファイルシステムを採る記憶装置として広く利用することができる。
【図１】
0004472010.tif 000002
【図２】
0004472010.tif 000003
【図３】
0004472010.tif 000004
【図４】
0004472010.tif 000005
【図５】
0004472010.tif 000006
【図６】
0004472010.tif 000007
【図７】
0004472010.tif 000008
【図８】
0004472010.tif 000009
【図９】
0004472010.tif 000010
【図１０】
0004472010.tif 000011
【図１１】
0004472010.tif 000012
【図１２】
0004472010.tif 000013
【図１３】
0004472010.tif 000014
【図１４】
0004472010.tif 000015
【図１５】
0004472010.tif 000016
【図１６】
0004472010.tif 000017
【図１７】
0004472010.tif 000018
【図１８】
0004472010.tif 000019
【図１９】
0004472010.tif 000020
【図２０】
0004472010.tif 000021