CN100504812C - 随机存取闪存的控制方法 - Google Patents
随机存取闪存的控制方法 Download PDFInfo
- Publication number
- CN100504812C CN100504812C CNB2003101196764A CN200310119676A CN100504812C CN 100504812 C CN100504812 C CN 100504812C CN B2003101196764 A CNB2003101196764 A CN B2003101196764A CN 200310119676 A CN200310119676 A CN 200310119676A CN 100504812 C CN100504812 C CN 100504812C
- Authority
- CN
- China
- Prior art keywords
- page
- data
- block
- flash memory
- time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种随机存取闪存的控制方法,该方法提供一种以页(Page)或以区块(Block)为单位,对该闪存进行数据存取的设置方法,当一主机(如:计算机、读卡机、手机等)于该闪存中进行数据的写入时,能依据此数据的容量大小,来选择以逐页写入该数据,或者选择以区块为单位进行该数据的写入,达成可加快写入的目的,并减少对该闪存做删除(Erase)的动作,令该闪存得以延长使用寿命。
Description
技术领域
本发明为一种随机存取闪存的控制方法,尤指该方法提供一种以页(Page)或以区块(Block)为单位,对该闪存进行数据存取的设置方法。
背景技术
一般传统闪存(Flash)的存取方式,受限于快闪存储器本身结构设计的关系,在读取时只能以一个页(Page)为单位,从各页内的任一地址开始读取数据。在写入时,则须以区块(Block)为单位,先删除(Erase)整个区块后,才能逐页写入(Page by Page)。这样一来在处理容量小于一个区块的数据时必须受限于闪存的结构,来设定存取的方式。
由于闪存的物理特性,该闪存中必须不含任何数据,才能将相当一个扇区(Sector)的数据,完完整整的写到该闪存一个页中,所以,于该页中写入数据时,就得先确定这个页是"空"的,所谓"空"的就是说这个页原本的数据都是"1"。以往对闪存的管理是以区块(Block)为单位,所以若要写数据到区块里其中一个页(Page)中时,为了方便及安全起见,就得于闪存中找出一个无任何数据的新区块(也称为备用的区块)来,将此数据写入该新区块相对的页中,而原来旧区块的数据就完完整整的搬到该新区块中,再将旧区块删除(Erase)掉,以当成另一个新的区块。
若处理的数据容量大小为连续好几个区块时,则于闪存中找出一个新区块来,将要写入的数据逐个写到相对的页中,等到所有的数据都写完后,再将旧区块原有数据搬到新区块相对页中,之后再将旧区块删除掉。由于主机(如:计算机、读卡机、手机等)常会不断地更新闪存的档案配置表(FAT),且若拷贝的数据都是一些小档案的话,这时对闪存而言一次也不过处理几个页的数据,但闪存就得不断地找一个新的区块出来,并不断地将旧区块里的数据搬到新的区块去,及不断地对旧的区块做删除。
基于闪存的物理特性,对闪存作删除的动作超过一百万次后,会容易造成闪存内部的损毁,所以要延长闪存的寿命,就得减少对闪存做删除的动作。由此,利用以往现有区块为单位来管理闪存,闪存的破坏率相较于以页为单位来管理会高出很多。
发明内容
发明人有鉴于前述现有以区块为单位来管理闪存的方法,容易造成闪存内部的损毁的缺陷,乃依其从事电子元件、电子装置的制造经验和技术累积,针对上述缺陷悉心研究各种解决的方法,在经过不断地研究、实验与改良后,终于开发设计出一种全新的令随机存取闪存达最佳效能的控制方法的发明,该方法能加快写入的速度,并减少对该闪存做删除的动作,以解决现有技术中的许多缺陷。
本发明的主要目的,提供一种以页(Page)或以区块(B1ock)为单位,对该闪存进行数据存取的设置方法,当一主机(如:计算机、读卡机、手机等)于该闪存中进行数据的写入时,能依据此数据的容量大小,计算以区块为单位的删除、搬移数据的时间及次数,以及计算以页为单位的删除、搬移数据的时间及次数,再根据上述计算的数据,选择一种最佳的写入方式,达成可加快写入的速度的目的,并减少对该闪存做删除的动作,令该闪存得以延长使用寿命的目的。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种随机存取闪存的控制方法,其包括以下步骤:当一主机于该闪存的一区块中写入数据时,判断该数据的页数;依据一区块删除时间、一页数据读出时间、一页数据写入时间与该数据的页数来获得以区块为删除单位的写入时间;依据一页数据删除时间、该页数据写入时间与该数据的页数来获得以页为删除单位的写入时间;以及比较该以区块为删除单位的写入时间和该以页为删除单位的写入时间,其中若该以页为删除单位的写入时间小于该以区块为删除单位的写入时间时则以页为删除单位写入该数据,并且若该以页为删除单位的写入时间不小于该以区块为删除单位的写入时间时则以区块为单位写入该数据。
附图说明
图1本发明的整体系统结构图。
图2本发明以页为基本存取单位的闪存结构图。
或选择以页为单位进行该数据的写入。
其中,该页数据读出的时间是pr、页数据写入的时间是pp、页删除的时间是pe,区块删除的时间是be,则以页删除的方式存取N个页所花的时间是pe×N+pp×N,而以区块删除方式存取所花的时间则为be×1+pr×(32—N)+pp×32,其中,N是一整数。
通过上述技术特征,本发明的主要目的,提供一种以页(Page)或以区块(Block)为单位,对该闪存进行数据存取的设置方法,当一主机(如:计算机、读卡机、手机等)于该闪存中进行数据的写入时,能依据此数据的容量大小,计算以区块为单位的删除、搬移数据的时间及次数,以及计算以页为单位的删除、搬移数据的时间及次数,再根据上述计算的数据,选择一种最佳的写入方式,达成可加快写入的速度的目的,并减少对该闪存做删除的动作,令该闪存得以延长使用寿命的目的。
附图说明
图1本发明的整体系统结构图。
图2本发明以页为基本存取单位的闪存结构图。
图3本发明进行删除的时序图。
图4本发明以页为单位进行写入的时序图。
图5本发明作页删除的示意图。
图6本发明以页为单位的写入示意图。
图7本发明以区块为单位进行写入数据的示意图之一。
图8本发明以区块为单位进行写入数据的示意图之二。
图9本发明以区块为单位进行写入数据的示意图之三。
图10本发明以区块为单位进行写入数据的示意图之四。
图11本发明以区块为单位进行写入数据的示意图之五。
图中符号说明
11 单芯片闪存控制器
12 闪存
13 主机接口
14 主机
15 程序内存
具体实施方式
为能对本发明的目的、形状、构造装置特征及其功效,做更进一步的认识与了解,将以实施例配合附图,详细说明如下:
本发明乃有关于一种随机存取闪存的控制方法,该方法提供一种以页(Page)或以区块(Block)为单位,对该闪存进行数据存取的设置方法,当一主机(如:计算机、读卡机、手机等)于该闪存中进行数据的写入时,能依据此数据的容量大小,计算以区块为单位的删除、搬移数据的时间及次数,以及依据此数据的容量大小,计算以页为单位的删除、搬移数据的时间及次数,再根据上述计算的数据,选择一种最佳的写入方式,若以区块为单位的删除次数少且搬移数据时间速度快,就选择以区块为单位进行该数据的写入,若以页为单位的删除次数少且搬移数据时间速度快,就选择以页为单位进行该数据的写入,达到可加快写入的速度的目的,并减少对该闪存做删除(Erase)的动作的目的,令该闪存得以延长使用寿命。
请参阅图1所示,本发明的整体系统结构图,该系统包括一单芯片闪存控制器11、一闪存12、一主机接口13及一主机14,其中单芯片闪存控制器11与闪存12相连接,并透过主机接口13与主机14(如:计算机、读卡机、手机等)相接,令该主机14可操控该单芯片闪存控制器11自该闪存12中存取数据,而该单芯片闪存控制器11内嵌或外挂一程序内存15,俾该单芯片闪存控制器11可依该程序内存15事先设定的程序,执行对该闪存12的存取动作。
在该发明中,请参阅图2所示,以页为基本存取单位的新型闪存结构图,当每次在写入之前都会对页/区块作删除的动作,其中删除的时序如图3所示,而写入是以页为单位,写入的时序如图4所示。
在该发明中,请参阅图1、5、6所示,本发明的方法可根据欲写入数据容量的页数多少,来决定是否要用新的区块(备用的区块)来存放新的数据,亦或直接删除(Erase)欲更改的页51(Page),使这个页51变成"空"的之后(如图5所示),再将新的数据写到这个新的页51中(如图6所示),以减少删除的动作,免除闪存12的损毁,及延长闪存12的使用寿命。
再者,根据规格书上的特性,区块删除(Block Erase)的时间是4毫秒(ms),页删除(Page Erase)的时间也是4毫秒(ms)。而页写入数据的时间是200微秒(μs)以一个区块(Block)共有32个页(Page),故区块写入数据(Block Program)的时间就是页写入数据(Page Program)的时间乘以32(即200微秒×32)等于6.4毫秒(ms),而页数据读出(Page read)的时间是5微秒(μs)(First byte latency)加上50奈秒(ns)乘以528等于31.4微秒(μs),所以,依以往如果以区块(Block)为单位的管理方式,如只是要更改区块(Block)里的某一个页(Page),除了新的页(Page)的数据是由外部控制器所输入,其余31个页(Page)的数据都需由旧的区块(Block)搬到新的区块(Block)去(如图7、8、9、10、11所示),共至少需要区块删除(Block Erase)乘1加上页数据读出(Page read)乘31加上页数据写入(Page Program)乘32等于11.37毫秒(ms),但以页(Page)为单位的管理时(如图5、6所示),只需要一个页删除(Page Erase)加上一个页数据写入(Page Program)等于4.2毫秒(ms),省去了其它31个页(Page)从旧的区块(Block)搬到新的区块(Block)的时间。
但由于页删除(Page Erase)和区块删除(Block Erase)的时间相等,都是4毫秒(ms),因此若32个页(Page)的数据都和原来的数据不同,需全部删除(Erase)时,都只用页删除(Page Erase)的方式来处理,反而需要页删除(Page Erase)乘32加上页数据写入(Page Program)乘32等于134.4毫秒(ms),比用区块(Block)方式需一个区块删除(Block Erase)加上页数据写入(Page Program)乘32等于10.4毫秒(ms)多出甚多,因此何时需要以页删除(Page Erase)来处理,何时需要以区块删除(Block Erase)来处理,必须要视闪存12(F1ash Memory)中的规格上页数据写入(Page Program)的时间、页删除(Page Erase)的时间、页数据读出(Page read)的时间以及区块删除(Block Erase)的时间来决定。存取的页(Page)少时,以页删除(Page Erase)来做较有利,存取页(Page)数目多时,以区块删除(Block Erase)来处理较省时。
而这个多与少的个数如何决定呢?我们可以假设各时间的变量,来计算出在存取几个页(Page)以何种方式可得到最有利的结果:
首先,假设页数据读出(Page read)的时间是pr、页数据写入(Page Program)的时间是pp、页删除(Page Erase)的时间是pe,区块删除(Block Erase)的时间是be,则以页删除(Page Erase)的方式存取N个页(Page)所花的时间是pe×N+pp×N(N是一整数),另外,以区块删除(Block Erase)方式存取所花的时间为be×1+pr×(32—N)+pp×32;两相比较,欲使页删除(Page Erase)的时间少于区块删除(Block Erase)的时间pe×N+pp×N<be×1+pr×(32—N)+pp×32代入此闪存12(Flash Memory)的参数,pe=4ms,pp=200μs,pr=31.4μs,be=4ms可计算出N<2.6时使用页删除(Page Erase)的方式,可以得到较佳的效能,其原因是因为此闪存12(Flash Memory)在页删除(Page Erase)的时间和区块删除(BlockErase)的时间相同,若未来有新的规格的闪存页删除(Flash Memory Page Erase)的时间低于区块删除(Block Erase)的时间,即可提高N值,使管理闪存(Flash Memory)的弹性更大,其中N是一整数。
以上所述,仅为本发明最佳具体实施例,本发明的构造特征并不局限于此,任何熟悉该技艺者在本发明领域内,可轻易思及的变化或修饰,皆可涵盖在所述的专利范围内。
Claims (3)
1.一种随机存取闪存的控制方法,其特征在于:
当一主机于该闪存的一区块中写入数据时,判断该数据的页数;
依据一区块删除时间、一页数据读出时间、一页数据写入时间与该数据的页数来获得以区块为删除单位的写入时间;
依据一页数据删除时间、该页数据写入时间与该数据的页数来获得以页为删除单位的写入时间;以及
比较该以区块为删除单位的写入时间和该以页为删除单位的写入时间,其中若该以页为删除单位的写入时间小于该以区块为删除单位的写入时间时则以页为删除单位写入该数据,并且若该以页为删除单位的写入时间不小于该以区块为删除单位的写入时间时则以区块为单位写入该数据。
2.如权利要求1所述的随机存取闪存的控制方法,其中,该以页为删除单位的写入时间是通过加总该页删除时间乘以该数据的页数和该页数据写入时间乘以该数据的页数而获得,并且该以区块为删除单位的写入时间是透过加总该区块删除时间、该页数据读出时间乘以一搬移数据次数和该页数据写入时间乘以该区块的页数而获得,其中该搬移数据次数是藉由将该区块的页数减去该数据的页数而获得。
3.如权利要求1所述的随机存取闪存的控制方法,其中该主机为一计算器、一卡片阅读机或一手机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101196764A CN100504812C (zh) | 2003-11-21 | 2003-11-21 | 随机存取闪存的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101196764A CN100504812C (zh) | 2003-11-21 | 2003-11-21 | 随机存取闪存的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1619507A CN1619507A (zh) | 2005-05-25 |
CN100504812C true CN100504812C (zh) | 2009-06-24 |
Family
ID=34761404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101196764A Expired - Fee Related CN100504812C (zh) | 2003-11-21 | 2003-11-21 | 随机存取闪存的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100504812C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140543B (zh) * | 2007-10-19 | 2010-04-21 | 炬力集成电路设计有限公司 | 支持flash页操作与流水线纠错码的数据交换装置与方法 |
CN101566969B (zh) * | 2008-04-21 | 2011-05-18 | 群联电子股份有限公司 | 提升非易失性存储器存储装置的管理效能的方法及控制器 |
US8364931B2 (en) * | 2009-06-29 | 2013-01-29 | Mediatek Inc. | Memory system and mapping methods using a random write page mapping table |
TWI599881B (zh) | 2014-01-22 | 2017-09-21 | 群暉科技股份有限公司 | 用來適應性地管理一固態硬碟之方法、裝置、與計算機程式產品 |
-
2003
- 2003-11-21 CN CNB2003101196764A patent/CN100504812C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1619507A (zh) | 2005-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6862604B1 (en) | Removable data storage device having file usage system and method | |
CN107368429A (zh) | 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法 | |
CN102508785B (zh) | 一种磨损均衡方法及装置 | |
US20160188227A1 (en) | Method and apparatus for writing data into solid state disk | |
CN103870514A (zh) | 重复数据删除方法和装置 | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
AU2003286967B2 (en) | Dual journaling store method and storage medium thereof | |
CN103440207A (zh) | 缓存方法及装置 | |
KR20130031046A (ko) | 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법 | |
EP3059679B1 (en) | Controller, flash memory device, method for identifying data block stability and method for storing data on flash memory device | |
Luojie et al. | An improved analytic expression for write amplification in NAND flash | |
CN108073522A (zh) | 可用于数据储存装置的垃圾搜集方法 | |
CN104798063A (zh) | 存储设备和主机设备 | |
CN103049396A (zh) | 数据的刷写方法及装置 | |
CN112506811B (zh) | 基于固态硬盘内数据冷热划分的数据块动态分配方法、装置 | |
CN103389942A (zh) | 控制装置、存储装置及存储控制方法 | |
CN108733577A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN103513956A (zh) | 一种处理器处理数据的方法以及装置 | |
CN104035725A (zh) | 用以存取数据的电子装置及其数据存取方法 | |
CN100504812C (zh) | 随机存取闪存的控制方法 | |
CN102169464B (zh) | 一种用于非易失性存储器的缓存方法、装置及智能卡 | |
CN103823634B (zh) | 一种支持无随机写模式的数据处理方法及系统 | |
CN101131649A (zh) | 设有闪存的装置的只读存储器升级速度改善方法 | |
CN101968724A (zh) | 针对嵌入式arm处理器对sd卡数据存储和删除方法 | |
CN111324289B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090624 Termination date: 20181121 |