使从非易失性存储设备读取成为可能的系统和方法

文档序号:6739935阅读:191来源:国知局
专利名称:使从非易失性存储设备读取成为可能的系统和方法
使从非易失性存储设备读取成为可能的系统和方法技术领域
本公开涉及非易失性半导体设备的领域,并且更具体地涉及使加电时从非易失性存储设备读取成为可能。
背景
每当设备开启时,存在对记住在半导体设备中输入或者得到的条件的状态的需要。通常,当计算系统关闭时,在计算系统中使用非易失性存储器(NVM)设备以存储计算系统的状态。当计算系统被重新开启时,为了正确的操作,状态被恢复。目前,非易失性存储器锁存器(NVL)被用作这些计算系统的数据存储设备以保留和提供数据,例如读取参数以及在计算系统的加电时的某些配置信息。典型的NVL是被用作由定时信号控制的临时存储设备的触发器,该临时存储设备可以存储O或者I。NVL在加电时自动重调先前在测试或者制造期间写入到它们中的参数和配置信息。这些信息通常用于控制半导体芯片设备的电路。然而,除NVM之外,NVL还需要在硅上的额外的基板面。此外,NVL的测试是重要的,并且需要特别的注意来在加电时?;た刂菩藕乓匀繁4覰VL重调数据。因此,设计数据的防误操作加电重调是有挑战性的。
另一个记住在设备加电时的参数和其它配置信息的方法是从类似于上述NVL的非易失性静态随机存取存储器(nvSRAM)读取它们。甚至另一个重调参数的方法是使用包含这些参数的片外存储器,但是假定这些参数的值可以对每个特定芯片获取,并在需要的时间一经请求就被提供。
附图简述
本发明作为例子而不是限制在附图的图中被示出,其中:


图1是示出了根据本发明的实施方式的NVM系统的方框图。
图2是示出了根据本发明的实施方式的NVM系统的方框图。
图3是示出了根据本发明的实施方式的在加电时从NVM读取的方法的流程图。
图4A是示出了根据本发明的实施方式的验证在加电时从NVM正确读取的方法的流程图。
图4B是示出了根据本发明的实施方式的验证在加电时从NVM正确读取的方法的流程图。
图5是示出了根据本发明的实施方式的在加电时从NVM读取的方法的流程图。
详细描述
在本申请中提供了使在加电时从非易失性存储器读取成为可能的系统和方法。特别地,读出参数最初被设置到第一值来读取存储在NVM设备中的数据。使用被设置到第一值的读出参数从NVM设备的多个存储单元读取多个等值。当等值没有从NVM设备的多个存储单元被正确地读取时,读出参数被设置到一个或者多个第二值。当等值被正确地读取时,从等值确定读出参数的一个或者多个第三值,且读出参数被设置为一个或者多个第三值。一个或者多个第三值用于NVM设备的未来读取。在一个实施方式中,一个或者多个第三值是用于NVM设备的未来读取的最佳设定。
在以下的详细描述中,出于解释的目的,阐述了许多具体细节,以便提供对本申请的主题的彻底的理解。然而,对于本领域中的技术人员很明显,所公开的实施方式、所声明的主题以及它们的等价形式可以在没有这些具体细节的情况下被实践。在其他例子中,熟知的电路、结构和技术并没有详细显示,而是以框图进行表示,以避免不必要地使得本发明难以理解。
在本描述中对“一个实施方式”或者“实施方式”的提及意味着,结合实施方式描述的特定的特征、结构或者特性包括在本发明至少一个实施方式中。在本描述中位于不同地方的短语“在一个实施方式中”并不一定指的是同一实施方式。
图1是示出了根据本发明的实施方式的NVM系统100的方框图。在一个实施方式中,NVM系统100包括NVM设备102以及与NVM设备102通信的控制器设备110。NVM设备102包括参数存储区104。在一个实施方式中,NVM设备102包含如在此描述的NVM单元的阵列。NVM系统100还包括与NVM设备102通信的一个或者多个读取控制电路106,其起作用来从NVM设备102的参数存储区104读取数据值。NVM系统100还包括与NVM设备102通信的一个或者多个写入控制电路108,其起作用来将数据值写入到NVM设备102中。
在一个实施方式中,控制器设备110包括片上硬件(例如,CPU和R0M/RAM),其起作用来使用从NVM设备102读取的数据值和写入到NVM设备102的参数存储区104中的数据值执行一些数学运算。
参数存储区104包括多个存储单元,所述存储单元包括通常在加电前被确定并在NVM设备102的制造和/或测试期间被写入到参数存储区104中的等值和等值的预定校验和。在加电时,控制器设备110起作用来确定等值和等值的预定校验和。等值和预定校验和由写入控制电路108写入到NVM设备102的参数存储区104的多个存储单元中。在一个实施方式中,预定校验和被存储在NVM设备102的多个存储单元的另一个存储单元中。在一个实施方式中,在加电时,控制器设备110起作用来设置第一读出参数,所述第一读出参数用于从NVM设备102的参数存储区104中的存储单元读取数据。在另一个实施方式中,在加电时,读取控制电路106起作用来使用第一读出参数从存储单元读取。在一个实施方式中,参数存储区104的多个存储单元中的每个存储单元储存等值和预定校验和。在可选的实施方式中,少于所述多个存储单元的全部的存储单元可以存储等值和预定校验和。在另一个实施方式中,单个存储单元可以用于存储等值和预定校验和。在一个实施例中,数据值被设置到单个存储单元中的一个或者多个可识别位。在另一个实施例中,数据值被设置到单个存储单元中的已知位模式。从单个存储单元读取的数据值用于确定两个不同的值是否正确地被读取,并且检查它们是相同的或者以相同的方式被预先确定??裳〉?,如本领域中的技术人员所认识到的,可以实现其它方法来验证在多于一个存储单元中的数据。
控制器设备110起作用来使用第一读出参数验证等值是否在NVM设备102的参数存储区104中的存储单元处被正确地读取。在一个实施方式中,控制器设备110起作用来在等值使用第一读出参数没有正确地被读取时设置用于从NVM设备102的参数存储区104中的存储单元进行读取的第二读出参数。在另一个实施方式中,控制器设备110起作用来在等值使用第一读出参数正确地被读取时使用第一读出参数确定第三读出参数,并设置用于从NVM设备102的参数存储区104中的存储单元未来读取的第三读出参数。在一个实施方式中,存储在存储单元中的等值是表示第三读出参数的值。在另一个实施方式中,第三读出参数的值不同于第一读出参数的值。
在其它实施方式中,读取控制电路106起作用来从来自NVM设备102的参数存储区104的多个存储单元反复读出数据值,直到等值被正确地读出为止。在另一个实施方式中,控制器设备110还计算从参数存储区104的存储单元读取的数据值的校验和。在一个实施方式中,数据值的所计算的校验和是电流校验和。在另一个实施方式中,控制器设备110起作用来将校验和与预定校验和相比较。在一个实施方式中,如果校验和比较失败,控制器设备110起作用来设置用于从NVM设备102的参数存储区104中的存储单元读取的第二读出参数。在另一个实施方式中,如果校验和比较通过,控制器设备110起作用来设置用于从NVM设备102的参数存储区104中的存储单元未来读取的第三读出参数。
图2是示出了根据本发明的实施方式的NVM系统200的方框图。类似于图1,NVM系统200包括NVM设备102、写入控制电路108和控制器设备110。在NVM系统200的实施方式中,图1的读取控制电路106是在NVM设备102中设置的一个或者多个读出放大器204。读出放大器204起作用来读取在NVM设备102中流动的电流。NVM系统200还包括与控制器设备110和一个或者多个读出放大器204通信的电流数模转换器(IDAC)202。IDAC 202是可编程电流源。IDAC 202被配置为接收数字值并提供相应的电流。IDAC 202可以被配置为接收读出参数,例如存储在参数存储区104中的数据值。当IDAC 202接收不同的数字值时,IDAC 202提供不同的相应的电流。在本实施方式中,读出参数的值是NVM设备102的读出窗口的基准电流(IMf)。尽管在以上所描述的这个实施方式中,所公开的读出参数的值是基准电流(IMf),本领域中的普通技术人员将认识到,其它读出参数例如基准电压、电源调节器、定时等可以被用作读出参数,如受益于本公开的本领域普通技术人员将认识到的。
基准电流(Iref)被选择成在被擦除单元电流和被编程单元电流之间的大约中间。通过IDAC 202将I,ef转换为模拟电流,其也被称为基准电流(Iref)并用作读出放大器204的输入。读出放大器204起作用来读取NVM设备102中的电流,所述电流与基准电流(Iref)相比较。当NVM设备102传导多于基准电流(Iref)的电流时,读出放大器204输出“O”值,且NVM设备102被视为被擦除单元设备(例如,“0N”设备)。相反,当NVM设备102传导少于基准电流值(Iref)的电流时,读出放大器204输出“I”值,且NVM设备102被视为被编程单元设备(例如,“OFF”设备)。在加电之前,(在生产测试期间)读出参数值和预定校验和值被确定并由写入控制电路108写入到参数存储区104的存储单元(例如,位)中。在一个实施方式中,在制造测试期间,为了确定读出参数值,NVM设备的行为关于读取和写入被特征化。此外,如本文下面描述的,使用读出参数值来对多个存储单元数学地计算预定校验和。读出参数值是基准电流(IMf)和斜率。从NVM设备102读取的电流随温度而变化,且斜率起作用来抵消温度变化对在NVM设备102中读取的电流的有效性的影响。因此,斜率用于调整在温度范围内的IMf行为。
作为例子,5个位用于Iref设定,并且2个位用于斜率设定,这两者均装入参数存储区104的单8位字节。因此,在生产测试期间,5个字节被写入到参数存储区104的同一8位等值。这个8位值是对IMf和斜率的读出参数设定。此外,在加电之前,在生产测试期间,在这些5个字节中计算2字节预定校验和。对于这个实施例,2字节预定校验和如下被计算,并被写入到参数存储区104中:
预定校验和=0-((字节I到5的和)+OxEB)
上面的OxEB是十进制值235的十六进制表示。参考上面的实施例,在加电时,控制器设备110起作用来设置或者分配8位值给读出参数。读出放大器204从包含Iref和斜率的5个字节读取连续字节的数据值。连续字节的所读取的数据值由控制器设备110比较,直到对这5个字节的数据值的正确读取发生。当正确地读取了这5个字节的数据值时,控制器设备110还计算被读取的这5个字节的电流校验和,并与预定校验和相比较。在一个实施方式中,如果校验和比较失败,控制器设备110起作用来将新值分配到Iref和斜率作为读出参数值,并使用Iref和斜率的新值从这5个字节反复地读取和比较连续字节。在另一个实施方式中,如果校验和通过,从这5字节读取的数据值被分配给Iref和斜率的新值并应用于未来的读取。尽管在上面的实施例中,5个位用于Iref设定,且2个位用于斜率,但不同数量的位可以用于Iref设定和斜率,如受益于本公开的本领域普通技术人员将认识到的。
图3是使从非易失性存储设备读取成为可能的方法的一个实施方式的流程图。通过处理逻辑来执行方法300,该处理逻辑可以包括硬件(电路、专用逻辑等)、软件(例如,在通用计算系统或者专用机器上运行的软件)、固件(嵌入的软件)、或者其任何组合。在一个实施方式中,图1和2的控制器设备110执行方法300??裳〉?,NVM系统100、NVM系统200或者这两者的其它组件可以执行方法300的一些操作或者所有操作。
参考图3,处理逻辑在加电时从块310开始,在块310读出参数被设置到第一值。这个读出参数用于读取存储在NVM设备102中的数据。在块320,使用设置在第一值的读出参数读取NVM设备102的多个存储单元。如以上所提及的,NVM设备102的存储单元存储等值。在一个实施方式中,等值是预定值。在块330,验证等值是否从NVM设备102的多个存储单元被正确地读取。这基于设置在第一值的读出参数来验证以确保读取的精确度。在块340,当使用设置在第一值的读出参数没有正确地读取等值时,读出参数被设置到第二值。在块350,使用设置在第二值的读出参数读取NVM设备102的存储单元。在块360,当等值被正确地读取时,从等值确定读出参数的第三值。在块370,读出参数被设置到第三值。在一个实施方式中,第三值不同于第一值。在其它实施方式中,所述等值是第三值。
图4A是使从非易失性存储设备读取成为可能的图3的块330的流程图的一个实施方式???30的方法开始于块410,其中从在NVM设备102中的多个存储单元的第一存储单元读取的数据值与从在NVM设备102中的多个存储单元的第二存储单元读取的数据值相比较。如果在块410确定在从第一存储单元读取的数据值和从第二存储单元读取的数据值之间没有匹配,则图3中的块340和相继的块被执行。如果在块410确定在从第一存储单元读取的数据值和从第二存储单元读取的数据值之间有匹配,则在块420,读取在NVM设备102中的多个存储单元的第三存储单元的数据值。在图4中示出的块330的方法重复,直至来自NVM设备102中的多个存储单元的连续存储单元的数据值被读取并互相比较。
图4B是使从非易失性存储设备读取成为可能的图3的块330的流程图的一个实施方式???30的方法开始于块450,其中使用设置在第一值的读出参数,从NVM设备102中的多个存储单元的一个存储单元读取等值的预定校验和。这个预定校验和在加电之前被确定并存储在所述存储单元之一处。在一个实施方式中,预定校验和被存储在NVM设备102的多个存储单元的另一个存储单元中。在块460,计算从多个存储单元读取的数据值的校验和。在一个实施方式中,校验和是数据值的电流校验和。在块470,校验和与预定校验和相比较。如果在块470,校验和与预定校验和相匹配,则图3中的块360和相继的块370被执行。如果在块470,校验和不与预定校验和相匹配,则图3中的块340和相继的块被执行。
图5是使从非易失性存储设备读取成为可能的方法的一个实施方式的流程图。通过处理逻辑来执行方法500,该处理逻辑可以包括硬件(电路、专用逻辑等)、软件(例如,在通用计算系统或者专用机器上运行的软件)、固件(嵌入的软件)、或者其任何组合。在一个实施方式中,图1和2的控制器设备110执行方法500??裳〉?,NVM系统100、NVM系统200或者这两者的其它组件可以执行方法500的一些操作或者所有操作。
在图5的实施方式中,NVM设备102是快闪存储器(在下文中称为“闪存”),且读出参数是关键参数。尽管闪存被示为被公开为NVM设备102,本领域中的普通技术人员将认识至IJ,其它存储器例如只读存储器(ROM)、电可擦除只读存储器(EEROM)和大多数类型的计算机存储设备可以被用作NVM设备,正如受益于本公开的本领域普通技术人员将认识到的。此外,在图5的实施方式中,参数存储区104中的多个存储单元是字节,数据字节是来自这些存储单元的读取(数据值读取),且最佳闪存是用于未来读取到NVM设备102中的正确的读取值。此外,在图5的实施方式中,初始校验和是预定校验和,而校验和是电流校验和。
参考图5,处理逻辑在加电时从块502开始,在块502,对关键参数设置初始闪存输入值。在块504,读取闪存关键参数字节。在块506,从闪存读取两个关键参数数据字节。在块508,确定这两个关键参数数据字节是否匹配。如果在块508这两个关键数据字节不匹配,则在块510,闪存输入关键参数被增大到下一个值。在块512,初始校验和被清除,并且地址被重置以从关键参数字节的起始处开始,并且方法从块506重复。如果在块508这两个关键数据字节匹配,则在块514,读取的字节被添加到校验和。在块516,确定是否所有字节被读取。如果在块516确定没有读取所有字节,则在块518读取下一个关键参数字节,并且方法从块508重复。如果在块514确定读取了所有字节,则在块520读取关键参数校验和字节。在块522,从关键参数字节计算校验和。在块524,确定校验和是否与初始校验和相匹配。如果在块524确定校验和不与初始校验和相匹配,则方法从块510重复。如果在块524确定校验和与初始校验和相匹配,则在块526,关键参数数据字节用于设置用于最佳闪存读取的输入关键参数。
尽管在以上所描述的实施方式中,所公开的读出参数用于读取到NVM设备中,本领域中的普通技术人员将认识到,其它参数也可以用于设定其它配置,包括但是不局限于数据总线宽度、时钟速度、其它I/O配置等,正如受益于本公开的本领域普通技术人员将认识到的。
在本发明的一个或者多个实施方式中,在此描述的特定特性、结构或者特征可以被组合为合适的。另外,虽然本发明依据若干实施方式被描述,本领域中的技术人员将认识至IJ,本发明并不局限于所描述的实施方式。本发明的实施方式可以在所附权利要求范围内以修改和变更来被实践。本说明书和附图因此被视为是说明性的而不是对本发明的限制。
权利要求
1.一种由被编程来执行下列操作的计算系统实现的方法,包括: 将用于读取存储在非易失性存储器(NVM)设备中的数据的读出参数设置到第一值;使用设置在所述第一值的所述读出参数从所述NVM设备的多个存储单元读取,其中所述NVM设备的所述多个存储单元存储等值; 验证所述等值是否从所述NVM设备的所述多个存储单元被正确地读??; 当所述等值使用设置在所述第一值的所述读出参数没有被正确地读取时,将所述读出参数设置到第二值;以及 当所述等值被正确地读取时, 根据所述等值确定所述读出参数的第三值,以及 当所述等值被正确地读取时,将所述读出参数设置到所述第三值。
2.根据权利要求1所述的方法,其中所述第三值不同于所述第一值。
3.根据权利要求1所述的方法,其中所述等值是所述第三值。
4.根据权利要求1所述的方法,其中所述读出参数是所述NVM设备的读出窗口的基准电流。
5.根据权利要求1所述的方法,其中所述验证包括将从所述多个存储单元的第一存储单元读取的数据值与从所述多个存储单元的第二存储单元读取的数据值相比较。
6.根据权利要求5所述的方法,还包括当在从所述第一存储单元读取的所述数据值和从所述第二存储单元读取的所述数据值之间没有匹配时,将所述读出参数调整为所述第二值。
7.根据权利要求1所述的方法,其中所述验证包括: 使用设置在所述 第一值的所述读出参数读取所述等值的预定校验和,其中所述预定校验和被存储在所述NVM设备的所述多个存储单元的另一个存储单元中; 计算从所述NVM设备的所述多个存储单元读取的数据值的校验和;以及将所述校验和与所述预定校验和相比较,其中当所述校验和匹配所述预定校验和时,所述等值被正确地读取。
8.根据权利要求7所述的方法,还包括当在所述校验和与所述预定校验和之间没有匹配时,将所述读出参数调整为所述第二值。
9.根据权利要求7所述的方法,还包括当所述校验和匹配所述预定校验和时,使用设置到所述第三值的所述读出参数从所述NVM设备的其它存储单元读取。
10.一种由被编程为执行下列操作的计算系统实现的方法,包括: 将用于读取存储在非易失性存储器(NVM)设备中的数据的读出参数设置到第一值;使用设置在所述第一值的所述读出参数从一个或者多个存储单元读取所述读出参数的预定值,其中所述一个或者多个存储单元存储所述预定值; 验证所述预定值是否从所述一个或者多个存储单元被正确地读??; 当所述预定值从所述一个或者多个存储单元被正确地读取时,将所述读出参数设置到所述预定值;以及 当所述预定值没有被正确地读取时,反复设定所述读出参数,直到所述预定值被正确地读取。
11.根据权利要求10所述的方法,其中所述读出参数是所述NVM设备的读出窗口的基准电流。
12.根据权利要求10所述的方法,其中所述验证包括: 将从所述一个或者多个存储单元的第一存储单元读取的数据值与从所述一个或者多个存储单元的第二存储单元读取的数据值相比较;以及 当在所述数据值之间没有匹配时,将所述读出参数调整为所述第二值。
13.根据权利要求10所述的方法,其中所述验证包括: 使用设置在所述第一值的所述读出参数读取所述预定值的预定校验和,其中所述预定校验和被存储在NVM设备的所述一个或者多个存储单元的另一个存储单元中; 计算从所述NVM设备的所述一个或者多个存储单元读取的数据值的校验和;以及 将所述校验和与所述预定校验和相比较,其中当所述校验和匹配所述预定校验和时,所述预定值被正确地读取。
14.根据权利要求13所述的方法,还包括: 当在所述校验和与所述预定校验和之间没有匹配时,将所述读出参数调整为所述第二值;以及 当在所述校验和与所述预定校验和之间存在匹配时,将所述读出参数调整为所述预定值。
15.—种系统,包括: 非易失性存储器(NVM)设备;以及 控制器设备,其耦合到所述NVM设备,被配置为设置用于读取存储在所述NVM设备中的数据的第一读出参数,并使用所述第一读出参数从所述NVM设备的一个或者多个存储单元读取,其中所述NVM设备的所述一个或者多个存储单元存储等值, 其中所述控制器设备被配置为使用所述第一读出参数来验证所述等值是否在所述NVM设备的所述一个或者多个存储单元被正确地读取, 其中所述控制器设备还被配置为当所述等值使用所述第一读出参数没有被正确地读取时设置第二读出参数, 其中所述控制器设备还被配置为当所述等值使用所述第一读出参数被正确地读取时使用所述第一读出参数确定第三读出参数,并且当所述等值被正确地读取时设置用于读取存储在所述NVM设备中的数据的所述第三读出参数。
16.根据权利 要求15所述的系统,其中所述第三读出参数不同于所述第一读出参数。
17.根据权利要求15所述的系统,其中所述等值是所述第三读出参数。
18.根据权利要求15所述的系统,其中所述第一读出参数是所述NVM设备的读出窗口的基准电流。
19.根据权利要求15所述的系统,其中所述控制器设备被配置为将从所述一个或者多个存储单元的第一存储单元读取的数据值与从所述一个或者多个存储单元的第二存储单元读取的数据值相比较。
20.根据权利要求15所述的系统,其中所述控制器设备被配置为使用所述第一读出参数读取所述等值的预定校验和,其中所述预定校验和被存储在所述NVM设备的所述一个或者多个存储单元的另一个存储单元中,其中所述控制器设备被配置为计算从所述NVM设备的所述一个或者多个存储单元读取的数据值的校验和,并将所述校验和与所述预定校验和相比 较。
全文摘要
描述了一种使从非易失性存储器(NVM)设备读取成为可能的系统和方法。在一个实施方式中,所述方法包括设置用于读取存储在NVM设备中数据的读出参数,使用被设置在第一值的读出参数从NVM设备的多个存储单元读取。NVM设备的存储单元存储等值。所述方法还包括验证等值是否正确地从NVM设备的存储单元被读取。所述方法还包括当等值使用设置在第一值的读出参数没有被正确地读取时,将读出参数设置到第二值。所述方法还包括从等值确定读出参数的第三值,并当等值被正确地读取时,将读出参数设置到第三值。
文档编号G11C16/02GK103137193SQ20121049229
公开日2013年6月5日 申请日期2012年11月27日 优先权日2011年12月2日
发明者保罗·露丝 申请人:赛普拉斯半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im