买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】数据储存装置与数据处理方法_慧荣科技股份有限公司_201810718460.6 

申请/专利权人:慧荣科技股份有限公司

申请日:2018-07-03

公开(公告)日:2022-09-20

公开(公告)号:CN110059031B

主分类号:G06F13/16

分类号:G06F13/16;G06F12/0802

优先权:["20180119 TW 107102032"]

专利状态码:有效-授权

法律状态:2022.09.20#授权;2019.08.20#实质审查的生效;2019.07.26#公开

摘要:本发明涉及一种数据储存装置与数据处理方法,包括一存储器装置以及一存储器控制器。存储器控制器耦接存储器装置,用以存取存储器装置,并建立一实体地址至逻辑地址对照表以及一逻辑地址群组记录表。实体地址至逻辑地址对照表包含了连续的实体地址及其对应的逻辑地址。逻辑地址群组记录表标注了多个逻辑地址群组的状态。每一个逻辑地址群组的状态用来表示实体地址至逻辑地址对照表中是否有记录位于该逻辑地址群组之中的任一逻辑地址。逻辑地址群组记录表包含多个维度的群组位元,逻辑地址群组记录表利用多个群组位元区别不同的逻辑地址群组。当存储器控制器接收用以要求将一第一特定逻辑地址的数据写入至存储器装置的一写入命令时,存储器控制器根据第一特定逻辑地址决定出第一特定逻辑地址于各维度所对应的群组位元,并且对应地设定等群组位元的一数位值。

主权项:1.一种数据储存装置,包括:一存储器装置;以及一存储器控制器,耦接该存储器装置,用以存取该存储器装置,并建立一实体地址至逻辑地址对照表以及一逻辑地址群组记录表,其中该实体地址至逻辑地址对照表包含了连续的实体地址及其对应的逻辑地址,其中该逻辑地址群组记录表标注了多个逻辑地址群组的状态,其中每一个逻辑地址群组的该状态用来表示该实体地址至逻辑地址对照表中是否有记录位于该逻辑地址群组之中的任一逻辑地址,并且其中该逻辑地址群组记录表包含多个维度的群组位元,该逻辑地址群组记录表利用多个群组位元区别不同的逻辑地址群组,并且其中当该存储器控制器接收用以要求将一第一特定逻辑地址的数据写入至该存储器装置的一写入命令时,该存储器控制器根据该第一特定逻辑地址决定出该第一特定逻辑地址于各维度所对应的该群组位元,并且对应地设定这些群组位元的一数位值;其中,该逻辑地址群组记录表包含至少一第一维度之一或多个群组位元以及一第二维度之一或多个群组位元,并且其中当该存储器控制器接收一读取命令以要求读取该存储器装置中的一数据时,该存储器控制器根据该读取命令所包含的一第二特定逻辑地址取得该第二特定逻辑地址于该第一维度所对应的一第一群组位元以及于该第二维度所对应的一第二群组位元;以及该存储器控制器还根据该逻辑地址群组记录表中所记录的该第一群组位元的该数位值及该第二群组位元的该数位值判断该实体地址至逻辑地址对照表中是否有记录位于该第二特定逻辑地址所属的该逻辑地址群组之中的任一逻辑地址,以决定是否搜寻该实体地址至逻辑地址对照表。

全文数据:数据储存装置与数据处理方法技术领域本发明有关于一种数据处理方法,可有效提升数据储存装置的存取效能,并且大幅缩短搜寻出所需的实体地址的时间。背景技术随着数据储存装置的科技在近几年快速地成长,许多数据储存装置,如符合SDMMC规格、CF规格、MS规格与XD规格的记忆卡、固态硬碟、嵌入式多媒体记忆卡embeddedMultiMediaCard,缩写为eMMC以及通用快闪存储器储存UniversalFlashStorage,缩写为UFS已经广泛地被应用在多种用途上。因此,在这些数据储存装置上,有效率的存取控制也变成一个重要的议题。在数据储存装置操作的过程中通常会在本身的缓冲存储器中储存一实体地址至逻辑地址对照表或是至少一个逻辑地址至实体地址对照表,而在存储器控制器接收到一读取命令时可以从上述对照表搜寻出所需的实体地址。然而,随着区块的大小增加及所包含的数据页也跟着变多的情形下,上述对照表的大小也会大幅增加,因此搜寻出所需的实体地址的时间也会增加许多,因此影响到数据储存装置的存取效能。有鉴于此,本发明提出一种数据处理方法,可有效提升数据储存装置的存取效能,并且大幅缩短搜寻出所需的实体地址的时间。发明内容本发明揭示一种数据储存装置,包括一存储器装置以及一存储器控制器。存储器控制器耦接存储器装置,用以存取存储器装置,并建立一实体地址至逻辑地址对照表以及一逻辑地址群组记录表。实体地址至逻辑地址对照表包含了连续的实体地址及其对应的逻辑地址。逻辑地址群组记录表标注了多个逻辑地址群组的状态。每一个逻辑地址群组的状态用来表示实体地址至逻辑地址对照表中是否有记录位于该逻辑地址群组之中的任一逻辑地址。逻辑地址群组记录表包含多个维度的群组位元,逻辑地址群组记录表利用多个群组位元区别不同的逻辑地址群组。当存储器控制器接收用以要求将一第一特定逻辑地址的数据写入至存储器装置的一写入命令时,存储器控制器根据第一特定逻辑地址决定出第一特定逻辑地址于各维度所对应的群组位元,并且对应地设定等群组位元的一数位值。本发明揭示一种数据处理方法,适用于一数据储存装置,数据储存装置包括一存储器装置以及一存储器控制器,存储器控制器耦接存储器装置,用以存取存储器装置,该方法包括:建立一实体地址至逻辑地址对照表,其中实体地址至逻辑地址对照表包含了连续的实体地址及其对应的逻辑地址;建立一逻辑地址群组记录表,其中逻辑地址群组记录表标注了多个逻辑地址群组的状态,每一个逻辑地址群组的状态用来表示实体地址至逻辑地址对照表中是否有记录位于逻辑地址群组之中的任一逻辑地址,并且其中逻辑地址群组记录表包含多个维度的群组位元,逻辑地址群组记录表利用多个群组位元区别不同的逻辑地址群组;接收用以要求将一第一特定逻辑地址的数据写入至存储器装置的一写入命令;以及根据第一特定逻辑地址决定出第一特定逻辑地址于各维度所对应的群组位元,并且对应地设定等群组位元的一数位值。附图说明图1是显示根据本发明的一实施例所述的存储器装置的示意图。图2是显示根据本发明的一实施例所述的存储器装置及对应的实体地址至逻辑地址对照表的示意图。图3是显示根据本发明的一实施例所述的逻辑地址至实体地址对照表的示意图。图4是显示根据本发明的一实施例所述的逻辑地址群组记录表所记录的逻辑地址群组示意图。图5是显示根据本发明的一实施例所述的逻辑地址群组记录表示意图。图6是显示根据本发明的一实施例所述的于数据储存装置应用多维度的逻辑地址群组记录表的对应数据处理方法流程图。图7A与7B是显示根据本发明的一实施例所述的二维逻辑地址群组记录表的各维度的群组位元与逻辑地址群组编号示意图。图8A与8B是显示根据本发明的一实施例所述的三维逻辑地址群组记录表的各维度的群组位元与逻辑地址群组编号示意图。图9是显示根据本发明一实施例所述的存取存储器装置的流程图。符号说明100-数据储存装置;110-存储器控制器;112-微处理器;112M-只读存储器;112C-程序码;114-控制逻辑;116-缓冲存储器;118-界面逻辑;120-存储器装置;130-主机装置;132-编码器;134-解码器;200-实体地址至逻辑地址对照表;210、220-快闪存储器芯片;310_1、310_2-逻辑地址至实体地址对照表;400、500-逻辑地址群组记录表;B_0、B_M-存储器区块;Bit_0、Bit_1、Bit_2、Bit_3、Bit_4、Bit_5、Bit_6、Bit_7、*Bit_0、*Bit_1、*Bit_2、*Bit_3、*Bit_4、*Bit_5、*Bit_6、*Bit_7、*Bit_7、**Bit_0、**Bit_1、**Bit_2、**Bit_3-群组位元;LBA_0、LBA_1、LBA_2、LBA_5、LBA_6、LBA_7、LBA_100、LBA_255、LBA_256、LBA_257、LBA_258、LBA_350、、LBA_500、LBA_511-逻辑地址;P0、P1、P2、P3、P4、P5、PN-数据页;Section_0、Section_1、Section_2、Section_7、Section_8、Section_9、Section_10、Section_15、Section_16、Section_17、Section_18、Section_31、Section_56、Section_57、Section_58、Section_63-逻辑地址群组。具体实施方式为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。图1是显示根据本发明的一实施例所述的数据储存装置100的示意图。数据储存装置100包括一存储器装置120,例如,一快闪存储器FlashMemory模组,以及一存储器控制器110,且存储器控制器110用来存取Access存储器装置120。根据本发明一实施例,存储器控制器110包含一微处理器112、一只读存储器ReadOnlyMemory,ROM112M、一控制逻辑114、一缓冲存储器116、与一界面逻辑118。只读存储器112M用来储存一程序码112C,而微处理器112则用来执行程序码112C以控制对存储器装置120的存取。控制逻辑114包含了一编码器132以及一解码器134,其中编码器132用来对写入到存储器装置120中的数据进行编码以产生对应的校验码或称,错误更正码ErrorCorrectionCode,ECC,而解码器134用来将从存储器装置120所读出的数据进行解码。于典型状况下,存储器装置120包含了多个快闪存储器芯片,而每一个快闪存储器芯片包含多个存储器区块Block,而该控制器例如,透过微处理器112执行程序码112C的存储器控制器110对存储器装置120进行抹除数据运作是以区块为单位来进行。另外,一存储器区块可记录包含特定数量的数据页Page,其中该控制器例如,透过微处理器112执行程序码112C的存储器控制器110对存储器装置120进行写入数据的运作是以数据页为单位来进行写入。实作上,透过微处理器112执行程序码112C的存储器控制器110可利用其本身内部的元件来进行诸多控制运作,例如:利用控制逻辑114来控制存储器装置120的存取运作尤其是对至少一区块或至少一数据页的存取运作、利用缓冲存储器116进行所需的缓冲处理、以及利用界面逻辑118来与一主机装置HostDevice130沟通。缓冲存储器116是以随机存取存储器RandomAccessMemory,RAM来实施。例如,缓冲存储器116可以是静态随机存取存储器StaticRAM,SRAM,但本发明不限于此。在一实施例中,数据储存装置100可以是可携式存储器装置例如:符合SDMMC、CF、MS、XD标准的记忆卡,且主机装置130为一可与数据储存装置连接的电子装置,例如手机、笔记型电脑、桌上型电脑…等等。而在另一实施例中,数据储存装置100可以是固态硬碟或符合通用快闪存储器储存UniversalFlashStorage,UFS或嵌入式多媒体记忆卡EmbeddedMultiMediaCard,EMMC规格的嵌入式储存装置,以设置在一电子装置中,例如设置在手机、笔记型电脑、桌上型电脑之中,而此时主机装置130可以是该电子装置的一处理器。主机装置130可对数据储存装置100发出指令,例如,读取指令或写入指令,用以存取存储器装置120所储存的数据,或者进一步控制、管理数据储存装置100。图2是显示根据本发明的一实施例所述的存储器装置及对应的实体地址至逻辑地址对照表的示意图。根据本发明的一实施例,存储器装置120可包含多个快闪存储器芯片,例如快闪存储器芯片210、220,每一个快闪存储器芯片包含了多个存储器区块B_0~B_M,而每一个存储器区块包含了N个数据页P0~PN,其中N为一正整数。在以下的说明中,存储器控制器110是将数据循序写入到快闪存储器芯片210的存储器区块B_0的数据页,然而,需注意的是,上述的"存储器区块"在实作上也可以是包含了多个芯片的位于不同平面plane的多个存储器区块一般称为"超级区块",举例来说,假设快闪存储器芯片210、220均包含了两个平面plane,而存储器区块B_0及B_M是位于不同的平面,则快闪存储器芯片210的存储器区块B_0、B_M以及快闪存储器芯片220的存储器区块B_0、B_M可以构成一个超级区块。为了便于说明,以下段落关于存储器装置的存取系以存储器区块B_0为例做说明,但本领域技术人员可推知其同样适用于超级区块。在数据写入至存储器区块B_0时,微处理器112会建立一实体地址至逻辑地址对照表以下称P2L对照表200,并将此P2L对照表200储存于缓冲存储器116之中,其中P2L对照表200包含存储器区块B_0中的连续的数据页的实体地址P0~PN,以及所对应的逻辑地址。详细来说,存储器控制器110首先将来自主机装置130且具有逻辑地址LBA_5的数据写入至数据页P0中,接着,依序将来自主机装置130且具有逻辑地址LBA_500、LBA_350、LBA_6、LBA_7、LBA_100的数据分别写入至数据页P1~P5。此外,在存储器区块B_0的所有数据页P0~PN都完成数据写入之后,微处理器112可将P2L对照表200储存至存储器模组120。需注意的是,在本实施例中,逻辑地址的序号代表着其顺序,而连续的序号代表着连续的逻辑地址。如上述,随着存储器装置的容量增加,其所包含的存储器区块及数据页的数量也跟着变多的情形下,上述P2L对照表200的大小也会大幅增加,因此根据P2L对照表200搜寻出所需的实体地址的时间也会增加许多,进而影响到数据储存装置的存取效能。有鉴于此,本发明提出一种多维度的逻辑地址群组记录表架构及于数据储存装置应用此多维度的逻辑地址群组记录表的对应数据处理方法,可有效提升数据储存装置的存取效能、节省记录表所占用的存储器空间,并且大幅提升判断实体地址的精准度及缩短搜寻出所需的实体地址的时间。根据本发明的一实施例,除上述P2L对照表外,微处理器112可另外建立一逻辑地址群组记录表Logicaladdresssectiontable,亦可称目前存储器区块命中记录表CurrentBlockHitTable,缩写为CBHT,并储存在缓冲存储器116中,其中逻辑地址群组记录表标注了多个逻辑地址群组的状态,其中每一个逻辑地址群组的该状态用来表示P2L对照表200中是否有记录位于该逻辑地址群组之中的任一逻辑地址,即,目前接收数据的存储器区块例如,目前存储器区块,诸如上述之存储器区块B_0是否存有该逻辑地址群组之中的任一逻辑地址的数据。如此一来,每当存储器控制器110接收到一读取命令以要求读取该存储器装置中的一数据时,可先根据对应的逻辑地址群组于逻辑地址群组记录表所对应的状态决定是否搜寻P2L对照表200。当读取地址所属的逻辑地址群组于逻辑地址群组记录表所对应的状态指示出P2L对照表200记录有位于该逻辑地址群组之中的任一逻辑地址,则存储器控制器110可进一步搜寻P2L对照表200。当读取地址所属的逻辑地址群组于逻辑地址群组记录表所对应的状态指示出P2L对照表200并未记录位于该逻辑地址群组之中的任一逻辑地址,则存储器控制器110无须搜寻P2L对照表200,而改为搜寻其他对照表以下将有更详细的介绍,以缩短搜寻出所需的实体地址的时间。根据本发明的一实施例,每一个逻辑地址群组包含了一逻辑地址范围,且该逻辑地址范围系相同于该存储器装置所使用的一逻辑地址至实体地址对照表的范围。一般而言,存储器装置120中会储存一个全域逻辑地址至实体地址对照表以下称GL2P对照表,该全域逻辑地址至实体地址对照表包含有多个局部逻辑地址至实体地址对照表以下称L2P对照表,而每一个L2P对照表都包含了一逻辑地址范围的映射资讯。于一使用情境中,存储器区块可依据其使用状态区分为目前区块currentblock、数据区块datablock以及空闲区块spareblock。当主机装置130写入数据至数据储存装置100时,微处理器112可从空闲区块中选取一个存储器区块作为目前区块,并且将数据写入该目前区块,并且在缓冲存储器116中维护该目前区块的P2L对照表。当目前区块写满时,微处理器112可将目前区块的P2L对照表储存到存储器装置120,并且依据P2L对照表更新存储器装置120中的多个L2P对照表。接着,目前区块的使用状态会转换为数据区块。图3是显示根据本发明的一实施例所述的逻辑地址至实体地址对照表的示意图。图示的L2P对照表310_1、310_2包含了连续的逻辑地址及对应的实体地址,其中第一个L2P对照表310_1用来储存逻辑地址LBA_0~LBA_255所对应到的实体地址需注意,不一定每一个逻辑地址相对应的实体地址都存在,例如,当一逻辑位置相对应的实体地址不存在时可以"0xFFFFFF"表示、第二个L2P对照表310_2用来储存逻辑地址LBA_256~LBA_511所对应到的实体地址、第三个L2P对照表用来储存LBA_512~LBA_767所对应到的实体地址、…以此类推。因此,于本发明的一实施例中,第一逻辑地址群组例如,Section_0可包含逻辑地址范围LBA_0~LBA_255,亦即,当逻辑地址LBA_0~LBA_255之中有任一逻辑地址被记录于P2L对照表200中时,存储器控制器110可对应地设定第一逻辑地址群组于逻辑地址群组记录表所对应的状态,用以藉由此状态指示出P2L对照表200记录有位于第一逻辑地址群组之中的至少一逻辑地址。根据本发明的一实施例,所述的逻辑地址群组记录表为一多维度的记录表,其包含多个维度的群组位元SectionBit。所述的逻辑地址群组记录表利用多个群组位元区别不同的逻辑地址群组。图4是显示根据本发明的一实施例所述的逻辑地址群组记录表中所记录的逻辑地址群组示意图。根据本发明的一实施例,逻辑地址群组记录表400包含至少一第一维度之一或多个群组位元以及一第二维度之一或多个群组位元,例如第一维度的群组位元Bit_0、Bit_1、Bit_2、…Bit_7,以及第二维度的群组位元*Bit_0、*Bit_1、*Bit_2、…*Bit_7。各维度所使用的群组位元数量可依设计的需求任意地被选择,因此,并不限于本范例中所使用的8个位元。一般而言,当存储器容量越大时,若使用的位元数越多,存储器控制器110可正确判断出所欲读取的逻辑地址所对应的实体地址资讯是否被储存于P2L对照表的精准度越高。根据本发明的一实施例,逻辑地址群组记录表利用这些群组位元所对应的数位值来表示各逻辑地址群组的状态,其中第一维度的群组位元用以表示多个逻辑地址群组编号相差一固定值的逻辑地址群组的状态,第二维度的群组位元用以表示多个具有连续逻辑地址群组编号的逻辑地址群组的状态。举例而言,第一维度的群组位元Bit_0用以表示逻辑地址群组Section_0、Section_8、Section_16…等的状态其中的数字即代表逻辑地址群组编号,群组位元Bit_1用以表示逻辑地址群组Section_1、Section_9、Section_17…等的状态,并以此类推。第二维度的群组位元*Bit_0用以表示逻辑地址群组Section_0~Section_7的状态,群组位元*Bit_1用以表示逻辑地址群组Section_8~Section_15…等的状态,并以此类推。因此,第一维度的群组位元Bit_x结合第二维度的群组位元*Bit_n用以表示逻辑地址群组Section_8n+x的状态,其中n与x可为0或一正整数,其数值范围取决于各维度所使用的群组位元数量,藉此区别不同的逻辑地址群组。需注意的是图4所示的逻辑地址群组记录表400仅是一个范例说明,而非是作为本发明的限制。只要逻辑地址群组记录表400可以利用多维度的群组位元来表达P2L对照表200中是否有记录位于各个逻辑地址群组之中的任一逻辑地址,其细节内容可以有不同的变化,而这些设计上的变化均应隶属于本发明的范畴。此外,需注意的是图4所示的逻辑地址群组数量仅是为了简化说明而呈现的一个范例,存储器装置120所包含的逻辑地址群组数量实际上取决于存储器装置120的容量。根据本发明的一实施例,第一维度的群组位元Bit_x与第二维度的群组位元*Bit_n的数位值可被设定为"0"或"1",逻辑地址群组记录表利用这些群组位元所被设定的数位值来表示这些群组位元所对应的逻辑地址群组的状态。举例而言,当群组位元Bit_0的数位值被设定为一既定数值,例如,数值"1"时,表示P2L对照表200中有记录逻辑地址群组Section_0、Section_8、Section_16…等之中的任一逻辑地址群组所包含的任一逻辑地址。同理,当群组位元*Bit_0的数位值被设定为一既定数值,例如,数值"1"时,表示P2L对照表200中有记录逻辑地址群组Section_0~Section_7之中的任一逻辑地址群组所包含之任一逻辑地址。另一方面,当群组位元Bit_0的数位值被设定为另一既定数值,例如,数值"0"时,表示P2L对照表200中并未记录逻辑地址群组Section_0、Section_8、Section_16…等之中的任一逻辑地址群组所包含的任一逻辑地址。同理,当群组位元*Bit_0的数位值被设定为一既定数值,例如,数值"0"时,表示P2L对照表200中并未记录逻辑地址群组Section_0~Section_7之中的任一逻辑地址群组所包含的任一逻辑地址。换言之,当群组位元Bit_0与*Bit_0的数位值均被设定为数值"1"时,表示P2L对照表200中有记录逻辑地址群组Section_0所包含的任一逻辑地址。图5是显示根据本发明的一实施例所述的逻辑地址群组记录表示意图。逻辑地址群组记录表500例示出逻辑地址群组记录表所纪录的内容,其中*Bit,Bit显示出各群组位元的数位值。根据本发明的一实施例,当逻辑地址群组记录表中一特定逻辑地址群组所对应的所有群组位元的数位值均被设定为数值"1"时,例如,图中所示的状态1,1,表示P2L对照表200中有记录该特定逻辑地址群组所包含的任一逻辑地址。图6是显示根据本发明的一实施例所述的于数据储存装置应用此多维度的逻辑地址群组记录表的对应数据处理方法流程图。首先,存储器控制器110建立一实体地址至逻辑地址对照表步骤S602。如上述,实体地址至逻辑地址对照表包含了连续的实体地址及其对应的逻辑地址。接着,存储器控制器110建立一多维度的逻辑地址群组记录表步骤S604。多维度的逻辑地址群组记录表标注了多个逻辑地址群组的状态,每一个逻辑地址群组的该状态用来表示该实体地址至逻辑地址对照表中是否有记录位于该逻辑地址群组之中的任一逻辑地址。多维度的逻辑地址群组记录表包含多个维度的群组位元,并利用这些群组位元区别不同的逻辑地址群组。接着,每当接收用以要求将一特定逻辑地址的数据写入至该存储器装置的一写入命令时步骤S606,存储器控制器110根据此特定逻辑地址决定出此逻辑地址于各维度所对应的群组位元,并且对应地设定这些群组位元的一数位值步骤S608。根据本发明的一实施例,逻辑地址包含多个位元,于步骤S608中,存储器控制器110可根据不同的位元计算出逻辑地址于不同维度所对应的群组位元为何,再对应地设定这些群组位元的数位值。举例而言,存储器控制器110可先根据一特定逻辑地址的位元取得此特定逻辑地址所对应的一逻辑地址群组编号,再根据此逻辑地址群组编号判断出此特定逻辑地址至少各维度所对应的一群组位元为何。图7A与7B是显示根据本发明的一实施例所述的二维逻辑地址群组记录表的各维度的群组位元与逻辑地址群组编号示意图。根据本发明的一实施例,假设一个逻辑地址包含14个位元,而一个逻辑地址群组被设定为包含了256个逻辑地址,则存储器控制器110可先将逻辑地址的最末的8个位元舍弃,直接获得此逻辑地址所对应的逻辑地址群组编号。即,自最低有效位元LSB至最高有效位元MSB的方向直接选择8个位元舍弃之,以获得对应的逻辑地址群组编号。经舍弃部分位元后,此逻辑地址剩余的位元二进位表示经转换后即为图中所示的逻辑地址群组编号十进位表示。接着,假设第一维度使用K个群组位元,其中K为一正整数,则存储器控制器110可将此逻辑地址的群组编号模除moduleoperation,表示为modK,所得之余数即为此逻辑地址所对应的第一维度的群组位元。举例而言,假设群组编号模除KSection_NomodK之后所得的余数为0,表示此逻辑地址于第一维度的群组位元为Bit_0,若群组编号模除KSection_NomodK之后所得的余数为1,表示此逻辑地址于第一维度的群组位元为Bit_1,并以此类推。接着,假设第一维度使用K个群组位元,第二维度使用L个群组位元,其中L为一正整数,则存储器控制器110可将此逻辑地址的群组编号先除以K,再将所得的商数模除L,所得的余数即为此逻辑地址所对应的第二维度的群组位元。举例而言,假设群组编号模先除以K之后所得的商数再模除L所得的余数为0,表示此逻辑地址于第一维度的群组位元为*Bit_0,若群组编号先除以K之后所得的商数再模除L所得的余数为1,表示此逻辑地址于第一维度的群组位元为*Bit_1,并依此类推。上述的操作,实际上等同于直接取逻辑地址的部分位元进行转换,两者可得到相同的结果。更具体的说,存储器控制器110可直接取这些位元之一第一部分进行二进位至十进位转换,即可得此逻辑地址于第一维度的群组位元,以及直接取这些位元之一第二部分进行二进位至十进位转换,即可得此逻辑地址于第二维度的群组位元。举例而言,假设一特定逻辑地址为11001000001111,其所对应的逻辑地址群组编号为50。存储器控制器110藉由直接将自最低有效位元LSB至最高有效位元MSB的方向选择第9~11个位元010进行二进位至十进位转换后,可得此逻辑地址第一维度的群组位元为2,以及将第12~14个位元110进行二进位至十进位转换后,可得此逻辑地址第二维度的群组位元为6,其结果与上述计算相等。换言之,根据本发明的一实施例,于实作上,可根据逻辑地址的位元数量决定出逻辑地址群组记录表欲使用的维度数量,以及各维度需使用多少个群组位元。于上述范例中,将逻辑地址舍弃最末的8个位元后所剩余的6个位元进一步分成两个部分,各部分包含3个位元,即,使用两个维度建立逻辑地址群组记录表,并且各维度包含了2^3=8个群组位元。图8A与8B是显示根据本发明的一实施例所述的三维逻辑地址群组记录表的各维度的群组位元与逻辑地址群组编号示意图。于此实施例中,假设一个逻辑地址包含14个位元,而一个逻辑地址群组被设定为包含了256个逻辑地址,则存储器控制器110可先将逻辑地址的最末的8个位元舍弃,直接获得此逻辑地址所对应的逻辑地址群组编号。接着,假设第一维度使用K个群组位元,第二维度使用L个群组位元,第三维度使用M个群组位元,其中K、L、M为一正整数,则存储器控制器110可将此逻辑地址的群组编号模除K,所得的余数即为此逻辑地址所对应的第一维度的群组位元。接着,存储器控制器110可将此逻辑地址的群组编号先除以K,再将所得的商数模除L,所得的余数即为此逻辑地址所对应的第二维度的群组位元。接着,存储器控制器110可将此逻辑地址的群组编号先除以K,再将所得的商数除以L,再将所得的商数模除M,所得的余数即为此逻辑地址所对应的第三维度的群组位元。以逻辑地址群组编号为50的逻辑地址为例,假设第一维、第二维度及第三维度均使用4个群组位元,存储器控制器110可将群组编号50模除4,所得的余数为2,此即为第一维度的群组位元。存储器控制器110再将此群组编号50先除以4,再将所得的商数12模除4,所得的余数为0,此即为第二维度的群组位元。存储器控制器110再将此群组编号50先除以4,再将所得的商数12除以4,再将所得的商数3模除4,所得的余数为3,此即为第三维度的群组位元。上述的操作亦等同于直接取逻辑地址的部分位元进行转换,两者可得到相同的结果。更具体的说,存储器控制器110可直接取这些位元的一第一部分进行二进位至十进位转换,即可得此逻辑地址于第一维度的群组位元,直接取这些位元的一第二部分进行二进位至十进位转换,即可得此逻辑地址于第二维度的群组位元,以及直接取这些位元的一第三部分进行二进位至十进位转换,即可得此逻辑地址于第三维度的群组位元,并以此类推。举例而言,假设一特定逻辑地址为11001000001111,其所对应的逻辑地址群组编号为50。存储器控制器110藉由直接将自最低有效位元LSB至最高有效位元MSB的方向选择第9~10个位元10进行二进位至十进位转换后,可得此逻辑地址第一维度的群组位元为2,将第11~12个位元00进行二进位至十进位转换后,可得此逻辑地址第二维度的群组位元为0,以及第13~14个位元11进行二进位至十进位转换后,可得此逻辑地址第二维度的群组位元为3,其结果与上述计算相等。当逻辑地址群组记录表欲使用的维度数量大于3时,亦可依循上述计算方式得出各维度的群组位元。图9是显示根据本发明一实施例所述的存取存储器装置的流程图。流程可起始于存储器控制器110接收来自主机装置130的至少一写入命令,以将多笔数据写入至存储器装置120的一区块中,例如,存储器区块B_0。在步骤S902中,存储器控制器110将数据写入至存储器区块,并同步建立更新P2L对照表与逻辑地址群组记录表,例如P2L对照表200与逻辑地址群组记录表500。如上述,存储器控制器110可根据写入命令所包含的第一特定逻辑地址取得第一特定逻辑地址于各维度所对应的群组位元。在步骤S904中,存储器控制器110接收到来自主机装置130的一读取命令,以要求自存储器装置120中读取具有一第二特定逻辑地址的数据。接着,在步骤S906中,存储器控制器110判断该第二特定逻辑地址所对应的一逻辑地址群组的状态。举例而言,存储器控制器110判断该第二特定逻辑地址所属的一逻辑地址群组的多个群组位元的数位值是否均被设定为一既定数值,例如,数值"1"。如上述,存储器控制器110可根据读取命令所包含的第二特定逻辑地址取得第二特定逻辑地址于各维度所对应的群组位元,并确认这些群组位元于逻辑地址群组记录表中所记录的数位值。若是,流程进入步骤S908;若否,则流程进入步骤S912。值得注意的是,根据本发明的其他实施例,于步骤S906中,存储器控制器110亦可逐一判断第二特定逻辑地址于各维度所对应的群组位元的数位值是否被设定为既定数值。若有任一维度的群组位元的数位值未被设定为既定数值,则流程进入步骤S912。根据本发明的一实施例,当第二特定逻辑地址读取地址所对应的逻辑地址群组的多个群组位元的数位值于逻辑地址群组记录表均被设定为一既定数值时,表示此读取地址所对应的逻辑地址群组的状态为P2L对照表记录有位于该逻辑地址群组之中的任一逻辑地址。因此,存储器控制器110根据各群组位元的数位值判断P2L对照表中是否有记录位于该第二特定逻辑地址所对应的一逻辑地址群组之中的任一逻辑地址,以决定是否搜寻P2L对照表。在步骤S908中,存储器控制器110搜寻P2L对照表,并判断第二特定逻辑地址是否位于P2L对照表中。若是,流程进入步骤S910;若否,则流程进入步骤S912。在步骤S910中,存储器控制器110可以直接地从储存在缓冲存储器116中的P2L对照表中来搜寻出第二特定逻辑地址所对应的实体地址,并根据所搜寻到的实体地址以自存储器装置120中找到储存在该实体地址的数据。在步骤S912中,由于第二特定逻辑地址所对应的逻辑地址群组的多个群组位元的数位值并未均被设定为一既定数值,因此代表着P2L对照表中并未储存有关于第二特定逻辑地址的资讯亦即,存储器区块B_0未包含具有第二特定逻辑地址的数据,因此,存储器控制器110便不需要对P2L对照表进行搜寻的操作,而直接地判断缓冲存储器116上是否具有包含第二特定逻辑地址的L2P对照表。举例来说,假设第二特定逻辑地址为LBA_700,则存储器控制器110判断缓冲存储器116中是否储存具有LBA_512~LBA_767相关资讯的L2P对照表,若是,流程进入步骤S914;若否,流程进步入步骤S916。在步骤S914中,由于缓冲存储器116储存具有LBA_512~LBA_767相关资讯的L2P对照表,故存储器控制器110可以直接自此L2P对照表中读取搜寻出第二特定逻辑地址LBA_700所对应的实体地址,并根据所搜寻到的实体地址以自存储器装置120中读取储存在该实体地址的数据。在步骤S916中,由于缓冲存储器116不具有LBA_512~LBA_767相关资讯的L2P对照表,故存储器控制器110自存储器装置120中读取具有LBA_512~LBA_767相关资讯的L2P对照表并储存到缓冲存储器116中。接着,在步骤S918中,存储器控制器110自载入的L2P对照表中读取搜寻出特定逻辑地址LBA_700所对应的实体地址,并根据所搜寻到的实体地址以自存储器装置120中读取储存在该实体地址的数据。后续流程可以回到步骤S902以继续将数据写入区块B_0并同步建立更新P2L对照表与逻辑地址群组记录表,或是进入步骤S904以接收下一个读取命令。另外,若是存储器控制器110继续对区块B_0进行数据写入,则由于所写入的数据有可能是先前写入数据的更新数据亦即,具有相同的逻辑地址,因此,为了避免后续的查找错误,一旦区块B_0有数据写入,先前因为读取命令所载入的一或多个L2P对照表会被设为无效,亦即缓冲存储器116中的L2P对照表会被标记为无效或是删除。参考以上的实施例所述,当存储器控制器110接收到读取命令的时候,会直接参考储存在缓冲存储器116中的逻辑地址群组记录表来判断读取命令所包含的逻辑地址是否有可能包含在缓冲存储器116的P2L对照表中,而若是逻辑地址群组记录表指出读取命令所包含的逻辑地址不存在于P2L对照表时,存储器控制器110便不需要对P2L对照表进行搜寻,而可以直接从缓冲存储器116的L2P对照表、或是自存储器装置120所载入的L2P对照表来取得所需的实体地址。因此,本发明的实施例可以确实降低无效搜寻P2L对照表的次数,故可以加速快闪存储器控制器的读取速度,增进系统效能。此外,于本发明的实施例中,逻辑地址群组记录表所使用的维度数量,以及各维度需使用群组位元数量均可弹性地选择,如此可进一步减少逻辑地址群组记录表于缓冲存储器116所占用的空间。如上述,于本发明的实施例中,可根据逻辑地址的位元数量即,存储器装置120的存储器容量大小决定出逻辑地址群组记录表欲使用的维度数量,以及各维度需使用的群组位元数量。举例而言,若存储器装置120所包含的逻辑地址可被区分为64个逻辑地址群组,则若仅以一个维度的逻辑地址群组记录表来表示此64个逻辑地址群组的状态,需要使用64个群组位元。当存储器装置120的存储器容量增加,一个维度的逻辑地址群组记录表所需的群组位元数量也会随之线性地增加。若如本发明的图7A与7B所示的实施例,使用两个维度的逻辑地址群组记录表来表示此64个逻辑地址群组的状态,则仅需使用16个群组位元即,8+8=16,相较于一个维度的逻辑地址群组记录表,所需的群组位元数量已大幅减少。若如本发明的图8A与8B所示的实施例,使用三个维度的逻辑地址群组记录表来表示此64个逻辑地址群组的状态,则仅需使用12个群组位元即,4+4+4=12,相较于一个维度的逻辑地址群组记录表,所需的群组位元数量更进一步地被减少。同理,若使用更多维度例如,四个、五个…等的逻辑地址群组记录表来表示此64个逻辑地址群组的状态,则所需使用的群组位元可再被减少。当存储器装置120的存储器容量越大时,藉由使用多维度逻辑地址群组记录表以降低缓冲存储器116所占用的空间的效益更加明显。此外,若以相等数量的群组位元来建立不同维度的逻辑地址群组记录表,则维度数量越多,逻辑地址群组记录表的精准度越高。举例而言,当缓冲存储器116的空间仅允许使用16个群组位元建立逻辑地址群组记录表,而存储器装置120所包含的逻辑地址可被区分为64个逻辑地址群组时,则若仅以一个维度的逻辑地址群组记录表来表示此64个逻辑地址群组的状态,将导致每四个逻辑地址群组必须共用一个群组位元,此时逻辑地址群组记录表的精准度仅为25%。若以两个或以上维度的逻辑地址群组记录表来表示此64个逻辑地址群组的状态,则各逻辑地址群组都可对应于一组唯一的群组位元,此时逻辑地址群组记录表的精准度为100%。换言之,当可使用的群组位元数量相同时,维度越高的逻辑地址群组可区别的逻辑地址群组越多,精准度越高。因此,藉由本发明提出一种多维度的逻辑地址群组记录表架构及于数据储存装置应用此多维度的逻辑地址群组记录表的对应数据处理方法,可有效提升数据储存装置的存取效能、节省记录表所占用的存储器空间,并且大幅提升判断实体地址的精准度及缩短搜寻出所需的实体地址的时间。申请专利范围中用以修饰元件的"第一"、"第二"等序数词的使用本身未暗示任何优先权、优先次序、各元件之间的先后次序、或方法所执行的步骤的次序,而仅用作标识来区分具有相同名称具有不同序数词的不同元件。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。

权利要求:1.一种数据储存装置,包括:一存储器装置;以及一存储器控制器,耦接该存储器装置,用以存取该存储器装置,并建立一实体地址至逻辑地址对照表以及一逻辑地址群组记录表,其中该实体地址至逻辑地址对照表包含了连续的实体地址及其对应的逻辑地址,其中该逻辑地址群组记录表标注了多个逻辑地址群组的状态,其中每一个逻辑地址群组的该状态用来表示该实体地址至逻辑地址对照表中是否有记录位于该逻辑地址群组之中的任一逻辑地址,并且其中该逻辑地址群组记录表包含多个维度的群组位元,该逻辑地址群组记录表利用多个群组位元区别不同的逻辑地址群组,并且其中当该存储器控制器接收用以要求将一第一特定逻辑地址的数据写入至该存储器装置的一写入命令时,该存储器控制器根据该第一特定逻辑地址决定出该第一特定逻辑地址于各维度所对应的该群组位元,并且对应地设定这些群组位元的一数位值。2.如权利要求1所述的数据储存装置,其特征在于,该逻辑地址群组记录表利用这些群组位元所对应的该数位值来表示各逻辑地址群组的状态。3.如权利要求1所述的数据储存装置,其特征在于,该逻辑地址群组记录表包含至少一第一维度之一或多个群组位元以及一第二维度之一或多个群组位元,并且其中当该存储器控制器接收一读取命令以要求读取该存储器装置中的一数据时,该存储器控制器根据该读取命令所包含的一第二特定逻辑地址取得该第二特定逻辑地址于该第一维度所对应的一第一群组位元以及于该第二维度所对应的一第二群组位元。4.如权利要求3所述的数据储存装置,其特征在于,该存储器控制器还根据该逻辑地址群组记录表中所记录的该第一群组位元的该数位值及该第二群组位元的该数位值判断该实体地址至逻辑地址对照表中是否有记录位于该第二特定逻辑地址所属的该逻辑地址群组之中的任一逻辑地址,以决定是否搜寻该实体地址至逻辑地址对照表。5.如权利要求4所述的数据储存装置,其特征在于,当该第一群组位元的该数位值及该第二群组位元的该数位值均被设定为一既定数值时,该存储器控制器决定搜寻该实体地址至逻辑地址对照表,以得到与该第二特定逻辑地址相对应的一特定实体地址,以供自该存储器装置中读取该数据。6.如权利要求1所述的数据储存装置,其特征在于,该每一个逻辑地址群组包含了一逻辑地址范围,且该逻辑地址范围相同于该存储器装置所使用的一逻辑地址至实体地址对照表的范围。7.如权利要求1所述的数据储存装置,其特征在于,该第一特定逻辑地址包含多个位元,该存储器控制器根据不同的位元计算出该第一特定逻辑地址于不同维度所对应的这些群组位元。8.一种数据处理方法,适用于一数据储存装置,该数据储存装置包括一存储器装置以及一存储器控制器,该存储器控制器耦接该存储器装置,用以存取该存储器装置,该方法包括:建立一实体地址至逻辑地址对照表,其中该实体地址至逻辑地址对照表包含了连续的实体地址及其对应的逻辑地址;建立一逻辑地址群组记录表,其中该逻辑地址群组记录表标注了多个逻辑地址群组的状态,每一个逻辑地址群组的该状态用来表示该实体地址至逻辑地址对照表中是否有记录位于该逻辑地址群组之中的任一逻辑地址,并且其中该逻辑地址群组记录表包含多个维度的群组位元,该逻辑地址群组记录表利用多个群组位元区别不同的逻辑地址群组;接收用以要求将一第一特定逻辑地址的数据写入至该存储器装置的一写入命令;以及根据该第一特定逻辑地址决定出该第一特定逻辑地址于各维度所对应的该群组位元,并且对应地设定这些群组位元之一数位值。9.如权利要求8所述的数据处理方法,其特征在于,该逻辑地址群组记录表利用这些群组位元所对应的该数位值来表示各逻辑地址群组的状态。10.如权利要求8所述的数据处理方法,其特征在于,该逻辑地址群组记录表包含至少一第一维度之一或多个群组位元以及一第二维度之一或多个群组位元,并且该方法还包括:接收一读取命令以要求读取该存储器装置中的一数据;以及根据该读取命令所包含的一第二特定逻辑地址取得该第二特定逻辑地址于该第一维度所对应的一第一群组位元以及于该第二维度所对应的一第二群组位元。11.如权利要求10所述的数据处理方法,其特征在于,还包括:根据该逻辑地址群组记录表中所记录的该第一群组位元的该数位值及该第二群组位元的该数位值判断该实体地址至逻辑地址对照表中是否有记录位于该第二特定逻辑地址所属的该逻辑地址群组之中的任一逻辑地址,以决定是否搜寻该实体地址至逻辑地址对照表。12.如权利要求11所述的数据处理方法,其特征在于,还包括:当该第一群组位元的该数位值及该第二群组位元的该数位值均被设定为一既定数值时,决定搜寻该实体地址至逻辑地址对照表,以得到与该第二特定逻辑地址相对应的一特定实体地址,以供自该存储器装置中读取该数据。13.如权利要求8所述的数据处理方法,其特征在于,该每一个逻辑地址群组包含了一逻辑地址范围,且该逻辑地址范围相同于该存储器装置所使用的一逻辑地址至实体地址对照表的范围。14.如权利要求8所述的数据处理方法,其特征在于,该第一特定逻辑地址包含多个位元,并且其中根据该第一特定逻辑地址决定出该第一特定逻辑地址于各维度所对应的该群组位元,并且对应地设定这些群组位元的一数位值的步骤还包括:根据不同的位元计算出该第一特定逻辑地址于不同维度所对应的这些群组位元。

百度查询: 慧荣科技股份有限公司 数据储存装置与数据处理方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。