闪存及其访问方法与流程

文档序号:12802021阅读:494来源:国知局
闪存及其访问方法与流程

本发明涉及一种闪存及其访问方法,尤其涉及一种闪存的全区域的页地址映像方法。



背景技术:

随着信息时代的来临,在电子装置中设置大量的内存成为一种趋势。在现今的技术中,具有非易失性记忆能力的闪存成为最受欢迎的选项之一。

随着数据量需求变大,且需快速存取的条件下,针对闪存所进行的逻辑地址与实体地址间的映像动作,成为关键的技术。在现有的技术领域中,有提出区块映像(blockmapping)、页映像(pagemapping)以及混合式映像(hybridmapping)等方式。其中,页映像的方式需要很大尺寸的记忆空间来储存映像数据库,而区块映像在随机存取时所呈现的效能较差。并且,混合式映像通过一个逻辑区块地址对应一个实体区块地址的方式,同样的在随机存取时所呈现的效能并不佳,且当所存取的数据不全在相同的实体记忆区块中时,需要进行额外的垃圾搜集的动作,造成系统额外的负担。



技术实现要素:

本发明提供一种闪存及其访问方法,有效增进闪存的使用效率。

本发明的闪存的访问方法,包括:建立全地址映像数据库,全地址映像数据库包括多个页映像表,各页映像表被区分为多个逻辑地址区,且各逻辑地址区包括分别对应多个逻辑页地址的多个储存字段,各储存字段用来储存对应的逻辑页地址映像的实体区块地址以及实体页地址;建立管理区块,并对管理区块写入页映像表索引数据;依据页映像表索引数据以加载页映像表的其中之一,并依据被加载的页映像表获得对应实体记忆区块;以及,针对对应实体记忆区块进行数据存取动作。

本发明的闪存则包括多个实体记忆区块以及内存控制器。各实体记忆区 块包括多个实体记忆页,内存控制器耦接实体记忆区块。内存控制器执行:建立全地址映像数据库,全地址映像数据库包括多个页映像表,各页映像表被区分为多个逻辑地址区,且各逻辑地址区包括分别对应多个逻辑页地址的多个储存字段,各储存字段用来储存对应的逻辑页地址映像的实体区块地址以及实体页地址;建立管理区块,并对管理区块写入页映像表索引数据;依据页映像表索引数据以加载页映像表的其中之一,并依据被加载的页映像表获得对应实体记忆区块;以及,针对对应实体记忆区块进行数据存取动作。

基于上述,本发明提供全地址映像数据库,通过打破记忆区块限制,利用多个逻辑地址区分别对应全地址映像数据库中的多个页映像表的方式,来使逻辑页地址可以快速的映像到对映的实体记忆区块的实体记忆页,并完成数据的存取动作。如此一来,闪存的使用效率可以得到提升,且执行随机存取动作时的表现度也可以得到提升。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1显示本发明一实施例的闪存的访问方法的流程图;

图2显示本发明一实施例的全地址映像数据库的示意图;

图3显示本发明一实施例的管理区块的示意图;

图4显示本发明实施例的全地址映像数据库的实施方式的示意图;

图5显示本发明实施例的页映像表进行整合的动作示意图;

图6显示本发明实施例的管理区块的另一实施方式的示意图;

图7显示本发明一实施例的闪存的示意图。

附图标记:

s110~s140:闪存的存取步骤

pmt0~pmtn:页映射表

200:全地址映像数据库

la0~lam:逻辑地址区

lpa0、lpa1~lpap:逻辑页地址

f0~fp:储存字段

ppa1、ppa2:实体页地址

pba1、pba2:实体区块地址

300、600:管理区块

310:页映像表索引数据

320:逻辑存取地址

pmtb0~pmtbn:实体记忆区块

a0:原页映射表

a1~a4:更新页映射表

npmtb0:置换实体记忆区块

610:页映像表索引数据

620:逻辑存取地址

631、632:空白队列

640:有效计数值字段

710:闪存

711~71n:实体记忆区块

720:内存控制器

721:静态内存

具体实施方式

请参照图1,图1显示本发明一实施例的闪存的访问方法的流程图。其中,步骤s110建立全地址映像数据库。此全地址映像数据库包括多个页映像表,各页映像表被区分为多个逻辑地址区,且各逻辑地址区包括分别对应多个逻辑页地址的多个储存字段,各储存字段用来储存对应的逻辑页地址映像的实体区块地址以及实体页地址。在此,请同步参照图2,图2显示本发明一实施例的全地址映像数据库的示意图。全地址映像数据库200包括多个页映像表pmt0~pmtn,各页映射表pmt0~pmtn都可以分为多个逻辑地址区la0~lam。在各页映像表pmt0~pmtn的各个逻辑地址区la0~lam中均包括多个储存字段,这些储存字段分别对应至多个逻辑页地址lpa0、逻辑页地址lpa1~lpap。以页映像表pmt0的逻辑地址区la0为范例,页映像表pmt0的逻辑地址区la0中包括储存字段f0~fp,储存字段f0~fp分别对应 逻辑页地址lpa0~lpap。

值得一提的,本发明实施例的各储存字段中记录对应逻辑页地址的实体区块地址以及实体页地址。以储存字段f0、储存字段f1为范例,储存字段f0储存实体区块地址pba1以及实体页地址ppa1,储存字段f1则储存实体区块地址pba2以及实体页地址ppa2。

请重新参照图1,步骤s120则建立管理区块,并对管理区块写入一页映像表索引数据。在此,请同步参照图3,图3显示本发明一实施例的管理区块的示意图。管理区块300包括页映像表索引数据310以及逻辑存取地址320。页映像表索引数据310可用来对应至页映像表0pmt0至页映射表3pmt3的其中之一。

在本实施例中,页映像表索引数据310对应至页映像表3pmt3,并且,在步骤s130,则依据页映像表索引数据310来加载页映像表pmt0~pmt3的其中之一,并依据被加载的页映像表pmt3,且依据逻辑存取地址320来获得对应实体记忆区块。接着,在步骤s140,则可针对对应实体记忆区块进行数据存取动作。

由上述的说明不难得知,通过本发明实施例的全地址映像数据库200,各个逻辑地址区中的各个逻辑页地址可以依据储存字段直接映像到任意实体记忆区块中的任意实体记忆页,并快速的完成数据存取的动作,有效提升闪存的存取效率。

以下请参照图4,图4显示本发明实施例的全地址映像数据库的实施方式的示意图。全地址映像数据库中所包括的页映像表0pmt0~页映射表npmtn被分成多个页映射表群组,且这些页映像表群组被分别储存在闪存中的多个实体记忆区块pmtb0~pmbtn中。在本实施方式中,页映像表0~页映像表3为相同的页映像表群组,并被储存在实体记忆区块pmtb0中,页映射表4~页映射表7为相同的页映像表群组,并被储存在实体记忆区块pmtb1中,另外,页映射表n-3~页映射表n为相同的页映像表群组,并被储存在实体记忆区块pmtbn中。

值得一提的,为确保储存页映像表的数据稳定,且可快速的提供存取,储存页映像表的内存可使用单阶储存单元(single-levelcell,slc)的记忆胞来实施。

以下请参照图5,图5显示本发明实施例的页映像表进行整合的动作示意图。当页映像表需要被更新时,被更新的页映像表会被写入至与原页映像表相同的实体记忆区块中。如图5所示,页映射表0发生四次的更新动作,因此,更新页映像表a1~a4依序被写入与原页映射表a0相同的实体记忆区块pmtb0中。在当更新页映射表a4被填入实体记忆区块pmtb0后,实体记忆区块pmtb0的可储存空间少于一默认值,在此时,页映像表整合动作就可以被执行。具体来说明,当页映像表整合动作被执行时,一个新的置换实体记忆区块npmtb0可以被建立。并且,实体记忆区块pmtb0中最新版本的页映像表0a4以及页映像表1~页映像表3可以被复制到置换实体记忆区块npmtb0中。而在完成上述的复制动作后,实体记忆区块pmtb0可以被释出。

通过上述的页映射表整合动作,闪存的记忆空间不会发生浪费,且页映射表的更新动作也可以持续被进行,提升闪存的存取效率。

附带一提的,上述的默认值可以由工程人员预先设定,并通过软件或硬件的实施方式来告知内存控制器以进行相对映的检查及页映像表的整合动作。

接着请参照图6,图6显示本发明实施例的管理区块的另一实施方式的示意图。管理区块600除包括页映像表索引数据610、逻辑存取地址620外,另包括至少一个空白队列631、空白队列632(图6显示两个仅只是示范性的范例)。其中,空白队列631及空白队列632可以储存两个空白实体记忆区块或无有效数据记忆区块。当发生对闪存执行数据写入动作时,内存控制器可接收到写入数据及对应的写入逻辑地址,并将写入数据写入至空白队列631中的空白实体记忆区块中。并且,内存控制器可依据写入逻辑地址以及空白实体记忆区块以同步更新对应的页映射表。

在空白队列631中的空白实体记忆区块对应的实体记忆页有数据被写入后,空白队列可以被更新。

在另一方面,管理区块600还包括有效计数值字段640。有效计数值字段640记录对应实体记忆区块中的有效记忆页数量。通过有效计数值可以得知实体记忆区块中有效的实体记忆页的数量。当实体记忆区块不使用时,有效计数值可以提供内存控制器选择哪一个实体记忆区块来执行垃圾整理动 作。例如,当有效计数值指示某第一实体记忆区块有效的实体记忆页的数量只有一个时,内存控制器只需要整理一个实体记忆页就可以将此第一实体记忆区块释放出来提供使用。

在上述的实施方式中,内存控制器可以判断有效记忆页数量是否小于一个预设的设定值,并在当有效记忆页数量小于默认的设定值,转存其中的有效记忆页的数据至其他实体记忆区块,并释放对应实体记忆区块。

请参照图7,图7显示本发明一实施例的闪存的示意图。闪存710包括多个实体记忆区块711~71n、内存控制器720以及静态内存721。其中,各实体记忆区块711~71n包括多个实体记忆页。实体记忆区块711~71n并耦接至内存控制器720。

内存控制器720用来执行多个动作,其中,在本实施例中,内存控制器720建立全地址映像数据库,其中,全地址映像数据库包括多个页映像表,各页映像表被区分为多个逻辑地址区,且各逻辑地址区包括分别对应多个逻辑页地址的多个储存字段,各储存字段用来储存对应的逻辑页地址映像的实体区块地址以及实体页地址;并且,内存控制器720建立管理区块,并对管理区块写入页映像表索引数据;内存控制器720另依据页映像表索引数据以加载页映像表的其中之一,并依据被加载的页映像表获得对应实体记忆区块;再依据写入逻辑地址以及空白页地址更新对应的页映像表。

附带一提的,内存控制器720可将被加载的页映像表暂存在静态内存721中。而静态内存721可以内建在内存控制器720中,也可以外挂于内存控制器720之外。

关于内存控制器720执行各项动作的细节,在前述多个实施例及实施方式都有详尽的介绍,在此不多赘述。

综上所述,本发明通过建立全地址映像数据库,并打破内存的区块限制以进行地址映像,并进一步完成数据存取的动作。如此一来,闪存的存取动作可以更为快速,且动态的存取动作也可以顺利的被完成,闪存的整体效率都可以有效的被提升。

虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的改动与润饰,故本发明的保护范围当视所附权利要求界定范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1