CN102169466A - 一种基于页操作的可编程Nandflash控制器 - Google Patents

一种基于页操作的可编程Nandflash控制器 Download PDF

Info

Publication number
CN102169466A
CN102169466A CN2010102066715A CN201010206671A CN102169466A CN 102169466 A CN102169466 A CN 102169466A CN 2010102066715 A CN2010102066715 A CN 2010102066715A CN 201010206671 A CN201010206671 A CN 201010206671A CN 102169466 A CN102169466 A CN 102169466A
Authority
CN
China
Prior art keywords
nandflash
controller
descriptor
nandflash controller
cpu processor
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.)
Pending
Application number
CN2010102066715A
Other languages
English (en)
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.)
SHANGHAI INFOTM MICROELECTRONICS CO Ltd
Original Assignee
SHANGHAI INFOTM MICROELECTRONICS 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 SHANGHAI INFOTM MICROELECTRONICS CO Ltd filed Critical SHANGHAI INFOTM MICROELECTRONICS CO Ltd
Priority to CN2010102066715A priority Critical patent/CN102169466A/zh
Publication of CN102169466A publication Critical patent/CN102169466A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提出了一种适用于片上系统的基于页操作的可编程Nandflash控制器。在可编程Nandflash控制器和CPU处理器之间增加一块高速异步SRAM,并定义一组描述符,采用软件可编程方式,以Nandflash的页为单位进行访问操作,相对于传统的Nandflash控制器,不仅减少了CPU处理器和Nandflash控制器之间的交互次数,而且能够提高系统访问Nandflash的速度。

Description

一种基于页操作的可编程Nandflash控制器
技术领域:
本发明所涉及的是一种片上系统的基于页操作的可编程Nandflash控制器,特别适用于采用MLC类型的Nandflash。
背景技术:
对于Nandflash控制器,尤其是MLC类型的Nandflash控制器,受Nandflash Spare空间大小的限制和BCH译码复杂度与数据长度直接相关,截至目前,基本上都是以512字节(8位Nandflash)或256半字(16位Nandflash)为单位进行处理。随着制造工艺水平的提升,Nandflash的容量是越来越大,其对应的页容量大小也越来越大,比如4KB和8KB等,甚至更大。
这就存在一个问题,CPU处理器每次要访问Nandflash的数据时,也必须以512Byte或256HWord为单元进行访问操作。如图1所示,假如要对Nandflash编程一个2KByte的页数据,CPU处理器需要和Nandflash控制器之间进行9次交互操作,极大地影响了系统的访问效率。
此外,近年来片上系统CPU处理器的频率越来越快,已经有1GHz以上的嵌入式处理器,由于Nandflash的接口频率没有太大变化,因此Nandflash控制器的频率一般在133MHz左右,他们之间的频率差距在逐渐增大,如果CPU处理器和Nandflash控制器之间的时钟关系是异步的,那么直接由CPU处理器通过Nandflash控制器来访问外部Nandflash将浪费更多CPU处理器的资源,也直接影响了系统的访问效率。
从上面的分析可以看出,只有同时解决好Nandflash译码块单位偏小和CPU处理器与Nandflash控制器之间频率不平衡的问题,才能有效地提高系统访问Nandflash的速度,同时又没有占用较多的CPU处理器资源。
发明内容:
有鉴于此,本发明基于页操作的可编程Nandflash控制器以增加较少的硬 件资源,采用可编程方式,解决了上面所述的问题。本发明在CPU处理器和Nandflash控制器之间定义一组描述符,CPU处理器把参考图1中需要完成的操作通过描述符方式一次性地指示给Nandflash控制器,由Nandflash控制器自已去解析每个描述符,实现图1对Nandflash页编程操作,在完成编程后通知CPU处理器。
如图2所示,在Nandflash控制器和CPU处理器之间增加一块小容量的高速异步SRAM,高速异步SRAM和CPU处理器之间是以CPU处理器的频率进行访问操作,高速异步SRAM和Nandflash控制器之间以Nandflash控制器的频率进行访问操作,高速异步SRAM的作用是存储Nandflash操作的描述符。为解析描述符,Nandflash控制器内部需要一个描述符控制器和SDMA,完成描述符的解析并实现如图1的页编程操作。
采用高速异步SRAM后,CPU处理器要对Nandflash进行操作时,面对就是一个高速的内部SRAM,而不是较慢的外部Nandflash,因此CPU处理器就能够以处理器的工作频率很快地完成对Nandflash操作所需要描述符的编程,完成编程后使能Nandflash控制器即可,CPU处理器就可以去执行别的系统任务。而Nandflash控制器接收到CPU处理器的指示后,描述符控制器就会去访问高速异步SRAM并解析描述符,调度Nandflash控制器的SDMA,完成对外部Nandflash的访问操作。
参考图1,Nandflash控制器只有在全部完成对外部Nandflash的页编程后才会提中断给CPU处理器,而且对Nandflash的整个编程过程全部由Nandflash控制器完成,执行效率能够有较大的提高,与传统的做法相比具有非常明显的优势。
参考图2,本发明具有的一个特征是向下兼容性,CPU处理器仍然能够通过寄存器控制逻辑,按照原来的方式完成如图1的页编程操作,不影响已有的软件系统体系。
本发明还具有的一个特征是有很强的灵活性和扩展性,由于采用软件编程方式,可以建立一个或多个页的访问操作,能够适应不同类型的Nandflash。
附图说明:
图1为页大小为2KB的Nandflash的页编程过程的示意图;
图2为本发明基于页操作的可编程Nandflash控制器的结构示意图;
图3为本发明描述符的格式说明图;
图4为对Nandflash编程时的描述符编程过程示意图;
图5为对Nandflash读取时的描述符编程过程示意图;
图6为对页大小512字节的Nandflash进行编程时的所建立的描述符。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步说明。
本发明的描述符具有的格式如图3所示,本发明共定义了5类描述符,每个描述符占用8字节空间,包括5个域:
保留域,方便以后扩展应用;
类型域,指示该描述符的操作类型,本发明定义了5种操作类型,包括NAND_REGS、NAND_SDMA、NAND_NXTP、NAND_ECCD和NAND_DEND。
标志位域,结合类型域完成具体的操作;
地址域,主要用来指示访问Nandflash控制器寄存器的地址;
数据域,主要用来指示访问Nandflash控制器寄存器的数据、SDMA访问的系统地址等。
图4和图5分别给出了基于本发明的可编程描述符,对Nandflash进行编程和读取时描述符的建立过程。
对于编程操作,参考图4,首先完成对Nandflash控制器相关寄存器的配置,比如ECC类型和ECC模块的复位等;然后设置访问外部Nandflash的地址;接着启动控制器的SDMA传输数据到Nandfash的主数据空间(Main Data Space),如果数据块不是页的最后一个数据块,把ECC的状态结果写到系统空间,如果数据块是页的最后一个数据块,则控制器会把存在系统空间的ECC状态写到Nandflash的从数据空间(Spare Data Space);完成全部页数据中数据块的传输后,进行编程命令操作和编程状态确认;最后判断描述符是否结束,如果是最后一个描述符,则结束操作并通知CPU,否则继续执行下一个页数据 的描述符操作。
对于读取操作,与编程过程略有不同,是一个相反的过程,需要先从Nandflash中读取一个页的ECC状态并存到系统空间,在每个512数据块操作时,控制器会自动从系统空间读取其ECC状态并配置到对应的寄存器。
图6是给出了对512字节页大小Nandflash编程的描述符,参考图6,描述如下:
第0行调用Nandflash控制器寄存器配置的描述符(NAND_REGS),地址域是寄存器地址的偏移量,数据域是寄存器的配置值,也就是写0x01000000到地址0x00的寄存器(寄存器为NFCONF),配置ECC类型;
第l行,写0x0000080到地址0x08的寄存器(寄存器为NFCMD),也就是往Nandflash发起80h编程命令;
第2到5行,连续写4个0x00000000到地址0x0C的寄存器(寄存器为NFADDR),也就是往Nandflash发起4个地址命令,如图1的地址周期;
第6行,写0x000000F0到地址0x04的寄存器(寄存器为NFCONT),复位控制器内部的ECC模块;
第7行,写0x00000040到地址0x04的寄存器(寄存器为NFCONT),设置ECCLOCK信号为有效,指示ECC模块进行编码;
第8到11行,调用配置SDMA寄存器的描述符(NAND_SDMA),让SDMA从系统地址0x40000000传输512字节数据到Nandflash的Main Data空间;
第12到13行,调用配置SDMA寄存器的描述符(NAND_SDMA),让SDMA把ECC的状态结果(NFMECC0/1/2)写回到系统地址0x41000008;
第14行,写0x000000C0到地址0x04的寄存器(寄存器为NFCONT),设置ECCLOCK信号为无效,指示ECC模块结束编码;
第15到21行,让SDMA从系统地址0x41000000传输16字节数据到Nandflash的Spare Data空间,其中0x41000000到0x41000007为系统信息,0x41000008到0x4100000F为前面SDMA写回的ECC状态结果;
第22行,写0x0000010到地址0x08的寄存器(寄存器为NFCMD),也就是往Nandflash发起10h编程命令,由于Nandflash编程需要一段时间,因此这里需要设置标志位FLAG[2],Nandflash控制器检测到此标志位,会自动判 断RnB的状态,直到RnB不忙才会执行下一个描述符;
第23行,写0x0000070到地址0x08的寄存器(寄存器为NFCMD),也就是往Nandflash发起70h状态查询命令;
第24行,是编程状态结果确认描述符;
第25行,是调用NAND_DEND描述符,即结束描述符。
CPU处理器建立好描述符后,使能Nandflash控制器,Nandflash控制器会依次解析上次描述符,实现对外部Nandflash完成512字节编程的全部过程,结束后提中断给CPU处理器。
以上介绍是基于本发明的一个具体实施例,其中的可编程描述符方式和高速异步SRAM,可适应于不同片上系统的处理器和Nandflash,并不限定于具体的处理器结构和Nandflash。采用同种方式应用于不同的片上系统进行Nandflash操作不超出本发明的提供以及保护范围。

Claims (6)

1.一种基于页操作的可编程Nandflash控制器,在CPU处理器和Nandflash控制器之间增加一块高速异步SRAM,Nandflash控制器内部添加一个描述符控制器和SDMA,其特征在于:
通过所述的高速异步SRAM,在CPU处理器和Nandflash控制器之间定义一组描述符,CPU处理器把需要完成的操作通过描述符方式一次性地指示给Nandflash控制器,由Nandflash控制器自己去解析每个描述符,并在操作结束后通知CPU处理器。
2.根据权利要求1所述的一种基于页操作的可编程Nandflash控制器,其特征在于:
所述高速异步SRAM,和CPU处理器对接的访问速度是CPU处理器的工作频率,和Nandflash控制器对接的访问速度是Nandflash控制器的工作频率。
3.根据权利要求1所述的基于页操作的可编程Nandflash控制器,其特征在于:
所述的描述符由5类描述符构成,包括NAND_REGS、NAND_SDMA、NAND_NXTP、NAND_ECCD和NAND_DEND。
每个描述符由5个域组成,包括保留域、类型域、标志位域、地址域和数据域。
4.根据权利要求1所述的基于页操作的可编程Nandflash控制器,其特征在于:
向下兼容性,CPU处理器仍然能够通过所述可编程Nandflash控制器的寄存器控制逻辑,按照原来的方式完成操作,不影响已有的软件系统体系。
5.根据权利要求2所述的基于页操作的可编程Nandflash控制器,其特征在于:
所述高速异步SRAM是指通用的高速异步SRAM,并不限定于某个具体大小的高速异步SRAM。
6.根据权利要求3所述的基于页操作的可编程Nandflash控制器,其特征在于:
采用描述符机制的软件编程方式,可以建立一个或多个页的访问操作,适应不同类型的Nandflash。
CN2010102066715A 2010-06-22 2010-06-22 一种基于页操作的可编程Nandflash控制器 Pending CN102169466A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102066715A CN102169466A (zh) 2010-06-22 2010-06-22 一种基于页操作的可编程Nandflash控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102066715A CN102169466A (zh) 2010-06-22 2010-06-22 一种基于页操作的可编程Nandflash控制器

Publications (1)

Publication Number Publication Date
CN102169466A true CN102169466A (zh) 2011-08-31

Family

ID=44490630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102066715A Pending CN102169466A (zh) 2010-06-22 2010-06-22 一种基于页操作的可编程Nandflash控制器

Country Status (1)

Country Link
CN (1) CN102169466A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110010167A (zh) * 2019-03-26 2019-07-12 记忆科技(深圳)有限公司 一种提高获取描述符状态的方法、装置、计算机设备及存储介质
CN113419674A (zh) * 2021-06-11 2021-09-21 联芸科技(杭州)有限公司 数据编程管理方法、存储器及其控制器,以及计算机系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334758A (zh) * 2008-07-03 2008-12-31 深圳市中兴集成电路设计有限责任公司 用于嵌入式系统扩展存储空间的装置和方法
US20090168525A1 (en) * 2007-12-27 2009-07-02 Pliant Technology, Inc. Flash memory controller having reduced pinout
CN101568904A (zh) * 2006-12-21 2009-10-28 英特尔公司 非易失性存储器的成扇形展开的高速系统体系结构和输入/输出电路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101568904A (zh) * 2006-12-21 2009-10-28 英特尔公司 非易失性存储器的成扇形展开的高速系统体系结构和输入/输出电路
US20090168525A1 (en) * 2007-12-27 2009-07-02 Pliant Technology, Inc. Flash memory controller having reduced pinout
CN101334758A (zh) * 2008-07-03 2008-12-31 深圳市中兴集成电路设计有限责任公司 用于嵌入式系统扩展存储空间的装置和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110010167A (zh) * 2019-03-26 2019-07-12 记忆科技(深圳)有限公司 一种提高获取描述符状态的方法、装置、计算机设备及存储介质
CN113419674A (zh) * 2021-06-11 2021-09-21 联芸科技(杭州)有限公司 数据编程管理方法、存储器及其控制器,以及计算机系统

Similar Documents

Publication Publication Date Title
CN102207916B (zh) 一种基于指令预取的多核共享存储器控制设备
RU2550558C2 (ru) Сравнение и замена позиции таблицы динамической трансляции адреса
CN101344840B (zh) 一种微处理器及在微处理器中执行指令的方法
EP2546757B1 (en) Flexible flash commands
CN101727414B (zh) 用于在计算机系统中传递中断的技术
CN102184151B (zh) Pci-e转pci桥装置及其主动预取数据的方法
CN101882119A (zh) 与非型闪存控制器及其数据传输方法
TW200921510A (en) System for native code execution
US11868780B2 (en) Central processor-coprocessor synchronization
CN101630276A (zh) 一种高效的内存访问方法
CN103116551A (zh) 应用于CLB总线的NorFLASH存储接口模块
EP3077911A1 (en) Methods and systems for autonomous memory
CN101071403A (zh) 动态更新自适应的空闲计时器
US11055220B2 (en) Hybrid memory systems with cache management
TW201835757A (zh) 垃圾回收方法以及使用該方法的裝置
CN103729142A (zh) 内存数据的推送方法及装置
US11526441B2 (en) Hybrid memory systems with cache management
CN102169466A (zh) 一种基于页操作的可编程Nandflash控制器
CN105527889A (zh) 一种采用stt-mram作为单一存储器的微控制器
CN101751268B (zh) 主板、储存装置及其控制器与开机方法
CN102654855A (zh) 一种对Nandflash指令执行进行编程的Nandflash控制器
CN101196808A (zh) 一种8位微控制器
CN101720040A (zh) 融合高速存储器和dma通道的视频解码优化方法
CN104035898A (zh) 一种基于vliw类型处理器的访存系统
CN111158753A (zh) 具有数据预取功能的Flash控制器结构及其实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 201203, 11, Lane 572, Lane 115, blue wave road, Zhangjiang hi tech park, Shanghai

Applicant after: Shanghai InfoTM Microelectronics Co., Ltd.

Address before: 201203, 11, Lane 572, Lane 115, blue wave road, Zhangjiang hi tech park, Shanghai

Applicant before: Shanghai InfoTM Microelectronics Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHANGHAI INFOT MICROELECTRONICS CO., LTD. TO: SHANGHAI INFOTM MICROELECTRONICS CO., LTD.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110831