(57)【要約】【課題】ＮＯＲフラッシュメモリの読み取り方法を提供する。【解決手段】本発明は、ＮＯＲフラッシュメモリの読み取り方法を提供し、組込み式Ｌｉｎｕｘオペレーションシステムで使用され、巡回冗長検査値を照合し、カウンタに予め設けられた繰り返し読み取り回数の閾値により、ジャーナリングファイルシステムデータの繰り返し読み取りを継続するか否かを決定する。【選択図】図２
2012137967.tif 000002
【特許請求の範囲】
【請求項１】
カウンタを内蔵したＬｉｎｕｘオペレーティングシステムに運用され、以下のステップ：
（１）ジャーナリングファイルシステムデータを確立するステップであり、該ＬｉｎｕｘオペレーティングシステムによりＮＯＲフラッシュメモリに接続し、該ＮＯＲフラッシュメモリ内でジャーナリングファイルシステムデータを確立する；
（２）巡回冗長検査値を設定するステップであり、確立又は更新された後の該ジャーナリングファイルシステムデータを該Ｌｉｎｕｘオペレーティングシステムにより計算した後、該ジャーナリングファイルシステムデータの第１組巡回冗長検査値と組み合わせる；
（３）ジャーナリングファイルシステムデータの読み取りステップであり、該Ｌｉｎｕｘオペレーティングシステムが確立の完成した該ジャーナリングファイルシステムデータを読み取り、該読み取ったジャーナリングファイルシステムデータに基づき、第２組巡回冗長検査値を計算する；
（４）巡回冗長検査値を繰り返し検証するステップであり、該第１組巡回冗長検査値と該第２組巡回冗長検査値が照合を経て同一でなければ、該Ｌｉｎｕｘオペレーティングシステムが該ジャーナリングファイルシステムデータを再度繰り返し読み取り、該カウンタ上に繰り返し読み取り回数を追加する；
（５）ジャーナリングファイルシステムデータの読み取りを完成するステップであり、ステップ（３）及びステップ（４）を受け、該第１組巡回冗長検査値及び該第２組巡回冗長検査値が同一に属する場合、該Ｌｉｎｕｘオペレーティングシステムがジャーナリングファイルシステムデータの読み取りを継続する；
（６）ジャーナリングファイルシステムデータを読み取ることができないステップであり、ステップ（４）を受けて、該カウンタ中に繰り返し読み取り回数の閾値を予め設け、該第１組巡回冗長検査値及び該第２組巡回検査値を繰り返し照合した後、何れも同一に属さない回数が該閾値を超えれば、該Ｌｉｎｕｘオペレーションシステムは、読み取り失敗を判定する；
を含むＮＯＲフラッシュメモリの読み取り方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＯＲフラッシュ（NOR Flash）メモリの読み取り方法を提供し、第１組巡回冗長検査値（Cycle Redundancy Check）及び第２巡回冗長検査値を照合し、ジャーナリングファイルシステムデータ（Journalling Flash File System version 2 data  略称：JFFS2 data）の読み取りが成功か失敗かを判定する。
【背景技術】
【０００２】
従来のフラッシュメモリ（Flash Memory）のデータアクセスの管理技術について言えば、ＮＯＲ型とＮＡＮＤ型フラッシュメモリは、何れも書き込み（Write）前に消去を実行する（Erase before Write）特性を有する。フラッシュメモリ中の某位置にデータを書き込み後、該位置に対し、再度各込みの動作を行なう場合、先に消去（Erase）の動作を行なう必要があり、即ち、先に元々書き込まれていたデータを消去し、そうでなければ、後続のデータが書き込みエラーを発生する事になる。該フラッシュメモリの特徴は、以下にある：単一のメモリユニットにおいて、１ビット、１ビットの方式で、論理“０”又はプログラミングされた状態中から論理“１”又は既にクリアされた状態に書き換えられることはできない。従って、１つのユニットが要求する状態に設定されるようにするためには、先ず、全てのブロックに先に消去を行い、その後に、それらに対し、論理“０”のビットを保存し、それぞれプログラミングを行う必要がある。
【０００３】
しかしながら、この２種のフラッシュメモリは、消去の回数に制限がある；セグメント（Segment）（又はブロック（Block））の消去回数（Limited erase counts）が許可された消去回数を超えると、データ書き込み又は読み取りが不正確となり、該セグメント（又はブロック）を再使用できず、この種の状況を消耗する（wear-out）と呼ぶ。セグメント（又はブロック）の消去回数は、通常１０万〜１００万回程度である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３１８４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような操作設計は、フラッシュメモリに必然的に使用期限をもたらすものである。使用期限に到達する前には、フラッシュメモリの読み取りが不安定となり、又はフラッシュメモリ自身の歩留まりの問題が起こすデータ読み取りが正常でなくなることがあり、これが本発明の処理しようとする課題である。
【０００６】
従来技術の不足に鑑み、本発明者は、多くの時間及び資源を投入し、該分野において絶え間ない努力を行い、革新的方式、手段により、長期に渡る問題を解決し、社会に良好な成果をもたらし、産業の発展を促進する。
【課題を解決するための手段】
【０００７】
本発明は、ＮＯＲフラッシュメモリの読み取り方法であり、カウンタ（Counter）を内蔵したＬｉｎｕｘオペレーティングシステムに運用され、以下のステップを含む：
（１）ジャーナリングファイルシステムデータを確立するステップであり、該ＬｉｎｕｘオペレーティングシステムによりＮＯＲフラッシュメモリに接続し、該ＮＯＲフラッシュメモリ内でジャーナリングファイルシステムデータを確立する；
（２）巡回冗長検査値を設定するステップであり、確立又は更新された後の該ジャーナリングファイルシステムデータを該Ｌｉｎｕｘオペレーティングシステムにより計算した後、該ジャーナリングファイルシステムデータの第１組巡回冗長検査値と組み合わせる；
（３）ジャーナリングファイルシステムデータの読み取りステップであり、該Ｌｉｎｕｘオペレーティングシステムが確立の完成した該ジャーナリングファイルシステムデータを読み取り、該読み取ったジャーナリングファイルシステムデータに基づき、第２組巡回冗長検査値を計算する；
（４）巡回冗長検査値を繰り返し検証するステップであり、該第１組巡回冗長検査値と該第２組巡回冗長検査値が照合を経て同一でなければ、該Ｌｉｎｕｘオペレーティングシステムが該ジャーナリングファイルシステムデータを再度繰り返し読み取り、該カウンタ上に繰り返し読み取り回数を追加する；
（５）ジャーナリングファイルシステムデータの読み取りを完成するステップであり、ステップ（３）及びステップ（４）を受け、該第１組巡回冗長検査値及び該第２組巡回冗長検査値が同一に属する場合、該Ｌｉｎｕｘオペレーティングシステムがジャーナリングファイルシステムデータの読み取りを継続する；
（６）ジャーナリングファイルシステムデータを読み取ることができないステップであり、ステップ（４）を受けて、該カウンタ中に繰り返し読み取り回数の閾値（Threshold value）を予め設け、該第１組巡回冗長検査値及び該第２組巡回検査値を繰り返し照合した後、何れも同一に属さない回数が該閾値を超えれば、該Ｌｉｎｕｘオペレーションシステムは、読み取り失敗を判定する。
【発明の効果】
【０００８】
本発明が達成する効果一は、該ＮＯＲフラッシュメモリが読み取られる時、“損耗（Wear-out）”に達した場合、その内の該ジャーナリングファイルシステムデータを円滑に読み取ることができない可能性があり、該第１組巡回冗長検査値及び該第２組巡回検査値を複数回繰り返し照合することにより、該ジャーナリングファイルシステムデータをできる限り再度確実に読み出し可能にすることである。
【０００９】
本発明が達成する効果二は、効果一を受けて、該ＮＯＲフラッシュメモリが既に損壊している状況において、即ち、既に不安定である動作において、使用者に該ジャーナリングファイルシステムデータをできる限りアクセスできるようにし、バックアップ又は保存を行うことができるようにすることである。
【００１０】
本発明が達成する効果三は、効果二を受けて、該ＮＯＲフラッシュメモリが既に初期損壊している状況において、該Ｌｉｎｕｘオペレーティングシステムは、管理者に警告を発し、後続に回復不可能な読み取りエラーが発生し、該Ｌｉｎｕｘオペレーションシステムサービスが中断されることを回避することである。
【図面の簡単な説明】
【００１１】
【図１】本発明のシステム構築図である。
【図２】本発明の動作フロー図である。
【発明を実施するための形態】
【００１２】
本発明は、ＮＯＲフラッシュメモリの読み取り方法に関し、図１において、搭配一Ｌｉｎｕｘオペレーションシステム１及び該Ｌｉｎｕｘオペレーションシステム１中に内蔵するカウンタ１１の動作を組み合わせ、また、該Ｌｉｎｕｘオペレーションシステム１自身に設置するジャーナリングファイルシステム（Journalling Flash File System version 2  略称：JFFS2）１２も組み合わせ、共に以下のステップを含む：
（１）ジャーナリングファイルシステムデータを確立するステップであり、該Ｌｉｎｕｘオペレーティングシステム１によりＮＯＲフラッシュメモリ２に接続し、該ＮＯＲフラッシュメモリ２内でジャーナリングファイルシステムデータ２１を確立する；
（２）巡回冗長検査値を設定するステップであり、確立又は更新された後の該ジャーナリングファイルシステムデータ２１を該Ｌｉｎｕｘオペレーティングシステム１により計算した後、該ジャーナリングファイルシステムデータ２１の第１組巡回冗長検査値と組み合わせる；
（３）ジャーナリングファイルシステムデータの読み取りステップであり、該Ｌｉｎｕｘオペレーティングシステム１が確立の完成した該ジャーナリングファイルシステムデータ２１を読み取り、該読み取ったジャーナリングファイルシステムデータ２１に基づき、第２組巡回冗長検査値を計算する；
（４）巡回冗長検査値を繰り返し検証するステップであり、該第１組巡回冗長検査値と該第２組巡回冗長検査値が照合を経て同一でなければ、該Ｌｉｎｕｘオペレーティングシステム１が該ジャーナリングファイルシステムデータ１を再度繰り返し読み取り、該カウンタ１１上に繰り返し読み取り回数を追加する；
（５）ジャーナリングファイルシステムデータの読み取りを完成するステップであり、ステップ（３）及びステップ（４）を受け、該第１組巡回冗長検査値及び該第２組巡回冗長検査値が同一に属する場合、該Ｌｉｎｕｘオペレーティングシステム１がジャーナリングファイルシステムデータ２１の読み取りを継続する；
（６）ジャーナリングファイルシステムデータを読み取ることができないステップであり、ステップ（４）を受けて、該カウンタ１１中に繰り返し読み取り回数の閾値を予め設け、該第１組巡回冗長検査値及び該第２組巡回検査値を繰り返し照合した後、何れも同一に属さない回数が該閾値を超えれば、該Ｌｉｎｕｘオペレーションシステム１は、読み取り失敗を判定する。
【００１３】
上記を更に整理した後、簡略したフロー図が図２のように示され、本発明のＮＯＲフラッシュメモリの読み取り方法は、以下のようである：
（１）該ジャーナリングファイルシステムデータ２１を読み取る；（Ｓ１）
（２）該第１組巡回冗長検査値及び該第２組巡回冗長検査値が同一であるかを照合する；（Ｓ２）
（３）第（２）点を受けて、同一であれば、該ジャーナリングファイルシステムデータ２１を円滑に読み取ることができる；（Ｓ３）
（４）第（２）点を受けて、同一でなければ、該カウンタ１１上に繰り返し読み取り回数を追加する；（Ｓ４）
（５）第（４）点を受けて、該カウンタ１１中の繰り返し読み取り回数が予め設ける閾値を超えているかを検査し、予め設ける閾値を超えていなければ、第（２）点のステップを繰り返す；（Ｓ５）
（６）第（４）点を受けて、該カウンタ１１中の繰り返し読み取り回数が予め設ける閾値を超えているかを検査し、予め設ける閾値を超えていれば、該ジャーナリングファイルシステムデータ２１を読み取ることができないと判定する。（Ｓ６）
【００１４】
某状況において（例えば、損耗に到達する）、ＮＯＲフラッシュメモリは、ジャーナリングファイルシステムデータを読み取る時、計算して得られた該第２組巡回冗長検査値が元に配給される該第１組巡回冗長検査値と同一でなければ、検証失敗となり、更に、該ジャーナリングファイルシステムデータを読み取ることができなくなるので、逐一上記の方式が必要であり、更に、該ジャーナリングファイルシステムデータを複数回繰り返し読み取り、該第１組巡回冗長検査値及び該第２組巡回冗長検査値が同一になるまで繰り返す。また、該ジャーナリングファイルシステムデータを円滑に読み取ることができなきことが持続する場合、該カウンタに予め設けた繰り返し読み取り回数の閾値を介して判定し、該閾値を超えれば、読み取り失敗と判定する。
【００１５】
本発明が提供する方法を説明したが、一定時間を与えて、該ジャーナリングファイルシステムデータを読み取ることができなかった後に、該第１組巡回冗長検査値及び該第２組巡回冗長検査値を再度繰り返し読み取り、照合し、同一の巡回冗長検査値を得るまで続け、該ジャーナリングファイルシステムデータの読み取りに成功し、更に、システム管理者に警告情報を発し、できる限り迅速に修復を行うことができるようにし（ソフトウェア又はハードウェア方面であるかを問わない）、関連データのバックアップ、保存を行うことができ、なぜならば、最初の読み取りが失敗した後、該ジャーナリングファイルシステムに既に瑕疵が発生したことを認識し、できる限り早く処理しない場合、後続で問題が発生しないようにすることが困難になり、全体の作業に影響するからである。
【００１６】
なお、本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない均等の範囲内で各種の変動や潤色を加えることができることは勿論である。
【符号の説明】
【００１７】
１    Ｌｉｎｕｘオペレーションシステム
１１  カウンタ
１２  ジャーナリングファイルシステム
２    ＮＯＲフラッシュ
２１  ジャーナリングファイルシステムデータ
Ｓ１  ジャーナリングファイルシステムデータを読み出す
Ｓ２  該第１組巡回冗長検査値と該第２組巡回冗長検査値が同一であるか否かを照合する
Ｓ３  ジャーナリングファイルシステムデータの読み取りに成功する
Ｓ４  カウンタの繰り返し読み取り回数を追加
Ｓ５  読み取り回数の閾値を超えているかを判断する
Ｓ６  読み取りに失敗する
【図１】
2012137967.tif 000003
【図２】
2012137967.tif 000004