TWI501249B - 晶片上之反及閘快閃記憶體及其損壞區塊管理方法 - Google Patents

晶片上之反及閘快閃記憶體及其損壞區塊管理方法 Download PDF

Info

Publication number
TWI501249B
TWI501249B TW101142414A TW101142414A TWI501249B TW I501249 B TWI501249 B TW I501249B TW 101142414 A TW101142414 A TW 101142414A TW 101142414 A TW101142414 A TW 101142414A TW I501249 B TWI501249 B TW I501249B
Authority
TW
Taiwan
Prior art keywords
data
register
page
temporary storage
address
Prior art date
Application number
TW101142414A
Other languages
English (en)
Other versions
TW201419295A (zh
Inventor
Oron Michael
Robin John Jigour
Anil Gupta
Original Assignee
Winbond Electronics Corp
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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Priority to TW101142414A priority Critical patent/TWI501249B/zh
Publication of TW201419295A publication Critical patent/TW201419295A/zh
Application granted granted Critical
Publication of TWI501249B publication Critical patent/TWI501249B/zh

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

晶片上之反及閘快閃記憶體及其損壞區塊管理方法
本發明是有關於數位記憶體裝置,且特別是有關於晶片上之反及閘快閃記憶體(NAND flash memory)及其損壞區塊管理方法。
由於在成本上顯著的優勢,反及閘快閃記憶體逐漸地成為市場的主流。此外,反及閘快閃記憶體可適用於包括傳統的反及閘介面至精簡腳位(low pin count)串列周邊介面(Serial Peripheral Interfaces,SPI)等多種不同種類的介面。
反及閘快閃記憶體架構將記憶體陣列組織為多個區塊(block),且每一區塊具有數個頁面(page)。標準的頁面長度包括有512位元組(bytes)、2048位元組以及4096位元組。在每一頁面中的數個額外的位元組(通常為16/64/128位元組)可用以儲存錯誤校正碼(error correcting code checksum,ECC)檢查總和(checksum)以及有時可用以儲存檔案資料(metadata)。
損壞區塊管理通常執行於反及閘快閃記憶體上。這樣的記憶體易受損壞區塊狀態的影響,損壞區塊狀態包括區塊在製造時具有失效的記憶胞,以及由於重複使用而使記憶包退化所造成之失效的記憶胞。損壞區塊管理通常係藉由在主機端操作系統的裝置驅動器軟體或者獨立的專用控 制器晶片來執行。當高階軟體存取損壞的邏輯區塊時,裝置驅動器或控制器會利用損壞區塊映射表而將損壞的邏輯區塊映射至良好的物理區塊,所述之損壞區塊映射表一般稱之為查詢表(look-up table,LUT)。查詢表的功能是收集未映射的物理區塊位址為損壞區壞的邏輯區塊位址(logical block address,LBA)與映射為良好區塊的物理區塊位址(physical block address,PBA)之間連結的集合。
查詢表的使用對於標準的反及閘快閃記憶體裝置的一些常用指令是有效的,例如讀取頁面的指令。而一些指令則是可藉由限制指令在特定的區塊內依序讀取而在相容於查詢表的使用之情況下完成,例如串列讀取指令。
本發明一實施例為一種存取反及閘快閃記憶體陣列的方法。反及閘快閃記憶體陣列具有使用者可定址區域,且反及閘快閃記憶體陣列實現於晶片上。晶片用以讀取、程式化以及抹除部分的反及閘快閃記憶體陣列。所述之存取反及閘快閃記憶體陣列的方法包括:辨識用以存取反及閘快閃記憶體陣列的邏輯區塊位址,邏輯區塊位址被完整的用於抹除存取,並且邏輯區塊位址輔以頁面位址部分被用於讀取存取以及程式化存取;在具有反及閘快閃記憶體陣列的晶片上的使用者可定址區域中獲取邏輯區塊位址至取代區塊的物理區塊位址的映射;以及利用取代區塊的物理區塊位址存取反及閘快閃記憶體陣列。
本發明另一實施例為一種在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中反及閘快閃記憶晶片具有反及閘快閃記憶體陣列以及頁面緩衝器。頁面緩衝器包括資料暫存器以及快取暫存器。所述之在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法包括:在具有反及閘快閃記憶體陣列的晶片上維持查詢表暫存器,查詢表暫存器儲存至少一個邏輯損壞區塊位址以及對應於所述邏輯損壞區塊位址的至少一個物理取代區塊位址;從快取暫存器中的多個快取暫存部分無縫且連續地輸出資料,資料暫存器被組織為對應於快取暫存器的所述多個快取暫存部分的多個資料暫存部分;建立用以存取反及閘快閃記憶體陣列的邏輯頁面位址,邏輯頁面位址包括邏輯區塊位址部分;在查詢表暫存器的所述邏輯損壞區塊位址中搜尋所述邏輯損壞區塊位址的其中之一與邏輯區塊位址部分之間是否符合;當從所述多個快取暫存部分中的第一快取暫存部分輸出資料時,從快取暫存器中的對應部分轉移資料至第二快取暫存部分,第二快取暫存部分不同於第一快取暫存部分;在第一快取暫存部分輸出資料且轉移資料至第二快取暫存部分的步驟後,在第二快取暫存部分上進行錯誤校正碼計算;在第一快取暫存部分輸出資料且轉移資料至第二快取暫存部分的步驟後,當搜尋的步驟中所述邏輯損壞區塊位址與邏輯區塊位址部分皆不符合時,利用邏輯頁面位址從反及閘快閃記憶體陣列中將資料頁面讀入資料暫存器,以及當搜尋的步驟中所述邏輯損壞區塊位址的其中之 一與邏輯區位址部分符合時,利用所述物理取代區塊位址的其中之一將資料頁面讀入資料暫存器,其中所述物理取代區塊位址的所述其中之一對應於符合邏輯區塊位址部分的所述邏輯損壞區塊位址的所述其中之一;以及當從第二快取暫存部分輸出資料時,從資料暫存器的對應部分轉移資料至除了第二快取暫存部分的其餘所述多個快取暫存部分的其中之一,並且對其餘所述多個快取暫存部分的所述其中之一進行該錯誤校正碼計算。
本發明另一實施例為一種在反及閘快閃記憶晶片上進行頁面讀取操作的方法,其中反及閘快閃記憶晶片具有反及閘快閃記憶體陣列以及頁面緩衝器。頁面緩衝器包括資料暫存器以及快取暫存器。所述之在反及閘快閃記憶晶片上進行頁面讀取操作的方法包括:在具有反及閘快閃記憶體陣列的晶片上維持查詢表暫存器,查詢表暫存器儲存至少一個邏輯損壞區塊位址以及對應於所述邏輯損壞區塊位址的至少一個物理取代區塊位址;建立用以存取反及閘快閃記憶體陣列的邏輯頁面位址,邏輯頁面位址包括邏輯區塊位址部分;在查詢表暫存器的所述邏輯損壞區塊位址中搜尋所述邏輯損壞區塊位址的其中之一與邏輯區塊位址部分之間是否符合;利用所述物理取代區塊位址的其中之一從反及閘快閃記憶體陣列中將資料頁面讀入資料暫存器,其中所述物理取代區塊位址的所述其中之一對應於符合邏輯區塊位址部分的所述邏輯損壞區塊位址的所述其中之一;以及在頁面緩衝器上進行錯誤校正碼計算。
本發明另一實施例為一種在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中反及閘快閃記憶晶片具有反及閘快閃記憶體陣列以及頁面緩衝器。所述之在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法包括:在具有反及閘快閃記憶體陣列的晶片上維持查詢表暫存器,查詢表暫存器儲存至少一個邏輯損壞區塊位址以及對應於所述邏輯損壞區塊位址的至少一個物理取代區塊位址;建立用以存取反及閘快閃記憶體陣列的邏輯頁面位址,邏輯頁面位址包括邏輯區塊位址部分;在查詢表暫存器的所述邏輯損壞區塊位址中搜尋所述邏輯損壞區塊位址的其中之一與邏輯區塊位址部分之間是否符合;當搜尋的步驟中所述邏輯損壞區塊位址與邏輯區塊位址部分皆不符合時,利用邏輯頁面位址從反及閘快閃記憶體陣列中將資料頁面讀入資料暫存器,以及當搜尋的步驟中所述邏輯損壞區塊位址的其中之一與邏輯區位址部分符合時,利用所述物理取代區塊位址的其中之一將資料頁面讀入資料暫存器,其中所述物理取代區塊位址的所述其中之一對應於符合邏輯區塊位址部分的所述邏輯損壞區塊位址的所述其中之一;對頁面緩衝器中的資料頁面進行錯誤校正碼計算;以及當錯誤校正碼計算指示無法校正頁面讀取錯誤時,若在搜尋的步驟中所述邏輯損壞區塊位址與邏輯區塊位址部分皆不符合,利用邏輯頁面位址更新連續頁面讀取損壞區塊位址暫存器,以及若在搜尋的步驟中所述邏輯損壞區塊位址的其中之一與該邏輯區位址部分符合,利用所述物理 取代區塊位址的其中之一更新該連續頁面讀取損壞區塊位址暫存器,其中所述物理取代區塊位址的所述其中之一對應於符合邏輯區塊位址部分的所述邏輯損壞區塊位址的所述其中之一。
本發明另一實施例為一種反及閘快閃記憶晶片,包括反及閘快閃記憶體陣列、列解碼器、頁面緩衝器、行解碼器、輸入/輸出控制器、狀態暫存器、連續頁面讀取損壞區塊位址暫存器、指令暫存器、位址暫存器、查詢表暫存器、控制邏輯電路。列解碼器耦接反及閘快閃記憶體陣列。頁面緩衝器耦接反及閘快閃記憶體陣列。行解碼器耦接頁面緩衝器。輸入/輸出控制器耦接行解碼器。狀態暫存器耦接輸入/輸出控制器。連續頁面讀取損壞區塊位址暫存器耦接輸入/輸出控制器。指令暫存器耦接輸入/輸出控制器。位址暫存器耦接輸入/輸出控制器。查詢表暫存器耦接輸入/輸出控制器。控制邏輯電路耦接列解碼器、行解碼器、頁面緩衝器、狀態暫存器、連續頁面讀取損壞區塊位址暫存器、指令暫存器、位址暫存器以及查詢表暫存器。
本發明另一實施例為一種用於反及閘快閃記憶體陣列的損壞區塊管理的方法,反及閘快閃記憶體陣列實現於晶片上。所述之用於反及閘快閃記憶體陣列的損壞區塊管理的方法包括:在具有反及閘快閃記憶體陣列的晶片上維持查詢表暫存器;於利用第一損壞區塊的邏輯區塊位址存取反及閘快閃記憶體陣列的使用者存取期間,偵測第一損壞區塊;以及存取晶片上的查詢表暫存器以將第一損壞區 塊的邏輯區塊位址至第一取代區塊的物理區塊位址的映射儲存至反及閘快閃記憶體陣列。
本發明另一實施例為一種存取反及閘快閃記憶體陣列的方法。反及閘快閃記憶體陣列實現於晶片上。晶片用以讀取、程式化以及抹除部分的反及閘快閃記憶體陣列。所述之存取反及閘快閃記憶體陣列的方法包括:辨識用以存取反及閘快閃記憶體陣列的邏輯區塊位址,邏輯區塊位址被完整的用於抹除存取,並且邏輯區塊位址輔以頁面位址部分被用於讀取存取以及程式化存取;從具有反及閘快閃記憶體陣列的晶片上的查詢表獲取邏輯區塊位址至對應的取代區塊的物理區塊位址的映射,當反及閘快閃記憶體陣列為在標準讀取、程式化以及抹除操作的服務中時,查詢表可被使用者所存取,其中查詢表用以儲存損壞區塊的邏輯區塊位址至取代區塊的物理區塊位址的映射;以及利用對應的取代區塊的物理區塊位址存取反及閘快閃記憶體陣列。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在軟體或硬體中,使用主控裝置或外部控制器來實現損壞區塊查詢表,可能會使得軟體開發及硬體花費上的負擔增加。然而,關聯於查詢表的創作及使用之特定功能可在記憶體裝置本身的晶片上(on chip)實現,亦即在相同晶 片的額外電路上,或者甚至在記憶體裝置的指令與控制邏輯內來實現查詢表的功能,藉以降低負擔。更進一步地說,在晶片上實現查詢表的功能可使得查詢表的功能與其他指令與控制邏輯的功能緊密地整合,藉以使反及閘快閃記憶體能夠利用例如連續頁面讀取指令及其變化等功能性更強的新指令。
圖1為反及閘快閃記憶體裝置20的功能方塊示意圖。所述之反及閘快閃記憶體裝置20包括反及閘快閃陣列40以及相關的頁面緩衝器38。反及閘快閃陣列40包括字元線(行(column))以及位元線(列(row)),並且係由使用者可定址區域42、冗餘區塊區域44以及查詢表資訊區塊46所組成。反及閘快閃記憶體裝置20可包括其他不同的電路以支援記憶體程式化、抹除以及讀取,例如列解碼器34、行解碼器36、輸入輸出控制22、一或多個狀態暫存器23、一或多個連續頁面讀取(continuous page read,CPR)位址暫存器24、指令暫存器25、位址暫存器26、查詢表暫存器27、控制邏輯30、CPR損壞區塊邏輯31、CPR損壞區塊暫存器32以及高電壓產生器33。列解碼器34可根據使用者控制(或可根據反及閘快閃記憶體裝置20的內部控制)而選擇使用者可定址區域42的行,並且根據反及閘快閃記憶體裝置20的內部控制而選擇冗餘區塊區域44以及查詢表資訊區塊46的行。所述之反及閘快閃記憶體裝置20可以任何所需的形式加以封裝,並且可以具有包括傳統反及閘快閃記憶體裝置介面等的任何類型之介面,圖1之控制 邏輯30係範例性地以包括多輸入輸出SPI介面之SPI與QPI協定來實現。關於QPI和SPI介面以及與記憶體陣列相關的電路的額外細節可參見2009年7月7日頒與Jigour等人的第7,558,900號美國專利,和2011年1月13日中華民國臺灣新竹市華邦電子股份有限公司的公開案W25Q64DW:“SpiFlash1.8V 64M-Bit Serial Flash Memory with Dual/Quad SPI& QPI”初步修正案C,以上專利以全文引用方式併入本文。
頁面緩衝器38範例性地包括一頁面資料暫存器(未繪示)、一頁面快取暫存器(未繪示)以及用以從資料暫存器複製資料至快取暫存器的一頁面傳輸閘。本發明並不限制資料暫存器與快取暫存器中閂鎖器之型式,範例性的閂鎖器可利用背對背(back-to-back)連接的反相器來實現。本發明並不限制傳輸閘之形式;在本實施例中,所述之傳輸閘係以CMOS傳輸閘來實現。本發明並不限制資料暫存器與快取暫存器所需之數量,舉例來說,可依據傳輸閘之走線連接以及控制資料傳輸的操作而決定所需之數量。舉例來說,資料暫存器與快取暫存器可分別由各自的部分所組成,並且分別利用受控於對應的控制線之傳輸閘群組而交替操作。頁面緩衝器38可藉由施加相同控制信號至各自的傳輸閘控制線的傳統方式來操作資料暫存器與快取暫存器,或者藉由施加合適時序的控制信號至傳輸閘控制線的交替操作方式來操作資料暫存器與快取暫存器。在此係範例性地以兩部分實現一個頁面,且一個頁面可為2K位元 組,傳輸閘的半頁面(1K)可受控於一條控制線,而傳輸閘的另一半頁面(1K)可受控於另一條控制線,從而將資料暫存器與快取暫存器整理為兩個半頁面部分。由於所述之兩部分操作為交替操作,以兩部分實現之頁面緩衝器38可視為”乒乓”緩衝器(ping pong buffer)。ECC電路可用以在快取暫存器的內容上進行ECC計算。關於頁面緩衝器38、ECC電路以及頁面緩衝器38與ECC電路的操作之額外細節可參見2012年5月4日由Gupta等人所申請的第13/464,535號美國專利(“Method and Apparatus for Reading NAND Flash Memory”),以上專利以全文引用方式併入本文。所述之將資料暫存器與快取暫存器整理成多個部分並且在各個部分進行ECC的方式為一範例性的實施方式,其他技術亦可根據需求而使用。
雖然反及閘快閃記憶體裝置20係為進行包括連續頁面讀取操作以及在單平面反及閘架構的晶片上錯誤校正等多種讀取操作而組成及運作,但所述架構僅為範例,所述架構之相關變化亦不脫離本發明之範圍。在本實施例中,全文的頁面容量係以2KB為例,但本發明並不限定所述頁面及區塊之容量。雖然在此為描述清楚係基於單平面架構來說明,但本揭露也同樣適用於多平面架構。
圖1亦繪示用於SPI介面的控制信號CS/、CLK、DI、DO、WP/、HOLD/。標準SPI快閃介面提供控制信號CS/(晶片選擇-反向)、CLK(時脈)、DI(串列資料-輸入)和DO(串列資料-輸出),以及可選擇的信號WP/(寫入保護-互補)和 HOLD/(保持-互補)。雖然標準SPI介面中的1位元串列資料匯流排提供簡單介面,但其讀取流通量仍受限。因此為增加讀取流通量,多位元SPI介面則進一步支援雙重流量(2位元介面)和/或四重流量(4位元介面)。圖1亦繪示透過選擇性地重新定義四個接腳的功能而用於雙重流量SPI和四重流量SPI操作的額外資料匯流排信號,例如I/O(0)、I/O(1)、I/O(2)以及I/O(3)。在四重流量SPI讀取操作中,可透過I/O(0)用1位元標準SPI介面給出適當的讀取指令,但用於位址和資料輸出的後續介面是基於四重流量的介面(例如4位元資料匯流排)。在四重流量SPI的另一版本中,可透過I/O(0)用1位元標準SPI介面給予讀取指令和位址,但用於資料輸出的後續介面是基於四重流量的介面(例如4位元資料匯流排)。在提供位址與讀出資料之間可使用任選的虛擬時脈循環。與在標準SPI讀取操作中輸出1位元資料相比,四重流量SPI讀取操作可在一時脈循環中輸出4位元資料,且因此四重流量SPI讀取操作可提供四倍高的讀取流通量。雖然本文使用四重流量SPI讀取操作進行解釋,但也同樣適用於其他操作模式,例如標準SPI、雙重流量SPI、四重流量週邊介面(Quad Peripheral Interface,QPI)和雙倍轉移速率(Double Transfer Rate,DTR)讀取模式。在QPI協定中,完整的介面(指令、位址和資料輸出)是基於4位而完成。在DTR協定中,在下降和上升CLK邊緣上提供輸出資料,而非如同單倍轉移速率(Single Transfer Rate,STR)讀取模式操作中那樣僅在 下降CLK邊緣上提供輸出資料。
損壞區塊管理
圖2為反及閘快閃記憶體陣列130的組織架構及關聯於反及閘快閃記憶體陣列130的查詢表120的示意圖。反及閘快閃記憶體陣列130包含三個區域,使用者可定址區域、冗餘區塊區域以及查詢表資訊區域。查詢表120包含從邏輯區塊位址至物理區塊位址的映射,所述之映射係用於損壞區塊管理。以圖2為例,利用在反及閘快閃記憶體陣列130的冗餘區塊區域中的區塊來取代於製造處理期間所發現之損壞區塊的數量,亦即區塊56(未繪示)係藉由冗餘區塊區域的區塊0所取代,區塊214(未繪示)係藉由冗餘區塊區域的區塊1所取代,區塊215(未繪示)係藉由冗餘區塊區域的區塊2所取代,區塊642(未繪示)係藉由冗餘區塊區域的區塊3所取代,以及區塊792(未繪示)係藉由冗餘區塊區域的區塊4所取代。如製造商所提供,因此,記憶體具有一個未使用的冗餘區塊5,並且包含一個完整之可定址記憶體的1024個區塊。
雖然在圖2中並未繪示,但製造商可能會用掉冗餘區塊區域中的所有區塊來取代損壞區塊,並且甚至用掉使用者可定址區域中的部分區塊來取代損壞區塊。在此所述之技術即可應用於此一情況。
請再次參照圖2,假設當記憶體在使用中,區塊1失效,其次區塊5,然後區塊7。失效的區塊被映射至反及閘快閃記憶體陣列130中的良好區塊,以使裝置能夠持續使 用。舉例而言,損壞區塊首先被映射至冗餘區塊區域中的未使用區塊,接著才被映射至使用者可定址區域中的可使用區塊。先映射至冗餘區塊區域可盡量地延長維持完整的使用者可定址記憶體負載的時間,然而任何所需之映射架構皆可使用於此。如圖2所示,損壞區塊1首先被映射至冗餘區塊5,接著損壞區塊5被映射至使用者可定址區域中的區塊1023,而損壞區塊被映射至使用者可定址區塊中的區塊1022時,損壞區塊1被映射至冗餘區塊5。
本發明之查詢表120可被建構於查詢表暫存器27,並可直接地存取控制邏輯30以及映射邏輯28。查詢表暫存器27可利用小且快速的揮發性記憶體來實現,例如靜態隨機存取記憶體(SRAM)其容量係基於查詢表延遲與可被分配至取代區塊之損壞區塊數量的折衷考量而設計選擇。舉例而言,查詢表暫存器27可設計為用以儲存20個損壞區塊的邏輯區塊位址與20個相關之取代區塊的物理區塊位址。查詢表暫存器27可在晶片啟動(power-up)或重置時填入從反及閘快閃記憶體陣列130的查詢表資訊區塊所讀取的邏輯區塊位址與物理區塊位址資料。其中,使用者可定址區域的損壞區塊皆會被標記,例如在第一頁面的備用區域之具有非FFh資料的第一位元,區塊可被讀取以確認查詢表120中的邏輯區塊位址清單的正確性。
雖然查詢表暫存器27繪示為單一暫存器,但其可藉由任何所需的方式來實現。在一實施例中,查詢表暫存器可利用兩個單獨的部分來實現,其中之一部分為使用者可 存取的部分,且該部分可包含關聯於使用者可定址區域的映射資訊,但不包含關聯於冗餘區塊區域的映射資訊,而其中之另一部分則為可藉由反及閘快閃記憶體而為內部所使用的部分,且該部分可包含關聯於冗餘區塊區域的映射資訊。
圖3為初始化查詢表的一實施方法的步驟流程圖,其中圖3繪示用以在晶片啟動或重置時建構查詢表的初始化程序200的一實施例。提供查詢表資訊區塊的位址供內部使用(步驟202)並且用以從查詢表資訊區塊讀取查詢表資訊至查詢表暫存器以建立查詢表(步驟204)。
將所述之方法應用於圖2實施例時,初始序列可能會導致查詢表具有邏輯區塊位址索引的區塊56、區塊214、區塊215、區塊642以及區塊792,以及對應於物理區塊位址的RBA區塊0、RBA區塊1、RBA區塊2、RBA區塊3,以及RBA區塊4(表示為由左至右的向下交錯排列)。此係因為在本實施例中,製造商標示區塊56、214、215、642以及792為損壞區塊,並且映射所述之損壞區塊至冗餘區塊區域的區塊0、1、2、3以及4,並且將所述之映射的資訊放置於查詢表資訊區塊46中。
圖4、圖5以及圖6繪示三種範例指令的範例處理方式,分別為頁面讀取指令、快速連續頁面模式指令以及可定址連續頁面模式指令。所述之讀取指令的類型可同時(但非必需同時)實現於一特定的反及閘快閃記憶體裝置中。頁面讀取指令以其頁面位址欄位中所指定的位址讀取記憶體 中的一個頁面。快速連續頁面讀取指令可接續於頁面讀取指令之後,並且從所述之指定的位址開始連續地讀取記憶體的頁面。快速連續頁面讀取指令並未包含位址欄位。可定址連續頁面讀取指令從所述之指定的位址開始連續地讀取記憶體的頁面。
如圖4所示,當接收到頁面讀取指令時,頁面讀取指令中所指定的頁面位址被儲存於位址暫存器26(步驟302)。頁面讀取處理接續地進行取代區塊處理,其中取代區塊處理係涉及在查詢表暫存器27中的搜尋,藉以判斷位址暫存器26中的區塊位址部分的位址是否符合查詢表暫存器27中的任何邏輯區塊位址(步驟304)。由於查詢表暫存器27可為在晶片上之小且快速的SRAM,因此其可利用控制邏輯30進行本地存取,故所述之搜尋的動作可在不顯著影響讀取時間的情況下快速地進行。若未發現符合的搜尋結果時(步驟304-否),邏輯區塊位址可被用以將頁面讀入至頁面緩衝器38(步驟308)。若發現符合的搜尋結果時(步驟304-是),需取代的損壞區塊將被指示出,並且利用取代區塊的物理區塊位址取代位址暫存器26中的邏輯區塊位址以讀取所需的頁面(步驟S306)。當所需的資料頁面被讀入頁面緩衝器38時(步驟308),在所述之資料上進行錯誤校正程序,並且適當地在一或多個狀態暫存器中設定據以產生之ECC位元(步驟310)。接著,輸出所述之頁面(步驟312)並且繼續進行處理314。
圖5為利用損壞區塊映射的連續頁面讀取操作的步驟 流程圖,其中圖5繪示基本的連續頁面讀取操作320,所述之連續頁面讀取操作320可相容於損壞區塊映射並且包含損壞區塊管理。所述之處理係於建立適當的初始條件(步驟322)後重複地進行,其中所述之適當的初始條件係根據基本連續頁面讀取操作320的應用而定。當反及閘快閃記憶體裝置具有合適的初始條件時,連續頁面讀取操作320實質上可藉由如圖示所繪示之方式來使用。在此係以在連續頁面讀取操作320中依循先前操作的方式來產生合適的初始條件,然而合適的初始條件亦可藉由其他多種不同的方法而產生。所述之先前操作例如為指令的執行,由於除了快速連續頁面讀取指令的解碼外,執行的動作可在不具任何延遲的情況下開始,故在此情況下所述之指令執行的操作可被視為快速連續頁面讀取(fast continuous page read,FCPR)。舉例來說,當圖4的頁面讀取指令終止而不輸出頁面資料時,其可被用以建立所述之初始條件(步驟312)。此一步驟在位址暫存器中留下了初始位址(所述之處理方法320亦可被修改為可容許初始位址以外的位址),而使ECC處理頁面緩衝器中的資料以作為初始條件(步驟322)。
接著,進行三個大致同時進行的操作,即以頁面緩衝器的第一部分作為輸出(步驟330)、在頁面緩衝器的第二部分進行ECC計算(步驟332)以及利用合適的查詢表程序將下一資料頁面讀入頁面緩衝器(步驟334),所述之查詢表程序例如為圖4的步驟304與306等用於損壞區塊的處理程 序。所述之下一資料頁面可藉由以晶片上的位址計數器29(圖1)遞增位址暫存器26中的位址來存取,並且接著利用例如為圖4所繪示之取代區塊處理之方式來進行取代區塊處理(參照步驟304與306)。為了避免電路過於複雜,取代區塊處理僅需在存取第一頁面及每一操作步驟的邊界時進行,進而在不損及每一頁面存取的情況下進行取代區塊處理。雖然於頁面讀取後之接續的連續讀取時,在第一次重複進行的情況下,於頁面緩衝器的第二部分上進行ECC計算(步驟332)係為多餘的步驟,但其仍不會損及所述之處理方法。若有需要,可將連續頁面讀取操作修正為在第一次重複進行連續頁面讀取操作的期間繞過(bypass)在頁面緩衝器的第二部分上進行ECC計算的步驟(步驟332)。
接著,進行兩個大致同時進行的操作,即輸出頁面緩衝器的第二部分(步驟340)以及在頁面緩衝器的第一部分上進行ECC計算(步驟342)。由於完整資料頁面已被輸出且在狀態暫存器23中的ECC位元已被設定,故可進行初步的損壞區塊評估(步驟350)。值得注意的是,此時並非必須完成頁面的讀取,若有需要亦可在先前之步驟334的操作中,以完成部分的頁面讀取的操作來取代原先完成完整的頁面讀取的操作,並且部分頁面的讀取可和從頁面緩衝器的第二部分輸出的動作(步驟340)及在頁面緩衝器的第一部分上進行ECC計算的動作(步驟342)為大致同時進行的操作。
接續的連續頁面可藉由重複執行自步驟330、332及 334開始的步驟而被讀取並輸出。連續讀取將持續地被進行直到被任何所需的方式終止,例如藉由終止時脈及晶片的選擇信號。
初步的損壞區塊評估(步驟350)可藉由以下之實施方式來進行。所述之評估可藉由CPR損壞區塊邏輯31、CPR損壞區塊暫存器32及狀態暫存器23中的ECC位元來進行。在此係以使用兩個ECC位元來表示無連續頁面讀取錯誤(00)、一或多個可校正的錯誤(01)、一個無法校正的連續頁面讀取錯誤(10)以及大於一個無法校正的連續頁面讀取錯誤(11),然而其他的習知表示方式亦可適用於此。任何可維持所需的資訊之合適類型與容量的暫存器皆可為所述之CPR損壞區塊暫存器32,例如可持續追蹤無連續頁面讀取錯誤(00)、一或多個可校正的錯誤(01)、一個無法校正的連續頁面讀取錯誤(10)以及大於一個無法校正的連續頁面讀取錯誤(11)的兩位元暫存器。當在頁面緩衝器38中的完整資料頁面上所進行之ECC計算完成時,錯誤校正電路(未繪示)會將計算結果寫入至狀態暫存器23的ECC位元,所述之計算結果可能為無錯誤(00),可校正的錯誤(01)或是無法校正的錯誤(10)。CPR損壞區塊邏輯31檢查狀態暫存器23中的ECC位元,適當地調整CPR損壞區塊暫存器32中的數值,並且若是ECC位元指示為一個無法校正的錯誤(10)時,CPR損壞區塊邏輯31將頁面位址寫入CPR位址暫存器24。CPR損壞區塊邏輯31接著依據CPR損壞區塊暫存器32的數值而將適當數值寫入狀態暫存器23的 ECC位元,並藉由錯誤校正電路覆蓋原先寫入狀態暫存器23的ECC位元的數值。CPR損壞區塊暫存器32可為可由使用者所讀取或者不可由使用者所讀取。若連續頁面讀取操作320在此時被終止,則使用者可讀取狀態暫存器23以了解是否發生無連續頁面讀取錯誤(00)、一個或多個可校正的連續頁面讀取錯誤(01)、一個無法校正的連續頁面讀取錯誤(10)或者大於一個無法校正的連續頁面讀取錯誤(11),並且使用者亦可讀取CPR位址暫存器24以初步地辨識損壞區塊。若是CPR位址暫存器24的容量僅足以保留一個區塊位址時,CPR位址暫存器24將覆蓋先前的任一區塊位址並且包含最後一個初步辨識的損壞區塊。若是CPR位址暫存器24的容量足以保留多個區塊位址時,CPR位址暫存器24可在不覆蓋先前區塊位址的情況下加入小於暫存器的容量之新的損壞區塊。
相容於損壞區塊映射及包含損壞區塊管理的可定址連續頁面讀取(addressable continuous page read,ACPR)操作360如圖6所示。圖5的連續頁面讀取操作320可併入所述之ACPR操作360,並且所述之ACPR操作360係於建立適當的初始條件後重複地進行。在可定址連續頁面讀取的範例中,所述之初始條件包含指令所提供的初始位址。所述之初始位址被儲存於位址暫存器26(步驟362),並且利用適當的查詢表程序將資料頁面讀入頁面緩衝器(步驟364),所述之查詢表程序例如為圖4的步驟304與306等用於損壞區塊的處理程序。接著,在頁面緩衝器的 第一部分上進行ECC計算(步驟366)。此後,處理程序以如圖式所示,藉由重複執行步驟370、372、374、380、382以及390的方式而持續進行,其中所述之步驟370、372、374、380、382以及390可對應至圖5的步驟330、332、334、340、342以及350。
圖7繪示為程式化處理的範例。首先,接收頁面程式化指令400。頁面程式化指令包含頁面位址欄位,其中欲程式化的頁面位址可從頁面位址欄位獲得並且所述之欲程式化的頁面位址可放置於位址暫存器26中。接著,程式化處理藉由搜尋查詢表暫存器27以判斷位址暫存器26中的位址是否符合查詢表暫存器27中的任何邏輯區塊位址(步驟410)。由於查詢表暫存器27可為快速的SRAM,亦即控制邏輯30可進行本地存取,故所述之搜尋的操作可在不顯著影響程式化時間的情況下快速地進行。若未發現符合的搜尋結果時(步驟410-否),利用邏輯區塊位址程式化記憶體的頁面(步驟430)。若發現符合的搜尋結果時(步驟410-是),損壞區塊將被指示出,並且利用取代區塊的物理區塊位址來取代位址暫存器26中的邏輯區塊位址(步驟420),藉以程式化所需的頁面(步驟430)。一旦獲得正確的頁面位址,實際頁面程式化處理(步驟430)及用於檢查程式化錯誤的處理(步驟440)將可藉由任何所需的方式來進行。以一個可行的程式化驗證操作技術為例,其一般可在狀態暫存器中設定通過/失效位元(pass/fail bit)。在檢查程式化錯誤之後,所述之程式化驗證操作可依據需求進行損 壞區塊管理(步驟450)(參照圖9)。一旦任何方式的損壞區塊管理操作完成後,其餘的記憶體操作將繼續進行處理460。
圖8繪示為抹除處理的範例。首先,接收區塊抹除指令500。區塊抹除指令包含區塊位址欄位,其中欲抹除的區塊位址可從區塊位址欄位獲得並且所述之欲抹除的區塊位址可放置於位址暫存器26中。接著,區塊抹除處理藉由搜尋查詢表暫存器27以判斷位址暫存器26中的位址是否符合查詢表暫存器27中的任何邏輯區塊位址(步驟510)。由於查詢表暫存器27可為快速的SRAM,亦即控制邏輯30可進行本地存取,故所述之搜尋的操作可在不顯著影響抹除時間的情況下快速地進行。若未發現符合的搜尋結果時(步驟510-否),邏輯區塊位址可被用於抹除區塊(步驟530)。若發現符合的搜尋結果時(步驟510-是),損壞區塊將被指示出,並且利用取代區塊的物理區塊位址來取代位址暫存器26中的邏輯區塊位址(步驟520),藉以抹除區塊(步驟530)。一旦獲得正確的區塊位址,實際區塊抹除處理(步驟530)及用於檢查區塊抹除錯誤的處理(步驟540)將藉由任何所需的方式來進行。以一個可行的抹除驗證操作技術為例,其一般可在狀態暫存器中設定通過/失效位元。在檢查抹除錯誤之後,所述之程式化驗證操作可依據需求進行損壞區塊管理(步驟550)(參照圖9)。一旦任何方式的損壞區塊管理操作完成後,其餘的記憶體操作將繼續進行處理560。
圖9繪示為損壞區塊管理之範例,其可利用多種不同的方式來進行,舉例來說,所述之用以分配取代區塊的處理可藉由主機端或控制器而由使用者所控制、藉由主機端或控制器反應於損壞區塊標記而半自動地控制以及藉由反及閘快閃記憶體裝置的控制邏輯而自動地控制。
損壞區塊管理係以檢查損壞區塊(步驟610)以及決定是否取代損壞區塊(步驟620)開始。對於使用者控制處理或半自動處理的範例而言,檢查損壞區塊及決定是否取代損壞區塊的操作皆係由使用者透過主機端或控制器來完成。對於自動處理的範例而言,檢查損壞區塊及決定是否取代損壞區塊的操作係由反及閘快閃記憶體裝置的控制邏輯來實現。對於讀取操作來說,讀取操作依據狀態暫存器本身的數值讀取(對於使用者控制處理及半自動處理的範例而言)或檢查(對於自動處理的範例而言)ECC位元。可能的ECC位元讀取或檢查結果例如包含無錯誤、已校正的錯誤、無法校正的錯誤以及多個無法校正的錯誤(對於連續頁面讀取而言)。當進行多個位元的校正時,可能的ECC位元讀取或檢查結果可更包含已校正的位元個數,或者包含單純指示被校正的位元之最大個數。反應於ECC位元讀取或檢查結果的動作例如包含當結果為無錯誤及已校正的錯誤,且所述之已校正的錯誤小於可校正位元的最大個數或一些次要的臨界值時,不採取任何動作;當結果為已校正的錯誤,且已被校正的錯誤為可校正位元的最大個數或一些次要的臨界值時,進行區塊取代的操作;以及當重複讀 取成功而使區塊取代的操作隨著無法校正的錯誤而進行時,進行重複讀取。對於頁面程式化及區塊抹除操作而言,其基於狀態暫存器中的一或多個通過/失效位元而決定讀取(對於使用者控制處理及半自動處理的範例而言)或檢查(對於自動處理的範例而言)狀態暫存器。反應於狀態暫存器之讀取或檢查結果的動作包含例如當狀態暫存器指示為”通過”時,不採取任何動作;當狀態暫存器指示為”失效”時,重複程式化或抹除的操作;以及若是狀態暫存器指示為”失效”時,以區塊取代來進行重複程式化或抹除的操作。
雖然連續頁面讀取操作的目的係為了在一般情況下輸出大量的頁面,在單一連續頁面讀取操作期間中發現數個損壞區塊的情況亦較少見。因此,連續頁面讀取CPR位址暫存器24僅需具有單一頁面位址的容量,然而其亦可根據需求而具有多個頁面位址的容量。對於連續頁面讀取操作而言,檢查損壞區塊(步驟610)以及決定是否取代該損壞區塊(步驟620)的操作係與ECC位元的檢查相關。若有需要,連續頁面讀取操作可利用取代區塊來重複。萬一初步辨識出額外的損壞區塊,則僅重複進行損壞區塊管理。
若是損壞區塊被取代的狀況下(步驟620-是)選擇取代區塊(步驟630)。對於使用者控制處理的範例而言,使用者發出適當的指令以使損壞區塊的邏輯區塊位址映射至取代區塊的物理區塊位址。位址映射指令為一種適當的指令類型,其中位址映射指令為使用者在使用者可定址區域42中決定取代區塊的物理區塊位址,並且指定損壞區塊的邏 輯區塊位址與被選擇的取代區塊的物理區塊位址的指令。損壞區塊標記指令本身為另一種適當的指令類型。對於半自動處理及自動處理的範例而言,控制邏輯可反應於任何適當的指令而選擇取代區塊。雖然可使用專用的指令來啟動取代區塊選擇的操作,但取代區塊選擇的操作亦可藉由其他指令類型來啟動。舉例來說,損壞區塊標記指令在本領域常被用於作為適於啟動取代區塊選擇的指令。雖然傳統損壞區塊標記的需求已被查詢表資訊區塊46(圖1)所取代,但在舊有的系統中保留所述之損壞區塊標記指令亦不會造成任何損害。然而,所述之損壞區塊標記指令可被修正以額外地使損壞區塊的邏輯區塊位址映射至冗餘區塊區域44中的可用區塊,藉以消除使用者從冗餘區塊區域44所提供的可用區塊中決定取代區塊的邏輯區塊位址的需求。由於冗餘區塊區域44及使用者可定址區域44皆可存取反及閘快閃記憶體裝置的控制邏輯,故取代區塊可僅從反及閘快閃陣列40的冗餘區塊區域44中選擇,或者可從反及閘快閃陣列40的冗餘區塊區域44與使用者可定址區域42其中之一來選擇。任何所需的技術皆可用以辨識下一個可用的取代區塊,舉例來說,可利用取代區塊位址暫存器(未繪示),其中所述之取代區塊位址暫存器包含下一個可用的取代區塊的物理區塊位址。製造商可於最初時產生下一個可用的取代區塊位址並將其儲存至查詢表資訊區塊46中,其中查詢表資訊區塊46可於裝置啟動時在取代區塊位址暫存器中被讀取及被儲存,並且可於裝置操作的期 間內被更新。可用的取代區塊可藉由任何可行方式決定,例如在冗餘區塊區域44中從低位址至高位址,其次在使用者可定址區域42中從高位址至低位址來決定可用的取代區塊。為了取代區塊的目的,可保留使用者可定址區域42中的區塊來作為取代區塊,或者檢查每一區塊以確保各個區塊在被選擇為”可用”之前未被使用。
在損壞區塊的邏輯區塊位址及取代區塊的邏輯區塊位址兩者皆已知的情況下,可據以更新查詢表暫存器27及查詢表資訊區塊46(步驟640)。更新的操作在使用者控制處理的範例中可藉由位址映射指令或損壞區塊標記指令來啟動,在半自動處理的範例中可藉由損壞區塊標記指令來啟動,在自動處理的範例中可藉由控制邏輯來啟動。為使後續的記憶體存取得以準確,查詢表暫存器27需要提示更新。為使已更新的查詢表不會在電源中斷時遺失,查詢表資訊區塊46亦需合理地提示更新。更新的操作可利用任何所需的方式來進行,例如,個別地進行更新的操作,或是先藉由更新查詢表暫存器27後接著藉由將查詢表暫存器27的查詢表寫入至查詢表資訊區塊46的方式來進行更新的操作。
接著將資料從損壞區塊轉移至取代區塊(步驟650)。舉例來說,在查詢表暫存器27中,對每一取代區塊放置兩個映射索引,第一個映射索引可作為使用者可定址區域中損壞區塊邏輯區塊位址至良好取代區塊的路由,而第二個映射索引則可作為邏輯區塊位址至對應的良好取代區塊至 對應的損壞區塊的路由。第二個映射索引提供損壞區塊的存取,以從損壞區塊轉移資料至良好取代區塊。在使用者控制處理的範例中,所述之傳送操作可藉由位址映射指令或損壞區塊標記指令而啟動,在半自動處理的範例中,所述之傳送操作可藉由損壞區塊標記指令而啟動,在自動處理的範例中,所述之傳送操作可藉由控制邏輯而啟動。可更進一步地繼續進行處理660。在區塊傳送的操作之後,損壞區塊的存取得以被避免。
在從使用者可定址區域42中選擇取代區塊的情況下,使用者應注意不要存取用以讀取、程式化或抹除的取代區塊。在使用者控制處理的範例中,應由控制映射操作的使用者來注意不要存取用以讀取、程式化或抹除的取代區塊。使用者可藉由讀取查詢表暫存器27以判斷特定的存取操作是否為存取取代區塊的操作。此外,反及閘快閃記憶體裝置的控制邏輯可自動地判斷特定的存取操作是否為存取取代區塊的操作。舉例來說,反及閘快閃記憶體裝置可在指令執行前,先行搜尋指令中所指定的一或多個位址是否符合查詢表暫存器27中的物理區塊位址。若是指令中所指定的位址皆不符合查詢表暫存器27中的物理區塊位址時,則表示指令可被執行。若是指令中所指定的位址符合查詢表暫存器27中的物理區塊位址時,則表示使用者試圖直接存取取代區塊,因此指令應不被執行。
利用ECC的連續讀取及損壞區塊管理
”連續讀取”在此係表示一種記憶體讀取操作的類 型,所述之連續讀取之目的在於其可不需於每一頁面重複發送頁面讀取指令,而可藉由頁面接續頁面(page-by-page)的方式來讀取記憶體陣列的部份或全部。在圖1所繪示之具有SPI介面的反及閘快閃記憶體20的例子中,反及閘快閃記憶體裝置20可藉由控制信號高準位至低準位的轉態而啟動,接著發出連續頁面讀取指令。在此實施例中,一個連續頁面讀取指令的發送可使連續頁面可被序列地讀取並輸出直到處理程序停止。連續頁面讀取可藉由任何所需的方式停止。舉例來說,連續頁面讀取可藉由停止時脈的控制信號CLK並接著將控制信號CS/自低準位轉態至高準位的方式,以使連續頁面讀取基於時脈的控制信號CLK而停止。此外,連續頁面讀取指令可依據其他獨立的信號以在讀取預設或指定數量的頁面後,或者在任何其他所需的方式下停止進行。
用於反及閘快閃記憶體陣列的頁面緩衝器可被建構與操作以在連續頁面讀取期間消除輸出資料的間隙與不連續,所述之在連續頁面讀取期間消除輸出資料的間隙與不連續的技術說明可參見2012年5月4日由Gupta等人所申請的第13/464,535號美國專利(“Method and Apparatus for Reading NAND Flash Memory”),以上專利以全文引用方式併入本文。”可定址連續頁面讀取”在此係對應於Gupta等人所申請的專利中之”連續頁面讀取”,並且”快速連續頁面讀取”在此係對應於Gupta等人所申請的專利中之”修改連續頁面讀取”。
加入可藉由控制邏輯(例如圖1的控制邏輯30)來進行本地存取的在晶片上之快速的查詢表暫存器(例如圖1的查詢表暫存器27)的優點在於,當遇到取代區塊時,查詢表暫存器可在不具有顯著的頁面讀取時間延遲的情況下,從反及閘快閃記憶體利用損壞區管理啟動連續頁面讀取,因此更有助於避免任何跨頁與區塊邊界的間隙或不連續。
圖10繪示適於利用ECC完成連續頁面讀取操作的頁面緩衝器組成及操作的步驟流程圖。圖11所繪示之不同的連續操作的示意圖係關聯於圖10中所繪示之不同的步驟。圖11所繪示之對應於各個操作的持續時間係為範例,本發明並不限定操作的持續時間。
圖11繪示資料匯流排810、反及閘快閃陣列850以及頁面緩衝器。所述之頁面緩衝器在此係以包含資料暫存器840的範例性實施方式來實現。資料暫存器840包含以兩個部分組成的資料暫存部分DR-0與DR-1。所述之頁面緩衝器亦包含快取暫存器830,快取暫存器830包含以兩個部分組成的快取暫存部分CR-0與CR-1。因此,頁面緩衝器中可視為具有包含快取暫存器CR-0及資料暫存器DR-0的第一部分,和包含快取暫存部分CR-1及資料暫存部分DR-1的第二部分。與未經劃分的頁面緩衝器不同的是,未經劃分的頁面緩衝器僅需一組控制信號,頁面緩衝器的兩個部分可能需要兩組控制信號。此外,雖然頁面緩衝器在此係以兩部分組成的架構為例來支援連續頁面讀取操作,但其相關變化對於使用者而言為透明(transparent)的。程式 化操作可在2KB的標準頁面容量下完成,並且例如在完成頁面讀取操作後從快取中讀取頁面資料的標準讀取操作亦可在2KB的標準頁面容量下完成。這樣的內部組成分為兩部分的頁面緩衝器特別適合用於連續頁面讀取操作,並且即使所述之頁面緩衝器的內部分割係以分為兩部分方式來實現,頁面緩衝器的內部分割對於使用者而言為透明的。
圖11亦範例性地繪示一錯誤校正電路820,其可於邏輯上視為具有錯誤校正電路區段ECC-0與ECC-1。錯誤校正電路區段ECC-0提供快取暫存部分CR-0的內容的錯誤校正,並且錯誤校正電路區段ECC-1提供快取暫存部分CR-1的內容的錯誤校正。雖然為了說明清楚,兩不同的錯誤校正電路區段ECC-0與ECC-1係繪示為分別與快取暫存部分CR-0與CR-1介接,然而亦可使用單一ECC區塊同時與快取暫存部分CR-0與CR-1介接。
快速連續讀取指令並未包含位址欄位,而是依靠包含位址欄位的先前指令,例如頁面讀取指令。請參照圖10與圖11,頁面讀取指令700提供初始頁面852的位址,其中初始頁面852的位址被讀取及儲存於資料暫存器840中(步驟710)。舉例來說,從頁面852轉移2K位元組的資料至資料暫存器DR-0與DR-1,其中頁面852可視為序列的頁面-0。其中每次轉移1K位元組至資料暫存器DR-0與DR-1的操作可為同時或不同時進行。頁面讀取的操作時間例如為20微秒(μs)。
接著如圖10與圖11所示,將資料暫存器840中的資 料轉移至快取暫存器830(步驟720),並且對快取暫存器830中的頁面資料進行ECC計算(步驟730)。從資料暫存器840至快取暫存器830的轉移時間取決於設計選擇,但通常係介於約1μs至約3μs。錯誤校正電路820校正完成所需的時間取決於ECC演算法的選擇、內部資料匯流排、晶片上時序振盪器週期以及其他設計因素。舉例來說,由於一些物理設計可同時針對快取暫存器830的各個快取暫存部分CR-0與CR-1使用單一ECC電路區塊,並且每一快取暫存部分CR-0與CR-1可例如花費18μs的時間來進行錯誤校正,故錯誤校正電路820可在約36μs的時間內完成校正。
頁面讀取在無時脈輸出資料的情況下終止,並且接續著進行連續頁面讀取指令740。如圖10與圖11所示,在此可進行大致同時的多個操作。所述大致同時進行的多個操作其中一者為涉及發送快取暫存部分CR-0中的頁面-0的資料至資料匯流排810,藉以經由資料匯流排810輸出資料的操作(步驟750),其中頁面-0的資料已經經過了ECC的計算。雖然資料匯流排810至輸出埠之間的路徑並未繪示,但這樣的路徑對於本領域具有通常知識者係為眾所周知。
所述大致同時進行的多個操作其中另一者為涉及轉移資料暫存部分DR-1中的頁面資料的部分至快取暫存部分CR-1,並且對快取暫存部分CR-1的頁面資料部分進行ECC計算的操作(步驟760)。從資料暫存部分DR-1至快取 暫存部分CR-1的轉移時間取決於設計選擇,但通常係介於約1μs至約3μs。舉例來說,錯誤校正電路區段ECC-1可在約12μs內完成校正。然而,假定發送出快取暫存部分CR-0資料的時間是20μs且資料暫存部分DR-1至快取暫存部分CR-1的轉移時間為2μs,則錯誤校正電路區段ECC-0與ECC-1可經設計以在18μs或更短時間內完成。
所述大致同時進行的多個操作其中再一者為涉及從反及閘快閃陣列850將下一順序的頁面資料854(頁面-1)的2KB頁面讀入資料暫存部分DR-0與DR-1的操作(步驟770)。查詢表取代區塊的處理程序可用於各個存取操作,或者僅用於第一個存取以及跨區塊邊界。雖然大多數的轉移係與步驟760的操作同時進行,但其係在資料暫存部分DR-1的資料轉移至快取暫存器CR-1的操作之後才開始進行。
雖然圖11繪示的各種操作大致為同時進行,但並非所有操作皆需要同時進行,只要根據本文陳述的教示而可避免輸出資料的間隙與其他不連續即可。
接著請參照圖10與圖11,在此可進行大致同時的多個操作。所述大致同時進行的多個操作其中一者涉及發送快取暫存部分CR-1中的頁面-0的資料至資料匯流排810,藉以經由資料匯流排810輸出資料的操作(步驟780),其中頁面-0的資料已經經過了ECC的計算。假定時脈頻率為100MHz,可在約20μs中發送出快取暫存部分CR-1的資料(1KB)。
所述大致同時進行的多個操作其中另一者為涉及轉移資料暫存部分DR-0中的頁面資料的部分至快取暫存部分CR-0,並且對快取暫存部分CR-0的頁面資料部分進行ECC計算的操作(步驟790)。此一操作步驟實質上以類似於圖11的相關描述來進行。
連續頁面讀取操作藉由迴圈回到步驟750而繼續進行,並且可透過停止時脈與控制信號CS/來停止。此外,連續頁面讀取操作亦可藉由改變連續頁讀取命令以在讀取預定數量的頁面之後或以設計者所需的任一其他方式停止。
連續頁面讀取指令的優點在於,其可致使在頁面或區塊邊界讀取整個或所需部分的反及閘快閃陣列時不具有間隙或不連續的狀況。此一優點係藉由以交替方式讀取資料來實現的,例如交替地從快取暫存部分CR-0與CR-1中讀取資料。
圖12繪示適於利用ECC完成可定址連續頁面讀取操作的頁面緩衝器組成及操作的步驟流程圖。圖12所繪示之不同的連續操作的示意圖係關聯於圖11中所繪示之不同的步驟。
如圖12所示,將可定址連續頁面讀取指令中指定的初始頁面852(頁面-0)從反及閘快閃陣列850轉移至資料暫存器840的資料暫存部分DR-0與DR-1(步驟910)。
接著請同時參照圖11與圖12所示,將資料暫存器840中的部分的頁面資料轉移至快取暫存器830,並且對快取 暫存部分CR-0中的頁面資料部分進行ECC計算(步驟920)。
可定址連續頁面讀取操作基本上可如圖12中的步驟930、940、950、960以及970一般對應於圖10中的步驟750、760、770、780以及790。由於在ECC計算尚未完成之前,資料還沒準備好發送至輸出,因此步驟910與912的操作可能需要考慮初始延遲。此延遲可能約為40μs。相反地,由於快速連續頁面讀取可在使用者提供指令、位址以及可選擇的虛擬時脈後立即輸出資料,因此快速連續頁面讀取不具有延遲。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明。根據本發明實施例所揭露的內容之變化及修改皆為可能,並且本領域具有通常知識者應可在研究本專利文件後暸解實施例中各種元件的置換及均等物。另外,在實施例中所提及的特定數值皆為範例,且可根據需求而改變。在不脫離本發明的精神和範圍內,任何的更動與潤飾,包括實施例中之各種元件的置換及均等,皆不脫離本發明之範疇,其中本發明之保護範圍當視後附之申請專利範圍所界定者為準。
20‧‧‧反及閘極快閃記憶體裝置
22‧‧‧輸入輸出控制
23‧‧‧狀態暫存器
24‧‧‧CPR位址暫存器
25‧‧‧指令暫存器
26‧‧‧位址暫存器
27‧‧‧查詢表暫存器
28‧‧‧映射邏輯
29‧‧‧位址計數器
30‧‧‧控制邏輯
31‧‧‧CPR損壞區塊邏輯
32‧‧‧CPR損壞區塊暫存器
33‧‧‧高電壓產生器
34‧‧‧列解碼器
36‧‧‧行解碼器
38‧‧‧頁面緩衝器
40‧‧‧反及閘快閃陣列
42‧‧‧使用者可定址區域
44‧‧‧冗餘區塊區域
46‧‧‧查詢表資訊區塊
120‧‧‧查詢表
130‧‧‧反及閘快閃記憶體陣列
200‧‧‧初始化程序
202~204、302~312、322~350、362~390、410~450、510~550、610~650、710~730、750~790、910~970‧‧‧步驟
206、314、460、560、660‧‧‧繼續進行處理
300‧‧‧頁面讀取操作
320‧‧‧連續頁面讀取操作
360‧‧‧可定址連續頁面讀取操作
400‧‧‧接收頁面程式化指令
500‧‧‧接收區塊抹除指令
600‧‧‧損壞區塊管理
700‧‧‧頁面讀取指令
740‧‧‧連續頁面讀取指令
810‧‧‧資料匯流排
820‧‧‧錯誤校正電路
830‧‧‧快取暫存器
840‧‧‧資料暫存器
850‧‧‧反及閘快閃陣列
852、854‧‧‧頁面
900‧‧‧開始可定址連續頁面讀取
CR-0、CR-1‧‧‧快取暫存部分
DR-0、DR-1‧‧‧資料暫存部分
ECC-0、ECC-1‧‧‧錯誤校正電路區段
LBA‧‧‧邏輯區塊位址
PBA‧‧‧物理區塊位址
CS/、CLK、DI、DO、WP/、HOLD/‧‧‧控制信號
圖1為反及閘快閃記憶體裝置的功能方塊示意圖。
圖2為反及閘快閃記憶體陣列的組織架構及關聯於反及閘快閃記憶體的查詢表的示意圖。
圖3為初始化查詢表的一實施方法的步驟流程圖。
圖4為利用損壞區塊映射的頁面讀取操作的步驟流程圖。
圖5為利用損壞區塊映射的連續頁面讀取操作的步驟流程圖。
圖6為利用損壞區塊映射的可定址連續頁面讀取操作的步驟流程圖。
圖7為利用損壞區塊映射的程式化操作的步驟流程圖。
圖8為利用損壞區塊映射的抹除操作的步驟流程圖。
圖9為損壞區塊管理技術的步驟流程圖。
圖10為利用損壞區塊映射的連續頁面讀取操作之特定實施方式的步驟流程圖。
圖11為依照圖10與圖12之步驟流程的頁面緩衝器的操作狀態的示意圖。
圖12為利用損壞區塊映射之可定址連續頁面讀取操作的特定實施方式的步驟流程圖。
20‧‧‧反及閘極快閃記憶體裝置
22‧‧‧輸入輸出控制
23‧‧‧狀態暫存器
24‧‧‧CPR位址暫存器
25‧‧‧指令暫存器
26‧‧‧位址暫存器
27‧‧‧查詢表暫存器
28‧‧‧映射邏輯
29‧‧‧位址計數器
30‧‧‧控制邏輯
31‧‧‧CPR損壞區塊邏輯
32‧‧‧CPR損壞區塊暫存器
33‧‧‧高電壓產生器
34‧‧‧列解碼器
36‧‧‧行解碼器
38‧‧‧頁面緩衝器
40‧‧‧反及閘快閃陣列
42‧‧‧使用者可定址區域
44‧‧‧冗餘區塊區域
46‧‧‧查詢表資訊區塊

Claims (9)

  1. 一種在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中該反及閘快閃記憶晶片具有一反及閘快閃記憶體陣列以及一頁面緩衝器,該頁面緩衝器包括一資料暫存器以及一快取暫存器,該方法包括:在具有該反及閘快閃記憶體陣列的晶片上維持一查詢表暫存器,該查詢表暫存器儲存至少一邏輯損壞區塊位址以及對應於所述邏輯損壞區塊位址的至少一物理取代區塊位址;從該快取暫存器中的多個快取暫存部分無縫且連續地輸出資料,該資料暫存器被組織為對應於該快取暫存器的該些快取暫存部分的多個資料暫存部分;建立用以存取該反及閘快閃記憶體陣列的一邏輯頁面位址,該邏輯頁面位址包括一邏輯區塊位址部分;在該查詢表暫存器的所述邏輯損壞區塊位址中搜尋所述邏輯損壞區塊位址的其中之一與該邏輯區塊位址部分之間是否符合;當從該些快取暫存部分中的一第一快取暫存部分輸出資料時,從該快取暫存器中的對應部分轉移資料至一第二快取暫存部分,該第二快取暫存部分不同於該第一快取暫存部分;在該第一快取暫存部分輸出資料且轉移資料至該第二快取暫存部分的步驟後,在該第二快取暫存部分上進行一錯誤校正碼(error correcting code,ECC)計算; 在該第一快取暫存部分輸出資料且轉移資料至該第二快取暫存部分的步驟後,當搜尋的步驟中所述邏輯損壞區塊位址與該邏輯區塊位址部分皆不符合時,利用該邏輯頁面位址從該反及閘快閃記憶體陣列中將一資料頁面讀入該資料暫存器,以及當搜尋的步驟中所述邏輯損壞區塊位址的其中之一與該邏輯區位址部分符合時,利用所述物理取代區塊位址的其中之一將該資料頁面讀入該資料暫存器,其中所述物理取代區塊位址的該其中之一對應於符合該邏輯區塊位址部分的所述邏輯損壞區塊位址的該其中之一;以及當從該第二快取暫存部分輸出資料時,從該資料暫存器的對應部分轉移資料至除了該第二快取暫存部分的其餘該些快取暫存部分的其中之一,並且對其餘該些快取暫存部分的該其中之一進行該錯誤校正碼計算。
  2. 如申請專利範圍第1項所述之在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中建立該邏輯頁面位址的步驟包括以單一頁面遞增該邏輯頁面位址,該方法更包括:於跨越一頁面邊界時,重複進行從該些快取暫存部分輸出資料的步驟、建立該邏輯頁面位址的步驟、轉移資料至該第二快取暫存部分的步驟、進行該錯誤校正碼計算的步驟、將該資料頁面讀入該資料暫存器的步驟以及轉移資料至除了該第二快取暫存部分的其餘該些快取暫存部分的其中之一,並且對其餘該些快取暫存部分的該其中之一進 行該錯誤校正碼計算的步驟。
  3. 如申請專利範圍第2項所述之在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中建立該邏輯頁面位址的步驟更包括以單一頁面遞增該邏輯頁面位址,該方法更包括:於跨越一區塊邊界時,重複進行從該些快取暫存部分輸出資料的步驟、建立該邏輯頁面位址的步驟、搜尋所述邏輯損壞區塊位址的其中之一與該邏輯區塊位址部分之間是否符合的步驟、轉移資料至該第二快取暫存部分的步驟、進行該錯誤校正碼計算的步驟、將該資料頁面讀入該資料暫存器的步驟以及轉移資料至除了該第二快取暫存部分的其餘該些快取暫存部分的其中之一,並且對其餘該些快取暫存部分的該其中之一進行該錯誤校正碼計算的步驟。
  4. 如申請專利範圍第1項所述之在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中建立該邏輯頁面位址的步驟更包括以單一頁面遞增該邏輯頁面位址,該方法更包括:於跨越一頁面邊界時,重複進行從該些快取暫存部分輸出資料的步驟、建立該邏輯頁面位址的步驟、搜尋所述邏輯損壞區塊位址的其中之一與該邏輯區塊位址部分之間是否符合的步驟、轉移資料至該第二快取暫存部分的步驟、進行該錯誤校正碼計算的步驟、將該資料頁面讀入該資料暫存器的步驟以及轉移資料至除了該第二快取暫存部 分的其餘該些快取暫存部分的其中之一,並且對其餘該些快取暫存部分的該其中之一進行該錯誤校正碼計算的步驟。
  5. 如申請專利範圍第4項所述之在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中建立該邏輯頁面位址的步驟更包括以單一頁面遞增該邏輯頁面位址,該方法更包括:於跨越一區塊邊界時,重複進行從該些快取暫存部分輸出資料的步驟、建立該邏輯頁面位址的步驟、搜尋所述邏輯損壞區塊位址的其中之一與該邏輯區塊位址部分之間是否符合的步驟、轉移資料至該第二快取暫存部分的步驟、進行該錯誤校正碼計算的步驟、將該資料頁面讀入該資料暫存器的步驟以及轉移資料至除了該第二快取暫存部分的其餘該些快取暫存部分的其中之一,並且對其餘該些快取暫存部分的該其中之一進行該錯誤校正碼計算的步驟。
  6. 如申請專利範圍第1項所述之在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中建立該邏輯頁面位址的步驟更包括以單一頁面遞增該邏輯頁面位址,該方法更包括:於跨越一區塊邊界時,重複進行從該些快取暫存部分輸出資料的步驟、建立該邏輯頁面位址的步驟、搜尋所述邏輯損壞區塊位址的其中之一與該邏輯區塊位址部分之間是否符合的步驟、轉移資料至該第二快取暫存部分的步 驟、進行該錯誤校正碼計算的步驟、將該資料頁面讀入該資料暫存器的步驟以及轉移資料至除了該第二快取暫存部分的其餘該些快取暫存部分的其中之一,並且對其餘該些快取暫存部分的該其中之一進行該錯誤校正碼計算的步驟。
  7. 如申請專利範圍第1項所述之在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中從該些快取暫存部分輸出資料的步驟在一初始延遲期間之後開始進行,該初始延遲期間包括從該反及閘快閃記憶體陣列將該資料頁面讀入該資料暫存器的時間。
  8. 如申請專利範圍第1項所述之在反及閘快閃記憶晶片上進行連續頁面讀取操作的方法,其中從該些快取暫存部分輸出資料的步驟在不具有一初始延遲期間下進行。
  9. 一種反及閘快閃記憶晶片,包括:一反及閘快閃記憶體陣列;一列解碼器,耦接該反及閘快閃記憶體陣列;一頁面緩衝器,耦接該反及閘快閃記憶體陣列;一行解碼器,耦接該頁面緩衝器;一輸入/輸出控制器,耦接該行解碼器;一狀態暫存器,耦接該輸入/輸出控制器;一連續頁面讀取損壞區塊位址暫存器,耦接該輸入/輸出控制器;一指令暫存器,耦接該輸入/輸出控制器;一位址暫存器,耦接該輸入/輸出控制器; 一查詢表暫存器,耦接該輸入/輸出控制器;以及一控制邏輯電路,耦接該列解碼器、該行解碼器、該頁面緩衝器、該狀態暫存器、該連續頁面讀取損壞區塊位址暫存器、該指令暫存器、該位址暫存器以及該查詢表暫存器,其中該頁面緩衝器包括:一資料暫存器,耦接該反及閘快閃記憶體陣列;以及一快取暫存器,耦接該資料暫存器與該行解碼器,該快取暫存器被組織為多個快取暫存部分,並且該資料暫存器被組織為對應於該快取暫存器的該些快取暫存部分的多個資料暫存部分,其中該控制邏輯電路包括多個邏輯元件,該些邏輯元件用以執行以下功能:維持該查詢表暫存器,該查詢表暫存器儲存至少一損壞區塊位址以及對應於所述邏輯損壞區塊位址的至少一物理取代區塊位址;從該快取暫存器中的多個快取暫存部分無縫且連續地輸出資料,該資料暫存器被組織為對應於該快取暫存器的該些快取暫存部分的多個資料暫存部分;建立用以存取該反及閘快閃記憶體陣列的一邏輯頁面位址,該邏輯頁面位址包括一邏輯區塊位址部分;在該查詢表暫存器的所述邏輯損壞區塊位址中搜尋所述邏輯損壞區塊位址的其中之一與該邏輯區塊位址部分之間是否符合; 當從該些快取暫存部分中的一第一快取暫存部分輸出資料時,從該快取暫存器中的對應部分轉移資料至一第二快取暫存部分,該第二快取暫存部分不同於該第一快取暫存部分;在該第一快取暫存部分輸出資料且轉移資料至該第二快取暫存部分的步驟後,對該第二快取暫存部分進行一錯誤校正碼計算;在該第一快取暫存部分輸出資料且轉移資料至該第二快取暫存部分的步驟後,當搜尋的步驟中所述邏輯損壞區塊位址與該邏輯區塊位址部分皆不符合時,利用該邏輯頁面位址從該反及閘快閃記憶體陣列中將一資料頁面讀入該資料暫存器,以及當搜尋的步驟中所述邏輯損壞區塊位址的其中之一與該邏輯區位址部分符合時,利用所述物理取代區塊位址的其中之一將該資料頁面讀入該資料暫存器,其中所述物理取代區塊位址的該其中之一對應於符合該邏輯區塊位址部分的所述邏輯損壞區塊位址的該其中之一;以及當從該第二快取暫存部分輸出資料時,從該資料暫存器的對應部分轉移資料至除了該第二快取暫存部分的其餘該些快取暫存部分的其中之一,並且對其餘該些快取暫存部分的該其中之一進行該錯誤校正碼計算。
TW101142414A 2012-11-14 2012-11-14 晶片上之反及閘快閃記憶體及其損壞區塊管理方法 TWI501249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101142414A TWI501249B (zh) 2012-11-14 2012-11-14 晶片上之反及閘快閃記憶體及其損壞區塊管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101142414A TWI501249B (zh) 2012-11-14 2012-11-14 晶片上之反及閘快閃記憶體及其損壞區塊管理方法

Publications (2)

Publication Number Publication Date
TW201419295A TW201419295A (zh) 2014-05-16
TWI501249B true TWI501249B (zh) 2015-09-21

Family

ID=51294418

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101142414A TWI501249B (zh) 2012-11-14 2012-11-14 晶片上之反及閘快閃記憶體及其損壞區塊管理方法

Country Status (1)

Country Link
TW (1) TWI501249B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9971647B2 (en) 2014-07-31 2018-05-15 Winbond Electronics Corporation Apparatus and method for programming ECC-enabled NAND flash memory
TWI587302B (zh) * 2014-12-09 2017-06-11 華邦電子股份有限公司 記憶體編程方法以及記憶體裝置
CN108958961B (zh) * 2017-05-22 2021-11-30 上海宝存信息科技有限公司 数据储存装置以及数据错误管理方法
TWI805231B (zh) 2022-02-18 2023-06-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TWI802279B (zh) * 2022-02-18 2023-05-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TWI845896B (zh) 2022-02-18 2024-06-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902599A (zh) * 2003-12-30 2007-01-24 桑迪士克股份有限公司 具有大型擦除区块的非易失性存储器系统的管理
US7171536B2 (en) * 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
US20080313389A1 (en) * 2000-01-06 2008-12-18 Chow David Q Electronic data flash card with various flash memory cells
US20090019215A1 (en) * 2004-03-30 2009-01-15 Jin-Yub Lee Method and device for performing cache reading
TWI351604B (zh) * 2007-01-17 2011-11-01 Memoright Memoritech Corp

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080313389A1 (en) * 2000-01-06 2008-12-18 Chow David Q Electronic data flash card with various flash memory cells
US7171536B2 (en) * 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
CN1902599A (zh) * 2003-12-30 2007-01-24 桑迪士克股份有限公司 具有大型擦除区块的非易失性存储器系统的管理
US20090019215A1 (en) * 2004-03-30 2009-01-15 Jin-Yub Lee Method and device for performing cache reading
TWI351604B (zh) * 2007-01-17 2011-11-01 Memoright Memoritech Corp

Also Published As

Publication number Publication date
TW201419295A (zh) 2014-05-16

Similar Documents

Publication Publication Date Title
JP5984989B2 (ja) オンチップのnand型フラッシュメモリおよびその不良ブロック管理方法
US9367392B2 (en) NAND flash memory having internal ECC processing and method of operation thereof
CN103871447B (zh) 与非门快闪存储器阵列及芯片及其存取、读取及管理方法
TWI546666B (zh) 資料儲存裝置以及快閃記憶體控制方法
US9552290B2 (en) Partial R-block recycling
TWI501249B (zh) 晶片上之反及閘快閃記憶體及其損壞區塊管理方法
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
US8904086B2 (en) Flash memory storage system and controller and data writing method thereof
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US11334415B2 (en) Data storage device and method for sharing memory of controller thereof
JP5847940B2 (ja) 半導体装置
KR20140072118A (ko) 플래시 메모리 시스템
US11658685B2 (en) Memory with multi-mode ECC engine
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
JP4460967B2 (ja) メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
US8607123B2 (en) Control circuit capable of identifying error data in flash memory and storage system and method thereof
US9773571B2 (en) Memory repair redundancy with array cache redundancy
US8943289B2 (en) Data moving method for flash memory module, and memory controller and memory storage apparatus using the same
US8572350B2 (en) Memory management, memory control system and writing method for managing rewritable semiconductor non-volatile memory of a memory storage system
US11704055B2 (en) Storage device, controller and method for operating thereof
US8738847B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
KR20120005849A (ko) 불휘발성 메모리 장치 및 이의 카피백 프로그램 방법