最近在找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. java字节和字符的区别

    字节: 1.bit=1  二进制数据0或1 2.byte=8bit  1个字节等于8位 存储空间的基本计量单位 3.一个英文字母=1byte=8bit 1个英文字母是1个字节,也就是8位 4.一个汉字 ...

  2. gmpy安装使用方法

    gmpy是一种C编码的Python扩展模块,提供对GMP(或MPIR)多精度算术库的访问.gmpy 1.17是1.x系列的最终版本,没有进一步的更新计划.所有进一步的开发都在2.x系列(也称为gmpy ...

  3. C#xml泛型序列化

    using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Web ...

  4. (十六)Activitivi5之内置用户组(角色)设计表以及IdentityService

    一.内置用户组(角色)设计表概念 用户和组(或者叫做角色),多对多关联,通过关联表实现 act_id_user 用户表: act_id_group 用户组表: act_id_membership 用户 ...

  5. (四)Maven中的仓库

    一.分类 maven的仓库只有两大类: 1.本地仓库 2.远程仓库,在远程仓库中又分成了3种: 2.1 中央仓库 2.2 私服 2.3 其它公共库 二.本地仓库 本地仓库,顾名思义,就是Maven在本 ...

  6. .net core 依赖注入在特性中的应用

    .net core 依赖注入在特性中的应用,不知道怎么用属性注入,那么在特性中的构造函数里,怎么用接口的方法呢? 来一个简单的例子: 主要思路是把ServiceProvider 静态全局化: publ ...

  7. linux 添加硬盘找不到使用/sys/class/scsi_host/host/scan

    添加磁盘到dg--首先通知存储管理员划分相应的盘到指定的机器,说明共享--扫描磁盘(两个节点执行)[root@testrac1 ~]# echo "- - -" > /sys ...

  8. 前端知识总结--js异步事件顺序

    js中异步事件中容易混淆的 Promise 和 setTimeout 的执行顺序是怎样的? setTimeout(() => console.log(1), 0); new Promise(fu ...

  9. 栈 · 有getMin功能的栈O(1)

    题面 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中的最小元素的操作. 要求 pop(), push(), getMin()时间复杂度都是O(1) 思路 1.准备两个栈,数据栈+最小元素 ...

  10. 【leetcode】566. Reshape the Matrix

    原题 In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a ne ...