Patent attributes
A transfer start/end detecting section detects timing at which a DMARQ signal becomes an H level or an L level. A transfer time-measuring section measures a transfer time during which data transfer is actually performed within a period in which a predetermined number of data blocks are transferred. A transfer byte count-measuring section measures a transferred byte count of data that have successfully been transferred. An effective data transfer rate-computing section computes an effective data transfer rate by dividing the transferred byte count by the transfer time. A transfer rate-comparing section compares the effective data transfer rate with a transfer rate that is one step slower than a current transfer rate output from a selectable transfer rate-storing section. If the former is slower, a transfer rate-switching section switches to the transfer rate that is one step slower. A large decrease in the effective data transfer rate caused by data corruption is prevented.