JP2008262648A - 半導体集積回路装置 - Google Patents

半導体集積回路装置 Download PDF

Info

Publication number
JP2008262648A
JP2008262648A JP2007105764A JP2007105764A JP2008262648A JP 2008262648 A JP2008262648 A JP 2008262648A JP 2007105764 A JP2007105764 A JP 2007105764A JP 2007105764 A JP2007105764 A JP 2007105764A JP 2008262648 A JP2008262648 A JP 2008262648A
Authority
JP
Japan
Prior art keywords
address
duplex
data
area
bit
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
Application number
JP2007105764A
Other languages
English (en)
Inventor
Shuji Ono
修治 大野
Takeo Kon
健夫 今
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2007105764A priority Critical patent/JP2008262648A/ja
Publication of JP2008262648A publication Critical patent/JP2008262648A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Static Random-Access Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】データの処理時間を短縮する。
【解決手段】半導体集積回路装置(10)は、二重化領域(161)と非二重化領域(162)とを含むメモリセルアレイ(16)を含み、上記二重化領域は、二重化対象領域(161A)と、二重化データ領域(161B)とを含む。アクセス対象が上記二重化対象領域であるか上記非二重化領域であるかの判定を可能とするアドレスデコーダ(11)を設ける。上記二重化対象領域に対応する上記二重化データ領域の物理アドレスを形成するアドレス変換回路(12)を設ける。上記アドレスデコーダのデコード結果に基づいて、上記メモリセルアレイに結合されたデータバスにおけるデータ伝達路の切り替えを可能とするデータバス制御回路(13)を設ける。二重化機能のオン・オフ切り替えをハードウェアで判別し、ソフトウェアでの機能切り替えを不要とすることでデータ処理時間の短縮化を図る。
【選択図】図1

Description

本発明は、半導体集積回路装置、さらにはそれに含まれるメモリセルアレイにおけるデータ二重化技術に関し、例えばCPUシステムに適用して有効な技術に関する。
メモリのエラーを検出する技術として、データ二重化技術が用いられてきた。二重化技術とは、異なる領域に同じデータを格納し、データ読み出しの際に両者の比較によってエラーの発生を検出する技術である。この技術はメモリモジュールのテストや故障検出だけでなく、CPU(中央処理装置)システムの誤動作や外部アタックの検出にも適用することができる。
CPUシステムに二重化を適用した従来技術としては、2モジュールのメモリにデータを格納する技術(例えば特許文献1参照)、1モジュールのメモリに2回のアクセスで異なるアドレスにデータを格納する技術(例えば特許文献2参照)などがある。
CPUシステムにおけるメモリの二重化では、メモリの容量の増加量を抑えるために、メモリの全データではなく、一部の領域のデータのみを二重化の対象とする場合がある。この仕様では、エラー検出したい情報を優先的にその領域へ格納する。
特開平09−325920号公報 特開2001−290710号公報
本願発明者は、メモリモジュールの統合による回路面積と消費電流の削減のために、1モジュールのメモリに1アクセスでデータの二重化を行う方式を検討し、以下の課題を見出した。
1モジュールのメモリにおいて、1アクセスでデータの二重化を行う場合、CPUが制御可能なデータのビット幅の2倍のビット幅のインタフェースが必要とされる。データの二重化を行う場合、アドレスによって一本のワード線が選択され、同一ワード線上のメモリセルへの二重化アクセスが行われる。ここで、1モジュール内に二重化を行わない領域が含まれる場合には、メモリのモジュール形状が変則的となり、レイアウト形状として不適当となる。また、メモリへの書き込み及び読み出しを行う際、アクセスする領域が二重化対象領域か非対象領域かで二重化制御のオン・オフ切り替えのためのステップが必要になり、それによってデータの処理時間が増大する。
本発明の目的は、二重化対象領域と二重化非対象領域が1モジュール内に混載する場合のデータ処理時間を短縮するための技術を提供することにある。
本発明の別の目的は、二重化対象領域と二重化非対象領域が1モジュール内に混載する場合のレイアウト形状の適正化を図るための技術を提供ことにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、半導体集積回路装置は、二重化領域と非二重化領域とを含むメモリセルアレイを含み、上記二重化領域は、二重化対象領域と、二重化データ領域とを含む。アクセス対象が上記二重化対象領域であるか上記非二重化領域であるかの判定を可能とするアドレスデコーダと、アクセス対象が上記二重化対象領域である場合に、上記アドレスデコーダのデコード結果に基づくアドレス変換処理により、上記二重化対象領域に対応する上記二重化データ領域の物理アドレスを形成するアドレス変換回路と、上記アドレスデコーダのデコード結果に基づいて、上記メモリセルアレイに結合されたデータバスにおけるデータ伝達路の切り替えを可能とするデータバス制御回路とを設ける。二重化機能のオン・オフ切り替えをハードウェアで判別することにより、ソフトウェアでの機能切り替えを不要として、データの処理時間を短縮化を図る。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、二重化対象領域と二重化非対象領域が1モジュール内に混載する場合のデータ処理時間を短縮することができる。
1.代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係る半導体集積回路装置(10,500)は、データが二重化される二重化領域(161)と、二重化されない非二重化領域(162)とを含むメモリセルアレイ(16)を含み、上記二重化領域は、二重化対象として外部から与えられたデータが書き込まれる二重化対象領域(161A)と、上記二重化対象領域に隣接配置され、上記二重化対象として外部から与えられたデータを二重化するためのデータが書き込まれる二重化データ領域(161B)とを含む。そして、入力された論理アドレスをデコードすることで、アクセス対象が上記二重化対象領域であるか上記非二重化領域であるかの判定を可能とするアドレスデコーダ(11,502)と、アクセス対象が上記二重化対象領域である場合に、上記アドレスデコーダのデコード結果に基づくアドレス変換処理により、上記二重化対象領域に対応する上記二重化データ領域の物理アドレスを形成するアドレス変換回路(12,504)と、上記アドレスデコーダのデコード結果に基づいて、上記メモリセルアレイに結合されたデータバスにおけるデータ伝達路の切り替えを可能とするデータバス制御回路(13,505)とを設ける。
上記の構成によれば、アドレスデコーダ(11,502)は、入力された論理アドレスをデコードすることで、アクセス対象が上記二重化対象領域であるか上記非二重化領域であるかの判定を可能とする。つまり、二重化機能のオン・オフ切り替えをハードウェアで判別するようにしているため、ソフトウェアでの機能切り替えが不要となる。このため、二重化対象領域と二重化非対象領域が1モジュール内に混載する場合でもアドレス毎に二重化機能切り替えを行う必要がなくなり、データの処理時間を短縮することができる。これにより、二重化領域と非二重化領域が混載した1モジュールのメモリをCPUシステムに適用可能となる。
〔2〕上記アドレスデコーダ(502)に入力された論理アドレスに、二重化制御を行うか否かを指示する二重化指示ビットが含まれるとき、上記アドレスデコーダは、上記二重化指示ビットの論理を判定する機能を有し、上記アドレス変換回路及び上記データバス制御回路は、上記アドレスデコーダでの上記二重化指示ビットの論理判定結果に応じて動作制御される。
〔3〕上記半導体集積回路装置に、プログラム実行により制御信号を出力可能な中央処理装置(501)を設けることができる。その場合において、上記アドレスデコーダ(502)は、上記中央処理装置から伝達された制御信号により、上記二重化指示ビットの論理にかかわらず、二重化制御を行う状態と、二重化制御を行わない状態との切り替えを可能とするセレクタ(122)を含んで構成することができる。
〔4〕上記半導体集積回路装置に、プログラム実行により制御信号を出力可能な中央処理装置(501)と、上記中央処理装置によって書き換え可能な判定用レジスタ(172)とを設けることができる。上記判定用レジスタは、アドレスのビットのうち、どのビットを判定に用いるかを指定する比較ビット指定レジスタ(172A)と、二重化機能をオン状態にするか、オフ状態にするかをアドレスで判定する際に、比較するアドレスを格納するためのアドレス比較用レジスタ(172B)とを含む。このとき上記アドレスデコーダは、上記アドレス比較用レジスタのデータの中で、上記比較ビット指定レジスタで指定されたビット番号のデータと、入力された論理アドレスとの比較を行う比較回路(508)を含む。
2.実施の形態の説明
次に、実施の形態について更に詳述する。
図1には、本発明にかかる半導体集積回路装置の一例とされる半導体メモリが示される。図1に示される半導体メモリ10は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
上記半導体メモリ10は、1モジュールによって形成され、アドレスデコーダ11、アドレス変換回路12、データバス制御回路13、Xデコーダ14、Yデコーダ17、及びメモリセルアレイ16を含む。
メモリセルアレイ16は、複数のメモリセルがアレイ状に配列されて成り、二重化領域161と非二重化領域162とに分けられる。上記二重化領域161は、二重化対象領域161Aと、二重化データ領域161Bとに分けられる。図示されないCPU(中央処理装置)システムから与えられるアドレス信号がアドレスデコーダでデコードされる。このデコード出力に基づいて、アドレス変換回路12でのアドレス変換処理、データバス制御回路13でのデータバス制御が行われる。Xデコーダ14によりローアドレスが形成され、このローアドレスにより、メモリセルアレイ16のワード線選択が行われる。Yデコーダ17によりカラムアドレスが形成され、このカラムアドレスにより、メモリセルアレイ16のデータ線の選択が行われる。
図2には、半導体メモリ10へのアクセス時のフローチャートが示される。
二重化対象領域161Aと非二重化領域162とは論理アドレスで分離され、アドレスデコードの判定結果がアドレス変換回路12とデータバス制御回路13とに出力されることで、二重化制御のオン・オフ切り替えは、以下のようにハードウェア側で自動制御可能とされる。
先ず、アドレスの上位ビットが参照され(S11)、二重化対象のアドレスであるか否かが判別される(S12)。二重化対象のアドレスである場合には、アドレスの変換とデータバスの並び替えが行われる(S13)。そして二重化対象領域161Aへのアクセスが行われた場合、アドレスの変換が行われる(S13)。
上記アドレス変換は次のように行われる。
論理アドレスでは各領域は連続したアドレス空間となるが、二重化対象領域161A及び二重化データ領域161Bの物理アドレスは、隣り合う領域が二重化対象領域161Aと二重化データ領域161Bの組となるため、アドレス領域は交互に二重化対象領域と二重化データ領域が並ぶ。偶数アドレスに対してアクセスを行えば、「1」が加算された奇数アドレスのデータと合わせた2領域のデータへのアクセスが行われる。通常、メモリのアドレスはシステムから与えられたアドレスの下位ビットがそのまま使用される。しかし本例では、図3に示されるように、奇数アドレスが二重化データ領域として使用されるため、物理アドレスが偶数となるようにアドレス変換回路12によってアドレス変換される。
二重化を行わない場合には、アドレス変換回路12でのアドレスの変換は行わず、入力されたアドレスがそのまま使用される。従って、非二重化領域162は、入力されたアドレスが偶数か奇数かによって、同一ワード線上の複数のメモリセルが使い分けられることができる。このため、1本のワード線に結合されるメモリセルの数は、二重化領域161と非二重化領域162とで互いに等しくすることができる。
図4にはデータバス制御回路13の構成例が示される。
データバス制御回路13は、図4に示されるように、データ書込み時に使用される選択回路41と、データ読み出し時に使用される比較回路42を含む。選択回路41は、二重化オン・オフ切り替え信号によって、CPUからのデータを選択的にメモリセルアレイ16に伝達する第1モードと、グランドラインのレベル(ローレベル)を選択的にメモリセルアレイに伝達する第2モードとを含む。CPUからのデータはメモリセルアレイ16の二重化対象領域161Aに書き込まれ、また、上記比較回路42を介してメモリセルアレイ16の二重化データ領域161Bに書き込まれる。これによりデータが二重化される。
データの読み出し時には、メモリセルアレイ16の二重化対象領域161Aからの読み出しデータと、メモリセルアレイ16の二重化データ領域161Bからの読み出しデータとが比較回路42で比較されることにより、エラー検出が行われる。このデータ比較において、両データが異なる場合には比較回路42によりエラー検出信号がアサートされる。これにより、CPUでは、エラー検出信号がアサートされた場合のデータを処理対象から外すことにより、データ処理の適正化を図ることができる。
ここで、上記半導体メモリ10の比較対象とされる構成について説明する。
図23に示されるように、1モジュールによって構成されるメモリにおいて1アクセスで二重化を行う場合、二重化対象領域と二重化データ領域とが形成されるため、CPUによって制御可能なデータのビット幅の2倍のビット幅を有するインタフェースが必要となる。そしてデータの二重化を行う場合、アドレスによってメモリセルアレイ16における1本のワード線が選択され、同一ワード線上のメモリセルに対して、二重化アクセスが行われる。このため、図24に示されるように、データの二重化を行う領域とは別に二重化を行わない領域(非二重化領域)が形成される場合には、メモリセルアレイ16の形状が変則的になってしまうため、レイアウトし難くなる。
また、メモリへの書き込み及び読み出しを行う際、アクセスする領域が二重化対象領域か非対象領域かで二重化制御のオン・オフ切り替えを行う必要がある。このため、データのアクセスの前に二重化機能のオン(有効)/オフ(無効)をソフトウェアで切り替えるステップが必要になり、データの処理時間が増大するおそれがある。
これに対して、図1に示される構成によれば、二重化対象領域161Aと非二重化領域162とが論理アドレスで分離され、アドレスデコードの判定結果がアドレス変換回路12とデータバス制御回路13とに出力されることで、二重化制御のオン・オフ切り替えがハードウェア側で自動制御可能とされるため、ソフトウェアでの機能切り替えが不要となる。このため、二重化対象領域と二重化非対象領域が1モジュール内に混載する場合でもアドレス毎に二重化機能切り替えを行う必要がなくなり、データの処理時間を短縮することができる。
また、二重化を行わない場合には、図1に示されるアドレス変換回路12でのアドレスの変換は行わず、入力されたアドレスがそのまま使用される。従って、非二重化領域162は、入力されたアドレスが偶数か奇数かによって、同一ワード線上の複数のメモリセルが使い分けられることができる。このため、1本のワード線に結合されるメモリセルの数は、二重化領域161と非二重化領域162とで互いに等しくすることができるので、図1に示されるメモリセルアレイ16の形状は、1モジュール内に二重化を行わない領域(162)が含まれるにもかかわらず、矩形状とすることができ、図24に示されるような変則的形状にならないで済む。
上記の例によれば、以下の作用効果を得ることができる。
(1)二重化機能のオン・オフ切り替えをハードウェアで自動判別するため、ソフトウェアでの機能切り替えが不要となる。このため、二重化対象領域と二重化非対象領域が1モジュール内に混載する場合でもアドレス毎に二重化機能切り替えを行う必要がなくなり、データの処理時間を短縮することができる。この結果、二重化領域と非二重化領域が混載した1モジュールのメモリをCPUシステムに適用可能となる。
(2)また、メモリセルやXデコーダ14、Yデコーダ17を変更することなく、二重化領域161、非ニ重化領域162を混載することができるため、二重化機能を有しないメモリモジュールをシステムに流用し、二重化機能を追加することが容易となる。
(3)二重化を行わない場合には、アドレス変換回路12でのアドレスの変換は行わず、入力されたアドレスがそのまま使用される。従って、非二重化領域162は、入力されたアドレスが偶数か奇数かによって、同一ワード線上の複数のメモリセルが使い分けられることができるので、1本のワード線に結合されるメモリセルの数は、二重化領域161と非二重化領域162とで互いに等しくすることができる。これによりメモリセルアレイ16の形状は、1モジュール内に二重化を行わない領域(162)が含まれるにもかかわらず、矩形状とすることができるので、チップレイアウトの容易化を図ることができる。
図5には、本発明にかかる半導体集積回路装置の別の例であるCPUシステムが示される。
図5に示されるCPUシステム500は、CPU501、アドレスデコーダ502、比較回路503、アドレス変換器504、データバス制御回路505、及びメモリ506を含み、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
CPU501は、設定されたプログラムを実行することで、メモリアクセスのためのアドレス信号や各種制御信号を出力する。この演算処理で必要とされるデータなどは、必要に応じてメモリ506から読み出すことができる。また、CPU501での演算処理の結果は、必要に応じてメモリ506に書き込むことができる。アドレスデコーダ502は、上記CPU501から与えられた物理アドレス信号をデコードする機能を有する。このアドレスデコード結果は、アドレス変換回路504、データバス制御回路505、及び比較回路503に伝達される。アドレス変換回路504は、図1に示されるアドレス変換回路12と同様に、アドレスデコーダ502でのアドレスデコード結果をメモリ506の物理アドレスに変換する機能を有する。データバス制御回路505は、図1に示されるデータバス制御回路13と同様に、データ転送経路の切り替え制御機能を有する。
メモリ506は、図1に示されるメモリセルアレイ16に相当し、このメモリセルアレイ16と同様に、1モジュールによって構成される。メモり506は、図1に示されるメモリセルアレイ16と同様に、二重化領域161と、非二重化領域162とを含み、二重化領域161は、二重化対象領域161Aと、二重化データ領域161Bに分けられる。尚、図5においては、図1に示されるXデコーダ14及びYデコーダ17は省略されている。
比較回路503は、メモリ506の二重化対象領域(図1の161Aに相当)からの読み出しデータと、メモリ506の二重化データ領域(図1の161B)からの読み出しデータとの比較を行う機能を有する。この比較結果はCPU501に伝達される。
図6には、メモリのアドレスマップの例が示される。
CPU501によって管理されるアドレス0〜1FFまでが二重化対象領域161Aに割り当てられ、CPU501によって管理されるアドレス200〜3FFまでが二重化データ領域161Bに割り当てられる。また、図7に示されるように、アドレス内の所定ビットを見ることで領域判別を行うことができる。本例では、ビット番号9のビット(以下「ビット9」と表記)の論理値によって、領域の判別が可能とされる。すなわち、「ビット9」が論理値“0”の場合に二重化領域161と判定され、「ビット9」が論理値“1”の場合に非二重化領域162と判定される。このビット9が本発明における二重化指示ビットに対応する。
ここでアドレスデコーダ502は、上記ビット9の状態を判定し、その判定結果を二重化オン・オフ判定信号として出力する。
図8には、論理アドレスと物理アドレスとの関係が示される。
CPU501から与えられた論理アドレスは、図8に示されるように、メモリ506内の物理アドレスに変換される。このアドレス変換はアドレス変換回路504によって行われる。
論理アドレスがH’000〜H’1FFまでは、二重化制御が行われるため、データが二重化され、二重化されたデータを格納するためにアドレスの変換が行われる。しかし、論理アドレスがH’200〜H’3FFまでは、二重化制御が行われないため、データが二重化されず、アドレスの変換も行われない。
論理アドレスは連続したアドレス空間となるが、物理アドレスは隣り合うアドレスが二重化対象領域と二重化データ領域の組となる。通常、メモリのアドレスはシステムから与えられたアドレスの下位ビットがそのまま使用される。しかし、本例では、奇数アドレスが二重化データ領域として使用されるため、アドレス変換回路12でのアドレス変換が必要となる。本例では、論理アドレスと物理アドレスの変換規則を4の倍数毎に決めることで、アドレス変換回路12の簡略化を図った。
図9には、図8に対応するアドレス変換例が示される。
図9のアドレス変換処理の流れは以下の通りである。
論理アドレスが4の倍数の時、アドレス変換されない(901)。論理アドレスが4の倍数+1の時、論理アドレス+H’1に変換される(902)。論理アドレスが4の倍数+2の時、論理アドレス+H’400に変換される(903)。論理アドレスが4の倍数+3の時、論理アドレス+H’401に変換される(904)。
奇数アドレスが二重化データ領域161Bとなるため、本来奇数アドレスが指定された場合、+1のインクリメントにより偶数アドレスに変換される。これによるアドレスの重複を避けるため、4の倍数+2,+3,の論理アドレスには、H’400以降の物理アドレスが割り当てられる。
図10には、アドレスデコーダ502とアドレス変換回路504の構成例が示される。
アドレスデコーダ502は、ビット9の論理を変転するインバータ106によって構成される。アドレス変換回路504は、2入力アンドゲート101,103、及びセレクタ102,104,105を含む。
図7に示されるアドレスの例では、二重化領域か否かの条件はアドレスの9ビット目となる。アドレスデコーダ502に、このビット9を与え、デコード結果をアドレス変換回路504に出力する。アドレス変換回路504では、上記判定結果が二重化機能のオン・オフ切り替え信号とされ、アドレスビットの状態と切り替え信号が使用されることで、図9に示される変換規則に沿うアドレス変換が行われる。すなわち、アンドゲート101の出力が、論理値“1”の場合、セレクタ102により、論理値“1”が選択的に出力され、アンドゲート101の出力が、論理値“0”の場合、ビット10が選択的に出力される。アンドゲート103の出力が論理値“1”の場合、セレクタ104により、ビット0が選択的に出力され、アンドゲート103の出力が論理値“0”の場合、ビット1が選択的に出力される。また、アドレスでコーダ502の出力が論理値“1”の場合、セレクタ105により、論理値“0”が選択的に出力され、アドレスでコーダ502の出力が論理値“0”の場合、セレクタ105により、ビット0が選択的に出力される。
上記例によれば、以下の作用効果を得ることができる。
(1)二重化機能のオン・オフ切り替えをハードウェアで自動判別するため、ソフトウェアでの機能切り替えが不要となる。この結果、二重化対象領域と二重化非対象領域が1モジュール内に混載する場合でもアドレス毎に二重化機能切り替えを行う必要がなくなり、データの処理時間を短縮することができる。
(2)上記二重化制御が行われることにより、CPUシステム500において1モジュール内での二重化機能を実装することが可能となる。
図11には、上記CPUシステム500の別の構成例が示される。
図11に示されるCPUシステム500が図5に示されるのと大きく相違するのは、CPU501からアドレスデコーダ502に対して制御信号が伝達され、この制御信号によって、アドレスデコーダ502の出力状態が制御されるようになっている点である。
図12には、図11におけるアドレスデコーダ502の構成例が示される。
上記アドレスデコーダ502は、図12に示されるように、CPU501から伝達されたアドレス信号をデコードするデコード部121と、上記CPU501からの制御信号によって選択動作が制御されるセレクタ122とを含む。かかる構成において、セレクタ122は、上記CPU501からの制御信号によって、論理値“1”を出力する第1出力状態と、論理値“0”を出力する第2出力状態と、デコード部121でのデコード結果をそのまま出力する第3出力状態との切り替えを可能とする。論理値“1”を出力する第1出力状態ではデータの二重化が行われ、論理値“0”を出力する第2出力状態ではデータの二重化が行われない。
図13には、図11におけるアドレス変換回路504の構成例が示される。
上記アドレス変換回路504は、図11に示されるように、2入力アンドゲート151,156、インバータ152,154、セレクタ153,155,157,158を含む。アンドゲート151の出力信号が論理値“1”の場合、セレクタ153によりビット10の反転値が選択的にメモリ506に伝達される。アンドゲート151の出力信号が論理値“0”の場合、ビット10が選択的にメモリ506に伝達される。また、アンドゲート151の出力信号が論理値“1”の場合、セレクタ155によりビット9の反転値が選択的にメモリ506に伝達され、アンドゲート151の出力信号が論理値“0”の場合、セレクタ155によりビット9が選択的にメモリ506に伝達される。そして、アンドゲート156の出力信号の論理値が論理値“1”の場合、セレクタ157によりビット0が選択的にメモリ506に伝達される。アンドゲート156の出力信号の論理値が論理値“0”の場合、セレクタ157によりビット1が選択的にメモリ506に伝達される。さらにアドレスデコーダ502の出力信号が論理値“1”の場合、セレクタ158により論理値“0”が選択的にメモリ506に伝達される。アドレスデコーダ502の出力信号が論理値“0”の場合、セレクタ158によりビット0が選択的にメモリ506に伝達される。
図14には、データの二重化が行われる場合の論理アドレスから物理アドレスへの変換例が示される。
上記CPU501からの制御信号によってセレクタ122から論理値“1”が出力される場合、二重化機能はオン状態とされ、アドレス変換回路504によるアドレス変換と、データバス制御回路505による二重化制御が行われる。尚、このとき、非二重化領域162がアクセスされた場合でも、二重化領域161へのアクセス時と同様に、アドレス変換回路504によるアドレス変換と、データバス制御回路505による二重化制御が行われる。
図15には、データの二重化が行われない場合の論理アドレスから物理アドレスへの変換例が示される。
上記CPU501からの制御信号によってセレクタ122から論理値“0”が出力される場合、二重化機能はオフ状態とされ、アドレス変換回路504によるアドレス変換や、データバス制御回路505による二重化制御は行われない。このとき、メモリ506は、アドレスマップの二重化の領域指定にかかわらず、全て非二重化領域とみなすことができ、二重化機能を持たないメモリとして使用することができる。
上記例によれば、以下の作用効果を得ることができる。
(1)二重化機能のオン・オフ切り替えをハードウェアで自動判別するため、ソフトウェアでの機能切り替えが不要となるなど、図5に示される場合と同様の作用効果を得ることができる。
(2)CPU501からの制御により二重化機能を常にオン状態とすることができる。メモリ506のテストを行う際、メモリ506の全領域に対して二重化することにより、テスト時のアクセス回数が削減できるため、テスト時間の短縮によりコスト削減に貢献できる。
(3)メモリのテストにはワード線を順番に選択してエラーの有無を確認するテスト項目があり、アドレスの変換を行わず普通のメモリとしてアクセスを行う必要がある場合がある。この時、二重化機能をオフ状態に設定すると、二重化機能を持たないメモリと同じ制御が行えるため、アドレスの変換を行わずにメモリの全ての領域をテストすることができる。
(4)以下の手順で一方のデータを書き換え、意図的にエラーを発生させることができる。
すなわち、二重化機能が有効な状態でデータを書き込み、二重化機能をオフ状態とし、二重化した一方のデータのみを書き換える二重化機能を有効にし、データの読み込みを行うことができる。
図16には、上記CPUシステム500の別の構成例が示される。
図16に示されるCPUシステム500が図5に示されるのと大きく相違するのは、CPU501と、アドレスデコーダ502との間に判定用レジスタ172が設けられ、アドレスデコーダ502における二重化のオン・オフ判定が、上記判定用レジスタ172の設定情報に基づいて行われる点である。上記判定用レジスタ172は、図17に示されるように、比較ビット指定レジスタ172Aと、アドレス比較用レジスタ172Bとを含む。この比較ビット指定レジスタ172Aと、アドレス比較用レジスタ172Bとは、上記CPU501によって書き換え可能とされる。比較ビット指定レジスタ172Aは、アドレスのビットのうち、どのビットを判定に用いるかを指定するレジスタである。例えばビット10及びビット9をアドレスの比較に使用する場合、比較ビット指定レジスタ172Aのデータは、図17に示されるように、ビット10及びビット9が論理値“1”に設定される。アドレス比較用レジスタ172Bは、二重化機能をオン状態にするか、オフ状態にするかをアドレスで判定する際に、比較するアドレスを格納するためのレジスタである。比較回路での判定の際、アドレス比較用レジスタのデータの中で、比較ビット指定レジスタで指定されたビット番号のデータのみが判定に使用される。
本例においてアドレスデコーダ502は、図18に示されるようなアドレス比較回路508を内蔵し、このアドレス比較回路508により、上記アドレス比較用レジスタ172Bの情報と、メモリアクセスの際にCPU501から伝達された論理アドレスとの比較が行われるようになっている。この比較結果に基づいてオン・オフ判定信号が形成される。上記CPU501から伝達された論理アドレスと比較する条件となる値がアドレス比較用172Bに格納されることにより、CPU501が動作中に、二重化対象領域と二重化非対象領域の領域を動的に変えることができる。これにより、アドレスマップを動的に制御し、二重化を行う領域と、それを行わない領域とを任意に設定することができる。
上記の構成において、アドレス比較用レジスタの値を変化させた時のアドレス領域と、アドレス変換の例を以下に示す。
図19に示される例では、比較ビット指定レジスタ172Aにより、ビット10,9が論理値“1”とされており、アドレス比較用レジスタ172Bのビット10が論理値“0”とされ、アドレス比較用レジスタ172Bのビット9が論理値“1”とされる。このため、アドレスデコーダ502でのアドレス比較においては、ビット10が論理値“0”でビット9が論理値“1”となる論理アドレスによって特定される領域、すなわち、図20に示されるようにアドレスH’200〜H’3FFまでが二重化対象領域となる。一方、アドレスH’000〜H’1FFまでは非二重化領域とされる。二重化対象領域に対するアクセスの場合、アドレス変換回路504により論理アドレスから物理アドレスへの変換が行われるが、非二重化領域に対するアクセスの場合、論理アドレスへの変換が行われることなく、そのまま物理アドレスとしてメモリ506に入力される。
図21に示される例では、比較ビット指定レジスタ172Aにより、ビット10,9,8が論理値“1”とされており、アドレス比較用レジスタ172Bのビット10が論理値“0”とされ、アドレス比較用レジスタ172Bのビット9,8が論理値“1”とされる。このため、アドレスデコーダ502でのアドレス比較においては、ビット10が論理値“0”でビット9,8が論理値“1”となる論理アドレスによって特定される領域、すなわち、図22に示されるようにアドレスH’300〜H’3FFまでが二重化対象領域となる。一方、アドレスH’000〜H’2FFまでは非二重化領域とされる。二重化対象領域に対するアクセスの場合、アドレス変換回路504により論理アドレスから物理アドレスへの変換が行われるが、非二重化領域に対するアクセスの場合、論理アドレスへの変換が行われることなく、そのまま物理アドレスとしてメモリ506に入力される。
上記例によれば、以下の作用効果を得ることができる。
(1)二重化機能のオン・オフ切り替えをハードウェアで自動判別するため、ソフトウェアでの機能切り替えが不要となるなど、図5に示される場合と同様の作用効果を得ることができる。
(2)アドレスデコーダでの二重化機能のオン・オフの判定基準を動的に制御できるため、メモリ506内の二重化対象領域と二重化非対象領域の容量の比率を、CPU501の動作中に変更することが可能となる。これにより、二重化したいデータの容量に合わせて二重化対象領域の容量を調整し、二重化非対象領域の容量を最大限に確保することができる。また、必要となる二重化対象領域の容量がソフトウェアによって異なる場合、プログラムの実行時に容量を設定することでソフトウェア毎に容量を変えることができる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるCPUシステムに適用した場合について説明したが、本発明はそれに限定されるものではなく、メモリを内蔵するマイクロコンピュータにも適用することができる。
本発明にかかる半導体集積回路装置の一例である半導体メモリの構成例ブロック図である。 上記半導体メモリにおける主要動作のフローチャートである。 上記半導体メモリにおける主要動作の説明図である。 上記半導体メモリにおける主要部の構成例ブロック図である。 本発明にかかる半導体集積回路装置の一例であるCPUシステムの構成例ブロック図である。 上記CPUシステムに含まれるメモリのアドレスマップの説明図である。 上記CPUシステムに含まれるメモリの領域判定の説明図である。 上記CPUシステムに含まれるメモリの論理アドレスと物理アドレスとの関係説明図である。 上記CPUシステムに含まれるメモリの論理アドレスから物理アドレスへの変換例の説明図である。 上記CPUシステムに含まれるアドレスデコーダの構成例回路図である。 本発明にかかる半導体集積回路装置の一例であるCPUシステムの別の構成例ブロック図である。 図11に示されるCPUシステムにおけるアドレスデコーダの構成例ブロック図である。 図11に示されるCPUシステムにおけるアドレス変換回路の構成例回路図である。 図11に示されるCPUシステムにおける論理アドレスから物理アドレスへの変換処理の説明図である。 図11に示されるCPUシステムにおける論理アドレスから物理アドレスへの変換処理の説明図である。 本発明にかかる半導体集積回路装置の一例であるCPUシステムの別の構成例ブロック図である。 図16に示されるCPUシステムに含まれる判定用レジスタの構成例説明図である。 図16に示されるCPUシステムに含まれるアドレスデコーダでのアドレス比較の説明図である。 上記判定用レジスタの設定例説明図である。 図19に示されるレジスタ設定例に対応するアドレス領域の状態説明図である。 上記判定用レジスタの別の設定例説明図である。 図21に示されるレジスタ設定例に対応するアドレス領域の状態説明図である。 上記半導体メモリの比較対象とされるメモリの構成例ブロック図である。 上記半導体メモリの比較対象とされるメモリのレイアウト説明図である。
符号の説明
10 半導体メモリ
11 アドレスデコーダ
12 アドレス変換回路
13 データバス制御回路
14 Xデコーダ
16 メモリセルアレイ
17 Yデコーダ
161 二重化領域
162 非二重化領域
500 CPUシステム
501 CPU
502 アドレスデコーダ
503 比較回路
504 アドレス変換回路
505 データバス制御回路
506 メモリ
508 アドレス比較回路

Claims (4)

  1. データが二重化される二重化領域と、二重化されない非二重化領域とを含むメモリセルアレイを有し、
    上記二重化領域は、二重化対象として外部から与えられたデータが書き込まれる二重化対象領域と、
    上記二重化対象領域に隣接配置され、上記二重化対象として外部から与えられたデータを二重化するためのデータが書き込まれる二重化データ領域と、を含み、
    上記メモリセルアレイへのランダムアクセスを可能とする半導体集積回路装置であって、
    入力された論理アドレスをデコードすることで、アクセス対象が上記二重化対象領域であるか上記非二重化領域であるかの判定を可能とするアドレスデコーダと、
    アクセス対象が上記二重化対象領域である場合に、上記アドレスデコーダのデコード結果に基づくアドレス変換処理により、上記二重化対象領域に対応する上記二重化データ領域の物理アドレスを形成するアドレス変換回路と、
    上記アドレスデコーダのデコード結果に基づいて、上記メモリセルアレイに結合されたデータバスにおけるデータ伝達路の切り替えを可能とするデータバス制御回路と、を含むことを特徴とする半導体集積回路装置。
  2. 上記アドレスデコーダに入力された論理アドレスに、二重化制御を行うか否かを指示する二重化指示ビットが含まれるとき、上記アドレスデコーダは、上記二重化指示ビットの論理を判定する機能を有し、上記アドレス変換回路及び上記データバス制御回路は、上記アドレスデコーダでの上記二重化指示ビットの論理判定結果に応じて動作制御される請求項1記載の半導体集積回路装置。
  3. 上記半導体集積回路装置は、プログラム実行により制御信号を出力可能な中央処理装置を含み、
    上記アドレスデコーダは、上記中央処理装置から伝達された制御信号により、上記二重化指示ビットの論理にかかわらず、二重化制御を行う状態と、二重化制御を行わない状態との切り替えを可能とするセレクタを含む請求項2記載の半導体集積回路装置。
  4. 上記半導体集積回路装置は、プログラム実行により制御信号を出力可能な中央処理装置と、上記中央処理装置によって書き換え可能な判定用レジスタと、を含み、
    上記判定用レジスタは、アドレスのビットのうち、どのビットを判定に用いるかを指定する比較ビット指定レジスタと、二重化機能をオン状態にするか、オフ状態にするかをアドレスで判定する際に、比較するアドレスを格納するためのアドレス比較用レジスタと、を含み、
    上記アドレスデコーダは、上記アドレス比較用レジスタのデータの中で、上記比較ビット指定レジスタで指定されたビット番号のデータと、入力された論理アドレスとの比較を行う比較回路を含む請求項1記載の半導体集積回路装置。
JP2007105764A 2007-04-13 2007-04-13 半導体集積回路装置 Withdrawn JP2008262648A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007105764A JP2008262648A (ja) 2007-04-13 2007-04-13 半導体集積回路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007105764A JP2008262648A (ja) 2007-04-13 2007-04-13 半導体集積回路装置

Publications (1)

Publication Number Publication Date
JP2008262648A true JP2008262648A (ja) 2008-10-30

Family

ID=39985012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007105764A Withdrawn JP2008262648A (ja) 2007-04-13 2007-04-13 半導体集積回路装置

Country Status (1)

Country Link
JP (1) JP2008262648A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154595A (ja) * 2010-01-28 2011-08-11 Seiko Epson Corp 集積回路装置及び電子機器
JP2011154583A (ja) * 2010-01-28 2011-08-11 Seiko Epson Corp 集積回路装置、電子機器
JP2014081967A (ja) * 2014-02-12 2014-05-08 Seiko Epson Corp 集積回路装置、電子機器
JP7425655B2 (ja) 2019-03-28 2024-01-31 インフィニオン テクノロジーズ アクチエンゲゼルシャフト メモリディスパッチャ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154595A (ja) * 2010-01-28 2011-08-11 Seiko Epson Corp 集積回路装置及び電子機器
JP2011154583A (ja) * 2010-01-28 2011-08-11 Seiko Epson Corp 集積回路装置、電子機器
JP2014081967A (ja) * 2014-02-12 2014-05-08 Seiko Epson Corp 集積回路装置、電子機器
JP7425655B2 (ja) 2019-03-28 2024-01-31 インフィニオン テクノロジーズ アクチエンゲゼルシャフト メモリディスパッチャ

Similar Documents

Publication Publication Date Title
KR100244841B1 (ko) 캐쉬 메모리 및 그 동작 방법
KR100388550B1 (ko) 멀티쓰레드 컴퓨터 프로세서의 쓰레드 능력 변경
JP3645294B2 (ja) 半導体メモリ装置の多重ビットテスト回路
US8027203B2 (en) Pipe latch circuit of multi-bit prefetch-type semiconductor memory device with improved structure
JP3963744B2 (ja) チップセレクト信号による制御を変更可能なメモリ装置
US5657291A (en) Multiport register file memory cell configuration for read operation
US20160099079A1 (en) Repair circuit and semiconductor apparatus using the same
KR20170031758A (ko) 역방향 메모리 스페어링을 위한 방법 및 장치
JP2002109884A (ja) メモリ装置
US20100208540A1 (en) Integrated circuit with multiported memory supercell and data path switching circuitry
JP2008262648A (ja) 半導体集積回路装置
JP2002175692A (ja) 半導体記憶装置及びデータ処理システム
US7830741B2 (en) Semiconductor memory device for controlling banks
JP2000082010A (ja) アドレス変換を有するデータ処理方法および装置
JP2005038511A (ja) 半導体装置
KR100517765B1 (ko) 캐시 메모리 및 그 제어 방법
US8036045B2 (en) Data output control circuit
JP3821621B2 (ja) 半導体集積回路
KR100596821B1 (ko) 멀티 프로세서 기능을 지원하는 메모리 장치
US9990131B2 (en) Managing memory in a multiprocessor system
JP4627644B2 (ja) メモリテスト回路
KR100403480B1 (ko) 반도체 메모리 장치 및 이를 이용한 읽기/쓰기 동작 방법
JPH10320299A (ja) パリティチェック方法、半導体記憶装置、マイクロコンピュータ、及びデータ処理装置
US8031533B2 (en) Input circuit of semiconductor memory apparatus and controlling method thereof
JP2005032375A (ja) 半導体記憶装置、及びそのテスト方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100706