First, isn the caching controller hardware and isn hardware always faster than software?
Well, yes there is a piece of physical hardware that is called the caching controller, but no, the cache is not really “in hardware”. Managing a disk is a fairly complicated task, complicated enough that you really can’t implement the controller in combinatorial logic. So, just about all disk controllers and for that matter all disk drives have a general purpose computer on them. They run a little software program that manages the communication between the main cpu and the disk bus, or the disk bus and the disk. Often this cpu is put in with a bunch of other logic as part of a standard cell custom chip, so you might not see a chip that says “Z80” or such. So, we are really not comparing “hardware” with “software”, we are comparing “software on the controller” with “software on the main cpu”.