10

Buffering, Emulation, and Data Protection

How does Buffering Work?

This also limits device performance because the device needs to wait on each command from the host controller.

Buffering, on the other hand, enables queuing of individual I/O operations from the host controller to temporary memory in the device control unit. Each time a buffered device completes one command, the next command is immediately presented for completion. This eliminates the host controller delays associated with non-buffered devices.

In order for a device to queue operations in its buffer, it must pre-acknowledge individual operations from the server I/O controller even though they have not yet been completed.

Pre-acknowledge means the device returns successful completion status immediately upon receipt of the operation and data. This frees up the server controller to issue the next operation, which in turn enables the device to queue up operations. Again, this is common practice for buffered devices. In fact, with buffered devices, completion status simply means that the operation was transferred to the device controller and is safely stored in the device’s buffer.

Device Error

Recovery

UltraNet Edge 3000 Emulation

Since natively attached buffered devices pre-acknowledge commands from the server, an error recovery process is needed to ensure errors occurring after pre-acknowledged commands can be successfully dealt with. This maintains the integrity of the host I/O operation sequence.

For buffered devices, responsibility for error recovery is moved to the application/utility responsible for setting up and initiating the I/O transfers. Since different devices have different operating characteristics, different methods are used.

With the FC/SCSI Tape Pipelining feature, the UltraNet Edge 3000 emulation works in much the same way as the buffered device controller. By responding with completion status to all but the final server operation, the UltraNet Edge 3000 can queue up operations remotely to ensure one is available to send to the device controller as soon as the previous operation completes.

Protecting the Data The UltraNet Edge 3000 uses End-to-End CRC checking to ensure the data sent between the server and the end device is protected and does

10-2

McDATA UltraNet Edge 3000 User Guide

 

 

Page 258
Image 258
McDATA manual Device Error Recovery UltraNet Edge 3000 Emulation, How does Buffering Work?