CN103488572B - 数据储存装置及数据清除方法 - Google Patents
数据储存装置及数据清除方法 Download PDFInfo
- Publication number
- CN103488572B CN103488572B CN201210296583.8A CN201210296583A CN103488572B CN 103488572 B CN103488572 B CN 103488572B CN 201210296583 A CN201210296583 A CN 201210296583A CN 103488572 B CN103488572 B CN 103488572B
- Authority
- CN
- China
- Prior art keywords
- data
- page
- address
- styles
- flash memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 18
- 238000013500 data storage Methods 0.000 title abstract description 8
- 230000004048 modification Effects 0.000 claims abstract description 49
- 238000012986 modification Methods 0.000 claims abstract description 49
- 238000012217 deletion Methods 0.000 claims abstract description 19
- 230000037430 deletion Effects 0.000 claims abstract description 19
- 210000003205 muscle Anatomy 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on 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/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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种数据储存装置。于一实施例中,该数据储存装置包括一闪存以及一控制器。该闪存包括多个区块,每一该等区块包括多个页,每一该等页包括多个数据修改单元,其中该等数据修改单元为数据修改的最小单元。当对该闪存的一地址范围清除数据后,该控制器决定该地址范围的一结束地址所对应的一最终页,决定是否该最终页中储存于该结束地址后的数据值符合一特定数据样式,当该最终页中储存于该结束地址后的数据值为该特定数据样式时将该最终页对应的删除标记值设为1。
Description
技术领域
本发明系有关于闪存,特别是有关于闪存的数据清除方法。
背景技术
闪存经常运用于一般的电子装置以储存数据。闪存包括可供储存数据的多个区块(block)。由于闪存可以在不供电的状态中继续保持其中所储存的数据,而可携式电子装置仅具有有限的电源,因此闪存特别适用于可携式电子装置的数据储存。
闪存的每一区块包括多个页(page),控制器系以页为单位对闪存进行管理。闪存的每一页又包括多个数据修改单元(data trimming unit),控制器系以数据修改单元为单位对闪存储存的数据进行修改。图1为依据本发明的闪存的区块100的示意图。区块100包括多个页101~10X,每一页包括多个数据修改单元。举例来说,第3页103包括数据修改单元LBAi,LBAj,LBAk,…,LBAm。于一实施例中,每一页可储存16KB的数据量,而每一数据修改单元可储存512Byte的数据,因此每一页包含32个数据修改单元。
当控制器指示闪存清除一地址范围的数据时,控制器会将该地址范围皆写入数据位元「0」。然而,控制器系以页为单位管理闪存,当控制器清除地址范围的数据后,必须将对应地址范围的页标示为数据清除的页,以利后续对数据的管理。因此,需要一种数据储存装置,可以妥善的由闪存中标记已进行过数据清除的页。
发明内容
有鉴于此,本发明的目的在于提供一种数据储存装置,以解决现有技术存在的问题。于一实施例中,该数据储存装置包括一闪存以及一控制器。该闪存包括多个区块,每一该多个区块包括多个页,每一该多个页包括多个数据修改单元,其中该多个数据修改单元为数据修改的最小单元。当对该闪存的一地址范围清除数据后,该控制器决定该地址范围的一结束地址所对应的一最终页,决定是否该最终页中储存于该结束地址后的数据值符合一特定数据样式(specific data pattern),当该最终页中储存于该结束地址后的数据值为该特定数据样式时将该最终页对应的删除标记值设为1。
本发明更提供一种数据清除方法。于一实施例中,一数据储存装置包括一闪存,该闪存包括多个区块,每一该多个区块包括多个页,每一该多个页包括多个数据修改单元,且该多个数据修改单元为数据修改的最小单元。首先,当对该闪存的一地址范围清除数据后,决定该地址范围的一结束地址所对应的一最终页。接着,决定是否该最终页中储存于该结束地址后的数据值符合一特定数据样式(specific data pattern)。接着,当该最终页中储存于该结束地址后的数据值为该特定数据样式时,将该最终页对应的删除标记值设为1。
为了让本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举数较佳实施例,并配合所附图示,作详细说明如下:
附图说明
图1为依据本发明的闪存的区块的示意图;
图2为依据本发明的数据储存装置的区块图;
图3为依据本发明的数据清除方法的流程图;
图4为依据本发明的进行数据清除的区块的一地址范围所对应的多个页的示意图。
主要元件符号说明
(图2)
202~控制器;
204~闪存;
211,212,213,…,21m~区块;
206~随机存取存储器;
208~删除标记表。
具体实施方式
图2为依据本发明的数据储存装置200的区块图。于一实施例中,数据储存装置200包括控制器202、闪存204、以及随机存取存储器206。闪存204包括多个区块(block)211~21m以供数据储存。每一区块211~21m更包括多个页(page),而每一页包括多个数据修改单元。数据修改单元为控制器202对闪存204进行数据修改的最小单元。于一实施例中,每一页可储存16KB的数据量,而每一数据修改单元可储存512Byte的数据,因此每一页包含32个数据修改单元。
于一实施例中,控制器202耦接至一主机,依据主机发送的命令对闪存204进行数据写入或数据读取。当控制器202对闪存204的一地址范围进行数据清除(data trimming)时,控制器202会将一特定数据样式反复写入闪存204的该地址范围。于一实施例中,该特定数据样式为0x00。于另一实施例中,该特定数据样式为0xFF。当闪存204的地址范围写满该特定数据样式时,数据清除便进行完毕。然而,控制器202仍需纪录经过数据清除的页,以对闪存204包含的各页进行管理。
于一实施例中,数据储存装置200的随机存取存储器206储存一删除标记表208。该删除标记表208纪录闪存204的各区块211~21m的各页的数据是否均被清除。于一实施例中,当一特定页的所有数据均被改写为位元0,则控制器202将删除标记表208中纪录的对应于该特定页的删除标记(erase flag)设为1。当一特定页的所有数据并未均被改写为位元0,则控制器202将删除标记表208中纪录的对应于该特定页的删除标记设为0。如此,控制器202便可适当地纪录闪存204的各页的数据储存状况,以便作为运用闪存204储存数据的参考。
当控制器202对闪存204的一地址范围进行数据清除后,控制器202必须分别设定该地址范围所对应的各数据清除页的删除标记值。图4为依据本发明的进行数据清除的区块400的一地址范围所对应的多个页411,412,413,414,415的示意图。各页411~415均包括多个数据修改单元。假设进行数据清除的地址范围始自一起始地址而迄于一结束地址,该起始地址对应于数据修改单元401,而该结束地址对应于数据修改单元402。因此,进行数据清除的地址范围所涵盖的所有数据修改单元的数据值均被改写为0,如图4所示。
此时,由于进行数据清除的地址范围对应于页411,412,413,414,415,其中页412、413、414的数据均被改写为0,因此控制器202需将删除标记表208中页412、413、414对应的删除标记值设为1。地址范围的起始地址所对应的起始页411中仅有位于数据修改单元401之后的数据值均为1。因此,控制器402读取起始页411中位于数据修改单元401之前的数据值(由数据修改单元421至数据修改单元422的阴影部位)。若起始页411中位于数据修改单元401之前的数据值均为0,则控制器202可将删除标记表208中起始页411所对应的删除标记值设为1。同理,地址范围的结束地址所对应的最终页415中仅有位于数据修改单元402之前的数据值均为1。因此,控制器402读取最终页415中位于数据修改单元402之后的数据值(由数据修改单元431至数据修改单元432的阴影部位)。若最终页415中位于数据修改单元402之后的数据值均为0,则控制器202可将删除标记表208中最终页415所对应的删除标记值设为1。
图3为依据本发明的数据清除方法300的流程图。首先,控制器202清除一闪存204的一地址范围所储存的数据,其中该地址范围由一起始地址延伸至一结束地址(步骤302)。接着,控制器202决定该地址范围所对应的多个数据清除页(步骤304)。其中该地址范围的起始地址位于该数据清除等页的一起始页,且该地址范围的结束地址位于该多个数据清除页的一最终页。例如,图4中的页411为包含对应于起始地址的数据修改单元401的起始页,而图4中的页415为包含对应于结束地址的数据修改单元402的最终页。
接着,控制器202决定是否该起始页中于该起始地址前的数据值均为0(步骤306)。若该起始页中于该起始地址前的数据值均为0,则控制器202将该起始页对应的删除标记值设为1(步骤308)。例如,若控制器202确认起始页411的阴影区域421~422所储存的数据值均为0,则控制器202将起始页411的删除标记值设为1。接着,控制器202决定是否该最终页中于该结束地址后的数据值均为0(步骤310)。若该最终页中于该结束地址后的数据值均为0,则控制器202将该最终页对应的删除标记值设为1(步骤312)。例如,若控制器202确认最终页415的阴影区域431~432所储存的数据值均为0,则控制器202将最终页415的删除标记值设为1。最后,控制器202将该多个数据清除页的第二页至倒数第二页对应的删除标记值均设为1(步骤314)。例如,控制器202将页412、413、414的删除标记值均设为1。如此,控制器202便可适当地纪录闪存204的各页的数据储存状况,以便作为运用闪存204储存数据的参考。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视后附的权利要求书所界定者为准。
Claims (18)
1.一种数据储存装置,包括:
一闪存,包括多个区块,每一该区块包括多个页,每一该页包括多个数据修改单元,其中该数据修改单元为数据修改的最小单元;以及
一控制器,利用一特定数据样式对该闪存的一地址范围清除数据,当清除数据后,决定该地址范围的一结束地址所对应的一最终页,决定是否该最终页中储存于该结束地址后的数据值符合该特定数据样式,当该最终页中储存于该结束地址后的数据值为该特定数据样式时将该最终页对应的删除标记值设为1。
2.如权利要求1所述的数据储存装置,其中当对该闪存的该地址范围清除数据后,该控制器更决定该地址范围的一起始地址所对应的一起始页,决定是否该起始页中储存于该起始地址前的数据值符合该特定数据样式,当该起始页中储存于该起始地址前的数据值为该特定数据样式时将该起始页对应的删除标记值设为1。
3.如权利要求1所述的数据储存装置,其中该控制器反复将该特定数据样式写入该闪存的该地址范围,以对该地址范围清除数据。
4.如权利要求1所述的数据储存装置,其中该数据储存装置更包括一随机存取存储器,用以储存一删除标记表,其中该删除标记表储存该闪存的每一页所分别对应的删除标记值。
5.如权利要求2所述的数据储存装置,其中当对该闪存的该地址范围清除数据后,该控制器更自该闪存决定该地址范围所对应的多个数据清除页,并将除了该起始页与该最终页之外的该数据清除页所对应的删除标记值设为1。
6.如权利要求1所述的数据储存装置,其中该控制器由该最终页中决定位于该结束地址后的多个第一数据修改单元,并比对该第一数据修改单元所储存的数据是否均符合该特定数据样式,以决定是否该最终页中储存于该结束地址后的数据值符合该特定数据样式。
7.如权利要求2所述的数据储存装置,其中该控制器由该起始页中决定位于该起始地址前的多个第二数据修改单元,并比对该第二数据修改单元所储存的数据是否均符合该特定数据样式,以决定是否该起始页中储存于该起始地址前的数据值为该特定数据样式。
8.如权利要求1所述的数据储存装置,其中该特定数据样式为0x00。
9.如权利要求1所述的数据储存装置,其中该特定数据样式为0xFF。
10.一种数据清除方法,其中一数据储存装置包括一闪存,该闪存包括多个区块,每一该区块包括多个页,每一该页包括多个数据修改单元,且该数据修改单元为数据修改的最小单元,该方法包括:
利用一特定数据样式对该闪存的一地址范围清除数据;
当清除数据后,决定该地址范围的一结束地址所对应的一最终页;
决定是否该最终页中储存于该结束地址后的数据值符合该特定数据样式(specificdata pattern);以及
当该最终页中储存于该结束地址后的数据值为该特定数据样式时,将该最终页对应的删除标记值设为1。
11.如权利要求10所述的数据清除方法,其中该方法更包括:
当对该闪存的该地址范围清除数据后,决定该地址范围的一起始地址所对应的一起始页;
决定是否该起始页中储存于该起始地址前的数据值符合该特定数据样式;以及
当该起始页中储存于该起始地址前的数据值为该特定数据样式时,将该起始页对应的删除标记值设为1。
12.如权利要求10所述的数据清除方法,其中对该闪存的该地址范围清除数据的步骤包括反复将该特定数据样式写入该闪存的该地址范围。
13.如权利要求10所述的数据清除方法,其中该数据储存装置更包括一随机存取存储器,用以储存一删除标记表,其中该删除标记表储存该闪存的每一页所分别对应的删除标记值。
14.如权利要求11所述的数据清除方法,其中该方法更包括:
当对该闪存的该地址范围清除数据后,自该闪存决定该地址范围所对应的多个数据清除页;以及
将除了该起始页与该最终页之外的该数据清除页所对应的删除标记值设为1。
15.如权利要求10所述的数据清除方法,其中是否该最终页中储存于该结束地址后的数据值符合该特定数据样式的决定步骤包括:
由该最终页中决定位于该结束地址后的多个第一数据修改单元;以及
比对该第一数据修改单元所储存的数据是否均符合该特定数据样式。
16.如权利要求11所述的数据清除方法,其中是否该起始页中储存于该起始地址前的数据值为该特定数据样式的决定步骤包括:
由该起始页中决定位于该起始地址前的多个第二数据修改单元;以及
比对该第二数据修改单元所储存的数据是否均符合该特定数据样式。
17.如权利要求10所述的数据清除方法,其中该特定数据样式为0x00。
18.如权利要求10所述的数据清除方法,其中该特定数据样式为0xFF。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101121064 | 2012-06-13 | ||
TW101121064A TWI493339B (zh) | 2012-06-13 | 2012-06-13 | 資料儲存裝置及資料清除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103488572A CN103488572A (zh) | 2014-01-01 |
CN103488572B true CN103488572B (zh) | 2017-06-20 |
Family
ID=49757000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210296583.8A Active CN103488572B (zh) | 2012-06-13 | 2012-08-20 | 数据储存装置及数据清除方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9304686B2 (zh) |
CN (1) | CN103488572B (zh) |
TW (1) | TWI493339B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436729B (zh) * | 2016-05-27 | 2020-04-14 | 合肥沛睿微电子股份有限公司 | 储存系统的控制装置及其储存空间回收方法 |
CN107797938B (zh) * | 2016-09-05 | 2022-07-22 | 北京忆恒创源科技股份有限公司 | 加快去分配命令处理的方法与存储设备 |
CN107797934B (zh) * | 2016-09-05 | 2022-07-22 | 北京忆恒创源科技股份有限公司 | 处理去分配命令的方法与存储设备 |
CN110852045A (zh) * | 2018-08-01 | 2020-02-28 | 珠海金山办公软件有限公司 | 一种删除文档内容的方法、装置、电子设备及存储介质 |
CN112882649B (zh) * | 2019-11-29 | 2024-04-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI768737B (zh) * | 2021-03-02 | 2022-06-21 | 宏碁股份有限公司 | 跳躍式資料清除方法與資料儲存系統 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI230942B (en) * | 2001-06-08 | 2005-04-11 | Nec Electronics Corp | Non-volatile storage device and rewrite control method thereof |
CN102467455A (zh) * | 2010-10-29 | 2012-05-23 | 三星电子株式会社 | 存储系统、数据存储设备、用户设备及其数据管理方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080276050A1 (en) * | 2007-05-02 | 2008-11-06 | Yu-Cheng Hsieh | Erase handling method for non-volatile memory and electronic apparatus thereof |
JP5349256B2 (ja) * | 2009-11-06 | 2013-11-20 | 株式会社東芝 | メモリシステム |
JP2011128998A (ja) * | 2009-12-18 | 2011-06-30 | Toshiba Corp | 半導体記憶装置 |
JP2012008651A (ja) * | 2010-06-22 | 2012-01-12 | Toshiba Corp | 半導体記憶装置、その制御方法および情報処理装置 |
TWI423026B (zh) * | 2010-10-29 | 2014-01-11 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US8892811B2 (en) * | 2012-03-01 | 2014-11-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Reducing write amplification in a flash memory |
TWI475385B (zh) * | 2012-03-14 | 2015-03-01 | Phison Electronics Corp | 程式化記憶胞與資料讀取方法、記憶體控制器與儲存裝置 |
US9323667B2 (en) * | 2012-04-12 | 2016-04-26 | Violin Memory Inc. | System and method for managing trim operations in a flash memory system using mapping tables and block status tables |
-
2012
- 2012-06-13 TW TW101121064A patent/TWI493339B/zh active
- 2012-08-17 US US13/588,598 patent/US9304686B2/en active Active
- 2012-08-20 CN CN201210296583.8A patent/CN103488572B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI230942B (en) * | 2001-06-08 | 2005-04-11 | Nec Electronics Corp | Non-volatile storage device and rewrite control method thereof |
CN102467455A (zh) * | 2010-10-29 | 2012-05-23 | 三星电子株式会社 | 存储系统、数据存储设备、用户设备及其数据管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103488572A (zh) | 2014-01-01 |
US9304686B2 (en) | 2016-04-05 |
TWI493339B (zh) | 2015-07-21 |
TW201351141A (zh) | 2013-12-16 |
US20130339575A1 (en) | 2013-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488572B (zh) | 数据储存装置及数据清除方法 | |
EP2115595B1 (en) | Memory device performance enhancement through pre-erase mechanism | |
CN104808951B (zh) | 进行存储控制的方法和设备 | |
US8838875B2 (en) | Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon | |
CN103902465B (zh) | 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器 | |
US8407449B1 (en) | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table | |
CN104765569B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN109388582B (zh) | 数据储存装置以及其数据抹除方法 | |
CN107038131A (zh) | 固态硬盘断电保护装置及方法 | |
ATE518190T1 (de) | Verfahren zur flash-speicher-verwaltung | |
TW200506609A (en) | Data storage device, management information updating method in data storage device, and computer program | |
CN105637587A (zh) | 通过选择两种写入顺序来改善差分预见读取模式的读取速度的在数据贮存装置中贮存数据的系统和方法 | |
CN109933545A (zh) | 数据储存装置与存储器装置的数据处理方法 | |
CN103365786B (zh) | 数据存储方法、装置和系统 | |
CN106527963A (zh) | 存储器系统及主机装置 | |
CN104636267B (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN105975404B (zh) | 非易失性存储器装置及其操作方法 | |
CN104021089B (zh) | 快闪存储器控制芯片与存储装置以及快闪存储器控制方法 | |
CN103914397B (zh) | 闪存存储设备及其管理方法 | |
JP2013235531A5 (zh) | ||
CN104391804B (zh) | 一种nand flash数据存储方法 | |
US10120611B2 (en) | Storage device and data control method for storage error control | |
CN106814968A (zh) | 存储器管理方法与系统及其存储器存储装置 | |
CN107257281B (zh) | Nor flash存储密钥记录的方法、装置及计算机可读存储介质 | |
US20140052893A1 (en) | File deletion for non-volatile memory |
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 |