Apple patent involves gap count analysis
Posted by Dennis Sellers
Dec 11, 2007 at 1:21pm
Apple has been granted a patent (number 7308517) for method and apparatus for a gap count analysis by the U.S. Patent & Trademark Office. The invention relates broadly to serial bus performance. Specifically, the present invention relates to improving bus performance by calculating the optimal gap_count parameter for a given topology utilizing a high-speed serial bus to connect devices.
According to Apple, a method of optimizing communication over a high-speed serial bus by minimizing the delay between packets transmitted over the bus is disclosed. The method comprises: calculating the round trip delay between PHYs connected on the bus by pinging; a bus manager sending a configuration packet to all PHYs connected on the bus, the configuration packet containing a minimum gap_count parameter value; and all PHYs connected on the bus sending packets over the bus using the minimum gap_count parameter value as a delay between packets.
Here’s Apple’s background on the invention: “The Institute of Electrical and Electronic Engineers (IEEE) has promulgated a number of versions of a high-speed serial bus protocol falling under the IEEE 1394 family of standards (referred to herein collectively as ‘1394’). A typical serial bus having a1394 architecture interconnects multiple node devices via point-to-point links, such as cables, each connecting a single node on the serial bus to another node on the serial bus. Data packets are propagated throughout the serial bus using a number of point-to-point transactions, such that a node that receives a packet from another node via a first point-to-point link retransmits the received packet via other point-to-point links. A tree network configuration and associated packet handling protocol ensures that each node receives every packet once. The 1394-compliant serial bus may be used as an alternate bus for the parallel backplane of a computer system, as a low cost peripheral bus, or as a bus bridge between architecturally compatible buses. Bus performance is gauged by throughput, or the amount of data that can be transmitted over the bus during a period of time.
There are several ways to improve bus performance. Devices connected to the bus can be arranged to minimize the longest round-trip delay between any two leaf nodes. This may involve either minimizing the number of cable connections between the farthest devices, reducing cable lengths, or both. Another way to improve bus performance is to group devices with identical speed capabilities next to one another. This avoids the creation of a ‘speed trap’ when a slower device lies along the path between the two faster devices. Finally, bus performance can be improved by setting the PHY gap count parameter to the lowest workable value for a particular topology. However, determining this lowest workable value is problematic in that all of the variables affecting this value are unknown. Gap count parameters have been configured in the past using a subset of all possible variables, and the result is that the gap count is not optimal.”
And here’s Apple’s summary of the invention: “The present invention provides an optimal gap count that allows a high-speed serial bus to run faster and thus realize superior performance over prior buses. In an embodiment, bus management software sends a special PHY configuration packet that is recognized by all PHYs on the bus. The configuration packet contains a gap count value that all PHYs on the bus can use. As this gap count value decreases the time interval between packets that are transmitted, more real data can be transmitted over the bus per unit of time.
“In an embodiment, the bus manager pings a PHY. The PHY sends a response to the ping, and a flight time value of the response from the PHY to the bus manager is added to calculate a round trip delay value. “The ping command runs at the link layer level, from the link layer of one node to the link layer of another node. All flight time between link layer and PHY is ignored, and just the flight time from one PHY to another PHY is calculated. The ping time measured shows the link-to-link delay. The delay between the bus and the link is specified in the bus standard with minimum and maximum values.”
The inventor is Jerrold Von Hauck. The graphic below illustrates an intervening path model between two nodes, X & Y, and denotes the reference points required for a full analysis

Article Information
Comment on this Article Print this Article Email this Article Digg This
Contributor
Dennis Sellers
Dennis has been a newspaper editor/reporter (seven years) and teacher (seven years). He has over 4,000 magazine, newspaper and online articles to his credit. He has also covered the Mac and tech industries for over a decade for such online publications as MacCentral, MacMinute and now MacsimumNews.






