一种基于Nand Flash芯片的数据缓存传输方法及其控制器技术

技术编号:11203913 阅读:106 留言:0更新日期:2015-03-26 11:58
本发明专利技术公开一种基于Nand Flash芯片的数据缓存传输方法及其控制器,主控缓存灵活对接ECC模块及通道的一种闪存控制器设计及用法。主要通过对缓存进行分割分组控制,使之灵活对接一个或多个ECC模块及通道。无论系统采用单个或多个ECC模块,只要缓存组有空闲,就可以和ECC模块之间进行数据传输,并可以选择目的通道完成缓存和通道之间的数据传输。不同缓存组之间可以并行传输数据,同一缓存组内部各缓存之间也可以并行传输数据,实现了同一页Nand Flash数据在ECC和缓存之间以及缓存与通道之间的并行传输,提高了数据传输效率。

【技术实现步骤摘要】

本专利技术涉及一种Nand Flash控制器的设计领域,尤其是涉及一种基于Nand Flash芯片的数据缓存传输方法及其控制器。 
技术介绍
现有的Nand Flash控制器的结构一般包括ECC生成与校验模块、数据缓存和通道控制模块:其中,ECC生成与校验模块用于在写入数据时生成ECC校验码,并写入Nand Flash,在读取数据时校验读取的ECC码;数据缓存用于存储从Nand Flash中读取或准备写入Nand Flash的数据;通道控制模块控制内部各个模块协调数据缓存和Nand Flash的接口使用。 现有技术中Nand Flash控制器的组织方式是每个通道都有固定对应属于自己的缓存,其他通道不可利用,其组织方式包括以下三种形式: 1、采用一个缓存连接所有通道,使用一个ECC模块,如图1所示,这种组织方式,存在以下缺点:数据传输过程中需等待,ECC模块及其前端的各种资源都处于低效使用状态;整个数据传输路径的传输效率不高。 2、采用多个缓存连接多个通道,且每个缓存对应一个通道,使用一个ECC模块,如图2所示,这种组织方式,与方式1相比:数据传输采用简单的流水方式,虽然效率提高,但是多个缓存会明显增加主控芯片面积和成本。 3、采用多个缓存连接多个通道,且每个缓存对应一个通道,使用多个ECC模块,如图3所示,这种组织方式,与方式1、2相比,增加了多个ECC模块,使ECC模块输出可以并行的工作,但如果只传输一页数据,同样存在上述两种方式的缺陷,且ECC模块与通道等同数量造成资源浪费,增加主控芯片面积和成本。 
技术实现思路
有鉴于此,本专利技术提供一种基于Nand Flash芯片的数据缓存传输方法及其控制器,对缓存进行分割分组控制,可灵活对接ECC模块和通道。使缓存和ECC模块得到充分合理的配合使用,提高了整体数据的传输效率。 为解决以上技术问题,本专利技术提供的第一技术方案为一种基于Nand Flash芯片的数据缓存传输方法,包括:传送命令和地址数据到Nand Flash芯片;传送数据信息到数据缓存单元;传送数据缓存单元中的数据信息到控制单元。 所述数据缓存单元至少分割成至少两个以上的子缓存,子缓存依顺序编号为子缓存x,其中x为大于等于1的自然数;数据信息传送到子缓存x的同时,子缓存x-1中的数据信息开始传送至控制单元。 优选的,所述传送数据信息到数据缓存单元之前,还包括:传送数据信息到ECC校验单元,其中ECC校验单元含有一个或多个ECC模块,其中:所述子缓存x根据ECC模块处理能力及Nand Flash页大小参数划分缓存单元得到,其中x等于Nand Flash一页大小除以单个ECC模块可独立编/解码的数据块的大小并向上取整。 优选的,所述若干子缓存组成一个缓存组,进而形成若干缓存组,缓存组依顺序编号为缓存组m,其中m为大于等于1的自然数。 优选的,所述数据缓存单元增加一缓存组调度控制单元,判断缓存组处于空闲状态,将其作为数据传送的发送或接收单元。 优选的,所述ECC校验单元增加一ECC调度控制单元,判断ECC模块处于空闲状态,将其作为数据传送的发送或接收单元。 优选的,所述缓存组的数量M与ECC模块的数据K、通道的数量N满足以下关系:K≤M≤N。 优选的,传送数据时,同一缓存组内不同的小缓存数据并行传输;不同缓存组 之间数据并行传输;一个通道可对应多个缓存组进行数据传输;且每个缓存组每次都只能连续的输出到一个通道或者从一个通道接收。 优选的,传送数据时,同一页数据只能由同一个ECC模块编码或解码;同一页数据只能由同一个缓存组暂存。 本专利技术提供的第二技术方案为一种高效Nand Flash控制器,包括:总线接口单元,ECC校验单元、数据缓存单元、控制单元、通道。 其中,所述ECC校验单元包括一个或多个独立的ECC模块;所述数据缓存单元至少分割成至少两个以上的子缓存,子缓存依顺序编号为子缓存x,其中x为大于等于1的自然数;所述子缓存;所述若干子缓存组成一个缓存组,进而形成若干缓存组,缓存组依顺序编号为缓存组m,其中m为大于等于1的自然数。 所述总线接口单元,与ECC校验单元相连接,用于实现控制器与外部系统总线的命令及数据交互。 所述ECC校验单元,与总线接口单元和数据缓存单元相连接,控制ECC模块作为数据传送的发送或接收单元。 所述数据缓存单元,与ECC校验单元和控制单元连接,控制缓存组作为数据传送的发送或接收单元,用于传输向Nand Flash写入的数据或从Nand Flash读取的数据。 所述控制单元,通过通道与Nand Flash芯片相连接,控制通道接收传输过来的数据。 所述Nand Flash控制器采用并行的方式进行数据传输:传送数据时,数据信息传送到所述子缓存x的同时,子缓存x-1中的数据信息开始传送至控制单元。 优选的,所述ECC校验单元增加一ECC调度控制单元,用于判断ECC模块处于空闲状态,将其作为数据传送的发送或接收单元。 优选的,所述数据缓存单元增加一缓存组调度控制单元,判断缓存组处于空闲状 态,将其作为数据传送的发送或接收单元。 优选的,所述ECC模块数量K与缓存组数量M及通道数量N满足以下关系:K≤M≤N。 优选的,所述ECC模块与所述子缓存、缓存组及通道相对独立。 本专利技术的首要改进之处为该Nand Flash控制器缓存设计主要采用对数据缓存进行分割分组控制,将数据缓存分割成至少两个以上子缓存,其中若干存组成一个缓存组。每个缓存组包括多个独立的子缓存,可以对接一个或多个ECC模块以及一个或多个通道,实现数据的并行传输。 本专利技术的有益效果是该Nand Flash控制器及其控制方法能够使缓存和ECC模块得到充分合理的配合使用,屏蔽了每个通道都需要固定缓存导致缓存容量增大而利用率低的缺点,避免资源浪费;同时,缓存组内部独立划分成多个子缓存并管理分组,实现ECC与缓存之间以及缓存与通道之间的数据并行传输,摒弃了现有技术方案采用一页大小及以上的缓存时,ECC与缓存之间以及缓存与通道之间都要等一方传输完一页数据后,另一方才能开始传输的缺点,提高了整体数据的传输效率。 附图说明图1为现有Nand Flash控制器设计方案1框图; 图2为现有Nand Flash控制器设计方案2框图; 图3为现有Nand Flash控制器设计方案3框图; 图4为本专利技术Nand Flash控制器设计方案框图; 图5为本专利技术所述ECC选择模块内部结构框图; 图6为本专利技术所述数据缓存模块内部结构框图; 图7为本专利技术所述Nand Flash控制器控制多个Nand Flash芯片的控制方法流程图; 图8为图7所述步骤1的具体实现流程图; 图9为图7所述步骤2的具体实现流程图; 图10为本专利技术所述Nand Flash控制器控制多个Nand Flash芯片传输数据内部结构框图; 图11为现本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201410802886.html" title="一种基于Nand Flash芯片的数据缓存传输方法及其控制器原文来自X技术">基于Nand Flash芯片的数据缓存传输方法及其控制器</a>

【技术保护点】
一种基于Nand Flash芯片的数据缓存传输方法,包括:传送命令和地址数据到Nand Flash芯片;传送数据信息到数据缓存单元;传送数据缓存单元中的数据信息到控制单元;其特征在于:数据缓存单元至少包含两个以上的子缓存,子缓存依顺序编号为子缓存x,其中x为大于等于1的自然数;数据信息传送到子缓存x的同时,子缓存x‑1中的数据信息开始传送至控制单元。

【技术特征摘要】
1.一种基于Nand Flash芯片的数据缓存传输方法,包括:
传送命令和地址数据到Nand Flash芯片;
传送数据信息到数据缓存单元;
传送数据缓存单元中的数据信息到控制单元;其特征在于:
数据缓存单元至少包含两个以上的子缓存,子缓存依顺序编号为子缓存x,其中
x为大于等于1的自然数;数据信息传送到子缓存x的同时,子缓存x-1中的数据
信息开始传送至控制单元。
2.根据权利要求1所述的一种基于Nand Flash芯片的数据缓存传输方法,所
述传送数据信息到数据缓存单元之前,还包括:传送数据信息到ECC校验单元,其
中ECC校验单元含有一个或多个ECC模块,其特征在于:
所述子缓存x根据ECC模块处理能力及Nand Flash页大小参数划分缓存单元
得到,其中x等于Nand Flash一页大小除以单个ECC模块可独立编/解码的数据
块的大小并向上取整。
3.根据权利要求1所述的一种基于Nand Flash芯片的数据缓存传输方法,其
特征在于:
所述若干子缓存组成一个缓存组,进而形成若干缓存组,缓存组依顺序编号为缓
存组m,其中m为大于等于1的自然数。
4.根据权利要求1所述的一种基于Nand Flash芯片的数据缓存传输方法,其
特征在于:
所述数据缓存单元增加一缓存组调度控制单元,判断缓存组处于空闲状态,将其
作为数据传送的发送或接收单元。
5.根据权利要求2所述的一种基于Nand Flash芯片的数据缓存传输方法,其
特征在于:
所述ECC校验单元增加一ECC调度控制单元,判断ECC模块处于空闲状态,
将其作为数据传送的发送或接收单元。
6.根据权利要求1、2、3所述的一种基于Nand Flash芯片的数据缓存传输方
法,还包括传送数...

【专利技术属性】
技术研发人员:陈元孙长江任民谢文刚
申请(专利权)人:深圳市国微电子有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1