Storage is only one of many types of I/O devices within a computer.

A large part of I/O devices is dedicated to managing input/output because of the reliability and performance also because of the different nature of the device.

Each and every device controller take care of a specific type of device 
The device controller maintains two things: 1. Local buffer 2. Set of special-purpose register.
Normally OS has a device driver for every device controller.
Driver understands the controller can provide a uniform interface to the device for the rest of the OS.

working of I/O Operation:

I/O operation is started when the device driver loads the appropriate registers to the device controller. The device controller examines the content of these register to decide what action need to take.

Before moving any further let's understand what is a register?
A register is loaded because it had all the information/ data about the input/output and what action needs to be taken.

After this transfer of data starts from the controller to the local buffer.
Once the transfer of data is complete device controller sends the information to the device driver that interrupts that the operation has been finished.  Here per bit of data is interrupted when it is transferred.

A disadvantage of this process:
It is fine for moving of small amount of data but it can get hard when dealing with a large amount of data or when the data needed to be moved in bulk.
 
How to solve this problem?
DMA can be used to solve this problem let's try to understand what is DMA.
DMA ( Direct memory access) in this once the memory, pointer, counter are the set-up for the I/O device the device controller can directly transfer data to or from its own buffer storage with no intervention with the CPU. Here only one interruption is done per block to tell the device driver that operation is done. Also, it follows the same three starting points from the above operation. In the end, When the device controller is performing this operation CPU is free to take care of or complete other work.