(57)【要約】【課題】フラッシュメモリ論理アドレス検出方法の提供。【解決手段】本発明のフラッシュメモリ論理アドレス検出方法によると、システム起動時にまずＲＡＭ内にあってゾーンを単位とする位取り因数の論理／物理アドレスマッピング表を構築し、このアドレスマッピング表を利用して論理アドレスにマッピングされた物理ゾーンを得て、順に物理ゾーン内の各ブロックに割り当てられた物理アドレスを得るまでサーチする。これにより、本発明は速度と空間上、有効な平衡点を取得でき、本発明が速い処理速度を保持する前提の下で、あまり多くの空間を占有しないものとされる。【選択図】　　　　図５
2004086300.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリの論理アドレス検出方法において、
フラッシュメモリ中の複数のブロックを一つのゾーンに設定し、ゾーンを単位とし、システム起動時にまずゾーンアドレスとその対応する論理アドレスの関係に対して、位取り因子アドレスマッピング表を構築し、並びにそれをＲＡＭ中に保存するステップと、
システムがサーチ待機論理アドレスをＲＡＭに伝送し、ＲＡＭがこのサーチ待機論理アドレスに基づきアドレスマッピング表より対応する物理ゾーンアドレスを取得するステップと、
この物理ゾーン内の各一つのブロックをサーチし、これを該サーチ待機論理アドレスに対応する物理アドレスを取得するまで行うステップと、
を具えたことを特徴とする、フラッシュメモリの論理アドレス検出方法。
【請求項２】
請求項１に記載のフラッシュメモリの論理アドレス検出方法において、ＲＡＭがＳＲＡＭとされたことを特徴とする、フラッシュメモリの論理アドレス検出方法。
【請求項３】
請求項１に記載のフラッシュメモリの論理アドレス検出方法において、フラッシュメモリ内にあってデータの書き込み或いは更新を行う時、新しいデータを同一個のゾーン内に制限することを特徴とする、フラッシュメモリの論理アドレス検出方法。
【請求項４】
請求項３に記載のフラッシュメモリの論理アドレス検出方法において、ゾーン内に十分な空間がなければ、このゾーン内にもともと有ったデータを新しいデータと共に、全部別の一つのゾーン内に複製することを特徴とする、フラッシュメモリの論理アドレス検出方法。
【請求項５】
請求項１に記載のフラッシュメモリの論理アドレス検出方法において、ゾーンを２ｎ　個のブロックで組成したことを特徴とする、フラッシュメモリの論理アドレス検出方法。
【請求項６】
請求項５に記載のフラッシュメモリの論理アドレス検出方法において、ｎの値を少なくとも６としたことを特徴とする、フラッシュメモリの論理アドレス検出方法。
【請求項７】
請求項１に記載のフラッシュメモリの論理アドレス検出方法において、位取り因子アドレスマッピング表が論理ゾーンアドレス／物理アドレスマッピング表とされたことを特徴とする、フラッシュメモリの論理アドレス検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一種のフラッシュメモリ論理アドレス検出方法において、特に複数のブロックを一つのゾーン（ｚｏｎｅ）となし、ゾーンを単位として論理／物理アドレスマッピング表（Ａｄｄｒｅｓｓ　Ｍａｐｐｉｎｇ　Ｔａｂｌｅ又はＬｏｏｋ−Ｕｐ　Ｔａｂｌｅ）を製作し、並びにこのアドレスマッピング表により論理アドレスを検出する方法に関する。
【０００２】
【従来の技術】
フラッシュメモリの運転原理中にあって、マイクロプロセッサがメモリをデータ保存領域として使用する時、計算の結果及びデータはいずれもここに保存され、もしプログラムが取り出す必要があれば、保存領域より取り出す。データの保存と読み取りの時、マイクロプロセッサは必要な情報にメモリの位置を定義し、位置のバスを透過してアドレスをメモリに伝送し、その後、データが対応するアドレスに正確に伝送されるようにする。メモリに最も重要なことは読み取りの時間であり、これは、マイクロプロセッサが命令を発してからアドレスデータを取得し、メモリが応答後にデータをマイクロプロセッサに伝送し、マイクロプロセッサが確実にデータを受け取るまでの時間である。このプロセスにかかる時間がメモリのアクセス時間である。
【０００３】
フラッシュメモリ中、若干のバイトで組成されたブロック（ｂｌｏｃｋ）を単位としてデータの保存及び読み取りが行われ、各一つのデータアクセスに供されるブロックはいずれも一つの物理アドレス（Ｐｈｙｓｉｃａｌ　Ａｄｄｒｅｓｓ）を具え、これはフラッシュメモリにあって空間順序、例えばＳＲＡＭ中の物理メモリの位置を代表し、また、各一つのブロックはファイルシステム（ＦｉｌｅＳｙｓｔｅｍ）の表示する論理アドレス（Ｌｏｇｉｃａｌ　Ａｄｄｒｅｓｓ）を具えている。図１の（ａ）に示されるように、各一つの物理アドレスはそれぞれ対応する論理アドレスを有する。しかし、フラッシュメカニズム中にあって、ファイルシステムデータアクセスに必要な物理アドレス及び論理アドレスは非線形の対応関係とされ、直接物理アドレスから論理アドレスの所在を推論することはできず、周知の技術では、通常、二種類の方式により対応する論理アドレスを得ている。
【０００４】
第１種類の方式はシステム起動時に、まず論理／物理アドレスマッピング表を構築し、それは論理アドレスと物理アドレスの間の対応関係を記録する表であり、並びに複数のＳＲＡＭが設計されてこのアドレスマッピング表を保存記録する。図１に示されるように、アドレスマッピング表を構築する時、論理アドレスの配列順序がメインとされ、対応する物理アドレス位置が表の格子の内容中に入れられ、もとの論理アドレスが不規則配列とされ、このため最初から最後まで一回配列しなければ、図１の（ｂ）に示されるようなアドレスマッピング表を構築できず、並びにこのアドレスマッピング表はＳＲＡＭ中に保存され、このような正方向物理／論理アドレスマッピング表は一部分を建立してＳＲＡＭを節約したい時にも、メモリ内の論理アドレス内容を最初から最後までサーチし並びに配列しなければならない。システムがデータアクセスする時にまずサーチ待機論理アドレスを提供し、並びにソフトウエアを利用してＳＲＡＭ中のアドレスマッピング表をサーチし、これにより速やかに論理アドレスに対応する物理アドレスを得ることができる。このように、アドレスマッピング表を利用して論理アドレスをサーチする方式はアドレス変換の時間が短く、処理速度が速いという長所を有するが、大量のＳＲＡＭにより全てのアドレス対応関係を記録する必要があり、その占有する空間面積は相当に大きい。且つ現在異なるＩＣ機能が一つの単一システムチップ中に整合されるようになり、ＳＲＡＭの数が固定され、必要に応じて随時ＳＲＡＭの数を増加できないため、使用上の制限が形成される。
【０００５】
もう一種の論理アドレスより物理アドレスを知る方式は、ＳＲＡＭがない設計であり、またいかなるアドレスマッピング表も構築する必要がなく、わずかにソフトウエアプログラムを利用して毎回物理アドレスが対応する論理アドレスをサーチする時に、メモリ中の頭からサーチ開始し、必要な論理アドレスをサーチするまでこれを行う。このような方式はＳＲＡＭのない設計とされ、ゆえに空間を占有しないが、毎回論理アドレスをサーチする時に頭からサーチ開始する必要があり、サーチが緩慢で、メモリのデータアクセスの速度が相当に遅い。
【０００６】
【発明が解決しようとする課題】
これにより、本発明は周知の欠点に対して、上述の二種類の物理アドレス／論理アドレス変換方式中にあって、有効な平衡点を取得し、同時に速度と空間上の問題を考慮して、有効にデータアクセスの性能を高められるようにする。
【０００７】
本発明の主要な目的は、一種のフラッシュメモリの論理アドレス検出方法を提供することにあり、それは、ゾーン（ｚｏｎｅ）を単位とし、まず、位取り因数（Ｓｃａｌｅｄ　Ｆａｃｔｏｒ）の論理／物理アドレスマッピング表を構築し、並びに該論理／物理アドレスマッピング表を透過してゾーンアドレスを得て、さらに物理アドレスに対応する論理アドレスをサーチし、有効な投資下で、速度アップを達成できる方法であるものとする。
【０００８】
本発明のもう一つの目的は、一種のフラッシュメモリの論理アドレス検出方法を提供することにあり、それは、調整式のＲＡＭを利用し、あまり多くの空間を増加させない前提下で、半導体ディスク装置の処理速度を高める方法であるものとする。
【０００９】
【課題を解決するための手段】
請求項１の発明は、フラッシュメモリの論理アドレス検出方法において、
フラッシュメモリ中の複数のブロックを一つのゾーンに設定し、ゾーンを単位とし、システム起動時にまずゾーンアドレスとその対応する論理アドレスの関係に対して、位取り因子アドレスマッピング表を構築し、並びにそれをＲＡＭ中に保存するステップと、
システムがサーチ待機論理アドレスをＲＡＭに伝送し、ＲＡＭがこのサーチ待機論理アドレスに基づきアドレスマッピング表より対応する物理ゾーンアドレスを取得するステップと、
この物理ゾーン内の各一つのブロックをサーチし、これを該サーチ待機論理アドレスに対応する物理アドレスを取得するまで行うステップと、
を具えたことを特徴とする、フラッシュメモリの論理アドレス検出方法としている。
請求項２の発明は、請求項１に記載のフラッシュメモリの論理アドレス検出方法において、ＲＡＭがＳＲＡＭとされたことを特徴とする、フラッシュメモリの論理アドレス検出方法としている。
請求項３の発明は、請求項１に記載のフラッシュメモリの論理アドレス検出方法において、フラッシュメモリ内にあってデータの書き込み或いは更新を行う時、新しいデータを同一個のゾーン内に制限することを特徴とする、フラッシュメモリの論理アドレス検出方法としている。
請求項４の発明は、請求項３に記載のフラッシュメモリの論理アドレス検出方法において、ゾーン内に十分な空間がなければ、このゾーン内にもともと有ったデータを新しいデータと共に、全部別の一つのゾーン内に複製することを特徴とする、フラッシュメモリの論理アドレス検出方法としている。
請求項５の発明は、請求項１に記載のフラッシュメモリの論理アドレス検出方法において、ゾーンを２ｎ　個のブロックで組成したことを特徴とする、フラッシュメモリの論理アドレス検出方法としている。
請求項６の発明は、請求項５に記載のフラッシュメモリの論理アドレス検出方法において、ｎの値を少なくとも６としたことを特徴とする、フラッシュメモリの論理アドレス検出方法としている。
請求項７の発明は、請求項１に記載のフラッシュメモリの論理アドレス検出方法において、位取り因子アドレスマッピング表が論理ゾーンアドレス／物理アドレスマッピング表とされたことを特徴とする、フラッシュメモリの論理アドレス検出方法としている。
【００１０】
【発明の実施の形態】
本発明によると、フラッシュメモリ中の複数のブロックを一つのゾーンに設定し、ゾーンを単位とし、システム起動時にまず物理ゾーンアドレスとその対応する論理アドレスの関係に対して、位取り因子アドレスマッピング表を構築し、並びにそれをＲＡＭ中に保存する。システムがデータアクセスする時、まずサーチ待機論理アドレスをＲＡＭに提供し、このサーチ待機論理アドレスに基づき、該アドレスマッピング表中より対応する物理ゾーンアドレスを得て、さらにこの物理ゾーン内の各一つのブロックを、該サーチ待機論理アドレスに対応する物理アドレスが得られるまでサーチする。
【００１１】
【実施例】
本発明は、複数のブロックを一つのゾーンに設定し、システム起動時に、まず一つのアドレスマッピング表、即ち論理／物理アドレスマッピング表を複製構築し、並びにＲＡＭ自身の有する連続読み取りの特性を組み合わせ、ＲＡＭ中の該アドレスマッピング表をサーチして物理ゾーンを得て、続いて該ゾーン内にあって物理アドレスに対応する論理アドレスをサーチして得る。
【００１２】
フラッシュメモリ中でデータ保存及び読み取りを行うのに使用する時、各一つのデータアクセスに供されるブロックはそれぞれ一つの物理アドレスを有し、メモリ中の実際の物理メモリの位置を代表する。本発明は、Ｎ個のゾーンを一つのゾーンに設定し、各一つのゾーンはそれぞれ一つの物理ゾーン位置及びそれに対応する論理アドレスを有し、これは図２の（ａ）に示されるようであり、且つ物理ゾーン及び論理アドレスは非線形の対応関係をなす。システムが起動し初期化される時、まず図２の（ａ）の関係表に基づき、まず位取り因子（ＳｃａｌｅｄＦａｃｔｏｒ）の論理／物理アドレスマッピング表を複製構築する。図２の（ｂ）に示されるように、この論理／物理アドレスマッピング表完成の後、それをＳＲＡＭ内に保存し、システムがサーチ待機論理アドレスを随時サーチできるようにする。このアドレスマッピング表はゾーンを単位として構築され、この位取り因子論理／物理アドレスマッピング表はあまり多くの保存空間を占用する必要がなく、ゆえに使用するＳＲＡＭの数を減少できる。
【００１３】
そのうち、上述のＮ個のゾーンで組成されたゾーンに関し、該Ｎの値は２ｎ　とされ、言い換えると、このゾーンは２ｎ　個のブロックで組成される。好ましくは、該ｎの値は少なくとも６とされる。
【００１４】
システム起動時に、もしシステムがオープンシステム、例えば抜き取り式のフラッシュメモリディスクであれば、その他のシステムによりアクセス済みである可能性があり、その論理／物理アドレスの対応は不規則分布とされうる。この時は、磁区のリセットプロセスが必要である。図３に示されるように、論理アドレスの近似の磁区を同一ゾーン（ｚｏｎｅ）に搬入し、例えば、磁区１０〜１９を同一ゾーン０とし、磁区４０〜４９をゾーン１とし、磁区３０〜３９をゾーンｋとする。論理アドレスの近似の磁区を同一ゾーンに搬入し即ち図示されるように磁区１２と１３をゾーン０に搬入し、磁区４０及び４６はゾーン１に搬入し、磁区３０はゾーンｋに搬入する。後日、この抜き取り式のフラッシュメモリディスクを他のシステムに移動してアクセスする時は、論理／物理アドレスはもともと規則的である必要がないため、ゆえに相容性を保持できる。もしシステムがクローズシステム（フラッシュメモリがシステム内に固定されている）であれば、最初から本発明の方法を用い、即ちこのリセットプロセスを省略できる。続いて、システムがまず物理ゾーンアドレス及びそれに対応する論理アドレスの関係から、システムＳＲＡＭの大きさに依り、直接図２の（ｂ）に示されるような位取り因子論理／物理アドレスマッピング表を構築し、この論理／物理アドレスマッピング表をＳＲＡＭ中に保存する。システムホストがデータにアクセスする時は、まずサーチ待機論理アドレス１０を提供し、図４に示されるように、この時、サーチ待機論理アドレスの一部情報１０に基づき、ＳＲＡＭにビルトインされた論理／物理アドレスマッピング表１２中より対応する物理ゾーン１４、例えばゾーン０を取得する。続いて、該物理ゾーン１４を取得した後、該ゾーン０の物理ゾーン１４内の各一つのブロックを、該サーチ待機論理アドレスに対応する物理アドレスを取得するまでサーチする。
【００１５】
このほか、本発明はフラッシュメモリ内にあって書き込んだりデータを更新する時、新たなデータを同一個のゾーン内に制限する。もしこのゾーン内に十分な保存空間がなければ、このゾーン内にもともと有ったデータを新しいデータと共に、全部別の一つのゾーン内に複製し、均一な読み書きの原則に符合させる。
【００１６】
ここまでで、本発明の精神はすでに説明したが、以下に具体的な例にフローチャートを組み合わせて上述のフラッシュメモリサーチ過程の説明を補充し、並びにこの技術に習熟する者がこの例を参考にして十分な知識を得てそれにより実施できるようにする。
【００１７】
図５は本発明の論理アドレス検出のフローチャートであり、図示されるように、この論理アドレス検出の方法は以下のステップを含む。まず、ステップＳ１０において、システム起動時に前述の方式で、物理ゾーンアドレスとそれと対応する論理アドレスの関係に対して、位取り因子論理／物理アドレスマッピング表を構築し、並びにそれをＲＡＭ中に保存する。
【００１８】
システムがステップＳ１２に示されるように、サーチ待機論理アドレスをＲＡＭに伝送する時、該ＲＡＭは該サーチ待機論理アドレス信号を受信した後、ステップＳ１４に示されるように、即刻、該サーチ待機論理アドレスに基づき、ビルトインされた論理／物理アドレスマッピング表中より該論理アドレスに対応する物理ゾーンを取得する。物理ゾーン取得の後、ステップＳ１６に示されるように、上から下に順に該物理ゾーン内の各一つのブロックをサーチし、並びにステップＳ１８に示されるように、対応する物理アドレスを取得したか否かを対比判断し、もし最終的な物理アドレスを獲得したと判断すれば、この時、サーチを停止し、ステップＳ２０に示されるようにサーチ過程を終了する。反対にまだ探し出せてなければ、続けてステップＳ１６を実行し、物理ゾーン内で対応する物理アドレスが見つかるまで行う。
【００１９】
【発明の効果】
本発明の快速構築する位取り因子論理／物理アドレスマッピング表は、ゾーンを単位として構築し、ゆえにわずかに一部のアドレス関係とされ、ゆえに多過ぎるＲＡＭを占用しない。且つまず論理アドレスに対応する物理ゾーンを探し、小範囲の物理ゾーンをサーチするため、処理速度は周知の技術より速い。これにより、本発明はゾーンの観念に少量のＲＡＭの使用を組み合わせることにより、あまり多くの空間を増加しない前提下で、半導体ディスク装置（フラッシュメモリ）の処理速度を高め、ゆえに速度と空間の考慮上、有効な平衡点を有し、有効にシステムのデータアクセスの性能を高める。
【００２０】
以上の実施例は本発明の技術思想と特徴を説明するためのものであり、その目的は、本発明の属する技術の分野における通常の知識を有する者が本発明の内容を了解し並びに実施できるようにすることにある。すなわち、本発明に記載された精神に基づきなしうる均等の変化或いは修飾は、いずれも本発明の請求範囲内に属するものとする。
【図面の簡単な説明】
【図１】図１の（ａ）及び図１の（ｂ）はそれぞれ周知のメモリ中の物理アドレスと論理アドレスの関係表示図及びこの関係を利用して構築した論理／物理アドレスマッピング表である。
【図２】図２の（ａ）及び図２の（ｂ）はそれぞれメモリ中の物理ゾーンと論理アドレスの関係表示図及び本発明を利用して構築された位取り因子アドレスマッピング表である。
【図３】本発明の、オープンシステムにおいて行う磁区リセットプロセスの表示図である。
【図４】本発明の論理アドレス検出の構造表示図である。
【図５】本発明の論理アドレス検出のフローチャートである。
【符号の説明】
１０　サーチ待機論理アドレス
１２　論理／物理アドレスマッピング表
１４　物理ゾーン
【図１】
2004086300.tif 000003
【図２】
2004086300.tif 000004
【図３】
2004086300.tif 000005
【図４】
2004086300.tif 000006
【図５】
2004086300.tif 000007