存储控制器和包括该存储控制器的存储系统的制作方法

文档序号:33649378发布日期:2023-03-29 06:49阅读:36来源:国知局
存储控制器和包括该存储控制器的存储系统的制作方法
存储控制器和包括该存储控制器的存储系统
1.对相关申请的交叉引用
2.本技术要求于2021年9月23日在韩国知识产权局提交的第10-2021-0125639号韩国专利申请的优先权,其内容通过引用被整体合并于此。
技术领域
3.本公开涉及存储控制器和包括该存储控制器的存储系统。


背景技术:

4.存储系统包括主机设备和存储设备,它们可以通过各种接口相互交换数据。单根i/o虚拟化(sr-iov)允许主机设备中的多个虚拟机(vm)通过一个可分配的设备接口(adi)来访问存储设备。单根i/o虚拟化可以由外设组件互连特别兴趣组(pci-sig)发布。
5.在诸如云环境的多租户虚拟化环境中,可以提供基于虚拟化的可信任执行环境(tee)。基于虚拟化的可信任执行环境能够在主机设备侧为每个租户分离和保护数据,例如,通过诸如intel公司的多密钥总存储器加密(mktme)、amd公司的安全加密虚拟化(sev)或arm公司的信任区的技术。然而,对于在从主机设备到存储设备的访问期间执行的安全攻击,可能需要或期望对多个租户中的每一个的数据进行隔离和加密。


技术实现要素:

6.示例实施例提供了一种具有改进的安全性可靠性的存储控制器。
7.示例实施例提供了一种具有改进的安全性可靠性的存储设备。
8.其他示例实施例提供了一种安全性可靠性提高的主机设备。
9.示例实施例不限于上面提到的那些,本领域技术人员将从本公开的以下描述中清楚地理解本文没有提到的本公开的附加示例实施例。
10.根据本发明构思的示例实施例,提供了一种存储控制器,包括:设备安全管理器,被配置为设置第一设备安全区以允许第一租户访问存储在非易失性存储器中的第一租户数据,从主机设备接收访问信息并将接收的访问信息写入映射表中,其中,访问信息包括第一租户数据被存储在主机设备中的第一主机存储器地址、用于标识存储在非易失性存储器中的第一租户数据的第一命名空间标识符、与第一命名空间标识符相对应的第一逻辑块地址和加密密钥,通过使用加密密钥来加密第一租户数据,并且将加密的第一租户数据写入非易失性存储器的第一设备安全区。
11.根据本发明构思的示例实施例,提供了一种存储设备,包括:非易失性存储器,存储第一租户数据;以及存储控制器,被配置为在非易失性存储器中设置第一设备安全区以允许第一租户访问第一租户数据,从主机设备接收访问信息并将接收的访问信息写入映射表中,其中,访问信息包括第一租户数据被存储在主机设备中的第一主机存储器地址、用于标识存储在非易失性存储器中的第一租户数据的第一命名空间标识符以及与第一命名空间标识符相对应的第一逻辑块地址,并且当主机设备执行与存储在映射表中的访问信息相
对应的访问请求时,向主机设备递送访问确认。
12.根据本发明构思的示例实施例,提供了一种主机设备,包括:主机存储器,存储第一租户数据;主机安全管理器,被配置为在主机存储器中设置第一设备安全区以允许第一租户访问第一租户数据;以及主机控制器,被配置为控制第一租户对主机存储器的访问,其中,主机安全管理器进一步被配置为向存储设备递送访问信息,访问信息包括第一租户数据被存储在主机设备中的第一主机存储器地址、用于标识存储在存储设备中包括的非易失性存储器中的第一租户数据的第一命名空间标识符和与第一命名空间标识符相对应的第一逻辑块地址,并且该主机控制器进一步被配置为响应于向存储设备递送与访问信息相对应的访问请求,从存储设备接收访问确认。
附图说明
13.通过参考附图详细描述示例实施例,本公开的上述和其他示例实施例和特征将变得更加明显,其中:
14.图1是图示根据本公开的一些示例实施例的存储系统的示例框图。
15.图2是图示主机设备对存储设备的安全攻击的示例的框图。
16.图3是图示根据一些示例实施例的存储系统的操作的示例框图。
17.图4是图示根据一些示例实施例的映射表的示例表。
18.图5是图示根据一些示例实施例的存储系统的操作的示例梯形图。
19.图6是图示根据一些示例实施例的存储系统的操作的示例流程图。
20.图7是图示主机设备对存储设备的安全攻击的另一示例的框图。
21.图8和图9是图示根据一些示例实施例的存储系统的另一操作的示例框图。
22.图10是图示根据一些示例实施例的另一映射表的示例表。
23.图11是图示主机设备对存储设备的安全攻击的其他示例的框图。
24.图12和图13是图示根据一些示例实施例的存储系统的另一操作的示例框图。
25.图14是图示根据一些示例实施例的另一存储系统的示例框图。
26.图15是图示应用根据一些示例实施例的存储设备的数据中心的示例框图。
具体实施方式
27.图1是图示根据本公开的一些示例实施例的存储系统的示例框图。
28.参考图1,存储系统10可以包括主机设备100和存储设备200。此外,存储设备200可以包括存储控制器210和非易失性存储器(nvm)220。
29.根据本公开的示例实施例,主机设备100可以包括主机控制器110和主机设备120。主机存储器120可以用作缓冲存储器,用于临时存储要发送到存储设备200的数据或从存储设备200发送的数据。
30.存储设备200可以包括用于根据来自主机设备100的请求存储数据的存储介质。作为示例,存储设备200可以包括固态驱动器(ssd)、嵌入式存储器或可拆卸外部存储器中的至少一个。
31.当存储设备200是ssd时,存储设备200可以是符合非易失性快速存储器(nvme)标准的设备。当存储设备200是嵌入式存储器或外部存储器时,存储设备200可以是符合通用
闪存(ufs)标准或嵌入式多媒体卡(emmc)标准的设备。主机设备100和存储设备200中的每一个可以根据所采用的标准协议来产生和发送分组。
32.当存储设备200的非易失性存储器220包括闪存时,闪存可以包括2dnand存储器阵列或3d(或垂直)nand(vnand)存储器阵列。作为另一示例,存储设备200可以包括其他各种类型的非易失性存储器。例如,磁性随机存取存储器(mram)、自旋转移矩mram、导电桥接ram(cbram)、铁电ram(feram)、相位ram(pram)、电阻ram和其他各种类型的存储器可以应用于存储设备200。
33.根据一个实施例,主机控制器110和主机存储器120中的每一个可以被实现为分离的半导体芯片。可替换地,在一些示例实施例中,主机控制器110和主机存储器120可以被集成到同一半导体芯片中。作为示例,主机控制器110可以是应用处理器中提供的多个模块中的任何一个,并且应用处理器可以被实现为片上系统(soc)。此外,主机存储器120可以是应用处理器中提供的嵌入式存储器,或者可以是部署在应用处理器外部的非易失性存储器或存储模块。
34.主机控制器110可以将主机存储器120的缓冲区的数据存储在非易失性存储器220中(例如,写入数据),或者可以管理将非易失性存储器220的数据存储在缓冲区中的操作(例如,读取数据)。
35.主机安全管理器130可以在主机存储器120中指定主机安全区。例如,可以在主机存储器120中设置仅允许第一租户访问的第一主机安全区。此外,可以在主机存储器120中设置不同于第一主机安全区的第二主机安全区,其仅被允许由不同于第一租户的第二租户访问。不限于该示例,主机安全管理器130可以设置三个或更多个不同的安全区,这些安全区可以分别被设置在主机存储器120的一些区域中,以允许三个或更多个租户访问。
36.存储控制器210可以包括主机接口211、存储器接口212和中央处理单元(cpu)213。存储控制器210还可以包括闪存转换层(ftl)214、设备安全管理器215、缓冲存储器216、纠错码(ecc)引擎217和加密/解密引擎218。存储控制器210还可以包括闪存转换层(ftl)214被加载到的工作存储器(未示出),并且cpu 213可以通过执行闪存转换层来控制对非易失性存储器220的数据写入和读取操作。
37.主机接口211可以向主机设备100发送分组和从主机设备100接收分组。从主机设备100发送到主机接口211的分组可以包括要写入非易失性存储器220中的命令或数据,并且从主机接口211发送到主机设备100的分组可以包括对从非易失性存储器220读取的命令或数据的响应。存储器接口212可以向非易失性存储器220发送要写入非易失性存储器220的数据,或者可以接收从非易失性存储器220读取的数据。这种存储器接口212可以被实现为符合诸如触发或开放nand闪存接口(onfi)的标准规定。
38.闪存转换层214可以执行各种功能,诸如地址映射、磨损平衡和垃圾收集。地址映射操作是将从主机设备100接收的逻辑地址改变为用于在非易失性存储器220中实际存储数据的物理地址的操作。磨损平衡是一种通过允许均匀使用非易失性存储器220中的块来防止特定块过度退化的技术,并且可以通过用于平衡物理块的擦除计数的固件技术来示例性地实现。垃圾收集是一种通过将块的有效数据复制到新的块,然后擦除现有的块来确保非易失性存储器220中的可用容量的技术。
39.ecc引擎217可以对从非易失性存储器220读取的读取数据执行错误检测和纠正功
能。更详细地,ecc引擎217可以为要写入非易失性存储器220中的写入数据生成奇偶校验位,并且生成的奇偶校验位可以与写入数据一起存储在非易失性存储器220中。当从非易失性存储器220读取数据时,ecc引擎217可通过使用从非易失性存储器220读取的奇偶校验位以及读取的数据一起来纠正读取的数据的错误,然后可以输出经纠错的读取的数据。
40.设备安全管理器215可以在缓冲存储器216和/或非易失性存储器220中指定设备安全区。例如,设备安全管理器215可以在缓冲存储器216和/或非易失性存储器220中设置仅允许第一租户访问的第一设备安全区。此外,设备安全管理器215可以在缓冲存储器216和/或非易失性存储器220中设置不同于第一设备安全区的第二设备安全区,其仅被允许由不同于第一租户的第二租户访问。作为示例,设备安全管理器215可以设置三个或更多不同的安全区,这些安全区可以被设置在缓冲存储器216和/或非易失性存储器220的一些区域中,以分别仅允许三个或更多租户访问。
41.缓冲存储器216可以临时存储要写入非易失性存储器220的数据或者要从非易失性存储器220读取的数据。此外,缓冲存储器216可以被提供在存储控制器210中,但是也可以被布置在存储控制器210的外部。缓冲存储器216可以是,例如动态随机存取存储器(dram)。
42.加密/解密引擎218可以对输入到存储控制器210的数据执行加密操作或解密操作中的至少一个。例如,加密/解密引擎218可以通过使用对称密钥算法来对输入到存储控制器210的数据执行加密操作或解密操作中的至少一个。
43.在多个租户使用一个存储系统10的环境中,可以为多个租户中的每一个设置安全区。例如,可以在主机存储器120中设置仅第一租户可访问的第一主机安全区,并且可以在存储设备200中设置第一设备安全区。对于另一示例,可以在主机存储器120中设置仅第二租户可访问的第二主机安全区,并且可以在存储设备200中设置第二设备安全区。
44.此时,可能从第一租户做出到第二设备安全区的访问尝试。可替换地,可能做出从第二租户到第一设备安全区的访问尝试。这将参考图2进行描述。
45.图2是图示主机设备对存储设备的安全攻击的示例的框图。
46.参考图2,可分配设备接口(adi)(例如,主机接口211)可以被分配给第一租户102(例如,虚拟机1(vm1))和第二租户102(例如,vm2)中的每一个。例如,adi可以是输入/输出外设组件互连(pci)高速(pcie)。多个租户的数量不限于此图。
47.主机安全管理器130可以在主机存储器120中指定主机安全区(例如,第一主机安全区hsz 1和第二主机安全区hsz 2)。由主机安全管理器130设置的主机安全区的数量可以取决于多个租户的数量而变化,而不限于此图。
48.例如,可以在主机存储器120中设置仅允许第一租户vm 1访问的第一主机安全区hsz 1。此外,可以在主机存储器120中设置第二主机安全区hsz 2,第二主机安全区2被允许仅由不同于第一租户vm 1的第二租户vm 2访问,并且第二主机安全区2不同于第一主机安全区hsz 1。
49.也就是说,第一租户vm 1通过主机控制器110仅可以访问主机存储器120中的第一主机存储区域106的数据。例如,第一租户vm 1可以通过主机控制器110仅访问存储在主机存储器120内部的第一主机存储区域106中的第一租户数据。
50.此外,第二租户vm 2通过主机控制器110仅可以访问主机存储器120中的第二主机
存储区域108的数据。例如,第二租户vm 2可以通过主机控制器110仅访问存储在主机存储器120内部的第二主机存储区域108中的第二租户数据。
51.设备安全管理器215可以在非易失性存储器220中指定设备安全区(例如,第一设备安全区dsz 1和第二设备安全区dsz 2)。由设备安全管理器215设置的设备安全区的数量可以取决于多个租户的数量而变化,而不限于此图。
52.例如,可以在非易失性存储器220中设置仅允许第一租户vm 1访问的第一设备安全区dsz 1。此外,可以在主机存储器120中设置第二设备安全区dsz 2,第二设备安全区2被允许仅由不同于第一租户vm 1的第二租户vm 2访问,并且第二设备安全区2不同于第一设备安全区dsz 1。
53.也就是说,第一租户vm 1通过主机接口211仅可以访问非易失性存储器220中的第一非易失性存储区域nmr 1的数据。例如,第一租户vm 1可以通过主机接口211仅访问存储在非易失性存储器220的第一非易失性存储区域nmr 1中的第一租户数据。
54.此外,第二租户vm 2通过主机接口211仅可以访问非易失性存储器220中的第二非易失性存储区域nmr 2的数据。例如,第二租户vm 2可以通过主机接口211仅访问存储在非易失性存储器220中的第二非易失性存储区域nmr 2中的第二租户数据。
55.然而,当来自第一租户vm 1的安全攻击被尝试时,第一租户vm 1可能尝试通过第一非安全路由nsr 1来访问第二设备安全区dsz 2的第二非易失性存储区域nmr 2的数据。可替换地,当来自第二租户vm 2的安全攻击被尝试时,第二租户vm 2可能尝试通过第二非安全路由nsr 2来访问第一设备安全区dsz 1的第一非易失性存储区域nmr 1的数据。
56.因此,需要或期望隔离多个租户中的每一个以及保护多个租户中的每一个的非易失性存储器220的数据。通过根据一些示例实施例的存储系统的操作,可以执行对多个租户中的每一个的隔离以及对多个租户中的每一个的非易失性存储器220的数据的保护,这将在下面详细描述。
57.图3是图示根据一些示例实施例的存储系统的操作的示例框图。
58.参考图3,在主机安全管理器130和设备安全管理器215之间的adi分配完成之后,主机安全管理器130可以向设备安全管理器215递送访问信息acc_inf。
59.adi分配可以是多个租户(第一租户vm 1和第二租户vm 2)中的每一个被分配使用adi的某个区域(例如,主机接口211)(例如,使用主机接口211的一些资源)的操作。
60.访问信息acc_inf对于多个租户中的每一个可以是不同的。也就是说,关于第一租户vm 1的访问信息acc_inf和关于第二租户vm 2的访问信息acc_inf可以彼此不同。
61.已经从主机安全管理器130接收到关于多个租户中的每一个的访问信息acc_inf的设备安全管理器215可以将访问信息acc_inf写入映射表219。
62.映射表219可以被存储在设备安全管理器215内部的缓冲器中。可替换地,映射表219可以被存储在设备安全管理器215外部的缓冲器(例如,缓冲存储器216)中。
63.参考图4详细描述访问信息acc_inf和映射表219。
64.图4是图示根据一些示例实施例的映射表的示例表。
65.参照图3和图4,根据每个租户(例如,vm 1至vm n,其中n是大于1的自然数)的访问信息acc_inf被存储在映射表219中。
66.例如,关于第一租户vm 1的第一访问信息acc_inf 1可以包括与第一主机存储区
域106相对应的第一主机存储器地址hma 1、第一命名空间标识符nsid 1、第一逻辑块地址lba 1和第一安全密钥key 1。关于第二租户vm 2的第二访问信息acc_inf 2可以包括与第二主机存储区域108相对应的第二主机存储器地址hma 2、第二命名空间标识符nsid 2、第二逻辑块地址lba 2和第二安全密钥key 2。此外,关于第n租户vm n的第n访问信息acc_inf n可以包括与第n主机存储区域hmr n相对应的第n主机存储器地址hma n、第n命名空间标识符nsid n、第n逻辑块地址lba n和第n安全密钥key n。
67.在下文中,描述了第一访问信息acc_inf 1,并且其描述可以被应用于其他访问信息(例如,第二访问信息acc_inf 2至第n访问信息acc_inf n)。
68.第一主机存储器地址hma 1可以是与包括在主机存储器120内的第一主机安全区hsz 1中的第一主机存储区域106相对应的存储器地址。第一命名空间标识符可以是与包括在第一设备安全区dsz 1中的第一非易失性存储区域nmr 1相对应的标识符。第一逻辑块地址lba 1可以是用于允许主机设备100访问包括在第一设备安全区dsz 1中的第一非易失性存储区域nmr 1的逻辑地址。第一安全密钥key 1可以是用于对第一租户数据执行加密和/或解密的加密密钥。
69.作为参考,第一安全密钥key 1可以从主机安全管理器130接收,或者可以由设备安全管理器215生成。
70.通过使用第一安全密钥key 1对第一租户数据执行加密和/或解密的实体可以是设备安全管理器215或加密/解密引擎218。
71.写入映射表219的多个访问信息acc_inf 1至acc_inf n中的每一个可以仅由设备安全管理器215修改。
72.已经将从主机安全管理器130接收的多个租户特定访问信息acc_inf写入映射表219的设备安全管理器215通过使用映射表219来确定是否批准来自主机设备100的访问请求。
73.更详细地,当尝试访问存储设备200时,主机控制器110向存储设备200递送访问信息,访问信息包括尝试访问存储设备200的租户的信息。此时,每个租户的主机存储器地址、命名空间标识符和逻辑块地址可以被包括在租户的信息中。
74.也就是说,存储设备200的设备安全管理器215从主机控制器110接收的访问信息中提取主机存储器地址、命名空间标识符和逻辑块地址,将提取的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的主机存储器地址、命名空间标识符和逻辑块地址进行比较,并且当确定提取的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的主机存储器地址、命名空间标识符和逻辑块地址相同时,批准主机设备100对存储设备200的访问。
75.在从主机控制器110接收的访问信息中提取主机存储器地址、命名空间标识符和逻辑块地址,并将提取的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的主机存储器地址、命名空间标识符和逻辑块地址进行比较以确定提取的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的主机存储器地址、命名空间标识符和逻辑块地址是否相同之后,当确定提取的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的主机存储器地址、命名空间标识符和逻辑块地址相同时,用于批准从主机设备100到存储设备200的访问的实体可以是cpu 213。
76.例如,如果第一租户vm 1读取存储在存储设备200的第一非易失性存储区域nmr 1中的第一租户数据,此时(或作为响应),主机控制器110将与第一租户vm 1相关的第一访问信息acc_inf 1递送到存储设备200。之后,当确定存在于第一访问信息acc_inf中的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的第一主机存储器地址hma 1、第一命名空间标识符nsid 1和第一逻辑块地址lba 1相同时,存储设备200中的设备安全管理器215确定对应的操作不是从第一租户vm 1执行的安全攻击,并且批准第一租户vm 1的读取操作。之后,设备安全管理器215可以通过使用第一安全密钥key 1来解码存储在第一非易失性存储区域nmr 1中的第一租户数据,以将解码的第一租户数据发送到与主机存储器120的第一主机存储器地址hma 1相对应的第一主机存储区域106。第一租户vm 1可以完成对发送到第一主机存储区域106的第一租户数据的读取操作。
77.又例如,如果第一租户vm 1将第一租户数据写入存储设备200的第一非易失性存储区域nmr 1中,此时(或作为响应),主机控制器110将与第一租户vm 1相关的第一访问信息acc_inf 1和第一租户数据递送到存储设备200。之后,当确定存在于第一访问信息acc_inf 1中的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的第一主机存储器地址hma 1、第一命名空间标识符nsid 1和第一逻辑块地址lba 1相同时,存储设备200中的设备安全管理器215确定对应的操作不是从第一租户vm 1执行的安全攻击,并且批准第一租户vm 1的写入操作。之后,设备安全管理器215可以通过使用第一安全密钥key 1来加密第一租户数据并将其写入第一非易失性存储区域nmr 1中。第一租户vm 1可以完成对第一租户数据的写入操作。
78.返回参考图3,如上所述,根据一些示例实施例的存储设备200从包括在从主机设备100接收的访问信息acc_inf中提取主机存储器地址、命名空间标识符和逻辑块地址,将提取的主机存储器地址、命名空间标识符和逻辑块地址与映射表219的信息进行比较,在映射表219中存储了关于多个租户vm 1至vm n中的每一个的信息,以确定提取的信息是否与映射表219的信息相同,然后确定是否批准来自主机设备100的访问,从而确保隔离多个租户vm 1至vm n中的每一个的数据并提高安全性。
79.例如,第一租户vm 1可以通过第一安全路由sr1仅访问存储在第一设备安全区dsz 1中的第一非易失性存储区域nmr 1的第一租户数据,并且第二租户vm 2可以通过第二安全路由sr2仅访问存储在第二设备安全区dsz 2中的第二非易失性存储区域nmr 2的第二租户数据。
80.参考图5的梯形图说明根据一些示例实施例的存储系统10的操作。
81.图5是图示根据一些示例实施例的存储系统的操作的示例梯形图,其中第一租户vm 1具有访问权。第一租户vm 1的描述可以被应用于对第二租户vm 2至第n租户vm n的描述
82.参考图3至图5,主机安全管理器130向设备安全管理器215执行对多个租户vm 1至vm n中的每一个的adi(例如,主机接口211)分配请求(s100)。
83.之后,设备安全管理器215向主机安全管理器130递送对多个租户vm 1至vm n中的每一个的adi(例如,主机接口211)分配确认(s110)。
84.之后,主机安全管理器130向设备安全管理器215递送关于多个租户vm 1至vm n中的每一个的访问信息acc_inf 1至acc_inf n(s120)。访问信息acc_inf 1至acc_inf可以分
别是多个租户vm 1至vm n中的每一个的主机存储器地址hma 1至hma n、命名空间标识符nsid 1至nsid n和逻辑块地址lba 1至lba n。
85.设备安全管理器215将从主机安全管理器130接收的访问信息acc_inf 1至acc_inf n写入映射表219(s130)。此时,设备安全管理器215可以一起存储用于对多个租户vm 1至vm n中的每一个的数据进行加密和/或解密的加密密钥key 1至key n。被写入映射表219中的信息可以仅由设备安全管理器215修改。
86.之后,主机安全管理器130向主机安全管理器130递送访问命令以访问存储设备200(s140)。
87.主机安全管理器130向设备安全管理器215递送包括关于第一租户vm 1的访问信息acc_inf的访问请求(s150)。
88.之后,设备安全管理器215从主机安全管理器130接收的访问请求中提取主机存储器地址、命名空间标识符和逻辑块地址,并将提取的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的第一访问信息acc_inf 1的第一主机存储器地址hma 1、第一命名空间标识符nsid 1和第一逻辑块地址lba 1进行比较(s160)。
89.此时,当确定从主机安全管理器130接收的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的第一访问信息acc_inf 1的第一主机存储器地址hma 1、第一命名空间标识符nsid 1和第一逻辑块地址lba 1相同时,设备安全管理器215对第一租户vm 1的存储设备200执行访问命令操作(s170)。第一租户vm 1的访问命令可以是,例如,对来自存储设备200的第一租户数据的读取操作或者对存储设备200中的第一租户数据的写入操作。
90.在存储设备200中执行第一租户vm 1的访问命令操作之后,设备安全管理器215向主机安全管理器130递送访问确认命令(s180)。
91.之后,主机安全管理器130向第一租户vm 1递送对访问命令的访问响应(s190)。
92.参考图6的流程图描述根据一些示例实施例的存储系统10的操作。
93.图6是图示根据一些示例实施例的存储系统的操作的示例流程图。
94.参考图3、图4和图6,主机安全管理器130向设备安全管理器215执行对多个租户vm 1至vm n中的每一个的adi(例如,主机接口211)分配请求。然后,设备安全管理器215向主机安全管理器130递送对多个租户vm 1至vm n中的每一个的adi(例如,主机接口211)分配确认,从而终止对多个租户vm 1至vm n中的每一个的adi分配(s200)。
95.之后,主机安全管理器130将多个租户vm 1至vm n中的每一个的访问信息acc_inf 1至acc_inf n递送到设备安全管理器215(s210)。访问信息acc_inf 1至acc_inf n可以分别是多个租户vm 1至vm n中的每一个的主机存储器地址hma 1至hma n、命名空间标识符nsid 1至nsid n和逻辑块地址lba 1至lba n。
96.设备安全管理器215将从主机安全管理器130接收的访问信息acc_inf 1至acc_inf写入映射表219(s220)。此时,设备安全管理器215可以存储用于对多个租户vm 1至vm n中的每一个的数据进行加密和/或解密的加密密钥key 1至key n。被写入映射表219的信息可以仅由设备安全管理器215修改。
97.之后,设备安全管理器215从主机安全管理器130接收包括对于已经请求访问命令的租户的访问信息acc_inf的访问请求(s230)。
98.之后,设备安全管理器215提取关于从主机安全管理器130接收的访问请求的主机存储器地址、命名空间标识符和逻辑块地址,将提取的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的访问信息进行比较(s240)。
99.当确定包括在从主机安全管理器130接收的访问请求中的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的主机存储器地址、命名空间标识符和逻辑块地址不同时(否),设备安全管理器215将这种情况确定为来自已经请求访问命令的租户的安全攻击,并且不执行针对访问命令的操作。
100.否则,当确定包括在从主机安全管理器130接收的访问请求中的主机存储器地址、命名空间标识符和逻辑块地址与存储在映射表219中的主机存储器地址、命名空间标识符和逻辑块地址相同时(是),设备安全管理器215执行访问命令操作(s250)。
101.图7是图示主机设备对存储设备的安全攻击的另一实例的框图。为了描述的简洁,省略了对图2的重复描述,并且以下描述基于与图2的不同之处。
102.参照图7,当来自第一租户vm 1的安全攻击被尝试时,第一租户vm 1可以尝试通过第一非安全路由nsr 1来访问第二设备安全区dsz 2的第二缓冲区br 2的数据。可替换地,当来自第二租户vm 2的安全攻击被尝试时,第二租户vm 2可以尝试通过第二非安全路由nsr 2来访问第一设备安全区dsz 1的第一缓冲区br 1的数据。
103.因此,需要或期望隔离多个租户中的每一个并保护多个租户中的每一个的缓冲存储器216的数据。通过根据一些示例实施例的存储系统的操作,可以执行多个租户中的每一个的隔离和对多个租户中的每一个的缓冲存储器216的数据保护,并在下面详细描述。
104.图8和图9是图示根据一些示例实施例的存储系统的另一操作的示例框图。图10是图示根据一些示例实施例的另一映射表的示例表。
105.参照图8至图10,在主机安全管理器130和设备安全管理器215之间的adi分配完成之后,主机安全管理器130可以向设备安全管理器215递送访问信息acc_inf。
106.访问信息acc_inf对于多个租户中的每一个可以是不同的。也就是说,关于第一租户vm 1的访问信息acc_inf和关于第二租户vm 2的访问信息acc_inf可以彼此不同。
107.已经从主机安全管理器130接收到多个租户中的每个租户的访问信息acc_inf的设备安全管理器215可以将访问信息acc_inf写入映射表219。
108.映射表219可以被存储在设备安全管理器215内部的缓冲器中。可替换地,映射表219可以被存储在设备安全管理器215外部的缓冲器(例如,缓冲存储器216)中。
109.根据每个租户(例如,vm 1至vm n,其中n是大于1的自然数)的访问信息acc_inf被存储在映射表219中。
110.例如,关于第一租户vm 1的第一访问信息acc_inf 1可以包括与第一主机存储区域106相对应的第一主机存储器地址hma 1、第一命名空间标识符nsid 1、第一逻辑块地址lba 1、第一缓冲器地址buffer address 1和第一安全密钥key 1。关于第二租户vm 2的第二访问信息acc_inf 2可以包括与第二主机存储区域108相对应的第二主机存储器地址hma 2、第二命名空间标识符nsid 2、第二逻辑块地址lba 2、第二缓冲器地址buffer address 2和第二安全密钥key 2。此外,关于第n租户vm n的第n访问信息acc_inf n可以包括与第n主机存储区域hmr n相对应的第n主机存储器地址hma n、第n命名空间标识符nsid n、第n逻辑块地址lba n、第n缓冲器地址buffer address n和第n安全密钥key n。
111.在下文中,描述了第一访问信息acc_inf 1,并且其描述可以被应用于其他访问信息(例如,第二访问信息acc_inf 2至第n访问信息acc_inf n)。
112.第一缓冲器地址buffer address 1可以是与包括在第一设备安全区dsz 1中的第一缓冲区域br 1相对应的存储器地址。
113.已经将从主机安全管理器130接收的多个租户特定访问信息acc_inf写入映射表219的设备安全管理器215通过使用映射表219来确定是否批准来自主机设备100的访问请求。
114.更详细地,当尝试访问存储设备200时,主机控制器110向存储设备200递送访问信息,访问信息包括尝试访问存储设备200的租户的信息。此时,每个租户的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址可以被包括在租户的信息中。
115.也就是说,存储设备200的设备安全管理器215从自主机控制器110接收的访问信息中提取的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址,将提取的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址与存储在映射表219中的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址进行比较,并且当确定提取的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址与存储在映射表219中的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址相同时,批准主机设备100对存储设备200的访问。
116.例如,如果第一租户vm 1读取存储在存储设备200的第一缓冲区br 1中的第一租户数据。此时,主机控制器110向存储设备200递送与第一租户vm 1相关的第一访问信息acc_inf 1。之后,当确定存在于第一访问信息acc_inf 1中的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址与存储在映射表219中的第一主机存储器地址hma 1、第一命名空间标识符nsid 1、第一缓冲器地址buffer address 1和第一逻辑块地址lba 1相同时,存储设备200中的设备安全管理器215确定对应的操作不是从第一租户vm 1执行的安全攻击,并且批准第一租户vm 1的读取操作。之后,设备安全管理器215可以通过使用第一安全密钥key 1来解码存储在第一缓冲区br 1中的第一租户数据,以将解码的第一租户数据发送到与主机存储器120的第一主机存储器地址hma 1相对应的第一主机存储器区106。第一租户vm 1可以完成对发送到第一主机存储区域106的第一租户数据的读取操作。
117.再例如,如果第一租户vm 1将第一租户数据写入存储设备200的第一缓冲区br 1中。此时,主机控制器110向存储设备200递送与第一租户vm 1相关的第一访问信息acc_inf 1和第一租户数据。之后,当确定存在于第一访问信息acc_inf 1中的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址与存储在映射表219中的第一主机存储器地址hma 1、第一命名空间标识符nsid 1、第一缓冲器地址buffer address 1和第一逻辑块地址lba 1相同时,存储设备200中的设备安全管理器215确定对应的操作不是从第一租户vm 1执行的安全攻击,并且批准第一租户vm 1的写入操作。之后,设备安全管理器215可以通过使用第一安全密钥key 1将第一租户数据加密并写入第一缓冲区br 1中。第一租户vm 1可以完成对第一租户数据的写入操作。
118.也就是说,如上所述,根据一些示例实施例的存储设备200提取包括在从主机设备100接收的访问信息acc_inf中的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址,将提取的这些信息与映射表219的信息进行比较,在映射表219中存储了关于多个租
户vm 1至vm n中的每一个的信息,以确定提取的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址是否与映射表219的信息相同,然后确定是否批准来自主机设备100的访问,从而确保隔离多个租户vm 1至vm n中的每一个的数据并提高安全性。
119.例如,第一租户vm 1可以通过第一安全路由sr1仅访问存储在第一设备安全区dsz 1中的第一缓冲器地址buffer address 1的第一租户数据,并且第二租户vm 2可以通过第二安全路由sr2仅访问存储在第二设备安全区dsz 2中的第二缓冲器地址buffer address 2的第二租户数据。
120.图11是图示主机设备对存储设备的安全攻击的其他示例的框图。
121.参照图11,当来自第一租户vm 1的安全攻击被尝试时,第一租户vm 1可以尝试通过第一非安全路由nsr 1来访问第二设备安全区dsz 2的第二非易失性存储区域nmr 2和第二缓冲区br 2的数据。可替换地,当来自第二租户vm 2的安全攻击被尝试时,第二租户vm 2可以尝试通过第二非安全路由nsr 2来访问第一设备安全区dsz 1的第一非易失性存储区域nmr 1和第一缓冲区域br 1的数据。
122.因此,需要或期望隔离多个租户中的每一个以及保护多个租户中的每一个的非易失性存储器220和缓冲存储器216的数据。通过根据一些示例实施例的存储系统的操作,可以执行多个租户中的每一个租户的隔离以及对多个租户中的每一个租户的非易失性存储器220和缓冲存储器216的数据的保护,并在下面详细描述。
123.作为参考,省略了对前述描述的重复描述,并且以下描述基于与前述描述的不同。
124.图12和图13是示出根据一些示例实施例的存储系统的另一操作的示例框图。
125.参考图10、图12和图13,例如,如果第一租户vm 1读取存储在存储设备200的第一缓冲区br 1和第一非易失性存储区域nmr 1中的第一租户数据。此时,主机控制器110向存储设备200递送与第一租户vm 1相关的第一访问信息acc_inf 1。之后,当确定存在于第一访问信息acc_inf 1中的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址与存储在映射表219中的第一主机存储器地址hma 1、第一命名空间标识符nsid 1、第一缓冲器地址buffer address 1和第一逻辑块地址lba 1相同时,存储设备200中的设备安全管理器215确定对应的操作不是从第一租户vm 1执行的安全攻击,并且批准第一租户vm 1的读取操作。之后,设备安全管理器215可以通过使用第一安全密钥key 1来解码存储在第一缓冲区br 1和第一非易失性存储区域nmr 1中的第一租户数据,以将解码的第一租户数据发送到与主机存储器120的第一主机存储器地址hma 1相对应的第一主机存储区域106。第一租户vm 1可以完成对发送到第一主机存储区域106的第一租户数据的读取操作。
126.再例如,如果第一租户vm 1将第一租户数据写入存储设备200的第一缓冲区br 1和第一非易失性存储区域nmr 1中。此时,主机控制器110向存储设备200发送与第一租户vm 1相关的第一访问信息acc_inf 1和第一租户数据。之后,当确定存在于第一访问信息acc_inf 1中的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址与存储在映射表219中的第一主机存储器地址hma 1、第一命名空间标识符nsid 1、第一缓冲器地址buffer address 1和第一逻辑块地址lba 1相同时,存储设备200中的设备安全管理器215确定对应的操作不是从第一租户vm 1执行的安全攻击,并且批准第一租户vm 1的写入操作。之后,设备安全管理器215可以通过使用第一安全密钥key 1来加密第一租户数据并将其写入第一缓冲区br 1和第一非易失性存储区域nmr 1中。第一租户vm 1可以完成对第一租户数据的
写入操作。
127.也就是说,如上所述,根据一些示例实施例的存储设备200提取包括在从主机设备100接收的访问信息acc_inf中的主机存储器地址、命名空间标识符、缓冲器地址和逻辑块地址,将提取的这些与映射表219的信息进行比较,在映射表219中存储了关于多个租户vm 1至vm n中的每一个的信息,以确定提取的这些是否与映射表219的信息相同,然后确定是否批准来自主机设备100的访问,从而确保隔离多个租户vm 1至vm n中的每一个的数据并提高安全性。
128.例如,第一租户vm 1可以通过第一安全路由sr1仅访问存储在第一设备安全区dsz 1中的第一缓冲器地址buffer address 1和第一非易失性存储区域nmr 1的第一租户数据,并且第二租户vm 2可以通过第二安全路由sr2仅访问存储在第二设备安全区dsz 2中的第二缓冲器地址buffer address 2和第二非易失性存储区域nmr 2的第二租户数据。
129.图14是图示根据一些示例实施例的另一存储系统的示例框图。
130.参考图14,根据一些示例实施例的存储系统2000可以是移动系统,诸如移动电话、智能电话、平板个人计算机(pc)、可穿戴设备、保健设备或物联网(iot)设备。然而,图14的存储系统2000不必限于移动系统,而可以是个人计算机、膝上型计算机、服务器、媒体播放器或诸如导航器的汽车设备。
131.仍然参考图14,存储系统2000可以包括主处理器2100、存储器2200a和2200b以及存储设备2300a和2300b。存储系统2000可以进一步包括图像捕获设备2410、租户输入设备2420、传感器2430、通信设备2440、显示器2450、扬声器2460、电源设备2470和连接接口2480中的一个或多个。
132.主处理器2100可以控制存储系统2000的整体操作,更具体地,控制构成系统2000的其他组件的操作。主处理器2100可以被实现为通用处理器、专用处理器或应用处理器。
133.主处理器2100可以包括一个或多个cpu核2110,并且可以进一步包括用于控制存储器2200a和2200b和/或存储设备2300a和2300b的控制器2120。根据实施例,主处理器2100可以进一步包括加速器2130,其是用于诸如人工智能(ai)数据计算的高速数据计算的专用电路。加速器2130可以包括图形处理单元(gpu)、神经处理单元(npu)和/或数据处理单元(dpu),并且可以被实现为物理上独立于主处理器2100的其他组件的单独芯片。
134.存储器2200a和2200b可以用作系统2000的主存储器设备,并且可以包括诸如sram和/或dram的易失性存储器,但是也可以包括诸如闪存、pram和/或rram的非易失性存储器。存储器2200a和2200b可以在与主处理器2100相同的封装中实现。
135.存储设备2300a和2300b可以是根据一些示例实施例的存储设备200,其在上面参照图1至图13进行了描述。
136.存储设备2300a和2300b可以用作不管供电如何都存储数据的非易失性存储设备,并且可以具有比存储器2200a和2200b相对更大的存储容量。存储设备2300a和2300b可以包括存储控制器2310a和2310b以及用于在存储控制器2310a和2310b的控制下存储数据的非易失性存储器(nvm)2320a和2320b。非易失性存储器2320a和2320b可以包括二维(2d)结构或三维(3d)垂直nand(v-nand)结构的闪存,但是也可以包括其他类型的非易失性存储器,诸如pram和/或rram。
137.存储设备2300a和2300b可以以它们与主处理器2100物理分离的状态被包括在系
统2000中,并且可以在与主处理器2100相同的封装中实现。此外,存储设备2300a和2300b可以具有诸如固态设备(ssd)或存储卡的类型,并且因此可以通过诸如稍后描述的连接接口2480的接口可拆卸地耦合到系统2000的其他组件。存储设备2300a和2300b可以是应用诸如通用闪存(ufs)、嵌入式多媒体卡(emmc)或非易失性快速存储器(nvme)的标准规范的设备,但是不限于此。
138.图像捕捉设备2410可以捕捉静止图像或视频,并且可以是相机、便携式摄像机和/或网络摄像头。
139.租户输入设备2420可以从系统2000的租户接收各种类型的数据输入,并且可以是触摸板、小键盘、键盘、鼠标和/或麦克风。
140.传感器2430可以感测可以从系统2000的外部获取的各种类型的物理量,并将感测到的物理量转换成电信号。传感器2430可以是温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪传感器。
141.通信设备2440可以根据各种通信协议在系统2000外部的其他设备之间执行信号的发送和接收。这种通信设备2440可以使用天线、收发器和/或调制解调器来实现。
142.显示器2450和扬声器2460可以用作分别向系统2000的租户输出视觉信息和听觉信息的输出设备。
143.电源设备2470可以适当地转换从外部电源和/或嵌入在系统2000中的电池(未示出)供应的电力,以向系统2000的每个组件供应电力。
144.连接接口2480可以被提供以将系统2000与连接到系统2000的外部设备连接,用于与系统2000交换数据。连接接口2480可以以各种接口的方式实现,诸如高级技术附件(ata)、串行ata(sata)、外部sata(e-sata)、小型计算机小型接口(scsi)、串行连接scsi(sas)、外设组件互连(pci)、pci高速(pcie)、nvm高速(nvme)、ieee 1394、通用串行总线(usb)、安全数字(sd)卡、多媒体卡(mmc)、emmc、ufs、嵌入式通用闪存(eufs)和压缩闪存(cf)卡。
145.图15是图示应用根据一些示例实施例的存储设备的数据中心的示例框图。
146.参考图15,数据中心3000是用于通过收集各种数据来提供服务的设施,并且可以被称为数据存储中心。数据中心3000可以是用于操作搜索引擎和数据库的系统,并且可以是在诸如银行或政府机构的企业中使用的计算系统。数据中心3000可以包括应用服务器3100_1至3100_n和存储服务器3200_1至3200_m。应用服务器3100_1至3100_n的数量和存储服务器3200_1至3200_m的数量可以根据实施例被不同地选择,并且应用服务器3100_1至3100_n的数量和存储服务器3200_1至3200_m的数量可以彼此不同。
147.应用服务器3100或存储服务器3200可以包括处理器3110和3210或存储器3120和3220中的至少一个。应用服务器3100还可以包括交换机3130和网络互连(nic)3140。通过示例的方式描述存储服务器3200。处理器3210可以控制存储服务器3200的整体操作,并且可以访问存储器3220以执行加载到存储器3220中的命令语言和/或数据。存储器3220可以是双倍数据速率同步dram(ddr sdram)、高带宽存储器(hbm)、混合存储立方体(hmc)、双列直插式存储模块(dimm)、optane dimm和/或非易失性dimm(nvmdimm)。根据实施例,包括在存储服务器3200中的处理器3210的数量和存储器3220的数量可以被不同地选择。在一个实施例中,处理器3210和存储器3220可以提供处理器-存储器对。在一个实施例中,处理器3210
的数量和存储器3220的数量可以彼此不同。处理器3210可以包括单核处理器或多核处理器。存储服务器3200的描述可以类似地应用于应用服务器3100。根据一个实施例,应用服务器3100可以不包括存储设备3150。存储服务器3200可以包括至少一个存储设备3250。根据实施例,存储服务器3200中包括的存储设备3250的数量可以被不同地选择。
148.应用服务器3100_1至3100_n可以通过网络3300执行与存储服务器3200_1至3200_m的通信。网络3300可以使用光纤通道(fc)或以太网来实现。在这种情况下,fc是用于相对高速的数据传输的介质,并且提供高性能/高可用性的光学交换机可以用作fc。根据网络3300的访问方案,存储服务器3200_1至3200_m可以被提供为文件存储、块存储或对象存储。
149.在一个实施例中,网络3300可以是仅存储网络,诸如存储区域网络(san)。例如,san可以是根据fc协议(fcp)使用fc网络实现的fc-san。又例如,san可以是根据tcp/ip上的scsi或互联网scsi(iscsi)协议使用tcp/ip网络实现的ip-san。在另一实施例中,网络3300可以是通用网络,诸如tcp/ip网络。例如,网络3300可以根据诸如以太网上的fc(fcoe)、网络附加存储(nas)和光纤上的nvme(nvme-of)的协议来实现。
150.以下描述基于应用服务器3100和存储服务器3200。应用服务器3100的描述也可以被应用于其他应用服务器3100n,存储服务器3200的描述也可以被应用于其他存储服务器3200m。
151.应用服务器3100可以存储通过网络3300从租户或客户端请求存储在存储服务器3200_1至3200_m中的一个中的数据。此外,应用服务器3100可以获取通过网络3300从租户或客户端请求从存储服务器3200_1至3200_m中的一个读取的数据。例如,应用服务器3100可以被实现为网络服务器或数据库管理系统(dbms)。
152.应用服务器3100可以通过网络3300访问包括在另一个应用服务器3100n中的存储器3120n或存储设备3150n,或者可以通过网络3300访问包括在存储服务器3200_1至3200_m中的存储器3220_1至3220_m或存储设备3250_1至3250_m。结果,应用服务器3100可以关于存储在应用服务器3100_1至3100_n和/或存储服务器3200_1至3200_m中的数据执行各种操作。例如,应用服务器3100可以执行用于在应用服务器3100_1至3100_n和/或存储服务器3200_1至3200_m之间移动或复制数据的命令语言。此时,数据可以从存储服务器3200_1至3200_m的存储设备3250_1至3250_m经由存储服务器3200_1至3200_m的存储器3220_1至3220_m移动到应用服务器3100_1至3100_n的存储器3120_1至3120_n,或者可以直接移动到应用服务器3100_1至3100_n的存储器3120_1至3120_n。通过网络3300移动的数据可以是为了安全或隐私而加密的数据。交换机3130可以在处理器3110的控制下选择性地将处理器3110与存储设备3150连接,或者选择性地将nic3140与存储设备3150连接。
153.存储设备3250_1至3250_m可以是根据一些示例实施例的存储设备200,其在上面参考图1至图13进行了描述。
154.通过示例的方式描述存储服务器3200。接口3254可以提供处理器3210和控制器3251之间的物理连接以及网络互连(nic)3240和控制器3251之间的物理连接。例如,接口3254可以在直接附接存储(das)方案中实现,该方案将存储设备3250直接连接到专用电缆。此外,例如,接口3254可以以各种接口的方式实现,诸如高级技术附件(ata)、串行ata(sata)、外部sata(e-sata)、小型计算机小型接口(scsi)、串行连接scsi(sas)、外设组件互连(pci)、pci高速(pcie)、nvm高速(nvme)、ieee 1394、通用串行总线(usb)、安全数字(sd)
卡、多媒体卡(mmc)、嵌入式多媒体卡(emmc)、通用闪存(ufs)、嵌入式通用闪存(eufs)和/或紧凑闪存(cf)卡。
155.存储服务器3200可以进一步包括交换机3230和nic 3240。交换机3230可以在处理器3210的控制下选择性地将处理器3210与存储设备3250连接,或者选择性地将nic 3240与存储设备3250连接。
156.在一个实施例中,nic 3240可以包括网络接口卡、网络适配器等。nic 3240可以通过有线接口、无线接口、蓝牙接口、光学接口等连接到网络3300。nic 3240可以包括内部存储器、数字信号处理器(dsp)、主机总线接口等,并且可以通过主机总线接口连接到处理器3210和/或交换机3230。主机总线接口可以被实现为接口3254的上述示例中的一个。在一个实施例中,nic 3240可以与处理器3210、交换机3230或存储设备3250中的至少一个集成。
157.在存储服务器3200_1至3200_m或应用服务器3100_1至3100_n中,处理器可以向存储设备3150_1至3150_n和3250_1至3250_m或存储器3120_1至3120_n和3220_1至3220_m递送命令以编程或读取数据。此时,数据可以是通过纠错码(ecc)引擎纠错的数据。该数据可以是经受数据总线转换(dbi)或数据屏蔽(dm)的数据,并且可以包括循环冗余码(crc)信息。数据可以是为了安全或隐私而加密的数据。
158.存储设备3150_1至3150_n和3250_1至3250_m可以响应于从处理器接收的读取命令,向nand闪存设备3252_1至3252_m发送控制信号和命令/地址信号。因此,当从nand闪存设备3252_1至3252_m读取数据时,可以输入读取使能(re)信号作为数据输出控制信号,以将数据输出到dq总线。可以使用re信号来生成数据选通dqs。可以根据写入使能(we)信号的上升沿或下降沿将命令和地址信号锁存到页缓冲器中。
159.控制器3251通常可以控制存储设备3250的操作。在一个实施例中,控制器3251可以包括静态随机存取存储器(sram)。控制器3251可以响应于写入命令将数据写入nand闪存3252,或者响应于读取命令从nand闪存3252读取数据。例如,可以从存储服务器3200中的处理器3210、另一存储服务器3200m中的处理器3210m或者应用服务器3100和3100n中的处理器3110和3110n提供写入命令和/或读取命令。dram 3253可以临时存储(缓冲)要写入nand闪存3252的数据或者从nand闪存3252读取的数据。此外,dram 3253可以存储元数据。在这种情况下,元数据可以是租户数据或由控制器3251生成的用于管理nand闪存3252的数据。存储设备3250可以包括用于安全或隐私的安全元件(se)。
160.此外,主机控制器110、主机安全管理器130、设备安全管理器215、纠错码引擎217、加密/解密引擎218、cpu核2110、控制器2220、加速器2230、存储控制器2310a、2310b、处理器3110、3210和控制器3251和/或其中包括的组件可以包括处理器和/或处理电路,诸如包括逻辑电路的硬件;硬件/软件组合,诸如执行软件的处理器;或它们的组合。例如,处理器和/或处理电路可以包括但不限于中央处理单元(cpu)、存储器控制器、算术逻辑单元(alu)、数字信号处理器、微型计算机、现场可编程门阵列(fpga)和可编程逻辑单元、微处理器、专用集成电路(asic)等。
161.处理器、控制器和/或处理电路可以被配置为通过被专门编程以执行那些动作或步骤(例如利用fpga或asic)来执行这些动作或步骤,或者可以被配置为通过执行从存储器接收的指令来执行这些动作或步骤,或者它们的组合。
162.尽管已经参照附图描述了根据本公开的技术精神的实施例,但是本公开能够以各
种形式制造,而不限于上述实施例,并且本公开所属领域的普通技术人员能够理解,在不脱离本公开的技术精神和本质特征的情况下,本公开能够以其他特定形式实施。因此,上述实施例在所有方面都被认为是说明性的而非限制性的。
163.尽管上面已经参考附图描述了本公开的实施例,但是本领域普通技术人员将理解,本公开不限于此,并且可以在不脱离其技术思想或基本特征的情况下以许多不同的形式实现。因此,应该理解,这里阐述的实施例在所有方面都仅仅是示例,而不是限制性的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1