記録媒体、光伝送モジュール、データ保存方法及びメモリ管理装置
【課題】不揮発メモリへ書き込み中に電源等が断たれた場合であっても、より最新のデータ情報を利用可能な記録媒体を提供する。
【解決手段】データ保存方法は、書込み要求されたデータと揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップ(S11)と、データ変更判定ステップにおいて肯定的な判定の場合に、揮発性ユーザデータ領域の対応するアドレスに書込みを行う揮発性領域書込みステップ(S12)と、パリティビットを生成し、変更の内容を第1不揮発性バッファ領域にデータ毎に保存すると共に、保存先を示すアドレスを逐次変更する第1変更内容保存ステップ(S13,S14)と、第1不揮発性バッファ領域へ保存量が所定量に達した場合に、揮発性ユーザデータ領域のデータを第2不揮発性ユーザデータ領域にデータ毎に複製保存する第1複製保存ステップ(S16)と、を備える。
【解決手段】データ保存方法は、書込み要求されたデータと揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップ(S11)と、データ変更判定ステップにおいて肯定的な判定の場合に、揮発性ユーザデータ領域の対応するアドレスに書込みを行う揮発性領域書込みステップ(S12)と、パリティビットを生成し、変更の内容を第1不揮発性バッファ領域にデータ毎に保存すると共に、保存先を示すアドレスを逐次変更する第1変更内容保存ステップ(S13,S14)と、第1不揮発性バッファ領域へ保存量が所定量に達した場合に、揮発性ユーザデータ領域のデータを第2不揮発性ユーザデータ領域にデータ毎に複製保存する第1複製保存ステップ(S16)と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録媒体、光伝送モジュール、データ保存方法及びメモリ管理装置に関する。
【背景技術】
【0002】
外部からデータ保存処理が可能な機能を有する光伝送モジュール等の不揮発性メモリを使用する装置においては、不揮発性メモリへのデータ保存中に装置又は不揮発性メモリの電源が瞬停電された際、データが消去、または破壊されないように内部に電源電圧保持回路が必要であるが、価格や実装スペースの制約により電源電圧保持回路が搭載できない場合がある。この場合、マイクロプロセッサや不揮発メモリを使用してこれを回避することがある。例えば、下記の特許文献1にはマイクロプロセッサを使用しファームウェアのデータ破壊を防ぐ技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−004608号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、不揮発メモリの種類によっては決められたセクタ領域が大きく、書き込みに不必要なセクタ領域全てを消去しデータを書き込む必要がある。この場合、データ書き込みに不必要な領域も消去し、データ情報を書き込む必要があり、データ情報の書き込み回数によっては不揮発性メモリの上書きの上限回数に達する可能性が高い。また、セクタ領域が大きいと消去または書き込み処理時間が長くなり、光信号の送受信を行う送受信制御部の動作に影響を及ぼす可能性がある。
【0005】
本発明は上述の事情に鑑みてされたものであり、不揮発メモリへ書き込み中に電源等が断たれた場合であっても、より最新のデータ情報を利用可能とすると共に、不揮発メモリへの保存回数の制約のリスクを低減させる記録媒体、光伝送モジュール、データ保存方法及びメモリ管理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の記録媒体は、書込み要求されたデータと、前記書込み要求されたアドレスに対応する揮発性メモリの領域である揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップと、前記データ変更判定ステップにおいて肯定的な判定の場合に、前記揮発性ユーザデータ領域の前記対応するアドレスに書込みを行う揮発性領域書込みステップと、前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第1不揮発性ユーザデータ領域及び第1不揮発性バッファ領域のうち、前記第1不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第1変更内容保存ステップと、前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリの領域である第2不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第1複製保存ステップと、前記第1複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第2不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第2変更内容保存ステップと、前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリである前記第1不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第2複製保存ステップと、を実行させ、前記第2複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合には、再び前記第1変更内容保存ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0007】
ここで「有効であるかを示す値」は、単独の値により有効であることを示すものであってもよいし、複数の値により有効であることを示すものであってもよい。
【0008】
また、本発明の記録媒体においては、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効であるか、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効であるか、を判定する不揮発性領域判定ステップと、前記不揮発性領域判定ステップにおいて、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効と判定された場合に、前記第1不揮発性ユーザデータ領域に複製保存されたデータに、前記第1不揮発性バッファ領域に保存された変更内容をデータ毎にパリティビットにて判定後反映させて、前記揮発性ユーザデータ領域に書込み、前記不揮発性領域判定ステップにおいて、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効と判定された場合に、前記第2不揮発性ユーザデータ領域に複製保存されたデータに、前記第2不揮発性バッファ領域に保存された変更内容をデータ毎にパリティビットにて判定後反映させて、前記揮発性ユーザデータ領域に書込む揮発性領域再現ステップと、を更に実行させるためのプログラムが記録された記録媒体とすることができる。
【0009】
また、本発明の記録媒体において、前記第2複製保存ステップでは、更に、前記複製保存の前に、不揮発性メモリに消去した回数として保存された第1消去回数を読み出し、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域を消去し、前記第1消去回数に1を加えた数を前記第1消去回数として不揮発性メモリに保存し、前記第1複製保存ステップでは、更に、前記複製保存の前に、不揮発性メモリに消去した回数として保存された第2消去回数を読み出し、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域を消去し、前記第2消去回数に1を加えた数を前記第2消去回数として不揮発性メモリに保存し、前記不揮発性領域判定ステップでは、前記第1消去回数及び前記第2消去回数を比較し、前記第1消去回数の方が少ない場合には、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効であると判定し、前記第2消去回数の方が少ない場合には、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効であると判定する、ことを特徴とするプログラムを記録した記録媒体であってもよい。
【0010】
本発明の光伝送モジュールは、上述のいずれかに記載のコンピュータ読み取り可能な記録媒体と、前記揮発性ユーザデータ領域の内容により動作を制御され、電気信号と光信号の相互変換を行う送受信制御部と、を備えることを特徴とする光伝送モジュールである。
【0011】
本発明のデータ保存方法は、書込み要求されたデータと、前記書込み要求されたアドレスに対応する揮発性メモリの領域である揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップと、前記データ変更判定ステップにおいて、肯定的な判定の場合に、前記揮発性ユーザデータ領域の前記対応するアドレスに書込みを行う揮発性領域書込みステップと、前記データ変更判定ステップにおいて、肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第1不揮発性ユーザデータ領域及び第1不揮発性バッファ領域のうち、前記第1不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第1変更内容保存ステップと、前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリの領域である第2不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第1複製保存ステップと、前記第1複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第2不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第2変更内容保存ステップと、前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリである前記第1不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第2複製保存ステップと、を備え、前記第2複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合には、再び前記第1変更内容保存ステップが行われることを特徴とするデータ保存方法である。
【0012】
本発明のメモリ管理装置は、書込み要求されたデータと、前記書込み要求されたアドレスに保存されたデータとを比較し、変更があると判定された場合に、前記書込み要求されたデータが対応するアドレスに保存される揮発性メモリの領域である揮発性ユーザデータ領域と、不揮発性メモリの領域であり、第1不揮発性バッファ領域と、第1不揮発性ユーザデータ領域と、第1管理領域とを有する第1領域と、不揮発性メモリの領域であり、第2不揮発性バッファ領域と、第2不揮発性ユーザデータ領域と、第2管理領域とを有する第2領域と、を備え、前記第1管理領域と前記第2管理領域とには、前記第1領域及び前記第2領域のいずれが有効であるかを示す値が保存され、前記第1不揮発性バッファ領域には、第1領域が有効である場合で、前記変更があると判定されたときに、変更するデータとアドレスを関連付けたパリティビットと共に、変更の内容が逐次保存先アドレスを変更して保存され、前記第2不揮発性バッファ領域には、第2領域が有効である場合で、前記変更があると判定されたときに、変更するデータとアドレスを関連付けたパリティビットと共に、変更の内容が逐次保存先アドレスを変更して保存され、前記第1不揮発性ユーザデータ領域には、第2領域が有効である場合で、前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータが、パリティビットを使用してデータ毎にチェックされた後、複製保存され、前記第2不揮発性ユーザデータ領域には、第1領域が有効である場合で、前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータが、パリティビットを使用してデータ毎にチェックされた後、複製保存され、前記第1管理領域と前記第2管理領域とに保存された前記第1領域及び前記第2領域のいずれか一方が有効である旨を示す値は、前記複製保存時にいずれか他方が有効である旨を示す値に書換えられる、ことを特徴とするメモリ管理装置である。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態に係る光伝送モジュールについて概略的に示す図である。
【図2】図1のデータ制御部の詳細について示す図である。
【図3】揮発性メモリの第1管理領域及び第1バッファ領域のメモリマップについて示す図である。
【図4】データ制御部における書込み処理について示すフローチャートである。
【図5】第1管理領域及び第2管理領域の各フラグの値の遷移の様子を示す図である。
【図6】光伝送モジュール起動時に有効とする領域を判定するためのフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、図面において、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【0015】
図1は、本発明の一実施形態に係る光伝送モジュール100について概略的に示す図である。この図に示されるように、光伝送モジュール100は、外部装置200から入力した電気信号103を光信号104に変換して出力すると共に、入力した光信号105を電気信号106に変換して外部装置200に出力する送受信制御部102と、制御線202を介して外部装置200からの指令により、送受信制御部102の状態値の読み出しや制御パラメータの読み出し及び書込みを行うデータ制御部110とを備えている。
【0016】
図2には、図1のデータ制御部110の詳細が示されている。データ制御部110は、外部装置200との信号の送受信を行う外部通信部113と、送受信制御部102への制御信号を送信する送受信制御部通信部114と、電源をOFFした際にも記憶された内容を保持する不揮発性メモリ130と、電源をOFFした際に記憶された内容は消去される揮発性メモリ120と、外部通信部113、送受信制御部通信部114、不揮発性メモリ130及び揮発性メモリ120をデータバス112を介して統括的に制御する中央処理装置(CPU)111と、を備えている。なお、中央処理装置111は、不図示のプログラムを実行することにより動作する。
【0017】
不揮発性メモリ130は、第1領域140及び第2領域150を有しており、第1領域140は、送受信制御部102を制御するためのパラメータである制御パラメータ等が保存された第1不揮発性ユーザデータ領域141と、外部装置200からの書換え命令によりユーザデータの変更内容について、アドレスと共に一時保存する第1バッファ領域142と、第1バッファ領域142の使用の状態を保持する第1管理領域143とを備えている。また、第2領域150も第1領域と同様に、第2不揮発性ユーザデータ領域151、第2バッファ領域152及び第2管理領域153を備えている。
【0018】
なお、本実施形態において使用される不揮発性メモリ130は、第1領域140及び第2領域をそれぞれ1つのセクタとしており、一度書込まれたデータの消去は各セクタ毎に行うことができる。消去後のデータは各ビットが1となる。つまり16ビットでは消去により0xFFFFとなり、消去された領域には2バイト(16ビット)毎にデータの書込みを行うことができることとしている。なお、不揮発性メモリ130はこのような仕様に限られず、電源OFF時においても記憶内容を失わないメモリであれば、利用することができる。
【0019】
揮発性メモリ120は、外部装置200からの書換え命令の内容が反映された最新の制御パラメータが保存された揮発性ユーザデータ領域122を有している。
【0020】
図3は、第1領域140のメモリマップの具体例について示す図である。なお、第2領域150も同様のメモリマップを有している。この図に示されるように、第1領域140の第1管理領域143には、それぞれ16ビットのデータからなる有効フラグ、書込み中フラグ、非選択フラグ及び消去回数の領域が確保されている。また、第1領域140の第1バッファ領域142は、変更すべきユーザデータ領域のアドレス、そのアドレスに記録されるデータ及びパリティビットにより構成されており、外部装置200からの書込み要求により、変更が必要となった分のみが記録され、指定されたアドレスのデータが同じであり変更を要しない場合には記録されない。ここで、第1バッファ領域142のデータ更新エラーの判定に用いられるものはパリティビットとしたが、アドレスとデータを関連付けたチェックサム等を判定に用いても良い。
【0021】
図4には、データ制御部110において、外部装置200から書込み命令を受信した際に実行される書込み処理について示すフローチャートである。このフローチャートに示されるように、書込み処理では、まず、ステップS11において、書込みが要求されたアドレスに対応する揮発性ユーザデータ領域122のデータと、書込みが要求されたデータとを比較し、変更があるかどうかを判定する。ここで、変更がないという否定的な判定の場合には、そのまま処理を終了する。変更があるとする肯定的な判定の場合には、ステップS12に進み、揮発性ユーザデータ領域122の対応するアドレスにそのデータを上書きする。引き続き、ステップS13において、第1領域140及び第2領域150のいずれが有効な領域であるかを判定し、有効な領域のバッファ領域にアドレス及びデータを書込む。有効な領域の判定方法については後述する。次に、ステップS14において、バッファ領域のアドレスポインタを1つ増加させ、ステップS15において増加されたアドレスポインタ値が最大ポインタ値に達しているかどうかを判定する。ここで、否定的な判定の場合には、そのまま処理を終了する。一方、肯定的な判定の場合には、ステップS16において、有効な領域が第1領域140である場合には、第2領域150のセクタを消去すると共に、揮発性ユーザデータ領域122のデータを第2不揮発性ユーザデータ領域151に書込む。この際に、第2管理領域153の消去回数の値を1増加させて書込む。有効な領域が第2領域150である場合には、第1領域140のセクタを消去すると共に、揮発性ユーザデータ領域122のデータを第1不揮発性ユーザデータ領域141に書込む。この際に、第1管理領域143の消去回数の値を1増加させて書込む。
【0022】
引き続き、ステップS17において、有効な領域をステップS16で書込みを行った領域に変更し、処理を終了する。各バッファ領域の有効/無効に係る第1管理領域143又は第2管理領域153の各フラグの値の変化については図5を用いて説明する。
【0023】
図5は、図4のフローチャートにおいて、第1バッファ領域142が最大ポインタ値となり、有効な領域が第1領域140から第2領域150に変化する場合の、データ第1管理領域143及び第2管理領域153の各フラグの値の遷移の様子を示す図である。ここで各フラグの値は、前述したようにセクタ消去時に16進数の値0xFFFFにリセットされ、値0x0000の書込みが1度のみ行われる。有効な領域の判定方法については後述するが、ステップS21〜S23では、第1領域140が有効であり、ステップS24及びS25では、第2領域が有効となっている。
【0024】
ステップS21では、第1管理領域143の有効フラグ、書込み中フラグ及び非選択フラグは、16進数でそれぞれ0x0000、0xFFFF、0xFFFFであり、第1バッファ領域142に揮発性ユーザデータ領域122の変更箇所が逐次書込まれている状態となっている。一方、第2管理領域153の非選択フラグは0x0000であり、第2領域150は有効になっていない。
【0025】
ステップS22には、第1バッファ領域142のアドレスポインタ値が最大ポインタ値に達した場合について示されている。ここで、第1管理領域143の書込中フラグには16進数で0x0000が書込まれ、第1バッファ領域142の変更データが第2不揮発性ユーザデータ領域151に書込まれている又は書込まれる準備をしていることを意味している。ステップS23には、第2領域150のセクタが消去されたときの様子が示されている。上述したように、第2領域150は、消去されたことにより、すべて16進数で0xFFFFになっている。
【0026】
ステップS24では、揮発性ユーザデータ領域122のデータが第2不揮発性ユーザデータ領域151へ複製され、第2管理領域153の有効フラグに0x0000が書込まれ、た様子が示されている。この状態では、第2領域150が有効になっている。ステップS25では、第1領域140が既に有効でないことを示すため、第1管理領域143の非選択フラグに0x0000が書込まれる。
【0027】
図6には、光伝送モジュール起動時に有効とする領域を判定するためのフローチャートが示されている。このフローチャートに示されるように、まず、ステップS31において、第1領域140及び第2領域150の非選択フラグを比較する。ここで、非選択フラグが互いに異なる場合には、ステップS33に進み、非選択フラグが0xFFFFの領域を有効とする。また、非選択フラグの両方が0x0000の場合には、ステップS32に進み、初期化が失敗したと判定し、起動を行わない。非選択フラグの両方が0xFFFFである場合には、ステップS34に進む。
【0028】
ステップS34では、第1領域140及び第2領域150の有効フラグを比較する。ここで、有効フラグが互いに異なる場合には、ステップS35に進み、有効フラグが0x0000の領域を有効とする。また、有効フラグの両方が0xFFFFの場合には、ステップS36に進み、管理領域に保存された消去回数の少ない領域を有効とし、有効フラグの両方が0x0000である場合には、ステップS37に進む。
【0029】
ステップS37では、第1領域140及び第2領域150の書込中フラグを比較する。ここで、書込中フラグが互いに異なる場合には、ステップS38に進み、書込中フラグが0xFFFFの領域を有効とする。また、有効フラグの両方が同じ値を示している場合には、ステップS36に進み、管理領域に保存された消去回数の少ない領域を有効とする。
【0030】
このフローにより、有効である領域が決定した場合には、有効である領域のユーザデータ領域の値にバッファ領域に保存された変更を反映させて、揮発性ユーザデータ領域122に書込み、起動する。このような判定方法を用いることにより、図5のいずれかのステップにおいて電源が瞬断されたときであっても、次の起動時に適切な領域を選択することができる。
【0031】
以上説明したように、本実施形態では、不揮発メモリへの書き込み中に電源瞬断等が発生した場合でも、最新のデータを保持することが可能である。
【0032】
また、本実施形態では、書き込み処理時にユーザデータ領域と差異があった場合のみ、そのアドレスとデータを関連付けて保存し、書き込み用バッファ領域が一杯となったときにユーザデータ領域に書き込みを行うため、不揮発性メモリの書込み回数を低減することができると共に、不揮発性メモリへの書き込み処理時間を短縮することができる。
【0033】
なお、本実施形態においては、光伝送モジュールを例としたが、不揮発性メモリを使用するその他の装置に適用することができる。
【0034】
また、本発明は上記の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で多様な変更、変形または置換が可能である。
【符号の説明】
【0035】
100 光伝送モジュール、102 送受信制御部、103 電気信号、104 光信号、105 光信号、106 電気信号、110 データ制御部、111 中央処理装置、112 データバス、113 外部通信部、114 送受信制御部通信部、120 揮発性メモリ、122 揮発性ユーザデータ領域、130 不揮発性メモリ、140 第1領域、141 第1不揮発性ユーザデータ領域、142 第1バッファ領域、143 第1管理領域、150 第2領域、151 第2不揮発性ユーザデータ領域、152 第2バッファ領域、153 第2管理領域、200 外部装置、202 制御線。
【技術分野】
【0001】
本発明は、記録媒体、光伝送モジュール、データ保存方法及びメモリ管理装置に関する。
【背景技術】
【0002】
外部からデータ保存処理が可能な機能を有する光伝送モジュール等の不揮発性メモリを使用する装置においては、不揮発性メモリへのデータ保存中に装置又は不揮発性メモリの電源が瞬停電された際、データが消去、または破壊されないように内部に電源電圧保持回路が必要であるが、価格や実装スペースの制約により電源電圧保持回路が搭載できない場合がある。この場合、マイクロプロセッサや不揮発メモリを使用してこれを回避することがある。例えば、下記の特許文献1にはマイクロプロセッサを使用しファームウェアのデータ破壊を防ぐ技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−004608号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、不揮発メモリの種類によっては決められたセクタ領域が大きく、書き込みに不必要なセクタ領域全てを消去しデータを書き込む必要がある。この場合、データ書き込みに不必要な領域も消去し、データ情報を書き込む必要があり、データ情報の書き込み回数によっては不揮発性メモリの上書きの上限回数に達する可能性が高い。また、セクタ領域が大きいと消去または書き込み処理時間が長くなり、光信号の送受信を行う送受信制御部の動作に影響を及ぼす可能性がある。
【0005】
本発明は上述の事情に鑑みてされたものであり、不揮発メモリへ書き込み中に電源等が断たれた場合であっても、より最新のデータ情報を利用可能とすると共に、不揮発メモリへの保存回数の制約のリスクを低減させる記録媒体、光伝送モジュール、データ保存方法及びメモリ管理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の記録媒体は、書込み要求されたデータと、前記書込み要求されたアドレスに対応する揮発性メモリの領域である揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップと、前記データ変更判定ステップにおいて肯定的な判定の場合に、前記揮発性ユーザデータ領域の前記対応するアドレスに書込みを行う揮発性領域書込みステップと、前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第1不揮発性ユーザデータ領域及び第1不揮発性バッファ領域のうち、前記第1不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第1変更内容保存ステップと、前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリの領域である第2不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第1複製保存ステップと、前記第1複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第2不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第2変更内容保存ステップと、前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリである前記第1不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第2複製保存ステップと、を実行させ、前記第2複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合には、再び前記第1変更内容保存ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0007】
ここで「有効であるかを示す値」は、単独の値により有効であることを示すものであってもよいし、複数の値により有効であることを示すものであってもよい。
【0008】
また、本発明の記録媒体においては、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効であるか、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効であるか、を判定する不揮発性領域判定ステップと、前記不揮発性領域判定ステップにおいて、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効と判定された場合に、前記第1不揮発性ユーザデータ領域に複製保存されたデータに、前記第1不揮発性バッファ領域に保存された変更内容をデータ毎にパリティビットにて判定後反映させて、前記揮発性ユーザデータ領域に書込み、前記不揮発性領域判定ステップにおいて、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効と判定された場合に、前記第2不揮発性ユーザデータ領域に複製保存されたデータに、前記第2不揮発性バッファ領域に保存された変更内容をデータ毎にパリティビットにて判定後反映させて、前記揮発性ユーザデータ領域に書込む揮発性領域再現ステップと、を更に実行させるためのプログラムが記録された記録媒体とすることができる。
【0009】
また、本発明の記録媒体において、前記第2複製保存ステップでは、更に、前記複製保存の前に、不揮発性メモリに消去した回数として保存された第1消去回数を読み出し、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域を消去し、前記第1消去回数に1を加えた数を前記第1消去回数として不揮発性メモリに保存し、前記第1複製保存ステップでは、更に、前記複製保存の前に、不揮発性メモリに消去した回数として保存された第2消去回数を読み出し、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域を消去し、前記第2消去回数に1を加えた数を前記第2消去回数として不揮発性メモリに保存し、前記不揮発性領域判定ステップでは、前記第1消去回数及び前記第2消去回数を比較し、前記第1消去回数の方が少ない場合には、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効であると判定し、前記第2消去回数の方が少ない場合には、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効であると判定する、ことを特徴とするプログラムを記録した記録媒体であってもよい。
【0010】
本発明の光伝送モジュールは、上述のいずれかに記載のコンピュータ読み取り可能な記録媒体と、前記揮発性ユーザデータ領域の内容により動作を制御され、電気信号と光信号の相互変換を行う送受信制御部と、を備えることを特徴とする光伝送モジュールである。
【0011】
本発明のデータ保存方法は、書込み要求されたデータと、前記書込み要求されたアドレスに対応する揮発性メモリの領域である揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップと、前記データ変更判定ステップにおいて、肯定的な判定の場合に、前記揮発性ユーザデータ領域の前記対応するアドレスに書込みを行う揮発性領域書込みステップと、前記データ変更判定ステップにおいて、肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第1不揮発性ユーザデータ領域及び第1不揮発性バッファ領域のうち、前記第1不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第1変更内容保存ステップと、前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリの領域である第2不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第1複製保存ステップと、前記第1複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第2不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第2変更内容保存ステップと、前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリである前記第1不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第2複製保存ステップと、を備え、前記第2複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合には、再び前記第1変更内容保存ステップが行われることを特徴とするデータ保存方法である。
【0012】
本発明のメモリ管理装置は、書込み要求されたデータと、前記書込み要求されたアドレスに保存されたデータとを比較し、変更があると判定された場合に、前記書込み要求されたデータが対応するアドレスに保存される揮発性メモリの領域である揮発性ユーザデータ領域と、不揮発性メモリの領域であり、第1不揮発性バッファ領域と、第1不揮発性ユーザデータ領域と、第1管理領域とを有する第1領域と、不揮発性メモリの領域であり、第2不揮発性バッファ領域と、第2不揮発性ユーザデータ領域と、第2管理領域とを有する第2領域と、を備え、前記第1管理領域と前記第2管理領域とには、前記第1領域及び前記第2領域のいずれが有効であるかを示す値が保存され、前記第1不揮発性バッファ領域には、第1領域が有効である場合で、前記変更があると判定されたときに、変更するデータとアドレスを関連付けたパリティビットと共に、変更の内容が逐次保存先アドレスを変更して保存され、前記第2不揮発性バッファ領域には、第2領域が有効である場合で、前記変更があると判定されたときに、変更するデータとアドレスを関連付けたパリティビットと共に、変更の内容が逐次保存先アドレスを変更して保存され、前記第1不揮発性ユーザデータ領域には、第2領域が有効である場合で、前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータが、パリティビットを使用してデータ毎にチェックされた後、複製保存され、前記第2不揮発性ユーザデータ領域には、第1領域が有効である場合で、前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータが、パリティビットを使用してデータ毎にチェックされた後、複製保存され、前記第1管理領域と前記第2管理領域とに保存された前記第1領域及び前記第2領域のいずれか一方が有効である旨を示す値は、前記複製保存時にいずれか他方が有効である旨を示す値に書換えられる、ことを特徴とするメモリ管理装置である。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態に係る光伝送モジュールについて概略的に示す図である。
【図2】図1のデータ制御部の詳細について示す図である。
【図3】揮発性メモリの第1管理領域及び第1バッファ領域のメモリマップについて示す図である。
【図4】データ制御部における書込み処理について示すフローチャートである。
【図5】第1管理領域及び第2管理領域の各フラグの値の遷移の様子を示す図である。
【図6】光伝送モジュール起動時に有効とする領域を判定するためのフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、図面において、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【0015】
図1は、本発明の一実施形態に係る光伝送モジュール100について概略的に示す図である。この図に示されるように、光伝送モジュール100は、外部装置200から入力した電気信号103を光信号104に変換して出力すると共に、入力した光信号105を電気信号106に変換して外部装置200に出力する送受信制御部102と、制御線202を介して外部装置200からの指令により、送受信制御部102の状態値の読み出しや制御パラメータの読み出し及び書込みを行うデータ制御部110とを備えている。
【0016】
図2には、図1のデータ制御部110の詳細が示されている。データ制御部110は、外部装置200との信号の送受信を行う外部通信部113と、送受信制御部102への制御信号を送信する送受信制御部通信部114と、電源をOFFした際にも記憶された内容を保持する不揮発性メモリ130と、電源をOFFした際に記憶された内容は消去される揮発性メモリ120と、外部通信部113、送受信制御部通信部114、不揮発性メモリ130及び揮発性メモリ120をデータバス112を介して統括的に制御する中央処理装置(CPU)111と、を備えている。なお、中央処理装置111は、不図示のプログラムを実行することにより動作する。
【0017】
不揮発性メモリ130は、第1領域140及び第2領域150を有しており、第1領域140は、送受信制御部102を制御するためのパラメータである制御パラメータ等が保存された第1不揮発性ユーザデータ領域141と、外部装置200からの書換え命令によりユーザデータの変更内容について、アドレスと共に一時保存する第1バッファ領域142と、第1バッファ領域142の使用の状態を保持する第1管理領域143とを備えている。また、第2領域150も第1領域と同様に、第2不揮発性ユーザデータ領域151、第2バッファ領域152及び第2管理領域153を備えている。
【0018】
なお、本実施形態において使用される不揮発性メモリ130は、第1領域140及び第2領域をそれぞれ1つのセクタとしており、一度書込まれたデータの消去は各セクタ毎に行うことができる。消去後のデータは各ビットが1となる。つまり16ビットでは消去により0xFFFFとなり、消去された領域には2バイト(16ビット)毎にデータの書込みを行うことができることとしている。なお、不揮発性メモリ130はこのような仕様に限られず、電源OFF時においても記憶内容を失わないメモリであれば、利用することができる。
【0019】
揮発性メモリ120は、外部装置200からの書換え命令の内容が反映された最新の制御パラメータが保存された揮発性ユーザデータ領域122を有している。
【0020】
図3は、第1領域140のメモリマップの具体例について示す図である。なお、第2領域150も同様のメモリマップを有している。この図に示されるように、第1領域140の第1管理領域143には、それぞれ16ビットのデータからなる有効フラグ、書込み中フラグ、非選択フラグ及び消去回数の領域が確保されている。また、第1領域140の第1バッファ領域142は、変更すべきユーザデータ領域のアドレス、そのアドレスに記録されるデータ及びパリティビットにより構成されており、外部装置200からの書込み要求により、変更が必要となった分のみが記録され、指定されたアドレスのデータが同じであり変更を要しない場合には記録されない。ここで、第1バッファ領域142のデータ更新エラーの判定に用いられるものはパリティビットとしたが、アドレスとデータを関連付けたチェックサム等を判定に用いても良い。
【0021】
図4には、データ制御部110において、外部装置200から書込み命令を受信した際に実行される書込み処理について示すフローチャートである。このフローチャートに示されるように、書込み処理では、まず、ステップS11において、書込みが要求されたアドレスに対応する揮発性ユーザデータ領域122のデータと、書込みが要求されたデータとを比較し、変更があるかどうかを判定する。ここで、変更がないという否定的な判定の場合には、そのまま処理を終了する。変更があるとする肯定的な判定の場合には、ステップS12に進み、揮発性ユーザデータ領域122の対応するアドレスにそのデータを上書きする。引き続き、ステップS13において、第1領域140及び第2領域150のいずれが有効な領域であるかを判定し、有効な領域のバッファ領域にアドレス及びデータを書込む。有効な領域の判定方法については後述する。次に、ステップS14において、バッファ領域のアドレスポインタを1つ増加させ、ステップS15において増加されたアドレスポインタ値が最大ポインタ値に達しているかどうかを判定する。ここで、否定的な判定の場合には、そのまま処理を終了する。一方、肯定的な判定の場合には、ステップS16において、有効な領域が第1領域140である場合には、第2領域150のセクタを消去すると共に、揮発性ユーザデータ領域122のデータを第2不揮発性ユーザデータ領域151に書込む。この際に、第2管理領域153の消去回数の値を1増加させて書込む。有効な領域が第2領域150である場合には、第1領域140のセクタを消去すると共に、揮発性ユーザデータ領域122のデータを第1不揮発性ユーザデータ領域141に書込む。この際に、第1管理領域143の消去回数の値を1増加させて書込む。
【0022】
引き続き、ステップS17において、有効な領域をステップS16で書込みを行った領域に変更し、処理を終了する。各バッファ領域の有効/無効に係る第1管理領域143又は第2管理領域153の各フラグの値の変化については図5を用いて説明する。
【0023】
図5は、図4のフローチャートにおいて、第1バッファ領域142が最大ポインタ値となり、有効な領域が第1領域140から第2領域150に変化する場合の、データ第1管理領域143及び第2管理領域153の各フラグの値の遷移の様子を示す図である。ここで各フラグの値は、前述したようにセクタ消去時に16進数の値0xFFFFにリセットされ、値0x0000の書込みが1度のみ行われる。有効な領域の判定方法については後述するが、ステップS21〜S23では、第1領域140が有効であり、ステップS24及びS25では、第2領域が有効となっている。
【0024】
ステップS21では、第1管理領域143の有効フラグ、書込み中フラグ及び非選択フラグは、16進数でそれぞれ0x0000、0xFFFF、0xFFFFであり、第1バッファ領域142に揮発性ユーザデータ領域122の変更箇所が逐次書込まれている状態となっている。一方、第2管理領域153の非選択フラグは0x0000であり、第2領域150は有効になっていない。
【0025】
ステップS22には、第1バッファ領域142のアドレスポインタ値が最大ポインタ値に達した場合について示されている。ここで、第1管理領域143の書込中フラグには16進数で0x0000が書込まれ、第1バッファ領域142の変更データが第2不揮発性ユーザデータ領域151に書込まれている又は書込まれる準備をしていることを意味している。ステップS23には、第2領域150のセクタが消去されたときの様子が示されている。上述したように、第2領域150は、消去されたことにより、すべて16進数で0xFFFFになっている。
【0026】
ステップS24では、揮発性ユーザデータ領域122のデータが第2不揮発性ユーザデータ領域151へ複製され、第2管理領域153の有効フラグに0x0000が書込まれ、た様子が示されている。この状態では、第2領域150が有効になっている。ステップS25では、第1領域140が既に有効でないことを示すため、第1管理領域143の非選択フラグに0x0000が書込まれる。
【0027】
図6には、光伝送モジュール起動時に有効とする領域を判定するためのフローチャートが示されている。このフローチャートに示されるように、まず、ステップS31において、第1領域140及び第2領域150の非選択フラグを比較する。ここで、非選択フラグが互いに異なる場合には、ステップS33に進み、非選択フラグが0xFFFFの領域を有効とする。また、非選択フラグの両方が0x0000の場合には、ステップS32に進み、初期化が失敗したと判定し、起動を行わない。非選択フラグの両方が0xFFFFである場合には、ステップS34に進む。
【0028】
ステップS34では、第1領域140及び第2領域150の有効フラグを比較する。ここで、有効フラグが互いに異なる場合には、ステップS35に進み、有効フラグが0x0000の領域を有効とする。また、有効フラグの両方が0xFFFFの場合には、ステップS36に進み、管理領域に保存された消去回数の少ない領域を有効とし、有効フラグの両方が0x0000である場合には、ステップS37に進む。
【0029】
ステップS37では、第1領域140及び第2領域150の書込中フラグを比較する。ここで、書込中フラグが互いに異なる場合には、ステップS38に進み、書込中フラグが0xFFFFの領域を有効とする。また、有効フラグの両方が同じ値を示している場合には、ステップS36に進み、管理領域に保存された消去回数の少ない領域を有効とする。
【0030】
このフローにより、有効である領域が決定した場合には、有効である領域のユーザデータ領域の値にバッファ領域に保存された変更を反映させて、揮発性ユーザデータ領域122に書込み、起動する。このような判定方法を用いることにより、図5のいずれかのステップにおいて電源が瞬断されたときであっても、次の起動時に適切な領域を選択することができる。
【0031】
以上説明したように、本実施形態では、不揮発メモリへの書き込み中に電源瞬断等が発生した場合でも、最新のデータを保持することが可能である。
【0032】
また、本実施形態では、書き込み処理時にユーザデータ領域と差異があった場合のみ、そのアドレスとデータを関連付けて保存し、書き込み用バッファ領域が一杯となったときにユーザデータ領域に書き込みを行うため、不揮発性メモリの書込み回数を低減することができると共に、不揮発性メモリへの書き込み処理時間を短縮することができる。
【0033】
なお、本実施形態においては、光伝送モジュールを例としたが、不揮発性メモリを使用するその他の装置に適用することができる。
【0034】
また、本発明は上記の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で多様な変更、変形または置換が可能である。
【符号の説明】
【0035】
100 光伝送モジュール、102 送受信制御部、103 電気信号、104 光信号、105 光信号、106 電気信号、110 データ制御部、111 中央処理装置、112 データバス、113 外部通信部、114 送受信制御部通信部、120 揮発性メモリ、122 揮発性ユーザデータ領域、130 不揮発性メモリ、140 第1領域、141 第1不揮発性ユーザデータ領域、142 第1バッファ領域、143 第1管理領域、150 第2領域、151 第2不揮発性ユーザデータ領域、152 第2バッファ領域、153 第2管理領域、200 外部装置、202 制御線。
【特許請求の範囲】
【請求項1】
書込み要求されたデータと、前記書込み要求されたアドレスに対応する揮発性メモリの領域である揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップと、
前記データ変更判定ステップにおいて肯定的な判定の場合に、前記揮発性ユーザデータ領域の前記対応するアドレスに書込みを行う揮発性領域書込みステップと、
前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第1不揮発性ユーザデータ領域及び第1不揮発性バッファ領域のうち、前記第1不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第1変更内容保存ステップと、
前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリの領域である第2不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第1複製保存ステップと、
前記第1複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第2不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第2変更内容保存ステップと、
前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリである前記第1不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第2複製保存ステップと、を実行させ、
前記第2複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合には、再び前記第1変更内容保存ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項2】
請求項1に記載のコンピュータ読み取り可能な記録媒体であって、
前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効であるか、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効であるか、を判定する不揮発性領域判定ステップと、
前記不揮発性領域判定ステップにおいて、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効と判定された場合に、前記第1不揮発性ユーザデータ領域に複製保存されたデータに、前記第1不揮発性バッファ領域に保存された変更内容をデータ毎にパリティビットにて判定後反映させて、前記揮発性ユーザデータ領域に書込み、前記不揮発性領域判定ステップにおいて、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効と判定された場合に、前記第2不揮発性ユーザデータ領域に複製保存されたデータに、前記第2不揮発性バッファ領域に保存された変更内容をデータ毎にパリティビットにて判定後反映させて、前記揮発性ユーザデータ領域に書込む揮発性領域再現ステップと、を更に実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項3】
請求項1又は2に記載のコンピュータ読み取り可能な記録媒体であって、
前記第2複製保存ステップでは、更に、前記複製保存の前に、不揮発性メモリに消去した回数として保存された第1消去回数を読み出し、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域を消去し、前記第1消去回数に1を加えた数を前記第1消去回数として不揮発性メモリに保存し、
前記第1複製保存ステップでは、更に、前記複製保存の前に、不揮発性メモリに消去した回数として保存された第2消去回数を読み出し、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域を消去し、前記第2消去回数に1を加えた数を前記第2消去回数として不揮発性メモリに保存し、
前記不揮発性領域判定ステップでは、前記第1消去回数及び前記第2消去回数を比較し、前記第1消去回数の方が少ない場合には、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効であると判定し、前記第2消去回数の方が少ない場合には、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効であると判定する、ことを特徴とするプログラムを記録した請求項1に記載のコンピュータ読み取り可能な記録媒体。
【請求項4】
請求項1乃至3のいずれか一項に記載のコンピュータ読み取り可能な記録媒体と、
前記揮発性ユーザデータ領域の内容により動作を制御され、電気信号と光信号の相互変換を行う送受信制御部と、を備えることを特徴とする光伝送モジュール。
【請求項5】
書込み要求されたデータと、前記書込み要求されたアドレスに対応する揮発性メモリの領域である揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップと、
前記データ変更判定ステップにおいて、肯定的な判定の場合に、前記揮発性ユーザデータ領域の前記対応するアドレスに書込みを行う揮発性領域書込みステップと、
前記データ変更判定ステップにおいて、肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第1不揮発性ユーザデータ領域及び第1不揮発性バッファ領域のうち、前記第1不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第1変更内容保存ステップと、
前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリの領域である第2不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第1複製保存ステップと、
前記第1複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第2不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第2変更内容保存ステップと、
前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリである前記第1不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第2複製保存ステップと、を備え、
前記第2複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合には、再び前記第1変更内容保存ステップが行われることを特徴とするデータ保存方法。
【請求項6】
書込み要求されたデータと、前記書込み要求されたアドレスに保存されたデータとを比較し、変更があると判定された場合に、前記書込み要求されたデータが対応するアドレスに保存される揮発性メモリの領域である揮発性ユーザデータ領域と、
不揮発性メモリの領域であり、第1不揮発性バッファ領域と、第1不揮発性ユーザデータ領域と、第1管理領域とを有する第1領域と、
不揮発性メモリの領域であり、第2不揮発性バッファ領域と、第2不揮発性ユーザデータ領域と、第2管理領域とを有する第2領域と、を備え、
前記第1管理領域と前記第2管理領域とには、前記第1領域及び前記第2領域のいずれが有効であるかを示す値が保存され、
前記第1不揮発性バッファ領域には、第1領域が有効である場合で、前記変更があると判定されたときに、変更するデータとアドレスを関連付けたパリティビットと共に、変更の内容が逐次保存先アドレスを変更して保存され、
前記第2不揮発性バッファ領域には、第2領域が有効である場合で、前記変更があると判定されたときに、変更するデータとアドレスを関連付けたパリティビットと共に、変更の内容が逐次保存先アドレスを変更して保存され、
前記第1不揮発性ユーザデータ領域には、第2領域が有効である場合で、前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータが、パリティビットを使用してデータ毎にチェックされた後、複製保存され、
前記第2不揮発性ユーザデータ領域には、第1領域が有効である場合で、前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータが、パリティビットを使用してデータ毎にチェックされた後、複製保存され、
前記第1管理領域と前記第2管理領域とに保存された前記第1領域及び前記第2領域のいずれか一方が有効である旨を示す値は、前記複製保存時にいずれか他方が有効である旨を示す値に書換えられる、ことを特徴とするメモリ管理装置。
【請求項1】
書込み要求されたデータと、前記書込み要求されたアドレスに対応する揮発性メモリの領域である揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップと、
前記データ変更判定ステップにおいて肯定的な判定の場合に、前記揮発性ユーザデータ領域の前記対応するアドレスに書込みを行う揮発性領域書込みステップと、
前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第1不揮発性ユーザデータ領域及び第1不揮発性バッファ領域のうち、前記第1不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第1変更内容保存ステップと、
前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリの領域である第2不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第1複製保存ステップと、
前記第1複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第2不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第2変更内容保存ステップと、
前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリである前記第1不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第2複製保存ステップと、を実行させ、
前記第2複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合には、再び前記第1変更内容保存ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項2】
請求項1に記載のコンピュータ読み取り可能な記録媒体であって、
前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効であるか、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効であるか、を判定する不揮発性領域判定ステップと、
前記不揮発性領域判定ステップにおいて、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効と判定された場合に、前記第1不揮発性ユーザデータ領域に複製保存されたデータに、前記第1不揮発性バッファ領域に保存された変更内容をデータ毎にパリティビットにて判定後反映させて、前記揮発性ユーザデータ領域に書込み、前記不揮発性領域判定ステップにおいて、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効と判定された場合に、前記第2不揮発性ユーザデータ領域に複製保存されたデータに、前記第2不揮発性バッファ領域に保存された変更内容をデータ毎にパリティビットにて判定後反映させて、前記揮発性ユーザデータ領域に書込む揮発性領域再現ステップと、を更に実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項3】
請求項1又は2に記載のコンピュータ読み取り可能な記録媒体であって、
前記第2複製保存ステップでは、更に、前記複製保存の前に、不揮発性メモリに消去した回数として保存された第1消去回数を読み出し、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域を消去し、前記第1消去回数に1を加えた数を前記第1消去回数として不揮発性メモリに保存し、
前記第1複製保存ステップでは、更に、前記複製保存の前に、不揮発性メモリに消去した回数として保存された第2消去回数を読み出し、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域を消去し、前記第2消去回数に1を加えた数を前記第2消去回数として不揮発性メモリに保存し、
前記不揮発性領域判定ステップでは、前記第1消去回数及び前記第2消去回数を比較し、前記第1消去回数の方が少ない場合には、前記第1不揮発性ユーザデータ領域及び前記第1不揮発性バッファ領域が有効であると判定し、前記第2消去回数の方が少ない場合には、前記第2不揮発性ユーザデータ領域及び前記第2不揮発性バッファ領域が有効であると判定する、ことを特徴とするプログラムを記録した請求項1に記載のコンピュータ読み取り可能な記録媒体。
【請求項4】
請求項1乃至3のいずれか一項に記載のコンピュータ読み取り可能な記録媒体と、
前記揮発性ユーザデータ領域の内容により動作を制御され、電気信号と光信号の相互変換を行う送受信制御部と、を備えることを特徴とする光伝送モジュール。
【請求項5】
書込み要求されたデータと、前記書込み要求されたアドレスに対応する揮発性メモリの領域である揮発性ユーザデータ領域のアドレスのデータとを比較し、データの変更があるか否かを判定するデータ変更判定ステップと、
前記データ変更判定ステップにおいて、肯定的な判定の場合に、前記揮発性ユーザデータ領域の前記対応するアドレスに書込みを行う揮発性領域書込みステップと、
前記データ変更判定ステップにおいて、肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第1不揮発性ユーザデータ領域及び第1不揮発性バッファ領域のうち、前記第1不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第1変更内容保存ステップと、
前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリの領域である第2不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第1複製保存ステップと、
前記第1複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合に、前記変更するデータとアドレスを関連付けたパリティビットを生成し、前記変更の内容を、不揮発性メモリの領域である第2不揮発性バッファ領域にデータ毎に保存すると共に、前記変更の内容の保存先を示すアドレスを逐次変更する第2変更内容保存ステップと、
前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータを不揮発性メモリである前記第1不揮発性ユーザデータ領域にパリティビットを使用し、データ毎にチェックし複製保存する第2複製保存ステップと、を備え、
前記第2複製保存ステップの後の前記データ変更判定ステップにおいて肯定的な判定の場合には、再び前記第1変更内容保存ステップが行われることを特徴とするデータ保存方法。
【請求項6】
書込み要求されたデータと、前記書込み要求されたアドレスに保存されたデータとを比較し、変更があると判定された場合に、前記書込み要求されたデータが対応するアドレスに保存される揮発性メモリの領域である揮発性ユーザデータ領域と、
不揮発性メモリの領域であり、第1不揮発性バッファ領域と、第1不揮発性ユーザデータ領域と、第1管理領域とを有する第1領域と、
不揮発性メモリの領域であり、第2不揮発性バッファ領域と、第2不揮発性ユーザデータ領域と、第2管理領域とを有する第2領域と、を備え、
前記第1管理領域と前記第2管理領域とには、前記第1領域及び前記第2領域のいずれが有効であるかを示す値が保存され、
前記第1不揮発性バッファ領域には、第1領域が有効である場合で、前記変更があると判定されたときに、変更するデータとアドレスを関連付けたパリティビットと共に、変更の内容が逐次保存先アドレスを変更して保存され、
前記第2不揮発性バッファ領域には、第2領域が有効である場合で、前記変更があると判定されたときに、変更するデータとアドレスを関連付けたパリティビットと共に、変更の内容が逐次保存先アドレスを変更して保存され、
前記第1不揮発性ユーザデータ領域には、第2領域が有効である場合で、前記第2不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータが、パリティビットを使用してデータ毎にチェックされた後、複製保存され、
前記第2不揮発性ユーザデータ領域には、第1領域が有効である場合で、前記第1不揮発性バッファ領域へ保存量が所定量に達した場合に、前記揮発性ユーザデータ領域のデータが、パリティビットを使用してデータ毎にチェックされた後、複製保存され、
前記第1管理領域と前記第2管理領域とに保存された前記第1領域及び前記第2領域のいずれか一方が有効である旨を示す値は、前記複製保存時にいずれか他方が有効である旨を示す値に書換えられる、ことを特徴とするメモリ管理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図2】
【図3】
【図4】
【図5】
【図6】
【公開番号】特開2012−243156(P2012−243156A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−114000(P2011−114000)
【出願日】平成23年5月20日(2011.5.20)
【出願人】(301005371)日本オクラロ株式会社 (311)
【Fターム(参考)】
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願日】平成23年5月20日(2011.5.20)
【出願人】(301005371)日本オクラロ株式会社 (311)
【Fターム(参考)】
[ Back to top ]