数据储存装置的操作方法与流程

文档序号:14518754阅读:129来源:国知局
本发明涉及一种数据储存的相关技术,尤其是一种数据储存装置的操作方法。
背景技术
::数据储存装置,尤其是采用非易失性储存媒体的数据储存装置,包括复数个数据区块,每一数据区块包含复数个数据页,每一数据页用以储存至少一储存单位的数据,储存单位可为512b或较佳为4kb。数据区块又依据其储存数据与否而区分为空白数据区块(或称为备用资料区块)与非空白数据区块(或称使用中数据区块)。为了进行数据的管理及存取,数据储存装置需要建立及储存一个数据的逻辑至实体地址对照表(hostlogical-to-flashphysicaladdressmappingtable,h2ftable),在本发明中简称为对照表,并于数据储存装置运作时将对照表复制至动态随机存取存储器(dynamicrandomaccessmemory,dram),以增加数据的管理及存取上的效率。另外,对照表的大小依其记录内容而不同,较常见的大小为数据储存装置的数据储存容量的1/1000,以数据储存容量为256gb(gigabyte)的数据储存装置为例,对照表的大小为256mb(megabyte),因此,数据储存装置所配置的dram的大小较佳为大于或等于256mb,以储存一整个对照表以及数据储存装置运作时所需要的系统数据、参数、或程序。对于仅配置小型dram或sram,即dram或sram的容量不足以储存一整个对照表,的数据储存装置而言,如何有效率地运用所配置的小型dram或sram以进行数据的管理及存取,存在着技术上的需求。技术实现要素:本发明的一目的在提供一种数据储存装置的操作方法,其可使数据储存装置有效率地运用其所配置的小型dram或sram以进行数据的管理及存取。本发明提出一种数据储存装置的操作方法,此操作方法包括下列步骤:将对照表切割成复数个子对照表;接收包含数据地址以及命令类别的存取命令;判断数据地址所对应的目标子对照表是否已被快取;以及当判断为否时,读取并快取目标子对照表。本发明另提出一种数据储存装置的操作方法,此操作方法包括下列步骤:将对照表切割成复数个子对照表;接收包含数据地址以及命令类别的存取命令;依据快取表来判断数据地址所对应的目标子对照表是否已被快取;以及当判断为否时,读取并以目标子h2f对照表替代已快取的其中之一复数子对照表,并更新快取表。由于对照表被分割成复数个子对照表,因此,子对照表可储存至小型dram中,如此一来,数据储存装置可依据子对照表进行数据的管理,另外,针对子对照表的管理也提出一个改善的方法,故能达到本发明提高数据储存装置的效能的目的。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举优选实施例,并配合附图,详细说明如下。附图说明图1绘有依照本发明一实施例的数据储存装置及其与主机的电性耦接关系。图2为依照本发明一实施例的数据储存装置的操作方法的流程图。图3系绘示将子对照表#0储存至易失性储存媒体230以及易失性储存媒体218中。图4系绘示易失性储存媒体230快取了16个子对照表。图5系绘示依照本发明一实施例的快取表。图6系绘示以子对照表#16取代子对照表#0并将子对照表#16储存至易失性储存媒体230。具体实施方式图1绘有依照本发明一实施例的数据储存装置及其与主机的电性耦接关系。请参照图1,主机100包括有中央处理单元110与连接接口120。连接接口120适于电性耦接数据储存装置200。中央处理单元110用以透过连接接口120传送命令、数据给数据储存装置200,例如是传送读取命令给数据储存装置200,或是传送写入命令及欲写入数据储存装置200的数据给数据储存装置200。而在此例中,主机100包括以计算机、手机、平板、相机或是其他具运算功能的手持式电子装置来实现。数据储存装置200主要包括有控制单元210、非易失性储存媒体220与易失性储存媒体230。控制单元210系电性耦接非易失性储存媒体220与易失性储存媒体230,并用以控制非易失性储存媒体220与易失性储存媒体230的操作(例如进行数据的存取与抹除)。在此例中,易失性储存媒体230例如是以dram或sram来实现,而非易失性储存媒体220例如是以闪存(flashmemory)、磁阻式随机存取存储器(magnetoresistiveram)、铁电随机存取存储器(ferroelectricram)、电阻式存储器(resistiveram,rram)等具有长时间数据保存的存储器装置来实现。控制单元210主要包括有接口逻辑212、微处理器214、控制逻辑216与易失性储存媒体218,其中易失性储存媒体218例如是以缓存器、sram、dram来实现,且此易失性储存媒体218的容量较佳小于易失性储存媒体230的容量。控制单元210的微处理器214系电性耦接接口逻辑212与控制逻辑214,而其中控制逻辑214又电性耦接易失性储存媒体218、易失性储存媒体230与非易失性储存媒体220。微处理器214用以透过控制逻辑216存取易失性储存媒体218、易失性储存媒体230与非易失性储存媒体220中的数据,且微处理器214还用以透过接口逻辑212接收来自主机100的命令或数据,例如:写入命令、欲写入数据储存装置200的数据、倾倒(flush)命令、或抺除命令等。在下述的说明中,将以下列参数为例进行本发明的说明,但不以此为限。非易失性储存媒体220的容量为256gb,不但用以储存来自于主机100的数据外,也储存对照表、机密数据、保护数据等;对照表的大小等于非易失性储存媒体220的容量的1/1,000,因此,大小为256mb,对照表的一笔记录为4b,因此对照表包含64,000,000笔记录;易失性储存媒体230较佳为dram,其容量为1mb,不足以储存一整个对照表;易失性储存媒体218较佳为sram,其容量为128kb,小于易失性储存媒体230的容量。图2即为依照本发明一实施例的数据储存装置的操作方法的流程图,请同时参照图1与图2。步骤s202:将对照表切割成复数个子对照表,其中,对照表较佳以逻辑区块地址(logicalblockaddress,lba)为索引依序建立;或者,以一个间隔值为单位,例如;间隔值为65536个lba,依序建立,但是在此单位内的lba可依lba值或数据收到的顺序依序建立。易失性储存媒体218的容量为128kb,并规划用以储存2个子对照表,则每一子对照表的大小于64kb。因此,对照表以64kb为单位进行分割,可以分割成4,000个子对照表,分别为子对照表#0~3,999,每一个子对照表可以储存16384笔记录。步骤s204:接收包含一数据地址以及一命令类别的一个存取命令。控制单元210可接收到来自主机100的存取命令,其中,存取命令包含数据地址,其中,数据地址较佳为一个数值,例如:lba,或者二个数值,分别是第一lba以及第二lba,分别代表数据起点以及数据终点;或者,lba以及一个数量值,分别代表数据起点以及数据的笔数。命令类别用以表示此存取命令的种类,例如,读取、写入、倾倒命令或抺除命令,例如,存取命令为读取数据地址的数据。步骤s206:判断数据地址所对应的目标子对照表是否已被快取,如果是则执行步骤s210;如果否则执行步骤s208,其中目标子对照表为复数个子对照表其中之一。假设数据地址为lba10,000,而一个子对照表可以储存16384笔记录,10000除以16384的商(quotient)为0,因此,lba10,000所对应的目标子对照表为子对照表#0。如果子对照表#0已储存在易失性储存媒体230或易失性储存媒体218,则目标子对照表被快取;相反的,子对照表#0未储存在易失性储存媒体230或易失性储存媒体218的话,则目标子对照表未被快取。步骤s208:读取并快取目标子对照表。由于子对照表#0并未储存至易失性储存媒体230或易失性储存媒体218,因此,控制单元210从非易失性储存媒体220读取出子对照表#0并将它储存至易失性储存媒体218并复制至(或快取)易失性储存媒体230,如图3所示,子对照表#0乃储存(复制)至易失性储存媒体230以及易失性储存媒体218,接着,执行步骤s210。步骤s210:依据目标子对照表以及数据地址来执行存取命令。由于子对照表#0已储存在易失性储存媒体230或易失性储存媒体218,因此,控制单元210依据lba10,000在子对照表#0所对应数据区块编号以及数据页编号而找到lba10,000所对应的数据,并执行存取命令的读取lba10,000的所对应的数据,并结束本发明数据储存装置的操作方法的执行。当本发明数据储存装置的操作方法执行一段时间后,易失性储存媒体230快取了16个子对照表,例如:子对照表#0-15,如图4所示,此时,如何有效率等管理易失性储存媒体230存在着另一个技术需求。在本发明另一实施例中,步骤s202变更为:将对照表切割成复数个子对照表,其中,部份复数子对照表已快取至易失性储存媒体230,故称之为复数已快取子对照表,并将复数已快取子对照表记录至一快取表;步骤s206变更为:依据一快取表来判断数据地址所对应的目标子对照表是否为复数已快取子对照表其中之一;步骤s208变更为:读取并以目标子对照表替代复数已快取子对照表其中之一,并更新快取表,其中,被替代的复数已快取子对照表其中之一的读取次数(readcount)乃复数已快取子对照表的所有读取次数中最低者,或者,所有快取时间中最早者。如图5所示,为了有效率地使用易失性储存媒体230的空间,控制单元210较佳建立一张快取表,用以记录易失性储存媒体230的字段(slot)编号与已快取子对照表的编号的数据,或者,更记录每一已快取子对照表的读取次数或快取时间等信息,其中,记录于字段#0的子对照表#0具有所有复数已快取子对照表中最低的读取次数(值为1)或最早的快取时间(100)。如图6所示,假设,此时的目标子对照表为子对照表#16,由于易失性储存媒体230已无空间可以储存子对照表#16,因此,控制单元210可以直接以子对照表#16替代任何一个已快取子对照表,例如,子对照表#33,并将子对照表#16储存至子对照表#33所储存的字段,即字段#3,并更新快取表。或者,因为子对照表#0具有所有已快取子对照表中最低的读取次数(值为1)或最早的快取时间(100),所以控制单元210决定以子对照表#16取代子对照表#0并将子对照表#16储存至子对照表#0所储存的字段,即字段#0。最后,将子对照表#16的子对照表的编号(值为16)、读取次数(值为0)及快取时间(400)更新至快取表的字段#0。当目标子对照表快取至易失性储存媒体230后,如果控制单元210要存取目标子对照表时,控制单元210仍需将目标子对照表从易失性储存媒体230复制至易失性储存媒体218才能进行存取。由于目标子对照表从易失性储存媒体230复制至易失性储存媒体218所需的时间远少于自非易失性储存媒体220读取目标子对照表所需的时间,因此,将目标子对照表快取至易失性储存媒体230可显著地提高数据储存装置200的执行效能。综上所述,由于对照表被分割成复数个子对照表,因此,复数个子对照表可分别储存至dram中,如此一来,数据储存装置200的控制单元210可将子对照表读取并快取至dram中,再依据子对照表进行数据的管理,另外,针对子对照表的管理也提出一个改善的方法,故能达到本发明提高数据储存装置的效能的目的。虽然本发明以前述的实施例揭露如上,然其并非用于限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视本说明书所附的申请专利范围所界定者为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1