TWI657450B - 反及閘快閃記憶體的讀取方法 - Google Patents
反及閘快閃記憶體的讀取方法 Download PDFInfo
- Publication number
- TWI657450B TWI657450B TW106106716A TW106106716A TWI657450B TW I657450 B TWI657450 B TW I657450B TW 106106716 A TW106106716 A TW 106106716A TW 106106716 A TW106106716 A TW 106106716A TW I657450 B TWI657450 B TW I657450B
- Authority
- TW
- Taiwan
- Prior art keywords
- page
- data
- flash memory
- address
- gate flash
- Prior art date
Links
Landscapes
- Read Only Memory (AREA)
Abstract
本發明為一種反及閘快閃記憶體的讀取方法,包括:準備要被讀出的一次頁資料;其中,當該次頁的位址接續於一特定頁時,自動地準備該次頁資料,或者當該次頁的位址未接續於該特定頁時,根據一頁讀取指令以及一次頁位址來準備該次頁資料。
Description
本發明是有關於一種記憶體的讀取方法,且特別是有關於一種反及閘快閃記憶體的讀取方法。
眾所周知,快閃記憶體的種類可區分為反或閘快閃記憶體與(NOR Flash)反及閘快閃記憶體(NAND Flash)。
反或閘快閃記憶體的讀取效率很高,小容量的反或閘快閃記憶體具有很高的成本效益。因此,市面上小容量(例如1~16MB)的快閃記憶體大多是反或閘快閃記憶體,其主要應用於儲存程式碼(program code)的用途,例如韌體程式(firmware)。
反及閘快閃記憶體的單位密度很高,價格低廉製程開發進展快,可達到很高的儲存密度以及儲存容量。但是,反及閘快閃記憶體的讀取速度慢。因此,市面上大容量的快閃記憶體大多是反及閘快閃記憶體,其主要應用於儲存資料(data)的用途。
請參照第1圖,其所繪示為串列周邊介面(Serial Peripheral Interface,簡稱SPI)的反或閘快閃記憶體於讀取動作時的信號示意圖。串列周邊介面(SPI)的反或閘快閃記憶體經由四條信號線連接至控制器(未繪示)。四條信號線包括:晶粒選擇
信號(chip CS#)、時脈信號SCLK、資料輸入信號SI、資料輸出信號SO。而控制器即可利用四條信號線來控制反或閘快閃記憶體記行讀取動作(read operation)、編程動作(program operation)、或者抹除動作(erase operation)。以下僅介紹讀取動作。
如第1圖所示,當晶粒選擇信號CS#為低準位時,反或閘快閃記憶體根據時脈信號SCLK運作。於時間點t1至時間點t2,資料輸入信號SI為讀取指令(Read CMD);而時間點t2至時間點t3,資料輸入信號SI為位址信號(Address)。因此,於時間點t3之後,反或閘快閃記憶體的資料輸出信號SO上,即為該位址所對應的讀取資料(Read Data)。
另外,反或閘快閃記憶體根據一個讀取指令,即可輸出該位址所對應的讀取資料。接著,反或閘快閃記憶體更會自動地且不間斷地輸出該位址之後的所有資料。
由於反或閘快閃記憶體與反及閘快閃記憶體的架構不同,反及閘快閃記憶體的讀取動作也不同於反或閘快閃記憶體。
請參照第2圖,其所繪示為串列周邊介面(SPI)反及閘快閃記憶體於讀取資料時的讀取動作示意圖。同理,SPI反及閘快閃記憶體的介面包括相同的四條信號線連接至控制器。而控制器可利用四條信號線來控制反或閘快閃記憶體記行讀取動作、編程動作、或者抹除動作。以下僅介紹讀取動作。
如第2圖所示,當晶粒選擇信號CS#為低準位時,反及閘快閃記憶體根據時脈信號SCLK運作。再者,反及閘快閃記憶體的讀取動作中,至少包括二個指令:頁讀取指令(Page Read CMD)與資料讀取指令(Data Read CMD),此二指令之間至少需間隔幾十微秒(micro second),例如25μs。另外,在此二指令之間也可以選擇性地發出詢問指令(Get Feature CMD),用以詢問頁讀取指令(Page Read CMD)是否執行完成。
如第2圖所示,時間點t1至時間點t2,資料輸入信號SI為頁讀取指令(Page Read CMD);而時間點t2至時間點t3,資料輸入信號SI為頁位址信號(Page Address)。因此,反及閘快閃記憶體將對應頁位址的資料讀出(read out),並儲存於反及閘快閃記憶體內部的頁緩衝器(page buffer)。
時間點t4至時間點t5,資料輸入信號SI為詢問指令(Get Feature CMD);而時間點t5至時間點t6,資料輸入信號SI為狀態暫存器位址(Status Register Address)。當然,控制器也可以不發出詢問指令(Get Feature CMD),而直接等待25μs之後,再發出資料讀取指令(Data Read CMD)。
再者,時間點t7至時間點t8,資料輸入信號SI為資料讀取指令(Data Read CMD);而時間點t8至時間點t9,資料輸入信號SI為行位址(Column Address),而行位址可對應至該頁內的一筆資料。因此,於時間點t9之後,反及閘快閃記憶體將頁緩衝器中對應的一筆讀取資料(例如一個Byte的讀取資料)
傳遞至資料輸出信號SO上。意即,資料輸出信號SO上即為該頁中對應的讀取資料(Read Data)。
另外,反及閘快閃記憶體輸出該頁對應的一筆讀取資料後,也會連續自動地輸出該筆資料後的所有資料。當該頁最後一筆資料輸出後,反及閘快閃記憶體會在信號輸出端SO上產生中斷信號,並結束此讀取動作。換言之,反及閘快閃記憶體的一個讀取動作所輸出的資料量會小於等於一個頁(例如一個頁的資料量為2K byte)。
由以上的說明可知,反或閘快閃記憶體的一個讀取動作僅有一個讀取指令,並可由對應的位址開始連續地輸出所有的讀取資料。而反及閘快閃記憶體的一個讀取動作需要至少二個讀取指令,且最多僅能輸出一個頁的資料。
本發明之主要目的係提出一種反及閘快閃記憶體的讀取方法。利用反及閘快閃記憶體搭配本發明的讀取方法,可以使反及閘快閃記憶體的讀取動作類似於反或閘快閃記憶體。亦即,本發明設計反及閘快閃記憶體內的儲存規劃,並且利用一個讀取指令,可使得反及閘快閃記憶體達成不間斷地輸出讀取資料。
因此,本發明提出一種反及閘快閃記憶體的讀取方法,包括:準備要被讀出的次一頁資料;其中,當該次頁未接續
於一特定頁時,根據一頁讀取指令以及一次頁位址來準備該次頁資料。
另外,本發明提出一種反及閘快閃記憶體的讀取方法,包括:於準備讀出一第一頁資料之前,接收一頁讀取指令以及一第二頁位址;以及輸出該第一頁資料,並準備讀出該第二頁位址所對應的一第二頁資料之前,接收該頁讀取指令以及一第三頁位址,其中該第二位址與該第三位址為連續位址或者不連續位址。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:。
300、400、500、600、700、800‧‧‧反及閘快閃記憶體
710、810‧‧‧陣列結構
720、820‧‧‧頁緩衝器
730、830‧‧‧快取資料栓鎖器
750、850‧‧‧介面電路
760、860‧‧‧ECC電路
840‧‧‧SRAM
第1圖所繪示為串列周邊介面的反或閘快閃記憶體於讀取動作時的信號示意圖。
第2圖所繪示為串列周邊介面的反及閘快閃記憶體於讀取資料時的讀取動作示意圖。
第3圖所繪示為先行頁讀取指令的使用時機示意圖。
第4圖所繪示為先行頁讀取指令的另一使用時機示意圖。
第5圖所繪示為頁讀取指令的使用時機示意圖。
第6圖所繪示為頁讀取指令的另一使用時機示意圖。
第7A圖所繪示為本發明反及閘快閃記憶體的第一實施例。
第7B圖所繪示為第一實施例反及閘快閃記憶體的詳細運作流程示意圖。
第8A圖所繪示為本發明反及閘快閃記憶體的第二實施例。
第8B圖所繪示為第二實施例反及閘快閃記憶體的詳細運作流程示意圖。
由於反或閘快閃記憶體最主要的用途在於儲存程式碼(program code)。於電源開啟(power on)時,反或閘快閃記憶體由最小位址開始輸出連續的讀取資料。並且,當反或閘快閃記憶體需要讀取不連續資料時,僅利用一個讀取指令即可跳至任意位址來讀取不連續的資料。
由於反及閘快閃記憶體的成本低廉。本發明設計出具有上述特性的反及閘快閃記憶體,利用反及閘快閃記憶體搭配本發明的讀取方法,可以使反及閘快閃記憶體的讀取動作類似於反或閘快閃記憶體,並且可以直接取代反或閘快閃記憶體。再者,以下所述的反及閘快閃記憶體皆為串列周邊介面(SPI)反及閘快閃記憶體。
根據本發明的實施例,於電源開啟時,反及閘快閃記憶體由編號最小的頁(page 0)開始自動地輸出該頁的資料。再者,在沒有接收到其他讀取指令之前,反及閘快閃記憶體會以頁為單位,不中斷地輸出連續位址的多個連續頁的資料。
根據本發明的實施例,如欲控制反及閘快閃記憶體輸出不連續頁的資料時,需輸入一先行頁讀取指令(Look Ahead Page Read CMD)。舉例來說,假設控制反及閘快閃記憶體輸出連續頁的資料至第L頁後,欲讀取不相鄰(不連續)的第M頁資料。在此情況下,當反及閘快閃記憶體欲讀出(read out)第L頁資料之前,將先行頁讀取指令以及第M頁的對應頁位址(page address)輸入反及閘快閃記憶體。因此,在反及閘快閃記憶體輸出第L頁的資料的過程,反及閘快閃記憶體內部會先準備第M頁資料。之後,即可不中斷地輸出不連續頁(第M頁)的資料。
請參照第3圖其所繪示為先行頁讀取指令的使用時機示意圖。於電源開啟時,反及閘快閃記憶體300由編號最小的第0頁(page 0)開始輸出一頁的資料,並且反及閘快閃記憶體300以頁為單位,不中斷地輸出連續位址的多個連續頁的資料。
當反及閘快閃記憶體300連續輸出連續頁的資料至第L頁後,欲控制反及閘快閃記憶體300輸出第M頁的資料時。如第3圖所示,當反及閘快閃記憶體300欲讀出(read out)第L頁資料之前,即輸入先行頁讀取指令以及第M頁的對應頁位址[Addr Page M]至反及閘快閃記憶體300。因此,反及閘快閃記憶體300輸出第L頁的資料後即可不中斷地繼續輸出第M頁資料。接著,反及閘快閃記憶體300由第M頁開始不中斷地輸出連續位址的多個連續頁的資料直到第N頁。
同理,當反及閘快閃記憶體300由第M頁開始連續輸出至第N頁的資料後,欲控制反及閘快閃記憶體300輸出第O頁的資料時。如第3圖所示,當反及閘快閃記憶體300欲讀出(read out)第N頁資料之前,即輸入先行頁讀取指令以及第O頁的對應頁位址[Addr Page O]至反及閘快閃記憶體300。因此,反及閘快閃記憶體300輸出第N頁的資料後即可不中斷地輸出第O頁資料。接著,反及閘快閃記憶體300由第O頁開始持續地輸出連續頁的資料。
由以上的說明可知,當電子裝置開機後,內部的控制器會讀取並執行反及閘快閃記憶體300內的程式碼。此時,反及閘快閃記憶體300由最小的頁(Page 0)開始自動地輸出一頁的資料,並且持續地輸出連續頁的資料。當控制器欲讀取反及閘快閃記憶體300內不連續頁的資料時,可以執行上述先行頁讀取指令,使得反及閘快閃記憶體300可以不中斷地輸出不連續頁的資料。
由於反及閘快閃記憶體300可根據先行頁讀取指令而不中斷地輸出資料,因此電子裝置的控制器可以以最精簡的指令運行將反及閘快閃記憶體300內的全部資料儲存至電子裝置內的動態隨機存取記憶體(DRAM)後,執行動態隨機存取記憶體內的程式碼。
根據本發明的另一實施例,如果反及閘快閃記憶體不具備自動連續頁輸出的功能。則利用本發明先行頁讀取指令也可以達成不中斷地輸出資料的目的。
請參照第4圖其所繪示為先行頁讀取指令的另一使用時機示意圖。於電源開啟時,反及閘快閃記憶體400由編號最小的第0頁(page 0)開始輸出一頁的資料。由於反及閘快閃記憶體400不具備自動連續頁輸出的功能,因此當反及閘快閃記憶體400欲讀出(read out)第0頁(Page 0)資料之前,即輸入先行頁讀取指令以及次一頁(page 1)的對應頁位址[Addr Page 1]。
同理,當反及閘快閃記憶體400欲讀出(read out)第1頁(Page 1)資料之前,輸入先行頁讀取指令以及次一頁(page 2)的對應頁位址[Addr Page 2]。
換言之,如欲不中斷地輸出連續位址的多個連續頁的資料時,於讀取現在頁(current page)之前,輸入先行頁讀取指令以及次一頁(next page)的對應頁位址。因此,反及閘快閃記憶體400輸出第0頁的資料後即可不中斷地連續輸出至第L頁。
當然,利用相同的方式,也可以進行不相鄰頁的資料讀取。當反及閘快閃記憶體400由第0頁開始連續輸出至第L頁的資料後,欲控制反及閘快閃記憶體400輸出第M頁的資料時。如第4圖所示,當反及閘快閃記憶體400欲讀出(read out)第L頁資料之前,即輸入先行頁讀取指令以及第M頁的對應頁位址[Addr Page M]至反及閘快閃記憶體400。因此,反及閘快閃
記憶體400輸出第L頁的資料後即可不中斷地繼續輸出第M頁資料。
接著,利用相同的方式由反及閘快閃記憶體400不中斷地輸出第M頁至第N頁的連續資料。同理,反及閘快閃記憶體400以可以輸出第N頁的資料後跳至輸出第O頁的資料。因此,也可以達到與第3圖相同的資料輸出順序。
再者,本發明也可以對反及閘快閃記憶體進行儲存規劃,並且利用一個頁讀取指令(Page Read CMD),來使得反及閘快閃記憶體可以不中斷地輸出讀取資料。
根據本發明的實施例,於電源開啟時,反及閘快閃記憶體由編號最小的頁(page 0)開始自動地輸出該頁的資料。再者,在沒有接收到任何讀取指令之前,反及閘快閃記憶體會以頁為單位,自動地且不中斷地輸出連續位址的多個連續頁的資料。
根據本發明的實施例,如欲控制反及閘快閃記憶體輸出不連續頁的資料時,需輸入頁讀取指令(Page Read CMD)。舉例來說,假設控制反及閘快閃記憶體輸出連續頁至第L頁的資料後,接著欲控制輸出不相鄰(不連續)的第M頁資料。在此情況下,於反及閘快閃記憶體輸出第L頁資料之後,再將頁讀取指令以及第M頁的對應頁位址(page address)輸入反及閘快閃記憶體。
然而,由於反及閘快閃記憶體的特性,於輸出第L頁的資料後,才輸入頁讀取指令。因此,反及閘快閃記憶體需要
一段處理時間才能夠輸出第M頁的資料。為了要讓資料不中斷地輸出,反及閘快閃記憶體在輸出第L頁資料之後,先自行輸出一頁的使用者定義的假資料(dummy data)後再輸出第M頁的資料。
請參照第5圖其所繪示為頁讀取指令的使用時機示意圖。於電源開啟時,反及閘快閃記憶體500由編號最小的第0頁(page 0)開始輸出一頁的資料,並且反及閘快閃記憶體500會以頁為單位,持續地輸出連續頁的資料。
當反及閘快閃記憶體500連續輸出至第L頁的資料後,欲控制反及閘快閃記憶體500輸出第M頁的資料時。如第5圖所示,於反及閘快閃記憶體500輸出第L頁資料之後,輸入頁讀取指令以及第M頁的對應頁位址[Addr Page M]至反及閘快閃記憶體500。為了要讓反及閘快閃記憶體500不中斷地輸出資料,反及閘快閃記憶體先自行輸出一頁的假資料D後再輸出第M頁的資料。接著,反及閘快閃記憶體500由第M頁開始持續地輸出連續頁的資料直到第N頁。
同理,當反及閘快閃記憶體500由第M頁開始連續輸出至第N頁的資料後,欲控制反及閘快閃記憶體500輸出第O頁的資料時。如第5圖所示,於反及閘快閃記憶體500輸出第N頁資料之後,即輸入頁讀取指令以及第O頁的對應頁位址[Addr Page O]至反及閘快閃記憶體500。為了要讓資料不中斷地輸出,反及閘快閃記憶體先自行輸出一頁的假資料D後再輸出第O頁的
資料。接著,反及閘快閃記憶體500由第O頁開始持續地輸出連續頁的資料。
由以上的說明可知,當電子裝置開機後,內部的控制器會讀取並執行反及閘快閃記憶體500的程式碼。此時,反及閘快閃記憶體500由最小的頁(Page 0)開始自動地輸出一頁的資料,並且持續地輸出連續頁的資料。當控制器欲讀取反及閘快閃記憶體500內不連續頁的資料時,可以執行上述的頁讀取指令,而反及閘快閃記憶體500會先輸出一頁假資料D後,才輸出不連續頁的資料,並使得反及閘快閃記憶體500可以不中斷地輸出資料。
根據本發明的實施例,假資料D係為使用者定義於反及閘快閃記憶體500暫存器內的資料,該假資料可以讓控制器執行無動作指令(No operation,NOP)。亦即,假資料中係為無動作指令的程式碼。
因此,當電子裝置的控制器收到一頁的無動作指令的程式碼時,控制器僅暫時不執行任何動作,於後續收到不連續頁的資料後,還是可以繼續執行程式。因此,控制器仍可以根據接收到資料中的程式碼來實現原地執行(XIP)的功能。當然,電子裝置的控制器也可以先將反及閘快閃記憶體500內的全部資料儲存至電子裝置內的動態隨機存取記憶體(DRAM)後,再來執行動態隨機存取記憶體內的程式碼。
請參照第6圖其所繪示為頁讀取指令的另一使用時機示意圖。根據本發明的實施例,使用者在不連續頁上編程特定的假資料D,例如無運作(NOP)的程式碼。而反及閘快閃記憶體並不讀取不連續頁上的資料,而是輸出一頁假資料D。如此,即可以單一指令達成資料不中斷地輸出。
如第6圖所示,於電源開啟時,反及閘快閃記憶體600由編號最小的第0頁(page 0)開始輸出一頁的資料,並且反及閘快閃記憶體600會以頁為單位,持續地輸出連續頁的資料。
當反及閘快閃記憶體600連續輸出至第L頁的資料後,欲控制反及閘快閃記憶體600輸出第M頁的資料時。如第6圖所示,當反及閘快閃記憶體600輸出第L頁資料之後,輸入頁讀取指令以及第M頁的對應頁位址[Addr Page M]至反及閘快閃記憶體600。在實際的運作上,由於第M頁為不連續頁,因此將第M頁的內容編程為已知的假資料D,例如無運作(NOP)的程式碼。因此,反及閘快閃記憶體600並不需要真正讀取第M頁上的資料,而是直接由暫存器中輸出一頁假資料D。而在輸出一頁假資料D的過程,反及閘快閃記憶體600已經在準備第(M+1)頁的資料。因此,當第M頁的假資料輸出後,即可不中斷地繼續輸出第(M+1)頁至第N頁的資料。
同理,當反及閘快閃記憶體600連續輸出至第N頁的資料後,欲控制反及閘快閃記憶體600輸出第O頁的資料時。於反及閘快閃記憶體600輸出第L頁資料之後,輸入頁讀取指令
以及第O頁的對應頁位址[Addr Page O]至反及閘快閃記憶體600。由於第O頁為不連續頁,第M頁的內容為已知的假資料D,例如無運作(NOP)的程式碼。因此,反及閘快閃記憶體600並不需要真正讀取第O頁上的資料,而是直接由暫存器中輸出一頁假資料D。而在輸出一頁假資料D的過程,反及閘快閃記憶體600已經在準備第O+1頁的資料了。因此,當第O頁的假資料D輸出後,即可不中斷地繼續輸出第O+1頁的資料。
相同地,當電子裝置的控制器收到一頁的無動作指令的程式碼時,控制器僅暫時不執行任何動作,於後續收到不連續頁的資料後,還是可以繼續執行程式。當然,電子裝置的控制器也可以先將反及閘快閃記憶體600內的全部資料儲存至電子裝置內的動態隨機存取記憶體(DRAM)後,再來執行動態隨機存取記憶體內的程式碼。
根據本發明的另一實施例,如果反及閘快閃記憶體不具備自動連續頁輸出的功能。則利用本發明頁讀取指令(Page Read CMD)也可以達成不中斷地輸出資料的目的,並且可使讀取模式一致化。每次讀取頁時,不管連續或不連續,都必須輸入頁讀取指令以及對應頁位址至反及閘快閃記憶體600。反及閘快閃記憶體600如果發現輸入的位址為非連續時,就輸出假資料D;如果是連續的位址時,就輸出已預先準備好的連續頁的資料。
根據本發明的另一實施例,當連續發出的頁讀取指令(Page Read CMD)對應至連續頁的位址時,反及閘快閃記憶體
600可根據連續位址,持續地輸出連續頁的資料。再者,當頁讀取指令所對應的位址為不連續頁的位址時,反及閘快閃記憶體600則先輸一頁假資料D後,再輸出該不連續頁的資料。如此,達成反及閘快閃記憶體600不中斷地輸出資料的目的。
請參照第7A圖,其所繪示為本發明反及閘快閃記憶體的第一實施例。可運用於本發明第3-6圖中,不中斷地輸出資料的情況。
反及閘快閃記憶體700包括一陣列結構(array structure)710、頁緩衝器(page buffer)720、快取資料栓鎖器(cache data latch)730、介面電路(interfacing circuit)750、錯誤校正電路(簡稱ECC電路)760。
根據本發明的實施例,頁緩衝器720接收由陣列結構710所讀出(read out)的一頁資料。再者,當該頁的資料轉存至快取資料栓鎖器730後,可再由陣列結構710繼續讀出下一頁的資料至頁緩衝器720。再者,ECC電路760會對快取資料栓鎖器730中該頁的資料進行錯誤校正動作。
當介面電路750讀取該快取資料栓鎖器730,並輸出該頁的資料後,下一頁的資料會轉存至該快取資料栓鎖器730。並且,頁緩衝器720接收由陣列結構710所讀出(read out)的下下一頁資料。如此,即可達成不中斷地輸出資料的目的。
請參照第7B圖,其所繪示為第一實施例反及閘快閃記憶體的詳細運作流程示意圖。首先,介面電路750由快取資料
栓鎖器730輸出第L頁前半(Page L byte 0~byte 1023)資料時,ECC電路760對轉存至快取資料栓鎖器730的第L頁後半(Page L byte 1024~byte 2047)資料進行錯誤校正動作。再者,當第L頁後半資料由頁緩衝器720轉存至快取資料栓鎖器730後,會接著由陣列結構710讀出第M頁的資料(Page M byte 0~byte 2047)並儲存於頁緩衝器720。
接著,介面電路750由快取資料栓鎖器730輸出第L頁後半(Page L byt1024 0~byte 2047)資料時,ECC電路760對轉存至快取資料栓鎖器730的第M頁前半(Page M byte 0~byte 1023)資料進行錯誤校正動作。
接著,介面電路750由快取資料栓鎖器730輸出第M頁前半(Page M byte 0~byte 1023)資料時,ECC電路760對轉存至快取資料栓鎖器730的第M頁後半(Page M byte 1024~byte 2047)資料進行錯誤校正動作。再者,當第M頁後半資料由頁緩衝器720轉存至快取資料栓鎖器730後,會接著由陣列結構710讀出第(M+1)頁的資料(Page M+1 byte 0~byte 2047)並儲存於頁緩衝器720。
接著,介面電路750由快取資料栓鎖器730輸出第M頁後半(Page M byt1024 0~byte 2047)資料時,ECC電路760對轉存至快取資料栓鎖器730的第(M+1)頁前半(Page M+1 byte 0~byte 1023)資料進行錯誤校正動作。
如此持續運作,即可確定反及閘快閃記憶體700可以不間斷地輸出資料。
請參照第8A圖,其所繪示為本發明反及閘快閃記憶體的第二實施例。可運用於本發明第3圖與第4圖中,不中斷地輸出資料的情況。相較於第一實施例之反及閘快閃記憶體,第二實施例多了一個靜態隨機存取記憶體(SRAM)840。
如第8A圖所示,反及閘快閃記憶體800包括一陣列結構810、頁緩衝器820、快取資料栓鎖器830、靜態隨機存取記憶體(SRAM)840、介面電路850、錯誤校正電路(簡稱ECC電路)860。
請參照第8B圖,其所繪示為第二實施例反及閘快閃記憶體的詳細運作流程示意圖。首先,介面電路850由靜態隨機存取記憶體(SRAM)840輸出第L頁前半(Page L byte 0~byte 1023)資料時,ECC電路860對轉存至靜態隨機存取記憶體(SRAM)840的第L頁後半(Page L byte 1024~byte 2047)資料進行錯誤校正動作。
當第L頁後半(Page L byte 1024~byte 2047)資料的錯誤校正動作完成後,頁緩衝器820中第M頁的資料會先轉存至快取資料栓鎖器830(如箭頭a所示)。
接著,介面電路850由靜態隨機存取記憶體(SRAM)840輸出第L頁後半(Page L byt1024 0~byte 2047)資料時,ECC電路860對轉存至靜態隨機存取記憶體(SRAM)840
的第M頁前半(Page M byte 0~byte 1023)資料進行錯誤校正動作。同時,陣列結構810讀出第(M+1)頁的資料(Page M+1 byte 0~byte 2047)並儲存於頁緩衝器820(如箭頭b所示)。
接著,介面電路850由靜態隨機存取記憶體(SRAM)840輸出第M頁前半(Page M byte 0~byte 1023)資料時,ECC電路860對轉存至靜態隨機存取記憶體(SRAM)840的第M頁後半(Page L byte 1024~byte 2047)資料進行錯誤校正動作。
當第M頁後半(Page M byte 1024~byte 2047)資料的錯誤校正動作完成後,頁緩衝器820中第(M+1)頁的資料會先轉存至快取資料栓鎖器830(如箭頭c所示)。
接著,介面電路850由靜態隨機存取記憶體(SRAM)840輸出第M頁後半(Page M byt1024 0~byte 2047)資料時,ECC電路860對轉存至快取資料栓鎖器830的第(M+1)頁前半(Page M+1 byte 0~byte 1023)資料進行錯誤校正動作。同時,陣列結構810讀出第M+2頁的資料(Page M+2 byte 0~byte 2047)並儲存於頁緩衝器820(如箭頭d所示)。
如此,即可確定反及閘快閃記憶體800可以不中斷地輸出資料。
再者,本發明以第7A圖與第8A圖的反及閘快閃記憶體為例來說明本發明的讀取方法,但並非用來限定本發明。在
此技術領域的技術人員可以根據上述的內容,以其他架構的反及閘快閃記憶體來實現本發明的讀取方法。
由以上的說明可知,反及閘快閃記憶體在輸出連續頁的資料過程,於接收到先行頁讀取指令以及對應的頁位址信號時,反及閘快閃記憶體會繼續輸出一頁資料後,才輸出頁讀取指令所指定的頁資料。
另外,反及閘快閃記憶體在輸出連續頁的資料過程,於接收到頁讀取指令以及對應的頁位址信號時,當非接續性時,反及閘快閃記憶體會停止輸出連續頁資料,並輸出一頁假資料後,再輸出頁讀取指令所指定的頁資料。
在此領域的技術人員也可以定義頁讀取指令,使得頁讀取指令具有上述二種不同的用途或是借由命令或信號控制來設定反及閘快閃記憶體於不同的操作模式。舉例來說,於頁讀取指令所對應的位址信號中,利用一備用位元(spare bit)作為旗標(flag)。當反及閘快閃記憶體接收到頁讀取指令以及對應的頁位址信號時,反及閘快閃記憶體會檢查位址信號中的旗標來決定後續動作。
當位址信號的旗標被設定時,反及閘快閃記憶體執行上述先行頁讀取指令動作。反之,位址信號的旗標未被設定時,反及閘快閃記憶體執行上述正常的頁讀取指令動作。
因此,本發明之優點係提出一種反及閘快閃記憶體的讀取方法。利用反及閘快閃記憶體搭配本發明的讀取方法,可
以使反及閘快閃記憶體的讀取動作類似於反或閘快閃記憶體。亦即,利用一個讀取指令,可使得反及閘快閃記憶體達成不間斷地輸出讀取資料。由於,可以用成本低廉之串列周邊介面反及閘快閃記憶體來直接取代串列周邊介面反或閘快閃記憶體。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (10)
- 一種讀取方法,應用於與一控制器相連的一反及閘快閃記憶體,該讀取方法包括:該反及閘快閃記憶體準備要被讀出的一次頁資料;該反及閘快閃記憶體自該控制器接收一頁讀取指令及一次頁位址;以及當該次頁位址未接續於一特定頁資料的位址時,該反及閘快閃記憶體根據該頁讀取指令以及該次頁位址來準備該次頁資料。
- 如申請專利範圍第1項所述之讀取方法,其中當該次頁位址接續於該特定頁時,該反及閘快閃記憶體自動地準備該次頁資料。
- 如申請專利範圍第1或第2項所述之讀取方法,其中更包括:當一電源開啟時,由該反及閘快閃記憶體的一第一頁資料開始持續輸出連續的複數個頁資料;於輸出連續的複數頁中一最後頁資料之前,接收到該頁讀取指令及其對應的一第二頁位址時,輸出連續的複數頁中該最後頁資料並準備該第二頁位址所對應的一第二頁資料;以及於輸出連續的複數頁中該最後頁資料後,繼續輸出該第二頁資料。
- 如申請專利範圍第1或第2項所述之讀取方法,其中該頁讀取指令為一先行頁讀取指令。
- 如申請專利範圍第1或第2項所述之讀取方法,其中更包括:當一電源開啟時,由該反及閘快閃記憶體的一第一頁資料開始持續輸出連續的複數個頁資料;於輸出連續的複數頁資料之後,接收到一個頁讀取指令及其對應的第二頁位址時,於準備該第二頁位址所對應的一第二頁資料期間,輸出一假資料;以及於輸出該假資料後,繼續輸出該第二頁資料。
- 如申請專利範圍第1或第2項所述之讀取方法,其中更包括:當一電源開啟時,由該反及閘快閃記憶體的一第一頁資料開始持續輸出連續的複數個頁資料;於輸出連續的複數頁資料之後,接收到一個頁讀取指令及其對應的一第二頁位址時,輸出一假資料並準備一第三頁位址所對應的一第三頁資料,其中該第二頁位址與該第三頁位址為連續位址;以及於輸出該假資料後,繼續輸出該第三頁資料。
- 如申請專利範圍第1或第2項所述之讀取方法,其中更包括:當一電源開啟時;接收到一個頁讀取指令及其對應的一頁位址時,若是輸入的位址是電源開啟后事先讀取的第一頁時,即輸出該資料並準備一下一個接續頁位址所對應的資料,若非第一頁位址時,輸出一假資料並準備一下一個接續頁位址所對應的資料;接收到第二個頁讀取指令及其對應的一頁位址時,若是輸入的位址是前次讀取指令所事先讀取頁時,即輸出該資料並準備一下一個接續頁位址所對應的資料,若非上一次頁讀取時所準備頁資料的位址時,輸出一假資料並準備一下一個接續頁位址所對應的資料;以及於輸出該假資料後,繼續接收到下一個頁讀取指令並以位址來決定輸出的資料。
- 一反及閘快閃記憶體,包括:一陣列結構,準備要被讀出的一次頁資料;以及一介面電路,與一控制器相連,其係自該控制器接收一頁讀取指令及一次頁位址,其中該陣列結構係於該次頁位址未接續於一特定頁資料的位址時,根據該頁讀取指令以及該次頁位址而準備該次頁資料。
- 如申請專利範圍第8項所述之反及閘快閃記憶體,其中當該次頁位址接續於該特定頁時,該陣列結構自動地準備該次頁資料。
- 如申請專利範圍第8項所述之反及閘快閃記憶體,其中該頁讀取指令為一先行頁讀取指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106106716A TWI657450B (zh) | 2017-03-01 | 2017-03-01 | 反及閘快閃記憶體的讀取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106106716A TWI657450B (zh) | 2017-03-01 | 2017-03-01 | 反及閘快閃記憶體的讀取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201833927A TW201833927A (zh) | 2018-09-16 |
TWI657450B true TWI657450B (zh) | 2019-04-21 |
Family
ID=64426426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106106716A TWI657450B (zh) | 2017-03-01 | 2017-03-01 | 反及閘快閃記憶體的讀取方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI657450B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11640308B2 (en) * | 2021-02-19 | 2023-05-02 | Macronix International Co., Ltd. | Serial NAND flash with XiP capability |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130145093A1 (en) * | 2011-12-05 | 2013-06-06 | Winbond Electronics Corp. | Non-volatile semiconductor memory and data reading method thereof |
US20130297987A1 (en) * | 2012-05-04 | 2013-11-07 | Winbond Electronics Corporation | Method and Apparatus for Reading NAND Flash Memory |
US20150098271A1 (en) * | 2013-10-09 | 2015-04-09 | Sandisk Technologies Inc. | System and method of storing data in a data storage device |
US20150193157A1 (en) * | 2012-05-30 | 2015-07-09 | The-Aio Inc. | Method of reading page data of a nand flash memory device |
US9235546B2 (en) * | 2007-10-17 | 2016-01-12 | Micron Technology, Inc. | System and method for data read of a synchronous serial interface NAND |
-
2017
- 2017-03-01 TW TW106106716A patent/TWI657450B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9235546B2 (en) * | 2007-10-17 | 2016-01-12 | Micron Technology, Inc. | System and method for data read of a synchronous serial interface NAND |
US20130145093A1 (en) * | 2011-12-05 | 2013-06-06 | Winbond Electronics Corp. | Non-volatile semiconductor memory and data reading method thereof |
US20130297987A1 (en) * | 2012-05-04 | 2013-11-07 | Winbond Electronics Corporation | Method and Apparatus for Reading NAND Flash Memory |
US20150193157A1 (en) * | 2012-05-30 | 2015-07-09 | The-Aio Inc. | Method of reading page data of a nand flash memory device |
US20150098271A1 (en) * | 2013-10-09 | 2015-04-09 | Sandisk Technologies Inc. | System and method of storing data in a data storage device |
Also Published As
Publication number | Publication date |
---|---|
TW201833927A (zh) | 2018-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7369447B2 (en) | Random cache read | |
US7657696B2 (en) | Method to detect NAND-flash parameters by hardware automatically | |
EP1488323B1 (en) | Memory system with burst length shorter than prefetch length | |
TWI512755B (zh) | 存取記憶體之方法及系統 | |
KR101146059B1 (ko) | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템을 위한데이터 판독/기입 방법 | |
US20130279283A1 (en) | Memory devices and memory controllers | |
CN100456272C (zh) | 利用快闪存储器引导的系统和方法 | |
US9465728B2 (en) | Memory controller adaptable to multiple memory devices | |
JP5043662B2 (ja) | メモリの制御方法、メモリ・システム | |
JP2007109197A (ja) | 半導体集積回路装置およびアドレス変換テーブルの生成方法 | |
CN110678852A (zh) | 控制对缓冲器的存储器操作的设备和方法 | |
US11080218B2 (en) | Interface chip used to select memory chip and storage device including interface chip and memory chip | |
TW201618096A (zh) | 記憶裝置中支援增進式流通量 | |
KR100564598B1 (ko) | 동기식 플래쉬 메모리장치 및 이를 동작시키는 방법 | |
CN108538332B (zh) | 与非门闪存的读取方法 | |
US10338998B2 (en) | Methods for priority writes in an SSD (solid state disk) system and apparatuses using the same | |
TWI657450B (zh) | 反及閘快閃記憶體的讀取方法 | |
US7191295B2 (en) | Sensing word groups in a memory | |
US6560161B1 (en) | Synchronous flash memory command sequence | |
KR100831491B1 (ko) | 어드레스 디코드 | |
JP4455593B2 (ja) | データプロセッサ | |
TWI701553B (zh) | 反及閘快閃記憶體的讀取方法 | |
US20130021858A1 (en) | Process Variability Tolerant Programmable Memory Controller for a Pipelined Memory System | |
CN114253464B (zh) | 控制读取请求的方法和具有主机装置的存储器控制器 | |
US11704258B2 (en) | Latency reduction in SPI flash memory devices |