JP4948603B2 - 予備ライン割当装置、メモリ救済装置、予備ライン割当方法、メモリ製造方法、およびプログラム - Google Patents

予備ライン割当装置、メモリ救済装置、予備ライン割当方法、メモリ製造方法、およびプログラム Download PDF

Info

Publication number
JP4948603B2
JP4948603B2 JP2009524359A JP2009524359A JP4948603B2 JP 4948603 B2 JP4948603 B2 JP 4948603B2 JP 2009524359 A JP2009524359 A JP 2009524359A JP 2009524359 A JP2009524359 A JP 2009524359A JP 4948603 B2 JP4948603 B2 JP 4948603B2
Authority
JP
Japan
Prior art keywords
fail
line
spare
bits
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.)
Expired - Fee Related
Application number
JP2009524359A
Other languages
English (en)
Other versions
JPWO2009013832A1 (ja
Inventor
俊朗 藤井
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.)
Advantest Corp
Original Assignee
Advantest 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 Advantest Corp filed Critical Advantest Corp
Publication of JPWO2009013832A1 publication Critical patent/JPWO2009013832A1/ja
Application granted granted Critical
Publication of JP4948603B2 publication Critical patent/JP4948603B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/72Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、予備ライン割当装置、メモリ救済装置、予備ライン割当方法、メモリ製造方法、およびプログラムに関する。本発明は特に、複数の予備ラインが設けられる半導体メモリ等のメモリについて、いずれのフェイルラインに予備ラインを割り当てるかを決定する予備ライン割当装置に関する。
従来、2次元のマトリクス状に記憶セルが配置された半導体メモリが知られている。半導体メモリの製造においては、全ての記憶セルが正常に動作するように形成することが望ましい。しかし、近年の半導体メモリは非常に多くの記憶セルを有するので、全ての記憶セルを正常に形成することは困難である。
これに対し、記憶セルのマトリクスにおける行方向または列方向のアドレスラインに対して、所定の数の予備ラインを予め形成した半導体メモリが知られている。係る半導体メモリにおいて、不良の記憶セル(フェイルビット)を有するアドレスラインを予備ラインで置き換えることにより、不良の記憶セルを有する半導体メモリを救済することができる(例えば、特許文献1参照)。
特開平2−24899号公報
しかし、半導体メモリに形成できる予備ラインの本数は限界がある。このため、フェイルビットを有するアドレスラインに対して、適切に予備ラインを割り当てなければ、全てのフェイルビットを救済することができない場合がある。しかし、近年の半導体メモリは、非常に多くのアドレスラインを有しているので、全てのフェイルビットを救済できるような予備ラインの割り当て解を検出するのに非常に長い時間がかかってしまう。このため、全てのフェイルビットを救済できる予備ラインの割り当て解を、効率よく検出する方法が望まれている。
このため本発明は、上述した課題を解決することのできる予備ライン割当装置、メモリ救済装置、予備ライン割当方法、メモリ製造方法、およびプログラムを提供することを目的とする。この目的は、請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために本発明の第1の形態においては、複数の予備ラインが設けられたメモリについて、フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれのフェイルラインに予備ラインを割り当てるかを決定する予備ライン割当装置であって、それぞれのフェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、フェイルビットごとに直交フェイルビット数を格納するビット計数部と、それぞれのフェイルラインに含まれるフェイルビットの直交フェイルビット数に基づいて、それぞれのフェイルラインの重み係数を算出して、フェイルラインごとに重み係数を格納する重み算出部と、重み算出部が算出した、重み係数の大小関係に基づいて、いずれのフェイルラインに予備ラインを割り当てるかを決定する割当部とを備える予備ライン割当装置を提供する。
本発明の第2の形態においては、複数の予備ラインが設けられたメモリのフェイルビットを救済するメモリ救済装置であって、メモリにおいて、フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれのフェイルラインに予備ラインを割り当てるかを決定する予備ライン割当装置と、予備ライン割当装置が決定した割当てを、メモリに設定する設定部とを備え、予備ライン割当装置は、それぞれのフェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、フェイルビットごとに直交フェイルビット数を格納するビット計数部と、それぞれのフェイルラインに含まれるフェイルビットの直交フェイルビット数に基づいて、それぞれのフェイルラインの重み係数を算出して、フェイルラインごとに重み係数を格納する重み算出部と、重み算出部が算出した、重み係数の大小関係に基づいて、いずれのフェイルラインに予備ラインを割り当てるかを決定する割当部とを有するメモリ救済装置を提供する。
本発明の第3の形態においては、複数の予備ラインが設けられたメモリについて、フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれのフェイルラインに予備ラインを割り当てるかを決定する予備ライン割当方法であって、それぞれのフェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、フェイルビットごとに直交フェイルビット数を記憶し、それぞれのフェイルラインに含まれるフェイルビットの直交フェイルビット数に基づいて、それぞれのフェイルラインの重み係数を算出して、フェイルラインごとに重み係数を記憶し、重み係数の大小関係に基づいて、いずれのフェイルラインに予備ラインを割り当てるかを決定する予備ライン割当方法を提供する。
本発明の第4の形態においては、メモリを製造するメモリ製造方法であって、複数の予備ラインが設けられたメモリを形成する段階と、形成したメモリにおいて、フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれのフェイルラインに予備ラインを割り当てるかを決定することにより、メモリを救済する段階とを備え、メモリを救済する段階は、それぞれのフェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、フェイルビットごとに直交フェイルビット数を記憶し、それぞれのフェイルラインに含まれるフェイルビットの直交フェイルビット数に基づいて、それぞれのフェイルラインの重み係数を算出して、フェイルラインごとに重み係数を記憶し、重み係数の大小関係に基づいて、いずれのフェイルラインに予備ラインを割り当てるかを決定するメモリ製造方法を提供する。
コンピュータを、複数の予備ラインが設けられたメモリについて、フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれのフェイルラインに予備ラインを割り当てるかを決定する予備ライン割当装置として機能させるプログラムであって、コンピュータを、それぞれのフェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、フェイルビットごとに直交フェイルビット数を格納するビット計数部と、それぞれのフェイルラインに含まれるフェイルビットの直交フェイルビット数に基づいて、それぞれのフェイルラインの重み係数を算出して、フェイルラインごとに重み係数を格納する重み算出部と、重み算出部が算出した、重み係数の大小関係に基づいて、いずれのフェイルラインに予備ラインを割り当てるかを決定する割当部として機能させるプログラムを提供する。
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
半導体メモリ等のメモリ40を試験するメモリ試験装置10、およびメモリ40のフェイルビットを救済するメモリ救済装置20の一例を示す図である。 予備ライン割当装置100の構成の一例を示す図である。 メモリ40のフェイルデータの一例を示す図である。 予備ライン割当装置100における処理の一例を説明する図である。 予備ライン割当装置100の他の構成例を示す図である。 図5に示した予備ライン割当装置100の処理の一例を説明する図である。 図1から図6において説明した予備ライン割当装置100の動作の一例を示すフローチャートである。 図7において説明した予備ラインの割当処理S404の、処理の一例を示すフローチャートである。 メモリ40における他のフェイルデータの例を示す図である。 予備ライン割当装置100の他の構成例を示す図である。 孤立フェイル検出部150に与えられるフェイルデータのビットマップの一例を示す図である。 救済可否判定部140の一部の構成例を示す図である。 フェイルビットのビットマップの一例を示す図である。 本発明の一つの実施形態に係るメモリ製造方法の一例を示すフローチャートである。 本発明の一つの実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
符号の説明
10・・・メモリ試験装置、20・・・メモリ救済装置、30・・・設定部、40・・・メモリ、100・・・ライン割当装置、110・・・ビット計数部、120・・・重み算出部、130・・・割当部、140・・・救済可否判定部、142・・・第1の乗算部、144・・・第2の乗算部、146・・・比較部、150・・・孤立フェイル検出部、1900・・・コンピュータ、2000・・・CPU、2010・・・ROM、2020・・・RAM、2030・・・通信インターフェース、2040・・・ハードディスクドライブ、2050・・・フレキシブルディスク・ドライブ、2060・・・CD−ROMドライブ、2070・・・入出力チップ、2080・・・表示装置、2082・・・ホスト・コントローラ、2084・・・入出力コントローラ、2090・・・フレキシブルディスク、2095・・・CD−ROM
以下、発明の実施形態を通じて本発明を説明するが、以下の実施形態は請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、半導体メモリ等のメモリ40を試験するメモリ試験装置10、およびメモリ40のフェイルビットを救済するメモリ救済装置20の一例を示す図である。メモリ試験装置10は、試験対象のメモリ40の各記憶セルが、正常に動作するか否かを試験する。メモリ試験装置10は、メモリ40の各記憶セルがフェイルビットであるか否かを示すフェイルデータを、ライン救済装置20に入力してよい。メモリ40は、例えば2次元のマトリクス状に記憶セルが配置された半導体メモリであってよい。また、メモリ40には、記憶セルのマトリクスにおける行方向または列方向のアドレスラインに対して、それぞれ所定の数の予備ラインが予め設けられる。
メモリ救済装置20は、予備ライン割当装置100および設定部30を備える。予備ライン割当装置100は、メモリ試験装置10からメモリ40のフェイルデータを受け取る。また、予備ライン割当装置100は、当該フェイルデータに基づいて、メモリ40においてフェイルビットを有する行方向のアドレスライン(行方向のフェイルライン)及び列方向のアドレスライン(列方向のフェイルライン)のうち、いずれのフェイルラインに予備ラインを割り当てるかを決定する。ここで、フェイルラインとは、行方向および列方向のアドレスラインのうち、フェイルビットを有するアドレスラインを指してよい。設定部30は、予備ライン割当装置100が決定した予備ラインの割当てを、メモリ40に設定する。例えば設定部30は、当該予備ラインの割当てに応じて、メモリ40内の配線をレーザ等により溶断することで、当該割当てをメモリ40に設定してよい。このような処理により、フェイルビットを救済したメモリ40を製造することができる。
図2は、予備ライン割当装置100の構成の一例を示す図である。予備ライン割当装置100は、ビット計数部110、重み算出部120、および割当部130を有する。ビット計数部110は、メモリ試験装置10からメモリ40のフェイルデータを受け取る。
図3は、メモリ40のフェイルデータの一例を示す図である。ビット計数部110は、図3に示すような、フェイルデータのビットマップを受け取ってよい。ビット計数部110は、当該ビットマップを格納するビットマップメモリを有してよい。なお図3においては、行方向および列方向に、10ラインずつのアドレスラインを有するメモリ40を一例として説明する。また図3において、行方向および列方向のアドレスラインが交差する点が、それぞれ1ビットの記憶セルに対応する。また、本例のメモリ40におけるフェイルビットをX印で示す。本例では、(行アドレス、列アドレス)=(1、1)、(1、3)、(1、5)、(1、9)、(2、1)、(3、2)、(3、4)、(3、7)、(5、3)、(6、4)、(8、4)の各ビットが、フェイルビットである。
ビット計数部110は、それぞれのフェイルライン(行方向のアドレスライン1、2、3、5、6、8、および列方向のアドレスライン1、2、3、4、5、7、9)に含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を、直交フェイルビット数として計数する。例えば、フェイルビット(n,m)の行アドレスラインnにおける直交フェイルビット数は、フェイルビット(n,m)を含み、且つ行アドレスラインnと直交する列アドレスラインmが有するフェイルビット数である(ただし、n,mは整数)。また、フェイルビット(n,m)の列アドレスラインmにおける直交フェイルビット数は、フェイルビット(n,m)を含み、且つ列アドレスラインmと直交する行アドレスラインnが有するフェイルビット数である。
より具体的には、例えばフェイルビット(1,1)の行アドレスライン1における直交フェイルビット数は、列アドレスライン1が有するフェイルビット数であるので、本例では"2"となる。また、フェイルビット(1,1)の列アドレスライン1における直交フェイルビット数は、行アドレスライン1が有するフェイルビット数であるので、本例では"4"となる。
ビット計数部110は、それぞれのフェイルビット(n,m)について、行アドレスラインnにおける直交フェイルビット数と、列アドレスラインmにおける直交フェイルビット数とを計数して、それぞれのフェイルビットごとに格納する。ビット計数部110は、メモリ40の各ビットに対して、行アドレスラインにおける直交フェイルビット数を格納する行ビット数レジスタと、列アドレスラインにおける直交フェイルビット数を格納する列ビット数レジスタとを、それぞれ有してよい。
重み算出部120は、それぞれのフェイルラインに含まれるフェイルビットの、当該フェイルラインにおける直交フェイルビット数に基づいて、それぞれのフェイルラインの重み係数を算出する。例えば重み算出部120は、当該フェイルラインにおける直交フェイルビット数がより大きいフェイルビットに対して、より小さい係数を算出してよい。そして、それぞれのフェイルラインが有するフェイルビットの係数の総和を、当該フェイルラインの重み係数として算出してよい。
基本的には、含まれるフェイルビット数がより多いフェイルラインに対して、順次予備ラインを割り当てることにより、より多くのフェイルビットを救済することができる。しかし、メモリ40の各記憶セルは、メモリ40の所定の面内に形成されるので、行アドレスラインおよび列アドレスラインの双方に属するように、2次元マトリクス状に形成することが好ましい。このため、各フェイルビットは、行アドレスラインおよび列アドレスラインの双方で救済することができる。このとき、一つのフェイルビットが、行アドレスラインの予備ライン、および列アドレスラインの予備ラインの双方で救済されるように予備ラインを割り当てた場合、救済できるフェイルビットの総数が減少してしまう。
これに対し、予備ライン割当装置100は、各フェイルビットについて、行アドレスラインおよび列アドレスラインにおける直交フェイルビット数を求めることにより、それぞれのフェイルビットを行アドレスラインまたは列アドレスラインのいずれで救済すべきかを示す係数を取得することができる。そして、各フェイルラインが有するフェイルビットの係数の総和を求めることにより、予備ラインを割り当てるべきかを示す重み係数を、各フェイルラインについて取得することができる。
より具体的には、重み算出部120は、それぞれのフェイルラインが有するフェイルビットの、当該フェイルラインにおける直交フェイルビット数の逆数の総和に基づいて、当該フェイルラインの重み係数を算出してよい。例えば、行アドレスライン1が有するフェイルビット(1,1)、(1,3)、(1,5)、(1,9)の、行アドレスライン1における直交フェイルビット数は、2、2、1、1となる。重み算出部120は、行アドレスライン1の重み係数として、これらの直交フェイルビット数の逆数の総和、すなわち1/2+1/2+1/1+1/1=3を算出してよい。重み係数算出部120は、フェイルラインごとに重み係数を算出して格納してよい。重み係数算出部120は、アドレスラインごとに設けられ、対応するアドレスラインの重み係数を格納する重みレジスタを有してよい。
割当部130は、重み算出部120が算出した重み係数の大小関係に基づいて、いずれのフェイルラインに予備ラインを割り当てるかを決定する。例えば割当部130は、重み係数がより大きいフェイルラインに予備ラインを割り当ててよい。例えば図3に示した例では、行アドレスライン1の重み係数が最も大きいので、割当部130は、行アドレスライン1に、行方向の予備ラインを割り当ててよい。
また、割当部130には、メモリ40に設けられた行方向および列方向の予備ラインのそれぞれの本数が予め通知されてよい。例えば割当部130には、使用者等により、予備ラインの本数が予め通知される。割当部130は、通知された行方向および列方向の予備ラインの本数をそれぞれ格納する初期予備ライン数レジスタを有してよい。また、割当部130は、いずれかのフェイルラインに予備ラインを割り当てた場合に、該当する方向の予備ラインの本数を減じることにより算出した、各方向の残存予備ライン数を格納する残存予備ライン数レジスタを更に有してよい。割当部130は、残存予備ライン数がゼロでないことを条件として、当該方向の予備ラインを、フェイルラインに割り当ててよい。
図4は、予備ライン割当装置100における処理の一例を説明する図である。図3において説明したように、割当部130は、重み係数が最も大きいフェイルライン(図3では、行アドレスライン1)に、対応する方向の予備ラインを割り当てる。このとき、割当部130は、当該フェイルラインに予備ラインを割り当てた旨を、ビット計数部110に通知してよい。
ビット計数部110は、予備ラインが割り当てられたフェイルラインに含まれるフェイルビットを除外した場合の、それぞれのフェイルビットの行方向および列方向における直交フェイルビット数を算出する。ビット計数部110は、予備ラインが割り当てられたフェイルラインに含まれるフェイルビットを除外した場合のフェイルデータのビットマップを格納する更新ビットマップメモリを更に有してよい。
本例のビット計数部110は、図4に示すように、行アドレスライン1が有するフェイルビットが救済されたものとして、それぞれのフェイルビットの直交フェイルビット数を再計算する。ビット計数部110は、再計算した行方向および列方向の直交フェイルビット数をそれぞれのフェイルビットについて新たに格納する、行方向および列方向の再計算ビット数レジスタを更に有してよい。
重み算出部120は、ビット計数部110が再計算して新たに格納した直交フェイルビット数に基づいて、予備ラインが割り当てられたフェイルラインに含まれるフェイルビットを除外した場合の、それぞれのフェイルラインの重み係数を算出する。例えば、本例の行アドレスライン2の重み係数は、行アドレスライン1のフェイルビットが救済されたことにより、1/2から1に再計算される。重み算出部120は、フェイルラインごとに重み係数を再計算して格納する。重み算出部120は、アドレスラインごとに設けられ、対応するアドレスラインに対して再計算された重み係数を格納する、更新重みレジスタを更に有してよい。
割当部130は、重み算出部120が新たに格納した重み係数に基づいて、次に予備ラインを割り当てるべきフェイルラインを選択する。例えば割当部130は、更新された重み係数が最も大きいフェイルラインに、次の予備ラインを割り当ててよい。また、例えば図4の行アドレスライン3と列アドレスライン4のように、重み係数が同一の値となる場合も考えられる。この場合、割当部130は、使用者等により予め指定される方向のフェイルラインを優先して、予備ラインを割り当ててよい。また、割当部130は、残存予備ライン数がより大きい方向のフェイルラインを優先して、予備ラインを割り当ててもよい。また、割当部130は、重み係数が同一である複数のフェイルラインに対して、同時に予備ラインを割り当ててもよい。
このような処理を繰り返すことにより、救済できるフェイルビット数が最大化されるように、予備ラインを割り当てることができる。このため、全てのフェイルビットが救済されるような予備ラインの割り当ての解を、効率よく検出することができる。
図5は、予備ライン割当装置100の他の構成例を示す図である。本例における予備ライン割当装置100は、図1から図4に関連して説明した予備ライン割当装置100の構成に対して、救済可否判定部140を更に備える。本例の予備ライン割当装置100における他の構成要素は、図1から図4に関連して説明した予備ライン割当装置100と同一であってよい。
救済可否判定部140は、図1から図4において説明したように予備ラインを順次割り当てた場合に、全てのフェイルビットを救済できるか否かを判定する。例えば救済可否判定部140は、割当部130が、いずれかのフェイルラインに予備ラインを割り当てる毎に、全てのフェイルビットを救済できる可能性が残っているか否かを判定してよい。
一例として、救済可否判定部140は、残存予備ライン数がゼロとなった場合に、救済されていないフェイルビットが残っている場合に、全てのフェイルビットを救済できる可能性が無くなったと判定してよい。また、残存予備ライン数がゼロでない場合においても、救済可否判定部140は、例えば図10から図12において後述するような方法で、全てのフェイルビットを救済できる可能性が残っているか否かを判定してよい。
割当部130は、いずれのフェイルラインに予備ラインを割り当てたかを、救済可否判定部140に通知してよい。救済可否判定部140は、当該通知の内容と、ビット計数部110、重み算出部120、および割当部130における各レジスタ、各メモリの情報とに基づいて、全てのフェイルビットを救済できる可能性が残っているか否かを判定してよい。
例えば救済可否判定部140は、当該フェイルラインに予備ラインを割り当てた結果、割当部130の残存予備ライン数レジスタが格納したライン数がゼロとなり、且つビット計数部110の更新ビットマップメモリが格納したビットマップにフェイルデータが残存する場合に、全てのフェイルビットを救済できる可能性が無いと判定してよい。また、救済可否判定部140は、当該フェイルラインに予備ラインを割り当てた結果、一の方向の残存予備ライン数がゼロとなり、且つ他の方向の残存予備ライン数が当該他の方向のフェイルライン数より少なくなった場合に、全てのフェイルビットを救済できる可能性が無いと判定してもよい。
図6は、図5に示した予備ライン割当装置100の処理の一例を説明する図である。本例では、残存するフェイルビットが(行アドレス、列アドレス)=(1、1)、(1、2)、(2、3)、(2、4)、(2、5)、(2、6)、(3、4)、(3、5)、(3、6)の各ビットであり、行方向の残存予備ライン数が1であり、列方向の残存予備ライン数が4である第1の状態の場合を説明する。図6に示す第1の状態は、メモリ40の初期状態であってよく、また図1から図5において説明した処理において、いくつかの予備ラインが割り当てられた後の状態であってもよい。
図1から図4において説明したように、重み算出部120は、それぞれのアドレスラインに対して重み係数を算出する。そして、割当部130は、重み係数が最も大きいフェイルラインに、予備ラインを割り当てる。本例では、行アドレスライン2の重み係数が最も大きいので、行アドレスライン2に、行方向の予備ラインを割り当てる。この結果、行方向の残存予備ライン数はゼロとなる。また、列方向のフェイルライン数は"5"となり、列方向の残存予備ライン数"4"より大きい。このような場合、救済可否判定部140は、いずれかのフェイルビットを救済できないと判定して、その旨を割当部130に通知する。
割当部130は、当該通知を受けた場合に、予備ラインが既に割り当てられているフェイルラインのいずれかを第1のフェイルラインとして、第1のフェイルラインに対する予備ラインの割り当てを解除する。本例の割当部130は、直前に予備ラインを割り当てた行アドレスライン2を第1のフェイルラインとして、予備ラインの割り当てを解除する。このとき、ビット計数部110、重み算出部120、および割当部130における各レジスタおよび各メモリの内容は、第1のフェイルラインに予備ラインを割り当てる前の状態に戻される。
例えば重み算出部120は、救済可否判定部140が、いずれかのフェイルビットを救済できないと判定した場合に、第1のフェイルラインに予備ラインを割当てる前の重み係数を再計算してよい。また、ビット計数部110、重み算出部120、および割当部130は、各レジスタおよび各メモリについて、フェイルラインに予備ラインを割り当てる毎のそれぞれの状態を格納するキャッシュメモリを有してよい。
また、割当部130は、救済可否判定部140から、いずれかのフェイルビットを救済できない旨の通知を受けた場合に、第1のフェイルラインが有するフェイルビットを含み、且つ第1のフェイルラインとは異なる方向の、それぞれの第2のフェイルラインを選択して、予備ラインを割り当てる。本例の割当部130は、行アドレスライン2が有するフェイルビット(2,3)、(2,4)、(2,5)、(2,6)を含み、且つ行アドレスライン2と直交する4本の列アドレスライン3、4、5、6に、列方向の予備ラインを割り当てる。
本例では、第2フェイルラインとして選択されたアドレスラインの本数が、当該方向に残存する予備ライン数以下であるので、救済可否判定部140は、全てのフェイルビットを救済できる可能性がある旨を、割当部130に通知する。ビット計数部110および重み算出部120は、それぞれの第2フェイルラインに予備ラインを割り当てた状態の、フェイルデータのビットマップ、直交フェイルビット数、重み係数等を再計算する。
そして、割当部130は、再計算された重み係数に基づいて、次に予備ラインを割り当てるべきフェイルラインを選択する。本例の割当部130は、行アドレスライン1の重み係数が最も大きいので、行アドレスライン1に、行方向の予備ラインを割り当てる。このとき、救済可否判定部140は、行方向の残存予備ライン数がゼロでなく、且つ当該予備ラインを割り当てた場合に残存するフェイルビットがゼロとなるので、当該割当により、全てのフェイルビットが救済できた旨を割当部130に通知してよい。割当部130は、当該通知を受けた場合に、予備ラインの割当の態様を確定して、設定部30に通知してよい。
以上のように、第1のフェイルラインに予備ラインを設定すると全てのフェイルビットを救済できる可能性が無いと判定された場合、予備ライン割当装置100は、第1のフェイルラインに対する割り当てを解除することにより、第1のフェイルラインを割り当てた状態での予備ラインの割り当て解を探索するそれ以降の処理を省略することができる。このため、処理時間を短縮することができる。また、第1のフェイルラインに予備ラインを設定しない場合、第1のフェイルラインに含まれるフェイルビットは、直交する第2のフェイルラインに予備ラインを割り当てなければ救済できない。本例のように、第1のフェイルラインに対する割り当てを解除した場合に、直交する第2のフェイルラインに強制的に予備ラインを割り当てることにより、予備ラインの割り当て解を探索する処理の効率を向上させることができる。
また、第2フェイルラインとして選択されたアドレスラインの本数が、当該方向に残存する予備ライン数より多い場合、救済可否判定部140は、全てのフェイルビットを救済できる可能性が無い旨を、割当部130に通知する。この場合、第1の状態における残存フェイルビットと、残存予備ラインとの組み合わせでは、全てのフェイルビットを救済できる予備ラインの割り当て解が存在しない。
このため割当部130は、第1の状態となる直前に、フェイルラインに割り当てた予備ラインを更に解除する。つまり割当部130は、当該フェイルラインに予備ラインを割り当てた結果、残存フェイルビットおよび残存予備ラインが第1の状態となった、フェイルラインに対する予備ラインの割り当てを更に解除する。そして割当部130は、予備ラインの割り当てを解除したフェイルラインのフェイルビットを含み、且つ当該フェイルラインに直交するフェイルラインに予備ラインを強制的に割り当てる。
このように、予備ライン割当装置100は、全てのフェイルビットを救済できる可能性が無い場合に、予備ラインの割り当てを順に解除して、直交するフェイルラインに予備ラインを強制的に割り当てる。そして、予備ラインの割り当て解を探索することにより、効率よく割り当て解を検出することができる。
図7は、図1から図6において説明した予備ライン割当装置100の動作の一例を示すフローチャートである。上述したように、まずビット計数部110は、各フェイルビットについて、行方向および列方向の直交フェイルビット数を計数する(S400)。
次に、重み算出部120は、各フェイルラインに含まれるフェイルビットの直交フェイルビット数に基づいて、それぞれのフェイルラインの重み係数を算出する(S402)。そして、予備ライン割当装置100は、図1から図6において説明したように、フェイルラインの重み係数に基づいて、予備ラインの割当処理を行う(S404)。
そして予備ライン割当装置100は、S404の処理により全てのフェイルビットが救済できるか否かを判定する(S406)。全てのフェイルビットが救済できる場合、設定部30はメモリ40に対して救済処理を行う(S408)。また、いずれかのフェイルビットが救済できない場合、予備ライン割当装置100は、例えばその旨を使用者等に通知することにより、救済不可の処理を行う(S410)。
図8は、図7において説明した予備ラインの割当処理S404の、処理の一例を示すフローチャートである。上述したように、割当部130は、重み係数が最大のフェイルラインに予備ラインを割り当てる(S500)。次に、救済可否判定部140は、割当部130が一つの予備ラインをフェイルラインに割り当てた場合に、予め定められた判定基準に基づいて、全てのフェイルビットを救済できる可能性が残っているか否かを判定する(S502)。例えば救済可否判定部140は、上述したように、残存フェイルビットと、残存予備ライン数とに基づいて、全てのフェイルビットを救済できるか否かを判定してよい。
S502において全てのフェイルビットを救済できる可能性が残っていると判定された場合、ビット計数部110および重み算出部120の各レジスタおよび各メモリのデータを更新する。例えば重み算出部120は、重み係数を更新する(S504)。また、救済可否判定部140は、救済されていないフェイルビットが存在するか否かを判定する(S506)。S506において、救済されていないフェイルビットが存在すると判定された場合、S500からの処理を繰り返して、予備ラインを順次割り当てる。また、S506において、救済されていないフェイルビットが存在しないと判定された場合、予備ラインの当該割り当ての態様で、全てのフェイルビットが救済可能であると判定する(S508)。この場合、図7において説明したように設定部30により、救済処理S508を行う。
また、S502において、全てのフェイルビットを救済できる可能性が無いと判定された場合、割当部130は、直前に設定した予備ラインの割り当てを解除する(S510)。そして、ビット計数部110および重み算出部120の各レジスタおよび各メモリのデータを、当該予備ラインを割り当てる前の状態に戻す。例えば重み算出部120は、当該予備ラインを割り当てる前の状態の重み係数を再計算してよい(S512)。
次に、割当部130は、予備ラインの割り当てを解除した第1のフェイルラインのフェイルビットを含み、第1のフェイルラインと直交する第2のフェイルラインを選択して、予備ラインを割り当てる(S514)。次に、救済可否判定部140は、全てのフェイルビットを救済できる可能性があるか否かを判定する(S516)。
S516において、全てのフェイルビットを救済できる可能性があると判定された場合、当該予備ラインの割り当てに基づいて、S504以降の処理を行う。また、S516においていずれかのフェイルビットを救済できないと判定された場合、割当部130は、更に予備ラインの割り当てを解除できるか否かを判定してよい(S518)。例えば、既にメモリ40の初期状態にまで遡って予備ラインの割り当てを解除している場合、これ以上の予備ラインの割り当てを解除できないと判定してよい。
S518において、更に予備ラインの割り当てを解除できると判定した場合、割当部130は、S510の処理に戻り、直前に割り当てた予備ラインを解除する。また、S518において、更に予備ラインの割り当てを解除できないと判定した場合、メモリ40に対しての全てのフェイルビットを救済できる予備ラインの割り当て解は存在しないとして、処理を終了する。この場合、図7において説明した救済不可処理S410を実行する。以上のような処理により、予備ラインの割り当て解を効率よく検出することができる。
また、以上の例においては、予備ラインを割り当てる毎に、各フェイルラインの重み係数を更新する例を説明した。他の例では、予備ライン割当装置100は、各フェイルラインの重み係数を更新せずともよい。この場合、予備ライン割当装置100は、図8において説明した、重み係数更新処理S504および重み係数再計算処理S512を省略してよい。このような処理によっても、予備ラインの割り当て解を効率よく検出することができる。
また、図8の処理例では、S502において、全てのフェイルビットを救済できないと判定された場合に、直前に割り当てた予備ラインを解除する(S512)。他の例におけるS512の処理では、S500において最初に割り当てた予備ラインを解除してもよい。この場合、S512の処理では、ビット計数部110および重み算出部120の各レジスタおよび各メモリは、初期状態に戻される。また、S500の処理の前に、割当部130は、予め定められた数のフェイルビットがあるフェイルラインに、予備ラインを予め割り当ててよい。
図9は、メモリ40における他のフェイルデータの例を示す図である。また、本例のメモリ40の記憶領域は、列方向および行方向の少なくとも一方において、複数の記憶ブロックに分割される。図9の例では、メモリ40の記憶領域は、行方向に3つのブロックに分割され、列方向に2つのブロックに分割される。メモリ40は、それぞれの記憶ブロックごとに、行方向および列方向の予備ラインを有してよい。
係るメモリ40に対して、図8において説明したS502の処理において、救済可否判定部140がいずれかのフェイルビットを救済できないと判定した場合、直前の第1のフェイルライン割り当てた予備ラインを解除する(S510)。そして、S514の処理において割当部130は、第1のフェイルラインと同一の方向のフェイルであり、且つ記憶ブロック毎のフェイルビット数が、第1のフェイルラインと同一となる第3のフェイルラインを選択して、予備ラインを強制的に割り当ててよい。このとき、割当部130は、前述した第2のフェイルライン、および第3のフェイルラインの双方に対して、予備ラインを割り当ててよい。
例えば、図8において説明したS500の処理において、図9に示した行アドレスライン1に予備ラインを割り当てた場合を説明する。この場合において、いずれかのフェイルビットを救済できないと判定された場合(S502)、S514の処理においては、まず第2のフェイルラインとして、列アドレスライン1、2、7、8、9が選択される。更に、行アドレスライン2が有するフェイルビットの記憶ブロック毎の個数は、行アドレスライン1が有するフェイルビットの記憶ブロック毎の個数と同一となるので、割当部130は、行アドレスライン2のフェイルビットを含み、且つ行アドレスライン2と直交する列アドレスライン2、3、6、7、9を第3のフェイルラインとして選択する。
そして割当部130は、選択した第2のフェイルラインおよび第3のフェイルラインに、強制的に予備ラインを割り当てる(S514)。このように、記憶ブロック毎に予備ラインが設けられている場合において、あるフェイルラインに予備ラインを割り当てると全てのフェイルビットを救済できない場合、当該フェイルラインに対して、記憶ブロック毎のフェイルビット数が同一であるフェイルラインも、予備ラインを割り当てた場合には全てのフェイルビットを救済できない可能性が高い。係るフェイルラインについても、直交する第3のフェイルラインに強制的に予備ラインを割り当てることにより、予備ラインの割り当て解を更に効率よく探索することができる。
図10は、予備ライン割当装置100の他の構成例を示す図である。本例の予備ライン割当装置100は、図5に関連して説明した予備ライン割当装置100の構成に加え、孤立フェイル検出部150を更に備える。他の構成要素は、図5に関連して説明した予備ライン割当装置100と同一であってよい。
孤立フェイル検出部150は、当該フェイルビットを含む列方向および行方向のフェイルラインに、他のフェイルビットが無い場合に、当該フェイルビットを孤立フェイルビットとして検出する。つまり、孤立フェイル検出部150は、列方向のあるフェイルラインに含まれるフェイルビットが一つだけであり、且つ当該フェイルビットを含み当該フェイルラインと直交する行方向のフェイルラインに、他のフェイルビットが含まれない場合に、当該フェイルビットを孤立フェイルビットとして検出する。孤立フェイル検出部150は、ビット計数部110が順次更新して格納しているフェイルデータのビットマップに基づいて、それぞれの状態における孤立フェイルビットを順次検出してよい。
図11は、孤立フェイル検出部150に与えられるフェイルデータのビットマップの一例を示す図である。上述したように、孤立フェイル検出部150は、当該ビットマップに基づいて、孤立フェイルビットを検出してよい。本例では、孤立フェイル検出部150は、フェイルビット(1,1)、(2,2)、(3,3)、(4,4)、(5,5)の5つのフェイルビットを、孤立フェイルビットとして検出する。
また、救済可否判定部140は、図8に示したS502およびS516の処理において、孤立フェイルビット数および残存予備ライン数に基づいて、全てのフェイルビットを救済できる可能性が残っているか否かを判定してよい。例えば救済可否判定部140は、行方向および列方向の残存予備ライン数の和が、孤立フェイル数より少ない場合に、全てのフェイルビットを救済できる可能性が無いと判定してよい。
また、割当部130は、図8において説明したS500の処理において、孤立フェイル数および残存予備ライン数に基づいて、強制的に予備ラインを割り当てるべきフェイルラインを選択してよい。例えば割当部130は、孤立フェイルビット数から、列方向の残存予備ラインの本数を減じた減算結果に応じた本数の行方向の予備ラインを、孤立フェイルビットを含む任意の行方向のフェイルラインに割り当ててよい。
例えば、孤立フェイルビット数が"5"であり、列方向の残存予備ラインの本数が"2"である場合、割当部130は、3本の行方向の予備ラインを、孤立フェイルビットを含むいずれか3本の行方向のフェイルラインに割り当てる。同様に、孤立フェイルビット数が"5"であり、行方向の残存予備ラインの本数が"4"である場合、割当部130は、1本の列方向の予備ラインを、孤立フェイルビットを含むいずれか1本の列方向のフェイルラインに割り当てる。
各方向の予備ラインで救済できる孤立フェイルビット数の最大値は、当該方向の残存予備ライン数となる。このため、行方向または列方向の少なくともいずれかの残存予備ライン数aが孤立フェイルビット数bより少ない場合、他の方向の予備ラインでは、少なくともb−a個の孤立フェイルビット数を救済しなければならない。
このため、上述したように、孤立フェイル数および残存予備ライン数に基づいて、強制的に予備ラインを割り当てることにより、更に効率よく予備ラインの割り当て解を探索することができる。また、孤立フェイル検出部150は、重み係数に基づいて割当部130が予備ラインをフェイルラインに割当てる毎に、当該フェイルラインに含まれるフェイルビットを除外した状態における、孤立フェイルビットを検出してよい。孤立フェイル検出部150は、各状態における孤立フェイルビット数を格納するレジスタを有してよい。
また、まだ予備ラインが割り当てられておらず、未救済のフェイルビットの全てが孤立フェイルビットとなった場合であって、孤立フェイルビット数が残存予備ライン数より少ない場合、救済可能であることが確定する。この場合、割当部130は、残存している全てのフェイルラインに予備ラインを割り当てて、割当処理を終了してよい。例えば割当部130は、使用者等により予め指定された方向の予備ラインを優先して、残存しているフェイルラインに割り当ててよい。
また、図10および図11に関連して説明した、孤立フェイルビットに係る処理は、図9に関連して説明した記憶ブロック毎に行ってよい。例えば、救済可否判定部140は、いずれかの記憶ブロックにおいて、行方向および列方向の残存予備ライン数の和が、孤立フェイル数より少ない場合に、全てのフェイルビットを救済できる可能性が無いと判定してよい。
図12は、救済可否判定部140の一部の構成例を示す図である。本例の救済可否判定部140は、図1から図11に関連して説明した機能を実行する構成に加え、第1の乗算部142、第2の乗算部144、および比較部146を有する。
第1の乗算部142は、列方向のフェイルラインに含まれるフェイルビットの個数の最大値と、列方向の残存予備ラインの本数とを乗算した第1の乗算値を算出する。つまり、第1の乗算値は、列方向の残存予備ラインにより救済可能なフェイルビットの最大値を示す。また、第2の乗算部144は行方向のフェイルラインに含まれるフェイルビットの個数の最大値と、行方向の残存予備ラインの本数とを乗算した第2の乗算値を算出する。つまり、第2の乗算値は、行方向の残存予備ラインにより救済可能なフェイルビットの最大値を示す。
比較部146は、第1の乗算値および第2の乗算値の和が、残存フェイルビットの総数より小さいか否かを判定する。第1の乗算値および第2の乗算値の和が、残存フェイルビットの総数より小さい場合、残存予備ラインでは全てのフェイルビットを救済できない。この場合、比較部146は、その旨を割当部130に通知する。
図13は、フェイルビットのビットマップの一例を示す図である。本例のフェイルビットの総数は13であり、行方向および列方向の残存予備ラインの本数はそれぞれ"3"である。
第1の乗算部142は、行方向のフェイルラインに含まれるフェイルビットの個数の最大値を検出する。図13に示すように、本例における当該最大値は"2"である。第1の乗算部142は、残存予備ラインの本数"3"と、最大値"2"とを乗算して、第1の乗算値"6"を算出する。
同様に、第2の乗算部144は、列方向のフェイルラインに含まれるフェイルビットの個数の最大値を検出する。図13に示すように、本例における当該最大値は"2"である。第2の乗算部144は、残存予備ラインの本数"3"と、最大値"2"とを乗算して、第2の乗算値"6"を算出する。
本例では、第1の乗算値および第2の乗算値の和"12"が、残存フェイルビット数"13"より小さい。このため比較部146は、全てのフェイルビットを救済できない旨を、割当部130に通知する。このような処理により、全てのフェイルビットを救済できる可能性が無くなったことを、より早期に検出することができるので、予備ラインの割り当て解を効率よく探索することができる。
また、救済可否判定部140は、図12および図13に関連して説明した第1の乗算値および第2の乗算値を用いた処理を、図9に関連して説明した記憶ブロック毎に行ってよい。例えば、救済可否判定部140は、いずれかの記憶ブロックにおける、第1の乗算値および第2の乗算値の和が、残存フェイルビット数より小さい場合に、全てのフェイルビットを救済できる可能性が無いと判定してよい。
図14は、本発明の一つの実施形態に係るメモリ製造方法の一例を示すフローチャートである。当該メモリ製造方法は、図1から図13において説明した予備ライン割当方法およびメモリ救済方法を用いて、半導体メモリ等のメモリ40を製造する。
まず、メモリ形成段階において、複数の予備ラインが設けられたメモリ40を形成する(S600)。次に、メモリ40を試験して、メモリ40のフェイルデータを生成する(S602)。
次に、予備ライン割当段階において、メモリ40においてフェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれのフェイルラインに予備ラインを割り当てるかを決定する(S604)。S604は、図1から図13において説明した予備ライン割当装置100を用いて行ってよい。
そして、決定した予備ラインの割り当てを、メモリ40に設定してメモリ40を救済することにより、良品のメモリ40を製造する(S606)。S606は、図1から図13において説明した設定部30を用いて行ってよい。このような処理により、良品のメモリ40を効率よく製造することができる。
図15は、本発明の一つの実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。コンピュータ1900は、与えられるプログラムに基づいて、図1から図14において説明した予備ライン割当装置100として機能してよい。
コンピュータ1900が予備ライン割当装置100として機能する場合、プログラムは、コンピュータ1900を、図1から図14において説明したビット計数部110、重み算出部120、割当部130、救済可否判定部140、および孤立フェイル検出部150のすくなくともいずれかとして機能させてよい。例えばプログラムは、CPU2000を、ビット計数部110、重み算出部120、割当部130、救済可否判定部140、および孤立フェイル検出部150として機能させてよく、またハードディスクドライブ2040またはRAM2020を、ビット計数部110、重み算出部120、および割当部130に設けられる各レジスタおよび各メモリとして機能させてよい。
コンピュータ1900は、CPU周辺部、入出力部、及びレガシー入出力部を備える。CPU周辺部は、ホストコントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィックコントローラ2075、及び表示装置2080を有する。入出力部は、入出力コントローラ2084によりホストコントローラ2082に接続される通信インターフェース2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する。レガシー入出力部は、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有する。
ホストコントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィックコントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作して、各部の制御を行う。グラフィックコントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得して、表示装置2080上に表示させる。これに代えて、グラフィックコントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホストコントローラ2082と、比較的高速な入出力装置である通信インターフェース2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェース2030は、ネットワークを介して他の装置と通信する。例えば通信インターフェイス2030は、メモリ試験装置10および設定部30と通信してよい。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050、パラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
当該プログラムは、コンピュータ1900にインストールされる。当該プログラムは、CPU2000等に働きかけて、コンピュータ1900を、前述した予備ライン割当装置100の各構成要素として機能させる。
以上に示したプログラムは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVDおよびCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用して、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることができる。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
以上説明したように、本例における予備ライン割当装置100によれば、予備ラインの割り当て解を効率よく探索することができる。また、メモリ救済装置20によれば、メモリを効率よく救済することができる。

Claims (18)

  1. 複数の予備ラインが設けられたメモリについて、フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定する予備ライン割当装置であって、
    それぞれの前記フェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、前記フェイルビットごとに前記直交フェイルビット数を格納するビット計数部と、
    それぞれの前記フェイルラインに含まれる前記フェイルビットの前記直交フェイルビット数に基づいて、それぞれの前記フェイルラインの重み係数を算出して、前記フェイルラインごとに前記重み係数を格納する重み算出部と、
    前記重み算出部が算出した、前記重み係数の大小関係に基づいて、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定する割当部と
    を備える予備ライン割当装置。
  2. 前記ビット計数部は、それぞれの前記フェイルビットについて、行方向のフェイルラインおよび列方向のフェイルラインの双方に対して、前記直交フェイルビット数を計数する
    請求項1に記載の予備ライン割当装置。
  3. 前記重み算出部は、それぞれの前記フェイルラインが有する前記フェイルビットの、当該フェイルラインにおける前記直交フェイルビット数の逆数の総和に基づいて、当該フェイルラインの前記重み係数を算出する
    請求項2に記載の予備ライン割当装置。
  4. 前記割当部は、前記重み係数に基づいて、いずれかの前記フェイルラインに前記予備ラインを割当てて、
    前記重み算出部は、前記予備ラインが割り当てられた前記フェイルラインに含まれる前記フェイルビットを除外した場合のそれぞれの前記フェイルラインの前記重み係数を算出して、前記フェイルラインごとに前記重み係数を新たに格納し、
    前記割当部は、前記重み算出部が新たに格納した前記重み係数に基づいて、次に前記予備ラインを割り当てるべき前記フェイルラインを選択する
    請求項2に記載の予備ライン割当装置。
  5. 前記割当部は、前記重み係数が最も大きい前記フェイルラインに対して前記予備ラインを順次割り当て、
    前記予備ライン割当装置は、前記重み係数が最も大きい前記フェイルラインに対して前記予備ラインを順次割り当てた場合に、全ての前記フェイルビットを救済できるか否かを判定する救済可否判定部を更に備え、
    前記割当部は、前記救済可否判定部が、いずれかの前記フェイルビットを救済できないと判定した場合に、前記予備ラインが既に割り当てられている前記フェイルラインのいずれかを第1の前記フェイルラインとして、前記第1のフェイルラインに対する前記予備ラインの割り当てを解除し、前記第1のフェイルラインが有する前記フェイルビットを含み、且つ前記第1のフェイルラインとは異なる方向の、それぞれの第2の前記フェイルラインを選択して前記予備ラインを割り当てる
    請求項4に記載の予備ライン割当装置。
  6. 前記重み算出部は、前記救済可否判定部が、いずれかの前記フェイルビットを救済できないと判定した場合に、前記第1のフェイルラインに前記予備ラインを割当てる前の前記重み係数を再計算する
    請求項5に記載の予備ライン割当装置。
  7. 前記救済可否判定部は、前記割当部が一つの前記予備ラインを前記フェイルラインに割り当てるごとに、予め定められた判定基準に基づいて、全ての前記フェイルビットを救済できる可能性が残っているか否かを判定し、
    前記割当部は、前記救済可否判定部において全ての前記フェイルビットを救済できる可能性が無いと判定された場合に、直前に前記予備ラインを割り当てた前記フェイルラインを前記第1のフェイルラインとして前記予備ラインの割り当てを解除する
    請求項6に記載の予備ライン割当装置。
  8. 前記救済可否判定部は、前記割当部が一つの前記予備ラインを前記フェイルラインに割り当てるごとに、予め定められた判定基準に基づいて、全ての前記フェイルビットを救済できる可能性が残っているか否かを判定し、
    前記割当部は、前記救済可否判定部において全ての前記フェイルビットを救済できる可能性が無いと判定された場合に、最初に前記予備ラインを割り当てた前記フェイルラインを前記第1のフェイルラインとして前記予備ラインの割り当てを解除する
    請求項6に記載の予備ライン割当装置。
  9. 前記メモリの記憶領域は、列方向及び行方向の少なくとも一方において、複数の記憶ブロックに分割され、前記メモリは、それぞれの記憶ブロック毎の予備ラインを有し、
    前記割当部は、前記救済可否判定部が、いずれかの前記フェイルビットを救済できないと判定した場合に、前記第1のフェイルラインと同一の方向の前記フェイルラインであり、且つ記憶ブロック毎の前記フェイルビット数が、前記第1のフェイルラインと同一の前記フェイルラインに、前記予備ラインを更に割り当てる
    請求項5に記載の予備ライン割当装置。
  10. 前記割当部は、予め定められた数の前記フェイルビットがある前記フェイルラインに、前記予備ラインを予め割り当てる
    請求項1に記載の予備ライン割当装置。
  11. 当該フェイルビットを含む列方向及び行方向の前記フェイルラインに、他の前記フェイルビットが無い場合に、当該フェイルビットを孤立フェイルビットとして検出する孤立フェイル検出部を更に備え、
    前記割当部は、
    前記孤立フェイルビットの個数から前記フェイルラインに割当てられていない列方向の前記予備ラインの本数を減じ、減算結果に応じた本数の行方向の前記予備ラインを、前記孤立フェイルビットを含む前記フェイルラインに割り当て、
    前記孤立フェイルビットの個数から前記フェイルラインに割当てられていない行方向の前記予備ラインの本数を減じ、減算結果に応じた本数の列方向の前記予備ラインを、前記孤立フェイルビットを含む前記フェイルラインに割り当てる
    請求項1に記載の予備ライン割当装置。
  12. 前記孤立フェイル検出部は、前記割当部が前記予備ラインを前記フェイルラインに割当てる毎に、当該フェイルラインに含まれる前記フェイルビットを除外した状態における、前記孤立フェイルビットを検出する
    請求項11に記載の予備ライン割当装置。
  13. 前記割当部は、前記予備ラインが割当てられていない全ての前記フェイルビットが、前記孤立フェイルビットである場合に、予め定められた方向の前記予備ラインを優先して、当該フェイルラインに割当てる
    請求項11に記載の予備ライン割当装置。
  14. 前記救済可否判定部は、
    それぞれの前記記憶ブロックにおける、列方向の前記フェイルラインに含まれる前記フェイルビットの個数の最大値と、当該記憶ブロックに属する列方向の前記予備ラインのうち、前記フェイルラインに割当てられてない前記予備ラインの本数とを乗算した第1の乗算値を算出する第1の乗算部と、
    それぞれの前記記憶ブロックにおける、行方向の前記フェイルラインに含まれる前記フェイルビットの個数の最大値と、当該記憶ブロックに属する行方向の前記予備ラインのうち、前記フェイルラインに割当てられてない前記予備ラインの本数とを乗算した第2の乗算値を算出する第2の乗算部と、
    それぞれの前記記憶ブロックについて、前記第1の乗算値及び前記第2の乗算値の和が、当該記憶ブロックに含まれる前記フェイルビットの総数より小さいか否かを判定し、いずれかの前記記憶ブロックに対して、前記乗算値の和が前記フェイルビットの総数より小さいと判定した場合に、全ての前記フェイルビットを救済できないと判定する比較部と
    を有する請求項9に記載の予備ライン割当装置。
  15. 複数の予備ラインが設けられたメモリのフェイルビットを救済するメモリ救済装置であって、
    前記メモリにおいて、前記フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定する予備ライン割当装置と、
    前記予備ライン割当装置が決定した割当てを、前記メモリに設定する設定部と
    を備え、
    前記予備ライン割当装置は、
    それぞれの前記フェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、前記フェイルビットごとに前記直交フェイルビット数を格納するビット計数部と、
    それぞれの前記フェイルラインに含まれる前記フェイルビットの前記直交フェイルビット数に基づいて、それぞれの前記フェイルラインの重み係数を算出して、前記フェイルラインごとに前記重み係数を格納する重み算出部と、
    前記重み算出部が算出した、前記重み係数の大小関係に基づいて、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定する割当部と
    を有するメモリ救済装置。
  16. 複数の予備ラインが設けられたメモリについて、フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定する予備ライン割当方法であって、
    それぞれの前記フェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、前記フェイルビットごとに前記直交フェイルビット数を記憶し、
    それぞれの前記フェイルラインに含まれる前記フェイルビットの前記直交フェイルビット数に基づいて、それぞれの前記フェイルラインの重み係数を算出して、前記フェイルラインごとに前記重み係数を記憶し、
    前記重み係数の大小関係に基づいて、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定する予備ライン割当方法。
  17. メモリを製造するメモリ製造方法であって、
    複数の予備ラインが設けられたメモリを形成する段階と、
    形成した前記メモリにおいて、フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定することにより、前記メモリを救済する段階と
    を備え、
    前記メモリを救済する段階は、
    それぞれの前記フェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、前記フェイルビットごとに前記直交フェイルビット数を記憶し、
    それぞれの前記フェイルラインに含まれる前記フェイルビットの前記直交フェイルビット数に基づいて、それぞれの前記フェイルラインの重み係数を算出して、前記フェイルラインごとに前記重み係数を記憶し、
    前記重み係数の大小関係に基づいて、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定するメモリ製造方法。
  18. コンピュータを、複数の予備ラインが設けられたメモリについて、フェイルビットを有する行方向のフェイルライン及び列方向のフェイルラインのうち、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定する予備ライン割当装置として機能させるプログラムであって、
    前記コンピュータを、
    それぞれの前記フェイルラインに含まれるそれぞれのフェイルビットについて、当該フェイルビットを含み、且つ当該フェイルラインとは異なる方向のフェイルラインが有するフェイルビットの個数を直交フェイルビット数として計数して、前記フェイルビットごとに前記直交フェイルビット数を格納するビット計数部と、
    それぞれの前記フェイルラインに含まれる前記フェイルビットの前記直交フェイルビット数に基づいて、それぞれの前記フェイルラインの重み係数を算出して、前記フェイルラインごとに前記重み係数を格納する重み算出部と、
    前記重み算出部が算出した、前記重み係数の大小関係に基づいて、いずれの前記フェイルラインに前記予備ラインを割り当てるかを決定する割当部と
    して機能させるプログラム。
JP2009524359A 2007-07-26 2007-07-26 予備ライン割当装置、メモリ救済装置、予備ライン割当方法、メモリ製造方法、およびプログラム Expired - Fee Related JP4948603B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/064670 WO2009013832A1 (ja) 2007-07-26 2007-07-26 予備ライン割当装置、メモリ救済装置、予備ライン割当方法、メモリ製造方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2009013832A1 JPWO2009013832A1 (ja) 2010-09-30
JP4948603B2 true JP4948603B2 (ja) 2012-06-06

Family

ID=40281095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009524359A Expired - Fee Related JP4948603B2 (ja) 2007-07-26 2007-07-26 予備ライン割当装置、メモリ救済装置、予備ライン割当方法、メモリ製造方法、およびプログラム

Country Status (7)

Country Link
US (1) US8621264B2 (ja)
JP (1) JP4948603B2 (ja)
KR (1) KR101108133B1 (ja)
CN (1) CN101765889B (ja)
DE (1) DE112007003602T5 (ja)
TW (1) TWI400710B (ja)
WO (1) WO2009013832A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180070779A (ko) * 2016-12-16 2018-06-27 삼성전자주식회사 리페어 온 시스템에서의 포스트 패키지 리페어를 위한 데이터 백업 방법
US10658067B2 (en) 2018-05-14 2020-05-19 Micron Technology, Inc. Managing data disturbance in a memory with asymmetric disturbance effects
CN110879931B (zh) * 2018-09-05 2022-04-05 长鑫存储技术有限公司 可视化的存储器芯片修补分析程式检验方法和装置
KR102674032B1 (ko) * 2019-12-26 2024-06-12 삼성전자주식회사 리페어 동작을 수행하는 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US11450401B2 (en) * 2020-05-29 2022-09-20 Taiwan Semiconductor Manufacturing Company, Ltd. Method, system and computer program product for memory repair
TW202145242A (zh) * 2020-05-29 2021-12-01 台灣積體電路製造股份有限公司 用於記憶體修復的方法
US11887685B2 (en) 2020-08-18 2024-01-30 Changxin Memory Technologies, Inc. Fail Bit repair method and device
CN114078561B (zh) * 2020-08-18 2023-09-12 长鑫存储技术有限公司 失效位元修补方案的确定方法及装置
CN114078562B (zh) * 2020-08-18 2023-08-25 长鑫存储技术有限公司 失效位元的修补方法及装置
US11797371B2 (en) 2020-08-18 2023-10-24 Changxin Memory Technologies, Inc. Method and device for determining fail bit repair scheme
EP3985675B1 (en) 2020-08-18 2024-01-31 Changxin Memory Technologies, Inc. Method and device for repairing fail bits
US11791010B2 (en) 2020-08-18 2023-10-17 Changxin Memory Technologies, Inc. Method and device for fail bit repairing
CN114078564B (zh) * 2020-08-18 2023-09-12 长鑫存储技术有限公司 失效位元的修补方法及装置
CN114078563B (zh) * 2020-08-18 2023-09-12 长鑫存储技术有限公司 失效位元的修补方法及装置
CN114444433A (zh) * 2020-11-05 2022-05-06 长鑫存储技术有限公司 失效位元修补方法、装置、设备及存储介质
US12027223B2 (en) 2020-11-05 2024-07-02 Changxin Memory Technologies, Inc. Method, device, apparatus and storage medium for repairing failed bits
CN114550791B (zh) * 2020-11-26 2024-09-13 长鑫存储技术有限公司 备用电路修补位置确定方法及装置、集成电路修补方法
US11984179B2 (en) 2021-03-26 2024-05-14 Changxin Memory Technologies, Inc. Redundant circuit assigning method and device, and medium
US11791012B2 (en) 2021-03-31 2023-10-17 Changxin Memory Technologies, Inc. Standby circuit dispatch method, apparatus, device and medium
US11881278B2 (en) 2021-03-31 2024-01-23 Changxin Memory Technologies, Inc. Redundant circuit assigning method and device, apparatus and medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000311497A (ja) * 1999-04-19 2000-11-07 Infineon Technologies Ag 半導体記憶装置
JP2000348498A (ja) * 1999-06-08 2000-12-15 Mitsubishi Electric Corp 半導体試験装置
JP2003007090A (ja) * 2001-06-20 2003-01-10 Advantest Corp メモリの不良救済解析方法・メモリ試験装置
JP2006252626A (ja) * 2005-03-09 2006-09-21 Elpida Memory Inc メモリ救済方法、メモリテスト装置、プログラム、及び、記録媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2721867B2 (ja) 1988-07-13 1998-03-04 株式会社アドバンテスト 救済アドレス割当て法
JPH09147600A (ja) * 1995-11-29 1997-06-06 Advantest Corp 半導体試験用救済アドレス解析方式
JPH1064294A (ja) * 1996-08-20 1998-03-06 Advantest Corp メモリデバイスの不良救済解析方法
US5983374A (en) * 1996-09-26 1999-11-09 Kabushiki Kaisha Toshiba Semiconductor test system and method, and medium for recording test program therefor
US6032264A (en) * 1997-04-22 2000-02-29 Micron Technology, Inc. Apparatus and method implementing repairs on a memory device
JPH11306793A (ja) * 1998-04-27 1999-11-05 Advantest Corp 不良解析方法および装置
JP3880210B2 (ja) * 1998-08-04 2007-02-14 エルピーダメモリ株式会社 半導体装置
US6052318A (en) * 1998-12-22 2000-04-18 Siemens Aktiengesellschaft Repairable semiconductor memory circuit having parrel redundancy replacement wherein redundancy elements replace failed elements
US6101138A (en) * 1999-07-22 2000-08-08 Eton Technology, Inc. Area efficient global row redundancy scheme for DRAM
TW546664B (en) * 2001-01-17 2003-08-11 Toshiba Corp Semiconductor storage device formed to optimize test technique and redundancy technology
JP2003011497A (ja) * 2001-07-05 2003-01-15 Seiko Epson Corp インクジェット記録媒体、画像形成方法及びこれらにより形成したインクジェット記録物
US7142471B2 (en) * 2005-03-31 2006-11-28 Sandisk 3D Llc Method and apparatus for incorporating block redundancy in a memory array

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000311497A (ja) * 1999-04-19 2000-11-07 Infineon Technologies Ag 半導体記憶装置
JP2000348498A (ja) * 1999-06-08 2000-12-15 Mitsubishi Electric Corp 半導体試験装置
JP2003007090A (ja) * 2001-06-20 2003-01-10 Advantest Corp メモリの不良救済解析方法・メモリ試験装置
JP2006252626A (ja) * 2005-03-09 2006-09-21 Elpida Memory Inc メモリ救済方法、メモリテスト装置、プログラム、及び、記録媒体

Also Published As

Publication number Publication date
JPWO2009013832A1 (ja) 2010-09-30
WO2009013832A1 (ja) 2009-01-29
DE112007003602T5 (de) 2010-07-15
CN101765889B (zh) 2013-12-04
KR20100047281A (ko) 2010-05-07
TWI400710B (zh) 2013-07-01
CN101765889A (zh) 2010-06-30
KR101108133B1 (ko) 2012-01-31
TW200915334A (en) 2009-04-01
US8621264B2 (en) 2013-12-31
US20100169705A1 (en) 2010-07-01

Similar Documents

Publication Publication Date Title
JP4948603B2 (ja) 予備ライン割当装置、メモリ救済装置、予備ライン割当方法、メモリ製造方法、およびプログラム
US20180357541A1 (en) Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same
US10409696B2 (en) Scalable data storage pools
JP4959845B2 (ja) ワークロード・マネージャにおいてディスパッチャのシェアを計算する方法、コンピュータ・プログラム及びデータ処理システム
CN102841852B (zh) 磨损均衡方法、存储装置及信息系统
US8578315B2 (en) Scheduling for parallel processing of regionally-constrained placement problem
US8682850B2 (en) Method of enhancing de-duplication impact by preferential selection of master copy to be retained
CN102081574B (zh) 用于加快系统的唤醒时间的方法和系统
JP5121936B2 (ja) リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法
JP2007095072A (ja) マルチノードコンピュータのメモリ割当て方法、装置、およびプログラム
KR102061763B1 (ko) 시뮬레이션 시스템 및 방법, 상기 시스템을 포함하는 컴퓨팅 시스템
US10990320B2 (en) Systems and methods to optimally select metablocks
CN114830098A (zh) 考虑耗损均衡的存储器操作
KR20000077180A (ko) 반도체메모리기기의 불량분석시스템
CN111341374B (zh) 存储器的测试方法、装置及可读存储器
US6904584B2 (en) Method and system for placing logic nodes based on an estimated wiring congestion
CN104572570B (zh) 具有相干性的芯片堆叠高速缓存扩展
WO2022052542A1 (zh) 失效位元的修补方案的确定方法和装置
US9552453B1 (en) Integrated circuit with power network aware metal fill
JP5600694B2 (ja) クラスタリング装置及び方法及びプログラム
JP4565428B2 (ja) 半導体メモリ試験装置
JP4232354B2 (ja) リダンダンシ演算装置、リダンダンシ演算方法、リダンダンシ演算プログラム、リダンダンシ演算プログラムを記録した記録媒体
US20230308390A1 (en) Provisioning memory resources on flexible hardware platforms
TWI825315B (zh) 圖形資源的分配方法與分配系統
JP5088042B2 (ja) キャッシュタグ試験方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100618

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120306

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees