Legal claims defining the scope of protection, as filed with the USPTO.
1. A Serial Attached SCSI (SAS) expander circuit comprising: a plurality of physical links with transceivers (PHYs); a routing memory including entries that each indicate a set of the PHYs available for initiating a connection with a SAS address, the routing memory including an entry that represents a SAS port with a start tag indicating a first PHY of the port and a length tag indicating a number of PHYs in the port; a Content Addressable Memory (CAM) including entries that each associate a SAS address with an entry in the routing memory; and a controller operable to receive a request that identifies a SAS address, further operable to use the CAM to determine a corresponding routing memory entry for the identified SAS address, and further operable to select the port indicated by the corresponding routing memory entry in order to initiate a connection with the identified SAS address.
2. The SAS expander of claim 1 wherein: the size of the start tag for the entry, in bits, is equal to log 2 of the number of PHYs in the expander rounded up to the nearest whole number.
3. The SAS expander of claim 1 wherein: the size of the length tag for the entry, in bits, is equal to log 2 of the number of PHYs in the expander rounded up to the nearest whole number.
4. The SAS expander of claim 1 wherein: the SAS expander operates in a SAS domain; and the routing memory includes an entry for each SAS address in the SAS domain.
5. The SAS expander of claim 1 wherein: the controller further includes logic to transform the start tag and the length tag of the entry in routing memory into a bit mask that indicates the PHYs of the port.
6. The SAS expander of claim 1 wherein: each entry in the CAM includes a bit mask, each bit of the mask indicating an entry in the routing memory.
7. The SAS expander of claim 6 wherein: the controller is further operable to combine the indicated entries to determine which ports are available to initiate a connection with the identified SAS address.
8. The SAS expander of claim 7 wherein: the controller is further operable to combine the indicated entries by combining the available PHYs for each the indicated entries.
9. The SAS expander of claim 1 wherein: the routing memory includes an entry for each port in the SAS expander.
10. A method for operating a Serial Attached SCSI (SAS) expander circuit comprising a plurality of physical links with transceivers (PHYs), the method comprising: receiving, at the SAS expander, a request that identifies a SAS address; accessing a Content Addressable Memory (CAM) to identify an entry that associates the identified SAS address with an entry in routing memory of the SAS expander; accessing an entry in the routing memory that corresponds with the CAM entry, the entry in the routing memory representing a SAS port with a start tag indicating a first PHY of the port and a length tag indicating a number of PHYs in the port; and selecting the port indicated by the corresponding routing memory entry in order to initiate a connection with the identified SAS address.
11. The method of claim 10 wherein: the size of the start tag for the entry, in bits, is equal to log 2 of the number of PHYs in the expander rounded up to the nearest whole number.
12. The method of claim 10 wherein: the size of the length tag for the entry, in bits, is equal to log 2 of the number of PHYs in the expander rounded up to the nearest whole number.
13. The method of claim 10 wherein: the SAS expander operates in a SAS domain; and the routing memory includes an entry for each SAS address in the SAS domain.
14. The method of claim 10 further comprising: transforming the start tag and the length tag of the entry in routing memory into a bit mask that indicates the PHYs of the port.
15. The method of claim 10 wherein: each entry in the CAM includes a bit mask, each bit of the mask indicating an entry in the routing memory.
16. A Serial Attached SCSI (SAS) expander circuit comprising: a plurality of physical links with transceivers (PHYs); a routing memory including entries that each indicate a set of the PHYs available for initiating a connection with a SAS address, the routing memory including an entry that represents a SAS port with a start tag indicating a first PHY of the wide port and a stop tag indicating a last PHY in the port; a Content Addressable Memory (CAM) including entries that each associate a SAS address with an entry in the routing memory; and a controller operable to receive a request that identifies a SAS address, further operable to use the CAM to determine a corresponding routing memory entry for the identified SAS address, and further operable to select the port indicated by the corresponding routing memory entry in order initiate a connection with the identified SAS address.
17. The SAS expander of claim 16 wherein: the size of the start tag for the entry, in bits, is equal to log 2 of the number of PHYs in the expander rounded up to the nearest whole number.
18. The SAS expander of claim 16 wherein: the size of the length tag for the entry, in bits, is equal to log 2 of the number of PHYs in the expander rounded up to the nearest whole number.
19. The SAS expander of claim 16 wherein: the SAS expander operates in a SAS domain; and the routing memory includes an entry for each SAS address in the SAS domain.
20. The SAS expander of claim 16 wherein: the controller further includes logic to transform the start tag and the stop tag of the entry in routing memory into a bit mask that indicates the PHYs of the port.
Unknown
May 12, 2015
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.