CN1540672A - 用于非易失存储系统的电源管理数据块 - Google Patents

用于非易失存储系统的电源管理数据块 Download PDF

Info

Publication number
CN1540672A
CN1540672A CNA2003101046470A CN200310104647A CN1540672A CN 1540672 A CN1540672 A CN 1540672A CN A2003101046470 A CNA2003101046470 A CN A2003101046470A CN 200310104647 A CN200310104647 A CN 200310104647A CN 1540672 A CN1540672 A CN 1540672A
Authority
CN
China
Prior art keywords
signature
storage system
nonvolatile memory
storage area
area territory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2003101046470A
Other languages
English (en)
Inventor
张钦泽
B·卡瓦米
��ء�ɳϣ
F·萨比特—沙希
S·约丁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=32094175&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1540672(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN1540672A publication Critical patent/CN1540672A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits

Abstract

描述了使非易失存储器的开启电源过程能有效地发生的方法与装置。依照本发明的一个方面,利用具有带有至少一个保留存储区域非易失存储器存储系统的方法包括给存储系统提供电源,初始化非易失存储器,以及将第一签名写入保留存储区域。第一签名被安排表示存储系统被成功地初始化。在一个实施例中,这个方法还包括在存储系统上执行关闭电源过程,以及将表示关闭电源过程已经被执行的第二签名写入保留存储区域。

Description

用于非易失存储系统的电源管理数据块
这份专利申请要求于2002年10月28日提出的美国临时专利申请No.60/422,166的优先权,通过引用将该专利全部包括在此。
有关专利申请的交叉引用
本发明涉及共同待批的美国专利申请Nos.10/281,739、10/281,823、10/281,670、10/281,824、10/281,631、10/281,855、10/281,762、10/281,696、10/281,626和10/281,804,以及共同待批的美国临时专利Nos.60/421,910、60/421,725、60/421,965、60/421,746和60/421,911,每个专利申请于2002年10月28日提出,通过引用将它们全部包括在此。
技术领域
本发明主要涉及海量数字数据存储系统。更特别地,本发明涉及能够有效地作出有关一个正在开启电源的存储系统先前是正常地或异常地关闭电源的判断的系统和方法。
背景技术
非易失存储系统诸如闪存存储系统(flash memory storage system)的使用正在增加,因为这样的存储系统空间物理尺寸小以及非易失存储器可反复重编写的能力。闪存存储系统空间物理尺寸小使得在正变得日益流行的设备中使用这样的存储系统变得方便。使用闪存存储系统的设备包括,但不限于此,数字照相机、数字摄象机、数字音乐播放器、手持个人计算机和全球定位设备。反复重编写非易失存储器的能力包括在闪存存储系统中能够使用和重复使用闪存存储系统。
一般而言,闪存存储系统可包括闪存卡(flash memory card)和闪存芯片组(flashmemory chip set)。闪存芯片组主要包括闪存存储器组件和控制器组件。一般地,可安排闪存芯片组被装配在一个嵌入系统中。这样的组合或宿主系统(host system)的厂商一般获得与其它组件一样的组件形式的闪存存储器,然后将闪存存储器和其它组件装配到一个宿主系统。
当一个存储系统被关闭电源时,关闭电源发生可能或者因为用户已经关闭存储系统,或者因为存储系统已经有了一次掉电。如果用户选择关闭存储系统,存储系统一般实质性地完成所有当前过程,例如,存储系统完成从宿主系统将一个文件写入与这个存储系统关联的一个目录中的过程。如果因为意外或突然的掉电,例如由于电源故障,那么没有完成当前的过程而一般改换为异常中断当前的过程。
已经在“正常”情况下关闭电源的存储系统,如例如在响应一个用户请求时切断这个存储系统的电源时,一般不要求执行磁盘扫描或数据恢复,因为在收到一个关闭电源请求的时候正在发生的所有过程已经完成。这一般被称为“正常关闭”或“正常关闭电源”。不过,已经在“异常”情况下关闭电源的存储系统,例如,由于电源故障、电池故障或意外的电源切除,一般要求执行磁盘扫描和数据恢复,如本领域的熟练技术人员将意识到的那样。在异常情况下关闭电源一般被称为“异常关闭”或“异常关闭电源”。
在一个常规的闪存非易失存储系统中,对于存储系统一般不可能确定已经发生的关闭电源是因为例如用户想要关闭或是因为电源故障。因此,一般在每次给存储系统开启电源时,无论是否已经正常或异常关闭电源,都应用比较耗费时间的恢复过程,例如在Windows/DOS环境中的“scandisk”(磁盘扫描)过程。虽然当先前在异常情况下关闭存储系统时应用磁盘扫描能够进行数据恢复,但是当在正常情况下关闭存储系统时应用这个过程会没有效率,因为这样的恢复过程实际上是不必要的。
因此,想得到的是能够在存储系统开启电源时作出有关存储系统先前是正常或异常地关闭的判断的过程和系统。也就是说,需要的是允许与异常关闭的存储系统关联的数据当给存储系统开启电源时能被恢复,而当存储系统正常关闭电源时不使存储系统经受与恢复数据关联的过程的有效方法。
概述
本发明涉及使非易失存储器的开启电源过程有效发生的系统和方法。依照本发明的一个方面,利用具有一带有至少一保留存储区域非易失存储器存储系统的方法包括给存储系统提供电源,初始化非易失存储器,以及将一第一签名写入保留存储区域。第一签名被安排表示存储系统被成功地初始化。在一个实施例中,这个方法还包括在存储系统上执行一关闭电源过程,以及将一表示关闭电源过程已经被执行的第二签名写入保留存储区域。
诸如一被安排为包含初始化和关闭电源签名的电源管理数据块这样的保留存储区域使能够作出有关先前从非易失存储系统移去电源是由于请求关闭电源或由于电源故障的判断。在当非易失存储系统诸如NAND闪存存储器开启电源时访问电源管理数据块时,电源管理数据块的内容可被有效地扫描或获得以确定最近先前关闭电源是被请求的或由于电源故障。例如,当找到一关闭电源签名时,一般表示先前关闭电源是被请求的。因此,存储器或数据恢复过程通常是不需要的。可替换地,当没有找到关闭电源或关闭签名但找到初始化或开启电源签名时,通常表示先前关闭电源是由于电源故障。同样,可运行数据恢复过程。在开启电源运行或执行费时的数据恢复过程,实质上只在非易失存储器需要这样的过程时才进行,例如在电源故障先前已经发生过的时候,使非易失存储器能更有效地被使用,如在实际上没有需要数据恢复时可避免这样一个过程。
依照本发明的另一方面,利用具有一带有至少一保留存储区域非易失存储器存储系统的方法包括给存储系统提供电源,确定存储系统先前已经经历一实质性地正常的关闭电源过程的时间,以及当确定存储系统先前没有经历一正常的关闭电源过程时,在非易失存储器上执行一第一过程。第一过程一般被安排为使用准备好非易失存储器。最后,当确定存储系统先前已经经历一正常的关闭电源过程时,这个方法包括实质性地使非易失存储器能被使用。
在一个实施例中,确定存储系统先前已经经历实质性正常的关闭电源过程的时间包括确定保留存储区域包括一表示一正常的关闭电源过程先前已经发生过的第一签名的时间。在这样一个实施例中,确定存储系统先前已经经历实质性正常的关闭电源过程的时间还可包括确定保留存储区域包括一表示存储系统先前已经经历一初始化过程的第二签名的时间。当确定保留存储区域不包括第二签名并且不包括第一签名时,第一过程可以是一初始化过程。可替换地,当确定保留存储区域包括第二签名并且不包括第一签名时,第一过程可以是一数据恢复过程。
本发明的这些和其它优点在阅读下面的详细说明并研究各种附图的基础上将变得明显。
附图说明
本发明通过参考结合下列附图的后面的说明能最好地理解本发明:
图1a是普通的包括非易失存储器的宿主系统的概略表示。
图1b是存储设备例如图1a的存储设备120的概略表示。
图1c是包含嵌入的非易失存储器的宿主系统的概略表示。
图2是依照本发明实施例的非易失存储器组件的概略表示。
图3a是依照本发明实施例包括初始化签名的电源管理数据块的概略表示。
图3b是依照本发明实施例带有初始化签名和关闭电源签名的电源管理数据块例如图3a的电源管理数据块304的概略表示。
图4是一过程流程图,示出依照本发明实施例与初始化使用非易失存储器组件关联的步骤。
图5是一过程流程图,示出依照本发明实施例与利用一先前已经关闭电源的存储器组件的方法关联的步骤。
图6是依照本发明实施例的非易失存储器的宿主系统区和数据区的概略表示。
图7是一过程流程图,示出依照本发明实施例与使用文件分配表文件系统诸如Windows或DOS将一与宿主系统关联的文件写入非易失存储器的方法关联的步骤。
图8是一过程流程图,示出依照本发明实施例与识别与处理与一单一逻辑数据块关联的物理数据块的方法关联的步骤。
图9是依照本发明实施例的系统结构的概略的方框图表示。
详细说明
存储系统的掉电一般可在存储系统中引起许多问题。这些问题包括,但不限于此,当在将一个文件写入闪存的过程期间掉电时被丢失的数据。为了纠正由于电源掉电而发生的问题,在存储系统后来开启电源后可执行恢复操作以维护数据完整性。当正在写闪存存储器时已经经历一次掉电,数据可能被不正确地编写到存储器中。如果损坏的数据是在诸如文件分配表(FAT)或目录这样的系统数据区中,闪存存储器可能不能被宿主识别。一个成功的恢复过程将使闪存存储器返回可用的状态。如果写了部分文件,则还没有写的部分一般被认为不存在了。已经写入的部分可被抢救到一个临时文件供用户回顾、丢弃、创建或合并到另一个文件。一般地,在不知道关于上次关闭的情形时,可在存储系统每次开启电源时执行恢复操作,甚至当这个操作没有必要时,如例如当在上次存储系统被关闭时发生正常的关闭电源。
区别与非易失存贮器组件关联的正常关闭电源和异常关闭电源之间的能力能使开启电源过程进行得更有效率。例如,如果确定存储器组件先前关闭电源为正常时可避免比较费时的磁盘扫描操作。如果确定先前关闭电源是异常的,那么可使用磁盘扫描操作以收回丢失的存储。通过实质性地阻止存储恢复过程诸如磁盘扫描过程发生,除非这样的过程是必需的,例如当存在异常关闭电源诸如电源故障时,整个开启电源过程可进行得更有效率。
在非易失存储系统中保留初始化和关闭电源过程签名,如例如在非易失存储器中的一个保留扇区中,使能够有效地作出有关先前从非易失存储器移去电源是由于要求的关闭或由于电源故障的判断。例如,在正常情况下如要求关闭电源时发生关闭电源的任何时候,可存储表示在正常情况下发生关闭电源的关闭电源签名。因此,当在下次开启电源期间找到这样的关闭电源签名时,这个关闭电源签名可用于确定前一次关闭电源发生在正常情况下并且存储恢复过程是不必要的。在一个实施例中,一个保留数据块,例如存储器组件或芯片的电源管理数据块可象这样安排,使每当正常关闭电源发生时可将一关闭电源签名写入电源管理数据块的页。当下一次为存储器组件施加电源时,可访问保留数据块以确定一个合适的关闭电源签名是否包含在其中。
闪存存储系统,或更一般地,可从使用电源管理数据块得益的非易失存储系统通常包括闪存卡(flash memory card)和芯片组。一般地,闪存存储系统是与宿主系统一起使用的,这样使宿主系统可从闪存存储系统读写数据。不过,有些闪存存储系统包括嵌入的闪存存储器和在宿主上实际作为这个嵌入的闪存存储器的控制器执行的软件,如将在下面相对于图1c讨论的。参考图1a,将描述一个普通的包括非易失存储设备例如袖珍闪存卡(CompactFlash memory card)的宿主系统。宿主或计算机系统100一般包括允许微处理器108、随机存取存储器(RAM)112和输入/输出电路116通信的系统总线104。应该意识到宿主系统100一般可包括其它组件,例如,为了说明的目的未示出的显示设备和网络设备。
一般而言,宿主系统100可能具有捕捉信息的能力,信息包括但不限于此,静态图象信息、音频信息和视频信息。可以实时地捕捉这样的信息,并可通过无线方式将信息发送到宿主系统100。虽然宿主系统100实际上可以是任何系统,但是宿主系统100一般是数字照相机、视频摄象机、移动通信装置、音频播放器或视频播放器。不过应该意识到,宿主系统100通常可以是实际上存储数据或信息并且检索数据或信息的任何系统。
宿主系统100也可以是或者只捕捉数据或者只检索数据的系统。也就是说,宿主系统100可以是,在一个实施例中,一个存储数据的专用系统,或者宿主系统100可以是一个读取数据的专用系统。作为例子,宿主系统100可以是一个只被安排写和存储数据的存储记录器(memory writer)。可替换地,宿主系统100可以是这样一个装置,诸如一般被安排为读取或检索数据而不捕捉数据的MP3播放器。
在一个实施例中,是可移动的非易失存储设备的非易失存储设备被安排与总线104接口以存储信息。可选的接口单元130可允许非易失存储设备120间接与总线104接口。当存在这个单元时,输入/输出电路单元116帮助减少总线104上的负荷,如在本领域的熟练技术人员将理解的。非易失存储设备120包括非易失存储器124和一个可选的存储控制系统128。在一个实施例中,非易失存储设备120可在一单一芯片或电路小片(die)上实现。可替换地,非易失存储设备120可以在多芯片模块或在多个分散的可形成芯片组并可作为非易失存储设备120一起使用的组件上实现。一个非易失存储设备120的实施例将在下面参考图1b描述。
非易失存储器124例如闪存诸如NAND闪存存储器,被安排存储数据,使数据在需要时可被访问或读取。存储在非易失存储器124中的数据在适当的时候也可以被擦除,尽管应该理解在非易失存储器124中有些数据是不可擦除的。存储数据、读取数据和擦除数据的过程通常由存储控制系统128或当不存在存储控制系统128时由微处理器108执行的软件控制。非易失存储器124的操作可通过实质上使非易失存储器124的扇区被实质性地平均磨损这样管理,使非易失存储器124的寿命充分地最大化。
非易失存储设备120通常被描述为包括一个可选的存储控制系统128,即控制器。非易失存储设备120常常可包括非易失存储器124和存储控制系统128的单独的芯片,即控制器、功能。作为例子,尽管包括但不限于此PC卡(PC card)、袖珍闪存卡(CompactFlash card)、多媒体卡(MultiMedia card)和保密数字卡(secure digitalcard)在内的非易失存储设备包括可在单独的芯片上实现的控制器,但是其它非易失存储设备可不包括在单独的芯片上的控制器。在不包括单独的存储器和控制器芯片的非易失存储设备实施例中,存储器和控制器功能可被集成到一单一芯片中,如本领域的熟练技术人员将意识到的。可替换地,存储控制系统128的功能可由微处理器108提供,如例如在非易失存储设备120不包括存储控制器128的实施例中,如上所述。
参考图1b,非易失存储设备120将依照本发明的一个实施例更详细地描述。如上所述,非易失存储设备120包括非易失存储器124和可能包括存储控制系统128。存储器124和控制系统128或控制器可以是非易失存储设备120的基本组件,尽管当存储器124是在嵌入NAND设备中,例如,非易失存储设备120可不包括控制系统128。存储器124可以是一个在半导体基底上形成的存储单元阵列,在其中通过将两个或多个电荷电平之一存储在存储单元的单独存储元件中使一个或多个数据位被存储在单独存储单元中。非易失闪存电可擦写只读存储器(electrically erasable programmableread only memory)(EEPROM)是普通类型的用于这样系统的存储器的一个例子。
当控制系统存在时,控制系统128通过总线15与宿主计算机或其它使用存储系统存储数据的系统通信。总线15通常是图1a的总线104的一部分。控制系统128还控制包括存储器单元阵列11的存储器124的操作,以写由宿主提供的数据、读宿主请求的数据以及执行在操作存储器124中的各种内务管理功能。控制系统128通常包括一个已经与非易失软件存储器关联的通用微处理器,各种逻辑电路等等。常常包括一个或多个状态机以控制特殊例程的执行。
存储器单元阵列11一般由控制系统128或微处理器108通过地址解码器17寻址。解码器17施加正确的电压到阵列11的选通(gate)和位线,为了编写数据到存储单元、从存储单元读数据或擦除存储单元,这里的存储单元是一组正由控制系统128寻址的存储单元。附加的电路19包括控制施加到阵列的元件的、依赖要被编写到被寻址的单元组的数据的电压。电路19还包括读出放大器和其它从被寻址的存储单元组读数据所需的电路。被编写到阵列11的数据,或最近从阵列11读取的数据,一般被存储在控制系统128中的一个缓冲存储器21中。控制系统128还通常包含各种寄存器用于临时存储命令和状态数据等等。
阵列11被分成大量的数据块(BLOCK)O-N个存储单元。如对于闪存EEPROM系统是共同的,数据块一般是最小的擦除单元。也就是说,每个数据块包含最小数量的要一起被擦除的存储单元。每个数据块一般被分成许多页(page)。如本领域的熟练技术人员将意识到的,一个页是最小的编写单位。也就是说,一个基本的编写操作将数据写入最小的一个存储单元页,或从最小的一个存储单元页读取数据。数据的一个或多个扇区(section)一般存储在每个页中。如图1b所示,一个扇区包括用户数据和系统开销数据(overhead data)。系统开销数据一般包括一个错误校正码(errorcorrection code)(ECC),它是从这个扇区的用户数据计算出来的。控制系统128的部分23当数据正被编写到阵列11中时计算ECC,以及当从阵列11读取数据时也校验ECC。可替换地,ECC被存储在不同的页或不同的数据块中,而不是存储在ECC附属的用户数据中。
一个扇区的数据一般为512字节,相应于在磁盘驱动器中的扇区的大小。系统开销数据或冗余数据,一般是额外的16字节。在每个页中最普通地包含一个数据扇区,但两个或多个扇区可代替一个扇区构成一个页。任意数量的页一般可构成一个数据块。作为例子,一个数据块可从八个页到512、1024或更多的页构成。选择数据块的数量以给存储系统提供一个要求的数据存储容量。阵列11一般被分成少量子阵列(未出示),每个子阵列包括一部分数据块,子阵列为了增加在执行各种存储操作中的并行性程度(degree of parallelism)在某种程度上互相独立地操作。在美国专利号No.5,890,192中描述了使用多个子阵列的实例,通过引用将该专利全部包含在此。
在一个实施例中,非易失存储器被嵌入在一个系统例如一个宿主系统中。图1c是包括嵌入的非易失存储器的宿主系统的概略表示。宿主或计算机系统150一般包括允许微处理器158、RAM162和输入/输出电路166在宿主系统150的其它组件(未示出)中通信的系统总线154。非易失存储器174例如闪存存储器,允许信息被存储在宿主系统150内。可在非易失存储器174与总线154之间提供接口180,以使信息能从非易失存储器174读取或写入非易失存储器174。
非易失存储器174可由微处理器158管理,微处理器有效地执行被安排控制非易失存储器174的软件和固件的任一或两者。也就是说,微处理器158可运行代码器(未示出),即让非易失存储器174被控制的软件代码器或固件代码器。这样的代码器,可以是与CPU一起包装在微处理器158中的闪存存储器、单独的闪存ROM或在非易失存储器174中,它将在下面被描述,可使非易失存储器174中的物理数据块能被寻址,并可使信息能被存入物理数据块、或从物理数据块读出和擦除。
一般而言,非易失存储器组件诸如一个NAND闪存芯片被分成数据块。图2是依照本发明的一个实施例的非易失存储器组件的概略表示。存储器组件200包括一组数据块204。在存储器组件200中数据块204的数量可以依据存储器组件200的全部容量大范围地变化。作为例子,存储器组件200可包括512个数据块、1024个数据块、2048个数据块或4096个数据块。应该意识到存储器组件200一般可包括N个数据块204,其中N实际上可以是任意适当的数据块数量。
在存储器组件204中一定数量的数据块204可认为是被保留的数据块204f-m。虽然保留数据块204f-m可以是最后很少使用的数据块204,如例如在存储器组件200中最后八个数据块204,但是保留数据块204f-m通常可以是存储器组件200中任意数据块204。保留数据块204f-m一般被保留用作电源管理数据块或擦除计数数据块,这在共同待批的美国专利申请No.10/281,804中描述,通过引用包含在此。保留数据块f-m常常包括一个当前电源管理数据块,一旦这个当前电源管理数据块满它就可由从保留数据块204f-m中分配的其它电源管理数据块代替或接替。
当将电源施加于存储器组件200时,例如当首先施加电源作为一个初始化过程的一部分时,一个被安排表示初始化过程是成功的初始化签名或位,可被存储到与电源管理数据块关联的页中。参考图3a,将依照本发明实施例描述一个包含初始化签名的电源管理数据块的实施例。电源管理数据块304一般包括任意数量的页308。一般地,包含在电源管理数据块304中的页数308可以至少部分地依赖于在包括电源管理数据块304的整个非易失存储器中的数据块的标准容量。
一旦成功地初始化存储器组件,一个初始化或“open”(开)签名312被写入电源管理数据块304的一第一页308a。因此,当在第一页308中找到初始化签名312时,或者更一般地如果在电源管理数据中可得到最近的签名,则表示一个初始化过程已经成功。在一个实施例中,初始化签名312可与其它信息例如一个平均擦除计数一起被写入页308a。
当包括电源管理数据块304的存储器组件开启电源时,一般访问已经写入内容的最后页308。如果先前初始化过程成功,已经写入内容的最后页308可包括初始化签名312,但是在这个初始化过程之后发生的关闭过程是异常的。如果在初始化过程之后发生的关闭过程是正常的,那么已经写入内容的最后页308一般将包括一个关闭签名,如图3b所示。关闭或“closed”(关)签名324一般可包括被安排为例如以一个模式表示一个关闭过程成功地完成的位。一般而言,关闭签名324的存在于已经写入内容的最后页308b表示最近存储器组件的关闭电源是在正常情况下发生的,而不是在可使存储器组件需要执行一次数据恢复过程的异常情况诸如由于电池故障下发生的。
当关闭签名324被写入页308b时,关闭签名324可与其它信息一起被写入页308b。可与关闭签名324一起被写入308b的其它信息可包括,但不限于此,平均擦除计数以及属于空余的数据块诸如最频繁地被擦除的数据块和最不频繁地被擦除的数据块这样的擦除计数。
参考图4,将依照本发明实施例描述与初始使用一个具有与电源管理数据块关联的非易失存储器组件的方法的有关步骤。初始使用一个非易失存储器组件的过程400,如例如第一次存储器组件开启电源,开始于步骤404,在该步骤中存储器组件开启电源。初始化存储器组件可包括,但不限于此,为存储器组件提供、创建使存储器组件能被使用所需要的数据结构。
一旦初始化存储器组件,在步骤408中可将一个初始化签名写入电源管理数据块。如前面提到的,可将初始化签名写入电源管理数据块的同一页中,如平均擦除计数和其它信息一样。在写入初始化签名后,在步骤412中可使用存储器组件。使用存储器组件一般可包括写或存储数据到存储器组件中,以及从存储器组件读取所存储的数据。
在某些时候,存储器组件的用户可发布一个命令或一个请求关闭存储器组件,如例如当用户想要关闭一个与存储器组件接口的宿主设备的时候。因而,在步骤416中作出有关存储器组件是否要被关闭的判断。如果决定存储器组件不要关闭电源,那么过程流程返回到步骤412,在该步骤中继续使用存储器组件。可替换地,如果决定存储器组件要关闭电源,那么在步骤420中将一个关闭签名写入电源管理数据块。在一个实施例中,在实际上将其它信息象关闭签名一样存储到同一页中的同时写关闭签名。这样的信息可包括,但不限于此,平均擦除计数、与最少频繁地被擦除的数据块表关联的标识符和与最频繁地被擦除的数据块表关联的标识符,如上面所提到的。在将关闭签名写入电源管理数据块后,在步骤424中存储器组件关闭电源,并且初始化使用存储器组件的过程完成。
一般而言,当不知道存储器组件是否要被初始化时,可以检查存储器组件的电源管理数据块中的初始化标签。也就是说,与其自动地初始化存储器组件,如可以在知道电源是第一次提供给存储器组件时发生的,不如首先确定以前是否已经初始化过存储器组件,以及因此开启电源或关闭电源。图5是一个过程流程图,示出依照本发明实施例与使用以前可能已经关闭电源的存储器组件的方法有关的步骤。使用包含电源管理数据块的存储器组件的过程500开始于步骤504,在该步骤中为存储器组件提供电源。一旦为存储器组件提供电源,在步骤508中确定在电源管理数据块中是否存在初始化签名。特别地,确定存储器组件的初始化是否以前完成过。
当确定在电源管理数据块中有一个合适的初始化签名时,那么表示存储器组件的初始化或开启电源先前成功完成。同样,在步骤512中,确定在电源管理数据块中是否存在一个适当的关闭签名。当在电源管理数据块中有一个适当的关闭签名时,表示关闭签名是电源管理数据块中最近的签名。在一个实施例中,确定是否存在一个适当的关闭签名包括确定一个初始化签名是否是电源管理数据块中最近的签名,或者存在于电源管理数据块中最近所写的页中。
如果在步骤512中确定在电源管理数据块中存在一个适当的关闭签名,那么表示数据与存储器组件实际上是同步的,并且因此,不需要数据恢复过程。同样,在步骤532中可使用存储器组件。应该意识到使用存储器组件可包括将一个初始化签名或开签名写入电源管理数据块。使用存储器组件还可包括当收到一个关闭或关闭电源的命令时将一个关闭签名写入电源管理数据块。一旦在步骤532中使用存储器组件,利用存储器组件的过程就完成了。
可替换地,如果在步骤512中确定关闭签名不是电源管理数据块中最近的签名,那么表示存储器组件的异常关闭先前已经发生过。也就是说,当一个初始化签名是电源管理数据块中最近的签名并且不存在与这个初始化签名对应的关闭签名时,那么推论是先前关闭存储器组件或切除存储器组件的电源不是在正常情况下发生的。例如,由于电池故障存储器组件可能发生过掉电。同样,过程流程从步骤512移至步骤516,在该步骤中执行一个数据块同步过程。一般地,由于与存储器组件关联的数据可能不同步,例如可能存在不止一个物理数据块被分配给一个逻辑数据块,则可执行数据块同步过程。而且,可通知宿主系统使用这个存储器组件的整个系统的先前关闭不是平稳的,并可提示用户运行恢复诊断诸如扫描磁盘诊断。
在一个实施例中,在执行数据恢复过程之后,实际上所有与数据块关联的擦除计数可以是同步的或者否则在步骤518中使用从擦除计数数据块获得的一个平均擦除计数更新它们。擦除计数数据块的一个实例在共同待批的美国专利申请No.10/281,626中描述,通过引用包括在此。
在同步擦除计数之后,在步骤524中通知操作系统或宿主在先前的关闭电源中不正确的关闭或电源故障已经发生过。也就是说,通知与存储器组件关联的宿主的文件系统不正确的关闭。宿主一般将确定是否需要一个象“scandisk”(磁盘扫描)过程的数据完整性检查和恢复过程。可向用户提示一个是否需要这样一个过程的询问。然后可将是启动恢复过程还是忽略这个通知留给用户。
回到步骤808,如果确定在电源管理数据块中没有初始化签名,那么表示的是存储器组件先前没有被成功地初始化。同样,在步骤528中,初始化存储器组件。初始化存储器组件可包括如果正确地初始化存储器组件,将一个初始化签名写入电源管理数据块。一旦初始化存储器组件,那么在步骤532中就可使用存储器组件。
一般而言,当在整个系统中发生电源故障时,可危及与文件关联的数据完整性。特别地,当由于电源故障写过程被过早地异常中断时,可危及从一个宿主有效写入非易失存储器或存储器组件的数据区的文件的完整性。当有一个来自于用户的关闭电源请求时,一般在实际关闭电源发生之前完成写文件。
当将文件写入到非易失存储器时,一般基于一种顺序将文件写入到非易失存储器的不同区域。例如,可按一特殊顺序写入到非易失存储器的宿主系统区和数据区。图6是依照本发明实施例的非易失存储器的宿主系统区和数据区的概略表示。在所描述的实施例中,非易失存储器600是一个NAND存储器,虽然应该意识到非易失存储器600通常可以是任何适合的存储器。
存储器600的宿主系统区通常包括一主引导记录(master boot record)602、一隐藏区(hidden area)606、一分区引导记录(partition boot record)610、一第一文件分配表(first file allocation table)614、一第二文件分配表(second fileallocation table)618和一根目录(root diretory)622。主引导记录602使能确定与存储器600关联的哪个分区与哪个操作系统兼容。例如,主引导记录602可指定一个特殊的分区与Linux操作系统兼容,而另一个分区与Windows 98操作系统兼容。分区引导记录610,如本领域熟练技术人员将意识到的,使与存储器600接口的宿主系统能识别操作系统与哪一个存储器600兼容。
存储器600的数据区626被安排包括与根目录622关联的子目录(未示出)。此外,数据区626被安排包含与存储器600关联的文件。当文件被写存储器600时,如在下面将参考图7描述的,可在一个目录例如根目录622或与根目录622关联的子目录中写入文件名,在此之后将与文件名关联的数据写入到数据区626。然后可用文件的内容的位置、大小和创建时间写入文件分配表614、618和更新已经写入文件名的目录。
参考图7,将依照本发明实施例描述与一个将与宿主系统关联的文件写入非易失存储器的方法的典型步骤的实例。写文件的过程760开始于步骤764,在该步骤中将要被创建的数据文件的名称、创建时间和属性写入一个与非易失存储器关联的目录中,如例如NAND存储器。一旦将文件的名称写入目录,在步骤768中将数据文件的内容写入与存储器关联的数据区。在所述实施例中,在将数据文件的内容写入到数据区之后,在步骤772中可写入第一FAT以使数据在对应于文件的数据区的位置能被识别。在步骤776中可这样写入第二FAT,使第二FAT是第一FAT的有效拷贝。在写两个FAT之后,在步骤780中可用标识文件开始的内容在数据区中位置的开始簇和标识有效创建文件的最后时间更新对应于文件的目录项。由于文件创建或修改没有完成直到步骤780完成,因此在步骤772和步骤776之后,一般写入数据文件内容的最后簇或最后页。如本领域熟练技术人员将意识到的,簇可包括任意数量的页,并且一般由分区引导记录规定。一旦完成写文件的过程,目录项就被更新。
通过使用电源管理数据块,可确定先前切除存储器电源是否由于电源故障或另外的异常。当确定存储器的关闭电源是异常的,那么文件写过程可能发生过异常中断。因此,通知宿主执行数据恢复过程以维护系统的数据完整性是值得做的。
继续参考图7,如果在步骤764之间或步骤780之后关闭电源,没有写文件或完成写文件,则没有损坏的文件。要写但由于在写过程开始之前掉电而未写的那些文件,对于用户将是不可用的。除了步骤768之外,如果开始写操作但在步骤764、步骤772、步骤776或步骤780中任意一个步骤没有完成,则没有有效执行这些步骤。因此,正在写入的页实际上被丢弃了,而旧的页被用于恢复。在本发明中旧页是可用的。实际上代替损坏页的旧页对于宿主是透明的。由ECC校验保护内容的有效性。当一个页被损坏时,先前“good”(好)或未损坏的页可返回给宿主,如在共同待批的美国临时专利申请No.60/421,725中所述,通过引用将该专利全部包含在此。页的被更新信息实际上总是被写到一个已擦除的页而不盖写旧页。因此,如果还没有擦除旧页,它的数据内容将不被盖写中的新信息损坏。而且,如在共同待批的美国专利No.10/281,631中所述的,包括FAT和目录在内的文件系统的临界区,常常被分成多个物理数据区。在格式化闪存之后,一般存在一个FAT和目录的每个页的有效拷贝。当没有成功地写新的页时备份页是可用的,因此使介质能被恢复,而一个不能识别的FAT和目录可使介质不可被恢复。
如果在步骤764中电源故障发生并引起写操作失败,则通常使用目录的先前拷贝。如果写操作成功完成,系统可能有一个有名称的文件,但不包括内容,例如具有近似于零的文件大小。因此,用户一般将需要“re-create”(重创建)文件,这样具有内容的文件将被存储。当步骤掉电发生在步骤768或在步骤768之后但在步骤772之前的任何时候,所写的数据不与任何文件关联,因此,对于用户是不可用的。用户一般将有一个大小近似于零的文件。如果掉电发生在写入FAT1或FAT2之后,宿主可能能够定位数据并使数据可用于用户在恢复过程中抢救一些信息。应该理解在步骤768之后的电源故障,因为在这个故障中写入的信息使用普通恢复过程通常是不可抢救的。由于目录项没有将文件与数据关联起来直到步骤780,用户甚至在776后将还“see”(看见)文件大小为近似于零。
本发明允许用户通知宿主发生过电源故障并通常需要恢复过程。当在异常关闭电源后给存储器开启电源时,在异常关闭电源的后果中也可能需要完成数据块复制或合并过程。例如,当一组物理数据块与一个单一逻辑数据块关联,这样分解(resolve)物理数据块使逻辑数据块实际上只与实际包含所有与这个逻辑数据块关联的当前数据或信息的单一物理数据块关联在一起,这是值得做的。
分解与一个公共逻辑数据块关联的物理逻辑数据块一般包括确定哪一个物理数据块是最近与这个逻辑数据块关联的。在共同待批的美国专利申请No.10/281,762中所描述的更新索引,可用于确定一组物理数据块中哪一个物理数据块与一个逻辑数据块关联,并因此应该有效地更新以包含与这个逻辑数据块关联的最近的内容。当一个逻辑数据块具有不止一个关联的物理数据块并且实际上需要识别一个要与这个逻辑数据块关联的物理数据块,常常从物理数据块中获得更新索引,如这样安排更新索引,比较来自两个物理数据块的更新索引将识别这两个物理数据块中哪一个在分解物理数据块之后应该保留与这个逻辑数据块关联,例如在一个合并过程发生后,以及这两个物理数据块中哪一个应该不与这个逻辑数据块关联。
存储在至少一个与物理数据块关联的系统开销或冗余区域中的更新索引,可被安排表示两个涉及复制或合并的物理数据块中哪一个是旧的物理数据块和这两个物理数据块中哪一个是新的物理数据块或者哪一个内容要被复制到这个物理数据块。例如,新的物理数据块的更新索引可这样设置,使这个更新索引的值比旧的物理数据块的更新索引高。因此,当物理数据块的更新索引被检查以确定哪一个物理数据块是新物理数据块时,可确定具有较高的更新索引的物理数据块是新物理数据块。
当确定之后,在例如使用一个电源管理数据块时,在一个包括非易失存储器的存储系统中先前已经发生过电源故障,那么任何已经具有不止一个关联的物理数据块的逻辑数据块可这样识别使物理数据块可被分解,例如通过使用更新索引。在一个实施例中,可具有不止一个关联的物理数据块的实际上唯一的逻辑数据块是当电源故障发生时正在写或更新的过程中的最后的逻辑数据块。图8是一个过程流程图,示出依照本发明实施例与一个识别和处理与一个单一的逻辑数据块关联的物理数据块的方法关联的步骤。过程900开始于步骤904,在该步骤中在存储器组件的电源或者由于故意关闭电源或者意外的电源故障而被切断之后的某个时候给存储器组件提供电源。在为存储器组件提供电源之后,可读取存储器组件的电源管理数据块中的页以确定电源故障是否发生。如上面所讨论的,当一个关闭签名是电源管理数据块中有效的最近签名,那么表示存储器组件先前的关闭是故意关闭电源。否则,一般表示存储器组件先前的关闭是由于电源故障。
在步骤912中作出有关电源故障是否发生过的判断。如果确定电源故障没有发生,那么可能表示没有要分解成单一逻辑数据块的物理数据块。因此,识别与分解物理数据块的过程完成。可替换地,如果在步骤912中确定电源故障或异常关闭发生过,那么可能存在要分解的物理数据块。因此,过程流程从步骤912移到步骤916,在该步骤中读取与存储器组件关联的物理数据块的系统开销区域。读取系统开销区域可包括读取通常存储在系统开销区域中的更新索引,以及读取属于每个物理数据块所关联的逻辑数据块的信息。
一旦读取存储器组件的物理数据块的系统开销区域,就在步骤920中确定是否有任何具有不止一个关联的物理数据块的逻辑数据块。如果确定存在具有不止一个关联的物理数据块的逻辑数据块,则过程流程移到步骤924,在该步骤中从与一个共同的逻辑数据块关联的物理数据块的系统开销区域中获得更新索引,使物理数据块的更新索引可被比较。应该意识到当存在多个具有不止一个关联的物理数据块的逻辑数据块时,对应与一个逻辑数据块关联的物理数据块的更新索引可以全部获得。换句话说,实际上所有具有不止一个关联的物理数据块的逻辑数据块可通过获得实际上所有与这样的逻辑数据块关联的物理数据块的更新索引而被处理。
在从物理数据块获得更新索引之后,在步骤928中分解物理数据块,使每个逻辑数据块具有一个单一的关联的物理数据块。通常这样分解物理数据块,使一组与一个共同的逻辑数据块关联的物理数据块的更新索引被用于识别物理数据块中哪一个是最近与这个共同的逻辑数据块关联的。分解物理数据块还可包括实际上将所有当前的与这个共同的逻辑数据块关联的信息或数据提供给与这个共同的逻辑数据块最近关联的物理数据块。
紧接着分解物理数据块,如果需要在步骤932可执行其它数据恢复。其它数据恢复可包括,例如,恢复作为异常中断复制过程的结果所失去的簇。一旦执行了数据恢复,识别与分解物理数据块的过程就完成了。
回到步骤920,如果确定没有具有不止一个关联的物理数据块的逻辑数据块,那么表示不存在要分解的物理数据块。因此,过程流程移到步骤936,在该步骤中如需要可执行其它数据块。在执行了任何其它所需的数据恢复后,识别和分解物理数据块的过程完成。
一般而言,在软件例如作为程序编码设备或作为包括非易失存储器或非易失存储器组件的宿主系统的固件中,提供与实现、维护和利用电源管理数据块关联的功能。在图9中示出一个适合的系统结构的实施例,这个系统结构与提供给宿主系统使它能实现、维护和使用电源管理数据块的软件或固件关联。系统结构700通常包括各种各样的模块,这些模块可包括但不限于此,应用程序接口模块704、系统管理程序模块708、数据管理程序模块712、数据完整性管理程序模块716和设备管理程序和接口模块720。一般而言,系统结构700可使用可由处理器例如图1的处理器108存取的软件编码设备或固件。
一般而言,应用程序接口模块704可被安排与宿主、操作系统或用户直接通信。应用程序接口模块704还可与系统管理程序模块708和数据管理程序模块712。当用户想要读、写或格式闪存时,它发送请求至操作系统,请求被传递给应用程序接口。应用程序接口依赖于请求将请求指向系统管理程序模块708或数据管理程序模块712。
系统管理程序模块708包括一个系统初始化子模块724、一个擦除计数数据块管理程序子模块726和一个电源管理程序数据块子模块730。通常安排系统初始化子模块724使一个初始化请求能被处理,以及一般与擦除计数数据块管理子模块726通信。擦除计数数据块管理子模块726包括使数据块的擦除计数被存储的功能和使用单独的擦除计数使平均擦除计数被计算和更新的功能。在共同待批的美国专利申请No.10/281,739中描述擦除计数的使用,通过引用将该专利全部包括在此。系统初始化模块724还被安排分解一个一对多逻辑对物理(logical-to-physical)数据块分配,并且因此可利用更新索引。电源管理数据块子模块730可被安排使电源管理能被实现、维护和使用。作为例子,电源管理数据块子模块730可被安排分配电源管理数据块,以及监视写签名和可被存储在电源管理数据块中的其它信息。
除与应用程序接口模块704通信之外,系统管理程序模块708还与数据管理程序模块712以及设备管理程序和接口模块720通信。与系统管理程序模块708和应用程序接口模块704两者通信的数据管理程序模块712,可包括提供有效地将逻辑扇区翻译成物理扇区的扇区映射功能。也就是说,安排数据管理程序模块712将逻辑数据块映射成物理数据块。数据管理程序模块712还可包括与操作系统和文件系统接口层关联的功能,以及使数据块内的组能被管理,如在共同待批的美国专利申请No.10/281,855中描述的,通过引用已经包括该专利全部。
与系统管理程序模块708、数据管理程序712和数据完整性管理器716通信的设备管理程序和接口模块720,一般提供一个闪存接口,并包括与硬件抽象(hardwareabstraction)例如I/O接口关联的功能。数据完整性模块716在其它功能中提供ECC处理。
虽然只描述了少数本发明的实施例,但是应该理解本发明可在很多其它不脱离本发明的精神或范围的特殊形式中具体化。作为例子,虽然通常将电源管理模块描述为与NAND存储器例如MLC NAND存储器关联。不过一般而言,可相对于实质上任何适合的存储器或存储系统实现电源管理数据块。
在初始化签名和关闭签名中包括的位数可很大地变化。在一个实施例中,在签名中包括的位数可依赖于特殊系统的要求。例如,在签名中包括的位数可少到一位,或多到包括在电源管理数据块的一个页中的位数。
可很大地变更与本发明各种方法关联的步骤。一般而言,在不脱离本发明的精神和范围下可增加、删除、重排序和改变步骤。因此,要认为这些实例是例示性而非限制性的,并且本发明不受限于在此给出的细节,而是可在后附的权利要求书的范围内修改的本发明。

Claims (46)

1.利用存储系统的方法,所述存储系统包括非易失存储器,所述非易失存储器包括至少一个保留存储区域,所述方法包括下列步骤:
为所述存储系统提供电源;
初始化所述非易失存储器;以及
将第一签名写入所述至少一个保留存储区域,其中,所述第一签名被安排表示所述存储系统被成功地初始化。
2.如权利要求1所述的方法,进一步包括:
在所述存储系统上执行关闭电源过程;以及
将第二签名写入所述至少一个保留存储区域,其中,所述第二签名被安排表示所述关闭电源过程已被执行。
3.如权利要求2所述的方法,进一步包括:
在将所述第二签名写入所述至少一保留存储区域之后从所述存储系统移去电源。
4.如权利要求2所述的方法,其特征在于,所述将第二签名写入所述至少一保留存储区域的步骤包括将附加的信息与所述第二签名一起写入所述至少一个保留存储区域。
5.如权利要求2所述的方法,其特征在于,所述至少一个保留存储区域是数据块,并且所述将第二签名写入所述至少一个保留存储区域的步骤包括将所述第二签名写入包括在所述数据块中的第二页。
6.如权利要求5所述的方法,其特征在于,所述将第一签名写入所述至少一个保留存储区域的步骤包括将所述第一签名写入包括在所述数据块中的第一页。
7.如权利要求2所述的方法,其特征在于,所述执行关闭电源过程的步骤包括完成文件复制过程和分解与所述非易失存储器关联的物理数据块之一。
8.如权利要求1所述的方法,其特征在于,所述将第一签名写入所述至少一个存储区域的步骤包括将附加信息与所述第一签名一起写入所述至少一个保留存储区域。
9.如权利要求1所述的方法,其特征在于,所述至少一个保留存储区域是数据块,并且所述将第一签名写入所述至少一个保留存储区域的步骤包括将所述第一签名写入包括在所述数据块中的第一页。
10.如权利要求1所述的方法,其特征在于,所述非易失存储器是NAND闪存存储器。
11.存储系统包括:
包括至少一个保留存储区域的非易失存储器;
提供电源的工具;
初始化所述非易失存储器的工具;以及
将第一签名写入所述至少一个保留存储区域的工具,其中,所述第一签名被安排表示所述非易失存储器被成功地初始化。
12.如权利要求11所述的存储系统,进一步包括:
在所述存储系统上执行关闭电源过程的工具;以及
将第二签名写入所述至少一个保留存储区域的工具,其中,所述第二签名被安排表示所述关闭电源过程已被执行。
13.如权利要求12所述的存储系统,其特征在于,所述至少一个保留存储区域是数据块,并且所述将第一签名写入所述至少一个保留存储区域的步骤包括将所述第一签名写入包括在所述数据块中的第一页,并且所述将第二签名写入所述至少一个保留存储区域的步骤包括将所述第二签名写入包括在所述数据块中的第二页。
14.如权利要求11所述的存储系统,其特征在于,所述非易失存储器是NAND闪存存储器。
15.存储设备包括:
被安排维护在非易失存储器内的至少一个保留存储区域的编码器;
当所述非易失存储器被成功初始化时,使第一签名被写入所述至少一个保留存储区域以表示所述非易失存储器被成功初始化的编码器;以及
被安排存储所述编码器的存储扇区。
16.如权利要求15所述的存储设备,进一步包括:
当关闭电源过程被成功执行时,使第二签名被写入所述至少一个保留存储区域以表示所述关闭电源过程已被成功执行的编码器。
17.如权利要求16所述的存储设备,其特征在于,所述至少一保留存储区域是数据块,并且所述使第一签名被写入所述至少一个保留存储区域的编码器包括使所述第一签名被写入包括在所述数据块中的第一页的编码器,并且所述使第二签名被写入所述至少一个保留存储区域的编码器包括使所述第二签名被写入包括在所述数据块中的第二页的编码器。
18.如权利要求15所述的存储设备,其特征在于,所述编码器是软件编码器和固件编码器之一。
19.利用存储系统的方法,所述存储系统包括非易失存储器,所述非易失存储器包括至少一个保留存储区域,所述方法包括下列步骤:
为所述存储系统提供电源;
确定所述存储系统先前已经经历实质性正常的关闭电源过程的时间;
当确定所述存储系统先前没有经历正常的关闭电源过程时,在所述非易失存储器上执行第一过程,所述第一过程被安排为使用准备好所述非易失存储器;以及
当确定所述存储系统先前已经经历正常的关闭电源过程时,实质性地允许使用所述非易失存储器。
20.如权利要求19所述的方法,其特征在于,所述实质性地允许使用所述非易失存储器的步骤包括将第一签名写入所述至少一个保留存储区域以表示所述非易失存储器被实质性地启用。
21.如权利要求19的所述方法,其特征在于,所述确定所述存储系统先前已经经历所述实质性正常的关闭电源过程的时间的步骤包括:
确定所述至少一个保留存储区域包括第一签名的时间,所述第一签名被安排表示所述正常关闭电源过程先前已经发生。
22.如权利要求21的所述方法,其特征在于,确定所述存储系统先前已经经历所述实质性正常的关闭电源过程的时间的步骤进一步包括:
确定所述至少一个保留存储区域包括第二签名的时间,所述第二签名被安排表示所述存储系统先前已经经历初始化过程。
23.如权利要求22所述的方法,其特征在于,当确定所述至少一个保留存储区域不包括所述第二签名并且不包括所述第一签名时,所述第一过程是所述初始化过程。
24.如权利要求22所述的方法,其特征在于,当确定所述至少一个保留存储区域包括所述第二签名并且不包括所述第一签名,所述第一过程是一数据恢复过程。
25.如权利要求24的所述的方法,其特征在于,所述数据恢复过程被安排收回在所述非易失存储器内的内存。
26.如权利要求25所述的方法,其特征在于,所述数据恢复过程包括至少完成文件复制过程和分解与所述非易失存储器关联的物理数据块之一。
27.如权利要求19所述的方法,其特征在于,所述第一过程是数据恢复过程和存储器初始化过程之一。
28.如权利要求19所述的方法,其特征在于,所述非易失存储器是NAND闪存存储器。
29.存储系统包括:
非易失存储器,所述非易失存储器包括至少一个保留存储区域;
为所述存储系统提供电源的工具;
确定所述存储系统先前已经经历实质性正常的关闭电源过程的时间的工具;
当确定所述存储系统先前没有经历正常的关闭电源过程时,在所述非易失存储器上执行第一过程的工具,所述第一过程被安排为使用准备好所述非易失存储器;以及
当确定所述存储器先前已经经历正常关闭电源过程时,实质性地允许使用所述非易失存储器的工具。
30.如权利要求29所述的存储系统,其特征在于,所述实质性地允许使用所述非易失存储器的工具包括将第一签名写入所述至少一个保留存储区域以表示所述非易失存储器的工具被实质性地启用。
31.如权利要求29所述的存储系统,其特征在于,所述确定所述存储系统先前已经经历所述实质性正常的关闭电源过程的时间的工具包括:
确定所述至少一个保留存储区域包括第一签名的时间的工具,所述第一签名被安排表示所述正常关闭电源过程先前已经发生。
32.如权利要求31所述的存储系统,其特征在于,所述确定所述存储系统先前已经经历所述实质性正常的关闭电源过程的时间的工具进一步包括:
确定所述至少一个保留存储区域包括第二签名的时间的工具,所述第二签名被安排表示所述存储系统先前已经经历初始化过程。
33.如权利要求32所述的存储系统,其特征在于,当确定所述至少一个保留存储区域不包括所述第二签名并且不包括所述第一签名时,所述第一过程是所述初始化过程。
34.如权利要求32所述的存储系统,其特征在于,当确定所述至少一个保留存储区域包括所述第二签名并且不包括所述第一签名时,所述第一过程是数据恢复过程。
35.存储系统,包括:
使确定所述存储系统先前已经经历实质性正常的关闭电源过程的时间的编码器;
被安排当确定所述存储系统先前没有经历正常关闭电源过程时使第一过程在与所述存储系统关联的非易失存储器上被执行的编码器,其特征在于,所述第一过程被安排为使用准备好所述非易失存储器;
被安排当所述存储系统先前已经经历正常的关闭电源过程时使所述非易失存储器被允许使用的编码器;以及
存储所述编码器的存储区域。
36.如权利要求35所述的存储系统,其特征在于,所述被安排使所述非易失存储器被允许使用的编码器包括被安排将第一签名写入所述非易失存储器的至少一个保留存储区域以表示所述非易失存储器被允许使用的编码器。
37.如权利要求35所述的存储系统,其特征在于,所述使确定所述存储系统先前已经经历所述实质性正常的关闭电源过程的时间的编码器包括:
被安排使确定所述非易失存储器的至少一个保留存储区域包括第一签名的时间的编码器,所述第一签名被安排表示所述正常的关闭电源过程先前已经发生。
38.如权利要求37所述的存储系统,其特征在于,所述使确定所述存储系统先前已经经历所述实质性正常的关闭电源过程的时间的编码器进一步包括:
被安排使确定所述至少一个保留存储区域包括第二签名的时间的编码器,所述第二签名被安排表示所述存储系统先前已经经历初始化过程。
39.如权利要求38所述的存储系统,其特征在于,当确定所述至少一个保留存储区域不包括所述第二签名并且不包括所述第一签名时,所述第一过程是所述初始化过程。
40.如权利要求38所述的存储系统,其特征在于,当确定所述至少一个保留存储区域包括所述第二签名并且不包括所述第一签名,所述第一过程是数据恢复过程。
41.存储系统包括:
非易失存储器;以及
控制设备,所述控制设备被安排确定所述存储系统先前已经经历实质性地正常的关闭电源过程的时间,当确定所述存储系统先前没有经历正常的关闭电源过程时,在所述非易失存储器上执行第一过程,其中,所述第一过程被安排为使用准备好所述非易失存储,并且当确定所述存储系统先前已经经历正常的关闭电源过程时,实质性地允许使用所述非易失存储器。
42.如权利要求41所述的存储系统,其特征在于,所述第一过程是数据恢复过程和存储器初始化过程之一。
43.如权利要求41所述的系统,其特征在于,所述非易失存储器是NAND闪存存储器。
44.存储系统包括:
非易失存储器,所述非易失存储器包括至少一个保留存储区域;
控制器,所述控制器被安排初始化所述非易失存储器并且将第一签名写入所述至少一个保留存储区域,其中,所述第一签名被安排表示所述存储系统被成功地初始化。
45.如权利要求44所述的存储系统,其特征在于,所述控制器进一步被安排在所述存储系统上执行关闭电源过程并且将第二签名写入所述至少一个保留存储区域,其中,所述第二签名被安排表示所述关闭电源过程已被执行。
46.如权利要求44所述的系统,其特征在于,所述非易失存储器是NAND闪存存储器。
CNA2003101046470A 2002-10-28 2003-10-28 用于非易失存储系统的电源管理数据块 Pending CN1540672A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42216602P 2002-10-28 2002-10-28
US60/422,166 2002-10-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201010173494A Division CN101833482A (zh) 2002-10-28 2003-10-28 用于非易失存储系统的电源管理数据块

Publications (1)

Publication Number Publication Date
CN1540672A true CN1540672A (zh) 2004-10-27

Family

ID=32094175

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2003101046470A Pending CN1540672A (zh) 2002-10-28 2003-10-28 用于非易失存储系统的电源管理数据块
CN201010173494A Pending CN101833482A (zh) 2002-10-28 2003-10-28 用于非易失存储系统的电源管理数据块

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201010173494A Pending CN101833482A (zh) 2002-10-28 2003-10-28 用于非易失存储系统的电源管理数据块

Country Status (5)

Country Link
US (2) US7181611B2 (zh)
EP (1) EP1416379B1 (zh)
JP (2) JP4371771B2 (zh)
KR (2) KR20040038712A (zh)
CN (2) CN1540672A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541684A (zh) * 2010-12-20 2012-07-04 Lsi公司 电源故障的数据操作
CN109508142A (zh) * 2017-09-14 2019-03-22 爱思开海力士有限公司 数据存储装置及其操作方法
CN111399926A (zh) * 2018-12-13 2020-07-10 北汽福田汽车股份有限公司 下载启动程序的方法和装置
CN114637386A (zh) * 2022-03-24 2022-06-17 南京英锐创电子科技有限公司 低功耗调试通路的处理方法、调试系统及电子设备

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US7085879B2 (en) * 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
US7093101B2 (en) * 2002-11-21 2006-08-15 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US6944063B2 (en) * 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
US20050165909A1 (en) * 2003-12-19 2005-07-28 Cromer Daryl C. Data processing system and method for permitting a server to remotely access asset information of a mobile client
TWI262444B (en) * 2004-04-28 2006-09-21 Compal Electronics Inc Method for creating multiple main partitions on IDE hard disk
TWI260019B (en) 2004-05-21 2006-08-11 Fujitsu Ltd Semiconductor memory device and memory system
EP1630657A1 (en) * 2004-08-30 2006-03-01 STMicroelectronics S.r.l. Embedded storage device with integrated data-management functions and storage system incorporating it
ATE347731T1 (de) * 2004-10-04 2006-12-15 Research In Motion Ltd System und verfahren zum datensichern bei stromausfall
US20090172269A1 (en) * 2005-02-04 2009-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device and associated data merge method
US8122193B2 (en) * 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100684887B1 (ko) * 2005-02-04 2007-02-20 삼성전자주식회사 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
US7512838B2 (en) * 2005-05-10 2009-03-31 Spectra Logic Corporation Data integrity analysis for a data storage system
US7512864B2 (en) * 2005-09-30 2009-03-31 Josef Zeevi System and method of accessing non-volatile computer memory
US7716461B2 (en) * 2006-01-12 2010-05-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
TWI333145B (en) * 2006-04-03 2010-11-11 Quanta Storage Inc Method for updating data in a flash rom
JP4676378B2 (ja) * 2006-05-18 2011-04-27 株式会社バッファロー データ記憶装置およびデータ記憶方法
US7971071B2 (en) * 2006-05-24 2011-06-28 Walkoe Wilbur J Integrated delivery and protection device for digital objects
KR100771519B1 (ko) * 2006-10-23 2007-10-30 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US7721078B2 (en) * 2006-10-31 2010-05-18 Dell Products, Lp Method and system to dynamically boot to a non-visible partition
US7765394B2 (en) * 2006-10-31 2010-07-27 Dell Products, Lp System and method for restoring a master boot record in association with accessing a hidden partition
KR100818802B1 (ko) * 2007-01-03 2008-04-02 삼성전자주식회사 파워다운 응답신호를 발생하는 반도체 메모리 장치 및 상기반도체 장치의 파워다운 방법
KR100918707B1 (ko) * 2007-03-12 2009-09-23 삼성전자주식회사 플래시 메모리를 기반으로 한 메모리 시스템
KR100973773B1 (ko) * 2007-12-28 2010-08-04 정요섭 수족관 정수장치
JP5286796B2 (ja) * 2008-01-17 2013-09-11 日本電気株式会社 メモリ制御装置
US7925822B2 (en) * 2008-01-31 2011-04-12 Sandisk Il Ltd Erase count recovery
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8266365B2 (en) * 2008-12-17 2012-09-11 Sandisk Il Ltd. Ruggedized memory device
US8370603B2 (en) * 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
JP5317690B2 (ja) * 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
WO2011081232A1 (ko) * 2009-12-29 2011-07-07 주식회사 프롬나이 Nvram과 휘발성 램을 이용하여 선택적으로 프로세스의 영속성을 구현하는 컴퓨팅 시스템 및 방법
JP5593254B2 (ja) * 2010-05-12 2014-09-17 パナソニック株式会社 半導体メモリ装置及び半導体メモリシステム
US8812908B2 (en) * 2010-09-22 2014-08-19 Microsoft Corporation Fast, non-write-cycle-limited persistent memory for secure containers
US9064116B2 (en) * 2010-11-08 2015-06-23 Intel Corporation Techniques for security management provisioning at a data storage device
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US8984247B1 (en) * 2012-05-10 2015-03-17 Western Digital Technologies, Inc. Storing and reconstructing mapping table data in a data storage system
US8886972B2 (en) 2012-06-21 2014-11-11 Transcend Information, Inc. Power control module has voltage setting module that determine burst operating voltage and operate during execution of command in flash drive
KR20140007990A (ko) * 2012-07-09 2014-01-21 삼성전자주식회사 불휘발성 램을 포함하는 사용자 장치 및 그것의 데이터 관리 방법
FR2993669B1 (fr) * 2012-07-19 2014-08-29 Continental Automotive France Procede de diagnostic d’un mecanisme de coupures intempestives de l’alimentation electrique d’un calculateur de vehicule automobile
US9690642B2 (en) * 2012-12-18 2017-06-27 Western Digital Technologies, Inc. Salvaging event trace information in power loss interruption scenarios
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
KR102127284B1 (ko) 2013-07-01 2020-06-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 관리 방법
KR102065665B1 (ko) 2013-10-17 2020-01-13 삼성전자 주식회사 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법
KR102272228B1 (ko) * 2014-05-13 2021-07-06 삼성전자주식회사 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
TWI534609B (zh) * 2015-02-03 2016-05-21 Automatic scanning and repair method for electronic devices
WO2016130163A1 (en) * 2015-02-13 2016-08-18 Hewlett Packard Enterprise Development Lp Partitioning memory modules into volatile and non-volatile portions
KR102374668B1 (ko) 2015-08-31 2022-03-17 삼성전자주식회사 전력 공급 중단의 경향에 따라 불휘발성 메모리를 다르게 관리하는 스토리지 장치
CN105426268B (zh) * 2015-11-16 2018-06-26 北京四方继保自动化股份有限公司 一种防止继电保护装置断电时文件系统损坏的方法
TWI607309B (zh) * 2016-03-16 2017-12-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US9691492B1 (en) * 2016-09-29 2017-06-27 Intel Corporation Determination of demarcation voltage for managing drift in non-volatile memory devices
TWI604373B (zh) 2016-12-13 2017-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI656475B (zh) * 2016-12-13 2019-04-11 慧榮科技股份有限公司 具資料儲存裝置的電子系統
US10482010B2 (en) * 2017-06-29 2019-11-19 Intel Corporation Persistent host memory buffer
US10373694B2 (en) * 2017-08-31 2019-08-06 Micron Technology, Inc. Responding to power loss
US10528426B2 (en) * 2017-11-30 2020-01-07 Western Digital Technologies, Inc. Methods, systems and devices for recovering from corruptions in data processing units in non-volatile memory devices
KR102430798B1 (ko) * 2018-01-11 2022-08-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11248799B2 (en) 2019-01-25 2022-02-15 Weber-Stephen Products Llc Pellet grills
CN109871239A (zh) * 2019-02-18 2019-06-11 深圳忆联信息系统有限公司 一种支持toggle协议Nand颗粒的初始化方法及其系统
WO2021179211A1 (zh) * 2020-03-11 2021-09-16 深圳市欢太科技有限公司 确定数据完整性的方法、装置、电子设备及存储介质
CN112199321A (zh) * 2020-09-28 2021-01-08 中国航空工业集团公司雷华电子技术研究所 一种利用单片机内部xram和flash处理电源故障数据的方法
CN112631516B (zh) * 2020-12-22 2022-09-30 上海宏力达信息技术股份有限公司 一种具有寿命管理的flash文件管理系统

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2685173B2 (ja) 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
JPH07109717B2 (ja) 1986-05-31 1995-11-22 キヤノン株式会社 メモリ書き込み制御方法
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
DE69034191T2 (de) 1989-04-13 2005-11-24 Sandisk Corp., Sunnyvale EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
US5222109A (en) 1990-12-28 1993-06-22 Ibm Corporation Endurance management for solid state files
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5388083A (en) 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5557775A (en) 1994-02-23 1996-09-17 International Business Machines Corporation Expert system for designing computer networks
JPH0830520A (ja) 1994-07-13 1996-02-02 Toshiba Corp コンピュータシステム
US5557777A (en) * 1994-09-30 1996-09-17 Apple Computer, Inc. Method and apparatus for system recovery from power loss
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5748940A (en) * 1995-08-17 1998-05-05 Compaq Computer Corporation Secure updating of non-volatile memory
JP3280834B2 (ja) * 1995-09-04 2002-05-13 沖電気工業株式会社 符号化通信方式における信号判定装置および受信装置ならびに信号判定方法および通信路状態推定方法
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US5860082A (en) 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
JP3898305B2 (ja) * 1997-10-31 2007-03-28 富士通株式会社 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
KR100297986B1 (ko) 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
US6230285B1 (en) 1998-09-08 2001-05-08 Symantec Corporation Boot failure recovery
US6216226B1 (en) 1998-10-02 2001-04-10 International Business Machines Corporation Method and system for dynamically selecting a boot process within a data processing system
US6260156B1 (en) 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP3646303B2 (ja) * 2000-12-21 2005-05-11 日本電気株式会社 コンピュータシステムとそのメモリ管理方法、及びメモリ管理プログラムを記録した記録媒体
US6510488B2 (en) * 2001-02-05 2003-01-21 M-Systems Flash Disk Pioneers Ltd. Method for fast wake-up of a flash memory system
US6820196B2 (en) * 2001-04-09 2004-11-16 Sony Corporation Flash memory initialization in a DTV set-top box
JP2002334586A (ja) * 2001-05-07 2002-11-22 Yamaha Corp フラッシュメモリを用いた情報記憶方法および情報記憶プログラム
JP2002351750A (ja) * 2001-05-22 2002-12-06 Funai Electric Co Ltd データ書き込みシステム
US6915440B2 (en) * 2001-06-12 2005-07-05 International Business Machines Corporation Apparatus, program product and method of performing power fault analysis in a computer system
JP3822081B2 (ja) * 2001-09-28 2006-09-13 東京エレクトロンデバイス株式会社 データ書込装置、データ書込制御方法及びプログラム
US7028172B2 (en) * 2001-10-29 2006-04-11 Microsoft Corporation Method and system for obtaining computer shutdown information

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541684A (zh) * 2010-12-20 2012-07-04 Lsi公司 电源故障的数据操作
CN102541684B (zh) * 2010-12-20 2016-07-06 Lsi公司 电源故障的数据操作
CN109508142A (zh) * 2017-09-14 2019-03-22 爱思开海力士有限公司 数据存储装置及其操作方法
CN111399926A (zh) * 2018-12-13 2020-07-10 北汽福田汽车股份有限公司 下载启动程序的方法和装置
CN114637386A (zh) * 2022-03-24 2022-06-17 南京英锐创电子科技有限公司 低功耗调试通路的处理方法、调试系统及电子设备

Also Published As

Publication number Publication date
JP5162535B2 (ja) 2013-03-13
JP2004152301A (ja) 2004-05-27
US7181611B2 (en) 2007-02-20
KR101004876B1 (ko) 2010-12-28
JP4371771B2 (ja) 2009-11-25
EP1416379B1 (en) 2012-11-21
KR20040038712A (ko) 2004-05-08
CN101833482A (zh) 2010-09-15
EP1416379A2 (en) 2004-05-06
KR20090091101A (ko) 2009-08-26
US7809962B2 (en) 2010-10-05
US20070106919A1 (en) 2007-05-10
EP1416379A3 (en) 2006-05-24
US20040083405A1 (en) 2004-04-29
JP2009283005A (ja) 2009-12-03

Similar Documents

Publication Publication Date Title
CN1540672A (zh) 用于非易失存储系统的电源管理数据块
JP4611024B2 (ja) ブロック内のページをグループ化する方法及び装置
US10126959B2 (en) Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7610434B2 (en) File recording apparatus
US7877540B2 (en) Logically-addressed file storage methods
US7395384B2 (en) Method and apparatus for maintaining data on non-volatile memory systems
EP1960887B1 (en) Method for flash-memory management
JP4931810B2 (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
US8205063B2 (en) Dynamic mapping of logical ranges to write blocks
US7984084B2 (en) Non-volatile memory with scheduled reclaim operations
CN100487672C (zh) 用于分割一逻辑块的方法及设备
US20150186224A1 (en) Data storage device and flash memory control method
JP4977703B2 (ja) 予定再生操作を伴う不揮発性メモリ
CN1701390A (zh) 跟踪非易失性存储器系统中最频繁擦除区块
US20070136553A1 (en) Logically-addressed file storage systems
US20090164745A1 (en) System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System
JP2009519555A (ja) 論理アドレス形ファイル記憶
CN1701300B (zh) 用于分解与一共用逻辑块相关联的物理块的方法和设备
CN1912845A (zh) 用于控制计算机系统的引导操作的装置和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20041027