(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、本発明の実施形態を図面に従って説明する。
【0009】
<半導体集積回路の製造方法について>
図2は、キャッシュメモリを備えるチップの製造方法の一例を示すフローチャートである。チップは、半導体集積回路の一例である。キャッシュメモリは、主記憶装置とプロセッサとの間に配置され、プロセッサが主記憶装置にアクセスしたいデータやそのデータのアドレスなどをコピーして保持する半導体記憶装置の一例である。キャッシュメモリの具体例として、ラストレベルキャッシュ(Last Level Cache)、2次キャッシュ(L2キャッシュ)などが挙げられる。
【0010】
ステップS100は、キャッシュメモリ内に構成されたRAM(Random Access Memory)マクロに割り当てられるウェイ(WAY)の割り当て方向をワード方向又はビット方向に決定する割り当て工程である。RAMマクロは、RAMとしての機能を有する回路ブロックである。ステップS100は、設計者の設計作業を支援する設計支援装置(コンピュータの一例)によって実行されてもよいし、設計者によって行われてもよい。
【0011】
例えば、設計支援装置又は設計者は、ウェイの割り当て方向をワード方向に割り当てたときのチップの実装効率が、ウェイの割り当て方向をビット方向に割り当てたときよりも低い場合、ウェイの割り当て方向をビット方向に決定する。逆に、設計支援装置又は設計者は、ウェイの割り当て方向をビット方向に割り当てたときのチップの実装効率が、ウェイの割り当て方向をワード方向に割り当てたときよりも低い場合、ウェイの割り当て方向をワード方向に決定する。ステップS100が行われた後、ステップS110の工程が実行される。
【0012】
ステップS110は、ステップS100で決定された割り当て方向に割り当てられたウェイに対して供給される電力をウェイ単位で遮断するスイッチをチップに形成して実装する形成工程である。この場合、ステップS110は、チップを製造する製造装置によって実行されてよい。
【0013】
あるいは、ステップS110は、ステップS100で決定された割り当て方向に割り当てられたウェイに対して供給される電力をウェイ単位で遮断するスイッチをチップに形成することを設定する設定工程であってもよい。この場合、ステップS110は、設計支援装置又は設計者によって実行されてよく、ステップS100及びステップS110は、チップの設計段階において行われる設計方法の一例を示している。
【0014】
ステップS110の形成工程が行われることによって、RAMマクロと、当該RAMマクロに割り当てられたウェイに供給される電力をウェイ単位で遮断するスイッチとを有するキャッシュメモリを備えたチップを製造できる。
【0015】
RAMマクロ単位でパワーゲーティングを行う場合、チップに搭載されるRAMマクロと同じ数だけ(例えば、数百個)、電源遮断用スイッチが必要となる。しかしながら、ステップS110の形成工程で形成されたスイッチは、ウェイ単位でパワーゲーティングを行うことができる。そのため、ステップS110で形成されたスイッチの数を、キャッシュメモリに割り当てられたウェイと同じ数にすることができ(例えば、数個〜十数個)、RAMマクロ単位でパワーゲーティングをする場合に比べて、大幅に削減できる。
【0016】
また、ウェイに供給される電力をウェイ単位で遮断できるので、使用しないウェイには電力を供給せずに、使用するウェイには電力を供給することができる。このように、ウェイの使用状態に応じて、キャッシュメモリに使用される電力を効率的に供給又は遮断できる。
【0017】
ステップS120は、製造されたチップを検査する試験において発見された製造欠陥の不良を冗長的に救済できるか否かを判定する判定工程である。ステップS120は、チップの製造装置によって実行されてよい。
【0018】
半導体集積回路の製造では、製造欠陥による不良が発生しやすいことがある。特に、キャッシュメモリのメモリセル部分は、プロセッサダイ上の最小回路であるため、製造欠陥による不良が発生しやすい。キャッシュメモリの歩留まり向上のために、冗長交代機構をキャッシュメモリに備える場合があるが、冗長交代機構でも製造欠陥の不良を救済できないチップは不良品となってしまう。そこで、キャッシュメモリの全てのメモリ部分に不良がなく完全に動作できるチップ(良品)とは別に、キャッシュメモリの一部のメモリ部分には不良があるが、その不良メモリ部分の機能を止めたチップを準良品とすることがある。準良品は、良品とは別のランクのプロセッサとしてラインナップされる製品である。
【0019】
製造装置は、ステップS120において、冗長的に救済できると判定した場合、ステップS130において、製造されたチップを良品として出荷する。一方、製造装置は、ステップS120において、冗長的な救済ができないと判定した場合、ステップS140において、製造されたチップを検査する試験で得られた不良個所の情報に基づいて、RAMマクロ内の不良個所を特定する。
【0020】
ステップS150は、ステップS110の形成工程を経て製造されたチップの試験においてRAMマクロ内で特定された不良個所を含むウェイを縮退する縮退工程である。製造装置は、ステップS140で特定された不良個所を含むウェイを縮退処理することによって、縮退処理されたウェイに含まれるメモリ部分の機能を止めることができる。
【0021】
ステップS160は、ステップS150で縮退されたウェイに供給される電力をステップS110で形成されたスイッチをオフすることによって遮断する遮断工程である。製造装置は、ステップS110で形成されたスイッチをオフ状態に固定することによって、ステップS150で縮退されたウェイのみに供給される電力が遮断されたチップを、ステップS170で準良品として出荷する。
【0022】
ウェイを縮退するだけでは、リーク電流が縮退されたウェイに流れるおそれがある。しかしながら、縮退されたウェイに供給される電力を遮断することによって、そのようなリーク電流を削減できるため、キャッシュメモリ及びチップの消費電力を削減できる。また、例えば、製造不良によるショートを起因とする過電流の防止が可能となる。
【0023】
<ワード方向へのウェイの割り当てについて>
次に、
図2のステップS100の割り当て工程に関する事項として、キャッシュメモリのサブアレイ単位でワード方向にウェイを割り当てる場合について説明する。
【0024】
図3に示されるように、キャッシュメモリの1つのマクロが8つのサブアレイ(SUBARRAY)を有している場合、ワード方向のサブアレイ単位でウェイを割り当てると、1つのマクロは8つのウェイWAY0〜WAY7で構成される。サブアレイは、メモリセルアレイ(Cell Array)と、ローカルブロック(Local Block)とを有する回路ブロックである。したがって、チップ全体で例えば24ウェイ構成(24ウェイセットアソシアティブ方式のキャッシュメモリ)としたい場合、
図4に示されように、1つのマクロが8つのウェイで構成されるとすると、24ウェイは3つのマクロ(3macro)で構成できる。
【0025】
一方、
図5に示されるように、キャッシュメモリの1つのマクロが4つのサブアレイを有している場合、ワード方向のサブアレイ単位でウェイを割り当てると、1つのマクロは4つのウェイで構成される。したがって、チップ全体で例えば12ウェイ構成(12ウェイセットアソシアティブ方式のキャッシュメモリ)としたい場合、
図6に示されるように、1つのマクロが4つのウェイで構成されるとすると、12ウェイは3つのマクロ(3macro)で構成できる。
【0026】
しかしながら、上記のような3つのマクロによるウェイ構成では、
図7に示されるように、キャッシュメモリの端子20への配線30がマクロ間を跨ぐ場合がある(マクロ越えの配線30が存在する場合がある)。そのため、マクロの配置領域に対して上方の領域をデータバス配線領域として使えないというデメリット(実装効率の低下)が生ずることがある。この場合、データバス配線の領域を確保する為にマクロ間にスペースを設ける必要があり、チップ面積が大きくなってしまう。また、配線30がマクロを迂回することによるレイテンシの悪化を防ぐため、リピータの数を増やすと、チップ全体の電力も増加してしまう。
【0027】
次に、このような場合に対処するため、ウェイの割り当て工程における割り当て方向の決定方法について、
図8に例示されたマクロ50を使用して説明する。
【0028】
<ウェイの割り当て方向の決定方法について>
図8は、マクロ50の構成を示す図(ワード方向とビット方向の物理イメージ)である。マクロ50は、8kワード(8カラム(column)×1024個のワード)×54ビットで構成されたRAMマクロの一例である。8カラム構成の場合、1kワードがワード方向に並んでいる。
【0029】
マクロ50は、4つのサブアレイSUBARRAY0〜SUBARRAY3と、4つのサブアレイにアクセスするための周辺回路(例えば、入出力サーキット(I/O Circuit)と、クロックジェネレータ(Clock Generator))とを有している。各サブアレイは、メモリセルアレイ(Memory Cell Array)、ローカルブロック(Local Block)、ファイナルデコーダ(Final Decoder)、コントロールジェネレータ(Control Generator)を有している。
【0030】
図9は、
図2のステップS100の割り当て工程で実行されるウェイの割り当て方法の一例を示すフローチャートである。
【0031】
ステップS200において、1つのマクロについての縦横各方向の大きさと、チップに構成されるウェイの総数とが、チップの要求仕様(構成要件)として指定される。例えば、1つのマクロの大きさが8kワード×54ビットと指定され、チップ全体を12ウェイで構成することが指定される。ただし、マクロ越え配線をなるべく無くしたい場合には、1マクロか2マクロで12ウェイを構成する必要がある。
【0032】
チップ全体を12ウェイで構成することが指定されるとき、1つのマクロで12ウェイ構成を実現したい場合、1つのマクロは12個のウェイで構成されるように設計する必要がある。2つのマクロで12ウェイ構成を実現したい場合、1つのマクロは6つのウェイで構成されるように設計する必要がある。3つのマクロで12ウェイ構成を実現したい場合、1つのマクロは4つのウェイで構成されるように設計する必要がある。このように、設計支援装置又は設計者は、ステップS210において、指定された構成要件に基づいて、1つのマクロ当たりに割り当てられるウェイ数の候補を算出する。
【0033】
そして、ステップS210において、設計支援装置又は設計者は、1つのマクロ当たりに割り当てられるウェイ数の候補の算出値それぞれについて、1つのウェイ当たりのワード数と1つのウェイ当たりのビット数とを算出する。つまり、設計支援装置又は設計者は、ワード方向のワード総数(この場合、8kワード)を、1つのマクロ当たりに割り当てられるウェイ数の候補の算出値で除算して、1つのウェイ当たりのワード数を算出する。同様に、設計支援装置又は設計者は、ビット方向のビット総数(この場合、54ビット)を、1つのマクロ当たりに割り当てられるウェイ数の候補の算出値で除算して、1つのウェイ当たりのビット数を算出する。
【0034】
ここで、1つのウェイ当たりのワード数及び1つのウェイ当たりのビット数は整数であることが物理的に必要である。
【0035】
したがって、8kワード×54ビットの場合、ステップS220において、設計支援装置又は設計者は、
図10に示されるように、1つのウェイ当たりのワード数が整数256となるウェイ数4を、1つのマクロ当たりに割り当て可能なウェイ数Nwと特定する。一方、ステップS220において、設計支援装置又は設計者は、
図11に示されるように、1つのウェイ当たりのビット数が整数9となるウェイ数6を、1つのマクロ当たりに割り当て可能なウェイ数Nbと特定する。
【0036】
つまり、
図9のステップS200,S210,S220は、1RAMマクロのワード方向に割り当て可能なウェイの数を演算する第1の演算工程と、1RAMマクロのビット方向に割り当て可能なウェイの数を演算する第2の演算工程とを有する工程の一例である。
【0037】
図12は、ステップS220で特定されたウェイ数Nwである4つのウェイをワード方向にワード数256のサブアレイ単位で割り当てたときのマクロの構成図である。
図13は、ステップS220で特定されたウェイ数Nbである6つのウェイをビット方向にビット数9を1単位として割り当てたときのマクロの構成図である。
【0038】
ここで、ステップS220で特定された2つのウェイ数Nw,Nbのうち数が多い方の方向でウェイを割り当てる方が、チップのウェイを構成するマクロの数が少なくできるため、実装効率が向上する。その結果、マクロ上空の配線領域が広がるため、レイテンシを削減できる。また、配線領域のためのマクロ間のスペースも狭く又は無くすことができ、実装効率及び実装コストの大幅な削減が可能となる。
【0039】
つまり、設計支援装置又は設計者は、
図9のステップS230において、ステップS220で特定された2つのウェイ数Nw,Nb同士を比較する。そして、設計支援装置又は設計者は、NwがNbよりも大きければ、ウェイの割り当て方向をワード方向に決定し、ステップS240において、所定のワード数を1単位としてワード方向にウェイを割り当てる。逆に、設計支援装置又は設計者は、NbがNwよりも大きければ、ウェイの割り当て方向をビット方向に決定し、ステップS250において、所定のビット数を1単位としてビット方向にウェイを割り当てる。
【0040】
したがって、1つのRAMマクロの大きさが8kワード×54ビットの場合、設計試験装置又は設計者は、1つのRAMマクロに6つのウェイをビット方向に割り当てる構成を採用する(
図13参照)。
【0041】
図9のステップS200でキャッシュメモリの構成が12ウェイと指定された場合、ウェイがワード方向で割り当てられると、12ウェイが3マクロで構成される(
図6参照)。これに対し、
図14に示されるように6つのウェイがビット方向に割り当てられると、1マクロ当たりに割り当てられるウェイの数は6つであるため、12ウェイが2マクロで構成される(
図15参照)。
【0042】
したがって、
図16に示されるように、2つのマクロを隣り合わせて12ウェイを構成できるので、キャッシュメモリの端子21を各マクロの端部に配置することで、端子21に接続される配線31がマクロ間を跨ぐ必要がなくなる。また、マクロ上空の配線領域が広がるため、レイテンシを削減できる。また、配線領域のためのマクロ間のスペースも狭く又は無くすことができ、実装効率及び実装コストの大幅な削減が可能となる。
【0043】
<電源遮断スイッチの形成>
次に、
図2のステップS110の電源遮断スイッチの形成工程に関する事項について説明する。
【0044】
ステップS110において、ステップS100で決定された割り当て方向に割り当てられたウェイに対して供給される電力をウェイ単位で遮断するスイッチが、チップに形成される。
【0045】
図17は、ワード方向に割り当てられたウェイに対して供給される電力をウェイ単位で遮断するスイッチ11がウェイ毎に設けられたRAMマクロの一例を示す図である。
図18は、ビット方向に割り当てられたウェイに対して供給される電力をウェイ単位で遮断するスイッチ12がウェイ毎に設けられたRAMマクロの一例を示す図である。スイッチ11,12は、例えば、MOS(Metal Oxide Semiconductor)トランジスタである。図には、Pチャネル型MOSトランジスタが例示されているが、Nチャネル型MOSトランジスタでもよい。
【0046】
<電源遮断処理について>
図2のステップS150の縮退処理後、ステップS160の電源遮断処理が製造装置によって行われる。ウェイがワード方向に割り当てられた場合、
図19に示されるように、縮退したウェイ(ウェイ0,ウェイ2)に供給される電力は、縮退したウェイ0,2に接続されるスイッチ11がオフすることによって遮断される。ウェイがビット方向に割り当てられた場合、
図20に示されるように、縮退したウェイ(ウェイ1,ウェイ3,ウェイ5)に供給される電力は、縮退したウェイ1,3,5に接続されるスイッチ12がオフすることによって遮断される。オンしているスイッチ11又はスイッチ12に接続されるウェイには、電力が供給される。
【0047】
図21は、キャッシュメモリ102と制御部40とを備えるチップ101の構成を示した図である。キャッシュメモリ102は、2つのRAMマクロ(2macro)で実現された12ウェイ構成を有する半導体記憶装置の一例である。
図21の場合、12個のウェイWAY0〜WAY11は、RAMマクロのビット方向に割り当てられている。また、キャッシュメモリ102は、ウェイに供給される電力をウェイ単位で遮断するスイッチ13を複数有している。スイッチ13は、1つのウェイに対して1つ設けられているため、ウェイの総数と同じ12個である。このように、RAMマクロ単位で電源を遮断する場合に比べて、パワーゲーティングを行うスイッチの数を大幅に削減できる。
【0048】
なお、
図21は、ウェイがビット方向に割り当てられる例を示しているが、ウェイがワード方向に上述の手法で割り当てられている場合でも、ウェイ単位で電源を遮断するスイッチの数をウェイと同数にすることができる。
【0049】
制御部40は、ウェイに供給される電力がウェイ毎に遮断されるように複数のスイッチ13を制御する制御手段の一例である。制御部40は、例えば、縮退されたウェイを特定する情報に基づいて、縮退されたウェイへの電力が遮断されるように、縮退されたウェイに接続されたスイッチ13をオフする。
【0050】
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
RAMマクロに割り当てられたウェイに供給される電力をウェイ単位で遮断するスイッチを形成する形成工程を有する、半導体集積回路の製造方法。
(付記2)
前記ウェイは、前記RAMマクロのワード方向とビット方向のうち前記RAMマクロの1つ当たりに割り当てできるウェイ数が多い方の方向に割り当てられた、付記1に記載の半導体集積回路の製造方法。
(付記3)
前記RAMマクロに割り当てられた特定のウェイに供給される電力を前記スイッチで遮断する遮断工程を有する、付記1又は2に記載の半導体集積回路の製造方法。
(付記4)
不良個所を含むウェイを縮退する縮退工程を有し、
前記特定のウェイは、前記縮退工程で縮退されたウェイである、付記3に記載の半導体集積回路の製造方法。
(付記5)
RAMマクロと、
前記RAMマクロに割り当てられたウェイに供給される電力をウェイ単位で遮断するスイッチとを備える、半導体記憶装置。
(付記6)
前記ウェイは、前記RAMマクロのワード方向とビット方向のうち前記RAMマクロの1つ当たりに割り当てできるウェイ数が多い方の方向に割り当てられた、付記5に記載の半導体記憶装置。
(付記7)
付記5又は6に記載の半導体記憶装置と、
前記RAMマクロに割り当てられた特定のウェイに供給する電力を遮断するように前記スイッチを制御する制御部とを備える、半導体集積回路。
(付記8)
前記特定のウェイは、前記RAMマクロ内の不良個所を含む縮退されたウェイである、
付記7に記載の半導体集積回路。
(付記8)
RAMマクロに割り当てられるウェイの割り当て方向をワード方向又はビット方向に決定する割り当て工程と、
前記割り当て工程で決定された割り当て方向に割り当てられるウェイに対して供給される電力をウェイ単位で遮断するスイッチを設定する設定工程とを有する、半導体記憶装置の設計方法。
(付記9)
前記割り当て工程は、
1RAMマクロのワード方向に割り当て可能なウェイの数を演算する第1の演算工程と、
1RAMマクロのビット方向に割り当て可能なウェイの数を演算する第2の演算工程と、
前記第1の演算工程で演算された第1のウェイ数と前記第2の演算工程で演算された第2のウェイ数とを比較する比較工程と、
前記第1のウェイ数と前記第2のウェイ数のうち数が多い方の方向に前記割り当て方向を決定する決定工程とを有する、付記8に記載の半導体記憶装置の設計方法。
(付記10)
前記第1の演算工程は、ウェイ当たりのワード数が整数となるウェイ数を前記第1のウェイ数と特定し、
前記第2の演算工程は、ウェイ当たりのビット数が整数となるウェイ数を前記第2のウェイ数と特定する、付記9に記載の半導体記憶装置の設計方法。
【0051】
以上、半導体集積回路の製造方法、半導体記憶装置及び半導体集積回路を実施形態例により説明したが、本発明は上記実施形態例に限定されるものではない。他の実施形態例の一部又は全部との組み合わせや置換などの種々の変形及び改良が、本発明の範囲内で可能である。