To execute a series of command processes after dividing it into the commands equivalent to plural operating blocks, to easily grasp the operating state of each command process, to simplify an interface controller of an HDC (disk controller), etc., in terms of design, and also to increase the degree of freedom to the command processing function.
An HDC 1 includes a command processing part 12 which divides a series of command processes into plural command processes against a command issued from a host computer 2 and can process these command processes independently of each other. The part 12 executes the command processes corresponding to the state codes set at a state register independently of each other and also updates the state codes of the state register when each command process ends. Then a CPU 5 executes the specific commands other than a read/ write command under the control of the state register of the part 12.