- Packet is sent to Linux kernel
- Linux kernel handles it to network adapter driver
- Network adaptor sends packet to network, Packet goes through few routers or any other devices and reaches server in Facebook data center.
- Server network adapter collects data and sends it HTTP server application.
- HTTP server application wants save this packet permanently, so the packet is sent back to server kernel to be written on a storage device.
- Packet is sent to Fibre Channel driver, Fibre Channel adapter use Fibre Channel protocol to wrappers SCSI write command which contains the packet.
- Packet in SCSI command flies over SAN and arrives at a storage controller system
- Storage controller system ( may be a RAID controller ) finds out which hard disk to write the data and wrap the data with ATA command.
- ATA command is sent via SATA cable and received by hard disk controller
- Hard disk controller decodes SATA information and the encode packet with EDC+LPDC and write to hard disk. ( a lot of complexity is hidden in this step, that is the my current job ... )
There is a lot of overhead and complexity here and there.
Reference