一种L2P加速器制造技术

技术编号:39327767 阅读:6 留言:0更新日期:2023-11-12 16:05
本申请涉及L2P加速器,该加速器包括:写通道和读通道,读通道响应于接到一个或多个第一读命令,根据每个第一读命令生成一个或多个第二读命令;根据每个第一读命令所对应的全部第一响应数据确定出每个第一读命令所指示的L2P表条目,将每个第一读命令所对应的L2P表条目发送给主设备;写通道响应于接收到一个或多个写命令,根据每个写命令获取其对应的地址索引和L2P表条目;以及根据地址索引以及L2P表条目的有效数据位数确定出每个写命令所对应的一个或多个存储器地址和其L2P表条目的有效数据第一比特在存储器中的位置;根据每个写命令所对应的一个或多个存储器地址以及第一比特的位置将L2P表条目的有效数据写入到存储器中。位置将L2P表条目的有效数据写入到存储器中。位置将L2P表条目的有效数据写入到存储器中。

【技术实现步骤摘要】
一种L2P加速器


[0001]本申请一般地涉及存储器领域。更具体地,本申请涉及一种L2P加速器。

技术介绍

[0002]图1展示了固态存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如 SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI(Small Computer SystemInterface,小型计算机系统接口)、SAS(Serial Attached SCSI,串行连接SCSI)、IDE(IntegratedDrive Electronics,集成驱动器电子)、USB(Universal Serial Bus,通用串行总线)、PCIE(PeripheralComponent Interconnect Express,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102(下文中,将固态存储设备简称为存储设备)包括接口103、控制部件104、一个或多个NVM芯片105以及DRAM (Dynamic Random Access Memory,动态随机访问存储器)110。
[0003]上述NVM芯片105包括NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(Magnetic Random Access Memory,磁阻存储器)、RRAM(Resistive Random AccessMemory,阻变存储器)等是常见的存储介质。
[0004]上述接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
[0005]上述控制部件104用于控制在接口103、NVM芯片105以及DRAM 110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA (Field

programmable gate array,现场可编程门阵列)、ASIC(Application Specific IntegratedCircuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以包括存储控制器,该存储控制器用于耦合到DRAM 110,并可访问DRAM 110的数据。
[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]随着存储设备的容量增加,为了记录更多的存储单元,L2P表的尺寸随之增加,进而需要占用更大的存储器来容纳L2P表。为了寻址更新的存储单元,L2P表的每个条目的尺寸也需要增加。例如,32比特大小的L2P表条目能寻址2^32(4G)个数据单元。若每个数据单元大小为4KB, 2^32个数据单元对应16TB存储容量,相应地L2P表自身的大小为16GB(4Bx4G=16GB,一个条目4个B,共4G个条目,16GB),需要占据至少16GB存储器空间。而存储设备具有多种容量,例如,提供给用户的存储设备的容量是例如4TB,那么L2P表自身的大小可以为4GB。然而,为了提供4TB存储空间,若每个数据单元为4KB,那么就是1G个单元,2的30次方就够了,那么L2P表需要管理的数据单元数量为2^30个,对应的L2P表的每个条目仅需30比特大小,进而 L2P表的大小为30*2^30比特(和3.75GB,小于4GB)。但是,受到存储器芯片与CPU寻址方式的限制,CPU寻址通道以32比特或字节的整数倍为一次寻址的数据宽度,存储器芯片也通常以字节的整数倍为数据宽度。从而若L2P表的条目大小为例如30比特,虽然减少了L2P表的整体大小,但其中跨字节边界的条目却需要例如2次或更多次总线访问或存储器访问才能加载到 CPU,从而显著增加了加载L2P表条目的时间,限制了存储设备的性能。
[0011]为了在提供多种容量的存储设备时,减低L2P表占据的存储器空间大小,并且减少或消除非字节对齐的L2P表条目对CPU或芯片内的其他设备访问L2P表条目的影响,通常提供了压缩的 L2P表。所提供的压缩的L2P表的条目大小可以不是字节的整数倍。并且压缩的L2P表条目在存储器中被紧密排列而无需为按字节对齐而在条目之间留有未被使用的存储器空间。但是为了消除因使用压缩的L2P表对CPU或其他设备造成的影响,通常CPU或其他设备还以其既有方式按字节对齐或按字节整数倍对齐的方式访问L2P表。

技术实现思路

[0012]随着存储设备的容量增加,为了记录更多的存储单元,L2P表的尺寸随之增加,进而需要占用更大的存储器来容纳L2P表。为了寻址更新的存储单元,L2P表的每个条目的尺寸也需要增加。例如,32比特大小的L2P表条目能寻址2^32(4G)个数据单元。若每个数据单元大小为4KB, 2^32个数据单元对应16TB存储容量,相应地L2P表自身的大小为16GB(4KBx4G=16GB,一个条目4KB,共4G个条目,16GB),需要占据至少16GB存储器空间。而存储设备具有多种容量,例如,提供给用户的存储设备的容量是例如4TB,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种L2P加速器,用于耦合主设备与存储器,并加速对所述主设备发出的对所述存储器中的L2P表的读命令与写命令的处理,其特征在于,包括:写通道和读通道,其中,所述读通道响应于从主设备接到一个或多个第一读命令,根据每个第一读命令生成一个或多个第二读命令;响应于从存储器接收到每个第二读命令的第一响应数据,根据每个第一读命令所对应的全部第一响应数据确定出每个第一读命令所指示要读取的L2P表条目,将每个第一读命令所对应的L2P表条目以及第一协议信息作为对该第一读命令的响应发送给所述主设备;所述写通道响应于从主设备接收到一个或多个写命令,根据每个写命令获取其对应的地址索引和L2P表条目;以及根据每个写命令所对应的地址索引以及L2P表条目的有效数据位数确定出每个写命令所对应的一个或多个存储器地址和其L2P表条目的有效数据第一比特在存储器中的位置;根据每个写命令所对应的一个或多个存储器地址以及其第一比特在存储器中的位置将其对应的L2P表条目的有效数据写入到存储器中。2.根据权利要求1所述的加速器,其特征在于,所述读通道还响应于所述一个或多个写命令中存在第一写命令,其中,第一写命令所指示的第一L2P表条目的有效数据非字节对齐和/或第一L2P表条目的有效数据中第一比特不位于存储器中其对应的存储单元的起始位置,根据第一写命令所对应的存储器地址生成一个或多个第三读命令,并将一个或多个第三写命令发送给存储器;所述写通道响应于接收到所述存储器所反馈的所有第三读命令的第二响应数据,根据第一L2P表条目的有效数据中第一比特在存储器中的位置将所述有效数据与所述第二响应数据中的部分数据组合得到第一数据;根据缓存中所存储的第二协议信息以及所述第一数据生成第二数据,将所述第二数据发送给所述存储器。3.根据权利要求1或2所述的加速器,其特征在于,所述一个或多个写命令存在第二写命令和第三写命令,其中,所述第二命令指示第二L2P表条目,第三写命令指示第三L2P表条目,所述第二L2P表条目与第三L2P表条目为L2P表中不同的条目;所述写通道响应于所述第二L2P表条目与所述第三L2P表条目能拼接,将第二L2P表条目的有效数据与第三L2P表条目的有效数据进行拼接得到一份或多份拼接后的数据,将拼接后的数据写入到存储器中。4.根据权利要求3所述的加速器,其特征在于,所述读通道根据第二写命令所对应的一个或多个存储器地址生成一个或多个第四读命令;所述写通道响应于接收到存储器所反馈的所有第四读命令的第三响应数据;将所述第三响应数据与所述拼接后的数据进行组合得到第三数据,将所述第三数据以及第二协议信息发送给存储器;或所述读通道根据第三写命令所对应的一个或多个存储器地址生成一个或多个第五读命令;所述写通道响应于接收到存储器所反馈的所有第五读命令的第四响应数据;将所述第四响应数据与所述拼接后的数据进行组合得到第四数据,将所述第四数据以及第二协议信息发送给存储器。5.根据权利要求4所述的加速器,其特征在于,响应于第二写命令有对应的一个或多个第四读命令,第三写命令有对应的一个或多个第五读命令,所述写通道响应于接收到所述第三响应数据和所述第四响应数据,将所述拼接后的数据与所述第三响应数据和所述第四响应数据进行组合得到第五数据,将所述第五数据以及第二协议信息发送给存储器。
6.根据权利要求3

5任一项所述的加速器,其特征在于,所述写通道响应于所述第二L2P表条目与所述第三L2P表条目不能拼接,且一个或多个第四读命令与一个或多个第五读命令所指示的存储器地址不冲突,将所述第二L2P表条目的有效数据与所述第三L2P表条目的有效数据并行写入到存储器中。7.根据权利要求6所述的加速器,其特征在于,所述写通道响应于一个或多个第四读命令与一个或多个第五读命令所指示的存储器地址存在冲突,将所述第二L2P表条目的有效数据写入到所述存储器中之后,再向所述存储器发出一个或多个第五读命令;或者将所述第三L2P表条目的有效数据写入到所述存储器中之后,再所述存储器发出一个或多个第四读命令。8.根据权利要求7所述的加速器,其特征在于,所述写通道响应于一个或多个第四读命令与一个或多个第五读命令所指示...

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

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

1