固态存储设备及写/读数据的方法技术

技术编号:35578212 阅读:12 留言:0更新日期:2022-11-12 16:03
本申请涉及固态存储设备领域,尤其涉及一种固态存储设备及写/读数据的方法,包括:逻辑地址空间和物理地址空间;将逻辑地址空间按照预定大小划分为若干逻辑块,将所有逻辑块按照预定的规律划分为不同的逻辑分区;将物理地址空间的多个物理D I E合并为一个物理分区,一个物理分区与一个LUN相映射;物理地址空间对应的LUN索引为逻辑分区索引和物理分区索引确定,逻辑分区索引由逻辑地址空间的逻辑地址确定,物理分区索引由物理地址空间的物理D I E确定。本申请可以限制大容量存储设备的FTL表的指数级增大,从而缩短了大容量存储设备异常掉电的恢复时间。掉电的恢复时间。掉电的恢复时间。

【技术实现步骤摘要】
固态存储设备及写/读数据的方法


[0001]本申请涉及固态存储设备领域,尤其涉及一种固态存储设备及写/读数据的方法。

技术介绍

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

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

programmable gate array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理主机IO命令。控制部件104还耦合到DRAM 110,并可访问DRAM 110的数据。在DRAM可存储FTL表和/或缓存的主机IO命令的数据。
[0004]控制部件104包括闪存接口控制器(或称为闪存通道控制器)。闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。NVM芯片105的接口协议包括“Toggle”、“ONFI”等公知的接口协议或标准。
[0005]存储器目标(Target)是NAND闪存封装内的共享芯片使能(CE,Chip Enable)信号的一个或多个逻辑单元(LUN,Logic UNit)。每个逻辑单元具有逻辑单元号(Logic UnitNumber)。NAND闪存封装内可包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_
0Gold.ashx获得的“Open NAND Flash Interface Specification(Revision 3.0)”中,提供了关于目标(target)、逻辑单元、LUN、平面(Plane)的含义,其为现有技术的一部分,后文出现的LUN均表示逻辑单元的简称。
[0006]固态存储设备中包括多个NVM芯片。每个NVM芯片包括一个或多个物理管芯(DIE)或逻辑单元(LUN,Logic UNit)。管芯或逻辑单元之间可以并行响应读写操作。在同一管芯或逻辑单元上的多个读、写或擦除操作顺序执行。
[0007]存储介质上通常按页来存储和读取数据。而按块来擦除数据。块包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。物理页中可以包括多个数据帧(data frame),数据帧具有指定的尺寸,例如4096或4416字节。
[0008]SSD固件在运行时需要利用FTL(Flash Translation Layer,闪存转换层)来维护逻辑地址(LBA,32位)和物理地址(PBA,32位)的映射关系,逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间,物理地址是用于访问固态存储设备的物理存储单元的地址。这张FTL映射关系表保存在SSD的DRAM中。由于DRAM属于易失性存储,设备掉电以后映射表会丢失,所以需要固件在重新上电后恢复此映射表,以保证原始用户数据不会丢失。当发生意外断电时,由电源管理单元120管理备用电源125向存储设备提供临时的电能,用于备份元数据以及处理尚未完成的命令。备用电源125包括超级电容、铝电容、钽聚合物电容、锂电池等。
[0009]现有技术中,在固态存储设备的每个物理页中附加地存储该物理页所对应的逻辑地址。在固态存储设备启动时,需要访问所有物理页,以获得每个物理页所对应的逻辑地址,在DRAM中重建FTL表。
[0010]SSD的存储介质是闪存,而闪存技术随着3D堆叠技术的发展,容量密度也在不断提升,例如基于176层闪存堆叠技术的SSD,单盘可以实现32TB甚至更大容量。而FTL表的大小和SSD的容量成正比,所以SSD大容量的同时会带来一个问题,那就是FTL表会更大,例如32TB的SSD对应FTL表的大小约为32GB。
[0011]逻辑地址LBA和物理地址PBA分别为32位,将FTL表划分为64份(64个数据流),当某一份数据流上对应的逻辑地址有新的写命令发生时,固件会记录日志,每一份数据流都有自己独立的更新日志。固件在恢复映射表时,可以利用多个CPU并发操作,按照日志记录的先后顺序,以打补丁的方式恢复各个数据流。
[0012]随着SSD容量的增大,需要管理的逻辑地址和物理地址也随之增多。以32TB的SSD为例,固件内部管理的逻辑地址以4KB为单位,即每个固件内部逻辑地址管理一个4K大小的数据,32位逻辑地址最多能管理4G*4K=16TB的数据,如需管理32TB数据,32位的逻辑地址已经不能满足需本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固态存储设备,其特征在于,包括:逻辑地址空间和物理地址空间;将逻辑地址空间按照预定大小划分为若干逻辑块,将所有逻辑块按照预定的规律划分为不同的逻辑分区;将物理地址空间的多个物理DIE合并为一个。2.根据权利要求1所述的固态存储设备,其特征在于,每个逻辑分区由独立的CPU管理。3.根据权利要求1或2所述的固态存储设备,其特征在于,将逻辑分区索引作为物理地址的最高有效位,将物理分区LUN索引作为物理地址的次高有效位;将计算得到的LUN索引在物理地址中覆盖物理分区LUN索引,并将物理地址中逻辑分区索引所占用的比特位设置为物理地址的无效位。4.根据权利要求3所述的固态存储设备,其特征在于,16TB SSD的物理地址PBA的0

22位记录的是块
×
页,16TB SSD的物理地址PBA的23

25位记录的是数据帧索引,16TB SSD的物理地址PBA的26

31位记录的是LUN索引。5.根据权利要求3所述的固态存储设备,其特征在于,32TB SSD的物理地址PBA的0
‑‑
22位记录的是块
×
页,32TB SSD的物理地址PBA的23

26位记录的是数据帧索引,32TB SSD的物理地址PBA的27

31位记录的是LUN索引。6.根据权利要求1或2所述的固态存储设备,其特征在于,还包括:FTL表;FTL表被划分为多个数据流并发单元,每个数据流并发单元中包含有多个数据流,一个数据流并发单元中的所有数据流在一个CPU上被...

【专利技术属性】
技术研发人员:刘琰孙宝勇居颖轶李德领卢诗怡袁戎
申请(专利权)人:北京忆恒创源科技股份有限公司
类型:发明
国别省市:

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

1