[go: up one dir, main page]

CN102023927A - 闪存控制装置及其存取方法 - Google Patents

闪存控制装置及其存取方法 Download PDF

Info

Publication number
CN102023927A
CN102023927A CN2009101719425A CN200910171942A CN102023927A CN 102023927 A CN102023927 A CN 102023927A CN 2009101719425 A CN2009101719425 A CN 2009101719425A CN 200910171942 A CN200910171942 A CN 200910171942A CN 102023927 A CN102023927 A CN 102023927A
Authority
CN
China
Prior art keywords
flash memory
blank
block
data
physical address
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
CN2009101719425A
Other languages
English (en)
Inventor
王忠胜
陈威均
周晓薇
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.)
Asolid Technology Co Ltd
Original Assignee
Asolid Technology Co Ltd
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
Application filed by Asolid Technology Co Ltd filed Critical Asolid Technology Co Ltd
Priority to CN2009101719425A priority Critical patent/CN102023927A/zh
Publication of CN102023927A publication Critical patent/CN102023927A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

本发明提供一种闪存控制装置及其存取方法,该方法包括:首先依据闪存的多个实体地址分割闪存为至少一个节区;接着,针对节区分割出数据储存区及空白队列区;然后依据闪存的多个逻辑地址建立对应查找表,其中的对应查找表中包括多个储存字段,用以储存数据储存区的实体地址;并且,接收存取命令,其中的存取命令针对目标逻辑地址写入存入数据;最后,写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标逻辑地址的储存字段的原始实体地址更新为数据区块的实体地址。

Description

闪存控制装置及其存取方法
技术领域
本发明涉及一种闪存控制装置及其存取方法,尤其涉及一种闪存损耗平均(wear leveling)的存取方法。
背景技术
闪存(flash memory)是一种可程式(programmable)的只读存储器(read only memory,ROM),其允许被多次的抹除并更新所储存的数据。这种闪存在现今的电子产品中的应用非常广泛,常见于存储卡及随身碟等作为数字电子产品间交换数据的媒介。
通常,闪存被划分成多个区块(block),而每一个区块中又被细分为许多容量相同的页(page)。在此,闪存存在着一个限制,就是在当对闪存进行数据的更新时,必须针对要被更新的地址所在的区块进行抹除的动作后,再把新的数据写入。而针对闪存进行数据抹除是有一定的寿命(抹除次数)限制。并且,闪存有一个特性就是闪存中的每一个区块的寿命都是独立的。为了有效提升闪存的使用寿命,现有技术提出一种所谓的损耗平均(wear leveling)的技术来使每个区块的抹除次数能够较为平均。
请参照图1~图3,图1~图3为现有的闪存的损耗平均存取方法的示意图。如图1所示,闪存110依据其实体地址PBA0~PBA767分成3个分区,其中,实体地址PBA0~PBA255为第一分区DIV0,实体地址PBA256~PBA511为第二分区DIV1,而实体地址PBA512~PBA767为第三分区DIV2。然后,针对第一分区DIV0依据逻辑地址LBA0~LBA255建立对应查找表120。由于第一分区DIV0包括256个区块(每一个实体地址表示对应一个区块)。其中,对应查找表120储存的数据代表逻辑地址及实体地址的对应关系。在图1中,逻辑地址LBA0与实体地址PBA0相对应。
接着请参照图2,现有的损耗平均技术还包括建立空白队列区130,空白队列区130记录未被写入数据的区块的实体地址。如图2所示,图示左侧的对应查找表120皆为空白(未被写入),而图示左侧的空白队列区130则记录出所有的实体地址PBA0~PBAN皆为空白。然而在执行存取命令210后,由于逻辑地址LBA0~LBA2要被写入,因此,闪存依据空白队列区130的记录提供实体地址PBA0、PBA1、PBA2分别对应逻辑地址LBA0、LBA1、LBA2以储存数据。也因此,图示右侧的对应查找表120对应逻辑地址LBA0、LBA1、LBA2的储存字段分别存入实体地址PBA0、PBA1、PBA2。而图示右侧的空白队列区130也移除了原先实体地址PBA0、PBA1、PBA2的记录。
接着继续参照图3,此时执行存取命令310以针对逻辑地址LBA1、LBA2进行数据的更新。依据空白队列区130(如图示左侧)来提供实体地址PBA3、PBA4来存入要更新至逻辑地址LBA1、LBA2的数据。并且将实体地址PBA0、PBA1清除,并加入空白队列区130(如图示右侧)。
此种现有的损耗平均技术因为对应查找表120与闪存的实体地址必须一对一存在,而需要相当大的存储空间,而空白队列区130也需要多的存储空间。换言之,此种现有的损耗平均技术是需要较高的成本的。
发明内容
本发明提供一种闪存存取方法,有效平均分配闪存中的各区块的被更新次数。
本发明提供一种闪存控制装置,有效平均分配闪存中的各区块的被更新次数。
本发明提出一种闪存存取方法,首先依据闪存的多个实体地址分割闪存为至少一个节区。接着,针对节区分割出数据储存区及空白队列区。然后依据闪存的多个逻辑地址建立对应查找表,其中的对应查找表中包括多个储存字段,用以储存数据储存区的实体地址。并且,接收存取命令,其中的存取命令针对目标逻辑地址写入存入数据。最后,写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标逻辑地址的储存字段的原始实体地址更新为数据区块的实体地址。
在本发明一实施例中,上述的闪存存取方法还包括清除已被移至新增空白区块的数据储存区所对应原始实体地址。
在本发明一实施例中,上述的空白队列区具有优先存取顺序,且数据区块的优先存取顺序为最高。
在本发明一实施例中,上述的闪存存取方法还包括增加新增空白区块至空白队列区中,且新增空白区块的优先存取顺序为最低。
在本发明一实施例中,上述的闪存存取方法还包括自空白队列区中移除数据区块。
在本发明一实施例中,上述的对应查找表建立在储存装置中。
在本发明一实施例中,上述的储存装置为静态内存或动态内存。
在本发明一实施例中,上述的闪存存取方法还包括动态调整数据储存区及空白队列区的存储容量。
本发明提出一种存取闪存的闪存控制装置,包括控制器以及储存装置。控制器耦接闪存,控制器依据闪存的多个实体地址分割闪存为至少一节区,并且针对节区分割出数据储存区及空白队列区。储存装置耦接该控制器,用以依据闪存的多个逻辑地址建立对应查找表。其中对应查找表中包括多个储存字段,用以储存数据储存区的实体地址。其中,当控制器接收到存取命令,而此存取命令针对目标逻辑地址写入存入数据时,控制器写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标逻辑地址的储存字段的原始实体地址更新为数据区块的实体地址。
在本发明一实施例中,上述的闪存控制装置还包括耦接控制器的传输接口,用以接收存取命令。
基于上述,本发明利用预先设定好的对应查找表以及由闪存的节区中分割出的空白队列区来进行闪存中的数据更新。有效的平均分配闪存的各区块的更新次数。并且,不需要与闪存的总容量相等的对应查找表,有效节省对应查找表的面积,进而降低成本。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1~图3为现有的闪存的损耗平均存取方法的示意图。
图4为本发明的闪存存取方法的一实施例的动作流程图。
图5A~图5B以及图6为本发明的闪存存取方法的实施例的动作示意图。
图7为本发明的一实施例的闪存控制装置700。
主要附图标记说明:
110、510、740:闪存;            120、520:对应查找表;
130、512:空白队列区;           511:数据储存区;
210、310、610:存取命令;        5121:新增空白区块;
700:闪存控制装置;              710:控制器;
720:储存装置;                  730:传输接口;
ST0~ST3935:储存字段;
PBA0~PBA8191、PBAN、PBAX:实体地址;
DIV0~DIV2:分区;               SEG0、SEG1:节区;
LBA0~LBA255、LBAN、LBAm、LDIV0、LDIV15:逻辑地址;
S410~S450:闪存存取方法的步骤。
具体实施方式
以下请参照图4,图4为本发明的闪存存取方法的一实施例的动作流程图。并请同时参照图5A~图5B以及图6,图5A~图5B以及图6为本发明的闪存存取方法的实施例的动作示意图。在本实施例中,其步骤包括:首先,依据闪存的多个实体地址分割闪存为至少一节区(S410)。如图5A所示,闪存510具有实体地址PBA0~PBA8191,而在本实施例中,依据每4096个区块(每一个实体地址对应一个区块)分割为一个节区。也就是说,PBA0~PBA4095分割为节区SEG0,而PBA4096~PBA8191分割为节区SEG1。在此请特别注意,节区的数目不一定要与本实施例相同为2个。在本发明中,节区的数目可依据实际的状况(例如对应查找表的存储容量)来区分,而至少为1个。
接着,则再针对节区分割出数据储存区以及空白队列区(S420)。如图5A所示,节区SEG0则被分割为数据储存区511以及空白队列区512。其中,在本实施例中的数据储存区511包括实体地址PBA0~PBA3935,而空白队列区512则如同图5B所示的包括实体地址PBA3936~PBA4095。在此请注意,图5A、图5B所示的数据储存区511以及空白队列区512的划分仅只是一个范例,并不限制数据储存区511以及空白队列区512所包括的实体地址的范围。事实上,数据储存区511以及空白队列区512的分割方式是可以动态调整的。
然后,依据闪存的多个逻辑地址建立对应查找表,其中对应查找表中包括多个储存字段,用以储存数据储存区的实体地址(S430)。如图5A所示,对应查找表520是依据闪存510的逻辑地址LDIV0的LBA0~LBA245至LDIV15的LBA0~LBA245来建立的。对应查找表520包括储存字段ST0~ST3935,其中的每一个储存字段都储存数据储存区511中的各个实体地址PBA0~PBA3935。举例来说,对应查找表520中对应逻辑地址LDIV0的LBA0的储存字段ST0所储存的数据为实体地址PBA0,表示逻辑地址LDIV0的LBA0与实体地址PBA0相对应。还表示当要对闪存510的逻辑地址LDIV0的LBA0进行存取时,实际上是对闪存510的实体地址PBA0进行存取。
在此,对应查找表520是被建立在一个储存装置中,而这个储存装置可以是动态内存或是静态内存。
请重新参照图4,当接收到一个针对闪存的目标逻辑地址写入存入数据的存取命令时(S440),则写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标逻辑地址的储存字段的原始实体地址更新为数据区块的实体地址(S450)。也就是说,请参照图6,在接收存入数据的存取命令610前,对应查找表520储存数据储存区511的实体地址PBA0~PBA3935,且空白队列区512则包括实体地址PBA3936~PBA4095。当接收到要针对逻辑地址LBA0存入数据的存取命令610后,空白队列区512中的其中一个数据区块(实体地址为PBA3936的区块)则提供用来写入存入数据。同时,对应查找表520中对应逻辑地址LDIV0的LBA0中的储存字段的原始实体地址(为实体地址PBA0)也被更新为实体地址PBA3936。
这样一来,执行存取命令610后的对应查找表520中,对应逻辑地址LDIV0的LBA0的储存字段所记录的为实体地址PBA3936,也就是说,逻辑地址LDIV0的LBA0在执行存取命令610后变更为与实体地址相对应。另外,执行存取命令610前的空白队列区512中为实体地址PBA3936的区块,在执行存取命令610后也由空白队列区512中移除。
请特别注意,在执行存取命令610后,实体地址PBA0的区块因为已经没有任何逻辑地址与之对应,因此,实体地址PBA0的区块可以被清除为空白而成为新增空白区块5121,并将上述的新增空白区块5121加入至空白队列区512中。
另外,为了可以有顺序的由空白队列区512中选择出区块来提供存入命令写入存入数据。空白队列区512具有优先存取顺序。如图6所示,空白队列区512越左边的区块,其优先存取顺序越高。相反的,空白队列区512越右边的区块,其优先存取顺序则越低。并且,当需要由空白队列区512提供区块来进行写入存入数据时,所被选择出的数据区块为空白队列区512中优先存取顺序最高者。而新加入的新增空白区块的优先存取顺序则为最低。
由上述说明不难发现,本实施例有效的平均分散各实体地址的区块的清除更新动作,达成损耗平均的需求。
以下则针对本发明的用以存取闪存的闪存控制装置提出一实施例来加以说明,以使本领域技术人员都可以轻易了解并实施本发明。
请参照图7,图7为本发明的一实施例的闪存控制装置700。闪存控制装置700耦接闪存740,并对闪存740进行存取控制。闪存控制装置700包括控制器710、储存装置720以及传输接口730。其中,控制器710耦接至闪存740。且控制器710依据闪存740的多个实体地址来分割闪存为至少一个节区,控制器710并且针对节区分割出数据储存区及空白队列区。
储存装置720则耦接控制器710。储存装置720用以依据闪存的多个逻辑地址建立对应查找表,其中的对应查找表中包括多个储存字段。这些储存字段则用来储存数据储存区的实体地址。
此外,当控制器710接收到针对目标逻辑地址写入存入数据的存取命令时,控制器710写入存入数据至空白队列区中的数据区块,并把对应查找表中对应目标逻辑地址的储存字段的原始实体地址更新为数据区块的实体地址。另外,控制器710还清除数据储存区中对应原始实体地址的新增空白区块及增加新增空白区块至空白队列区中。而上述的数据区块则由空白队列区中移除。
上述关于闪存控制装置700的动作细节在本发明的闪存存取方法的实施例的说明中已经有详细的介绍。因此,此处不再对闪存控制装置700的动作细节进行重复说明。
值得注意的是,闪存控制装置700还包括有传输接口730。传输接口730耦接控制器710,用以接收使用者对闪存740所传送的存取命令。当然,传输接口730也可以用来传输存入闪存740或由闪存740读出的数据。这种传输接口的功能及建构方式,为本领域技术人员所熟知的技术,在此不再赘述。
综上所述,本发明利用设定好的对应查找表以及由闪存中分割出的空白队列区来进行闪存的数据更新动作。并不需要与闪存的实体地址一对一的对应查找表,也不需要额外的存储器来建立空白队列区。有效的在最小的电路面积下,达成闪存的损耗平均的存取动作。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (16)

1.一种闪存存取方法,包括:
依据该闪存的多个实体地址分割该闪存为至少一节区;
针对该节区分割出一数据储存区及一空白队列区;
依据该闪存的多个逻辑地址建立一对应查找表,其中该对应查找表中包括多个储存字段,用以储存该数据储存区的所述实体地址;
接收一存取命令,其中该存取命令针对一目标逻辑地址写入一存入数据;以及
写入该存入数据至该空白队列区中的一数据区块,并把该对应查找表中对应该目标逻辑地址的该储存字段的一原始实体地址更新为该数据区块的实体地址。
2.根据权利要求1所述的闪存存取方法,其中还包括:
清除该数据储存区中对应该原始实体地址的一新增空白区块。
3.根据权利要求2所述的闪存存取方法,其中该空白队列区具有一优先存取顺序,且该数据区块的该优先存取顺序为最高。
4.根据权利要求3所述的闪存存取方法,其中还包括:
增加该新增空白区块至该空白队列区中,且该新增空白区块的该优先存取顺序为最低。
5.根据权利要求1所述的闪存存取方法,其中还包括:
从该空白队列区中移除该数据区块。
6.根据权利要求1所述的闪存存取方法,其中该对应查找表建立在一储存装置中。
7.根据权利要求6所述的闪存存取方法,其中该储存装置为静态内存或动态内存。
8.根据权利要求1所述的闪存存取方法,其中还包括:
动态调整该数据储存区及该空白队列区的存储容量。
9.一种闪存控制装置,用以存取一闪存,包括:
一控制器,耦接该闪存,该控制器依据该闪存的多个实体地址分割该闪存为至少一节区,并且针对该节区分割出一数据储存区及一空白队列区;以及
一储存装置,耦接该控制器,用以依据该闪存的多个逻辑地址建立一对应查找表,其中该对应查找表中包括多个储存字段,所述储存字段用以储存该数据储存区的所述实体地址;
其中,当该控制器接收到一存取命令,而该存取命令针对该目标逻辑地址写入该存入数据时,该控制器写入该存入数据至该空白队列区中的一数据区块,并把该对应查找表中对应该目标逻辑地址的该储存字段的一原始实体地址更新为该数据区块的实体地址。
10.根据权利要求9所述的闪存控制装置,其中该控制器还包括:
清除该数据储存区中对应该原始实体地址的一新增空白区块。
11.根据权利要求10所述的闪存控制装置,其中该空白队列区具有一优先存取顺序,且该数据区块的该优先存取顺序为最高。
12.根据权利要求11所述的闪存控制装置,其中该控制器还包括:
增加该新增空白区块至该空白队列区中,且该新增空白区块的该优先存取顺序为最低。
13.根据权利要求9所述的闪存控制装置,其中该控制器还包括:
从该空白队列区中移除该数据区块。
14.根据权利要求9所述的闪存控制装置,其中该储存装置为静态内存或动态内存。
15.根据权利要求9所述的闪存控制装置,其中该控制器还包括:
动态调整该数据储存区及该空白队列区的存储容量。
16.根据权利要求9所述的闪存控制装置,其中还包括:
一传输接口,耦接该控制器,用以接收该存取命令。
CN2009101719425A 2009-09-22 2009-09-22 闪存控制装置及其存取方法 Pending CN102023927A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101719425A CN102023927A (zh) 2009-09-22 2009-09-22 闪存控制装置及其存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101719425A CN102023927A (zh) 2009-09-22 2009-09-22 闪存控制装置及其存取方法

Publications (1)

Publication Number Publication Date
CN102023927A true CN102023927A (zh) 2011-04-20

Family

ID=43865246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101719425A Pending CN102023927A (zh) 2009-09-22 2009-09-22 闪存控制装置及其存取方法

Country Status (1)

Country Link
CN (1) CN102023927A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550122A (zh) * 2015-12-07 2016-05-04 联想(北京)有限公司 一种数据处理方法、存储设备、电子设备
CN107643987A (zh) * 2016-07-20 2018-01-30 衡宇科技股份有限公司 减少固态硬盘中dram使用的方法及使用其的固态硬盘
CN109426619A (zh) * 2017-08-30 2019-03-05 慧荣科技股份有限公司 访问快闪存储器模块的方法及相关闪存控制器与电子装置
CN110032336A (zh) * 2017-12-28 2019-07-19 慧荣科技股份有限公司 闪存控制器、安全数字卡、方法以及电子装置
US12061801B2 (en) 2017-12-28 2024-08-13 Silicon Motion Inc. Memory addressing methods and associated controller, memory device and host
US12547324B2 (en) 2024-07-02 2026-02-10 Silicon Motion Inc. Electronic device for accessing an SD card with combined address, and method thereof

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550122A (zh) * 2015-12-07 2016-05-04 联想(北京)有限公司 一种数据处理方法、存储设备、电子设备
CN105550122B (zh) * 2015-12-07 2019-08-30 深圳忆联信息系统有限公司 一种数据处理方法、存储设备、电子设备
CN107643987A (zh) * 2016-07-20 2018-01-30 衡宇科技股份有限公司 减少固态硬盘中dram使用的方法及使用其的固态硬盘
CN107643987B (zh) * 2016-07-20 2020-06-05 深圳衡宇芯片科技有限公司 减少固态硬盘中dram使用的方法及使用其的固态硬盘
CN109426619A (zh) * 2017-08-30 2019-03-05 慧荣科技股份有限公司 访问快闪存储器模块的方法及相关闪存控制器与电子装置
CN109426619B (zh) * 2017-08-30 2022-10-11 慧荣科技股份有限公司 访问快闪存储器模块的方法及相关闪存控制器与电子装置
CN110032336A (zh) * 2017-12-28 2019-07-19 慧荣科技股份有限公司 闪存控制器、安全数字卡、方法以及电子装置
CN110032336B (zh) * 2017-12-28 2023-04-07 慧荣科技股份有限公司 闪存控制器、安全数字卡、方法以及电子装置
US11829289B2 (en) 2017-12-28 2023-11-28 Silicon Motion Inc. Flash memory controller, SD card device, method used in flash memory controller, and host device coupled to SD card device
US12061801B2 (en) 2017-12-28 2024-08-13 Silicon Motion Inc. Memory addressing methods and associated controller, memory device and host
US12265469B2 (en) 2017-12-28 2025-04-01 Silicon Motion Inc. Flash memory controller, SD card device, method used in flash memory controller, and host device coupled to SD card device
US12547324B2 (en) 2024-07-02 2026-02-10 Silicon Motion Inc. Electronic device for accessing an SD card with combined address, and method thereof

Similar Documents

Publication Publication Date Title
CN101458956B (zh) 存取一快闪存储器的装置、方法及平均地使用该快闪存储器的区块的方法
KR101437123B1 (ko) 메모리 시스템 및 그것의 마모도 관리 방법
CN101582052B (zh) 存储器模组及于存储器模组中实现平均磨损的方法
TWI434175B (zh) 用來進行區塊管理之方法以及記憶裝置及控制器
US10810127B2 (en) Solid-state hard disk and data access method for use with solid-state hard disk
US20050132126A1 (en) Method and file structures for managing data on a flash disk
US10140026B2 (en) Data storage device and data maintenance method thereof
TWI409819B (zh) 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
US20120215965A1 (en) Storage Device and Computer Using the Same
CN101419573A (zh) 一种存储管理的方法、系统和存储设备
TW200601040A (en) Management of non-volatile memory systems having large erase blocks
US20150067233A1 (en) Data storage device and flash memory control method thereof
CN102023927A (zh) 闪存控制装置及其存取方法
WO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
CN101446922B (zh) 存储卡及于闪存进行资料更新的方法
TWI450271B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
CN102981970A (zh) 闪存管理方法和系统
CN104484129A (zh) 一读一写存储器、多读多写存储器及其读写方法
CN102999441A (zh) 一种细粒度内存访问的方法
CN111061649A (zh) 一种存储器的存储空间自适应分配方法
US8209487B2 (en) Block update for flash memory utilizing a cache page and cache block
KR100624973B1 (ko) 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화)
TWI416525B (zh) 非揮發性記憶體裝置及其損耗平均方法
CN102096637A (zh) 非易失性存储器装置及其损耗平均方法
CN100353341C (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110420