逻辑转实体表更新方法及存储控制器与流程

文档序号:19570862发布日期:2019-12-31 18:55阅读:152来源:国知局
本发明涉及一种逻辑转实体表更新方法及存储控制器,尤其涉及一种能增加指令执行速度的逻辑转实体表更新方法及存储控制器。
背景技术
::固态硬盘(solidstatedrive,ssd)是现今相当热门的存储装置。一般来说,固态硬盘会通过存储控制器接收主机系统的指令并根据接收到的指令对快闪存储器(即,可复写式非易失性存储器模块)进行存取。在图1的范例中,存储装置10可包括存储控制器100、快闪存储器170及动态随机存取存储器180。存储装置10例如是固态硬盘。存储控制器100可包括处理器110、快闪存储器存取电路120、动态随机存取存储器存取电路130、静态随机存取存储器140及中断控制电路150。中断控制电路150可通过信号线101、信号线102、信号线103来传送或接收中断信号。处理器110可通过总线160下达写入指令(即,页面程序化指令或页面程序化请求)给快闪存储器存取电路120。快闪存储器存取电路120会根据写入指令来存取快闪存储器170。这时候,处理器110会等待写入指令执行完毕。当写入指令执行完毕之后,快闪存储器存取电路120会通过信号线101传送中断信号给中断控制电路150,且中断控制电路150会将此中断信号传送给处理器110。当处理器110接收到中断信号并确认写入指令执行完毕后,处理器110会根据写入指令的实体写入地址来更新暂存于静态随机存取存储器140或动态随机存取存储器180的逻辑转实体表(logical-to-physicaltable,l2ptable)。逻辑转实体表又称为逻辑转实体地址映射表(logical-to-physicaladdressmappingtable)。然而,传送中断信号及处理器110执行固件来更新逻辑转实体表的过程需要花费太多时间而使系统的每秒输入输出操作(input/outputoperationspersecond,iops)降低。因此,如何能增加系统的每秒输入输出操作是本领域技术人员应致力的目标。技术实现要素:有鉴于此,本发明提供一种逻辑转实体表更新方法及存储控制器,有效率地更新逻辑转实体表以增加系统的每秒输入输出操作。本发明提出一种逻辑转实体表更新方法,适用于存储控制器及快闪存储器(flash)。存储控制器包括处理器及快闪存储器存取电路。快闪存储器存取电路耦接到快闪存储器。逻辑转实体表更新方法包括:通过处理器传送写入指令到快闪存储器存取电路;通过快闪存储器存取电路执行写入指令来存取快闪存储器;以及在快闪存储器存取电路执行写入指令之后,通过快闪存储器存取电路更新随机存取存储器中的逻辑转实体表。在本发明的一实施例中,上述处理器通过逻辑转实体表来查找逻辑单元所映射的实体单元。在本发明的一实施例中,上述写入指令包括实体地址、数据来源及随机存取存储器的更新地址。在本发明的一实施例中,上述通过快闪存储器存取电路执行写入指令的步骤包括:通过快闪存储器存取电路将对应数据来源的数据写入到快闪存储器的实体地址。在本发明的一实施例中,上述通过快闪存储器存取电路更新随机存取存储器中的逻辑转实体表的步骤包括:通过快闪存储器存取电路将实体地址写入到随机存取存储器的更新地址。在本发明的一实施例中,上述随机存取存储器为存储控制器中的静态随机存取存储器(staticrandomaccessmemory,sram)或耦接到存储控制器的动态随机存取存储器。本发明提出一种存储控制器,包括处理器及快闪存储器存取电路。快闪存储器存取电路通过总线耦接到处理器。快闪存储器存取电路耦接到快闪存储器。处理器传送写入指令到快闪存储器存取电路。快闪存储器存取电路执行写入指令来存取快闪存储器。在快闪存储器存取电路执行写入指令之后,快闪存储器存取电路更新随机存取存储器中的逻辑转实体表。在本发明的一实施例中,上述处理器通过逻辑转实体表来查找逻辑单元所映射的实体单元。在本发明的一实施例中,上述写入指令包括实体地址、数据来源及随机存取存储器的更新地址。在本发明的一实施例中,上述快闪存储器存取电路将对应数据来源的数据写入到快闪存储器的实体地址。在本发明的一实施例中,在快闪存储器存取电路执行写入指令之后,快闪存储器存取电路将实体地址写入到随机存取存储器的更新地址。在本发明的一实施例中,上述随机存取存储器为存储控制器中的静态随机存取存储器或耦接到存储控制器的动态随机存取存储器。基于上述,本发明的逻辑转实体表更新方法及存储控制器会在快闪存储器存取电路执行写入指令之后,通过快闪存储器存取电路更新随机存取存储器中的逻辑转实体表。如此一来,快闪存储器存取电路就不用在写入指令执行完毕之后传送中断信号给处理器再通过处理器执行固件以更新随机存取存储器中的逻辑转实体表。指令执行速度可因此增加,从而提高系统的每秒输入输出操作。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1为现有的一种存储装置的方块图。图2为根据本发明的一实施例的存储装置的方块图。图3为根据本发明的一实施例的逻辑转实体表更新方法的流程图。图4a及图4b为根据本发明的一实施例的更新逻辑转实体表的示意图。附图标记说明:10、20:存储装置100、200:存储控制器101、102、103、201、202、203:信号线110、210:处理器120、220:快闪存储器存取电路130、230:动态随机存取存储器存取电路140、240:静态随机存取存储器150、250:中断控制电路160、260:总线170、270:快闪存储器180、280:动态随机存取存储器221:逻辑转实体表更新电路s301、s303、s305:逻辑转实体表更新方法的步骤400:逻辑转实体表具体实施方式图2为根据本发明的一实施例的存储装置的方块图。请参照图2,存储装置20可包括存储控制器200、快闪存储器270及动态随机存取存储器280。动态随机存取存储器280例如是同步动态随机存取存储器(synchronousdynamicrandomaccessmemory,sdram)、双倍数据率同步动态随机存取存储器(doubledataratesynchronousdynamicrandomaccessmemory,ddrsdram)、行动式双倍数据率同步动态随机存取存储器(mddrsdram)、低功耗双倍数据率同步动态随机存取存储器(lpddrsdram)等类似元件。存储控制器200可包括处理器210、快闪存储器存取电路220、动态随机存取存储器存取电路230、静态随机存取存储器240及中断控制电路250。中断控制电路250可通过信号线201、信号线202、信号线203来传送或接收中断信号。存储控制器200中的各个元件可通过总线260进行通信。存储装置20例如是u盘、记忆卡、固态硬盘(solidstatedrive,ssd)或其他类似装置。处理器210例如是中央处理单元(centralprocessingunit,cpu)、微处理器(micro-processor)、或是其他可程序化的处理单元(microprocessor)、数字信号处理器(digitalsignalprocessor,dsp)、可程序化控制器、特殊应用集成电路(applicationspecificintegratedcircuits,asic)、可程序化逻辑装置(programmablelogicdevice,pld)或其他类似电路元件,本发明并不限于此。快闪存储器270可包括可复写式非易失性存储器模块。快闪存储器存取电路220用以接受处理器210的指示,来进行对于可复写式非易失性存储器模块的数据的写入(也称,程序化,programming)、读取操作。快闪存储器存取电路220也可对可复写式非易失性存储器模块进行抹除操作。举例来说,处理器210可执行写入指令序列,以指示快闪存储器存取电路220将数据写入至可复写式非易失性存储器模块中。处理器210可执行读取指令序列,以指示快闪存储器存取电路220从可复写式非易失性存储器模块中读取数据。处理器210可执行抹除指令序列,以指示快闪存储器存取电路220对可复写式非易失性存储器模块进行抹除操作。写入指令序列、读取指令序列及抹除指令序列可分别包括一或多个程序码或指令码并且用以指示对快闪存储器270的可复写式非易失性存储器模块执行相对应的写入、读取及抹除等操作。在一实施例中,处理器210还可以下达其他类型的指令序列快闪存储器存取电路220,以对可复写式非易失性存储器模块执行相对应的操作。此外,欲写入至可复写式非易失性存储器模块的数据会经由快闪存储器存取电路220转换为可复写式非易失性存储器模块所能接受的格式。具体来说,若处理器210要存取可复写式非易失性存储器模块,处理器210会传送对应的指令序列给快闪存储器存取电路220以指示快闪存储器存取电路220执行对应的操作。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列可包括一或多个信号,或是在总线260上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。在本实施例中,快闪存储器存取电路220还会辨识配置给可复写式非易失性存储器模块的逻辑区块的状态。快闪存储器存取电路220也可辨识可复写式非易失性存储器模块的实体区块的状态。更详细来说,当快闪存储器存取电路220根据读取/写入指令发出读取/写入请求给可复写式非易失性存储器模块后,快闪存储器存取电路220会辨识对应的可复写式非易失性存储器模块的存储单元(如,实体区块、实体页面,或是对应的逻辑区块、逻辑页面)的状态是否为就绪状态(readiness)。举例来说,当快闪存储器存取电路220辨识到对应读取/写入指令的实体区块以准备好进行数据传输时,快闪存储器存取电路220会回报映射至所述实体区块的逻辑区块为就绪状态。换句话说,快闪存储器存取电路220会根据判断逻辑区块所映射的实体区块是否准备好进行数据传输来判断所述逻辑区块的状态是否为就绪状态。快闪存储器存取电路220可主动判断对应的实体区块的状态是否准备好进行数据传输,也可被动地接收来自可复写式非易失性存储器模块的对应的实体区块的状态回报,本发明不限于快闪存储器存取电路220如何辨识欲进行数据存取的实体区块/逻辑区块是否为就绪状态的方法。快闪存储器270的可复写式非易失性存储器模块可以是单阶存储胞(singlelevelcell,slc)nand型快闪存储器模块(即,一个存储胞中可存储1个比特的快闪存储器模块)、多阶存储胞(multilevelcell,mlc)nand型快闪存储器模块(即,一个存储胞中可存储2个比特的快闪存储器模块)、多阶存储胞(triplelevelcell,tlc)nand型快闪存储器模块(即,一个存储胞中可存储3个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块中的存储胞是以阵列的方式设置。在本实施例中,可复写式非易失性存储器模块的存储胞会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体区块(也称,实体抹除单元)。具体来说,同一条字符线(或同一个字符线层)上的存储胞会组成一或多个实体程序化单元。若每一个存储胞被用以存储2个以上的比特,则同一条字符线(或同一个字符线层)上的实体程序化单元至少可被分类为一个下(lower)实体程序化单元与一个上(upper)实体程序化单元。在一实施例中,若每一个存储胞被用以存储2个比特,则同一条字符线(或同一个字符线层)上的实体程序化单元可被分类为一个下实体程序化单元与一个上实体程序化单元。例如,一存储胞的最低有效比特(leastsignificantbit,lsb)是属于下实体程序化单元,并且一存储胞的最高有效比特(mostsignificantbit,msb)是属于上实体程序化单元。一般来说,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序程序化单元的可靠度会高于上实体程序化单元的可靠度。在另一实施例中,若每一个存储胞被用以存储3个比特,则同一条字符线(或同一个字符线层)上的实体程序化单元可被分类为一个下实体程序化单元、一个上实体程序化单元及一个额外(extra)实体程序化单元。例如,一存储胞的最低有效比特是属于下实体程序化单元,一存储胞的中间有效比特(centralsignificantbit,csb)是属于上实体程序化单元,并且一存储胞的的最高有效比特是属于额外实体程序化单元。在本实施例中,数据是以实体区块为单位作为写入数据(程序程序化)的存储单元。实体区块也可称为实体抹除单元或实体单元。实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储胞。每一实体区块会具有多个实体程序化单元。实体程序化单元为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元通常包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码)。然而,本发明不限于此。例如,在另一实施例中,也可变化本实施例所述的数据传输方法,应用至以实体程序化单元为单位作为写入数据的存储单元的可复写式非易失性存储器模块。存储控制器200会配置多个逻辑单元来映射可复写式非易失性存储器模块的用以存储使用者数据的多个实体单元,并且主机系统(未示出于图中)是通过逻辑单元来存取用以存储使用者数据的多个实体单元中的使用者数据。在此,每一个逻辑单元可以是由一或多个逻辑地址组成。例如,逻辑单元可以是逻辑区块(logicalblock)、逻辑页面(logicalpage)或是逻辑扇区(logicalsector)。一个逻辑单元可以是映射至一或多个实体单元,其中实体单元可以是一或多个实体地址、一或多个实体扇、一或多个实体程序化单元或者一或多个实体抹除单元。此外,存储控制器200会建立逻辑转实体表(logicaltophysicaltable,l2ptable)与实体转逻辑表(physicaltologicaltable,p2ltable),以记录配置给可复写式非易失性存储器模块的逻辑单元(如,逻辑区块、逻辑页面或逻辑扇区)与实体单元(如,实体抹除单元、实体程序化单元、实体扇区)之间的映射关系。逻辑转实体表又称为逻辑转实体地址映射表,实体转逻辑表又称为实体转逻辑地址映射表。换言之,存储控制器200可通过逻辑转实体表来查找一逻辑单元所映射的实体单元,并且存储控制器可通过实体转逻辑地址映射表来查找一实体单元所映射的逻辑单元。逻辑转实体或实体转逻辑地址映射表可暂存在静态随机存取存储器240或动态随机存取存储器280中。然而,上述有关逻辑单元与实体单元映射的技术概念为本领域技术人员的惯用技术手段,不再赘述于此。在本实施例中,快闪存储器存取电路220还可包括逻辑转实体表更新电路221用以在写入指令执行完毕后自动更新静态随机存取存储器240或动态随机存取存储器280中的逻辑转实体表。图3为根据本发明的一实施例的逻辑转实体表更新方法的流程图。请参照图3,在步骤s301中,通过处理器210传送写入指令到快闪存储器存取电路220。具体来说,写入指令可包括操作码(operationcode,opcode)、实体地址、数据来源及随机存取存储器的更新地址。随机存取存储器可为静态随机存取存储器240或动态随机存取存储器280。操作码代表了要被执行的操作种类。实体地址为写入指令将数据写入快闪存储器270的实体地址。数据来源记录了对应写入指令的写入数据所在的逻辑单元。随机存取存储器的更新地址记录了随机存取存储器中的逻辑转实体表要被更新的地址。在步骤s303中,通过快闪存储器存取电路220执行写入指令来存取快闪存储器270。具体来说,快闪存储器存取电路220会将对应所述数据来源的写入数据写入到快闪存储器270的实体地址。在步骤s305中,在快闪存储器存取电路220执行写入指令之后,通过快闪存储器存取电路220更新随机存取存储器中的逻辑转实体表。具体来说,当快闪存储器存取电路220成功将写入数据写入到快闪存储器270的实体地址之后,逻辑转实体表更新电路221会将此实体地址写入到随机存取存储器的更新地址,以完成逻辑转实体表的更新操作。图4a及图4b为根据本发明的一实施例的更新逻辑转实体表的示意图。在图4a中,逻辑转实体表400会记录在随机存取存储器的一个地址区段中,例如是从0x4000开始的一个地址区段中。逻辑转实体表400的每个栏位大小可为四个字节(byte)以记录逻辑单元所对应的实体地址。在本实施例中,存储装置20的逻辑单元是以逻辑区块地址(logicblockaddress,lba)来表示,例如存储装置20包括逻辑单元lba(0)、lba(1)、…、lba(n)。因此,地址0x4000可对应到lba(0)且地址0x4000记录了lba(0)映射到的实体地址,地址0x4004可对应lba(1)且地址0x4004记录了lba(1)映射到的实体地址,以此类推。在图4b中,假设写入指令指示将写入来源为lba(7)的数据写入快闪存储器270的实体地址a,则在写入指令中还会包括随机存取存储器中逻辑转实体表的更新地址,也就是0x401c。当快闪存储器存取电路220成功将lba(7)的数据写入到快闪存储器270的实体地址a之后,逻辑转实体表更新电路221会将实体地址a写入到随机存取存储器中的地址0x401c,以完成逻辑转实体表的更新操作。综上所述,本发明的逻辑转实体表更新方法及存储控制器会在快闪存储器存取电路执行写入指令之后,通过快闪存储器存取电路中的逻辑转实体表更新电路来更新随机存取存储器中的逻辑转实体表。如此一来,快闪存储器存取电路就不用在写入指令执行完毕之后传送中断信号给处理器再通过处理器执行固件以更新随机存取存储器中的逻辑转实体表。指令执行速度可因此增加,从而提高系统的每秒输入输出操作。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属
技术领域
:中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视所附权利要求所界定者为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1