数据储存装置以及非挥发式存储器控制方法与流程

文档序号:22083412发布日期:2020-09-01 19:44阅读:163来源:国知局
本发明有关于数据储存装置,特别有关于映射资讯的维护。
背景技术
::非挥发式存储器有多种形式─例如,快闪存储器(flashmemory)、磁阻式随机存取存储器(magnetoresistiveram)、铁电随机存取存储器(ferroelectricram)、电阻式随机存取存储器(resistiveram)、自旋转移力矩随机存取存储器(spintransfertorque-ram,stt-ram)…等,用于长时间数据保存。非挥发式存储器有其特殊的储存特性,其操作以及管理需特殊设计。技术实现要素:本发明提出一种实体空间资讯格式,用于管理一数据储存装置的映射资讯。根据本发明一种实施方式实现的一数据储存装置包括一非挥发式存储器、一存储器控制器以及一暂存存储器。该存储器控制器根据一主机的要求存取该非挥发式存储器。该存储器控制器在该暂存存储器上规划一数据快取空间。该存储器控制器在该暂存存储器上动态维护映射资讯,显示该主机辨识的逻辑地址映射的实体空间资讯。该存储器控制器以该实体空间资讯的第一位元至第n位元(n为大于1的数值)标示该非挥发式存储器的实体空间、或标示该数据快取空间内的地址。该存储器控制器不在该实体空间资讯中规划特定位元区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。该存储器控制器是以该第一至该第n位元组成的数值中,相对该非挥发式存储器的实体空间无意义的数值,区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。根据本发明技术,实体空间资讯的位元被最佳化利用,足以应付大尺寸的非挥发式存储器。一种实施方式中,该存储器控制器以一遮罩(mask)处理该实体空间资讯所获得的数值,辨识该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。该存储器控制器还可以该遮罩处理该实体空间资讯所获得的数值,辨识该实体空间资讯是否为虚置数据。一种实施方式中,该存储器控制器以一遮罩处理该实体空间资讯,并在获得一第一数值时判定该实体空间资讯为虚置数据,获得一第二数值时判定该实体空间资讯是指向该数据快取空间,获得非该第一数值、也非该第二数值时判定该实体空间资讯指向该非挥发式存储器。该存储器控制器可以该遮罩对该实体空间资讯进行逻辑及运算。一种实施方式中,该非挥发式存储器为一快闪存储器。该快闪存储器的多个区块是以一区块位元数blkbits区别。各区块中的多个单位是以一单位位元数unitbits区别。该存储器控制器进行运算:mask=(((1<<blkbits)-1)*(1<<unitbits)),其中mask为该遮罩。该存储器控制器还可进行运算:dummysrc=mask;以及dramsrc=(((1<<blkbits)-2)*(1<<unitbits)),其中,dummysrc为该第一数值,且dramsrc为该第二数值。以上存储器控制器对非挥发式存储器的操作也可以由其他结构实现。本发明还可以前述概念实现非挥发式存储器的控制方法,包括:根据一主机的要求存取一非挥发式存储器;在一暂存存储器上规划一数据快取空间;在该暂存存储器上动态维护映射资讯,显示该主机辨识的逻辑地址映射的实体空间资讯;以该实体空间资讯的第一位元至第n位元标示该非挥发式存储器的实体空间、或标示该数据快取空间内的地址,且不在该实体空间资讯中规划特定位元区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间;且以该第一至该第n位元组成的数值中,相对该非挥发式存储器的实体空间无意义的数值,区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。下文特举实施例,并配合附图,详细说明本
发明内容。附图说明图1图解一区块blk的结构;图2为方块图,图解根据本发明一种实施方式所实施的数据储存装置200;图3为本发明判断实体地址类别方法的流程图;图4为例举本发明判断实体地址类别方法中第一数值与第二数值的设定。符号说明200~数据储存装置;202~快闪存储器;204~存储器控制器;206~暂存存储器;208~主机;210~系统资讯区块池;212~闲置区块池;214~主动区块;216~数据区块池;218~实体-逻辑地址映射表;220~空间,用于载入逻辑-实体地址映射表;222~数据快取空间;400~表格;blk~区块;s302…s314~步骤。具体实施方式以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本
发明内容。实际发明范围应依照权利要求书界定。非挥发式存储器可以是快闪存储器(flashmemory)、磁阻式随机存取存储器(magnetoresistiveram)、铁电随机存取存储器(ferroelectricram)、电阻式存储器(resistiveram,rram)、自旋转移力矩随机存取存储器(spintransfertorque-ram,stt-ram)…等,提供长时间数据保存的储存媒体。以下特别以快闪存储器为例进行讨论。现今数据储存装置常以快闪存储器为储存媒体,用以储存来自于主机的使用者数据。数据储存装置的种类众多,包括记忆卡(memorycard)、通用串行总线装置(usbflashdevice)、固态硬碟(ssd)…等产品。有一种应用是采多芯片封装、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模组(如emmc)。以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置中。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备…等。电子装置的运算模块可视为主机(host),操作所使用的数据储存装置,以存取其中快闪存储器。以快闪存储器为储存媒体的数据储存装置也可用于建构数据中心。例如,伺服器可操作固态硬碟(ssd)阵列形成数据中心。伺服器即可视为主机(host),操作所连结的固态硬碟,以存取其中快闪存储器。图2为方块图,图解根据本发明一种实施方式所实施的数据储存装置200,其中包括快闪存储器202、存储器控制器204以及暂存存储器206。主机208系透过存储器控制器204操作快闪存储器202。数据储存装置200内部也可发动快闪存储器202的最佳化操作;例如,存储器控制器204可对快闪存储器202进行垃圾回收(garbagecollection)、空间修整(trimming)、区块数据搬移(blockdatatransfer)…等。存储器控制器204进行运算时是以暂存存储器206暂存数据。暂存存储器206可为动态随机存取存储器(dram)或sram。快闪存储器202除了具有系统资讯区块池210储存逻辑-实体地址映射表(logical-to-physicaladdressesmappingtable,l2p映射表)外,还有许多区块在多种状态间变化。取自闲置区块池212的主动区块214用于接收主机208要求的写入数据。主动区块214关闭后(例如,写入区块结尾(endofblock,简称eob)资讯后),将视为数据区块,属于数据区块池216。闲置区块池212将重新提供主动区块214。数据区块经抺除后,可被推入闲置区块池212。主动区块214也可以是配置做快闪存储器202内部数据搬移的目的地。快闪存储器202的物理空间是划分为多个区块(blocks)配置使用。图1图解一区块blk的结构,其中包括多页面(pages),例如,页面0…页面255。各页面包括多个区段(sectors),例如:16kb空间的页面可包括32个区段来储存使用者数据,每一区段大小为512b。另外,在4kb数据管理模式下,可将8个区段作为最小的数据管理单位,此时,数据管理单位的大小为4kb,可储存8个区段大小的使用者数据。为了简化说明,下述中将以4kb数据管理模式为例进行说明,但不以此为限。随着主动区块214的填写,存储器控制器204可在暂存存储器206上维护实体-逻辑地址映射表(physical-logicaladdressesmappingtable,p2l映射表)218,显示主动区块214的实体地址究竟储存那些逻辑地址的使用者数据,或实体地址至逻辑地址的映射资讯。如p2l映射表218所载,主动区块214用于多个逻辑地址的使用者数据储存,其反向的映射资讯可以用以更新逻辑-实体地址映射表(logical-to-physicaladdressesmappingtable,l2p映射表)的内容。另外,存储器控制器204可将l2p映射表(局部或完全)上载至暂存存储器206的空间220,以加速l2p映射表的存取。一种实施方式中,存储器控制器204根据页面编号,由低至高编号(例如,页面0至页面255),而将使用者数据储存至区块。一种实施方式中,数据储存装置200采用多通道技术,系将不同通道之间的区块视为一个超级区块(superblock),将不同通道之间的页面视为超级页面(superpage),再以超级区块或超级页面的作为数据抺除(erase)或数据写入的单位,采用此架构下可提升数据储存装置200的数据吞吐量。快闪存储器202有其特殊的储存特性。旧数据更新并非同空间复写。新版的数据需被写入闲置空间,而旧空间内容将被标为无效。区块可能零星留存有效数据,可以执行垃圾回收程序将有效数据搬移到闲置空间。徒留无效数据的区块得以被抹除再利用。快闪存储器202的实体空间是动态地被配置使用。相较于主机(host)端是以逻辑地址(例如,逻辑区块地址lba或全域主机页编号ghp…等)区别使用者数据,各逻辑地址究竟对应至快闪存储器哪一个实体位置(地址)则记录在l2p映射表,其中,实体地址主要可由区块编号、页面编号以及数据管理单位编号来表示,数据管理单位编号又可由偏移量(offset)来表示。在多通道存取(multi-channelaccessing)架构下,实体地址还可包括:通道编号、逻辑单位编号(lun)、平面编号等资讯。存储器控制器204在操作快闪存储器202时都需参考或更新l2p映射表的映射资讯,例如:从快闪存储器202中读取使用者数据时需要参考映射资讯,对快闪存储器202写入使用者数据则需更新映射资讯。除了因应主机(host)的读、写要求,存储器控制器204还会主动或被动地对快闪存储器202执行其他操作,例如:垃圾回收、空间修整、区块数据搬移…等,以上操作也都涉及l2p映射表的映射资讯的参考或更新。暂存存储器206除了用以暂存l2p映射表,也可能有部分空间被规划作为数据快取(cache)空间222。当使用者数据被快取在暂存存储器206的数据快取空间222时,l2p映射表中的实体地址为暂存存储器206的实体地址,而非快闪存储器202的实体地址。为了避免暂存存储器206的实体地址以及快闪存储器202的实体地址的混淆,存储器控制器204可以在l2p映射表的实体地址中利用其中一个位元作为旗标,例如,32位元(四位元组)的实体地址规划如下:位元[31]:unc位元,供非挥发式存储器高速通讯介面(nvme)的unc指令使用。位元[30:29]:资讯模式(patternmode)位元,00/01代表后续位元[28:0]标示快闪存储器202的实体地址,10代表后续位元[28:0]标示暂存存储器206的实体地址,11代表后续位元[28:0]为无意义的虚置(dummy)数据。位元[28:0]:实体地址的数值,其中,位元[28:20]记录区块编号,位元[19:00]记录页面编号以及额外资讯,例如:偏移量(offset)、通道编号ch#、逻辑单元编号(lun)、芯片致能信号编号ce#、平面编号等。然而,随着快闪存储器202制造技术的演进,每个区块具有更多页面数量,快闪存储器202具有更多的数据储存空间,因此,l2p映射表中的实体地址需要使用更多位元数才能正确地标示使用者数据的储存位置,原本的实体地址格式已不再适用。因此,本发明提出一种实体地址格式,可应用在l2p映射表,本发明中32位元的实体地址规划如下:位元[31]:unc位元,供非挥发式存储器高速通讯介面(nvme)的unc指令使用;位元[30:0]:实体地址的数值,其中,位元[30:22]记录区块编号,位元[21:00]记录页面编号以及额外资讯。另外,本发明利用不存在的实体地址的数值来作为资讯模式位元。本发明中实体地址由31个位元所表示,而非29个位元,理论上可记录4倍的实体地址,即4倍的数据储存空间。在本发明实体地址格式中,资讯模式位元不再独占任何专属位元,而是与实体地址共用位元,并利用不存在的数值来表示资讯模式,例如,记录区块编号的位元[31:0]中,位元[30:22]记录区块编号,因此,其最大值为511。但是,快闪存储器202的区块编号的最大值为504,所以,数值505~511为不存在或未使用的数值,因此,资讯模式位元可由不存在或未使用的数值来替代。例如,如果数值为508,则将实体地址判断成暂存存储器206的实体地址;如果数值为511,则将实体地址判断成无意义的虚置数据,其中逻辑运算可利用及、或、位移或遮罩等运算来作为位元[30:22]的数值的判断。图3为本发明判断实体地址类别方法的流程图。步骤s302,存储器控制器204接收来自主机208的主机命令,其中,主机命令包括命令类别以及逻辑地址,命令类别可为数据读取、数据写入、空间修整等等。步骤s304,存储器控制器204依据主机命令查询l2p映射表以获得实体地址。存储器控制器204依据主机命令的逻辑地址l2p映射表以获得实体地址,例如,获得的实体地址phy[31:0]是0x1f054321。步骤s306,存储器控制器204对实体地址(甚至,实体地址的特定位元)进行逻辑运算以取得结果值。一种实施方式是对位元[31:0]进行逻辑运算。一种实施方式中,存储器控制器204是对实体地址的局部位元[30:24]进行逻辑运算,结果值为"7d"。步骤s308,存储器控制器204依据结果值来判断实体地址的类别。若为第一数值,存储器控制器204进行步骤s310,判定实体地址为无意义的虚置数据。若为第二数值,存储器控制器204进行步骤s312,判定实体地址为暂存存储器206的实体地址。若非第一、也非第二数值,存储器控制器204进行步骤s314,判定实体地址为快闪存储器202的实体地址。图4为例举(如表格400所示)本发明判断实体地址类别方法中第一数值与第二数值的设定,其中,第一数值(标号:dummysrc)以及第二数值(标号:dramsrc)可由下列方程式计算取得:validblk=(totalfblk<<shiftcnt)(方程式1)mask=(((1<<blkbits)-1)*(1<<shiftcnt))(方程式2)dummysrc=mask(方程式3)dramsrc=(((1<<blkbits)-2)*(1<<shiftcnt))(方程式4)以图4第一行为例,一个平面的总区块数等于504,或16进位总区块数(标号:totalfblk)等于0x1f8,位移量(标号:shiftcnt,或各区块中多个(写入/储存)单位区别用的一单位位元数unitbits)等于21位元,依据方程式1,将totalfblk向左位移shiftcnt之后即可算出最大有效值(标号:validblk)等于0x3f000000,而任一大于validblk的数值可作为dummysrc或dramsrc。选一个超过validblk的数值作为遮罩(标号:mask),如方程式2所示,令区块位元数(标号:blkbits)等于9以及shiftcnt等于21,计算可得mask等于0x3fe00000,mask可用于本发明判断实体地址类别方法中步骤s306的运算。如方程式3所示,采用mask作为dummysrc,即mask等于dummysrc也等于0x3fe00000。之后,再依方程式4的运算可得知dramsrc等于0x3fc00000,dummysrc以及dramsrc则可用于本发明判断实体地址类别方法中步骤s308的数值辨识。以图4第二行为例,一个平面的总区块数等于236,或totalfblk等于0xec,shiftcnt等于21位元,依据方程式1,将totalfblk向左位移shiftcnt之后即可算出validblk等于0x3b000000,此时,令dummysrc等于0x3fc00000或dramsrc等于0x3f800000。以图4第三行为例,一个平面的总区块数等于1008,或totalfblk等于0x3d0,shiftcnt等于21位元,依据方程式1,将totalfblk向左位移shiftcnt之后即可算出validblk等于0x7e000000,此时,令dummysrc等于7fe00000或dramsrc等于0x7fc00000。以上存储器控制器204对快闪存储器202的操作设计也可以由其他结构实现。凡是利用(方程式1)实体空间标示最大有效值validblk以上闲置数值来区别资讯模式(patternmode),都属于本发明欲保护范围。本发明还可以前述概念实现非挥发式存储器的控制方法。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本
技术领域
:者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1