CN103778083A - 数据储存装置以及非挥发性存储器控制方法 - Google Patents
数据储存装置以及非挥发性存储器控制方法 Download PDFInfo
- Publication number
- CN103778083A CN103778083A CN201210397709.0A CN201210397709A CN103778083A CN 103778083 A CN103778083 A CN 103778083A CN 201210397709 A CN201210397709 A CN 201210397709A CN 103778083 A CN103778083 A CN 103778083A
- Authority
- CN
- China
- Prior art keywords
- block
- erasing
- erase operation
- section
- volatility memorizer
- 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
Images
Abstract
所揭露技术包括具有一非挥发性存储器以及一控制器的一数据储存装置以及一种非挥发性存储器控制方法。非挥发性存储器提供多个区块储存数据,且各区块分为多段。控制器在各段设置抹除标记位元,以纪录实行于所述非挥发性存储器上的抹除操作的进度,以于有需求时重启所述抹除操作。
Description
技术领域
本发明是有关于一种数据储存装置以及一种非挥发性存储器控制方法,且特别有关于非挥发性存储器上中断的抹除操作的重启技术。
背景技术
非挥发性存储器通常用于实现一数据储存装置。非挥发性存储器包括有:唯读存储器、快闪存储器、电子抹除式可复写唯读存储器、嵌入式快闪存储器、磁存储器、相变化存储器、电阻式存储器、以及氮化硅存储器……等。非挥发性存储器通常需要以抹除操作释出空间作数据储存。然而,若在抹除过程中发生非预期的中断(例如,断电),正被抹除的记忆单元的状态将无法被掌握,错误因而发生。
发明内容
本发明揭露一种数据储存装置以及一种非挥发性存储器控制方法。
根据本发明一种实施方式所实现的一数据储存装置具有一非挥发性存储器以及一控制器。该非挥发性存储器提供多个区块(blocks)作数据储存,且各区块分为多段。该控制器会在各段设置抹除标记位元,记录该非挥发性存储器上所施行的抹除操作的进度,以于有需求时重启所述抹除操作。
另外一种实施方式中揭露一种非挥发性存储器控制方法。一非挥发性存储器系提供多个区块(blocks)储存数据,且各区块划分为多段(sectors)。所述控制方法包括以下步骤:于各段设置抹除标记位元;且以所述抹除标记位元记录实行于该非挥发性存储器上的抹除操作的进度,以于有需求时重启所述抹除操作。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图示,详细说明如下。
附图说明
图1以方块图图解根据本发明一种实施方式所实现的数据储存装置;
图2A以及图2B以流程图图解控制器108如何执行段/区块抹除操作;
图3以流程图图解控制器108于电源启动过程中所执行的抹除操作重启程序。
附图标号:
102~数据储存装置;
104~主机;
106~非挥发性存储器;
108~控制器;
BLK1、BLK2~区块;
Marker_Bits~抹除标记位元;
S202…S234~步骤;
S302…S318~步骤;
SEC1、SEC2…SECN~段。
具体实施方式
以下叙述列举本发明的多种实施方式。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围界定之。
图1以方块图图解根据本发明一种实施方式所实现的一数据储存装置102。该数据储存装置102可连结至一主机104作备用储存用、或实现长期持久数据储存。使用者可透过主机104以及数据储存装置102间的一介面控制该数据储存装置102。在其他实施方式中,该数据储存装置102可用于实现一可携式电子装置,如MP3或者智慧型手机……等;此时,主机104可设计成该可携式电子装置内的微控制器。
数据储存装置102包括一非挥发性存储器106以及一控制器108。控制器108可更包括一唯读存储器储存韧体码。控制器108可执行该固体码根据该主机104所下达的指令控制该非挥发性存储器106。
如图所示,非挥发性存储器106可包括多个区块,BLK1、BLK2等,作数据储存用。各区块划分为多段(段为一种空间单位,即sector)。例如,区块BLK1包括多段SEC1、SEC2至SECN。在控制器108控制下,各段配置有抹除标记位元(erase marker bits,如图所示,段SEC1最后数位元即用作该段SEC1的抹除标记位元,标示为Marker_Bits)。各段为自身提供一空间作为抹除标记位元,注意所揭露的抹除标记位元并不限定配置在各段的最末数位元。例如,在其他实施方式中,一段的初始数位元可被配置作抹除标记位元。控制器108可以所抹除的段、或所抹除的区块内的多段的抹除标记位元纪录一抹除操作(可为“段”抹除操作、或“区块”抹除操作)的进度。根据所述抹除标记位元,控制器108可自该抹除操作的非预期中断点将该抹除操作重启。
关于非挥发性存储器106,施行于其上的抹除操作可为段抹除操作或区块抹除操作。所谓段抹除操作仅抹除单一段的空间。所谓区块抹除操作则是抹除一整个区块的空间。为了区别抹除形式(为段抹除或者区块抹除),控制器108具有对应的特殊设计。对一段的空间进行抹除操作时,控制器108是改变该单一段的抹除标记位元。对一区块的空间作抹除操作时,控制器108是改变该区块中至少两段的空间的抹除标记位元。举例来说,若一段/区块抹除操作遭非预期中断(例如,断电),控制器108可根据先前改变的抹除标记位元重启中断的抹除操作。在一抹除操作重启过程中,若所验证的区块中多于一段的空间具有变动过的抹除标记位元,控制器108可对所验证的区块重启一区块抹除操作。若所验证的区块仅有单一段的空间具有变动过的抹除标记位元,控制器108可对所验证的区块的该单一段空间重启一段抹除操作。在所述抹除操作重启过程中,控制器108对非挥发性存储器106内的区块一一进行验证,直至检测到变动过的抹除标记位元、或直至该非挥发性存储器106所有区块皆被验证过。
图2A以及图2B为一流程图,图解控制器108如何执行段/区块抹除操作。段/区块抹除操作可经过一前程式化(pre-program)程序、一抹除(erase)程序、一后程式化(post-program)程序、以及一更新(refresh)程序实现。控制器108可以不同数值设定抹除标记位元,以标示不同的程序。在一种实施方式中,各段的抹除标示位元可具有8位元、且可设定为以下5种不同数值:一第一数值(如8’h00)标示该前程式化状态;一第二数值(如8’hFF)标示该抹除状态;一第三数值(如8’hFC)标示该后程式化状态;一第四数值(如8’hF0)标示该更新状态;以及,一第五数值(如8’hC0)作为一常设值(default value),标示一抹除完成状态。
根据图2A以及图2B所示流程图,抹除操作的型式(段或区块抹除)是于步骤S202辨识。
若步骤S202辨识出一段抹除操作执行在一特定段上,所揭露的流程执行步骤S204至S218。步骤S204将该特定段的抹除标记位元设定为该第一数值(如8’h00),且步骤S206将该特定段前程式化。步骤S208对该特定段执行该段抹除操作的抹除程序,且将该特定段的抹除标记位元设定为该第二数值(如8’hFF)。步骤S210将该特定段的抹除标记位元设定为第三数值(如8’hFC),且步骤S212将该特定段后程式化。步骤S214将该特定段的抹除标记位元设定为该第四数值(如8’hF0),且步骤S216将该特定段更新。步骤S218将该特定段的抹除标记位元设定为第五数值(如8’hC0),该数值为常设值,标示该段抹除操作完成。
若步骤S202辨识到有一区块抹除操作施行于一特定区块上,所揭露的流程执行步骤S220至S234。步骤S220将该特定区块的起始段以及最终段的抹除标记位元设定为该第一数值(如8’h00)。步骤S222将该特定区块整区块前程式化。步骤S224对该特定区块执行该区块抹除操作的抹除程序,且该特定区块内所有段的抹除标记位元皆设定为该第二数值(如8’hFF)。步骤S226将特定区块所有段的抹除标记位元设定为该第三数值(如8’hFC),且步骤S228将该特定区块后程式化。步骤S230将该区块的所有段的抹除标记位元皆设定为该第四数值(如8’hF0),且步骤S232将该特定区块更新。步骤S234将该特定区块所有段的抹除标记位元皆设定为该第五数值(如8’hC0),为常设值,标示该区块抹除操作已完成。
图3以流程图图解该控制器108于电源启动过程中所执行的一抹除操作重启程序。于步骤S302的熔丝读取(fuse read)步骤后,控制器108扫描一起始区块(位址0)。步骤S304中,控制器108读出该起始区块的多段的抹除标记位元。若判定该起始区块有多于一段所对应的抹除标记位元已经偏离常设值(条件S306成立),流程进入步骤S308。步骤S308将一区块抹除操作重启,且该区块抹除操作系自数值已变动的抹除标记位元所标示的中断程序重启。在重启的区块抹除操作完成后,非挥发性存储器106可以其他控制程序操作。
若判定该起始区块内仅有一段的空间具有偏离该常设值的抹除标记位元(条件S310成立),流程进入步骤S312。步骤S312将一段抹除程序重启,且该段抹除程序系自数值有变动的抹除标记位元所标示的中断程序重启。待重启的段抹除操作完成,非挥发性存储器106可以其他控制程序操作。
若判定该起始区块所有段的抹除标记位元皆维持在常设值(条件S314成立),流程进入步骤S316。步骤S316判断该非挥发性存储器106的所有区块是否都被验证过。步骤S318系设计来重新指示一位址以引导该控制器108读取下一区块,以再次进行步骤S304读取该下一区块内多段的抹除标记位元。同样地,根据条件S306、S310、S314何者成立,步骤S308、S312、S316择一执行。一旦步骤S316判定非挥发性存储器106所有区块皆已被验证过,控制器108判定非挥发性存储器106可由其他控制程序操作。
另有一种实施方式揭露一种非挥发性存储器控制方法。一非挥发性存储器系以多个区块作数据储存,且各区块划分为多段。该控制方法包括以下步骤:于各段的空间内配置抹除标记位元;且采用上述抹除标记位元纪录操作于该非挥发性存储器上的一抹除操作,以于有需求时重启该抹除操作。
在某些实施方式中,所揭露的控制方法可于一段抹除操作实行于一段的空间时改变该段的空间的抹除标记位元。或者,所揭露的控制方法可在一区块抹除操作实行于一区块上时改变该区块中至少两段的空间的抹除标记位元。在一抹除操作重启过程中,若察觉所验证的区块中有多于一段的空间的抹除标记位元有变动,所揭露的控制方法可对验证中的区块重启一区块抹除操作。若判定验证中的区块仅有一段的空间的抹除标记位元有变动,所揭露的控制方法则对验证中的区块的该段的空间进行段抹除操作。在所述抹除操作重启过程中,非挥发性存储器中的多个区块可被一一验证,直至检测到变动过的抹除标记位元、或是直至该非挥发性存储器所有区块都验证完毕。某些实施方式是以数种数值(如前述5种数值)设定抹除标记位元,以显示一抹除操作(段或区块抹除)的进度。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视申请专利范围所界定者为准。
Claims (14)
1.一种数据储存装置,其特征是,所述数据储存装置包括:
一非挥发性存储器,具有多个区块作数据储存,其中各区块更划分为多段;以及
一控制器,于各段配置抹除标记位元,以记录施行于所述非挥发性存储器上的一抹除操作的进度,以供重启所述抹除操作用。
2.如权利要求1所述的数据储存装置,其特征是,所述控制器是于一段抹除操作施行于一段上时改变该段的抹除标记位元。
3.如权利要求2所述的数据储存装置,其特征是,所述控制器是于一区块抹除操作施行于一区块上时改变所述区块内至少两段所对应的抹除标记位元。
4.如权利要求3所述的数据储存装置,其特征是:
所述控制器在一抹除操作重启过程中是于检测到验证中的区块有多于一段所对应的抹除标记位元有变动时对所述区块重启一区块抹除操作。
5.如权利要求4所述的数据储存装置,其特征是,所述控制器是于检测到验证中的区块仅有一段所对应的抹除标记位元有变动时对验证中的所述区块的所述段进行一段抹除操作。
6.如权利要求5所述的数据储存装置,其特征是:
所述控制器在所述抹除操作重启过程中一一验证所述非挥发性存储器的上述多个区块,直至检测到变动过的抹除标记位元、或直至所述非挥发性存储器所有区块皆验证过。
7.如权利要求5所述的数据储存装置,其特征是,所述控制器以多种数值设定上述抹除标记位元,上述多种数值为:
一第一数值,标示一前程式化状态;
一第二数值,标示一抹除状态;
一第三数值,标示一后程式化状态;
一第四数值,标示一更新状态;以及
一第五数值,为上述抹除标记位元的常设值,标示一抹除完成状态。
8.一种非挥发性存储器控制方法,所控制的非挥发性存储器具有多个区块供数据储存用,且各区块更划分为多段,所述非挥发性存储器控制方法包括:
于各段配置抹除标记位元;且
以上述抹除标记位元记录施行于所述非挥发性存储器上的一抹除操作的进度,供重启所述抹除操作用。
9.如权利要求8所述的非挥发性存储器控制方法,其特征是,所述非挥发性存储器控制方法更包括:
于一段抹除操作施行于一段上时改变该段的抹除标记位元。
10.如权利要求9所述的非挥发性存储器控制方法,其特征是,所述非挥发性存储器控制方法更包括:
于一区块抹除操作施行于一区块上时改变该区块中至少两段的抹除标记位元。
11.如权利要求10所述的非挥发性存储器控制方法,其特征是,所述非挥发性存储器控制方法更包括:
在一抹除操作重启过程中,若察觉所验证的区块有多于一段所对应的抹除标记位元有变动,则对所验证的区块重启一区块抹除操作。
12.如权利要求11所述的非挥发性存储器控制方法,其特征是:
于判定所验证的区块中仅有单一段的抹除标记位元有变动时,对所验证的区块中的该单一段进行一段抹除操作。
13.如权利要求12所述的非挥发性存储器控制方法,其特征是,在所述抹除操作重启过程中对所述非挥发性存储器的上述多个区块一一作验证,直至察觉有变动的抹除标记位元、或直至所述非挥发性存储器的所有区块皆验证过。
14.如权利要求12所述的非挥发性存储器控制方法,其特征是,所述非挥发性存储器控制方法更包括:
提供多种数值作上述抹除标记位元的设定,
其中上述多种数值包括:
一第一数值,标示一前程式化状态;
一第二数值,标示一抹除状态;
一第三数值,标示一后程式化状态;
一第四数值,标示一更新状态;以及
一第五数值,为常设值,标示一抹除完成状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210397709.0A CN103778083B (zh) | 2012-10-18 | 2012-10-18 | 数据储存装置以及非挥发性存储器控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210397709.0A CN103778083B (zh) | 2012-10-18 | 2012-10-18 | 数据储存装置以及非挥发性存储器控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103778083A true CN103778083A (zh) | 2014-05-07 |
CN103778083B CN103778083B (zh) | 2017-03-01 |
Family
ID=50570336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210397709.0A Active CN103778083B (zh) | 2012-10-18 | 2012-10-18 | 数据储存装置以及非挥发性存储器控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103778083B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1420440A (zh) * | 2001-11-16 | 2003-05-28 | 三星电子株式会社 | 快闪存储器管理方法 |
US20060114725A1 (en) * | 2004-12-01 | 2006-06-01 | Jae-Yong Jeong | Non-volatile memory device and associated method of erasure |
CN1811725A (zh) * | 2006-02-21 | 2006-08-02 | 杭州华为三康技术有限公司 | 一种快速存储装置及快速更新数据的方法 |
CN1941205A (zh) * | 2005-08-17 | 2007-04-04 | 赛芬半导体有限公司 | 擦除非易失性存储器单元的方法 |
-
2012
- 2012-10-18 CN CN201210397709.0A patent/CN103778083B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1420440A (zh) * | 2001-11-16 | 2003-05-28 | 三星电子株式会社 | 快闪存储器管理方法 |
US20060114725A1 (en) * | 2004-12-01 | 2006-06-01 | Jae-Yong Jeong | Non-volatile memory device and associated method of erasure |
CN1941205A (zh) * | 2005-08-17 | 2007-04-04 | 赛芬半导体有限公司 | 擦除非易失性存储器单元的方法 |
CN1811725A (zh) * | 2006-02-21 | 2006-08-02 | 杭州华为三康技术有限公司 | 一种快速存储装置及快速更新数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103778083B (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425597B (zh) | 数据储存装置和快闪存储器的区块管理方法 | |
CN104008061A (zh) | 内存回收方法及装置 | |
CN102541676B (zh) | 一种nand flash的状态检测及映射方法 | |
TWI436369B (zh) | 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 | |
CN104285256A (zh) | 非易失性存储器中不插入擦除的多个写入操作 | |
CN102750191A (zh) | 用于启动固态非易失性存储设备内的刷新操作的方法 | |
CN103514958A (zh) | 一种emmc芯片寿命检测方法 | |
TWI486957B (zh) | Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統 | |
CN104731522A (zh) | 数据储存装置及其数据维护方法 | |
CN105005450A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN105137227A (zh) | 智能卡掉电保护的测试装置及方法 | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
WO2016078263A1 (zh) | 升级控制设备、终端、终端升级方法及系统、存储介质 | |
CN101727401A (zh) | 连接表的回复方法 | |
CN105677409B (zh) | 一种系统升级方法及装置 | |
US10176876B2 (en) | Memory control method and apparatus for programming and erasing areas | |
CN103593301B (zh) | 坏块管理方法及系统 | |
CN105512047A (zh) | Flash闪存的写操作、擦除操作方法及装置 | |
CN105224238A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN105095101A (zh) | 向存储器写入数据的方法及装置、智能卡 | |
CN102968089B (zh) | 可编程逻辑控制器及实现方法 | |
TWI459203B (zh) | 資料儲存裝置以及非揮發性記憶體控制方法 | |
US8750043B2 (en) | Data storage device and control method for non-volatile memory | |
CN103778083A (zh) | 数据储存装置以及非挥发性存储器控制方法 | |
TWI396090B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |