Computer Interfaces


Small Computer System Interface
SCSI was designed to be a highspeed bus that could be used to connect multiple devices to a single connection. SCSI uses an integrated processor which directs and controls the multiple devices, allowing them to effectively use the same resources. Devices are connected to a SCSI "chain" with a special cable and communicate with a common protocol called ASPI. SCSI is a high speed communication and it comes in many versions, ranging from 5MB/sec to 320MB/sec bandwidth.

All types of SCSI run on the same logical bus, and can interface with the same SCSI equipment. SCSI isn't limited to hard drives or storage, SCSI can be used to interface with almost any other type of equipment or computers because of the advanced processors that are used in the controllers.

BusName8-bit (50 wire, Narrow)16-bit (68 wire, Wide)
5MHzSCSI 15MB/s(N/A)
10MHzFast SCSI, SCSI 210MB/s20MB/s
20MHzFast-20, Ultra SCSI20MB/s40MB/s
40MHzFast-40, Ultra-2 SCSI40MB/s80MB/s
80MHzUltra-3 SCSI, Ultra160(N/A)160MB/s

SCSI started with a narrow 8-bit bus using a 50 pin connector. This connection could only transfer 1 bit at a time. SCSI later progressed into a wide 16-bit bus which could transfer 2 bits at a time. The 16-bit bus uses either a 68 pin or an 80 pin cable. The 80 pin cable is used to allow the use of hot swappable devices.

SCSI does not use a parallel interface because that will limit it's speed. Earlier versions did, but were later converted to serial to allow for advancements. All SCSI formats are able to transfer data in parallel, but a frequency decrease must to take place. This is because with higher bus frequencies, signal delays can become a major concern. Each wire on the chain passes the signal at slightly different speeds. This can cause the signals to overlap and become unsynchronized. Earlier versions of SCSI were capable of transferring a full 8-bits for narrow devices and 16-bits for wide devices. This was later switched to a serial signal of one ore two bits at a time while the bus frequency increased.

SCSI devices are fully multithreaded, each device is capable of accessing the bus and for filling the requests whenever the bus is being unused. This means that when another device like a hard drive is accessing information, another device like a CD-ROM could be transferring data through the bus. This is called multithreading. Newer SCSI controllers are build with fast controllers and large buffers over 32MB that allow the SCSI controller to make efficient use of the bus. SCSI is also able to use peer-to-peer connections, meaning that devices are able to communicate with each other independent of the SCSI controller.

Fibre Channel Arbitrated Loop (FC-AL)
A new technology much like SCSI that is used in some high end servers. It is capable of speeds of 800 to 1600Mbps, and distances from 30m using copper wires or up to 10km using fibre optical cable.
Integrated Drive Electronics and Advanced Technology Attachment
IDE is the most used bus for device connection. IDE is somewhat of a descendent from SCSI, it was designed to be a more economical replacement for the low end. IDE controllers are able to support only 2 devices at a time, a master and a slave. The master device is allowed priority over the bus, and is usually located at the end of the IDE cable. Devices are detected as either master or slave device by the IDE controller with help of the jumpers on the devices themselves.

IDE does not allow for multi-threading of commands, or concurrent actions. This means that while one device is completing a request, the other devices are not able to use the bus for transferring, or even prepare itself for the next request. For this reason, it is a good idea to separate devices by themselves on separate controllers. Most motherboards have 2 IDE controllers, a primary and a secondary. If only a hard drive and a CDROM are being used, they should both be masters of their own controller to improve performance.

IDE devices are only able to operate at the same speed as the slowest device. Each IDE device is made with its own separate controller circuitry.

Transfer RateFormatATAPIO ModeDMA Mode
 2.1MB/sIDEATAsingle word 0
 3.3MB/sIDEATA0
 4.2MB/sIDEATAsingle word 1,
multiword 0
 5.2MB/sIDEATA1
 8.3MB/sIDEATA2single word 2
11.1MB/sEIDEATA-23
13.3MB/sEIDEATA-2multiword 1
16.6MB/sEIDEATA-24multiword 2
33.3MB/sUDMA/33Ultra-ATAmultiword 3
66.6MB/sUDMA/66Ultra-ATAmultiword 4
 100MB/sUDMA/100Ultra-ATAmultiword 5

IDE uses multiple transfer modes, such as PIO, DMA, and UltraDMA. These transfer modes have to be supported by both the device and the IDE controller in order to work.

Advanced Technology Attachment is the official name of the protocol that IDE uses. ATA is compatible with all other versions of ATA. The ATA controller accesses data in 16-bit words of data at a time. ATA is capable of block mode writing, this is where multiple read or write commands are grouped together so that they only use one interrupt. Newer drives are capable of handling up to 16 or 32 sectors with a single interrupt. This improves performance because the processor is "interrupted" less frequency so it can maintain attention to other tasks.

ATA-2 extends ATA, and is commonly called Extended IDE. EIDE supports faster data rates, 32-bit transactions and DMA support. To maintain backward compatibility with ATA, ATA-2's 32-bit transfers are actually two 16-bit transfers at a time. ATA-2 supports DMA transfers, allowing it to directly access memory without CPU requests, improving overall system performance.

PIO ModeTransfer RateCompatible With
Mode 03.3 MB/sAll
Mode 15.2 MB/sAll
Mode 28.3 MB/sAll
Mode 311.1 MB/sATA-2, ATA-3, UltraATA
Mode 416.6 MB/sATA-2, ATA-3, UltraATA

Programmed I/O modes (PIO) were the first mode of transfer. Programmed I/O is called "programmed" because all access is done according to software. Once a request is made by a PIO device to make a data transfer, the CPU starts a set routine. It initiates the I/O Controller to monitor the device for information. When the device is ready, the CPU reads the data from the device and then outputs the information into system memory. This is very lengthy and tedious to the CPU.

There are 5 different modes that were used. PIO modes use the CPU to moderate and allow access to system memory. This is the opposite of DMA, where the hard drive is capable of memory access without CPU assistance. PIO mode 3 and 4 are only capable of running with controllers that support ATA-2 or greater, while the other three modes; PIO 0, 1 and 2; are compatible with any IDE controller.

Having 2 devices that operate with different PIO modes are possible if both the IDE controller and system BIOS support it. This is done through 'independent device timing'. If independent device timing is not supported by the either the controller or system BIOS, both devices will have to operate at the PIO mode of the slowest device.

DMA ModeTransfer RateCompatible With
Single Word 02.1 MB/sAll
Single Word 14.2 MB/sAll
Single Word 28.3 MB/sAll
Multiword 04.2 MB/sAll
Multiword 113.3 MB/sATA-2,ATA-3,UltraATA
Multiword 216.6 MB/sATA-2,ATA-3,UltraATA
Multiword 333.3 MB/sUltraATA

Direct Memory Access is a replacement to the PIO mode operations. DMA allows the IDE controller to directly access system memory without the help of the CPU. This improves the overall performance of the system. Older DMA was implemented by having devices use special channels that were connected to a DMA controller. This DMA controller would act like a second CPU, in that it would moderate the system memory. There are up to 8 DMA channels in computers, but a newer versions of DMA was introduced that wouldn't rely on a DMA controller. This is know as Ultra DMA. UDMA functions with the help of bus mastering to allow for direct memory access. Bus mastering allows the device to take control over the bus so that it can quickly and efficiently access memory without bothering any other device. Bus mastering has to be supported by the device, the chipset, and the operating system in order to work.

Universal Serial Bus
USB was developed as a connection for low bandwidth peripherals such as scanners or keyboards. The transfer speed for each port is a maximum of 12MBits/second. USB is a hot swappable plug and play interface which can daisy-chain up to 127 devices per port. To connect this many devices, a USB port hub can be used.

All devices on the USB chain are powered by the signal cable. If too much power is draw from the line or there are too few free connections for extra devices, a hub can be used. The cable used for USB devices is a 4 connection cable; a single twisted pair for data transfer and 2 wires for power - a ground and a 5 Volt.

Parallel Port
Often referred to as LPT ports, parallel ports are able to transmit data one byte at a time, a 8x improvement over serial ports. Like serial ports, parallel ports require an IRQ, and they are also bi-directional. The most common uses for parallel ports are scanners or printers. Computers are able to support up to 3 parallel ports at a time.

There are 3 different versions of parallel ports, Standard Parallel Ports, (SPP); which have a theoretical maximum transfer speed of 300 Kbytes per second, and Enhanced Parallel Ports, which support a theoretical maximum transfer speed of 1.3MBytes/sec. The most advanced version is the Enhanced Capability Port (ECP) which is usually used for advanced printing devices and supports a theoretical 2.7MB/sec.

LPT ports require 4 I/O addresses, each a byte in capacity. Each byte has a specific usage, they are for status, control, data, and reserved. The status byte is used by the device on the LPT port to display its status, like if a printer was out of paper. The control byte is used to control the device, like tell a scanner to scan. The data byte is used to transfer data threw the port. The reserved byte is not used.

Serial Port
Serial ports are used to connect many small peripherals, such as modems or mice, and were once used as a direct connect network. These ports are often referred to as COM ports, and even older computers are able to support up to 4. Serial ports operate by sending data serially, one bit at a time. Because serial ports use an IRQ for all data processing, data is stored in buffers while it is being transferred to minimize the CPU attention. Serial ports are capable of bi-directional transmissions, because there are separate pins for sending and receiving.

Serial ports work by using a UART chip, a Universal Asynchronous Receiver/Transmitter which converts binary signals into signals capable of being transmitted. Serial ports are now being outdated by newer, faster transfer methods. A standard serial port is limited to 115 Kbaud, however some serial card interfaces are able to run at up to 460.8 Kbaud.

Serial ports come in either 25-pin or 9-pin D-shell. The 25 pin connector is the most used, but although they have 25 pins, the serial port is still only able to use of 9 of them. This is to ensure compatibility for both the transfer mode and devices, and also allows for the use of a adapter to change between the two versions.

All modems that have a controller have an integrated serial port. This acts just like a regular serial port, mimicking a serial port and external modem. The advantages of this is that just like an external modem, the modem is capable of doing it's own processing and buffering, and maintaining the capability with the external programs. A downside of this is that the modem requires a dedicated IRQ, while some of the newer, non-serial based modems are PCI based, and therefore eligible for IRQ sharing.

Floppy Disk Interface
The floppy disk interface was designed only for use by a floppy disk drive. There is a floppy disk controller on every motherboard, and each controller is capable of controlling 2 floppy devices, and requires both a DMA and IRQ resource. The floppy cable looks similar to an IDE cable, except that the data wires are switched between the 2 drive connections. A standard floppy cable uses 34 pins. This interface was not designed for speed, but for low level compatibility.
FireWire IEEE 1394
FireWire is a competing standard against USB, which was first developed by Apple Computer, and then finalized by the IEEE1394 Working Group. FireWire is capable of up to 63 hot-swappable devices per port, with a maximum of 16 nodes of up to 4.5 meters of chord for each device. Each port is capable of 400Mbits/second to be distributed to all of the devices. FireWire is also capable of speeds of 100MBits/sec and 200MBits/sec, and is soon going to be expanded to 800Mbits/sec. FireWire is not only capable of low bandwidth peripherals, but is also useful for high bandwidth peripherals and devices, such external hard drives.

Like USB, all devices are powered by the data cable. The data cable is a 6 conductor cable. There are 2 twisted pair connections for data travel, one for upstream and one for downstream traffic. There are also 2 connections for power. FireWire is very popular because of its high bandwidth, by it isn't catching on very strong because there is a royalty involved to use it.

Computer Optics


Basics of Optical Storage
Optical storage is anything that stores information to be read but optical sensors. This different than magnetic storage, because there is no trace of electrical current. Optical storage is more a physical storage, because information is stored in the physical shape of the storage medium. Information usually stored in binary form, although that is not necessary with some mediums.

Storage Mediums

Most optical storage is read only. Examples of optical storage media is the Compact Disk, better know as a CD. Another example is the successor to the CD, the Digital Versatile Disk, know as a DVD. A DVD disk looks almost identical to a CD. Another usually overlooked optical storage medium is a holograph, and a simple photograph or printout. Information can be stored on anything that can be read using light.

Laser Disks
LD's, like Compact Disks, were co developed by Sony and Philips in 1978. LD's are 12 inches in diameter and are the same size as standard vinyl LP's. These were designed to be replacements for the record player and VCR, but it's size was too big for it to catch on. Movies, music and even some games were stored on Laser Discs because of the capacity that LD's had, and because LD's were the only viable solution until the CD standard was later released. Even today, some movies and records are being produced on LD's, but the market is rather small.

Compact Disks
The idea of a CD was more of Philip's idea, in the Sony Philips partnership. It was released in 1982, and hasn't changed since. It is a 4.72-inch which is capable of holding 74 minutes of uncompressed audio, which is approximately 650MB. Some CD formats were later added that expanded capacity to 700MB, 750MB and even 800MB. A CD is composed of polycarbonate, which is a form of plastic. It is only 1.2mm thick, and has a 15mm hole in the center of it which is used for securing it in the playback device. Data is stored is stored on a thin sheet of aluminum film as a series of depressions. The aluminum layer is read by the CD device with a laser, which senses either 1's or 0's, depending if there is a depression or not. The aluminum storage material film is sandwiched between two layers of scratch resistant transparent plastic. For reading and writing to a CD, the laser has to be able to travel through the protective plastic to read the aluminum film, but if the protective plastic is dirty or scratch, the information might not be readable. Data is stored to the CD in a single line spiral pattern that starts at the center and spirals its way out to the outer edge. A table of contents is the first thing stored on a CD. This is where the information is stored about the contents of the CD. Such things as the mode of storage, which tells the playback device whether the information is audio or data. Audio CD's also contain the number of tracks and track length and times. Data CD's contain information on file structure, file sizes, header, sub-header, error correction code (ECC) and error detection code (EDC). There have been many different format standards released, each improving performance or functionality.

Recordable Compact Disks
CD-R was dubbed WORM, because it was "write once, read many" because information could only be written once, and never removed. Multisession capability was added in the Orange Book II standard, which alleviated the need to fully us the CD disk at once. The capacity of these disks is around 650-520MB, depending on the number of sessions. There is an initial overhead used by a driver which is used instead of the VTOC, this driver is loaded by the CD-ROM, and dynamically links all of the sessions VTOC into one VTOC for the disk.

The construction of the disk is fairly simple, there are only four different layers. From the bottom up, there is the protective clear layer, the dye layer, the reflective layer, and the protective layer. There is no need for a dielectric layer because a simpler, and easier to use dye is used. This dye also prevented CD-R from having the compatibility with older drives that the CD-RW had.

Re-Writeable Compact Disks
CD-R/W disks store up to 500MB and can be used up to 1000 times without failure. Unlike CD-R, all data is stored in fixed length packets that are 32k in length so that files can be dynamically removed without disturbing other files. The composition of CD-RW files is more complex than that of CD-R, so these disks are generally more expensive, in the 5 dollars per disk range. The layer of the disk, from bottom up is; clear protective layer, Dielectric insulator layer for cooling, recording dye layer, another dielectric layer, reflective layer, and finally the protective coating. When information is being burned on the disk, the laser changes the opacity of the dye, creating areas where the read laser is allowed to pass through, and others where it is not. Some older disks are not able to read these disks.

Digital Versatile Disc
DVD is a refinement to the CD. In 1995, Sony and Philips with their "Multimedia CD", and Toshiba and Time Warner with their "Super Density" format got into a battle over the successor to the CD. Several committees along with the Hollywood Video Disc Advisory Group and the Computer Industry Technical Working Group were put in charge of finalizing a standard. They decided to ignore both formats that were put forth, and pushed for a collaboration of the two. The format was called "Digital Video Disc", but then was later changed to "Digital Versatile Disk" because of its multiple uses, for storage, audio, video and others. Another company called DIVX tried their own standard, but it never made an imprint before it was dropped.

CD DiskDVD Disk
Diameter120mm120mm
Thickness1.2mm1.2mm
Substrate Thickness1.2mm0.6mm
Track Pitch1.60mm0.74mm
Minimum Pit Size8.3mm0.4mm
Wavelength780nm635-650nm

A DVD is the same physical size of a CD, and all DVD devices are able to read CD's, but CD devices are not able to read DVD's. A digital versatile disk can store up to 4.7GB's on one layer. A second layer can be made but capacity drops to 3.8GB, for a total of 8.5GB per side. DVD's can be single double sided with single layers, which have a capacity for 9.4GB, or double sided with double layers for a maximum capacity of 17GB. DVD capacity was expanded by reducing the side of the pit length and track width. A more efficient error correction scheme and lower sector overhead also adding more storage room. DVD's are composed of the same materials as CD's, but have to go through stricter manufacturing tolerances to ensure quality.

DVD's can support up to 2 layers of information per side because the wavelength of the LASER is small enough to be able to be precisely aligned. Dual layer DVD's consist of multiple layers of materials - starting at the data side working to the center; molded polycarbonate (protective plastic), premastered pits layer (first data), semi-reflective reflector, premasted pits layer (second data). replicated photopolymer, standard reflector, adhesive. If this were a single sided disk, there would be a molded substrate layer, and a label. If this were a double layered disk, then the same layers would be repeated in reverse order for the opposite side.

DVD Writeable
There are currently two competing standards for DVD writeable. One technology headed up by Panasonic is the DVD-RAM format. It has the backing of major companies including Adaptec, Sigma, Hitachi, and Creative. The other format is the DVD-R. DVD-RAM products have been in the market for the last year, but there have yet to be any DVD-R products announced for release any time soon.

DVD-R is not backward compatible with current CD or DVD devices, although the DVD storage media is the same size as the non-writeable media. DVD-RAM devices are able to read current CD, CD-R/W, DVD and DVD-R media, and are compatible with DVD players, but no products have yet been released to the market. Both standards store up to 2.6GB per side, on a double sided DVD.


Storage Devices

To read information optically, the use of lasers is important. Lasers are used because they produce light of the same frequency and direction. This light DVD Devices
Early DVD devices were unable to read many CD-R materials because of the LASER wavelength that was used to read DVD material wasn't reflected by specific dyes used in the CD-R disks. This wouldn't allow the reading of any information from CD-R disk. The solution to this was to use different dyes with CD-R disks, or add another laser. Many disk makers added a separate LASER which would be used for reading CD's or CD-r's, while there was the original LASER which was used to read DVD disks.

CD Formats
Redbook Format - Compact Disk Digital Audio
This was the first data standard for CD's and it was only capable of storing audio information. It is named "redbook", because the specification was initially presented in a red colour binder, and the name stuck. It was first introduced in 1980 by Sony and Philips. This is the most important standard, because it is the standard used on ALL audio CD's. Every CD device ever made; whether it is a audio device, game console, or data CD reader; is capable of reading Redbook format CD's. All audio is recorded at 44.1KHz with 16bit samples as part of what are known as tracks. According to the Redbook standard, up to 99 tracks can be stored on a single CD. Redbook defines a Volume Table of Contents (VTOC) which contains information that identifies the CD's data as audio information, track numbers and lengths, and how to read it.

The format for a Redbook CD is that the CD is divided into 3 basic parts, the lead in, program, and lead out. All VTOC data is stored in the lead in part. The lead out is simply blank information to let the CD player know that the data is finished. All real data is stored in the program section of the CD. Data is stored in small blocks know as frames. Each frame has 24 bytes of user data, along with synchronization, ECC, and display bits. These small frames prevent scratches from damaging more data than is should.

To extract the audio information off of the CD, the device identifies the CD as a Redbook audio CD by its VTOC. Data is read off of the CD in binary form and passed through a simple Digital to Audio Converter, which converts it back to analog form. Audio information is less likely to malfunction, because audio is a waveform, and therefore predictable, the DAC can fill in areas were information is unreadable or corrupt. This allows even most scratched CD's to be playable without static or fuzz.

Data Standard ISO 9660 Format
This CD format was the first standard that could store data. It also extended on the Redbook format adding some features to basic audio recording. This format was introduced by Sony and Philips, and is also known as the "yellow book" standard, a spin off of the audio format "Redbook". It simply expands the Redbook format to be able to store data, its still uses lead in, program, and lead out areas, along with frames and simple ECC. What it does is group 98 frames together to from sectors. Each sector is given 288bytes of ECC code, 12 bytes for internal synchronization, a 4 byte header and a total of 2,048 bytes for actual data. All sectors are recorded in the VTOC by their (Minutes:Seconds) location on the disc.

Mode 1 is the basic YellowBook format, and Mode 2 is different version. Mode 2 still uses the same structure as Mode 1, except all ECC information is removed, allowing the capacity of each sector to increase from 2048 bytes to 2336 bytes. Mode 2 can only be used with data that is tolerant of data errors, such as audio, image, and movie files.

High Sierra Format
This was a format that expanded, and was integrated into the Data Standard ISO 9660 format. It was developed in 1985 by a collection of compact disc manufacturers during a conference at the High Sierra Hotel and Casino. This format improved how the CD's VTOF was stored, namely how the CD identified itself and its information encoding to the CD device, and how it stored its content, capacity and its file organization. A notable feature that the High Sierra format added was the ability to store both audio and data on the same CD, which was even capable of playback in not only a data device but also an audio device.

White Book Video CD
The White Book format is what is used for Video CD's. Video CD use specific MPEG encoding to allow up to 74 minutes of VHS quality, full motion video to be stored. They were used with standalone Video CD players, and also can be played in any computer that has the right video decoding software. Because only 74 minutes could be stored, this wasn't a good medium for digital movies, but was used more for personal home video recordings.

Extended Architecture Format
CDROM XA is a the first format that allowed multiple VTOC's and storage sessions. This would allow data to be stored, and then later more information could be stored. This format brought about requirements in cd playback devices, which now had to be capable of reading and understanding the multiple VTOC's. Any CD device that was not able to understand the multiple VTOC's would only be able to understand and read the information which was stored in the first VTOC.

Orange Book I and II
CDR disks use the Orange Book format. It was first introduced by Philips and Sony in 1988. The first format was capable of both single session which was part of Orange Book I or multisession recording, which was added in Orange Book II. Multisession recording requires 13.5MB of storage for each session after the first one, to work around the single VTOC that CD's had. Each session would require its own lead in, program, and lead out spaces. The capacity of CD-R range from 650-520MB, and decrease for every separate recording session.

Orange Book III
This format simply covers the special features that are needed for CD-RW, such as erasing, and writing overtop of data. This allows for a single VTOC, and eliminates nearly all wasted space associated with multisession recordings.

Universal Disk Format
UDF is the most common format for use in CD and DVD discs, it has no file size limitations, and doesn't have a directory structure limitation that the ISO 9660 has. It allows for filenames up to 255 ASCII characters, or up to 127 Unicode characters. It also has improvements in handling (32K) blocks and file overhead more effectively.

Disk Copy Protection
With the invention of CD-R, CD-RW, and DVD-R devices, copy protection has become a big issue to prevent the duplication of disks.

DVD Regional Codes
DVD regional codes are used to make sure that DVD's are only functional is certain areas of the world. Because movies and computer games are released at different times to different parts of the world, it is important that DVD's are not able to be played everywhere. Many movies are already out on DVD in North America by the time that they are just being released to the movie theaters in Europe, and vise versa. DVD regional encoding is to ensure DVD's aren't in places that they are not suppose to be. There are 6 different DVD regional zones,

  1. Canada, U.S., U.S. Territories
  2. Japan, Europe, South Africa, Middle East (including Egypt)
  3. Southeast Asia, East Asia (including Hong Kong)
  4. Australia, New Zealand, Pacific Islands, Central America, Mexico, South America, Caribbean
  5. Former Soviet Union, Indian Subcontinent, Africa (also North Korea, Mongolia)
  6. China
DVD regional encoding isn't a real encryption scheme, it is a single byte stored on the disk which is always read by the DVD device. Each DVD device has their own regional number, and the two numbers have to be the same in order for the disc to play. The DVD device's numbers are set by the manufacturer depending on the region the device is sold to. DVD regional numbers are made to be permanent, but there are many ways which they found out to be able to change this number. Newer drives allow this number to be changed between 5 and 8 times, but after that limit is reached the number is permanent.

Analog CPS - Macrovision VCR Protection
DVD's and video tapes hold movies, which could easily be duplicated by recording the video signal with a VCR. A company called Macrovision invented an Analog Protection System (APS) that will protect against this. All video cards capable of video output must be able to use APS, along with all VCR's. APS works by rapidly changing the colourburst signal ("colorstripe") along with pulsating the vertical blanking signal. This will confuse the synchronization and automatic recording level circuitry in almost all VCR recorders. This technique is transparent during playback, except in some older VCR equipment and televisions which use line doublers. In the incompatible hardware, this can cause serious video distortions.

For DVD discs, the disc header contains "trigger bits" for each sector telling the video decoder whether or not Macrovision was encoded into the video. The producer of the disc can decide which portions of the disc has a need for copy protection, because all video that uses Macrovision encryption has to pay royalties on a per minute basis. Because of the royalties, not all DVD's or videos use this encoding.

Content Scrambling System
CSS is used exclusively in DVD video to prevent DVD video files from being able to be copied. It is a means in which files are unplayable without a specific 5-byte (40bit) key. This key is used in a specific way as defined by CSS to decrypt the information into a useable form. Decryption hardware or software, and in order for the makers of the hardware or software to know what the key is, they had to go through a lengthy non-disclosure agreement in order to license the technology ad obtain their key which they would use for decoding. Part of this licensing is that the company is not able to have there product duplicate the files or output the decrypted data to a device that can.

Recently, a Norwegian group Masters of Reverse Engineering (MoRE) decoded the key from a faulty software DVD player called Xing DVD. Because of this, source code for the key has been published on the Internet, and a program named DeCSS, which is a small 60KB application is being distributed that is capable of decoding CSS on its own. Because they key was found out to be only 5 bytes long, through trial and error, the makers of DeCSS have found over 170 other valid keys from other companies.

Computer Peripherals


Keyboards
Original keyboards were made with 84 keys. Later, a version of keyboard known as the enhanced keyboard raised the keycount to 101. Windows 104 key keyboards are the most common now, and add buttons that were made to work specifically in Windows operating system.

Early keyboards where attached by an oversized connector called a DIN. This was replaced by what most computers use today, called a PS/2 port. Some newer keyboards are starting to use the USB interface.

Mice
Mice operate by sensing a ball under the outer shell. There are two scroll-wheels which brush up on this ball when the ball rolls, tracking its X and Y movements. Some newer mice do not use a ball anymore, rather they use a high speed camera underneath the shell, and this camera constantly takes of the surface below. By analyzing these pictures, the mouse can detect which way the mouse has moved.

Connectors
Early mice used the standard serial port of the computer. With the advancement of the PS/2 port, most mice are no longer connected to the serial port. Some newer mice are now being connected via the USB bus, which seems to be the trend of the future.

RAID


Redundant Array of Inexpensive Disks
In a server or workstation environment, hard disk performance is always a concern. While system memory may have a latency of only 7ns for needed information, and a bandwidth of over 1GB per second, hard drives are significantly slower. The average server level hard drive is only capable of access times as low as 300x that of memory, and transfer speeds maxed out at 40MB per second. Server hard drives most often have to store critical information, and there has to be a constant backup incase of hard drive failure or malfunction.

RAID support is needed by the SCSI or IDE controller to be implemented, but does not have to be supported by the hard drive. The hard drives used are never aware that they are being used in RAID, because all RAID control is done by the hardware controller or OS. This means that RAID can be done with any hard drive, no matter how old or poor quality. Some operating systems like Unix and WindowsNT are able to implement RAID levels 0 and 5 through software, but this is slower than having the hard drive controller do it.

RAID was first introduced to SCSI because of SCSI's ability to multitask requests, generally higher performance, and device capacity. All servers use SCSI because SCSI has less CPU usage, and more bandwidth than IDE. SCSI is generally more expensive than IDE, and is the higher performance standard, while IDE was designed to be the budget interface. Multiple hard drives mean unneeded expense for IDE, and the performance gain is less than it is for SCSI.

Some of the latest motherboards and expansion IDE controllers have brought RAID to IDE, so higher hard disk performance is no longer for only the high end.

Striping
RAID introduces the ability to interleave information between disks, called striping. This effectively doubles transfer speeds, in both reading and writing. Effectively it allows the data to be divided between 2 or more disks, so that all of the hard disks are able to collectively store the information. If one hard drive is able to store the data at 20MB/sec, than two hard drives in RAID 0 would be able to store information at 40MB/sec. Another advantage of this is that because data is divided between all of the hard drives, the storage capacity is the sum of the drives. If one hard drive is able to store 4GB of data, then two disks in RAID 0 would be able to store 8GB. RAID 0 is able to work with different disks, but both the speed and capacity of the slowest and lowest capacity disk is used for all of the other disks. If a 4GB hard drive is being used that can transfer at speeds of 30MB/sec and a 7GB hard drive that can transfer at speeds of 20MB/sec are being used in RAID 0, than the final output would be a 8GB drive that has a speed of 40MB/sec. Another thing to note in this situation, while speed is increased, reliability is decreased. If one hard drive in the array fails, all data is lost.

Duplication
RAID has the ability to duplicate information, on to one or more disks. This means that there is an identical backup of all of the information if the original hard drives were to fail. This can be used for one or more disks. For every disk using duplication, one hard drive with at least its capacity and speed is used as a mirrored image. Duplication offers faster recover from failures than parity because data only needs to be copied to the replacement disk.

Parity
Parity is a form of duplication, but doesn't require as much storage for a backup. It uses a scheme were it stores the difference between the disks to be backed up, so if one were to fail, the parity information could be read and the data recovered. It does not protect against more than one hard drive crash, but that is very rare. Parity information works as such; the parity disk stores what ever bit is needed to make the sum all of the other disks equal to 1.

2 Disks + Parity
Disk 1Disk 2Pariy Disk
001
010
100
111
Number 2 Disk Crash
Disk 1Disk 2Parity Disk
0x (0+x=1)1
0x (0+x=0)0
1x (1+x=0)0
1x (1+x=1)1

This setup an work with any number of disks; 2, 3, 7, ...; it doesn't matter how many disks are used, only one parity disk is needed. This scheme only protects against a single disk failure. If more than one disk fails all data is lost. Recovery is slower than with duplication, because all of the disk data needs to be processed and calculated so that the missing bit can be determined. This is often used when a cheap but reliable backup is needed, but a duplication RAID isn't as economically feasible.


RAID Modes
RAID 0
This is straight data stripping. It offers no data security and is used where maximum performance is the only concern.

RAID 1
This is pure duplication. This is the most expensive back up because 2 times the number of disks is needed than the amount of data to be stored. This offers no performance gains, but has the best security.

RAID 2
This scheme hasn't been introduced, and probably never will. What it calls for is the addition of additional ECC information to the data disks in a parity situation, so that data will likely be able to be recovered if up to two disks are faulty for larger arrays.

RAID 3
This is straight parity. There is no performance gain, but it is an economical security against a single hard drive failure.

RAID 4
This is parity based like RAID 3 and uses a dedicated drive, but the data is stored so that each of the data disks can be accessed independently without the parity disk speed bottlenecking their read and write speeds as much. This is not used as much as RAID 3 is.

RAID 5
This RAID level uses parity information for data security, but doesn't store it on a separate disk. Parity information is stored on each of the hard drives so that no extra parity hard drive is needed. This offers the security against a single hard disk crash, with minimum performance loss compared to RAID 3 and RAID 4.

RAID 6
A parity based approach like RAID 5, except for only one disk used for parity information, this scheme uses two. This means that if both the 2 main disks are faulty, there is enough information to recover all of the data. This isn't a great approach, and RAID 1 offers significantly more speed at the same reliability level, so that this is RAID level is hardly ever used.

RAID 10 and RAID 1+0
This is simply the use of both RAID 1 duplication and RAID 0 striping. It offers both the performance gains of the striping and the redundant security of duplication. The simplest setup is 4 hard drives, grouped into identical pairs.

RAID 30 and RAID 3+0
This is simply a RAID 3 configuration, except all of the data disks are further striped with data. Because the parity is calculated before the data is stripped, if one of the RAID 0 disk configurations fail, data is still recoverable.

RAID 50 and RAID 5+0
This is simply a RAID 5 configuration, except all of the data disks are further striped with data. Because the parity is calculated before the data is stripped, if one of the RAID 0 disk configurations fail, data is still recoverable.