CN105321566A - 半导体存储装置及其编程方法 - Google Patents
半导体存储装置及其编程方法 Download PDFInfo
- Publication number
- CN105321566A CN105321566A CN201410310687.9A CN201410310687A CN105321566A CN 105321566 A CN105321566 A CN 105321566A CN 201410310687 A CN201410310687 A CN 201410310687A CN 105321566 A CN105321566 A CN 105321566A
- Authority
- CN
- China
- Prior art keywords
- data
- bit string
- error
- circuit
- specific 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.)
- Granted
Links
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本公开提供了一种半导体存储装置及其编程方法。该半导体存储装置及其编程方法,可一面维持数据的可靠性一面实现编程时间缩短。与非型快闪存储器将从外部输入输出端子输入的编程数据加载至页面缓冲器/感测电路,由监控编程数据的检测电路检测编程数据是否为特定的位串。当检测出编程数据并非为特定的位串时,由传输/写入电路将保持于页面缓冲器/感测电路的编程数据传输至错误检测校正电路,并将通过错误检测校正运算产生的错误校正码写入至页面缓冲器/感测电路。另一方面,当检测为特定的位串时,禁止保持于页面缓冲器/感测电路的编程数据进行传输,并将对应于该特定的位串的已知的错误校正码写入至页面缓冲器/感测电路。
Description
技术领域
本发明涉及一种半导体存储装置及其编程方法,涉及半导体存储装置的输入输出数据的错误检测校正,尤其涉及一种与非(NAND)型快闪存储器(FlashMemory)的输入数据的错误检测及校正。
背景技术
快闪存储器、动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等半导体存储器因集成度逐年增加,从而难以制造无故障或缺陷的存储元件。因此,在存储芯片上,采取用来在外观上补救制造步骤中产生的存储元件的物理性缺陷的冗余方案(redundancyscheme)。例如,在某冗余方案中,通过设置冗余存储器来补救存在物理性缺陷的存储元件。而且,在半导体存储器中,除了冗余存储器的物理性补救以外,还使用错误检测校正电路(ECC:ErrorCheckingCorrection)作为软错误(softerror)对策。
在NAND型快闪存储器中,由于重复进行数据的编程(program)或擦除而因隧道绝缘膜(tunnelinsulatingfilm)劣化导致电荷保持特性变差,或因被隧道绝缘膜捕获的电荷导致产生阈值变动,从而引起位错误(biterror)。专利文献1是装载错误检测校正电路作为这种位错误对策。尤其,在接近区块选择晶体管(blockselectingtransistor)的存储单元(cell)中,存在因光刻(lithography)造成的图案的不均、形成扩散层时的离子注入的不均而导致位错误率变高的倾向,故存储着可用来补救更多这种位错误率的ECC码。
而且,在NAND型快闪存储器中,不仅存在一个存储单元中存储1位数据的NAND型快闪存储器,而且还有存在一个存储单元中存储多位(multibit)数据的NAND型快闪存储器。专利文献2公开有这种多位数据的错误校正的方案。进而,专利文献3公开有如下快闪存储器,即,将ECC奇偶校验(ErrorCheckingCorrectionparity)附加至被输入的数据而产生ECC码,并将所产生的ECC码写入至物理区块,且在由物理区块读出的页面(page)数据存在错误时,利用ECC码校正错误,将所校正的错误数为阈值以上的物理区块以警示区块登记在表中,在数据写入时使选择警示区块的优先级下降。
【背景技术文献】
【专利文献】
【专利文献1】日本专利特开2010-152989号公报
【专利文献2】日本专利特开2008-165805号公报
【专利文献3】日本专利特开2010-79486号公报
发明内容
【本发明要解决的课题】
片上(onchip)装载ECC电路的NAND型快闪存储器是将被输入的数据保持于页面缓冲器(pagebuffer),并将保持于页面缓冲器的数据传输至ECC电路,将在ECC电路中通过ECC运算产生的错误校正码(错误码)回写至页面缓冲器,其后,将页面缓冲器的数据在存储器阵列(memoryarray)的所选择的页面中进行编程。然而,如果对被编程的所有页面数据进行ECC运算,那么该处理将极其消耗时间。NAND型快闪存储器是以页面为单位进行编程,因此,如果伴随高集成化,每一页面的位数增加,则将导致与其成比例的ECC电路的运算所需的时间增加。这种情况有可能成为缩短编程时间的障碍。
【解决课题的手段】
本发明是解决所述以往的课题,提供一种可一面维持数据的可靠性一面实现编程时间缩短的半导体存储装置及其编程方法。
本发明的半导体存储装置包括:存储器阵列;数据保持元件,保持从所述存储器阵列读出的数据、或保持写入至所述存储器阵列的数据;错误检测校正元件,进行数据的错误检测校正;传输元件,将数据从所述数据保持元件传输至所述错误检测校正元件;写入元件,将由所述错误检测校正元件产生的错误校正码写入至所述数据保持元件;以及检测元件,检测输入至所述数据保持元件的数据是否具有特定的位串,在检测到所述特定的位串时,所述传输元件禁止与所述特定的位串对应的数据进行传输,且所述写入元件将预先规定的错误校正码写入至所述数据保持元件。
所述特定的位串可为包含逻辑0的位串、或包含逻辑1的位串。所述特定的位串可为与所述传输元件同时传输的位数相等的位数。所述数据保持元件可分割为多个区段(sector),且所述传输元件以区段为单位传输数据,所述错误校正元件以区段为单位进行错误校正处理。可使所述特定的位串与所述数据保持元件所保持的一个页面的位数相等。半导体存储装置还可包括存储特定的位串与错误校正码的关系的存储元件,且所述写入元件基于所述检测元件的检测结果,写入属于特定的位串的错误校正码。所述写入元件包含可基于所述检测元件的检测结果,产生属于特定的位串的错误校正码的逻辑电路,且写入由该逻辑电路产生的错误校正码。半导体存储装置可包含多个外部输入输出端子,且将从多个外部输入输出端子输入的数据并行的加载至所述数据保持元件,所述检测元件检测并行的输入的各个数据是否包含特定的位串。所述检测元件可包含检测位数据是否迁移的检测电路。
本发明的NAND型快闪存储器的编程方法是将从外部输入输出端子输入的编程数据加载至页面缓冲器,检测所述编程数据是否为特定的位串,当检测出并非为特定的位串时,将保持于所述页面缓冲器的编程数据传输至ECC电路,并将通过ECC运算而产生的错误校正码写入至所述页面缓冲器,另一方面,当检测为特定的位串时,禁止保持于所述页面缓冲器的编程数据进行传输,且将与该特定的位串对应的已知的错误校正码写入至所述页面缓冲器。
【发明效果】
根据本发明,在输入至数据保持元件的数据为特定的位串的情况下,禁止将数据从数据保持元件传输至错误校正元件,从而不进行错误校正元件的运算中的将错误校正码写入至数据保持元件的过程,因此可减少从数据保持元件向错误校正元件传输数据的时间,从而可缩短对于存储器阵列的数据编程时间。
附图说明
图1是表示本发明实施例的NAND型快闪存储器的整体概略构成的图。
图2是表示本发明实施例的存储单元阵列的NAND串(string)的构成的电路图。
图3是说明输入至本发明实施例的快闪存储器中的数据流的图。
图4是表示本实施例的检测电路的一例的图。
图5是说明本发明实施例的普通ECC处理的图。
图6是说明跳过本发明实施例的ECC处理的示例的图。
图7是说明以往的快闪存储器的ECC处理的流程图。
图8是说明本发明实施例的快闪存储器的ECC处理的流程图。
附图标记说明:
10:快闪存储器
100:存储器阵列
110:输入输出缓冲器
110-0~110-7:I/O缓冲器
120:ECC电路
130:检测电路
132:OR电路
134:AND电路
136:标志电路
140:地址寄存器
150:控制部
160:字线选择电路
170:页面缓冲器/感测电路
180:列选择电路
190:内部电压产生电路
200:传输/写入电路
300:常规区域
310:备用区域
311、312、313、314、315:区域
Ax、Ay:地址信息
BLK(0)、BLK(1)、……、BLK(m-1):存储块
Di:输入数据
GBL0、GBL1、···、GBLn:位线
MCi(i=0、1、···、31):存储单元
NU:单元组
P-0~P-7:外部输入输出端子
S100、S102、S104、S106、S108、S110、S112、S114、S116、S118、S120、S200、S202、S204、S206、S208、S210、S212、S214、S216:步骤
S:检测信号
SGD、SGS:选择栅极线
SL:共用源极线
TD、TS:选择晶体管
Vers:擦除电压
Vpass:通过电压
Vpgm:写入电压
Vread:读出通过电压
WL0~WL31:字线
具体实施方式
接着,参照附图,对本发明实施方式进行详细说明。这里,例示NAND型快闪存储器作为实施方式。此外,应注意附图是为了便于理解而将各部分强调表示,然而与实际器件的比例可能并不相同。
【实施例】
将本发明实施例的快闪存储器的典型构成示于图1。不过,这里所示的快闪存储器的构成为例示,本发明并非一定限定于这种构成。本实施例的快闪存储器10构成为包括:存储器阵列100,矩阵状的排列着多个存储单元;输入输出缓冲器110,连接于外部输入输出端子I/O,且保持输入输出数据;ECC电路120,对存储器阵列100中编程的数据或从存储器阵列100读出的数据进行错误检测、校正;检测电路130,监控从外部输入输出端子或输入输出缓冲器110输入至页面缓冲器/感测电路(sensecircuit)170的数据,且从这些数据中检测特定的位串;地址寄存器(addressregister)140,接收来自输入输出缓冲器110的地址数据(addressdata);控制部150,接收来自输入输出缓冲器110的指令数据(commanddata)或来自外部的控制信号,控制各部分;字线(wordline)选择电路160,自地址寄存器140接收行地址(rowaddress)信息Ax,将行地址信息Ax解码,基于解码结果来进行区块的选择及字线的选择等;页面缓冲器/感测电路170,保持从由字线选择电路160选择的页面读出的数据、或保持对所选择的页面的写入数据;列选择电路180,从地址寄存器140接收列地址(columnaddress)信息Ay,将列地址信息Ay解码,基于该解码结果来进行页面缓冲器/感测电路170内的数据的选择等;以及内部电压产生电路190,产生进行数据的读出、编程及擦除等所需的各种电压(写入电压Vpgm、通过电压(passvoltage)Vpass、读出通过电压Vread、擦除电压Vers等)。
存储器阵列100包括沿列方向配置的m个存储区块(memoryblock)BLK(0)、BLK(1)、……、BLK(m-1)。区块BLK(0)旁配置有页面缓冲器/感测电路170。除了这种构成以外,页面缓冲器/感测电路170也可以配置在存储器阵列100的另一端部、或两侧的端部。
如图2所示,在一个存储区块形成着多个串联连接着多个存储单元的NAND单元组(cellunit)NU,在一个存储区块内沿行方向排列着n+1个单元组NU。单元组NU包括串联连接的多个存储单元MCi(i=0、1、……、31)、连接于作为其中一端部的存储单元MC31的漏极侧的选择晶体管TD、及连接于作为另一端部的存储单元MC0的源极侧的选择晶体管TS,且选择晶体管TD的漏极连接于对应的一条位线GBL,选择晶体管TS的源极连接于共用源极线SL。
存储单元MCi的控制栅极连接于字线WLi,选择晶体管TD、TS的栅极连接于与字线WL平行的选择栅极线SGD、SGS。字线选择电路160在基于行地址Ax或经转换所得的地址,选择区块时,经由区块的选择栅极线SGD、SGS选择性的驱动选择晶体管TD、TS。图2表示典型的单元组的构成,但单元组也可以在NAND串内包含一个或多个伪单元(dummycell)。
存储单元典型而言具有金属氧化物半导体(MetalOxideSemiconductor,MOS)结构,该MOS结构包含:作为形成在P型阱(well)内的N型扩散区域的源极/漏极;隧道氧化膜(tunneloxidefilm),形成在源极/漏极间的通道(channel)上;浮动栅极(floatinggate)(电荷储存层),形成在隧道氧化膜上;及控制栅极,隔着介电膜形成在浮动栅极上。当浮动栅极中未储存电荷时,即写入数据“1”时,阈值处于负状态,存储单元为常导通(normallyon)。当浮动栅极中储存着电子时,即写入数据“0”时,阈值转换(shift)为正,存储单元为常关闭(normallyoff)。不过,存储单元既可以是存储一位(二进制数据)的单层单元(SingleLevelCell,SLC)型,也可以为存储多位的多层单元(MultiLevelCell,MLC)型。
表1是表示快闪存储器的各操作时所施加的偏压的一例的表格。读出操作是对位线施加某一正电压,对所选择的字线施加某电压Vx(例如0V),对非选择字线施加通过电压Vpass(例如4.5V),对选择栅极线SGD、SGS施加正电压(例如4.5V),将位线选择晶体管TD、源极线选择晶体管TS导通,对共用源极线施加0V。编程(写入)操作是对所选择的字线施加高电压的编程电压Vpgm(15~20V),对非选择的字线施加中间电位(例如10V),使位线选择晶体管TD导通,且使源极线选择晶体管TS断开,将与“0”或“1”数据相应的电位供给至位线GBL。擦除操作是对区块内所选择的字线施加0V,对P型阱施加高电压(例如20V)。由此,将浮动栅极的电子牵引至基板,实施以区块为单位的数据擦除。
表1
擦除 | 写入 | 读取 | |
选择字线 | 0V | 15V~20V | Vx |
非选择字线 | 浮接 | 10V | 4.5V |
SGD | 浮接 | Vcc | 4.5V |
SGS | 浮接 | 0V | 4.5V |
SL | 浮接 | Vcc | 0V |
P型阱 | 20V | 0V | 0V |
图3中表示从本实施例的快闪存储器10的外部输入输出端子输入的数据流。从输入输出缓冲器110提供的输入数据Di被加载至页面缓冲器/感测电路170,同时也被输入至检测电路130。检测电路130检测输入数据Di是否为包含特定的位串的数据。所谓特定的位串是指不需要进行错误检测校正的运算的位串、或错误校正码为已知的位串。在一例中,检测电路130检测输入数据Di均为“0”的位串、或输入数据均为“1”的位串。
检测电路130可利用逻辑电路检测输入数据Di的特定的位串。图4是检测输入数据Di的位串均为“0”或“1”时的检测电路的一例。检测电路130构成为包括将输入数据Di的第i个数据与第i-1个数据(i为大于等于2的整数)输入的二输入的OR电路(或电路)132及AND电路(与电路)134、以及基于这些逻辑电路的输出而设定标志(flag)信息的标志电路136。在输入数据Di均为“0”时,OR电路132的输出为L电平(level),除此以外为H电平。另外,在输入数据Di均为“1”时,AND电路134的输出为H电平,除此以外为L电平。标志电路136输出可判别输入数据Di均为“0”、及均为“1”的检测信号S。例如,检测信号S包括二位数据,在“00”时输入数据Di均为“0”,在“11”时输入数据Di均为“1”。检测电路130的检测信号S被提供给传输/写入电路200及ECC电路120。
ECC电路120通过对输入数据Di进行运算而产生输入数据Di的错误检测及校正所需的错误校正码或奇偶校验位(paritybit)。ECC的运算是例如利用汉明码(hammingcode)或里德-所罗门码(Reed-Solomon)等众所周知的方法进行,从而将被输入的千位或千字节(byte)的输入数据Di转换为p=k+q。在本说明书中,将“q”称作输入数据Di的错误检测校正所需的错误校正码或奇偶校验位。
在页面缓冲器/感测电路170与ECC电路120之间设置着传输/写入电路200。传输/写入电路200将保持于页面缓冲器/感测电路170中的输入数据Di传输至ECC电路120。而且,传输/写入电路200将由ECC电路120产生的错误校正码写入至页面缓冲器/感测电路170的备用(spare)区域。
传输/写入电路200在由检测电路130检测出输入数据Di为特定的位串时,禁止保持于页面缓冲器/感测电路170的输入数据Di进行传输。即,ECC电路120不执行输入数据Di的ECC运算。取而代之,ECC电路120产生输入数据Di(=特定的位串)的已知的错误校正码,且将其提供给传输/写入电路200,传输/写入电路200将所接收的已知的错误校正码写入至页面缓冲器/感测电路170的备用区域。
在一例中,ECC电路120可包含规定特定的位串与已知的错误校正码的关系的表格。表2是规定特定的位串与已知的错误校正码的关系的表格的一例。ECC电路120在从检测电路130接收到检测信号S后,基于该检测信号S,将与特定的位串对应的已知的错误校正码读出,并将其输出至传输/写入电路200。例如,在输入数据Di均为“0”时(在所述例中,检测信号S为“00”),将已知的错误校正码EC0输出至传输/写入电路200。在输入数据Di均为“1”时(在所述例中,检测信号S为“11”),将已知的错误校正码EC1输出至传输/写入电路200。这种表格并非必须由ECC电路120保持,也可以由传输/写入电路200保持。或者,也可以由检测电路130保持表格,将已知的错误校正码提供给传输/写入电路200。
表2
特定的位串 | 已知的错误校正码 |
均为“0”(均为00h) | EC0 |
均为“1”(均为FFh) | EC1 |
…… | …… |
在本发明的另一实施例中,ECC电路120也可以包含基于检测信号S而产生已知的错误校正码的逻辑电路。例如,在检测信号S为“00”时,产生错误校正码EC0,在检测信号S为“11”时,产生错误校正码EC1,并将这些错误校正码输出至传输/写入电路200。这种产生错误校正码的逻辑电路并非必须由ECC电路120包含,也可以是由传输/写入电路200或检测电路130包含。
如果传输/写入电路200对页面缓冲器/感测电路170的错误校正码写入结束,则接着将保持于页面缓冲器/感测电路170的输入数据Di及错误校正码在存储器阵列100的所选择的页面中进行编程。
在读出动作时,将从存储器阵列100的选择页面读出的数据保持于页面缓冲器/感测电路170,接着,经由传输/写入电路200传输至ECC电路120。ECC电路120基于错误校正码,判定有无编程故障、或有无读出故障,如果存在故障导致的错误,则使用错误校正码校正数据。经ECC处理的数据是经由传输/写入电路200传输至页面缓冲器/感测电路170,接着,经由输入输出缓冲器110输出至外部。
在本实施例中,如果由检测电路130检测到输入数据Di为特定的位例,则省略将保持于页面缓冲器/感测电路170的输入数据Di传输至ECC电路120,不进行ECC电路120运算中的将已知的错误校正码写入至页面缓冲器/感测电路170的过程。由此,可减少输入数据Di从页面缓冲器/感测电路170向ECC电路120的传输时间及ECC运算时间,从而可大幅度的缩短输入数据Di的编程所需的时间。
接着,使用图5至图8说明本实施例的其他实施方式。快闪存储器10的外部输入输出端子可为×1、×4、×8等构成,这里,表示快闪存储器10具有×8的外部输入输出端子的示例。如图5所示,外部输入输出端子P-0~P-7分别连接于输入输出(Input/Output,I/O)缓冲器110-1~110-7,输入至外部输入输出端子P-0~P-7的数据被平行的输入至I/O缓冲器110-0~110-7。页面缓冲器/感测电路170包括分割为八个区段区段0~区段7的常规(regular)区域300、及分割为四个区段备用0、备用1、备用2、备用3的备用区域310。
页面缓冲器/感测电路170的常规区域300的一个区段被分配八个外部输入输出端子P-0~P-7、即输入输出缓冲器110-0~110-7。图1所示的列选择电路180将所接收的列地址信息Ay解码,并基于该解码结果,选择被加载输入至外部输入输出端子P-0~P-7的数据的区段。在图5所示的例中,由外部输入输出端子P-0~P-7接收的数据按照列地址信息Ay被加载至区段0,在图6所示的例中,由外部输入输出端子P-0~P-7接收的数据按照列地址信息Ay被加载至区段1。同时,加载至各区段的数据被输入至检测电路130,并在检测电路130被监控输入数据是否为特定的位串。
常规区域300的一个区段例如包括256字节,且一个外部输入输出端子被分配256位(256位×8=1区段)。而且,在该情况下,八个区段整体上可保持约2千字节的编程数据。备用区域310的一个区段例如包括16字节,在该情况下,四个区段(备用0~备用3)整体上可保持64字节的数据。备用区域310的一个区段包括:区域311,存储识别包含故障存储元件的坏块(badblock)的信息;区域312,存储与用户数据相关的信息;区域313、314,存储关于常规区域300的两个区段的错误校正码(奇偶校验位);及区域315,存储备用区域310进行ECC运算时的错误校正码(奇偶校验位)。备用区域310的备用0的区域313、314分别存储常规区域300的区段0、区段1的错误校正码(奇偶校验位),备用区域310的备用1的区域313、314存储常规区域300的区段2、区段3的错误校正码(奇偶校验位)。同样的,备用区域310的备用2存储常规区域300的区段4、区段5的错误校正码(奇偶校验位),备用区域310的备用3存储常规区域300的区段6、区段7的错误校正码(奇偶校验位)。
传输/写入电路200以区段为单位传输保持于常规区域300的数据。即,当一个区段为256字节时,传输/写入电路200包括用以将256字节的数据平行传输至ECC电路120的多个传输用晶体管。在传输用晶体管的各栅极共用连接着控制信号,控制信号由控制部150进行控制。ECC电路120接收以区段为单位传输的数据,通过进行ECC运算而产生错误校正码。传输/写入电路200将从ECC电路120接收的错误校正码写入至备用区域310的对应的区段的区域313或314。
图5所示的示例是表示将输入数据Di、即编程数据加载至常规区域300的区段0的示例。这里,由于输入数据Di不属于特定的位串,所以检测电路130的检测信号S不被禁止进行传输/写入电路200的传输。因此,传输/写入电路200将输入数据Di传输至ECC电路120,并将由ECC电路120产生的错误校正码写入至备用区域310的备用0的区域313。
图6表示输入数据Di具有特定的位串时的动作。若由检测电路130检测到加载至常规区域300的区段1的输入数据Di属于特定的位串,则将该检测信号S提供给传输/写入电路200及ECC电路120。传输/写入电路200响应检测信号S1,禁止对ECC电路120传输区段1的输入数据Di。另外,ECC电路120基于检测信号S,识别特定的位串,且将对应于该特定的位串的错误校正码提供给传输/写入电路200。接着,传输/写入电路200将区段1的错误校正码写入至备用区域310的备用0的区域314。
在图7中表示以往的ECC处理流程,图8表示本实施例的ECC处理流程。首先,说明以往的ECC处理动作。将外部控制信号、以及指令数据、地址数据及编程数据自外部控制器(controllor)供给至快闪存储器10。控制部150基于外部控制信号及指令数据,开始编程动作。
将编程数据(输入数据Di)经由外部输入输出端子及输入输出缓冲器110加载至页面缓冲器/感测电路170(S100)后,在控制部150的控制下开始编程序列(programsequence)(S102)。将保持于页面缓冲器/感测电路170的区段0的数据经由传输/写入电路200而传输至ECC电路120(S104)。接着,在ECC电路120执行ECC处理,将在ECC电路120产生的奇偶校验位写入至页面缓冲器/感测电路170的备用区域310(S108)。
接着,由控制部150或传输/写入电路200判定是否存在ECC未处理的区段(S110)。以此方式对页面缓冲器/感测电路170的所有区段的数据进行ECC处理,将每一区段的奇偶校验位写入至备用区域310的对应的区段的区域313、314。另外,NAND型快闪存储器虽以页面为单位进行编程,但所输入的编程数据的尺寸并非必须与一个页面、即图5所示的常规区域300的八个区段的尺寸相等。例如,编程数据的尺寸可为一个区段的尺寸。通常,就编程干扰(programdisturb)的观点而言,允许在同一页面连续的编程的次数(NOP(NumberofProgram))存在限制,可根据该NOP将一个页面数据分割后进行编程。在NOP为4时,一个页面数据例如可分为两个区段、一个区段、三个区段、两个区段输入至快闪存储器10。
若常规区域的ECC处理结束,则接着执行备用区域的ECC处理。如图5所示,由传输/写入电路200将备用区域310的备用0的数据传输至ECC电路120(S112),在ECC电路120执行ECC处理(S114),将所产生的奇偶校验位写入至区域315(S116)。判定是否存在ECC未处理的区段(S118),如果存在这种区段便重复步骤S112至S116。以此方式执行备用区域310的所有区段的ECC处理。若保持于页面缓冲器/感测电路170的常规区域300及备用区域310的所有数据的ECC处理结束,则将保持于页面缓冲器/感测电路170的数据在存储器阵列的所选择的页面中进行编程(S120)。
另一方面,本实施例的快闪存储器10是如图8所示的将编程数据加载至页面缓冲器/感测电路170(S200),且与之并行的由检测电路130监控编程数据(S202)。若编程数据对页面缓冲器/感测电路170的加载结束,则开始进行编程序列(S204)。
在将各区段的编程数据输入至页面缓冲器/感测电路170的同时,检测电路130立刻检测各区段的编程数据是否为特定的位串(S206)。如果区段的编程数据与特定的位串不一致,则该区段的编程数据与以往同样的被传输至ECC电路120中执行ECC处理。即,执行图5所示的ECC处理(S208、S210)。另一方面,由检测电路130检测到区段的编程数据与特定的位串一致时,传输/写入电路200不执行该区段的编程数据对ECC电路120的传输,ECC电路120则不执行用于该区段的编程数据的ECC运算。因此,跳过步骤S208、S210的处理。ECC电路120跳过ECC运算,取而代之的基于检测信号S识别特定的位串,并将与所识别的特定的位串对应的已知的奇偶校验位输出至传输/写入电路200,从而传输/写入电路200将已知的奇偶校验位写入至备用区域310的区域313或314。这种处理是针对页面缓冲器/感测电路170的常规区域300的所有区段而进行(步骤S206~214)。若常规区域300的ECC处理结束,则接着对备用区域310执行ECC处理。备用区域310的ECC处理因与图7所示的以往的方法相同而省略说明。
如此一来,根据本实施例,在被输入错误校正码为已知的特定的位串的编程数据的情况下,因不执行编程数据从页面缓冲器/感测电路170向ECC电路120的传输,且不进行ECC运算,所以可缩短被输入的数据的编程时间。尤其,由于从页面缓冲器/感测电路170向ECC电路120的数据传输所需的时间相对较长,所以对缩短编程时间的贡献较大。
所述实施例表示了将保持于页面缓冲器/感测电路170的数据传输至ECC电路120的示例,但在页面缓冲器/感测电路170包括一个或者多个高速缓冲存储器(cachememory)的流水线(pipeline)结构时也可以应用本发明。在该情况下,跳过高速缓冲存储器与ECC电路之间的数据传输。
已对本发明的实施方式进行了详细叙述,但本发明并不限定于特定的实施方式,可在上述发明的精神范围内进行各种变形、变更。
Claims (13)
1.一种半导体存储装置,其特征在于包括:
存储器阵列;
数据保持元件,保持从所述存储器阵列读出的数据、或保持写入至所述存储器阵列的数据;
错误检测校正元件,进行数据的错误检测校正;
传输元件,将数据从所述数据保持元件传输至所述错误检测校正元件;
写入元件,将由所述错误检测校正元件产生的错误校正码写入至所述数据保持元件;及
检测元件,检测输入至所述数据保持元件的数据是否具有特定的位串;
当检测到所述特定的位串时,所述传输元件禁止与所述特定的位串对应的数据进行传输,且所述写入元件将预先规定的错误校正码写入至所述数据保持元件。
2.根据权利要求1所述的半导体存储装置,其特征在于:所述特定的位串是均为逻辑0的位串。
3.根据权利要求1所述的半导体存储装置,其特征在于:所述特定的位串是均为逻辑1的位串。
4.根据权利要求1至3中任一所述的半导体存储装置,其特征在于:所述特定的位串是与所述传输元件同时传输的位数相等的位数。
5.根据权利要求1至3中任一所述的半导体存储装置,其特征在于:所述数据保持元件被分割为多个区段,且所述传输元件以区段为单位传输数据,所述错误校正元件以区段为单位进行错误校正处理。
6.根据权利要求1至3中任一所述的半导体存储装置,其特征在于:所述特定的位串与所述数据保持元件所保持的一个页面的位数相等。
7.根据权利要求1至3中任一所述的半导体存储装置,其特征在于:半导体存储装置还包括存储所述特定的位串与错误校正码的关系的存储元件,且所述写入元件基于所述检测元件的检测结果,写入属于特定的位串的错误校正码。
8.根据权利要求1至3中任一所述的半导体存储装置,其特征在于:所述写入元件包含基于所述检测元件的检测结果,产生属于特定的位串的错误校正码的逻辑电路,且写入由该逻辑电路产生的错误校正码。
9.根据权利要求1至3中任一所述的半导体存储装置,其特征在于:半导体存储装置包含多个外部输入输出端子,且将从多个外部输入输出端子输入的数据并行的加载至所述数据保持元件,所述检测元件检测平行的输入的各个数据是否包含所述特定的位串。
10.根据权利要求1至3中任一所述的半导体存储装置,其特征在于:所述存储器阵列是与非型存储器阵列,且所述数据保持元件包含页面缓冲器。
11.一种编程方法,该编程方法是与非型快闪存储器的编程方法,其特征在于,包括:
将从外部输入输出端子输入的编程数据加载至页面缓冲器;
检测所述编程数据是否为特定的位串;
当检测出并非为所述特定的位串时,将保持于所述页面缓冲器的编程数据传输至错误检测校正电路,并将通过错误检测校正运算而产生的错误校正码写入至所述页面缓冲器;
当检测为所述特定的位串时,禁止保持于所述页面缓冲器的编程数据进行传输,且将与该特定的位串对应的已知的错误校正码写入至所述页面缓冲器。
12.根据权利要求11所述的编程方法,其特征在于:所述编程数据是均为逻辑“0”的位串。
13.根据权利要求11所述的编程方法,其特征在于:所述编程数据是均为逻辑“1”的位串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410310687.9A CN105321566B (zh) | 2014-06-30 | 2014-06-30 | 半导体存储装置及其编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410310687.9A CN105321566B (zh) | 2014-06-30 | 2014-06-30 | 半导体存储装置及其编程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105321566A true CN105321566A (zh) | 2016-02-10 |
CN105321566B CN105321566B (zh) | 2019-07-12 |
Family
ID=55248789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410310687.9A Active CN105321566B (zh) | 2014-06-30 | 2014-06-30 | 半导体存储装置及其编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105321566B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399934A (zh) * | 2017-02-06 | 2018-08-14 | 华邦电子股份有限公司 | 半导体存储装置及数据设定方法 |
CN110780554A (zh) * | 2018-07-25 | 2020-02-11 | 精工爱普生株式会社 | 显示控制装置及存储介质 |
CN112863588A (zh) * | 2019-11-26 | 2021-05-28 | 华邦电子股份有限公司 | 平行测试装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1389872A (zh) * | 2001-06-04 | 2003-01-08 | 株式会社东芝 | 半导体存储器 |
US20040255225A1 (en) * | 2003-01-31 | 2004-12-16 | Yoriharu Takai | Control circuit for error checking and correction and memory controller |
CN101777024A (zh) * | 2009-01-08 | 2010-07-14 | 联发科技股份有限公司 | 数据移动方法及系统 |
CN102890645A (zh) * | 2011-07-20 | 2013-01-23 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与数据写入方法 |
-
2014
- 2014-06-30 CN CN201410310687.9A patent/CN105321566B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1389872A (zh) * | 2001-06-04 | 2003-01-08 | 株式会社东芝 | 半导体存储器 |
US20040255225A1 (en) * | 2003-01-31 | 2004-12-16 | Yoriharu Takai | Control circuit for error checking and correction and memory controller |
CN101777024A (zh) * | 2009-01-08 | 2010-07-14 | 联发科技股份有限公司 | 数据移动方法及系统 |
CN102890645A (zh) * | 2011-07-20 | 2013-01-23 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与数据写入方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399934A (zh) * | 2017-02-06 | 2018-08-14 | 华邦电子股份有限公司 | 半导体存储装置及数据设定方法 |
CN108399934B (zh) * | 2017-02-06 | 2021-04-16 | 华邦电子股份有限公司 | 半导体存储装置及数据设定方法 |
CN110780554A (zh) * | 2018-07-25 | 2020-02-11 | 精工爱普生株式会社 | 显示控制装置及存储介质 |
CN112863588A (zh) * | 2019-11-26 | 2021-05-28 | 华邦电子股份有限公司 | 平行测试装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105321566B (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7508704B2 (en) | Non-volatile semiconductor storage system | |
JP5505922B2 (ja) | メモリシステム及びその読み出し方法 | |
JP4538034B2 (ja) | 半導体記憶装置、及びその制御方法 | |
CN105144302B (zh) | 存储器装置中的错误校正操作 | |
US7961516B2 (en) | NAND flash memory and memory system | |
US10395753B2 (en) | Semiconductor memory device and programming method thereof | |
US20120144273A1 (en) | Non-volatile semiconductor memory device | |
US20200303016A1 (en) | Memory reading method and memory system | |
KR101731576B1 (ko) | 반도체 기억장치 및 nand 플래시 메모리의 프로그램 방법 | |
JP2006114078A (ja) | 不揮発性半導体記憶装置及びその動作方法 | |
JP5657079B1 (ja) | 半導体記憶装置 | |
JP2010218637A (ja) | 半導体記憶装置およびその制御方法 | |
JP6115740B1 (ja) | 半導体記憶装置 | |
US20160012916A1 (en) | Semiconductor memory device and memory system | |
TWI648743B (zh) | 半導體裝置及其操作方法 | |
KR101991437B1 (ko) | 반도체 메모리 장치 및 그의 동작방법 | |
CN105321566A (zh) | 半导体存储装置及其编程方法 | |
US7944755B2 (en) | Erase verify in memory devices | |
KR101651573B1 (ko) | 반도체 기억장치 및 그 프로그래밍 방법 | |
US8923068B2 (en) | Low margin read operation with CRC comparision | |
JP5710815B1 (ja) | 半導体記憶装置 | |
JP6293846B2 (ja) | 半導体記憶装置 | |
TWI521530B (zh) | 半導體記憶裝置及其編程方法 | |
TW201532060A (zh) | 半導體儲存裝置及其冗餘方法 | |
Lu et al. | Fault-Aware Page Address Remapping Techniques for Enhancing Yield and Reliability of Flash Memories |
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 |