压缩的FTL表及其加速器制造技术

技术编号:33998636 阅读:28 留言:0更新日期:2022-07-02 11:33
提供了压缩的FTL表及其加速器。所提供的FTL加速器,包括读地址计算单元、读数据选择单元、读地址发送单元与读数据接收单元;读地址计算单元根据要读取的逻辑FTL表的条目的索引(L)计算同要访问的逻辑FTL表的条目对应的物理FTL表的条目的地址;读地址计算单元还向读数据选择单元指示从存储器读出的数据中属于要访问的物理FTL表的条目的部分;读数据选择单元根据读地址计算单元指示的从存储器读出的数据中获取属于要访问的物理FTL表的条目的部分,以及扩展要访问的物理FTL表的条目得到要访问的逻辑FTL表的条目。要访问的逻辑FTL表的条目。要访问的逻辑FTL表的条目。

【技术实现步骤摘要】
压缩的FTL表及其加速器


[0001]本申请涉及存储技术,特别地,涉及压缩的FTL表、其使用方法以及提供压缩的FTL的硬件加速器。

技术介绍

[0002]参看图1,展示了存储设备的框图。存储设备102同主机相耦合,用于为主机提供存储能力。主机同存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI(Small Computer System Interface,小型计算机系统接口)、SAS(Serial Attached SCSI,串行连接SCSI)、IDE(Integrated Drive Electronics,集成驱动器电子)、USB(Universal Serial Bus,通用串行总线)、PCIE(Peripheral Component Interconnect Express,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM(非易失存储器,Non

Volatile Memory)芯片105以及以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)110。
[0003]NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(Magnetic Random Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)、XPoint存储器等是常见的NVM。
[0004]接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
[0005]控制部件104用于控制在接口108、NVM芯片105以及DRAM 110之间的数据传输,还用于存储管理、主机逻辑地址到NVM芯片的物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field

programmable gate array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以耦合到DRAM 140,并可访问DRAM 110的数据。在DRAM存储FTL表和/或缓存的IO命令的数据。
[0006]控制部件104包括闪存接口控制器(或称为介质接口、介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
[0007]NVM存储介质上通常按页来存储和读取数据。而按块来擦除数据。NVM存储介质上的块(也称物理块)包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664
字节。物理页也可以具有其他的尺寸。
[0008]在存储设备中,利用FTL(Flash Translation Layer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在现有技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。可选地,访问存储设备的主机提供FTL。
[0009]存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表(也称为L2P表)。通常FTL表的数据项记录了存储设备中以指定大小的存储单元为单位(例如,512字节、2KB、4KB等)的地址映射关系。

技术实现思路

[0010]随着存储设备的容量增加,为了记录更多的存储单元,FTL表的尺寸随之增加,进而需要占用更大的存储器来容纳FTL表。为了寻址更新的存储单元,FTL表的每个条目的尺寸也需要增加。例如,32比特大小的FTL表条目能寻址2^32个数据单元。若每个数据单元大小为4KB,2^32个数据单元对应16TB存储容量,相应地FTL表自身的大小为16GB,需要占据至少16GB存储器空间。而存储设备具有多种容量,例如,提供给用户的存储设备的容量是例如4TB,那么FTL表自身的大小可以为4GB。然而,为了提供4TB存储空间,若每个数据单元为4KB,那么FTL表需要管理的数据单元数量为2^30个,对应的FTL表的每个条目仅需30比特大小,进而FTL表的大小为30*2^30比特(和3.75GB,小于4GB)。但是,受到存储器芯片与CPU寻址方式的限制,CPU寻址通道以32比特或字节的整数倍为一次寻址的数据宽度,存储器芯片也通常以字节的整数倍为数据宽度。从而若FTL表的条目大小为例如30比特,虽然减少了FTL表的整体大小,但其中跨字节边界的条目却需要例如2次或更多次总线访问或存储器访问才能加载到CPU,从而显著增加了加载FTL表条目的时间,限制了存储设备的性能。
[0011]为了在提供多种容量的存储设备时,减低FTL表占据的存储器空间大小,并且减少或消除非字节对齐的FTL表条目对CPU或芯片内的其他设备访问FTL表条目的影响,根据本申请的实施例,提供了压缩的FTL表。所提供的压缩的FTL表的条目大小可以不是字节的整数倍。并且压缩的FTL表条目在存储器中被紧密排列而无需为按字节对齐而在条目之间留有未被使用的存储器空间。以及根据本申请的实施例还希望CPU或其他设备以其既有方式按字节对齐或按字节整数倍对齐的方式访问FTL表,从而消除因使用压缩的FTL表对CPU或其他设备造成的影响。还希望以硬件加速器处理对FTL表的方法,以分担执行软件访问FTL表为CPU引入的负担并提升FTL表访问性能。
[0012]根据本申请的第一方面,提供了根据本申请第一方面的第一FTL加速器,包括读地址计算单元、读数据选择单元、读地址发送单元与读数据接收单元;读地址计算单元根据要读取的逻辑FTL表的条目的索引(L)计算同要访问的逻辑FTL表的条目对应的物理FTL表的条目的地址,其中逻辑FTL表的条目大小为M比特,物理FTL表的条目大小为N比特,M与N为正整数,且M>N,以及其中逻辑FTL表的条目同物理FTL表的条目本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种FTL加速器,包括读地址计算单元、读数据选择单元、读地址发送单元与读数据接收单元;读地址计算单元根据要读取的逻辑FTL表的条目的索引(L)计算同要访问的逻辑FTL表的条目对应的物理FTL表的条目的地址;读地址计算单元还向读数据选择单元指示从存储器读出的数据中属于要访问的物理FTL表的条目的部分;读数据选择单元根据读地址计算单元指示的从存储器读出的数据中获取属于要访问的物理FTL表的条目的部分,以及扩展要访问的物理FTL表的条目得到要访问的逻辑FTL表的条目。2.根据权利要求1所述的FTL加速器,还包括:读地址缓存单元与读数据缓存单元;读地址缓存单元存储要访问的逻辑FTL表的条目的索引(L);读数据缓存单元存储要访问的逻辑FTL表的条目;读地址计算单元耦合读地址缓存单元,从读地址缓存单元获取索引(L);读数据选择单元把从存储器读出的数据中属于要访问的物理FTL表的条目的部分存储在读数据缓存;读数据缓存中存储的要访问的物理FTL表的条目被扩展为要访问的逻辑FTL表的条目的大小,以得到要访问的逻辑FTL表的条目。3.根据权利要求1或2所述的FTL加速器,其中所述读地址计算单元根据所述索引(L)计算的同要访问的逻辑FTL表的条目对应的物理FTL表的条目的地址,是物理FTL表的存储空间中,以字节地址的第N mod 8比特开始的存储了N比特数据的一个或多个字节的地址。4.根据权利要求1

3之一所述的FTL加速器,其中其中逻辑FTL表的条目大小为M比特,物理FTL表的条目大小为N比特,M与N为正整数,且M>N,以及其中逻辑FTL表的条目同物理FTL表的条目一一对应;若N mod 8为0,则所述读地址计算单元根据所述索引(L)计算的同要访问的逻辑FTL表的条目对应的物理FTL表的条目的地址,为以字节地址的第N mod 8比特开始的个字节的地址;若L*N mod 8不为0,且(N mod 8)

(8

L*N mod 8)<=0,则所述读地址计算单元根据所述索引(L)计算的同要访问的逻辑FTL表的条目对应的物理FTL表的条目的地址,为以字节地址的第N mod 8比特开始个字节的地址;若L*Nmod 8不为0,且(N mod 8)

(8

L*N mod 8)>0,则所述读地址计算单元根据所述索引(L)计算的同要访问的逻辑FTL表的条目对应的物理FTL表的条目的地址,为以字节地址的第N mod 8比特开始个字节的地址。5.根据权利要求1

4之一所述的FTL加速器,其中若N mod 8为0,则读地址计算单元向读数据选择单元指示的从存储器读出的数据中属于要访问的物理FTL表的条目的部分包括以字节地址的第N mod 8比特开始的个字节的地址的完整数据;若L*N mod 8不为0,则读地址计算单元向读数据选择单元指示的从存储器读出的数据
中属于要访问的物理FTL表的条目的部分包括字节地址为L*N/8的字节的第L*N mod 8比特到最后比特;若...

【专利技术属性】
技术研发人员:丁胜涛王祎磊
申请(专利权)人:成都忆芯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1