半導体記憶装置
【課題】 テスト効率と製品歩留まり向上ができる半導体記憶装置を提供する。
【解決手段】 半導体記憶装置は、入力コマンドデコーダ、コマンド生成器、半導体メモリ、書き込み判定回路を備える。半導体メモリにはコマンド生成器からの第2コマンド及び第1アドレス情報に基づいて第1データが書き込まれる。書き込み判定回路は、第1データと第1アドレスから読み出された第2データとを比較して正常に書き込みが行われたか否かを判定する。入力コマンドデコーダには第1データを救済させる第3コマンドがさらに入力される。半導体メモリに正常に書き込みが行われていないと判定された場合、入力コマンドデコーダは第3コマンドがデコードされた第4コマンドと第1アドレス情報とをコマンド生成器に供給する。コマンド生成器は、第4コマンドに基づいて第1アドレスと異なる第2アドレス情報と第2コマンドと第1データとを半導体メモリに供給する。
【解決手段】 半導体記憶装置は、入力コマンドデコーダ、コマンド生成器、半導体メモリ、書き込み判定回路を備える。半導体メモリにはコマンド生成器からの第2コマンド及び第1アドレス情報に基づいて第1データが書き込まれる。書き込み判定回路は、第1データと第1アドレスから読み出された第2データとを比較して正常に書き込みが行われたか否かを判定する。入力コマンドデコーダには第1データを救済させる第3コマンドがさらに入力される。半導体メモリに正常に書き込みが行われていないと判定された場合、入力コマンドデコーダは第3コマンドがデコードされた第4コマンドと第1アドレス情報とをコマンド生成器に供給する。コマンド生成器は、第4コマンドに基づいて第1アドレスと異なる第2アドレス情報と第2コマンドと第1データとを半導体メモリに供給する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体記憶装置に関する。
【背景技術】
【0002】
従来から、欠陥ブロックに書き込まれたデータが救済されることが可能な半導体記憶装置が提案されている(例えば、特許文献1〜4参照)。
【特許文献1】特開2005−4504(第1−9頁、第1−5図)
【特許文献2】特開平5−204561(第1−8頁、第1−9図)
【特許文献3】特開平6−274409(第1−10頁、第1−21図)
【特許文献4】特開平8−115175(第1−13頁、第1−19図)
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1〜4の技術では、ホストプログラムからの制御により、半導体記憶装置における欠陥ブロックが救済されている。しかし、欠陥ブロックが半導体記憶装置によって異なる傾向があるので、複数の半導体記憶装置が同時に救済されながらテストされにくい。これにより、半導体記憶装置が1つずつテストされることがあるので、テスト効率が低減する傾向にある。
【0004】
また、欠陥ブロックが救済されずに複数の半導体記憶装置が同時にテストされると、テスト効率は向上するが、製品の歩留まりは低下する傾向にある。
【0005】
本発明の課題は、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる半導体記憶装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明に係る半導体記憶装置は、デコード回路と、コマンド生成器と、記憶回路と、書き込み判定回路とを備える。デコード回路には、第1データと第1コマンドと第1アドレス情報とが入力される。第1コマンドは、第1データを書き込ませるコマンドである。第1アドレス情報は、第1アドレスの情報である。第1アドレスは、第1データが書き込まれるアドレスである。デコード回路は、第2コマンドを生成する。第2コマンドは、第1コマンドがデコードされたコマンドである。コマンド生成器は、デコード回路から受け取った第2コマンドに基づいて、第2コマンドと第1データと第1アドレス情報とを転送する。記憶回路は、コマンド生成器から受け取った第2コマンド及び第1アドレス情報に基づいて、第1データが書き込まれる。書き込み判定回路は、第1データと第2データとに基づいて、記憶回路に正常に書き込みが行われたか否かを判定する。第2データは、記憶回路において第1アドレスから読み出されたデータである。デコード回路には、第3コマンドがさらに入力される。第3コマンドは、第1データを救済させるコマンドである。デコード回路は、記憶回路に正常に書き込みが行われていないと書き込み判定回路が判定した場合、第4コマンドと第1アドレス情報とをコマンド生成器に供給する。第4コマンドは、第3コマンドがデコードされたコマンドである。コマンド生成器は、デコード回路から受け取った第4コマンドに基づいて、第2アドレス情報と第2コマンドと第1データとを記憶回路に供給する。第2アドレス情報は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。
【0007】
この半導体記憶装置では、デコード回路は、記憶回路に正常に書き込みが行われていないと書き込み判断回路が判断した場合、第4コマンドと第1アドレス情報とをコマンド生成器に供給する。また、コマンド生成器は、第4コマンドに基づいて、第2アドレス情報と第2コマンドと第1データとを記憶回路に供給する。これらにより、外部から救済すべきアドレスの情報を与えなくても、記憶回路において正常に書き込みが行われなかったアドレスに対して、第1データを救済することができる。
【0008】
このように、第3コマンドが入力された場合に正常に書き込みが行われれば第3コマンドを無視することができるので、複数ある場合でも、同時に救済しながらテストすることができる。したがって、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる。
【0009】
本発明に係る半導体記憶装置の制御方法は、記憶回路を有する半導体記憶装置の制御方法であって、第1入力ステップと、デコードステップと、転送ステップと、第1書き込みステップと、判定ステップと、第2入力ステップと、供給ステップと、第2書き込みステップとを備える。第1入力ステップでは、第1データと、第1コマンドと、第1アドレス情報とが入力される。第1コマンドは、第1データを書き込ませるコマンドである。第1アドレス情報は、第1アドレスの情報である。第1アドレスは、第1データが書き込まれるアドレスである。デコードステップでは、第2コマンドが生成される。第2コマンドは、第1コマンドがデコードされたコマンドである。転送ステップでは、第2コマンドに基づいて、第2コマンドと第1データと第1アドレス情報とが転送される。第1書き込みステップでは、第2コマンド及び第1アドレス情報に基づいて、第1データが記憶回路に書き込まれる。判定ステップでは、第1データと第2データとに基づいて、記憶回路に正常に書き込みが行われたか否かが判定される。第2データは、記憶回路において第1アドレスから読み出されたデータである。第2入力ステップでは、第3コマンドが入力される。第3コマンドは、第1データを救済させるコマンドである。供給ステップでは、記憶回路に正常に書き込みが行われていないと判定ステップで判定された場合、第4コマンドと第1アドレス情報とが供給される。第4コマンドは、第3コマンドがデコードされたコマンドである。第2書き込みステップでは、第4コマンドに基づいて、第2アドレス情報と第2コマンドと第1データとが記憶回路に書き込まれる。第2アドレス情報は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。
【0010】
この半導体記憶装置の制御方法では、供給ステップにおいて、記憶回路に正常に書き込みが行われていないと判定ステップで判定された場合、第4コマンドと第1アドレス情報とが供給される。また、第2書き込みステップにおいて、第4コマンドに基づいて、第2アドレス情報と第2コマンドと第1データとが記憶回路に書き込まれる。これらにより、外部から救済すべきアドレスの情報を与えなくても、記憶回路において正常に書き込みが行われなかったアドレスに対して、第1データを救済することができる。
【0011】
このように、第3コマンドが入力された場合に正常に書き込みが行われれば第3コマンドを無視することができるので、複数ある場合でも、同時に救済しながらテストすることができる。したがって、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる。
【発明の効果】
【0012】
本発明に係る半導体記憶装置では、自律的に第1データを救済することができるため、複数ある場合でも、同時に救済しながらテストすることができる。したがって、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる。
【0013】
本発明に係る半導体記憶装置の制御方法では、第3コマンドが入力された場合に正常に書き込みが行われれば第3コマンドを無視することができるので、複数ある場合でも、同時に救済しながらテストすることができる。したがって、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる。
【発明を実施するための最良の形態】
【0014】
<第1実施形態>
本発明の第1実施形態に係る半導体記憶装置の構成図を図1に示す。
【0015】
<半導体記憶装置の概略構成>
半導体記憶装置1は、主として、入力コマンドデコーダ10,コマンド生成器30,半導体メモリ40,書き込み判定回路60及びデータラッチ70を備える。
【0016】
入力コマンドデコーダ10は、外部入力端子(図示せず)に接続されており、コマンド生成器30,データラッチ70及び書き込み判定回路60にも接続されている。また、コマンド生成器30は、入力コマンドデコーダ10と半導体メモリ40とに接続されている。さらに、書き込み判定回路60は、外部出力端子(図示せず)に接続されており、入力コマンドデコーダ10,半導体メモリ40及びデータラッチ70にも接続されている。
【0017】
<半導体記憶装置の概略動作>
(通常動作)
半導体記憶装置1は、出荷される前に、アッセンブリされた状態でテスター(図示せず)に接続され、電気的特性などが検査される。この場合、半導体記憶装置1の入力コマンドデコーダ10には、外部入力端子を介して、第1コマンドC1,第1データD1,チップイネーブル信号CE1及び第1アドレス情報A1が入力される。ここで、第1コマンドC1は、第1データD1を書き込ませるコマンドである。第1アドレス情報A1は、第1アドレスの情報である。第1アドレスは、第1データD1が書き込まれるアドレスである。入力コマンドデコーダ10は、第1コマンドC1をデコードして、第2コマンドC1aを生成する。第2コマンドC1aは、第1コマンドC1がデコードされたコマンドである。
【0018】
コマンド生成器30は、第2コマンドC1a及び第1データD1と、第1アドレス情報A1とを入力コマンドデコーダ10から受け取る。コマンド生成器30は、入力コマンドデコーダ10から受け取った第2コマンドC1aに基づいて、第2コマンドC1aと第1データD1と第1アドレス情報A1とを転送する。また、コマンド生成器30は、次の第2コマンドC1aが供給されるまで、第2コマンドC1aと第1データD1と第1アドレス情報A1とを保持する。
【0019】
半導体メモリ40には、第1コマンドC1に基づいて、第1データD1が書き込まれる。また、半導体メモリ40では、第5コマンドC5に基づいて、第2データD2が読み出される。ここで、第2データD2は、半導体メモリ40において第1アドレスから読み出されたデータである。
【0020】
データラッチ70は、第1データD1を入力コマンドデコーダ10から受け取る。そして、データラッチ70は、第1データD1を一時的に記憶しておき、所定のタイミングで第1データD1を書き込み判定回路60へ供給する。
【0021】
書き込み判定回路60は、第1データD1をデータラッチ70から受け取る。また、書き込み判定回路60は、第5コマンドC5を半導体メモリ40へ供給し、第2データD2を半導体メモリ40から受け取る。そして、書き込み判定回路60は、第1データD1と第2データD2とに基づいて、半導体メモリ40に正常に書き込みが行われたか否かを判定する。書き込み判定回路60が判定した結果は、NGフラグとして、入力コマンドデコーダ10及び外部出力端子へ供給される。例えば、NGフラグは、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定した場合にOFFされており“0”となっているが、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合にONされて“1”となる。また、書き込み判定回路60は、第1データD1と第1アドレス情報A1とを外部出力端子へ供給してもよい。
【0022】
(救済動作)
また、入力コマンドデコーダ10には、第3コマンドC3がさらに入力される。第3コマンドC3は、第1データD1を救済させるコマンドである。入力コマンドデコーダ10は、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第4コマンドC3aをコマンド生成器30に供給する。第4コマンドC3aは、第3コマンドC3がデコードされたコマンドである。
【0023】
このとき、コマンド生成器30は、入力コマンドデコーダ10から受け取った第4コマンドC3aに基づいて、第2アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ40に供給する。第2アドレス情報A2は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。また、コマンド生成器30は、次の第4コマンドC3aが供給されるまで、第2アドレス情報A2を保持する。
【0024】
半導体メモリ40には、第1コマンドC1及び第2アドレス情報A2に基づいて、第1データD1が書き込まれる。また、半導体メモリ40では、第5コマンドC5に基づいて、第3データD3が読み出される。ここで、第3データD3は、半導体メモリ40において第2アドレスから読み出されたデータである。
【0025】
書き込み判定回路60は、第5コマンドC5を半導体メモリ40へ供給し、第3データD3を半導体メモリ40から受け取る。そして、書き込み判定回路60は、第1データD1と第3データD3とに基づいて、半導体メモリ40に正常に書き込みが行われたか否かを判定する。
【0026】
他の点は、上記の通常動作と同様である。
【0027】
<入力コマンドデコーダの詳細構成>
入力コマンドデコーダ10は、図2に示すように、主として、判定回路11を備える。判定回路11は、図4に示すように、主として、デコード部26及び転送判定部27を備える。
【0028】
デコード部26は、入力されたコマンドをデコードする。このデコード部26は、主として、コマンドデコード回路12,ヘッダープログラムコマンドデコード回路18及びインバータ16を有する。
【0029】
コマンドデコード回路12は、外部入力端子(図示せず)に接続され、転送判定部27及びヘッダープログラムコマンドデコード回路18にも接続されている。救済プログラムコマンドデコード回路13及びヘッダープログラムコマンドデコード回路18は、さらに転送判定部27に接続されている。これにより、コマンドデコード回路12、救済プログラムコマンドデコード回路13及びヘッダープログラムコマンドデコード回路18のいずれかでデコードされたコマンドが転送判定部27に供給されるようになっている。
【0030】
また、インバータ16は、転送判定部27に接続されている。これにより、デコード部26に入力されたチップイネーブル信号CE1は、論理が反転されて転送判定部27に供給されるようになっている。
【0031】
転送判定部27は、デコード部26がデコードしたコマンドを転送すべきか否かを判定し、判定した結果に基づいてそのコマンドを転送する。この転送判定部27は、主として、ANDゲート17,ANDゲート21及びORゲート19を有する。
【0032】
ANDゲート17には、コマンドデコード回路12及びインバータ16が入力側に接続され、ANDゲート21が出力側に接続される。
【0033】
ORゲート19には、ヘッダープログラムコマンドデコード回路18及びNGフラグNGF入力端子が入力側に接続され、ANDゲート21が出力側に接続される。
【0034】
ANDゲート21には、ORゲート15及びORゲート19が入力側に接続され、コマンド生成器30が出力側に接続される。
【0035】
<入力コマンドデコーダの詳細動作>
(通常動作)
図2に示す通常動作は、所定のクロックタイミングで実行される。
【0036】
コマンドデコード回路12には、第1コマンドC1と第1データD1とが入力される。コマンドデコード回路12は、第1コマンドC1をデコードして、第2コマンドC1aを生成する。そして、コマンドデコード回路12は、第2コマンドC1aと第1データD1とをANDゲート17へ供給する。また、ANDゲート17には、“L”アクティブなチップイネーブル信号CE1が、その論理が反転されて入力される。これにより、ANDゲート17は、チップイネーブル信号CE1がアクティブになったときに、第2コマンドC1aをANDゲート21へ転送する。このとき、ヘッダープログラムコマンドデコード回路18は、使われず、その出力は“0”となる。
【0037】
一方、ORゲート19には、NGフラグNGFが、入力される。ここで、NGフラグNGFは、ONされた場合に“1”であり、OFFされた場合に“0”である。
【0038】
ANDゲート21は、ANDゲート17の出力とORゲート19の出力とが入力される。すなわち、ANDゲート21は、NGフラグNGFがOFFされた場合に、第2コマンドC1a及び第1データD1のコマンド生成器30への転送を遮断する。また、ANDゲート21は、NGフラグNGFがONされた場合に、第2コマンドC1a及び第1データD1をコマンド生成器30へ転送する。これらにより、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定して(NGフラグNGFがOFFされて)、第1データD1が救済されている場合に、次の第2コマンドC1aがコマンド生成器30へ転送されないようにすることができる。また、第1データD1が正常に書き込まれずNGフラグNGFがセットされた(NGフラグNGFがONされた)場合に、次の第2コマンドC1aがコマンド生成器30へ転送されるようにすることができる。
【0039】
(救済動作)
図3に示す救済動作は、通常動作と同じクロックタイミングで実行される。
【0040】
コマンドデコード回路12には、第3コマンドC3が入力される。救済プログラムコマンドも通常動作と同じようにNGフラグNGFの制御にて伝達される。
【0041】
ヘッダープログラムコマンドデコード回路18は、ヘッダープログラム第3コマンドC32をデコードして、ヘッダープログラムイネーブル信号を生成する。そして、ヘッダープログラムコマンドデコード回路18は、ヘッダープログラムイネーブル信号C32aをORゲート19に供給する。
【0042】
一方、ORゲート19には、ヘッダープログラムイネーブル信号C32aが入力される。これにより、NGフラグNGFのON,OFFに関わらず、ヘッダープログラムイネーブル信号C32aが入力されたことにより、ORゲート19が“1”を出力する。この結果、ヘッダプログラムコマンドは、ANDゲート22へ入力されて、ANDゲート17からANDゲート22へ“1”が入力されるときにANDゲート22から出力されることになる。
【0043】
これらにより、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定して(NGフラグNGFがONされて)、第1データD1が救済される場合に、第4コマンドC3a及びヘッダプログラムコマンドがコマンド生成器30へ転送されるようにすることができる。また、第1データD1の救済が完了してNGフラグNGFがクリアされた(NGフラグNGFがOFFされた)場合に、第4コマンドC3aがコマンド生成器30へ転送されないようにすることができる。
【0044】
<半導体メモリの詳細構成>
半導体メモリ40は、図5に示すように、主として、通常データ格納領域41,救済データ格納領域43及び管理情報格納領域42を備える。
【0045】
通常データ格納領域41は、通常の書き込みが行われる領域であり、第1アドレスを含む。通常データ格納領域41は、512byteが1ページとされており、64Kページが備えられている。
【0046】
救済データ格納領域43は、通常データ格納領域41へ正常に書き込みが行われないときに救済のための書き込みが行われる領域であり、第2アドレスを含む。救済データ格納領域43は、通常データ格納領域41と同様に512byteが1ページとされており、1Kページが備えられている。
【0047】
管理情報格納領域42は、管理情報が書き込まれる領域である。管理情報は、救済データ格納領域43へ救済のための書き込みが行われたことを管理するための情報である。管理情報格納領域42は、各ページに対して4バイトが割り当てられており、64Kページ分の管理情報が備えられている。
【0048】
具体的には、管理情報は、図6に示すように、主として、救済実施フラグ42a,救済用データ格納アドレス42b及びECC用パリティ42cを有している。救済実施フラグ42aは、救済の有無を示す情報であり、例えば、救済があった場合に“1”となり、救済がない場合に“0”となる。救済用データ格納アドレス42bは、第1データD1が格納される場所のアドレスの情報であり、例えば、救済があった場合に第2アドレスとなり、救済がない場合に第1アドレスとなる。ECC用パリティ42cは、第2アドレスに欠陥があるか否かを示す情報である。
【0049】
<半導体メモリの詳細動作>
(通常動作)
通常データ格納領域41には、第2コマンドC1a及び第1アドレス情報A1に基づいて、第1アドレスに第1データD1が記憶される。そして、管理情報格納領域42には、第1アドレスに対応する管理情報において、救済実施フラグ42aが“0”とされ、救済用データ格納アドレス42bが初期値“FFFh”のままとされる。
【0050】
管理情報格納領域42では、第5コマンドC5に基づいて、管理情報の救済用データ格納アドレス42bが参照されず、読み出されるべきアドレスとして第1アドレスが特定される。
【0051】
通常データ格納領域41では、第5コマンドC5に基づいて、第1アドレスから第2データD2が読み出される。読み出された第2データD2は、書き込み判定回路60へ供給される。
【0052】
(救済動作)
救済データ格納領域43には、第2コマンドC1a及び第2アドレス情報A2に基づいて、第2アドレスに第1データD1が記憶される。そして、管理情報格納領域42には、第1アドレスに対応する管理情報において、救済実施フラグ42aが“1”とされ、救済用データ格納アドレス42bが第2アドレスとされる。
【0053】
管理情報格納領域42では、第5コマンドC5に基づいて、管理情報の救済用データ格納アドレス42bが参照され、読み出されるべきアドレスとして第2アドレスが特定される。
【0054】
救済データ格納領域43では、第5コマンドC5に基づいて、第2アドレスから第3データD3が読み出される。読み出された第3データD3は、書き込み判定回路60へ供給される。
【0055】
<半導体記憶装置が出荷される前に検査される際の処理の流れ>
半導体記憶装置が出荷される前に検査される際の処理の流れを、図7及び図8に示すフローチャートを用いて説明する。
【0056】
図7に示すステップS1(図7で示す(1))では、第1コマンド及び第1データが半導体記憶装置に入力される。すなわち、半導体記憶装置1の入力コマンドデコーダ10には、外部入力端子を介して、第1コマンドC1,第1データD1,チップイネーブル信号CE1及び第1アドレス情報A1が入力される。ここで、第1コマンドC1は、第1データD1を書き込ませるコマンドである。第1アドレス情報A1は、第1アドレスの情報である。第1アドレスは、第1データD1が書き込まれるアドレスである。入力コマンドデコーダ10は、第1コマンドC1をデコードして、第2コマンドC1aを生成する。第2コマンドC1aは、第1コマンドC1がデコードされたコマンドである。
【0057】
コマンド生成器30は、第2コマンドC1a及び第1データD1と、第1アドレス情報A1とを入力コマンドデコーダ10から受け取る。コマンド生成器30は、入力コマンドデコーダ10から受け取った第2コマンドC1aに基づいて、第2コマンドC1aと第1データD1と第1アドレス情報A1とを転送する。また、コマンド生成器30は、次の第1コマンドC1が供給されるまで、第2コマンドC1aと第1データD1とを保持する。
【0058】
なお、初期状態において、NGフラグは、OFFされており“0”となっている。また、初期状態において、FPフラグも、OFFされており“0”となっている。ここで、FPフラグは、半導体装置が不良品であるか否かを示すフラグであり、ONされた場合に不良品であるとして廃棄されることになり、OFFされている場合に良品であるとして出荷されることになる。
【0059】
ステップS2では、第1データが半導体メモリに書き込まれる。すなわち、半導体メモリ40には、第1コマンドC1に基づいて、通常データ格納領域へ第1データD1が書き込まれる。また、半導体メモリ40では、第5コマンドC5に基づいて、第2データD2が読み出される。ここで、第2データD2は、半導体メモリ40において第1アドレスから読み出されたデータである。
【0060】
ステップS3では、半導体メモリに正常に書き込みが行われたか否かが判定される。すなわち、データラッチ70は、第1データD1を入力コマンドデコーダ10から受け取る。そして、データラッチ70は、第1データD1を一時的に記憶しておき、所定のタイミングで第1データD1を書き込み判定回路60へ供給する。
【0061】
書き込み判定回路60は、第1データD1をデータラッチ70から受け取る。また、書き込み判定回路60は、第5コマンドC5を半導体メモリ40へ供給し、第2データD2を半導体メモリ40から受け取る。そして、書き込み判定回路60は、第1データD1と第2データD2とに基づいて、半導体メモリ40(通常データ格納領域41)に正常に書き込みが行われたか否かを判定する。具体的には、書き込み判定回路60は、第1データD1と第2データD2とを比較して、同じである場合に正常に書き込みが行われたと判定し、異なる場合に正常に書き込みが行われていないと判定する。正常に書き込みが行われたと判定された場合、ステップS5へ進められ、正常に書き込みが行われていないと判定された場合、ステップS4へ進められる。
【0062】
ステップS4では、NGフラグがONされる。すなわち、書き込み判定回路60は、NGフラグをONして“1”にする。
【0063】
ステップS5では、ステップS2の処理が1ページ分行われたか否かが判断される。1ページ分行われたと判断された場合、ステップS6へ進められ、1ページ分行われていないと判断された場合、ステップS2へ進められる。
【0064】
ステップS6では、NGフラグが出力される。すなわち、書き込み判定回路60が判定した結果は、NGフラグとして、入力コマンドデコーダ10及び外部出力端子へ供給される。
【0065】
ステップS7では、第3コマンドが入力される。すなわち、入力コマンドデコーダ10には、第3コマンドC3がさらに入力される。第3コマンドC3は、第1データD1を救済させるコマンドである。入力コマンドデコーダ10は、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第4コマンドC3a及びヘッダプログラムコマンドと第1アドレス情報A1とをコマンド生成器30に供給する。第4コマンドC3aは、第3コマンドC3がデコードされたコマンドである。
【0066】
ステップS17では、NGフラグがONされているか否かが判断される。NGフラグNGFがONされていると判断される場合、ステップS8(図7で示す(2))へ進められ、NGフラグNGFがONされていないと判断される場合、ステップS16(図7で示す(3))へ進められる。
【0067】
図8に示すステップS8(図8で示す(2))では、救済が可能であるか否かが判断される。すなわち、コマンド生成器30は、保持している第2アドレス情報A2に基づいて、第2アドレスが救済データ格納領域43のアドレスの上限(例えば、1023)を超えているか否かを判断する。上限を超えていないと判断される場合、救済が可能であると判断されてステップS9へ進められ、上限を超えていると判断される場合、救済が可能でないと判断されてステップS14へ進められる。
【0068】
ステップS9では、第2アドレスがカウントアップされる。すなわち、コマンド生成器30は、入力コマンドデコーダ10から受け取った第4コマンドC3aと、保持している第2アドレス情報A2とに基づいて、第2アドレスをカウントアップする。そして、コマンド生成器30は、第2アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ40に供給する。第2アドレス情報A2は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。また、コマンド生成器30は、次の第4コマンドC3aが供給されるまで、第2アドレス情報A2を保持する。
【0069】
ステップS10では、第1データが通常データ格納領域から救済データ格納領域へ置き換えられる。すなわち、半導体メモリ40には、第1コマンドC1及び第2アドレス情報A2に基づいて、救済データ格納領域へ第1データD1が書き込まれる。また、半導体メモリ40では、第5コマンドC5に基づいて、第3データD3が読み出される。ここで、第3データD3は、半導体メモリ40において第2アドレスから読み出されたデータである。
【0070】
ステップS15では、第1データが1ページ分置き換えられたか否かが判断される。すなわち、1ページ分置き換えられたと判断された場合、ステップS11へ進められ、1ページ分置き換えられていないと判断された場合、ステップS10へ進められる。
【0071】
ステップS11では、半導体メモリに正常に書き込みが行われたか否かが判定される。すなわち、データラッチ70は、第1データD1を入力コマンドデコーダ10から受け取る。そして、データラッチ70は、第1データD1を一時的に記憶しておき、所定のタイミングで第1データD1を書き込み判定回路60へ供給する。
【0072】
書き込み判定回路60は、第1データD1をデータラッチ70から受け取る。また、書き込み判定回路60は、第5コマンドC5を半導体メモリ40へ供給し、第3データD3を半導体メモリ40から受け取る。そして、書き込み判定回路60は、第1データD1と第3データD3とに基づいて、半導体メモリ40(救済データ格納領域43)に正常に書き込みが行われたか否かを判定する。具体的には、書き込み判定回路60は、第1データD1と第3データD3とを比較して、同じである場合に正常に書き込みが行われたと判定し、異なる場合に正常に書き込みが行われていないと判定する。正常に書き込みが行われたと判定された場合、ステップS12へ進められ、正常に書き込みが行われていないと判定された場合、ステップS14へ進められる。
【0073】
ステップS16(図8で示す(3))では、ヘッダープログラムコマンドによる管理情報格納領域への書き込みが行われる。
【0074】
ステップS12では、NGフラグがクリアされる。すなわち、書き込み判定回路60は、NGフラグをOFFして“0”にする。
【0075】
ステップS13では、全てのページ(例えば、64Kページ)に対して書込みが行われたか否かが判断される。全てのページに対して書込みが行われていないと判断された場合、ステップS1(図7で示す(1))へ進められ、全てのページに対して書込みが行われたと判断された場合、処理が終了される。
【0076】
ステップS14では、FPフラグがONされる。すなわち、書き込み判定回路60は、FPフラグがONされて“1”である旨の情報をコマンド生成器30から受け取る。あるいは、書き込み判定回路60は、半導体メモリ40(救済データ格納領域43)に正常に書き込みが行われていないと判定した場合に、FPフラグをONして“1”にする。書き込み判定回路60は、FPフラグを外部出力端子に出力する。
【0077】
<半導体記憶装置に関する特徴>
(1)
ここでは、入力コマンドデコータ10は、半導体メモリ40に正常に書き込みが行われていないと書き込み判断回路60が判断した場合、第4コマンドC3aと第1アドレス情報A1とをコマンド生成器30に供給する。また、コマンド生成器30は、第4コマンドC3aに基づいて、第2アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ40に供給する。これらにより、外部から救済すべきアドレスの情報を与えなくても、半導体メモリ40において正常に書き込みが行われなかったアドレスに対して、第1データD1を救済することができるようになっている。
【0078】
このように、第3コマンドC3が入力された場合に正常に書き込みが行われれば第3コマンドC3を無視することができているので、複数ある場合でも、同時に救済しながらテストすることができるようになっている。したがって、テスト効率の低減は抑制され、製品の歩留まりは向上する。
【0079】
(2)
ここでは、入力コマンドデコータ10は、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定した場合、コマンド生成器30への第4コマンドC3aの供給を遮断する。これにより、半導体メモリ40において正常に書き込みが行われたアドレスに対して、第1データD1を無駄に救済しないようになっている。
【0080】
(3)
ここでは、入力コマンドデコータ10の転送判定部27は、書き込み判定回路60が判定した結果と、第4コマンドC3aとに基づいて、第4コマンドC3aを転送すべきか否かを判定する。これにより、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第4コマンドC3aがコマンド生成器30に供給され、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定した場合、コマンド生成器30への第4コマンドC3aの供給は遮断される。
【0081】
(4)
ここでは、入力コマンドデコータ10の転送判定部27は、書き込み判定回路60が判定した結果と、第2コマンドC1aとに基づいて、第1データD1及び第2コマンドC1aを転送すべきか否かをさらに判定する。これにより、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定した場合、コマンド生成器30への第1データD1及び第2コマンドC1aの供給は遮断され、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第1データD1及び第2コマンドC1aはコマンド生成器30に供給される。
【0082】
(5)
ここでは、半導体メモリ40の救済データ格納領域43には、通常データ格納領域41に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第2コマンドC1a及び第2アドレス情報A2に基づいて、第1データD1が書き込まれる。また、管理情報格納領域42には、通常データ格納領域41に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、使用される領域として第2アドレスが記憶される。これらにより、第1データD1は救済される。
【0083】
<第2実施形態>
本発明の第2実施形態に係る半導体記憶装置の構成図を図9に示す。
【0084】
半導体記憶装置100は、基本的な構成は第1実施形態と同様であるが、入力コマンドデコータ10の代わりに入力コマンドデコータ110を備え、コマンド生成器30の代わりにコマンド生成器130を備え、半導体メモリ40の代わりに半導体メモリ140を備え、書込み判定回路60の代わりに書込み判定回路160を備える点で第1実施形態と異なる。
【0085】
すなわち、書込み判定回路160は、半導体メモリ140に正常に書き込みが行われていないと判定した場合に、FPフラグをOFFせずに、NGフラグが依然としてOFFしている旨の情報を入力コマンドデコータ110へ供給する。
【0086】
入力コマンドデコーダ110は、半導体メモリ140に正常に書き込みが行われていないと書き込み判定回路160が判定した場合、第4コマンドC3aをコマンド生成器130に供給する。
【0087】
このとき、コマンド生成器130は、入力コマンドデコーダ110から受け取った第4コマンドC3aに基づいて、第3アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ140に供給する。第3アドレス情報A3は、第3アドレスの情報である。第3アドレスは、救済データ格納領域におけるアドレスであり、第1アドレス及び第2アドレスと異なるアドレスである。また、コマンド生成器130は、第3アドレス情報A3を保持する。
【0088】
半導体メモリ140には、第1コマンドC1及び第3アドレス情報A3に基づいて、第1データD1が書き込まれる。また、半導体メモリ140では、第5コマンドC5に基づいて、第4データD4が読み出される。ここで、第4データD4は、半導体メモリ140において第3アドレスから読み出されたデータである。
【0089】
<半導体記憶装置が出荷される前に検査される際の処理の流れ>
半導体記憶装置が出荷される前に検査される際の処理の流れを、図10及び図11に示す。半導体記憶装置が出荷される前に検査される際の処理の流れは、基本的に第1実施形態と同様であるが、次の点で第1実施形態と異なる。
【0090】
図11に示すステップS108(図11で示す(2))では、救済が可能であるか否かが判断される。すなわち、コマンド生成器130は、保持している第2アドレス情報A2に基づいて、第2アドレスが救済データ格納領域のアドレスの上限(例えば、1023)を超えているか否かを判断する。あるいは、保持している第3アドレス情報A3に基づいて、第3アドレスが救済データ格納領域のアドレスの上限(例えば、1023)を超えているか否かを判断する。上限を超えていないと判断される場合、救済が可能であると判断されてステップS109へ進められ、上限を超えていると判断される場合、救済が可能でないと判断されてステップS14へ進められる。
【0091】
ステップS109では、第2アドレス(第3アドレス)がカウントアップされる。すなわち、コマンド生成器130は、入力コマンドデコーダ110から受け取った第4コマンドC3aと、保持している第2アドレス情報A2(第3アドレス情報A3)とに基づいて、第2アドレス(第3アドレス)をカウントアップする。そして、コマンド生成器130は、第2アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ140に供給する。第2アドレス情報A2は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。また、コマンド生成器130は、次の第4コマンドC3aが供給されるまで、第2アドレス情報A2を保持する。
【0092】
ステップS110では、第1データが通常データ格納領域から救済データ格納領域へ置き換えられる。すなわち、半導体メモリ140には、第1コマンドC1及び第2アドレス情報A2に基づいて、救済データ格納領域へ第1データD1が書き込まれる。また、半導体メモリ140では、第5コマンドC5に基づいて、第3データD3(第4データD4)が読み出される。ここで、第3データD3(第4データD4)は、半導体メモリ140において第2アドレス(第3アドレス)から読み出されたデータである。
【0093】
ステップS111では、半導体メモリに正常に書き込みが行われたか否かが判定される。すなわち、データラッチ70は、第1データD1を入力コマンドデコーダ10から受け取る。そして、データラッチ70は、第1データD1を一時的に記憶しておき、所定のタイミングで第1データD1を書き込み判定回路160へ供給する。
【0094】
書き込み判定回路160は、第1データD1をデータラッチ70から受け取る。また、書き込み判定回路160は、第5コマンドC5を半導体メモリ140へ供給し、第3データD3を半導体メモリ140から受け取る。そして、書き込み判定回路160は、第1データD1と第3データD3とに基づいて、半導体メモリ140(救済データ格納領域)に正常に書き込みが行われたか否かを判定する。具体的には、書き込み判定回路160は、第1データD1と第3データD3(第4データD4)とを比較して、同じである場合に正常に書き込みが行われたと判定し、異なる場合に正常に書き込みが行われていないと判定する。正常に書き込みが行われたと判定された場合、ステップS12へ進められ、正常に書き込みが行われていないと判定された場合、ステップS108へ進められる。
【0095】
<半導体記憶装置に関する特徴>
第3コマンドC3が入力された場合に正常に書き込みが行われれば第3コマンドC3を無視することができているので、複数ある場合でも、同時に救済しながらテストすることができるようになっている点は、第1実施形態と同様である。したがって、このような半導体記憶装置100によっても、テスト効率の低減は抑制され、製品の歩留まりは向上する。
【0096】
また、救済データ格納領域には、正常に書き込みが行われていないと書き込み判定回路160が判定した場合、第4コマンドC1a及び第3アドレス情報A3に基づいて、第1データD1が書き込まれる。また、管理情報格納領域には、救済データ格納領域に正常に書き込みが行われていないと書き込み判定回路160が判定した場合、使用されない領域として第2アドレスが記憶され、使用される領域として第3アドレスが記憶される。これらにより、半導体メモリ140において正常に書き込みが行われなかったアドレスに対して、第1データD1はさらに救済される。
【産業上の利用可能性】
【0097】
本発明に係る半導体記憶装置は、テスト効率の低減を抑制でき、製品の歩留まりを向上することができるという効果を有し、半導体記憶装置等として有用である。
【図面の簡単な説明】
【0098】
【図1】本発明の第1実施形態に係る半導体記憶装置の構成図。
【図2】本発明の第1実施形態における入力コマンドデコーダの構成図。
【図3】本発明の第1実施形態における入力コマンドデコーダの構成図。
【図4】本発明の第1実施形態における判定回路の構成図。
【図5】本発明の第1実施形態における半導体メモリの構成図。
【図6】管理情報の構成を示す図。
【図7】半導体記憶装置が出荷される前に検査される際の処理の流れを示すフローチャート。
【図8】半導体記憶装置が出荷される前に検査される際の処理の流れを示すフローチャート。
【図9】本発明の第2実施形態に係る半導体記憶装置の構成図。
【図10】半導体記憶装置が出荷される前に検査される際の処理の流れを示すフローチャート。
【図11】半導体記憶装置が出荷される前に検査される際の処理の流れを示すフローチャート。
【符号の説明】
【0099】
1,100 半導体記憶装置
10,110 入力コマンドデコーダ
30,130 コマンド生成器
40,140 半導体メモリ
60,160 書込み判定回路
70 データラッチ
【技術分野】
【0001】
本発明は、半導体記憶装置に関する。
【背景技術】
【0002】
従来から、欠陥ブロックに書き込まれたデータが救済されることが可能な半導体記憶装置が提案されている(例えば、特許文献1〜4参照)。
【特許文献1】特開2005−4504(第1−9頁、第1−5図)
【特許文献2】特開平5−204561(第1−8頁、第1−9図)
【特許文献3】特開平6−274409(第1−10頁、第1−21図)
【特許文献4】特開平8−115175(第1−13頁、第1−19図)
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1〜4の技術では、ホストプログラムからの制御により、半導体記憶装置における欠陥ブロックが救済されている。しかし、欠陥ブロックが半導体記憶装置によって異なる傾向があるので、複数の半導体記憶装置が同時に救済されながらテストされにくい。これにより、半導体記憶装置が1つずつテストされることがあるので、テスト効率が低減する傾向にある。
【0004】
また、欠陥ブロックが救済されずに複数の半導体記憶装置が同時にテストされると、テスト効率は向上するが、製品の歩留まりは低下する傾向にある。
【0005】
本発明の課題は、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる半導体記憶装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明に係る半導体記憶装置は、デコード回路と、コマンド生成器と、記憶回路と、書き込み判定回路とを備える。デコード回路には、第1データと第1コマンドと第1アドレス情報とが入力される。第1コマンドは、第1データを書き込ませるコマンドである。第1アドレス情報は、第1アドレスの情報である。第1アドレスは、第1データが書き込まれるアドレスである。デコード回路は、第2コマンドを生成する。第2コマンドは、第1コマンドがデコードされたコマンドである。コマンド生成器は、デコード回路から受け取った第2コマンドに基づいて、第2コマンドと第1データと第1アドレス情報とを転送する。記憶回路は、コマンド生成器から受け取った第2コマンド及び第1アドレス情報に基づいて、第1データが書き込まれる。書き込み判定回路は、第1データと第2データとに基づいて、記憶回路に正常に書き込みが行われたか否かを判定する。第2データは、記憶回路において第1アドレスから読み出されたデータである。デコード回路には、第3コマンドがさらに入力される。第3コマンドは、第1データを救済させるコマンドである。デコード回路は、記憶回路に正常に書き込みが行われていないと書き込み判定回路が判定した場合、第4コマンドと第1アドレス情報とをコマンド生成器に供給する。第4コマンドは、第3コマンドがデコードされたコマンドである。コマンド生成器は、デコード回路から受け取った第4コマンドに基づいて、第2アドレス情報と第2コマンドと第1データとを記憶回路に供給する。第2アドレス情報は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。
【0007】
この半導体記憶装置では、デコード回路は、記憶回路に正常に書き込みが行われていないと書き込み判断回路が判断した場合、第4コマンドと第1アドレス情報とをコマンド生成器に供給する。また、コマンド生成器は、第4コマンドに基づいて、第2アドレス情報と第2コマンドと第1データとを記憶回路に供給する。これらにより、外部から救済すべきアドレスの情報を与えなくても、記憶回路において正常に書き込みが行われなかったアドレスに対して、第1データを救済することができる。
【0008】
このように、第3コマンドが入力された場合に正常に書き込みが行われれば第3コマンドを無視することができるので、複数ある場合でも、同時に救済しながらテストすることができる。したがって、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる。
【0009】
本発明に係る半導体記憶装置の制御方法は、記憶回路を有する半導体記憶装置の制御方法であって、第1入力ステップと、デコードステップと、転送ステップと、第1書き込みステップと、判定ステップと、第2入力ステップと、供給ステップと、第2書き込みステップとを備える。第1入力ステップでは、第1データと、第1コマンドと、第1アドレス情報とが入力される。第1コマンドは、第1データを書き込ませるコマンドである。第1アドレス情報は、第1アドレスの情報である。第1アドレスは、第1データが書き込まれるアドレスである。デコードステップでは、第2コマンドが生成される。第2コマンドは、第1コマンドがデコードされたコマンドである。転送ステップでは、第2コマンドに基づいて、第2コマンドと第1データと第1アドレス情報とが転送される。第1書き込みステップでは、第2コマンド及び第1アドレス情報に基づいて、第1データが記憶回路に書き込まれる。判定ステップでは、第1データと第2データとに基づいて、記憶回路に正常に書き込みが行われたか否かが判定される。第2データは、記憶回路において第1アドレスから読み出されたデータである。第2入力ステップでは、第3コマンドが入力される。第3コマンドは、第1データを救済させるコマンドである。供給ステップでは、記憶回路に正常に書き込みが行われていないと判定ステップで判定された場合、第4コマンドと第1アドレス情報とが供給される。第4コマンドは、第3コマンドがデコードされたコマンドである。第2書き込みステップでは、第4コマンドに基づいて、第2アドレス情報と第2コマンドと第1データとが記憶回路に書き込まれる。第2アドレス情報は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。
【0010】
この半導体記憶装置の制御方法では、供給ステップにおいて、記憶回路に正常に書き込みが行われていないと判定ステップで判定された場合、第4コマンドと第1アドレス情報とが供給される。また、第2書き込みステップにおいて、第4コマンドに基づいて、第2アドレス情報と第2コマンドと第1データとが記憶回路に書き込まれる。これらにより、外部から救済すべきアドレスの情報を与えなくても、記憶回路において正常に書き込みが行われなかったアドレスに対して、第1データを救済することができる。
【0011】
このように、第3コマンドが入力された場合に正常に書き込みが行われれば第3コマンドを無視することができるので、複数ある場合でも、同時に救済しながらテストすることができる。したがって、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる。
【発明の効果】
【0012】
本発明に係る半導体記憶装置では、自律的に第1データを救済することができるため、複数ある場合でも、同時に救済しながらテストすることができる。したがって、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる。
【0013】
本発明に係る半導体記憶装置の制御方法では、第3コマンドが入力された場合に正常に書き込みが行われれば第3コマンドを無視することができるので、複数ある場合でも、同時に救済しながらテストすることができる。したがって、テスト効率の低減を抑制でき、製品の歩留まりを向上することができる。
【発明を実施するための最良の形態】
【0014】
<第1実施形態>
本発明の第1実施形態に係る半導体記憶装置の構成図を図1に示す。
【0015】
<半導体記憶装置の概略構成>
半導体記憶装置1は、主として、入力コマンドデコーダ10,コマンド生成器30,半導体メモリ40,書き込み判定回路60及びデータラッチ70を備える。
【0016】
入力コマンドデコーダ10は、外部入力端子(図示せず)に接続されており、コマンド生成器30,データラッチ70及び書き込み判定回路60にも接続されている。また、コマンド生成器30は、入力コマンドデコーダ10と半導体メモリ40とに接続されている。さらに、書き込み判定回路60は、外部出力端子(図示せず)に接続されており、入力コマンドデコーダ10,半導体メモリ40及びデータラッチ70にも接続されている。
【0017】
<半導体記憶装置の概略動作>
(通常動作)
半導体記憶装置1は、出荷される前に、アッセンブリされた状態でテスター(図示せず)に接続され、電気的特性などが検査される。この場合、半導体記憶装置1の入力コマンドデコーダ10には、外部入力端子を介して、第1コマンドC1,第1データD1,チップイネーブル信号CE1及び第1アドレス情報A1が入力される。ここで、第1コマンドC1は、第1データD1を書き込ませるコマンドである。第1アドレス情報A1は、第1アドレスの情報である。第1アドレスは、第1データD1が書き込まれるアドレスである。入力コマンドデコーダ10は、第1コマンドC1をデコードして、第2コマンドC1aを生成する。第2コマンドC1aは、第1コマンドC1がデコードされたコマンドである。
【0018】
コマンド生成器30は、第2コマンドC1a及び第1データD1と、第1アドレス情報A1とを入力コマンドデコーダ10から受け取る。コマンド生成器30は、入力コマンドデコーダ10から受け取った第2コマンドC1aに基づいて、第2コマンドC1aと第1データD1と第1アドレス情報A1とを転送する。また、コマンド生成器30は、次の第2コマンドC1aが供給されるまで、第2コマンドC1aと第1データD1と第1アドレス情報A1とを保持する。
【0019】
半導体メモリ40には、第1コマンドC1に基づいて、第1データD1が書き込まれる。また、半導体メモリ40では、第5コマンドC5に基づいて、第2データD2が読み出される。ここで、第2データD2は、半導体メモリ40において第1アドレスから読み出されたデータである。
【0020】
データラッチ70は、第1データD1を入力コマンドデコーダ10から受け取る。そして、データラッチ70は、第1データD1を一時的に記憶しておき、所定のタイミングで第1データD1を書き込み判定回路60へ供給する。
【0021】
書き込み判定回路60は、第1データD1をデータラッチ70から受け取る。また、書き込み判定回路60は、第5コマンドC5を半導体メモリ40へ供給し、第2データD2を半導体メモリ40から受け取る。そして、書き込み判定回路60は、第1データD1と第2データD2とに基づいて、半導体メモリ40に正常に書き込みが行われたか否かを判定する。書き込み判定回路60が判定した結果は、NGフラグとして、入力コマンドデコーダ10及び外部出力端子へ供給される。例えば、NGフラグは、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定した場合にOFFされており“0”となっているが、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合にONされて“1”となる。また、書き込み判定回路60は、第1データD1と第1アドレス情報A1とを外部出力端子へ供給してもよい。
【0022】
(救済動作)
また、入力コマンドデコーダ10には、第3コマンドC3がさらに入力される。第3コマンドC3は、第1データD1を救済させるコマンドである。入力コマンドデコーダ10は、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第4コマンドC3aをコマンド生成器30に供給する。第4コマンドC3aは、第3コマンドC3がデコードされたコマンドである。
【0023】
このとき、コマンド生成器30は、入力コマンドデコーダ10から受け取った第4コマンドC3aに基づいて、第2アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ40に供給する。第2アドレス情報A2は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。また、コマンド生成器30は、次の第4コマンドC3aが供給されるまで、第2アドレス情報A2を保持する。
【0024】
半導体メモリ40には、第1コマンドC1及び第2アドレス情報A2に基づいて、第1データD1が書き込まれる。また、半導体メモリ40では、第5コマンドC5に基づいて、第3データD3が読み出される。ここで、第3データD3は、半導体メモリ40において第2アドレスから読み出されたデータである。
【0025】
書き込み判定回路60は、第5コマンドC5を半導体メモリ40へ供給し、第3データD3を半導体メモリ40から受け取る。そして、書き込み判定回路60は、第1データD1と第3データD3とに基づいて、半導体メモリ40に正常に書き込みが行われたか否かを判定する。
【0026】
他の点は、上記の通常動作と同様である。
【0027】
<入力コマンドデコーダの詳細構成>
入力コマンドデコーダ10は、図2に示すように、主として、判定回路11を備える。判定回路11は、図4に示すように、主として、デコード部26及び転送判定部27を備える。
【0028】
デコード部26は、入力されたコマンドをデコードする。このデコード部26は、主として、コマンドデコード回路12,ヘッダープログラムコマンドデコード回路18及びインバータ16を有する。
【0029】
コマンドデコード回路12は、外部入力端子(図示せず)に接続され、転送判定部27及びヘッダープログラムコマンドデコード回路18にも接続されている。救済プログラムコマンドデコード回路13及びヘッダープログラムコマンドデコード回路18は、さらに転送判定部27に接続されている。これにより、コマンドデコード回路12、救済プログラムコマンドデコード回路13及びヘッダープログラムコマンドデコード回路18のいずれかでデコードされたコマンドが転送判定部27に供給されるようになっている。
【0030】
また、インバータ16は、転送判定部27に接続されている。これにより、デコード部26に入力されたチップイネーブル信号CE1は、論理が反転されて転送判定部27に供給されるようになっている。
【0031】
転送判定部27は、デコード部26がデコードしたコマンドを転送すべきか否かを判定し、判定した結果に基づいてそのコマンドを転送する。この転送判定部27は、主として、ANDゲート17,ANDゲート21及びORゲート19を有する。
【0032】
ANDゲート17には、コマンドデコード回路12及びインバータ16が入力側に接続され、ANDゲート21が出力側に接続される。
【0033】
ORゲート19には、ヘッダープログラムコマンドデコード回路18及びNGフラグNGF入力端子が入力側に接続され、ANDゲート21が出力側に接続される。
【0034】
ANDゲート21には、ORゲート15及びORゲート19が入力側に接続され、コマンド生成器30が出力側に接続される。
【0035】
<入力コマンドデコーダの詳細動作>
(通常動作)
図2に示す通常動作は、所定のクロックタイミングで実行される。
【0036】
コマンドデコード回路12には、第1コマンドC1と第1データD1とが入力される。コマンドデコード回路12は、第1コマンドC1をデコードして、第2コマンドC1aを生成する。そして、コマンドデコード回路12は、第2コマンドC1aと第1データD1とをANDゲート17へ供給する。また、ANDゲート17には、“L”アクティブなチップイネーブル信号CE1が、その論理が反転されて入力される。これにより、ANDゲート17は、チップイネーブル信号CE1がアクティブになったときに、第2コマンドC1aをANDゲート21へ転送する。このとき、ヘッダープログラムコマンドデコード回路18は、使われず、その出力は“0”となる。
【0037】
一方、ORゲート19には、NGフラグNGFが、入力される。ここで、NGフラグNGFは、ONされた場合に“1”であり、OFFされた場合に“0”である。
【0038】
ANDゲート21は、ANDゲート17の出力とORゲート19の出力とが入力される。すなわち、ANDゲート21は、NGフラグNGFがOFFされた場合に、第2コマンドC1a及び第1データD1のコマンド生成器30への転送を遮断する。また、ANDゲート21は、NGフラグNGFがONされた場合に、第2コマンドC1a及び第1データD1をコマンド生成器30へ転送する。これらにより、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定して(NGフラグNGFがOFFされて)、第1データD1が救済されている場合に、次の第2コマンドC1aがコマンド生成器30へ転送されないようにすることができる。また、第1データD1が正常に書き込まれずNGフラグNGFがセットされた(NGフラグNGFがONされた)場合に、次の第2コマンドC1aがコマンド生成器30へ転送されるようにすることができる。
【0039】
(救済動作)
図3に示す救済動作は、通常動作と同じクロックタイミングで実行される。
【0040】
コマンドデコード回路12には、第3コマンドC3が入力される。救済プログラムコマンドも通常動作と同じようにNGフラグNGFの制御にて伝達される。
【0041】
ヘッダープログラムコマンドデコード回路18は、ヘッダープログラム第3コマンドC32をデコードして、ヘッダープログラムイネーブル信号を生成する。そして、ヘッダープログラムコマンドデコード回路18は、ヘッダープログラムイネーブル信号C32aをORゲート19に供給する。
【0042】
一方、ORゲート19には、ヘッダープログラムイネーブル信号C32aが入力される。これにより、NGフラグNGFのON,OFFに関わらず、ヘッダープログラムイネーブル信号C32aが入力されたことにより、ORゲート19が“1”を出力する。この結果、ヘッダプログラムコマンドは、ANDゲート22へ入力されて、ANDゲート17からANDゲート22へ“1”が入力されるときにANDゲート22から出力されることになる。
【0043】
これらにより、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定して(NGフラグNGFがONされて)、第1データD1が救済される場合に、第4コマンドC3a及びヘッダプログラムコマンドがコマンド生成器30へ転送されるようにすることができる。また、第1データD1の救済が完了してNGフラグNGFがクリアされた(NGフラグNGFがOFFされた)場合に、第4コマンドC3aがコマンド生成器30へ転送されないようにすることができる。
【0044】
<半導体メモリの詳細構成>
半導体メモリ40は、図5に示すように、主として、通常データ格納領域41,救済データ格納領域43及び管理情報格納領域42を備える。
【0045】
通常データ格納領域41は、通常の書き込みが行われる領域であり、第1アドレスを含む。通常データ格納領域41は、512byteが1ページとされており、64Kページが備えられている。
【0046】
救済データ格納領域43は、通常データ格納領域41へ正常に書き込みが行われないときに救済のための書き込みが行われる領域であり、第2アドレスを含む。救済データ格納領域43は、通常データ格納領域41と同様に512byteが1ページとされており、1Kページが備えられている。
【0047】
管理情報格納領域42は、管理情報が書き込まれる領域である。管理情報は、救済データ格納領域43へ救済のための書き込みが行われたことを管理するための情報である。管理情報格納領域42は、各ページに対して4バイトが割り当てられており、64Kページ分の管理情報が備えられている。
【0048】
具体的には、管理情報は、図6に示すように、主として、救済実施フラグ42a,救済用データ格納アドレス42b及びECC用パリティ42cを有している。救済実施フラグ42aは、救済の有無を示す情報であり、例えば、救済があった場合に“1”となり、救済がない場合に“0”となる。救済用データ格納アドレス42bは、第1データD1が格納される場所のアドレスの情報であり、例えば、救済があった場合に第2アドレスとなり、救済がない場合に第1アドレスとなる。ECC用パリティ42cは、第2アドレスに欠陥があるか否かを示す情報である。
【0049】
<半導体メモリの詳細動作>
(通常動作)
通常データ格納領域41には、第2コマンドC1a及び第1アドレス情報A1に基づいて、第1アドレスに第1データD1が記憶される。そして、管理情報格納領域42には、第1アドレスに対応する管理情報において、救済実施フラグ42aが“0”とされ、救済用データ格納アドレス42bが初期値“FFFh”のままとされる。
【0050】
管理情報格納領域42では、第5コマンドC5に基づいて、管理情報の救済用データ格納アドレス42bが参照されず、読み出されるべきアドレスとして第1アドレスが特定される。
【0051】
通常データ格納領域41では、第5コマンドC5に基づいて、第1アドレスから第2データD2が読み出される。読み出された第2データD2は、書き込み判定回路60へ供給される。
【0052】
(救済動作)
救済データ格納領域43には、第2コマンドC1a及び第2アドレス情報A2に基づいて、第2アドレスに第1データD1が記憶される。そして、管理情報格納領域42には、第1アドレスに対応する管理情報において、救済実施フラグ42aが“1”とされ、救済用データ格納アドレス42bが第2アドレスとされる。
【0053】
管理情報格納領域42では、第5コマンドC5に基づいて、管理情報の救済用データ格納アドレス42bが参照され、読み出されるべきアドレスとして第2アドレスが特定される。
【0054】
救済データ格納領域43では、第5コマンドC5に基づいて、第2アドレスから第3データD3が読み出される。読み出された第3データD3は、書き込み判定回路60へ供給される。
【0055】
<半導体記憶装置が出荷される前に検査される際の処理の流れ>
半導体記憶装置が出荷される前に検査される際の処理の流れを、図7及び図8に示すフローチャートを用いて説明する。
【0056】
図7に示すステップS1(図7で示す(1))では、第1コマンド及び第1データが半導体記憶装置に入力される。すなわち、半導体記憶装置1の入力コマンドデコーダ10には、外部入力端子を介して、第1コマンドC1,第1データD1,チップイネーブル信号CE1及び第1アドレス情報A1が入力される。ここで、第1コマンドC1は、第1データD1を書き込ませるコマンドである。第1アドレス情報A1は、第1アドレスの情報である。第1アドレスは、第1データD1が書き込まれるアドレスである。入力コマンドデコーダ10は、第1コマンドC1をデコードして、第2コマンドC1aを生成する。第2コマンドC1aは、第1コマンドC1がデコードされたコマンドである。
【0057】
コマンド生成器30は、第2コマンドC1a及び第1データD1と、第1アドレス情報A1とを入力コマンドデコーダ10から受け取る。コマンド生成器30は、入力コマンドデコーダ10から受け取った第2コマンドC1aに基づいて、第2コマンドC1aと第1データD1と第1アドレス情報A1とを転送する。また、コマンド生成器30は、次の第1コマンドC1が供給されるまで、第2コマンドC1aと第1データD1とを保持する。
【0058】
なお、初期状態において、NGフラグは、OFFされており“0”となっている。また、初期状態において、FPフラグも、OFFされており“0”となっている。ここで、FPフラグは、半導体装置が不良品であるか否かを示すフラグであり、ONされた場合に不良品であるとして廃棄されることになり、OFFされている場合に良品であるとして出荷されることになる。
【0059】
ステップS2では、第1データが半導体メモリに書き込まれる。すなわち、半導体メモリ40には、第1コマンドC1に基づいて、通常データ格納領域へ第1データD1が書き込まれる。また、半導体メモリ40では、第5コマンドC5に基づいて、第2データD2が読み出される。ここで、第2データD2は、半導体メモリ40において第1アドレスから読み出されたデータである。
【0060】
ステップS3では、半導体メモリに正常に書き込みが行われたか否かが判定される。すなわち、データラッチ70は、第1データD1を入力コマンドデコーダ10から受け取る。そして、データラッチ70は、第1データD1を一時的に記憶しておき、所定のタイミングで第1データD1を書き込み判定回路60へ供給する。
【0061】
書き込み判定回路60は、第1データD1をデータラッチ70から受け取る。また、書き込み判定回路60は、第5コマンドC5を半導体メモリ40へ供給し、第2データD2を半導体メモリ40から受け取る。そして、書き込み判定回路60は、第1データD1と第2データD2とに基づいて、半導体メモリ40(通常データ格納領域41)に正常に書き込みが行われたか否かを判定する。具体的には、書き込み判定回路60は、第1データD1と第2データD2とを比較して、同じである場合に正常に書き込みが行われたと判定し、異なる場合に正常に書き込みが行われていないと判定する。正常に書き込みが行われたと判定された場合、ステップS5へ進められ、正常に書き込みが行われていないと判定された場合、ステップS4へ進められる。
【0062】
ステップS4では、NGフラグがONされる。すなわち、書き込み判定回路60は、NGフラグをONして“1”にする。
【0063】
ステップS5では、ステップS2の処理が1ページ分行われたか否かが判断される。1ページ分行われたと判断された場合、ステップS6へ進められ、1ページ分行われていないと判断された場合、ステップS2へ進められる。
【0064】
ステップS6では、NGフラグが出力される。すなわち、書き込み判定回路60が判定した結果は、NGフラグとして、入力コマンドデコーダ10及び外部出力端子へ供給される。
【0065】
ステップS7では、第3コマンドが入力される。すなわち、入力コマンドデコーダ10には、第3コマンドC3がさらに入力される。第3コマンドC3は、第1データD1を救済させるコマンドである。入力コマンドデコーダ10は、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第4コマンドC3a及びヘッダプログラムコマンドと第1アドレス情報A1とをコマンド生成器30に供給する。第4コマンドC3aは、第3コマンドC3がデコードされたコマンドである。
【0066】
ステップS17では、NGフラグがONされているか否かが判断される。NGフラグNGFがONされていると判断される場合、ステップS8(図7で示す(2))へ進められ、NGフラグNGFがONされていないと判断される場合、ステップS16(図7で示す(3))へ進められる。
【0067】
図8に示すステップS8(図8で示す(2))では、救済が可能であるか否かが判断される。すなわち、コマンド生成器30は、保持している第2アドレス情報A2に基づいて、第2アドレスが救済データ格納領域43のアドレスの上限(例えば、1023)を超えているか否かを判断する。上限を超えていないと判断される場合、救済が可能であると判断されてステップS9へ進められ、上限を超えていると判断される場合、救済が可能でないと判断されてステップS14へ進められる。
【0068】
ステップS9では、第2アドレスがカウントアップされる。すなわち、コマンド生成器30は、入力コマンドデコーダ10から受け取った第4コマンドC3aと、保持している第2アドレス情報A2とに基づいて、第2アドレスをカウントアップする。そして、コマンド生成器30は、第2アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ40に供給する。第2アドレス情報A2は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。また、コマンド生成器30は、次の第4コマンドC3aが供給されるまで、第2アドレス情報A2を保持する。
【0069】
ステップS10では、第1データが通常データ格納領域から救済データ格納領域へ置き換えられる。すなわち、半導体メモリ40には、第1コマンドC1及び第2アドレス情報A2に基づいて、救済データ格納領域へ第1データD1が書き込まれる。また、半導体メモリ40では、第5コマンドC5に基づいて、第3データD3が読み出される。ここで、第3データD3は、半導体メモリ40において第2アドレスから読み出されたデータである。
【0070】
ステップS15では、第1データが1ページ分置き換えられたか否かが判断される。すなわち、1ページ分置き換えられたと判断された場合、ステップS11へ進められ、1ページ分置き換えられていないと判断された場合、ステップS10へ進められる。
【0071】
ステップS11では、半導体メモリに正常に書き込みが行われたか否かが判定される。すなわち、データラッチ70は、第1データD1を入力コマンドデコーダ10から受け取る。そして、データラッチ70は、第1データD1を一時的に記憶しておき、所定のタイミングで第1データD1を書き込み判定回路60へ供給する。
【0072】
書き込み判定回路60は、第1データD1をデータラッチ70から受け取る。また、書き込み判定回路60は、第5コマンドC5を半導体メモリ40へ供給し、第3データD3を半導体メモリ40から受け取る。そして、書き込み判定回路60は、第1データD1と第3データD3とに基づいて、半導体メモリ40(救済データ格納領域43)に正常に書き込みが行われたか否かを判定する。具体的には、書き込み判定回路60は、第1データD1と第3データD3とを比較して、同じである場合に正常に書き込みが行われたと判定し、異なる場合に正常に書き込みが行われていないと判定する。正常に書き込みが行われたと判定された場合、ステップS12へ進められ、正常に書き込みが行われていないと判定された場合、ステップS14へ進められる。
【0073】
ステップS16(図8で示す(3))では、ヘッダープログラムコマンドによる管理情報格納領域への書き込みが行われる。
【0074】
ステップS12では、NGフラグがクリアされる。すなわち、書き込み判定回路60は、NGフラグをOFFして“0”にする。
【0075】
ステップS13では、全てのページ(例えば、64Kページ)に対して書込みが行われたか否かが判断される。全てのページに対して書込みが行われていないと判断された場合、ステップS1(図7で示す(1))へ進められ、全てのページに対して書込みが行われたと判断された場合、処理が終了される。
【0076】
ステップS14では、FPフラグがONされる。すなわち、書き込み判定回路60は、FPフラグがONされて“1”である旨の情報をコマンド生成器30から受け取る。あるいは、書き込み判定回路60は、半導体メモリ40(救済データ格納領域43)に正常に書き込みが行われていないと判定した場合に、FPフラグをONして“1”にする。書き込み判定回路60は、FPフラグを外部出力端子に出力する。
【0077】
<半導体記憶装置に関する特徴>
(1)
ここでは、入力コマンドデコータ10は、半導体メモリ40に正常に書き込みが行われていないと書き込み判断回路60が判断した場合、第4コマンドC3aと第1アドレス情報A1とをコマンド生成器30に供給する。また、コマンド生成器30は、第4コマンドC3aに基づいて、第2アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ40に供給する。これらにより、外部から救済すべきアドレスの情報を与えなくても、半導体メモリ40において正常に書き込みが行われなかったアドレスに対して、第1データD1を救済することができるようになっている。
【0078】
このように、第3コマンドC3が入力された場合に正常に書き込みが行われれば第3コマンドC3を無視することができているので、複数ある場合でも、同時に救済しながらテストすることができるようになっている。したがって、テスト効率の低減は抑制され、製品の歩留まりは向上する。
【0079】
(2)
ここでは、入力コマンドデコータ10は、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定した場合、コマンド生成器30への第4コマンドC3aの供給を遮断する。これにより、半導体メモリ40において正常に書き込みが行われたアドレスに対して、第1データD1を無駄に救済しないようになっている。
【0080】
(3)
ここでは、入力コマンドデコータ10の転送判定部27は、書き込み判定回路60が判定した結果と、第4コマンドC3aとに基づいて、第4コマンドC3aを転送すべきか否かを判定する。これにより、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第4コマンドC3aがコマンド生成器30に供給され、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定した場合、コマンド生成器30への第4コマンドC3aの供給は遮断される。
【0081】
(4)
ここでは、入力コマンドデコータ10の転送判定部27は、書き込み判定回路60が判定した結果と、第2コマンドC1aとに基づいて、第1データD1及び第2コマンドC1aを転送すべきか否かをさらに判定する。これにより、半導体メモリ40に正常に書き込みが行われていると書き込み判定回路60が判定した場合、コマンド生成器30への第1データD1及び第2コマンドC1aの供給は遮断され、半導体メモリ40に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第1データD1及び第2コマンドC1aはコマンド生成器30に供給される。
【0082】
(5)
ここでは、半導体メモリ40の救済データ格納領域43には、通常データ格納領域41に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、第2コマンドC1a及び第2アドレス情報A2に基づいて、第1データD1が書き込まれる。また、管理情報格納領域42には、通常データ格納領域41に正常に書き込みが行われていないと書き込み判定回路60が判定した場合、使用される領域として第2アドレスが記憶される。これらにより、第1データD1は救済される。
【0083】
<第2実施形態>
本発明の第2実施形態に係る半導体記憶装置の構成図を図9に示す。
【0084】
半導体記憶装置100は、基本的な構成は第1実施形態と同様であるが、入力コマンドデコータ10の代わりに入力コマンドデコータ110を備え、コマンド生成器30の代わりにコマンド生成器130を備え、半導体メモリ40の代わりに半導体メモリ140を備え、書込み判定回路60の代わりに書込み判定回路160を備える点で第1実施形態と異なる。
【0085】
すなわち、書込み判定回路160は、半導体メモリ140に正常に書き込みが行われていないと判定した場合に、FPフラグをOFFせずに、NGフラグが依然としてOFFしている旨の情報を入力コマンドデコータ110へ供給する。
【0086】
入力コマンドデコーダ110は、半導体メモリ140に正常に書き込みが行われていないと書き込み判定回路160が判定した場合、第4コマンドC3aをコマンド生成器130に供給する。
【0087】
このとき、コマンド生成器130は、入力コマンドデコーダ110から受け取った第4コマンドC3aに基づいて、第3アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ140に供給する。第3アドレス情報A3は、第3アドレスの情報である。第3アドレスは、救済データ格納領域におけるアドレスであり、第1アドレス及び第2アドレスと異なるアドレスである。また、コマンド生成器130は、第3アドレス情報A3を保持する。
【0088】
半導体メモリ140には、第1コマンドC1及び第3アドレス情報A3に基づいて、第1データD1が書き込まれる。また、半導体メモリ140では、第5コマンドC5に基づいて、第4データD4が読み出される。ここで、第4データD4は、半導体メモリ140において第3アドレスから読み出されたデータである。
【0089】
<半導体記憶装置が出荷される前に検査される際の処理の流れ>
半導体記憶装置が出荷される前に検査される際の処理の流れを、図10及び図11に示す。半導体記憶装置が出荷される前に検査される際の処理の流れは、基本的に第1実施形態と同様であるが、次の点で第1実施形態と異なる。
【0090】
図11に示すステップS108(図11で示す(2))では、救済が可能であるか否かが判断される。すなわち、コマンド生成器130は、保持している第2アドレス情報A2に基づいて、第2アドレスが救済データ格納領域のアドレスの上限(例えば、1023)を超えているか否かを判断する。あるいは、保持している第3アドレス情報A3に基づいて、第3アドレスが救済データ格納領域のアドレスの上限(例えば、1023)を超えているか否かを判断する。上限を超えていないと判断される場合、救済が可能であると判断されてステップS109へ進められ、上限を超えていると判断される場合、救済が可能でないと判断されてステップS14へ進められる。
【0091】
ステップS109では、第2アドレス(第3アドレス)がカウントアップされる。すなわち、コマンド生成器130は、入力コマンドデコーダ110から受け取った第4コマンドC3aと、保持している第2アドレス情報A2(第3アドレス情報A3)とに基づいて、第2アドレス(第3アドレス)をカウントアップする。そして、コマンド生成器130は、第2アドレス情報A2と第2コマンドC1aと第1データD1とを半導体メモリ140に供給する。第2アドレス情報A2は、第2アドレスの情報である。第2アドレスは、第1アドレスと異なるアドレスである。また、コマンド生成器130は、次の第4コマンドC3aが供給されるまで、第2アドレス情報A2を保持する。
【0092】
ステップS110では、第1データが通常データ格納領域から救済データ格納領域へ置き換えられる。すなわち、半導体メモリ140には、第1コマンドC1及び第2アドレス情報A2に基づいて、救済データ格納領域へ第1データD1が書き込まれる。また、半導体メモリ140では、第5コマンドC5に基づいて、第3データD3(第4データD4)が読み出される。ここで、第3データD3(第4データD4)は、半導体メモリ140において第2アドレス(第3アドレス)から読み出されたデータである。
【0093】
ステップS111では、半導体メモリに正常に書き込みが行われたか否かが判定される。すなわち、データラッチ70は、第1データD1を入力コマンドデコーダ10から受け取る。そして、データラッチ70は、第1データD1を一時的に記憶しておき、所定のタイミングで第1データD1を書き込み判定回路160へ供給する。
【0094】
書き込み判定回路160は、第1データD1をデータラッチ70から受け取る。また、書き込み判定回路160は、第5コマンドC5を半導体メモリ140へ供給し、第3データD3を半導体メモリ140から受け取る。そして、書き込み判定回路160は、第1データD1と第3データD3とに基づいて、半導体メモリ140(救済データ格納領域)に正常に書き込みが行われたか否かを判定する。具体的には、書き込み判定回路160は、第1データD1と第3データD3(第4データD4)とを比較して、同じである場合に正常に書き込みが行われたと判定し、異なる場合に正常に書き込みが行われていないと判定する。正常に書き込みが行われたと判定された場合、ステップS12へ進められ、正常に書き込みが行われていないと判定された場合、ステップS108へ進められる。
【0095】
<半導体記憶装置に関する特徴>
第3コマンドC3が入力された場合に正常に書き込みが行われれば第3コマンドC3を無視することができているので、複数ある場合でも、同時に救済しながらテストすることができるようになっている点は、第1実施形態と同様である。したがって、このような半導体記憶装置100によっても、テスト効率の低減は抑制され、製品の歩留まりは向上する。
【0096】
また、救済データ格納領域には、正常に書き込みが行われていないと書き込み判定回路160が判定した場合、第4コマンドC1a及び第3アドレス情報A3に基づいて、第1データD1が書き込まれる。また、管理情報格納領域には、救済データ格納領域に正常に書き込みが行われていないと書き込み判定回路160が判定した場合、使用されない領域として第2アドレスが記憶され、使用される領域として第3アドレスが記憶される。これらにより、半導体メモリ140において正常に書き込みが行われなかったアドレスに対して、第1データD1はさらに救済される。
【産業上の利用可能性】
【0097】
本発明に係る半導体記憶装置は、テスト効率の低減を抑制でき、製品の歩留まりを向上することができるという効果を有し、半導体記憶装置等として有用である。
【図面の簡単な説明】
【0098】
【図1】本発明の第1実施形態に係る半導体記憶装置の構成図。
【図2】本発明の第1実施形態における入力コマンドデコーダの構成図。
【図3】本発明の第1実施形態における入力コマンドデコーダの構成図。
【図4】本発明の第1実施形態における判定回路の構成図。
【図5】本発明の第1実施形態における半導体メモリの構成図。
【図6】管理情報の構成を示す図。
【図7】半導体記憶装置が出荷される前に検査される際の処理の流れを示すフローチャート。
【図8】半導体記憶装置が出荷される前に検査される際の処理の流れを示すフローチャート。
【図9】本発明の第2実施形態に係る半導体記憶装置の構成図。
【図10】半導体記憶装置が出荷される前に検査される際の処理の流れを示すフローチャート。
【図11】半導体記憶装置が出荷される前に検査される際の処理の流れを示すフローチャート。
【符号の説明】
【0099】
1,100 半導体記憶装置
10,110 入力コマンドデコーダ
30,130 コマンド生成器
40,140 半導体メモリ
60,160 書込み判定回路
70 データラッチ
【特許請求の範囲】
【請求項1】
第1データと、前記第1データを書き込ませるコマンドである第1コマンドと、前記第1データが書き込まれるアドレスである第1アドレスの情報である第1アドレス情報とが入力され、前記第1コマンドがデコードされたコマンドである第2コマンドを生成するデコード回路と、
前記デコード回路から受け取った前記第2コマンドに基づいて、前記第2コマンドと前記第1データと第1アドレス情報とを転送するコマンド生成器と、
前記コマンド生成器から受け取った前記第2コマンド及び前記第1アドレス情報に基づいて、前記第1データが書き込まれる記憶回路と、
前記第1データと、前記記憶回路において前記第1アドレスから読み出されたデータである第2データとに基づいて、前記記憶回路に正常に書き込みが行われたか否かを判定する書き込み判定回路と、
を備え、
前記デコード回路は、前記第1データを救済させるコマンドである第3コマンドがさらに入力され、前記記憶回路に正常に書き込みが行われていないと前記書き込み判定回路が判定した場合、前記第3コマンドがデコードされたコマンドである第4コマンドと、前記第1アドレス情報とを前記コマンド生成器に供給し、
前記コマンド生成器は、前記デコード回路から受け取った前記第4コマンドに基づいて、前記第1アドレスと異なるアドレスである第2アドレスの情報である第2アドレス情報と、前記第2コマンドと、前記第1データとを前記記憶回路に供給する、
半導体記憶装置。
【請求項2】
前記デコード回路は、前記記憶回路に正常に書き込みが行われていると前記書き込み判定回路が判定した場合、前記コマンド生成器への前記第4コマンドの供給を遮断する、
請求項1に記載の半導体記憶装置。
【請求項3】
前記デコード回路は、
前記第3コマンドが入力され、前記第3コマンドがデコードされたコマンドである第4コマンドを生成するデコード部と、
前記書き込み判定回路が判定した結果と、前記第4コマンドとに基づいて、前記第1データ及び前記第4コマンドを転送すべきか否かを判定する転送判定部と、
を有する、
請求項1又は2に記載の半導体記憶装置。
【請求項4】
前記デコード回路の前記デコード部は、前記第1データ及び前記第1コマンドがさらに入力され、前記第2コマンドをさらに生成し、
前記デコード回路の前記転送判定部は、前記書き込み判定回路が判定した結果と、前記第2コマンドとに基づいて、前記第1データ及び前記第2コマンドを転送すべきか否かをさらに判定する、
請求項3に記載の半導体記憶装置。
【請求項5】
前記記憶回路は、
通常の書き込みが行われる領域である通常データ格納領域と、
前記通常データ格納領域へ正常に書き込みが行われないときに、救済のための書き込みが行われる領域である救済データ格納領域と、
前記救済データ格納領域へ救済のための書き込みが行われたことを管理するための情報である管理情報が書き込まれる管理情報格納領域と、
を有し、
前記通常データ格納領域のアドレス群は、前記第1アドレスを含み、
前記救済データ格納領域のアドレス群は、前記第2アドレスを含み、
前記書き込み判定回路は、前記第1データと前記第2データとに基づいて、前記通常データ格納領域に正常に書き込みが行われたか否かを判定し、
前記救済データ格納領域には、前記通常データ格納領域に正常に書き込みが行われていないと前記書き込み判定回路が判定した場合、前記第2コマンド及び前記第2アドレス情報に基づいて、前記第1データが書き込まれ、
前記管理情報格納領域には、前記通常データ格納領域に正常に書き込みが行われていないと前記書き込み判定回路が判定した場合、使用される領域として前記第2アドレスが記憶される、
請求項1から4のいずれか1項に記載の半導体記憶装置。
【請求項6】
前記書き込み判定回路は、前記第1データと、前記救済データ格納領域において前記第2アドレスから読み出されたデータである第3データとに基づいて、前記救済データ格納領域に正常に書き込みが行われたか否かをさらに判定し、
前記デコード回路は、前記第4コマンドを前記コマンド生成器に供給し、
前記コマンド生成器は、前記第4コマンドに基づいて、前記第1アドレス及び前記第2アドレスと異なるアドレスである第3アドレスの情報である第3アドレス情報と、前記第2コマンドと、前記第1データとを前記記憶回路に供給し、
前記記憶回路の前記管理情報格納領域には、前記救済データ格納領域に正常に書き込みが行われていないと前記書き込み判定回路が判定した場合、使用されない領域として前記第2アドレスが記憶され、使用される領域として前記第3アドレスが記憶される、
請求項5に記載の半導体記憶装置。
【請求項7】
記憶回路を有する半導体記憶装置の制御方法であって、
第1データと、前記第1データを書き込ませるコマンドである第1コマンドと、前記第1データが書き込まれるアドレスである第1アドレスの情報である第1アドレス情報とが入力される第1入力ステップと、
前記第1コマンドがデコードされたコマンドである第2コマンドが生成されるデコードステップと、
前記第2コマンドに基づいて、前記第2コマンドと前記第1データと第1アドレス情報とが転送される転送ステップと、
前記第2コマンド及び前記第1アドレス情報に基づいて、前記第1データが前記記憶回路に書き込まれる第1書き込みステップと、
前記第1データと、前記記憶回路において前記第1アドレスから読み出されたデータである第2データとに基づいて、前記記憶回路に正常に書き込みが行われたか否かが判定される判定ステップと、
前記第1データを救済させるコマンドである第3コマンドが入力される第2入力ステップと、
前記記憶回路に正常に書き込みが行われていないと前記判定ステップで判定された場合、前記第3コマンドがデコードされたコマンドである第4コマンドと、前記第1アドレス情報とが供給される供給ステップと、
前記第4コマンドに基づいて、前記第1アドレスと異なるアドレスである第2アドレスの情報である第2アドレス情報と、前記第2コマンドと、前記第1データとが前記記憶回路に書き込まれる第2書き込みステップと、
を備えた、
半導体記憶装置の制御方法。
【請求項1】
第1データと、前記第1データを書き込ませるコマンドである第1コマンドと、前記第1データが書き込まれるアドレスである第1アドレスの情報である第1アドレス情報とが入力され、前記第1コマンドがデコードされたコマンドである第2コマンドを生成するデコード回路と、
前記デコード回路から受け取った前記第2コマンドに基づいて、前記第2コマンドと前記第1データと第1アドレス情報とを転送するコマンド生成器と、
前記コマンド生成器から受け取った前記第2コマンド及び前記第1アドレス情報に基づいて、前記第1データが書き込まれる記憶回路と、
前記第1データと、前記記憶回路において前記第1アドレスから読み出されたデータである第2データとに基づいて、前記記憶回路に正常に書き込みが行われたか否かを判定する書き込み判定回路と、
を備え、
前記デコード回路は、前記第1データを救済させるコマンドである第3コマンドがさらに入力され、前記記憶回路に正常に書き込みが行われていないと前記書き込み判定回路が判定した場合、前記第3コマンドがデコードされたコマンドである第4コマンドと、前記第1アドレス情報とを前記コマンド生成器に供給し、
前記コマンド生成器は、前記デコード回路から受け取った前記第4コマンドに基づいて、前記第1アドレスと異なるアドレスである第2アドレスの情報である第2アドレス情報と、前記第2コマンドと、前記第1データとを前記記憶回路に供給する、
半導体記憶装置。
【請求項2】
前記デコード回路は、前記記憶回路に正常に書き込みが行われていると前記書き込み判定回路が判定した場合、前記コマンド生成器への前記第4コマンドの供給を遮断する、
請求項1に記載の半導体記憶装置。
【請求項3】
前記デコード回路は、
前記第3コマンドが入力され、前記第3コマンドがデコードされたコマンドである第4コマンドを生成するデコード部と、
前記書き込み判定回路が判定した結果と、前記第4コマンドとに基づいて、前記第1データ及び前記第4コマンドを転送すべきか否かを判定する転送判定部と、
を有する、
請求項1又は2に記載の半導体記憶装置。
【請求項4】
前記デコード回路の前記デコード部は、前記第1データ及び前記第1コマンドがさらに入力され、前記第2コマンドをさらに生成し、
前記デコード回路の前記転送判定部は、前記書き込み判定回路が判定した結果と、前記第2コマンドとに基づいて、前記第1データ及び前記第2コマンドを転送すべきか否かをさらに判定する、
請求項3に記載の半導体記憶装置。
【請求項5】
前記記憶回路は、
通常の書き込みが行われる領域である通常データ格納領域と、
前記通常データ格納領域へ正常に書き込みが行われないときに、救済のための書き込みが行われる領域である救済データ格納領域と、
前記救済データ格納領域へ救済のための書き込みが行われたことを管理するための情報である管理情報が書き込まれる管理情報格納領域と、
を有し、
前記通常データ格納領域のアドレス群は、前記第1アドレスを含み、
前記救済データ格納領域のアドレス群は、前記第2アドレスを含み、
前記書き込み判定回路は、前記第1データと前記第2データとに基づいて、前記通常データ格納領域に正常に書き込みが行われたか否かを判定し、
前記救済データ格納領域には、前記通常データ格納領域に正常に書き込みが行われていないと前記書き込み判定回路が判定した場合、前記第2コマンド及び前記第2アドレス情報に基づいて、前記第1データが書き込まれ、
前記管理情報格納領域には、前記通常データ格納領域に正常に書き込みが行われていないと前記書き込み判定回路が判定した場合、使用される領域として前記第2アドレスが記憶される、
請求項1から4のいずれか1項に記載の半導体記憶装置。
【請求項6】
前記書き込み判定回路は、前記第1データと、前記救済データ格納領域において前記第2アドレスから読み出されたデータである第3データとに基づいて、前記救済データ格納領域に正常に書き込みが行われたか否かをさらに判定し、
前記デコード回路は、前記第4コマンドを前記コマンド生成器に供給し、
前記コマンド生成器は、前記第4コマンドに基づいて、前記第1アドレス及び前記第2アドレスと異なるアドレスである第3アドレスの情報である第3アドレス情報と、前記第2コマンドと、前記第1データとを前記記憶回路に供給し、
前記記憶回路の前記管理情報格納領域には、前記救済データ格納領域に正常に書き込みが行われていないと前記書き込み判定回路が判定した場合、使用されない領域として前記第2アドレスが記憶され、使用される領域として前記第3アドレスが記憶される、
請求項5に記載の半導体記憶装置。
【請求項7】
記憶回路を有する半導体記憶装置の制御方法であって、
第1データと、前記第1データを書き込ませるコマンドである第1コマンドと、前記第1データが書き込まれるアドレスである第1アドレスの情報である第1アドレス情報とが入力される第1入力ステップと、
前記第1コマンドがデコードされたコマンドである第2コマンドが生成されるデコードステップと、
前記第2コマンドに基づいて、前記第2コマンドと前記第1データと第1アドレス情報とが転送される転送ステップと、
前記第2コマンド及び前記第1アドレス情報に基づいて、前記第1データが前記記憶回路に書き込まれる第1書き込みステップと、
前記第1データと、前記記憶回路において前記第1アドレスから読み出されたデータである第2データとに基づいて、前記記憶回路に正常に書き込みが行われたか否かが判定される判定ステップと、
前記第1データを救済させるコマンドである第3コマンドが入力される第2入力ステップと、
前記記憶回路に正常に書き込みが行われていないと前記判定ステップで判定された場合、前記第3コマンドがデコードされたコマンドである第4コマンドと、前記第1アドレス情報とが供給される供給ステップと、
前記第4コマンドに基づいて、前記第1アドレスと異なるアドレスである第2アドレスの情報である第2アドレス情報と、前記第2コマンドと、前記第1データとが前記記憶回路に書き込まれる第2書き込みステップと、
を備えた、
半導体記憶装置の制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−122794(P2007−122794A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2005−312114(P2005−312114)
【出願日】平成17年10月27日(2005.10.27)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願日】平成17年10月27日(2005.10.27)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】
[ Back to top ]