Wednesday, June 2, 2010

FC Basics


This is a preface of what is to come in my next blog.

SCSI Basics


Hmm why am I here? When I started my professional carrier with storage, it was all about Fibre channel [FC]. I had the feeling that storage is nothing but FC, I don't blame anyone or myself for the fact that FC by itself was awwwh for me at the phase. I had to do a lot of pace to catch up with others and I started to work on few smaller and enterprise FC switches.

As days went by I had this question where did this evolve and why not ethernet and what about other interfaces as basically it was still SCSI commands which we are handling in FC. This blog is not intended for SCSI experts or professionals for sure because they are well aware of what I am going to speak here.

Evolution of SCSI

By large, SCSI 1-2 standards where based on parallel interface. In initial stages, when any one spoke about SCSI it included both the commands and interfaces there was no separate standard. But the growing advantages of serial communication made people to think and naturally categorize SCSI to commands, protocols and interconnects. The protocols basically covered the mapping layers like FCP, SBP and iSCSI and the physical layer formed the interconnects.

So standards that were defined by the end were SCSI - 3 forming the commands and SAM, the SCSI architecture model consisting of commands, protocols and interconnects.

Some may be wondering what those commands in the top of the picture in this blog, so here is it.
  • SBC stands for SCSI Block command, when we deal with FC we use SBC - SPC - FCP - [FC-PH, FC-AL].
  • RBC stands for Reduced Block command, hmmm ok USB use them RBC - SPC - SBP - USB physical layer.
  • SMC - SCSI Media commands, tape drives and CD drives use this for basically changing media.
  • SCC - Storage controller commands, All storage which we know have controllers in them which does various operations like managing the drives or LUNS and implementing virtualization. The SCSI commands used to direct these controllers are SCC.
  • MMC - Multimedia commands, I think everyone knows about this is present in every mobile phones and cameras these days.
  • SSC - SCSI streaming commands, well anything which have to deal with streaming data would have to deal with SSC.
  • SEC - SCSI enclosure commands, so we do manage enclosures tooo ;) and these commands deal with enclosures alone.

So I think the basics is pretty much covered here. And by the way IEEE - 1394 is nothing but Firewire :P