(57)【要約】【課題】フラッシュメモリにデータを書き込む際の書き込み時間を短縮できる情報処理装置および情報処理方法を提供する。【解決手段】  情報処理装置１００には、データのビット分布を検出する検出手段と、検出手段による検出結果に基づいて、反転が必要か否かを判断する判断手段と、データの値を反転変換する変換手段が設けられ、書き込み時に、判断手段により書き込むデータにおいて０の値を検出し、判断手段によりデータの値が０が多いか否かを判断し、０が多い場合、反転が必要と判断され、データの値を同ビット長で反転変換して記憶手段に書き込み、また、読み出し時に、記憶手段から読み出された反転変換されたデータの値を元の値に変換して出力するようになされる。【選択図】        図１
2005157781.tif 000002
【特許請求の範囲】
【請求項１】
データの読み出しもしくは書き込みの少なくとも一方で、該データの値により読み書き処理時間が異なる記憶手段を有する情報処理装置において、
上記データの値を変換する変換手段を備え、
上記変換手段は、
書き込み時に、上記データの値を同ビット長で変換して上記記憶手段に書き込み、
読み出し時に、上記記憶手段から読み出された変換されたデータの値を元の値に変換して出力する
ことを特徴とする情報処理装置。
【請求項２】
上記データのビット分布を検出する検出手段と、
上記検出手段による検出結果に基づいて、変換処理が必要か否かを判断する判断手段と、
上記判断手段により変換処理が必要と判断される場合、上記データに変換処理を示す制御情報を設定する設定手段と、
上記データから変換処理を示す制御情報を検出する制御情報検出手段とを更に備え、
上記判断手段は、書き込みに時間がかかるデータの出現頻度の高いとき、処理が必要と判断する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上記記憶手段は、フラッシュメモリである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
上記変換手段は、上記データの読み書き単位で、同時に複数の記憶セル単位の変換を行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
上記変換手段は、書き込み時に書き込みに時間がかかるデータを書き込み時間の短いデータに変換する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
複数の記憶手段が存在する場合、上記変換手段は、所定の記憶手段に読み書きする場合のみ変換を行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
データの読み出しもしくは書き込みの少なくとも一方で、該データの値により読み書き処理時間が異なる記憶手段を有する情報処理装置における情報処理方法において、
書き込み時に、上記データの値を同ビット長で変換して上記記憶手段に書き込むステップと、
読み出し時に、上記記憶手段から読み出された変換されたデータの値を元の値に変換して出力するステップと
を備えることを特徴とする情報処理方法。
【請求項８】
上記データのビット分布を検出するステップと、
上記検出結果に基づいて、上記データの値の変換処理が必要か否かを判断する判断ステップと、
上記変換処理が必要と判断される場合、変換処理を示す制御情報を設定する設定ステップと、
書き込み時に、上記データから上記制御情報を検出する検出ステップとをさらに備え、
上記検出ステップで、上記制御情報が検出された場合、上記データの値を同ビット長で変換して上記記憶手段に書き込む
ことを特徴とする請求項７に記載の情報処理方法。
【請求項９】
上記変換処理は、上記データの読み書き単位で、同時に複数の記憶セル単位の変換を行う
ことを特徴とする請求項７に記載の情報処理方法。
【請求項１０】
上記変換処理は、書き込み時に書き込みに時間がかかるデータを書き込み時間の短いデータに変換する
ことを特徴とする請求項７に記載の情報処理方法。
【請求項１１】
複数の記憶手段が存在する場合、上記変換手段は、所定の記憶手段に読み書きする場合のみ変換を行う
ことを特徴とする請求項７に記載の情報処理方法。
【請求項１２】
書き込みデータに偏りがある場合のみ上記変換を行う
ことを特徴とする請求項７に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フラッシュＲＯＭ等のメモリにデータの書き込みもしくは読み出しを行う情報処理装置および情報処理方法に関する。詳しくは、データの読み出しもしくは書き込みの少なくとも一方で、データの値により読み書き処理時間が異なる記憶手段を有する情報処理装置に、データの値を変換する変換手段を設け、書き込み時に、データの値を同ビット長で変換して記憶手段に書き込み、読み出し時に、記憶手段から読み出された変換されたデータの値を元の値に変換して出力する構成とすることによって、書き込みに時間がかかるデータを書き込み時間の短いデータに変換して書き込みを行うことで、フラッシュメモリ等の書き込み時間の短縮化を図ることができるようにした情報処理装置等に係るものである。
【背景技術】
【０００２】
フラッシュＥＥＰＲＯＭ（Flash Electrically Erasable and Programmable Read Only Memory ）は、フラッシュメモリ、或いはフラッシュＲＯＭとも呼ばれ、書き込みはビット単位で可能であるが、消去は全ビットあるいはブロック単位（つまりまとまったビット数の単位）で行う、電気的に書き込み消去可能な読み出し専用メモリである。
【０００３】
従来、フラッシュメモリの書き込みにおいて、作成されたデータをそのまま書き込んでいた。そのため、書き込みデータが多い場合、書き込みに時間がかかるという問題があった。
【０００４】
これを解決するために、メモリのプログラム時間を短縮するできるプログラム電圧制御方法が提案されている（例えば、特許文献１参照）
この場合、不揮発性のメモリセルにデータをプログラムするときに、プログラム電圧を徐々に増加させながらこのプログラム電圧がメモリセルに複数回印加される。この際、プログラムする全てのメモリセルの閾値電圧が初期値に達するまで、プログラム電圧の増分は第１電圧に設定される。その後、閾値電圧が目標値に達するまで、プログラム電圧の増分は第２電圧に設定される。プログラム電圧をその増分を変えることなく上昇させることで、少ないプログラム回数で、メモリセルの閾値電圧を目標値に近づけることができる。また、閾値電圧が初期値を超えた後、プログラム電圧の増分を第２電圧に設定することで、閾値電圧の目標値に対する誤差を最小限にできる。この結果、メモリセルのプログラム時間を削減できる。
【０００５】
【特許文献１】特開２００３−１７３６８８号公報（第６,７頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、フラッシュメモリでは、データを書き込む際に、０の書き込みの方が１の書き込みより書き込み時間が長いため、書き込むデータの値が０が多い場合、従来のように、作成されたデータをそのまま書き込む際に、書き込みに要する時間が長くなり、書き込みには時間がかかるという問題点があった。
【０００７】
また、特許文献１の場合は、不揮発性のメモリのプログラム電圧を制御することで、メモリのプログラム時間を短縮することができるが、回路および電圧制御の複雑化が問題である。
【０００８】
そこで、この発明は、フラッシュメモリ等にデータを書き込む際の書き込み時間を短縮できるようにした情報処理装置および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る情報処理装置は、データの読み出しもしくは書き込みの少なくとも一方で、該データの値により読み書き処理時間が異なる記憶手段を有する情報処理装置において、データの値を変換する変換手段を備え、該変換手段は、書き込み時に、データの値を同ビット長で変換して記憶手段に書き込み、読み出し時に、記憶手段から読み出された変換されたデータの値を元の値に変換して出力するものである。
【００１０】
例えば、情報処理装置は、データのビット分布を検出する検出手段と、検出手段による検出結果に基づいて、変換処理が必要か否かを判断する判断手段と、判断手段により変換処理が必要と判断される場合、データに変換処理を示す制御情報を設定する設定手段と、データから変換処理を示す制御情報を検出する制御情報検出手段とを更に備え、判断手段は、書き込みに時間がかかるデータの出現頻度の高いとき、処理が必要と判断するようになされる。また、記憶手段はフラッシュメモリである。
【００１１】
この発明に係る情報処理方法は、データの読み出しもしくは書き込みの少なくとも一方で、該データの値により読み書き処理時間が異なる記憶手段を有する情報処理装置における情報処理方法において、書き込み時に、データの値を同ビット長で変換して記憶手段に書き込むステップと、読み出し時に、記憶手段から読み出された変換されたデータの値を元の値に変換して出力するステップとを備えるものである。
【００１２】
例えば、情報処理方法は、データのビット分布を検出するステップと、検出結果に基づいて、データの値の変換処理が必要か否かを判断する判断ステップと、変換処理が必要と判断される場合、変換処理を示す制御情報を設定する設定ステップと、書き込み時に、データから制御情報を検出する検出ステップとをさらに備え、この検出ステップで、制御情報が検出された場合、データの値を同ビット長で変換して記憶手段に書き込むようになされる。
【００１３】
この発明においては、情報の読み出しもしくは書き込みの少なくとも一方で、データの値により読み書き処理時間が異なる記憶手段を有する情報処理装置には、データの値を変換する変換手段を設け、書き込み時に、データの値を同ビット長で変換して記憶手段に書き込み、読み出し時に、記憶手段から読み出された変換されたデータの値を元の値に変換して出力することによって、書き込みに時間がかかるデータを書き込み時間の短いデータに変換して書き込みを行うようになされる。これにより、書き込みに時間がかかるデータを書き込み時間の短いデータに変換して書き込みを行うことで、フラッシュＲＯＭ等のメモリの書き込み時間の短縮を図ることが可能となる。
【００１４】
また、この発明においては、例えば、情報処理装置にはデータのビット分布を検出する検出手段と、検出手段による検出結果に基づいて、反転処理が必要か否かを判断する判断手段と、判断手段により変換処理が必要と判断される場合、データに変換処理を示す制御情報を設定する設定手段と、データから変換処理を示す制御情報を検出する制御情報検出手段とを更に備える。検出手段により書き込むデータにおいて０の値を検出し、判断手段によりデータの値が０が多いか否かを判断し、０が多い場合、反転処理が必要と判断され、設定手段によりデータに変換処理を示す制御情報が設定され、書き込み時に、制御情報が検出された場合、データの値を同ビット長で反転変換して記憶手段に書き込み、また、読み出し時に、記憶手段から読み出された反転変換されたデータの値を元の値に変換して出力するようになされる。これにより、フラッシュＲＯＭ等のメモリの書き込み時間の短縮を図ることが可能となると共に、データのビット分布の検出、および反転処理が必要かの判断を自動的に行うことが可能となる。
【発明の効果】
【００１５】
この発明によれば、情報処理装置には、データの値を変換する変換手段を設け、書き込み時に、データの値を同ビット長で変換して記憶手段に書き込み、また、読み出し時に、記憶手段から読み出された変換されたデータの値を元の値に変換して出力するものであり、書き込みに時間がかかるデータを書き込み時間の短いデータに変換して書き込みを行うことで、フラッシュＲＯＭ等のメモリの書き込み時間の短縮を図ることができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら、この発明の実施の形態の情報処理装置および情報処理方法について説明する。
【００１７】
図１は、本発明の実施の形態の情報処理装置１００の構成を示す図である。図１に示すように、情報処理装置１００は、ＣＰＵ（Central Processing Unit）１１と、バスインタフェース１２と、ＤＭＡＣ（Direct Memory Access Controller）１３と、ＲＡＭ（Random Access Memory）１４と、フラッシュメモリ１５と、ビデオインタフェース１６と、モニタ１７と、キーボードインタフェース１８と、キーボード１９と、ディスクインタフェース２０と、ＨＤＤ（Hard Disk Drive）２１とから構成されている。
【００１８】
ＣＰＵ１１は、バスインタフェース１２を介してバスに接続されている。ＣＰＵ１１は、バスを介してＲＡＭ１４及びフラッシュメモリ１５へのアクセスが可能となる。ＣＰＵ１１は、データの値を反転変換する変換手段として機能する。読み出しもしくは書き込み時に、データの値を同ビット長で反転変換するようになされる。
【００１９】
また、ＣＰＵ１１は、データのビット分布を検出する検出手段と、この検出手段による検出結果に基づいて、反転が必要か否かを判断する判断手段としても機能する。書き込み時に、判断手段により書き込むデータにおいて０の値を検出し、判断手段によりデータの値が０が多いか否かを判断し、０が多い場合、反転が必要と判断され、データの値を同ビット長で反転変換して記憶手段に書き込み、また、読み出し時に、記憶手段から読み出された反転変換されたデータの値を元の値に変換して出力するようになされる。
【００２０】
ＤＭＡＣ１３は、周辺機器とメモリの間のデータ転送を仲介する専用のブロックである。このＤＭＡＣ１３は、バスを介してＲＡＭ１４及びフラッシュメモリ１５へのアクセスが可能となる。またＤＭＡＣ１３は、ＣＰＵ１１を介さずに周辺機器とメモリの間で直接データを転送する処理を制御する。なお、上述した変換手段、検出手段および判断手段はＤＭＡＣ１３に設けられてもよい。
【００２１】
ＲＡＭ１４は、バスに接続されており、データ処理する際にワークエリアとして使用される。
【００２２】
フラッシュメモリ１５は、不揮発性半導体メモリの一種で、メモリセル（記憶単位）は、スタックトゲート型ＭＯＳトランジスタ１個で構成される。このフラッシュメモリ１５は、ＣＰＵ１１またはＤＭＡＣによりプログラム情報を書き込み、読み出し可能である。
【００２３】
モニタ１７は、ビデオインタフェース１６を介してバスに接続され、入力されたデータなどが表示される。また、キーボード１９は、キーボードインタフェース１８を介してバスに接続され、データを入力する手段である。また、ＨＤＤ２１は、ディスクインタフェース２０を介してバスに接続されている。このＨＤＤ２１は、各種データを記憶するものである。
【００２４】
図２は、フラッシュメモリ１５に書き込むプログラムやデータのビットの出現率を示したものである。図２に示すように、プログラム１、プログラム２およびデータファイルのビット０の出現率は、それぞれ６４．３％、５９．５％および８５．１％である。この結果により多数のプログラムまたはデータファイルのビット０の出現率は、ビット１よりも多い。
【００２５】
フラッシュメモリ１５において、ビット０の書き込みはビット１の書き込みより時間がかかる。そして、書き込みの際に、プログラムやデータをビット変換を行うことで、書き込み時間を早くすることが可能である。
【００２６】
続いて、図面を参照しながら、情報処理方法について、本発明に係る情報処理装置１００の動作例を説明する。
【００２７】
図３は、書き込み時の動作例を示すフローチャートである。図３に示すように、情報処理装置１００において、データを書き込み時に、まず、ステップＳ１１で、書き込みデータを作成する。例えば、所定のプログラムを作成する。次に、ステップＳ１２で、データ分布を検出する。ここで、ＣＰＵ１１（検出手段）により、ステップＳ１１で作成した書き込みデータに０の出現率を調べる。
【００２８】
次に、ステップＳ１３で、反転処理が必要か否かを判断する。この場合、上述のステップＳ１２での検出結果に基づいて、０の出現率が多い場合、反転処理が必要と判断される。判断はＣＰＵ１１（判断手段）で行われる。
【００２９】
ステップＳ１３で反転処理が必要と判断された場合には、ステップＳ１４で、反転設定をレジスタに書き込む。なお、ステップＳ１３で反転処理が不必要と判断された場合には、ステップＳ１５へ進む。
【００３０】
次に、ステップＳ１５で、反転識別フラグを設定する。ここで、予め位置とビット値がわかっているデータでよい、例えば、反転識別フラグに１を設定する。そして、ステップＳ１６で、書き込みデータをＲＡＭ１４に読み出す。例えば、読み出されたデータは、「０ｘ００Ａ４」である。このデータは、ビット１が３個であり、ビット０が１３個である。
【００３１】
次に、ステップＳ１７で、レジスタは反転設定されたか否かを判断する。レジスタは反転設定されたと判断された場合には、ステップＳ１８で、データのビット反転を行う。ここで、例えば、データ「０ｘ００Ａ４」からデータ「０ｘＦＦ５Ｂ」に反転される。このデータは、ビット１が１３個であり、ビット０が３個である。
【００３２】
次に、ステップＳ１９で、反転処理により得られたデータをフラッシュメモリ１５に書き込む。そして、書き込み動作を終了する。
【００３３】
このように、ビット０の多いデータをビット０の少ないデータに変換して書き込みを行うことで、書き込み速度が向上することができる。
【００３４】
また、図４は、読み出し時の動作例を示すフローチャートである。図４に示すように、情報処理装置１００において、データを読み出し時に、まず、ステップＳ２１で、フラッシュメモリ１５から非反転で反転識別フラグを読み出す。ここで、予め位置とビットがわかっているデータが反転されているかで反転書き込みされたかが分かる。
【００３５】
次に、ステップＳ２２で、レジスタに反転、非反転情報を設定する。そして、ステップＳ２３で、フラッシュメモリ１５からデータを読み出す。例えば、データ「０ｘＦＦ５Ｂ」が読み出される。このデータは、ビット１が１３個であり、ビット０が３個である。
【００３６】
次に、ステップＳ２４で、レジスタは反転設定であるか否かを判断する。ここで、レジスタは反転設定であると判断された場合には、ステップＳ２５で、読み出されたデータをビット反転処理する。例えば、データ「０ｘＦＦ５Ｂ」からデータ「０ｘ００Ａ４」に反転される。このデータは、ビット１が３個、ビット０が１３個であり、書き込み前のデータと同一である。得られたデータを出力して、読み出し動作を終了する。
【００３７】
図５は、書き込みデータおよび読み出しデータの状態を示す図である。図５（ａ）は、反転書き込み、反転読み出しの場合のデータ状態を示している。図５（ｂ）は、非反転書き込み、非反転読み出しの場合のデータ状態を示している。
【００３８】
図５（ａ）に示すように、書き込みデータの先頭１ビットでは反転識別フラグである。この反転識別フラグは、例えば”０”である場合、反転書き込みを行う。フラッシュメモリに反転されたデータが書き込まれる。読み出し時は、反転識別フラグを認識して、反転読み出しを行うことで、図に示す反転読み出しデータが得られる。
【００３９】
また、図５（ｂ）に示すように、書き込みデータの先頭１ビットでは反転識別フラグである。この反転識別フラグは、例えば”１”である場合、非反転書き込みを行う。フラッシュメモリに書き込みデータをそのまま書き込む。読み出し時は、非反転識別フラグを認識して、非反転読み出しを行うことで、図に示す読み出しデータが得られる。
【００４０】
このように本実施の形態においては、情報処理装置１００にデータのビット分布を検出する検出手段と、検出手段による検出結果に基づいて、反転が必要か否かを判断する判断手段と、データの値を反転変換する変換手段が設けられ、書き込み時に、判断手段により書き込むデータにおいて０の値を検出し、判断手段によりデータの値が０が多いか否かを判断し、０が多い場合、反転が必要と判断され、データの値を同ビット長で反転変換して記憶手段に書き込み、また、読み出し時に、記憶手段から読み出された反転変換されたデータの値を元の値に変換して出力するようになされる。
【００４１】
これにより、フラッシュＲＯＭ等のメモリの書き込み時間の短縮化を図ることができる。高速書き込みにより、データ書き込み工程の生産性が向上する。また、データのビット分布の検出、および反転処理が必要かの判断を自動的行うことができ、データ書き換え作業が容易になる。
【００４２】
なお、上述実施の形態においては、図６（ａ）に示すように、データの反転変換は１ビット単位で行うものであり、例えば、Ｂ’０００１１０１１のデータ中の「０」を「１」に変換し、「１」を「０」に変換するようになされているが、これに限定されるものではない。１セル複数ビットの場合、例えば、図６（ｂ）に示すように、２ビットずつ変換してもよい。この場合、Ｂ’０００１１０１１のデータ中の「００」を「１１」に変換し、「０１」を「０１」に、「１０」を「１０」に、「１１」を「００」に変換するようになされる。
【００４３】
このように、ビット０の多いデータをビット０の少ないデータに変換して書き込みを行うことで、書き込み速度を向上することができる。
【００４４】
また、上述実施の形態においては、情報処理装置１００にデータのビット分布を検出する検出手段と、該検出手段による検出結果に基づいて、反転が必要か否かを判断する判断手段とを設けるものであるが、これに限定されるものではない。例えば、予めデータのビット分布調べ、反転が必要かを判断して、反転識別フラグをデータに設定するようにしてもよい。
【００４５】
また、上述実施の形態においては、記憶手段は、フラッシュメモリとしたが、これに限定されるものではない。他のデータの値により読み書き処理時間が異なるメモリを記憶手段として用いてもよい。
【産業上の利用可能性】
【００４６】
以上のように、この発明に係る情報処理方法を用いた情報処理装置において、データの値により読み書き処理時間が異なるフラッシュメモリに対して、書き込み時間を短縮し、高速書き込みにより、データ書き込み工程の生産性が向上する目的に利用できる。
【図面の簡単な説明】
【００４７】
【図１】実施の形態の情報処理装置の構成例を示す図である。
【図２】プログラムおよびデータファイルのビット分布例を示す図である。
【図３】書き込み時の情報処理装置１００の動作例を示すフローチャートである。
【図４】読み出し時の情報処理装置１００の動作例を示すフローチャートである。
【図５】データ状態例を示す図である。
【図６】ビット変換例を示す図である。
【符号の説明】
【００４８】
１１・・・ＣＰＵ、１２・・・バスインタフェース、１３・・・ＤＭＡＣ、１４・・・ＲＡＭ、１５・・・フラッシュメモリ、１６・・・ビデオインタフェース、１７・・・モニタ、１８・・・キーボードインタフェース、１９・・・キーボード、２０・・・ディスクインタフェース、２１・・・ＨＤＤ、１００・・・情報処理装置、
【図１】
2005157781.tif 000003
【図２】
2005157781.tif 000004
【図３】
2005157781.tif 000005
【図４】
2005157781.tif 000006
【図５】
2005157781.tif 000007
【図６】
2005157781.tif 000008