基于BCH码的NAND Flash控制器设计

基于BCH码的NAND Flash控制器设计

论文摘要

移动电话的功能日益丰富,其对系统中数据存储容量的需求正在快速增长,NAND FLASH因其非易失及可擦除性以及其具有更小的体积更快的写入和擦除速度,在嵌入式设备中得到广泛的使用。为了进一步减小单位比特价格,增加存储密度,新一代Multi-Level Cell (MLC)技术以及工艺几个尺寸的进一步缩小(60nm和45nm)是业界的两种主流方法。相对于Single-Level (SLC)每个单元只存一位数据,MLC原理是两个(或多个)位的信息存入一个浮动栅,但这使得相邻数据电压之间的空间变小,可靠性变差,所以MLC存储时要更精确的控制每个存储单元的充电电压,BCH码是纠错能力可控的纠随机错误码,是循环码的子类。SLC中常用的一位纠错码(如汉明码)己不适合MLC的情况,BCH码具有更强的纠错能力。本文讨论了了主流NAND FLASH(基于三星的)的结构特征以及接口读写擦除时序特点,并且粗略的介绍了基于ARM的嵌入式结构[14],提出了一种基于AMBA总线的NAND FLASH控制器实现方案,并且对该方案进行了充分的验证工作。本文重点介绍了根据实际需要的BCH的编码和译码算法以及算法的实现方法和优化,针对由于实际的需要,提出了每一次可进行512Byte,1KB,2KB, 4KB,6KB和8KB编码解码的基于BCH的NAND FLASH控制器结构。对控制器的验证采用了模拟验证和FPGA验证两种方式,在模拟验证阶段对控制器的所有功能特点进行全面验证,结果正确后,在Xinlinx公司Vertex5开发板上对控制进行了FPGA验证。结果表明控制器能正确控制NAND FLASH的各种读写操作。本文的设计的NAND FLASH控制器是基于某公司SOC芯片需求而设计的,提出的NAND FLASH控制器实现方案完全满足实际需要。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 课题背景及意义
  • 1.2 BCH码的简单介绍
  • 1.3 本文的研究内容
  • 第二章 NAND Flash接口及操作时序
  • 2.1 NAND Flash的存储规格说明
  • 2.2 NAND Flash的接口及存储错误分析
  • 2.3 NAND Flash的操作时序
  • 2.3.1 读页操作
  • 2.3.2 读ID操作
  • 2.3.3 写页操作
  • 2.3.4 读状态操作
  • 2.3.5 块擦除操作
  • 2.4 全章总结
  • 第三章 BCH算法基本原理
  • 3.1 纠错码的基本概念
  • 3.2 循环纠错码编码译码原理
  • 3.2.1 循环码的编码原理
  • 3.2.2 循环码的译码原理
  • 3.3 BCH纠错码原理
  • 3.3.1 BCH码基本原理
  • 3.3.2 BCH码的编码原理
  • 3.3.3 BCH码的译码原理
  • 3.4 BCH码参数设置
  • 3.5 本章总结
  • 第四章 并行BCH码编码器设计
  • 4.1 串行BCH码编码器
  • 4.2 并行BCH码编码器
  • 4.3 NAND Flash控制器中数据缓冲存储器
  • 4.4 全章总结
  • 第五章 并行BCH译码器
  • 5.1 BCH译码预计算模块
  • 5.1.1 CRC值计算
  • 5.1.2 继续进行CRC值计算
  • 5.2 BCH译码模块
  • 5.2.1 伴随式计算电路
  • 5.2.2 错误位置计算多项式电路
  • 5.2.3 Chien搜索电路
  • 5.3 数据修正模块
  • 5.4 全章总结
  • 第六章 NAND Flash Controller结构
  • 6.1 NAND Flash Controller结构
  • 6.2 本章总结
  • 第七章 仿真验证
  • 7.1 仿真验证策略
  • 7.1.1 BCH码编码解码算法验证
  • 7.1.2 软件仿真
  • 7.1.3 FPGA平台验证
  • 7.2 仿真验证结果
  • 7.2.1 算法仿真验证的计算结果
  • 7.3 NCSimulater软件仿真结果
  • 7.4 FPGA验证结果
  • 7.5 全章总结
  • 第八章 全文总结与展望
  • 8.1 全文内容总结
  • 8.2 本设计创新点
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  

    基于BCH码的NAND Flash控制器设计
    下载Doc文档

    猜你喜欢