1. Start by loading the registers within the device controller
2. The device controller examines the files and processes the registers to determine the appropriate tasks or action to execute
3. The controller begins to manage the transfer of data from the device to its local buffer
4. Once the transfer of data has been successfully completed, the device controller signals the device driver via interrupt that has finished its task
5. Then the device driver returns control to the operating system