一种可同时进行读写操作的多通道NANDflash控制器的制作方法

文档序号:6601071阅读:396来源:国知局
专利名称:一种可同时进行读写操作的多通道NANDflash控制器的制作方法
技术领域
本发明涉及一种多通道NANDflash控制器,尤其涉及一种可以同时进行读写操作的多通道NANDflash控制器。
背景技术
NANDflash在最近几年里得到了突飞猛进的发展,由1位/单元的SLC技术发展到了 2位/单元甚至3位/单元的MLC (Multi Level Cell多层式储存)技术,同时NANDlash 的生产工艺也不断进步。随着技术的发展,NANDflash容量不断增大,单位容量的成本也大幅降低,应用NANDflash的领域也越来越多。当前应用中的NANDflash存储设备对带宽的要求越来越高,NANDflash控制器一般采用增加通道数量来提高带宽。一般的多通道NANDflash控制器只能提高连续读 NANDflash或者连续写NANDflash的带宽。当随机读NANDflash和随机写NANDflash交替出现的时候,多通道NANDflash控制器的带宽优势就得不到发挥。

发明内容
本发明目的提供一种可同时进行读写操作的多通道NANDflash控制器,可以满足同时进行读写NANDflash的操作,且能提高在随机读NANDflash和随机写NANDflash交替出现情况下多通道NANDflash控制器的带宽。一种可同时进行读写操作的多通道NANDflash控制器,由微控制器、设备控制器、 设备端DMA控制器、系统存储器、系统存储器访问仲裁逻辑单元、NANDflash DMA写控制逻辑单元、NANDflash DMA读控制逻辑单元、NANDflash数据缓存区单元和NANDflash接口控制器逻辑单元构成。微控制器,用于控制NANDflash控制器各单元;设备控制器,以某种特定通讯协议和主控端进行数据传输;设备端DMA控制器,用于控制设备控制器和存储器之间的数据传输;系统存储器,用于暂存设备端和NANDflash控制器间传输的数据;系统存储器访问仲裁逻辑单元,用于仲裁微控制器、设备端DMA控制器、NANDflash DMA写控制逻辑单元和NANDflash DMA读控制逻辑单元对系统存储器的访问请求;NANDflash DMA写控制逻辑单元,用于在写NANDflash时控制从系统存储器到 NANDflash数据缓存区的数据传输;NANDflash DMA读控制逻辑单元,用于在读NANDflash时控制从NANDflash数据缓存区到系统存储器的数据传输;NANDflash数据缓存区单元,用于缓存从系统存储器读出但来不及写入 NANDflash的数据以及缓存从NANDflash读出但来不及写入系统存储器的数据;NANDflash接口控制器逻辑单元,用于控制和NANDflash阵列之间的数据传输。设备控制器的通讯协议可为IDEantegrated Drive Electronics)、USB、SATA (Serial Advanced Technology Attachment)禾口 PCIE(PedpherdComponent Interconnect express)等。系统接收到读NANDflash和写NANDflash(读、写操作的地址不同,且不占用同一个通道)的命令时,写操作的数据由设备控制器接收并写入系统存储器,然后由NANDflash DMA写控制逻辑单元将写数据从系统存储器读出并写入NANDflash数据缓存区,进而由 NANDflash接口控制器写入相应的NANDflash通道。在写操作执行的同时读操作的数据从 NANDflash阵列读出写入NANDflash数据缓存区,并由NANDflash DMA读控制逻辑单元从 NANDflash数据缓存区读出并写入系统存储器,在写操作完成后由设备控制器将数据从系统存储器读出并传送到主控端。系统存储器由双端口的SRAM (静态随机访问存储器)实现。通过采用本发明提供的一种可同时进行读写操作的多通道NANDflash控制器, 能够同时进行读写NANDflash的操作,并且能够有效提高在随机读NANDflash和随机写 NANDflash交替出现情况下多通道NANDflash控制器的带宽,满足应用需求。


图1 一种可同时进行读写操作的多通道NANDflash控制器结构图具体实施方案以下结合附图,对本发明所提供的内容进行详细的描述。微控制器(100)采用嵌入式处理器实现,其上运行固件(firmware)。固件主要有两部分功能,一是将主控端的数据传输协议转成对NANDflash(200)的操作;二是实现 NANDflash (200)的FTL(闪存传输层)操作,FTL包括地址映射、垃圾块回收、损耗均衡、坏
块管理等。设备控制器(110)负责按照某种特定协议接收或者传输数据,通常设备控制器中设置有缓存,用于处理主控端和设备端速度不匹配的情形。设备端DMA控制器(120)负责在设备控制器(110)的缓存和系统存储器(140)之间传输数据。微控制器(100)配置好DMA所需要的数据地址、数据大小等信息后,向设备端 DMA控制器(120)发送开始传输的指令。设备端DMA控制器(120)传输完数据之后置中断通知微控制器(100)。系统存储器(140)用于缓存数据,也可用于存放地址映射表,还可作为固件的运行空间。系统存储器的大小由系统的数据带宽、写重传策略、地址映射策略等因素确定。系统存储器(140)访问仲裁逻辑单元(130),用于仲裁不同单元对系统存储器的访问请求。当微控制器和设备端DMA控制器同时访问系统存储器时,仲裁逻辑单元按照预先配置好的优先级进行仲裁。当NANDflash DMA写控制逻辑单元和NANDflash DMA读控制逻辑单元同时访问系统存储器时,仲裁逻辑单元根据预先计算好的比例,时分复用的分配接口访问权给NANDflash DMA写控制逻辑单元和NANDflash DMA读控制逻辑单元。NANDflash DMA写控制逻辑单元(150)负责将数据从系统存储器取出写入 NANDflash数据缓存区(170)。微控制器(100)配置好DMA写控制逻辑单元(150)所需要的数据地址、数据大小等信息后,向NANDflash DMA写控制逻辑单元(150)发送开始传输的指令,NANDflash DMA写控制逻辑单元(150)将数据从系统存储器(140)读出,写入数据缓存区(170)。DMA写控制逻辑单元(150)传输完数据之后置中断通知微控制器(100)。NANDflash DMA读控制逻辑单元(160)负责将数据从NANDfIash数据缓存区(170) 取出写入系统存储器(140)。微控制器(100)配置好DMA读控制逻辑单元(160)所需要的数据地址、数据大小等信息后,向NANDflash DMA读控制逻辑单元(160)发送开始传输的指令,NANDflash DMA读控制逻辑单元(160)将数据从数据缓存区(170)读出,写入系统存储器(140)。DMA读控制逻辑单元(160)传输完数据之后置中断通知微控制器(100)。NANDflash 数据缓存区(170)用于缓存数据。写 NANDflashQ00)时,NANDflash 写DMA控制逻辑单元(150)串行的依次将数据写入数据缓存区(170),NANDflash接口控制逻辑单元(180)控制相应通道并行的将数据从数据缓存区(170)读出并传送到 NANDflash (200) 读 NANDflash 时,NANDflash 接口控制逻辑单元(180)控制相应通道并行的将数据写入数据缓存区(170) ,NANDflash DMA读控制逻辑单元(160)串行的依次将数据从数据缓存区(170)读出并写入系统存储器(140)。NANDflash接口控制器逻辑单元(180)负责控制NANDfIash(200)阵列的接口时序。NANDflash接口控制逻辑单元(180)含有多个通道,每个通道由多个片选信号(CE#)、 多个就绪/忙信号(R/B#)、一组控制信号、一组数据信号组成。多个通道可以同时从 NANDflash(200)读出数据或者向NANDflash(200)写入数据。系统存储器(140)由双端口的SRAM(静态随机访问存储器)实现,微控制器 (100)和设备端DMA控制器(120)共用一个端口,NANDflash DMA写控制逻辑单元(150)和 NANDflash DMA读控制逻辑单元(160)共用另外一个端口。当NANDflash写控制逻辑单元(150)和NANDflash DMA读控制逻辑单元(160) 同时访问系统存储器(140)时,系统存储器(140)的接口带宽按照读写操作分别占用的 NANDflash通道数的比例时分复用得分配给NANDflash DMA写控制逻辑单元(150)和 NANDflash DMA读控制逻辑单元(I6O)。例举一,当前同时进行读操作和写操作,其中写操作占用通道0,而通道1、通道2 和通道3上均执行读操作,那么将系统存储器(140)的每4个时钟作为一个周期,分为四部分时钟0、时钟1、时钟2、时钟3,NANDflashDMA写控制逻辑单元(150)在时钟0内将数据写入系统存储器(140) ,NANDflash DMA读控制逻辑单元(150)在时钟1、时钟2和时钟3内将数据从系统存储器(140)读出。NANDflash数据缓存区(170)由双端口的SRAM(静态随机访问存储器)实现,各通道的接口控制逻辑单元(180)共用一个端口,NANDflash DMA写控制逻辑单元(150)和 NANDflash DMA读控制逻辑单元(160)共用另一个端口。NANDflash DMA写控制逻辑单元(150)和NANDflash DMA读控制逻辑单元(160) 同时访问NANDflash数据缓存区(170)时,NANDfIash数据缓存区(170)的接口带宽按照读写操作分别占用的NANDflash通道数的比例时分复用得分配给NANDflash DMA写控制逻辑单元(150)和NANDflash DMA读控制逻辑单元(160)。例举二,当前同时进行读操作和写操作,其中写操作占用通道1,而通道0、通道2 和通道3上均执行读操作,那么将Nandflash数据缓存区(170)的每4个时钟作为一个周期,分为四部分时钟0、时钟1、时钟2、时钟3,Nandflash DMA写控制逻辑单元(150)在时钟1内将数据写入Nandflash数据缓存区(170),Nandf lash DMA读控制逻辑单元(150)在时钟0、时钟2和时钟3内将数据从Nandflash数据缓存区(170)读出。
当本发明所提供的技术方案支持“全速命令队列”(Native CommandQueuing,NCQ) 的SATA接口时,可以构成高性能的固态硬盘。该固态硬盘除了具有很高的连续读写速度, 还具有很高的“每秒钟输入/输出操作数”Qnput Output Operations Per Second, IOPS)
权利要求
1.一种可同时进行读写操作的多通道NANDflash控制器,由微控制器、设备控制器、设备端DMA控制器、系统存储器、系统存储器访问仲裁逻辑单元、NANDflash DMA写控制逻辑单元、NANDflash DMA读控制逻辑单元、NANDflash数据缓存区单元和NANDflash接口控制器逻辑单元构成。
2.如权利要求1所述的一种可同时进行读写操作的多通道NANDflash控制器,其特征在于所述设备控制器与主控端接口为SATA或USB或PCIE或PATA0
3.如权利要求1所述的一种可同时进行读写操作的多通道NANDflash控制器,其特征在于所述接口控制器逻辑单元包含多个通道,每个通道由一个或多个片选信号、一个或多个就绪/忙信号、控制信号、数据信号构成。
4.如权利要求1所述的一种可同时进行读写操作的多通道NANDflash控制器,其特征在于所述设备端DMA控制器控制设备控制器和系统存储器之间的数据传输。
5.如权利要求1所述的一种可同时进行读写操作的多通道NANDflash控制器,其特征在于所述NANDf lash DMA写控制逻辑单元和NANDf lash DMA读控制逻辑单元同时访问 NANDflash数据缓存区单元。
6.如权利要求1所述的一种可同时进行读写操作的多通道NANDflash控制器,其特征在于所述NANDf lash DMA写控制逻辑单元和NANDf lash DMA读控制逻辑单元同时访问系统存储器。
7.如权利要求1所述的一种可同时进行读写操作的多通道NANDflash控制器,其特征在于所述系统存储器为双端口的SRAM。
8.如权利要求1所述的一种可同时进行读写操作的多通道NANDflash控制器,其特征在于所述系统存储器和NANDflash接口控制器之间两个方向的数据传输分别由单独的 DMA控制器控制通讯。
全文摘要
一种可同时进行读写操作的多通道NANDflash控制器,由微控制器、设备控制器、设备端DMA控制器、系统存储器、系统存储器访问仲裁逻辑单元、NANDflash DMA写控制逻辑单元、NANDflash DMA读控制逻辑单元、NANDflash数据缓存区单元和NANDflash接口控制器逻辑单元构成。该控制器在写操作执行的同时读操作的数据从NANDflash阵列读出写入数据缓存区,并由NANDflash DMA读控制逻辑单元从NANDflash数据缓存区读出并写入系统存储器,在写操作完成后由设备控制器将数据从系统存储器读出并传送到主控端。本发明能够同时进行读写NANDflash的操作,并且能够有效提高在随机读NANDflash和随机写NANDflash交替出现情况下多通道NANDflash控制器的带宽,满足应用需求。
文档编号G06F13/28GK102236625SQ20101015206
公开日2011年11月9日 申请日期2010年4月20日 优先权日2010年4月20日
发明者迟志刚 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1