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

    文章

    15238

    浏览量

    171219
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80864
  • nvme
    +关注

    关注

    0

    文章

    191

    浏览量

    22336
收藏 人收藏

    评论

    相关推荐

    Xilinx FPGA NVMe Host Controller IP,NVMe主机控制器

    ,实现必须以及可选的NVMe Admin Command Set和NVM Command Set,实现对PCIe SSD的复位/断电管理、IO(Page)读写、DMA读写和数据擦除功能,提供用户一个
    发表于 02-21 10:16

    MMIC技术——实现降低5G测试测量成本与复杂性的双重突破

    对于负责为5G无线系统量身打造下一代测试设备的测试和测量(T&M)供应商而言,方法十分重要。与早期的3G和4G LTE部署相比,5G增加了架构方面的复杂性,主要原因在于MIMO天线配置。面对
    发表于 07-04 10:20

    掌握5G测试的复杂性:越来越受到关注

    随着蜂窝技术的发展,以大约10年的间隔,从3G到4G再到10G相隔10年,无线网络的性能提升了10倍。这伴随着测试复杂性的更大增加。但是,随着我们进入2019年,最好暂停并反思该行业通过3G,4G
    发表于 03-09 11:51

    LTC4267通过将PD接口与电流模式开关稳压器相结合,降低了PD的复杂性和尺寸

    具有5V非隔离电源的3级PD。 LTC4267通过将符合IEEE 802.3af标准的PD接口与电流模式开关稳压器相结合,降低了PD的复杂性和尺寸
    发表于 04-04 13:33

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

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

    嵌入式调试的复杂性分析

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

    怎样去降低H.264 INTRA帧编码的运算复杂性和存储器需求?

    怎样去降低H.264 INTRA帧编码的运算复杂性和存储器需求?
    发表于 04-21 07:17

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

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

    如何去降低H.264 INTRA帧编码的运算复杂性

    如何去降低H.264 INTRA帧编码的运算复杂性和存储器需求?
    发表于 06-07 06:20

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

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

    PCB复杂性怎样来解决

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

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

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

    了解 AV 复杂性

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

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

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

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

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