Motivation: To create a flexible, extensible platform by adapting an FPGA as a SSD controller. We hope that the system will facilitate rapid SSD controller research and testing in the future.
Objective: An encrypted FPGA-based Solid State Drive with reasonable performance
Medthod: The host(running Linux on a PC) sends commands to our block device driver, which relays them to the FPGA through PCI Express. The commands are then processed and translated into appropriate bus transactions that reads/writes data to the NAND Flash chips on our custom designed DIMM. Other features include AES encryption, Error correcting code and DRAM caching. After the initial implementation, we will then profile our system to find the performance bottlenecks, and optimize those modules.