CN101162449B - Nand flash控制器及其与nand flash芯片的数据交互方法 - Google Patents

Nand flash控制器及其与nand flash芯片的数据交互方法 Download PDF

Info

Publication number
CN101162449B
CN101162449B CN2007101641879A CN200710164187A CN101162449B CN 101162449 B CN101162449 B CN 101162449B CN 2007101641879 A CN2007101641879 A CN 2007101641879A CN 200710164187 A CN200710164187 A CN 200710164187A CN 101162449 B CN101162449 B CN 101162449B
Authority
CN
China
Prior art keywords
data
nand flash
information
address
channel
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.)
Active
Application number
CN2007101641879A
Other languages
English (en)
Other versions
CN101162449A (zh
Inventor
阙金珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN2007101641879A priority Critical patent/CN101162449B/zh
Publication of CN101162449A publication Critical patent/CN101162449A/zh
Priority to US12/246,701 priority patent/US8261008B2/en
Application granted granted Critical
Publication of CN101162449B publication Critical patent/CN101162449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种NAND FLASH控制器,其DMA数据传输通道连接逻辑控制器和通道选择器,用于传输信息数据;命令和地址数据传输通道连接总线时序接口和所述通道选择器,用于传输命令和地址数据;数据缓冲区接收系统总线通过总线时序接口传送的信息数据;控制寄存器接收系统总线通过总线时序接口配置的工作参数;逻辑控制器依据工作参数在数据缓冲区写入或读取信息数据;生产逻辑控制信号,发送到通道选择器;通道选择器依据上述逻辑控制信号,接通DMA数据传输通道或命令和地址数据传输通道,传送数据。本发明能够提高数据传输效率,并能够灵活兼容各种NAND FLASH芯片。

Description

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

Claims (14)

1.一种NAND FLASH控制器,包括总线时序接口、FLASH时序发生器、DMA数据传输通道,其特征在于,还包括:命令和地址数据传输通道、通道选择器、数据缓冲区、控制寄存器、及逻辑控制器:
所述命令和地址数据传输通道,连接所述总线时序接口和所述通道选择器,用于传输命令和地址数据;
所述数据缓冲区,用于接收系统总线通过总线时序接口传送的信息数据;
所述控制寄存器,用于接收系统总线通过总线时序接口配置的工作参数;
所述逻辑控制器,用于依据所述工作参数在所述数据缓冲区写入或读取上述数据信息;
所述通道选择器,用于依据所述工作参数接通DMA数据传输通道或命令和地址数据传输通道,传送数据。
2.如权利要求1所述的NAND FLASH控制器,其特征在于,还包括BCH编码/解码器和BCH结果寄存器:
所述BCH编码/解码器,用于对所述DMA数据传输通道传输的信息数据进行编码、解码,并将编码、解码结果发送到所述BCH结果寄存器;
所述BCH结果寄存器,用于寄存BCH结果数据。
所述逻辑控制器在所述BCH结果寄存器读取BCH结果数据。
3.如权利要求1所述的NAND FLASH控制器,其特征在于,还包括:
FLASH时序控制寄存器,用于调整所述FLASH时序发生器的时序。
4.如权利要求1、2或3所述的NAND FLASH控制器,其特征在于,所述数据缓冲区包括多片预设字节的静态随机存储器和预置字节的寄存器。
5.如权利要求4所述的NAND FLASH控制器,其特征在于,所述预设字节为512字节,所述预置字节为64字节。
6.一种NAND FLASH控制器向NAND FLASH芯片写入数据的方法,其特征在于,将数据以BCH码字为单位,写入每BCH码字数据的步骤包括:
传送命令和地址数据到NAND FLASH芯片;
传送信息数据到NAND FLASH芯片的相应地址,同时对该信息数据进行编码;
传送上述信息数据对应的文件系统信息到上述地址的下一相邻地址,同时对该文件系统信息进行编码;
将上述编码得到的结果数据存储到上述下一相邻地址的下一相邻地址。
7.如权利要求6所述的方法,其特征在于,在传送信息数据到NAND FLASH芯片存储页的相应地址之前,还包括:
系统总线将信息数据和文件系统信息写入所述NAND FLASH控制器的数据缓冲区;
在所述数据缓冲区顺序读取该信息数据和文件系统信息。
8.如权利要求7所述的方法,其特征在于,系统总线将信息数据和文件系统信息写入所述NAND FLASH控制器的数据缓冲区具体为:
系统总线将信息数据以512字节为单位,循环写入到所述NAND FLASH控制器的数据缓冲区的各静态随机存储器中;
系统总线将上述信息数据对应的文件系统信息循环写入所述数据缓冲区的冗余寄存器。
9.如权利要求6、7或8所述的方法,其特征在于,所述NAND FLASH控制器采用命令和地址传输通道传输命令和地址数据。
10.如权利要求6、7或8所述的方法,其特征在于,所述NAND FLASH控制器采用DMA数据传输通道传输信息数据、文件系统信息、与校验位。
11.一种NAND FLASH控制器在NAND FLASH芯片读取数据的方法,其特征在于,将数据以BCH码字为单位,读取每BCH码字数据的步骤包括:
传送命令和地址数据到NAND FLASH芯片;
读取NAND FLASH芯片存储页相应地址的信息数据到所述NAND FLASH控制器的数据缓冲区,同时对该信息数据进行解码;
读取上述地址的下一相邻地址内的文件系统信息至所述数据缓冲区,同时对该文件系统信息进行解码;
读取上述下一相邻地址的下一相邻地址内的校验位至所述数据缓冲区,同时对该校验位进行解码;
获取上述解码得到的结果数据,并根据该结果数据校正所述数据缓冲区中上述信息数据、文件系统信息、及校验位。
12.如权利要求11所述的方法,其特征在于,该方法还包括:
如上述信息数据、文件系统信息、及校验位中出现的错误个数大于可校正的个数,生成错误信息。
13.如权利要求11或12所述的方法,其特征在于,所述NAND FLASH控制器采用命令和地址传输通道传输命令和地址数据。
14.如权利要求11或12所述的方法,其特征在于,所述NAND FLASH控制器采用DMA数据传输通道传输信息数据、文件系统信息、与校验位。
CN2007101641879A 2007-10-08 2007-10-08 Nand flash控制器及其与nand flash芯片的数据交互方法 Active CN101162449B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2007101641879A CN101162449B (zh) 2007-10-08 2007-10-08 Nand flash控制器及其与nand flash芯片的数据交互方法
US12/246,701 US8261008B2 (en) 2007-10-08 2008-10-07 NAND flash controller and data exchange method between NAND flash memory and NAND flash controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101641879A CN101162449B (zh) 2007-10-08 2007-10-08 Nand flash控制器及其与nand flash芯片的数据交互方法

Publications (2)

Publication Number Publication Date
CN101162449A CN101162449A (zh) 2008-04-16
CN101162449B true CN101162449B (zh) 2010-06-02

Family

ID=39297374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101641879A Active CN101162449B (zh) 2007-10-08 2007-10-08 Nand flash控制器及其与nand flash芯片的数据交互方法

Country Status (2)

Country Link
US (1) US8261008B2 (zh)
CN (1) CN101162449B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138470A (zh) * 2015-08-31 2015-12-09 浪潮集团有限公司 一种多通道nand flash控制器

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
CN101882119B (zh) * 2009-05-08 2014-05-14 上海炬力集成电路设计有限公司 与非型闪存控制器及其数据传输方法
US8225052B2 (en) * 2009-06-03 2012-07-17 Micron Technology, Inc. Methods for controlling host memory access with memory devices and systems
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US9135190B1 (en) * 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8447908B2 (en) * 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) * 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
US8195909B2 (en) 2009-10-05 2012-06-05 Seagate Technology Llc Data management in a data storage system
US8261012B2 (en) * 2009-10-30 2012-09-04 Western Digital Technologies, Inc. Non-volatile semiconductor memory comprising power fail circuitry for flushing write data in response to a power fail signal
CN102103559B (zh) * 2009-12-18 2014-06-18 上海华虹集成电路有限责任公司 一种带有AES和ECC的多通道NANDflash控制器
WO2012009318A1 (en) * 2010-07-13 2012-01-19 Sandisk Technologies Inc. Dynamic optimization of back-end memory system interface
CN101958152B (zh) * 2010-10-19 2013-02-13 华中科技大学 一种nand flash控制器及其应用
US8417880B2 (en) * 2010-11-01 2013-04-09 Hong Kong Applied Science and Technology Research Institute Company Limited System for NAND flash parameter auto-detection
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
CN102568605B (zh) * 2011-12-23 2014-12-24 青岛海信信芯科技有限公司 系统总线检错纠错方法和nand flash控制器
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
CN103902481A (zh) * 2012-12-27 2014-07-02 北京华清瑞达科技有限公司 一种基于axi总线的存储器控制装置及方法
US9690650B2 (en) 2013-03-11 2017-06-27 Macronix International Co., Ltd. Storage scheme for built-in ECC operations
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9858084B2 (en) 2013-03-15 2018-01-02 Bitmicro Networks, Inc. Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory
CN103414623B (zh) * 2013-08-23 2016-08-10 上海司南卫星导航技术股份有限公司 GNSS中基于NandFlash总线实现基带信号通信的系统及方法
CN103559146B (zh) * 2013-11-05 2016-03-30 山东大学 一种提高NAND flash控制器读写速度的方法
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US9384128B2 (en) 2014-04-18 2016-07-05 SanDisk Technologies, Inc. Multi-level redundancy code for non-volatile memory controller
KR102251809B1 (ko) 2014-05-28 2021-05-13 삼성전자주식회사 메모리 시스템, 메모리 인터페이스 장치 및 메모리 시스템에서의 인터페이싱 방법
CN104035897B (zh) * 2014-06-12 2018-04-24 上海新储集成电路有限公司 一种存储控制器
CN104267908A (zh) * 2014-07-14 2015-01-07 北京君正集成电路股份有限公司 一种数据存储以及读取的方法及装置
US9836215B2 (en) 2014-11-19 2017-12-05 Western Digital Technologies, Inc. Real time protocol generation
CN105205018A (zh) * 2015-10-14 2015-12-30 上海斐讯数据通信技术有限公司 一种控制Nand flash内存读写的装置和方法
CN105491060B (zh) * 2015-12-30 2019-07-02 北京神州绿盟信息安全科技股份有限公司 防御分布式拒绝服务攻击的方法、装置、客户端及设备
CN106776104B (zh) * 2016-11-11 2020-04-03 大唐微电子技术有限公司 一种Nand Flash控制器和终端以及控制Nand Flash的方法
CN108122583B (zh) * 2016-11-29 2021-02-09 华为技术有限公司 执行储存型快闪记忆体命令的方法和装置
CN108228493B (zh) * 2016-12-21 2019-11-26 深圳市海思半导体有限公司 闪存接口控制器及操作命令处理方法
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
CN107168899A (zh) * 2017-04-19 2017-09-15 山东超越数控电子有限公司 一种基于FPGA的NandFlash控制器
US10855314B2 (en) 2018-02-09 2020-12-01 Micron Technology, Inc. Generating and using invertible, shortened Bose-Chaudhuri-Hocquenghem codewords
US11048649B2 (en) 2018-10-17 2021-06-29 Macronix International Co., Ltd. Non-sequential page continuous read
US10977121B2 (en) 2018-10-17 2021-04-13 Macronix International Co., Ltd. Fast page continuous read
US10957384B1 (en) 2019-09-24 2021-03-23 Macronix International Co., Ltd. Page buffer structure and fast continuous read
US11249913B2 (en) 2020-03-06 2022-02-15 Macronix International Co., Ltd. Continuous read with multiple read commands
US11302366B2 (en) 2020-03-06 2022-04-12 Macronix International Co., Ltd. Method and system for enhanced read performance in low pin count interface

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006123919A1 (en) * 2005-05-20 2006-11-23 Mpio Co., Ltd. Usb-sd memory device having dma channels and method of storing data in usb-sd memory device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490260A (en) * 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
US20070233955A1 (en) * 2000-01-06 2007-10-04 Super Talent Electronics Inc. Mixed-Mode ROM/RAM Booting Using an Integrated Flash Controller with NAND-Flash, RAM, and SD Interfaces
US6941505B2 (en) * 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
US6948026B2 (en) * 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US6721820B2 (en) * 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
JP2004234545A (ja) * 2003-01-31 2004-08-19 Toshiba Corp 制御回路及びメモリコントローラ
US20050223131A1 (en) * 2004-04-02 2005-10-06 Goekjian Kenneth S Context-based direct memory access engine for use with a memory system shared by devices associated with multiple input and output ports
JP4740233B2 (ja) * 2005-03-23 2011-08-03 パナソニック株式会社 不揮発性記憶装置、不揮発性メモリのコントローラ、及び不揮発性記憶システム
KR100673013B1 (ko) * 2005-09-21 2007-01-24 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템
JP2008117195A (ja) * 2006-11-06 2008-05-22 Hitachi Ltd 半導体記憶装置
US8122323B2 (en) * 2007-03-08 2012-02-21 Intel Corporation Method, apparatus, and system for dynamic ECC code rate adjustment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006123919A1 (en) * 2005-05-20 2006-11-23 Mpio Co., Ltd. Usb-sd memory device having dma channels and method of storing data in usb-sd memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138470A (zh) * 2015-08-31 2015-12-09 浪潮集团有限公司 一种多通道nand flash控制器

Also Published As

Publication number Publication date
CN101162449A (zh) 2008-04-16
US8261008B2 (en) 2012-09-04
US20090094411A1 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
CN101162449B (zh) Nand flash控制器及其与nand flash芯片的数据交互方法
US7809994B2 (en) Error correction coding for multiple-sector pages in flash memory devices
US8726140B2 (en) Dummy data padding and error code correcting memory controller, data processing method thereof, and memory system including the same
US7290082B2 (en) Flash memory system and data writing method thereof
CN102339641B (zh) 检错/纠错校验模块及该模块读写数据的方法
CN101325090B (zh) 通过使循环冗余码线路相对于数据线路偏移改善等待时间
US20070300130A1 (en) Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
CN102317919A (zh) 在存储器控制器中的数据完整性及方法
CN103578535B (zh) 用于读取nand快闪存储器的方法和设备
CN101140543B (zh) 支持flash页操作与流水线纠错码的数据交换装置与方法
CN102543209A (zh) 多通道闪存控制器的纠错装置、方法及多通道闪存控制器
CN101281788A (zh) 闪存系统及其控制方法
CN103886916A (zh) 输入位宽可伸缩的编码/编解码存储系统
CN106776104A (zh) 一种Nand Flash控制器和终端以及控制Nand Flash的方法
CN104733051A (zh) 奇偶校验码的解码方法、存储器储存装置及控制电路单元
CN103049408B (zh) 一种多接口sram读写控制电路及方法
CN100508604C (zh) 算术编码电路和算术编码控制方法
CN201134270Y (zh) Nand flash控制器
CN101483443A (zh) Turbo乘积码优化编译码算法的FPGA实现方法
CN103226977B (zh) 基于fpga的快速nand flash控制器及其控制方法
CN104702860A (zh) 基于fpga的视频图像切换系统
CN102742164B (zh) 一种译码方法和译码装置
CN103353855A (zh) 一种nand闪存存储设备及其带外数据读取方法
CN100559509C (zh) Bch纠错技术中的校验码写入方法及其写入装置
CN100449498C (zh) 数据储存装置

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
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Patentee after: FUZHOU ROCKCHIP ELECTRONICS CO., LTD.

Address before: 350011 15D tower, No. 75 Fu Xin Middle Road, Fujian, Fuzhou

Patentee before: Fuzhou Rockchip Semiconductor Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.