CN117194004A - 存储器装置及其操作方法 - Google Patents
存储器装置及其操作方法 Download PDFInfo
- Publication number
- CN117194004A CN117194004A CN202310594965.7A CN202310594965A CN117194004A CN 117194004 A CN117194004 A CN 117194004A CN 202310594965 A CN202310594965 A CN 202310594965A CN 117194004 A CN117194004 A CN 117194004A
- Authority
- CN
- China
- Prior art keywords
- workload
- memory device
- cpu
- cpus
- channels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000012546 transfer Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 37
- 230000006870 function Effects 0.000 description 15
- 238000013507 mapping Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
提供了存储器装置及其操作方法。所述存储器装置的一个或多个主机中央处理器(HCPU)可从主机应用接收工作负载。工作负载包括标识符(ID)。可基于ID将工作负载分发到所述存储器装置的中央处理器(CPU)。可基于所述CPU将工作负载发送到所述存储器装置的通道。
Description
本申请基于并要求于2022年6月6日提交的第63/349,324号美国临时专利申请的优先权,所述美国临时专利申请的全部内容通过引用包含于此。
技术领域
本公开总体上涉及固态驱动器(SSD),并且更具体地,涉及存储器装置及其操作方法。
背景技术
大数据应用处理相对大的数据集。SSD被广泛用作用于大数据服务的云基础设施中的硬件特征。SSD非常适合于大数据应用,因为它们提供快速存储性能,并且是高效且节约成本的。具体地,可通过使用SSD架构来加速输入/输出(I/O)密集型操作。在多租户云环境中,例如,数据类型和工作负载在数据单元、应用工作负载、接口和服务质量(QoS)需求方面不同。
发明内容
实施例使用标识符(ID)将数据驱动到指定的嵌入式中央处理器(CPU),使得能够管理SSD数据。每个嵌入式CPU具有相同或不同的映射算法/接口,该映射算法/接口针对特定应用类型进行优化以充分利用底层硬件资源。
根据实施例,提供了一种存储器装置的方法。存储器装置的一个或多个主机CPU(HCPU)可从主机应用接收工作负载。工作负载可包括ID。可基于ID将工作负载分发到所述存储器装置的CPU。可基于所述CPU将工作负载分发到所述存储器装置的通道。
根据实施例,提供了一种存储器装置,所述存储器装置包括一个或多个HCPU,所述一个或多个HCPU可被配置为:从主机应用接收包括ID的工作负载,并且基于ID将工作负载分发到所述存储器装置的CPU。所述存储器装置还包括:所述CPU,可被配置为基于所述CPU将工作负载分发给所述存储器装置的通道。
根据实施例,提供了一种存储器装置,所述存储器装置包括:一个或多个HCPU,可被配置为从主机应用接收工作负载。工作负载可包括相应的ID。所述一个或多个HCPU还可被配置为:基于相应的ID将工作负载分发到所述存储器装置的CPU。所述存储器器装置还包括:CPU,可被配置为基于所述CPU将工作负载分发到所述存储器装置的相应的通道。所述存储器装置还包括:通道,可被配置为从所述CPU接收工作负载以用于数据存储和检索。
附图说明
根据以下结合附图的具体实施方式,本公开的特定实施例的以上和其他方面、特征和优点将更清楚,在附图中:
图1是示出根据实施例的支持多个存储接口的SSD的示图;
图2是示出根据实施例的通过不同固件支持多个存储接口的SSD的示图;
图3是示出根据实施例的具有嵌入式CPU的SSD的示图,嵌入式CPU具有不同的存储器大小;
图4是示出根据实施例的具有嵌入式CPU的SSD的示图,嵌入式CPU具有自适应通道路径;
图5是示出根据实施例的操作存储器装置的方法的流程图;
图6示出根据实施例的网络环境中的电子装置的框图;以及
图7示出根据实施例的存储系统的示图。
具体实施方式
在下文中,参照附图详细描述本公开的实施例。应当注意,尽管相同的元件在不同的附图中示出,但是相同的元件将由相同的参考标号表示。在以下描述中,仅提供诸如详细配置和组件的具体细节以帮助全面理解本公开的实施例。因此,对于本领域技术人员应该清楚的是,在不脱离本公开的范围的情况下,可对在此描述的实施例进行各种改变和修改。另外,为了清楚和简明,省略了对公知功能和结构的描述。下面描述的术语是考虑到本公开中的功能而定义的术语,并且可根据用户、用户的意图或习惯而不同。因此,术语的定义应基于贯穿本说明书的内容来确定。
本公开可具有各种修改和各种实施例,其中,下面参照附图详细描述实施例。然而,应当理解,本公开不限于实施例,而是包括在本公开的范围内的所有修改、等同物和替代物。
尽管包括诸如第一、第二等的序数的术语可用于描述各种元件,但是结构元件不受这些术语的限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不脱离本公开的范围的情况下,第一结构元件可被称为第二结构元件。类似地,第二结构元件也可被称为第一结构元件。如在此所使用的,术语“和/或”包括一个或多个相关联的项的任何和所有组合。
在此使用的术语仅用于描述本公开的各种实施例,而不旨在限制本公开。除非上下文另外清楚地指示,否则单数形式旨在包括复数形式。在本公开中,应当理解,术语“包括”或“具有”指示存在特征、数量、步骤、操作、结构元件、部件或它们的组合,并且不排除存在一个或多个其他特征、数量、步骤、操作、结构元件、部件或它们的组合或者添加一个或多个其他特征、数量、步骤、操作、结构元件、部件或它们的组合的可能性。
除非另外定义,否则在此使用的所有术语具有与本公开所属领域的技术人员所理解的含义相同的含义。除非在本公开中清楚地定义,否则术语(诸如,在通用词典中定义的术语)应被解释为具有与相关领域中的上下文含义相同的含义,并且不应以理想化或过于形式化的含义进行解释。
根据一个实施例,电子装置可以是利用存储装置的各种类型的电子装置之一。电子装置可使用任何合适的存储标准(诸如,例如,外围组件互连快速(PCIe)、非易失性存储器快速(NVMe)、通过网络的NVMe(NVMeoF)、高级可扩展接口(AXI)、超路径互连(ultra pathinterconnect,UPI)、以太网、传输控制协议/互联网协议(TCP/IP)、远程直接存储器访问(RDMA)、通过融合以太网的RDMA(ROCE)、光纤通道(FC)、无限带宽(IB)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、互联网广域RDMA协议(iWARP)等或它们的任何组合)。在一些实施例中,互连接口可用一个或多个存储器语义(memorysemantic)和/或存储器一致性接口和/或协议(包括一个或多个计算快速链路(CXL)协议(诸如,CXL.mem、CXL.io和/或CXL.cache)、Gen-Z、一致性加速器处理器接口(CAPI)、用于加速器的高速缓存一致性互连(CCIX)等或它们的任何组合)来实现。任何存储器装置可用任何类型的存储器装置接口(包括双倍数据速率(DDR)、DDR2、DDR3、DDR4、DDR5、低功率DDR(LPDDRX)、开放式存储器接口(OMI)、NVlink高带宽存储器(HBM)、HBM2、HBM3等)中的一个或多个来实现。电子装置可包括例如便携式通信装置(例如,智能电话)、计算机、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。然而,电子装置不限于上述那些。
本公开中使用的术语不旨在限制本公开,而是旨在包括相应实施例的各种改变、等同物或替换。关于附图的描述,相似的参考标号可用于表示相似或相关的元件。除非相关上下文另外清楚地指示,否则与项对应的名词的单数形式可包括一个或多个事物。如在此所使用的,诸如“A或B”、“A和B中的至少一者”、“A或B中的至少一者”、“A、B或C”、“A、B和C中的至少一者”和“A、B或C中的至少一者”的短语中的每个可包括在相应的一个短语中一起列举的项的所有可能组合。如在此所使用的,诸如“第1”、“第2”、“第一”和“第二”的术语可用于将相应的组件与另一组件区分开,但是并不旨在在其他方面(例如,重要性或顺序)限制组件。如果元件(例如,第一元件)在有或没有术语“可操作地”或“通信地”的情况下被称为“与”另一元件(例如,第二元件)“结合”、“结合到”另一元件(例如,第二元件)、“与”另一元件(例如,第二元件)“连接”或“连接到”另一元件(例如,第二元件),则意图指示的是,该元件可直接(例如,有线地)、无线地或经由第三元件与另一元件结合。
如在此所使用的,术语“模块”可包括以硬件、软件、固件或它们的组合实现的单元,并且可与其他术语(例如,“逻辑”、“逻辑块”、“部件”和“电路系统”)可互换地使用。模块可以是适于执行一个或多个功能的单个集成组件或其最小单元或部件。例如,根据一个实施例,模块可以以专用集成电路(ASIC)、协处理器或现场可编程门阵列(FPGA)的形式实现。
SSD可支持多个存储接口,并且SSD的闪存转换层(FTL)映射算法包括将数据块分发到SSD的不同的嵌入式CPU。嵌入式CPU具有同构配置,并且数据分发可通过使用例如对多个嵌入式CPU的数量的逻辑块寻址(LBA)取模(modulo)来执行。
为了提高多存储接口装置上的数据分发效率,实施例可提供一种使用将数据驱动到指定的嵌入式CPU的ID来管理数据分发的方法。每个嵌入式CPU可针对特定种类的应用进行配置或优化,以便充分利用底层硬件资源。
具体地,实施例提供了用于将数据高效地放置在支持多个接口的NAND闪存上的方法。通过对来自不同应用的数据进行标记,数据可由相应的嵌入式CPU处理以用于高效的放置和检索。
因此,实施例将应用数据的标记提供到专用嵌入式CPU,其中,每个嵌入式CPU可支持不同的映射算法,并且每个嵌入式CPU可支持不同的主机应用或接口。
这导致灵活的数据放置和映射算法、用于满足不同的性能要求的高效的数据映射、以及提高的垃圾收集效率。
图1是示出根据实施例的支持多个存储接口的SSD的示图。主机102被示出为包括主机应用(诸如,例如,电子邮件服务器(e-mail)104、键值(KV)数据库(DB)106和关系数据库管理系统(RDMS)108)。电子邮件服务器104可需要小的随机读/写(R/W)工作负载。KV数据库106可需要小的随机读取工作负载和大的顺序R/W工作负载。关系数据库管理系统108可需要具有结构化数据和模式的工作负载。电子邮件服务器104、KV数据库106和关系数据库管理系统108的不同工作负载和相应的数据可被混合并提供给SSD 110。
SSD 110包括接收混合的工作负载(例如,数据块)的主机中央处理器HCPU 112,混合的工作负载可通过嵌入式CPU-0 114至嵌入式CPU-3 116分发,嵌入式CPU-0 114至嵌入式CPU-3 116运行同一固件。例如,使用对嵌入式CPU的数量的LBA取模将工作负载分发给嵌入式CPU。对嵌入式CPU的数量的LBA取模提供了与在嵌入式CPU之间分发工作负载的轮询调度(round robin)类似的解决方案。
工作负载可从嵌入式CPU(114-116)被分发到它们相应的通道(例如,闪存芯片)。例如,嵌入式CPU-0 114可将工作负载提供到CH-0 118、CH-1 120、CH-2 122和CH-3 124,并且嵌入式CPU-3 116可将工作负载提供到CH-12 126、CH-13 128、CH-14 130和CH-15 132。因此,来自不同的主机应用或租户的工作负载可被分发到所有通道。然而,SSD 110还应当通过单独且高效地放置来自不同应用的数据来支持多接口。
图2是示出根据实施例的通过不同固件支持多个存储接口的SSD的示图。
类似于图1,主机202被示出为包括主机应用(诸如,例如,电子邮件服务器204、KV数据库206和关系数据库管理系统208)。电子邮件服务器204、KV数据库206和关系数据库管理系统208的不同工作负载(例如,数据块)可被提供有相应的ID并且被提供给SSD 210。ID可包括命名空间ID、流ID或端口(例如,分区命名空间或KV接口)。在命名空间ID的情况下,数据可被存储在映射到命名空间的驱动器上。在流ID的情况下,应用可用相应的流ID来标记写入命令。
根据实施例,可利用多个嵌入式CPU来基于不同需求处理数据放置。每个嵌入式CPU可支持特定种类的映射算法(例如,页级映射或KV接口映射)以适应各种应用需求。因此,可提供细粒度和预留的SSD装置资源分配方法。
SSD 210包括HCPU 212,HCPU 212可接收工作负载,并且可基于工作负载的ID将工作负载(例如,数据块或命令)路由到嵌入式CPU。具体地,HCPU 212可对数据传输命令进行解码,然后可基于命名空间ID/流ID将工作负载发送到相应的一个或多个嵌入式CPU。因此,HCPU 212可将工作负载传递到专用嵌入式CPU以进行高效的数据存储。尽管在图2中图示出了单个HCPU,但是实施例不限于此,并且SSD 210可包括接收工作负载并将工作负载传递到嵌入式CPU的多个HCPU。
具有第一ID(ID-0)的工作负载来自电子邮件服务器204,并且可被提供给第一嵌入式CPU-0 214。第一ID可以是nvme0n1的命名空间ID。第一嵌入式CPU-0 214可针对随机R/W进行配置或优化以提高电子邮件服务器性能。第一嵌入式CPU-0 214用最近最少使用(LRU)高速缓存加载针对4K随机R/W配置或优化的固件。操作系统可将CPU-0相关数据路径识别为驱动器nvme0n1。
具有第二ID(ID-1)的工作负载来自KV数据库206,并且可被提供给第二嵌入式CPU-1 216。第二ID可以是nvme1n1的命名空间ID。第二嵌入式CPU-1 216针对小的随机读取工作负载和大的顺序R/W工作负载进行配置或优化。第二嵌入式CPU-1 216可加载支持分区命名空间(zoned namespace)的固件。操作系统可将CPU-1相关数据路径识别为驱动器nvme1n1。
具有第三ID(ID-2)的工作负载可被提供给第三嵌入式CPU-2 218。
具有第四ID(ID-3)的工作负载来自关系数据库管理系统208,并且可被提供给第四嵌入式CPU-3 220。第四ID可以是KV接口的命名空间ID。第四嵌入式CPU-3 220可被配置或优化,使得其对热数据库(DB)事务的数据进行缓存,并且对属于同一事务的写入请求进行分组。第四嵌入式CPU-3 220可支持KV应用编程接口(API)。因此,嵌入式CPU的相应固件被配置或优化以最佳地适应相关工作负载。具体地,SSD的每个嵌入式CPU加载不同类型的固件。
工作负载可从嵌入式CPU(214、216、218、220)被分发到它们的相应的通道(例如,SSD的闪存芯片)以用于存储和检索目的。例如,第一嵌入式CPU-0 214可将工作负载提供给CH-0 222、CH-1 224、CH-2 226和CH-3 228,并且第四嵌入式CPU-3 220可将工作负载提供给CH-12 230、CH-13 232、CH-14 234和CH-15 236。类似地,第二嵌入式CPU-1 216和第三嵌入式CPU-2218可将相应的工作负载提供给相应的通道。
图3是示出根据实施例的具有嵌入式CPU的SSD的示图,嵌入式CPU具有不同的存储器大小。SSD 310在HCPU 312处接收具有第一ID(ID-0)的工作负载(例如,数据块或命令)和具有第二ID(ID-1)的工作负载(例如,数据块或命令)。具有不同标识符的工作负载来自不同的主机应用。具有第一ID(ID-0)的工作负载从HCPU 312传递到第一嵌入式CPU-0 314,并且具有第二ID(ID-1)的工作负载从HCPU 312传递到第二嵌入式CPU-1 316。尽管在图3中示出了单个HCPU,但是实施例不限于此,并且SSD 310可包括接收工作负载并将工作负载传递到嵌入式CPU的多个HCPU。
第一嵌入式CPU-0 314具有第一大小的第一动态随机存取存储器(DRAM)318,并且第二嵌入式CPU-1 316具有第二大小的第二DRAM 320。第一DRAM 318的大小大于第二DRAM320的大小。可基于相应CPU的固件来配置DRAM的大小,CPU的固件基于要提供给CPU的应用工作负载。
第一嵌入式CPU-0 314和第二嵌入式CPU-1 316将工作负载提供给不同数量的通道(例如,闪存芯片)。例如,第一嵌入式CPU-0 314将工作负载提供给六个通道(即,CH-0322、CH-1 324、CH-2 326、CH-3 328、CH-4 330和CH-5 332),并且第二嵌入式CPU-1 316将工作负载提供给两个通道(即,CH-6 334和CH-7 336)。通道的数量可基于相应DRAM的大小来配置,或者可基于相应CPU的固件来配置,CPU的固件基于要提供给CPU的应用工作负载。
图4是示出根据实施例的具有CPU的SSD的示图,CPU具有自适应通道路径。SSD 410在HCPU 412处接收具有第一ID(ID-0)的工作负载和具有第二ID(ID-1)的工作负载。具有不同标识符的工作负载来自不同的主机应用。具有第一ID(ID-0)的工作负载可从HCPU 412传递到第一嵌入式CPU-0414,并且具有第二ID(ID-1)的工作负载可从HCPU 412传递到第二嵌入式CPU-1 416。尽管在图4中示出了单个HCPU,但是实施例不限于此,并且SSD 410可包括接收工作负载并将工作负载传递到专用嵌入式CPU的多个HCPU。
第一嵌入式CPU-0 414和第二嵌入式CPU-1 416中的每个通过NAND CPU(NCPU)访问通道。具体地,第一嵌入式CPU-0 414和第二嵌入式CPU-1416可访问第一NCPU-0 418、第二NCPU-1 420、第三NCPU-2 422和第四NCPU-3 424中的一个或多个。每个NCPU被配置为访问两个通道(例如,闪存芯片)。具体地,第一NCPU-0 418可访问第一通道CH-0 426和第二通道CH-1 428。第二NCPU-1 420可访问第三通道CH-2 430和第四通道CH-3 432。第三NCPU-2422可访问第五通道CH-4 434和第六通道CH-5 436。第四NCPU-3 424可访问第七通道CH-6438和第八通道CH-7 440。由CPU访问的特定NCPU取决于在CPU处接收的工作负载所需的通道数量。
实施例不限于多接口装置,而是也适用于仅支持单个接口的常规装置。另外,实施例还适用于具有不同能力的异构嵌入式CPU以及不同的底层硬件布局。例如,每个嵌入式CPU可控制不同数量的通道,每个嵌入式CPU可具有不同的预留空间(over provisionspace),每个嵌入式CPU可控制不同R/W速度的NAND,并且每个嵌入式CPU可控制不同的NAND类型。
每个嵌入式CPU可支持多于一种映射算法。例如,第一嵌入式CPU-0可支持散列映射、页级映射和基于需求的闪存转换层(DFTL),第二嵌入式CPU-1可支持散列映射和页级映射,并且第三嵌入式CPU-2可支持DFTL和B+树。主机接口逻辑(HIL)维护每个嵌入式CPU的映射信息。在写入请求时,基于应用标记,HIL可确定哪个嵌入式CPU对块进行分发。单个请求可被划分并分发给支持标记的映射算法的多个嵌入式CPU。
图5是示出存储器装置的方法的流程图。在502处,存储器装置(例如,SSD)的一个或多个HCPU可从主机应用接收工作负载(例如,数据块或命令)。工作负载包括ID,并且ID的类型基于主机应用(例如,命名空间ID、流ID、端口)。可在HCPU处对工作负载的数据传输命令进行解码。
在504处,可基于ID将工作负载分发到存储器装置的嵌入式CPU。嵌入式CPU可以是多个嵌入式CPU中的一个,每个嵌入式CPU针对不同的主机应用进行配置或优化。每个CPU可具有不同大小的存储器。每个CPU可与相同数量或不同数量的通道(例如,闪存芯片)对应。
在506处,可基于嵌入式CPU将工作负载分发到存储器装置的通道。可基于工作负载将工作负载从嵌入式CPU分发到一个或多个NAND CPU,然后将工作负载从一个或多个NAND CPU分发到与一个或多个NAND CPU对应的通道。一个或多个NAND CPU的数量可基于工作负载,并且一个或多个NAND CPU中的每个可与设定数量的通道对应。
图6示出根据一个实施例的网络环境600中的电子装置601的框图。参照图6,网络环境600中的电子装置601可经由第一网络698(例如,短距离无线通信网络)与电子装置602通信,或者经由第二网络699(例如,长距离无线通信网络)与电子装置604或服务器608通信。电子装置601可经由服务器608与电子装置604通信。电子装置601可包括处理器620、存储器630、输入装置650、声音输出装置655、显示装置660、音频模块670、传感器模块676、接口677、触觉模块679、相机模块680、电源管理模块688、电池689、通信模块690、用户识别模块(SIM)696或天线模块697。在一个实施例中,可从电子装置601省略组件中的至少一个(例如,显示装置660或相机模块680),或者可将一个或多个其他组件添加到电子装置601。在一个实施例中,组件中的一些可被实现为单个集成电路(IC)。例如,传感器模块676(例如,指纹传感器、虹膜传感器或照度传感器)可被嵌入在显示装置660(例如,显示器)中。
处理器620可执行例如软件(例如,程序640),以控制电子装置601的与处理器620结合的至少一个其他组件(例如,硬件组件或软件组件),并且可执行各种数据处理或计算。处理器可与SSD的HCPU、或者SSD的HCPU、嵌入式CPU和/或NAND CPU的组合对应。作为数据处理或计算的至少一部分,处理器620可将从主机或另一组件(例如,传感器模块676或通信模块690)接收的命令或数据加载到易失性存储器632中,处理存储在易失性存储器632中的命令或数据,并将产生的数据存储在非易失性存储器634中。处理器620可包括主处理器621(例如,CPU或应用处理器(AP))和辅助处理器623(例如,图形处理器(GPU)、图像信号处理器(ISP)、传感器集线器处理器或通信处理器(CP)),辅助处理器623可独立于主处理器621操作或与主处理器621结合操作。附加地或可选地,辅助处理器623可适合于比主处理器621消耗更少的功率,或者执行特定功能。辅助处理器623可被实现为与主处理器621分离或者是主处理器621的一部分。
辅助处理器623可在主处理器621处于非活动(例如,睡眠)状态下时代替主处理器621控制与电子装置601的组件之中的至少一个组件(例如,显示装置660、传感器模块676或通信模块690)相关的功能和状态中的至少一些,或者在主处理器621处于活动状态(例如,执行应用)时与主处理器621一起控制与电子装置601的组件之中的至少一个组件(例如,显示装置660、传感器模块676或通信模块690)相关的功能和状态中的至少一些。根据一个实施例,辅助处理器623(例如,图像信号处理器或通信处理器)可被实现为在功能上与辅助处理器623相关的另一组件(例如,相机模块680或通信模块690)的一部分。
存储器630可存储由电子装置601的至少一个组件(例如,处理器620或传感器模块676)使用的各种数据。各种数据可包括例如软件(例如,程序640)和用于与其相关的命令的输入数据或输出数据。存储器630可包括易失性存储器632或非易失性存储器634。
程序640可作为软件存储在存储器630中,并且可包括例如操作系统(OS)642、中间件644或应用646。
输入装置650可从电子装置601的外部(例如,用户)接收要由电子装置601的另一组件(例如,处理器620)使用的命令或数据。输入装置650可包括例如麦克风、鼠标或键盘。
声音输出装置655可将声音信号输出到电子装置601的外部。声音输出装置655可包括例如扬声器或接收器。扬声器可用于一般用途(诸如,播放多媒体或录音),并且接收器可用于接收呼入呼叫。根据一个实施例,接收器可被实现为与扬声器分离或者扬声器的一部分。
显示装置660可视觉地向电子装置601的外部(例如,用户)提供信息。显示装置660可包括例如显示器、全息图装置或投影仪以及用于控制显示器、全息图装置和投影仪中的相应一个的控制电路系统。根据一个实施例,显示装置660可包括适合于检测触摸的触摸电路系统或适合于测量由触摸引起的力的强度的传感器电路系统(例如,压力传感器)。
音频模块670可将声音转换为电信号,反之亦然。根据一个实施例,音频模块670可经由输入装置650获得声音,或者经由声音输出装置655或与电子装置601直接(例如,有线地)或无线地结合的外部电子装置602的耳机输出语音。
传感器模块676可检测电子装置601的操作状态(例如,功率或温度)或电子装置601外部的环境状态(例如,用户的状态),然后生成与检测到的状态对应的电信号或数据值。传感器模块676可包括例如姿态传感器、陀螺仪传感器、大气压传感器、磁传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征信息传感器、温度传感器、湿度传感器或照度传感器。
接口677可支持用于电子装置601直接(例如,有线地)或无线地与外部电子装置602结合的一个或多个特定协议。根据一个实施例,接口677可包括例如高清多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端子678可包括电子装置601可与外部电子装置602物理地连接所通过的连接器。根据一个实施例,连接端子678可包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。
触觉模块679可将电信号转换成可由用户经由触感或动觉识别的机械刺激(例如,振动或移动)或电刺激。根据一个实施例,触觉模块679可包括例如马达、压电元件或电刺激器。
相机模块680可拍摄静止图像或运动图像。根据一个实施例,相机模块680可包括一个或多个透镜、图像传感器、图像信号处理器或闪光灯。
电源管理模块688可管理供应给电子装置601的电力。电源管理模块688可被实现为例如电源管理集成电路(PMIC)的至少一部分。
电池689可向电子装置601的至少一个组件供电。根据一个实施例,电池689可包括例如不可再充电的一次电池、可再充电的二次电池或燃料电池。
通信模块690可支持在电子装置601与外部电子装置(例如,电子装置602、电子装置604或服务器608)之间建立直接(例如,有线)通信通道或无线通信通道,并且经由建立的通信通道执行通信。通信模块690可包括一个或多个通信处理器,通信处理器可独立于处理器620(例如,AP)操作并且支持直接(例如,有线)通信或无线通信。根据一个实施例,通信模块690可包括无线通信模块692(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(GNSS)通信模块)或有线通信模块694(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的相应一个可经由第一网络698(例如,短距离通信网络(诸如,蓝牙TM、无线保真(Wi-Fi)直连或红外数据协会(IrDA)的标准))或第二网络699(例如,长距离通信网络(诸如,蜂窝网络、互联网或计算机网络(例如,LAN或广域网(WAN)))与外部电子装置通信。这些各种类型的通信模块可被实现为单个组件(例如,单个IC),或者可被实现为彼此分离的多个组件(例如,多个IC)。无线通信模块692可使用用户信息(例如,国际移动用户识别码(international mobile subscriber identity,IMSI))来在通信网络(诸如,第一网络698或第二网络699)中识别和认证电子装置601。
天线模块697可向电子装置601的外部(例如,外部电子装置)发送信号或电力,或者从电子装置601的外部(例如,外部电子装置)接收信号或电力。根据一个实施例,天线模块697可包括一个或多个天线,并且由此,可例如由通信模块690(例如,无线通信模块692)选择适合于在通信网络(诸如,第一网络698或第二网络699)中使用的通信方案的至少一个天线。然后,可经由选择的至少一个天线在通信模块690与外部电子装置之间发送或接收信号或电力。
上述组件中的至少一些可相互结合并且经由外设间通信方案(例如,总线、通用输入和输出(GPIO)、串行外设接口(SPI)或移动行业处理器接口(MIPI))在其间传送信号(例如,命令或数据)。
根据一个实施例,可经由与第二网络699结合的服务器608在电子装置601与外部电子装置604之间发送或接收命令或数据。电子装置602和604中的每个可以是与电子装置601相同类型或不同类型的装置。要在电子装置601执行的操作中的全部或一些可在外部电子装置602、604或608中的一个或多个执行。例如,如果电子装置601应当自动地或者响应于来自用户或另一装置的请求来执行功能或服务,则电子装置601可请求一个或多个外部电子装置执行功能或服务的至少一部分,而不是执行功能或服务,或者除了执行功能或服务之外,电子装置601还可请求一个或多个外部电子装置执行功能或服务的至少一部分。接收请求的一个或多个外部电子装置可执行所请求的功能或服务的至少一部分、或者与请求相关的附加功能或附加服务,并将执行的结果传送到电子装置601。电子装置601可在有或没有进一步处理结果的情况下提供结果作为对请求的回应的至少一部分。为此,例如,可使用云计算、分布式计算或客户端-服务器计算技术。
一个实施例可被实现为包括存储在存储介质(例如,内部存储器636或外部存储器638)中的一个或多个指令的软件(例如,程序640),存储介质可由机器(例如,电子装置601)读取。例如,电子装置601的处理器可调用存储在存储介质中的一个或多个指令中的至少一个,并且在处理器的控制下,在使用或不使用一个或多个其他组件的情况下执行它。因此,可操作机器以根据所调用的至少一个指令来执行至少一个功能。一个或多个指令可包括由编译器生成的代码或可由解释器执行的代码。机器可读存储介质可以以非暂时性存储介质的形式提供。术语“非暂时性”指示存储介质是有形装置,并且不包括信号(例如,电磁波),但是该术语不区分数据半永久地存储在存储介质中的情况与数据临时存储在存储介质中的情况。
根据一个实施例,可在计算机程序产品中包括和提供公开的方法。计算机程序产品可作为产品在卖方与买方之间交易。计算机程序产品可以以机器可读存储介质(例如,光盘只读存储器(CD-ROM))的形式分发,或者经由应用商店(例如,PlayStoreTM)在线分发(例如,下载或上传),或者直接在两个用户装置(例如,智能电话)之间分发。如果在线分发,则计算机程序产品的至少一部分可被临时生成或至少临时存储在机器可读存储介质中(诸如,制造商服务器的存储器、应用商店的服务器的存储器或中继服务器的存储器)。
根据一个实施例,上述组件中的每个组件(例如,模块或程序)可包括单个实体或多个实体。可省略上述组件中的一个或多个,或者可添加一个或多个其他组件。可选地或附加地,多个组件(例如,模块或程序)可集成到单个组件中。在这种情况下,集成组件仍然可以以与在集成之前由多个组件中的相应组件执行的方式相同或相似的方式,执行多个组件中的每个组件的一个或多个功能。由模块、程序或另一组件执行的操作可顺序地、并行地、重复地或启发式地被执行,或者操作中的一个或多个可以以不同的顺序被执行或被省略,或者一个或多个其他操作可被添加。
图7示出根据实施例的存储系统700的示图。存储系统700包括主机702和存储装置704。尽管描绘了一个主机和一个存储装置,但是存储系统700可包括多个主机和/或多个存储装置。存储装置704可以是SSD、通用闪存存储(UFS)等。存储装置704包括控制器706和连接到控制器706的存储介质708。控制器706可以是SSD控制器、UFS控制器等。存储介质708可包括易失性存储器、非易失性存储器或两者,并且可包括一个或多个闪存芯片(或其他存储介质)。控制器706可包括一个或多个处理器、一个或多个纠错电路、一个或多个现场可编程门阵列(FPGA)、一个或多个主机接口、一个或多个闪存总线接口等、或它们的组合。控制器706可被配置为促进主机702与存储媒体708之间的数据/命令的传送。主机702将数据/命令发送到存储装置704,以由控制器706接收并结合存储介质708处理。如在此描述的,方法、处理和算法可在存储装置控制器(诸如,控制器706)上实现。仲裁器、命令提取器和命令处理器可实现在存储装置704的控制器706中,并且处理器和缓冲器可实现在主机702中。
尽管已经在本公开的具体实施方式中描述了本公开的特定实施例,但是在不脱离本公开的范围的情况下,可以以各种形式修改本公开。因此,本公开的范围不应仅基于所描述的实施例来确定,而是基于所附权利要求及其等同物来确定。
Claims (20)
1.一种操作存储器装置的方法,包括:
在所述存储器装置的一个或多个主机中央处理器HCPU处从主机应用接收工作负载,其中,工作负载包括标识符ID;
基于ID将工作负载分发到所述存储器装置的中央处理器CPU;以及
基于所述CPU将工作负载分发到所述存储器装置的通道。
2.根据权利要求1所述的方法,其中,ID的类型基于主机应用,并且包括命名空间ID、流ID或端口ID。
3.根据权利要求1所述的方法,其中,所述CPU包括针对提供工作负载的主机应用而被配置的固件。
4.根据权利要求1所述的方法,还包括:在HCPU处对工作负载的数据传输命令进行解码。
5.根据权利要求1所述的方法,其中,所述CPU是针对不同主机应用而被配置的多个CPU中的一个。
6.根据权利要求5所述的方法,其中,所述多个CPU具有不同大小的存储器。
7.根据权利要求5所述的方法,其中,所述多个CPU与不同数量的通道对应。
8.根据权利要求1至权利要求7中的任意一项所述的方法,其中,将工作负载分发到通道的步骤包括:
基于工作负载将工作负载从所述CPU分发到一个或多个次级CPU;以及
将工作负载从所述一个或多个次级CPU分发到与所述一个或多个次级CPU对应的通道。
9.根据权利要求8所述的方法,其中,所述一个或多个次级CPU的数量基于工作负载。
10.根据权利要求8所述的方法,其中,所述一个或多个次级CPU中的每个与所述存储器装置的预定数量的通道对应。
11.一种存储器装置,包括:
一个或多个主机中央处理器HCPU,被配置为:从主机应用接收工作负载,其中,工作负载包括标识符ID,并且基于ID将工作负载分发到所述存储器装置的中央处理器CPU;以及所述CPU,被配置为:将工作负载分发到所述存储器装置的通道。
12.根据权利要求11所述的存储器装置,其中,ID的类型基于主机应用,并且包括命名空间ID、流ID或端口ID。
13.根据权利要求11所述的存储器装置,其中,所述CPU包括针对提供工作负载的主机应用而被配置的固件。
14.根据权利要求11所述的存储器装置,其中,HCPU还被配置为对工作负载的数据传输命令进行解码。
15.根据权利要求11所述的存储器装置,其中,所述CPU是针对不同主机应用而被配置的多个CPU中的一个。
16.根据权利要求15所述的存储器装置,其中,所述多个CPU具有不同大小的存储器。
17.根据权利要求15所述的存储器装置,其中,所述多个CPU与所述存储器装置的不同数量的通道对应。
18.根据权利要求11至权利要求17中的任意一项所述的存储器装置,还包括一个或多个次级CPU,其中,
所述CPU还被配置为基于工作负载将工作负载分发到所述一个或多个次级CPU;并且
所述一个或多个次级CPU被配置为将工作负载分发到与所述一个或多个次级CPU对应的通道。
19.根据权利要求18所述的存储器装置,其中,
所述一个或多个次级CPU的数量基于工作负载;并且
所述一个或多个次级CPU中的每个与所述存储器装置的预配置数量的通道对应。
20.一种存储器装置,包括:
一个或多个主机中央处理器HCPU,被配置为:从主机应用接收多个工作负载,其中,所述多个工作负载包括相应的标识符ID,并且基于相应的ID将所述多个工作负载分发到所述存储器装置的中央处理器CPU;
所述CPU,被配置为:将所述多个工作负载分发到所述存储器装置的相应通道;以及
多个通道,被配置为:从所述CPU接收所述多个工作负载以用于数据存储和检索。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/349,324 | 2022-06-06 | ||
US17/882,124 US20230393906A1 (en) | 2022-06-06 | 2022-08-05 | Method and system for accelerating application performance in solid state drive |
US17/882,124 | 2022-08-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117194004A true CN117194004A (zh) | 2023-12-08 |
Family
ID=89002342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310594965.7A Pending CN117194004A (zh) | 2022-06-06 | 2023-05-24 | 存储器装置及其操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117194004A (zh) |
-
2023
- 2023-05-24 CN CN202310594965.7A patent/CN117194004A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9781211B2 (en) | Storage device having master and slave storage device modes | |
KR102365312B1 (ko) | 스토리지 컨트롤러, 연산 스토리지 장치, 및 연산 스토리지 장치의 동작 방법 | |
EP3754509B1 (en) | Electronic device including storage and method for using the storage | |
US20230409245A1 (en) | Method and system for solid state drive (ssd)-based redundant array of independent disks (raid) | |
US20190377516A1 (en) | System and method for storage device management | |
CN101031898B (zh) | 使用分离事务处理来实现无缓冲器dma控制器 | |
US20230342074A1 (en) | Electronic device and method for operation of storage of electronic device | |
EP4290380A1 (en) | Method and system for accelerating application performance in solid state drive | |
TW202344977A (zh) | 記憶體裝置及其方法 | |
US10678717B2 (en) | Chipset with near-data processing engine | |
CN111666224B (zh) | 电子装置和用于利用电子装置的存储器空间的方法 | |
EP4242859A1 (en) | Single interface-driven dynamic memory/storage capacity expander for large memory resource pooling | |
EP4148572B1 (en) | Computational storage device and storage system including the computational storage device | |
EP4325363A1 (en) | Device for managing cache corruption, and operation method thereof | |
CN116893779A (zh) | 用于数据库扫描加速的系统和方法 | |
US20190369909A1 (en) | Homogeneous in-storage computation system | |
CN117194004A (zh) | 存储器装置及其操作方法 | |
US20240134801A1 (en) | Methods and system for efficient access to solid state drive | |
US12093697B2 (en) | Methods and apparatus to boot from block devices | |
EP4120059A1 (en) | Methods and devices for file read latency reduction | |
US11847316B2 (en) | System and method for managing data storage in network interface controllers | |
US20240134971A1 (en) | Method and system for computational storage attack reduction | |
CN110442569B (zh) | 在键值固态设备中进行数据分析的装置和方法 | |
CN117271396A (zh) | 用于基于固态驱动器的独立磁盘冗余阵列的方法和系统 | |
CN117908766A (zh) | 用于高效访问固态驱动器的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |