Is there a good reason why we use separate SSD controllers instead of letting the primary cpu handle it? The obvious reason is backwards compatibility, but as more of computing moves to SSDs, is this still relevant?
ZFS has shown that removing layers of abstraction with regard to storage can be beneficial.