JP5664204B2 - 半導体メモリ - Google Patents

半導体メモリ Download PDF

Info

Publication number
JP5664204B2
JP5664204B2 JP2010279718A JP2010279718A JP5664204B2 JP 5664204 B2 JP5664204 B2 JP 5664204B2 JP 2010279718 A JP2010279718 A JP 2010279718A JP 2010279718 A JP2010279718 A JP 2010279718A JP 5664204 B2 JP5664204 B2 JP 5664204B2
Authority
JP
Japan
Prior art keywords
bit
cell
defective
data
cells
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
JP2010279718A
Other languages
English (en)
Other versions
JP2012128910A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010279718A priority Critical patent/JP5664204B2/ja
Priority to US13/137,672 priority patent/US20120155196A1/en
Priority to TW100132445A priority patent/TWI464741B/zh
Publication of JP2012128910A publication Critical patent/JP2012128910A/ja
Priority to US14/331,401 priority patent/US9384860B2/en
Application granted granted Critical
Publication of JP5664204B2 publication Critical patent/JP5664204B2/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/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • G11C29/846Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by choosing redundant lines at an output stage
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • G11C29/848Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by adjacent switching
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/20Sequence of activities consisting of a plurality of measurements, corrections, marking or sorting steps
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、データを記憶する半導体メモリ、および製造方法に関する。
SRAM(Static Randam Access Memory)マクロは非常に多くのセルから構成されているため、SRAMマクロを正常動作するために、不良セルを冗長セルに置き換える技術が知られている。不良セルは、たとえば、製造中にまぎれこんだゴミに起因して発生する。さらに、不良セルは、たとえば、製造ばらつきが原因となるマージン性に起因して発生する。マージン性に起因するとは、たとえば、動作可能な電源電圧や温度などのマージンが不足することで、電源電圧が低いと動作しないなどが挙げられる。
不良セルを冗長セルに置き換える技術では、たとえば、1ワード分(または1カラム分)の冗長セルを用意し、不良セルを有するワード(またはカラム)のすべてのセルを、該1ワード分(または1カラム分)の冗長セルに置き換える(「従来技術1」と称する。たとえば、下記特許文献1,2参照。)。また、不良セルを冗長セルに置き換える技術では、DRAM(Dynamic Randam Access Memory)において、ワードごとに1ビット分の不良セルの位置情報を記憶するROM(Read Only Memory)と、1カラム分の冗長セルを用意し、1ワードごとに1不良セルを冗長セルに置き換える(「従来技術2」と称する。たとえば、下記特許文献3参照。)。
特開2001−67889号公報 特開2003−331597号公報 特開平11−17019号公報
しかしながら、近年では、低消費電力化のために、半導体メモリの電源電圧を下げることが行われている。しかしながら、電源電圧を下げることにより、マージン性に起因して、複数のワードで不良セルが発生し、さらに、各ワードにおいて複数のセルが不良セルとなる問題点があった。
従来技術1では、1ワードや1カラムを冗長ワードや冗長カラムに置き換えることができるが、複数のワードや複数のカラムで不良セルが発生した場合、冗長ワードや冗長カラムに置き換えることができない問題点があった。
図36は、従来技術2の一の例を示す説明図である。図36で示すDRAMのメモリセルアレイでは、1ワードが16ビット(列)のデータセルを有し、18ワード(行)ある。さらに、1カラム分の冗長セルがある(冗長カラム)。たとえば、指定ワードでは、2個のセルが不良である(×印のセル)。しかしながら、2個の不良セルのうち、いずれか一方のみのセルは冗長セルに置き換えることができるが、他方のセルは冗長セルに置き換えられない問題点があった。そのため、該DRAMは不良となる問題点があった。
図37は、従来技術2の他の例を示す説明図である。図37で示すDRAMのメモリセルアレイは、図3で示したDRAMのメモリセルアレイに冗長カラムを1列増やした例である。DRAMのメモリセルアレイではビット単位でデータを読み出し・書き込むため、冗長カラムを1列増やすためには、メモリセルアレイを2ブロックに分割し、ブロックごとに1冗長カラムを有することとなる。左側のメモリセルアレイの指定ワードにおいて、複数のセルが不良となった場合、いずれか1個のセルのみを冗長セルに置き換えることができるが、他のセルは冗長セルに置き換えられない問題点があった。そのため、該DRAMは不良となる問題点があった。
本発明は、上述した従来技術による問題点を解消するため、冗長セルに置き換え可能な不良セルを増加でき、歩留まりを向上させることができる半導体メモリを提供することを目的とする。また、本発明は、半導体メモリのサイズを縮小化することができる製造方法を提供することを目的とする。
本発明の一の観点によれば、ワードごとにxビット分のデータセルとyビット分の冗長セルとを有するメモリセルアレイと、前記ワードごとに前記データセルと前記冗長セルのうちの不良セルの位置情報を記憶する位置情報記憶部と、読み出すアドレスを指定された指定ワードに関する前記位置情報記憶部内の不良セルの位置情報に基づいて、前記指定ワードに関する前記xビット分のデータセルと前記yビット分の冗長セルのうち前記不良セルを除くxビット分のセルのそれぞれが記憶するデータを読み出す読み出し回路と、を備える半導体メモリが提供される。
また、本発明の他の観点によれば、ワードごとにxビット分のデータセルとyビット分の冗長セルとを有するメモリセルアレイと、前記ワードごとに前記データセルと前記冗長セルのうち不良セルの位置情報を記憶する位置情報記憶部と、書き出すアドレスを指定された指定ワードに関するxビット分の書き込みデータを、前記指定ワードに関する前記位置情報記憶部内の不良セルの位置情報に基づいて、前記指定ワードに関するxビット分のデータセルと前記指定ワードに関するyビット分のデータセルに書き込む書き込み回路と、半導体メモリが提供される。
また、本発明の他の観点によれば、ワードごとにxビット分のデータセルとyビット分の冗長セルとを有するメモリセルアレイと、位置情報記憶部と、1ワードあたりyビットまでの不良セルを救済する機能と、を有する半導体メモリのうちの前記メモリセルアレイを試験し、試験結果から得られる前記ワードごとの前記データセルと前記冗長セルのうちの不良セルの位置情報を、前記位置情報記憶部に電子ビーム描画によって書き込む製造方法が提供される。
本半導体メモリは、上述した従来技術による問題点を解消するため、冗長セルに置き換え可能な不良セルを増加でき、歩留まりを向上させることができるという効果を奏する。また、本製造方法は、半導体メモリのサイズを縮小化することができるという効果を奏する。
図1は、実施の形態1にかかる半導体メモリを示す説明図である。 図2は、実施の形態1にかかる不良ビット代替処理回路104による読み出し処理の一例を示す説明図である。 図3は、実施の形態1にかかる不良ビット代替処理回路104による書き込み処理の一例を示す説明図である。 図4は、不良ビット代替処理の読み出しに関する例1を示す説明図である。 図5は、不良ビット代替処理の書き込みに関する例1を示す説明図である。 図6は、例1における読み出し回路200の一例を示す説明図(その1)である。 図7は、論理回路601に関する真理値表の一例を示す説明図である。 図8は、例1における読み出し回路200の一例を示す説明図(その2)である。 図9は、例1における読み出し回路200のHDL記述例を示す説明図である。 図10は、例1における書き込み回路300の一例を示す説明図である。 図11は、例1における書き込み回路300のHDL記述例を示す説明図である。 図12は、不良ビット代替処理の読み出しに関する例2を示す説明図である。 図13は、不良ビット代替処理の書き込みに関する例2を示す説明図である。 図14は、例2における読み出し回路200のHDL記述例を示す説明図(その1)である。 図15は、例2における読み出し回路200のHDL記述例を示す説明図(その2)である。 図16は、例2における読み出し回路200のHDL記述例を示す説明図(その3)である。 図17は、図14から図16で示したRDを一般化した例を示す説明図である。 図18は、例2における読み出し回路200の一例を示す説明図である。 図19は、例2における書き込み回路300のHDL記述例を示す説明図である。 図20は、例2における書き込み回路300の一例を示す説明図(その1)である。 図21は、例2における書き込み回路300の一例を示す説明図(その2)である。 図22は、実施の形態2にかかる半導体メモリを示す説明図である。 図23は、実施の形態2にかかる不良ビット代替処理回路104による読み出し処理の一例を示す説明図である。 図24は、実施の形態2にかかる不良ビット代替処理回路104による書き込み処理の一例を示す説明図である。 図25は、各符号化におけるワードごとの不良セルの位置情報のビット幅を示す説明図である。 図26は、符号化技術2に関する変換回路2201の一例を示す説明図である。 図27は、符号化技術3における不良セルの組み合わせの番号の一例を示す説明図である。 図28は、符号化技術3による符号化の一例を示す説明図(その1)である。 図29は、符号化技術3による符号化の一例を示す説明図(その2)である。 図30は、符号化技術3による符号化の一例を示す説明図(その3)である。 図31は、符号化技術3に関する変換回路2201の一例を示す説明図である。 図32は、演算回路の一例を示す説明図である。 図33は、C(10,3)に関する変換回路2201の一例を示す説明図である。 図34は、変換回路2201による変換例を示す説明図である。 図35は、実施の形態3にかかる製造方法の一連の処理を示す説明図である。 図36は、従来技術2の一の例を示す説明図である。 図37は、従来技術2の他の例を示す説明図である。
以下に添付図面を参照して、本発明にかかる半導体メモリの好適な実施の形態1,2を詳細に説明し、本発明にかかる製造方法の好適な実施の形態3を詳細に説明する。実施の形態1では、ワードごとに不良セルの位置情報を記憶する位置情報記憶部内の指定ワードに関する不良セルの位置情報に基づいて、指定ワードに関するデータセルと冗長セルから不良セルを除いたデータセルのそれぞれからデータセル分のデータを読み出す例について説明する。さらに、実施の形態1では、位置情報メモリに記憶された不良セルの位置情報に基づいて、データセル分の書き込みデータをデータセルと冗長セルに書き込む例について説明する。詳細な回路例については、回路記号を用いた回路図表記と、HDL(Hardware Description Language)記述とのいずれか一方、または両方を用いて示す。実施の形態1では、不良セルの位置情報は、たとえば、データセルと冗長セルのそれぞれのセルが不良であるか否かを示すデータセルと冗長セル分のビット幅のビット列とする。
実施の形態2では、実施の形態1の説明で用いる不良セルの位置情報と異なる方法で符号化された不良セルの位置情報例について説明する。実施の形態3では、実施の形態1,2で説明した半導体メモリ内の位置情報メモリに不良セルの位置情報を電子ビーム露光により書き込む例について説明する。
(実施の形態1)
図1は、実施の形態1にかかる半導体メモリを示す説明図である。半導体メモリ100は、アドレスデコーダ101と、メモリセルアレイ102と、位置情報記憶部103と、不良ビット代替処理回路104と、を有している。半導体メモリ100は、パッケージに封入された半導体メモリ100であってもよく、システムLSI等に搭載されるメモリマクロ(IP(Intellectual Property))であってもよい。
ここで、たとえば、メモリセルアレイ102は、ワードごとにx(x≧1)ビット分のデータセルとy(y≧1)ビット分の冗長セルとを有している。メモリセルアレイ102は、具体的には、たとえば、SRAMである。たとえば、アドレスデコーダ101は、入力されたADDRESSをデコードすることにより、読み出しまたは書き込みを行うワード(指定ワード)を決定する。たとえば、位置情報記憶部103は、ワードごとに不良セルの位置情報を記録するリード専用のメモリである。たとえば、不良ビット代替処理回路104は、読み出し回路と、書き込み回路と、を有している。
図2は、実施の形態1にかかる不良ビット代替処理回路104による読み出し処理の一例を示す説明図である。まず、読み出し命令に含まれるADDRESSによって指定された指定ワードのデータがメモリセルアレイ102と位置情報記憶部103から出力される。メモリセルアレイ102は、指定ワードのデータとして、RAW READ DATAを出力する。ここでは、メモリセルアレイ102は、ワードごとに7ビット分のデータセルと3ビット分の冗長セルとを有しているとする。よって、RAW READ DATAは10ビットのデータである。位置情報記憶部103は、指定ワードのデータとして、FAIL DATAを出力する。FAIL DATAが不良セルの位置情報である。ここでは、不良セルの位置情報は、ワードごとに各セルが不良であるか否かを示す10ビットのデータである。
不良ビット代替処理回路104の読み出し回路200では、位置情報記憶部103から出力されたFAIL DATAに基づいて10ビットのRAW READ DATAから不良セルを除いた7ビットのREAD DATAを出力する。
図3は、実施の形態1にかかる不良ビット代替処理回路104による書き込み処理の一例を示す説明図である。まず、書き込み命令に含まれるADDRESSによって指定された指定ワードのデータが位置情報記憶部103から出力される。位置情報記憶部103は、指定ワードの不良セルの位置情報として、FAIL DATAを出力する。WRITE DATAは7ビットの書き込みデータである。不良ビット代替処理回路104の書き込み回路300は、FAIL DATAに基づいてWRITE DATAをRAW WRITE DATAに置き換えてメモリセルアレイ102内の指定ワードのデータセルと冗長セルに書き込む。ここでは、不良セルにも書き込み処理を実施しているが、不良セルを除いたセルのみに書き込み処理を行ってもよい。
つぎに、不良ビット代替処理について、冗長セル位置の固定方式(例1)と、シフト方式(例2)との2つの例を挙げて説明する。
(例1)
図4は、不良ビット代替処理の読み出しに関する例1を示す説明図である。冗長セル位置の固定方式では、不良セルに代わって冗長セルを用い、正常なセルのビット位置を変更させない。具体的には、たとえば、図4では、FAIL DATAが1となっているビット位置のセルが不良であることを示している。すなわち、FAIL DATAでは、ビット位置が0と1と8のセルが不良であることを示している。該一のワードの読み出し処理が行われる場合、半導体メモリ100は、ビット位置が7のセルのデータをビット位置が0のセルのデータとして出力し、ビット位置が9のセルのデータをビット位置が1のセルのデータとして出力する。
さらに、半導体メモリ100は、ビット位置が2のセルのデータをビット位置が2のセルのデータとして出力し、ビット位置が3のセルのデータをビット位置が3のセルのデータとして出力する。半導体メモリ100は、ビット位置が4のセルのデータをビット位置が4のセルのデータとして出力し、ビット位置が5のセルのデータをビット位置が5のセルのデータとして出力し、ビット位置が6のセルのデータをビット位置が6のセルのデータとして出力する。
図5は、不良ビット代替処理の書き込みに関する例1を示す説明図である。図5ではアドレスによって指定された指定ワードへのWRITE DATAの書き込みを示している。具体的には、たとえば、図5では、FAIL DATAが1となっているビット位置のセルが不良であることを示している。すなわち、FAIL DATAでは、ビット位置が0と1と8のセルが不良であることを示している。該一のワードの書き込み処理が行われる場合、半導体メモリ100は、WRITE DATAの0ビット目のデータを7ビット目のセルに書き込むデータとし、WRITE DATAの1ビット目のデータを9ビット目のセルに書き込むデータとする。つぎに、図6から図9を用いて不良ビット代替処理回路104の読み出し回路200の詳細例を示し、図10と図11を用いて不良ビット代替処理回路104の書き込み回路300の詳細例を示す。
<読み出し回路200>
図6は、例1における読み出し回路200の一例を示す説明図(その1)である。FD[0:9]は、FAIL DATA[0:9]である。RRD[0:9]はRAW READ DATA[0:9]である。
FD[0]はs0であり、FD[0]とFD[1]との加算結果がs1であり、s1とFD[2]との加算結果がs2であり、s2とFD[3]との加算結果がs3である。s3とFD[4]との加算結果がs4であり、s4とFD[5]との加算結果がs5であり、s5とFD[6]との加算結果がs6である。論理回路601は、それぞれFD[7]〜FD[9]に基づいてrp[1]〜rp[3]を決定する。図7を用いて論理回路601について詳細に説明する。
図7は、論理回路601に関する真理値表の一例を示す説明図である。論理回路601に関する真理値表700では、FD[7]〜FD[9]が入力であり、Fo0〜Fo2が出力である。Fo0の値がrp[1]の値となり、Fo1の値がrp[2]の値となり、Foの値がrp[3]の値となる。*はドントケア(dontcare)を示している。ドントケアは、0でも1のいずれであってもよいことを示している。
たとえば、FD[7]の値が0であり、FD[8]の値が0であり、FD[9]の値が0である場合、Fo0の値は1となり、Fo1の値は2となり、Fo2の値は3となる。たとえば、FD[7]の値が1であり、FD[8]の値が0であり、FD[9]の値が0である場合、Fo0の値は2となり、Fo1の値は3となり、Fo2の値は*となる。つぎに、FDとrpに基づいてRDが決定される例について、RD[0]〜RD[6]の中で、RD[3]を例に挙げて説明する。
図8は、例1における読み出し回路200の一例を示す説明図(その2)である。図8では、RD[0]〜RD[9]のうち、RD[3]を例に挙げて説明する。論理回路801は、FD[3]とs3とrp[1]〜rp[3]に基づいてb3を決定する。論理回路801については読み出し回路200のHDL記述例で詳細に説明する。選択回路802は、RRD[3]と、RRD[7]と、RRD[8]と、RRD[9]とから、b3に基づいてRD[3]を決定する。たとえば、b3が0であれば、選択回路802はRRD[3]の値を出力し、b3が1であれば、選択回路802はRRD[7]の値を出力する。b3が2であれば、選択回路802はRRD[8]の値を出力し、b3が3であれば、選択回路802はRRD[9]の値を出力する。
具体的には、たとえば、FD[3]が1であれば、3ビット目のデータセルは不良セルであるため、7ビット目から9ビット目のいずれかの冗長セルに置き換えられている。よって、FD[3]が0であれば、読み出し回路200ではRRD[3]の値をRD[3]として出力し、FD[3]が1であれば、読み出し回路200ではRRD[7]〜RRD[9]のいずれかの値をRD[3]として出力する。
図9は、例1における読み出し回路200のHDL記述例を示す説明図である。s0〜s6とは、図6で示した読み出し回路200の一部である。Fo0〜Fo2については、図7で示した真理値表700に沿った処理を行うこととする。
b3は図8で示したb3と同一であり、論理回路801は図9で示すb3の右辺のHDL記述と同等である。FD[3]が0であれば、b3は0となり、FD[3]が0でなければ、b3はrp[s3]となる。s3は0〜3のいずれかの値である。b0〜b2,b4〜b6の算出もb3の算出と同等の処理が行われる。RD[3]の右辺は図8で示した選択回路802と同等である。RD[0]〜RD[2],RD[4]〜RD[6]の算出もRD[3]の算出と同等の処理が行われる。
ここで、FD[0]〜FD[9]と、RRD[0]〜RRD[9]とが下記である例について説明する。
・FD[0]=1
・FD[1]=1
・FD[2]=0
・FD[3]=0
・FD[4]=0
・FD[5]=0
・FD[6]=0
・FD[7]=0
・FD[8]=1
・FD[9]=0
・RRD[0]=x
・RRD[1]=x
・RRD[2]=0
・RRD[3]=0
・RRD[4]=1
・RRD[5]=0
・RRD[6]=0
・RRD[7]=0
・RRD[8]=x
・RRD[9]=1
すなわち、0ビット目のデータセルと、1ビット目のデータセルと、8ビット目の冗長セルが不良であることを示している。つぎに、s0〜s6を下記に示す。
・s0=FD[0]=1
・s1=FD[1]+s0=1+1=2
・s2=FD[2]+s1=0+2=2
・s3=FD[3]+s2=0+2=2
・s4=FD[4]+s3=0+2=2
・s5=FD[5]+s4=0+2=2
・s6=FD[6]+s5=0+2=2
FD[7]が0であり、FD[8]が1であり、FD[9]であるため、rp[1]〜rp[3]は下記の様になる。
・rp[1]=1
・rp[2]=3
・rp[3]=*
さらに、b0〜b7は下記のようになる。
・b0=rp[s0]=1
・b1=rp[s1]=3
・b2=0
・b3=0
・b4=0
・b5=0
・b6=0
・b7=0
そして、RD[0]〜RD[6]が下記のようになる。
・RD[0]=RRD[7]=0
・RD[1]=RRD[9]=1
・RD[2]=RRD[2]=0
・RD[3]=RRD[3]=0
・RD[4]=RRD[4]=1
・RD[5]=RRD[5]=0
・RD[6]=RRD[6]=0
<書き込み回路300>
図10は、例1における書き込み回路300の一例を示す説明図である。FD[0:9]は、FAIL DATA[0:9]である。WD[0:6]はWRITE DATA[0:6]である。s0〜s6については、図6で示したs0〜s6と同一であるため、詳細な説明を省略する。
論理回路1001は、FD[0]〜FD[6]とs0〜s6に基づいてRS0〜RS2を決定する。RS0〜RS2については、書き込み回路300のHDL記述例を用いて詳細に説明する。選択回路1002は、WD[0]〜WD[6]のうちのいずれかの値をRS0に基づいて出力する。たとえば、RS0が0であれば、選択回路1002はWD[0]の値をd0として出力し、RS0が3であれば、選択回路1002はWD[3]の値をd0として出力する。
選択回路1003は、WD[0]〜WD[6]のうちのいずれかの値をRS1に基づいて出力する。たとえば、RS1が1であれば、選択回路1003はWD[1]をd1として出力し、RS1が5であれば、選択回路1003はWD[5]の値をd1として出力する。選択回路1004は、WD[0]〜WD[6]のうちのいずれかのデータをRS2に基づいて出力する。たとえば、RS2が4であれば、選択回路1004はWD[4]をd2として出力し、RS2が6であれば、選択回路1004はWD[6]をd2として出力する。
そして、論理回路1005は、d0〜d2とFD[7:9]に基づいてRWD[7]〜RWD[9]のそれぞれを決定する。RWD[7:9]については、HDL記述例において詳細に説明する。WD[0]〜WD[6]はそれぞれRWD[0]〜RWD[6]である。
図11は、例1における書き込み回路300のHDL記述例を示す説明図である。s0〜s6については、図6で示したs0〜s6と同一であるため、詳細な説明を省略し、図11で示したRS0〜RS2およびRWD[7]〜RWD[9]について詳細に説明する。図11で示すRS0と、RS1と、RS2との代入文の記述が、図10で示した論理回路1001の詳細を示している。図11で示すd0〜d3の代入文の記述が、それぞれ選択回路1002〜選択回路1004を示している。図11で示すRWD[7]〜RWD[9]の代入文の記述が図10で示した論理回路1005の詳細を示している。
まず、RS0について説明する。FD[0]が1の場合、RS0は0となる。FD[0]が1でなく、かつFD[1]が1の場合、RS0は1となる。FD[0]が1でなく、FD[1]が1でなく、かつFD[2]が1の場合、RS0は2となる。FD[0]が1でなく、FD[1]が1でなく、FD[2]が1でなく、かつFD[3]が1の場合、RS0は3となる。FD[0]が1でなく、FD[1]が1でなく、FD[2]が1でなく、FD[3]が1でなく、かつFD[4]が1の場合、RS0は4となる。
FD[0]が1でなく、FD[1]が1でなく、FD[2]が1でなく、FD[3]が1でなく、FD[4]が1でなく、かつFD[5]が1の場合、RS0は5となる。FD[0]が1でなく、FD[1]が1でなく、FD[2]が1でなく、FD[3]が1でなく、FD[4]が1でなく、FD[5]が1でなく、かつFD[6]が1の場合、RS0は6となる。上記以外の場合、RS0は、ドントケアである。
つぎに、RS1について説明する。s0が1でかつFD[1]が1の場合、RS1は1となる。s1が1でかつFD[2]が1の場合、RS1は2となる。s2が1でかつFD[3]が1の場合、RS1は3となる。s3が1でかつFD[4]が1の場合、RS1は4となる。s4が1でかつFD[5]が1の場合、RS1は5となる。s5が1でかつFD[6]が1の場合、RS1は6となる。
そして、RS2について説明する。s1が2でかつFD[2]が1の場合、RS2は1となる。s2が2でかつFD[3]が1の場合、RS2は3となる。s3が2でかつFD[4]が1の場合、RS2は4となる。s4が2でかつFD[5]が1の場合、RS2は5となる。s5が2でかつFD[6]が1の場合、RS2は6となる。
d0はRS0の値に基づいてWD[0]〜WD[6]からいずれかのWDの値となる。d1はRS1の値に基づいてWD[0]〜WD[6]からいずれかのWDの値となる。d2はRS2の値に基づいてWD[0]〜WD[6]からいずれかのWDの値となる。
RWD[0]〜RWD[6]はそれぞれWD[0]〜WD[6]とする。RWD[7]はd0となる。RWD[8]は、FD[7]が1であればd0とし、FD[7]が1でなければd1とする。RDW[9]は、FD[7]が1でかつFD[8]が1の場合、d0とし、FD[7]が1でかつFD[8]が0、またはFD[7]が0でかつFD[8]が1の場合、d1とし、それ以外の場合、d2とする。
FD[0]〜FD[9]と、WD[0]〜WD[6]とが下記である例について説明する。
・FD[0]=1
・FD[1]=1
・FD[2]=0
・FD[3]=0
・FD[4]=0
・FD[5]=0
・FD[6]=0
・FD[7]=0
・FD[8]=1
・FD[9]=0
・WD[0]=1
・WD[1]=1
・WD[2]=0
・WD[3]=0
・WD[4]=1
・WD[5]=0
・WD[6]=1
すなわち、0ビット目のデータセルと、1ビット目のデータセルと、8ビット目の冗長セルが不良であることを示している。つぎに、s0〜s6を下記に示す。
・s0=FD[0]=1
・s1=FD[1]+s0=1+1=2
・s2=FD[2]+s1=0+2=2
・s3=FD[3]+s2=0+2=2
・s4=FD[4]+s3=0+2=2
・s5=FD[5]+s4=0+2=2
・s6=FD[6]+s5=0+2=2
FD[0]が1であり、s0が1であり、FD[1]が1であるため、RS0〜RS2は下記となる。
・RS0=0
・RS1=1
・RS2=* (dontcare、ドントケア)
RS0〜RS2が上記となるため、d0〜d2が下記となる。
・d0=WD[0]=1
・d1=WD[1]=1
・d2=*
・RWD[0]=WD[0]=1
・RWD[1]=WD[1]=1
・RWD[2]=WD[2]=0
・RWD[3]=WD[3]=0
・RWD[4]=WD[4]=1
・RWD[5]=WD[5]=0
・RWD[6]=WD[6]=1
・RWD[7]=d0=1
・RWD[8]=d1=1
・RWD[9]=d1=1
(例2)
図12は、不良ビット代替処理の読み出しに関する例2を示す説明図である。シフト方式では、不良セルに代わって冗長セルを用い、不良セルでないセルをビット位置の順に出力する。具体的には、たとえば、図12では、FAIL DATAが指定ワードの1となっているビット位置のセルが不良であることを示している。すなわち、FAIL DATAでは、ビット位置が0と1と8のセルが不良であることを示している。
指定ワードの読み出し処理が行われる場合、半導体メモリ100は、ビット位置が2のセルのデータをビット位置が0のセルのデータとして出力し、ビット位置が3のセルのデータをビット位置が1のセルのデータとして出力する。半導体メモリ100は、ビット位置が4のセルのデータをビット位置が2のセルのデータとして出力し、ビット位置が5のセルのデータをビット位置が3のセルのデータとして出力する。半導体メモリ100は、ビット位置が6のセルのデータをビット位置が4のセルのデータとして出力し、ビット位置が7のセルのデータをビット位置が5のセルのデータとして出力し、ビット位置が9のセルのデータをビット位置が6のセルのデータとして出力する。
図13は、不良ビット代替処理の書き込みに関する例2を示す説明図である。シフト方式では、不良セルに代わって冗長セルを用い、不良セルでないセルをビット位置の順に出力する。具体的には、たとえば、図13では、FAIL DATAが指定ワードの1となっているビット位置のセルが不良であることを示している。すなわち、FAIL DATAでは、ビット位置が0と1と8のセルが不良であることを示している。
該指定ワードの書き込み処理が行われる場合、半導体メモリ100は、WRITE DATAの0ビット目のデータを2ビット目のデータセルに書き込むデータとし、WRITE DATAの1ビット目のデータを3ビット目のデータセルに書き込むデータとする。半導体メモリ100は、WRITE DATAの2ビット目のデータを4ビット目のデータセルに書き込むデータとし、WRITE DATAの3ビット目のデータを5ビット目のデータセルに書き込むデータとする。
半導体メモリ100は、WRITE DATAの4ビット目のデータを6ビット目のデータセルに書き込むデータとし、WRITE DATAの5ビット目のデータを7ビット目の冗長セルに書き込むデータとする。半導体メモリ100は、WRITE DATAの6ビット目のデータを9ビット目の冗長セルに書き込むデータとする。
<読み出し回路200>
図14は、例2における読み出し回路200のHDL記述例を示す説明図(その1)である。ここで、冗長セルは3ビット分であり、データセルは7ビット分である。すなわち、たとえば、RD[0]は、RRD[0]〜RRD[3]のいずれかのデータとなる。たとえば、RD[1]は、RRD[1]〜RRD[4]のいずれかのデータとなる。たとえば、RD[2]は、RRD[2]〜RRD[5]のいずれかのデータとなる。たとえば、RD[3]は、RRD[3]〜RRD[6]のいずれかのデータとなる。たとえば、RD[4]は、RRD[4]〜RRD[7]のいずれかのデータとなる。たとえば、RD[5]は、RRD[5]〜RRD[8]のいずれかのデータとなる。たとえば、RD[6]は、RRD[4]〜RRD[9]のいずれかのデータとなる。
s0〜s6は、図6で示したs0〜s6と同一である。まず、RD[0]について説明する。FD[0]が0の場合、b0は0となり、FD[0]が0でなくかつFD[1]が0の場合、b0は1となり、FD[0]が0でなく、FD[1]が0でなく、かつFD[2]が0の場合、b0は2となる。FD[0]が0でなく、FD[1]が0でなく、かつFD[2]が0でない場合、b0は3となる。すなわち、0≦b0≦3である。
RD[0]はb0に基づいてRRD[0]〜RRD[3]のうちのいずれか一つのデータとなる。たとえば、b0が0であれば、RD[0]はRRD[0]の値となり、b0が1であれば、RD[0]はRRD[1]の値となり、b0が2であれば、RD[0]はRRD[2]の値となり、b0が3であれば、RD[0]はRRD[3]の値となる。すなわち、RD[0]はRRD[b0]である。
つぎに、RD[1]について説明する。s0が0の場合において、FD[1]が0であればb1は1となり、FD[1]が0でなく、かつFD[2]が0であればb1は2となる。s0が0の場合において、FD[1]が0でなく、FD[2]が0でなく、かつFD[3]が0であれば、b1は3となり、FD[1]が0でなく、FD[2]が0でなく、FD[3]が0でなければ、b1は4となる。すなわち、1≦b1≦4である。
s0が0でない場合(s0が1の場合)において、FD[2]が0であればb1は2となり、FD[2]が0でなく、FD[3]が0の場合、b1は3となり、FD[2]が0でなく、FD[3]が0でない場合、b1は4となる。すなわち、2≦b1≦4である。
RD[1]はb1−1に基づいてRRD[1]〜RRD[4]のうちのいずれか一つのデータとなる。たとえば、b1が1であれば(b1−1=0)、RD[1]はRRD[1]の値となり、b0が2であれば(b1−1=1)、RD[1]はRRD[2]の値となる。b0が3であれば(b1−1=2)、RD[1]はRRD[3]の値となり、b0が4であれば(b1−1=3)、RD[1]はRRD[4]の値となる。すなわち、RD[1]はRRD[b1]である。
図15は、例2における読み出し回路200のHDL記述例を示す説明図(その2)である。つぎに、RD[2]について説明する。s1が0の場合において、FD[2]が0であればb2は2となり、FD[2]が0でなく、かつFD[3]が0であればb2は3となる。s1が0の場合において、FD[2]が0でなく、FD[3]が0でなく、かつFD[4]が0であれば、b2は4となり、FD[2]が0でなく、FD[3]が0でなく、FD[4]が0でなければ、b2は5となる。すなわち、2≦b2≦5である。
s1が1である場合において、FD[3]が0であればb2は3となり、FD[3]が0でなく、かつFD[4]が0の場合、b2は4となり、FD[3]が0でなく、FD[4]が0でない場合、b2は5となる。すなわち、3≦b2≦5である。
s1が0でも1でもない場合(s1が2の場合)において、FD[4]が0であればb2は4となり、FD[4]が0でない場合、b2は5となる。すなわち、4≦b2≦5である。
RD[2]はb2−2に基づいてRRD[2]〜RRD[5]のうちのいずれか一つのデータとなる。たとえば、b2が2であれば(b2−2=0)、RD[2]はRRD[2]となり、b2が3であれば(b2−2=1)、RD[2]はRRD[3]となる。b2が4であれば(b2−2=2)、RD[2]はRRD[4]となり、b2が5であれば(b2−2=3)、RD[2]はRRD[5]となる。すなわち、RD[2]はRRD[b2]である。
つぎに、RD[3]について説明する。s2が0の場合において、FD[3]が0であればb3は3となり、FD[3]が0でなく、かつFD[4]が0であればb3は4となる。s2が0の場合において、FD[3]が0でなく、FD[4]が0でなく、かつFD[5]が0であれば、b3は5となり、FD[3]が0でなく、FD[4]が0でなく、FD[5]が0でなければ、b3は6となる。すなわち、3≦b3≦6である。
s2が1の場合において、FD[4]が0であれば、b3は4となり、FD[4]が0でなく、FD[5]が0であれば、b3は5となり、FD[4]が0でなく、FD[5]が0でなければ、b3は6となる。すなわち、4≦b3≦6である。
s2が2の場合において、FD[5]が0であれば、b3は5となり、FD[5]が0でなければ、b3は6となる。s2が0〜2でない場合(s2が3の場合)、b3は6となる。
RD[3]はb2−3に基づいてRRD[3]〜RRD[6]のうちのいずれか一つのデータとなる。たとえば、b3が3であれば(b3−3=0)、RD[3]はRRD[3]となり、b3が4であれば(b3−3=1)、RD[3]はRRD[4]となる。b3が5であれば(b3−3=2)、RD[3]はRRD[5]となり、b3が6であれば(b3−3=3)、RD[3]はRRD[6]となる。すなわち、RD[3]はRRD[b3]である。RD[4]とRD[5]とについて、詳細な説明を省略する。
図16は、例2における読み出し回路200のHDL記述例を示す説明図(その3)である。つぎに、RD[6]について説明する。s5が0の場合において、FD[6]が0であればb6は6となり、FD[6]が0でなく、かつFD[7]が0であればb6は7となる。s5が0の場合において、FD[6]が0でなく、FD[7]が0でなく、かつFD[8]が0であれば、b6は8となり、FD[6]が0でなく、FD[7]が0でなく、FD[8]が0でなければ、b6は9となる。すなわち、6≦b6≦9である。
s5が1の場合において、FD[7]が0であれば、b6は7となり、FD[7]が0でなく、FD[8]が0であれば、b6は8となり、FD[7]が0でなく、FD[8]が0でなければ、b6は9となる。すなわち、7≦b6≦9である。
s5が2の場合において、FD[8]が0であれば、b6は8となり、FD[8]が0でなければ、b6は9となる。s5が0〜2でない場合(s5が3の場合)、b6は9となる。
RD[6]はb6−6に基づいてRRD[6]〜RRD[9]のうちのいずれか一つのデータとなる。たとえば、b6が6であれば(b6−6=0)、RD[6]はRRD[6]となり、b6が7であれば(b6−6=1)、RD[6]はRRD[7]となる。b6が8であれば(b6−6=2)、RD[6]はRRD[8]となり、b6が9であれば(b6−6=3)、RD[6]はRRD[9]となる。すなわち、RD[6]はRRD[b6]である。
図17は、図14から図16で示したRDを一般化した例を示す説明図である。図17では、RD[1]〜RD[6]をRD[i](i=1〜6)として示している。ここでは、s0〜s6をs[0]〜s[6]としている。s[−1]=0とすることで、RD[0]も図17の他のRDのように表すことができる。
図18は、例2における読み出し回路200の一例を示す説明図である。図18では、RD[i]の例を示す。FD[i]が0であれば、選択回路1801はRRD[i]を出力し、FD[i]が1であれば、選択回路1801はi+1に関する選択回路1802の出力を出力する。FD[i+1]が0であれば、選択回路1802はRRD[i+1]を出力し、FD[i+1]が1であれば、選択回路1802はi+2に関する選択回路1803の出力を出力する。
FD[i+2]が0であれば、選択回路1803はRRD[i+2]を出力し、FD[i+2]が1であれば、選択回路1803はi+3に関する選択回路1804の出力を出力する。FD[i+3]が0であれば、選択回路1804はRRD[i+3]を出力し、FD[i+3]が1であれば、選択回路1804はi+4に関する選択回路の出力を出力する。
s[i−1]が0の場合、選択回路1805は選択回路1801の出力をRD[i]として出力し、s[i−1]が1の場合、選択回路1805は選択回路1802の出力をRD[i]として出力する。s[i−1]が2の場合、選択回路1805は選択回路1803の出力をRD[i]として出力し、s[i−1]が3の場合、選択回路1805は選択回路1804の出力をRD[i]として出力する。
FD[0]〜FD[9]と、RRD[0]〜RRD[9]とが下記である例について説明する。
・FD[0]=1
・FD[1]=1
・FD[2]=0
・FD[3]=0
・FD[4]=0
・FD[5]=0
・FD[6]=0
・FD[7]=0
・FD[8]=1
・FD[9]=0
・RRD[0]=x
・RRD[1]=x
・RRD[2]=0
・RRD[3]=0
・RRD[4]=1
・RRD[5]=0
・RRD[6]=0
・RRD[7]=0
・RRD[8]=x
・RRD[9]=1
すなわち、0ビット目のデータセルと、1ビット目のデータセルと、8ビット目の冗長セルが不良であることを示している。つぎに、s0〜s6を下記に示す。
・s0=FD[0]=1
・s1=FD[1]+s0=1+1=2
・s2=FD[2]+s1=0+2=2
・s3=FD[3]+s2=0+2=2
・s4=FD[4]+s3=0+2=2
・s5=FD[5]+s4=0+2=2
・s6=FD[6]+s5=0+2=2
そして、b0〜b6を下記に示す。
・b0=2
・b1=3
・b2=4
・b3=5
・b4=6
・b5=7
・b6=9
そして、RD[0]〜RD[6]は下記となる。
・RD[0]=RRD[2]=0
・RD[1]=RRD[3]=0
・RD[2]=RRD[4]=1
・RD[3]=RRD[5]=0
・RD[4]=RRD[6]=0
・RD[5]=RRD[7]=0
・RD[6]=RRD[9]=1
<書き込み回路300>
図19は、例2における書き込み回路300のHDL記述例を示す説明図である。s(−1)は0である。s0〜s6については、図6で示したs0〜s6と同一である。s7はs6とFD[7]の加算結果であり、s8はs7とFD[8]の加算結果である。
つぎに、s8が0〜2であれば、RWD[9]は0となり、s8が3であれば、RWD[9]はWD[6]となる。s7が0または1であれば、RWD[8]は0となり、s7が2であれば、RWD[8]はWD[6]となり、s7が3であれば、RWD[8]はWD[5]となる。s6が0であれば、RWD[7]は0となり、s6が1であれば、RWD[7]はWD[6]となり、s6が2であれば、RWD[7]はWD[5]となり、s6が3であれば、RWD[7]はWD[4]となる。
s5が0であれば、RWD[6]はWD[6]となり、s5が1であれば、RWD[6]はWD[5]となり、s5が2であれば、RWD[6]はWD[4]となり、s5が3であれば、RWD[6]はWD[3]となる。s4が0であれば、RWD[5]はWD[5]となり、s4が1であれば、RWD[5]はWD[4]となり、s4が2であれば、RWD[5]はWD[3]となり、s4が3であれば、RWD[5]はWD[2]となる。
s3が0であれば、RWD[4]はWD[4]となり、s3が1であれば、RWD[4]はWD[3]となり、s3が2であれば、RWD[4]はWD[2]となり、s3が3であれば、RWD[4]はWD[1]となる。s2が0であれば、RWD[3]はWD[3]となり、s2が1であれば、RWD[3]はWD[2]となり、s2が2であれば、RWD[3]はWD[1]となり、s2が3であれば、RWD[3]はWD[0]となる。
s1が0であれば、RWD[2]はWD[2]となり、s1が1であれば、RWD[2]はWD[1]となり、s1が2であれば、RWD[2]はWD[0]となる。s0が0であれば、RWD[1]はWD[1]となり、s0が1であれば、RWD[1]はWD[0]となる。RWD[0]はWD[0]となる。なお、s0は0以上1以下であるため、s0は2または3にはならず、s1は0以上2以下であるため、s1は3にはならない。
図20は、例2における書き込み回路300の一例を示す説明図(その1)である。s(−1)は0である。s0〜s6については、図6で示したs0〜s6と同一である。s7はs6とFD[7]の加算結果であり、s8はs7とFD[8]の加算結果である。
図21は、例2における書き込み回路300の一例を示す説明図(その2)である。s0〜s8については、s[i](i=0〜9)で示す。s[i−1]が0であれば、選択回路2101はWD[i]をRWD[i]として出力し、s[i−1]が1であれば、選択回路2101はWD[i−1]をRWD[i]として出力する。s[i−1]が2であれば、選択回路2101は、WD[i−2]をRWD[i]として出力し、s[i−1]が3であれば、選択回路2101は、WD[i−3]をRWD[i]として出力する。
s[i−2]が0であれば、選択回路2102は、WD[i−1]をRWD[i−1]として出力し、s[i−2]が1であれば、選択回路2102は、WD[i−2]をRWD[i−1]として出力する。s[i−2]が2であれば、選択回路2102は、WD[i−3]をRWD[i−1]として出力し、s[i−2]が3であれば、選択回路2102は、WD[i−4]をRWD[i−1]として出力する。
s[i−3]が0であれば、選択回路2103は、WD[i−2]をRWD[i−2]として出力し、s[i−3]が1であれば、選択回路2103は、WD[i−3]をRWD[i−2]として出力する。s[i−3]が2であれば、選択回路2103は、WD[i−4]をRWD[i−2]として出力し、s[i−3]が3であれば、選択回路2103は、WD[i−5]をRWD[i−2]として出力する。
s[i−4]が0であれば、選択回路2104は、WD[i−3]をRWD[i−3]として出力し、s[i−4]が1であれば、選択回路2104は、WD[i−4]をRWD[i−3]として出力する。s[i−4]が2であれば、選択回路2104は、WD[i−5]をRWD[i−3]として出力し、s[i−4]が3であれば、選択回路2104は、WD[i−6]をRWD[i−3]として出力する。
FD[0]〜FD[9]と、WD[0]〜WD[6]とが下記である例について説明する。
・FD[0]=1
・FD[1]=1
・FD[2]=0
・FD[3]=0
・FD[4]=0
・FD[5]=0
・FD[6]=0
・FD[7]=0
・FD[8]=1
・FD[9]=0
・WD[0]=1
・WD[1]=1
・WD[2]=0
・WD[3]=0
・WD[4]=1
・WD[5]=0
・WD[6]=1
すなわち、0ビット目のデータセルと、1ビット目のデータセルと、8ビット目の冗長セルが不良であることを示している。つぎに、s0〜sを下記に示す。
・s0=FD[0]=1
・s1=FD[1]+s0=1+1=2
・s2=FD[2]+s1=0+2=2
・s3=FD[3]+s2=0+2=2
・s4=FD[4]+s3=0+2=2
・s5=FD[5]+s4=0+2=2
・s6=FD[6]+s5=0+2=2
・s7=FD[7]+s6=0+2=2
・s8=FD[8]+s7=1+2=3
・RWD[9]=WD[6]=1
・RWD[8]=WD[6]=1
・RWD[7]=WD[5]=0
・RWD[6]=WD[4]=1
・RWD[5]=WD[3]=0
・RWD[4]=WD[2]=0
・RWD[3]=WD[1]=1
・RWD[2]=WD[0]=1
・RWD[1]=WD[0]=1
・RWD[0]=WD[0]=1
(実施の形態2)
実施の形態2では、実施の形態1で示した不良ビットの位置情報に関する符号化と異なる符号化について説明する。ここで、符号化技術について3つの例を挙げる。1例目(以下、「符号化技術1」と称する。)では、実施の形態1で示したような各セルが不良か否かを示すx+yビット(データセル分と冗長セル分のビット幅)のビット列である。2例目(以下、「符号化技術2」と称する。)では、不良セルが何番目のビットであるかを示す情報である。3例目(以下、「符号化技術3」と称する。)では、データセルと冗長セルの中で不良となった不良セルの組み合わせの番号である。ここで、冗長セルに置き換えるセルの組み合わせに番号が割り当てられ、該割り当てられた番号が組み合わせの番号である。
ここで、7ビット分のデータセルと3ビット分の冗長セルとで、3ビット分の冗長セルを上位ビットとした場合において、ビット位置が0ビット目のデータセルと、3ビット目のデータセルと、7ビット目の冗長セルとが、不良ビットであるとする。この場合の符号化技術1〜3の不良ビットの位置情報は下記となる。
・符号化技術1:1001000100(最も左のビットが最下位ビットであり、最も右のビットが最上位ビットである。)
・符号化技術2:0000 0011 0111(左の4ビットによって0ビット目のデータセルが不良セルであることを表している。中央の4ビットによって3ビット目のデータセルが不良セルであることを表し、右の4ビットによって7ビット目のデータセルが不良セルであることを表している。)
・符号化技術3:0010010(ここでは、C(n,r)(=nCr)において、n=10、r=3を例に挙げている。)
符号化技術1では、7ビット分のデータセルと、3ビット分の冗長セルとで、位置情報記憶部103は不良セルの位置情報を記憶するために、1ワードごとに10ビット分のセルが必要となる。符号化技術2では、7ビット分のデータセルと、3ビット分の冗長セルとで、位置情報記憶部103は不良セルの位置情報を記憶するために、1ワードごとに12ビット分のセルが必要となる。符号化技術3では、7ビット分のデータセルと、3ビット分の冗長セルとで、位置情報記憶部103は不良セルの位置情報を記憶するために、1ワードごとに7ビット分のセルが必要となる。
符号化技術2,3により符号化された不良セルの位置情報が位置情報記憶部103に記憶されている場合、不良ビット代替処理回路104の例1,2を変更せずに用いるには、該不良セルの位置情報を符号化技術1により符号化された不良セルの位置情報に変換する。また、符号化技術2,3で符号化された不良セルの位置情報を入力とする不良ビット代替処理回路104であってもよいが、ここでは、詳細な説明を省略する。
図22は、実施の形態2にかかる半導体メモリを示す説明図である。半導体メモリ2200は、アドレスデコーダ101と、メモリセルアレイ102と、位置情報記憶部103と、不良ビット代替処理回路104と、変換回路2201と、を有している。変換回路2201は、たとえば、符号化技術2,3で符号化された不良セルの位置情報を符号化技術1で符号化された不良セルの位置情報に変換する。
図22では、変換回路2201と不良ビット代替処理回路104とをそれぞれ異なる回路で表したが、これに限らず、変換回路2201と不良ビット代替処理回路104とが論理合成された単一の回路2202であってもよい。また、変換回路2201と読み出し回路200とが論理合成された単一の回路であってもよいし、変換回路2201と書き込み回路300とが論理合成された単一の回路であってもよい。図23と図24では、読み出し処理と書き込み処理において、符号化技術1,2で符号化された不良セルの位置情報から符号化技術3で符号化された不良セルの位置情報に変換する例を示す。
図23は、実施の形態2にかかる不良ビット代替処理回路104による読み出し処理の一例を示す説明図である。まず、読み出し命令のADDRESSによって指定された指定ワードのデータがメモリセルアレイ102と位置情報記憶部103から出力される。メモリセルアレイ102は、指定ワードのデータとして、RAW READ DATAを出力する。ここでは、メモリセルアレイ102は、7ビット分のデータセルと3ビット分の冗長セルとを有していることとする。よって、RAW READ DATAは10ビットのデータである。位置情報記憶部103は、指定ワードの不良セルの位置情報を出力し、変換回路2201は、位置情報記憶部103から出力された指定ワードの不良セルの位置情報を各セルが不良か否かを示すx+yビット分のビット列に変換する。変換結果がFAIL DATAである。
不良ビット代替処理回路104の読み出し回路200では、位置情報記憶部103から出力されたFAIL DATAに基づいて10ビットのRAW READ DATAから、不良ビットを除いた7ビットのREAD DATAを出力する。
図24は、実施の形態2にかかる不良ビット代替処理回路104による書き込み処理の一例を示す説明図である。まず、書き込み命令のADDRESSによって指定された指定ワードの不良セルの位置情報が位置情報記憶部103から出力される。変換回路2201は、位置情報記憶部103から出力された指定ワードの不良セルの位置情報を各セルが不良か否かを示すx+yビットのビット列(符号化技術1で符号化された不良セルの位置情報)に変換する。変換結果がFAIL DATAである。WRITE DATAは7ビットの書き込みデータである。不良ビット代替処理回路104の書き込み回路300は、FAIL DATAに基づいてWRITE DATAをRAW WRITE DATAに置き換えてメモリセルアレイ102内の指定ワードのセルに書き込む。
図25は、各符号化におけるワードごとの不良セルの位置情報のビット幅を示す説明図である。テーブル2500は、メモリセルアレイ102内のデータセルのビット幅と、冗長セルのビット幅とを変化させた場合における、位置情報記憶部103が各符号化技術を用いた場合に不良セルの位置情報を記憶するために必要な1ワードのビット幅を示す。
テーブル2500は、メモリセルアレイの項目と、符号化技術1の項目と、符号化技術2の項目と、符号化技術3の項目と、を有している。メモリセルアレイの項目は、xの項目と、yの項目と、1ワードのビット幅の項目とを有している。xの項目にはデータセルのビット幅が記述され、yの項目には冗長セルのビット幅が記述されている。符号化技術1の項目と、符号化技術2の項目と、符号化技術3の項目とは、それぞれ1ワードのビット幅の項目とオーバーヘッドの項目とを有している。1ワードのビット幅の項目には、各符号化技術によって符号化された場合に必要なワードごとの不良セルの位置情報のビット幅が記述されている。オーバーヘッド(単位:[%])とは、位置情報記憶部103内の1ワードのビット幅/メモリセルアレイ102内の1ワードのビット幅である。さらに、符号化技術3の項目は、組み合わせの数の項目を有している。
メモリアレイの項目が、xの項目が7で、yの項目が3で、1ワードのビット幅の項目が10の場合を例に挙げる。符号化技術1の場合、位置情報記憶部103の1ワードは10ビット必要となり、オーバーヘッドは100[%]である。符号化技術2の場合、位置情報記憶部103の1ワードは12ビット必要となり、オーバーヘッドは120[%]である。符号化技術3の場合、組み合わせの数は120であり、位置情報記憶部103の1ワードは7ビット必要となり、オーバーヘッドは70[%]である。x(データセルのビット幅)が7で、y(冗長セルのビット幅)が3の場合、符号化技術1〜3の中で、符号化技術3が最も位置情報記憶部103に不良ビットの位置情報を記憶させる量が少なく、符号化技術1がつぎに少なく、符号化技術2が最も多くなる。
メモリアレイの項目が、xの項目が32で、yの項目が4で、1ワードのビット幅の項目が36の場合を例に挙げる。符号化技術1の場合、位置情報記憶部103の1ワードは36ビット必要となり、オーバーヘッドは100[%]である。符号化技術2の場合、位置情報記憶部103の1ワードは24ビット必要となり、オーバーヘッドは67[%]である。符号化技術3の場合、組み合わせの数は58905であり、位置情報記憶部103の1ワードは16ビット必要となり、オーバーヘッドは44[%]である。x(データセルのビット幅)が32で、y(冗長セルのビット幅)が4の場合、符号化技術1〜3の中で、符号化技術3が最も位置情報記憶部103に不良ビットの位置情報を記憶させる量が少なく、符号化技術2がつぎに少なく、符号化技術1が最も多くなる。
つぎに、符号化技術2,3を用いて符号化された不良セルの位置情報から符号化技術1を用いて符号化された不良セルの位置情報に変換させる処理の詳細な回路例について説明する。
図26は、符号化技術2に関する変換回路2201の一例を示す説明図である。変換回路2201は、4to16 Decoder2601と、4to16 Decoder2602と、4to16 Decoder2603と、OR回路2610〜OR回路2619を有している。図26では、FD[1]〜FD[8]に関するOR回路を省略している。RRD[0:11]は、位置情報記憶部103から出力された指定ワードに関する符号化技術2を用いて符号化された12ビットの不良セルの位置情報である。
4to16 Decoder2601は、RRD[0:11]のうちのRRD[0:3]を復号し、16ビットの復号情報を出力する。たとえば、RRD[0:3]が4’b0001であれば、メモリセルアレイ102内の指定ワードのうちのビット位置が1ビット目のデータセルが不良であることを示している。4to16 Decoder2601は、16ビットの復号情報(d0_0〜d15_0)のうちの1ビット目の復号情報(d0_0)を1とし、該1ビット目の復号情報を除く15ビットの復号情報は0として出力する。ここでは、RRD[0:3]の値は、0〜9まであるため、16ビットの復号情報(d0_0〜d15_0)のうち、上位6ビットの復号情報(d10_0〜d15_0)は不要である。
4to16 Decoder2602は、RRD[0:11]のうちのRRD[4:7]を復号し、16ビットの復号情報を出力する。たとえば、RRD[4:7]が4’b0010であれば、メモリセルアレイ102内の指定ワードのうちのビット位置が2ビット目のデータセルが不良であることを示している。4to16 Decoder2602は、16ビットの復号情報(d0_1〜d15_1)のうちの2ビット目の復号情報(d2_1)を1とし、該2ビット目の復号情報を除く15ビットの復号情報は0として出力する。ここでは、RRD[4:7]の値は、0〜9まであるため、16ビットの復号情報(d0_1〜d15_1)のうち、上位6ビットの復号情報(d10_1〜d15_1)は不要である。
4to16 Decoder2603は、RRD[0:11]のうちのRRD[8:11]を復号し、16ビットの復号情報を出力する。たとえば、RRD[8:11]が4’b0010であれば、メモリセルアレイ102内の指定ワードのうちのビット位置が2ビット目のデータセルが不良であることを示している。4to16 Decoder2603は、16ビットの復号情報(d0_1〜d15_1)のうちの2ビット目の復号情報(d2_1)を1とし、該2ビット目の復号情報を除く15ビットの復号情報は0として出力する。ここでは、RRD[8:11]の値は、0〜9まであるため、16ビットの復号情報(d0_1〜d15_1)のうち、上位6ビットの復号情報(d10_1〜d15_1)は不要である。
OR回路2610は、d0_0とd0_1とd0_2とのうち、少なくともいずれか1つが1となれば、1をFD[0]の値として出力する。OR回路2619は、d9_0とd9_1とd9_2とのうち、少なくともいずれか1つが1となれば、1をFD[9]の値として出力する。FD[1]〜FD[8]に関するOR回路は、OR回路2610とOR回路2619と同様の処理を行う。つぎに、符号化技術3について詳細に説明する。
図27は、符号化技術3における不良セルの組み合わせの数の一例を示す説明図である。ここで、メモリセルアレイ102は1ワードごとに7ビット分のデータセルと3ビット分の冗長セルとを有している例を挙げて説明する。10ビットのセルのうち3個のセルが不良セルとなる組み合わせの数がC(10,3)であるため、組み合わせは120通りである。ビット位置とは、メモリセルアレイ102の1ワードにおけるビット順であり、×印の箇所が不良セルを示している。符号化情報とは、符号化技術3により符号化された不良セルの位置情報である。たとえば、ビット位置が1と3と5とに×印が付されている場合、符号化技術3により符号化された不良セルの位置情報は44となる。
また、理解の容易化のために、3ビット分のセルが必ず置き換えられる例を表しているが、これに限らず、10ビット中すべてのセルが正常の場合が1通りとなり、10ビット中の1ビット分のセルが不良セルの場合、C(10,1)=10となり、10ビット中の2ビット分のセルが不良セルの場合、C(10,2)=45となり、10ビット中の3ビット分のセルが不良セルの場合、C(10,3)=120となるので、1+10+45+120=176通りとするなど、いろいろな取り扱い方式が考えられる。
図28は、符号化技術3による符号化の一例を示す説明図(その1)である。図28では、オートマトンにより不良セルの位置情報が算出される例を挙げている。ここでは、メモリセルアレイ102の1ワードのビット幅をnとし、冗長セルのビット幅をkとしている。n個の中からk個が選ばれる組み合わせの数はC(n,r)である。図28では、横方向に(k+1)個と縦方向に(n+1−k)個とのノードが格子状に並べられている。右向き枝の重みは0であり、下向き枝の重みはC(p,q)である。右向きの枝では×を受理し、下向きの枝では0を受理する。
k個の“×”と、n個の“0”とを並べて得られる、すべての組み合わせ(×××0000000〜0000000×××)を数え上げることは、図28に示した左上の“start”から右下の“goal”までのすべての経路を数え上げることに等しい。
図29は、符号化技術3による符号化の一例を示す説明図(その2)である。図29は、C(10,3)であり、ノード数は、横方向に(k+1)=4個のノードと縦方向に(n+1−k)=8個のノードとで合計で32個である。数え上げについては、C(10,3)からスタートし、順に下か右に進みながらC(0,0)まで行う。
図30は、符号化技術3による符号化の一例を示す説明図(その3)である。指定ワードの各セルが不良ビットであるか否かを表す情報が、“0××0×00000”であり、すなわち、1ビット目のセルと2ビット目のセルと4ビット目のセルとが不良セルであるとする。符号化技術3で符号化された不良セルの位置情報をZとし、現ノード位置はC(10,3)となる。“0××0×00000”のうち0ビット目が0であるため、現ノード位置がC(10,3)のノードからC(9,3)のノードへ移行される。すなわち、Z=+36となる。
つぎに、“0××0×00000”のうち1ビット目が×であるため、現ノード位置がC(9,3)のノードからC(8,2)へ移行される。Z=36+0となる。そして、“0××0×00000”のうち2ビット目が×であるため、現ノード位置がC(8,2)のノードからC(7,1)へ移行される。Z=36+0となる。
つぎに、“0××0×00000”のうち3ビット目が0であるため、現ノード位置がC(7,1)のノードからC(6,1)へ移行される。Z=36+1となる。“0××0×00000”のうち4ビット目が×であるため、現ノード位置がC(6,1)のノードからC(5,0)へ移行される。Z=37+0となる。“0××0×00000”のうち5ビット目が0であるため、現ノード位置がC(5,0)のノードからC(4,0)へ移行される。Z=37+0となる。
“0××0×00000”のうち6ビット目が0であるため、現ノード位置がC(4,0)のノードからC(3,0)へ移行される。Z=37+0となる。“0××0×00000”のうち7ビット目が0であるため、現ノード位置がC(3,0)のノードからC(2,0)へ移行される。Z=37+0となる。“0××0×00000”のうち8ビット目が0であるため、現ノード位置がC(2,0)のノードからC(1,0)へ移行される。Z=37+0となる。
“0××0×00000”のうち9ビット目が0であるため、現ノード位置がC(1,0)のノードからC(0,0)へ移行される。Z=37+0となる。現ノード位置がC(0,0)となるため、終了となる。よって、不良セルの位置情報は37(2進数では100101)である。そして、位置情報記憶部103の指定ワードには37が記憶される。つぎに、符号化技術3によって符号化された不良セルの位置情報を符号化技術1によって符号化された不良セルの位置情報に変換する処理について説明する。
図31は、符号化技術3に関する変換回路2201の一例を示す説明図である。具体的には、たとえば、変換回路2201は、図30で示した符号化技術3で符号化された不良セルの位置情報である37から符号化技術1で符号化された不良セルの位置情報である0110100000を変換する。図31中、ノード間に付されているb0=1やb1=0とは変換情報を示し、変換回路2201では、変換結果としてb0〜b{n−1}が得られる。図31では、C(n,k)で符号化された不良セルの位置情報を変換する例を示している。変換回路2201は、複数の演算回路を有している。
図32は、演算回路の一例を示す説明図である。−Xが付された演算回路3200は、入力された情報からXを減算する。演算回路3200では、nとneとwとweとが入力であり、eとeeとsとseとが出力である。nとwとが符号化技術3で符号化された不良セルの位置情報または該演算回路3200に接続される演算回路からの演算結果を受け付ける信号線であり、neとweとが演算回路3200に接続される演算回路から出力されるイネーブル信号を示している。sとeとが演算回路3200による演算結果を出力する信号線であり、seとeeとがそれぞれsに出力するかeに出力するかを選択するイネーブル信号である。
HDL記述例3201は、演算回路3200をHDL記述で示している。さらに、HDL記述例3201の理解の容易化のために、演算回路3200の詳細な処理をテーブル3203に示す。テーブル3203は、入力の項目と、出力の項目と、入力条件の項目とを有している。
たとえば、neが1の場合、演算回路3200は、n−Xを算出し、n−X≧0であれば、seを1とし、n−Xの算出結果をsに出力する。neが1の場合、演算回路は、n−Xを算出する。n−X<0であれば、演算回路3200はseを0とし、sをドントケアとし、eeを1とし、eをnとする。
図33は、C(10,3)に関する変換回路2201の一例を示す説明図である。図33では、各演算回路には、nが10で、kが3である場合の−Xの値が付されている。左上の演算回路3301は−X=−C(10−1,3−1)となり、−X=−36となる。
図34は、変換回路2201による変換例を示す説明図である。たとえば、符号化技術3を用いて符号化された不良セルの位置情報が37である場合を例に挙げる。左上の演算回路3301のnから37が入力される。演算回路3301は37−36を算出し、算出結果が1であるため、演算回路3301はseを1とし、sを1とし、eをドントケアとし、eeを0とする。そして、b0=0となる。演算回路3302は1−28を算出し、算出結果が−27であるため、演算回路3302はseを0とし、sをドントケアとし、eを1とし、eeを1とする。そして、b1=1となる。
つぎに、演算回路3303は1−7を算出し、算出結果が−6であるため、演算回路3303は、seを0とし、sをドントケアとし、eを1とし、eeを1とする。そして、b2=1となる。そして、演算回路3304は1−1を算出し、算出結果が0であるため、演算回路3304は、seを1とし、sを0とし、eをドントケアとし、eeを0とする。そして、b3=0となる。そして、演算回路3305は0−1を算出し、算出結果が−1であるため、演算回路3305は、seを0とし、sをドントケアとし、eを0とし、eeを1とする。そして、b4=1となり、b5〜b9=0となる。
ここで、{b0,b1,b2,b3,b4,b5,b6,b7,b8,b9}は{0,1,1,0,1,0,0,0,0,0}である。b0〜b9が符号化技術1で符号化された不良セルの位置情報である。
(実施の形態3)
図35は、実施の形態3にかかる製造方法の一連の処理を示す説明図である。まず、ウェハプロセス処理では、半導体製造装置が半導体メモリとして動作試験可能な工程まで半導体製造フローを実施する(ステップS3501)。そして、試験処理では、半導体試験装置が半導体メモリ内のメモリセルアレイ102のFAIL BITMAP測定を行う(ステップS3502)。FAIL BITMAP測定とは、具体的には、たとえば、メモリセルアレイ102内の各ワードについて読み出し・書き込みを行うことである。これにより、いずれのセルが不良であるかを示す試験結果が得られる。
つぎに、データ作成処理では、人手やコンピュータが試験結果に基づいてEB(Electron Beam;電子ビーム)露光データを作成する(ステップS3503)。ここでは、たとえば、人手やコンピュータが、試験結果に基づいて不良セルの位置情報を符号化し、EB露光装置が読み取り可能なデータに変換する。そして、EB露光処理では、EB露光装置がEB露光データに基づいてEB露光することで、位置情報記憶部103に不良セルの位置情報を書き込む(ステップS3504)。具体的には、たとえば、位置情報記憶部103のメモリセルの0と1の記憶を決定する配線を電源電圧に接続させるか否かを、EB露光装置がビアホールを描画するか否かで決定する。そして、ウェハプロセス処理では、半導体製造装置が半導体製造フローを継続し(ステップS3505)、一連の処理を終了する。
以上実施の形態1で説明した半導体メモリによれば、不良セルの位置情報によって、データセルと冗長セルのうちの不良セルを除くデータセル分のセルからデータを読み出すことで、どのワードのどのセルが不良であっても冗長セルで救済することができる。これにより、回路規模を大きくせずに、冗長セルに置き換え可能な不良セルを増加することができ、歩留まりを向上させることができる。すなわち、y≧2とすることができる。
また、不良セルの位置情報に基づいて、データセル分の書き込みデータをデータセルと冗長セルとのデータに置き換えることで、冗長セルに置き換え可能な不良セルを増加することができる。
ここで、セル1つ当たりの不良率p=1.0e−8のときに、半導体メモリ内の10Mビットのセルが正常に動作する確率は(1−1.0e−9)^10e6(「^」は乗数を示している。)≒99[%]である。10Mビットのセルのうち、不良セルを1個まで冗長セルに置き換え可能とした場合、半導体メモリ内の10Mビットのセルが正常に動作する確率は99.995[%]となる。不良セルを1個まで冗長セルに置き換え可能とした場合には、不良セルを1個も冗長セルに置き換えられない場合と比較して、正常に動作する確率が上昇する。半導体メモリ内の10Mビットのセルが正常に動作する確率は、10Mビットのセルのすべてが正常のときの確率と、10Mビットのセルのうちの1個が不良セルのときの確率の和であり、(1−p)^N+p^1*(1−p)^(N−1)*C(N,1)=99.995[%]である。
さらに、10Mビットのセルのうち、不良セルを2個まで冗長セルに置き換え可能とした場合、N=10e6+2である。この場合、10Mビットのセルのすべてが正常のときの確率は99.99998[%](=(1−p)^N+p^1*(1−p)^(N−1)*C(N,1)+p^2*(1−p)^(N−2)*C(N,2))となる。よって、不良セルを2個冗長セルに置き換えられる場合の正常に動作する確率は、不良セルを1個だけ冗長セルに置き換えられる場合の正常に動作する確率と比較して向上する。
たとえば、セル1つ当たりの不良率p=1.0e−8のときに、半導体メモリ内の10Mビットのセルのうち、不良セルを2個まで救済することができる場合、半導体メモリが正常に動作する確率は、99.53[%]である。たとえば、セル1つ当たりの不良率p=7.17791029836157e−7のときに、10Mビットのセルのうち、任意で不良セルを54個まで救済することができる場合、半導体メモリが正常に動作する確率は、99.8[%]である。すなわち、10Mビットのメモリマクロが99[%]で動作することを目標とする場合、セル1個あたりの不良率があがったとしても、置き換え可能な不良セルが増加すれば、該目標が達成される。よって、セル1個あたりの不良率が従来の100万倍程度まで高くなっている場合であっても、本発明の半導体メモリでは、不良セルを救済することができる。
また、読み出し回路と書き込み回路が論理合成された単一の回路であることにより、回路規模を縮小することができる。
以上実施の形態2で説明した半導体メモリの一例によれば、位置情報記憶部に記憶させる不良セルの位置情報を指定ワードの中で何番目のビットであるかを示す情報とする。これにより、不良セルの位置情報を圧縮することができ、回路規模を縮小することができる。
以上実施の形態2で説明した半導体メモリの一例によれば、位置情報記憶部に記憶させる不良セルの位置情報を不良セルのビット位置の組み合わせの番号とする。これにより、不良セルの位置情報を圧縮することができ、回路規模を縮小することができる。
また、読み出し回路と変換回路とが論理合成された単一の回路であることにより、回路規模を縮小することができる。
また、書き込み回路と変換回路とが論理合成された単一の回路であることにより、回路規模を縮小することができる。
また、読み出し回路と書き込み回路と変換回路とが論理合成された単一の回路であることにより、回路規模を縮小することができる。
以上実施の形態3で説明した製造方法によれば、実施の形態1,2で説明した半導体メモリのメモリセルアレイからデータの読み出し・書き込みが可能な工程までを製造し、該製造途中でメモリセルアレイを試験し、不良セルを特定する。特定した不良セルの位置情報をEB露光装置によりEB露光することにより、半導体メモリの位置情報メモリに該不良セルの位置情報を書き込む。これにより、EB露光を用いて不良セルの位置情報を書き込む手法は、ヒューズ回路を用いて冗長セルへ置き換える手法と比較して、回路規模を縮小することができる。すなわち、回路規模の増大が増加させた冗長セルの面積のみの増加でよい。また、ヒューズ回路を用いる手法からEB露光を用いる手法に変更することで、ヒューズ回路で埋まっていた領域分、冗長セルを増加させることにより、救済可能な不良セルの数を増加させることができる。
(付記1)ワードごとにxビット分のデータセルとyビット分の冗長セルとを有するメモリセルアレイと、
前記ワードごとに前記データセルと前記冗長セルのうちの不良セルの位置情報を記憶する位置情報記憶部と、
読み出すアドレスを指定された指定ワードに関する前記位置情報記憶部内の不良セルの位置情報に基づいて、前記指定ワードに関する前記xビット分のデータセルと前記yビット分の冗長セルのうち前記不良セルを除くxビット分のセルのそれぞれが記憶するデータを読み出す読み出し回路と、
を備えることを特徴とする半導体メモリ。
(付記2)前記位置情報記憶部に記憶された前記指定ワードに関する前記不良セルの位置情報が、前記不良セルが前記指定ワードの中で何番目のビットであるかを示す情報である場合、前記情報を前記指定ワードの各セルが不良か否かを示すx+yビットのビット列に変換する変換回路を備え、
前記読み出し回路は、
前記指定ワードに関する前記変換回路によって変換されたx+yビットのビット列に基づいて、前記指定ワードに関する前記メモリセルアレイ内のxビット分のデータセルとyビット分の冗長セルのうちの前記不良セルを除くxビット分のセルのそれぞれが記憶するデータを読み出すことを特徴とする付記1に記載の半導体メモリ。
(付記3)前記位置情報記憶部に記憶された前記指定ワードに関する前記不良セルの位置情報が、前記不良セルのビット位置の組み合わせの番号である場合、前記組み合わせの番号を前記指定ワードの各セルが不良か否かを示すx+yビットのビット列に変換する変換回路を備え、
前記読み出し回路は、
前記指定ワードに関する前記変換回路によって変換されたx+yビットのビット列に基づいて、前記指定ワードに関する前記メモリセルアレイ内のxビット分のデータセルとyビット分の冗長セルのうちの前記不良セルを除くxビット分のセルのそれぞれが記憶するデータを読み出すことを特徴とする付記1に記載の半導体メモリ。
(付記4)前記読み出し回路と前記変換回路とが論理合成された単一の回路であることを特徴とする付記2または3に記載の半導体メモリ。
(付記5)ワードごとにxビット分のデータセルとyビット分の冗長セルとを有するメモリセルアレイと、
前記ワードごとに前記データセルと前記冗長セルのうちの不良セルの位置情報を記憶する位置情報記憶部と、
書き出すアドレスを指定された指定ワードに関するxビット分の書き込みデータを、前記指定ワードに関する前記位置情報記憶部内の不良セルの位置情報に基づいて、前記指定ワードに関するxビット分のデータセルと前記指定ワードに関するyビット分のデータセルに書き込む書き込み回路と、
を備えることを特徴とする半導体メモリ。
(付記6)前記位置情報記憶部に記憶された前記指定ワードに関する前記不良セルの位置情報が、前記不良セルが前記指定ワードの中で何番目のビットであるかを示す情報である場合、前記情報を前記指定ワードの各セルが不良か否かを示すx+yビットのビット列に変換する変換回路を備え、
前記書き込み回路は、
前記指定ワードに関するxビット分の書き込みデータを、前記指定ワードに関する前記変換回路によって変換されたx+yビット分のビット列に基づいて、前記指定ワードに関するxビット分のデータセルと前記指定ワードに関するyビット分のデータセルに書き込むことを特徴とする付記5に記載の半導体メモリ。
(付記7)前記位置情報記憶部に記憶された前記指定ワードに関する前記不良セルの位置情報が、前記不良セルのビット位置の組み合わせの番号である場合、前記組み合わせの番号を前記指定ワードの各セルが不良か否かを示すx+yビットのビット列に変換する変換回路を備え、
前記書き込み回路は、
前記指定ワードに関するxビット分の書き込みデータを、前記指定ワードに関する前記変換回路によって変換されたx+yビット分のビット列に基づいて、前記指定ワードに関するxビット分のデータセルと前記指定ワードに関するyビットのデータセルに書き込むことを特徴とする付記5に記載の半導体メモリ。
(付記8)前記書き込み回路と前記変換回路とが論理合成された単一の回路であることを特徴とする付記6または7に記載の半導体メモリ。
(付記9)ワードごとにxビット分のデータセルとyビット分の冗長セルとを有するメモリセルアレイと、位置情報記憶部と、1ワードあたりyビットまでの不良セルを救済する機能と、を有する半導体メモリのうちの前記メモリセルアレイを試験し、
試験結果から得られる前記ワードごとの前記データセルと前記冗長セルのうちの不良セルの位置情報を、前記位置情報記憶部に電子ビーム描画によって書き込む
ことを特徴とする製造方法。
100,2200 半導体メモリ
102 メモリセルアレイ
103 位置情報記憶部
200 読み出し回路
300 書き込み回路
2201 変換回路

Claims (6)

  1. ワードごとにx(x≧1)ビット分のデータセルとy(y≧1)ビット分の冗長セルとを有するメモリセルアレイと、
    前記ワードごとに前記データセルと前記冗長セルのうちの不良セルの位置情報を記憶する位置情報記憶部と、
    読み出すアドレスを指定された指定ワードに関する前記位置情報記憶部内の不良セルの位置情報に基づいて、前記指定ワードに関する前記xビット分のデータセルと前記yビット分の冗長セルのうち前記不良セルを除くxビット分のセルのそれぞれが記憶するデータを、前記不良セルを除くxビット分のセルのビット位置の順に並べて読み出す読み出し回路と、
    を備えることを特徴とする半導体メモリ。
  2. 前記位置情報記憶部に記憶された前記指定ワードに関する前記不良セルの位置情報が、前記不良セルが前記指定ワードの中で何番目のビットであるかを示す情報である場合、前記情報を前記指定ワードの各セルが不良か否かを示すx+yビットのビット列に変換する変換回路を備え、
    前記読み出し回路は、
    前記指定ワードに関する前記変換回路によって変換されたx+yビットのビット列に基づいて、前記指定ワードに関する前記メモリセルアレイ内のxビット分のデータセルとyビット分の冗長セルのうちの前記不良セルを除くxビット分のセルのそれぞれが記憶するデータを読み出すことを特徴とする請求項1に記載の半導体メモリ。
  3. 前記位置情報記憶部に記憶された前記指定ワードに関する前記不良セルの位置情報が、前記不良セルのビット位置を用いてオートマトンで計算された組み合わせの番号である場合、前記組み合わせの番号を前記指定ワードの各セルが不良か否かを示すx+yビットのビット列に変換する変換回路を備え、
    前記読み出し回路は、
    前記指定ワードに関する前記変換回路によって変換されたx+yビットのビット列に基づいて、前記指定ワードに関する前記メモリセルアレイ内のxビット分のデータセルとyビット分の冗長セルのうちの前記不良セルを除くxビット分のセルのそれぞれが記憶するデータを読み出すことを特徴とする請求項1に記載の半導体メモリ。
  4. ワードごとにx(x≧1)ビット分のデータセルとy(y≧1)ビット分の冗長セルとを有するメモリセルアレイと、
    前記ワードごとに前記データセルと前記冗長セルのうちの不良セルの位置情報を記憶する位置情報記憶部と、
    書き出すアドレスを指定された指定ワードに関する前記位置情報記憶部内の不良セルの位置情報に基づいて、前記指定ワードに関するxビット分のデータセルと前記指定ワードに関するyビット分のデータセルとのうち前記不良セルを除くxビット分のセルに、前記指定ワードに関するxビット分の書き込みデータを、前記不良セルを除くxビット分のセルのビット位置の順に対応付けて書き込む書き込み回路と、
    を備えることを特徴とする半導体メモリ。
  5. 前記位置情報記憶部に記憶された前記指定ワードに関する前記不良セルの位置情報が、前記不良セルが前記指定ワードの中で何番目のビットであるかを示す情報である場合、前記情報を前記指定ワードの各セルが不良か否かを示すx+yビットのビット列に変換する変換回路を備え、
    前記書き込み回路は、
    前記指定ワードに関するxビット分の書き込みデータを、前記指定ワードに関する前記変換回路によって変換されたx+yビット分のビット列に基づいて、前記指定ワードに関するxビット分のデータセルと前記指定ワードに関するyビット分のデータセルに書き込むことを特徴とする請求項4に記載の半導体メモリ。
  6. 前記位置情報記憶部に記憶された前記指定ワードに関する前記不良セルの位置情報が、前記不良セルのビット位置を用いてオートマトンで計算された組み合わせの番号である場合、前記組み合わせの番号を前記指定ワードの各セルが不良か否かを示すx+yビットのビット列に変換する変換回路を備え、
    前記書き込み回路は、
    前記指定ワードに関するxビット分の書き込みデータを、前記指定ワードに関する前記変換回路によって変換されたx+yビット分のビット列に基づいて、前記指定ワードに関するxビット分のデータセルと前記指定ワードに関するyビット分のデータセルに書き込むことを特徴とする請求項4に記載の半導体メモリ。
JP2010279718A 2010-12-15 2010-12-15 半導体メモリ Expired - Fee Related JP5664204B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010279718A JP5664204B2 (ja) 2010-12-15 2010-12-15 半導体メモリ
US13/137,672 US20120155196A1 (en) 2010-12-15 2011-09-01 Semiconductor memory and manufacturing method
TW100132445A TWI464741B (zh) 2010-12-15 2011-09-08 半導體記憶體及製造方法
US14/331,401 US9384860B2 (en) 2010-12-15 2014-07-15 Semiconductor memory of which defective cell is replaceable with redundant cell and manufacturing method of semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010279718A JP5664204B2 (ja) 2010-12-15 2010-12-15 半導体メモリ

Publications (2)

Publication Number Publication Date
JP2012128910A JP2012128910A (ja) 2012-07-05
JP5664204B2 true JP5664204B2 (ja) 2015-02-04

Family

ID=46234229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010279718A Expired - Fee Related JP5664204B2 (ja) 2010-12-15 2010-12-15 半導体メモリ

Country Status (3)

Country Link
US (2) US20120155196A1 (ja)
JP (1) JP5664204B2 (ja)
TW (1) TWI464741B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9881697B2 (en) * 2016-03-04 2018-01-30 Sandisk Technologies Llc Dynamic-shifting redundancy mapping for non-volatile data storage

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5847798B2 (ja) * 1978-03-09 1983-10-25 富士通株式会社 記憶装置
JPS57201000A (en) * 1981-06-04 1982-12-09 Fujitsu Ltd Bit shift control system of sequential access memory
JPS5847798A (ja) 1981-09-09 1983-03-19 象印チエンブロツク株式会社 電動チエンブロック
JPS63239546A (ja) * 1987-03-27 1988-10-05 Nec Corp 半導体記憶回路
KR0119888B1 (ko) * 1994-04-11 1997-10-30 윤종용 반도체 메모리장치의 결함구제방법 및 그 회로
JPH088344A (ja) * 1994-06-22 1996-01-12 Fujitsu Ltd 冗長回路
JPH10209302A (ja) * 1997-01-21 1998-08-07 Toshiba Microelectron Corp 半導体装置及びその製造方法
JP3581249B2 (ja) * 1997-06-10 2004-10-27 株式会社東芝 半導体不良ビット救済処理方法及び半導体不良ビット救済処理装置
JPH1117019A (ja) 1997-06-20 1999-01-22 Hitachi Ltd 半導体集積回路装置とそれに用いられる配線プログラム素子の製造方法
JP3874556B2 (ja) * 1998-07-23 2007-01-31 富士通株式会社 半導体記憶装置およびシフト冗長方法
JP4603111B2 (ja) * 1999-06-17 2010-12-22 富士通セミコンダクター株式会社 半導体記憶装置
JP2000123593A (ja) * 1998-08-13 2000-04-28 Toshiba Corp 半導体記憶装置及びその製造方法
JP3799197B2 (ja) 1999-08-26 2006-07-19 株式会社東芝 半導体記憶装置
JP2003331597A (ja) 2002-05-09 2003-11-21 Mitsubishi Electric Corp 半導体装置試験方法とその装置、その方法によって救済解析が行われた半導体装置、およびその方法に使用する救済組み合わせテーブル生成方法とその装置
CN101051503B (zh) * 2003-03-17 2010-07-07 日本先锋公司 一次写入型记录介质、记录装置、重放装置、及记录方法
US20070141731A1 (en) * 2005-12-20 2007-06-21 Hemink Gerrit J Semiconductor memory with redundant replacement for elements posing future operability concern
JP2008097675A (ja) 2006-10-06 2008-04-24 Elpida Memory Inc 半導体装置
JP5426856B2 (ja) * 2008-09-22 2014-02-26 ピーエスフォー ルクスコ エスエイアールエル 半導体記憶装置及びそのテスト方法
JP2010244596A (ja) * 2009-04-02 2010-10-28 Renesas Electronics Corp 集積回路
JP5439974B2 (ja) 2009-06-22 2014-03-12 富士通セミコンダクター株式会社 半導体装置及び不良箇所情報の書き込み方法

Also Published As

Publication number Publication date
TWI464741B (zh) 2014-12-11
US9384860B2 (en) 2016-07-05
TW201230052A (en) 2012-07-16
US20120155196A1 (en) 2012-06-21
JP2012128910A (ja) 2012-07-05
US20140321222A1 (en) 2014-10-30

Similar Documents

Publication Publication Date Title
US8400853B2 (en) Semiconductor chip and method of repair design of the same
JP4056488B2 (ja) 半導体装置の試験方法及び製造方法
JP2007193879A (ja) 半導体集積回路装置
US5281868A (en) Memory redundancy addressing circuit for adjacent columns in a memory
JP2001216797A (ja) 内蔵メモリのための自己復旧回路を具備する集積回路半導体装置及びメモリ復旧方法
JP2006228330A (ja) 半導体記憶装置
JP5439974B2 (ja) 半導体装置及び不良箇所情報の書き込み方法
JP2012113798A (ja) リペア分析装置およびその方法
JP2008084409A (ja) 不良救済判定装置および不良救済判定方法
JP2010244596A (ja) 集積回路
JP5664204B2 (ja) 半導体メモリ
JP2005174379A (ja) 半導体集積回路及びアドレスデータ転送方法
JP2006185569A (ja) 半導体記憶装置
KR20090030762A (ko) 리던던시 메모리 블록을 가지는 반도체 메모리 장치 및그의 셀 어레이 구조
JP4865018B2 (ja) 半導体集積回路
JP5353681B2 (ja) メモリインターフェース回路
JP5617776B2 (ja) メモリ回路,メモリ装置及びメモリデータの誤り訂正方法
US6512708B1 (en) Placement and routing for wafer scale memory
Chang et al. A built-in redundancy-analysis scheme for random access memories with two-level redundancy
US7305638B1 (en) Method and system for ROM coding to improve yield
JP5082080B2 (ja) 集積回路装置,製造装置および製造方法
JP2004192714A (ja) 半導体装置
JP2006228288A (ja) 半導体記憶装置
JP2007172690A (ja) メモリ冗長選択装置、記憶装置、情報処理装置およびメモリセルの冗長選択の方法
KR100216716B1 (ko) 메모리 장치의 수리 체계 및 수리 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140825

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: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141124

R150 Certificate of patent or registration of utility model

Ref document number: 5664204

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees