(57)【要約】【課題】半導体記憶装置におけるメモリセルの冗長選択においてソフトエラー耐性を向上すること。【解決手段】冗長設定用ラッチ５1〜５nが、メモリセルグループの置き換えパターンを示す冗長設定に対応付けられた冗長選択信号をあらかじめ保持し、冗長デコード回路２１が、この冗長選択信号を入力して冗長選択信号の一部が反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出し、冗長スイッチ回路２２が、導出した冗長設定に基づいてメモリセルグループの置き換えを行うよう構成する。【選択図】        図２
2007172690.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を構成するメモリセルと冗長メモリセルとに接続され、前記メモリセル又は前記冗長メモリセルの何れかの入出力を選択する冗長選択を行うメモリ冗長選択装置であって、
前記メモリセルの選択情報を示す冗長選択信号を保持する冗長選択信号保持手段と、
前記冗長選択情報保持手段に保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う冗長デコード手段と、
前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行う冗長スイッチ手段と、
を備えたことを特徴とするメモリ冗長選択装置。
【請求項２】
前記冗長選択信号保持手段は、スキャンラッチ手段により構成されることを特徴とする請求項１記載のメモリ冗長選択装置。
【請求項３】
前記冗長デコード手段は、デコード結果として出力する同一の冗長設定について、少なくとも二以上の冗長選択信号が入力として対応付けられるように構成されることを特徴とする請求項１記載のメモリ冗長選択装置。
【請求項４】
前記冗長選択信号はｎビット（ｎ＞１）で構成され、
前記冗長デコード手段は、前記冗長選択信号を構成するｎビットのうちｋビット（０＜ｋ≦ｎ−１）までが反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行うことを特徴とする請求項１記載のメモリ冗長選択装置。
【請求項５】
メモリセルと、
冗長メモリセルと、
前記メモリセルと前記冗長メモリセルとに接続され、前記メモリセル又は前記冗長メモリセルの何れかの入出力を選択する冗長選択を行う冗長選択手段とを有し、
前記冗長選択手段は、
前記メモリセルの選択情報を示す冗長選択信号を保持する冗長選択信号保持手段と、
前記冗長選択情報保持手段に保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う冗長デコード手段と、
前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行う冗長スイッチ手段と、
を備えたことを特徴とする記憶装置。
【請求項６】
メモリセルと、
冗長メモリセルと、
前記記憶装置に接続される演算処理装置と、
前記メモリセルと前記冗長メモリセルとに接続され、前記メモリセル又は前記冗長メモリセルの何れかの入出力を選択する冗長選択を行う冗長選択手段とを有し、
前記冗長選択手段は、
前記メモリセルの選択情報を示す冗長選択信号を保持する冗長選択信号保持手段と、
前記冗長選択情報保持手段に保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う冗長デコード手段と、
前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行う冗長スイッチ手段と、
を備えたことを特徴とする情報処理装置。
【請求項７】
前記情報処理装置はさらに、スキャンシフト制御を行うＴＡＰコントローラ手段と、
前記ＴＡＰコントローラ手段から出力されるスキャンクロックによりスキャンシフトを行い、前記冗長選択信号保持手段を含むスキャンラッチ手段と、
前記スキャンラッチ手段に接続され、冗長選択信号を設定するヒューズ手段とを有し、
前記ヒューズ手段に設定された冗長選択信号を前記スキャンラッチ手段に出力し、前記スキャンシフトを行うことにより、前記冗長選択信号保持手段に前記冗長選択信号を保持することを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記情報処理装置はさらに、スキャンシフト制御を行うＴＡＰコントローラ手段と、
前記ＴＡＰコントローラ手段から出力されるスキャンクロックによりスキャンシフトを行い、前記冗長選択信号保持手段を含むスキャンラッチ手段と、
前記スキャンラッチ手段に接続されるスキャン入力とを有し、
前記スキャン入力から前記冗長選択信号を入力し、前記スキャンシフトを行うことにより、前記冗長選択信号保持手段に前記冗長選択信号を保持することを特徴とする請求項６記載の情報処理装置。
【請求項９】
記憶装置を構成するメモリセル又は冗長メモリセルの何れかの入出力を選択するメモリセルの冗長選択の方法であって、
前記メモリセルの選択情報を示す冗長選択信号を保持するステップと、
前記保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行うステップと、
前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行うステップと、
を含んだことを特徴とするメモリセルの冗長選択の方法。
【請求項１０】
前記保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う前記ステップにおいて、
デコード結果として出力する同一の冗長設定について、少なくとも二以上の冗長選択信号が入力として対応付けられることを特徴とする請求項９記載のメモリセルの冗長選択の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセサ等のＬＳＩに内蔵されるＲＡＭなどの半導体記憶装置において不良メモリセルを冗長メモリセルで置き換える冗長選択を行うメモリ冗長選択装置、記憶装置、情報処理装置およびメモリセルの冗長選択の方法に関し、特に、冗長選択におけるソフトエラー耐性を向上することができるメモリ冗長選択装置、記憶装置、情報処理装置およびメモリセルの冗長選択の方法に関するものである。
【背景技術】
【０００２】
従来、キャッシュメモリとしてＲＡＭなどの半導体記憶装置を内蔵するプロセサやＤＳＰ(Digital Signal Processor)、ＳＯＣ(System On Chip)等のＬＳＩにおいては、製造不良に備え、冗長メモリセルと呼ばれる予備のメモリセルを半導体チップ上に搭載しておき、出荷前の試験などで不良なメモリセルが検知された場合は、不良メモリセルと冗長メモリセルを置き換えることによって、不良メモリセルを救済する技術（以降、冗長選択と呼ぶ。）が用いられている。
【０００３】
この不良メモリセルを置き換える方法として、半導体チップ上に配置されたヒューズを切断することにより不良メモリセルのアドレスを設定し、メモリセルを切り替えるための回路を用いて当該アドレスによって示される不良メモリセルを冗長メモリセルに切り替える技術が考案されている（例えば、特許文献１参照。）。
【０００４】
このように、不良メモリセルを冗長メモリセルに置き換えるための信号（以降、冗長選択信号と呼ぶ。）を用いてメモリセルの置き換えを行う場合、この信号は、ヒューズからメモリセルの置き換えを行うための回路（以降、冗長選択回路と呼ぶ。）に直接入力されることもあるが、複雑な配線を避けるため、チップ上に配置したスキャンラッチにより構成されるスキャンチェーンを経て入力されることもある。
【０００５】
図１１は、従来のメモリセルの冗長選択の一例を示す図である。同図に示すＲＡＭマクロは、３つのメモリセルグループ１〜３と、１つの冗長メモリセルグループ（予備のメモリセルグループ）と、冗長選択回路とから構成されることによりメモリセルを構成している。また、メモリセルグループ１〜３と冗長メモリセルグループは、それぞれ読出回路と書込回路とを有する。ここで、冗長選択回路は、書込データの書込み先であるメモリセルグループの書込回路の選択及び読出データの読出し先であるメモリセルグループの読出回路の選択を行うことにより、メモリセルグループと冗長メモリセルグループとの切り替えを行う冗長スイッチ回路と、冗長選択信号のデコードを行う冗長デコード回路とから構成されている。  
【０００６】
出荷前の試験などにより、３つのメモリセルグループのうち、不良メモリセルを含む不良メモリセルグループを検知した場合は、冗長スイッチ回路が、当該不良メモリセルグループを冗長メモリセルグループに切り替え（冗長選択）を行う。この際、冗長スイッチ回路は、冗長デコード回路を介して入力される冗長選択信号に応じて、メモリセルグループの切り替えを行う。また、冗長選択信号は、冗長設定用ラッチに保持されている。
【０００７】
ここで、図１１（ａ）および（ｂ）に示す例のＲＡＭマクロでは、不良メモリセルグループが存在するために３つのメモリセルグループのいずれかを冗長メモリセルグループと交換する場合と、不良メモリセルグループが存在しないために交換を行わない（冗長選択しない）場合を含み、４通りの冗長設定が考えられる。
【０００８】
また、ここでは、それぞれの冗長選択信号によって４通りの冗長設定がデコードできるように、２ビットの冗長選択信号を用いて冗長設定を定義する。図１２は、従来のメモリセルの冗長選択における冗長選択信号の一例を示す図である。同図に示すように、２ビットの冗長選択信号に「０」と「１」の組み合わせによって値を設定し、４通りの冗長設定をそれぞれ割り当てる。
【０００９】
図１１（ａ）に示す例では、メモリセルグループ１〜３に不良なメモリセルを含むメモリセルグループが無いため、冗長選択信号として「００」が入力される。冗長設定用ラッチには、冗長選択信号「００」が保持されている。冗長デコード回路により、当該冗長選択信号「００」がデコードされるが、冗長スイッチ回路は冗長メモリセルグループへの切り替えは行わない。
【００１０】
また、図１１（ｂ）に示す例では、メモリセルグループ２が不良なメモリセルであるため、冗長選択信号として「１０」が入力される。冗長設定用ラッチには、冗長選択信号「１０」が保持されている。冗長デコード回路により、当該冗長選択信号「１０」がデコードされ、冗長スイッチ回路により冗長メモリセルグループへの切り替えが行われる。
【００１１】
図１３は、従来の冗長選択回路の一例を示す図である。同図（ａ）は、冗長スイッチ回路の一例を示しており、同図（ｂ）は、冗長デコード回路の一例を示している。また、図１４は、図１３に示した冗長スイッチ回路および冗長デコード回路が生成する信号の一覧である。
【００１２】
図１３（ｂ）に示すように、冗長デコード回路は、２つのインバータ回路と、３つのＡＮＤ回路と、２つのＯＲ回路から構成されている。この冗長デコード回路は、２ビットの冗長選択信号ＲＥＤ０〜ＲＥＤ１に応じて、図１４に示すように冗長スイッチ回路に対するセレクト信号となる３ビットの冗長デコード信号ＳＥＬ０〜ＳＥＬ２を出力する。
【００１３】
また、図１３（ａ）に示すように、冗長スイッチ回路は、３つのＮＡＮＤ回路の組み合わせ回路により構成される３組のＡＮＤ−ＯＲ等価回路の組み合わせで構成されている。この冗長スイッチ回路は、冗長デコード回路が出力したセレクト信号である冗長デコード信号ＳＥＬ０〜ＳＥＬ２に応じて、図１４に示すようにメモリセルグループＡＲＲＡＹ０〜ＡＲＲＡＹ２および冗長メモリセルグループＡＲＲＡＹＲと、出力端子ＯＵＴ０〜ＯＵＴ２との接続を切り替える。
【００１４】
【特許文献１】特開２００５−１４９６６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、上述したメモリセルの冗長選択において、宇宙から地球に降り注ぐα線（ヘリウム（Ｈｅ）原子核）などの影響によって、ラッチに保持された冗長選択信号にソフトエラーが発生した場合、すなわち、冗長選択信号の設定値がビット単位で反転してしまった場合は、メモリセルの冗長選択が正しく行われないという問題がある。
【００１６】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、冗長選択におけるソフトエラー耐性を向上することができる冗長選択装置および冗長選択方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するため、本発明の冗長選択装置は、記憶装置を構成するメモリセルと冗長メモリセルとに接続され、前記メモリセル又は前記冗長メモリセルの何れかの入出力を選択する冗長選択を行う冗長選択装置であって、前記メモリセルの選択情報を示す冗長選択信号を保持する冗長選択信号保持手段と、前記冗長選択情報保持手段に保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う冗長デコード手段と、前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行う冗長スイッチ手段と、を備えたことを特徴とする。
【００１８】
また、本発明の冗長選択装置における前記冗長選択信号保持手段は、スキャンラッチ手段により構成されることを特徴とする。
【００１９】
また、本発明の冗長選択装置における冗長デコード手段は、前記冗長選択信号をデコードする場合において、デコード結果として出力する同一の冗長設定について、少なくとも二以上の冗長選択信号が入力として対応付けられるように構成されることを特徴とする。
【００２０】
また、本発明の冗長選択装置における冗長選択信号はｎビット（ｎ＞１）で構成され、前記冗長デコード手段は、前記冗長選択信号を構成するｎビットのうちｋビット（０＜ｋ≦ｎ−１）までが反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行うことを特徴とする。
【００２１】
また、本発明の記憶装置は、メモリセルと、冗長メモリセルと、前記メモリセルと前記冗長メモリセルとに接続され、前記メモリセル又は前記冗長メモリセルの何れかの入出力を選択する冗長選択を行う冗長選択手段とを有し、前記冗長選択手段は、前記メモリセルの選択情報を示す冗長選択信号を保持する冗長選択信号保持手段と、前記冗長選択情報保持手段に保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う冗長デコード手段と、前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行う冗長スイッチ手段と、を備えたことを特徴とする。
【００２２】
また、本発明の情報処理装置は、メモリセルと、冗長メモリセルと、前記記憶装置に接続される演算処理装置と、前記メモリセルと前記冗長メモリセルとに接続され、前記メモリセル又は前記冗長メモリセルの何れかの入出力を選択する冗長選択を行う冗長選択手段とを有し、前記冗長選択手段は、前記メモリセルの選択情報を示す冗長選択信号を保持する冗長選択信号保持手段と、前記冗長選択情報保持手段に保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う冗長デコード手段と、前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行う冗長スイッチ手段と、を備えたことを特徴とする。
【００２３】
また、本発明の情報処理装置はさらに、スキャンシフト制御を行うＴＡＰコントローラ手段と、前記ＴＡＰコントローラ手段から出力されるスキャンクロックによりスキャンシフトを行い、前記冗長選択信号保持手段を含むスキャンラッチ手段と、前記スキャンラッチ手段に接続され、冗長選択信号を設定するヒューズ手段とを有し、前記ヒューズ手段に設定された冗長選択信号を前記スキャンラッチ手段に出力し、前記スキャンシフトを行うことにより、前記冗長選択信号保持手段に前記冗長選択信号を保持することを特徴とする。
【００２４】
また、本発明の情報処理装置はさらに、スキャンシフト制御を行うＴＡＰコントローラ手段と、前記ＴＡＰコントローラ手段から出力されるスキャンクロックによりスキャンシフトを行い、前記冗長選択信号保持手段を含むスキャンラッチ手段と、前記スキャンラッチ手段に接続されるスキャン入力とを有し、前記スキャン入力から前記冗長選択信号を入力し、前記スキャンシフトを行うことにより、前記冗長選択信号保持手段に前記冗長選択信号を保持することを特徴とする。
【００２５】
また、本発明の冗長選択の方法は、記憶装置を構成するメモリセル又は冗長メモリセルの何れかの入出力を選択するメモリセルの冗長選択の方法であって、前記メモリセルの選択情報を示す冗長選択信号を保持するステップと、前記保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行うステップと、前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行うステップと、を備えたことを特徴とする。
【００２６】
また、本発明の冗長選択の方法は、前記保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う前記ステップにおいて、デコード結果として出力する同一の冗長設定について、少なくとも二以上の冗長選択信号が入力として対応付けられることを特徴とする。
【発明の効果】
【００２７】
本発明によれば、メモリセルの置き換えパターンを示す冗長設定に対応付けられた冗長選択信号をあらかじめ保持し、この冗長選択信号を入力して冗長選択信号の一部が変化していた場合でも変化する前と同じ冗長設定を導出し、導出した冗長設定に基づいてメモリセルの置き換えを行うよう構成したので、宇宙からの放射線などの影響で保持している冗長選択信号にソフトエラーが発生していた場合でも、正しく冗長選択を行うことができるため、冗長選択におけるソフトエラー耐性を向上することができるという効果を奏する。
【００２８】
また、本発明によれば、冗長選択信号をｎビット（ｎ＞１）で構成し、この冗長選択信号を構成するｎビットのうちｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出するよう構成したので、保持している冗長選択信号にソフトエラーが発生していた場合でも、冗長選択信号を構成するｎビットのうちｋビット（０＜ｋ≦ｎ−１）までが反転していた場合は正しく冗長選択を行うことができるため、冗長選択におけるソフトエラー耐性を向上することができるという効果を奏する。
【００２９】
また、本発明によれば、冗長選択信号を構成するｎビット（ｎ＞１）のうち所定のビットについてｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出するよう構成したので、反転していても同じ冗長設定が導出できるビットを限定することによって、冗長選択信号に用いることができるビット数が制限されている場合でも、冗長選択におけるソフトエラー耐性を向上することができるという効果を奏する。
【００３０】
また、本発明によれば、特定の冗長設定については冗長選択信号を構成するｎビット（ｎ＞１）のうちｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出するよう構成したので、複数の冗長設定の中で、実際に設定される確率が高い冗長設定について重点的に冗長選択におけるソフトエラーの耐性を向上することができるという効果を奏する。
【００３１】
また、本発明によれば、メモリセルの置き換えを行わない冗長設定については冗長選択信号を構成するｎビット（ｎ＞１）のうちｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出するよう構成したので、実際に設定される確率が高い、メモリセルの置き換えを行わない冗長設定について重点的に冗長選択におけるソフトエラーの耐性を向上することができるという効果を奏する。
【００３２】
また、本発明によれば、冗長選択信号を構成するｎビット（ｎ＞１）のうちいずれかの１ビットが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出するよう構成したので、保持している冗長選択信号にソフトエラーが発生していた場合でも、冗長選択信号を構成するｎビットのうちいずれか１ビットが反転していた場合は、正しく冗長選択を行うことができるため、冗長選択におけるソフトエラー耐性を向上することができるという効果を奏する。
【００３３】
また、本発明によれば、特定の冗長設定については前記冗長選択信号を構成するｎビット（ｎ＞１）のうちいずれかの１ビットが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出するよう構成したので、複数の冗長設定の中で、実際に設定される確率が高い冗長設定について重点的に冗長選択におけるソフトエラーの耐性を向上することができるという効果を奏する。
【００３４】
また、本発明によれば、メモリセルの置き換えを行わない冗長設定については前記冗長選択信号を構成するｎビット（ｎ＞１）のうちいずれかの１ビットが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出するよう構成したので、実際に設定される確率が高い、メモリセルの置き換えを行わない冗長設定について重点的に冗長選択におけるソフトエラーの耐性を向上することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３５】
以下に添付図面を参照して、本発明に係る冗長選択装置および冗長選択方法の好適な実施例を詳細に説明する。
【実施例】
【００３６】
まず、本実施例に係る冗長選択の概要について説明する。図１は、本実施例に係る冗長選択の概要を説明するための説明図である。同図に示すＬＳＩチップ１には、複数のヒューズ２1〜２5と、複数のラッチ列３1〜３mと、複数のＲＡＭマクロ４1〜４nと、複数のＲＡＭマクロをキャッシュメモリとして使用するプロセサコア部６と、複数のラッチ列のスキャン制御を行うＴＡＰ(Test Access Port)コントローラ７が配置されている。
【００３７】
ラッチ列３1〜３mは、それぞれ複数のスキャンラッチから構成されており、全てのラッチ列３1〜３mが数珠つなぎに接続され、スキャンラッチによるスキャンチェーンを構成している。また、ラッチ列３1にはヒューズ２1〜２5が、ラッチ列３nにはＲＡＭマクロ４1〜４nがそれぞれ接続されている。さらに、当該スキャンチェーンはＬＳＩチップ１における外部からの入力としてスキャン・イン端子及び外部への出力としてスキャン・アウト端子を有する。例えば、当該スキャンチェーンの制御はＩＥＥＥ１１４９．１準拠によるＪＴＡＧ(Joint Test Architecture Group)準拠のＴＡＰコントローラ７により行うことができる。
【００３８】
また、各ＲＡＭマクロ４1〜４nは、それぞれ、複数のメモリセルグループと、冗長メモリセルグループ（予備のメモリセルグループ）と、冗長選択回路とを有している。各ＲＡＭマクロ４1〜４nのメモリセルグループは、ＬＳＩチップ１の出荷前試験によって検査が行われる。この出荷前試験において、不良なメモリセルを含むメモリセルグループが検出された場合は、不良メモリセルグループを冗長メモリセルグループで置き換える設定（冗長設定）がＲＡＭマクロごとに行われる。
【００３９】
かかる冗長設定は、冗長選択信号を用いて行われる。ここでいう冗長選択信号とは、複数のメモリセルグループのうち、いずれを冗長メモリセルグループで置き換えるかを示す信号であり、ヒューズ２1〜２5を切断することにより当該ヒューズから出力される「０」および「１」の信号を所定のビット数で組み合わせることによって生成される。
【００４０】
このように生成された冗長選択信号は、ラッチ列３1のラッチに１ビットずつ格納され、ＴＡＰコントローラ７からのスキャンクロック入力（図示せず）によって、スキャンチェーン（ラッチ列３1〜ラッチ列３m）を経由してスキャンシフトされ、最終的にラッチ列３mの冗長設定用ラッチ５1〜５nに保持される。なお、冗長設定用ラッチ５1〜５nは、それぞれ、冗長選択信号のビット数と同数のラッチから構成されている。
【００４１】
また、各ＲＡＭマクロの冗長選択回路は、複数のメモリセルグループと、冗長メモリセルグループと、ラッチ列３mの冗長設定用ラッチ５1〜５nとに接続されている。そして、冗長選択回路は、冗長設定用ラッチ５1〜５nに保持されている冗長選択信号を入力し、入力した冗長選択信号の冗長デコード回路によるデコード結果に応じて不良なメモリセルグループと冗長メモリセルグループとの置き換えを行う。
【００４２】
なお、ここでは、ヒューズ２1〜２5を切断することにより当該ヒューズから出力される信号を用いて冗長選択信号を生成する場合を説明したが、ヒューズ２1〜２5を用いずに、スキャン・イン端子から直接冗長選択信号をスキャンシフトさせることによって生成してもよい。
【００４３】
次に、本実施例に係るＲＡＭマクロの構成について説明する。図２は、本実施例に係るＲＡＭマクロの構成を示すブロック図である。同図（ａ）および（ｂ）に示すように、このＲＡＭマクロにおける冗長選択回路２０は、３つのメモリセルグループ１０1〜１０3と、１つの冗長メモリセルグループ１０4に接続されている。また、メモリセルグループ１〜３と冗長メモリセルグループは、それぞれ読出回路と書込回路とを有する。
【００４４】
また、冗長選択回路２０は、冗長選択信号のデコードを行う冗長デコード回路２１および、書込データの書込み先であるメモリセルグループの書込回路の選択及び読出データの読出し先であるメモリセルグループの読出回路の選択を行うことにより、メモリセルグループと冗長メモリセルグループとの切り替えを行う冗長スイッチ回路２２から構成されており、冗長スイッチ回路２２がメモリセルグループ１０1〜１０3および冗長メモリセルグループ１０4に接続され、冗長デコード回路２１が冗長設定用ラッチ５1〜５nに接続されている。
【００４５】
冗長デコード回路２１には、冗長設定用ラッチ５1〜５nに保持されている冗長選択信号が入力され、入力された冗長選択信号に基づいてメモリセルグループの冗長設定を判定し、冗長スイッチ回路を制御するための冗長デコード信号を出力する。ここで、本来、冗長設定用ラッチ５1〜５nに設定されている冗長選択信号は、１つの冗長設定を示しているはずである。しかし、冗長設定用ラッチ５1〜５nにソフトエラーが発生した場合、本来保持していたはずの冗長選択信号の値が変化してしまい、そのため本来行うべき冗長設定のためのデコードが正しく出力されなくなってしまうことがある。
【００４６】
そこで、冗長デコード回路２１は、冗長選択信号を構成している複数のビットのうち、いずれか１つのビットが反転してしまった場合でも、本来の冗長選択信号が示していた冗長設定を判定できるように構成する。以下に、この冗長設定の判定方法を説明する。
【００４７】
図３は、本実施例に係る冗長選択設定の一例を示す図である。本来、冗長設定に必要なビット数が２ビットであるところ、ソフトエラー耐性を向上させる目的のため、冗長設定のビット幅をさらに増やしてデコードパターンを増やすことが考えられる。同図に示すように、例えば、冗長設定信号のビット数を本来必要な２ビットに対し３ビット増やして５ビットとした場合は、各冗長設定に対して、まずは冗長設定用ラッチに設定するための１つの冗長選択信号を割り当てる。
【００４８】
図２に示す例では、メモリセルグループ１０1〜１０3のいずれか一つを冗長メモリセルグループ１０4で置き換える場合と、冗長選択を行わない場合とで、４通りの冗長設定が考えられる。そこで、４つの冗長選択信号について、「０００００」は冗長選択を行わない場合に対して割当て、「００１１１」、「１０１１１」および「１１１１０」は冗長選択を行う場合に対して割り当てる。
【００４９】
そして、各冗長設定に対して、既に割り当てられている冗長選択信号のいずれか１ビットを反転することによって得られる５つの値をさらに割り当てる。例えば、冗長選択を行わない場合に対応する「０００００」については、「００００１」、「０００１０」、「００１００」、「０１０００」及び「１００００」の５つの値を割り当てる。
【００５０】
このようにして割り当てられた冗長選択信号と当該冗長選択信号の１ビット反転データに基づいて冗長設定をデコードすることによって、冗長選択回路２０は、冗長設定用ラッチ５1〜５nに保持している冗長選択信号にソフトエラーが発生していた場合でも、冗長選択信号を構成しているビットのうちいずれか１ビットが反転していた場合は、正しく冗長選択を行うことができるため、冗長選択におけるソフトエラー耐性を向上することができる。
【００５１】
また、冗長スイッチ回路２２は、冗長デコード回路２１がデコードした冗長設定に基づいて不良メモリセルグループと冗長メモリセルグループ１０4の置き換え（冗長選択）を行う。
【００５２】
図２（ａ）に示す例では、不良なメモリセルグループが無かった場合の冗長選択を示している。同図においては、冗長設定用ラッチには冗長選択信号「０００００」が設定されているため、冗長デコード回路２１により冗長選択しないと判定されるが、冗長選択信号が「００００１」、「０００１０」、「００１００」、「０１０００」または「１００００」に変化していた場合でも、同じく冗長デコード回路２１により冗長選択しないと判定される。
【００５３】
また、図２（ｂ）に示す例では、メモリセルグループ２に故障が発生した場合を示している。このようにメモリセルグループ２に故障が発生した場合には、故障したメモリセルグループ２を冗長セルグループに交換する必要がある。同図においては、冗長設定用ラッチには冗長選択信号「１１００１」が設定されているため、メモリセルグループ２と冗長メモリセルグループを交換すると判定するが、冗長選択信号が「１１０００」、「１１０１１」、「１１１０１」、「１０００１」または「０１００１」に変化していた場合でも、メモリセルグループ２と冗長メモリセルグループを交換すると判定される。
【００５４】
このように、冗長デコード回路２１が、冗長設定用ラッチ５1〜５nに保持されている冗長選択信号を入力し、入力した冗長選択信号が本来設定されていた値から変わっていた場合でも、１ビットのみが反転した値であった場合は、本来設定されていた冗長選択信号が示す冗長設定と同じであると判定することによって、冗長設定用ラッチ５1〜５nにソフトエラーが発生して冗長選択信号の１ビットが反転していた場合でも正しく冗長選択を行うことができるため、冗長選択におけるソフトエラー耐性を向上することができる。
【００５５】
ラッチ１つ当たりのソフトエラー率をｓｅｒ（Ｓｏｆｔ  ＥＲｒｏｒ）とすると、例えば、前述した図１２の従来のメモリセルの冗長設定では、１つの冗長設定に対して、２ビットの冗長選択信号を１つずつ割り当てたので、冗長選択におけるソフトエラー率ＳＥＲＯ1は、
ＳＥＲＯ1＝１−｛（１−ｓｅｒ）2｝
となる。
【００５６】
一方、図３で示した冗長設定では、１つの冗長設定に対して、５ビットの冗長選択信号を１つと、冗長選択信号の１ビットを反転させた５つの値とを割り当てたので、冗長選択におけるソフトエラー率ＳＥＲＮ1は、
ＳＥＲＮ1＝１−｛（１−ｓｅｒ）5＋５×（１−ｓｅｒ）4×ｓｅｒ｝
となる。
【００５７】
よって、ｓｅｒ＝０．００１とした場合、ＳＥＲＯ1＝０．００２、ＳＥＲＮ1＝９．９８×１０-6となり、従来のメモリセルの冗長選択に比べ、ソフトエラー耐性が約２００倍に増加する結果となる。
【００５８】
このように、ラッチに保持される冗長選択信号のビット数を増やし、１つの冗長設定に対して、１つの冗長選択信号と、複数の１ビット反転データを割り当てることによって、冗長選択におけるソフトエラー耐性を向上することができる。
【００５９】
なお、ここでは各冗長設定に１ビット反転データを割り当てる場合を説明したが、より多くのビット数を冗長選択信号に用いることができる場合には、複数のビットが反転したデータをさらに割り当てることが可能である。
【００６０】
次に、本実施例に係る冗長選択信号の生成方法について説明する。図４は、図３に示した冗長選択信号を生成するアルゴリズムを示すフローチャートである。
【００６１】
図４に示すように、この冗長選択信号生成アルゴリズムでは、まず、生成する冗長信号のビット数と同じビット数のデータ変数を定義する。このデータ変数には、２進数の数値が設定される。そして、このデータ変数の全てのビットに初期値として「０」を設定する（ステップＳ１０１）。例えば、冗長選択信号が５ビットである場合は、「０００００」を設定する。
【００６２】
そして、データ変数の１ビットのみを反転した１ビット反転データを作成する（ステップＳ１０２）。例えば、冗長選択信号が「０００００」である場合には、「００００１」、「０００１０」、「００１００」、「０１０００」及び「１００００」の５通りの１ビット反転データを作成する。
【００６３】
そして、データ変数を冗長選択信号に割り当てるとともに（ステップＳ１０３）、当該データ変数および当該データ変数の１ビット反転データを全て、そのデータ変数が冗長選択信号に割当てられていることにより使用できないことを示す使用済みリストに登録する（ステップＳ１０４）。
【００６４】
その後、データ変数に１を加算し、これを新たなデータ変数とするとともに（ステップＳ１０５）、新たなデータ変数の１ビット反転データを作成する（ステップＳ１０６）。
【００６５】
ここで、新たなデータ変数およびデータ変数の１ビット反転データを使用済みリストの内容と比較する（ステップＳ１０７）。使用済みリストに当該データ変数または当該データ変数の１ビット反転データと同じ値のデータが既に含まれていた場合は（ステップＳ１０８，Ｙｅｓ）、ステップＳ１０５に戻って新たなデータ変数を設定し、ステップＳ１０６以降の処理を繰り返す。
【００６６】
一方、使用済みリストに当該データ変数および当該データ変数の１ビット反転データと同じ値のデータが含まれていなかった場合は（ステップＳ１０８，Ｎｏ）、当該データ変数を冗長選択信号に割り当て（ステップＳ１０９）、さらに、当該データ変数および当該データ変数の１ビット反転データを使用済みリストに登録する（ステップＳ１１０）。
【００６７】
ここで、データ変数に対して必要な数だけ冗長選択信号が割り当てられた場合は（ステップＳ１１１，Ｙｅｓ）、処理を終了する。必要な数を満たしていない場合は（ステップＳ１１１，Ｎｏ）、ステップＳ１０５に戻って新たなデータ変数を設定し、ステップＳ１０６以降の処理を繰り返す。
【００６８】
上記のアルゴリズムで生成した冗長選択信号と、各冗長選択信号の１ビット反転データを、図３に示したように、冗長設定に対して割り当てる。
【００６９】
なお、ここでは、１つの冗長設定に対して、ラッチに設定される１つの冗長選択信号と、その冗長選択信号を構成する複数のビットについて、１つのビットのみを反転させることによって得られる全ての１ビット反転データとを割り当てる場合について説明した。
【００７０】
この場合、例えば、メモリセルグループ１〜７と冗長メモリセルグループを置き換える７通りの冗長設定の場合には、メモリセルグループ１〜７と冗長メモリグループとを置き換えるため、1ビットを反転した１ビット反転データがそれぞれのメモリセルグループと対応するため、少なくとも７ビットの冗長選択信号が必要となる。しかし、回路面積の制約等で、冗長選択信号に用いるビットが４ビットしか確保できない場合でも、それぞれの冗長設定に対して、４ビットの冗長選択信号１つと、その冗長選択信号について４ビット中１ビットを反転した１つの１ビット反転データを割り当てただけでも、１つの冗長選択信号のみでデコードする場合に比べれば、ソフトエラー耐性は向上する。
【００７１】
図５は、１つの冗長設定に２通りの冗長選択信号を割り当てる場合を示す図である。同図に示す例では、冗長設定が８通りであり、４ビットの冗長選択信号を用いて、それぞれの冗長設定に対して、１つの冗長選択信号と、その冗長選択信号の１つの１ビット反転データを割り当てている。
【００７２】
このように、各冗長設定に対して割り当てる１ビット反転データを限定することによって、回路面積の制約等で、冗長選択信号に用いることができるビット数が制限されている場合でも、冗長選択におけるソフトエラー耐性を向上することができる。
【００７３】
また、これまで、メモリセルの置き換えパターンを示す各冗長設定に対して冗長選択信号を均等に割り当てる場合を説明したが、特定のパターンにより多くの冗長選択信号を割り当てることによって、当該パターンについて重点的にソフトエラー耐性を向上させることもできる。
【００７４】
図６は、特定の冗長設定として、冗長選択をしない場合の冗長設定に重点的に冗長選択信号を割り当てる場合の冗長選択信号生成アルゴリズムを示すフローチャートである。
【００７５】
図６に示すように、この冗長選択信号生成アルゴリズムでは、まず、生成する冗長信号のビット数と同じビット数のデータ変数を定義する。このデータ変数には、２進数の数値が設定される。そして、このデータ変数の全てのビットに初期値として「０」を設定する（ステップＳ２０１）。例えば、冗長選択変数が４ビットである場合は、「００００」を設定する。
【００７６】
そして、データ変数の１ビットのみを反転した１ビット反転データを作成する（ステップＳ２０２）。例えば、冗長選択信号が４ビットである場合は、「０００１」、「００１０」、「０１００」、「１０００」の４通りの反転データを作成する。
【００７７】
そして、データ変数を冗長選択信号に割り当てるとともに（ステップＳ２０３）、当該データ変数および当該データ変数の１ビット反転データを全て使用済みリストに登録する（ステップＳ２０４）。
【００７８】
その後、データ変数に１を加算し、これを新たなデータ変数とする（ステップＳ２０５）。
【００７９】
ここで、データ変数を使用済みリストと比較する（ステップＳ２０６）。使用済みリストに当該データ変数と同じ値のデータが既に含まれていた場合は（ステップＳ２０７，Ｙｅｓ）、ステップＳ２０５に戻って新たなデータ変数を設定し、ステップＳ２０６以降の処理を繰り返す。
【００８０】
一方、使用済みリストに当該データ変数と同じ値のデータが含まれていなかった場合は（ステップＳ２０７，Ｎｏ）、当該データ変数を冗長選択信号に割り当て（ステップＳ２０８）、さらに、当該データ変数を使用済みリストに登録する（ステップＳ２０９）。
【００８１】
ここで、データ変数に対して必要な数だけ冗長選択信号が割り当てられた場合は（ステップＳ２１０，Ｙｅｓ）、処理を終了する。必要な数を満たしていない場合は（ステップＳ２１０，Ｎｏ）、ステップＳ２０５に戻って新たなデータ変数を設定し、ステップＳ２０６以降の処理を繰り返す。
【００８２】
図７は、特定の冗長設定に重点的に冗長選択信号を割り当てる場合の一例を示す図である。同図に示す例では、４ビットの冗長選択信号を用い、冗長選択しない冗長設定に対して、全ビットが「０」の冗長選択信号「００００」と、各ビットの１ビット反転データ「０００１」、「００１０」、「０１００」及び「１０００」の合計５つの冗長選択信号を割り当て、その他のメモリセルグループ１〜７と冗長メモリセルグループを置き換える７通りの冗長設定に対しては、それぞれ１つずつ冗長選択信号を割り当てる。
メモリセルグループ１〜７と冗長メモリセルグループを置き換える７通りの冗長設定の場合には、メモリセルグループ１〜７と冗長メモリグループとを置き換えることが必要であり、1ビットを反転した１ビット反転データがそれぞれのメモリセルグループと対応するため、上記のアルゴリズムで生成した冗長選択信号と、全ビットが「０」の冗長選択信号の１ビット反転データを用いて、メモリセルの置き換えパターンを示す冗長設定を割り当てる。
【００８３】
このように、特定の冗長設定について重点的に１ビット反転データを割り当てることによって、複数の冗長設定の中で、例えば冗長選択しない場合など、実際に設定される可能性が高い冗長設定について重点的に冗長選択におけるソフトエラー耐性を向上することができる。
【００８４】
また、図６に示した冗長選択信号生成方法では、特定の冗長設定について重点的に冗長選択信号を割り当てる場合について説明した。この方法では、特定の冗長設定について、その冗長設定に対して割り当てた冗長選択信号において、１ビットのみが反転していた場合でも冗長設定が判定できるように１ビット反転データを割り当てたが、さらに２ビット反転データを割り当てることにより、２ビットが反転していた場合でも冗長設定が判定できるようにしてもよい。
【００８５】
図８は、特定の冗長設定に対して２ビット反転データをさらに割り当てる場合の冗長選択信号生成アルゴリズムを示すフローチャートである。
【００８６】
図８に示すように、この冗長選択信号生成アルゴリズムでは、まず、生成する冗長信号のビット数と同じビット数のデータ変数を定義する。このデータ変数には、２進数の数値が設定される。そして、このデータ変数の全てのビットに初期値として「０」を設定する（ステップＳ３０１）。例えば、冗長選択変数が４ビットである場合は、「００００」を設定する。
【００８７】
そして、データ変数の１ビットのみを反転した１ビット反転データと、２ビットを反転した２ビット反転データとを作成する（ステップＳ３０２）。例えば、冗長選択信号が４ビットである場合は、「０００１」、「００１０」、「０１００」、および「１０００」の４通りの１ビット反転データと、「００１１」、「０１０１」、「０１１０」、「１００１」、「１０１０」および「１１００」の６通りの２ビット反転データとからなる合計１０通りの反転データを作成する。
【００８８】
そして、データ変数を冗長選択信号に割り当てるとともに（ステップＳ３０３）、当該データ変数と、当該データ変数の１ビット反転データおよび２ビット反転データを全て使用済みリストに登録する（ステップＳ３０４）。
【００８９】
その後、データ変数に１を加算し、これを新たなデータ変数とする（ステップＳ３０５）。
【００９０】
ここで、新たなデータ変数を使用済みリストと比較する（ステップＳ３０６）。使用済みリストに当該データ変数と同じ値のデータが既に含まれていた場合は（ステップＳ３０７，Ｙｅｓ）、当該データ変数が所与のビット数で表される最大値（例えば「１１１１」）であるか否かを判定する（ステップＳ３１１）。
【００９１】
そして、当該データ変数が所与のビット数で表される最大値（例えば「１１１１」）と等しい場合は（ステップＳ３１１，Ｙｅｓ）、データ変数に対して必要な数を満たすまで、使用済みリスト中の２ビット反転データを冗長選択信号に割り当てる（ステップＳ３１２）。一方、当該データ変数が最大値でなかった場合は（ステップＳ３１１，Ｎｏ）、ステップＳ３０５に戻って新たなデータ変数を設定し、ステップＳ３０６以降の処理を繰り返す。また、使用済みリストに当該データ変数と同じ値のデータが含まれていなかった場合は（ステップＳ３０７，Ｎｏ）、当該データ変数を冗長選択信号に割り当て（ステップＳ３０８）、さらに、当該データ変数を使用済みリストに登録する（ステップＳ３０９）。
【００９２】
ここで、データ変数に対して必要な数だけ冗長選択信号が割り当てられた場合は（ステップＳ３１０，Ｙｅｓ）、処理を終了する。必要な数を満たしていない場合は（ステップＳ３１０，Ｎｏ）、当該データ変数が、所与のビット数で表される最大値であるか否かを判定する。
【００９３】
そして、当該データ変数が最大値であった場合は（ステップＳ３１１，Ｙｅｓ）、必要な数を満たすまで、使用済みリスト中の２ビット反転データを冗長選択信号に割り当てる（ステップＳ３１２）。一方、当該データ変数が最大値でなかった場合は（ステップＳ３１１，Ｎｏ）、ステップＳ３０５に戻って新たなデータ変数を設定し、ステップＳ３０６以降の処理を繰り返す。
【００９４】
上記のアルゴリズムで生成した冗長選択信号と、全ビットが「０」の冗長選択信号の１ビット反転データおよび２ビット反転データを用いて、冗長設定を割り当てる。図９は、特定の冗長設定に余った冗長選択信号をさらに割り当てる場合の一例を示す図である。同図に示す例では、４ビットの冗長選択信号を用い、冗長選択しない冗長設定に対して、全ビットが「０」の冗長選択信号と、その全ての１ビット反転データと、２ビット反転データのうち冗長選択信号に割り当てられなかったものとを割り当て、メモリセルグループ１〜７と冗長メモリセルグループを置き換える７通りの冗長設定に対しては、それぞれ１つずつ冗長選択信号を割り当てる。
【００９５】
なお、ここでは、１ビット反転データおよび２ビット反転データを特定の冗長設定に対して割り当てる場合を説明したが、より多くのビット数を冗長選択信号に用いることができる場合は、３ビット以上が反転したデータをさらに割り当ててもよい。
【００９６】
このように、冗長選択信号に用いることができるビット数に応じて、可能な限り複数のビットが反転したデータを割り当てることによって、特定の冗長設定について冗長選択におけるソフトエラー耐性をより向上することができる。
【００９７】
図１０は、図９に示した冗長設定による冗長デコード回路の一例を示す図である。同図に示す例の冗長デコード回路は、４つのインバータ回路と、７つのＡＮＤ回路と、６つのＯＲ回路から構成されている。この冗長デコード回路は、４ビットの冗長選択信号ＲＥＤ０〜ＲＥＤ３に応じて、７ビットの冗長デコード信号ＳＥＬ０〜ＳＥＬ６を出力する。
【００９８】
４ビットの冗長選択信号ＲＥＤ０〜ＲＥＤ３をデコードすることにより、出力される冗長デコード信号ＳＥＬ０〜ＳＥＬ６は、「０００００００」、「１１１１１１１」、「１１１１１１０」、「１１１１１００」、「１１１１０００」、「１１１００００」、「１１０００００」および「１００００００」の８種類となる。これらの冗長デコード信号ＳＥＬ０〜ＳＥＬ６は、それぞれ、８通りの冗長設定にひとつずつ対応付いている。そして、これらの冗長デコード信号ＳＥＬ０〜ＳＥＬ６に基づいて、冗長スイッチ回路によって、メモリセルグループの冗長設定が行われる。
【００９９】
上述してきたように、本実施例では、冗長設定用ラッチ５1〜５nが、メモリセルグループの置き換えパターンを示す冗長設定に対応付けられた冗長選択信号をあらかじめ保持し、冗長選択回路２１が、この冗長選択信号を入力して冗長選択信号の一部が反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出し、冗長スイッチ回路２２が、導出した冗長設定に基づいてメモリセルグループの置き換えを行うこととしたので、宇宙からの放射線などの影響により冗長設定用ラッチ５1〜５nに保持している冗長選択信号にソフトエラーが発生していた場合でも、正しく冗長選択を行うことができるため、冗長選択におけるソフトエラー耐性を向上することができる。
【０１００】
（付記１）記憶装置を構成するメモリセルと冗長メモリセルとに接続され、前記メモリセル又は前記冗長メモリセルの何れかの入出力を選択する冗長選択を行うメモリ冗長選択装置であって、
前記メモリセルの選択情報を示す冗長選択信号を保持する冗長選択信号保持手段と、
前記冗長選択情報保持手段に保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う冗長デコード手段と、
前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行う冗長スイッチ手段と、
を備えたことを特徴とするメモリ冗長選択装置。
【０１０１】
（付記２）前記冗長選択信号保持手段は、スキャンラッチ手段により構成されることを特徴とする付記１記載のメモリ冗長選択装置。
【０１０２】
（付記３）前記冗長デコード手段は、デコード結果として出力する同一の冗長設定について、少なくとも二以上の冗長選択信号が入力として対応付けられるように構成されることを特徴とする付記１記載のメモリ冗長選択装置。
【０１０３】
（付記４）前記冗長選択信号はｎビット（ｎ＞１）で構成され、
前記冗長デコード手段は、前記冗長選択信号を構成するｎビットのうちｋビット（０＜ｋ≦ｎ−１）までが反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行うことを特徴とする付記１記載のメモリ冗長選択装置。
【０１０４】
（付記５）メモリセルと、
冗長メモリセルと、
前記メモリセルと前記冗長メモリセルとに接続され、前記メモリセル又は前記冗長メモリセルの何れかの入出力を選択する冗長選択を行う冗長選択手段とを有し、
前記冗長選択手段は、
前記メモリセルの選択情報を示す冗長選択信号を保持する冗長選択信号保持手段と、
前記冗長選択情報保持手段に保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う冗長デコード手段と、
前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行う冗長スイッチ手段と、
を備えたことを特徴とする記憶装置。
【０１０５】
（付記６）メモリセルと、
冗長メモリセルと、
前記記憶装置に接続される演算処理装置と、
前記メモリセルと前記冗長メモリセルとに接続され、前記メモリセル又は前記冗長メモリセルの何れかの入出力を選択する冗長選択を行う冗長選択手段とを有し、
前記冗長選択手段は、
前記メモリセルの選択情報を示す冗長選択信号を保持する冗長選択信号保持手段と、
前記冗長選択情報保持手段に保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う冗長デコード手段と、
前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行う冗長スイッチ手段と、
を備えたことを特徴とする情報処理装置。
【０１０６】
（付記７）前記情報処理装置はさらに、スキャンシフト制御を行うＴＡＰコントローラ手段と、
前記ＴＡＰコントローラ手段から出力されるスキャンクロックによりスキャンシフトを行い、前記冗長選択信号保持手段を含むスキャンラッチ手段と、
前記スキャンラッチ手段に接続され、冗長選択信号を設定するヒューズ手段とを有し、
前記ヒューズ手段に設定された冗長選択信号を前記スキャンラッチ手段に出力し、前記スキャンシフトを行うことにより、前記冗長選択信号保持手段に前記冗長選択信号を保持することを特徴とする付記６記載の情報処理装置。
【０１０７】
（付記８）前記情報処理装置はさらに、スキャンシフト制御を行うＴＡＰコントローラ手段と、
前記ＴＡＰコントローラ手段から出力されるスキャンクロックによりスキャンシフトを行い、前記冗長選択信号保持手段を含むスキャンラッチ手段と、
前記スキャンラッチ手段に接続されるスキャン入力とを有し、
前記スキャン入力から前記冗長選択信号を入力し、前記スキャンシフトを行うことにより、前記冗長選択信号保持手段に前記冗長選択信号を保持することを特徴とする付記６記載の情報処理装置。
【０１０８】
（付記９）記憶装置を構成するメモリセル又は冗長メモリセルの何れかの入出力を選択するメモリセルの冗長選択の方法であって、
前記メモリセルの選択情報を示す冗長選択信号を保持するステップと、
前記保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行うステップと、
前記デコード結果に基づいて、前記メモリセル又は前記冗長メモリセルの何れかの入出力の選択を行うステップと、
を備えたことを特徴とするメモリセルの冗長選択の方法。
【０１０９】
（付記１０）前記保持された前記冗長選択信号を入力して、前記冗長選択信号の一部が反転していた場合においても反転する前と同じ冗長設定をデコード結果として出力を行う前記ステップにおいて、
デコード結果として出力する同一の冗長設定について、少なくとも二以上の冗長選択信号が入力として対応付けられることを特徴とする付記９記載のメモリセルの冗長選択の方法。
【０１１０】
（付記１１）半導体記憶装置において不良メモリセルを冗長メモリセルで置き換える冗長選択を行うメモリ冗長選択装置であって、
メモリセルの置き換えパターンを示す冗長設定に対応付けられた冗長選択信号をあらかじめ保持する冗長選択信号保持手段と、
前記冗長選択信号を入力して該冗長選択信号の一部が変化していた場合でも変化する前と同じ冗長設定を導出する冗長デコード手段と、
前記冗長デコード手段によって導出された冗長設定に基づいてメモリセルの置き換えを行う冗長スイッチ手段と、
を備えたことを特徴とするメモリ冗長選択装置。
【０１１１】
（付記１２）前記冗長選択信号はｎビット（ｎ＞１）で構成され、
前記冗長デコード手段は、前記冗長選択信号を構成するｎビットのうちｎ−ｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記１１に記載のメモリ冗長選択装置。
【０１１２】
（付記１３）前記冗長デコード手段は、前記冗長選択信号を構成するｎビットのうち所定のビットについてｎ−ｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記１２に記載のメモリ冗長選択装置。
【０１１３】
（付記１４）前記冗長デコード手段は、特定の冗長設定については前記冗長選択信号を構成するｎビットのうちｎ−ｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記１２または１３に記載のメモリ冗長選択装置。
【０１１４】
（付記１５）前記冗長デコード手段は、メモリセルの置き換えを行わない冗長設定については前記冗長選択信号を構成するｎビットのうちｎ−ｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記１４に記載のメモリ冗長選択装置。
【０１１５】
（付記１６）前記冗長デコード手段は、前記冗長選択信号を構成するｎビットのうちいずれかの１ビットが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記１２に記載のメモリ冗長選択装置。
【０１１６】
（付記１７）前記冗長デコード手段は、特定の冗長設定については前記冗長選択信号を構成するｎビットのうちいずれかの１ビットが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記１４に記載のメモリ冗長選択装置。
【０１１７】
（付記１８）前記冗長デコード手段は、メモリセルの置き換えを行わない冗長設定については前記冗長選択信号を構成するｎビットのうちいずれかの１ビットが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記１７に記載のメモリ冗長選択装置。
【０１１８】
（付記１９）前記冗長選択信号保持手段は、前記冗長選択信号を前記半導体記憶装置に搭載されたラッチに保持することを特徴とする付記１１〜１８のいずれか一つに記載のメモリ冗長選択装置。
【０１１９】
（付記２０）前記冗長選択信号保持手段は、ヒューズを切断することによって発生する信号によって前記ラッチに保持する冗長選択信号を設定することを特徴とする付記１９に記載のメモリ冗長選択装置。
【０１２０】
（付記２１）前記冗長選択信号保持手段は、外部から入力される信号によって前記ラッチに保持する冗長選択信号を設定することを特徴とする付記１９に記載のメモリ冗長選択装置。
【０１２１】
（付記２２）半導体記憶装置において不良メモリセルを冗長メモリセルで置き換える冗長選択を行うメモリ冗長選択方法であって、
メモリセルの置き換えパターンを示す冗長設定に対応付けられた冗長選択信号をあらかじめ保持する冗長選択信号保持工程と、
前記冗長選択信号を入力して該冗長選択信号の一部が変化していた場合でも変化する前と同じ冗長設定を導出する冗長デコード工程と、
前記冗長デコード工程によって導出された冗長設定に基づいてメモリセルの置き換えを行う冗長スイッチ工程と、
を含んだことを特徴とするメモリセルの冗長選択の方法。
【０１２２】
（付記２３）前記冗長選択信号はｎビット（ｎ＞１）で構成され、
前記冗長デコード工程は、前記冗長選択信号を構成するｎビットのうちｎ−ｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記２２に記載のメモリセルの冗長選択の方法。
【０１２３】
（付記２４）前記冗長デコード工程は、前記冗長選択信号を構成するｎビットのうち所定のビットについてｎ−ｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記２３に記載のメモリセルの冗長選択の方法。
【０１２４】
（付記２５）前記冗長デコード工程は、特定の冗長設定については前記冗長選択信号を構成するｎビットのうちｎ−ｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記２３または２４に記載のメモリセルの冗長選択の方法。
【０１２５】
（付記２６）前記冗長デコード工程は、メモリセルの置き換えを行わない冗長設定については前記冗長選択信号を構成するｎビットのうちｎ−ｋビット（０＜ｋ≦ｎ−１）までが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記２５に記載のメモリセルの冗長選択の方法。
【０１２６】
（付記２７）前記冗長デコード工程は、前記冗長選択信号を構成するｎビットのうちいずれかの１ビットが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記２３に記載のメモリセルの冗長選択の方法。
【０１２７】
（付記２８）前記冗長デコード工程は、特定の冗長設定については前記冗長選択信号を構成するｎビットのうちいずれかの１ビットが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記２５に記載のメモリセルの冗長選択の方法。
【０１２８】
（付記２９）前記冗長デコード工程は、メモリセルの置き換えを行わない冗長設定については前記冗長選択信号を構成するｎビットのうちいずれかの１ビットが反転していた場合でも反転する前の冗長選択信号に対応付けられた冗長設定と同じ冗長設定を導出することを特徴とする付記２８に記載のメモリセルの冗長選択の方法。
【０１２９】
（付記３０）前記冗長選択信号保持工程は、前記冗長選択信号を前記半導体記憶装置に搭載されたラッチに保持することを特徴とする付記２２〜２９のいずれか一つに記載のメモリセルの冗長選択の方法。
【産業上の利用可能性】
【０１３０】
以上のように、本発明に係る冗長選択装置および冗長選択方法は、不良メモリセルを冗長メモリセルで置き換える冗長選択を行う半導体記憶装置に有用であり、特に、冗長選択信号などの冗長選択を制御するデータを長期間保持する半導体装置を内蔵するプロセサやＤＳＰ(Digital Signal Processor)、ＳＯＣ(System On Chip)等のＬＳＩに適している。
【図面の簡単な説明】
【０１３１】
【図１】本実施例に係る冗長選択の概要を説明するための説明図である。
【図２】本実施例に係るＲＡＭマクロの構成を示すブロック図である。
【図３】本実施例に係る冗長設定の一例を示す図である。
【図４】図３に示した冗長選択信号を生成するアルゴリズムを示すフローチャートである。
【図５】１つの冗長設定に２つの冗長選択信号を割り当てる場合の一例を示す図である。
【図６】特定の冗長設定に重点的に冗長選択信号を割り当てる場合の冗長選択信号生成アルゴリズムを示すフローチャートである。
【図７】特定の冗長設定に重点的に冗長選択信号を割り当てる場合の一例を示す図である。
【図８】特定の冗長設定に２桁反転データをさらに割り当てる場合の冗長選択信号生成アルゴリズムを示すフローチャートである。
【図９】特定の冗長設定に余った冗長選択信号をさらに割り当てる場合の一例を示す図である。
【図１０】図９に示した冗長設定による冗長デコード回路の一例を示す図である。
【図１１】従来のメモリセルの冗長選択の一例を示す図である。
【図１２】従来のメモリセルの冗長選択における冗長選択信号の一例を示す図である。
【図１３】従来の冗長選択回路の一例を示す図である。
【図１４】図１３に示した冗長スイッチ回路および冗長デコード回路が生成する信号の一覧である。
【符号の説明】
【０１３２】
１    ＬＳＩチップ
２1〜２5    ヒューズ
３1〜３m    ラッチ列
４1〜４n    ＲＡＭマクロ
５1〜５n    冗長設定用ラッチ
６    プロセサコア部
７    ＴＡＰコントローラ
１０1〜１０3    メモリセルグループ
１０4    冗長メモリセルグループ
２０    冗長選択回路
２１    冗長デコード回路
２２    冗長スイッチ回路
【図１】
2007172690.tif 000003
【図２】
2007172690.tif 000004
【図３】
2007172690.tif 000005
【図４】
2007172690.tif 000006
【図５】
2007172690.tif 000007
【図６】
2007172690.tif 000008
【図７】
2007172690.tif 000009
【図８】
2007172690.tif 000010
【図９】
2007172690.tif 000011
【図１０】
2007172690.tif 000012
【図１１】
2007172690.tif 000013
【図１２】
2007172690.tif 000014
【図１３】
2007172690.tif 000015
【図１４】
2007172690.tif 000016