Nothing Special   »   [go: up one dir, main page]

TWI841494B - 用以進行記憶體裝置的資料存取控制之方法、記憶體控制器、記憶體裝置以及電子裝置 - Google Patents

用以進行記憶體裝置的資料存取控制之方法、記憶體控制器、記憶體裝置以及電子裝置 Download PDF

Info

Publication number
TWI841494B
TWI841494B TW112137621A TW112137621A TWI841494B TW I841494 B TWI841494 B TW I841494B TW 112137621 A TW112137621 A TW 112137621A TW 112137621 A TW112137621 A TW 112137621A TW I841494 B TWI841494 B TW I841494B
Authority
TW
Taiwan
Prior art keywords
memory
read
circuit
code decoding
perform
Prior art date
Application number
TW112137621A
Other languages
English (en)
Inventor
鄧惇益
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW112137621A priority Critical patent/TWI841494B/zh
Application granted granted Critical
Publication of TWI841494B publication Critical patent/TWI841494B/zh

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

用以進行記憶體裝置的資料存取控制之方法包含:自主機裝置接收主機命令,以根據主機命令來對非揮發性記憶體進行資料存取,其中資料存取包括資料讀取;以及進行讀取最佳化程序,以供維持資料讀取的正確性,例如:進行讀取操作以取得通道數值;對通道數值進行壓縮操作以將任一通道數值中之第一軟位元轉換為第二軟位元以產生一壓縮的通道數值;從揮發性記憶體讀取多個壓縮的通道數值;以及利用低密度奇偶檢查(LDPC)碼解碼引擎電路依據該多個壓縮的通道數值進行LDPC碼解碼且利用錯誤復原電路依據通道數值進行錯誤復原操作,以產生無誤的讀取資料。

Description

用以進行記憶體裝置的資料存取控制之方法、記憶體控制器、記憶體裝置以及電子裝置
本發明係有關於記憶體控制,尤指一種用以進行一記憶體裝置的資料存取控制之方法以及相關設備(apparatus)諸如該記憶體裝置、該記憶體裝置內的一記憶體控制器以及包含該記憶體裝置的一電子裝置。
記憶體裝置可包含有快閃記憶體以供儲存資料,而針對快閃記憶體的存取管理相當複雜。舉例來說,記憶體裝置可以是一記憶卡、一固態硬碟(solid state drive, SSD)或一嵌入式儲存裝置(例如符合通用快閃儲存規範(universal flash storage, UFS)的嵌入式儲存裝置)。當製造商嘗試採用降級的(downgraded)快閃記憶體裸晶(die)以降低整體成本時,可能會發生某些問題。尤其是,降級的快閃記憶體裸晶的相關特性不穩定且資料錯誤很容易發生,這可導致記憶體裝置的整體效能降低。相關技術嘗試解決此問題,然而,可能引入了額外的問題例如某些副作用。因此,需要一種新穎的方法以及相關架構以在不引入副作用的情況下或藉由不太可能引入副作用的方式解決這些問題。
本發明的目的之一在於提供一種用以進行一記憶體裝置的資料存取控制之方法以及相關設備諸如該記憶體裝置、該記憶體裝置內的一記憶體控制器以及包含該記憶體裝置的一電子裝置,以解決上述問題。
本發明至少一實施例提供了一種用以進行一記憶體裝置的資料存取控制之方法,其中該方法可應用於該記憶體裝置的一記憶體控制器,該記憶體裝置可包含有該記憶體控制器以及一非揮發性(non-volatile,簡稱NV)記憶體,以及該NV記憶體可包含有至少一NV記憶體元件(例如一個或多個NV記憶體元件)。該方法可包含有:自一主機裝置接收複數個主機命令,以供根據該複數個主機命令來對該NV記憶體進行資料存取,其中該資料存取包含有資料讀取;以及響應於至少一讀取命令,進行一讀取最佳化程序,以供維持該資料讀取的正確性,其中該複數個主機命令包含該至少一讀取命令。舉例來說,該讀取最佳化程序可包含有:透過多個通道中之至少一通道對該NV記憶體進行至少一讀取操作以取得多個通道數值,其中該多個通道數值中之任一通道數值包含一正負號位元(sign bit)以及多個第一軟位元(soft bit);對該多個通道數值進行至少一壓縮操作以將該任一通道數值中之該多個第一軟位元轉換為多個第二軟位元,以產生對應於該任一通道數值的一壓縮的通道數值,以供緩衝於該記憶體控制器內的一揮發性記憶體,其中該多個第二軟位元的一第二位元數小於該多個第一軟位元的一第一位元數;從該揮發性記憶體讀取分別對應於該多個通道數值的多個壓縮的通道數值,以供進行低密度奇偶檢查(low-density parity-check, LDPC)碼解碼;以及利用一低密度奇偶檢查碼解碼引擎電路依據該多個壓縮的通道數值進行該低密度奇偶檢查碼解碼、並且利用一錯誤復原(error recovery)電路依據該多個通道數值進行至少一錯誤復原操作,以產生無誤的(error-free)讀取資料,以供回傳至該主機裝置。
除了上述方法之外,本發明亦提供了一種記憶體裝置的記憶體控制器,其中該記憶體裝置包含有該記憶體控制器以及一NV記憶體,且該NV記憶體可包含有至少一NV記憶體元件(例如一個或多個NV記憶體元件)。另外,該記憶體控制器包含有一處理電路以及一傳輸介面電路,其中該處理電路係用以根據來自一主機裝置的複數個主機命令來控制該記憶體控制器,以容許該主機裝置透過該記憶體控制器來存取該NV記憶體,以及該傳輸介面電路係用以與該主機裝置進行通訊。此外,該記憶體控制器透過該記憶體控制器內的該傳輸介面電路來自該主機裝置接收該複數個主機命令,以供根據該複數個主機命令來對該NV記憶體進行資料存取,其中該資料存取包含有資料讀取。響應於至少一讀取命令,該記憶體控制器進行一讀取最佳化程序,以供維持該資料讀取的正確性,其中該複數個主機命令包含該至少一讀取命令。舉例來說,該讀取最佳化程序可包含有:透過多個通道中之至少一通道對該NV記憶體進行至少一讀取操作以取得多個通道數值,其中該多個通道數值中之任一通道數值包含一正負號位元以及多個第一軟位元;對該多個通道數值進行至少一壓縮操作以將該任一通道數值中之該多個第一軟位元轉換為多個第二軟位元,以產生對應於該任一通道數值的一壓縮的通道數值,以供緩衝於該記憶體控制器內的一揮發性記憶體,其中該多個第二軟位元的一第二位元數小於該多個第一軟位元的一第一位元數;從該揮發性記憶體讀取分別對應於該多個通道數值的多個壓縮的通道數值,以供進行低密度奇偶檢查碼解碼;以及利用一低密度奇偶檢查碼解碼引擎電路依據該多個壓縮的通道數值進行該低密度奇偶檢查碼解碼、並且利用一錯誤復原電路依據該多個通道數值進行至少一錯誤復原操作,以產生無誤的讀取資料,以供回傳至該主機裝置。
除了上述方法外,本發明亦提供了一種包含有上述記憶體控制器的記憶體裝置,其中該記憶體裝置包含有:該NV記憶體,用以儲存資訊;以及該記憶體控制器,耦接於該NV記憶體,並用以控制該記憶體裝置的操作。
除了上述方法外,本發明亦提供了一種包含有上述記憶體裝置的電子裝置,其中該電子裝置另包含有耦接至該記憶體裝置的主機裝置。該主機裝置可包含有:至少一處理器,用以控制該主機裝置的操作;以及一電源供應電路,耦接於該至少一處理器,並用以提供電源給該至少一處理器以及該記憶體裝置。此外,該記憶體裝置提供儲存空間給該主機裝置。
本發明的方法以及相關設備可保證記憶體裝置在不同情況下可適當地操作,尤其是,可確保讀取資料之正確性。雖然降級的快閃記憶體裸晶的相關特性不穩定,本發明的方法以及相關設備可進行至少一讀取重試(read retry)操作以取得相關資訊以供進行軟解碼(soft decoding),並且進行上述至少一錯誤復原操作以消除(eliminate)不同的記憶細胞所導致的任何錯誤以及進行至少一等化(equalization)操作以對抗符元間干擾(inter-symbol interference, ISI),以在不引入副作用的情況下或藉由不太可能引入副作用的方式解決相關技術的問題。
第1圖為依據本發明一實施例之電子裝置10的示意圖,其中電子裝置10可包含一主機裝置50以及一記憶體裝置100。主機裝置50可包含有至少一處理器(例如一個或多個處理器;其可被統稱為處理器52)、一電源供應電路54以及一傳輸介面電路58,其中處理器52與傳輸介面電路58可透過匯流排而彼此耦接,並且可耦接於電源供應電路54來取得電源。處理器52可用以控制主機裝置50的操作,以及電源供應電路54可用以提供電源至處理器52、傳輸介面電路58以及記憶體裝置100,並輸出一個或多個驅動電壓至記憶體裝置100。記憶體裝置100可用以提供儲存空間給主機裝置50,並且可自主機裝置50取得該一個或多個驅動電壓以作為記憶體裝置100的電源。主機裝置50的例子可包含有但不限於:多功能手機、平板電腦、可穿戴裝置以及個人電腦,例如桌上型電腦以及筆記型電腦。記憶體裝置100的例子可包含有但不限於:可攜式記憶體裝置(例如符合SD / MMC、CF、MS或XD規範的記憶卡、固態硬碟(SSD)以及不同類型的嵌入式記憶體裝置(例如符合通用快閃儲存(UFS)規範或嵌入式多媒體卡(embedded multi-media card, eMMC)規範的嵌入式記憶體裝置)。根據本實施例,記憶體裝置100可包含有一控制器例如記憶體控制器110,並且可另包含有一非揮發性(NV)記憶體120(簡稱為“NV記憶體”),其中記憶體控制器110係用以存取該NV記憶體120,以及該NV記憶體120係用以儲存資訊。該NV記憶體120可包含有至少一NV記憶體元件(例如一個或多個NV記憶體元件),諸如複數個非揮發性(NV)記憶體元件122-1、122-2、…、以及122-N E(簡稱為“NV記憶體元件”),其中“N E”可以代表大於1的正整數。舉例來說,該NV記憶體120可以是快閃記憶體,並且該複數個NV記憶體元件122-1、122-2、…、以及122-N E可以是複數個快閃記憶體晶片或複數個快閃記憶體裸晶,但是本發明不限於此。
如第1圖所示,記憶體控制器110可包含有一處理電路例如一微處理器112、一儲存單元例如一唯讀記憶體(read-only memory, ROM) 112M、一控制邏輯電路114、一隨機存取記憶體(random access memory, RAM) 116(其例如可以藉由靜態隨機存取記憶體(static random access memory, SRAM)來實現)以及一傳輸介面電路118,其中上述元件之至少一部分(例如一部分或全部)可通過匯流排彼此耦接。隨機存取記憶體116可用以提供內部儲存空間給記憶體控制器110(例如可暫時地儲存資訊),但是本發明不限於此。另外,本實施例之唯讀記憶體112M係用以儲存程式碼112C,並且微處理器112係用以執行程式碼112C以控制該NV記憶體120的存取。敬請留意,程式碼112C也可被儲存於隨機存取記憶體116或任一類型的記憶體。此外,控制邏輯電路114可用以控制該NV記憶體120。傳輸介面電路118可符合不同通訊規範(例如序列先進技術附件(Serial Advanced Technology Attachment, SATA)規範、通用序列匯流排(Universal Serial Bus, USB)規範、快捷外部連接標準(Peripheral Component Interconnect Express, PCIe)規範、嵌入式多媒體卡規範或通用快閃儲存規範)之中的一個或多個通訊規範,並可為記憶體裝置100來根據該一個或多個通訊規範與主機裝置50(或其傳輸介面電路58)進行通訊。類似地,傳輸介面電路58可符合該一個或多個通訊規範,並可為主機裝置50來根據該一個或多通訊規範與記憶體裝置100(或其傳輸介面電路118)進行通訊。
在本實施例中,主機裝置50可以藉由將複數個主機命令以及相對應的邏輯位址傳送至記憶體控制器110來間接地存取記憶體裝置100內的該NV記憶體120。記憶體控制器110接收複數個主機命令以及相對應的邏輯位址,並且分別將複數個主機命令轉換成複數個記憶體操作命令(其可簡稱為操作命令),再利用複數個操作命令來控制該NV記憶體120,以對該NV記憶體120內相對應的實體位址的記憶體單元或資料頁面(data page)進行讀取或寫入/編程等等,其中實體位址可以與邏輯位址相關聯。舉例來說,記憶體控制器110可產生或更新至少一邏輯至實體(logical-to-physical, L2P)位址映射表來管理實體位址與邏輯位址之間的關係,其中該NV記憶體120可儲存一全域(global)邏輯至實體位址映射表120AM以供記憶體控制器110控制記憶體裝置100來存取該NV記憶體120中的資料,但是本發明不限於此。
為了更好的理解,全域邏輯至實體位址映射表120AM可位於NV記憶體122-1元件內的一預定區域(例如一系統區域)中,但本發明不限於此。舉例來說,全域邏輯至實體位址映射表120AM可被劃分成複數個局部(local)邏輯至實體位址映射表,並且該複數個局部邏輯至實體位址映射表可儲存於NV記憶體元件122-1、122-2以及122-N E的該一個或多個NV記憶體元件中,尤其,可分別儲存於NV記憶體元件122-1、122-2以及122-N E中。當有需要時,記憶體控制器110可將全域邏輯至實體位址映射表120AM的至少一部分(例如一部分或全部)加載至隨機存取記憶體116或其它記憶體中,舉例來說,記憶體控制器110可將該複數個局部邏輯至實體位址映射表之中的一局部邏輯至實體位址映射表加載至隨機存取記憶體116以作為一暫時邏輯至實體位址映射表116AM,以供根據儲存為暫時邏輯至實體位址映射表116AM的該局部邏輯至實體位址映射表來存取該NV記憶體120中的資料,但本發明不限於此。
此外,上述至少一NV記憶體元件(例如該一個或多個NV記憶體元件,諸如{122-1, 122-2, …, 122-N E})可包含有複數個區塊{BLK},其中記憶體控制器110可對該NV記憶體120進行資料抹除操作的最小單位為一區塊,並且記憶體控制器110可對該NV記憶體120進行資料寫入操作的最小單位為一頁面,但本發明不限於此。舉例來說,NV記憶體元件122-1、122-2、…以及122-N E之中的任一個NV記憶體元件122-n E(符號“n E”可代表在區間[1, N E]中的任一整數)可包含有多個區塊,並且該多個區塊內的一區塊可包含並記錄一特定頁面數量,其中記憶體控制器110可根據一區塊位址以及一頁面位址來存取該多個區塊內某個區塊的某個頁面。
根據某些實施例,控制邏輯電路114可包含一隨機化電路以及一錯誤校正碼(error correction code, ECC)電路(未顯示於第1圖中),其中該隨機化電路可對寫入資料(例如於因應來自主機裝置50的寫入命令來對該NV記憶體120進行寫入/編程操作的期間,待寫入至該NV記憶體120中的資料)進行隨機化操作並對讀取資料(例如於因應來自主機裝置50的讀取命令來對該NV記憶體120進行讀取操作的期間,自該NV記憶體120讀取的資料)進行去隨機化操作,以及該錯誤校正碼電路可對寫入資料進行錯誤校正碼編碼並對讀取資料進行錯誤校正碼解碼,以保護資料及/或進行錯誤校正,但是本發明不限於此。舉例來說,該複數個NV記憶體元件122-1、122-2、…、以及122-N E可藉由降級的快閃記憶體裸晶的方式來實施。此情況下,該錯誤校正碼解碼可能不成功,尤其,很容易發生無法修正錯誤校正碼(uncorrectable ECC, UECC)錯誤。記憶體控制器110可具備更強健的讀取機制,以避免由於採用降級的快閃記憶體裸晶而可能造成的高錯誤率。
控制邏輯電路114可包含有多個讀取處理子電路以提供上述更強健的讀取機制,而該多個讀取處理子電路可包含一對數似然比(log-likelihood ratio, LLR)映射電路114M以及一低密度奇偶檢查(low-density parity-check, LDPC)碼(LDPC code)解碼電路114D(分別簡稱為“LLR映射電路”和“LDPC碼解碼電路”),其中LLR映射電路114M可對被緩衝於至少一記憶體區域MR中的讀取資料進行相關映射操作,以容許LDPC碼解碼電路114D進行相關解碼操作來取得無誤的資料,以供回傳至主機裝置50,但本發明不限於此。根據某些實施例,第1圖所示架構可予以變化。舉例來說,該多個讀取處理子電路的至少一部分(例如一部分或全部),諸如LLR映射電路114M和LDPC碼解碼電路114D,可被整合到至少一其它電路(而非控制邏輯電路114)中。另外,於因應來自主機裝置50的讀取命令來對該NV記憶體120進行讀取操作的期間,記憶體控制器110可透過至少一通道CH(例如一個或多個通道{CH},諸如多個通道{CH(i)})從該NV記憶體120取得的多個通道數值{CV},以供該多個讀取處理子電路進行相關處理來取得無誤的資料。
第2圖為依據本發明某些實施例之多個LDPC碼解碼控制方案的示意圖,其中該多個LDPC碼解碼控制方案包含一第一LDPC碼解碼控制方案和一第二LDPC碼解碼控制方案。基於第2圖的上半部所示之該第一LDPC碼解碼控制方案,記憶體控制器110內的該多個讀取處理子電路可包含對應於上述至少一通道CH的至少一LDPC碼解碼引擎電路201_i,尤其,可包含分別對應於該多個通道{CH(i)}的多個LDPC碼解碼引擎電路{201_i},諸如分別對應於I個通道{CH(i) | i = 1, …, I}(例如“I”可代表大於一的任何正整數)的I個LDPC碼解碼引擎電路{201_i | i = 1,…, I}。舉例來說,該多個LDPC碼解碼引擎電路{201_i}中之任一個LDPC碼解碼引擎電路201_i可包含一揮發性記憶體例如記憶體211_i、一LLR映射電路220_i以及一LDPC碼解碼電路230_i,並且可耦接至該NV記憶體120以透過一對應的通道CH(i)從該NV記憶體120取得具有m位元每數值(m bits per value;於第2圖中標示為“m位元/數值”以求簡明)的一組通道數值{CV},以供進行相關處理。這一組通道數值{CV}中之任一通道數值CV可包含一正負號位元以及多個第一軟位元諸如(m - 1)個第一軟位元。
記憶體控制器110可透過通道CH(i)對該NV記憶體120進行至少一讀取操作以取得這一組通道數值{CV},以供被緩衝於該揮發性記憶體例如記憶體211_i中,並且利用該LLR映射電路220_i從記憶體211_i讀取這一組通道數值{CV}、且對這一組通道數值{CV}進行LLR映射操作以產生具有p位元每數值(p bits per value;於第2圖中標示為“p位元/數值”以求簡明)的一組LLR數值,以及利用該LDPC碼解碼電路230_i依據這一組LLR數值進行至少一LDPC碼解碼操作,以產生無誤的讀取資料,以供回傳至主機裝置50。舉例來說,該複數個NV記憶體元件122-1、122-2、…、以及122-N E可藉由降級的快閃記憶體裸晶的方式來實施。記憶體控制器110可進行一讀取重試程序(read retry procedure)以取得軟資訊諸如這一組通道數值{CV}分別帶有的軟位元,以供進行軟解碼例如LDPC碼解碼,以避免由於採用降級的快閃記憶體裸晶而可能造成的高錯誤率。
基於第2圖的下半部所示之該第二LDPC碼解碼控制方案,記憶體控制器110內的該多個讀取處理子電路可包含對應於上述至少一通道CH的至少一LDPC碼解碼引擎電路202_i,尤其,可包含分別對應於該多個通道{CH(i)}的多個LDPC碼解碼引擎電路{202_i},諸如分別對應於I個通道{CH(i) | i = 1, …, I}的I個LDPC碼解碼引擎電路{202_i | i = 1, …, I}。舉例來說,該多個LDPC碼解碼引擎電路{202_i}中之任一個LDPC碼解碼引擎電路202_i可包含一壓縮(compression)電路例如量化(quantization)壓縮電路208_i、一揮發性記憶體例如記憶體212_i、該LLR映射電路220_i以及該LDPC碼解碼電路230_i,並且可耦接至該NV記憶體120以透過上述之對應的通道CH(i)從該NV記憶體120取得具有m位元每數值(於第2圖中標示為“m位元/數值”以求簡明)的一組通道數值{CV},諸如該第一LDPC碼解碼控制方案中提到的同一組通道數值{CV},以供進行相關處理,但本發明不限於此。
記憶體控制器110可透過通道CH(i)對該NV記憶體120進行至少一讀取操作以取得這一組通道數值{CV},利用量化壓縮電路208_i對這一組通道數值{CV}進行至少一壓縮操作以將這一組通道數值{CV}中之任一通道數值CV中之多個第一軟位元轉換為多個第二軟位元,以產生對應於該任一通道數值CV的一壓縮的(compressed)通道數值CV COMPRESSED,以供緩衝於該揮發性記憶體例如記憶體212_i中,其中上述任一通道數值CV可包含一正負號位元以及該多個第一軟位元諸如(m - 1)個第一軟位元,而該壓縮的通道數值CV COMPRESSED可包含該正負號位元以及該多個第二軟位元諸如(n - 1)個第二軟位元,以及該多個第二軟位元的位元數(bit count)(例如軟位元數(n - 1))小於該多個第一軟位元的位元數(例如軟位元數(m - 1))。於是,記憶體212_i可以已經緩衝了來自量化壓縮電路208_i的具有n位元每數值(n bits per value;於第2圖中標示為“n位元/數值”以求簡明)的一組壓縮的通道數值{CV COMPRESSED}。另外,記憶體控制器110可利用該LLR映射電路220_i從記憶體212_i讀取分別對應於這一組通道數值{CV}的這一組壓縮的通道數值{CV COMPRESSED}、且對這一組壓縮的通道數值{CV COMPRESSED}進行LLR映射操作以產生具有p位元每數值(於第2圖中標示為“p位元/數值”以求簡明)的一組LLR數值,以及利用該LDPC碼解碼電路230_i依據這一組LLR數值進行至少一LDPC碼解碼操作,以產生無誤的讀取資料,以供回傳至主機裝置50。舉例來說,該複數個NV記憶體元件122-1、122-2、…、以及122-N E可藉由降級的快閃記憶體裸晶的方式來實施。記憶體控制器110可進行該讀取重試程序以取得該軟資訊(例如這一組通道數值{CV}分別帶有的軟位元),尤其,壓縮該軟資訊以產生壓縮的軟資訊(例如這一組壓縮的通道數值{CV COMPRESSED}分別帶有的軟位元),以供進行軟解碼例如LDPC碼解碼,以避免由於採用降級的快閃記憶體裸晶而可能造成的高錯誤率。
相較於該第一LDPC碼解碼控制方案,該第二LDPC碼解碼控制方案可節省記憶體空間,尤其,記憶體{212_i | i = 1, …, I}的總記憶體空間的大小對記憶體{211_i | i = 1, …, I}的總記憶體空間的大小之比率可等於(n / m),不論記憶體{211_i | i = 1, …, I}和記憶體{212_i | i = 1, …, I}是否藉由上述至少一記憶體區域MR(例如一個或多個記憶體區域{MR},諸如I個記憶體區域{MR(i) | i = 1, …, I })或藉由專用的(dedicated)記憶體(例如其它隨機存取記憶體)來實施。舉例來說,當m = 6且n = 3時,上述比率(n / m)可等於(1 / 2),但本發明不限於此。在某些例子中,位元數m、位元數n、及/或該比率(n / m)可予以變化。依據某些實施例,上述LLR數值中的任一個LLR數值可表示如下: LLR {B’}= ln(L(θ 0| x) / L(θ 1| x));……………………………………Eq(1)
其中 “L( )” 可代表機率函數,“L(θ 0| x)” 可代表該正負號位元等於0的機率,“L(θ 1| x)” 可代表該正負號位元等於1的機率,且 “LLR {B’}” 可代表上述任一個LLR數值(例如:當軟位元等於一組軟位元{B’}諸如位元{B1’, …, B(n-1)’}時的LLR數值),但本發明不限於此。
依據某些實施例,記憶體控制器110可透過記憶體控制器110內的傳輸介面電路118來自主機裝置50接收該複數個主機命令,以供根據該複數個主機命令來對該NV記憶體120進行資料存取,其中該資料存取可包含有資料讀取。另外,響應於該複數個主機命令當中的至少一讀取命令,記憶體控制器110可進行一讀取最佳化程序,以供維持該資料讀取的正確性。舉例來說,該讀取最佳化程序可包含該LDPC碼解碼引擎電路201_i的上列操作,尤其,可包含該I個LDPC碼解碼引擎電路{201_i | i = 1,…, I}的類似操作。再舉一例,該讀取最佳化程序可包含該LDPC碼解碼引擎電路202_i的上列操作,尤其,可包含該I個LDPC碼解碼引擎電路{202_i | i = 1,…, I}的類似操作。
第3圖為依據本發明一實施例之一種用以進行一記憶體裝置(例如第1圖所示的記憶體裝置100)的資料存取控制之方法的一通道數值處理控制方案的示意圖。記憶體控制器110內的該多個讀取處理子電路可包含對應於上述至少一通道CH的上述至少一LDPC碼解碼引擎電路202_i,諸如分別對應於該I個通道{CH(i) | i = 1, …, I}的該I個LDPC碼解碼引擎電路{202_i | i = 1, …, I},且另包含一錯誤復原電路114R和一等化器(equalizer)電路114E。舉例來說,錯誤復原電路114R和等化器電路114E可位於第1圖所示的控制邏輯電路114中,分別對應於該I個通道{CH(i) | i = 1, …, I}的I個LLR映射電路{220_i | i = 1, …, I}可視為第1圖所示的LLR映射電路114M的多個子電路,以及分別對應於該I個通道{CH(i) | i = 1, …, I}的I個LDPC碼解碼電路{230_i | i = 1, …, I}可視為第1圖所示的LDPC碼解碼電路114D的多個子電路,但本發明不限於此。依據某些實施例,該多個讀取處理子電路的至少一部分(例如一部分或全部),諸如該I個LDPC碼解碼引擎電路{202_i | i = 1, …, I}、錯誤復原電路114R和等化器電路114E,可被整合到上述至少一其它電路(而非控制邏輯電路114)中。
為了更好的理解,假設該NV記憶體120內的該複數個區塊{BLK}中的任一個區塊BLK可被配置為一J階細胞(J-level cell)區塊,而“J”可代表正整數。舉例來說,當J = 1時,區塊BLK可為一單階細胞(single-level cell, SLC)區塊;以及,當J > 1時,區塊BLK可為一多階細胞(multiple/multi-level cell, MLC)區塊,其中,若J = 2則區塊BLK可為一雙階細胞(double-level cell, DLC)區塊,若J = 3則區塊BLK可為一三階細胞(triple-level cell, TLC)區塊,若J = 4則區塊BLK可為一四階細胞(quadruple-level cell, QLC)區塊,且其餘可依此類推;但本發明不限於此。基於該通道數值處理控制方案,該讀取最佳化程序可包含該多個讀取處理子電路(例如第3圖所示架構)的相關操作,尤其,可包含下列操作:
(1) 記憶體控制器110可透過該多個通道{CH(i)}中之至少一通道CH(i)對該NV記憶體120進行至少一讀取操作以取得多個通道數值{CV},其中該多個通道數值{CV}中之任一通道數值CV可包含一個正負號位元Sign_bit(j)以及(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)},舉例來說,“j”可代表落入區間[0, (J - 1)]的整數,而“k”可代表落入區間[1, (m - 1)]的整數;
(2) 記憶體控制器110可利用量化壓縮電路208_i對該多個通道數值{CV}進行至少一壓縮操作以將上述任一通道數值CV中之該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}轉換為(n - 1)個軟位元{Soft_bit_new(j, k) | k = 1, …, (n - 1)},以產生對應於這一個通道數值CV的一壓縮的通道數值CV COMPRESSED,以供緩衝於該揮發性記憶體例如記憶體212_i中,其中該(n - 1)個軟位元{Soft_bit_new(j, k) | k = 1, …, (n - 1)}的位元數(例如軟位元數(n - 1))小於該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}的位元數(例如軟位元數(m - 1));
(3) 記憶體控制器110可利用該LLR映射電路220_i從該揮發性記憶體例如記憶體212_i讀取分別對應於該多個通道數值{CV}的多個壓縮的通道數值{CV COMPRESSED},且對該多個壓縮的通道數值{CV COMPRESSED}進行LLR映射操作以產生多個LLR數值;以及
(4) 記憶體控制器110可利用該LDPC碼解碼電路230_i依據該多個LLR數值進行至少一LDPC碼解碼操作、並且利用錯誤復原電路114R依據該多個通道數值{CV}進行至少一錯誤復原操作、以及另利用等化器電路114E依據該多個通道數值{CV}進行至少一等化操作,以產生無誤的讀取資料,以供回傳至主機裝置50,舉例來說,等化器電路114E可代表一決定反饋(decision feedback)等化器電路,而上述至少一等化操作可代表至少一決定反饋等化操作;
但本發明不限於此。依據某些實施例,該讀取最佳化程序的操作可予以變化。另外,上述至少一讀取操作可包含一第一讀取操作以及針對該第一讀取操作之多個讀取重試操作,其中上述任一通道數值CV中之該正負號位元Sign_bit(j)可從該第一讀取操作取得,以及上述任一通道數值中之該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}可從該多個讀取重試操作取得。
依據該方法來操作之相關設備(例如:記憶體控制器110、記憶體裝置100以及電子裝置10)可確保讀取資料之正確性,並且基於包含有上述至少一LDPC碼解碼操作、上述至少一錯誤復原操作以及上述至少一等化操作之該讀取最佳化程序,該無誤的讀取資料可以不具有任何錯誤。舉例來說,該複數個NV記憶體元件122-1、122-2、…、以及122-N E可藉由降級的快閃記憶體裸晶的方式來實施。此情況下,雖然降級的快閃記憶體裸晶的相關特性不穩定,依據該方法來操作之相關設備可透過讀取重試取得軟資訊以供進行軟解碼,並且進行錯誤復原以消除不同的記憶細胞所導致的任何錯誤以及進行等化以對抗符元間干擾,以在不引入副作用的情況下或藉由不太可能引入副作用的方式解決相關技術的問題。另外,依據該方法來操作之相關設備可達到最佳的配置,而不需要受限於各種不同的考量之間的權衡(trade-off)。舉例來說,上述各種不同的考量可包含:
(1) 一第一考量:是否採用降級的快閃記憶體裸晶;
(2) 一第二考量:是否能維持讀取資料之正確性;
(3) 一第三考量:是否採用軟解碼機制;以及
(4) 一第四考量:是否配置更多的記憶體空間以供進行軟解碼;
其中該方法來操作之相關設備可直接藉由採用降級的快閃記憶體裸晶來降低整體成本,而不需要受限於該第一考量和該第二考量之間的權衡,尤其,可透過該讀取重試程序來取得軟資訊以供進行軟解碼、且另進行錯誤復原以針對各種方向消除記憶細胞之間的不良影響以及進行等化例如決定反饋等化以對抗符元間干擾,以於採用降級的快閃記憶體裸晶來降低整體成本的情況下,提升在使用者日常使用的期間之讀取成功的機會,並且可進行量化壓縮以大幅地減少於進行軟解碼時所需的記憶體空間且有效率地進行軟解碼,而不需要受限於該第三考量和該第四考量之間的權衡。
第4A圖依據本發明一實施例繪示該方法所涉及的多個正負號位元Sign_bit(0)、Sign_bit(1)和Sign_bit(2)。該NV記憶體120內的一組記憶細胞120C可被配置為J階細胞,且這一組記憶細胞120C中的任一個記憶細胞可以處於自多個候選編程狀態{P}諸如2 J個編程狀態{P1, …, P2 J}所擇取的一編程狀態P中。舉例來說,當J = 3,該組記憶細胞120C可被配置為三階細胞,且該組記憶細胞120C中的任一個記憶細胞可以處於自該多個候選編程狀態{P}諸如8個編程狀態{P1, …, P8}所擇取的一編程狀態P中,其中第4A圖的下半部所示的橫軸可代表閾值(threshold)電壓Vth,且依據某些觀點,閾值電壓Vth可被稱為讀取電壓,但本發明不限於此。依據某些實施例,第4A圖所示的該多個候選編程狀態{P1, …, P8}、及/或該組記憶細胞120C的階數(level count) J可予以變化。舉例來說,階數J可等於一系列數值{1, 2, 3, 4, …}中的任一數值。
如第4A圖的上半部所示,記憶體控制器110可參考一預定編碼規則以將該2 J個編程狀態{P1, …, P2 J}諸如該8個編程狀態{P1, …, P8}關聯於2 J個預定碼諸如該8個預定碼{111, 011, 001, 101, 100, 000, 010, 110},其中該2 J個預定碼中之任一個預定碼可包含J個正負號位元{Sign_bit(j) | j = 0, …, (J - 1)}諸如3個正負號位元Sign_bit(0)、Sign_bit(1)和Sign_bit(2),但本發明不限於此。依據某些實施例,該預定編碼規則、該2 J個預定碼諸如第4A圖所示的該8個預定碼{111, 011, 001, 101, 100, 000, 010, 110}、及/或階數J可予以變化。
第4B圖依據本發明一實施例繪示該方法所涉及的該正負號位元Sign_bit(j)以及該(m - 1)個軟位元Soft_bit_org(j, k) | k = 1, …, (m - 1)}。於進行該讀取最佳化程序的期間,記憶體控制器110可進行該第一讀取操作以取得該正負號位元Sign_bit(j)、並且另執行該讀取重試程序以進行該多個讀取重試操作來取得該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)},其中這些軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}可指出該正負號位元Sign_bit(j)為多強或多弱的位元1(若Sign_bit(j) = 1)、或指出該正負號位元Sign_bit(j)為多強或多弱的位元0(若Sign_bit(j) = 0),且依據某些觀點,這些軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}可用以精確地指出和該正負號位元Sign_bit(j)相關聯的編程狀態P在Vth軸上的位置以提升偵測此編程狀態P在Vth軸上的位置之精確度,但本發明不限於此。舉例來說,當k = 1,記憶體控制器110可進行第1個讀取重試操作來取得第1個軟位元Soft_bit_org(j, 1);當k = 2,記憶體控制器110可進行第1個讀取重試操作來取得第1個軟位元Soft_bit_org(j, 2);當k = 3,記憶體控制器110可進行第3個讀取重試操作來取得第3個軟位元Soft_bit_org(j, 3);當k = 4,記憶體控制器110可進行第4個讀取重試操作來取得第4個軟位元Soft_bit_org(j, 4);且其餘可依此類推。
為了更好的理解,分別對應於k = 1、k = 2、k = 3、k = 4等之箭頭可被繪示於第4B圖中以指出偵測此編程狀態P在Vth軸上的位置之相關操作,但本發明不限於此。依據某些實施例,這些操作、在Vth軸上的相關偵測方向(例如正方向或負方向)、及/或在Vth軸上的相關偵測位置可予以變化。
第5A圖依據本發明一實施例繪示該方法的一壓縮處理控制方案的示意圖。舉例來說,假設m = 6,在輸入至量化壓縮電路208_i的上述任一通道數值CV中,該正負號位元Sign_bit(j)可包含一個位元B0,且該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}可包含5個位元B1、B2、B3、B4和B5(例如:二進制數值{00000, 00001, …, 11111}中的任一個二進制數值);以及假設n = 3,在輸出自量化壓縮電路208_i的上述壓縮的通道數值CV COMPRESSED中,該正負號位元Sign_bit(j)可包含同一個位元B0,且該(n - 1)個軟位元{Soft_bit_new(j, k) | k = 1, …, (n - 1)}可包含2個位元B1’和B2’ (例如:二進制數值{00, 01, 10, 11}中的任一個二進制數值),但本發明不限於此。依據某些實施例,軟位元數(m - 1)、軟位元數(n - 1)、及/或相關位元排列可予以變化。
當n = 3,該組軟位元{B’}諸如位元{B1’, …, B(n-1)’}可代表位元{B1’, B2’}(例如:二進制數值{00, 01, 10, 11}中的任一個二進制數值),且方程式Eq(1)可被重寫如下: LLR {B1’, B2’}= ln(L(θ 0| x) / L(θ 1| x));……………………………………Eq(2)
其中 “LLR {B1’, B2’}” 可代表當軟位元等於位元{B1’, B2’}時的LLR數值。
第5B圖依據本發明一實施例繪示第5A圖的下半部所示位元{B0, B1’, B2’}的多組候選位元以及某些相關的機率。舉例來說,位元{B0, B1’, B2’}可等於八組候選位元{011, 010, 001, 000, 100, 101, 110, 111}中的任一組位元,其中{B0, B1’, B2’} = 011的機率可為97%,而{B0, B1’, B2’} = 111的機率可為0.01%,但本發明不限於此。依據某些實施例,位元{B1’, …, B(n-1)’}的位元數(n - 1)、對應的2 n組候選位元、及/或相關的機率可予以變化。另外,針對{B1’, B2’} = 11,方程式Eq(2)可被重寫如下:
LLR 11= ln(97% / 0.01%);
但本發明不限於此。在某些例子中,該LLR數值LLR 11可於相關的機率變化時而對應地變化。
第6圖依據本發明一實施例繪示該方法的該壓縮處理控制方案所涉及的一壓縮映射函數,其中橫軸可代表原始的軟資訊Soft_Info_org(例如該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}的十進制數值),而縱軸可代表新的軟資訊Soft_Info_new(例如該(n - 1)個軟位元{Soft_bit_new(j, k) | k = 1, …, (n - 1)}的十進制數值)。記憶體控制器110可利用量化壓縮電路208_i依據該壓縮映射函數壓縮上述任一通道數值CV中之該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}以產生壓縮的通道數值CV COMPRESSED中之該(n - 1)個軟位元{Soft_bit_new(j, k) | k = 1, …, (n - 1)}。舉例來說,假設m = 6且n = 3,記憶體控制器110可利用量化壓縮電路208_i依據該壓縮映射函數壓縮該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}諸如第5A圖的上半部所示的該5個位元B1、B2、B3、B4和B5以產生該(n - 1)個軟位元{Soft_bit_new(j, k) | k = 1, …, (n - 1)}諸如第5A圖的下半部所示該2個位元B1’和B2’,尤其,可將該5個位元B1、B2、B3、B4和B5的十進制數值從一映射範圍(例如區間[0, 31]的範圍)的多個子映射範圍(例如區間[0, 3]、[4, 7]、[8, 11]和[12, 31]之各自的範圍)中的任一個子映射範圍映射至多個映射數值(例如數值0、1、2和3)中的一對應的映射數值以成為該2個位元B1’和B2’,但本發明不限於此。依據某些實施例,該壓縮映射函數、該映射範圍及其多個子映射範圍、軟位元數(m - 1)、及/或軟位元數(n - 1)可予以變化。
第7A圖依據本發明一實施例繪示該方法所涉及的一目標記憶細胞以及多個幫助者記憶細胞。為了更好的理解,以二維(two-dimensional,簡稱2D)快閃記憶體作為該NV記憶體120的例子,一組錯誤復原相關的(error-recovery-related)記憶細胞704可包含該目標記憶細胞以及緊鄰於該目標記憶細胞的4個記憶細胞,而記憶體控制器110可利用錯誤復原電路114R依據該多個通道數值{CV}進行上述至少一錯誤復原操作,以消除該多個幫助者記憶細胞(例如緊鄰於該目標記憶細胞的這4個記憶細胞)所導致的任何錯誤,但本發明不限於此。依據某些實施例,該NV記憶體120的類型、針對該目標記憶細胞的該多個幫助者記憶細胞的數量、及/或該多個幫助者記憶細胞的排列可予以變化。
第7B圖依據本發明另一實施例繪示該方法所涉及的一目標記憶細胞以及多個幫助者記憶細胞。為了更好的理解,以2D快閃記憶體作為該NV記憶體120的例子,一組錯誤復原相關的記憶細胞708可包含該目標記憶細胞以及環繞著該目標記憶細胞的8個記憶細胞,而記憶體控制器110可利用錯誤復原電路114R依據該多個通道數值{CV}進行上述至少一錯誤復原操作,以消除該多個幫助者記憶細胞(例如環繞著該目標記憶細胞的這8個記憶細胞)所導致的任何錯誤,但本發明不限於此。依據某些實施例,該NV記憶體120的類型、針對該目標記憶細胞的該多個幫助者記憶細胞的數量、及/或該多個幫助者記憶細胞的排列可予以變化。
第7C圖依據本發明又一實施例繪示該方法所涉及的一目標記憶細胞以及多個幫助者記憶細胞。為了更好的理解,以三維(three-dimensional,簡稱3D)快閃記憶體作為該NV記憶體120的例子,一第一組錯誤復原相關的記憶細胞708可包含該目標記憶細胞以及於同一層中環繞著該目標記憶細胞的8個記憶細胞,一第二組錯誤復原相關的記憶細胞710可包含於另一層(例如一較上層(upper layer))中對應於該第一組錯誤復原相關的記憶細胞708之9個記憶細胞,且一第三組錯誤復原相關的記憶細胞720可包含於又一層(例如一較下層(lower layer))中對應於該第一組錯誤復原相關的記憶細胞708之9個記憶細胞。另外,記憶體控制器110可利用錯誤復原電路114R依據該多個通道數值{CV}進行上述至少一錯誤復原操作,以消除該多個幫助者記憶細胞(例如環繞著該目標記憶細胞的8個記憶細胞、於該另一層例如該較上層中之9個記憶細胞以及於上述又一層例如該較下層中之9個記憶細胞)所導致的任何錯誤,但本發明不限於此。依據某些實施例,該NV記憶體120的類型、針對該目標記憶細胞的該多個幫助者記憶細胞的數量、及/或該多個幫助者記憶細胞的排列可予以變化。
第8A圖依據本發明一實施例繪示該方法的一錯誤復原控制方案所涉及的一目標記憶細胞之受干擾編程狀態以及一幫助者記憶細胞#q之編程狀態,其中該目標記憶細胞之非干擾編程狀態也被繪示於第8A圖以便於理解。假設針對這個目標記憶細胞之所有錯誤復原相關的記憶細胞可包含Q個幫助者記憶細胞#1、#2、…和#Q(例如“Q”可代表正整數),而幫助者記憶細胞#q可為該Q個幫助者記憶細胞#1、#2、…和#Q的其中一者(例如“q”可為落入區間[1, Q]中的整數)。第7A圖、第7B圖和第7C圖所示實施例中的任一個實施例中所述的該目標記憶細胞和該多個幫助者記憶細胞可作為本實施例中的該目標記憶細胞和該Q個幫助者記憶細胞#1、#2、…和#Q的例子。由於幫助者記憶細胞#q的干擾,該目標記憶細胞的編程狀態可能從該非干擾編程狀態變成該受干擾編程狀態,但本發明不限於此。依據某些實施例,該目標記憶細胞之該受干擾編程狀態和該非干擾編程狀態、及/或幫助者記憶細胞#q之編程狀態可予以變化。
第8B圖依據本發明一實施例繪示該方法的該錯誤復原控制方案所涉及的錯誤復原,其中該目標記憶細胞之該受干擾編程狀態和該非干擾編程狀態以及該幫助者記憶細胞#q之該編程狀態均被繪示於第8B圖以便於理解。記憶體控制器110可利用錯誤復原電路114R依據該多個通道數值{CV}進行上述至少一錯誤復原操作,以消除該幫助者記憶細胞#q所導致的任何錯誤,尤其,可將該目標記憶細胞的編程狀態從該受干擾編程狀態復原到該非干擾編程狀態,但本發明不限於此。依據某些實施例,該目標記憶細胞之該受干擾編程狀態和該非干擾編程狀態、及/或幫助者記憶細胞#q之編程狀態可予以變化。
第8C圖依據本發明一實施例繪示該方法的該錯誤復原控制方案所涉及的多個階段Phase(0)、Phase(1)、Phase(2)和Phase(3)。舉例來說,於階段Phase(0)中,錯誤復原電路114R可決定該目標記憶細胞(例如第4A圖所示實施例中所述的該組記憶細胞120C中的任一個記憶細胞)以及對應於該目標記憶細胞的多個幫助者記憶細胞,諸如該Q個幫助者記憶細胞#1、#2、…和#Q;於階段Phase(1)中,錯誤復原電路114R可讀取該目標記憶細胞以產生該目標記憶細胞的一目標記憶細胞讀取結果,其中該目標記憶細胞讀取結果可包含從執行多重讀取(例如藉由進行正常讀取及進行該讀取重試程序)取得之針對該目標記憶細胞的J個通道數值{CV};於階段Phase(2)中,錯誤復原電路114R可讀取該多個幫助者記憶細胞諸如該Q個幫助者記憶細胞#1、#2、…和#Q以產生該多個幫助者記憶細胞的多個幫助者記憶細胞讀取結果#1、#2、…和#Q,其中幫助者記憶細胞#q的幫助者記憶細胞讀取結果#q可包含從執行多重讀取(例如藉由進行正常讀取及進行該讀取重試程序)取得之針對幫助者記憶細胞#q的J個通道數值{CV};以及於階段Phase(3)中,錯誤復原電路114R可依據該多個幫助者記憶細胞讀取結果#1、#2、…和#Q對該目標記憶細胞讀取結果進行錯誤復原,以供消除該多個幫助者記憶細胞諸如該Q個幫助者記憶細胞#1、#2、…和#Q所導致的任何錯誤。
第9圖依據本發明一實施例繪示該方法的一決定反饋等化控制方案,其中橫軸可代表時間t。記憶體控制器110可利用等化器電路114E對該複數個區塊{BLK}中的任一個區塊BLK的多個記憶細胞中的任一個記憶細胞(例如第4A圖所示實施例中所述的該組記憶細胞120C中的上述任一個記憶細胞)的讀取資料,諸如讀取自這一個記憶細胞的多個位元,進行上述等化例如該決定反饋等化(於第9圖中標示為“DFE” 以求簡明),其中該讀取資料可包含從執行多重讀取(例如藉由進行正常讀取及進行該讀取重試程序)取得之針對這一個記憶細胞的J個通道數值{CV},而該多個位元可代表這J個通道數值{CV}之各自的位元{B0, B1, … , B(m - 1)}。記憶體控制器110可利用等化器電路114E對該讀取資料(例如這J個通道數值{CV}之各自的位元{B0, B1, … , B(m - 1)})進行該決定反饋等化,尤其,依據至少一預定通道模型偵測該多個通道{CH(i)}之各自的通道響應以決定等化器電路114E的相關參數,以供依據先前位元對後續位元進行針對通道CH(i)之該決定反饋等化,以藉由該決定反饋等化將後續位元從有符元間干擾的狀態(於第9圖中標示為“有ISI”以求簡明)調整為無符元間干擾的狀態(於第9圖中標示為“無ISI”以求簡明)。為了更好的理解,這J個通道數值{CV}中的軟資訊(例如其各自的軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)},諸如其各自的位元{B1, … , B(m - 1)})可指出對應的硬資訊(例如其各自的正負號位元Sign_bit(j),諸如其各自的位元B0)中的某一位元為多強或多弱的位元1(若Sign_bit(j) = 1)、或指出該對應的硬資訊中的某一位元為多強或多弱的位元0(若Sign_bit(j) = 0),但本發明不限於此。依據某些實施例,上述等化例如該決定反饋等化、這J個通道數值{CV}中的硬資訊和軟資訊、及/或這J個通道數值{CV}中的軟資訊所指出的硬資訊強度可予以變化。
第10圖依據本發明一實施例繪示該方法的一處理結果,其中橫軸可代表原始位元錯誤率(raw bit error rate)RBER,其可用百分比(標示為“%”以求簡明)為單位來表示,而縱軸可代表平均延遲(average latency)Avg_Latency,其可用循環(標示為“Cycle”以求簡明)為單位來表示,但本發明不限於此。另外,用以取得該處理結果之相關配置可包含:採用可加性白高斯雜訊(additive white Gaussian noise,簡稱AWGN)來進行分析,且採用LDPC碼解碼以作為上述軟解碼機制來產生平均延遲Avg_Latency(於第10圖中標示為“軟AWGN LDPC平均延遲”以求簡明);針對第2圖的上半部所示的該第一LDPC碼解碼控制方案,配置m = 6,以使軟位元數(m - 1)等於5;以及針對第2圖的下半部所示的該第二LDPC碼解碼控制方案,配置m = 6以及n = 3,以使軟位元數(m - 1)等於5且軟位元數(n - 1)等於2。如第10圖所示,該第二LDPC碼解碼控制方案的平均延遲Avg_Latency相對於原始位元錯誤率RBER之關係(標示為“3位元壓縮”以求簡明)可以相當接近該第一LDPC碼解碼控制方案的平均延遲Avg_Latency相對於原始位元錯誤率RBER之關係(標示為“6位元原始”以求簡明),這可指出進行上述量化壓縮確實可達到大幅地減少於進行軟解碼時所需的記憶體空間且有效率地進行軟解碼,而不會顯著地影響整體效能。
第11圖依據本發明一實施例繪示該方法的該讀取最佳化程序之一工作流程。響應於該複數個主機命令當中的上述至少一讀取命令,記憶體控制器110可依據第11圖所示之工作流程來進行該讀取最佳化程序。
於步驟S11中,記憶體控制器110可透過該多個通道{CH(i)}中之上述至少一通道CH(i)對該NV記憶體120進行上述至少一讀取操作以取得該多個通道數值{CV}。舉例來說,該多個通道數值{CV}中之上述任一通道數值CV可包含該正負號位元Sign_bit(j)以及該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}。
於步驟S12中,記憶體控制器110可利用量化壓縮電路208_i對該多個通道數值{CV}進行上述至少一壓縮操作以將(上述任一通道數值CV中之)該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}轉換為該(n - 1)個軟位元{Soft_bit_new(j, k) | k = 1, …, (n - 1)},以產生(對應於這一個通道數值CV的)該壓縮的通道數值CV COMPRESSED,以供緩衝於該揮發性記憶體例如記憶體212_i中。舉例來說,由於n < m,故該(n - 1)個軟位元{Soft_bit_new(j, k) | k = 1, …, (n - 1)}的位元數(例如軟位元數(n - 1))小於該(m - 1)個軟位元{Soft_bit_org(j, k) | k = 1, …, (m - 1)}的位元數(例如軟位元數(m - 1))。
於步驟S13中,記憶體控制器110可利用該LDPC碼解碼引擎電路202_i從該揮發性記憶體例如記憶體212_i讀取分別對應於該多個通道數值{CV}的該多個壓縮的通道數值{CV COMPRESSED},以供進行LDPC碼解碼。舉例來說,記憶體控制器110可利用該LLR映射電路220_i從該揮發性記憶體例如記憶體212_i讀取分別對應於該多個通道數值{CV}的該多個壓縮的通道數值{CV COMPRESSED},且對該多個壓縮的通道數值{CV COMPRESSED}進行該些LLR映射操作以產生該多個LLR數值,以供該LDPC碼解碼電路230_i進行後續操作。
於步驟S14中,記憶體控制器110可利用該LDPC碼解碼引擎電路202_i依據該多個壓縮的通道數值{CV COMPRESSED}(例如:於步驟S13中剛剛從該揮發性記憶體例如記憶體212_i讀取的該多個壓縮的通道數值{CV COMPRESSED})進行該LDPC碼解碼、並且利用錯誤復原電路114R依據該多個通道數值{CV}進行上述至少一錯誤復原操作、以及另利用等化器電路114E依據該多個通道數值{CV}進行上述至少一等化操作,以產生該無誤的讀取資料,以供回傳至主機裝置50。舉例來說,記憶體控制器110可利用該LDPC碼解碼引擎電路202_i中之該LLR映射電路220_i從該揮發性記憶體例如記憶體212_i讀取分別對應於該多個通道數值{CV}的該多個壓縮的通道數值{CV COMPRESSED}。當利用該LDPC碼解碼引擎電路202_i依據該多個壓縮的通道數值{CV COMPRESSED}進行該LDPC碼解碼時,記憶體控制器110可利用該LDPC碼解碼引擎電路202_i中之該LLR映射電路220_i對該多個壓縮的通道數值{CV COMPRESSED}進行該些LLR映射操作以產生該多個LLR數值,以及利用該LDPC碼解碼引擎電路202_i中之該LDPC碼解碼電路230_i依據該多個LLR數值進行上述至少一LDPC碼解碼操作。
基於包含有該LDPC碼解碼、上述至少一錯誤復原操作以及上述至少一等化操作之該讀取最佳化程序,該無誤的讀取資料不具有任何錯誤。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
為了更好地理解,該方法可用第11圖所示之工作流程來說明,但本發明不限於此。依據某些實施例,一個或多個步驟可於第11圖所示之工作流程中增加、刪除或修改。舉例來說,該LDPC碼解碼電路230_i可包含至少一變數節點單元(variable node unit,簡稱VNU)、至少一桶式移位器(barrel shifter,簡稱BS)和至少一檢查節點單元(check node unit,簡稱CNU)。當利用該LDPC碼解碼引擎電路202_i依據該多個壓縮的通道數值{CV COMPRESSED}進行該LDPC碼解碼時,記憶體控制器110可利用該LDPC碼解碼電路230_i的多個子電路,諸如上述至少一VNU、上述至少一BS和上述至少一CNU,來進行上述至少一LDPC碼解碼操作。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子裝置 50:主機裝置 52:處理器 54:電源供應電路 58:傳輸介面電路 100:記憶體裝置 110:記憶體控制器 112:微處理器 112C:程式碼 112M:唯讀記憶體 114:控制邏輯電路 114D, 230_i:低密度奇偶檢查(LDPC)碼解碼電路 114E:等化器電路 114M, 220_i:對數似然比(LLR)映射電路 114R:錯誤復原電路 116:隨機存取記憶體 116AM:暫時邏輯至實體(L2P)位址映射表 118:傳輸介面電路 120:非揮發性(NV)記憶體 120C:記憶細胞 120AM:全域邏輯至實體(L2P)位址映射表 122-1~122-N E:非揮發性(NV)記憶體元件 201_i, 202_i:低密度奇偶檢查(LDPC)碼解碼引擎電路 208_i:量化壓縮電路 211_i, 212_i:記憶體 704, 708, 710, 720:錯誤復原相關的記憶細胞 B0~B5, B1’, B2’:位元 CH(i):通道 CV:通道數值 MR:記憶體區域 Phase(0)~Phase(3):階段 P1~P8:編程狀態 Sign_bit(0)~Sign_bit(2), Sign_bit(j):正負號位元 Soft_bit_org(j, k), Soft_bit_new(j, k):軟位元 Soft_Info_org, Soft_Info_new:軟資訊 t:時間 Vth:閾值電壓 Avg_Latency:平均延遲 Cycle:循環 RBER:原始位元錯誤率 S11~S14:步驟
第1圖為依據本發明一實施例之電子裝置的示意圖。 第2圖為依據本發明某些實施例之多個低密度奇偶檢查碼解碼控制方案的示意圖。 第3圖為依據本發明一實施例之一種用以進行一記憶體裝置的資料存取控制之方法的一通道數值處理控制方案的示意圖。 第4A圖依據本發明一實施例繪示該方法所涉及的多個正負號位元。 第4B圖依據本發明一實施例繪示該方法所涉及的一個正負號位元以及多個軟位元。 第5A圖依據本發明一實施例繪示該方法的一壓縮處理控制方案的示意圖。 第5B圖依據本發明一實施例繪示第5A圖的下半部所示位元的多組候選位元以及某些相關的機率。 第6圖依據本發明一實施例繪示該方法的該壓縮處理控制方案所涉及的一壓縮映射函數。 第7A圖依據本發明一實施例繪示該方法所涉及的一目標(target)記憶細胞以及多個幫助者(helper)記憶細胞。 第7B圖依據本發明另一實施例繪示該方法所涉及的一目標記憶細胞以及多個幫助者記憶細胞。 第7C圖依據本發明又一實施例繪示該方法所涉及的一目標記憶細胞以及多個幫助者記憶細胞。 第8A圖依據本發明一實施例繪示該方法的一錯誤復原控制方案所涉及的一目標記憶細胞之受干擾編程狀態以及一幫助者記憶細胞之編程狀態,其中該目標記憶細胞之非干擾編程狀態也被繪示於第8A圖以便於理解。 第8B圖依據本發明一實施例繪示該方法的該錯誤復原控制方案所涉及的錯誤復原,其中該目標記憶細胞之該受干擾編程狀態和該非干擾編程狀態以及該幫助者記憶細胞之該編程狀態均被繪示於第8B圖以便於理解。 第8C圖依據本發明一實施例繪示該方法的該錯誤復原控制方案所涉及的多個階段。 第9圖依據本發明一實施例繪示該方法的一決定反饋等化(decision feedback equalization, DFE)控制方案。 第10圖依據本發明一實施例繪示該方法的一處理結果。 第11圖依據本發明一實施例繪示該方法的一讀取最佳化程序之一工作流程。
10:電子裝置
50:主機裝置
52:處理器
54:電源供應電路
58:傳輸介面電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
114D:低密度奇偶檢查(LDPC)碼解碼電路
114M:對數似然比(LLR)映射電路
116:隨機存取記憶體
116AM:暫時邏輯至實體(L2P)位址映射表
118:傳輸介面電路
120:非揮發性(NV)記憶體
120AM:全域邏輯至實體(L2P)位址映射表
122-1~122-NE:非揮發性(NV)記憶體元件
MR:記憶體區域

Claims (11)

  1. 一種用以進行一記憶體裝置的資料存取控制之方法,該方法係應用於該記憶體裝置的一記憶體控制器,該記憶體裝置包含有該記憶體控制器以及一非揮發性記憶體,該非揮發性記憶體包含有至少一非揮發性記憶體元件,該方法包含有: 自一主機裝置接收複數個主機命令,以供根據該複數個主機命令來對該非揮發性記憶體進行資料存取,其中該資料存取包含有資料讀取;以及 響應於至少一讀取命令,進行一讀取最佳化程序,以供維持該資料讀取的正確性,其中該複數個主機命令包含該至少一讀取命令,以及該讀取最佳化程序包含有: 透過多個通道中之至少一通道對該非揮發性記憶體進行至少一讀取操作以取得多個通道數值,其中該多個通道數值中之任一通道數值包含一正負號位元(sign bit)以及多個第一軟位元(soft bit); 對該多個通道數值進行至少一壓縮操作以將該任一通道數值中之該多個第一軟位元轉換為多個第二軟位元,以產生對應於該任一通道數值的一壓縮的通道數值,以供緩衝於該記憶體控制器內的一揮發性記憶體,其中該多個第二軟位元的一第二位元數小於該多個第一軟位元的一第一位元數; 從該揮發性記憶體讀取分別對應於該多個通道數值的多個壓縮的通道數值,以供進行低密度奇偶檢查(low-density parity-check, LDPC)碼解碼;以及 利用一低密度奇偶檢查碼解碼引擎電路依據該多個壓縮的通道數值進行該低密度奇偶檢查碼解碼、並且利用一錯誤復原(error recovery)電路依據該多個通道數值進行至少一錯誤復原操作,以產生無誤的(error-free)讀取資料,以供回傳至該主機裝置。
  2. 如申請專利範圍第1項所述之方法,其中該至少一讀取操作包含一第一讀取操作以及多個讀取重試(read retry)操作,其中該任一通道數值中之該正負號位元是從該第一讀取操作取得,以及該任一通道數值中之該多個第一軟位元是從該多個讀取重試操作取得。
  3. 如申請專利範圍第1項所述之方法,其中該至少一錯誤復原操作中之任一錯誤復原操作包含: 決定一目標記憶細胞(target memory cell)以及對應於該目標記憶細胞的多個幫助者記憶細胞(helper memory cell); 讀取該目標記憶細胞以產生該目標記憶細胞的一目標記憶細胞讀取結果; 讀取該多個幫助者記憶細胞以產生該多個幫助者記憶細胞的多個幫助者記憶細胞讀取結果;以及 依據該多個幫助者記憶細胞讀取結果對該目標記憶細胞讀取結果進行錯誤復原,以供消除(eliminate)該多個幫助者記憶細胞所導致的任何錯誤。
  4. 如申請專利範圍第1項所述之方法,其中利用該低密度奇偶檢查碼解碼引擎電路依據該多個壓縮的通道數值進行該低密度奇偶檢查碼解碼、並且利用該錯誤復原電路依據該多個通道數值進行該至少一錯誤復原操作,以產生該無誤的讀取資料另包含: 利用該低密度奇偶檢查碼解碼引擎電路依據該多個壓縮的通道數值進行該低密度奇偶檢查碼解碼、並且利用該錯誤復原電路依據該多個通道數值進行該至少一錯誤復原操作、以及另利用一等化器(equalizer)電路依據該多個通道數值進行至少一等化(equalization)操作,以產生該無誤的讀取資料。
  5. 如申請專利範圍第4項所述之方法,其中該等化器電路代表一決定反饋(decision feedback)等化器電路,而該至少一等化操作代表至少一決定反饋等化(decision feedback equalization,DFE)操作。
  6. 如申請專利範圍第4項所述之方法,其中基於包含有該低密度奇偶檢查碼解碼、該至少一錯誤復原操作以及該至少一等化操作之該讀取最佳化程序,該無誤的讀取資料不具有任何錯誤。
  7. 如申請專利範圍第1項所述之方法,其中利用該低密度奇偶檢查碼解碼引擎電路依據該多個壓縮的通道數值進行該低密度奇偶檢查碼解碼另包含: 利用該低密度奇偶檢查碼解碼引擎電路中之一對數似然比(log-likelihood ratio, LLR)映射電路對該多個壓縮的通道數值進行對數似然比映射操作以產生多個對數似然比數值;以及 利用該低密度奇偶檢查碼解碼引擎電路中之一低密度奇偶檢查碼解碼電路依據該多個對數似然比數值進行至少一低密度奇偶檢查碼解碼操作。
  8. 如申請專利範圍第1項所述之方法,其中基於包含有該至少一低密度奇偶檢查碼解碼操作以及該至少一錯誤復原操作之該讀取最佳化程序,該無誤的讀取資料不具有任何錯誤。
  9. 一種記憶體裝置的記憶體控制器,該記憶體裝置包含有該記憶體控制器以及一非揮發性記憶體,該非揮發性記憶體包含有至少一非揮發性記憶體元件,該記憶體控制器包含有: 一處理電路,用以根據來自一主機裝置的複數個主機命令來控制該記憶體控制器,以容許該主機裝置透過該記憶體控制器來存取該非揮發性記憶體;以及 一傳輸介面電路,用以與該主機裝置進行通訊; 其中: 該記憶體控制器透過該記憶體控制器內的該傳輸介面電路來自該主機裝置接收該複數個主機命令,以供根據該複數個主機命令來對該非揮發性記憶體進行資料存取,其中該資料存取包含有資料讀取;以及 響應於至少一讀取命令,該記憶體控制器進行一讀取最佳化程序,以供維持該資料讀取的正確性,其中該複數個主機命令包含該至少一讀取命令,以及該讀取最佳化程序包含有: 透過多個通道中之至少一通道對該非揮發性記憶體進行至少一讀取操作以取得多個通道數值,其中該多個通道數值中之任一通道數值包含一正負號位元(sign bit)以及多個第一軟位元(soft bit); 對該多個通道數值進行至少一壓縮操作以將該任一通道數值中之該多個第一軟位元轉換為多個第二軟位元,以產生對應於該任一通道數值的一壓縮的通道數值,以供緩衝於該記憶體控制器內的一揮發性記憶體,其中該多個第二軟位元的一第二位元數小於該多個第一軟位元的一第一位元數; 從該揮發性記憶體讀取分別對應於該多個通道數值的多個壓縮的通道數值,以供進行低密度奇偶檢查(low-density parity-check, LDPC)碼解碼;以及 利用一低密度奇偶檢查碼解碼引擎電路依據該多個壓縮的通道數值進行該低密度奇偶檢查碼解碼、並且利用一錯誤復原(error recovery)電路依據該多個通道數值進行至少一錯誤復原操作,以產生無誤的(error-free)讀取資料,以供回傳至該主機裝置。
  10. 一種記憶體裝置,其包含有申請專利範圍第9項所述之記憶體控制器,其中該記憶體裝置包含有: 該非揮發性記憶體,用以儲存資訊;以及 該記憶體控制器,耦接於該非揮發性記憶體,並且用以控制該記憶體裝置的操作。
  11. 一種電子裝置,其包含有申請專利範圍第10項所述之記憶體裝置,並且另包含有: 該主機裝置,耦接至該記憶體裝置,其中該主機裝置包含有: 至少一處理器,用以控制該主機裝置的操作;以及 一電源供應電路,耦接於該至少一處理器,並且用以提供電源給該至少一處理器以及該記憶體裝置; 其中該記憶體裝置提供儲存空間給該主機裝置。
TW112137621A 2023-10-02 2023-10-02 用以進行記憶體裝置的資料存取控制之方法、記憶體控制器、記憶體裝置以及電子裝置 TWI841494B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW112137621A TWI841494B (zh) 2023-10-02 2023-10-02 用以進行記憶體裝置的資料存取控制之方法、記憶體控制器、記憶體裝置以及電子裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW112137621A TWI841494B (zh) 2023-10-02 2023-10-02 用以進行記憶體裝置的資料存取控制之方法、記憶體控制器、記憶體裝置以及電子裝置

Publications (1)

Publication Number Publication Date
TWI841494B true TWI841494B (zh) 2024-05-01

Family

ID=92076716

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112137621A TWI841494B (zh) 2023-10-02 2023-10-02 用以進行記憶體裝置的資料存取控制之方法、記憶體控制器、記憶體裝置以及電子裝置

Country Status (1)

Country Link
TW (1) TWI841494B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202013187A (zh) * 2018-09-26 2020-04-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TW202113610A (zh) * 2019-09-19 2021-04-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TW202123241A (zh) * 2019-12-09 2021-06-16 慧榮科技股份有限公司 記憶體控制器及快閃記憶體的存取方法
TW202205811A (zh) * 2020-07-23 2022-02-01 慧榮科技股份有限公司 用於在記憶裝置中進行系統上鎖相環管理的方法以及設備

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202013187A (zh) * 2018-09-26 2020-04-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TW202113610A (zh) * 2019-09-19 2021-04-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TW202123241A (zh) * 2019-12-09 2021-06-16 慧榮科技股份有限公司 記憶體控制器及快閃記憶體的存取方法
TW202205811A (zh) * 2020-07-23 2022-02-01 慧榮科技股份有限公司 用於在記憶裝置中進行系統上鎖相環管理的方法以及設備

Similar Documents

Publication Publication Date Title
TWI781568B (zh) 快閃記憶體控制器以及用來存取快閃記憶體模組的方法
TWI756297B (zh) 記憶體系統及其操作方法
US9442662B2 (en) Device and method for managing die groups
TWI534828B (zh) 非揮發性記憶體之以單一讀取爲基礎的軟決定解碼
TWI479495B (zh) 資料讀取方法、記憶體控制器及記憶體儲存裝置
TWI474330B (zh) 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
US9639419B2 (en) Read voltage level estimating method, memory storage device and memory control circuit unit
US11557352B2 (en) Adjustable read retry order based on decoding success trend
CN110275796B (zh) 具有混合解码方案的存储器系统及其操作方法
US9952926B2 (en) Decoding method, memory storage device and memory control circuit unit
US11093326B2 (en) Dynamic multi-stage decoding
US10522234B2 (en) Bit tagging method, memory control circuit unit and memory storage device
US10193569B2 (en) Decoding method, memory storage device and memory control circuit unit
US11294589B2 (en) Method for performing access control in a memory device, associated memory device and controller thereof
US20160170647A1 (en) Memory cell programming method, memory control circuit unit and memory storage apparatus
US10324785B2 (en) Decoder using low-density parity-check code and memory controller including the same
US10153052B2 (en) Flash command that reports a count of cell program failures
US9304851B2 (en) Decoding with log likelihood ratios stored in a controller
CN113314179A (zh) 用于执行读取操作的存储器系统及其操作方法
TWI575532B (zh) 解碼方法、記憶體控制電路單元及記憶體儲存裝置
TWI798630B (zh) 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置
TW202029202A (zh) 解碼方法、記憶體控制電路單元與記憶體儲存裝置
US11190217B2 (en) Data writing method, memory controlling circuit unit and memory storage device
TWI841494B (zh) 用以進行記憶體裝置的資料存取控制之方法、記憶體控制器、記憶體裝置以及電子裝置
CN108874681B (zh) 存储器系统及其操作方法