CN104932981B - 移动电子装置与清理存储区块的方法 - Google Patents
移动电子装置与清理存储区块的方法 Download PDFInfo
- Publication number
- CN104932981B CN104932981B CN201410105686.0A CN201410105686A CN104932981B CN 104932981 B CN104932981 B CN 104932981B CN 201410105686 A CN201410105686 A CN 201410105686A CN 104932981 B CN104932981 B CN 104932981B
- Authority
- CN
- China
- Prior art keywords
- memory block
- user
- memory
- area
- controller
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
一种移动电子装置,包括接口单元、半导体储存装置与处理器。接口单元提供使用者接口以接收使用者输入。半导体储存装置包括控制器与非易失性存储器,非易失性存储器耦接控制器并包括多个存储区块。处理器耦接接口单元与半导体储存装置,因应上述使用者输入而发送信号至半导体储存装置。控制器因应此信号而清理至少一个上述存储区块。
Description
技术领域
本发明是有关于一种移动电子装置,且特别是有关于清理该移动电子装置的存储区块的方法。
背景技术
图1是已知的一种闪存(flash memory)100的示意图。闪存100包括两个存储区块(memory block)110与120,每个存储区块包括十六个存储分页(memory page)。一开始,一个文件占用存储区块110的五个存储分页A1~E1,如图1所示。
闪存的一项特色是数据烧录(programming)与数据抹除(erasing)的单位并不对称,数据烧录是以较小的存储分页为单位,而数据抹除是以较大的存储区块为单位。因此,当上述文件的内容变更时,不会覆盖原有的存储分页A1~E1,而是将新版的文件写入后面的存储分页A2~E2,如图2所示。如果上述文件的内容再度变更,新版的文件会被写入更后面的存储分页A3~E3,依此类推。存储分页A1~E1与A2~E2的旧版数据也称为无效数据(invalid data)。
目前的移动电子装置使用闪存作为主要的储存装置,例如固态硬盘(SSD:solidstate disk)或内嵌式多媒体存储卡(eMMC:embedded multimedia card),用以储存操作系统(operating system)、应用程序、以及各种数据。但是闪存使用一段时间之后,就会发生如图2所示的碎裂(fragmentation)现象,也就是存储区块内储存了大量的无效数据。若不加以清理,无效数据会越累积越多,可用的存储区块也就越来越少。
为了回收无效数据占用的存储分页A1~E1与A2~E2,可将存储分页A3~E3的有效数据复制到另一个存储区块120,然后再抹除存储区块110,如图3所示。这样的回收程序称为垃圾收集(garbage collection)。垃圾收集通常需要漫长的时间,可能会造成移动电子装置的反应迟缓,甚至功能停顿,影响使用者的使用观感。
发明内容
本发明提供一种移动电子装置与清理存储区块的方法,可解决上述的碎裂问题,并兼顾使用者的使用观感。
本发明的移动电子装置包括接口单元、半导体储存装置与处理器。接口单元提供使用者接口以接收使用者输入。半导体储存装置包括控制器与非易失性存储器(non-volatile memory),非易失性存储器耦接控制器并包括多个存储区块。处理器耦接接口单元与半导体储存装置,因应上述使用者输入而发送信号至半导体储存装置。控制器因应此信号而清理至少一个上述存储区块。
本发明的清理存储区块的方法是由移动电子装置执行,并包括以下步骤:提供使用者接口以接收使用者输入;因应此使用者输入而发送信号;以及因应此信号而清理非易失性存储器的至少一个存储区块。
基于上述,本发明的存储区块的清理是由使用者接口的使用者输入来启动,因此使用者可决定何时清理存储区块,不至于影响移动电子装置的使用。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1至图3是已知的一种闪存的垃圾收集示意图。
图4是依照本发明的一实施例的一种移动电子装置的示意图。
图5是依照本发明的一实施例的一种非易失性存储器的示意图。
图6是依照本发明的一实施例的一种清理存储区块的方法的流程图。
图7至图9是依照本发明的不同实施例的使用者接口的示意图。
[标号说明]
100:闪存 110、120:存储区块
400:移动电子装置 410:接口单元
420:处理器 430:半导体储存装置
432:控制器 434:非易失性存储器
440:电子信号 510:非易失性存储器的使用者区
520:非易失性存储器的系统区 525:内部暂存区
610~650:流程步骤 700、800、900:使用者接口
710、730、810、910、930:使用者接口的消息
720、920:长条图
741~742、821~823、941~944:使用者接口的选项
A1~A3、B1~B3、C1~C3、D1~D3、E1~E3:存储分页
具体实施方式
图4是依照本发明的一实施例的一种移动电子装置400的示意图。移动电子装置400可以是移动电话、个人数字助理(PDA:personal digital assistant)、平板计算机、或智能型穿戴式电子装置。移动电子装置400包括接口单元410、处理器420、以及半导体储存装置430。处理器420耦接接口单元410与半导体储存装置430。半导体储存装置430包括控制器432与非易失性存储器(non-volatile memory)434。非易失性存储器434耦接控制器432,非易失性存储器434包括多个存储区块。
接口单元410可提供使用者接口以供使用者操作。上述使用者接口可分输出与输入两部分。在输出部分,接口单元410所提供的使用者接口可用影像、声音、或盲人点字等方式向使用者输出各种消息。在输入部分,接口单元410所提供的使用者接口可通过触控面板、触控屏幕、虚拟按键、或实体按键等方式接收一使用者输入。移动电子装置400还包括一操作系统与多个应用程序储存于非易失性存储器434中。处理器420可执行该操作系统与多个应用程序。
半导体储存装置430可以是固态硬盘(SSD)或内嵌式多媒体存储卡(eMMC)。控制器432管理非易失性存储器434,控制器432可说是处理器420与非易失性存储器434之间的桥梁。非易失性存储器434可以是闪存,或其它具有不对称的数据烧录单位与数据抹除单位的非易失性存储器。
图5是依照本发明的一实施例的非易失性存储器434的示意图。非易失性存储器434包括使用者区510与系统区520。使用者区510供移动电子装置400的使用者与处理器420使用。于此实施例中,使用者区510储存移动电子装置400的操作系统与多个应用程序,以及和操作系统与应用程序相关的各种数据。另外,系统区520是由控制器432使用,处理器420不能直接存取系统区520。系统区520储存控制器432所执行的固件(firmware),以及控制器432管理非易失性存储器434所需的信息,例如非易失性存储器434的损坏区块信息(badblock information)与地址转译表(address translation table)。此外,系统区520还包括一个内部暂存区525。使用者区510、系统区520、以及内部暂存区525都是由多个存储区块组成。于一实施例中,非易失性存储器434是闪存,闪存的每一存储区块包括多个存储分页(memory page),且每一存储区块的容量大小相同。
当非易失性存储器434由处理器420接收一数据时,该数据有一部分是直接存入使用者区510,不过,上述数据有另一部分是先暂存于内部暂存区525,等写入完毕后,才由内部暂存区525搬移并存入使用者区510。在移动电子装置400的操作系统与应用程序执行时经常变更的小笔数据,例如文件系统(file system)的摘要记录(journal),就可以先暂存在内部暂存区525。上述的摘要记录可包括文件大小、文件的修改时间、建立时间、以及文件数据在非易失性存储器434之内的逻辑地址(logical address)等信息。
图6是依照本发明的一实施例的一种清理存储区块的方法的流程图,此方法可由移动电子装置400执行。在步骤610,接口单元410提供使用者接口以接收使用者输入。例如接口单元410可提供多个选项以询问使用者是否愿意让控制器432清理非易失性存储器434,或询问使用者愿意分派多少时间让控制器432清理非易失性存储器434,使用者输入可包括选择多个选项的其中一个。因为清理非易失性存储器434可能需要不少时间,在这期间移动电子装置400的操作可能迟缓甚至停顿,所以有必要询问使用者的意愿。在步骤620,处理器420因应上述使用者输入而发送一个信号440至半导体储存装置430。信号440是用来指示使用者的输入。
接下来,在步骤630,控制器432在接收信号440之后检查移动电子装置400的供电是否足以完成非易失性存储器434的存储区块清理(这可以是完全清理或部分清理)。如果移动电子装置400的电池电量足够,或移动电子装置400正在充电,或移动电子装置400正在和个人计算机同步数据,则控制器432判定供电足以完成上述存储区块清理,流程进入步骤640。否则流程直接结束,不进行存储区块清理。步骤630的检查是为了避免非易失性存储器434储存的数据因为断电而损毁。
在步骤640,控制器432进一步检查将被清理的区域(即使用者区510、系统区520、或内部暂存区525)的可用区块(free block)的数量是否小于预设的临界值。如果是,表示有碎裂现象,流程进入步骤650。否则表示没必要进行存储区块清理,流程直接结束。
接下来,在步骤650,控制器432因应信号440而清理非易失性存储器434的至少一个存储区块。被清理的存储区块可属于使用者区510、系统区520、或内部暂存区525。上述的清理可以是如图3所示的垃圾收集。
如果被清理的存储区块属于内部暂存区525,则可用另一种清理方式。由于内部暂存区525的数据只是暂存,不必长期保留,所以对于将被清理的每一上述存储区块,控制器432可以将欲被清理的该存储区块的有效数据存入使用者区510,抹除该存储区块的数据并标示该存储区块为可用区块。控制器432可通过此方式清理内部暂存区525的全部存储区块,或仅清理内部暂存区525的部分存储区块。如果内部暂存区525的每一存储区块都这样清理,就能将内部暂存区525清空到出厂时的初始状态。
图7是依照本发明的一实施例的一种使用者接口700的示意图,使用者接口700可来自移动电子装置400的操作系统或应用程序。使用者接口700可由接口单元410的触控屏幕显示,以供使用者操作,并通过触控屏幕接收一使用者输入。使用者接口700包括消息710、730、长条图720、以及两个选项741~742。消息710与长条图720指出内部暂存区525的存储区块利用率。消息730指出完全清理内部暂存区525所需的时间长度(15分钟),并询问使用者是否愿意让控制器432完全清理内部暂存区525。
使用者可操作使用者接口700以选择一个选项。若使用者选择同意选项(是)741,表示同意完全清理内部暂存区525。处理器420可发送信号440以通知控制器432进行内部暂存区525的完全清理。或者,信号440可包括消息730中的时间长度,以限定控制器432清理内部暂存区525的时间。无论清理的目标完成与否,控制器432会在指定的时间长度结束时停止清理,让移动电子装置400恢复正常操作。若使用者选择不同意选项(否)742,表示不同意上述清理,则处理器420不发送信号440,所以控制器432不进行存储区块清理。
图8是依照本发明的另一实施例的一种使用者接口800的示意图。使用者接口800包括消息810与三个选项821~823。消息810提示使用者选择给予控制器432以清理内部暂存区525的时间长度。如图8所示,选项821~823分别对应不同的时间长度。使用者选择的时间越长,对移动电子装置400的操作的妨碍越大,但清理存储区块的效果越佳。当使用者选择其中一个选项,处理器420会将该选项对应的时间长度包含在信号440之中,发送给控制器432。因此,信号440可限定控制器432清理内部暂存区525的存储区块的时间长度。控制器432所清理的存储区块数量会与此时间长度成正比。
在有限的时间长度内清理哪些存储区块可由处理器420或控制器432决定。若是由处理器420决定,则处理器420可根据使用者选择的时间长度,选择内部暂存区525的需要清理的存储区块其中的一部分,该部分的存储区块数量与该时间长度成正比。信号440可包含该时间长度与该部分在非易失性存储器434之内的物理地址(physical address)。控制器432可因应信号440在该时间长度之内清理该部分的存储区块。
图9是依照本发明的另一实施例的一种使用者接口900的示意图。使用者接口900包括消息910、930、长条图920、以及四个选项941~944。消息910与长条图920指出内部暂存区525的存储区块利用率。消息930指出完全清理内部暂存区525所需的时间长度,并询问使用者是否愿意让控制器432完全清理内部暂存区525。使用者可选择选项941~943其中之一,以限定清理的时间长度。使用者也可选择选项944以取消此次清理。
综上所述,本发明可让使用者自行决定是否清理非易失性存储器,也可让使用者自行决定清理的时间长度。因此,本发明不仅可解决非易失性存储器的碎裂问题,也可提高使用者的观感。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (16)
1.一种移动电子装置,包括:
接口单元,提供使用者接口以接收使用者输入;
半导体储存装置,包括控制器与非易失性存储器,该非易失性存储器耦接该控制器并包括多个存储区块;以及
处理器,耦接该接口单元与该半导体储存装置,因应该使用者输入而发送信号至该半导体储存装置,该控制器因应该信号而清理至少一上述存储区块,其中该接口单元提供至少一选项,该使用者输入包括选择上述至少一选项其中之一,该处理器根据该被选择选项而决定时间长度,该信号指示该时间长度,该控制器在该时间长度之内清理该至少一存储区块。
2.根据权利要求1所述的移动电子装置,其中该非易失性存储器为闪存。
3.根据权利要求1所述的移动电子装置,还包括操作系统与多个应用程序,其中该非易失性存储器包括使用者区与系统区,该使用者区储存该操作系统与该多个应用程序,该系统区储存该控制器管理该非易失性存储器所需的信息,该控制器清理的该至少一存储区块属于该系统区。
4.根据权利要求3所述的移动电子装置,其中该系统区包括内部暂存区,该控制器清理的该至少一存储区块属于该内部暂存区。
5.根据权利要求4所述的移动电子装置,其中当该非易失性存储器接收数据时,该数据的一部分是直接存入该使用者区,上述数据的另一部分是先暂存于该内部暂存区然后由该内部暂存区搬移并存入该使用者区。
6.根据权利要求4所述的移动电子装置,其中该控制器通过将欲被清理的该存储区块的有效数据存入该使用者区,抹除该存储区块的数据并标示该存储区块为可用区块来清理该存储区块。
7.根据权利要求4所述的移动电子装置,其中该处理器根据该时间长度选择该内部暂存区的其中的一部分的存储区块,该部分的存储区块数量与该时间长度成正比,该信号指示该时间长度与该部分的物理地址,该控制器因应该信号在该时间长度之内清理该部分的存储区块。
8.根据权利要求4所述的移动电子装置,其中该控制器在接收该信号之后检查该内部暂存区的可用区块数量是否小于临界值,该控制器仅在该可用区块数量小于该临界值时进行上述清理。
9.根据权利要求1所述的移动电子装置,其中该控制器在接收该信号之后检查该移动电子装置的供电是否足以完成上述清理,该控制器仅在上述供电足以完成上述清理时进行上述清理。
10.一种清理存储区块的方法,由移动电子装置执行,该移动电子装置具有半导体储存装置,该半导体储存装置包括控制器与非易失性存储器,该非易失性存储器耦接该控制器并包括多个存储区块,该方法包括:
提供使用者接口以接收使用者输入,并且通过该使用者接口提供至少一选项,其中该使用者输入包括选择上述至少一选项其中之一;
根据该被选择选项而决定时间长度;
因应该使用者输入而发送信号,其中该信号指示该时间长度;以及
因应该信号而在该时间长度之内清理该非易失性存储器的至少一存储区块。
11.根据权利要求10所述的清理存储区块的方法,其中该非易失性存储器包括使用者区与系统区,该使用者区储存该移动电子装置的操作系统与多个应用程序,该系统区储存该控制器管理该非易失性存储器所需的信息,被清理的该至少一存储区块属于该系统区,且其中该系统区包括该非易失性存储器的损坏区块信息、该非易失性存储器的地址转译表、以及内部暂存区,被清理的该至少一存储区块属于该内部暂存区。
12.根据权利要求11所述的清理存储区块的方法,还包括:
通过该非易失性存储器接收数据;
将该数据的一部分直接存入该使用者区;
将该数据的另一部分暂存于该内部暂存区;及
将该数据的另一部分由该内部暂存区搬移并存入该使用者区。
13.根据权利要求11所述的清理存储区块的方法,其中清理该非易失性存储器的至少一存储区块的步骤还包括:
将欲被清理的该存储区块的有效数据存入该使用者区;
抹除该存储区块的数据;以及
标示该存储区块为可用区块。
14.根据权利要求11所述的清理存储区块的方法,还包括:
根据该时间长度选择该内部暂存区的其中的一部分的存储区块,其中该部分的存储区块数量与该时间长度成正比,该信号指示该时间长度与该部分的物理地址;以及
因应该信号在该时间长度之内清理该部分的存储区块。
15.根据权利要求11所述的清理存储区块的方法,还包括:
在接收该信号之后检查该内部暂存区的可用区块数量是否小于临界值;以及
仅在该可用区块数量小于该临界值时进行上述清理。
16.根据权利要求10所述的清理存储区块的方法,还包括:
在接收该信号之后检查该移动电子装置的供电是否足以完成上述清理;以及
仅在上述供电足以完成上述清理时进行上述清理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410105686.0A CN104932981B (zh) | 2014-03-20 | 2014-03-20 | 移动电子装置与清理存储区块的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410105686.0A CN104932981B (zh) | 2014-03-20 | 2014-03-20 | 移动电子装置与清理存储区块的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104932981A CN104932981A (zh) | 2015-09-23 |
CN104932981B true CN104932981B (zh) | 2018-05-25 |
Family
ID=54120153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410105686.0A Active CN104932981B (zh) | 2014-03-20 | 2014-03-20 | 移动电子装置与清理存储区块的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104932981B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073571A (zh) * | 2009-11-23 | 2011-05-25 | 慧荣科技股份有限公司 | 存储装置的使用寿命量测方法及其数据储存系统 |
CN102622310A (zh) * | 2011-01-30 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 无效数据擦除方法、装置及系统 |
CN103577240A (zh) * | 2012-07-25 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 系统自动清理方法、装置及存储介质 |
CN103608866A (zh) * | 2013-03-15 | 2014-02-26 | 华为技术有限公司 | 用于闪存存储器的数据擦除方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944063B2 (en) * | 2003-01-28 | 2005-09-13 | Sandisk Corporation | Non-volatile semiconductor memory with large erase blocks storing cycle counts |
CN101646994B (zh) * | 2006-12-06 | 2016-06-15 | 才智知识产权控股公司(2) | 利用内存库交错管理固态存储器的命令的装置、系统及方法 |
US9274573B2 (en) * | 2008-02-07 | 2016-03-01 | Analog Devices, Inc. | Method and apparatus for hardware reset protection |
TWI587136B (zh) * | 2011-05-06 | 2017-06-11 | 創惟科技股份有限公司 | 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法 |
-
2014
- 2014-03-20 CN CN201410105686.0A patent/CN104932981B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073571A (zh) * | 2009-11-23 | 2011-05-25 | 慧荣科技股份有限公司 | 存储装置的使用寿命量测方法及其数据储存系统 |
CN102622310A (zh) * | 2011-01-30 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 无效数据擦除方法、装置及系统 |
CN103577240A (zh) * | 2012-07-25 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 系统自动清理方法、装置及存储介质 |
CN103608866A (zh) * | 2013-03-15 | 2014-02-26 | 华为技术有限公司 | 用于闪存存储器的数据擦除方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104932981A (zh) | 2015-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949355B2 (en) | Methods and apparatus for workload based dynamic cache control in SSD | |
CN106874217B (zh) | 存储器系统及控制方法 | |
CN102693184B (zh) | 处理具有非易失性存储器的系统的动态和静态数据 | |
US8463826B2 (en) | Incremental garbage collection for non-volatile memories | |
JP4192129B2 (ja) | メモリ管理装置 | |
TWI306263B (zh) | ||
US8645614B2 (en) | Method and apparatus for managing data of flash memory via address mapping | |
US20160062885A1 (en) | Garbage collection method for nonvolatile memory device | |
JP7010667B2 (ja) | メモリシステムおよび制御方法 | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
US20150127889A1 (en) | Nonvolatile memory system | |
CN106201335B (zh) | 存储系统 | |
TW201245958A (en) | Flash memory device, memory control device, memory control method, and storage system | |
TW201227739A (en) | Method for performing block management, and associated memory device and controller thereof | |
JP2009099149A (ja) | 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置 | |
CN108415663A (zh) | 数据存储装置的操作方法 | |
CN111159059B (zh) | 一种垃圾回收方法、装置及非易失性的存储设备 | |
CN107710143A (zh) | 用于数据存储装置的介质区域管理 | |
KR20120084906A (ko) | 비휘발성 메모리 시스템 및 그 관리 방법 | |
JP2017174387A (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 | |
US9823852B2 (en) | Memory system with nonvolatile memory | |
TWI840678B (zh) | 記憶體系統、資訊處理系統及主機裝置 | |
US11556249B2 (en) | Delaying random data relocation for reducing write amplification in storage devices | |
JP2010237907A (ja) | ストレージ装置および記録方法 | |
US9304906B2 (en) | Memory system, controller and control method of 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 |