(57)【特許請求の範囲】
【請求項１】
情報を記憶する半導体メモリ装置であって、
当該半導体メモリ装置に依存するパラメタを有する所定のファイルシステムによって管理された不揮発性メモリと、
前記不揮発性メモリの書き換え回数を記憶する書き換え回数記憶部と、
前記不揮発性メモリに、前記書き換え回数と対応付けられた第１の識別情報が前記パラメタとして記憶されているか否かを検出する識別情報検出部と、
前記識別情報検出部によって前記第１の識別情報が記憶されていることが検出された場合に、前記書き換え回数記憶部に記憶されている前記書き換え回数を前記第１の識別情報に対応する記憶領域に反映する管理部とを有する
半導体メモリ装置。
【請求項２】
前記第１の識別情報に対応する記憶領域は、前記不揮発性メモリにおける記憶領域である
請求項１に記載の半導体メモリ装置。
【請求項３】
前記不揮発性メモリは、
複数のブロックに分けられており、
前記書き換え回数記憶部は、
前記複数のブロックの各ブロック単位での書き変え回数を、前記書き換え回数として記憶し、
前記識別情報検出部は、
さらに、前記不揮発性メモリに、前記不揮発性メモリが前記複数のブロックに分けられて前記書き換え回数が管理されていることを示す第２の識別情報が前記パラメタとして記憶されているか否かを検出する
請求項１又は２に記載の半導体メモリ装置。
【請求項４】
前記第１の識別情報は、前記複数のブロックの各ブロックに対応して設定されている
請求項３に記載の半導体メモリ装置。
【請求項５】
前記半導体メモリ装置は、さらに、
時間を管理するタイマーと、
前記タイマーを参照することで、前記不揮発性メモリへ書き込みを行った書き込み時間と現在時間とから前記不揮発性メモリに記録された記録データの保証ができるか否かを判定するリテンション判定部とを有し、
前記管理部は、さらに、
前記不揮発性メモリに情報が書き込まれる際に、前記タイマーによって示される書き込み時間を、当該書き込み時間と対応付けられた第３の識別情報に対応する記憶領域に反映する
請求項１〜４のいずれか１項に記載の半導体メモリ装置。
【請求項６】
前記半導体メモリ装置は、
さらに、前記所定のファイルシステムのフォーマットを検出するファイルシステム検出部を有する
請求項１〜５のいずれか１項に記載の半導体メモリ装置。
【請求項７】
前記所定のファイルシステムがｅｘＦＡＴであり、
前記識別情報検出部は、
前記ファイルシステム検出部によって前記所定のファイルシステムがｅｘＦＡＴであることが検出された場合に、前記第１の識別情報が前記不揮発性メモリに記憶されているか否かを検出する
請求項６に記載の半導体メモリ装置。
【請求項８】
前記不揮発性メモリは、フラッシュメモリである
請求項１〜７のいずれか１項に記載の半導体メモリ装置。
【請求項９】
所定のファイルシステムによって管理され、不揮発性メモリを有する半導体メモリ装置と、前記半導体メモリ装置の情報を管理するメモリ情報更新部を有するホスト機器とを備える半導体メモリシステムであって、
前記所定のファイルシステムは、前記半導体メモリ装置に依存するパラメタを有し、
前記メモリ情報更新部は、
前記半導体メモリ装置の書き換え回数を記憶する書き換え回数記憶部と、
前記不揮発性メモリに、前記書き換え回数と対応付けられた第１の識別情報が前記パラメタとして記憶されているか否かを検出する識別情報検出部とを有し、
前記メモリ情報更新部は、
前記識別情報検出部によって前記第１の識別情報が記憶されていることが検出された場合に、前記書き換え回数記憶部に記憶されている前記書き換え回数を前記第１の識別情報に対応する記憶領域に反映する
半導体メモリシステム。
【請求項１０】
前記第１の識別情報に対応する記憶領域は、前記不揮発性メモリにおける記憶領域である
請求項９に記載の半導体メモリシステム。
【請求項１１】
前記不揮発性メモリは、
複数のブロックに分けられており、
前記書き換え回数記憶部は、
前記複数のブロックの各ブロック単位での書き変え回数を前記書き換え回数として記憶し、
前記識別情報検出部は、
さらに、前記不揮発性メモリに、前記不揮発性メモリが前記複数のブロックに分けられて前記書き換え回数が管理されていることを示す第２の識別情報が前記パラメタとして記憶されているか否かを検出する
請求項９又は１０に記載の半導体メモリシステム。
【請求項１２】
前記第１の識別情報は、前記複数のブロックの各ブロックに対応して設定されている
請求項１１に記載の半導体メモリシステム。
【請求項１３】
前記メモリ情報更新部は、さらに、
時間を管理するタイマーと、
前記タイマーを参照することで、前記半導体メモリ装置に書き込みを行った書き込み時間と現在時間とから前記半導体メモリ装置に記録された記録データの保証ができるか否かを判定するリテンション判定部とを有し、
前記メモリ情報更新部は、さらに、
前記半導体メモリ装置に情報が書き込まれる際に、前記タイマーによって示される書き込み時間を、当該書き込み時間と対応付けられた第３の識別情報に対応する記憶領域に反映する
請求項９〜１２のいずれか１項に記載の半導体メモリシステム。
【請求項１４】
前記メモリ情報更新部又は前記半導体メモリ装置の一方は、
時間を管理するタイマーをさらに具備し、
前記メモリ情報更新部又は前記半導体メモリ装置の他方は、
前記タイマーを参照することで、前記半導体メモリ装置に書き込みを行った書き込み時間と現在時間とから前記半導体メモリ装置に記録された記録データの保証ができるか否かを判定するリテンション判定部を有し、
前記メモリ情報更新部又は前記半導体メモリ装置は、
前記半導体メモリ装置に情報が書き込まれる際に、前記タイマーによって示される前記書き込み時間を、当該書き込み時間に対応付けられた第３の識別情報に対応する記憶領域に反映する
請求項９〜１２のいずれか１項に記載の半導体メモリシステム。
【請求項１５】
前記メモリ情報更新部は、
さらに、前記所定のファイルシステムのフォーマットを検出するファイルシステム検出部を有する
請求項９〜１４のいずれか１項に記載の半導体メモリシステム。
【請求項１６】
前記所定のファイルシステムがｅｘＦＡＴであり、
前記識別情報検出部は、
前記ファイルシステム検出部によって前記所定のファイルシステムがｅｘＦＡＴであることが検出された場合に、前記第１の識別情報が前記不揮発性メモリに記憶されているか否かを検出する
請求項１５に記載の半導体メモリシステム。
【請求項１７】
前記不揮発性メモリは、フラッシュメモリである
請求項９〜１６のいずれか１項に記載の半導体メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカード等の半導体メモリ装置及び当該半導体メモリ装置を備える半導体メモリシステムに関し、特に半導体メモリ装置内部の不揮発性メモリの性能劣化による信頼性低下を防ぐ技術に関する。
【背景技術】
【０００２】
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード等の半導体メモリ装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。
【０００３】
この半導体メモリ装置に内蔵されているフラッシュメモリは、一定サイズのブロック単位でデータを消去し書き換えできる不揮発性のメモリである。例えば、フラッシュメモリの一つにＮＡＮＤ型フラッシュメモリがある。このＮＡＮＤ型フラッシュメモリにおけるデータの記録方式として、メモリセルに２値のデータを格納するシングルレベルセル（Ｓｉｎｇｌｅ  Ｌｅｖｅｌ  Ｃｅｌｌ；ＳＬＣ）方式と、２値を超えるデータを格納するマルチレベルセル（Ｍｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ；ＭＬＣ）方式とがある。ＳＬＣ方式では、２つの電圧レベルを０と１に対応させることにより、１セルあたりに２値からなる１ビットのデータを記録する。ＭＬＣ方式では、例えば、４つの電圧レベルを０，１，２，３に対応させることにより、１セルあたりに４値からなるデータを記録する。
【０００４】
図１３を用いて、ＳＬＣフラッシュメモリ（以下、「フラッシュメモリ」と記載する）のフローティングゲートに蓄積する電子の数と閾値電圧（Ｖｔｈ）との関係を説明する。
【０００５】
図１３は、フラッシュメモリの１セルの構成を示す図であり、図１３（ａ）は、電荷が蓄積されておらずデータ書き込み前の初期状態を示す図である。また、図１３（ｂ）は、電荷が蓄積されておりデータを書き込んだ状態を示す図である。
【０００６】
図１３（ａ）及び図１３（ｂ）に示すように、フラッシュメモリは、Ｐチャンネルサブストレート１００７上にＮチャンネルのソース電極１００５及びドレイン電極１００６が形成され、ソース電極１００５とドレイン電極１００６との間に、トンネル酸化膜１００４、フローティングゲート１００３、酸化絶縁膜１００２及びコントロールゲート１００１が積層して構成される。
【０００７】
このように、フラッシュメモリは、揮発性ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）と異なり、フローティングゲート１００３という電荷を保持する領域がトランジスタ内部に追加されている。そして、フラッシュメモリでは、フローティングゲート１００３に蓄積されている電荷の状態によって、電流が流れる時の電圧の閾値が変わる。図１３（ａ）に示すように、データが書き込まれる前の初期状態では、フローティングゲート１００３に電荷が蓄積されておらず、また、図１３（ｂ）に示すように、データが書き込まれた状態では、フローティングゲート１００３に電子が蓄積されている。
【０００８】
フラッシュメモリではフローティングゲート１００３における電子の蓄積の有無により電流が流れる時の電圧（閾値）が変わり、１セルあたり１ビットの情報を表現する２値フラッシュメモリの場合は、電子の量によって電流が流れる時の閾値電圧が２状態存在する。例えば、図１３（ａ）に示すように、蓄積する電子が無い場合は電位が低く、図１３（ｂ）に示すように、電子が蓄積していくにつれて電位が上昇するので、所定の電位の閾値に収まるように電子の蓄積状態を２状態で制御することができる。これにより、１つのメモリセルに１ビットのデータを記録することができる。
【０００９】
また、フラッシュメモリでは、フローティングゲート１００３に蓄積した電子を保持するために、絶縁機能を持つトンネル酸化膜１００４が用いられ、データの書き込み時や消去時には、トンネル酸化膜１００４を電子が通り抜けることになる。したがって、データの書き換えが繰り返し行われると、電子の注入と引き抜きによってトンネル酸化膜１００４が劣化していき、トンネル酸化膜１００４の損傷が積み重なり、最終的に絶縁の役目を果たさなくなる。
【００１０】
さらに１セルあたりに４値からなるデータを記録するＭＬＣ方式では、電子の量によって電流が流れるときの閾値電圧を４状態に増やしている。蓄積する電子の有無だけでなく、電子の量で閾値電圧を制御するために、書き換え時のトンネル酸化膜１００４の劣化による電子量の変化の影響を受けやすい。
【００１１】
このように、フラッシュメモリは、構造上書き換え回数が制限されるという特徴を有しており、従来より半導体メモリ装置ではフラッシュメモリの書き換え回数を記録して管理することが行われている（例えば、特許文献１参照）。
【００１２】
図１４を用いて、フラッシュメモリにおける従来の書き換え回数の管理方法について説明する。図１４は、従来の半導体メモリシステムの構成を示す図である。
【００１３】
図１４に示すように、従来の半導体メモリシステムは、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のホスト１１００と、内蔵された半導体メモリにデータを保持することができるＳＤカード等の半導体メモリ装置１１１０とで構成される。
【００１４】
従来の半導体メモリ装置１１１０は、ホスト１１００からのアクセスを受け付けるインターフェイス変換部（以下、「ＩＦ変換部」と記載する）１１２０と、データを記録するフラッシュメモリ１１４０と、フラッシュメモリ１１４０に対してデータの書き込みと読み出しを行うフラッシュメモリアクセス部１１３０と、半導体メモリ装置１１１０の情報を管理するメモリ情報管理部１１５０とから構成される。さらに、メモリ情報管理部１１５０は、フラッシュメモリ１１４０への書き込み回数を記憶する書き換え回数記憶部１１５６を有する。
【００１５】
半導体メモリ装置１１１０は、ホスト１１００からのデータの書き込み要求に対して、ＩＦ変換部１１２０はフラッシュメモリ１１４０への書き込みシーケンスに変換してデータを書き込む。さらにメモリ情報管理部１１５０は、書き込み回数を加算して書き換え回数記憶部１１５６に保存する。
【００１６】
ホスト１１００は、書き換え回数を確認する場合、半導体メモリ装置１１１０に対して、書き換え回数を取得するための独自の要求（コマンド）を発行する。この書き換え回数を取得するコマンドは、ＩＦ変換部１１２０によって解析されて、メモリ情報管理部１１５０の書き換え回数記憶部１１５６に記憶されている書き換え回数が、書き換え回数を取得するコマンドの応答として、ホスト１１００に返される。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００５−２８４６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、上記従来の半導体メモリシステムの構成では、メーカによって新しいタイプのＳＤカードが作られた場合等によって半導体メモリ装置の種類が変わった場合、ホストは、その半導体メモリ装置の種類ごとに書き換え回数を取得するための独自のコマンドを発行する必要がある。
【００１９】
このように、従来の半導体メモリシステムでは、半導体メモリ装置の種類ごとに書き換え回数を取得するためのアクセス方法を変えなければならず、異なる種類の半導体メモリ装置に対して統一的にアクセスすることができないという課題がある。
【００２０】
本発明は、上記課題を解決するためになされたものであり、半導体メモリ装置の種類に関わらず、統一的なアクセス方法によって書き換え回数を取得することができる半導体メモリ装置及び半導体メモリシステムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
この課題を解決するために、本発明に係る半導体メモリ装置の一態様は、情報を記憶する半導体メモリ装置であって、当該半導体メモリ装置に依存するパラメタを有する所定のファイルシステムによって管理された不揮発性メモリと、前記不揮発性メモリの書き換え回数を記憶する書き換え回数記憶部と、前記不揮発性メモリに、前記書き換え回数と対応付けられた第１の識別情報が前記パラメタとして記憶されているか否かを検出する識別情報検出部と、前記識別情報検出部によって前記第１の識別情報が記憶されていることが検出された場合に、前記書き換え回数記憶部に記憶されている前記書き換え回数を前記第１の識別情報に対応する記憶領域に反映する管理部とを有する。
【００２２】
本態様によれば、所定のファイルシステムにおけるデバイス依存のパラメタを利用して不揮発性メモリの書き換え回数であることを示す第１の識別情報を設定し、書き換え回数記憶部に記憶されている書き換え回数を第１の識別情報に対応する値に反映させる。これにより、第１の識別情報に対応する値を参照することにより、半導体メモリ装置の種類に関わらず、不揮発性メモリの書き換え回数を取得することができる。
【００２３】
さらに、本発明に係る半導体メモリ装置の一態様において、前記第１の識別情報に対応する記憶領域は、前記不揮発性メモリにおける記憶領域である。
【００２４】
さらに、本発明に係る半導体メモリ装置の一態様において、前記不揮発性メモリは、複数のブロックに分けられており、前記書き換え回数記憶部は、前記複数のブロックの各ブロック単位での書き変え回数を、前記書き換え回数として記憶し、前記識別情報検出部は、さらに、前記不揮発性メモリに、前記不揮発性メモリが前記複数のブロックに分けられて前記書き換え回数が管理されていることを示す第２の識別情報が前記パラメタとして記憶されているか否かを検出する。
【００２５】
さらに、本発明に係る半導体メモリ装置の一態様において、前記第１の識別情報は、前記複数のブロックの各ブロックに対応して設定されている。
【００２６】
さらに、本発明に係る半導体メモリ装置の一態様において、前記半導体メモリ装置は、時間を管理するタイマーと、前記タイマーを参照することで、前記不揮発性メモリへ書き込みを行った書き込み時間と現在時間とから前記不揮発性メモリに記録された記録データの保証ができるか否かを判定するリテンション判定部とを有し、前記管理部は、前記不揮発性メモリに情報が書き込まれる際に、前記タイマーによって示される書き込み時間を、当該書き込み時間と対応付けられた第３の識別情報に対応する記憶領域に反映する。
【００２７】
さらに、本発明に係る半導体メモリ装置の一態様において、前記半導体メモリ装置は、前記所定のファイルシステムのフォーマットを検出するファイルシステム検出部を有する。
【００２８】
さらに、本発明に係る半導体メモリ装置の一態様において、前記所定のファイルシステムがｅｘＦＡＴであり、前記識別情報検出部は、前記ファイルシステム検出部によって前記所定のファイルシステムがｅｘＦＡＴであることが検出された場合に、前記第１の識別情報が前記不揮発性メモリに記憶されているか否かを検出する。
【００２９】
さらに、本発明に係る半導体メモリ装置の一態様において、前記不揮発性メモリは、フラッシュメモリである。
【００３０】
また、本発明に係る半導体メモリシステムの一態様は、所定のファイルシステムによって管理され、不揮発性メモリを有する半導体メモリ装置と、前記半導体メモリ装置の情報を管理するメモリ情報更新部を有するホスト機器とを備える半導体メモリシステムであって、前記所定のファイルシステムは、前記半導体メモリ装置に依存するパラメタを有し、前記メモリ情報更新部は、前記半導体メモリ装置の書き換え回数を記憶する書き換え回数記憶部と、前記不揮発性メモリに、前記書き換え回数と対応付けられた第１の識別情報が前記パラメタとして記憶されているか否かを検出する識別情報検出部とを有し、前記メモリ情報更新部は、前記識別情報検出部によって前記第１の識別情報が記憶されていることが検出された場合に、前記書き換え回数記憶部に記憶されている前記書き換え回数を前記第１の識別情報に対応する記憶領域に反映する。
【００３１】
本態様によれば、所定のファイルシステムにおけるデバイス依存のパラメタを利用して不揮発性メモリの書き換え回数であることを示す第１の識別情報を設定し、書き換え回数記憶部に記憶されている書き換え回数を第１の識別情報に対応する値に反映させる。これにより、第１の識別情報に対応する値を参照することにより、半導体メモリ装置の種類に関わらず、不揮発性メモリの書き換え回数を取得することができる。
【００３２】
さらに、本発明に係る半導体メモリシステムの一態様において、前記第１の識別情報に対応する記憶領域は、前記不揮発性メモリにおける記憶領域である。
【００３３】
さらに、本発明に係る半導体メモリシステムの一態様において、前記不揮発性メモリは、複数のブロックに分けられており、前記書き換え回数記憶部は、前記複数のブロックの各ブロック単位での書き変え回数を前記書き換え回数として記憶し、前記識別情報検出部は、前記不揮発性メモリに、前記不揮発性メモリが前記複数のブロックに分けられて前記書き換え回数が管理されていることを示す第２の識別情報が前記パラメタとして記憶されているか否かを検出する。
【００３４】
さらに、本発明に係る半導体メモリシステムの一態様において、前記第１の識別情報は、前記複数のブロックの各ブロックに対応して設定されている。
【００３５】
さらに、本発明に係る半導体メモリシステムの一態様において、前記メモリ情報更新部は、時間を管理するタイマーと、前記タイマーを参照することで、前記半導体メモリ装置に書き込みを行った書き込み時間と現在時間とから前記半導体メモリ装置に記録された記録データの保証ができるか否かを判定するリテンション判定部とを有し、前記メモリ情報更新部は、前記半導体メモリ装置に情報が書き込まれる際に、前記タイマーによって示される書き込み時間を、当該書き込み時間と対応付けられた第３の識別情報に対応する記憶領域に反映する。
【００３６】
さらに、本発明に係る半導体メモリシステムの一態様において、前記メモリ情報更新部又は前記半導体メモリ装置の一方は、時間を管理するタイマーをさらに具備し、前記メモリ情報更新部又は前記半導体メモリ装置の他方は、前記タイマーを参照することで、前記半導体メモリ装置に書き込みを行った書き込み時間と現在時間とから前記半導体メモリ装置に記録された記録データの保証ができるか否かを判定するリテンション判定部を有し、前記メモリ情報更新部又は前記半導体メモリ装置は、前記半導体メモリ装置に情報が書き込まれる際に、前記タイマーによって示される前記書き込み時間を、当該書き込み時間に対応付けられた第３の識別情報に対応する記憶領域に反映するとする。
【００３７】
さらに、本発明に係る半導体メモリシステムの一態様において、前記メモリ情報更新部は、前記所定のファイルシステムのフォーマットを検出するファイルシステム検出部を有する。
【００３８】
さらに、本発明に係る半導体メモリシステムの一態様において、前記所定のファイルシステムがｅｘＦＡＴであり、前記識別情報検出部は、前記ファイルシステム検出部によって前記所定のファイルシステムがｅｘＦＡＴであることが検出された場合に、前記第１の識別情報が前記不揮発性メモリに記憶されているか否かを検出する。
【００３９】
さらに、本発明に係る半導体メモリシステムの一態様において、前記不揮発性メモリは、フラッシュメモリである。
【発明の効果】
【００４０】
本発明に係る半導体メモリ装置及び半導体メモリシステムによれば、半導体メモリ装置の種類に関わらず、統一的なアクセス方法によって書き換え回数を取得することができる。
【図面の簡単な説明】
【００４１】
【図１】図１は、第１の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。
【図２Ａ】図２Ａは、第１の実施の形態に係る半導体メモリ装置におけるＯＥＭパラメタの構造を示す図である。
【図２Ｂ】図２Ｂは、図２ＡにおけるＯＥＭパラメタの各パラメタの構造を示す図である。
【図３Ａ】図３Ａは、第１の実施の形態に係る半導体メモリ装置を初期化する場合のフローチャートである。
【図３Ｂ】図３Ｂは、第１の実施の形態に係る半導体メモリ装置に対して書き込み処理を行う場合のフローチャートである。
【図４】図４は、第１の実施の形態に係る半導体メモリ装置におけるＯＥＭパラメタのデータの割り当てを示す図である。
【図５】図５は、第２の実施の形態に係る半導体メモリシステムの構成を示すブロック図である。
【図６Ａ】図６Ａは、第２の実施の形態に係る半導体メモリシステムにおける半導体メモリ装置を初期化する場合のフローチャートである。
【図６Ｂ】図６Ｂは、第２の実施の形態に係る半導体メモリシステムにおける半導体メモリ装置に対して書き込み処理を行う場合のフローチャートである。
【図７】図７は、第３の実施の形態に係る半導体メモリシステムにおけるホストの構成を示すブロック図である。
【図８】図８は、第３の実施の形態に係る半導体メモリシステムにおける半導体メモリ装置の構成を示すブロック図である。
【図９】図９は、第３の実施の形態に係る半導体メモリ装置におけるＯＥＭパラメタのデータの割り当てを示す図である。
【図１０Ａ】図１０Ａは、第３の実施の形態に係る半導体メモリシステムにおける初期化処理のフローチャートである。
【図１０Ｂ】図１０Ｂは、第３の実施の形態に係る半導体メモリシステムにおける半導体装置に対して書き込み処理を行う場合のフローチャートである。
【図１１】図１１は、第３の実施の形態に係る半導体メモリシステムにおけるリテンション判定の処理のフローを示すフローチャートである。
【図１２】図１２は、第３の実施の形態に係る半導体メモリシステムのリテンション判定において、データ保持可能期間を算出するために用いる図である。
【図１３】図１３は、ＳＬＣフラッシュメモリの構造を示す図である。
【図１４】図１４は、従来の半導体メモリ装置の構成を示すブロック図である。
【発明を実施するための形態】
【００４２】
以下、本発明の実施の形態に係る半導体メモリ装置及び半導体メモリシステムについて、図面を参照しながら説明する。
【００４３】
（第１の実施の形態）
まず、第１の実施の形態に係る半導体メモリ装置について、図１を用いて説明する。図１は、第１の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。
【００４４】
図１に示すように、第１の実施の形態に係る半導体メモリ装置１１０は、情報を記憶する半導体メモリ装置であって、インターフェイス変換部（ＩＦ変換部）１２０と、フラッシュメモリアクセス部１３０と、フラッシュメモリ１４０と、メモリ情報管理部１５０とを備える。半導体メモリ装置１１０は、例えばホスト１００に対して着脱可能なＳＤカード等である。なお、ホスト１００はＰＣ等のホスト機器であり、ホスト１００と半導体メモリ装置１１０とで半導体メモリシステムが構成される。
【００４５】
以下、本実施の形態に係る半導体メモリ装置１１０の各構成要素について詳述する。
【００４６】
まず、ＩＦ変換部１２０について説明する。ＩＦ変換部１２０は、ホスト１００等の外部機器からのアクセスを受け付けるインターフェイスであって、ホスト１００から所定の制御コマンドやデータを受信したり、ホスト１００からの制御コマンドに従ってホスト１００に対してデータ等を送信したりする。
【００４７】
また、ＩＦ変換部１２０は、プロトコルを変換する機能を有しており、ホスト１００から受け付けた制御コマンドやデータに対して必要に応じてプロトコル変換し、フラッシュメモリアクセス部１３０を介してフラッシュメモリ１４０に対してアクセス可能にする。このように、ＩＦ変換部１２０は、ホスト１００から受け付けた制御コマンドやデータをフラッシュメモリアクセス部１３０に転送したり、フラッシュメモリアクセス部１３０から転送されるデータ等を受け付けたりする。
【００４８】
例えば、ＩＦ変換部１２０は、ホスト１００から、書き込みコマンド（ライトコマンド）及びフラッシュメモリ１４０に記録するためのデータ（書き込みデータ）を受け付けて、当該ライトコマンド及び記録データをフラッシュメモリアクセス部１３０に転送する。さらに、ＩＦ変換部１２０は、ホスト１００からの読み出しコマンド（リードコマンド）を受け付けて、フラッシュメモリアクセス部１３０を介して読み出されたフラッシュメモリ１４０に記録されている記録データをホスト１００に送信する。
【００４９】
次に、フラッシュメモリアクセス部１３０について説明する。フラッシュメモリアクセス部１３０は、ホスト１００からの制御コマンドに基づいてフラッシュメモリ１４０へのアクセスを制御する機能を有するメモリアクセス部であって、フラッシュメモリ１４０に対してデータの書き込みを行ったり、フラッシュメモリ１４０に記録された記録データの読み出しを行ったりする。例えば、フラッシュメモリアクセス部１３０は、ホスト１００からの書き込みコマンド又は読み出しコマンドに示されるアドレスに従って、フラッシュメモリ１４０に対してデータの書き込み又は読み出しを行う。
【００５０】
さらに、フラッシュメモリアクセス部１３０は、メモリ情報管理部１５０へのアクセス制御も行い、フラッシュメモリアクセス部１３０によってメモリ情報管理部１５０とフラッシュメモリ１４０との間のアクセス制御が行われる。
【００５１】
例えば、フラッシュメモリアクセス部１３０は、フラッシュメモリ１４０の初期化が完了した時点、あるいはホスト１００からのコマンド等によって、メモリ情報管理部１５０のファイルシステム検出部１５１に対して、フラッシュメモリ１４０を管理するファイルシステムのフォーマットを検出するように指示したり、メモリ情報管理部１５０のＩＤ検出部１５２に対して、フラッシュメモリ１４０から所定の識別情報（識別子）を検出するように指示したりする。メモリ情報管理部１５０に対して、書き換え回数記憶部１５６に記憶されている書き換え回数を、フラッシュメモリ１４０の所定の記憶領域に反映するように指示したりもする。
【００５２】
次に、フラッシュメモリ１４０について説明する。フラッシュメモリ１４０は、データを記憶するため記憶部であり、不揮発性メモリによって構成される。
【００５３】
フラッシュメモリ１４０は、半導体メモリ装置１１０（デバイス）に依存するパラメタを有する所定のファイルシステムによって管理されている。従って、フラッシュメモリ１４０には、ホスト１００等の外部機器から見たときに所定のファイルシステムで管理されていることを識別するためのファイルシステム識別子が所定の記憶領域に格納されている。また、上記のデバイス依存のパラメタは複数存在し、各パラメタとしての情報（データ）はフラッシュメモリ１４０の所定の記憶領域に格納される。各パラメタはユーザが独自に利用することができ、パラメタとしての情報（データ）は、ホスト１００等の外部機器によって定義されたり更新されたりする。なお、パラメタの詳細な構造については後述する。
【００５４】
本実施の形態において、フラッシュメモリ１４０は、図１３に示すようなＳＬＣフラッシュメモリであり、複数の所定の記憶領域である複数の物理ブロックによって構成される。物理ブロックとはデータの消去単位であって、各物理ブロックは複数のページによって構成される。なお、ページとは、ホスト機器等の外部装置から見たときに、データを記録できる最小単位（書き込み単位）である。
【００５５】
次に、メモリ情報管理部１５０について説明する。メモリ情報管理部１５０は、半導体メモリ装置１１０の情報を管理する機能を有し、書き換え回数記憶部１５６と、ファイルシステム検出部（以下、「ＦＳ検出部」と記載する）１５１と、ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）検出部１５２とを有する。
【００５６】
書き換え回数記憶部１５６は、フラッシュメモリ１４０の書き換え回数を記憶する機能を有し、書き換え回数記憶部１５６には、書き換え回数として、フラッシュメモリ１４０に対して書き込み処理を行った回数（値）が記憶保持されている。
【００５７】
書き換え回数記憶部１５６に記憶される書き換え回数は、フラッシュメモリ１４０に書き込みが行われた回数をカウントすることによって更新される。すなわち、フラッシュメモリ１４０の所定の記憶領域に対して書き込み処理が行われる毎に書き換え回数が１つずつ加算されて更新される。本実施の形態では、後述するように、フラッシュメモリ１４０は複数のブロックに分けられているので、書き換え回数記憶部１５６は、複数のブロックの各ブロック単位での書き変え回数を記憶する。この場合、フラッシュメモリ１４０に書き込みを行ったブロック数をカウントすることによって書き換え回数を取得することができる。なお、ブロック数のカウントは、フラッシュメモリ１４０の消去ブロックの消去回数をカウントすることによって行うことができる。
【００５８】
ＦＳ検出部１５１は、フラッシュメモリ１４０を管理するファイルシステムのフォーマットを検出する機能を有する。本実施の形態において、ＦＳ検出部１５１は、フラッシュメモリアクセス部１３０の指示に従ってフラッシュメモリ１４０から所定のデータを読み出してファイルシステムのフォーマットを検出し、フォーマットされているファイルシステムの種類を特定する。なお、フラッシュメモリ１４０が所定のファイルシステムで管理されている場合、フラッシュメモリ１４０には、当該ファイルシステムで管理されていることを示す識別子が記憶されている。
【００５９】
ＩＤ検出部１５２は、フラッシュメモリ１４０に記憶されている情報の中に、所定のファイルシステムにおけるデバイス依存のパラメタとして、フラッシュメモリ１４０の書き換え回数と対応付けられた第１の識別情報（第１の識別子）が存在するか否かを検出する識別情報検出部である。第１の識別情報は、当該第１の識別情報に対応する記憶領域に記憶されたデータがフラッシュメモリ１４０に対して書き込みを行った回数、すなわちフラッシュメモリ１４０の書き換え回数であることを示す書き換え回数用識別子である。
【００６０】
本実施の形態において、ＩＤ検出部１５２は、ＦＳ検出部１５１によってデバイス依存のパラメタを有するファイルシステムであることが検出された場合に、フラッシュメモリ１４０におけるパラメタのフィールド内を検索して、書き換え回数であることを示す第１の識別情報がパラメタとして記憶されているか否かを検出し、当該第１の識別情報が記憶されている場合は第１の識別情報を検出する。つまり、フラッシュメモリ１４０におけるデバイス依存のパラメタとしての記憶領域に、第１の識別情報が存在するか否かを検出する。
【００６１】
そして、メモリ情報管理部１５０は、ＩＤ検出部１５２によってフラッシュメモリ１４０に第１の識別情報が記憶されていることが検出された場合に、書き換え回数記憶部１５６に記憶されている書き換え回数を、第１の識別情報に対応する記憶領域に反映する。本実施の形態では、第１の識別情報に対応する記憶領域は、フラッシュメモリ１４０におけるパラメタとしての記憶領域である。従って、メモリ情報管理部１５０によって、フラッシュメモリ１４０の記憶領域に記憶されている書き換え回数の値（第１の識別情報に対応する値）が、書き換え回数記憶部１５６に記憶されている書き換え回数の値によって上書きされて更新される。
【００６２】
なお、本実施の形態では、フラッシュメモリ１４０への書き換え回数記憶部１５６に記憶されている書き換え回数の反映の処理は、メモリ情報管理部１５０によって行ったが、メモリ情報管理部１５０以外の管理部によって行っても構わない。
【００６３】
以下、本実施の形態の説明では、デバイス依存のファイルシステムとしてマイクロソフト社がフラッシュメモリ向けに開発したファイルシステムであるＥｘｔｅｎｄｅｄ  ＦＡＴ（以下、「ｅｘＦＡＴ」と記載する）を具体例として説明する。ｅｘＦＡＴのファイルシステムは、ＰＣ等のＣＰＵやＯＳには依存しないファイルシステムであって、ＯＥＭがデバイス（半導体メモリ装置）のファイルシステムを独自に設計できるようにＯＥＭによって定義することができるデバイス依存のパラメタ（ＯＥＭパラメタ）を有する。ＯＥＭパラメタは、ファイルシステムの初期化時に特定の条件を除いて消去されないデータとしてフラッシュメモリ１４０に記憶することができる。
【００６４】
ここで、図２Ａを用いて、デバイス依存のパラメタであるＯＥＭパラメタについて説明する。図２Ａは、第１の実施の形態に係る半導体メモリ装置におけるＯＥＭパラメタの構造を示す図である。図２Ａにおいて、各列は、左の列から、バイト位置（ＢＰ）、バイト長（Ｌｅｎｇｔｈ）、名称（Ｆｉｅｌｄ  Ｎａｍｅ）、説明（Ｃｏｎｔｅｎｔｓ）を示している。
【００６５】
ＯＥＭパラメタは、ｅｘＦＡＴで管理された記録領域であってフラッシュメモリ１４０における固定のアドレスの記憶領域を用いて設定されており、本実施の形態では、図２Ａに示すように、Ｐａｒａｍｅｔｅｒｓ［０］からＰａｒａｍｅｔｅｒｓ［９］までの、１０個のデータがフラッシュメモリ１４０において管理されている。すなわち、本実施の形態では、１０個のＯＥＭパラメタを用いて最大で１０個のデータを登録することができる。なお、各ＯＥＭパラメタのバイト長は４８バイトである。
【００６６】
さらに、図２Ａにおける１０個のＯＥＭパラメタの各パラメタの構造について、図２Ｂを用いて説明する。図２Ｂは、図２ＡにおけるＯＥＭパラメタの各パラメタの構造を示す図である。
【００６７】
図２Ｂに示すように、各パラメタは、“Ｐａｒａｍｅｔｅｒｓ  Ｇｕｉｄ”と、“Ｃｕｓｔｏｍ  ｄｅｆｉｎｅｄ”とによって構成されている。“Ｐａｒａｍｅｔｅｒｓ  Ｇｕｉｄ”は、グローバル一意識別子（Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）（以下、「ＧＵＩＤ」と記載する）としてユーザが独自に割り当てて登録することができるパラメタのタイプである。また、“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”は、ＧＵＩＤ毎にユーザによって独自に定義することができるパラメタのタイプである。
【００６８】
本実施の形態では、ＯＥＭパラメタの１つに、上記の書き換え回数に対応付けられた第１の識別情報として、フラッシュメモリ１４０の書き換え回数を示すＧＵＩＤを割り当てるとともに、当該書き換え回数を示すＧＵＩＤに対応する書き換え回数の値を管理する記憶領域として“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”のフィールドを割り当てる。
【００６９】
すなわち、フラッシュメモリ１４０のｅｘＦＡＴで管理されたＯＥＭパラメタに関する記憶領域のうち、“Ｐａｒａｍｅｔｅｒｓ  Ｇｕｉｄ”に対応する記憶領域には書き換え回数を示すＧＵＩＤが定義されて記憶されており、“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”に対応する記憶領域にはフラッシュメモリ１４０の実際の書き換え回数に応じた書き換え回数の値が記憶される。
【００７０】
なお、書き換え回数を示すＧＵＩＤがＧＵＩＤの一つとして一旦“Ｐａｒａｍｅｔｅｒｓ  Ｇｕｉｄ”に記憶されると、当該書き換え回数を示すＧＵＩＤそのものは変更されない。また、“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”に記憶される書き換え回数の値は、後述するように、フラッシュメモリ１４０の書き換え回数に応じて更新される。また、このようなＯＥＭパラメタの割り当ては、ホスト１００等の半導体メモリ装置１１０に対する外部機器によって行うことができる。
【００７１】
次に、第１の実施の形態に係る半導体メモリ装置１１０の動作処理について、図３Ａ及び図３Ｂを用いて説明する。図３Ａは、第１の実施の形態に係る半導体メモリ装置１１０を初期化する場合のフローを示すフローチャートである。図３Ｂは、第１の実施の形態に係る半導体メモリ装置に対してデータの書き込みを行う場合のフローを示すフローチャートである。
【００７２】
最初に、図３Ａを用いて、本実施の形態に係る半導体メモリ装置１１０の初期化フローを説明する。
【００７３】
図３Ａに示すように、半導体メモリ装置１１０は、半導体メモリ装置１１０への電源の投入又はリセット信号等をトリガとして、初期化を開始する（Ｓ１０１）。
【００７４】
まず、フラッシュメモリアクセス部１３０によってフラッシュメモリ１４０の初期化が行われ、フラッシュメモリ１４０に対してデータの読み出し及び書き込みを行える状態にする（Ｓ１０２）。
【００７５】
次に、フラッシュメモリ１４０を管理するファイルシステムのフォーマットを検出する（Ｓ１０３）。
【００７６】
具体的に、ＦＳ検出部１５１は、フラッシュメモリアクセス部１３０の指示に従いフラッシュメモリアクセス部１３０経由でフラッシュメモリ１４０から所定のデータを読み出すことによってフラッシュメモリ１４０を管理するファイルシステムのフォーマットを検出して、フォーマットされているファイルシステムの種類を特定する。
【００７７】
このとき、ステップＳ１０３において、ファイルシステムの種類がｅｘＦＡＴ以外であれば初期化完了のステップ（Ｓ１０６）に進み、ファイルシステムの種類がｅｘＦＡＴであれば次のステップ（Ｓ１０４）に進む。
【００７８】
本実施の形態では、半導体メモリ装置１１０のフラッシュメモリ１４０には、当該フラッシュメモリ１４０がｅｘＦＡＴで管理されていることを示す識別子が記憶されている。従って、ステップＳ１０３においては、フラッシュメモリ１４０から所定のデータとして当該識別子が読み出され、フラッシュメモリ１４０を管理するファイルシステムの種類としてｅｘＦＡＴが検出される。
【００７９】
ステップＳ１０３において、フラッシュメモリ１４０のファイルシステムがｅｘＦＡＴであることが検出された場合、ＩＤ検出部１５２は、フラッシュメモリアクセス部１３０経由でフラッシュメモリ１４０のすべてのＯＥＭパラメタのフィールド（Ｐａｒａｍｅｔｅｒｓ［０］〜［９］）をシーケンスに検索して、既にホスト１００によって登録された書き換え回数を示すＧＵＩＤ（第１の識別情報）が“Ｐａｒａｍｅｔｅｒｓ  Ｇｕｉｄ”のフィールド内に存在するか否かを検出し、書き換え回数を示すＧＵＩＤが存在する場合は当該書き換え回数を示すＧＵＩＤを検出する（Ｓ１０４）。
【００８０】
すなわち、フラッシュメモリ１４０のすべてのＯＥＭパラメタのフィールドに記憶されたデータを順次読み出して、読み出したデータの中に書き換え回数を示すＧＵＩＤが存在するか否かを検出する。
【００８１】
ステップＳ１０４において、書き換え回数を示すＧＵＩＤが存在しない場合には初期化完了のステップ（Ｓ１０６）に進み、書き換え回数を示すＧＵＩＤが存在する場合には次のステップ（Ｓ１０５）に進む。
【００８２】
ステップＳ１０４において書き換え回数を示すＧＵＩＤが検出された場合、メモリ情報管理部１５０は、書き換え回数記憶部１５６に記憶している書き換え回数を、フラッシュメモリアクセス部１３０経由でフラッシュメモリ１４０のＯＥＭパラメタの“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”のフィールドに反映する（Ｓ１０５）。
【００８３】
これにより、フラッシュメモリ１４０のＯＥＭパラメタにおける“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”に記憶されている書き換え回数のデータ（値）が、書き換え回数記憶部１５６に記憶されている書き換え回数のデータ（値）に従って更新される。すなわち、書き換え回数を示すＧＵＩＤに対応する書き換え回数の値が、書き換え回数記憶部１５６に記憶されている書き換え回数の値となる。
【００８４】
その後、初期化完了のステップ（Ｓ１０６）に進んで初期化完了となる。
【００８５】
このように半導体メモリ装置１１０の初期化を行うことにより、ホスト１００からフラッシュメモリ１４０に対してアクセス要求を行う際にはホスト１００とのプロトコルをＩＦ変換部１２０で変換してフラッシュメモリアクセス部１３０経由でフラッシュメモリ１４０に対してアクセスを行うが、ホスト１００からのアクセス要求がＯＥＭパラメタにおける書き換え回数を示すＧＵＩＤを定義した領域へのアクセスであった場合には、半導体メモリ装置１１０で管理している書き換え回数がＯＥＭパラメタの情報としてホスト１００に通知される。
【００８６】
例えば、フラッシュメモリ１４０の書き換え回数を確認するために、ホスト１００が半導体メモリ装置１１０に対してフラッシュメモリ１４０の書き換え回数を取得するためのコマンドを発行すると、半導体メモリ装置１１０では、フラッシュメモリアクセス部１３０がフラッシュメモリ１４０におけるＯＥＭパラメタの記憶領域から書き換え回数を示すＧＵＩＤに対応する書き換え回数のデータを読み出して、ＩＦ変換部１２０経由でホスト１００に通知する。
【００８７】
次に、図３Ｂを用いて、半導体メモリ装置１１０にデータを書き込む場合の書き込みフローについて説明する。
【００８８】
本実施の形態に係る半導体メモリ装置１１０では、デバイス依存のパラメタ（ＯＥＭパラメタ）を有するファイルシステムとしてｅｘＦＡＴを用いることにより、フラッシュメモリ１４０の書き換え回数を管理する。本実施の形態では、書き換え回数記憶部１５６に記憶されている書き換え回数のデータを、ＯＥＭパラメタにおける“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”のフィールドに反映することによって管理する。
【００８９】
ここで、図４を用いて、フラッシュメモリ１４０の書き換え回数をＯＥＭパラメタの“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”のフィールドに反映する例について詳しく説明する。図４は、第１の実施の形態に係る半導体メモリ装置におけるＯＥＭパラメタのデータの割り当てを示す図である。なお、図４では、フラッシュメモリ１４０の全領域を８つのブロックに分けて、それぞれの書き換え回数を管理する例を示している。
【００９０】
本実施の形態において、フラッシュメモリ１４０は複数のブロックに分けられており、例えば、図４に示すように、フラッシュメモリ１４０を８つのブロックに分けることができる。そして、フラッシュメモリ１４０における８つのブロックの書き換え回数は、図２Ａ及び図２Ｂに示される最初の８つの“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”のフィールド（Ｇｅｎｅｒｉｃ  Ｐａｒａｍｅｔｅｒｓ  ＴｅｍｐｌａｔｅのＢＰ１〜８）を用いて管理される。
【００９１】
そして、図４に示すように、フラッシュメモリ１４０における８つのブロックは、ブロック番号とＢＰとが対応するように割り当てられており、ＢＰの番号の１がブロック番号の１、ＢＰの番号の２がブロック番号の２、のように、ＢＰの番号がそれぞれ対応するブロック番号を示している。また、８つのブロックは、それぞれのブロック番号ごとに書き換え回数が管理される。図４では、ブロック番号が１で管理されるブロックにおける書き換え回数が４００であり、ブロック番号が２で管理されるブロックにおける書き換え回数が５００であることを示している。
【００９２】
次に、図３Ｂを用いて、フラッシュメモリ１４０にデータを書き込む場合の書き込みフローについて説明する。
【００９３】
まず、半導体メモリ装置１１０は、フラッシュメモリ１４０へのアクセス要求としてホスト１００から書き込みコマンドを受け付けて、これにより、フラッシュメモリ１４０への書き込みが開始する（Ｓ１１１）。
【００９４】
書き込みコマンドにおけるホスト１００とのプロトコルがＩＦ変換部１２０によって変換されて、フラッシュメモリアクセス部１３０によってフラッシュメモリ１４０への書き込みが実行される。このとき、フラッシュメモリ１４０への書き込みと同時に、メモリ情報管理部１５０によって、書き換え回数記憶部１５６に記憶されたフラッシュメモリ１４０の書き換え回数が更新される（Ｓ１１２）。
【００９５】
具体的には、フラッシュメモリアクセス部１３０がアクセスしたアドレスを基にして、書き込みが行われたフラッシュメモリ１４０のブロックに対応する書き換え回数が更新される。本実施の形態では、上述のようにフラッシュメモリ１４０を８つのブロックに分けて管理しているので、書き換え回数記憶部１５６は、８つのブロックの各ブロックに対応させて書き換え回数を記憶している。なお、この場合、書き換え回数記憶部１５６内においても複数のブロックによって書き換え回数を記憶するように構成しても構わないし、複数のブロックに分けることなく書き換え回数を記憶しても構わない。
【００９６】
次に、フラッシュメモリ１４０を管理するファイルシステムのフォーマットを検出する（Ｓ１１３）。
【００９７】
具体的に、ＦＳ検出部１５１は、フラッシュメモリアクセス部１３０の指示に従ってフラッシュメモリ１４０から所定のデータを読み出すことによってフラッシュメモリ１４０を管理するファイルシステムのフォーマットを検出して、フォーマットされているファイルシステムの種類を特定する。
【００９８】
このとき、ステップＳ１１３において、ファイルシステムの種類がｅｘＦＡＴ以外であれば、書き込み処理の終了ステップ（Ｓ１１６）に進み、ファイルシステムの種類がｅｘＦＡＴであれば次のステップ（Ｓ１１４）に進む。
【００９９】
ステップＳ１１４の処理は、図３ＡのステップＳ１０４の処理と同様である。すなわち、ステップＳ１１３において、フラッシュメモリ１４０のファイルシステムがｅｘＦＡＴであることが検出された場合、ＩＤ検出部１５２は、フラッシュメモリアクセス部１３０経由でフラッシュメモリ１４０のすべてのＯＥＭパラメタのフィールドを検索して、フラッシュメモリ１４０内にＯＥＭパラメタとして書き換え回数を示すＧＵＩＤが存在するか否かを検出し、書き換え回数を示すＧＵＩＤが存在する場合は当該書き換え回数を示すＧＵＩＤを検出する（Ｓ１１４）。
【０１００】
ステップＳ１１４において、メモリ情報管理部１５０は、書き換え回数を示すＧＵＩＤが存在しない場合には書き込み処理を終了する（Ｓ１１６）が、書き換え回数を示すＧＵＩＤが存在する場合には、次のステップ（Ｓ１１５）に進む。
【０１０１】
そして、ステップＳ１１４において書き換え回数を示すＧＵＩＤが検出された場合、メモリ情報管理部１５０は、書き換え回数記憶部１５６に記憶している書き換え回数のデータを、フラッシュメモリアクセス部１３０経由でフラッシュメモリ１４０のＯＥＭパラメタの“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”のフィールドに反映する（Ｓ１１５）。
【０１０２】
これにより、フラッシュメモリ１４０のＯＥＭパラメタの記憶領域に記憶されている書き換え回数のデータが、書き換え回数記憶部１５６に記憶されている書き換え回数のデータに従って更新される。すなわち、書き換え回数を示すＧＵＩＤに対応する書き換え回数の値が、書き換え回数記憶部１５６に記憶されている書き換え回数の値となる。
【０１０３】
その後、書き込み処理の終了ステップ（Ｓ１１６）に進んで、書き込み処理が終了する。
【０１０４】
なお、その後、例えば、フラッシュメモリ１４０の書き換え回数を確認する場合は、上述と同様に、ホスト１００は、半導体メモリ装置１１０に対してフラッシュメモリ１４０の書き換え回数を取得するためのコマンドを発行すればよい。半導体メモリ装置１１０は、ホスト１００からフラッシュメモリ１４０の書き換え回数を取得するためのコマンドを受信すると、フラッシュメモリアクセス部１３０によってフラッシュメモリ１４０におけるＯＥＭパラメタの記憶領域から書き換え回数を示すＧＵＩＤに対応する書き換え回数のデータが読み出され、当該書き換え回数のデータがＩＦ変換部１２０経由でホスト１００に通知される。
【０１０５】
以上、第１の実施の形態に係る半導体メモリ装置１１０によれば、半導体メモリ装置１１０のファイルシステムがｅｘＦＡＴ等のデバイス依存のパラメタを有する特定のファイルシステムであれば、ホスト１００のファイルシステムの機能を用いることにより、半導体メモリ装置１１０の種類を特定することなく、統一的なアクセス方法でデバイス固有の情報を取得することが可能になる。
【０１０６】
本実施の形態では、ｅｘＦＡＴにおけるデバイス依存のパラメタを利用して、フラッシュメモリ１４０の書き換え回数であることを示す第１の識別情報を設定し、書き換え回数記憶部１５６に記憶されている書き換え回数を第１の識別情報に対応する値に反映させる。これにより、第１の識別情報に対応する書き換え回数の値を読み出して参照することにより、半導体メモリ装置１１０の種類に関わらず、統一的なアクセス方法によってフラッシュメモリ１４０の書き換え回数を取得することができる。
【０１０７】
また、第１の実施の形態では、上述のとおり、フラッシュメモリ１４０を複数のブロックに分けて管理するように構成した。この場合、フラッシュメモリ１４０が複数のブロックに分けられて書き換え回数が管理されていることを示す第２の識別情報（第２の識別子）がＯＥＭパラメタとしてフラッシュメモリ１４０に記憶されていることが好ましい。この第２の識別情報としては、例えば、複数のブロックに分けられて書き換え回数が管理されていることを示すＧＵＩＤとして設定することができる。
【０１０８】
さらに、フラッシュメモリ１４０を複数のブロックに分けた場合、ＩＤ検出部１５２は、さらに、フラッシュメモリ１４０に第２の識別情報がＯＥＭパラメタとして記憶されているか否かを検出して、第２の識別情報が記憶されている場合は当該第２の識別情報を検出するように構成することが好ましい。そして、第２の識別情報が記憶されていることが検出された場合、書き換え回数記憶部１５６においてフラッシュメモリ１４０の各ブロック単位での書き変え回数が、対応するフラッシュメモリ１４０の各ブロックのＯＥＭパラメタにおける所定の記憶領域に反映される。
【０１０９】
このように、フラッシュメモリ１４０を複数のブロックに分けた場合、書き換え回数を示すＧＵＩＤ（第１の識別情報）は、フラッシュメモリ１４０における複数のブロックの各ブロックに対応させて設定することが好ましい。すなわち、例えば、図４に示すように、フラッシュメモリ１４０を８つのブロックに分けた場合、書き換え回数を示すＧＵＩＤ（第１の識別情報）としては８つ設定することが好ましい。
【０１１０】
なお、第１の実施の形態において、書き換え回数を示すＧＵＩＤ（第１の識別情報）に対応する書き換え回数のデータは、書き換え回数を示すＧＵＩＤとともにデバイス依存のＯＥＭパラメタとしてフラッシュメモリ１４０の所定の記憶領域に記憶したが、これに限らない。
【０１１１】
例えば、書き換え回数を示すＧＵＩＤ（第１の識別情報）に対応する書き換え回数のデータは、フラッシュメモリ１４０のｅｘＦＡＴによって管理されていない他の記憶領域、あるいは、メモリ情報管理部１５０等の半導体メモリ装置１１０内におけるフラッシュメモリ１４０以外の他の記憶領域に記憶されていてもよい。この場合、フラッシュメモリ１４０の記憶領域に書き換え回数を示すＧＵＩＤ（第１の識別情報）がデバイス依存のパラメタとして存在することが検出された場合に、書き換え回数記憶部１５６に記憶されている書き換え回数を、上記の他の記憶領域に反映する。
【０１１２】
この場合であっても、上記の他の記憶領域に記憶されているデータは書き換え回数を示すＧＵＩＤ（第１の識別情報）と対応しているので、第１の識別情報に対応する書き換え回数のデータを読み出すことにより、半導体メモリ装置１１０の種類に関わらず、統一的なアクセス方法によってフラッシュメモリ１４０の書き換え回数を取得することができる。なお、この処理を実現するために専用のドライバを設けても構わない。例えば、メモリ情報管理部１５０内に、書き換え回数記憶部１５６の書き換え回数が反映される記憶領域が存在する場合、メモリ情報管理部１５０に当該専用のドライバを設けることができる。
【０１１３】
（第２の実施の形態）
次に、第２の実施の形態について、図５を用いて説明する。図５は、第２の実施の形態に係る半導体メモリシステムの構成を示すブロック図である。
【０１１４】
図５に示すように、第２の実施の形態に係る半導体メモリシステムは、ホスト２００と半導体メモリ装置２７０とで構成されており、ホスト２００が半導体メモリ装置２７０に対してアクセスを行う。
【０１１５】
ホスト２００は、ＰＣ又は半導体メモリ装置２７０を記録メディアにするビデオカメラ等である。本実施の形態では、ホスト２００はＰＣとして説明を行う。
【０１１６】
また、半導体メモリ装置２７０は、ホスト２００に対して着脱可能なＳＤカード等であり、第１の実施の形態と同様の構成のフラッシュメモリを有する。すなわち、半導体メモリ装置２７０のフラッシュメモリはＯＥＭパラメタを有するｅｘＦＡＴのファイルシステムによって管理されており、ＯＥＭパラメタとしてはフラッシュメモリの書き換え回数を示すＧＵＩＤと当該ＧＵＩＤに対応する書き換え回数の値とが割り当てられている。
【０１１７】
本実施の形態において、ホスト２００は、ホスト２００の機能を実現するアプリケーション２１０と、物理的に半導体メモリ装置２７０を制御するハードウェアをソフトウェアで制御するデバイスドライバ２６０と、アプリケーション２１０とデバイスドライバ２６０との間で中間的な処理を行うフィルタドライバ２２０とから構成される。
【０１１８】
フィルタドライバ２２０は、半導体メモリ装置２７０に記録されているデータをファイルとして管理するファイルシステムドライバ２３０と、デバイスドライバ２６０経由で半導体メモリ装置２７０に対してデータの書き込み又は読み出し等の処理を指示するアクセス部２５０と、メモリ情報更新部２４０とから構成される。
【０１１９】
メモリ情報更新部２４０は、第１の実施の形態に係るメモリ情報管理部１５０と同等の機能を有しており、ＦＳ検出部２５１と、ＩＤ検出部２５２と、書き換え回数記憶部２５６とを有する。
【０１２０】
ＦＳ検出部２５１、ＩＤ検出部２５２及び書き換え回数記憶部２５６は、それぞれ第１の実施の形態に係る、ＦＳ検出部１５１、ＩＤ検出部２５２及び書き換え回数記憶部２５６と同等の機能を有するので、その説明は省略する。
【０１２１】
次に、第２の実施の形態に係る半導体メモリシステムの動作処理について、図６Ａ及び図６Ｂを用いて説明する。図６Ａは、第２の実施の形態において、ホスト２００が半導体メモリ装置２７０を検出した時に、半導体メモリ装置２７０を初期化する場合のフローを示すフローチャートである。図６Ｂは、第２の実施の形態において、ホスト２００が半導体メモリ装置２７０に対してデータの書き込みを行った場合のフローを示すフローチャートである。
【０１２２】
最初に、図６Ａを用いて、本実施の形態における初期化フローを説明する。
【０１２３】
図６Ａに示すように、ホスト２００は半導体メモリ装置２７０を検出した場合に処理を開始する（Ｓ２０１）。
【０１２４】
例えば、ホスト２００に半導体メモリ装置２７０がセットされた場合に、ホスト２００は半導体メモリ装置２７０を検出し、以下の処理を実行する。
【０１２５】
次に、半導体メモリ装置２７０におけるフラッシュメモリを管理するファイルシステムのフォーマットを検出する（Ｓ２０２）。
【０１２６】
ステップＳ２０２の処理は、第１の実施の形態のステップＳ１０３の処理と同様であり、ＦＳ検出部２５１は、検出した半導体メモリ装置２７０にアクセスして、フラッシュメモリを管理するファイルシステムのフォーマットを検出して、フォーマットされているファイルシステムの種類を特定する。
【０１２７】
このとき、ステップＳ２０３において、ファイルシステムの種類がｅｘＦＡＴ以外であれば初期化完了のステップ（Ｓ２０６）に進み、ファイルシステムの種類がｅｘＦＡＴであれば次のステップ（Ｓ２０３）に進む。
【０１２８】
ステップＳ２０３の処理は、第１の実施の形態のステップＳ１０４の処理と同様である。すなわち、ステップＳ２０２において、フラッシュメモリのファイルシステムがｅｘＦＡＴであることが検出された場合、ＩＤ検出部２５２は、フラッシュメモリのすべてのＯＥＭパラメタのフィールドを検索して、書き換え回数を示すＧＵＩＤが存在するか否かを検出し、書き換え回数を示すＧＵＩＤが存在する場合は当該書き換え回数を示すＧＵＩＤを検出する（Ｓ２０３）。
【０１２９】
ステップＳ２０３において、書き換え回数を示すＧＵＩＤが存在しない場合には初期化完了のステップ（Ｓ２０６）に進み、書き換え回数を示すＧＵＩＤが存在する場合には次のステップ（Ｓ２０４）に進む。
【０１３０】
ステップＳ２０３において書き換え回数を示すＧＵＩＤが検出された場合、メモリ情報更新部２４０は、ＯＥＭパラメタの読み出しを通じて、半導体メモリ装置２７０から、書き換え回数を示すＧＵＩＤに対応する書き換え回数を読み出すことによってフラッシュメモリの書き換え回数を取得する（Ｓ２０４）。
【０１３１】
次に、読み出した書き換え回数を書き換え回数記憶部２５６に記憶する（Ｓ２０５）。これにより、ホスト２００によって検出された特定の半導体メモリ装置２７０におけるフラッシュメモリの書き換え回数を取得することができる。
【０１３２】
その後、初期化完了のステップ（Ｓ２０６）に進んで初期化完了となる。
【０１３３】
次に、図６Ｂを用いて、ホスト２００が半導体メモリ装置２７０にデータを書き込む場合の書き込みフローについて説明する。
【０１３４】
図６Ｂにおいて、ステップＳ２１１からステップＳ２１６の処理は、基本的には、図３Ｂに示す第１の実施の形態におけるステップＳ１１１からステップＳ１１６の処理と同様である。
【０１３５】
但し、本実施の形態では、ステップＳ２１５が第１の実施の形態のステップＳ１１５と異なり、ステップＳ２１５において、メモリ情報更新部２４０は、アクセス部２５０及びデバイスドライバ２６０経由で、書き換え回数記憶部２５６に記憶されている書き換え回数のデータを、半導体メモリ装置２７０のフラッシュメモリにおける所定のＯＥＭパラメタの情報として反映する。以下、本実施の形態に係る書き込みフローについて詳述する。
【０１３６】
まず、ホスト２００は、半導体メモリ装置２７０に対してフラッシュメモリへの書き込みコマンドを送信し、これにより、半導体メモリ装置２７０におけるフラッシュメモリへの書き込みが開始する（Ｓ２１１）。
【０１３７】
このとき、フラッシュメモリへの書き込み処理が実行されると同時に、メモリ情報更新部２４０によって、書き換え回数記憶部２５６に記憶される書き換え回数が更新される（Ｓ２１２）。
【０１３８】
次に、フラッシュメモリを管理するファイルシステムのフォーマットを検出する（Ｓ２１３）。
【０１３９】
具体的に、ＦＳ検出部２５１は、フラッシュメモリから所定のデータを読み出すことによってフラッシュメモリを管理するファイルシステムのフォーマットを検出して、フォーマットされているファイルシステムの種類を特定する。
【０１４０】
このとき、ステップＳ２１３において、ファイルシステムの種類がｅｘＦＡＴ以外であれば、書き込み処理の終了ステップ（Ｓ２１６）に進み、ファイルシステムの種類がｅｘＦＡＴであれば次のステップ（Ｓ２１４）に進む。
【０１４１】
次に、ステップＳ２１３において、フラッシュメモリのファイルシステムがｅｘＦＡＴであることが検出された場合、ＩＤ検出部２５２は、すべてのＯＥＭパラメタのフィールドを検索して、ＯＥＭパラメタの中に書き換え回数を示すＧＵＩＤが存在するか否かを検出し、書き換え回数を示すＧＵＩＤが存在する場合は当該書き換え回数を示すＧＵＩＤを検出する（Ｓ２１４）。
【０１４２】
ステップ２１４において、メモリ情報更新部２４０は、書き換え回数を示すＧＵＩＤが存在しない場合には書き込み処理を終了する（Ｓ２１６）が、書き換え回数を示すＧＵＩＤが存在する場合には、次のステップ（Ｓ２１５）に進む。
【０１４３】
そして、ステップＳ２１４において書き換え回数を示すＧＵＩＤが検出された場合、メモリ情報更新部２４０は、書き換え回数記憶部２５６に記憶している書き換え回数のデータを、半導体メモリ装置２７０におけるフラッシュメモリのＯＥＭパラメタに反映する（Ｓ２１５）。
【０１４４】
これにより、フラッシュメモリに記憶されている書き換え回数のデータが、書き換え回数記憶部２５６に記憶されている書き換え回数のデータに従って更新される。すなわち、書き換え回数を示すＧＵＩＤに対応する書き換え回数の値が、書き換え回数記憶部２５６に記憶されている書き換え回数の値となる。
【０１４５】
その後、書き込み処理の終了ステップ（Ｓ２１６）に進んで、書き込み処理が終了する。
【０１４６】
以上、第２の実施の形態に係る半導体メモリシステムによれば、半導体メモリ装置２７０を管理するファイルシステムがｅｘＦＡＴ等のデバイス依存のパラメタを有する特定のファイルシステムであれば、ホスト２００のファイルシステムの機能を用いることにより、ホスト２００の処理のみで、半導体メモリ装置２７０の種類を特定することなく、統一的なアクセス方法でデバイス固有の情報を取得することが可能になる。
【０１４７】
本実施の形態では、第１の実施の形態と同様に、ｅｘＦＡＴにおけるデバイス依存のパラメタを利用して、フラッシュメモリの書き換え回数であることを示す第１の識別情報を設定し、書き換え回数記憶部２５６に記憶されている書き換え回数を第１の識別情報に対応する値に反映させる。これにより、第１の識別情報に対応する書き換え回数の値を読み出して参照することにより、半導体メモリ装置２７０の種類に関わらず、統一的なアクセス方法によってフラッシュメモリの書き換え回数を取得することができる。
【０１４８】
なお、第２の実施の形態における半導体メモリ装置２７０としては、第１の実施の形態に係る半導体メモリ装置１１０を用いることもできる。但し、この場合、半導体メモリ装置のフラッシュメモリへの書き換え回数の反映は、ホストと半導体メモリ装置とで重複して行われないように、ホスト及び半導体メモリ装置のいずれか一方のみで行うことが好ましい。
【０１４９】
また、第２の実施の形態では、半導体メモリ装置２７０のフラッシュメモリにデータを書き込む毎に、書き換え回数記憶部２５６に記憶される書き換え回数を半導体メモリ装置２７０におけるＯＥＭパラメタの書き換え回数に反映させるようにしたが、これに限らない。例えば、ホスト２００における書き換え回数記憶部２５６の書き換え回数の更新は、半導体メモリ装置２７０のフラッシュメモリにデータを書き込む毎に行うが、半導体メモリ装置２７０におけるＯＥＭパラメタへの書き換え回数の反映は、数回の書き込みを１つの繰り返し単位として又は所定の時間間隔によって行っても構わない。あるいは、半導体メモリ装置２７０への電源の供給を停止するときに、又は、半導体メモリ装置２７０をホスト２００から外すときに、上記のＯＥＭパラメタへの書き換え回数の反映の処理を行っても構わない。
【０１５０】
（第３の実施の形態）
次に、第３の実施の形態について、図７〜図１２を用いて説明する。
【０１５１】
まず、第３の実施の形態に係る半導体メモリシステムにおけるホストの構成について、図７を用いて説明する。図７は、第３の実施の形態に係る半導体メモリシステムにおけるホストの構成を示すブロック図である。なお、図７において、図５に示す構成要素と同じ構成要素については同じ符号を用い、その説明を省略する。
【０１５２】
図７に示すように、本実施の形態に係るホスト３００と第２の実施の形態に係るホスト２００とは、メモリ情報更新部の構成が異なる。すなわち、本実施の形態において、ホスト３００におけるメモリ情報更新部３４０は、現在時間を管理するとともにデータを書き込んだ時間を管理するタイマー３０１を有する。
【０１５３】
次に、第３の実施の形態に係る半導体メモリシステムにおける半導体メモリ装置の構成について、図８を用いて説明する。図８は、第３の実施の形態に係る半導体メモリシステムにおける半導体メモリ装置の構成を示すブロック図である。なお、図８において、図１に示す構成要素と同じ構成要素については同じ符号を用い、その説明を省略する。
【０１５４】
図８に示すように、本実施の形態に係る半導体メモリ装置３１０と第１の実施の形態に係る半導体メモリ装置１１０とは、メモリ情報管理部の構成が異なる。すなわち、本実施の形態において、半導体メモリ装置３１０におけるメモリ情報管理部３５０は、半導体メモリ装置３１０に書き込みを行った書き込み時間と現在時間とから半導体メモリ装置３１０に記録された記録データの保証ができるか否かを判定するリテンション判定部３５３を有する。
【０１５５】
リテンション判定部３５３は、タイマー３０１を参照することで、半導体メモリ装置３１０のフラッシュメモリ１４０にデータが書き込まれた時間と現在の時間とから、フラッシュメモリ１４０に記録された記録データの保証ができるか否かを判定する機能を有しており、フラッシュメモリ１４０に記録された記録データがデータ保持可能期間を過ぎているかどうかを判断する。
【０１５６】
本実施の形態に係る半導体メモリ装置３１０におけるＯＥＭパラメタのデータの割り当てについて、図９を用いて説明する。図９は、第３の実施の形態に係る半導体メモリ装置３１０におけるＯＥＭパラメタのデータの割り当てを示す図である。本実施の形態では、第１の実施の形態と同様に、フラッシュメモリ１４０における８つのブロックの書き換え回数を、ＯＥＭパラメタの８つの“Ｃｕｓｔｏｍ  Ｄｅｆｉｎｅｄ”のフィールドに反映する例を示す。
【０１５７】
図９に示すように、本実施の形態において、フラッシュメモリ１４０における８つのブロックは、ＢＰ、ブロック番号、書き換え回数に加えて、最終書き込み時間と現在時間とを保持する。各ブロックでは、最終書き込み時間と現在時間とが管理されている。なお、図９に示すように、本実施の形態では、最後にデータが書き込まれた年月日である最終書き込み年月日を最終書き込み時間とし、現在の年月日を現在時間として管理している。これにより、最終書き込み日からの経過時間を日数の精度で管理することができる。なお、最終書き込み時間及び現在時間は、年月日に限らず、時刻であっても、あるいは、年月日と時刻との組み合わせであっても構わない。すなわち、最終書き込み時間とは、最後にデータが書きこまれたときのタイミングを示す時間情報であり、現在時間とは、現在の時間情報である。
【０１５８】
次に、第３の実施の形態に係る半導体メモリシステムの動作処理について、図１０Ａ及び図１０Ｂを用いて説明する。図１０Ａは、第３の実施の形態において、ホスト３００が半導体メモリ装置３１０を検出した際の初期化処理のフローを示すフローチャートである。図１０Ｂは、第３の実施の形態において、ホスト３００が半導体メモリ装置３１０に対してデータの書き込みを行った場合のフローを示すフローチャートである。
【０１５９】
最初に、図１０Ａを用いて、本実施の形態における初期化フローを説明する。
【０１６０】
図１０Ａにおいて、ステップＳ３０１からステップＳ３０５の処理及びステップＳ３０７の処理は、基本的には、図６Ａに示す第２の実施の形態におけるステップＳ２０１からステップＳ２０６の処理と同様である。
【０１６１】
本実施の形態では、第２の実施の形態の初期化フローに対して、ステップＳ３０６が追加されている。すなわち、本実施の形態において、ホスト３００は、半導体メモリ装置３１０を検出して、フラッシュメモリ１４０から読み出した書き換え回数のデータを、書き換え回数記憶部２５６に記憶させた（Ｓ３０５）後に、タイマー３０１によって示される現在時間を図９が示すＯＥＭパラメタのフィールドに書き込む（Ｓ３０６）。
【０１６２】
このように、本実施の形態では、半導体メモリ装置３１０がホスト３００にセットされたとき等に上記の初期化を行って、半導体メモリ装置３１０から書き換え回数を示すＧＵＩＤに対応する書き換え回数を読み出して書き換え回数記憶部２５６に記憶する場合、現在時間が半導体メモリ装置３１０における所定のＯＥＭパラメタとして書き込まれる。
【０１６３】
次に、図１０Ｂを用いて、ホスト３００が半導体メモリ装置３１０にデータを書き込む場合の書き込みフローについて説明する。
【０１６４】
図１０Ｂにおいて、ステップＳ３１１からステップＳ３１６の処理は、基本的には、図６Ｂに示す第２の実施の形態におけるステップＳ２１１からステップＳ２１６の処理と同様である。
【０１６５】
但し、本実施の形態では、ステップＳ３１５が第２の実施の形態のステップＳ２１５と異なり、ステップＳ３１５において、半導体メモリ装置３１０へ書き込みを行う際に、タイマー３０１によって示される書き込み時間を、当該書き込み時間と対応付けられた第３の識別情報に対応する記憶領域に反映される。
【０１６６】
具体的には、ステップＳ３１５において、半導体メモリ装置３１０のメモリ情報管理部３５０は、ステップＳ３１４において書き換え回数を示すＧＵＩＤが検出された場合、書き換え回数のみならず、最終書き込み時間を、書き換え回数を示すＧＵＩＤに対応するＯＥＭパラメタのフィールド（記憶領域）に反映させる（Ｓ３１５）。なお、本実施の形態では、上述のように、書き込み時間に対応付けられた第３の識別情報としては、書き換え回数を示すＧＵＩＤ（第１の識別情報）を用いている。
【０１６７】
次に、本実施の形態に係る半導体メモリシステムにおけるリテンション判定の動作処理について、図１１及び図１２を用いて説明する。図１１は、第３の実施の形態に係る半導体メモリシステムにおけるリテンション判定の処理のフローを示すフローチャートである。
【０１６８】
本実施の形態では、半導体メモリ装置３１０のフラッシュメモリ１４０に記憶されたデータがデータ保持可能期間内であるかどうかを判断する。
【０１６９】
図１１に示すように、ホスト３００等からの所定の制御コマンドによって又は所定のタイミングで、フラッシュメモリ１４０に記憶されたデータがデータ保持可能期間内であるかどうかの判断が開始する（Ｓ３２１）。例えば、半導体メモリ装置３１０がホスト３００にセットされた場合に上記の判断が開始する。
【０１７０】
このとき、メモリ情報管理部３５０によって、書き換え回数記憶部１５６に記憶されたフラッシュメモリ１４０の書き換え回数が更新される（Ｓ３２２）。
【０１７１】
次に、フラッシュメモリ１４０を管理するファイルシステムのフォーマットを検出する（Ｓ３２３）。具体的に、ＦＳ検出部１５１は、フラッシュメモリ１４０から所定のデータを読み出すことによってフラッシュメモリ１４０を管理するファイルシステムのフォーマットを検出して、フォーマットされているファイルシステムの種類を特定する。
【０１７２】
このとき、ステップＳ３２３において、ファイルシステムの種類がｅｘＦＡＴ以外であれば、判断終了ステップ（Ｓ３２８）に進み、ファイルシステムの種類がｅｘＦＡＴであれば次のステップ（Ｓ３２４）に進む。
【０１７３】
ステップＳ３２３において、フラッシュメモリ１４０のファイルシステムがｅｘＦＡＴであることが検出された場合、ＩＤ検出部１５２は、フラッシュメモリ１４０のすべてのＯＥＭパラメタのフィールドを検索して、ＯＥＭパラメタの中に書き換え回数を示すＧＵＩＤが存在するか否かを検出し、書き換え回数を示すＧＵＩＤが存在する場合は当該書き換え回数を示すＧＵＩＤを検出する（Ｓ３２４）。
【０１７４】
ステップ３２４において、メモリ情報管理部３５０は、書き換え回数を示すＧＵＩＤが存在しない場合には判断終了ステップ（Ｓ３２８）に進むが、書き換え回数を示すＧＵＩＤが存在する場合には、次のステップ（Ｓ３２５）に進む。
【０１７５】
そして、ステップＳ３２４において書き換え回数を示すＧＵＩＤが検出された場合、半導体メモリ装置３１０は、図９に示されるＯＥＭパラメタのフィールドに記憶されている書き換え回数に基づいてデータ保持可能期間を演算する（Ｓ３２５）。
【０１７６】
ここで、データ保持可能期間を算出するときの算出処理について、図１２を用いて説明する。図１２は、第３の実施の形態に係る半導体メモリシステムのリテンション判定において、データ保持可能期間を算出するために用いる図であり、データ保持可能期間と書き換え回数との相関関係を示す図である。図１２において、縦軸はデータ保持可能期間を示しており、横軸は書き換え回数を示している。
【０１７７】
図１２に示すように、データ保持可能期間と書き換え回数とは、書き換え回数が増えるに従ってデータ保持可能期間が短くなる関係を有する。なお、図１２では、説明を容易にするために、当該関係を直線で表示している。
【０１７８】
図１２に示される関係により、「現在の書き換え回数」に対して、「現メモリ状態のデータ保持可能期間」を求めることができる。
【０１７９】
次に、リテンション判定部３５３は、最終書き込み時間と現在時間とに基づいて、最後にデータが書き込まれた最終書き込み時間からの経過期間を求め、当該経過期間とＳ３２５によって算出したデータ保持可能期間とを比較して、警告を通知するか否かを判断する（Ｓ３２６）。
【０１８０】
例えば、経過期間がデータ保持可能期間を超えている場合に、所定の警告を通知するように設定することができる。なお、現在時間は、半導体メモリ装置３１０のフラッシュメモリのＯＥＭパラメタのフィールドに記憶された現在時間を読み出すことにより取得することができる。
【０１８１】
そして、ステップＳ３２６において、警告を通知しないと判断した場合は判断終了ステップ（Ｓ３２８）に進み、警告を通知すると判断した場合は次のステップ（Ｓ３２７）に進む。
【０１８２】
警告を通知すると判断した場合、メモリ情報管理部３５０は、ホスト３００に対して、データ保持可能期間が過ぎているという警告を通知する（Ｓ３２７）。
【０１８３】
その後、判断終了のステップ（Ｓ３２８）に進んで判断終了となる。
【０１８４】
以上、第３の実施の形態に係る半導体メモリシステムによれば、第２の実施の形態と同様に、半導体メモリ装置３１０を管理するファイルシステムがｅｘＦＡＴ等のデバイス依存のパラメタを有する特定のファイルシステムであれば、ホスト３００のファイルシステムの機能を用いることにより、ホスト３００の処理のみで、半導体メモリ装置３１０の種類を特定することなく、統一的なアクセス方法でデバイス固有の情報を取得することが可能になる。これにより、半導体メモリ装置３１０の種類に関わらず、統一的なアクセス方法によってフラッシュメモリ１４０の書き換え回数を取得することができる。
【０１８５】
さらに、本実施の形態に係る半導体メモリシステムによれば、半導体メモリ装置３１０を管理するファイルシステムがｅｘＦＡＴ等のデバイス依存のパラメタを有する特定のファイルシステムであれば、ホスト３００のファイルシステムの機能を用いることにより、ホスト３００の処理のみで、半導体メモリ装置３１０の種類を特定することなく、統一的なアクセス方法によってリテンション特性を持つ半導体メモリ装置３１０に対してデータ保持可能期間を求めることができる。これにより、半導体メモリ装置３１０に記憶されるデータの信頼性を確保することができるとともに、半導体メモリ装置３１０に搭載されているフラッシュメモリ１４０の特性に合わせてホストでの信頼性を判断する判断基準を変える必要がなくなる。
【０１８６】
なお、第３の実施の形態では、書き換え回数記憶部を半導体メモリ装置３１０内で実現する方法について説明したが、書き換え回数記憶部をホスト３００内で実現しても、同等の効果を得ることができる。
【０１８７】
また、第３の実施の形態では、タイマー３０１をホスト３００に設け、リテンション判定部３５３を半導体メモリ装置３１０に設けたが、これに限らない。例えば、タイマーを半導体メモリ装置３１０のメモリ情報管理部３５０に設け、リテンション判定部をホスト３００のメモリ情報更新部３４０に設けてもよい。あるいは、半導体メモリ装置３１０のメモリ情報管理部３５０にのみタイマー及びテンション判定部を設けても構わないし、ホスト３００のメモリ情報更新部３４０にのみタイマー及びテンション判定部を設けても構わない。
【０１８８】
以上、本発明の実施の形態に係る半導体メモリ装置及び半導体メモリシステムについて、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。
【０１８９】
例えば、本発明の実施の形態では、不揮発性メモリとしてフラッシュメモリを用いたが、フラッシュメモリのみならず、他の不揮発性メモリに適応しても同様の効果が得られることはいうまでもない。
【０１９０】
その他、本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、または異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【産業上の利用可能性】
【０１９１】
本発明に係る半導体メモリ装置及び半導体メモリシステムは、メモリカード等の半導体メモリ装置及び当該メモリカード等の半導体メモリ装置を備える半導体メモリシステムとして広く利用することができ、特に、デバイスの種類に依存せずに利用することができるので信頼性を必要とされる業務用映像記録分野等において有用である。
【符号の説明】
【０１９２】
１００、２００、３００、１１００  ホスト
１１０、２７０、３１０、１１１０  半導体メモリ装置
１２０、１１２０  ＩＦ変換部
１３０、１１３０  フラッシュメモリアクセス部
１４０、１１４０  フラッシュメモリ
１５０、３５０、１１５０  メモリ情報管理部
１５１、２５１  ファイルシステム検出部
１５２、２５２  ＩＤ検出部
１５６、２５６、１１５６  書き換え回数記憶部
２１０  アプリケーション
２２０  フィルタドライバ
２３０  ファイルシステムドライバ
２４０、３４０  メモリ情報更新部
２５０  アクセス部
２６０  デバイスドライバ
３０１  タイマー
３５３  リテンション判定部
１００１  コントロールゲート
１００２  酸化絶縁膜
１００３  フローティングゲート
１００４  トンネル酸化膜
１００５  ソース電極
１００６  ドレイン電極
１００７  Ｐチャンネルサブストレート
【図１】
0005593254.tif 000002
【図２Ａ】
0005593254.tif 000003
【図２Ｂ】
0005593254.tif 000004
【図３Ａ】
0005593254.tif 000005
【図３Ｂ】
0005593254.tif 000006
【図４】
0005593254.tif 000007
【図５】
0005593254.tif 000008
【図６Ａ】
0005593254.tif 000009
【図６Ｂ】
0005593254.tif 000010
【図７】
0005593254.tif 000011
【図８】
0005593254.tif 000012
【図９】
0005593254.tif 000013
【図１０Ａ】
0005593254.tif 000014
【図１０Ｂ】
0005593254.tif 000015
【図１１】
0005593254.tif 000016
【図１２】
0005593254.tif 000017
【図１３】
0005593254.tif 000018
【図１４】
0005593254.tif 000019