I&#x27;ve made that point before on YC.[1]  We need to view fast storage as something other than a disk accessed through the OS, and other than slow RAM accessed as raw memory. Access through the OS is too slow, and access as raw memory is too risky.   What&#x27;s probably needed is something like a GPU sitting between the CPU and the fast persistent storage. Call this an SPU, or &quot;storage processing unit.&quot;<p>What would such a device do?  Manage indices, do data transformations, and protect data.  Database-type indices would be maintained by the SPU, so applications couldn&#x27;t mess up the database structure.  The SPU would manage locking, so that many non-conflicting requests could be serviced simultaneously.  The SPU would have tools for doing searches.  Regular expression hardware (this exists) would be useful. Record protection management (app can read&#x2F;write part but not all of a record) would allow implementation of database type data access rules.  Encryption and compression might be provided in the SPU.<p>There have been smart disk controllers before, but they haven&#x27;t been that useful, since they couldn&#x27;t make the disk go any faster.  Now, it&#x27;s time to look at that layer again.  Some of the technology can be borrowed from GPUs, but existing GPU architecture isn&#x27;t quite right for the job. An SPU will be doing many unrelated tasks simultaneously. GPUs usually aren&#x27;t used that way.<p>[1] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9964319" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9964319</a>