TW201503604A - 在低密度奇偶性校驗(ldpc)解碼器中之對數相似比(llr)抑制 - Google Patents
在低密度奇偶性校驗(ldpc)解碼器中之對數相似比(llr)抑制 Download PDFInfo
- Publication number
- TW201503604A TW201503604A TW103102358A TW103102358A TW201503604A TW 201503604 A TW201503604 A TW 201503604A TW 103102358 A TW103102358 A TW 103102358A TW 103102358 A TW103102358 A TW 103102358A TW 201503604 A TW201503604 A TW 201503604A
- Authority
- TW
- Taiwan
- Prior art keywords
- shortened
- llr values
- llr
- codeword
- value
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/618—Shortening and extension of codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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 codes or arrangements adapted for a specific type of error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1142—Decoding using trapping sets
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3723—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6306—Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/658—Scaling by multiplication or division
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6591—Truncation, saturation and clamping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Error Detection And Correction (AREA)
Abstract
所描述之實施例提供一種用以讀取儲存於一媒體中之資料之媒體控制器。該媒體控制器針對來自該媒體之一縮短碼字之各位元判定一值。該縮短碼字包含一全碼字之複數個非縮短位元,其中該全碼字包含該複數個非縮短位元及一或多個縮短位元。縮短位元對應於該縮短碼字中未使用之位元。該媒體控制器將針對該縮短碼字之各位元判定之該等值轉換成一第一對數相似比(LLR)值集合。使用該縮短碼字之該第一LLR值集合解碼該全碼字。該媒體控制器抑制對應於該碼字之非縮短位元之一或多個LLR值以產生一第二LLR值集合且解碼該第二LLR值集合。
Description
本申請案主張2012年11月21日申請之美國臨時專利申請案第61/729,178號之申請日期之權利,該案之教示之全文以引用的方式併入本文中。
本申請案之標的係關於2012年5月4日申請之美國專利申請案第13/464,433號及2012年8月4日申請之美國專利申請案第13/567,025號,該等案之教示之全文以引用的方式併入本文中。
快閃記憶體係一種非揮發性記憶體(NVM),即,一特定類型之電可擦除可程式化唯讀記憶體(EEPROM)。一種通常採用類型之快閃記憶體技術係NAND(反及)快閃記憶體。NAND快閃記憶體每胞要求小晶片面積且通常係分割成一或多個庫(bank)或平面(plane)。各庫係分割成區塊;各區塊係分割成頁。各頁包含用於儲存使用者資料、錯誤校正碼(ECC)資訊或兩者之若干位元組。
對於NAND裝置存在三個基本操作:讀取、寫入及擦除。讀取及寫入操作在一逐頁基礎上執行。頁大小通常係使用者資料之2 N 位元組(外加ECC資訊之額外位元組),其中N係一整數,其中典型使用者資料頁大小為(例如)每頁2,048位元組(2KB)、4,096位元組(4KB)、
8,192位元組(8KB)或更多。一「讀取單元」係可自非揮發性記憶體讀取及藉由ECC校正之資料及對應ECC資訊之最小量,且通常可介於4K位元與32K位元之間(例如,通常每頁存在整數個讀取單元)。頁通常配置成區塊,且一擦除操作在一逐區塊基礎上執行。典型區塊大小係(例如)每區塊64個、128個或更多個頁。必須將頁循序(通常自一低位址至一高位址)寫入於一區塊中。在擦除該區塊之前無法重新寫入更低位址。通常用於儲存用於記憶體管理之ECC資訊及/或其他後設資料之一備用區域(通常100位元組至640位元組)與各頁相關聯。通常採用ECC資訊以偵測及校正儲存於頁中之使用者資料中之錯誤,且後設資料可用於將邏輯位址映射至實體位址及自實體位址映射至邏輯位址。在具有多個庫之NAND快閃記憶體晶片中,可支援容許實質上並行存取來自各庫之頁之多庫操作。
NAND快閃記憶體將資訊儲存於由浮動閘極電晶體製成之一記憶體胞陣列中。在不供應外部電力之情況下,此等電晶體保持其等電壓位準(亦稱作為電荷)達長時間週期(約數月或數年)。在單位階胞(SLC)快閃記憶體中,各胞儲存一個位元之資訊。在多位階胞(MLC)快閃記憶體中,各胞可藉由在用以施加至其胞之浮動閘極之多個電荷位準之間選取而每胞儲存一個以上位元。MLC NAND快閃記憶體運用一串聯鏈接電晶體配置採用每胞多個電壓位準以容許使用相同數目個電晶體儲存更多個位元。因此,個別考量,各胞具有對應於儲存於該胞中之(若干)邏輯位元值之一特定儲存(程式化)電荷,且基於各胞之一或多個臨限電壓讀取該等胞。
儘管理想上非揮發性記憶體中之全部胞將具有相同臨限電壓,然實務上,在形狀上類似於高斯機率曲線之「臨限電壓分佈」中臨限電壓跨胞而不同。跨大量胞(例如,一讀取單元或一頁)而考量,存在與每胞存在之狀態一樣多之臨限電壓分佈(例如,高斯機率曲線)(例
如,每胞2 b 個分佈,其中b係位元之數目)。因此,對於SLC快閃記憶體,每胞存在兩種狀態(0或1)且因此存在兩個臨限電壓分佈(0之一分佈及1之另一分佈)及一單一讀取臨限電壓。大部分MLC NAND快閃記憶體採用每一胞四種可能狀態,且因此每一胞可儲存兩個位元之資訊。因此,對於MLC快閃記憶體,存在四種狀態(例如,00、01、10、11)且因此存在四個臨限電壓分佈及三個讀取臨限值。
增加每胞位元之數目引起胞對胞干擾及保持雜訊(舉例而言,(諸如)歸因於洩漏之儲存電荷中之一漂移)變得更加嚴重,此減小分離各電壓位準之電壓容限之量且增加系統之讀取錯誤及(因此)位元錯誤率(BER)之可能性(likelihood)。此外,(例如)歸因於讀取干擾、寫入干擾、保持損失、胞老化以及製程、電壓與溫度(PVT)變動,各胞之臨限電壓分佈可隨非揮發性記憶體之操作時間而改變,亦增加BER。當自非揮發性記憶體讀取之一讀取單元中遇到一位元錯誤時,系統(例如,耦合至非揮發性記憶體之一控制器)可在讀取臨限值之不同電壓值重讀該讀取單元,以嘗試定位可硬式解碼校正之該讀取單元之一樣本。此外,可增加軟體複雜性以(例如)藉由採用諸如博斯-喬赫里-霍昆格姆(Bose-Chaudhuri-Hocquenghem)(BCH)及低密度奇偶性校驗(LDPC)之一錯誤校正碼(ECC)來補償一較大BER。
隨著記憶體裝置之變小及每胞位準數目之增加,需要更強大之ECC。例如,藉由降低BCH碼之碼率而改良ECC,然而,降低碼率減小非揮發性記憶體之儲存容量。不同於BCH碼,LDPC碼容許軟式決策解碼,其中除估計各位元值(「硬式解碼」)外,解碼器亦估計各位元之可靠性(「軟式決策解碼」)。為使LDPC碼優於BCH碼,期望各位元之可靠性之改良估計。
提供此[發明內容]以引進呈一簡化形式之概念之一選擇,下文實
施方式中進一步描述呈一簡化形式之概念。此發明內容並非旨在識別所主張標的之關鍵特徵或必要特徵,亦非旨在用以限制所主張標的之範疇。
所描述之實施例提供一種用以讀取儲存於一媒體中之資料之媒體控制器。該媒體控制器針對來自該媒體之一縮短碼字(shortened codeword)之各位元判定一值。該縮短碼字包含一全碼字(full codeword)之複數個非縮短位元,其中該全碼字包含該複數個非縮短位元及一或多個縮短位元。縮短位元對應於該縮短碼字中未使用之位元。該媒體控制器將針對該縮短碼字之各位元判定之該等值轉換成一第一對數相似比(LLR)值集合。使用該縮短碼字之該第一LLR值集合解碼該全碼字。該媒體控制器抑制對應於該碼字之非縮短位元之一或多個LLR值以產生一第二LLR值集合且解碼該第二LLR值集合。
100‧‧‧非揮發性記憶體(NVM)儲存系統/非揮發性記憶體(NVM)系統
101‧‧‧固態磁碟(SSD)
110‧‧‧媒體/固態媒體
120‧‧‧媒體控制器
130‧‧‧固態控制器
140‧‧‧控制處理器
142‧‧‧低密度奇偶性校驗(LDPC)編碼器/解碼器(編碼解碼器)
150‧‧‧緩衝器
160‧‧‧輸入/輸出(I/O)介面
170‧‧‧通信鏈路/鏈路
180‧‧‧主機裝置
200‧‧‧快閃記憶體胞
200(2)‧‧‧字線電晶體
200(4)‧‧‧字線電晶體
200(6)‧‧‧字線電晶體
200(8)‧‧‧字線電晶體
200(10)‧‧‧字線電晶體
200(12)‧‧‧字線電晶體
200(14)‧‧‧字線電晶體
200(16)‧‧‧字線電晶體
230‧‧‧字線控制閘極/控制閘極
240‧‧‧浮動閘極
250‧‧‧N通道
260‧‧‧N通道
270‧‧‧P通道
300‧‧‧NAND多位階胞(MLC)快閃記憶體串/快閃記憶體串/多位階胞(MLC)串
302‧‧‧接地選擇電晶體
304‧‧‧位元線選擇電晶體
322‧‧‧位元線
540‧‧‧標稱讀取臨限值
542‧‧‧標稱讀取臨限值
544‧‧‧標稱讀取臨限值
550‧‧‧臨限電壓分佈
551‧‧‧臨限電壓分佈
560‧‧‧臨限電壓分佈
561‧‧‧臨限電壓分佈
565‧‧‧偏移讀取臨限值
570‧‧‧臨限電壓分佈
571‧‧‧臨限電壓分佈
575‧‧‧偏移讀取臨限值
580‧‧‧臨限電壓分佈
581‧‧‧臨限電壓分佈
585‧‧‧偏移讀取臨限值
600‧‧‧縮短碼字
602‧‧‧縮短訊息位元/縮短位元
604‧‧‧非縮短訊息位元/非縮短位元
606‧‧‧錯誤校正碼(ECC)位元
608‧‧‧非縮短碼字部分
620‧‧‧縮短碼字
622‧‧‧縮短訊息位元對數相似比(LLR)
624‧‧‧非縮短訊息位元對數相似比(LLR)
626‧‧‧錯誤校正碼(ECC)位元對數相似比(LLR)
628‧‧‧非縮短碼字部分
700‧‧‧抑制縮短碼字
704‧‧‧抑制非縮短訊息位元對數相似比(LLR)
706‧‧‧抑制錯誤校正碼(ECC)位元對數相似比(LLR)
800‧‧‧LDPC解碼程序
802‧‧‧步驟
804‧‧‧步驟
806‧‧‧步驟
807‧‧‧虛線
808‧‧‧選用步驟/選用抑制步驟
810‧‧‧步驟
812‧‧‧步驟
814‧‧‧步驟
816‧‧‧步驟
818‧‧‧步驟
820‧‧‧步驟
822‧‧‧步驟
824‧‧‧步驟
自以下實施方式、隨附申請專利範圍及附圖將更充分明白所描述之實施例之其他態樣、特徵及優點,附圖中相似元件符號標示類似或同樣元件。
圖1展示根據例示性實施例之一快閃記憶體儲存系統之一方塊圖;圖2展示一單一標準快閃記憶體胞之一例示性功能方塊圖;圖3展示根據例示性實施例之一例示性NAND MLC快閃記憶體胞;圖4展示圖3之MLC NAND快閃記憶體胞中之狀態位元值之電壓分佈隨時間之變動之一例示性圖;圖5A展示在一初始時間圖3之MLC NAND快閃記憶體胞之臨限電壓機率分佈之一例示性圖;圖5B展示在一稍後時間圖3之MLC NAND快閃記憶體胞之經偏移
之臨限電壓機率分佈之一例示性圖;圖6A展示儲存於圖1之儲存媒體上之一例示性非縮短碼字;圖6B展示儲存於圖1之儲存媒體上之一例示性縮短碼字;圖7展示圖6B之縮短碼字之一例示性抑制版本;圖8展示根據例示性實施例之圖1之快閃記憶體儲存系統之一例示性LDPC解碼演算法之一流程圖;及圖9展示展示根據圖8之LDPC解碼演算法在抑制或不抑制之情況下不可校正位元錯誤之錯誤底限對信雜比之一例示性圖。
所描述之實施例提供一種用以讀取儲存於一媒體中之資料之媒體控制器。該媒體控制器針對來自該媒體之一縮短碼字之各位元判定一值。該縮短碼字包含一全碼字之複數個非縮短位元,其中該全碼字包含該複數個非縮短位元及一或多個縮短位元。縮短位元對應於該縮短碼字中未使用之位元。該媒體控制器將針對該縮短碼字之各位元判定之該等值轉換成一第一對數相似比(LLR)值集合。使用該縮短碼字之該第一LLR值集合解碼該全碼字。該媒體控制器抑制對應於該碼字之非縮短位元之一或多個LLR值以產生一第二LLR值集合且解碼該第二LLR值集合。
表1定義貫穿本說明書所採用之縮寫詞之一清單而作為對理解所描述之實施例之一輔助:
圖1展示一非揮發性記憶體(NVM)儲存系統100之一方塊圖。非揮發性記憶體儲存系統100包含媒體110,其耦合至媒體控制器120。媒體110可實施為NAND快閃固態磁碟(SSD)、諸如硬碟機(HDD)之磁性儲存媒體、諸如光碟(CD)或數位多功能光碟(DVD)之光學儲存媒體、混合固態及磁性系統或其他類似儲存系統。媒體110通常可藉由一實體傳輸媒體(諸如,背板、磁性記錄系統中之驅動頭、光纖、一或多個同軸電纜、一或多個雙絞銅線或一或多個射頻(RF)通道)耦合至媒體控制器120。此外,儘管本文中所描述係關於一非揮發性記憶體儲存系統,然額外地或替代地可在一蜂巢式電話或基地台中之一基帶處理系統中採用所描述之實施例以解碼通過一有線或無線通道或解碼自一有線或無線通信通道接收之資料之任何系統所接收之資料。
如圖1中所展示,媒體110及媒體控制器120統稱為SSD 101。媒體控制器120包含固態控制器130、控制處理器140、緩衝器150及I/O介面160。媒體控制器120控制媒體110與耦合至通信鏈路170之主機裝置180之間之資料之傳送。媒體控制器120可實施為系統單晶片(SoC)或其他積體電路(IC)。固態控制器130可用以存取媒體110中之記憶體位置,且通常可實施低位準裝置特定操作以與媒體110介接。緩衝器150可係經採用以充當控制處理器140之一快取區及/或充當用於固態媒體110與主機裝置180之間之操作之一讀取/寫入緩衝器之一RAM緩
衝器。例如,在固態媒體110與主機裝置180之間經由I/O介面160及鏈路170之傳送期間,資料通常可暫時儲存於緩衝器150中。可採用緩衝器150對資料分組或分離資料,以補償通信鏈路170之一資料傳送大小與媒體110之一儲存單元大小(例如,讀取單元大小、頁大小、區段大小或映射單元大小)之間之差異。緩衝器150可實施為媒體控制器120內部之靜態隨機存取記憶體(SRAM)或嵌入式動態隨機存取記憶體(eDRAM),然而緩衝器150亦可包含媒體控制器120外部之記憶體(未展示),其通常可實施為雙倍資料率(例如,DDR-3)DRAM。
控制處理器140與固態控制器130通信以控制媒體110中之資料存取(例如,讀取或寫入資料)操作。控制處理器140可實施為一或多個Pentium®、Power PC®、Tensilica®或ARM處理器或不同處理器類型之一組合(Pentium®係Intel Corporation之一註冊商標,Tensilica®係Tensilica,Inc.之一商標,ARM處理器係由ARM Holdings,plc製造,且Power PC®係IBM之一註冊商標)。儘管圖1中展示為一單一處理器,然控制處理器140可由多個處理器(未展示)實施且(如需要)包含用於根據所描述之實施例之操作(包含執行臨限值最佳化操作)之軟體/韌體。控制處理器140與低密度奇偶性校驗(LDPC)編碼器/解碼器(編碼解碼器)142(其針對寫入至媒體110之資料執行LDPC編碼且針對自媒體110讀取之資料執行解碼)通信。
通信鏈路170用以與主機裝置180通信,主機裝置180可係與非揮發性記憶體系統100介接之一電腦系統。通信鏈路170可係一自訂通信鏈路或可係根據一標準通信協定操作之一匯流排,諸如(舉例而言)小型電腦系統介面(「SCSI」)協定匯流排、串列附接SCSI(「SAS」)協定匯流排、串列進階附接技術(「SATA」)協定匯流排、通用串列匯流排(「USB」)、通用快閃儲存(「UFS」)協定介面、乙太網路鏈路、IEEE 802.11鏈路、IEEE 802.15鏈路、IEEE 802.16鏈路、周邊組件快
速互連(「PCI-E」)鏈路、串列高速I/O(「SRIO」)鏈路或用於將一周邊裝置連接至一電腦之任何其他類似介面鏈路。
圖2展示在固態媒體110中可發現之一單一快閃記憶體胞之一例示性功能方塊圖。快閃記憶體胞200係具有兩個閘極之一MOSFET。字線控制閘極230定位於浮動閘極240之頂部上。浮動閘極240藉由一絕緣層而與字線控制閘極230及MOSFET通道(其包含N通道250及260及P通道270)隔離。因為浮動閘極240經電隔離,所以放置於浮動閘極240上之任何電荷將保持且將不顯著放電(通常達數月)。當浮動閘極240保持一電荷時,其部分消除修改胞之臨限電壓之來自字線控制閘極230之電場。臨限電壓係供應至控制閘極230以容許通道導電之電壓量。通道之導電性(例如)藉由感測浮動閘極240上之電荷而判定儲存於胞中之值。
圖3展示在固態媒體110中可發現之一例示性NAND MLC快閃記憶體串300。如圖3中所展示,快閃記憶體串300可包含汲極至源極串聯連接之一或多個字線電晶體200(2)、200(4)、200(6)、200(8)、200(10)、200(12)、200(14)及200(16)(例如,8個快閃記憶體胞)及位元線選擇電晶體304。此串聯連接係如此:接地選擇電晶體302、字線電晶體200(2)、200(4)、200(6)、200(8)、200(10)、200(12)、200(14)及200(16)以及位元線選擇電晶體304藉由針對待拉至完全低之位元線322依序將對應閘極驅動為高而全部「導通」(例如,以一線性模式或一飽和模式)。改變導通之字線電晶體200(2)、200(4)、200(6)、200(8)、200(10)、200(12)、200(14)及200(16)之數目(或在電晶體在線性或飽和區域中操作之情況下)可使MLC串300能夠達成多個電壓位準。一典型MLC NAND快閃記憶體可採用具有浮動閘極之64個電晶體之一「NAND串」(例如,如圖3中所展示)。在一寫入操作期間,將一高電壓施加至待寫入之一字線位置中之NAND串。在一讀取操作期
間,將一電壓施加至NAND串中之全部電晶體之閘極(惟對應於一所要讀取位置之一電晶體除外)。所要讀取位置具有一浮動閘極。
如本文中所描述,在SLC及MLC NAND快閃記憶體兩者中,各胞具有(諸如)藉由與一讀取臨限電壓位準比較而可感測之一電壓電荷位準(例如,一類比信號)。一媒體控制器可具有經採用以讀取電壓電荷位準及偵測胞之一對應二進位值之給定數目個預定電壓臨限值。例如,對於MLC NAND快閃記憶體,若存在3個臨限值(0.1、0.2、0.3),則當一胞電壓位準係0.0胞電壓<0.1時,該胞可偵測為具有[00]之一值。當讀取一典型MLC快閃記憶體時,三個讀取臨限值係最初設定至由快閃記憶體製造商程式化之預設值。若ECC不成功,則修改三個臨限值以重讀資料。若胞電壓位準係0.1胞電壓<0.2,則該值可係[10],等等。因此,通常可逐一比較一經量測胞位準與臨限值,直至判定該胞位準介於兩個臨限值中間且可被偵測。因此,將經偵測資料值提供至記憶體控制器120之一解碼器以(例如,運用一錯誤校正碼)將該等經偵測值解碼成待提供至主機裝置180之資料。
所描述之實施例採用低密度奇偶性校驗(LDPC)解碼器(例如,圖1之LDPC編碼解碼器142)以解碼儲存於快閃記憶體中之資料。LDPC解碼器在校正能力方面可接近向農極限(Shannon limit)。然而,不同於採用代數碼之解碼器,LDPC解碼器(諸如在每一碼字可校正錯誤之位元中)不具有固定校正能力。此外,LDPC解碼器易受其等Tanner圖中之陷阱集(trapping set)影響,其等Tanner圖產生一「錯誤底限」;在輸出位元錯誤率突然改變至一更平緩斜率之情況下,輸出位元錯誤率對輸入位元錯誤率之正常「瀑布」特性中之一改變。然而,為了更有效率採用LDPC碼,LDPC解碼器採用「軟性」資料,諸如經解碼之各位元具有一給定值(例如,各胞具有一特定電荷位準)之類比式機率。一經解碼之位元具有一給定值之此機率通常係指定為對數相似比
(LLR)。在快閃記憶體中,(例如)在讀取操作期間移動用於位元偵測之臨限電壓之能力使能夠取得位元值之多個樣本以判定各位元之可靠程度,且接著可將此可靠性表達為各位元之一LLR。如本文中所描述,快閃記憶體之軟性決策LDPC解碼之一部分正採用一給定快閃記憶體胞之一或多個讀取(各自在一不同臨限電壓)以針對各位元位置產生一LLR。
例如,圖4圖解說明一MLC NAND快閃記憶體胞中之狀態(位元值)之電壓分佈如何隨時間變化。特別地,並非全部位元將相同地漂移,從而在運用一單一、固定電壓臨限值讀取時導致變動。此外,一些位元可為「固定錯誤型(stuck)」位元,(諸如)藉由報告一錯誤值,而非僅已自其正確位置漂移之一值。所描述之實施例藉由改變用於全部位元(惟係碼字之部分但未傳輸/儲存之「縮短」位元除外)之對數相似比(LLR)而使LDPC解碼器能夠克服「固定錯誤型」位元(錯誤的位元,但以高機率主張其等係正確的)之效應。
圖5A及圖5B展示諸如圖3中所展示之一MLC NAND快閃記憶體胞之臨限電壓及臨限電壓機率分佈之例示性圖。圖5A表示在一初始時間(例如,在寫入資料時)經格雷編碼之MLC狀態11(例如,分佈550)、01(例如,分佈560)、00(例如,分佈570)及10(例如,分佈580)之臨限電壓機率分佈。如所展示,標稱讀取臨限值540、542及544理想上定位於各MLC狀態之間。圖5B表示在一稍後時間之臨限電壓機率分佈。如圖5B中所展示,臨限電壓分佈551、561、571及581(諸如)藉由保持漂移而相對於圖5A中所展示之其等較早各自臨限電壓分佈550、560、570及580偏移。儘管圖5B中展示全部四個分佈向左均勻偏移,然實務上,該等分佈通常可獨立於彼此偏移。此外,通常不知或不可直接知道臨限電壓分佈中偏移之方向。又此外,各位元中之偏移可係獨立的,偏移亦可引起分佈之擴展,且擴展可係不對稱
的。
在一些實施例中,使用多種攪亂(scrambling)技術使得四種狀態之統計分佈係各狀態之百分之25。當使用標稱讀取臨限值(例如,540、542及544,其等位於圖5A中所展示之非偏移分佈位置)讀取具有偏移分佈(例如,圖5B中所示)之MLC胞時,則(例如,在任何錯誤校正之前)可觀察到(遍及許多樣本)自各狀態之百分之25之預期讀取資料之一偏離。媒體控制器120可採用讀取資料狀態中之此差異(disparity)來推斷臨限電壓分佈中偏移之存在。接著,媒體控制器120可至少部分基於所觀察之差異而調整標稱讀取臨限值(例如,540、542及544),以使其等變成圖5B中所展示之偏移讀取臨限值565、575及585。在一些實施例中,可在一整個頁基礎(或多個頁基礎)上評估差異。在其他實施例中,可在一讀取單元及/或碼字基礎上評估差異。儘管圖4A及圖4B中未展示,然對於SLC胞,可存在兩種狀態(例如,1及0)及一單一讀取臨限值。可採用攪亂使得該兩種狀態之統計分佈係各狀態之百分之50。讀取臨限值通常可如2012年5月4日申請之相關美國專利申請案第13/464,433號中所描述般偏移,該案以引用的方式併入本文中。
因此,如圖5A及圖5B中可見,當讀取最低有效位元(LSB)時,小於臨限參考之電壓係讀取為1。如可見,V4將趨向將更多位元取樣為1,且V0將趨向將更多位元取樣為0。且在兩個分佈之中心,藉由V2取樣之位元有時係不確定的。基於各胞具有其電壓臨限值之確切位置(自1跨至0),可判定該胞實際上保持1或0之一可能性,但此可能性可隨時間改變(如藉由圖5A與圖5B之間之差異所指示)。NAND快閃記憶體之軟性決策LDPC解碼之一部分使NAND快閃記憶體之一或多個讀取(各自在一不同臨限電壓)變成各位元位置之一LLR。根據各項實施例,在不同臨限值執行NAND快閃記憶體之多個讀取所依之一順序基於諸如靜態及/或動態追蹤資訊(諸如分佈追蹤資訊)、讀取之觀察差
異、自解碼嘗試觀察之錯誤率之因素及其他因素而變化。
在許多實際情況中,碼字係縮短的。縮短意謂在未儲存/傳輸之情況下在編碼及解碼時存在未使用及有效已知之碼字位置(諸如一些訊息位元位置)。可採用縮短碼字以支援碼字之可變大小且在碼率選擇中提供較大靈活性。例如,若校驗位元組之數目固定但不同NAND快閃記憶體廠商提供不同量之備用區域,則可藉由縮短碼字而改變每一碼字使用者位元組之數目以適應不同量之備用區域。圖6A展示儲存於媒體110上之一例示性縮短碼字600。如圖6A中所展示,縮短碼字600包含縮短訊息位元602、非縮短訊息位元604及ECC位元606。非縮短訊息位元604及ECC位元606在一起形成儲存於媒體110上之非縮短碼字部分608。圖6B展示自媒體110讀取之一例示性縮短碼字620。如圖6B中所展示,縮短碼字620包含一些縮短訊息位元LLR 622、一些非縮短訊息位元LLR 624及ECC位元LLR 626。非縮短訊息位元LLR 624及ECC位元LLR 626在一起形成對應於自媒體110讀取之資料之非縮短碼字部分628。
例如,一第一NAND快閃記憶體廠商使用者資料之每一16KB頁可採用1216位元組之一備用區域,且一第二NAND快閃記憶體廠商使用者資料之每一16KB頁可採用1280位元組之一備用區域。在每2KB碼字具有144位元組之LDPC校驗位元之一例示性實施例中,第一廠商之NAND快閃記憶體可採用一(2200B,2056B)碼之八個例項,且第二廠商之NAND快閃記憶體可採用一(2208B,2064B)碼之八個例項,有效率使用各廠商之記憶體之各頁中之全部位元組。取決於實施方案,LDPC編碼器及解碼器(例如,圖1之LDPC編碼解碼器142)可實施一較大大小碼字(諸如使用者資料之2176位元組、具有144位元組之LDPC校驗位元之一(2320B,2176B)碼)。接著(2200B,2056B)碼及(2208B,2064B)碼兩者可係所實施碼字之縮短版本。
某些通道可具有稱為「固定錯誤型位元」錯誤之錯誤,該等錯誤係極其顯然係一值(例如,0)但實際上應係另一值(例如,1)之錯誤。固定錯誤型位元錯誤可歸因於以下之一或多者:(1)靜態固定錯誤型位元,諸如無法寫入/程式化且始終讀取為一固定值之位元(例如,圖3之NAND MLC快閃記憶體串300中之一或多個短接或斷開電晶體);(2)誤程式化,在每胞儲存多個位元之一些技術(諸如多位階胞(MLC)快閃記憶體)中,若在程式化一胞之MSB時誤讀該胞之LSB,則所要電荷狀態係基於錯誤LSB,導致該胞之LSB及/或MSB位置中之一「固定錯誤型」位元;(3)單一事件翻轉(SEU),若經發送以寫入/程式化之資料在寫入/程式化之前出現任何錯誤(諸如歸因於α粒子),則錯誤的位元被程式化為誤值。
由於此等「固定錯誤型位元」錯誤極其顯然具有一給定值(例如,一高量值LLR),故當實際上位元應係相反值時,固定錯誤型位元錯誤可因此在LDPC解碼中產生錯誤。此等固定錯誤型位元錯誤藉由相對於其等值強烈「謊報(lying)」而提高LDPC解碼之一錯誤底限,且可加劇一「陷阱集問題」。一陷阱集問題係:當LLR值強烈指示位元係0時,但實際上該位元係1,且陷阱集中之其他位元(在一些情況中)不能夠否決(over-rule)錯誤位元之強度。所描述之實施例選擇性修改非縮短位元位置中之LLR,以提高縮短位元位置之相對「確定性」。此幫助LDPC解碼克服固定錯誤型位元且在固定錯誤型位元之存在下降低錯誤底限。
一LDPC解碼器通常將縮短位置處理為具有最大量值LLR。其他(非縮短)位元位置具有自其等具有給定值之實際可能性判定之一LLR,如藉由自儲存/傳輸媒體獲得之類比資料所判定(例如,比較一經量測胞位準與諸如圖5A及圖5B中所展示之各種臨限值以針對各位元判定一可能性)。
在一些實施例中,縮短位元位置在編碼時(且同樣地在解碼時)始終處理為0。在其他實施例中,縮短位元位置在編碼時(且同樣地在解碼時)始終處理為1。在其他實施例中,一些或全部縮短位元位置在編碼時(且同樣地在解碼時)處理為具有一指定型樣(諸如交替0及1)。因此,根據所描述之實施例,縮短位元位置之LLR可處理為具有最大LLR量值或具有一無限LLR量值,且防止其在解碼程序期間改變。例如,在一些實施例中,縮短位元位置針對「無限」量值具有一特殊編碼,且LDPC解碼器中之邏輯經修改以特殊地處理值「無窮」(諸如根據其數學意義或諸如遠大於任何其他值)。針對縮短位元位置具有一特殊「無限」LLR量值強化該等位元位置之「確定性」,使得「保證」該等位元位置係正確的,在固定錯誤型位元之存在下,此對於非縮短位元位置(甚至具有一高量值LLR值之非縮短位元)並非係該情況。在其他實施例中,在初始LDPC解碼步驟(例如,在一反覆LDPC解碼程序之一第一反覆之開始)縮短位元位置中之LLR設定至最大可能LLR量值,且不容許在後續LDPC解碼反覆中改變。憑藉縮短位元位置中之LLR之可靠初始量值,即使容許縮短位元位置之LLR改變,縮短位元位置中之LLR仍未必改變至一誤值。
在解碼期間,固定錯誤型位元之LLR係(例如)藉由判定該位元之一類比位準及判定該位元為0或1之一機率而判定為任何其他非縮短位元。然而,對於固定錯誤型位元,該位元之類比位準係錯誤的。因此固定錯誤型位元具有一高LLR量值(諸如一最大值化的LLR),且潛在地提高一錯誤底限,從而限制LDPC解碼器之輸出位元錯誤率。明確言之,固定錯誤型位元藉由增加LDPC解碼器陷入一陷阱集中之可能性而妨礙LDPC解碼器收斂於一解答(solution)。當此發生時,LDPC解碼失敗。可使用愈來愈精確LLR資訊重複進行LDPC解碼多次。例如,若硬式決策LDPC解碼失敗,則以不同臨限電壓完成NAND快閃
記憶體之一或多個額外讀取以獲取一階LLR資訊,且運用此軟性決策資訊重複LDPC解碼。若LDPC解碼再次失敗,則以(諸如)中間臨限電壓完成NAND快閃記憶體之進一步額外讀取以獲取二階LLR資訊,且運用此經改良軟性決策資訊重複LDPC解碼。若LDPC解碼再次失敗,則各項實施例甚至具有進一步回落策略,諸如DSP技術或跨多個碼字之一些類型之高階碼(例如,一類RAID5碼)。
在固定錯誤型位元之存在下,由於固定錯誤型位元不改變錯誤狀態而是保持錯誤狀態,故重複讀取再試且LDPC解碼並未改良LDPC解碼。進一步回落策略趨向非常密集處理且可仍不能夠校正固定錯誤型位元。
在各項實施例中,當一軟性決策LDPC解碼步驟失敗時,非縮短位元位置抑制其等LLR值(量值降低),而縮短位元位置保持其等(例如,最大)LLR值。接著重複LDPC解碼。與縮短位元位置相比,抑制非縮短位元位置具有減小固定錯誤型位元之LLR量值之效應,因此給予LDPC解碼器判定具有正確值之位元之一更大能力。在將抑制施加至非縮短位元位置之後,運用經更新之LLR再次嘗試LDPC解碼。可重複抑制,(例如)若一第一稍微抑制未導致成功LDPC解碼,則可執行一或多個額外、更具攻擊性抑制步驟及再試LDPC解碼。因此,在解碼程序之一或多個階段完成抑制及重複LDPC解碼。圖7展示一例示性抑制縮短碼字700(例如,圖6B之碼字620之一抑制版本),其包含縮短訊息位元LLR 622、抑制非縮短訊息位元LLR 704及抑制ECC位元LLR 706,使得碼字620之全部非縮短位置被抑制(例如,抑制非縮短訊息位元LLR 704係非縮短訊息位元LLR 624之抑制版本,且抑制ECC位元LLR 706係ECC位元LLR 626之抑制版本)。縮短訊息位元LLR 622未被抑制。
圖8展示一非揮發性記憶體(例如,一MLC NAND快閃記憶體)之
一例示性LDPC解碼程序800之一流程圖。在步驟802,LDPC解碼程序800開始。在步驟804,執行媒體110之一或多個胞(例如,如圖3中所展示)之一第一讀取以判定該一或多個胞之各者之一第一類比位準。在步驟806,將該一或多個胞之各者之類比位準轉換成一LLR值以判定對應於各LLR值之一位元值。如藉由虛線807所指示,在選用步驟808,可在步驟810執行LDPC解碼之前抑制非縮短位元位置。在步驟810,針對碼字中之一或多個胞之各者對LLR值執行LDPC解碼。在步驟812,若LDPC解碼成功,則程序800進行至步驟824。在步驟812,若LDPC解碼(運用或不運用選用之抑制步驟808)未成功,則程序800進行至步驟814,其中判定是否應執行非縮短位置之抑制。若在步驟814判定應執行抑制,則在步驟816抑制一碼字之非縮短位元位置,且程序800返回至步驟810,其中針對碼字中之一或多個胞之各者對LLR值執行LDPC解碼。若在步驟814不應執行抑制,則在步驟818判定是否到達媒體控制器120之一讀取再試極限。若在步驟818未到達讀取再試極限,則在步驟820運用一或多個替代臨限位準(如圖5A及圖5B中所展示)執行媒體110之一或多個胞之一後續讀取,以精緻化經判定之電壓位準。在步驟820執行後續讀取操作之後,程序800返回至步驟806,其中將針對一或多個胞之各者精緻化之類比位準轉換成一LLR值,以判定對應於各LLR值之一位元值。若在步驟818已到達讀取再試極限,則在步驟822,一或多個額外解碼方法可嘗試使資料復原(例如,數位信號處理(DSP)等)。在步驟824,程序800完成,且可藉由媒體控制器120進一步處理復原之資料。
因此,在所描述之實施例中,每當LDPC解碼(無抑制之情況下)失敗時,則(諸如與額外讀取並行地)嘗試抑制及重複LDPC解碼以獲取更精確軟性決策資訊。在一些例示性實施例中,當在全部所要額外讀取(為獲取進一步軟性決策資訊)之後之LDPC解碼已失敗時,單獨
完成抑制及重複LDPC解碼。抑制及重複LDPC解碼非必然係最終嘗試,此係因為可在抑制之前或之後完成DSP,且使用跨多個碼字(例如,一類RAID5碼)之較高位準編碼通常係最後復原嘗試。當固定錯誤型位元錯誤更普遍存在時,針對每一LDPC解碼完成抑制,使得僅使非縮短位元能夠具有最大LLR值。可在一第一抑制位準執行抑制之一第一嘗試,且若LDPC解碼失敗,則可針對進一步LDPC解碼嘗試施加一或多個更強位準之抑制。
當硬錯誤係使LDPC解碼陷入於一陷阱集中之原因時,LDPC解碼通常陷入於一單一「小型」陷阱集中。藉由對應於LDPC碼之奇偶性校驗矩陣之Tanner圖(明確言之,行權重及圖之短循環頻譜)來判定陷阱集(若干參與中錯誤位元節點及未滿足校驗節點)之大小。例示性小型陷阱集包含(4,2)及(4,4),其等分別意謂4個錯誤位元節點及2個及4個未滿足校驗。當LDPC解碼陷入於此一小型陷阱集時,此可藉由一校驗子(syndrome)權重或等效地藉由若干未滿足校驗而判定。若在LDPC解碼到達可容許反覆之最大數目之後發現校驗子權重為小或對於最後幾次反覆已為小(例如,介於1與6之間),則此可能指示硬錯誤引發一小型陷阱集。據此回應,使用更具攻擊性抑制而非額外讀取再試係有效的,此係因為讀取再試(諸如當寫入類比電壓超出藉由最小及最大讀取參考電壓限制之電壓窗時)無法可靠地偵測硬錯誤。
藉由將一比率施加至全部非縮短位元位置之LLR而執行抑制。例如,若LLR在自-7至+7之範圍內,則將一抑制因數(諸如5/7或4.5/7或4/7)與非縮短位元位置相乘。縮短位元位置保持其等最大LLR(例如,+7或-7)。圖9展示在無抑制之情況下之錯誤底限(三角形)對使用相乘性抑制因數2/7、3/7、4/7及5/7抑制之情況下之各種結果。在圖9中,s=10指示每一碼字存在10個固定錯誤型位元錯誤,UBER表示LDPC解碼之後之不可校正位元錯誤率,且SNR係信雜比。在一些實
施例中,藉由選擇性降低大於一指定臨限值之任何非縮短位元位置之LLR值之量值而執行抑制。在一第一實例(使用在自-7至+7範圍內之LLR值)中,具有大於4之量值之任何LLR值將其量值降低至4。在一第二實例(使用自-7至+7範圍內之LLR值)中,具有大於5之量值之任何LLR值使其量值降低1。在一第三實例中,具有最大量值之任何LLR值使其量值降低一指定量(諸如1或2)。或者,抑制可係施加至非縮短位元位置之LLR之任何函數,諸如指數衰減(抑制較大量值LLR值多於抑制較小LLR值)、步階函數、二次函數或任何其他數學函數。
在一些實施例中,抑制基於某些類型之失效之可能性係不對稱的。例如,若值1具有一正LLR且值0具有一負LLR,且若與值0相比,固定錯誤型位元更可能具有值1,則與負LLR值相比,不對稱抑制更強烈抑制正LLR值。此外,在實例中,若任何固定錯誤型位元極不可能具有值0,則僅抑制正LLR值。
在採用MLC NAND快閃記憶體之實施例中,與固定錯誤型位元失效如何影響胞之可能性之知識組合之儲存於一相同胞中之另一位元之值(例如,對於所解碼之一MSB位元為LSB位元值,或對於所解碼之一LSB位元未MSB位元值)之知識基於儲存於相同胞中之另一位元之一值之知識而實現各位元位置之選擇性抑制。例如,當解碼一下部頁時,讀取及解碼上部頁提供額外資訊以選擇性抑制用於下部頁解碼之LLR值。因此,可藉由轉換藉由在各自臨限電壓讀取NAND快閃記憶體之一給定部分取得之一或多個樣本(諸如一或多個碼字)而產生LLR值。在進一步實施例中,一查詢表用以將在各位元位置取得之樣本轉換成該位元位置之一LLR值。該表係基於所讀取之NAND快閃記憶體之部分中之胞之狀態分佈之靜態或動態知識(諸如)而藉由韌體預先計算。在又進一步實施例中,藉由各自臨限電壓排序樣本,且使用一傳輸點之一索引(諸如自1至0或自0至1)實現轉換以判定LLR值。
根據各項實施例,LLR值係由以下之一或多者產生:LDPC解碼器;一專屬硬體單元;韌體;及其他類似技術。根據各項實施例,LLR抑制係藉由以下之一或多者完成:LDPC解碼器作為一預處理步驟;韌體改變一查詢表中提供之LLR值;直接修改儲存於一記憶體中之LLR值;及其他類似技術。
例示性實施例採用一系統碼,其中ECC位元在訊息位元之末端(例如,如圖6A至圖6B及圖7中所展示)。然而,在一些實施例中,ECC位元可在資料內之任意處(中間、前端),且碼可係非系統的,此意謂LDPC解碼器(例如,142)無法區分訊息與ECC位元。在此情況中,解碼器區分縮短位元(例如,602)與非縮短位元(例如,604),使得全部位元「經編碼」且ECC資訊及資料根據一數學演算法交錯在一起。
因此,所描述之實施例提供一種用以讀取儲存於一媒體中之資料之媒體控制器。該媒體控制器針對來自該媒體之一縮短碼字之各位元判定一值。該縮短碼字包含一全碼字之複數個非縮短位元,其中該全碼字包含該複數個非縮短位元及一或多個縮短位元。縮短位元對應於設定至一預設值之該縮短碼字中未使用之位元。該媒體控制器將針對該縮短碼字之各位元判定之值轉換成一第一對數相似比(LLR)值集合。使用該縮短碼字之該第一LLR值集合解碼該全碼字。該媒體控制器抑制對應於該碼字之非縮短位元之一或多個LLR值以產生一第二LLR值集合且解碼該第二LLR值集合。
本文中參考「一項實施例」或「一實施例」意謂連同實施例一起描述之一特定特徵、結構或特性可包含於至少一項實施例中。本說明書中各處出現的片語「在一項實施例中」或「在一實施例中」不必皆指相同實施例,個別或替代實施例亦不必與其他實施例互斥。此同樣應用於術語「實施方案」。如本說明書中所使用,字詞「例示性」
在本文中係意謂充當一實例、例項或圖解說明。本文中描述為「例示性」之任何態樣或設計不必解釋為較佳或比其他態樣或設計有利。實情係,使用字詞例示性旨在以一具體方式呈現概念。
儘管已相對於一軟體程式中之處理方塊(包含作為一數位信號處理器、微控制器或通用電腦之可能實施方案)描述例示性實施例,然所描述之實施例不限於此。如熟習此項技術者將明白,軟體之各種功能亦可實施為電路之處理。此等電路可用於(例如)一單一積體電路、一多晶片模組、一單一卡或一多卡電路封包中。
此外,術語「或」旨在意謂一包含性「或」而非一排他性「或」。即,除非另有指定或自內容背景清楚明白,「X採用A或B」旨在意謂任何自然包含排列。即,若X採用A;X採用B;或X採用A及B兩者,則在前述例項之任一者下滿足「X採用A或B」。此外,如本說明書及隨附申請專利範圍中所使用,除非另有指定或自內容背景中清楚明白指代一單一形式,冠詞「一」或「一個」通常應理解為意謂「一或多個」。
此外,術語「系統」、「組件」、「模組」、「界面」、「模型」或類似物通常旨在指一電腦相關實體、任一硬體、硬體及軟體之一組合、軟體或在執行中之軟體。例如,一組件可係(但不限於)在一處理器上運行之一程序、一處理器、一物件、一可執行、執行之一執行緒、一程式及/或一電腦。經由圖解說明,在一控制器上運行之一應用程式及該控制器兩者可係一組件。一或多個組件可駐留在一程序及/或執行之執行緒內,且一組件可定位於一電腦上及/或分佈於兩個或兩個以上電腦之間。
如本文中所使用,關於一元件及一標準,術語「相容」意謂該元件以藉由該標準全部或部分指定之一方式與其他元件通信,且將由其他元件認知為充分能夠以藉由該標準指定之方式與其他元件通信。
相容元件不必以藉由標準指定之一方式在內部操作。
再者,為了此描述,術語「耦合」、「正耦合」、「經耦合」、「連接」、「正連接」或「經連接」係指此項技術中已知之任何方式或其中容許在兩個或兩個以上元件之間傳送能量之稍後開發之任何方式,且預期(但不必需)插入一或多個額外元件。相反地,術語「直接耦合」、「直接連接」等意指不存在此等額外元件。可藉由相同名稱(且此處為可互換之目的)指代信號及對應節點或埠。
儘管可在闡釋性實施方案之內容背景中描述本文中所描述之標的以針對具有使用者互動式組件之一計算應用程式而處理一或多個計算應用程式特徵/操作,然標的不限於此等特定實施例。實情係,本文中描述之技術可應用於任何類型之使用者互動式組件執行管理方法、系統、平台及/或設備。
可以方法及用於實踐該等方法之設備之形式實施所描述之實施例。亦可以內嵌於有形媒體(諸如磁性記錄媒體、光學記錄媒體、固態記憶體、軟碟片、CD-ROM、硬碟機或任何其他非暫時性機器可讀儲存媒體)中之程式碼之形式實施所描述之實施例,其中當將程式碼載入一機器(諸如一電腦)中且藉由該機器執行時,該機器變成用於實踐所描述之實施例之一設備。亦可以程式碼之形式實施所描述之實施例,例如,不管是儲存於一非暫時性機器可讀儲存媒體中、載入一機器中及/或藉由一機器執行或是經由某一傳輸媒體或載體(諸如經由電線或電纜、通過光纖或經由電磁輻射)傳輸,其中當將程式碼載入一機器(諸如一電腦)中且藉由該機器執行時,該機器變成用於實踐所描述之實施例之一設備。當在一通用處理器上實施時,程式碼區段與處理器組合以提供一種類似於特定邏輯電路操作之獨有裝置。亦可以使用諸如本文中描述之一方法及/或已設備產生之通過一媒體電傳輸或光學傳輸之信號值之一位元串流或其他序列、一磁性記錄媒體中之磁
場變動來實施所描述之實施例。
應瞭解,本文中闡述之例示性方法之步驟不必需要依所描述之順序執行,且此等方法之步驟之順序應理解為僅係例示性的。同樣地,額外步驟可包含於此等方法中,且可以與各項實施例一致之方法省略或組合某些步驟。
進一步將瞭解,在不脫離以下申請專利範圍之情況下,熟習此項技術者可對已描述及圖解說明之部分之細節、材料及配置進行各種改變以便說明所描述之實施例之性質。
800‧‧‧LDPC解碼程序
802‧‧‧步驟
804‧‧‧步驟
806‧‧‧步驟
807‧‧‧虛線
808‧‧‧選用步驟/選用抑制步驟
810‧‧‧步驟
812‧‧‧步驟
814‧‧‧步驟
816‧‧‧步驟
818‧‧‧步驟
820‧‧‧步驟
822‧‧‧步驟
824‧‧‧步驟
Claims (10)
- 一種藉由一控制器自一儲存媒體及一通信通道之至少一者讀取資料之方法,該方法包括:針對該讀取資料之一縮短碼字之各位元判定一值,其中該縮短碼字包括一全碼字之複數個非縮短位元,該全碼字包括該複數個非縮短位元及一或多個縮短位元,該等縮短位元對應於該縮短碼字中未使用之位元;將針對該縮短碼字之各位元判定之該等值轉換成一第一對數相似比(LLR)值集合;使用該縮短碼字之該第一LLR值集合解碼該全碼字;抑制該第一LLR值集合之一或多個LLR值以產生一第二LLR值集合,該一或多個LLR值對應於該碼字之非縮短位元;及解碼該第二LLR值集合。
- 如請求項1之方法,其中僅在該第一LLR值集合之該解碼未成功復原對應於該縮短碼字之資料之條件下執行抑制一或多個LLR值之該步驟。
- 如請求項1之方法,其中抑制一或多個LLR值之該步驟包括以下之一者:將對應於該縮短碼字之縮短位元之一或多個LLR值設定至一相關聯最大LLR量值;降低該第一LLR值集合之該等LLR值之一或多者之一量值達一預定量;及按一預定縮放因數按比例調整該第一LLR值集合之該等LLR值之一或多者之一量值。
- 如請求項1之方法,其進一步包括: 在解碼該縮短碼字之該第一LLR值集合之前抑制該第一LLR值集合之一或多個LLR值。
- 如請求項1之方法,其進一步包括:若該解碼未成功自該第二LLR值集合復原對應於該縮短碼字之資料,則:抑制該第二LLR值集合之一或多個LLR值以產生一第三LLR值集合,該一或多個LLR值對應於該碼字之非縮短位元;及解碼該第三LLR值集合。
- 如請求項5之方法,其中:藉由降低該第一LLR值集合之該等LLR值之一或多者之一量值達一第一預定量而執行該第一LLR值集合之該抑制;及藉由降低該第二LLR值集合之該等LLR值之一或多者之該量值達一第二預定量而執行該第二LLR值集合之該抑制。
- 如請求項5之方法,其中:藉由按一第一縮放因數按比例調整該第一LLR值集合之該等LLR值之一或多者之一量值而執行該第一LLR值集合之該抑制;及藉由按一第二縮放因數按比例調整該第二LLR值集合之該等LLR值之一或多者之該量值而執行該第二LLR值集合之該抑制。
- 如請求項1之方法,其中該等經判定值係二進位資料或一類比電壓位準之至少一者,且其中採用一第一臨限位準而執行將針對該縮短碼字之各位元判定之該等值轉換成一第一對數相似比(LLR)值集合之該步驟,該方法進一步包括:若到達抑制操作之一臨限數目,則:判定是否到達該控制器之一讀取再試極限;若未到達該讀取再試極限,則: 自該儲存媒體重讀該縮短碼字之各位元之值;採用一或多個後續臨限位準將針對該縮短碼字之各位元判定之該等值轉換成一後續對數相似比(LLR)值集合;採用該後續LLR值集合再執行抑制及解碼之該等步驟。
- 如請求項8之方法,其進一步包括:若到達該讀取再試極限,則:對該LLR值集合執行進一步資料復原。
- 如請求項9之方法,其中:解碼之該步驟係低密度奇偶性校驗(LDPC)解碼;及該進一步資料復原係以下之至少一者:數位信號處理(DSP)及獨立磁碟冗餘陣列(RAID)資料復原。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/934,999 US9337865B2 (en) | 2012-05-04 | 2013-07-03 | Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders |
US13/934,999 | 2013-07-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201503604A true TW201503604A (zh) | 2015-01-16 |
TWI619353B TWI619353B (zh) | 2018-03-21 |
Family
ID=51167664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103102358A TWI619353B (zh) | 2013-07-03 | 2014-01-22 | 在低密度奇偶性校驗(ldpc)解碼器中之對數相似比(llr)抑制 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2822184B1 (zh) |
JP (1) | JP6367607B2 (zh) |
KR (1) | KR102155795B1 (zh) |
CN (1) | CN104283570B (zh) |
TW (1) | TWI619353B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI663603B (zh) * | 2015-03-09 | 2019-06-21 | 韓商愛思開海力士有限公司 | 控制器、半導體記憶體系統及其操作方法 |
TWI742021B (zh) * | 2015-12-28 | 2021-10-11 | 美商英特爾股份有限公司 | 用於多位元錯誤偵測和校正之裝置和方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9818488B2 (en) * | 2015-10-30 | 2017-11-14 | Seagate Technology Llc | Read threshold voltage adaptation using bit error rates based on decoded data |
US9727416B2 (en) * | 2015-07-01 | 2017-08-08 | Xilinx, Inc. | Variable code rate solid-state drive |
JP2018045387A (ja) | 2016-09-13 | 2018-03-22 | 東芝メモリ株式会社 | メモリシステム |
US10222996B2 (en) | 2017-02-07 | 2019-03-05 | Western Digital Technologies, Inc. | Read operation and soft decoding timing |
US10269422B2 (en) * | 2017-09-08 | 2019-04-23 | Cnex Labs, Inc. | Storage system with data reliability mechanism and method of operation thereof |
KR102543059B1 (ko) | 2017-11-22 | 2023-06-14 | 삼성전자주식회사 | 저밀도 패리티 체크 코드의 디코딩 방법, 이를 수행하는 디코더 및 시스템 |
US10884858B2 (en) * | 2018-03-16 | 2021-01-05 | SK Hynix Inc. | LDPC decoding device, memory system including the same and method thereof |
CN108683423B (zh) * | 2018-05-16 | 2022-04-19 | 广东工业大学 | 一种多级闪存信道下的ldpc码动态串行调度译码算法及装置 |
US20190379399A1 (en) * | 2018-06-08 | 2019-12-12 | Goke Us Research Laboratory | Log-likelihood-ratio (llr) generation algorithm for low-density-parity-check (ldpc) codes used in flash memory |
US10715182B2 (en) * | 2018-07-27 | 2020-07-14 | Innogrit Technologies Co., Ltd. | Systems and methods for decoding error correcting codes with self-generated LLR |
KR20200019046A (ko) * | 2018-08-13 | 2020-02-21 | 에스케이하이닉스 주식회사 | 에러 정정 회로 및 이의 동작 방법 |
US10778248B1 (en) * | 2020-01-30 | 2020-09-15 | TenaFe, Inc. | Low-density parity-check decoding with de-saturation |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702986B2 (en) * | 2002-11-18 | 2010-04-20 | Qualcomm Incorporated | Rate-compatible LDPC codes |
JP2006238127A (ja) * | 2005-02-25 | 2006-09-07 | Sony Corp | 復号装置および方法、並びにプログラム |
TW200803341A (en) * | 2006-03-14 | 2008-01-01 | Qualcomm Inc | Log-likelihood ratio (LLR) computation using piecewise linear approximation of llr functions |
US8873671B2 (en) * | 2008-03-26 | 2014-10-28 | Qualcomm Incorporated | Method and system for LLR buffer reduction in a wireless communication modem |
US8239734B1 (en) * | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
EP2482464B1 (en) * | 2009-09-25 | 2019-01-23 | Panasonic Intellectual Property Corporation of America | Encoding apparatus, decoding apparatus, encoding method, decoding method, and communication system |
US8677218B2 (en) * | 2010-01-27 | 2014-03-18 | Sk Hynix Memory Solutions Inc. | LDPC decoding with on the fly error recovery |
US8458555B2 (en) * | 2010-06-30 | 2013-06-04 | Lsi Corporation | Breaking trapping sets using targeted bit adjustment |
KR20130012550A (ko) * | 2011-07-25 | 2013-02-04 | 한양대학교 산학협력단 | Ldpc 부호화 및 복호화 방법 및 그 방법을 사용하는 장치 |
-
2014
- 2014-01-22 TW TW103102358A patent/TWI619353B/zh not_active IP Right Cessation
- 2014-02-18 CN CN201410054740.3A patent/CN104283570B/zh not_active Expired - Fee Related
- 2014-03-06 KR KR1020140026669A patent/KR102155795B1/ko active IP Right Grant
- 2014-05-19 JP JP2014103075A patent/JP6367607B2/ja not_active Expired - Fee Related
- 2014-07-03 EP EP14175629.6A patent/EP2822184B1/en not_active Not-in-force
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI663603B (zh) * | 2015-03-09 | 2019-06-21 | 韓商愛思開海力士有限公司 | 控制器、半導體記憶體系統及其操作方法 |
TWI742021B (zh) * | 2015-12-28 | 2021-10-11 | 美商英特爾股份有限公司 | 用於多位元錯誤偵測和校正之裝置和方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2015015701A (ja) | 2015-01-22 |
KR20150004732A (ko) | 2015-01-13 |
CN104283570B (zh) | 2020-05-19 |
EP2822184A9 (en) | 2015-06-10 |
EP2822184A1 (en) | 2015-01-07 |
TWI619353B (zh) | 2018-03-21 |
KR102155795B1 (ko) | 2020-09-14 |
CN104283570A (zh) | 2015-01-14 |
EP2822184B1 (en) | 2017-03-15 |
JP6367607B2 (ja) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI619353B (zh) | 在低密度奇偶性校驗(ldpc)解碼器中之對數相似比(llr)抑制 | |
US9337865B2 (en) | Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders | |
US8938659B2 (en) | Low-density parity-check decoder disparity preprocessing | |
US9319073B2 (en) | Mitigation of write errors in multi-level cell flash memory through adaptive error correction code decoding | |
US9454414B2 (en) | System and method for accumulating soft information in LDPC decoding | |
US9590656B2 (en) | System and method for higher quality log likelihood ratios in LDPC decoding | |
KR101645906B1 (ko) | 계층적 반복 에러 교정을 위한 종료 기준 | |
US9529666B2 (en) | Decoding method, memory storage device and memory controlling circuit unit | |
US10417087B2 (en) | System and method for adaptive multiple read of NAND flash | |
US10067824B2 (en) | Error processing method, memory storage device and memory controlling circuit unit | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
US10389389B2 (en) | Method and data storage device using convolutional low-density parity-check coding with a long page write and a short page read granularity | |
US10108490B1 (en) | Decoding method, memory storage device and memory control circuit unit | |
US9553612B2 (en) | Decoding based on randomized hard decisions | |
US10075191B2 (en) | Method for decoding bits-by varying LLR values in a solid-state drive, and solid-state drive implementing the method | |
TW202009943A (zh) | 記憶體管理方法以及儲存控制器 | |
US11567828B2 (en) | Asymmetric LLR generation using assist-read | |
CN113496752B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN110795268B (zh) | 比特判断方法、存储器控制电路单元以及存储器存储装置 | |
US10628259B2 (en) | Bit determining method, memory control circuit unit and memory storage device | |
CN113138947B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |