论文部分内容阅读
当今的数字时代对数据存储的大容量、高速度的需求不断提高,传统的机械硬盘(HDD,HardDiskDisk)已不能满足这样的需求,在这样的情况下固态硬盘(SSD,SolidStateDisk)应运而生。固态硬盘主要采用NANDFLASH作为存储单元,而控制芯片主要用于NANDFLASH的管理,NANDFLASH控制器的好坏将直接影响控制芯片的好坏,进而影响固态硬盘的性能。 本论文研究了应用于SSD的NANDFLASH控制器的实现方案,完成了控制器的设计并进行了系统的验证。为了提高SSD中的FLASH接口的数据带宽本控制器采用8通道8级流水线操作来控制FLASH芯片组。实现方案中将控制器分成了以下几部分:总线接口子模块、FIFO子模块、shift子模块、命令控制子模块、NANDFLASH接口子模块、ECC管理子模块。除ECC子模块外其他部分主要用来实现命令的解析和时序参数的配置。本控制器支持DMA操作,支持burst4、burst8、burst16传输。为了提高少量数据操作时的性能,本控制器支持“伪DMA”操作,通过CPU和DMA接口的混合使用来提高数据传输率,经过测试,在少量数据操作时其可以将效率提升10倍。另外本控制器可以对每个通道单独操作,可以在不浪费存储空间的前提下进行少量数据的写入。本控制器支持传统的和ONFI标准的NANDFLASH。用触发器、延时单元和多路选择器来满足同步接口的数据发送时序;用正沿触发器和负沿触发器、延时单元来满足同步接口的数据接收时序。 本论文中的NANDFLASH控制器支持绝大多数传统的NAND闪存和ONFI3.1标准的NAND闪存,从而很好地实现了本控制器的通用性。经过测试,本控制器对八路并行NANDFLASH的读速率达到了500MB/s、写速率达到了450MB/s,完全可以满足SSD的需求。在ECC纠错的可靠性及时序配置的易操作性上也达到了预期的目标。