(57)【要約】【課題】パーティションアドレスによりインターリーブ領域か否かを切替える。【解決手段】アドレス生成回路は、連続データをインターリーブ領域ではワード単位で第１と第２バンクに交互に、その他の領域ではワードより大きいセクタ単位までは第１又は第２バンクのいずれかに連続して記憶する記憶部に、バンク選択を示す信号とアドレスを提供する。アドレス生成回路は、設定されるパーティションアドレスを保持するレジスタと、指定アドレスとパーティションアドレスから指定アドレスがインターリーブ領域を指定するか否かを判定する比較器と、インターリーブの場合は指定アドレスの最下位ビットに、その他の場合は指定アドレスの最下位ビット以外の上位ビットに基づいて信号を生成する信号生成部と、インターリーブの場合は指定アドレスから最下位ビットを除いて、その他の場合は指定アドレスから上位ビットを除いたアドレスを生成するアドレス生成部を備える。【選択図】図４
2014127075.tif 000002
【特許請求の範囲】
【請求項１】
第１バンクと第２バンクを有し、連続するアドレスのデータを、インターリーブ領域においてはワード単位で前記第１バンクと前記第２バンクとに交互に記憶し、非インターリーブ領域においては前記ワード単位より大きいセクタ単位までは前記第１バンク或いは前記第２バンクのいずれか一方に連続して記憶する不揮発性記憶部に、前記第１バンク或いは前記第２バンクのいずれかを選択するかを示すバンク選択信号および物理アドレスを提供するアドレス生成回路であって、
ＣＰＵにより設定されるパーティションアドレスを保持するレジスタと、
前記ＣＰＵが指定する指定アドレスと前記パーティションアドレスに基づいて、当該指定アドレスが前記インターリーブ領域或いは前記非インターリーブ領域のいずれを指定するかを判定する比較器と、
前記比較器が前記インターリーブ領域と判断した場合は、前記指定アドレスの最下位ビットに基づいて前記バンク選択信号を生成し、前記比較器が前記非インターリーブ領域と判断した場合は、前記指定アドレスの前記最下位ビット以外の上位ビットに基づいて前記バンク選択信号を生成するバンク選択信号生成部と、
前記比較器が前記インターリーブ領域と判断した場合は、前記指定アドレスから前記最下位ビットを除いた前記物理アドレスを生成し、前記比較器が前記非インターリーブ領域と判断した場合は、前記指定アドレスから前記上位ビットを除いた前記物理アドレスを生成する物理アドレス生成部と、
を備える
ことを特徴とするアドレス生成回路。
【請求項２】
前記不揮発性記憶部および前記ＣＰＵと同一チップ上に設置されている
ことを特徴とする請求項１に記載のアドレス生成回路。
【請求項３】
前記ＣＰＵは前記チップの外からの指令により、前記パーティションアドレスを前記レジスタに設定する
ことを特徴とする請求項２に記載のアドレス生成回路。
【請求項４】
前記ＣＰＵは、ＲＯＭ又は前記不揮発性記憶部に保持された情報に基づいて前記パーティションアドレスを前記レジスタに設定する
ことを特徴とする請求項１〜３のいずれか１項に記載のアドレス生成回路。
【請求項５】
前記上位ビットは前記セクタ単位のデータ量の変化を示す前記指定アドレスのビットである
ことを特徴とする請求項１〜４のいずれか１項に記載のアドレス生成回路。
【請求項６】
前記バンク選択信号生成部は、前記比較器が前記インターリーブ領域と判断した場合は、前記指定アドレスの最下位ビットを前記バンク選択信号として生成し、前記比較器が前記非インターリーブ領域と判断した場合は、前記指定アドレスの前記最下位ビット以外の上位ビットを前記バンク選択信号として生成する
ことを特徴とする請求項１〜５のいずれか１項に記載のアドレス生成回路。
【請求項７】
前記比較器は、前記指定アドレスと前記パーティションアドレスの大小関係に基づいて判定する
ことを特徴とする請求項１〜６のいずれか１項に記載のアドレス生成回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、アドレス生成回路に関する。
【背景技術】
【０００２】
フラッシュメモリはデータを書く前に、あるブロック単位でデータ消去する必要があり、データ消去はシステムの動作クロックに対して、非常に長い時間がかかる。このデータ消去時間を短くする方法として、複数のメモリバンクを同時にデータ消去する方法や、インターリーブ方式で、複数のメモリバンクのデータ消去をオーバーラップして、消去時間を隠ぺいする方法がある。オーバーラップさせるメモリバンク数が多いほど高速化が可能になる。メモリリードに関しても、複数のメモリバンクをインターリーブすることで、アクセスタイムをオーバーラップさせて処理を高速化することが出来る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−８１４５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の一つの実施形態は、ユーザが指定したパーティションアドレスに基づいてインターリーブ領域と非インターリーブ領域へのアクセスを切替えることが可能なアドレス生成回路を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一つの実施形態のアドレス生成回路は、第１バンクと第２バンクを有し、連続するアドレスのデータを、インターリーブ領域においてはワード単位で前記第１バンクと前記第２バンクとに交互に記憶し、非インターリーブ領域においては前記ワード単位より大きいセクタ単位までは前記第１バンク或いは前記第２バンクのいずれか一方に連続して記憶する不揮発性記憶部に、前記第１バンク或いは前記第２バンクのいずれかを選択するかを示すバンク選択信号および物理アドレスを提供する。実施形態のアドレス生成回路は、ＣＰＵにより設定されるパーティションアドレスを保持するレジスタと、前記ＣＰＵが指定する指定アドレスと前記パーティションアドレスに基づいて、当該指定アドレスが前記インターリーブ領域或いは前記非インターリーブ領域のいずれを指定するかを判定する比較器と、前記比較器が前記インターリーブ領域と判断した場合は、前記指定アドレスの最下位ビットに基づいて前記バンク選択信号を生成し、前記比較器が前記非インターリーブ領域と判断した場合は、前記指定アドレスの前記最下位ビット以外の上位ビットに基づいて前記バンク選択信号を生成するバンク選択信号生成部と、前記比較器が前記インターリーブ領域と判断した場合は、前記指定アドレスから前記最下位ビットを除いた前記物理アドレスを生成し、前記比較器が前記非インターリーブ領域と判断した場合は、前記指定アドレスから前記上位ビットを除いた前記物理アドレスを生成する物理アドレス生成部と、を備える。
【図面の簡単な説明】
【０００６】
【図１】図１は、本実施形態における各バンク並びにインターリーブ領域及び非インターリーブ領域とパーティションアドレスとの関係の例を示す図である。
【図２】図２は、本実施形態におけるインターリーブ領域及び非インターリーブ領域でのデータ消去および読み出しの単位となるセクタサイズ、ページサイズの例を示す図である。
【図３】図３は、本実施形態におけるアドレス生成回路の構成を示す図である。
【図４】図４は、本実施形態におけるアドレス生成回路の機能構成を示したブロック図である。
【図５】図５は、本実施形態のシステムにおけるＣＰＵとフラッシュメモリの間の読み出し線および書き込み線の構成を示す図である。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、実施形態にかかるアドレス生成回路を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【０００８】
（実施形態）
ＳＩＭ（Subscriber Identity Module Card）カードなどのフラッシュメモリをオンチップに有するシステムでは、チップサイズの制約があり、数多くのフラッシュメモリをオンチップに持つことが出来ない。また同時に複数のメモリバンクのデータ消去をすること、データ消去回数が多いことは、フラッシュメモリの寿命を短くするという問題と、低消費電力が求められる携帯電話用途のシステムでは消費電力が増えるという問題を生じる。フラッシュメモリの消去回数は無限ではない。
【０００９】
データ消去は時間がかかるので、同時に消去出来るメモリバンクが多いほど、インターリーブの効果は大きい。同時に複数のメモリバンクのデータ消去が出来ないシステムで、インターリーブ方式はバンク１つずつ直列にデータ消去しなければならず、消去時間がその分長くなり、消去回数が増えてしまう。非インターリーブアクセス方式は、データ消去は使用する1バンクのみ行えば良い。しかし一方で、リードアクセスはインターリーブ方式の方が高速に行うことが出来る。
【００１０】
フラッシュメモリにライトするデータは、高速にアクセスすることが必要なデータ、データの書き換えが頻繁に発生するデータとデータの性質が異なるものが存在するが、どちらかのメモリアクセス方式のみではこれらの両立は難しい。
【００１１】
物理的に複数バンクからなるメモリシステムにおいて、複数バンクをインターリーブメモリとしてメモリアクセスを高速化する方法がある。フラッシュメモリはデータを書く前に、あるブロック単位でデータ消去する必要があり、データ消去はシステムの動作クロックに対して、非常に長い時間がかかり、データ消去中は消費電力が増大する。ＳＩＭカードなどのフラッシュメモリをオンチップに有するシステムでは、物理的に数多くのフラッシュメモリを持つことが出来ず、複数のフラッシュメモリを同時にデータ消去することは低消費電力の観点で問題である。
【００１２】
本実施形態のアドレス生成回路は、ＳＩＭカードなどのフラッシュメモリをオンチップに有する半導体システムにおいて、フラッシュメモリのパーティション機能を提供する。これにより、フラッシュメモリのアクセス速度重視のインターリーブ方式と、データ消去時間重視の非インターリーブ方式を同一システム内で実現し、かつインターリーブアクセス領域と非インターリーブアクセス領域の分割をプログラマブルに設定できる機能を持つ半導体装置を提供することが可能となる。
【００１３】
図１に示すように物理的に２つのバンク（Ｂａｎｋ）（バンク０とバンク１）からなるフラッシュメモリをインターリーブ領域１、非インターリーブ領域２に分割する。分割するアドレスがパーティションアドレス３であり、分割する機能がパーティション機能である。
【００１４】
フラッシュメモリは、セクタ、ページというブロックに分割されており、データ消去はセクタ単位又はページ単位で行う。両バンク同時にアクセス出来ないシステムでは、インターリーブ領域１と非インターリーブ領域２とでは、図２に示すようにデータ消去および読み出しの単位となるセクタサイズ、ページサイズは異なる。インターリーブ領域１のセクタ、ページサイズは非インターリーブ領域２の倍なので、データ消去の時間も倍になる。
【００１５】
フラッシュメモリのリード、ライトアクセスは、例えば、ワード単位(４バイト)でのみ実行出来る。フラッシュメモリに入力するアドレスはワードアドレスである。インターリーブ領域１の偶数ワードアドレス番地はバンク０に、奇数ワードアドレス番地はバンク１にマッピングされる。連続するワードアドレスをアクセスすると、ワード単位ごとに交互にバンク０とバンク１をアクセスすることになる。一方、非インターリーブ領域２は、セクタ毎(４Ｋバイト)にバンク０、バンク１にマッピングされる。同じセクタ内のアドレスは、同じバンク内にマッピングする。パーティションアドレス３の設定は、図２で示したインターリーブ領域１におけるデータ消去および読み出しの単位である８Ｋバイト単位で設定する。
【００１６】
図３は、ＳＩＭカードなどのフラッシュメモリをオンチップに有するシステムにおいて図１のようなデータ記憶を実現するためにフラッシュメモリに入力する物理アドレスを生成するアドレス生成回路１００を示している。フラッシュメモリの総バイト数が１Ｍバイトのフラッシュメモリとすると、バンク０およびバンク１はそれぞれが５１２Ｋバイトであり、ワードアクセスならば、物理アドレスは、１７ビットアドレスが必要である。ＨＡＤＤＲ［１９：２］１１０はＣＰＵ１０が出力するアクセスアドレスである。このＨＡＤＤＲ［１９：２］１１０は、バスの状態に依存してバスがビジー（busy）の場合はアドレスデータをホールドする保持回路５を経て、セレクタ４１およびセレクタ４２に転送される。セレクタ４１から出力されるバンク選択信号ＢＡＮＫＳＥＬＥＣＴ１０１は、いずれのバンクが選択されたかを示す信号である。セレクタ４２から出力されるＦＡＤＤＲ１０２は、フラッシュメモリ（バンク０およびバンク１）に入力される物理アドレスである。
【００１７】
本実施形態においては、例えば、高速にアクセスすることが必要なデータはインターリーブ領域１に配置し、データの書き換えが頻繁に発生するデータは非インターリーブ領域２に配置するように、ユーザがパーティションアドレス３として所望の値を決定する。具体的には、例えば、ユーザが予め設定したパーティションアドレス３の値がＲＯＭ６０或いはフラッシュメモリ（バンク０およびバンク１）に記録されたＯＳに書き込まれており、レジスタ２０に対してＣＰＵ１０からパーティションアドレス３の値を書き込み或いは読み出しが出来るようになっている。
【００１８】
レジスタ２０は比較器３０に対してパーティションアドレス３を設定する。インターリーブ領域１、非インターリーブ領域２の選択は、比較器３０において、ＣＰＵ１０からのアクセスアドレス（指定アドレス）がレジスタ２０に保持されているパーティションアドレス３と比較され、例えばアクセスアドレスがパーティションアドレス３より少ない値のアドレスである場合は、インターリーブ領域１へのアクセスと判定し、そうでない場合は非インターリーブ領域２へのアクセスであると判定する。
【００１９】
アクセスアドレスがインターリーブ領域１であるか非インターリーブ領域２であるかが決定すれば、物理アドレスＦＡＤＤＲ１０２、およびバンク選択信号ＢＡＮＫＳＥＬＥＣＴ１０１を決定することが出来る。具体的には、セレクタ４１およびセレクタ４２は以下のように動作する。
【００２０】
セレクタ４１は、アクセスアドレスが比較器３０によりインターリーブ領域１であると判定された場合は、アクセスアドレスの最下位ビットであるＮＶＡＤＤＲ［０］１０６をバンク選択信号ＢＡＮＫＳＥＬＥＣＴ１０１としてバンク０とバンク１に知らせる。非インターリーブ領域２であると判定された場合は、アクセスアドレスのそれより上位のビットである１０ビット目の値であるＮＶＡＤＤＲ［１０］１０７をバンク選択信号ＢＡＮＫＳＥＬＥＣＴ１０１としてバンク０とバンク１に知らせる。アクセスアドレスの１０ビット目の値を用いるのは、このビットが非インターリーブ領域２におけるセクタ単位のデータ量である４Ｋバイトごとの切り替えを示すビットであるからである。従って、非インターリーブ領域２であると判定された場合に、バンク選択信号ＢＡＮＫＳＥＬＥＣＴ１０１としてバンク０およびバンク１に知らせるアクセスアドレスの桁は、非インターリーブ領域２において連続して書き込むセクタ単位のデータ量に依存するので、当然ながら必ずしも１０ビット目に限定されるわけではない。
【００２１】
セレクタ４２は、アクセスアドレスが比較器３０によりインターリーブ領域１であると判定された場合は、アクセスアドレスからバンク選択信号ＢＡＮＫＳＥＬＥＣＴ１０１として用いたＮＶＡＤＤＲ［０］１０６を抜き取ったＮＶＡＤＤＲ［１７：１］１０４を物理アドレスＦＡＤＤＲ１０２としてバンク０とバンク１に知らせる。非インターリーブ領域２であると判定された場合は、アクセスアドレスからバンク選択信号ＢＡＮＫＳＥＬＥＣＴ１０１として用いたＮＶＡＤＤＲ［１０］１０７を抜き取った｛ＮＶＡＤＤＲ［１７：１１］，ＮＶＡＤＤＲ［９：０］｝１０５を物理アドレスＦＡＤＤＲ１０２としてバンク０とバンク１に知らせる。
【００２２】
図４は、図３のアドレス生成回路１００の機能構成を示したブロック図である。アドレス生成回路１００が備えるレジスタ２０および比較器３０は図３と同様であるが、バンク選択信号生成部５１は、図３の保持回路５およびセレクタ４１により実現される機能ブロックであり、物理アドレス生成部５２は、図３の保持回路５およびセレクタ４２により実現される機能ブロックである。
【００２３】
ＳＩＭカードなどのフラッシュメモリをオンチップに有するシステムにおいて、ＣＰＵ１０がアクセスアドレスを指定してバンク０とバンク１に対してデータの読み書きを実際に実行するためには、バンク０とバンク１に対して図４で示したアドレス生成回路１００とは別に図５に示すような読み出し線３００（バス）或いは書き込み線２００（バス）を設け、これらを用いて実際に読み書きするデータを転送する。
【００２４】
本実施形態によれば、システムを使用するユーザの用途によって、インターリーブ領域、或いは非インターリーブ領域の分割サイズをプログラマブルに設定することが可能になる。命令コードなどの、書き換え頻度の低いデータは、インターリーブ領域に配置することにより、高速なリードアクセスが可能になる。また、書き換え頻度の高いデータは、非インターリーブ領域に書き込むことによって、データ消去時間を少なくすることが可能になる。従って、書き込むデータの性質によって、インターリーブ領域および非インターリーブ領域を使い分けることで、処理時間を短くすることが可能となる。
【００２５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００２６】
１  インターリーブ領域、２  非インターリーブ領域、３  パーティションアドレス、１０  ＣＰＵ、２０  レジスタ、３０  比較器、５１  バンク選択信号生成部、５２  物理アドレス生成部。
【図１】
2014127075.tif 000003
【図２】
2014127075.tif 000004
【図３】
2014127075.tif 000005
【図４】
2014127075.tif 000006
【図５】
2014127075.tif 000007