最近在找PCIe/NVMe协议分析仪,发现一款软件分析仪:busTRACE,非常不错的工具,对于从事协议开发的同胞们,是个福利,下面把硬件和软件两种分析仪的各自的优势比较了一下(来自busTrace文档),供参考学习:

  Hardware
Analyzer Advantages over busTRACE 硬件协议分析仪的优势

  • Captures all state transitions 可以抓取所有的状态转换信号

A hardware analyzer provides you the ability to capture the actual physical communications that occur on the bus; for example the handshaking that occurs between the host and target. busTRACE is unable to show you this low-level detail.

  • Detailed timing analysis 详细的时序分析

If you want to view detailed timing analysis, such as the time to send the command, data, messaging, etc., then only a hardware analyzer can show you this type of low-level detail. busTRACE shows you when an I/O starts and when it completes, with a timing analysis of the entire I/O sequence (not the individual state transitions).

  • Not affected by PC system crashes 不受PC系统挂机的影响

Because busTRACE is a software tool, if the Windows PC crashes, any captured I/O activity will be lost. You can use a remote capture, or capture to file, to try and limit your exposure, but results may be limited. A hardware analyzer is not affected by system crashes.

  • Ability to view I/O activity from hardware perspective 可以从硬件层面查看I/O动态

In discussing busTRACE advantages, we talk about the benefits busTRACE provides because it captures and analyzes I/O activity from the operating system's perspective. There are equal benefits from viewing the I/O activity from the hardware perspective. Here, you are seeing the exact physical communication going on between the host and target. This can help you diagnose problems, particularly timing problems or hardware problems.

  • OS independent 与操作系统不相关

busTRACE supports Windows 7 (and above) PCs. Hardware bus analyzers do not have any such restrictions and can be run independent of the OS you are using.

busTRACE Advantages over a Hardware Analyzer 软件协议分析仪busTRACE的优势

  • Cost effective 便宜

Hardware bus analyzers typically cost ten to twenty times as much as busTRACE. For the cost of one hardware bus analyzer, you could provide each engineer in a department their own copy of busTRACE 10.0.

  • Multiple bus architecture support 支持多种协议架构

busTRACE can capture I/O activity across a wide variety of bus architectures including USB, USB 2.0, USB 3.0, ATA, SATA, ATAPI, Fibre Channel, SCSI, iSCSI, 1394 (storage I/O only), RAID, SAS, PCIe, MultiPath, and more. Hardware analyzers typically support only one type of bus architecture. If they do support more than one, you usually need to purchase an additional hardware "pod" for the new architecture thereby increasing your cost even further.

  • Easy to use 方便使用

busTRACE is simpler to use than conventional hardware bus analyzers. When you run busTRACE, you simply place a checkmark on the devices you are interested in analyzing and then click on the Capture button. A detailed bus capture then occurs. The user friendly busTRACE interface, with powerful bus analysis features, is designed to be used by any engineer from junior level to the most senior level. Hardware analyzers, on the other hand, typically require a specialized skill that only the most senior engineers have.

  • Detailed command/data analysis 详细的命令、数据分析

busTRACE prides itself on not just showing you a dump of hex data that was sent or received from a device. busTRACE will look at the data and decode it into human readable terms. For example, we decode Command Descriptor Blocks (CDBs) in a format nearly identical to the format you would see in the device's command specification. This greatly speeds up your bus analysis efforts.

  • Ability to view I/O activity from the OS perspective 可以从OS层面分析I/O动态

Keep in mind that busTRACE is capturing I/O activity from the operating system's perspective. This can be advantageous in a number of ways.

  1. When possible, we show you which driver is generating the I/O. This can help diagnose software conflicts.
  2. You can see what the I/O timeout values are set for the I/O being sent. This can help you diagnose why the operating system reset the bus and/or aborted I/O activity. From the hardware perspective, all you would see is a bus reset without understanding why it occurs.
  3. There are times when no error appears on the actual hardware bus, but the I/O fails internally. This could be caused by a driver bug, for example. busTRACE can help diagnose this type of failure too.
  4. In a multiple NUMA node system, busTRACE can show you which NUMA node the device is located on, the I/O data buffer NUMA node, and the processor NUMA node.
  5. busTRACE can capture and show you event log activity generated by I/O failures
  • Complete Suite of Device Analysis Tools 完整的设备分析工具(获取IO动态,发送任何命令,自动检测FW bug,模拟硬件错误等)

busTRACE 10.0 is MUCH more than just a bus analyzer. It is a complete suite of bus and device analysis tools. You can capture I/O activity, send any command, automatically look for any firmware bugs, simulate hardware faults, build simple CDB scripts, and so much more.

正所谓:

既生瑜何生亮,两者生来会打仗。矛盾共存之为道,两者结合更有效。

busTrace VS HW protocol analyzer - 好东西推荐的更多相关文章

  1. PCIe/NVMe Soft Protocol Analyzer - 惊天发现

    最近在看一些协议方面的东西,刚刚接触很多东西不懂.为了尽快熟悉,打算搭建一套系统,包括上层主机和下层SSD. 既然是协议,那就需要硬啃spec.但是俺是懒人一个,想找个便捷方式快速熟悉.这就想到了协议 ...

  2. Verdi Protocol Analyzer Debug 简单使用

    转载:Verdi Protocol Analyzer Debug 简单使用_Holden_Liu的博客-CSDN博客_verdi 技巧 文档与源码: User Guide: UVMDebugUserG ...

  3. 基于物品的协同过滤推荐算法——读“Item-Based Collaborative Filtering Recommendation Algorithms” .

    ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3 基于物品的协同过滤推荐算法--读"Item-Based ...

  4. 推荐一款idea 翻译插件 ECTranslation

    无意中看到一款idea翻译插件, ECTranslation,才知道有这么个东西,推荐给看到的人吧,使用简单,值得拥有. 参考:http://p.codekk.com/detail/Android/S ...

  5. 推荐一本书:《UML面向对象建模基础》

    http://www.cnblogs.com/onlytiancai/archive/2006/10/13/528205.html 以前对UML呀,感觉用不上,不知道都干啥的,也就是知道有个用例图.类 ...

  6. (转载)Linux 套接字编程中的 5 个隐患

    在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性.事实上,很难找到一种不支持 Sockets API 的现代语言.该 API 相当简单,但新的开 ...

  7. 绝不能错过的10款最新OpenStack网络运维 & 监控工具

    摘要 今天我们要推荐给大家的是关于奥斯汀OpenStack Summit的OpenStack网络方面功能与工具相关的技术演讲. 希望可以帮助国内的开发者.架构师和用户更好地了解OpenStack在SD ...

  8. Security+学习笔记

    第二章 风险分析 风险管理 评估:确定并评估系统中存在的风险 分析:分析风险对系统产生的潜在影响 响应:规划如何响应风险的策略 缓解: 缓解风险对未来安全造成的不良影响 风险分析流程 资产确定 漏洞确 ...

  9. 张小龙宣布微信小程序1月9日发布,并回答了大家最关心的8个问题

    2016 年 12 月 28 日,张小龙在微信公开课 PRO 版的会场上,宣布了微信小程序的正式发布时间. 微信小程序将于 2017 年 1 月 9 号正式上线. 同时他解释称,小程序就像PC时代的网 ...

随机推荐

  1. linux 下phpmyadmin 安装

    系统 parrot os(Debain) php7.0 ​ 安装phpmyadmin sudo apt install phpmyadmin 然后将/usr/shar/phpmyadmin软连至/va ...

  2. IE浏览器 Table 兼容问题

    border篇: 直接在<tr>标签上添加 border-bottom:1px solid red;  在IE8以上浏览器有效,IE7以下版本无效   解决方案:需给<table&g ...

  3. KNN算法识别手写数字

    需求: 利用一个手写数字“先验数据”集,使用knn算法来实现对手写数字的自动识别: 先验数据(训练数据)集: ♦数据维度比较大,样本数比较多. ♦ 数据集包括数字0-9的手写体. ♦每个数字大约有20 ...

  4. C#如何调用C++(进阶篇)

    上一篇文章最后,提出的一个问题:如果一个c++库中有很多方法,需要一个个声明??这样岂不是要写很多代码??,而且没有智能提示看到提供了那些方法. 如下图: 如果有朋友需要用这种方式调用,而又不知道怎么 ...

  5. json其实就是一种数据格式

    1.json的两种书写: 2.字符串转换为json格式:

  6. stm32 usart 串口

    比特率是每秒钟传输二进制代码的位数,单位是:位/秒(bps).如每秒钟传送240个字符, 而每个字符格式包含10位(1个起始位.1个停止位.8个数据位),这时的比特率为: 10位 × 240个/秒 = ...

  7. linux串口命令

    proc # cat /proc/tty/driver/serial serinfo:1.0 driver revision: 0: uart:16550A port:000003F8 irq:4 t ...

  8. webbrowser 屏蔽脚本错误

    webBrowser1.ScriptErrorsSuppressed = true

  9. Ubuntu下双显示器设定

    自8.10后的版本,系统自带了xrandr工具,可以很好的实现双显示器.配置与使用如下: 介绍    X Windows 中有一个显示分辨率的概念,在默认情况下,这个显示分辨率为 max*max ,m ...

  10. YouTube下载方法

    复制要下载的视频的地址 打开此链接:https://y2mate.com/youtube/9wxePpNYShQ 如下图位置粘贴视频地址,然后选择想要的分辨率点击右面的“Download”进行下载即可