CN113721835A - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN113721835A CN113721835A CN202110207018.9A CN202110207018A CN113721835A CN 113721835 A CN113721835 A CN 113721835A CN 202110207018 A CN202110207018 A CN 202110207018A CN 113721835 A CN113721835 A CN 113721835A
- Authority
- CN
- China
- Prior art keywords
- memory
- boot partition
- data
- boot
- data storage
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
- 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
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/4408—Boot device selection
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供了一种数据存储装置及其操作方法。具有提高的响应速度的数据存储装置可以包括:缓冲存储器,被配置为保存数据;存储器装置,包括用户区域和启动分区区域,该用户区域被预留为存储来自主机的用户数据并被配置为通过第一过程访问,该启动分区区域被预留为存储启动分区数据并被配置为通过与第一过程不同的第二过程访问;以及存储器控制器,联接到缓冲存储器和存储器装置并且与缓冲存储器和存储器装置通信,并且被配置为在接收到来自电源的电力时,控制缓冲存储器和存储器装置在接收到来自主机的请求之前,通过将来自启动分区区域的启动分区数据的一部分存储在缓冲存储器中来执行预加载操作。
Description
相关申请的交叉引用
本专利文件要求于2020年5月21日提交的、申请号为10-2020-0061135的韩国专利申请的优先权和权益,该韩国专利申请通过引用整体并入本文。
技术领域
所公开技术的实施例总体上涉及一种电子装置,并且更特别地,涉及一种数据存储装置以及操作该数据存储装置的方法。
背景技术
数据存储装置用于在诸如计算机或智能电话的主机装置的控制下临时或永久地存储数据。数据存储装置可以包括用于存储数据的存储器装置或存储器介质以及管理将数据流进存储器装置和从存储器装置流出数据的存储器控制器。
根据在没有电力的情况下是否可以保留数据,存储器装置可以被分类为易失性存储器装置和非易失性存储器装置。易失性存储器装置仅在装置通电时保留其数据,而在断电时丢失其数据。易失性存储器装置的示例可以包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。
非易失性存储器装置即使在没有电力供应的情况下,也可以保留所存储的数据,因此在断电时也不会丢失其数据。非易失性存储器装置的示例可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)和闪速存储器。
发明内容
所公开技术的实施例涉及一种具有提高的响应速度的数据存储装置以及操作该数据存储装置的方法。
所公开技术的实施例可以提供一种数据存储装置。该数据存储装置可以包括:缓冲存储器,被配置为保存数据;存储器装置,包括用户区域和启动分区区域,该用户区域被预留为存储来自主机的用户数据并被配置为通过第一过程访问,该启动分区区域被预留为存储启动分区数据并被配置为通过与第一过程不同的第二过程访问;以及存储器控制器,联接到缓冲存储器和存储器装置并且与缓冲存储器和存储器装置通信,并且被配置为在接收到来自电源的电力时,控制缓冲存储器和存储器装置在接收到来自主机的请求之前,通过将来自启动分区区域的启动分区数据的一部分存储在缓冲存储器中来执行预加载操作。
所公开技术的实施例可以提供一种用于在主机的控制下控制存储器装置的存储器控制器。该存储器控制器可以包括:缓冲存储器,被配置为保存数据;以及启动分区管理器,联接到缓冲存储器和存储器装置并且与缓冲存储器和存储器装置通信,并且被配置为在接收到来自电源的电力时,控制缓冲存储器和存储器装置在接收到来自主机的请求之前,通过将来自存储器装置中包括的启动分区区域的启动分区数据的一部分存储在缓冲存储器中来执行预加载操作。
附图说明
图1是示出基于所公开技术的实施例的数据存储装置的示图。
图2是示出保存主机的文件的启动分区的示例的示图。
图3是示出将文件(例如,启动分区数据)提供到主机的启动分区的示例的示图。
图4是示出基于所公开技术的实施例实施的数据存储装置的示例的框图。
图5是示出图4的启动分区状态寄存器中存储的启动分区状态信息的示例的示图。
图6是示出基于所公开技术的实施例的操作数据存储装置的方法的流程图。
图7是示出图1的存储器装置的示例的示图。
图8是示出图7所示的存储块中的一个存储块的示例性阵列的示图。
图9是示出图1的存储器控制器的示例的示图。
图10是示出包括基于所公开技术的实施例实施的数据存储装置的存储卡系统的框图。
图11是示出包括基于所公开技术的实施例实施的数据存储装置的固态驱动器(SSD)系统的框图。
图12是示出包括基于所公开技术的实施例实施的数据存储装置的用户系统的框图。
具体实施方式
本专利文件中公开的技术可以在一些实施例中实施,以提供数据存储装置及其操作方法,该数据存储装置及其操作方法除了其它特征和优点之外,还可以提高与启动分区相关联的操作的响应速度。
图1是示出基于所公开技术的实施例的数据存储装置的示图。
参照图1,数据存储装置50可以包括存储器装置100和控制存储器装置100的操作的存储器控制器200。数据存储装置50可以是在诸如以下的主机400的控制下存储数据的装置:移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
数据存储装置50可以以各种类型的、与和主机400通信的主机接口兼容的数据存储装置中的任意一种来实施。数据存储装置50的示例可以包括:固态驱动器(SSD),诸如MMC、嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)或微型MMC的多媒体卡,诸如SD、迷你SD和微型SD的安全数字卡,通用串行总线(USB)数据存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡类型数据存储装置,外围组件互连(PCI)卡类型数据存储装置,高速PCI(PCI-E)卡类型数据存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
数据存储装置50的封装类型可以包括堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以响应于存储器控制器200的命令和指令进行操作以存储数据。存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列包括被配置为存储数据的多个存储器单元。
存储器单元中的每一个可以被实施或操作为能够每单元存储一个数据位的单层单元(SLC)、能够每单元存储两个数据位的多层单元(MLC)、能够每单元存储三个数据位的三层单元(TLC)或者能够每单元存储四个数据位的四层单元(QLC)。
存储器单元阵列(未示出)可以包括多个存储块。每个存储块可以包括多个页面,每个页面包括多个存储器单元。在一些实施方案中,存储块可以是可被擦除的最小单位,并且页面可以是可被编程(或写入)或读取的最小单位。
在实施例中,存储器装置100可以采用许多替代形式,诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功耗双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功耗DDR(LPDDR)SDRAM、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式RAM(RRAM)、相变存储器(PRAM)、磁阻RAM(MRAM)、铁电RAM(FRAM)或自旋转移力矩RAM(STT-RAM)。例如,存储器装置100可以是NAND闪速存储器。
存储器控制器200可以通过提供与存储器单元阵列中的期望存储器区域相对应的命令CMD和地址ADDR来访问存储器装置100。存储器装置100可以对由地址ADDR选择的区域执行如命令CMD所指示的操作。例如,存储器装置100可以执行写入操作(即,编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据写入由地址ADDR选择的存储器区域。在读取操作期间,存储器装置100可以从由地址ADDR选择的区域读取数据。在擦除操作期间,存储器装置100可以擦除由地址ADDR选择的特定存储器区域(例如,所选择的块)。
存储器控制器200可以控制数据存储装置50的全部操作。
在数据存储装置50的启动(power up)过程中,存储器控制器200可以运行固件(FW)来对数据存储装置50中的存储器装置100进行使用。当存储器装置100为闪速存储器装置时,固件(FW)可以包括控制与主机400的通信的主机接口层(HIL)、控制主机400与存储器装置100之间的通信的闪存转换层(FTL)以及控制与存储器装置100的通信的闪存接口层(FIL)。
在实施例中,存储器控制器200可以从主机400接收数据和逻辑块地址(LBA),并且可以将逻辑块地址(LBA)转换为指示存储器装置100中的存储器单元的物理位置的物理块地址(PBA)。在本专利文件的上下文中,术语“逻辑块地址(LBA)”和“逻辑地址”可以用于指示由存储器装置内部或外部的控制器生成的、待映射到待写入或读取数据的实际位置的地址,并且术语“物理块地址(PBA)”和“物理地址”可以用于指示该实际位置。
存储器控制器200可以响应于从主机400接收到的请求而控制存储器装置100,以便执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以将写入命令、物理块地址(PBA)和数据提供到存储器装置100。在读取操作期间,存储器控制器200可以将读取命令和物理块地址(PBA)提供到存储器装置100。在擦除操作期间,存储器控制器200可以将擦除命令和物理块地址(PBA)提供到存储器装置100。
在实施例中,存储器控制器200可以自主地生成命令、地址和数据,而不管来自主机400的请求,并且可以将该命令、地址和数据传输到存储器装置100。例如,存储器控制器200可以向存储器装置100提供命令、地址和数据,以执行FTL算法中所涉及的读取操作和编程操作,诸如损耗均衡、读取回收和垃圾收集。
在实施例中,存储器控制器200可以控制同时操作的至少两个存储器装置100。在这种情况下,存储器控制器200可以利用交错方案,以通过并行处理针对两个或更多个存储器装置100的存储器请求来提高操作性能。
缓冲存储器300可以临时存储从主机400提供的数据或从存储器装置100读取的数据。在缓冲存储器300为易失性存储器装置的实施例中,缓冲存储器300可以为动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
在实施例中,存储器控制器200可以将从存储器装置100读取的系统数据存储在缓冲存储器300中。例如,在数据存储装置50的启动过程或初始配置过程期间,存储器控制器200可以将存储在存储器装置100中的系统数据加载到缓冲存储器300中。系统数据可以包括控制数据存储装置50所需的设置信息。例如,系统数据可以包含存储器控制器200的固件数据。作为另一示例,系统数据可以包括存储器装置100中包括的多个存储块之中的、与坏块相关联的坏块数据。在实施例中,系统数据可以包含映射数据(例如,用于定义地址的映射的查找表)以及有效页面表数据,该映射数据指示由主机400提供的逻辑地址与存储器装置100中包括的存储器单元的物理地址之间的映射,该有效页面表数据指示存储器装置100中包括的页面中存储的数据是否为有效数据。在实施例中,系统数据可以包含读取计数数据,该读取计数数据指示已经对存储器装置100中包括的存储块执行了多少次读取操作。系统数据还可以包括编程/擦除周期数据(例如,P/E周期),该编程/擦除周期数据指示已经对存储器装置100中包括的存储块执行了多少次擦除操作。系统数据还可以包括热/冷数据指示符以及日志数据,该热/冷数据指示符关于在存储器装置100中包括的页面中存储的数据是热数据还是冷数据,该日志数据指示映射数据中变化的内容。
图1示出了缓冲存储器300位于存储器控制器200的外部的一种实施方案。可选地,在各个实施例中,缓冲存储器300可以包括在存储器控制器200中并且作为存储器控制器200的一部分。
在实施例中,当数据存储装置50存储主机400的操作系统(OS)时,操作系统(OS)可以是存储在用户区域中的用户数据,而不是系统数据。在这种情况下,在启动操作期间,主机400可以读取存储在数据存储装置50中的OS,并且可以使用关于所读取的OS的数据进行启动。
在所公开技术的实施例中,数据存储装置50可以支持启动分区功能。启动分区功能可以包括提供在主机400的ROM上运行的启动加载器。启动分区可以是在无需初始化存储器控制器200的队列的情况下,可以由主机访问的区域。在实施例中,存储在启动分区(Bootpartition)101中的启动分区数据可以被表征为系统数据。
启动分区101可以被分配到存储器装置100中包括的一些存储块。
可以响应于与用于访问存储器装置100中包括的其它常规存储块(例如,用户区域中包括的存储块)的命令不同的特殊命令来访问启动分区101。也就是说,主机400可以使用用于访问启动分区101的专用命令来访问启动分区101。
在实施例中,主机400可以将与默认操作系统(OS)不同的OS(即,辅助OS)或用于调试模式的启动加载器存储在启动分区101中,并且如果有必要,可以加载所存储的OS或启动加载器。也就是说,存储在启动分区101中的数据可以提供用于使得主机400在除了默认操作系统(OS)的启动环境以外的启动环境中启动的方法。
在实施例中,为了使启动加载器启动,可以使用用于访问启动分区的专用命令。在一些实施方案中,启动分区可以使得主机仅使用存储在启动分区中的数据进行启动,而无需将启动映像从数据存储装置写入另外的存储区域。
存储器控制器200可以包括启动分区管理器210。启动分区管理器210可以将数据存储在启动分区101中,或者将存储在启动分区101中的数据提供到主机400。启动分区管理器210可以响应于来自主机400的请求而访问启动分区101。
在所公开技术的实施例中,启动分区管理器210可以从启动分区101读取启动分区数据,并且即使未从主机400接收到请求,当向数据存储装置50供应电力时,也将所读取的启动分区数据存储在缓冲存储器300中。在一些实施方案中,启动分区管理器210可以控制启动分区101和缓冲存储器300,以便在接收到来自主机400的请求之前,预加载存储在启动分区101中的启动分区数据。在本专利文件的上下文中,术语“预加载”可以用于指示在接收到触发相应软件的指令或请求之前,加载了软件或开始加载软件。
主机400可以使用诸如以下的各种通信方法中的至少一种与数据存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)通信方法。
图2是示出保存主机的文件的启动分区的示例的示图。
参照图1和图2,可以存在多个启动分区,并且图1所示的数据存储装置50可以包括两个或更多个启动分区。此处,启动分区可以具有相同大小的数据存储空间。例如,一个启动分区的大小可以为32MB。在实施例中,一个启动分区的大小可以小于存储器装置100中包括的一个存储块的大小。因此,一个存储块可以包括多个启动分区。在各个实施例中,启动分区可以具有不同大小的数据存储空间。
在图2中,假设数据存储装置50包括第一启动分区Bootpartition 1(0h)101_1和第二启动分区Bootpartition 2(1h)101_2。
主机400可以响应于专用命令而将数据存储在启动分区中。例如,主机400可以响应于固件映像下载命令和固件提交命令而将数据存储在启动分区中。在各个实施例中,仅当通过使用授权密钥或认证密钥授权了访问或者认证了主机时,才可以访问启动分区。
主机400可以发出固件映像下载命令,以将待存储在每个启动分区中的启动分区数据提供到存储器控制器200。在实施例中,待由主机400提供到启动分区管理器210的启动分区数据可以包括多个部分。因此,用于指定各个部分的偏移可以包括在固件映像下载命令中。主机400可以提供待存储在每个启动分区中的启动分区数据。在实施例中,主机400和启动分区管理器210可以认证对启动分区的访问并且将启动分区设置为解锁状态,以便将数据存储在相应的启动分区中。
此后,主机400可以通过提供固件提交命令,来指示所提供的启动分区数据以替换存储在启动分区中的现有内容。在实施例中,固件提交命令可以包括关于待被替换的启动分区的标识符(ID)的信息。当启动分区管理器210利用所提供的启动分区数据来替换启动分区中的现有内容时,主机400可以将包括待设置为激活状态的启动分区的ID的固件提交命令提供到启动分区管理器210。
图3是示出包括将启动分区数据提供到主机的启动分区操作或过程的示例的示图。
参照图1和图3,主机400可以包括控制数据存储装置50的数据存储装置控制器410以及主机存储器420。主机存储器420可以是易失性存储器装置。例如,主机存储器420可以是动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
数据存储装置控制器410可以将启动分区存储器缓冲器分配到主机存储器420的内部,并且可以控制启动分区管理器210,使得启动分区管理器210复制存储在每个启动分区中的数据。数据存储装置控制器410可以生成所分配的启动分区存储器缓冲器的地址、待被读取数据的启动分区的ID、读取大小和读取偏移。此后,数据存储装置控制器410可以将读取请求提供到启动分区管理器210。
启动分区管理器210可以从主机请求的启动分区读取数据,并且可以将所读取的启动分区数据提供到主机存储器420。
图4是示出基于所公开技术的实施例实施的数据存储装置的示例的框图。
在一些实施方案中,数据存储装置50可以包括启动分区管理器210、启动分区101和缓冲存储器300。
启动分区管理器210可以包括启动分区控制器211、启动分区预加载器212和启动分区状态寄存器213。
在所公开技术的一些实施例中,以上参照图2描述的方法可以在存储装置50中实施,使得主机400可以将启动分区数据存储在启动分区101中。在实施例中,启动分区数据可以是与主机400的默认操作系统(OS)不同的OS(例如,辅助OS),或者是用于调试模式的启动加载器。在实施例中,启动分区数据可以包括与启动主机400无关的数据。在这种情况下,启动分区数据可以包括待由主机400响应于专用命令而写入或读取的数据。
通过将启动分区数据存储在启动分区101中,可以无需在随后的启动过程中加载默认OS的情况下,主机400就可以从启动分区101加载启动分区数据。
在所公开技术的实施例中,在从主机400接收对启动分区数据的读取请求之前,存储器控制器200可以执行预加载操作,以从启动分区读取数据并且将所读取的数据存储到缓冲存储器300。此后,当从主机400接收到对启动分区数据的读取请求时,存储器控制器200可以将启动分区数据从缓冲存储器300提供到主机400。通过预先将数据存储在缓冲存储器300中,主机400可以节省将数据从启动分区读取到缓冲存储器300所花费的时间。
在一些实施方案中,启动分区控制器211可以响应于来自主机的请求,将数据存储到启动分区101或者从启动分区101读取数据,以将所读取的数据提供到主机400。
当存储在启动分区101中的数据发生变化时,启动分区控制器211可以更新存储在启动分区状态寄存器213中的启动分区状态信息。在实施例中,启动分区状态信息可以包括启动分区ID、指示存储在启动分区中的数据是否被激活的激活信息、启动分区数据的安全相关信息以及启动分区更新信息中的至少一种。
启动分区控制器211可以周期性地或随机地将启动分区状态信息从启动分区寄存器213存储到存储器装置100中包括的系统块。
当向数据存储装置50供应电力时,启动分区预加载器212可以从存储器装置100中包括的系统块读取启动分区状态信息,并且可以将所读取的启动分区状态信息存储在启动分区状态寄存器213中。
启动分区预加载器212可以基于启动分区状态信息来确定是否存在预存储的启动分区数据。在确定存在预存储的启动分区数据时,启动分区预加载器212可以向存储器装置100提供读取命令,以请求存储器装置100读取相应的启动分区数据的一部分。也就是说,启动分区预加载器212可以将启动分区数据的一部分预加载到缓冲存储器300中。
此后,当从主机400接收到对启动分区数据的读取请求时,启动分区预加载器212可以将预加载的启动分区数据提供到主机400。
在实施例中,当存在两个或更多个启动分区时,启动分区预加载器212可以预加载最近存储的启动分区数据。
图5是示出存储在图4的启动分区状态寄存器中的启动分区状态信息的示例的示图。
在一些实施方案中,启动分区状态信息可以包括启动分区ID、指示存储在启动分区中的数据是否被激活的激活信息、启动分区数据的安全相关信息以及启动分区更新信息中的至少一种。
启动分区ID可以包括用于标识多个启动分区之中的每个启动分区的标识编号。激活信息可以指示在主机400被断电之前,主机400是否已经预存储了启动分区数据。处于激活状态的激活信息可以指示已经正常存储了部分或全部启动分区数据。
因此,以上参照图4描述的启动分区预加载器212可以预加载处于激活状态下的启动分区数据。
安全相关信息可以是指示关于是否可以存储或更新启动分区数据的状态的信息。主机400可以在存储启动分区数据之前,通过认证将启动分区的安全相关信息设置为解锁状态,可以将启动分区数据存储在相应的启动分区中,然后可以通过认证将启动分区的安全相关信息设置为锁定状态。
在存在多个启动分区数据组的一些实施方案中,更新信息可以包括指示多个启动分区数据组之中的、最近存储的启动分区数据组的信息。当两个或更多个启动分区数据组处于激活状态时,启动分区预加载器可以基于更新信息来确定待被预加载的多个启动分区数据组中的一个或多个启动分区数据组。
图6是示出基于所公开技术的实施例的操作数据存储装置的方法的流程图。
参照图6,在步骤S601处,可以向数据存储装置供应电力。
在步骤S603处,数据存储装置可以从系统块读取启动分区状态信息,并且可以将启动分区状态信息存储在启动分区状态寄存器中。
在步骤S605处,数据存储装置可以基于启动分区状态信息来确定是否存在预存储的启动分区数据。当在步骤S605处确定存在预存储的启动分区数据时,进程可以进行到步骤S607,否则可以终止预加载操作。
在步骤S607处,数据存储装置可以执行以下预加载操作:读取存储在相应的启动分区中的数据的一部分并将所读取的数据存储在缓冲存储器中。
根据在步骤S609处是否已经从主机接收到启动分区读取请求,数据存储装置可以进行到将预加载的启动分区数据提供到主机的步骤S611,或者可以终止预加载操作。
尽管在附图中未示出,但是在实施例中,由于在步骤S611处将预加载的启动分区数据提供到主机时,可以读取待随后提供的启动分区数据,所以减少了提供随后的启动分区数据所花费的时间。
图7是示出图1的存储器装置的示例的示图。
参照图7,存储器装置100可以包括存储器单元阵列110、电压生成器120、地址解码器130、输入/输出(I/O)电路140和控制逻辑150。
存储器单元阵列110包括多个存储块BLK1至BLKi。多个存储块BLK1至BLKi可以通过行线RL联接到地址解码器130。多个存储块BLK1至BLKi可以通过列线CL联接到输入/输出电路140。在实施例中,行线RL可以包括字线、源极选择线和漏极选择线。在实施例中,列线CL可以包括位线。
存储块BLK1至BLKi中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中的、联接到相同字线的存储器单元可以被定义为一个物理页面。也就是说,存储器单元阵列110可以包括多个物理页面。存储器装置100中的存储器单元中的每一个可以被实施为能够存储一个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)。
在实施例中,电压生成器120、地址解码器130和输入/输出电路140可以被统称为外围电路。外围电路可以在控制逻辑150的控制下驱动存储器单元阵列110。外围电路可以驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。
电压生成器120可以使用被供应到存储器装置100的外部电源电压来生成多个操作电压Vop。电压生成器120可以在控制逻辑150的控制下进行操作。
在实施例中,电压生成器120可以通过调节外部电源电压来生成内部电源电压。将由电压生成器120生成的内部电源电压用作存储器装置100的操作电压。
在实施例中,电压生成器120可以使用外部电源电压或内部电源电压来生成多个操作电压。电压生成器120可以生成存储器装置100所需的各种电压。例如,电压生成器120可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
电压生成器120可以包括用于接收内部电源电压的多个泵浦电容器,以便生成具有各种电压电平的多个操作电压,并且可以在控制逻辑150的控制下,通过选择性地启用多个泵浦电容器来生成多个操作电压。
所生成的操作电压可以通过地址解码器130而供应到存储器单元阵列110。
地址解码器130通过行线RL联接到存储器单元阵列110。地址解码器130可以在控制逻辑150的控制下进行操作。地址解码器130从控制逻辑150接收地址ADDR。地址解码器130可以对接收到的地址ADDR之中的块地址进行解码。地址解码器130可以根据经解码的块地址来选择存储块BLK1至BLKi中的至少一个。地址解码器130可以对接收到的地址ADDR之中的行地址进行解码。地址解码器130可以根据经解码的行地址来选择所选择的存储块的字线中的至少一个。在实施例中,地址解码器130可以对接收到的地址ADDR之中的列地址进行解码。地址解码器130可以根据经解码的列地址,将输入/输出电路140联接到存储器单元阵列110。
在所公开技术的一些实施例中,在读取操作期间,地址解码器130可以将读取电压施加到所选择的字线,并且将电平高于读取电压的电平的读取通过电压施加到未选择的字线。
在实施例中,地址解码器130可以包括诸如行解码器、列解码器和地址缓冲器的组件。
输入/输出(I/O)电路140可以包括多个页面缓冲器。多个页面缓冲器可以通过位线而联接到存储器单元阵列110。在编程操作期间,可以基于存储在多个页面缓冲器中的数据,将数据存储在所选择的存储器单元中。
在读取操作期间,可以通过位线来感测存储在所选择的存储器单元中的数据,并且可以将所感测的数据存储在页面缓冲器中。
控制逻辑150可以控制地址解码器130、电压生成器120和输入/输出电路140。控制逻辑150可以响应于从外部装置传送的命令CMD来进行操作。控制逻辑150可以响应于命令CMD和地址ADDR,通过生成各种类型的信号来控制外围电路。
图8是示出图7所示的存储块中的一个存储块的示例性阵列的示图。
存储块BLKi表示图7的存储块BLK1至BLKi之中的任意一个存储块BLKi。
参照图8,彼此平行布置的多个字线可以联接在第一选择线和第二选择线之间。此处,第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。详细地,存储块BLKi可以包括联接在位线BL1至BLn与源极线SL之间的多个串ST。位线BL1至BLn可以分别联接到串ST,并且源极线SL可以共同联接到串ST。串ST可以被等同地配置,因此将通过示例的方式详细描述联接到第一位线BL1的串ST。
串ST可以包括源极选择晶体管SST、多个存储器单元MC1至MC16和漏极选择晶体管DST,它们在源极线SL和第一位线BL1之间彼此串联联接。单个串ST可以包括至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST,并且可以包括比附图中所示的存储器单元MC1至MC16更多的存储器单元。
源极选择晶体管SST的源极可以联接到源极线SL,漏极选择晶体管DST的漏极可以联接到第一位线BL1。存储器单元MC1至MC16可以在源极选择晶体管SST和漏极选择晶体管DST之间串联联接。不同串ST中包括的源极选择晶体管SST的栅极可以联接到源极选择线SSL,不同串ST中包括的漏极选择晶体管DST的栅极可以联接到漏极选择线DSL,并且存储器单元MC1至MC16的栅极可以分别联接到多个字线WL1至WL16。不同串ST中包括的存储器单元之中的、联接到相同字线的一组存储器单元可以被称为物理页面(PG)。因此,存储块BLKi可以包括与字线WL1至WL16的数量相对应的数量的物理页面(PG)。
单层单元(SLC)被配置为每单元存储一位数据。在这种情况下,一个物理页面(PG)可以被映射到一个逻辑页面(LPG)。存储在一个逻辑页面(LPG)中的数据可以包括与一个物理页面(PG)中包括的单元的数量相对应的数量的数据位。
在一些实施方案中,存储器单元可以被配置为使得一个存储器单元可以存储两位或更多位的数据。在这种情况下,一个物理页面(PG)可以被映射到两个或更多个逻辑页面(LPG)。
图9是示出图1的存储器控制器的示例的示图。
参照图1和图9,存储器控制器200可以包括处理器210、RAM 220、错误校正电路(ECC)230、ROM 260、主机接口270和闪存接口280。
处理器210可以控制存储器控制器200的全部操作。RAM 220可以用作存储器控制器200的缓冲存储器、高速缓存存储器或工作存储器。在示例中,以上参照图1描述的缓冲存储器300可以是RAM 220,并且可以是例如SRAM。
ROM 260可以以固件的形式存储存储器控制器200的操作所需的各种类型的信息。在实施例中,以上参照图1描述的启动分区管理器210可以是存储在ROM中的固件。
存储器控制器200可以通过主机接口270与外部装置(例如,主机400、应用处理器等)通信。
存储器控制器200可以通过闪存接口280与存储器装置100通信。存储器控制器200可以通过闪存接口280来将命令CMD、地址ADDR、控制信号CTRL等传输到存储器装置100并且从存储器装置100接收数据DATA。在示例中,闪存接口280可以包括NAND接口。
图10是示出包括基于所公开技术的实施例实施的数据存储装置的存储卡系统的框图。
参照图10,存储卡系统2000可以包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以提供存储器装置2200和主机之间的接口。存储器控制器2100可以运行用于控制存储器装置2200的固件。存储器控制器2100可以以与参照图1描述的存储器控制器200相同的方式来实施。
在实施例中,存储器控制器2100可以包括诸如RAM、处理器、主机接口、存储器接口和ECC电路的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以基于特定的通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可以通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和高速非易失性存储器(NVMe)协议。在实施例中,连接器2300可以通过上述各种通信协议中的至少一种来定义。
在实施例中,存储器装置2200可以被实施为诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)、自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中,以配置存储卡。例如,存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中,以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会:PCMCIA)、紧凑型闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
图11是示出包括基于所公开技术的实施例实施的数据存储装置的固态驱动器(SSD)系统的框图。
参照图11,SSD系统3000可以包括主机3100和SSD 3200。SSD 3200可以通过信号连接器3001与主机3100交换信号SIG,并且可以通过电源连接器3002接收电力PWR。SSD 3200可以包括SSD控制器3210、多个非易失性存储器3221至322n、辅助电源3230和缓冲存储器3240。
根据所公开技术的实施例,SSD控制器3210可以执行以上参照图1描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收到的信号SIG而控制多个非易失性存储器3221至322n。在实施例中,信号SIG可以是基于主机3100和SSD 3200的接口的信号。例如,信号SIG可以是通过诸如以下的各种接口中的至少一种来定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和高速非易失性存储器(NVMe)接口。
辅助电源3230可以通过电源连接器3002联接到主机3100。可以从主机3100向辅助电源3230供应电力PWR并对其充电。当来自主机3100的电力供应没有平稳地执行时,辅助电源3230可以供应SSD 3200的电力。在实施例中,辅助电源3230可以位于SSD 3200内部或位于SSD 3200外部。例如,辅助电源3230可以被设置在主板中并且可以向SSD 3200供应辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个非易失性存储器3221至322n接收的数据,或者可以临时存储非易失性存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图12是示出包括基于所公开技术的实施例实施的数据存储装置的用户系统的框图。
参照图12,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以运行用户系统4000中包括的组件、操作系统(OS)或用户程序。在实施例中,应用处理器4100可以包括用于控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性RAM,或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。在实施例中,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)进行封装,然后可以被设置为单个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙或Wi-Fi通信的无线通信。在实施例中,网络模块4300可以被包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储在存储模块4400中的数据传输到应用处理器4100。在实施例中,存储模块4400可以被实施为诸如以下的非易失性半导体存储器装置:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器。在实施例中,存储模块4400可以被设置为用户系统4000的可移除存储介质(即,可移除驱动器),诸如存储卡或外部驱动器。
在实施例中,存储模块4400可以包括多个非易失性存储器装置,多个非易失性存储器装置中的每一个可以以与以上参照图1描述的存储器装置100相同的方式操作。存储模块4400可以以与以上参照图1描述的数据存储装置50相同的方式操作。
用户接口4500可以包括将数据或指令输入到应用处理器4100或者将数据输出到外部装置的接口。在实施例中,用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、照相机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可以进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器。
根据所公开的技术,提供了一种具有提高的响应速度的数据存储装置以及操作该数据存储装置的方法。
本专利文件中仅描述了一些实施方案和示例,并且其它实施方案、改进和变型可以基于本专利文件中描述和示出的内容进行。
Claims (20)
1.一种数据存储装置,包括:
缓冲存储器,保存数据;
存储器装置,包括用户区域和启动分区区域,所述用户区域被预留为存储来自主机的用户数据并且通过第一过程访问,所述启动分区区域被预留为存储启动分区数据并且通过与所述第一过程不同的第二过程访问;以及
存储器控制器,联接到所述缓冲存储器和所述存储器装置并且与所述缓冲存储器和所述存储器装置通信,并且在接收到来自电源的电力时,控制所述缓冲存储器和所述存储器装置在接收到来自所述主机的请求之前,通过将来自所述启动分区区域的启动分区数据的一部分存储在所述缓冲存储器中来执行预加载操作。
2.根据权利要求1所述的数据存储装置,其中所述启动分区区域包括两个或更多个启动分区。
3.根据权利要求2所述的数据存储装置,其中所述两个或更多个启动分区具有相等大小的数据存储空间。
4.根据权利要求2所述的数据存储装置,其中所述两个或更多个启动分区中的每个启动分区的数据存储容量小于所述存储器装置中包括的多个存储块中的一个存储块的数据存储容量。
5.根据权利要求1所述的数据存储装置,其中响应于与在所述第一过程期间访问所述用户区域所需的第一命令不同的第二命令,在所述第二过程期间访问所述启动分区区域。
6.根据权利要求1所述的数据存储装置,其中响应于固件映像下载命令和固件提交命令,访问所述启动分区区域。
7.根据权利要求1所述的数据存储装置,其中所述启动分区区域是在使用认证密钥进行认证时访问的区域。
8.根据权利要求1所述的数据存储装置,其中所述存储器控制器包括:
启动分区控制器,响应于来自所述主机的请求来控制所述启动分区区域;
启动分区状态寄存器,存储启动分区状态信息;以及
启动分区预加载器,根据所述启动分区状态信息来执行所述预加载操作。
9.根据权利要求8所述的数据存储装置,其中:
所述启动分区区域包括两个或更多个启动分区;并且
所述启动分区状态信息包括启动分区标识符即启动分区ID和激活信息,所述启动分区ID标识所述两个或更多个启动分区中的每个启动分区,所述激活信息指示存储在所述两个或更多个启动分区中的每个启动分区中的启动分区数据是否被激活。
10.根据权利要求9所述的数据存储装置,其中所述启动分区状态信息进一步包括安全相关信息和/或更新信息,所述安全相关信息指示关于是否能够在所述两个或更多个启动分区中存储或更新数据的状态,所述更新信息指示分别存储在所述两个或更多个启动分区中的多个启动分区数据组之中的、最近存储的启动分区数据。
11.根据权利要求8所述的数据存储装置,其中所述启动分区控制器控制所述存储器装置,使得周期性地或随机地将所述启动分区状态信息存储在所述存储器装置中。
12.根据权利要求8所述的数据存储装置,其中所述启动分区控制器响应于针对存储在所述启动分区区域中的数据的读取请求,将存储在所述缓冲存储器中的所述启动分区数据的一部分提供到所述主机,其中从所述主机接收所述读取请求。
13.根据权利要求12所述的数据存储装置,其中所述启动分区控制器将针对除了所述启动分区数据的一部分之外的其余启动分区数据的读取命令提供到所述存储器装置。
14.根据权利要求1所述的数据存储装置,其中所述启动分区数据是调试模式的启动加载器。
15.根据权利要求1所述的数据存储装置,其中所述启动分区数据与类型不同于所述主机的操作系统的操作系统相关联。
16.根据权利要求1所述的数据存储装置,其中所述缓冲存储器是易失性存储器。
17.一种存储器控制器,所述存储器控制器在主机的控制下控制存储器装置,所述存储器控制器包括:
缓冲存储器,保存数据;以及
启动分区管理器,联接到所述缓冲存储器和所述存储器装置并且与所述缓冲存储器和所述存储器装置通信,并且在接收到来自电源的电力时,控制所述缓冲存储器和所述存储器装置在接收到来自所述主机的请求之前,通过将来自所述存储器装置中包括的启动分区区域的启动分区数据的一部分存储在所述缓冲存储器中来执行预加载操作。
18.根据权利要求17所述的存储器控制器,其中所述启动分区区域包括两个或更多个启动分区。
19.根据权利要求18所述的存储器控制器,其中所述两个或更多个启动分区具有相等大小的数据存储空间。
20.根据权利要求17所述的存储器控制器,其中所述启动分区区域是响应于专用命令而被访问的区域。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0061135 | 2020-05-21 | ||
KR1020200061135A KR20210144180A (ko) | 2020-05-21 | 2020-05-21 | 스토리지 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113721835A true CN113721835A (zh) | 2021-11-30 |
Family
ID=78608930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110207018.9A Withdrawn CN113721835A (zh) | 2020-05-21 | 2021-02-24 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11467768B2 (zh) |
KR (1) | KR20210144180A (zh) |
CN (1) | CN113721835A (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102406449B1 (ko) | 2020-06-25 | 2022-06-08 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102435253B1 (ko) | 2020-06-30 | 2022-08-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11755476B2 (en) | 2020-04-13 | 2023-09-12 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
KR102495910B1 (ko) * | 2020-04-13 | 2023-02-06 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR20210144180A (ko) * | 2020-05-21 | 2021-11-30 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
US11675531B2 (en) * | 2020-06-17 | 2023-06-13 | Samsung Electronics Co., Ltd. | Storage device for high speed link startup and storage system including the same |
US20220374216A1 (en) * | 2021-05-20 | 2022-11-24 | Lenovo (United States) Inc. | Method of manufacturing information processing apparatus and mobile computer |
US11914468B1 (en) * | 2022-08-15 | 2024-02-27 | Western Digital Technologies, Inc. | NVMe boot partition error correction code enhancement |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100626361B1 (ko) | 2000-12-16 | 2006-09-20 | 삼성전자주식회사 | 멀티 운영체제를 구비하는 컴퓨터 시스템 및 그의사용중인 운영체제를 변경 하기 위한 방법 |
US6549482B2 (en) * | 2001-03-23 | 2003-04-15 | Intel Corporation | Method and apparatus to provide real-time access to flash memory features |
US6931498B2 (en) * | 2001-04-03 | 2005-08-16 | Intel Corporation | Status register architecture for flexible read-while-write device |
US20060069825A1 (en) * | 2004-09-24 | 2006-03-30 | Hodder Leonard B | Method and system of transferring firmware from a host device to a printing device |
US7680643B2 (en) * | 2005-11-17 | 2010-03-16 | International Business Machines Corporation | Method for carrying multiple suspended runtime images |
US20120102314A1 (en) * | 2010-04-01 | 2012-04-26 | Huizhou TCL Mobile Communications Co., Ltd. | Smart phone system and booting method thereof |
KR20140121233A (ko) | 2013-04-05 | 2014-10-15 | 삼성전자주식회사 | 부트로더에 의한 운영 체제 부팅 기능의 전자 장치, 방법 및 저장 매체 |
US10068092B2 (en) * | 2015-01-21 | 2018-09-04 | Microsoft Technology Licensing, Llc | Upgrading a secure boot policy on a virtual machine |
US9892265B1 (en) * | 2015-03-31 | 2018-02-13 | Veritas Technologies Llc | Protecting virtual machine data in cloud environments |
KR102385552B1 (ko) * | 2015-12-29 | 2022-04-12 | 삼성전자주식회사 | 시스템-온-칩 및 이를 포함하는 전자 장치 |
US10783252B2 (en) * | 2017-08-23 | 2020-09-22 | Qualcomm Incorporated | System and method for booting within a heterogeneous memory environment |
US10810311B2 (en) * | 2017-09-21 | 2020-10-20 | Samsung Electronics Co., Ltd. | Internet-of-things module |
US10977050B2 (en) * | 2018-01-11 | 2021-04-13 | Macronix International Co., Ltd. | Method for managing system boot code memory, memory device and electronic system using the same |
US10705902B2 (en) * | 2018-05-03 | 2020-07-07 | Western Digital Technologies, Inc. | Crash log storage and retrieval using boot partitions in solid state systems |
US10572435B2 (en) * | 2018-07-20 | 2020-02-25 | American Megatrends International, Llc | Techniques of accessing serial console of BMC using host serial port |
US10802734B2 (en) * | 2018-09-28 | 2020-10-13 | Western Digital Technologies, Inc. | Method for fast boot read |
US11379024B2 (en) * | 2019-09-26 | 2022-07-05 | Micron Technology, Inc. | Systems and methods capable of bypassing non-volatile memory when storing firmware in execution memory |
CN112948279A (zh) * | 2019-11-26 | 2021-06-11 | 伊姆西Ip控股有限责任公司 | 管理存储系统中的访问请求的方法、设备和程序产品 |
US11294691B2 (en) * | 2020-02-03 | 2022-04-05 | Dell Products L.P. | Dynamic memory layouts for firmware updates based on OEM memory subsystem |
KR20210144180A (ko) * | 2020-05-21 | 2021-11-30 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
-
2020
- 2020-05-21 KR KR1020200061135A patent/KR20210144180A/ko not_active Application Discontinuation
- 2020-10-28 US US17/082,755 patent/US11467768B2/en active Active
-
2021
- 2021-02-24 CN CN202110207018.9A patent/CN113721835A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20210365207A1 (en) | 2021-11-25 |
US11467768B2 (en) | 2022-10-11 |
KR20210144180A (ko) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11467768B2 (en) | Data storage device for storing boot partition data read from memory device in buffer memory and method of operating the same | |
US11307803B2 (en) | Storage device for suspending program operation and performing read operation and operating method thereof | |
US11853202B2 (en) | Memory system performing garbage collection operation by exchanging information related to garbage collection with host and method of operating the memory system | |
US11726706B2 (en) | Storage device and method of operating the same | |
KR102714850B1 (ko) | 메모리 장치 및 그 동작 방법 | |
CN112825062A (zh) | 存储器控制器及其操作方法 | |
CN112527189B (zh) | 存储器装置及其操作方法 | |
CN114201414A (zh) | 存储装置及其操作方法 | |
CN115588451A (zh) | 存储装置及其操作方法 | |
CN114968850A (zh) | 存储装置及其操作方法 | |
US20210391019A1 (en) | Storage device and operating method thereof | |
CN114356209A (zh) | 存储装置及其操作方法 | |
CN113299332A (zh) | 存储器控制器及其操作方法 | |
US11836370B2 (en) | Storage device and operating method thereof | |
US11625178B2 (en) | Storage device and method of operating the same | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US11586370B2 (en) | Memory controller and method of operating the same | |
US20230238040A1 (en) | Storage device and operating method thereof | |
US20230305741A1 (en) | Storage device and operating method thereof | |
US20230041076A1 (en) | Memory system and operating method thereof | |
KR20220067386A (ko) | 스토리지 장치 및 그 동작 방법 | |
CN115376592A (zh) | 存储装置及其操作方法 | |
CN113689898A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211130 |
|
WW01 | Invention patent application withdrawn after publication |