CN115963982A - 存储装置及电子系统 - Google Patents
存储装置及电子系统 Download PDFInfo
- Publication number
- CN115963982A CN115963982A CN202211176599.5A CN202211176599A CN115963982A CN 115963982 A CN115963982 A CN 115963982A CN 202211176599 A CN202211176599 A CN 202211176599A CN 115963982 A CN115963982 A CN 115963982A
- Authority
- CN
- China
- Prior art keywords
- hmb
- host
- storage device
- memory
- area
- 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
- 230000015654 memory Effects 0.000 claims abstract description 284
- 239000000872 buffer Substances 0.000 claims abstract description 105
- 238000013507 mapping Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 10
- 230000003139 buffering effect Effects 0.000 claims description 4
- 238000003384 imaging method Methods 0.000 claims 1
- 229910052751 metal Inorganic materials 0.000 description 69
- 239000002184 metal Substances 0.000 description 69
- 239000010410 layer Substances 0.000 description 40
- 230000002093 peripheral effect Effects 0.000 description 23
- 239000000758 substrate Substances 0.000 description 19
- 150000002739 metals Chemical class 0.000 description 15
- 238000012545 processing Methods 0.000 description 7
- 239000010949 copper Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 101100449814 Arabidopsis thaliana GTL1 gene Proteins 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 3
- 229910052802 copper Inorganic materials 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000011229 interlayer Substances 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 3
- 229910052721 tungsten Inorganic materials 0.000 description 3
- 239000010937 tungsten Substances 0.000 description 3
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 2
- 101100058961 Arabidopsis thaliana CALS2 gene Proteins 0.000 description 2
- 101100058964 Arabidopsis thaliana CALS5 gene Proteins 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 2
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 2
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 2
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 2
- 101100287040 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ARG82 gene Proteins 0.000 description 2
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 2
- 229910052782 aluminium Inorganic materials 0.000 description 2
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101150064834 ssl1 gene Proteins 0.000 description 2
- 101150062870 ssl3 gene Proteins 0.000 description 2
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000011810 insulating material Substances 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 150000002736 metal compounds Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 1
- 229910052814 silicon oxide Inorganic materials 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种存储装置及电子系统。电子系统包括:主机,包括主机存储器;以及存储装置,存储来自所述主机的数据,其中,所述主机在所述主机存储器中分配具有不同属性的第一主机存储器缓冲区域(HMB区域)和第二HMB区域,并将包括所述第一HMB区域和所述第二HMB区域中的每一者的地址信息和属性信息的主机存储器描述符列表(HMDL)提供给所述存储装置,所述存储装置参考所述HMDL将数据缓冲在所述第一HMB区域和所述第二HMB区域中,并且所述主机释放所述第一HMB区域和所述第二HMB区域,并根据所述第一HMB区域和所述第二HMB区域中的每一者的属性,将缓冲在所述第一HMB区域中的数据提供给所述存储装置以及将缓冲在所述第二HMB区域中的数据保持在所述主机存储器中。
Description
相关申请的交叉引用
本申请要求于2021年10月8日在韩国知识产权局提交的韩国专利申请No.10-2021-0133682的优先权,其公开通过引用整体合并于此。
技术领域
实施例涉及存储装置和电子系统。
背景技术
近来,已经在使用各种类型的电子装置。电子系统根据包括在其中的各种电路和装置的操作来向用户提供服务。作为示例,电子系统可以包括用于存储由电子系统处理的数据的存储装置。存储装置可以存储数据或输出所存储的数据,并且因此可以向用户提供存储服务。
在人类使用各种电子系统且产生大量数据时,可能需要大量资源来处理存储装置中的数据。例如,当数据量增加时,与数据相关联的元数据的量也会增加,并且因此可能需要具有充足容量的存储器来缓冲数据和元数据。作为另一个示例,当数据量增加时,可能需要具有高操作性能的处理器来处理数据并处理大量操作。
然而,出于诸如成本、器件尺寸、设计限制等的各种原因,可能难以实现具有充足资源的存储装置。使用已经存在的资源来提供用于存储装置的充足资源可能是有利的。
发明内容
根据示例实施例,一种电子系统包括:主机,所述主机包括主机存储器;以及存储装置,所述存储装置存储来自所述主机的数据,其中,所述主机在所述主机存储器中分配具有不同属性的第一主机存储器缓冲区域(HMB区域)和第二HMB区域,并将包括所述第一HMB区域和所述第二HMB区域中的每一者的地址信息和属性信息的主机存储器描述符列表(HMDL)提供给所述存储装置,所述存储装置参考所述HMDL将数据缓冲在所述第一HMB区域和所述第二HMB区域中,并且所述主机释放所述第一HMB区域和所述第二HMB区域,并根据所述第一HMB区域和所述第二HMB区域中的每一者的属性,将缓冲在所述第一HMB区域中的数据提供给所述存储装置以及将缓冲在所述第二HMB区域中的数据保持在所述主机存储器中。
根据示例实施例,一种电子系统包括:主机,所述主机包括主机存储器;以及存储装置,所述存储装置存储来自所述主机的数据,其中,所述主机在所述主机存储器中分配具有不同属性的第一主机存储器缓冲区域(HMB区域)和第二HMB区域,所述存储装置参考所述第一HMB区域的属性和所述第二HMB区域的属性将数据缓冲在所述第一HMB区域和所述第二HMB区域中,并且所述主机释放所述第一HMB区域和所述第二HMB区域,并根据所述第一HMB区域和所述第二HMB区域中的每一者的属性选择性地将缓冲在所述第一HMB区域和所述第二HMB区域中的数据提供给所述存储装置。
根据示例实施例,一种存储装置包括:存储器件;和存储控制器,所述存储控制器将用于所述存储器件的操作的数据缓冲在从主机分配的HMB区域当中的具有不同属性的第一主机存储器缓冲区域(HMB区域)和第二HMB区域中,其中,所述存储控制器响应于停用所述HMB区域的命令来获取缓冲在所述第一HMB区域中的数据,并且响应于重新启用所述HMB区域的命令将所获取的数据再次缓冲在所述第一HMB区域中,并且使用缓冲在所述第一HMB区域中的数据和保持在所述第二HMB区域中的数据来控制所述存储器件。
所述HMB区域还可以包括属性与所述第一HMB区域的属性和所述第二HMB区域的属性不同的第四HMB区域。所述存储控制器可以在包括主机和存储装置的电子系统终止操作时从主机获取被缓冲在第一HMB区域和第二HMB区域中的数据,在电子系统被启动时将所获取的数据再次缓冲在第一HMB区域和第二HMB区域中,并且使用缓冲在所述第一HMB区域和所述第二HMB区域中的数据和保持在所述第四HMB区域中的数据来控制所述存储器件。
所述HMB区域还可以包括属性与所述第一HMB区域的属性和所述第二HMB区域的属性不同的第五HMB区域。所述存储装置还可以包括定时器。所述存储控制器可以在非激活模式下使定时器停止工作,在从所述非激活模式转变为激活模式之后从所述第五HMB区域获取所述主机的系统时间,并基于所获取的系统时间来将所述存储装置的系统时间与所述主机的系统时间同步。
所述HMB区域还可以包括属性与所述第一HMB区域的属性和所述第二HMB区域的属性不同的第六HMB区域。所述存储控制器可以在错误出现在所述存储装置中时生成日志数据,将所述日志数据存储在所述第六HMB区域中,然后终止所述存储装置的操作。
附图说明
通过参考附图来详细描述示例性实施例,特征对于本领域技术人员将变得明显,在附图中:
图1示出根据示例实施例的主机-存储系统。
图2A至图2C是示出根据示例实施例的加载到主机存储器中的数据的视图。
图3是示出根据示例实施例的主机-存储系统的操作的视图。
图4至图8B是示出根据示例实施例的具有各种属性的主机存储器缓冲区域即HMB区域的视图。
图9A至图12B是示出根据示例实施例的具有各种属性的HMB区域的视图。
图13至图15是示出具有供应商专用属性的HMB区域的示例的视图。
图16至图20是示出根据示例实施例的应用了HMB的系统的视图。
具体实施方式
图1示出根据示例实施例的主机-存储系统。
主机-存储系统10可以包括主机100和存储装置200。而且,存储装置200可以包括存储控制器210和非易失性存储器(NVM)220。主机100可以包括主机控制器110和主机存储器120。主机存储器120可以用作缓冲存储器,所述缓冲存储器用于暂时地存储将被发送到存储装置200的数据或从存储装置200发送的数据。
存储装置200可以包括根据来自主机100的请求来存储数据的存储介质。举例来说,存储装置200可以包括固态硬盘(SSD)、嵌入式存储器和可拆卸外部存储器中的至少一者。当存储装置200是SSD时,存储装置200可以是符合快速非易失性存储器(NVMe)标准的装置。当存储装置200是嵌入式存储器或外部存储器时,存储装置200可以是符合通用闪存(UFS)标准或嵌入式多媒体卡(eMMC)标准的装置。主机100和存储装置200可以分别根据所采用的标准协议来生成和发送数据包。
当存储装置200的非易失性存储器220包括闪存时,闪存可以包括2DNAND存储器阵列或3D(或垂直)NAND(VNAND)存储器阵列。作为另一个示例,存储装置200可以包括其他各种类型的非易失性存储器。例如,在存储装置200中,可以采用磁性RAM(MRAM)、自旋转移矩MRAM、导电桥RAM(CBRAM)、铁电RAM(FeRAM)、相位RAM(PRAM)、电阻存储器以及各种其他类型的存储器。
主机控制器110和主机存储器120可以被实现为单独的半导体芯片。在另一种实施方式中,主机控制器110和主机存储器120可以被集成为同一半导体芯片。举例来说,主机控制器110可以是应用处理器中所包括的多个模块中的任何一个,并且应用处理器可以被实现为片上系统(SoC)。另外,主机存储器120可以是设于应用处理器中的嵌入式存储器,或可以是设置在应用处理器外部的非易失性存储器或存储模块。
主机控制器110可以将主机存储器120的缓冲区域中的数据(例如,写入数据)存储在非易失性存储器220中,或可以管理将非易失性存储器220的数据(例如,读取数据)存储在缓冲区域中的操作。
CPU核130可以控制主机100的总体操作。例如,CPU核130可以驱动操作系统和应用,并且还可以驱动用于控制主机控制器110的装置驱动程序(device driver)。
存储控制器210可以包括主机接口211、存储器接口212、中央处理单元(CPU)213和缓冲存储器216。存储控制器210还可以包括闪存转换层(FTL)被加载到其中的工作存储器(未图示),并且CPU 213可以运行闪存转换层以控制针对非易失性存储器220的写入和读取数据的操作。
闪存转换层可以执行各种功能,诸如地址映射、损耗均衡和无用单元收集。地址映射操作可以是将从主机100接收到的逻辑地址变为用于实际地将数据存储在非易失性存储器220中的物理地址的操作。损耗均衡可以是通过保证均匀地使用非易失性存储器220中的块来防止特定块的过度劣化的技术,并且可以例如通过用于平衡物理块的擦除计数的固件技术来实现。无用单元收集可以是通过将现有块的有效数据复制到新块然后擦除现有块来确保非易失性存储器220中的可用容量的技术。
主机接口211可以向主机100发送数据包和从主机100接收数据包。从主机100向主机接口211发送的数据包可以包括将写入非易失性存储器220的命令或数据等,而从主机接口211向主机100发送的数据包可以包括从非易失性存储器220读取的命令或数据等。主机接口211可以被实现为符合诸如快速外部组件互联标准(PCI)的标准协议。
存储器接口212可以向非易失性存储器220发送将写入非易失性存储器220的数据,或可以接收从非易失性存储器220读取的数据。存储器接口212可以被实现为符合诸如切换(toggle)或开放NAND闪存接口(ONFI)等的标准协议。
缓冲存储器216可以缓冲用于存储装置200的操作的各项数据。例如,缓冲存储器216可以缓冲映射数据、纠错码(ECC)数据、状态数据等,参考所述映射数据以执行从主机100提供的地址与非易失性存储器220上的物理地址之间的转换、参考所述ECC数据以检测和纠正从非易失性存储器220输出的数据中的错误、所述状态数据与非易失性存储器220的相应状态有关。例如,缓冲存储器216可以包括诸如SRAM、DRAM、SDRAM等的易失性存储器和/或诸如PRAM、MRAM、ReRAM、FRAM等的非易失性存储器。
设于存储装置200中的缓冲存储器216的容量可能出于诸如成本、器件尺寸、设计限制等的各种原因而受到限制。而当缓冲存储器216将主机存储器120的存储器资源用作缓冲区时,存储装置200可以保证充足的缓冲存储器容量。
主机存储器120中的可以被存储装置200用作缓冲器的区域可以称为主机存储器缓冲区域即HMB区域。主机100可以分配至少一个HMB区域,并且可以将HMB区域的地址信息提供给存储装置200。存储装置200可以通过基于由主机100获取的地址信息通过主机接口211访问HMB区域而将主机存储器120中的存储器资源用作缓冲区。
非易失性存储器220中的映射数据的大小可以倾向于随着非易失性存储器220的容量增加而增加。缓冲存储器216可能不具有充足的容量来缓冲映射数据。当必需从非易失性存储器220加载映射数据的一部分时,存储装置200的性能可能劣化。存储装置200可以将映射数据的至少一部分缓冲在HMB区域中,并且可以从缓冲存储器216或HMB区域获取映射数据。根据主机接口211的高速趋势,与访问非易失性存储器220相比,存储控制器210可以花费较少的时间来访问主机存储器120。因此,当存储控制器210将映射数据缓冲在HMB区域中、使用映射数据执行地址转换并且访问非易失性存储器220时,存储装置200的读取和写入性能可以得到改善。
可以存在主机100释放所分配的HMB区域然后重新分配该HMB区域的情况。例如,主机100可以在将存储装置200转变为诸如省电模式或断电模式等的非激活模式时立刻释放HMB区域,可以将存储装置200从非激活模式转变为激活模式,然后可以重新分配该HMB区域。
在HMB区域被重新分配之后,可能需要重新使用在释放该HMB区域之前存储在该HMB区域中的数据。例如,当存储装置200切换到非激活模式时,可以释放存储映射数据的HMB区域,但是当存储装置200再次切换到激活模式时,可能再次使用映射数据。
当存储装置200需要从被释放的HMB区域获取数据,将获取到的数据存储在非易失性存储器220中,然后在HMB区域被重新分配之后再次将所存储的数据缓冲在HMB区域中时,主机100和存储装置200之间的数据流量会增加。当主机100和存储装置200之间的数据流量增加时,存储装置200转变为非激活模式或激活模式所花费的时间会增加。
相反地,当存储在所有被释放的HMB区域中的数据被保留在主机存储器120中而未被提供给存储装置200时,即使HMB区域未被使用,数据也会占用主机存储器120的区域。当未使用的数据占用主机存储器120的区域时,可能造成主机存储器120的容量不足。
根据示例实施例,主机100可以对将被分配的每个HMB区域赋予属性。在HMB区域被释放之后,可以根据HMB区域的属性而选择性地保持存储在HMB区域中的数据。根据示例实施例,在HMB区域被释放之后,可以根据HMB区域的属性而选择性地将缓冲在HMB区域中的数据提供给存储装置200。如果存储在HMB区域中的数据被保持,那么在HMB区域被重新分配时,存储装置200可以原样使用所保持的数据。因为主机100可以在HMB区域一起被释放时选择性地仅保持存储在HMB区域中的数据当中的有必要被保持的数据,所以可以减少主机100和存储装置200之间的数据流量,并且可以高效地使用主机存储器120。
根据示例实施例,除指示是否即使在释放HMB区域之后也保持数据的属性之外,主机100还可以支持具有各种属性的HMB区域。例如,根据HMB区域的属性,可以将由主机100生成的数据而非来自存储装置200的数据存储在对应于其的HMB区域中。主机100可以将主机100频繁更新的数据存储在对应的HMB区域中,并且可以将所存储的数据间歇地提供给存储装置200,以减少主机100和存储装置200之间的数据流量并防止非易失性存储器220的频繁写入。
根据示例实施例,存储装置200可以以与其中的存储器类似的方式来使用具有各种属性的HMB区域。存储装置200可以将用于存储装置200的操作的各项数据分开存储在HMB区域中,并且可以根据HMB区域的属性以各种方式处理存储在HMB区域中的数据。因此,可以在HMB区域中有效地管理用于存储装置200的操作的各项数据。
在下文中,将参考图2A至图15对根据示例实施例的主机-存储系统10进行详细描述。
图2A至图2C是示出根据示例实施例的加载到主机存储器中的数据的视图。
图2A的主机存储器121可以对应于参考图1描述的主机存储器120。
操作系统(OS)1211和装置驱动程序1212可以被加载到主机存储器121中。CPU核130可以通过驱动操作系统1211来控制主机100的总体操作。另外,CPU核130可以通过驱动装置驱动程序1212来控制主机控制器110。
CPU核130可以通过驱动操作系统1211来管理主机存储器121的资源。例如,CPU核130可以分配主机存储器121中的驱动应用所需的存储区域,并且可以将其余存储区域确定为可用存储区域。
CPU核130可以通过驱动装置驱动程序1212来分配可用存储区域中的HMB区域HMB1、HMB2和HMB3。例如,CPU核130可以确定HMB区域HMB1、HMB2和HMB3中的每一者的地址、大小和属性。CPU核130可以基于存储装置200的需求和可用存储区域的大小来确定每个HMB区域的大小和属性。CPU核130可以生成主机存储器描述符列表(HMDL)并将其存储在主机存储器121中,HMDL包括HMB区域HMB1、HMB2和HMB3中的每一者的地址信息、大小信息和属性信息。
图2B示出HMDL中所包括的信息。
HMDL可以包括HMB描述符条目,包括每个HMB区域的地址信息、大小信息和属性信息。在图2B的示例中,第一HMDL HMDL1包括用于HMB区域HMB1、HMB2和HMB3中的每一者的三个HMB描述符条目。
图2C示出HMB描述符条目中所包括的信息。
在图2C的示例中,HMB描述符条目包括缓冲区大小信息和缓冲区地址信息。CPU核130可以分配具有连续地址的存储区域作为HMB区域。缓冲区地址可以指示HMB区域的连续地址。缓冲区大小可以指示具有连续地址的HMB区域的大小。
根据示例实施例,HMB描述符条目还可以包括HMB区域的属性信息。根据示例实施例,HMB描述符条目可以具有根据NVMe规范确定的大小。根据NVMe规范,HMB描述符条目可以包括缓冲区地址区域、缓冲区大小区域和保留区域。HMB区域的属性信息可以被存储在保留区域中。因为HMB区域的属性信息可以被存储在HMB描述符条目的保留区域中,所以HMDL可以包括每一个HMB区域的属性信息。
图3是示出根据示例实施例的主机-存储系统的操作的视图。
在S11中,主机可以确定主机存储器的可用存储区域。
在S12中,主机可以参考所确定的可用存储区域来分配HMB区域,并且可以确定每一个所分配的HMB区域的属性。根据示例实施例,可以根据存储装置的请求来确定每一个HMB区域的缓冲区大小、缓冲区地址和属性。
在S13中,主机可以生成包括每一个所分配的HMB区域的缓冲区大小、缓冲区地址和属性的HMDL,并且可以将所生成的HMDL存储在主机存储器中。
在S14中,主机可以将用于启用HMB的设置特征命令提供给存储装置。在将该设置特征命令提供给存储装置时,主机也可以提供主机存储器中的其中存储有HMDL的区域的地址信息。
在S15中,存储装置可以参考该地址信息从主机存储器获取HMDL。
在S16中,存储装置可以将获取到的HMDL存储在存储装置中的缓冲存储器中。
然后,在S17中,存储装置可以将完成响应提供给主机。
在S18中,存储装置可以参考从主机存储器获取的HMDL来访问具有各种属性的HMB区域。存储装置可以使用从HMB区域获取的数据来执行内部操作。例如,存储控制器可以使用从HMB区域获取的数据来控制非易失性存储器。
图4和图5是示出根据HMB区域的分配的HMDL中所包括的信息的示例的视图。
图4以表格格式示出了第一HMDL HMDL1中的可以包括的HMB区域HMB1、HMB2和HMB3的缓冲区地址信息、缓冲区大小信息和属性信息。图4的HMB区域HMB1、HMB2和HMB3可以对应于图2A中所示的HMB区域HMB1、HMB2和HMB3。
图5是示出分配了HMB区域的主机存储器的存储器映射的视图。第一存储器映射MM1表示主机存储器的地址空间中的其中分配有HMB区域HMB1、HMB2和HMB3的区域,并且可以对应于图4的第一HMDL HMDL1。
参考图4和图5,从第一地址ADDR1起连续的并且具有第一大小SIZE1的地址空间可以被分配为第一HMB区域HMB1,并且第一HMB区域HMB1可以具有正常属性。类似地,从第二地址ADDR22起连续的并且具有第二大小SIZE2的地址空间可以被分配为第二HMB区域HMB2,并且第二HMB区域HMB2可以具有保留属性。另外,从第三地址ADDR3起连续的并且具有第三大小SIZE3的地址空间可以被分配为第三HMB区域HMB3,并且第三HMB区域HMB3可以具有流(stream)属性。
根据示例实施例,当释放了具有正常属性的HMB区域时,可以不保持缓冲在该HMB区域中的数据。当具有正常属性的HMB区域被释放并且然后被重新分配时,不必与先前的HMB区域具有相同的缓冲区地址和缓冲区大小,而是可以分配主机存储器的任何区域。根据示例实施例,主机可以释放具有正常属性的HMB区域然后可以将缓冲在HMB区域中的数据提供给存储装置。然后,当HMB区域被重新分配时,存储装置可以再次将从主机获取的数据缓冲在HMB区域中。
当具有保留属性的HMB区域被释放时,可以保持缓冲在该HMB区域中的数据。当具有保留属性的HMB区域被释放并且然后被重新分配时,可以分配与先前的HMB区域具有相同的缓冲区地址和缓冲区大小的存储区域,并且存储装置可以访问该存储区域以使用与先前的HMB区域中一样的缓冲数据。主机可以将解除分配的HMB区域的缓冲区地址信息和缓冲区大小信息存储在主机存储器中,以在具有保留属性的HMB区域被解除分配之后再次分配该HMB区域。
具有流属性的HMB区域不仅可以由存储装置访问也可以由主机访问。主机可以将连续生成的流数据(诸如,由黑盒系统生成的视频数据)存储在具有流属性的HMB区域中,并且存储装置可以周期性地或根据条件来获取存储在该HMB区域中的数据,以将其存储在非易失性存储器中。
图6是示出根据示例实施例的主机-存储系统的操作的视图。
具体地,将参考图6来描述存储装置使用具有流属性的HMB区域来从主机获取流数据的操作。
在S21中,主机可以生成流数据。例如,当主机是包括成像装置的黑盒系统时,主机的CPU核130可以使用从成像装置获取的帧数据来生成流数据。
在S22中,主机可以参考存储在主机存储器中的HMDL将流数据缓冲在第三HMB区域HMB3中。
可以连续地生成流数据。S23和S24指示流数据可以被周期性地生成并被缓冲在第三HMB区域HMB3中。
在S25和S26中,存储装置可以周期性地或根据条件来访问第三HMB区域HMB3以获取流数据。例如,存储装置可以以比将流数据存储在第三HMB区域HMB3中的第一周期长的第二周期访问第三HMB区域HMB3。另外,存储装置可以在转变为非激活状态之前访问第三HMB区域HMB3。
在S27中,存储装置可以将从第三HMB区域HMB3获取的流数据存储在非易失性存储器中。
根据示例实施例,因为存储装置可以以相对长的周期访问HMB区域以在存储装置中存储主机以相对短的周期生成的流数据,所以主机向存储装置提供命令的频率可以降低。因此,可以减少主机和存储装置之间的数据流量。
图7是示出根据示例实施例的主机-存储系统的操作的视图。
更具体地,图7示出主机在将存储装置转变为诸如省电模式等的非激活模式时将所分配的HMB区域集体释放的操作。
当满足预定条件时,主机可以将存储装置从激活模式转变为非激活模式。例如,当主机在预定时间或更长时间未向存储装置提供输入/输出命令时,主机可以将存储装置转变为非激活模式。在主机将存储装置转变为非激活模式之前,在S31中可以释放HMB区域。
在S32至S34中,主机可以根据HMB区域的属性来选择性地保持存储在HMB区域中的数据。更具体地,在S32中,主机可以将具有正常属性的第一HMB区域HMB1中的数据和具有流属性的第三HMB区域HMB3中的数据提供给存储装置,而不保持它们。在S33中,存储装置可以将第一HMB区域HMB1和第三HMB区域HMB3中的数据存储在存储装置中的非易失性存储器中。在S34中,主机可以保持具有保留属性的第二HMB区域HMB2中的数据。
在S35中,主机可以将用于停用HMB的设置特征命令提供给存储装置。存储装置可以响应于设置特征命令而停用HMB,并且可以在S36中将完成响应提供给主机。
在S37中,存储装置可以终止对HMB区域的访问。
在S38中,主机可以将设置特征命令提供给存储装置以将存储装置转变为非激活模式。
在S39中,存储装置可以响应于设置特征命令而切换到非激活模式。
当存储装置切换到非激活模式时,可以不向包括在存储装置中的缓冲存储器供电,并且缓冲存储器中的数据可以是易失性的,例如,可以丢失。根据示例实施例,即使存储装置切换到非激活模式,也可以将具有保留属性的HMB区域中的数据保持在主机存储器中。
即使在存储装置切换到非激活模式之后,主机也可以将具有保留属性的HMB区域的缓冲区地址信息和缓冲区大小信息保持在主机存储器中。在存储装置切换到激活模式之后,主机可以使用缓冲区地址信息和缓冲区大小信息来重新分配HMB区域。当重新分配了HMB区域时,存储装置可以访问保持在主机存储器中的HMB区域中的数据。
图8A和图8B是示出当存储装置处于非激活模式时存储在主机存储器中的数据的视图。
图8A示出当存储装置处于非激活模式时主机存储器中的存储器映射。将图5的第一存储器映射MM1与图8A的第一存储器映射MM1相比较,在HMB区域HMB1、HMB2和HMB3被释放之后,可以不保持具有正常属性的第一HMB区域HMB1中的数据和具有流属性的第三HMB区域HMB3中的数据,而可以将具有保留属性的第二HMB区域HMB2中的数据保持在从第二地址ADDR2起具有第二大小SIZE2的存储区域中。
图8B示出当存储装置处于非激活模式时存储在主机存储器中的数据。以与参考图2A所描述的方式类似的方式,操作系统1211和装置驱动程序1212可以被加载到主机存储器121中。而且,如参考图8A所描述的,可以将具有保留属性的第二HMB区域HMB2中的数据保持在主机存储器121中。另外,主机存储器121还可以存储包括第二HMB区域HMB2的缓冲区地址信息和缓冲区大小信息的HMB信息1213。
在图7至图8B中,当存储装置处于非激活模式时,存储在具有流属性的第三HMB区域HMB3中的数据被示出为未被保持在主机存储器中。然而,当存储装置处于非激活模式时,可以保持存储在具有流属性的HMB区域中的数据而不将其从主机存储器中移除。
在存储装置从非激活模式切换到激活模式之后,主机可以参考HMB信息1213重新分配具有保留属性的第二HMB区域HMB2。先前分配的第二HMB区域HMB2的缓冲区地址和缓冲区大小可以分别与重新分配的第二HMB区域HMB2的缓冲区地址和缓冲区大小相同。即使在从非激活模式切换到激活模式之后,存储装置也可以使用在切换到非激活模式之前存储在第二HMB区域HMB2中的数据。例如,在存储装置切换到激活模式之后,存储控制器可以通过使用保持在保留区域中的映射数据来访问非易失性存储器,而不从非易失性存储器加载映射数据。
图9A和图9B是示出根据示例实施例的存储在主机存储器中的数据的视图。
图9A的主机存储器122对应于参考图1描述的主机存储器120。
根据示例实施例,主机存储器122可以包括易失性存储器1221和非易失性存储器1222。易失性存储器1221可以被实现为SRAM、DRAM、SDRAM等,并且非易失性存储器1222可以被实现为PRAM、MRAM、ReRAM、FRAM等。即使未向主机100供电,非易失性存储器1222也可以保持数据。
操作系统1223和装置驱动程序1224可以被加载到易失性存储器1221中。CPU核130可以通过驱动操作系统1223来管理主机存储器122的资源。
CPU核130可以通过驱动装置驱动程序1224来将主机存储器122的可用存储区域分配成HMB区域HMB1至HMB4。在图9A的示例中,易失性存储器1221中的存储区域可以被分配为第一至第三HMB区域HMB1、HMB2和HMB3,并且非易失性存储器1222中的存储区域可以被分配为第四HMB区域HMB4。CPU核130可以生成HMDL并将其存储在主机存储器122中,该HMDL包括HMB区域HMB1至HMB4中的每一者的缓冲区地址信息、缓冲区大小信息和属性信息。
图9B示出HMDL中可以包括的信息。在图9B的示例中,第二HMDL HMDL2可以包括用于每个HMB区域HMB1至HMB4的HMB描述符条目。以与参考图2C所描述的方式类似的方式,图9B中的每一个HMB描述符条目可以包括与其对应的缓冲区地址信息、缓冲区大小信息和属性信息。
图10和图11是示出根据HMB区域的分配的HMDL中所包括的属性信息的示例的视图。
图10以表格格式示出了可以包括在第二HMDL HMDL2中的缓冲区地址信息、缓冲区大小信息和属性信息。图10的HMB区域HMB1至HMB4可以对应于图9A中所示的HMB区域HMB1至HMB4。
图11是示出主机存储器的其中分配有HMB区域的存储器映射的视图。
根据示例实施例,CPU核130可以使用一个存储器映射来管理易失性存储器1221和非易失性存储器1222。例如,第二存储器映射MM2可以包括易失性存储器区域和非易失性存储器区域。
参考图10和图11,第一HMB区域HMB1可以具有易失性-正常属性、第二HMB区域HMB2可以具有易失性-保留属性,并且第三HMB区域HMB3可以具有易失性-流属性。HMB区域HMB1、HMB2和HMB3可以被分配为具有与参考图4和图5所描述的缓冲区地址和缓冲区大小相同的缓冲区地址和缓冲区大小。另外,HMB区域HMB1、HMB2和HMB3的易失性-正常属性、易失性-保留属性和易失性-流属性可以分别与参考图4所描述的正常属性、保留属性和流属性相同。
第四HMB区域HMB4可以具有非易失性-正常属性。可以在非易失性存储器区域中分配具有非易失性-正常属性的HMB区域。即使具有非易失性-正常属性的HMB区域被释放,也可以保持存储在对应于其的HMB区域中的数据。存储装置可以基于HMB区域HMB1至HMB4的属性,将用于存储装置的操作的各项数据缓冲在HMB区域HMB1至HMB4中。
根据示例实施例,即使主机-存储系统断电,也可以保持存储在具有非易失性-正常属性的HMB区域中的数据。在主机-存储系统再次通电之后,主机可以重新分配具有非易失性-正常属性的HMB区域,并且存储装置可以访问重新分配的HMB区域以使用与主机-存储系统断电之前被存储在HMB区域中的一样的数据。
根据示例实施例,在主机-存储系统通电之后,主机可以在主机-存储系统断电时被解除分配以重新分配具有非易失性-正常属性的HMB区域。HMB区域的缓冲区地址和缓冲区大小信息可以被存储在非易失性存储器1222中。
图12A和图12B是示出当主机-存储系统处于断电状态时存储在主机存储器中的数据的视图。
图12A示出当主机-存储系统处于断电状态时主机存储器的存储器映射。将图11的第二存储器映射MM2与图12A的第二存储器映射MM2相比较,在主机-存储系统断电之后,HMB区域HMB1至HMB3中的数据可以不保持,而存储在非易失性存储器1222中的具有非易失性-正常属性的第四HMB区域HMB4中的数据可以保持在从第四地址ADDR4起具有第四大小SIZE4的存储区域中。
图12B示出当主机-存储系统处于断电状态时存储在主机存储器中的数据。在主机-存储系统断电之后,易失性存储器1221中的包括操作系统1223和装置驱动程序1224的数据可以被去除。具有非易失性-正常属性的第四HMB区域HMB4中的数据可以保持在非易失性存储器1222中。另外,主机存储器122还可以将包括第四HMB区域HMB4的缓冲区地址信息和缓冲区大小信息的HMB信息1225存储在非易失性存储器1222中。
在主机-存储系统通电之后,为了给存储装置分配HMB区域,可以参考HMB信息1225来重新分配具有非易失性-正常属性的第四HMB区域HMB4。先前分配的第四HMB区域HMB4的缓冲区地址和缓冲区大小可以分别与重新分配的第四HMB区域HMB4的缓冲区地址和缓冲区大小相同。因此,存储装置可以使用在第四HMB区域HMB4中保持的数据来控制存储装置中的存储器件。
根据示例实施例,存储装置可以将用于驱动存储装置的操作数据存储在具有非易失性-正常属性的第四HMB区域HMB4中。与存储装置中的非易失性存储器相比较,存储控制器可以更快地访问第四HMB区域HMB4。根据诸如快速PCI的主机接口的高速趋势,存储装置访问第四HMB区域HMB4的速度可以进一步提高。因为存储装置在存储装置通电时快速从第四HMB区域HMB4获取操作数据,所以存储装置的通电操作所花费的时长可以减少。
根据示例实施例,主机装置可以将使存储装置进入省电模式或使其断电的条件放松,以便减少主机-存储系统的功耗。即使存储装置处于非激活状态,存储装置也可以获取存储在第四HMB区域HMB4中的操作数据并且可以快速转变为激活状态。因此,主机装置可以提高功率效率,同时最小化主机-存储系统的性能劣化。
根据示例实施例,主机还可以提供具有供应商专用属性以及参考图10至图12B所描述的属性的HMB区域。主机可以通过提供具有各种属性的HMB区域来向存储装置提供改善的性能。
在下文中,可以参考图13至图15来描述具有供应商专用属性的HMB区域的示例。
与参考图10至图12B所描述的示例不同,在图13至图15的示例中,除第一HMB区域HMB1至第四HMB区域HMB4之外,可以在主机存储器122中进一步分配第五HMB区域HMB5和第六HMB区域HMB6。
图13以表格格式示出了存储HMB区域HMB1至HMB6的信息的第三HMDL HMDL3。
参考图13,第一HMB区域HMB1至第四HMB区域HMB4可以具有与参考图10至图12B所描述的那些属性相同的属性。
第五HMB区域HMB5可以具有作为供应商专用属性的易失性-主机信息属性。根据示例实施例,主机可以在具有易失性-主机信息属性的HMB区域中连续地更新主机的系统信息。存储装置可以通过访问HMB区域来获取主机的系统信息,并且可以使用所获取的系统信息来与主机同步地操作。
第六HMB区域HMB6可以具有作为供应商专用属性的易失性-调试属性。根据示例实施例,存储装置可以将用于调试存储装置的日志数据存储在具有易失性-调试属性的HMB区域中。
图14是示出根据示例实施例的主机-存储系统的操作的视图。
更具体地,图14描述使用具有易失性-主机信息属性的HMB区域将存储装置与主机同步的方法。
在S41中,存储装置可以切换到诸如省电模式等的非激活模式。存储装置可以在进入非激活模式时停止存储装置中的用于确定系统时间的定时器的操作。即使存储装置处于非激活模式,主机也可以维持激活状态。当存储装置中的定时器在非激活模式下不工作时,在存储装置切换回激活模式之后,存储装置的系统时间可能与主机的系统时间不匹配。
在存储装置处于非激活模式时,主机可以执行S42至S45。
在S42中,主机的CPU核可以将主机的系统信息提供给主机存储器。
在S43中,主机存储器可以将系统信息存储在第五HMB区域HMB5中。例如,主机可以将使用主机中的实时时钟(RTC)等生成的系统时间存储在第五HMB区域HMB5中。主机的系统信息可以连续地改变,并且可以在第五HMB区域HMB5中连续地更新改变后的系统信息。
S44和S45指示主机在第五HMB区域HMB5中更新改变后的系统信息。
在S46中,存储装置从非激活模式切换到激活模式。
在S47和S48中,存储装置可以访问第五HMB区域HMB5以获取主机的系统信息。
然后,在S49中,存储装置可以基于来自主机的系统信息,将存储装置中的系统时间与主机系统时间同步。
根据示例实施例,即使定时器在非激活模式下不工作,存储装置也可以通过使用HMB区域从主机获取系统时间,基于同步后的系统时间进行操作。因此,存储装置在非激活模式下的功耗可以进一步减小,并且存储装置的操作时间准确度可以提高。
图15是示出根据示例实施例的主机-存储系统的操作的视图。
具体地,图15描述存储装置使用具有易失性-调试属性的HMB区域来存储日志数据的方法。
在S51中,错误可能出现在存储装置中。存储装置可以生成包括关于错误的信息的日志数据以用于调试。
在S52和S53中,存储装置可以将日志数据存储在第六HMB区域HMB6中。然后,存储装置可以终止操作。
在S54中,CPU核可以获取存储在第六HMB区域HMB6中的日志数据。
在S55中,CPU核可以执行存储装置的调试,例如,CPU核可以使用所获取的日志数据来分析出现在存储装置中的错误。
根据示例实施例,因为存储装置将日志数据存储在HMB区域中,所以即使存储装置操作终止,也可以维持日志数据,并且主机可以在存储装置的终止状态下从HMB区域获取日志数据,而不启动存储装置。
尽管在图13至图15中将易失性-主机信息属性和易失性-调试属性作为供应商专用属性的示例,但主机也可以将主机存储器中包括的非易失性存储器区域分配为用于存储系统信息的HMB区域或用于存储日志数据的HMB区域。另外,主机可以将主机存储器的易失性存储器区域或非易失性存储器区域分配为具有不同的供应商专用属性的HMB区域。
根据示例实施例,主机可以为存储装置分配多个HMB区域,并且可以为每个HMB区域分配属性。当释放HMB区域时,存储在HMB区域中的数据可以根据对应于其的HMB区域的属性而被选择性地保持。当存储装置进入非激活状态时,可以一起释放多个HMB区域,但是主机可以保持HMB区域中的一些数据,以减少主机和存储装置之间的数据流量并改善存储装置的性能。
在下文中,将参考图16至图20详细描述根据示例实施例的可以应用HMB的系统。
图16是示出主机100和存储装置200之间的接口的视图。
图16的主机100和存储装置200可以分别对应于参考图1描述的主机100和存储装置200。
存储装置200可以使用支持诸如NVMe的协议的命令队列接口来与主机100进行通信。命令队列接口可以使用包括提交队列(SQ)和完成队列(CQ)的队列对来支持主机100和存储装置200之间的对接,SQ用于输入所请求的命令,CQ用于记录所请求的命令的处理结果。
主机100可以产生队列对。根据示例实施例,队列对可以被存储在主机存储器120中。
存储装置200可以包括门铃(doorbell)寄存器202来执行命令队列接口的操作。门铃寄存器202可以是用于控制由主机100生成的队列对的寄存器。门铃寄存器202可以存储提交队列尾部指针(SQTP)和完成队列头部指针(CQHP)。
在S61中,主机100可以对提交队列SQ中的命令进行排队以请求存储装置200执行该命令。
在S62中,主机100可以更新提交队列尾部指针SQTP,并且可以将更新后的提交队列尾部指针SQTP提供给存储装置200。存储装置200可以将更新后的提交队列尾部指针SQTP存储在门铃寄存器202中。
在S63中,存储装置200可以从提交队列SQ中抓取(fetch)命令。
在S64中,存储装置200可以对抓取到的命令进行处理。
在S65中,在处理该命令之后,存储装置200可以在完成队列CQ中记录对该命令的处理已完成。例如,存储装置200可以将完成队列条目记录在完成队列CQ中。在这种情况下,可以更新完成队列头部指针CQHP。
在S66中,存储装置200可以生成中断信号。
在S67中,主机100可以完成该命令。
在S68中,主机100可以将更新后的完成队列头部指针CQHP提供给存储装置200。存储装置200可以将更新后的完成队列头部指针CQHP存储在门铃寄存器202中。
根据示例实施例,主机100可以分配HMB区域,可以生成包括关于所分配的HMB区域的信息的HMDL,并且可以使用命令队列接口将用于设置HMB区域的设置特征命令提供给存储装置200。存储装置200可以响应于设置特征命令从主机100抓取HMDL。主机100可以支持每一个HMB区域的不同属性,并且存储装置200可以参考HMDL来使用具有各种属性的HMB区域。
图17是示出存储器件的示例框图。
参照图17,存储器件300可以包括控制逻辑电路320、存储单元阵列330、页缓冲器340、电压生成器350和行译码器360。存储器件300还可以包括图17中所示的存储器接口电路310,并且进一步包括列逻辑、预译码器、温度传感器、命令译码器、地址译码器等等(尽管在图17中未示出)。图17的存储器件300可以对应于参考图1描述的非易失性存储器220。
控制逻辑电路320可以总体上控制存储器件300中的各种操作。控制逻辑电路320可以响应于来自存储器接口电路310的命令CMD和/或地址ADDR而输出各种控制信号。例如,控制逻辑电路320可以输出电压控制信号CTRL_vol、行地址X-ADDR和列地址Y-ADDR。
存储单元阵列330可以包括多个存储块BLK1至BLKz(其中,z是正整数),并且多个存储块BLK1至BLKz均可以包括多个存储单元。存储单元阵列330可以通过位线BL连接到页缓冲器340,并且可以通过字线WL、串选择线SSL和接地选择线GSL连接到行译码器360。
在示例实施例中,存储单元阵列330可以包括3D存储单元阵列,并且3D存储单元阵列可以包括多个NAND串。每个NAND串可以包括分别连接到垂直堆叠在基板上的字线的存储单元。
页缓冲器340可以包括多个页缓冲器PB1至PBn(其中,n是大于或等于3的整数),并且多个页缓冲器PB1至PBn可以分别通过多条位线BL连接到存储单元。页缓冲器340可以响应于列地址Y-ADDR来选择位线BL当中的至少一条位线。根据操作模式,页缓冲器340可以用作写入驱动器或读出放大器。例如,在编程操作期间,页缓冲器340可以将与要编程的数据相对应的位线电压施加到选定位线。在读取操作期间,页缓冲器340可以通过感测选定位线的电流或电压来感测存储在存储单元中的数据。
电压生成器350可以基于电压控制信号CTRL_vol生成用于执行编程操作、读取操作和擦除操作的各种类型的电压。例如,电压生成器350可以生成编程电压、读取电压、编程验证电压、擦除电压等作为字线电压VWL。
行译码器360可以响应于行地址X-ADDR来选择多条字线WL之一,并且可以选择多条串选择线SSL之一。例如,行译码器360可以在编程操作期间将编程电压和编程验证电压施加到选定字线,并且可以在读取操作期间将读取电压施加到选定字线。
图18是示出根据示例实施例的可适用于存储器件的3D V-NAND结构的视图。
当存储器件的存储模块可以被实现为3D V-NAND型闪存时,构成存储模块的多个存储块可以分别由如在图18中所示的等同电路来表示。
图18中所示的存储块BLKi可以表示以三维结构形成在基板上的三维存储块。例如,存储块BLKi中所包括的多个存储器NAND串可以在垂直于基板的方向上形成。
参考图18,存储块BLKi可以包括连接在位线BL1、BL2和BL3与公共源极线CSL之间的多个存储器NAND串NS11至NS33。多个存储器NAND串NS11至NS33均可以包括串选择晶体管SST、多个存储单元MC1、MC2、...MC8以及接地选择晶体管GST。尽管在图18中示出多个存储器NAND串NS11至NS33均包括八个存储单元MC1、MC2、...MC8,但这可以变化。
串选择晶体管SST可以连接到与其对应的串选择线SSL1、SSL2和SSL3。多个存储单元MC1、MC2、...MC8可以分别连接到对应于其的栅极线GTL1、GTL2、...GTL8。栅极线GTL1、GTL2、...GTL8可以对应于字线,并且栅极线GTL1、GTL2、...GTL8中的一部分栅极线可以对应于伪字线。接地选择晶体管GST可以连接到与其相对应的接地选择线GSL1、GSL2和GSL3。串选择晶体管SST可以连接到与其对应的位线BL1、BL2和BL3,并且接地选择晶体管GST可以连接到公共源极线CSL。
具有相同高度的字线(例如,WL1)可以被共同地连接,并且接地选择线GSL1、GSL2和GSL3与串选择线SSL1、SSL2和SSL3可以彼此分开。在图18中,存储块BLKi被示出为连接到八条栅极线GTL1、GTL2、...GTL8以及三条位线BL1、BL2、BL3,但是这可以变化。
图19是示出根据示例实施例的存储器件的截面图。
参考图19,存储器件600可以具有芯片到芯片(C2C)结构。C2C结构可以指通过以下方式形成的结构:在第一晶片上制造包括单元区域CELL的上芯片,在不同于第一晶片的第二晶片上制造包括外围电路区域PERI的下芯片,然后通过接合工艺将上芯片和下芯片接合。在这里,接合工艺可以指将形成在上芯片的最上金属层上的接合金属与形成在下芯片的最上金属层上的接合金属电连接的方法。例如,当接合金属由铜(Cu)形成时,接合方法可以是Cu-Cu接合方法。接合金属也可以由铝或钨形成。
存储器件600的外围电路区域PERI和单元区域CELL中的每一者可以包括外部焊盘接合区域PA、字线接合区域WLBA和位线接合区域BLBA。外围电路区域PERI可以包括:第一衬底710,层间绝缘层715,形成在第一衬底710上的多个电路元件720a、720b和720c,分别连接到多个电路元件720a、720b和720c的第一金属层730a、730b和730c、以及形成在第一金属层730a、730b和730c上的第二金属层740a、740b和740c。在示例实施例中,第一金属层730a、730b和730c可以由具有相对高的电阻率的钨形成,并且第二金属层740a、740b和740c可以由具有相对低的电阻率的铜形成。
层间绝缘层715可以设置在第一衬底710上并且覆盖多个电路元件720a、720b和720c、第一金属层730a、730b和730c以及第二金属层740a、740b和740c。层间绝缘层715可以包括诸如氧化硅、氮化硅等的绝缘材料。
下部接合金属771b和772b可以在字线接合区域WLBA中形成在第二金属层740b上。在字线接合区域WLBA中,外围电路区域PERI中的下部接合金属771b和772b可以电接合到单元区域CELL的上部接合金属871b和872b。下部接合金属771b和772b以及上部接合金属871b和872b可以由铝、铜、钨等形成。单元区域CELL的上部接合金属871b和872b可以被称为第一金属焊盘,并且外围电路区域PERI的下部接合金属771b和772b可以被称为第二金属焊盘。
单元区域CELL可以包括至少一个存储块。单元区域CELL可以包括第二衬底810和公共源极线820。在第二衬底810上,可以在垂直于第二衬底810的上表面的方向(Z轴方向)上堆叠多条字线831至838(即830)。至少一条串选择线和至少一条接地选择线可以分别布置在多条字线830的之上和之下,并且多条字线830可以设置在至少一条串选择线与至少一条接地选择线之间。
在位线接合区域BLBA中,沟道结构CH可以在垂直于第二衬底810的上表面的方向(Z轴方向)上延伸,并穿过多条字线830、至少一条串选择线和至少一条接地选择线。沟道结构CH可以包括数据存储层、沟道层、掩埋绝缘层等,并且沟道层可以电连接到第一金属层850c和第二金属层860c。例如,第一金属层850c可以是位线接触,并且第二金属层860c可以是位线。在示例实施例中,位线860c可以在平行于第二衬底810的上表面的第一方向(Y轴方向)上延伸。
在图19所示的示例实施例中,其中设置有沟道结构CH、位线860c等的区域可以被界定为位线接合区域BLBA。在位线接合区域BLBA中,位线860c可以电连接到在外围电路区域PERI中提供页缓冲器893的电路元件720c。位线860c可以在单元区域CELL中连接到上部接合金属871c和872c,并且上部接合金属871c和872c可以连接到与页缓冲器893的电路元件720c连接的下部接合金属771c和772c。
在字线接合区域WLBA中,字线830可以在平行于第二衬底810的上表面且与第一方向垂直的第二方向(X轴方向)上延伸,并且可以连接到多个单元接触插塞841至847(即,840)。多条字线830和多个单元接触插塞840可以在由在第二方向上以不同长度延伸的多条字线830的至少一部分提供的焊盘中彼此连接。第一金属层850b和第二金属层860b可以顺序地连接到与多条字线830连接的多个单元接触插塞840的上部。多个单元接触插塞840可以在字线接合区域WLBA中通过单元区域CELL的上部接合金属871b和872b以及外围电路区域PERI的下部接合金属771b和772b连接到外围电路区域PERI。
多个单元接触插塞840可以电连接到在外围电路区域PERI中形成行译码器894的电路元件720b。在实施例中,行译码器894的电路元件720b的工作电压可以不同于形成页缓冲器893的电路元件720c的工作电压。例如,形成页缓冲区893的电路元件720c的工作电压可以大于形成行译码器894的电路元件720b的工作电压。
公共源极线接触插塞880可以设置在外部焊盘接合区域PA中。公共源极线接触插塞880可以由诸如金属、金属化合物、多晶硅等的导电材料形成,并且可以电连接到公共源极线820。第一金属层850a和第二金属层860a可以顺序地堆叠在公共源极线接触插塞880的上部上。例如,设置有公共源极线接触插塞880、第一金属层850a和第二金属层860a的区域可以被界定为外部焊盘接合区域PA。
输入/输出焊盘705和805可以被设置在外部焊盘接合区域PA中。参考图19,覆盖第一衬底710的下表面的下部绝缘膜701可以形成在第一衬底710下方,并且第一输入/输出焊盘705可以形成在下部绝缘膜701上。第一输入/输出焊盘705可以通过第一输入/输出接触插塞703连接到设置在外围电路区域PERI中的多个电路元件720a、720b和720c中的至少一者,并且可以通过下部绝缘膜701与第一衬底710分离。另外,侧绝缘膜可以设置在第一输入/输出接触插塞703与第一衬底710之间以将第一输入/输出接触插塞703与第一衬底710电分离。
参考图19,覆盖第二衬底810的上表面的上部绝缘膜801可以形成在第二衬底810上,并且第二输入/输出焊盘805可以设置在上部绝缘膜801上。第二输入/输出焊盘805可以通过第二输入/输出接触插塞803连接到设置在外围电路区域PERI中的多个电路元件720a、720b和720c中的至少一者。
在分别包括在单元区域CELL和外围电路区域PERI中的外部焊盘接合区域PA和位线接合区域BLBA中的每一者中,设置在最上金属层上的金属图案可以被提供为伪图案或可以不存在最上金属层。
在外部焊盘接合区域PA中,存储器件600可以在外围电路区域PERI的最上金属层中包括下部金属图案773a,所述下部金属图案2273a对应于形成在单元区域CELL的最上金属层中的上部金属图案872a并且具有与单元区域CELL的上部金属图案872a相同的截面形状以便连接到彼此。在外围电路区域PERI中,形成在外围电路区域PERI的最上金属层中的下部金属图案773a可以不连接到接触。类似地,在外部焊盘接合区域PA中,可以在单元区域CELL的最上金属层中形成上部金属图案,所述上部金属图案对应于形成在外围电路区域PERI的最上金属层中的下部金属图案并且具有与外围电路区域PERI的下部金属图案相同的形状。
下部接合金属771b和772b可以在字线接合区域WLBA中形成在第二金属层740b上。在字线接合区域WLBA中,外围电路区域PERI的下部接合金属771b和772b可以通过接合而电连接到单元区域CELL的上部接合金属871b和872b。
此外,在位线接合区域BLBA中,可以在单元区域CELL的最上金属层中形成上部金属图案892,所述上部金属图案2392对应于形成在外围电路区域PERI的最上金属层中的下部金属图案752并且具有与外围电路区域PERI的下部金属图案752相同的截面形状。在形成在单元区域CELL的最上金属层中的上部金属图案892上可以不形成接触。
在示例实施例中,可以形成增强金属图案,所述增强金属图案对应于形成在单元区域CELL和外围电路区域PERI中的一者的最上金属层上的金属图案,并且具有与形成在单元区域CELL和外围电路区域PERI中的另一者的最上金属层上的金属图案相同的截面形状。在增强金属图案中可以不形成接触。
图20是示出根据示例实施例的应用了存储装置的系统1000的视图。
图20的系统1000可以是移动系统,诸如移动式电话、智能电话、平板个人计算机(PC)、可穿戴装置、保健设备、或物联网(IOT)装置。图20的系统1000也可以用于车辆、个人计算机、膝上型计算机、服务器、媒体播放机、诸如导航系统的汽车装置等。
参考图20,系统1000可以包括主处理器1100、存储器1200a和1200b以及存储装置1300a和1300b,并且还可以包括图像捕获装置1410、用户输入装置1420、传感器1430、通信装置1440、显示器1450、扬声器1460、供电装置1470或连接接口1480中的至少一者。
主处理器1100可以控制系统1000的总体操作,并且更具体地控制构成系统1000的其他组件的操作。主处理器1100可以被实现为通用处理器、专用处理器、应用处理器等等。
主处理器1100可以包括至少一个CPU核1110,并且还可以包括用于控制存储器1200a和1200b和/或存储装置1300a和1300b的控制器1120。根据示例实施例,主处理器1100还可以包括加速器1130,所述加速器1130可以是用于诸如人工智能(AI)数据操作的高速数据操作的专用电路。加速器1130可以包括图形处理单元(GPU)、神经处理单元(NPU)和/或数据处理单元(DPU)等,并且可以被实现为物理地独立于主处理器1100的其他组件的单独芯片。
存储器1200a和1200b可以用作系统1000的主存储器件,并且可以包括诸如SRAM和/或DRAM等的易失性存储器,但是也可以包括诸如闪存、PRAM和/或RRAM等的非易失性存储器。存储器1200a和1200b可以与主处理器1100一起实现在同一封装体中。
与存储器1200a和1200b相比,存储装置1300a和1300b可以用作不管是否被供电都存储数据的非易失性存储装置,并且可以具有相对较大的存储容量。存储装置1300a和1300b可以包括存储控制器1310a和1310b以及在存储控制器1310a和1310b的控制下存储数据的非易失性存储器(NVM)1320a和1320b。非易失性存储器1320a和1320b可以包括具有2D(2维)结构或3D(3维)垂直NAND(V-NAND)结构的闪存,但是可以包括诸如PRAM和/或RRAM等的其他类型的非易失性存储器。
存储装置1300a和1300b可以在与主处理器1100物理分开的状态下被包括在系统1000中,或可以与主处理器1100一起实现在同一封装体中。另外,存储装置1300a和1300b可以具有诸如固态硬盘(SSD)或存储卡的形状,以便通过诸如稍后将描述的连接接口1480等的接口而可拆卸地耦接到系统1000的其他组件。这种存储装置1300a和1300b可以是例如应用了诸如通用闪存(UFS)、嵌入式多媒体卡(eMMC)或者高速非易失性存储器(NVMe)等的标准协议的装置。
存储器1200a和1200b的至少一部分可以提供用于存储装置1300a和1300b的操作的HMB区域。根据示例实施例,主处理器1100可以分配具有各种属性的多个HMB区域,并且可以将多个HMB区域提供给存储装置1300a和1300b,以改善存储装置1300a和1300b的性能。
存储器1200a和1200b还可以存储标识符,所述标识符可以指示多个HMB区域中的每一个被分配给了存储装置1300a和1300b中的哪一个。例如,通用唯一标识符(UUID)可以用于标识存储装置1300a和1300b,并且存储器1200a和1200b可以为每个HMB区域存储UUID。主处理器1100可以参考UUID来识别分配给不同的存储装置1300a和1300b的HMB区域。然后,当存储装置1300a和1300b与系统1000断开电连接然后重新连接到系统1000时,主处理器1100可以识别存储装置并且可以重新分配为存储装置分配的HMB区域。
图像捕获装置1410可以捕获静止图像或运动图像,并且可以是相机、摄像机和/或网络照相机等。根据示例实施例,主处理器1100可以连续地将由图像捕获装置1410生成的帧数据存储在多个HMB区域当中的具有流属性的HMB区域中。存储装置1300a和1300b可以周期性地访问HMB区域以获取帧数据,并且可以将帧数据存储在非易失性存储器1320a和1320b中。主处理器1100和存储装置1300a和1300b之间的数据流量可以减少。
用户输入装置1420可以接收系统1000中的由用户输入的各种类型的数据,并且可以是触摸板、小键盘、键盘、鼠标和/或麦克风等。
传感器1430可以检测可以从系统1000外部获取的各种类型的物理量,并且可以将感测到的物理量转换为电信号。这种传感器1430可以是温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪传感器等等。
通信装置1440可以根据各种通信协议在系统1000外部的其他装置之间发送和接收信号。这种通信装置1440可以被实现为包括天线、收发器和/或调制解调器等等。
显示器1450和扬声器1460可以用作分别向系统1000的用户输出可视信息和可听信息的输出装置。
供电装置1470可以适当地转换从安装在系统1000中的电池(未示出)和/或外部电源供应的电力,并且将转换后的电力供应给系统1000的每个组件。
连接接口1480可以提供系统1000和外部装置之间的连接,所述外部装置可以连接到系统1000并且可以与系统1000交换数据。连接接口1480可以以诸如以下各种接口方法来实现:先进技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、外围组件互连(PCI)、快速PCI(PCIe)、NVMe、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、eMMC、UFS、嵌入式通用闪存(eUFS)、紧凑式闪存(CF)卡接口等。
如上所述,示例实施例可以提供与存储装置有关的配置和操作,该存储装置能够将主机的主机存储器用作缓冲器来管理各项数据。
根据示例实施例,可以在释放HMB区域时根据该HMB区域的属性来选择性地保持所缓冲的数据,并且可以高效地使用主机存储器。
根据示例实施例,可以为存储装置分配主机的非易失性存储器作为HMB区域,并且即使存储装置和主机断电,也可以将存储装置的操作数据存储在主机中。因此,可以减少存储装置的通电时间。
根据示例实施例,可以在HMB区域中更新由主机连续生成的数据,并且可以将该HMB区域的数据周期性地存储在存储装置中的非易失性存储器中。因此,可以减少主机和存储装置之间的数据流量。
根据示例实施例,可以在主机存储器中分配具有不同的属性的多个主机存储器缓冲区域(HMB区域),存储装置可以根据其属性在多个HMB区域中缓冲数据,并且可以在释放HMB区域时根据每个HMB区域的属性来选择性地保持所缓冲的数据。
根据示例实施例,可以根据HMB区域的属性将由主机生成的数据存储在HMB区域中,并且存储装置可以获取HMB区域中的数据。
根据示例实施例,主机存储器可以包括非易失性存储器区域,并且可以在非易失性存储器区域中分配HMB区域中的至少一部分HMB区域。即使在主机关闭之后,也可以保持在非易失性存储器区域中分配的HMB区域中的数据。
在本文已经公开了示例实施例,并且虽然采用了特定术语,但它们仅在一般和描述性意义上被使用和被解释且不用于限制的目的。在一些情况下,自提交本申请起,对于本领域普通技术人员明显的是,结合特定实施例描述的特征、特性和/或元件可以单独地使用或与结合其他的实施例描述的特征、特性和/或元件组合地使用,除非另外明确指示。因此,本领域技术人员应当理解,在没有脱离如在所附权利要求中阐明的本发明的精神和范围的情况下,可以进行形式和细节上的各种变化。
Claims (20)
1.一种电子系统,所述电子系统包括:
主机,所述主机包括主机存储器;以及
存储装置,所述存储装置被配置为存储来自所述主机的数据,其中:
所述主机被配置为:在所述主机存储器中分配分别具有不同属性的第一HMB区域和第二HMB区域,并向所述存储装置提供包括所述第一HMB区域和所述第二HMB区域中的每一者的地址信息和属性信息的HMDL,所述HMB区域即主机存储器缓冲区域,所述HMDL即主机存储器描述符列表,
所述存储装置还被配置为参考所述HMDL将数据缓冲在所述第一HMB区域和所述第二HMB区域中,并且
所述主机还被配置为:释放所述第一HMB区域和所述第二HMB区域,并根据所述第一HMB区域和所述第二HMB区域中的每一者的属性,将缓冲在所述第一HMB区域中的数据提供给所述存储装置以及将缓冲在所述第二HMB区域中的数据保持在所述主机存储器中。
2.根据权利要求1所述的电子系统,其中,在释放所述第一HMB区域和所述第二HMB区域之后,所述主机将所述存储装置转变为非激活模式。
3.根据权利要求2所述的电子系统,其中,所述主机还被配置为将所述存储装置从所述非激活模式转变为激活模式并重新分配被释放的所述第一HMB区域和所述第二HMB区域,并且所述存储装置还被配置为使用保持在所述主机存储器中的所述数据来控制所述存储装置中的存储器件,保持在所述主机存储器中的所述数据为缓冲在重新分配的所述第二HMB区域中的数据。
4.根据权利要求3所述的电子系统,其中,所述存储装置进一步被配置为:将缓冲在所述第二HMB区域中并且然后被提供给所述存储装置的所述数据再次缓冲在重新分配的所述第二HMB区域中,并使用缓冲在重新分配的所述第二HMB区域中的所述数据来控制所述存储器件。
5.根据权利要求2所述的电子系统,其中,所述主机还被配置为:在所述存储装置转变为所述非激活模式之前,将所述第二HMB区域的所述地址信息存储在所述主机存储器中,并且在所述存储装置从所述非激活模式转变为激活模式之后,参考所述地址信息来重新分配所述第二HMB区域。
6.根据权利要求1所述的电子系统,其中:
所述主机还被配置为在所述主机存储器中分配第三HMB区域,所述第三HMB区域的属性与所述第一HMB区域的属性和所述第二HMB区域的属性不同,
所述HMDL还包括所述第三HMB区域的属性信息,并且所述HMDL被存储在所述主机存储器中,并且
所述主机还被配置为参考所述HMDL将从所述主机中的CPU核周期性地生成的流数据存储在所述第三HMB区域中。
7.根据权利要求6所述的电子系统,其中,所述存储装置进一步被配置为:以比第一周期长的第二周期访问所述第三HMB区域以获取所述流数据,并将所获取的所述流数据存储在所述存储装置中的非易失性存储器中,所述流数据以所述第一周期被存储在所述第三HMB区域中。
8.根据权利要求6所述的电子系统,还包括成像装置,所述成像装置被配置为周期性地生成帧数据,
其中,所述CPU核被配置为使用所述帧数据来生成所述流数据。
9.根据权利要求1所述的电子系统,其中:
所述主机存储器包括易失性存储器和非易失性存储器,
所述主机进一步被配置为:在所述易失性存储器中分配所述第一HMB区域和所述第二HMB区域,并在所述非易失性存储器中分配第四HMB区域,所述第四HMB区域的属性与所述第一HMB区域的属性和所述第二HMB区域的属性不同,并且
所述存储装置进一步被配置为:基于所述第一HMB区域的属性、所述第二HMB区域的属性和所述第四HMB区域的属性,将数据缓冲在所述第一HMB区域、所述第二HMB区域和所述第四HMB区域中。
10.根据权利要求9所述的电子系统,其中,所述主机还被配置为:生成所述第四HMB区域的地址信息,将所述地址信息存储在所述非易失性存储器中,然后将所述电子系统断电。
11.根据权利要求10所述的电子系统,其中:
所述主机还被配置为:在所述电子系统通电时,基于存储在所述非易失性存储器中的所述地址信息来重新分配所述第四HMB区域,并且
所述存储装置还被配置为:使用保持在重新分配的所述第四HMB区域中的数据来控制所述存储装置中的存储器件。
12.根据权利要求9所述的电子系统,其中,所述主机还被配置为:将所述易失性存储器和所述非易失性存储器映射在一个存储器映射上。
13.根据权利要求1所述的电子系统,其中:
所述主机还被配置为:在所述主机存储器中分配第五HMB区域,并在所述第五HMB区域中周期性地更新所述主机的系统时间,所述第五HMB区域的属性与所述第一HMB区域的属性和所述第二HMB区域的属性不同,并且
所述存储装置还被配置为:从所述第五HMB区域获取所述主机的所述系统时间,并基于所获取的所述系统时间来将所述存储装置的系统时间与所述主机的所述系统时间同步。
14.根据权利要求13所述的电子系统,其中:
所述存储装置包括定时器,并且
所述存储装置还被配置为:在非激活模式下使所述定时器停止工作,并在从所述非激活模式转变到激活模式之后从所述第五HMB区域获取所述系统时间。
15.根据权利要求1所述的电子系统,其中:
所述主机还被配置为:在所述主机存储器中分配第六HMB区域,所述第六HMB区域的属性与所述第一HMB区域的属性和所述第二HMB区域的属性不同,其中,所述HMDL还包括所述第六HMB区域的属性信息,并且
所述存储装置还被配置为:在出现错误时生成日志数据,参考所述HMDL将所述日志数据存储在所述第六HMB区域中,然后终止所述存储装置的操作。
16.根据权利要求15所述的电子系统,其中,所述主机还被配置为:在所述存储装置的操作被终止的状态下从所述第六HMB区域获取所述日志数据,并使用所获取的所述日志数据来分析所述存储装置的所述错误。
17.一种电子系统,所述电子系统包括:
主机,所述主机包括主机存储器;以及
存储装置,所述存储装置被配置为存储来自所述主机的数据,其中:
所述主机被配置为:在所述主机存储器中分配分别具有不同属性的第一HMB区域和第二HMB区域,所述HMB区域即主机存储器缓冲区域,
所述存储装置还被配置为参考所述第一HMB区域的属性和所述第二HMB区域的属性将数据缓冲在所述第一HMB区域和所述第二HMB区域中,并且
所述主机还被配置为:释放所述第一HMB区域和所述第二HMB区域,并根据所述第一HMB区域和所述第二HMB区域中的每一者的属性选择性地将缓冲在所述第一HMB区域和所述第二HMB区域中的数据提供给所述存储装置。
18.一种存储装置,所述存储装置包括:
存储器件;以及
存储控制器,所述存储控制器被配置为将用于所述存储器件的操作的数据缓冲在从主机分配的HMB区域当中的分别具有不同属性的第一HMB区域和第二HMB区域中,所述HMB区域即主机存储器缓冲区域,
其中,所述存储控制器还被配置为:响应于停用所述HMB区域的命令来获取缓冲在所述第一HMB区域中的数据,响应于重新启用所述HMB区域的命令来将所获取的数据再次缓冲在所述第一HMB区域中,并使用缓冲在所述第一HMB区域中的数据和保持在所述第二HMB区域中的数据来控制所述存储器件。
19.根据权利要求18所述的存储装置,其中,所述存储控制器进一步被配置为:在所述的获取缓冲在所述第一HMB区域中的数据之后将所述存储装置转变为非激活状态,并在将所述存储装置转变为激活状态之后再次将所获取的数据缓冲在所述第一HMB区域中。
20.根据权利要求18所述的存储装置,其中:
所述HMB区域还包括第三HMB区域,所述第三HMB区域的属性与所述第一HMB区域的属性和所述第二HMB区域的属性不同,并且
所述存储控制器还被配置为:周期性地访问所述第三HMB区域以获取由所述主机存储的流数据,并将所述流数据存储在所述存储器件中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0133682 | 2021-10-08 | ||
KR1020210133682A KR20230051335A (ko) | 2021-10-08 | 2021-10-08 | 스토리지 장치 및 전자 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115963982A true CN115963982A (zh) | 2023-04-14 |
Family
ID=85797839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211176599.5A Pending CN115963982A (zh) | 2021-10-08 | 2022-09-26 | 存储装置及电子系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12086433B2 (zh) |
KR (1) | KR20230051335A (zh) |
CN (1) | CN115963982A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11847323B1 (en) * | 2022-06-07 | 2023-12-19 | Westem Digital Technologies, Inc. | Data storage device and method for host buffer management |
US20240111646A1 (en) * | 2022-09-30 | 2024-04-04 | Western Digital Technologies, Inc. | Hmb multi-segment optimal selection |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10459846B2 (en) | 2015-09-10 | 2019-10-29 | Toshiba Memory Corporation | Memory system which uses a host memory |
KR102683696B1 (ko) | 2016-11-15 | 2024-07-09 | 삼성전자주식회사 | 호스트 메모리 버퍼(Host Memory Buffer)를 관리하기 위한 NVMe(Non-Volatile Memory Express) 컨트롤러를 포함하는 솔리드 스테이트 저장 장치(solid state storage device), 이를 포함하는 시스템 및 호스트의 호스트 메모리 버퍼를 관리하는 방법 |
KR102340094B1 (ko) | 2017-03-31 | 2021-12-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
KR102384759B1 (ko) | 2017-11-13 | 2022-04-11 | 삼성전자주식회사 | 호스트 메모리 버퍼를 사용하기 위해 호스트 장치와 속성 정보를 공유하는 스토리지 장치 및 그것을 포함하는 전자 장치 |
KR102395477B1 (ko) | 2017-11-20 | 2022-05-09 | 삼성전자주식회사 | 호스트 메모리에 대한 메모리 액세스를 스케쥴링하는 장치 컨트롤러, 및 이를 포함하는 저장 장치 |
CN110955384B (zh) * | 2018-09-26 | 2023-04-18 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
KR20200121645A (ko) | 2019-04-16 | 2020-10-26 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작 방법과 메모리 시스템 |
JP2021043708A (ja) | 2019-09-11 | 2021-03-18 | キオクシア株式会社 | メモリシステム |
US20220229789A1 (en) * | 2021-01-21 | 2022-07-21 | Western Digital Technologies, Inc. | Host Memory Buffer (HMB) Abstraction Protocol Layer |
US20240078039A1 (en) * | 2022-09-06 | 2024-03-07 | Western Digital Technologies, Inc. | Data Recovery for Zoned Namespace Devices |
US20240094911A1 (en) * | 2022-09-20 | 2024-03-21 | Western Digital Technologies, Inc. | Dynamic And Shared CMB And HMB Allocation |
-
2021
- 2021-10-08 KR KR1020210133682A patent/KR20230051335A/ko active Search and Examination
-
2022
- 2022-05-10 US US17/740,405 patent/US12086433B2/en active Active
- 2022-09-26 CN CN202211176599.5A patent/CN115963982A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230112869A1 (en) | 2023-04-13 |
KR20230051335A (ko) | 2023-04-18 |
US12086433B2 (en) | 2024-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190043604A1 (en) | Multi-level memory repurposing | |
CN111414312B (zh) | 数据存储装置及其操作方法 | |
US11249897B2 (en) | Data storage device and operating method thereof | |
CN115963982A (zh) | 存储装置及电子系统 | |
KR20190090635A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11853219B2 (en) | Storage controller having data prefetching control function, operating method of storage controller, and operating method of storage device | |
CN116069680A (zh) | 控制器、存储设备以及存储设备的操作方法 | |
US11593031B2 (en) | Operating method of host device and storage device using credit | |
US11726677B2 (en) | Storage device configured to change power state based on reference clock from host device and method for operating the same | |
KR20190023196A (ko) | 데이터 저장 장치 | |
US12066905B2 (en) | Storage device, operating method of storage device, and electronic device including storage device | |
US11775215B2 (en) | Storage device with host-controlled operation mode, electronic system including the same, and method of operating the same | |
CN114730301B (zh) | 用于多协议处理的存储系统和方法 | |
US11409468B2 (en) | Storage system and method for using proactive device timeout information | |
KR20220076803A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN112783428A (zh) | 包括交换存储器的数据存储设备及其操作方法 | |
EP4053705B1 (en) | Operating method of storage device | |
EP4174663A1 (en) | Storage device and operation method thereof | |
US20230195333A1 (en) | Storage device and operation method of electronic system | |
US20230315335A1 (en) | Data Storage Device and Method for Executing a Low-Priority Speculative Read Command from a Host | |
US11847323B1 (en) | Data storage device and method for host buffer management | |
KR102583244B1 (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
US20230146540A1 (en) | Storage device and an operating method of a storage controller thereof | |
US20230069623A1 (en) | Storage device and operating method thereof | |
CN116009766A (zh) | 存储装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |