【技术实现步骤摘要】
一种多通道NandFlash控制器及其控制方法
本专利技术涉及闪存
,尤其涉及一种多通道NandFlash控制器及其控制方法。
技术介绍
NANDFlash是一种块页式结构的非易失性存储器,其存储空间由若干存储块(Block)组成,每个存储块由若干存储页(Page)组成。存储页可以分为两个存储区,较大的是数据区,用于存放数据,较小的是spare区,通常用于存放ECC校验码等信息。以Micron公司的32Gb闪存芯片MT29F32G08ABCAB为例,数据的组织单位为LUN,每个LUN包括两个Plane,每个Plane包含2048个block,每个block包含128个page,每个page包含8kB的数据区和448B的spare区。NANDFlash结构能提供极高的单元密度,可以达到很高的存储密度,并且写入和擦除的速度也很快。应用NANDFlash的困难在于Flash的管理和使用需要特殊的系统接口。NandFlash的操作具有以下特点:1)存储结构为块页式,存储空间分为多个块,每个块分为多个页;2)读操作以页为单位,可以随机读取任意位置的页;3)写操作以页为 ...
【技术保护点】
【技术特征摘要】
1.一种多通道NandFlash控制器,其特征在于,包括总线接口模块、指令接收模块、指令处理模块、IO接口时序模块、数据传输模块;所述总线接口模块,其与指令接收模块或数据传输模块连接,用于实现控制器与外部系统总线的命令及数据交互;所述指令接收模块,其与指令处理模块连接,用于缓存指令,并将指令发送给指令处理模块,还用于存储指令的执行状态;所述指令处理模块,其与IO接口时序模块连接,用于将接收的指令分解为若干个微指令,按照预定的执行策略执行微指令,通过IO接口时序模块对NandFlash芯片进行相应操作,并监测微指令的执行过程,执行完成向指令接收模块返回执行状态;所述指令处理模块包括指令分解单元、微指令调度单元和微指令执行单元;所述指令分解单元,其用于将接收的指令分解成若干个微指令,并将微指令发送给微指令调度单元;还用于将微指令执行单元返回的执行状态写入指令接收模块的状态队列;所述微指令调度单元,其用于根据预定的调度算法在每接收一条微指令时,对其内部缓存中的微指令排序,并将微指令依次传送给微指令执行单元,并每执行完一条微指令,根据预定的算法更新缓存中的微指令的相关关系;所述微指令执行单元,其用于根据微指令的类型控制IO时序接口模块执行微指令,如果存在数据操作,则控制数据传输模块进行数据传输;其还用于监控各条微指令的执行状态,在执行完成后,将执行状态返回给指令分解单元;所述IO接口时序模块,其采用M级流水的方式与多个NandFlash芯片连接,用于实现NandFlash芯片要求的接口时序电路,在系统复位后自动调整信号时延,校准接口时序关系;所述数据传输模块,其与IO接口时序模块连接,用于根据微指令通过IO接口时序模块传输向NandFlash写入数据或从NandFlash读取的数据。2.根据权利要求1所述一种多通道NandFlash控制器,其特征在于,所述指令接收模块包括寄存器单元、指令队列和状态队列;所述寄存器,其用于存储控制器的配置参数及状态信息;所述指令队列,其用于接收外部由控制总线接口输入的指令,并将指令传送给指令处理模块的指令分解单元;所述状态队列,其用于存储每条指令在执行完成后的状态信息。3.根据权利要求1所述一种多通道NandFlash控制器,其特征在于,所述数据传输模块包括ECC单元、数据缓存单元和DMA引擎;所述ECC单元,其用于在向NandFlash写入数据时生成ECC校验码,并将ECC校验码写入NandFlash的spare区;还用于从NandFlash读取数据时读取ECC校验码,利用读取的ECC校验码纠正数据错误;所述数据缓存单元,其用于缓存待写入NandFlash的数据或从NandFlash读出的数据;所述DMA引擎,其用于实现数据缓存单元与内存的数据交互。4.根据权利要求1所述一种多通道NandFlash控制器,其特征在于,所述微指令调度单元内部具有缓存空间,可存储多条微指令;微指令执行单元支持多条无相关关系的微指令同时执行。5.一种利用权利要求1至4中任一项所述多通道NandFlash控制器控制多个NandFlash芯片的方法,其特征在于,包括如下步骤:步骤1:上电复位或...
【专利技术属性】
技术研发人员:曹丽剑,房亮,吴少俊,曹素芝,闫蕾,宫永生,
申请(专利权)人:中国科学院空间应用工程与技术中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。