Patent ID: 8527685

Claim:
A method for providing firmware-driven multiple virtual expanders on a single expander hardware component via an expander system, said method comprising: receiving a request at the expander system from a connected device; comparing, via the hardware component, an address of the received request to at least one of: a first address of the expander system and a second address of the expander system to determine if the received request is addressed to the expander system, a first physical phy of the hardware component being pre-programmed with the first address, a second physical phy of the hardware component being pre-programmed with the second address, the second address being different than the first address, thereby causing the hardware component to be presented to the connected device as a first virtual expander having the first address and a second virtual expander having the second address; when the hardware component determines that the received request is addressed to the expander system, generating an interrupt via the hardware component and invoking a registered handler of a firmware component of the expander system via the hardware component; checking, via the registered handler, Open Address Frame information corresponding to the received request; and processing the received request, via the registered handler, based upon said checking of the Open Address Frame information, wherein said processing includes: selecting either a first request handler or a second request handler, the first request handler being configured for processing requests addressed to the first virtual expander, the second request handler being configured for processing requests addressed to the second virtual expander.