半导体存储装置及读出方法与流程



1.本发明涉及一种与非(not and,nand)型闪存(flash memory)等半导体存储装置及读出方法,特别涉及错误检测纠正。


背景技术:



2.nand型闪存中,有时反复进行数据的编程或删除,导致隧道绝缘膜劣化等以致电荷保持特性变差,或因隧道绝缘膜所捕获的电荷而产生阈值变动,引起比特错误(bit error)。作为此种比特错误的对策,可在闪存中使用错误检测纠正电路(以下称为ecc电路)。


技术实现要素:



3.图1为表示以往的片外(off-chip)ecc的闪存的结构的图。闪存10是包含nand芯片20而构成,所述nand芯片20包含nand型的存储器阵列或其周边电路,nand芯片20连接于搭载有ecc功能40的控制器芯片30。nand芯片20与控制器芯片30分别收容于不同的封装体,各封装体例如封装于印刷基板上。
4.nand芯片20与控制器芯片30例如搭载可与时钟信号同步传输数据的串行外设接口(spi),在两芯片分别设有#cs、clk、di、do、#wp、#hold的输入输出端子。控制器芯片30经由spi的输入输出端子向nand芯片20发送命令、地址、数据。
5.ecc功能40包含:编码器,将数据编码并生成奇偶校验数据(parity data);以及解码器,基于奇偶校验数据将数据解码。ecc功能40例如通过bch(bose chaudhuri hocquenghem)码进行多比特(例如2比特、4比特、8比特等)的错误检测、纠正,此时,bch解码器包含:校正子计算部,评估数据的校正子(syndrome);辗转相除(euclidean algorithm)计算部,计算错误位置多项式(elp);错误位置查部,计算错误位置多项式的根,查错误位置;以及错误纠正部,基于所查到的错误位置来纠正错误。
6.nand芯片20的页缓冲/感测电路包含两个锁存器,一个锁存器包含两个缓存器(cache),一个缓存器保存多个扇区(例如2扇区、4扇区等)的数据。nand芯片20与控制器芯片30之间的数据传输是以缓存器为单位进行。而且,ecc功能40以扇区为单位生成奇偶校验数据,或者进行错误检测、纠正。经ecc功能40编码的一个扇区包含主数据和奇偶校验数据。
7.控制器芯片30在使nand芯片20进行编程动作时,通过ecc功能40根据应编程的数据来生成奇偶校验数据,将所生成的奇偶校验数据和主数据经由spi的do端子传输至nand芯片20。nand芯片20将所接收的主数据和奇偶校验数据保持于锁存器,将保持于锁存器的数据在存储器阵列的选择页进行编程。
8.另一方面,nand芯片20中从存储器阵列读出的数据经由spi的do端子传输至控制器芯片30。ecc功能40基于奇偶校验数据来检测错误,根据其检测结果来纠正主数据或奇偶校验数据。
9.图2为表示控制器芯片30的ecc功能的各部动作的时机图。nand芯片20根据从控制
器芯片30传输的读出命令进行读出动作,将所读出的数据输出至控制器芯片30。在时刻t0,控制器芯片30的nand_if开始从nand芯片20接收扇区s0的主数据和奇偶校验数据pt,在时刻t1开始接收扇区s1的主数据和奇偶校验数据pt,在时刻t2、时刻t3开始接收扇区s2、扇区s3的主数据和奇偶校验数据pt。ecc功能40在进行扇区s1的数据接收的期间中,与此同时以管线(pipeline)处理的形式进行扇区s0的主数据的校正子的计算、错误位置多项式的计算、错误位置的查,基于所查到的错误位置来纠正扇区s0的主数据的错误。然后,控制器芯片30的cpu_if将扇区s0的经错误纠正的数据传输至主机装置。关于扇区s1、扇区s2、扇区s3的ecc处理,也同样地进行管线处理,将各扇区的经错误纠正的数据在扇区的接收中输出。
10.在从nand芯片20向控制器芯片30传输读出数据的情况下,校正子计算必须在传输扇区的奇偶校验数据之后进行。因此,存在下述问题,即:若spi的do端子的比特宽度窄,则数据传输耗费时间,所述期间中控制器芯片30的空闲状态变长,无法充分发挥管线处理的绩效等。而且,若伴随存储器阵列的高集成化而一页的尺寸变大,则页缓冲/感测电路的占有面积变大,由此导致芯片变大。因此,期望页缓冲/感测电路的省空间化。
11.本发明的半导体存储装置包括:nand芯片,包含nand型的存储器阵列、页缓冲/感测电路及控制部件,所述页缓冲/感测电路包含可保持从存储器阵列读出的页数据的第一锁存器及第二锁存器,所述控制部件控制读出动作;以及ecc芯片,包含错误检测及纠正功能,所述第一锁存器包含保持页数据的第一数据部分的第一保持部分、及保持第二数据部分的第二保持部分,所述第二锁存器较所述第一锁存器的数据尺寸更小,且保持从所述第一锁存器的第二保持部分传输的第二数据部分,所述控制部件将所述第一锁存器的第一保持部分所保持的第一数据部分传输至所述ecc芯片后,将所述第二锁存器所保持的第二数据部分传输至所述ecc芯片,所述ecc芯片进行所述第一数据部分及所述第二数据部分的错误检测及纠正,所述控制部件响应所述ecc芯片将所述第一数据部分输出至外部的时机,而从所述存储器阵列读出下一页。
12.本发明的读出方法为半导体存储装置的读出方法,所述半导体存储装置包括:nand芯片,包含nand型的存储器阵列及页缓冲/感测电路,所述页缓冲/感测电路包含可保持从存储器阵列读出的页数据的第一锁存器及第二锁存器;以及ecc芯片,包含从nand芯片传输的数据的错误检测及纠正功能,且在所述nand芯片中,将从所述存储器阵列读出的页的第一数据部分和第二数据部分保持于所述第一锁存器,将保持于所述第一锁存器的第二数据部分传输至所述第二锁存器,然后,将保持于所述第一锁存器的第一数据部分传输至所述ecc芯片后,将保持于所述第二锁存器的第二数据部分传输至所述ecc芯片,在所述ecc芯片中,进行第一数据部分的错误检测及纠正后,进行第二数据部分的错误检测及纠正,响应所述ecc芯片输出经错误纠正的第一数据部分,而在所述nand芯片中从存储器阵列读出下一页。
13.根据本发明,通过使nand芯片的页缓冲/感测电路的第二锁存器的数据尺寸较第一锁存器的数据尺寸更小,从而可实现nand芯片的小型化、省空间化。而且,通过与nand芯片分立地设置ecc芯片,从而可实现错误检测及纠正的处理的高速化。
附图说明
14.图1为表示以往的闪存的概略结构的图;
15.图2为表示以往的闪存的ecc功能的动作的时机图;
16.图3为表示本发明的实施例的闪存的概略结构的图;
17.图4的(a)为表示本实施例的闪存的要部结构的图,图4的(b)为表示作为比较例的闪存的要部结构的图;
18.图5为表示本发明的实施例的nand芯片和ecc芯片的内部结构的框图;
19.图6为表示本发明的实施例的闪存的ecc动作的时机图;
20.图7为表示比较例的闪存的连续读出动作的时机图的图;
21.图8为表示本发明的实施例的闪存的连续读出动作的时机图的图;
22.图9为表示比较例的闪存中在连续读出动作中发生中断时的时机图的图;
23.图10为表示本实施例的闪存中在连续读出动作中发生中断时的时机图的图;
24.图11为表示本发明的第二实施例的闪存的连续读出动作的时机图的图;
25.图12为表示本发明的第二实施例的闪存中在连续读出动作中发生中断时的时机图的图。
26.符号的说明
27.10、100、:闪存
28.20、200、200_x:nand芯片
29.30、400:控制器芯片
30.40:ecc功能
31.210、310、330、410:spi用的输入输出端子
32.220、320:ecc专用的输入输出端子
33.230:页缓冲/感测电路
34.240:接口电路(ecc_if)
35.250、350:接口电路(ctl_if)
36.260、370:ecc控制部
37.270、380:控制器
38.280:地址控制部
39.300:ecc芯片
40.340:接口电路(nand_if)
41.360:ecc核
42.c0、c1:缓存器
43.ck、clk:时钟信号
44.l1、l2:锁存器
45.osc:振荡器
46.p0~p2:页
47.pt:奇偶校验数据
48.s0~s7:扇区
49.sel1~sel5:选择器
50.t0~t9:时刻
具体实施方式
51.图3为表示本发明的实施例的闪存的概略结构的图。本实施例的闪存100是包含nand芯片200、及电连接于nand芯片200的ecc芯片300而构成。
52.此处虽未绘示,但nand芯片200典型而言包含nand型的存储器阵列及周边电路。周边电路包含行解码器、列解码器、页缓冲/感测电路、接口电路、控制器、内部电压生成电路等,控制器根据所输入的命令来控制读出、编程、删除等动作。存储器阵列包含多个块(block),在各块形成有多个nand串(string)。nand串可在基板表面二维地形成或在基板表面上三维地形成。存储器单元可为存储一比特(二值数据)的单层单元(single-level cell,slc)型,也可为存储多比特的类型。
53.nand芯片200包含spi用的输入输出端子210(#cs、clk、di、do、#wp、#hold)及ecc专用的输入输出端子220(valid、ck、data)作为与ecc芯片300的接口。“#”表示低电平有效(low active)。#cs为接收用于使能(enable)或禁能(disable)芯片的芯片选择信号的端子,clk为接收串行时钟信号的端子,di为输入串行数据的端子,do为输出串行数据的端子,#wp为接收用于保护状态寄存器以不被写入的信号的端子,#hold为接收用于保持芯片的信号的端子。nand芯片200经由spi用的输入输出端子210,与串行时钟信号clk同步地接收命令、地址、数据,或者与串行时钟信号clk同步地输出数据。
54.作为ecc专用的输入输出端子220,valid为输入输出valid信号的端子,所述valid信号表示nand芯片200与ecc芯片300间的数据传输是否有效,ck为输出数据传输及ecc处理所使用的时钟信号ck的端子,data为输入输出nand芯片200与ecc芯片300间的数据的端子。此处需注意的是,spi用的do端子/di端子的比特宽度m(数据传输宽度)例如为
×
1、
×
4或
×
8,但ecc专用的data端子的比特宽度n构成为较spi用的do端子/di端子的比特宽度m更大(n>m),例如比特宽度n为
×
32。因此,若时钟信号ck与时钟信号clk的频率相同,则nand芯片200与ecc芯片300间的数据传输时间较spi的数据传输时间快n/m倍。
55.此外,此处虽未图示,但nand芯片200也可除了spi用的输入输出端子210以外还包括onfi的接口。onfi的接口包括指令锁存使能(command latch enable,cle)、地址锁存使能(address latch enable,ale)、写入使能(write enable,#we)等外部控制端子和i/o等输入输出端子。
56.ecc芯片300包含spi用的输入输出端子310(#cs、clk、di、do、#wp、#hold)及ecc专用的输入输出端子320(valid、ck、data)作为与nand芯片200的接口。ecc芯片300的spi用的输入输出端子310分别电结合于nand芯片200的spi用的输入输出端子210的对应端子,ecc专用的输入输出端子320分别电结合于nand芯片200的ecc专用的输入输出端子220的对应端子。
57.ecc芯片300还包含spi用的输入输出端子330(#cs、clk、di、do、#wp、#hold)作为与控制器芯片400的接口。输入输出端子330电结合于控制器芯片400的spi用的输入输出端子410的对应端子。输入输出端子310(#cs、clk、di、do、#wp、#hold)的各端子通过内部布线等而分别电结合于输入输出端子330(#cs、clk、di、do、#wp、#hold)的各端子。即,输入输出端子310及输入输出端子330虽然为了实现nand芯片200与控制器芯片400的连接而在物理上
远离配置,但在电性方面,输入输出端子310与输入输出端子330对于nand芯片200及控制器芯片400而言共通,此种连接等同于nand芯片200的spi用的输入输出端子210连接于控制器芯片400的spi用的输入输出端子410。
58.图4的(a)为表示本实施例的闪存的要部结构的图,图4的(b)为表示作为比较例的闪存的要部结构的图。nand芯片200、nand芯片200_x包含页缓冲/感测电路,所述页缓冲/感测电路保持从存储器阵列读出的数据,或保持用于在存储器阵列进行编程的数据,页缓冲/感测电路包括二段的锁存器l1、锁存器l2。锁存器l1、锁存器l2分别包含缓存器c0、缓存器c1,锁存器l1与锁存器l2能以缓存器c0、缓存器c1为单位进行双向的数据传输。锁存器l1、锁存器l2分别保持一页数据(例如4kb),缓存器c0、缓存器c1保持1/2页数据(例如2kb),缓存器c0保持扇区s0~扇区s3这四个扇区的数据(例如一个扇区为512字节),缓存器c1保持扇区s4~扇区s7这四个扇区的数据。
59.例如,在nand芯片200_x中进行页的连续读出动作时,从存储器阵列读出的页的数据保持于锁存器l1的缓存器c0、缓存器c1,接着,保持于锁存器l1的缓存器c0、缓存器c1的数据以缓存器为单位传输至锁存器l2的缓存器c0、缓存器c1。从锁存器l1向锁存器l2传输后,从存储器阵列读出下一页,下一页的数据保持于锁存器l1的缓存器c0、缓存器c1,与此同时,保持于锁存器l2的缓存器c0、缓存器c1的数据传输至ecc芯片300。
60.相对于此,本实施例的nand芯片200中,锁存器l2是以缓存器c1的数据尺寸构成,即,锁存器l2不包括与锁存器l1的缓存器c0对应的缓存器c0。在进行页的连续读出动作时,从存储器阵列读出的页的数据保持于锁存器l1的缓存器c0、缓存器c1,保持于锁存器l1的缓存器c1的数据传输至锁存器l2的缓存器c1,然后,保持于锁存器l1的缓存器c0的数据与保持于锁存器l2的缓存器c1的数据作为一页数据传输至ecc芯片300。
61.ecc芯片300进行从nand芯片200接收的数据的错误检测及纠正,响应ecc芯片300将与缓存器c0对应的开头地址的数据输出至控制器芯片400,nand芯片从存储器阵列进行下一页的读出,将所读出的数据保持于锁存器l1。在将与缓存器c0对应的开头地址的数据输出至控制器芯片400的时间点,缓存器c0的数据结束ecc处理,而且,锁存器l1的缓存器c1的数据传输至锁存器l2,因而可在锁存器l1进行下一页的数据的覆写。
62.本实施例中,通过将nand芯片200的页缓冲/感测电路的锁存器l2的数据尺寸(存储容量)设为nand芯片200_x的页缓冲/感测电路的锁存器l2的一半,从而可实现nand芯片200的小型化、省空间化。
63.图5为表示nand芯片200及ecc芯片300的内部结构的框图。但是,需注意的是,在nand芯片200中示出与ecc动作有关的结构,并未示出所有结构。
64.nand芯片200包含:页缓冲/感测电路230,包含锁存器l1、锁存器l2;振荡器osc,生成时钟信号ck;接口电路(以下记作ecc_if)240,经由ecc专用的输入输出端子220来控制与ecc芯片300之间的数据传输;接口电路(以下记作ctl_if)250,经由spi用的输入输出端子210来控制与控制器芯片400之间的数据传输;ecc控制部260;控制器270,接收从输入输出端子210输入的命令及地址,包含解读命令的解码器或进行地址的保持、计数的地址计数器,基于命令的解码结果来控制各部;以及地址控制部280,控制页缓冲/感测电路230的列地址。
65.锁存器l1包含缓存器c0、缓存器c1,锁存器l2仅包含缓存器c1,锁存器l1与锁存器
l2可双向传输缓存器c1的数据。锁存器l1保持一页数据(例如4kb),缓存器c0、缓存器c1保持1/2页数据(例如2kb)。锁存器l2的缓存器c1保持1/2页数据(例如2kb)。缓存器c0保持扇区s0~扇区s3这四个扇区的数据(例如一个扇区为512字节),缓存器c1保持扇区s4~扇区s7这四个扇区的数据。
66.振荡器osc生成时钟信号ck,此时钟信号ck为最适于数据传输时间及ecc动作的各部的处理时间的、频率。nand芯片200与ecc芯片300之间的利用data端子进行的数据传输是与时钟信号ck同步地进行,ecc芯片300的ecc核360与时钟信号ck同步地执行ecc处理。时钟信号ck的频率与spi的时钟信号clk的频率无关,可设定为较时钟信号clk的频率更高。
67.ecc_if240接收振荡器osc所生成的时钟信号ck,将所述时钟信号ck经由ck端子供给于ecc芯片300的ck端子。ecc_if240在读出动作时,将保持于锁存器l2的读出数据以与时钟信号ck同步的时机从data端子输出至ecc芯片300的data端子,而且,在编程动作时,以与时钟信号ck同步的时机从data端子接收由ecc芯片300生成的奇偶校验数据。
68.ecc控制部260在读出动作时,将valid信号供给于ecc_if240。valid信号规定ecc专用的输入输出端子220、输入输出端子320间的数据传输变得有效的期间,所述期间可进行缓存器单位的数据传输。ecc_if240在由valid信号所规定的期间中,例如在valid信号为高电平的期间中,从nand芯片200的data端子向ecc芯片的data端子传输数据。而且,ecc_if240从valid端子向ecc芯片300的valid端子输出valid信号,以使ecc芯片300的nand_if340可接收来自nand芯片200的数据。
69.ctl_if250控制经由输入输出端子210的、数据的输入输出。ctl_if250接收从控制器芯片400输出的命令、地址、数据,将命令及地址提供给控制器270,将数据保持于锁存器l2或锁存器l1。
70.控制器270将所输入的命令解码,基于解码结果来控制读出、编程、删除等动作。而且,控制器270基于解码结果将辨识读出或编程的控制旗标(control flag)提供给ecc控制部260,或将表示nand芯片200为忙碌状态还是待机状态的状态信号提供给ctl_if250。进而,控制器270包含对从ctl_if250输入的列地址进行计数的地址计数器,将地址计数器的地址提供给地址控制部280。
71.ecc控制部260包含用于控制ecc处理的逻辑(logic)、以及进行用于ecc处理的地址的保持及计数的地址计数器。ecc控制部260与ecc芯片300的ecc控制部370同样地构成,即,包含与ecc控制部370同步的ecc控制部260,以可识别ecc芯片300进行何种ecc动作。此外,控制旗标用于ecc核360进行的、编码器或解码器的切换。
72.地址控制部280接收从控制器270输出的列地址及从ecc控制部260输出的ecc用的列地址,将根据nand芯片200的动作所选择的列地址提供给页缓冲/感测电路230。从锁存器l2读出的数据的位置或写入锁存器l2的数据的位置是通过列地址来控制。
73.ecc芯片300包含:随机存取存储器ram0、ram1;接口电路(以下、nand_if)340,经由ecc专用的输入输出端子320来控制与nand芯片200之间的数据传输;接口电路(以下、ctl_if)350,经由spi用的输入输出端子330、输入输出端子310来控制与nand芯片200及控制器芯片400之间的数据的输入输出;ecc核360,进行错误检测、纠正;ecc控制部370,包含用于控制ecc核360的逻辑以及进行用于ecc处理的地址的保持、计数的地址计数器;以及控制器380,接收从输入输出端子310、输入输出端子330输入的命令、地址、数据。
74.此处需注意的是,在ecc芯片300,搭载有控制器380以可识别nand芯片200进行何种动作,所述控制器380与nand芯片200的控制器270同样地,接收所输入的命令及地址,包含解读命令的解码器或进行地址的保持、计数的地址计数器。而且,spi用的输入输出端子330电结合于spi用的输入输出端子310的对应端子,来自控制器400的命令、地址、数据供给于ecc芯片300及nand芯片200两者。
75.ram0、ram1分别保持1/2页数据,例如ram0保持扇区s0~扇区s3的数据,ram1保持扇区s4~扇区s7的数据。在nand芯片200中进行读出动作时,nand_if340在valid信号为高电平有效(high active)的期间中,经由ecc专用的输入输出端子220及输入输出端子320,从nand芯片200以扇区为单位依次接收一页数据。所接收的数据作为data0(例如扇区s0~扇区s3)或data1(例如扇区s4~扇区s7)而保存于由选择器sel1所选择的ram0或ram1。
76.ecc控制部370在ecc核360进行读出数据的错误检测、纠正时,通过选择器sel3来选择ram0或ram1的地址,将从所选择的ram0或ram1读出的数据提供给ecc核360。ecc核360在ecc控制部370的控制下,针对从ram0或ram1读出的数据,以管线处理的形式进行校正子计算、辗转相除计算、错误位置查,为了根据所查到的错误位置来纠正错误,而将从选择器sel4所选择的ram0或ram1读出的数据的错误比特反转,通过ctl_if350将经纠正的数据经由输入输出端子330输出至控制器芯片400。
77.而且,在进行编程动作时,来自控制器芯片400的命令、地址、数据除了输入至nand芯片200以外,也输入至ecc芯片300。控制器380基于命令的解码结果而识别为编程动作,将从spi用的输入输出端子330输入的数据保存于ram0及ram1。ecc控制部370通过来自控制器380的控制旗标而识别编程动作,使ecc核360的编码器运行。
78.ecc核360在ecc控制部370的控制下,读出保持于ram0或ram1的输入数据,将所读出的数据以扇区单位编码,生成各扇区的奇偶校验数据。所生成的奇偶校验数据经由nand_if340从data端子传输至nand芯片200的data端子。nand芯片200将从控制器芯片400接收的数据保持于锁存器l2,将经由ecc_if240从ecc芯片300接收的各扇区的奇偶校验数据按照ecc控制部260所指定的列地址保持于锁存器l1,然后,控制器270将保持于锁存器l1的数据在存储器阵列进行编程。
79.接着,对本实施例的闪存100的ecc动作的详细进行说明。图6为表示通过ecc核360将读出数据解码时的时机图。当nand芯片200根据读出命令进行读出动作时,在时刻t0,nand芯片200的ecc_if240将保持于锁存器l1的扇区s0的主数据和奇偶校验数据pt与时钟信号ck同步地从data端子发送,ecc芯片300的nand_if340开始从data端子接收扇区s0的主数据和奇偶校验数据pt,在时刻t1扇区s0的主数据和奇偶校验数据pt的接收结束。关于时刻t0与时刻t1的传输时间,由于ecc专用的data端子的数据宽度及时钟信号ck的频率已为了ecc处理而最优化,因而可较经由spi用的输入输出端子210传输数据的时间更短。同样地,在时刻t2扇区s1的主数据和奇偶校验数据pt的传输结束,在时刻t3扇区s2的主数据和奇偶校验数据pt的传输结束,在时刻t4扇区s3的主数据和奇偶校验数据pt的传输结束。
80.从nand芯片200接收的扇区s0~扇区s3的数据依次保存于ram0。在向ram0保存扇区s0的数据的同时,ecc核360开始计算扇区s0的校正子。某实施例中,以扇区s0的校正子计算在时刻t1结束的方式,设定data端子的比特宽度或时钟信号ck的频率。ecc核360在计算校正子后,在扇区s1的接收中,进行扇区s0的错误位置多项式计算、错误位置查。
81.在时刻t5,ecc核360与时钟信号clk同步地从由选择器sel4、选择器sel5选择的ram0读出扇区s0的主数据,以exor将扇区s0的主数据的比特错误反转,将经错误纠正的扇区s0的主数据与spi用的时钟信号clk同步地从输入输出端子330的do端子输出至控制器芯片400。ecc核360在时刻t6、时刻t7、时刻t8,进行扇区s1、扇区s2、扇区s3的错误纠正,将经错误纠正的扇区s1、扇区s2、扇区s3的主数据经由输入输出端子330向控制器芯片400依次输出。控制器芯片400的cpu_if将在时刻t6、时刻t7、时刻t8、时刻t9接收的扇区s0、扇区s1、扇区s2、扇区s3的主数据向主机装置传输。此外,虽此处未图示,但在扇区s3的传输后,扇区s4~扇区s7的数据传输及错误检测及纠正也是与所述同样地进行。
82.接著,对本实施例的闪存的页的连续读出动作进行说明。图7为图4的(b)所示的比较例的闪存(锁存器l1、锁存器l2分别包括缓存器c0、缓存器c1)的连续读出动作的时机图,图8为本实施例的闪存(锁存器l2仅包含缓存器c1)的连续读出动作的时机图。
83.图7、图8中,上侧一半表示nand芯片200的动作,下侧一半表示ecc芯片300的时机。比较例的闪存中,nand芯片200在输出各页的最终地址的数据后,开始进行下一页的阵列读出。例如,响应从data端子传输页p0的扇区s7的最终数据,而开始进行页p2的阵列读出。页的最终地址是通过ecc控制部260所含的地址计数器对时钟信号ck的切换(toggle)次数进行计数从而检测。此外,连续读出是在向锁存器l2传输页p0的数据后,从页p1的读出起实质上开始。
84.nand芯片200在valid信号为高电平的期间中,将各页的扇区s0~扇区s7的数据以缓存器为单位传输至ecc芯片300,若ecc芯片300以缓存器为单位从do端子输出扇区s0~扇区s3或扇区s4~扇区s7的数据,则响应所述时机,nand芯片200以缓存器为单位向ecc芯片300传输下一页的数据。从nand芯片200向ecc芯片300传输数据的时机成为ecc芯片300向控制器芯片400输出缓存器单位的最终地址的时机。例如,nand芯片200响应ecc芯片300输出页p0的扇区s3的最终数据,而开始传输页p1的扇区s0~扇区s3的数据。
85.关于ecc芯片300对控制器芯片400输出缓存器单位的最终地址的时机,只要使用nand芯片200内的控制器270的地址计数器来识别也连接于nand芯片200的时钟信号clk的切换(toggle)次数即可。nand芯片200的控制器270内的add计数器是为了在未搭载ecc芯片300时或不进行错误纠正时控制从ctl_if250输出的数据而使用,但在进行错误纠正时不从ctl_if250输出数据,因而可用于所述用途。
86.另一方面,本实施例的闪存中,存储器阵列的阵列读出如图8所示,是响应从ecc芯片300的端子do输出页的开头地址的数据而进行。例如,若从端子do输出页p0的扇区s0的开头地址的数据,则nand芯片200开始读出页p1的阵列。
87.nand芯片200将从存储器阵列读出的页的数据保持于锁存器l1的缓存器c0、缓存器c1,接着,将锁存器l1的缓存器c1的扇区s4~扇区s7的数据传输至锁存器l2的缓存器c1,在valid信号为高电平的期间中,将保持于锁存器l1的缓存器c0的扇区s0~扇区s3的数据、与保持于锁存器l2的缓存器c1的扇区s4~扇区s7的数据作为一页数据,以缓存器为单位传输至ecc芯片300。从nand芯片200向ecc芯片300传输数据的时机与比较例的情况相同,成为ecc芯片300向控制器芯片400输出缓存器单位的最终地址的数据的时机。例如,nand芯片200响应ecc芯片300输出页p0的扇区s3的最终地址的数据,而开始传输页p1的扇区s0~扇区s3的数据。
88.ecc芯片300以扇区为单位进行错误检测及纠正,然后从do端子输出经纠正的数据。若ecc芯片300输出页的开头地址的数据,则nand芯片200响应这一情况,开始进行下一页的阵列读出,并将所读出的数据保持于锁存器l1。当开始进行下一页的阵列读出时,锁存器l1的缓存器c1的数据传输至锁存器l2,因而即便在锁存器l1覆写下一页的数据也不成问题。
89.nand芯片200的控制器270的地址计数器与ecc芯片300的控制器380的地址计数器同步,nand芯片200的控制器270可通过由所述地址计数器所计数的列地址,获知从ecc芯片300的do端子输出的页的开头地址的时机。
90.接着,对进行本实施例的闪存的连续读出时的限制进行说明。此处,将阵列读出的时间设为tarray,将nand芯片200输出一扇区的数据的时间设为tdout1,将ecc芯片300输出一扇区的数据的时间设为tdout2,将nand芯片200输出一扇区的数据后直到所述扇区的错误检测及纠正结束为止的延迟(latency)设为tltcy。
91.比较例的闪存中,产生数式(1)、数式(2)的限制。
92.tdout1+tltcy<tdout2
×4···
(1)
93.tdout1<tdout2
···
(2)
94.另一方面,本实施例的闪存中,如图8所示,除了数式(1)、数式(2)的限制以外,还产生数式(3)、数式(4)的限制。
95.tarray+tdout1+tltcy<tdout2
×8···
(3)
96.tarray+tdout1
×
4<tdout2
×8···
(4)
97.此处,若设tarray=16μs,一个扇区的数据为512字节,将ecc专用的data端子的比特宽度设为16比特,将时钟信号ck的频率设为80mhz,则成为tdout1=4μs、tltcy=4μs。此时,本实施例的闪存的各限制如下。
98.根据(1),成为tdout2>(4+4)/4=2μs
99.根据(2),成为tdout2>4μs
100.根据(3),成为tdout2>(16+4+4)/8=3μs
101.根据(4),成为tdout2>(16+4
×
4)/8=4μs。
102.此时,以tdout2大于4μs的方式,设定时钟信号clk的频率及/或do端子的比特宽度。此外,若tarray较输出一个缓存器(四个扇区)的数据的时间更短,则产生追加的限制。
103.图9为在比较例的闪存的页的连续读出中发生中断的情况下的时机图,图10为在本实施例的闪存的页的连续读出中发生中断的情况下的时机图。例如,有时ecc芯片300的时钟信号clk停止等导致连续读出中自do端子的数据输出中断(在do端子示出中断处)。在发生此种中断的情况下,本实施例的闪存中,ecc芯片300的ram0、ram1保持从nand芯片200传输的数据,而且,在ecc芯片300输出页的开头地址的数据之前,不进行下一页的阵列读出,因而在锁存器l1、锁存器l2中保持其前一页的数据。因此,数据不会因中断而消失,而且,nand芯片200与ecc芯片300共享正进行读出的页的地址,因而可在中断后再次开始连续读出。
104.接着,对本发明的第二实施例进行说明。第一实施例表示将nand芯片200的页缓冲/感测电路的锁存器l2的存储容量(数据尺寸)减少至缓存器c1的一半的结构,第二实施例中,将锁存器l2的缓存器c1的存储容量进一步减半。即,本实施例的锁存器l2的缓存器c1
保持1/4页数据。例如,若一页为4kb,则锁存器l2的c1为1kb。锁存器l2的缓存器c1的数据尺寸成为锁存器l1的缓存器c1的数据尺寸的一半,因而锁存器l2的缓存器c1从锁存器l1的缓存器c1一次接收的数据成为1/4页数据(两个扇区的数据)。即,锁存器l1的缓存器c0保持扇区s0~扇区s3的数据,锁存器l1的缓存器c1保持扇区s4~扇区s7的数据。接着,锁存器l1的缓存器c0、缓存器c1所保持的扇区s0~扇区s5的3/4页数据传输至ecc芯片300,保存于锁存器l1的缓存器c1的扇区s6、扇区s7的数据传输至锁存器l2的缓存器c1。锁存器l2的缓存器c1保持扇区s6、扇区s7的数据,锁存器l2的缓存器c1所保持的扇区s6、扇区s7的1/4页数据传输至ecc芯片300。
105.第一实施例中,nand芯片200与ecc芯片300间的数据传输以缓存器为单位(扇区s0~扇区s3/扇区s4~扇区s7)进行,但第二实施例中,以1/4页为单位或两个扇区单位进行数据传输。因此,nand芯片200的ecc控制部260生成以两个扇区为单位或以1/4页为单位规定数据传输期间的valid信号。
106.图11表示第二实施例的闪存的连续读出动作的时机图。如图所示,本实施例的连续读出中,与第一实施例时同样地,存储器阵列的阵列读出是响应从ecc芯片300的do端子输出页的开头地址的数据而进行,从nand芯片200向ecc芯片300的数据传输是响应从ecc芯片300的do端子输出两个扇区单位的开头地址的数据而进行。例如,响应ecc芯片300从do端子输出页p0的扇区s0的开头地址的数据,而进行页p1的阵列读出,接着,响应输出页p0的扇区s2的开头地址的数据,而开始进行从nand芯片200向ecc芯片300的、页p1的两个扇区s0、s1的数据传输。
107.接着,对进行第二实施例的闪存的连续读出时的限制进行说明。假设一个缓存器包含四个扇区,将阵列读出的时间设为tarray,将nand芯片200输出一扇区的数据的时间设为tdout1,将ecc芯片300输出一扇区的数据的时间设为tdout2。数式(1)为第一实施例时的限制,第二实施例的限制为数式(2)所示。
108.tarray+tdout1
×
4<tdout2
×8···
(1)
109.tarray+tdout1
×
6<tdout2
×8···
(2)
110.此处,若设tarray=16μs,一个扇区的数据为512字节,将ecc专用的data端子的比特宽度设为16比特,将时钟信号ck的频率设为80mhz,则成为tdout1=4μs。此时,数式(2)的限制如下。
111.tdout2>(16+4
×
6)/8=5μs
112.所述限制意味着,例如若为输入输出端子
×
4的sdr型的产品,则可支持200mhz的串行时钟信号的频率。
113.图12为第二实施例的闪存的页的连续读出中发生中断的情况下的时机图。例如,即便ecc芯片300的读出时钟信号clk停止导致读出中断,数据也不因覆写等而消失,可在中断后正确地再次开始连续读出。
114.如此,根据第二实施例,通过进一步削减页缓冲/感测电路的锁存器l2的数据尺寸,从而可缩小nand芯片200的芯片尺寸,而且可实现闪存的小型化、省空间化。
115.此外,所述实施例中,表示了一个页包含八个扇区(一个缓存器包含四个扇区)的示例,但其为一例,例如当一个页为4kb(一个缓存器为2kb)时,若一个扇区为512字节,则一个页包含八个扇区,若一页为2kb,则一个页也可包含四个扇区。此时,ecc芯片300以扇区为
单位进行ecc处理(在编程动作时,针对每个扇区生成奇偶校验数据,在读出动作时,基于奇偶校验数据进行扇区的错误检测及纠正)。
116.对本发明的优选实施方式进行了详述,但本发明不限定于特定的实施方式,可在权利要求所记载的本发明的主旨的范围内进行各种变形、变更。

技术特征:


1.一种半导体存储装置,包括:与非芯片,包含与非型的存储器阵列、页缓冲/感测电路及控制部件,所述页缓冲/感测电路包含能够保持从存储器阵列读出的页数据的第一锁存器及第二锁存器,所述控制部件控制读出动作;以及错误检测纠正芯片,包含错误检测及纠正功能,所述第一锁存器包含:第一保持部分,保持页数据的第一数据部分;以及第二保持部分,保持第二数据部分,所述第二锁存器较所述第一锁存器的数据尺寸更小,且保持从所述第一锁存器的第二保持部分传输的第二数据部分,所述控制部件将保持于所述第一锁存器的第一保持部分的第一数据部分传输至所述错误检测纠正芯片后,将保持于所述第二锁存器的第二数据部分传输至所述错误检测纠正芯片,所述错误检测纠正芯片进行所述第一数据部分及所述第二数据部分的错误检测及纠正,所述控制部件响应所述错误检测纠正芯片将所述第一数据部分输出至外部的时机,而从所述存储器阵列读出下一页。2.根据权利要求1所述的半导体存储装置,其中,所述与非芯片包含:第一专用端子,用于将读出数据传输至所述错误检测纠正芯片;所述错误检测纠正芯片包含:第二专用端子,连接于所述第一专用端子,接收所述读出数据。3.根据权利要求1或2所述的半导体存储装置,其中,所述第一保持部分及所述第二保持部分各自具有保持1/2页数据的存储容量,所述第二锁存器具有保持1/2页数据的存储容量,所述控制部件以1/2页为单位向所述错误检测纠正芯片传输数据。4.根据权利要求3所述的半导体存储装置,其中,当一个页包含n个扇区,所述错误检测纠正芯片以扇区为单位进行数据的错误检测及纠正时,在将所述存储器阵列的读出时间设为tarray,将所述与非芯片向所述错误检测纠正芯片传输一个扇区的数据的时间设为tdout1,将所述错误检测纠正芯片向外部输出一个扇区的数据的时间设为tdout2,将所述与非芯片输出一个扇区的数据后直到所述扇区的错误检测及纠正结束为止的延迟设为tltcy时,具有以下(1)~(4)的数式所规定的限制:tdout1+tltcy<tdout2
×
n/2
···
(1)tdout1<tdout2
···
(2)tarray+tdout1+tltcy<tdout2
×
n
···
(3)tarray+tdout1
×
n/2<tdout2
×
n
···
(4)。5.根据权利要求1或2所述的半导体存储装置,其中,所述第一保持部分及所述第二保持部分各自具有保持1/2页数据的存储容量,所述第二锁存器具有保持1/4页数据的存储容量,所述控制部件以1/4页为单位向所述错误检测纠正芯片传输数据。6.根据权利要求5所述的半导体存储装置,其中,
当一个页包含n个扇区,所述错误检测纠正芯片以扇区为单位进行数据的错误检测及纠正时,在将所述存储器阵列的读出时间设为tarray,将所述与非芯片向所述错误检测纠正芯片传输一个扇区的数据的时间设为tdout1,将所述错误检测纠正芯片向外部输出一个扇区的数据的时间设为tdout2时,具有以下数式所规定的限制:tarray+tdout1
×
(n
×
3/4)<tdout2
×
n。7.根据权利要求2所述的半导体存储装置,其中,所述与非芯片从所述第一专用端子与第一时钟信号同步地将所述第一数据部分及所述第二数据部分传输至所述错误检测纠正芯片,所述错误检测纠正芯片将经纠正的数据与第二时钟信号同步地输出至外部。8.根据权利要求1所述的半导体存储装置,其中,所述控制部件控制页的连续读出动作。9.根据权利要求1所述的半导体存储装置,其中,所述与非芯片与所述错误检测纠正芯片收容于一个封装体内。10.一种读出方法,为半导体存储装置的读出方法,所述半导体存储装置包括:与非芯片,包含与非型的存储器阵列及页缓冲/感测电路,所述页缓冲/感测电路包含能够保持从存储器阵列读出的页数据的第一锁存器及第二锁存器;以及错误检测纠正芯片,包含从与非芯片传输的数据的错误检测及纠正功能,且在所述与非芯片中,将从所述存储器阵列读出的页的第一数据部分和第二数据部分保持于所述第一锁存器,将保持于所述第一锁存器的所述第二数据部分传输至所述第二锁存器,然后将保持于所述第一锁存器的所述第一数据部分传输至所述错误检测纠正芯片后,将保持于所述第二锁存器的所述第二数据部分传输至所述错误检测纠正芯片,在所述错误检测纠正芯片中,进行所述第一数据部分的错误检测及纠正后,进行所述第二数据部分的错误检测及纠正,响应所述错误检测纠正芯片输出经错误纠正的所述第一数据部分,而在所述与非芯片中从存储器阵列读出下一页。11.根据权利要求10所述的读出方法,其中,在所述与非芯片中,将所述第一数据部分及所述第二数据部分与时钟信号同步地从第一专用端子传输至所述错误检测纠正芯片,在所述错误检测纠正芯片中,与所述时钟信号同步地从第二专用端子接收所述第一数据部分及所述第二数据部分。12.根据权利要求10所述的读出方法,其中,所述第一数据部分及所述第二数据部分各自为1/2页数据,所述第二锁存器从所述第一锁存器接收1/2页数据,所述与非芯片以1/2页为单位向所述错误检测纠正芯片传输所述第一数据部分或所述第二数据部分。13.根据权利要求10所述的读出方法,其中,当一个页包含n个扇区,所述错误检测纠正芯片以扇区为单位进行数据的错误检测及纠正时,在将所述存储器阵列的读出时间设为tarray,将所述与非芯片向所述错误检测纠正芯片传输一个扇区的数据的时间设为tdout1,将所述错误检测纠正芯片向外部输出一个扇区的数据的时间设为tdout2,将所述与非芯片输出一个扇区的数据后直到所述扇区的错
误检测及纠正结束为止的延迟设为tltcy时,具有以下(1)~(4)的数式所规定的限制:tdout1+tltcy<tdout2
×
n/2
···
(1)tdout1<tdout2
···
(2)tarray+tdout1+tltcy<tdout2
×
n
···
(3)tarray+tdout1
×
n/2<tdout2
×
n
···
(4)。14.根据权利要求10所述的读出方法,其中,所述第一数据部分及所述第二数据部分各自为1/2页数据,所述第二锁存器从所述第一锁存器接收1/4页数据,所述与非芯片以1/4页为单位向所述错误检测纠正芯片传输所述第一数据部分或所述第二数据部分。15.根据权利要求14所述的读出方法,其中,当一个页包含n个扇区,所述错误检测纠正芯片以扇区为单位进行数据的错误检测及纠正时,在将所述存储器阵列的读出时间设为tarray,将所述与非芯片向所述错误检测纠正芯片传输一个扇区的数据的时间设为tdout1,将所述错误检测纠正芯片向外部输出一个扇区的数据的时间设为tdout2时,具有以下数式所规定的限制:tarray+tdout1
×
(n
×
3/4)<tdout2
×
n。

技术总结


本发明提供一种半导体存储装置及读出方法,可实现错误检测、纠正的处理时间的高速化且达成小型化。本发明的闪存(100)具有NAND芯片(200)及ECC芯片(300)。NAND芯片(200)具有:存储器阵列;页缓冲/感测电路,包含锁存器(L1)及锁存器(L2);以及专用的输入输出端子(220),可在与ECC芯片(300)之间进行数据传输。锁存器(L1)包含缓存器(C0、C1),锁存器(L2)仅包含缓存器(C1)。锁存器(L1)的缓存器(C0)的数据及锁存器(L2)的缓存器(C1)的数据传输至ECC芯片(300),响应从ECC芯片(300)输出开头地址的数据,而从存储器阵列读出下一页,读出的数据保持于锁存器(L1)。持于锁存器(L1)。持于锁存器(L1)。


技术研发人员:

金子二四三 妹尾真言 葛西央伦

受保护的技术使用者:

华邦电子股份有限公司

技术研发日:

2022.08.01

技术公布日:

2023/3/2

本文发布于:2024-09-22 12:31:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/66172.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:芯片   数据   所述   扇区
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议