2014/01/07

Data Into Storage

I uploaded a picture to Facebook, here is a my guess how a packet of the picture flies and lands.


  • 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

No comments:

Post a Comment

Post Code on Blogger

Simplest way to post code to blogger for me: <pre style="background: #f0f0f0; border: 1px dashed #CCCCCC; color: black;overflow-x:...