论文部分内容阅读
过去由于数据存储以及系统运行速度的限制,人工智能等技术被一度抑制在摇篮里,但是随着非易失性存储器的快速发展,大规模的存储设备的诞生,可存储的数据量日益猛增,系统的数据吞吐速度要求越来越来,同时推动人工智能、大数据和云存储的迅速发展。NAND Flash容量大速度快,易实现大规模存储,是现在一种主流的非易失性存储器。由于NAND Flash本身工艺等问题,所以NAND Flash一般不直接作为存储器使用,需要结合主控器才能更好的工作。固态硬盘(Solid State Drives)和嵌入式多媒体卡(Embedded Multi Media Card)就是NAND Flash和主控制器结合的产物。使用固态硬盘的计算机,系统加载速度明显加快,而eMMC可用于手机等较小的存储设备中。主控器是SSD和eMMC的核心部分,一个好的主控芯片或IP(intellectual property core)是保障NAND Flash不出错的关键。基于上述考虑,本课题开展对NAND Flash控制器的研究设计工作,致力于实现一个功能完善的主控制器,并使用现场可编程门阵列(FPGA)实验验证,为后续实现主控芯片或IP核打下基础。主控制器最重要的两个模块就是纠错模块和块管理模块,本文将会对这两个模块优化改进:第一,本文将串行BCH纠错码改为并行编解码,并使用贪婪算法优化有限域乘法器;第二,本文的块坏管理算法基于逻辑地址映射来实现,并提出一种基于有效页和擦除次数比例的动态均衡损耗模型,与CAT算法相比,CAT算法的时间间隔因素是一种随机的变量,系统不同的时间段操作的差异可能对该模型造成不同的影响,而本文的均衡损耗算法能更直接的反应该块的损耗情况。本文的具体内容主要包括:首先介绍了 NAND Flash以及其升级产品(SSD,eMMC)内部模块发展的背景以及国内外形势,然后对NAND Flash的本身结构特点以及读写等时序做了一个详细介绍,后续是介绍针对NAND Flash的错误翻转缺点而设计的BCH纠错码,并将其改为8bit并行编译码加快编译码速度,使用Python编码验证,并使用硬件描述语言(Verilog)实现编解码,最后在此基础上使用贪婪算法优化有限域乘法,综合考虑面积与速度选择最适合的有限域乘法器电路进行综合使用。接着,本文详细介绍根据本文系统提出的块管理模块,包含坏块管理、均衡损耗和垃圾回收,使用映射表进行块管理,不用直接对物理块操作,加快了系统的运行速度,并提出一种基于有效页和擦除次数的动态均衡损耗模型。最后是系统的实现部分,一是介绍了读写擦和块管理等模块功能在系统中编码实现的具体流程,二是介绍本文系统的组成,分别是上位机、微控制单元(MCU)和FPGA以及外围电路,上位机使用MFC设计,并完成由电源模块、MCU、FPGA以及外围电路组成的印刷版电路(PCB)设计,最后建立相应实验环境来验证其正确性。