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

存储器系统、存储器控制器以及操作存储器系统的方法与流程

2022-02-20 00:09:11 来源:中国专利 TAG:

存储器系统、存储器控制器以及操作存储器系统的方法
1.相关申请的交叉引用
2.本技术要求于2020年6月22日提交的申请号为10-2020-0075461的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
3.本公开的实施例涉及一种存储器系统、存储器控制器以及操作该存储器系统的方法。


背景技术:

4.存储器系统(例如,存储装置)基于来自诸如计算机、移动终端(例如,智能电话或平板电脑)或各种其它电子装置中的任一种的主机的请求来存储数据。存储器系统可以是诸如硬盘驱动器(hdd)的将数据存储在磁盘中的一种装置,或者诸如固态驱动器(sdd)、通用闪存(ufs)装置或嵌入式mmc(emmc)装置的将数据存储在非易失性存储器中的一种装置。
5.存储器系统进一步可以包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以基于接收到的命令运行或控制用于读取、写入或擦除存储器系统中包括的易失性存储器或非易失性存储器中的数据的操作。存储器控制器可以驱动固件以执行用于控制这些操作的逻辑运算。
6.当发生突然断电(spo)时,存储器系统可能会将易失性存储器中的数据转储(dump)到存储器装置。此后,存储器系统可以利用在通电时转储的数据执行恢复操作以恢复在发生spo之前的状态下的数据。为了使在将易失性存储器中的数据转储到存储器装置的过程中所需的时间最小化,存储器系统可以允许继续执行在当前执行的操作之中必须完成的操作,并且可以中止剩余操作。


技术实现要素:

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

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

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

相关文献