一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于HBM缓存的SSD固态盘的制作方法

2021-12-07 21:32:00 来源:中国专利 TAG:

一种基于hbm缓存的ssd固态盘
技术领域
1.本发明涉及固态存储领域,具体是一种基于hbm缓存的ssd固态盘。


背景技术:

2.ssd固态盘主要部件包括主控芯片、闪存颗粒、缓存芯片、pcb等。其中,主控芯片控制并管理着所有的闪存颗粒的空间,并决定着数据在闪存颗粒上的具体分布位置。闪存颗粒,提供实际的存储空间,用于存储实际的应用数据。pcb是ssd固态盘的底座,所有芯片以及相关的电子元器件焊接在上面,是固态盘的基础。缓存芯片,在ssd固态盘中是一个特殊的存在,其主要作用是用于存储ftl地址映射表,表示闪存颗粒中单元空间的物理地址与文件系统逻辑地址之间的对应(映射)关系,将主机可以识别的存储空间逻辑地址逐一映射到实际的闪存颗粒的物理地址。
3.缓存芯片是高配置ssd的必配元器件,低配置ssd为了节省成本去除了缓存芯片。在采用缓存芯片的ssd固态盘中,会把ftl映射表完整地放入dram缓存中,并按照闪存颗粒存储空间和dram缓存容量1gb:1mb的比例配置dram缓存容量,有了dram缓存的帮助,在持续的数据读写过程中,固态硬盘的存取性能够保持在一个恒定的水平。只有在数据持续存取过程中恒定读写性能不敏感的应用中,ssd固态盘会把ftl映射表直接写入闪存颗粒,这就可以去除dram缓存芯片,这种方式降低了整盘性能,同时也节省成本。这种配置dram和不配置dram的ssd固态盘,满足了当前大部分的新型应用和传统应用。
4.随着ai和大规模视频数据的兴起,视频数据处理和存储的需求也呈现爆发式增长,在新型数据中心中,待处理的视频数据达到了几千~几十万路,这就推动了视频数据新型处理方式的出现,要求单一计算节点突破传统几十路视频处理能力,达到数百路处理水平。在数百路的视频处理应用中,传统hdd无法满足存储带宽要求;新型nvme ssd存储带宽达到要求,但是持续的高频率并发访问过程中时延也是性能的挑战;同时视频数据的持续写入和读取,使得ssd固态盘持续处于工作状态,没有足够的“空闲时间”处理自身的写放大和垃圾回收问题,最终导致存储性能的下降,使得视频数据出现丢帧。
5.针对ssd读写性能下降的问题,行业内通常的应对措施是在算法、固件层面进行优化,如4k对齐、trim命令、磨损均衡等机制降低写放大。但是这种方式也都属于降低写放大和垃圾回收方案,只能减小ssd性能的下降幅度,不能大幅度提升ssd的数据存取能力、特别是无法降低读写时延。


技术实现要素:

6.针对现有技术的缺陷,本发明提供一种基于hbm缓存的ssd固态盘,在处理写放大、垃圾回收过程中保障了读写带宽恒定、降低了读写时延,较大程度的保证高并发、多路视频数据存取的效率。
7.为了解决所述技术问题,本发明采用的技术方案是:一种基于hbm缓存的ssd固态盘,包括ssd控制器、dram缓存控制器、hbm缓存控制器、nand控制器、dram缓存介质、hbm缓存
介质和nand flash,ssd控制器包括依次相连的pcie主机接口、nvme协议控制器和ftl映射管理器,dram缓存控制器、hbm缓存控制器、nand控制器分别与ftl映射管理器相连,dram缓存介质与dram缓存控制器相连,hbm缓存介质与hbm缓存控制器相连,nand flash与nand控制器相连;pcie主机接口用于ssd固态盘与计算节点的应用进行数据传输;nvme协议控制器用于在计算节点和ssd固态盘之间处理nvme存储协议;ftl映射管理器负责维护逻辑块地址到闪存介质物理块地址的映射关系;dram控制器负责存储处于运行状态的ftl地址映射表、数据读写控制指令,并完成与hbm控制器、nand控制器的数据交互;hbm控制器负责与hbm缓存介质完成数据存取,根据数据的读取、写入位置,与dram控制器进行交互,接收dram控制器发出的数据读取指令、数据写入指令;与nand控制器进行交互,将hbm中的缓存数据写入nand闪存介质,或从nand闪存介质中读取应用数据;nand控制器负责与闪存存储介质层中的nand flash完成数据存取;当启用hbm缓存时,ftl地址映射管理器将数据通过hbm控制器放在hbm缓存介质中;在使用nand闪存介质时,ftl地址映射管理器将数据缓存、log数据通过nand控制器放在nand flash中;当ssd固态盘执行垃圾回收操作时,hbm控制器接收来自nand控制器的数据、完成相关操作后,再发送给nand控制器,从而减少对dram控制器的访问,减少dram控制器处理ftl的中断次数。
8.进一步的,当nand控制器处于繁忙状态或者执行垃圾回收时,采用写回模式和读回模式;写回模式下,ssd控制器将写指令发送到dram控制器,dram控制器将接收的写指令发送到hbm控制器完成地址转换,然后传回至dram控制器更新写指令,写入数据从ssd控制器通过hbm控制器写入hbm缓存介质,写成功;读回模式下,nand控制器采用顺序读方式把大块数据通过hbm控制器读入到hbm缓存介质,ssd控制器通过hbm控制器从hbm缓存介质中读取数据,读成功。
9.进一步的,当nand控制器处于空闲状态或者计算节点要求ssd固态盘保持数据强一致性时,启动写透模式和读透模式;写透模式下,写入数据由ssd控制器到dram控制器,进入dram缓存介质,之后由dram控制器到nand控制器,进入nand闪存介质;读透模式下,读取地址由nand控制器至dram控制器,进入dram缓存介质,之后由dram控制器发送到ftl映射管理器,读取数据由nand控制器直接发送至ssd控制器。
10.进一步的,数据冗余纠错和一致性保护的数据流向为:数据读取方向由nand控制器至hbm控制器,从而进入hbm缓存介质,之后由hbm缓存介质读出至ftl映射管理器,在hbm缓存介质中执行数据对齐、一致性校验、冗余纠错;数据写入方向为新数据到ftl映射管理器分配新地址、废弃旧地址,然后由hbm控制器到nand控制器,落入新地址的nand闪存介质。
11.进一步的,地址映射表数据流向为:地址写方向由nand控制器到dram控制器,地址读方向由dram控制器到nand控制器。
12.本发明所述基于hbm缓存的ssd固态盘还有另外一种实现方式,具体为:包括ssd控制器、hbm缓存控制器、nand控制器、hbm缓存介质和nand flash,ssd控制器包括依次相连的pcie主机接口、nvme协议控制器和ftl映射管理器,hbm缓存控制器、nand控制器分别与ftl映射管理器相连,hbm缓存介质与hbm缓存控制器相连,nand flash与nand控制器相连;
pcie主机接口用于ssd固态盘与计算节点的应用进行数据传输;nvme协议控制器用于在计算节点和ssd固态盘之间处理nvme存储协议;ftl映射管理器负责维护逻辑块地址到闪存介质物理块地址的映射关系;hbm控制器与hbm缓存介质用于缓存数据和存储ftl映射表,根据数据的读取、写入位置,与nand控制器进行交互,将hbm中的缓存数据写入nand闪存介质,或从nand闪存介质中读取应用数据;nand控制器负责与闪存存储介质层中的nand flash完成数据存取。
13.进一步的,当nand控制器处于繁忙状态时,采用写回模式和读回模式;写回模式下,ssd控制器将接收到数据写入hbm缓存介质;读回模式下,nand控制器采用顺序读方式把大块数据读入到hbm缓存介质,ssd控制器通过hbm控制器从hbm缓存介质中读取数据。
14.进一步的,当nand控制器处于空闲状态时,启动写透模式和读透模式;写透模式下,ssd控制器将接收到的数据通过hbm控制器、nand控制器写入到nand闪存介质;读透模式下,ssd控制器根据接收到的数据读指令,通过hbm控制器、nand控制器读取到nand闪存介质中的实际数据,并执行冗余校验后才返回成功。
15.进一步的,数据冗余纠错和一致性保护的数据流向为:数据读取方向由nand控制器、hbm控制器进入hbm缓存介质,之后由hbm缓存介质读出至ftl映射管理器,在hbm缓存介质中执行数据对齐、一致性校验、冗余纠错;数据写入方向为新数据到ftl映射管理器分配新地址、废弃旧地址,然后由hbm控制器到nand控制器,落入新地址的nand闪存介质。
16.进一步的,地址映射表数据流向为:地址写方向由nand控制器到hbm控制器,地址读方向由dram控制器到nand控制器。
附图说明
17.图1为实施例1的原理框图;图2为实施例2的原理框图。
具体实施方式
18.下面结合附图和具体实施例对本发明作进一步的说明。
19.在ai和大规模短视频的应用环境中,单个计算节点承载数百路高速视频数据的持续写入,既需要大带宽、高并发,还需要低时延。当前nvme ssd产品相对于sata ssd和hdd,大幅度提升了读写带宽、iops性能,但是io时延下降幅度不多。进一步分析ssd构造,发现决定io时延因素在于主机接口类型,如sata接口、pcie接口;ftl的更新速度,如位于缓存、nand闪存;数据写入nand的类型,如slc、mlc、tlc、qlc。主机接口类型、nand闪存的类型决定着固态盘的成本,在性能和时延方面基本没有优化的幅度。ftl放置在dram缓存之后,在算法层优化性能和时延的幅度较小;在持续的多并发写入和读取的ai视频业务中,大量的读写请求开始堆积并等待nand flash处理读写操作,无法及时处理的视频读写请求则出现丢帧。在多路视频处理时,一旦出现大量丢帧,应用层则考虑增加更多的计算节点(服务器);在ssd层会发现写操作频繁,但尚未达到固态盘的性能上限,通常会配置更多ssd固态盘。这两种方式都是在保证已写入数据可靠的前提下采取的解决方案。
20.鉴于dram缓存在数据存取操作中的优异表现,计算节点(服务器)维度通常配置大容量缓存,保证网络上的大量视频数据能够接收到本地,然后写入本地hdd机械盘或ssd固态盘。为了保障ssd固态盘能够以恒定的速率接收持续写入和读取的数据流,也有厂商增加了ssd固态盘中dram缓存的容量,除了承担ftl数据,也缓存一部分主机写入的应用数据,这种方式提升了ssd固态盘接收数据的效率。但是受限于ssd固态盘的尺寸,增加dram芯片的数量,将抢占ssd固态盘中nand闪存的空间,减小了整盘的容量,同时需要配置更大容量的电容器件,增加了不稳定风险。
21.具备高速、大容量特点hbm缓存,是一种利用tsv通孔技术堆叠dram的新型封装形式。多片dram芯片堆叠形成的hbm缓存,在处理和缓存视频数据方面具备良好的表现,其平面的物理尺寸没有显著增加,能够满足ssd固态盘大容量缓存的性能、容量、尺寸需求,而且其突出的容量优势可以在ssd固态盘中作为应用数据的缓存。
22.基于此,本发明提出了一种基于hbm缓存的ssd固态盘,有两种实现方式,分别是实施例1所述基于hbm和dram混合缓存的ssd固态盘和实施例2所述基于hbm缓存的ssd固态盘。
23.实施例1所述基于hbm和dram混合缓存的ssd固态盘,采用dram方式处理ftl地址映射表信息,采用大容量、高速hbm缓存处理应用数据以及在持续写入过程中执行数据垃圾回收操作,可以减少dram的读写压力,保障了ftl地址数据的更新效率,同时提升了应用数据的处理效率,加快了垃圾回收过程中的数据搬迁速度,降低了写放大对整盘性能的影响,相比传统ssd固态盘具备了更强大的接收数据能力。以8tb ssd为例,其ftl所需缓存的容量为8gb,采用ddr缓存芯片,作为其ftl地址映射表的存储空间;同时配置大容量hbm2e缓存(容量16gb~64gb),1片hbm2e芯片即可满足容量和性能要求,当增加到4片时,缓存总容量达到64gb,多余的缓存容量即可承担9s (64gb/ 7gb/s = 9.14s)以上的数据写入或读取“余量”,极大地提升了ssd固态盘的数据接收能力,完全屏蔽了nand闪存的读写时延问题。
24.实施例2所述基于hbm缓存的ssd固态盘,相比普通的ssd固态盘具备了更强大的接收数据能力。以8tb ssd为例,其ftl所需缓存的容量为8gb,以ddr4.0缓存芯片,则需要贴4片dram芯片;如果采用单芯片最大容量16gb的hbm2e时,1片hbm2e芯片即可满足容量和性能要求,当增加到4片时,缓存总容量达到64gb,多余的缓存容量即可承担8s ((64gb

8gb)/ 7gb/s = 8s)以上的数据写入或读取“余量”,极大地提升了ssd固态盘的数据接收能力,而且可以屏蔽nand闪存的读写时延问题。
25.实施例1本实施例公开一种基于hbm和dram混合缓存的ssd固态盘,如图1所示,包括ssd控制器、dram缓存控制器、hbm缓存控制器和nand控制器、dram缓存介质、hbm缓存介质和nand flash。
26.ssd控制器包括依次连接的pcie接口、nvme协议控制器、ftl映射管理器,nand控制器、dram控制器、mram控制器分别与ftl映射管理器相连,dram缓存介质、hbm缓存介质为外置缓存,dram缓存介质与dram缓存控制器相连,hbm缓存介质与hbm缓存控制器相连,nand flash与nand控制器相连。
27.各部分的组成及作用为:pcie主机接口用于与计算节点(服务器)的应用进行数据传输;nvme协议控制器用于在计算节点和ssd固态盘之间处理nvme存储协议,完成协议
的会话识别、会话控制、数据包的读、数据包写等命令解析,并完成与dram控制器、hbm控制器、nand控制器的会话管理、数据传输指令。
28.ftl地址映射管理器负责维护逻辑块地址lba到闪存介质物理块地址pba地址映射关系。ftl地址映射管理器将映射表、数据缓存通过dram控制器放在外置dram介质中;当启用hbm缓存时,ftl地址映射管理器将数据通过hbm控制器放在外置hbm缓存介质中;在使用nand闪存介质时,ftl地址映射管理器将数据缓存、log数据通过nand控制器放在外置nand中;当ssd固态盘执行垃圾回收操作时,hbm控制器接收来自nand控制器的数据、完成对齐等操作后,再发送给nand控制器,此过程减少了对dram控制器的访问,减少了dram控制器处理ftl的中断次数。
29.dram控制器包括dram冗余纠错模块及dram介质接口模块,负责存储处于运行状态的ftl地址映射表、数据读写控制指令,并完成与hbm控制器、nand控制器的数据交互。
30.hbm控制器包括hbm ecc单元及hbm接口,负责与外置缓存介质层中的外置hbm完成数据存取,其中hbm ecc单元采用冗余纠错算法进行数据冗余纠错保护。根据数据的读取、写入位置,与dram控制器进行交互,接收dram控制器发出的数据读取指令、数据写入指令;与nand控制器进行交互,将hbm中的缓存数据写入nand闪存介质,或从nand闪存介质中读取应用数据。
31.nand控制器包括nand 冗余纠错模块及nand介质接口模块,负责与闪存存储介质层中的外置nand完成数据存取,其中nand 冗余纠错模块采用行业通用的ldpc纠错算法和raid纠错算法,对应用数据块进行冗余保护。
32.应用数据和log数据流向为,数据写入方向由pcie主机接口、经nvme协议控制器、根据ftl地址映射管理器,经路径

到dram控制器,进入dram缓存介质,并根据是否要写透,经路径

到nand控制器,进入nand闪存介质。数据读取方向由nand控制器经路径

到dram控制器,进入dram缓存介质,经路径

到ftl映射管理器;并根据是否读透,由nand控制器经路径直接进入ftl映射管理器。这种方式是标准的ssd盘的数据流向。
33.根据nand控制器的繁忙程度,控制应用数据的读写模式,当nand控制器比较繁忙或执行垃圾回收时,采用写回模式。数据写入方向由ssd控制器接收数据,写指令经路径

到dram控制器,经路径完成hbm控制器地址转换,并经路径更新写指令到dram控制器,写入数据通过路径写入hbm缓存介质即表示写成功。读回模式时,数据读取方向由nand控制器采用顺序读方式把大块数据经路径读入到hbm控制器进入hbm缓存介质,ssd控制器通过hbm控制器经路径从hbm缓存介质中读取数据即表示成功。通过大容量、高速hbm缓存介质,完成大批量数据的写入、读取,减少了nand控制器处理访问操作的中断次数,可以显著提升数据的读写性能。
34.当计算节点要求ssd固态盘保持数据强一致性时,启动写透模式,数据流向与标准的ssd固态盘完全一致;当启动读透模式时,数据流与标准的ssd固态盘完全一致。
35.数据冗余纠错和一致性保护的数据流向:数据读取方向由nand控制器经路径到外置hbm控制器,进入hbm缓存介质,经路径到ftl映射管理器;在hbm缓存介质中执行数据对齐、一致性校验、冗余纠错;数据写入方向将新数据经路径到ftl映射管理器、分配新地
址、废弃旧地址,然后经路径到nand控制器,落入新地址的nand闪存介质。
36.地址映射表数据流向为,地址写方向由nand控制器经路径

到dram控制器;地址读方向由dram控制器经路径

到nand控制器。
37.本实施例所述ssd固态盘的有益效果为:1、ftl地址映射数据的存储和处理方式没有变化,但提升了处理效率。本发明中依然采用dram控制器和dram介质,但是减少了数据读取和写入操作对dram控制器的访问频率,减少了dram控制器的中断次数,使得dram全部的资源用于处理ftl地址映射信息。
38.2、高性能、大容量hbm作为数据读写缓冲器,降低了整盘整体时延,保障了更稳定的数据读写速度。将高性能、大容量hbm缓存替换dram作为数据缓存介质,应用数据先落入hbm缓存再写入nand闪存介质,更好地规避nand闪存介质在数据写入和读取过程中的读写冲突,减少读、写并发时nand控制器的并行压力,保证了ssd控制器整体低时延,提升了读写带宽。
39.3、减少nand写放大对ssd整盘性能的影响,传统的ssd固态盘中数据的冗余纠错和一致性校验操作,依赖于ssd控制器将碎片数据从一个nand搬移到另外一个nand,nand控制器负载高、压力大,对整体读写性能影响大。采用大容量的hbm缓存,碎片数据直接进入hbm缓存,传输速度快、纠错速度快,大容量的缓存可以等待nand控制器排队写入,对ssd整盘读写性能影响小。
40.4、基于hbm大容量、高速缓存的ssd固态盘实现方案,如果要达到传统ssd同样的数据掉电保护效果,需要配置更大容量的电容或依赖于整机的掉电保护机制。
41.实施例2本实施例公开一种基于hbm缓存的ssd固态盘,充分利用了视频处理缓存芯片的大容量、高性能、低时延特点,有针对性的降低ssd主控芯片和固态盘读写时延,加速视频数据存取性能,保障了应用数据的接收和存储质量。如图2所示,包括ssd控制器、hbm缓存控制器和nand控制器、nand flash和hbm缓存介质,ssd控制器包括依次连接的pcie接口、nvme协议控制器、ftl映射管理器,hbm缓存控制器和nand控制器分别与ftl映射管理器相连,hbm缓存介质连接hbm缓存控制器,nand flash连接nand控制器。
42.各部分的构成和作用为:pcie主机接口用于与计算节点(服务器)的应用进行数据传输;nvme协议控制器用于在计算节点和ssd固态盘之间处理nvme存储协议,完成协议的会话识别、会话控制、数据包的读、数据包写等命令解析,并完成与hbm控制器、nand控制器的会话管理、数据传输指令。
43.ftl地址映射管理器负责维护逻辑块地址lba到闪存介质物理块地址pba地址映射关系。在使用外置hbm缓存介质时,ftl地址映射管理器将映射表、数据缓存通过hbm控制器放在外置hbm介质中;在使用nand闪存介质时,ftl地址映射管理器将数据缓存、log数据通过nand控制器放在外置nand中。
44.nand控制器包括nand 冗余纠错模块及nand介质接口模块,负责与闪存存储介质层中的外置nand完成数据存取,其中nand 冗余纠错模块采用行业通用的ldpc纠错算法和raid纠错算法,对应用数据块进行冗余保护。
45.hmb控制器包括hbm ecc单元及hbm接口,负责与外置缓存介质层中的外置hbm完成
数据存取,其中hbm ecc单元采用冗余纠错算法进行数据冗余纠错保护。根据数据的读取、写入位置,与nand控制器进行交互,将hbm中的缓存数据写入nand闪存介质,或从nand闪存介质中读取应用数据。
46.应用数据和log数据流向为,数据写入方向由pcie主机接口、经nvme协议控制器、根据ftl地址映射管理器,经路径

到hbm控制器,进入hbm缓存介质,并根据是否要写透,经路径

到nand控制器,进入nand闪存介质。数据读取方向由nand控制器经路径

到外置hbm控制器,进入hbm缓存介质,经路径

到ftl映射管理器;并根据是否读透,由nand控制器经路径直接进入ftl映射管理器。
47.根据nand控制器的繁忙程度,可以控制应用数据的读写模式,当nand控制器比较繁忙时,采用写回模式(ssd控制器将接收到的数据写入hbm缓存介质即表示写成功)和读回模式(nand控制器采用顺序读方式把大块数据读入到hbm缓存介质,ssd控制器通过hbm控制器从hbm缓存介质中读取数据即表示成功);当nand控制器空闲时,才会用写透模式(ssd控制器将接收到的计算节点数据,通过hbm控制器、nand控制器写入到nand闪存介质即表示写成功)和读透模式(ssd控制器将接收到的数据读指令,通过hbm控制器、nand控制器读取到nand闪存介质中的实际数据,并执行冗余校验后才返回成功)。
48.数据冗余纠错和一致性保护的数据流向:数据读取方向由nand控制器经路径

到外置hbm控制器,进入hbm缓存介质,经路径

到ftl映射管理器;在hbm缓存介质中执行数据对齐、一致性校验、冗余纠错;数据写入方向将新数据经路径

到ftl映射管理器、分配新地址、废弃旧地址,然后经路径

到nand控制器,落入新地址的nand闪存介质。
49.地址映射表数据流向为,地址写方向由nand控制器经路径

到hbm控制器;地址读方向由hbm控制器经路径

到nand控制器。
50.本实施例所述固态盘的有益效果为:数据写入和读取速度快:缓存容量大、速度高,既可以作为ftl地址映射表的存储空间,也可以作为应用数据的缓存空间(数据写入hbm中,比落入nand中速度快),还能作为数据冗余纠错和一致性校验过程中的数据缓存空间(hbm中数据处理速度比nand中处理速度快)。
51.作为数据读写缓冲器,降低整体时延,保障更稳定的数据i/o速度。将hbm缓存替换dram,应用数据先落入hbm缓存然后再写入nand闪存介质,更好地规避nand闪存介质在数据写入和读取过程中的读写冲突,减少读、写并发时nand控制器的并行压力,保证了ssd控制器整体低时延。
52.减少nand写放大对ssd整盘性能的影响,传统的ssd固态盘中数据的冗余纠错和一致性校验操作,依赖于ssd控制器将碎片数据从一个nand搬移到另外一个nand,nand控制器负载高、压力大,对整体读写性能影响大。采用大容量的hbm缓存,碎片数据直接进入hbm缓存,传输快速快、纠错处理速度快,大容量的缓存可以等待nand控制器排队写入,对ssd整盘读写性能影响小。
53.节省物理空间,一颗大容量的hbm缓存(16gb)相当于八颗普通的dram缓存(2g),一片16tb的ssd固态盘可以节省7片dram芯片空间,减少了pcb面积,同时提升了固态盘中nand闪存介质的数量,扩大了固态盘的存储空间。
54.基于hbm大容量、高速缓存的ssd固态盘实现方案,如果要达到传统ssd同样的数据
掉电保护效果,需要配置更大容量的电容或依赖于整机的掉电保护机制。
55.以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献