Patent ID: 6937611

Claim:
A system for servicing a plurality of communication channels, comprising: a host adapter configured to service communication requests from communication requesters to communication targets, wherein said host adapter provides for up to a maximum number of communication channels to service the communication requests; a communication fabric configured to provide a limited bandwidth to said host adapter to service said communication requests, wherein said communication fabric couples said communication targets to said host adapter; a first memory configured to store a lowest level of a hierarchical channel map, wherein said lowest level comprises, for each communication channel supported by said host adapter, one bit dedicated only for a corresponding communication channel to which it is mapped, wherein each bit of said lowest level is set to indicate that the communication channel to which it is mapped has a pending communication request and is cleared if the communication channel to which it is mapped does not have a pending communication request; a second memory configured to store a top level of the hierarchical channel map, wherein each bit of said top level maps to a section of said lowest level, wherein each bit of said top level is set if at least one bit in the section of said lowest level to which it is mapped is set and is cleared if none of the bits in the section of said lowest level to which it is mapped are set; wherein said host adapter is configured to determine a next channel to be serviced by examining said hierarchical channel map.