Patent ID: 8171176

Claim:
A method for at least one virtual machine operating on a computer system, in addition to a master/hypervisor application operating on said computer system, to access at least one Serial Attached SCSI (Small Computer System Interface) (SAS) physical device connected to said computer system via at least one physical port of a SAS controller of said computer system without using a routing table on said SAS controller comprising: creating a virtual expander operating on said SAS controller for said at least one physical port of said SAS controller, said virtual expander not having a routing table for port-to-port routing of messages; creating a static root virtual port operating within said virtual expander on said SAS controller to abstract access to said at least one SAS physical device connected via said at least one physical port of said SAS controller; creating a virtual port operating within said virtual expander on said SAS controller that operates in coordination with said at least one virtual machine; creating a complete local topology copy within said virtual expander operating on said SAS controller that replicates a physical topology of physical devices connected and visible to said at least one physical port of said SAS controller, said complete local topology copy including said at least one SAS physical device; creating a private clone copy of said at least one SAS physical device within said virtual port operating within said virtual expander based on said complete local topology copy within said virtual expander such that said at least one SAS physical device is replicated within said virtual port; assigning a unique SAS address to said private clone copy of said at least one SAS physical device; registering said private clone copy assigned said unique SAS address with said at least one virtual machine corresponding to said virtual port such that a one-to-one association is established between said virtual port and said static root virtual port within said virtual expander operating on said SAS controller; and accessing said at least one SAS physical device by said at least one virtual machine through said private clone copy of said at least one SAS physical device replicated on said corresponding virtual port using said unique SAS address.