CN101521041A - 一种基于与非门结构内存的控制电路系统 - Google Patents
一种基于与非门结构内存的控制电路系统 Download PDFInfo
- Publication number
- CN101521041A CN101521041A CN200910131488A CN200910131488A CN101521041A CN 101521041 A CN101521041 A CN 101521041A CN 200910131488 A CN200910131488 A CN 200910131488A CN 200910131488 A CN200910131488 A CN 200910131488A CN 101521041 A CN101521041 A CN 101521041A
- Authority
- CN
- China
- Prior art keywords
- register
- data
- output terminal
- links
- input end
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于与非门结构内存的控制电路系统,适用于固态存储设备中,其特征在于,所述控制电路系统是大规模可编程数字集成电路器件,包括NIOS II接口电路、指令预处理电路、通道控制电路、ECC编解码电路和数据输入输出电路,NIOS II接口电路与指令预处理电路和数据输入输出电路分别连接,指令预处理电路、通道控制电路、ECC编解码电路和数据输入输出电路依次连接。采用了本发明的技术方案,不仅提高了主机读写数据的速度,而且提高了系统的灵活性。
Description
技术领域
本发明涉及固态存储设备技术领域,尤其涉及一种基于与非门结构内存的控制电路系统。
背景技术
目前Flash存储器件叫基于或非门结构的内存(NOR Flash)。NOR Flash的特点是传输效率很高,在1~4MB的小容量时具有很高的成本效益。这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中,但是NOR Flash很低的写入和擦除速度大大影响了它的性能。
发明内容
本发明的目的在于提出一种基于与非门结构内存(NAND FLASH)的控制电路系统,不仅提高了主机读写数据的速度,而且提高了系统的灵活性。
为达此目的,本发明采用以下技术方案:
一种NAND FLASH控制电路系统,适用于固态存储设备中,所述控制电路系统是大规模可编程数字集成电路器件(FPGA),包括NIOSII接口电路、指令预处理电路、通道控制电路、错误检查与纠正(Error Checking andCorrecting,ECC)编解码电路和数据输入输出电路,所述NIOSII接口电路与所述指令预处理电路和所述数据输入输出电路分别连接,所述指令预处理电路、通道控制电路、ECC编解码电路和数据输入输出电路依次连接,其中,
所述NIOS II接口电路,用于同所述固态存储设备的外部接口以及内部的所述指令预处理电路、通道控制电路、ECC编解码电路和数据输入输出电路进行通讯,完成对所述控制电路系统的设置和初始化的控制;
所述指令预处理电路,用于接收NIOS II发来的指令包,并根据读取的FLASH ID信息,生成和NAND FLASH的地址组织形式联系的指令集合;
所述通道控制电路,用于和NAND FLASH组进行数据读写操作;
所述ECC编解码电路,用于对读写NAND FLASH的数据进行解码和编码运算;
所述数据输入输出电路,用于对不同片的FLASH同时操作实现通道FLASH的流水操作。
还包括NAND FLASH信息存储器,所述NAND FLASH信息存储器是一个32kX8bit的DPRAM,用于存储FLASHID信息、坏块信息和CACHE中的数据信息。
还包括缓存存储器,所述缓存存储器是一个32k X 8bit的DPRAM,用来缓存读写数据信息。
所述NIOS II接口电路进一步包括NIOS II地址寄存器、NIOS II控制信号寄存器、第一内部状态控制机、指令执行状态寄存器、发送指令寄存器和NIOS II数据总线三态调度逻辑,其中,
所述NIOS II地址寄存器的输入端来自NIOS II的地址信号总线;
所述NIOS II控制信号寄存器的输入端来自NIOS II输出的控制信号;
所述第一内部状态控制机的输入端与所述NIOS II地址寄存器、NIOS II控制信号寄存器的输出端相连,输出控制信号分别与所述指令执行状态寄存器、发送指令寄存器和NIOS II数据总线三态调度逻辑的控制输入信号相连;
所述指令执行状态寄存器的数据输入端分别与所述通道控制电路的指令执行状态寄存器的输出端和所述第一内部状态控制机的输出端相连,输出端与所述NIOS II数据总线三态调度逻辑的输入端相连;
所述发送指令寄存器的输入端分别与所述NIOS II数据总线三态调度逻辑和所述第一内部状态机的输出端相连,输出端与所述指令预处理电路的指令缓存寄存器的输入端相连;
所述NIOS II数据总线三态调度逻辑的一组端口与接口的NIOS II数据总线相连,由所述第一内部控制状态机的输出控制信号和所述指令执行状态寄存器的输出状态信号控制所述端口的方向,完成三态调度,输出端与所述发送指令寄存器相连。
所述指令预处理电路进一步包括指令缓存寄存器、FLASH ID寄存器、物理坏块对应表、FLASH ID解析运算器、NAND FLASH ID信息寄存器组、指令地址逻辑运算器和NAND FLASH指令包寄存器,其中,
所述指令缓存寄存器,用于接收来自NIOS II接口的指令包;
所述FLASH ID寄存器的输入端与所述NAND FLASH信息存储器的输出端相连;
所述物理坏块对应表的输入端与所述NAND FLASH信息存储器的输出端相连;
所述FLASH ID解析运算器的输入端与所述NAND FLASH信息存储器的输出端相连;
NAND FLASH ID信息寄存器组进一步包括FLASH厂家寄存器、FLASH通道使能寄存器、FLASH通道CE数目寄存器、FLASH块数量寄存器、FLASH页数量寄存器和FLASH页大小寄存器,这些寄存器都为32位,输入端都与所述FLASHID解析运算器的输出端相连;
指令地址逻辑运算器的输入端分别与所述指令缓存寄存器和所述NANDFLASH ID信息寄存器组中的所有寄存器的输出端相连;
NAND FLASH指令包寄存器的输入端与所述指令地址逻辑运算器的输出端相连。
所述通道控制电路进一步包括输入指令包寄存器、生成NAND FLASH地址寄存器组、生成控制数据寄存器组、第三内部控制状态机、第一逻辑运算器、第二逻辑运算器、FLASH指令地址寄存器、FLASH操作使能寄存器、FLASH时序逻辑生成器、指令执行状态寄存器、缓存存储器读写数据寄存器、缓存存储器读写地址寄存器、缓存存储器起始终止地址寄存器、FLASH复位操作逻辑、读取FLASH ID操作逻辑、FLASH ID寄存器、FLASH擦除操作逻辑、FLASH编程操作逻辑、FLASH读取操作逻辑、状态值判断操作是否成功电路、状态错误寄存器、错误地址寄存器、信息存储器、FLASH信息寄存器、读写数据计数器是否为0判断电路、数据传输状态寄存器、FLASH读数据FIFO、FLASH写数据FIFO、ECC校验运算器编码忙闲状态寄存器、ECC校验运算器解码忙闲状态寄存器、ECC校验错误寄存器、ECC错误地址寄存器和缓存存储器写信息寄存器,
所述输入指令包寄存器,用于接收来自所述指令预处理电路的数据包;
所述生成NAND FLASH地址寄存器组进一步包括第一列地址寄存器、第二列地址寄存器、第一行地址寄存器、第二行地址寄存器和第三行地址寄存器,这些地址寄存器都是8位,数据输入端与所述输入指令包寄存器的输出端相连;
所述生成控制数据寄存器组进一步包括数据长度寄存器、写保护寄存器和控制器通道使能寄存器,这些寄存器都是32位,数据输入端与所述输入指令包寄存器的输出端相连;
所述第三内部控制状态机的输入端与指令执行状态寄存器以及所述输入指令包寄存器的输出端相连,状态控制信号输出端分别与所述生成的NANDFLASH地址寄存器组和所述生成控制数据寄存器组的各寄存器的输入端相连;
所述第一逻辑运算器的输入端分别与所述生成NAND FLASH地址寄存器组中各寄存器的输出端相连,所述第一逻辑运算器是一个33位寄存器,输出信号是把所述生成NAND FLASH地址寄存器组中各寄存器输入数据进行比较处理后形成NAND FLASH的地址寄存器;
所述第二逻辑运算器的输入端分别与所述生成控制数据寄存器组中各寄存器的输出端相连,所述第二逻辑运算器是一个32位寄存器,输出信号是把所述生成控制数据寄存器组的各寄存器数据进行比较以及相与的运算形成NAND FLASH内部需要的寄存器值;
所述FLASH指令地址寄存器的输入端与所述第一逻辑运算器的输出端相连;
所述FLASH操作使能寄存器的输入端与所述第二逻辑运算器的输出端相连;
所述FLASH时序逻辑生成器的输入端与所述述FLASH指令地址寄存器的输出端、FLASH操作使能寄存器的输出端以及第三内部控制逻辑的输出控制信号相连;
所述指令执行状态寄存器的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述缓存存储器读写数据寄存器的输入端与所述输入指令包寄存器的输出端相连;
所述缓存存储器读写地址寄存器的输入端与所述缓存存储器读写数据寄存器的输出端相连;
所述缓存存储器起始终止地址寄存器的地址信号输入端分别与所述缓存存储器读写地址寄存器的输出端以及ECC编解码电路中的数据输出队列寄存储器的输出端相连,控制信号输入端与所述内部控制状态机的状态控制信号输出端相连;
所述FLASH复位操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述读取FLASH ID操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述FLASH ID寄存器的输入端与所述读取FLASH ID操作逻辑输出端相连;
所述FLASH擦除操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述FLASH编程操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述FLASH读取操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述状态值判断操作是否成功电路的输入端分别与所述FLASH擦除操作逻辑输出端和所述FLASH编程操作逻辑输出端相连;
所述状态错误寄存器的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述错误地址寄存器的输入端与所述状态错误寄存器的输出端相连;
所述信息存储器的输入端分别与所述错误地址寄存器的输出端以及所述FLASH ID寄存器的输出端相连;
所述FLASH信息寄存器的输入端分别与所述缓存存储器写信息寄存器的输出端以及所述信息寄存器的输出端相连;
所述读写数据计数器是否为0判断电路的输入端分别与所述FLASH编程逻辑输出端和所述FLASH读取逻辑输出端相连;
所述数据传输状态寄存器的输入端分别与所述FLASH编程逻辑输出端和所述FLASH读取逻辑输出端相连;
所述FLASH读数据FIFO的一个输入端与FLASH读取逻辑输出端相连,另一个输入端与ECC编解码电路的ECC校验运算器解码忙闲状态寄存器的输出控制信号相连;
所述FLASH写数据FIFO的一个输入端与ECC编解码电路的数据输入队列存储器输出端相连,另一个输入端与ECC编解码电路的ECC校验运算器编码忙闲状态寄存器的输出控制信号相连;
所述ECC校验运算器编码忙闲状态寄存器的输入端与所述ECC编解码电路的ECC校验运算器编码忙闲状态寄存器的输出端相连;
所述ECC校验运算器解码忙闲状态寄存器的输入端与所述ECC编解码电路的ECC校验运算器解码忙闲状态寄存器的输出端相连;
所述ECC校验错误寄存器的输入端与所述ECC编解码电路的ECC校验错误寄存器的输出端相连;
所述ECC错误地址寄存器的输入端与所述ECC编解码电路的ECC校验错误寄存器的输出端相连;
所述缓存存储器写信息寄存器的输入端与缓存存储器的输出端相连。
所述ECC编解码电路进一步包括控制信息寄存器、校验使能寄存器、编码使能寄存器、第四内部控制状态机、编码数据存储器、解码数据存储器、ECC校验运算器编码忙闲状态寄存器、ECC校验运算器解码忙闲状态寄存器、ECC校验错误寄存器、ECC解码运算器、ECC编码运算器、数据输入队列寄存器和数据输出队列寄存器,
所述控制信息寄存器,用于接收来自NIOS II接口的数据包;
所述校验使能寄存器的输入端与所述控制信息寄存器的输出端相连;
所述编码使能寄存器的输入端与所述控制信息寄存器的输出端相连;
所述第四内部控制状态机的输入端与所述控制信息寄存器的输出端相连;状态控制信号输出端与校验使能寄存器、编码使能寄存器、ECC编码运算器、ECC解码运算器、编码数据存储器以及解码数据存储器的相应输入端分别相连;
所述编码数据存储器的输入端与所述数据输入输出电路的读写数据队列存储器的数据寄存器得输出端相连;
所述解码数据存储器的输入端与所述ECC解码运算器的输出端相连;
所述ECC校验运算器编码忙闲状态寄存器的输入端与所述ECC编码运算器的输出端相连;
所述ECC校验运算器解码忙闲状态寄存器的输入端与所述ECC解码运算器的输出端相连;
所述ECC校验错误寄存器的输入端与所述ECC解码运算器的输出端相连;
所述ECC解码运算器的输入端分别与所述校验使能寄存器的输出端、数据输入队列存储器的输出端相连,所述解码运算器是一个32位寄存器,输出信号是把数据输出队列存储器中的校验码解析出来并送到解码数据寄存器中;
所述ECC编码运算器的输入端分别与所述编码使能寄存器的输入端、编码数据寄存器的输出端相连,所述编码运算器是一个32位寄存器,输出信号是把编码数据存储器中的数据经过运算附加上校验码并送到数据输入队列寄存器中;
所述数据输入队列寄存器的输入端与所述ECC编码运算器的输出端相连;
所述数据输出队列寄存器的输入端与所述通道控制电路的FLASH读数据FIFO的输出端相连。
所述数据输入输出电路进一步包括数据信息存储器、发送读写信息寄存器、缓存存储器起始地址寄存器、缓存存储器终止地址寄存器、缓存存储器下一地址寄存器、第一数据选择器、缓存存储器读写地址寄存器、第一比较器、发送端口寄存器、附加数据寄存器、缓存存储器读写数据寄存器、第二数据选择器、第二内部控制状态机和读写数据队列存储器的数据寄存器,
所述数据信息存储器,用于接收来自接口的数据信息;
所述发送读写信息寄存器的输入端与所述数据信息存储器的输出端相连;
所述缓存存储器起始地址寄存器的输入端与所述发送读写信息寄存器的相应输出端相连;
所述缓存存储器终止地址寄存器的输入端与所述发送读写信息寄存器的另一个输出端相连;
所述缓存存储器下一地址寄存器的输入端与所述缓存存储器读地址寄存器的输出端经过加1逻辑的输出端相连;
所述第一数据选择器的两个输入端分别与所述存储器起始地址寄存器、缓存存储器下一地址寄存器的输出端相连;
所述缓存存储器读写地址寄存器的输入端与所述第一数据选择器的输出端相连,输出地址信号加1后送往所述缓存存储器下一地址寄存器,另一个输出端与所述缓存存储器的第二组地址输入端相连;
所述第一比较器的两个输入端分别与所述缓存存储器下一地址寄存器、缓存存储器终止地址寄存器的输出端相连,比较信号输出端与所述第一数据选择器的控制信号输入端相连;
所述发送端口寄存器的输入端与所述发送信息寄存器的输出端相连;
所述附加数据寄存器的一组输入端与所述发送端口寄存器相连,另一组输入端与NIOS II接口电路相连,比较信号输出端与所述第一选择器的相应输入端相连;
所述缓存存储器读写数据寄存器,它的一个输入端与所述缓存存储器的第二组数据总线相连,它的另一个输入端与所述第二数据选择器的输出端相连;
所述第二数据选择器的三个输入端分别与所述缓存存储器的读写数据寄存器的输出端、附加数据寄存器的输出端和读写数据队列存储器的数据寄存器的输出端相连;
所述第二内部控制状态机的输入端与所述第一比较器的输出端相连,三个输出端分别与所述发送读写信息寄存器、第一数据选择器和第二数据选择器的控制信号输入端相连;
所述读写数据队列存储器的数据寄存器的一组输入端和所述第二数据选择器的输出端相连,另一组输入端与所述ECC编解码电路的解码数据存储器的输出端相连。
所述NAND FLASH信息存储器还包括两组数据和地址总线,第一组地址输入端与所述缓存存储器写信息寄存器的第一组地址输出端相连,第一组数据输入端与所述缓存存储器写信息寄存器的第一组数据输出端相连,第二组地址输入端与所述信息寄寄存器的地址输出端相连,第二组数据输入端与所述信息寄存器的数据输出端相连。
所述缓存存储器还包括两组组数据和地址总线,第一组地址总线与所述数据输入输出电路的缓存存储器读写地址寄存器的输出端相连,第一组数据总线与所述数据输入输出电路的缓存存储器读写数据寄存器的输出端相连,第二组地址总线与所述NAND FLASH信息存储器的第一组输入端地址总线相连,第二组数据总线与所述NAND FLASH信息存储器的第一组输入端数据总线相连。
采用了本发明的技术方案,NAND FLASH控制设备实现了从NIOS接口接受数据包,通过对NAND FLASH的时序控制来实现数据写入和读取功能,设备保证在确定的NAND FLASH构架方案下,通过每个通道的带宽达到接近理论上的极限值,并在此基础上最大的实现整个NAND FLASH组的最大带宽(根据NANDFLASH类型的不同,读写的周期tcycle不同,单通道最大带宽稍低于理论极限带宽值1/tcycle),单通道连续写带宽为4.OMB/s到36.6MB/s,连续读带宽为15.OMB/s到37.6MB/s,通过对NAND FLASH组的预处理,可以实现多通道多片NAND FLASH的SSD高速读写。
附图说明
图1是本发明具体实施方式中固态存储设备中NAND FLASH组与NAND FLASH控制电路、NIOS II和DPRAM之间的连接图。
图2是本发明具体实施方式中NAND FLASH控制设备的整体结构框图。
图3是本发明具体实施方式中NAND FLASH预处理电路内部结构及与相关电路连接关系图。
图4是本发明具体实施方式中NAND FLASH数据输入输出电路结构及与相关电路连接关系图。
图5是本发明具体实施方式中NAND FLASH通道控制器内部结构及与相关电路连接关系图。
图6是本发明具体实施方式中NAND FLASH ECC数据校验电路及与相关电路连接关系图。
图7是本发明具体实施方式中NIOS II接口电路内部结构及与相关电路连接关系图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
固态存储设备能够实现主机对数据的存储和读取,并在此基础上尽量的提高传输带宽。
主机写数据到NAND FLASH中的过程是这样的:当主机发送写指令给ATA/SATA接口后,ATA/SATA接口解析主机指令,然后通知NIOS II主机写数据请求,ATA/SATA接口在NIOS II的控制下把主机传输的数据传输到CACHE中缓存,然后NIOS查找对应的物理地址对应表和坏块表及其CACHE中的物理地址表,经过分析后,把相应的数据准备给NAND FLASH控制设备,然后发送相应的写操作指令给NAND FLASH控制器,当操作完成后返回操作状态给NIOS II以便进行下一次操作。
主机读取数据的过程是这样的:当主机发送读指令给ATA/SATA接口后,ATA/SATA接口解析主机指令,然后通知NIOS II主机读数据请求,然后NIOS查找对应的物理地址对应表和坏块表及其CACHE中的物理地址表,经过分析后,然后发送相应的读操作指令给NAND FLASH控制器,NAND FLASH控制器把NANDFLASH中的数据读取到CACHE中,当操作完成后返回操作状态给NIOS II以便进行下一次操作。ATA/SATA接口在NIOS II的控制下把CACHE中的数据传输给主机,并返还状态值指示读取情况。
对于NAND FLASH本身特性决定,它内部包括坏块,在操作过程中要避免对这些块进行操作,以免造成数据读写错误。在擦除和编程操作后,读取操作状态值,查看操作是否成功完成,若操作失败则把相应的块标示为坏块,写入坏块表,不再使用。此外,为了最大的提高传输速度,需要在一个数据通道内采取流水操作的方式,以便提高传输带宽。
固态存储设备体系结构的设计思路,主要包括以下四个方面:
用硬件实现ATA/SATA接口对主机和NIOS II的传输信息的分析和转发;
用硬件实现NIOS II对DPRAM的数据读写和指令转发;
用硬件实现对CACHE地址表、NAND FLASH坏块表和物理地址对应表的管理;
用硬件实现对NAND FLASH组的数据存储和读取操作。
用监控系统对固态存储设备进行上电配置和状态监控。
固态存储设备主要由以下四个部分组成,ATA/SATA控制设备接口;DPRAM控制设备接口;NAND FLASH控制设备接口和用于配置和操作的监控系统。
图1是本发明具体实施方式中固态存储设备中NAND FLASH组与NAND FLASH控制电路、NIOS II和DPRAM之间的连接图。如图1所示,具体包括下述几部分硬件设备:
EP3C25F324C8 Cyclone III NAND FLASH控制电路 1片;
K9HCG08U1M NAND FLASH 16片;
K4S281632K Synchronous DRAM 2片。
ATA/SATA控制设备接口是固态存储设备中比较重要的部分,它负责整个固态存储设备和主机之间的通信。当主机写了ATA/SATA控制设备接口相应的寄存器以后,ATA/SATA控制设备接口解析指令,然后通知NIOS II来读取分析指令,在NIOS II分析完后返回状态寄存器值,若是主机请求写数据,NIOS II准备数据空间,然后通知ATA/SATA控制设备接口进行数据的写入操作,同时NIOS II对ATA/SATA控制设备接口返还的状态值进行检测和处理,从而随时了解ATA/SATA控制设备接口的写入状态;若是主机请求读数据,NIOS II准备数据到CACHE中,然后通知ATA/SATA控制设备接口进行数据的读取操作,同时NIOSII对ATA/SATA控制设备接口返还的状态值进行检测和处理,从而随时了解ATA/SATA控制设备接口的读取状态。
DPRAM控制设备接口是固态存储设备中数据缓存的存储空间,起到CACHE的作用,能很好的提高数据通道的读写速度。控制设备的工作是这样进行的:在接到写数据操作指令后,NIOS II查找CACHE块信息表,看要写入的块是否在CACHE中,若在CACHE中则把数据写到CACHE相应地址,当不再操作此块CACHE时,对相应的块的物理地址执行擦除操作,然后把CACHE中的数据写回FLASH块。若不在CACHE中则需要把相应块读取到CACHE中,在相应地址改写CACHE中的数据,对相应的块执行擦除操作,然后写回FLASH块。在接到读取数据指令后,判断所涉及的块数据是否在CACHE中,如果在则直接从CACHE中读取,如果不在CACHE中,则需要从FLASH中读取写入到CACHE中,同时被主机读取。
对于FLASH信息的维护,设备是这样进行的:当FLASH第一次被使用时,读取FLASH内部的坏块信息位来初步建立坏块表,在以后的使用当中,由于使用过程中也会出现坏块,可以通过对FLASH擦写后的读状态来判断操作是否成功,如果操作失败则把相应的块地址添加到坏块表中,来避免操作这些坏的地址块。同时也需要把FLASH的ID信息读取存储起来在指令预处理的时候能正确得产生时序。
NAND FLASH控制设备接口是和存储介质直接进行读写的模块,是固态存储介质中最关键的部分,这部分的性能的好坏直接影响到数据的正确性。NANDFLASH控制设备接口可以实现多数据通道多片NAND FLASH的读写数据操作,并在多通道多片FLASH的情况下以可能的最大的带宽来进行数据传输。对于NANDFLASH来说,单个数据通路的单片FLASH的带宽是有限的,为了能更好的提高通路的带宽,数据通路采用流水处理的方式,在一片FLASH内部擦写操作的时候,可以对同一通道的其他空闲得NAND FLASH进行操作,这样能更好的使FLASH流水工作起来,流水级数越多越能提高带宽到极限最大值。这对SSD产品的应用是最理想的状态。在NAND FLASH控制设备中,设备为每一条数据通路提供独立的控制机制,当相应的数据通道被激活时,相应的FLASH组进行工作。
监控系统用于对ATA/SATA控制设备接口、DPRAM控制设备接口和NANDFLASH控制设备接口进行初始化和参数配置,同时也可以通过读取硬件寄存器来观察设备内部的运行状态。
在固态存储设备中,实现数据存储功能的是NAND FLASH控制设备接口。该电路组件的主要功能是处理NIOS II传输来的读写指令及其地址信息,给NANDFLASH发送相应指令和地址,同时调度数据的传输实现读写存储器的功能,在固态存储设备中,NAND FLASH控制设备接口是整个系统数据存取的核心,是最首要实现的功能。由于NAND FLASH控制设备在整个固态存储设备中的重要作用,提高这个模块的性能对于整个固态存储设备的性能提高起到决定性的作用,这里对NAND FLASH控制设备接口的结构和功能进行详细的介绍。图2是本发明具体实施方式中NAND FLASH控制设备的整体结构框图。如图2所示,NANDFLASH控制设备接口可以从结构上划分为NIOS II接口电路、指令预处理电路、通道控制电路(包括NAND FLASH控制电路)、ECC编解码电路和数据输入输出电路。NIOS II接口电路与指令预处理电路和数据输入输出电路分别连接,指令预处理电路、通道控制电路、ECC编解码电路和数据输入输出电路依次连接。
NAND FLASH控制设备的接口信号主要包括与NAND FLASH组的接口部分连接的信号、与数据CACHE连接的信号和与NIOS II连接的信号。NAND FLASH控制设备内部除了两个工具生成得存储器、两个队列储存器和两个数据FIFO外还有指令预处理电路、输入输出电路、ECC编解码电路和通道控制电路。下面具体描述各电路的功能。
指令预处理电路接受来自NIOS II的指令包,其中包括指令信息和地址信息,对于不同厂家不同型号的NAND FLASH,在具体FLASH的操作中是有不同的,NIOS II给出的地址指令信息需要经过预先处理变成针对每种型号NAND FLASH的具体地址指令信息,对于一个指定的物理地址,在操作的时候具体是操作哪个块的哪个页对于不同的情况是不同的,指令预处理电路根据读取的NANDFLASH ID信息,分析出NAND FLASH的具体组织模式,生成一个新的指令集合,使之能够直接和NAND FLASH的地址组织形式联系在一起,同时还要避免使用坏块表中的块,从而保证读写操作的可靠性。
数据输入输出电路,对于固态存储设备和NAND FLASH控制设备提供数据交换起着非常重要的作用,NIOS II要写入的数据经过处理传输到CACHE中准备写入操作,或者当NAND FLASH控制设备准备好数据后把数据放到CACHE中通知NIOS II来读,这种电路可以同时对不同片的FLASH同时操作实现通道FLASH的流水操作,使得FLASH的带宽得到很大的解放。
通过读取数据信息寄存器中的数据来得到读写存储器将要操作的数据所存储的位置以及将要发送的数据信息,数据输入输出电路的内部状态机实现了读取发送数据、写入接收数据这样的调度过程,发送信息中包括了数据在缓存存储器中的存储的起始地址和终止地址以及操作信息,数据输入输出电路根据状态机的控制信号和地址信息,把数据读出和附加数据内容一起写入到读写数据队列存储器的数据寄存器中,数据输入输出电路内部状态及控制两部分数据的调度完成数据结构的合成。
ECC编解码电路是读写NAND FLASH不可或缺的一个环节,在NAND FLASH的读取过程中可能会发生读写数据错误,在这种情况下就需要对数据进行编码处理写入NAND FLASH中,在读取的时候进行ECC校验,发现并纠正错误位,在ECC编解码电路内部状态机的控制下实现对读写NAND FLASH的数据进行解码和编码运算,使之数据在ECC编解码电路中实现数据和校验数据的合成和分解,并在分解的时候能够校验出错误的位,从而为数据的可靠性提供保障。
通道控制电路是整个NAND FLASH控制设备的最底层,它直接负责和NANDFLASH组进行数据读写操作,在接到指令与处理电路发来的指令后,通过解析NAND FLASH指令地址,经由内部状态机调度分析控制产生相应的逻辑时序,把读取FLASH ID逻辑读出来的信息存放到NAND FLASH信息寄存器中,同时把擦除逻辑和编程逻辑产生的状态值进行分析,并把错误的状态值块地址写入到NANDFLASH信息存储器中,同时在读写FLASH数据的时候控制数据的输入和读出操作,在内部状态机的调度下完成相应的操作指令。
另外还包括NAND FLASH信息存储器,NAND FLASH信息存储器是一个32kX8bit的DPRAM,用来存储FLASHID信息,坏块信息以及CACHE中的数据信息。它有两组数据和地址总线。它的第一组地址输入端与缓存存储器写信息寄存器的第一组地址输出端相连,它的第一组数据输入端与缓存存储器写信息寄存器的第一组数据输出端相连,它的第二组地址输入端与信息寄寄存器的地址输出端相连,它的第二组数据输入端与信息寄存器的数据输出端相连。
缓存存储器是一个32kX8bit的DPRAM,用来缓存读写数据信息,它具有两组组数据和地址总线,它的第一组地址总线与数据输入输出电路的缓存存储器读写地址寄存器的输出端相连,它的第一组数据总线与数据输入输出电路的缓存存储器读写数据寄存器的输出端相连,它的第二组地址总线与NAND FLASH信息存储器的第一组输入端地址总线相连,它的第二组数据总线与NAND FLASH信息存储器的第一组输入端数据总线相连。
NIOS II接口电路负责同固态存储设备中的外部接口以及内部的其他电路进行通讯,它完成整个NAND FLASH控制设备的设置和初始化的控制。
下面分别描述各个电路的结构。
图3是本发明具体实施方式中NAND FLASH预处理电路内部结构及与相关电路连接关系图。如图3所示,指令预处理电路进一步包括指令缓存寄存器、FLASH ID寄存器、物理坏块对应表、FLASHID解析运算器、NAND FLASH ID信息寄存器组、指令地址逻辑运算器和NAND FLASH指令包寄存器,其中,
指令缓存寄存器,用于接收来自NIOS II接口的指令包;
FLASH ID寄存器的输入端与NAND FLASH信息存储器的输出端相连;
物理坏块对应表的输入端与NAND FLASH信息存储器的输出端相连;
FLASH ID解析运算器的输入端与NAND FLASH信息存储器的输出端相连;
NAND FLASH ID信息寄存器组进一步包括FLASH厂家寄存器、FLASH通道使能寄存器、FLASH通道CE数目寄存器、FLASH块数量寄存器、FLASH页数量寄存器和FLASH页大小寄存器,这些寄存器都为32位,输入端都与FLASH ID解析运算器的输出端相连;
指令地址逻辑运算器的输入端分别与指令缓存寄存器和NAND FLASH ID信息寄存器组中的所有寄存器的输出端相连;
NAND FLASH指令包寄存器的输入端与指令地址逻辑运算器的输出端相连。
图4是本发明具体实施方式中NAND FLASH数据输入输出电路结构及与相关电路连接关系图。如图4所示,数据输入输出电路进一步包括数据信息存储器、发送读写信息寄存器、缓存存储器起始地址寄存器、缓存存储器终止地址寄存器、缓存存储器下一地址寄存器、第一数据选择器、缓存存储器读写地址寄存器、第一比较器、发送端口寄存器、附加数据寄存器、缓存存储器读写数据寄存器、第二数据选择器、第二内部控制状态机和读写数据队列存储器的数据寄存器,
数据信息存储器,用于接收来自接口的数据信息;
发送读写信息寄存器的输入端与数据信息存储器的输出端相连;
缓存存储器起始地址寄存器的输入端与发送读写信息寄存器的相应输出端相连;
缓存存储器终止地址寄存器的输入端与发送读写信息寄存器的另一个输出端相连;
缓存存储器下一地址寄存器的输入端与缓存存储器读地址寄存器的输出端经过加1逻辑的输出端相连;
第一数据选择器的两个输入端分别与存储器起始地址寄存器、缓存存储器下一地址寄存器的输出端相连;
缓存存储器读写地址寄存器的输入端与第一数据选择器的输出端相连,输出地址信号加1后送往缓存存储器下一地址寄存器,另一个输出端与缓存存储器的第二组地址输入端相连;
第一比较器的两个输入端分别与缓存存储器下一地址寄存器、缓存存储器终止地址寄存器的输出端相连,比较信号输出端与第一数据选择器的控制信号输入端相连;
发送端口寄存器的输入端与发送信息寄存器的输出端相连;
附加数据寄存器的一组输入端与发送端口寄存器相连,另一组输入端与NIOS II接口电路相连,比较信号输出端与第一选择器的相应输入端相连;
缓存存储器读写数据寄存器,它的一个输入端与缓存存储器的第二组数据总线相连,它的另一个输入端与第二数据选择器的输出端相连;
第二数据选择器的三个输入端分别与缓存存储器的读写数据寄存器的输出端、附加数据寄存器的输出端和读写数据队列存储器的数据寄存器的输出端相连;
第二内部控制状态机的输入端与第一比较器的输出端相连,三个输出端分别与发送读写信息寄存器、第一数据选择器和第二数据选择器的控制信号输入端相连;
读写数据队列存储器的数据寄存器的一组输入端和第二数据选择器的输出端相连,另一组输入端与ECC编解码电路的解码数据存储器的输出端相连。
图5是本发明具体实施方式中NAND FLASH通道控制器内部结构及与相关电路连接关系图。如图5所示,通道控制电路进一步包括输入指令包寄存器、生成NAND FLASH地址寄存器组、生成控制数据寄存器组、第三内部控制状态机、第一逻辑运算器、第二逻辑运算器、FLASH指令地址寄存器、FLASH操作使能寄存器、FLASH时序逻辑生成器、指令执行状态寄存器、缓存存储器读写数据寄存器、缓存存储器读写地址寄存器、缓存存储器起始终止地址寄存器、FLASH复位操作逻辑、读取FLASH ID操作逻辑、FLASH ID寄存器、FLASH擦除操作逻辑、FLASH编程操作逻辑、FLASH读取操作逻辑、状态值判断操作是否成功电路、状态错误寄存器、错误地址寄存器、信息存储器、FLASH信息寄存器、读写数据计数器是否为0判断电路、数据传输状态寄存器、FLASH读数据FIFO、FLASH写数据FIFO、ECC校验运算器编码忙闲状态寄存器、ECC校验运算器解码忙闲状态寄存器、ECC校验错误寄存器、ECC错误地址寄存器和缓存存储器写信息寄存器,
输入指令包寄存器,用于接收来自指令预处理电路的数据包;
生成NAND FLASH地址寄存器组进一步包括第一列地址寄存器、第二列地址寄存器、第一行地址寄存器、第二行地址寄存器和第三行地址寄存器,这些地址寄存器都是8位,数据输入端与输入指令包寄存器的输出端相连;
生成控制数据寄存器组进一步包括数据长度寄存器、写保护寄存器和控制器通道使能寄存器,这些寄存器都是32位,数据输入端与输入指令包寄存器的输出端相连;
第三内部控制状态机的输入端与指令执行状态寄存器以及输入指令包寄存器的输出端相连,状态控制信号输出端分别与生成的NAND FLASH地址寄存器组和生成控制数据寄存器组的各寄存器的输入端相连;
第一逻辑运算器的输入端分别与生成NAND FLASH地址寄存器组中各寄存器的输出端相连,第一逻辑运算器是一个33位寄存器,输出信号是把生成NANDFLASH地址寄存器组中各寄存器输入数据进行比较处理后形成NAND FLASH的地址寄存器;
第二逻辑运算器的输入端分别与生成控制数据寄存器组中各寄存器的输出端相连,第二逻辑运算器是一个32位寄存器,输出信号是把生成控制数据寄存器组的各寄存器数据进行比较以及相与的运算形成NAND FLASH内部需要的寄存器值;
FLASH指令地址寄存器的输入端与第一逻辑运算器的输出端相连;
FLASH操作使能寄存器的输入端与第二逻辑运算器的输出端相连;
FLASH时序逻辑生成器的输入端与述FLASH指令地址寄存器的输出端、FLASH操作使能寄存器的输出端以及第三内部控制逻辑的输出控制信号相连;
指令执行状态寄存器的输入端与FLASH时序逻辑生成器的输出端相连;
缓存存储器读写数据寄存器的输入端与输入指令包寄存器的输出端相连;
缓存存储器读写地址寄存器的输入端与缓存存储器读写数据寄存器的输出端相连;
缓存存储器起始终止地址寄存器的地址信号输入端分别与缓存存储器读写地址寄存器的输出端以及ECC编解码电路中的数据输出队列寄存储器的输出端相连,控制信号输入端与内部控制状态机的状态控制信号输出端相连;
FLASH复位操作逻辑的输入端与FLASH时序逻辑生成器的输出端相连;
读取FLASH ID操作逻辑的输入端与FLASH时序逻辑生成器的输出端相连;
FLASH ID寄存器的输入端与读取FLASH ID操作逻辑输出端相连;
FLASH擦除操作逻辑的输入端与FLASH时序逻辑生成器的输出端相连;
FLASH编程操作逻辑的输入端与FLASH时序逻辑生成器的输出端相连;
FLASH读取操作逻辑的输入端与FLASH时序逻辑生成器的输出端相连;
状态值判断操作是否成功电路的输入端分别与FLASH擦除操作逻辑输出端和FLASH编程操作逻辑输出端相连;
状态错误寄存器的输入端与FLASH时序逻辑生成器的输出端相连;
错误地址寄存器的输入端与状态错误寄存器的输出端相连;
信息存储器的输入端分别与错误地址寄存器的输出端以及FLASH ID寄存器的输出端相连;
FLASH信息寄存器的输入端分别与缓存存储器写信息寄存器的输出端以及信息寄存器的输出端相连;
读写数据计数器是否为0判断电路的输入端分别与FLASH编程逻辑输出端和FLASH读取逻辑输出端相连;
数据传输状态寄存器的输入端分别与FLASH编程逻辑输出端和FLASH读取逻辑输出端相连;
FLASH读数据FIFO的一个输入端与FLASH读取逻辑输出端相连,另一个输入端与ECC编解码电路的ECC校验运算器解码忙闲状态寄存器的输出控制信号相连;
FLASH写数据FIFO的一个输入端与ECC编解码电路的数据输入队列存储器输出端相连,另一个输入端与ECC编解码电路的ECC校验运算器编码忙闲状态寄存器的输出控制信号相连;
ECC校验运算器编码忙闲状态寄存器的输入端与ECC编解码电路的ECC校验运算器编码忙闲状态寄存器的输出端相连;
ECC校验运算器解码忙闲状态寄存器的输入端与ECC编解码电路的ECC校验运算器解码忙闲状态寄存器的输出端相连;
ECC校验错误寄存器的输入端与ECC编解码电路的ECC校验错误寄存器的输出端相连;
ECC错误地址寄存器的输入端与ECC编解码电路的ECC校验错误寄存器的输出端相连;
缓存存储器写信息寄存器的输入端与缓存存储器的输出端相连。
图6是本发明具体实施方式中NAND FLASH ECC数据校验电路及与相关电路连接关系图。如图6所示,ECC编解码电路进一步包括控制信息寄存器、校验使能寄存器、编码使能寄存器、第四内部控制状态机、编码数据存储器、解码数据存储器、ECC校验运算器编码忙闲状态寄存器、ECC校验运算器解码忙闲状态寄存器、ECC校验错误寄存器、ECC解码运算器、ECC编码运算器、数据输入队列寄存器和数据输出队列寄存器,
控制信息寄存器,用于接收来自NIOS II接口的数据包;
校验使能寄存器的输入端与控制信息寄存器的输出端相连;
编码使能寄存器的输入端与控制信息寄存器的输出端相连;
第四内部控制状态机的输入端与控制信息寄存器的输出端相连;状态控制信号输出端与校验使能寄存器、编码使能寄存器、ECC编码运算器、ECC解码运算器、编码数据存储器以及解码数据存储器的相应输入端分别相连;
编码数据存储器的输入端与数据输入输出电路的读写数据队列存储器的数据寄存器得输出端相连;
解码数据存储器的输入端与ECC解码运算器的输出端相连;
ECC校验运算器编码忙闲状态寄存器的输入端与ECC编码运算器的输出端相连;
ECC校验运算器解码忙闲状态寄存器的输入端与ECC解码运算器的输出端相连;
ECC校验错误寄存器的输入端与ECC解码运算器的输出端相连;
ECC解码运算器的输入端分别与校验使能寄存器的输出端、数据输入队列存储器的输出端相连,解码运算器是一个32位寄存器,输出信号是把数据输出队列存储器中的校验码解析出来并送到解码数据寄存器中;
ECC编码运算器的输入端分别与编码使能寄存器的输入端、编码数据寄存器的输出端相连,编码运算器是一个32位寄存器,输出信号是把编码数据存储器中的数据经过运算附加上校验码并送到数据输入队列寄存器中;
数据输入队列寄存器的输入端与ECC编码运算器的输出端相连;
数据输出队列寄存器的输入端与通道控制电路的FLASH读数据FIFO的输出端相连。
图7是本发明具体实施方式中NIOS II接口电路内部结构及与相关电路连接关系图。如图7所示,NIOS II接口电路进一步包括NIOS II地址寄存器、NIOS II控制信号寄存器、第一内部状态控制机、指令执行状态寄存器、发送指令寄存器和NIOS II数据总线三态调度逻辑,其中,
NIOS II地址寄存器的输入端来自NIOS II的地址信号总线;
NIOS II控制信号寄存器的输入端来自NIOS II输出的控制信号;
第一内部状态控制机的输入端与NIOS II地址寄存器、NIOS II控制信号寄存器的输出端相连,输出控制信号分别与指令执行状态寄存器、发送指令寄存器和NIOS II数据总线三态调度逻辑的控制输入信号相连;
指令执行状态寄存器的数据输入端分别与通道控制电路的指令执行状态寄存器的输出端和第一内部状态控制机的输出端相连,输出端与NIOSII数据总线三态调度逻辑的输入端相连;
发送指令寄存器的输入端分别与NIOS II数据总线三态调度逻辑和第一内部状态机的输出端相连,输出端与指令预处理电路的指令缓存寄存器的输入端相连;
NIOS II数据总线三态调度逻辑的一组端口与接口的NIOS II数据总线相连,由第一内部控制状态机的输出控制信号和指令执行状态寄存器的输出状态信号控制端口的方向,完成三态调度,输出端与发送指令寄存器相连。
该设备支持Samsung、Micron、Hynix、Toshiba、Intel等厂家的主流大容量NAND FLASH产品,通过对NAND FLASH组的预处理,可以实现多通道多片NANDFLASH的SSD高速读写。
为了能够最大能力的保证系统的灵活性,基于SSD的应用情况,通过对NANDFLASH组的预处理,设备最多可以支持32个通道,可以通过软件来设置1个32bit的来设置每个通道是否有效。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1、一种基于与非门结构内存的控制电路系统,适用于固态存储设备中,其特征在于,所述控制电路系统是大规模可编程数字集成电路器件,包括NIOSII接口电路、指令预处理电路、通道控制电路、ECC编解码电路和数据输入输出电路,所述NIOSII接口电路与所述指令预处理电路和所述数据输入输出电路分别连接,所述指令预处理电路、通道控制电路、ECC编解码电路和数据输入输出电路依次连接,其中,
所述NIOS II接口电路,用于同所述固态存储设备的外部接口以及内部的所述指令预处理电路、通道控制电路、ECC编解码电路和数据输入输出电路进行通讯,完成对所述控制电路系统的设置和初始化的控制;
所述指令预处理电路,用于接收NIOSII发来的指令包,并根据读取的FLASHID信息,生成和NAND FLASH的地址组织形式联系的指令集合;
所述通道控制电路,用于和NAND FLASH组进行数据读写操作;
所述ECC编解码电路,用于对读写NAND FLASH的数据进行解码和编码运算;
所述数据输入输出电路,用于对不同片的FLASH同时操作实现通道FLASH的流水操作。
2、根据权利要求1所述的一种基于与非门结构内存的控制电路系统,其特征在于,还包括NAND FLASH信息存储器,所述NAND FLASH信息存储器是一个32k X 8bit的DPRAM,用于存储FLASHID信息、坏块信息和CACHE中的数据信息。
3、根据权利要求1所述的一种基于与非门结构内存的控制电路系统,其特征在于,还包括缓存存储器,所述缓存存储器是一个32k X 8bit的DPRAM,用来缓存读写数据信息。
4、根据权利要求1所述的一种基于与非门结构内存的控制电路系统,其特征在于,所述NIOS II接口电路进一步包括NIOS II地址寄存器、NIOS II控制信号寄存器、第一内部状态控制机、指令执行状态寄存器、发送指令寄存器和NIOS II数据总线三态调度逻辑,其中,
所述NIOS II地址寄存器的输入端来自NIOS II的地址信号总线;
所述NIOS II控制信号寄存器的输入端来自NIOS II输出的控制信号;
所述第一内部状态控制机的输入端与所述NIOS II地址寄存器、NIOS II控制信号寄存器的输出端相连,输出控制信号分别与所述指令执行状态寄存器、发送指令寄存器和NIOS II数据总线三态调度逻辑的控制输入信号相连;
所述指令执行状态寄存器的数据输入端分别与所述通道控制电路的指令执行状态寄存器的输出端和所述第一内部状态控制机的输出端相连,输出端与所述NIOS II数据总线三态调度逻辑的输入端相连;
所述发送指令寄存器的输入端分别与所述NIOS II数据总线三态调度逻辑和所述第一内部状态机的输出端相连,输出端与所述指令预处理电路的指令缓存寄存器的输入端相连;
所述NIOS II数据总线三态调度逻辑的一组端口与接口的NIOS II数据总线相连,由所述第一内部控制状态机的输出控制信号和所述指令执行状态寄存器的输出状态信号控制所述端口的方向,完成三态调度,输出端与所述发送指令寄存器相连。
5、根据权利要求1所述的一种基于与非门结构内存的控制电路系统,其特征在于,所述指令预处理电路进一步包括指令缓存寄存器、FLASH ID寄存器、物理坏块对应表、FLASH ID解析运算器、NAND FLASH ID信息寄存器组、指令地址逻辑运算器和NAND FLASH指令包寄存器,其中,
所述指令缓存寄存器,用于接收来自NIOS II接口的指令包;
所述FLASHID寄存器的输入端与所述NAND FLASH信息存储器的输出端相连;
所述物理坏块对应表的输入端与所述NAND FLASH信息存储器的输出端相连;
所述FLASH ID解析运算器的输入端与所述NAND FLASH信息存储器的输出端相连;
NAND FLASH ID信息寄存器组进一步包括FLASH厂家寄存器、FLASH通道使能寄存器、FLASH通道CE数目寄存器、FLASH块数量寄存器、FLASH页数量寄存器和FLASH页大小寄存器,这些寄存器都为32位,输入端都与所述FLASHID解析运算器的输出端相连;
指令地址逻辑运算器的输入端分别与所述指令缓存寄存器和所述NANDFLASH ID信息寄存器组中的所有寄存器的输出端相连;
NAND FLASH指令包寄存器的输入端与所述指令地址逻辑运算器的输出端相连。
6、根据权利要求1所述的一种基于与非门结构内存的控制电路系统,其特征在于,所述通道控制电路进一步包括输入指令包寄存器、生成NAND FLASH地址寄存器组、生成控制数据寄存器组、第三内部控制状态机、第一逻辑运算器、第二逻辑运算器、FLASH指令地址寄存器、FLASH操作使能寄存器、FLASH时序逻辑生成器、指令执行状态寄存器、缓存存储器读写数据寄存器、缓存存储器读写地址寄存器、缓存存储器起始终止地址寄存器、FLASH复位操作逻辑、读取FLASH ID操作逻辑、FLASH ID寄存器、FLASH擦除操作逻辑、FLASH编程操作逻辑、FLASH读取操作逻辑、状态值判断操作是否成功电路、状态错误寄存器、错误地址寄存器、信息存储器、FLASH信息寄存器、读写数据计数器是否为0判断电路、数据传输状态寄存器、FLASH读数据FIFO、FLASH写数据FIFO、ECC校验运算器编码忙闲状态寄存器、ECC校验运算器解码忙闲状态寄存器、ECC校验错误寄存器、ECC错误地址寄存器和缓存存储器写信息寄存器,
所述输入指令包寄存器,用于接收来自所述指令预处理电路的数据包;
所述生成NAND FLASH地址寄存器组进一步包括第一列地址寄存器、第二列地址寄存器、第一行地址寄存器、第二行地址寄存器和第三行地址寄存器,这些地址寄存器都是8位,数据输入端与所述输入指令包寄存器的输出端相连;
所述生成控制数据寄存器组进一步包括数据长度寄存器、写保护寄存器和控制器通道使能寄存器,这些寄存器都是32位,数据输入端与所述输入指令包寄存器的输出端相连;
所述第三内部控制状态机的输入端与指令执行状态寄存器以及所述输入指令包寄存器的输出端相连,状态控制信号输出端分别与所述生成的NANDFLASH地址寄存器组和所述生成控制数据寄存器组的各寄存器的输入端相连;
所述第一逻辑运算器的输入端分别与所述生成NAND FLASH地址寄存器组中各寄存器的输出端相连,所述第一逻辑运算器是一个33位寄存器,输出信号是把所述生成NAND FLASH地址寄存器组中各寄存器输入数据进行比较处理后形成NAND FLASH的地址寄存器;
所述第二逻辑运算器的输入端分别与所述生成控制数据寄存器组中各寄存器的输出端相连,所述第二逻辑运算器是一个32位寄存器,输出信号是把所述生成控制数据寄存器组的各寄存器数据进行比较以及相与的运算形成NAND FLASH内部需要的寄存器值;
所述FLASH指令地址寄存器的输入端与所述第一逻辑运算器的输出端相连;
所述FLASH操作使能寄存器的输入端与所述第二逻辑运算器的输出端相连;
所述FLASH时序逻辑生成器的输入端与所述述FLASH指令地址寄存器的输出端、FLASH操作使能寄存器的输出端以及第三内部控制逻辑的输出控制信号相连;
所述指令执行状态寄存器的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述缓存存储器读写数据寄存器的输入端与所述输入指令包寄存器的输出端相连;
所述缓存存储器读写地址寄存器的输入端与所述缓存存储器读写数据寄存器的输出端相连;
所述缓存存储器起始终止地址寄存器的地址信号输入端分别与所述缓存存储器读写地址寄存器的输出端以及ECC编解码电路中的数据输出队列寄存储器的输出端相连,控制信号输入端与所述内部控制状态机的状态控制信号输出端相连;
所述FLASH复位操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述读取FLASH ID操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述FLASH ID寄存器的输入端与所述读取FLASHID操作逻辑输出端相连;
所述FLASH擦除操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述FLASH编程操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述FLASH读取操作逻辑的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述状态值判断操作是否成功电路的输入端分别与所述FLASH擦除操作逻辑输出端和所述FLASH编程操作逻辑输出端相连;
所述状态错误寄存器的输入端与所述FLASH时序逻辑生成器的输出端相连;
所述错误地址寄存器的输入端与所述状态错误寄存器的输出端相连;
所述信息存储器的输入端分别与所述错误地址寄存器的输出端以及所述FLASH ID寄存器的输出端相连;
所述FLASH信息寄存器的输入端分别与所述缓存存储器写信息寄存器的输出端以及所述信息寄存器的输出端相连;
所述读写数据计数器是否为0判断电路的输入端分别与所述FLASH编程逻辑输出端和所述FLASH读取逻辑输出端相连;
所述数据传输状态寄存器的输入端分别与所述FLASH编程逻辑输出端和所述FLASH读取逻辑输出端相连;
所述FLASH读数据FIFO的一个输入端与FLASH读取逻辑输出端相连,另一个输入端与ECC编解码电路的ECC校验运算器解码忙闲状态寄存器的输出控制信号相连;
所述FLASH写数据FIFO的一个输入端与ECC编解码电路的数据输入队列存储器输出端相连,另一个输入端与ECC编解码电路的ECC校验运算器编码忙闲状态寄存器的输出控制信号相连;
所述ECC校验运算器编码忙闲状态寄存器的输入端与所述ECC编解码电路的ECC校验运算器编码忙闲状态寄存器的输出端相连;
所述ECC校验运算器解码忙闲状态寄存器的输入端与所述ECC编解码电路的ECC校验运算器解码忙闲状态寄存器的输出端相连;
所述ECC校验错误寄存器的输入端与所述ECC编解码电路的ECC校验错误寄存器的输出端相连;
所述ECC错误地址寄存器的输入端与所述ECC编解码电路的ECC校验错误寄存器的输出端相连;
所述缓存存储器写信息寄存器的输入端与缓存存储器的输出端相连。
7、根据权利要求1所述的一种基于与非门结构内存的控制电路系统,其特征在于,所述ECC编解码电路进一步包括控制信息寄存器、校验使能寄存器、编码使能寄存器、第四内部控制状态机、编码数据存储器、解码数据存储器、ECC校验运算器编码忙闲状态寄存器、ECC校验运算器解码忙闲状态寄存器、ECC校验错误寄存器、ECC解码运算器、ECC编码运算器、数据输入队列寄存器和数据输出队列寄存器,
所述控制信息寄存器,用于接收来自NIOS II接口的数据包;
所述校验使能寄存器的输入端与所述控制信息寄存器的输出端相连;
所述编码使能寄存器的输入端与所述控制信息寄存器的输出端相连;
所述第四内部控制状态机的输入端与所述控制信息寄存器的输出端相连;状态控制信号输出端与校验使能寄存器、编码使能寄存器、ECC编码运算器、ECC解码运算器、编码数据存储器以及解码数据存储器的相应输入端分别相连;
所述编码数据存储器的输入端与所述数据输入输出电路的读写数据队列存储器的数据寄存器得输出端相连;
所述解码数据存储器的输入端与所述ECC解码运算器的输出端相连;
所述ECC校验运算器编码忙闲状态寄存器的输入端与所述ECC编码运算器的输出端相连;
所述ECC校验运算器解码忙闲状态寄存器的输入端与所述ECC解码运算器的输出端相连;
所述ECC校验错误寄存器的输入端与所述ECC解码运算器的输出端相连;
所述ECC解码运算器的输入端分别与所述校验使能寄存器的输出端、数据输入队列存储器的输出端相连,所述解码运算器是一个32位寄存器,输出信号是把数据输出队列存储器中的校验码解析出来并送到解码数据寄存器中;
所述ECC编码运算器的输入端分别与所述编码使能寄存器的输入端、编码数据寄存器的输出端相连,所述编码运算器是一个32位寄存器,输出信号是把编码数据存储器中的数据经过运算附加上校验码并送到数据输入队列寄存器中;
所述数据输入队列寄存器的输入端与所述ECC编码运算器的输出端相连;
所述数据输出队列寄存器的输入端与所述通道控制电路的FLASH读数据FIFO的输出端相连。
8、根据权利要求1所述的一种基于与非门结构内存的控制电路系统,其特征在于,所述数据输入输出电路进一步包括数据信息存储器、发送读写信息寄存器、缓存存储器起始地址寄存器、缓存存储器终止地址寄存器、缓存存储器下一地址寄存器、第一数据选择器、缓存存储器读写地址寄存器、第一比较器、发送端口寄存器、附加数据寄存器、缓存存储器读写数据寄存器、第二数据选择器、第二内部控制状态机和读写数据队列存储器的数据寄存器,
所述数据信息存储器,用于接收来自接口的数据信息;
所述发送读写信息寄存器的输入端与所述数据信息存储器的输出端相连;
所述缓存存储器起始地址寄存器的输入端与所述发送读写信息寄存器的相应输出端相连;
所述缓存存储器终止地址寄存器的输入端与所述发送读写信息寄存器的另一个输出端相连;
所述缓存存储器下一地址寄存器的输入端与所述缓存存储器读地址寄存器的输出端经过加1逻辑的输出端相连;
所述第一数据选择器的两个输入端分别与所述存储器起始地址寄存器、缓存存储器下一地址寄存器的输出端相连;
所述缓存存储器读写地址寄存器的输入端与所述第一数据选择器的输出端相连,输出地址信号加1后送往所述缓存存储器下一地址寄存器,另一个输出端与所述缓存存储器的第二组地址输入端相连;
所述第一比较器的两个输入端分别与所述缓存存储器下一地址寄存器、缓存存储器终止地址寄存器的输出端相连,比较信号输出端与所述第一数据选择器的控制信号输入端相连;
所述发送端口寄存器的输入端与所述发送信息寄存器的输出端相连;
所述附加数据寄存器的一组输入端与所述发送端口寄存器相连,另一组输入端与NIOS II接口电路相连,比较信号输出端与所述第一选择器的相应输入端相连;
所述缓存存储器读写数据寄存器,它的一个输入端与所述缓存存储器的第二组数据总线相连,它的另一个输入端与所述第二数据选择器的输出端相连;
所述第二数据选择器的三个输入端分别与所述缓存存储器的读写数据寄存器的输出端、附加数据寄存器的输出端和读写数据队列存储器的数据寄存器的输出端相连;
所述第二内部控制状态机的输入端与所述第一比较器的输出端相连,三个输出端分别与所述发送读写信息寄存器、第一数据选择器和第二数据选择器的控制信号输入端相连;
所述读写数据队列存储器的数据寄存器的一组输入端和所述第二数据选择器的输出端相连,另一组输入端与所述ECC编解码电路的解码数据存储器的输出端相连。
9、根据权利要求2所述的一种基于与非门结构内存的控制电路系统,其特征在于,所述NAND FLASH信息存储器包括两组数据和地址总线,第一组地址输入端与所述缓存存储器写信息寄存器的第一组地址输出端相连,第一组数据输入端与所述缓存存储器写信息寄存器的第一组数据输出端相连,第二组地址输入端与所述信息寄寄存器的地址输出端相连,第二组数据输入端与所述信息寄存器的数据输出端相连。
10、根据权利要求3所述的一种基于与非门结构内存的控制电路系统,其特征在于,所述缓存存储器包括两组组数据和地址总线,第一组地址总线与所述数据输入输出电路的缓存存储器读写地址寄存器的输出端相连,第一组数据总线与所述数据输入输出电路的缓存存储器读写数据寄存器的输出端相连,第二组地址总线与所述NAND FLASH信息存储器的第一组输入端地址总线相连,第二组数据总线与所述NAND FLASH信息存储器的第一组输入端数据总线相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101314880A CN101521041B (zh) | 2009-04-01 | 2009-04-01 | 一种基于与非门结构内存的控制电路系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101314880A CN101521041B (zh) | 2009-04-01 | 2009-04-01 | 一种基于与非门结构内存的控制电路系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101521041A true CN101521041A (zh) | 2009-09-02 |
CN101521041B CN101521041B (zh) | 2013-02-13 |
Family
ID=41081580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101314880A Expired - Fee Related CN101521041B (zh) | 2009-04-01 | 2009-04-01 | 一种基于与非门结构内存的控制电路系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101521041B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198039A (zh) * | 2013-04-19 | 2013-07-10 | 无锡云动科技发展有限公司 | 一种数据传输控制器及其混合存储装置 |
CN103810132A (zh) * | 2014-03-07 | 2014-05-21 | 福州瑞芯微电子有限公司 | 一种总线多比特单独控制电路及其设计、控制方法 |
CN106372540A (zh) * | 2016-08-29 | 2017-02-01 | 北京中电华大电子设计有限责任公司 | 一种芯片安全信息的安全传输方法及电路 |
CN109036493A (zh) * | 2018-06-11 | 2018-12-18 | 西北工业大学 | 一种具有检错纠错机制的NAND Flash控制器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100621631B1 (ko) * | 2005-01-11 | 2006-09-13 | 삼성전자주식회사 | 반도체 디스크 제어 장치 |
CN201378431Y (zh) * | 2009-04-01 | 2010-01-06 | 北京泰科源科技有限责任公司 | 一种基于与非门结构内存的控制电路装置 |
-
2009
- 2009-04-01 CN CN2009101314880A patent/CN101521041B/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198039A (zh) * | 2013-04-19 | 2013-07-10 | 无锡云动科技发展有限公司 | 一种数据传输控制器及其混合存储装置 |
CN103810132A (zh) * | 2014-03-07 | 2014-05-21 | 福州瑞芯微电子有限公司 | 一种总线多比特单独控制电路及其设计、控制方法 |
CN106372540A (zh) * | 2016-08-29 | 2017-02-01 | 北京中电华大电子设计有限责任公司 | 一种芯片安全信息的安全传输方法及电路 |
CN106372540B (zh) * | 2016-08-29 | 2019-07-12 | 北京中电华大电子设计有限责任公司 | 一种芯片安全信息的安全传输方法及电路 |
CN109036493A (zh) * | 2018-06-11 | 2018-12-18 | 西北工业大学 | 一种具有检错纠错机制的NAND Flash控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN101521041B (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11294743B2 (en) | Firmware event tracking for NAND-based storage devices, and methods and instruction sets for performing the same | |
US9183143B2 (en) | Memory device that specifies a size of a segment of write data | |
CN103282887A (zh) | 用于进行后台操作的控制器和方法 | |
CN105786412B (zh) | 非易失性存储器装置的操作方法 | |
CN112035381B (zh) | 一种存储系统及存储数据处理方法 | |
CN115687228B (zh) | 一种基于PCIe总线的星载固态存储系统及方法 | |
CN101833424A (zh) | 基于fpga的高速存储与传输装置 | |
US20120005409A1 (en) | Method for performing data shaping, and associated memory device and controller thereof | |
US20110055457A1 (en) | Method for giving program commands to flash memory, and controller and storage system using the same | |
CN201378431Y (zh) | 一种基于与非门结构内存的控制电路装置 | |
CN101710270B (zh) | 一种基于闪存的高速大容量存储器及芯片数据管理方法 | |
DE102009037984A1 (de) | Speichervorrichtung für eine Hierarchische Speicherarchitektur | |
CN101521041B (zh) | 一种基于与非门结构内存的控制电路系统 | |
US20080114924A1 (en) | High bandwidth distributed computing solid state memory storage system | |
CN102866865B (zh) | 一种fpga专用配置存储器多版本码流存储电路架构 | |
CN104541256A (zh) | 智能远存储器带宽缩放 | |
US20220222140A1 (en) | Error correction system | |
CN107491267B (zh) | 一种基于lvds接口的高速图像数据存储装置 | |
CN114296638B (zh) | 存算一体化固态硬盘控制器及相关装置、方法 | |
US11630601B2 (en) | Memory and apparatus for performing access control with aid of multi-phase memory-mapped queue | |
CN101477443A (zh) | 与非闪存控制系统和控制方法 | |
CN103002046A (zh) | 多系统数据拷贝的rdma架构 | |
CN116775368A (zh) | 用于以不同码率在分区之间回拷的多层码率架构 | |
CN114490023B (zh) | 一种基于arm和fpga的高能物理可计算存储设备 | |
CN113742282A (zh) | 一种基于fpga的sata ip核及数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
DD01 | Delivery of document by public notice |
Addressee: Beijing Techtronics Co., Ltd. Document name: Notification to Pay the Fees |
|
DD01 | Delivery of document by public notice |
Addressee: Beijing Techtronics Co., Ltd. Document name: Notification of Termination of Patent Right |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130213 Termination date: 20150401 |
|
EXPY | Termination of patent right or utility model |