skip header   hitachi.com   hitachi.us    Global
Hitachi Global Storage Technologies
 

More efficient command and data transfer with packetized SCSI


Ultrastar 36LZXPacketized SCSI is a new protocol that, compared to non-packetized parallel SCSI, provides a better way of transferring data between SCSI devices. By using the SCSI bus' available bandwidth more efficiently, packetized SCSI helps reduce protocol overhead to speed up communication between SCSI devices. As a result, packetized SCSI is ideal for handling today's increased SCSI transfer speeds of 160 MB/sec and above. In addition, packetized SCSI is compatible with non-packetized parallel SCSI to help protect existing investments. Hitachi is now incorporating packetized SCSI technology in the Hitachi Ultrastar* hard disk drive family to help boost overall drive performance and reliability.

A new way to reduce protocol overhead during data transfers
Even though SCSI data transfer rates have progressed from the original 5 MB/sec to the current 160 MB/sec, protocol overhead times have not changed during that time. Today, with 160 MB/sec transfers and higher becoming much more common, a significant limitation has arisen: too much of the SCSI bus bandwidth is consumed by protocol overheads in these high-speed transfers. To address this limitation, Hitachi is starting to implement packetized SCSI technology as a way to improve data transfer in the Hitachi Ultrastar hard disk drive family of products.

Packetized SCSI is an innovative protocol that enables commands, messages, status, and data to be transferred between SCSI devices by a more efficient method than non-packetized parallel SCSI. For instance, non-packetized parallel SCSI uses multiple phases to communicate different types of information between SCSI devices: one for command information, two for messages, one for status, and two for data. In contrast, packetized SCSI communicates all this information by using only two data phases: one for each direction.

Although packetized SCSI dramatically changes how protocol information moves between SCSI devices, the change affects only the way information is transferred--not the content or meaning of the information. In fact, packetized SCSI is compatible with non-packetized parallel SCSI. As a result, packetized SCSI devices can reside on the same bus as non-packetized SCSI devices. For example, one SCSI device is designed to communicate with another SCSI device using packets during one operation and then seamlessly switch to non-packetized operation to communicate with yet another device. This happens in much the same way SCSI devices switch data speeds depending on the speed negotiated between the two devices.

A wide range of features to increase transfer speed
Packetized SCSI offers a variety of new capabilities designed to increase speed over non-packetized SCSI:
  • All protocol information and data is transmitted at negotiated bus widths and speeds.
  • Multiple commands can be issued in a single connection.
  • Data and status from multiple commands can be transferred in a single connection.
  • Auto-sense provides an automatic explanation of command failures.

All protocol information and data is transmitted at negotiated bus widths and speeds: In non-packetized parallel SCSI, all commands, messages, and status are transferred through a narrow 8-bit bus at asynchronous data rates--the slowest method of transferring information. In contrast, the actual data is transferred at the fastest possible speed by using the widest bus at the fastest synchronous data rate agreed to between two SCSI devices. As a result, the time needed to transfer protocol information remains constant even as data rates increase-and protocol data transfers increasingly consume a larger percentage of the total command time.

With packetized SCSI, the transfer of all commands, messages, and status is accomplished by using the same agreed-to bus width and synchronous data rate as the data being transferred. Thus, the time needed to transfer protocol information scales down as synchronous data rates increase.

Multiple commands can be issued in a single connection: With non-packetized parallel SCSI, only one command can be issued each time SCSI devices start communicating. The only way to receive another command is for the two devices to break the connection and then establish a new connection. This means that each time a SCSI device attempts to send a command, it must wait until the SCSI bus is free, gain control of the SCSI bus, send the appropriate messages, and then send a command.

With packetized SCSI, one SCSI device can send multiple commands to another, because the command identification and destination information are not part of the device selection process. Instead, that information is sent before each command. The device that attempts to send multiple commands needs only to wait for the SCSI bus to be free and gain control once. This significantly reduces the amount of time required for a SCSI device to issue multiple commands.

Data and status from multiple commands can be transferred in a single connection: As is the case with commands, non-packetized parallel SCSI cannot transfer data or status for a new command without first disconnecting from the current command (if there is one), waiting until the SCSI bus is free, gaining control of the SCSI bus, and then sending the appropriate messages. (Non- packetized parallel SCSI does allow data and status for a single command to be sent during a single connection.)

With packetized SCSI, a device can choose to send or receive data, and send status for any number of commands. Again, packetized SCSI enables this because the command identification and destination information are not part of the selection process. Instead, that information is sent before each packet of data and status. The device that attempts to send or receive data, or send status needs only to wait for the SCSI bus to be free and gain control of it once. This enables a more efficient use of the SCSI bus' available bandwidth.

Auto-sense provides an automatic explanation of command failures: When a command fails in non-packetized SCSI, the device that originated the command must issue another command to find out information about the failure. As a result, any error recovery actions are delayed until that command has completed. When a command fails in packetized SCSI, all available information about the failure is returned as part of the status at the end of the failed command. No additional commands are needed to determine the cause of the failure, so error recovery actions can occur immediately.

The value of packetized SCSI for high-speed transfers
The real value of packetized SCSI is based on the way SCSI handles its protocol overhead. With non-packetized SCSI, protocol overhead times do not change as data rates increase. This design was not much of a limitation for data rates up to 80 MB/sec, but with 160 MB/sec transfers and above, too much of the SCSI bus bandwidth is consumed by protocol overheads.

Consider the case of a typical 8K-byte write command executed with non- packetized SCSI protocols at different data rates. As shown in Figure 1, the percentage of the total command time due to overhead is an acceptable less-than- 10 percent for data transfer rates below 40 MB/sec. At 80 MB/sec, the overhead becomes noticeable at 18 percent but is still within the acceptable range. At 160 MB/sec, however, the overhead rises to 30 percent and starts becoming an issue. Without a reliable solution to reduce protocol overhead, there is no added benefit in implementing speeds above 160 MB/sec. Fortunately, packetized SCSI provides a reliable solution to reduce protocol overheads to acceptable levels.

Figure 1
Figure 1. Non-packetized SCSI overheads (8K write command)

The potential performance improvement of using packetized SCSI
The performance improvement generated by using packetized SCSI can vary significantly, depending on a variety of factors. The following examples are designed to present the clearest picture of the differences between non- packetized and packetized SCSI by eliminating most of the variables not directly related to the actual transfer of data on the SCSI bus. These examples assume that all the SCSI devices have all the data ready to transfer and that there are no latency delays. As a result, the numbers presented here are intended only to show the relative differences between non-packetized and packetized SCSI--not the absolute throughput that could be measured in an actual system.

Figure 2 shows the amount of throughput in MB/sec that can be achieved by using packetized SCSI over non-packetized SCSI when ten commands (four write and six read) are transferred and executed with the SCSI bus running at various data rates. Three different data transfer sizes are shown at each data rate. The top of the lower (green) bar represents the maximum possible throughput that can be achieved by using non-packetized SCSI. The top of the middle (blue) bar represents the maximum possible throughput that can be achieved by using packetized SCSI. The top of the top (red) bar represents the maximum throughput that can be achieved if there were no protocol overhead. As Figure 2 indicates, the relative improvement between non-packetized and packetized SCSI is significant at data rates above 80 MB/sec.

Figure 2
Figure 2. Packetized SCSI vs. non-packetized SCSI performance

Figure 3 compares five different workloads on a SCSI bus running at 160 MB/sec. It shows the amount of throughput in MB/sec that can be achieved by using packetized SCSI over non-packetized SCSI across a range of data transfer sizes from 512 bytes up to 64 KB. The five workloads (shown from top to bottom) are:

  1. Six reads and four writes to a SCSI device that has a queue depth greater than ten (purple)
  2. Six reads and four writes to a SCSI device that has a queue depth of two (yellow)
  3. Four writes to a SCSI device that has a queue depth greater than four (blue)
  4. One read (green)
  5. One write (red)

Figure 3
Figure 3. Packetized SCSI vs. non-packetized SCSI performance at 160 MB/sec

Figure 3 shows that, across all transfer sizes and workloads, packetized SCSI improves throughput over non-packetized SCSI. The example in Figure 4 is identical to that in Figure 3, except that the SCSI bus is running at 320 MB/sec instead of 160 MB/sec. It shows the same results as the example in Figure 3.

Figure 4
Figure 4. Packetized SCSI vs. non-packetized SCSI performance at 320 MB/sec

Packetized SCSI for continued performance increases
Especially as SCSI data transfer speeds continue to rise beyond the 160 MB/sec level, packetized SCSI technology provides a more efficient way to get the most value from the higher rates. Hitachi plans to continue implementing packetized SCSI in its Ultrastar family of hard disk drives. As a result, these disk drives are designed to leverage the higher speeds to increase overall drive performance and reliability.



All Rights Reserved

Product description data represents design objectives and is provided for comparative purposes; actual results may vary depending on a variety of factors. Product claims are true as of the date of the first printing. This product data does not constitute a warranty. Questions regarding Hitachi warranty terms or the methodology used to derive this data should be referred to an Hitachi representative. Hitachi plans are subject to change without notice.

References in this publication to Hitachi products, programs, or services do not imply that Hitachi intends to make them available in all countries in which Hitachi operates.









  Terms of Use | Privacy Policy | Contact Us  © 2008 Hitachi Global Storage Technologies