CN111090388B - 使用主机存储器缓冲器的数据存储设备及其操作方法 - Google Patents
使用主机存储器缓冲器的数据存储设备及其操作方法 Download PDFInfo
- Publication number
- CN111090388B CN111090388B CN201910977458.5A CN201910977458A CN111090388B CN 111090388 B CN111090388 B CN 111090388B CN 201910977458 A CN201910977458 A CN 201910977458A CN 111090388 B CN111090388 B CN 111090388B
- Authority
- CN
- China
- Prior art keywords
- storage device
- data storage
- execution code
- host
- code
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 275
- 238000013500 data storage Methods 0.000 title claims abstract description 156
- 239000000872 buffer Substances 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims description 19
- 238000013507 mapping Methods 0.000 claims abstract description 127
- 238000010586 diagram Methods 0.000 description 41
- 230000005055 memory storage Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 101100449814 Arabidopsis thaliana GTL1 gene Proteins 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 2
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 2
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101150064834 ssl1 gene Proteins 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100058961 Arabidopsis thaliana CALS2 gene Proteins 0.000 description 1
- 208000016560 COFS syndrome Diseases 0.000 description 1
- 101150018047 HBAD gene Proteins 0.000 description 1
- 101100482995 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) gsl-3 gene Proteins 0.000 description 1
- 101100287040 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ARG82 gene Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 101150062870 ssl3 gene Proteins 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- 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/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/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/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/062—Securing 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Abstract
一种数据存储设备包括非易失性存储器件、存储控制器和映射控制器。非易失性存储器件存储控制所述数据存储设备的操作的执行代码。存储控制器将来自非易失性存储器件的执行代码上载并存储至包括在外部主机设备中的主机存储器缓冲器,并从主机存储器缓冲器实时下载执行代码,以执行从主机存储器缓冲器下载的执行代码。映射控制器管理映射表,映射表包括执行代码和存储所述执行代码的主机存储器缓冲器的主机地址之间的映射关系。通过将主机存储器缓冲器用作用于控制数据存储设备的操作的执行代码的储存设备来提高访问执行代码的速度并增强数据存储设备的性能。
Description
相关申请的交叉引用
本申请要求于2018年10月24日在韩国知识产权局提交的韩国专利申请No.10-2018-0127154的优先权,其全部内容通过引用并入本文中。
技术领域
本文的发明构思涉及半导体集成电路,更具体地,涉及使用主机存储器缓冲器的数据存储设备及操作数据存储设备的方法。
背景技术
用于存储数据的半导体存储器件可以被分为诸如例如可以用作主存储器来运行软件的动态随机存取存储器(DRAM)的易失性存储器件以及诸如例如可以用于存储用户数据的NAND闪存的非易失性存储器件。易失性存储器提供相对较快的读写速度并能够实现字节访问,但是具有易失性和成本高的不足。尽管数据存储设备的成本可以通过减小其中包括的随机可访问存储器的容量来减小,但是这种具有减小的随机可访问存储器容量的数据存储设备的性能是降级的。
发明内容
本发明构思的实施例提供了一种数据存储设备和操作数据存储设备的方法,能够高效地使用存储器空间。
本发明构思的实施例提供了一种包括非易失性存储器件、存储控制器和映射控制器的数据存储设备。非易失性存储器件存储控制所述数据存储设备的操作的执行代码。存储控制器将来自非易失性存储器件的执行代码上载并存储至在外部主机设备中包括的主机存储器缓冲器,并且从主机存储器缓冲器实时地下载执行代码并执行从主机存储器缓冲器下载的执行代码。映射控制器管理映射表,映射表包括执行代码和存储所述执行代码的主机存储器缓冲器的主机地址之间的映射关系。
本发明构思的实施例还提供了一种数据存储设备,包括:非易失性存储器件,配置为存储控制所述数据存储设备的操作的执行代码;安全引擎,配置为对所述执行代码进行编码以生成受保护的执行代码;存储控制器,配置为将所述受保护的执行代码上载并存储至包括在外部主机设备中的主机存储器缓冲器,并从所述主机存储器缓冲器实时下载所述受保护的执行代码以向所述安全引擎提供所下载的受保护的执行代码;以及映射控制器,配置为管理映射表,所述映射表包括执行代码和存储所述受保护的执行代码的所述主机存储器缓冲器的主机地址之间的映射关系。安全引擎还被配置为对所下载的受保护的执行代码进行解码,以提供执行代码。存储控制器还被配置为执行从安全引擎提供的执行代码。
本发明构思的实施例还提供了一种操作数据存储设备的方法,所述方法包括:由包括在数据存储设备中的存储控制器将执行代码从包括在所述数据存储设备中的非易失性存储器件上载并存储至包括在主机设备中主机存储器缓冲器,其中所述执行代码控制所述数据存储设备的操作;由存储控制器从所述主机存储器缓冲器实时下载执行代码,并执行从所述主机存储器缓冲器下载的执行代码;以及由包括在所述数据存储设备中的映射控制器管理映射表,所述映射表包括执行代码和存储所述执行代码的所述主机存储器缓冲器的主机地址之间的映射关系。
根据本发明构思的实施例的数据存储设备和操作所述数据存储设备的方法可以通过使用主机存储器缓冲器作为控制所述数据存储设备的操作的执行代码的储存设备,来提高访问执行代码的速度并增强数据存储设备的性能,即使数据存储设备内的内部随机可访问存储器可能是不足的。
此外,根据本发明构思的实施例的数据存储设备和操作所述数据存储设备的方法可以通过对执行代码进行编码并将受保护的执行代码上载至主机存储器缓冲器,来增强数据存储设备和包括所述数据存储设备的系统的安全性。
附图说明
根据以下结合附图进行的详细描述,将更清楚地理解本发明构思的示例实施例。
图1示出了根据本发明构思的实施例的包括数据存储设备的系统的框图。
图2示出了根据本发明构思的实施例的数据存储设备的操作的方法的流程图。
图3示出了根据本发明构思的实施例的数据存储设备的初始化操作和正常操作的图。
图4示出了根据本发明构思的实施例的包括数据存储设备的系统的存储器存储状态的图。
图5A示出了根据本发明构思的实施例的包括在数据存储设备中的映射表的图。
图5B示出了描述图5A的映射表的映射关系的图。
图6示出了根据本发明构思的实施例的包括数据存储设备的系统的存储器存储状态的图。
图7示出了根据本发明构思的实施例的数据存储设备的初始化操作和正常操作的图。
图8A示出了根据本发明构思的实施例的包括数据存储设备的系统的存储器存储状态的图。
图8B示出了在执行更新操作之后参考图8A描述的所述系统的存储器存储状态的图。
图9A示出了根据本发明构思的其他实施例的包括数据存储设备的系统的存储器存储状态的图。
图9B示出了在执行更新操作之后参考图9A描述的所述系统的存储器存储状态的图。
图10示出了根据本发明构思的实施例的包括数据存储设备的系统的框图。
图11示出了根据本发明构思的实施例的数据存储设备的初始化操作和正常操作的图。
图12示出了包括在图10的数据存储设备中的安全引擎的框图。
图13A示出了图12的安全引擎的加密操作的图。
图13B示出了图12的安全引擎的解密操作的图。
图14示出了根据本发明构思的实施例的包括在图10的数据存储设备中的安全引擎的框图。
图15示出了根据本发明构思的其他实施例的包括在图10的数据存储设备中的安全引擎的框图。
图16示出了根据本发明构思的实施例的数据存储设备的掉电操作和加电操作的图。
图17示出了根据本发明构思的实施例的包括数据存储设备的系统的框图。
图18示出了包括在图17的数据存储设备中的非易失性存储器件的等效电路的电路图。
图19示出了根据本发明构思的实施例的移动设备的框图。
具体实施方式
下文中将参考附图更全面地描述各种示例实施例。在附图中,相同的附图标记始终表示相同的元件。可以省略重复描述。
如在发明构思领域中常见的,可以根据执行所描述的一个或多个功能的块来描述和示出实施例。在本文中可以称为单元或模块等的这些块通过诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子部件、有源电子部件、光学部件、硬连线电路等的模拟和/或数字电路物理地实现,并且可以可选地由固件和/或软件驱动。例如,电路可以实现在一个或多个半导体芯片中,或者在诸如印刷电路板等的衬底支撑件上。构成块的电路可以由专用硬件或处理器(例如,一个或多个编程的微处理器和相关联的电路)来实现,或者由用来执行该块的一些功能的专用硬件和用来执行该块的其他功能的处理器的组合来实现。在不脱离本发明构思的范围的情况下,实施例的每个块可以物理地分成两个或更多个交互和分立的块。类似地,在不脱离本发明构思的范围的情况下,实施例的块可以物理地组合成更复杂的块。
图1示出了根据本发明构思的实施例的包括数据存储设备的系统的框图。图2示出了根据本发明构思的实施例的数据存储设备的操作的方法的流程图。
参考图1,系统1000包括主机设备2000和数据存储设备3000。
主机设备2000包括主机控制器HCON和主机存储器HMEM。主机控制器HCON可以控制主机设备2000的整体操作。主机控制器HCON可以是基于硬件的数据处理设备,其包括被物理配置为执行由包括在代码或程序中的命令表示的操作的电路。例如,主机控制器HCON可以是片上系统(SoC)、通用处理器、专用处理器、应用处理器等。
主机存储器HMEM可以实现为随机存取存储器,配置为与主机控制器HCON通信并用作主机设备2000的主存储器、缓冲器存储器或缓存存储器。主机控制器HCOM可以在主机存储器HMEM处临时存储代码或数据。主机控制器HCON可以通过使用主机存储器HMEM执行各种软件,诸如,操作系统和应用。主机存储器HMEM可以包括易失性存储器(例如,静态RAM(SRAM)、动态RAM(DRAM)或同步DRAM(SDRAM))或非易失性存储器(例如,相变RAM(PRAM)、磁RAM(MRAM)、电阻RAM(RRAM)或铁电RAM(FRAM))。
当主机设备2000和数据存储设备3000被配置成使得数据存储设备3000的数据可以被加载到主机存储器HMEM时,主机控制器HCON可以分配主机存储器HMEM的一部分存储器空间以由存储设备3000使用。在这种情况下,主机存储器HMEM的主机区域HREG可以由主机设备2000使用,且主机存储器缓冲器HMB可以被分配给由数据存储设备3000使用。
主机控制器HCON可以包括被配置为控制主机存储器HMEM的存储器控制器MC,且主机控制器HCON可以经由存储器控制器MC使用主机存储器HMEM的主机区域HREG。根据示例实施例,存储器控制器MC可以是与主机控制器HCON不同的组件。当针对数据存储设备3000提供主机存储器缓冲器HMB时,数据存储设备3000可以使用主机存储器缓冲器HMB,而无需主机控制器HCON或存储器控制器MC的介入。
数据存储设备3000包括存储控制器SCON、存储存储器SMEM、映射控制器MPCON和非易失性存储器件NVM。根据示例实施例,数据存储设备3000还可以包括专门用于存储控制器SCON的紧密耦接的存储器TCM。紧密耦接的存储器TCM可以设置在存储控制器SCON的内部或外部。
非易失性存储器件NVM可以存储由主机设备2000和数据存储设备3000使用的各种数据。例如,如图1所示,非易失性存储器件NVM可以存储执行代码EXCD、元数据MTDT和其他正常数据NMDT。
执行代码EXCD是用于控制数据存储设备3000的操作的程序代码,并且对应于诸如由存储控制器SCON运行的操作系统(OS)的操作代码。在完成编译之后,执行代码EXCD被存储并保持在非易失性存储器件NVM中。执行代码EXCD可以是从非易失性存储器件NVM读取的,并且限制执行代码EXCD的改变。
元数据MTDT可以包括关于控制非易失性存储器件NVM的方法或规则的信息。例如,元数据MTDT可以包括表示主机设备2000向非易失性存储器件NVM分配的逻辑地址和非易失性存储器件NVM的物理地址之间的映射关系的数据。存储控制器SCON可以通过参考元数据MTDT来将由主机设备2000强加的逻辑地址转换为物理地址,并基于该物理地址,存储控制器SCON可以执行与非易失性存储器件NVM相关的写操作、读操作、擦除操作和后台操作。
正常数据NMDT可以包括各种应用和由主机设备2000写入并自由读取的数据。
非易失性存储器件NVM可以包括多个NAND闪存。根据示例实施例,非易失性存储器件NVM可以包括例如NOR闪存、铁电随机存取存储器(FRAM)、相变随机存取存储器(PRAM)、可控硅随机存取存储器(TRAM)、磁随机存取存储器(MRAM)等。
存储控制器SCON可以控制数据存储设备3000的整体操作。存储控制器SCON可以执行与主机设备2000的数据通信。存储控制器SCON和主机设备2000之间的接口可以被配置为执行一个或多个数据通信协议或规范。例如,该接口可以支持使用与通用串行总线(USB)、高级技术附件(ATA)、串行ATA(SATA)、小型计算机小型接口(SCSI)、串行连接SCSI(SAS)、并行ATA(PATA)、高速芯片间(HSIC)、防火墙、外围组件互连(PCI)、快速PCI(PCIe)、快速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)等相关联的常规理解的标准中的至少一个来进行通信。
主机控制器HCON可以将存储在非易失性存储器件NVM中的源代码加载到主机存储器HMEM的主机区域HREG,并且可以通过执行主机区域HREG中的源代码来驱动诸如OS和应用的各种软件。此外,主机控制器HCON可以将存储在非易失性存储器件NVM中的数据加载到主机区域HREG并处理所加载的数据。此外,主机控制器HCON可以存储要保持在非易失性存储器件NVM中的数据。
通常,存储控制器SCON将来自非易失性存储器件NVM的执行代码EXCD加载到内部存储器,诸如,存储存储器SMEM和紧密耦接的存储器TCM,并通过运行所加载的执行代码EXCD来控制数据存储设备3000的整体操作。然而,内部存储器是昂贵的,这是因为要求对其进行随机访问和高速访问。因此,数据存储设备3000的内部存储器通常可以被排除或在大多数情况下具有不足的存储器容量。
当数据存储设备3000的内部存储器不足时,存储控制器SCON转而必须通过从非易失性存储器件NVM而非内部存储器(即,存储存储器SMEM或紧密耦接的存储器TCM)读取执行代码EXCD来控制操作。然而,非易失性存储器件NVM以相对低的速率进行操作,且非易失性存储器件NVM的操作特性随着重复对其的访问而退化。因此,当存储控制器SCON基于存储在非易失性存储器件NVM中的执行代码EXCD而操作时,数据存储设备3000的性能退化。
参考图1和图2,在本发明构思的实施例中,存储控制器SCON可以将用于控制数据存储设备3000的操作的执行代码EXCD从包括在数据存储设备3000中的非易失性存储器件NVM上载并存储到主机设备2000中所包括的主机存储器缓冲器HMB(S100)。存储控制器SCON可以从主机存储器缓冲器HMB实时下载执行代码EXCD,以执行从主机存储器缓冲器HMB下载的执行代码EXCD(S200)。根据示例实施例,元数据MTDT和/或正常数据NMDT也可以上载至主机存储器缓冲器HMB。映射控制器MPCON可以管理映射表MPT,所述映射表MPT包括执行代码EXCD和存储执行代码EXCD的主机存储器缓冲器HMB的主机地址之间的映射关系。
这样,通过使用主机存储器缓冲器HMB作为控制数据存储设备3000的操作的执行代码EXCD的储存设备,即使数据存储设备3000内的内部随机可访问存储器是不足的,也可以增加访问执行代码EXCD的速度并且可以增强数据存储设备的性能,。
图3示出了根据本发明构思的实施例的数据存储设备的初始化操作和正常操作的图。
初始化操作指示包括数据存储设备的系统的启动序列的一部分。在数据存储设备加电之后的初始化操作期间,执行准备操作状态的序列,在该操作状态中,可以由存储控制器SCON运行执行代码EXCD的。正常操作指示在完成初始化操作之后的数据存储设备的写操作、读操作和后台操作。
参考图1和图3,当数据存储设备3000加电时,存储控制器SCON可以向主机控制器HCON发送使用主机存储器缓冲器HMB的请求(S11)。在一些示例实施例中,主机控制器HCON可以识别存储控制器SCON并将标识符传递给存储控制器SCON,使得存储控制器SCON可以确定主机存储器缓冲器HMB是否可用。在该情况下,存储控制器SCON可以向主机控制器HCON通知是否使用主机存储器缓冲器HMB。在一些示例实施例中,存储控制器SCON可以识别主机控制器HCON并向主机控制器HCON发送关于主机存储器缓冲器HMB是否可用的询问。当存储控制器SCON向主机控制器HCON发送关于主机存储器缓冲器HMB的使用的通知或询问时,存储控制器SCON也可以向主机控制器HCON请求主机存储器缓冲器HMB的大小。
主机控制器HCON可以参考来自存储控制器SCON的请求来分配主机存储器缓冲器HMB(S12)。主机控制器HCON可以在分配主机存储器缓冲器HMB的大小之后向存储控制器SCON通知分配结果(S13)。例如,主机控制器HCON可以通过设置特征命令向存储控制器SCON通知分配结果。设置特征命令可以包括诸如主机存储器缓冲器HMB的大小信息或关于主机存储器缓冲器HMB是否被激活的信息的设置特征。设置特征可以被提供给存储控制器SCON和/或映射控制器MPCON。
映射控制器MPCON可以参考主机存储器缓冲器HMB的大小执行地址映射(S14),以确定执行代码EXCD和要存储执行代码EXCD的主机存储器缓冲器HMB的主机地址HMBAD之间的映射关系。映射关系可以存储在映射表MPT中。在来自存储控制器SCON的请求后,映射关系或主机地址HMBAD可以被提供给存储控制器SCON(S15)。存储控制器SCON可以基于来自映射控制器MPCON的主机地址HMBAD,来上载执行代码EXCD(S16)。在一些示例实施例中,如参考图4和图5A所述,执行代码EXCD可以包括多个代码段CDSEC1~CDSECN,且存储控制器SCON可以在数据存储设备3000的初始化操作期间将多个代码段CDSEC1~CDSECN的全部上载至主机存储器缓冲器HMB。
在完成初始化操作之后,可以执行正常操作。例如,主机控制器HCON可以向存储控制器SCON传递命令CMD和地址ADD(S17)。可以根据命令CMD和地址ADD来执行与非易失性存储器件NVM相关的写操作或读操作。
在正常操作期间,存储控制器SCON可以从主机存储器缓冲器HMB实时下载执行代码EXCD,好像代码EXCD接收自主机存储器缓冲器HMB,以执行从主机存储器缓冲器HMB(S18)下载的执行代码EXCD。存储控制器SCON可以基于从映射控制器MPCON提供的主机地址HMBAD来执行对执行代码EXCD的下载。
图4示出了根据本发明构思的实施例的包括数据存储设备的系统的存储器存储状态的图。
参考图1和图4,存储在非易失性存储器件NVM中的执行代码EXCD可以包括多个代码段CDSEC1~CDSECN。
存储控制器SCON可以将要执行的代码段CDSECp和CDSECq加载到内部存储器IMEM,以快速访问代码段CDSECp和CDSECq。内部存储器IMEM对应于图1中的紧密耦接的存储器TCM和/或存储存储器SEME。
如图4所示,存储控制器SCON可以在数据存储设备3000的初始化操作期间将全部的多个代码段CDSEC1~CDSECN上载至主机存储器缓冲器HMB。
当要执行的代码段没有存储在内部存储器IMEM中时,存储控制器SCON可以直接访问主机存储器缓冲器HMB,以下载要执行的代码段。在一些示例实施例中,下载的代码段可以替换存储在内部存储器IMEM中的代码段CDSECp和CDSECq之一。
图5A示出了根据本发明构思的实施例的包括在数据存储设备中的映射表的图。
图5A表示与图4的存储器存储状态相对应的映射表MPT的映射信息S1。为了便于说明和描述,图5A示出了八个代码段(也就是说,第一至第八代码段CDSEC1~CDSEC8)的执行代码EXCD的示例,且可以多样化地确定代码段的数量。
参考图5A,映射控制器MPCON可以在映射表MPT中存储与多个代码段CDSEC1~CDSEC8中的被上载至主机存储器缓冲器HMB的上载代码段相关的主机地址。图5A示出了将全部的代码段CDSEC1~CDSEC8分别上载至主机存储器缓冲器HMB的主机地址HMBADa~HMBADh的示例。
此外,映射控制器MPCON可以在映射表MPT中存储与多个代码段CDSEC1~CDSEC8中的存储在内部存储器IMEM中的代码段相关的内部地址。图5A示出了第六代码段CDSEC6被存储在内部存储器IMEM的内部地址IMADp处且第三代码段CDSEC3被存储在内部存储器IMEM的内部地址IMADq处的情况。
存储控制器SCON可以基于存储在映射表MPT中的映射信息S1,来访问代码段。在一些示例实施例中,当要执行的代码段被存储在内部存储器IMEM中时,存储控制器SCON可以访问内部存储器IMEM。只有在要执行的代码段没有被存储在内部存储器IMEM内的情况下,存储控制器SCON可以基于映射信息S1来访问主机存储器缓冲器HMB中的代码段。
图5B示出了描述图5A的映射表的映射关系的图。
参考图5B,编译器可以基于源代码和作为对于数据存储设备固定的内部地址的固定地址来生成执行代码EXCD。可以由计算系统来执行编译器,且所生成的执行代码EXCD可以被提前存储在非易失性存储器件NVM中。编译器可以基于代码基地址CBAD来生成执行代码EXCD。执行代码EXCD可以不是基于主机地址HMBAD的,这是因为主机存储器缓冲器HMB的主机地址HMBAD是根据主机设备变化的。因此,代码段和对应的主机地址HMABAD可以是通过将代码基地址CBAD与各种主机设备的主机基地址HABD相映射来确定的。例如,每个代码段的每个地址可以由代码地址偏移COFS来表示,代码地址偏移COFS对应于每个代码段的地址和代码基地址CBAD之间的差异。在这种情况下,可以基于主机基地址HBAD和主机地址偏移HOFS,来确定与每个代码段相对应的主机地址HMBAD。
图6示出了根据本发明构思的实施例的包括数据存储设备的系统的存储器存储状态的图。
参考图1和图6,存储在非易失性存储器件NVM中的执行代码EXCD可以包括多个代码段CDSEC1~CDSECN。
即使图6未示出,存储控制器SCON可以将要执行的代码段从如参考图4描述的非易失性存储器件NVM加载到内部存储器IMEM。
如图6所示,存储控制器SCON可以在数据存储设备的初始化操作期间或在完成初始化操作之后的正常操作期间,将多个代码段CDSEC1~CDSECN的一部分上载至主机存储器缓冲器HMB。该示例可以对应于主机控制器HCON没有向数据存储设备提供足够大小的主机存储器缓冲器HMB的情况。存储控制器SCON可以执行更新操作,以用多个代码段CDSEC1~CDSECN中的其他代码段替换存储在主机存储器缓冲器HMB中的上载代码段CDSECa、CDSECb、CDSECc和CDSECd。
图7示出了根据本发明构思的实施例的数据存储设备的初始化操作和正常操作的图。
参考图1和图7,当数据存储设备3000加电时,存储控制器SCON可以向主机控制器HCON发送使用主机存储器缓冲器HMB的请求(S11)。在一些示例实施例中,主机控制器HCON可以识别存储控制器SCON并将标识符传递给存储控制器SCON,使得存储控制器SCON可以确定主机存储器缓冲器HMB是否可用。在该情况下,存储控制器SCON可以向主机控制器HCON通知是否使用主机存储器缓冲器HMB。在一些示例实施例中,存储控制器SCON可以识别主机控制器HCON并向主机控制器HCON发送关于主机存储器缓冲器HMB是否可用的询问。当存储控制器SCON向主机控制器HCON发送关于主机存储器缓冲器HMB的使用的通知或询问时,存储控制器SCON也可以向主机控制器HCON请求主机存储器缓冲器HMB的大小。
主机控制器HCON可以参考来自存储控制器SCON的请求来分配主机存储器缓冲器HMB(S12)。主机控制器HCON可以在分配主机存储器缓冲器HMB的大小之后向存储控制器SCON通知分配结果(S13)。例如,主机控制器HCON可以通过设置特征命令向存储控制器SCON通知分配结果。设置特征命令可以包括设置特征,诸如主机存储器缓冲器HMB的大小信息或关于主机存储器缓冲器HMB是否被激活的信息。设置特征可以被提供给存储控制器SCON和/或映射控制器MPCON。
映射控制器MPCON可以参考主机存储器缓冲器HMB的大小执行地址映射(S14),以确定执行代码EXCD和要存储执行代码EXCD的主机存储器缓冲器HMB的主机地址HMBAD之间的映射关系。映射关系可以存储在映射表MPT中。在来自存储控制器SCON的请求后,映射关系或主机地址HMBAD可以被提供给存储控制器SCON(S15)。存储控制器SCON可以基于来自映射控制器MPCON的主机地址HMBAD,来上载执行代码EXCD(S16)。在一些示例实施例中,如下面参考图8A、8B、9A和9B所述,执行代码EXCD可以包括多个代码段CDSEC1~CDSECN,且存储控制器SCON可以在数据存储设备3000的初始化操作期间或在完成初始化操作之后的正常操作期间,将多个代码段CDSEC1~CDSECN的一部分上载至主机存储器缓冲器HMB。
在完成初始化操作之后,可以执行正常操作。例如,主机控制器HCON可以向存储控制器SCON传递命令CMD和地址ADD(S17)。可以根据命令CMD和地址ADD来执行与非易失性存储器件NVM相关的写操作或读操作。
在正常操作期间,存储控制器SCON可以从主机存储器缓冲器HMB实时下载执行代码EXCD,好像代码EXCD接收自主机存储器缓冲器HMB,以执行从主机存储器缓冲器HMB(S18)下载的执行代码EXCD。存储控制器SCON可以基于从映射控制器MPCON提供的主机地址HMBAD来执行对执行代码EXCD的下载。
此外,如果要执行的代码段没有被加载在内部存储器IMEM和主机存储器缓冲器HMB中,则存储控制器SCON可以执行更新操作,以用多个代码段CDSEC1~CDSECN中的其他代码段替换存储在主机存储器缓冲器HMB中的上载代码段CDSECa、CDSECb、CDSECc和CDSECd。映射控制器MPCON根据更新操作执行地址重新映射(S21)并且存储控制器SCON从映射控制器MPCON接收用于更新操作的重新映射主机地址HMBAD(S22)。存储控制器SCON可以执行更新操作(S23),以通过基于重新映射的主机地址上载新的代码段来替换存储在主机存储器缓冲器HMB中的执行代码EXCD。
图8A和图8B示出了根据本发明构思的实施例的包括数据存储设备的系统的存储器存储状态的图。
图8A和图8B示出了存储在主机存储器缓冲器HMB中的上载代码段的至少一部分与存储在内部存储器IMEM中的代码段重叠的示例。
图8A表示与图6的存储器存储状态相对应的映射表MPT的映射信息S2,且图8B示出了在执行更新操作之后映射表MPT的映射信息S3。为了便于说明和描述,图8A和图8B示出了八个代码段(也就是说,第一至第八代码段CDSEC1~CDSEC8)的执行代码EXCD的示例,然而可以多样化地确定代码段的数量,使得可以包括任意数量的代码段。
参考图8A,映射控制器MPCON可以在映射表MPT中存储与多个代码段CDSEC1~CDSEC8中的被上载至主机存储器缓冲器HMB的上载代码段相关的主机地址。图8A示出了将代码段CDSEC1、CDSEC3、CDSEC5和CDSEC6分别上载至主机存储器缓冲器HMB的主机地址HMBADd、HMBADb、HMBADa和HMBADc的示例。
此外,映射控制器MPCON可以在映射表MPT中存储与多个代码段CDSEC1~CDSEC8中的存储在内部存储器IMEM中的代码段相关的内部地址。图8A示出了第六代码段CDSEC6被存储在内部存储器IMEM的内部地址IMADp处且第三代码段CDSEC3被存储在内部存储器IMEM的内部地址IMADq处的示例。
存储控制器SCON可以基于存储在映射表MPT中的映射信息S2来访问代码段。在一些示例实施例中,当要执行的代码段被存储在内部存储器IMEM中时,存储控制器SCON可以访问内部存储器IMEM。如果要执行的代码段没有被存储在内部存储器IMEM内,则存储控制器SCON可以基于映射信息S2来访问主机存储器缓冲器HMB中的代码段。当要执行的代码段没有被存储在内部存储器IMEM和主机存储器缓冲器HMB内时,存储控制器SCON可以执行对代码段的上述更新操作。
在一些示例实施例中,映射控制器MPCON可以在映射表MPT中存储优先级信息,其中优先级信息表示多个代码段CDSEC1~CDSEC8的访问重要性或访问频率。映射控制器MPCON可以基于优先级信息向存储控制器SCON提供上载代码段中具有最低优先级的上载代码段的地址。
在图8A中,随着优先级信息的值越小,优先级可以越高。换言之,在上载代码段CDSEC1、CDSEC3、CDSEC5和CDSEC6中,第五代码段CDSEC5具有最低优先级且第三代码段CDSEC3具有最高优先级。当要求上载新的代码段但是主机存储器缓冲器HMB的自由存储空间不足时,具有最低优先级的第五代码段CDSEC5可以由新的代码段替换。
图8B示出了在用第八代码段CDSEC8替换主机存储器缓冲器HMB中的第五代码段CDSEC5之后的映射表MPT的映射信息S3。如图8A和8B所示,在完成对代码段的更新操作之后,还可以更新优先级信息。图8A和图8B示出了最近上载的代码段具有较高优先级,但示例实施例不限于此。
图9A和图9B示出了根据本发明构思的其他实施例的包括数据存储设备的系统的存储器存储状态的图。
图9A和图9B示出了在主机存储器缓冲器HMB中的上载代码段不与内部存储器IMEM中的代码段重叠的示例。
图9A表示与图6的存储器存储状态相对应的映射表MPT的映射信息S4,且图9B示出了在执行更新操作之后映射表MPT的映射信息S5。为了便于说明和描述,图9A和图9B示出了八个代码段(也就是说,第一至第八代码段CDSEC1~CDSEC8)的执行代码EXCD的示例,然而可以多样化地确定代码段的数量,使得可以包括任意数量的代码段。
参考图9A,映射控制器MPCON可以在映射表MPT中存储与多个代码段CDSEC1~CDSEC8中的被上载至主机存储器缓冲器HMB的上载代码段相关的主机地址。图9A示出了将代码段CDSEC1、CDSEC3、CDSEC5和CDSEC8分别上载至主机存储器缓冲器HMB的主机地址HMBADd、HMBADb、HMBADa和HMBADc的示例。
此外,映射控制器MPCON可以在映射表MPT中存储与多个代码段CDSEC1~CDSEC8中的存储在内部存储器IMEM中的代码段相关的内部地址。图9A示出了第六代码段CDSEC6被存储在内部存储器IMEM的内部地址IMADp处的示例。
存储控制器SCON可以基于存储在映射表MPT中的映射信息S4来访问代码段。在一些示例实施例中,当要执行的代码段被存储在内部存储器IMEM中时,存储控制器SCON可以访问内部存储器IMEM。如果要执行的代码段没有被存储在内部存储器IMEM内,则存储控制器SCON可以基于映射信息S4来访问主机存储器缓冲器HMB中的代码段。当要执行的代码段没有被存储在内部存储器IMEM和主机存储器缓冲器HMB内时,存储控制器SCON可以执行对代码段的上述更新操作。
在一些示例实施例中,映射控制器MPCON可以在映射表MPT中存储优先级信息,其中优先级信息表示多个代码段CDSEC1~CDSEC8的访问重要性或访问频率。相较于图8A和8B,可以省略没有被上载至主机存储器缓冲器HMB的代码段的优先级信息,映射控制器MPCON可以基于优先级信息向存储控制器SCON提供上载代码段中具有最低优先级的上载代码段的地址。
在图9A中,随着优先级信息的值越小,优先级可以越高。换言之,在上载代码段CDSEC1、CDSEC3、CDSEC5和CDSEC8中,第五代码段CDSEC5具有最低优先级且第三代码段CDSEC3具有最高优先级。当要求上载新的代码段但是主机存储器缓冲器HMB的自由存储空间不足时,具有最低优先级的第五代码段CDSEC5可以由新的代码段替换。
图9B示出了在用第七代码段CDSEC7替换主机存储器缓冲器HMB中的第五代码段CDSEC5之后的映射表MPT的映射信息S5。如图9A和9B所示,在完成对代码段的更新操作之后,还可以更新优先级信息。图9A和图9B示出了最近上载的代码段具有较高优先级,但示例实施例不限于此。
图10示出了根据本发明构思的实施例的包括数据存储设备的系统的框图。
参考图10,系统1001包括主机设备2001和数据存储设备3001。主机设备2001包括主机控制器HCON和主机存储器HMEM。数据存储设备3001包括存储控制器SCON、存储存储器SMEM、映射控制器MPCON、安全引擎SCR和非易失性存储器件NVM。
除了安全引擎SCR之外,图10的系统1001基本上与图1的系统1000相同,下文省略图10中与图1相同的结构和功能的描述。
安全引擎SCR可以对从非易失性存储器件NVM提供的执行代码EXCD进行编码,以生成受保护的执行代码SEXCD。存储控制器SCON可以将受保护的执行代码SEXCD上载至主机存储器缓冲器HMB。
此外,安全引擎SCR可以对从主机存储器缓冲器HMB实时下载的受保护的执行代码SEXCD进行解码,以向存储控制器SCON提供执行代码EXCD。
在一些示例实施例中,编码可以对应于加密,且解码可以对应于解密。在一些示例实施例中,编码可以对应于随机化,且解码可以对应于去随机化。在一些示例实施例中,编码可以对应于加密和随机化,且解码可以对应于解密和去随机化。
由于系统被配置为支持将执行代码EXCD上载至主机存储器缓冲器HMB,执行代码EXCD可能暴露于攻击下。例如,当将执行代码EXCD上载至主机存储器缓冲器HMB时,主机设备2001和数据存储设备3001之间的通信可能被黑客检测,所述黑客可能接着试图攻击执行代码EXCD。此外,主机存储器缓冲器HMB可能在将执行代码EXCD上载至主机存储器缓冲器HMB之后受到攻击,且执行代码EXCD可能暴露于黑客。
如果暴露执行代码EXCD,则用于写操作、读操作和后台操作的数据存储设备3001的政策可能被暴露且数据存储设备3001的安全性可能降级。
安全引擎SCR可以被包括在数据存储设备3001中,以增强安全性并防止执行代码EXCD的暴露。
根据示例实施例的数据存储设备和操作该数据存储设备的方法可以通过对执行代码EXCD进行编码和将受保护的执行代码SEXCD上载至主机存储器缓冲器HMB,来增强数据存储设备3001和包括数据存储设备3001的系统1001的安全性。
图11示出了根据本发明构思的实施例的数据存储设备的初始化操作和正常操作的图。
参考图10和图11,当数据存储设备3001加电时,存储控制器SCON可以向主机控制器HCON发送使用主机存储器缓冲器HMB的请求(S31)。在一些示例实施例中,主机控制器HCON可以识别存储控制器SCON并将标识符传递给存储控制器SCON,使得存储控制器SCON可以确定主机存储器缓冲器HMB是否可用。在该情况下,存储控制器SCON可以向主机控制器HCON通知是否使用主机存储器缓冲器HMB。在一些示例实施例中,存储控制器SCON可以识别主机控制器HCON并向主机控制器HCON发送关于主机存储器缓冲器HMB是否可用的询问。当存储控制器SCON向主机控制器HCON发送关于主机存储器缓冲器HMB的使用的通知或请求时,存储控制器SCON也可以向主机控制器HCON请求主机存储器缓冲器HMB的大小。
主机控制器HCON可以参考来自存储控制器SCON的请求来分配主机存储器缓冲器HMB(S32)。主机控制器HCON可以在分配主机存储器缓冲器HMB的大小之后向存储控制器SCON通知分配结果(S33)。例如,主机控制器HCON可以通过设置特征命令向存储控制器SCON通知分配结果。设置特征命令可以包括设置特征,诸如主机存储器缓冲器HMB的大小信息或关于主机存储器缓冲器HMB是否被激活的信息。设置特征可以被提供给存储控制器SCON和/或映射控制器MPCON。
映射控制器MPCON可以参考主机存储器缓冲器HMB的大小执行地址映射(S34),以确定执行代码EXCD和要存储执行代码EXCD的主机存储器缓冲器HMB的主机地址HMBAD之间的映射关系。映射关系可以存储在映射表MPT中。在来自存储控制器SCON的请求后,映射关系或主机地址HMBAD可以被提供给存储控制器SCON(S35)。存储控制器SCON可以向安全引擎SCR提供执行代码EXCD(S36),且安全引擎SCR可以执行对执行代码EXCD的编码(S37)并向存储控制器SCON提供受保护的执行代码SEXCD。存储控制器SCON可以基于来自映射控制器MPCON的主机地址HMBAD来上载受保护的执行代码SEXCD(S39)。
在完成初始化操作之后,可以执行正常操作。例如,主机控制器HCON可以向存储控制器SCON传递命令CMD和地址ADD(S40)。可以根据命令CMD和地址ADD来执行与非易失性存储器件NVM相关的写操作或读操作。
在正常操作期间,存储控制器SCON可以从主机存储器缓冲器HMB实时下载受保护的执行代码SEXCD(S41),好像代码SEXCD接收自主机存储器缓冲器HMB,并且将受保护的执行代码SEXCD提供给安全引擎SCR(S42)。安全引擎SCR可以对受保护的执行代码SEXCD执行解码(S43),并将与受保护的执行代码SEXCD相对应的执行代码EXCD提供给存储控制器SCON(S44)。存储控制器SCON可以执行从安全引擎SCR提供的执行代码EXCD。
图12示出了包括在图10的数据存储设备中的安全引擎的框图。
参考图12,安全引擎510包括密钥寄存器KREG 511以及加密和解密单元ENC/DEC512。
密钥寄存器511可以存储安全密钥KY,并将安全密钥KY提供给加密和解密单元512。加密和解密单元512可以基于安全密钥KY对从非易失性存储器件NVM或存储控制器SCON提供的执行代码EXCD进行加密,以向主机存储器缓冲器HMB提供受保护的执行代码SEXCD。此外,加密和解密单元512可以对从主机存储器缓冲器HMB提供的受保护的执行代码SEXCD进行解密,以向存储控制器的非易失性存储器件NVM提供执行代码EXCD。
图13A示出了图12的安全引擎的加密操作的图。图13B示出了图12的安全引擎的解密操作的图。
参考图12和图13A,加密和解密单元512可以基于安全密钥KY而生成与执行代码EXCD相关的加密签名SGN,并将加密签名SGN组合在受保护的执行代码SEXCD中。例如,加密和解密单元512可以通过向执行代码EXCD 701应用哈希函数来计算哈希值702。在一些示例实施例中,加密和解密单元512可以通过使用未向公众公开的私人密钥KY来对哈希值702进行加密,生成加密签名SGN 703。加密签名703可以附接到执行代码EXCD 701,且包括加密签名SGN 703的执行代码EXCD 701可以被提供给主机存储器缓冲器HMB,作为受保护的执行代码SEXCD 704。
参考图12和图13B,加密和解密单元512可以对受保护的执行代码SEXCD中的加密(即,受保护的)签名SGN进行解码,以生成解密签名并基于解密签名提供执行代码EXCD。例如,加密和解密单元512可以从主机存储器缓冲器HMB接收包括受保护的签名SGN在内的受保护的执行代码SEXCD 801。如上所述,受保护的执行代码SEXCD 801可以包括执行代码EXCD 802和受保护的签名SGN 803。安全引擎SCR可以通过向执行代码EXCD 802应用哈希函数来计算哈希值804。安全引擎SCR可以使用私人密钥KY对受保护的签名SGN 803进行解密,并通过向经解密的受保护的签名SGN应用哈希函数来计算哈希值805。当执行代码EXCD 802的哈希值804与经解密的受保护的签名SGN的哈希值805相同时,安全引擎SCR可以验证受保护的执行代码SEXCD 801的块完整性。
图14和图15示出了图10的数据存储设备中所包括的安全引擎的框图。
参考图14,安全引擎520包括产生种子值SD的种子发生器SGEN 521以及随机化和去随机化单元RAN/DER 522。随机化和去随机化单元522可以基于种子值SD对从非易失性存储器件NVM或存储控制器SCON提供的执行代码EXCD进行随机化,以向主机存储器缓冲器HMB提供受保护的执行代码SEXCD。随机化和去随机化单元522还可以对从主机存储器缓冲器HMB提供的受保护的执行代码SEXCD进行去随机化,以向非易失性存储器件NVM或存储控制器SCON提供执行代码EXCD。
参考图15,安全引擎530包括参考图12、图13A和图13B描述的加密和解密单元531以及参考图14描述的随机化和去随机化单元532。
在一些示例实施例中,安全引擎530可以首先执行对执行代码EXCD的加密,以提供加密代码,然后执行对加密代码的随机化以提供受保护的执行代码SEXCD。在该情况下,安全引擎530可以首先执行对受保护的执行代码SEXCD的去随机化,然后执行对去随机化的代码的解密以提供执行代码EXCD。
在一些示例实施例中,安全引擎530可以首先执行对执行代码EXCD的随机化,以提供随机化代码,然后执行对随机化代码的加密以提供受保护的执行代码SEXCD。在该情况下,安全引擎530可以首先执行对受保护的执行代码SEXCD的解密,然后执行对经解密的代码的去随机化以提供执行代码EXCD。
图16示出了根据本发明构思的实施例的数据存储设备的掉电操作和加电操作的图。
参考图1和图16,存储控制器SCON可以从主机控制器HCON接收掉电信息PDINF(S51)。在接收到掉电信息PDIN之后,存储控制器SCON可以从映射控制器MPCON接收映射表MPT(S52)并将映射表MPT存储在非易失性存储器件NVM中(S53)。此后,存储控制器SCON可以执行针对掉电操作的其他处理(S54)。
这样,存储控制器SCON可以在数据存储设备3000进入掉电模式之前,将映射表MPT存储在非易失性存储器件NVM中。
在掉电模式下,存储控制器SCON可以从主机控制器HCON接收加电信息PUINF(S55)。在接收到加电信息PUINF之后,存储控制器SCON可以从非易失性存储器件NVM读出映射表MPT(S56)并将映射表MPT存储在映射控制器MPCON中(S57)。存储控制器SCON可以基于恢复的映射表MPT来访问执行代码EXCD,且存储控制器SCON可以执行针对加电操作的其他处理(S58)。
这样,当数据存储设备从掉电模式被唤醒时,存储控制器SCON可以加载存储在非易失性存储器件NVM中的映射表MPT,并基于映射表MPT下载存储在主机存储器缓冲器HMB中的执行代码EXCD。
在加电序列期间,可以省略将执行代码EXCD重新加载到主机存储器缓冲器HMB,以缩短加电过程,因此,可以增强数据存储设备的性能。
图17示出了根据本发明构思的实施例的包括数据存储设备的系统的框图。
参考图17,系统1000a包括主机设备2000和存储设备3000。例如,存储设备3000可以是嵌入式多媒体卡(eMMC)、固态驱动器(SSD)等。
主机设备2000可以被配置为控制数据处理操作,诸如,数据读操作和数据写操作。图17的系统1000a可以是任意电子系统。
主机设备2000包括经由总线20相连的处理器(CPU)2100、主机存储器(HMEM)2200和主机控制器接口(HCI)2300。主机存储器2200包括存储执行代码EXCD的主机存储器缓冲器HMB 2210。操作系统(OS)和/或主机固件(FW)2110可以是由处理器2100执行的。处理器2100可以包括用于控制以下项的硬件和/或软件:命令CMD的生成、对响应RES的分析、在存储设备3000的寄存器(例如,扩展(EXT)_CSD寄存器(未示出))中的数据的存储和/或数据处理。处理器2100可以执行操作系统和主机固件2110以执行这些操作。
主机控制器接口2300可以与存储设备3000交互。例如,主机控制器接口2300被配置为向存储设备3000发出命令CMD、从存储设备3000接收对命令CMD的响应RES、向存储设备3000发送写数据并从存储设备3000接收读数据。
存储设备3000可以包括多个非易失性存储器件(NVM)3100和存储控制器3200。
非易失性存储器件3100可以可选地被供应有外部高压VPP。存储控制器3200可以通过多个通道CH1到CHi连接到非易失性存储器件3100。存储控制器3200包括通过总线30相连的一个或多个处理器CPU 3210、映射控制器MPCON 3220、主机接口3230、存储存储器SMEM3240、非易失性存储器接口3250和安全引擎SCR 3260。
存储存储器3240可以存储用于操作存储控制器3200的数据。存储存储器3240可以是易失性存储器设备,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等。尽管图17示出了存储存储器3240被包括在存储控制器3200中的实施例,但是存储存储器3240不限于此。例如,存储存储器3240可以位于存储控制器3200的外部。
处理器3210被配置为控制存储控制器3200的整体操作。例如,处理器3210可以操作包括闪存转换层(FTL)的固件3212,且可以包括其他固件。FTL可以执行各种功能,例如,尤其是地址映射、读取校准、误差校正。
如上所述,安全引擎3260可以执行对执行代码EXCD的编码和对受保护的执行代码SEXCD的解码。尽管图17示出了安全引擎3260在主机接口3230外部,然而安全引擎3260可以被包括在主机接口3230中。
主机接口3230可以提供与诸如主机设备2000的外部设备的接口。非易失性存储器接口3250可以提供与非易失性存储器设备3100的接口。主机设备2000和存储设备3000可以经由总线10相连。
图18示出了包括在图17的数据存储设备中的非易失性存储器件的等效电路的电路图。
图18的存储器块BLKi可以以三维结构(例如,竖直结构)形成在衬底上。例如,包括在存储器块BLKi中的多个NAND串或单元串可以形成在垂直于衬底的上表面的第一方向D1上。
参考图18,存储器块BLKi可以包括耦接在位线BL1、BL2和BL3与公共源极线CSL之间的NAND串NS11至NS33。NAND串NS11至NS33中的每一个可以包括串选择晶体管SST、多个存储器单元MC1至MC8和地选择晶体管GST。在图18中,示出了NAND串NS11至NS33中的每一个包括八个存储器单元MC1至MC8。然而,示例实施例不限于此。在一些示例实施例中,NAND串NS11至NS33中的每一个可以包括任何数量的存储器单元。
每个串选择晶体管SST可以连接到对应的串选择线(SSL1至SSL3之一)。多个存储器单元MC1至MC8可以分别连接到对应的栅极线GTL1至GTL8。栅极线GTL1至GTL8可以是字线,且栅极线GTL1至GTL8中的一些可以是虚设字线。每个地选择晶体管GST可以连接到对应的地选择线(GSL1至GSL3之一)。每个串选择晶体管SST可以连接到对应的位线(例如,BL1、BL2和BL3之一),并且每个地选择晶体管GST可以连接到公共源极线CSL。
具有相同高度的字线(例如,WL1)可以共同连接,并且地选择线GSL1至GSL3和串选择线SSL1至SSL3可以分离。即使未示出,然而与中间开关线相对应的栅极线可以分离。在图18中,示出了存储器块BLKb耦接到八条栅极线GTL1至GTL8和三条位线BL1至BL3。然而,示例实施例不限于此。存储器单元阵列100中的每个存储器块可以耦接到任何数量的字线和任何数量的位线。
图19示出了根据本发明构思的实施例的移动设备的框图。
参考图19,移动设备4000包括应用处理器4100(包括一个或多个应用处理器)、通信模块4200、显示/触摸模块4300、数据存储设备4400和缓冲器RAM 4500。
应用处理器4100控制移动设备4000的操作。通信模块4200被实现用于执行与外部设备的无线或有线通信。显示/触摸模块4300被实现用于显示由应用处理器4100处理的数据和/或通过触摸面板(未示出)接收数据。数据存储设备4400被实现用于存储用户数据。
数据存储设备4400可以是嵌入式多媒体卡(eMMC)、固态驱动器(SSD)、通用闪速存储(UFS)设备等。如上所述,数据存储设备4400可以将执行代码EXCD上载至缓冲器RAM 4500中的主机存储器缓冲器HMB。
缓冲器RAM 4500临时存储用于处理移动设备4000的操作的数据。例如,缓冲器RAM4500可以是双倍数据速率(DDR)同步DRAM(SDRAM)、低功率DDR(LPDDR)SDRAM、图形DDR(GDDR)SDRAM、Rambus DRAM()等。
如上所述,根据示例实施例的数据存储设备和操作所述数据存储设备的方法可以通过将主机存储器缓冲器用作用于控制数据存储设备的操作的执行代码的储存设备,来提高访问执行代码的速度并增强数据存储设备的性能,即使数据存储设备内的内部随机可访问存储器可能是不足的。此外,根据示例实施例的数据存储设备和操作该数据存储设备的方法可以通过对执行代码进行编码和将受保护的执行代码上载至主机存储器缓冲器,来增强数据存储设备和包括数据存储设备的系统的安全性。
本发明构思可以应用于数据存储设备和包括数据存储设备的任何电子设备。例如,本发明构思可以应用于各种系统,诸如,存储卡、固态驱动器(SSD)、嵌入式多媒体卡(eMMC)、移动电话、智能电话、个人数字助手(PDA)、便携式多媒体播放器(PMP)、数字相机、录像机、个人计算机(PC)、伺服计算机、工作站、膝上型计算机、数字TV、机顶盒、便携式游戏机、导航系统、可穿戴设备、物联网(IoT)设备、万物网(IoE)设备、电子书、虚拟现实(VR)设备、增强现实(AR)设备等。
前述内容是对示例实施例的说明,而不应被解释为对其的限制。尽管已经描述了一些示例实施例,但本领域技术人员将容易地理解,可以在示例实施例中进行各种修改,而本质上不脱离本发明构思。
Claims (20)
1.一种数据存储设备,包括:
非易失性存储器件,配置为存储控制所述数据存储设备的操作的执行代码;
存储控制器,配置为在所述数据存储设备的初始化操作期间将来自所述非易失性存储器件的执行代码上载并存储至包括在外部主机设备中的主机存储器缓冲器,并且在所述数据存储设备的完成所述初始化操作之后的操作期间从所述主机存储器缓冲器实时下载执行代码并执行从所述主机存储器缓冲器下载的执行代码;以及
映射控制器,配置为管理映射表,所述映射表包括执行代码与存储所述执行代码的所述主机存储器缓冲器的主机地址之间的映射关系。
2.根据权利要求1所述的数据存储设备,其中,所述执行代码包括多个代码段,且所述映射控制器被配置为在所述映射表中存储所述多个代码段中的被上载至所述主机存储器缓冲器的上载代码段的主机地址。
3.根据权利要求2所述的数据存储设备,其中,所述存储控制器被配置为在所述数据存储设备的初始化操作期间向所述主机存储器缓冲器上载全部的所述多个代码段。
4.根据权利要求2所述的数据存储设备,其中,所述存储控制器被配置为在所述数据存储设备的初始化操作期间或在完成所述初始化操作之后的操作期间,向所述主机存储器缓冲器上载所述多个代码段的一部分。
5.根据权利要求4所述的数据存储设备,其中,所述存储控制器被配置为执行更新操作,以将存储在所述主机存储器缓冲器中的所述多个代码段中的上载部分替换为所述多个代码段中的其他代码段。
6.根据权利要求5所述的数据存储设备,其中,所述映射控制器被配置为在所述映射表中存储优先级信息,所述优先级信息表示所述多个代码段的访问重要性或访问频率。
7.根据权利要求6所述的数据存储设备,其中,所述映射控制器被配置为基于优先级信息,向存储控制器提供所述多个代码段的上载部分中具有最低优先级的上载代码段的地址,用于所述更新操作。
8.根据权利要求2所述的数据存储设备,还包括:作为随机存取存储器的内部存储器,
其中,所述存储控制器被配置为将所述多个代码段中的一部分从所述非易失性存储器件加载并存储至所述内部存储器。
9.根据权利要求8所述的数据存储设备,其中,所述映射控制器被配置为在所述映射表中存储所述多个代码段中的存储在所述内部存储器中的所述部分的内部地址。
10.根据权利要求8所述的数据存储设备,其中,存储在所述主机存储器缓冲器中的所述上载代码段的至少一部分与所述多个代码段中的存储在所述内部存储器中的所述部分重叠。
11.根据权利要求2所述的数据存储设备,还包括:
安全引擎,配置为对所述执行代码进行编码以生成受保护的执行代码,
其中,所述存储控制器被配置为将所述受保护的执行代码上载至所述主机存储器缓冲器。
12.根据权利要求11所述的数据存储设备,其中,所述安全引擎被配置为对从所述主机存储器缓冲器实时下载的所述受保护的执行代码进行解码,以向所述存储控制器提供所述执行代码。
13.根据权利要求11所述的数据存储设备,其中,所述安全引擎包括:
密钥寄存器,配置为存储安全密钥;以及
加密和解密单元,配置为基于所述安全密钥对所述执行代码进行加密以提供所述受保护的执行代码,并配置为对所述受保护的执行代码进行解密以提供所述执行代码。
14.根据权利要求13所述的数据存储设备,其中,所述加密和解密单元被配置为:基于所述安全密钥生成与所述执行代码相关的加密签名,并将所述加密签名组合在所述受保护的执行代码中。
15.根据权利要求14所述的数据存储设备,其中,所述加密和解密单元被配置为:对所述受保护的执行代码中的加密签名进行解密,以生成解密签名,并基于所述解密签名提供所述执行代码。
16.根据权利要求11所述的数据存储设备,其中,所述安全引擎包括:
种子生成器,配置为生成种子值;以及
随机化和去随机化单元,配置为基于所述种子值对所述执行代码进行随机化以提供所述受保护的执行代码,并配置为对所述受保护的执行代码进行去随机化以提供所述执行代码。
17.根据权利要求1所述的数据存储设备,其中,所述存储控制器被配置为在所述数据存储设备进入掉电模式之前将所述映射表存储在所述非易失性存储器件中。
18.根据权利要求17所述的数据存储设备,其中,所述存储控制器被配置为:当所述数据存储设备从所述掉电模式被唤醒时,加载存储在所述非易失性存储器件中的所述映射表,并基于所述映射表来下载存储在所述主机存储器缓冲器中的所述执行代码。
19.一种数据存储设备,包括:
非易失性存储器件,配置为存储控制所述数据存储设备的操作的执行代码;
安全引擎,配置为对所述执行代码进行编码以生成受保护的执行代码;
存储控制器,配置为将所述受保护的执行代码上载并存储至包括在外部主机设备中的主机存储器缓冲器,并从所述主机存储器缓冲器实时下载所述受保护的执行代码以向所述安全引擎提供所下载的受保护的执行代码;以及
映射控制器,配置为管理映射表,所述映射表包括执行代码与存储所述受保护的执行代码的所述主机存储器缓冲器的主机地址之间的映射关系,
其中,所述安全引擎还被配置为对所下载的受保护的执行代码进行解码以提供所述执行代码,以及
所述存储控制器还被配置为执行从所述安全引擎提供的所述执行代码。
20.一种操作数据存储设备的方法,包括:
由包括在所述数据存储设备中的存储控制器将执行代码从包括在所述数据存储设备中的非易失性存储器件上载并存储至包括在主机设备中的主机存储器缓冲器,其中所述执行代码控制所述数据存储设备的操作,所述上载和所述存储是在所述数据存储设备的初始化操作期间进行的;
由所述存储控制器从所述主机存储器缓冲器实时下载所述执行代码,并执行从所述主机存储器缓冲器下载的所述执行代码,所述下载是在所述数据存储设备的完成所述初始化操作之后的操作期间进行的;以及
由包括在所述数据存储设备中的映射控制器管理映射表,所述映射表包括执行代码与存储所述执行代码的所述主机存储器缓冲器的主机地址之间的映射关系。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0127154 | 2018-10-24 | ||
KR1020180127154A KR20200046264A (ko) | 2018-10-24 | 2018-10-24 | 호스트 메모리 버퍼를 이용하는 데이터 스토리지 장치 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111090388A CN111090388A (zh) | 2020-05-01 |
CN111090388B true CN111090388B (zh) | 2024-04-26 |
Family
ID=70325333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910977458.5A Active CN111090388B (zh) | 2018-10-24 | 2019-10-14 | 使用主机存储器缓冲器的数据存储设备及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10983722B2 (zh) |
KR (1) | KR20200046264A (zh) |
CN (1) | CN111090388B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102589402B1 (ko) * | 2018-10-04 | 2023-10-13 | 삼성전자주식회사 | 스토리지 디바이스 및 스토리지 디바이스의 동작 방법 |
KR20200121645A (ko) * | 2019-04-16 | 2020-10-26 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작 방법과 메모리 시스템 |
US11720261B2 (en) * | 2020-08-10 | 2023-08-08 | Micron Technology, Inc. | Transferring memory system data to a host system |
CN114461536A (zh) * | 2020-11-10 | 2022-05-10 | 瑞昱半导体股份有限公司 | 查找表建立及内存地址查询方法 |
US11494097B2 (en) * | 2020-12-07 | 2022-11-08 | Western Digital Technologies, Inc. | Fast initialization of secure HMB |
US20220229789A1 (en) * | 2021-01-21 | 2022-07-21 | Western Digital Technologies, Inc. | Host Memory Buffer (HMB) Abstraction Protocol Layer |
TWI800795B (zh) * | 2021-02-09 | 2023-05-01 | 宏碁股份有限公司 | 使用持續性記憶體的資料整理方法與記憶體儲存系統 |
US11720715B2 (en) | 2021-03-21 | 2023-08-08 | Western Digital Technologies, Inc. | Secure data storage device and method of encryption |
US11403011B1 (en) | 2021-04-05 | 2022-08-02 | Western Digital Technologies, Inc. | Host memory buffer allocation management |
US11526300B2 (en) * | 2021-04-21 | 2022-12-13 | Western Digital Technologies, Inc. | Fast write on Merkle Tree for secure HMB |
US11763041B2 (en) * | 2021-04-28 | 2023-09-19 | SK Hynix Inc. | Data storage device performing in-storage processing |
KR20230037240A (ko) * | 2021-09-09 | 2023-03-16 | 에스케이하이닉스 주식회사 | 호스트 장치, 메모리 컨트롤러 및 이를 포함하는 컴퓨팅 시스템 |
KR102588751B1 (ko) * | 2021-11-15 | 2023-10-16 | 삼성전자주식회사 | 스토리지 장치 및 이의 동작 방법 |
CN115079803B (zh) * | 2022-05-20 | 2024-03-29 | 上海瑞浦青创新能源有限公司 | 一种适用于微控制器的异常掉电数据保存装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051275A (zh) * | 2006-01-23 | 2007-10-10 | 奇梦达股份公司 | 新存储器体系结构中用直接存储器访问来系统引导的方法 |
US8423754B2 (en) * | 2009-04-09 | 2013-04-16 | Samsung Electronics Co., Ltd. | Computer system and method of booting the same |
CN105893271A (zh) * | 2015-02-13 | 2016-08-24 | 三星电子株式会社 | 用户设备、调制解调器芯片和分配缓冲器的方法 |
TWM548816U (zh) * | 2017-04-10 | 2017-09-11 | 宏碁股份有限公司 | 利用主控端記憶體緩衝器之儲存裝置 |
CN108073470A (zh) * | 2016-11-07 | 2018-05-25 | 三星电子株式会社 | 执行地址映射表的纠错的存储器系统及其控制方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020010817A1 (en) * | 1999-01-29 | 2002-01-24 | Han-Chung Yeh | Host signal processing modem with a signal processing accelerator |
US8954654B2 (en) | 2008-06-18 | 2015-02-10 | Super Talent Technology, Corp. | Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance |
US8447916B2 (en) * | 2010-02-17 | 2013-05-21 | Microsoft Corporation | Interfaces that facilitate solid state storage configuration |
US9575884B2 (en) | 2013-05-13 | 2017-02-21 | Qualcomm Incorporated | System and method for high performance and low cost flash translation layer |
US10268584B2 (en) | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
US10007433B2 (en) | 2015-01-21 | 2018-06-26 | Sandisk Technologies Llc | Systems and methods for performing adaptive host memory buffer caching of transition layer tables |
US10353893B2 (en) | 2015-05-14 | 2019-07-16 | Deephaven Data Labs Llc | Data partitioning and ordering |
US20170242606A1 (en) | 2016-02-19 | 2017-08-24 | Sandisk Technologies Llc | Methods and systems for transitioning to and from different storage device power states using host memory buffer (hmb) |
US10642496B2 (en) | 2016-04-01 | 2020-05-05 | Sandisk Technologies Inc. | Out of order read transfer with host memory buffer |
KR101923661B1 (ko) * | 2016-04-04 | 2018-11-29 | 주식회사 맴레이 | 플래시 기반 가속기 및 이를 포함하는 컴퓨팅 디바이스 |
US10157004B2 (en) | 2016-04-14 | 2018-12-18 | Sandisk Technologies Llc | Storage system and method for recovering data corrupted in a host memory buffer |
TWI679554B (zh) * | 2017-03-07 | 2019-12-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
-
2018
- 2018-10-24 KR KR1020180127154A patent/KR20200046264A/ko not_active Application Discontinuation
-
2019
- 2019-07-09 US US16/506,613 patent/US10983722B2/en active Active
- 2019-10-14 CN CN201910977458.5A patent/CN111090388B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051275A (zh) * | 2006-01-23 | 2007-10-10 | 奇梦达股份公司 | 新存储器体系结构中用直接存储器访问来系统引导的方法 |
US8423754B2 (en) * | 2009-04-09 | 2013-04-16 | Samsung Electronics Co., Ltd. | Computer system and method of booting the same |
CN105893271A (zh) * | 2015-02-13 | 2016-08-24 | 三星电子株式会社 | 用户设备、调制解调器芯片和分配缓冲器的方法 |
CN108073470A (zh) * | 2016-11-07 | 2018-05-25 | 三星电子株式会社 | 执行地址映射表的纠错的存储器系统及其控制方法 |
TWM548816U (zh) * | 2017-04-10 | 2017-09-11 | 宏碁股份有限公司 | 利用主控端記憶體緩衝器之儲存裝置 |
Non-Patent Citations (1)
Title |
---|
面向SSD/HDD混合存储的动态缓存调度算法DRC;刘秉煦;张文军;李小勇;;微型电脑应用(第04期);19-22 * |
Also Published As
Publication number | Publication date |
---|---|
US20200133566A1 (en) | 2020-04-30 |
KR20200046264A (ko) | 2020-05-07 |
CN111090388A (zh) | 2020-05-01 |
US10983722B2 (en) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090388B (zh) | 使用主机存储器缓冲器的数据存储设备及其操作方法 | |
US10866797B2 (en) | Data storage device and method for reducing firmware update time and data processing system including the device | |
US11150837B2 (en) | Method, device and system for processing sequential groups of buffered write data | |
US8656083B2 (en) | Frequency distributed flash memory allocation based on free page tables | |
US8886963B2 (en) | Secure relocation of encrypted files | |
US11237753B2 (en) | System including data storage device and method of controlling discard operation in the same | |
US11762572B2 (en) | Method of operating storage device and method of operating storage system using the same | |
US11461021B2 (en) | Computing system and operating method thereof | |
KR20190008643A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN114255813A (zh) | 存储装置、主机装置、包括两者的电子装置及其操作方法 | |
US10942678B2 (en) | Method of accessing data in storage device, method of managing data in storage device and storage device performing the same | |
US10466938B2 (en) | Non-volatile memory system using a plurality of mapping units and operating method thereof | |
KR20220020636A (ko) | 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 장치 및 상기 메모리 컨트롤러의 동작 방법 | |
US20230152993A1 (en) | Storage device | |
US11681638B2 (en) | Method of synchronizing time between host device and storage device and system performing the same | |
US11669470B2 (en) | Storage system with capacity scalability and method of operating the same | |
US20220206692A1 (en) | Memory system and memory system discard method | |
US11550906B2 (en) | Storage system with separated RPMB sub-systems and method of operating the same | |
CN114254402A (zh) | 数据存储装置及其操作方法 | |
CN109840214B (zh) | 数据存储装置及其操作方法 | |
US20140281160A1 (en) | Non-volatile semiconductor storage apparatus | |
US11782782B2 (en) | Memory system and data processing system | |
US20230143267A1 (en) | Method of allocating and protecting memory in computational storage device, computational storage device performing the same and method of operating storage system using the same | |
US11657000B2 (en) | Controller and memory system including the same | |
KR20190018908A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |