SAS expanders explained
If you have a RAID controller with 8 ports, you can connect up to 8 SAS/SATA drives directly to the RAID controller. That's fine but if you for instance have a server with say 36 drive bays you would need a 36 port RAID controller. Those are hard or maybe even impossible to find.
Well, here is where the SAS expander comes into play. It will work somewhat like a network switch but for SAS/SATA ports.
The SAS expander IC can be integrated directly on the backplane of the drive bays or it can be a standalone card or PCIe card. These are often used when you have more than 8 drive bays and even more so when you have 16 or more drive bays.
It allows you to expand the number of drives the RAID controller is able to connect to. It's transparent to the user because the RAID cards have integrated support for SAS expanders. This is also true of HBAs (Host Bus Adapters).
The only drawback is that the maximum transfer rate is, as always, limited by the PCIe link to the RAID controller card but also by the SAS connections from the RAID controller to the SAS expander. In real life though these bottlenecks are seldom bottlenecks as it's uncommon to read from all drives at the same time and drives are also often slower, especially when using HDDs.
SAS expanders are also used heavily in external JBOD chassis which are expander chassis for drive bays that you connect to a server so you can attach more drives than fits in the standard enclosure, aka Direct Attached Storage DAS. In that case the SAS expander sits inside the JBOD chassis.
This is an example of a jbod expansion chassi. 88 drive bays total (both front and back).
Data flows between the server and the jbod chassi over SAS cables. Only thing needed to use a jbod chassis is a RAID/HBA card in your server with external ports.
Notice the SAS connectors to the right of the power supplies. Usually several JBODs can be connected together, aka daisy-chained, without putting more RAID cards in the server.