0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

管理NVMe验证复杂性

星星科技指导员 来源:synopsys 作者:synopsys 2023-05-26 10:21 次阅读

从一开始,NVMe 就旨在支持多个主机访问共享媒体。早期实施包括 PCIe 内置设备,如端点 (EP)、根复合体 (RC) 和根复合体集成端点 (RCiEP);随着时间的推移,云和存储基础架构产生了对远程存储的需求。

NVMe 实现可以解决 SATA 点对点架构和 SAS 占用的空间问题。在这两个领域成功采用是由于低延迟和通用存储接口的承诺,无论位置如何。尽管这两个用例中的验证挑战相似,但它们仍然需要不同的思维过程。

poYBAGRwF3eABJ4LAAJfx6sJs68535.png

点对点架构中使用的 NVMe 要求以控制器实现为中心进行验证。在这种情况下,控制器的数量< 10,逻辑内置于硬件、应用软件和固件中。带宽和吞吐量是点对点架构中的关键度量。NVMe控制器设计人员需要在实现中做出权衡,以实现成本/性能目标,尽管关键权衡是在各种功能的硬件和软件实现之间进行的。这些权衡的细节不会在这里讨论,但足以说明线路的位置对验证工程师很重要。

硬件/软件分区带来了验证的复杂性。传统上,硬件在仿真中得到验证,因为它需要更严格和彻底的测试。软件实现的功能在协同仿真和硬件加速验证环境中经过轻度测试,因为如果更新不影响硬件,则更新成本不高。我们在这里看到的验证挑战是验证用于加速各种软件功能的实现特定硬件。在这里,软件通常需要设置并卸载到硬件。根据软件实现的复杂程度,仿真可能需要数天时间才能达到验证目标点。协同仿真的仿真启动是一种直接的进度威胁。

为了解决仿真中的硬件和软件问题,许多验证团队利用ZeBu等硬件加速平台。硬件加速允许 NVMe 驱动程序在可以连接到仿真设备的 CPU 上启动。这里最大的挑战是可重用性。传统上,在仿真中编写的测试针对仿真测试平台进行了优化,并不完全适用于加速环境。Synopsys 的 ZeBu 平台已通过支持在加速中重用仿真验证 IP 并保留仿真和加速平台之间的相同用户界面,解决了这一问题。由于 ZeBu 加速平台的执行性能提高了 100 倍,现在可以启动软件。这种方法允许模拟更深入地进入测试,以发现可以审查管道、内存带宽、翻转条件或卡住或一次性故障的功能错误。加速还允许基于波形的调试,这是解决基于硬件的问题所必需的。

需要考虑其他仿真优化来缩短测试运行时间。对于以 PCIe 作为传输的 NVMe,可以删除整个 PCIe 堆栈,从而公开 NVMe 和 PCIe 堆栈之间的专有 TLP 接口。PCIe 堆栈往往很大,需要设置时间。删除堆栈也会删除此基于规范的设置时间。删除 PCIe 传输时,需要考虑其他事项,例如缓冲区管理、中断等。对于使用 AXI 接口(与专有 TLP 接口相比)的 PCIe 设计 IP,由于 AXI 是公共标准,因此更容易删除 PCIe 堆栈。这使得AXI接口的中断相对便携。

点对点调试相对简单,尽管通常很乏味。事务和模拟日志用于追踪与 NVMe 命令关联的内存事务。记分牌也可以在内联和边带记分牌中得到有效利用。调试的另一个关键方面是监视在内存中构造和操作的结构。跟踪从未进入完成队列的完成可能非常困难,因为控制器正在主机或验证 IP 的监视之外执行内存访问。拥有“监视”此内存的能力,无论该功能内置于验证IP还是验证组件中,都将节省无数小时的调试时间。要考虑的另一个验证工具是跟踪位于链路另一端的控制器、命名空间和其他资源的状态。通过跟踪验证环境中的状态,可以通过以下方式节省大量调试时间:

• 标记测试编写器格式不正确的命令 • 标记由于版本不足或功能
不支持而导致控制器不支持的命令
• 标记与尚未设置的先决条件设施相关的问题

一旦验证环境可以跟踪控制器和命名空间,相同的跟踪将自动扩展到具有多个控制器/命名空间的环境,从而为上述调试节省时间提供乘数效应。

设计最有效的核查环境以及选择最佳的核查组件对于实现核查时间表的“左移”至关重要。通过重用组件、序列等,可以花更多的时间来发现/修复真正的 DUT 错误。不要低估良好的调试工具所节省的时间 - 防止不良测试,指出DUT问题,标记DUT错误配置等。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16227

    浏览量

    177505
  • PCIe
    +关注

    关注

    15

    文章

    1228

    浏览量

    82463
  • nvme
    +关注

    关注

    0

    文章

    218

    浏览量

    22586
收藏 人收藏

    评论

    相关推荐

    抑制嵌入式系统设计的复杂性解析

    抑制嵌入式系统设计的复杂性
    发表于 12-30 07:20

    嵌入式调试的复杂性分析

    高手谈嵌入式调试的复杂性
    发表于 02-19 07:14

    如何用可重构射频前端简化LTE设计复杂性

    如何用可重构射频前端简化LTE设计复杂性
    发表于 05-24 07:10

    免疫系统的主组织相容复杂性及其应用

    在模拟免疫系统的主组织相容复杂性的基础上,结合模糊逻辑与扩展阴性选择算法提出了一个基于免疫系统主组织相容复杂性的模糊逻辑综合决策算法,并用该算法构建了一个实际
    发表于 05-28 11:01 8次下载

    有效解决实时IoT环境监测的复杂性

    意想不到的智能网关设计,有效解决实时IoT环境监测的复杂性
    发表于 07-14 17:34 8次下载

    基于构件回归测试的复杂性度量框架

    的软件修改需求,维护者可以实施不同的修改手段.不同的修改手段会导致不同的回归测试复杂性,这种复杂性是软件维护成本和有效的重要因素.目前的研究没有强调构件软件的回归测试复杂性问题.基于
    发表于 01-19 16:41 0次下载

    PCB复杂性怎样来解决

    统一和流程导向是CR-5000 Lightning技术背后的关键概念。该技术利用统一和共享的设计约束,消除了与单独设计相关的复杂性,并为电路设计,楼层规划和电路板设计等活动提供控制。
    的头像 发表于 08-16 05:39 1921次阅读

    大数据分析学习的挑战:复杂性、不确定性及涌现

    来源:ST社区 科多分享的大数据分析学习与研究的新挑战:对于习惯结构化数据研究的统计学来说,大数据分析显然是一种崭新的挑战。 挑战来自何方?来自于大数据的复杂性、不确定性和涌现三个方面,其中复杂性
    的头像 发表于 11-17 10:19 2709次阅读

    插入排序算法的复杂性、性能、分析

      对于许多数据科学家来说,算法可能是一个敏感的话题。这可能是由于主题的复杂性。“算法”一词有时与复杂性有关。有了适当的工具、培训和时间,即使是最复杂的算法,当您有足够的时间、信息和资源时也很容易理解。算法是数据科学中使用的基本
    的头像 发表于 04-08 14:28 3720次阅读
    插入排序算法的<b class='flag-5'>复杂性</b>、性能、分析

    通过场景模型验证管理SoC复杂性

      基于图的场景模型捕获关键的设计和验证知识,通过通用模型实现 SoC 项目团队成员之间更好的沟通,减少流程中多个点的人工工作,加快进度,更完整地验证设计以增加获得第一名的机会- 硅成功。
    的头像 发表于 06-28 14:55 935次阅读
    通过场景模型<b class='flag-5'>验证</b><b class='flag-5'>管理</b>SoC<b class='flag-5'>复杂性</b>

    驾驭软件定义车辆的复杂性

    汽车行业正处于通往软件定义车辆的复杂、昂贵和革命的道路上。每家公司都需要开发、购买和管理大量软件,才能在以软件为中心的一代中保持领先地位。本专栏将概述影响软件定义车辆时代之旅的因素和复杂性
    的头像 发表于 07-14 17:42 932次阅读
    驾驭软件定义车辆的<b class='flag-5'>复杂性</b>

    了解 AV 复杂性

    何影响 AV 问题? 部署 AV 用例将如何演变? 为了回答这些问题,我们在三个图表中总结了一个演示文稿,旨在为新手和专家提供一些视角。 AV复杂性问题 自动驾驶汽车的基本问题是为 SAE 4 级功能开发安全、可靠的自动驾驶汽车所涉及的巨大复杂性
    的头像 发表于 07-15 15:56 1397次阅读
    了解 AV <b class='flag-5'>复杂性</b>

    是什么定义了处理器漏洞的复杂性以及如何检测它?

    为了衡量一个漏洞的复杂性,我们可以对漏洞进行分类,供整个处理器验证团队来使用。在之前的一篇博文中,我们讨论了4种类型的bug,并解释了我们如何使用这些分类来提高测试平台和验证的质量。此时我们可以再进一步,即将这种方法与漏洞的
    的头像 发表于 11-01 15:50 606次阅读

    使用Emulex SAN管理器降低操作复杂性

    电子发烧友网站提供《使用Emulex SAN管理器降低操作复杂性.pdf》资料免费下载
    发表于 07-28 16:09 0次下载
    使用Emulex SAN<b class='flag-5'>管理</b>器降低操作<b class='flag-5'>复杂性</b>

    缓冲ADC系列消除了信号调理的复杂性

    电子发烧友网站提供《缓冲ADC系列消除了信号调理的复杂性.pdf》资料免费下载
    发表于 11-22 10:55 0次下载
    缓冲ADC系列消除了信号调理的<b class='flag-5'>复杂性</b>