JP6364365B2 - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP6364365B2
JP6364365B2 JP2015035539A JP2015035539A JP6364365B2 JP 6364365 B2 JP6364365 B2 JP 6364365B2 JP 2015035539 A JP2015035539 A JP 2015035539A JP 2015035539 A JP2015035539 A JP 2015035539A JP 6364365 B2 JP6364365 B2 JP 6364365B2
Authority
JP
Japan
Prior art keywords
write
pulse
memory
write pulse
cache
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.)
Active
Application number
JP2015035539A
Other languages
English (en)
Other versions
JP2016157501A (ja
Inventor
一隆 池上
一隆 池上
紘希 野口
紘希 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2015035539A priority Critical patent/JP6364365B2/ja
Priority to US15/051,132 priority patent/US9779024B2/en
Publication of JP2016157501A publication Critical patent/JP2016157501A/ja
Application granted granted Critical
Publication of JP6364365B2 publication Critical patent/JP6364365B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1697Power supply circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1677Verifying circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明の実施形態は、半導体記憶装置に関する。
プロセッサの電力低減技術として、DVFS(dynamic voltage frequency scaling )技術が知られている。DVFS技術は、プロセッサの負荷に応じて、動作電圧を上下させる技術である。プロセッサの負荷が重い時は、動作電圧を上昇させて、プロセッサのクロック周波数を上げることで高速処理する。一方、負荷が軽い時は、電圧を下げてクロック周波数を下げ、消費電力を低減させる。
DVFS技術をDRAM(Dynamic Random Access Memory)やMRAM(Magnetoresistive RAM)などのメモリ回路に適用する際、メモリ回路に供給する電圧をプロセッサに供給する電圧と連動させると、動作マージンの低下や動作不良を起こすおそれがあることが知られている。その問題を回避するために、プロセッサコアに供給される電圧はDVFS技術を用いて負荷に応じた上げ下げを行う一方、メモリ回路に供給する電圧は負荷によらず一定とする手法もある。
MRAMの書込み電圧は、書込み時間を短くすると、急激に上昇することが知られている。上述のように、演算コアの動作状態にかかわらず、MRAMへの書込み電圧を常に一定にする場合、高負荷状態の演算コアに合わせて書込み電圧を常に高くすると、演算コアが軽負荷状態になっても、書込み電圧は高いままとなり、MRAMでの消費電力が増大してしまう。
特開2014−26681号公報
本発明が解決しようとする課題は、MRAMのような書込みパルス幅が短いほど書込み電流が増大する不揮発性メモリを使用しても、アクセス性能を低下させずに消費電力を低減できる半導体記憶装置を提供することである。
本実施形態では、不揮発性メモリを備えた半導体記憶装置であって、書込みパルスのパルス幅の時間内に前記不揮発性メモリに対する書き込み処理を行うメモリ制御部と、低消費電力で前記不揮発性メモリへの書込みを行う第1書込みモードと、前記第1書込みモードよりも消費電力が多く、かつ前記第1書込みモードよりも高速に前記不揮発性メモリへの書込みを行う第2書込みモードと、のいずれかかを選択し、前記第1書込みモードが選択されると、前記不揮発性メモリへのアクセス制御に用いられるクロック信号の1周期より短くなるように前記書込みパルスのパルス幅を設定する書込みパルス制御部と、を備える半導体記憶装置が提供される。
第1の実施形態による半導体記憶装置1の概略構成を示すブロック図。 書込みパルスのパルス幅を説明する波形図。 グラフG1はMRAMの書込み時間と書込み電圧との対応関係を示し、グラフG2はMRAMの書込み時間と書込みエネルギとの対応関係を示す図。 不揮発性メモリ4内の一つのメモリ素子4a周辺のブロック図。 第2の実施形態による半導体記憶装置1の概略構成を示すブロック図。 メモリ動作モニタ31の一具体例を示すブロック図。 第3の実施形態による半導体記憶装置1の概略構成を示すブロック図。 第3の実施形態によるメモリ動作モニタ31の内部構成の第1例を示すブロック図。 第3の実施形態よるメモリ動作モニタ31の内部構成の第2例を示すブロック図。 プロセッサシステム40の概略的なブロック図。 図10のキャッシュメモリ42の内部構成の第1例を示すブロック図。 図10のキャッシュメモリ42の内部構成の第2例を示すブロック図。 図11および図12のキャッシュロジック部46の内部構成の第1例を示すブロック図。 キャッシュロジック部46の内部構成の第2例を示すブロック図。 キャッシュロジック部46の内部構成の第3例を示すブロック図。 図10のキャッシュメモリ42の内部構成の第3例を示すブロック図。
以下、図面を参照して本発明の実施形態を説明する。以下の実施形態では、半導体記憶装置内の特徴的な構成および動作を中心に説明するが、半導体記憶装置には以下の説明で省略した構成および動作が存在しうる。ただし、これらの省略した構成および動作も本実施形態の範囲に含まれるものである。
(第1の実施形態)
図1は第1の実施形態による半導体記憶装置1の概略構成を示すブロック図である。図1の半導体記憶装置1は、メモリ回路2と書込みパルス制御部3とを備えている。
メモリ回路2は、不揮発性メモリ4と、この不揮発性メモリ4に対する書込みおよび読出しを制御するメモリ制御部5とを有する。不揮発性メモリ4は、後述するように、書込みパルスが所定幅のときに書込みエネルギが最小になり、書込みパルスのパルス幅が所定幅より短いほど書込み電流が多くなる特性を持つものであり、代表的な一例はMRAMである。以下では、不揮発性メモリ4を、複数のMRAMセルからなるMRAMアレイで構成する例を説明する。
メモリ制御部5は、不揮発性メモリ4へのアクセス制御に用いられるクロック信号の1周期よりも短い書込みパルスのパルス幅の時間内に、不揮発性メモリ4に対する書込み処理を行う。
メモリ制御部5は、ワード線バッファ(WLバッファ)6、ワード線デコーダ(WLデコーダ)7、ワード線ドライバ(WLドライバ)8、入力バッファ9、書込み回路10、マルチプレクサ11、ビット線ドライバ(BLドライバ)12、ビット線デコーダ(BLデコーダ)13、ビット線バッファ(BLバッファ)14、アンプ15および出力バッファ16を有する。
WLバッファ6は、プロセッサからのロウアドレスをバッファリングする。WLデコーダ7は、WLバッファ6でバッファリングした後のロウアドレスをデコードする。WLドライバ8は、アクセス対象のMRAMセルが接続されたワード線を駆動する。
入力バッファ9は、プロセッサから書込み要求のあったデータをバッファリングする。書込み回路10は、書込み用の制御信号を生成する。マルチプレクサ11は、プロセッサからの書込みデータと、MRAMアレイから読み出したデータとの信号路を選択する。
BLバッファ14は、プロセッサからのカラムアドレスをバッファリングする。BLデコーダ13は、BLバッファ14でバッファリングした後のカラムアドレスをデコードする。BLドライバ12は、アクセス対象のMRAMセルが接続されたビット線を駆動する。
アンプ15は、MRAMアレイ4から読み出したデータをセンスする。出力バッファ16は、アンプ15でセンスしたデータをバッファリングして出力する。
図1の書込みパルス制御部3は、パルス供給部(パルス選択器)21と電圧供給部(電圧選択器)22とを有する。書込みパルス制御部3は、低消費電力で不揮発性メモリ4への書込みを行う第1書込みモードと、第1書込みモードよりも消費電力が多く、かつ第1書込みモードよりも高速で不揮発性メモリ4への書込みを行う第2書込みモードと、のいずれかを、プロセッサの動作状態により選択し、第1書込みモードが選択されると、不揮発性メモリ4へのアクセス制御に用いられるクロック信号の1周期より短くなるように書込みエネルギに基づいて書込みパルスのパルス幅を設定する。
より具体的には、書込みパルス制御部3は、低消費電力で不揮発性メモリ4への書込みを行う際(第1書込みモードの場合)には、書込みパルスのパルス幅をクロック信号の1周期を超えない範囲で可能な限り長くする。例えば、書込みパルスとして、第1書込みパルスと、第1書込みパルスよりもパルス幅が長い第2書込みパルスとが設けられていたとすると、書込みパルス制御部3は、低消費電力で不揮発性メモリ4への書込みを行う際には、クロック信号の1周期よりも第2書込みパルスのパルス幅が短ければ、第2書込みパルスを書込みパルスとして選択し、第2書込みパルスのパルス幅がクロック信号の1周期以上であれば、第1書込みパルスを書込みパルスとして選択する。
図2は書込みパルスのパルス幅を説明する波形図である。書込みパルス制御部3は、プロセッサの動作状態に応じて、書込みパルスのパルス幅を可変制御する。書込みパルスのパルス幅の期間内に不揮発性メモリ4への書込み処理が行われるため、高速書込を行う場合の書込みパルスw1のパルス幅は、低消費電力で書込みを行う場合の書込みパルスw2のパルス幅よりも短くする。
図2に示すように、不揮発性メモリ4へのアクセス制御に用いられるクロック信号の周波数は、プロセッサの動作状態に応じて変化する。図2には、3通りの周波数のクロック信号波形w3、w4、w5が図示されている。クロック信号波形w3、w4、w5の順に周波数が遅くなる。図2の破線は、書込みパルスw2のパルス幅を示している。
クロック信号の1周期内に不揮発性メモリ4への書込み処理が終わらないと、クロックの毎サイクルで書き込みができないため、書込みパルス制御部3は、書込みパルスのパルス幅をクロック信号の1周期よりも短くすることが望ましい。
不揮発性メモリ4として用いられるMRAMは、書込みパルスのパルス幅によって、書込み電圧と書込みエネルギが変化するという性質がある。図3のグラフG1はMRAMの書込み時間と書込み電圧との対応関係を示し、図3のグラフG2はMRAMの書込み時間と書込みエネルギとの対応関係を示している。
書込み時間は、書込みパルスのパルス幅と等価であり、パルス幅が短いほど、書込み時間も短くなる。また、図3のグラフG1の縦軸は書込み電圧であるが、縦軸を書込み電流としても、同様の特性となる。
図3のグラフG1に示すように、MRAMでは、書込みパルスのパルス幅が狭くなるほど書込み電圧が増大する。また、図3のグラフG2に示すように、MRAMでは、書込み時間によって書込みエネルギが変化し、書込みエネルギが最小となる所定の書込み時間から遠ざかるほど、書込みエネルギが増大する。特に、書込み時間が短いほど、すなわち書込みパルスのパルス幅が狭いほど、書込みエネルギの上昇度合が高くなる。
図3のグラフG1とグラフG2を考慮に入れると、MRAMからなる不揮発性メモリ4への書き込み時の消費電力を削減するには、書込みパルスのパルス幅を短くするよりは、長めに設定した方が望ましいことがわかる。
図2のクロック信号w3〜w5に示すように、クロック信号の周波数は、プロセッサの動作状態に応じて変化するため、書込みパルスのパルス幅を書込みエネルギが最小となるように設定するのは容易ではない。そこで、書込みパルス制御部3は、低消費電力で不揮発性メモリ4への書込みを行う際(第1書込みモードの場合)には、書込みパルスの候補として予め用意した第1書込みパルスと第2書込みパルスのそれぞれのパルス幅をクロック信号の1周期と比較し、パルス幅が長い方の第2書込みパルスのパルス幅がクロック信号の1周期以内であれば、第2書込みパルスを書込みパルスとして選択する。また、第2書込みパルスのパルス幅よりもクロック信号の1周期の方が短ければ、第1書込みパルスを書込みパルスとして選択する。
例えば、図2のクロック信号w3の場合、第2書込みパルスw2のパルス幅はクロック信号w3の1周期よりも長いため、第1書込みパルスw1が書込みパルスとして選択される。クロック信号w4の場合も同様である。一方、クロック信号w5の場合は、第2書込みパルスw2のパルス幅よりもクロック信号w5の1周期の方が長いため、第2書込みパルスw2が書込みパルスとして選択される。
次に、書込みパルス制御部3を構成する図1のパルス供給部21と電圧供給部22の内部構成を説明する。パルス供給部21と電圧供給部22には、プロセッサの動作状態を示す状態信号がプロセッサから供給される。パルス供給部21と電圧供給部22は、この状態信号を動作切替信号として用いて、動作状態を切り替える。
パルス供給部21は、パルス幅の異なる複数のパルス信号を生成する複数のパルス生成器23と、これら複数のパルス信号の中から一つを選択するパルス選択器24とを有する。パルス選択器24は、プロセッサからの状態信号に基づいて複数のパルス信号の中から一つを選択する。
電圧供給部22は、外部から供給または内部で生成された複数の電圧の中から一つを選択する電圧選択器を有する。電圧選択器は、プロセッサからの状態信号に基づいて、複数の電圧の中から一つを選択する。
図4は不揮発性メモリ4内の一つのメモリ素子4a周辺のブロック図である。図4に示すように、メモリ素子4aの一端には電圧供給部22が接続され、メモリ素子4aの他端にはトランジスタ4dのドレインが接続されている。トランジスタ4dのソースには電圧供給部22が接続されている。また、トランジスタ4dのゲートにはWLドライバ8が接続されている。WLドライバ8は、パルス供給部21からパルスが供給されると、トランジスタ4dのゲートをハイレベルにして、トランジスタ4dをオンさせる。
図4のトランジスタ4dがオンすると、電圧供給部22から供給された電圧がメモリ素子4aの一端に印加される。これにより、メモリ素子4aの両端に、トランジスタ4dがオンしている期間、書込みパルスが出現される。この書込みパルスにより、メモリ素子4aへのデータの書き込みが行われる。
なお、図4では、1個のメモリ素子4aと1個のトランジスタ4dで一つのメモリセル4bを構成する例を示したが、複数のメモリ素子4aと複数のトランジスタ4dで一つのメモリセル4bを構成してもよい。
このように、第1の実施形態では、低消費電力で不揮発性メモリ4への書込みを行うと判断された場合(第1書込みモードの場合)には、クロック信号の1周期より短い範囲内で書込みエネルギに基づいて書込みパルスのパルス幅を設定するため、MRAMのように、書込みパルス幅が短いほど書込み電圧が増大する不揮発性メモリ4を用いた場合でも、消費電力の低減が図れる。特に、プロセッサの動作状態に応じて、書込みパルスのパルス幅を選択するため、プロセッサの処理性能を低下させることなく、不揮発性メモリ4の消費電力を低減できる。
(第2の実施形態)
第2の実施形態は、プロセッサの動作状態だけでなく、不揮発性メモリ4の動作状態も考慮に入れて、書込みパルスのパルス幅を決定するものである。
図5は第2の実施形態による半導体記憶装置1の概略構成を示すブロック図である。図5の半導体記憶装置1は、図1と同様に、メモリ回路2と書込みパルス制御部3とを備えているが、書込みパルス制御部3の内部構成が図1とは異なっている。
図5の書込みパルス制御部3は、パルス供給部21と電圧供給部22の他に、切替制御部26を有する。切替制御部26は、プロセッサの動作状態を示す状態信号と、不揮発性メモリ4の動作状態とに基づいて、パルス供給部21と電圧供給部22の動作を切り替えるための動作切替信号を生成する。
より詳細には、図5の切替制御部26は、メモリ動作モニタ31と、状態信号生成器32とを有する。メモリ動作モニタ31は、不揮発性メモリ4のアクセス分布やアクセス頻度などの動作状態を監視し、監視結果を示す信号を生成する。状態信号生成器32は、メモリ動作モニタ31よる監視結果を示す信号とプロセッサの動作状態を示す状態信号とに基づいて、動作切替信号を生成する。生成された動作切替信号に応じて、パルス供給部21はパルス信号の切替を行い、電圧供給部22は電圧の切替を行う。
図6はメモリ動作モニタ31の一具体例を示すブロック図である。図6のメモリ動作モニタ31は、メモリアクセスの間隔を取得するメモリアクセスモニタ34と、過去n回(nは1以上の整数)のメモリアクセスの間隔を記憶するn個のアクセス間隔カウンタ(アクセス履歴記憶部)35を有する。例えばk番目のアクセス間隔カウンタ35は、k回(kはn以下の自然数)前の不揮発性メモリ4へのアクセス間隔を記憶する。n個のアクセス間隔カウンタ35に記憶されているアクセス間隔が大きいほど、不揮発性メモリ4へのアクセス頻度がより少ないことを示している。よって、状態信号生成器32は、アクセス頻度が少ないことを示す動作切替信号を生成する。これにより、パルス供給部21と電圧供給部22により生成される書込みパルスのパルス幅は広くなる。すなわち、第2書込みパルスが生成される。n個すべてのアクセス間隔カウンタ35への記憶が終わると、最も古い情報を記憶するアクセス間隔カウンタ35から順に、記憶する情報を更新する。
状態信号生成器(パルス決定器)32は、n個のアクセス間隔カウンタ35に記憶されているn個のアクセス間隔の平均値に基づいて動作切替信号を生成してもよいし、現時点に近いアクセス間隔カウンタ35に記憶されているアクセス間隔をより優先させて、動作切替信号を生成してもよい。
このように、第2の実施形態では、プロセッサの動作状態だけでなく、不揮発性メモリ4の動作状態も考慮に入れて、書込みパルスのパルス幅を決定するため、例えば、プロセッサは高速動作をしているが、不揮発性メモリ4へのアクセス間隔は低いような場合に、不揮発性メモリ4への書込みパルスのパルス幅を広げることで、プロセッサの処理性能を落とさずに、メモリ回路2の消費電力を削減できる。
(第3の実施形態)
第3の実施形態は、不揮発性メモリ4が複数のメモリブロックを有する場合に、各メモリブロックの動作状態を監視して、書込みパルスのパルス幅を設定するものである。
図7は第3の実施形態による半導体記憶装置1の概略構成を示すブロック図である。図7の半導体記憶装置1は、複数のメモリブロック4cを備えており、各メモリブロック4cの内部に、メモリ回路2と、パルス供給部21と、電圧供給部22とが設けられている。
図7の書込み制御部31は、図5の書込み制御部31と同様に、メモリ動作モニタ31と状態信号生成器32とを有する。メモリ動作モニタ31は、すべてのメモリブロック4cの動作状態を監視し、監視した結果を示す信号を生成する。状態信号生成器32は、メモリ動作モニタ31が監視した信号とプロセッサからの状態信号とに基づいて、動作切替信号を生成する。この動作切替信号は、各メモリブロック4cに送られ、各メモリブロック4c内のパルス供給部31と電圧供給部22は、動作切替信号に応じて書込みパルスを生成する。
図8は第3の実施形態によるメモリ動作モニタ31の内部構成の第1例を示すブロック図である。図8のメモリ動作モニタ31は、過去n回(nは1以上の整数)分のアクセスを行ったメモリブロック4cの情報を取得するメモリアクセスモニタ34と、取得した情報を記憶するn個のアクセス分布モニタ36とを有する。
n個すべてのアクセス分布モニタ36への記憶が終わると、最も古い情報を記憶するアクセス分布モニタ36から順に、記憶する情報を更新する。
メモリ動作モニタ31は、過去n回分のアクセスを行ったメモリブロック4cの情報(アクセス分布情報)だけでなく、過去のメモリアクセスの間隔をモニタしてもよい。
図9は第3の実施形態よるメモリ動作モニタ31の内部構成の第2例を示すブロック図である。図9のメモリ動作モニタ31は、図8の構成に加えて、m個のアクセス間隔カウンタ35を有する。これらアクセス間隔カウンタ35は、図6のアクセス間隔カウンタ35と同様である。あるいは、メモリブロック4cの数分のアクセス間隔カウンタ35を設けて、各アクセス間隔カウンタ35は、対応するメモリブロック4cのアクセス間隔を計測してもよい。
このように、第3の実施形態では、複数のメモリブロック4cのうちどのメモリブロック4cにアクセスしたかを示すアクセス分布情報を記憶しておき、記憶されたアクセス分布情報に基づいてパルスを選択するため、不揮発性メモリ4が複数のメモリブロック4cに分かれていても、メモリ回路2の消費電力を削減できる。
また、アクセス分布情報だけでなく、アクセス間隔もモニタして書込みパルスのパルス幅を決定することにより、各メモリブロック4cへの書込み性能をきめ細やかに制御でき、プロセッサの処理性能を落とさずに、メモリ回路2の消費電力を削減できる。
(第4の実施形態)
第4の実施形態は、キャッシュメモリの書込みパルスを制御するものである。
図10はプロセッサシステム40の概略的なブロック図である。図10のプロセッサシステム40は、コア部41と、キャッシュメモリ42と、状態監視部43とを備えている。コア部41は、演算コアとL1キャッシュとを有する。コア部41と状態監視部43とでプロセッサが構成されている。
キャッシュメモリ42は、例えばL2キャッシュであり、キャッシュデータ部44と、タグ部45と、キャッシュロジック部46とを有する。キャッシュメモリ42は、階層化された複数のキャッシュメモリ42で構成される場合もあるが、図10では簡略化のために1階層分のキャッシュメモリ42を図示している。
状態監視部43は、演算コアの処理負荷や外部からの入出力を監視し、プロセッサの電源電圧レベルの調整や演算コアの動作状態の遷移を制御する。
図11は図10のキャッシュメモリ42の内部構成の第1例を示すブロック図である。図11のキャッシュメモリ42は、キャッシュデータ部44、タグ部45およびキャッシュロジック部46の他に、第1〜第3の実施形態と同様の書込みパルス制御部3を有する。書込みパルス制御部3は、パルス供給部21と電圧供給部22を有する。パルス供給部21が選択したパルス信号と電圧供給部22が選択した電圧とは、キャッシュデータ部44とタグ部45の双方に供給される。
キャッシュメモリ42には、プロセッサからの状態信号が入力されている。この状態信号に基づいて、書込みパルス制御部3内のパルス供給部21と書込みパルス供給部21は選択動作を行う。例えば、パルス供給部21内の複数のパルス生成器23は、キャッシュロジック部46から出力されたライトトリガ信号に同期して、パルス信号を生成する。パルス選択器24は、状態信号に基づいて、いずれか一つのパルス信号を選択する。
図11の例では、キャッシュデータ部44とタグ部45の双方がMRAMで構成されている例を示している。この場合、キャッシュデータ部44とタグ部45は、共通のパルス幅を持つ書込みパルスにて書込み動作を行う。
なお、タグ部45については、MRAMよりも高速のSRAMで構成する場合もある。この場合、タグ部45については、書込みパルス制御部3による書込みパルスの制御は行わないようにするのが望ましい。SRAMは、上述した図3のグラフG1とグラフG2のような特性を持たないためである。
図12は図10のキャッシュメモリ42の内部構成の第2例を示すブロック図である。図12では、キャッシュデータ部44はMRAMで構成され、タグ部45はSRAMで構成されている。図12のキャッシュメモリ42は、タグ部45用の書込みパルスを生成する書込みパルス生成器47を有する。
キャッシュロジック部46から出力されたライトトリガ信号は、パルス供給部21と書込みパルス生成器47に供給される。書込みパルス生成器47は、タグ部45用の書込みパルスを生成してタグ部45に供給する。書込みパルス生成器47は、上述したDVFS技術を使用する場合には、電源電圧VDDCの電圧レベルに応じて、書込みパルスのパルス幅を可変制御する。
このように、図12のキャッシュメモリ42では、MRAMで構成されたキャッシュデータ部44に対してのみ、書込みパルス制御部3により、書込みパルスのパルス幅を制御する。
図13は図11および図12のキャッシュロジック部46の内部構成の第1例を示すブロック図である。図13のキャッシュロジック部46は、ヒット/ミス判定部48と、データ入出力部49とを有する。ヒット/ミス判定部48は、プロセッサからの制御信号に基づいて、アクセス要求のあったデータのアドレスがタグ部45に格納されているアドレスと一致するか否かを判定する。データ入出力部49は、プロセッサからの制御信号に基づいて、キャッシュデータ部44に対して読み書きされるデータの入出力を制御する。
プロセッサが最速で動作していても、キャッシュメモリ42へのアクセス頻度は低い場合があり、このような場合に、キャッシュメモリ42に対して高速書込を行っても、プロセッサの処理性能にはほとんど影響せず、消費電力を無駄に消費する結果となる。そこで、プロセッサの状態とキャッシュメモリ42の状態とを考慮に入れて、キャッシュメモリ42への書込みパルスのパルス幅を制御してもよい。
図14はキャッシュロジック部46の内部構成の第2例を示すブロック図である。図14のキャッシュロジック部46は、図13の構成に加えて、キャッシュ動作モニタ部51と、状態信号生成器52とを有する。
キャッシュ動作モニタ部51は、キャッシュデータ部44の動作状態をモニタし、キャッシュデータ部44の動作状態を表す状態信号を生成する。キャッシュ動作モニタ部51がモニタするキャッシュデータ部44の動作状態とは、キャッシュデータ部44のアクセス分布やアクセス間隔などである。必要に応じて、キャッシュデータ部44のアクセス分布やアクセス間隔の履歴情報を記憶する記憶部を設けてもよい。
状態信号生成器52には、プロセッサの状態信号と、キャッシュ動作モニタ部51からのキャッシュメモリ42の状態信号とに基づいて、キャッシュデータ部44、またはキャッシュデータ部44とタグ部45の書込みパルスのパルス幅を制御するための状態信号を生成する。状態信号生成器52が生成した状態信号が、図12および図13のパルス供給部21と電圧供給部22に供給される。
図15はキャッシュロジック部46の内部構成の第3例を示すブロック図である。図15のキャッシュロジック部46は、図14の構成に加えて、ライトバッファ53を有する。ライトバッファ53は、キャッシュデータ部44とタグ部45に書き込むべきデータを事前に一時的に保持する。ライトバッファ53は、書込み順に複数のエントリを設けて、各エントリごとに書込みデータを保持してもよい。
図15のキャッシュ動作モニタ部51は、キャッシュデータ部44をモニタするのではなく、ライトバッファ53が有する複数のエントリの占有状態をモニタする。ライトバッファ53に空きエントリが多い場合は、キャッシュデータ部44に高速書込を行う必要はないと考えられる。この場合、キャッシュ動作モニタ部51は、状態信号生成器52に対して、キャッシュデータ部44に高速書込を行う必要がないことを表す状態信号を供給する。
このように、ライトバッファ53に空きエントリが多い場合は、キャッシュデータ部44に対する書込みパルスのパルス幅は広げられ、空きエントリが少ない場合には、書込みパルスのパルス幅は狭められる。
キャッシュメモリ42は、複数のブロックに分割されていてもよい。例えば、図16は図10のキャッシュメモリ42の内部構成の第3例を示すブロック図である。図16のキャッシュメモリ42内のキャッシュデータ部44とタグ部45はそれぞれ、複数のブロックに分割されている。
図16のキャッシュロジック部46は、図14のキャッシュロジック部46と同様の内部構成を有する。図16のキャッシュロジック部46内のキャッシュ動作モニタ部51は、例えば、キャッシュデータ部44内の各ブロックのアクセス分布やアクセス間隔をモニタし、キャッシュデータ部44の状態を表す状態信号を生成する。なお、キャッシュロジック部46の内部構成は、図15と同様でもよい。
このように、第4の実施形態では、プロセッサの動作状態に応じて、キャッシュメモリ42に対する書込みパルスのパルス幅を可変制御するため、例えばMRAMで構成されたキャッシュメモリ42の書き込み時の消費電力を抑制できる。また、プロセッサの動作状態だけでなく、キャッシュメモリ42の動作状態も加味してキャッシュメモリ42に対する書込みパルスのパルス幅を可変制御することで、プロセッサの処理性能に影響を与えることなく、より効率よくキャッシュメモリ42の消費電力を抑制できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 半導体記憶装置、2 メモリ回路、3 書込みパルス制御部、4 不揮発性メモリ、5 メモリ制御部、21 パルス供給部、22 電圧供給部、23 パルス生成器、24 パルス選択器、31 メモリ動作モニタ、32 状態信号生成器、34 メモリアクセスモニタ、35 アクセス間隔カウンタ、36 アクセス分布モニタ、40 プロセッサシステム、41 コア部、42 キャッシュメモリ、43 状態監視部

Claims (14)

  1. 不揮発性メモリと、
    書込みパルスにより前記不揮発性メモリに対する書き込み処理を行うメモリ制御部と、
    前記不揮発性メモリへの書込みを行う第1書込みモードと、前記第1書込みモードよりも消費電力が多く、かつ前記第1書込みモードよりも高速に前記不揮発性メモリへの書込みを行う第2書込みモードと、のいずれかを選択し、前記第1書込みモードが選択されると、前記不揮発性メモリへのアクセス制御に用いられるクロック信号の1周期より短くなるように前記書込みパルスのパルス幅を設定する書込みパルス制御部と、を備える半導体記憶装置。
  2. 前記書込みパルスは、第1書込みパルスと、前記第1書込みパルスよりもパルス幅が長い第2書込みパルスとを含んでおり、
    前記書込みパルス制御部は、前記第1書込みモードが選択されると、前記第2書込みパルスのパルス幅が前記クロック信号の1周期よりも短ければ、前記第2書込みパルスを前記書込みパルスとして選択し、前記第2書込みパルスのパルス幅が前記クロック信号の1周期よりも長ければ、前記第1書込みパルスを前記書込みパルスとして選択する請求項1に記載の半導体記憶装置。
  3. 前記書込みパルス制御部は、前記第2書込みモードが選択されると、前記第1書込みパルスを前記書込みパルスとして選択する請求項2に記載の半導体記憶装置。
  4. 前記書込みパルス制御部は、プロセッサの動作状態を示す状態信号に基づいて、前記第1書込みモードまたは前記第2書込みモードを選択する請求項1乃至3のいずれかに記載の半導体記憶装置。
  5. 前記書込みパルス制御部は、
    前記状態信号に基づいて、それぞれパルス幅が異なる複数のパルス信号の中から一つを選択するパルス選択器と、
    前記状態信号に基づいて、それぞれ電圧レベルが異なる複数の電圧の中から一つを選択する電圧選択器と、を有し、
    前記書込みパルス制御部は、前記パルス選択器で選択されたパルス信号と、前記電圧選択器で選択された電圧とに基づいて、前記書込みパルスを制御する請求項4に記載の半導体記憶装置。
  6. 前記不揮発性メモリは、複数のメモリ素子を有し、
    前記書込みパルス制御部は、前記複数のメモリ素子のそれぞれに対して直列接続され、前記パルス選択器で選択されたパルス信号に基づいてオンまたはオフするトランジスタを有し、
    前記電圧選択器で選択された電圧は、前記トランジスタがオンの場合に、前記トランジスタに対応する前記メモリ素子に印加される請求項5に記載の半導体記憶装置。
  7. 前記書込みパルス制御部は、
    前記不揮発性メモリの動作状態を監視するメモリ動作モニタを有し、
    前記パルス選択器は、前記メモリ動作モニタによる監視結果と前記状態信号とに基づいて、前記複数のパルス信号の中から一つを選択し、
    前記電圧選択器は、前記メモリ動作モニタによる監視結果と前記状態信号とに基づいて前記複数の電圧の中から一つを選択する請求項5または6に記載の半導体記憶装置。
  8. 前記メモリ動作モニタは、
    過去n回(nは1以上の整数)の前記不揮発性メモリに対するアクセス間隔および過去m回(mは1以上の整数)のアクセス分布の少なくとも一方を記憶するアクセス履歴記憶部と、
    前記n回のアクセス間隔および前記m回のアクセス分布の少なくとも一方を有する前記監視結果と前記状態信号とに基づいて、前記パルス選択器で選択すべきパルス信号を決定するパルス決定器と、を有する請求項7に記載の半導体記憶装置。
  9. ブロック単位でアクセス可能で、それぞれが前記不揮発性メモリを有する複数のメモリブロックを備え、
    前記書込みパルス制御部は、前記複数のメモリブロックのそれぞれごとに、対応するメモリブロックの動作状態とプロセッサの動作状態とに基づいて、前記書込みパルスを制御する請求項1乃至8のいずれか1項に記載の半導体記憶装置。
  10. キャッシュメモリを備え、
    前記キャッシュメモリは、
    キャッシュデータを記憶する前記不揮発性メモリを有するキャッシュデータ部と、
    前記キャッシュデータのアドレス情報を記憶する前記不揮発性メモリを有するタグ部と、を有し、
    前記書込みパルス制御部は、前記書込みパルスを用いて前記キャッシュデータ部および前記タグ部への書込みを行う請求項1乃至9のいずれかに記載の半導体記憶装置。
  11. キャッシュメモリを備え、
    前記キャッシュメモリは、
    キャッシュデータを記憶する前記不揮発性メモリを有するキャッシュデータ部と、
    前記キャッシュデータのアドレス情報を記憶する揮発性メモリを有するタグ部と、を有し、
    前記書込みパルス制御部は、前記書込みパルスを用いて前記キャッシュデータ部への書込みを行う請求項1乃至9のいずれかに記載の半導体記憶装置。
  12. 前記キャッシュメモリに格納されるべきデータが事前に格納されるライトバッファを備え、
    前記書込みパルス制御部は、前記ライトバッファの占有率とプロセッサの状態を示す状態信号とに基づいて、前記書込みパルスを制御する請求項10または11に記載の半導体記憶装置。
  13. 前記キャッシュメモリは、複数のメモリブロックを有し、
    前記書込みパルス制御部は、前記複数のメモリブロックの動作状態と前記状態信号とに基づいて、前記複数のメモリブロックに対する前記書込みパルスを制御する請求項12に記載の半導体記憶装置。
  14. 前記不揮発性メモリは、MRAM(Magnetoresistive Random Access Memory)である請求項1乃至13のいずれかに記載の半導体記憶装置。
JP2015035539A 2015-02-25 2015-02-25 半導体記憶装置 Active JP6364365B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015035539A JP6364365B2 (ja) 2015-02-25 2015-02-25 半導体記憶装置
US15/051,132 US9779024B2 (en) 2015-02-25 2016-02-23 Semiconductor storage device and processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015035539A JP6364365B2 (ja) 2015-02-25 2015-02-25 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2016157501A JP2016157501A (ja) 2016-09-01
JP6364365B2 true JP6364365B2 (ja) 2018-07-25

Family

ID=56690521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015035539A Active JP6364365B2 (ja) 2015-02-25 2015-02-25 半導体記憶装置

Country Status (2)

Country Link
US (1) US9779024B2 (ja)
JP (1) JP6364365B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11481191B2 (en) 2019-01-30 2022-10-25 Kabushiki Kaisha Toshiba Arithmetic device having magnetoresistive effect elements

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6122170B1 (ja) 2016-03-16 2017-04-26 株式会社東芝 不揮発性ram及び不揮発性ramを含むシステム
US10242719B2 (en) 2016-04-08 2019-03-26 Samsung Electronics Co., Ltd. Power management of a memory device by dynamically changing supply voltage
JP6108650B1 (ja) 2016-08-10 2017-04-05 株式会社エポック社 溶着性ビーズ玩具用スクレイパー
US10416910B1 (en) * 2016-09-20 2019-09-17 Altera Corporation Apparatus and method to reduce memory subsystem power dynamically
JP2019071577A (ja) * 2017-10-11 2019-05-09 ソニーセミコンダクタソリューションズ株式会社 半導体回路およびその制御方法
US11249679B2 (en) * 2019-07-31 2022-02-15 Micron Technology, Inc. Selecting a write operation mode from multiple write operation modes
CN111727477A (zh) * 2020-05-06 2020-09-29 长江存储科技有限责任公司 3d nand闪存的控制方法和控制器
JP2021190146A (ja) * 2020-05-29 2021-12-13 ソニーセミコンダクタソリューションズ株式会社 半導体記憶装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4931997A (en) * 1987-03-16 1990-06-05 Hitachi Ltd. Semiconductor memory having storage buffer to save control data during bulk erase
US6256224B1 (en) 2000-05-03 2001-07-03 Hewlett-Packard Co Write circuit for large MRAM arrays
US8130535B2 (en) 2009-09-01 2012-03-06 Qualcomm Incorporated Flexible word-line pulsing for STT-MRAM
JP4956640B2 (ja) * 2009-09-28 2012-06-20 株式会社東芝 磁気メモリ
WO2011036817A1 (ja) * 2009-09-28 2011-03-31 株式会社 東芝 磁気メモリ
JP2012094201A (ja) 2010-10-25 2012-05-17 Renesas Electronics Corp 半導体装置
JP6008633B2 (ja) 2012-07-23 2016-10-19 富士機械製造株式会社 部品実装システム
JP2014026681A (ja) 2012-07-24 2014-02-06 Ps4 Luxco S A R L 半導体装置及びこれを備えた情報処理システム
JP5492324B1 (ja) * 2013-03-15 2014-05-14 株式会社東芝 プロセッサシステム
JP6027567B2 (ja) 2014-03-07 2016-11-16 株式会社東芝 キャッシュメモリおよびプロセッサシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11481191B2 (en) 2019-01-30 2022-10-25 Kabushiki Kaisha Toshiba Arithmetic device having magnetoresistive effect elements

Also Published As

Publication number Publication date
JP2016157501A (ja) 2016-09-01
US20160247567A1 (en) 2016-08-25
US9779024B2 (en) 2017-10-03

Similar Documents

Publication Publication Date Title
JP6364365B2 (ja) 半導体記憶装置
US11361808B2 (en) Apparatuses and methods for selective row refreshes
KR102469065B1 (ko) 메모리 장치
US7821861B2 (en) Memory device and refresh method thereof
JP2011123970A (ja) 半導体記憶装置
JP2010152962A (ja) 半導体記憶装置
US8406074B2 (en) Semiconductor device
KR100941660B1 (ko) 반도체 기억 장치 및 워드 디코더 제어 방법
JP5498526B2 (ja) キャッシュシステム
US8824199B2 (en) Magnetic random access memory and memory system
KR20160119588A (ko) 반도체 메모리 장치
US10496546B2 (en) Cache memory and processor system
US20140068171A1 (en) Refresh control circuit and semiconductor memory device including the same
US9792972B2 (en) Memory system and cache memory
JP5992592B1 (ja) キャッシュメモリシステム
JP2016212934A (ja) 半導体装置及びその制御方法
JP2015232772A (ja) システムの制御方法及びシステム
JP2018049387A (ja) メモリシステム及びプロセッサシステム
JP6074463B2 (ja) プロセッサシステム、メモリ制御回路およびメモリシステム
KR20100076762A (ko) 워드라인 구동회로
KR100472725B1 (ko) 리프레시 모드를 갖는 반도체 메모리 소자
JP6130949B1 (ja) メモリシステムおよびプロセッサシステム
JP4606477B2 (ja) メモリシステム及び半導体集積回路
US20110156807A1 (en) Internal voltage control circuit
KR20110139894A (ko) 평판 표시 장치 드라이버용 메모리 리프레쉬 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180702

R151 Written notification of patent or utility model registration

Ref document number: 6364365

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350