TWI901495B - 藉助於通道內編碼進行記憶體裝置的增強型資料保護之方法及設備 - Google Patents
藉助於通道內編碼進行記憶體裝置的增強型資料保護之方法及設備Info
- Publication number
- TWI901495B TWI901495B TW114100002A TW114100002A TWI901495B TW I901495 B TWI901495 B TW I901495B TW 114100002 A TW114100002 A TW 114100002A TW 114100002 A TW114100002 A TW 114100002A TW I901495 B TWI901495 B TW I901495B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- storage format
- ecc
- memory
- blocks
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提供藉助於通道內編碼進行記憶體裝置的增強型資料保護之方法及設備,記憶體裝置包含記憶體控制器和非揮發性(NV)記憶體並經歷回流製程將記憶體裝置安裝至印刷電路板上。該方法可包含:在電子裝置的系統層次初始化期間,利用記憶體控制器開始對NV記憶體中的預加載資料進行擴展至非擴展儲存格式轉換,預加載資料已經以第一儲存格式預加載到NV記憶體以供插入來自通道內編碼的額外同位資訊於多個資料組塊之間;以及在擴展至非擴展儲存格式轉換期間,將預加載資料從第一儲存格式轉換為第二儲存格式以供收集多個資料組塊並釋放部分儲存空間。
Description
本發明係有關於記憶體控制,尤指一種藉助於通道內編碼(in-channel coding)進行一記憶體裝置的增強型資料保護之方法,以及相關的設備(apparatus)諸如記憶體裝置、包含記憶體裝置的電子裝置、記憶體裝置內的記憶體控制器等。
記憶體裝置可包含用於儲存資料的快閃記憶體,並且針對快閃記憶體的存取(access)管理較為複雜。例如,記憶體裝置可以是記憶卡、固態硬碟(SSD)或嵌入式儲存裝置例如符合通用快閃記憶體儲存(UFS)規範的嵌入式儲存裝置。該記憶體裝置可用來在主機的檔案系統中儲存各種檔案,如系統檔案、用戶檔案等。當主機是運具內系統(in-vehicle system)時,可能會出現某些問題。由於運具內系統內的印刷電路板(printed circuit board,簡稱PCB)上的通用非同步接收發送器(Universal Asynchronous Receiver/Transmitter,簡稱UART)的通信能力可能非常有限,因此將大量資料(如導航相關資料)加載到該PCB上的記憶體裝置中可能需要較長時間,這使得UART不適合用於大量資料的加載操作。為了試圖解決這一問題,可提出一建議,是在將記憶體裝置安裝到該PCB上之前,利用生產工具以更高的資料速率預加載(preload)大量資料至記憶體裝置中,然而,這會引入某些附帶的問題。例如,針對將記憶體裝置安裝到該PCB上,記憶體裝置可能會經歷一回流製程(reflow process),此製程包含在高溫(例如最高可達260攝氏度(degrees Celsius, °C))下進行一個或多個預定時間段的加熱,這可導致已被預加載到記憶體裝置中的資料發生許多錯誤。此外,該PCB及/或運具內系統可能被儲存在異常溫度(例如最高可達80°C)下的某處長達幾個月,這會使資料錯誤的問題更加嚴重。由於在該預加載操作係於藉由回流製程將記憶體裝置安裝到該PCB上之前進行的情況下,預加載的資料可能存在過多錯誤,所有現有的資料保護機制不足以保證經過高溫回流製程和異常溫度儲存後,預加載的資料能夠恢復。相關技術中似乎沒有合適的建議。因此,需要一種新穎的方法和相關架構來在不引入副作用的情況下或藉由不太可能引入副作用的方式解決這些問題。
本發明的目的是提供一種藉助於通道內編碼進行一記憶體裝置的增強型資料保護之方法,以及相關的設備諸如記憶體裝置、包含記憶體裝置的電子裝置、記憶體裝置中的記憶體控制器等,以解決上述問題。
本發明的至少一實施例提供了一種藉助於通道內編碼進行記憶體裝置的增強型資料保護之方法,該方法可以應用於記憶體裝置的記憶體控制器中。記憶體裝置可包含記憶體控制器和非揮發性(non-volatile,簡稱NV)記憶體,該NV記憶體可包含至少一NV記憶體元件(例如一個或多個NV記憶體元件),並且記憶體裝置可經歷回流製程(或可稱為「回流焊接製程」(reflow soldering process),亦即「回焊製程」),以將記憶體裝置安裝到電子裝置內的主機裝置的PCB上。該方法包含:在電子裝置的系統層次(system level)初始化的期間,利用記憶體控制器開始對該NV記憶體中的預加載資料(preloaded data)進行擴展至非擴展(expansion-to-non-expansion)儲存格式轉換,其中該預加載資料已經以第一儲存格式預加載到該NV記憶體中,用於將從該通道內編碼獲得的額外同位資訊插入至多個資料組塊(chunk)之間,以及該擴展至非擴展儲存格式轉換的操作包含垃圾回收(garbage collection,簡稱GC)和多個錯誤更正操作以供在該GC的期間更正預加載資料中的多個錯誤;以及在進行該擴展至非擴展儲存格式轉換的期間,將預加載資料從第一儲存格式轉換為第二儲存格式,以供收集來自預加載資料的該多個資料組塊並釋放先前以該第一儲存格式儲存的該預加載資料所佔據的總儲存空間中的部分儲存空間。例如,該擴展至非擴展儲存格式轉換可在該系統層次初始化結束之前完成。
除了上述方法,本發明還提供了一種記憶體控制器,用來藉助於通道內編碼進行記憶體裝置的增強型資料保護,該記憶體裝置包含記憶體控制器和NV記憶體。該NV記憶體可包含至少一NV記憶體元件(例如一個或多個NV記憶體元件),並且記憶體裝置可經歷回流製程,以將記憶體裝置安裝到電子裝置內的主機裝置的PCB上。此外,記憶體控制器包含一處理電路,該處理電路被配置為根據來自主機裝置的多個主機命令控制記憶體控制器,以容許主機裝置透過記憶體控制器存取該NV記憶體。更具體地,在電子裝置的系統層次初始化的期間,記憶體控制器可被配置為開始對該NV記憶體中的預加載資料進行擴展至非擴展儲存格式轉換,其中該預加載資料已經以第一儲存格式預加載到該NV記憶體中,用於將從該通道內編碼獲得的額外同位資訊插入至多個資料組塊之間,並且該擴展至非擴展儲存格式轉換的操作包含GC和多個錯誤更正操作以供在該GC的期間更正該預加載資料中的多個錯誤;並且在進行該擴展至非擴展儲存格式轉換的期間,記憶體控制器可以將該預加載資料從第一儲存格式轉換為第二儲存格式,以供收集來自該預加載資料的該多個資料組塊並釋放先前以第一儲存格式儲存的該預加載資料所佔據的總儲存空間中的部分儲存空間。例如,該擴展至非擴展儲存格式轉換可以在該系統層次初始化結束之前完成。
除了上述方法,本發明還提供了包含上述記憶體控制器的記憶體裝置,其中記憶體裝置包含:該NV記憶體,用於儲存資訊;以及耦接於該NV記憶體的該記憶體控制器,用於控制該記憶體裝置的操作。
此外,本發明還提供了包含上述記憶體裝置的電子裝置,其中該電子裝置另包含耦接於該記憶體裝置的該主機裝置。該主機裝置可包含:至少一處理器,用於控制主機裝置的操作;以及一電源供應電路,耦接於上述至少一處理器,用於提供電源給上述至少一處理器以及該記憶體裝置。此外,該記憶體裝置可提供儲存空間給該主機裝置。
根據某些實施例,該設備可包含該電子裝置的至少一部分(例如一部分或全部)。舉例來說,該設備可包含該記憶體裝置中的該記憶體控制器。又例如,該設備可包含該記憶體裝置。再例如,該設備可包含該電子裝置。
本發明的方法及相關設備能夠保證記憶體裝置在各種情況下正常運行。例如,記憶體裝置內的記憶體控制器可以根據該方法的至少一控制方案(例如一個或多個控制方案)進行相關操作,尤其,在默認情況下禁用增強型資料保護機制(或其相關電路),且在少數的情況下有需要時啟用增強型資料保護機制(或其相關電路)。在將該記憶體裝置安裝到該電子裝置內的PCB之前就應當將大量資料預加載到該記憶體裝置的情況下,該記憶體控制器可以在預加載操作的期間啟用增強型資料保護機制,以進行資料擴展作為一種非常規(extraordinary)資料保護處理,以供準備擴展資料以生成可編程/寫入至該NV記憶體中的資料,同時也使用常規(extraordinary)資料保護處理諸如錯誤更正碼(error correction code,簡稱ECC)保護處理和容錯式磁碟陣列(redundant array of independent disks,簡稱RAID)保護處理,並且還可以在電子裝置(例如運具內系統)的系統層次初始化的期間啟用增強型資料保護機制,以對儲存在該NV記憶體中的擴展資料進行該GC並進行資料更正。於是,該預加載資料可以在高溫回流製程和異常溫度儲存後仍能從錯誤中恢復。此外,本發明的方法及相關設備能夠在不引入副作用的情況下或藉由不太可能引入副作用的方式解決相關技術的問題。
第1圖是根據本發明一實施例之電子裝置10的示意圖,其中電子裝置10可包含主機裝置50和記憶體裝置100。主機裝置50可包含至少一處理器(例如,一個或多個處理器),統稱為處理器52,並且可另包含一個與處理器52相耦接的電源供應電路54。處理器52用來控制主機裝置50的運行,而電源供應電路54用來為處理器52和記憶體裝置100提供電力,並向記憶體裝置100輸出一個或多個驅動電壓。記憶體裝置100的作用是為主機裝置50提供儲存空間,並從主機裝置50獲取一個或多個驅動電壓作為記憶體裝置100的電源。主機裝置50的例子包含但不限於:多功能手機、可穿戴裝置、平板電腦、桌上型電腦和筆記型電腦等個人電腦,以及多功能運具內系統,如車載娛樂系統(in-car entertainment,簡稱ICE)、運具內資訊娛樂系統(in-vehicle infotainment,簡稱IVI)等。記憶體裝置100的例子包含但不限於:固態硬碟(solid state drive,簡稱SSD)以及符合快速週邊組件互連(Peripheral Component Interconnect Express,簡稱PCIe)規範的各種嵌入式記憶體裝置等。根據本實施例,記憶體裝置100可包含一記憶體控制器,例如快閃記憶體控制器110,並且可另包含一NV記憶體,例如快閃記憶體,該快閃記憶體可實現為快閃記憶體模組120,其中快閃記憶體控制器110用來控制記憶體裝置100的操作並存取快閃記憶體模組120,而快閃記憶體模組120用來儲存資訊。NV記憶體,例如快閃記憶體模組120,可包含至少一NV記憶體元件,例如至少一快閃記憶體元件,特別是包含多個快閃記憶體元件122-1、122-2、…和122-N,其中"N"表示大於1的正整數。例如,這些快閃記憶體元件122-1、122-2、…和122-N可以藉由快閃記憶體晶片、快閃記憶體裸晶等方式實現。根據某些實施例,這些快閃記憶體元件122-1、122-2、…和122-N可以用多個快閃記憶體裸晶形式實現,這些裸晶可以打包、堆疊及/或整合到至少一快閃記憶體晶片(例如,一個或多個快閃記憶體晶片)中,其中上述的至少一快閃記憶體晶片可包含上述多個快閃記憶體裸晶中的至少一個。
如第1圖所示,快閃記憶體控制器110可包含一處理電路例如微處理器112、一儲存單元例如唯讀記憶體(read-only memory,簡稱ROM)112M、一控制邏輯電路114、一隨機存取記憶體(random-access memory,簡稱RAM)116以及一傳輸介面電路118,其中上述元件可藉由總線相互耦接。RAM 116是由靜態隨機存取記憶體(Static RAM, SRAM)實現的,但本發明不限於此。RAM 116可以用來為快閃記憶體控制器110提供內部儲存空間。例如,RAM 116可用作緩衝記憶體,用於緩衝資料。此外,本實施例中的ROM 112M用來儲存程式碼112C,微處理器112用來執行程式碼112C來控制快閃記憶體120的存取。請注意,在某些實施例中,程式碼112C可儲存在RAM 116或任何其它類型的記憶體中。進一步地,控制邏輯電路114用來控制快閃記憶體120,並且可包含一資料保護(data protection, DP)電路130(標示為“DP電路”以求簡明),用於進行資料保護處理操作。資料保護電路130可包含ECC電路131、RAID電路132、增強型資料保護電路133(標示為“增強型DP電路” 以求簡明)及其它電路。針對資料保護處理操作中的常規資料保護處理操作,ECC電路131可進行ECC編碼和ECC解碼,以保護資料及/或對一物理頁面內多個子儲存單元進行錯誤更正,而RAID電路132可進行RAID編碼和RAID解碼,以保護資料及/或對一物理頁面群組例如一群物理頁面進行錯誤更正,但本發明不限於此。例如,該多個子儲存單元可具有一相同的大小,如小於物理頁面的大小之一預定大小。此外,增強型資料保護電路133可進行增強型資料保護處理操作,作為資料保護處理中的非常規資料保護處理,以在一個或多個預定場景下更安全地保護資料。由於增強型資料保護處理操作比較耗時,快閃記憶體控制器110(或其中的處理電路,如微處理器112)可預設禁用增強型資料保護電路133,並且僅在需要時啟用該電路。
傳輸介面電路118可符合一種或多種通信規範(例如,序列先進技術附件(Serial Advanced Technology Attachment,簡稱SATA)規範、通用序列匯流排(Universal Serial Bus,簡稱USB)規範、週邊組件互連(Peripheral Component Interconnect, PCI)規範、快速週邊組件互連(PCIe)規範、嵌入式多媒體卡(embedded Multi Media Card, eMMC)規範和通用快閃記憶體儲存(Universal Flash Storage,簡稱UFS)規範),並可根據該一種或多種通信規範,與主機裝置50(或其內的對應的傳輸介面電路58)進行通信。同樣,傳輸介面電路58也可以符合該一種或多種通信規範,並根據該一種或多種通信規範與記憶體裝置100(或其內的傳輸介面電路118)進行通信。
在本實施例中,主機裝置50可向快閃記憶體控制器110傳送主機命令和對應的邏輯位址,以存取記憶體裝置100。快閃記憶體控制器110接收主機命令和邏輯位址,並將主機命令轉換為記憶體操作命令(簡稱操作命令),且進一步用操作命令控制快閃記憶體模組120,以對快閃記憶體模組120內具有物理位址的記憶體單元(例如資料頁面)進行讀取、寫入/編程等操作,其中這些物理位址可以與邏輯位址相關聯。當快閃記憶體控制器110對多個快閃記憶體元件122-1、122-2、…和122-N中的任何元件122-n(其中“n”表示區間[1, N]中的任一整數)進行擦除操作時,至少會擦除該快閃記憶體元件122-n中的多個區塊的其中之一,其中這些區塊中的每個區塊可包含多個頁面(例如資料頁面),並且可以對一個或多個頁面進行存取操作例如讀取或寫入操作。
第2圖根據本發明一實施例繪示了一種藉助於通道內編碼進行記憶體裝置(例如第1圖所示的記憶體裝置100)的增強型資料保護之方法的編碼/解碼控制方案。圖中的橫軸表示在4096位元組(byte)或4千位元組(kilo-bytes, KB)的ECC組塊(簡稱“4KB ECC組塊”)中的錯誤位元數量(或稱為“錯誤位元#”),縱軸則表示4KB ECC組塊的數量(或稱為“#”)。橫軸的範圍可以被劃分為多個區間或區域。如第2圖所示,位於軟解碼閾值左側的常規解碼區域包含兩個子區域,例如軟解碼區域和硬解碼區域,這兩個區域由硬解碼閾值劃分;位於軟解碼閾值右側的非常規解碼區域包含增強型解碼區域。例如,曲線210、220和230分別對應不同級別的資料健康狀態,分別是良好的資料健康狀態、較差的資料健康狀態和更差的資料健康狀態。以三階細胞(triple-level cell,TLC)快閃記憶體作為快閃記憶體模組120的例子,相關操作可包含:
(1) 針對一第一曲線(例如曲線210)完全位於硬解碼區域,當讀取所有4KB ECC組塊中的任何一個4KB ECC組塊時,快閃記憶體控制器110僅需讀取每記憶體細胞的三個位元(three bits per memory cell)來進行硬解碼,而無需進行軟解碼;
(2) 針對一第二曲線具有兩個局部曲線,分別位於硬解碼區域和軟解碼區域,當讀取對應於軟解碼區域的4KB ECC組塊中的任何4KB ECC組塊時,快閃記憶體控制器110可讀取每記憶體細胞的三個位元來進行硬解碼,且另讀取軟位元資訊進行軟解碼,這樣會導致吞吐量降低,而當讀取對應於硬解碼區域的一4KB ECC組塊時,則快閃記憶體控制器110只需讀取每記憶體細胞的三個位元來進行硬解碼;以及
(3) 針對一第三曲線(例如曲線220和230中的任何曲線)具有三個局部曲線,分別位於硬解碼區域、軟解碼區域和增強型解碼區域,當讀取對應於增強型解碼區域的4KB ECC組塊中的任何4KB ECC組塊時,快閃記憶體控制器110可啟用增強型資料保護電路133來進行增強型解碼,而當讀取對應於硬解碼區域的一4KB ECC組塊時,則只需讀取每記憶體細胞的三個位元來進行硬解碼,且當讀取對應於軟解碼區域的一4KB ECC組塊時,則會讀取三個位元來進行硬解碼,且另讀取軟位元資訊進行軟解碼;
但本發明不限於此。根據某些實施例,快閃記憶體模組120中的記憶體細胞(memory cell)(例如TLC)的每細胞的階數(level count per cell)(例如三)、上列操作中的ECC組塊的大小(例如4KB)、硬解碼閾值、軟解碼閾值、曲線210、220和230及/或相關參數可以有所變化。此外,上述少數情況可包含與第2圖右下角所示的長尾相對應的情況。
根據某些實施例,硬解碼閾值可被視為讀取性能中最重要的因素,這是因為軟資訊獲取操作會消耗對應於多個讀取命令的時間(或讀取時間tR的倍數)。例如,4KB低密度同位檢查(low-density parity-check,LDPC)碼硬解碼比2KB或1KB的LDPC碼硬解碼提供了更好的折衷。軟解碼區域(或其與硬解碼區域相鄰的局部區域)可能會因為錯誤位元數的減少或硬解碼能力的擴張/增強而移入硬解碼區域。對於最先進的四階細胞(quad-level cell,QLC)或TLC快閃記憶體,經驗表明,軟解碼區域可以進行改善或減少,但錯誤位分佈的長尾現象會變得更加嚴重。即使使用涉及常規資料保護處理操作的最低錯誤位元讀取方法,仍然可能存在少數較差條件的組塊。快閃記憶體控制器110可以根據該方法的至少一控制方案(例如一個或多個控制方案)進行增強型解碼,以提高記憶體裝置100(例如SSD)的可靠性。
第3圖根據本發明一實施例繪示了該方法的階層式控制方案。上述至少一NV記憶體元件可包含複數個區塊{BLK},並且該複數個區塊{BLK}中的任何一個區塊BLK可包含多個子區塊{SB}。例如,當上述至少一NV記憶體元件實現為多個快閃記憶體元件122-1、122-2 … 和122-N時,這些快閃記憶體元件122-1、122-2 … 和122-N中的上述的任何快閃記憶體元件122-n可包含該複數個區塊{BLK}的子集。
如子圖(a)所示,上述任何快閃記憶體元件122-n(例如快閃記憶體元件122-1)可包含多個區塊例如區塊{BLK0, BLK1, …},區塊{BLK0, BLK1, …}中的任何區塊BLK(例如區塊BLK0)可包含多個字線組(word-line set){WL0, WL1, …},多個字線組{WL0, WL1, …}中的任何字線組(例如字線組WL0)可包含多個子區塊(或串(string)){SB0, SB1, …},而子區塊{SB0, SB1, …}中的任何子區塊SB可包含多個記憶體細胞{M}。如子圖(b)所示,在上述任何區塊BLK(例如BLK0)中,上述任何字線組(例如字線組WL0)可位於與包含X軸和Z軸的X-Z平面平行的平面中,而分別用來耦接子區塊(或串){SB}的位元行(bit column)則可位於與包含X軸和Y軸的X-Y平面平行的平面中,但本發明不限於此。根據某些實施例,第3圖所示的架構及/或相關的佈局可有所變化。
第4圖根據本發明一實施例繪示了第3圖所示階層式控制方案所涉及之3D NAND型快閃記憶體的示意圖。舉例來說,快閃記憶體元件122-1、122-2、…以及122-N中的任何記憶體元件均可藉由第4圖所示3D NAND型快閃記憶體來實現,但本發明不限於此。
根據此實施例,3D NAND型快閃記憶體可包含排列於3D結構中的多個記憶體細胞,例如分別排列於和Z軸垂直的Nz層中並且在分別對應X軸、Y軸和Z軸的三個方向上對齊的(Nx * Ny * Nz)個記憶體細胞{{M(1, 1, 1), …, M(Nx, 1, 1)}, {M(1, 2, 1), …, M(Nx, 2, 1)}, …, {M(1, Ny, 1), …, M(Nx, Ny, 1)}}、{{M(1, 1, 2), …, M(Nx, 1, 2)}, {M(1, 2, 2), …, M(Nx, 2, 2)}, …, {M(1, Ny, 2), …, M(Nx, Ny, 2)}}、…以及{{M(1, 1, Nz), …, M(Nx, 1, Nz)}, {M(1, 2, Nz), …, M(Nx, 2, Nz)}, …, {M(1, Ny, Nz), …, M(Nx, Ny, Nz)}},還可包含用來進行選擇控制多個選擇電路,例如排列於該Nz層之上的上層中的(Nx * Ny)個上層選擇電路{MBLS(1, 1), …, MBLS(Nx, 1)}、{MBLS(1, 2), …, MBLS(Nx, 2)}、…以及{MBLS(1, Ny), …, MBLS(Nx, Ny)}以及排列於該Nz層之下的下層中的(Nx * Ny)個下層選擇電路{MSLS(1, 1), …, MSLS(Nx, 1)}、{MSLS(1, 2), …, MSLS(Nx, 2)}、…以及{MSLS(1, Ny), …, MSLS(Nx, Ny)}。另外,該3D NAND型快閃記憶體還可包含用來進行存取控制的多個位元線和多個字線,例如排列在該上層之上的頂層中的Nx個位元線BL(1)、…和BL(Nx)以及分別排列在該Nz層中的(Ny * Nz)個字線{WL(1, 1), WL(2, 1), …, WL(Ny, 1)}、{WL(1, 2), WL(2, 2), …, WL(Ny, 2)}、…以及{WL(1, Nz), WL(2, Nz), …, WL(Ny, Nz)}。此外,該3D NAND型快閃記憶體還可包含用來進行選擇控制的多個選擇線,例如排列在該上層中的Ny個上層選擇線BLS(1)、BLS(2)、…以及BLS(Ny)以及排列在該下層中的Ny個下層選擇線SLS(1)、SLS(2)、…以及SLS(Ny),且還可包含用來提供參考位準的多個源線,例如排列在該下層之下的底層中的Ny個源線SL(1)、SL(2)、…以及SL(Ny)。
如第4圖所示,該3D NAND型快閃記憶體可沿Y軸分為Ny個電路模組PS2D(1)、PS2D(2)、…以及PS2D(Ny)。為了便於理解,這些電路模組 PS2D(1)、PS2D(2)、…以及PS2D(Ny)可以具有與內有排列在單層中的記憶體細胞的一平面NAND型快閃記憶體相類似的某些電氣特性,因此可以分別視為虛擬二維(pseudo-2D)電路模組,但本發明不限於此。此外,電路模組PS2D(1)、PS2D(2)、…以及PS2D(Ny)中的任何一個電路模組PS2D(ny)可包含Nx個次級電路模組S(1, ny)、…以及S(Nx, ny),其中“ny”表示於區間[1, Ny]內的任何整數。例如,電路模組PS2D(1)可包含Nx個次級電路模組S(1, 1)、…以及S(Nx, 1),電路模組PS2D(2)可包含Nx個次級電路模組S(1, 2)、…以及S(Nx, 2),…,電路模組PS2D(Ny)可包含Nx個次級電路模組S(1, Ny)、…以及S(Nx, Ny)。在電路模組PS2D(ny)中,次級電路模組S(1, ny)、…以及S(Nx, ny)中的任一次級電路模組S(nx, ny)可包含Nz個記憶體細胞M(nx, ny, 1)、M(nx, ny, 2)、…以及M(nx, ny, Nz),並可包含與這些記憶體細胞M(nx, ny, 1)、M(nx, ny, 2)、…以及M(nx, ny, Nz)對應的一組選擇電路,例如上層選擇電路MBLS(nx, ny)和下層選擇電路 MSLS(nx, ny),其中“nx”表示於區間[1, Nx]內的任何整數。上層選擇電路MBLS(nx, ny)和下層選擇電路MSLS(nx, ny)以及記憶體細胞M(nx, ny, 1)、M(nx, ny, 2)、…和M(nx, ny, Nz)可使用電晶體來實現。例如,上層選擇電路MBLS(nx, ny)和下層選擇電路MSLS(nx, ny)可使用普通的電晶體而不使用浮動閘,且記憶體細胞M(nx, ny, 1)、M(nx, ny, 2)、…和M(nx, ny, Nz)中的任何記憶體細胞M(nx, ny, nz)可使用浮動閘電晶體來實現,其中“nz”表示於區間[1, Nz]內的任何整數,但本發明不限於此。此外,電路模組PS2D(ny)中的上層選擇電路 MBLS(1, ny)、…以及MBLS(Nx, ny)可根據對應的選擇線BLS(ny)上的選擇信號來進行選擇,而電路模組PS2D(ny)中的下層選擇電路MSLS(1, ny)、…以及MSLS(Nx, ny)則可根據對應的選擇線SLS(ny)上的選擇信號來進行選擇。
為了更好地理解,第4圖中所示的架構、電路模組{PS2D(ny) | ny = 1 … Ny}、次級電路模組{S(nx, ny) | nx = 1 … Nx, ny = 1 … Ny}、記憶體細胞{M(nx, ny, nz) | nx = 1 … Nx, ny = 1 … Ny, nz = 1 … Nz}和位元線{BL(Nx) | nx = 1 … Nx}可分別作為在第3圖所示實施例中,區塊{BLK0, BLK1, …}中的上述任何區塊BLK、字線組{WL0, WL1, …}、子區塊(或串){SB0, SB1, …}、記憶體細胞{M}和位元行的例子,但本發明不限於此。
第5圖於其子圖(a)、(b)和(c)分別繪示了本發明不同實施例中之該方法的第一、第二和第三種RAID同位位置控制方案。第一種RAID同位位置控制方案中的同位可視為跨通道(cross-channel)RAID保護同位(或稱為「跨通道同位」)。以四平面快閃記憶體作為快閃記憶體模組120的例子,上述任何快閃記憶體元件122-n可以實現為具有多個平面{PL}例如四個平面{PL0, PL1, PL2, PL3}的快閃記憶體晶片/裸晶,每個平面PL(例如,平面{PL}中的任一平面)包含多個區塊{BLK}諸如區塊{BLK0, BLK1, …},而快閃記憶體控制器110可用快閃記憶體模組120的多個通道{CH}中的一對應的通道CH內的多個晶片啟用信號{CE}中的一對應的晶片啟用信號CE來選擇性地啟用或禁用快閃記憶體元件122-n,以容許該多個通道{CH}中的任何通道CH(例如該對應的通道CH)內的所有快閃記憶體元件(例如,快閃記憶體元件122-n)能夠共享上述之任何通道CH內的一編碼器(未在第5圖中顯示)與這些快閃記憶體元件之間的一總線,並且在需要時,輪流/依次存取(例如讀取或寫入)共享該總線的這些快閃記憶體元件,以最大化吞吐量。
假設多個通道{CH}包含通道{CH0, CH1},並且多個晶片啟用信號{CE}包含晶片啟用信號{CE0, CE1},快閃記憶體控制器110可根據子圖(a)所示的第一種RAID同位位置控制方案,利用RAID電路132進行RAID保護處理,以便為上述任何字線組(例如:字線組WL0),在與通道CH1內的晶片啟用信號CE1相對應的晶片/裸晶的平面PL3中的子區塊(或串)SB3生成RAID同位,但本發明不限於此。快閃記憶體控制器110可以以通道內方式生成同位,這些同位可視為通道內RAID保護同位(或「通道內同位」)。例如,在子圖(b)所示的實施例中,快閃記憶體控制器110可在增強型資料保護電路133的協助下進行增強型資料保護處理,以便為上述任何字線組(例如字線組WL0),在分別與通道{CH0, CH1}內的晶片啟用信號{CE0, CE1}相對應的晶片/裸晶的平面{PL0, PL1, PL2, PL3}的每個平面PL中的子區塊(或串){SB0, SB1, SB2, SB3}之各自的結尾部分生成同位;並且,在子圖(c)所示的實施例中,假設區塊{BLK}配置為TLC區塊,快閃記憶體控制器110可以在增強型資料保護電路133的協助下進行增強型資料保護處理,以便為上述任何字線組(例如字線組WL0),在分別與通道{CH0, CH1}內的晶片啟用信號{CE0, CE1}相對應的晶片/裸晶的平面{PL0, PL1, PL2, PL3}的每個平面PL中的子區塊(或串)SB3的結尾部分生成同位。這只是為舉例說明,並非對本發明的限制。根據某些其它實施例,快閃記憶體模組120中的記憶體細胞(例如TLC)的每細胞的階數(例如三)、快閃記憶體模組120中的通道{CH}(例如通道{CH0, CH1})的通道數(例如二)、上述任何通道CH(例如通道{CH0, CH1}的其中之一)內的晶片啟用信號{CE}的晶片啟用信號數(例如二)、與上述任何通道CH內的任何晶片啟用信號CE(例如晶片啟用信號{CE0, CE1}的其中之一)相對應的晶片/裸晶的平面{PL}的平面數(例如四)、上述任何字線組(例如字線組WL0)內的子區塊/串{SB}的子區塊/串數(例如四)、及/或同位位置可有所不同。
第6圖於其下半部繪示了本發明一實施例之該方法中的通道內資料擴展與編碼控制方案,並在第6圖的上半部繪示了通道內編碼控制方案,以便更好地理解。假設記憶體裝置100的一個或多個功能可以暫時禁用,以容許快閃記憶體控制器110和快閃記憶體模組120根據第6圖上半部所示的通道內編碼控制方案進行操作,但本發明不限於此。基於通道內編碼控制方案,快閃記憶體控制器110可以利用第1圖所示ECC電路131內的ECC編碼器610(例如:LDPC碼編碼器)對來自快閃記憶體控制器110內的時間分配緩衝器(time sharing buffer,TSB)600的多個資料組塊進行編碼,以生成多個編碼資料組塊(encoded data chunk)作為資料{DATA0, DATA1, …},以供在晶片啟用信號{CE}諸如晶片啟用信號{CE0, CE1, …}的控制下,輪流編程/寫入至同一通道CH中的裸晶中。儘管ECC電路131和RAID電路132可分別進行ECC編碼/解碼和RAID編碼/解碼以保護資料,但在上述少數情況下,它們可能不足以保證資料可以從錯誤中恢復。
如第6圖下半部所示,快閃記憶體控制器110可根據該通道內資料擴展與編碼控制方案來操作,以將來自TSB 600的多個資料組塊擴展為擴展資料,例如,該多個資料組塊與多個同位組塊彼此交錯排列,其每個同位組塊包含該多個資料組塊中的一組資料組塊的同位,從而達到更好的整體性能。尤其,針對該多個通道CH中的上述任何通道CH,第1圖所示增強型資料保護電路133可包含一通道內緩衝器601,其緩衝大小可等於或接近4KB(標示為“4KB緩衝器”以求簡明),且另包含一多工器電路602(標示為“MUX”以求簡明),可藉由其選擇信號SEL來控制,以及用來將通道內緩衝器601耦接於TSB 600與ECC編碼器610之間的相關的信號路徑。快閃記憶體控制器110可在大多數情況下預設禁用增強型資料保護電路133,且在上述少數情況(例如:第2圖右下角顯示的長尾情況)下有需要時啟用增強型資料保護電路133。在藉由一回流製程如上述者將該記憶體裝置100安裝到電子裝置10(例如該多功能運具內系統)內的一PCB之前就應當將大量資料預加載到記憶體裝置100(或快閃記憶體模組120)中的情況下,快閃記憶體控制器110可在預加載操作的期間啟用增強型資料保護電路133,進行資料擴展作為非常規資料保護處理來預備擴展資料以生成要編程到快閃記憶體模組120中的資料,同時使用常規資料保護處理諸如ECC電路131的ECC保護處理和RAID電路132的RAID保護處理,以供用常規資料保護處理和非常規資料保護處理這兩者保護預加載資料,並且可在電子裝置10(例如該多功能運具內系統)的系統層次初始化的期間,啟用增強型資料保護電路133,對預加載資料進行擴展至非擴展儲存格式轉換,以對快閃記憶體模組120中的預加載資料進行GC同時進行資料更正。
例如,在預加載操作期間,快閃記憶體控制器110可使用增強型資料保護電路133對來自主機裝置的主機資料,例如傳送自主機裝置並緩衝於TSB 600中的資料,進行資料擴展,以生成對應於主機資料的一系列小組塊,諸如具有共同大小(其可小於並接近4KB)的組塊,包含交錯排列的資料組塊和同位組塊,以上生成是在將這些小組塊送入ECC編碼器610之前,以便將同位組塊打包於資料組塊之間而一起打包成一種擴展儲存格式(expansion storage format),猶如同位組塊是來自TSB 600的主機資料的部分,以供編程到快閃記憶體模組120中。於是,快閃記憶體控制器110可利用ECC編碼器610對擴展資料進行編碼(例如,彼此交錯排列的資料組塊和同位組塊)以生成編碼擴展資料(encoded expanded data)(例如,彼此交錯排列的編碼資料組塊和編碼同位組塊)作為資料{DATA0, DATA1, …},以供在晶片啟用信號{CE}諸如晶片啟用信號{CE0, CE1, …}的控制下,輪流編程/寫入至同一通道CH中的裸晶中。藉由進行資料擴展以使預加載資料係以擴展儲存格式儲存來進行增強型資料保護,這樣預加載資料就能在快閃記憶體裝置100(或其內的快閃記憶體模組120)中保持可從錯誤中恢復之可恢復性。
在系統層次初始化的期間,快閃記憶體控制器110可對快閃記憶體模組120中的預加載資料進行GC,將預加載資料中的一組資料組塊從源區塊BLK
SOURCE複製到目的地區塊BLK
DESTINATION,尤其,在將資料組塊從源區塊BLK
SOURCE複製到目的地區塊BLK
DESTINATION之前,選擇性地進行錯誤更正來恢復該組資料組塊,以使目的地區塊{BLK
DESTINATION}中的最終的資料組塊以非擴展儲存格式儲存,便於在系統層次初始化後進行正常使用。例如,如果快閃記憶體模組120內的預加載資料中的該組資料組塊無錯誤,快閃記憶體控制器110可保留這些資料組塊,並丟棄用來保護資料組塊的同位組塊;否則,在檢測到預加載資料中的該組資料組塊存在錯誤的情況下,快閃記憶體控制器110會根據同位組塊對該組資料組塊進行錯誤更正,以恢復該組資料組塊,之後丟棄錯誤的資料組塊及同位組塊。這樣,預加載資料就能在高溫回流製程和異常溫度儲存後保持可恢復性。由於進行擴展至非擴展儲存格式轉換(或垃圾回收以及錯誤更正)的時間被隱藏在進行系統層次初始化的時間中,沒有人會抱怨這個過程需要額外的時間,這是因為系統層次初始化本身可能需要很長時間,例如一小時或更長時間。
針對電子裝置10如多功能運具內系統的某些實施細節可進一步說明如下。根據某些實施例,主機裝置50可配備簡單通信元件(例如:UART及/或符合互連積體電路(inter-integrated circuit, I
2C)規範的通信端口),以提供一選項,是在系統層次初始化之前,由處理器52(例如中央處理單元(CPU))透過簡單通信元件以低資料速率將多功能運具內系統的系統資料加載到記憶體裝置100(或其內的快閃記憶體模組120)中。多功能運具內系統的系統資料可以有12吉位元組(gigabytes,GB)的資料大小SIZE
SYSTEM,而藉由簡單通信元件以低資料速率加載這些系統資料所需的總時間過長,所以使用這個選項來實現多功能運具內系統是不實際的。因此,在藉由回流製程將記憶體裝置100安裝到PCB上之前,將大量資料預加載到記憶體裝置100(或快閃記憶體模組120)中如前面所述為必須。假設快閃記憶體模組120的儲存容量SIZE
CAPACITY為16 GB,則系統資料大小SIZE
SYSTEM對儲存容量SIZE
CAPACITY的比率RATIO
SYSTEM-to-CAPACITY可以表示如下:
RATIO
SYSTEM-to-CAPACITY= (SIZE
SYSTEM/ SIZE
CAPACITY) = (12 / 16) = 75%;
但本發明不限於此。另外,假設以TLC快閃記憶體作為快閃記憶體模組120的例子,對於快閃記憶體模組120內的所有記憶體細胞{M}中的任何記憶體細胞M,八個編程狀態中的某個編程狀態可能會因該回流製程中的高溫而損壞,導致常規資料保護處理(例如:ECC電路131的ECC保護處理和RAID電路132的RAID保護處理)變得不足以保證預加載資料在高溫回流製程後仍能從錯誤中恢復。藉由使用上述的增強型資料保護處理,預加載資料可以在高溫回流製程和異常溫度儲存後保持可恢復性。
表1A
表1B
| 組塊 #1 | 組塊 #2 | 組塊 #3 | 組塊 #4 |
| 資料組塊 | 資料組塊 | 資料組塊 | 同位組塊 |
| 編碼組塊 #1 | 編碼組塊 #2 | 編碼組塊 #3 | 編碼組塊 #4 |
| 編碼資料組塊 | 編碼資料組塊 | 編碼資料組塊 | 編碼同位組塊 |
表1A展示了該擴展儲存格式的例子,而表1B展示了對應於該擴展儲存格式的擴展ECC編碼資料格式(expanded ECC-encoded data format)的例子,其中快閃記憶體控制器110可使用增強型資料保護電路133進行資料擴展以用擴展儲存格式(例如:在每四個組塊中有三個資料組塊後面跟隨著其一個同位組塊之格式)準備該系列小組塊如表1A所示,並且用擴展ECC編碼資料格式(例如:在每四個編碼組塊(encoded chunk)中有三個編碼資料組塊後面跟隨著與該三個編碼資料組塊相對應的一個編碼同位組塊(encoded parity chunk)之格式)生成ECC編碼資料如表1B所示,但本發明不限於此。根據某些實施例,擴展儲存格式、擴展ECC編碼資料格式、擴展儲存格式中同位組塊數對資料組塊數的比率、及/或擴展ECC編碼資料格式中編碼同位組塊數對編碼資料組塊數的比率可有所不同。
第7圖根據本發明一實施例繪示了第6圖所示之該通道內資料擴展與編碼控制方案的某些實施細節。第1圖所示的增強型資料保護電路133可包含第6圖中所示的TSB 600和通道內緩衝器601,並可另包含一異或(exclusive OR,簡稱XOR)計算電路701及其相關信號路徑,用於進行資料擴展。例如,快閃記憶體控制器110可使用增強型資料保護電路133進行資料擴展以用擴展儲存格式準備該系列小組塊如表1A所示,且相關操作可包含:
(1) 在資料擴展的多個階段中的一初始階段,增強型資料保護電路133可清除通道內緩衝器601以預設地設置一空組塊(null chunk),例如所有位元都是零的零組塊;
(2) 在該多個階段中的一第一階段,增強型資料保護電路133可從TSB 600獲取資料組塊A,並將資料組塊A輸出作為表1A所示的擴展儲存格式中的組塊#1(例如資料組塊),並對通道內緩衝器601中的該空組塊(例如該零組塊)和來自TSB 600的資料組塊A使用XOR計算電路701進行逐位元(bitwise)XOR運算,以生成一第一XOR計算結果711,其等於資料組塊A;
(3) 在該多個階段中的一第二階段,增強型資料保護電路133可從TSB 600獲取資料組塊B,並將資料組塊B輸出作為表1A所示的擴展儲存格式中的組塊#2(例如資料組塊),並對通道內緩衝器601中的第一XOR計算結果711(例如資料組塊 A)和來自TSB 600的資料組塊B使用XOR計算電路701進行逐位元XOR運算,以生成一第二XOR計算結果712,其等於資料組塊A和B的逐位元XOR計算結果;
(4) 在該多個階段中的一第三階段,增強型資料保護電路133可從TSB 600獲取資料組塊C,並將資料組塊C輸出作為表1A所示的擴展儲存格式中的組塊#3(例如資料組塊),並對通道內緩衝器601中的第二XOR計算結果712(例如:資料組塊A和B的逐位元XOR計算結果)和來自TSB 600的資料組塊C使用XOR計算電路701進行逐位元XOR運算,以生成一第三XOR計算結果713,其等於資料組塊A、B和C的逐位元XOR計算結果;以及
(5) 在該多個階段中的一第四階段,增強型資料保護電路133可將第三XOR計算結果713(例如:資料組塊A、B和C的逐位元XOR計算結果)輸出作為表1A所示的擴展儲存格式中的組塊#4(例如同位組塊);
其中增強型資料保護電路133可根據選擇信號SEL選擇性地設置多工器電路602,將其設置為一預設輸入狀態(例如:一資料組塊輸入狀態),對應於一預設輸入(例如:用以接收資料組塊的下輸入端,如第6圖所示),以便在第一階段、第二階段和第三階段分別將資料組塊A、B和C發送到ECC編碼器 610;並且增強型資料保護電路133可根據選擇信號SEL選擇性地設置多工器電路602,將其設置為一第一預定輸入狀態(例如:一同位組塊輸入狀態),對應於一第一預定輸入(例如:用以接收同位組塊的上輸入端,如第6圖所示),以便在第四階段將第三XOR計算結果713(例如:資料組塊A、B和C的逐位元XOR計算結果)發送到ECC編碼器610,但本發明不限於此。在某些例子中,擴展儲存格式以及在擴展儲存格式中的同位組塊數對資料組塊數的比率可有所不同,且相關操作也可隨之變化。
表2A
表2B
| 組塊 #1 … #(P - 1) | 組塊 #P |
| 資料組塊 | 同位組塊 |
| 編碼組塊 #1 … #(P - 1) | 編碼組塊 #P |
| 編碼資料組塊 | 編碼同位組塊 |
表2A展示了該擴展儲存格式的另一例子,而表2B展示了對應於該擴展儲存格式的擴展ECC編碼資料格式的另一例子,其中快閃記憶體控制器110可使用增強型資料保護電路133進行資料擴展以用擴展儲存格式(例如:在每P個組塊中有(P - 1)個資料組塊後面跟隨著其一個同位組塊之格式)準備該系列小組塊如表2A所示,並且用擴展ECC編碼資料格式(例如:在每P個編碼組塊中有(P - 1)個編碼資料組塊後面跟隨著與該(P - 1)個編碼資料組塊相對應的一個編碼同位組塊之格式)生成ECC編碼資料如表2B所示,但本發明不限於此。根據某些實施例,擴展儲存格式、擴展ECC編碼資料格式、擴展儲存格式中同位組塊數(例如1)對資料/同位組塊數(例如P)之比率(1 / P)、及/或擴展ECC編碼資料格式中編碼同位組塊數(例如1)對編碼資料/同位組塊數(例如P)之比率(1 / P)可有所變化。
第8圖根據本發明一實施例繪示了該方法的多平面編程序列控制方案,其中子圖(a)和子圖(b)分別對應於P = 4和P = 8的情況。以TLC快閃記憶體作為快閃記憶體模組120的例子,有一區塊BLK係可配置(configurable)為一單階細胞(single-level cell,SLC)區塊,當同一個區塊BLK被配置為一TLC區塊時,這個區塊BLK中的一個頁面可以被拆分為與TLC的三階相對應的三個頁面,諸如分別與該三階中的低階、中階和高階相對應的一低階頁面L
P、一中階頁面M
P和一高階頁面U
P,其中與該多個通道{CH}中的上述任何通道CH內的上述任何晶片啟用信號CE(例如:晶片啟用信號{CE0, CE1}的其中之一)相對應的晶片/裸晶中的平面{PL}可包含平面{PL0, PL1, PL2, PL3},但本發明不限於此。根據某些實施例,快閃記憶體模組120中的記憶體細胞(例如TLC)的每細胞的階數(例如三)、及/或與上述任何通道CH內的上述任何晶片啟用信號CE(例如晶片啟用信號{CE0, CE1}的其中之一)相對應的晶片/裸晶中的平面{PL}的平面數(例如四)可有所不同。另外,用於多平面快閃記憶體(例如四平面快閃記憶體)中與相同頁面位址相對應的一組頁面的編程序列可以是「跨平面優先」(cross-plane first)的序列(或稱為「跨平面優先編程序列」),其順序為:在平面PL0中的低階頁面L
P,在平面PL1中的低階頁面L
P,在平面PL2中的低階頁面L
P,以及在平面PL3中的低階頁面L
P(標示為“L
P(PL0, PL1, PL2, PL3)”以求簡明);在平面PL0中的中階頁面M
P,在平面PL1中的中階頁面M
P,在平面PL2中的中階頁面M
P,以及在平面PL3中的中階頁面M
P(標示為“M
P(PL0, PL1, PL2, PL3)”以求簡明);以及在平面PL0中的高階頁面U
P,在平面PL1中的高階頁面U
P,在平面PL2中的高階頁面U
P,以及在平面PL3中的高階頁面U
P(標示為“U
P(PL0, PL1, PL2, PL3)”以求簡明)。
例如,當P = 4時,增強型資料保護電路133可從TSB 600獲取三個資料組塊A1、A2和A3(例如第7圖所示實施例中的資料組塊A、B和C)並將這三個資料組塊A1、A2和A3輸出作為表2A所示的擴展儲存格式中的組塊#1…#(P - 1)(例如:(P - 1)個資料組塊,其中(P - 1) = 3),且進行三個逐位元XOR運算以分別生成第一至第三XOR計算結果711、712和713,以將第三XOR計算結果713(例如:三個資料組塊A1、A2和A3的逐位元XOR計算結果)輸出作為表2A所示的擴展儲存格式中的組塊#P(例如:同位組塊)。ECC編碼器610可對這三個資料組塊A1、A2和A3進行編碼以分別生成對應於這三個資料組塊A1、A2和A3的三個4KB編碼資料組塊,並對同位組塊(例如:這三個資料組塊A1、A2和A3的逐位元XOR計算結果)進行編碼以生成對應於該同位組塊的一4KB編碼同位組塊,且將這三個4KB編碼資料組塊和該4KB編碼同位組塊輸出作為多組16KB資料中的一組16KB資料,以供被編程/寫入快閃記憶體模組120。為了更好地理解,可以在子圖(a)所示的時序圖中,於平面{PL0, PL1, PL2, PL3}之各自的低階/中階/高階頁面{L
P, M
P, U
P}之各自的16KB資料下方標示出一系列4KB ECC組塊例如4KB編碼資料/同位組塊。
在另一例子中,當P = 8時,增強型資料保護電路133可從TSB 600獲取七個資料組塊A1、A2、…和A7(例如:第7圖所示實施例中的資料組塊A、B和C,以及再多四個資料組塊諸如四個後續資料組塊D、E、F和G,未顯示於第7圖中)並將這七個資料組塊A1、A2、…和A7輸出作為表2A所示的擴展儲存格式中的組塊#1…#(P - 1)(例如:(P - 1)個資料組塊,其中(P - 1) = 7),且進行七個逐位元XOR運算以分別生成七個對應的XOR計算結果諸如第一至第七XOR計算結果711、712、713等,以將第七XOR計算結果(例如:七個資料組塊A1、A2、…和A7的逐位元XOR計算結果)輸出作為表2A所示的擴展儲存格式中的組塊#P(例如:同位組塊)。ECC編碼器610可對這七個資料組塊A1、A2、…和A7進行編碼以分別生成對應於這七個資料組塊A1、A2、…和A7的七個4KB編碼資料組塊,並對同位組塊(例如:這七個資料組塊A1、A2、…和A7的逐位元XOR計算結果)進行編碼以生成對應於該同位組塊的一4KB編碼同位組塊,且將這七個4KB編碼資料組塊和該4KB編碼同位組塊輸出作為多組16KB資料中的兩組16KB資料,以供被編程/寫入快閃記憶體模組120。為了更好地理解,可以在子圖(b)所示的時序圖中,於平面{PL0, PL1, PL2, PL3}之各自的低階/中階/高階頁面{L
P, M
P, U
P}之各自的16KB資料下方標示出一系列4KB ECC組塊例如4KB編碼資料/同位組塊。
無論擴展儲存格式中的資料/同位組塊數P(或擴展ECC編碼資料格式中的編碼資料/同位組塊數P)是等於四或八,或任何其它值,相關操作可包含:
(1) 快閃記憶體控制器110可首先向快閃記憶體模組120發送一命令;
(2) 快閃記憶體控制器110可藉由通道CH內的總線(或其上的資料信號{DQ0, … , DQ7})向快閃記憶體模組120發送四組16KB資料(例如:平面PL0、PL1、PL2和PL3中的低階頁面{L
P}之各自的16KB資料);
(3) 快閃記憶體控制器110可向快閃記憶體模組120發送另一命令;
(4) 快閃記憶體控制器110可藉由通道CH內的總線(或其上的資料信號{DQ0, … , DQ7})向快閃記憶體模組120發送另外四組16KB資料(例如:平面PL0、PL1、PL2和PL3中的中階頁面{M
P}之各自的16KB 資料);
(5) 快閃記憶體控制器110可向快閃記憶體模組120發送又一命令;
(6) 快閃記憶體控制器110可藉由通道CH內的總線(或其上的資料信號{DQ0, … , DQ7})向快閃記憶體模組120發送再四組16KB資料(例如:平面PL0、PL1、PL2和PL3中的高階頁面{U
P}之各自的16KB資料);
(7) 快閃記憶體控制器110可向快閃記憶體模組120發送再兩個命令,以觸發快閃記憶體模組120中相應的編程操作;
其中快閃記憶體模組120可將上述操作中從快閃記憶體控制器110獲得的十二組16KB資料,編程/寫入至與該多個通道{CH}中的上述任何任何通道CH內的上述任何晶片啟用信號CE(例如:晶片啟用信號{CE0, CE1}的其中之一)相對應的晶片/裸晶中。此外,一忙碌信號BZ可從一高位準拉低到一低位準,以指示正在經歷編程操作的晶片/裸晶是處於忙碌狀態,但本發明不限於此。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
根據某些實施例,快閃記憶體控制器110可對快閃記憶體模組120的一內部緩衝器進行直接記憶體存取(direct memory access, DMA)以使上述之十二組16KB資料緩衝在該內部緩衝器中,以供在編程操作的期間被編程,但本發明不限於此。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
第9圖根據本發明不同實施例繪示了第6圖所示之該通道內資料擴展與編碼控制方案所涉及的各種ECC組塊的組合。如子圖(a)所示,在單平面配置下,表2B所示的擴展ECC編碼資料格式中的對應於P = 4的P個編碼組塊#1…#P可包含(3 + 1)個ECC組塊,其中每個ECC組塊包含一資料/同位組塊及其對應的ECC同位跟在其後,這些ECC組塊例如:三個資料組塊A1、A2和A3(例如前述的資料組塊A、B和C),每個資料組塊後面跟隨其對應的ECC同位;並且還有一個同位組塊(例如三個資料組塊A1、A2和A3的逐位元XOR計算結果)後面跟隨著其對應的ECC同位。
如子圖(b)所示,在雙(2)平面配置下,表2B所示的擴展ECC編碼資料格式中的對應於P = 8的P個編碼組塊#1…#P可包含(7 + 1)個ECC組塊,其中每個ECC組塊包含一資料/同位組塊及其對應的ECC同位跟在其後,這些ECC組塊例如:七個資料組塊A1、A2、A3、A4、A5、A6和A7,每個資料組塊後面跟隨其對應的ECC同位;並且還有一個同位組塊(例如七個資料組塊A1、A2、A3、A4、A5、A6和A7的逐位元XOR計算結果)後面跟隨著其對應的ECC同位。
如子圖(c)所示,在四(4)平面配置下,表2B所示的擴展ECC編碼資料格式中的對應於P = 16的P個編碼組塊#1…#P可包含(15 + 1)個ECC組塊,其中每個ECC組塊包含一資料/同位組塊及其對應的ECC同位跟在其後,這些ECC組塊例如:十五個資料組塊A1、A2、A3、A4、A5、…和A15,每個資料組塊後面跟隨其對應的ECC同位;並且還有一個同位組塊(例如十五個資料組塊A1、A2、A3、A4、A5、…和A15的逐位元XOR計算結果)後面跟隨著其對應的ECC同位。
如子圖(d)所示,在六(6)平面配置下,表2B所示的擴展ECC編碼資料格式中的對應於P = 24的P個編碼組塊#1…#P可包含(23 + 1)個ECC組塊,其中每個ECC組塊包含一資料/同位組塊及其對應的ECC同位跟在其後,這些ECC組塊例如:二十三個資料組塊A1、A2、A3、A4、A5、…和A23,每個資料組塊後面跟隨其對應的ECC同位;並且還有一個同位組塊(例如二十三個資料組塊A1、A2、A3、A4、A5、…和A23的逐位元XOR計算結果)後面跟隨著其對應的ECC同位。
如子圖(e)所示,在八(8)平面配置下,表2B所示的擴展ECC編碼資料格式中的對應於P = 32的P個編碼組塊#1…#P可包含(31 + 1)個ECC組塊,其中每個ECC組塊包含一資料/同位組塊及其對應的ECC同位跟在其後,這些ECC組塊例如:三十一個資料組塊A1、A2、A3、A4、A5、…和A31,每個資料組塊後面跟隨其對應的ECC同位;並且還有一個同位組塊(例如三十一個資料組塊A1、A2、A3、A4、A5、…和A31的逐位元XOR計算結果)後面跟隨著其對應的ECC同位。
根據某些實施例,涉及擴展ECC編碼資料格式的平面{PL}之平面數(例如:一、二、四、六或八)、根據擴展ECC編碼資料格式來排列的ECC組塊的ECC組塊數P(根據擴展ECC編碼資料格式排列的ECC組塊數量)、及/或ECC組塊的組合可有所不同。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
第10圖於其子圖(a)和(b)分別繪示了本發明一實施例中的第四種RAID同位位置控制方案及相關的裸晶RAID保護單元1020。假設該多個通道{CH}包含通道{CH0, CH1, CH2, CH3}且該多個晶片啟用信號{CE}包含晶片啟用信號{CE0, CE1},並且區塊{BLK}係配置為TLC區塊,快閃記憶體控制器110可藉助於增強型資料保護電路133進行增強型資料保護處理,以便為上述任何字線組(例如:字線組WL0),在分別與通道{CH0, CH1, CH2, CH3}內的晶片啟用信號{CE0, CE1}相對應的晶片/裸晶的平面{PL0, PL1, PL2, PL3}的每兩個平面{PL}(例如:平面{PL0, PL1}或平面{PL2, PL3})中的子區塊(或串){SB0, SB1, SB2, SB3}之各自的結尾部分生成同位,但本發明不限於此。根據某些其它實施例,快閃記憶體模組120中的記憶體細胞(例如TLC)的每細胞的階數(例如三)、快閃記憶體模組120中的通道{CH}(例如通道{CH0, CH1, CH2, CH3})的通道數(例如四)、上述任何通道CH(例如通道{CH0, CH1, CH2, CH3}的其中之一)內的晶片啟用信號{CE}的晶片啟用信號數(例如二)、與上述任何通道CH內的上述任何晶片啟用信號CE(例如晶片啟用信號{CE0, CE1}的其中之一)相對應的晶片/裸晶中的平面{PL}的平面數(例如四)、上述任何字線組(例如字線組WL0)內的子區塊/串{SB}的子區塊/串數(例如四)、及/或同位位置可有所不同。舉例來說,由於快閃記憶體控制器110可在各種單平面或多平面配置諸如第9圖所示的單平面配置、雙平面配置、四平面配置、六平面配置、八平面配置等中的任何配置下進行操作,相關操作和相關同位位置可隨配置變化而對應地變化。
如子圖(a)所示,快閃記憶體控制器110可跨通道{CH0, CH1, CH2, CH3}地生成多列(row)ECC組塊中任何一列ECC組塊,諸如第一列ECC組塊1010,並且上述任何一列ECC組塊諸如第一列ECC組塊1010可包含以表2B所示的擴展ECC編碼資料格式排列之對應於P = 8的((8 * 2) * 8)個ECC組塊。當有需要時,快閃記憶體控制器110可利用RAID電路132準備TSB 600中的資料,以生成相應的裸晶RAID保護單元1020。如子圖(b)所示,快閃記憶體控制器110可在RAID電路132的協助下,對跨越與通道{CH0, CH1, CH2, CH3}之各自的晶片啟用信號{CE0, CE1}相對應的晶片/裸晶之多組RAID等級資料(RAID level data){R0, R1, R2, R3, R4, R5, R6}進行RAID保護處理來生成裸晶RAID同位1028(例如:該多組RAID等級資料{R0, R1, R2, R3, R4, R5, R6}的逐位元XOR計算結果),以在裸晶RAID保護單元1020內使用裸晶RAID同位1028保護該多組RAID等級資料{R0, R1, R2, R3, R4, R5, R6}。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第11圖根據本發明一實施例繪示了該方法的一種基於資料擴展的位址映射資訊控制方案。由於快閃記憶體控制器110可藉助於增強型資料保護電路133進行資料擴展,用表2A所示的擴展儲存格式來準備該系列小組塊並且用表2B所示的擴展ECC編碼資料格式來生成ECC編碼資料,因此,預加載資料中可存在一個ECC組塊型樣(pattern),是在每P個編碼組塊中有(P - 1)個編碼資料組塊後面跟隨著與該(P - 1)個編碼資料組塊相對應的這一個編碼同位組塊;並且若暫時忽略這些ECC組塊(例如:該(P - 1)個編碼資料組塊及隨後的這一個編碼同位組塊)之各自的ECC同位,則預加載資料中還可存在一個組塊型樣,是在每P個組塊中有(P - 1)個資料組塊後面跟隨著它們的那個同位組塊。
例如,快閃記憶體控制器110可生成或更新至少一邏輯至物理(logical-to-physical,簡稱L2P)位址映射表,如全局(global)L2P位址映射表1110(標示為"L2P表"以求簡明),來管理物理位址(例如:物理位址{PA0, PA1, PA2, ...})和邏輯位址(例如:邏輯位址{0, 1, 2, ...})之間的關係,並且上述至少一L2P位址映射表,如全局L2P位址映射表1110,可儲存在NV記憶體如快閃記憶體模組120中,以供快閃記憶體控制器110控制儲存裝置100以存取NV記憶體如快閃記憶體模組120中的資料,其中上述至少一L2P位址映射表中的L2P位址映射資訊可包含多個L2P表條目(entry),用於從邏輯位址(例如:全局L2P位址映射表1110中的邏輯位址邏輯位址{0, 1, 2, ...})映射到物理位址(例如:全局L2P位址映射表1110中的物理位址{PA0, PA1, PA2, ...}),但本發明不限於此。此外,快閃記憶體控制器110還可生成或更新至少一物理至邏輯(physical-to-logical,簡稱P2L)位址映射表,如P2L位址映射表1120(標示為"P2L表"以求簡明),以管理邏輯位址(例如:邏輯位址{{LA0, LA1, LA2}, {LA4, LA5, LA6}, ...})和物理位址(例如:物理位址{{0, 1, 2}, {4, 5, 6}, ...})之間的關係,並且上述至少一P2L位址映射表,如P2L位址映射表1120,可儲存在NV記憶體如快閃記憶體模組120中,其中上述至少一P2L位址映射表中的P2L位址映射資訊可包含多個P2L表條目,用於從物理位址(例如:P2L位址映射表1120中的物理位址{{0, 1, 2}, {4, 5, 6}, ...})映射到邏輯位址(例如:P2L位址映射表1120中的邏輯位址{{LA0, LA1, LA2}, {LA4, LA5, LA6}, ...})。當有需要時,快閃記憶體控制器110可參考上述至少一P2L位址映射表,如P2L位址映射表1120,以進行某些內部管理操作諸如GC操作等。
由於預加載資料已經被快閃記憶體控制器110擴展,具有一擴展ECC組塊型樣(expanded ECC chunk pattern)(例如:前述的ECC組塊型樣,是在每P個編碼組塊中有(P - 1)個編碼資料組塊後面跟隨著那一個編碼同位組塊)以及一擴展組塊型樣(expanded chunk pattern)(例如:前述的資料組塊型樣,是在每P個組塊中有(P - 1)個資料組塊後面跟隨著它們的那個同位組塊),故快閃記憶體控制器110可以為所有編碼同位組塊就像表2B所示的擴展ECC編碼資料格式中的編碼組塊#P(或為所有同位組塊就像表2A所示的擴展儲存格式中的組塊#P),在上述至少一P2L位址映射表(如P2L位址映射表1120)中的多個P2L表條目當中生成多個虛擬(pseudo)P2L表條目(例如:多個無效(invalid)P2L表條目),以使得該多個P2L表條目具有對應於該擴展ECC組塊型樣(或該擴展組塊型樣)的一擴展P2L表條目型樣(expanded P2L table entry pattern)。例如,快閃記憶體控制器110可以為上述至少一P2L位址映射表中的該多個P2L表條目當中每P個P2L表條目生成一個虛擬P2L表條目(例如,一個無效P2L表條目)。
如第11圖所示,當P = 4時,快閃記憶體控制器110可生成具有該擴展P2L表條目型樣之該多個P2L表條目,用於將物理位址{{0, 1, 2, 3}, {4, 5, 6, 7}, ...}映射到邏輯位址{{LA0, LA1, LA2, Xpty}, {LA4, LA5, LA6, Xpty}, ...},而該多個虛擬P2L表條目(例如:該多個無效P2L表條目)可包含符合該擴展P2L表條目型樣的P2L表條目1121、1122等,其中"Xpty"可表示虛擬邏輯位址,例如主機裝置50不使用之無效邏輯位址,但本發明不限於此。根據某些實施例,該擴展組塊型樣和該擴展ECC組塊型樣可於該擴展儲存格式、該擴展ECC編碼資料格式、該擴展儲存格式中的資料/同位組塊數P以及該擴展ECC編碼資料格式中的編碼資料/同位組塊數P變化時而跟著變化,且該擴展P2L表條目型樣也可相應地變化。尤其,快閃記憶體控制器110可生成具有該擴展P2L表條目型樣(例如:在每P個P2L表條目中有(P - 1)個真實/有效P2L表條目後面跟隨著一個虛擬/無效P2L表條目之型樣)的該多個P2L表條目,以供從物理位址{{0, 1, …, (P - 2), (P - 1)}, {P, (P + 1), …, ((2 * P) - 2), ((2 * P) - 1)}, …}映射到邏輯位址{{LA0, LA1, …, LA(P - 2), Xpty}, {LA(P), LA(P + 1), …, LA((2 * P) - 2), Xpty}, …}。例如,當P = 8時,快閃記憶體控制器110可生成具有該擴展P2L表條目型樣的該多個P2L表條目,以供將物理位址{{0, 1, 2, 3, 4, 5, 6, 7}, {8, 9, 10, 11, 12, 13, 14, 15}, …}映射到邏輯位址{{LA0, LA1, LA2, LA3, LA4, LA5, LA6, Xpty}, {LA8, LA9, LA10, LA11, LA12, LA13, LA14, Xpty}, …},且第11圖所示的P2L表條目1121中的虛擬/無效邏輯位址Xpty可被一個真實/有效邏輯位址例如邏輯位址LA3所替代。
此外,快閃記憶體控制器110可根據該擴展P2L表條目型樣,將虛擬/無效邏輯位址{Xpty}儲存在上述至少一P2L位址映射表例如P2L位址映射表1120中,以指示儲存在與該多個虛擬P2L表條目(例如:該多個無效P2L表條目)相對應的物理位址(例如:P2L位址映射表1120中的物理位址{3, 7, …})上的ECC組塊是編碼同位組塊就像表2B所示的擴展ECC編碼資料格式中的編碼組塊#P,以容許快閃記憶體控制器110輕易地藉由GC進行上述之擴展至非擴展儲存格式轉換,並在高溫回流製程和異常溫度儲存後能夠無問題地從錯誤中恢復預加載資料。在該擴展至非擴展儲存格式轉換的期間,快閃記憶體控制器110可以輕易地識別編碼同位組塊,以供在檢測到預加載資料中的任何錯誤時進行錯誤更正。從某種觀點來看,虛擬/無效邏輯位址Xpty可視為一個同位旗標,用來指示資料擴展(或其同位生成)與一編碼同位組塊(例如:這些編碼同位組塊的其中之一)被儲存所在的物理位址之間的虛擬位址映射關係,而具有該擴展P2L表條目型樣的該多個P2L表條目則可指示針對編碼資料組塊(就像表2B所示的擴展ECC編碼資料格式中的編碼組塊#1至#(P - 1))之真實位址映射關係以及針對編碼同位組塊(就像表2B所示的擴展ECC編碼資料格式中的編碼組塊#P)之虛擬位址映射關係。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
如第11圖所示,快閃記憶體控制器110可在上述至少一L2P位址映射表例如全域L2P位址映射表1110中記錄該多個L2P表條目以將它們記錄為L2P表條目{(0, PA0), (1, PA1), (2, PA2), …},並在上述至少一P2L位址映射表例如P2L位址映射表1120中記錄該多個P2L表條目以將它們記錄為P2L表條目{{(0, LA0), (1, LA1), (2, LA2), (3, Xpty)}, {(4, LA4), (5, LA5), (6, LA6), (7, Xpty)}, …},但本發明不限於此。根據某些實施例,上述至少一L2P位址映射表例如全域L2P位址映射表1110和上述至少一P2L位址映射表例如P2L位址映射表1120可以有所不同。舉例來說,前述至少一L2P位址映射表中的邏輯位址,諸如全域L2P位址映射表1110中的邏輯位址{0, 1, 2, …},可予以省略,並且快閃記憶體控制器110可將物理位址{PA0, PA1, PA2, …}儲存為該多個L2P表條目,這是因為物理位址{PA0, PA1, PA2, …}的排列順序可對應於全域L2P位址映射表1110中的邏輯位址{0, 1, 2, …}。在另一個例子中,前述至少一P2L位址映射表中的物理位址,諸如P2L位址映射表1120中的物理位址{{0, 1, 2, 3}, {4, 5, 6, 7}, …},也可予以省略,並且快閃記憶體控制器110可將邏輯位址{{LA0, LA1, LA2, Xpty}, {LA4, LA5, LA6, Xpty}, …}儲存為該多個P2L表條目,這是因為邏輯位址{{LA0, LA1, LA2, Xpty}, {LA4, LA5, LA6, Xpty}, …}的排列順序可對應於P2L位址映射表1120中的物理位址{{0, 1, 2, 3}, {4, 5, 6, 7}, …}。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
根據某些實施例,全域L2P位址映射表1110可位於某個NV記憶體元件如快閃記憶體元件122-1中的預定區域中,例如系統區域,但本發明不限於此。舉例來說,全域L2P位址映射表1110可被劃分為多個局部L2P位址映射表,而這些局部L2P位址映射表可被儲存在多個快閃記憶體元件122-1、122-2、…和122-N中的一個或多個,尤其,可分別被儲存在這些快閃記憶體元件122-1、122-2、…和122-N中。當有需要時,快閃記憶體控制器110可將全域L2P位址映射表1110的至少一部分(例如一部分或全部)加載到RAM 116或其它記憶體中。舉例來說,快閃記憶體控制器110可將該多個局部L2P位址映射表中的一局部L2P位址映射表(例如:一第一局部L2P位址映射表)加載到RAM 116中以作為一暫時L2P位址映射表,用於根據儲存為該暫時L2P位址映射表的該局部L2P位址映射表來存取NV記憶體如快閃記憶體模組120中的資料。此外,前述至少一P2L位址映射表例如P2L位址映射表1120也可以被劃分為多個局部P2L位址映射表,這些局部P2L位址映射表可被儲存在多個快閃記憶體元件122-1、122-2、…和122-N中的一個或多個,尤其,可分別被儲存在這些快閃記憶體元件122-1、122-2、…和122-N中。當有需要時,快閃記憶體控制器110可將上述至少一P2L位址映射表(例如:P2L位址映射表1120)的至少一部分(例如一部分或全部)加載到RAM 116或其它記憶體中。快閃記憶體控制器110可將該多個局部P2L位址映射表中的一局部P2L位址映射表(例如:一第一局部P2L位址映射表)加載到RAM 116中以作為一暫時P2L位址映射表,用於根據儲存為該暫時P2L位址映射表的該局部P2L位址映射表來進行內部管理操作諸如GC操作等。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
第12圖在其子圖(a)和(b)分別繪示了根據本發明一實施例之該方法的正常格式恢復與資料恢復控制方案以及相關的裸晶RAID保護單元。第6圖所示實施例中所提到的預加載操作、回流製程和擴展至非擴展儲存格式轉換可分別稱為預加載操作1201(標示為「預加載」以求簡明)、回流製程1202(標示為「回流」以求簡明)和擴展至非擴展儲存格式轉換1204,而第6圖所示實施例中所提到的系統層次初始化則可實現為一系統層次初始化工作流程,如系統層次初始化流程1203。
在與回流製程1202相對應的安裝操作例如透過回流製程1202將記憶體裝置100安裝到電子裝置10(例如多功能運具內系統)內的主機裝置50的PCB上的操作之前,快閃記憶體控制器110可在製造工具的控制下進行預加載操作1201,其中將預加載到記憶體裝置100中的資料可以事先儲存在製造工具內的資料儲存裝置中。製造工具可在記憶體裝置100與主機裝置50藉由安裝操作彼此耦接之前,被配置為充當另一主機裝置。為了更好理解,製造工具可藉由運行著一製造工具程式模組的一台個人電腦來實現,並且可配備用於將記憶體裝置100耦接到製造工具的橋接裝置,且製造工具內的資料儲存裝置可藉由硬式磁碟機(hard disk drive, HDD)來實現,但本發明不限於此。針對將記憶體裝置100安裝到PCB上,記憶體裝置100可經歷回流製程1202,此製程包含在超過正常室溫(例如25°C)的高溫(例如最高可達260°C)下進行一個或多個預定時間段的加熱(例如:三至十五秒,三次),這可導致已被預加載到記憶體裝置100中的資料出現許多錯誤。在系統層次初始化流程1203的期間,快閃記憶體控制器110可透過GC進行擴展至非擴展儲存格式轉換1204。例如,擴展至非擴展儲存格式轉換1204的操作可包含GC與錯誤更正操作以供在GC的期間更正預加載資料中的多個錯誤。由於先前藉由預加載操作1201儲存到記憶體裝置100中的預加載資料可符合如表2B所示的擴展ECC編碼資料格式以提供編碼同位組塊就像擴展ECC編碼資料格式中的編碼組塊#P,以供進行錯誤更正操作,因此即使發生許多錯誤,預加載資料仍能從錯誤中恢復。
快閃記憶體控制器110可進行GC以將預加載資料的儲存格式從如表2B所示的擴展ECC編碼資料格式(例如:在每P個編碼組塊中有(P - 1)個編碼資料組塊後面跟隨著與該(P - 1)個編碼資料組塊相對應的一個編碼同位組塊之格式)轉換為正常ECC編碼資料格式(例如:P個編碼資料組塊之格式,無上述與該(P - 1)個編碼資料組塊相對應的一個編碼同位組塊)。於是,快閃記憶體控制器110可從預加載資料中收集所有資料組塊並且用ECC編碼器610生成相應的編碼資料組塊(例如4KB編碼資料組塊)以作為最新的ECC資料組塊諸如這一列ECC資料組塊1210,且釋放先前在預加載操作1201的期間以擴展ECC編碼資料格式儲存的預加載資料所佔據的總儲存空間中的部分儲存空間,尤其,釋放與上述編碼同位組塊大小相同(或大致相同)的部分儲存空間,其中相關的儲存空間釋放比率(例如:釋放的部分儲存空間的容量對總儲存空間的容量之比率)可等於(或大致等於)該擴展ECC編碼資料格式中編碼同位組塊數(例如1)對編碼資料/同位組塊數(例如P)之比率(1 / P)。
如第12圖的子圖(a)所示,當P = 8時,擴展ECC編碼資料格式可表示(7 + 1)個ECC組塊的格式(例如七個編碼資料組塊加上一個編碼同位組塊),而正常ECC編碼資料格式則可表示(8 + 0)個ECC組塊的格式(例如八個編碼資料組塊加上零個編碼同位組塊,沒有上述的那個編碼同位組塊),但本發明不限於此。根據某些實施例,擴展ECC編碼資料格式和其內的編碼同位組塊數(例如1)對編碼資料/同位組塊數(例如P)之比率(1 / P)可有所變化。此外,在藉由該GC進行擴展至非擴展儲存格式轉換1204的期間,由於不再需要生成編碼同位組塊就像擴展ECC編碼資料格式中的編碼組塊#P,故快閃記憶體控制器110可根據第6圖上半部所示的通道內編碼控制方案來操作以準備該GC的GC源資料,例如用來被編程到目的地區塊{BLK
DESTINATION}的資料。快閃記憶體控制器110可藉由使用RAID電路132在TSB 600中準備該GC的GC源資料,以生成相關的裸晶RAID保護單元1220。如第12圖的子圖(b)所示,快閃記憶體控制器110可藉助於RAID電路132對跨越與通道{CH0, CH1, CH2, CH3}之各自的晶片啟用信號{CE0, CE1}相對應的晶片/裸晶之多組RAID等級資料{R0, R1, R2, R3, R4, R5, R6}進行RAID保護處理,以生成裸晶RAID同位1228(例如:該多組RAID等級資料{R0, R1, R2, R3, R4, R5, R6}的逐位元XOR計算結果),以在裸晶RAID保護單元1220內使用裸晶RAID同位1228保護該多組RAID等級資料{R0, R1, R2, R3, R4, R5, R6}。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第13圖於其下半部繪示了根據本發明一實施例之第12圖所示之該正常格式恢復與資料恢復控制方案的某些實施細節,並在第13圖的上半部繪示了非預加載控制方案,以便更好地理解。主機裝置50可包含上述的PCB例如PCB 51以供安裝記憶體裝置100在其上,且包含處理器52例如上述之CPU(標示為“CPU”以求簡明),以及上述之簡單通訊元件例如簡單通訊元件56,用於提供藉由處理器52例如CPU將電子裝置10(例如多功能運具內系統)的系統資料以低資料速率載入至記憶體裝置100的選項。
由於藉由簡單通訊元件56以低資料速率載入系統資料所需的總時間過長,因此如第12圖的子圖(a)、第13圖下半部等所示的正常格式恢復與資料恢復控制方案,比起第13圖上半部所示的非預加載控制方案,效果更佳。例如,第12圖所示實施例中所提到的製造工具可實現為運行著製造工具程式模組的個人電腦1340(標示為“PC”以求簡明),而製造工具的橋接裝置可實現為晶片讀取器1348。晶片讀取器1348可包含一組連接器,用於將記憶體裝置100之包裝上的一組端子耦接到晶片讀取器1348的內部電路(例如:與傳輸介面電路58相似或相同的傳輸介面電路),尤其,包含至少一支架,用於將記憶體裝置100固定在晶片讀取器1348上,以保證記憶體裝置100的該組端子與晶片讀取器1348的該組連接器之間的連接。此外,在預加載操作1201的期間,個人電腦1340和晶片讀取器1348可藉由符合一預定協定例如PCIe協定的連接鏈路(link),以遠高於該低資料速率之一高資料速率來彼此通信,以達到相關的高吞吐量(例如3.938 GB每秒(GB per second, GB/s)或更高),其中晶片讀取器1348可像卡片讀取器一樣運作,但本發明不限於此。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
根據某些實施例,PCB 51、處理器52如CPU、個人電腦1340、晶片讀取器1348、及/或該預定協定可有所不同。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
第14圖根據本發明一實施例繪示了第12圖所示之該正常格式恢復與資料恢復控制方案的某些其它實施細節。電子裝置10,例如一運具(vehicle)1400的多功能運具內系統,可在主機裝置50(或處理器52)的控制下進行前述的系統層次初始化,例如系統層次初始化流程1203。例如,運具1400可被繪示為一種機動運具/車輛或非軌道上運行的汽車,如使用橡膠輪胎可在高速公路等道路上行駛的車輛,但本發明不限於此。由於快閃記憶體控制器110進行擴展至非擴展儲存格式轉換1204所需的時間隱藏在進行系統層次初始化流程1203的時間中,沒有人會抱怨進行擴展至非擴展儲存格式轉換1204所需的任何額外時間,這是因為系統層次初始化流程1203本身可能需要很長時間,例如一個小時或更長時間。此外,處理器52例如CPU可控制多功能運具內系統的顯示裝置來顯示初始化進度和警告訊息(例如以「警告」開始並接續著「請勿在初始化的期間關閉系統」之資訊),讓顯示裝置前的任何人在系統層次初始化流程1203的期間別管它並去做別的事,而不要關閉多功能運具內系統。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
根據某些實施例,運具1400可以有所不同。運具1400的例子可包含但不限於:飛機、火車及其它運具。
第15圖根據本發明一實施例繪示了該方法的一工作流程,其中多個階段諸如開始階段PHASE0、開始階段PHASE0之後的第一階段PHASE1以及第一階段PHASE1之後的第二階段PHASE2可被繪示於圖中以便更好地理解。上述之記憶體控制器如快閃記憶體控制器110可根據第15圖所示的工作流程,在開始階段PHASE0中執行步驟S10且在第二階段PHASE2中執行步驟S11和S12。例如,開始階段PHASE0可代表記憶體裝置100的製造階段,並且第一階段PHASE1和第二階段PHASE2可分別代表電子裝置10的製造階段和用戶階段,但本發明不限於此。
於步驟S10中,快閃記憶體控制器110可進行資料預加載以將資料預加載至記憶體裝置100中的NV記憶體(例如快閃記憶體模組120),尤其,進行第6圖所示實施例中所述的預加載操作(標示為「預加載」以求簡明),例如第12圖(或第13圖)中所示的預加載操作1201,以用一第一儲存格式(例如,表1A和表2A中的任何一個表所示的擴展儲存格式,或表1B和表2B中的任何一個表所示的擴展ECC編碼資料格式)將預加載資料儲存在該NV記憶體例如快閃記憶體模組120中。
在開始階段PHASE0和第二階段PHASE2之間的第一階段PHASE1中,記憶體裝置100可經歷第6圖所示實施例中所述的回流製程(標示為「回流」以求簡明),例如第12圖(或第13圖)中所示的回流製程1202。
於步驟S11中,在電子裝置10(例如多功能運具內系統)的如第6圖所示實施例中所述的系統層次初始化例如第12圖(或第14圖)中所示的系統層次初始化流程1203的期間,快閃記憶體控制器110可開始對該NV記憶體例如快閃記憶體模組120中的該預加載資料進行該擴展至非擴展儲存格式轉換,其中該預加載資料已經以該第一儲存格式預加載至該NV記憶體中,用於將從該通道內編碼獲得的額外同位資訊(例如通道內RAID保護同位)插入至上述之該多個資料組塊之間,並且該擴展至非擴展儲存格式轉換的操作可包含該GC及多個錯誤更正操作以供在該GC的期間更正該預加載資料中的多個錯誤。
於步驟S12中,在進行該擴展至非擴展儲存格式轉換的期間,快閃記憶體控制器110可將該預加載資料從該第一儲存格式轉換為一第二儲存格式(例如,表1A、表1B、表2A和表2B中任何一個表所示格式的一去除通道內同位的版本(in-channel parity removed version),並將其最後一個組塊,例如編碼/未編碼同位組塊,替換為編碼/未編碼資料組塊),以供收集來自該預加載資料的該多個資料組塊並釋放先前以該第一儲存格式(例如:表1A、表1B、表2A和表2B中任何一個表所示的格式)儲存的該預加載資料所佔據的總儲存空間中的部分儲存空間。如第15圖所示,在第二階段PHASE2中,快閃記憶體控制器110可在該系統層次初始化的期間進行該擴展至非擴展儲存格式轉換。尤其,該擴展至非擴展儲存格式轉換可在該系統層次初始化結束之前完成。
以第1圖所示的架構為例,資料保護電路130可包含至少一常規資料保護處理子電路,如ECC電路131和RAID電路132,以及至少一非常規資料保護處理子電路,如增強型資料保護電路133,分別用來進行常規資料保護處理和非常規資料保護處理,其中常規資料保護處理可包含ECC電路131的ECC保護處理和RAID電路132的RAID保護處理,而該非常規資料保護處理可包含增強型資料保護電路133的該通道內編碼。另外,上述至少一常規資料保護處理子電路如ECC電路131可包含用於該多個通道{CH}中的至少一通道的至少一ECC編碼器610,如第6圖中所示的ECC編碼器610,而上述至少一非常規資料保護處理子電路如增強型資料保護電路133可包含用於該多個通道{CH}中的上述至少一通道的至少一通道內緩衝器601,如第6圖的子圖(b)中所示的通道內緩衝器601,用以緩衝至少一通道內RAID保護同位。在進行該擴展至非擴展儲存格式轉換的期間,快閃記憶體控制器110可將該預加載資料從該第一儲存格式轉換為該第二儲存格式,以供收集來自該預加載資料的該多個資料組塊,並利用上述至少一ECC編碼器610生成相應的編碼資料組塊(例如第12圖的子圖(b)中所示的4KB編碼資料組塊)以作為最新的ECC資料組塊(例如第12圖的子圖(b)中所示的這一列ECC資料組塊1210),並至少丟棄該額外同位資訊(例如第10圖的子圖(b)中所示的4KB編碼同位組塊)以釋放上述部分儲存空間。
通常,PCB 51上的簡單通信元件56的低資料速率不足以以比任何其它裝置(例如第12圖所示實施例中所述的製造工具,如第13圖所示的個人電腦1340)用來進行從記憶體裝置100外部至NV記憶體如快閃記憶體模組120的資料預加載還更快的速度,進行從PCB 51外部至NV記憶體如快閃記憶體模組120的資料加載。因此,根據該方法來操作的快閃記憶體控制器110可於步驟S10中以遠高於該低資料速率的該高資料速率進行預加載操作1201以節省時間,同時將該預加載資料以該第一儲存格式儲存以維持能夠從回流製程1202所導致的該多個錯誤中恢復之可恢復性,並且在該系統層次初始化的期間於步驟S11中開始進行該擴展至非擴展儲存格式轉換,以使進行該擴展至非擴展儲存格式轉換所需的時間隱藏在該系統層次初始化所需的時間內,其中該預加載資料已經以該第一儲存格式預加載到NV記憶體中,用於插入從該通道內編碼獲得的該額外同位資訊諸如通道內RAID保護同位,以便即使回流製程1202所導致的該多個錯誤眾多,該預加載資料仍然能夠維持從這些錯誤中恢復之可恢復性。因此,該方法及其相關設備能夠在不引入副作用的情況下或藉由不太可能引入副作用的方式解決相關技術中的問題。
上述至少一NV記憶體元件可包含多個NV記憶體元件諸如多個快閃記憶體元件122-1、122-2、…和122-N,而快閃記憶體控制器110可在記憶體裝置100的該多個通道{CH}中分別存取這些NV記憶體元件諸如多個快閃記憶體元件122-1、122-2、…和122-N,其中針對該多個通道{CH}中的任何一個通道CH,從該通道內編碼所獲得的該額外同位資訊可包含該多個資料組塊中的一組資料組塊的一通道內RAID保護同位(例如:第5圖的子圖(b)所示的那些同位中的任何同位,或第10圖的子圖(a)所示的那些同位中的任何同位)以供這個通道CH內的RAID保護,而非用於跨該多個通道{CH}的RAID保護之任何跨通道RAID保護同位(例如:第5圖的子圖(a)所示的那些同位中的任何同位,或第10圖的子圖(b)所示的裸晶RAID同位1028)。針對該多個通道{CH}中的上述任何一個通道CH,上述至少一常規資料保護處理子電路可包含ECC編碼器610,用於對這個通道CH中的該組資料組塊和該通道內RAID保護同位進行ECC編碼,而上述至少一非常規資料保護處理子電路可包含通道內緩衝器601,用於緩衝該通道內RAID保護同位,且另包含XOR計算電路701,用於對該組資料組塊進行至少一逐位元XOR運算以生成一XOR計算結果來作為該通道內RAID保護同位。
以針對前述跨平面優先編程序列之第8圖所示的ECC編碼組塊為例,這些區塊屬於前述的跨平面優先編程序列,先前以該第一儲存格式儲存的該預加載資料可包含多組ECC組塊,諸如在該跨平面優先編程序列中已經編程到快閃記憶體模組120中的多組4KB ECC組塊,而該多組ECC組塊中的一組ECC組塊可包含:多個編碼資料組塊(例如:多個4KB編碼資料組塊),其中這些編碼資料組塊攜帶一組資料組塊及其各自的ECC同位分別跟在其後;以及一個編碼同位組塊(例如:一個4KB編碼同位組塊),其中這個編碼同位組塊攜帶一個同位組塊及其ECC同位跟在其後,其中這個同位組塊屬於該額外同位資訊,並且在該第二儲存格式中不再存在。舉例來說,在該多組ECC組塊中,符合該第一儲存格式例如表2B所示的擴展ECC編碼資料格式的任何一組ECC組塊可包含(P - 1)個編碼資料組塊和與該(P - 1)個編碼資料組塊相對應的一個編碼同位組塊,其中“P”可代表大於一的正整數,並且可等於一每子區塊的ECC組塊數(ECC chunk count per sub-block)與Q的乘積,且“Q”可代表與用來以該第一儲存格式儲存該預加載資料的一預定配置相對應的一預定值。尤其,上述至少一NV記憶體元件中的任何NV記憶體元件,例如上述任何快閃記憶體元件122-n,可包含該多個平面{PL}諸如四個平面{PL0, PL1, PL2, PL3};並且該預定配置可代表用來以該第一儲存格式儲存該預加載資料的多個預定Q-平面配置(predetermined Q-plane configuration)(例如上述各種單平面或多平面配置)中的任何預定Q-平面配置,且該預定值等於在上述任何預定Q-平面配置中,上述任何一組ECC組塊所佔據的至少一平面的一平面數(plane count)。針對Q = 1、Q = 2、Q = 4、Q = 6、Q = 8等之各種情況,這個預定Q-平面配置可分別代表該單平面配置、該雙平面配置、該四平面配置、該六平面配置、該八平面配置等。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
為了更好理解,該方法可藉由第15圖所示的工作流程來說明,但本發明不限於此。根據某些實施例,第15圖所示的工作流程中可以添加、刪除或更改某些步驟。例如,快閃記憶體控制器110可在開始階段PHASE0中建立至少一位址映射表,且上述至少一位址映射表可包含上述至少一L2P位址映射表例如全域L2P位址映射表1110以及上述至少一P2L位址映射表例如P2L位址映射表1120,其中上述至少一P2L位址映射表中的P2L位址映射資訊可包含上述多個P2L表條目,用於從物理位址映射到邏輯位址。在步驟S11中開始進行該擴展至非擴展儲存格式轉換之前,該多個P2L表條目可以被排列成具有上述的擴展P2L表條目型樣(例如:在每P個P2L表條目中有(P - 1)個真實P2L表條目並在後面跟隨著一個虛擬P2L表條目之型樣),且可包含多個真實P2L表條目以及與它們交錯排列之多個虛擬P2L表條目,一同以P個條目的型樣週期來排列,並且該多個虛擬P2L表條目中的任何虛擬P2L表條目,諸如會映射到虛擬邏輯位址Xpty之虛擬P2L表條目1121、1122等中的任何P2L表條目,可以是無法從一物理位址映射到任何有效邏輯位址之一無效P2L表條目。虛擬邏輯位址Xpty可以是不被主機裝置50使用的一個無效邏輯位址,尤其,不應該等於主機裝置50使用的所有的有效邏輯位址中的任何有效邏輯位址。在該擴展至非擴展儲存格式轉換完成後,該多個虛擬P2L表條目將不再存在於上述至少一P2L位址映射表例如P2L位址映射表1120中。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子裝置
50:主機裝置
51:印刷電路板(PCB)
52:處理器
54:電源供應電路
56:簡單通信元件
58,118:傳輸介面電路
100:記憶體裝置
110:快閃記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體(ROM)
114:控制邏輯電路
116:隨機存取記憶體(RAM)
120:快閃記憶體模組
122-1~122-N:快閃記憶體元件
130:資料保護(DP)電路
131:錯誤更正碼(ECC)電路
132:容錯式磁碟陣列(RAID)電路
133:增強型資料保護(DP)電路
210,220,230:曲線
BLK0,BLK1:區塊
WL0,WL1:字線組
SB0~SB3:子區塊
M,M(1,1,1)~M(Nx,Ny,Nz):記憶體細胞
MBLS(1,1)~MBLS(Nx,Ny):上層選擇電路
MSLS(1,1)~MSLS(Nx,Ny):下層選擇電路
BL(1)~BL(Nx):位元線
BLS(1)~BLS(Ny):上層選擇線
WL(1,1)~WL(Ny,Nz):字線
SLS(1)~SLS(Ny):下層選擇線
SL(1)~SL(Ny):源線
PS2D(1)~PS2D(Ny):電路模組
CH0~CH3:通道
CE0,CE1:晶片啟用信號
PL0~PL3:平面
600:時間分配緩衝器(TSB)
601:通道內緩衝器
602:多工器電路(MUX)
610:錯誤更正碼(ECC)編碼器
DATA0,DATA1:資料
SEL:選擇信號
701:異或(XOR)計算電路
711:第一異或(XOR)計算結果
712:第二異或(XOR)計算結果
713:第三異或(XOR)計算結果
L
P:低階頁面
M
P:中階頁面
U
P:高階頁面
BZ:忙碌信號
A1~A31:資料組塊
1010,1210:錯誤更正碼(ECC)組塊
1020,1220:裸晶容錯式磁碟陣列(RAID)保護單元
1028,1228:裸晶容錯式磁碟陣列(RAID)同位
1110:邏輯至物理(L2P)位址映射表
1120:物理至邏輯(P2L)位址映射表
1121,1122:物理至邏輯(P2L)表條目
1201:預加載操作
1202:回流製程
1203:系統層次初始化流程
1204:擴展至非擴展儲存格式轉換
1340:個人電腦(PC)
1348:晶片讀取器
1400:運具
PHASE0:開始階段
PHASE1:第一階段
PHASE2:第二階段
S10~S12:步驟
第1圖是根據本發明一實施例之電子裝置的示意圖。
第2圖根據本發明一實施例繪示了一種藉助於通道內編碼進行記憶體裝置的增強型資料保護之方法的編碼/解碼控制方案。
第3圖根據本發明一實施例繪示了該方法的階層式控制方案。
第4圖根據本發明一實施例繪示了第3圖所示的階層式控制方案所涉及之三維(three-dimensional,簡稱3D)NAND型快閃記憶體的示意圖。
第5圖於其子圖(a)、(b)和(c)分別繪示了本發明不同實施例中之該方法的第一、第二和第三種RAID同位位置控制方案。
第6圖於其下半部繪示了本發明一實施例之該方法中的通道內資料擴展與編碼控制方案,並在第6圖的上半部繪示了通道內編碼控制方案,以便更好地理解。
第7圖根據本發明一實施例繪示了第6圖所示之該通道內資料擴展與編碼控制方案的某些實施細節。
第8圖根據本發明一實施例繪示了該方法的多平面編程序列控制方案。
第9圖根據本發明不同實施例繪示了第6圖所示之該通道內資料擴展與編碼控制方案中所涉及的各種ECC組塊的組合。
第10圖於其子圖(a)和(b)分別繪示了本發明一實施例中的第四種RAID同位位置控制方案和相關的裸晶(die)RAID保護單元。
第11圖根據本發明一實施例繪示了該方法的一種基於資料擴展的(data-expansion-based)位址映射資訊控制方案。
第12圖於其子圖(a)和(b)分別繪示了根據本發明一實施例之該方法的正常格式恢復與資料恢復控制方案以及相關的裸晶RAID保護單元。
第13圖於其下半部繪示了根據本發明一實施例之第12圖所示之該正常格式恢復與資料恢復控制方案的某些實施細節,並在第13圖的上半部繪示了非預加載控制方案,以便更好地理解。
第14圖根據本發明一實施例繪示了第12圖所示之該正常格式恢復與資料恢復控制方案的某些其它實施細節。
第15圖根據本發明一實施例繪示了該方法的一工作流程。
PHASE0:開始階段
PHASE1:第一階段
PHASE2:第二階段
S10~S12:步驟
Claims (20)
- 一種藉助於通道內編碼進行一記憶體裝置的增強型資料保護之方法,該方法適用於該記憶體裝置的一記憶體控制器,該記憶體裝置包含該記憶體控制器和一非揮發性(non-volatile, NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,並且該記憶體裝置經歷一回流製程(reflow process),以將該記憶體裝置安裝至一電子裝置內的一主機裝置的一印刷電路板(printed circuit board, PCB)上,該方法包含: 在該電子裝置的一系統層次初始化的期間,利用該記憶體控制器開始對該非揮發性記憶體中的預加載資料(preloaded data)進行擴展至非擴展(expansion-to-non-expansion)儲存格式轉換,其中該預加載資料已經以一第一儲存格式預加載(preload)到該非揮發性記憶體中,用於將從該通道內編碼獲得的額外同位資訊插入至多個資料組塊(chunk)之間,並且該擴展至非擴展儲存格式轉換的操作包含垃圾回收(garbage collection, GC)和多個錯誤更正操作以供在該垃圾回收的期間更正該預加載資料中的多個錯誤;以及 在進行該擴展至非擴展儲存格式轉換的期間,將該預加載資料從該第一儲存格式轉換為一第二儲存格式,以供收集來自該預加載資料的該多個資料組塊並釋放先前以該第一儲存格式儲存的該預加載資料所佔據的總儲存空間中的部分儲存空間。
- 如申請專利範圍第1項所述之方法,其中該記憶體控制器內的一資料保護電路包含至少一常規資料保護處理子電路和至少一非常規資料保護處理子電路,分別用於進行常規資料保護處理和非常規資料保護處理,其中該常規資料保護處理包含錯誤更正碼(error correction code, ECC)保護處理和容錯式磁碟陣列(redundant array of independent disks, RAID)保護處理,而該非常規資料保護處理包含該通道內編碼。
- 如申請專利範圍第2項所述之方法,其中該至少一常規資料保護處理子電路包含至少一錯誤更正碼編碼器;以及在進行該擴展至非擴展儲存格式轉換的期間,該記憶體控制器被配置為將該預加載資料從該第一儲存格式轉換為該第二儲存格式,用於收集來自該預加載資料的該多個資料組塊以利用該至少一錯誤更正碼編碼器生成對應的編碼資料組塊作為最新的錯誤更正碼資料組塊,並至少丟棄該額外同位資訊以釋放該部分儲存空間。
- 如申請專利範圍第1項所述之方法,其中該印刷電路板上的一通信元件的一資料速率不足以用快過任何其它裝置進行從該記憶體裝置的外部到該非揮發性記憶體的資料預加載之速度,進行從該印刷電路板的外部到該非揮發性記憶體的資料加載。
- 如申請專利範圍第1項所述之方法,其中該記憶體控制器的常規資料保護處理包含錯誤更正碼(error correction code, ECC)保護處理和容錯式磁碟陣列(redundant array of independent disks, RAID)保護處理,且該記憶體控制器的非常規資料保護處理包含該通道內編碼;以及該至少一非揮發性記憶體元件包含多個非揮發性記憶體元件,並且該記憶體控制器被配置為分別在該記憶體裝置的多個通道中存取該多個非揮發性記憶體元件,其中,針對該多個通道中的任何一個通道,從該通道內編碼獲得的該額外同位資訊包含該多個資料組塊中的一組資料組塊的一通道內容錯式磁碟陣列保護同位以供在該任何一個通道中的容錯式磁碟陣列保護,而非任何跨通道容錯式磁碟陣列保護同位以供跨該多個通道的容錯式磁碟陣列保護。
- 如申請專利範圍第5項所述之方法,其中該記憶體控制器內的一資料保護電路包含至少一常規資料保護處理子電路和至少一非常規資料保護處理子電路,分別用於進行該常規資料保護處理和該非常規資料保護處理,其中,針對該多個通道中的該任何一個通道,該至少一常規資料保護處理子電路包含一錯誤更正碼編碼器,用於對該任何一個通道中的該組資料組塊和該通道內容錯式磁碟陣列保護同位進行錯誤更正碼編碼,且該至少一非常規資料保護處理子電路包含一通道內緩衝器,用於緩衝該通道內容錯式磁碟陣列保護同位。
- 如申請專利範圍第6項所述之方法,其中該至少一非常規資料保護處理子電路另包含一異或(exclusive OR, XOR)計算電路,用於對該組資料組塊進行至少一逐位元異或(bitwise XOR)運算,以生成一異或計算結果作為該通道內容錯式磁碟陣列保護同位。
- 如申請專利範圍第1項所述之方法,其中先前以該第一儲存格式儲存的該預加載資料包含多組錯誤更正碼(error correction code, ECC)組塊(chunk),且在該多組錯誤更正碼組塊中,任何一組錯誤更正碼組塊包含多個編碼資料組塊(encoded data chunk)以及一個編碼同位組塊(encoded parity chunk),該多個編碼資料組塊攜帶(carry)一組資料組塊以及該組資料組塊之各自的錯誤更正碼同位,該組資料組塊後面分別跟隨著該組資料組塊之所述各自的錯誤更正碼同位,而該編碼同位組塊攜帶一同位組塊以及該同位組塊之錯誤更正碼同位,該同位組塊後面跟隨著該同位組塊之該錯誤更正碼同位,其中該同位組塊屬於該額外同位資訊,並且在該第二儲存格式中不再存在。
- 如申請專利範圍第1項所述之方法,其中該至少一非揮發性記憶體元件包含複數個區塊,且該複數個區塊中的任何一個區塊包含多個子區塊;以及先前以該第一儲存格式儲存的該預加載資料包含多組錯誤更正碼(error correction code, ECC)組塊(chunk),並且在該多組錯誤更正碼組塊中,符合該第一儲存格式的任何一組錯誤更正碼組塊包含(P - 1)個編碼資料組塊(encoded data chunk)和一個編碼同位組塊(encoded parity chunk),其中P代表大於1的正整數,且等於一每子區塊的錯誤更正碼組塊數(ECC chunk count per sub-block)與Q的乘積,且Q代表與用來以該第一儲存格式儲存該預加載資料的一預定配置相對應的一預定值。
- 如申請專利範圍第9項所述之方法,其中該至少一非揮發性記憶體元件中的任何非揮發性記憶體元件包含多個平面;以及該預定配置代表用來以該第一儲存格式儲存該預加載資料的多個預定Q-平面配置(predetermined Q-plane configuration)中的任何預定Q-平面配置,且該預定值等於在該任何預定Q-平面配置中,該任何一組錯誤更正碼組塊所佔據的至少一平面的一平面數(plane count)。
- 如申請專利範圍第1項所述之方法,其中該記憶體控制器被配置為建立至少一位址映射表,且該至少一位址映射表包含至少一物理至邏輯(physical-to-logical, P2L)位址映射表,用於管理邏輯位址與物理位址之間的關係,其中,該至少一物理至邏輯位址映射表中的物理至邏輯位址映射資訊包含多個物理至邏輯表條目,用於將該些物理位址映射到該些邏輯位址;以及在開始進行該擴展至非擴展儲存格式轉換之前,該多個物理至邏輯表條目包含多個真實的物理至邏輯表條目,該多個真實的物理至邏輯表條目與多個虛擬(pseudo)物理至邏輯表條目交錯排列,其中,該多個虛擬物理至邏輯表條目中的任一虛擬物理至邏輯表條目是一無效(invalid)物理至邏輯表條目,無法將一物理位址映射到任何有效的邏輯位址。
- 如申請專利範圍第11項所述之方法,其中先前以該第一儲存格式儲存的該預加載資料包含多組錯誤更正碼(error correction code, ECC)組塊(chunk),並且在該多組錯誤更正碼組塊中,符合該第一儲存格式的任何一組錯誤更正碼組塊包含(P - 1)個編碼資料組塊(encoded data chunk)和一個編碼同位組塊(encoded parity chunk),其中P代表大於1的正整數;以及在開始進行該擴展至非擴展儲存格式轉換之前,該多個物理至邏輯表條目被配置為具有一型樣(pattern),該型樣為每P個物理至邏輯表條目中有(P - 1)個真實物理至邏輯表條目,並在後面跟隨著一個虛擬物理至邏輯表條目。
- 如申請專利範圍第11項所述之方法,其中在該擴展至非擴展儲存格式轉換完成後,該多個虛擬物理至邏輯表條目不再存在於該至少一物理至邏輯位址映射表中。
- 如申請專利範圍第1項所述之方法,其中在多個階段中的一開始階段,該記憶體控制器被配置為對該非揮發性記憶體進行資料預加載以將該預加載資料以該第一儲存格式儲存在該非揮發性記憶體內;在該多個階段中的一第一階段,該第一階段緊隨該開始階段之後,該記憶體裝置經歷回流製程;以及在該多個階段中的一第二階段,該第二階段緊隨該第一階段之後,該記憶體控制器被配置為在該系統層次初始化的期間進行該擴展至非擴展儲存格式轉換。
- 如申請專利範圍第1項所述之方法,其中進行該擴展至非擴展儲存格式轉換的時間隱藏在進行該系統層次初始化的時間中。
- 如申請專利範圍第1項所述之方法,其中該預加載資料已經以該第一儲存格式預加載到該非揮發性記憶體中,用於將從該通道內編碼獲得的該額外同位資訊插入至該多個資料組塊之間,以容許即使在該回流製程中發生大量的該多個錯誤,該預加載資料仍能夠從該多個錯誤中恢復。
- 如申請專利範圍第1項所述之方法,其中該擴展至非擴展儲存格式轉換在該系統層次初始化結束之前完成。
- 一種記憶體控制器,用來藉助於通道內編碼進行一記憶體裝置的增強型資料保護,該記憶體裝置包含該記憶體控制器和一非揮發性記憶體(non-volatile, NV記憶體),該非揮發性記憶體包含至少一非揮發性記憶體元件,且該記憶體裝置經歷一回流製程(reflow process),以將該記憶體裝置安裝到一電子裝置內的一主機裝置的一印刷電路板(printed circuit board, PCB)上,該記憶體控制器包含: 一處理電路,用來根據來自該主機裝置的多個主機命令控制該記憶體控制器,以容許該主機裝置透過該記憶體控制器存取該非揮發性記憶體; 其中: 在該電子裝置的一系統層次初始化的期間,該記憶體控制器被配置為開始對該非揮發性記憶體中的預加載資料(preloaded data)進行擴展至非擴展(expansion-to-non-expansion)儲存格式轉換,其中該預加載資料已經以一第一儲存格式預加載(preload)到該非揮發性記憶體中,用於將從該通道內編碼獲得的額外同位資訊插入至多個資料組塊(chunk)之間,並且該擴展至非擴展儲存格式轉換的操作包含垃圾回收(garbage collection, GC)和多個錯誤更正操作以供在該垃圾回收的期間更正該預加載資料中的多個錯誤;以及 在進行該擴展至非擴展儲存格式轉換的期間,該記憶體控制器被配置為將該預加載資料從該第一儲存格式轉換為一第二儲存格式,以供收集來自該預加載資料的該多個資料組塊並釋放先前以該第一儲存格式儲存的該預加載資料所佔據的總儲存空間中的部分儲存空間。
- 一種記憶體裝置,其包含如申請專利範圍第18項所述之記憶體控制器,其中該記憶體裝置包含: 該非揮發性記憶體,用來儲存資訊;以及 該記憶體控制器,耦接於該非揮發性記憶體,用來控制該記憶體裝置的操作。
- 一種電子裝置,其包含如申請專利範圍第19項所述之記憶體裝置,其中該電子裝置包含: 該主機裝置,耦接於該記憶體裝置,其中該主機裝置包含: 至少一處理器,用來控制該主機裝置的操作;以及 一電源供應電路,耦接於該至少一處理器,用來提供電源給該至少一處理器以及該記憶體裝置; 其中該記憶體裝置提供儲存空間給該主機裝置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202418822300A | 2024-09-02 | 2024-09-02 | |
| US18/822,300 | 2024-09-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TWI901495B true TWI901495B (zh) | 2025-10-11 |
Family
ID=98263799
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW114100002A TWI901495B (zh) | 2024-09-02 | 2025-01-02 | 藉助於通道內編碼進行記憶體裝置的增強型資料保護之方法及設備 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI901495B (zh) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201108235A (en) * | 2009-08-31 | 2011-03-01 | Sandisk Il Ltd | Preloading data into a flash storage device |
| US20110107049A1 (en) * | 2009-11-02 | 2011-05-05 | Samsung Electronics Co., Ltd. | Method and apparatus adapted to prevent code data from being lost in solder reflow |
| US20110228604A1 (en) * | 2009-08-25 | 2011-09-22 | Sandisk Il Ltd. | Preloading data into a flash storage device |
| TWI652687B (zh) * | 2016-06-30 | 2019-03-01 | 台灣積體電路製造股份有限公司 | 校正記憶體陣列中之錯誤之方法及其實施系統 |
| US20220130457A1 (en) * | 2017-08-29 | 2022-04-28 | Micron Technology, Inc. | Reflow protection |
-
2025
- 2025-01-02 TW TW114100002A patent/TWI901495B/zh active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110228604A1 (en) * | 2009-08-25 | 2011-09-22 | Sandisk Il Ltd. | Preloading data into a flash storage device |
| TW201108235A (en) * | 2009-08-31 | 2011-03-01 | Sandisk Il Ltd | Preloading data into a flash storage device |
| US20110107049A1 (en) * | 2009-11-02 | 2011-05-05 | Samsung Electronics Co., Ltd. | Method and apparatus adapted to prevent code data from being lost in solder reflow |
| TWI652687B (zh) * | 2016-06-30 | 2019-03-01 | 台灣積體電路製造股份有限公司 | 校正記憶體陣列中之錯誤之方法及其實施系統 |
| US20220130457A1 (en) * | 2017-08-29 | 2022-04-28 | Micron Technology, Inc. | Reflow protection |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101459861B1 (ko) | 스트라이프 기반 메모리 작동 | |
| TWI459399B (zh) | 電力中斷管理 | |
| US9075531B2 (en) | Storage device | |
| KR101491943B1 (ko) | 트랜잭션 로그 복구 | |
| US8250403B2 (en) | Solid state disk device and related data storing and reading methods | |
| TWI521528B (zh) | 記憶體儲存裝置、其記憶體控制器與資料處理方法 | |
| TWI760363B (zh) | 控制器及其操作方法 | |
| CN107037982B (zh) | Raid-6数据存储装置以及包括其的数据处理系统 | |
| CN108022611A (zh) | 存储系统及其操作方法 | |
| CN109857584B (zh) | 于记忆装置进行访问控制的方法、记忆装置和其控制器 | |
| CN109240949B (zh) | 数据存储装置及其操作方法 | |
| CN111625188A (zh) | 一种存储器及其数据写入方法与存储系统 | |
| TWI591643B (zh) | 資料保護方法、記憶體控制電路單元與記憶體儲存裝置 | |
| TWI693520B (zh) | 用來於一記憶裝置中進行系統備份的方法、相關記憶裝置及其控制器、以及相關電子裝置 | |
| CN112905107A (zh) | 数据存储装置及其操作方法 | |
| CN113590503A (zh) | 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统 | |
| TW201935232A (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
| CN113721832A (zh) | 数据储存装置与数据处理方法 | |
| CN113628655B (zh) | 用以存取闪存模块的方法、闪存控制器与电子装置 | |
| TWI901495B (zh) | 藉助於通道內編碼進行記憶體裝置的增強型資料保護之方法及設備 | |
| TWI747191B (zh) | 資料儲存裝置與資料處理方法 | |
| US20210397378A1 (en) | Storage device and operating method thereof | |
| US10025664B2 (en) | Selective buffer protection | |
| CN104731710A (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
| CN114077515A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 |