Data flow from I/O to main memory
From I/O to main memory:
1) Reading from keyboard: USB controller->I/O bridge->Register File->I/O bridge->Main Memory
2) Loading from disk: Disk controller->I/O bridge->Main Memory
3) Reading from network: Network adapter->I/O bridge-> (Register File or Main Memory or disk virtual address space of TCP/IP ???)
From main memory to I/O:
Reference:
Copying to and from a remote host