(57)【特許請求の範囲】
【請求項１】
基地局又は他の無線通信装置との間で交信を行う通信部と、前記基地局又は他の無線通信装置との間で行われた交信内容を記録するためのデータの書き換えが可能な不揮発性メモリを備えた記録部と、前記記録部への前記交信内容に対応する主データの書き込みを行う制御部とを備えた、録音機能を有する無線通信装置であって、
前記制御部は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスの直前のアドレスのブロックに前記第２コードが記録されているか否かを判断し、前記第２コードが記録されているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、前記第２コードが記録されていないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする無線通信装置。
【請求項２】
基地局又は他の無線通信装置との間で交信を行う通信部と、前記基地局又は他の無線通信装置との間で行われた交信内容を記録するためのデータの書き換えが可能な不揮発性メモリを備えた記録部と、前記記録部への前記交信内容に対応する主データの書き込みを行う制御部とを備えた、録音機能を有する無線通信装置であって、
前記制御部は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスとバックアップアドレスが一致しているか否かを判断し、現在アドレスとバックアップアドレスが一致しているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、現在アドレスとバックアップアドレスが一致していないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする無線通信装置。
【請求項３】
前記第２領域は、物理的に同一の不揮発性メモリ上の前記第１領域とは異なる領域であることを特徴とする請求項１又は請求項２に記載の無線通信装置。
【請求項４】
前記第２領域は、前記第１領域として使用される不揮発性メモリとは異なる別の不揮発性メモリ上の領域であることを特徴とする請求項１又は請求項２に記載の無線通信装置。
【請求項５】
前記制御部は、前記基地局又は他の無線通信装置との通話が所定時間以上途切れた場合、直前の通話内容を１つの主データとして記録することを特徴とする請求項１乃至請求項４のいずれか一項に記載の無線通信装置。
【請求項６】
記録媒体としてのデータの書き換えが可能な不揮発性メモリと、前記不揮発性メモリに対するデータの書き込みを制御する制御部を備えた、不揮発性メモリにデータを書き込む記録装置であって、
前記制御部は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスの直前のアドレスのブロックに前記第２コードが記録されているか否かを判断し、前記第２コードが記録されているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、前記第２コードが記録されていないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする記録装置。
【請求項７】
記録媒体としてのデータの書き換えが可能な不揮発性メモリと、前記不揮発性メモリに対するデータの書き込みを制御する制御部を備えた、不揮発性メモリにデータを書き込む記録装置であって、
前記制御部は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスとバックアップアドレスが一致しているか否かを判断し、現在アドレスとバックアップアドレスが一致しているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、現在アドレスとバックアップアドレスが一致していないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする記録装置。
【請求項８】
不揮発性メモリへデータを書き込む記録方法であって、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスの直前のアドレスのブロックに前記第２コードが記録されているか否かを判断し、前記第２コードが記録されているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、前記第２コードが記録されていないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う
ことを特徴とする記録方法。
【請求項９】
不揮発性メモリへデータを書き込む記録方法であって、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスとバックアップアドレスが一致しているか否かを判断し、現在アドレスとバックアップアドレスが一致しているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、現在アドレスとバックアップアドレスが一致していないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体として、例えばフラッシュメモリなどのデータの書き換えが可能な不揮発性メモリを備え、録音機能を有する無線通信装置、不揮発性メモリへデータを書き込む記録装置及び不揮発性メモリへデータを書き込む記録方法に関する。
【背景技術】
【０００２】
無線通信の分野においては、過去の交信内容を確認したり、聞き逃した命令を確認したりするために、交信内容を録音しておく必要がある場合がある。また、フライトレコーダ（ドライブレコーダ）やボイスレコーダのように、有事の際に位置情報などの様々な情報や、交信記録や会話などを記録する装置も知られている。これらいずれの場合も、記録されたデータは半永久的に保存しておく必要はなく、特に問題が生じなければ一定期間経過後に消去しても構わない。その一方で、有事の際の電源喪失などによって記録されたデータが消失してしまわないように、記録媒体としてフラッシュメモリなどの書き換えが可能な不揮発性記録媒体が使用されている。
【０００３】
フラッシュメモリやＥＥＰＲＯＭなどの不揮発性メモリにデータを書き込む場合、一般的にリングバッファ方式が用いられており、不揮発性メモリの記録領域の先頭からデータを書き込んでいき、記録領域の最後に達すると、先頭に戻って上書きを行う。ところで、不揮発性メモリにデータを書き込んでいる最中に、何らかの原因により電源喪失が発生したとすると、電源喪失が発生した箇所のデータが不定となり、それまでに記録されたデータは破壊されて再生できなくなる。ところが、不揮発性メモリに通信内容などの音声データが記録される場合、仮に電源喪失によってデータが破壊されたとしても、音声が一時的に途絶えるだけであるので、記録されたデータが破壊されること自体はさほど大きな問題とはならない。しかしながら、電源回復後に次のデータを書き込む場合、データの書き込みを開始するべきアドレスの特定に時間がかかり、データの書き込みの再開に時間がかかるという問題が生じる。
【０００４】
特許文献１は、コンピュータの外部記録装置に関するものであり、不揮発性メモリの記録領域を所定バイト数（例えば、５１２バイト）のセクタに分割すると共に、各セクタをさらにデータ領域と管理領域に分割し、各セクタのデータ領域に記録されるべき主データを書き込むと共に、管理領域に書き込み開始フラグ、セクタアドレス、書き込み終了フラグなどの管理データを書き込む。そして、この外部記録装置の制御部は、各セクタの管理領域に書き込まれた書き込み開始フラグ及び書き込み終了フラグの値（それぞれ、初期値は「１」、終了値は「０」）に基づいて、そのセクタに主データが正しく書き込まれたことを判断している。また、制御部は、新たな主データの書き込みに際して、各セクタの管理領域の書き込み開始フラグをサーチし、書き込み開始フラグの初期値「１」を示すセクタのうち最も小さいセクタアドレスを有するセクタから、次の主データの書き込みを開始する。
【０００５】
特許文献１の外部記録装置では、電源喪失による主データ書き込みの失敗が発生した場合に、不定の主データが書き込まれたセクタに連続性のない主データが続けて書き込まれないようにするために、各セクタのデータ領域への主データの書き込み開始よりも先に、書き込み開始フラグの値を「１」から「０」に書き換えている。それによって、電源喪失による主データ書き込みの失敗が発生した場合でも、そのセクタは書き込みが終了しているものとして、新たな主データは次のセクタに書き込まれる。但し、書き込み開始フラグ及び書き込み終了フラグの値を書き換えているときに電源喪失が起こらないとも限らず、不定の主データが書き込まれたセクタに連続性にない主データが続けて書き込まれることもあり得る。その場合は、主データが破壊されているので再生不能になる。
【０００６】
特許文献２は、ＥＥＰＲＯＭ内蔵型のデータ処理装置に関し、製品出荷時にＲＯＭから各種のアプリケーションプログラムや所定のシステムプリセットデータをＥＥＰＲＯＭに書き込む。その際、所定単位のデータの先頭位置と終了位置に同じコードを書き込み、両コードが一致している場合にデータが正常に書き込まれたものと判断している。なお、両コードが一致していない場合は、書き込み異常が発生したものと判断し、最初からやり直す。そのため、この方式では、異常発生前に正常に書き込まれたデータであっても再生することはできず、録音装置には適しない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−２８２７６５号公報
【特許文献２】特許第３６０３３３３号（特開平８−６８６５号公報）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記従来例の問題を解決するためになされたものであり、記録媒体として、例えばフラッシュメモリなどのデータの書き換えが可能な不揮発性メモリを備え、録音機能を有する無線通信装置、不揮発性メモリへデータを書き込む記録装置及び不揮発性メモリへデータを書き込む記録方法において、一時的な電源喪失が発生した場合でも、電源回復後、直ちにデータの記録の再開を可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明に係る録音機能を有する無線通信装置は、
基地局又は他の無線通信装置との間で交信を行う通信部と、前記基地局又は他の無線通信装置との間で行われた交信内容を記録するためのデータの書き換えが可能な不揮発性メモリを備えた記録部と、前記記録部への前記交信内容に対応する主データの書き込みを行う制御部とを備え、
前記制御部は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスの直前のアドレスのブロックに前記第２コードが記録されているか否かを判断し、前記第２コードが記録されているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、前記第２コードが記録されていないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする。
【００１０】
また、本発明に係る他の録音機能を有する無線通信装置は、
基地局又は他の無線通信装置との間で交信を行う通信部と、前記基地局又は他の無線通信装置との間で行われた交信内容を記録するためのデータの書き換えが可能な不揮発性メモリを備えた記録部と、前記記録部への前記交信内容に対応する主データの書き込みを行う制御部とを備え、
前記制御部は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスとバックアップアドレスが一致しているか否かを判断し、現在アドレスとバックアップアドレスが一致しているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、現在アドレスとバックアップアドレスが一致していないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする。
【００１１】
前記第２領域は、物理的に同一の不揮発性メモリ上の前記第１領域とは異なる領域であってもよい。
【００１２】
または、前記第２領域は、前記第１領域として使用される不揮発性メモリとは異なる別の不揮発性メモリ上の領域であってもよい。
【００１３】
また、前記制御部は、前記基地局又は他の無線通信装置との通話が所定時間以上途切れた場合、直前の通話内容を１つの主データとして記録してもよい。
【００１４】
また、本発明に係る不揮発性メモリへデータを書き込む記録装置は、記録媒体としてのデータの書き換えが可能な不揮発性メモリと、前記不揮発性メモリに対するデータの書き込みを制御する制御部を備え、
前記制御部は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスの直前のアドレスのブロックに前記第２コードが記録されているか否かを判断し、前記第２コードが記録されているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、前記第２コードが記録されていないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする。
【００１５】
また、本発明に係る他の不揮発性メモリへデータを書き込む記録装置は、記録媒体としてのデータの書き換えが可能な不揮発性メモリと、前記不揮発性メモリに対するデータの書き込みを制御する制御部を備え、
前記制御部は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスとバックアップアドレスが一致しているか否かを判断し、現在アドレスとバックアップアドレスが一致しているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、現在アドレスとバックアップアドレスが一致していないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする。
【００１６】
また、本発明に係る不揮発性メモリへデータを書き込む記録方法は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスの直前のアドレスのブロックに前記第２コードが記録されているか否かを判断し、前記第２コードが記録されているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、前記第２コードが記録されていないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う
ことを特徴とする。
【００１７】
また、本発明に係る他の不揮発性メモリへデータを書き込む記録方法は、
（ａ）前記不揮発性メモリの第１領域を、その第１領域の先頭からデータを書き込み、前記第１領域の最後に達すると、先頭に戻って上書きを行うリングバッファとして使用し、前記第１領域を所定のビット数ごとにブロック化し、ブロックごとにアドレスを設定し、
（ｂ）現在、データが書き込まれつつあるブロックのアドレスを、現在アドレスとして前記不揮発性メモリの第２領域に書き込み、
（ｃ）１つの主データを前記第１領域に記録する際、前記主データの始まりを表す所定の第１コードを書き込んだ後、次のブロックから前記主データの書き込みを開始し、前記主データの書き込みが終了すると、その次のブロックに前記主データの終わりを表す所定の第２コードを書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして前記第２領域に書き込み、
（ｄ）次に、新たな主データを前記不揮発性メモリに書き込む際、前記第２領域に記録されている現在アドレスとバックアップアドレスが一致しているか否かを判断し、現在アドレスとバックアップアドレスが一致しているときは、前回の主データが正常に記録されたものとして、前記現在アドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行い、現在アドレスとバックアップアドレスが一致していないときは、前回の主データが正常に記録されなかったものとして、前記バックアップアドレスの示すブロックから順に前記第１コード、新たな主データ及び前記第２コードの書き込みを行う、
ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、主データの書き込み中に電源喪失が生じた場合でも、書き込み中の主データは破壊され、再生不能となるが、次に記録される主データは、不揮発性メモリに記録されているバックアップアドレスが示すアドレスから書き込まれる。そのため、電源回復後、直ちにデータの記録を再開することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係る録音機能を有する無線通信装置の構成を示すブロック図。
【図２】本実施形態に係る無線通信装置における主データの正常な書き込み動作を説明する概念図であり、主データを第１領域に最初に書き込む前の状態を表す。
【図３】図２の次のステップであって、主データの始まりを表す第１コード（ＳＴＡＲＴ）の書き込み後、次のブロックから順に主データを書き込んでいる状態を表す。
【図４】図３の続きであって、主データの書き込み終了後、主データの終わりを表す第２コード（ＥＮＤ）を書き込み、現在アドレス及びバックアップアドレスを更新する状態を表す。
【図５】図４の続きであって、前の主データが正常に記録されており、次の主データを書き込むために、現在アドレスの示すブロックに第１コードを書き込んでいる状態を示す。
【図６】主データの正常に記録されなかった場合のパターンであって、第１コードを書き込むときに異常が発生する場合を示す。
【図７】主データの正常に記録されなかった場合のパターンであって、主データを書き込んでいる間に異常が発生する場合を示す。
【図８】主データの正常に記録されなかった場合のパターンであって、第２コードを書き込むときに異常が発生する場合を示す。
【図９】主データの正常に記録されなかった場合のパターンであって、現在アドレスを更新しているときに異常が発生する場合を示す。
【図１０】主データの正常に記録されなかった場合のパターンであって、バックアップアドレスを更新するときに異常が発生する場合を示す。
【発明を実施するための形態】
【００２０】
本発明の一実施形態に係る録音機能を有する無線通信装置、不揮発性メモリへデータを書き込む記録装置及び不揮発性メモリへの記録方法について説明する。図１は、本実施形態に係る無線通信装置１の基本的な構成を示すブロック図である。また、図２乃至図１０は、不揮発性メモリの第１領域に第１コード（ＳＴＡＲＴ）、主データ及び第２コード（ＥＮＤ）を書き込むと共に、第２領域に現在アドレス及びバックアップアドレスを書き込む際の、概念図である。図２乃至図１０において、便宜上、横方向１列を１つのブロックとし、複数のブロックを縦方向に並列している。
【００２１】
図１に示すように、無線通信装置１は、基地局又は他の無線通信装置２との間で交信を行う通信部１１と、基地局又は他の無線通信装置２との間で行われた交信内容を記録するためのデータの書き換えが可能な不揮発性メモリを備えた記録部１２と、記録部１２への交信内容に対応するデータの書き込み及び記録部１２からのデータの読み出しを行う制御部１３と、基地局又は他の無線通信装置２との間で交信を行うためのマイクロホン１４、スピーカ１５、表示部１６、電源１７などを備えている。
【００２２】
記録部１２は、主記録媒体として、例えばフラッシュメモリなどのデータの書き換えが可能な不揮発性メモリを備えている。不揮発性メモリの容量を、例えば１Ｇビット（１２８Ｍバイト）とした場合、通信用の高圧縮符号化を行うことにより、１００時間程度の録音が可能になる。不揮発性メモリの容量は、特に限定されず、無線通信装置１の用途や使用に応じて適宜設定される。
【００２３】
無線通信装置１と、基地局又は他の無線通信装置２との間で行われる交信の通話時間は不定である。一般的には、１回の送信時間は数秒から数分程度であろうが、無線通信装置１と、基地局又は他の無線通信装置２は、交互に送受信を繰り返して交信するため、無線通信装置１は、通話が途絶えた時間が所定時間以上ならば、直前の通話内容を１つの録音単位として、その録音データ（主データ）を不揮発性メモリに記録する。具体的には、通信部１１への無線信号の入感がなくなった時点又は通信部１１が送信を停止した時点のいずれかでタイマーによるカウントを開始し、所定期間が経過するまでに通信部１１が送信を行わなかったか又は通信部１１への無線信号の入感がなかった場合に「通話が途切れた」と判断し、直前の通話内容を１つの録音単位とする。このように、１通話をタイマーによる通話が途絶えた時間で判断しているので、例えば基地局又は他の無線通信装置２からの指令のみを１通話として録音する場合もあれば、その指令に対する無線通信装置１からの返信も含めて１通話として録音する場合もある。
【００２４】
無線通信装置１では、一定期間、基地局又は他の無線通信装置２との間で行われた交信内容を記録する。そのため、制御部１３は、記録部１２の不揮発性メモリの所定の第１領域２１（図２参照）をリングバッファとして使用する。その際、不揮発性メモリの第１領域２１を所定のビット数（例えば８ビット）ごとにブロック化し、ブロックごとにアドレスを設定する。１ブロックのビット数は、８ビットに限定されず、１６ビット、３２ビット・・・であってもよい。前述のように、１通話当たりの通話時間は不定であるので、１通話当たりの主データの容量が不定となる。従って、制御部１３は、不揮発性メモリの第１領域２１を所定容量ごとの記録領域に仕切らず、第１領域２１の未使用又は上書きされていないブロックのうち、最も小さいアドレスを有するブロックから順に主データを詰めて記録していく。そのため、主データの「始まり」と「終わり」を示すために、未使用又は上書きされていないブロックのうち、最も小さいアドレスを有するブロックに主データの始まりを表す所定の第１コード（図では「ＳＴＡＲＴ」とする）を書き込む。また、主データの書き込みが終了すると、その次のブロックに主データの終わりを表す所定の第２コード（図では「ＥＮＤ」とする）を書き込む。すなわち、主データはその前後を第１コードと第２コードで挟まれることになる。あるいは、主データと第１コード及び第２コードをまとめて１つの録音データと考えることも可能である。不揮発性メモリに記録されている録音データを再生する場合は、第２コード（ＥＮＤ）から逆順に各ブロックに記載されているデータを検索し、第１コード（ＳＴＡＲＴ）が現れたときに、この第１コード（ＳＴＡＲＴ）から第２コード（ＥＮＤ）までの間のデータを１つの録音データとして読み出して使用する。
【００２５】
この無線通信装置１では、電源喪失及び電源回復時に備えて、現在アドレスとバックアップアドレスを、不揮発性メモリのリングバッファとして使用される第１領域２１とは異なる第２領域２２に記録する。この現在アドレスとバックアップアドレスが記録される第２領域２２は、リングバッファとして使用される第１領域２１が設定されている不揮発性メモリと物理的に同一の不揮発性メモリ上に設定されていてもよいし、物理的に別の不揮発性メモリ上に設定されていてもよい。「現在アドレス」とは、現在データが書き込まれつつあるブロックのアドレスのことであり、１つのブロックにデータが書き込まれると、現在アドレスは次のブロックのアドレスに更新される。それに対して、「バックアップアドレス」とは、１つの主データを記録するに際して、最初に第１コード（ＳＴＡＲＴ）が書き込まれたブロックのアドレスのことをいい、第２コード（ＥＮＤ）がいずれかのブロックに書き込まれるまで更新されない。
【００２６】
次に、この無線通信装置１における主データの正常な書き込み動作について説明する。図２は、不揮発性メモリの第１領域が未使用であり、１つの主データを第１領域に最初に記録する前の状態を表している。不揮発性メモリは、リングバッファとして使用される第１領域２１と、現在アドレス及びバックアップアドレスが記録される第２領域２２を有する。制御部１３は、第１領域２１の最も小さいアドレス（例えば・・・００１）を有するブロックに主データの始まりを表す所定の第１コード（ＳＴＡＲＴ）を書き込む。このとき、現在アドレス及びバックアップアドレスの初期値として上記アドレス（・・・００１）があらかじめ第２領域２２に記録されていてもよいし、この段階で第１コードを書き込んだブロックのアドレスを現在アドレス及びバックアップアドレスとして第２領域２２に記録してもよい。
【００２７】
第１コード（ＳＴＡＲＴ）が最も小さいアドレスを有するブロックに書き込まれると、図３に示すように、制御部１３は、次のブロックから順に主データを書き込むと共に、第２領域２２に記録されている現在アドレスを現在主データが書き込まれつつあるブロックのアドレスに順次更新する。この間、バックアップアドレスは更新されない。主データの書き込みが終了すると、図４に示すように、その次のブロックに主データの終わりを表す所定の第２コード（ＥＮＤ）を書き込むと共に、さらにその次のブロックのアドレスに現在アドレスを更新してから、同じブロックのアドレスをバックアップアドレスとして第２領域２２に書き込む。正常に主データが第１領域２１に記録されると、前述のようにその主データは第１コード（ＳＴＡＲＴ）と第２コード（ＥＮＤ）で挟まれることとなる。
【００２８】
次の主データを不揮発性メモリの第１領域２１に書き込む際、制御部１３は、第２領域に記録されている現在アドレスの１つ前のアドレスの示すブロックに第２コードが記録されているか否かを判断する。前の主データが正常に記録されている場合、図５に示すように、現在アドレスの１つ前のアドレスの示すブロックに第２コードが記録されているので、制御部１３は、現在アドレスの示すブロックに第１コード（ＳＴＡＲＴ）を書き込み、上記図２乃至図４に示す動作を行う。
【００２９】
次に、この無線通信装置１における主データの正常に書き込まれなかった場合に、次の主データを書き込む動作について説明する。電源喪失による主データの書き込み異常は、次の５つのパターンで起こりうる。
（１）第１コード（ＳＴＡＲＴ）を書き込むときに異常が発生する場合
（２）主データを書き込んでいる間に異常が発生する場合
（３）第２コード（ＥＮＤ）を書き込むときに異常が発生する場合
（４）現在アドレスを更新しているときに異常が発生する場合
（５）バックアップアドレスを更新するときに異常が発生する場合
【００３０】
図６は、第１コード（ＳＴＡＲＴ）を書き込むときに異常が発生したときの状態を示す。１つ前の主データは正常に記録されているので、第１コード（ＳＴＡＲＴ）の書き込みに失敗したブロックの１つ前のブロックには第２コード（ＥＮＤ）が記録されている。また、第２コード（ＥＮＤ）が正常に記録されているので、第２領域２２には、第１コード（ＳＴＡＲＴ）の書き込みに失敗したブロックのアドレスが現在アドレス及びバックアップアドレスとして記録されていて、これら現在アドレス及びバックアップアドレスは健在である。電源が回復すると、制御部１３によるデータの書き込み動作がリセットされる。その際、通信部１１からデータが出力され続けていると、制御部１３は、第２領域２２に記録されている現在アドレスに基づいて、そのアドレスが示すブロック、すなわち、第１コード（ＳＴＡＲＴ）の書き込みに失敗したブロックの１つ前のブロックを検索する。現在アドレスが示すブロックの１つ前のブロックには第２コード（ＥＮＤ）が記録されているので、制御部１３は、前回の主データの記録が正常に終了しているものと判断して、現在アドレスが示すブロックに、新たな第１コード（ＳＴＡＲＴ）を上書きする（図５に示す場合と同様）。そして、第１コード（ＳＴＡＲＴ）の上書きが終了すると、制御部１３は、次のブロックから順に主データ、第２コード（ＥＮＤ）を書き込む（図３及び図４参照）。この場合、電源喪失中のデータは失われ、また第１コード（ＳＴＡＲＴ）が記録されたブロックの上書き回数が増加するものの、電源回復後、直ちに録音を再開することができる。
【００３１】
図７は、主データを書き込んでいる間に異常が発生したときの状態を示す。主データの書き込みが進むにつれて、データが書き込まれつつあるブロックが移動し、それに伴って現在アドレスも順次更新されている。主データの書き込み中に電源喪失が生じ、その後電源が回復すると、制御部１３によるデータの書き込み動作がリセットされる。その際、通信部１１からデータが出力され続けていると、制御部１３は、第２領域２２に記録されている現在アドレスに基づいて、そのアドレスが示すブロック、すなわち、主データの書き込みに失敗したブロックの１つ前のブロックを検索する。この場合、現在アドレスが示すブロックの１つ前のブロックには第２コード（ＥＮＤ）が記録されていないので、制御部１３は、前回の主データの記録が正常に終了していないものと判断して、バックアップアドレスの示すブロックに、新たな第１コード（ＳＴＡＲＴ）を上書きする（図５に示す場合と同様）。そして、第１コード（ＳＴＡＲＴ）の上書きが終了すると、制御部１３は、次のブロックから順に主データ、第２コード（ＥＮＤ）を書き込む（図３及び図４参照）。この場合、電源喪失中のデータは失われ、また第１コード（ＳＴＡＲＴ）及び電源喪失が生じるまでデータが記録されたブロックの上書き回数が増加するものの、電源回復後、直ちに録音を再開することができる。
【００３２】
図８は、第２コード（ＥＮＤ）を書き込むときに異常が発生したときの状態を示す。主データの書き込みが完了し、続いて第２コード（ＥＮＤ）を書き込むときに電源喪失が生じると、制御部１３によるデータの書き込み動作は事実上終了する。その際、第２領域に記録されている現在アドレスは、その第２コード（ＥＮＤ）を書き込もうとしたブロックのアドレスに更新されているが、バックアップデータは更新されておらず、直前の第１コード（ＳＴＡＲＴ）が記録されたブロックのアドレスを示している。その後電源が回復し、制御部１３による新たなデータの書き込み動作が開始されると、制御部１３は、第２領域２２に記録されている現在アドレスに基づいて、そのアドレスが示すブロック、すなわち、第２コード（ＥＮＤ）の書き込みに失敗したブロックの１つ前のブロックを検索する。この場合、現在アドレスが示すブロックの１つ前のブロックには第２コード（ＥＮＤ）が記録されていないので、制御部１３は、前回の主データの記録が正常に終了していないものと判断して、バックアップアドレスの示すブロックに、新たな第１コード（ＳＴＡＲＴ）を上書きする（図５に示す場合と同様）。そして、第１コード（ＳＴＡＲＴ）の上書きが終了すると、制御部１３は、次のブロックから順に主データ、第２コード（ＥＮＤ）を書き込む（図３及び図４参照）。この場合、１つ前の主データは正常に記録されたものの、その主データは第１コード（ＳＴＡＲＴ）と第２コード（ＥＮＤ）で挟まれていないので、その主データは新たな主データによって上書きされて失われる。また、第１コード（ＳＴＡＲＴ）及び主データが記録されたブロックの上書き回数が増加するものの、電源回復後、直ちに録音を再開することができる。
【００３３】
図９は、現在アドレスを第２領域２２に書き込む（更新する）ときに異常が発生したときの状態を示す。現在アドレスを書き込むときに電源喪失が生じると、第２領域２２に書き込まれた現在アドレスの値が不定となり、どのブロックを示すかわからなくなる。その場合でも、バックアップアドレスは更新されておらず、直前に第１コード（ＳＴＡＲＴ）が記録されたブロックのアドレスを示している。ほとんどの場合、不定の現在アドレスが示すブロックの直前のブロックには第２コード（ＥＮＤ）が記録されていないので、制御部１３は、前回の主データの記録が正常に終了していないものと判断する。その場合の動作は、上記の各場合と同様である。ところが、不定の現在アドレスが、偶然、過去に第１コードが記録されたブロックのアドレスを示すこともあり得る。本来は、現在アドレスの書き込み異常として処理すべきであるが、この場合は、現在アドレスが示すブロックの１つ前のブロックに第２コード（ＥＮＤ）が記録されているので、制御部１３は、前回の主データの記録が正常に終了しているものと判断して、偶然現在アドレスが示したブロックから順に、新たな第１コード（ＳＴＡＲＴ）、主データ、第２コード（ＥＮＤ）を上書きする。この場合、新たなデータが上書きされたブロックに記録されていた過去のデータは失われるが、不定の現在アドレスが、偶然、過去に第１コードが記録されたブロックを示す可能性は、現実には極めて低い。
【００３４】
図１０は、バックアップアドレスを第２領域２２に書き込む（更新する）ときに異常が発生したときの状態を示す。バックアップアドレスを書き込むときに電源喪失が生じると、第２領域２２に書き込まれるバックアップアドレスの値が不定となり、どのブロックを示すかわからなくなる。ところが、バックアップアドレスの更新よりも前に現在アドレスが更新されており、更新された現在アドレスは健在である。従って、電源回復後、制御部１３による新たなデータの書き込み動作が開始されると、制御部１３は、第２領域２２に記録されている現在アドレスに基づいて、そのアドレスが示すブロックの１つ前のブロックを検索する。この場合、現在アドレスが示すブロックの１つ前のブロックには第２コード（ＥＮＤ）が記録されているので、制御部１３は、前回の主データの記録が正常に終了しているものと判断して、バックアップアドレスを現在アドレスに更新し、新たな第１コード（ＳＴＡＲＴ）、主データ、第２コード（ＥＮＤ）の書き込みを行う。
【００３５】
このように、本実施形態に係る無線通信装置１によれば、電源１７の喪失によって、そのとき記録部１２の不揮発性メモリの第１領域２１に書き込まれつつあった主データは失われ、再生することができないものの、次に新たな主データを書き込む際には、不揮発性メモリの第２領域２２に記録されているバックアップアドレスが示すブロックなどから、書き込みを実行することができる。
【００３６】
上記実施形態によれば、電源喪失による主データの書き込み失敗が生じた場合、不揮発性メモリの第１領域２１のうちバックアップアドレスなどが示すアドレスのブロックは、通常のブロックよりも多くデータが上書きされることになる。また、フラッシュメモリなどの不揮発性メモリは、その上書き回数が制限されているが、一般的に１０５回程度保証されている。前述のように、この無線通信装置１では、不揮発性メモリをリングバッファとして使用する場合、１回の書き込みで１００時間程度連続して録音が可能である。そのため、この無線通信装置１を、不揮発性メモリが使用不能になるまで使用したと仮定すると、１００（時間）×１０５（上書き回数）÷３６５（日）÷２４（時間）≒１１４０（年）となる。この値は、通常の無線通信装置の耐用期間を遙かに超えるものであり、不揮発性メモリの第１領域２１の上書き回数は、事実上無視することができる。
【００３７】
一方、不揮発性メモリの第２領域２２に記録される現在アドレスは、データが書き込まれつつあるブロックが移動するたびに更新されるので、不揮発性メモリの第１領域２１の容量を前述の１Ｇビット（１２８Ｍバイト）と仮定して、第１領域２１を８ビット（１バイト）ごとにブロックに分割したとすると、第１領域２１がその領域の先頭から最後まで使用される間に現在データは１０６（回）更新されることになる。現在アドレスを、毎回第２領域２２の同じブロックに上書きしたとすると、第１領域２１をリングバッファとして１回使用しただけで、第２領域２２の特定ブロックの上書き可能回数を超えてしまう可能性がある。そのため、第２領域２２としてある程度の容量（ブロック数）を確保しておき、第２領域２２をリングバッファとして使用し、現在アドレス及びバックアップアドレスを毎回異なる領域に書き込むようにしてもよい。
【００３８】
また、上記説明において、図６乃至図１０に示す、電源喪失による主データの書き込み異常が発生する５つのパターンのうち、図１０に示すバックアップアドレスを更新するときに異常が発生する場合を除いては、バックアップアドレスが健在であれば、現在アドレスが失われていても、バックアップアドレスが示すブロックから主データの書き込みを再開することができる。また、図１０に示す場合、バックアップアドレスよりも先に現在アドレスが更新されているので、正常に主データが書き込まれた場合と実質的に差はない。
【００３９】
上記実施形態では、現在アドレスの直前に第２コード（ＥＮＤ）が記録されているか否かによって、主データが正常に記録されているか否かを判断しているが、不揮発性メモリの第２領域２２に記録されている現在アドレスとバックアップアドレスが一致するか否かを判断することによって、主データが正常に記録されているか否かを判断することも可能である。すなわち、第１コード（ＳＴＡＲＴ）、主データ、第２コード（ＥＮＤ）の順に、書き込みが正常に終了した場合にのみ、現在アドレスとバックアップアドレスが一致する。この方法によっても、バックアップアドレスの書き込み中に電源喪失が発生した場合を除いて、電源回復後、直ちに次の主データの書き込みを行うことができる。
【００４０】
なお、本発明は上記録音機能を有する無線通信装置に限定されるものではなく、無線通信装置から無線通信機能を省略した記録装置として、又は不揮発性メモリへの記録方法として応用することが可能である。記録装置としては、前述のフライトレコーダ（ドライブレコーダ）やボイスレコーダに使用することが可能である。
【符号の説明】
【００４１】
１  録音機能を有する無線通信装置
２  基地局又は他の無線通信装置
１１  通信部
１２  記憶部
１３  制御部
１７  電源
２１  第１領域（記録領域）
２２  第２領域（他の領域）
【図１】
0006311560.tif 000002
【図２】
0006311560.tif 000003
【図３】
0006311560.tif 000004
【図４】
0006311560.tif 000005
【図５】
0006311560.tif 000006
【図６】
0006311560.tif 000007
【図７】
0006311560.tif 000008
【図８】
0006311560.tif 000009
【図９】
0006311560.tif 000010
【図１０】
0006311560.tif 000011