CN101303884B - 与非型闪存控制器和读写控制系统及方法 - Google Patents

与非型闪存控制器和读写控制系统及方法 Download PDF

Info

Publication number
CN101303884B
CN101303884B CN200810110857.3A CN200810110857A CN101303884B CN 101303884 B CN101303884 B CN 101303884B CN 200810110857 A CN200810110857 A CN 200810110857A CN 101303884 B CN101303884 B CN 101303884B
Authority
CN
China
Prior art keywords
nand type
read
type flash
fsm
zone bit
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
CN200810110857.3A
Other languages
English (en)
Other versions
CN101303884A (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.)
Actions Technology Co Ltd
Original Assignee
Actions Semiconductor 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 Actions Semiconductor Co Ltd filed Critical Actions Semiconductor Co Ltd
Priority to CN200810110857.3A priority Critical patent/CN101303884B/zh
Publication of CN101303884A publication Critical patent/CN101303884A/zh
Application granted granted Critical
Publication of CN101303884B publication Critical patent/CN101303884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种与非(NAND)型闪存控制器和读写控制系统及方法。该NAND型闪存控制器包括有限状态机(FSM)和配置寄存器,其中:配置寄存器包括控制标志位,预先配置所述控制标志位以存储用于指示NAND型闪存读写操作的读写操作信息;FSM,用于访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制该NAND型闪存的读写操作。应用本发明以后,无需配置译码电路即可分析出主机需要FSM执行的操作,并且可以灵活配置NAND型闪存控制器,方便对NAND型闪存进行各种读写操作。

Description

与非型闪存控制器和读写控制系统及方法
技术领域
本发明涉及闪存(Flash Memory)技术领域,更具体地,涉及与非(NAND)型闪存控制器和读写控制系统及方法。
背景技术
闪存(Flash Memory)是一种长寿命的非易失性存储器。闪存是电子可擦除只读存储器(EEPROM)的变种。EEPROM在字节水平上进行删除和重写,而不是在整个芯片擦写,因此闪存比EEPROM的更新速度快。由于断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的基本输入输出程序(BIOS)、个人数字助理(PDA)、数码相机中保存资料等。
NOR型闪存和NAND型闪存是现在市场上两种主要的非易失闪存技术。NOR型闪存更像内存,有独立的地址线和数据线,但价格比较贵,容量比较小。NAND型闪存更像硬盘,类似硬盘中所有信息都通过一条硬盘线传送,NAND型闪存中的地址线和数据线是共用的I/O线。NAND型闪存与NOR型闪存相比,成本要低一些,而容量大得多。因此,NAND型闪存主要用来存储资料,比如闪存盘、数码存储卡等。
目前的现有技术中,要实现对NAND型闪存的读写,不管是单个读或写操作还是多个连续读写操作,都是由主机(host)向闪存控制器(FlashController)发出相关指令,闪存控制器通过其核心的有限状态机(Finite StateMachine,FSM)向NAND型闪存储器设备(Flash Device)发送相关的命令、地址、读写数据等时序来完成读写操作。也就是说,当主机需要向NAND型闪存储器写数据时,主机首先需要向闪存控制器发送需要写哪个地址、写多少数据、这些数据要不要ECC纠错等指令,然后闪存控制器根据这些指令自动调整FSM向NAND型闪存储器发送相应的时序来满足这些操作要求。相应地,当主机需要读取NAND型闪存储器中的数据时,主机向闪存控制器发送需要读哪个地址、读多少数据、这些数据要不要ECC纠错等指令,同样闪存控制器将根据这些指令自动调整FSM向NAND型闪存储器发送相应的时序,来满足这些操作要求。
由于闪存储器系统中仅有一套总线(bus),而没有明确区分地址线、数据线、指令线,所以需要对总线进行复用,通过判断各个锁存信号标志(比如地址锁存信号ALE、命令锁存信号CLE等)来确定某时刻传送的是数据、地址或指令。
在现有技术中,为了减少主机的干预次数,主机通常向闪存控制器发送特定的时序组合。为了识别该组合,闪存控制器需要配置相应的命令译码电路,由命令译码电路对该时序组合进行分析,从而确定出主机需要FSM执行的操作。然而,在这种方式中,任意一个命令组合就需要配置一套译码电路,实际应用起来非常不方便。比如,如果主机仅向闪存控制器发送{RESET},则需要一个用于分析{RESET}的译码电路,如果主机向闪存控制器发送{cmd_write,address},还另外需要一个用于分析{cmd_write,address}的译码电路。
而且,该技术不能适应新的命令组合的需求。当出现单个新命令或者单个命令的新组合时,由于没有相应的译码电路,FSM将无法正常工作。
发明内容
本发明实施例提出一种NAND型闪存控制器,无需配置译码电路即可分析出主机需要FSM执行的操作,并且可以灵活配置NAND型闪存控制器。
本发明实施例还提出了一种NAND型闪存读写控制系统,可以方便灵活地对NAND型闪存进行读写操作。
本发明实施例还提出了一种NAND型闪存读写方法,可以方便灵活地对NAND型闪存进行读写操作。
本发明实施例的技术方案如下:
一种NAND型闪存控制器,包括有限状态机(FSM)和配置寄存器,其中:
所述配置寄存器包括控制标志位,预先配置所述控制标志位以存储用于指示NAND型闪存读写操作的读写操作信息;
FSM,用于访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制所述NAND型闪存的读写操作。
所述控制标志位包括访问方向标志位和访问区域及数据量标记;
所述访问方向标志位被配置,以指示对NAND型闪存进行读或写操作;
所述访问区域及数据量标记包括操作区域标记位和计数寄存标记位:
所述操作区域标记位被配置,以指示对NAND型闪存的主区或冗余区进行操作;
所述计数寄存标记位被配置,以指示传输数据量的大小。
所述控制标志位进一步包括纠错码(ECC)同步使能标志位;
所述ECC同步使能标志位被配置,以指示是否对传输的数据进行ECC同步。
所述控制标志位进一步包括地址使能标志位;
所述地址使能标志位被配置,以指示是否向FSM发送地址以及当确定发送地址时所发送地址的长度。
所述控制标志位进一步包括页读命令0使能标志位和页读命令1使能标志位,
所述页读命令0使能标志位被配置,以指示是否向NAND型闪存发送页读命令0;
所述页读命令1使能标志位被配置,以指示是否向NAND型闪存发送页读命令1。
所述控制标志位进一步包括就绪/忙状态判断使能标志位,
所述就绪/忙状态判断使能标志位被配置,以指示NAND型闪存的状态为就绪或忙。
所述控制标志位进一步包括FSM执行状态标志位,
所述FSM执行状态标志位被配置,以表示是否使能FSM。
该闪存控制器进一步包括命令寄存器,所述命令寄存器和该FSM连接;
该命令寄存器,用于根据主机的预先配置存储闪存读写命令集,并接受FSM的控制调用所述闪存读写命令集中的命令对NAND型闪存执行读写操作。
该闪存控制器进一步包括FIFO寄存器,所述FIFO寄存器和该FSM连接;
该FIFO寄存器,用于接受FSM的控制在NAND型闪存和主机之间充当数据传输通道。
一种闪存读写控制系统,该系统包括主机、闪存控制器和NAND型闪存,其中:
主机,用于向闪存控制器发送闪存读写操作触发命令;
闪存控制器包括FSM和配置寄存器,
所述配置寄存器包括控制标志位,预先配置所述控制标志位以存储用于指示NAND型闪存读写操作的读写操作信息;
FSM,用于在收到所述闪存读写操作触发命令后访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制所述NAND型闪存的读写操作;
NAND型闪存,用于接受闪存控制器的控制执行读写操作。
所述控制标志位包括访问方向标志位和访问区域及数据量标记;
所述访问方向标志位被配置,以指示对NAND型闪存进行读或写操作;
所述访问区域及数据量标记包括操作区域标记位和计数寄存标记位:
所述操作区域标记位被配置,以指示对NAND型闪存的主区或冗余区进行操作;
所述计数寄存标记位被配置,以指示传输数据量的大小。
所述控制标志位进一步包括ECC同步使能标志位;
所述ECC同步使能标志位被配置,以指示是否对传输的数据进行ECC同步。
所述控制标志位进一步包括地址使能标志位;
所述地址使能标志位被配置,以指示是否向FSM发送地址以及当确定发送地址时所发送地址的长度。
所述控制标志位进一步包括页读命令0使能标志位和页读命令1使能标志位,
所述页读命令0使能标志位被配置,以指示是否向NAND型闪存发送页读命令0;
所述页读命令1使能标志位被配置,以指示是否向NAND型闪存发送页读命令1。
所述控制标志位进一步包括就绪/忙状态判断使能标志位,
所述就绪/忙状态判断使能标志位被配置,以指示NAND型闪存的状态为就绪或忙。
所述控制标志位进一步包括FSM执行状态标志位,
所述FSM执行状态标志位被配置,以表示是否使能FSM。
该闪存控制器进一步包括命令寄存器,所述命令寄存器和该FSM连接;
该命令寄存器,用于根据主机的预先配置存储闪存读写命令集,并接受FSM的控制调用所述闪存读写命令集中的命令对NAND型闪存执行读写操作。
该闪存控制器进一步包括FIFO寄存器,所述FIFO寄存器和该FSM连接;
该FIFO寄存器,用于接受FSM的控制在NAND型闪存和主机之间充当数据传输通道。
一种NAND型闪存读写方法,该方法包括:
预先在闪存控制器中设置包括控制标志位的配置寄存器,配置所述控制标志位以存储用于指示NAND型闪存读写操作的读写操作信息;
FSM访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制所述NAND型闪存的读写操作。
该方法中,
所述FSM在收到由主机发送的闪存读写操作触发命令后,访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制所述NAND型闪存的读写操作。
所述执行NAND型闪存的读写操作包括:
在传输当前组数据时,计算已经传输完毕的组数据的ECC。
所述计算已经传输完毕的组数据的ECC包括:
如果执行写数据,在写当前组数据时,采用二级流水线方式计算已经写完毕的组数据的ECC;和/或
如果执行读数据操作,在读当前组数据时,采用三级流水线方式计算已经读完毕的组数据的ECC。
从上述技术方案中可以看出,在本发明实施例中,配置寄存器包括控制标志位,控制标志位被预先配置来存储用于指示NAND型闪存读写操作的读写操作信息,FSM能够根据该读写操作信息控制该NAND型闪存的读写操作。由此可见,应用本发明实施例以后,FSM通过分析控制标志位的配置即可分析出主机需要FSM执行的操作,从而免去了配置译码电路的诸多不便,节约了硬件成本,而且极大地方便了对NAND型闪存的操作。
另外,应用本发明实施例后,还可以通过对配置寄存器进行灵活配置达到适应新的命令组合的需求。不仅与此,当数据较多且需要ECC时,通过采用流水线操作还可以显著加快数据传输的速度。
附图说明
图1为根据本发明的NAND型闪存控制器示范性结构示意图;
图2为根据本发明实施例的NAND型闪存读写控制系统的示范性结构示意图;
图3为根据本发明实施例的配置寄存器和命令寄存器结构示意图;
图4为根据本发明实施例的NAND型闪存读写方法流程图;
图5为根据本发明实施例的NAND型闪存的读数据示范性流程示意图;
图6为根据本发明实施例的NAND型闪存的写数据示范性流程示意图;
图7为根据本发明实施例写数据(512+16)*n并ECC同步的流水线结构示意图;
图8为根据本发明实施例读数据(512+16)*n并ECC同步的流水线结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
在本发明实施例中,配置寄存器包括控制标志位,控制标志位被预先配置来存储用于指示NAND型闪存读写操作的读写操作信息,FSM能够根据该读写操作信息控制该NAND型闪存的读写操作,可以免去使用配置译码电路的不便。
图1为根据本发明的NAND型闪存控制器示范性结构示意图。
如图1所示,该NAND型闪存控制器包括配置寄存器101和有限状态机(FSM)102。NAND型闪存控制器用于控制NAND型闪存的读写操作。
其中:
配置寄存器101包括控制标志位,预先配置控制标志位以存储用于指示NAND型闪存读写操作的读写操作信息。取决于主机期望FSM 102执行的具体操作,控制标志位的具体位数和内容可以有相应的变化。当主机期望FSM 102执行某项读写操作时,需要预先在配置寄存器101中设置用于指示NAND型闪存执行该项读写操作的读写操作信息。
FSM 102,用于访问配置寄存器101以获取读写操作信息,并根据所述读写操作信息控制NAND型闪存的读写操作。
配置寄存器101中的控制标志位可以包括访问方向标志位和访问区域及数据量标记。访问方向标志位被配置来指示对NAND型闪存进行读或写操作。访问区域及数据量标记包括操作区域标记位和计数寄存标记位。操作区域标记位被配置来指示对NAND型闪存的主区或冗余区进行操作;计数寄存标记位被配置来指示具体传输数据量的大小。
优选地,控制标志位进一步还可以包括纠错码(ECC)同步使能标志位。通过配置ECC同步使能标志位,指示是否对传输的数据进行ECC同步。
控制标志位还可以进一步包括地址使能标志位。通过配置地址使能标志位,指示是否向FSM发送地址以及当确定发送地址时所发送地址的长度。
控制标志位还可以进一步包括页读命令0(CMD0)使能标志位和页读命令1(CMD1)使能标志位。通过配置页读命令0使能标志位,指示是否向NAND型闪存发送页读命令0;通过配置页读命令1使能标志位,指示是否向NAND型闪存发送页读命令1。
进一步地,控制标志位进一步还可以包括就绪/忙状态判断使能标志位和FSM执行状态标志位。通过配置FSM执行状态标志位,指示是否使能FSM;通过配置就绪/忙状态判断使能标志位,指示NAND型闪存的状态为就绪或忙。
以上虽然具体罗列出配置寄存器101的一些示范性控制标志位,本领域技术人员可以意识到,取决于具体应用环境或需求的不同,可以对配置寄存器101中的这些示范性控制标志位进行相应的增加、删除或变更,而这些改变并不脱离本发明的保护范围。
本发明实施例还提出了一种NAND型闪存读写控制系统。
图2为根据本发明实施例的NAND型闪存读写控制系统的示范性结构示意图。
如图2所示,该闪存读写控制系统主要包括主机201、配置寄存器202、FSM203和NAND型闪存储器207。
主机201,通过主机界面204对配置寄存器202中的控制标志位进行预先配置,以存储用于指示NAND型闪存储器207读写操作的读写操作信息。主机201需要执行该读写操作时,通过主机界面204向FSM 203发送闪存读写操作触发命令。
FSM 203,在收到主机201发送来的闪存读写操作触发命令后,访问配置寄存器202,通过分析配置寄存器202中的控制标志位获取读写操作信息,并根据读写操作信息控制NAND型闪存储器207的读写操作。
NAND型闪存储器207,用于接受FSM 203的控制执行具体的读写操作。
该系统还可以包括命令寄存器205和FIFO寄存器206,命令寄存器205和FIFO寄存器206分别与该FSM203连接。命令寄存器205和FIFO寄存器206还分别与主机界面204和闪存界面208连接。
命令寄存器205,用于根据主机201的预先配置存储闪存读写命令集,并接受FSM203的控制调用所述闪存读写命令集中的命令对NAND型闪存储器207执行读写操作。比如,主机201可以通过主机界面204预先在命令寄存器205中配置包含页读命令0(CMD0)和页读命令1(CMD1)的闪存读写命令集,这样命令寄存器205就可以响应于FSM203的控制而通过闪存界面208对NAND型闪存储器207执行具体的CMD1或CMD0读写命令。
该FIFO寄存器206,用于接受FSM203的控制在NAND型闪存储器207和主机201之间充当数据传输通道。
该系统还可以包括ECC逻辑电路209,用于对FIFO寄存器206传输的数据执行ECC同步操作。
如图2所示,可以采用总线(图2所示宽连接线)作为主机201、主机界面204、配置寄存器202、命令寄存器205、FSM203、FIFO寄存器206、ECC逻辑电路207、闪存界面208和NAND型闪存储器207之间的主要信息承载通道。对于FSM203和配置寄存器202、命令寄存器205、FIFO寄存器206之间的控制交互来说,由于并不涉及具体数据和/或地址信息的传递,可以采用控制线(图2所示窄连接线)作为控制信息承载通道,而并不采用总线。当然,本领域技术人员还可以意识到,同样可以采用总线中的某些指定位来传递这些控制信息,本发明实施例对此并无限定。
类似地,配置寄存器202中的控制标志位可以包括访问方向标志位和访问区域及数据量标记。访问方向标志位被配置来指示对NAND型闪存储器207进行读或写操作。访问区域及数据量标记包括操作区域标记位和计数寄存标记位。操作区域标记位被配置来指示对NAND型闪存储器207的主区或冗余区进行操作;计数寄存标记位被配置来指示具体传输数据量的大小。控制标志位进一步还可以包括纠错码(ECC)同步使能标志位。通过配置ECC同步使能标志位,指示是否对传输的数据进行ECC同步。
控制标志位还可以进一步包括地址使能标志位。通过配置地址使能标志位,指示是否向FSM 203发送地址以及当确定发送地址时所发送地址的长度。
控制标志位还可以进一步包括页读命令0(CMD0)使能标志位和页读命令1(CMD1)使能标志位。通过配置页读命令0使能标志位,指示是否向NAND型闪存储器207发送页读命令0;通过配置页读命令1使能标志位,指示是否向NAND型闪存储器207发送页读命令1。
进一步地,控制标志位进一步还可以包括就绪/忙状态判断使能标志位和FSM执行状态标志位。通过配置FSM执行状态标志位,指示是否使能FSM;通过配置就绪/忙状态判断使能标志位,指示NAND型闪存储器207的状态为就绪或忙。
基于图2所示系统结构,图3为根据本发明实施例的配置寄存器和命令寄存器结构示意图。
下面以列表的形式对图3中的各控制标志位进行说明。
如表1所示:
控制标志位编号 控制标志位意义
2 访问方向标志位,指示对NAND型闪存进行读或写操作。比如,1为读,0为写。
105 访问区域及数据量标记,标记操作区域为主区或冗余
区,以及传输数据量的大小。访问区域及数据量标记包含操作区域标记位和计数寄存标记位。比如,当操作区域标记为0/1时,表示访问主区,当操作区域标记为1/0时,表示访问冗余区;计数寄存标记位用于设定待传输数据的长度,单位可以为字节,例如设定为512,则代表传输数据的长度为512字节。
104 CMD1使能标志位,标记是否需要发送CMD1。
103 ECC同步使能标志位,标记是否进行ECC同步
102 地址使能标志位,标记是否发送地址以及发送地址的长度。可能值为0、1、2、3、4、5、6或者更多(具体值与数据总线宽度或者地址容量有关)。比如:当该值为0时,不发送地址;当该值非零时,表示地址的长度为该非零值。
101 CMD0使能标志位,标记是否需要发送CMD0
100 R/B状态判断使能标志位,标记R/B状态
1 FSM执行状态标志位,标记FSM的使能状态
表1
本发明实施例还提出了一种NAND型闪存读写方法。
图4为根据本发明实施例的NAND型闪存读写方法。
如图4所示,该方法包括:
步骤401:预先在闪存控制器中设置包括控制标志位的配置寄存器,配置所述控制标志位以存储用于指示NAND型闪存读写操作的读写操作信息。
步骤402:FSM访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制所述NAND型闪存的读写操作。
类似地,可以对控制标志位进行如表1所示的各种示范性定义。
基于图4所示流程,图5为根据本发明实施例的NAND型闪存的读数据示范性流程示意图。图6为根据本发明实施例的NAND型闪存的写数据示范性流程示意图。
在图5和图6中,1、2、100、101、102、103、104、105即为控制标志位编号,FSM根据这些控制标志位的内容执行相应的操作。
例如,当控制标志位编号1的含义表示FSM不需要执行命令时,那么即使FSM处于空闲(IDLE)状态,也不会执行命令。另外,可以根据控制标志位编号105的具体含义确定读取或写入的数据量。数据量可以用扇区(sector)*n来表示,sector的大小可以为512字节,n的取值一般为1~8之间的正整数。如果需要执行ECC同步,那么数据量可以为(sector+16)*n。本领域技术人员可以意识到,本发明实施例对n的取值并无任何限定,n的具体取值可以随着应用环境或技术发展作出相应的变更。
对于NAND型的闪存储器,读闪存储设备的一般时序组合为:CMD0+地址(address)+CMD1+R/B+数据(data),而写闪存储设备的一般时序组合为:CMD0+地址(address)+数据(data)+CMD1。如图5,在读数据情形下,FSM从空闲状态执行完发送CMD0、地址、CMD1和读数据等所有操作后最后回到空闲状态。同样,如图6所示,在写数据情形下,FSM从空闲状态执行完发送CMD0、地址、写数据和CMD1等所有操作后最后回到空闲状态。
下面结合具体情况对本发明实施例进行更具体的阐述。
数据读取主要有以下四种情况:
一:读写数据为512字节,需要ECC同步。
此时,写操作完整时序为CMD0+address (主区)+data(主区512字节)+CMD0+address(冗余区)+data(冗余区16字节)+CMD1。而读操作完整时序为CMD0+address(主区)+CMD1+R/B+data(主区512字节)+CMD0+address(冗余区)+CMD1+data(冗余区16字节)。
以主机读取地址是第0x00个块中的第0x05页的一组数据为例,假设主机需要读一个扇区的主区数据,同时需要执行ECC同步纠错。主机首先对配置寄存器中的控制标志位进行配置。其具体的配置如下:①:100使能;②:101使能;③:102使能;④:2标志为读;⑤:104使能;⑥:105标志为主区数据;⑦:103不使能;⑧最后配置1为使能。
当FSM收到触发信号后,首先读取配置寄存器,并当判定1为有效(即判定FSM使能)时,FSM写入CMD0、CMD1,以及写入第0x00个块中页为0x05的地址,并根据①~⑧的配置传输的数据量大小读取512字节的主区数据,然后再次写入CMD0、CMD1,写入第0x05页的冗余地址,再读取16字节的冗余区数据。此时,完整的FSM时序组合为CMD0+address(第0x00块第0x05页)+CMD1+R/B-+data(512字节)+CMD0+address(第0x05页冗余地址)+CMD1+data(16字节)操作。
二:读写数据为512字节,不需要ECC。
此时,写操作完整时序为CMD0+address(主区)+data(主区512字节)+CMD1。读操作完整时序为CMD0+address(主区)+CMD1+R/B-+data(主区512字节)。
同样以主机读取地址是第0x00个块中的第0x05页的一组数据为例。如果只读一个扇区的主区数据,不需要ECC同步纠错,主机首先对配置寄存器中的控制标志位进行配置。其具体的配置如下:①:100使能;②:101使能;③:102使能;④:2标志为读;⑤:104使能;⑥:105标志为主区数据;⑦:103不使能;⑧最后配置1为使能。
当FSM收到触发信号后,首先读取配置寄存器,并当判定1为有效(即判定FSM使能)时,FSM写入CMD0、CMD1和第0x00个块中页为0x05的地址,根据①~⑧的配置完成传输数据量大小读取512字节的主区数据。完整的FSM时序组合为CMD0+address(第0x00块第0x05页)+CMD1+R/B-+data(512字节)操作。
三:读写数据为512*n字节,并需要ECC同步。n的取值一般为1~8之间的正整数。本领域技术人员可以意识到,本发明实施例对n的取值并无任何限定,n的具体取值可以随着应用环境或技术发展作出相应的变更。
此时,写操作完整时序为CMD0+address(主区)+{data(主区512字节)+data(冗余区16字节)}*n+CMD1。读操作完整时序为CMD0+address(主区)+CMD1+R/B-+{data(主区512字节)+data(冗余区16字节)}*n的流水线操作。
同样以主机读取地址是第0x00个块中的第0x05页的一组数据为例,如果需要读满一页为2K字节的主区数据,需要ECC同步纠错,主机首先对配置寄存器中的控制标志位进行配置。其具体的配置如下:①:100使能;②:101使能;③:102使能;④:2标志为读;⑤:104使能;⑥:105标志为主区数据;⑦:103使能;⑧最后配置1为使能。
当FSM收到触发信号后,首先读取配置寄存器,并当判定1为有效(即判定FSM使能)时,首先FSM写入CMD0、CMD1和第0x00个块中页为0x05的地址,FSM根据①~⑧的配置的传输数据量大小读取2112字节的主区和冗余区数据。完整的FSM时序组合为CMD0+address(第0x00块第0x05页)+CMD1+R/B-+data((512+16)*4字节)操作。
四:读写数据为任意字节,不需要ECC。
此时,写操作完整时序为CMD0+address(任意主区)+data(主区任意字节)+CMD1。此时,读操作完整时序为CMD0+address(任意主区)+CMD1+R/B-+data(任意字节)的操作。
同样以主机读取地址是第0x00个块中的第0x05页的一组数据为例,如果需要读为1.2K字节的主区数据,但不需要ECC同步纠错。主机首先对配置寄存器中的控制标志位进行配置。其具体的配置如下::①:100使能;②:101使能;③:102使能;④:2标志为读;⑤:104使能;⑥:105标志为主区数据;⑦:103不使能;⑧最后配置1为使能。
当FSM收到触发信号后,首先读取配置寄存器,并当判定1为有效(即判定FSM使能)时,首先FSM写入CMD0、CMD1和第0x00个块中页为0x05的地址,FSM根据①~⑧的配置传输的数据量大小读取2K字节的主区数据。完整的FSM时序组合为CMD0+address(第0x00块第0x05页)+CMD1+R/B-+data(1.2K字节)操作。
其中,为了加快数据传输速度,可以对数据读写使用流水线操作。在传输当前块数据的同时,可以同时计算上一块数据的ECC。由于读数据相对于写数据较为耗时,故读写数据时流水线级数也不相同。比如,当一个扇区数据需要ECC编码和解码时,等传输完主区数据和冗余区数据后,还再需要很多时钟周期来计算ECC的结果,如果不作流水线操作,则需要等ECC结果计算结束后才可以发送下一个主区和冗余区数据(即512字节+16字节的方式)。
在本发明实施例中,流水线的方式就是指:第一组512+16字节数据刚传出完,就可以传输下一组512+16字节数据,而这个时候并行计算第一组数据的对应ECC结果,直到传输完n组数据为止。优选地,写数据可以使用二级流水线结构,读数据使用三级流水线结构。
图7为根据本发明实施例写数据(512+16)*n并ECC同步的流水线结构示意图。图8为根据本发明实施例读数据(512+16)*n并ECC同步的流水线结构示意图。
综上所述,在本发明实施例中,配置寄存器包括控制标志位,控制标志位被预先配置来存储用于指示NAND型闪存读写操作的读写操作信息,FSM能够根据该读写操作信息控制该NAND型闪存的读写操作。由此可见,应用本发明实施例以后,FSM通过分析控制标志位的配置即可分析出主机需要FSM执行的操作,从而免去了配置译码电路的诸多不便,节省了硬件成本,并且极大地方便了对NAND型闪存的操作。
另外,应用本发明实施例后,通过对配置寄存器中的控制标志位进行设置可灵活支持新的命令,并能适应新的命令组合。不仅与此,当数据较多且需要ECC时,本发明实施例通过采用并行的流水线操作方式还可以显著加快数据传输的速度。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (22)

1.一种与非NAND型闪存控制器,其特征在于,包括有限状态机FSM和配置寄存器,其中:
所述配置寄存器包括控制标志位,预先配置所述控制标志位以存储用于指示NAND型闪存读写操作的读写操作信息,所述读写操作信息是可人工组合的、对NAND型闪存实现读写操作的时序组合;
FSM,用于访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制所述NAND型闪存的读写操作。
2.根据权利要求1所述的NAND型闪存控制器,其特征在于,所述控制标志位包括访问方向标志位和访问区域及数据量标记;
所述访问方向标志位被配置,以指示对NAND型闪存进行读或写操作;
所述访问区域及数据量标记包括操作区域标记位和计数寄存标记位:
所述操作区域标记位被配置,以指示对NAND型闪存的主区或冗余区进行操作;
所述计数寄存标记位被配置,以指示传输数据量的大小。
3.根据权利要求2所述的NAND型闪存控制器,其特征在于,所述控制标志位进一步包括纠错码ECC同步使能标志位;
所述ECC同步使能标志位被配置,以指示是否对传输的数据进行ECC同步。
4.根据权利要求2或3所述的NAND型闪存控制器,其特征在于,所述控制标志位进一步包括地址使能标志位;
所述地址使能标志位被配置,以指示是否向FSM发送地址以及当确定发送地址时所发送地址的长度。
5.根据权利要求2或3所述的NAND型闪存控制器,其特征在于,所述控制标志位进一步包括页读命令0使能标志位和页读命令1使能标志位,
所述页读命令0使能标志位被配置,以指示是否向NAND型闪存发送页读命令0;
所述页读命令1使能标志位被配置,以指示是否向NAND型闪存发送页读命令1。
6.根据权利要求2或3所述的NAND型闪存控制器,其特征在于,所述控制标志位进一步包括就绪/忙状态判断使能标志位,
所述就绪/忙状态判断使能标志位被配置,以指示NAND型闪存的状态为就绪或忙。
7.根据权利要求2或3所述的NAND型闪存控制器,其特征在于,所述控制标志位进一步包括FSM执行状态标志位,
所述FSM执行状态标志位被配置,以表示是否使能FSM。
8.根据权利要求1所述的NAND型闪存控制器,其特征在于,该闪存控制器进一步包括命令寄存器,所述命令寄存器和该FSM连接;
该命令寄存器,用于根据主机的预先配置存储闪存读写命令集,并接受FSM的控制调用所述闪存读写命令集中的命令对NAND型闪存执行读写操作。
9.根据权利要求1、2、3或8所述的NAND型闪存控制器,其特征在于,该闪存控制器进一步包括先进先出FIFO寄存器,所述FIFO寄存器和该FSM连接;
该FIFO寄存器,用于接受FSM的控制在NAND型闪存和主机之间充当数据传输通道。
10.一种闪存读写控制系统,其特征在于,该系统包括主机、闪存控制器和NAND型闪存,其中:
主机,用于向闪存控制器发送闪存读写操作触发命令;
闪存控制器包括FSM和配置寄存器,
所述配置寄存器包括控制标志位,预先配置所述控制标志位以存储用于指示NAND型闪存读写操作的读写操作信息,所述读写操作信息是可人工组合的、对NAND型闪存实现读写操作的时序组合;FSM,用于在收到所述闪存读写操作触发命令后访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制所述NAND型闪存的读写操作;
NAND型闪存,用于接受闪存控制器的控制执行读写操作。
11.根据权利要求10所述的闪存读写控制系统,其特征在于,所述控制标志位包括访问方向标志位和访问区域及数据量标记;
所述访问方向标志位被配置,以指示对NAND型闪存进行读或写操作;
所述访问区域及数据量标记包括操作区域标记位和计数寄存标记位:
所述操作区域标记位被配置,以指示对NAND型闪存的主区或冗余区进行操作;
所述计数寄存标记位被配置,以指示传输数据量的大小。
12.根据权利要求11所述的闪存读写控制系统,其特征在于,所述控制标志位进一步包括ECC同步使能标志位;
所述ECC同步使能标志位被配置,以指示是否对传输的数据进行ECC同步。
13.根据权利要求10或11所述的闪存读写控制系统,其特征在于,所述控制标志位进一步包括地址使能标志位;
所述地址使能标志位被配置,以指示是否向FSM发送地址以及当确定发送地址时所发送地址的长度。
14.根据权利要求10或11所述的闪存读写控制系统,其特征在于,所述控制标志位进一步包括页读命令0使能标志位和页读命令1使能标志位,
所述页读命令0使能标志位被配置,以指示是否向NAND型闪存发送页读命令0;
所述页读命令1使能标志位被配置,以指示是否向NAND型闪存发送页读命令1。
15.根据权利要求10或11所述的闪存读写控制系统,其特征在于,所述控制标志位进一步包括就绪/忙状态判断使能标志位,
所述就绪/忙状态判断使能标志位被配置,以指示NAND型闪存的状态为就绪或忙。
16.根据权利要求10或11所述的闪存读写控制系统,其特征在于,所述控制标志位进一步包括FSM执行状态标志位,
所述FSM执行状态标志位被配置,以表示是否使能FSM。
17.根据权利要求10所述的闪存读写控制系统,其特征在于,该闪存控制器进一步包括命令寄存器,所述命令寄存器和该FSM连接;
该命令寄存器,用于根据主机的预先配置存储闪存读写命令集,并接受FSM的控制调用所述闪存读写命令集中的命令对NAND型闪存执行读写操作。
18.根据权利要求10、11、12或17所述的闪存读写控制系统,其特征在于,该闪存控制器进一步包括FIFO寄存器,所述FIFO寄存器和该FSM连接;
该FIFO寄存器,用于接受FSM的控制在NAND型闪存和主机之间充当数据传输通道。
19.一种NAND型闪存读写方法,其特征在于,该方法包括:
预先在闪存控制器中设置包括控制标志位的配置寄存器,配置所述控制标志位以存储用于指示NAND型闪存读写操作的读写操作信息,所述读写操作信息是可人工组合的、对NAND型闪存实现读写操作的时序组合;
FSM访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制所述NAND型闪存的读写操作。
20.根据权利要求19所述的NAND型闪存读写方法,其特征在于,该方法中,
所述FSM在收到由主机发送的闪存读写操作触发命令后,访问所述配置寄存器以获取所述读写操作信息,并根据所述读写操作信息控制所述NAND型闪存的读写操作。
21.根据权利要求19或20所述的NAND型闪存读写方法,其特征在于,执行所述NAND型闪存的读写操作包括:
在传输当前组数据时,计算已经传输完毕的组数据的ECC。
22.根据权利要求21所述的NAND型闪存读写方法,其特征在于,所述计算已经传输完毕的组数据的ECC包括:
如果执行写数据,在写当前组数据时,采用二级流水线方式计算已经写完毕的组数据的ECC;和/或
如果执行读数据操作,在读当前组数据时,采用三级流水线方式计算已经读完毕的组数据的ECC。
CN200810110857.3A 2008-06-13 2008-06-13 与非型闪存控制器和读写控制系统及方法 Active CN101303884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810110857.3A CN101303884B (zh) 2008-06-13 2008-06-13 与非型闪存控制器和读写控制系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810110857.3A CN101303884B (zh) 2008-06-13 2008-06-13 与非型闪存控制器和读写控制系统及方法

Publications (2)

Publication Number Publication Date
CN101303884A CN101303884A (zh) 2008-11-12
CN101303884B true CN101303884B (zh) 2014-11-05

Family

ID=40113751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810110857.3A Active CN101303884B (zh) 2008-06-13 2008-06-13 与非型闪存控制器和读写控制系统及方法

Country Status (1)

Country Link
CN (1) CN101303884B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882119B (zh) * 2009-05-08 2014-05-14 上海炬力集成电路设计有限公司 与非型闪存控制器及其数据传输方法
CN102541459A (zh) * 2010-12-17 2012-07-04 西安奇维测控科技有限公司 一种电子硬盘的页数据管理办法
CN102411555B (zh) * 2011-08-17 2014-01-01 清华大学 一种可伸缩式动态可重构阵列配置信息方法
CN102707919A (zh) * 2012-05-28 2012-10-03 上海海事大学 一种使用有限状态机控制fifo之间读写的装置及方法
CN105389134B (zh) * 2015-12-11 2019-01-04 华中科技大学 一种闪存接口控制方法及装置
CN107403641B (zh) * 2016-05-20 2020-12-18 中芯国际集成电路制造(上海)有限公司 基于有限状态机控制的存储器读写方法和存储器装置
CN107168899A (zh) * 2017-04-19 2017-09-15 山东超越数控电子有限公司 一种基于FPGA的NandFlash控制器
CN110109618B (zh) * 2019-04-24 2022-09-27 珠海妙存科技有限公司 一种维护闪存操作时序的方法
CN112148203B (zh) * 2019-06-27 2023-12-05 龙芯中科技术股份有限公司 存储器管理方法、装置、电子设备及存储介质
CN111158607B (zh) * 2019-12-31 2023-11-17 潍柴动力股份有限公司 数据擦写操作的处理方法、系统、电子设备及存储介质
CN113343319B (zh) * 2021-06-29 2024-04-02 珠海一微半导体股份有限公司 一种flash的类型识别方法及类型识别系统
CN115220789B (zh) * 2022-06-24 2023-02-07 北京联盛德微电子有限责任公司 一种用于多寄存器的操作命令触发调度方法及单元

Also Published As

Publication number Publication date
CN101303884A (zh) 2008-11-12

Similar Documents

Publication Publication Date Title
CN101303884B (zh) 与非型闪存控制器和读写控制系统及方法
US7657696B2 (en) Method to detect NAND-flash parameters by hardware automatically
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
US9792072B2 (en) Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system
US9389804B2 (en) Host, system, and methods for transmitting commands to non-volatile memory card
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US8230160B2 (en) Flash memory storage system and flash memory controller and data processing method thereof
CN105190524B (zh) 用于生成去向和来自存储驱动器的非易失性半导体存储器的数据传送的描述符的装置和方法
US9146691B2 (en) Method for managing commands in command queue, memory control circuit unit and memory storage apparatus
US11853599B2 (en) Memory system and information processing system
CN103282887A (zh) 用于进行后台操作的控制器和方法
US20120131263A1 (en) Memory storage device, memory controller thereof, and method for responding host command
CN102414666A (zh) 用于受管理的非易失性存储器的低等待时间读取操作
US8869004B2 (en) Memory storage device, memory controller thereof, and data transmission method thereof
CN102568603A (zh) 数据传输装置、存储器控制装置和存储器系统
CN111399750B (zh) 闪存数据写入方法及计算机可读取存储介质
US20100191901A1 (en) Non-volatile storage device, host device, non-volatile storage system, data recording method, and program
CN104281413A (zh) 命令队列管理方法、存储器控制器及存储器储存装置
US7779174B2 (en) Method and apparatus for dynamically changing burst length using direct memory access control
CN115357540B (zh) 存储系统及其计算存储处理器、固体硬盘和数据读写方法
US9804983B2 (en) Controlling method, connector, and memory storage device
WO2005064617A1 (fr) Procede d'enregistrement de donnees dans une memoire flash
CN101515221A (zh) 一种读数据的方法、装置和系统
CN101261611A (zh) 一种外围设备间的数据传输装置和传输方法
JP2021163512A (ja) メモリシステムおよび情報処理システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20081112

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: He Hongping

Document name: Notification of Acceptance of Request for Reexamination

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170612

Address after: 519085 C District, 1# workshop, No. 1, science and technology No. four road, hi tech Zone, Zhuhai, Guangdong, China

Patentee after: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd.

Address before: 519085 No. 1, unit 15, building 1, 1 Da Ha Road, Tang Wan Town, Guangdong, Zhuhai

Patentee before: Juli Integrated Circuit Design Co., Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province

Patentee after: ACTIONS TECHNOLOGY Co.,Ltd.

Address before: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province

Patentee before: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder