(57)【要約】【課題】システム起動時にフラッシュメモリーのアドレスを特定するために行う検索時間を削減する。【解決手段】フラッシュメモリーのアドレスを管理する制御システムであって、データが記憶される１以上のデータエリアを有するフラッシュメモリーと、不揮発性のメモリーであって、前記フラッシュメモリー上における前記データの所在を示す前記アドレスとアドレス情報が含まれることを示す識別子とが、１のログパケットとして未書き込みエリアに順次書き込まれるアドレス記憶部と、前記アドレス記憶部における前記識別子を検索することによって、前記フラッシュメモリー上の前記アドレスを特定する制御部と、を備え、前記識別子のデータサイズは、前記アドレスのデータサイズより小さいことを特徴とする。【選択図】図５
2018032300.tif 000002
【特許請求の範囲】
【請求項１】
データが記憶される１以上のデータエリアを有するフラッシュメモリーのアドレスを管理する制御システムであって、
不揮発性のメモリーであって、前記フラッシュメモリーにおける前記データの所在を示す前記アドレスとアドレス情報が含まれることを示す識別子とが、１のログパケットとして未書き込みエリアに順次書き込まれるアドレス記憶部と、
前記アドレス記憶部における前記識別子を検索することによって、前記フラッシュメモリーの前記アドレスを特定する制御部と、を備え、
前記識別子のデータサイズは、前記アドレスのデータサイズより小さいことを特徴とするフラッシュメモリーの制御システム。
【請求項２】
請求項１において、
前記制御部は、
連続する前記アドレスの順に前記フラッシュメモリーに前記データを記憶させ、
前記制御システムの停止前に、前記データを記憶させた最新の前記アドレスを特定可能な前記アドレスを含む最新の前記ログパケットを、前記アドレス記憶部に順次書き込むことを特徴とするフラッシュメモリーの制御システム。
【請求項３】
請求項２において、
前記制御部は、
前記制御システムの起動時に、前記アドレス記憶部における前記識別子を順次検索し、
前記ログパケットが書き込まれる順方向において、前記未書き込みエリアの直前にあって前記アドレス情報が含まれることを示す識別子を含む前記ログパケットを、前記最新の前記ログパケットと特定することを特徴とするフラッシュメモリーの制御システム。
【請求項４】
請求項３において、
前記制御部は、
前記アドレス記憶部を複数のサブセクターに分割し、
分割されたそれぞれの前記サブセクターにおいて最初に書き込まれた前記識別子を検索して前記最新の前記ログパケットが含まれる前記サブセクターを特定し、
特定された前記サブセクターにおける前記識別子を、前記ログパケットが書き込まれる順に対して逆方向から順次検索し、
前記アドレス情報が含まれることを示す前記識別子を検出した時、検出された前記識別子を含む前記ログパケットを前記最新の前記ログパケットと特定することを特徴とするフラッシュメモリーの制御システム。
【請求項５】
請求項１から４のいずれか一項において、
前記１のログパケットは、第１の前記データエリアに対応する第１の前記アドレスおよび第２以降の前記データエリアにそれぞれ対応する第２以降の前記アドレスを含むことを特徴とするフラッシュメモリーの制御システム。
【請求項６】
請求項１から５のいずれか一項において、
前記アドレス記憶部は、前記フラッシュメモリーの一部であることを特徴とするフラッシュメモリーの制御システム。
【請求項７】
請求項１から６のいずれか一項において、
前記制御部は、前記アドレス記憶部の未書き込みエリアが所定量以下になったことを検出した場合、前記アドレス記憶部の一部に対して消去処理を施すことを特徴とするフラッシュメモリーの制御システム。
【請求項８】
データが記憶される１以上のデータエリアを有するフラッシュメモリーの制御方法であって、
連続するアドレスの順に前記フラッシュメモリーに前記データを記憶させ、
前記データの所在を示す前記アドレスとアドレス情報が含まれることを示し前記アドレスよりもデータ量が小さい識別子とを１のログパケットとし、
前記フラッシュメモリーの制御システムが停止する前に、前記データを記憶させた最新の前記アドレスを特定可能なアドレスを含む最新の前記ログパケットを、不揮発性のアドレス記憶部の未書き込みエリアに順次書き込み、
前記制御システムの起動時に、前記アドレス記憶部における前記識別子を、前記ログパケットが書き込まれる順と逆方向から順次検索し、
前記アドレス情報が含まれることを示す前記識別子を検出した時、検出された前記識別子を含む前記ログパケットを前記最新の前記ログパケットと特定することを特徴とするフラッシュメモリーの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリーの制御システムおよびフラッシュメモリーの制御方法に関する。
【背景技術】
【０００２】
従来、この種の技術として、特許文献１が知られている。特許文献１には、フラッシュメモリーの論理アドレス検出方法が開示されている。特許文献１の技術によれば、システム起動時にまずＲＡＭ内に論理／物理アドレスマッピング表を構築し、当該アドレスマッピング表を利用して、システムがＲＡＭに送るサーチ待機論理アドレスに対応する物理アドレスが得られるまで、順次物理ゾーン内の各ブロックに割り当てられた物理アドレスをサーチ（検索）する。これにより、あまり多くのＲＡＭ領域を占有しないで、システム起動時に必要な論理アドレスを取得するというものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−８６３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１の技術では、まずシステム起動時にＲＡＭ内にアドレスマッピング表を構築し、さらに必要な物理アドレスが得られるまで、物理ゾーン内のフラッシュメモリーの物理アドレスを順次サーチする必要がある。したがって、アドレス空間が広くなればなる程アドレスを示すためのデータ量が大きくなり、サーチするデータ量が増えてサーチに要する時間が増大する。特に、必要な物理アドレスが、サーチを開始する物理アドレスからアドレス空間上離れた位置にある場合は、必要な物理アドレスを検出するまでにサーチするアドレスのデータ量が増加するため、サーチに要する時間がより増大してしまうという課題を有する。そのため、サーチをより効率的に行いサーチに要する時間を削減することが望まれる。
【課題を解決するための手段】
【０００５】
本発明は、前述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００６】
（適用例１）
本適用例に係るフラッシュメモリーの制御システムは、データが記憶される１以上のデータエリアを有するフラッシュメモリーのアドレスを管理する制御システムであって、不揮発性のメモリーであって、前記フラッシュメモリーにおける前記データの所在を示す前記アドレスとアドレス情報が含まれることを示す識別子とが、１のログパケットとして未書き込みエリアに順次書き込まれるアドレス記憶部と、前記アドレス記憶部における前記識別子を検索することによって、前記フラッシュメモリーの前記アドレスを特定する制御部と、を備え、前記識別子のデータサイズは、前記アドレスのデータサイズより小さい。
【０００７】
この構成によれば、フラッシュメモリー上におけるデータの所在を示すアドレスとログパケットにアドレス情報が含まれることを示す識別子とは、一体（ログパケット）としてアドレス記憶部に書き込まれる。そのため、制御部は、アドレスよりデータ量（データサイズ）の小さい識別子を検索することによって、書き込まれたアドレスの所在を特定できる。
【０００８】
（適用例２）
上記適用例において、前記制御部は、連続する前記アドレスの順に前記フラッシュメモリーに前記データを記憶させ、前記制御システムの停止前に、前記データを記憶させた最新の前記アドレスを特定可能な前記アドレスを含む最新の前記ログパケットを、前記アドレス記憶部に順次書き込むことが好ましい。
【０００９】
この構成によれば、制御部は、データをフラッシュメモリーのアドレスの昇順または降順でフラッシュメモリーに記憶させ、制御システムの停止前に、データを記憶させた最新のアドレスを特定可能なアドレスを含む最新のログパケットを、不揮発性のメモリーであるアドレス記憶部に書き込む。そのため、例えば電源ＯＦＦなどによって制御システムが停止しても、最新のログパケットを保持することができる。
【００１０】
（適用例３）
上記適用例において、前記制御部は、前記制御システムの起動時に、前記アドレス記憶部における前記識別子を順次検索し、前記ログパケットが書き込まれる順方向において、前記未書き込みエリアの直前にあって前記アドレス情報が含まれることを示す識別子を含む前記ログパケットを、前記最新の前記ログパケットと特定することが好ましい。
【００１１】
この構成によれば、制御部は、制御システムの起動時に識別子を順次検索する。そして、ログパケットが書き込まれる順方向で見た時、未書き込みエリアの直前にあって（未書き込みエリアよりも前でかつ未書き込みエリアに最も近いアドレスに書き込まれていて）、かつアドレス情報が含まれることを示す識別子が含まれるログパケットを、最新のログパケットと特定することができる。したがって、最新のログパケットから、データを記憶させた最新のアドレスを特定可能なアドレスが分かる。そのため、データを記憶させた最新のアドレスを特定可能なアドレスから、次にデータを記憶させることが可能なアドレスが特定される。
【００１２】
（適用例４）
上記適用例において、前記制御部は、前記アドレス記憶部を複数のサブセクターに分割し、分割されたそれぞれの前記サブセクターにおいて最初に書き込まれた前記識別子を検索して前記最新の前記ログパケットが含まれる前記サブセクターを特定し、特定された前記サブセクターにおける前記識別子を、前記ログパケットが書き込まれる順に対して逆方向から順次検索し、前記アドレス情報が含まれることを示す前記識別子を検出した時、検出された前記識別子を含む前記ログパケットを前記最新の前記ログパケットと特定することが好ましい。
【００１３】
この構成によれば、制御部は、アドレス記憶部の複数のサブセクターにおいて最初に書き込まれた識別子を検索することによって最新のログパケットが含まれるサブセクターを特定し、さらに特定されたサブセクターの中でログパケットが書き込まれる順に対して逆方向から順次識別子を検索することによって最新のログパケットを特定する。これにより、制御部は、アドレス記憶部において、すべての識別子を対象にして検索を行う必要がなくなるため、効率よく最新のログパケットを特定することができる。そして、制御部は、特定された最新のログパケットから、次にデータを記憶させることが可能なフラッシュメモリーのアドレスを特定することができる。
【００１４】
（適用例５）
上記適用例において、前記１のログパケットは、第１の前記データエリアに対応する第１の前記アドレスおよび第２以降の前記データエリアにそれぞれ対応する第２以降の前記アドレスを含むことが好ましい。
【００１５】
この構成によれば、１のログパケットに、複数のデータエリアにそれぞれ対応する複数のアドレスが含まれる。そのため、各データエリアにおいて次にデータを記憶させることが可能なアドレスを特定する処理が簡単になる。
【００１６】
（適用例６）
上記適用例において、前記アドレス記憶部は、前記フラッシュメモリーの一部であることが好ましい。
【００１７】
この構成によれば、不揮発性のアドレス記憶部として、データが記憶されるフラッシュメモリーの一部を適用する。そのため、アドレス記憶部として個別のメモリーが不要となり、制御システムの簡素化ができる。
【００１８】
（適用例７）
上記適用例において、前記制御部は、前記アドレス記憶部の未書き込みエリアが所定量以下になったことを検出した場合、前記アドレス記憶部の一部に対して消去処理を施すことが好ましい。
【００１９】
この構成によれば、アドレス記憶部の未書き込みエリアが所定量以下になった場合、消去処理が施される。そのため、未書き込みエリアは、常に所定量以上が確保される。
【００２０】
（適用例８）
本適用例に係るフラッシュメモリーの制御方法は、データが記憶される１以上のデータエリアを有するフラッシュメモリーの制御方法であって、連続するアドレスの順に前記フラッシュメモリーに前記データを記憶させ、前記データの所在を示す前記アドレスとアドレス情報が含まれることを示し前記アドレスよりもデータ量が小さい識別子とを１のログパケットとし、前記フラッシュメモリーの制御システムが停止する前に、前記データを記憶させた最新の前記アドレスを特定可能なアドレスを含む最新の前記ログパケットを、不揮発性のアドレス記憶部の未書き込みエリアに順次書き込み、前記制御システムの起動時に、前記アドレス記憶部における前記識別子を、前記ログパケットが書き込まれる順と逆方向から順次検索し、前記アドレス情報が含まれることを示す前記識別子を検出した時、検出された前記識別子を含む前記ログパケットを前記最新の前記ログパケットと特定する。
【００２１】
この構成によれば、アドレスよりデータ量の小さい識別子を検索することによって、アドレス記憶部に書き込まれたアドレスの所在を特定することが可能になる。さらに、例えば電源ＯＦＦなどによって制御システムが停止しても、データを記憶させた最新のアドレスを特定可能なアドレスを、最新のログパケットとして不揮発性のメモリーであるアドレス記憶部に保持することができる。さらに、制御システムの起動時に、アドレス記憶部に保持された最新のログパケットを特定し、最新のログパケットに含まれるアドレス情報から、次にデータを記憶させることが可能なアドレスが特定できる。
【図面の簡単な説明】
【００２２】
【図１】フラッシュメモリーの制御システムを適用する電子機器の一例を示す図。
【図２】フラッシュメモリーの制御システムの一例を示すシステム構成図。
【図３】フラッシュメモリーのメモリーマップの一例を示す図。
【図４】フラッシュメモリーのエリア分割例を示す図。
【図５】ログパケットのデータ構成の一例を示す図。
【図６Ａ】フラッシュメモリーの制御の流れを示すフローチャート。
【図６Ｂ】フラッシュメモリーの制御の流れを示すフローチャート。
【発明を実施するための形態】
【００２３】
（実施形態）
以下、本発明を適用したフラッシュメモリーの制御システムの実施形態について図面を参照して説明する。なお、以下の説明で参照する図面では、説明および図示の便宜上、部材ないし部分の縦横の縮尺を実際のものとは異なるように表す場合がある。また、説明に必要な構成要素以外は図示を省略する場合がある。
【００２４】
（電子機器の概要）
図１は、本発明に係るフラッシュメモリーの制御システム１（図２参照）を適用する電子機器の一例を示す図である。図１は、当該電子機器としての超音波検査装置１０の外観斜視図である。超音波検査装置１０は、検体（不図示）にプローブ１１を当てて超音波を発生させ、反射した超音波を受信し画像データを合成する電子機器である。図１は、超音波検査装置１０の表示画面１２に、合成された画像データＡＢが表示された例を示す（図１において、実際は検査画像が表示されるが、ここでは図の簡略化のため「ＡＢ」と図示する）。さらに、オペレーター１５がタッチパネル１３を操作することにより、表示画面１２に表示された画像データＡＢを印刷媒体１４に印刷することができる。
【００２５】
超音波検査装置１０では、合成された画像データＡＢを表示したり印刷したりするために、画像データＡＢを装置内部の記憶装置に記憶する。画像データＡＢは文字情報に比べて情報量が多いため、フラッシュメモリー３（図２参照）などの大容量の記憶素子が、記憶装置として超音波検査装置１０に内蔵される。超音波検査装置１０は、例えばフラッシュメモリー３の未記憶エリアに、新しく検査した画像データＡＢを順次記憶していく。この場合、超音波検査装置１０は、フラッシュメモリー３において新しい画像データＡＢを記憶させることが可能な未記憶エリアのアドレスを把握する必要がある。そのために、電源がＯＮで超音波検査装置１０が動作中は、未記憶エリアのアドレスが、制御部２（図２参照）が備えるＲＡＭ（Random  Access  Memory）２３に保持される。
【００２６】
しかしながら、超音波検査装置１０がＯＦＦとなってＲＡＭ２３の電源が遮断されると、ＲＡＭ２３の保持内容が消失してしまう。そのため、超音波検査装置１０は、起動時にフラッシュメモリー３における未記憶エリアのアドレスを検索しなければならない。この場合、従来の技術では、フラッシュメモリー３の全データエリアを検索する、あるいは前述した特許文献１の技術などを使って未記憶エリアを検出する。一方、本発明に係るフラッシュメモリーの制御システム１は、超音波検査装置１０がＯＦＦされて制御システム１が停止する前に、アドレス記憶部としての不揮発性メモリー４（図２参照）にフラッシュメモリー３の未記憶エリアのアドレスに関する情報を最新のログパケット（図５参照）として書き込み、超音波検査装置１０がＯＦＦされた状態でも当該情報を保持する。
【００２７】
なお、アドレス記憶部に書き込まれるフラッシュメモリー３の未記憶エリアのアドレスに関する情報とは、画像データＡＢを記憶させた最新のアドレスを特定可能なアドレスである。
本実施形態では、画像データＡＢを記憶させた最新のアドレスを特定可能なアドレスとして、当該最新のアドレスの次のアドレスを書き込む例を説明する。フラッシュメモリー３には画像データＡＢがアドレスの順に記憶されるため、画像データＡＢを記憶させた最新（最後）のアドレスの次のアドレスが、フラッシュメモリー３の未記憶エリアの先頭アドレスとなる。
【００２８】
（フラッシュメモリーの制御システムの構成）
次に、超音波検査装置１０に適用されたフラッシュメモリーの制御システム１についてより詳細に説明する。
図２は、フラッシュメモリーのアドレスを管理する制御システム１の一例を示すシステム構成図である。図２の例では、制御システム１は、制御部２、フラッシュメモリー３、および不揮発性メモリー４を含む。
【００２９】
制御部２は、フラッシュメモリー３および不揮発性メモリー４とＳＰＩ（Serial  Peripheral  Interface）規格のバスで接続され、相互に情報の通信が可能である。具体的には、制御部２は、出力するシリアルクロック（SCLK）に同期させて、MOSIラインを介してフラッシュメモリー３および不揮発性メモリー４にデータを出力する。また、制御部２は、MISOラインを介してフラッシュメモリー３または不揮発性メモリー４からSCLKに同期して送信されるデータを入力する。この時、制御部２は、スレーブセレクト信号（not（SS1），not（SS2））によって通信相手を選択する。
つまり、図２のシステム構成では、制御部２は、フラッシュメモリー３と通信する場合、not（SS1）出力を“Ｌｏレベル”としてフラッシュメモリー３をイネーブル（有効状態）にし、不揮発性メモリー４と通信する場合は、not（SS2）出力を“Ｌｏレベル”として不揮発性メモリー４をイネーブルにする。これにより、制御部２は、通信相手を選択してデータの通信を行う。
なお、not（SS1）はSS1の負論理信号を意味し、SS1＝“Ｈｉ”レベルの時、not（SS1）＝“Ｌｏ”レベルを示す表記として用いる。
【００３０】
制御部２は、ＣＰＵ（Central  Processing  Unit）２１、ＲＯＭ（Read  Only  Memory）２２、ＲＡＭ２３、およびＭＣＵ（Memory  Control  Unit）２４を備える。ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、およびＭＣＵ２４は、それぞれ共通のバス２７に接続されて、バス２７を介して、命令の送信および情報の通信などを行う。ＣＰＵ２１は、ＲＯＭ２２に保存されたプログラムに基づいて、ＣＰＵ２１内の各機能部（不図示）の動作タイミングを整える。さらに、ＣＰＵ２１は、フラッシュメモリー３よりも高速で読み書き可能で書き込み回数の制限がないＲＡＭ２３を用いてさまざまな演算処理を行う。ＭＣＵ２４は、メモリーを制御するユニットであり、ＣＰＵ２１からの命令に基づき、ＳＰＩプロトコルに準じて、フラッシュメモリー３および不揮発性メモリー４とデータの通信を行う。
【００３１】
フラッシュメモリー３は、データの書き込みが可能で、電源が遮断されても書き込まれたデータが保持される不揮発性のメモリーである。端子not（SS）に接続されたスレーブセレクト信号not（SS1）が“Ｌｏ”レベルの時、フラッシュメモリー３はイネーブルとなる。なお、端子not（SS）は、チップセレクト端子とも呼ばれ、not（CS）と表記されることもある。フラッシュメモリー３は、データの上書きができないため（正確に言えば、すでにデータ“０”が書き込まれたメモリーセルに、新たにデータ“１”を書き込むことができないため）、同一のデータエリアに新しいデータを書き込む（記憶させる）場合は、そのエリアのデータを一度消去してメモリーセルを“１”の状態に戻す消去処理を行う必要がある。この消去処理は、書き込み処理や読み出し処理に比べて多大の時間を要する。また、メモリーセルへの書き込み回数には上限がある。そのため、フラッシュメモリー３は、ＣＰＵ２１の演算処理などに適用されず、前述したように、超音波検査装置１０においては、大容量のデータである画像データＡＢが記憶される記憶素子として利用される。
【００３２】
不揮発性メモリー４は、前述のフラッシュメモリー３と同様に、データの書き込みが可能で、電源が遮断されても書き込まれたデータが保持されるメモリーである。不揮発性メモリー４は、例えば、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read  Only  Memory）、ＦｅＲＡＭ（強誘電体メモリー）などであり、フラッシュメモリーであってもよい。また、不揮発性メモリー４は、フラッシュメモリー３の一部のエリアで代用されてもよく、その適用例については後述する（図４参照）。
【００３３】
（フラッシュメモリーの制御システムの動作）
以下、本実施形態では、フラッシュメモリー３および不揮発性メモリー４の連続するメモリーアドレスの昇順にデータを書き込む（記憶させる）場合を例に挙げて制御システム１の動作を説明する。
【００３４】
超音波検査装置１０において画像データＡＢが合成されると、制御部２は、フラッシュメモリー３の未記憶エリアに画像データＡＢを順次記憶させる。具体的には、ＣＰＵ２１が、ＲＡＭ２３に保持されているフラッシュメモリー３の未記憶エリアの先頭アドレスを読み込む。さらに、ＣＰＵ２１は、ＭＣＵ２４に指令して、スレーブセレクト信号not（SS1）を“Ｌｏレベル”にしてフラッシュメモリー３をイネーブルにする。その後、MOSIラインに、アドレスとシリアルデータに展開した画像データＡＢとを出力する。当該アドレスは、未記憶エリアの先頭アドレスから順次画像データＡＢが記憶されるように決定され出力される。制御部２は、画像データＡＢの記憶が終了した後、最後の画像データＡＢを記憶させたアドレス（最新のアドレス）の次のアドレスを、フラッシュメモリー３の未記憶エリアの先頭アドレスとしてＲＡＭ２３に保持する。
【００３５】
MOSIラインにアドレスと画像データＡＢとが出力される時、フラッシュメモリー３は、イネーブルにされているため、MOSIラインに乗せられたアドレスと画像データＡＢとを受信可能である。フラッシュメモリー３は、アドレスと画像データＡＢとを受信し、指定されたアドレスに画像データＡＢを記憶する。
また、フラッシュメモリー３は、制御部２（ＭＣＵ２４）から読み出し要求があると、記憶した画像データＡＢを、MISOラインを介して制御部２（ＭＣＵ２４）に送信する。例えば、超音波検査装置１０が画像データＡＢを表示したり印刷したりする場合、制御部２（ＭＣＵ２４）は、フラッシュメモリー３に画像データＡＢの送信を要求し、要求に応じてフラッシュメモリー３から送信される画像データＡＢを受信して表示や印刷を実行する。
【００３６】
さらに、超音波検査装置１０がＯＦＦとなり制御システム１が停止する前に、制御部２は、不揮発性メモリー４に、画像データＡＢを記憶させた最新のアドレスの次のアドレス（つまり、フラッシュメモリー３の未記憶エリアの先頭アドレス）を含めて、最新のログパケットとして書き込む。
これにより、ＲＡＭ２３の電源が遮断されてＲＡＭ２３に保持されていたフラッシュメモリー３の未記憶エリアの先頭アドレスが消失してしまっても、当該先頭アドレスは、不揮発性メモリー４に保持される最新のログパケットから読み出すことが可能となる。なお、詳細は後述するが（図５参照）、ここで書き込まれる最新のログパケットは、当該先頭アドレスとログパケットにアドレス情報が含まれることを示す識別子とが一体となったものである。
【００３７】
超音波検査装置１０がＯＦＦからＯＮとされて制御システム１が起動する場合、制御部２は、不揮発性メモリー４に、保持するログパケットの送信を要求する。制御部２は、要求に応じて送信されるログパケットの識別子を検索することによって、フラッシュメモリー３の未記憶エリアの先頭アドレスを特定する。この処理については、後ほどフローチャートを使って詳細を説明する（図６Ａ、図６Ｂ参照）。制御部２は、特定したフラッシュメモリー３の未記憶エリアの先頭アドレスをＲＡＭ２３に保持する。
【００３８】
（フラッシュメモリー）
図３は、フラッシュメモリー３のメモリーマップの一例を示す図である。本実施形態では、フラッシュメモリー３は、１２８Ｍｂｉｔ（メガビット）の記憶容量を持ち、アドレス空間は、図３に示すように２５６のセクターと４０９６のサブセクターで構成される。１のセクターは、１６のサブセクターで構成され、１のサブセクターは、４０９６のアドレス空間を有する。例えば、サブセクター”０”の場合は、開始アドレス000000hから終了アドレス000FFFhの４０９６（４ｋ）のアドレス空間を有する。また、１のアドレスには、８ｂｉｔ（１ｂｙｔｅ）のデータが記憶可能である。
したがって、フラッシュメモリー３の記憶容量は、
（セクター数）×（サブセクター数）×（アドレス空間）×（記憶ｂｉｔ数）
であり、具体的には、
２５６セクター×１６サブセクター×４ｋアドレス×８ｂｉｔ＝１２８Ｍｂｉｔ
である。
【００３９】
なお、”xxxxxxh”は、６桁の１６進数である。１６進数の１桁”x”は、”０〜９，Ａ〜Ｆ”で表記され、４ｂｉｔの２進数に相当する。したがって、６桁の１６進数は、６桁×４ｂｉｔ＝２４ｂｉｔ（３ｂｙｔｅ）で表記できる。
また、フラッシュメモリー３は、サブセクター毎にデータの消去処理が行われ、消去処理が行われたサブセクターのメモリーセルはすべて”１”の状態となる。また、フラッシュメモリー３の初期状態も、メモリーセルはすべて”１”の状態である。
【００４０】
図４は、フラッシュメモリーのエリア分割例を示す図である。図２の制御システム構成図では、不揮発性メモリー４をフラッシュメモリー３と別体で構成した。しかしながら、前述したように、不揮発性メモリー４は、フラッシュメモリー３の一部のエリアで代用可能であり、図４では、アドレス記憶部としての不揮発性メモリー４をフラッシュメモリー３のセクター”０”で代用する例を示す。
【００４１】
図４の分割例では、セクター”０”はアドレス記憶部（図２の不揮発性メモリー４に相当）として割り当てられ、セクター”１〜１２７”はデータエリアＡ、セクター”１２８〜１９１”はデータエリアＢ、セクター”１９２〜２５５”はデータエリアＣに割り当てられる。データエリアＡ〜Ｃは、画像データＡＢなどを記憶する記憶領域として使用される。アドレス空間で表記すれば、アドレス記憶部は開始アドレス000000h〜終了アドレス00FFFFh、データエリアＡは開始アドレス010000h〜終了アドレス7FFFFFh、データエリアＢは開始アドレス800000h〜終了アドレスBFFFFFh、データエリアＣは開始アドレスC00000h〜終了アドレスFFFFFFhである。
【００４２】
図２の制御システム１では、前述したように、制御部２は、スレーブセレクト信号not（SS2）を“Ｌｏレベル”にして不揮発性メモリー４をイネーブルとし、フラッシュメモリー３にデータを記憶させた最新のアドレスの次のアドレスを最新のログパケットに含めて不揮発性メモリー４に書き込んだ。一方、図４に示す例では、当該ログパケットを、フラッシュメモリー３のセクター”０”に書き込む。したがって、当該ログパケットの書き込みは、前述した画像データＡＢの書き込み（記憶）と同じ方法で実施され、書き込み先のアドレスをセクター”０”の未書き込みエリアのアドレスに設定することによって行われる。
【００４３】
（ログパケット）
次に、アドレス記憶部としてのセクター”０”に書き込まれるログパケットについて説明する。
図５は、ログパケットのデータ構成の一例を示す図である。１のログパケットは、フラッシュメモリー３の１６のアドレス空間を使って構成される。つまり、アドレス空間のサイズは、”Fh”である。前述したように、１のアドレスには、８ｂｉｔ（１ｂｙｔｅ）のデータが記憶可能であるため、１６のアドレス空間のデータ量は、１６×８ｂｉｔ＝１２８ｂｉｔである。また、１桁の１６進数は４ｂｉｔで表せるため、１のアドレスで２桁の１６進数、１６のアドレス空間で３２桁の１６進数が表記できる。図５に示すログパケットでは、１６のアドレス空間が４分割され、分割された４のアドレス空間（Ｗ〜Ｚ）のそれぞれが、８桁の１６進数を保持可能である。
【００４４】
ここで、データエリアＡ〜Ｃに含まれるすべてのアドレス（010000h〜FFFFFFh）は６桁の１６進数で表記できる。そして、分割された１のアドレス空間は、８桁の１６進数を保持できる。つまり、分割された１のアドレス空間は、データエリアＡ〜Ｃのいずれか１つのアドレスを保持できる。そのため、図５に示すログパケットでは、アドレス空間Ｘを、データエリアＡのアドレスの保持に割り当てる。そして、アドレス空間Ｙを、データエリアＢのアドレスの保持に割り当て、アドレス空間Ｚを、データエリアＣのアドレスの保持に割り当てる。ここで、データエリアＢおよびデータエリアＣは、第１のデータエリアとしてのデータエリアＡに対して、第２以降のデータエリアである。
【００４５】
具体的には、例えば、アドレス空間Ｘ（00xxx4h〜00xxx7h）のアドレス00xxx4hには、データエリアＡのアドレスの１６進数表記で６桁目と５桁目とが書き込まれ、アドレス00xxx5hには、データエリアＡのアドレスの４桁目と３桁目とが書き込まれ、アドレス00xxx6hには、データエリアＡのアドレスの２桁目と１桁目とが書き込まれる。これにより、ログパケットのアドレス空間ＸにデータエリアＡのアドレスが保持される。アドレス空間Ｙ，Ｚも、同様にしてデータエリアＢ，Ｃのアドレスを保持する。したがって、１のログパケットは、データエリアＡ〜Ｃに対応する３つのアドレスを含むことができ、アドレス記憶部に保持される。
【００４６】
ここで、アドレス空間Ｘ〜Ｚにおける終了アドレス（00xxx7h，00xxxBh，00xxxFh）は、情報が書き込まれない「空き」としている。これは、２進数表記における１桁を操作するだけで次のアドレス空間に移動できるようにして、制御部２の処理を簡単にするためである。つまり、図５の最右列に、アドレス空間Ｘ〜Ｚにおける開始アドレスの１桁目を２進数で示すが、これから明らかなように、このようなデータ構成とすることにより、２進数で３桁目をインクリメント（変数の値を１増やす）するだけで次のアドレス空間に移動することができる。
【００４７】
一方、アドレス空間Ｗは、ログパケットにデータエリアＡ〜Ｃのアドレス情報が含まれることを示す識別子（８２ｈ）や、ログパケットに起動回数や総使用時間といった保守データが含まれることを示す識別子（８０ｈ）などが保持される。このように、識別子のデータサイズ（データ量）は、１６進数で２桁である。一方、アドレス空間Ｘ〜Ｚに保持される未記憶エリアの先頭アドレスのデータサイズ（データ量）は、１６進数で６桁である。したがって、ログパケットに含まれるデータがアドレスであることは、アドレスそのものよりもデータ量の小さい識別子を検出することによって判定可能となる。さらに、アドレス空間Ｗには、保持されているデータエリアＡ〜Ｃのアドレスの真偽を確認するために、誤り検出符号としてのチェックサムデータが含まれる。
【００４８】
ところで、何も書き込みがされていないフラッシュメモリー３の初期状態およびデータの消去処理が行われた状態では、すべてのメモリーセルは”１”の状態である。そのため、アドレス空間Ｗにおいて識別子が保持される場所もすべて状態”１”であり、識別子としては”FFh”と認識される。つまり、識別子が”FFh”の場合は、ログパケットには何も書き込まれていない状態であることを示す。
【００４９】
以上のように構成されたログパケットは、アドレス記憶部としてのフラッシュメモリー３のセクター”０”に書き込まれて保持される。セクター”０”は、１６のサブセクターで構成されており（図４参照）、１のサブセクターのアドレス空間のサイズは“000FFFh”である（図３参照）。一方、ログパケットのサイズは、”Fh”であるので、１のサブセクターには、２５６のログパケットが書き込める。
【００５０】
また、ログパケットの書き込みが進んで、アドレス記憶部の未書き込みエリアが所定量以下（例えば、未書き込みのサブセクターの数が４以下）になると、制御部２は、最も過去に書き込みを行ったサブセクターに対してデータの消去処理を行う。これにより、常時所定量以上の未書き込みエリアを確保する。この場合、消去処理は、最も過去に書き込みを行ったサブセクターのみに行われてもよいし、最も過去に書き込みを行ったサブセクターを含めて書き込みの古い順に複数のサブセクターに対して実行されてもよい。
さらに、アドレス記憶部のサブセクター”１５”の終了アドレス（00FFFFh）にログパケットを書き込んだ後は、前述の消去処理によりサブセクター”０”は未書き込み状態になっているため、サブセクター”０”に戻ってログパケットの書き込みを継続する。
【００５１】
（データエリアのアドレス検出フロー）
以上、制御システム１の動作について説明したが、次にフローチャートを参照して、より詳細にその制御方法について説明する。
図６Ａ、図６Ｂは、フラッシュメモリー３の制御の流れを示すフローチャートである。これによれば、制御システム１の起動時に、データエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスをアドレス記憶部から素早く検索して特定できる。
本発明に係るフラッシュメモリー３の制御では、データエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスをアドレス記憶部から素早く検索するために、まず、最新のログパケットを含むサブセクター”ｎ”を特定し（ステップＳ０１〜Ｓ１０）、次に、サブセクター”ｎ”の中からデータエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスが含まれる最新のログパケットを特定する（ステップＳ１１〜Ｓ１５）。そして、特定された最新のログパケットに含まれる当該先頭アドレスをＲＡＭ２３に取り込む（ステップＳ１６〜Ｓ１８）。さらに、アドレス記憶部において常時所定量以上の未書き込みエリアを確保する（ステップＳ１９）。
【００５２】
ステップＳ０１：制御システム１が起動すると、最新のログパケットを含むサブセクター”ｎ”の検索を始めるための初期値として、”ｎ←０” （ｎに０を代入）と設定する。
【００５３】
ステップＳ０２：アドレス記憶部の連続するサブセクター”ｎ”およびサブセクター”ｎ＋１”におけるそれぞれの開始アドレス（図３参照）のログパケットの識別子を読み出す。前述したように、１のサブセクターは２５６のログパケットを保持できる。ここでは、その２５６のログパケットの内の先頭にあるログパケットの識別子（先頭の識別子）を読み出す。ただし、”ｎ＝１５”の場合は、”ｎ＋１＝１６”とするとデータエリアＡ（図４参照）に移動してしまうため、”ｎ＋１＝０”と置き、サブセクター”０”の先頭のログパケットの識別子を読み出す。
【００５４】
ステップＳ０３：ステップＳ０２で読み出した２の識別子がともに”FFh”であるか否か確認し、その結果が、正であればステップＳ０４に進み（ステップＳ０３のＹ）、否であればステップＳ０６に進む（ステップＳ０３のＮ）。
【００５５】
ステップＳ０４：２の識別子がともに”FFh”であるということは、サブセクター”ｎ”およびサブセクター”ｎ＋１”は何も書き込まれていない状態である。そこで、次のサブセクターの識別子を読み出すために、”ｎ←ｎ＋１”（ｎに１を加えてｎに代入）としてステップＳ０５に進む。
【００５６】
ステップＳ０５：ｎの値が１６以上であるか否か確認する。その結果、ｎの値が１６以上であればステップＳ１０に進み（ステップＳ０５のＹ）、ｎの値が１６以上でなければステップＳ０２に戻り処理を継続する（ステップＳ０５のＮ）。つまり、アドレス記憶部（セクター”０”）のサブセクターの最大番号は１５であるため（図４参照）、ｎの値が１６以上でなければ、アドレス記憶部のすべてのサブセクター”０〜１５”について先頭の識別子の確認が終了していない。したがって、ステップＳ０２に戻り処理を継続する。一方、ｎの値が１６以上であれば、すべてのサブセクター”０〜１５”について先頭の識別子を確認したので次の処理（ステップＳ１０）に進む。
【００５７】
ステップＳ０６：サブセクター”ｎ＋１”における開始アドレスのログパケットの識別子が、”FFh”であるか否か確認し、その結果が、正であればステップＳ０７に進み（ステップＳ０６のＹ）、否であればステップＳ０８に進む（ステップＳ０６のＮ）。本処理について、以下にその理由を説明する。
つまり、ステップＳ０３において、２の識別子がともに”FFh”でないとして、本ステップに進んだ。２の識別子がともに”FFh”でない状態とは、表１に示すいずれかのパターンである。表１において、”XXh”は”FFh”以外の識別子を表す。
【００５８】
【表１】
2018032300.tif 000003
【００５９】
前述のとおり、サブセクター”０〜１５”には、アドレスの順にログパケットが保持される。したがって、表１のそれぞれのパターンは、以下のように判断できる。
パターン１は、サブセクター”ｎ＋１”が”XXh”であるため、サブセクター”ｎ＋１”に何らかのログパケットが保持されていることを示すが、最新のログパケットを含むか否は不明である。また、サブセクター”ｎ＋１”は、何も書き込まれていない状態であるサブセクター”ｎ”の直後のサブセクターであるため、ログパケットが書き込まれた最初のサブセクターである。
パターン２は、サブセクター”ｎ”およびサブセクター”ｎ＋１”が”XXh”であるため、サブセクター”ｎ”およびサブセクター”ｎ＋１”の両方に何らかのログパケットが保持されていることを示すが、サブセクター”ｎ＋１”が最新のログパケットを含むか否は不明である。
パターン３は、サブセクター”ｎ”に何らかのログパケットが保持されていて、サブセクター”ｎ＋１”には何も書き込まれていない状態であることを示す。つまり、サブセクター”ｎ”は、何も書き込まれていない状態であるサブセクター”ｎ＋１”の直前のサブセクターであるため、サブセクター”ｎ”に最新のログパケットが含まれている。
以上より、ステップＳ０２で読み出した２の識別子がともに”FFh”でなく（ステップＳ０３のＮ）、かつサブセクター”ｎ＋１”における開始アドレスのログパケットの識別子が”FFh”であればパターン３であり、サブセクター”ｎ”に最新のログパケットが含まれていることが分かる。
【００６０】
ステップＳ０７：ステップＳ０６で説明したパターン３であるため、サブセクター”ｎ”が、最新のログパケットを含む最終のサブセクターと特定する。その後、すべてのサブセクター”０〜１５”について先頭の識別子を確認するため、ステップＳ０４に進み処理を継続する。なお、最終のサブセクターを特定するのは、アドレス記憶部において常時所定量以上の未書き込みエリアを確保する処理のためである（ステップＳ１９参照）。
【００６１】
ステップＳ０８：サブセクター”ｎ”における開始アドレスのログパケットの識別子が、”FFh”であるか否か確認し、その結果が、正であればステップＳ０９に進み（ステップＳ０８のＹ）、否であればステップＳ０４に進む（ステップＳ０８のＮ）。本処理について、以下にその理由を説明する。
つまり、上記結果が、正であれば表１のパターン１であり、否であれば表１のパターン２である。パターン１は、サブセクター”ｎ＋１”が、ログパケットが書き込まれている最初のサブセクターであることを示す。一方、パターン２からは、ログパケットが書き込まれているサブセクターと何も書き込まれていないサブセクターとの境界を判別できない。したがって、上記結果が否であれば、ステップＳ０４に進んで処理を継続する。
【００６２】
ステップＳ０９：ステップＳ０６で説明したパターン１であるため、サブセクター”ｎ＋１”が、ログパケットが書き込まれている最初のサブセクターと特定する。その後、ステップＳ０４に進んで、すべてのサブセクター”０〜１５”について先頭の識別子を確認する処理を継続する。なお、最初のサブセクターを特定するのは、アドレス記憶部において常時所定量以上の未書き込みエリアを確保する処理のためである（ステップＳ１９参照）。
【００６３】
ステップＳ１０：以上の処理によってすべてのサブセクター”０〜１５”について先頭の識別子が確認されたため、最初のサブセクターおよび最終のサブセクターが特定されたか否か確認する。その結果が、正であればステップＳ１１に進み（ステップＳ１０のＹ）、最終のサブセクターの中からデータエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスが含まれる最新のログパケットを特定する処理を行う。一方、その結果が否であれば、すべてのサブセクター”０〜１５”には何も書き込まれていない状態であるため、処理を終了する（ステップＳ１０のＮ）。
【００６４】
ログパケットは、アドレス記憶部の未書き込みエリアにアドレス記憶部のアドレスの順に書き込まれる。そのため、データエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスが含まれる最新のログパケットは、ログパケットが書き込まれる順方向において、サブセクター”ｎ”の未書き込みエリアの直前にあって（未書き込みエリアよりも前でかつ未書き込みエリアに最も近いアドレスに書き込まれていて）、かつアドレス情報が含まれることを示す識別子（８２ｈ）を含むログパケットである。したがって、サブセクター”ｎ”の終了アドレスからアドレスの順とは逆方向に識別子を検索して、識別子（８２ｈ）を検出した時、識別子（８２ｈ）を含むログパケットを最新のログパケットと特定する。
ステップＳ１１〜Ｓ１５は、上述の最新のログパケットを特定する処理である。
【００６５】
ステップＳ１１：前述のとおり、１のサブセクターは２５６のログパケットを保持するので、最新のログパケットをアドレスの降順に検索するための初期値として、”ｉ←２５６” （ｉに２５６を代入）と設定する。
【００６６】
ステップＳ１２：最終のサブセクターにおける”ｉ”番目のログパケットの識別子を読み出す。ここでは、ログパケットの識別子を読み出せばよく、保持されているアドレスを読み出す必要はない。
【００６７】
ステップＳ１３：読み出した”ｉ”番目のログパケットの識別子が、ログパケットにアドレス情報が含まれることを示す識別子（８２ｈ）であるか否か確認する。その結果が、正であればステップＳ１６に進み（ステップＳ１３のＹ）、否であればステップＳ１４に進む（ステップＳ１３のＮ）。
つまり、識別子が（８２ｈ）でなければ、”ｉ”番目のログパケットは、データエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスが含まれる最新のログパケットではない。したがって、ステップＳ１４に進んで検索を継続する。また、識別子が（８２ｈ）であれば、”ｉ”番目のログパケットは、データエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスが含まれる最新のログパケットである。したがって、ステップＳ１６の処理に進む。
【００６８】
ステップＳ１４：次のログパケットの識別子を読み出すため、”ｉ←ｉ−１”（ｉから１を減じてｉに代入）としてステップＳ１５に進む。
【００６９】
ステップＳ１５：ログパケットの番号が”０”であるか確認し、正ならば処理を終了し（ステップＳ１５のＹ）、否ならば処理を継続する（ステップＳ１５のＮ）。つまり、サブセクターは最大で２５６のログパケットを保持するため、ログパケットの番号”２５６”から検索を開始して番号”０”になり、すべてのログパケットを検索し終わるまでは処理を継続する。
【００７０】
ステップＳ１６：”ｉ”番目のログパケットが最新のログパケットであると特定し、ログパケットを読み込む。つまり、ステップＳ１３において、”ｉ”番目のログパケットが、データエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスが含まれる最新のログパケットであると確認されたため、ログパケットのアドレスの読み込みを行う。
【００７１】
ステップＳ１７：読み込んだ”ｉ”番目のログパケットにおいて、チェックサムデータに基づいて、保持されているアドレスの真偽を検証する。もしアドレスが偽と判定された場合は、再度ログパケットを検索する、あるいはオペレーター１５にその旨を告知する。
【００７２】
ステップＳ１８：チェックサムデータによる検証で保持されているアドレスが真と判定された場合は、”ｉ”番目のログパケットに含まれるアドレスを、データエリアＡ〜Ｃの未記憶エリアの先頭アドレスとしてＲＡＭ２３に保持する。
【００７３】
ステップＳ１９：未書き込みサブセクター数が所定量以下になったら、最も過去に書き込みを行ったサブセクターから消去処理を実施する。例えば、具体的には、ステップＳ０７およびステップＳ０９で特定されたログパケットが書き込まれている最初のサブセクターとログパケットが書き込まれている最終のサブセクターのサブセクター番号から、ログパケットが書き込まれているサブセクター数を取得する。その後、アドレス記憶部のサブセクター数である１６から取得されたサブセクター数を減じて、結果が所定量以下（例えば、４以下）であれば、最も過去に書き込みを行ったサブセクターから消去処理を実施する。これにより、アドレス記憶部において常時所定量以上の未書き込みエリアを確保する。
【００７４】
（作用効果）
以上のように、本実施形態によれば、フラッシュメモリーの制御システム１の制御部２は、フラッシュメモリー３におけるデータの所在を示すアドレスとログパケットにアドレス情報が含まれることを示す識別子とを、ログパケットとしてアドレス記憶部に書き込む。そのため、制御システム１の起動時に、制御部２は、識別子を検索することによって、アドレス記憶部に書き込まれたデータエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスを特定できる。この時、識別子のデータサイズはアドレスのデータサイズよりも小さいため（本実施例では、識別子が１ｂｙｔｅに対して、アドレスは３ｂｙｔｅ×３＝９ｂｙｔｅ）、データエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスの特定をする時に使用するデータ量が少ない。したがって、当該先頭アドレスの特定が、アドレスの情報そのものを使用して行うよりも素早くできるため、制御システム１の起動を効率的に行うことができる。
【００７５】
さらに、制御部２は、制御システム１の停止前に、画像データＡＢを記憶させた最新のアドレスの次のアドレスを、最新のログパケットとして、不揮発性のメモリーであるアドレス記憶部に書き込む。当該最新のアドレスの次のアドレスは、データエリアＡ〜Ｃにおける未記憶エリアの先頭アドレスであるため、例えば電源がＯＦＦしても、当該先頭アドレスを保持することができる。
【００７６】
また、制御部２は、アドレス記憶部を複数のサブセクターに分割し、データエリアのアドレスの特定時に、まず各サブセクターの先頭アドレスに書き込まれたログパケットの識別子を検索する。これにより、制御部２は、アドレス記憶部のすべての識別子を検索することなく、最新のログパケットを含むサブセクターを特定することができる。そのため、最新のログパケットを含むサブセクターを特定する時間が短縮される。
【００７７】
さらに、制御部２は、特定されたサブセクターにおいて、識別子をログパケットが書き込まれた順と逆方向から順次検索することによって、容易に最新のログパケットを特定することができる。そのため、最新のログパケットからデータエリアＡ〜Ｃの未記憶エリアの先頭アドレスを特定し、ＲＡＭ２３に取り込むことができる。
【００７８】
（変形例）
以上、本発明の実施形態を説明したが、本発明の主旨を逸脱しない範囲において、例えば下記のように、さまざまな変形が可能である。
【００７９】
（変形例１）
本実施形態では、フラッシュメモリーの制御システム１を適用する電子機器として超音波検査装置１０を例に挙げて本発明を説明した。しかしながら、本発明の適用範囲はこれに限られない。例えば、他の医療装置であってもよいし、操作履歴や設定条件などを記憶する電子機器であってもよい。
【００８０】
（変形例２）
本実施形態では、画像データＡＢを記憶させた最新のアドレスを特定可能なアドレスとして、フラッシュメモリー３の未記憶エリアの先頭アドレスそのものである当該最新のアドレスの次のアドレスが書き込まれた。しかしながら、当該最新のアドレスそのものが書き込まれてもよい。その場合には、読み出されたアドレスの次のアドレスが、未記憶エリアの先頭アドレスである。つまり、次にデータを記憶させることが可能なアドレスが特定できるアドレスが書き込まれていればよい。
【００８１】
（変形例３）
本実施形態では、制御部２が、アドレス記憶部のログパケットが書き込まれた順の逆方向に識別子を検索していく方法を説明した。しかしながら、アドレス記憶部の識別子の検索方向はこれに限られない。図６Ｂのフローチャートは部分的に変更される必要はあるが、ログパケットが書き込まれた順方向に識別子が検索されてもよい。
【００８２】
（変形例４）
また、制御部２は、サブセクター”ｎ”の終了アドレスにログパケットを書き込んだ場合は、サブセクター”ｎ＋１”の開始アドレスにも同じログパケットを書き込んでもよい。これにより、ログパケットが書き込まれた順方向に識別子が検索される場合に、識別子の検出（ひいては、最新のログパケットの検出）が、より早い時間で処理可能になる。
つまり、制御部２は、最新のログパケットが含まれるサブセクター”ｎ”を特定した後にサブセクター”ｎ”の中にある識別子を順方向に検索する。そのため、サブセクター”ｎ”において、開始アドレスから始まってログパケットが書き込まれた終了アドレスまで識別子を検索するよりも、サブセクター”ｎ＋１”の開始アドレスに書き込まれた同じログパケットの識別子を検出する方が、検出時間が早くなる。ただし、サブセクター”１５”はサブセクター”０”と連続するとみなし、”ｎ＝１５”の場合は、”ｎ＋１＝０”と置く。
【００８３】
（変形例５）
また、記憶容量が１２８Ｍｂｉｔよりも大きなフラッシュメモリー３を使用する場合は、最終アドレス（00xxx7h，00xxxBh，00xxxFh）にデータエリアＡ〜Ｃのアドレスの上位ｂｉｔを書き込むことができる。この場合、最大で１２８Ｍｂｉｔ×１６×１６＝３２Ｇｂｉｔのフラッシュメモリー３に対応することができる。
また、「空き」を作ることなく詰めれば、データエリアＡ〜Ｃに続く第４のデータエリアのアドレスも保持できる。
【００８４】
（変形例６）
本実施形態では、１のログパケットに、データエリアＡ〜Ｃに対応する３のアドレスを含ませたが、１のログパケットに、１のデータエリアに対応するアドレスだけを含ませてもよい。
【００８５】
（変形例７）
本実施形態におけるフラッシュメモリー３のアドレス空間は、論理（仮想）アドレス空間であっても物理アドレス空間であっても構わない。つまり、論理（仮想）アドレス空間と物理アドレス空間との変換は、例えばアドレス対応表を使って可能なため、本発明に係るフラッシュメモリーの制御システム１はどちらのアドレス空間にも適用可能である。
【００８６】
以上、本発明に係る実施形態および変形例を示したが、本発明は、前述の実施形態や変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、実施形態や変形例中の技術的特徴は、前述の課題の一部または全部を解決するために、あるいは、前述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【００８７】
１…制御システム、２…制御部、３…フラッシュメモリー、４…不揮発性メモリー、１０…超音波検査装置、１１…プローブ、１２…表示画面、１３…タッチパネル、１４…印刷媒体、１５…オペレーター、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…ＭＣＵ、２７…バス。
【図１】
2018032300.tif 000004
【図２】
2018032300.tif 000005
【図３】
2018032300.tif 000006
【図４】
2018032300.tif 000007
【図５】
2018032300.tif 000008
【図６Ａ】
2018032300.tif 000009
【図６Ｂ】
2018032300.tif 000010