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

存储器系统及其操作方法与流程

2022-02-20 12:43:23 来源:中国专利 TAG:

存储器系统及其操作方法
1.相关申请的交叉引用
2.本技术要求于2020年7月13日向韩国知识产权局提交的申请号为10-2020-0085857的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
3.各个实施例总体涉及一种存储器系统及其操作方法。


背景技术:

4.例如存储装置的存储器系统基于来自诸如计算机、移动终端(例如,智能电话或平板电脑)或各种其它电子装置中的任一种的主机的请求存储数据。存储器系统可以是诸如硬盘驱动器(hdd)的将数据存储在磁盘中的一类装置,或者可以是诸如固态驱动器(ssd)、通用闪存(ufs)装置或嵌入式mmc(emmc)装置的将数据存储在非易失性存储器中的一类装置。
5.存储器系统可进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以基于接收到的命令,运行或控制用于在存储器系统中包括的易失性存储器或非易失性存储器中读取、写入或擦除数据的操作。存储器控制器可以驱动用于执行逻辑运输算的固件来控制这种操作。
6.存储器装置中存储的数据可能因来自外部攻击者的各种类型的攻击而泄漏或损坏。通常,存储器系统使用fde(全盘加密)来防止数据的泄漏或损坏。然而,当信号直接输入到存储器装置时,即使存储器系统使用fde,存储器系统也不能阻止数据泄漏或损坏。


技术实现要素:

7.各个实施例涉及一种能够防止没有访问权限的用户泄漏或损坏数据的存储器系统。
8.一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括:存储器装置,包括多个存储器管芯,每个存储器管芯包括多个存储块,每个存储块包括其中存储有数据的多个页面;以及存储器控制器,适于与存储器装置通信并运行固件以控制该存储器装置。
9.存储器控制器可以使用密码算法基于存储器装置的目标区域的物理地址来生成随机数(nonce),并且请求存储器装置认证该随机数。
10.当对该随机数认证成功时,存储器装置可以为存储器控制器设置对目标区域执行读取操作、写入操作或擦除操作的权限。
11.该目标区域可以是页面、存储块或存储器管芯。
12.密码算法可以是hmac、sha、aes和rsa中的一种。
13.i)当发生断电/通电时或者ii)当从存储器控制器接收到请求重置对目标区域执行读取操作、写入操作或擦除操作的权限的命令时,存储器装置可以为存储器控制器重置
对目标区域执行读取操作、写入操作或擦除操作的权限。
14.存储器装置可通过将通过使用密码算法对随机数进行解密而生成的结果值与目标区域的物理地址进行比较来认证随机数。此时,在执行对随机数的认证之前,存储器控制器可以将用于对随机数进行解密的解密密钥传输到存储器装置。
15.又例如,存储器装置可通过将随机数与目标区域的参考随机数进行比较来认证该随机数。此时,当传输请求重置存储器控制器的权限的命令时,该参考随机数可以被存储在目标区域中。
16.在设置的延迟时间之后,存储器装置可以将认证的结果传输到存储器控制器。
17.另一方面,本公开的实施例可以提供一种存储器系统的操作方法,该存储器系统包括:存储器装置,包括多个存储器管芯,每个存储器管芯包括多个存储块,每个存储块包括其中存储有数据的多个页面;以及存储器控制器,适于与存储器装置通信并运行固件以控制存储器装置。
18.该操作方法可以包括由存储器控制器使用密码算法基于存储器装置的目标区域的物理地址来生成随机数。
19.该操作方法可以包括由存储器控制器请求对随机数进行认证。
20.该操作方法可以包括由存储器装置认证随机数。
21.该操作方法可以包括当对随机数认证成功时,由存储器装置为存储器控制器设置对目标区域执行读取操作、写入操作或擦除操作的权限。
22.目标区域可以是页面、存储块或存储器管芯。
23.密码算法可以是hmac、sha、aes和rsa中的一种。
24.该操作方法可以包括i)当发生断电/通电时或者ii)当存储器控制器向存储器装置传输请求重置对目标区域执行读取操作、写入操作或擦除操作的权限的命令时,由存储器装置重置对目标区域执行读取操作、写入操作或擦除操作的权限。
25.可以通过将通过使用密码算法对随机数进行解密而生成的结果值与目标区域的物理地址进行比较来认证随机数。此时,在执行认证之前,可以将用于对随机数进行解密的解密密钥传输到存储器装置。
26.可以通过将随机数与目标区域的参考随机数进行比较来认证随机数。此时,当传输请求重置存储器控制器的权限的命令时,参考随机数可以被存储在目标区域中。
27.该操作方法可以包括在设置的延迟时间之后,由存储器装置将认证的结果传输到存储器控制器。
28.另一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括:存储器装置;以及控制器,适于根据密码方案对原始物理地址进行加密以生成第一散列(hash),并且将原始物理地址和该第一散列提供到存储器装置。
29.存储器装置可以通过第一散列来认证物理地址以允许对由所提供的物理地址指示的存储位置的访问。
30.存储器装置可以通过根据密码方案对物理地址进行加密以生成第二散列,并且将第一散列和第二散列进行比较来认证所提供的物理地址。
31.存储器装置可以通过根据密码方案对第一散列进行解密以检索物理地址,并且将所提供的物理地址和所检索的物理地址进行比较来认证所提供的物理地址。
32.控制器可以将第一散列作为参考散列提供到存储器装置,并且存储器装置可以通过将第一散列和参考散列进行比较来认证所提供的物理地址。
33.根据本公开的实施例,可以防止没有访问权限的用户泄漏或损坏数据。
附图说明
34.图1是示出根据本公开的实施例的存储器系统的配置的示意图。
35.图2是示意性地示出根据本公开的实施例的存储器装置的框图。
36.图3是示出根据本公开的实施例的存储器装置的字线和位线的结构的示图。
37.图4是示出根据本公开的实施例的存储器控制器请求针对随机数的认证的操作的示图。
38.图5是示出根据本公开的实施例的存储器控制器生成随机数的操作的示图。
39.图6是描述用于生成随机数的hmac算法的示例的示图。
40.图7是示出根据本公开的实施例的存储器装置认证随机数的操作的示例的流程图。
41.图8是示出根据本公开的实施例的存储器装置的状态示图的示例的示图。
42.图9是示出根据本公开的实施例的存储器装置认证随机数的方法的示例的示图。
43.图10是示出图9的方法的流程图。
44.图11是示出根据本公开的实施例的存储器装置认证随机数的方法的另一示例的示图。
45.图12是示出图11的方法的流程图。
46.图13是示出参照图11描述的参考随机数在存储器装置中存储的位置的示例的示图。
47.图14是示出根据本公开的实施例的存储器装置将对随机数的认证结果传输到存储器控制器的时间的示例的示图。
48.图15是示出根据本公开的实施例的存储器装置的状态示图的另一示例的示图。
49.图16是示出根据本公开的实施例的存储器系统的操作方法的流程图。
50.图17是示出根据本公开的实施例的计算系统的配置的示图。
具体实施方式
51.在下文中,参照附图详细描述了本公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。而且,术语“各个实施例”在本文中使用时不一定指所有实施例。
52.图1是示出根据本公开的实施例的存储器系统100的示意性配置的示图。
53.参照图1,存储器系统100可以包括被配置为存储数据的存储器装置110以及被配置为控制存储器装置110的存储器控制器120。
54.存储器装置110可包括多个存储块。存储器装置110可被配置为响应于从存储器控制器120接收到的控制信号而操作。存储器装置110的操作可包括例如读取操作、编程操作(也被称为“写入操作”)、擦除操作等。
55.存储器装置110可包括存储器单元阵列,该存储器单元阵列包括被配置为存储数
据的多个存储器单元(也被简称为“单元”)。存储器单元阵列可以存在于存储块的内部。
56.例如,存储器装置110可以被实施为诸如以下的各种类型中的任意一种:双倍数据速率同步动态随机存取存储器(ddr sdram)、第四代低功率双倍数据速率(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪速存储器、垂直nand闪速存储器、nor闪速存储器、电阻式随机存取存储器(rram)、相变随机存取存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)或自旋转移力矩随机存取存储器(stt-ram)。
57.存储器装置110可以以三维阵列结构实施。本公开的实施例不仅可应用于具有被配置为导电浮栅的电荷存储层的闪速存储器装置,而且可应用于具有电荷撷取闪存(ctf)的闪速存储器装置,该ctf具有被配置为绝缘膜的电荷存储层。
58.存储器装置110可以被配置为从存储器控制器120接收命令和地址,并且访问利用该地址选择的存储器单元阵列的区域。也就是说,存储器装置110可在存储器装置的、具有与从存储器控制器120接收的地址相对应的物理地址的存储器区域中执行与接收到的命令相对应的操作。
59.例如,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据编程在由地址选择的区域中。在读取操作期间,存储器装置110可从由地址选择的区域读取数据。在擦除操作期间,存储器装置110可以擦除存储在由地址选择的区域中的数据。
60.存储器控制器120可控制关于存储器装置110的写入操作(编程操作)、读取操作、擦除操作和后台操作。该后台操作可以包括例如垃圾收集(gc)操作、损耗均衡(wl)操作和/或坏块管理(bbm)操作。
61.存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,在没有主机的相应请求的情况下,例如,当存储器控制器120执行存储器装置的一个或多个后台操作时,存储器控制器120可控制存储器装置110的操作。
62.存储器控制器120和主机可以是分开的装置。在另一实施例中,存储器控制器120和主机可以被集成并被实施为单个装置。在下面的描述中,存储器控制器120和主机是分开的装置。
63.参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
64.主机接口121可以被配置为提供用于与主机(host)通信的接口。
65.当从主机接收命令时,控制电路123可以通过主机接口121接收命令,并且可以执行处理所接收的命令的操作。
66.存储器接口122可以连接到存储器装置110以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为响应于控制电路123的控制而向存储器装置110和存储器控制器120提供接口。
67.控制电路123可以被配置为通过执行实行存储器控制器120的全面控制的操作来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ecc电路)126等。
68.处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑操作。
处理器124可以通过主机接口121与主机通信。处理器124可以通过存储器接口122与存储器装置110通信。
69.处理器124可以执行闪存转换层(ftl)的功能。处理器124可以通过ftl将主机所提供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收lba,并且通过使用映射表来将lba转换为pba。
70.根据映射单位,存在可以由ftl采用的各种地址映射方法。典型的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
71.处理器124可被配置为使从主机接收到的数据随机化。例如,处理器124可通过使用随机化种子来使从主机接收到的数据随机化。经随机化的数据作为待存储的数据被提供到存储器装置110,并且被编程在存储器单元阵列中。
72.处理器124可被配置为在读取操作期间使从存储器装置110接收到的数据去随机化。例如,处理器124可以通过使用去随机化种子来使从存储器装置110接收到的数据去随机化。经去随机化的数据可以被输出到主机。
73.处理器124可运行固件(fw)以控制存储器控制器120的操作。换句话说,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑操作,可以运行(驱动)在启动期间加载到工作存储器125中的固件。
74.固件是指在存储器系统100内部运行的程序,并且可以包括各种功能层。
75.例如,固件可以包括闪存转换层(ftl)、主机接口层(hil)和/或闪存接口层(fil),该闪存转换层被配置为在主机请求存储器系统100提供的逻辑地址与存储器装置110的物理地址之间进行转换,该主机接口层被配置为解释主机host向存储器系统100(存储装置)发出的命令并将该命令传递到ftl,该闪存接口层被配置为将由ftl发出的命令传递到存储器装置110。
76.例如,固件可以存储在存储器装置110中,然后被加载到工作存储器125中。
77.工作存储器125可以存储固件、程序代码、命令或多条数据以驱动存储器控制器120。工作存储器125可以包括例如作为易失性存储器的静态ram(sram)、动态ram(dram)和同步ram(sdram)中的至少一个。
78.错误检测/校正电路126可以被配置为通过使用错误校正码来检测目标数据的错误位,并且校正所检测到的错误位。例如,目标数据可以是存储在工作存储器125中的数据、从存储器装置110检索的数据等。
79.错误检测/校正电路126可以被实施为通过使用错误校正码来对数据进行解码。错误检测/校正电路126可以通过使用各种代码解码器来实施。例如,可以使用执行非系统代码解码的解码器或执行系统代码解码的解码器。
80.例如,错误检测/校正电路126可以关于每条读取数据逐个扇区地检测错误位。也就是说,每条读取数据可以包括多个扇区。如本文所使用的,扇区可指代小于闪速存储器的读取单位(页面)的数据单位。构成每条读取数据的扇区可以经由地址彼此对应。
81.错误检测/校正电路126可以计算位错误率(ber)并确定是否可以逐个扇区地进行校正。例如,如果ber高于参考值,则错误检测/校正电路126可以确定相应的扇区是不可校正的或“失败”。如果ber低于或等于参考值,则错误检测/校正电路126可以确定相应的扇区是可校正的或“通过”。
82.错误检测/校正电路126可以关于所有各条读取数据连续地执行错误检测和校正操作。当读取数据中包括的扇区是可校正的时,错误检测/校正电路126可省略与下一条读取数据的相应扇区有关的错误检测和校正操作。在以这种方式完成关于所有各条读取数据的错误检测和校正操作之后,错误检测/校正电路126可以检测被认为始终不可校正的扇区。可能存在被认为不可校正的一个或多个扇区。错误检测/校正电路126可将关于被认为不可校正的扇区的信息(例如,地址信息)传递到处理器124。
83.总线127可以被配置为在存储器控制器120的构成元件121、122、124、125和126(即,主机接口121、存储器接口122、处理器124、工作存储器125和错误检测/校正电路126)之间提供通道。总线127可以包括例如用于传递各种类型的控制信号和命令的控制总线,以及用于传递各种类型的数据的数据总线。
84.存储器控制器120的上述构成元件121、122、124、125和126仅作为示例提供。注意的是,可以从存储器控制器120中省略这些元件中的一个或多个,并且/或者可以将这样的元件中的一个或多个集成到单个元件中。当然,存储器控制器120可以包含比图1中所示的那些更多的元件。
85.在下文中,参照图2更详细地描述存储器装置110。
86.图2是示意性地示出根据本公开的实施例的存储器装置110的框图。
87.参照图2,根据本公开的实施例的存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。
88.存储器单元阵列210可包括多个存储块blk1至blkz,其中z为等于或大于2的自然数。
89.在多个存储块blk1至blkz中,可以设置多条字线wl和多条位线bl,并且可以布置多个存储器单元mc。
90.多个存储块blk1至blkz可通过多条字线wl连接到地址解码器220。多个存储块blk1至blkz可通过多条位线bl连接到读取/写入电路230。
91.多个存储块blk1至blkz中的每一个可包括多个存储器单元。例如,多个存储器单元是可具有垂直沟道结构的非易失性存储器单元。
92.存储器单元阵列210可以被配置为具有二维结构的存储器单元阵列,并且在一些情况下,可以被配置为具有三维结构的存储器单元阵列。
93.存储器单元阵列210中包括的多个存储器单元中的每一个可存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为存储一位数据的单层单元(slc)、被配置为存储两位数据的多层单元(mlc)、被配置为存储三位数据的三层单元(tlc)或被配置为存储四位数据的四层单元(qlc)。又例如,存储器单元阵列210可包括多个存储器单元,该多个存储器单元中的每一个可被配置为存储五位或更多位数据。
94.参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可共同地作为被配置为驱动存储器单元阵列210的外围电路来操作。
95.地址解码器220可通过多条字线wl连接到存储器单元阵列210。
96.地址解码器220可被配置为响应于控制逻辑240的控制而操作。
97.地址解码器220可通过存储器装置110内部的输入/输出缓冲器接收地址。地址解
码器220可以被配置为对接收到的地址之中的块地址进行解码。地址解码器220可以根据经解码的块地址选择至少一个存储块。
98.地址解码器220可以从电压生成电路250接收读取电压vread和通过电压vpass。
99.当在读取操作期间施加读取电压时,地址解码器220可将读取电压vread施加到所选择存储块内部的所选择字线wl,并且可将通过电压vpass施加到剩余的未选择字线wl。
100.在编程验证操作期间,地址解码器220可以将由电压生成电路250生成的验证电压施加到所选择存储块内部的所选择字线wl,并且可以将通过电压vpass施加到剩余的未选择字线wl。
101.地址解码器220可被配置为对接收到的地址之中的列地址进行解码。地址解码器220可以将经解码的列地址传输到读取/写入电路230。
102.存储器装置110可以逐个页面地执行读取操作和编程操作。在请求读取操作和编程操作时接收到的地址可以包括块地址、行地址和列地址中的至少一个。
103.地址解码器220可以根据块地址和行地址选择一个存储块和一条字线。列地址可由地址解码器220解码,并且被提供到读取/写入电路230。
104.地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
105.读取/写入电路230可以包括多个页面缓冲器pb。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”操作,并且当存储器单元阵列210执行写入操作时,读取/写入电路230可以作为“写入电路”操作。
106.上述读取/写入电路230也被称为页面缓冲器电路或数据寄存器电路,该页面缓冲器电路包括多个页面缓冲器pb。读取/写入电路230可以包括参与数据处理功能的数据缓冲器,并且在一些情况下,可以进一步包括在高速缓存功能中操作的高速缓存缓冲器。
107.多个页面缓冲器pb可以通过多条位线bl连接到存储器单元阵列210。为了在读取操作和编程验证操作期间感测存储器单元的阈值电压vth,多个页面缓冲器pb可以向连接到存储器单元的位线bl连续地供应感测电流,可以通过感测节点感测根据相应的存储器单元的编程状态而流动的电流量的改变,并且可以将该电流量的改变锁存为感测数据。
108.读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
109.在读取操作期间,读取/写入电路230感测存储器单元中的数据,临时存储所检索的数据,并且将该数据data输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器pb或页面寄存器之外,读取/写入电路230还可以包括列选择电路。
110.控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可通过存储器装置110的输入/输出缓冲器接收命令cmd和控制信号ctrl。
111.控制逻辑240可被配置为响应于控制信号ctrl而控制存储器装置110的全部操作。控制逻辑240可以输出用于调整多个页面缓冲器pb的感测节点的预充电电位电平的控制信号。
112.控制逻辑240可控制读取/写入电路230以在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号而生成在读取操作期间使用的读取电压vread和通过电压vpass。
113.存储器装置110中包括的存储块blk可包括多个页面pg和多个串。多个页面pg对应于多条字线wl,多个串str对应于多条位线bl。
114.在存储块blk中,多条字线wl和多条位线bl可以交叉布置。例如,多条字线wl中的每一条可以在行方向上布置,并且多条位线bl中的每一条可以在列方向上布置。又例如,多条字线wl中的每一条可以在列方向上布置,并且多条位线bl中的每一条可以在行方向上布置。
115.多条字线wl和多条位线bl的交叉点限定多个存储器单元mc。每个存储器单元mc可以具有布置在其中的晶体管tr。
116.例如,布置在每个存储器单元mc中的晶体管tr可以包括漏极、源极和栅极。晶体管tr的漏极(或源极)可以直接地或经由另一晶体管tr连接到相应的位线bl。晶体管tr的源极(或漏极)可以直接地或经由另一晶体管tr连接到源极线(可以是接地线)。晶体管tr的栅极可以包括浮置栅极(fg)和控制栅极(cg),其中浮置栅极fg由绝缘体包围,并且从字线wl施加栅极电压到控制栅极cg。
117.在多个存储块blk1至blkz的每一个中,第一选择线(也称为源极选择线或漏极选择线)可以被另外地布置在两个最外字线之中更靠近读取/写入电路230的第一最外字线的外侧,并且第二选择线(也称为漏极选择线或源极选择线)可以被另外地布置在另一第二最外字线的外侧。
118.在一些情况下,可以在第一最外字线和第一选择线之间另外布置至少一个虚设字线。另外,可以在第二最外字线和第二选择线之间另外布置至少一个虚设字线。
119.可以逐个页面地执行对存储块的读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。
120.图3是示出根据本公开的实施例的存储器装置110的字线wl和位线bl的结构的示图。
121.参照图3,存储器装置110具有存储器单元mc集中于此的内核区域以及对应于剩余的非内核区域的辅助区域。该辅助区域支持存储器单元阵列210的操作。
122.内核区域可以包括页面pg和串str。在内核区域中,多条字线wl1至wl9与多条位线bl交叉布置。
123.字线wl1至wl9可连接到行解码器310。位线bl可以连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可存在于多条位线bl与列解码器320之间。
124.多条字线wl1至wl9可对应于多个页面pg。
125.例如,如图3所示,多条字线wl1至wl9中的每一条可对应于一个页面pg。当多条字线wl1至wl9中的每一条的大小较大时,多条字线wl1至wl9中的每一条可对应于至少两个(例如,两个或四个)页面pg。每个页面pg是与进行编程操作和读取操作有关的最小单位,并且在进行编程操作和读取操作时,相同页面pg内的所有存储器单元mc可以同时执行操作。
126.多条位线bl可以在奇数编号的位线bl和偶数编号的位线bl之间交替地连接到列解码器320。
127.为了访问存储器单元mc,可首先通过输入/输出端、然后通过行解码器310和列解码器320将地址输入到内核区域,从而指定相应的目标存储器单元。如本文所使用的,指定目标存储器单元是指访问在连接到行解码器310的字线wl1至wl9中的一条与连接到列解码
器320的位线bl中的一条之间的交叉点处的存储器单元mc中的一个,以将数据编程到该存储器单元中或从该存储器单元中读取被编程的数据。
128.第一方向(例如,x轴方向)上的页面pg由被称为字线wl的共用线绑定,并且第二方向(例如,y轴方向)上的串str由被称为位线bl的公共线绑定(连接)。如本文所使用的,被公共地绑定指的是在结构上由相同的材料连接并且在施加电压期间同时接收相同的电压。由于在串联连接的存储器单元mc之中在前的存储器单元mc上的电压降,施加到存储器单元mc之中的下游或下行线的存储器单元mc的电压可能与施加到上游的存储器单元mc的电压略有不同。
129.因为由存储器装置110进行的包括编程操作和读取操作的所有数据处理都经由数据寄存器330发生,所以数据寄存器330起着重要的作用。如果数据寄存器330的数据处理被延迟,则所有其它区域都需要等待,直到数据寄存器330完成数据处理。另外,数据寄存器330的性能劣化可使存储器装置110的总体性能劣化。
130.参照图3所示的示例,在一个串str中,多个晶体管tr1至tr9可连接到多条字线wl1至wl9。多个晶体管tr1至tr9对应于存储器单元mc。在此示例中,多个晶体管tr1至tr9包括控制栅极cg和浮置栅极fg。
131.多条字线wl1至wl9包括两个最外字线wl1和wl9。第一选择线dsl可以另外地布置在两个最外字线wl1和wl9之中就信号路径而言更靠近数据寄存器330的第一最外字线wl1的外侧。第二选择线ssl可以另外地布置在另一第二最外字线wl9的外侧。
132.由第一选择线dsl控制进行导通/关断的第一选择晶体管d-tr具有连接到第一选择线dsl的栅电极,但不包括浮置栅极fg。由第二选择线ssl控制进行导通/关断的第二选择晶体管s-tr具有连接到第二选择线ssl的栅电极,但不包括浮置栅极fg。
133.第一选择晶体管d-tr起到接通或断开相应的串str与数据寄存器330之间的连接的开关的作用。第二选择晶体管s-tr起到接通或断开相应串str和源极线sl之间的连接的开关的作用。也就是说,第一选择晶体管d-tr和第二选择晶体管s-tr起到位于相应的串str的相对端并且传递/阻止信号的网守(gatekeepers)的作用。
134.在编程操作期间,存储器系统100利用电子填充位线bl的、待被编程的目标存储器单元mc。因此,存储器系统100将导通电压vcc施加到第一选择晶体管d-tr的栅电极,从而导通第一选择晶体管d-tr,并且将关断电压(例如,0v)施加到第二选择晶体管s-tr的栅电极,从而关断第二选择晶体管s-tr。
135.在读取操作或验证操作期间,存储器系统100导通第一选择晶体管d-tr和第二选择晶体管s-tr两者。因此,在读取操作或验证操作期间,电流可流经相应的串str并且流入对应于地的源极线sl,从而可测量位线bl的电压电平。然而,在读取操作期间,在第一选择晶体管d-tr和第二选择晶体管s-tr之间可能存在通/断定时的时间差。
136.在擦除操作期间,存储器系统100可通过源极线sl向衬底供应电压(例如, 20v)。在擦除操作期间,存储器系统100使第一选择晶体管d-tr和第二选择晶体管s-tr两者都浮置,从而生成无穷大电阻。因此,第一选择晶体管d-tr和第二选择晶体管s-tr的作用或影响可以被消除,并且由于电位差,电子仅可以在浮置栅极fg和衬底之间操作。
137.图4是示出根据本公开的实施例的存储器控制器120请求对随机数进行认证的操作的示图。
138.参照图4,存储器控制器120可以生成随机数,并且请求存储器装置110认证所生成的随机数。
139.随机数是针对加密通信使用一次的临时值。存储器控制器120可以请求存储器装置110认证随机数以访问存储器装置110。
140.存储器控制器120可以传输针对随机数的单独的认证请求,例如请求存储器装置110认证该随机数。又例如,存储器控制器120可以在读取命令、写入命令或擦除命令中包括随机数,并且传输该读取命令、写入命令或擦除命令以请求对随机数进行认证。
141.在实施例中,存储器控制器120可以向存储器装置110传输随机数以获取对存储器装置110的目标区域tgt_area执行读取操作、写入操作或擦除操作的权限。也就是说,存储器控制器120可以获取对存储器装置110的每个目标区域tgt_area执行读取操作、写入操作或擦除操作的权限,而不是获取对存储器装置110的整个区域执行读取操作、写入操作或擦除操作的权限。即,基于目标区域来获取权限。
142.存储器装置110可以包括其中存储数据的多个页面、各自包括页面的多个存储块、以及各自包括存储块的多个存储器管芯。目标区域tgt_area可以例如是页面、存储块或存储器管芯。
143.图5是示出根据本公开的实施例的存储器控制器120生成随机数的操作的示图。
144.存储器控制器120可以使用密码算法基于上述目标区域tgt_area的物理地址来生成随机数。例如,存储器控制器120可以根据密码算法来对目标区域tgt_area的物理地址进行加密,以生成随机数。
145.图5基于目标区域tgt_area的物理地址的值为0
×
1234的假设。例如,存储器控制器120可以使用加密密钥enc_key,以便根据密码算法对物理地址的值0
×
1234进行加密。
146.例如,加密密钥enc_key可以是当存储器系统100被重置时所生成的随机或伪随机值。
147.又例如,加密密钥enc_key可以是每个存储器系统的、作为存储器系统100的信任根(rot)的唯一值。rot可存储在存储器装置110外部分开的区域中。
148.用于生成随机数的密码算法的示例包括hmac、sha、aes和rsa。可以针对每个存储器系统使用不同的密码算法。
149.存储器系统100可以通过由存储器控制器120驱动的固件以软件运行相应的密码算法,或者通过能够运行密码算法的电路运行相应的密码算法。
150.在下文中,参照图6描述使用密码算法的上述示例之中的hmac来生成和认证随机数的过程。
151.图6是描述用于生成随机数的hmac算法的示例的示图。
152.参照图6,存储器控制器120可以使用加密密钥enc_key针对消息msg生成散列h。该消息msg可以是目标区域tgt_area的物理地址值。消息msg的散列h可以是随机数。
153.存储器控制器120可以将消息msg和散列h传输到存储器装置110。
154.存储器装置110可以使用相同的加密密钥enc_key针对从存储器控制器120接收的消息msg生成散列h'。
155.存储器装置110可以将从存储器控制器120接收的散列h与新生成的散列h'进行比较。当散列h和散列h'彼此相等时,存储器装置110可以确定对随机数的认证成功。另一方
面,当散列h和散列h'彼此不同时,存储器装置110可以确定对随机数的认证失败。
156.在实施例中,用于生成随机数的密码算法可以是hmac。这是因为与诸如aes和rsa的其它密码算法相比,该hmac使用更少数量的逻辑门来运行密码算法。随着存储器装置110中包括的运行密码算法的逻辑门的数量增加,存储器装置110的大小可能增加。在这种情况下,存储器装置110的功耗可能增加,或者存储器装置110不能在预定义的标准内实施。
157.图7是示出根据本公开的实施例的存储器装置110认证随机数的操作的示例的流程图。
158.参照图7,在操作s710中,存储器装置110可以认证随机数,该随机数可以是与目标区域tgt_area的物理地址一起从存储器控制器120接收的。
159.在操作s720中,存储器装置110可以确定对随机数的认证是否已经成功。例如,可以通过如参照图6描述的hmac算法来进行确定。
160.当对随机数的认证已经成功(操作s720中为是)时,在操作s730中,存储器装置110可以为存储器控制器120设置对目标区域执行读取操作、写入操作或擦除操作的权限。存储器装置110可从存储器控制器120接收用于请求对目标区域进行读取操作、写入操作或擦除操作的命令,并且根据接收到的命令对目标区域执行读取操作、写入操作或擦除操作。
161.另一方面,当对随机数的认证已经失败(操作s720中为否)时,在操作s740中,存储器装置110可以为存储器控制器120重置对目标区域执行读取操作、写入操作或擦除操作的权限。如果存储器装置110在此期间从存储器控制器120接收到请求对目标区域进行读取操作、写入操作或擦除操作的命令,则存储器装置110不处理相应的命令。
162.通过使用随机数来管理对目标区域执行读取操作、写入操作或擦除操作的权限,存储器系统100可以防止未授权访问对目标区域执行读取操作、写入操作或擦除操作,从而增强存储器装置110的安全性。
163.例如,当存储器系统100不使用上述fde时,在未执行使用随机数的认证的情况下,存储器系统100可以防止向存储器装置110写入数据/从存储器装置110擦除数据或从存储器装置110读取数据的操作,这使得可以保护存储在存储器装置110中的数据。
164.即使当存储器系统100使用上述fde时,存储器系统100也可以通过使用随机数的认证来增强存储器装置110的安全性。
165.例如,fde可以包括以下方法:加密数据,将加密的数据存储在sram/dram中,然后将数据存储到存储器装置110中。然而,该方法具有难以保护存储器系统100中生成的系统数据(例如,元数据)的缺点。即使在这种情况下,存储器系统100也可通过使用随机数的认证来保护系统数据的读取操作/写入操作/擦除操作。
166.在实施例中,针对单个认证所生成的随机数不适于存储器装置110的整个区域,仅适于被加密成为该随机数的物理地址所指示的目标区域。因此,根据目标区域的单位(例如,页面/存储块/存储器管芯),可以使用大量的随机数以供存储器控制器120访问存储器装置110。此外,当执行主机请求的写入操作或执行后台操作(例如,垃圾收集或读取回收)时,存储有效数据的区域的物理地址值连续地改变。因此,用于对数据执行读取操作/写入操作/擦除操作的随机数的值连续地改变。因为使用了大量的随机数,并且随机数随时间连续改变,所以存储器系统100可以提高存储器装置110的安全性。
167.在下文中,参照图8中的存储器装置110的状态示图,详细描述管理存储器装置110
对目标区域执行读取操作、写入操作或擦除操作的权限的操作。
168.图8示出根据本公开的实施例的存储器装置110的状态示图。
169.参照图8,存储器装置110可以处于第一状态,其中i)设置了存储器控制器120对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限,或者处于第二状态,其中ii)重置了存储器控制器120对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限。
170.当存储器装置110处于第一状态时,存储器装置110可以处理从存储器控制器120接收的对目标区域的读取请求、写入请求或擦除请求。即使在请求被完全处理之后,存储器装置110对于该目标区域仍保持在第一状态。
171.当存储器装置110处于第一状态时,i)当发生断电/通电时或者ii)当从存储器控制器120接收到请求重置对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限的命令(简称为权限重置请求命令)时,存储器装置110可以转变到第二状态。
172.当存储器装置110处于第二状态时,存储器装置110可以在对从存储器控制器120接收的随机数的认证成功时转变到第一状态。
173.当存储器装置110处于第二状态时,在对从存储器控制器120接收的随机数的认证失败时,存储器装置110可以保持在第二状态。
174.在下文中,描述了存储器装置110认证随机数的方法。首先,描述了存储器装置110可以使用密码算法来对随机数进行解密的实施例。
175.图9是示出根据本公开的实施例的存储器装置110认证随机数的方法的示例的示图。
176.参照图9,存储器装置110可以通过将可以通过使用密码算法对从存储器控制器120接收的随机数进行解密而生成的结果值与如参照图6描述的可以与该随机数一起从存储器控制器120提供的目标区域tgt_area的物理地址进行比较来认证该随机数。例如,存储器装置110可以将根据密码算法使用解密密钥dec_key对从存储器控制器120接收的随机数进行解密而获得的结果值与目标区域tgt_area的物理地址进行比较,从而确定该结果值是否与tgt_area的物理地址相同。
177.解密密钥dec_key是用于对由存储器控制器120生成的随机数进行解密的密钥,并且存储器控制器120可以在对随机数的认证被执行之前将解密密钥dec_key传输到存储器装置110。存储器控制器120可以在存储器系统100被初始化时或在存储器系统100被重置时将解密密钥dec_key传输到存储器装置110。
178.根据用于生成随机数的密码算法,解密密钥dec_key可以与上述加密密钥enc_key相等或不同。例如,当所使用的密码算法是对称密钥算法(例如hmac或aes)时,解密密钥dec_key与加密密钥enc_key相等。另一方面,当所使用的密码算法是非对称密钥算法(例如rsa)时,解密密钥dec_key与加密密钥enc_key不同。
179.图10是示出图9的方法的流程图。
180.参照图10,在操作s1010中,存储器装置110可通过根据密码算法利用解密密钥dec_key对从存储器控制器120接收的随机数进行解密来生成解密结果值。
181.在操作s1020中,存储器装置110确定在操作s1010中生成的解密结果值是否与可以与随机数一起从存储器控制器120提供的目标区域tgt_area的物理地址相同。
182.当所述结果值与目标区域tgt_area的物理地址相同(操作s1020中为是)时,在操
作s1030中,存储器装置110可以确定对随机数的认证已经成功,并且为存储器控制器120设置对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限。
183.另一方面,当所述结果值与目标区域tgt_area的物理地址不同(操作s1020中为否)时,在操作s1040中,存储器装置110可以确定对随机数的认证已经失败,并且为存储器控制器120重置对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限。
184.当存储器装置110可根据密码算法执行解密操作时,可应用参照图9和图10描述的方法。
185.然而,当存储器装置110不能够根据密码算法自己执行解密操作时,存储器装置110可以根据另一方法认证随机数。
186.图11是示出根据本公开的实施例的存储器装置110认证随机数的方法的另一示例的示图。
187.参照图11,存储器装置110可以通过将随机数与目标区域tgt_area的参考随机数进行比较来认证从存储器控制器120接收的随机数。
188.目标区域tgt_area的参考随机数可以由存储器控制器120生成。存储器控制器120可以向存储器装置110传输用于设置目标区域tgt_area的参考随机数的命令。例如,当传输请求为存储器控制器120重置对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限的命令时,存储器控制器120还可以向存储器装置110传输参考随机数。
189.当目标区域tgt_area被擦除或者从存储器控制器120接收到针对目标区域tgt_area设置新的参考随机数的命令时,可以重置目标区域tgt_area的参考随机数。
190.图12是示出图11的方法的流程图。
191.参照图12,在操作s1210中,存储器装置110可将从存储器控制器120接收的随机数与目标区域的参考随机数进行比较。
192.在操作s1220中,存储器装置110确定从存储器控制器120接收的随机数是否等于目标区域的参考随机数。
193.当从存储器控制器120接收的随机数与目标区域的参考随机数相等(操作s1220中为是)时,在操作s1230中,存储器装置110可以确定对随机数的认证已经成功,并且为存储器控制器120设置对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限。
194.另一方面,当从存储器控制器120接收的随机数与目标区域的参考随机数不同(操作s1220中为否)时,在操作s1240中,存储器装置110可以确定对随机数的认证已经失败,并且为存储器控制器120重置对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限。
195.图13是示出参照图11描述的参考随机数在存储器装置110中存储的位置的示例的示图。
196.可以根据目标区域tgt_area来决定用于目标区域tgt_area的参考随机数在存储器装置110中存储的位置。
197.例如,当目标区域tgt_area是页面时,目标区域tgt_area的参考随机数可以存储在目标区域tgt_area内部。另一方面,当目标区域tgt_area是存储块或存储器管芯时,目标区域tgt_area的参考随机数可以存储在目标区域tgt_area外部。
198.图14是示出根据本公开的实施例的存储器装置110将随机数的认证结果传输到存
储器控制器120的时间的示例的示图。
199.参照图14,存储器控制器120可以将对随机数的认证请求传输到存储器装置110。存储器装置110可以认证该随机数,并且将认证结果(成功/失败)传输到存储器控制器120。
200.存储器装置110可以在设置的延迟时间之后将随机数的认证结果传输到存储器控制器120。这是为了防止外部攻击者向存储器装置110传递暴力攻击。
201.图15示出根据本公开的实施例的存储器装置110的状态示图的另一示例。
202.图15是通过将初始状态添加到图8而获得的存储器装置110的状态示图。
203.参照图15,存储器装置110可以在最初启动时进入初始状态。存储器装置110可在初始状态中执行读取操作、写入操作或擦除操作而无需单独认证。这是因为,由于未从存储器控制器120接收到随机数或密钥,所以存储器装置110不能在初始状态中执行认证操作。
204.当存储器装置110处于初始状态时,存储器装置110可以处理从存储器控制器120接收的对目标区域的读取请求、写入请求或擦除请求。即使在请求被完全处理之后,存储器装置110也可以针对该目标区域而保持在初始状态。
205.当在存储器装置110处于初始状态的同时从存储器控制器120接收到请求设置访问权限的命令(简称为权限设置命令)时,存储器装置110可以转变到第一状态,在第一状态中,设置存储器控制器120对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限。此时,存储器装置110可以从存储器控制器120随请求设置访问权限的命令一起接收用于对参考随机数或随机数进行解密的解密密钥。
206.当存储器装置110处于第一状态时,存储器装置110可以处理从存储器控制器120接收的对目标区域的读取请求、写入请求或擦除请求。即使在请求被完全处理之后,存储器装置110仍保持在第一状态。
207.当存储器装置110处于第一状态时,i)当发生断电/通电时或者ii)当从存储器控制器120接收到请求重置对目标区域tgt_area执行读取操作、写入操作或擦除操作的权限的命令(简称为权限重置请求命令)时,存储器装置110可以转变到第二状态,在该第二状态中,重置存储器控制器120对目标区域执行读取操作、写入操作或擦除操作的权限。
208.当存储器装置110处于第一状态时,存储器装置110可以在从存储器控制器120接收到初始化请求命令时转变到初始状态。
209.当存储器装置110处于第二状态时,存储器装置110可以在对从存储器控制器120接收的随机数的认证成功时转变到第一状态。
210.当存储器装置110处于第二状态时,当对从存储器控制器120接收的随机数的认证失败时,存储器装置110可以保持在第二状态。
211.图16是示出根据本公开的实施例的存储器系统100的操作方法的流程图。
212.存储器系统100的操作方法可以包括由存储器控制器120根据密码算法基于存储器装置110的目标区域的物理地址生成随机数(s1610)。
213.该目标区域可以是页面、存储块或存储器管芯。该密码算法可以例如是hmac、sha、aes和rsa中的一种。
214.存储器系统100的操作方法可以包括由存储器控制器120请求对所生成的随机数进行认证(s1620)。
215.存储器系统100的操作方法可以包括由存储器装置110认证该随机数(s1630)。
216.在操作s1630中,例如,存储器装置110可以通过对该随机数进行解密以生成结果值,然后通过将该结果值和与该随机数一起从存储器控制器120提供的目标区域的物理地址进行比较来认证该随机数。
217.在操作s1630中,又例如,存储器装置110可以通过将随机数与目标区域的参考随机数的值进行比较来认证该随机数。参考随机数可以存储在目标区域中。
218.存储器系统100的操作方法可以包括当对随机数的认证成功时,由存储器装置110为存储器控制器120设置对目标区域执行读取操作、写入操作或擦除操作的权限(s1640)。
219.i)当发生断电/通电时或者ii)当请求重置存储器控制器120对目标区域执行读取操作、写入操作或擦除操作的权限的命令被传输到存储器装置110时,可以重置对目标区域执行读取操作、写入操作或擦除操作的权限。
220.可以在设置的延迟时间之后,由存储器装置110将随机数的认证结果传输到存储器控制器120。
221.存储器控制器120的上述操作可以由控制电路123控制,并且根据处理器124运行(驱动)固件的方法来执行,在该固件中执行存储器控制器120的操作。
222.图17是示出根据本公开的实施例的计算系统1700的配置的示图。
223.参照图17,计算系统1700可以包括:存储器系统100,电连接到系统总线1760;cpu 1710,被配置为控制计算系统1700的全部操作;ram 1720,被配置为存储与计算系统1700的操作相关的数据和信息;用户接口/用户体验(ui/ux)模块1730,被配置为向用户提供用户环境;通信模块1740,被配置为以有线和/或无线方式与外部装置通信;以及电源管理模块1750,被配置为管理计算系统1700所使用的电力。
224.计算系统1700可以是个人计算机(pc),或者可以包括诸如智能手机、平板电脑或各种其他电子装置中的任意一种的移动终端。
225.计算系统1700可进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和dram。如本领域技术人员所理解的,可以包括另外的元件。
226.存储器系统100不仅可以包括被配置为将数据存储在磁盘中的诸如硬盘驱动器(hdd)的装置,而且可以包括被配置为将数据存储在非易失性存储器中的诸如固态驱动器(ssd)、通用闪存装置或嵌入式mmc(emmc)装置的装置。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、铁电ram(fram)等。另外,存储器系统100可被实施为可安装或嵌入到各种电子装置中的任意一种中的各种类型的存储装置的任意一种。
227.根据上述本发明公开内容的实施例,可减少或最小化存储器系统的操作延迟时间。另外,根据本发明公开内容的实施例,可以减少或最小化在调用特定功能的过程中发生的开销。尽管已经示出和描述了本发明公开内容的各个实施例,但是本领域技术人员将理解的是,在不脱离如所附权利要求中阐述的本发明的范围和精神的情况下,可进行各种修改、添加和替换。因此,为了简洁和清楚起见,已经描述了本发明公开内容的实施例,而不限制本发明。本发明的范围涵盖落入包括其等同方案的权利要求范围内的所有变型。
再多了解一些

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

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

相关文献