Difference Between Synchronous and Asynchronous Data Transfer
Data transfers occur in bursts of information, each composed of a certain amount of bits. In order for a receiver to make sense of the data, it must know when to start and when to stop reading each burst. Synchronous and asynchronous transfers represent different methods of addressing this issue. The former involves a communication between the sender and receiver where the two agree upon the timing of the transfer. The latter relies on cues in the data itself to indicate to the receiver how to read the information.
In synchronous data transfers, the sender and receiver take some time to communicate before they make the exchange. This communication outlines the parameters of the data exchange. This usually involves establishing which end, sender or receiver, will be in control of the transfer. Here, the two parties also ensure they are using the same timing; that is, they know when each burst ends and another begins. They also set parameters for resetting their clocks during the transfer to make sure they don't drift away from the agreed-upon timing.
In asynchronous, or "best effort" transfers, sender and receiver do not establish the parameters of the information exchange. Rather, the sender places extra bits of data before and after each burst that indicate when each burst begins and ends. It then sends the information, and it is up to the receiver to determine how to reset its clock to match the timing of the signal. Unlike synchronous transfers, the receiver does not take time to communicate to the sender information about what it received.
Benefits and Drawbacks
Asynchronous transfers are generally faster than synchronous transfers. This is because they do not take up time prior to the transfer to coordinate their efforts. However, because of this, more errors tend to occur in asynchronous transfers as opposed to synchronous transfers. If many errors occur, it can negate the time saved by eliminating the initial step of setting transfer parameters, because the receiver will have to take measures to correct its errors.
Asynchronous transfers work well in situations where the exchange occurs over a reliable physical medium, such as fiber optic and coaxial cabling. This helps minimize transmission errors, so the time saved by forgoing establishing parameters actually results in a faster transfer from the end user's point of view. Synchronous transfers work well when using less reliable transfer media, such as electrical wires and radio signals. Here, it's worth taking the extra time to coordinate the details of the transfer as it compensates for mistakes made by the physical medium.