非易失性存储器装置中的数据读取的改进的安全性和正确性的制作方法

文档序号:28326055发布日期:2022-01-05 00:51阅读:109来源:国知局
非易失性存储器装置中的数据读取的改进的安全性和正确性的制作方法

1.本公开总体上涉及存储器装置,并且更具体地涉及与非易失性存储器装置中的数据读取的安全性和改进的性能相关的实施例。


背景技术:

2.存储器装置在电子领域是众所周知的,以用于存储和允许存取数字信息。通常,不同种类的半导体存储器装置可以并入到包含非易失性存储器组件以及易失性存储器组件的更复杂的系统中,例如,在嵌入了上述存储器组件的所谓的片上系统(soc)中。
3.然而,如今对实时操作性系统的需求,特别是对汽车应用的需求,要求soc具有越来越高的性能和效率,并且已知的解决方案不再满足这些要求,特别是在安全性方面。非易失性存储器可以通过在不通电时保留所存储的数据来提供持久数据,并且可以包含nand闪速存储器、nor闪速存储器、3d xpoint存储器、mram、sttram和cbram等。nand闪存减少了擦除和写入时间,并且每个胞元需要更少的芯片面积,因此比nor闪存允许每位的存储密度更大并且成本更低。然而,nand闪速存储器的i/o接口不提供随机存取外部地址总线。相反,必须在逐块的基础上读取数据,典型的块大小为数百到数千位。
4.闪速存储器装置经受温度变化,特别是在其运行期间温度升高。原因主要是由于当形成存储器的浮栅在存在较高温度的情况下被偏置时,可能达到足以允许跳入到信道中的能量等级,并且结果是电荷丢失。在使用例如电荷俘获的其它技术中,高温加速了重组,并且这意味着失去所存储的信息。这些问题影响从存储器装置读取的数据的安全性和正确性。
5.此外,在汽车应用中,人体与电气/电子系统之间的相互作用正在显著增加,特别是在管理可能对驾驶员健康产生严重影响的安全性关键决策时。随着这些先进的安全系统的演变从被动转向更主动,包含预测性安全以及甚至自动驾驶汽车概念,汽车行业已经并且将继续要求满足严格的要求,即使是对乘客、行人和道路上的其它操作员也是如此。
6.管理这些安全性关键决策趋向于增加安全系统的复杂性和附加的软件内容。随着复杂性的增加,系统和/或随机硬件故障的风险也越来越大。
7.需要提供与soc装置相关联的闪速存储器装置,以提供改进的数据读取的安全性和正确性,从而降低故障风险。
附图说明
8.图1示出了包含与控制器相关联的存储器组件的系统的示意图,所述控制器与存储器装置交换数据、地址和控制信号;
9.图2是根据本公开的存储器组件的示意图;
10.图3是根据本公开的各实施例的存储器组件的实例的示意性布局图;
11.图4是根据本公开的一个实施例的由存储器阵列的多个行形成的存储器块的示意图;
12.图5是用于本公开的存储器组件中的存储器页面的一组地址寄存器的示意图;
13.图6是展示了用于改进本公开的非易失性存储器装置中的数据读取的安全性的方法的阶段的框图;
14.图7是展示了用于改进本公开的非易失性存储器装置中的数据读取的安全性的方法的阶段的另一个框图。
具体实施方式
15.本公开的若干个实施例涉及存储器装置、包含存储器装置或组件的系统以及操作存储器装置或组件的方法,从而避免了存储器操作期间老化、温度和工艺漂移的潜在问题。
16.在本公开的一个实施例中,提供了新的存储器架构,以用于在非易失性存储器装置中在数据读取阶段改进安全性和性能。
17.在以下详细描述中,对附图进行了参考,所述附图形成所述详细描述的一部分,并且在附图中通过图解的方式示出了具体实施例。在附图中,贯穿若干视图,相似的附图标记描述着基本上类似的组件。可以公开其它实施例,并且在不脱离本公开的范围的情况下,可以进行结构、逻辑和电气改变。下面的详细描述因此不应视为具有限制意义。
18.当对存储器阵列进行寻址时,可能存在一或多个例如在主机装置所使用的逻辑地址与对应于存储器阵列中的位置的物理地址之间进行转换的地址转换层。通过对如浮栅或俘获层或其它物理现象等电荷存储结构的编程,胞元的阈值电压的变化决定了每个胞元的数据状态。
19.此外,同一装置内部的温度变化可能会产生被称为幻影温度问题的读数漂移。
20.与这种温度变化相关的缺点对由读出放大器检测到的相对于其已经被编程的理想中心值移动的实际位分布有影响。
21.仅给出一个实际的实例,如果编程阶段是在

40℃下执行的,那么在120℃下可能会出现读取结果包含很多错误的情况。这对于并入到汽车装置中的所有芯片来说都是真正的问题,其中必须考虑车辆运行期间的温度的升高;此外,温度的升高使良好擦除/经编程的胞元的分布向左和/或向右移动或扩大(例如,阈值电压降低和/或升高)。
22.因此,存储器装置的读取阶段大部分时间是在类似于原始编程阶段的环境条件下执行的;对于擦除阶段也是如此。
23.此外,由于装置的老化和频繁使用(例如,在写入/擦除周期方面),由温度引起的漂移进一步增加,并且对于并入到片上系统自主驾驶车辆中的存储器装置,这个问题可能特别微妙。
24.图1展示了并入闪速存储器装置100的系统10的示意性实例。系统还包含耦接到存储器装置100的存储器控制器101。
25.控制器101被示出为通过数据总线105、控制总线106和地址总线107耦接到存储器装置100。在一个实施例中,数据总线可以是64位和/或128位宽的宽双倍数据速率(ddr)总线。
26.更具体地,参考图2,非易失性存储器组件或装置100包含闪速存储器胞元阵列90和定位于存储器阵列周围的电路系统,如下文中更详细描述的。soc结构10与存储器组件100之间的耦接是通过互连电路布局中彼此面对的多个相应焊盘或引脚来获得的,即使存
储器组件的大小被修改,所述电路布局也保持焊盘的对准。
27.在本公开的一个实施例中,存储器组件的焊盘的布置已经在存储器组件100的表面上,实际上在阵列的顶部上实现。更具体地,焊盘被布置在阵列之上,使得当存储器组件100被反转或翻转时,其焊盘面对主机或soc结构10的对应的焊盘。
28.存储器组件100是根据用户的需求在可以根据可用的技术而变化的值范围内制造的,所述值范围例如从至少128兆位到512兆位或者甚至更多,而对申请人的权利没有任何限制。更具体地,提出的外部架构允许超越当前eflash(即,嵌入式闪存技术)的限制,允许集成更大的存储器,因为其可以是512兆位和/或1千兆位和/或更多,取决于存储器技术和技术节点。
29.最终配置将是面对面互连soc/闪存阵列,其中读出放大器连接到呈直接存储器存取配置的soc,以用于具有高频存取的用户模式。
30.直接存储器存取允许减少soc在读取数据时可能经历的最终等待时间。此外,通过块形式因子、块之间的读出放大器分布、读出放大器中的比较阈值和经优化的路径的选择,也减少了最终等待时间。
31.为了更好地理解本公开的原理,应当注意的是,直接存储器存取是计算系统的特征,即,允许某些硬件子系统独立于cpu(中央处理单元)访问主系统存储器(通常是如随机存取存储器等易失性的)。
32.更具体地,当cpu正在使用存储器时使用dma,并且所述dma通常在读取或写入操作的某个时钟周期被占用。因此,每当i/o装置访问存储器时,将数据输入和/或输出存储器需要花费大量时间。
33.i/o装置首先使用dma控制器发起传输,放弃cpu对总线的控制,并且然后cpu在传输过程中进行其它操作,并且最后在操作完成时从dma控制器接收中断,因此地址总线或数据总线现在可以由所述i/o装置用于其内部操作。在cpu无法跟上数据传输的速率的任何时候,或者当cpu需要在等待相对较慢的i/o(输入或输出)数据传输时执行工作时,这种特征非常有用。许多硬件系统使用dma,所述dma包含磁盘驱动器控制器、图形卡、网卡和声卡。
34.根据本公开,dma用于多核处理器中的系统内数据传输。与没有dma信道的核相比,具有dma信道的核可以以更少的cpu开销将数据传输到存储器组件并且从所述存储器组件传输数据。类似地,多核处理器内部的处理元件可以在不占用其处理器时间的情况下将数据传输到其本地存储器并且从所述本地存储器传输数据,从而允许计算和数据传输并行进行。
35.本公开的直接存储器存取采用边界扫描胞元和读出放大器作为用于对直接存储器存取操作进行寻址以及将存储器地址定位到特定dma闪存阵列的系统和方法。在这方面,实施了经修改的jtag胞元结构,以允许在直接存取中扩大要读取的存储器页面。
36.更具体地参考图2的实例,将公开根据本公开的实施例的存储器组件100的主要结构。
37.存储器组件100至少包含以下:i/o电路5、微定序器3、存储器胞元阵列90、电压和电流参考发生器7、定位于阵列外围或阵列下方的电荷泵2和解码电路系统8、读出放大器9和对应的锁存器、命令用户接口,例如,cui块4。
38.存储器胞元阵列90包含非易失性闪速存储器胞元。这些胞元可以逐块擦除,而不
是一次擦除一个字节。存储器的每个可擦除块包括以行和列的矩阵布置的多个非易失性存储器胞元。每个胞元耦接到存取线和/或数据线。通过操纵存取线和数据线上的电压和定时来编程和擦除胞元。
39.为了写入和擦除阵列90的存储器胞元,提供了专用逻辑电路部分,所述专用逻辑电路部分包含简化的精简指令集计算机(risc)控制器或修改有限状态机,或者是用于处理编程和擦除算法的逻辑电路。
40.为了读取阵列90的存储器胞元,提供了专用电路部分,所述专用电路部分包含用于确保高读取性能的经优化的读取有限状态机或risc,如:分支预测、提取/预提取、中断管理等。错误校正作为操作留给soc 10;附加位被提供给控制器101,以存储与页面相关联的任何可能的ecc校正子。ecc胞元允许主机控制器了解数据和地址内容是否发生损坏。ecc还允许主机校正接收到的数据。主机负责基于在接收到的数据中进行的校正来修复存储器中的数据。
41.上文报告的写入和擦除阶段由定位于存储器装置内部的存储器控制器处理,因为内部闪存控制器在由主机驱动的读取操作中不工作。
42.现在更具体地参考图3的实例,在本公开的一个实施例中,存储器阵列90被构建为子阵列120的集合。以这种方式,如果与已知的解决方案相比,具有更小的扇区,则存取时间显著减少,并且存储器组件的整体吞吐量得到改进。
43.这种架构是非常可扩展的,并且扩展和/或降低最终装置的密度仅在镜像子阵列和生成连接时转换。
44.主机装置或片上系统10通常包含多于一个核,并且每个核耦接到对应的总线或信道,以用于接收数据并将数据传输到存储器组件1。每个子阵列120可以访问对应的信道,以与片上系统的对应的核通信。
45.主机装置的核可以通过使用一些内部焊盘来访问jtag接口。这种焊盘速度快,并且能够支持最大频率。然而,这种焊盘不能管理闪存阵列外部的模拟电压。
46.在本公开的实施例中,直接存储器存取(dma)允许减少soc在读取数据时可能经历的最终等待时间。
47.为了克服嵌入在片上系统中并且获得非常低的初始等待时间和高吞吐量的闪速存储器装置的问题,已经设计了可扩展的低成本有效且可靠的存储器设备和方法,所述存储器设备和方法涉及通过dma闪存阵列完成数据、地址和ecc的读取操作,从而确保必须从与控制器所要求的完全相同的存储器位置读取数据。
48.现在更仔细地观察存储器组件100的内部结构,应当注意的是,阵列90的架构被构建为子阵列120的集合,如图3示意性所示。
49.每个子阵列120在存储器装置100内部是可独立寻址的。每个子阵列120含有多个存储器块160,如图3和4所描绘的。
50.以这种方式,如果与已知的解决方案相比,具有更小的扇区,则存取时间显著减少,并且存储器组件的整体吞吐量得到改进。初始等待时间以块等级减少,因为行线和列线、读取路径相关联的等待时间和外部通信已经被优化。
51.在本文所公开的实施例中,存储器阵列90被构造为具有多个子阵列120,所述多个子阵列至少对应于相关联的soc 10的核的数量,并且因此对应于对应的通信信道的数量。
例如,提供了至少四个存储器子阵列120,所述一个存储器子阵列用于每个通信信道与soc 10的对应的核。
52.主机装置或片上系统10通常包含多于一个核,并且每个核耦接到对应的总线或信道,以用于接收数据并将数据传输到存储器组件100。
53.因此,在本实施方案中,每个子阵列120可以访问对应的信道,以与片上系统10的对应的核通信。存储器块的结果直接驱动到soc,而无需使用高功率输出缓冲器以及优化路径。
54.这种架构是非常可扩展的,其中扩展和/或降低最终装置的密度仅在镜像子阵列并且生成连接或增加每个子阵列的块数时转换,即,每个核的可用密度。
55.应进一步注意,每个子阵列120包含连接到数据缓冲寄存器的地址寄存器,类似于在dram存储器装置中使用的架构。
56.此外,在本公开的一个实施例中,每个存储器子阵列120被构造处于图4示意性示出的存储器块160中。
57.每个存储器子阵列90的块的每个可独立寻址位置对扩展页面150进行寻址。稍后,将使用术语“超级页面”来定义几个扩展页面。
58.换句话说,在每个子阵列120中所使用的用于填充通信信道与soc装置的128位的原子页面在本实施方案中已经被扩大,以含有所存储的地址和ecc。
59.作为非限制性实例,这种扩展页面150包括包含以下的串:第一组至少n个位,例如,用于与soc装置10进行i/o数据交换的一百二十八(128)个位;加上至少第二组m个位,例如,二十四(24)个地址位;以及最后或第三组至少r个位,例如,十六(16)个ecc位。m个地址位(在实例中为二十四个地址位)足以对至多2千兆位的可用存储器空间进行寻址。
60.根据本公开,根据存储器阵列的大小,读出放大器sa的输出一次准备双倍扩展页面,即,包括由上述三组数据位、地址位和ecc位的双重组合给出的多个位的超级页面150。
61.在本文所公开的具体但非限制性实例中,每个扩展页面150包含通过以上三组n+m+r=128+24+16数据位、地址位和ecc位的组合获得的至少168个位,并且每个超级页面由几个扩展页面即一组168
×
2个位形成。
62.仅给出非限制性数字实例,存储器块160的每个行包含十六个扩展页面。因此,所得行包含来自十六个可独立寻址的扩展页面的组合,或者换句话说,八个超级页面的组合的2688个位,并且每个扩展页面包含168个位。
63.本公开的第一实施例涉及一种非易失性存储器装置,所述非易失性存储器装置包含至少一个具有相关联的解码和感测电路系统的存储器胞元阵列以及存储器控制器,其中所述存储器阵列包括:
64.‑
所述至少一个阵列中的多个子阵列;
65.‑
每个子阵列中的多个存储器块;
66.‑
每个存储器块中的多个存储器行;
67.‑
每个存储器行中的多个扩展页面,每个扩展页面包含一组数据位、地址位和ecc位,以改进数据读取的安全性。
68.本公开的另一个实施例涉及一种用于改进存储器装置中的数据读取的安全性和正确性的方法,所述存储器装置与主机装置或片上系统相关联并且包含存储器胞元的存储
器阵列,所述方法包括:
69.‑
将数据存储在数据存储器胞元中;
70.‑
将存储器地址存储在备用区的第一存储器胞元中;
71.‑
将ecc存储在所述备用区的第二存储器胞元中;
72.‑
将所述第一存储器胞元的内容与所请求的数据的地址进行比较。
73.图6是展示了根据上述方法的用于改进本公开的非易失性存储器装置中的数据读取的安全性的方法的阶段的框图。所述方法可以由参考图1到5进一步详细描述的存储器装置或组件来执行。
74.本公开的另外的实施例涉及一种用于改进独立存储器装置中的数据读取的安全性的方法,所述存储器装置包含存储器胞元阵列并且通过通信信道耦接到soc,所述方法包括:
75.‑
定义扩展存储器页面,所述扩展存储器页面包含数据位、地址位和ecc位;
76.‑
在所述soc中读取所述扩展存储器页面;
77.‑
在所述soc中将在读取期间读取的所述扩展页面的所述地址位与所请求的地址位进行比较,以验证所述数据位的位置的正确性。
78.图7是展示了根据上述方法的用于改进本公开的非易失性存储器装置中的数据读取的安全性的方法的阶段的框图。所述方法可以由参考图1到5进一步详细描述的存储器装置或组件来执行。
79.根据本公开的一个实施例,如图4所示,至少一个虚拟行200与存储器子阵列120的每个块160相关联。
80.这种虚拟行200定位于存储器阵列90的地址空间外部,并且用于读取参数、写入参数和擦除参数的优化。此外,这种虚拟行用于擦除稳健性监测,以用于良好完成修改操作和其它目的。
81.根据另一个实施例,块160的虚拟行被提供在存储器子阵列120的另一个块中。
82.这种虚拟行的存在允许以适当的时间和方式存储读取参数,以使用监测操作来优化另外的步骤。
83.因此,这种虚拟行200的主要目的是跟踪可以在存储器组件100的读取和擦除阶段期间使用的参数和/或存储用于发现可能发生的功率损失的一些参数。
84.虚拟行200含有存储器装置100的控制器101已知的模式。
85.每个存储器块含有至少256个行,并且每个行包含十六个上述大小的扩展页面。每个扩展页面包含作为数据位、寻址位和ecc位的组合的至少168个位。因此,存储器阵列的每个行可以含有至多十六个双字,每个双字32个位,加上每个页面的地址位和ecc位。
86.仅给出一个数值,扩展页面由128+16+24=168个位形成,并且每个行十六个扩展页包括168
*
16=2688个位。
87.因此,存储器块160的每个行135包含至少十六个页面,或者换句话说,八个扩展页面的组合,所述十六个页面包括存储器字加上对应的地址位和对应的ecc位。
88.显然,可以选择另一种大小,并且报告的值仅用于非限制性实例的说明目的。块的结果由主机装置或soc 10直接驱动,无需使用已知的解决方案的高功率输出缓冲器,以及由于经修改且经优化的jtag接口而优化路径。
89.针对每个子阵列120,读出放大器sa的输出由读取接口的内部电路锁存。可以扩展存储器结构以允许多页面读取,同时移出已经读取的页面。
90.稍后将公开,读出放大器sa直接连接到经修改的jtag胞元,以便在单个电路部分中集成jtag结构和读出放大器。这允许尽可能减少将存储器阵列的输出传播到soc的延迟。
91.如前所述,读出放大器9内部正在准备至少128个位加上地址位和ecc位的总共168个位的两个页面,并且当第一页面准备被移位时,在内部执行与相同地址相关联的第二页面的另外的读取操作。
92.这允许准备五个到八个双字,如果系统由168个位的两个页面构造,则允许读出放大器执行另外的内部读取操作来准备第二个半字节或第二组168个位,这在rtos应用中是典型的。这就是选择2
×
128个位加上对应的地址位和ecc位的双页面的原因。
93.使用附加使能信号(即,内部时钟信号或adv信号)将四个双字的这种第二部分传输到闪存阵列90的输出,所述附加使能信号将在读出放大器等级处读取的内容传输到主机装置或soc装置10。信号名称为负载_数据[0,1]...,当使用超级页面时无需增加地址。
[0094]
数据胞元+地址胞元+ecc胞元的组合串允许根据规则iso26262的标准要求实施通信信道的整个安全覆盖,因为主机首先校正数据流(如果有的话),并且然后将发送的地址与接收到的地址进行比较。
[0095]
此外,ecc覆盖整个总线通信(数据胞元+地址胞元),而地址胞元的存在提供了数据完全来自控制器的寻址的位置的置信度,即,如果add==add0。
[0096]
针对存储器组件的测试,采用jtag接口,允许重复使用测试工具。本公开的存储器组件还包括包含jtag接口的jtag逻辑。
[0097]
更详细地,每个存储器阵列包含至少一个jtag接口,所述jtag接口接收标准jtag信号:tms、tck、tdi以及来自存储器页面的数据作为输入,例如图5中示意性示出的页面。根据本公开的实施例,使用灵活的tdi信号。灵活性是由于作为tdi工作的并行位的数量取决于所选寄存器,即,指令寄存器、地址寄存器或数据寄存器等。
[0098]
这种jtag接口产生传输到存储器地址解码器并且还传输到内部闪速存储器控制器的数据、地址和控制信号作为输出,以执行修改、测试、验证操作。
[0099]
上述特征对于用于汽车应用的实时操作性系统特别重要,其中要求soc在与存储器阵列交换数据时具有越来越高的性能。
[0100]
随着这些soc装置越来越复杂,系统和/或随机硬件故障的风险也越来越大。为了帮助确保最高的安全标准并且影响安全汽车系统的发展,行业已经发布了上述最新的汽车安全标准:iso 26262。
[0101]
在这方面,本公开中提出的解决方案实现了原始设备制造商(oem)的汽车安全完整性等级(asil)要求的安全目标。由本文所公开的解决方案实现的等级状态至少是等级asil

d。
[0102]
由于先前所公开的硬件解决方案,本公开的存储器装置正在实施一种方法,以允许soc理解数据内容是完全从控制器要求读取的地址读取的。
[0103]
这种方法基于以下:
[0104]
将数据信息存储在闪存胞元中,例如,存储在数据区域的闪存存储器胞元中;
[0105]
将存储器地址存储在闪存胞元中,例如,存储在备用区中的第一多个闪速存储器
胞元中;
[0106]
还将ecc存储在闪存胞元中,例如,存储在备用区中的第二多个闪速存储器胞元中;
[0107]
将备用区中的第一闪速存储器胞元的内容与由主机所请求的地址进行比较,以存取存储在数据区域的闪速存储器胞元中的数据。在一些实施例中,主机将所请求的地址发送到存储器装置或组件以进行比较。这种方法确保了读取操作的正确性,因为:
[0108]
页面完全是所寻址的页面;
[0109]
ecc的存在保证了根据错误校正机制来校正数据和地址内容。
[0110]
上述安全机制的实施方案有助于实现目标asil等级,即,用于存储器装置100的d。
[0111]
图5是用于本公开的存储器组件中的存储器页面的一组地址寄存器的示意图。更具体地,示出了指示地址位和ecc位也包含在与主机或soc装置10通信的信道或总线中的示意图。
[0112]
换句话说,存储器组件100的读取数据缓冲器通过以下方式完成:
[0113]
数据;
[0114]
地址(存储以执行比较);
[0115]
ecc(确保发送到总线的数据+地址在出现错误的情况下可以得到纠正)。
[0116]
这种解决方案允许改进从存储器组件100到相关联的soc装置10的所有通信交换的安全性。
[0117]
本公开的架构和方法具有至少几个明显的优点。首先,系统改进了主机装置与相关联的存储器装置之间的数据读取的安全性和正确性。
[0118]
其次,系统自动地防止嵌入了存储器装置或存储器装置的系统的环境的任何可能的热漂移。
[0119]
尽管本文已经展示并描述了具体实施例,但是本领域的普通技术人员应理解,旨在实现相同结果的布置可以替换所示出的具体实施例。本公开旨在覆盖本公开的各个实施例的改编或变化。应理解的是,以上描述是以说明性方式而非限制性方式进行的。回顾以上描述,以上实施例的组合以及本文未具体描述的其它实施例对于本领域的技术人员而言将是显而易见的。本公开的各个实施例的范围包含以上结构和方法被使用的其它应用。因此,本公开的各个实施例的范围应当参考所附权利要求连同与此类权利要求被赋予的等同物的全部范围来确定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1