一种面向FDPSSD的回收单元并行区域划分与调度方法

摘要: 本发明涉及计算机存储,进一步聚焦固态硬盘(ssd)性能优化方向,尤其针对灵活数据放置固态硬盘(fdpssd)资源调度和空间管理问题,提出一种面向fdpssd的回...
一种面向FDPSSD的回收单元并行区域划分与调度方法

本发明涉及计算机存储,进一步聚焦固态硬盘(ssd)性能优化方向,尤其针对灵活数据放置固态硬盘(fdp ssd)资源调度和空间管理问题,提出一种面向fdp ssd的回收单元并行区域划分与调度方法。

背景技术:

1、随着高性能计算、图像识别、ai训练推理等新兴技术的快速迭代,ai-infra领域得以快速发展。其中,存储系统的性能与并发能力已经成为制约ai算力高效释放的核心瓶颈。与传统互联网应用相比,ai业务带来了热数据的爆发增长,对存储介质的iops、吞吐量、延迟提出了严苛要求,ssd凭借其性能与成本的综合优势,已成为企业级ai存储系统的核心部分。通过挖掘ssd并行性能,以提升吞吐量成为解决ai场景下存储困境的一种解决方案。然而,如传统ssd的并行性能虽得以通过多种机制得到优化,但waf也因为gc频繁触发和大量数据搬移而急剧飙升,造成性能衰减最终影响寿命;分区命名空间(zns)数据放置策略ssd虽通过分区隔离机制优化并行调度逻辑,但施加了强制数据顺序写入约束,使得主机端需要深度重构数据模式和软件栈,兼容性低且改造成本高,难以适配ai业务快速迭代的灵活需求。

2、新兴灵活数据放置技术(flexible data placement,fdp)的出现为上述问题提出了突破性的解决方案。fdp技术能够在不颠覆现有nvme生态的基础上实现主机与存储设备的深度协同,简化生态集成,具备良好的向后兼容性。然而,fdp ssd以回收单元(ru)作为基本管理单位,其粒度大小直接影响空间管理精度与并行效率。ru容量越大,并行吞吐能力更强,但易导致数据混合使waf飙升;反之,ru容量越小,虽具备更细致的数据隔离能力,但限制了并行性能。因此,基于fdp架构下并行性优化核心在于细粒度ru的数据隔离优势与并行性受限之间的矛盾,但是,现有商用产品采用写死的内部结构和策略与不透明的硬件行为直接导致fdp ssd并行性研究进展缓慢。

3、上述问题在现有研究中缺乏有效的解决方案,不同存储厂商的fdp ssd产品表现差异巨大导致现有硬件的并行性能参差不齐。因此,通过前期调研与文献梳理,不难发现目前对fdp ssd并行性优化研究存在三方面的并行局限性,具体阐述如下:

4、1. ru粒度大小直接影响并行资源利用效率,细粒度ru并行性能受限。细粒度ru虽可实现精细化的空间管理,但易导致并行通道利用率不足。反之,粗粒度ru具备大尺寸区域映射更多的闪存块,能实现更高的区域内部并行性并提升吞吐量,但粗粒度ru空间会导致不同生命周期、数据热度的数据混入在一个ru中,失去fdp架构下的优化效果,甚至退化为无fdp的水平。

5、2. 缺乏ru间内部闪存块之间协同并行调度机制。fdp架构虽允许多个ruh并发写入,但ru之间、ru内部闪存块之间缺乏协同的并行调度机制,易引发资源竞争与i/o干扰。忽略ru间协同、ru内并行调度机制也无法充分挖掘fdp ssd的并行性能。

6、3. 缺乏适配fdp架构的并行性优化研究。设备级并行性优化是提升ssd性能的关键方向,对于目前fdp ssd并行性优化研究存在大量空白并且现有研究的并行性优化策略无法直接适配fdp ssd架构的现状,亟需适配fdp架构的解决方案。

7、为此,本发明提出一种面向fdp ssd的回收单元并行区域划分与调度方法,对现有并行性优化策略无法充分挖掘fdp ssd内部多级并行潜力、导致资源利用不均与吞吐性能受限的问题,研究结合设备并行架构与负载特征的并行调度机制,实现并行资源的高效利用与性能指标的协同提升。本发明主要关注细粒度ru下的并行调度策略,设计ru级并行区域分配模块以重构原生ru分配方式,并进一步设计ru级并行区域写入模块,充分挖掘ru间并行潜力,增强整体并行处理能力。

8、经过检索,申请公开号cn121070287a,一种nvme固态硬盘的调度方法、装置、数据处理器和设备,涉及数据处理器技术领域。包括:接收创建虚拟块设备的请求,分配满足要求的目标nvme固态硬盘;若目标nvme固态硬盘支持fdp功能,从目标nvme固态硬盘的放置标识符列表中,选择待分配的多个放置标识符,根据多个放置标识符和逻辑区块地址段,创建支持fdp功能的虚拟块设备;若目标nvme固态硬盘不支持fdp功能,创建不支持fdp功能的虚拟块设备。通过上述方式,数据处理器将dpu侧物理nvme ssd的fdp能力透明地映射并暴露给前端虚拟块设备,使得主机侧可在虚拟块设备上正确使用fdp技术,实现与物理盘能力一致的数据放置控制。

9、先前专利专利聚焦于在虚拟化场景下,如何将物理nvme ssd的fdp能力透明传递给虚拟机,解决的是主机侧如何感知和使用fdp的接口与适配问题,未涉及:1)fdp架构下的内部资源调度与并行性挖掘,2)ru粒度策略在不同负载下的性能差异,3)ru粒度对性能的多维度影响。本发明针对fdp ssd内部如何合理划分ru并行组并依据负载动态调度,1)提出ru级并行区域划分机制,基于回收组(rg)进行硬件分层分组,构建具备完全并行性的并行ru组(rug),且强制约束rug仅在单一rg内部构建,避免跨rg带来的硬件冲突,从底层保证并行写入的物理可行性;2)提出ru级并行区域分配机制,按数据热度建立ru句柄(ruh)与rug的绑定关系,实现热冷i/o请求的差异化并行资源分配,使ru粒度策略能够动态适配负载特征,减少写放大和gc干扰;3)设计ru级并行写入机制,实现ru间并行写入横向扩展带宽与单ru内多晶圆底层并行读写纵向提升单ru吞吐。

技术实现思路

1、针对现有技术无法适配fdp架构、未考虑固定ru粒度策略在不同负载影响下差异显著以及评价ru粒度对性能的影响仅考虑单维度指标的问题,本发明提出一种面向fdpssd的回收单元并行区域划分与调度方法。本发明的技术方案如下:

2、一种面向fdp ssd的回收单元并行区域划分与调度方法,其包括依次执行的 ru级并行区域划分机制、ru 级并行区域分配机制、ru 级并行写入机制;所述 ru 级并行区域划分机制用于基于 fdp ssd 回收组 rg 完成硬件资源分层分组,构建具备完全并行性的并行 ru 组 rug;所述 ru 级并行区域分配机制用于建立 ruh 与 rug 绑定关系,按数据热度完成 i/o 请求的并行资源分配;所述 ru 级并行写入机制依托 rug 实现 ru 间并行写入与单 ru 内多晶圆底层并行读写;所述方法整体约束并行 ru 组 rug 仅在单一 rg内部构建,禁止跨 rg 组建 rug。

3、进一步的,所述 ru 级并行区域划分机制具体包括如下步骤:

4、步骤s501,获取fdp ssd设备基础配置信息,包括如磨损组信息、rg数量、ru大小、硬件信息;

5、步骤s502,选取需划分的目标rg,划定隔离边界,禁止跨rg执行并行区域划分操作;

6、步骤s503,基于目标rg内的物理闪存拓扑结构,将rg内的物理存储资源划分为多个硬件并行组hpg,每个hpg包含一组相互独立、互不干扰且可并发的闪存晶圆;

7、步骤s504,针对每个hpg,基于闪存块的物理地址偏移,将同偏移地址闪存块划分为一个闪存块组fbg,使单个fbg具备并行读写能力;

8、步骤s505,建立fbg与ru的映射,使单个ru内部闪存块横跨多个闪存晶圆;

9、步骤s506,校验hpg内部fbg与ru的映射关系,确保每个hpg内ru数量、容量规格、物理地址偏移一致,若校验通过则执行步骤s508,否则执行步骤s507;

10、步骤s507,清除异常映射关系,重置hpg划分参数,随后返回执行步骤s503;

11、步骤s508,从不同hpg中选取闪存块物理地址偏移,容量规格完全一致的ru,构建并行ru组rug;

12、步骤s509,校验构建的rug内所有ru是否分别隶属于不同的hpg,确保无资源重叠和通道之间竞争风险,若校验通过则执行步骤s511,否则执行步骤s510;

13、步骤s510,调整ru选取规则,剔除资源重叠ru,随后返回执行步骤s508;

14、步骤s511,为每个校验通过的rug分配唯一的标识,更新fdp设备的ru元数据与地址映射表并将其持久化;

15、步骤s512,执行并行区域划分结果的合规性校验,包括rug是否跨越rg边界,rug内的ru是否分别隶属于hpg多项合规性,若校验通过则执行步骤s514,否则执行步骤s513;

16、步骤s513,清除无效的rug元数据,重置rug构建参数,随后返回执行步骤s508;

17、步骤s514,输出本次划分的rug列表、ruh-rug映射表、ru与硬件资源的映射表、并行区域划分元数据等信息,以供后续流程使用。

18、进一步的,所述 ru 级并行区域分配机制具体包括如下步骤:

19、步骤s601,基于主机端文件系统内置的数据分类策略,按照数据热度进行数据分流;随后将不同热度数据传入不同ruh;

20、步骤s602,接收核心输入参数,包含系列i/o请求、ruh热度标记、rug资源池在内的信息;

21、步骤s603,检验当前目标ruh是否已经建立与rug的绑定连接,读取ruh-rug映射表完成校验;若校验通过则执行步骤s604,否则执行步骤s608;

22、步骤s604中,基于当前数据流的热度特征,从空闲rug资源池中匹配对应规格、热度匹配的rug;

23、步骤s605,建立该ruh与匹配rug的绑定关系,写入ruh-rug映射表,明确同一ruh的i/o请求仅在绑定的rug内执行;

24、步骤s606,校验构建的rug内所有ru是否分别隶属于不同的hpg,确保无资源重叠和通道之间竞争风险,若校验通过则执行步骤s608,否则执行步骤s607;

25、步骤s607,调整ru选取规则,剔除资源重叠ru,随后返回执行步骤s604;

26、步骤s608,锁定当前ruh绑定的rug,禁止其他ruh调用该rug资源,为当前连续i/o请求执行空间分配操作;

27、步骤s609,校验当前ruh绑定rug的剩余空间,判断是否可以满足本次连续i/o请求总写入容量需求;若校验通过则执行步骤s612,否则执行步骤s610;

28、步骤s610,执行rug扩容,为当前ruh新增同规格的空闲rug,扩充并行资源配额;

29、步骤s611,完成扩容后,同步更新ruh-rug映射表,将新增rug纳入当前ruh的可调度资源范围,同步更新元数据;

30、步骤s612,按照固定粒度将连续i/o请求轮询分配给rug内部各个ru的物理地址空间,使同热度数据流均匀分散给rug内多个ru;

31、步骤s613,更新rug内部ru写指针、元数据和物理地址映射表;

32、步骤s614,输出本次分配的物理地址映射表,作为后续基于fdp ssd架构的ru并行写入机制的输入。

33、进一步的,所述 ru 级并行写入机制将传统单 ruh 对应单 ru 串行写入模式重构为单 ruh 对应单 rug 多 ru 并行写入模式,具体步骤包括:

34、s701,接受核心输入参数,包括当前写入数据流对应的ruh绑定的rug、待写入连续数据流、预设的ru写入切换阈值、rug内所有ru状态信息;

35、s702、为 rug 内每一个 ru 维护独立写指针,替代传统单写指针架构;

36、s703、从 rug 首个 ru 写指针位置开始下发写入指令;

37、s704、实时检测当前 ru 已写入容量是否达到预设切换阈值,达到阈值则切换至rug 内下一个 ru 承接写入请求;

38、s706、对写入请求按页粒度拆分,并行分发至当前 ru 对应 fbg 内不同闪存晶圆物理页执行底层并行读写;

39、s707、循环切换 rug 内各 ru 轮询写入,直至全部数据流处理完成;

40、s708、执行数据持久化同步操作,保障写入数据一致性;

41、s709、向主机上报写入完成状态,输出吞吐量、硬件资源利用率指标。

42、进一步的,单个 ru 对应一组 fbg,fbg 由同一 hpg 内同地址偏移闪存块构成,写入请求拆分后可同时下发至 fbg 内多晶圆并行执行,激活单 ru 内部硬件并行能力。

43、进一步的,所述方法整体数据处理流程为:主机文件系统输出带热度标记的写入数据流,经 ru 级并行区域划分机制预生成 rug 资源池;再通过 ru 级并行区域分配机制将不同热度数据流绑定至独立 ruh 与专属 rug;最后通过 ru 级并行写入机制同时调度rug 内多个 ru 并行写入,协同利用 ru 间并行与 ru 内多晶圆底层并行性能。

44、进一步的,当 ru 与 fbg 映射校验、rug 组建校验出现异常时,均通过 cas 原子操作清除异常元数据、重置分组参数,重新执行硬件分组与 rug 构建流程,避免硬件资源冲突。

45、本发明的优点及有益效果如下:

46、本发明针对现有fdp ssd方案未触及内部资源调度优化的缺陷,提出了一套从划分到分配再到执行的综合解决方案。创新体现为三个机制:首先,ru级并行区域划分机制深入fdp ssd的物理拓扑,强制限定并行ru组(rug)仅在单一回收组(rg)内部构建,从根本上消除了通道与芯片使能(ce)竞争导致的“假并行”问题;其次,ru级并行区域分配机制创新性地将i/o热度作为资源分配维度,建立ru句柄与rug的动态绑定,使热数据获得高并行度宽组、冷数据适配窄组,有效降低写放大与垃圾回收开销;最后,ru级并行写入机制通过ru间并行与单ru内多晶圆底层并行读写有机结合,形成二维并行流水线,同步提升总带宽与单ru吞吐。