特許第6594712号(P6594712)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ラピスセミコンダクタ株式会社の特許一覧

特許6594712半導体メモリ及び半導体メモリのベリファイ方法
<>
  • 特許6594712-半導体メモリ及び半導体メモリのベリファイ方法 図000002
  • 特許6594712-半導体メモリ及び半導体メモリのベリファイ方法 図000003
  • 特許6594712-半導体メモリ及び半導体メモリのベリファイ方法 図000004
  • 特許6594712-半導体メモリ及び半導体メモリのベリファイ方法 図000005
  • 特許6594712-半導体メモリ及び半導体メモリのベリファイ方法 図000006
  • 特許6594712-半導体メモリ及び半導体メモリのベリファイ方法 図000007
  • 特許6594712-半導体メモリ及び半導体メモリのベリファイ方法 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6594712
(24)【登録日】2019年10月4日
(45)【発行日】2019年10月23日
(54)【発明の名称】半導体メモリ及び半導体メモリのベリファイ方法
(51)【国際特許分類】
   G11C 29/12 20060101AFI20191010BHJP
【FI】
   G11C29/12
【請求項の数】6
【全頁数】14
(21)【出願番号】特願2015-180498(P2015-180498)
(22)【出願日】2015年9月14日
(65)【公開番号】特開2017-59278(P2017-59278A)
(43)【公開日】2017年3月23日
【審査請求日】2018年6月22日
(73)【特許権者】
【識別番号】308033711
【氏名又は名称】ラピスセミコンダクタ株式会社
(74)【代理人】
【識別番号】100079119
【弁理士】
【氏名又は名称】藤村 元彦
(74)【代理人】
【識別番号】100147728
【弁理士】
【氏名又は名称】高野 信司
(72)【発明者】
【氏名】山内 索
(72)【発明者】
【氏名】宮崎 聡司
【審査官】 津幡 貴生
(56)【参考文献】
【文献】 特開2004−178674(JP,A)
【文献】 特表2012−518224(JP,A)
【文献】 特開2013−137708(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 29/00
(57)【特許請求の範囲】
【請求項1】
データラインを介して入力された入力データを書込指令信号に応じて書き込み、書き込んだ前記入力データを読出指令信号に応じて読出データとして読み出すメモリ部を有する半導体メモリであって、
前記データラインに自身の出力端子が接続されており、前記読出データを前記データラインに送出するデータ出力バッファと、
前記読出データに対して巡回冗長検査演算を施して得られたCRC値を示すCRC演算データを生成するCRC演算回路と、
前記CRC演算データ及び前記読出データのうちの一方のデータを選択する選択部と、
前記入力データと前記一方のデータとが同一値であるか否かを判定し同一値であると判定した場合には書込正常を示すベリファイ結果信号を生成する一方、同一値ではないと判定した場合には書込エラーを示す前記ベリファイ結果信号を生成する比較部と、
ベリファイ指令信号を受けて前記データ出力バッファをディスエイブル状態に設定するベリファイ設定部と、を有することを特徴とする半導体メモリ。
【請求項2】
前記ベリファイ設定部は、前記ベリファイ指令信号を受けて前記データ出力バッファの前記出力端子をハイインピーダンス状態に設定することを特徴とする請求項1記載の半導体メモリ。
【請求項3】
前記選択部は、前記ベリファイ指令信号がデータベリファイの実行を促す場合には前記読出データを前記一方のデータとして選択する一方、前記ベリファイ指令信号がCRCベリファイの実行を促す場合には前記CRC演算データを前記一方のデータとして選択することを特徴とする請求項1又は2記載の半導体メモリ。
【請求項4】
前記ベリファイ結果信号を前記メモリ部に書き込むベリファイ結果書込部を有することを特徴とする請求項1〜3のいずれか1に記載の半導体メモリ。
【請求項5】
前記データ出力バッファは、スリーステートバッファであることを特徴とする請求項1〜4のいずれか1に記載の半導体メモリ。
【請求項6】
データラインを介して入力された入力データを書込指令信号に応じて書き込み、書き込んだ前記入力データを読出指令信号に応じて読出データとして読み出すメモリ部と、前記データラインに自身の出力端子が接続されており、前記読出データを前記データラインに送出するデータ出力バッファと、前記読出データに対して巡回冗長検査演算を施して得られたCRC値を示すCRC演算データを生成するCRC演算回路と、前記CRC演算データ及び前記読出データのうちの一方のデータを選択する選択部と、前記入力データと前記一方のデータとが同一値であるか否かを判定し同一値であると判定した場合には書込正常を示すベリファイ結果信号を生成する一方、同一値ではないと判定した場合には書込エラーを示す前記ベリファイ結果信号を生成する比較部と、ベリファイ指令信号を受けて前記データ出力バッファをディスエイブル状態に設定するベリファイ設定部と、を有する半導体メモリのベリファイ方法であって、
書込用データを前記データラインに供給しつつ前記書込指令信号を前記半導体メモリに供給するステップと、
前記ベリファイ指令信号を前記半導体メモリに供給するステップと、
前記書込用データに前記巡回冗長検査演算を施して得られたCRC値を示すCRC期待値データ又は前記書込用データを前記データラインに供給すると共に前記読出指令信号を前記半導体メモリに供給するステップと、を有することを特徴とする半導体メモリのベリファイ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体メモリ及びこの半導体メモリに対してデータ書込が正常になされたか否かを検証するベリファイ方法に関する。
【背景技術】
【0002】
フラッシュメモリ等の不揮発性の半導体メモリにプログラムデータ等の各種データを書き込んで出荷する場合、そのデータ書き込み後に当該データが正常に書き込まれたか否かを判定するベリファイテストを実施する。
【0003】
ここで、このようなベリファイテストを、自身に搭載されているメモリ制御用のCPU(Central Processing Unit)によるソフトウェア制御で実施するようにした半導体メモリが提案されている(例えば、特許文献1参照)。当該半導体メモリでは、データが書き込まれたフラッシュROM部に対して、CPUが、フラッシュROM部からデータを読み出し、引き続きこの読み出したデータと、書き込んだデータとが一致しているか否かの判定を行う。この際、書き込まれたデータと異なるデータが読み出された場合に、CPUは、書込エラーが生じていると判定し、その結果をフラッシュROM部に記憶する。よって、データの書込及びベリファイテストの実行後、テスタは、半導体メモリ毎にフラッシュROM部から書込エラー情報を読み出すことにより、この半導体メモリが出荷可能であるか否かを仕分けるのである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−149206号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記した半導体メモリでは、CPUによるソフトウェア制御のみでベリファイテストを実施しているので、半導体メモリ内にベリファイテスト用のプログラムを書き込んでおく必要が有り、ベリファイテストに費やされる時間が長くなるという問題があった。
【0006】
そこで、本発明では、ベリファイテストに費やされる時間の短縮を図ることが可能な半導体メモリ及び半導体メモリのベリファイ方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
発明に係る半導体メモリは、データラインを介して入力された入力データを書込指令信号に応じて書き込み、書き込んだ前記入力データを読出指令信号に応じて読出データとして読み出すメモリ部を有する半導体メモリであって、前記データラインに自身の出力端子が接続されており、前記読出データを前記データラインに送出するデータ出力バッファと、前記読出データに対して巡回冗長検査演算を施して得られたCRC値を示すCRC演算データを生成するCRC演算回路と、前記CRC演算データ及び前記読出データのうちの一方のデータを選択する選択部と、前記入力データと前記一方のデータとが同一値であるか否かを判定し同一値であると判定した場合には書込正常を示すベリファイ結果信号を生成する一方、同一値ではないと判定した場合には書込エラーを示す前記ベリファイ結果信号を生成する比較部と、ベリファイ指令信号を受けて前記データ出力バッファをディスエイブル状態に設定するベリファイ設定部と、を有する。
【0010】
発明に係る半導体メモリのベリファイ方法は、データラインを介して入力された入力データを書込指令信号に応じて書き込み、書き込んだ前記入力データを読出指令信号に応じて読出データとして読み出すメモリ部と、前記データラインに自身の出力端子が接続されており、前記読出データを前記データラインに送出するデータ出力バッファと、前記読出データに対して巡回冗長検査演算を施して得られたCRC値を示すCRC演算データを生成するCRC演算回路と、前記CRC演算データ及び前記読出データのうちの一方のデータを選択する選択部と、前記入力データと前記一方のデータとが同一値であるか否かを判定し同一値であると判定した場合には書込正常を示すベリファイ結果信号を生成する一方、同一値ではないと判定した場合には書込エラーを示す前記ベリファイ結果信号を生成する比較部と、ベリファイ指令信号を受けて前記データ出力バッファをディスエイブル状態に設定するベリファイ設定部と、を有する半導体メモリのベリファイ方法であって、書込用データを前記データラインに供給しつつ前記書込指令信号を前記半導体メモリに供給するステップと、前記ベリファイ指令信号を前記半導体メモリに供給するステップと、前記書込用データに前記巡回冗長検査演算を施して得られたCRC値を示すCRC期待値データ又は前記書込用データを前記データラインに供給すると共に前記読出指令信号を前記半導体メモリに供給するステップと、を有する。
【発明の効果】
【0011】
本発明においては、データラインを介して入力された入力データと、メモリ部から読み出された読出データ(又は読出データに基づくCRC値)とを比較し、その比較結果に基づきデータ書込が正常に為されたか否かを示すベリファイ結果信号を生成する比較部と、以下のベリファイ設定部を半導体メモリに設けるようにしている。ベリファイ設定部は、メモリ部から読み出された読出データを上記データラインに送出するデータ出力バッファを、ベリファイ指令信号を受けてディスエイブル状態に設定する。
【0012】
かかる構成によれば、半導体メモリに対して、期待値を上記データラインに供給しつつ読出指令を供給することが可能となる。そこで、半導体メモリに対して、期待値を上記データラインに供給しつつ読出指令を供給することにより、上記した比較部にて、期待値と読出データ(又は読出データに基づくCRC値)とを比較するベリファイテストを実施させる。
【0013】
よって、本発明によれば、ベリファイテストを行うにあたり、半導体メモリに対して期待値の供給と、データの読出とを同時に実施させることが可能となるので、ベリファイテストに費やされる時間を短縮することが可能となる。
【図面の簡単な説明】
【0014】
図1】本発明に係る半導体メモリ100の構成を示すブロック図である。
図2】比較回路13の一例を示す回路図である。
図3】半導体メモリ100に対してデータ書込及びベリファイテストを実施する際のシステム構成を示す図である。
図4】ベリファイ書込フローを示すフローチャートである。
図5】本発明に係る半導体メモリ100の他の構成を示すブロック図である。
図6図5に示す構成を有する半導体メモリ100に対してデータ書込及びベリファイテストを実施する際のシステム構成を示す図である。
図7】CRCベリファイ書込フローを示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【0016】
図1は、本発明に係る半導体メモリ100の概略構成を示すブロック図である。図1において、例えばフラッシュメモリ等の不揮発性メモリからなるメモリセルアレイ部10には、夫々が1ビット又は複数ビット分のデータを記憶する複数のメモリセル(図示せぬ)が配置されている。尚、メモリセルアレイ部10における記憶領域には少なくとも、データが記憶されるデータ領域DAと、ベリファイ結果専用の記憶領域であるベリファイ結果領域TAとが含まれる。
【0017】
データ入力バッファ11は、例えば16ビットのデータラインDLを介して外部供給された16ビットのデータDATを所望に増幅して得た入力データDINを、16ビットのラインILを介して書込駆動回路12及び比較回路13に供給する。尚、データ入力バッファ11の出力端子と、書込駆動回路12及び比較回路13の各々とは、ラインILによって電気的に接続されている。
【0018】
書込駆動回路12は、制御部20から供給された書込指令信号WR及びアドレス信号ADに応じて、入力データDINを、メモリセルアレイ部10のデータ領域DA内における、上記アドレス信号ADにて示される領域に書き込む。
【0019】
読出駆動回路14は、制御部20から供給された読出指令信号RD及びアドレス信号ADに応じて、メモリセルアレイ部10に記憶されているデータを例えば16ビット分毎の読出データDOTとして読み出す。読出駆動回路14は、当該読出データDOTをラインOLを介して比較回路13及びデータ出力バッファ15に供給する。尚、データ出力バッファ15の入力端子と、比較回路13及び読出駆動回路14の各々とは、ラインOLによって電気的に接続されている。
【0020】
データ出力バッファ15は、いわゆるスリーステートバッファであり、その出力端子は、データ入力バッファ11の入力端子及びデータラインDLに電気的に接続されている。データ出力バッファ15は、有効化を示す論理レベル0の出力イネーブル信号OENが供給されている間は、読出データDOTを増幅した16ビットのデータをデータDATとして、データラインDLに送出する。
【0021】
尚、データ出力バッファ15は、無効化を示す論理レベル1の出力イネーブル信号OENが供給されている間は、ディスエイブル状態に設定される。つまり、論理レベル1の出力イネーブル信号OENにより、データ出力バッファ15は、自身の出力端子をハイインピーダンス状態に設定する。
【0022】
ベリファイテスト用のコマンドデコーダであるデコーダ16は、外部供給されたテストコマンド信号TCMがベリファイ結果書込指令を示す場合には、ベリファイ結果書込信号VWRをベリファイ結果書込駆動回路17に供給する。
【0023】
デコーダ16は、テストコマンド信号TCMがベリファイ指令を示す場合には、ベリファイモードを指定する論理レベル1の選択信号STをセレクタ18に供給する。尚、デコーダ16は、テストコマンド信号TCMがベリファイ結果書込指令及びベリファイ指令のどちらも示していない状態、例えば論理レベル0の状態となっている場合には、通常モードを指定する論理レベル0の選択信号STをセレクタ18に供給する。
【0024】
比較回路13は、上記した読出データDOTと入力データDINとを比較し、両者が同一のデータ値であるか否かを判定する。比較回路13は、その判定結果に基づき"書込正常"又は"書込エラー"を表すベリファイ結果信号VSを生成する。
【0025】
図2は、比較回路13の一例を示す回路図である。図2において、排他的論理和ゲートEX0〜EX15は、16ビットの入力データDIN[0]〜DIN[15]と、16ビットの読出データDOT[0]〜DOT[15]とを同一ビット桁同士で比較し、各ビット桁毎に両者が一致しているか否かを示す一致信号e0〜e15を生成する。排他的論理和ゲートEX0〜EX15は、一致信号e0〜e15をオアゲートOR1に供給する。例えば、排他的論理和ゲートEX0は、入力データDIN[0]と、読出データDOT[0]とが同一論理レベルである場合には論理レベル0となる一方、両者が互いに異なる論理レベルである場合には論理レベル1となる一致信号e0をオアゲートOR1に供給する。
【0026】
オアゲートOR1は、一致信号e0〜e15が全て論理レベル0である場合にだけ論理レベル0となる一方、一致信号e0〜e15のうちの少なくとも1つが論理レベル1となる場合には論理レベル1となる一致判定信号SMをオアゲートOR2に供給する。
【0027】
オアゲートOR2は、一致判定信号SM及び選択信号STが共に論理レベル0である場合にだけ論理レベル0となる一方、一致判定信号SM及び選択信号STのうちの少なくとも一方が論理レベル1である場合には論理レベル1となる信号をRSフリップフロップRSFのS端子に供給する。
【0028】
RSフリップフロップRSFは、オアゲートOR2から論理レベル0の信号が供給されている間は、"書込正常"を表す論理レベル0のベリファイ結果信号VSを生成する。一方、オアゲートOR2から論理レベル1の信号が供給されると、RSフリップフロップRSFは、それ以降、S端子に供給される信号のレベルに拘わらず、"書込エラー"を表す論理レベル1に固定されたベリファイ結果信号VSを生成する。RSフリップフロップRSFは、このベリファイ結果信号VSを、オアゲートOR2及びベリファイ結果駆動回路17に供給する。
【0029】
図2に示す構成により、比較回路13は、上記した読出データDOTと入力データDINとを16ビット単位で比較し、両者が同一のデータ値であるか否かを判定する。比較回路13は、読出データDOTと入力データDINとが互いに同一のデータ値であると判定した場合には"書込正常"を表す例えば論理レベル0のベリファイ結果信号VSを生成する。一方、読出データDOTと入力データDINとが互いに異なるデータ値であると判定した場合には、比較回路13は、"書込エラー"を表す例えば論理レベル1のベリファイ結果信号VSを生成する。尚、比較回路13は、ベリファイ結果信号VSが一旦、"書込エラー"を表す論理レベル1の状態になった場合には、それ以降の比較判定で例え両者(DIN、DOT)が同一値であると判定されても、ベリファイ結果信号VSを、"書込エラー"を表す論理レベル1の状態に維持する。
【0030】
比較回路13は、当該ベリファイ結果信VSをベリファイ結果書込駆動回路17に供給すると共に、このベリファイ結果信号VSを外部に出力する。
【0031】
ベリファイ結果書込駆動回路17は、デコーダ16から供給されたベリファイ結果書込信号VWRに応じて、ベリファイ結果信号VSをメモリセルアレイ部10のベリファイ結果領域TAに書き込む。
【0032】
セレクタ18は、デコーダ16から供給された選択信号STに基づき、制御部20から供給された出力イネーブル信号OE、及び論理レベル1固定の信号のうちの一方を選択し、これを出力イネーブル信号OENとしてデータ出力バッファ15のイネーブル端子に供給する。すなわち、セレクタ18は、選択信号STが通常モードを指定する論理レベル0である場合には、制御部20から供給された出力イネーブル信号OEを選択し、これを出力イネーブル信号OENとしてデータ出力バッファ15のイネーブル端子に供給する。一方、選択信号STがベリファイモードを指定する論理レベル1である場合には、セレクタ18は、論理レベル1固定の信号を選択し、これを出力イネーブル信号OENとしてデータ出力バッファ15のイネーブル端子に供給する。
【0033】
制御部20は、外部供給された例えば、書込指令、読出指令又は出力イネーブル指令等の各種メモリ制御指令を含むコマンド信号CMD、及びアドレスデータADDに応じて、データの書込又は読出を促す為の上記制御信号(OE、WR、RD、AD)を生成する。
【0034】
例えば、コマンド信号CMDが書込指令を表す場合には、制御部20は、外部供給されたアドレスデータADDに対応したアドレス信号AD、及び書込指令信号WRを生成し、これらを書込駆動回路12に供給する。コマンド信号CMDが読出指令を表す場合には、制御部20は、アドレスデータADDに対応したアドレス信号AD、及び読出指令信号RDを生成し、これらを読出駆動回路14に供給すると共に、データの外部出力を促す論理レベル0の出力イネーブル信号OEをセレクタ18に供給する。
【0035】
図3は、半導体メモリ100に対してデータ書込及びベリファイテストを実施する際のシステム構成を示す図である。図3に示すように、半導体メモリ100には、データライタ200が接続される。データライタ200は、半導体メモリ100に書き込む書込用データが予め記憶されているメモリ201を有する。
【0036】
データライタ200は、図4に示すベリファイ書込フローに従って、半導体メモリ100に対してデータ書込及びベリファイテストを行う。
【0037】
図4において、データライタ200は、先ず、メモリ201に記憶されている書込用データを半導体メモリ100に書き込む(ステップS1)。すなわち、ステップS1において、データライタ200は、メモリ201から書込用データを読み出し、当該書込用データを16ビット毎のデータDATとして半導体メモリ100に供給しつつ、書込指令を表すコマンド信号CMDを半導体メモリ100に供給する。これにより、メモリセルアレイ部10のデータ領域DAに、上記した書込用データが16ビット毎に順次、書き込まれる。
【0038】
ここで、メモリ201に記憶されている全ての書込用データを半導体メモリ100に供給し終えると、データライタ200は、ベリファイ指令を表すテストコマンド信号TCMを半導体メモリ100に供給する(ステップS2)。ステップS2の実行により、半導体メモリ100のセレクタ18は、論理レベル1固定の出力イネーブル信号OENをデータ出力バッファ15のイネーブル端子に供給する。これにより、データ出力バッファ15はディスエイブル状態となり、例えば自身の出力端子がハイインピーダンス状態に設定される。
【0039】
次に、データライタ200は、メモリ201に記憶されている書込用データを再び読み出し、これを16ビット毎のデータDATとして半導体メモリ100に供給しつつ、半導体メモリ100から書き込み済みのデータを読み出す(ステップS3)。すなわち、ステップS3において、データライタ200は、書込用データを16ビット毎のデータDATとして半導体メモリ100に供給しつつ、読出指令を表すコマンド信号CMDを半導体メモリ100に供給する。
【0040】
ステップS3の実行により、半導体メモリ100内では、データライタ200から供給された期待値としての書込用データが入力データDINとして比較回路13に供給される。更に、当該入力データDINが比較回路13に供給されるタイミングに同期して、読出駆動回路14がメモリセルアレイ部10のデータ領域DAから読み出した読出データDOTを比較回路13に供給する。これにより、比較回路13は、データライタ200から供給された書込用データを表す入力データDINと、メモリセルアレイ部10から読み出された読出データDOTとを比較する。この際、両者(DIN、DOT)が同一のデータ値である場合、比較回路13は、"書込正常"を表す論理レベル0のベリファイ結果信号VSを生成する。一方、入力データDINと、読出データDOTとが一致していない場合、比較回路13は"書込エラー"を表す論理レベル1のベリファイ結果信号VSを生成する。尚、ベリファイ結果信号VSが一旦、"書込エラー"を表す論理レベル1の状態になった場合には、比較回路13は、それ以降の比較処理において例え両者(DIN、DOT)が同一値であると判定されても、ベリファイ結果信号VSを、"書込エラー"を表す論理レベル1の状態に維持する。
【0041】
ステップS3においてメモリ201に記憶されている全てのデータを半導体メモリ100に供給し終えると、データライタ200は、ベリファイ結果書込指令を表すテストコマンド信号TCMを半導体メモリ100に供給する(ステップS4)。ステップS4の実行により、半導体メモリ100のベリファイ結果書込駆動回路17は、比較回路13から供給されたベリファイ結果信号VSの内容、つまり"書込正常"であるのか或いは"書込エラー"であるのかを示す情報をメモリセルアレイ部10のベリファイ結果領域TAに書き込む。
【0042】
図4に示すベリファイ書込の終了後、テスタ(図示せぬ)は、半導体メモリ100に対してメモリセルアレイ部10のベリファイ結果領域TAに記憶されているベリファイ結果を読み出し、そのベリファイ結果を参照することにより、半導体メモリ100が出荷可能であるか否かを仕分ける。尚、半導体メモリ100が出荷可能であるか否かを仕分けする仕分処理に関しては、上記したベリファイ書込終了後に半
導体メモリ100から出力されたベリファイ結果信号VSに基づいて直接行うようにしても良い。
【0043】
以上、詳述したように、半導体メモリ100は、データライン(DL)を介して入力された入力データを書込指令に応じて書き込み、書き込んだデータを読出指令に応じて読出データとして読み出すメモリ部(10、12、14,17)と、以下のデータ出力バッファ(15)、比較部(13)及びベリファイ設定部(16、18)を有する。この際、データ出力バッファは、自身の出力端子が上記したデータラインに接続されており、メモリ部から読み出された読出データをこのデータラインに送出する。比較部は、上記した入力データと読出データとが同一値であるか否かを判定し、同一値であると判定した場合には書込正常を示すベリファイ結果信号(VS)を生成する一方、同一値ではないと判定した場合には、書込エラーを示すベリファイ結果信号を生成する。ベリファイ設定部は、ベリファイ指令信号を受けて、出力バッファをディスエイブル状態に設定する。
【0044】
ここで、半導体メモリ100に対して、データが正常に書き込まれたか否かを検証するベリファイを行う場合には、ベリファイ設定部が、データ出力バッファをディスエイブル状態に設定し、例えばデータ出力バッファ自身の出力端子を強制的にハイインピーダンス状態に設定する。これにより、半導体メモリ100に、期待値としての書込用データを上記データラインに供給しつつ読出指令を供給することが可能となる。そこで、半導体メモリ100に、期待値としての書込用データを上記データラインに供給しつつ読出指令を供給することにより、上記した比較部にて、メモリ部から読み出された読出データと期待値とを比較するデータベリファイを実施させるのである。
【0045】
ところで、通常のメモリにおけるデータの読出時には、データ出力バッファがイネーブル状態になるので、この際、データラインに期待値を供給することはできない。そこで、データ読出処理の後に、読み出された読出データと期待値との比較処理を行うことになる。
【0046】
これに対して、図1に示す半導体メモリ100では、半導体メモリ100に対して期待値の供給とデータ読出とを同時に行うことができるので、ベリファイテストに費やされる時間を短縮することが可能となる。
【0047】
尚、上記したベリファイ書込では、半導体メモリ100にデータが正常に書き込まれたか否かを検証する為に、期待値としての書込用データと、半導体メモリ100から読み出された読出データとを比較しているが、この期待値としては、CRC(Cyclic Redundancy Check)値を用いるようにしても良い。つまり、半導体メモリ100から読み出された読出データに基づいて算出されたCRC値と、当該期待値としてのCRC値とを比較することにより、データが正常に書き込まれたか否かを検証するのである。また、半導体メモリ100として、図4に示すような書込用データと読出データとの比較を行うベリファイ(以下、データベリファイとも称する)と、上記したようなCRC値を期待値として用いたベリファイ(以下、CRCベリファイとも称する)と、を選択的に実行可能な構成を採用しても良い。
【0048】
図5は、かかる点に鑑みて為された半導体メモリ100の他の構成を示すブロック図である。尚、図5に示す構成では、デコーダ16に代えてデコーダ26を採用すると共に、CRC演算回路21及びセレクタ22を新たに設けた点を除く他の構成は、図1に示すものと同一である。
【0049】
図5において、CRC演算回路21は、ラインOLに接続されており、メモリセルアレイ部10から読み出された読出データDOTを当該ラインOLを介して取り込む。CRC演算回路21は、この読出データDOTのデータ値に基づき巡回冗長検査演算を行ってCRC値を求め、かかるCRC値を示すCRC演算データCVをセレクタ22に供給する。
【0050】
デコーダ26は、デコーダ16と同様に、テストコマンド信号TCMがベリファイ結果書込指令を示す場合にはベリファイ結果書込信号VWRをベリファイ結果書込駆動回路17に供給する。また、デコーダ26は、テストコマンド信号TCMがベリファイ指令を示す場合には、ベリファイモードを指定する論理レベル1の選択信号STをセレクタ18に供給する。尚、デコーダ26は、テストコマンド信号TCMがベリファイ結果書込指令及びベリファイ指令のどちらも示していない状態、例えば論理レベル0の状態となっている場合には、通常モードを指定する論理レベル0の選択信号STをセレクタ18に供給する。
【0051】
尚、デコーダ26は、テストコマンド信号TCMがベリファイ指令を示す場合には、このベリファイ指令がCRCベリファイの実行を促すものか、或いはデータベリファイの実行を促すものであるのかを判別する。この際、デコーダ26は、ベリファイ指令がデータベリファイの実行を促すものである場合には論理レベル0の選択信号SSをセレクタ22に供給する一方、CRCベリファイの実行を促すものである場合には、論理レベル1の選択信号SSをセレクタ22に供給する。
【0052】
セレクタ22は、当該選択信号SSに基づき、メモリセルアレイ部10から読み出された読出データDOTと、CRC演算回路21によって算出されたCRC演算データCVとのうちの一方を選択し、これを比較回路13に供給する。すなわち、セレクタ22は、データベリファイを表す論理レベル0の選択信号SSが供給された場合には、読出データDOTを比較回路13に供給する。一方、CRCベリファイを表す論理レベル1の選択信号SSが供給された場合には、セレクタ22は、CRC演算データCVを比較回路13に供給する。
【0053】
以下に、図5に示す構成を有する半導体メモリ100に対して、製品集荷前に実施されるデータ書込及びベリファイテストについて説明する。
【0054】
図6は、当該半導体メモリ100に対して、データ書込及びベリファイテストを実施する際のシステム構成を示す図である。尚、図6に示すシステム構成は、基本的に図3に示されるものと同一である。ただし、データライタ200に搭載されているメモリ201には、半導体メモリ100に書き込む書込用データの他に、当該書込用データに対して予め巡回冗長検査演算を施して求めたCRC値を示すCRC期待値データが記憶されている。
【0055】
ここで、データライタ200は、期待値としての書込用データと、半導体メモリ100から読み出された読出データとを比較するデータベリファイを行う場合には、図4に示すベリファイ書込フローに従ったベリファイ書込処理を実行する。
【0056】
一方、CRCベリファイを行う場合には、データライタ200は、図7に示すCRCベリファイ書込フローに従って、当該半導体メモリ100に対してデータ書込及びベリファイテストを行う。
【0057】
図7において、データライタ200は、先ず、メモリ201に記憶されている書込用データを半導体メモリ100に書き込む(ステップS11)。すなわち、ステップS11において、データライタ200は、メモリ201から書込用データを読み出し、当該書込用データを16ビット毎のデータDATとして半導体メモリ100に供給しつつ、書込指令を表すコマンド信号CMDを半導体メモリ100に供給する。これにより、メモリセルアレイ部10のデータ領域DAに、書込用データが書き込まれる。
【0058】
ここで、メモリ201に記憶されている全ての書込用データを半導体メモリ100に供給し終えると、データライタ200は、CRCベリファイの実行を促すベリファイ指令を表すテストコマンド信号TCMを半導体メモリ100に供給する(ステップS12)。ステップS12の実行により、半導体メモリ100のセレクタ18は、論理レベル1の出力イネーブル信号OENをデータ出力バッファ15のイネーブル端子に供給する。これにより、データ出力バッファ15がディスエイブル状態となり、例えば自身の出力端子がハイインピーダンス状態に設定される。更に、当該ステップS12の実行により、半導体メモリ100のセレクタ22は、CRC演算回路21によって算出されたCRC演算データCVを比較回路13に供給する。
【0059】
次に、データライタ200は、メモリ201に記憶されているCRC期待値データを読み出し、これをデータDATとして半導体メモリ100に供給しつつ、半導体メモリ100のメモリセルアレイ部10のデータ領域DAに記憶されているデータを読み出す(ステップS13)。すなわち、ステップS13において、データライタ200は、期待値としてのCRC値を示すCRC期待値データをデータDATとして半導体メモリ100に供給しつつ、半導体メモリ100から書き込み済みのデータを読み出す読出指令を表すコマンド信号CMDを、半導体メモリ100に供給する。
【0060】
ステップS13の実行により、半導体メモリ100内では、データライタ200から供給されたCRC期待値データを表す入力データDINがデータ入力バッファ11を介して比較回路13に供給される。更に、この入力データDINが比較回路13に供給されるタイミングに同期して、メモリセルアレイ部10から読み出された読出データDOTに対して巡回冗長検査演算を施して得られたCRC演算データCVが比較回路13に供給される。これにより、比較回路13は、データライタ200から供給されたCRC期待値データと、CRC演算データCVとを比較する。この際、CRC期待値データとCRC演算データCVとが互いに同一値である場合、比較回路13は、"書込正常"を表す論理レベル0のベリファイ結果信号VSを生成する。一方、CRC期待値データとCRC演算データCVとが同一値ではない場合、比較回路13は"書込エラー"を表す論理レベル1のベリファイ結果信号VSを生成する。
【0061】
そして、メモリ201に記憶されているCRC期待値データを半導体メモリ100に供給し終えると、データライタ200は、ベリファイ結果書込指令を表すテストコマンド信号TCMを半導体メモリ100に供給する(ステップS14)。ステップS14の実行により、半導体メモリ100のベリファイ結果書込駆動回路17は、比較回路13から供給されたベリファイ結果信号VSの内容、つまり"書込正常"であるのか或いは"書込エラー"であるのかを示す情報をメモリセルアレイ部10のベリファイ結果領域TAに書き込む。
【0062】
図7に示すCRCベリファイ書込の終了後、テスタは、各半導体メモリ100に対してメモリセルアレイ部10のベリファイ結果領域TAに記憶されているベリファイ結果を読み出し、そのベリファイ結果を参照することにより、半導体メモリ100が出荷可能であるか否かを仕分ける。尚、半導体メモリ100が出荷可能であるか否かを仕分けする仕分処理に関しては、上記したベリファイ書込終了後に半導体メモリ100から出力されたベリファイ結果信号VSに基づいて行うようにしても良い。
【0063】
以上、詳述したように、図5に示す半導体メモリ100は、図1に示す半導体メモリ100と同様に、メモリ部(10、12、14,17)、データ出力バッファ(15)、比較部(13)及びベリファイ設定部(16、18)を有する。更に、図5に示す半導体メモリ100には、メモリ部から読み出された読出データに対して巡回冗長検査演算を施してCRC演算データを生成するCRC演算回路(21)と、CRC演算データ及び読出データのうちの一方のデータを選択する選択部(22)とが設けられている。この際、比較部では、この選択部で選択為れた方のデータと入力データとが同一値であるか否かを判定し、同一値である場合には書込正常を示すベリファイ結果信号を生成する一方、同一値ではない場合には書込エラーを示すベリファイ結果信号を生成する。
【0064】
すなわち、図5に示す構成では、CRC演算回路21及びセレクタ22を設けることにより、期待値として書込用データを用いたデータベリファイ(図4)と、当該期待値としてCRC値を用いたCRCベリファイ(図7)とのうちの一方を任意に選択して実行可能にしているのである。
【0065】
ところで、CRCベリファイテストでは、読出データ(DOT)に基づきCRC演算回路21が算出したCRC値(CV)と、データライタ200から供給された期待値としてのCRC値とを比較することにより、書込が正常に為されたか否かを検証している。この際、CRC値を表すビット数は書込用データのビット数よりも少ない。よって、CRCベリファイテストでは、書込用データと読出データとを比較するデータベリファイテストに比して、データライタ200から半導体メモリ100に送出するデータ量を削減できるので、ベリファイ処理に費やされる時間の短縮化を図ることが可能となる。
【0066】
尚、上記実施例では、半導体メモリ100に対して専用のデータライタ200によってベリファイ書込を実施しているが、必ずしも専用のデータライタを用いる必要はない。要するに、半導体メモリ100に対してデータ書込及び読出制御を行える情報機器であれば、この情報機器をデータライタ200に代えて用いることが可能である。
【符号の説明】
【0067】
10 メモリ部
11 データ入力バッファ
13 比較回路
15 データ出力バッファ
16、26 デコーダ
18 セレクタ
100 半導体メモリ
200 データライタ
図1
図2
図3
図4
図5
図6
図7