数据储存装置、闪存控制器及其操作方法与流程

文档序号:11275932阅读:218来源:国知局
数据储存装置、闪存控制器及其操作方法与流程

本发明是有关于一种数据储存装置及其闪存控制器,尤其是有关于一种减少非挥发性内存读取次数的数据储存装置及其闪存控制器,以及闪存控制器的操作方法。



背景技术:

非挥发性内存为一种电子式记忆装置,其具有不需额外电力维持信息、快速数据读取以及抗震等能力,因此被广泛的应用于记忆卡、固态硬盘以及可携式多媒体装置等。当储存于非挥发性内存中的数据被多次重复读取时,非挥发性内存可能会出现读取扰动(readdisturbance)的情况,进而导致储存数据不正确,因此非挥发性内存在此时就必须进行刷新(refresh),然非挥发性内存进行刷新将会影响到其使用寿命。



技术实现要素:

因此,本发明的目的在于提出一种具有非挥发性内存的数据储存装置及其闪存控制器的操作方法以及装置,以延长非挥发性内存的使用寿命。

本发明提出一种可用于闪存控制器的操作方法,其步骤包括:接收读取指令,并根据读取指令读取储存于非挥发性内存的至少一复数数据;判断至少一复数数据的读取次数是否满足设定值;当判断为是,复制并储存至少一复数数据至数据暂时储存装置。

本发明更提出一种数据储存装置,其包括有非挥发性内存、数据暂时储存装置以及闪存控制器,其中,闪存控制器与非挥发性内存以及数据暂时储存装置电性耦接,闪存控制器是用以接收读取指令,并根据读取指令读取储存于非挥发性内存的至少一复数数据,其中当至少一复数数据的读取次数满足设定值,闪存控制器复制并储存至少一复数数据至数据暂时储存装置。

本发明更提出一种闪存控制器,其包括第一通讯接口、第二通讯接口、第三通讯接口以及微处理器。第一通讯接口用以与非挥发性内存通讯以存取非挥发性内存,第二通讯接口是用以与数据暂时储存装置通讯以存取数据暂时储存装置,第三通讯接口是用以与主机通讯以接收来自主机的读取指令,微处理器与第一通讯接口、第二通讯接口以及第三通讯接口电性耦接,微处理根据读取指令读取储存于非挥发性内存的至少一复数数据,其中,当至少一复数数据的读取次数大于设定值,微处理器复制并储存至少一复数数据至数据暂时储存装置。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1为本发明的数据储存装置实施例示意图。

图2为本发明的数据储存装置操作方法流程示意图。

图3a为本发明的数据暂时储存装置的数据储存示意图。

图3b为本发明的数据暂时储存装置的数据储存另一示意图。

10:数据储存装置11:闪存控制器

12:非挥发性内存13:数据暂时储存装置

111:第一通讯接口112:第二通讯接口

113:第三通讯接口114:微处理器

20:主机d1、d2、d3、d4、d5数据

201、203、204、205、207、209、211、213、215、216、217步骤

具体实施方式

请参考图1,图1为数据储存装置实施例,数据储存装置10是用以与外部主机20通讯,并根据主机20所发送的读取指令读取储存于数据储存装置10的数据,所述数据可以是用以显示的显示数据或者为音频数据等,所述主机20可以为桌面计算机或平板计算机等电子装置。数据储存装置10包括闪存控制器11、非挥发性内存12以及数据暂时储存装置13,非挥发性内存12例如为闪存(flashmemory),数据暂时储存装置13例如为动态随机存取内存(dram),闪存控制器11与主机20、非挥发性内存12以及数据暂时储存装置13电性耦接。闪存控制器11更包括了第一通讯接口111、第二通讯接口112、第三通讯接口113以及微处理器114,微处理器114与第一通讯接口111、第二通讯接口112以及第三通讯接口113电性耦接,闪存控制器11可藉由第一通讯接口111与非挥发性内存12通讯并存取非挥发性内存12,闪存控制器11可藉由第二通讯接口112与数据暂时储存装置13通讯并存取数据暂时储存装置13,闪存控制器11可藉由第三通讯接口113与主机20通讯,其中,非挥发性内存12包含多个区块(block),每一区块并包括多个数据页(page),每一数据页用以储存所述数据以及每一数据所对应的读取次数,所述的读取次数指的是储存于非挥发性内存12中的数据被微处理器114读取的次数,微处理器114并是以数据页为单位进行数据存取,此外,上述的第一通讯接口111例如为开放式nand闪存接口(onfi,opennandflashinterface)或toggle。上述的第二通讯接口112例如为dfi接口(ddrphyinterface)。上述的第三通讯接口113例如为sata接口(serialadvancedtechnologyattachment)、通用串行总线(universalserialbus,usb)、快捷外设互联标准(pciexpress,peripheralcomponentinterconnectexpress)、非挥发性内存储存装置(nvme,non-volatilememoryexpress)、通用闪存储存装置(ufs,universalflashstorage)、多媒体记忆卡(emmc,embededmultimediacard)以及sdio接口(securedigitalinput/output)。

接着请同时参考图1以及图2以说明数据储存装置操作方法的实施例。

首先,当图1所述的主机20需读取数据储存装置10所储存的特定某一数据时,主机20发送上述的读取指令至数据储存装置10,数据储存装置10的微处理器114透过第三通讯接口113接收到主机20所传送的读取指令(步骤201)。微处理器114接收到读取指令后,会根据读取指令所包含的位置信息得到数据的储存地址,并根据储存地址至非挥发性内存12或数据暂时储存装置13读取对应的数据d1(步骤203)。当数据d1已被储存至数据暂时储存装置13时,微处理器114会直接由数据暂时储存装置13读取数据d1,并将数据d1藉由第三通讯接口113传送至主机20(步骤204),完成步骤204后回到步骤201。而当数据d1尚未被储存至数据暂时储存装置13时,微处理器114需要从非挥发性内存12读取所需的数据d1,并将数据d1藉由第三通讯接口113传送至主机20。除了读取数据之外,微处理器114更记录此储存地址的读取次数,每当此储存地址的数据d1被读取时,微处理器114更新此读取次数的值,例如加1,但不以此为限(步骤205)。

接着微处理器114判断更新后的读取次数是否满足预先设定的条件,其中,预先设定的条件为读取次数大于设定值。假设,设定值的数值为50,满足预先设定的条件即读取次数的数值大于50(步骤207)。当步骤207判断结果为否,回到步骤201,也就是数据d1被读取的次数小于或等于上述的设定值,则微处理器114仍由非挥发性内存12读取所需的数据d1且将数据d1藉由第三通讯接口113传送至主机20。当步骤207判断结果为是,也就是数据d1被读取的次数大于上述的设定值时,这表示数据d1被频繁地读取,则微处理器114会将数据d1复制且储存至数据暂时储存装置13,此时,数据d1除了储存于非挥发性内存12中外,更被储存于数据暂时储存装置13。如果主机20欲再度读取数据d1,则微处理器114将读取数据暂时储存装置13的数据d1,而非储存于非挥发性内存12的数据d1。

另一种实施例中步骤207可以再结合一个时间参数,即在特定时间内提高设定值的大小,而时间过后设定值又降回原本的设定值。例如第30秒时,设定值由50增至60,第60秒时设定值由60降回50;又或是第30秒时直接将设定值设成最大可能值(假设设定值的长度为10bits,其最大可能值为1024),使30秒到60秒这段期间中步骤207判断结果为否,第60秒时设定值再恢复为50。更另一种实施例中第30秒时直接停止读取次数的累计,使30秒到60秒这段期间中步骤207判断结果为否,第60秒时再将读取次数归零并重新运作。

另一种实施例中步骤207可以结合一个临界值。例如:当主机20读取储存装置10的数据的累计次数大于临界值的数值(例如100)时,将设定值由60降回50,使步骤207的判断更符合实际的应用。在上述中,设定值的调整可依据读取次数、时间参数、临界值等不同的条件的择一或组合,令其数值增加或减少,此等变化皆落入本发明概念中。

当微处理器114欲将数据d1复制且储存至数据暂时储存装置13时,微处理器114判断数据暂时储存装置13是否有足够的空间储存数据d1(步骤209)。如图3a所示,假设数据暂时储存装置13可储存4笔数据,当步骤209判断结果为否,也就是数据暂时储存装置13当前已没有足够的空间可用以储存数据d1,微处理器114移除当前储存于数据暂时储存装置13中其读取次数为最小的数据(步骤211)。例如,数据暂时储存装置13已储存有数据d2、数据d3、数据d4以及数据d5。数据d2所对应的读取次数为51,数据d3所对应的读取次数为52,数据d4所对应的读取次数为53,数据d3所对应的读取次数为54。为了将数据d1储存至当前数据暂时储存装置13中,微处理器114会删除读取次数最小的数据d2,使数据暂时储存装置13具有足够的空间来储存数据d1,如图3b所示,数据d1储存至删除数据d2所释放的储存空间,微处理器114并将数据d2的储存地址更新为非挥发性内存12中的储存地址,而其读取次数将继续进行累计。被删除的数据d2若被读取时,微处理器114将根据纪录的储存地址由非挥发性内存12中读取数据d2,并根据储存于非挥发性内存12中的读取次数继续计数数据d2的读取次数。

当步骤209判断结果为是或者完成步骤211,也就是数据暂时储存装置13具有足够的空间储存数据d1时,微处理器114除了将数据d1传送至主机20外,更将数据d1复制并储存于数据暂时储存装置13(步骤213),微处理器114并将数据d1的储存地址更新为数据暂时储存装置13中的储存地址,由于数据d1已被储存于数据暂时储存装置13,因此微处理器114再次接收到读取数据d1的读取指令且数据d1仍储存于数据暂时储存装置13时,微处理器114将根据储存地址直接由数据暂时储存装置13读取数据d1,且储存于数据暂时储存装置13的数据d1将停止记数其读取次数,即上述步骤204。

为了避免过于频繁的将数据储存至数据暂时储存装置13,微处理器114会判断数据暂时储存装置13是否满足另一预先设定的条件,例如所有地址是否都已经储存了数据(步骤215),其判断的依据为数据d1是否储存至最后一个地址。例如地址000、001、010、011皆已储存了数据,且在上述步骤213中数据d1将储存至最后一个地址011中。当判断结果为是,微处理器114将调整预先设定的条件,例如将上述的设定值与默认值相加以更新设定值(步骤216),其中,默认值的数值例如为50,但不以此为限。若当前设定值为50,加上此默认值50后设定值将被更新为100,这表示当某一数据被读取超过100次时,微处理器114才会再度将此数据储存至数据暂时储存装置13,完成步骤216后回到步骤201。当步骤215判断为否,也就是数据暂时储存装置13尚未将数据储存至最后一个地址,因此微处理器114增加设定值,例如加1(步骤217),但不以此为限,也就是若当前设定值为50,与1相加后设定值会被更新为51,因此当有数据被读取超过51次后,微处理器114才会再度将数据储存至数据暂时储存装置13,此举的目的在于,藉由储存一笔数据后增加上述设定值的数值的方式来避免发生同时有多笔数据的读取次数大于上述的设定值,使微处理器114需花费一段时间连续进行数据储存动作的情况,完成步骤217后回到步骤201,等待下一读取指令。

综上所述,由于本发明的数据储存装置10可将读取次数相对较多的数据储存至数据暂时储存装置13,因此数据暂时储存装置13可分担非挥发性内存12被读取的次数,有效减少非挥发性内存12被读取的次数,进而降低非挥发性内存12发生读取扰动的情况而提高非挥发性内存12的寿命以及效益,此外数据暂时储存装置13可以为数据储存装置10现有的储存装置,因此本发明更无需额外增加储存装置或空间即可达到上述的目的,有效避免成本的增加以增进其商业利用价值。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

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