存储设备、存储系统以及操作存储系统的方法

文档序号:29313158发布日期:2022-03-19 20:48阅读:138来源:国知局
存储设备、存储系统以及操作存储系统的方法
存储设备、存储系统以及操作存储系统的方法
1.相关申请的交叉引用
2.本技术要求于2020年9月17日在韩国知识产权局提交的韩国专利申请no.10-2020-0119822的权益,其公开内容通过引用全部并入本文。
技术领域
3.发明构思涉及一种存储设备、存储系统和/或操作存储系统的方法。


背景技术:

4.当文件系统在存储设备中存储文件时,文件系统在存储设备中存储文件数据和元数据。文件数据包括要由用户应用存储的文件的内容,元数据包括文件的属性和存储文件数据的块的位置。另外,当文件系统从存储设备读取文件时,必须从存储设备读取存储的文件数据和元数据。
5.同时,文件系统可以支持检查点(checkpointing)功能,以支持存储设备的突然断电。使用检查点功能,当突然断电后再次通电时,文件系统可以快速帮助保证一致性或更快速地帮助保障一致性。


技术实现要素:

6.一些示例实施例提供了一种通过重新映射闪存映射表来执行检查点的存储设备。
7.一些示例实施例还提供了一种存储系统和/或操作该存储系统的方法,该存储系统包括通过重新映射闪存映射表来执行检查点的存储设备。
8.然而,示例实施例不限于本文所述的实施例。通过参考下面给出的对发明构思的详细描述,示例实施例所属领域的普通技术人员将更加清楚地了解发明构思的上述和其他方面。
9.根据一些示例实施例,一种存储系统包括存储设备和主机,所述存储设备包括非易失性存储器,所述非易失性存储器被配置为在物理地址处存储数据,所述物理地址包括第一物理地址和第二物理地址,所述主机包括主机处理电路,所述主机处理电路被配置为:(a)将第一日记(journal)逻辑地址和第一目标逻辑地址插入到日记映射表中,(b)通过按扇区在日志(log)页中布置第一日记数据来生成日记记录命令,所述扇区被编址到(addressed to)所述第一目标逻辑地址,以及(c)生成包括所述第一目标逻辑地址和所述第一日记逻辑地址的检查点命令。所述存储设备包括闪存映射表和存储设备处理电路,所述闪存映射表被配置为存储第一映射状态,在该第一映射状态中,所述第一日记逻辑地址映射到所述第一物理地址,并且所述第一目标逻辑地址映射到所述第二物理地址,所述存储设备处理电路被配置为:(d)响应于所述日记记录命令,将按扇区布置的所述第一日记数据写入所述非易失性存储器的区域,该区域被编址到根据所述第一映射状态与所述第一日记逻辑地址对应的所述第一物理地址,以及(e)响应于所述检查点命令,将所述闪存映射表的所述第一映射状态改变为第二映射状态,在该第二映射状态中,所述第一目标逻辑地址
被重新映射到所述第一物理地址。
10.根据一些示例实施例,一种操作存储系统的方法包括:将第一日记逻辑地址、第一目标逻辑地址、第二日记逻辑地址和第二目标逻辑地址插入到主机中的日记映射表中;通过按扇区布置第一日记数据和第二日记数据来生成日志页,所述扇区被编址到所述第一目标逻辑地址和所述第二目标逻辑地址;将包括在所述日志页中的所述第一日记数据写入非易失性存储器的被编址到第一物理地址的区域,该第一物理地址根据闪存映射表被映射到所述第一日记逻辑地址;将包括在所述日志页中的所述第二日记数据写入所述非易失性存储器的被编址到第二物理地址的区域,该第二物理地址根据所述闪存映射表被映射到所述第二日记逻辑地址;生成包括所述第一目标逻辑地址、所述第一日记逻辑地址、所述第二目标逻辑地址和所述第二日记逻辑地址的检查点命令;以及响应于所述检查点命令,通过将所述第一物理地址重新映射到所述第一目标逻辑地址以及将所述第二物理地址重新映射到所述第二目标逻辑地址来更新所述闪存映射表。
11.根据一些示例实施例,一种存储设备包括非易失性存储器以及存储器控制器电路,所述非易失性存储器被配置为在物理地址处存储数据,所述物理地址包括第一物理地址和第二物理地址,所述存储器控制器电路包括存储第一映射状态的闪存映射表,在该第一映射状态中,第一日记逻辑地址被映射到所述第一物理地址,并且第一目标逻辑地址被映射到所述第二物理地址。所述非易失性存储器被配置为:接收包括第一日记数据的日志页,并且将所述第一日记数据写入根据存储在所述闪存映射表中的所述第一映射状态与所述第一日记逻辑地址对应的所述第一物理地址,所述存储器控制器电路被配置为:接收包括所述第一日记逻辑地址和所述第一目标逻辑地址的检查点命令,并且响应于所述检查点命令,将所述闪存映射表的所述第一映射状态改变为第二映射状态,在该第二映射状态中,所述第一目标逻辑地址被重新映射到所述第一物理地址。
附图说明
12.通过结合附图对一些示例实施例的以下描述,这些和/或其他方面将变得明显并且更容易理解,其中:
13.图1是根据一些示例实施例的存储系统的框图;
14.图2是图1的主机的框图;
15.图3是图1的存储器控制器的框图;
16.图4是图1的非易失性存储器的框图;
17.图5示出了适用于图1的非易失性存储器的3d v-nand结构;
18.图6示出了适用于图1的非易失性存储器的bvnand结构;
19.图7到图10是用于说明根据一些示例实施例的存储系统的图;
20.图11到图12和图14到图16是用于说明根据一些示例实施例的存储设备的操作的框图;
21.图13是用于说明存储设备的操作的框图;
22.图17a到图18b是用于说明根据一些示例实施例的存储系统的效果的图;以及
23.图19示出了应用了根据一些示例实施例的存储设备的数据中心。
具体实施方式
24.图1是根据一些示例实施例的存储系统的框图。
25.参照图1,根据一些示例实施例的存储系统可以包括主机100和存储设备200。
26.主机100可以包括存储引擎123。存储引擎123可以根据从存储设备200读取数据和/或向存储设备200写入数据的查询来生成命令。主机100可以向存储设备200提供命令。
27.存储设备200可以包括存储器控制器202、缓冲存储器204和非易失性存储器(nvm)300。
28.存储设备200可以包括用于根据来自主机100的请求存储数据的存储介质。存储设备200可以包括例如固态硬盘(ssd)、嵌入式存储器和可移除外部存储器中的至少一种。当存储设备200是或包括ssd时,存储设备200可以是或包括符合快速非易失性存储器(nvme)标准的设备。当存储设备200是或包括嵌入式存储器或外部存储器时,存储设备200可以是符合通用闪存(ufs)或嵌入式多媒体卡(emmc)标准的设备。主机100和存储设备200中的每一者可以根据所采用的标准协议生成和/或发送包(packet)。
29.存储器控制器202可以连接(例如,有线连接和/或无线连接)到主机100和非易失性存储器300。存储器控制器202可以被配置为响应于主机100的命令访问非易失性存储器300。
30.缓冲存储器204可以临时存储要记录在非易失性存储器300中的数据或从非易失性存储器300读取的数据。缓冲存储器204可以设置在存储器控制器202外部和/或设置在存储器控制器202中。缓冲存储器204可以是或包括用作缓冲器的易失性存储器,但也可以是或包括非易失性存储器。
31.非易失性存储器300可以是或包括,例如,闪存。闪存可以包括2d nand存储器阵列和/或3d(或垂直)nand(vnand)存储器阵列。可选地或另外地,存储设备200可以包括各种其他类型的非易失性存储器。例如,存储设备200可以包括磁ram(mram)、自旋转移力矩mram、导电桥接ram(cbram)、铁电ram(feram)、相变ram(pram)、电阻ram和各种其他类型的存储器中的至少一种。
32.图2是图1的主机100的框图。
33.参照图2,主机100可以包括主机处理器110、主机存储器120、rom 160和主机接口170。主机处理器110、主机存储器120和rom 160可以通过总线105彼此电连接。
34.主机处理器110可以控制主机100的整体操作。主机处理器110可以驱动用于驱动主机100的操作系统(os)130、应用140和存储引擎150。
35.主机存储器120可以用作驱动软件或固件的驱动存储器。要由主机处理器110处理的应用程序和/或数据可以加载到主机存储器120中。例如,主机存储器120可以加载os 130、应用140和存储引擎150。
36.rom 160可以存储初始启动(initial booting)所需或在初始启动期间使用的代码数据。
37.主机接口170可以提供主机100与存储设备200之间的接口。例如,主机100和存储设备200可以通过各种标准化接口中的至少一种进行连接。标准化接口可以包括各种接口,例如以下中的至少一种:先进技术附件(ata)、串行ata(sata)、外部sata(e-sata)、小型计算机系统接口(scsi)、串行连接scsi(sas)、外围组件互连(pci)、快速pci(pci-e)、通用串
行总线(usb)、ieee 1394和卡接口。
38.图3是图1的存储器控制器202的框图。
39.参照图3,存储器控制器202可以包括至少一个处理器210、工作存储器220、主机接口250、缓冲管理器260和非易失性存储器接口270。至少一个处理器210、工作存储器220和缓冲管理器260可以通过总线205彼此电连接。
40.处理器210可以包括中央处理单元(cpu)、控制器或专用集成电路(asic)中的至少一个。处理器210可以控制存储器控制器202的整体操作。处理器210可以通过驱动加载到工作存储器220中的固件来控制存储器控制器202。
41.工作存储器220可以加载用于控制存储器控制器202的软件和/或固件。例如,闪存转换层(ftl)可以加载到工作存储器220中并在其中被驱动。工作存储器220可以实现为高速缓存存储器、dram、sram或闪存中的至少一种。
42.ftl可以执行各种功能,例如地址映射、损耗均衡和垃圾收集中的至少一个。
43.地址映射操作是或包括将从主机100接收到的逻辑地址转换成物理地址的操作,该物理地址用于实际或物理地将数据存储在非易失性存储器300中。ftl可以在工作存储器220中使用闪存映射表240将逻辑地址转换为物理地址,并且可以将物理地址提供给非易失性存储器300。
44.损耗均衡是或包括这样的技术:该技术用于通过允许非易失性存储器300中的块被均匀使用来防止或减少特定块的过度劣化量,并且可以通过例如平衡物理块的擦除计数的固件技术来实现。垃圾收集是或包括这样的技术:该技术用于通过将块的有效数据复制到新块然后擦除现有块来确保非易失性存储器300中的可用容量。
45.存储设备检查点引擎230可以将从主机100接收到的日记数据写入非易失性存储器300。检查点引擎230可以响应从主机100接收到的检查点命令执行检查点操作。存储设备检查点引擎230可以通过更新闪存映射表240来执行检查点操作。这将在下面参照图12到图17b进行详细描述。尽管存储设备检查点引擎230被示出为工作存储器220的组件,但是示例性实施例不限于此。例如,存储设备检查点引擎230执行的功能可以由存储器控制器202内的其他组件或存储设备200内的其他组件来执行。
46.主机接口250可以向主机100发送包以及从主机200接收包。从主机100发送到主机接口250的包可以包括要被记录在非易失性存储器300中的命令或数据。从主机接口250发送到主机100的包可以包括对命令的响应或者从非易失性存储器300读取的数据。主机接口250可以提供主机100与存储器控制器202之间的接口。例如,主机100和存储器控制器202可以通过各种标准化接口中的至少一种来连接。标准化接口可以包括各种接口,例如,上面在图2中描述的主机接口170。
47.缓冲管理器260可以在存储器控制器202与缓冲存储器204之间提供接口。要记录在非易失性存储器300中的数据和/或从非易失性存储器300读取的数据可以通过缓冲管理器260被临时存储在缓冲存储器204中。尽管缓冲器管理器260被示出为与存储器控制器202的其他组件分离,但是示例实施例不限于此。例如,缓冲器管理器260执行的功能可以由存储器控制器202内的其他组件和/或存储设备200内的其他组件来执行。
48.非易失性存储器接口270可以向非易失性存储器300发送要被记录在非易失性存储器300中的数据,和/或可以接收从非易失性存储器300读取的数据。非易失性存储器接口
270可以实现为符合诸如toggle和/或onfi的标准协议。
49.图4是图1的非易失性存储器300的框图。参照图4,非易失性存储器300可以包括控制逻辑电路320、存储单元阵列330、页缓冲单元340、电压发生器350和行译码器360。尽管图4中未示出,但是非易失性存储器300还可以包括存储器接口电路310,并且还可以包括列逻辑、预译码器、温度传感器、命令译码器、地址译码器等中的至少一个。
50.控制逻辑电路320通常可以控制非易失性存储器300中的各种操作。控制逻辑电路320可以响应于来自存储器接口电路310的命令cmd和/或地址addr输出各种控制信号。例如,控制逻辑电路320可以输出电压控制信号ctrl_vol、行地址x-addr和列地址y-addr。
51.存储单元阵列330可以包括多个存储块blk1到blkz(其中z是正整数),并且存储块blk1到blkz中的每个存储块可以包括多个存储单元。多个存储单元中的每个存储单元可以存储至少一个位。存储单元阵列330可以通过位线bl连接到页缓冲器单元340,并且可以通过字线wl、串选择线ssl和接地选择线gsl连接到行译码器360。
52.在一些示例实施例中,存储单元阵列330可以包括3d存储单元阵列,并且3d存储单元阵列可以包括多个nand串。每个nand串可以包括分别连接到垂直堆叠在衬底上的字线的存储单元。如下专利通过引用并入本文:美国专利公开no.7,679,133、美国专利公开no.8,553,466、美国专利公开no.8,654,587、美国专利公开no.8,559,235和美国专利申请公开no.2011/0233648。可选地或另外地,在一些示例实施例中,存储单元阵列330可以包括2d存储单元阵列,并且2d存储单元阵列可以包括沿行方向和列方向设置的多个nand串。
53.页缓冲器单元340可以包括多个页缓冲器pb1到pbn(其中n是3或更多的整数),并且页缓冲器pb1到pbn可以分别通过位线bl连接到存储单元。页缓冲器单元340可以响应于列地址y-addr选择位线bl中的至少一条位线。页缓冲器单元340可以根据操作模式作为编程或写入驱动器和/或感测放大器来操作。例如,在写入/编程操作期间,页缓冲器单元340可以将与要编程的数据对应的位线电压施加到选定位线。在读取操作期间,页缓冲器单元340可以通过感测选定位线的电流或电压来感测存储在存储单元中的数据。尽管页缓冲器单元340被示出为与非易失性存储器300分离,但是示例实施例不限于此。例如,页缓冲器单元340执行的功能可以由非易失性存储器300内的其他组件来执行,或者可以由与非易失性存储器300分离的组件来执行。
54.电压发生器350可以生成各种类型的电压,例如各种类型的dc电压,用于基于电压控制信号ctrl_vol执行编程、读取和擦除操作。例如,电压发生器350可以生成作为字线电压vwl的编程电压、读取电压、编程验证电压、擦除电压等中的至少一个。
55.行译码器360可以响应于行地址x-addr选择字线wl之一,并且可以选择串选择线ssl之一。例如,行译码器360可以在编程操作期间向选定字线施加编程电压和编程验证电压,并且可以在读取操作期间向选定字线施加读取电压。
56.图5示出了适用于图1的非易失性存储器300的3d v-nand结构。当图1的非易失性存储器300被实现为3d v-nand型闪存时,构成/包括在非易失性存储器300的存储单元阵列330中的存储块blk1到blkz中的每一存储块可以表示为如图5所示的等效电路。
57.图5所示的存储块blki是或包括在衬底上以3d结构形成的3d存储块。例如,包括在存储块blki中的多个存储器nand串可以在垂直于衬底表面的方向上形成。
58.参照图5,存储块blki可以包括连接在位线bl1到bl3与公共源极线csl之间的多个
存储器nand串ns11到ns33。存储器nand串ns11到ns33中的每一者可以包括串选择晶体管sst、多个存储单元mc1到mc8以及接地选择晶体管gst。尽管在图5中存储器nand串ns11到ns33中的每一者包括八个存储单元mc1到mc8,但是本发明的构思不限于此。
59.串选择晶体管sst可以连接到对应的串选择线ssl1、ssl2或ssl3。存储单元mc1到mc8可以分别连接到对应的栅极线gtl1到gtl8。栅极线gtl1到gtl8可以是或对应于字线,并且栅极线gtl1到gtl8中的一些可以是或对应于虚设字线(例如,在非易失性存储器300的操作期间不被电激活的虚设字线)。接地选择晶体管gst可以连接到对应的接地选择线gsl1、gsl2或gsl3。串选择晶体管sst可以连接到对应的位线bl1、bl2或bl3,并且接地选择晶体管gst可以连接到公共源极线csl。
60.同一层级的字线(例如,wl1)可以共同连接,接地选择线gsl1到gsl3和串选择线ssl1到ssl3可以彼此分离。尽管在图5中存储块blki连接到八条栅极线gtl1到gtl8和三条位线bl1到bl3,但是本发明的构思不限于此。
61.图6示出了适用于图1的非易失性存储器300的bvnand结构。参照图6,非易失性存储器300可以具有芯片对芯片(c2c)结构。c2c结构可以通过如下方式来形成:在第一晶片上制造(或制作)包括单元区域cell的上芯片,在与第一晶片不同的第二晶片上制造(或制作)包括外围电路区域peri的下芯片,然后使用接合方法(例如晶片接合方法)连接上芯片和下芯片。例如,接合方法可以是指电连接形成在上芯片的最上面金属层上的接合金属和形成在下芯片的最上面金属层上的接合金属的方法。例如,当接合金属由铜(cu)制成或包括铜(cu)时,接合方法可以是cu-cu接合方法。接合金属还可以由铝和/或钨制成或包括铝和/或钨。
62.根据一些示例性实施例的非易失性存储器300的外围电路区域peri和单元区域cell均可以包括外部焊盘接合区域pa、字线接合区域wlba和位线接合区域blba。
63.外围电路区域peri可以包括第一衬底1210、层间绝缘层1215、形成在第一衬底1210上的多个电路元件1220a到1220c、分别连接到电路元件1220a到1220c的第一金属层1230a到1230c,以及形成在第一金属层1230a到1230c上的第二金属层1240a到1240c。在一些示例实施例中,第一金属层1230a到1230c可以由具有相对高电阻的钨制成或包括钨,并且第二金属层1240a到1240c可以由具有相对低电阻的铜制成或包括铜。
64.尽管本文仅示出和描述了第一金属层1230a到1230c和第二金属层1240a到1240c,但本发明的构思不限于此。还可以在第二金属层1240a到1240c上进一步形成一个或更多个金属层。在第二金属层1240a到1240c上形成的一个或更多个金属层中的至少一些可以由电阻低于形成第二金属层1240a到1240c的铜的电阻的铝制成或包括铝。
65.层间绝缘层1215可以设置在第一衬底1210上以覆盖电路元件1220a到1220c、第一金属层1230a到1230c和第二金属层1240a到1240c,并且可以包括绝缘材料,例如氧化硅或氮化硅。
66.下接合金属1271b和1272b可以形成在字线接合区域wlba的第二金属层1240b上。在字线接合区域wlba中,可以通过接合方法将外围电路区域peri的下接合金属1271b和1272b电连接到单元区域cell的上接合金属1371b和1372b,并且下接合金属1271b和1272b以及上接合金属1371b和1372b可以由铝、铜或钨制成。
67.单元区域cell可以提供至少一个存储块。单元区域cell可以包括第二衬底1310和
公共源极线1320(对应于图5的csl)。多条字线1331到1338(1330,对应于图5的gtl1到gtl 8)可以沿垂直于第二衬底1310的上表面的第三方向z堆叠在第二衬底1310上。串选择线和接地选择线可以设置在字线1330上和下方,并且字线1330可以设置在串选择线与接地选择线之间。
68.在位线接合区域blba中,沟道结构ch可以在垂直于第二衬底1310的上表面的方向上延伸,以穿透字线1330、串选择线和接地选择线。每个沟道结构ch可以包括数据存储层、沟道层和掩埋绝缘层,并且沟道层可以电连接到第一金属层1350c和第二金属层1360c。例如,第一金属层1350c可以是或对应于或包括位线接触,并且第二金属层1360c可以是位线或对应于或包括(对应于图5的bl1到bl3)。在一些示例实施例中,位线1360c可以沿平行于第二衬底1310的上表面的第二方向y延伸。
69.在图6所示的一些示例实施例中,设置有沟道结构ch和位线1360c的区域可以被定义为位线接合区域blba。在位线接合区域blba中,位线1360c可以电连接到在外围电路区域peri中提供页缓冲器1393的电路元件1220c。例如,位线1360c可以连接到单元区域cell中的上接合金属1371c和1372c,并且上接合金属1371c和1372c可以连接到与页缓冲器1393的电路元件1220c连接的下接合金属1271c和1272c。
70.在字线接合区域wlba中,字线1330可以沿平行于第二衬底1310的上表面的第一方向x延伸,并且可以连接到多个单元接触插塞1341至1347(1340)。字线1330和单元接触插塞1340可以通过由字线1330中的至少一些提供的焊盘彼此连接,这些字线1330沿第一方向x延伸至不同的长度。第一金属层1350b和第二金属层1360b可以顺序地连接到与字线1330连接的单元接触插塞1340。在字线接合区域wlba中,单元接触插塞1340可以通过单元区域cell的上接合金属1371b和1372b以及外围电路区域peri的下接合金属1271b和1272b连接到外围电路区域peri。
71.单元接触插塞1340可以电连接到在外围电路区域peri中提供行译码器1394的电路元件1220b。在一些示例实施例中,提供行译码器1394的电路元件1220b的工作电压(例如,dc工作电压)可以不同于提供页缓冲器1393的电路元件1220c的工作电压(例如,dc工作电压)。例如,提供页缓冲器1393的电路元件1220c的工作电压可以大于或在数值上大于提供行译码器1394的电路元件1220b的工作电压。
72.公共源极线接触插塞1380可以设置在外部焊盘接合区域pa中。公共源极线接触插塞1380可以由以下项制成或包括以下项:导电材料(诸如金属)、金属化合物或多晶硅(诸如掺杂的多晶硅),公共源极线接触插塞1380可以电连接到公共源极线1320。第一金属层1350a和第二金属层1360a可以顺序地堆叠在公共源极线接触插塞1380上。例如,设置有公共源极线接触插塞1380、第一金属层1350a和第二金属层1360a的区域可被定义为外部焊盘接合区域pa。
73.输入/输出焊盘1205和1305可以设置在外部焊盘接合区域pa中。下绝缘层1201可以形成在第一衬底1210下方以覆盖第一衬底1210的下表面,第一输入/输出焊盘1205可以形成在下绝缘层1201上。第一输入/输出焊盘1205可以通过第一输入/输出接触插塞1203连接到设置在外围电路区域peri中的电路元件1220a到1220c中的至少一个,并且可以通过下绝缘层1201与第一衬底1210分离。可选地或者另外地,侧绝缘层可以设置在第一输入/输出接触插塞1203与第一衬底1210之间,以将第一输入/输出接触插塞1203与第一衬底1210电
分开。
74.上绝缘层1301可以形成在第二衬底1310上以覆盖第二衬底1310的上表面,第二输入/输出焊盘1305可以设置在上绝缘层1301上。第二输入/输出焊盘1305可以通过第二输入/输出接触插塞1303连接到设置在外围电路区域peri中的电路元件1220a到1220c中的至少一个。例如,第二输入/输出焊盘1305可以通过第二输入/输出接触插塞1303经由金属图案1272a和1271a电连接到电路元件1220a。
75.根据一些示例实施例,第二衬底1310和公共源极线1320可以不被设置在设置有第二输入/输出接触插塞1303的区域中。可选地或另外地,第二输入/输出焊盘1305在第三方向z上可以不与字线1330交叠。参照图6,第二输入/输出接触插塞1303可以在平行于第二衬底1310的上表面的方向上与第二衬底1310分离,并且可以通过穿透单元区域cell的层间绝缘层1315连接到第二输入/输出焊盘1305。
76.根据一些示例实施例,可以选择性地形成第一输入/输出焊盘1205和第二输入/输出焊盘1305。例如,根据一些示例实施例的非易失性存储器300可以仅包括设置在第一衬底1210上的第一输入/输出焊盘1205,或者可以仅包括设置在第二衬底1310上的第二输入/输出焊盘1305。可选地或另外地,非易失性存储器300可以包括第一输入/输出焊盘1205和第二输入/输出焊盘1305两者。
77.在单元区域cell和外围电路区域peri中的每一者中包括的外部焊盘接合区域pa和位线接合区域blba中的每个区域中,最上面的金属层的金属图案可以作为虚设图案存在,或者上面的金属层可以是空的。
78.在根据一些示例实施例的非易失性存储器300的外部焊盘接合区域pa中,具有与单元区域cell的上金属图案1372a相同形状的下金属图案1273a可以形成在外围电路区域peri的最上面的金属层中,以对应于形成在单元区域cell的最上面的金属层中的上金属图案1372a。在外围电路区域peri的最上面的金属层中形成的下金属图案1273a可以不连接到外围电路区域peri中的附加接触。上金属图案1372a可以通过接触1371a连接到第二金属层1360a。类似地,在外部焊盘接合区域pa中,与外围电路区域peri的下金属图案具有相同形状的上金属图案可以形成在单元区域cell的最上面的金属层中,以对应于在外围电路区域peri的最上面的金属层中形成的下金属图案。
79.下接合金属1271b和1272b可以形成在字线接合区域wlba的第二金属层1240b上。在字线接合区域wlba中,外围电路区域peri的下接合金属1271b和1272b可以通过接合方法电连接到单元区域cell的上接合金属1371b和1372b。
80.可选地或另外地,在位线接合区域blba中,与外围电路区域peri的下金属图案1252具有相同形状的上金属图案1392可以形成在单元区域cell的最上面的金属层中,以对应于在外围电路区域peri的最上面的金属层中形成的下金属图案1252。在单元区域cell的最上面的金属层中形成的上金属图案1392上可以不形成接触。下金属图案1252可以具有接触1251,以连接到第二金属层1240c。
81.图7到图10是用于说明根据一些示例实施例的存储系统的图。
82.参照图7,在一些示例实施例中,应用140可以向主机100内的存储引擎150提供查询。该查询可以是或包括,例如,包括要写入存储设备200的数据和逻辑地址的put查询和/或包括要从存储设备200读取的数据的逻辑地址的get查询。应用140可以是或包括,例如,
关键字-值(key-value)存储数据库(db)。关键字-值存储db可以是例如rocks db、level db或mongo db中的至少一种。
83.主机100内的存储引擎150可以包括查询接口层152、关键字-值映射层154、日记记录层156和块接口层158。查询接口层152可以接收来自应用140的查询。当应用140是关键字-值存储数据库时,存储引擎150可以从应用140接收包括关键字-值对的查询,而不是数据和逻辑地址。关键字-值映射层154可以将关键字-值对转换为逻辑地址和值。尽管图7示出了主机100内的存储引擎150的每个组件是分开的,但是示例实施例不限于此。例如,这里描述的查询接口层152、关键字-值映射层154、日记记录层156和块接口层158的一些功能可以由查询接口层152、关键字-值映射层154、日记记录层156和块接口层158中的其他层的来执行。
84.日记记录层156可以包括日记管理器161和主机检查点管理器165。当从应用140接收查询时,日记管理器161可以将一对目标逻辑地址和日记逻辑地址写入日记映射表(jmt)164。日记管理器161可以将查询中包括的日记数据临时存储在日记缓冲器162中。当从应用140提供的查询聚集以生成事务时,块对准器163可以生成日记记录命令request(请求)。事务可以是或包括工作单元,在工作单元中日记管理器161能够同时执行多个查询的。尽管如本文所述,日记管理器161执行与主机检查点管理器165不同的功能,但示例实施例不限于此。例如,描述为由日记管理器161执行的一些功能可以由诸如主机检查点管理器165的其他处理电路执行,反之亦然。主机处理电路可以执行主机检查点管理器165和日记管理器161两者的动作。
85.参照图8,事务10可以包括,例如,头部、元数据(meta data)、数据(data)和尾部。头部可以指示事务10的起点,尾部可以指示事务10的终点。元数据可以包括日记数据data的属性和存储日记数据data的逻辑地址。日记管理器161可以以扇区(例如,具有固定长度的扇区)为单位在日志页log page 0中布置事务10中包括的日记数据data。日记管理器161可以生成包括日志页log page 0的日记记录命令request。例如,当事务10中包括的第一日记数据data a和第二日记数据datab中的每一者的大小小于每个扇区的大小并且第三日记数据data c的大小大于每个扇区的大小时,第一日记数据data a可以被布置在日志页log page 0的第一扇区的起点1处,第二日记数据data b可以被布置在日志页的第二扇区的起点2处,第三日记数据data c可以被布置在日志页的第三扇区的起点3处。在示例实施例中,在日志页中,可以按扇区布置多个扇区(例如,第一扇区、第二扇区和第三扇区等),换言之,多个扇区(例如,第一扇区、第二扇区和第三扇区等)可以被顺序地布置。
86.参照图9,事务10中包括的日记数据data可以被布置在每个扇区的起点处,并且可以根据日记数据data的大小被布置在多个日志页log page 0到log page 2中。
87.参照图10,第一日记数据data a和第二日记数据d ata b中的每一者的大小可以小于每个扇区大小的一半。在这种情况下,第一日记数据data a和第二日记数据data b可以被布置在一个扇区中。第一日记数据data a可以被布置在日志页log page 0的第一扇区的起点1处,第二日记数据data b可以被布置在第一扇区的1/2点5处。
88.一个扇区可以按扇区大小分为1/4点、2/4点、3/4点和4/4点,日记数据data可以根据日记数据data大小布置在扇区中的1/4点、2/4点、3/4点和4/4点处。因此,由于日记数据data以扇区为单位布置在日志页log page 0中,因此可以减少在日记数据data之间未布置
数据的空区域的量,并且可以提高存储设备200的性能。
89.例如,根据一些示例实施例的存储设备200可以以页为单位写入数据,并且块对准器163可以以日志页为单位提供日记数据。因此,存储设备200的写入放大可以得到改善。可选地或另外地,被编址到一个逻辑地址的数据的大小是扇区单位,并且闪存映射表240将物理地址映射为逻辑地址。因此,由于块对准器163在日志页中的扇区的起点处布置日记数据,因此可以提高在已写入日记数据的非易失性存储器的区域中将逻辑地址重新映射到物理地址的效率。可选地或另外地,可以在日记记录过程中按原样重用(reuse)已写入的日记数据。
90.当应用140是关键字-值存储数据库(例如,用于存储关键字-值对的应用)时,存储引擎150可以接收包括关键字-值对的查询。由于关键字-值对具有各种大小,关键字-值对通常不以扇区为单位布置。特别地,当小关键字-值对被写入存储设备200时,由于存储设备200是以页为单位写入的,因此会增大存储设备200的写入放大。可选地或另外地,关键字-值对的频繁更新会增加存储设备200中无效页的生成和/或会增加垃圾收集的频率。
91.然而,在一些示例实施例中,关键字-值对以扇区为单位布置在日志页中,并被相应地日记记录。因此,能够降低存储设备200的负载。可选地或另外地,由于关键字-值对以扇区为单位布置,例如以具有固定或恒定大小的扇区为单位布置,因此指示了关键字-值对在非易失性存储器300中的写入区域的物理地址可以通过闪存映射表240映射到目标逻辑地址。因此,关键字-值对的日记数据可以在检查点期间重用。
92.返回参照图7,主机检查点管理器165可以包括检查点(cp)调度器166和检查点命令(cow)队列167。检查点调度器166可以通过从日记映射表164接收一对日记逻辑地址和目标逻辑地址来生成检查点命令cow command。检查点调度器166可以针对每对日记逻辑地址和目标逻辑地址生成检查点命令cow command,并且检查点命令队列167可以将多个检查点命令cow command作为一个集合提供给存储设备200。例如,当数据不能被写入日记映射表164时(例如,日记映射表164的可插入容量不足),检查点调度器166可以根据特定的(或者预定的)循环(cycle)和/或当从应用140接收到检查点查询时,生成检查点命令cow command。这将在下面参照图15详细描述。尽管如本文所述,检查点调度器166执行与检查点命令队列167不同的功能,但示例实施例不限于此。例如,描述为由日记管理器161执行的一些功能可以由诸如主机检查点管理器165的其他处理电路执行,反之亦然。
93.在存储设备200内,存储设备检查点引擎230可以包括日志管理器232、检查点处理器234和垃圾收集(gc)检查器236。尽管如本文所述,日志管理器232、检查点处理器234和垃圾收集检查器236执行不同的功能,但是示例实施例不限于此。例如,如所述的由存储设备检查点引擎230中的一个组件执行的一些功能可以由存储设备检查点引擎230的其他组件来执行。存储设备处理电路可以执行参考日志管理器232所描述的一些或所有动作,检查点处理器234和垃圾收集检查器236执行不同的功能。
94.日志管理器232可以响应于日记记录命令request执行日记记录。日志管理器232可以将日记数据写入物理地址,日记记录命令request中包括的日记逻辑地址已经由闪存映射表240映射到该物理地址。因此,可以执行日记记录。当日记记录结束/完成时,日志管理器232可以通知存储引擎150日记记录已经完成。
95.检查点处理器234可以响应于检查点命令cow command执行检查点。检查点处理器
234可以使用检查点命令cow command中包括的日记逻辑地址和目标逻辑地址来重新映射闪存映射表240。
96.在闪存映射表240被重新映射之后,垃圾收集检查器236可以将非易失性存储器300的被编址到映射到日记逻辑地址的物理地址的页改变为无效页(例如,指示该页不再有效)。因此,检查点可以结束,并且存储设备检查点引擎230可以通知存储引擎150该检查点已经结束。垃圾收集检查器236可以根据非易失性存储器300中的有效页数和无效页数执行垃圾收集。将参照图11到图16进行详细描述。
97.图11到图16是用于说明根据一些示例实施例的存储设备200的操作的框图。
98.参照图7和图11,应用140可以向存储引擎150提供查询,例如,包括目标逻辑地址0x100和日记数据a’的put(0x100,a’)的查询(

)。data a、b、c、d和e存储在非易失性存储器300的区域208中,该区域208被被编址到通过闪存映射表240分别映射到逻辑地址0x100、0x102、0x104、0x106和0x108的物理地址。日记数据a’指示存储在非易失性存储器300的区域208中的数据a的更新数据,该区域208被编址到通过闪存映射表240映射到目标逻辑地址0x100的物理地址。另外,假设数据a’生成事务。
99.主机100内的日记管理器161可以将一对目标逻辑地址0x100和日记逻辑地址0x000写入日记映射表164(

)。主机100内的块对准器163可以通过在扇区的起点处布置日记数据a’来生成日记记录命令request(0x000,a’)(

)。
100.响应于日记记录命令request(0x000,a’),存储设备200内的日志管理器232可以将日记数据a’写入非易失性存储器300的区域207(

),该区域207被编址到通过闪存映射表240映射到日记逻辑地址0x000的物理地址。
101.现在参照图7和图12,应用140可以向存储引擎150提供包括目标逻辑地址0x106和日记数据d’的查询put(0x106,d’)以及包括目标逻辑地址0x108和日记数据e’的查询put(0x108,e’)。因此,如上所述,一对目标逻辑地址0x106和日记逻辑地址0x002以及一对目标逻辑地址0x108和日记逻辑地址0x004可以被写入日记映射表164,例如,主机100的存储引擎150内的日记映射表164。日记数据d’可以被写入非易失性存储器300的区域207,该区域207被编址到通过闪存映射表240映射到日记逻辑地址0x002的物理地址,并且日记数据e’可以被写入非易失性存储器300的区域207,该区域207被编址到通过闪存映射表240映射到日记逻辑地址0x004的物理地址。
102.当从应用140接收到查询,诸如包括已写入日记映射表164的目标逻辑地址0x100和日记数据a”的put(0x100,a”)的查询时(

),日记管理器161可以删除、移除或替换先前写入日记映射表164的一对目标逻辑地址0x100和日记逻辑地址0x000(

),并将新的一对目标逻辑地址0x100和日记逻辑地址0x006写入日记映射表164(

)。
103.主机100内的块对准器163可以通过将日记数据a”布置在扇区的起始点来生成日记记录命令request(0x006,a”)(

)。存储设备200内的日志管理器232可以将日记数据a”写入非易失性存储器300的区域207,该区域207被编址到通过闪存映射表240映射到日记逻辑地址0x006的物理地址。
104.图13是用于说明常规检查点方法的框图。
105.参考图13,在常规检查点中,当从应用140接收到检查点命令时(

),存储引擎150,例如主机内的存储引擎,从日记映射表164读取日记逻辑地址0x002、0x004和0x008
(

)。然后,存储引擎150向存储设备200提供诸如用于读取存储在日记逻辑地址0x002、0x004和0x008中的数据的request(0x002,0x004,0x008)的命令(

)。响应于命令request(0x002,0x004,0x008),存储设备200读取非易失性存储器300的区域207,该区域207被编址到通过闪存映射表240映射到日记逻辑地址0x002、0x004和0x008的物理地址,并向存储引擎150提供读取数据d’、e’和a
”’
(

)。存储引擎150将读取数据d’、e’和a
”’
临时存储在缓冲器中,并且向存储设备200提供用于将读取数据d’、e’和a
”’
写入目标逻辑地址0x106、0x108和0x100的命令。因此,数据d’、e’和a
”’
被写入存储设备200(

)。存储引擎150向存储设备200提供用于删除写入日记逻辑地址0x000、0x002、0x004、0x006和0x008的数据a’、d’、e’、a”和a
”’
的命令。响应于该命令,存储设备200删除数据a’、d’、e’、a”和a
”’
(

)。因此,检查点操作完成。
106.在常规检查点中,写入日记逻辑地址的数据再次被读取,然后再次被写入目标逻辑地址。因此,检查点操作花费很长时间,日记数据的冗余写入是不可避免的,和/或大量命令被提供给存储设备200。
107.图14是用于说明根据一些示例实施例的检查点方法的框图。图14是将相同的成对的目标逻辑地址和日记逻辑地址写入图13所示的日记映射表164的情况。
108.参照图7和图14,主机100内的检查点调度器166可以从日记映射表164读取一对目标逻辑地址0x106和日记逻辑地址0x002、一对目标逻辑地址0x108和日记逻辑地址0x004,以及一对目标逻辑地址0x100和日记逻辑地址0x008(

)。
109.主机100内的检查点调度器166可以生成检查点命令cow(0x002,0x106)、cow(0x004,0x108)和cow(0x008,0x100),它们分别包括读取的一对目标逻辑地址0x106和日记逻辑地址0x002、读取的一对目标逻辑地址0x108和日记逻辑地址0x004、以及读取的一对目标逻辑地址0x100和日记逻辑地址0x008(

)。
110.检查点命令队列167可以将检查点命令cow(0x002,0x106)、cow(0x004,0x108)和cow(0x008,0x100)作为一组cow命令集(cow command set)提供给存储设备200(

)。
111.存储设备200内的检查点处理器234可以响应于检查点命令cow command set重新映射闪存映射表240(

)。因此,检查点操作可以结束。
112.图15示出执行检查点之前的非易失性存储器300,图16示出根据一些示例实施例的执行检查点之后的非易失性存储器300。
113.参照图15,从逻辑视角或角度来看,日记数据a’、d’、e’、a”和a
”’
被写入非易失性存储器300的日记区域207,该日记区域207被编址到根据闪存映射表240的第一映射状态映射到日记逻辑地址0x000、0x002、0x004、0x006和0x008的物理地址。
114.参照图16,闪存映射表240可以从第一映射状态更新到第二映射状态。从逻辑视角来看,根据闪存映射表240的第二映射状态,目标逻辑地址0x106、0x108和0x100可以映射到非易失性存储器300的数据区域208被编址到的物理地址。另外,根据闪存映射表240的第二映射状态映射到日记逻辑地址0x000、0x002、0x004、0x006和0x008的物理地址可以被改变为无效页。例如,可以不分离非易失性存储器300的日记区域207和数据区域209。根据检查点,日记区域207可以被改变为数据区域209,并且数据区域209可以被改变为日记区域207。
115.根据一些示例实施例的存储系统可以将检查点从主机100卸载(off-load)到存储设备200。因此,不需要或不期望从存储设备200读取数据到主机100以及将数据从主机100
再次写入存储设备200。因此,可以缩短检查点时间。可选地或另外地,存储设备200可以通过重新映射闪存映射表240来执行检查点。因此,不发生数据的冗余写入,并且能够减少由于检查点而产生的无效页,这反过来降低了垃圾收集的频率。
116.例如,存储设备200可以通过重用根据日记记录命令写入的日记数据来执行检查点。
117.图17a到图18b是用于说明根据一些示例实施例的存储系统的效果的图。在图17a到图18b中,基线(baseline)指示根据一些示例实施例的未包括在存储系统中的存储设备,签入(check-in)表示根据一些示例实施例的包括在存储系统中的存储设备。zipfian表示要针对每个逻辑地址生成查询的概率服从正态分布并且可以与压缩(例如,zipf压缩)相关联的情况,uniform表示要针对每个逻辑地址生成查询的概率相同的情况。
118.图17a示出了根据检查点间隔的存储设备的规范化冗余写入操作的数量,图17b示出了根据写入查询的数量的垃圾收集操作的数量。
119.参照图17a,与根据一些示例实施例的未包括在存储系统中的存储设备中的冗余写入操作的数量相比,根据一些示例实施例的包括在存储系统中的存储设备中的冗余写入操作的数量可以减少。在uniform的情况下,与根据一些示例实施例的未包括在存储系统中的存储设备中的冗余写入操作的数量相比,根据一些示例实施例的包括在存储系统中的存储设备中的冗余写入操作(任意单元)的数量可以减少约94%。由于根据一些示例实施例的包括在存储系统中的存储设备通过将物理地址重新映射到逻辑地址而重用写入的日记数据来执行检查点,因此能够改进由于检查点的写入放大,和/或能够改进或增加存储设备的寿命。
120.参照图17b,与相对于根据一些示例实施例的未包括在存储系统中的存储设备中的写入查询的数量的垃圾收集操作的数量相比,相对于根据一些示例实施例的包括在存储系统中的存储设备中的写入查询的数量的垃圾收集操作的数量可以减少。由于根据一些示例实施例的包括在存储系统中的存储设备通过将物理地址重新映射到逻辑地址而重用写入的日记数据来执行检查点,因此可以产生减少数量的无效页。因此,可以减少存储设备的垃圾收集操作的数量,从而减少编程/擦除(p/e)循环的损耗。因此,能够改进和/或增加存储设备的寿命。
121.图18a示出了在uniform的情况下根据尾部延迟的规范化查询响应时间。图18b示出了在zipfian的情况下根据尾部延迟的规范化查询响应时间。
122.参照图18a,在根据一些示例实施例的包括在存储系统中的存储设备中,在uniform的情况下,与99.9%尾部延迟对应的规范化查询响应时间可以减少约92.1%。参照图18b,在根据一些示例实施例的包括在存储系统中的存储设备中,在zipfian的情况下,与99.9%尾部延迟对应的规范化查询响应时间可以减少约92.4%。
123.当检查点时间增加时,在检查点期间对存储系统的查询输入的响应速度会增加。这会导致增加对查询的响应时间的尾部延迟。然而,由于在根据一些示例实施例的存储系统中减少了检查点时间,因此能够改进尾部延迟。
124.图19示出了应用了根据一些示例实施例的存储设备的数据中心1000。
125.参照图19,数据中心1000是或包括收集各种数据和提供服务的设施,也可以称为数据存储中心。数据中心1000可以是或包括用于操作搜索引擎和数据库的系统,并且可以
是由诸如银行或政府机构的公司使用的计算系统。数据中心1000可以包括应用服务器1100到1100n以及存储服务器1200到1200m。应用服务器1100到1100n的数量和/或存储服务器1200到1200m的数量可以根据示例实施例进行各种选择。应用服务器1100到1100n的数量可以不同于存储服务器1200到1200m的数量。
126.应用服务器1100和/或存储服务器1200可以包括处理器1110或1210以及存储器1120或1220中的至少一个。例如,在存储服务器1200的情况下,处理器1210可以控制存储服务器1200的整体操作并访问存储器1220以执行加载在存储器1220中的命令和/或数据。根据一些实施例,存储器1220可以包括计数表。存储器1220可以是或包括双倍数据速率同步dram(ddr-sdram)、高带宽存储器(hbm)、混合存储器立方体(hmc)、双列直插式存储器模块(dimm)、optane dimm或非易失性dimm(nv[m]dimm)中的至少一种。
[0127]
根据示例实施例,存储服务器1200中包括的处理器1210的数量和存储器1220的数量可以不同地选择。在一些示例实施例中,处理器1210和存储器1220可以提供处理器-存储器对。在一些示例实施例中,处理器1210的数量可以不同于存储器1220的数量。处理器1210可以包括单核处理器或多核处理器。存储服务器1200的上述描述可以类似地应用于应用服务器1100。
[0128]
依据示例实施例,应用服务器1100可以不包括存储设备1150。存储服务器1200可以包括一个或更多个存储设备1250。存储服务器1200中包括的存储设备1250的数量可以依据实施例进行各种选择。
[0129]
应用服务器1100到1100n以及存储服务器1200到1200m可以通过网络1300彼此通信。网络1300可以使用光纤通道(fc)和/或以太网实现。这里,fc可以是用于相对高速数据传输的介质,并且可以使用提供高性能/高可用性的光开关。根据网络1300的访问方法,存储服务器1200到1200m可以被提供为文件存储、块存储或对象存储中的至少一种。
[0130]
在一些示例实施例中,网络1300可以是存储专用网络,例如存储区域网络(san)。例如,san可以是使用fc网络并根据fc协议(fcp)实现的fc-san。又例如,san可以是使用tcp/ip网络并根据基于tcp/ip的scsi或因特网scsi(iscsi)协议实现的ip-san。可选地或另外地,在一些示例实施例中,网络1300可以是诸如tcp/ip网络的一般网络。例如,网络1300可以根据诸如基于以太网的fc(fcoe)、网络连接存储(nas)或基于fabrics的nvme(nvme-of)的协议来实现。
[0131]
以下将主要描述应用服务器1100和存储服务器1200。应用服务器1100的描述也可以应用于其他应用服务器1100n,并且存储服务器1200的描述也可以应用于其他存储服务器1200m。
[0132]
应用服务器1100可以通过网络1300将用户或客户端请求存储的数据存储在存储服务器1200到1200m之一中。另外,应用服务器1100可以通过网络1300从存储服务器1200到1200m之一获取用户或客户端请求读取的数据。例如,应用服务器1100可以实现为网站(web)服务器或数据库管理系统(dbms)。应用服务器1100可以是或对应于或包括根据一些实施例描述的图2的主机。
[0133]
应用服务器1100可以通过网络1300访问另一应用服务器1100n中包括的存储器1120n或存储设备1150n,或通过网络1300访问存储服务器1200到1200m中包括的存储器1220到1220m或存储设备1250到1250m。因此,应用服务器1100能够对应用服务器1100到
1100n和/或存储服务器1200到1200m中存储的数据执行各种操作。
[0134]
例如,应用服务器1100可以执行用于在应用服务器1100到1100n和/或存储服务器1200到1200m之间传输和/或复制数据的命令。这里,数据可以经由存储服务器1200到1200m的存储器1220到1220m或直接地从存储服务器1200到1200m的存储设备1250到1250m传输到应用服务器1100到1100n的存储器1120到1120n。通过网络1300传输的数据可以是为了安全或隐私而加密的数据。
[0135]
例如,在存储服务器1200中,接口(i/f)1254可以提供处理器1210与控制器(ctrl)1251之间的物理连接以及nic 1240与控制器1251之间的物理连接。例如,接口1254可以实现为将存储设备1250直接连接到专用缆线的直接连接存储(das)接口。此外,例如,接口1254可以实现为各种接口,例如以下中的至少一种:先进技术附件(ata)、串行ata(sata)、外部sata(e-sata)、小型计算机系统接口(scsi)、串行连接scsi(sas)、外围组件互连(pci)、快速pci(pcie)、快速nvm(nvme)、ieee 1394、通用串行总线(usb)、安全数字(sd)卡、多媒体卡(mmc)、嵌入式多媒体卡(emmc)、通用闪存(ufs)、嵌入式通用闪存(eufs)、紧凑闪存(cf)和卡接口。
[0136]
存储服务器1200还可以包括交换机1230和nic 1240。交换机1230可以在处理器1210的控制下选择性地连接处理器1210和存储设备1250,或者选择性地连接nic 1240和存储设备1250。
[0137]
在一些示例实施例中,nic 1240可以包括网络接口卡、网络适配器等中的至少一种。nic 1240可以通过有线接口、无线接口、蓝牙接口、光学接口等连接到网络1300。nic 1240可以包括内部存储器、数字信号处理器(dsp)、主机总线接口等,并且可以通过主机总线接口连接到处理器1210和/或交换机1230。主机总线接口可以实现为接口1254的上述示例之一。在一些示例实施例中,nic 1240可以与处理器1210、交换机1230和存储设备1250中的至少一个集成。
[0138]
在存储服务器(1200-1200m)或应用服务器(1100-1100n)中,处理器可以向存储设备(1150-1150n、1250-1250m)和/或存储器(1120-1120n、1220-1220m)发送命令以编程和/或读取数据。这里,数据可以是通过纠错码(ecc)引擎进行了纠错的数据。数据可以是由数据总线反转(dbi)或数据屏蔽(dm)处理的数据,并且可以包括循环冗余码(crc)信息。数据可以是为了安全和/或隐私而加密的数据。
[0139]
存储设备(1150-1150n、1250-1250m)可以响应于从处理器接收到的读取命令,向nand闪存设备(1252-1252m)发送控制信号和命令/地址信号。因此,当从nand闪存设备(1252-1252m)读取数据时,可以输入读取使能(re)信号作为数据输出控制信号,从而将数据输出到dq总线。可以使用re信号生成数据选通(dqs)。命令和地址信号可以根据写入使能(we)信号的上升沿或下降沿锁存在页缓冲器中。
[0140]
控制器1251可以控制存储设备1250的整体操作。在一些示例实施例中,控制器1251可以包括sram。控制器1251可以响应于写入命令将数据写入nand闪存设备1252,或者可以响应于读取命令从nand闪存设备1252读取数据。例如,可以从存储服务器1200中的处理器1210、另一存储服务器1200m中的处理器1210m或应用服务器1100和1100n中的处理器1110和1110n提供写入命令和/或读取命令。dram 1253可以临时存储(缓冲)要写入nand闪存设备1252的数据或从nand闪存设备1252读取的数据。另外,dram 1253可以存储元数据。
这里,元数据是用户数据或由控制器1251生成的用于管理nand闪存设备1252的数据。存储设备1250可以包括用于安全或隐私的安全元件(se)。元数据可以包括根据一些实施例的计数表。
[0141]
上述公开的任何或所有元件可以被包括或实现在处理电路中,例如,包括逻辑电路的硬件;硬件/软件组合(例如执行软件的处理器);或两者的组合中。例如,处理电路更具体地可以包括但不限于中央处理单元(cpu)、算术逻辑单元(alu)、数字信号处理器、微型计算机、现场可编程门阵列(fpga)、片上系统(soc)、可编程逻辑单元、微处理机、专用集成电路(asic)等。
[0142]
虽然已经参照本发明构思的一些示例实施例具体示出和描述了本发明构思,但本领域的普通技术人员将理解,在不脱离由所附权利要求限定的发明构思的精神和范围的情况下,可以在形式和细节上进行各种改变。示例实施例应当仅在描述性意义上而不是出于限制的目的来考虑。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1