CN113127085A - 从nand媒体快速引导的固态存储装置 - Google Patents
从nand媒体快速引导的固态存储装置 Download PDFInfo
- Publication number
- CN113127085A CN113127085A CN202110518251.9A CN202110518251A CN113127085A CN 113127085 A CN113127085 A CN 113127085A CN 202110518251 A CN202110518251 A CN 202110518251A CN 113127085 A CN113127085 A CN 113127085A
- Authority
- CN
- China
- Prior art keywords
- memory
- medium
- region
- boot
- memory medium
- 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.)
- Granted
Links
- 239000007787 solid Substances 0.000 title abstract description 5
- 230000015654 memory Effects 0.000 claims abstract description 242
- 238000000034 method Methods 0.000 claims description 32
- 238000012937 correction Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013403 standard screening design Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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
- 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
- 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
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)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Quality & Reliability (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本发明的实施例涉及从NAND媒体快速引导的固态存储装置。在一个实施例中,存储器装置可包含可操作地耦合到所述存储器媒体的控制器。所述控制器经配置以:确定在所述存储器媒体的区域处所存储的所述初始化信息是否有效;当有效时,至少部分地基于所述初始化信息而将所述存储器装置初始化;及通过在不首先擦除所述存储器媒体的所述区域的情况下对所述存储器媒体的所述区域进行写入来使在所述存储器媒体的所述区域处所存储的所述初始化信息失效。
Description
本申请是申请日为2015年8月20日,申请号为“201580083941.9”,而发明名称为“从NAND媒体快速引导的固态存储装置”的发明专利申请的分案申请。
技术领域
所揭示实施例涉及存储器装置及系统。特定来说,所揭示实施例涉及用于基于初始化信息而将固态存储装置(SSD)初始化的方法,所述初始化信息存储于基于NAND的存储器媒体中。
背景技术
SSD使用例如快闪存储器媒体等非易失性固态存储媒体来持久地存储大量数据。SSD可以与常规硬盘驱动器(HDD)类似的方式操作,但无电动机、磁盘、读头及其它HDD移动组件。无移动零件使得SSD比HDD更稳定。举例来说,当HDD掉落或摇动时,读头可与旋转磁盘碰撞且有时损坏旋转磁盘。另外,SSD具有比HDD更快的读取/写入速度,且其几乎不发出噪声。
SSD的快闪存储器媒体可以是“NOR快闪存储器”及/或“NAND快闪存储器”媒体。NAND快闪存储器通常适合用于大量数据存储,这是因为其具有比NOR快闪存储器更高的存储容量、更低的成本及更快的写入速度。然而,与可以是随机存取接口的NOR快闪存储器接口相比,NAND快闪存储器具有相对的复杂串行接口。因此,通常将NOR快闪存储器与NAND快闪存储器结合使用以存储被频繁重新编程的特定编程信息。一种此类型的编程信息是初始化信息。控制器在启动时(即,当SSD被通电时)使用所述初始化信息。
发明内容
根据本申请的一些实施例描述的一种操作具有存储器媒体的存储器装置的方法。该方法包括:在所述存储器装置关机之前将初始化信息写入到所述存储器媒体的区域;及重新起动所述存储器装置,其中重新起动所述存储器装置包含:检测在所述存储器装置的所述关机之前所述存储器媒体的所述区域未被盖写,及至少部分地基于所述初始化信息而将所述存储器装置初始化。
根据本申请的一些实施例描述的一种操作具有存储器媒体的存储器装置的方法,所述存储器媒体包含存储启动表的第一存储器区域。该方法包括:识别所述启动表中所存储的存储器地址;对所述存储器媒体的与所述存储器地址相关联的第二存储器区域进行写入;及将所述启动表重写到所述第一存储器区域以使所述启动表失效。
附图说明
图1是具有根据本技术的实施例配置的存储器装置的系统的框图。
图2A到2D是展示根据本技术的实施例的在各种操作阶段中的图1的存储器装置的存储器单元的示意图。
图3是图解说明用于操作根据本技术的实施例的存储器装置的方法的流程图。
图4是包含根据本技术的实施例的存储器装置的系统的示意图。
具体实施方式
如下文更详细地描述,本文中所揭示的技术涉及存储器装置、具有存储器装置的系统及用于至少部分地基于存储于基于NAND的存储器媒体中的初始化信息而将存储器装置初始化的相关方法。然而,相关领域的技术人员将理解,所述技术可具有额外实施例且可在无下文参考图1到4所描述的实施例的数个细节的情况下实践所述技术。在下文所图解说明的实施例中,在并入基于NAND的存储媒体(例如,基于NAND的快闪存储器)的SSD的上下文中描述存储器装置。然而,除了基于NAND的存储媒体之外或代替基于NAND的存储媒体,根据本技术的其它实施例配置的存储器装置还可包含其它类型的适合存储媒体,例如磁性存储媒体。
图1是具有根据本技术的实施例配置的存储器装置或SSD 102的系统100的框图。如所展示,SSD 102包含存储器媒体104及存储器控制器106(“控制器106”),存储器控制器106经由控制器接口110将存储器媒体104可操作地耦合到主机装置108(例如,上游中央处理器(CPU))。举例来说,控制器接口110可以是串行接口(例如,计算机系统接口(SCSI)、串行AT附接(ATA)接口、高速外围组件互连(PCIe)接口等),及/或其它适合接口(例如,并行接口)。在下文更详细描述的一些实施例中,SSD 102可被配置为通用快闪存储系统(UFS),其包括存储器媒体104,但省略了其它类型的存储器媒体,例如随机存取存储器(RAM)。举例来说,在一些实施例中,此系统可省略基于NOR的存储器(例如,基于NOR的快闪存储器)及动态随机存取存储器(DRAM)以降低电力要求及/或制造成本。
存储器媒体104包含多个存储器单元112,多个存储器单元112各自包含多个存储器区(未展示)。个别存储器区可包含经配置以持久地或半持久地存储数据状态的存储元件(未展示)。在一些实施例中,此存储元件可包含浮动栅极。在图1中所图解说明的实施例中,存储器单元112是基于NAND的存储器单元112,其由布置成群组或“存储器页”114的存储器区组成。存储器页114继而被分组成更大的群组或“存储器块”116(在图1中被个别地识别为第一块116a及第二块116b)。在其它实施例中,可将存储器区布置成不同类型的群组及/或层级。此外,虽然在所图解说明的实施例中展示存储器页、块及单元的特定数目,但在其它实施例中,页、块及存储器单元的数目可不同,且可比所图解说明的实例中所展示的规模更大。举例来说,在一些实施例中,SSD 102可包含(例如)八个、十个或更多个(例如16、32、64或更多)存储器单元112。在这些实施例中,每一存储器单元112可包含(例如)211个存储器块116,其中每一块116包含(例如)215个存储器页114,且块内的每一存储器页114包含(例如)215个存储器区。
存储器媒体104及/或个别存储器单元112还可包含其它电路组件(未展示),例如多路复用器、解码器、缓冲器、读取/写入驱动器、地址寄存器、数据输出/数据输入寄存器等,以用于存取并编程(例如,读取/写入)存储器媒体104中的存储器区及/或执行其它功能,例如处理信息及/或达成与控制器106的通信。在一个实施例中,存储器单元112中的每一者可由半导体裸片形成且与其它存储器单元裸片一起被布置于单个装置封装(未展示)中。在其它实施例中,存储器单元中的一或多者可共同定位于单个裸片上及/或跨越多个装置封装分布。
控制器106可以是微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或另一适合处理器。控制器106包含处理器118及内部存储器组件120。处理器118经配置以执行内部存储器组件120中所存储的指令以执行各种过程、逻辑流程及例程,以控制SSD 102的操作且管理SSD 102与主机装置108之间的通信。通常,控制器106可共同地及/或个别地直接存取且编程(即,读取及/或写入)存储器页114、存储器块116及/或存储器单元112。举例来说,控制器106可响应于从主机装置108接收到的写入命令而将数据写入到存储器媒体104的这些各个区域中的一或多者。
控制器106的一个功能是将SSD 102初始化以供操作。举例来说,初始化可包含编程具有初始值的数据寄存器(未展示)、加载引导块图像、建立与主机装置108的通信链路、验证凭证、创建映射表(例如,快闪转换表)等。通常,当SSD 102首次启动时(例如,当SSD102及/或主机装置108从被断电到被通电时),控制器106将初始化SSD 102。在一些例子中,控制器106可响应于从主机装置108接收到的复位命令而将SSD 102初始化。在图1中所图解说明的实施例中,控制器106至少部分地基于从存储器媒体104读出的初始化信息(例如,引导数据)而将SSD 102初始化。在下文所描述的实施例中,引导数据以启动表形式(未展示)存储于存储器媒体104的存储器页114中的一者中。举例来说,引导数据可包含存储器指针(例如,指涉存储器地址)、存储器映射、数据值及/或准备装置操作的其它适合信息。
在SSD 102的操作期间,控制器106周期性地更新存储器媒体104中所存储的引导数据。举例来说,在写入操作之后,控制器106可更新存储器指针以识别存储器媒体104的空白或者用于写入的不同区域(未展示)。因此,控制器106可在接收到后续写入命令时使用已更新的存储器指针来定位可用区域。另外或另一选择为,当控制器106检测到存储器媒体104存在非工作存储器区域(未展示)时,控制器106可将存储器指针添加到引导数据。举例来说,此非工作存储器区域可包含缺陷区域(例如,不良块)、超过最大写入计数的区域、压缩(trimmed)区域等。在一些情形中,当控制器106第一次循环通过存储器媒体104时,其会汇编出非工作存储器区域的列表。当控制器106第二次循环通过存储器媒体104时,其可使用此列表来避开非工作区域。当控制器106循环通过存储器媒体104时,其也可更新非工作区域的列表。
在至少一些实施例中,控制器106在SSD 102关机之前或期间(例如,在SSD 102及/或主机装置108被关闭电源之前或期间)将引导数据写入到存储器媒体104。当SSD102在关机之后又再次起动时,控制器106可使用引导数据来将SSD 102复原到其关机之前的先前状态(作为“快速引导”而为所属领域的技术人员所熟知)。举例来说,控制器106可使用引导数据来识别可用于写入的存储器页114、非工作存储器区域及/或与关机之前的SSD 102相关联的其它状态信息(例如,高速缓冲数据)。在一些实施例中,引导数据可仅占据存储器块116中的一者的总存储容量的一小部分(例如,一个存储器页114)。
通常,常规SSD将引导数据存储于RAM(例如,NOR及/或DRAM)中。RAM比基于NAND的存储器更适合存储引导数据,这是因为RAM具有允许存储器控制器选择并个别地(即,并非以NAND情形中的串行方式)重新编程存储器区的接口。因此,常规SSD的存储器控制器可容易地定位并更新RAM中的引导数据。通常,当更新引导数据时,存储器控制器通常将首先擦除RAM中所存储的引导数据,且接着将已更新的信息写入到最初存储初始信息的同一存储器位置(即,存储器地址)。当引导数据变得停滞或不再可靠时,存储器控制器还可将此信息标记为无效。
相比之下,基于NAND的存储器媒体中的存储器区无法像RAM中的存储器区一样被容易地重新编程。特定来说,在存储器控制器可重新编程选定存储器块中的存储器页(例如,存储器页114中的一者)中的任一者之前,重新编程NAND媒体通常需要存储器控制器先擦除存储器的整个块(例如,存储器块116中的一者)。如果存储器控制器在不首先擦除含有存储器页的整个块的情况下试图对所述页进行重写(例如,盖写),那么重写将在所述存储器页中产生位错误。通常,这些位错误是无法使用错误码校正(例如Bose、Chaudhuri及Hocquenghem(BCH)码校正)来轻易解决的(例如,高效地解决)。因此,当重新编程基于NAND的存储器媒体时,存储器控制器必须清除存储器块中的所有数据以清空存储器页,接着其才可重新编程存储器块中的存储器页中的任一者。
然而,根据本技术的各种实施例配置的SSD及其它存储器装置克服了与将引导数据存储于基于NAND的存储器媒体及类似存储器媒体中相关联的这些及其它挑战。在一个此实施例中,存储器媒体104将引导数据存储于存储器媒体104的第一区域(例如,单个存储器页114)中。当控制器106试图更新引导数据时,其使第一区域中所存储的引导数据无效,并将已更新的引导数据存储于存储器媒体104的第二区域(例如,不同存储器页114)中。在下文所描述的一些实施例中,控制器106通过在不首先擦除存储器媒体104的第一区域的情况下对所述第一区域进行重写来使所述第一区域中所存储的引导数据无效。以此方式盖写存储器媒体104的第一区域可能在第一区域中产生位错误,所述位错误指示此区域中所存储的引导数据不再有效。
图2A到2D是根据本技术的实施例的在各种操作阶段中的图1的SSD 102的个别存储器单元112的等角示意图。在图2A到2D所图解说明的实施例中,出于清晰起见仅展示单个存储器单元112。然而,在此实施例及其它实施例中,存储器媒体104(图1)的其它存储器单元112可包含类似操作状态及/或以与下文所描述类似的方式操作。
图2A展示第一操作阶段中的存储器单元112,例如在SSD 102(图1)关机(例如,关闭电源)之前的阶段。在图2A中所展示的第一阶段中,控制器106(图1)已将引导数据(例如,存储器指针、写入循环计数、不良块区域等)以启动表230a的形式写入到第一存储器页214a。在图2A中所图解说明的实例中,启动表230a包含指涉可用于写入的存储器页114中的一或多者的存储器指针P1。在一个实施例中,控制器106可将与第一存储器页214a相关联的第一存储器地址A1存储于内部存储器组件120(图1)中。控制器106可使用第一存储器地址A1来定位存储器单元112中的启动表230a(例如,在启动之后立即)。
图2B展示在图2A的第一操作阶段之后的第二操作阶段中的存储器单元112。在一个实施例中,在SSD 102(图1)启动之后立即出现第二阶段。在图2B中所展示的第二阶段中,控制器106(图1)已跨越位于第一存储器块116a及第二存储器块116b中的第二存储器页214b而写入数据d1。在一个实施例中,控制器106可响应于从主机装置108(图1)接收到的写入命令而写入数据d1。控制器106在将数据d1写入到第二存储器页214b之前,先使用存储器指针P1来识别这些存储器页214b的位置。在一个实施例中,控制器106还在存储器块116a及116b中的至少一者中保留至少一个开放存储器页114。
图2C展示在图2B的第二操作阶段之后的第三操作阶段中的存储器单元112。在图2C中所展示的第三阶段中,控制器106(图1)已使第一存储器页214a中所存储的启动表230a无效。特定来说,控制器106使启动表230a无效,使得控制器106稍后在试图定位可用于写入的存储器页时不会依赖于目前无效的存储器指针P1。举例来说,如果控制器106基于图2C的启动表230a中的目前无效存储器指针P1而将SSD 102初始化,那么此可能导致控制器106盖写第二存储器页214b中所存储的原始数据。如上文所论述,此盖写可产生通常无法经由错误码校正轻易解决的位错误。因此,第二存储器页214b中所存储的原始数据d1及/或任何新数据在其因无效存储器指针P1而被盖写的情况下可能变得不可读取及/或不可靠。
在各种实施例中,控制器106通过利用其它信息(例如,空数据)盖写第一存储器页214a而在此存储器页214a中产生可由控制器106检测到的位错误而使启动表230a无效。然而,控制器106不盖写第二存储器页214b。因此,可基于第一存储器页214a中的位错误而检测到作为无效表的原始启动表230a,而第二存储器页214b中所存储的数据d1不受影响。在一个实施例中,控制器106可通过利用最初存储于图2A中的第一存储器页214a中的同一启动表230a盖写存储器页214a来在第一存储器页214a中产生位错误。
图2D展示在第三操作阶段之后的第四操作阶段中的存储器单元112。在图2D中所展示的第四阶段中,控制器106(图1)已将已更新的启动表230b存储于位于第二存储器块116b中的第三存储器页214c中。第三存储器页214c可以是存储器块116a及116b中的至少一者中的开放页114(例如,图2B及2C中所展示的所保留存储器页114),或例如在存储器单元112的另一存储器块(未展示)中的另一开放存储器页114。已更新启动表230b可包含至少一些与原始启动表230a相同的信息。然而,已更新启动表230b包含不再指涉第二存储器页214b的已更新存储器指针P2。相反,已更新存储器指针P2指涉可用于写入的其它存储器页(未展示)。此外,控制器106可将与第三存储器页214c相关联的第二存储器地址B1存储于内部存储器组件120(图1)中,以识别已更新启动表230b的位置。
图3是图解说明用于操作根据本技术的实施例的存储器装置的例程340的流程图。在一个实施例中,控制器106(图1)可在SSD 102(图1)启动之后立即实施例程340,(例如)以使用存储器媒体104(图1)中所存储的引导数据来达成引导顺序(例如,快速引导)。例程340开始于确定存储引导数据的存储器媒体104的第一区域的位置(框341)。举例来说,在一个实施例中,例程340可使用存储器组件120(图1)中所存储的第一存储器地址A1(图2A)来定位存储器媒体104中的引导数据。
接下来,例程340确定存储器媒体104的第一区域中所存储的引导数据是否有效(框342)。特定来说,例程340读出引导数据的至少一部分且检验位错误。通常,NAND存储器页包含专门用于错误码校正的相对小数目个存储器区。这些存储器区存储控制器106可使用以在读出操作期间解决位错误的信息,例如使用BCH码、低密度奇偶检验(LDPC)码或其它适合的错误码校正算法。如果所读出的数据通过了错误码校正,那么例程340继续基于引导数据而将SSD 102初始化(框343)。否则,例程340将引导数据标记为无效(框344)。在一些实施例中,当引导数据被标记为无效时,例程340可加载控制器106中所存储的默认引导指令。在这些情形中,默认引导指令将不包含存储器媒体104中所存储的引导数据的所有信息或任何信息。举例来说,默认引导信息不可识别可用存储器及/或不良块的位置,且控制器106可需要循环通过存储器媒体104并重新识别这些位置。因此,默认引导指令通常将不能达成快速引导。
一旦SSD 102被初始化,例程340便继续更新引导数据(框345)且将已更新引导数据存储于存储器媒体104的第二区域中。举例来说,例程340可在其检测到存储器媒体104中的不良存储器块的位置时更新引导数据。另外或另一选择为,例程340可结合写入操作、读取操作及/或若干个写入及/或读取操作而更新引导数据。此外,例程340可在SSD 102关机(例如,关机电源)之前更新引导数据。
在一个实施例中,已更新引导数据存储于单个存储器页114(图1)中。在其它实施例中,例程340可跨越多个存储器页114存储已更新引导数据及/或存储于专用存储器块116(图1)中。例程340可将存储器地址(例如,图2D的存储器地址B1)存储于识别存储器媒体104中的已更新引导数据的位置的控制器106中。接着例程340继续使存储器媒体104的存储原始引导数据的第一区域无效(框346)。举例来说,例程340可通过盖写(例如,通过重写及/或通过写入空数据到)存储器媒体104的存储此引导数据的第一区域来使原始引导数据无效,如上文所论述。
在本技术的至少一些实施例的一个方面中,例程340能够将引导数据及/或其它初始化信息存储于基于NAND的存储器媒体而非RAM中。因此,可将根据这些及其它实施例配置的SSD及其它存储器装置制造成无RAM(例如,NOR存储器),或仅具有有限量的RAM(例如,仅具有基于RAM的内部组件120(图1))。因此,此类SSD及其它存储器装置可具有较低的电力要求及/或制造成本。
图4是包含根据本技术的实施例的存储器装置的系统的示意图。上文参考图1到3所描述的前述存储器装置中的任一者可被并入到无数更大及/或更复杂系统中的任一者中,所述系统的代表性实例是图4中所示意性展示的系统480。系统480可包含存储器400、电源482、驱动器484、处理器486及/或其它子系统或组件488。存储器装置400可包含与上文参考图1到3所描述的存储器装置的特征大体类似的特征,且因此可包含用于将引导数据存储于基于NAND的存储器媒体及类似存储器媒体中及更新所述引导数据的各种特征。所得系统480可执行各种各样的功能(例如存储器存储、数据处理及/或其它适合功能)中的任一者。因此,代表性系统480可包含(但不限于)手持式装置(例如移动电话、平板计算机、数字读取器及数字音频播放器)、计算机、车辆、电器及其它产品。可将系统480的组件装纳于单个单元中或(例如,通过通信网络)分布于多个互连单元上。系统480的组件还可包含远程装置及各种各样的计算机可读媒体中的任一者。
依据前述内容,将了解,虽然本文中已出于图解说明目的描述了本技术的具体实施例,但可在不偏离本发明的情况下做出各种修改。另外,还可在其它实施例中组合或去除在特定实施例的上下文中所描述的本新技术的特定方面。此外,尽管已在本新技术的特定实施例的上下文中描述了与所述实施例相关联的优点,但其它实施例也可展现这些优点且并非所有实施例均必须展现这些优点以归属于本技术的范围内。因此,本发明及相关联技术可囊括本文中未明确展示或描述的其它实施例。
Claims (11)
1.一种操作具有存储器媒体的存储器装置的方法,其包括:
在所述存储器装置关机之前将初始化信息写入到所述存储器媒体的区域;及
重新起动所述存储器装置,其中重新起动所述存储器装置包含:
检测在所述存储器装置的所述关机之前所述存储器媒体的所述区域未被盖写,及
至少部分地基于所述初始化信息而将所述存储器装置初始化。
2.根据权利要求1所述的方法,其中将所述存储器装置初始化包含至少部分地基于所述初始化信息而识别所述存储器媒体的一或多个非工作区域。
3.根据权利要求1所述的方法,其中:
所述初始化信息包含存储器指针;且
所述方法进一步包括:在将所述存储器装置初始化之后,对所述存储器媒体的由所述存储器指针所指涉的区域进行写入。
4.根据权利要求3所述的方法,其进一步包括:在对所述存储器媒体的所述区域进行写入之后,盖写所述存储器装置的所述区域以使所述初始化信息失效。
5.根据权利要求4所述的方法,其中盖写所述存储器媒体的所述区域包含:在不首先擦除所述存储器媒体的所述区域的情况下对所述存储器媒体的所述区域进行写入。
6.根据权利要求4所述的方法,其中:
所述存储器媒体的所述区域包含NAND存储器页;
所述存储器媒体包含NAND存储器块,所述NAND存储器块包括所述NAND存储器页;且
盖写所述存储器装置的所述区域包含在不首先擦除所述NAND存储器块的情况下对所述NAND存储器页进行写入。
7.一种操作具有存储器媒体的存储器装置的方法,所述存储器媒体包含存储启动表的第一存储器区域,所述方法包括:
识别所述启动表中所存储的存储器地址;
对所述存储器媒体的与所述存储器地址相关联的第二存储器区域进行写入;及
将所述启动表重写到所述第一存储器区域以使所述启动表失效。
8.根据权利要求7所述的方法,其中所述第一存储器区域是基于NAND的存储器媒体。
9.根据权利要求7所述的方法,其中:
所述存储器地址是第一存储器地址;
所述启动表是第一启动表;且
所述方法进一步包括:将第二启动表写入到所述存储器媒体的第三存储器区域,其中所述第二启动表包含替换所述第一启动表中所存储的所述第一存储器地址的第二存储器地址。
10.根据权利要求7所述的方法,其进一步包括:
在重写所述启动表之后将所述存储器装置关机;及
重新起动所述存储器装置,其中重新起动所述存储器装置包含检测所述启动表已失效。
11.根据权利要求10所述的方法,其中检测所述启动表已失效包含:
从所述第一存储器区域读出数据;
对从所述第一存储器区域读出的所述数据的至少一部分执行错误码校正例程;及
基于所述错误码校正的结果而确定所述启动表是无效的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110518251.9A CN113127085B (zh) | 2015-08-20 | 2015-08-20 | 从nand媒体快速引导的固态存储装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110518251.9A CN113127085B (zh) | 2015-08-20 | 2015-08-20 | 从nand媒体快速引导的固态存储装置 |
CN201580083941.9A CN108139917A (zh) | 2015-08-20 | 2015-08-20 | 从nand媒体快速引导的固态存储装置 |
PCT/CN2015/087616 WO2017028296A1 (en) | 2015-08-20 | 2015-08-20 | Solid state storage device with quick boot from nand media |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580083941.9A Division CN108139917A (zh) | 2015-08-20 | 2015-08-20 | 从nand媒体快速引导的固态存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113127085A true CN113127085A (zh) | 2021-07-16 |
CN113127085B CN113127085B (zh) | 2024-07-02 |
Family
ID=58050978
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580083941.9A Pending CN108139917A (zh) | 2015-08-20 | 2015-08-20 | 从nand媒体快速引导的固态存储装置 |
CN202110518251.9A Active CN113127085B (zh) | 2015-08-20 | 2015-08-20 | 从nand媒体快速引导的固态存储装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580083941.9A Pending CN108139917A (zh) | 2015-08-20 | 2015-08-20 | 从nand媒体快速引导的固态存储装置 |
Country Status (4)
Country | Link |
---|---|
US (4) | US10394479B2 (zh) |
EP (1) | EP3338180B1 (zh) |
CN (2) | CN108139917A (zh) |
WO (1) | WO2017028296A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394479B2 (en) * | 2015-08-20 | 2019-08-27 | Micron Technology, Inc. | Solid state storage device with quick boot from NAND media |
TWI655640B (zh) * | 2018-01-24 | 2019-04-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
CN111752487B (zh) * | 2020-06-18 | 2024-01-12 | 深圳大普微电子科技有限公司 | 一种数据恢复方法、装置及固态硬盘 |
US11763040B2 (en) * | 2021-04-07 | 2023-09-19 | Western Digital Technologies, Inc. | Enhanced D3-cold and faster recovery |
US12019880B2 (en) * | 2021-09-29 | 2024-06-25 | Qualcomm Incorporated | Flash memory data protection using bad block markers and a flashing tool |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168724A1 (en) * | 2004-01-27 | 2007-07-19 | Akihito Kohiga | High-speed restart method, information processing device, and program |
CN101027729A (zh) * | 2004-07-29 | 2007-08-29 | 斯班逊有限公司 | 非易失性存储装置的初始化控制方法以及非易失性存储装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734894A (en) * | 1995-04-25 | 1998-03-31 | Honeywell Inc. | Methods and apparatus for protecting the integrity of process data stored on a removable storage medium |
JP2914360B2 (ja) * | 1997-09-30 | 1999-06-28 | ソニー株式会社 | 外部記憶装置及びデータ処理方法 |
KR100308479B1 (ko) * | 1998-08-11 | 2001-11-01 | 윤종용 | 컴퓨터 시스템 내에서 부트-업 메모리로 사용되는 플래시 메모리 장치 및 그것의 데이터 읽기 방법 |
US6226729B1 (en) * | 1998-11-03 | 2001-05-01 | Intel Corporation | Method and apparatus for configuring and initializing a memory device and a memory channel |
JP3730423B2 (ja) * | 1998-11-24 | 2006-01-05 | 富士通株式会社 | 半導体記憶装置 |
US6336174B1 (en) * | 1999-08-09 | 2002-01-01 | Maxtor Corporation | Hardware assisted memory backup system and method |
US6704865B1 (en) * | 1999-12-23 | 2004-03-09 | Delphi Technologies, Inc. | Microprocessor conditional deterministic reset vector method |
KR100395770B1 (ko) * | 2001-05-23 | 2003-08-21 | 삼성전자주식회사 | 시스템의 부트-업 메모리로서 사용 가능한 불휘발성플래시 메모리 장치 및 그의 동작 방법 |
KR100877030B1 (ko) * | 2001-07-25 | 2009-01-07 | 소니 가부시끼 가이샤 | 불휘발성 메모리 및 불휘발성 메모리의 데이터 재기록 방법 |
US6922787B2 (en) * | 2001-08-14 | 2005-07-26 | International Business Machines Corporation | Method and system for providing a flexible temperature design for a computer system |
US7249353B2 (en) * | 2003-04-17 | 2007-07-24 | Hewlett-Packard Development Company, L.P. | Image-formation device firmware having modular upgrade capability |
US20050010811A1 (en) * | 2003-06-16 | 2005-01-13 | Zimmer Vincent J. | Method and system to support network port authentication from out-of-band firmware |
CN100502462C (zh) * | 2006-12-01 | 2009-06-17 | 北京东方广视科技有限责任公司 | 智能卡在线升级的方法 |
KR100895065B1 (ko) * | 2007-03-26 | 2009-05-04 | 삼성전자주식회사 | 리페어 데이터의 신뢰성을 높일 수 있는 플래시 메모리장치 및 그것의 리페어 방법 |
CN100583961C (zh) * | 2007-03-28 | 2010-01-20 | 深圳创维-Rgb电子有限公司 | 一种可重复在线编程的电路装置和实现方法 |
JP5042766B2 (ja) * | 2007-10-03 | 2012-10-03 | 日立オートモティブシステムズ株式会社 | 制御装置、および制御装置のメモリ初期化方法 |
CN101676872A (zh) * | 2008-09-19 | 2010-03-24 | 刘杰 | 一种固态硬盘的结构及其加速初始化的方法 |
US8205070B2 (en) * | 2009-09-08 | 2012-06-19 | Apple Inc. | Device bootup from a NAND-type non-volatile memory |
US10360143B2 (en) * | 2010-07-01 | 2019-07-23 | Qualcomm Incorporated | Parallel use of integrated non-volatile memory and main volatile memory within a mobile device |
US20120036301A1 (en) * | 2010-08-03 | 2012-02-09 | Caspole Eric R | Processor support for filling memory regions |
US9405668B1 (en) * | 2011-02-15 | 2016-08-02 | Western Digital Technologies, Inc. | Data storage device initialization information accessed by searching for pointer information |
US20120311312A1 (en) * | 2011-05-31 | 2012-12-06 | Broadcom Corporation | Fast Boot Via State Recreation |
US8954653B1 (en) * | 2012-06-26 | 2015-02-10 | Western Digital Technologies, Inc. | Mechanisms for efficient management of system data in data storage systems |
KR102068485B1 (ko) * | 2012-11-30 | 2020-01-21 | 삼성전자주식회사 | 불 휘발성 메모리 모듈 및 그것의 동작 방법 |
CN103473098A (zh) * | 2013-09-10 | 2013-12-25 | 华为技术有限公司 | 一种boot程序的启动方法和相关装置 |
US9424134B2 (en) * | 2014-03-28 | 2016-08-23 | Intel Corporation | Boot management in a non-volatile memory system |
US9582358B2 (en) * | 2014-09-30 | 2017-02-28 | Sandisk Technologies Llc | Initialization scheme during dual programming of a memory system |
US10394479B2 (en) * | 2015-08-20 | 2019-08-27 | Micron Technology, Inc. | Solid state storage device with quick boot from NAND media |
-
2015
- 2015-08-20 US US15/749,402 patent/US10394479B2/en active Active
- 2015-08-20 WO PCT/CN2015/087616 patent/WO2017028296A1/en active Application Filing
- 2015-08-20 EP EP15901500.7A patent/EP3338180B1/en active Active
- 2015-08-20 CN CN201580083941.9A patent/CN108139917A/zh active Pending
- 2015-08-20 CN CN202110518251.9A patent/CN113127085B/zh active Active
-
2019
- 2019-07-15 US US16/512,256 patent/US10956065B2/en active Active
-
2021
- 2021-03-02 US US17/189,502 patent/US11287990B2/en active Active
-
2022
- 2022-02-28 US US17/682,778 patent/US20220179572A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168724A1 (en) * | 2004-01-27 | 2007-07-19 | Akihito Kohiga | High-speed restart method, information processing device, and program |
CN101027729A (zh) * | 2004-07-29 | 2007-08-29 | 斯班逊有限公司 | 非易失性存储装置的初始化控制方法以及非易失性存储装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210181960A1 (en) | 2021-06-17 |
WO2017028296A8 (en) | 2018-04-19 |
EP3338180A1 (en) | 2018-06-27 |
US20180232169A1 (en) | 2018-08-16 |
CN108139917A (zh) | 2018-06-08 |
US20220179572A1 (en) | 2022-06-09 |
EP3338180A4 (en) | 2019-05-15 |
US11287990B2 (en) | 2022-03-29 |
WO2017028296A1 (en) | 2017-02-23 |
US20190339891A1 (en) | 2019-11-07 |
EP3338180B1 (en) | 2024-05-08 |
CN113127085B (zh) | 2024-07-02 |
US10394479B2 (en) | 2019-08-27 |
US10956065B2 (en) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4524309B2 (ja) | フラッシュメモリ用のメモリコントローラ | |
US11287990B2 (en) | Solid state storage device with quick boot from NAND media | |
US10180805B2 (en) | Memory system and operating method thereof | |
TWI696915B (zh) | 提高重建效率的記憶體系統和操作方法 | |
CN109284202B (zh) | 控制器及其操作方法 | |
US10007451B2 (en) | Scalable SPOR algorithm for flash memories | |
CN107957959B (zh) | 具有文件级安全擦除的存储器系统及其操作方法 | |
KR102612842B1 (ko) | 메모리 시스템 내 펌웨어를 유지하는 방법 및 장치 | |
KR102564774B1 (ko) | 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법 | |
US10942678B2 (en) | Method of accessing data in storage device, method of managing data in storage device and storage device performing the same | |
CN111324552B (zh) | 存储器系统及其操作方法 | |
CN113342566A (zh) | 存储器控制器及其操作方法 | |
CN110704331A (zh) | 控制器及其操作方法 | |
CN114649012A (zh) | 存储器控制器和包括存储器控制器的存储装置 | |
CN113741798A (zh) | 数据存储装置及其操作方法 | |
US11848057B2 (en) | Memory system and method of operating the same | |
CN108986864B (zh) | 控制器和存储器系统以及存储器系统的操作方法 | |
CN114595091A (zh) | 存储装置和计算系统 | |
CN112711377A (zh) | 分布式存储系统的存储节点及其操作方法 | |
KR20220046978A (ko) | 저장 장치 및 그 동작 방법 | |
CN111309518A (zh) | 存储器系统和存储器系统的操作方法 | |
US11422747B2 (en) | Memory system and method for operating memory controller included therein | |
US11934254B2 (en) | Memory device with embedded firmware repairing mechanism | |
US20220171707A1 (en) | Storage device and operating method thereof | |
US20230069423A1 (en) | Memory device and memory system having the memory device |
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 |