(57)【要約】【課題】フラッシュメモリの種類、記憶容量を自動的に判別して、書き込み、読み出しを行うことを可能にし、作業者の作業負担、作業時間の軽減を図る。【解決手段】制御プログラム２２は、用意してあるコードセットのうちの１つを用いてフラッシュメモリ２７にアクセスし、一定時間の間にフラッシュメモリ２７からの応答が得られなかった場合、次のコードセットを用いて再度フラッシュメモリ２７にアクセスする（シーケンス▲１▼、▲２▼）。応答ｔｒｕｅ“１”が得られた場合、フラッシュメモリがそのコードセットを使用可能な種類であると判断して決定する（シーケンス▲３▼）。制御プログラム２２は、前述で決定したコードセットを用い、フラッシュメモリの容量として想定される最終アドレスや、最終アドレスを超えるアドレスについてアクセスを行い、その成否により、フラッシュメモリの記憶容量を確定する（シーケンス▲４▼〜▲７▼）。【選択図】      図３
2004185290.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリに対するリード・ライト方法において、フラッシュメモリに対するリード・ライトの制御を行う制御手段は、前記フラッシュメモリが、その種類によってアクセスコードが異なることを利用し、想定されるそれぞれのアクセスコードを用いたフラッシュメモリへのアクセスを試行し、アクセスが成功するコードを調べることにより、フラッシュメモリの種類を確定し、その後にリードまたはライトの処理を実行することを特徴とするフラッシュメモリに対するリード・ライト方法。
【請求項２】
前記確定したアクセスコードを使用して、想定される最終アドレスや、最終アドレスを超えるアドレスについてアクセスを行い、その成否により、フラッシュメモリの記憶容量を確定することを特徴とする請求項１記載のフラッシュメモリに対するリード・ライト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フラッシュメモリに対するリード・ライト方法係り、特に、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）モジュール等に使用されているフラッシュメモリ対する書き込み、読み出しに用いて好適なフラッシュメモリ対するリード・ライト方法に関する。
【０００２】
【従来の技術】
ブルートゥースモジュールに使用されているフラッシュメモリは、モジュールの全体的な制御を行うファームウェアを格納しており、このファームウェアは、アップデート等のために書き込みが行われ、あるいは、読み出す必要が生じる場合がある。一方、フラッシュメモリには、複数の種類があり、種類毎に制御可能な制御プログラムが異なっており、また、その記憶容量も異なるものが種々存在する。
【０００３】
このため、従来技術によるフラッシュメモリ対するリード・ライト方法は、フラッシュメモリに対して書き込み、読み出しを行う場合、使用されているフラッシュメモリの種類別に、対応する制御プログラムを作成し、書き込み、読み出しを行う前に、使用する制御プログラムを確定させておく必要のあるものであった。また、この従来技術は、フラッシュメモリが異なる種類、異なる容量のものに変更された場合、再度、制御プログラムを設定し直していた。
【０００４】
図４は従来技術によるフラッシュメモリに対する書き込み方法の概要を説明する図である。いま、フラッシュメモリの種類として、メモリＡ、メモリＢがあるものとする。そして、メモリＡに対してファームウェア等の情報を書き込もうとする場合、このメモリＡに対応した制御プログラムＡを用意し、また、メモリＢに対してファームウェア等の情報を書き込もうとする場合、このメモリＢに対応した制御プログラムＢを用意する。各制御プログラムＡ、Ｂのそれぞれは、ファームウェア等の情報の書き込みが指示されると、その情報をメモリＡ、メモリＢに書き込む。
【０００５】
なお、フラッシュメモリの種類と、対応する制御プログラムとは、必ずしも１対１に対応するものではなく、幾つかの種類のフラッシュメモリが同一の制御プログラムにより制御可能な場合がある。
【０００６】
また、この種のメモリを用いたメモリカードに関する従来技術として、特許文献１、特許文献２等に記載された技術が知られている。
【０００７】
【特許文献１】
特開２０００−１００１９６号公報
【０００８】
【特許文献２】
特開２０００−８２１２２号公報
【０００９】
【発明が解決しようとする課題】
前述したように、従来技術によるフラッシュメモリに対する書き込み、読み出しの方法は、フラッシュメモリの種類毎に対応する制御プログラムを作成し、書き込み、読み出しを行う前に、使用する制御プログラムを確定させておく必要があるため、作業者の作業負担が大きく、作業時間も多くかかるという問題点を有している。また、前述の従来技術は、フラッシュメモリ毎の記憶容量も予め確認しておく必要があり、このためにも、多くの手間がかかるという問題点を有している。
【００１０】
本発明の目的は、前述した従来技術の問題点を解決し、書き込み、読み出しを行うフラッシュメモリの種類、記憶容量を自動的に判別して、フラッシュメモリに対する書き込み、読み出しを行うことを可能にし、これにより、作業者の作業負担、作業時間の軽減を図ることができるようにしたフラッシュメモリに対するリード・ライト方法を提供することにある。
【００１１】
【課題を解決するための手段】
本発明によれば前記目的は、フラッシュメモリに対するリード・ライト方法において、フラッシュメモリに対するリード・ライトの制御を行う制御手段が、前記フラッシュメモリが、その種類によってアクセスコードが異なることを利用し、想定されるそれぞれのアクセスコードを用いたフラッシュメモリへのアクセスを試行し、アクセスが成功するコードを調べることにより、フラッシュメモリの種類を確定し、その後にリードまたはライトの処理を実行することにより達成される。
【００１２】
また、前記目的は、前記確定したアクセスコードを使用して、想定される最終アドレスや、最終アドレスを超えるアドレスについてアクセスを行い、その成否により、フラッシュメモリの記憶容量を確定することにより達成される。
【００１３】
前述したような手段により構成される本発明は、書き込み、読み出しを行おうとするフラッシュメモリの種類、記憶容量を自動的に判別して、フラッシュメモリに対する書き込み、読み出しを行うことずできるので、作業者の作業負担、作業時間の軽減を図ることができる。
【００１４】
【発明の実施の形態】
以下、本発明によるフラッシュメモリに対するリード・ライト方法の実施形態を図面により詳細に説明する。
【００１５】
図１は本発明の一実施形態によりフラッシュメモリに対する書き込みを行う方法の概要を説明する図、図２は本発明の一実施形態によるフラッシュメモリに対するリード・ライト方法を実施する機器の構成を示すブロック図、図３は書き込みを行う場合の動作シーケンスを示す図である。図２、図３において、２１はＰＣ、２２は制御プログラム、２３はフラッシュメモリのリード・ライトプログラム、２４はブルートゥースモジュール、２５はＢＯＯＴプログラム、２６はＲＡＭ、２７はフラッシュメモリ、２８はシリアルインタフェースである。
【００１６】
本発明は、フラッシュメモリの種類毎にアクセスコマンドが異なり、また、フラッシュメモリ毎に記憶容量が異なる点を利用して、自動的にフラッシュメモリの種類とその記憶容量とを判別し、フラッシュメモリに対するリード・ライトの効率を改善することを可能にしたものである。すなわち、本発明で使用する制御プログラムは、想定されるフラッシュメモリのそれぞれのアクセスコードセットにより、順にフラッシュメモリへのアクセスを試行し、アクセスが成功するコードを調べることにより、フラッシュメモリの種類を判別している。また、そのアクセスコードセットを用いて、想定される最終アドレスや、最終アドレスを超えるアドレスについてのアクセスを行い、その成否によって、フラッシュメモリの記憶容量を確定している。
【００１７】
前述により、本発明の一実施形態は、フラッシュメモリにデータ等の書き込みを行う場合、図１に示すように、１種類の制御プログラムにより、従来技術で説明したようにメモリＡ、Ｂの２種類のフラッシュメモリに対しても、書き込みを行うことが可能である。図１に示していないが、フラッシュメモリの読み出しの際も同様である。また、図には２種のメモリＡ、Ｂだけを示しているが、本発明は、さらに多種のフラッシュメモリに対応することができる。
【００１８】
本発明の一実施形態によるフラッシュメモリに対するリード・ライト方法を実施する機器の構成は、図２に示すように、例えば、制御手段としての制御プログラム２２及びフラッシュメモリのリード・ライトプログラム２３を有するＰＣ２１と、ＢＯＯＴプログラム２５、ＲＡＭ２６及びファームウェア等の情報を格納するフラッシュメモリ２７を有するブルートゥースモジュール２４とをシリアルインタフェース２８で接続した構成である。この構成で、ブルートゥースモジュール２４内に設けられているフラッシュメモリ２７に対するリード・ライトを行うことができる。
【００１９】
図２に示す例は、ＰＣ２１とブルートゥースモジュール２４とが別体になって、シリアルインタフェース２８で接続されているとして説明したが、本発明は、ブルートゥースモジュール２４がＰＣ２１の内部に備えられている場合にも適用することができる。
【００２０】
次に、図２に示す例において、フラッシュメモリ２７にファームウェア等の情報を書き込む場合の動作について説明する。
【００２１】
（１）ブルートゥースモジュール２４を、ブルートゥースモジュールの本来の動作のためのモードではなく、フラッシュメモリに対する書き込み、または、読み出しのためのモードであるＢＯＯＴモードで起動すると、まず、ＢＯＯＴプログラム２５がＲＡＭ２６内にロード（展開）される。
【００２２】
（２）ＲＡＭ２６にロードされたＢＯＯＴプログラム２５は、ＰＣ２１側のフラッシュメモリのリード・ライトプログラム２３から制御プログラム２２を取り込んで、この制御プログラム２２をＲＡＭ２６内にロードする。
【００２３】
（３）制御プログラム２２のＲＡＭ２６内へのロード完了後、制御プログラム２２は、ＰＣ２１側のフラッシュメモリのリード・ライトプログラム２３からフラッシュメモリ２７に書き込むべきファームウェア等の情報を受け取って、その情報をフラッシュメモリ２７に書き込む。
【００２４】
次に、前述したようなフラッシュメモリ２７への書き込みの際に、フラッシュメモリの種類、記憶容量を取得する処理について、図３に示すシーケンス図を参照して説明する。ここでの処理は、制御プログラムが複数種のフラッシュメモリに対応するコードセットと、フラッシュメモリの記憶容量によって決まる複数種の最終アドレス値とを持って、これらを使用してフラッシュメモリの種類とその記憶容量とを決定して、書き込みを行う処理である。
【００２５】
（１）ＲＡＭ２６内にロードされた制御プログラム２２は、用意してあるコードセットのうちの１つ、ここでは書き込み用コードセットＡを用いてフラッシュメモリ２７にアクセスし、一定時間、例えば、１００ｍ秒から１秒程度の間フラッシュメモリ２７からの応答を待つ（シーケンス▲１▼）。
【００２６】
（２）一定時間の間にフラッシュメモリ２７からの応答が得られなかった場合、制御プログラム２２は、次のコードセット、ここでは書き込み用コードセットＢを用いて再度フラッシュメモリ２７にアクセスする（シーケンス▲２▼）。
【００２７】
（３）一定時間の間にフラッシュメモリ２７から応答ｔｒｕｅ“１”が得られると、制御プログラム２２は、フラッシュメモリ２７の種類が書き込み用コードセットＢを使用可能な種類であると判断して、そのコードセットを使用することに決定する。なお、シーケンス▲１▼、▲２▼の処理は、応答ｔｒｕｅ“１”が得られるまで書き込み用コードセットを変更して繰り返し実行される（シーケンス▲３▼）。
【００２８】
（４）制御プログラム２２は、前述で決定したコードセットを用い、フラッシュメモリの中で最小のメモリ容量のものの最終アドレスＢ’についてアクセスする（シーケンス▲４▼）。
【００２９】
（５）シーケンス▲４▼のアクセスに対してアクセス可の応答としてｔｒｕｅ“１”が得られた場合、制御プログラム２２は、フラッシュメモリの中の次に大きいメモリ容量のものの最終アドレスＢ’＋ｎについてアクセスし、応答が得られなくなるまで、さらに大きいメモリ容量のものの最終アドレスについてアクセスする（シーケンス▲５▼、▲６▼）。
【００３０】
（６）シーケンス▲６▼のアクセスに対して、フラッシュメモリ２７からアクセス不可の応答としてｆａｓｌｅ“０”が得られた場合、制御プログラム２２は、フラッシュメモリ２７が、応答が得られた前回のアクセスでの最終アドレスを持つ容量であると確定する（シーケンス▲７▼）。
【００３１】
（７）ここまでの処理で、フラッシュメモリ２７の種類と容量とを確定できたことになるので、制御プログラム２２は、その後、フラッシュメモリ２７に対して必要なデータの書き込みを、フラッシュメモリのリード・ライトプログラム２３に実行させる（シーケンス▲８▼）。
【００３２】
前述した本発明の実施形態は、フラッシュメモリに対するデータの書き込みを例として、その動作を説明したが、フラッシュメモリからのデータの読み出しについても、同様に適用することができる。すなわち、データ読み出しの場合、図３により説明した、書き込み用コードセットに代えて、読み出し用コードセットを使用することによりフラッシュメモリの種類を確定することができる。
【００３３】
また、前述した本発明の実施形態は、フラッシュメモリの記憶容量を判定するために、フラッシュメモリの中で最小のメモリ容量のものから大きい方向に、順にそれらの最終アドレスについてアクセスして、アクセス不可の応答としてｆａｓｌｅ“０”が得られた場合に、フラッシュメモリ２７が、応答が得られた前回のアクセスでの最終アドレスを持つ容量であると確定するとして説明したが、本発明は、フラッシュメモリの中で最大のメモリ容量のものから小さい方向に、順にそれらの最終アドレスについてアクセスし、応答が得られたアクセスでの最終アドレスを持つ容量であると確定するようにすることもできる。
【００３４】
前述した本発明の実施形態によれば、フラッシュメモリが、その種類によってアクセスコードが異なる点を利用し、想定されるそれぞれのアクセスコードセットを用いたフラッシュメモリへのアクセスを試行して、アクセスが成功するコードを調べることにより、フラッシュメモリの種類を自動的に確定することができる。また、フラッシュメモリは、同一種でも異なる記憶容量を持つものがあるが、本発明によれば、確定したアクセスコードを使用して、想定される最終アドレスや、最終アドレスを超えるアドレスについてアクセスを行い、その成否により、フラッシュメモリの記憶容量を自動的に確定することができる。本発明の実施形態は、これにより、フラッシュメモリに対する書き込み、読み出し時の作業効率を向上させることができる。
【００３５】
【発明の効果】
以上説明したように本発明によれば、書き込み、読み出しを行うフラッシュメモリの種類、記憶容量を自動的に判別して、フラッシュメモリに対する書き込み、読み出しを行うことができ、これにより、作業者の作業負担、作業時間の軽減を図ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態によりフラッシュメモリに対する書き込みを行う方法の概要を説明する図である。
【図２】本発明の一実施形態によるフラッシュメモリに対するリード・ライト方法を実施する機器の構成を示すブロック図である。
【図３】
書き込みを行う場合の動作シーケンスを示す図である。
【図４】
従来技術によるフラッシュメモリに対する書き込み方法の概要を説明する図で
ある。
【符号の説明】
２１  ＰＣ
２２  制御プログラム
２３  フラッシュメモリのリード・ライトプログラム
２４  ブルートゥースモジュール
２５  ＢＯＯＴプログラム
２６  ＲＡＭ
２７  フラッシュメモリ
２８  シリアルインタフェース
【図１】
2004185290.tif 000003
【図２】
2004185290.tif 000004
【図３】
2004185290.tif 000005
【図４】
2004185290.tif 000006