White Papers Multitasking I/O Adapters and Multi-media Graphic Applications Fetching a piece of high-resolution graphic or audio data always takes a large amount of I/O transmission time. A multi-tasking I/O adapter is ideal for multi-media applications because the adapter reduces the I/O transmission time dramatically. The Storage Requirement of Multi-media Applications A graphic picture is stored in a computer as a collection of dots or pixels. Reading a graphic page of 8.5" by 11" with 100 x 100 resolution -- meaning 100 x 100 dots per square inch -- in 256 gray-scale, a computer needs to transmit 9.35 megabytes of data because (8.5*100)*(11*100) = 9,350,000. Reading the same page in 24-bit color with the same resolution, the computer needs to transmit 28 megabytes of data. Increasing the resolution to 300 x 300 dots per square inch, reading the same page of color picture now needs 252.4 megabytes of data. For photo-quality using the resolution of 1200 x 1200, the same color page now needs four gigabytes of data! Sampling a piece of music at 20,000 times per second, a computer would collect 36 megabytes of samples in thirty minutes and 144 megabytes of samples in two hours. To refresh a 1000 x 1000 color monitor, a computer needs three megabytes of data. To refresh the same screen 30 times per second, 90 megabytes of data are needed. Obviously, data compression is one solution to the graphic and audio data size problem. With 100 to 1 loss-compression, storing the 8.5x11" color page with 1200 x 1200 resolution still needs 39 megabytes of storage. To edit one photo, a digital photo lab routinely reads 60 megabytes of data. When one reads from a disk drive at two megabytes per second, reading a 60 megabyte picture takes 30 seconds. 1.Single-tasking I/O Adapters Conventional I/O adapters perform just one I/O request at a time. A request addressing a different disk must wait until the first request is completed. Today, 90% of PCs use the Integrated Device Electronics (IDE) adapter which is a single-tasking adapter. When an IDE hard disk shares an adapter with an IDE CD-ROM device, the hard disk has to wait while the CD-ROM spends hundreds of milliseconds reading a graphic data file. The data transfer rate of CD-ROM is about 1/20 of that of a disk. On average, a disk drive needs about 15 milliseconds to position its actuator to a specific piece of data; it takes only 500 microseconds to receive a command. After initiating a command to one disk drive, a single-tasking I/O adapter simply waits until data transfer starts. The actual data transfer from the disk drive only takes one to two milliseconds. Hence, it is not surprising to see the peripheral device bus being idle 90% of the time when a single-tasking I/O adapter is used. While a disk drive is capable of reading data a five mega-bytes per second, the effective data transfer from a disk drive is only around 500 kilobytes per second because 90% of time is spent in waiting for the disk drive positioning. Most UNIX users can testify that the effective data rate from a disk drive is only a fraction of the advertised data transfer rate. A number of studies were conducted to reduce the disk arm positioning time by placing file data in clusters. When a disk drive spends less time in moving its actuators, more time is spent to transfer data and the effective disk data rate increases from a few hundred kilobytes to several megabytes. By placing a 60 megabytes photo file sequentially along the several disk tracks, the data transfer rate is improved to two or three megabytes per second because the need for moving the disk actuator is eliminated. 2.Multi-tasking I/O Adapters for Graphic Data A multi-tasking adapter can process several I/O requests at the same time. After starting one I/O request, the adapter can start another request to a second disk drive or a third drive while the first drive is still positioning its actuator. By starting requests on multiple disk drives, the adapter overlaps the positioning delay of several disk drives. Each disk drive takes its turn to transfer data. When each disk drive is reading at one megabytes per second, two disk drives can read aggregately at two megabytes per second. Reading from three disk drives concurrently in affect reduces the file transfer time to one third. To take advantage of a multi-tasking I/O adapter, the large graphic data file must be spread among several disks. A disk array without parity function is also known as striped disks, which is visible to the user as a single logical disk. Data file on the striped disks are divided into stripes and written to the disk array. For example, if there are four disks in an array and each stripe is 128 K of data, to read a 512 Kbyte file a multi-tasking adapter can start all four disks with one stripe from each disk. Accessing a ten megabyte file means getting twenty 128 K-stripe from each disk. Consequently, the total file transfer time is reduced to just one quarter. 3.Conclusion By using a multi-tasking I/O adapter, separate I/O requests are started on different devices. Since data transfer time for each I/O request is only a small fraction of the total I/O, data transfer of one device can be overlapped with actuator movement of another. The aggregated data transfer from multiple devices can dramatically decrease the time needed for transferring a large multi-media data file.