The present invent
// SuperTux // C
As part of a pilot
In recent years, t
Brasil: Ao menos c
AUSTIN - After two
It may be just wee
This invention rel
New Mexico Gov. Su
Q: How to access

#ifndef __STDLIB_H
Introduction {#Sec
I’ve been using Wo
Show HN: A JavaSc
Q: Can I have an
Therapeutic drug m
[Study of the mech
"He was the one wh
Vision from the he
Cochlear developme
The present invention relates to a data processing system and method thereof, and more particularly, to a data processing system and method of synchronizing operation performance between storage devices. In computer systems, a storage device is a storage medium which stores information according to a control program executed in a data processing apparatus, and the storage device includes a hard disk drive, a floppy disk drive, an optical disk drive, and so on. Generally, a first storage device is coupled to a data processing apparatus such as a CPU of a computer, and provides data to the CPU. The first storage device may be coupled to a controller of a storage system through a Small Computer System Interface (SCSI) bus or through an Advanced Technology Attachment (ATA) interface. The controller communicates with the data processing apparatus, the first storage device, a second storage device, and so on through an ATA or SCSI protocol. Also, the first storage device includes a plurality of blocks, each of which corresponds to an access unit for allowing the data processing apparatus to access data in the first storage device. Each block is a minimum unit of data which can be read or written. The data is recorded in the first storage device on a block-by-block basis. If the data processing apparatus intends to read or write a particular block of data, the data processing apparatus issues a request to the controller for reading or writing the block in the first storage device. Meanwhile, in a multi-processing type computer system, each of two or more data processing apparatuses can access one of two or more first storage devices coupled to the data processing apparatuses. In multi-processing type computer systems, if two or more data processing apparatuses are allowed to access two or more storage devices simultaneously, a system failure such as a reading error can be caused. Also, if two or more data processing apparatuses simultaneously access one of two or more first storage devices coupled to them, the first storage devices cannot provide data to the two or more data processing apparatuses concurrently. However, in conventional computer systems, if two or more data processing apparatuses intend to access one of two or more storage devices simultaneously, the data processing apparatuses cannot be aware of the operation status of the storage devices and cannot avoid operation conflicts. This is because, a data processing apparatus cannot determine whether any other data processing apparatus is allowed to access any of the storage devices coupled to the data processing apparatus. As a result, all of the first storage devices coupled to the data processing apparatuses may be under heavy loads during the operation of the data processing apparatuses. In addition, even if the system does not result in an undesirable phenomenon, since the data processing apparatuses cannot determine whether a first storage device coupled to them has a free area for writing new data or reading existing data, the first storage devices cannot provide data to the data processing apparatuses in an efficient manner. As described above, in conventional multi-processing computer systems, since each of the data processing apparatuses cannot determine whether any other data processing apparatus is allowed to access any of the storage devices coupled to the data processing apparatus, all of the first storage devices coupled to the data processing apparatuses may be under heavy loads during the operation of the data processing apparatuses. Also, if two or more data processing apparatuses simultaneously access one of two or more storage devices coupled to them, the first storage devices cannot provide data to the data processing apparatuses in an efficient manner. In addition, since conventional multi-processing computer systems are configured such that a plurality of storage devices are coupled to a plurality of data processing apparatuses, in the case where only a few of the data processing apparatuses need to access the storage devices coupled to them, an undesirable situation may be caused, because a data processing apparatus must wait until a completion signal for a preceding operation by another data processing apparatus. The present invention is directed to a data processing system and method thereof, in which a plurality of storage devices can access a plurality of data processing apparatuses. According to the present invention, a storage device can access a first data processing apparatus and a second data processing apparatus, and the first data processing apparatus can access the storage device. The first data processing apparatus and the second data processing apparatus can simultaneously access the storage device, such that accesses by the first and second data processing apparatuses do not conflict. In addition, in the case where one of the first and second data processing apparatuses intends to access a specific storage device, the specific storage device can allocate a block of data for the one of the first and second data processing apparatuses to be accessing the specific storage device. According to the present invention, a data processing apparatus is coupled to a first storage device, and the first storage device is coupled to a second storage device. A controller is coupled to the data processing apparatus, the first storage device, and the second storage device. The controller is configured to read data from the first storage device, and provide the read data to the first data processing apparatus, so that the first data processing apparatus can access the first storage device. A controller is coupled to the data processing apparatus, the second storage device, and a second data processing apparatus. The controller is configured to read data from the second storage device, and provide the read data to the second data processing apparatus, so that the second data processing apparatus can access the second storage device. The above described features and advantages of the present invention will be appreciated by those skilled in the art upon a reading of the detailed description with references to the accompanying drawings.