一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储器中的单调计数器的制作方法

2021-08-24 16:22:00 来源:中国专利 TAG:公开 存储器 计数器 单调 特定
存储器中的单调计数器的制作方法

本公开大体上涉及存储器,且特定来说,本公开涉及存储器中的单调计数器。



背景技术:

存储器系统可实施在电子系统(例如计算机、蜂窝式电话、手持电子装置等等)中。一些存储器系统(例如固态驱动器(ssd)、嵌入式多媒体控制器(emmc)装置、通用快闪存储(ufs)装置及类似者)可包含用于存储来自主机的主机(例如用户)数据的非易失性存储存储器。非易失性存储存储器通过在未供电时保存所存储的数据来提供持久数据且可包含nand(“与非”)快闪存储器、nor(“或非”)快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)及电阻可变存储器(例如相变随机存取存储器(pcram))、三维交叉点存储器(例如3dxpoint)、电阻随机存取存储器(rram)、铁电随机存取存储器(feram)、磁阻随机存取存储器(mram)及可编程导电存储器及其它类型的存储器。

在一些实例中,存储器可存储安全信息且易遭受旨在获取安全信息的恶意攻击。例如,一些安全存储器会成为重放攻击的牺牲品。例如,重放可为恶意或诈欺性重复或延迟安全信息且可涉及拦截及重传安全信息。

附图说明

图1是根据本公开的若干实施例的可执行单调计数操作的设备的框图。

图2a是根据本公开的若干实施例的可促进单调计数操作的存储器单元块的框图。

图2b是根据本公开的若干实施例的单调计数的实例性阶段期间的存储器单元块的框图。

图3是根据本公开的若干实施例的存储器单元块的示意图。

具体实施方式

实例性设备(例如,存储器(例如,nand存储器))可具有控制器、耦合到控制器的易失性计数器及耦合到控制器的非易失性存储器阵列。控制器可经配置以每当计数器的计数已递增特定数目个增量时将除计数器的计数外的信息写入在阵列中。在特定数目个增量后将信息写入到阵列可减少写入到存储器阵列的次数且可因此缓解可发生在将每一计数写入到阵列时的存储器阵列的降级(如先前方法中所发生)。

信息可包含相对较多的重复位,其可提供可补偿与一些非易失性存储器(例如,nand存储器)相关联的相对较高位错误率的相对较高冗余度。例如,可无法将错误校正码(ecc)方案用于计数操作,且相对较高冗余度可补偿此。例如,在无ecc的情况下读取单元可导致读取期间相邻单元大量读取干扰。与重复位相关联的冗余可有助于补偿此。

因为每当存储器断电时易失性计数器损失其计数,所以要在下次通电(例如,通电序列)时将计数器初始化到可大于或等于断电时计数器的计数的初始化计数以确保(例如)计数单调递增。在通电期间,可通过使断电前的信息写入次数乘以增量的特定数目来计算初始化计数。接着,易失性计数器可通过递增初始化计数来继续计数。

在一些实例中,为确保足够存储容量用于信息,可将信息写入到两个块的一者。块可响应于块的一者满载而彼此交换。满载块可经擦除使得其可用于下一交换。此(例如)可提供比先前方法更大的计数范围。

所公开的实施例可预防电力损失,例如可由于此类电力损失而发生的损失计数。例如,所公开的实施例可有助于确保单调递增计数(例如容许电力损失计数),无论是否发生电力损失。

所公开的单调计数器可用于实施安全系统(例如安全存储器系统)中的“新鲜度”(例如,基于对称及/或非对称加密)。由所公开的单调计数器产生的单调计数可为新鲜度指示符,其可与嵌入在安全信息(例如,安全命令)中的对应新鲜度指示符比较以确定信息的新鲜度。此可预防(例如消除)重放的可能性。

图1是根据本公开的若干实施例的设备的框图,设备呈可执行单调计数操作的计算系统100的形式。计算系统100可包含主机102及呈存储器104(例如存储器装置)(例如nand存储器)的形式的设备。

存储器104可经配置以实施单调计数操作且可响应于事件(例如,自主机102接收安全命令)而产生单调递增计数。安全命令可指代(例如)需要认证的从主机102接收的命令。在一些实例中,安全命令可包含操作码、签名及新鲜度指示符。相比来说,非安全命令可无需认证且因此可不包含签名或新鲜度指示符。

存储器104可包含控制器106、耦合到控制器106的易失性计数器108及耦合到控制器106的非易失性存储器阵列110(例如,nand存储器阵列)。控制器106可包含计数电路112,其可配置控制器106执行与本文中所描述的单调计数相关联的各种操作。如本文中所使用,存储器104、控制器106、易失性计数器108及/或非易失性存储器阵列110可被单独视为“设备”。

阵列110可包含存储器单元块,例如块115-1、115-2、117-1到117-k及119-1到119-l,其中每一者可经独立编程且独立及共同擦除。阵列110可包含专用计数区段114(例如分区),其具有分别作为计数块cnt_blk1及cnt_blk2的块115-1及115-2。例如,计数区段114、计数电路112及易失性计数器108的组合可为呈根据本公开的若干实施例的单调计数器的形式的设备。

计数电路112可经配置以每当易失性计数器108的计数已递增特定数目个增量时将除易失性计数器108的计数外的信息写入在计数区段114中,如本文中所进一步描述。在存储器104及因此易失性计数器108的每一通电期间,计数电路112可通过使通电前信息写入到计数区段114的次数乘以增量的特定数目来计算初始化计数。接着,计数电路112可使用初始化计数来初始化计数器108且从初始化计数开始计数。

块115-1及115-2可在计数期间一次使用一个且可彼此交换。例如,可将信息写入到块的作用者,而块的另一者非作用且不被写入。可响应于作用块被断定为满载信息而交换块,使得非作用块变成现将信息写入到其的作用块,且作用块变成不将信息写入到其的非作用块。

阵列110也可包含安全区段116,其可由主机102发出的安全命令存取且可包含分别作为安全块sec_blk1到sec_blkk的块117-1到117-k。阵列110可包含非安全区段118,其可由来自主机102的非安全命令存取且可包含分别作为非安全块nsec_blk1到nsec_blkl的块119-1到119-l。

计数电路112可响应于从主机102接收的每一安全命令而递增易失性计数器108的计数(例如递增1)。在一些实例中,单调计数可为新鲜度指示符,控制器108可比较新鲜度指示符与嵌入在来自主机102的安全命令中的计数(例如,作为对称及/或非对称加密的部分)以确定安全命令上的新鲜度。此可预防(例如,消除)重放的可能性且可有助于确保每一安全命令是唯一的。

主机102可经由接口120来耦合到存储器104,接口120可包含数据总线且可支持各种标准及/或符合各种接口类型,例如双倍数据速率(ddr)等等。控制器108可接收例如安全或非安全读取命令的命令且写入来自主机102的命令。例如,控制器102可从主机102经由主机接口120接收待写入到存储器104的主机数据。

接口120可呈标准化物理接口的形式。例如,接口120可为串行先进技术附件(sata)物理接口、外围组件互连快速(pcie)物理接口、通用串行总线(usb)物理接口或小型计算机系统接口(scsi)及其它物理连接器及/或接口。但是,一般来说,接口120可提供用于在存储器104与具有接口120的兼容接受器的主机102之间传递控制、地址、数据及其它信号的接口。

主机102可为(例如)主机系统,例如个人膝上型计算机、桌面计算机、数码相机、移动装置(例如蜂窝式电话)、网络服务器、物联网(iot)启用装置或存储卡读取器及各种其它类型的主机。例如,主机120可包含能够通过接口120来存取存储器104的一或多个处理器。

控制器106可包含在与存储器阵列110相同的物理装置(例如,裸片)上。替代地,控制器106可包含在通信地耦合到包含存储器阵列110的物理装置的单独物理装置上。在一些实例中,控制器106的组件可作为分布式控制器散布于多个物理装置中(例如,一些组件在与存储器相同的裸片上,且一些组件在不同裸片、模块或板上)。

主机102可包含用于与存储器104通信的主机控制器(图1中未展示)。主机控制器可经由接口120来发送命令到存储器104。主机控制器可与存储器104及/或控制器106通信以读取、写入及/或擦除数据及进行其它操作。

控制器106及/或主机控制器可包含控制电路及/或逻辑(例如硬件及固件),例如计数电路112。在实施例中,控制器106及/或主机控制器可为耦合到包含物理接口的印刷电路板的专用集成电路(asic)。此外,存储器104及/或主机102可包含易失性及/或非易失性存储器的缓冲器及若干寄存器。

图2a是根据本公开的若干实施例的可促进计数操作的存储器单元块215的框图。例如,块115-1及115-2的每一者可为块215。块215可包含区域225,其经配置以每当易失性计数器108的计数已递增特定数目(nc)个增量时存储除易失性计数器108的计数外的信息。此信息可称为计数里程碑记录。例如,每一相应计数里程碑记录可对应于每当易失性计数器108的计数已递增nc个增量时发生的相应写入。因而,计数器108的每nc个增量可存在一个计数里程碑记录。例如,每计数里程碑记录及因此每计数里程碑记录的写入可存在计数器108的nc个增量。

区域225可包含分别作为计数里程碑字段cnt_milestone#1到cnt_milestone#n*pc的若干分段227-1到227-n*pc。应注意,两个项之间的符号“*”表示项彼此相乘。每一计数里程碑字段可存储计数里程碑记录。区段225中可存在计数里程碑字段的pc个群组229-1到229-pc,其中每一群组中具有n个计数里程碑字段。群组229-1到229-pc中的每一者可为块215的页。例如,群组229-1到229-pc可分别为页o_page#1到o_page#pc。

在一些实例中,块215可包含经配置以存储指针记录(例如页指针记录)的区域232。区段232可包含分别作为页指针字段page_ptr#1到page_ptr#pp*n的若干分段235-1到235-pp*n。例如,每一页指针字段可存储页指针记录。区域232中可存在页指针字段的pp个群组237-1到237-pp,其中每一群组中具有n个页指针字段。群组237-1到237-pp中的每一者可为块215的页。例如,群组237-1到237-pp可分别为页p_page#1到p_page#pp。页指针字段page_ptr#1到page_ptr#pp*n可分别指向页o_page#1到o_page#pc。例如,区域232中页指针字段page_ptr#的数量pp*n可等于区域225中页o_page#的数量pc。

由页指针记录最近被写入到其的相应页指针字段page_ptr#指向的页o_page#1到o_page#pc的相应页o_page#可为当前作用页o_page#。例如,页指针记录最近被写入到其的页指针字段page_ptr#可指向区域225的当前作用页o_page#。

块215可包含区域240。区域240可包含若干分段242-1到242-pm*n。分段242的中一者(例如,分段242-1)可为块状态区mtcblk状态,其可存储指示块215是作用或非作用的信息。剩余分段242(例如分段242-2到242-pm*n)可为可分别存储块里程碑记录的块里程碑字段。例如,分段242-2到242-pm*n可分别为块里程碑字段blkmilestone#1到blkmilestone#(pm*n)-1。应注意,可存在(pm*n)-1个块里程碑字段。

可存在分段242的pm个群组244-1到244-pm,其中每一群组中具有n个分段242。群组244-1到244-pm中的每一者可为块215的页。例如,群组244-1到244-pm可分别为页m_page#1到m_page#pm。应注意,页m_page#1到m_page#pm中的一者(例如,页m_page#1)可包含块状态区mtcblk状态及n-1个块里程碑字段blkmilestone#1到blkmilestone#n-1,而m_page#1到m_page#pm的剩余页(例如页m_page#2到m_page#pm)中的每一者可包含n个块里程碑字段。

可响应于旧块(例如,变成非作用块的作用块)被换成新块(例如,变成作用块的非作用块)而将块里程碑记录写入到新块中的相应块里程碑字段,如先前所讨论。可响应于区域225满载计数里程碑记录而发生块交换。例如,可响应于所有分段227(例如,所有计数里程碑字段cnt_milestone#)具有计数里程碑记录而发生块交换。

此外,可响应于交换而将交换时旧块中的块里程碑记录转移到新块。因而,作用块中的块里程碑记录的数量bm可对应于最近块交换前的块交换的数量。应注意,因为每一块交换发生在区域225满载时,所以每一块里程碑记录表示n*pc个计数里程碑记录,且因此表示每交换及因此每块里程碑记录的计数器108的nc*n*pc个增量。

计数电路112可确定可大于或等于从存储器104的最近断电起的计数器108的计数的初始化计数。可通过确定从存储器104的最近断电起的计数器108的增量数目来在存储器104的下通电期间从作用块确定初始化计数。计数器108的增量数目可包含从最近块交换起的计数器108的增量数目与最近块交换前的计数器108的增量数目的总和。增量的步长可为允许计数递增的任何正整数。

计数电路112可通过计数区域225中计数里程碑记录的数目“n”且使n乘以每计数里程碑记录的增量数目nc来确定从最近块交换起的计数器108的增量数目。例如,从最近块交换起的计数器108的增量数目可为n*nc。

计数电路112可通过计数区域240中块里程碑记录的数目bm(例如,块交换的数目)且使bm乘以每块里程碑记录的增量数目nc*n*pc来确定最近块交换前的计数器108的增量数目。接着,计数电路112可通过使从最近块交换起的计数器108的增量数目n*nc与最近块交换前的计数器108的增量数目bm*nc*n*pc相加来确定初始化计数。因此,初始化计数可为bm*nc*n*pc n*nc。如本文中所进一步讨论,在一些例子中,初始化计数可大于或等于从存储器104的最近断电起的计数器108的最后计数。

图2b是根据本公开的若干实施例的单调计数的实例性阶段期间的块(例如,块215)的框图。在图2b的实例中,分别为图2a中的计数里程碑字段cnt_milestone#1到cnt_milestone#n*pc的分段227-1到227-n*p中的每一者可存储m个位的数据模式(例如位模式)。类似地,分别为图2a中的页指针字段page_ptr#1到page_ptr#pp*n的分段235-1到235-pp*n、可为图2a中的块状态区mtcblk状态的分段242-1及可分别为图2a中的块里程碑字段blkmilestone#1到blkmilestone#(pm*n)-1的分段242-2到242-pm*n中的每一者可存储m个位的位模式。例如,每一相应位可对应于相应存储器单元,使得每一分段227、235及242可包含“m”个非易失性存储器单元。

在一些实例中,存储器单元可每单元存储单位且可编程到对应于两个数据状态的一者(例如对应于逻辑零(0)或逻辑(1)的数据状态)的阈值电压vt,但存储器单元不受限于此,如所进一步讨论。对应于逻辑1的数据状态可为存储器单元的最低状态,例如存储器单元的擦除状态。在一些实例中,可最初擦除(例如在存储器104的生产期间的工厂处)块115-1到115-2两者中分段227、235及242中的每一者中的所有存储器单元。因而,块115-1及115-2两者中的所有分段227、235及242可最初具有全“1”(例如m个)的位模式。

在一些实例中,分段242-1中的全1位模式可指示块215是非作用的。然而,本公开不受限于此,且其它位模式可用于指示块215是非作用的。在一些实施例中,分段242-1中的m/2个0及接着m/2个1的位模式(例如,000000000…0111111111…1)可称为可指示块215是作用的块作用模式。但是,本公开不受限于此,且其它位模式可用于块作用模式。例如,在一些实例中,图2b中分段242-1中的“作用”指定可对应于此块作用模式。

分段227中的全0模式可为响应于计数器108被递增nc次而写入到所述分段227的信息,且因此可为计数里程碑记录。在一些实例中,分段227中的全0模式可称为计数里程碑结束模式(例如,计数里程碑结束序列)。分段227中的全1模式指示分段不含计数里程碑记录且用于接收计数里程碑记录。应注意,在此实例中,从引导块215时起,已将n 2个计数里程碑记录写入到块215。例如,n=n 2。应注意,计数里程碑记录可称为计数里程碑结束序列。例如,计数里程碑记录项及计数里程碑结束序列项可互换地用于指代响应于计数器108被递增nc次而存储在分段227中的信息。

从写入下一计数里程碑记录的观点看,满载计数里程碑记录的页o_page#(例如页o_page#1)可为区域225的非作用页,因为无法再被写入。从写入下一计数里程碑记录的观点看,部分填充计数里程碑记录的页(例如页o_page#2)可为区域225的作用页,因为至少额外计数里程碑记录可被写入到所述页。其中所有分段具有全1模式且跟随部分写入页的区域225中的页也可被视为非作用页。

计数电路112可响应于从写入全0模式(例如到分段227-(n 2))起计数器108被递增nc次而将全0模式写入到区域225中的下一可用分段227(例如,分段227-(n 3))。计数电路112可通过搜索区域225以定位具有全1模式的区域225中的第一分段来确定分段227-(n 3)是下一可用分段。在一些实例中,计数电路112可通过从分段227-1开始以升序搜索区域225中的分段227以定位具有全1模式的区域225中的第一分段来确定分段227-(n 3)是下一可用分段。例如,计数电路112可搜索分段227-1到227-(n 3)中的每一者且可通过将分段227-(n 3)中的每一存储器单元编程到对应于0的vt来将分段227-(n 3)中的所有1写成0。但是,本公开不受限于以升序搜索区域225的下一可用分段,而是可在其它实例中以降序搜索区域225的下一可用分段。

替代地,可响应于将全0模式写入到分段227-(n 2)而将m个位的计数里程碑开始模式(例如,计数里程碑开始序列)写入到分段227-(n 3)。计数里程碑开始序列可为m/2个0及接着m/2个1(例如,000000000…0111111111…1)。计数电路112可通过(例如)从分段227-1开始以升序搜索分段227中的每一者以定位将分段227-(n 3)识别为下可用分段的计数里程碑开始序列来确定分段227-(n 3)是下一可用分段。接着,计数电路112可将分段227-(n 3)中的所有1写成0。

区域232中分段235中的全0模式可称为指针结束模式(例如,指针结束序列),其可称为指针信息。分段235中的全1模式可称为指针非作用模式(例如,指针非作用序列)。在一些实例中,具有全0的区域232中的最后分段通过指向区域225中的当前作用页来识别所述页。例如,分段235-2指向页o-page#2且是具有全0的区域232中的最后分段。因此,分段235-2将页o-page#2识别为区域225中的当前作用页。

在一些实例中,分段235-2不是在指向作用页o-page#2时存储指针结束模式,而是可存储例如指针作用模式的信息以指示分段235-2是作用的且指向页o-page#2。例如,指针作用模式可为m/2个0及接着m/2个1的位模式(例如,000000000…0111111111…1)。分段235-2中的指针作用模式可响应于页o-page#2中的所有分段具有计数里程碑记录(例如,页o-page#2满载)而变换成指针结束模式。接着,可将指针作用模式写入到下一分段(分段235-3)以指示分段235-3是作用的且指向下页o-page#。

为定位页o-page#2中的分段227-(n 3),计数电路112可搜索区域232以定位分段235-2且借此将页o-page#2识别为区域225中的当前作用页。在一些实例中,计数电路112可从分段235-1开始以升序搜索分段235以定位分段235-2。但是,本公开不受限于以升序搜索区域232,而是可在其它实例中以降序搜索分段235以定位分段235-2。接着,计数电路112可仅搜索页o-page#2中的分段227-(n 1)到227-(n 3)以定位分段227-(n 3),且不搜索页o-page#1中的分段227-1到227-n。接着,计数电路112可将分段227-(n 3)中的所有1写成0。应注意,未使用页指针的搜索搜索页o-page#1中的分段227-到227-n及页o-page#2中的分段227-(n 1)到227-(n 3)以定位分段227-(n 3)。因而,页指针可减少搜索量。

区域240中分段242-2到242-pm*n的相应分段中的全0模式可为响应于块交换而写入到相应分段的信息且可为块里程碑记录。例如,分段242-2及242-3中的每一者存储块里程碑记录。此意味着块里程碑记录的数目(例如,块交换的次数)bm是二(2)。在一些实例中,块里程碑记录可称为块里程碑使用模式(例如,块里程碑使用序列)。例如,块里程碑记录项及块里程碑使用模式项可互换地用于指代区域240中的全0模式。

分段242-2到242-pm*n中的任一者中的全1模式可指示分段不含块里程碑记录且可用于接收块里程碑记录。例如,分段242-2到242-pm*n中的任一者中的全1模式可称为块里程碑未使用模式(例如块里程碑未使用序列)。

在一些实例中,图2b中的块215可已被换成先前作用块。例如,分段242-2中的块里程碑记录可已从先前作用块的区域240中的对应分段242-2复制。由于先前作用块在先前交换中被换成图2b中的块215,所以从先前作用块复制的块里程碑记录可已写入到先前作用块。

可响应于图2b中的块215被换成先前作用块而将分段242-3中的块里程碑记录写入到分段242-3。可响应于图2b中的块215被换成先前作用块而更新分段242-1的状态以指示块215是当前作用的。在交换后,计数电路112可擦除先前作用块且将先前作用块中分段242-1的块状态更新成非作用。

在存储器104的通电序列期间,计数电路112可通过从分段242-1读取块状态来确定块215是否作用。在确定作用块后,计数电路112可从bm*nc*n*pc n*nc确定初始化计数。以图2b为例,bm=区域240中的2个块里程碑记录,且n=区域225中的n 2个计数里程碑记录。应注意,n*nc是从最近块交换起的计数器108的增量数目且nc*n*pc是每块里程碑记录的计数器108的增量数目。

在一些实例中,无论计数器108是否已递增nc次,可将计数里程碑记录作为存储器104的断电序列的部分写入在分段227(例如,分段227-(n 2))中。但是,即使计数器108已递增小于nc个增量,但所述计数里程碑记录仍可被视作对应于计数器108的nc个增量。在一些实例中,可响应于存储器104断电前的最后安全命令而写入计数里程碑记录。

应注意,当假定事实上计数器108已递增小于nc个增量时写入到分段227-(n 2)的计数里程碑记录对应于计数器108的nc个增量时,在下一通电期间来将计数器108的计数设置为具有n=n 2的初始化计数将导致初始化计数大于最近断电时的计数器108的计数。

各种单调计数器可计数bm*nc*n*pc个计数。考虑每页具有n=128个分段的实例,每分段m=128个位,块215中p=512页,区域240中pm=8页,区域232中pp=8页,且每计数里程碑记录nc=128个增量。接着,bm=(pm*n)-1=(8*128)-1=1024-1=1023个块里程碑记录,且pc=p-pm-pp=512-8-8=区域225中的496页可用于计数。因而,bm*nc*n*pc=1023*128*128*496=8,313,372,672个计数。应注意,此超过可计数4,294,697,295(例如,232-1)个计数的32位计数器的计数。例如,先前实例的计数器可操作为32位计数器,其中额外可用计数允许归因于电力损失的错误及损失计数。

如先前所指示,可最初擦除块115-1及115-2两者。接着,可初始化块115-1及115-2。可在工厂中(例如,通过测试机)或在存储器104的首次通电序列期间由计数电路112现场执行初始化。在初始化期间,可初始化块中的一者,且可使另一块仍处于其中块的所有分段具有全1模式的擦除状态中。应注意,分段242-1(块状态区)中的全1模式指示块是非作用块。

在初始化块期间,可将块作用模式写入在区域240中的第一分段(例如,分段242-1)中,可将计数里程碑开始序列写入在区域225中的第一分段(例如,分段227-1)中,且可将指针作用模式写入在区域232中的第一分段(例如,分段235-1)中。应注意,块作用模式、计数里程碑开始序列及指针作用模式可具有m/2个0及接着m/2个1(例如,000000000…0111111111…1),如先前所描述。区域225、232及240中剩余分段中的每一者可保持具有全1模式的擦除状态。

分段242-1中存在块作用模式可指示块是作用的。分段235-1中存在指针作用模式可指示对应于分段235-1的指针是作用的且指针指向其第一分段242-1具有计数里程碑开始序列的作用页o_page#1。

在一些实例中,在存储器104的通电序列期间,计数电路112可通过搜索相应块中的区域240以确定哪个块在其分段242-1中具有块作用模式来确定哪个块是作用的。计数电路112确定具有块作用模式的块是作用块。但是,如果没找到块作用模式或块在其分段242-1中具有块作用模式且另一块在其分段242-1中具有损坏模式,那么计数电路112确定在最近块交换期间发生电力损失。例如,计数电路112可响应于确定在最近块交换期间发生电力损失而擦除将在交换后成为作用块的块且重复块交换以补偿电力损失且因此补偿计数的任何损失增量。

如果没有发生电力损失,那么计数电路112可在作用块的区域232中搜索具有指针作用模式的分段235以确定区域225中的哪页是作用的。应注意,由具有指针作用模式的分段235指向的页是作用页。但是,如果没找到指针作用模式,而是在被写入的区域232中的最后分段235中找到损坏模式,那么计数电路112确定在写入到最后分段时发生电力损失。

为补偿电力损失,计数电路112可将全0指针结束序列写入到具有损坏模式的分段且可将指针作用模式写入到下一分段,所述下一分段指向由具有损坏模式的分段指向的页后的区域225中的下一页。此可引起由具有损坏模式的分段指向的页无法存储计数里程碑记录。但是,计数电路112可在确定计数器108的计数时将损失页视作具有n个计数里程碑记录的满载页,使得计数单调递增。

如果在写入到区域232时未发生电力损失,那么计数电路112可在区域225中的作用页搜索具有计数里程碑结束序列的最后分段(例如,图2b中的分段227-(n 2))且可将所述分段确定为具有使用中的最后计数里程碑记录。但是,如果计数电路112代以找到具有开始序列或损坏模式的分段,那么计数电路112可确定在计数器108计数数据时发生电力损失,因为计数里程碑记录存储在先前分段中及/或将计数里程碑记录写入在具有损坏模式的分段中。响应于确定发生电力损失,计数电路112可通过将计数里程碑结束序列写入在具有开始序列或损坏模式的分段中来补偿电力损失且可将计数里程碑开始序列写入到区域225中的下一分段。

在通电序列期间,可将计数里程碑开始序列写入在区域225中的下一可用分段227中,且计数器108可响应于通电后接收在存储器104处的第一安全命令而从初始化计数递增。例如,可将计数里程碑开始序列写入到具有全1模式的下一分段227,例如图2b中的分段227-(n 3)。

计数器108可响应于每一接收安全命令而递增1,使得计数的值是初始化计数加上mt,其中mt是从通电起的计数器108的增量数目。应注意,计数可用作可与嵌入在安全命令中的新鲜度(例如,计数)比较以预防(例如)重放攻击的新鲜度。

响应于mt变成等于nc(例如响应于计数器递增nc次),可通过将计数里程碑开始序列变换(例如,转换)成计数里程碑结束序列(例如计数里程碑记录)(例如全0模式)来将计数里程碑记录写入到具有计数里程碑开始序列的分段227。举其中开始序列含有m/2个0及接着m/2个1的实例来说,将1编程成0可实现此。可响应于将计数里程碑结束序列写入到先前分段227而将计数里程碑开始序列写入到区域225中具有全1的下一分段227。

响应于区域225中的页满载,可将指针结束序列(例如具有全0模式)写入到指向所述页的区域232中的当前分段235。举其中当前分段235具有含有m/2个0及接着m/2个1的指针作用序列的实例来说,将1编程成0可实现此。接着,可将指针作用序列写入到区域232中的下一分段235以指向区域225中的下一页。

如果当前作用块的区域225中无可用页(例如,如果当前作用块的区域225中的所有分段存储计数里程碑结束序列,使得区域225满载),那么执行块交换序列,以使当前作用块与当前非作用块交换。例如,可响应于区域225中的所有分段具有计数里程碑结束序列且在一些实例中区域232中的所有分段具有指针结束序列而执行块交换序列。

在一些实例中,由于交换而变成非作用块的当前作用块可称为源块,且由于交换而变成作用块的当前经擦除非作用块可称为目标块。交换序列可包含响应于确定区域225满载而将来自源块的区域240复制到目标块的区域240。例如,可将源块中的分段242-2到242-pm*n分别复制到目标块中的分段242-2到242-pm*n。应注意,可将源块中分段242-2及242-3中的块里程碑使用模式(例如块里程碑记录)(参阅图2b)分别复制到目标块中的分段242-2及242-3。

接着,可响应于确定源块的区域225满载而将块里程碑使用模式写入到具有块里程碑未使用模式(例如全1模式)的目标块的区域240中的分段242-2到242-pm*n的第一分段。例如,可响应于确定源块的区域225满载而将块里程碑使用模式写入到目标块中的分段242-4,且将计数里程碑开始序列写入在目标块的区域225的第一分段(例如分段227-1)中。可响应于确定源块的区域225满载而将指针作用模式写入在目标块的区域232的第一分段(例如分段235-1)中。

可响应于确定源块的区域225满载而将瞬时模式(例如,块交换进行中模式)写入在源块的分段242-1中。例如,块交换进行中模式可为m/2个0及接着m/4个1及接着m/4个0的模式(例如,000000000…1111…10000…0)。但是,本公开不受限于此,而是可将其它位模式用于块交换进行中模式。可通过将块作用模式写入到目标块的分段242-1中来初始化(例如,启动)目标块。

在一些实例中,如果计数电路112在存储器104的通电序列期间检测到源块中的块交换进行中模式,那么计数电路112可确定在块交换期间发生电力损失。响应于确定在块交换期间发生电力损失,计数电路112可擦除目标块且重复块交换序列。如果没发生电力损失,那么可擦除源块,使得其可用于下一交换。应注意,擦除使源块变成非作用块。

使各种模式中的1及0重复相对较多次(例如,m可大于或等于128)可提供相对较高冗余度,其可补偿与一些非易失性存储器(例如nand存储器)相关联的相对较高位错误率。

应注意,当将1写成0时,可能发生错误,且可能无法将所有1写成0。例如,在0模式中可存在随机1。例如,在此类情况中,计数电路112可计数模式中的1。如果1的数目小于或等于阈值数量,那么计数电路112可忽视1且认为所有1已被编程成0。

图3是根据本公开的若干实施例的非易失性存储器单元的块350的示意图,块350可为本文中所揭示的各种块(例如块115-1、115-2或215)。例如,块350可为nand块。

块350包含串联耦合的存储器单元的群组(例如,nand串356-1到356-i)。nand串356-1到356-i中的每一者可包含串联耦合在选择晶体管360与选择晶体管362之间的存储器单元358-1到358-j。nand串356-1到356-i可响应于启动信号施加到共同耦合到选择晶体管362的栅极的选择线367而通过相应选择晶体管362来分别选择性耦合到数据线365-1到365-i(例如位线)。nand串356-1到356-i可响应于启动信号施加到共同耦合到选择晶体管360的栅极的选择线371而通过相应选择晶体管360来选择性耦合到共同源极369。

存取线373-1到373-j(例如字线)可分别共同耦合到存储器单元358-1到358-j的共同栅极。例如,存储器单元358的群组可在nand串356-1到356-n中的共同位置处共同耦合到相应存取线371。在一些实例中,共同耦合到存取线的存储器单元群组可为一页存储器单元。例如,分别共同耦合到存取线373-1到373-j的i个存储器单元的相应群组可为存储器单元的相应页。因而,块350中可存在j页存储器单元,其中每一者具有i个存储器单元。但是,本公开不受限于此,而是共同耦合到存取线的各个存储器单元群组可对应于页。

块350的j页的pc者可为区域225的页o_page#1到o_page#pc,块350的j页的pp者可为区域232的页p_page#1到p_page#pc,且块350的j页的pm者可为区域240的页m_page#1到m_page#pc。因而,j可为pc pp pc。块350的j页中的每一者可分成n个分段,其中每一分段中具有m个存储器单元,使得每一页可包含i=m*n个存储器单元358。

存储器单元358中的每一者可包含电荷存储结构378(例如浮动栅极或电荷捕捉层等等)及控制栅极380。通过编程电荷存储结构378的存储器单元358的vt变化可确定每一单元的数据状态。

存储器单元358可每单元存储单位或每单元存储多个位,例如每单元2个位、每单元3个位、每单元4个位等等。可将存储器单元编程到2r个数据状态的一者,其中r是每单元的位数。每一数据状态可对应于不同vt分布,且可将存储器单元编程到可对应于vt分布中的一者的vt。例如,针对每单元2个位,可将存储器单元编程到对应于四个数据状态11、10、01及00的一者的vt,及针对每单元1个位,可将存储器单元编程到对应于两个数据状态0及1中的一者的vt。

在一些实例中,块350可为可称为三维(3d)存储器阵列(例如三维nand存储器阵列)的堆叠存储器阵列的部分。在堆叠存储器阵列中,nand串356可相邻于半导体结构(例如垂直半导体柱),且nand串356中的存储器单元358可处于不同层级(例如,垂直层级)。共同耦合到存取线373的存储器单元358(例如一页存储器单元)可(例如)处于共同层级,且可形成存储器单元的层级,有时称为存储器单元的阶层。

在本公开的以上具体实施方式中,参考构成本公开的部分的附图,且附图中以说明方式展示可如何实践本公开的若干实施例。足够详细地描述此类实施例以使所属领域的技术人员能够实践本公开的实施例,且应了解,可利用其它实施例,且可在不背离本公开的范围的情况下作出工艺改变、电改变及/或结构改变。

如本文中所使用,“若干”或“一定数量”某事物可指代一或多个此类事物。例如,若干或一定数量存储器单元可指代一或多个存储器单元。“多个”某事物意指两个或更多个。如本文中所使用,术语“耦合”可包含电耦合、直接耦合及/或无介入元件的直接耦合(例如通过物理接触)、通过介入元件的间接耦合及/或连接、或无线耦合。术语“耦合”可进一步包含彼此协作或交互(例如呈因果关系)的两个或更多个元件。

尽管本文中已说明及描述特定实施例,但所属领域的技术人员应了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本公开希望涵盖本公开的若干实施例的调适或变动。应理解,以说明性方式且非限制性方式进行上文描述。所属领域的技术人员在审阅上文描述之后应明白上文实施例的组合及本文未明确描述的其它实施例。本公开的若干实施例的范围包含其中使用以上结构和方法的其它应用。因此,本公开的若干实施例的范围应参考所附权利要求书以及此类权利要求书所授权的等效物的整个范围来确定。

在前述具体实施方式中,出于简化本公开的目的,一些特征被一起分组在单个实施例中。本公开的此方法不应解释为反映本公开的所揭示实施例必须使用多于在每一权利要求中明确叙述的特征的意图。而是,如所附权利要求书反映,发明标的物存在于少于单个所揭示实施例的全部特征。因此,所附权利要求书特此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜