(57)【要約】【課題】ＤＲＡＭなどの揮発性メモリ装置に係わり、リフレッシュ時に必要な消費電力の低減を実現できる技術を提供する。【解決手段】本コンピュータシステム１は、ＤＲＡＭ２とＣＰＵ４を含んで成り、例えばＣＰＵ４側にデータ反転制御回路１００を備える。データ反転制御回路１００は、ＤＲＡＭ２への書き込み時（ａ）のデータにおける所定幅の書込データ単位ごとに、値“１”の数が過半数かどうかを判定し、過半数である場合は、値“１”／“０”を反転処理する。またデータ反転制御回路１００は、ＤＲＡＭ２からの読み出し時（ｂ）のデータにおける所定幅の読出データ単位ごとに、上記反転状態の値“１”／“０”を反転処理して復元し、読み出しデータとする。上記構成により、ＤＲＡＭ２におけるリフレッシュ動作の対象となる値“１”が記憶されるメモリセルの数を少なくする。【選択図】図１
2012216248.tif 000002
【特許請求の範囲】
【請求項１】
メモリセル群と前記メモリセル群へのデータリフレッシュ処理を実行する手段を備えた揮発性メモリ装置と、
演算装置と、
前記演算装置と前記揮発性メモリ装置との間の所定幅のデータ単位で行われるデータの書き込み処理及びデータ読み出し処理を制御するデータ制御回路と、
データ反転制御回路とを備え、
前記データ反転制御回路は、
前記演算装置からの前記揮発性メモリ装置へのデータ書き込み時において、書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“１”の数が過半数かどうかを判定し、前記過半数である場合は、当該書込データ単位における値“１”／“０”を反転処理して前記揮発性メモリ装置への書き込みデータとする第１データ処理手段と、
前記揮発性メモリ装置から前記演算装置へのデータ読み出し時において、読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位における反転処理の状態を判定して前記メモリセル群に記憶されている当該データ単位が反転状態の場合は、当該読出データ単位における値“１”／“０”を反転処理して復元し、前記演算装置への読み出しデータとする第２データ処理手段と、
を備えてなり、
前記構成により、前記揮発性メモリ装置のメモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“１”が記憶されるメモリセルの数を少なくすることを特徴とするコンピュータシステム。
【請求項２】
メモリセル群と前記メモリセル群へのデータリフレッシュ処理を実行する手段を備えた揮発性メモリ装置と、
演算装置と、
前記演算装置と前記揮発性メモリ装置との間のデータの書き込み処理及びデータ読み出し処理を所定幅のデータ単位で行うデータ制御回路と、
データ反転制御回路とを備え、
前記データ反転制御回路は、第１データ処理手段と、第２データ処理手段と、を備え、
前記第１データ処理手段は、前記演算装置からの前記揮発性メモリ装置へのデータ書き込み時において、
書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“１”の数を検出する処理と、
前記書込データ単位における過半数が値“１”であるかどうかを判定し、過半数である場合は、反転フラグに値“１”を設定し、否の場合は、当該反転フラグに値“０”を設定する処理と、
前記反転フラグが値“１”の場合は、当該書込データ単位における値“１”／“０”を反転処理し、当該反転フラグとセットで前記揮発性メモリ装置への書き込みデータとする処理と、を実行するように構成されてなり、
前記第２データ処理手段は、前記揮発性メモリ装置からの前記演算装置へのデータ読み出し時において、
読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位に対応する前記反転フラグの値を判定し、前記反転フラグの値“１”の場合は、前記メモリ群に記憶されている当該読出データ単位における値“１”／“０”を反転処理して復元し、前記演算装置への読み出しデータとする処理、を実行するように構成されてなり、
前記構成により、前記揮発性メモリ装置のメモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“１”が記憶されるメモリセルの数を少なくすることを特徴とするコンピュータシステム。
【請求項３】
前記第１データ処理手段は、前記書込データ単位において値“１”を下位側にシフトする処理を行い、前記所定幅のビット数をＲとするとき、前記シフト処理後のデータ配列において、ｍ＝［（Ｒ／２）＋１］で演算されるビットの値が“１”のとき、前記反転フラグに値“１”を設定する処理を実行することを特徴とする請求項２記載のコンピュータシステム。
【請求項４】
前記所定幅は、前記リフレッシュ動作の単位である行単位であることを特徴とする請求項１乃至３のいずれか記載のコンピュータシステム。
【請求項５】
前記データ反転制御回路は、前記データ制御回路に設けられていることを特徴とする請求項１乃至４のいずれか記載のコンピュータシステム。
【請求項６】
前記データ反転制御回路は、前記揮発性メモリ装置に設けられてなることを特徴とする請求項１乃至５のいずれか記載のコンピュータシステム。
【請求項７】
コンピュータシステムに装着して使用され、前記コンピュータシステムの演算装置との間のデータの書き込み処理及び読み出し処理が所定幅のデータ単位ごとに行われる揮発性メモリ装置であって、
メモリセル群と、
前記メモリセル群に対するデータリフレッシュを実行する手段と、
前記演算装置と前記メモリセル群との間のデータ書き込み処理および前記メモリセル群からのデータ読み出し処理を制御するデータ反転制御回路とを備え、
前記データ反転制御回路は、
前記演算装置から揮発性メモリ装置へのデータ書き込み時において、前記メモリ群への書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“１”の数が過半数かどうかを判定し、前記過半数である場合は、当該書込データ単位における値“１”／“０”を反転処理して前記メモリ群への書き込みデータとする第１データ処理手段と、
前記揮発性メモリ装置から前記演算装置へのデータ読み出し時において、前記メモリ群からの読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位における前記反転処理の状態を判別し、前記メモリ群に記憶されている当該データ単位が反転状態の場合は、当該読出データ単位における値“１”／“０”を反転処理して復元して前記演算装置への読み出しデータとする第２データ処理手段と、を備えてなり、
前記構成により、前記メモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“１”が記憶されるメモリセルの数を少なくすることを特徴とする揮発性メモリ装置。
【請求項８】
コンピュータシステムに装着して使用され、前記コンピュータシステムの演算装置との間のデータの書き込み処理及び読み出し処理が所定幅のデータ単位ごとに行われる揮発性メモリ装置であって、
メモリセル群と、
前記メモリセル群に対するデータリフレッシュを実行する手段と、
前記メモリセル群に対するデータ書き込み処理および前記メモリセル群からのデータ読み出し処理を制御するデータ反転制御回路とを備え、
前記データ反転制御回路は、第１データ処理手段と、第２データ処理手段と、を備え、
前記第１データ処理手段は、前記演算装置からのデータ書き込み時において、
前記メモリ部群への書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“１”の数を検出する処理と、
前記値“１”の数及び前記特定ビットの情報を用いて、前記書込データ単位における過半数が値“１”であるかどうかを判定し、過半数である場合は、反転フラグに値“１”を設定し、否の場合は、当該反転フラグに値“０”を設定する処理と、
前記反転フラグが値“１”の場合は、当該書込データ単位における値“１”／“０”を反転処理し、当該反転フラグとセットで前記メモリ群への書き込みデータとする処理と、を実行するように構成されてなり、
前記第２データ処理手段は、前記メモリ群からの前記演算装置へのデータ読み出し時において、
読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位に対応する前記反転フラグの値を判定し、前記反転フラグのが値“１”の場合は、前記メモリ群に記憶されている当該読出データ単位における値“１”／“０”を反転処理して復元し、前記演算装置への読み出しデータとする処理、を実行するように構成されてなり、
上記構成により、前記メモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“１”が記憶されるメモリセルの数を少なくすることを特徴とする揮発性メモリ装置。
【請求項９】
前記第１データ処理手段は、前記書込データ単位において値“１”を下位側にシフトする処理を行い、前記所定幅のビット数をＲとするとき、前記シフト処理後のデータ配列において、ｍ＝［（Ｒ／２）＋１］で演算されるビットの値が“１”のとき、前記反転フラグに値“１”を設定する処理を実行することを特徴とする請求項８記載の揮発性メモリ装置。
【請求項１０】
前記所定幅は、前記データリフレッシュ動作の単位である行単位であることを特徴とする請求項７乃至９のいずれか記載の揮発性メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＲＡＭ等の揮発性メモリ装置、及びそれを含んで成るコンピュータシステムに関し、特に、ＤＲＡＭのリフレッシュ動作に関する。
【背景技術】
【０００２】
揮発性メモリを代表するＤＲＡＭは、メモリセルに蓄えられた電荷によって情報（“１”）を記憶する。このメモリセルの電荷は、素子内部の漏れ電流によって徐々に失われていき、電荷の無い状態（“０”）との区別が困難になってくる。そこで、ＤＲＡＭにはメモリセルに対して定期的に電荷を補充するリフレッシュ処理回路が設けられている。
【０００３】
リフレッシュは１行単位で行われ、１行内の各メモリセルは同時にアクセスされて電荷補充が実施される。規定された時間内（数十ミリ秒程度）に素子（メモリ）内の全ての行についてリフレッシュが行われる。複数の各行は例えば順次にリフレッシュが行われる。
【０００４】
しかし、微細加工技術が向上しメモリ容量が増大するに伴いリフレッシュ処理に要する消費電流が増大しその低減が必要となっており、そのための対応策がいろいろ提案されている。例えば、特開２００６−４８８４５号公報（特許文献１）には、複数のワード線を同時に選択してセルフリフレッシュを行うことで消費電力の低減を可能にすることが、また、特許第３７１４４８９号（特許文献２）には、メモリセルの情報保持時間に合わせて合理的にリフレッシュを行わせることが、さらには、特許第３１７７２０７号（特許文献３）には、意味ある情報を記憶したデータ保持のためにリフレッシュを必要とするＤＲＡＭなど記憶装置のリフレッシュ間隔をスリープ状態において最適化することがそれぞれ提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−４８８４５号公報
【特許文献２】特許第３７１４４８９号
【特許文献３】特許第３１７７２０７号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願発明者の検討したところによると、一般的なＤＲＡＭが備えるリフレッシュ回路において、上記リフレッシュを行うときには、メモリセルに蓄えられた電荷を読出し、基準値以上であるなら電荷を補充するが（メモリセルに“１”が記憶されている場合はリフレッシュにより電荷が補充される方式）、これにより電力を消費してしまう。即ち、情報“１”が記憶されているメモリセルが多いほど、消費電力が多くなる。
【０００７】
特に、例えば携帯パソコンや携帯電話機など電池（バッテリ）を電源とする電子機器では低消費電力化が必要で、リフレッシュ処理に要する消費電力の低減も重要である。
【０００８】
以上を鑑み、本発明の主な目的は、ＤＲＡＭなどの揮発性メモリ装置に係わり、リフレッシュ時に必要な消費電力の低減を実現できる技術を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明のうち代表的な形態は、ＤＲＡＭなどの揮発性メモリ装置及びそれを含むコンピュータシステムであって、以下に示す構成を有することを特徴とする。本システムでは、揮発性メモリ装置のメモリセル群に対して書き込みデータの値（“１”または“０”）を記憶させる際に、データ反転によって全体的に値“１”が少なくなるように制御する。特に、リフレッシュ動作の単位に対応した所定幅（例えば行単位）の書き込みデータ毎にデータの値を判定し、過半数が“１”の場合は当該所定幅のデータ単位でデータ値（“１”または“０”）を反転処理し、当該書き込みデータ毎に含まれる“１”の数が半数以下になるようにする。これにより、データ反転によって全体的に値“１”が少なくなるように制御し、リフレッシュ時の電荷補充の対象となるメモリセル数を減らすことで消費電力を低減する。
【００１０】
本システムでは、データ書き込み時に、書込データ単位における値“１”の数が過半数であるかどうかを判定し、値“１”の数が過半数であると認識した場合は、当該書込データ単位における値“１”／“０”を反転する処理を実行する手段を有する。また、揮発性メモリ装置からのデータ読み出し時に、メモリ群に記憶されている読み出し対象となる読出データ単位における反転状態を認識し、反転状態の場合は当該読出データ単位における値“１”／“０”を反転して復元し、制御演算部へデータを転送する。
【００１１】
また、上記書込データ単位及び読出データ単位に対して、上記値“１”の数が過半数であるかどうか及び上記反転状態かどうかを表すフラグを設定し、読み出し時に当該フラグで読み出し対象となるデータ単位が反転状態で記憶されているかどうかを判定することができる。
【００１２】
本発明によるコンピュータシステムは、例えば、メモリセル群とデータリフレッシュ処理手段を備えた揮発性メモリ装置と、演算装置と、前記揮発性メモリ装置と前記演算装置との間の所定幅のデータ単位で行われるデータの書き込み処理及び読み出し処理を制御するデータ制御回路と、データ反転制御回路を備え、前記データ反転制御回路は、前記演算装置からの前記揮発性メモリ装置へのデータ書き込み時において、書き込みデータにおける所定幅の書込データ単位ごとに、前記書込データ単位における値“１”の数が過半数かどうかを判定し、前記過半数が値“１”である場合は、当該書込データ単位における値“１”／“０”を反転処理し、前記揮発性メモリ装置への書き込みデータとするデータ処理手段と、前記揮発性メモリ装置から前記演算装置へのデータ読み出し時において、読み出しデータにおける所定幅の読出データ単位ごとに、前記読出データ単位における反転処理の状態を判定し、前記メモリ群に記憶されている当該データ単位が反転状態の場合は、当該読出データ単位における値“１”／“０”を反転処理して復元し、前記演算装置への読み出しデータとするデータ処理手段と、を有する。上記構成により、前記揮発性メモリ装置のメモリセル群に記憶されるデータ全体におけるリフレッシュ動作の対象となる値“１”が記憶されるメモリセルの数を少なくする。
【００１３】
本発明の一態様によれば前記データ反転制御回路は前記データ制御回路に設けることができる。また本発明の他の一態様によれば、前記データ反転制御回路は前記揮発性メモリ装置に設けることができる。
【００１４】
本発明による揮発性メモリ装置は、コンピュータシステムに装着して使用され、前記コンピュータシステムの演算装置との間のデータの書き込み処理及びデータ読み出し処理が所定幅のデータ単位ごとに行われるものであり、メモリセル群と、前記メモリセル群に対するデータリフレッシュを実行する手段と、前記メモリセル群に対するデータ書き込み処理および前記メモリセル群からのデータ読み出し処理を制御するデータ反転制御回路とを備え、前記データ反転制御回路は、前記演算装置から揮発性メモリ装置へのデータ書き込み時において、前記メモリ群への書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“１”の数が過半数かどうかを判定し、前記過半数である場合は当該書込データ単位における値“１”／“０”を反転処理して前記メモリ群への書き込みデータとする第１データ処理手段と、揮発性メモリ装置から前記演算装置へのデータ読み出し時において、前記メモリ群からの読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位における前記反転処理の状態を判別して前記メモリ群に記憶されている当該データ単位が反転状態の場合は、当該読出データ単位における値“１”／“０”を反転処理して復元し、前記演算装置への読み出しデータとする第２データ処理手段と、を備えてなり、前記構成により、前記メモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“１”が記憶されるメモリセルの数を少なくすることを特徴とする。
【発明の効果】
【００１５】
本発明のうち代表的な形態によれば、ＤＲＡＭなどの揮発性半導体記憶装置に係わり、データリフレッシュ時に必要な消費電力の低減を実現できる。これにより、例えば携帯パソコンや携帯電話機など電池駆動の電子機器の、使用時間を長くすることや、発熱の低減などが実現できる。
【図面の簡単な説明】
【００１６】
【図１】本発明が適用されるコンピュータシステムの一例を示すブロック構成を示す図である。
【図２】図１のデータ反転制御回路の詳細に関するブロック構成を示す図である。
【図３】図１のＤＲＡＭ（揮発性メモリ装置）の詳細に関するブロック構成を示す図である。
【図４】データ反転制御回路の処理フロー図である。
【図５】図４の処理におけるＯＮ数検出回路及び特定ビット抽出回路の処理アルゴリズム例を示す処理フロー図である。
【図６】図５の処理アルゴリズム例に対応したデータ処理例を示す図であり、（ａ）は反転フラグの設定、（ｂ）は反転書込データの作成を示す。
【図７】本発明の実施の形態２のシステム（ＤＲＡＭシステム）のブロック構成を示す図である。
【図８】図７のデータ反転制御回路の詳細に関するブロック構成を示す図である。
【図９】コンピュータシステムにおけるＤＲＡＭに対するデータ処理を説明するブロック構成を示す図である。
【図１０】コンピュータシステムに搭載されたＤＲＡＭの詳細に関するブロック構成を示す図である。
【図１１】コンピュータシステムの一般的な構成の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、データ／情報の値“１”を「ＯＮ」、“０”を「ＯＦＦ」とも称する。
【００１８】
コンピュータシステム１（例えばパーソナルコンピュータ）は、図１１の一般的な概念構成図に示すように、図示しないＣＰＵコアを含むコンピュータ全体の動作を制御する制御装置、演算装置を含むＣＰＵ４、スロットコネクタに装着された１乃至複数の揮発性メモリ装置（ＤＲＡＭ）２で構成される主記憶装置、出力回路６、入力回路７、通信回路８等が、印刷配線基板（マザーボード）２上に搭載され相互に機能的にバスを介して接続されて構成される。主記憶装置となるＤＲＡＭ３はＤＣＬ（Digital Control Logic）５を介して演算装置に接続されており、制御装置の制御下でメモリ装置３へのデータ書き込み処理及びメモリ装置からのデータ読み出し処理が実行される構成になっている。ＤＲＡＭ３のそれぞれは複数のＤＲＡＭチップがメモリボード上に組み込まれておりメモリボードの一枚あるいは複数枚がマザーボードのスロットに装着される構成とされている。図１１の例では、制御装置、演算装置およびＤＣＬはＣＰＵ４として半導体基板上に一体に形成されたＬＳＩで構成されている。なお、ＣＰＵ（Central Processing Unit）の用語は大型コンピュータの処理装置を含む広義の用語であるが、制御装置及び演算装置が半導体基板上に一体に形成されたＬＳＩ(ワンチップ)構成のＣＰＵはＭＰＵ(Micro Processing Unit)あるいはMicro Processorともいわれる。
【００１９】
図１０は、ＤＲＡＭ２に関する構成例を示す。ＤＲＡＭ２のメモリ部２２として、メモリセルアレイ（Memory Cell Array）２０７（メモリバンクを構成する）と、行デコーダ（Row Decoder）２０４と、列デコーダ（Column Decoder）２０６と、センスアンプ（Sense Amp）２０５とを有する。行デコーダ２０４には、行アドレスバッファ（Row Address Buffer）及びリフレッシュカウンタ（Refresh Counter）２０１が接続され、列デコーダ２０６には、列アドレスバッファ（Column Address Buffer）２０２が接続されている。また列アドレスバッファ２０２とＤＣＬ５との間には制御論理（Control Logic）２０３が接続されている。メモリ部２２は、行と列からなるメモリセルアレイ２０７（メモリバンク）を含む。２１０はメモリセルアレイ２０７の行（行単位）の例を示す。
【００２０】
例えばＤＲＡＭ２へのデータ書き込み時には、ＣＰＵ４の演算装置からＤＣＬ５へ書き込みの指示及びデータ（DQ0-DQ15）信号、及び対応するアドレス（A0-A11）信号などが与えられる。そして矢印の流れに従って、メモリセルアレイ２０７のメモリセル群に対してデータ（値“１”／“０”）が書き込まれる。
【００２１】
また例えばセンスアンプ２０５にはリフレッシュ回路２１が内蔵されている。このリフレッシュ回路２１により、メモリセルアレイ２０７の列単位（２１０）でその複数の各メモリセル（容量）に対してリフレッシュ動作（値“１”のメモリセルに対して電荷を補充するプリチャージ動作）が自動的に実行される機構となっている。なお、メモリセルの電荷による電圧が所定閾値レベル（Ｖ／２）以上の場合は値“１”、所定閾値レベル（Ｖ／２）未満の場合は値“０”である。リフレッシュ（プリチャージ）動作の際には、メモリセルの電圧が所定閾値レベル（Ｖ／２）以上である値“１”のメモリセルが自動的に検出され、当該メモリセルの電荷量が所定電圧レベル（Ｖ）になるように補充する動作が行われる。この電圧（Ｖ）は時間経過によって次第に下がり所定閾値レベル（Ｖ／２）を下回るとデータ値が“０”に変わってしまう。よって、その時間経過よりも前にリフレッシュ（プリチャージ）する必要がある。メモリ部２２における値“１”のメモリセルが多いほど、リフレッシュに要する消費電力が大きくなる。
【００２２】
図９は、演算装置とＤＲＡＭ２の間のデータの流れを模擬的に示す図である。本発明者は、まず図９で図示される構成のコンピュータシステムについて検討した。図９のコンピュータシステム１はＤＲＡＭメモリセル群で構成されるメモリ部２２とＤＲＡＭメモリセルが保持する電荷の低下を補うリフレッシュ回路２１を含むＤＲＡＭ２（揮発性メモリ装置）がＤＣＬを介してＣＰＵ４の演算装置に接続された構成である。リフレッシュ回路２１は、与えられた書き込みデータに応じてメモリ部２２のメモリセル群に対するリフレッシュ動作を自動的に実行する回路である。本構成例に示すように、ＤＲＡＭ２の内部に自動的なリフレッシュ機構を備えることが一般的である。
【００２３】
ＣＰＵ４は、ＤＲＡＭ２に対するデータの読み書き等の情報処理の制御を行う制御回路が半導体基板上に作りこまれたＬＳＩであり、演算装置に接続されるＤＣＬ（Data Control Logic：データ制御論理）５を含む構成である。ＣＰＵ４は、ＤＲＡＭ２へデータを書き込むための書き込みデータの作成及び書き込み指示の発行や、ＤＲＡＭ２からデータを読み出すための読み出し指示の発行及び読み出しデータの取得などの処理を行う。ＤＣＬ５は、ＣＰＵ４からの制御に従って、ＤＲＡＭ２との間で所定の方式で命令や信号を授受する。例えば、A0-A11はアドレスを示す。BA0,BA1はバンクアドレスを示す。DQ0-DQ15は、データを示す。CKはクロックを示す。CKEはクロックイネーブルを示す。CEはチップイネーブルを示す。RASはRow（行）アドレスセレクトを示す。CASはColum（列）アドレスセレクトを示す。WEはWriteイネーブルを示す。
【００２４】
＜実施の形態１＞
図１〜図６を用いて、本発明の実施の形態１のコンピュータシステムについて説明する。実施の形態１では、図１に図示されるように、ＤＲＡＭ２とＣＰＵ４の演算装置との間のデータ書き込み及びデータ読み出しを制御するデータ制御回路ＤＣＬ５内に、本発明による機能（リフレッシュ消費電力低減のためのデータ反転制御機能）を実現するデータ反転制御回路１００を追加搭載した構成である。また本データ反転制御回路１００の構成では、データ書き込み時の機構と、それに対応するデータ読み出し時の機構とを備えている。本機能（１００）により、ＤＲＡＭ２（メモリ部２２）に書き込むデータにおける値“１”の数が少なくなるようにデータ反転制御することにより、リフレッシュに要する消費電力を低減する。
【００２５】
［システム構成］
図１に構成例が図示される実施の形態１のコンピュータシステム１は、図９のコンピュータシステム１に対して主に異なる箇所として、ＤＣＬ５の内部にデータ反転制御回路１００を備えた構成である。ＤＣＬ５とＤＲＡＭ２との間では図９と同様に信号が授受される。図１のａはデータ書き込み時、ｂはデータ読み出し時の流れ（概略）を示す。
【００２６】
図２は、図１のデータ反転制御回路１００の詳細を示している。データ反転制御回路１００は、反転フラグ設定回路１０１、書き込み時データ反転処理回路１０５、読み出し時データ反転処理回路（データ出力装置）１０６、などを備える構成である。反転フラグ設定回路１０１は、ＯＮ数検出回路１０２、特定ビット抽出回路１０３、フラグ値設定部１０４、などを備える構成である。これら各部の処理詳細は後述の図４〜図６で示される。
【００２７】
反転フラグ設定回路１０１は、データ書き込み時に、書き込みデータ（図２のａ）に対して反転フラグ（Ｆとする）を設定する処理を行う装置である。図２のａは、演算装置からＤＣＬ５への書き込みデータ（入力データ）を示し、１つ以上の行単位データ（この行とはＤＲＡＭ２（メモリセルアレイ）側の行（２１０）に対応する）を含む。
【００２８】
ＯＮ数検出回路１０２は、書込データにおける“１”（ＯＮ）の数（ｎとする）を検出する装置である。ＯＮ数（ｎ）は、所定幅（行単位）の書込データにおける値“１”（ＯＮ）の数である。本実施の形態では、所定幅（行単位）の書込データの“１”（ＯＮ）をＬＳＢ（最下位ビット）側へシフトさせるアルゴリズムを含む処理（図５）により、当該“１”（ＯＮ）の数（ｎ）を検出する。図２のｂは、ＯＮ数検出回路１０２により検出されるＯＮ数（ｎ）の情報を示す。
【００２９】
特定ビット抽出回路１０３は、所定幅（行単位）の書込データの特定ビット（ｍとする）を抽出する。特定ビット（ｍ）とは、所定幅（行単位）の書込データにおける所定の過半数の位置（半数に１を加算した数）のビットである。所定幅（行単位）のビット数をＲとすると、ｍ＝［（Ｒ／２）＋１］のビットである。図２のｃは、特定ビット抽出回路１０３により抽出される特定ビット（ｍ）の情報を示す。この特定ビット（ｍ）は、本実施の形態では、上記アルゴリズムを含む図５に図示されるシフト処理後のデータ配列における特定ビットにおける値が、所定幅（行単位）の書込データにおけるＯＮ数（ｎ）が過半数か否かを示すビットにもなっている。
【００３０】
フラグ値設定部１０４は、上記ＯＮ数（ｎ）と特定ビット（ｍ）の情報を用いて、所定幅（行単位）の書込データごとにフラグ（Ｆ）の値を設定する。本実施の形態では、上記アルゴリズムを含む処理（図５）に対応して、図５に図示されるシフト処理後のデータ配列における特定ビット（ｍ）の値をそのまま反転フラグ（Ｆ）の値に設定することができる。図２のｄは、フラグ値設定回路１０４により設定されるフラグ（Ｆ）値、及び当該フラグ（Ｆ）値に対応付けられる所定幅（行単位）の書込データを示す。
【００３１】
反転フラグ設定回路１０１の動作によって、所定幅（行単位）の書込データごとに、その過半数が値“１”のときには、対応する反転フラグ（Ｆ）にそのことを表す値“１”が設定される。そして、書き込み時データ反転処理回路１０５では、この反転フラグ（Ｆ）が“１”のときには、対応する所定幅（行単位）の書込データにおけるデータ（“１”／“０”）を反転させる。図２のｅは、ＤＣＬ５からＤＲＡＭ２への書き込みデータ（反転書込データ）であり、書き込み時データ反転処理回路１０５による反転処理済み状態の所定幅（行単位）の書込データとそれに対応するフラグ（Ｆ）値とのセットを１つ以上含むデータである。これにより、当該反転書込データ（図２のｅ）の書き込みによって、ＤＲＡＭ２のメモリセル群に保持される値“１”の数が減ることになる。即ちこれによりＤＲＡＭ２のメモリセル群に対するリフレッシュ時に対象となるメモリセルの数が減り、リフレッシュ（プリチャージ）の電荷の充填量が減ることになる。従って、本ＤＲＡＭシステム１ではリフレッシュ動作の消費電力の低減が実現される。
【００３２】
ＤＲＡＭ２からのデータ読み出し時には、読み出し時データ反転処理回路１０６を用いて、上記データ書き込み時の制御とは逆の制御が行われる。ＣＰＵ４からの読み出し指示に従い、ＤＣＬ５（データ反転制御回路１００）は、ＤＲＡＭ２（メモリセルアレイ２０７）から対象データを読み出す。図２のｆは、ＤＲＡＭ２からＤＣＬ５への読み出しデータ（反転読出データ）であり、反転処理済み状態の所定幅（行単位）の読出データとそれに対応するフラグ（Ｆ）値とのセットを１つ以上含むデータである。この読み出しデータ（図２のｆ）は、書き込み時の制御による反転状態のデータを含んでいるため、読み出し時データ反転処理回路１０６において、反転状態のデータを再反転により復元する処理を行う。読み出し時データ反転処理回路１０６は、読み出しデータ（図２のｆ）に含まれている所定幅（行単位）の読出データごとに、対応する反転フラグ（Ｆ）の値（“１”／“０”）を参照し、このＦ値が“１”の場合は、対応する所定幅（行単位）の読出データが反転状態であることを表しているため、当該読出データの値（“１”／“０”）を更に反転することで元（書き込み前）の状態に戻す。Ｆ値が“０”の場合は元の状態のままなのでそのまま出力すればよい。この動作により、書き込み時のデータ（図２のａ）と同一のデータ（図２のｇ）をＣＰＵ４へ出力することができる。
【００３３】
上記の所定幅とは、本実施の形態では、リフレッシュ動作の単位である行単位（図３の２１０）に対応する所定データビット幅（数）となる。なおリフレッシュの機構（方式）に応じてこの単位が行単位とは異なる場合、上記の所定幅は、行単位に限らず、対応する所定データビット幅の単位に変更した形態とすることができる。
【００３４】
図３は、図１のＤＲＡＭ２の詳細を示している。図３のＤＲＡＭ２は、図１０の構成に対して主に異なる箇所として、メモリ部２２（メモリセルアレイ２０７）において、行単位（２１０）のデータごとのフラグ（Ｆ）値を格納するための領域（フラグ領域２１１）を有する構成である。他の要素については図１０と概略同様である。例えば、リフレッシュ回路２１は、ＤＣＬ５側から与えられる書き込みデータ（反転書込データ：図２のｅ）に応じて、メモリ部２２（メモリセルアレイ２０７）のメモリセル群に対するリフレッシュ動作を行単位（２１０）で自動的に実行する。メモリセルアレイ２０７の複数の行に対しては例えば順次でリフレッシュ動作が行われ、１つの行に対してはそれに含まれる複数のメモリセルに対して同時にリフレッシュ（“１”（ＯＮ）状態のメモリセルに対する電荷の補充）が行われる。
【００３５】
［処理］
図４は、データ反転制御回路１００の処理フローを示す（Ｓ１０１等は処理ステップを表す）。図５は、ＯＮ数検出回路１０２及び特定ビット抽出回路１０３に関する処理アルゴリズム例を示す。図６は、図５に対応したデータ処理例を示し、（ａ）は反転フラグ（Ｆ）の設定、（ｂ）は反転書込データ（図２のｅ）の作成を示す。
【００３６】
図４で、Ｓ１０１では、データのアクセスの有無を判断し、アクセス有りの場合（Ｙ）は、Ｓ１０２では、当該アクセスが、ＤＲＡＭ２（メモリセル）へのデータ書き込み（Ｗｒｉｔｅ）の指示か、あるいは、ＤＲＡＭ２（メモリセル）からのデータ読み出し（Ｒｅａｄ）の指示かを判断する。Ｗｒｉｔｅの場合（Ｙ）はＳ１０３へ進み、Ｒｅａｄの場合（Ｎ）はＳ１１１へ進む。
【００３７】
Ｓ１０３では、書き込みデータ（図２のａ）をＣＰＵ４の演算回路から入力し、反転フラグ設定回路１０１の処理を行う。Ｓ１０４では、まず、ＯＮ数検出回路１０２の処理を行う。即ち、所定幅（行単位）の書込データにおける値“１”（ＯＮ）及びその数（ｎ）を検出する。Ｓ１０５では、特定ビット抽出回路１０３の処理を行う。即ち、当該所定幅（行単位）の書込データのビット数をＲとしたとき、ｍ＝［（Ｒ／２）＋１］ビットを特定ビットとして抽出する。Ｓ１０６では、反転フラグ設定回路１０１は、Ｓ１０４とＳ１０５の結果（ｎ，ｍ）を用いて、当該所定幅（行単位）の書込データのうち検出したＯＮ数（ｎ）が過半数か否かを判定する。本実施の形態ではｎ≧ｍを判定する。
【００３８】
上記判定で過半数である場合（Ｙ）はＳ１０７へ、半数以下である場合（Ｎ）はＳ１０８へ進む。そして、フラグ値設定部１０４により、Ｓ１０７では、当該書込データ（行単位）に対応するフラグ（Ｆ）値に“１”を設定し、Ｓ１０８では、当該書込データ（行単位）に対応するフラグ（Ｆ）値に“０”を設定する。設定したフラグ（Ｆ）値の情報を対応する書込データと共に出力する（図２のｄ）。書き込みデータ（図２のａ）における行単位データごとに上記同様の処理が行われる。
【００３９】
Ｓ１０９では、上記反転フラグ設定回路１０１の出力データ（図２のｄ）を用いて、書き込み時データ反転処理回路１０５による処理を行う。即ち、行単位の書込データごとに反転フラグ（Ｆ）値を参照し、Ｆ＝“１”が設定されている場合は、当該書込データの値（“１”／“０”）を反転する処理を行い、Ｆ＝“０”の場合は反転しない。この結果（行単位の書込データ＋反転フラグ（Ｆ）のセットを１つ以上含むデータ）を出力し、Ｓ１１０では、ＤＣＬ５からＤＲＡＭ２（メモリセル）へ反転書込データ（図２のｅ）として書き込み処理する。ＤＲＡＭ２側では、当該反転フラグ（Ｆ）を含んだデータ（図２のｅ）が、メモリ部２２（メモリセルアレイ２０７）へ格納される。反転フラグ（Ｆ）は図３のフラグ領域２１１へ格納されることになる。以上で書き込み時の処理を終え最初へ戻る。
【００４０】
Ｓ１１１では、ＣＰＵ４からの読み出し指示に従って、ＤＣＬ４は、ＤＲＡＭ２から対象データ（図２のｆ）を読み出し処理する。この結果（行単位の読出データ＋反転フラグ（Ｆ）のセットを１つ以上含むデータ）を入力し、Ｓ１１２では、読み出し時データ反転処理回路１０６による処理を行う。即ち、行単位の読出データごとに反転フラグ（Ｆ）の値を参照し、Ｆ＝“１”が設定されている場合は、当該読出データの値（“１”／“０”）を反転する処理を行い、Ｆ＝“０”の場合は反転しない。この結果（反転フラグ（Ｆ）は含まない）の読み出しデータ（図２のｇ）をＣＰＵ４へ出力する。以上で読み出し時の処理を終え最初へ戻る。
【００４１】
図５は、本実施の形態における図４のＳ１０４〜Ｓ１０６の処理に関する効率的な処理アルゴリズム例を示している。対応する処理例を図６に示している。図５で、ＯＮ数検出回路１０２は、Ｓ２０１では、書き込みデータ（図２のａ）を行単位データごとに入力する。Ｓ２０２では、行単位データごとに、“０”ビットから対象ビットとして以下の処理を開始する。Ｓ２０３では、対象ビットが最大ビットかどうかを判断し、最大ビットの場合（Ｙ）はＳ２０７へ進み、最大ビットではない場合（Ｎ）は、Ｓ２０４で、対象ビットの値＝“１”かどうかを判断し、“１”ではない場合（“０”の場合）（Ｎ）は、Ｓ２０５で、対象ビットを最大ビット側へシフトする。Ｓ２０６では、対象ビットを１ビットＭＳＢ（最上位ビット）側に変更し、Ｓ２０３へ戻る。Ｓ２０７では、以上の処理後のデータをもとに、書き込みデータの“１”（ＯＮ）の数（ｎ）を出力する。
【００４２】
図６（ａ）は、６０１で示す例えば６ビットデータ列の書込データ（“１１０１１０”）に対して、図５の処理を施した場合である。これにより、６０２で示すシフト後データ（“００１１１１”）では、各値“１”が最下位ビット側（右側）に寄せられている。このデータ（６０１）は、書込データ（６０１）のＯＮ数（ｎ）を表している。即ちｎ＝４の場合である。また、シフト後データ（６０２）における特定ビット（ｍ＝［（Ｒ／２）＋１］ビット）が抽出される。本例では、ｍ＝６／２＋１＝４ビット目となる。本例はｎ＝４かつｍ＝４の場合である。この特定ビット（ｍ）の値は、書込データ（６０１）の“１”（ＯＮ）の数（ｎ）が過半数かどうかを示すビットとなっている。本例では、ｍ＝４ビット目の値が“１”であり、過半数（４以上）であることを表している。そして、上記抽出した特定ビット（ｍ）の値がそのまま反転フラグ（Ｆ）（６０３）の値に設定される。
【００４３】
図６（ｂ）で、６０４は、６０１の書込データ（“１１０１１０”）を書き込み時データ反転処理回路１０５で反転処理した場合の反転書込データ（“００１００１”）を示している。この反転書込データ（６０４）に、１ビットの反転フラグ（Ｆ）（６０３）の値“１”が追加される。結果、６０４の反転書込データ（“００１００１”）では、値“０”が過半数（４個）、値“１”が半数以下（２個）となる。そのため、当該データに対してリフレッシュ動作がされる際には、対象となるメモリセル数が例えば２個（Ｆ値“１”を加えると３個）に抑えられ、反転前（４個）に比べて消費電力が少なくなる。より長いサイズの書き込みデータの場合には更に効果が顕著となる。
【００４４】
＜実施の形態２＞
次に、図７〜図８を用いて、本発明の実施の形態２のＤＲＡＭシステムについて説明する。以下実施の形態１とは異なる箇所のみ説明する。実施の形態２では、図７ａに示すように、コンピュータシステム１において、ＤＲＡＭ２側（内部）に、本発明による機能（リフレッシュ消費電力低減のためのデータ反転制御機能）を実現するデータ反転制御回路１００を追加搭載した構成である。また本データ反転制御回路１００の構成では、データ書き込み時の機構と、それに対応するデータ読み出し時の機構とを備えている。本機能（１００）により、実施の形態１と同様に、ＤＲＡＭ２（メモリ部２２）に書き込むデータにおける値“１”の数が少なくなるようにデータ反転制御することにより、リフレッシュに要する消費電力を低減する。変形例として、ＤＣＬ５をＣＰＵ４内に形成し、データ反転制御回路１００をＤＲＡＭ２側（内部）に搭載してもよい。
【００４５】
図８は、ＤＲＡＭ２内部にデータ反転制御回路１００を含む構成例を示す。データ反転制御回路１００の構成は、実施の形態１と同様であり、ａ〜ｇのデータ／情報も前述同様である。ＤＲＡＭ２は、ＣＰＵ４側から図９と同様の制御信号（アドレスや書き込み・読み出し制御信号など）を受け取る。データ反転制御回路１００は、例えば制御論理２０３によって書き込み（Ｗｒｉｔｅ）を認識すると、実施の形態１と同様に、反転フラグ設定回路１０１により書き込みデータに対して反転フラグ（Ｆ）を設定し、反転フラグが“１”の場合は、書き込み時データ反転処理回路１０５により書込データの値を反転させ、メモリ部２２への書き込みデータとする。読み出し（Ｒｅａｄ）時は、メモリ部２２（メモリセルアレイ２０７）からの読み出しデータ（反転フラグ（Ｆ）付き）から、読み出し時データ反転処理回路１０６により、反転フラグ（Ｆ）が値“１”の場合は、当該読出データを反転して復元し、ＣＰＵ４へ出力する。
【００４６】
以上説明したように、実施の形態１及び実施の形態２におけるＤＲＡＭ２のリフレッシュ時に必要な消費電力の低減を実現できる。これにより、例えば、携帯パーソナルコンピュータ、携帯電話機など電池駆動の情報処理装置に搭載される揮発性ＤＲＡＭの場合などにおいても、使用時間を長くすることや、発熱の低減などが実現できる。
【００４７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【００４８】
本発明は、揮発性メモリ装置を含んで構成される各種のシステム等に利用可能である。
【符号の説明】
【００４９】
１…コンピュータシステム、２…ＤＲＡＭ（揮発性メモリ装置）、３…印刷配線ボード、４…ＣＰＵ、５…ＤＣＬ、２１…リフレッシュ回路、２２…メモリ部、１００…データ反転制御回路、１０１…反転フラグ設定回路、１０２…ＯＮ数検出回路、１０３…特定ビット抽出回路、１０４…フラグ値設定部、１０５…書き込み時データ反転処理回路、１０６…読み出し時データ反転処理回路。
【図１】
2012216248.tif 000003
【図２】
2012216248.tif 000004
【図３】
2012216248.tif 000005
【図４】
2012216248.tif 000006
【図５】
2012216248.tif 000007
【図６】
2012216248.tif 000008
【図７】
2012216248.tif 000009
【図８】
2012216248.tif 000010
【図９】
2012216248.tif 000011
【図１０】
2012216248.tif 000012
【図１１】
2012216248.tif 000013