TWI436370B - 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法 - Google Patents

記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法 Download PDF

Info

Publication number
TWI436370B
TWI436370B TW099131626A TW99131626A TWI436370B TW I436370 B TWI436370 B TW I436370B TW 099131626 A TW099131626 A TW 099131626A TW 99131626 A TW99131626 A TW 99131626A TW I436370 B TWI436370 B TW I436370B
Authority
TW
Taiwan
Prior art keywords
likelihood ratio
log likelihood
storage
memory
storage state
Prior art date
Application number
TW099131626A
Other languages
English (en)
Other versions
TW201214454A (en
Inventor
Chien Fu Tseng
Kuo Hsin Lai
Original Assignee
Phison 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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW099131626A priority Critical patent/TWI436370B/zh
Priority to US12/947,799 priority patent/US8429501B2/en
Priority to US13/108,004 priority patent/US8510637B2/en
Publication of TW201214454A publication Critical patent/TW201214454A/zh
Application granted granted Critical
Publication of TWI436370B publication Critical patent/TWI436370B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Error Detection And Correction (AREA)

Description

記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法
本發明是有關於一種用於錯誤校正程序之對數似然比的產生方法,且特別是有關於一種實行該方法的記憶體儲存裝置與記憶體控制器。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對數位內容的儲存需求也急速增加。由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,適合使用者隨身攜帶作為數位檔案傳遞與交換的儲存媒體。固態硬碟(Solid State Drive,SSD)就是以快閃記憶體作為儲存媒體的一個例子,並且已廣泛使用於電腦主機系統中作為主硬碟。
目前的快閃記憶體主要分為兩種,分別為反或型快閃記憶體(NOR Flash)與反及型快閃記憶體(NAND Flash)。快閃記憶體亦可根據每一記憶胞可儲存的資料位元數而區分為多階記憶胞(Multi-Level Cell,MLC)快閃記憶體及單階記憶胞(Single-Level Cell,SLC)快閃記憶體。SLC快閃記憶體的每個記憶胞僅能儲存1個位元資料,而MLC快閃記憶體的每個記憶胞可儲存至少2個以上的位元資料。例如,以4階記憶胞快閃記憶體為例,每一記憶胞可儲存2個位元資料(即,"11"、"10"、"00"與"01")。
在快閃記憶體中,記憶胞會由位元線(Bit Line)與字元線(Word Line)來串起而形成一記憶胞陣列(memory cell array)。當控制位元線與字元線的控制電路在讀取或寫入資料到記憶胞陣列的指定記憶胞時,其他非指定之記憶胞的浮動電壓可能會受到干擾(disturb),進而造成錯誤位元。亦即,控制電路從記憶胞中所讀取之資料(亦稱為讀取資料)與原先所寫入之資料(亦稱為寫入資料)不同。或者,當快閃記憶體因長期閒置、記憶體漏電、或是多次抹除或寫入等因素而造成磨耗(Wear)情況時,記憶胞中的浮動電壓亦可能改變而造成錯誤位元。
一般來說,記憶體儲存裝置會配置錯誤校正電路來對寫入資料進行錯誤校正編碼以及對讀取資料進行錯誤校正解碼(亦稱為錯誤校正程序),由此更正錯誤位元。由於製程之演進或記憶體本身之硬體架構的關係(如多階記憶胞快閃記憶體的每一記憶胞可儲存之位元數越多其可能產生之錯誤位元亦較SLC為多),此等記憶體儲存裝置會需要使用錯誤校正能力較佳的錯誤校正技術(例如,低密度同位檢查碼(Low Density Parity Check Code,LDPC code))來對資料進行錯誤校正程序。記憶體儲存裝置儲存有一查詢表記錄軟資訊(Soft Information)與該軟資訊會對應到0或1的機率比值(稱之為對數似然比(Log Likelihood Ratio,LLR))的對應關係。因此在使用LDPC碼進行錯誤校正時,記憶體儲存裝置首先從記憶胞中獲取軟資訊,並依據查詢表取得軟資訊對應到的對數似然比,接著再以LDPC碼進行錯誤更正的動作。查詢表所記錄的對數似然比可利用訓練樣本寫入再讀取後進行統計來取得其數值。越正確的對數似然比能降低以LDPC碼進行錯誤校正的迭代(iteration)次數,進而縮短對讀取資料進行錯誤校正解碼的時間。然而,記憶體儲存裝置中的快閃記憶體會隨著其儲存次數(erase-program times)的增加而改變其錯誤特性,因此若要取得最佳的對數似然比,則必須不斷地統計快閃記憶體的錯誤特性,此舉將對系統造成相當大的負擔。
有鑑於此,本發明提供一種產生對數似然比(Log Likelihood Ratio,LLR)之方法,降低記憶體儲存裝置在估算讀取資料所對應之對數似然比的運算負擔。
本發明提供一種記憶體控制器,降低記憶體儲存裝置在估算讀取資料所對應之對數似然比的運算負擔。
本發明提供一種記憶體儲存裝置,在估算讀取資料所對應之對數似然比時具有較少的運算負擔。
本發明提出一種產生對數似然比之方法,用於一記憶體儲存裝置,此記憶體儲存裝置包括具有多個記憶胞的快閃記憶體晶片。其中,各記憶胞具有多個儲存狀態,且上述儲存狀態是以至少一位元資料讀取電壓來區分。此方法包括使用上述位元資料讀取電壓從上述記憶胞中獲取一讀取資料,此讀取資料對應第一儲存狀態,且第一儲存狀態為上述儲存狀態的其中之一。此方法還包括對讀取資料執行錯誤校正程序以獲得讀取資料在寫入時對應的第二儲存狀態,其中第二儲存狀態為上述儲存狀態的其中之一。在所讀取之符合錯誤統計總數的儲存狀態中,取得在寫入時為第二儲存狀態而在讀取時為第一儲存狀態的儲存錯誤總數。以及根據錯誤統計總數、上述儲存狀態的儲存狀態數量,以及儲存錯誤總數執行一對數運算,進而產生讀取資料的第一對數似然比。
在本發明之一範例實施例中,其中上述儲存狀態具有一儲存狀態次序,而在所讀取之符合錯誤統計總數的儲存狀態中,取得在寫入時為第二儲存狀態而在讀取時為第一儲存狀態的儲存錯誤總數的步驟更包括:判斷第一儲存狀態與第二儲存狀態在儲存狀態次序中是否相鄰。若是,則在所讀取之符合錯誤統計總數的儲存狀態中,統計出寫入時為第二儲存狀態而讀取時為第一儲存狀態的儲存錯誤總數。
在本發明之一範例實施例中,其中在判斷第一儲存狀態與第二儲存狀態在儲存狀態次序中是否相鄰的步驟之後,此方法更包括在第一儲存狀態與第二儲存狀態不相鄰時,根據讀取資料包括之一讀取位元的值將第一對數似然比設定為正無限大或負無限大。
在本發明之一範例實施例中,其中根據錯誤統計總數、儲存狀態數量,以及儲存錯誤總數執行對數運算以產生讀取資料之第一對數似然比的步驟包括以式(1)來計算:
其中LLR_c表示第一對數似然比,N表示錯誤統計總數、S表示儲存狀態數量,而W表示儲存錯誤總數。
在本發明之一範例實施例中,其中記憶體儲存裝置具有一對數似然比查詢表,此對數似然比查詢表記錄讀取資料所對應的當前對數似然比。在根據錯誤統計總數、儲存狀態數量,以及儲存錯誤總數執行對數運算以產生讀取資料的第一對數似然比的步驟之後,此方法更包括利用第一對數似然比取代對數似然比查詢表中的當前對數似然比。
在本發明之一範例實施例中,其中記憶體儲存裝置具有一對數似然比查詢表,記錄讀取資料所對應的當前對數似然比。在根據錯誤統計總數、儲存狀態數量,以及儲存錯誤總數執行對數運算以產生讀取資料的第一對數似然比的步驟之後,此方法更包括對第一對數似然比進行濾波處理以產生第二對數似然比,並利用第二對數似然比來取代對數似然比查詢表中的當前對數似然比。
在本發明之一範例實施例中,其中對第一對數似然比進行濾波處理以產生第二對數似然比的步驟包括以式(3)來計算:
其中,LLR_f表示第二對數似然比、LLR_c表示第一對數似然比,m、n分別表示一濾波處理係數,而Z-1 表示延遲處理時間。
在本發明之一範例實施例中,其中錯誤統計總數為一條字元線(Word Line)上的記憶胞數量。
從另一觀點來看,本發明提出一種記憶體控制器,包括主機系統介面、記憶體介面、記憶體管理電路錯誤校正電路以及對數似然比估算電路。其中主機系統介面係用以耦接主機系統,記憶體介面用以耦接一快閃記憶體晶片。此快閃記憶體晶片包括多個記憶胞且各個記憶胞具有多個儲存狀態。上述儲存狀態是以至少一位元資料讀取電壓來區分。記憶體管理電路,耦接至主機系統介面與記憶體介面,記憶體管理電路接收來自主機系統的讀取指令,並經由記憶體介面從上述記憶胞中獲取對應讀取指令的讀取資料,其中讀取資料對應一第一儲存狀態,此第一儲存狀態為上述儲存狀態的其中之一。其中,記憶體管理電路包括一對數似然比查詢表。錯誤校正電路耦接記憶體管理電路,用以對讀取資料執行一錯誤校正程序以獲得讀取資料在寫入時所對應的第二儲存狀態,而第二儲存狀態為上述儲存狀態的其中之一。對數似然比估算電路耦接記憶體管理電路與錯誤校正電路,用以在所讀取之符合錯誤統計總數的儲存狀態中,取得在寫入時為第二儲存狀態而在讀取時為第一儲存狀態的儲存錯誤總數,以及根據錯誤統計總數、上述儲存狀態的儲存狀態數量,與儲存錯誤總數執行一對數運算,進而產生讀取資料的第一對數似然比。
在本發明之一範例實施例中,其中對數似然比估算電路是以式(1)來計算讀取資料之第一對數似然比:
其中LLR_c表示第一對數似然比,N表示錯誤統計總數、S表示儲存狀態數量,而W表示儲存錯誤總數。
在本發明之一範例實施例中,其中對數似然比查詢表記錄讀取資料所對應的當前對數似然比,而記憶體控制器更包括濾波器。濾波器耦接記憶體管理電路與對數似然比估算電路,用以對第一對數似然比進行濾波處理以產生第二對數似然比,並利用第二對數似然比取代對數似然比查詢表中的當前對數似然比。
在本發明之一範例實施例中,其中濾波器是以式(3)對第一對數似然比進行濾波處理以產生第二對數似然比:
其中,LLR_f表示第二對數似然比、LLR_c表示第一對數似然比,m、n分別表示一濾波處理係數,而Z-1 表示延遲處理時間。
從又一觀點來看,本發明提出一種記憶體儲存裝置,包括連接器、快閃記憶體晶片以及記憶體控制器。連接器用以耦接主機系統。快閃記憶體晶片包括多個記憶胞且各記憶胞具有多個儲存狀態,上述儲存狀態是以至少一位元資料讀取電壓來區分。記憶體控制器耦接至快閃記憶體晶片與連接器。記憶體控制器包括一對數似然比查詢表。其中,記憶體控制器控制快閃記憶體晶片使用上述位元資料讀取電壓從記憶胞中獲取一讀取資料,其中讀取資料對應一第一儲存狀態,且第一儲存狀態為上述儲存狀態的其中之一。記憶體控制器對讀取資料執行錯誤校正程序以獲得讀取資料在寫入時對應的第二儲存狀態,其中第二儲存狀態為上述儲存狀態的其中之一。記憶體控制器在所讀取之符合一錯誤統計總數的儲存狀態中,取得在寫入時為第二儲存狀態而在讀取時為第一儲存狀態的儲存錯誤總數,以及根據錯誤統計總數、些儲存狀態的儲存狀態數量,和儲存錯誤總數執行一對數運算,以產生讀取資料的第一對數似然比。
在本發明之一範例實施例中,其中記憶體控制器是以式(1)來計算讀取資料之第一對數似然比:
其中LLR_c表示第一對數似然比,N表示錯誤統計總數、S表示儲存狀態數量,而W表示儲存錯誤總數。
在本發明之一範例實施例中,其中對數似然比查詢表記錄讀取資料所對應的當前對數似然比,而記憶體控制器對第一對數似然比進行濾波處理以產生第二對數似然比,並利用第二對數似然比取代對數似然比查詢表中的當前對數似然比。
在本發明之一範例實施例中,其中記憶體控制器是以式(3)對第一對數似然比進行濾波處理以產生第二對數似然比:
其中,LLR_f表示第二對數似然比、LLR_c表示第一對數似然比,m、n分別表示一濾波處理係數,而Z-1 表示延遲處理時間。
基於上述,本發明在記憶體儲存裝置接收主機系統下達的指令而進行資料讀取時,利用發生儲存錯誤的資料來估算並更新該讀取資料所對應的對數似然比,據此降低估算對數似然比的運算負擔。而所產生的對數似然比能降低錯誤校正程序的迭代次數,從而增加錯誤校正程序的執行效率。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1A是根據本發明一範例實施例所繪示之使用記憶體儲存裝置之主機系統的示意圖。
主機系統1000包括電腦1100與輸入/輸出(Input/Output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(Random Access Memory,RAM)1104、系統匯流排1108以及資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B所示的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明範例實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104以及輸入/輸出裝置1106的運作,主機系統1000可將資料寫入至記憶體儲存裝置100,或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖1B所示的記憶卡1214、隨身碟1212、或固態硬碟(Solid State Drive,SSD)1216。
一般而言,主機系統1000為可儲存資料的任意系統。雖然在本範例實施例中主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中,主機系統1000亦可以是手機、數位相機、攝影機、通訊裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機1310時,記憶體儲存裝置則為其所使用的安全數位(Secure Digital,SD)卡1312、多媒體記憶(Multimedia Card,MMC)卡1314、記憶棒(Memory Stick)1316、小型快閃(Compact Flash,CF)卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示之記憶體儲存裝置100的方塊圖。請參照圖2,記憶體儲存裝置100包括連接器102、記憶體控制器104與快閃記憶體晶片106。
連接器102耦接至記憶體控制器104,並且用以耦接主機系統1000。在本範例實施例中,連接器102所支援的傳輸介面種類為通用序列匯流排(Universal Serial Bus,USB)介面。然而在其他範例實施例中,連接器102的傳輸介面種類也可以是多媒體儲存卡(Multimedia Card,MMC)介面、序列先進附件(Serial Advanced Technology Attachment,SATA)介面、平行先進附件(Parallel Advanced Technology Attachment,PATA)介面、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394介面、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)介面、安全數位(Secure Digital,SD)介面、記憶棒(Memory Stick,MS)介面、小型快閃(Compact Flash,CF)介面,或整合驅動電子(Integrated Drive Electronics,IDE)介面等任何適用的介面,在此並不加以限制。
記憶體控制器104會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並根據主機系統1000的指令在快閃記憶體晶片106中進行資料的寫入、讀取與抹除等運作。此外,記憶體控制器104更特別用以執行本範例實施例的對數似然比(Log Likelihood Ratio,LLR)產生與動態更新機制。
快閃記憶體晶片106耦接至記憶體控制器104。快閃記憶體晶片106係用以儲存如檔案配置表(File Allocation Table,FAT)或增強型文件系統(New Technology File System,NTFS)等檔案系統資訊,以及儲存如文字、影像或聲音檔案等一般性資料。在本範例實施例中,快閃記憶體晶片106為多階記憶胞(Multi Level Cell,MLC)NAND快閃記憶體晶片,但本發明不限於此,快閃記憶體晶片106也可以是單階記憶胞(Single Level Cell,SLC)NAND快閃記憶體晶片、其他快閃記憶體晶片或任何具有相同特性的記憶體晶片。
在本範例實施例中,快閃記憶體晶片106包括多個記憶胞,並且是使用多個浮動電壓來代表多位元(bits)的資料。具體來說,上述記憶胞會組成一記憶胞陣列,而有多條位元線以及多條字元線來連接這些記憶胞。其中,記憶胞是以陣列方式配置在位元線與字元線的交叉點上。每一個記憶胞都具有多個儲存狀態,這些儲存狀態是以至少一個位元資料讀取電壓來區分,進而使得這些儲存狀態符合一儲存狀態次序。
圖3是根據本發明一範例實施例繪示之儲存狀態與位元資料讀取電壓的示意圖。在本範例實施例中,快閃記憶體晶片106為8階記憶胞NAND型快閃記憶體,如圖3所示,每個記憶胞中的浮動電壓係依據第一位元資料讀取電壓VA、第二位元資料讀取電壓VB、第三位元資料讀取電壓VC、第四位元資料讀取電壓VD、第五位元資料讀取電壓VE、第六位元資料讀取電壓VF與第七位元資料讀取電壓VG而區分為8種儲存狀態,分別是"111"、"110"、"100"、"101"、"001"、"000"、"010"與"011"。每個儲存狀態都包括最低有效位元(Least Significant Bit,LSB)、中間有效位元(Center Significant Bit,CSB),以及最高有效位元(Most Significant Bit,MSB)這3個位元。舉例來說,在本範例實施例中各儲存狀態從左側算起之第1個位元為LSB,從左側算起之第2個位元為CSB,而從左側算起之第3個位元為MSB。據此,每一記憶胞可儲存3個位元資料,故同一條字元線上的記憶胞會構成3個頁面(即,下頁面、中頁面以及上頁面)的儲存空間。也就是說,每一記憶胞的LSB是對應下頁面、每一記憶胞的CSB是對應中頁面,而每一記憶胞的MSB是對應上頁面。此外,數個頁面會構成一個實體區塊,而實體區塊為執行抹除運作的最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。在本範例實施例中,這8種儲存狀態的儲存狀態次序依序為"111"、"110"、"100"、"101"、"001"、"000"、"010"、"011"。必須說明的是,儲存狀態次序可能會依各家快閃記憶體晶片製造商的設計而有所不同,在此並不加以限制。
圖4是根據本發明一範例實施例所繪示的記憶體控制器的概要方塊圖。請參照圖4,記憶體控制器104包括主機系統介面1041、記憶體管理電路1043、錯誤校正電路1045、對數似然比估算電路420,以及記憶體介面1047。
主機系統介面1041耦接至記憶體管理電路1043,並透過連接器102以耦接主機系統1000。主機系統介面1041係用以接收與識別主機系統1000所傳送的指令與資料。據此,主機系統1000所傳送的指令與資料會透過主機系統介面1041而傳送至記憶體管理電路1043。在本範例實施例中,主機系統介面1041對應連接器102而為USB介面,而在其他範例實施例中,主機系統介面1041也可以是MMC介面、SATA介面、PATA介面、IEEE 1394介面、PCI Express介面、SD介面、MS介面、CF介面、IDE介面或符合其他介面標準的介面。
記憶體管理電路1043包括對數似然比查詢表410。記憶體管理電路1043係用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路1043具有多個控制指令,在記憶體儲存裝置100運作時,上述控制指令會被執行以對記憶體晶片106進行如資料讀取、資料寫入、資料抹除等操作。
在一範例實施例中,記憶體管理電路1043的控制指令是以韌體型式來實作。例如,記憶體管理電路1043具有微處理器單元(未繪示)與唯讀記憶體(未繪示),且上述控制指令是被燒錄在唯讀記憶體中。當記憶體儲存裝置100運作時,上述控制指令會由微處理器單元來執行以完成對記憶體晶片106的操作。
在本發明另一範例實施例中,記憶體管理電路1043的控制指令亦可以程式碼型式儲存於快閃記憶體晶片106的特定區域(例如,快閃記憶體晶片106中專用於存放系統資料的系統區)中。此外,記憶體管理電路1043具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。其中,唯讀記憶體具有驅動碼段,並且當記憶體控制器104被致能時,微處理器單元會先執行此驅動碼段來將儲存於快閃記憶體晶片106中之控制指令載入至記憶體管理電路1043的隨機存取記憶體中。之後,微處理器單元會運轉上述控制指令以對記憶體晶片106進行操作。此外,在本發明另一範例實施例中,記憶體管理電路1043的控制指令亦可以一硬體型式來實作。
錯誤校正電路1045耦接至記憶體管理電路1043,用以確保資料的正確性。具體而言,當主機系統1000發送讀取指令至記憶體控制器104,而記憶體管理電路1043根據讀取指令從快閃記憶體晶片106讀取資料時,錯誤校正電路1045會對所讀取的資料執行一錯誤校正程序。舉例來說,錯誤校正電路1045為低密度同位檢查(Low Density Parity Check,LDPC)電路,當記憶體管理電路1043從快閃記憶體晶片106讀取資料時,錯誤校正電路1045首先自記憶體管理電路1043中的對數似然比查詢表410找出所讀取之資料對應的對數似然比,接著依據所讀取的資料以及該對數似然比來執行錯誤校正程序,進而獲得讀取資料在被寫入快閃記憶體晶片106當時所對應的儲存狀態。
對數似然比估算電路420耦接記憶體管理電路1043與錯誤校正電路1045。對數似然比估算電路420係用以實現本範例實施例的對數似然比產生機制。此對數似然比產生機制的詳細運作方式將於以下配合圖式再作說明。在一範例實施例中,對數似然比估算電路420例如是以硬體型式實作成數個控制指令。在其他範例實施例中,對數似然比估算電路420也可以是韌體型式實作成的控制指令或以程式碼型式實作成的控制指令。
記憶體介面1047耦接至記憶體管理電路1043,用以使記憶體控制器104耦接至快閃記憶體晶片106。據此,記憶體控制器104可對快閃記憶體晶片106進行相關運作。也就是說,欲寫入至快閃記憶體晶片106的資料會經由記憶體介面1047轉換為快閃記憶體晶片106所能接受的格式。
在本發明另一範例實施例中,記憶體控制器104還包括緩衝記憶體2002。緩衝記憶體2002耦接至記憶體管理電路1043,用以暫存來自於主機系統1000的資料,或暫存來自於快閃記憶體晶片106的資料。
在本發明另一範例實施例中,記憶體控制器104還包括電源管理電路2004。電源管理電路2004耦接至記憶體管理電路1043,用以控制記憶體儲存裝置100的電源。
由於記憶體晶片106在處於長期閒置、漏電、或是被頻繁使用等情形下,記憶胞的浮動電壓可能會改變而造成錯誤位元。因此,快閃記憶體晶片106所記錄的資料在被讀取時的儲存狀態,與該資料被寫入快閃記憶體晶片106當時的儲存狀態可能並不相同。這種資料在讀取時的儲存狀態不同於寫入時的儲存狀態的情況便稱之為儲存錯誤。在本範例實施例中,當記憶體管理電路1043依照主機系統1000的指示而進行資料讀取操作時,對數似然比估算電路420會在所讀取之符合一錯誤統計總數的數個儲存狀態中,取得發生儲存錯誤的總數,進而估算讀取資料的對數似然比。
詳細地說,當記憶體儲存裝置100中的記憶體管理電路1043透過主機系統介面1041接收來自主機系統1000的讀取指令時,記憶體管理電路1043依據讀取指令指示快閃記憶體晶片106使用至少一位元資料讀取電壓從記憶胞中獲取一讀取資料,此讀取資料係對應記憶胞所具有的其中一個儲存狀態(以下稱之為第一儲存狀態)。
接下來,錯誤校正電路1045會對讀取資料執行一錯誤校正程序(例如低密度同位檢查解碼程序),以獲得此讀取資料在被寫入快閃記憶體晶片106當時所對應的儲存狀態(以下稱之為第二儲存狀態)。詳細地說,記憶體管理電路1043中的對數似然比查詢表410記錄有資料與該資料對應至0或1的當前對數似然比。而錯誤校正電路1045在運作時,會查詢對數似然比查詢表410以取得讀取資料的當前對數似然比,接著利用低密度同位檢查解碼程序來進行錯誤校正的動作,如此一來便能取得讀取資料的第二儲存狀態。
由於快閃記憶體晶片106具有資料非揮發性且其頻道錯誤率(channel error rate)相當的低,因此在頻道錯誤率小於10-2 且寫入快閃記憶體晶片106的資料具有隨機性的前提下,可以合理假設儲存錯誤僅會發生在儲存狀態次序中相鄰的兩個儲存狀態之間,且快閃記憶體晶片106之記憶胞的儲存狀態呈現平均分佈。
基此,對數似然比估算電路420在取得讀取資料的第一儲存狀態與第二儲存狀態後,首先判斷在儲存狀態次序中第一儲存狀態與第二儲存狀態是否相鄰。
若第一儲存狀態與第二儲存狀態在儲存狀態次序中並不相鄰,對數似然比估算電路420則會將讀取資料所包括之其中之一讀取位元的對數似然比設定為正無限大或負無限大。例如,當讀取位元為0時,對數似然比估算電路420會將對數似然比設定為負無限大,而當讀取位元為1時,對數似然比估算電路420會將對數似然比設定為正無限大。值得一提的是,上述對應關係僅是為了方便說明而舉出的範例,在其他範例實施例中,對數似然比估算電路420也可在讀取位元為0時將讀取位元的對數似然比設定為正無限大,並在讀取位元為1時將讀取位元的對數似然比設定為負無限大。
若第一儲存狀態與第二儲存狀態在儲存狀態次序中相鄰,對數似然比估算電路420則會在所讀取之符合錯誤統計總數的儲存狀態中,取得在寫入時為第二儲存狀態而在讀取時為第一儲存狀態的儲存錯誤總數。舉例來說,錯誤統計總數例如是一條字元線上的記憶胞數量,但本發明並不以此為限。當記憶體管理電路1043讀取一條字元線時,對數似然比估算電路420根據該字元線上各記憶胞的在被讀取時的儲存狀態與被寫入時的儲存狀態是否相同,進而統計出儲存狀態不相同的儲存錯誤總數。
接著,對數似然比估算電路420會根據錯誤統計總數、每一記憶胞所具有之儲存狀態的儲存狀態數量,以及儲存錯誤總數執行一對數運算,進而產生讀取資料的第一對數似然比。
以下是關於對數似然比估算電路420所執行之對數運算的詳細說明。
據統計,以位元為單位的最大事後機率(maximum a posterior probability,MAP)解碼演算法是從快閃記憶體晶片106讀取資料並判斷其值為0或1相當有效的方式。最大事後機率解碼的準則如下列算式(A)所示:
其中,u1 為訊息位元(information bit,亦可稱讀取位元)、y為讀取資料,而P(u1 |y)則是在讀取資料y中讀取位元u1 的事後機率(posterior probability)以8階記憶胞NAND型快閃記憶體為例,讀取位元u1 的值可以是0或1。基此,算式(A)能被簡化如下列算式(B):
其中,L(u1 )是對數事後機率比值(logarithmic a posteriori probability ratio,log-APP ratio),其定義如下列算式(C)所示:
對數事後機率比值亦可稱之為對數似然比。基此,假設快閃記憶體晶片106為8階記憶胞NAND型快閃記憶體,其中的每個記憶胞可儲存3個位元資料。當記憶體管理電路1043從快閃記憶體晶片106讀一個字元線的資料時,讀取資料y的儲存狀態會是"111"、"110"、"100"、"101"、"001"、"000"、"010"、"011"這8種儲存狀態其中之一。本範例實施例假設每一記憶胞的LSB是對應下頁面、每一記憶胞的CSB是對應中頁面,而每一記憶胞的MSB是對應上頁面。
如前所述,由於快閃記憶體晶片106為非揮發性記憶體,且具有相當低的頻道錯誤率(小於10-2 ),因此算式(C)可推導出下列算式(D):
其中,vlow,l 表示讀取自快閃記憶體晶片106之下頁面的位元資料。amount_cbit_vlow,l 表示在固定的錯誤統計總數中,vlow,l 並未發生儲存錯誤的數量,而amount_ebit_vlow,l 表示在錯誤統計總數中,vlow,l 有發生儲存錯誤的數量。RS1與RS2分別是讀取資料y中對應下頁面的讀取位元ulow,l (即LSB)的第一儲存狀態與第二儲存狀態。同樣地,針對讀取資料y中對應中頁面的讀取位元umid,l (即CSB)以及對應上頁面的讀取位元uup,l (即MSB),亦可推導出類似算式(D)的式子,在此不再贅述。
當頻道錯誤率相當的低,且寫入快閃記憶體晶片106的資料具有隨機性時,便能假設儲存錯誤僅會發生在儲存狀態次序相鄰的儲存狀態之間,且快閃記憶體晶片106中記憶胞具有的所有儲存狀態會呈現平均分佈。基於上述假設,若讀取資料y的第一儲存狀態為"001",那麼讀取資料y的第二儲存狀態只可能是"001"、"101",或"000",並且在錯誤統計總數N中,具有儲存狀態"001"的資料數量為(N/8)。據此範例,算式(D)可進一步推導出下列算式(E):
其中,a(101→001)表示在錯誤統計總數N中,儲存錯誤發生在LSB的總數。
由於在8階記憶胞NAND型快閃記憶體中,讀取資料y的儲存狀態可以是"111"、"110"、"100"、"101"、"001"、"000"、"010",或"011"這8種狀態其中之一,而屬於同一條字元線上的記憶胞會構成下頁面、中頁面以及上頁面這3個頁面。因此在本範例實施例中,針對不同的讀取資料之儲存狀態與不同的頁面,共可產生24個類似於算式(E)的式子,這24個式子可以下列通式(1)來表示:
其中,N表示錯誤統計總數、S表示儲存狀態數量,而W表示儲存錯誤總數。在本範例實施例中,對數似然比估算電路420會以算式(1)來計算讀取資料的第一對數似然比LLR_c。
圖5繪示的是在圖3所示之範例實施例中各種可能發生儲存錯誤之儲存狀態的對應關係。在圖5中,標示在"→"之右方的儲存狀態代表讀取資料的第一儲存狀態,而標示在"→"之左方的儲存狀態為讀取資料的第二儲存狀態。
請同時參閱圖3與圖5,當讀取資料的第一儲存狀態為"000"時,可能的第2儲存狀態是"010"、"001"。當讀取資料的第一儲存狀態為"001"時,可能的第二儲存狀態是"101"、"000"。而當讀取資料的第一儲存狀態為"010"時,可能的第二儲存狀態是"000"、"011",以此類推。
在圖5中標示為"*"之處,表示若讀取資料在被讀取時係對應該第一儲存狀態,則儲存錯誤發生在該位元的機率很小。例如,當讀取資料的第一儲存狀態為"100"時,若儲存錯誤發生在LSB則表示讀取資料的第二儲存狀態應為"000"。但由於本範例實施例已假設儲存錯誤僅會發生在儲存狀態次序相鄰的儲存狀態之間,而對照圖3可知儲存狀態"000"與儲存狀態"100"並不相鄰,是故在讀取資料的第一儲存狀態為"100"時,儲存錯誤發生在LSB的機率相當的低,在此假設不會有讀取資料的第二儲存狀態為"000"的情況,也就是LSB為0的對數似然比為負無限大。
在一範例實施例中,當對數似然比估算電路420取得讀取資料的第一儲存狀態為"001"且第二儲存狀態為"000",對數似然比估算電路420便會統計錯誤統計總數之記憶胞所儲存的該些資料中,取得資料被寫入時為儲存狀態"000"但在被讀取時為儲存狀態為"001"的儲存錯誤總數,並且以上述算式(1)計算第一對數似然比。然而,倘若讀取資料的第一儲存狀態為"001"而第二儲存狀態為"100",由於第一、第二儲存狀態在儲存狀態次序中並不相鄰,因此對數似然比估算電路420會根據讀取資料之一讀取位元的值,將第一對數似然比設定為正無限大或負無限大。圖5所示之對應關係可用來算出讀取資料之儲存錯誤發生在LSB、CSB或MSB的對數似然比。
圖6是根據本發明一範例實施例繪示之產生對數似然比之方法的流程圖。
在記憶體儲存裝置100接收到主機系統1000下達的讀取指令後,首先如步驟610所示,記憶體控制器104中的記憶體管理電路1043指示快閃記憶體晶片106使用位元資料讀取電壓從記憶胞中獲取一讀取資料,此讀取資料對應第一儲存狀態。
接著在步驟620中,記憶體控制器104中的錯誤校正電路1045對讀取資料執行一錯誤校正程序以獲得讀取資料在寫入快閃記憶體晶片106當時所對應的第二儲存狀態。
接下來如步驟630所示,記憶體控制器104中的對數似然比估算電路420在符合錯誤統計總數的儲存狀態中,取得在寫入時為第二儲存狀態而在讀取時為第一儲存狀態的一儲存錯誤總數。
最後在步驟640中,對數似然比估算電路420根據錯誤統計總數、儲存狀態的儲存狀態數量,以及儲存錯誤總數執行一對數運算,以產生讀取資料的第一對數似然比。
在上述範例實施例中,對數似然比估算電路420在產生讀取資料的第一對數似然比後,可直接利用第一對數似然比來更新記憶體管理電路1043中的對數似然比查詢表410。亦即,利用第一對數似然比取代對數似然比查詢表410中讀取資料所對應的當前對數似然比。
然而,由於對數似然比估算電路420是在每一次讀取資料時計算第一對數似然比,因此所產生的第一對數似然比可能無法反應快閃記憶體晶片106中所有區塊的錯誤模式。為了進一步提升記憶體儲存裝置100執行錯誤校正的效率,在以下的範例實施例中,由對數似然比估算電路420所產生的第一對數似然比將不會直接用來更新對數似然比查詢表410,第一對數似然比必須先經過一濾波處理後才會用來更新對數似然比查詢表410的內容。
圖7是根據本發明另一範例實施例繪示之記憶體控制器的概要方塊圖。圖7所示之記憶體控制器104’相似於圖4所示之記憶體控制器104,故以下僅就兩者差異處進行說明。
在本範例實施例中,記憶體控制器104’更包括濾波器430。其中,濾波器430耦接至記憶體管理電路1043與對數似然比估算電路420。濾波器430可以是有限脈衝響應(Finite Impulse Response,FIR)濾波器或無限脈衝響應(Infinite Impulse Response,IIR)濾波器等等,在此並不加以限制。
在對數似然比估算電路420產生讀取資料的第一對數似然比後,濾波器430將對第一對數似然比進行一濾波處理以產生第二對數似然比,並且利用第二對數似然比取代對數似然比查詢表410中讀取資料所對應的當前對數似然比。
在一範例實施例中,濾波器430會從對數似然比查詢表410中取得讀取資料所對應的當前對數似然比。接著,濾波器430對第一對數似然比與當前對數似然比進行濾波處理以產生第二對數似然比,再以第二對數似然比取代對數似然比查詢表410中讀取資料所對應的當前對數似然比。舉例來說,濾波器430例如會以下列算式(2)進行濾波處理以取得要更新至對數似然比查詢表的第二對數似然比LLR_f:
LLR_f=a×LLR_c+b×LLR_p (2)
其中,LLR_p表示在對數似然比查詢表410中讀取資料目前所對應的當前對數似然比,LLR_c則是第一對數似然比,而a、b則是濾波處理係數。在本範例實施例中,a、b的和為1。
在另一範例實施例中,濾波器430為IIR濾波器,並且是以下列算式(3)對第一對數似然比進行濾波處理,進而產生第二對數似然比LLR_f:
其中,m、n則是IIR濾波處理係數,LLR_c是第一對數似然比,而Z-1 則是延遲處理時間。
本範例實施例之記憶體控制器104’是以濾波器430對第一對數似然比進行濾波處理所產生的第二對數似然比來取代對數似然比查詢表410中舊有的對數似然比。如此一來,即便在讀取資料所屬區塊的錯誤模式與其他區塊大不相同時,被更新至對數似然比查詢表410的對數似然比仍可以反映快閃記憶體晶片106中所有區塊的錯誤模式,從而降低錯誤更正程序的處理時間。
圖8是根據本發明另一範例實施例繪示之產生對數似然比之方法的流程圖。由於圖8之步驟810至840與圖6之步驟610至640相同或相似,故在此不再贅述。
在對數似然比估算電路420產生讀取資料的第一對數似然比後,如步驟850所示,由濾波器430對第一對數似然比進行濾波處理以產生第二對數似然比。並如步驟860所示,濾波器430會以第二對數似然比取代對數似然比查詢表410中讀取資料所對應的當前對數似然比。
綜上所述,本發明所述之產生對數似然比之方法、記憶體儲存裝置與記憶體控制器是在每一次讀取快閃記憶體晶片中的資料時,利用有發生儲存錯誤的資料總數來計算讀取資料的對數似然比。據統計,快閃記憶體晶片發生位元儲存錯課的機率小於1%,因此只計算發生儲存錯誤的資料數量能降低產生對數似然比所需的系統資源。另外,本發明更進一步提出利用估算出的對數似然比來動態更新對數似然比查詢表。特別是將產生的對數似然比經過濾波處理之後再來更新對數似然比查詢表,以確保所更新的對數似然比能更為精確穩定,進而降低錯誤更正的迭代次數以加快錯誤更正的處理速度。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1212...隨身碟
1214...記憶卡
1216...固態硬碟
1310...數位相機
1312...SD卡
1314...MMC卡
1316...記憶棒
1318...CF卡
1320...嵌入式儲存裝置
100...記憶體儲存裝置
102...連接器
104...記憶體控制器
106...快閃記憶體晶片
VA...第一位元資料讀取電壓
VB...第二位元資料讀取電壓
VC...第三位元資料讀取電壓
VD...第四位元資料讀取電壓
VE...第五位元資料讀取電壓
VF...第六位元資料讀取電壓
VG...第七位元資料讀取電壓
1041...主機系統介面
1043...記憶體管理電路
1045...錯誤校正電路
1047...記憶體介面
2002...緩衝記憶體
2004...電源管理電路
410...對數似然比查詢表
420...對數似然比估算電路
610~640...本發明之一實施例所述之產生對數似然比之方法之各步驟
104’...記憶體控制器
430...濾波器
810~860...本發明之另一實施例所述之產生對數似然比之方法之各步驟
圖1A是根據本發明一範例實施例繪示之使用記憶體儲存裝置的主機系統的示意圖。
圖1B是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據本發明另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖3是根據本發明一範例實施例繪示之儲存狀態與位元資料讀取電壓的示意圖。
圖4是根據本發明一範例實施例繪示之記憶體控制器的概要方塊圖。
圖5是延續圖3之範例實施例繪示之可能發生儲存錯誤之儲存狀態的對應關係。
圖6是根據本發明一範例實施例繪示之產生對數似然比之方法的流程圖。
圖7是根據本發明另一範例實施例繪示之記憶體控制器的概要方塊圖。
圖8是根據本發明另一範例實施例繪示之產生對數似然比之方法的流程圖。
610~640...本發明之一實施例所述之產生對數似然比之方法之各步驟

Claims (16)

  1. 一種產生對數似然比之方法,用於一記憶體儲存裝置,該記憶體儲存裝置包括具有多個記憶胞的一快閃記憶體晶片,其中各該些記憶胞具有多個儲存狀態,該些儲存狀態是以至少一位元資料讀取電壓來區分,該方法包括:使用該至少一位元資料讀取電壓從該些記憶胞中獲取一讀取資料,其中該讀取資料對應一第一儲存狀態,該第一儲存狀態為該些儲存狀態的其中之一;對該讀取資料執行一錯誤校正程序以獲得該讀取資料在寫入時所對應的一第二儲存狀態,其中該第二儲存狀態為該些儲存狀態的其中之一;在所讀取之符合一錯誤統計總數的該些儲存狀態中,取得在寫入時為該第二儲存狀態而在讀取時為該第一儲存狀態的一儲存錯誤總數;以及根據該錯誤統計總數、該些儲存狀態的一儲存狀態數量,以及該儲存錯誤總數執行一對數運算,以產生該讀取資料的一第一對數似然比。
  2. 如申請專利範圍第1項所述之產生對數似然比之方法,其中該些儲存狀態具有一儲存狀態次序,而在所讀取之符合該錯誤統計總數的該些儲存狀態中,取得在寫入時為該第二儲存狀態而在讀取時為該第一儲存狀態的該儲存錯誤總數的步驟更包括:判斷該第一儲存狀態與該第二儲存狀態在該儲存狀態次序中是否相鄰;以及若是,則在所讀取之符合該錯誤統計總數的該些儲存狀態中,統計在寫入時為該第二儲存狀態而在讀取時為該第一儲存狀態的該儲存錯誤總數。
  3. 如申請專利範圍第2項所述之產生對數似然比之方法,其中在判斷該第一儲存狀態與該第二儲存狀態在該儲存狀態次序中是否相鄰的步驟之後,該方法更包括:若否,則根據該讀取資料包括之一讀取位元的值設定該第一對數似然比為正無限大或負無限大。
  4. 如申請專利範圍第1項所述之產生對數似然比之方法,其中根據該錯誤統計總數、該儲存狀態數量,以及該儲存錯誤總數執行該對數運算以產生該讀取資料之該第一對數似然比的步驟包括以式(1)來計算: 其中LLR_c表示該第一對數似然比,N表示該錯誤統計總數、S表示該儲存狀態數量,而W表示該儲存錯誤總數。
  5. 如申請專利範圍第1項所述之產生對數似然比之方法,其中該記憶體儲存裝置具有一對數似然比查詢表,該對數似然比查詢表記錄該讀取資料所對應的一當前對數似然比,而在根據該錯誤統計總數、該儲存狀態數量,以及該儲存錯誤總數執行該對數運算以產生該讀取資料的該第一對數似然比的步驟之後,該方法更包括:利用該第一對數似然比取代該對數似然比查詢表中的該當前對數似然比。
  6. 如申請專利範圍第1項所述之產生對數似然比之方法,其中該記憶體儲存裝置具有一對數似然比查詢表,該對數似然比查詢表記錄該讀取資料所對應的一當前對數似然比,而在根據該錯誤統計總數、該儲存狀態數量,以及該儲存錯誤總數執行該對數運算以產生該讀取資料的該第一對數似然比的步驟之後,該方法更包括:對該第一對數似然比進行一濾波處理以產生一第二對數似然比;以及利用該第二對數似然比取代該對數似然比查詢表中的該當前對數似然比。
  7. 如申請專利範圍第6項所述之產生對數似然比之方法,其中對該第一對數似然比進行該濾波處理以產生該第二對數似然比的步驟包括以式(3)來計算: 其中,LLR_f表示該第二對數似然比、LLR_c表示該第一對數似然比,m、n分別表示一濾波處理係數,而Z-1 表示一延遲處理時間。
  8. 如申請專利範圍第1項所述之產生對數似然比之方法,其中該錯誤統計總數為一條字元線(Word Line)上的記憶胞數量。
  9. 一種記憶體控制器,包括:一主機系統介面,用以耦接一主機系統;一記憶體介面,用以耦接一快閃記憶體晶片,該快閃記憶體晶片包括多個記憶胞且各該些記憶胞具有多個儲存狀態,其中該些儲存狀態是以至少一位元資料讀取電壓來區分;一記憶體管理電路,耦接至該主機系統介面與該記憶體介面,該記憶體管理電路接收來自該主機系統的一讀取指令,並經由該記憶體介面從該些記憶胞中獲取對應該讀取指令的一讀取資料,其中該讀取資料對應一第一儲存狀態,且該第一儲存狀態為該些儲存狀態的其中之一,該記憶體管理電路包括一對數似然比查詢表;一錯誤校正電路,耦接該記憶體管理電路,用以對該讀取資料執行一錯誤校正程序以獲得該讀取資料在寫入時所對應的一第二儲存狀態,其中該第二儲存狀態為該些儲存狀態的其中之一;以及一對數似然比估算電路,耦接該記憶體管理電路與該錯誤校正電路,用以在所讀取之符合一錯誤統計總數的該些儲存狀態中,取得在寫入時為該第二儲存狀態而在讀取時為該第一儲存狀態的一儲存錯誤總數,並根據該錯誤統計總數、該些儲存狀態的一儲存狀態數量,以及該儲存錯誤總數執行一對數運算,以產生該讀取資料的一第一對數似然比。
  10. 如申請專利範圍第9項所述之記憶體控制器,其中該對數似然比估算電路是以式(1)來計算該讀取資料之該第一對數似然比: 其中LLR_c表示該第一對數似然比,N表示該錯誤統計總數、S表示該儲存狀態數量,而W表示該儲存錯誤總數。
  11. 如申請專利範圍第9項所述之記憶體控制器,其中該對數似然比查詢表記錄該讀取資料所對應的一當前對數似然比,而該記憶體控制器更包括:一濾波器,耦接該記憶體管理電路與該對數似然比估算電路,用以對該第一對數似然比進行一濾波處理以產生一第二對數似然比,並利用該第二對數似然比取代該對數似然比查詢表中的該當前對數似然比。
  12. 如申請專利範圍第11項所述之記憶體控制器,其中該濾波器是以式(3)對該第一對數似然比進行該濾波處理以產生該第二對數似然比: 其中,LLR_f表示該第二對數似然比、LLR_c表示該第一對數似然比,m、n分別表示一濾波處理係數,而Z-1 表示一延遲處理時間。
  13. 一種記憶體儲存裝置,包括:一連接器,用以耦接一主機系統;一快閃記憶體晶片,包括多個記憶胞且各該些記憶胞具有多個儲存狀態,其中該些儲存狀態是以至少一位元資料讀取電壓來區分;以及一記憶體控制器,耦接至該快閃記憶體晶片與該連接器,該記憶體控制器包括一對數似然比查詢表,該記憶體控制器控制該快閃記憶體晶片使用該至少一位元資料讀取電壓從該些記憶胞中獲取一讀取資料,其中該讀取資料對應一第一儲存狀態,該第一儲存狀態為該些儲存狀態的其中之一,對該讀取資料執行一錯誤校正程序以獲得該讀取資料在寫入時所對應的一第二儲存狀態,其中該第二儲存狀態為該些儲存狀態的其中之一,在所讀取之符合一錯誤統計總數的該些儲存狀態中,取得在寫入時為該第二儲存狀態而在讀取時為該第一儲存狀態的一儲存錯誤總數,根據該錯誤統計總數、該些儲存狀態的一儲存狀態數量,以及該儲存錯誤總數執行一對數運算,以產生該讀取資料的一第一對數似然比。
  14. 如申請專利範圍第13項所述之記憶體儲存裝置,其中該記憶體控制器是以式(1)來計算該讀取資料之該第一對數似然比: 其中LLR_c表示該第一對數似然比,N表示該錯誤統計總數、S表示該儲存狀態數量,而W表示該儲存錯誤總數。
  15. 如申請專利範圍第13項所述之記憶體儲存裝置,其中該對數似然比查詢表記錄該讀取資料所對應的一當前對數似然比,而該記憶體控制器對該第一對數似然比進行一濾波處理以產生一第二對數似然比,並利用該第二對數似然比取代該對數似然比查詢表中該當前對數似然比。
  16. 如申請專利範圍第15項所述之記憶體儲存裝置,其中該記憶體控制器是以式(3)對該第一對數似然比進行該濾波處理以產生該第二對數似然比: 其中,LLR_f表示該第二對數似然比、LLR_c表示該第一對數似然比,m、n分別表示一濾波處理係數,而Z-1 表示一延遲處理時間。
TW099131626A 2010-04-14 2010-09-17 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法 TWI436370B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW099131626A TWI436370B (zh) 2010-09-17 2010-09-17 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法
US12/947,799 US8429501B2 (en) 2010-09-17 2010-11-16 Memory storage device, memory controller thereof, and method thereof for generating log likelihood ratio
US13/108,004 US8510637B2 (en) 2010-04-14 2011-05-16 Data reading method, memory storage apparatus and memory controller thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW099131626A TWI436370B (zh) 2010-09-17 2010-09-17 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法

Publications (2)

Publication Number Publication Date
TW201214454A TW201214454A (en) 2012-04-01
TWI436370B true TWI436370B (zh) 2014-05-01

Family

ID=45818847

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099131626A TWI436370B (zh) 2010-04-14 2010-09-17 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法

Country Status (2)

Country Link
US (1) US8429501B2 (zh)
TW (1) TWI436370B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI831353B (zh) * 2022-03-18 2024-02-01 日商鎧俠股份有限公司 對從複數記憶胞讀取的資料執行錯誤校正的記憶體系統和方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775913B2 (en) * 2010-03-31 2014-07-08 Lsi Corporation Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems
TWI479495B (zh) 2011-06-02 2015-04-01 Phison Electronics Corp 資料讀取方法、記憶體控制器及記憶體儲存裝置
US20140359381A1 (en) * 2011-11-02 2014-12-04 The University Of Tokyo Memory controller and data storage device
US9136011B2 (en) * 2012-04-26 2015-09-15 Hgst Technologies Santa Ana, Inc. Soft information module
TWI460586B (zh) 2012-07-05 2014-11-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體操作方法
US20140169102A1 (en) * 2012-12-19 2014-06-19 Western Digital Technologies, Inc. Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems
CN103970619B (zh) * 2013-02-06 2017-09-29 东芝存储器株式会社 控制器
US8990668B2 (en) 2013-03-14 2015-03-24 Western Digital Technologies, Inc. Decoding data stored in solid-state memory
US9021331B2 (en) * 2013-03-14 2015-04-28 Seagate Technology Llc Method and apparatus for generation of soft decision error correction code information
KR102081415B1 (ko) * 2013-03-15 2020-02-25 삼성전자주식회사 비휘발성 메모리 장치의 llr 최적화 방법 및 비휘발성 메모리 장치의 에러 정정 방법
US9135113B2 (en) * 2013-10-08 2015-09-15 Apple Inc. Recovery from programming failure in non-volatile memory
US9298547B2 (en) * 2013-11-11 2016-03-29 Seagate Technology Llc Detection/erasure of random write errors using converged hard decisions
US9396792B2 (en) 2014-02-26 2016-07-19 Seagate Technology Llc Adjusting log likelihood ratio values to compensate misplacement of read voltages
US9916906B2 (en) 2014-02-27 2018-03-13 Seagate Technology Llc Periodically updating a log likelihood ratio (LLR) table in a flash memory controller
US20150254131A1 (en) * 2014-03-07 2015-09-10 Kabushiki Kaisha Toshiba Memory controller, storage device and memory control method
US9329935B2 (en) 2014-05-19 2016-05-03 Seagate Technology Llc Method to dynamically update LLRs in an SSD drive and/or controller
TWI550628B (zh) * 2014-07-16 2016-09-21 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US9965345B2 (en) * 2014-09-24 2018-05-08 Macronix International Co., Ltd. Health management of non-volatile memory
KR102265220B1 (ko) * 2015-03-09 2021-06-16 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
JP2018045387A (ja) * 2016-09-13 2018-03-22 東芝メモリ株式会社 メモリシステム
US10469103B1 (en) * 2017-04-19 2019-11-05 Seagate Technology Llc Adaptive read retry optimization
US10656847B2 (en) 2018-05-10 2020-05-19 International Business Machines Corporation Mitigating asymmetric transient errors in non-volatile memory by proactive data relocation
US10790860B2 (en) 2018-11-30 2020-09-29 Kabushiki Kaisha Toshiba Dynamic detection for flash memory
CN112053724B (zh) * 2019-06-06 2023-07-18 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元
US11663074B1 (en) * 2021-11-17 2023-05-30 Macronix International Co., Ltd. Determining read voltages for memory systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395466B2 (en) 2005-12-30 2008-07-01 Intel Corporation Method and apparatus to adjust voltage for storage location reliability
TW200901637A (en) * 2007-06-27 2009-01-01 Univ Nat Central Fast decoding method for low density parity check code (LDPC)
KR101403429B1 (ko) 2007-10-09 2014-06-03 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
US20090168573A1 (en) 2007-12-31 2009-07-02 Ming Zhang Adaptive memory array voltage adjustment
TWI479495B (zh) * 2011-06-02 2015-04-01 Phison Electronics Corp 資料讀取方法、記憶體控制器及記憶體儲存裝置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI831353B (zh) * 2022-03-18 2024-02-01 日商鎧俠股份有限公司 對從複數記憶胞讀取的資料執行錯誤校正的記憶體系統和方法

Also Published As

Publication number Publication date
TW201214454A (en) 2012-04-01
US20120072805A1 (en) 2012-03-22
US8429501B2 (en) 2013-04-23

Similar Documents

Publication Publication Date Title
TWI436370B (zh) 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法
TWI479495B (zh) 資料讀取方法、記憶體控制器及記憶體儲存裝置
TWI447733B (zh) 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器
US8560926B2 (en) Data writing method, memory controller and memory storage apparatus
TWI540586B (zh) 解碼方法、記憶體儲存裝置、記憶體控制電路單元
TWI537728B (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
TWI476590B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI523018B (zh) 解碼方法、記憶體儲存裝置、記憶體控制電路單元
TWI451249B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
TW201443901A (zh) 資料寫入方法、記憶體儲存裝置與記憶體控制器
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TW201532064A (zh) 修復均化的方法、系統與其相關的資料結構
TWI529530B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI536749B (zh) 解碼方法、記憶體儲存裝置與記憶體控制電路單元
TWI501244B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI521346B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
CN111767005B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
US8276033B2 (en) Data writing method for a flash memory, and flash memory controller and flash memory storage apparatus using the same
TWI436209B (zh) 記憶體管理表處理方法、記憶體控制器與記憶體儲存裝置
TWI521541B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI545576B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
TWI467578B (zh) 錯誤處理方法、記憶體儲存裝置與記憶體控制電路單元
CN102436842B (zh) 存储器储存装置、存储器控制器与产生对数似然比的方法
US10732845B2 (en) Data search method, memory storage apparatus, and memory control circuit unit