JP2012216248A - コンピュータシステム及び揮発性メモリ装置 - Google Patents
コンピュータシステム及び揮発性メモリ装置 Download PDFInfo
- Publication number
- JP2012216248A JP2012216248A JP2011078814A JP2011078814A JP2012216248A JP 2012216248 A JP2012216248 A JP 2012216248A JP 2011078814 A JP2011078814 A JP 2011078814A JP 2011078814 A JP2011078814 A JP 2011078814A JP 2012216248 A JP2012216248 A JP 2012216248A
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- unit
- write
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System (AREA)
- Dram (AREA)
Abstract
【課題】DRAMなどの揮発性メモリ装置に係わり、リフレッシュ時に必要な消費電力の低減を実現できる技術を提供する。
【解決手段】本コンピュータシステム1は、DRAM2とCPU4を含んで成り、例えばCPU4側にデータ反転制御回路100を備える。データ反転制御回路100は、DRAM2への書き込み時(a)のデータにおける所定幅の書込データ単位ごとに、値“1”の数が過半数かどうかを判定し、過半数である場合は、値“1”/“0”を反転処理する。またデータ反転制御回路100は、DRAM2からの読み出し時(b)のデータにおける所定幅の読出データ単位ごとに、上記反転状態の値“1”/“0”を反転処理して復元し、読み出しデータとする。上記構成により、DRAM2におけるリフレッシュ動作の対象となる値“1”が記憶されるメモリセルの数を少なくする。
【選択図】図1
【解決手段】本コンピュータシステム1は、DRAM2とCPU4を含んで成り、例えばCPU4側にデータ反転制御回路100を備える。データ反転制御回路100は、DRAM2への書き込み時(a)のデータにおける所定幅の書込データ単位ごとに、値“1”の数が過半数かどうかを判定し、過半数である場合は、値“1”/“0”を反転処理する。またデータ反転制御回路100は、DRAM2からの読み出し時(b)のデータにおける所定幅の読出データ単位ごとに、上記反転状態の値“1”/“0”を反転処理して復元し、読み出しデータとする。上記構成により、DRAM2におけるリフレッシュ動作の対象となる値“1”が記憶されるメモリセルの数を少なくする。
【選択図】図1
Description
本発明は、DRAM等の揮発性メモリ装置、及びそれを含んで成るコンピュータシステムに関し、特に、DRAMのリフレッシュ動作に関する。
揮発性メモリを代表するDRAMは、メモリセルに蓄えられた電荷によって情報(“1”)を記憶する。このメモリセルの電荷は、素子内部の漏れ電流によって徐々に失われていき、電荷の無い状態(“0”)との区別が困難になってくる。そこで、DRAMにはメモリセルに対して定期的に電荷を補充するリフレッシュ処理回路が設けられている。
リフレッシュは1行単位で行われ、1行内の各メモリセルは同時にアクセスされて電荷補充が実施される。規定された時間内(数十ミリ秒程度)に素子(メモリ)内の全ての行についてリフレッシュが行われる。複数の各行は例えば順次にリフレッシュが行われる。
しかし、微細加工技術が向上しメモリ容量が増大するに伴いリフレッシュ処理に要する消費電流が増大しその低減が必要となっており、そのための対応策がいろいろ提案されている。例えば、特開2006−48845号公報(特許文献1)には、複数のワード線を同時に選択してセルフリフレッシュを行うことで消費電力の低減を可能にすることが、また、特許第3714489号(特許文献2)には、メモリセルの情報保持時間に合わせて合理的にリフレッシュを行わせることが、さらには、特許第3177207号(特許文献3)には、意味ある情報を記憶したデータ保持のためにリフレッシュを必要とするDRAMなど記憶装置のリフレッシュ間隔をスリープ状態において最適化することがそれぞれ提案されている。
本願発明者の検討したところによると、一般的なDRAMが備えるリフレッシュ回路において、上記リフレッシュを行うときには、メモリセルに蓄えられた電荷を読出し、基準値以上であるなら電荷を補充するが(メモリセルに“1”が記憶されている場合はリフレッシュにより電荷が補充される方式)、これにより電力を消費してしまう。即ち、情報“1”が記憶されているメモリセルが多いほど、消費電力が多くなる。
特に、例えば携帯パソコンや携帯電話機など電池(バッテリ)を電源とする電子機器では低消費電力化が必要で、リフレッシュ処理に要する消費電力の低減も重要である。
以上を鑑み、本発明の主な目的は、DRAMなどの揮発性メモリ装置に係わり、リフレッシュ時に必要な消費電力の低減を実現できる技術を提供することである。
上記目的を達成するため、本発明のうち代表的な形態は、DRAMなどの揮発性メモリ装置及びそれを含むコンピュータシステムであって、以下に示す構成を有することを特徴とする。本システムでは、揮発性メモリ装置のメモリセル群に対して書き込みデータの値(“1”または“0”)を記憶させる際に、データ反転によって全体的に値“1”が少なくなるように制御する。特に、リフレッシュ動作の単位に対応した所定幅(例えば行単位)の書き込みデータ毎にデータの値を判定し、過半数が“1”の場合は当該所定幅のデータ単位でデータ値(“1”または“0”)を反転処理し、当該書き込みデータ毎に含まれる“1”の数が半数以下になるようにする。これにより、データ反転によって全体的に値“1”が少なくなるように制御し、リフレッシュ時の電荷補充の対象となるメモリセル数を減らすことで消費電力を低減する。
本システムでは、データ書き込み時に、書込データ単位における値“1”の数が過半数であるかどうかを判定し、値“1”の数が過半数であると認識した場合は、当該書込データ単位における値“1”/“0”を反転する処理を実行する手段を有する。また、揮発性メモリ装置からのデータ読み出し時に、メモリ群に記憶されている読み出し対象となる読出データ単位における反転状態を認識し、反転状態の場合は当該読出データ単位における値“1”/“0”を反転して復元し、制御演算部へデータを転送する。
また、上記書込データ単位及び読出データ単位に対して、上記値“1”の数が過半数であるかどうか及び上記反転状態かどうかを表すフラグを設定し、読み出し時に当該フラグで読み出し対象となるデータ単位が反転状態で記憶されているかどうかを判定することができる。
本発明によるコンピュータシステムは、例えば、メモリセル群とデータリフレッシュ処理手段を備えた揮発性メモリ装置と、演算装置と、前記揮発性メモリ装置と前記演算装置との間の所定幅のデータ単位で行われるデータの書き込み処理及び読み出し処理を制御するデータ制御回路と、データ反転制御回路を備え、前記データ反転制御回路は、前記演算装置からの前記揮発性メモリ装置へのデータ書き込み時において、書き込みデータにおける所定幅の書込データ単位ごとに、前記書込データ単位における値“1”の数が過半数かどうかを判定し、前記過半数が値“1”である場合は、当該書込データ単位における値“1”/“0”を反転処理し、前記揮発性メモリ装置への書き込みデータとするデータ処理手段と、前記揮発性メモリ装置から前記演算装置へのデータ読み出し時において、読み出しデータにおける所定幅の読出データ単位ごとに、前記読出データ単位における反転処理の状態を判定し、前記メモリ群に記憶されている当該データ単位が反転状態の場合は、当該読出データ単位における値“1”/“0”を反転処理して復元し、前記演算装置への読み出しデータとするデータ処理手段と、を有する。上記構成により、前記揮発性メモリ装置のメモリセル群に記憶されるデータ全体におけるリフレッシュ動作の対象となる値“1”が記憶されるメモリセルの数を少なくする。
本発明の一態様によれば前記データ反転制御回路は前記データ制御回路に設けることができる。また本発明の他の一態様によれば、前記データ反転制御回路は前記揮発性メモリ装置に設けることができる。
本発明による揮発性メモリ装置は、コンピュータシステムに装着して使用され、前記コンピュータシステムの演算装置との間のデータの書き込み処理及びデータ読み出し処理が所定幅のデータ単位ごとに行われるものであり、メモリセル群と、前記メモリセル群に対するデータリフレッシュを実行する手段と、前記メモリセル群に対するデータ書き込み処理および前記メモリセル群からのデータ読み出し処理を制御するデータ反転制御回路とを備え、前記データ反転制御回路は、前記演算装置から揮発性メモリ装置へのデータ書き込み時において、前記メモリ群への書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“1”の数が過半数かどうかを判定し、前記過半数である場合は当該書込データ単位における値“1”/“0”を反転処理して前記メモリ群への書き込みデータとする第1データ処理手段と、揮発性メモリ装置から前記演算装置へのデータ読み出し時において、前記メモリ群からの読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位における前記反転処理の状態を判別して前記メモリ群に記憶されている当該データ単位が反転状態の場合は、当該読出データ単位における値“1”/“0”を反転処理して復元し、前記演算装置への読み出しデータとする第2データ処理手段と、を備えてなり、前記構成により、前記メモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“1”が記憶されるメモリセルの数を少なくすることを特徴とする。
本発明のうち代表的な形態によれば、DRAMなどの揮発性半導体記憶装置に係わり、データリフレッシュ時に必要な消費電力の低減を実現できる。これにより、例えば携帯パソコンや携帯電話機など電池駆動の電子機器の、使用時間を長くすることや、発熱の低減などが実現できる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、データ/情報の値“1”を「ON」、“0”を「OFF」とも称する。
コンピュータシステム1(例えばパーソナルコンピュータ)は、図11の一般的な概念構成図に示すように、図示しないCPUコアを含むコンピュータ全体の動作を制御する制御装置、演算装置を含むCPU4、スロットコネクタに装着された1乃至複数の揮発性メモリ装置(DRAM)2で構成される主記憶装置、出力回路6、入力回路7、通信回路8等が、印刷配線基板(マザーボード)2上に搭載され相互に機能的にバスを介して接続されて構成される。主記憶装置となるDRAM3はDCL(Digital Control Logic)5を介して演算装置に接続されており、制御装置の制御下でメモリ装置3へのデータ書き込み処理及びメモリ装置からのデータ読み出し処理が実行される構成になっている。DRAM3のそれぞれは複数のDRAMチップがメモリボード上に組み込まれておりメモリボードの一枚あるいは複数枚がマザーボードのスロットに装着される構成とされている。図11の例では、制御装置、演算装置およびDCLはCPU4として半導体基板上に一体に形成されたLSIで構成されている。なお、CPU(Central Processing Unit)の用語は大型コンピュータの処理装置を含む広義の用語であるが、制御装置及び演算装置が半導体基板上に一体に形成されたLSI(ワンチップ)構成のCPUはMPU(Micro Processing Unit)あるいはMicro Processorともいわれる。
図10は、DRAM2に関する構成例を示す。DRAM2のメモリ部22として、メモリセルアレイ(Memory Cell Array)207(メモリバンクを構成する)と、行デコーダ(Row Decoder)204と、列デコーダ(Column Decoder)206と、センスアンプ(Sense Amp)205とを有する。行デコーダ204には、行アドレスバッファ(Row Address Buffer)及びリフレッシュカウンタ(Refresh Counter)201が接続され、列デコーダ206には、列アドレスバッファ(Column Address Buffer)202が接続されている。また列アドレスバッファ202とDCL5との間には制御論理(Control Logic)203が接続されている。メモリ部22は、行と列からなるメモリセルアレイ207(メモリバンク)を含む。210はメモリセルアレイ207の行(行単位)の例を示す。
例えばDRAM2へのデータ書き込み時には、CPU4の演算装置からDCL5へ書き込みの指示及びデータ(DQ0-DQ15)信号、及び対応するアドレス(A0-A11)信号などが与えられる。そして矢印の流れに従って、メモリセルアレイ207のメモリセル群に対してデータ(値“1”/“0”)が書き込まれる。
また例えばセンスアンプ205にはリフレッシュ回路21が内蔵されている。このリフレッシュ回路21により、メモリセルアレイ207の列単位(210)でその複数の各メモリセル(容量)に対してリフレッシュ動作(値“1”のメモリセルに対して電荷を補充するプリチャージ動作)が自動的に実行される機構となっている。なお、メモリセルの電荷による電圧が所定閾値レベル(V/2)以上の場合は値“1”、所定閾値レベル(V/2)未満の場合は値“0”である。リフレッシュ(プリチャージ)動作の際には、メモリセルの電圧が所定閾値レベル(V/2)以上である値“1”のメモリセルが自動的に検出され、当該メモリセルの電荷量が所定電圧レベル(V)になるように補充する動作が行われる。この電圧(V)は時間経過によって次第に下がり所定閾値レベル(V/2)を下回るとデータ値が“0”に変わってしまう。よって、その時間経過よりも前にリフレッシュ(プリチャージ)する必要がある。メモリ部22における値“1”のメモリセルが多いほど、リフレッシュに要する消費電力が大きくなる。
図9は、演算装置とDRAM2の間のデータの流れを模擬的に示す図である。本発明者は、まず図9で図示される構成のコンピュータシステムについて検討した。図9のコンピュータシステム1はDRAMメモリセル群で構成されるメモリ部22とDRAMメモリセルが保持する電荷の低下を補うリフレッシュ回路21を含むDRAM2(揮発性メモリ装置)がDCLを介してCPU4の演算装置に接続された構成である。リフレッシュ回路21は、与えられた書き込みデータに応じてメモリ部22のメモリセル群に対するリフレッシュ動作を自動的に実行する回路である。本構成例に示すように、DRAM2の内部に自動的なリフレッシュ機構を備えることが一般的である。
CPU4は、DRAM2に対するデータの読み書き等の情報処理の制御を行う制御回路が半導体基板上に作りこまれたLSIであり、演算装置に接続されるDCL(Data Control Logic:データ制御論理)5を含む構成である。CPU4は、DRAM2へデータを書き込むための書き込みデータの作成及び書き込み指示の発行や、DRAM2からデータを読み出すための読み出し指示の発行及び読み出しデータの取得などの処理を行う。DCL5は、CPU4からの制御に従って、DRAM2との間で所定の方式で命令や信号を授受する。例えば、A0-A11はアドレスを示す。BA0,BA1はバンクアドレスを示す。DQ0-DQ15は、データを示す。CKはクロックを示す。CKEはクロックイネーブルを示す。CEはチップイネーブルを示す。RASはRow(行)アドレスセレクトを示す。CASはColum(列)アドレスセレクトを示す。WEはWriteイネーブルを示す。
<実施の形態1>
図1〜図6を用いて、本発明の実施の形態1のコンピュータシステムについて説明する。実施の形態1では、図1に図示されるように、DRAM2とCPU4の演算装置との間のデータ書き込み及びデータ読み出しを制御するデータ制御回路DCL5内に、本発明による機能(リフレッシュ消費電力低減のためのデータ反転制御機能)を実現するデータ反転制御回路100を追加搭載した構成である。また本データ反転制御回路100の構成では、データ書き込み時の機構と、それに対応するデータ読み出し時の機構とを備えている。本機能(100)により、DRAM2(メモリ部22)に書き込むデータにおける値“1”の数が少なくなるようにデータ反転制御することにより、リフレッシュに要する消費電力を低減する。
図1〜図6を用いて、本発明の実施の形態1のコンピュータシステムについて説明する。実施の形態1では、図1に図示されるように、DRAM2とCPU4の演算装置との間のデータ書き込み及びデータ読み出しを制御するデータ制御回路DCL5内に、本発明による機能(リフレッシュ消費電力低減のためのデータ反転制御機能)を実現するデータ反転制御回路100を追加搭載した構成である。また本データ反転制御回路100の構成では、データ書き込み時の機構と、それに対応するデータ読み出し時の機構とを備えている。本機能(100)により、DRAM2(メモリ部22)に書き込むデータにおける値“1”の数が少なくなるようにデータ反転制御することにより、リフレッシュに要する消費電力を低減する。
[システム構成]
図1に構成例が図示される実施の形態1のコンピュータシステム1は、図9のコンピュータシステム1に対して主に異なる箇所として、DCL5の内部にデータ反転制御回路100を備えた構成である。DCL5とDRAM2との間では図9と同様に信号が授受される。図1のaはデータ書き込み時、bはデータ読み出し時の流れ(概略)を示す。
図1に構成例が図示される実施の形態1のコンピュータシステム1は、図9のコンピュータシステム1に対して主に異なる箇所として、DCL5の内部にデータ反転制御回路100を備えた構成である。DCL5とDRAM2との間では図9と同様に信号が授受される。図1のaはデータ書き込み時、bはデータ読み出し時の流れ(概略)を示す。
図2は、図1のデータ反転制御回路100の詳細を示している。データ反転制御回路100は、反転フラグ設定回路101、書き込み時データ反転処理回路105、読み出し時データ反転処理回路(データ出力装置)106、などを備える構成である。反転フラグ設定回路101は、ON数検出回路102、特定ビット抽出回路103、フラグ値設定部104、などを備える構成である。これら各部の処理詳細は後述の図4〜図6で示される。
反転フラグ設定回路101は、データ書き込み時に、書き込みデータ(図2のa)に対して反転フラグ(Fとする)を設定する処理を行う装置である。図2のaは、演算装置からDCL5への書き込みデータ(入力データ)を示し、1つ以上の行単位データ(この行とはDRAM2(メモリセルアレイ)側の行(210)に対応する)を含む。
ON数検出回路102は、書込データにおける“1”(ON)の数(nとする)を検出する装置である。ON数(n)は、所定幅(行単位)の書込データにおける値“1”(ON)の数である。本実施の形態では、所定幅(行単位)の書込データの“1”(ON)をLSB(最下位ビット)側へシフトさせるアルゴリズムを含む処理(図5)により、当該“1”(ON)の数(n)を検出する。図2のbは、ON数検出回路102により検出されるON数(n)の情報を示す。
特定ビット抽出回路103は、所定幅(行単位)の書込データの特定ビット(mとする)を抽出する。特定ビット(m)とは、所定幅(行単位)の書込データにおける所定の過半数の位置(半数に1を加算した数)のビットである。所定幅(行単位)のビット数をRとすると、m=[(R/2)+1]のビットである。図2のcは、特定ビット抽出回路103により抽出される特定ビット(m)の情報を示す。この特定ビット(m)は、本実施の形態では、上記アルゴリズムを含む図5に図示されるシフト処理後のデータ配列における特定ビットにおける値が、所定幅(行単位)の書込データにおけるON数(n)が過半数か否かを示すビットにもなっている。
フラグ値設定部104は、上記ON数(n)と特定ビット(m)の情報を用いて、所定幅(行単位)の書込データごとにフラグ(F)の値を設定する。本実施の形態では、上記アルゴリズムを含む処理(図5)に対応して、図5に図示されるシフト処理後のデータ配列における特定ビット(m)の値をそのまま反転フラグ(F)の値に設定することができる。図2のdは、フラグ値設定回路104により設定されるフラグ(F)値、及び当該フラグ(F)値に対応付けられる所定幅(行単位)の書込データを示す。
反転フラグ設定回路101の動作によって、所定幅(行単位)の書込データごとに、その過半数が値“1”のときには、対応する反転フラグ(F)にそのことを表す値“1”が設定される。そして、書き込み時データ反転処理回路105では、この反転フラグ(F)が“1”のときには、対応する所定幅(行単位)の書込データにおけるデータ(“1”/“0”)を反転させる。図2のeは、DCL5からDRAM2への書き込みデータ(反転書込データ)であり、書き込み時データ反転処理回路105による反転処理済み状態の所定幅(行単位)の書込データとそれに対応するフラグ(F)値とのセットを1つ以上含むデータである。これにより、当該反転書込データ(図2のe)の書き込みによって、DRAM2のメモリセル群に保持される値“1”の数が減ることになる。即ちこれによりDRAM2のメモリセル群に対するリフレッシュ時に対象となるメモリセルの数が減り、リフレッシュ(プリチャージ)の電荷の充填量が減ることになる。従って、本DRAMシステム1ではリフレッシュ動作の消費電力の低減が実現される。
DRAM2からのデータ読み出し時には、読み出し時データ反転処理回路106を用いて、上記データ書き込み時の制御とは逆の制御が行われる。CPU4からの読み出し指示に従い、DCL5(データ反転制御回路100)は、DRAM2(メモリセルアレイ207)から対象データを読み出す。図2のfは、DRAM2からDCL5への読み出しデータ(反転読出データ)であり、反転処理済み状態の所定幅(行単位)の読出データとそれに対応するフラグ(F)値とのセットを1つ以上含むデータである。この読み出しデータ(図2のf)は、書き込み時の制御による反転状態のデータを含んでいるため、読み出し時データ反転処理回路106において、反転状態のデータを再反転により復元する処理を行う。読み出し時データ反転処理回路106は、読み出しデータ(図2のf)に含まれている所定幅(行単位)の読出データごとに、対応する反転フラグ(F)の値(“1”/“0”)を参照し、このF値が“1”の場合は、対応する所定幅(行単位)の読出データが反転状態であることを表しているため、当該読出データの値(“1”/“0”)を更に反転することで元(書き込み前)の状態に戻す。F値が“0”の場合は元の状態のままなのでそのまま出力すればよい。この動作により、書き込み時のデータ(図2のa)と同一のデータ(図2のg)をCPU4へ出力することができる。
上記の所定幅とは、本実施の形態では、リフレッシュ動作の単位である行単位(図3の210)に対応する所定データビット幅(数)となる。なおリフレッシュの機構(方式)に応じてこの単位が行単位とは異なる場合、上記の所定幅は、行単位に限らず、対応する所定データビット幅の単位に変更した形態とすることができる。
図3は、図1のDRAM2の詳細を示している。図3のDRAM2は、図10の構成に対して主に異なる箇所として、メモリ部22(メモリセルアレイ207)において、行単位(210)のデータごとのフラグ(F)値を格納するための領域(フラグ領域211)を有する構成である。他の要素については図10と概略同様である。例えば、リフレッシュ回路21は、DCL5側から与えられる書き込みデータ(反転書込データ:図2のe)に応じて、メモリ部22(メモリセルアレイ207)のメモリセル群に対するリフレッシュ動作を行単位(210)で自動的に実行する。メモリセルアレイ207の複数の行に対しては例えば順次でリフレッシュ動作が行われ、1つの行に対してはそれに含まれる複数のメモリセルに対して同時にリフレッシュ(“1”(ON)状態のメモリセルに対する電荷の補充)が行われる。
[処理]
図4は、データ反転制御回路100の処理フローを示す(S101等は処理ステップを表す)。図5は、ON数検出回路102及び特定ビット抽出回路103に関する処理アルゴリズム例を示す。図6は、図5に対応したデータ処理例を示し、(a)は反転フラグ(F)の設定、(b)は反転書込データ(図2のe)の作成を示す。
図4は、データ反転制御回路100の処理フローを示す(S101等は処理ステップを表す)。図5は、ON数検出回路102及び特定ビット抽出回路103に関する処理アルゴリズム例を示す。図6は、図5に対応したデータ処理例を示し、(a)は反転フラグ(F)の設定、(b)は反転書込データ(図2のe)の作成を示す。
図4で、S101では、データのアクセスの有無を判断し、アクセス有りの場合(Y)は、S102では、当該アクセスが、DRAM2(メモリセル)へのデータ書き込み(Write)の指示か、あるいは、DRAM2(メモリセル)からのデータ読み出し(Read)の指示かを判断する。Writeの場合(Y)はS103へ進み、Readの場合(N)はS111へ進む。
S103では、書き込みデータ(図2のa)をCPU4の演算回路から入力し、反転フラグ設定回路101の処理を行う。S104では、まず、ON数検出回路102の処理を行う。即ち、所定幅(行単位)の書込データにおける値“1”(ON)及びその数(n)を検出する。S105では、特定ビット抽出回路103の処理を行う。即ち、当該所定幅(行単位)の書込データのビット数をRとしたとき、m=[(R/2)+1]ビットを特定ビットとして抽出する。S106では、反転フラグ設定回路101は、S104とS105の結果(n,m)を用いて、当該所定幅(行単位)の書込データのうち検出したON数(n)が過半数か否かを判定する。本実施の形態ではn≧mを判定する。
上記判定で過半数である場合(Y)はS107へ、半数以下である場合(N)はS108へ進む。そして、フラグ値設定部104により、S107では、当該書込データ(行単位)に対応するフラグ(F)値に“1”を設定し、S108では、当該書込データ(行単位)に対応するフラグ(F)値に“0”を設定する。設定したフラグ(F)値の情報を対応する書込データと共に出力する(図2のd)。書き込みデータ(図2のa)における行単位データごとに上記同様の処理が行われる。
S109では、上記反転フラグ設定回路101の出力データ(図2のd)を用いて、書き込み時データ反転処理回路105による処理を行う。即ち、行単位の書込データごとに反転フラグ(F)値を参照し、F=“1”が設定されている場合は、当該書込データの値(“1”/“0”)を反転する処理を行い、F=“0”の場合は反転しない。この結果(行単位の書込データ+反転フラグ(F)のセットを1つ以上含むデータ)を出力し、S110では、DCL5からDRAM2(メモリセル)へ反転書込データ(図2のe)として書き込み処理する。DRAM2側では、当該反転フラグ(F)を含んだデータ(図2のe)が、メモリ部22(メモリセルアレイ207)へ格納される。反転フラグ(F)は図3のフラグ領域211へ格納されることになる。以上で書き込み時の処理を終え最初へ戻る。
S111では、CPU4からの読み出し指示に従って、DCL4は、DRAM2から対象データ(図2のf)を読み出し処理する。この結果(行単位の読出データ+反転フラグ(F)のセットを1つ以上含むデータ)を入力し、S112では、読み出し時データ反転処理回路106による処理を行う。即ち、行単位の読出データごとに反転フラグ(F)の値を参照し、F=“1”が設定されている場合は、当該読出データの値(“1”/“0”)を反転する処理を行い、F=“0”の場合は反転しない。この結果(反転フラグ(F)は含まない)の読み出しデータ(図2のg)をCPU4へ出力する。以上で読み出し時の処理を終え最初へ戻る。
図5は、本実施の形態における図4のS104〜S106の処理に関する効率的な処理アルゴリズム例を示している。対応する処理例を図6に示している。図5で、ON数検出回路102は、S201では、書き込みデータ(図2のa)を行単位データごとに入力する。S202では、行単位データごとに、“0”ビットから対象ビットとして以下の処理を開始する。S203では、対象ビットが最大ビットかどうかを判断し、最大ビットの場合(Y)はS207へ進み、最大ビットではない場合(N)は、S204で、対象ビットの値=“1”かどうかを判断し、“1”ではない場合(“0”の場合)(N)は、S205で、対象ビットを最大ビット側へシフトする。S206では、対象ビットを1ビットMSB(最上位ビット)側に変更し、S203へ戻る。S207では、以上の処理後のデータをもとに、書き込みデータの“1”(ON)の数(n)を出力する。
図6(a)は、601で示す例えば6ビットデータ列の書込データ(“110110”)に対して、図5の処理を施した場合である。これにより、602で示すシフト後データ(“001111”)では、各値“1”が最下位ビット側(右側)に寄せられている。このデータ(601)は、書込データ(601)のON数(n)を表している。即ちn=4の場合である。また、シフト後データ(602)における特定ビット(m=[(R/2)+1]ビット)が抽出される。本例では、m=6/2+1=4ビット目となる。本例はn=4かつm=4の場合である。この特定ビット(m)の値は、書込データ(601)の“1”(ON)の数(n)が過半数かどうかを示すビットとなっている。本例では、m=4ビット目の値が“1”であり、過半数(4以上)であることを表している。そして、上記抽出した特定ビット(m)の値がそのまま反転フラグ(F)(603)の値に設定される。
図6(b)で、604は、601の書込データ(“110110”)を書き込み時データ反転処理回路105で反転処理した場合の反転書込データ(“001001”)を示している。この反転書込データ(604)に、1ビットの反転フラグ(F)(603)の値“1”が追加される。結果、604の反転書込データ(“001001”)では、値“0”が過半数(4個)、値“1”が半数以下(2個)となる。そのため、当該データに対してリフレッシュ動作がされる際には、対象となるメモリセル数が例えば2個(F値“1”を加えると3個)に抑えられ、反転前(4個)に比べて消費電力が少なくなる。より長いサイズの書き込みデータの場合には更に効果が顕著となる。
<実施の形態2>
次に、図7〜図8を用いて、本発明の実施の形態2のDRAMシステムについて説明する。以下実施の形態1とは異なる箇所のみ説明する。実施の形態2では、図7aに示すように、コンピュータシステム1において、DRAM2側(内部)に、本発明による機能(リフレッシュ消費電力低減のためのデータ反転制御機能)を実現するデータ反転制御回路100を追加搭載した構成である。また本データ反転制御回路100の構成では、データ書き込み時の機構と、それに対応するデータ読み出し時の機構とを備えている。本機能(100)により、実施の形態1と同様に、DRAM2(メモリ部22)に書き込むデータにおける値“1”の数が少なくなるようにデータ反転制御することにより、リフレッシュに要する消費電力を低減する。変形例として、DCL5をCPU4内に形成し、データ反転制御回路100をDRAM2側(内部)に搭載してもよい。
次に、図7〜図8を用いて、本発明の実施の形態2のDRAMシステムについて説明する。以下実施の形態1とは異なる箇所のみ説明する。実施の形態2では、図7aに示すように、コンピュータシステム1において、DRAM2側(内部)に、本発明による機能(リフレッシュ消費電力低減のためのデータ反転制御機能)を実現するデータ反転制御回路100を追加搭載した構成である。また本データ反転制御回路100の構成では、データ書き込み時の機構と、それに対応するデータ読み出し時の機構とを備えている。本機能(100)により、実施の形態1と同様に、DRAM2(メモリ部22)に書き込むデータにおける値“1”の数が少なくなるようにデータ反転制御することにより、リフレッシュに要する消費電力を低減する。変形例として、DCL5をCPU4内に形成し、データ反転制御回路100をDRAM2側(内部)に搭載してもよい。
図8は、DRAM2内部にデータ反転制御回路100を含む構成例を示す。データ反転制御回路100の構成は、実施の形態1と同様であり、a〜gのデータ/情報も前述同様である。DRAM2は、CPU4側から図9と同様の制御信号(アドレスや書き込み・読み出し制御信号など)を受け取る。データ反転制御回路100は、例えば制御論理203によって書き込み(Write)を認識すると、実施の形態1と同様に、反転フラグ設定回路101により書き込みデータに対して反転フラグ(F)を設定し、反転フラグが“1”の場合は、書き込み時データ反転処理回路105により書込データの値を反転させ、メモリ部22への書き込みデータとする。読み出し(Read)時は、メモリ部22(メモリセルアレイ207)からの読み出しデータ(反転フラグ(F)付き)から、読み出し時データ反転処理回路106により、反転フラグ(F)が値“1”の場合は、当該読出データを反転して復元し、CPU4へ出力する。
以上説明したように、実施の形態1及び実施の形態2におけるDRAM2のリフレッシュ時に必要な消費電力の低減を実現できる。これにより、例えば、携帯パーソナルコンピュータ、携帯電話機など電池駆動の情報処理装置に搭載される揮発性DRAMの場合などにおいても、使用時間を長くすることや、発熱の低減などが実現できる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明は、揮発性メモリ装置を含んで構成される各種のシステム等に利用可能である。
1…コンピュータシステム、2…DRAM(揮発性メモリ装置)、3…印刷配線ボード、4…CPU、5…DCL、21…リフレッシュ回路、22…メモリ部、100…データ反転制御回路、101…反転フラグ設定回路、102…ON数検出回路、103…特定ビット抽出回路、104…フラグ値設定部、105…書き込み時データ反転処理回路、106…読み出し時データ反転処理回路。
Claims (10)
- メモリセル群と前記メモリセル群へのデータリフレッシュ処理を実行する手段を備えた揮発性メモリ装置と、
演算装置と、
前記演算装置と前記揮発性メモリ装置との間の所定幅のデータ単位で行われるデータの書き込み処理及びデータ読み出し処理を制御するデータ制御回路と、
データ反転制御回路とを備え、
前記データ反転制御回路は、
前記演算装置からの前記揮発性メモリ装置へのデータ書き込み時において、書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“1”の数が過半数かどうかを判定し、前記過半数である場合は、当該書込データ単位における値“1”/“0”を反転処理して前記揮発性メモリ装置への書き込みデータとする第1データ処理手段と、
前記揮発性メモリ装置から前記演算装置へのデータ読み出し時において、読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位における反転処理の状態を判定して前記メモリセル群に記憶されている当該データ単位が反転状態の場合は、当該読出データ単位における値“1”/“0”を反転処理して復元し、前記演算装置への読み出しデータとする第2データ処理手段と、
を備えてなり、
前記構成により、前記揮発性メモリ装置のメモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“1”が記憶されるメモリセルの数を少なくすることを特徴とするコンピュータシステム。 - メモリセル群と前記メモリセル群へのデータリフレッシュ処理を実行する手段を備えた揮発性メモリ装置と、
演算装置と、
前記演算装置と前記揮発性メモリ装置との間のデータの書き込み処理及びデータ読み出し処理を所定幅のデータ単位で行うデータ制御回路と、
データ反転制御回路とを備え、
前記データ反転制御回路は、第1データ処理手段と、第2データ処理手段と、を備え、
前記第1データ処理手段は、前記演算装置からの前記揮発性メモリ装置へのデータ書き込み時において、
書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“1”の数を検出する処理と、
前記書込データ単位における過半数が値“1”であるかどうかを判定し、過半数である場合は、反転フラグに値“1”を設定し、否の場合は、当該反転フラグに値“0”を設定する処理と、
前記反転フラグが値“1”の場合は、当該書込データ単位における値“1”/“0”を反転処理し、当該反転フラグとセットで前記揮発性メモリ装置への書き込みデータとする処理と、を実行するように構成されてなり、
前記第2データ処理手段は、前記揮発性メモリ装置からの前記演算装置へのデータ読み出し時において、
読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位に対応する前記反転フラグの値を判定し、前記反転フラグの値“1”の場合は、前記メモリ群に記憶されている当該読出データ単位における値“1”/“0”を反転処理して復元し、前記演算装置への読み出しデータとする処理、を実行するように構成されてなり、
前記構成により、前記揮発性メモリ装置のメモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“1”が記憶されるメモリセルの数を少なくすることを特徴とするコンピュータシステム。 - 前記第1データ処理手段は、前記書込データ単位において値“1”を下位側にシフトする処理を行い、前記所定幅のビット数をRとするとき、前記シフト処理後のデータ配列において、m=[(R/2)+1]で演算されるビットの値が“1”のとき、前記反転フラグに値“1”を設定する処理を実行することを特徴とする請求項2記載のコンピュータシステム。
- 前記所定幅は、前記リフレッシュ動作の単位である行単位であることを特徴とする請求項1乃至3のいずれか記載のコンピュータシステム。
- 前記データ反転制御回路は、前記データ制御回路に設けられていることを特徴とする請求項1乃至4のいずれか記載のコンピュータシステム。
- 前記データ反転制御回路は、前記揮発性メモリ装置に設けられてなることを特徴とする請求項1乃至5のいずれか記載のコンピュータシステム。
- コンピュータシステムに装着して使用され、前記コンピュータシステムの演算装置との間のデータの書き込み処理及び読み出し処理が所定幅のデータ単位ごとに行われる揮発性メモリ装置であって、
メモリセル群と、
前記メモリセル群に対するデータリフレッシュを実行する手段と、
前記演算装置と前記メモリセル群との間のデータ書き込み処理および前記メモリセル群からのデータ読み出し処理を制御するデータ反転制御回路とを備え、
前記データ反転制御回路は、
前記演算装置から揮発性メモリ装置へのデータ書き込み時において、前記メモリ群への書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“1”の数が過半数かどうかを判定し、前記過半数である場合は、当該書込データ単位における値“1”/“0”を反転処理して前記メモリ群への書き込みデータとする第1データ処理手段と、
前記揮発性メモリ装置から前記演算装置へのデータ読み出し時において、前記メモリ群からの読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位における前記反転処理の状態を判別し、前記メモリ群に記憶されている当該データ単位が反転状態の場合は、当該読出データ単位における値“1”/“0”を反転処理して復元して前記演算装置への読み出しデータとする第2データ処理手段と、を備えてなり、
前記構成により、前記メモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“1”が記憶されるメモリセルの数を少なくすることを特徴とする揮発性メモリ装置。 - コンピュータシステムに装着して使用され、前記コンピュータシステムの演算装置との間のデータの書き込み処理及び読み出し処理が所定幅のデータ単位ごとに行われる揮発性メモリ装置であって、
メモリセル群と、
前記メモリセル群に対するデータリフレッシュを実行する手段と、
前記メモリセル群に対するデータ書き込み処理および前記メモリセル群からのデータ読み出し処理を制御するデータ反転制御回路とを備え、
前記データ反転制御回路は、第1データ処理手段と、第2データ処理手段と、を備え、
前記第1データ処理手段は、前記演算装置からのデータ書き込み時において、
前記メモリ部群への書き込みデータにおける前記所定幅の書込データ単位ごとに、前記書込データ単位における値“1”の数を検出する処理と、
前記値“1”の数及び前記特定ビットの情報を用いて、前記書込データ単位における過半数が値“1”であるかどうかを判定し、過半数である場合は、反転フラグに値“1”を設定し、否の場合は、当該反転フラグに値“0”を設定する処理と、
前記反転フラグが値“1”の場合は、当該書込データ単位における値“1”/“0”を反転処理し、当該反転フラグとセットで前記メモリ群への書き込みデータとする処理と、を実行するように構成されてなり、
前記第2データ処理手段は、前記メモリ群からの前記演算装置へのデータ読み出し時において、
読み出しデータにおける前記所定幅の読出データ単位ごとに、前記読出データ単位に対応する前記反転フラグの値を判定し、前記反転フラグのが値“1”の場合は、前記メモリ群に記憶されている当該読出データ単位における値“1”/“0”を反転処理して復元し、前記演算装置への読み出しデータとする処理、を実行するように構成されてなり、
上記構成により、前記メモリセル群に記憶されるデータにおけるデータリフレッシュ動作の対象となる値“1”が記憶されるメモリセルの数を少なくすることを特徴とする揮発性メモリ装置。 - 前記第1データ処理手段は、前記書込データ単位において値“1”を下位側にシフトする処理を行い、前記所定幅のビット数をRとするとき、前記シフト処理後のデータ配列において、m=[(R/2)+1]で演算されるビットの値が“1”のとき、前記反転フラグに値“1”を設定する処理を実行することを特徴とする請求項8記載の揮発性メモリ装置。
- 前記所定幅は、前記データリフレッシュ動作の単位である行単位であることを特徴とする請求項7乃至9のいずれか記載の揮発性メモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011078814A JP2012216248A (ja) | 2011-03-31 | 2011-03-31 | コンピュータシステム及び揮発性メモリ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011078814A JP2012216248A (ja) | 2011-03-31 | 2011-03-31 | コンピュータシステム及び揮発性メモリ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012216248A true JP2012216248A (ja) | 2012-11-08 |
Family
ID=47268894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011078814A Withdrawn JP2012216248A (ja) | 2011-03-31 | 2011-03-31 | コンピュータシステム及び揮発性メモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012216248A (ja) |
-
2011
- 2011-03-31 JP JP2011078814A patent/JP2012216248A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11631450B2 (en) | Partial refresh technique to save memory refresh power | |
TWI517150B (zh) | 可變動態記憶體刷新 | |
US8130576B2 (en) | Memory throughput increase via fine granularity of precharge management | |
JP2017182854A (ja) | 半導体装置 | |
US8358554B2 (en) | Semiconductor memory device performing partial self refresh and memory system including same | |
TW201225079A (en) | Memory circuits, systems, and modules for performing DRAM refresh operations and methods of operating the same | |
US10176107B2 (en) | Methods and systems for dynamic DRAM cache sizing | |
US6859407B1 (en) | Memory with auto refresh to designated banks | |
US20170116058A1 (en) | Increased refresh interval and energy efficiency in a dram | |
KR20100076092A (ko) | 셀프 리프레쉬에 의한 데이터 복구력을 향상시킨 반도체 메모리 장치 및 그 시스템 | |
TWI254311B (en) | Enhanced refresh circuit and method for reduction of dram refresh cycle | |
US20210193196A1 (en) | Energy efficient memory array with optimized burst read and write data access, and scheme for reading and writing data from/to rearranged memory subarray where unused metadata is stored in a sparsity map | |
JP2018512690A (ja) | 記憶素子をリフレッシュするためのシステムおよび方法 | |
KR20140067878A (ko) | 메모리 장치 및 이를 갖는 메모리 시스템 | |
JP2012216248A (ja) | コンピュータシステム及び揮発性メモリ装置 | |
CN114822675A (zh) | 存储器检测方法及装置、电子设备和存储介质 | |
CN116129973A (zh) | 一种存内计算方法及电路、半导体存储器和存储结构 | |
WO2016153648A1 (en) | Charge level maintenance in a memory | |
CN107025930B (zh) | 用于启用/停用sram中的突发模式读取的地址检测器 | |
US7721041B2 (en) | PSRAM and method for operating thereof | |
KR20140021419A (ko) | 메모리 모듈 및 이를 포함하는 메모리 시스템 | |
CN117334234A (zh) | 一种存内计算电路、方法以及半导体存储器 | |
CN113126738A (zh) | 消耗功率管理方法及存储模组 | |
KR20190058262A (ko) | 휘발성 메모리 디바이스 및 그 셀프 리프레쉬 방법 | |
JP2012221534A (ja) | 半導体記憶装置および半導体記憶装置のリフレッシュ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140603 |