電子機器
【課題】電子機器では、フラッシュメモリなどの不揮発性半導体メモリを電子機器の記憶部として実用可能にすることが求められている。
【解決手段】電子機器1は、データ書込み処理において既に書込まれたデータに対する上書きが禁止されている不揮発性半導体メモリ16を有し、実データおよび当該実データに対応した管理データを記憶する第1記憶部53と、データ書込み処理において任意の値へのデータ上書きが可能な第2記憶部54と、第1記憶部53に対するデータアクセスを制御する制御部52とを有する。制御部52は、第1記憶部53に記憶されている管理データを、第2記憶部54にコピーし、第2記憶部54に記憶されている管理データを参照して、第1記憶部53の実データにアクセスする。
【解決手段】電子機器1は、データ書込み処理において既に書込まれたデータに対する上書きが禁止されている不揮発性半導体メモリ16を有し、実データおよび当該実データに対応した管理データを記憶する第1記憶部53と、データ書込み処理において任意の値へのデータ上書きが可能な第2記憶部54と、第1記憶部53に対するデータアクセスを制御する制御部52とを有する。制御部52は、第1記憶部53に記憶されている管理データを、第2記憶部54にコピーし、第2記憶部54に記憶されている管理データを参照して、第1記憶部53の実データにアクセスする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性半導体メモリを有する電子機器に関する。
【背景技術】
【0002】
フラッシュメモリなどの半導体メモリは、書き込まれたデータを不揮発的に記憶保持する不揮発性の半導体メモリである。
このため、フラッシュメモリなどの半導体メモリは、ハードディスクドライブなどと同様に、電子機器の記憶部として利用できる。
たとえば特許文献1は、フラッシュメモリを有する電子機器を開示する。このような電子機器では、フラッシュメモリに対して、電気機器が使用するたとえば設定データ、アプリケーションデータなどの実データを記憶保持させることができる。
【0003】
ところで、フラッシュメモリなどの不揮発性半導体メモリを電子機器の記憶部として用いる場合、不揮発性半導体メモリには、実データの他に、実データの管理データを記憶させるとよい。
ここで、管理データは、たとえば各実データの格納先のアドレスなどの情報を含むデータである。
また、フラッシュメモリなどの不揮発性半導体メモリを電子機器の記憶部として用いる場合、不揮発性半導体メモリのアドレス空間に対して、実データを記憶する実データ領域と、管理データを記憶する管理データ領域とを分けて設定するとよい。
これにより、電子機器は、たとえばフラッシュメモリを記憶部としたファイルシステムを利用することができる。
たとえば電子機器は、不揮発性半導体メモリに保存した実データにアクセスする場合、不揮発性半導体メモリの管理データ領域のみを探索することで、実データの格納先のアドレスを特定し、実データにアクセスすることができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−241576号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、フラッシュメモリなどの半導体メモリでは、データの上書きが制限されている。
【0006】
たとえばNOR型やNAND型のフラッシュメモリでは、データ上書き処理において所定の値へデータを上書きする機能がない。NOR型フラッシュメモリでは、たとえば「0」から「1」へビットを上げる方向での上書きが禁止されている。
このため、NOR型フラッシュメモリでは、実データの追加書込みが可能な場合であっても、管理データの上書き処理が実行できない場合がある。
たとえばNOR型フラッシュメモリの管理データ領域に管理データの誤り訂正符号「1010」が既に書き込まれている場合、この誤り訂正符号の上に、実データの追加書き込み後の新たな誤り訂正符号「1110」を書き込むことができない。この例では、上位2ビット目を「0」から「1」に上書きする必要がある。
【0007】
以上のように、フラッシュメモリなどの不揮発性半導体メモリでは、データの上書きについて制約がある。
このため、フラッシュメモリなどの不揮発性半導体メモリを記憶部として利用した場合、電子機器は、たとえば実データを記憶部に書き込む際に管理データを上書きにより更新することができないことがある。
【0008】
このように電子機器では、フラッシュメモリなどの不揮発性半導体メモリを電子機器の記憶部として実用可能にすることが求められている。
【課題を解決するための手段】
【0009】
本発明の第1の観点の電子機器は、データ書込み処理において既に書込まれたデータに対する上書きが禁止されている不揮発性半導体メモリを有し、実データおよび当該実データに対応した管理データを記憶する第1記憶部と、データ書込み処理において任意の値へのデータ上書きが可能な第2記憶部と、前記第1記憶部に対するデータアクセスを制御する制御部とを有し、前記制御部は、前記第1記憶部に記憶されている前記管理データを、前記第2記憶部にコピーし、前記第2記憶部に記憶されている前記管理データを参照して、前記第1記憶部の実データにアクセスする。
【0010】
好適には、前記制御部は、前記第1記憶部に実データを新たに書き込む場合、前記第1記憶部の管理データを更新せずに前記第2記憶部にコピーされた管理データを前記第1記憶部への実データの書き込みに基づいて、上書きしてもよい。
【0011】
好適には、前記制御部は、前記第1記憶部の前記管理データの記憶領域を初期化する場合、初期化された当該記憶領域に、前記第2記憶部に記憶されている管理データを書き込んでもよい。
【0012】
好適には、前記制御部は、前記第1記憶部の前記管理データを前記第2記憶部にコピーする場合に、前記第1記憶部から読み込んだ管理データの誤りを訂正して、前記第2記憶部に書込んでもよい。
【0013】
好適には、前記第1記憶部は、前記実データおよび前記管理データの各々を、当該メモリのアドレス空間を分ける実データ領域および管理データ領域の各々に記憶し、前記管理データとして、対応する前記実データの当該メモリでの格納先のアドレスを記憶し、前記制御部は、前記第1記憶部において前記アドレスが重複している重複状態である場合、当該管理データ各々の前後の管理データを読み込み、重複状態にある各管理データが各々の前後の管理データのアドレスと連続するように、前記第1記憶部において重複状態にある管理データのアドレスを訂正してもよい。
【0014】
好適には、前記第1記憶部は、記憶するデータの誤りを訂正する誤り訂正符号を記憶し、前記制御部は、前記第1記憶部の前記データを前記第2記憶部にコピーする場合に、前記第1記憶部の前記データおよび前記誤り訂正符号を読み込み、読み込んだ誤り訂正符号を用いて読み込んだデータを訂正し、訂正後のデータを前記第2記憶部に記憶させてもよい。
【0015】
好適には、前記制御部は、当該電子機器の起動時に、前記第1記憶部に記憶されている前記管理データを、前記第2記憶部にコピーする場合に、管理データについての重複の有無を判断してもよい。
【0016】
好適には、前記第2記憶部は、揮発性メモリでもよい。
【発明の効果】
【0017】
本発明では、フラッシュメモリなどの不揮発性半導体メモリを電子機器の記憶部として利用することができる。
【図面の簡単な説明】
【0018】
【図1】図1は、本発明の実施形態に係る携帯電話機の外観の斜視図である。
【図2】図2は、図1の携帯電話機のハードウェア構成図である。
【図3】図3は、図1の携帯電話機に用いられるNOR型フラッシュメモリのアドレス空間の説明図である。
【図4】図4は、図3のNOR型フラッシュメモリのアドレス空間での1組の管理データ領域と実データ領域との対応関係の説明図である。
【図5】図5は、図2のDRAMのアドレス空間の説明図である。
【図6】図6は、図1の携帯電話機のNOR型フラッシュメモリにCPUがアクセスするために携帯電話機に実現される機能を模式的に示すブロック図である。
【図7】図7は、携帯電話機の起動時のコピー動作の説明図である。
【図8】図8は、図1の携帯電話機における実データの書き込み動作の説明図である。
【図9】図9は、図1の携帯電話機における実データの読み出し動作の説明図である。
【図10】図10は、図1の携帯電話機におけるNOR型フラッシュメモリの管理データ領域のガーベージコレクション動作の説明図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態を図面に関連付けて説明する。
【0020】
図1は、本発明の実施形態に係る携帯電話機1の外観の斜視図である。
図1の携帯電話機1は、上部筐体101、下部筐体102およびヒンジ部103を有する。
【0021】
上部筐体101および下部筐体102は、略同一サイズの長方形形状を有する。
上部筐体101と下部筐体102とは、ヒンジ部103により開閉可能に連結される。
図1は、上部筐体101と下部筐体102とを開いた状態である。
上部筐体101には、表示部13が設けられる。
下部筐体102には、操作部12の複数の入力キーが設けられる。
【0022】
図2は、図1の携帯電話機1のハードウェア構成図である。
携帯電話機1は、たとえば無線通信部(RF)11、操作部(KEY)12、表示部(DISP)13、音声モデム部(MODEM)14、CPU(Central Processing Unit)15、不揮発性半導体メモリ(NV_MEM)16、DRAM17、およびこれらを接続するシステムバス18とを有する。
また、携帯電話機1の各部は、バッテリ19から供給される電力により動作する。
【0023】
無線通信部11は、図示しない基地局との通信チャネルを確立し、基地局と通信データを送受する。
そして、無線通信部11は、CPU15からの入力信号に含まれる通信データを基地局へ無線送信する。
また、無線通信部11は、基地局から受信した通信データを含む信号をCPU15へ出力する。
これにより、無線通信部11は、たとえばフラッシュメモリから読み出した電子メールデータを送信する。また、無線通信部11は、たとえば受信した電子メールデータを、フラッシュメモリに保存させるために、CPU15へ出力する。
【0024】
操作部12は、複数の入力キーを有する。
複数の入力キーには、たとえばテンキー、電源キー、通話キー、文字キーなどがある。
入力キーは、図1に示すように、携帯電話機1の下部筐体102の前面に配置される。
そして、操作部12は、ユーザにより操作された入力キーに対応する入力データを含む操作信号をCPU15へ出力する。
これにより、操作部12は、たとえば作成したテキストデータについてのフラッシュメモリへの書込み指示や、フラッシュメモリに保存したテキストデータについての読出し指示を入力する。
【0025】
表示部13は、たとえばIPS(In Plane Switching)液晶デバイス、LCD(Liquid Crystal Display Device)、有機EL(Electro-Luminescence)デバイスなどを有する。
表示部13は、図1に示すように、携帯電話機1の上部筐体101の前面に配置される。
そして、表示部13は、CPU15から入力された表示信号に含まれる表示データを表示する。
これにより、表示部13は、たとえばフラッシュメモリから読み出したテキストデータなどを表示する。
【0026】
音声モデム部14は、スピーカ20およびマイクロホン21に接続される。
そして、音声モデム部14は、マイクロホン21に入力された音声をサンプリングし、音声データを含む信号をCPU15へ出力する。
また、音声モデム部14は、CPU15からの入力信号に含まれる音声データによりスピーカ20を駆動する。
これにより、スピーカ20から、たとえばフラッシュメモリから読み出した音声データの音声などが再生される。
【0027】
不揮発性半導体メモリ16は、書き込まれたデータなどを不揮発的に記憶保持できる半導体メモリであればよく、たとえばNOR型フラッシュメモリにより構成すればよい。
NOR型フラッシュメモリは、CPU15などにより、データの書込みアクセス、読出しアクセス、消去アクセスが可能である。また、NOR型フラッシュメモリは、データの上書きアクセスも可能である。そして、NOR型フラッシュメモリは、書き込まれたデータを記憶保持する。
なお、NOR型フラッシュメモリは、ガーベージコレクション処理などでの初期化処理により、各記憶ビットに所定の値(たとえば「1」)か書き込まれる。よって、NOR型フラッシュメモリの書込みアクセスまたは上書きアクセスでは、各記憶ビットの値を「1」から「0」に落とす書込み処理が実行される。
【0028】
そして、不揮発性半導体メモリ16は、携帯電話機1で使用する各種のデータおよびプログラムを記憶する。
。不揮発性半導体メモリ16に記憶されるプログラムは、たとえばCD−ROM(Compact Disc Read Only Memory)などのコンピュータ読み取り可能な記録媒体からインストールしたものでも、インターネットなどの伝送媒体によりダウンロードしてインストールしたものでもよい。
【0029】
図3は、図2の不揮発性半導体メモリ16として用いられるNOR型フラッシュメモリのアドレス空間の説明図である。
NOR型フラッシュメモリは、複数の物理ブロック31を有する。物理ブロック31は、複数の物理ページを有する。物理ページは、複数の記憶ビットを有する。
そして、NOR型フラッシュメモリは、データの書込み処理および読み出し処理において、物理ページ単位で複数の記憶ビットに対するデータの書込みが可能である。
また、NOR型フラッシュメモリは、データの初期化処理(消去処理)において、物理ブロック31の単位で複数の記憶ビットに対するデータの初期化処理が可能である。
【0030】
なお、NOR型フラッシュメモリの物理ページは、NAND型フラッシュメモリの物理ページと同様に、CPU15などにより実際に書込みデータ(たとえば後述する実データ、管理データ)が書き込まれる領域と、拡張領域とにより構成されてもよい。
この場合、拡張領域には、当該物理ページと論理ページとの対応付けを示す論物アドレスの変換データ、当該物理ページの有効無効を示すデータ、当該物理ページが書き換え中であるか否かを示すスデータスデータなどを格納することができる。
【0031】
そして、不揮発性半導体メモリ16として用いられるNOR型フラッシュメモリのアドレス空間には、図3に示すように、複数の管理データ領域32と、複数の実データ領域33とが固定的に割り当てられる。
複数の実データ領域33と複数の管理データ領域32とは、1対1に対応する。
【0032】
実データ領域33は、たとえば1個または複数個の物理ブロック31により構成される。
実データ領域33には、CPU15などが不揮発性半導体メモリ16に保存させて利用したい電子メールデータ、テキストデータ、音声データ、携帯電話機1の設定データなどの実データが書き込まれる。
電子メールデータ、音声データなどは、アプリケーションデータである。
【0033】
管理データ領域32は、たとえば1個または複数個の物理ブロック31により構成される。
管理データ領域32には、CPU15などにより管理データが書き込まれる。
管理データは、たとえば実データ領域33に保存された実データのファイル名、各実データについての実データ領域33内の格納先のアドレスなどの、対応する実データの管理情報を有する。
【0034】
また、後述する図4に示すように、実データ領域33の最終アドレスには、各領域のデータについての誤り訂正符号33−3が格納される。
誤り訂正符号33−3には、たとえばECC、チェックサムなどがある。
このように領域毎に誤り訂正符号33−3を記憶させることにより、CPU15は、各領域において経年劣化などによりビット誤りが発生したとしてもそのビット誤りを訂正し、各領域に書き込んだ正しいデータを得ることができる。
これにより、NOR型フラッシュメモリについての不揮発性半導体メモリ16としての信頼性を向上させることができる。
【0035】
また、ここでは、NOR型フラッシュメモリのアドレス空間に対して、管理データ領域32および実データ領域33を固定的に割り当てている。
これにより、たとえばNOR型フラッシュメモリから実データを読み出す場合に、CPU15は、固定化された管理データ領域32のみを検索するだけで、当該実データの格納位置を得ることができる。
よって、NOR型フラッシュメモリのアドレス空間の全体を検索する必要がなくなり、不揮発性半導体メモリ16のアクセス時間を短縮することができる。
【0036】
図4は、1組の管理データ領域32と実データ領域33との対応関係の説明図である。
図4の実データ領域33には、第1実データ33−1と、第2実データ33−2とが格納されている。実データ領域の最終アドレスには、第1実データ33−1と第2実データ33−2とによる実データの誤り訂正符号33−3が格納される。
また、図4の管理データ領域32には、第1実データの第1管理データ32−1と、第2実データの第2管理データ32−2とが格納される。
この場合、CPU15は、たとえば第1実データ33−1を読み出す場合、管理データ領域32を検索することにより、第1実データの第1管理データ32−1を検出する。
そして、CPU15は、第1管理データ32−1に基づいて、第1実データ33−1を格納するアドレスを特定し、実データ領域33のその特定したアドレスから第1実データ33−1を読み出す。
【0037】
図2のDRAM17は、任意の値へのデータの上書きが可能なメモリである。
なお、DRAM17の替わりに、SRAMなどの揮発性メモリを用いてもよい。DRAM17、SRAMは、フラッシュメモリよりも高速にデータアクセスが可能である。
そして、DRAM17は、CPU15により、データの書込みアクセス、上書きアクセス、読出しアクセス、消去アクセスが可能である。
また、DRAM17は、書込みアクセスおよび上書きアクセスにおいて、ビットを「1」から「0」に落とす書込み処理と、ビットを「0」から「1」に上げる書込み処理とが可能である。
すなわち、DRAM17に対するデータの上書きアクセスでは、任意の値への上書きが可能である。
【0038】
図5は、DRAM17として用いられる図2のDRAM17のアドレス空間の説明図である。
そして、図5に示すように、DRAM17は、図3の不揮発性半導体メモリ16のアドレス空間に設定された管理データ領域32と同数の複数の管理データ領域41を記憶する。
また、DRAM17に記憶される複数の管理データ領域41は、たとえば携帯電話機1の電源投入時に図3の不揮発性半導体メモリ16からコピーされた複数の管理データ領域32である。
DRAM17の管理データ領域41の個数は、不揮発性半導体メモリ16の管理データ領域32の個数と一致する。
【0039】
図2のCPU15は、プログラムを実行するコンピュータである。
そして、CPU15が、不揮発性半導体メモリ16に記憶されるプログラムを読み込んで実行することにより、携帯電話機1の制御部が実現される。
【0040】
図6は、図2の不揮発性半導体メモリ16にCPU15がアクセスするために携帯電話機1に実現される機能を模式的に示すブロック図である。
複数のアプリケーション部51と、ファイルシステム部52とは、CPU15によって実現される。
また、NOR型フラッシュメモリに対して物理ページ毎にデータの書込み処理を行うライト手段55、物理ページ毎に読み出し処理を行うリード手段56、物理ブロック31毎に初期化処理を行う初期化手段57が不揮発性半導体メモリ16によって実現されている。
CPU15は、これらのアクセス手段を用いて、NOR型フラッシュメモリにアクセス可能である。
【0041】
アプリケーション部51は、たとえば電子メール部、通話部、プレーヤ部、撮像部などとして機能する。
そして、アプリケーション部51は、操作部12の操作入力などに応じて、ファイルシステム部52に対して実データの書込みアクセス、読出しアクセス、消去アクセスを指示する。
たとえばアプリケーション部51は、ファイルシステム部52に対して実データを指定した読出しアクセスを要求する。
この場合、ファイルシステム部52は、リード手段56を用いて不揮発性半導体メモリ16から指定された実データを読み込み、アプリケーション部51に返す。
アプリケーション部51は、要求した実データを受け取ると、無線通信部11、表示部13、音声モデム部16などへ出力する。
これにより、不揮発性半導体メモリ16に記憶されデータ楽曲データが携帯電話機1において再生されたり、不揮発性半導体メモリ16に記憶されデータ電子メールデータが携帯電話機1から基地局へ送信されたりする。
【0042】
ファイルシステム部52は、不揮発性半導体メモリ16およびDRAM17を管理する。
また、ファイルシステム部52は、不揮発性半導体メモリ16に記憶保存させる各実データを、ファイルにより管理する。ファイルシステム部52は、実データに対して、互いに識別可能なファイル名を付与する。
【0043】
そして、ファイルシステム部52は、たとえば携帯電話機1の起動時に、不揮発性半導体メモリ16のすべての管理データ領域32を、DRAM17にコピーする。
ファイルシステム部52は、リード手段56を用いて不揮発性半導体メモリ16から管理データを物理ページ毎に読出し、読み出した管理データをDRAM17に書き込む。
【0044】
また、ファイルシステム部52は、アプリケーション部51により実データの書込みアクセス、読出しアクセス、消去アクセスが要求されると、要求内容に応じたシーケンス処理を実行する。
ファイルシステム部52は、アクセス手段55〜57を用いて、不揮発性半導体メモリ16に対してデータの書込み処理、読出し処理、初期化処理を実行する。
【0045】
たとえば実データの読み出しアクセスが要求された場合、ファイルシステム部52は、DRAM17において当該実データのファイル名を検索し、要求に係る実データの不揮発性半導体メモリ16での格納アドレスを特定する。
次に、ファイルシステム部52は、リード手段56を用いて、不揮発性半導体メモリ16について特定した格納アドレスから、実データを読み込む。
そして、ファイルシステム部52は、不揮発性半導体メモリ16から読み込んだ実データを、要求に係る実データとしてアプリケーション部51へ出力する。
【0046】
この他にも例えば実データの書込みアクセスが要求された場合、ファイルシステム部52は、DRAM17内の管理データを検索し、不揮発性半導体メモリ16のたとえば未使用の実データ領域33を検索する。
次に、ファイルシステム部52は、ライト手段55を用いて、不揮発性半導体メモリ16の当該未使用の実データ領域33に実データと誤り訂正符号とを書き込む。
また、ファイルシステム部52は、DRAM17において対応する管理データ領域41に、実データ領域33に書き込んだ実データのファイル名などの管理データと誤り訂正符号とを書き込む。
【0047】
また、ファイルシステム部52は、アプリケーション部51からの指示が無くとも、たとえば不揮発性半導体メモリ16に対して所定量以上の実データの書き込みを実行した場合には、不揮発性半導体メモリ16の管理データ領域32についてのガーベージコレクション処理を実行する。
このガーベージコレクション処理では、ファイルシステム部52は、まず、初期化手段57を用いて、対象となる不揮発性半導体メモリ16の管理データ領域32を初期化する。
次に、ファイルシステム部52は、ライト手段55を用いて、初期化した不揮発性半導体メモリ16の管理データ領域32に、DRAM17に記憶されている最新の管理データ領域41の管理データおよび誤り訂正符号を書き込む。
【0048】
次に、NOR型フラッシュメモリ(16)を用いた場合のアクセス動作について詳しく説明する。
以下では、携帯電話機1の起動時のコピー動作、実データの書込み動作、読出し動作、ガーベージコレクション動作について説明する。
【0049】
図7は、携帯電話機1の起動時のコピー動作の説明図である。
携帯電話機1が起動されると、CPU15はプログラムを実行し、CPU15にファイルシステム部52が実現される。
【0050】
携帯電話機1の起動時には、ファイルシステム部52は、まず、NOR型フラッシュメモリ(16)から、管理データ領域32を読み込む(ステップST1)。
管理データ領域32は、図3に示すように、NOR型フラッシュメモリのアドレス空間に対して固定化されている。
よって、ファイルシステム部52は、NOR型フラッシュメモリの所定のアドレスから、管理データ領域32のデータを短時間に読み込むことができる。
【0051】
次に、ファイルシステム部52は、読み込んだ管理データ領域32の管理データと、読み込んだ誤り訂正符号とを比較し、読み込んだ管理データ領域32にビット誤りが発生しているか否かを判断する。
読み込んだ管理データ領域32にビット誤りが発生している場合、ファイルシステム部52は、誤り訂正符号を用いて、読み込んだ管理データ領域32の管理データのビット誤りを訂正する。
【0052】
次に、ファイルシステム部52は、ビット誤りが無い管理データ領域32のデータ、またはビット誤りを訂正した管理データ領域32のデータを、DRAM17に書き込む(ステップST2)。
これにより、ファイルシステム部52は、携帯電話機1の起動時に、NOR型フラッシュメモリに記憶されデータ管理データ領域32を、DRAM17にコピーする。
DRAM17には、ビット誤りを含まない管理データ領域41がコピーされる。
【0053】
また、ファイルシステム部52は、以上の管理データ領域のコピー処理を、NOR型フラッシュメモリのすべての管理データ領域32について実行する。
これにより、DRAM17には、NOR型フラッシュメモリのすべての管理データ領域32のデータがコピーされる。
【0054】
すべての管理データ領域32のデータについてのコピー処理が終了すると、ファイルシステム部52は、DRAM17にコピーした管理データ領域41のデータについての訂正処理を実行する。
具体的には、ファイルシステム部52は、DRAM17にコピーしたすべての管理データ領域41をスキャンし、重複した管理データがDRAM17に記憶されているか否かを判断する。
たとえばDRAM17に同じアドレスを示す複数の管理データが記憶されている場合、ファイルシステム部52は、重複状態にある複数の管理データがDRAM17に存在すると判断する。
【0055】
重複状態にある複数の管理データがDRAM17に存在する場合、ファイルシステム部52は、当該複数の管理データについての訂正処理を実行する。
ファイルシステム部52は、たとえば重複状態にある各管理データの前後の管理データを読み込む。
通常、複数の実データは実データ領域33において順番に並べて格納される。
このため、通常は、管理データ領域32の複数の管理データのアドレスも順番に並ぶ。
そして、ファイルシステム部52は、重複している各管理データを、前後の管理データとアドレスが順番に並ぶように訂正する。
たとえば重複状態にある管理データのアドレスが5であり、その前後の管理データのアドレスが1と3である場合、重複状態にある管理データのアドレスを5から2に訂正する。これにより、訂正前のアドレスの並びが「1→5→3」である場合に、訂正後のアドレスは「1→2→3」の順番に並ぶようになる。
【0056】
図8は、NOR型フラッシュメモリへの実データの書き込み動作の説明図である。
実データの書き込み時に、ファイルシステム部52は、DRAM17の管理データを読み込み、たとえば未使用の実データ領域33を検索する(ステップST11)。
未使用の実データ領域33を検出すると、ファイルシステム部52は、ライト手段55を用いて、NOR型フラッシュメモリの当該未使用の実データ領域33に、実データと誤り訂正符号とを書き込む(ステップST12)。
次に、ファイルシステム部52は、書き込みをした実データ領域33に対応するDRAM17の管理データ領域41を更新する(ステップST13)。
ファイルシステム部52は、当該DRAM17の管理データ領域41に、実データ領域33に書き込んだ実データのファイル名、格納先のアドレスなどの管理データと、誤り訂正符号とを書き込む。
【0057】
図9は、NOR型フラッシュメモリへの実データの読み出し動作の説明図である。
実データの読出し時に、ファイルシステム部52は、DRAM17の管理データを読み込み、読み出し要求に係る実データの格納先のアドレスを特定する(ステップST21)。
読出し要求に係る実データの格納先アドレスを特定すると、ファイルシステム部52は、リード手段56を用いて、NOR型フラッシュメモリの当該アドレスから、実データを読み込む(ステップST22)。
【0058】
図10は、NOR型フラッシュメモリの管理データ領域32のガーベージコレクション動作の説明図である。
このガーベージコレクション動作は、たとえばNOR型フラッシュメモリに対して所定量以上の実データの書き込みを実行した場合などに実行される。
図10(A)は、管理データ領域32,41の書込み直後の状態図である。
図10(B)は、ガーベージコレクション前のビット化けが発生した管理データ領域32,41の状態図である。
図10(C)は、ガーベージコレクション後の管理データ領域32,41の状態図である。
NOR型フラッシュメモリの管理データ領域32では、図10(A)および(B)に示すように、書込み後の経年劣化などにより、ビット化けが起きることがある。
【0059】
管理データ領域32のガーベージコレクション動作では、ファイルシステム部52は、初期化手段57を用いて、処理対象の管理データ領域32を初期化する。これにより、当該処理対象の管理データ領域32のデータは、たとえばすべて「1」になる。
次に、ファイルシステム部52は、DRAM17から、初期化したNOR型フラッシュメモリの管理データ領域32に対応する管理データ領域41のデータを読み込む。
次に、ファイルシステム部52は、ライト手段55を用いて、DRAM17から読み込んだ管理データ領域41のデータを、初期化したNOR型フラッシュメモリの管理データ領域32に書き込む。
これにより、ガーベージコレクション前にNOR型フラッシュメモリの管理データ領域32に発生しデータビット化けは、消去される。
【0060】
以上のように、本実施形態では、NOR型フラッシュメモリ(16)にアクセスする場合、ファイルシステム部52は、NOR型フラッシュメモリからDRAM17にコピーした管理データを参照する。
そして、DRAM17は、データ書込み処理において任意の値へのデータ上書きが可能であるため、たとえばNOR型フラッシュメモリに実データを書き込む場合には、DRAM17に当該実データの管理データを書き込むことができる。
また、本実施形態では、ガーベージコレクション処理において、NOR型フラッシュメモリの管理データ領域32を初期化し、初期化された当該管理データ領域32に、DRAM17に記憶されている管理データを書き込む。
よって、本実施形態では、NOR型フラッシュメモリに書き込んだ実データとその管理データとの整合性を維持することができる。
それゆえ、本実施形態では、NOR型フラッシュメモリに、実データおよび当該実データの管理データを記憶させ、NOR型フラッシュメモリを不揮発性半導体メモリ16として使用することができる。
【0061】
また、本実施形態では、NOR型フラッシュメモリの管理データ領域32のデータをDRAM17にコピーする場合に、読み込んだ当該管理データ領域32の誤り訂正符号を用いて読み込んだ管理データを訂正し、訂正後の管理データをDRAM17に記憶させる。
また、本実施形態では、NOR型フラッシュメモリに記憶されているすべての管理データをDRAM17にコピーし、DRAM17にコピーしたすべての管理データをスキャンし、DRAM17において重複している管理データを訂正する。
よって、DRAM17にコピーされた管理データは、ビット誤りおよび重複データを含まない正しい管理データになる。
たとえばNOR型フラッシュメモリに保存された管理データにおいて経年劣化によるビット誤りが発生したとしても、ファイルシステム部52は、そのビット誤りが訂正された正しい管理データを参照してNOR型フラッシュメモリの実データにアクセスできる。
【0062】
以上の実施形態は、本発明の好適な実施形態の例であるが、本発明は、これに限定されるものではなく、発明の要旨を逸脱しない範囲において種々の変形または変更が可能である。
【0063】
たとえば上記実施形態では、不揮発性半導体メモリ16として、データ書込み処理において所定の値へのデータ上書きができないNOR型フラッシュメモリを使用している。
この他にも例えば、データ書込み処理において既に書込まれたデータに対する直接的な上書きができないNAND型フラッシュメモリなどの不揮発性半導体メモリ16を使用してもよい。
【0064】
上記実施形態では、ファイルシステム部52は、携帯電話機1の起動時に、NOR型フラッシュメモリの管理データを、DRAM17としてのDRAM17にコピーしている。
この他にも例えば、ファイルシステム部52は、携帯電話機1の起動中に定期的に、NOR型フラッシュメモリの管理データを、DRAM17としてのDRAM17にコピーしてもよい。
【0065】
上記実施形態では、ファイルシステム部52は、所定量以上のデータ書込みがなされた場合に、DRAM17の管理データを、NOR型フラッシュメモリにコピーしている。
この他にも例えば、ファイルシステム部52は、携帯電話機1のシャットダウン時(停止時)に、DRAM17の管理データを、NOR型フラッシュメモリにコピーしてもよい。
さらに他にも例えば、ファイルシステム部52は、バッテリ19の電力の残量が所定値を下回った場合には、実データの書込みの度に、DRAM17の管理データをNOR型フラッシュメモリにコピーしてもよい。
【0066】
上記実施形態は、携帯電話機1の例である。
この他にも例えば、本発明は、PHS端末、携帯ゲーム機器、PDA、携帯ナビゲーション装置、携帯再生装置、コンピュータ装置などの各種の電子機器に適用できる。
【符号の説明】
【0067】
1…携帯電話機(電子機器)、16…不揮発性半導体メモリ(第1記憶部)、17…DRAM(第2記憶部)、32…管理データ領域、33…実データ領域、52…ファイルシステム部(制御部)。
【技術分野】
【0001】
本発明は、不揮発性半導体メモリを有する電子機器に関する。
【背景技術】
【0002】
フラッシュメモリなどの半導体メモリは、書き込まれたデータを不揮発的に記憶保持する不揮発性の半導体メモリである。
このため、フラッシュメモリなどの半導体メモリは、ハードディスクドライブなどと同様に、電子機器の記憶部として利用できる。
たとえば特許文献1は、フラッシュメモリを有する電子機器を開示する。このような電子機器では、フラッシュメモリに対して、電気機器が使用するたとえば設定データ、アプリケーションデータなどの実データを記憶保持させることができる。
【0003】
ところで、フラッシュメモリなどの不揮発性半導体メモリを電子機器の記憶部として用いる場合、不揮発性半導体メモリには、実データの他に、実データの管理データを記憶させるとよい。
ここで、管理データは、たとえば各実データの格納先のアドレスなどの情報を含むデータである。
また、フラッシュメモリなどの不揮発性半導体メモリを電子機器の記憶部として用いる場合、不揮発性半導体メモリのアドレス空間に対して、実データを記憶する実データ領域と、管理データを記憶する管理データ領域とを分けて設定するとよい。
これにより、電子機器は、たとえばフラッシュメモリを記憶部としたファイルシステムを利用することができる。
たとえば電子機器は、不揮発性半導体メモリに保存した実データにアクセスする場合、不揮発性半導体メモリの管理データ領域のみを探索することで、実データの格納先のアドレスを特定し、実データにアクセスすることができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−241576号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、フラッシュメモリなどの半導体メモリでは、データの上書きが制限されている。
【0006】
たとえばNOR型やNAND型のフラッシュメモリでは、データ上書き処理において所定の値へデータを上書きする機能がない。NOR型フラッシュメモリでは、たとえば「0」から「1」へビットを上げる方向での上書きが禁止されている。
このため、NOR型フラッシュメモリでは、実データの追加書込みが可能な場合であっても、管理データの上書き処理が実行できない場合がある。
たとえばNOR型フラッシュメモリの管理データ領域に管理データの誤り訂正符号「1010」が既に書き込まれている場合、この誤り訂正符号の上に、実データの追加書き込み後の新たな誤り訂正符号「1110」を書き込むことができない。この例では、上位2ビット目を「0」から「1」に上書きする必要がある。
【0007】
以上のように、フラッシュメモリなどの不揮発性半導体メモリでは、データの上書きについて制約がある。
このため、フラッシュメモリなどの不揮発性半導体メモリを記憶部として利用した場合、電子機器は、たとえば実データを記憶部に書き込む際に管理データを上書きにより更新することができないことがある。
【0008】
このように電子機器では、フラッシュメモリなどの不揮発性半導体メモリを電子機器の記憶部として実用可能にすることが求められている。
【課題を解決するための手段】
【0009】
本発明の第1の観点の電子機器は、データ書込み処理において既に書込まれたデータに対する上書きが禁止されている不揮発性半導体メモリを有し、実データおよび当該実データに対応した管理データを記憶する第1記憶部と、データ書込み処理において任意の値へのデータ上書きが可能な第2記憶部と、前記第1記憶部に対するデータアクセスを制御する制御部とを有し、前記制御部は、前記第1記憶部に記憶されている前記管理データを、前記第2記憶部にコピーし、前記第2記憶部に記憶されている前記管理データを参照して、前記第1記憶部の実データにアクセスする。
【0010】
好適には、前記制御部は、前記第1記憶部に実データを新たに書き込む場合、前記第1記憶部の管理データを更新せずに前記第2記憶部にコピーされた管理データを前記第1記憶部への実データの書き込みに基づいて、上書きしてもよい。
【0011】
好適には、前記制御部は、前記第1記憶部の前記管理データの記憶領域を初期化する場合、初期化された当該記憶領域に、前記第2記憶部に記憶されている管理データを書き込んでもよい。
【0012】
好適には、前記制御部は、前記第1記憶部の前記管理データを前記第2記憶部にコピーする場合に、前記第1記憶部から読み込んだ管理データの誤りを訂正して、前記第2記憶部に書込んでもよい。
【0013】
好適には、前記第1記憶部は、前記実データおよび前記管理データの各々を、当該メモリのアドレス空間を分ける実データ領域および管理データ領域の各々に記憶し、前記管理データとして、対応する前記実データの当該メモリでの格納先のアドレスを記憶し、前記制御部は、前記第1記憶部において前記アドレスが重複している重複状態である場合、当該管理データ各々の前後の管理データを読み込み、重複状態にある各管理データが各々の前後の管理データのアドレスと連続するように、前記第1記憶部において重複状態にある管理データのアドレスを訂正してもよい。
【0014】
好適には、前記第1記憶部は、記憶するデータの誤りを訂正する誤り訂正符号を記憶し、前記制御部は、前記第1記憶部の前記データを前記第2記憶部にコピーする場合に、前記第1記憶部の前記データおよび前記誤り訂正符号を読み込み、読み込んだ誤り訂正符号を用いて読み込んだデータを訂正し、訂正後のデータを前記第2記憶部に記憶させてもよい。
【0015】
好適には、前記制御部は、当該電子機器の起動時に、前記第1記憶部に記憶されている前記管理データを、前記第2記憶部にコピーする場合に、管理データについての重複の有無を判断してもよい。
【0016】
好適には、前記第2記憶部は、揮発性メモリでもよい。
【発明の効果】
【0017】
本発明では、フラッシュメモリなどの不揮発性半導体メモリを電子機器の記憶部として利用することができる。
【図面の簡単な説明】
【0018】
【図1】図1は、本発明の実施形態に係る携帯電話機の外観の斜視図である。
【図2】図2は、図1の携帯電話機のハードウェア構成図である。
【図3】図3は、図1の携帯電話機に用いられるNOR型フラッシュメモリのアドレス空間の説明図である。
【図4】図4は、図3のNOR型フラッシュメモリのアドレス空間での1組の管理データ領域と実データ領域との対応関係の説明図である。
【図5】図5は、図2のDRAMのアドレス空間の説明図である。
【図6】図6は、図1の携帯電話機のNOR型フラッシュメモリにCPUがアクセスするために携帯電話機に実現される機能を模式的に示すブロック図である。
【図7】図7は、携帯電話機の起動時のコピー動作の説明図である。
【図8】図8は、図1の携帯電話機における実データの書き込み動作の説明図である。
【図9】図9は、図1の携帯電話機における実データの読み出し動作の説明図である。
【図10】図10は、図1の携帯電話機におけるNOR型フラッシュメモリの管理データ領域のガーベージコレクション動作の説明図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態を図面に関連付けて説明する。
【0020】
図1は、本発明の実施形態に係る携帯電話機1の外観の斜視図である。
図1の携帯電話機1は、上部筐体101、下部筐体102およびヒンジ部103を有する。
【0021】
上部筐体101および下部筐体102は、略同一サイズの長方形形状を有する。
上部筐体101と下部筐体102とは、ヒンジ部103により開閉可能に連結される。
図1は、上部筐体101と下部筐体102とを開いた状態である。
上部筐体101には、表示部13が設けられる。
下部筐体102には、操作部12の複数の入力キーが設けられる。
【0022】
図2は、図1の携帯電話機1のハードウェア構成図である。
携帯電話機1は、たとえば無線通信部(RF)11、操作部(KEY)12、表示部(DISP)13、音声モデム部(MODEM)14、CPU(Central Processing Unit)15、不揮発性半導体メモリ(NV_MEM)16、DRAM17、およびこれらを接続するシステムバス18とを有する。
また、携帯電話機1の各部は、バッテリ19から供給される電力により動作する。
【0023】
無線通信部11は、図示しない基地局との通信チャネルを確立し、基地局と通信データを送受する。
そして、無線通信部11は、CPU15からの入力信号に含まれる通信データを基地局へ無線送信する。
また、無線通信部11は、基地局から受信した通信データを含む信号をCPU15へ出力する。
これにより、無線通信部11は、たとえばフラッシュメモリから読み出した電子メールデータを送信する。また、無線通信部11は、たとえば受信した電子メールデータを、フラッシュメモリに保存させるために、CPU15へ出力する。
【0024】
操作部12は、複数の入力キーを有する。
複数の入力キーには、たとえばテンキー、電源キー、通話キー、文字キーなどがある。
入力キーは、図1に示すように、携帯電話機1の下部筐体102の前面に配置される。
そして、操作部12は、ユーザにより操作された入力キーに対応する入力データを含む操作信号をCPU15へ出力する。
これにより、操作部12は、たとえば作成したテキストデータについてのフラッシュメモリへの書込み指示や、フラッシュメモリに保存したテキストデータについての読出し指示を入力する。
【0025】
表示部13は、たとえばIPS(In Plane Switching)液晶デバイス、LCD(Liquid Crystal Display Device)、有機EL(Electro-Luminescence)デバイスなどを有する。
表示部13は、図1に示すように、携帯電話機1の上部筐体101の前面に配置される。
そして、表示部13は、CPU15から入力された表示信号に含まれる表示データを表示する。
これにより、表示部13は、たとえばフラッシュメモリから読み出したテキストデータなどを表示する。
【0026】
音声モデム部14は、スピーカ20およびマイクロホン21に接続される。
そして、音声モデム部14は、マイクロホン21に入力された音声をサンプリングし、音声データを含む信号をCPU15へ出力する。
また、音声モデム部14は、CPU15からの入力信号に含まれる音声データによりスピーカ20を駆動する。
これにより、スピーカ20から、たとえばフラッシュメモリから読み出した音声データの音声などが再生される。
【0027】
不揮発性半導体メモリ16は、書き込まれたデータなどを不揮発的に記憶保持できる半導体メモリであればよく、たとえばNOR型フラッシュメモリにより構成すればよい。
NOR型フラッシュメモリは、CPU15などにより、データの書込みアクセス、読出しアクセス、消去アクセスが可能である。また、NOR型フラッシュメモリは、データの上書きアクセスも可能である。そして、NOR型フラッシュメモリは、書き込まれたデータを記憶保持する。
なお、NOR型フラッシュメモリは、ガーベージコレクション処理などでの初期化処理により、各記憶ビットに所定の値(たとえば「1」)か書き込まれる。よって、NOR型フラッシュメモリの書込みアクセスまたは上書きアクセスでは、各記憶ビットの値を「1」から「0」に落とす書込み処理が実行される。
【0028】
そして、不揮発性半導体メモリ16は、携帯電話機1で使用する各種のデータおよびプログラムを記憶する。
。不揮発性半導体メモリ16に記憶されるプログラムは、たとえばCD−ROM(Compact Disc Read Only Memory)などのコンピュータ読み取り可能な記録媒体からインストールしたものでも、インターネットなどの伝送媒体によりダウンロードしてインストールしたものでもよい。
【0029】
図3は、図2の不揮発性半導体メモリ16として用いられるNOR型フラッシュメモリのアドレス空間の説明図である。
NOR型フラッシュメモリは、複数の物理ブロック31を有する。物理ブロック31は、複数の物理ページを有する。物理ページは、複数の記憶ビットを有する。
そして、NOR型フラッシュメモリは、データの書込み処理および読み出し処理において、物理ページ単位で複数の記憶ビットに対するデータの書込みが可能である。
また、NOR型フラッシュメモリは、データの初期化処理(消去処理)において、物理ブロック31の単位で複数の記憶ビットに対するデータの初期化処理が可能である。
【0030】
なお、NOR型フラッシュメモリの物理ページは、NAND型フラッシュメモリの物理ページと同様に、CPU15などにより実際に書込みデータ(たとえば後述する実データ、管理データ)が書き込まれる領域と、拡張領域とにより構成されてもよい。
この場合、拡張領域には、当該物理ページと論理ページとの対応付けを示す論物アドレスの変換データ、当該物理ページの有効無効を示すデータ、当該物理ページが書き換え中であるか否かを示すスデータスデータなどを格納することができる。
【0031】
そして、不揮発性半導体メモリ16として用いられるNOR型フラッシュメモリのアドレス空間には、図3に示すように、複数の管理データ領域32と、複数の実データ領域33とが固定的に割り当てられる。
複数の実データ領域33と複数の管理データ領域32とは、1対1に対応する。
【0032】
実データ領域33は、たとえば1個または複数個の物理ブロック31により構成される。
実データ領域33には、CPU15などが不揮発性半導体メモリ16に保存させて利用したい電子メールデータ、テキストデータ、音声データ、携帯電話機1の設定データなどの実データが書き込まれる。
電子メールデータ、音声データなどは、アプリケーションデータである。
【0033】
管理データ領域32は、たとえば1個または複数個の物理ブロック31により構成される。
管理データ領域32には、CPU15などにより管理データが書き込まれる。
管理データは、たとえば実データ領域33に保存された実データのファイル名、各実データについての実データ領域33内の格納先のアドレスなどの、対応する実データの管理情報を有する。
【0034】
また、後述する図4に示すように、実データ領域33の最終アドレスには、各領域のデータについての誤り訂正符号33−3が格納される。
誤り訂正符号33−3には、たとえばECC、チェックサムなどがある。
このように領域毎に誤り訂正符号33−3を記憶させることにより、CPU15は、各領域において経年劣化などによりビット誤りが発生したとしてもそのビット誤りを訂正し、各領域に書き込んだ正しいデータを得ることができる。
これにより、NOR型フラッシュメモリについての不揮発性半導体メモリ16としての信頼性を向上させることができる。
【0035】
また、ここでは、NOR型フラッシュメモリのアドレス空間に対して、管理データ領域32および実データ領域33を固定的に割り当てている。
これにより、たとえばNOR型フラッシュメモリから実データを読み出す場合に、CPU15は、固定化された管理データ領域32のみを検索するだけで、当該実データの格納位置を得ることができる。
よって、NOR型フラッシュメモリのアドレス空間の全体を検索する必要がなくなり、不揮発性半導体メモリ16のアクセス時間を短縮することができる。
【0036】
図4は、1組の管理データ領域32と実データ領域33との対応関係の説明図である。
図4の実データ領域33には、第1実データ33−1と、第2実データ33−2とが格納されている。実データ領域の最終アドレスには、第1実データ33−1と第2実データ33−2とによる実データの誤り訂正符号33−3が格納される。
また、図4の管理データ領域32には、第1実データの第1管理データ32−1と、第2実データの第2管理データ32−2とが格納される。
この場合、CPU15は、たとえば第1実データ33−1を読み出す場合、管理データ領域32を検索することにより、第1実データの第1管理データ32−1を検出する。
そして、CPU15は、第1管理データ32−1に基づいて、第1実データ33−1を格納するアドレスを特定し、実データ領域33のその特定したアドレスから第1実データ33−1を読み出す。
【0037】
図2のDRAM17は、任意の値へのデータの上書きが可能なメモリである。
なお、DRAM17の替わりに、SRAMなどの揮発性メモリを用いてもよい。DRAM17、SRAMは、フラッシュメモリよりも高速にデータアクセスが可能である。
そして、DRAM17は、CPU15により、データの書込みアクセス、上書きアクセス、読出しアクセス、消去アクセスが可能である。
また、DRAM17は、書込みアクセスおよび上書きアクセスにおいて、ビットを「1」から「0」に落とす書込み処理と、ビットを「0」から「1」に上げる書込み処理とが可能である。
すなわち、DRAM17に対するデータの上書きアクセスでは、任意の値への上書きが可能である。
【0038】
図5は、DRAM17として用いられる図2のDRAM17のアドレス空間の説明図である。
そして、図5に示すように、DRAM17は、図3の不揮発性半導体メモリ16のアドレス空間に設定された管理データ領域32と同数の複数の管理データ領域41を記憶する。
また、DRAM17に記憶される複数の管理データ領域41は、たとえば携帯電話機1の電源投入時に図3の不揮発性半導体メモリ16からコピーされた複数の管理データ領域32である。
DRAM17の管理データ領域41の個数は、不揮発性半導体メモリ16の管理データ領域32の個数と一致する。
【0039】
図2のCPU15は、プログラムを実行するコンピュータである。
そして、CPU15が、不揮発性半導体メモリ16に記憶されるプログラムを読み込んで実行することにより、携帯電話機1の制御部が実現される。
【0040】
図6は、図2の不揮発性半導体メモリ16にCPU15がアクセスするために携帯電話機1に実現される機能を模式的に示すブロック図である。
複数のアプリケーション部51と、ファイルシステム部52とは、CPU15によって実現される。
また、NOR型フラッシュメモリに対して物理ページ毎にデータの書込み処理を行うライト手段55、物理ページ毎に読み出し処理を行うリード手段56、物理ブロック31毎に初期化処理を行う初期化手段57が不揮発性半導体メモリ16によって実現されている。
CPU15は、これらのアクセス手段を用いて、NOR型フラッシュメモリにアクセス可能である。
【0041】
アプリケーション部51は、たとえば電子メール部、通話部、プレーヤ部、撮像部などとして機能する。
そして、アプリケーション部51は、操作部12の操作入力などに応じて、ファイルシステム部52に対して実データの書込みアクセス、読出しアクセス、消去アクセスを指示する。
たとえばアプリケーション部51は、ファイルシステム部52に対して実データを指定した読出しアクセスを要求する。
この場合、ファイルシステム部52は、リード手段56を用いて不揮発性半導体メモリ16から指定された実データを読み込み、アプリケーション部51に返す。
アプリケーション部51は、要求した実データを受け取ると、無線通信部11、表示部13、音声モデム部16などへ出力する。
これにより、不揮発性半導体メモリ16に記憶されデータ楽曲データが携帯電話機1において再生されたり、不揮発性半導体メモリ16に記憶されデータ電子メールデータが携帯電話機1から基地局へ送信されたりする。
【0042】
ファイルシステム部52は、不揮発性半導体メモリ16およびDRAM17を管理する。
また、ファイルシステム部52は、不揮発性半導体メモリ16に記憶保存させる各実データを、ファイルにより管理する。ファイルシステム部52は、実データに対して、互いに識別可能なファイル名を付与する。
【0043】
そして、ファイルシステム部52は、たとえば携帯電話機1の起動時に、不揮発性半導体メモリ16のすべての管理データ領域32を、DRAM17にコピーする。
ファイルシステム部52は、リード手段56を用いて不揮発性半導体メモリ16から管理データを物理ページ毎に読出し、読み出した管理データをDRAM17に書き込む。
【0044】
また、ファイルシステム部52は、アプリケーション部51により実データの書込みアクセス、読出しアクセス、消去アクセスが要求されると、要求内容に応じたシーケンス処理を実行する。
ファイルシステム部52は、アクセス手段55〜57を用いて、不揮発性半導体メモリ16に対してデータの書込み処理、読出し処理、初期化処理を実行する。
【0045】
たとえば実データの読み出しアクセスが要求された場合、ファイルシステム部52は、DRAM17において当該実データのファイル名を検索し、要求に係る実データの不揮発性半導体メモリ16での格納アドレスを特定する。
次に、ファイルシステム部52は、リード手段56を用いて、不揮発性半導体メモリ16について特定した格納アドレスから、実データを読み込む。
そして、ファイルシステム部52は、不揮発性半導体メモリ16から読み込んだ実データを、要求に係る実データとしてアプリケーション部51へ出力する。
【0046】
この他にも例えば実データの書込みアクセスが要求された場合、ファイルシステム部52は、DRAM17内の管理データを検索し、不揮発性半導体メモリ16のたとえば未使用の実データ領域33を検索する。
次に、ファイルシステム部52は、ライト手段55を用いて、不揮発性半導体メモリ16の当該未使用の実データ領域33に実データと誤り訂正符号とを書き込む。
また、ファイルシステム部52は、DRAM17において対応する管理データ領域41に、実データ領域33に書き込んだ実データのファイル名などの管理データと誤り訂正符号とを書き込む。
【0047】
また、ファイルシステム部52は、アプリケーション部51からの指示が無くとも、たとえば不揮発性半導体メモリ16に対して所定量以上の実データの書き込みを実行した場合には、不揮発性半導体メモリ16の管理データ領域32についてのガーベージコレクション処理を実行する。
このガーベージコレクション処理では、ファイルシステム部52は、まず、初期化手段57を用いて、対象となる不揮発性半導体メモリ16の管理データ領域32を初期化する。
次に、ファイルシステム部52は、ライト手段55を用いて、初期化した不揮発性半導体メモリ16の管理データ領域32に、DRAM17に記憶されている最新の管理データ領域41の管理データおよび誤り訂正符号を書き込む。
【0048】
次に、NOR型フラッシュメモリ(16)を用いた場合のアクセス動作について詳しく説明する。
以下では、携帯電話機1の起動時のコピー動作、実データの書込み動作、読出し動作、ガーベージコレクション動作について説明する。
【0049】
図7は、携帯電話機1の起動時のコピー動作の説明図である。
携帯電話機1が起動されると、CPU15はプログラムを実行し、CPU15にファイルシステム部52が実現される。
【0050】
携帯電話機1の起動時には、ファイルシステム部52は、まず、NOR型フラッシュメモリ(16)から、管理データ領域32を読み込む(ステップST1)。
管理データ領域32は、図3に示すように、NOR型フラッシュメモリのアドレス空間に対して固定化されている。
よって、ファイルシステム部52は、NOR型フラッシュメモリの所定のアドレスから、管理データ領域32のデータを短時間に読み込むことができる。
【0051】
次に、ファイルシステム部52は、読み込んだ管理データ領域32の管理データと、読み込んだ誤り訂正符号とを比較し、読み込んだ管理データ領域32にビット誤りが発生しているか否かを判断する。
読み込んだ管理データ領域32にビット誤りが発生している場合、ファイルシステム部52は、誤り訂正符号を用いて、読み込んだ管理データ領域32の管理データのビット誤りを訂正する。
【0052】
次に、ファイルシステム部52は、ビット誤りが無い管理データ領域32のデータ、またはビット誤りを訂正した管理データ領域32のデータを、DRAM17に書き込む(ステップST2)。
これにより、ファイルシステム部52は、携帯電話機1の起動時に、NOR型フラッシュメモリに記憶されデータ管理データ領域32を、DRAM17にコピーする。
DRAM17には、ビット誤りを含まない管理データ領域41がコピーされる。
【0053】
また、ファイルシステム部52は、以上の管理データ領域のコピー処理を、NOR型フラッシュメモリのすべての管理データ領域32について実行する。
これにより、DRAM17には、NOR型フラッシュメモリのすべての管理データ領域32のデータがコピーされる。
【0054】
すべての管理データ領域32のデータについてのコピー処理が終了すると、ファイルシステム部52は、DRAM17にコピーした管理データ領域41のデータについての訂正処理を実行する。
具体的には、ファイルシステム部52は、DRAM17にコピーしたすべての管理データ領域41をスキャンし、重複した管理データがDRAM17に記憶されているか否かを判断する。
たとえばDRAM17に同じアドレスを示す複数の管理データが記憶されている場合、ファイルシステム部52は、重複状態にある複数の管理データがDRAM17に存在すると判断する。
【0055】
重複状態にある複数の管理データがDRAM17に存在する場合、ファイルシステム部52は、当該複数の管理データについての訂正処理を実行する。
ファイルシステム部52は、たとえば重複状態にある各管理データの前後の管理データを読み込む。
通常、複数の実データは実データ領域33において順番に並べて格納される。
このため、通常は、管理データ領域32の複数の管理データのアドレスも順番に並ぶ。
そして、ファイルシステム部52は、重複している各管理データを、前後の管理データとアドレスが順番に並ぶように訂正する。
たとえば重複状態にある管理データのアドレスが5であり、その前後の管理データのアドレスが1と3である場合、重複状態にある管理データのアドレスを5から2に訂正する。これにより、訂正前のアドレスの並びが「1→5→3」である場合に、訂正後のアドレスは「1→2→3」の順番に並ぶようになる。
【0056】
図8は、NOR型フラッシュメモリへの実データの書き込み動作の説明図である。
実データの書き込み時に、ファイルシステム部52は、DRAM17の管理データを読み込み、たとえば未使用の実データ領域33を検索する(ステップST11)。
未使用の実データ領域33を検出すると、ファイルシステム部52は、ライト手段55を用いて、NOR型フラッシュメモリの当該未使用の実データ領域33に、実データと誤り訂正符号とを書き込む(ステップST12)。
次に、ファイルシステム部52は、書き込みをした実データ領域33に対応するDRAM17の管理データ領域41を更新する(ステップST13)。
ファイルシステム部52は、当該DRAM17の管理データ領域41に、実データ領域33に書き込んだ実データのファイル名、格納先のアドレスなどの管理データと、誤り訂正符号とを書き込む。
【0057】
図9は、NOR型フラッシュメモリへの実データの読み出し動作の説明図である。
実データの読出し時に、ファイルシステム部52は、DRAM17の管理データを読み込み、読み出し要求に係る実データの格納先のアドレスを特定する(ステップST21)。
読出し要求に係る実データの格納先アドレスを特定すると、ファイルシステム部52は、リード手段56を用いて、NOR型フラッシュメモリの当該アドレスから、実データを読み込む(ステップST22)。
【0058】
図10は、NOR型フラッシュメモリの管理データ領域32のガーベージコレクション動作の説明図である。
このガーベージコレクション動作は、たとえばNOR型フラッシュメモリに対して所定量以上の実データの書き込みを実行した場合などに実行される。
図10(A)は、管理データ領域32,41の書込み直後の状態図である。
図10(B)は、ガーベージコレクション前のビット化けが発生した管理データ領域32,41の状態図である。
図10(C)は、ガーベージコレクション後の管理データ領域32,41の状態図である。
NOR型フラッシュメモリの管理データ領域32では、図10(A)および(B)に示すように、書込み後の経年劣化などにより、ビット化けが起きることがある。
【0059】
管理データ領域32のガーベージコレクション動作では、ファイルシステム部52は、初期化手段57を用いて、処理対象の管理データ領域32を初期化する。これにより、当該処理対象の管理データ領域32のデータは、たとえばすべて「1」になる。
次に、ファイルシステム部52は、DRAM17から、初期化したNOR型フラッシュメモリの管理データ領域32に対応する管理データ領域41のデータを読み込む。
次に、ファイルシステム部52は、ライト手段55を用いて、DRAM17から読み込んだ管理データ領域41のデータを、初期化したNOR型フラッシュメモリの管理データ領域32に書き込む。
これにより、ガーベージコレクション前にNOR型フラッシュメモリの管理データ領域32に発生しデータビット化けは、消去される。
【0060】
以上のように、本実施形態では、NOR型フラッシュメモリ(16)にアクセスする場合、ファイルシステム部52は、NOR型フラッシュメモリからDRAM17にコピーした管理データを参照する。
そして、DRAM17は、データ書込み処理において任意の値へのデータ上書きが可能であるため、たとえばNOR型フラッシュメモリに実データを書き込む場合には、DRAM17に当該実データの管理データを書き込むことができる。
また、本実施形態では、ガーベージコレクション処理において、NOR型フラッシュメモリの管理データ領域32を初期化し、初期化された当該管理データ領域32に、DRAM17に記憶されている管理データを書き込む。
よって、本実施形態では、NOR型フラッシュメモリに書き込んだ実データとその管理データとの整合性を維持することができる。
それゆえ、本実施形態では、NOR型フラッシュメモリに、実データおよび当該実データの管理データを記憶させ、NOR型フラッシュメモリを不揮発性半導体メモリ16として使用することができる。
【0061】
また、本実施形態では、NOR型フラッシュメモリの管理データ領域32のデータをDRAM17にコピーする場合に、読み込んだ当該管理データ領域32の誤り訂正符号を用いて読み込んだ管理データを訂正し、訂正後の管理データをDRAM17に記憶させる。
また、本実施形態では、NOR型フラッシュメモリに記憶されているすべての管理データをDRAM17にコピーし、DRAM17にコピーしたすべての管理データをスキャンし、DRAM17において重複している管理データを訂正する。
よって、DRAM17にコピーされた管理データは、ビット誤りおよび重複データを含まない正しい管理データになる。
たとえばNOR型フラッシュメモリに保存された管理データにおいて経年劣化によるビット誤りが発生したとしても、ファイルシステム部52は、そのビット誤りが訂正された正しい管理データを参照してNOR型フラッシュメモリの実データにアクセスできる。
【0062】
以上の実施形態は、本発明の好適な実施形態の例であるが、本発明は、これに限定されるものではなく、発明の要旨を逸脱しない範囲において種々の変形または変更が可能である。
【0063】
たとえば上記実施形態では、不揮発性半導体メモリ16として、データ書込み処理において所定の値へのデータ上書きができないNOR型フラッシュメモリを使用している。
この他にも例えば、データ書込み処理において既に書込まれたデータに対する直接的な上書きができないNAND型フラッシュメモリなどの不揮発性半導体メモリ16を使用してもよい。
【0064】
上記実施形態では、ファイルシステム部52は、携帯電話機1の起動時に、NOR型フラッシュメモリの管理データを、DRAM17としてのDRAM17にコピーしている。
この他にも例えば、ファイルシステム部52は、携帯電話機1の起動中に定期的に、NOR型フラッシュメモリの管理データを、DRAM17としてのDRAM17にコピーしてもよい。
【0065】
上記実施形態では、ファイルシステム部52は、所定量以上のデータ書込みがなされた場合に、DRAM17の管理データを、NOR型フラッシュメモリにコピーしている。
この他にも例えば、ファイルシステム部52は、携帯電話機1のシャットダウン時(停止時)に、DRAM17の管理データを、NOR型フラッシュメモリにコピーしてもよい。
さらに他にも例えば、ファイルシステム部52は、バッテリ19の電力の残量が所定値を下回った場合には、実データの書込みの度に、DRAM17の管理データをNOR型フラッシュメモリにコピーしてもよい。
【0066】
上記実施形態は、携帯電話機1の例である。
この他にも例えば、本発明は、PHS端末、携帯ゲーム機器、PDA、携帯ナビゲーション装置、携帯再生装置、コンピュータ装置などの各種の電子機器に適用できる。
【符号の説明】
【0067】
1…携帯電話機(電子機器)、16…不揮発性半導体メモリ(第1記憶部)、17…DRAM(第2記憶部)、32…管理データ領域、33…実データ領域、52…ファイルシステム部(制御部)。
【特許請求の範囲】
【請求項1】
データ書込み処理において既に書込まれたデータに対する上書きが禁止されている不揮発性半導体メモリを有し、実データおよび当該実データに対応した管理データを記憶する第1記憶部と、
データ書込み処理において任意の値へのデータ上書きが可能な第2記憶部と、
前記第1記憶部に対するデータアクセスを制御する制御部と
を有し、
前記制御部は、
前記第1記憶部に記憶されている前記管理データを、前記第2記憶部にコピーし、
前記第2記憶部に記憶されている前記管理データを参照して、前記第1記憶部の実データにアクセスする
電子機器。
【請求項2】
前記制御部は、
前記第1記憶部に実データを新たに書き込む場合、前記第1記憶部の管理データを更新せずに前記第2記憶部にコピーされた管理データを前記第1記憶部への実データの書き込みに基づいて、上書きする
請求項1記載の電子機器。
【請求項3】
前記制御部は、
前記第1記憶部の前記管理データの記憶領域を初期化する場合、
初期化された当該記憶領域に、前記第2記憶部に記憶されている管理データを書き込む
請求項2記載の電子機器。
【請求項4】
前記制御部は、
前記第1記憶部の前記管理データを前記第2記憶部にコピーする場合に、前記第1記憶部から読み込んだ管理データの誤りを訂正して、前記第2記憶部に書込む
請求項1から3のいずれか一項記載の電子機器。
【請求項5】
前記第1記憶部は、
前記実データおよび前記管理データの各々を、当該メモリのアドレス空間を分ける実データ領域および管理データ領域の各々に記憶し、
前記管理データとして、対応する前記実データの当該メモリでの格納先のアドレスを記憶し、
前記制御部は、
前記第1記憶部において前記アドレスが重複している重複状態である場合、当該管理データ各々の前後の管理データを読み込み、重複状態にある各管理データが各々の前後の管理データのアドレスと連続するように、前記第1記憶部において重複状態にある管理データのアドレスを訂正する
請求項4記載の電子機器。
【請求項6】
前記第1記憶部は、
記憶するデータの誤りを訂正する誤り訂正符号を記憶し、
前記制御部は、
前記第1記憶部の前記データを前記第2記憶部にコピーする場合に、前記第1記憶部の前記データおよび前記誤り訂正符号を読み込み、読み込んだ誤り訂正符号を用いて読み込んだデータを訂正し、訂正後のデータを前記第2記憶部に記憶させる
請求項4または5記載の電子機器。
【請求項7】
前記制御部は、
当該電子機器の起動時に、前記第1記憶部に記憶されている前記管理データを、前記第2記憶部にコピーする場合に、管理データについての重複の有無を判断する
請求項5記載の電子機器。
【請求項8】
前記第2記憶部は、揮発性メモリである
請求項1から7のいずれか一項記載の電子機器。
【請求項1】
データ書込み処理において既に書込まれたデータに対する上書きが禁止されている不揮発性半導体メモリを有し、実データおよび当該実データに対応した管理データを記憶する第1記憶部と、
データ書込み処理において任意の値へのデータ上書きが可能な第2記憶部と、
前記第1記憶部に対するデータアクセスを制御する制御部と
を有し、
前記制御部は、
前記第1記憶部に記憶されている前記管理データを、前記第2記憶部にコピーし、
前記第2記憶部に記憶されている前記管理データを参照して、前記第1記憶部の実データにアクセスする
電子機器。
【請求項2】
前記制御部は、
前記第1記憶部に実データを新たに書き込む場合、前記第1記憶部の管理データを更新せずに前記第2記憶部にコピーされた管理データを前記第1記憶部への実データの書き込みに基づいて、上書きする
請求項1記載の電子機器。
【請求項3】
前記制御部は、
前記第1記憶部の前記管理データの記憶領域を初期化する場合、
初期化された当該記憶領域に、前記第2記憶部に記憶されている管理データを書き込む
請求項2記載の電子機器。
【請求項4】
前記制御部は、
前記第1記憶部の前記管理データを前記第2記憶部にコピーする場合に、前記第1記憶部から読み込んだ管理データの誤りを訂正して、前記第2記憶部に書込む
請求項1から3のいずれか一項記載の電子機器。
【請求項5】
前記第1記憶部は、
前記実データおよび前記管理データの各々を、当該メモリのアドレス空間を分ける実データ領域および管理データ領域の各々に記憶し、
前記管理データとして、対応する前記実データの当該メモリでの格納先のアドレスを記憶し、
前記制御部は、
前記第1記憶部において前記アドレスが重複している重複状態である場合、当該管理データ各々の前後の管理データを読み込み、重複状態にある各管理データが各々の前後の管理データのアドレスと連続するように、前記第1記憶部において重複状態にある管理データのアドレスを訂正する
請求項4記載の電子機器。
【請求項6】
前記第1記憶部は、
記憶するデータの誤りを訂正する誤り訂正符号を記憶し、
前記制御部は、
前記第1記憶部の前記データを前記第2記憶部にコピーする場合に、前記第1記憶部の前記データおよび前記誤り訂正符号を読み込み、読み込んだ誤り訂正符号を用いて読み込んだデータを訂正し、訂正後のデータを前記第2記憶部に記憶させる
請求項4または5記載の電子機器。
【請求項7】
前記制御部は、
当該電子機器の起動時に、前記第1記憶部に記憶されている前記管理データを、前記第2記憶部にコピーする場合に、管理データについての重複の有無を判断する
請求項5記載の電子機器。
【請求項8】
前記第2記憶部は、揮発性メモリである
請求項1から7のいずれか一項記載の電子機器。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2011−113338(P2011−113338A)
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願番号】特願2009−269577(P2009−269577)
【出願日】平成21年11月27日(2009.11.27)
【出願人】(000006633)京セラ株式会社 (13,660)
【Fターム(参考)】
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願日】平成21年11月27日(2009.11.27)
【出願人】(000006633)京セラ株式会社 (13,660)
【Fターム(参考)】
[ Back to top ]