本发明专利技术公开了一种用于固态硬盘的闪存控制器,属于一种微电子技术领域,其结构包括SRAM控制器、数据缓冲区、寄存器控制器、配置和状态寄存器、子通道控制器、ECC硬件纠错逻辑、检验模块、带外数据处理模块、NAND闪存接口,SRAM控制器连接控制数据缓冲区;SRAM控制器连接ECC硬件纠错逻辑,ECC硬件纠错逻辑连接NAND闪存接口;寄存器控制器连接控制配置和状态寄存器,配置和状态寄存器连接子通道控制器,配置和状态寄存器连接NAND闪存接口;检验模块连接带外数据处理模块,带外数据处理模块连接NAND闪存接口。本发明专利技术具有纠错能力且能支持不同厂商。
【技术实现步骤摘要】
本专利技术涉及一种微电子
,具体地说是一种用于固态硬盘的闪存控制器。
技术介绍
随着NAND闪存的广泛应用,固态硬盘(英文solid state disk,缩写SSD)也逐渐为大家所熟悉,与传统的机械硬盘相比,固态硬盘有启动快,读写数据速度快,不怕碰撞震动,无噪声,功耗低等优点。但其也存在很多不足,比如成本高,擦除次数有限等,所以为了提高SSD的寿命,我们会在SSD中增加一个逻辑地址到物理地址的映射表,同时采用磨损均衡的策略。因为SLC(Single Level Cell单层单元)结构的NAND闪存成本相对较高,所以MLC(Multi-Level Cell多层单元)结构的闪存得到了更广泛的应用,但是MLC结构的闪存存储数据信息的时候容易出现错误,所以就要求NAND闪存控制器要有能对一定的错误数据纠正的能力,而目前BCH (BoseJay-Chaudhuri与Hocquenghem的缩写)算法在纠正多位数据错误上有着其自己的优势。BCH码是用于校正多个随机错误模式的多级、循环、错误校正、变长数字编码。另外NAND闪存的擦除时间和写入时间相对读操作来说要慢很多,所以很多NAND 闪存厂商提供了一些可以提高NAND闪存速度的命令,比如two-plane的命令,再有就是不同厂商的NAND闪存的指令和时序会有所不同,需要闪存控制器能够支持不同厂商的NAND闪存。具有纠错能力且能支持不同厂商的闪存控制器是目前迫切需要的。
技术实现思路
本专利技术的技术任务是提供一种具有纠错能力且能支持不同厂商的一种用于固态硬盘的闪存控制器。本专利技术的技术任务是按以下方式实现的,包括SRAM控制器、数据缓冲区、寄存器控制器、配置和状态寄存器、子通道控制器、ECC硬件纠错逻辑、检验模块、带外数据处理模块、NAND闪存接口,SRAM控制器连接控制数据缓冲区;SRAM控制器连接ECC硬件纠错逻辑, ECC硬件纠错逻辑连接NAND闪存接口 ;寄存器控制器连接控制配置和状态寄存器,配置和状态寄存器连接子通道控制器,配置和状态寄存器连接NAND闪存接口 ;检验模块连接带外数据处理模块,带外数据处理模块连接NAND闪存接口。数据缓冲区为4个4K字节的数据缓冲区。ECC硬件纠错逻辑可以支持IK数据中8/12/16/^241^1可配置的BCH硬件纠错。本专利技术的一种用于固态硬盘的闪存控制器通过NAND闪存接口连接至NAND闪存芯片。SRAM控制器是用来对4个数据缓冲区操作用的,4个4K字节的数据缓冲区可以接收来自SATA控制器的数据,同时也是对NAND闪存操作时的数据缓冲区。ECC硬件纠错逻辑主要是针对MLC结构的NAND闪存在存储数据的时候容易发生错误而设计的,他支持IK字节中8/12/16/M比特的纠错,我们可以在闪存控制器相应的寄存器控制器中进行配置。本专利技术与SATA或者其他控制器之间的高速数据传输是在DMA控制器的调度下通过AHB总线来实现的,所以本专利技术的内部接口是AHB接口。子通道控制器主要是负责对4个4K字节的数据缓冲区的调度。另外在我们可以在本专利技术的配置和状态寄存器中配置其支持对NAND闪存芯片的 two-plane操作,调整发送给NAND闪存芯片的微指令,根据不同的NAND闪存芯片调整相应的时序信息等。带外数据(OOB)处理模块和校验模块(CRC),是为了硬件加速固态硬盘映射表的重建而设计的。其中每一个NAND闪存物理页中带外数据处理模块中存放着其对应的映射信息和功能信息,我们需要的就是其映射信息用来建立固态硬盘的映射表,从而达到提高固态硬盘寿命的要求,正常情况下我们要把NAND闪存芯片中每个物理页中的信息读出来, 然后根据带外数据处理模块中的信息建立映射表,但是集成带外数据处理模块处理模块后我们就可以直接读出里面的映射信息,为了防止带外数据处理模块的信息错误,我们加入了校验模块,如果校验模块校验出错,我们再把整个物理页读出来,通过ECC硬件纠错逻辑把数据错误位纠正过来,如果校验模块通过,我们则可以省掉一个物理页数据传输的时间和ECC硬件纠错逻辑校验的时间,从而大大缩短了固态硬盘重建映射表的时间。本专利技术的一种用于固态硬盘的闪存控制器读写操作的流程,具体的过程如下首先在本专利技术复位后对其配置和状态寄存器进行配置,配置完后判断此时是否有 4K字节的数据缓冲区空闲,如果没有,继续等待,直到4个数据缓冲区有一个空闲,这时拿到这个数据缓冲区,然后判断此时NAND闪存芯片是否空闲,如果忙碌(读状态寄存器),则继续等待,如果空闲,则进入对NAND闪存的操作模式。如果是写操作,则由DMA控制通过AHB总线将4K字节数据写入到4K自己数据缓冲区,然后带外数据处理模块根据配置把相应的带外数据填写好,然后按顺序送入命令,送入地址,送入数据,然后就是NAND闪存自己的写操作时间,读NAND闪存的配置和状态寄存器,知道其操作结束。如果是读操作,则按顺序送入命令,送入地址,等待NAND闪存将闪存阵列中的数据读到页数据缓冲区后再读到闪存控制器的4K字节数据缓冲区,同时闪存控制器对缓冲区中的数据做ECC硬件纠错逻辑解码校验,如果没有错误,则将缓冲区的数据通过AHB总线送出,如果有错,则开启ECC硬件纠错逻辑纠错,如果在可以纠错的范围内,则将纠正后的数据通过AHB总线送出,否则进入错误处理程序。SRAM,是英文Matic RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。主要用于二级高速缓存。利用晶体管来存储数据。一般用小容量的SRAM作为更高速CPU和较低速DRAM之间的缓存(cache)。本专利技术的一种用于固态硬盘的闪存控制器具有以下优点1、本专利技术支持DMA,可以实现高速的数据传输;采用4个4K字节的数据缓冲区,可以同时对4个不同bank的NAND闪存进行操作,提高了读取NAND闪存数据的带宽;2、集成ECC硬件纠错逻辑,可以支持IK数据中8/12/16/Mbit可配置的BCH硬件纠错;3、集成带外数据(OOB)处理模块以及校验模块(CRC),可以硬件加速固态硬盘映4射表的重建;4、支持对NAND闪存芯片的two-plane操作,可以配置闪存控制器的寄存器调整发送给NAND闪存芯片的微指令,也可以根据不同的NAND闪存芯片调整相应的时序信息;能有效提高固态硬盘的性能;因而,具有很好的推广使用价值。附图说明下面结合附图对本专利技术进一步说明。附图1为一种用于固态硬盘的闪存控制器的结构框图。具体实施例方式参照说明书附图和具体实施例对本专利技术的一种用于固态硬盘的闪存控制器作以下详细地说明。实施例本专利技术的一种用于固态硬盘的闪存控制器,其结构包括SRAM控制器、数据缓冲区、寄存器控制器、配置和状态寄存器、子通道控制器、ECC硬件纠错逻辑、检验模块、带外数据处理模块、NAND闪存接口,SRAM控制器连接控制数据缓冲区;SRAM控制器连接ECC硬件纠错逻辑,ECC硬件纠错逻辑连接NAND闪存接口 ;寄存器控制器连接控制配置和状态寄存器,配置和状态寄存器连接子通道控制器,配置和状态寄存器连接NAND闪存接口 ;检验模块连接带外数据处理模块,带外数据处理模块连接NAND闪存接口。数据缓冲区为4个4K字节的数据缓冲区。ECC硬件纠错逻辑可以支持I本文档来自技高网...
【技术保护点】
1.一种用于固态硬盘的闪存控制器,其特征在于包括SRAM控制器、数据缓冲区、寄存器控制器、配置和状态寄存器、子通道控制器、ECC硬件纠错逻辑、检验模块、带外数据处理模块、NAND闪存接口,SRAM控制器连接控制数据缓冲区;SRAM控制器连接ECC硬件纠错逻辑,ECC硬件纠错逻辑连接NAND闪存接口;寄存器控制器连接控制配置和状态寄存器,配置和状态寄存器连接子通道控制器,配置和状态寄存器连接NAND闪存接口;检验模块连接带外数据处理模块,带外数据处理模块连接NAND闪存接口。
【技术特征摘要】
【专利技术属性】
技术研发人员:李峰,于治楼,姜凯,梁智豪,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:88
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。