与非门闪存的读取方法与流程

文档序号:15450931发布日期:2018-09-15 00:00阅读:514来源:国知局

本发明涉及一种存储器的读取方法,且特别涉及一种与非门闪存的读取方法。



背景技术:

众所周知,闪存的种类可区分为或非门闪存(norflash)和与非门闪存(nandflash)。

或非门闪存的读取效率很高,小容量的或非门闪存具有很高的成本效益。因此,市面上小容量(例如1~16mb)的闪存大多是或非门闪存,其主要应用于储存程序代码(programcode)的用途,例如固件(firmware)。

与非门闪存的单位密度很高,价格低廉制程开发进展快,可达到很高的储存密度以及储存容量。但是,与非门闪存的读取速度慢。因此,市面上大容量的闪存大多是与非门闪存,其主要应用于储存数据(data)的用途。

请参照图1,其所绘示为串行外设接口(serialperipheralinterface,简称spi)的或非门闪存在读取操作时的信号示意图。串行外设接口(spi)的或非门闪存经由四条信号线连接至控制器(未绘示)。四条信号线包括:片选信号(chipcs#)、频率信号sclk、数据输入信号si、数据输出信号so。而控制器即可利用四条信号线来控制或非门闪存记行读取操作(readoperation)、编程操作(programoperation)、或者擦除操作(eraseoperation)。以下仅介绍读取操作。

如图1所示,当片选信号cs#为低电平时,或非门闪存根据频率信号sclk运作。在时间点t1至时间点t2,数据输入信号si为读取指令(readcmd);而时间点t2至时间点t3,数据输入信号si为地址信号(address)。因此,在时间点t3之后,或非门闪存的数据输出信号so上,即为该地址所对应的读取数据(readdata)。

另外,或非门闪存根据一个读取指令,即可输出该地址所对应的读取数据。接着,或非门闪存还会自动地且不间断地输出该地址之后的所有数据。

由于或非门闪存与与非门闪存的架构不同,与非门闪存的读取操作也不同于或非门闪存。

请参照图2,其所绘示为串行外设接口(spi)与非门闪存于读取数据时的读取操作示意图。同理,spi与非门闪存的接口包括相同的四条信号线连接至控制器。而控制器可利用四条信号线来控制或非门闪存记行读取操作、编程操作、或者擦除操作。以下仅介绍读取操作。

如图2所示,当片选信号cs#为低电平时,与非门闪存根据频率信号sclk运作。再者,与非门闪存的读取操作中,至少包括两个指令:页读取指令(pagereadcmd)与数据读取指令(datareadcmd),此两个指令之间至少需间隔几十微秒(microsecond),例如25μs。另外,在此两个指令之间也可以选择性地发出询问指令(getfeaturecmd),用以询问页读取指令(pagereadcmd)是否执行完成。

如图2所示,时间点t1至时间点t2,数据输入信号si为页读取指令(pagereadcmd);而时间点t2至时间点t3,数据输入信号si为页地址信号(pageaddress)。因此,与非门闪存将对应页地址的数据读出(readout),并储存于与非门闪存内部的页缓冲器(pagebuffer)。

时间点t4至时间点t5,数据输入信号si为询问指令(getfeaturecmd);而时间点t5至时间点t6,数据输入信号si为状态缓存器地址(statusregisteraddress)。当然,控制器也可以不发出询问指令(getfeaturecmd),而直接等待25μs之后,再发出数据读取指令(datareadcmd)。

再者,时间点t7至时间点t8,数据输入信号si为数据读取指令(datareadcmd);而时间点t8至时间点t9,数据输入信号si为行地址(columnaddress),而行地址可对应至该页内的一笔数据。因此,在时间点t9之后,与非门闪存将页缓冲器中对应的一笔读取数据(例如一个byte的读取数据)传递至数据输出信号so上。意即,数据输出信号so上即为该页中对应的读取数据(readdata)。

另外,与非门闪存输出该页对应的一笔读取数据后,也会连续自动地输出该笔数据后的所有数据。当该页最后一笔数据输出后,与非门闪存会在信号输出端so上产生中断信号,并结束此读取操作。换言之,与非门闪存的一个读取操作所输出的数据量会小于等于一个页(例如一个页的数据量为2kbyte)。

由以上的说明可知,或非门闪存的一个读取操作仅有一个读取指令,并可由对应的地址开始连续地输出所有的读取数据。而与非门闪存的一个读取操作需要至少两个读取指令,且最多仅能输出一个页的数据。



技术实现要素:

本发明的主要目的是提出一种与非门闪存的读取方法。利用与非门闪存搭配本发明的读取方法,可以使与非门闪存的读取操作类似于或非门闪存。也即,本发明设计与非门闪存内的储存规划,并且利用一个读取指令,可使得与非门闪存达成不间断地输出读取数据。

因此,本发明提出一种与非门闪存的读取方法,包括:准备要被读出的次一页数据;其中,当该次页未接续于一特定页时,根据一页读取指令以及一次页地址来准备该次页数据。

另外,本发明提出一种与非门闪存的读取方法,包括:在准备读出一第一页数据之前,接收一页读取指令以及一第二页地址;以及输出该第一页数据,并准备读出该第二页地址所对应的一第二页数据之前,接收该页读取指令以及一第三页地址,其中该第二地址与该第三地址为连续地址或者不连续地址。

为了对本发明上述及其他方面有更佳的了解,下文特列举较佳实施例,并配合所附附图,作详细说明如下:

附图说明

图1所绘示为串行外设接口的或非门闪存在读取操作时的信号示意图。

图2所绘示为串行外设接口的与非门闪存在读取数据时的读取操作示意图。

图3所绘示为先行页读取指令的使用时机示意图。

图4所绘示为先行页读取指令的另一使用时机示意图。

图5所绘示为页读取指令的使用时机示意图。

图6所绘示为页读取指令的另一使用时机示意图。

图7a所绘示为本发明与非门闪存的第一实施例。

图7b所绘示为第一实施例与非门闪存的详细运作流程示意图。

图8a所绘示为本发明与非门闪存的第二实施例。

图8b所绘示为第二实施例与非门闪存的详细运作流程示意图。

【附图标记说明】

300、400、500、600、700、800:与非门闪存

710、810:阵列结构

720、820:页缓冲器

730、830:缓存数据锁存器

750、850:接口电路

760、860:ecc电路

840:sram

具体实施方式

由于或非门闪存最主要的用途在于储存程序代码(programcode)。在电源开启(poweron)时,或非门闪存由最小地址开始输出连续的读取数据。并且,当或非门闪存需要读取不连续数据时,仅利用一个读取指令即可跳至任意地址来读取不连续的数据。

由于与非门闪存的成本低廉。本发明设计出具有上述特性的与非门闪存,利用与非门闪存搭配本发明的读取方法,可以使与非门闪存的读取操作类似于或非门闪存,并且可以直接取代或非门闪存。再者,以下所述的与非门闪存皆为串行外设接口(spi)与非门闪存。

根据本发明的实施例,在电源开启时,与非门闪存由编号最小的页(page0)开始自动地输出该页的数据。再者,在没有接收到其他读取指令之前,与非门闪存会以页为单位,不中断地输出连续地址的多个连续页的数据。

根据本发明的实施例,如欲控制与非门闪存输出不连续页的数据时,需输入一先行页读取指令(lookaheadpagereadcmd)。举例来说,假设控制与非门闪存输出连续页的数据至第l页后,欲读取不相邻(不连续)的第m页数据。在此情况下,当与非门闪存欲读出(readout)第l页数据之前,将先行页读取指令以及第m页的对应页地址(pageaddress)输入与非门闪存。因此,在与非门闪存输出第l页的数据的过程,与非门闪存内部会先准备第m页数据。之后,即可不中断地输出不连续页(第m页)的数据。

请参照图3其所绘示为先行页读取指令的使用时机示意图。在电源开启时,与非门闪存300由编号最小的第0页(page0)开始输出一页的数据,并且与非门闪存300以页为单位,不中断地输出连续地址的多个连续页的数据。

当与非门闪存300连续输出连续页的数据至第l页后,欲控制与非门闪存300输出第m页的数据时。如图3所示,当与非门闪存300欲读出(readout)第l页数据之前,即输入先行页读取指令以及第m页的对应页地址[addrpagem]至与非门闪存300。因此,与非门闪存300输出第l页的数据后即可不中断地继续输出第m页数据。接着,与非门闪存300由第m页开始不中断地输出连续地址的多个连续页的数据直到第n页。

同理,当与非门闪存300由第m页开始连续输出至第n页的数据后,欲控制与非门闪存300输出第o页的数据时。如图3所示,当与非门闪存300欲读出(readout)第n页数据之前,即输入先行页读取指令以及第o页的对应页地址[addrpageo]至与非门闪存300。因此,与非门闪存300输出第n页的数据后即可不中断地输出第o页数据。接着,与非门闪存300由第o页开始持续地输出连续页的数据。

由以上的说明可知,当电子装置开机后,内部的控制器会读取并执行与非门闪存300内的程序代码。此时,与非门闪存300由最小的页(page0)开始自动地输出一页的数据,并且持续地输出连续页的数据。当控制器欲读取与非门闪存300内不连续页的数据时,可以执行上述先行页读取指令,使得与非门闪存300可以不中断地输出不连续页的数据。

由于与非门闪存300可根据先行页读取指令而不中断地输出数据,因此电子装置的控制器可以以最精简的指令运行将与非门闪存300内的全部数据储存至电子装置内的动态随机存取存储器(dram)后,执行动态随机存取存储器内的程序代码。

根据本发明的另一实施例,如果与非门闪存不具备自动连续页输出的功能。则利用本发明先行页读取指令也可以达成不中断地输出数据的目的。

请参照图4其所绘示为先行页读取指令的另一使用时机示意图。在电源开启时,与非门闪存400由编号最小的第0页(page0)开始输出一页的数据。由于与非门闪存400不具备自动连续页输出的功能,因此当与非门闪存400欲读出(readout)第0页(page0)数据之前,即输入先行页读取指令以及次一页(page1)的对应页地址[addrpage1]。

同理,当与非门闪存400欲读出(readout)第1页(page1)数据之前,输入先行页读取指令以及次一页(page2)的对应页地址[addrpage2]。

换言之,如欲不中断地输出连续地址的多个连续页的数据时,在读取现在页(currentpage)之前,输入先行页读取指令以及次一页(nextpage)的对应页地址。因此,与非门闪存400输出第0页的数据后即可不中断地连续输出至第l页。

当然,利用相同的方式,也可以进行不相邻页的数据读取。当与非门闪存400由第0页开始连续输出至第l页的数据后,欲控制与非门闪存400输出第m页的数据时。如图4所示,当与非门闪存400欲读出(readout)第l页数据之前,即输入先行页读取指令以及第m页的对应页地址[addrpagem]至与非门闪存400。因此,与非门闪存400输出第l页的数据后即可不中断地继续输出第m页数据。

接着,利用相同的方式由与非门闪存400不中断地输出第m页至第n页的连续数据。同理,与非门闪存400以可以输出第n页的数据后跳至输出第o页的数据。因此,也可以达到与图3相同的数据输出顺序。

再者,本发明也可以对与非门闪存进行储存规划,并且利用一个页读取指令(pagereadcmd),来使得与非门闪存可以不中断地输出读取数据。

根据本发明的实施例,在电源开启时,与非门闪存由编号最小的页(page0)开始自动地输出该页的数据。再者,在没有接收到任何读取指令之前,与非门闪存会以页为单位,自动地且不中断地输出连续地址的多个连续页的数据。

根据本发明的实施例,如欲控制与非门闪存输出不连续页的数据时,需输入页读取指令(pagereadcmd)。举例来说,假设控制与非门闪存输出连续页至第l页的数据后,接着欲控制输出不相邻(不连续)的第m页数据。在此情况下,在与非门闪存输出第l页数据之后,再将页读取指令以及第m页的对应页地址(pageaddress)输入与非门闪存。

然而,由于与非门闪存的特性,在输出第l页的数据后,才输入页读取指令。因此,与非门闪存需要一段处理时间才能够输出第m页的数据。为了要让数据不中断地输出,与非门闪存在输出第l页数据之后,先自行输出一页的用户定义的虚拟数据(dummydata)后再输出第m页的数据。

请参照图5其所绘示为页读取指令的使用时机示意图。在电源开启时,与非门闪存500由编号最小的第0页(page0)开始输出一页的数据,并且与非门闪存500会以页为单位,持续地输出连续页的数据。

当与非门闪存500连续输出至第l页的数据后,欲控制与非门闪存500输出第m页的数据时。如图5所示,在与非门闪存500输出第l页数据之后,输入页读取指令以及第m页的对应页地址[addrpagem]至与非门闪存500。为了要让与非门闪存500不中断地输出数据,与非门闪存先自行输出一页的虚拟数据d后再输出第m页的数据。接着,与非门闪存500由第m页开始持续地输出连续页的数据直到第n页。

同理,当与非门闪存500由第m页开始连续输出至第n页的数据后,欲控制与非门闪存500输出第o页的数据时。如图5所示,在与非门闪存500输出第n页数据之后,即输入页读取指令以及第o页的对应页地址[addrpageo]至与非门闪存500。为了要让数据不中断地输出,与非门闪存先自行输出一页的虚拟数据d后再输出第o页的数据。接着,与非门闪存500由第o页开始持续地输出连续页的数据。

由以上的说明可知,当电子装置开机后,内部的控制器会读取并执行与非门闪存500的程序代码。此时,与非门闪存500由最小的页(page0)开始自动地输出一页的数据,并且持续地输出连续页的数据。当控制器欲读取与非门闪存500内不连续页的数据时,可以执行上述的页读取指令,而与非门闪存500会先输出一页虚拟数据d后,才输出不连续页的数据,并使得与非门闪存500可以不中断地输出数据。

根据本发明的实施例,虚拟数据d为用户定义于与非门闪存500缓存器内的数据,该虚拟数据可以让控制器执行无操作指令(nooperation,nop)。也即,虚拟数据中为无操作指令的程序代码。

因此,当电子装置的控制器收到一页的无操作指令的程序代码时,控制器仅暂时不执行任何操作,在后续收到不连续页的数据后,还是可以继续执行程序。因此,控制器仍可以根据接收到数据中的程序代码来实现原地执行(xip)的功能。当然,电子装置的控制器也可以先将与非门闪存500内的全部数据储存至电子装置内的动态随机存取存储器(dram)后,再来执行动态随机存取存储器内的程序代码。

请参照图6其所绘示为页读取指令的另一使用时机示意图。根据本发明的实施例,使用者在不连续页上编程特定的虚拟数据d,例如无运作(nop)的程序代码。而与非门闪存并不读取不连续页上的数据,而是输出一页虚拟数据d。如此,即可以单一指令达成数据不中断地输出。

如图6所示,在电源开启时,与非门闪存600由编号最小的第0页(page0)开始输出一页的数据,并且与非门闪存600会以页为单位,持续地输出连续页的数据。

当与非门闪存600连续输出至第l页的数据后,欲控制与非门闪存600输出第m页的数据时。如图6所示,当与非门闪存600输出第l页数据之后,输入页读取指令以及第m页的对应页地址[addrpagem]至与非门闪存600。在实际的运作上,由于第m页为不连续页,因此将第m页的内容编程为已知的虚拟数据d,例如无运作(nop)的程序代码。因此,与非门闪存600并不需要真正读取第m页上的数据,而是直接由缓存器中输出一页虚拟数据d。而在输出一页虚拟数据d的过程,与非门闪存600已经在准备第(m+1)页的数据。因此,当第m页的虚拟数据输出后,即可不中断地继续输出第(m+1)页至第n页的数据。

同理,当与非门闪存600连续输出至第n页的数据后,欲控制与非门闪存600输出第o页的数据时。在与非门闪存600输出第l页数据之后,输入页读取指令以及第o页的对应页地址[addrpageo]至与非门闪存600。由于第o页为不连续页,第m页的内容为已知的虚拟数据d,例如无运作(nop)的程序代码。因此,与非门闪存600并不需要真正读取第o页上的数据,而是直接由缓存器中输出一页虚拟数据d。而在输出一页虚拟数据d的过程,与非门闪存600已经在准备第o+1页的数据了。因此,当第o页的虚拟数据d输出后,即可不中断地继续输出第o+1页的数据。

相同地,当电子装置的控制器收到一页的无操作指令的程序代码时,控制器仅暂时不执行任何操作,在后续收到不连续页的数据后,还是可以继续执行程序。当然,电子装置的控制器也可以先将与非门闪存600内的全部数据储存至电子装置内的动态随机存取存储器(dram)后,再来执行动态随机存取存储器内的程序代码。

根据本发明的另一实施例,如果与非门闪存不具备自动连续页输出的功能。则利用本发明页读取指令(pagereadcmd)也可以达成不中断地输出数据的目的,并且可使读取模式一致化。每次读取页时,不管连续或不连续,都必须输入页读取指令以及对应页地址至与非门闪存600。与非门闪存600如果发现输入的地址为非连续时,就输出虚拟数据d;如果是连续的地址时,就输出已预先准备好的连续页的数据。

根据本发明的另一实施例,当连续发出的页读取指令(pagereadcmd)对应至连续页的地址时,与非门闪存600可根据连续地址,持续地输出连续页的数据。再者,当页读取指令所对应的地址为不连续页的地址时,与非门闪存600则先输一页虚拟数据d后,再输出该不连续页的数据。如此,达成与非门闪存600不中断地输出数据的目的。

请参照图7a,其所绘示为本发明与非门闪存的第一实施例。可运用于本发明第3-6图中,不中断地输出数据的情况。

与非门闪存700包括一阵列结构(arraystructure)710、页缓冲器(pagebuffer)720、缓存数据锁存器(cachedatalatch)730、接口电路(interfacingcircuit)750、错误校正电路(简称ecc电路)760。

根据本发明的实施例,页缓冲器720接收由阵列结构710所读出(readout)的一页数据。再者,当该页的数据转存至快取数据栓锁器730后,可再由阵列结构710继续读出下一页的数据至页缓冲器720。再者,ecc电路760会对缓存数据锁存器730中该页的数据进行错误校正操作。

当接口电路750读取该缓存数据锁存器730,并输出该页的数据后,下一页的数据会转存至该缓存数据锁存器730。并且,页缓冲器720接收由阵列结构710所读出(readout)的下下一页数据。如此,即可达成不中断地输出数据的目的。

请参照图7b,其所绘示为第一实施例与非门闪存的详细运作流程示意图。首先,接口电路750由缓存数据锁存器730输出第l页前半(pagelbyte0~byte1023)数据时,ecc电路760对转存至缓存数据锁存器730的第l页后半(pagelbyte1024~byte2047)数据进行错误校正操作。再者,当第l页后半数据由页缓冲器720转存至缓存数据锁存器730后,会接着由阵列结构710读出第m页的数据(pagembyte0~byte2047)并储存于页缓冲器720。

接着,接口电路750由缓存数据锁存器730输出第l页后半(pagelbyt10240~byte2047)数据时,ecc电路760对转存至缓存数据锁存器730的第m页前半(pagembyte0~byte1023)数据进行错误校正操作。

接着,接口电路750由缓存数据锁存器730输出第m页前半(pagembyte0~byte1023)数据时,ecc电路760对转存至缓存数据锁存器730的第m页后半(pagembyte1024~byte2047)数据进行错误校正操作。再者,当第m页后半数据由页缓冲器720转存至缓存数据锁存器730后,会接着由阵列结构710读出第(m+1)页的数据(pagem+1byte0~byte2047)并储存于页缓冲器720。

接着,接口电路750由缓存数据锁存器730输出第m页后半(pagembyt10240~byte2047)数据时,ecc电路760对转存至缓存数据锁存器730的第(m+1)页前半(pagem+1byte0~byte1023)数据进行错误校正操作。

如此持续运作,即可确定与非门闪存700可以不间断地输出数据。

请参照图8a,其所绘示为本发明与非门闪存的第二实施例。可运用于本发明图3与图4中,不中断地输出数据的情况。相较于第一实施例之与非门闪存,第二实施例多了一个静态随机存取存储器(sram)840。

如图8a所示,与非门闪存800包括一阵列结构810、页缓冲器820、缓存数据锁存器830、静态随机存取存储器(sram)840、接口电路850、错误校正电路(简称ecc电路)860。

请参照图8b,其所绘示为第二实施例与非门闪存的详细运作流程示意图。首先,接口电路850由静态随机存取存储器(sram)840输出第l页前半(pagelbyte0~byte1023)数据时,ecc电路860对转存至静态随机存取存储器(sram)840的第l页后半(pagelbyte1024~byte2047)数据进行错误校正操作。

当第l页后半(pagelbyte1024~byte2047)数据的错误校正操作完成后,页缓冲器820中第m页的数据会先转存至缓存数据锁存器830(如箭头a所示)。

接着,接口电路850由静态随机存取存储器(sram)840输出第l页后半(pagelbyt10240~byte2047)数据时,ecc电路860对转存至静态随机存取存储器(sram)840的第m页前半(pagembyte0~byte1023)数据进行错误校正操作。同时,阵列结构810读出第(m+1)页的数据(pagem+1byte0~byte2047)并储存于页缓冲器820(如箭头b所示)。

接着,接口电路850由静态随机存取存储器(sram)840输出第m页前半(pagembyte0~byte1023)数据时,ecc电路860对转存至静态随机存取存储器(sram)840的第m页后半(pagelbyte1024~byte2047)数据进行错误校正操作。

当第m页后半(pagembyte1024~byte2047)数据的错误校正操作完成后,页缓冲器820中第(m+1)页的数据会先转存至缓存数据锁存器830(如箭头c所示)。

接着,接口电路850由静态随机存取存储器(sram)840输出第m页后半(pagembyt10240~byte2047)数据时,ecc电路860对转存至缓存数据锁存器830的第(m+1)页前半(pagem+1byte0~byte1023)数据进行错误校正操作。同时,阵列结构810读出第m+2页的数据(pagem+2byte0~byte2047)并储存于页缓冲器820(如箭头d所示)。

如此,即可确定与非门闪存800可以不中断地输出数据。

再者,本发明以图7a与图8a的与非门闪存为例来说明本发明的读取方法,但并非用来限定本发明。在此技术领域的技术人员可以根据上述的内容,以其他架构的与非门闪存来实现本发明的读取方法。

由以上的说明可知,与非门闪存在输出连续页的数据过程,在接收到先行页读取指令以及对应的页地址信号时,与非门闪存会继续输出一页数据后,才输出页读取指令所指定的页数据。

另外,与非门闪存在输出连续页的数据过程,在接收到页读取指令以及对应的页地址信号时,当非接续性时,与非门闪存会停止输出连续页数据,并输出一页虚拟数据后,再输出页读取指令所指定的页数据。

在此领域的技术人员也可以定义页读取指令,使得页读取指令具有上述两种不同的用途或是借由命令或信号控制来设定与非门闪存于不同的操作模式。举例来说,在页读取指令所对应的地址信号中,利用一备用位(sparebit)作为旗标(flag)。当与非门闪存接收到页读取指令以及对应的页地址信号时,与非门闪存会检查地址信号中的旗标来决定后续操作。

当地址信号的旗标被设定时,与非门闪存执行上述先行页读取指令操作。反之,地址信号的旗标未被设定时,与非门闪存执行上述正常的页读取指令操作。

因此,本发明的优点是提出一种与非门闪存的读取方法。利用与非门闪存搭配本发明的读取方法,可以使与非门闪存的读取操作类似于或非门闪存。也即,利用一个读取指令,可使得与非门闪存达成不间断地输出读取数据。由于,可以用成本低廉的串行外设接口与非门闪存来直接取代串行外设接口或非门闪存。

综上所述,虽然本发明已以较佳实施例公开如上,但其并非用以限定本发明。本发明所属领域技术人员在不脱离本发明的精神和范围内,当可作各种更动与润饰。因此,本发明的保护范围应以权利要求书所界定的为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1