A flash controller is the part of flash memory that communicates with the host device and manages the flash file directory. The controller is also responsible for wear leveling, error correction and garbage collection. The level of intelligence built into the flash memory controller is an important factor to consider when selecting the right solid state drive for the job.
Consumer-grade SSDs generally are generally built with generic controllers that are inexpensive and not expected to support frequent program/erase (P/E) cycles. Enterprise SSDs, which must support write-intensive applications, often have proprietary controllers that are specifically designed to improve the drive’s endurance and improve performance. An enterprise flash controller can compensate for NAND-flash limitations with highly sophisticated wear leveling techniques and advanced error-correction algorithms.