TW201725506A - 用於非依電性記憶體之預測性計數失效位元組(cfbyte) - Google Patents
用於非依電性記憶體之預測性計數失效位元組(cfbyte) Download PDFInfo
- Publication number
- TW201725506A TW201725506A TW105138983A TW105138983A TW201725506A TW 201725506 A TW201725506 A TW 201725506A TW 105138983 A TW105138983 A TW 105138983A TW 105138983 A TW105138983 A TW 105138983A TW 201725506 A TW201725506 A TW 201725506A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- cells
- loop
- threshold
- electrical
- 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
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- 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/10—Programming or data input circuits
Landscapes
- Read Only Memory (AREA)
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本案敘述有關用於非依電性記憶體之預測性計數失效位元組(CFBYTE)的方法與裝置。於一實施例中,邏輯可決定該非依電性記憶體於一目前編程迴圈中通過或未通過驗證的一記憶體胞元數量。該邏輯至少部分基於來自一先前編程迴圈之資訊來決定該等記憶體胞元的數量。該先前編程迴圈於該目前編程迴圈之前執行。該邏輯可基於來自該先前編程迴圈之資訊與一臨界值的比較,來禁止一或多個驗證脈衝於該目前編程迴圈中發出。本案亦敘述其他實施例及加以請求專利。
Description
發明領域 本揭示內容一般係有關電子裝置之領域。更特別是,某些實施例一般係有關用於非依電性記憶體(NVM)之一預測性計數失效位元組(CFBYTE)。
發明背景 一般而言,於一計算系統中用於儲存資料之記憶體可為依電性(用於儲存驗證資訊)或非依電性(用於儲存持續性資訊)。儲存於依電性記憶體中之依電性資料結構一般用於需支援一程式的運作時間期間該程式之功能的暫時或中間資訊。另一方面,儲存於非依電性(或持續性記憶體)之持續性資料結構可用於一程式的運作時間之外並可重覆使用。此外,一使用者或程式員決定使該資料持續之前,新資料典型先產生來作為依電性資料。例如,程式員或使用者可形成可由一處理器直接存取之依電性主記憶體中的依電性結構之對映(亦即,實體的)。另一方面,持續性資料結構實體位於如附接於輸入/輸出(I/O或IO)匯流排之旋轉碟片的非依電性儲存裝置、或如一固態驅動器之非依電性記憶體式裝置。
處理器之計算能力增強時,有一考量是記憶體可由一處理器存取的速度。例如,為了處理資料,一處理器需可先從一記憶體提取資料。該資料處理完成後,該結果需可儲存於該記憶體中。因此,該記憶體存取速度對整體的系統效能可具有一直接影響。
另一重要考量為電力耗損。例如,於依靠電池電力之行動計算裝置中,降低電力耗損以允許該裝置移動時可操作是相當重要的。電力耗損對非行動計算裝置亦相當重要,因為過多的電力耗損會增加成本(例如,由於額外的電力使用、增加的冷卻需求、等等)、縮短構件壽命、或限制一裝置可使用之位置。
硬碟驅動器可提供一相當低成本的儲存解決方案並可用於許多計算裝置中以提供非依電性儲存功能。然而,磁碟驅動器相較於固態驅動器會使用許多電力,因為一硬碟驅動器需要以一相當高速來旋轉其碟片並相對該旋轉碟片來移動磁頭以便讀取/寫入資料。此實體移動會產生熱能並增加電力耗損。另外,固態驅動器相較於硬驅動器,在執行讀取與寫入操作上更加快速。為此目的,許多計算部段朝向固態驅動器轉移。
依據本發明之一實施例,係特地提出一種裝置,其包含:耦接至非依電性記憶體之邏輯,其用以決定該非依電性記憶體於一目前編程迴圈中通過或未通過驗證的記憶體胞元之數量,其中該邏輯至少部分基於來自一先前編程迴圈之資訊來決定該等記憶體胞元的數量,其中該先前編程迴圈要在該目前編程迴圈之前被執行,其中該邏輯要基於來自該先前編程迴圈之該資訊與一臨界值的比較,致使禁止一或多個驗證脈衝於該目前編程迴圈中被發出。
較佳實施例之詳細說明 下列說明中,將列舉若干特定細節來提供對各種不同實施例之一完全了解。然而,各種不同實施例在無該等特定細節的情況下仍可加以實作。其他實例中,著名的方法、程序、構件、與電路並不再詳細說明以避免混淆該等特定實施例。此外,各種不同的實施例觀點可使用各種不同裝置,諸如積體半導體電路(“硬體”)、組織為一或多個程式(“軟體”)之電腦可讀指令、或硬體與軟體之組合來加以執行。為了本揭示內容,參照為“邏輯”將表示硬體、軟體、韌體、或其某些組合。
如上所述,許多計算部段正朝向NVM裝置,諸如固態驅動器(SSD)轉移。非依電性記憶體胞元(例如,用於一SSD中)之製造及/或操作期間,該等記憶體胞元可針對適當操作來測試。各種不同脈衝可送至該等記憶體胞元來測試該等記憶體胞元是否能夠寫入及讀取。該等記憶體胞元之測試一般包括將一臨界電壓寫入一記憶體胞元以及之後於一驗證操作期間讀取儲存於該胞元中之數值。該驗證可確保一胞元能夠並達到其目標電壓準位。
如本文所述,一程式實施例一般包括若干(例如,約十至三十,取決於準位數量)編程迴圈來規劃一NVM裝置,諸如一SSD中之記憶體胞元或區塊。一頁面(其可為從4千位元組或更高的任何位置)中之所有胞元的本體胞元臨界電壓通常遵循具有一相關中數與標準偏差(或標準差)之一正常分配。一編程迴圈為一或多個驗證脈衝前之一程式脈衝的一組合。針對每一隨後的編程迴圈,該程式脈衝電壓可更被提升以允許或協助對於規劃胞元之一較慢者去達到其個別的目標電壓準位。胞元達到(該驗證脈衝期間決定之)其個別的目標準位於所有隨後的程式脈衝中為禁止。該操作可繼續直到該頁面之所有胞元達到其目標臨界電壓為止。然而,所有記憶體允許一特定小部分胞元落後,稱為計數失效位元組(CFBYTE)。該CFBYTE數量一般基於該記憶體之錯誤修正碼(ECC)能力來決定,且通常約為低於該ECC限制的10至100倍。只要(針對該準位之)總失效胞元低於該CFBYTE準則,無法規劃該等記憶體胞元是受允許的、且其於所有隨後的程式脈衝中進一步禁止(進一步規劃)。此外,該記憶體控制器亦可針對所有隨後的編程迴圈中之該準位來停止發出驗證脈衝。
決定一特定準位是否已通過/未通過該CFBYTE準則包含一計數程序。胞元數量之計數會出現在每一編程迴圈之後且通常為耗時的。因此,該程序經常與該下一編程迴圈中之程式脈衝並行運作。若該失效胞元之數量低於一某一預定CFBYTE準則,則記憶體控制器邏輯可針對該準位停止發出驗證脈衝並禁止所有未來的程式脈衝中之胞元。
某些實施例係有關預測性CFBYTE實施態樣。更特別是,一實施例基於來自一先前編程迴圈之資訊,來預測/期望針對該目前迴圈中之一準位而通過驗證之胞元數量。若針對該先前迴圈未通過驗證之胞元數量低於該“預測CFBYTE”準則,則該實施例針對該目前編程迴圈中之準位將不發出一驗證脈衝,且可進一步禁止隨後的編程迴圈中之胞元。該類預測方法之一數值建議為用於節省出現於每一準位上之一最後驗證脈衝,其可提供約五至10百分比的程式效能改善。
此外,即使某些實施例一般係參照非依電性記憶體(NVM)來討論,但實施例並不限制於一單一類型的NVM與任何類型的非依電性記憶體、或可使用不同NVM類型的組合(例如,以一種格式,諸如一固態驅動器(或SSD,例如,包括NAND及/或NOR類型的記憶體胞元)或可用於儲存之其他格式,諸如一記憶體驅動器、快取記憶體、等等)。該儲存媒體(以SSD格式或其他格式來使用)可為任何類型的儲存媒體,包括,例如,一或多個以下元件:奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁性電阻式隨機存取記憶體(MRAM)、多臨界準位NAND快取記憶體、NOR快取記憶體、自旋轉移轉矩隨機存取記憶體(STTMRAM)、電阻式隨機存取記憶體、位元組可定址3維度交叉點記憶體、單一或多準位PCM(相變記憶體)、或使用硫屬相變材料(例如,硫屬玻璃)之記憶體裝置。此外,亦可使用任何類型的隨機存取記憶體(RAM),諸如一電力儲存器(諸如一電池或電容)支援以維持該資料之動態RAM(DRAM)。依電性記憶體可包括同步DRAM(SDRAM)。在此,於各種不同實施例中甚至可使用能夠於電力失效或電力中斷期間維持資料之依電性記憶體來用於儲存。
本文所述之技術可於各種不同計算系統中提供(例如,包括一非行動計算裝置,諸如一桌上型電腦、工作站、伺服器、料架系統、等等以及一行動計算裝置,諸如一智慧型手機、平板電腦、UMPC(超級行動個人電腦)、膝上型電腦、超筆電TM
計算裝置、智慧型手錶、智慧型眼鏡、智慧型手鐲、等等),包括參照圖1-6討論之系統。更特別是,圖1繪示一根據一實施例之一計算系統100的方塊圖。該系統100可包括一或多個處理器102-1至102-N(本文一般參照為“多個處理器102”或“處理器102”)。該等處理器102可經由一互連體或匯流排104來通訊。每一處理器可包括各種不同構件,為清晰解說其中某些僅參照處理器102-1來討論。因此,該等剩餘處理器102-2至102-N的每一個可包括參照該處理器102-1討論之相同或類似構件。
於一實施例中,該處理器102-1可包括一或多個處理器核心106-1至106-M(本文中參照為“多個核心106”、或更一般參照為“核心106”)、一處理器快取記憶體108(各種不同實施例中其可為一共享快取記憶體或一私有快取記憶體)、及/或一路由器110。該等處理器核心106可於一單一積體電路(IC)晶片上執行。此外,該晶片可包括一或多個共享及/或私有快取記憶體(諸如處理器快取記憶體108)、匯流排或互連體(諸如一匯流排或互連體112)、邏輯120、記憶體控制器(諸如參照圖4-6討論之控制器)、或其他構件。
於一實施例中,該路由器110可用來於該處理器102-1之各種不同構件及/或系統100之間通訊。再者,該處理器102-1可包括超過一個路由器110。另外,大量的路由器110可通訊來將該處理器102-1內側或外側之各種不同構件間的資料選路賦能。
該處理器快取記憶體108可儲存由該處理器102-1之一或多個構件,諸如該等核心106使用的資料(例如,包括指令)。例如,該處理器快取記憶體108可局部快取儲存在一記憶體114中之資料來由該處理器102之構件更快速存取。如圖1所示,該記憶體114可經由該互連體104來與該處理器102通訊。於一實施例中,該(可共享)處理器快取記憶體108可具有各種不同準位,例如,該處理器快取記憶體108可為一中準位快取記憶體及/或一末準位快取記憶體(LLC)。此外,該等核心106的每一個可包括一準位1(L1)處理器核心(116-1)(本文一般參照為“L1處理器核心116”)。該處理器102-1之各種不同構件可直接、透過一匯流排(例如,該匯流排112)、及/或一記憶體控制器或集線器來與該處理器快取記憶體108通訊。
如圖1所示,記憶體114可透過一記憶體控制器120來耦接至系統100之其他構件。記憶體114包括依電性記憶體且可互換地參照為主要記憶體。即使該記憶體控制器120顯示為耦合於該互連體104與該記憶體114之間,該記憶體控制器120仍可位於系統100之別處。例如,某些實施例中,記憶體控制器120或其一部分可設置於該等處理器102的其中之一中。
系統100亦包括非依電性(NV)儲存器(或非依電性記憶體(NVM))裝置,諸如經由SSD控制器邏輯125耦合至該互連體104之一SSD 130。因此,邏輯125可控制系統100之各種不同構件存取該SSD 130。此外,圖1中即使邏輯125顯示為直接耦合至該互連體104,邏輯125仍可替代地經由一儲存匯流排/互連體(諸如該SATA(序列先進技術附接)匯流排、周邊構件互連(PCI)(或快速PCI(PCIe)介面)、等等)來與系統100之一或多個其他構件通訊(例如該儲存器匯流排經由某些其他邏輯,如(諸如參照圖2與4-6討論之)一匯流排橋接器、晶片組來耦合至互連體104)。此外,各種不同實施例中,邏輯125可併入記憶體控制器邏輯(諸如參照圖4-6討論之邏輯)或設置在一相同積體電路(IC)裝置上(例如,與該SSD 130相同的IC裝置上或與該SSD 130相同的外殼中)。系統100亦可包括其他類型的非依電性儲存器,諸如參照圖4-6討論、包括例如一硬碟驅動器、等等之儲存器。
此外,邏輯125及/或SSD 130可耦接至用於接收(例如,以一或多個位元或信號的型式之)資訊的一或多個偵測器(未顯示)以指出該一或多個偵測器檢測之狀態或數值。該(等)偵測器可近似系統100(或例如,本文討論諸如參照包括圖4-6之其他圖形討論的其它計算系統)之構件,包括該等核心106、互連體104或112、該處理器102、SSD 130、SSD匯流排、SATA匯流排、邏輯125、等等外側之構件來設置,以偵測影響該系統/平台之電力/熱行為的各種不同因素之變動,諸如溫度、操作頻率、操作電壓、電力耗損、電力散逸、電流汲取、儲存電壓準位、等等。
如圖1所繪示,系統100可包括邏輯160,其可位於系統100之各種不同位置(諸如圖中所示之位置,包括耦接至互連體104、處理器102內側、等等)。如本文所述,邏輯160可促進有關某些實施例之操作,諸如一預測性CFBYTE數值之決定及/或提供。
圖2繪示一根據一實施例,一SSD之各種不同構件的方塊圖。邏輯160可位於圖1之系統100的各種不同位置、以及SSD控制器邏輯125內側、SSD 130內側、或圖2所示之SSD構件的其中之一。SSD控制器邏輯125可經由一介面250(例如,SATA、SAS、PCIe、等等)來促進該SSD 130與其他系統構件間之通訊,一控制器邏輯282可促進邏輯125與該SSD 130內側之構件間之通訊(或該SSD 130內側之構件間的通訊)。如圖2所示,控制器邏輯282包括一或多個處理器核心或處理器284以及記憶體控制器邏輯286,並耦接至隨機存取記憶體(RAM)288、韌體儲存器290、以及一或更多記憶體模組或晶粒292-1至292-n(其可包括NAND快取記憶體、NOR快取記憶體、或其他類型的非依電性記憶體)。記憶體模組292-1至292-n經由一或多個記憶體通道或匯流排來耦接至該記憶體控制器邏輯286。參照圖1-6討論之一或多個操作可由圖2之一或多個構件來執行,例如,處理器284及/或控制器282可將寫入記憶體模組292-1至292-n或從其讀取之資料壓縮/解壓縮(或以其他方式形成壓縮/解壓縮)。此外,圖1-6之一或多個操作可規劃為該韌體290。再者,某些實施例中,可使用一混合驅動器而非該SSD 130(其中呈現多個記憶體模組/媒體292-1至292-n,諸如本文所述之一硬碟驅動器、快取記憶體、或其他類型的非依電性記憶體)。使用一混合驅動器之實施例中,邏輯160可呈現在與該混合驅動器相同的外殼中。
某些實施例可將需將一準位放置於單一或多準位NAND快取記憶體中之驗證脈衝的數量減少一個。此可藉由具有進入所有先前的程式脈衝中累積的一準位之所有胞元的禁止資訊、以及預測該目前程式脈衝中會通過之胞元數量來達成。若來自先前編程迴圈之失效胞元(維持放置於一特定準位之胞元)的數量低於該“預測性”準則或臨界值,則該實施例於該目前程式脈衝中繼續規劃該等胞元、但針對該準位可避免發出驗證脈衝。此可於每一準位節省一個驗證操作/脈衝,於多準位NAND記憶體中其可改善程式效能約五至十百分比。
再者,某些實施態樣可確保針對一特定準位停止發出驗證脈衝之前,針對該準位未通過驗證之胞元的數量會低於該CFBYTE準則(並於隨後的編程迴圈中禁止該等失效胞元)。某些實施例中,藉由預測該目前程式脈衝中會通過驗證之胞元數量,而若最後符合該CFBYTE目標,則實施例於該目前迴圈中針對該準位可避免發出該驗證脈衝(實際上其已是最後一次該準位受驗證)。因而該技術於每一準位節省一個驗證脈衝,其說明了約五至十百分比的程式效能改善。
因此,為了使該程式實施例更有效率,於每一編程迴圈中並非所有準位皆接收一驗證脈衝。於一實施例中,該迴圈中期待最快規劃的胞元通過驗證時,(例如,邏輯160執行之)該實施例可最佳化來啟動將(多個)驗證脈衝發出至任何準位。無法達到該準位之胞元(例如,最慢規劃的胞元)的總數低於一某預定準則(參照為CFBYTE)時,該實施例亦可針對一準位而停止發出驗證脈衝。某些實施例針對每一準位可節省該最後的驗證操作。
圖3A繪示一根據某些實施例,用於一SSD中之一單一或多準位胞元頁面的一特定準位、高達編程迴圈計數之一函數的一準位“N”之胞元的臨界電壓(VT)分布的代表樣本演進圖。圖3B與3C繪示一根據某些實施例,指出用於一NVM之各種不同準位的樣本驗證目標之比較表。
更特別是,圖3B之表格顯示有關準位“N”受驗證時顯示該迴圈數量之記錄程式實施例的一樣本程序。其中亦顯示於每一迴圈結束針對準位“N”無法通過驗證之胞元數量(而該資訊可於下一迴圈,亦即N+1開始時取得)。如可從該舉例解說範例看出,準位“N”所需之驗證總數為6。對照之下,圖3C之表格顯示一建議預測性CFBYTE程式實施例,其顯示準位“N”驗證時該迴圈數量。其中亦顯示每一迴圈結束時針對準位“N”未通過驗證之胞元的數量(而該資訊可於下一迴圈開始時取得)。迴圈16開始時,迴圈15之CFBYTE估計揭露該預測性CFBYTE準則為符合。應期待迴圈16中發出該程式脈衝後,未通過該CFBYTE準則之胞元的數量約為6,其為該記錄程序之可允許的限制之原本。然而當所有胞元往前從迴圈17限制時,迴圈16中不需要驗證準位“N”。如圖所示,用於準位“N”之驗證總數為5(或為小於圖3B的一)。
此外,考量於多準位規畫實施例中,胞元(例如,如圖3B與3C所示之2000)放置為準位“N”之一範例。參照圖3A,該第11個編程迴圈中該頁面之最快胞元將達到準位“N”之程式驗證(PV)電壓。所有胞元未通過PV電壓時,該第11個脈衝之前針對準位“N”驗證可能不成功。例如,如圖3B所示,此可藉由將該正確的迴圈數量設定在該實施例開始針對準位“N”驗證時來避免。圖3B亦顯示每一編程迴圈後,針對準位“N”未通過PV(其中胞元臨界電壓低於PV電壓)之胞元(僅為舉例解說目的)的總量。計數該等失效胞元之程序稱為CFBYTE估計。因為於迴圈“M”中針對所有準位受驗證之通過/未通過資訊可於該迴圈結束時取得,故編程迴圈“M+1”中之程式脈衝期間(或僅為之前)會出現針對編程迴圈“M”之CFBYTE估計。
例如,假設該CFBYTE準則為6(亦即,允許我們落後小於或等於六個胞元低於準位“N”之PV電壓),該第15個迴圈結束前,55個胞元未通過PV但該第16個迴圈開始時該資訊可取用。同樣地,該第16個迴圈結束前,6個胞元未通過PV準則。此後,該第17個迴圈開始期間該資訊可取用,該程式實施例於該第17個迴圈中針對準位“N”停止驗證、並禁止未來的編程迴圈(大於17)中之所有失效胞元。因此,若期待該第16個程式脈衝小於或等於針對準位“N”之該CFBYTE準則之後胞元數量落後,則該第16個編程迴圈期間實際上不需要針對準位“N”驗證。
根據某些實施例,只要針對該頁面之所有胞元的臨界電壓之累積分布函數(CDF)(例如,16千位元組或16*1024*8=131,072個胞元)已知,即可施加該提議方法。臨界電壓可由若干因素,如胞元幾何學、該通道之摻雜濃度或其他程序參數來決定,其一般傾向為具有相關中數與標準偏差之正常的高斯分布。此外,由於每一隨後的(較高程式電壓之)編程迴圈,有關未通過該程式驗證之胞元的臨界電壓CDF之外型可維持不變,但可取決於該程式電壓階躍來於該臨界電壓軸上橫向移動。該高斯分布之特定範例中,由於每一隨後的程式脈衝,該分布可移向較高臨界電壓而維持該相同的標準偏差。總之,基於該CDF以及該臨界電壓階躍,該實施例可預測該目前編程迴圈後未通過PV之胞元數量,來從該先前迴圈得知失效胞元的數量。
此外,若該預測性數字小於或等於該CFBYTE準則/臨界值,則該目前編程迴圈中,邏輯160針對準位“N”可停止發出一驗證脈衝。此亦顯示於圖3C。亦即,該第16個迴圈開始時,該第15個迴圈之CFBYTE估計顯示55個胞元未通過PV。呼叫該“預測性CFBYTE”準則/臨界值,邏輯160可估計該第16個程式脈衝後,未通過PV之胞元數量將為6(其為該實際的CFBYTE準則)。此情況中,該第16個迴圈中不需發出一驗證脈衝,因為所有胞元不論其通過/未通過狀態將從該第17個編程迴圈中禁止。因此,基於該先前脈衝之資訊來預期該目前脈衝中未通過驗證之胞元數量針對每一準位可協助節省最後的驗證脈衝,其於多準位胞元規畫中可提供約五至十百分比的一程式效能改善。應注意由於每個隨後迴圈,該預測性CFBYTE準則(如本文所述為55)係取決於該最初CFBYTE準則(如本文所述為6)、胞元臨界電壓之CDF與臨界電壓階躍。
然而,不論該臨界電壓CDF之外型、該最初CFBYTE準則、與該程式臨界電壓階躍,各種不同實施例中,該建議方法可針對該頁面之每一規劃準位來部署以節省該最後的驗證脈衝。
另外,由於本文所述之某些技術,該原始位元錯誤率(RBER)可能較高。但相較於由其他失效機構主宰之壽命保持結束的需求,RBER的增加可期待相當低。換言之,該預測性準則可選擇來使得該實際的落後胞元數量顯著低於該預定的錯誤修正碼(ECC)限制。而且,某些適當的防護帶可分配給該預測性CFBYTE準則/臨界值以考量(比預期還)慢規畫的胞元。未配置足夠的防護帶會造成針對一給定準位無法越過或達到該PV電壓之胞元數量大於可容許數量,而最後使RBER成為比得上/高於該ECC限制。
圖3D繪示一根據一實施例,使用一預測性CFBYTE之一方法350的流程圖。於一實施例中,參照其他圖形討論之各種不同構件可用來執行方法350之一或多個操作。例如,邏輯160可用來執行方法350之一或多個操作。
參照圖1-3D,操作352中,可決定於一目前編程迴圈中通過或未通過驗證之非依電性記憶體的記憶體胞元之數量。該等記憶體胞元之數量的決定可至少部分基於來自一先前編程迴圈之資訊來執行(其中該先前編程迴圈於該目前編程迴圈之前執行)。
操作354中,其決定一預測性臨界值(例如,諸如參照本文其他圖形討論之預測性CFBYTE)。若該預測性臨界值尚未達到,則之後方法350於操作356中繼續驗證(例如,針對該目前編程迴圈)。否則,若該預測性臨界值已達到,則如本文所述操作358禁止一或多個隨後程式(例如,驗證)脈衝(例如,針對該目前編程迴圈及/或針對操作352之胞元的所有隨後的編程迴圈)。
圖4繪示一根據一實施例之一計算系統400的方塊圖。該計算系統400可包括經由一互連網路(或匯流排)404通訊之一或多個中央處理單元(CPU)402或處理器。該等處理器402可包括一通用處理器、一網路處理器(處理於一電腦網路403上傳達之資料)、一應用處理器(諸如行動電話、智慧型手機、等等中使用的)、或其他類型的處理器(包括一精簡指令集電腦(RISC)處理器或一複雜指令集電腦(CISC))。可使用各種不同類型的電腦網路403,包括有線(例如,乙太網路、十億位元網路、光纖、等等)或無線網路(諸如蜂巢式,包括3G(第三代行動電話技術或第三代無線格式(UWCC))、4G、嵌式低功率(LPE)、等等)。此外,該處理器402可具有一單一或多個核心的設計。具有一多核心設計之處理器402可將不同類型的處理器核心整合於該相同積體電路(IC)晶粒上。另外,具有一多核心設計之處理器402可作為對稱或非對稱多重處理器來予以執行。
於一實施例中,一或多個處理器402可與圖1之處理器102相同或類似。例如,一或多個處理器402可包括一或多個核心106及/或處理器快取記憶體108。另外,參照圖1-3D討論之操作可由系統400之一或多個構件來執行。
一晶片組406亦可與該互連網路404通訊。該晶片組406可包括一圖形與記憶體控制集線器(GMCH)408。該GMCH 408可包括與該記憶體114通訊之一記憶體控制器410(於一實施例中其可與圖1之記憶體控制器120相同或類似)。該記憶體114可儲存資料,其包括在該計算系統400中之CPU 402、或任何其他裝置執行的指令序列。另外,系統400包括邏輯125、SSD 130、及/或邏輯160(各種不同實施例中,其可經由諸如繪示之匯流排422、經由諸如404之其他互連體來耦合至系統400,其中邏輯125併入晶片組406、等等)。於一實施例中,該記憶體114可包括一或多個依電性儲存器(或記憶體)裝置,諸如隨機存取記憶體(RAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、靜態RAM(SRAM)、或其他類型的儲存器裝置。亦可使用非依電性記憶體,諸如一硬碟驅動器、快取記憶體、等等,包括本文所述之NVM。額外裝置,諸如多個CPU及/或多個系統記憶體可經由該互連網路404來通訊。
該GMCH 408亦可包括與一圖形加速器416通訊之一圖形介面414。於一實施例中,該圖形介面414可經由一加速圖形埠(AGP)或周邊購件互連(PCI)(或快速PCI(PCIe)介面)與該圖形加速器416通訊。於一實施例中,一顯示器417(諸如一平板顯示器、觸控顯示器、等等)可透過,例如,一信號轉換器來與該圖形介面414通訊,該轉換器可將儲存在一儲存裝置,諸如視訊記憶體或系統記憶體中之一影像的數位表示法轉換成該顯示器闡述與顯示之顯示器信號。該顯示器裝置產生之顯示器信號在該顯示器417闡述與隨後顯示之前可通過各種不同的控制裝置。
一集線器介面418可允許該GMCH 408與一輸入/輸出控制集線器(ICH) 420來通訊。該ICH 420可提供一介面至與該計算系統400通訊之I/O裝置。該ICH 420可透過一周邊橋接器(或控制器) 424,諸如一周邊購件互連(PCI)橋接器、一通用串列匯流排(USB)控制器、或其他類型的周邊橋接器或控制器來與一匯流排422通訊。該橋接器424可在該CPU 402與周邊裝置之間提供一資料路徑。亦可使用其他類型的拓樸結構。此外,多個匯流排可,例如,透過多個橋接器或控制器來與該ICH 420通訊。再者,各種不同實施例中,與該ICH 420通訊之其他周邊設備可包括整合驅動器電子介面(IDE)或小型電腦系統介面(SCSI)硬碟驅動器、USB埠、一鍵盤、一滑鼠、並列埠、串列埠、軟碟驅動器、數位輸出支援(例如,數位視訊介面(DVI))、或其他裝置。
該匯流排422可與一聲響裝置426、一或多個磁碟驅動器428、以及一網路介面裝置430通訊(其例如,經由一有線或無線介面與該電腦網路403通訊)。如圖所示,該網路介面裝置430可耦接至一天線431來(例如,經由一電氣及電子工程師協會(IEEE)802.11介面(包括IEEE 802.11a/b/g/n/ac等等)、蜂巢式介面、3G、4G、LPE、等等)無線地與該網路403通訊。其他裝置可經由該匯流排422通訊。此外,某些實施例中,各種不同構件(諸如該網路介面裝置430)可與該GMCH 408通訊。此外,該處理器402與該GMCH 408可組合來形成一單一晶片。再者,其他實施例中,該圖形加速器416可包括在該GMCH 408中。
此外,該計算系統400可包括依電性及/或非依電性記憶體(或儲存器)。例如,非依電性記憶體可包括一或多個下列記憶體:唯讀記憶體(ROM)、可規劃ROM(PROM)、可抹除PROM(EPROM)、電子EPROM(EEPROM)、一磁碟驅動器(例如,428)、一軟碟、一光碟ROM(CD-ROM)、一多樣化數位光碟(DVD)、快取記憶體、一磁性光碟、或能夠儲存電子資料(例如,包括指令)之其他類型的非依電性機器可讀媒體。
圖5繪示根據一實施例,以一點對點(PtP)組態來安排之一計算系統500。特別是,圖5顯示處理器、記憶體、與輸入/輸出裝置由若干點對點介面互連之一系統。參照圖1至4討論之操作可由該系統500之一或多個構件來執行。
如圖5繪示,該系統500可包括若干處理器,為了清晰解說其僅顯示兩個處理器502與504。該等處理器502與504之每一個包括一局部記憶體控制器集線器(MCH)506與508來將與記憶體510與512之通訊賦能。該等記憶體510及/或512可儲存諸如參照圖1及/或圖4之記憶體114討論的各種不同資料。此外,某些實施例中,MCH 506與508可包括該記憶體控制器120。另外,系統500包括邏輯125、SSD 130、及/或邏輯160(其可經由諸如繪示之匯流排540/544、經由至該(等)處理器502/504或晶片組520之其他點對點連接來耦接至系統500,而某些實施例中,邏輯125併入晶片組520、等等)。
於一實施例中,該等處理器502與504可為參照圖4討論之處理器402的其中之一。該等處理器502與504可分別使用PtP介面電路516與518經由一點對點(PtP)介面514來交換資料。此外,該等處理器502與504之每一個可使用點對點介面電路526、528、530、與532,經由個別的PtP介面522與524與一晶片組520交換資料。該晶片組520可進一步例如,使用一PtP介面電路537經由一高效能圖形介面536來與一高效能圖形電路534交換資料。如參照圖4討論,某些實施例中,該圖形介面536可耦合至一顯示器裝置(例如,顯示器417)。
於一實施例中,圖1之一或多個該等核心106及/或處理器快取記憶體108可位於該等處理器502與504中(未顯示)。然而,其他實施例可存在圖5之系統500中的其他電路、邏輯單元、或裝置。此外,其他實施例可分散遍及在圖5繪示之若干電路、邏輯單元、或裝置。
該晶片組520可使用一PtP介面電路541與一匯流排540通訊。該匯流排540可具有與其通訊之一或更多裝置,諸如一匯流排橋接器542與I/O裝置543。經由一匯流排544,該匯流排橋接器542可與其他裝置通訊,諸如一鍵盤/滑鼠545、通訊裝置546(諸如數據機、網路介面裝置、或可與該電腦網路403通訊,如參照網路介面裝置430討論,例如,包括經由天線431之其他通訊裝置)、聲響I/O裝置、及/或一資料儲存裝置548。該資料儲存裝置548可儲存可由該等處理器502及/或504執行之編碼549。
某些實施例中,本文討論之一或多個構件可作為一單晶片系統(SOC)裝置來予以具體化。圖6繪示根據一實施例之一SOC封裝體的一方塊圖。如圖6中繪示,SOC 602包括一或多個中央處理單元(CPU)核心620、一或多個圖形處理器單元(GPU)核心630、一輸入/輸出(I/O)介面640、以及一記憶體控制器642。該SOC封裝體602之各種不同構件可耦接至諸如本文參照其他圖形中討論之一互連體或匯流排。此外,該SOC封裝體602可包括諸如本文參照其他圖形中討論之更多或更少的構件。另外,該SOC封裝體620之每一構件可包括,例如,如參照本文其他圖形討論之一或多個其他構件。於一實施例中,SOC封裝體602(與其構件)設置在一或更多積體電路(IC)晶粒上,例如,其封裝在一單一半導體裝置。
如圖6繪示,SoC封裝體602經由該記憶體控制器642耦接至一記憶體660(其可與本文參照其他圖形討論之記憶體類似或相同)。於一實施例中,該記憶體660(或其一部分)可整合於該SOC封裝體602上。
該I/O介面640可例如,經由諸如本文參照其他圖形討論之一互連體及/或匯流排耦接至一或多個I/O裝置670。I/O裝置670可包括一鍵盤、一滑鼠、一觸控墊、一顯示器、一影像/視訊擷取裝置(諸如一相機或攝錄影機/攝影機)、一觸控螢幕、一揚聲器、之類的其中之一或多個。此外,於一實施例中,SOC封裝體602可包括/整合該邏輯125/160。或者,該邏輯125/160可設置在該SOC封裝體602外側(亦即,作為一分離邏輯)。
下列範例係有關其他實施例。範例1包括一種裝置,其包含:耦接至非依電性記憶體之邏輯,其用以決定該非依電性記憶體於一目前編程迴圈中通過或未通過驗證的一記憶體胞元數量,其中該邏輯至少部分基於來自一先前編程迴圈之資訊來決定該等記憶體胞元的數量,其中該先前編程迴圈於該目前編程迴圈之前執行,其中該邏輯可基於來自該先前編程迴圈之資訊與一臨界值的比較,來禁止一或多個驗證脈衝於該目前編程迴圈中發出。範例2選擇性包括範例1之裝置,其中該臨界值係包含一預測性計數失效位元組(CFBYTE)值。範例3選擇性包括範例1之裝置,其中該臨界值係對應超過一臨界電壓值之一預期的記憶體胞元數量,該臨界值要基於針對該非依電性記憶體之一頁面中的所有胞元之一臨界電壓準則的一累積分布函數(CDF),以及無法符合來自該先前編程迴圈之一臨界電壓準則的胞元之數目來決定。範例4選擇性包括範例3之裝置,其中該累積分布函數係包含一高斯分布函數。範例5選擇性包括範例1之裝置,其中該目前編程迴圈中之臨界值係基於來自該先前編程迴圈之所有胞元的臨界電壓值之一累積分布函數(CDF)來決定。範例6選擇性包括範例5之裝置,其中該累積分布函數係包含一高斯分布函數。範例7選擇性包括範例1之裝置,其中該非依電性記憶體係包含一多準位非依電性記憶體,其中該邏輯係基於來自一先前編程迴圈之資訊來決定已未通過或通過用於該多準位非依電性記憶體之每一準位的驗證之胞元數量。範例8選擇性包括範例1之裝置,其中一編程迴圈係包含一或多個驗證脈衝前之一程式脈衝。範例9選擇性包括範例1之裝置,其中一編程迴圈係包含一或多個驗證脈衝前之一程式脈衝,其中針對一隨後的編程迴圈,每一程式脈衝之一電壓準位要被提升以協助對於規劃胞元之一較慢者去達到其目標電壓準位。範例10選擇性包括範例1之裝置,其中一記憶體控制器係包含該邏輯。範例11選擇性包括範例1之裝置,其中一固態驅動器係包含下列一或多個元件:該非依電性記憶體或該邏輯。範例12選擇性包括範例1之裝置,其中該非依電性記憶體係包含下列一或多個元件:奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁性電阻式隨機存取記憶體(MRAM)、多臨界準位NAND快取記憶體、NOR快取記憶體、自旋轉矩轉移隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體、位元組可定址3維度交叉點記憶體、單一或多準位PCM(相變記憶體)、使用硫屬相變材料之一記憶體裝置、以及電力失效或電力中斷期間由一電力存量支援以維持資料之依電性記憶體。範例13選擇性包括範例1之裝置,更包含下列一或多個元件:用以傳達儲存於該非依電性記憶體之資料的至少一網路介面、一顯示器、或一電池。
範例14包括一種方法,其包含:決定非依電性記憶體於一目前編程迴圈中通過或未通過驗證的一記憶體胞元數量,其中決定該等記憶體胞元之數量係至少部分基於來自一先前編程迴圈之資訊來執行,其中該先前編程迴圈於該目前編程迴圈之前執行,其中該目前編程迴圈中發出之一或多個驗證脈衝係基於來自該先前編程迴圈之資訊與一臨界值的比較來禁止。範例15選擇性包括範例14之方法,其中該臨界電壓包含一預測性計數失效位元組(CFBYTE)值。範例16選擇性包括範例14之方法,其中該臨界電壓對應超過一臨界電壓值之一預期的記憶體胞元數量,更包含基於針對該非依電性記憶體之一頁面中的所有胞元之一臨界電壓準則的一累積分布函數(CDF),以及無法符合來自該先前編程迴圈之一臨界電壓準則的胞元之數目來決定該臨界值。範例17選擇性包括範例14之方法,更包含基於來自該先前編程迴圈之所有胞元的臨界電壓值之一累積分布函數(CDF)來決定該目前程式中之臨界值。範例18選擇性包括範例17之方法,其中該累積分布函數包含一高斯分布函數。範例19選擇性包括範例14之方法,其中該非依電性記憶體包含一多準位非依電性記憶體,更包含基於來自一先前編程迴圈之資訊來決定已未通過或通過用於該多準位非依電性記憶體之每一準位的驗證之胞元數量。範例20選擇性包括範例14之方法,其中固態驅動器包含一或多個該等非依電性記憶體。範例21選擇性包括範例14之方法,其中該非依電性記憶體包含下列一或多個元件:奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁性電阻式隨機存取記憶體(MRAM)、多臨界準位NAND快取記憶體、NOR快取記憶體、自旋轉矩轉移隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體、位元組可定址3維度交叉點記憶體、單一或多準位PCM(相變記憶體)、使用硫屬相變材料之一記憶體裝置、以及電力失效或電力中斷期間由一電力存量支援以維持資料之依電性記憶體。範例22選擇性包括範例14之方法,更包含用以傳達儲存於該非依電性記憶體之資料的至少一網路介面。
範例23包括一種包含一或多個指令之電腦可讀媒體,該等指令於至少一處理器上執行時,係組配該至少一處理器執行一或多個操作來進行以下動作:決定非依電性記憶體於一目前編程迴圈中通過或未通過驗證的一記憶體胞元數量,其中決定該等記憶體胞元之數量係至少部分基於來自一先前編程迴圈之資訊來執行,其中該先前編程迴圈於該目前編程迴圈之前執行,其中該目前編程迴圈中發出之一或多個驗證脈衝係基於來自該先前編程迴圈之資訊與一臨界值的比較來禁止。範例24選擇性包括範例23之電腦可讀媒體,其中該臨界電壓包含一預測性計數失效位元組(CFBYTE)值。範例25選擇性包括範例23之電腦可讀媒體,其中該臨界電壓對應超過一臨界電壓值之一預期的記憶體胞元數量,該電腦可讀媒體更包含一或多個指令,該等指令於該至少一處理器上執行時,係組配該至少一處理器來執行一或多個操作以基於針對該非依電性記憶體之一頁面中的所有胞元之臨界電壓值的一累積分布函數(CDF),以及無法符合來自該先前編程迴圈之一臨界電壓準則的胞元之數目來形成決定該臨界值。
範例26選擇性包括一種系統,其包含:一包含邏輯、耦接至非依電性記憶體之固態驅動器,以決定該非依電性記憶體於一目前編程迴圈中通過或未通過驗證的一記憶體胞元數量;以及用以傳達儲存於該非依電性記憶體之資料的一或多個網路介面,其中該邏輯至少部分基於來自一先前編程迴圈之資訊來決定該等記憶體胞元的數量,其中該先前編程迴圈於該目前編程迴圈之前執行,其中該邏輯可基於來自該先前編程迴圈之資訊與一臨界值的比較,來禁止一或多個驗證脈衝於該目前編程迴圈中發出。範例27選擇性包括範例26之系統,其中該臨界值係包含一預測性計數失效位元組(CFBYTE)值。範例28選擇性包括範例26之系統,其中該臨界值係對應超過一臨界電壓值之一預期的記憶體胞元數量,該臨界值要基於針對該非依電性記憶體之一頁面中的所有胞元之臨界電壓值的一累積分布函數(CDF),以及無法符合來自該先前編程迴圈之一臨界電壓準則的胞元之數目來決定。
範例29包括一種裝置,其包含用以執行如任何上述範例中所列之一方法的裝置。範例30包含包括機器可讀指令之機器可讀儲存器,該等指令受執行時,用於執行一種方法或實現如任何上述範例中所列之一種裝置。
各種不同實施例中,本文討論之操作,例如,參照圖1至6,可作為硬體(例如,電路)、軟體、韌體、微碼、或其組合來予以執行,其可提供來作為一電腦程式產品,例如,包括儲存有指令(或軟體程序)之一有形(例如,非暫態)機器可讀或電腦可讀媒體,該等指令用來規劃一電腦以執行本文討論之一程序。此外,藉由範例,該術語“邏輯”可包括軟體、硬體、或軟體與硬體之組合。該機器可讀媒體可包括諸如參照圖1至6討論之一儲存裝置。
另外,該類有形電腦可讀媒體可下載來作為一電腦程式產品,其中該程式可經由一通訊鏈接(例如,一匯流排、一數據機、或一網路連接)藉由資料信號(諸如於一載波或其他傳播媒體)而從一遠端電腦(例如,一伺服器)轉移至一請求電腦(例如,一客戶端)。
該說明書中參照為“一實施例”或“某一實施例”表示,與該實施例相關說明之一特別特徵、結構、或特性可包括在至少一實施態樣中。該說明書之不同地方出現該片語“於一實施例中”可或可不全參照為該相同實施例。
此外,該說明與請求項中,可使用該等術語“耦合”與“連接”、以及其衍生名詞。某些實施例中,“連接”可用於表示兩個或更多元件直接以實體或電氣方式彼此接觸。“耦合”可表示兩個或更多元件直接實體或電氣接觸。然而,“耦合”亦可表示兩個或更多元件可不直接彼此接觸,但仍可彼此協力或互動。
因此,雖然實施例以特定於結構上特徵、數值、及/或方法學動作之語言來說明,但應了解請求標的可不侷限於所述之該特定特徵、數值、或動作。而是,該等特定特徵、數值、與動作揭示來作為執行該請求標的之樣本型式。
15、16、17、M‧‧‧迴圈
100、400、500‧‧‧計算系統
102、102-1...102-N、502、504‧‧‧處理器
104、112、404‧‧‧互連體或匯流排
106、106-1...106-M‧‧‧處理器核心
108‧‧‧處理器快取記憶體
110‧‧‧路由器
114、510、512、660‧‧‧記憶體
116‧‧‧L1處理器快取記憶體
120‧‧‧邏輯、記憶體控制器
125‧‧‧固態驅動器控制器邏輯
130‧‧‧固態驅動器
160‧‧‧邏輯
250‧‧‧介面
282‧‧‧控制器邏輯
284‧‧‧處理器核心或處理器
286‧‧‧記憶體控制器邏輯
288‧‧‧隨機存取記憶體
290‧‧‧韌體儲存器
292-1...292-n‧‧‧記憶體模組或晶粒
350‧‧‧方法
352、354、356、358‧‧‧操作
402‧‧‧中央處理單元
403‧‧‧電腦網路
406、520‧‧‧晶片組
408‧‧‧圖形與記憶體控制集線器
410、642‧‧‧記憶體控制器
414、536‧‧‧圖形介面
416‧‧‧圖形加速器
417‧‧‧顯示器
418‧‧‧集線器介面
420‧‧‧輸入/輸出控制集線器
422、540‧‧‧匯流排
424‧‧‧周邊橋接器(或控制器)
426、547‧‧‧聲響裝置
428‧‧‧磁碟驅動器
430‧‧‧網路介面裝置
431‧‧‧天線
506、508‧‧‧記憶體控制器集線器
540、544‧‧‧匯流排
514、522、524‧‧‧點對點介面
516、518、526、528、530、532、537、541‧‧‧點對點介面電路
534‧‧‧圖形電路
542‧‧‧匯流排橋接器
543、670‧‧‧I/O裝置
545‧‧‧鍵盤/滑鼠
546‧‧‧通訊裝置
548‧‧‧資料儲存裝置
549‧‧‧編碼
602‧‧‧SoC封裝體
620‧‧‧中央處理單元核心
630‧‧‧圖形處理器單元核心
640‧‧‧輸入/輸出介面
2000‧‧‧胞元
N‧‧‧準位
100、400、500‧‧‧計算系統
102、102-1...102-N、502、504‧‧‧處理器
104、112、404‧‧‧互連體或匯流排
106、106-1...106-M‧‧‧處理器核心
108‧‧‧處理器快取記憶體
110‧‧‧路由器
114、510、512、660‧‧‧記憶體
116‧‧‧L1處理器快取記憶體
120‧‧‧邏輯、記憶體控制器
125‧‧‧固態驅動器控制器邏輯
130‧‧‧固態驅動器
160‧‧‧邏輯
250‧‧‧介面
282‧‧‧控制器邏輯
284‧‧‧處理器核心或處理器
286‧‧‧記憶體控制器邏輯
288‧‧‧隨機存取記憶體
290‧‧‧韌體儲存器
292-1...292-n‧‧‧記憶體模組或晶粒
350‧‧‧方法
352、354、356、358‧‧‧操作
402‧‧‧中央處理單元
403‧‧‧電腦網路
406、520‧‧‧晶片組
408‧‧‧圖形與記憶體控制集線器
410、642‧‧‧記憶體控制器
414、536‧‧‧圖形介面
416‧‧‧圖形加速器
417‧‧‧顯示器
418‧‧‧集線器介面
420‧‧‧輸入/輸出控制集線器
422、540‧‧‧匯流排
424‧‧‧周邊橋接器(或控制器)
426、547‧‧‧聲響裝置
428‧‧‧磁碟驅動器
430‧‧‧網路介面裝置
431‧‧‧天線
506、508‧‧‧記憶體控制器集線器
540、544‧‧‧匯流排
514、522、524‧‧‧點對點介面
516、518、526、528、530、532、537、541‧‧‧點對點介面電路
534‧‧‧圖形電路
542‧‧‧匯流排橋接器
543、670‧‧‧I/O裝置
545‧‧‧鍵盤/滑鼠
546‧‧‧通訊裝置
548‧‧‧資料儲存裝置
549‧‧‧編碼
602‧‧‧SoC封裝體
620‧‧‧中央處理單元核心
630‧‧‧圖形處理器單元核心
640‧‧‧輸入/輸出介面
2000‧‧‧胞元
N‧‧‧準位
該詳細說明將參照該等附圖來提供。該等圖形中,一參考數字之最左數字可識別該參考數字首次出現之圖形。不同圖形中使用相同的參考數字表示類似或相同的項目。
圖1與4-6繪示可用來執行本文所述之各種不同實施例的計算系統之實施例的方塊圖。
圖2繪示一根據一實施例,一固態驅動器之各種不同構件的方塊圖。
圖3A繪示一根據某些實施例,用於一固態驅動器(SSD)之一頁面中的一規劃準位之胞元臨界電壓分布值的代表樣本演進圖。
圖3B與3C繪示一根據某些實施例,指出用於一非依電性記憶體之各種不同準位的樣本驗證目標之比較表。
圖3D繪示一根據一實施例,使用用於非依電性記憶體之一預測性CFBYTE的一方法之流程圖。
100‧‧‧計算系統
102、102-1...102-N‧‧‧處理器
104、112‧‧‧互連體或匯流排
106、106-1...106-M‧‧‧處理器核心
108‧‧‧處理器快取記憶體
110‧‧‧路由器
114‧‧‧記憶體
116‧‧‧L1處理器快取記憶體
120‧‧‧邏輯、記憶體控制器
125‧‧‧SSD控制器邏輯
130‧‧‧SSD
160‧‧‧邏輯
Claims (25)
- 一種裝置,其包含: 耦接至非依電性記憶體之邏輯,其用以決定該非依電性記憶體於一目前編程迴圈中通過或未通過驗證的記憶體胞元之數量, 其中該邏輯至少部分基於來自一先前編程迴圈之資訊來決定該等記憶體胞元的數量,其中該先前編程迴圈要在該目前編程迴圈之前被執行,其中該邏輯要基於來自該先前編程迴圈之該資訊與一臨界值的比較,致使禁止一或多個驗證脈衝於該目前編程迴圈中被發出。
- 如請求項1之裝置,其中該臨界值係包含一預測性計數失效位元組(CFBYTE)值。
- 如請求項1之裝置,其中該臨界值係對應超過一臨界電壓值之一預期的記憶體胞元之數量,該臨界值要基於針對該非依電性記憶體之一頁面中的所有胞元之臨界電壓值的一累積分布函數(CDF),以及無法符合來自該先前編程迴圈之一臨界電壓準則的胞元之數目來決定。
- 如請求項3之裝置,其中該累積分布函數要包含一高斯分布函數。
- 如請求項1之裝置,其中於該目前編程迴圈中之臨界值要基於來自該先前編程迴圈之所有胞元的臨界電壓值之一累積分布函數(CDF)來決定。
- 如請求項5之裝置,其中該累積分布函數要包含一高斯分布函數。
- 如請求項1之裝置,其中該非依電性記憶體要包含一多準位非依電性記憶體,其中該邏輯要基於來自一先前編程迴圈之資訊來決定關於該多準位非依電性記憶體之每一準位的未通過或已通過驗證之胞元數量。
- 如請求項1之裝置,其中一編程迴圈要包含由一或多個驗證脈衝所接在後面的一程式脈衝。
- 如請求項1之裝置,其中一編程迴圈要包含由一或多個驗證脈衝所接在後面之一程式脈衝,其中針對一隨後的編程迴圈,每一程式脈衝之一電壓準位要被提升以協助對於規劃胞元之一較慢者去達到其目標電壓準位。
- 如請求項1之裝置,其中一記憶體控制器要包含該邏輯。
- 如請求項1之裝置,其中一固態驅動器要包含該非依電性記憶體或該邏輯之一或多者。
- 如請求項1之裝置,其中該非依電性記憶體要包含下列一或多個元件:奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁性電阻式隨機存取記憶體(MRAM)、多臨界準位NAND快取記憶體、NOR快取記憶體、自旋轉矩轉移隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體、位元組可定址3維度交叉點記憶體、單一或多準位PCM(相變記憶體)、使用硫屬相變材料之一記憶體裝置、以及電力失效或電力中斷期間由一電力存量支援以維持資料之依電性記憶體。
- 如請求項1之裝置,更包含下列一或多個元件:用以傳達要被儲存於該非依電性記憶體之資料的至少一網路介面、一顯示器、或一電池。
- 一種方法,其包含: 決定非依電性記憶體於一目前編程迴圈中通過或未通過驗證的記憶體胞元之數量, 其中決定該等記憶體胞元之數量係至少部分基於來自一先前編程迴圈之資訊來執行,其中該先前編程迴圈係於該目前編程迴圈之前執行,其中該目前編程迴圈中所要發出之一或多個驗證脈衝係基於來自該先前編程迴圈之該資訊與一臨界值的比較而被禁止。
- 如請求項14之方法,其中該臨界值包含一預測性計數失效位元組(CFBYTE)值。
- 如請求項14之方法,其中該臨界值對應於超過一臨界電壓值之一預期的記憶體胞元之數量,更包含基於針對該非依電性記憶體之一頁面中的所有胞元之臨界電壓值的一累積分布函數(CDF),以及無法符合來自該先前編程迴圈之一臨界電壓準則的胞元之數目來決定該臨界值。
- 如請求項14之方法,更包含基於來自該先前編程迴圈之所有胞元的臨界電壓值之一累積分布函數(CDF)來決定該目前編程中之臨界值。
- 如請求項17之方法,其中該累積分布函數包含一高斯分布函數。
- 如請求項14之方法,其中該非依電性記憶體包含一多準位非依電性記憶體,更包含基於來自一先前編程迴圈之資訊來決定關於該多準位非依電性記憶體之每一準位的未通過或已通過驗證之胞元數量。
- 如請求項14之方法,其中固態驅動器包含一或多個該等非依電性記憶體。
- 如請求項14之方法,其中該非依電性記憶體包含下列一或多個元件:奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁性電阻式隨機存取記憶體(MRAM)、多臨界準位NAND快取記憶體、NOR快取記憶體、自旋轉矩轉移隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體、位元組可定址3維度交叉點記憶體、單一或多準位PCM(相變記憶體)、使用硫屬相變材料之一記憶體裝置、以及電力失效或電力中斷期間由一電力存量支援以維持資料之依電性記憶體。
- 如請求項14之方法,更包含傳達儲存於該非依電性記憶體之資料的一或多個網路介面。
- 一種包含一或多個指令之至少一個電腦可讀媒體,該等指令於至少一處理器上執行時,組配該至少一處理器去進行以下一或多個操作: 決定非依電性記憶體於一目前編程迴圈中通過或未通過驗證的記憶體胞元之數量, 其中決定該等記憶體胞元之數量係至少部分基於來自一先前編程迴圈之資訊來執行,其中該先前編程迴圈於該目前編程迴圈之前被執行,其中於該目前編程迴圈中要被發出之一或多個驗證脈衝係基於來自該先前編程迴圈之該資訊與一臨界值的比較而被禁止。
- 如請求項23之電腦可讀媒體,其中該臨界值包含一預測性計數失效位元組(CFBYTE)值。
- 如請求項23之電腦可讀媒體,其中該臨界值對應於超過一臨界電壓值之一預期的記憶體胞元之數量,該電腦可讀媒體更包含一或多個指令,該等指令於該至少一處理器上執行時,組配該至少一處理器來執行一或多個操作,以基於針對該非依電性記憶體之一頁面中的所有胞元之臨界電壓值的一累積分布函數(CDF),以及無法符合來自該先前編程迴圈之一臨界電壓準則的胞元之數目來致使該臨界值之決定。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/998,119 | 2015-12-26 | ||
US14/998,119 US10141071B2 (en) | 2015-12-26 | 2015-12-26 | Predictive count fail byte (CFBYTE) for non-volatile memory |
WOPCT/US16/55227 | 2016-10-03 | ||
PCT/US2016/055227 WO2017112022A1 (en) | 2015-12-26 | 2016-10-03 | Predictive count fail byte (cfbyte) for non-volatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201725506A true TW201725506A (zh) | 2017-07-16 |
TWI745317B TWI745317B (zh) | 2021-11-11 |
Family
ID=59086733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105138983A TWI745317B (zh) | 2015-12-26 | 2016-11-25 | 電子裝置、用於編程非依電性記憶體之方法、及非暫態電腦可讀媒體 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10141071B2 (zh) |
TW (1) | TWI745317B (zh) |
WO (1) | WO2017112022A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10141071B2 (en) | 2015-12-26 | 2018-11-27 | Intel Corporation | Predictive count fail byte (CFBYTE) for non-volatile memory |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9852065B1 (en) | 2016-06-28 | 2017-12-26 | Intel Corporation | Method and apparatus for reducing data program completion overhead in NAND flash |
US10354738B2 (en) | 2017-09-27 | 2019-07-16 | Micron Technology, Inc. | One check fail byte (CFBYTE) scheme |
WO2020081524A1 (en) * | 2018-10-15 | 2020-04-23 | Nvidia Corporation | Enhanced in-system test coverage based on detecting component degradation |
US10811111B1 (en) * | 2019-03-26 | 2020-10-20 | Yangtze Memory Technologies Co., Ltd. | Non-volatile memory device and method for programming in non-volatile memory device by applying multiple bitline bias voltages |
JP2022525273A (ja) | 2019-03-26 | 2022-05-12 | 長江存儲科技有限責任公司 | 複数のビット線バイアス電圧を印加することによって、不揮発性メモリデバイスに書き込むための方法 |
US20230078456A1 (en) * | 2021-09-13 | 2023-03-16 | Sandisk Technologies Llc | Programming techniques to improve programming time and reduce programming errors |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735729B1 (en) | 1999-08-18 | 2004-05-11 | Micron Technology, Inc | Compression circuit for testing a memory device |
US7797596B2 (en) * | 2007-09-26 | 2010-09-14 | Oracle America, Inc. | Method for monitoring and adjusting circuit performance |
JP5172555B2 (ja) * | 2008-09-08 | 2013-03-27 | 株式会社東芝 | 半導体記憶装置 |
US8018770B2 (en) | 2008-11-20 | 2011-09-13 | Micron Technology, Inc. | Program and sense operations in a non-volatile memory device |
KR101554727B1 (ko) | 2009-07-13 | 2015-09-23 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
KR101633018B1 (ko) * | 2009-12-28 | 2016-06-24 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
KR101676816B1 (ko) * | 2010-02-11 | 2016-11-18 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
JP2012084207A (ja) | 2010-10-13 | 2012-04-26 | Toshiba Corp | 不揮発性半導体記憶装置 |
KR101855169B1 (ko) | 2011-10-13 | 2018-05-09 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 프로그램 방법, 불휘발성 메모리 장치를 포함하는 메모리 시스템 |
KR102016036B1 (ko) | 2012-08-30 | 2019-08-29 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US9087601B2 (en) | 2012-12-06 | 2015-07-21 | Sandisk Technologies Inc. | Select gate bias during program of non-volatile storage |
US9875805B2 (en) * | 2015-01-23 | 2018-01-23 | Sandisk Technologies Llc | Double lockout in non-volatile memory |
US10141071B2 (en) | 2015-12-26 | 2018-11-27 | Intel Corporation | Predictive count fail byte (CFBYTE) for non-volatile memory |
-
2015
- 2015-12-26 US US14/998,119 patent/US10141071B2/en active Active
-
2016
- 2016-10-03 WO PCT/US2016/055227 patent/WO2017112022A1/en active Application Filing
- 2016-11-25 TW TW105138983A patent/TWI745317B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10141071B2 (en) | 2015-12-26 | 2018-11-27 | Intel Corporation | Predictive count fail byte (CFBYTE) for non-volatile memory |
Also Published As
Publication number | Publication date |
---|---|
TWI745317B (zh) | 2021-11-11 |
US20170186497A1 (en) | 2017-06-29 |
US10141071B2 (en) | 2018-11-27 |
WO2017112022A1 (en) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201725506A (zh) | 用於非依電性記憶體之預測性計數失效位元組(cfbyte) | |
KR102500661B1 (ko) | 다중 레벨 셀 모드 비휘발성 메모리를 위한 비용 최적화된 단일 레벨 셀 모드 비휘발성 메모리 | |
CN105493194B (zh) | 使用基于温度的nand设置的闪速存储器系统耐久性改进 | |
US9323304B2 (en) | Dynamic self-correcting power management for solid state drive | |
KR101696530B1 (ko) | 불량 블록 관리 메커니즘 | |
US9076499B2 (en) | Refresh rate performance based on in-system weak bit detection | |
US9471488B2 (en) | Techniques for improving reliability and performance of partially written memory blocks in modern flash memory systems | |
CN107408019B (zh) | 用于提高对非易失性存储器中的缺陷的抗干扰性的方法和装置 | |
US10019179B2 (en) | Memory device that writes data into a block based on time passage since erasure of data from the block | |
KR102553539B1 (ko) | 고체 상태 드라이브에서 가비지 수집 리소스 할당을 적응시키는 메커니즘 | |
US9305663B2 (en) | Techniques for assessing pass/fail status of non-volatile memory | |
TWI569277B (zh) | 用以於分散式碼字儲存系統中定位故障晶粒之計數器 | |
CN103222006A (zh) | 回拷操作 | |
EP3705979B1 (en) | Ssd restart based on off-time tracker | |
EP3836145A1 (en) | System approach to reduce stable threshold voltage (vt) read disturb degradation | |
US9274885B2 (en) | Phase change memory with switch (PCMS) write error detection | |
CN113643745B (zh) | 存储器子系统中的存储器裸片的峰值电流的管理 | |
JP2019083082A (ja) | フラッシュメモリモジュール及びフラッシュメモリ |