UAS_BOT区别.docx_第1页
UAS_BOT区别.docx_第2页
UAS_BOT区别.docx_第3页
UAS_BOT区别.docx_第4页
UAS_BOT区别.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Whats the Difference Between USB UASP And BOTUSB 3.0 offers approximately 10:1 performance improvement over USB 2.0, but realizing the full potential of that gain for mass storage devices poses additional challenges. The mainstay of mass storage standards for USB 2.0 and 1.1 has been the Bulk Only Transport (BOT) device class specification for USB, and it has served the personal computer industry well with its simplicity and modest efficiency. It has proven to be simple and inexpensive to implement in microprocessor-based systems, including personal computers, and hence suitable for inexpensive flash-based mass storage devices.In Bulk Only Transport, standard USB Bulk transactions are used for each stage of a mass storage transfer - command, data, and status. In fact, early versions of the BOT standard referred to it as BBB, short for Bulk/Bulk/Bulk, which was an enhancement over the older Control/Bulk/Interrupt (CBI) standard that was used (and still is) mainly for full-speed USB floppy disk drives.Higher performance mass storage devices tend to use the SCSI standards (Small Computer System Interface), which allow devices to support performance-enhancing modes of operation such as multiple outstanding requests and out-of-order request completions. Multiple outstanding requests mean that the system doesnt need to wait for each request to be completed before the next request can be sent to the device. The device simply stores the requests in its own buffer, sends a completion back to the host as each request is completed, and starts working on the next request in the buffer as soon as the previous one is completed. This allows the device to be more fully utilized if the USB link can keep up with the additional bus traffic, as USB 3.0 finally can.But the original BOT standard had no provision for supporting multiple outstanding requests. A new USB standard was needed, and with USB 3.0 there has been a new industry initiative to provide an improved mass storage class specification. The new class standard is known as UAS (USB Attached SCSI) and UASP (UAS Protocol). The UAS standard is developed and maintained by the T10 Technical Committee in the ANSI organization (American National Standards Institute), under the auspices of the INCITS (International Committee on Information Technology Standards) within ANSI. The T10 Committee also maintains the SCSI standards. The UASP standard is developed and maintained by the USB Implementers Forum (USB-IF). The UAS and UASP standards work closely together, and most of the key companies in the industry are active members in both the T10 and USB-IF standards organizations.A further performance benefit supported by SCSI is out-of-order processing of requests. This allows the mass storage device to schedule request execution in the most optimum way relative to the current state and workload of the device. For example, if the device uses a rotating magnetic or optical platter, it may be more efficient for the device to process requests involving accesses to the same track or nearby tracks first, to limit the number of times the head needs to move between tracks, as well as the distance that the head needs to travel each time. A rotating-platter device may also take into account the location of data on a track, and schedule requests in the order that takes best advantage of how far the platter needs to rotate before the requested sector reaches the head.Multiple outstanding requests can be accommodated in USB 2.0 as well as USB 3.0, and the UASP standard has been designed to be usable in this way for USB 2.0 as well as USB 3.0. Out-of-order processing has been defined in UAS and UASP to be usable for both USB 2.0 and USB 3.0 also. USB protocol enhancements in USB 3.0 compared to USB 2.0 allow USB3 .0 to implement the UAS and UASP standards even more efficiently, beyond the raw data rate improvement in USB 3.0.The main USB protocol improvements in USB 3.0 include IN-ACK packets instead of separate ACK and IN packets, and ERDY packets. In addition, the concept of streams was implemented in USB 3.0 and in the new xHCI standard (eXtensible Host Controller Interface), allowing a request and its subsequent completion to be grouped together according to their stream number. In USB 2.0, implementations of UAS and UASP achieve the association between commands and their completions by using the Read Ready IU and Write Ready IU (IU means Information Unit) within a bulk transfer, rather than being able to specify stream numbers directly in the packet headers.A stream in USB 3.0 is an abstraction representing a subdivision of a pipe. A pipe, in turn, is an abstraction denoting a communication pathway between the host and a particular endpoint in a device. The pipe abstraction is used in USB 2.0 as well as USB 3.0, but streams are new in USB 3.0.Performance Estimates and ResultsUSB 3.0 in Super Speed mode offers a maximum potential data throughput of 500 MB/sec after allowing for 8b/10b encoding, but various bus overheads detract from this maximum in actual operation. It has been estimated (as explained in the UASP standard) that an actual sustained data throughput of 400 MB/sec may be attainable using UASP, compared to an estimated limit of only 250 MB/sec for BOT operation on a USB 3.0 link without UASP.Actual test results using the Renesas UASP driver and Renesas PD720230 USB3-to-SATA3 bridge device are shown in Figure 1. The testing was performed using the CrystalDiskMark3 benchmark program, running under Windows 7 (64-bit) on a PC having a PCIe bus running at 5.0 GHz, with a Renesas PD720201 USB 3.0 Host Controller and Renesas USB 3.0 (xHCI) driver for the host controller. The mass storage device was a Crucial RealSSD solid-state drive with a Renesas PD720230 USB3-to-SATA3 bridge. In this test, both sequential read and random read with 512KB block size performed significantly better than 250 MB/sec in BOT mode, and up to 369.2 MB/sec with UASP enabled. Although the UASP results didnt quite achieve 400 MB/sec, UASP still provided up to 30% performance improvement over BOT. Gains for writes to the drive were more modest: 2.7% for sequential writes, and 1.9% for 512K random writes.Test results can vary widely, however, depending on the specific benchmark program used, its configuration, and the capabilities and configuration of the various hardware elements beyond the SATA bridge and USB3 link.Figure 1: Benchmark Software test results (MB/s) shows how UASP improves both sequential and random access to USB storage devices.Software ElementsFigure 2 shows how the Renesas UASP driver works together with the Renesas USB 3.0 Host Controller driver and other software elements in the complete software solution for supporting USB devices. The top-level application program interfaces with either the standard Mass Storage Class (MSC) driver in Windows, which operates in BOT mode, or with the new UASP driver, which bypasses the MSC driver and interfaces directly with the Renesas USB 3.0 Host Controller Drivers (Root Hub and xHCI). The UASP driver also interacts with the MSC driver in various ways as needed.Figure 2: Renesas UASP, Hub and xHCI software stack used with Microsoft Windows XP, Vista and Windows 7.It should be noted that there is no public standard at present for the interface between the UASP driver and the USB 3.0 xHCI driver. The Renesas UASP driver is designed specifically to operate with the Renesas xHCI driver and other compatible xHCI drivers.UASP Enables Multiple Command Queuing and Out-of-Order ProcessingFigure 3 illustrates the performance benefits of Multiple Command Queuing in mass storage devices. In BOT mode without command queuing, the device has to finish each command before it can accept a new command. It has to wait for a new command to arrive, then process it and send a completion, and wait for the completion to be acknowledged. There is considerable waiting time associated with each command.Figure 3: UASP benefits from USB 3.0s new dual-simplex and stream-transfer features.UASPs Command Queuing capability reduces all the waiting delays by sending a new command to the device while the device may still be processing a previous command. The device, in turn, can begin processing the next command whenever it is ready to do so, without waiting for a new command to arrive, if a command has already been queued up in the device. Command queuing can also benefit USB 2.0 mass storage devices as well as USB 3.0, if the devices are designed to support that feature. The USB 2.0 link itself already has the ability, through the pipe concept in USB 2.0, to support command queuing.Figure 4 depicts a mass storage drive that uses rotating media. If the drive is designed to support command queuing, a further performance gain can be achieved if the drive also has the ability to optimize the order in which the enqueued commands are processed. This capability is referred to as Native Command Queuing (NCQ). The key word is Native, meaning performed by the drive. Without NCQ, as shown in the platter on the left, the commands might be issued and processed in 1-2-3-4 order. Depending on where each target sector is on the platter, the drive head might need to move to a different track for each command, and need to move across many tracks to reach the correct target track. It takes considerable time to move the head on a drive. Anything that can be done to reduce the number of head movements or the distance of each move (number of tracks) can provide a substantial performance improvement.Figure 4: What is Native Command Queuing (NCQ)? Hard-Drive optimizes order in which read and write commands are executed.UASP can reduce head movement by allowing the drive to access more than one sector on the same track in response to enqueued commands. The platter on the right in Figure 4 illustrates a 3-2-4-1 processing order, allowing the head to move only a short distance to the next adjacent track in response to each enqueued command. If two target sectors happen to reside on the same track, the drive may also decide to access more than one sector on the track before moving the head again.Note, in addition, that reducing head movement also reduces wear on the drive, which helps to increase the drives useful operating life in drives that use rotating media.To support NCQ most efficiently, an enhancement was added in the USB 3.0 specification to implement the concept of streams within a pipe. USB 2.0 already implements the concept of a pipe for each endpoint, but streams in USB 3.0 allow a further subdivision of each pipe into multiple streams. Then, the host and drive can tag each command and completion with the stream number as well as the pipe (endpoint) number, to allow the completions to be correlated to the commands.The UAS tag field in the Information Units (IU) within Bulk transfers in USB 2.0 also allow command tagging and NCQ support in USB 2.0, but it is not as efficient in bus utilization as the stream feature in USB 3.0.Additional Details of UAS and UASPAs noted earlier, the impetus for UAS and UASP originates in the SCSI Standards (Small Computer System Interface), specifically the SAM-4 standard. (SAM stands for SCSI Architecture Model). The UAS standard defines how SAM-4 can be implemented on a USB link, either USB 2.0 High Speed or USB 3.0 Super Speed. UASP defines additional details of the USB implementation of UAS.UAS defines the abstract concept of an I_T Nexus, where I means UAS Initiator and T means UAS Target. For transferring requests, data, and status between the Initiator and the Target, the Nexus includes the Default USB pipe (utilizing USB Control Transfers) and four Bulk USB pipes: A Bulk Out pipe for UAS Commands from the Initiator to the Target A Bulk In pipe for UAS Status responses (command completions) from Target to Initiator A Bulk Out pipe for UAS write data (from Initiator to Target) A Bulk In pipe for UAS read data (from Target to Initiator)UAS Commands, Data and Status are transported using Information Units (IU) of various types specified in the UAS standard. Every IU includes a 4-byte header that specifies the type of IU, a reserved byte, and the two-byte Tag that correlates IUs to the originating Command.Pipe is entirely an abstraction. On the actual USB link, the fields in the various types of USB packets specify the Device Address, the Endpoint number, and the Endpoint Direction bit, which together represent a pipe. IU transfer in a pipe is performed by USB packet sequences such as IN-DATA-ACK and OUT-DATA-ACK for USB 2.0. In USB 3.0, ERDY, NRDY, and INACK packets replace the separate ACK or NAK used in USB 2.0.At the UAS level, a complete data transfer consists of the following sequence: Command IU from initiator to target Read (or Write) Ready IU from target to initiator One or more data transfers (read or write) Status (Sense IU) from target to initiatorAll of these IUs and data blocks are transported within USB Bulk In or Bulk Out packet sequences on the actual USB link. Also, on a USB 3.0 link the Read (or Write) Ready IU is replaced by ERDY for greater bus utilization efficiency compared to USB 2.0. Multiple transfers in the same pipe (same initiator and target) can be intermixed together, as described in the UAS specification. The correlation of each IU to the originating Command IU is defined by each IUs Tag field (for USB 2.0), or the Stream ID (for USB 3.0).In effect, there is an overall hierarchy associated with UAS and UASP, consisting of SCSI and SAM-4 at the top level, then the T10 UAS standard, supported by the USB UASP standard and driver, which interfaces with a USB Host Controller driver (EHCI for USB 2.0 High Speed, xHCI for USB 3.0 Super Speed), and finally the hardware, i.e., the actual USB Host Controller and the USB mass storage device. In the hardware, there can also be up to five levels of USB hubs between the Host Controller and the mass storage device.Referring again to Figure 3, the actual details of the various transfers summarized by the arrows involve UAS requests for status as well as UAS commands, which the target mass storage device fulfills after the requested data transfer has been completed. There will also be many ACK or ERDY packets in the communication, not explicitly shown in the figure. The blocks labeled Cmd actually denote an OUT-DATA-ACK packet sequence, with the UAS Command IU itself contained in the DATA packet. Similarly, the blocks labeled Sta (Status) actually denote an IN-DATA-ACK packet sequence with the UAS Status IU contained in the DATA packet. The UAS and UASP standards provide detailed protocol exchange diagrams showing all the various transfers at both the hardware and UAS/UASP software levels.At the highest hierarchical level, all of the complexity is well hidden from the typical end user, and everything just works (if all the standards are properly followed).USB的UASP而BOT的区别是什么USB 3.0提供了USB 2.0的性能提高了约10:1,但实现的全部潜力,大容量存储设备的收益带来了额外的挑战。主体的大容量存储标准的USB 2.0和1.1规范的USB设备类仅批量传输(BOT),并已在个人电脑行业以及与它的简单性和适度的效率。它已被证明是简单的和廉价的实施,基于微处理器的系统,包括个人计算机,因此适用于廉价的基于闪存的海量存储设备。仅批量运输,使用标准USB大宗交易的每个阶段的大容量存储传输 - 命令,数据,和状态。在事实上,早期的BOT标准版本简称为“BBB”,散装/散装/散装,这是一个提高,比以前的标准,这是(控制/批量/中断(CBI)和现在仍然是)主要为全速USB软盘驱动器。更高的性能往往使用大容量存储设备的SCSI标准(小型计算机系统接口),它允许设备支持性能增强的操作模式,如多个未完成的请求和序请求完成。多个未完成的请求的意思是,该系统并不需要等待下一个请求之前,以完成每个请求可以被发送到该设备。该设备简单地存储在其自己的缓冲器的请求,发送一个完成返回主机的每个请求都被完成,和开始在缓冲器尽快完成前一个请求的下一个工作。这允许对器件进行更充分的利用,如果能跟上的USB连接额外的巴士交通,USB 3.0终于可以。但是,原来的的BOT标准有没有提供支持多个未完成的请求。一种新的USB标准是必要的,USB 3.0,出现了一个新的行业计划,旨在提供一个改进的大容量存储类规范。新的类被称为UAS(USB连接SCSI)和UASP(UAS协议)标准。该无人机系统的开发和维护标准的ANSI(美国国家标准协会)组织的主持下,在INCITS(国际信息技术标准委员会)在ANSI T10技术委员会。T10委员会还保持SCSI标准。UASP标准的开发和维护由USB实施者论坛(USB-IF)。该无人机系统和UASP标准的工作紧密结合起来,并在行业中的重点企业积极在T10和标准组织USB-IF的成员。进一步支持的SCSI性能优势的订单处理的请求。这允许请求执行的大容量存储的移动设备以安排在最优化的方式,相对于设备的当前状态和工作量。例如,如果该设备使用一个旋转的磁性或光学盘片,它可能是更高效的移动设备以进程请求首先涉及访问相同的轨道或附近的轨道,以限制的次数头需要移动轨道之间,以及头部的距离,需要每次旅行。一个旋转的盘片装置也可以考虑在轨道上的位置数据,并调度请求的顺序有多远,需要转动的盘片请求的扇区前到达头,它最大的优势。可以容纳多个未完成的请求,USB 2.0和USB 3.0,和UASP标准的已被设计为可以使用这种方式为USB 2.0和USB 3.0。UAS的订单处理中已定义和UASP也可用于USB 2.0和USB 3.0。USB协议增强功能的USB 3.0相比,USB 2.0让USB3 .0 UAS和UASP标准更有效地实施,除了在USB 3.0的原始数据速率的提升。USB 3.0 USB协议的主要改进包括IN-ACK报文,而不是独立的ACK和在数据包,ERDY的数据包。此外,在USB 3.0中,新的xHCI标准(可扩展主机控制器接口)实现的“流”的概念,允许进行分组,根据他们的“流”号的要求,其随后完成。在USB 2.0中,实现UAS和UASP实现之间的关联命令和它们的补全用“阅读准备IU”和“写就绪”IU“(”IU“是指信息股)在批量传输,而不是能够指定直接在数据包报头的流号码。USB 3.0 A“流”是一个抽象的概念,代表一个细分的一个“管”。A“管道”,又是一个抽象的概念,表示主机和设备中的一个特定的端点之间的通信路径。“管道”抽象采用的是USB 2.0和USB 3.0,但“流”是新的USB 3.0。性能估计和结果在超高速USB 3.0模式提供了最大的潜在8b/10b编码后,数据吞吐量为500 MB /秒,但各种的总线管理费用偏离这个最大的实际操作。据估计(如解释的UASP标准中),400 MB /秒的一个实际的持续数据吞吐量可能是可获得的,使用的UASP,一个USB 3.0链接,而不UASP BOT操作相比,只有250 MB /秒的估计极限。使用瑞萨的UASP驱动程序和瑞萨PD720230USB3-SATA3桥接设备的实际测试结果如图1所示。使用CrystalDiskMark3基准测试程序进行测试,在PC机上的PCIe总线运行在5.0 GHz的运行在Windows 7(64位),瑞萨PD720201USB 3.0主机控制器和瑞萨的xHCI)USB 3.0(主机驱动程序控制器。大容量存储设备是一个关键的RealSSD固态驱动器与瑞萨PD720230USB3-SATA3桥接。在这个测试中,都拥有512KB的块大小顺序读取和随机读取的表现显着优于250 MB /秒,在BOT模式下,高达369.2 MB /秒的UASP启用。虽然UASP结果并没有完全达到400 MB /秒,UASP还提供了30的性能改进BOT。写入到驱动器的增益为较温和的2.7,为连续写入和1.9,512K随机写入。测试结果可以很宽的范围内变化,然而,这取决于使用特定的基准测试程序时,它的配置,和功能和配置的各种硬件元件超越SATA桥和USB3链接。图1:基准测试软件的测试结果(MB / s)的,如何的UASP提高顺序和随机访问USB存储设备。软件元素图2显示了瑞萨的UASP驱动程序一起工作与瑞萨的USB 3.0主机控制器驱动程序和其他软件元素的完整的软件解决方案,支持USB设备。顶级的应用程序接口标准的大容量存储类(MSC)驱动程序在Windows中,在BOT模式运作,或与新的UASP驱动程序,它绕过MSC驱动器和接口直接与瑞萨的USB 3.0主控制器驱动程序(根集线器的xHCI)。UASP驱动程式也与MSC驱动根据需要以各种方式的交互。图2:瑞萨的UASP,轮毂和与Microsoft Windows XP,Vista和Windows 7的xHCI使用的软件堆栈。应该指出的是,目前的UASP驱动程序和USB 3.0的xHCI驱动程序之间的接口没有公开的标准。瑞萨的UASP驱动程序是专门设计用来与瑞萨的xHCI驱动程序和其他兼容的xHCI驱动程序。UASP实现多个命令队列的订单处理图3显示了多个命令队列的性能优势,在大容量存储设备。在没有命令队列的建造,营运及移交“模式,该器件具有完成每一个命令,然后才能接受新的命令。等待新的命令到达,然后对其进行处理和发送完成,等待被承认为完成。有相当多的等待时间,每个命令。图3:从USB 3.0的新的双单工和流传输功能的UASP好处。UASP的命令队列功能可以减少所有的等待延迟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论