Presented in 2nd International Conference on Applied and Theoretical Computing and Communication Technology (iCATccT)
ISBN - 978-1-5090-2399-8/16/$31.00 2016 IEEE
Abstract—Universal Serial Bus 3.0 is one of the much sought after communication based protocols that acts as an interface between computers and other electronic devices. With a well defined SuperSpeed of 5 Giga bits per second, it provides backward compatibility to its predecessors. It suits for small devices which are not self powered. It has an increased bandwidth and power save states that are enhanced with efficient bus utilization through asynchronous signaling. It defines transfer modes such as bulk, isochronous, interrupt and control along with a new bulk streaming protocol. Thus, it finds various applications in mass storage, streaming of voice/video data, etc. Specifically in bulk transfer mode, the performance of transfer is taken into account with respect to the speed of transmission of data packets. This is counter complemented with other signals that are causative to affect the speed-performance of the protocol. This paper proposes an approach and methodology to analyze and characterize the performance of SuperSpeed Bulk Transfer Mode for IN and OUT transmission from device to host and host to device respectively. This discusses the different factors that contribute to deviate the speed from its theoretical value.
Index Terms—USB 3.0 SuperSpeed Protocol, Bulk IN Dataflow, Bulk OUT Dataflow, Types Of Packets, Characterization of Speed Based Performance, Approach and Method
INTRODUCTION
USB 3.0 based communication is highly acclaimed due to its high data transfer rate of 5 Giga Bits per second theoretically and an achievable value of around 400 Mega Bytes per second defined by SuperSpeed mode especially in FPGA based devices alongside reduced cable length. The USB 3.0 basically has the dual bus architecture defined as shown in the Figure 1 where it consists of a host, device and a hub connecting both of them. Pertaining to the SuperSpeed architecture, the SuperSpeed interconnect shows the way in which devices are arranged to communicate over the bus along with the layers, relationships and their interactions.

Figure 2 shows the bar graph pertaining to the comparison of speed for USB 2.0, USB 3.0 and GigE which shows a vast increase in the USB 3.0 speed compared to 2.0 versions. The USB 3.0 is applicable to the entire range but specifically in the SuperSpeed mode; it gives the best maximum speed. Practically, the speed is around 400 MBps which is achieved usually in Bulk transaction with few extrapolations on either side.
The host or the device act as communication sources or sinks that are host or device ended respectively. The protocol is based on star topology supporting up to 127 devices. Data transfer is possible in either direction due to dual simplex mode of transmission supported by USB 3.0. (1)(2) Furthermore, it supports backward compatibility to USB 2.0. This provides advantages such as ease of use and extended efficiency. At the architecture level, the protocol is made up of three layers viz. Physical, Link and Protocol layers. The physical layer provides chip to chip connection; the link layer provides logical port to port connection while the protocol layer provides end to end connection. The physical layer defines the PHY interface and forms the lowest layer of the architecture that performs serialization and de-serialization of data. It consists of two differential pairs to transmit or receive data. It performs scrambling and 8b/10b encoding on the received data to reduce electro-magnetic interference and performs the reverse at the other end. The link layer above the physical layer provides the logical connection between ports. It usually involves state machines for link power management, attach or detach of devices etc. It mainly deals with flow control, reliable delivery and error detection/correction. This layer defines the states U0, U1, U2, and U3 used for power management in USB 3.0 SuperSpeed. The protocol layer is the topmost layer that involves transfer of application data information in the form of packets associated with headers to manage the flow. It supports concurrent transmission of data thus providing efficient bus utility. (3) Every data packet sent or received should undergo a series of transactions at every layer such as encoding, scrambling, framing, error detection and correction etc at both the sender and receiver ends. This holds good for all the types of transfer modes such as Bulk, Isochronous, Control and Interrupt along with Bulk Streaming. Basically, the isochronous type of transfer is used for streaming continuous data such as audio or video signals. The interrupt type is used in interfacing USB based devices such as the mouse, keyboard, joysticks etc to the computers. Bulk and bulk streaming are the types of transfers that are generally applicable to large data as in mass storage devices, pen drives, thumb drives etc. Thus, every type of transfer is configured and dedicated with the help of defined endpoints that support the respective mode of communication. This also includes the corresponding endpoints attributed to each of the types of transfer modes as well as ascertaining the number of endpoints, packets, burst interval and other parameters that are largely taken into account.(4) The basic data flow model of the USB 3.0 protocol is described as follows: Communication can take place in the form of data transfer or control transfer assisted by unidirectional or bidirectional pipes. This includes description of endpoints, types of transfers, bandwidth, direction of flow and other characteristics. Thus, the SuperSpeed dataflow model describes the way in which communication flow takes place between two endpoints. The protocol defines that the OUT transfer has data and tokens along with handshakes while the IN transaction has data with handshake signals only. It supports continuous bursting and dual simplex uni-casting enables concurrent IN and OUT transactions. The protocol doesn’t wait for Acknowledgement (ACK) packets. It doesn’t broadcast any other packets except Isochronous Timestamp Packets (ITP). Data bursting feature allows sending large data in the form of bursts which are pre defined and are varied based on configurations. This can be controlled for OUT transfer by host side but limited by the device capacity for IN transaction (5)(6)(7). Bulk transaction is a transfer mode in which large amount of data packets are sent or received at variable timestamps. It provides guarantee over data delivery but not on latency or bandwidth. The payload packet size is variable from 1 to 1024 with a burst size of 1 to 16. (8)(9)(10). Specifically, the Bulk IN flow is defined as data transfer from device to host and the OUT flow is defined from host to device. Thus, during the entire flow the transaction is associated with various types of packets such as Transaction Packets, Data Packets and Link Management Packets sometimes accompanied with Isochronous Timestamp Packets. Table I shows the different speed modes supported by USB 3.0 protocol. (11)

Figure 2 shows the bar graph pertaining to the comparison of speed for USB 2.0, USB 3.0 and GigE which shows a vast increase in the USB 3.0 speed compared to 2.0 versions. The USB 3.0 is applicable to the entire range but specifically in the SuperSpeed mode; it gives the best maximum speed. Practically, the speed is around 400 MBps which is achieved usually in Bulk transaction with few extrapolations on either side.

CHARACTERIZATION OF BULK IN AND OUT TRANSACTIONS
The Bulk IN and OUT transactions are characterized separately based on their flow-mechanisms. While the host initiates the flow irrespective of the direction of transaction, the flow of data packets is directed from device to host for Bulk IN and host to device for Bulk OUT. Both the transactions are associated with different parameters that affect their normal flow with flow control mechanisms. They are summarized individually as follows-
- Bulk IN
The bulk IN transaction is a mode of transmitting large data at defined intervals in the form of well structured data packets for defined burst values to host. The host always initiates the flow irrespective of whether it transmits or receives data. The transaction usually involves data packets symbolized as DP IN and associated transaction packets such as Not Ready (NRDY), Acknowledgement (ACK), Endpoint Ready (ERDY), STALL, etc that control the flow of data between the host and device. The different types of packets are distinguished through the Type fields as defined in the USB 3.0 Protocol. The steps in which the Bulk IN transaction takes place are as follows -
- When host is ready to accept data, it sends ACK to data requesting device with the sequence number and number of packets the host can
- The device responds by sending data packets DP IN if it has data to send to the host.
- The host sends ACK to the DP IN and the device need not wait for the ACK to send next data packet.
- The host sends ACK with rty =1 (Retry) if it receives erroneous data from the
- The device sends NRDY if it is not ready to send data and consequently ERDY if it is ready to the host.
In terms with above normal flow of Bulk IN, there exists a flow control mechanism where it is end to end based between host and endpoint device. The following criteria hold good for flow control mechanism in Bulk IN -
- The endpoint device responds with NRDY after it waits till it gets an ACK for the last DP IN sent to
- The endpoint device sends a DP IN with EOB (End of Burst) field as 1 in the Data Packet Header.
Additionally, empty Data Packets also called as Zero Length Data Packets may be generated through control endpoint either to avoid idle or wasted time in between transaction limits. This is meant to terminate the data stage associated with the Bulk IN transaction. (12)(13)
- Bulk OUT
The Bulk OUT transaction is defined on similar grounds to Bulk IN except that the direction of data packets is from host to device. The transaction is again initiated by the host only. The transaction involves data packets termed as DP OUT. The flow is again associated with transaction packets such as ACK, NRDY, ERDY, and others that reason out for the flow control mechanism. The steps of the Bulk OUT transaction are -
- When host is ready to send data, it sends data packets DP OUT after an
- The device accepts data for valid DPH and returns an ACK to the
- The host need not wait for the corresponding ACK to send next data
- The device sends ACK with rty=1 (Retry) if it receives erroneous data from
- The device sends NRDY if it is not ready to accept data followed by ERDY to indicate it is ready to the host.
The endpoint enters flow control condition based on -
- The endpoint device responds with NRDY in response to the DP OUT from the
- The endpoint device sends an ACK packet with NumP=0 which means that the number of packets the endpoint can accommodate is
Figures 3 and 4 depict the USB 3.0 protocol based Bulk IN and Bulk OUT transfer mechanism.


IDENTIFICATION OF PARAMETERS AFFECTING SPEED BASED PERFORMANCE
Speed, in general is regarded as a performance criterion to estimate the efficiency of communication. The calculation of speed is usually done as the average time in which the defined number of data packets is transferred from an endpoint to another. The speed for Bulk transaction of USB 3.0 in particular can be measured in terms of Mega Bytes Per Second with a prior calculative formula of number of data packets in Bytes transmitted across a given time frame and then converted accordingly to Bytes Per Second. (14)(15) This method helps to provide a base to compute speed and a comparison of expected values against the achievable practical values. The following observations can be made from the definitive protocols of Bulk transactions -
- The flow control mechanism causes delay of the transaction which in turn affects the speed for both IN and OUT transfers. This means to say that there is a reduction in the data rate whenever the system enters flow control as a result of which it has to wait till it resumes the normal transaction.
- The intrusion of NRDY signals causes speed reduction since the wait time is increased, for both IN and OUT transfers. An NRDY signal is meant to signal that the endpoint, either device or host is not ready to receive or accept data. This would delay the data rate by means of wait time for the endpoint to respond with an Thus, the speed is inversely proportional to the number of NRDY.
- The ERDY signal as a consequence of NRDY affects the speed as it is directly proportional to the wait time for both IN and OUT The ERDY follows after every NRDY signal. The wait time is dependent on the time required by the endpoint to send ERDY after it has sent the NRDY and becomes ready to communicate. Thus, ERDY is proportional to NRDY and inversely affects the speed.
- The introduction of errors cause more (rty=1) retries in the DP IN or OUT thus affecting the speed at larger ex- tent. The errors may vary for different scenarios such as Header Packet errors, Header Sequence Number errors, etc. The erroneous packets results in the receiver to send the Retry bit set to 1 in the ACK which delays normal transaction. The sender needs to retransmit the previous packet without errors for successful completion. The wait time increases with the number of retries or re- transmission. Thus, the speed is inversely proportional to the number of retries or (16)(17)
Theoretically, the burst size of the data packets also affect the speed as higher burst values tend to transfer more data in less time frame than lower burst values, thus improving speed with increasing burst size for both IN and OUT transfers.
- The End Of Burst (EOB=1) field in the DP IN usually sent whenever device sends lesser packets than that specified in the NumP field. The EOB field is used to depict that the packet sent in the current burst is the last packet and hence a new burst shall be introduced. This holds true for short packets The host responds with ACK with NumP=0 indicating new burst. The device sends ERDY to resume the transaction. This causes increase in delay and thus, the speed is inversely proportional again to the number of EOBs generated.
- The generation of Zero Length Data Packets also affects the speed as they can be considered as redundant data packets carrying no information for IN They are commonly termed as Empty data packets. They are used to remove idle time. But they contribute to terminating data stage. Hence, more the number of such packets, lesser is the data rate because of wastage of time and increase in time to transfer actual data packets. Hence the speed is inversely proportional to the number of Zero Length data packets.
- The generation of ACK with NumP=0 also contributes for lessening the speed in OUT The generation of ACKs with NumP=0 is regarded as flow control mechanism where it indicates that the endpoint cannot receive any more packets from the sender. This means that the sender needs to wait for some time till the receiver is able to resume transaction by sending ERDY signal along with the specification that NumP is not equal to zero. This shows the endpoint’s incapability and thus speed is inversely affected by the total number of ACK with NumP=0.(18) (19)
Thus, a relationship can be drawn between the different parameters affecting the data rate of bulk transaction as follows
-
- The basic transfer involves data and The data sent in bursts is bounded by burst size which acts as cause towards generating the EOB. Every EOB is responded with an ACK with NumP=0. Every ACK with NumP=0 is followed by an ERDY. In totality, the interdependence of EOB and ACK with NumP=0 and ERDY is linear. This suffices for ample reduction in speed.(20)(21)
- The number of NRDYs is also associated linearly with ERDYs as there is a one to one relation between them.
- The number of occurrences of ACK with Rty=1 causes repetition of data packets retransmit and thus both be- come additive to affect
- Incase short packets are transmitted, the EOB field is set and consequently ERDYs are generated to resume transaction thus affecting speed.
A generic representation of the interdependence of parameters with respect to speed-performance is as shown in the Equations 1 and 2 for error-less normal transactions.
No. of ACKs α No. of Data Packets (1)
No. of ERDY s = No. of NRDY s (2)
Under conditions of existence of EOBs, ACK with NumP=0, and Zero length data packets, Equations 3, 4 and 5 hold good.
No. of ERDY s α No. of ACKs with NumP =0 (3)
No. of ERDY s α No. of EOBs (4)
No. of ACKs α No. of Zero length data packets (5)
The relationship between Speed and the causative parameters can be established in general as shown in Equations 6, 7, 8, and 9
Speed α Inverse [NRDY α ERDY ] (6)
Speed α Inverse [EOB] (7)
Speed α Inverse [ACKwithNumP = 0] (8)
Speed α Inverse [Zerolengthdatapackets] (9)
In case of erroneous transfer, ACK with Rty=1 occurs with the relation shown in Equations 10 and 11
No. of Retransmitted DPs α No. of ACK with Rty =1 (10)
Speed α Inverse [ACKwithRty = 1] (11)
Thus, the above analysis will be helpful for characterizing the performance of the USB 3.0 SuperSpeed Bulk transaction with the corresponding design scenarios.
Figure 5 shows the Piston Model diagram of speed based performance characterization of USB 3.0 SuperSpeed Bulk transaction. The arrows towards the center indicate decrease in value while the arrows away from the center depict increase in value. The head of the arrow points to independent parameters in the interdependence flow. This indicates that any change in one of the parameter increases or decreases the other such as decrease in NRDY increases the speed.

PROPOSITION OF APPROACH
The main part of analyzing the speed of USB 3.0 SuperSpeed Bulk transaction is through the characterization of parameters affecting the speed. The methodology concerning speed calculation is to capture the start and stop points of the Bulk transaction and identify the number of data packets transmitted across the time frame. To obtain speed output in MBps, the time frame may be converted to seconds and the packets to Bytes respectively. This may vary from mode to mode and the direction in which flow of data takes place. Specifically for Bulk IN, the time frame is taken from the time instant at which the host initiates transfer by sending ACK before it receives the first DP IN from the device to the time instant at which the device sends the last DP IN to conclude the transaction. This time frame should include all types of data or transaction packets transferred in between.(22)(23)The ratio of the data packets to time interval for transaction gives the average speed. Similarly for Bulk OUT, the time frame is taken from the time instant at which the host initiates transfer by sending the first DP OUT to the device to the time instant at which the device sends the last ACK to the last DP OUT to conclude the transaction. This time frame should again include all types of data or transaction packets transferred in between and average speed is calculated. Additionally, the factors influencing the speed can be enumerated through enlisting them individually such as the number of NRDYs, EOBs, Empty DPs, ACKs with NumP=0 etc. Since all these factors directly affect the speed of the transaction through theory of the protocol, estimation of the same leads to approximation of speed changes either in the increasing or decreasing steps. Each of the packets needs to be identified in order to estimate them numerically. This can be achieved through capturing each of the parameters by their fields such as data length, types, subtypes, NumP, EOB etc. The effect of NRDY, EOB, Burst Size and others can be analyzed through running simulations for different test cases that are generated for the USB 3.0 SuperSpeed Bulk communication.(24)(25) A vast tabulation of different criteria may be made as a base of comparison to check for the best and worst case results. It also provides an idea to statistically characterize the effect of each parameter extensively on the speed pattern. This helps in coming up with a precise relationship between speed and its causative factors so that it can be verified if the practical implementation conforms to the theoretical specification. Thus, it also verifies the design with respect to the performance characteristics i.e. speed based. The approach provides a wider view of ascertaining the performance characteristics of the protocol and its conformation to the theoretical definitions.
ADVANTAGES AND TRADE-OFFS
The above theoretical approach is proposed keeping in view the different dimensions of how the USB 3.0 SuperSpeed protocol defines data transfer. The best advantage to propose this paper is the evaluation of speed as a performance metric. The quantification of speed values helps in identifying how well the design sticks to the protocol standards and requirements. This becomes a necessity as the different configurations are compared. The second advantage is the knowledge about effect of secondary parameters such as NRDY, EOBs etc which contribute to reduction of speed. A quantitative analysis of behavior of speed with respect to the above parameters helps to understand the valued effects of the same. Thus, overall performance can be quantified in the form of speed and necessary design improvements may be incorporated in case of issues concerning mismatch of expected and actual obtained speed values.(26) With the theoretical proposition, any design may not be up to the mark due to various design trade-offs. This may include different types of errors that are introduced in the real world scenario which may be overlooked upon. However, these cases can be filtered as error free and error less and then calculated independently. Some design trade-offs include link power management states, number of endpoints, type of transfer, data length of the payload, burst size, etc. although their effect on the speed can be identified only after practically comparing the simulation results. These limitations can be extended to maximum and minimum speed values.
FUTURE SCOPE
The proposition of methodology to analyze speed based performance in the USB 3.0 SuperSpeed provides an inquisition towards an approach of identifying the speed related issues corresponding to Bulk IN and OUT transaction. The conceptual analysis leads to generating algorithm based approaches to not only calculate speed but also its causative factors thus providing a mathematical model to the problem definition. This may be extended to finding statistical results for comparing speed based performance of different IPs and modules. It can also be appreciated through maintaining a quantitative study of variance of speed and factors influencing the same, thus acting as a spread sheet based data reference manual for the generated products.(27) It can also be useful to have a relative analysis of different scenarios and inculcate an approach towards optimizing the design of the IPs or change different dimensions so that performance is achieved very close to the theoretical values. The best scope is towards improving this idea with apt changes to different transfer modes and endpoints.
CONCLUSION
This paper proposes a scheme to characterize the speed and the parameters that affect the same for USB 3.0 SuperSpeed Bulk IN and OUT transactions. This technique is of utmost importance as it acts as a base towards inferring at the different dimensions of speed based performance that is applicable mainly in case of bulk transfer of data packets. The following conclusions are made from the viewpoint of this paper - The basis of proposing a method to characterize speed based performance has been put forward with a view to analyze the speed in the best possible way. The parameters affecting the speed based performance have been noted pertaining to the concepts of the protocol and their characteristics are interrogated. A simple approach has been proposed to calculate speed in the general sense and thus report all the factors that influence the same. The overall conclusion is to estimate the speed and analyze the same through the behavior of different packets that act as a pre-requisite to provide a consequence for influencing speed in the USB 3.0 Super Speed Bulk transaction.
ACKNOWLEDGEMENT
The authors would like to acknowledge their thanks to Mr. Akshay Patil, Mr. Anurag Kumar, Verification Engineers and all other team members from Innovative Logic Inc for their valuable technical and non technical support.
REFERENCES
[1] A. Tomar and E. Linn, “Introduction to superspeed usb3.0 protocol,” vol. 1, pp. 1–20, April 2011. [Online]. Available: https://www.element14.com/community/ servlet/JiveServlet/previewBody/36206-102-2-218482/ Introduction%20to%20USB%203.0%20Protocol.pdf
[2] N. Chang, “Usb female connector,” GEN US7 927 145, April, 2011.[Online]. Available: https://www.google.com/patents/US7927145
[3] F. Chao, “Usb 3.0 vs usb 2.0 ys esata,” December 2011. [Online].Available: http://aztcs.org/meeting notes/ winhardsig/USB3/USB3versus.pdf
[4] USB-Implementers-Forum, Universal Serial Bus 3.0 Specification, 1st ed., Hewlett-Packard Company, Intel Corporation, Microsoft Corporation, NEC Corporation, STEricsson, Texas Instruments, March 2011. [Online] Available: http://www.usb.org
[5] USB 3.0 Technology, HP Technologies, January 2014. [Online]. Available: http://h20195.www2.hp.com/V2/ GetPDF.aspx/4AA4-2724ENW.pdf
[6] P. Hung, T. Sakurai, and P. Fung, “Method and apparatus of usb 3.0 based computer, console and peripheral sharing,” GEN US20 110 113 166, May, 2011. [Online]. Available: https://www.google.com/ patents/US20110113166
[7] P. Hung and T. Sakurai, “Translation usb intermediate device and data rate apportionment usb intermediate de- vice,” GEN US20 110 022 769, 1, 2011. [Online]. Available: https://www.google.com/patents/US20110022769 [8] USB 3.0 Background Factors, New Features, and Applicability as a Camera Interface, IDS Imaging Development Systems GmbH, 2012. [Online]. Available: www.ids-imaging.com
[9] USB 3.0 IP SuperSpeed Device Controller IP, Inno Logic Inc. [Online]. Available: http://inno-logic.com/usb-3-otg/
[10] PHY Interface For the PCI Express USB 3.0Architec- tures, Intel Corporation, 2009. [Online]. Available: http://www.intel.com.tw/content/www/tw/zh/io/pci-express/ phy-interface-pci-express-sata-usb30-architectures.html
[11] USB 3.0 Internal Connector and Cable Specification, Intel Corporation, August 2010. [Online]. Available: http://www.intel.in/content/dam/doc/technical-specification/usb3-internal-connector-cable-specification.pdf
[12] Intel Universal Serial Bus (USB) Frequently Asked Questions (FAQ), Intel Corporation,2014.[Online]. Available: http://www.intel.in/content/www/in/ en/io/universal-serial-bus/universal-serial-bus-faq.html
[13] M. Kakish, “Motherboard compatible with multiple versions of universal serial bus (usb) and related method,” GEN US20 110 191 503, August, 2011. [Online]. Available: https://www.google.com/patents/US20110191503
[14] J. Lai, “User-friendly usb connector,” GEN US7 717 717, May, 2010. [Online]. Available: https://www.google.com/ patents/US7717717
[15] D. Luke, “Simplified universal serial bus (usb) hub ar- chitecture,” GEN US7 657 691, February, 2013. [Online].Available: https://www.google.com/patents/US7657691
[16] N. Murata, “Usb host controller, information processor, control method of usb host controller, and storage medium,” GEN US20 100 005 327, January, 2010. [Online]. Available: https://www.google.com/patents/ US20100005327
[17] P.-J. Pietri, P. Thomsen, and M. Christiansen, “Usb 3.0 support in mobile platform with usb 2.0 interface,” GEN US8 510 494, August, 2013. [Online]. Available: https://www.google.com/patents/US8510494
[18] R. A. Dunstan, G. A. Solomon, and J. A. Schaefer, “Universal serial bus host to host communications,” GEN US20 100 169 511, July, 2010. [Online]. Available: https://www.google.com/patents/US20100169511
[19] USB Overview, Silicon Labs, 2011. [On- line]. Available: http://www.silabs.com/Support% 20Documents/Software/USB Overview.pdf
[20] W. Szeremeta and M. Trinh, “Universal test connector for connecting a sata or usb data storage device to a data storage device tester,” GEN US8 753 146, June, 2014. [Online]. Available: https://www.google. com/patents/US8753146
[21] USB 3.0 FAQ Sheet, Targus. [Online]. Available: http://targus.com/hk/downloads/usb-3 faq sheet.pdf
[22] Data Manual - TUSB1310 USB 3.0 Transciever, Texas Instruments, December 2009. [Online]. Available: http://www.ti.com/cn/lit/pdf/sllse16
[23] “Usb 3.0 superspeeds,” December 2011 [Online]. Available: http://www.usr.com/en/education/ usb-30-peripherals/
[24] H. Van Antwerpen and H. Letourneur, “Usb port connected to multiple usb compliant devices,” GEN US8 364 870, January, 2013. [Online]. Available: https://www.google.com/patents/US8364870
[25] L. Wu, “Motherboard with universal series bus connector,” GEN US20 120 033 369, February, 2012. [Online]. Available: https://www.google.com/patents/ US20120033369
[26] A. K. R. Yamamoto and M. Tone, “Wireless communication system,” GEN US20 110 064 023, March, 2011. [Online]. Available: https://www.google.com/ patents/US20110064023
[27] T. Moore, “Usb 3.0 technical overview,” October 2009. [Online]. Available: http://www.mcci.com/mcci-v5/pdf/ |