(57)【要約】  【課題】メモリコントローラが一体となった記憶装置から再度データを読み出す際の読出データの出力までの時間を改善し得る携帯端末を提供すること。  【解決手段】ＮＡＮＤ型半導体を用いたデータの書き換え可能な不揮発性の記憶素子で構成されるメモリと、データの読み出しの際にエラーを検知したときには、当該データを正しく読み出すためのエラー処理を行い、データの書き込みの際には、データの保持に支障のない記憶素子を選んで書き込む処理を行うメモリコントローラとが一体となった記憶装置を有する携帯端末において、アクセス指示部が当該記憶装置にメモリに対するデータの書き込み又は読み出しを行うためのアクセス指示を行ってから、書き込みの完了通知、あるいは、読出データの出力が返ってくるまでの時間が所定の時間以上の場合には、書込部は、当該データの書き込み指示を行う。【選択図】図５
2015141623.tif 000002
【特許請求の範囲】
【請求項１】
ＮＡＮＤ型半導体を用いたデータの書き換え可能な不揮発性の記憶素子で構成されるメモリと、データの読み出しの際にエラーを検知したときには、当該データを正しく読み出すためのエラー処理を行い、データの書き込みの際には、データの保持に支障のない記憶素子を選んで書き込む処理を行うメモリコントローラとが一体となった記憶装置と、
前記記憶装置とのデータの入出力を行うための接続インタフェースと、
前記接続インタフェースを介して、前記メモリコントローラに対してデータの読み出し又は書き込みのためのアクセス指示を行い、当該アクセス指示に係る読出データの出力、あるいは、書き込みの完了通知を受け取るアクセス指示部と、
前記アクセス指示を行ってから、前記メモリコントローラから前記読出データの出力、あるいは、前記書き込みの完了通知があるまでの経過時間を計測する計時部と、
前記経過時間が、所定の時間以上であるか否かの判定を行う判定部と、
前記判定が肯定的な場合に、前記アクセス指示に係る前記データを前記メモリに書き込むための書込指示を、前記接続インタフェースを介して前記メモリコントローラに対して行う書込部とを備える
ことを特徴とする携帯端末。
【請求項２】
前記アクセス指示部は、前記アクセス指示として、前記メモリに記憶されているデータの読出指示を行い、当該読出指示に係るデータとして読出データを受け取り、
前記書込部における書込指示は、前記読出データの書込指示である
ことを特徴とする請求項１記載の携帯端末。
【請求項３】
前記書込部は、前記判定部で前記肯定的な判定を行った後、前記メモリコントローラに対する指示が行われていない状態が所定の時間経過した後に前記書込指示を行う
ことを特徴とする請求項２記載の携帯端末。
【請求項４】
前記書込部は、前記判定部で前記肯定的な判定を行った後、当該携帯端末に対するユーザ操作が行われていない状態が所定の時間経過した後に前記書込指示を行う
ことを特徴とする請求項２記載の携帯端末。
【請求項５】
更に、消費電力の少ない状態の第１モードと、消費電力が前記第１モードより多い状態の第２モードとの動作モードの切り替えを行う切替部を含み、
前記切替部は、前記携帯端末が前記第２モードで動作中に、当該携帯端末に対するユーザ操作が行われていない状態が所定の時間経過すると、前記第２モードから前記第１モードへの切り替えを行い、
前記書込部は、前記携帯端末が前記第１モードで動作中に前記書込指示を行う
ことを特徴とする請求項２記載の携帯端末。
【請求項６】
更に、一日における所定の時間帯を記憶する記憶部を含み、
前記書込部は、前記時間帯の間に前記書込指示を行う
ことを特徴とする請求項２記載の携帯端末。
【請求項７】
前記記憶装置は、ｅ．ＭＭＣ又はＳＤメモリカードである
ことを特徴とする請求項２の携帯端末。
【請求項８】
ＮＡＮＤ型半導体を用いたデータの書き換え可能な不揮発性の記憶素子で構成されるメモリと、データの読み出しの際にエラーを検知したときには、当該データを正しく読み出すためのエラー処理を行い、データの書き込みの際には、データの保持に支障のない記憶素子を選んで書き込む処理を行うメモリコントローラとが一体となった記憶装置と、前記記憶装置とのデータの入出力を行うための接続インタフェースとを備える携帯端末の制御方法であって、
前記接続インタフェースを介して、前記メモリコントローラに対してデータの読み出し又は書き込みのためのアクセス指示を行い、当該アクセス指示に係る読出データの出力、あるいは、書き込みの完了通知を受け取るステップと、
前記アクセス指示を行ってから、前記メモリコントローラから前記読出データの出力、あるいは、書き込みの完了通知があるまでの経過時間を計測するステップと、
前記経過時間が、所定の時間以上であるか否かの判定を行うステップと、
前記判定が肯定的な場合に、前記アクセス指示に係る前記データを前記メモリに書き込むための書込指示を、前記接続インタフェースを介して前記メモリコントローラに対して行うステップとを含む
ことを特徴とする制御方法。
【請求項９】
ＮＡＮＤ型半導体を用いたデータの書き換え可能な不揮発性の記憶素子で構成されるメモリと、データの読み出しの際にエラーを検知したときには、当該データを正しく読み出すためのエラー処理を行い、データの書き込みの際には、データの保持に支障のない記憶素子を選んで書き込む処理を行うメモリコントローラとが一体となった記憶装置と、前記記憶装置とのデータの入出力を行うための接続インタフェースとを備える携帯端末の制御プログラムであって、
前記接続インタフェースを介して、前記メモリコントローラに対してデータの読み出し又は書き込みのためのアクセス指示を行い、当該アクセス指示に係る読出データの出力、あるいは、書き込みの完了通知を受け取るステップと、
前記アクセス指示を行ってから、前記メモリコントローラから前記読出データの出力、あるいは、書き込みの完了通知があるまでの経過時間を計測するステップと、
前記経過時間が、所定の時間以上であるか否かの判定を行うステップと、
前記判定が肯定的な場合に、前記アクセス指示に係る前記データを前記メモリに書き込むための書込指示を、前記接続インタフェースを介して前記メモリコントローラに対して行うステップとを
前記携帯端末に実行させることを特徴とする制御プログラム。
【請求項１０】
ＮＡＮＤ型半導体を用いたデータの書き換え可能な不揮発性の記憶素子で構成されるメモリと、データの読み出しの際にエラーを検知したときには、当該データを正しく読み出すためのエラー処理を行い、データの書き込みの際には、データの保持に支障のない記憶素子を選んで書き込む処理を行うメモリコントローラとが一体となった記憶装置と、前記記憶装置とのデータの入出力を行うための接続インタフェースとを備える携帯端末で実行されるコンピュータプログラムを記録しているコンピュータ読取可能な記録媒体であって、
前記接続インタフェースを介して、前記メモリコントローラに対してデータの読み出し又は書き込みのためのアクセス指示を行い、当該アクセス指示に係る読出データの出力、あるいは、書き込みの完了通知を受け取るステップと、
前記アクセス指示を行ってから、前記メモリコントローラから前記読出データの出力、あるいは、書き込みの完了通知があるまでの経過時間を計測するステップと、
前記経過時間が、所定の時間以上であるか否かの判定を行うステップと、
前記判定が肯定的な場合に、前記アクセス指示に係る前記データを前記メモリに書き込むための書込指示を、前記接続インタフェースを介して前記メモリコントローラに対して行うステップとを
前記携帯端末に実行させるためのコンピュータプログラムを記録している記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯端末におけるメモリコントローラ一体型記憶装置へのアクセス制御に関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレットのような携帯端末の記憶装置として、ハードディスクドライブやＳＳＤ（Solid State Drive）に比べて、消費電力が小さく、装置自体も小型であるｅ．ＭＭＣ（embedded Multi Media Card）（登録商標）が広く利用されている。
ｅ．ＭＭＣは、ＮＡＮＤ型フラッシュメモリと、メモリコントローラとを一つにまとめてパッケージ化した記憶装置である。ＮＡＮＤ型フラッシュメモリは、同じセルに対してデータの読み出しや書き込みを繰り返すと、そのセルを構成する半導体が物理的に劣化することが知られている。劣化したセルは、データの保持力が低下したり、正常に書き込みや読み出しが行えなくなったりするので、劣化したセルに記憶されているデータは、エラーが発生しやすくなる。そこで、ＮＡＮＤ型フラッシュメモリへアクセスを行う際には、記憶装置のメモリコントローラが、不良ブロックの管理、エラー訂正（ＥＣＣ：Error Checking and Correction）、論理物理アドレス変換、書き換え回数の平均化（ウェアレベリング）等の処理を行う（特許文献１）。
【０００３】
例えば、メモリコントローラは、ホスト側のＣＰＵ（Central Processing Unit）等からデータの読出要求を受けると、フラッシュメモリからデータの読み出しを試みる。このとき、エラーを検出すると、エラー訂正処理を行って正しいデータをホスト側のＣＰＵ等に出力する。このため、ホスト側のＣＰＵ等は、記憶装置に対するアクセス制御を簡素化でき、記憶装置から出力されたデータが正しいデータであることを前提として使用することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２７２４７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、メモリコントローラは、データを読み出す際にエラーを検出すると、エラー訂正処理を行うため、エラーを検出することなく読み出せた場合に比べ、ホスト側のＣＰＵ等にデータを出力するまでに時間がかかる。すなわち、ホスト側のＣＰＵ等の読出要求に対する読出データの出力が遅くなる。また、メモリコントローラは、エラーが発生したデータに対してエラーの発生を改善するための処理を独自の判断で行うため、この処理が行われるタイミングのみならず、この処理が行われたか否かさえ、ホスト側のＣＰＵ等が知るすべはない。エラーが発生したデータに対して、エラーの発生を改善するための処理がメモリコントローラによって行われていない場合には、再度このデータを読み出す際にも、エラー訂正処理が発生して読出データの出力が遅くなる可能性が高い。
【０００６】
本発明は、係る問題に鑑みてなされたものであり、メモリコントローラが一体となった記憶装置から再度データを読み出す際の読出データの出力までの時間を改善し得る携帯端末を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る携帯端末は、ＮＡＮＤ型半導体を用いたデータの書き換え可能な不揮発性の記憶素子で構成されるメモリと、データの読み出しの際にエラーを検知したときには、当該データを正しく読み出すためのエラー処理を行い、データの書き込みの際には、データの保持に支障のない記憶素子を選んで書き込む処理を行うメモリコントローラとが一体となった記憶装置と、前記記憶装置とのデータの入出力を行うための接続インタフェースと、前記接続インタフェースを介して、前記メモリコントローラに対してデータの読み出し又は書き込みのためのアクセス指示を行い、当該アクセス指示に係る読出データの出力、あるいは、書き込みの完了通知を受け取るアクセス指示部と、前記アクセス指示を行ってから、前記メモリコントローラから前記読出データの出力、あるいは、書き込みの完了通知があるまでの経過時間を計測する計時部と、前記経過時間が、所定の時間以上であるか否かを判定する判定部と、前記判定部で肯定的な判定を行った場合に、前記アクセス指示に係る前記データを前記メモリに書き込むための書込指示を、前記接続インタフェースを介して前記メモリコントローラに対して行う書込部とを備えることを特徴とする。
【発明の効果】
【０００８】
上述の構成の携帯端末によると、メモリコントローラが一体となった記憶装置のメモリからデータを読み出す際のエラーの発生を低減することができ、当該記憶装置から再度データを読み出す際の読出データの出力までの時間を改善し得る。
【図面の簡単な説明】
【０００９】
【図１】携帯端末１０の主要部の機能ブロック図。
【図２】記憶装置２１０の主要部の機能ブロック図。
【図３】（ａ）アクセスコマンド３００のデータ構造の一例、（ｂ）アクセスコマンド３００に対する応答３１０のデータ構造の一例。
【図４】（ａ）シーケンシャルリードを行う際のシーケンスを示す概念図（ｂ）シーケンシャルライトを行う際のシーケンスを示す概念図。
【図５】実施の形態における携帯端末１０の処理のフローチャート。
【図６】変形例１における携帯端末１０の処理のフローチャート。
【図７】変形例２における携帯端末１０の処理のフローチャート。
【図８】変形例３における携帯端末１０の処理のフローチャート。
【発明を実施するための形態】
【００１０】
＜１．実施の形態＞
以下、本発明に係る実施の形態としての携帯端末について、図面を用いて説明する。
＜１．１  構成＞
図１は、携帯端末１０の主要な機能構成を示すブロック図である。
同図に示されるように、携帯端末１０は、制御部２００、メモリインタフェース２０５、記憶装置２１０、書込部２２０、読出部２３０、計時部２４０、音声処理部２５０、表示部２６０、操作部２７０、通信部２８０、及び電源部２９０とから構成される。
【００１１】
（制御部２００）
制御部２００は、プログラムを実行するＣＰＵ（不図示）によって実現され、書込部２２０、読出部２３０、計時部２４０、音声処理部２５０、表示部２６０、操作部２７０、通信部２８０、及び電源部２９０を制御して、携帯端末１０に、主として、携帯端末制御機能とメモリアクセス制御機能とを実現させる機能を有する。
【００１２】
携帯端末制御機能は、従来の携帯端末が有する一般的な機能と同等な機能、例えば、通話機能、インターネットサイト閲覧機能、メール送受信機能、待ち受け機能、ユーザインタフェース制御機能、アプリケーション実行機能等を実現させる機能である。
メモリアクセス制御機能は、書込部２２０及び読出部２３０を制御して、記憶装置２１０に対してアクセスコマンド３００を送信させ、記憶装置２１０にデータを書き込んだり記憶装置２１０からデータを読み出したりする処理を実現させる機能である。なお、アクセスコマンド３００については後述する。
【００１３】
具体的には、制御部２００は、読出部２３０を制御してデータの読み出しを行わせる際に、計時部２４０を制御して、データを読み出すアクセスコマンド３００を送信してから、読み出しデータを受信するまでの経過時間を計時させる。そして、この経過時間が、予め定められた閾値を越える場合、すなわち読み出しデータの出力までの遅延が大きいと判断した場合には、書込部２２０を制御し、記憶装置２１０に書込コマンドを送信させ、読出データを記憶装置２１０に書き込ませる処理を行う。再度、データの書き込み指示を行うと、後述のメモリコントローラ２１２の持つウェアレベリング処理機能や不良ブロック管理機能によって、メモリ２１１の適切な領域にデータが書き込まれる。
データ書き込み時のこれらの処理により、再度データを読み出す際にエラーが発生する確率は低くなり、読出データの出力まで時間が改善され得る。
【００１４】
（書込部２２０、読出部２３０）
書込部２２０は、制御部２００の指示を受け、記憶装置２１０のメモリコントローラ２１２に対して、データの書込コマンドを送信し、メモリコントローラ２１２から書込コマンドに対する応答を受信し、その後、書込データを送信する機能を有する。さらにメモリコントローラ２１２から書き込み完了通知を受け取ると、制御部２００に書き込みが完了したことを通知する機能を有する。また、書込部２２０は、データの消去コマンドを送信する機能を有する。
【００１５】
読出部２３０は、制御部２００の指示を受け、記憶装置２１０のメモリコントローラ２１２に対して、データの読出コマンドを送信し、メモリコントローラ２１２から受信した読出データを制御部２００に出力する機能を有する。なお、本実施の形態の記憶装置２１０は、メモリ２１１からデータを読み出す際にエラーを検知しなければ、読出部２３０からのデータの読出コマンドを受け付けてから、読出部２３０に応答を返し、読出データを出力する。例えばデータの読出コマンドを受け付けてから１ｍｓ（ミリ秒）以内に、読出データの出力を開始するものとする。
【００１６】
これら書込部２２０及び読出部２３０の機能は、具体的には、プログラムを実行するＣＰＵによって実現される。
図３（ａ）にアクセスコマンド３００のデータ構造の一例を示す。
同図に示すようにアクセスコマンド３００は、４８ビットのデータ長を持ち、先頭の１ビットはスタートビット（Start bit）であり、常に「０」である。スタートビットは、アクセスコマンド３００の始まりを示すためのものである。スタートビットの次の１ビットは、ホスト側から記憶装置２１０側に送信されるコマンドであることを示すためのトランスミッションビット（Transmission bit）であり、常に「１」である。アクセスコマンド３００の最後の１ビットはエンドビット（End bit）であり、アクセスコマンド３００の終わりを示すためのものであり、常に「１」である。
【００１７】
残りのビットはＣｏｎｔｅｎｔ３０１と７ビットのＣＲＣ３０２で構成され、Ｃｏｎｔｅｎｔ３０１には、記憶装置２１０に実行させるコマンドやデータのアドレスに関する情報等が格納される。
ＣＲＣ３０２は、アクセスコマンド３００を検証するための７ビットのＣＲＣ（Cyclic Redundancy Check）チェックサムが格納される。
【００１８】
図３（ｂ）は、記憶装置２１０から書込部２２０及び読出部２３０に出力される応答３１０のデータ構造の一例である。
同図に示すように、応答３１０は、アクセスコマンド３００と同じく４８ビットのデータ長を持ち、先頭の１ビットはスタートビット（Start bit）であり、常に「０」である。スタートビットは、応答３１０の始まりを示すためのものである。スタートビットの次の１ビットは、記憶装置２１０側からホスト側に送信される応答であることを示すためのトランスミッションビット（Transmission bit）であり、常に「０」である。応答３１０の最後の１ビットはエンドビット（End bit）であり、応答３１０の終わりを示すためのものであり、常に「１」である。
【００１９】
残りのビットはＣｏｎｔｅｎｔ３１１と７ビットのＣＲＣ３１２で構成され、Ｃｏｎｔｅｎｔ３１１には、アクセスコマンド３００に格納されていたコマンドの情報やそのコマンドを実行した際のステータスの情報等が格納される。
ＣＲＣ３１２は、応答３１０のエラー検証のための７ビットのＣＲＣ（Cyclic Redundancy Check）チェックサムが格納される。
【００２０】
（計時部２４０）
計時部２４０は、例えば、タイマーである。
計時部２４０は、制御部２００によって制御され、書込部２２０又は読出部２３０が記憶装置２１０へアクセスコマンド３００を送信してから、このアクセスコマンド３００に対する書き込みの完了通知、あるいは、読出データの出力が記憶装置２１０から返ってくるまでの経過時間を計時する機能を有する。
【００２１】
（メモリインタフェース２０５）
メモリインタフェース２０５は、メモリカードの規格の一つであるＭＭＣ（Multi Media Card）の仕様に準拠し、書込部２２０及び読出部２３０と記憶装置２１０とを電気的に接続するインタフェースである。メモリインタフェース２０５は、書込部２２０及び読出部２３０との間で、アクセスコマンド３００及びその応答３１０の送受信を行うコマンドラインと、実際の書込データ及び読出データの送受信を行うデータラインとを含む。書込部２２０及び読出部２３０は、記憶装置２１０と、メモリインタフェース２０５を介してデータの入出力を行う。具体的には、読出部２３０が記憶装置２１０からデータを読み出す際には、アクセスコマンド３００としてリードコマンドを、コマンドラインを通じて記憶装置２１０に送信し、記憶装置２１０は、リードコマンドに対する応答３１０を、コマンドラインを通じて返信する。記憶装置２１０は、応答３１０を返信してから、読出データをデータラインに出力し、読出部２３０は、この読出データを、データラインを通じて受信する。
【００２２】
（記憶装置２１０）
記憶装置２１０は、例えばｅ．ＭＭＣである。
記憶装置２１０には、メモリコントローラ２１２とメモリ２１１とが含まれる。
ここで、ｅ．ＭＭＣは、ＪＥＤＥＣ半導体技術協会（JEDEC Solid State Technology Association）が定めた仕様に準拠した記憶装置であり、メモリコントローラとＮＡＮＤ型フラッシュメモリとを一つにまとめてパッケージ化した記憶装置である。
【００２３】
メモリ２１１は、ＮＡＮＤ型フラッシュメモリであり、１ビット、もしくは、２ビット以上のデータを記憶させる半導体回路であるセルで構成される。なお、複数のセルを１まとまりにした単位をページと呼び、複数のページを１まとまりにした単位をブロックと呼ぶ。
メモリ２１１には、携帯端末１０の機能を実現するために必要なアプリケーションプログラムやデータ及び、ユーザの個人的なデータが記憶される。
【００２４】
メモリコントローラ２１２は、図２に示すように、制御部２１３、ＥＣＣ処理部２１４、ウェアレベリング処理部２１５、論理物理アドレス変換部２１６、不良ブロック管理部２１７を含む。
メモリコントローラ２１２は、例えば半導体集積回路であり、メモリ２１１に対する書き込みや読み出しのアクセスコマンド３００を書込部２２０及び読出部２３０から受け付け、アクセスコマンド３００に対応した応答を行う機能を有する。
【００２５】
また、受け取ったアクセスコマンド３００に応じて、メモリ２１１に対してデータの書き込みを行ったり、読み出したりする機能を有する。
制御部２１３は、書込部２２０及び読出部２３０からのアクセスコマンド３００を受け付け、アクセスコマンド３００に応じた応答３１０を、読出部２３０又は書込部２２０に出力する機能を有する。また、制御部２１３は、メモリ２１１に対して、データの書き込み、読み出しをページ単位で行い、データの消去をブロック単位で行う機能を有する。
【００２６】
また、制御部２１３は、ＥＣＣ処理部２１４、ウェアレベリング処理部２１５、論理物理アドレス変換部２１６及び不良ブロック管理部２１７を制御し、各処理部における機能を実現させる機能を有する。
ＥＣＣ処理部２１４は、メモリ２１１にデータを記憶させる際には、書込データに対するＥＣＣデータを算出し、書込データに付加して記憶さる機能を有する。また、メモリ２１１からデータを読み出す際には、ＥＣＣデータに基づいて読出データを検証し、エラー検出の際には訂正したデータを制御部２１３に出力する機能を有する。
【００２７】
論理物理アドレス変換部２１６は、データを記憶させる際に、書込部２２０が指定した書込アドレスである論理アドレスをメモリ２１１において実際にアクセスされる物理アドレスに変換するためのアドレス変換テーブルを有する。このアドレス変換テーブルを用いて、書込部２２０から指定されたアドレスを、実際にメモリ２１１に書き込むアドレスに変換して書き込む機能を有する。また、読出部２３０から受信した読出データのアドレスを、読出データが実際にメモリ２１１に記憶されているアドレスに変換し、制御部２１３に出力する機能を有する。
【００２８】
ウェアレベリング処理部２１５は、メモリ２１１にデータを記憶させる際に、メモリ２１１を構成するセルにおいて、同じセルに集中して繰り返し書き込みが生じないように、出来るだけ分散して書き込む機能を有する。これは、論理物理アドレス変換部２１６におけるアドレス変換テーブルを適宜調整し、他のセルと比較して書き換え回数が少ないセルを含むブロックに書き込むようにすることで実現できる。
【００２９】
不良ブロック管理部２１７は、メモリ２１１における不良ブロックを検出し、不良ブロックを、データの記憶領域として利用しないように管理する機能を有する。また、不良ブロックを検出した場合、不良ブロックに、読み出し可能な有効なデータがある場合には、有効なデータを正常なブロックに移動する機能を有する。なお、不良ブロックとは、物理的に劣化したセルを含むことによるデータの保持に支障のあるブロックを意味する。
【００３０】
（表示部２６０）
表示部２６０は、例えば、ＬＣＤ（Liquid Crystal Display）である。
表示部２６０は、制御部２００によって制御され、携帯端末１０を利用するユーザに提示する画像を表示する機能を有する。
（操作部２７０）
操作部２７０は、例えば、タッチパネルコントローラとタッチパネルとで構成される。
【００３１】
操作部２７０は、制御部２００によって制御され、携帯端末１０を利用するユーザからの接触操作を受け付ける機能を有する。
具体的には、タッチパネルは、タッチパネルコントローラに接続され、タッチパネルコントローラによって制御され、携帯端末１０を利用するユーザからの接触操作を電気信号に変換して出力する機能を有する。
【００３２】
タッチパネルコントローラは、制御部２００によって制御され、携帯端末１０を利用するユーザによる、タッチパネルを用いて行う接触操作を受け付けて、受け付けた接触操作を示す信号を制御部２００に送る機能を有する。
（音声処理部２５０）
音声処理部２５０は、例えば、レシーバとマイクとによって構成される。音声処理部２５０は、制御部２００によって制御され、携帯端末１０の行う通話における音声の入出力処理を行う機能を有する。
【００３３】
レシーバは、制御部２００によって制御され、制御部２００から送られる電気信号を音声に変換して出力する機能を有する。
マイクは、音声を電気信号に変換して、変換した電気信号を制御部へ送る機能を有する。
（通信部２８０）
通信部２８０は、例えば、通信用ＬＳＩとアンテナとで構成され、制御部２００によって制御され、商用携帯電話用無線通信回線を利用して基地局と通信する機能を有する。
【００３４】
通信用ＬＳＩは、アンテナと制御部２００とに接続され、制御部２００によって制御され、制御部２００から送られて来た送信用信号を変調する変調機能と、変調した信号を、アンテナを利用して基地局に送信する送信機能と、基地局から送信された信号を、アンテナを利用して受信する受信機能と、受信した信号を復調して制御部２００に送る復調機能とを有する。
【００３５】
ここで、通信用ＬＳＩと基地局との間でなされる通信は、例えば、ＬＴＥ（Long Term Evolution）といった通信規格に準拠する商用携帯電話用無線通信回線を利用してなされる。
アンテナは、通信用ＬＳＩに接続され、通信用ＬＳＩが行う通信に利用される、例えば、金属製のモノポールアンテナである。
【００３６】
（電源部２９０）
電源部２９０は、例えば、繰り返し充電され得る二次電池パックである。
電源部２９０は、制御部２００の指示により携帯端末１０の各機能部を駆動するための電力を供給する機能を有する。
＜１．２  動作＞
次に、以上のように構成される携帯端末１０の行う動作について、図面を参照しながら説明する。
【００３７】
まず、制御部２００が、読出部２３０を制御して、記憶装置２１０に対してシーケンシャルにデータの読み出し処理を行う場合のアクセス手順を説明する。
図４（ａ）は記憶装置２１０に対してシーケンシャルリードを行う際のシーケンスを示す概念図である。
まず、読出部２３０は、メモリインタフェース２０５のコマンドラインにアクセスコマンド４０１を出力する。なお、アクセスコマンド４０１は、読み出すアドレスの情報とメモリコントローラ２１２に対して読み出すアドレスの情報で示されるアドレスからシーケンシャルにデータの読み出しを指示するコマンドとを含むアクセスコマンドである。
【００３８】
アクセスコマンド４０１の入力を受け付けたメモリコントローラ２１２は、アクセスコマンド４０１に対して応答４０２を、同じコマンドラインに出力する。メモリコントローラ２１２は、応答４０２を出力すると、メモリインタフェース２０５のデータラインに、アクセスコマンド４０１で指定されたアドレス以降のデータをＤａｔａＳｔｒｅａｍ４０３としてシーケンシャルに出力する。
【００３９】
読出部２３０は、所望のデータを受け取ると、メモリコントローラ２１２にデータの出力停止を指示するアクセスコマンド４０４をコマンドラインに出力する。アクセスコマンド４０４を受け付けたメモリコントローラ２１２は、データラインにデータを出力するのを停止し、応答４０５をコマンドラインに出力する。
本実施の形態では、計時部２４０は、読出部２３０がアクセスコマンド４０１を出力してからＤａｔａＳｔｒｅａｍ４０３を受け取り始めるまでの時間を計時する。
【００４０】
次に、制御部２００が、書込部２２０を制御して、記憶装置２１０に対してシーケンシャルにデータの書き込み処理を行う場合のアクセス手順を説明する。
図４（ｂ）は記憶装置２１０に対してシーケンシャルライトを行う際のシーケンスを示す概念図である。
まず、書込部２２０は、メモリインタフェース２０５のコマンドラインにアクセスコマンド４１１を出力する。なお、アクセスコマンド４１１は、書き込み先のアドレスの情報とメモリコントローラ２１２に対して書き込み先のアドレスの情報で示されるアドレスからシーケンシャルにデータの書き込みを指示するコマンドとを含むアクセスコマンドである。
【００４１】
アクセスコマンド４１１の入力を受け付けたメモリコントローラ２１２は、アクセスコマンド４１１に対して応答４１２を、同じコマンドラインに出力する。書込部２２０は、応答４１２を受け取ると、メモリインタフェース２０５のデータラインに、メモリ２１１に書き込むデータをＤａｔａＳｔｒｅａｍ４１３としてシーケンシャルに出力する。書込部２２０は、書き込むデータを全て出力すると、メモリコントローラ２１２にデータの書込停止を指示するアクセスコマンド４１４を、コマンドラインに出力する。
【００４２】
アクセスコマンド４１４を受け取ったメモリコントローラ２１２は、データラインに出力されたデータのメモリ２１１への書き込みを実行し、書込部２２０に向けてデータラインに書き込みが実行されていることを示すｂｕｓｙ４１５を出力する。書き込みが完了すると、メモリコントローラ２１２はｂｕｓｙ４１５の出力を中止することで、書込部２２０に向けて書き込みが完了したことを通知する。
【００４３】
このようにして、ホスト側である書込部２２０及び読出部２３０と、記憶装置２１０とは、データの入出力を行う。
次に、上記アクセス手順で記憶装置２１０との間でデータの入出力を行う際の、本実施の形態の携帯端末１０のホスト側のアクセス制御の処理について説明する。
図５は、携帯端末１０における処理のフローチャートである。
【００４４】
携帯端末１０の制御部２００は、アプリケーションプログラムのロードや、アプリケーションプログラムの実行中に必要なデータの読み書きを記憶装置２１０に対して行うためのアクセスコマンド３００を発行する（ステップＳ１０）。
発行したアクセスコマンド３００がライトコマンドである場合（ステップＳ１１：ライトコマンド）、制御部２００は、書込部２２０を制御して、ライトコマンドＣｗを記憶装置２１０のメモリコントローラ２１２に対して送信させる（ステップＳ１２）。
【００４５】
一方、発行したアクセスコマンド３００がリードコマンドである場合（ステップＳ１１：リードコマンド）、制御部２００は、読出部２３０を制御して、リードコマンドＣｒを記憶装置２１０のメモリコントローラ２１２に対して送信させる（ステップＳ１３）。
次に、制御部２００は、計時部２４０を制御して、タイマーの値Ｔを０に初期化（Ｔ＝０）させ、計時を開始させる（ステップＳ１４）。
【００４６】
そして、制御部２００は、記憶装置２１０から応答Ｒが読出部２３０に出力されるのを待つ（ステップＳ１５：ＮＯ）。
読出部２３０が応答Ｒを記憶装置２１０から受信すると（ステップＳ１５：ＹＥＳ）、
読出データの受信を待つ（ステップＳ１６）。読出部２３０が、読出データの受信を開始すると（ステップＳ１６：ＹＥＳ）、制御部２００は、計時部２４０を制御して、計時を終了させ、タイマーの値Ｔを計時部２４０から受け取る（ステップＳ１７）。
【００４７】
次に、読出部２３０は、読出データＤｒを、メモリインタフェース２０５を介して記憶装置２１０から受け取り、制御部２００へ出力する（ステップＳ１８）。
制御部２００は、タイマーの値Ｔが予め定められた閾値Ｔｔｈ（例えば、６ｍｓ）以上の場合（ステップＳ１９：ＹＥＳ）、読み出した読出データＤｒを書き込むためのライトコマンドＣｗ２を発行し、書込部２２０を制御して、ライトコマンドＣｗ２を記憶装置２１０に対して送信させる（ステップＳ２０）。
【００４８】
制御部２００は、ステップＳ１９でＮＯの場合には、ステップＳ２０の処理を行わず処理を終了する。
＜１．３  考察＞
制御部２００が、記憶装置２１０からデータを読み出す際に、記憶装置２１０からの読出データの出力に時間がかかった場合には、記憶装置２１０の内部のメモリコントローラ２１２がメモリ２１１からデータを読み出す際に、エラーを検知し、エラー訂正等の処理を行っている可能性が高い。記憶装置２１０は、メモリ２１１のある特定のブロックにエラーが頻発するような場合には、当該ブロックを不良ブロックとして管理し、当該ブロックに記憶されているデータを、他の正常なブロックに移動させる処理等を行う。しかし、このようなエラーを改善する処理は、記憶装置２１０内部で行われ、どのような条件を満たしたときに行われるか、また、どのタイミングで行われるか等は、制御部２００は知ることができない。
【００４９】
そして、このようなエラー処理が行われていない場合には、制御部２００が再度同じデータを読み出す際にも、エラー訂正等の処理が行われてから出力される可能性が高く、読出データの出力が遅くなる。
本実施の形態に係る携帯端末１０では、制御部２００がデータを読み出す指示を行った際に、記憶装置２１０からの読出データの出力に時間がかかったと判断した場合には、読み出したデータについて、再度書き込む処理を、記憶装置２１０に対して行う。書込部２２０が制御部２００の制御に従って、読出データを再度書き込むためのライトコマンドを記憶装置２１０に送信すると、メモリコントローラ２１２のウェアレベリング処理機能により、読出データが記憶されているブロックとは異なる正常なブロックに書込データを書き込み直す可能性が高く、再度同じデータを読み出す際のエラーの発生を低減し得る。また、もし、メモリコントローラ２１２が、他のブロックに書き直す判断をせず、同じブロックに書き込む処理を行ったとしても、リードディスターブや熱等のストレスによりダメージを受けた書込データがリフレッシュされるため、再度同じデータを読み出す際のエラーの発生を改善し得る。これにより、制御部２００が記憶装置２１０からデータを読み出す際の読出データ出力までの時間を改善し得る。
＜１．４  変形例１＞
実施の形態では、制御部２００が、記憶装置２１０からデータを読み出す際に、読出データの出力に時間がかかったと判断した場合に、その直後に、得られた読出データを、再度書き込む指示を行う例を説明した。しかし、読出データを書き込むタイミングは、実施の形態で示したタイミングに限らない。ユーザが携帯端末１０の操作を行っていない場合に、読出データを再度書き込む指示を行ってもよい。
【００５０】
以下、ユーザが携帯端末１０の操作を行っていないタイミングで再度の書き込み処理を行う場合について説明する。
図６に変形例１における処理のフローチャートを示す。
同図のステップＳ２１〜ステップＳ３０までの処理は、図５のステップＳ１０〜ステップＳ１９までの処理と同じ処理である。
【００５１】
制御部２００は、ステップＳ３０で、読出データの出力に時間がかかったと判断した場合（ステップＳ３０：ＹＥＳ）には、計時部２４０を制御して、タイマーの値Ｔを０に初期化（Ｔ＝０）させ、計時を開始させる（ステップＳ３１）。
そして、制御部２００は、ユーザの操作部２７０に対する操作があるか否かを定期的（例えば１０ｍｓ毎）に判定する（ステップＳ３２）。ユーザ操作があると判断した場合（ステップＳ３２：ＹＥＳ）には、ステップＳ３１に戻り、計時部２４０を制御してタイマーの値を０に初期化する。
【００５２】
一方、ユーザの操作がない場合（ステップＳ３２：ＮＯ）には、制御部２００は、タイマーの値Ｔが予め定められた閾値Ｔｕ（例えば１分）を越えているか否かを判定する（ステップＳ３３）。
タイマーの値Ｔが閾値Ｔｕ以下の場合（ステップＳ３３：ＮＯ）、ステップＳ３２に戻り処理を繰り返す。
【００５３】
タイマーの値Ｔが閾値Ｔｕを越えている場合（ステップＳ３３：ＹＥＳ）、制御部２００は、計時部２４０を制御して、計時を停止させる（ステップＳ３４）。
次に、制御部２００は、読み出した読出データＤｒを書き込むためのライトコマンドＣｗ２を発行し、書込部２２０を制御して、ライトコマンドＣｗ２を記憶装置２１０に対して送信させる（ステップＳ３５）。
【００５４】
本変形例では、ユーザが携帯端末１０を操作していない場合に読出データの再度の書き込み処理を行うので、ユーザ操作に係る処理が、読出データの再度の書き込み処理によって遅くなることを抑制することができる。
また、本変形例では、ユーザ操作が一定時間行われていないか、そうでないかを判断して、一定時間ユーザ操作が行われていない場合に再度の書き込み処理を行ったが、携帯端末１０が通常の状態より電力消費を抑えた省電力モードで動作しているか否かを判断して、省電力モードで動作している場合に行うようにしてもよい。携帯端末が省電力モードで動作している状態は、携帯端末への処理負荷があまりかかっていない状態であるので、この書き込み処理を行うことによる他の処理への影響を低減できる。
＜１．５  変形例２＞
変形例２では、読出データの再度の書き込み処理を、予め定められた時間帯内に行う例を説明する。
【００５５】
図７に変形例２における処理のフローチャートを示す。
同図のステップＳ４０〜ステップＳ４９までの処理は、図５のステップＳ１０〜ステップＳ１９までの処理と同じ処理である。
制御部２００は、ステップＳ４９で、読出データの出力に時間がかかったと判断した場合（ステップＳ４９：ＹＥＳ）には、読出部２３０を制御して、記憶装置２１０から書込許可期間を示す時刻Ｔｓと時刻Ｔｅを読み出す（ステップＳ５０）。なお、時刻Ｔｓ（例えば、午前１時）は、再書き込みを許可する期間の始期の時刻を示し、時刻Ｔｅ（例えば、午前５時）は終期の時刻を示す。
【００５６】
次に、制御部２００は、現在時刻Ｔｎを取得し（ステップＳ５１）、現在時刻Ｔｎが、時刻Ｔｓと時刻Ｔｅの間の時刻か否かを判定する（ステップＳ５２）。
ステップＳ５２でＮＯの場合、現在時刻Ｔｎが時刻Ｔｓと時刻Ｔｅの間の時刻になるまで待つ。
制御部２００は、現在時刻Ｔｎが時刻Ｔｓと時刻Ｔｅの間の時刻になると（ステップＳ５２：ＹＥＳ）、読み出した読出データＤｒを書き込むためのライトコマンドＣｗ２を発行し、書込部２２０を制御して、ライトコマンドＣｗ２を記憶装置２１０に対して送信させる（ステップＳ５３）。
【００５７】
本変形例では、読出データの再度の書き込み処理を行うのは予め定められた時間帯内だけであり、この時間帯以外では再度の書き込みを行わない。このため、予め定められた時間帯以外での携帯端末１０における処理が読出データの再度の書き込み処理によって遅くなることを抑制することができる。具体的には、例えば、ユーザが寝ている時間帯等に読出データの出力が遅かったデータを書き込む処理を行うことができる。すなわち、携帯端末が操作されていないと考えられる時間帯にデータを書き込む処理を行うことができるので、この書き込み処理を行うことによる他の処理への影響を低減できる。
＜１．６  変形例３＞
変形例３では、記憶装置２１０へのアクセスが一定時間以上行われていない場合に、読出データの再度の書き込み処理を行う例を説明する。
【００５８】
図８に変形例３における処理のフローチャートを示す。
同図のステップＳ６０〜ステップＳ６９までの処理は、図５のステップＳ１０〜ステップＳ１９までの処理と同じ処理である。
制御部２００は、ステップＳ６９で、読出データの出力に時間がかかったと判断した場合（ステップＳ６９：ＹＥＳ）には、計時部２４０を制御して、タイマーの値Ｔを０に初期化（Ｔ＝０）させ、計時を開始させる（ステップＳ７０）。
【００５９】
そして、制御部２００は、記憶装置２１０へのアクセスがあるか否かを定期的（例えば１０ｍｓ毎）に判定する（ステップＳ７１）。
アクセスがあると判断した場合（ステップＳ７１：ＹＥＳ）には、ステップＳ７０に戻り、計時部２４０を制御してタイマーの値を０に初期化する。
一方、記憶装置２１０へのアクセスがない場合（ステップＳ７１：ＮＯ）には、制御部２００は、タイマーの値Ｔが予め定められた閾値Ｔａ（例えば５秒）を越えているか否かを判定する（ステップＳ７２）。
【００６０】
タイマーの値Ｔが閾値Ｔａ以下の場合（ステップＳ７２：ＮＯ）、ステップＳ７１に戻り処理を繰り返す。
タイマーの値Ｔが閾値Ｔａを越えている場合（ステップＳ７２：ＹＥＳ）、制御部２００は、計時部２４０を制御して、計時を停止させる（ステップＳ７３）。
次に、制御部２００は、読み出した読出データＤｒを書き込むためのライトコマンドＣｗ２を発行し、書込部２２０を制御して、ライトコマンドＣｗ２を記憶装置２１０に対して送信させる（ステップＳ７４）。
【００６１】
本変形例では、記憶装置２１０へのアクセスが一定時間以上ない場合に読出データの再度の書き込み処理を行うので、読出データの再度の書き込みによるその他の記憶装置２１０へのアクセス待ちを抑制できる。
＜２．その他の変形例＞
以上、本発明に係る携帯端末について、実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りの携帯端末に限られないことは勿論である。
【００６２】
（１）上述の実施の形態及び変形例の記憶装置２１０は、ｅ．ＭＭＣであるとして説明したが、記憶装置２１０は、ｅ．ＭＭＣに限らない。記憶装置２１０は、メモリとエラー処理等の機能を備えたメモリコントローラとが一体のメモリデバイスであればよい。例えば、記憶装置２１０はＳＤメモリカードでもよい。このように、ｅ．ＭＭＣ又はＳＤメモリカードを用いることにより、携帯端末の記憶装置を容易に構成できる。
【００６３】
（２）実施の形態で用いた応答時間の閾値Ｔｔｈは、一例であり、実施の形態の閾値Ｔｔｈに限らない。閾値Ｔｔｈは、携帯端末に搭載するｅ．ＭＭＣ等の記憶装置の書込及び読出速度の性能に合わせて適宜設定すればよい。
（３）実施の形態では、読み出し時の読出データの出力までの時間に基づいて、再度の書き込み処理を行うか否かを判断したが、書き込み時の書込データの書き込み完了までの時間についても同様の処理を行ってもよい。ここで、メモリ２１１への正常な場合における書き込みに要する時間と、読み出しに要する時間とに差がある場合があるので、このような場合には、書き込み時の書込データの書き込み完了までの時間の閾値を、読み込み時の読出データの出力までの時間の閾値と異なる値を用いるようにしてもよい。
【００６４】
（４）上述の実施の形態では、リードコマンドを送信してから、そのリードコマンドに対する読出データの出力を得るまでの時間に基づいて、再度の書き込み処理を行うか否かを判断したが、判断に用いる時間は、これに限らない。読出部２３０のアクセスコマンドに対する記憶装置２１０からの一連の応答が完了するまでの時間を用いればよい。例えば、アクセスコマンドを送信してから読出データの出力が完了するまでの時間を用いてもよい。
【００６５】
（５）再度の書き込み処理を行う書込許可期間を示す時刻Ｔｓ、Ｔｅは、ユーザが、携帯端末１０の使用状況に応じて自由に設定できるようにしてもよい。このようにユーザが設定できるようにすることで、例えば、ユーザが携帯端末１０を操作しない時間（例えば、就寝中の時間）を設定することで、再度の書き込み処理がユーザの操作に影響しない時間帯に行うことができる。
【００６６】
（６）変形例２では、読出データの再度の書き込み処理を一日の内の予め定められた時間帯で行う例を説明したが、書き込む時間帯は一日の内の時間帯でなくてもよい。一定期間内の一部の時間帯であればよい。例えば、１時間の内の１０分間を書き込む時間帯として設定してもよい。また、１週間の内のある特定の曜日を設定してもよい。ただし、読出データの出力までの時間が遅いと判断してから、再度の書き込み処理が行われるまでの時間間隔が長いと、その間に再度同じデータの読み出しを行った場合に、前回と同様に読出データの出力までの時間が遅い可能性があり、読出データの出力までの時間が改善されない状態が継続する。このため、書き込みを許可する時間帯の設定は、書き込みが許可されていない時間帯が過度に長時間にならないようにすることが望ましい。
【００６７】
（７）実施の形態において説明した携帯端末１０の各構成要素の内、全部又は一部をその機能を実行する回路として実現されてもよいし、１又は複数のプロセッサによりプログラムを実行することで実現されてもよい。また、ＩＣ、ＬＳＩその他の集積回路のパッケージとして構成されるものとしてもよい。このパッケージは各種装置に組み込まれて利用に供され、これにより各種装置は、実施の形態で示したような各機能を実現するようになる。
【００６８】
（８）実施の形態で示した携帯端末１０の処理（図５〜図８で示す処理）を携帯端末１０のプロセッサ、及びそのプロセッサに接続された各種回路に実行させるための機械語、あるいは高級言語のプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布することもできる。このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ、フラッシュメモリ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより各実施形態で示したような各機能が実現されるようになる。なお、プロセッサは、制御プログラムを直接実行する他、コンパイルして実行、あるいは、インタプリタにより実行してもよい。
【００６９】
（９）本発明に係る記憶装置の制御方法（図５〜図８で示す処理）を、コンピュータプログラムを用いてコンピュータにより実現してもよいし、前記コンピュータプログラムからなるデジタル信号として伝送してもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【００７０】
また、本発明に係るコンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
（１０）上記実施の形態及び上記変形例をそれぞれ適宜組み合わせるとしてもよい。
【産業上の利用可能性】
【００７１】
本発明に係る携帯端末は、メモリコントローラが一体となった記憶装置へのアクセス制御に有用である。
【符号の説明】
【００７２】
１０  携帯端末
２００、２１３  制御部
２０５  メモリインタフェース
２１０  記憶装置
２１１  メモリ
２１２  メモリコントローラ
２１４  ＥＣＣ処理部
２１５  ウェアレベリング処理部
２１６  論理物理アドレス変換部
２１７  不良ブロック管理部
２２０  書込部
２３０  読出部
２４０  計時部
【図１】
2015141623.tif 000003
【図２】
2015141623.tif 000004
【図３】
2015141623.tif 000005
【図４】
2015141623.tif 000006
【図５】
2015141623.tif 000007
【図６】
2015141623.tif 000008
【図７】
2015141623.tif 000009
【図８】
2015141623.tif 000010