[0002] 本申请要求2015年2月17日提交的美国
专利申请14/624,476的权益。
技术领域
[0003] 所公开的实施方案包括可被配置为作为
只读存储器装置操作的闪存存储器装置。在一些实施方案中,闪存存储器装置可被配置为具有可变闪存阵列大小的闪存存储器部分和具有可变ROM阵列大小的只读存储器(ROM)部分。
背景技术
[0004]
非易失性存储器单元在本领域中是熟知的。图1中示出一种
现有技术的非易失性分裂栅存储器单元10。存储器单元10包括第一导电类型(诸如P型)的
半导体衬底12。衬底12具有表面,在该表面上形成第二导电类型(诸如N型)的第一区14(也称为源极线SL)。也为N型的第二区16(也称为漏极线)形成在衬底12的该表面上。第一区14和第二区16之间是
沟道区18。位线BL 20连接至第二区16。字线WL 22被
定位在沟道区18的第一部分上方并与其绝缘。字线22几乎不与或完全不与第二区16重叠。
浮栅FG 24在沟道区18的另一部分上方。浮栅24与该另一部分绝缘,并与字线22相邻。浮栅24还与第一区14相邻。浮栅24可与第一区14重叠以提供该区14到浮栅24的耦合。耦合栅CG(也称为控制栅)26位于浮栅24上方并与其绝缘。擦除栅EG 28在第一区14上方并与浮栅24和耦合栅26相邻,且与该浮栅和该耦合栅绝缘。浮栅24的顶部拐
角可指向T形擦除栅28的内侧拐角以提高擦除效率。擦除栅28也与第一区14绝缘。单元10在USP 7,868,375中进行更为具体的描述,USP7,868,375的公开内容全文通过引用并入本文中。
[0005] 现有技术的非易失性存储器单元10的擦除和编程的一个示例性操作如下。通过福勒-诺德海姆隧穿机制对单元10进行擦除,方法是在擦除栅28上施加高
电压,同时其他
端子等于零伏。
电子从浮栅24隧穿到擦除栅28中,使得浮栅24带正电,从而在读取条件下导通单元10。所得的单元擦除状态被称为“1”状态。通过源极侧热电子编程机制对单元10进行编程,方法是在耦合栅26上施加高电压,在源极线14上施加高电压,在擦除栅28上施加中电压,以及在位线20上施加编程
电流。流过字线22与浮栅24之间的间隙的电子的一部分获得足够的
能量以注入到浮栅24中,使得浮栅24带负电,从而在读取条件下关断单元10。所得的单元编程状态被称为“0”状态。
[0006] 现有技术中只读存储器装置也是已知的,其通常由掩膜诸如由BEOL(线的后端)掩模(诸如金属或
接触掩模)实现。一些只读存储器装置永久存储数据,并且只能写入一次。其他只读存储器装置,诸如EPROM(可擦除可编程只读存储器)和EEPROM(
电可擦除可编程只读存储器)可被写入,然后使用特殊机制擦除,然后再次写入。该序列可被无限地重复。
[0007] 然而,现有技术不包含闪存存储器装置,该闪存存储器装置可作为只读存储器装置操作,或者可被实时电分割以提供可变闪存存储器部分和可变只读存储器部分。
[0008] 需要的是使闪存存储器装置能够用作只读存储器装置的设计。进一步需要的是这样的设计,该设计允许装置的配置建立闪存存储器装置的将用作闪存存储器部分的一部分,以及将用作只读存储器部分的另一部分。
发明内容
[0009] 所公开的实施方案包括可被配置为作为只读存储器装置操作的闪存存储器装置。在一些实施方案中,闪存存储器装置可被配置为闪存存储器部分和只读存储器部分。
附图说明
[0010] 图1是现有技术的非易失性存储器单元的剖视图,本发明的方法可应用于该存储器单元。
[0011] 图2是使用图1中示出的现有技术的非易失性存储器单元的非易失性存储器装置的
框图。
[0012] 图3示出利用被配置为提供只读存储器功能的闪存存储器装置的系统。
[0013] 图4示出包括信息部分和ROM启用部分的闪存存储器阵列。
[0014] 图5示出使用ROM启用部分的方法。
[0015] 图6示出被分割成闪存存储器部分和只读存储器部分的存储器阵列。
[0017] 图8A和图8B示出SecuredKey
控制器。
[0018] 图9示出允许
访问ROM启用部分的安全方法。
[0019] 图10示出用于ROM启用部分的解码器。
具体实施方式
[0020] 图2示出用于包括管芯200的闪存系统的架构的实施方案。管芯200包括:用于存储数据的存储器阵列215和存储器阵列220,存储器阵列215和220包括先前描述为图1中的存储器单元10的类型的存储器单元的行和列;用于使管芯200的其他部件通常与焊线(未示出)之间能够电连通的焊盘240和焊盘280,该焊线继而连接到用于从封装芯片外部触及集成
电路的引脚(未示出)或封装
凸块或者用于互连到SOC(片上系统)上的其他宏的宏
接口引脚(未示出);用于为系统提供正负电压源的高电压电路275;用于提供诸如冗余和内建自测试的各种控制功能的控制逻辑270;模拟电路265;分别用于从存储器阵列215和存储器阵列220读取数据的感测电路260和261;行解码器电路245和行解码器电路246,分别用于访问存储器阵列215和存储器阵列220中的将要读取或写入的行;列解码器电路255和列解码器电路256,分别用于访问存储器阵列215和存储器阵列220中的将要读取或写入的字节;电荷
泵电路250和
电荷泵电路251,分别用于为存储器阵列215和存储器阵列220提供用于编程和擦除操作的升高电压;用于读取和写入操作的、由存储器阵列215和存储器阵列220共享的负电压
驱动器电路230;在读取和写入操作期间由存储器阵列215使用的高电压驱动器电路
225,以及在读取和写入操作期间由存储器阵列220使用的高电压驱动器电路226。
[0021] 响应于读取、擦除或编程命令,
逻辑电路270使各种电压以及时且干扰最低的方式供应至选择的存储器单元10和未选择的存储器单元10两者的各个部分。
[0022] 对于所选择和未选择的存储器单元10,施加的电压和电流如下。如下文所用,使用以下缩写:源极线或第一区14(SL)、位线20(BL)、字线22(WL)和耦合栅26(CG)。
[0023] 对选择的存储器单元10或未选择的存储器单元10执行读取、擦除和编程操作的方法涉及施加以下电压:
[0024] 操作#1:PEO(正擦除操作)表
[0025]
[0026]
[0027]
[0028] 在一个实施方案中,当在读取和编程操作期间未选择存储器单元10时,可将负电压施加到字线22,使得施加以下电压:
[0029] 操作#2:PEO(正擦除操作)表
[0030]
[0031] SL SL-未选读取 0V 0V
擦除 0V 0V
编程 4.5-5V 0-1V
[0032] 在另一个实施方案中,当在读取、擦除和编程操作期间未选择存储器单元10时,可将负电压施加到字线22,并且在擦除操作期间可将负电压施加到耦合栅26,使得施加以下电压:
[0033] 操作#3:PNEO(正负擦除操作)表
[0034]
[0035]
[0036] SL SL-未选
读取 0V 0-0.5V
擦除 0V 0-1V
编程 4.5-5V 0-1V
[0037] 图3示出系统300。系统300包括电源管理单元310、外围装置320(诸如USB控制器、SPI控制器等)、SRAM 330和控制器340。控制器340包括
微控制器核心342、存储器控制器344和非易失性存储器控制器346。系统300还包括来自图1的管芯200。非易失性存储器控制器346与管芯200相互作用。
[0038] 图4示出来自图2的存储器阵列215。应当理解,可以使用相同的图来描述存储器阵列220或其他存储器阵列。存储器阵列215包括具有第一组存储器单元行的存储器部分410,具有第二组存储器单元行的信息部分420以及具有第三组存储器单元行的ROM启用部分430。ROM启用部分430包括OTP位432和SFROM位434。ROM启用部分430可被视为存储器阵列
215的控制部分。
[0039] 信息部分420可用于存储制造商或设计者的信息,例如,识别制造或设计产品的公司的已知代码。
[0040] SFROM位434用于识别存储器部分410的要用作只读存储器的扇区。存储器阵列215内的扇区由偶数行的存储器单元组成,例如2,4,8行存储器单元。扇区中的所有存储器单元同时被擦除。例如,如果SFROM位434中的特定位为“0”,则与该位相对应的扇区将被视为只读扇区,并且擦除和编程该扇区将被禁用。如果特定位存储“1”,则与该位相对应的扇区将被视为多次可编程扇区,并且擦除和编程该扇区将被启用,并且扇区将作为普通闪存存储器存取。应当理解,“0”和“1”值的作用是示例性的,并且如果制造商需要,可以切换其作用。
[0041] OTP位432确定ROM启用部分430本身将是只读存储器还是可被擦除和编程。例如,如果OTP位432为“0”,则ROM启用部分430将被视为只读部分,并且擦除和编程该部分将被禁用。如果OTP位321为“1”,则ROM启用部分430将被视为多次可编程扇区,并且擦除和编程该部分将被启用。
[0042] 图5示出编程方法500。
[0043] 在步骤510中,OTP位432被擦除,从而使得ROM启用部分430能够被编程。
[0044] 在步骤520中,SFROM位434被编程。如果位被编程为“0”,则与该位相对应的扇区将被用作只读存储器,并且如果该位被编程为“1”,则与该位相对应的扇区将被用作闪存存储器。
[0045] 在步骤530中,OTP位432被编程为“1”,从而禁用ROM启用部分430以用于进一步编程。
[0046] 在步骤540中,SFROM位434被加载到扇区解码器630中。SFROM位434从而将根据每个位的值来启用或禁用每个扇区的擦除和编程。
[0047] SFROM位434可在系统的操作期间的各种情况下加载到扇区解码器630中。在一种方法下,当系统加电时,SFROM位434可被加载到扇区解码器630中。在加电下加载SFROM位434的另一个实施方案中,在加载SFROM位434之前完成数据模式检查(读取和验证固定数据)和/或功率完整性检查(验证功率电平能够达到预定电平)。在另一种方法下,每当为特定扇区接收到擦除或编程命令时,用于该特定扇区的SFROM位434也可被加载到扇区解码器
630中。在第三种方法下,每当ROM启用部分430被擦除或编程时,SFROM位434也可被加载到扇区解码器630中。可以遵循这些方法中的不止一种。
[0048] 图6示出阵列215。应当理解,可以使用相同的图来描述存储器阵列220或其他存储器阵列。阵列215被分割成与SFROM位434的值相对应的闪存阵列610和只读存储器阵列620。也就是说,通过将与这些扇区对应的SFROM位434设置为特定值(例如,“1”)来建立闪存阵列
610,并且通过将SFROM位434设置为相反的值(例如,“0”)来建立只读存储器阵列620。
[0049] 扇区解码器630将基于对应SFROM位434的值来启用对闪存阵列610中扇区的擦除和编程,并且将基于对应SFROM位434的值来禁用对只读存储器阵列620中扇区的擦除和编程。以这种方式,阵列215可被分割成闪存存储器部分(闪存阵列610)和只读存储器部分(闪存ROM阵列620)。这可以用于例如将重要信息(例如BIOS、系统信息、文件系统信息、安全密钥等)存储在制造商不希望被用户擦除的闪存芯片上。扇区解码器任选地可位于图2所示的控制逻辑270中。
[0050] 图7示出扇区解码器630中的一个扇区解码器的另外细节。应当理解,相同的设计可用于所有扇区解码器630。
[0051] SFROM位434中的一个被输入到SFORM
锁存器710,其输出并保持SFROM位434的值。锁存器710的输出被发送到高电压逻辑电路720中,该高电压逻辑电路也接收高电压电源、字线和擦除/编程控制线。高电压逻辑电路720的输出被输入到擦除栅驱动器730(其生成施加到存储器阵列215中的存储器单元的扇区的擦除栅
信号)、控制栅驱动器740(其生成施加到存储器阵列215中的存储器单元的扇区的控制栅信号)和源极线驱动器750(其生成施加到存储器阵列215中的存储器单元的扇区的源极线信号)。如果SFROM位434被设置为指示只读(例如“0”)的值,则擦除栅、控制栅和源极线输出值将被设置为仅允许读取操作,而不是使用先前描述的电压值进行的擦除或编程操作。
[0052] 图8A和图8B示出到目前为止描述的实施方案的变型。在图8A和图8B的实施方案中,制造商或用户可建立SecuredKey 850(安全密钥),其被存储在信息部分420、ROM启用部分430中,或一些其他
位置或装置中。SecuredKey 850可为例如256位值。如果用户正确地输入SecuredKey 850,则将允许用户改变ROM启用部分430的内容,从而改变存储器阵列215的配置以及闪存阵列610和闪存ROM阵列620的相对大小和边界。例如,如果确定在闪存阵列610或闪存ROM阵列620中需要额外的空间,则这可以是有用的。
[0053] 在图8A和图8B中,非易失性存储器控制器346包括SecuredKey控制器820,其管理从用户接收数据的操作,将接收到的数据与SecuredKey 850进行比较,并且适当地启用或阻止对ROM启用部分430的访问。
[0054] 这示于图9中,其中示出安全方法900。在步骤910中,用户输入数据915,这是用户尝试输入SecuredKey 850。在步骤920中,将数据915与存储在存储器阵列215中的SecuredKey 850进行比较。在步骤930中,如果在数据915与SecuredKey 850之间发现匹配,则允许用户对ROM启用部分430或仅仅SFROM位434进行擦除和/或编程。在步骤940中,如果在数据915与SecuredKey 850之间没有发现匹配,则不准予用户这样的访问。
[0055] 在图8A、图8B和图9的实施方案中,用户可以是装置的普通用户,装置的制造商,或将装置安装到另一个产品中并将产品销售给普通用户的制造商的客户。访问权限可通过提供(或缺少)SecuredKey850来确定。
[0056] 在图10中,示出了扇区解码器630中的一个,这里被标记为扇区解码器1000。扇区解码器1000用于确定ROM启用部分430本身是否可被擦除和编程,或者它是否是只读存储器部分。检测器1010从ROM启用部分430接收OTP位432,锁存器1020锁存该值并将该值提供给高电压逻辑电路1130,该高电压逻辑电路也接收高电压电源、字线和擦除/编程控制线。高电压逻辑电路1030的输出被输入到擦除栅驱动器1040(其生成施加到ROM启用部分430的存储器单元的擦除栅信号)、控制栅驱动器1050(其生成施加到ROM启用部分430的存储器单元的控制栅信号)和源极线驱动器1060(其生成施加到ROM启用部分430的存储器单元的源极线信号)。如果SFROM位434被设置为指示只读(例如“0”)的值,则擦除栅、控制栅和源极线输出值将被设置为仅允许读取操作,而不是使用先前描述的电压值进行的擦除或编程操作。