TWI484497B - 增強型多階記憶體及其操作方法,以及電腦系統 - Google Patents
增強型多階記憶體及其操作方法,以及電腦系統 Download PDFInfo
- Publication number
- TWI484497B TWI484497B TW100117641A TW100117641A TWI484497B TW I484497 B TWI484497 B TW I484497B TW 100117641 A TW100117641 A TW 100117641A TW 100117641 A TW100117641 A TW 100117641A TW I484497 B TWI484497 B TW I484497B
- Authority
- TW
- Taiwan
- Prior art keywords
- states
- stylized
- memory
- memory cells
- unit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5644—Multilevel memory comprising counting devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Error Detection And Correction (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
本發明中所揭示之標的物係關於半導體記憶體,且更特定而言係關於多階非揮發性記憶體。
記憶體裝置用於許多類型之電子裝置中,例如電腦、蜂巢電話、PDA、資訊登入器及導航設備,此處僅列舉幾項實例。在此類電子裝置當中,可採用各種類型之非揮發性記憶體裝置,例如NAND或NOR快閃記憶體、SRAM、DRAM及相變記憶體,此處僅列舉幾項實例。一般而言,可使用寫入或程式化過程將資訊儲存於此類記憶體裝置中,而可使用一讀取過程來擷取所儲存之資訊。
舉例而言,一可程式化記憶體之儲存密度可藉由按比例縮小記憶體單元之實體大小以減少其空間佔用並允許在整合有該記憶體之一晶粒上之同一矽區域上形成較大數目個記憶體單元來增加。另一種提升儲存密度之方式可涉及採用一所謂之「多階」程式化方案,其中記憶體單元可能夠儲存一個以上資訊位元。特定而言,藉由採用此一多階程式化方案,可將一記憶體單元程式化為若干不同程式化狀態中之任何一者,每一狀態與一對應邏輯值相關聯。一記憶體單元之一程式化狀態可由該記憶體單元中所包含之一電晶體之一臨限電壓值來界定。舉例而言,對於經調適以儲存兩個位元之一記憶體單元,該記憶體單元之臨限電壓值可採取四個不同值中之一者。在一特定實例中,此一所儲存位元對之邏輯值可對應於二進制序列「11」、「10」、「01」、「00」,其對應於增加之臨限電壓值。此處,邏輯值「11」可與具有最低臨限電壓值之狀態(經擦除狀態)相關聯,且其他狀態可依序與具有增加之臨限電壓值之狀態相關聯。然而,由於此一記憶體可固有之實質上不可避免之容限,替代被準確地程式化至四個所期望值中之一者,經程式化記憶體單元之臨限電壓可分佈在四個各別程式化分佈(亦稱為「群體」)當中。因此,舉例而言,每一程式化狀態可能不與一單個臨限電壓相關聯,而是可與一各別臨限電壓範圍相關聯,該臨限電壓範圍又由一各別程式化分佈來界定。
在一實施例中,一記憶體裝置之儲存密度可藉由併入能夠儲存兩個以上程式化狀態以表示一個資訊位元之多階記憶體單元來增加。在選擇一個別多階記憶體單元可被程式化至之若干不同程式化狀態之前,一記憶體裝置之一設計者可考量數個因素,包含記憶體裝置之一供應電壓之值及該記憶體裝置可固有之容限參數。舉例而言,一供應電壓之值可界定一程式化分佈集合所橫跨之電壓範圍之一上部位準,且每一程式化分佈之一寬度可與記憶體裝置固有之容限參數有關。在一實施例中,進一步增加儲存密度之一方法可涉及藉由根據一捲積碼來編碼資訊以提供符號並將此等符號儲存於一或多個多階記憶體單元中來儲存該資訊。擷取此所儲存資訊可包括對此等所儲存符號應用所謂之「軟決策」及捲積解碼。在另一實施例中,增加儲存密度之一方法可涉及在將資訊儲存於一記憶體裝置之記憶體單元中之前使用一錯誤校正碼(ECC)來處理資訊。以此方式,藉由使用一軟決策方法來讀取記憶體單元之內容,即使程式化分佈之數目相對高而足以導致毗鄰程式化分佈當中之部分重疊亦可減少錯誤讀取之概率,如下文所闡述。
在一實施例中,一記憶體裝置可包括複數個記憶體單元,該複數個記憶體單元具有設定為一有序程式化分佈序列當中之一個程式化分佈之一臨限電壓值。此一記憶體裝置可接收欲儲存於一目標記憶體單元集合中之第一輸入資訊。該第一輸入資訊可包含第一數目個位元以將該第一輸入資訊編碼成對應第二輸入資訊。該第二輸入資訊可包含比第一數目個位元高之一第二數目個位元。可根據第二輸入資訊程式化一記憶體裝置以將一目標記憶體單元集合之臨限電壓設定為該序列之一選定程式化分佈集合。該序列之程式化分佈可被配置成若干子集,其中一子集可包含不需要係該序列中之連序程式化分佈之複數個程式化分佈。該第二輸入資訊可包含一子集資訊部分以識別該程式化分佈集合所屬之子集,如下文詳細地闡述。
已參考以下各圖闡述了非限制性及非窮盡性實施例,其中除非另外說明,否則所有各圖中相似參考編號指代相似部件。
本說明書通篇中所提及之「一項實施例」或「一實施例」意指結合該實施例闡述之一特定特徵、結構或特性包含在所主張標的物之至少一項實施例中。因此,在本說明書通篇中之各個地方出現之短語「在一項實施例中」或「一實施例」未必全部指代相同實施例。此外,可將特定特徵、結構或特性組合在一或多項實施例中。
圖1係根據一實施例之一記憶體100之一示意性方塊圖。特定而言,一非揮發性半導體記憶體100可包括(舉例而言)一電可程式化非揮發性快閃記憶體。舉例而言,記憶體100可整合於一半導體材料晶片(圖中未展示)中且可包含配置成複數個列及行之用以儲存資訊之記憶體單元110之一矩陣105。在一項實施方案中,記憶體單元110可包括具有一電荷儲存元件(例如欲由電子充電之一導電浮動閘極)之一N通道MOS電晶體,但所主張標的物在此方面不受限制。
記憶體100可包括一多階記憶體。在一經擦除條件中,一記憶體單元110可具有一低臨限電壓值。可藉由將特定量之電荷置於記憶體單元110之一浮動閘極中而將記憶體單元110程式化為若干狀態中之任何一者。此等狀態之特徵可在於由與前一狀態之浮動閘極電荷量相比一增加之浮動閘極電荷量產生之一增加之臨限電壓值。在一特定實施例中,記憶體100可包括一NAND架構,其中矩陣105可包含若干群組,例如彼此串聯連接以形成各別記憶體單元串之八個、十六個或十六個以上記憶體單元110之群組。屬於同一矩陣行之不同記憶體單元串可彼此並聯連接至一各別位元線BL 112,但所主張標的物並不受如此限制。
記憶體100可接收一位址碼ADR以選擇一所期望記憶體單元110或記憶體單元110群組。位址碼ADR可提供至一讀取-程式化單元115,舉例而言,讀取-程式化單元115可包含選擇器電路及讀取與程式化電路,例如頁緩衝器電路(未展示)。舉例而言,此等選擇器電路可選擇經定址記憶體單元110而讀取與程式化電路可執行可對記憶體單元110執行之讀取與程式化操作。
在記憶體100中,資訊可在被儲存於記憶體單元110中之前經編碼。出於此目的,根據一實施例,記憶體100可包含一編碼-解碼單元120以對欲儲存於記憶體單元110中之輸入信號DIN執行編碼操作且對自記憶體單元110讀取之輸出經編碼信號DCOUT執行解碼操作。更特定而言,編碼-解碼單元120可包含一編碼單元130以自I/O緩衝器140接收輸入信號DIN,I/O緩衝器140又可與記憶體100之I/O端子150相關聯。在一項實施方案中,編碼-解碼單元120可對輸入信號DIN執行編碼操作且將對應之輸入經編碼信號DCIN提供至讀取與程式化單元115。至少部分地基於位址碼ADR,可接著將輸入經編碼信號DCIN儲存於矩陣105之對應記憶體單元110中。編碼-解碼單元120可進一步包含一解碼單元160以自讀取與程式化單元115接收自經定址記憶體單元110讀取之輸出經編碼信號DCOUT、對其執行解碼操作及/或將對應之(經解碼)輸出信號DOUT提供至I/O緩衝器140。
在一實施例中,一種系統可包括例如記憶體100之一記憶體裝置。在一特定實施方案中,一記憶體裝置可包括:一記憶體陣列,其用以跨越一或多個多階記憶體單元儲存表示資訊之信號;及一控制器,其用以應用一軟決策及捲積編碼至該記憶體陣列以判定該資訊之一值。此一系統可進一步包括:一記憶體裝置控制器,其用以操作該記憶體裝置;及一處理器,其用以裝載一或多個應用程式並起始寫入及/或讀取命令至該記憶體裝置控制器以提供對該記憶體陣列之存取。當然,一記憶體裝置之此等細節僅為實例,且所主張標的物並不受如此限制。
圖2A係根據一實施例之編碼單元130之一方塊圖。在一特定實例中,記憶體單元110可經程式化以每一者儲存三個資訊位元。當然,在其他實施方案中可儲存其他數目個位元。本文中,實例可闡述涉及特定數目、值等等之特定實施方案。然而,此等特定性僅意欲用於說明性目的,且所主張標的物並不受如此限制。欲儲存於一經定址記憶體單元110中之輸入信號DIN可由三個位元a1(k)、a2(k)、a3(k)之一串表示,其中「k」係包括一整數之一指標。在記憶體100之每一第k個操作循環(舉例而言,其可由一時脈信號(圖5B)界定)處,可將一新串位元a1(k)、a2(k)、a3(k)提供至編碼單元130以進行編碼。欲在一特定記憶體存取期間(例如,在一特定第k個操作循環期間)程式化之記憶體單元110之數目可大於1。然而,為簡單起見,目前所闡述之實施方案涉及可在一個操作循環中存取之一單個記憶體單元110。
編碼單元130可編碼包括三位元串之輸入信號DIN以獲得輸入經編碼信號DCIN。根據一實施例,編碼單元130可包括利用一線性編碼過程來添加冗餘至輸入信號DIN之一捲積編碼器。在一項實施方案中,此一線性編碼過程可包括一維特比過程,但所主張標的物並不受如此限制。由編碼單元130引入之冗餘可涉及一個位元以便可將形成輸入信號DIN之每一三位元串a1(k)、a2(k)、a3(k)編碼成形成輸入經編碼信號DCIN之一對應四位元符號b1(k)、b2(k)、b3(k)、b4(k)。可接著將此四位元符號b1(k)、b2(k)、b3(k)、b4(k)提供至讀取-程式化單元115以儲存於由位址碼ADR(舉例而言)定址之記憶體單元110中。如下文將更詳細地闡述,舉例而言,可將每一記憶體單元110程式化為24
=16個不同狀態。同樣,此等實例僅意欲用於說明性目的,且所主張標的物並不受如此限制。編碼單元130可包含包括(舉例而言)一有限狀態機之一線性組合器單元205,以自位元a3(k)產生位元b3(k)及b4(k)。另一方面,位元b1(k)可與位元a1(k)一致,且位元b2(k)可與位元a2(k)一致。舉例而言,在每一第k個操作循環處,可至少部分地基於在一特定操作循環期間提供至線性組合器單元205之一信號(例如,位元a3(k))且至少部分地基於線性組合器單元205(為一有限狀態機)之內部狀態(其又可取決於在前面操作循環(本文中由記號第(k-1)個表示)期間提供至線性組合器單元205之資訊所採取之值)來計算位元b3(k)及b4(k)。當然,一編碼單元之此等細節僅為實例,且所主張標的物並不受如此限制。
圖2B係根據一實施例之線性組合器205之一方塊圖。線性組合器205可包含三個延遲元件210、215、220及/或二進制加法器225。每一此延遲元件可在記憶體100之一操作循環期間接收一位元並記憶該位元之值。以此方式,在記憶體100之每一第k個操作循環處,延遲元件可提供表示在先前第(k-1)個操作循環處接收之一值之一輸出信號。舉例而言,延遲元件210可接收並儲存位元a3(k)。延遲元件210可包含連接至延遲元件215之一輸入端子之一輸出端子(電路節點B)。延遲元件215可包含連接至延遲元件220之一輸入端子之一輸出端子(電路節點C),延遲元件220又可具有連接至二進制加法器225之一第一輸入端子之一輸出端子(電路節點D)。二進制加法器225可包含連接至節點B之一第二輸入端子及用以接收位元a3(k)之一第三輸入端子。線性組合器205可包含連接至節點C以用於提供位元b3(k)之一第一輸出端子及連接至二進制加法器225之一輸出端子以用於提供位元b4(k)之一第二輸出端子。當然,一線性組合器之此等細節僅為實例,且所主張標的物並不受如此限制。
在一實施方案中,由編碼單元130執行之一編碼操作可涉及可由線性組合器205界定之一特定ECC。圖2C展示根據一實施例之一格子圖230,其可表示由線性組合器205產生之一碼結構。特定而言,格子圖230可繪示線性組合器205之至少部分地取決於在其輸入處接收之位元a3(k)之值的一演進內部狀態。
線性組合器205之內部狀態集合可由電路節點B、C、D所採取之值界定且因此,舉例而言,可包含23
=8個不同內部狀態。在格子圖230中,該等內部狀態可以參考Si
(k)、Si
(k+1)來識別,其中i=0、1、...、7。特定而言,參考Si
(k)可對應於線性組合器205在記憶體100之一泛用第k個操作循環處所採取之內部狀態,而參考Si
(k+1)可對應於在後續第(k+1)個操作循環處所採取之內部狀態。當然,此格子圖僅為一實例,且所主張標的物在這方面不受限制。
格子圖230展示至少部分地基於位元a3(k)之值而在線性組合器205之「目前」內部狀態Si
(k)與「將來」內部狀態Si
(k+1)之間發生之可容許轉變。更特定而言,一目前內部狀態Si
(k)可轉變為兩個不同之將來內部狀態Sj
(k+1)或Sl
(k+1)。舉例而言,若位元a3(k)等於「0」,則格子圖230展示內部狀態Si
(k)可經由一轉變箭頭tij
(以一實線繪示)轉變為一對應內部狀態Sj
(k+1)。另一方面,若位元a3(k)等於「1」,則內部狀態Si
(k)可經由另一轉變箭頭t'il
(以一虛線繪示)轉變為一對應內部狀態Sl
(k+1)。該等容許轉變(例如,由轉變箭頭tij
、t'il
指示)可界定一碼結構。容許轉變又可由線性組合器205之結構界定。舉例而言,若藉由修改一延遲元件及/或二進制加法器之間之一連接而改變線性組合器205之結構,則格子圖230中之容許轉變及/或對應碼結構可相應地改變。
為了儲存由編碼單元130使用格子圖230所界定之一碼而產生之四位元符號b1(k)、b2(k)、b3(k)、b4(k),可將一經定址記憶體單元110程式化為對應於各別十六個程式化分佈D0、D1、...D15之十六個不同狀態當中之對應一者。圖3中圖解說明十六個程式化分佈D0、D1、...D15,其可至少部分地基於位元b1(k)、b2(k)、b3(k)、b4(k)所採取之值。此等程式化分佈D0、D1、...D15可由於其各別寬度而彼此重疊且可至少部分地取決於記憶體100固有之容限。在此方面,在圖3中程式化分佈D0、D1、...D15可能未按比例繪製。
根據一實施例,位元b1(k)、b2(k)、b3(k)、b4(k)與各種程式化分佈D0、D1、...D15之間之一關聯性可涉及子集分割,如下。舉例而言,可將十六個程式化分佈D0、D1、...D15分割成四個不同子集B0、B1、B2、B3,每一子集包含四個程式化分佈。該等子集可由位元b3(k)、b4(k)之對應值來識別。舉例而言,子集B0可對應於b3(k)=0、b4(k)=0且可包含程式化分佈D0、D4、D8、D12;子集B1可對應於b3(k)=0、b4(k)=1且可包含程式化分佈D1、D5、D9、D13;子集B2可對應於b3(k)=1、b4(k)=0且可包含程式化分佈D2、D6、D10、D14;子集B3可對應於b3(k)=1、b4(k)=1且可包含程式化分佈D3、D7、D11、D15。
在一子集B0、B1、B2、B3內,可至少部分地基於位元b1(k)、b2(k)來區別四個程式化分佈。舉例而言,子集D0、D1、D2、D3之第一程式化分佈可對應於b1(k)=0、b2(k)=0,第二分佈D4、D5、D6、D7可對應於b1(k)=1、b2(k)=0,第三分佈D8、D9、D10、D11可對應於b1(k)=0、b2(k)=1,且第四分佈D12、D13、D14、D15可對應於b1(k)=1、b2(k)=1。此外,在一子集B0、B1、B2、B3內,毗鄰程式化分佈之間之一距離可以使得避免相同子集之程式化分佈之間之重疊之一方式增加。
已建立連結位元b3(k)及b4(k)與四個子集B0、B1、B2、B3之關聯性且使用圖2C之格子圖230檢驗線性組合器205之內部狀態Si
(k)之轉變,可針對一特定轉變判定選擇哪一子集。舉例而言,若線性組合器205處於狀態S0
(k)中且若在第k個操作循環處接收之位元a3(k)之值等於「0」,則內部狀態可轉變為S0
(k+1),且位元b3(k)、b4(k)可分別採取值「0」、「0」。舉例而言,一內部狀態可經由轉變箭頭t00轉變。此一對值可對應於子集B0。若替代地位元a3(k)之值等於「1」,則一選定子集可包括B2,乃因內部狀態可經由轉變箭頭t'01轉變為S4
(k+1),且位元b3(k)、b4(k)可分別採取值「1」、「0」。當然,一記憶體裝置之此等細節僅為實例,且所主張標的物並不受如此限制。
圖4係根據另一實施例之一格子圖。在一特定實例中,可將十二個資訊位元之一序列儲存於四個記憶體單元110中。此一序列可包括在四個連序操作循環期間接收之輸入信號DIN之四個部分。特定而言,在循環「k」處,輸入信號DIN可對應於串a1(k)=0、a2(k)=1、a3(k)=0;在循環「k+1」處,輸入信號DIN可對應於串a1(k+1)=0、a2(k+1)=1、a3(k+1)=1;在循環「k+2」處,輸入信號DIN可對應於串a1(k+2)=1、a2(k+2)=0、a3(k+2)=1;且在循環「k+3」處,輸入信號DIN可對應於串a1(k+3)=0、a2(k+3)=0、a3(k+3)=0。線性組合器205之初始內部狀態可為S0
(k)。當然,此一格子圖僅為一實例,且所主張標的物並不受如此限制。
在第k個操作循環處,可將串a1(k)=0、a2(k)=1、a3(k)=0提供至編碼單元130。如對應格子圖405可展示,在後面的第(k+1)個操作循環處,線性組合器205可遵循轉變箭頭t00而維持相同內部狀態S0
(k+1)。舉例而言,由編碼單元130產生以儲存於第一記憶體單元110中之對應四位元符號可為b1(k)=0、b2(k)=1、b3(k)=0、b4(k)=0,其可對應於屬於子集B0之分佈D8。
在第(k+1)個操作循環處,可將串a1(k+1)=0、a2(k+1)=1、a3(k+1)=1提供至編碼單元130。如對應格子圖410可展示,線性組合器205可經由轉變箭頭t'01切換至內部狀態S4
(k+2)。因此,由編碼單元130產生以儲存於第二記憶體單元110中之對應四位元符號可為b1(k+1)=0、b2(k+1)=1、b3(k+1)=1、b4(k+1)=0,其可對應於屬於子集B2之分佈D10。
在第(k+2)個操作循環處,若將串a1(k+2)=1、a2(k+2)=0、a3(k+2)=1提供至編碼單元130,則組合器單元205可經由轉變箭頭t'46自內部狀態S4
(k+2)切換至內部狀態S6
(k+3)(參見格子圖415)。因此,由編碼單元130產生以儲存於第三記憶體單元110中之對應四位元符號可為b1(k+2)=1、b2(k+2)=0、b3(k+2)=0、b4(k+2)=0,其可對應於屬於子集B0之分佈D4。
最終,在第(k+3)個操作循環處,若將串a1(k+3)=0、a2(k+3)=0、a3(k+3)=0提供至編碼單元130,則組合器單元205可經由轉變箭頭t63自內部狀態S6
(k+3)切換至內部狀態S3
(k+4)(參見格子圖420)。因此,由編碼單元130產生以儲存於第四記憶體單元110中之對應四位元符號可為b1(k+3)=0、b2(k+3)=0、b3(k+3)=1、b4(k+3)=1,其可對應於屬於子集B3之分佈D3。
因此,由編碼單元130執行之編碼可使用一捲積碼以使得每一符號可由編碼單元130經由可考量到在前面操作循環處接收之輸入信號DIN之過去歷史之一編碼路徑而產生。舉例而言,參考先前實例,可能已根據編碼路徑S0
(k)-S0
(k+1)-S4
(k+2)-S6
(k+3)-S3
(k+4)編碼了輸入信號DIN序列。可能已自內部狀態S6
(k+3)開始計算了四位元符號b1(k+3)、b2(k+3)、b3(k+3)、b4(k+3),而內部狀態S6
(k+3)又可能是在自內部狀態S0
(k)開始之三個操作循環之後達到的。舉例而言,若在三個前面操作循環期間接收之輸入信號DIN序列不同,則編碼路徑可不同且因此,組合器單元205之內部狀態亦可不同於S6
(k+3)。
在一實施例中,可使用一軟決策系統在由讀取-程式化單元115感測之輸出經編碼信號DCOUT(圖1)上擷取儲存於一經定址記憶體單元110群組中之資訊位元。更特定而言,由讀取-程式化單元115提供之輸出經編碼信號DCOUT可包括指示經定址記憶體單元110之臨限電壓之一數位數序列(舉例而言)。為了使用一軟決策系統以一充足程度之可靠性(例如,以一低錯誤概率)擷取所儲存之資訊位元,由讀取-程式化單元115感測之臨限電壓之值可具有一相對高解析度以產生相對高準確度。
舉例而言,可根據一電壓斜升讀取方案來感測一經定址記憶體單元110之一臨限電壓,其中可將一增加之線性電壓斜升施加至經定址記憶體單元之一閘極端子且一電路可量測該記憶體單元接通所花費之時間。在一項實施方案中,舉例而言,感測記憶體單元110之臨限電壓之一值可使用圖5中所展示之一感測電路500。感測電路500可構成讀取-程式化單元115之一部分。感測電路500可包含一電壓比較器505,其具有用於接收指示對應於一經定址記憶體單元110之位元線BL之電壓之一位元線電壓Vb1
之一第一輸入端子。電壓比較器505亦可包含耦合至一參考產生器區塊510以用於接收一參考電壓Vref之一第二輸入端子及用於在位元線電壓Vb1
之值變為低於參考電壓VREF之情況下將一觸發信號TRIG提供至一計數器電路515之一輸出端子。根據一實施例,舉例而言,計數器電路515可產生自值「000000」開始且以值「111111」結束(舉例而言)之六位元序列。計數器電路515可接收一時脈信號CK,其界定更新該序列之值之頻率。可由一控制區塊520藉由一重設信號RESET、一開始信號START及一停止信號STOP來管理計數器電路515之操作。特定而言,例如,由計數器電路515產生之序列可回應於確證開始信號START而開始、回應於確證停止信號STOP而停止且可回應於確證重設信號RESET而重設(舉例而言,重設為值「000000」)。此外,亦可將由電壓比較器505產生之觸發信號TRIG提供至控制區塊520。當然,一感測電路之此等細節僅為實例,且所主張標的物並不受如此限制。
控制區塊520亦可自計數器電路515接收可在由計數器電路515產生之一序列已執行一完整循環(例如,達到值「111111」)之情況下確證之一溢位信號OFL。控制區塊520亦可耦合至一讀取電壓產生器525,讀取電壓產生器525可產生欲提供至經定址記憶體單元110之閘極端子之一讀取電壓Vrd
。如下文將更詳細地闡述,讀取電壓Vrd
可採取不同值,此取決於欲執行之操作。舉例而言,感測電路500可進一步包含一暫存器530以至少暫時儲存8個位元。舉例而言,暫存器530之一第一區段535可儲存由計數器電路515產生之6個位元,且暫存器530之一第二區段540可儲存由控制區塊520產生之一2位元串RN。六輸入NOR閘545可以使得在其輸入端子處接收儲存於第一區段535中之六個位元之一方式耦合至暫存器530。NOR閘545之一輸出端子可連接至控制區塊520以將一信號NO DATA提供至控制區塊520。
圖5B係根據一實施例之感測電路500之一時序圖550。舉例而言,此一時序圖550可圖解說明在用於感測一經定址記憶體單元110之臨限電壓之操作期間所涉及之信號之一進程。由感測電路500執行之感測操作可實現高達四個或四個以上不同階段之執行,每一階段由串RN之一對應值識別。在一第一階段(RN=00)之開始,控制區塊520可確證重設信號RESET以重設計數器電路515,且暫存器530可在第一區段535中儲存串「000000」。舉例而言,此意味著可將信號NO DATA設定為一高值。同時,可藉由使用一預充電電路(未展示)使連接至包含經定址記憶體單元110之記憶體串之位元線BL之電壓達到一特定預充電電壓PV。此時,由讀取電壓產生器525產生之讀取電壓Vrd可被設定為一第一值,且開始信號START可由控制區塊520以使得開始計數器電路515所計數之序列之一方式確證。
藉助被偏壓至讀取電壓Vrd之經定址記憶體單元110之閘極端子,位元線BL可開始以至少部分地取決於記憶體單元110之臨限電壓之一放電速率放電。更特定而言,若已將記憶體單元110程式化至對應於一相對高臨限電壓之一程式化分佈,則讀取電壓Vrd之值可不足以接通經定址記憶體單元110。在此一情況下,放電速率可特別低,此乃因位元線BL可由於因經定址記憶體單元110中存在經反向偏壓接面所致之大致不可避免之洩漏效應而放電。另一方面,舉例而言,若臨限電壓充分低,則讀取電壓Vrd
可足以接通(至少部分地)記憶體單元110,其中放電速率會對應增加。
計數器電路515可量測位元線BL放電所花費之時間。此量測可指示記憶體單元110之臨限電壓。更特定而言,例如,若位元線電壓Vb1
變為低於參考電壓VREF,則電壓比較器505可確證觸發信號TRIG。回應於觸發信號TRIG之確證,控制區塊520可確證停止信號STOP以暫停由計數器電路515產生之序列。可接著將該序列所採取之值暫時儲存於暫存器530之第一區段535中。儲存於暫存器530中之值可提供以一相對精確方式量化經定址記憶體單元110之臨限電壓之一機會。若該值不同於「000000」,則由NOR閘545產生之信號NO DATA可切換至一邏輯低值,從而用信號通知已正確地感測該臨限電壓。
舉例而言,若位元線BL之放電速率太低,則由計數器電路515產生之序列可在位元線電壓Vb1
已達到參考電壓VREF之前達到值「111111」。在此情況下,計數器電路515可確證溢位信號OFL且控制區塊520可確證停止信號STOP以暫停計數器電路115。此時,可起始一第二階段(RN=01),其中控制區塊520再次確證重設信號RESET以重設計數器電路515及返回至預充電電壓PV之位元線BL。感測電路500可再次執行先前所闡述之操作,但是以一增加之讀取電壓Vrd
值進行。同樣,舉例而言,若位元線BL之放電速率太低,則可使用隨後增加之讀取電壓Vrd
來執行一第三階段(RN=10)或甚至一第四階段(RN=11)。因此,由感測電路500執行之感測操作之結果可包括一數位串。在一特定實施方案中,此一串可包括儲存於一暫存器530中之八位元數位串,該數位串之一值可表示經定址記憶體單元110之臨限電壓。當然,此一串及上文所圖解說明之其他細節僅為實例,且所主張標的物並不受如此限制。
在圖5B中所圖解說明之實例中,位元線電壓Vb1
可僅在第四階段期間下降到低於參考電壓VREF,因此指示可對應於一相對高程式化分佈之一高臨限電壓。舉例而言,像儲存於暫存器530中之值之此一值可不足以判定記憶體單元110已被程式化至哪一程式化分佈。如上文參考圖3所闡述,十六個程式化分佈D0、D1、...D15可彼此重疊,且因此使用感測電路500感測之一特定臨限電壓值可屬於兩個不同毗鄰程式化分佈當中之一者。出於此目的,可執行更多操作,如下文將闡述。
若已正確地感測臨限電壓,則儲存於暫存器530中之一8位元數位串可表示欲提供至解碼單元160之輸出經編碼信號DCOUT。可能已根據由編碼單元130界定之一碼將一記憶體單元110程式化至一特定程式化分佈,且因此可解碼由8位元數位串給出之資訊(例如,所感測臨限電壓之值)以獲得(經解碼)輸出信號DOUT。如上文所闡述,感測電路500可使用一四步程序以(舉例而言)8個位元之一解析度感測經定址記憶體單元110之臨限電壓值。更特定而言,感測電路500可實行由2位元串RN識別之四個不同讀取,其中每一讀取具有6個位元之一解析度,但所主張標的物在這方面不受限制。可在再次使位元線BL達到預充電電壓PV之後發生四個讀取中之每一者。
舉例而言,感測一臨限電壓之不需要涉及每記憶體單元110一個以上位元線預充電之一替代方法可包含大致類似於先前所闡述之四個讀取操作中之一者但具有一經改良解析度(例如一8位元解析度)之一單個讀取操作。然而,在此情況下,感測可受一記憶體單元之一洩漏效應之干擾,因為執行此一單個讀取操作可涉及一較長時間,且因此,位元線BL之一放電速率可主要歸因於此一洩漏效應。
圖6係根據一實施例之解碼單元160之一示意性方塊圖。如先前所提及,解碼單元160可對輸出經編碼信號DCOUT執行解碼操作以獲得對應(經解碼)輸出信號DOUT。舉例而言,解碼單元160可包含一度量單元605以接收指示所感測臨限電壓之值之輸出經編碼信號DCOUT。解碼單元160可相應地產生四個對應度量值MR0、MR1、MR2、MR3,其可分別量化所感測臨限電壓屬於一程式化分佈(屬於子集B0、B1、B2、B3)之概率。舉例而言,對於記憶體單元110可採取之一臨限電壓之值(例如,對於輸出經編碼信號DCOUT之值),度量單元605可至少部分地基於程式化分佈D0、D1、...、D15之子集分割之一定義來計算度量值MR0、MR1、MR2、MR3。當然,一解碼單元之此等細節僅為實例,且所主張標的物並不受如此限制。
根據一實施例,為了闡述可如何由度量單元605計算各種度量值MR0、MR1、MR2、MR3,現在將結合圖3(其圖解說明可能已如何將程式化分佈D0、D1、...、D15分割成子集B0、B1、B2、B3)參考圖7A。圖7A針對每一子集Bi(i=0,1,2,3)展示一對應度量函數FBi,其趨勢可與臨限電壓對應於子集Bi之概率相關。舉例而言,FBi之趨勢可至少部分地取決於一記憶體單元110之臨限電壓。可考量到(舉例而言)程式化分佈之數目及程式化分佈被配置成子集之方式來建立度量函數FBi。根據一實施例,圖7A中所圖解說明之度量函數FBi可包括呈現對應於屬於子集Bi之每一程式化分佈之一中心峰值之最大值之一週期函數。此一週期函數可隨著臨限電壓值背離對應於峰值之值而降低。舉例而言,度量函數FB0可呈現對應於分佈D0、D4、D8及D12之中心峰值之四個臨限電壓值之最大值。因此,該四個臨限電壓值可係具有屬於子集B0之最高概率之臨限電壓值,乃因此等值可對應於形成子集B0自身之程式化分佈D0、D4、D8、D12之中心。此外,對於在距程式化分佈D0、D4、D8、D12之中心最大距離處之彼等臨限電壓值,度量函數FB0可等於零。舉例而言,對應於分佈D2之一峰值之一臨限電壓值可定位於距屬於子集B0之最近程式化分佈(例如,D0及D4)之峰值之最大距離處,且因此具有屬於包含於子集B0中之一程式化分佈之接近於零之概率。
根據一實施例,可使用例如圖7B中所展示之查詢表710之一查詢表來實施度量函數FB0、FB1、FB2、FB3。更特定而言,若已使用感測電路500產生了輸出經編碼信號DCOUT(例如,八個位元之一解析度,僅作為實例),則查詢表710可包含28
=256個列,每一列對應於臨限電壓之一各別值。查詢表710之每一列可包含與對應於該列之臨限電壓值有關之四個度量值MR0、MR1、MR2、MR3。舉例而言,根據一特定實施方案,四個度量值MR0、MR1、MR2、MR3可由四個對應6位元數位串表示。該四個6位元數位串之值可與度量函數FB0、FB1、FB2、FB3在包含於查詢表710之該列中之臨限電壓處所採取之值成比例。在查詢表710中,可能已使對應於分佈D0之一峰值之臨限電壓值對應於DCOUT=「8」。因此,包含於查詢表710之第八列中之度量值MR0可等於「111111」,從而指示臨限電壓值屬於子集B0(包括程式化分佈D0)之概率為最高值。舉例而言,查詢表710可儲存於一對應唯讀記憶體(ROM)中或四個不同ROM中,每一ROM專用於度量值MR0、MR1、MR2、MR3當中之各別一者。當然,像解析度之位元數目的此等細節僅為實例,且所主張標的物並不受如此限制。
現在將參考圖7C,其繪示根據一實施例由度量單元605回應於讀取-程式化單元115所產生之四個特定輸出經編碼信號DCOUT值而產生之度量值MR0、MR1、MR2、MR3。所接收之第一DCOUT值可包括值「135」。舉例而言,該值可對應於曾在圖4中所圖解說明之實例中被程式化之第一記憶體單元110所採取之臨限電壓值。因此,DCOUT=「135」可對應於定位於可屬於子集B0之程式化分佈D8之中心峰值附近之一臨限電壓。在此特定輸出經編碼信號DCOUT值之情況下,最高度量值可為MR0,其可等於「60」(為清晰起見,本文中以十進制表示度量值)。
所接收之第二DCOUT值可替代地具有值「157」。此值可(舉例而言)對應於已在圖4中所圖解說明之實例中被程式化之第二記憶體單元110所採取之臨限電壓值。因此,DCOUT=「157」可對應於定位於可屬於子集B1之程式化分佈D9與可屬於子集B2之程式化分佈D10之間之一中心值周圍之一臨限電壓。事實上,在此一特定DCOUT值之情況下,最高度量值(其可為MR2=「31」)可大致等於度量值MR1=「29」。
第三所接收DCOUT值可替代地包括值「84」。舉例而言,該值可對應於已在圖4中所圖解說明之實例中被程式化之第三記憶體單元110所採取之臨限電壓值。因此,DCOUT=「84」可對應於定位於大致接近可屬於子集B0之程式化分佈D4之中心峰值處但略朝向可屬於子集B1之程式化分佈D5移位之一臨限電壓。因此,最高度量值(其可包括MR0=「40」)可顯著高於第二最高度量值(其可包括MR1=「25」)。
最終,第四DCOUT值可具有值「61」。此值可(舉例而言)對應於已在圖4中所圖解說明之實例中被程式化之第四記憶體單元110所採取之臨限電壓值。因此,DCOUT=「61」可對應於定位於接近可屬於子集B3之程式化分佈D3之中心峰值處且略朝向可屬於子集B2之程式化分佈D2移位之一臨限電壓。因此,最高度量值(其可包括MR3=「48」)可顯著高於第二最高度量值(其可包括MR2=「20」)。因此,可判定第一記憶體單元已被程式化至屬於子集B0之一程式化分佈。類似地,第三記憶體單元可能已被程式化至屬於子集B0之一程式化分佈而第四記憶體單元可能已被程式化至屬於子集B3之一程式化分佈。然而,判定第二記憶體單元可能已被程式化至之子集可為相對困難的,此乃因子集B1及B2兩者可具有大約相同之概率。
在一實施例中,如下文更詳細地解釋,解碼單元160可擷取由編碼單元130編碼之資訊位元並接著將此資訊儲存於一群組n個記憶體單元110中。舉例而言,解碼單元160可藉由對根據自n個記憶體單元110讀取之DCOUT所計算之度量值執行軟決策解碼操作來擷取資訊位元。返回至圖6,度量單元605可耦合至相加-比較-選擇(ACS)單元610,其可累加自n個記憶體單元110讀取之DCOUT之度量值MR0、MR1、MR2、MR3。以此方式,可針對每一記憶體單元產生形成界定由編碼單元130實施之碼之一格子圖之一路徑度量值PMVi(k)集合,其中i=0至7(例如,狀態Si
(k)之編號)。此等路徑度量值可允許判定為編碼儲存於n個記憶體單元110中之資訊位元已遵循之最可能編碼路徑。舉例而言,對應於n個記憶體單元110中之每一者之路徑度量值PMVi(k)可暫時儲存於一路徑度量暫存器615中。
解碼單元160可進一步包括:一經編碼資訊暫存器617,其用以暫時儲存自n個記憶體單元110讀取之DCOUT;及一回溯單元620,其耦合至路徑度量暫存器615以用於接收路徑度量值PMVi(k)。至少部分地基於所接收之路徑度量值PMVi(k),回溯單元620可實行軟決策操作以針對n個記憶體單元110中之每一者擷取包含一特定記憶體單元110已被程式化至之一程式化分佈之一子集。回溯單元620可能夠擷取輸出信號DOUT之一第一部分,其可包括信號DIN之先前已經由線性組合器單元205編碼而儲存於一特定記憶體單元110中之一部分。參考由圖2C中所展示之格子碼230界定之ECC,信號DIN之由回溯單元620擷取之部分可包含3位元串a1(k)、a2(k)、a3(k)中之位元a3(k)。位元a3(k)可用於產生DCIN之位元b3(k)、b4(k)。
為了擷取信號DOUT之對應於信號DIN之尚未經編碼之部分(例如,兩個位元a1(k)、a2(k))之剩餘部分,解碼單元160可進一步包含耦合至回溯單元620及經編碼資訊暫存器617之一鑑別器單元625。特定而言,如下文將闡述,可至少部分地基於由回溯單元620擷取之一特定子集及DCOUT來計算信號DOUT之一剩餘部分。
為了闡述一實例,解碼單元160可解碼自已根據在參考圖4之實例中提供之經編碼信號DCIN被程式化之四個記憶體單元110感測之一輸出經編碼信號DCOUT序列。因此,第一記憶體單元110可根據串a1(k)=0、a2(k)=1、a3(k)=0程式化;第二記憶體單元110可根據串a1(k+1)=0、a2(k+1)=1、a3(k+1)=1程式化;第三記憶體單元110可根據串a1(k+2)=1、a2(k+2)=0、a3(k+2)=1程式化;且第四記憶體單元110可根據串a1(k+3)=0、a2(k+3)=0、a3(k+3)=0程式化。參考圖8來闡述對由解碼單元160實行之操作之闡述,圖8包含對應於上文所闡述之四個記憶體單元之格子圖405、410、415、420。
在一第一第k個操作循環處,度量單元605可自感測電路500接收對應於第一記憶體單元之臨限電壓之第一輸出經編碼信號DCOUT。在此情況下,該輸出經編碼信號DCOUT可等於「135」。如已闡述,度量單元605可計算對應度量值MR0、MR1、MR2、MR3,在此情況下,該等對應度量值可分別等於「60」、「10」、「2」及「12」。
ACS單元610可根據闡述如下之一過程自度量值MR0、MR1、MR2、MR3產生路徑度量值PMVi(k)。如上文所解釋,在由編碼器單元130執行之編碼操作期間,可使一格子圖中之轉變與一對應子集選擇相關聯。因此,ACS單元610可給格子圖405中之在狀態Si
(k)與狀態Si
(k+1)當中發生之每一可能轉變指派與彼轉變相關聯之子集之度量值。舉例而言,由於自狀態S0
(k)至狀態S0
(k+1)之轉變(其可由轉變箭頭t00識別)可與子集B0之選擇相關聯,因此ACS單元610可給該轉變指派度量值MR0,在此情況下,其可等於「60」。自狀態S0
(k)至狀態S4
(k+1)之轉變(由轉變箭頭t'04識別)可替代地與子集B2之選擇相關聯。因此,ACS單元610可給該轉變指派度量值MR2,在此情況下,其可等於「2」。同樣,此一格子圖僅為一實例,且所主張標的物並不受如此限制。
在一實施例中,可藉以將度量值指派給格子圖405之各種轉變之一過程可界定一對應「分支度量集合」。針對格子圖405之每一狀態Si
(k),可將兩個度量值(稱為「分支度量值」)指派給自狀態Si
(k)自身分支之兩個轉變。舉例而言,此等分支度量值可暫時儲存於一分支度量暫存器630中。
接著,針對格子圖405之每一狀態Si
(k),ACS單元610可比較兩個對應度量值、選擇最高一者、將路徑度量值PMVi(k)設定為選定度量值且可將該選定度量值儲存於路徑度量暫存器615中。在此情況下,在第k個操作循環期間產生之對應於第一記憶體單元之路徑度量值PMVi(k)可包括PMV0(k)=「60」、PMV1(k)=「12」、PMV2(k)=「60」、PMV3(k)=「12」、PMV4=「60」、PMV5(k)=「12」、PVM6(k)=「60」及PVM7(k)=「12」。
在後面的(k+1)操作循環期間,度量單元605可自感測電路500接收第二輸出經編碼信號DCOUT,其可對應於第二記憶體單元之臨限電壓。在此情況下,舉例而言,DCOUT可等於「157」,且對應度量值MR0、MR1、MR2及MR3可分別等於「8」、「29」、「31」及「11」。如先前所闡述,藉由使用此等新度量值,ACS單元610可產生對應於格子圖410之一新分支度量集合且可將該分支度量集合儲存於分支度量暫存器630中。
在一實施例中,針對格子圖410之每一狀態Si
(k+1),ACS單元610可比較兩個對應度量值、選擇最高一者且將路徑度量值PMVi(k+1)設定為選定度量值與在前面第k個操作循環處計算之已儲存於路徑度量暫存器615中之路徑度量值PMVi(k)之間之度量值總和。ACS單元610可將該路徑度量值儲存於路徑度量暫存器615中。在此情況下,對應於第二記憶體單元之所得路徑度量值PMVi(k+1)可包括PMV0(k+1)=「68」、PMV1(k+1)=「89」、PMV2(k+1)=「91」、PMV3(k+1)=「71」、PMV4(k+1)=「91」、PMV5(k+1)=「71」、PVM6(k+1)=「68」及PVM7(k+1)=「89」。當然,指派度量值之此等細節僅為實例,且所主張標的物並不受如此限制。在(k+2)操作循環期間產生之且對應於第三記憶體單元之路徑度量值PMVi(k+2)可包括PMV0(k+2)=「108」、PMV1(k+2)=「116」、PMV2(k+2)=「111」、PMV3(k+2)=「111」、PMV4(k+2)=「129」、PMV5(k+2)=「99」、PVM6(k+2)=「131」及PVM7(k+2)=「97」。此外,在(k+3)操作循環期間產生之且對應於第四記憶體單元之路徑度量值PMVi(k+3)可包括PMV0(k+3)=「136」、PMV1(k+3)=「159」、PMV2(k+3)=「149」、PMV3(k+3)=「179」、PMV4(k+3)=「128」、PMV5(k+3)=「159」、PVM6(k+3)=「140」及PVM7(k+3)=「145」。
在一實施例中,可藉由在每一操作循環處且針對格子圖之每一狀態選擇具有最高度量值之轉變而產生路徑度量值PMVi(k)、PMVi(k+1)、PMVi(k+2)、PMVi(k+3)。因此,現在可擷取編碼單元130為編碼提供至線性組合器單元205之信號DIN之一部分而遵循之編碼路徑。特定而言,例如,回溯單元620可存取路徑度量暫存器615、掃描對應於欲讀取之最後一個記憶體單元110之路徑度量值PMVi(k+3)且可選擇具有最高路徑度量值PMVi(k+3)之狀態Si
(k+4)。使用一軟決策選擇,此狀態可係欲擷取之編碼路徑之最終狀態之最可能候選者。在本實例中,此狀態可包括狀態S3
(k+4),其具有等於「179」之路徑度量PMVi(k+3)。
此時,為了回溯編碼路徑之前面狀態(在此情況下,為(k+3)狀態),回溯單元620可檢查自狀態Si
(k+3)至選定狀態Si
(k+4)之轉變。在此情況下,此等轉變可包含自狀態S6
(k+3)開始之轉變及自狀態S7
(k+3)開始之轉變。回溯單元620可接著選擇自具有最高路徑度量值PMVi(k+2)之狀態Si
(k+3)開始之轉變。選定狀態可表示欲擷取之編碼路徑之倒數第二個狀態。在此實例中,選定狀態可包括具有等於「131」之一路徑度量值PMVi(k+2)之狀態S6
(k+3)。舉例而言,在已判定連接編碼路徑之最後兩個狀態之轉變的情況下,可擷取第四記憶體單元110之臨限電壓已被程式化至之子集,此乃因格子圖中之每一轉變可與一特定子集(在此情況下,為子集B3)之選擇相關聯。
如較早所闡述,在一格子圖中一對狀態之間之每一轉變亦可與信號DIN之已經編碼之部分之一對應值相關聯。換句話說,在已判定連接編碼路徑之最後兩個狀態之轉變的情況下,可擷取已儲存於第四記憶體單元110中之位元a3(k+3)。在此實例中,可自狀態S6
(k+3)開始且以狀態S3
(k+4)結束之選定轉變可對應於a3(k+3)=「0」。此時,可反覆進行該過程以藉由選擇具有最高路徑度量值之彼等轉變來回溯編碼路徑之其他前面狀態。
參考圖8,藉助上文所闡述之過程擷取之編碼路徑以一較粗之線繪示且包含狀態序列(自第一個至最後一個):S0
(k)-S0
(k+1)-S4
(k+2)-S6
(k+3)-S3
(k+4)。該編碼路徑可與編碼單元130為編碼欲儲存於參考圖4之實例之四個記憶體單元110中之資訊位元而實際遵循之路徑一致。因此,由回溯單元620產生之位元序列可為正確之位元序列,例如,a3(k)=「0」、a3(k+1)=「1」、a3(k+2)=「1」及a3(k+3)=「0」。信號DOUT之對應於信號DIN之尚未經編碼之部分(例如,位元a1(k)、a2(k)、a1(k+1)、a2(k+1)、a1(k+2)、a2(k+2)、a1(k+3)及a2(k+3))之剩餘部分可替代地由鑑別器單元625擷取。特定而言,針對每一記憶體單元110,鑑別器單元625可能夠至少部分地基於記憶體單元110之臨限電壓已被程式化至之子集且至少部分地基於表示記憶體單元110之臨限電壓之DCOUT來擷取信號DOUT之該部分。臨限電壓可由回溯單元620判定。DCOUT可儲存於經編碼資訊暫存器617中。
在一實施例中,屬於一子集之程式化分佈可不彼此重疊且一子集內之每一程式化分佈可與信號DIN之一經判定部分(例如,尚未經編碼之部分)相關聯。因此,知曉一記憶體單元110之臨限電壓已被程式化至之一子集及臨限電壓自身之值可足以識別該臨限電壓已被程式化至之一特定程式化分佈及信號DIN之相關聯部分。舉例而言,參考先前實例之第四記憶體單元110,回溯單元620可判定其臨限電壓已被程式化至之子集為子集B3。參考圖3,子集B3可包含程式化分佈D3、D7、D11及D15。相關聯DCOUT可對應於定位於接近可屬於子集B3之程式化分佈D3之中心峰值處且略朝向又可屬於子集B2之程式化分佈D2移位之一臨限電壓(參見圖7C)。因此,知曉其臨限電壓已被程式化至之子集包括子集B3可允許用以判定是否已將該臨限電壓程式化至程式化分佈D3之一方式。舉例而言,每一子集之第一程式化分佈D0、D1、D2、D3可與b1(k+3)=0及b2(k+3)=0相關聯,第二分佈D4、D5、D6、D7可與b1(k+3)=1及b2(k+3)=0相關聯,第三分佈D8、D9、D10、D11可與b1(k+3)=0及b2(k+3)=1相關聯,且第四分佈D12、D13、D14、D15可與b1(k+3)=1及b2(k+3)=1相關聯。由於b1(k+3)=a1(k+3)、b2(k+3)=a2(k+3),因此對應於第四記憶體單元100之信號DOUT之剩餘部分可包括a1(k+3)=0、a2(k+3)=0。藉由針對該實例之四個記憶體單元110重複此等操作,可擷取信號DOUT。舉例而言,針對第一記憶體單元110,a1(k)=0、a2(k)=1、a3(k)=0;針對第二記憶體單元110,a1(k+1)=0、a2(k+1)=1、a3(k+1)=1;針對第三記憶體單元110,a1(k+2)=1、a2(k+2)=0、a3(k+2)=1;且針對第四記憶體單元110,a1(k+3)=0、a2(k+3)=0、a3(k+3)=0。
由先前所闡述之編碼-解碼單元120執行之操作可使用由線性組合器205之結構界定之一特定捲積碼及一特定子集分割。然而,在用於編碼欲儲存於記憶體單元中之資訊之子集分割及碼係不同之情況下,類似考量因素亦可適用。舉例而言,在上文所闡述之實施例中,為在每一記憶體單元110中儲存三個資訊位元(例如由位元a1(k)、a2(k)、a3(k)形成之未經編碼串),可將每一記憶體單元110程式化為對應於十六個程式化分佈D0、D1、...D15之十六個不同狀態當中之對應一者,此取決於對應(經編碼)串b1(k)、b2(k)、b3(k)、b4(k)所採取之值。程式化分佈之數目可由形成串b1(k)、b2(k)、b3(k)、b4(k)之位元之數目界定,該位元之數目又可由用於產生該串之碼所引入之冗餘界定。
由於記憶體單元固有之容限所引入之限制,程式化分佈之數目(例如以上實例中所闡述之十六個)可為過多的且可導致毗鄰程式化分佈當中之過多重疊。用以使用較低數目的程式化分佈來儲存同一數目的資訊位元之一方法可涉及編碼欲儲存於對應於一個以上記憶體單元之區塊中之資訊。以此方式,可將由碼界定之冗餘細分在對應於該區塊之記憶體單元當中。因此,可減少每一記憶體單元可被程式化至之程式化分佈之數目。參考圖9A、圖9B及圖9C來論述可如何實施此一解決方案之一實例。在一特定實例中,欲儲存於記憶體中之資訊可包括六個資訊位元之區塊,其中六個位元之每一區塊可儲存於一對應對之經定址記憶體單元110中。舉例而言,出於此目的,可修改編碼單元130,從而產生編碼單元910。在一特定實施方案中,欲儲存於一對經定址記憶體單元110中之信號DIN可由六個位元a1(k)、a2(k)、a3(k)、a4(k)、a5(k)、a6(k)之一串來表示。
編碼單元910可編碼形成信號DIN之六位元串以獲得經編碼信號DCIN。編碼單元910可包括使用一線性編碼方案將冗餘添加至信號DIN之一捲積編碼器。然而,在此情況下,由編碼單元910引入之冗餘可包括每對記憶體單元110一個位元。可將形成信號DIN之每一六位元串a1(k)、a2(k)、a3(k)、a4(k)、a5(k)、a6(k)編碼成形成經編碼信號DCIN之對應七位元符號b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k)。可接著將此七位元符號b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k)提供至讀取-程式化單元115以便儲存於由位址碼ADR定址之記憶體單元110對中。根據一實施例,位元b1(k)、b2(k)、b3(k)、b4(k)可與位元a1(k)、a2(k)、a3(k)、a4(k)一致,而位元b5(k)、b6(k)、b7(k)可由一線性組合器920自位元a5(k)、a6(k)產生,如圖9B中所展示。由於可將六位元串a1(k)、a2(k)、a3(k)、a4(k)、a5(k)、a6(k)編碼成一對應七位元符號b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k),因此可將每一對記憶體單元110程式化為27
=128個不同狀態。
因此,可將經定址對中之每一記憶體單元110程式化為對應於各別十二個程式化分佈E0、E1、...、E11(針對該對中之第一記憶體單元)及F0、F1、...、F11(針對該對中之第二記憶體單元)之十二個不同狀態當中之對應一者。以此方式,每一對記憶體單元110將能夠被程式化至之128個不同狀態當中之每一狀態可與由程式化分佈對Ei,Fj(i=1至11,j=1至11)界定之12*12=144個狀態當中之對應一者相關聯。因此,在此等值之情況下,不需要使用144-128=16個分佈對Ei、Fj。
由位元b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k)之值識別之128個狀態與程式化分佈對Ei,Fj之間之關係可由包含於編碼單元910中或讀取-程式化單元115中之一映射單元(未展示)界定。甚至在此情況下,由位元b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k)界定之128個狀態與各種程式化分佈對Ei,Fj之間之關聯性亦可涉及一子集分割。更特定而言,如圖9C中所展示,可將128個狀態分割成23
=8個不同子集SB0、SB1、SB2、SB3、SB4、SB5、SB6、SB7,每一子集包含24
=16個程式化分佈對Ei,Fj。每一子集可由線性組合器920所產生之串b5(k)、b6(k)、b7(k)之一對應值識別。此外,在每一子集SB0、SB1、SB2、SB3、SB4、SB5、SB6、SB7內,各種程式化分佈對Ei,Fj之間之「距離」可以使得避免相同子集之程式化分佈之間之任何重疊之一方式增加。
圖10係根據一實施例之一計算系統及一記憶體裝置之一示意圖。舉例而言,此一計算裝置可包括執行一應用程式及/或其他碼之一或多個處理器。舉例而言,記憶體裝置810可包括圖1中所展示之記憶體100。一計算裝置804可表示可為可組態以管理記憶體裝置810之任何裝置、器具或機器。記憶體裝置810可包含一記憶體控制器815及一記憶體822。藉由舉例而非限制之方式,計算裝置804可包含:一或多個計算裝置及/或平台,例如一桌上型電腦、一膝上型電腦、一工作站、一伺服器裝置等;一或多個個人計算或通信裝置或器具,例如一個人數位助理、行動通信裝置等;一計算系統及/或相關聯服務提供者能力,例如一資料庫或資料儲存服務提供者/系統;及/或其任一組合。
應認識到,系統800中所展示之各種裝置之全部或部分可使用或以其他方式包含硬體、韌體、軟體或其任一組合來實施或以其他方式包含硬體、韌體、軟體或其任一組合。因此,藉由舉例而非限制之方式,計算裝置804可包含經由一匯流排840及一主機或記憶體控制器815以操作方式耦合至記憶體822之至少一個處理單元820。處理單元820表示可組態以執行一資料計算程序或過程之至少一部分之一或多個電路。藉由舉例而非限制之方式,處理單元820可包含一或多個處理器、控制器、微處理器、微控制器、專用積體電路、數位信號處理器、可程式化邏輯裝置、現場可程式化閘陣列及類似裝置或其任一組合。處理單元820可包含經組態以與記憶體控制器815通信之一作業系統。此一作業系統可(舉例而言)產生欲經由匯流排840發送至記憶體控制器815之命令。此類命令可包括讀取及/或寫入命令。回應於一寫入命令,舉例而言,記憶體控制器815可提供一偏壓信號(例如一設定或重設脈衝)以將與該寫入命令相關聯之資訊寫入至一記憶體分割區(舉例而言)。在一實施方案中,舉例而言,記憶體控制器815可操作記憶體裝置810,其中處理單元820可裝載一或多個應用程式及/或起始寫入命令至記憶體控制器以提供對記憶體裝置810中之記憶體單元之存取。
在一項實施例中,一種系統可包括:一記憶體裝置,其包括用以跨越一或多個多階記憶體單元儲存資訊之一記憶體陣列、用以對該記憶體陣列應用一軟決策及捲積編碼以判定該資訊之一值之一控制器;及一記憶體裝置控制器,其用以操作該記憶體裝置。該系統可進一步包括一處理器以裝載一或多個應用程式並起始寫入及/或讀取命令至該記憶體裝置控制器以提供對該記憶體陣列之存取。
記憶體822表示任何資料儲存機構。記憶體822可包含(舉例而言)一主要記憶體824及/或一輔助記憶體826。主要記憶體824可包含(舉例而言)一隨機存取記憶體、唯讀記憶體等。儘管在此實例中圖解說明為與處理單元820分離,但應理解,主要記憶體824之全部或部分可提供於處理單元820內或以其他方式與處理單元820共同定位/耦合。
輔助記憶體826可包含(舉例而言)與主要記憶體相同或類似類型之記憶體及/或一或多個資料儲存裝置或系統,例如,一磁碟機、一光碟機、一磁帶機、一固態記憶體磁碟機等。在某些實施方案中,輔助記憶體826可以操作方式接納或可以其他方式組態以耦合至一電腦可讀媒體828。電腦可讀媒體828可包含(舉例而言)可載運及/或使得可存取用於系統800中之裝置中之一或多者之資料、碼及/或指令之任何媒體。
計算裝置804可包含(舉例而言)一輸入/輸出832。輸入/輸出832表示可為可組態以接受或以其他方式引入人類及/或機器輸入之一或多個裝置或特徵及/或可為可組態以遞送或以其他方式提供人類及/或機器輸出之一或多個裝置或特徵。藉由舉例而非限制之方式,輸入/輸出裝置832可包含一以操作方式組態之顯示器、揚聲器、鍵盤、滑鼠、軌跡球、觸控螢幕、資料埠等。
儘管已圖解說明及闡述了目前被視為實例性實施例之實施例,但熟悉此項技術者將理解可做出各種其他修改且可替代等效物,此並不背離所主張之標的物。另外,可做出許多修改以使一特定情形適於所主張之標的物之教示內容,此並不背離本文中所闡述之中心概念。因此,意欲所主張之標的物不限於所揭示之特定實施例,而是此所主張之標的物亦可包含歸屬於隨附專利申請範圍及其等效物之範圍內之所有實施例。
100...非揮發性半導體記憶體
105...矩陣
110...記憶體單元
112...位元線BL
115...讀取-程式化單元
120...編碼-解碼單元
130...編碼單元
140...輸入/輸出緩衝器
150...輸入/輸出端子
160...解碼單元
205...線性組合器單元
210...延遲元件
215...延遲元件
220...延遲元件
225...二進制加法器
230...格子圖
405...格子圖
410...格子圖
415...格子圖
420...格子圖
500...感測電路
505...電壓比較器
510...參考產生器區塊
515...計數器電路
520...控制區塊
525...讀取電壓產生器
530...暫存器
535...第一區段
540...第二區段
545...NOR閘
550...時序圖
605...度量單元
610...相加-比較-選擇(ACS)單元
615...路徑度量暫存器
617...經編碼資訊暫存器
620...回溯單元
625...鑑別器單元
630...分支度量暫存器
710...查詢表
910...編碼單元
920...線性組合器
800...系統
804...計算裝置
810...記憶體裝置
815...主機或記憶體控制器
820...處理單元
822...記憶體
824...主要記憶體
826...輔助記憶體
828...電腦可讀媒體
832...輸入/輸出
840...匯流排
圖1係根據一實施例之一記憶體裝置之一示意性方塊圖。
圖2A係根據一實施例之一編碼單元之一方塊圖。
圖2B係根據一實施例之一線性組合器單元之一方塊圖。
圖2C係根據一實施例之一線性組合器之一格子圖。
圖3係展示根據一實施例之程式化分佈及此等分佈之分割區之一圖示。
圖4係根據另一實施例之一格子圖。
圖5A係根據一實施例之一感測電路之一示意圖。
圖5B係根據一實施例之一感測電路之一時序圖。
圖6係根據一實施例之一解碼單元之一示意性方塊圖。
圖7A係展示根據一實施例之程式化分佈及此等分佈之度量函數之一圖示。
圖7B係根據一實施例實施度量函數之一查詢表。
圖7C係展示根據一實施例之程式化分佈及度量值之一圖示。
圖8係根據另一實施例之一格子圖。
圖9A係根據另一實施例之一編碼單元之一方塊圖。
圖9B係根據另一實施例之一線性組合器單元之一方塊圖。
圖9C係展示根據一實施例分割成若干子集之程式化之一示意圖。
圖10係根據一實施例之一計算系統及一記憶體裝置之一示意圖。
100...非揮發性半導體記憶體
105...矩陣
110...記憶體單元
112...位元線BL
115...讀取-程式化單元
120...編碼-解碼單元
130...編碼單元
140...輸入/輸出緩衝器
150...輸入/輸出端子
160...解碼單元
Claims (17)
- 一種操作一記憶體之方法,其包括:儲存多個狀態於一或多個多階記憶體單元中,該儲存多個狀態包括根據一捲積碼來編碼該等狀態以提供表示該等狀態之多個符號;使用軟決策及捲積編碼來判定經編碼之該等狀態,其中該判定進一步包括:自該等多階記憶體單元讀取與多個感測臨限電壓相關聯之多個軟決策;維持多個週期函數之多個集合,其中每一集合係與經儲存之狀態之不同的複數個程式化分佈相關聯,其中與一特定週期函數相關聯之經儲存之該等狀態其彼此間係為週期相關;將一軟決策與該等週期函數之一特定集合相關聯;及至少部分地基於已遵循用於編碼之一最可能編碼路徑之一計算自該等週期函數之該特定集合來選擇一程式化分佈。
- 如請求項1之方法,其中該判定經編碼之該等狀態進一步包括:自該等符號擷取經儲存之該等狀態並應用該軟決策及捲積編碼以恢復經儲存之該等狀態。
- 如請求項1之方法,其中該軟決策包括判定複數個程式化狀態當中一最可能之程式化狀態以判定經編碼之該等 狀態。
- 如請求項1之方法,其中該等多階記憶體單元能夠儲存兩個或兩個以上位元。
- 如請求項1之方法,其進一步包括產生多個值,其中該等值包括一所感測臨限電壓屬於該一或多個多階記憶體單元之一特定程式化分佈之一概率之一量測。
- 一種記憶體裝置,其包括:一記憶體陣列,其用以跨越一或多個多階記憶體單元儲存多個狀態;及一控制器,其經組態以:根據一捲積碼來編碼該等狀態以提供表示該等狀態之多個符號;自該等多階記憶體單元讀取與多個感測臨限電壓相關聯之多個軟決策;存取多個週期函數之多個集合,其中每一集合係與經儲存之不同的狀態之複數個程式化分佈相關聯,其中與一特定週期函數相關聯之經儲存之該等狀態其彼此間係為週期相關;將一軟決策與該等週期函數之一特定集合相關聯;及至少部分地基於已遵循用於編碼之一最可能編碼路徑之一計算自該等週期函數之該特定集合來選擇一程式化分佈,而使用該軟決策及捲積解碼以判定經編碼之該等狀態。
- 如請求項6之記憶體裝置,其中該軟決策包括判定複數 個程式化狀態當中一最可能之程式化狀態以判定經編碼之該等狀態。
- 如請求項6之記憶體裝置,其進一步包括:一感測電路,其用以判定該一或多個多階記憶體單元之該等臨限電壓;及一轉換器,其用以將該等狀態轉換成指示該一或多個多階記憶體單元之該等臨限電壓之一數位數序列。
- 如請求項8之記憶體裝置,其中該感測電路包括一電壓比較器,該電壓比較器具有多個輸入以接收對應於該一或多個多階記憶體單元中之一者之一位元線電壓以及一參考電壓。
- 如請求項6之記憶體裝置,其中該等多階記憶體單元能夠儲存兩個或兩個以上位元。
- 如請求項6之記憶體裝置,其進一步包括:一解碼單元,其用以產生多個值以量化一所感測臨限電壓屬於該一或多個多階記憶體單元之一特定程式化分佈之一概率。
- 一種電腦系統,其包括:一記憶體裝置,其包括:一記憶體陣列,其經組態以跨越一或多個多階記憶體單元儲存多個狀態,及一控制器,其經組態以:根據一捲積碼來編碼該等狀態以提供表示該等狀態之多個符號; 自該等多階記憶體單元讀取與多個感測臨限電壓相關聯之多個軟決策;存取多個週期函數之多個集合,其中每一集合係與經儲存之不同的狀態之複數個程式化分佈相關聯,其中與一特定週期函數相關聯之經儲存之該等狀態其彼此間係為週期相關;將一軟決策與該等週期函數之一特定集合相關聯;及至少部分地基於已遵循用於編碼之一最可能編碼路徑之一計算自該等週期函數之該特定集合來選擇一程式化分佈,而使用該軟決策及捲積解碼以判定經儲存之該等狀態;及一處理器,其用以裝載一或多個應用程式並起始寫入及/或讀取命令至該記憶體裝置控制器以提供對該記憶體陣列之存取。
- 如請求項12之系統,其中該軟決策包括判定複數個程式化狀態當中一最可能之程式化狀態以判定經儲存之該等狀態。
- 如請求項12之系統,其進一步包括:一感測電路,其用以判定該一或多個多階記憶體單元之該等臨限電壓;及一轉換器,其用以將該等狀態轉換成指示該一或多個多階記憶體單元之該等臨限電壓之一數位數序列。
- 如請求項14之系統,其中該感測電路包括一電壓比較 器,該電壓比較器具有多個輸入以接收對應於該一或多個多階記憶體單元中之一者之一位元線電壓以及一參考電壓。
- 如請求項12之系統,其中該捲積編碼包括維特比編碼。
- 如請求項12之系統,其進一步包括:一解碼單元,其用以產生度量值以量化一所感測臨限電壓屬於該一或多個多階記憶體單元之一特定程式化分佈之一概率。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/783,483 US8386895B2 (en) | 2010-05-19 | 2010-05-19 | Enhanced multilevel memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201214457A TW201214457A (en) | 2012-04-01 |
TWI484497B true TWI484497B (zh) | 2015-05-11 |
Family
ID=44973482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100117641A TWI484497B (zh) | 2010-05-19 | 2011-05-19 | 增強型多階記憶體及其操作方法,以及電腦系統 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8386895B2 (zh) |
JP (1) | JP5555840B2 (zh) |
KR (1) | KR101409551B1 (zh) |
CN (1) | CN102254571B (zh) |
DE (1) | DE102011075966B4 (zh) |
TW (1) | TWI484497B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386895B2 (en) * | 2010-05-19 | 2013-02-26 | Micron Technology, Inc. | Enhanced multilevel memory |
US9251873B1 (en) | 2010-05-20 | 2016-02-02 | Kandou Labs, S.A. | Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications |
US9275720B2 (en) * | 2010-12-30 | 2016-03-01 | Kandou Labs, S.A. | Differential vector storage for dynamic random access memory |
IT1403667B1 (it) * | 2011-01-31 | 2013-10-31 | St Microelectronics Srl | Dispositivo di memoria con misurazione interna di parametri funzionali |
US8780659B2 (en) | 2011-05-12 | 2014-07-15 | Micron Technology, Inc. | Programming memory cells |
US8797805B2 (en) | 2011-12-22 | 2014-08-05 | Micron Technology, Inc. | Methods and apparatuses for determining threshold voltage shift |
US8943386B1 (en) * | 2012-02-16 | 2015-01-27 | Sk Hynix Memory Solutions Inc. | Generating soft read values which optimize dynamic range |
US8737139B2 (en) | 2012-04-11 | 2014-05-27 | Micron Technology, Inc. | Determining soft data for combinations of memory cells |
US9239754B2 (en) * | 2012-08-04 | 2016-01-19 | Seagate Technology Llc | Single read based soft-decision decoding of non-volatile memory |
US8848453B2 (en) | 2012-08-31 | 2014-09-30 | Micron Technology, Inc. | Inferring threshold voltage distributions associated with memory cells via interpolation |
KR102125371B1 (ko) | 2012-12-04 | 2020-06-22 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 동작방법 |
KR102067611B1 (ko) | 2013-03-15 | 2020-01-20 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법과 상기 메모리 컨트롤러를 포함하는 장치들 |
KR102087436B1 (ko) | 2013-04-02 | 2020-04-14 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
TWI498893B (zh) * | 2013-10-31 | 2015-09-01 | Innostor Technology Corp | MLC memory write method in multiple environments |
US9363114B2 (en) | 2014-02-28 | 2016-06-07 | Kandou Labs, S.A. | Clock-embedded vector signaling codes |
US9373408B2 (en) * | 2014-10-07 | 2016-06-21 | SanDisk Technologies, Inc. | Highly linear analog-to-digital converter and method for nonvolatile memory |
US10379940B2 (en) * | 2016-12-08 | 2019-08-13 | Sandisk Technologies Llc | Pipeline delay detection during decoding by a data storage device |
US10467177B2 (en) | 2017-12-08 | 2019-11-05 | Kandou Labs, S.A. | High speed memory interface |
US10777286B2 (en) | 2018-12-28 | 2020-09-15 | Micron Technology, Inc. | Apparatus and methods for determining data states of memory cells |
US10942889B2 (en) | 2019-06-04 | 2021-03-09 | Micron Technology, Inc. | Bit string accumulation in memory array periphery |
WO2020247077A1 (en) * | 2019-06-04 | 2020-12-10 | Micron Technology, Inc. | Bit string accumulation in memory array periphery |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038953A1 (en) * | 2001-06-29 | 2005-02-17 | Hynix Semiconductor Inc. | Method of programming/reading multi-level flash memory using sensing circuit |
US20070171730A1 (en) * | 2006-01-20 | 2007-07-26 | Marvell International Ltd. | Method and system for error correction in flash memory |
US20080250300A1 (en) * | 2007-03-29 | 2008-10-09 | Nima Mokhlesi | Method for decoding data in non-volatile storage using reliability metrics based on multiple reads |
US20090024905A1 (en) * | 2006-05-12 | 2009-01-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US20090282184A1 (en) * | 2008-05-09 | 2009-11-12 | Deepanshu Dutta | Compensating non-volatile storage using different pass voltages during program-verify and read |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4058851A (en) | 1976-10-18 | 1977-11-15 | Sperry Rand Corporation | Conditional bypass of error correction for dual memory access time selection |
KR930004862B1 (ko) | 1990-12-17 | 1993-06-09 | 삼성전자 주식회사 | 상태 평가량 기억장치 |
EP0709776B1 (en) | 1994-10-31 | 2000-02-23 | STMicroelectronics S.r.l. | Method for detecting and correcting an error in a multilevel memory and memory device implementing the method |
US6023781A (en) | 1996-09-18 | 2000-02-08 | Nippon Steel Corporation | Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program |
US6857099B1 (en) | 1996-09-18 | 2005-02-15 | Nippon Steel Corporation | Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program |
US5956743A (en) | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
FR2769747B1 (fr) | 1997-10-15 | 2001-10-05 | Sgs Thomson Microelectronics | Perfectionnement aux memoires non volatiles programmables par effet dit "de porteurs chauds" et effacables par effet tunnel |
US6279133B1 (en) | 1997-12-31 | 2001-08-21 | Kawasaki Steel Corporation | Method and apparatus for significantly improving the reliability of multilevel memory architecture |
KR100535291B1 (ko) | 1998-01-21 | 2005-12-09 | 소니 가부시끼 가이샤 | 엔코딩 방법 및 메모리 장치 |
JP3308915B2 (ja) | 1998-11-11 | 2002-07-29 | エヌイーシーマイクロシステム株式会社 | 不良救済用メモリセル及びそれを用いた記憶装置 |
US6871303B2 (en) | 1998-12-04 | 2005-03-22 | Qualcomm Incorporated | Random-access multi-directional CDMA2000 turbo code interleaver |
IL141800A0 (en) | 1999-07-06 | 2002-03-10 | Samsung Electronics Co Ltd | Rate matching device and method for a data communication system |
US20050114587A1 (en) | 2003-11-22 | 2005-05-26 | Super Talent Electronics Inc. | ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines |
US6487251B1 (en) | 1999-08-30 | 2002-11-26 | Hughes Electronics Corporation | System and method for performing combined multi-rate convolutional coding |
US6175522B1 (en) | 1999-09-30 | 2001-01-16 | Advanced Micro Devices, Inc. | Read operation scheme for a high-density, low voltage, and superior reliability nand flash memory device |
US6628723B1 (en) | 1999-10-15 | 2003-09-30 | Cisco Technology | Coding rate reduction for turbo codes |
US6731538B2 (en) | 2000-03-10 | 2004-05-04 | Kabushiki Kaisha Toshiba | Semiconductor memory device including page latch circuit |
JP2002076915A (ja) | 2000-08-31 | 2002-03-15 | Sony Corp | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 |
US6591394B2 (en) | 2000-12-22 | 2003-07-08 | Matrix Semiconductor, Inc. | Three-dimensional memory array and method for storing data bits and ECC bits therein |
JP4017177B2 (ja) | 2001-02-28 | 2007-12-05 | スパンション エルエルシー | メモリ装置 |
KR100438537B1 (ko) | 2001-07-19 | 2004-07-03 | 엘지전자 주식회사 | 이동 통신 단말기에서의 복호 장치 및 그 제어 방법 |
US6683817B2 (en) | 2002-02-21 | 2004-01-27 | Qualcomm, Incorporated | Direct memory swapping between NAND flash and SRAM with error correction coding |
US6751766B2 (en) * | 2002-05-20 | 2004-06-15 | Sandisk Corporation | Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data |
US7293217B2 (en) | 2002-12-16 | 2007-11-06 | Interdigital Technology Corporation | Detection, avoidance and/or correction of problematic puncturing patterns in parity bit streams used when implementing turbo codes |
US6839870B2 (en) | 2003-03-21 | 2005-01-04 | Terayon Communications Systems, Inc. | Error-correcting code interleaver |
US7467264B2 (en) | 2003-06-27 | 2008-12-16 | Hewlett-Packard Development Company, L.P. | Methods and apparatuses for determining the state of a memory element |
JP3984209B2 (ja) | 2003-07-31 | 2007-10-03 | 株式会社東芝 | 半導体記憶装置 |
JP2005078721A (ja) * | 2003-09-01 | 2005-03-24 | Nippon Telegr & Teleph Corp <Ntt> | 誤り訂正方法およびメモリ回路 |
US7389465B2 (en) | 2004-01-30 | 2008-06-17 | Micron Technology, Inc. | Error detection and correction scheme for a memory device |
US7607073B1 (en) | 2004-08-04 | 2009-10-20 | Marvell International Ltd. | Methods, algorithms, software, circuits, receivers and systems for iteratively decoding a tailbiting convolutional code |
WO2006026645A2 (en) | 2004-08-30 | 2006-03-09 | Silicon Storage Technology, Inc. | Systems and methods for providing nonvolatile memory management in wireless phones |
US7061804B2 (en) | 2004-11-18 | 2006-06-13 | Qualcomm Incorporated | Robust and high-speed memory access with adaptive interface timing |
KR100578141B1 (ko) | 2004-11-22 | 2006-05-10 | 삼성전자주식회사 | 읽기 속도를 향상시킬 수 있는 낸드 플래시 메모리 장치 |
KR100915650B1 (ko) | 2004-12-28 | 2009-09-04 | 인터내셔널 비지네스 머신즈 코포레이션 | 정보 기록 장치, 그 데이터 흐름 제어기, 및 그 데이터흐름의 제어 방법 |
US7359279B2 (en) | 2005-03-31 | 2008-04-15 | Sandisk 3D Llc | Integrated circuit memory array configuration including decoding compatibility with partial implementation of multiple memory layers |
US7644338B2 (en) | 2005-09-13 | 2010-01-05 | Samsung Electronics Co., Ltd. | Method of detecting and correcting a prescribed set of error events based on error detecting code |
US8291295B2 (en) | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7469368B2 (en) | 2005-11-29 | 2008-12-23 | Broadcom Corporation | Method and system for a non-volatile memory with multiple bits error correction and detection for improving production yield |
US8055979B2 (en) * | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US7388781B2 (en) | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7840875B2 (en) | 2006-05-15 | 2010-11-23 | Sandisk Corporation | Convolutional coding methods for nonvolatile memory |
US20070266296A1 (en) | 2006-05-15 | 2007-11-15 | Conley Kevin M | Nonvolatile Memory with Convolutional Coding |
US7836364B1 (en) * | 2006-05-30 | 2010-11-16 | Marvell International Ltd. | Circuits, architectures, apparatuses, systems, methods, algorithms, software and firmware for using reserved cells to indicate defect positions |
US7627803B2 (en) | 2006-07-05 | 2009-12-01 | Harris Corporation | System and method for variable forward error correction (FEC) protection |
US8046660B2 (en) | 2006-08-07 | 2011-10-25 | Marvell World Trade Ltd. | System and method for correcting errors in non-volatile memory using product codes |
US7739576B2 (en) | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
TWI360126B (en) * | 2006-09-28 | 2012-03-11 | Sandisk Corp | Nonvolatile memory with adaptive operations and me |
US7805663B2 (en) | 2006-09-28 | 2010-09-28 | Sandisk Corporation | Methods of adapting operation of nonvolatile memory |
JP5177991B2 (ja) * | 2006-10-25 | 2013-04-10 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7904780B2 (en) | 2006-11-03 | 2011-03-08 | Sandisk Corporation | Methods of modulating error correction coding |
US8151163B2 (en) | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
KR100766042B1 (ko) | 2006-12-06 | 2007-10-12 | 삼성전자주식회사 | 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치 |
KR100845529B1 (ko) | 2007-01-03 | 2008-07-10 | 삼성전자주식회사 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
KR100842680B1 (ko) | 2007-01-08 | 2008-07-01 | 삼성전자주식회사 | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 |
US8010735B2 (en) | 2007-07-31 | 2011-08-30 | Broadcom Corporation | Flash memory with millimeter wave host interface and method for use therewith |
US7975209B2 (en) * | 2007-03-31 | 2011-07-05 | Sandisk Technologies Inc. | Non-volatile memory with guided simulated annealing error correction control |
US7966546B2 (en) * | 2007-03-31 | 2011-06-21 | Sandisk Technologies Inc. | Non-volatile memory with soft bit data transmission for error correction control |
WO2008142683A2 (en) | 2007-05-21 | 2008-11-27 | Ramot At Tel Aviv University Ltd. | Memory-efficient ldpc decoding |
US8065583B2 (en) | 2007-07-06 | 2011-11-22 | Micron Technology, Inc. | Data storage with an outer block code and a stream-based inner code |
US8051358B2 (en) | 2007-07-06 | 2011-11-01 | Micron Technology, Inc. | Error recovery storage along a nand-flash string |
JP5354979B2 (ja) | 2007-07-12 | 2013-11-27 | パナソニック株式会社 | 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器 |
US7860200B2 (en) | 2007-10-12 | 2010-12-28 | Harris Corporation | Communications system using adaptive filter that is selected based on output power |
US8499229B2 (en) | 2007-11-21 | 2013-07-30 | Micro Technology, Inc. | Method and apparatus for reading data from flash memory |
US8046542B2 (en) | 2007-11-21 | 2011-10-25 | Micron Technology, Inc. | Fault-tolerant non-volatile integrated circuit memory |
US7633798B2 (en) * | 2007-11-21 | 2009-12-15 | Micron Technology, Inc. | M+N bit programming and M+L bit read for M bit memory cells |
US8327245B2 (en) | 2007-11-21 | 2012-12-04 | Micron Technology, Inc. | Memory controller supporting rate-compatible punctured codes |
US8335977B2 (en) * | 2007-12-05 | 2012-12-18 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells |
KR101398212B1 (ko) * | 2008-03-18 | 2014-05-26 | 삼성전자주식회사 | 메모리 장치 및 인코딩/디코딩 방법 |
US8023334B2 (en) * | 2008-10-31 | 2011-09-20 | Micron Technology, Inc. | Program window adjust for memory cell signal line delay |
US8510628B2 (en) * | 2009-11-12 | 2013-08-13 | Micron Technology, Inc. | Method and apparatuses for customizable error correction of memory |
US8451664B2 (en) | 2010-05-12 | 2013-05-28 | Micron Technology, Inc. | Determining and using soft data in memory devices and systems |
US8386895B2 (en) * | 2010-05-19 | 2013-02-26 | Micron Technology, Inc. | Enhanced multilevel memory |
US8194441B2 (en) | 2010-09-23 | 2012-06-05 | Micron Technology, Inc. | Phase change memory state determination using threshold edge detection |
-
2010
- 2010-05-19 US US12/783,483 patent/US8386895B2/en active Active
-
2011
- 2011-05-11 JP JP2011106289A patent/JP5555840B2/ja active Active
- 2011-05-17 DE DE102011075966.2A patent/DE102011075966B4/de active Active
- 2011-05-18 CN CN201110136221.8A patent/CN102254571B/zh active Active
- 2011-05-18 KR KR1020110047060A patent/KR101409551B1/ko active IP Right Grant
- 2011-05-19 TW TW100117641A patent/TWI484497B/zh active
-
2013
- 2013-02-25 US US13/776,418 patent/US8700978B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038953A1 (en) * | 2001-06-29 | 2005-02-17 | Hynix Semiconductor Inc. | Method of programming/reading multi-level flash memory using sensing circuit |
US20070171730A1 (en) * | 2006-01-20 | 2007-07-26 | Marvell International Ltd. | Method and system for error correction in flash memory |
US20090024905A1 (en) * | 2006-05-12 | 2009-01-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US20080250300A1 (en) * | 2007-03-29 | 2008-10-09 | Nima Mokhlesi | Method for decoding data in non-volatile storage using reliability metrics based on multiple reads |
US20090282184A1 (en) * | 2008-05-09 | 2009-11-12 | Deepanshu Dutta | Compensating non-volatile storage using different pass voltages during program-verify and read |
Also Published As
Publication number | Publication date |
---|---|
US8386895B2 (en) | 2013-02-26 |
KR101409551B1 (ko) | 2014-07-02 |
DE102011075966A1 (de) | 2011-12-29 |
JP5555840B2 (ja) | 2014-07-23 |
CN102254571A (zh) | 2011-11-23 |
KR20110127615A (ko) | 2011-11-25 |
US20130242652A1 (en) | 2013-09-19 |
TW201214457A (en) | 2012-04-01 |
CN102254571B (zh) | 2015-06-17 |
JP2011243198A (ja) | 2011-12-01 |
US8700978B2 (en) | 2014-04-15 |
US20110289376A1 (en) | 2011-11-24 |
DE102011075966B4 (de) | 2016-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI484497B (zh) | 增強型多階記憶體及其操作方法,以及電腦系統 | |
KR102179228B1 (ko) | 메모리에서의 티어드 오류 정정 코드(ecc) 동작 | |
US9092350B1 (en) | Detection and handling of unbalanced errors in interleaved codewords | |
KR102102828B1 (ko) | 메모리에서 에러 정정 코드(ecc) 연산 | |
US9985651B2 (en) | Read threshold calibration for LDPC | |
US8830746B2 (en) | Optimized threshold search in analog memory cells using separator pages of the same type as read pages | |
KR101981355B1 (ko) | 메모리 시스템들을 위한 소프트 정보 생성 | |
Chen et al. | An adaptive-rate error correction scheme for NAND flash memory | |
TWI697000B (zh) | 記憶體控制器及快閃記憶體的存取方法 | |
US20100223538A1 (en) | Semiconductor memory apparatus and method of decoding coded data | |
US20150303942A1 (en) | Interleaved layered decoder for low-density parity check codes | |
KR20130029080A (ko) | 소거 없는 플래시 메모리의 다중 프로그래밍 | |
US20210211142A1 (en) | Decoding device and decoding method | |
JP2013145625A (ja) | アナログメモリセルにおける最適スレッシュホールドのサーチ | |
US10741212B2 (en) | Error correction code (ECC) encoders, ECC encoding methods capable of encoding for one clock cycle, and memory controllers including the ECC encoders | |
US20150317203A1 (en) | Code-Based Read Control for Data Storage Devices | |
TWI479317B (zh) | Memory system | |
JP5283989B2 (ja) | メモリシステム及びメモリアクセス方法 | |
JP2017107620A (ja) | 半導体装置及び不揮発メモリ | |
Cho et al. | Concatenated BCH codes for NAND flash memories | |
US9239751B1 (en) | Compressing data from multiple reads for error control management in memory systems | |
JP5901746B2 (ja) | メモリセルをプログラミングすること | |
US9361181B2 (en) | Error protection for memory devices | |
US11621048B2 (en) | Positioning read thresholds in a nonvolatile memory based on successful decoding | |
JP5492329B2 (ja) | メモリアクセス装置 |