非易失性存储器中的存储器扇区注销的制作方法

文档序号:16692395发布日期:2019-01-22 19:01阅读:238来源:国知局
非易失性存储器中的存储器扇区注销的制作方法

本公开大体上涉及非易失性存储器,且更具体地说,涉及非易失性存储器中的扇区注销。



背景技术:

电可擦除可编程只读存储器(electricallyerasableprogrammablereadonlymemory,eeprom)仿真(eee)系统是一种非易失性存储器,其使用非eeprom型存储器提供字节和/或字组编程和擦除能力。举例来说,易失性随机存取存储器(randomaccessmemory,ram)可连同快闪存储器一起使用以提供eee系统。典型的快闪存储器单元使用存储器单元的阈值电压以确定存储的逻辑状态。在快闪存储器变成不可靠之前,快闪存储器单元具有有限数量的编程和擦除操作。大多数编程失败(failure-to-program,ftp)的出现是由于通常被称为中断和编程干扰的机制。

存储器阵列的某些区域可能比其它区域更弱,且由此将更快损耗。有时,失效存储器可以被复原,使得它再次起作用。无法被复原的失效存储器部分被注销或不再被使用,且从服务中被移出。如果损耗掉的非易失性存储器区域被注销,那么所述系统的使用寿命可以延长。然而,当编程和擦除循环次数较高时,由于ftp次数较多,存储器性能开始受损。因此,需要一种方法来提高非易失性存储器在其使用寿命结束时或接近其结束时的性能。



技术实现要素:

根据本发明的第一方面,提供一种方法,包括:

配置非易失性存储器阵列以具有多个扇区,所述多个扇区中的每一个扇区具有多个记录位置;

为编程操作选择所述非易失性存储器的扇区的记录位置;

确定所述扇区的预定数量的所选编程操作记录位置未能编程,其中所选记录位置的所述预定数量少于所述扇区中的记录位置的总数;

为所述扇区设定失效扇区标签;

确定失效扇区的所述预定数量的所选记录位置两次未能在所述扇区中编程;

确定已超过了所述扇区的擦除操作的预定数量;以及

注销所述扇区。

在一个或多个实施例中,所述方法进一步包括:

响应于为所述扇区设定所述失效扇区标签,从所述扇区复制有效的数据到第二扇区;以及

标记所述扇区以进行擦除。

在一个或多个实施例中,所述方法进一步包括:

选择用于编程操作的第二扇区;

确定所述第二扇区的所述预定数量的所选编程操作记录位置未能在所述第二扇区中编程;

确定所述第二扇区的所述失效扇区标签被事先设定;

确定已超过了所述第二扇区的擦除操作的预定数量;

注销所述第二扇区;

为所述注销的第二扇区设定注销扇区标签;以及

选择用于编程操作的第三扇区。

在一个或多个实施例中,所述方法进一步包括从所述注销的第二扇区复制有效的数据到所述第三扇区。

在一个或多个实施例中,所述非易失性存储器是在电可擦除可编程只读存储器(eeprom)仿真系统中。

在一个或多个实施例中,所述预定数量的所选记录位置被连续选择。

在一个或多个实施例中,擦除操作的所述预定数量约等于10,000,而所选记录位置的预定数量等于三。

在一个或多个实施例中,在任何一个时间,所述多个扇区中仅有一个扇区被激活用于编程操作。

根据本发明的第二方面,提供一种用于操作具有多个扇区的非易失性存储器的方法,每一扇区具有多个记录位置,所述方法包括:

选择用于多个编程操作的所述多个扇区中的第一扇区;

为编程操作选择所述第一扇区的记录位置;

确定所述第一扇区的所述记录位置未能编程;

在所述记录位置未能进行所述编程之后,确定用于编程操作的所述第一扇区的预定数量的所选记录位置未能编程,其中所选记录位置的所述预定数量少于所述第一扇区中的记录位置的总数;

为所述第一扇区设定失效扇区标签;

确定所述第一扇区的所述失效扇区标签已被事先设定;

确定已超过了所述第一扇区的擦除操作的预定数量;

注销所述第一扇区;

为所述注销的第一扇区设定注销扇区标签;以及

选择用于编程操作的第二扇区。

在一个或多个实施例中,所述非易失性存储器是电可擦除可编程只读存储器(eeprom)仿真系统的部分。

在一个或多个实施例中,所述预定数量的所选记录位置被连续选择。

在一个或多个实施例中,擦除操作的所述预定数量约等于10,000,而所选记录位置的所述预定数量等于三。

在一个或多个实施例中,所述方法进一步包括:

响应于为所述第一扇区设定所述失效扇区标签,从所述第一扇区复制有效的数据到所述第二扇区;以及

标记所述第一扇区以进行擦除。

在一个或多个实施例中,在任何一个时间,所述多个扇区中仅有一个扇区被激活用于编程操作。

根据本发明的第三方面,提供一种数据处理系统,包括:

非易失性存储器阵列,其被布置成具有多个扇区,每一个扇区被布置成具有多个记录位置;以及

耦合到所述非易失性存储器阵列的存储器控制器,所述存储器控制器被布置成控制所述非易失性存储器阵列的存储器单元的编程、读取和擦除操作,所述存储器控制器包括:

失效扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储失效扇区标签,响应于扇区的预定数量的记录位置未能编程而对所述扇区设定所述失效扇区标签;

擦除计数存储器,其被配置成存储所述多个扇区中的每一个扇区的擦除操作数量的擦除计数;以及

注销扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储注销扇区标签,响应于扇区的所选记录位置两次未能按预定次数编程且所述扇区的所述擦除计数超过预定擦除计数而对所述扇区设定所述注销扇区标签。

在一个或多个实施例中,所述非易失性存储器是电可擦除可编程只读存储器(eeprom)仿真系统的部分。

在一个或多个实施例中,所述数据处理系统进一步包括:

耦合到所述非易失性存储器阵列的系统互连件;以及

耦合到所述系统互连件的处理器,所述处理器用于处理从所述非易失性存储器阵列检索到的记录。

在一个或多个实施例中,所述失效扇区标签存储器、所述擦除计数存储器和所述注销扇区标签存储器是所述非易失性存储器阵列中的存储位置。

在一个或多个实施例中,所述存储器控制器被布置成确定所述多个扇区中的哪一扇区被激活用于编程操作。

在一个或多个实施例中,所述数据处理系统进一步包括耦合到所述存储器控制器的易失性存储器。

本发明的这些和其它方面将根据下文中所描述的实施例显而易见,且参考这些实施例予以阐明。

附图说明

本发明借助于例子示出且不受附图的限制,在附图中类似标记指示类似元件。为简单和清晰起见,示出图中的元件,并且这些元件未必按比例绘制。

图1示出根据实施例的数据处理系统的框图。

图2更详细地示出图1的非易失性存储器阵列。

图3示出根据实施例的用于标识注销扇区的方法的流程图。

具体实施方式

一般而言,提供具有多个扇区和控制电路的非易失性存储器。所述多个扇区中的每一个扇区包括多个记录位置。控制电路包括擦除计数器、失效扇区标签和注销扇区标签。活跃扇区的记录位置可能因为例如中断或编程干扰而编程失败(ftp)。如果记录位置未能编程,那么扇区中的另一位置被选择编程。如果预定数量的所选记录位置未能编程,那么设定所述失效扇区标签。所选记录位置的预定数量可以被连续选择。如果特定扇区被第二次设定所述失效扇区标签且擦除计数器具有预定擦除计数,那么设定注销扇区标签,表明所述扇区被永久注销使用。所述多个扇区中的新扇区成为用于记录编程操作的当前活跃扇区。用于注销扇区的方法在所述数据处理系统的操作期间动态地进行。提供失效扇区标签以指示潜在地失效的扇区可以在存储器的完整寿命期间提供高存储器性能,且通过提供适当严格的用于识别注销扇区的标准来减小存储器的测试时间。

在一个实施例中,提供一种方法,其包括:配置非易失性存储器阵列以具有多个扇区,所述多个扇区中的每一个扇区具有多个记录位置;为编程操作选择所述非易失性存储器的扇区的记录位置;确定所述扇区的预定数量的所选编程操作记录位置未能编程,其中所选记录位置的所述预定数量少于所述扇区中的记录位置的总数;为所述扇区设定失效扇区标签;确定失效扇区的所述预定数量的所选记录位置两次未能在所述扇区中编程;确定已超过了所述扇区的擦除操作的预定数量;以及注销所述扇区。所述方法可进一步包括:响应于为所述扇区设定所述失效扇区标签,从所述扇区复制有效的数据到第二扇区;以及标记所述扇区以进行擦除。所述方法可进一步包括:选择用于编程操作的第二扇区;确定所述第二扇区的所述预定数量的所选编程操作记录位置未能在所述第二扇区中编程;确定所述第二扇区的所述失效扇区标签被事先设定;确定已超过了所述第二扇区的擦除操作的预定数量;注销所述第二扇区;为所述注销的第二扇区设定注销扇区标签;以及选择用于编程操作的第三扇区。所述方法可进一步包括从所述注销的第二扇区复制有效的数据到所述第三扇区。非易失性存储器可以在电可擦除可编程只读存储器(electricallyerasableprogrammablereadonlymemory,eeprom)仿真系统中。所选记录位置的预定数量可以被连续选择。擦除操作的预定数量约等于10,000,而所选记录位置的预定数量等于三。在任何一个时间,所述多个扇区中仅有一个扇区被激活用于编程操作。

在另一实施例中,提供一种用于操作具有多个扇区的非易失性存储器的方法,每一扇区具有多个记录位置,所述方法包括:选择用于多个编程操作的所述多个扇区中的第一扇区;为编程操作选择所述第一扇区的记录位置;在所述记录位置未能进行所述编程之后,确定用于编程操作的所述第一扇区的预定数量的所选记录位置未能编程,其中所选记录位置的所述预定数量少于所述第一扇区中的记录位置的总数;为所述第一扇区设定失效扇区标签;确定所述第一扇区的所述失效扇区标签已被事先设定;确定已超过了所述第一扇区的擦除操作的预定数量;注销所述第一扇区;为所述注销的第一扇区设定注销扇区标签;以及选择用于编程操作的第二扇区。非易失性存储器可以是电可擦除可编程只读存储器(eeprom)仿真系统的部分。所选记录位置的预定数量可以被连续选择。擦除操作的预定数量约等于10,000,而所选记录位置的预定数量等于三。所述方法可进一步包括:响应于为所述第一扇区设定所述失效扇区标签,从所述第一扇区复制有效的数据到所述第二扇区;以及标记所述第一扇区以进行擦除。在任何一个时间,所述多个扇区中仅有一个扇区被激活用于编程操作。

在又一实施例中,提供一种数据处理系统,其包括:非易失性存储器阵列,其被布置成具有多个扇区,每一个扇区被布置成具有多个记录位置;以及耦合到所述非易失性存储器阵列的存储器控制器,所述存储器控制器被布置成控制所述非易失性存储器阵列的存储器单元的编程、读取和擦除操作,所述存储器控制器包括:失效扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储失效扇区标签,响应于扇区的预定数量的记录位置未能编程而对所述扇区设定所述失效扇区标签;擦除计数存储器,其被配置成存储所述多个扇区中的每一个扇区的擦除操作数量的擦除计数;以及注销扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储注销扇区标签,响应于扇区的所选记录位置两次未能按预定次数编程且所述扇区的所述擦除计数超过预定擦除计数而对所述扇区设定所述注销扇区标签。非易失性存储器可以是电可擦除可编程只读存储器(eeprom)仿真系统的部分。所述数据处理系统可进一步包括:耦合到所述非易失性存储器阵列的系统互连件;以及耦合到所述系统互连件的处理器,所述处理器用于处理从所述非易失性存储器阵列检索到的记录。失效扇区标签存储器擦除计数存储器和注销扇区标签存储器可以是非易失性存储器阵列中的存储位置。存储器控制器可被布置成确定所述多个扇区中的哪一扇区被激活用于编程操作。数据处理系统可进一步包括耦合到存储器控制器的易失性存储器。

图1示出根据实施例的数据处理系统10的框图。数据处理系统10包括系统互连件12、处理器14、电可擦除可编程只读存储器(eeprom)仿真(eee)系统16和其它模块18。处理器14、eee存储器系统16、其它模块18中的每一个双向耦合到系统互连件12。系统互连件12可以是任何类型的用于互连数据处理系统10的各种部分的系统,例如系统总线、纵横接线器、点到点连接、光学和无线传输技术。eee存储器系统16包括随机存取存储器(ram)20、存储器控制器22和非易失性存储器(non-volatilememory,nvm)阵列30。nvm阵列30可以是闪存阵列或任何使用半导体基板形成的其它类型的nvm阵列。存储器控制器22包括扇区管理逻辑24。扇区管理逻辑24包括用于失效扇区标签26、擦除计数27和注销扇区标签28的存储器。在一个实施例中,失效扇区标签26、擦除计数27和注销扇区标签28被存储在定位于扇区管理逻辑24中的寄存器中。在另一实施例中,失效扇区标签26、擦除计数27和注销扇区标签28被存储在nvm阵列30中或数据处理系统10的另一存储器中。复位信号被提供到处理器14和存储器控制器22。这个复位信号可以是例如用于数据处理系统10的全局复位信号。

ram20可以是易失性存储器,例如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)。ram20双向耦合到系统互连件12和存储器控制器22。存储器控制器22耦合到系统互连件12和nvm阵列30。扇区管理逻辑24耦合到nvm阵列30。存储器控制器22被配置成通过包括地址信号address、编程数据信号writedata、读取数据信号readdata和nvm控制信号nvmcontrol的信号与nvm阵列30通信。

处理器14可以是任何类型的处理器或处理器核心,例如微处理器、微控制器数字信号处理器(digitalsignalprocessor,dsp)和其类似者,或可以是任何可访问eee系统16的其它类型的互连件主控器。其它模块18可包括任何类型的模块或电路,例如另一存储器、另一处理器、另一互连件主控器、外围装置、输入/输出(input/output,i/o)装置和其类似者。替代地,数据处理系统10中可能不存在任何其它模块。

在操作中,处理器14可发送访问请求(读取、写入或编程访问请求)到eee存储器系统16。来自处理器14的访问请求被提供到ram20,所述访问请求包括访问地址,并且在写入或编程访问的情况下,包括相关联的写入数据。在读取访问的情况下,ram20将存储在接收到的访问地址位置处的数据提供到处理器14。在写入访问的情况下,ram20将接收到的写入数据存储在接收到的访问地址位置处。进一步在写入访问的情况下,存储器控制器16可检测到ram20的这种更新,并且选择性地以逻辑上的顺序方式将接收到的访问地址和相关联的写入数据存储到nvm阵列30的活跃扇区。举例来说,在对ram20更新(写入)的情况下,接收到的访问地址和相关联的写入数据被用于形成编程在nvm阵列30的下一个可获得的记录或数据位置处的记录。这个随后可获得的记录位置在逻辑上与在紧接在前的nvm阵列30的加载期间加载的记录位置成顺序。在一个例子中,对应于ram更新的记录写入仅在目前存储在ram位置处的值不同于与用于那一ram20位置的写入访问请求相关联的新写入值时被执行(或存储在nvm阵列30中)。以此方式,nvm阵列30可以更永久性的方式存储ram20的更新值。也就是说,当ram20断电时,它的数据丢失。一旦恢复供电,则ram20的值可以从nvm阵列30复原(例如,读取),所述nvm阵列30在断电后不会丢失其数据。在一个实施例中,nvm阵列30比ram20具有更多存储容量。举例来说,nvm阵列30可具有至少比ram20大四倍的容量,且通常比该值大得多。

图2更详细地示出图1的nvm阵列30的实施例。非易失性存储器阵列30被布置成多个扇区,其表示为扇区32、34和36。扇区32、34和36中的每一个扇区被布置成在图2中通过扇区32中的记录位置40、42、44、46、48、50、52、54和56展现的多个记录位置。

在操作变得不可靠之前,非易失性存储器阵列30具有有限数量的编程/擦除循环。一种增加nvm阵列30的使用寿命的方法是包括配置成若干扇区的较大存储器阵列,其中每一扇区的容量对应ram20容量。存储器控制器22控制哪一扇区被激活用于编程操作。一次只有一个扇区可以是活跃的。擦除计数器和擦除计数存储器27保存每一扇区的擦除操作的数量的记录。一般来说,使用与校验操作交错的数个编程脉冲的常规编程过程来编程记录以及记录位置。在一个实施例中,可以用加密/解密密钥来编程记录。随着编程和擦除操作的数量增加,编程操作失效的概率增加。响应于活跃扇区的预定数量的记录位置未能编程,设定存储器26中的失效扇区标签。在一个实施例中,失效编程位置的预定数量被连续选择。在存储器26中存在对应于nvm30的每一扇区的失效扇区标签。在一个实施例中,响应于扇区的所选连续记录位置两次未能按预定次数编程且扇区的擦除计数超过预定擦除计数而设定存储器28中的注销扇区标签。存储器28中对于nvm30中的每一扇区存在注销扇区标签。应注意,确定扇区失效两次可以发生在不同连续记录位置。失效不一定发生在相同组连续记录位置上。连续记录位置是在时间上连续访问且在相同扇区中的记录位置。

触发存储器26中的失效扇区标签的失效记录位置的预定数量(pn1)可通过本说明书或对于一个eee写入和后矽特性的需求确定。举例来说,如果后矽特性确定四个ftp导致eee写入不合规格或耗费过多时间,那么pn1可以被选择为三。并且,在存储器的完整使用寿命期间可以从nvm扇区预期的擦除操作的预定数量(pn2)可以通过进行后矽特性来确定。举例来说,如果确定在设定失效扇区标签之前可预期10,000次擦除循环,那么pn2可以被设定成10,000。

一个用于做出是否注销扇区的动态确定的实施方案可以包括使用两个决策信号作为借助固件或软件逻辑比较pn1和pn2的结果,其中

用于每一扇区的失效扇区标签和注销扇区标签可以被存储在专用nvm空间中或一些其它可获得的非易失性存储器位置中。

图3示出根据实施例的方法60的流程图。方法60是一种用于识别失效扇区和响应于检测到失效记录位置注销扇区的方法。方法60开始于步骤62。在步骤64,准备在nvm阵列30的目前活跃扇区中编程记录。编程初始化包括对准备用于编程的数据的命令项检验和地址/数据检验。在步骤66,尝试在目前活跃扇区中编程记录。在决策步骤68,确定记录是否未能编程。如果被编程位通过编程校验步骤且应保持被擦除的位通过擦除裕量读取步骤,那么编程成功。如果记录在活跃扇区中成功地编程,那么采用否(no)路径到步骤70。在步骤70,编程完成。如果在决策步骤68处记录未能编程,那么采用是(yes)路径到决策步骤72。在决策步骤72处,确定连续编程失败(ftp)记录位置的数量是否大于预定数量pn1。预定数量pn1小于扇区中的记录位置的数量,且通常少得多。在一个实施例中,pn1等于三。在另一实施例中,pn1可以不同。如果ftp数量小于或等于pn1,那么采用否路径到步骤74。在步骤74,事先未能编程的记录准备被编程于下一个记录位置中。在决策步骤76处,确定当前活跃扇区是否已满。如果当前活跃扇区已满,那么采用是路径到步骤78,其中选择新活跃扇区且方法60在步骤64处继续。如果当前活跃扇区不满,那么采用否路径回到步骤66,其中方法60如前所述继续。然而,如果在决策步骤72确定ftp数量大于pn1,那么采用是路径到决策步骤80。在决策步骤80处,确定存储在存储位置26中的失效扇区标签是否已经被事先设定。如果活跃扇区尚未被设定失效扇区标签,那么采用否路径到步骤82,其中当前活跃扇区被设定失效扇区标签。在步骤84,选择新活跃扇区。在步骤86,有效的数据(若存在)从在步骤82标记为失效的扇区被复制到新活跃扇区,且失效的扇区被标记以进行擦除。在失效扇区被擦除之后,失效扇区变成设定失效扇区标签的就绪扇区。方法60继续回到步骤64,其中响应于将新记录编程到活跃扇区的需要而重复所述步骤。如果在决策步骤80处失效扇区标签已经被事先设定,其表明这是相同扇区第二次未能编程,那么采用是路径到决策步骤88。在决策步骤88处,确定存储在擦除计数存储器27中的擦除计数是否大于擦除的预定数量pn2。擦除的预定数量pn2是在失效之前nvm30所预期完成的擦除数量。数量pn2可通过实验或一些其它手段确定。在一个实施例中,数量pn2约等于10,000。如果擦除计数小于或等于pn2,那么采用否路径回到步骤86。如果擦除计数大于pn2,那么扇区接近或已到达其预期的寿命,且将被注销。从决策步骤88采用是路径到步骤90。在步骤90,对于待被注销的失效扇区,设定存储位置28中的注销扇区标签。在步骤92,选择新活跃扇区。在步骤94,有效的数据(若存在)从注销扇区被复制到新活跃扇区。方法60随后返回到步骤64。应注意在方法60中,在失效扇区标签被设定之后,且在扇区被注销之前,所述扇区被允许再失效一次。在另一实施例中,在注销之前,扇区可以失效超过两次。

在数据处理系统10的操作期间动态地执行用于注销扇区的方法60。结合擦除数量基于连续ftp的预定数量提供失效标签以指示潜在地失效的扇区在存储器的完整寿命期间提供高存储器性能,且通过提供适当严格的标准以识别用于注销的扇区来减小存储器的测试时间。

由于实施本发明的设备大部分由本领域的技术人员已知的电子组件和电路组成,因此为了理解和了解本发明的基本概念并且为了不混淆或偏离本发明的教示,将不会以比上文所示出的认为必要的任何更大程度阐述电路细节。

虽然本文中参考具体实施例描述了本发明,但是可以在不脱离如所附权利要求书中所阐述的本发明的范围的情况下进行各种修改和改变。相应地,本说明书和图式应以说明性而非限制性意义看待,并且全部此类变体意图被包括于本发明的范围内。本文中对于具体实施例描述的任何优势、优点或问题解决方案并不意图被理解为任何或全部权利要求的重要的、需要的或基本特征或元素。一般来说,在上述实施例的金属-氧化物半导体(metal-oxidesemiconductor,mos)晶体管中,源极或漏极可被称为电流电极,而栅极可被称为控制电极。其它实施例中可以使用其它晶体管类型。

如本文中所使用,术语“耦合”并不旨在局限于直接耦合或机械耦合。

此外,如本文中所使用,术语“一”被限定为一个或超过一个。而且,权利要求书中例如“至少一个”和“一个或多个”等介绍性短语的使用不应被解释为暗示由不定冠词“一”导入的另一权利要求要素将含有此导入的权利要求要素的任何特定权利要求限于仅含有一个此要素的发明,甚至是在同一权利要求包括介绍性短语“一个或多个”或“至少一个”和例如“一”等不定冠词时。上述同样适用于定冠词的使用。

除非另外说明,否则例如“第一”和“第二”等术语用于任意地区别这些术语所描述的元件。因此,这些术语未必意图指示此些元件的时间上的优先级或其它优先级。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1