CN102654855A - 一种对Nandflash指令执行进行编程的Nandflash控制器 - Google Patents
一种对Nandflash指令执行进行编程的Nandflash控制器 Download PDFInfo
- Publication number
- CN102654855A CN102654855A CN2011100532067A CN201110053206A CN102654855A CN 102654855 A CN102654855 A CN 102654855A CN 2011100532067 A CN2011100532067 A CN 2011100532067A CN 201110053206 A CN201110053206 A CN 201110053206A CN 102654855 A CN102654855 A CN 102654855A
- Authority
- CN
- China
- Prior art keywords
- nandflash
- instruction
- controller
- instruction execution
- logic unit
- 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
Links
Abstract
一种对Nandflash指令执行进行编程的Nandflash控制器,由微控制器、系统接口控制器、系统端DMA控制器、系统存储器访问仲裁逻辑单元、系统存储器、Nandflash DMA控制器、Nandflash指令执行控制逻辑单元、Nandflash数据缓存区以及Nandflash接口控制器构成。采用在系统硬件中增加Nandflash指令执行控制逻辑单元的方式,由Nandflash指令执行控制逻辑单元按照预先设定的顺序控制指令执行,无须电路中微控制器的参与,能够提高指令执行的效率,满足应用需求。
Description
技术领域
本发明涉及一种Nandflash控制器,尤其涉及一种可对Nandflash指令执行进行编程的Nandflash控制器。
背景技术
Nandflash技术在近几年里得到了突飞猛进的发展,由1位/单元的SLC技术发展到了2位/单元甚至3位/单元的MLC技术,同时Nandflash的生产工艺也得到不断地进步。随着技术的发展,Nandflash的容量不断增大,单位容量的成本也大幅降低,因此应用Nandflash的领域也越来越多。
Nandflash应用的扩展,Nandflash的指令越来越多,Nandflash控制器的设计越来越复杂,Nandflash指令也很会根据应用继续增加。现有的Nandflash控制器尽可能的支持已有的所有Nandflash指令,但对于后续会出现的指令却无法实现支持,这在一定程度上会限制Nandflash控制器的适应范围。
如何设计一种Nandflash控制器,能在应用中克服硬件逻辑执行Nandflash指令向下兼容性不足的情形,同时能够克服软件执行Nandflash指令时效率不高的情形,成为本发明所要解决的技术问题。
发明内容
本发明目的提供一种对Nandflash指令执行进行编程的Nandflash控制器,采用在系统硬件中增加Nandflash指令执行控制逻辑单元的方式,由Nandflash指令执行控制逻辑单元按照预先设定的顺序控制执行,无须电路中微控制器的参与,能够提高指令执行的效率,满足应用需求。
一种对Nandflash指令执行进行编程的Nandflash控制器,由微控制器、系统接口控制器、系统端DMA控制器、系统存储器访问仲裁逻辑单元、系统存储器、Nandflash DMA控制器、Nandflash指令执行控制逻辑单元、Nandflash数据缓存区以及Nandflash接口控制器构成。
微控制器,电路的主控制单元,实现整个电路单元控制;
系统接口控制器,用于以某种特定协议(如IDE、USB、SATA和PCIE等)和主控端进行数据传输,主控端包含但不限于SATA、USB、PCIE、PATA;
系统端DMA控制器,用于系统接口控制器和系统存储器之间的数据传输;
系统存储器访问仲裁逻辑单元,用于仲裁微控制器、系统接口控制器和Nandflash控制器对系统存储器的访问请求;
系统存储器,用于暂存存系统端和Nandflash控制器间传输的数据,也用于存放当前数据读写所使用的地址映射表;
Nandflash DMA控制器,Nandflash Direct Memory Access控制器,用于控制Nandflash接口控制器与系统存储器之间的数据传输;
Nandflash指令执行控制逻辑单元,用于根据Nandflash指令信息控制Nandflash指令的执行;
Nandflash数据缓存区,用于缓存从系统存储器读出但来不及写入Nandflash存储器的数据,也用于缓存从Nandflash存储器读出但来不及写入系统存储器的数据;
Nandflash接口控制器,用于控制和Nandflash存储器阵列之间的数据传输。
本发明在系统硬件中增加Nandflash指令执行控制逻辑单元,在系统接收到访问Nandflash的请求时,系统将访问请求拆分成Nandflash的指令,然后将Nandflash的指令及其执行过程写入Nandflash指令执行控制逻辑单元配置寄存器并通知Nandflash指令执行控制逻辑单元开始执行Nandflash的指令。Nandflash指令执行控制逻辑单元将指令发送给Nandflash后,待Nandflash准备好接收数据或者发送数据以后,启动Nandflash DMA控制器向Nandflash写入数据或者从Nandflash读出数据。
Nandflash指令的整个执行过程由Nandflash指令执行控制逻辑单元按照预先设定的顺序控制执行,无须微控制器的参与。相对于微控制器,Nandflash指令执行控制逻辑单元可以更高效快速地执行Nandflash指令。
通过本发明,能有效减少为微控制器对Nandflash控制器的操作控制,既克服了硬件逻辑执行Nandflash指令向下兼容性不足的问题,也克服了系统软件在执行Nandflash指令执行效率不高的问题。
附图说明
图1本发明提供的Nandflash控制器电路结构图
具体实施方案
以下结合附图对本发明提出的发明内容进行详细的描述,图1给出了本发明所述Nandflash控制电路结构。
在系统接收到访问Nandflash存储器的请求时,系统将访问请求拆分成Nandflash指令,然后将Nandflash的指令及其执行过程写入Nandflash存储器指令执行控制逻辑单元并通知Nandflash指令执行控制逻辑单元开始执行Nandflash的指令。
Nandflash指令的执行都是由发送命令、发送地址、读取数据、发送数据、等待Nandflash就绪、读取Nandflash状态等阶段中的几个阶段构成。Nandflash的执行过程就是对以上阶段的一个排序过程。
Nandflash存储器执行阶段的编码如表1中所示:
阶段 | 编码 |
指令1 | 4‘h1 |
列地址 | 4‘h2 |
行地址 | 4‘h3 |
指令2 | 4‘h4 |
等待就绪 | 4‘h5 |
读取状态 | 4‘h6 |
读数据 | 4‘h7 |
写数据 | 4‘h8 |
结束标志 | 4‘hF |
表1Nandflash存储器执行阶段编码
微控制器将Nandflash指令及其执行顺序写入Nandflash指令控制逻辑单元的配置寄存器中。配置寄存器的内容如表2中所示:
表2Nandflash指令控制逻辑单元配置寄存器的内容
在执行指令之前,微控制器配置Nandflash指令控制逻辑单元的配置寄存器。在Nandflash读指令时,配置寄存器内容如表3中所示:
内容 | 描述 |
指令1 | 8’h00 |
指令2 | 8’h30 |
行地址 | 32’h00 |
列地址 | 32’h00 |
指令数量 | 1’h1(两个指令) |
行地址数量 | 4‘h3 |
列地址数量 | 4‘h2 |
数据大小 | 32‘d2112 |
执行顺序 | 4‘h1-4‘h2-4‘h3-4‘h4-4‘h5-4‘h7-4‘hF |
等待时间 | 40微秒 |
表3读Nandflash指令时配置寄存器内容
Nandflash写指令时,配置寄存器内容如表4中所示:
内容 | 描述 |
指令1 | 8’h80 |
指令2 | 8’h10 |
行地址 | 32’h00 |
列地址 | 32’h00 |
指令数量 | 1’h1(两个指令) |
行地址数量 | 4‘h3 |
列地址数量 | 4‘h2 |
数据大小 | 32‘d2112 |
执行顺序 | 4‘h1-4‘h2-4‘h3-4‘h4-4‘h8-4‘h5-4‘h6-4‘hF |
等待时间 | 800微秒 |
表4写Nandflash指令时配置寄存器内容
Nandflash擦除指令时,配置寄存器的内容如表5中所示:
内容 | 描述 |
指令1 | 8’h60 |
指令2 | 8’hd0 |
行地址 | 32’h00 |
列地址 | 不需要配置 |
指令数量 | 1’h1(两个指令) |
行地址数量 | 4‘h3 |
列地址数量 | 不需要配置 |
数据大小 | 不需要配置 |
执行顺序 | 4‘h1-4‘h3-4‘h4-4‘h5-4‘h6-4‘hF |
等待时间 | 2000微秒 |
表5擦除Nandflash指令时配置寄存器
Nandflash指令的整个执行过程由Nandflash指令执行控制逻辑单元按照预先设定的顺序控制执行,无须微控制器的参与。相对于微控制器,Nandflash指令执行控制逻辑单元可以更高效快速地执行Nandflash指令。既克服了硬件逻辑执行Nandflash指令向下兼容性不足的问题,也克服了系统软件在执行Nandflash指令执行效率不高的问题。
Claims (5)
1.一种对Nandflash指令执行进行编程的Nandflash控制器,由微控制器、系统接口控制器、系统端DMA控制器、系统存储器访问仲裁逻辑单元、系统存储器、Nandflash DMA控制器、Nandflash指令执行控制逻辑单元、Nandflash数据缓存区以及Nandflash接口控制器构成,其特征在于所述Nandflash指令执行控制逻辑单元控制系统Nandflash指令执行。
2.如权利要求1所述的一种对Nandflash指令执行进行编程的Nandflash控制器,其特征在于所述Nandflash指令执行控制逻辑单元配置寄存器为系统软件和硬件交互接口。
3.如权利要求1所述的一种对Nandflash指令执行进行编程的Nandflash控制器,其特征在于所述Nandflash指令执行控制逻辑单元按照预先设定的顺序控制Nandflash指令的执行。
4.如权利要求1或3所述的一种对Nandflash指令执行进行编程的Nandflash控制器,其特征在于所述Nandflash指令执行控制逻辑单元按照预先设定的顺序控制执行Nandflash指令的执行时,微控制器不参与控制。
5.如权利要求1所述的一种对Nandflash指令执行进行编程的Nandflash控制器,其特征在于所述与Nandflash控制器进行通信的主控端为SATA、USB、PCIE或PATA。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100532067A CN102654855A (zh) | 2011-03-04 | 2011-03-04 | 一种对Nandflash指令执行进行编程的Nandflash控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100532067A CN102654855A (zh) | 2011-03-04 | 2011-03-04 | 一种对Nandflash指令执行进行编程的Nandflash控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102654855A true CN102654855A (zh) | 2012-09-05 |
Family
ID=46730481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100532067A Pending CN102654855A (zh) | 2011-03-04 | 2011-03-04 | 一种对Nandflash指令执行进行编程的Nandflash控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102654855A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750430A (zh) * | 2015-03-02 | 2015-07-01 | 湖南国科微电子有限公司 | 一种NAND Flash接口的访问方法及装置 |
CN107918591A (zh) * | 2016-10-08 | 2018-04-17 | 联芸科技(杭州)有限公司 | 一种高兼容性层次化的nand闪存控制系统与方法 |
CN108122583A (zh) * | 2016-11-29 | 2018-06-05 | 杭州华为数字技术有限公司 | 执行储存型快闪记忆体命令的方法和装置 |
CN108153480A (zh) * | 2016-12-05 | 2018-06-12 | 北京京存技术有限公司 | 一种基于NAND flash的数据处理方法、存储设备 |
CN109558092A (zh) * | 2018-12-17 | 2019-04-02 | 杭州普创电子有限公司 | 一种芯片内部flash存储方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN101644993A (zh) * | 2009-08-03 | 2010-02-10 | 和芯微电子(四川)有限公司 | 一种Nand闪存仿真装置 |
CN101719098A (zh) * | 2009-05-26 | 2010-06-02 | 苏州国芯科技有限公司 | Nandflash芯片组存储控制器 |
CN102591823A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种具有指令队列功能的Nandflash控制器 |
-
2011
- 2011-03-04 CN CN2011100532067A patent/CN102654855A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN101719098A (zh) * | 2009-05-26 | 2010-06-02 | 苏州国芯科技有限公司 | Nandflash芯片组存储控制器 |
CN101644993A (zh) * | 2009-08-03 | 2010-02-10 | 和芯微电子(四川)有限公司 | 一种Nand闪存仿真装置 |
CN102591823A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种具有指令队列功能的Nandflash控制器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750430A (zh) * | 2015-03-02 | 2015-07-01 | 湖南国科微电子有限公司 | 一种NAND Flash接口的访问方法及装置 |
CN104750430B (zh) * | 2015-03-02 | 2016-03-16 | 湖南国科微电子股份有限公司 | 一种NAND Flash接口的访问方法及装置 |
CN107918591A (zh) * | 2016-10-08 | 2018-04-17 | 联芸科技(杭州)有限公司 | 一种高兼容性层次化的nand闪存控制系统与方法 |
CN108122583A (zh) * | 2016-11-29 | 2018-06-05 | 杭州华为数字技术有限公司 | 执行储存型快闪记忆体命令的方法和装置 |
CN108153480A (zh) * | 2016-12-05 | 2018-06-12 | 北京京存技术有限公司 | 一种基于NAND flash的数据处理方法、存储设备 |
CN109558092A (zh) * | 2018-12-17 | 2019-04-02 | 杭州普创电子有限公司 | 一种芯片内部flash存储方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8606988B2 (en) | Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof | |
CN102306125B (zh) | 一种flash存储器的数据擦写方法 | |
CN106067321B (zh) | 适于存储器编程暂停-恢复的控制器 | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
KR101663437B1 (ko) | 메모리 블록들의 호스트-지원형 압축 | |
US8898375B2 (en) | Memory controlling method, memory controller and memory storage apparatus | |
CN103282887A (zh) | 用于进行后台操作的控制器和方法 | |
US8667234B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
KR20110097438A (ko) | 메모리 시스템, 그리고 그것의 동작 방법 | |
TW201230049A (en) | Dynamic allocation of power budget for a system having non-volatile memory | |
CN102708058A (zh) | 执行ftl功能的非易失性存储装置及其控制方法 | |
CN103635968A (zh) | 包含存储器系统控制器的设备和相关方法 | |
TWI512609B (zh) | 讀取命令排程方法以及使用該方法的裝置 | |
CN102654855A (zh) | 一种对Nandflash指令执行进行编程的Nandflash控制器 | |
CN109471819B (zh) | 为来自主机的读取请求提供短的读取响应时间的存储设备 | |
TWI574274B (zh) | 循環區塊模式下的資料存取方法以及使用該方法的裝置 | |
CN112017700A (zh) | 用于存储器装置的动态功率管理网络 | |
CN103106155B (zh) | 存储器储存装置、存储器控制器与其数据传输方法 | |
CN102591823A (zh) | 一种具有指令队列功能的Nandflash控制器 | |
US20130339583A1 (en) | Systems and methods for transferring data out of order in next generation solid state drive controllers | |
CN204129729U (zh) | 一种基于DMA传输的Flash存储控制系统 | |
CN115552531A (zh) | 共享字线上的存储器存取冲突管理 | |
CN102999437A (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
TWI537726B (zh) | 資料讀取方法、快閃記憶體控制器與儲存系統 | |
CN102096555A (zh) | 一种可支持不同类型NANDflash的NANDflash控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120905 |