Nandflash控制器及其与nandflash芯片的数据交互方法

文档序号:6612920阅读:224来源:国知局

专利名称::Nandflash控制器及其与nandflash芯片的数据交互方法
技术领域
:本发明涉及NANDFLASH控制器领域,特别是涉及一种NANDFLASH控制器及其与NANDFLASH芯片数据交互的方法。技术背景NAND型快闪存储器(NANDFLASH)是一种可在线进行电擦写的非易失半导体存储器,具有擦写速度快、低功耗、大容量、低成本等优点,广泛应用于MP3、MP4、手机、数码照相机、摄像机等电子产品中。NANDFLASH芯片通过NANDFLASH控制器写入、读取数据,NANDFLASH控制器传送到NANDFLASH芯片的数据包括地址和命令数据、及信息数据。现有的NANDFLASH控制器通过内部数据传输通道,将地址和命令数据、及信息数据传送到NANDFLASH芯片。参阅图1,为现有的NANDFLASH控制器结构示意图,包括总线时序接口11、内部数据传输通道12、命令数据解码器13、及FLASH时序发生器14。总线时序接口11将接收到系统总线传送的数据通过内部数据传输通道12直接传送至FLASH时序发生器14,FLASH时序发生器14将系统总线时序转换为NANDFLASH芯片时序,传送该数据到MNDFLASH芯片。上述数据包括命令和地址数据、及信息数据,命令数据在内部数据传输通道12传输时,需要命令数据解码器13对命令数据进行解析,转换为真实的命令数据后再传送到NANDFLASH芯片。NANDFLASH控制器属于异步慢速器件,传输速率较低,一般不高于40MHz,而系统总线传输速率较高,一般可达到133MHz。在数据传输过程中,系统总线的数据往往处于等待传输状态,而命令数据在内部数据传输通道12传输中,还需命令数据解码器13对其进行转换操作,该转换操作进一步延緩NANDFLASH控制器的传输速度,降低NANDFLASH控制器的数据传输效率。NANDFLASH芯片因生产厂商不同,命令数据的数值各不相同,即使同一厂商生产的不同型号的NANDFLASH芯片,其命令数据的数值也不尽相同。FLASH控制器中的命令数据解码器13对照其内部存储的命令转换信息,转换不同厂商的NANDFLASH芯片的命令数据。但是,命令数据解码器13可存储的命令转换信息非常有限,^艮难把所有厂商的NANDFLASH芯片的命令数据都包括,并且NANDFLASH芯片发展得很快,把命令数据做成硬解析的方式无法兼容以后不断推出的命令数据。因此,NANDFLASH控制器的兼容性受到一定的限制,不能灵活地与各种NANDFLASH芯片进行数据交互。目前,NANDFLASH芯片每页存储区分为两块数据区和冗余区。数据区域存储数据信息,冗余区域存储文件系统信息及纠错码的校验位。现以2K字节的数据为例,该数据在NANDFLASH芯片中存储的格式如下表l:<table>tableseeoriginaldocumentpage6</column></row><table>表l表l中,前2048字节为该存储页的数据区,后64字节为该存储页的冗余区,512字节信息数据与其对应的16字节的文件系统信息和检验位组成一个完整的BCH码字。在往NANDFLASH芯片写入凄t据时,当传送完第一个512字节的信息数据时,地址指针跳转到表l第5栏位置,将上述信息数据对应的文件系统信息和校验位写入该位置,然后地址指针再跳转到表l中第2栏位置,继续写入下一个512字节的信息数据,再跳转地址指针到表1中第6栏位置,将该信息数据对应的文件系统信息和校验位写入该位置,如此循环,将数据依次写入NANDFLASH芯片存储页。/人NANDFLASH芯片读取^t据时,同样也需要不断的调整地址指针,读取相应位置的数据。上述在NANDFLASH芯片写入或读:f又数据过程中,需要发送特定的指令和地址,控制地址指针跳转,以便在相应位置写入或读取数据,这极大的增加在NANDFLASH芯片写入或读取数据的复杂程度,降低数据传输效率。
发明内容本发明所要解决的技术问题是提供一种NANDFLASH控制器,该NANDFLASH控制器能够提高数据传输效率,并能够灵活兼容各种NANDFLASH芯片。本发明的又一个目的是提供一种NANDFLASH控制器向NANDFLASH芯片写入数据的方法,该方法可降低向NANDFLASH芯片写入数据的复杂程度,提高数据传输效率。本发明的再一个目的是提供一种NANDFLASH控制器在NANDFLASH芯片读取数据的方法,该方法可降低从读取数据的复杂程度,提高数据传输效率。本发明涉及一种NANDFLASH控制器,包括总线时序接口、FLASH时序发生器、DMA数据传输通道,还包括命令和地址数据传输通道、通道选择器、数据緩沖区、及逻辑控制器所述命令和地址数据传输通道,连接所述总线时序接口和所述通道选择器,用于传输命令和地址数据;所述数据緩冲区,用于接收系统总线通过总线时序接口传送的信息数据;所述控制寄存器,用于接收系统总线通过总线时序接口配置的工作参数;所述逻辑控制器,用于依据所述工作参数在所述数据緩沖区写入或读取上述数据信息;所述通道选择器,用于依据所述工作参数接通DMA数据传输通道或命令和地址数据传输通道,传送数据。优选的,还包括BCH编码/解码器和BCH结果寄存器所述BCH编码/解码器,用于对所述DMA数据传输通道传输的信息数据进行编码、解码,并将编码、解码结果发送到所述BCH结果寄存器;所述BCH结果寄存器,用于寄存BCH结果数据。所述逻辑控制器在所述BCH结果寄存器读取BCH结果数据。优选的,,还包括FLASH时序控制寄存器,用于调整所述FLASH时序发生器的时序。优选的,所述数据緩冲区包括多片预设字节的静态随机存储器和预置字节的寄存器。优选的,所述预设字节为512字节,所述预置字节为64字节。本发明还涉及一种NANDFLASH控制器向NANDFLASH芯片写入数据的方法,将数据以BCH码字为单位,写入每BCH码字数据的步骤包括传送命令和地址数据到NANDFLASH芯片;传送数据信息到NANDFLASH芯片的相应地址,同时对该数据信息进行编码;传送上述数据信息对应的文件系统信息到上述地址的下一相邻地址,同时对该文件系统信息进行编码;将上述编码得到的结果数据存储到上述下一相邻地址的下一相邻地址。优选的,在传送数据信息到NANDFLASH芯片存储页的相应地址之前,还包括系统总线将信息数据和文件系统信息写入所述NANDFLASH控制器的数据緩冲区;在所述数据緩冲区顺序读取该信息数据和文件系统信息。优选的,系统总线将信息数据和文件系统信息写入所述NANDFLASH控制器的数据緩冲区具体为系统总线将信息数据以512字节为单位,循环写入到所述NANDFLASH控制器的数据緩沖区的各静态随机存储器中;系统总线将上述信息数据对应的文件系统信息循环写入所述数据緩沖区的冗余寄存器。优选的,所述NANDFLASH控制器采用命令和地址传输通道传输命令和地址数据。优选的,所述NANDFLASH控制器采用DMA数据传输通道传输信息数据、文件系统信息、与才L睑位。本发明又涉及一种NANDFLASH控制器在NANDFLASH芯片读取数据的方法,将数据以BCH码字为单位,读取每BCH码字数据的步骤包括传送命令和地址数据到NANDFLASH芯片;读取NANDFLASH芯片存储页相应地址的数据信息到所述NANDFLASH控制器的数据緩冲区,同时对该数据信息进行解码;读取上述地址的下一相邻地址内的文件系统信息至所述数据緩冲区,同时对该文件系统信息进行解码;读取上述下一相邻地址的下一相邻地址内的校验位至所述数据緩冲区,同时对该校验位进行解码;获取上述解码得到的结果数据,并根据该结果数据校正所述数据緩冲区中上述数据信息、文件系统信息、及校验位。优选的,该方法还包括如上述数据信息、文件系统信息、及校验位中出现的错误个数大于可校正的个数,生成错误信息。优选的,所述NANDFLASH控制器采用命令和地址传输通道传输命令和地址数据。优选的,所述NANDFLASH控制器采用DMA数据传输通道传输信息数据、文件系统信息、与校验位。与现有技术相比,本发明具有以下优点本发明NANDFLASH控制器选用DMA数据传输通道传输信息数据,选用命令和地址数据传输通道传输命令和地址数据,将信息数据、命令和地址数据分开传输,避免在传输时对命令和地址数据进行转换操作,延误数据的传输,提高传输效率。同时,选取专用的数据传输通道传输命令和地址数据,不需在数据传输过程中对命令和地址数据进行转换,避免现有技术中将命令数据做成硬解析的方式,而无法兼容以后不断推出的命令数据的缺陷,使NANDFLASH控制器能够灵活地适应各种NANDFLASH芯片。本发明将MNDFLASH芯片存储页格式设置为存储信息数据及其对应的文件系统信息、校验位的地址顺序排列。在NANDFLASH芯片写入或读取数据时,不需要发送特别的操作命令和地址用于改变地址指针,即可顺序地写入或读取信息数据、文件系统信息、校验位,便于BCH编/解码器进行编码、解码,极大的简化了在NANDFLASH芯片写入或读取数据的复杂程度,进一步提高数据传输效率。图1为现有的NANDFLASH控制器结构示意图;图2为本发明第一实施例^是供的NANDFLASH控制器示意图;图3为本发明第二实施例提供的NANDFLASH控制器示意图;图4为本发明第三实施例4是供的NANDFLASH控制器示意图;图5为本发明向数据緩沖区写入信息数据流程图;图6为本发明提供的NANDFLASH控制器向NANDFLASH芯片写入数据的方法流程图;图7为本发明向NANDFLASH芯片写入数据示意图;图8为本发明提供的NANDFLASH控制器向NANDFLASH芯片读取数据的方法流程图9为本发明在ANDFLASH芯片读取数据示意图。具体实施方式本发明NANDFLASH控制器选用DMA数据传输通道传输信息数据,选用命令和地址数据传输通道传输命令和地址数据,将信息数据、命令和地址数据分开传输。同时,本发明将MNDFLASH芯片存储页格式设置为存储信息数据及其对应的文件系统信息、校验位的地址顺序排列。NANDFLASH控制器在与NANDFLASH芯片进行数据交互时,不需发送特别的操作命令和地址用于改变地址指针,即可顺序地写入或读取信息数据、文件系统信息、校验位。为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。参照图2,为本发明第一实施例提供的NANDFLASH控制器示意图,该NANDFLASH控制器包括总线时序接口11、FLASH时序发生器14、DMA数据传输通道15、命令和地址数据传输通道16、通道选择器17、数据缓冲区18、逻辑控制器19、及控制寄存器23。总线时序接口ll与系统总线相连接,进行数据交互。交互的数据主要包括信息数据、命令和地址数据。总线时序接口11将系统总线传输的命令和地址数据通过命令和地址数据传输通道16、通道选择器17、FLASH时序发生器14写入NANDFLASH芯片。系统总线通过总线时序接口11将信息数据写入数据緩冲区18。命令和地址数据传输通道16连接总线时序接口11和通道选择器17,专用于传输命令和地址数据。数据緩冲区18存储总线时序接口11传送的信息数据。逻辑控制器19在数据緩沖区18读取上述信息数据,经DMA数据传输通道15、通道选择器17、FLASH时序发生器14写入NANDFLASH芯片。数据緩冲区18可以528字节的码字为单位,用多片512字节的静态随机存储器(SRAM)来存储对应每个码字的信息数据,用64字节的寄存器来存储文件系统信息和BCH^r-睑位。其组成如下表2所示512字节SRAM0512字节SRAM1512字节SRAM2512字节SRAM364字节冗余寄存器表2逻辑控制器19生成逻辑控制信号,发送到通道选择器17。通道选择器17根据上述逻辑控制信号,接通DMA数据传输通道15或命令和地址数据传输通道16,将所选传输通道的数据传送至FLASH时序发生器14。FLASH时序发生器14将接收到的数据写入NANDFLASH芯片。数据寄存器接收系统总线通过总线时序接口11配置的工作参数。本发明选用DMA数据传输通道15传输信息数据,选用命令和地址数据传输通道16传输命令和地址数据,将信息数据、命令和地址数据分开传输,避免在传输时对命令数据进行转换操作,延误数据的传输,提高传输效率。同时,选取专用的数据传输通道传输命令和地址数据,不需对命令数据进行转换,使NANDFLASH控制器能够灵活地适应各种NANDFLASH芯片。本发明NANDFLASH控制器还可包括BCH编码/解码器和BCH结果寄存器,用于对DMA数据传输通道15传送的信息数据进行编码、解码。参照图3,为本发明第二实施例提供的NANDFLASH控制器示意图,该NANDFLASH控制器包括总线时序接口11、FLASH时序发生器14、DMA数据传输通道15、命令和地址数据传输通道16、通道选择器17、数据緩沖区18、逻辑控制器19、BCH编码/解码器20、BCH结果寄存器21、及控制寄存器23。在往NANDFLASH芯片写入信息数据时,BCH编码/解码器20对该信息数据进行编码,将编码结果存储到BCH结果寄存器21。逻辑控制器19在BCH结果寄存器21读取该编码结果,通过DMA数据传输通道15写入到NANDFLASH芯片的相应的校验位。从NANDFLASH芯片读取数据时,BCH编码/解码器20对该信息数据进行解码,将解码的结果保存在BCH结果寄存器21。逻辑控制器19在BCH结果寄存器21读取BCH结果数据,并根据BCH结果数据自动纠正错误。在编码时,需要将每个码字的信息数据和其对应的文件系统信息依次送入BCH编码/解码器20,才能得到编码结果;在解码时,需要将每个码字的信息数据、文件系统信息和检验位依次送入BCH编码/解码器20才能得到解码结果。BCH结果寄存器21可保存4个码字的编码/解码结果。4个码字的编码结果结构如下表3所示码字o编码结果码字l编码结果码字2编码结果码字3编码结果表34个码字的解码码结果也同样保存4组值。每组解码结果包含错误个数、错误地址、及错误值。如下表4所示;错误个数错误地址o错误值o错误地址i错误值i错误地址t错误值t表4BCH编码解码在BCH编码/解码器20的GF(213)域上进行,每组编码结果包含13*t位的冗余位。t为可纠正的错误个数。错误个数为BCH编码/解码器2G通过解码找到的对应码字中包含的错误比特数,每个码字最多只能有t个错误。参照图4,为本发明第三实施例提供的NANDFLASH控制器示意图,该NANDFLASH控制器包括总线时序接口11、FLASH时序发生器14、DMA数据传输通道15、命令和地址数据传输通道16、通道选择器17、数据緩冲区18、逻辑控制器19、BCH编码/解码器20、BCH结果寄存器21、FLASH时序控制寄存器H、及控制寄存器23。FLASH时序控制寄存器22以系统总线时钟HCLK的周期为最小时间单位,保存片选使能信号的建立时间、写/读信号的有效宽度、片选使能信号的保持时间、命令/地址信号的建立时间、命令/地址信号的保持时间等时间值。不同的NANDFLASH芯片的上述时间值各不相同,为了兼容所有的NANDFLASH芯片,NANDFLASH控制器灵活地配置上述时间值,以更好的兼容不同的NANDFLASH芯片。应用时,根据各NANDFLASH芯片的具体要求,配置FLASH时序控制寄存器22,FLASH时序控制寄存器22根据上述时间值调整FLASH时序发生器14的时序。NANDFLASH控制器在传输数据时,系统总线首先通过总线时序接口11配置控制寄存器23设定各种工作参数,逻辑控制器19根据设定的工作参数控制各模块间协同工作,发出控制信号。通道选择器17根据控制信号接通命令和地址数据传输通道17,传送命令和地址数据到NANDFLASH芯片。在往NANDFLASH芯片写入数据时,系统总线过总线时序接口11将信息数据写入数据緩沖区18,逻辑控制器19从数据緩冲区18读出数据通过DMA数据传输通道15写入到NANDFLASH芯片,当传输完预设字节数据后,逻辑控制器19生成中断信息通知系统数据传输已经结束;从NANDFLASH芯片读取时,逻辑控制器19数据緩冲区18,当传输完预设字节数据后,逻辑控制器19生成中断信息通知系统数据传输已经结束,系统总线再通过总线时序接口11从数据緩冲区18中读取数据。因数据緩冲区18的多片SRAM和冗余积存器都是系统总线可寻址的,并且在地址上是连续的。多片SRAM的结构使对数据緩冲区18的写入或读取数据操作可以以码字为单位,进行兵乓方式的操作。参阅图5,为本发明向数据緩冲区18写入信息数据流程图,具体步骤如下步骤S501、系统总线通过总线时序接口ll将信息数据写入数据緩冲区18的某一部分存储地址。如,系统总线将信息数据写入表2中SRAMG和SRAM1存储地址,并4e^目应的文件系统信息写入表2中的冗余寄存器的对应地址。步骤S502、系统总线通过配置控制寄存器23启动逻辑控制器19将数据緩冲区18的上述部分存储地址存储的信息数据、文件系统信息和BCH结果寄存器21中编码得到的^^险位写入NANDFLASH芯片,完成写入后,生成传输完成的中断。如,将表2中SRAM0和SRAM1存储地址存储的信息数据和对应的文件系统信息、才全验位写入NANDFLASH芯片。步骤S503、系统总线通过总线时序接口ll将信息数据写入数据緩冲区18的另一部分存储地址。如,系统总线将信息数据写入表2中SRAM2和SRAM3存储地址。因为系统总线数据传输速率比较快,步骤S503要先于步骤S502完成。步骤S504、在S502传输完成后,系统总线通过配置控制寄存器23启动将数据緩冲区18的上述另一部分存储地址存储的信息数据、文件系统信息和BCH结果寄存器21中编码得到的4企-睑位写入NANDFLASH芯片,完成写入后,生成传输完成的中断,并转到步骤S501。如,将表2中SRAM2和SRAM3存储地址存储的信息数据和对应的文件系统信息、4企验位写入NANDFLASH芯片。此种兵乓操作的方式以BCH码字为单位进行数据传输,通过循环多次的配置控制寄存器23,加快数据的传输效率。并且乒乓操作的方式可较小对数据緩冲区18存储容量的要求,减小MNDFLASH控制器的面积,降低芯片成本。以上为本发明NANDFLASH控制器的各实施例,下面详细介绍本发明NANDFLASH芯片数据存储格式。为方便数据的写入和读取,本发明将NANDFLASH芯片存储页格式设置为存储信息数据及其对应的文件系统信息、校验位的地址顺序排列。如下表5,为本发明NANDFLASH芯片2K存^f渚页的才各式表<table>tableseeoriginaldocumentpage14</column></row><table>表5在表5中,每BCH码字的信息数据、文件系统信息、校验位顺序排列。在NANDFLASH芯片写入或读取数据时,不需要发送特别的操作命令和地址用于改变地址指针,只需顺序地写入或读取信息数据、文件系统信息、校验位,便于BCH编/解码器20进行编码、解码,极大的简化了在NANDFLASH芯片写入或读取数据的复杂程度,进一步提高数据传输效率。基于上述NANDFLASH芯片存储页格式,本发明提供NANDFLASH控制器与NANDFLASH芯片的数据交互方法,该方法可降低从写入、读取数据的复杂程度,提高数据传输效率。下面以NANDFLASH控制器向NANDFLASH芯片写入1BCH码字数据,在NANDFLASH芯片读取1BCH码字数据为例,进行说明。参阅图6,为本发明提供的NANDFLASH控制器向NANDFLASH芯片写入数据的方法流程图,具体步骤如下。步骤S601、传送命令和地址数据到NANDFLASH芯片。系统总线通过命令和地址数据传输通道16传送命令和地址数据至NANDFLASH芯片。步骤S602、传送数据信息到NANDFLASH芯片存储页的相应地址,对该数据信息进行编码。系统总线配置控制寄存器21的各项参数,逻辑控制器20通过DMA数据传输通道15读取数据緩冲区的数据信息,存储至NANDFLASH芯片存储页相应地址,同时BCH编码/解码器20对该数据信息进行编码。参阅图7,图7为本发明NANDFLASH芯片写入数据示意图。包括数据緩冲区寄存器71、NANDFLASH芯片存储页72、BCH结果寄存器21。将数据緩冲区寄存器71内的信息数据0地址内的信息数据传送到NANDFLASH芯片存储页72中信息数据Q地址内。同时将该信息数据发送到BCH编码/解码器20进行编码。步骤S603、将上述数据信息对应的文件系统信息传送到NANDFLASH芯片中上述地址的下一相临地址,同时对该文件系统信息进行编码;参见图7,传送数据緩冲区中冗余寄存器71内的文件系统信息O地址内的数据到NANDFLASH芯片存储页72内文件系统信息0地址内。由图7可见,NANDFLASH芯片存储页72中,信息数据0地址与文件系统信息Q地址相邻,无需改变NANDFLASH芯片中的存储地址,自动将文件系统信息存储到该地址。同时,将该文件系统信息发送到BCH编码/解码器20进行编码,将编码结果存储到BCH结果寄存器21的码字0编码结果地址中。步骤S604、将上述编码得到的结果数据继续存储到NANDFLASH芯片中上述下一相临地址的下一相临地址,完成一个BCH码字存储至NANDFLASH芯片过程。循环重复上述步骤,将数据顺序写入NANDFLASH芯片。参见图7,将BCH结果寄存器21内码字0编码结果中的结果数据直接传送至NANDFLASH芯片存储页72的校验位0地址内。由图7可见,校验位0地址为文件系统信息0地址的下一相邻地址,无需改变NANDFLASH芯片中的存储地址,自动将该编码结果存储到该地址。由上述步骤可知,在NANDFLASH芯片写入数据时,无需改变NANDFLASH芯片中的存储地址,即可顺序地写入信息数据、文件系统信息、及校验位,极大的简化了在NANDFLASH芯片写入数据的复杂程度,进一步提高数据传输效率。参阅图8,为本发明提供的在MNDFLASH控制器在NANDFLASH芯片读取数据的方法流程图,具体步骤如下。步骤S801、传送命令和地址数据到NANDFLASH芯片。系统总线过命令和地址数据传输通道16传送命令和地址数据至NANDFLASH芯片。步骤S802、系统总线配置控制寄存器21的各项参数,启动逻辑控制器19,通过DMA数据传输通道15读取NANDFLASH芯片存储页相应地址的数据信息,存储至数据緩冲区18,同时BCH解码器对该数据信息进行解码。图9为本发明ANDFLASH芯片读取数据示意图。包括数据緩冲区寄存器71、NANDFLASH芯片存储页72、BCH结果寄存器21。在NANDFLASH芯片存储页72的信息数据G地址内读取信息数据,并发送到数据緩冲区寄存器71的信息数据G地址内。同时将该信息数据发送到BCH编码/解码器20进行解码。步骤S803、在NANDFLASH芯片存储页上述地址的下一相临地址读取文件系统信息,存储至凝:据緩冲区18,同时BCH编码/解码器20对该文件系统信息进行解码。参见图9,NANDFLASH芯片的地址指针顺序移动到下一相邻位置,接着读取文件系统信息Q地址的数据,传送至数据緩沖区寄存器71的文件系统信息0地址内。同时,将该文件系统信息发送到BCH编码/解码器20进行解码。步骤S804、在NANDFLASH芯片存储页上述下一相临地址的下一相临地址读取校验位信息,存储至数据緩冲区18,同时BCH编码/解码器20对该校验位进行解码。参见图9,NANDFLASH芯片的地址指针再顺序移动到下一相邻位置,读取校验位O地址的数据,传送至数据緩冲区寄存器71的校验位0地址内。同时,将该校验位发送到BCH编码/解码器2G进行解码。步骤S805、逻辑控制器19获fUi述解码得到的结果数据,并一艮据该结果数据纠正数据緩冲区18中上述数据信息、文件系统信息、及校验位中的数据错误。循环重复上述步骤,在NANDFLASH芯片内顺序读取数据。参见图9,在BCH结果寄存器21的码字Q解码结果地址中读取结果数据,根据该结果数据,自动纠正码字中出现的错误。如上述数据信息、文件系统信息、及校验位信息中出现的错误个数大于可纠正个数,生成错误信息。在NANDFLASH芯片读取数据时,无需改变NANDFLASH芯片中的存储地址,即可顺序地读取信息数据、文件系统信息、校验位,极大的简化了在NANDFLASH芯片读取数据的复杂程度,进一步提高数据传输效率。以上是对本发明所提供的一种NANDFLASH控制器及其与MNDFLASH芯片数据交互方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种NANDFLASH控制器,包括总线时序接口、FLASH时序发生器、DMA数据传输通道,其特征在于,还包括命令和地址数据传输通道、通道选择器、数据缓冲区、及逻辑控制器所述命令和地址数据传输通道,连接所述总线时序接口和所述通道选择器,用于传输命令和地址数据;所述数据缓冲区,用于接收系统总线通过总线时序接口传送的信息数据;所述控制寄存器,用于接收系统总线通过总线时序接口配置的工作参数;所述逻辑控制器,用于依据所述工作参数在所述数据缓冲区写入或读取上述数据信息;所述通道选择器,用于依据所述工作参数接通DMA数据传输通道或命令和地址数据传输通道,传送数据。2、如权利要求1所述的NANDFLASH控制器,其特征在于,还包括BCH编码/解码器和BCH结果寄存器所述BCH编码/解码器,用于对所述DMA数据传输通道传输的信息数据进行编码、解码,并将编码、解码结果发送到所述BCH结果寄存器;所述BCH结果寄存器,用于寄存BCH结果数据。所述逻辑控制器在所述BCH结果寄存器读取BCH结果数据。3、如权利要求1所述的NANDFLASH控制器,其特征在于,还包括FLASH时序控制寄存器,用于调整所述FLASH时序发生器的时序。4、如权利要求l、2或3所述的MNDFLASH控制器,其特征在于,所述数据緩冲区包括多片预设字节的静态随机存储器和预置字节的寄存器。5、如权利要求4所述的NANDFLASH控制器,其特征在于,所述预设字节为512字节,所述预置字节为64字节。6、一种NANDFLASH控制器向NANDFLASH芯片写入数据的方法,其特征在于,将数据以BCH码字为单位,写入每BCH码字数据的步骤包括传送命令和地址凄t据到MNDFLASH芯片;传送凝:据信息到NANDFLASH芯片的相应地址,同时对该数据信息进行编码;传送上述数据信息对应的文件系统信息到上述地址的下一相邻地址,同时对该文件系统信息进行编码;将上述编码得到的结果数据存储到上述下一相邻地址的下一相邻地址。7、如权利要求6所述的方法,其特征在于,在传送数据信息到NANDFLASH芯片存储页的相应地址之前,还包括系统总线将信息数据和文件系统信息写入所述NANDFLASH控制器的凄t据緩冲区;在所述数据緩冲区顺序读取该信息数据和文件系统信息。8、如权利要求7所述的方法,其特征在于,系统总线将信息数据和文件系统信息写入所述NANDFLASH控制器的数据緩冲区具体为系统总线将信息数据以512字节为单位,循环写入到所述NANDFLASH控制器的数据緩冲区的各静态随机存储器中;系统总线将上述信息数据对应的文件系统信息循环写入所述数据緩冲区的冗余寄存器。9、如权利要求6、7或8所述的方法,其特征在于,所述NANDFLASH控制器采用命令和地址传输通道传输命令和地址数据。10、如权利要求6、7或8所述的方法,其特征在于,所述NANDFLASH控制器采用丽A数据传输通道传输信息数据、文件系统信息、与校验位。11、一种NANDFLASH控制器在NANDFLASH芯片读取数据的方法,其特征在于,将数据以BCH码字为单位,读取每BCH码字数据的步骤包括传送命令和地址凄t据到NANDFLASH芯片;读取NANDFLASH芯片存储页相应地址的数据信息到所述NANDFLASH控制器的数据緩冲区,同时对该数据信息进行解码;读取上述地址的下一相邻地址内的文件系统信息至所述数据緩冲区,同时对该文件系统信息进行解码;读取上述下一相邻地址的下一相邻地址内的校验位至所述数据缓冲区,同时对该一交-验位进行解码;获取上述解码得到的结果数据,并根据该结果数据校正所述数据緩冲区中上述数据信息、文件系统信息、及4交验位。12、如权利要求11所述的方法,其特征在于,该方法还包括如上述数据信息、文件系统信息、及校验位中出现的错误个数大于可校正的个数,生成错误信息。13、如权利要求11或12所述的方法,其特征在于,所述NANDFLASH控制器采用命令和地址传输通道传输命令和地址数据。14、如权利要求11或12所述的方法,其特征在于,所述NANDFLASH控制器采用DMA数据传输通道传输信息数据、文件系统信息、与校验位。全文摘要本发明涉及一种NANDFLASH控制器,包括命令和地址数据传输通道,连接所述总线时序接口和所述通道选择器,用于传输命令和地址数据;数据缓冲区,用于接收系统总线通过述总线时序接口传送的信息数据;控制寄存器,用于接收系统总线通过述总线时序接口配置的工作参数;逻辑控制器,用于依据工作参数在数据缓冲区写入或读取数据信息;通道选择器,用于依据工作参数接通DMA数据传输通道或命令和地址数据传输通道,将传输通道的数据传送至FLASH时序发生器。同时,本发明还公开NANDFLASH控制器与NANDFLASH芯片数据交互方法。本发明能够提高数据传输效率,并能够灵活兼容各种NANDFLASH芯片。文档编号G06F13/28GK101162449SQ20071016418公开日2008年4月16日申请日期2007年10月8日优先权日2007年10月8日发明者阙金珍申请人:福州瑞芯微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1