CN104916332A - 半导体存储装置及nand型快闪存储器的程序化方法 - Google Patents
半导体存储装置及nand型快闪存储器的程序化方法 Download PDFInfo
- Publication number
- CN104916332A CN104916332A CN201410621476.7A CN201410621476A CN104916332A CN 104916332 A CN104916332 A CN 104916332A CN 201410621476 A CN201410621476 A CN 201410621476A CN 104916332 A CN104916332 A CN 104916332A
- Authority
- CN
- China
- Prior art keywords
- data
- error
- circuit
- programming
- detecting
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1052—Bypassing or disabling error detection or correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/403—Error protection encoding, e.g. using parity or ECC codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种半导体存储装置及NAND型快闪存储器的程序化方法,具体包括存储器阵列100、分页缓冲/感测电路160、连接至外部输出入端的输出入缓冲器110、进行数据的错误检测修正的ECC电路120。程序化动作中,输出入缓冲器110将程序化数据并列地载入分页缓冲/感测电路160及ECC电路120。ECC电路120将ECC计算后产生的运算位写入分页缓冲/感测电路160的备用领域。ECC处理结束后,保持于分页缓冲/感测电路160的数据程序化至选择的分面。
Description
技术领域
本发明有关于半导体存储装置的输出入数据的错误检测修正,且特别有关于NAND型快闪存储器的输入数据的错误检测修正及其程序。
背景技术
快闪存储器、DRAM等的半导体装置中,集成度逐年增加,要制造出良好或没有缺陷的存储元件变得困难。因此,在存储器芯片上会利用一种冗余机制,来补偿在制造过程中发生的存储器元件的物理性缺陷。例如,在一种冗余机制中,通过设置冗余存储器来补偿具有物理性缺陷的存储元件。而半导体存储器除了使用冗余存储器来进行物理性补偿外,也会使用错误检测修正电路(ECC:Error Checking Correction)来作为软件错误的处理对策。
NAND型快闪存储器中,反复地程序化或抹去数据,使得隧道绝缘层劣化造成电荷保持性变差、被隧道绝缘层所捕捉的电子使临界值电压产生变动,引起位错误。专利文献1中,搭载了错误检测修正电路作为这种位错误的处理对策。特别是,靠近块选择晶体管的存储单元,由于微影刻蚀所形成的图样的不均匀或是扩散层形成时的离子注入的不均匀,使得位错误率有偏高的倾向,为了补偿更多这样的错误而储存了ECC码。
NAND型快闪存储器有1个存储单元储存1位的数据的类型,也有1个存储单元储存多位的数据的类型。专利文献2中,揭露了这种多位的数据的错误修正机制。专利文献3更揭露一种快闪存储器,将ECC运算(ECC parity)附加于输入的数据来产生ECC符号,将产生的ECC符号写入实体存储区块,当从实体存储区块读出的页数据有错误时通过ECC符号来修正错误,将修正的错误数目到达门槛值以上的实体存储区块视为警告实体存储区块并登入表格,在数据写入时降低选择警告实体存储区块的优先顺位。
背景技术文献
专利文献1:日本特开2010-152989号公报
专利文献2:日本特开2008-165805号公报
专利文献3:日本特开2010-79486号公报
图1说明将已知的ECC电路整合于芯片上的NAND型快闪存储器的程序化实施例。从外部输出入端输入的程序化数据载入分页缓冲/感测电路400。当载入结束时,传送电路410接着将分页缓冲/感测电路400保持的程序化数据传送到ECC电路420。传送电路410例如包括可在双方传输数据的复数的传输晶体管,各晶体管被共通连接至各栅极的控制信号TG所驱动。ECC电路420将收到的数据进行ECC计算,产生错误修正符号(错误码)。产生的错误修正符号被ECC电路420送回分页缓冲/感测电路400的既定领域。之后,分页缓冲/感测电路400将输入的程序化数据及错误修正符号程序化至存储器阵列中被选择的页面。
然而,分页缓冲/感测电路400往ECC电路420的数据的传送时间可能变得比较大。假设分页缓冲/感测电路400以区段单位来接收数据,而ECC电路420要对区段单位的数据进行ECC处理的话,程序化数据在分页缓冲/感测电路400的全部的区段传送结束为止都无法程序化。伴随着高度集成化使得每1页的位数增加的话,数据传送时间及ECC电路运算所需要的时间成比例地增加。因此,结果将造成程序化数据程序化至存储器阵列的时间变长。
发明内容
本发明目的在于解决上述已知的问题,而提供了一种半导体存储装置,能够维持数据的可靠度并且尝试使程序化动作高速化,该半导体存储装置包括:存储器阵列;数据保持元件,保持从该存储器阵列读出的数据,或者是保持要写入该存储器阵列的数据;输入元件;错误检测修正元件,进行数据的错误检测修正;供给元件,将来自该输入元件的输入数据并列地供给至该数据保持元件及该错误检测修正元件;以及写入元件,将该错误检测修正元件处理来自该供给元件的数据而产生的错误修正符号写入该数据保持元件。
半导体存储装置更包括:程序化元件,当元件该错误修正符号写入该数据保持元件后,将保持于该数据保持元件的数据程序化至存储器阵列。该程序化元件进行程序化时,该供给元件将输入该输入元件的数据供给至该错误检测修正元件。当该数据保持元件分割为多个区段时,该供给元件将区段单位的数据提供至该错误检测修正元件,该错误检测修正元件以进行区段单位的数据的错误检测修正。半导体存储装置更包括:数据传送元件,设置于该数据保持元件及该错误检测修正元件之间,其中该数据传送元件会在读出动作进行时将保持于该数据保持元件的数据传送至该错误检测修正元件,在程序化动作进行时不会将保持于该数据保持元件的数据传送至该错误检测修正元件。半导体存储装置更包括:控制元件,根据来自外部的指令控制程序化动作及读出动作。该数据传送元件被该控制元件所控制。该存储器阵列是NAND型存储阵列。
本发明的NAND型快闪存储器的程序化方法包括:将从外部端输入的程序化数据并列地载入分页缓冲器及错误检测修正电路;将该错误检测修正电路产生的错误修正符号连结到该程序化数据,写入该分页缓冲器;以及将保持于分页缓冲器的程序化数据及该错误修正符号程序化至存储器阵列中被选择的分页。NAND型快闪存储器的程序化方法更包括:根据外部输入的指令来判定是否为程序化动作;以及当判定为程序化动作时,将该外部端输入的程序化数据载入该错误检测修正电路。
根据本发明,将输入数据并列地载入数据保持元件及错误检测修正元件,使错误检测修正元件产生的错误修正符号写入数据保持元件,因此不需要从数据保持元件往错误修正手段的实质的数据传送,能够尝试缩短程序化的时间。
附图说明
图1为用来说明已知的NAND型快闪存储器的输入数据的实施例示意图。
图2为显示本发明实施例的NAND型快闪存储器的全体概略架构。
图3为显示本发明实施例的存储器阵列的NAND串列的架构的电路图。
图4为显示本发明实施例的快闪存储器在程序化时施加于各部位的电压的实施例示意图。
图5为说明输入至本发明实施例的快闪存储器的数据的流程图。
图6为显示本发明实施例的快闪存储器的输出入缓冲器的实施例示意图。
图7为说明本发明实施例的惯用领域的数据的ECC处理。
图8为说明本发明实施例的惯用领域的数据的ECC处理。
图9为说明本发明实施例的备用领域的数据的ECC处理。
图10为说明已知的快闪存储器的程序化动作时的ECC处理的流程图。
图11为说明本发明实施例的快闪存储器的程序化动作时的ECC处理的流程图。
附图标号
10~快闪存储器;
100~存储器阵列;
110、110-1~110-7~输出入缓冲器;
112~输出缓冲器;
114~切换电路;
120~ECC电路;
120A~ECC电路/写入电路;
130~位址暂存器;
140~控制器;
150~字元线选择电路;
160~分页缓冲/感测电路;
170~行选择电路;
180~内部电压产生电路;
200~传送电路;
300~惯用领域;
310~备用领域;
311~315~领域;
400~分页缓冲/感测电路;
410~传送电路;
420~ECC电路;
Di~输入数据;
GBL~位线;
MCi(i=0、1、…、31)~存储单元;
NU~NAND串列、串列单元;
P0~P7~外部输出入端;
SGD、SGS~选择栅极线;
SL~源极线;
SW~切换信号;
TD~位线选择晶体管;
TS~源极线选择晶体管;
TG~控制信号(驱动信号);
Vers~抹除电压;
Vpgm~程序化电压;
Vpass~通过电压;
Vread~读出通过电压;
WL~字元线。
具体实施方式
接着,参照附图详细说明本发明的实施例。在此,会以NAND型快闪存储器为例。在附图中为了容易了解而强调各部位,但必须留意附图与实际的装置尺寸不同。
实施例
本发明实施例的快闪存储器的典型架构显示于图2。然而,在此所示的快闪存储器的架构仅为一例,本发明并不限定于这种架构。本实施例的快闪存储器10包括:存储器阵列100,由配置成行列状的复数存储单元所形成;输出入缓冲器110,连接至外部输出入端I/O并保持输出入数据;ECC电路120,将对存储器阵列100程序化的数据或从存储器阵列100读出的数据进行错误检测、修正;位址暂存器130,接收来自输出入缓冲器110的位址数据;控制器140,接收来自输出入缓冲器110的指令数据或来自外部的控制信号,控制各部;字元线选择电路150,接收来自位址暂存器130的列位址信息Ax,将列位址信息A解码并根据解码的结果来进行块的选择以及字元线的选择等;分页缓冲器/感测电路160,保持从字元线选择电路150所选择的页所读出的数据以及保持要写入被选择的页的程序化数据;行选择电路170,接收来自位址暂存器130的行位址信息Ay,将行位址信息Ay解码并根据解码的结果来进行分页缓冲/感测电路160内的数据选择;内部电压产生电路180,产生数据的读出、程序化、抹除等所需要的电压(程序化电压Vpgm、通过电压Vpass、读出通过电压Vread、抹除电压Vers等)。
存储器阵列100具有配置于行方向的m个块BLK(0)、BLK(1)、…、BLK(m-1)。靠近块BLK(0)的一侧配置有分页缓冲/感测电路160。除了这种架构以外,是分页缓冲/感测电路160也可以配置于块的另一侧的端部,或者是配置于两侧的端部。
1个存储块如图3所示,由多个NAND串列单元NU,每个NAND串列单元NU由复数的存储单元串联而成。1个存储块内有n+1个串列单元NU排列于列方向。串列单元NU包括串联的复数的存储单元MCi(i=0、1、…、31)、连接于一侧的端部上的存储单元MC31的漏极端的选择晶体管TD、连接于另一侧的端部上的存储单元MC0的源极端的选择晶体管TS。选择晶体管TD的漏极连接至对应的1条位线GBL,选择晶体管TS的源极连接至共通的源极线SL。
存储单元MCi的控制栅极连接至字元线WLi,选择晶体管TD、TS的栅极连接至与字元线WL平行的选择栅极线SGD、SGS。字元线选择电路150根据列位址Ax或变换的位址选择块时,通过块的选择栅极信号SGS、SGD来选择地驱动选择晶体管TD、TS。图3显示典型的存储单元的架构,存储单元可以是NAND串列内包括1个或多个虚拟存储单元。
存储单元典型来说为MOS架构,包含为形成于P井内的N型扩散领域的源极/漏极、形成于源极/漏极间的通道上的通道氧化层、形成于通道氧化层上的浮动栅极(电荷蓄积层)、以及通过介电体层形成于浮动栅极上的控制栅极。浮动栅极没有蓄积电荷时,也就是数据“1”被写入时,临界电压值是负的状态,存储器为常开。浮动栅极有蓄积电荷时,也就是数据“0”被写入时,临界电压值转变为正,存储器为常关。然而,存储单元可以是储存1位的SLC型,也可以是储存多位的MLC型。
图4为显示在快闪存储器的各动作时所施加的偏压电压的例示的表格。读出动作中,对位线施加正的电压,对被选择的字元线施加电压(例如0V),对非选择的字元线施加通过电压Vpass(例如4.5V),对选择栅极线SGD、SGS施加正的电压(例如4.5V),以开启位线选择晶体管TD、源极线选择晶体管TS,以及对共通源极线施加0V。程序化(写入)动作中,对被选择的字元线施加高电压的程序化电压Vpgm(15~20V),对非选择的字元线施加中间电位(例如10V),开启位线选择晶体管TD、关闭源极线选择晶体管TS,并对位线GBL施加对应于“0”或“1”的数据的电位。抹除动作中,对块内被选择的字元线施加0V,对P井施加高电压(例如20V),将浮动栅极的电子拉出至基板,以此以块为单位抹除数据。
图5表示从本实施例的快闪存储器10的外部输出入端输入的数据的流程。程序化动作时,由输出入缓冲器110提供的输入数据Di并列地载入分页缓冲/感测电路160及ECC电路120。
ECC电路120通过计算输入数据Di,产生对输入数据Di进行错误检测修正所需要的错误修正符号或运算位。ECC计算例如以汉明码或里德-所罗门码等已知的手法来进行,将输入的k位或k位组的输入数据Di变换为p=k+q。本说明书中,将q称为对输入数据Di进行错误检测修正所需要的错误修正符号或运算位。在1个较佳的例子中,ECC电路120能够包括将错误修正符号写入分页缓冲/感测电路160的备用领域用的写入电路。然而,这个架构仅为一例,本发明并不限定于此。例如,可以与ECC电路120分开,另外准备用来写入错误修正符号的写入电路,也可以是传送电路200所包括的写入电路。
分页缓冲/感测电路160与ECC电路120之间设置了传送电路200。传送电路200包括复数的并联的传送用晶体管,各传送用晶体管的栅极共通地连接到驱动信号TG。驱动信号TG受控制器140驱动控制,H位准的驱动信号TG可将传送用晶体管全部开启,使得分页缓冲/感测电路160与ECC电路120之间能够双方向地传送数据。本实施例中需要留意的点是传送电路200在读出动作时可在分页缓冲/感测电路160与ECC电路120之间进行双方向的数据传送,在程序化动作时,分页缓冲/感测电路160与ECC电路120之间不进行实质的程序化数据的传送。
程序化动作时,来自输出入缓冲器110的输入数据Di分别供给至分页缓冲/感测电路160与ECC电路120。图6显示输出入缓冲器110的部份的内部架构的一例。输出入缓冲器110包括复数的输出缓冲器112、以及分别连接至复数的输出缓冲器112的输出端的切换电路114。切换电路114包括复数的晶体管,晶体管的一端连接至输出缓冲器112,另一端连接至ECC电路,栅极连接至切换信号SW。切换信号SW被控制器140驱动控制。也就是说,从外部输入的程序化指令被控制器140解读时,切换信号被驱动至H位准,晶体管一起开启,来自输出缓冲器112的输入数据Di也供给至ECC电路。程序化动作以外时,切换信号SW被驱动至L位准,输出缓冲器112与ECC电路120隔离。
往分页缓冲/感测电路160及ECC电路120的输入数据Di的传送实质地在相同时间点结束。当数据传送结束时,ECC电路进行ECC计算,将这边产生的错误修正符号(运算位)写入分页缓冲/感测电路160的既定领域。这段期间,传送电路200不将输入数据Di从分页缓冲/感测电路160传送往ECC电路120。
当ECC电路120产生的错误修正符号写入分页缓冲/感测电路160结束后,接着,保持于分页缓冲/感测电路160的输入数据Di以及1页的份量的错误修正符号的数据程序化至存储器阵列100中所选择的分页。
另一方面,在读出动作中,从存储器阵列100中所选择的分页读出的数据传送到分页缓冲/感测电路160。接着,保持于分页缓冲/感测电路160的数据经由传送电路200传送到ECC电路120。ECC电路120根据错误修正符号来判定有无程序化不良、或者是读出不良,如果有上述不良造成的错误就使用错误修正符号来修正数据。经过ECC处理后的数据再次经过传送电路200传送到分页缓冲/感测电路160,接着通过输出入缓冲器110输出至外部。
本实施例中,在程序化动作时,从外部输出入端输入的数据并列地载入平行分页缓冲/感测电路160及ECC电路120,因此能够实质上省略数据从分页缓冲/感测电路160往ECC电路传送,藉此能够大幅缩短程序化所需要的时间。
接着,以图7~图11说明本实施例更佳态样。快闪存储器10的外部输出入端能够以×1、×4、×8,但在此将说明快闪存储器10具有×8的外部输出入端的情况下的程序化动作时的输入数据的处理。如图7所示,外部输出入端P0~P7分别连接至I/O缓冲器110-0~110-7。程序化动作时,输入外部输出入端P0~P7的数据会并列地输入I/O缓冲器110-0~110-7。
分页缓冲/感测电路160具有分割为区段0~区段7的8个区段的惯用领域300、以及分割为备用0、备用1、备用2、备用3的4个区段的备用领域310。
常用领域300的1个区段例如由256位组所构成,在这个情况下,惯用领域300的8个区段全体能够保持2K位组的程序化数据。备用领域310的1个区段例如由16位组所构成,在这个情况下,4个区段(备用0~备用3)全体能够保持64位组的数据。备用领域310的1个区段例如具有:储存用来识别包含了不良存储器元件的不良存储块的信息的领域311;储存有关于使用者数据的信息的领域312;储存有关惯用领域300的2个区段的错误修正符号(运算位)的领域313、314;以及持存备用领域310进行了ECC计算后的错误修正符号(运算位)的领域315。备用领域310的备用0的区段中的领域313、314分别储存惯用领域300的区段0、区段1的错误修正符号(运算位),备用领域310的备用1的区段中的领域313、314分别储存惯用领域300的区段2、区段3的错误修正符号(运算位)。同样地,备用领域310的备用2的区段中的领域313、314分别储存惯用领域300的区段4、区段5的运算位,备用领域310的备用3的区段中的领域313、314分别储存惯用领域300的区段6、区段7的运算位。
惯用领域300的1个区段分配给8个外部输出入端P-0~P-7,也就是输出入缓冲器110-0~110-7。换言之,1个外部输出入端分配了256位(256bit×8=1区段)。图2所示的行选择电路170将程序化动作时收到的行位址信息Ay进行解码,根据该解码结果来选择输入至外部输出入端P-0~P-7的数据所要载入的区段。图7显示了外部输出入端P-0~P-7所接收的数据根据行位址信息Ay而载入区段0的例子。图8显示了外部输出入端P-0~P-7所接收的数据根据行位址信息Ay而载入区段7的例子。
程序化动作时,输出入端110-0~110-7通过切换电路114的导通,将程序化数据分别输出至分页缓冲/感测电路160及ECC电路/写入电路120A。此时,驱动信号TG被驱动至L位准,传送电路200不传送惯用领域300的写入数据。
在显示于此的例子中,ECC电路/写入电路120A包括用来写入错误修正符号的写入电路。较佳的是ECC电路能够对与惯用领域300的1个区段相等位组数目的数据进行ECC计算。惯用领域300的1个区段有256位组的话,ECC电路对256位组的数据进行ECC计算,产生其错误修正符号。
ECC电路/写入电路120A将产生的错误修正符号写入备用领域310中对应的区段的领域313或314。在图7所示的例子中,程序化数据Di载入惯用领域300的区段0,因此错误修正符号被写入到备用0中储存区段0的运算位的领域313。在图8所示的例子中,程序化数据Di载入惯用领域300的区段7,因此错误修正符号被写入到备用3中储存区段7的运算位的领域314。
图9显示备用领域310的数据的ECC处理的例子。对惯用领域300的各区段完成ECC处理后,接着对备用领域310的各区段进行ECC处理。要对包含于备用领域310的1个区段内的哪一个数据进行ECC处理是任意的,但本例子中假设对领域312至领域314的数据进行ECC处理。因此,传送电路200将备用0中的领域312至领域314的数据传送到ECC电路/写入电路120A。然后,经ECC处理而产生的错误修正符号被ECC电路/写入电路120A写入备用0中的领域315。对于其他的备用1至备用3也进行同样的处理。
图10显示已知的ECC处理的流程,图11显示本实施例的ECC处理的流程。首先,说明已知的ECC处理动作。从外部控制器对快闪存储器10供给外部控制信号、指令数据、位址数据及程序化数据。控制器140根据外部控制信号及指令数据而开始程序化动作。
当程序化数据(输入数据Di)通过外部输出入端及输出入缓冲器110载入分页缓冲/感测电路160后(S100),在控制器140的控制下程序化程序开始(S102)。被保持于分页缓冲/感测电路160的区段0的数据通过传送电路200传送到ECC电路120(S104)。接着,ECC电路120执行ECC计算(S106),并将在此产生运算位写入分页缓冲/感测电路160的备用领域310(S108)。
接着,由控制器14判定是否有ECC未处理的区段(S110)。这样一来,分页缓冲/感测电路160的全部区段的数据都进行ECC处理,每个区段的运算位写入备用领域310中对应的区段的领域313、314。NAND型快闪存储器以页为单位进行程序化,但输入的程序化数据的大小不一定要等于一页,也就是,不一定要等于图7所示的惯用领域300的8个区段的大小。例如,程序化数据的大小能够是1个区段的大小。通常从程序化干扰的观点来看,允许连续地程序化同一页的次数(NOP(Number of Program))有所限制,能对应此NOP分割1页的数据来进行程序化。NOP为4时,1页的数据可分为例如2个区段、1个区段、3个区段、2个区段输入快闪存储器10。
惯用领域的ECC处理结束后,接着进行备用领域的ECC处理。如图9所示,备用领域310的备用0的数据通过传送电路200传送到ECC电路/写入电路120A(S112)。在此进行ECC处理后(S114),产生的运算位通过写入电路写入备用0的领域315(S116)。判断是否有ECC未处理的区段(S118),若有的话则重复步骤S112至S116。这样一来,备用领域310的全部区段都进行了ECC处理。当保持于分页缓冲/感测电路160的惯用领域300及备用领域310的全部数据的ECC处理结束后,保持于分页缓冲/感测电路160的数据载入存储器阵列中被选择的分页。
另一方面,本实施例的快闪存储器10中,如图11所示,程序化数据载入分页缓冲/感测电路160及ECC电路/写入电路120A(S200)。载入完成后,开始程序化程序(S202)。
当程序化数据的载入一结束,ECC电路/写入电路120A进行ECC处理(S204),产生的运算位被ECC电路/写入电路120A写入备用领域310的领域313。假设程序化数据从区段0载入至区段7为止的话,从区段0至区段7为止的程序化数据的ECC计算会连续地进行,并且产生的运算位会写入备用领域310中对应的区段的领域313或314。
当从外部输出入端的程序化数据的输入一结束,备用领域310的备用0的ECC处理开始。备用领域310的ECC处理与图10所示的已知方法相同,故省略说明。
根据本实施例,程序化动作时,将从外部输出入端输入的程序化数据并列地输入分页缓冲/感测电路160及ECC电路/写入电路120A双方,因此不需要已知技术从分页缓冲/感测电路160往ECC电路/写入电路120A传送程序化数据的动作,能够省略该动作所需要的时间。因此,能够提早对程序化数据进行ECC处理的开始时间。最终的结果就是能够缩短将程序化数据程序化至选择的页的时间。
以上虽详细说明本发明的实施例,但本发明并不限定于上述的实施例,只要符合权利要求书内所记载的权利要求,本发明包括各种变形及变更。
Claims (10)
1.一种半导体存储装置,其特征在于,所述存储装置包括:
存储器阵列;
数据保持元件,保持从所述存储器阵列读出的数据,或者是保持要写入所述存储器阵列的数据;
输入元件;
错误检测修正元件,进行数据的错误检测修正;
供给元件,将来自所述输入元件的输入数据并列地供给至所述数据保持元件及所述错误检测修正元件;以及
写入元件,将所述错误检测修正元件处理来自所述供给元件的数据而产生的错误修正符号写入所述数据保持元件。
2.根据权利要求1所述的半导体存储装置,其特征在于,所述存储装置还包括:
程序化元件,当元件所述错误修正符号写入所述数据保持元件后,将保持于所述数据保持元件的数据程序化至存储器阵列。
3.根据权利要求2所述的半导体存储装置,其特征在于,所述程序化元件进行程序化时,所述供给元件将输入所述输入元件的数据供给至所述错误检测修正元件。
4.根据权利要求1所述的半导体存储装置,其特征在于,当所述数据保持元件分割为多个区段时,所述供给元件将区段单位的数据提供至所述错误检测修正元件,所述错误检测修正元件以进行区段单位的数据的错误检测修正。
5.根据权利要求1所述的半导体存储装置,其特征在于,所述半导体储存装置还包括:
数据传送元件,设置于所述数据保持元件及所述错误检测修正元件之间;
其中所述数据传送元件会在读出动作进行时将保持于所述数据保持元件的数据传送至所述错误检测修正元件,在程序化动作进行时不会将保持于所述数据保持元件的数据传送至所述错误检测修正元件。
6.根据权利要求1所述的半导体存储装置,其特征在于,所述半导体储存装置还包括:
控制元件,根据来自外部的指令控制程序化动作及读出动作。
7.根据权利要求6所述的半导体存储装置,其特征在于,所述数据传送元件被所述控制元件所控制。
8.根据权利要求1所述的半导体存储装置,其特征在于,所述半导体存储器阵列是NAND型存储阵列。
9.一种NAND型快闪存储器的程序化方法,其特征在于,所述程序化方法包括:
将从外部端输入的程序化数据并列地载入分页缓冲器及错误检测修正电路;
将所述错误检测修正电路产生的错误修正符号连结到所述程序化数据,写入所述分页缓冲器;以及
将保持于分页缓冲器的程序化数据及所述错误修正符号程序化至存储器阵列中被选择的分页。
10.根据权利要求9所述的NAND型快闪存储器的程序化方法,其特征在于,所述程序化方法还包括:
根据外部输入的指令来判定是否为程序化动作;以及
当判定为程序化动作时,将所述外部端输入的程序化数据载入所述错误检测修正电路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014051227A JP6131207B2 (ja) | 2014-03-14 | 2014-03-14 | 半導体記憶装置 |
JP2014-051227 | 2014-03-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104916332A true CN104916332A (zh) | 2015-09-16 |
CN104916332B CN104916332B (zh) | 2018-10-30 |
Family
ID=54069004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410621476.7A Active CN104916332B (zh) | 2014-03-14 | 2014-11-06 | 半导体存储装置及nand型快闪存储器的程序化方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10068659B2 (zh) |
JP (1) | JP6131207B2 (zh) |
KR (1) | KR101731576B1 (zh) |
CN (1) | CN104916332B (zh) |
TW (1) | TWI537970B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402836A (zh) * | 2016-05-16 | 2017-11-28 | 华邦电子股份有限公司 | 半导体存储装置及其存储器系统 |
CN107766171A (zh) * | 2016-08-18 | 2018-03-06 | 华邦电子股份有限公司 | 与非型快闪存储器及其读出方法 |
CN109213436A (zh) * | 2017-06-30 | 2019-01-15 | 慧荣科技股份有限公司 | 降低快闪储存介面中传收数据错误方法及装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6115740B1 (ja) * | 2015-12-17 | 2017-04-19 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
JP2017157257A (ja) | 2016-03-01 | 2017-09-07 | 東芝メモリ株式会社 | 半導体記憶装置及びメモリシステム |
FR3052960B1 (fr) | 2016-06-24 | 2018-07-06 | Hermes Sellier | Boucle de ceinture et ceinture comportant une telle boucle |
JP6293846B2 (ja) * | 2016-11-02 | 2018-03-14 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US12081237B2 (en) | 2019-09-23 | 2024-09-03 | SK Hynix Inc. | Processing-in-memory (PIM) devices |
JP7018089B2 (ja) * | 2020-04-02 | 2022-02-09 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および読出し方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4890287A (en) * | 1988-03-09 | 1989-12-26 | Magnetic Peripherals Inc. | On-the-fly error correction |
US20030043634A1 (en) * | 2001-08-31 | 2003-03-06 | Sigenori Miyauchi | Semiconductor memory device with block-unit erase type nonvolatile memory |
JP2006209969A (ja) * | 2006-04-28 | 2006-08-10 | Toshiba Corp | 半導体装置 |
US20090319871A1 (en) * | 2008-06-24 | 2009-12-24 | Yutaka Shirai | Memory system with semiconductor memory and its data transfer method |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940004820B1 (ko) | 1991-12-30 | 1994-06-01 | 포항종합제철 주식회사 | 스테인레스강 정련로 슬래그의 분화방지방법 |
KR100845529B1 (ko) | 2007-01-03 | 2008-07-10 | 삼성전자주식회사 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
US7861139B2 (en) * | 2007-01-26 | 2010-12-28 | Micron Technology, Inc. | Programming management data for NAND memories |
US20090070655A1 (en) * | 2007-09-11 | 2009-03-12 | Silicon Motion, Inc. | Method for Generating an ECC Code for a Memory Device |
JP2010079486A (ja) | 2008-09-25 | 2010-04-08 | Panasonic Corp | 半導体記録装置 |
JP2010146654A (ja) * | 2008-12-19 | 2010-07-01 | Toshiba Corp | メモリ装置 |
US8595593B2 (en) * | 2008-12-24 | 2013-11-26 | Hynix Semiconductor Inc. | Nonvolatile memory device having a copy back operation and method of operating the same |
JP2010152989A (ja) | 2008-12-25 | 2010-07-08 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP4793741B2 (ja) | 2009-07-24 | 2011-10-12 | エヌイーシーコンピュータテクノ株式会社 | 誤り訂正回路、誤り訂正方法 |
CA2791931A1 (en) | 2010-03-22 | 2011-09-29 | Mosaid Technologies Incorporated | Composite semiconductor memory device with error correction |
JP2012133843A (ja) * | 2010-12-21 | 2012-07-12 | Toshiba Corp | 半導体記憶装置 |
-
2014
- 2014-03-14 JP JP2014051227A patent/JP6131207B2/ja active Active
- 2014-10-14 TW TW103135458A patent/TWI537970B/zh active
- 2014-11-06 CN CN201410621476.7A patent/CN104916332B/zh active Active
- 2014-11-11 KR KR1020140156192A patent/KR101731576B1/ko active IP Right Grant
-
2015
- 2015-03-09 US US14/642,391 patent/US10068659B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4890287A (en) * | 1988-03-09 | 1989-12-26 | Magnetic Peripherals Inc. | On-the-fly error correction |
US20030043634A1 (en) * | 2001-08-31 | 2003-03-06 | Sigenori Miyauchi | Semiconductor memory device with block-unit erase type nonvolatile memory |
JP2006209969A (ja) * | 2006-04-28 | 2006-08-10 | Toshiba Corp | 半導体装置 |
US20090319871A1 (en) * | 2008-06-24 | 2009-12-24 | Yutaka Shirai | Memory system with semiconductor memory and its data transfer method |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402836A (zh) * | 2016-05-16 | 2017-11-28 | 华邦电子股份有限公司 | 半导体存储装置及其存储器系统 |
CN107402836B (zh) * | 2016-05-16 | 2020-12-22 | 华邦电子股份有限公司 | 半导体存储装置及其存储器系统 |
CN107766171A (zh) * | 2016-08-18 | 2018-03-06 | 华邦电子股份有限公司 | 与非型快闪存储器及其读出方法 |
CN109213436A (zh) * | 2017-06-30 | 2019-01-15 | 慧荣科技股份有限公司 | 降低快闪储存介面中传收数据错误方法及装置 |
CN109213436B (zh) * | 2017-06-30 | 2021-08-24 | 慧荣科技股份有限公司 | 降低快闪储存介面中传收数据错误方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6131207B2 (ja) | 2017-05-17 |
CN104916332B (zh) | 2018-10-30 |
KR101731576B1 (ko) | 2017-04-28 |
JP2015176616A (ja) | 2015-10-05 |
KR20150107575A (ko) | 2015-09-23 |
TW201535399A (zh) | 2015-09-16 |
US20150261605A1 (en) | 2015-09-17 |
US10068659B2 (en) | 2018-09-04 |
TWI537970B (zh) | 2016-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104916332A (zh) | 半导体存储装置及nand型快闪存储器的程序化方法 | |
US7961516B2 (en) | NAND flash memory and memory system | |
US7589997B2 (en) | Non-volatile semiconductor memory device that performs data allocation | |
US10395753B2 (en) | Semiconductor memory device and programming method thereof | |
KR101491829B1 (ko) | 읽기 디스터번스를 방지하는 메모리 장치 및 그 방법 | |
US20190139614A1 (en) | Semiconductor memory device and memory system | |
CN101833996A (zh) | 非易失性存储设备及其读取方法 | |
US10332606B2 (en) | Memory Controller for controlling memory device based on erase state information and method of operating the memory controller | |
JP5657079B1 (ja) | 半導体記憶装置 | |
US8737128B2 (en) | Semiconductor memory device and method of operating the same | |
JP6115740B1 (ja) | 半導体記憶装置 | |
CN109559777B (zh) | 非易失性存储装置及其操作方法 | |
CN105321566B (zh) | 半导体存储装置及其编程方法 | |
CN104900269A (zh) | 半导体存储装置及其冗余方法 | |
JP2009080884A (ja) | 不揮発性半導体記憶装置 | |
KR101651573B1 (ko) | 반도체 기억장치 및 그 프로그래밍 방법 | |
JP6293846B2 (ja) | 半導体記憶装置 | |
KR100960478B1 (ko) | 불휘발성 메모리 장치의 듀얼 플레인 카피백 방법 | |
JP5710815B1 (ja) | 半導体記憶装置 | |
TWI521530B (zh) | 半導體記憶裝置及其編程方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |