(57)【要約】【課題】データバイトをＮＯＲフラッシュメモリに書き込む方法を提供する。【解決手段】本発明が提供するデータバイトをＮＯＲフラッシュメモリに書き込む方法は、ソフトウェアスイッチを設け、消去停止/再開装置の動作を制御することに用い、組み込んだ書き込みデータバイトの大きさの閾値により、該書き込み前の消去プロセスを停止するかを判断することに用い、ジャーナリングファイルシステムデータを読み取るステップを優先的に行うことを許可し、又は、データバイトを書き込むプロセスの完了を待って、ジャーナリングファイルシステムデータの読み取りを再開する。【選択図】図２
2012146354.tif 000002
【特許請求の範囲】
【請求項１】
Ｌｉｎｕｘオペレーションシステムと、ＮＯＲフラッシュメモリと、消去停止／再開装置と、ジャーナリングファイルシステムと、複数のデータブロックと、を含み、
該ジャーナリングファイルシステムは、該Ｌｉｎｕｘオペレーションシステム中に設けられ、
該ＮＯＲフラッシュメモリは、該Ｌｉｎｕｘオペレーションシステムに電気接続し、
該消去停止／再開装置は、該ＮＯＲフラッシュメモリに組み込まれ、且つ
該データブロックも、該ＮＯＲフラッシュメモリ中に設けられ、
ジャーナリングファイルシステムデータは、該Ｌｉｎｕｘオペレーションシステムを介し該ＮＯＲフラッシュメモリ中の該データブロック内に確立され、
該Ｌｉｎｕｘオペレーションシステムがデータバイトを該ＮＯＲフラッシュメモリ中に書き込む場合、先ず、該消去停止/再開装置を経由し、該データブロック中の該ジャーナリングファイルシステムデータを消去する必要があり、そうして始めて該データブロックに対し該データバイトを書き込むことができ、更に、該ジャーナリングファイルシステムデータとなり、その特徴は、ソフトウェアスイッチを該Ｌｉｎｕｘオペレーションシステムに設定し、該消去停止/再開装置を制御することに用いることにあり、該Ｌｉｎｕｘオペレーションシステムの該ジャーナリングファイルシステムデータの読み取りは、下記のステップを介する：
（１）該ジャーナリングファイルシステムデータを読み取る；
（２）該ＮＯＲフラッシュメモリが該データブロック内の該ジャーナリングファイルシステムデータの消去を行っているかを検出する；
（３）ステップ（２）を受けて、行っていなければ、該ジャーナリングファイルシステムデータの読み取りを継続する；
（４）ステップ（２）を受けて、行っていれば、該Ｌｉｎｕｘオペレーションシステム１が該書き込みデータバイトの大きさを判定し、該判定は、閾値と照合し、該閾値は、該Ｌｉｎｕｘオペレーションシステム内に予め設定され、該ソフトウェアスイッチを起動するか否かを決定する；
（５）ステップ（４）を受けて、該書き込みデータバイトの大きさが該閾値を超えていれば、該ソフトウェアスイッチを起動し、該消去停止/再開装置を停止し、該データブロックが該データバイトを書き込まれている状態を維持し、書き込み完了まで維持し、該ジャーナリングファイルシステムデータの読み取りを再継続する；
（６）ステップ（４）を受けて、該書き込みデータバイトの大きさが該閾値を超えていなければ、動該ソフトウェアスイッチを起動せず、該消去停止/再開装置に作業を継続させ、該Ｌｉｎｕｘオペレーションシステムに該データブロック内の該ジャーナリングファイルシステムデータのキャンセルを停止させ、且つ該ジャーナリングファイルシステムデータ２３の読み取りを優先的に実行させ、読み取り完成まで待った後、該些データブロック内の該ジャーナリングファイルシステムデータを消去する作業を再開し、その後、該データバイトを書き込むデータバイトをＮＯＲフラッシュメモリに書き込む方法。
【請求項２】
前記ステップ（５）及びステップ（６）における該書き込みデータバイトの大きさの判断は、閾値が１ＭＢ（Mega Byte）である請求項１に記載のデータバイトをＮＯＲフラッシュメモリに書き込む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データバイトをＮＯＲフラッシュメモリ（NOR Flash）に書き込む方法を提供し、ソフトウェアスイッチを設け、Ｌｉｎｕｘオペレーションシステムに該ＮＯＲフラッシュメモリの消去停止/再開機能を起動又は停止するかを決定させることに用いる。
【背景技術】
【０００２】
従来使用されていたフラッシュメモリ（Flash Memory）装置は、その内部に書き込み又は消去のプロセスを行う時、プロセッサにフラッシュメモリ内のデータの読み取りを実行することを許可しない。しかしながら、後続のフラッシュメモリ装置は、既に、「消去停止/再開」（Erase Suspend/Resume）装置を提供し、この要求に応じている。「消去停止/再開」する装置は、消去プロセス（Erase procedure）中断を提供し、このように、異なるフラッシュセクション（section）に発生する読み取り作業は、消去プロセスと交錯して進行することができ、フラッシュメモリの異なる領域に発生する読み書き同時動作の要求を解決している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２４２６３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実際のフラッシュメモリ装置を使用する状況において、老化（Aged）又は特殊な問題を検出したフラッシュメモリ装置に対し、読み取り及び消去プロセスの機能を同時に進行する場合、システムが長時間の停止に陥る可能性がある。これは、「消去停止/再開」装置がこの老化又は特殊な問題のあるフラッシュメモリ装置において、フラッシュメモリ装置の状態エラーを招き、システムにフラッシュメモリ装置の某ブロックの消去作業を完成させることができず、プロセッサに待機状態を維持させ、長時間を要し始めて正常回復することが可能となるからである。この状況は、データ書き込みが大量に連続する前の消去プロセスにおいて特に発生し易く、通常は、システムがファームウェアをアップデート中、ダウンロードしたファームウェアをフラッシュメモリ装置に書き込む時である。一旦、このような状況が発生すると、システムは、期限が不定の演算ループ（Computing loop）に進入し、数時間の時間を要し、ようやく自動回復することができる可能性もあり、これは、本発明が処理を欲する課題となっている。
【０００５】
従来技術の不足に鑑み、本発明者は、多くの時間及び資源を投入し、該分野において絶え間ない努力を行い、革新的方式、手段により、長期に渡る問題を解決し、社会に良好な成果をもたらし、産業の発展を促進する。
【課題を解決するための手段】
【０００６】
本発明は、データバイト（Data byte）をＮＯＲフラッシュメモリに書き込む方法であり、ＮＯＲフラッシュメモリのデータブロック（Data block）において、Ｌｉｎｕｘオペレーションシステム中のジャーナリングファイルシステムを介し、データバイトを書き込み、該データブロック中に保存し、ジャーナリングファイルシステムデータ（Journalling Flash File System version 2 data  略称：JFFS2 data）となる。該データバイトを書き込む時、該ＮＯＲフラッシュメモリ中に設置する消去停止（Suspend）/再開装置は、ソフトウェアスイッチ（Software switch）の制御を受け、正常起動しているかを決定する。一般的状態、即ち、前記の状況において、該消去停止/再開装置は、該Ｌｉｎｕｘオペレーションシステムに消去作業が中断（Interrupt）されることを許可し、該ジャーナリングファイルシステムデータの読み取りを優先的に実行した後、消去作業を再開し、完成まで継続した後、該データバイトを該データブロック中に書き込む。実際の応用においてＮＯＲフラッシュメモリが読み取る機会は、書き込みに比較し遥かに大きいので、消去／書き込みの回路設計は、比較的遅く、従って、書き込みの総消費作業時間については、該ジャーナリングファイルシステムデータを読み取る時間が相対して短くなり、他の方面では、システム全体の反応時間が考慮される。従って、設計上において、該ジャーナリングファイルシステムデータを読み取る作業を行い、影響を及ぼさない。しかしながら、書き込もうとする該データバイトが過度に大きい時（例えば、Ｌｉｎｕｘオペレーションシステムのファームウェアの更新時）、前記のような問題が発生する。従って、本発明は、消去停止/再開装置の起動及び停止を制御することに用いるソフトウェアスイッチを設計し、これにより、該Ｌｉｎｕｘオペレーションシステムが先ず書き込もうとする該データバイトの大きさを判断し、閾値（Threshold value）を超えていなければ、該Ｌｉｎｕｘオペレーションシステムが消去作業を停止し、該ジャーナリングファイルシステムデータの読み取りを優先的に進行した後、消去動作を再開し、完成まで継続する。但し、閾値を超えていれば、該ソフトウェアスイッチを起動し、該ＮＯＲフラッシュメモリの消去停止/再開装置を停止させ、消去作業が中断されずに、完成まで持続できるようにし、該データバイトを書き込んだ後、該ジャーナリングファイルシステムデータを読み取るプロセスを続行する。
【０００７】
また、上記の該データバイトの大きさは、１ＭＢ（Mega Byte）を閾値とする。
【発明の効果】
【０００８】
上記のように、本発明は、ＮＯＲフラッシュメモリ２のデータバイト書き込み（Write）動作に対するものであり、ソフトウェアスイッチ１２で該消去（Erase）停止/再開装置２１を制御し、該書き込みデータバイトの大きさを判断することにより、消去作業を停止するかを決定し、又は、該ソフトウェアスイッチ１２を利用し、該消去停止/再開装置２１の作業を停止し、該データブロック２２の消去した後、該データバイトの書き込むプロセスを持続し完成後、読み取りを再開し、該データバイト書き込み作業の完全な成功を保障することに用いる。
【図面の簡単な説明】
【０００９】
【図１】本発明が使用するシステム構築図である。
【図２】本発明の操作のフロー図である。
【発明を実施するための形態】
【００１０】
本発明の操作順序及び内容を分かり易くするため、以下に図面に合わせて、関連するフローステップ及び実施方式を詳細に説明する。
【００１１】
本発明は、データをＮＯＲフラッシュメモリに書き込む方法であり、図１に示すように、Ｌｉｎｕｘオペレーションシステム１と、ＮＯＲフラッシュメモリ２と、消去停止/再開装置２１と、ジャーナリングファイルシステム（Journalling Flash File System version 2  略称：JFFS2）１１と、複数のデータブロック２２と、を含み、該ジャーナリングファイルシステム１１は、該Ｌｉｎｕｘオペレーションシステム１中に設けられ、該ＮＯＲフラッシュメモリ２は、該Ｌｉｎｕｘオペレーションシステム１に電気接続し、該消去停止/再開装置（Erase Suspend/Resume  Device）２１は、該ＮＯＲフラッシュメモリ２に組み込まれ、且つ該データブロック２２も、該ＮＯＲフラッシュメモリ２中に設けられ、ジャーナリングファイルシステムデータ２３は、該Ｌｉｎｕｘオペレーションシステム１を介し該ＮＯＲフラッシュメモリ２中の該データブロック２２内に確立され、該Ｌｉｎｕｘオペレーションシステム１がデータバイトを該ＮＯＲフラッシュメモリ２中に書き込む場合、先ず、該消去停止/再開装置２１を経由し、該データブロック２２中の該ジャーナリングファイルシステムデータ２３を消去する必要があり、そうして始めて該データブロック２２に対し該データバイトを書き込むことができ、更に、該ジャーナリングファイルシステムデータ２３となり、その特徴は、ソフトウェアスイッチ１２を該Ｌｉｎｕｘオペレーションシステム１に設定し、該消去停止/再開装置２１を制御することに用いることにあり、該Ｌｉｎｕｘオペレーションシステム１の該ジャーナリングファイルシステムデータ２の読み取りは、下記のステップを介する（併せて図２を参考とする）：
（１）該ジャーナリングファイルシステムデータ２３を読み取る；（Ｓ１）
（２）該ＮＯＲフラッシュメモリ２が該データブロック２２内の該ジャーナリングファイルシステムデータ２３の消去を行っているかを検出する；（Ｓ２）
（３）ステップ（２）を受けて、行っていなければ、該ジャーナリングファイルシステムデータ２３の読み取りを継続する；（Ｓ３）
（４）ステップ（２）を受けて、行っていれば、該Ｌｉｎｕｘオペレーションシステム１が該書き込みデータバイトの大きさを判定し、該判定は、閾値と照合し、該閾値は、該Ｌｉｎｕｘオペレーションシステム１内に予め設定され、該ソフトウェアスイッチ１２を起動するか否かを決定する；（Ｓ４）
（５）ステップ（４）を受けて、該書き込みデータバイトの大きさが該閾値を超えていれば、該ソフトウェアスイッチ１２を起動し、該消去停止/再開装置２１を停止し、該データブロック２２が該データバイトを書き込まれている状態を維持し、書き込み完了まで維持し、該ジャーナリングファイルシステムデータ２３の読み取りを再継続する；（Ｓ５）
（６）ステップ（４）を受けて、該書き込みデータバイトの大きさが該閾値を超えていなければ、動該ソフトウェアスイッチ１２を起動せず、該消去停止/再開装置２１に作業を継続させ、該Ｌｉｎｕｘオペレーションシステム１に該データブロック２２内の該ジャーナリングファイルシステムデータ２３のキャンセルを停止させ、且つ該ジャーナリングファイルシステムデータ２３の読み取りを優先的に実行させ、読み取り完成まで待った後、該些データブロック２２内の該ジャーナリングファイルシステムデータ２３を消去する作業を再開し、その後、該データバイトを書き込む。（Ｓ６）
【００１２】
また、該書き込みデータバイトの大きさの判断は、その閾値を１ＭＢ（Mega Byte）に設定する。
【００１３】
上記のように、本発明は、ＮＯＲフラッシュメモリ２のデータバイト書き込み動作に対するものであり、ソフトウェアスイッチ１２で該消去停止/再開装置２１を制御し、該書き込みデータバイトの大きさを判断することにより、消去作業を停止するかを決定し、又は、該ソフトウェアスイッチ１２を利用し、該消去停止/再開装置２１の作業を停止し、該データブロック２２の消去した後、該データバイトの書き込むプロセスを持続し完成後、読み取りを再開し、該データバイト書き込み作業の完全な成功を保障することに用いる。
【００１４】
なお、本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない均等の範囲内で各種の変動や潤色を加えることができることは勿論である。
【符号の説明】
【００１５】
１  Ｌｉｎｕｘオペレーションシステム
１１  ジャーナリングファイルシステム
１２  ソフトウェアスイッチ
２  ＮＯＲフラッシュメモリ
２１  消去停止/再開装置
２２  データブロック
２３  ジャーナリングファイルシステムデータ
Ｓ１  ジャーナリングファイルシステムデータを読み出す
Ｓ２  該ＮＯＲフラッシュメモリが該データブロック内の該ジャーナリングファイルシステムデータの消去を行っているかを検出する
Ｓ３  ジャーナリングファイルシステムデータの読み取りを継続する
Ｓ４  該Ｌｉｎｕｘオペレーションシステムにより該書き込みデータバイトの大きさを判定し、該判定は、閾値と照合することであり、該閾値は、該Ｌｉｎｕｘオペレーションシステム内に予め設定されるものであり、該ソフトウェアスイッチを起動するかを決定する
Ｓ５  該書き込みデータバイトの大きさが該閾値を超過する場合、該ソフトウェアスイッチを起動し、該消去停止/再開装置を停止し、該データブロックが該データバイトを書き込まれている状態を保持し、書き込み完成まで保持した後、該ジャーナリングファイルシステムデータの読み取りを再継続する
Ｓ６  該書き込みデータバイトの大きさが該閾値を超過しない場合、該ソフトウェアスイッチを起動せず、該消去停止/再開装置に作業を継続させ、該Ｌｉｎｕｘオペレーションシステムを該データブロック内の該ジャーナリングファイルシステムデータの消去を停止させ、且つ該ジャーナリングファイルシステムデータの読み取りを先に実行させ、読み取り完成後、該データブロック内の該ジャーナリングファイルシステムデータの消去の実行を再開し、その後、該データバイトを書き込む
【図１】
2012146354.tif 000003
【図２】
2012146354.tif 000004