This section focuses on the main blocks of a generic SSD controller and its
connection to the NAND flash. Controller functionality varies with the type
of product for which it is intended.
A simple consumer SD card controller is designed for cost and in some
cases performance. For this application, it would be an overkill and
unneeded expense to add an encryption & decryption engine to the silicon.
In other cases, such as secure military grade SSD, encryption & decryption
may be an absolute necessity. Other applications rely on SMART data
to predict an imminent failure looming in the future so the SSD can be
replaced prior to an unexpected failure.