TWI699698B - 快閃記憶體及其管理方法 - Google Patents

快閃記憶體及其管理方法 Download PDF

Info

Publication number
TWI699698B
TWI699698B TW107130225A TW107130225A TWI699698B TW I699698 B TWI699698 B TW I699698B TW 107130225 A TW107130225 A TW 107130225A TW 107130225 A TW107130225 A TW 107130225A TW I699698 B TWI699698 B TW I699698B
Authority
TW
Taiwan
Prior art keywords
memory
flash memory
data
page
log data
Prior art date
Application number
TW107130225A
Other languages
English (en)
Other versions
TW201923554A (zh
Inventor
波羅 帕帕
露姬 依斯波斯多
瑪西莫 艾庫洛
艾瑞克 郭 方 袁
基拉德 J 波德斯
Original Assignee
美商美光科技公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商美光科技公司 filed Critical 美商美光科技公司
Publication of TW201923554A publication Critical patent/TW201923554A/zh
Application granted granted Critical
Publication of TWI699698B publication Critical patent/TWI699698B/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)

Abstract

本文中揭示用於管理快閃記憶體之裝置及技術。一記憶體控制器可接收一第一程式化請求,第一程式化請求包括待被寫入至快閃記憶體之第一主機資料。快閃記憶體可包括若干個儲存單元,其中每一儲存單元包括若干個儲存子單元。若第一主機資料小於一剩餘臨限值,則記憶體控制器可產生包括第一主機資料及闡述快閃記憶體之第一日誌資料的一第一程式化資料單元。記憶體控制器可將程式化資料單元程式化至快閃記憶體之第一儲存單元,其中第一日誌資料被寫入至若干個儲存子單元中之一第一儲存子單元。記憶體控制器亦可儲存第一儲存子單元無效之一指示。

Description

快閃記憶體及其管理方法
本申請案係關於一種記憶體,且更特定而言係關於一種快閃記憶體。
記憶體裝置通常被提供為電腦或其他電子裝置中之內部半導體積體電路。存在諸多不同類型之記憶體,包含揮發性記憶體及非揮發性記憶體。
揮發性記憶體需要電力來維持其資料,且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或同步動態隨機存取記憶體(SDRAM)以及其他記憶體。
非揮發性記憶體可在不被供電時存留所儲存資料,且包含快閃記憶體、唯讀記憶體(ROM)、電可抹除可程式化ROM(EEPROM)、靜態RAM(SRAM)、可抹除可程式化ROM(EPROM)、電阻可變式記憶體,諸如相變隨機存取記憶體(PCRAM)、電阻式隨機存取記憶體(RRAM)、磁性電阻式隨機存取記憶體(MRAM)或3D XPointTM記憶體以及其他記憶體。
快閃記憶體可用作各種各樣之電子應用之非揮發性記憶體。快閃記憶體裝置通常包含單電晶體、浮動閘或電荷捕捉記憶體胞元之 一或多個群組,電荷捕捉記憶體胞元會實現高記憶體密度、高可靠性及低電力消耗。
兩種常見類型之快閃記憶體陣列架構包含NAND架構及NOR架構,該等架構得名於對其每一者之基本記憶體胞元組態進行配置之邏輯形式。記憶體陣列之記憶體胞元通常被配置成一矩陣。在一實例中,陣列之一列中之每一浮動閘型記憶體胞元之閘極耦合至一存取線(例如,一字線)。在一NOR架構中,陣列之一行中之每一記憶體胞元之汲極耦合至一資料線(例如,一位元線)。在一NAND架構中,陣列之一串中之每一記憶體胞元之汲極在一源極線與一位元線之間串聯耦合在一起(源極至汲極)。
NOR及NAND架構半導體記憶體陣列兩者是透過解碼器來存取,解碼器藉由選擇耦合至記憶體胞元之閘極之字線來啟動特定記憶體胞元。在一NOR架構半導體記憶體陣列中,一旦被啟動,選定記憶體胞元將其資料值置於位元線上,從而取決於一特定胞元被程式化時之狀態而致使不同電流流動。在一NAND架構半導體記憶體陣列中,將一高偏壓電壓施加至一汲極側選擇閘(SGD)線。在一規定通路電壓(例如,Vpass)驅動耦合至每一群組之未選定記憶體胞元之閘極之字線以將每一群組之未選定記憶體胞元操作為通路電晶體(例如,使電流以不受未選定記憶體胞元之所儲存資料值限制之一方式通過)。然後,電流自源極線通過每一串聯耦合群組而流動至位元線,從而將選定記憶體胞元之電流編碼資料值置於位元線上,電流僅受每一群組之選定記憶體胞元限制。
可將一NOR或NAND架構半導體記憶體陣列中之每一快閃記憶體胞元個別地或共同地程式化成一種或若干種經程式化狀態。舉例而 言,一單位階胞元(SLC)可表示兩種經程式化狀態(例如,1或0)中之一者,從而表示一個資料位元。
然而,快閃記憶體胞元亦可表示兩種以上經程式化狀態中之一者,從而允許在無須增加記憶體胞元數目之情況下製造出更高密度之記憶體,此乃因每一胞元可表示一個以上二進制數位(例如,一個以上位元)。此等單元可被稱為多狀態記憶體胞元、多數位胞元或多位階胞元(MLC)。在某些實例中,MLC可指代可每胞元儲存兩個資料位元(例如,四個經程式化狀態中之一者)之一記憶體胞元,一個三位階胞元(TLC)可指代可每胞元儲存三個資料位元(例如,八個經程式化狀態中之一者)之一記憶體胞元,且一個四位階胞元(QLC)可每胞元儲存四個資料位元。本文中在最廣義內容脈絡中使用MLC以可指代可每胞元儲存一個以上資料位元(亦即,可表示兩種以上經程式化狀態)之任何記憶體胞元。
傳統記憶體陣列係配置於一半導體基板之一表面上之二維(2D)結構。為增大一給定面積之記憶體容量且減少成本,個別記憶體胞元之大小已被減小。然而,個別記憶體胞元大小之減小存在一技術限制,且因此2D記憶體陣列之記憶體密度亦存在一技術限制。作為回應,正在開發三維(3D)記憶體結構(諸如3D NAND架構半導體記憶體裝置)以進一步增大記憶體密度且降低記憶體成本。
此等3D NAND裝置通常包含若干串儲存胞元,其等串聯耦合(例如,汲極至源極)於接近一源極之一或多個源極側選擇閘(SGS)與接近一位元線之一或多個汲極側選擇閘(SGD)之間。在一實例中,SGS或SGD可包含一或多個場效電晶體(FET)或金屬氧化物半導體(MOS)結構裝置等。在某些實例中,串將穿過含有各別字線之多個垂直間隔層級而垂直 地延伸。一半導體結構(例如,一多晶矽結構)可毗鄰一串儲存胞元延伸以為該串儲存胞元形成一通道。在一垂直串之實例中,多晶矽結構可呈一垂直延伸柱形式。在某些實例中,串可係「摺疊的」且因此相對於一U形柱被配置。在其他實例中,多個垂直結構可彼此堆疊以形成儲存胞元串之堆疊式陣列。
記憶體陣列或記憶體裝置可組合在一起以形成一記憶體系統之一儲存卷,諸如一固態驅動器(SSD)、一通用快閃儲存(UFSTM)裝置、一多媒體卡(MMC)固態儲存裝置、一嵌入式MMC裝置(eMMCTM)等。一SSD可用作一電腦等之主儲存裝置,該SSD在(舉例而言)效能、大小、重量、強度、操作溫度範圍及電力消耗方面比具有移動部分之傳統硬碟機更有優勢。舉例而言,SSD可具有較小的搜尋時間、等待時間或與磁碟機(例如,機電等)相關聯之其他延遲。SSD使用非揮發性記憶體胞元(諸如,快閃記憶體胞元)以避免內部電池供電要求,因此使得此磁碟機更多功能且更緊湊。
一SSD可包含若干個記憶體裝置且可包含一或多個處理器或執行操作記憶體裝置所需之邏輯功能之其他控制器或與外部系統之介面,該等記憶體裝置包含若干個晶粒或邏輯單元(例如,邏輯單元數目或LUN)。此等SSD可包含一或多個快閃記憶體晶粒,該等快閃記憶體晶粒上包含若干個記憶體陣列及周邊電路系統。快閃記憶體陣列可包含組織成若干個實體頁之若干個記憶體胞元區塊。在諸多實例中,SSD將亦包含DRAM或SRAM(或其他形式之記憶體晶粒或其他記憶體結構)。SSD可自一主機接收與記憶體操作相關聯之命令,諸如接收讀取或寫入操作以在記憶體裝置與主機之間傳送資料(例如,使用者資料及相關聯完整性資料, 諸如錯誤資料及位址資料等),或接收抹除操作以自記憶體裝置抹除資料。
快閃記憶體裝置有時因各種原因而發生故障,該等原因(舉例而言)包含意外停電、硬體故障、軟體錯誤等。
根據本發明之一或多項實施例,提供一種用於管理快閃記憶體之方法。該方法包括:接收一第一程式化請求,該第一程式化請求包括待被寫入至該快閃記憶體之第一主機資料,該快閃記憶體包括若干個儲存單元,其中該若干個儲存單元中之一第一儲存單元包括若干個儲存子單元;若該第一主機資料小於一剩餘臨限值:產生一第一程式化資料單元,其中該第一程式化資料單元包括該第一主機資料及闡述該快閃記憶體之第一日誌資料;將該程式化資料單元程式化至該快閃記憶體之該第一儲存單元,其中將該第一日誌資料寫入至該若干個儲存子單元中之一第一儲存子單元;及儲存該第一儲存子單元無效之一指示。
根據本發明之一或多項實施例,提供一種快閃記憶體。該快閃記憶體包括一快閃記憶體及一記憶體控制器。快閃記憶體包括一組可並行程式化頁。該記憶體控制器經組態以執行包括以下各項之操作:接收一第一程式化請求,該第一程式化請求包括待被寫入至該快閃記憶體之第一主機資料;若該第一主機資料小於一剩餘臨限值:產生一第一程式化資料單元,其中該第一程式化資料單元包括該第一主機資料及闡述該快閃記憶體之第一日誌資料;將該第一程式化資料單元並行地程式化至該快閃記憶體之第一組頁,其中該第一組頁中之每一者屬若干個可並行程式化區塊中之一不同區塊,且其中將該第一日誌資料寫入至該第一組頁中之一第一 頁;及儲存該第一頁無效之一指示。
根據本發明之一或多項實施例,提供一種快閃記憶體。該快閃記憶體包括一快閃記憶體及一記憶體控制器。該快閃記憶體包括若干個頁。該若干個頁中之一第一頁包括若干個區段。該記憶體控制器經組態以執行包括以下各項之操作:接收一第一程式化請求,該第一程式化請求包括待被寫入至該快閃記憶體之第一主機資料;及若該第一主機資料小於一剩餘臨限值:產生一第一程式化資料單元,其中該第一程式化資料單元包括該第一主機資料及闡述該快閃記憶體之第一日誌資料;將該第一程式化資料單元程式化至該第一頁,其中該第一日誌資料被寫入至該第一頁之一第一區段;及儲存該第一頁之該第一區段無效之一指示。
100:環境
105:主機裝置
110:記憶體裝置
115:記憶體控制器
120:記憶體陣列
125:記憶體管理器
130:管理表
135:陣列控制器
140:錯誤校正碼組件
150:產品
200:3維NAND架構半導體記憶體陣列/記憶 體陣列
201A:區塊
201A0至201An:子區塊
201B:區塊
201B0至201Bn:子區塊
205A0至205An:第一A0記憶體串至第一An記憶體串
205B0至205Bn:第一B0記憶體串至第一Bn記憶體串
207A0至207An:第三A0記憶體串至第三An記憶體串
207B0至207Bn:第三B0記憶體串至第三Bn記憶體串
220至222:位元線
225A0至225An:A0 SGD線至An SGD線
225B0至225Bn:B0 SGD線至Bn SGD線
226A0至226An:第一A0 SGD至第一An SGD
226B0至226Bn:第一B0 SGD至第一Bn SGD
228A0至228An:第三A0 SGD至第三An SGD
228B0至228Bn:第三B0 SGD至第三Bn SGD
230A:閘極選擇線SGS0
230B:閘極選擇線SGS1
231A0至231An:第一A0 SGS至第一An SGS
231B0至231Bn:第一B0 SGS至第一Bn SGS
233A0至233An:第三A0 SGS至第三An SGS
233B0至233Bn:第三B0 SGS至第三Bn SGS
235:源極線
300:NAND架構半導體記憶體陣列/記憶體陣列
302:記憶體胞元/選定記憶體胞元
305至307:第一串至第三串
320至322:第一位元線至第三位元線
326至328:第一SGD至第三SGD
330:源極側選擇閘(SGS)線
331至333:第一SGS至第三SGS
335:源極線(SRC)
341至343:第一控制閘至第三控制閘
360:感測放大器或裝置
400:記憶體裝置
402:記憶體陣列
402A:第一區塊
402A0及402An:第一子區塊及第二子區塊
402B0及402Bn:第一子區塊及第二子區塊
402B:第二區塊
404:記憶體胞元
406:存取線
408:輸入/輸出線
410:第一資料線
412:列解碼器
414:行解碼器
416:位址線
418:第二資料線
420:感測放大器
422:頁緩衝器
424:選擇器
426:輸入/輸出電路
428:調節器
430:記憶體控制單元
432:控制線
434:供電電壓
436:負供電
500:環境
505:主機裝置
510:記憶體裝置
515:記憶體控制器
520:記憶體陣列
525:記憶體管理器
530:管理表
535:陣列控制器
540:錯誤校正碼組件
550A至550N:儲存單元
552A至552N:儲存子單元
554A:主機資料部分
554B:主機資料部分
556A:日誌資料部分
556B:日誌資料部分
558:日誌資料
560:主機資料
562:廢棄項目收集循環
600:記憶體陣列部分
700:記憶體陣列部分
800:記憶體陣列部分
900:程序流程
902至912:操作
1000:程序流程
1002至1006:操作
1100:程序流程
1102至1110:操作
1200:機器
1202:硬體處理器/處理器
1204:主記憶體/記憶體
1206:靜態記憶體
1208:互連鏈路
1210:顯示單元
1212:字母數字輸入裝置/輸入裝置
1214:使用者介面導覽裝置
1217:感測器
1218:信號產生裝置
1220:網路介面裝置
1221:儲存裝置
1222:機器可讀媒體
1224:指令
1226:通信網路
1228:輸出控制器
A0至AX:位址信號
BL0至BLn:位元線
CSEL1至CSELn:行選擇信號
DQ0至DQN:輸入/輸出線
SGD:汲極側選擇閘
SGDA0至SGDAn:A0 SGD線至An SGD線
SGDB0至SGDBn:B0 SGD線至Bn SGD線
SRC:源極線
Vcc:禁止電壓
Vss:接地電位/負供電
WL0至WLm:字線
WL00 210A至WL70 217A:存取線
WL01 210B至WL71 217B:字線
在圖式(其未必按比例繪製)中,相似編號可在不同視圖中闡述類似組件。具有不同字母後綴之相似編號可表示類似組件之不同例項。圖式通常以實例方式而非限制方式圖解說明本文件中所論述之各種實施例。
圖1圖解說明包含一記憶體裝置之一環境之一實例。
圖2至圖3圖解說明一3D NAND架構半導體記憶體陣列之一實例之示意圖。
圖4圖解說明一記憶體模組之一實例性方塊圖。
圖5圖解說明快閃記憶體之日誌資料儲存之一環境之一實例。
圖6係圖解說明一記憶體陣列部分之一實例性配置之一方塊圖; 圖7係圖解說明一記憶體陣列部分之另一實例之一方塊圖。
圖8係圖解說明一記憶體陣列部分之另一實例之一方塊圖。
圖9係展示可(舉例而言)由一記憶體控制器執行以將日誌資料程式化至剩餘儲存子單元之一程序流程之一項實例之一流程圖。
圖10係展示可(舉例而言)由一記憶體控制器執行以擷取所儲存日誌資料之一程序流程之一項實例之一流程圖。
圖11係展示一程序流程之一項實例,該程序流程可由一記憶體控制器執行以(舉例而言)將關於重要事件之日誌資料儲存於一記憶體裝置處。
圖12係圖解說明可實施一或多項實施例之一機器之一實例之一方塊圖。
某些快閃記憶體裝置儲存闡述快閃記憶體之狀態之日誌資料。若快閃記憶體發生故障,可擷取日誌資料並使用該日誌資料來診斷且在可能情況下校正導致故障之錯誤。然而,所儲存日誌資料佔用快閃記憶體處之儲存單元。此可增大快閃記憶體之預留區域(overprovisioning),此會增加快閃記憶體之負擔及大小而不會增加主機資料容量。儲存日誌資料亦可使用額外程式化操作來將日誌資料寫入至快閃記憶體,此會因增加等待時間而降低效能。此外,在某些實例中,儲存日誌資料會使記憶體控制器變得更複雜。舉例而言,可與主機資料分離地對日誌資料進行管理及廢棄項目收集。此外,在某些實例中,日誌記錄點會影響測試結果。由於 存在此等困難,諸多快閃記憶體儲存最少的高階日誌資料,而該高階日誌資料之除錯作用可係有限的。
本文中所闡述之各種實例係關於用於在一快閃記憶體儲存單元處儲存日誌資料及主機資料之系統及方法。在某些實例中,一記憶體控制器利用主機資料來將一快閃記憶體處之一儲存單元程式化,主機資料之大小足夠小使得可使用儲存單元之少於所有儲存子單元來儲存主機資料。在儲存了主機資料之後「餘下」的儲存子單元可被稱為剩餘儲存子單元。取決於各種因素(諸如主機資料之大小、快閃記憶體之架構等),一記憶體控制器可不將額外主機資料寫入至剩餘子單元且可將剩餘子單元標記為邏輯無效。在一後續廢棄項目收集循環時,邏輯無效剩餘子單元被摒棄。
有時,記憶體控制器將虛設資料寫入至剩餘子單元或使該等剩餘子單元保持空白。然而,在本文中所闡述之各種實例中,記憶體控制器將日誌資料寫入至剩餘子單元。日誌資料保留在剩餘子單元處(且可自剩餘子單元擷取),舉例而言直至對儲存單元進行一後續廢棄項目收集循環為止。在對子單元進行廢棄項目收集循環期間,日誌資料被摒棄。如此一來,記憶體控制器可在一快閃記憶體處(舉例而言)利用最小額外預留區域來儲存日誌資料。此外,可藉由已對快閃記憶體實施之一廢棄項目收集循環來執行與廢棄項目收集日誌資料相關聯之附加項。
諸如行動電子裝置等電子裝置(例如,智慧型電話、平板電腦等)、用於汽車應用之電子裝置(例如,汽車感測器、控制單元、駕駛員輔助系統、乘客安全或舒適系統等)以及網際網路連接家用電器或裝置(例如,物聯網(IoT)裝置等)取決於電子裝置之類型、使用環境、效能預期等 而具有不同儲存需要。
電子裝置可被分解成數個主組件:一處理器(例如,一中央處理單元(CPU)或其他主處理器);記憶體(例如,一或多個揮發性或非揮發性隨機存取記憶體(RAM)記憶體裝置,諸如動態RAM(DRAM)、行動或低功率雙倍資料速率同步DRAM(DDR SDRAM)等);及一儲存裝置(例如,非揮發性記憶體(NVM)裝置,諸如快閃記憶體、唯讀記憶體(ROM)、一SSD、一MMC或其他記憶卡結構或總成等)。在某些實例中,電子裝置可包含:一使用者介面(例如,一顯示器、觸控式螢幕、鍵盤、一或多個按鍵等)、一圖形處理單元(GPU)、一電力管理電路、一基頻處理器或一或多個收發器電路等。
圖1圖解說明包含經組態以經由一通信介面進行通信之一主機裝置105及一記憶體裝置110之一環境100之一實例。主機裝置105或記憶體裝置110可包含於各種產品150(諸如,物聯網(IoT)裝置(例如,一冰箱或其他家用電器、感測器、馬達或致動器、行動通信裝置、汽車、飛行器等))中以支援產品150之處理、通信或控制。
記憶體裝置110包含一記憶體控制器115及一記憶體陣列120,記憶體陣列120包含(舉例而言)若干個個別記憶體晶粒(例如,三維(3D)NAND晶粒之一堆疊)。在3D架構半導體記憶體技術中,對垂直結構進行堆疊,從而增加層級、實體頁之數目且因此增大一記憶體裝置(例如,一儲存裝置)之密度。在一實例中,記憶體裝置110可係一離散記憶體或主機裝置105之儲存裝置組件。在其他實例中,記憶體裝置110可係一積體電路(例如,系統單晶片(SOC)等)之一部分,與主機裝置105之一或多個其他組件堆疊或以其他方式包含在一起。
可使用一或多個通信介面來在記憶體裝置110與主機裝置105之一或多個其他組件之間傳送資料,該等通信介面諸如包含一串行先進技術附接(SATA)介面、一高速周邊組件互連(PCIe)介面、一通用串列匯流排(USB)介面、一通用快閃儲存(UFS)介面、一eMMCTM介面或一或多個其他連接器或介面。主機裝置105可包含一主機系統、一電子裝置、一處理器、一記憶卡讀取器或在記憶體裝置110外部之一或多個其他電子裝置。在某些實例中,主機裝置105可係具有參考圖12之機器1200所論述之組件中之某些部分或全部的一機器。
記憶體控制器115可自主機裝置105接收指令且可與記憶體陣列120進行通信以(諸如)將資料傳送(例如,寫入或抹除)至記憶體陣列120之記憶體胞元、平面、子區塊、區塊或頁中之一或多者,或者傳送來自該一或多者之資料(例如,讀取)。記憶體控制器115可包含電路系統或韌體等,該等電路系統或韌體包含一或多個組件或積體電路。舉例而言,記憶體控制器115可包含一或多個記憶體控制單元、電路或組件,該等記憶體控制單元、電路或組件經組態以跨越記憶體陣列120控制存取且在主機裝置105與記憶體裝置110之間提供一轉譯層。記憶體控制器115可包含一或多個輸入/輸出(I/O)電路、線或介面以將資料傳送至記憶體陣列120或傳送來自記憶體陣列120之資料。記憶體控制器115可包含一記憶體管理器125及一陣列控制器135。
記憶體管理器125可包含電路系統或韌體等,諸如與各種記憶體管理功能相關聯之若干個組件或積體電路。為進行本說明,將在NAND記憶體之內容脈絡中闡述實例性記憶體操作及管理功能。熟習此項技術者將認識到,其他形式之非揮發性記憶體可具有類似記憶體操作或管 理功能。此等NAND管理功能包含抹寫均衡(wear leveling)(例如,廢棄項目收集或回收)、錯誤偵測或校正、區塊擷取或者一或多個其他記憶體管理功能。記憶體管理器125可將主機命令(例如,自一主機接收到之命令)解析或格式化成裝置命令(例如,與一記憶體陣列之操作相關聯之命令等),或者針對記憶體裝置110之陣列控制器135或一或多個其他組件而產生裝置命令(例如,以實現各個記憶體管理功能)。
記憶體管理器125可包含一組管理表130,管理表130經組態以維持與記憶體裝置110之一或多個組件相關聯之各種資訊(例如,與耦合至記憶體控制器115之一記憶體陣列或一或多個記憶體胞元相關聯之各種資訊)。舉例而言,管理表130可包含關於耦合至記憶體控制器115之記憶體胞元之一或多個區塊之區塊齡期、區塊抹除計數、錯誤歷史或者一或多個錯誤計數(例如,一寫入操作錯誤計數、一讀取位元錯誤計數、一讀取操作錯誤計數、一抹除錯誤計數等)的資訊。在某些實例中,若錯誤計數中之一或多者之所偵測到錯誤之數目高於一臨限值,則位元錯誤可被稱為一不可校正位元錯誤。管理表130可維持可校正位元錯誤或不可校正位元錯誤等之一計數。
陣列控制器135可包含經組態以控制與將資料寫入至耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞元、自一或多個記憶體胞元該讀取資料或抹除該一或多個記憶體胞元相關聯之記憶體操作的電路系統或組件等。記憶體操作可基於(舉例而言)自主機裝置105接收到或由記憶體管理器125內部產生之主機命令(例如,與抹寫均衡、錯誤偵測或校正等相關聯)。
陣列控制器135可包含一錯誤校正碼(ECC)組件140,錯誤 校正碼組件140可包含一ECC引擎或其他電路系統等,ECC引擎或其他電路系統經組態以偵測或校正與將資料寫入至耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞元或自一或多個記憶體胞元讀取資料相關聯之錯誤。記憶體控制器115可經組態以積極地偵測並恢復與各種操作或資料儲存相關聯之所發生錯誤(例如,位元錯誤、操作錯誤等),同時維持在主機裝置105與記憶體裝置110之間傳送之資料之完整性或維持所儲存資料之完整性(例如,使用冗餘RAID儲存等),且可移除(例如,撤銷)故障記憶體資源(例如,記憶體胞元、記憶體陣列、頁、區塊等)以防止未來發生錯誤。
記憶體陣列120可包含數個記憶體胞元,該數個記憶體胞元配置於(舉例而言)若干個儲存單元(包含裝置、平面、子區塊、區塊或頁)中。作為一項實例,一48GB TLC NAND記憶體裝置可包含每頁18,592位元組(B)之資料(16,384+2208個位元組)、每區塊1536頁、每平面548個區塊以及每裝置4個或4個以上平面。作為另一實例,一32GB MLC記憶體裝置(每胞元儲存兩個資料位元(亦即,4種可程式化狀態))可包含每頁18,592個位元組(B)之資料(16,384+2208個位元組)、每區塊1024頁、每平面548個區塊及每裝置4個平面,但所需寫入時間係一對應TLC記憶體裝置之一半且程式化/抹除(P/E)循環係對應TLC記憶體裝置之兩倍。其他實例可包含其他數目或配置。在某些實例中,一記憶體裝置或其一部分可選擇性地在SLC模式中或在一所要MLC模式(諸如,TLC、QLC等)中操作。
在操作中,資料通常以頁為單位被寫入至記憶體裝置110或自記憶體裝置110讀取且以區塊為單位被抹除。然而,可視需要對更大 或更小之記憶體胞元群組執行一或多個記憶體操作(例如讀取、寫入、抹除等)。一記憶體裝置110之資料傳送大小通常被稱為一頁,而一主機之資料傳送大小通常被稱為一區段。
儘管一資料頁可包含若干個使用者資料位元組(例如,一資料有效負載包含若干個資料區段)且其對應後設資料,但頁大小通常僅指代用於儲存使用者資料之位元組之數目。作為一實例,具有一4KB頁大小之一資料頁可包含4KB之使用者資料(例如,具有一512 B區段大小之8個區段)以及與使用者資料對應之若干個位元組(例如,32 B,54 B,224 B等)之後設資料,諸如完整性資料(例如,錯誤偵測或校正碼資料)、位址資料(例如,邏輯位址資料等)或與使用者資料相關聯之其他後設資料。用於儲存後設資料等之儲存單元或子單元可被稱為區域預留儲存單元或子單元。
不同類型之記憶體胞元或記憶體陣列120可提供不同頁大小,或可需要與頁大小相關聯之不同後設資料量。舉例而言,不同記憶體裝置類型可具有不同位元錯誤率,此可致使確保資料頁之完整性所需之後設資料量不同(例如,具有一較高位元錯誤率之一記憶體裝置可需要比具有一較低位元錯誤率之一記憶體裝置多之錯誤校正碼資料位元組)。作為一實例,一多位階胞元(MLC)NAND快閃記憶體裝置之位元錯誤率可高於一對應單位階胞元(SLC)NAND快閃記憶體裝置。如此,MLC裝置可需要比對應SLC裝置多之錯誤資料後設資料位元組。
圖2圖解說明包含若干個記憶體胞元串(例如,第一A0記憶體串205A0至第三A0記憶體串207A0、第一An記憶體串205An至第三An記憶體串207An、第一B0記憶體串205B0至第三B0記憶體串207B0、第一Bn 記憶體串205Bn至第三Bn記憶體串207Bn等)之一3D NAND架構半導體記憶體陣列200之一實例性示意圖,記憶體陣列200被組織成區塊(例如,區塊A 201A、區塊B 201B等)及子區塊(例如,子區塊A0 201A0、子區塊An 201An、子區塊B0 201B0、子區塊Bn 201Bn等)。記憶體陣列200表示將通常存在於一區塊、裝置或一記憶體裝置之其他單元中之較大數目個類似結構之一部分。
每一記憶體胞元串包含在一源極線(SRC)235或一源極側選擇閘(SGS)(例如,第一A0 SGS 231A0至第三A0 SGS 233A0、第一An SGS 231An至第三An SGS 233An、第一B0 SGS 231B0至第三B0 SGS 233B0、第一Bn SGS 231Bn至第三Bn SGS 233Bn等)與一汲極側選擇閘(SGD)(例如,第一A0 SGD 226A0至第三A0 SGD 228A0、第一An SGD 226An至第三An SGD 228An、第一B0 SGD 226B0至第三B0 SGD228B0、第一Bn SGD 226Bn至第三Bn SGD 228Bn等)之間源極至汲極地沿Z方向堆疊之若干個電荷儲存電晶體(例如,浮動閘極電晶體、電荷捕獲結構等)層級。3D記憶體陣列中之每一記憶體胞元串可沿著X方向被配置為資料線(例如,位元線(BL)BL0 220至位元線BL2 222)及沿著Y方向被配置為實體頁。
在一實體頁內,每一層級表示一記憶體胞元列,且每一記憶體胞元串表示一行。一子區塊可包含一或多個實體頁。一區塊可包含若干個子區塊(或實體頁)(例如128、256、384等)。儘管本文中圖解說明為具有兩個區塊,每一區塊具有兩個子區塊,每一子區塊具有一單個實體頁,每一實體頁具有三個記憶體胞元串,且每一串具有8記憶體胞元層級,但在其他實例中,記憶體陣列200可包含更多或更少之區塊、子區 塊、實體頁、記憶體胞元串、記憶體胞元或層級。舉例而言,每一記憶體胞元串可視需要包含更多或更少層級(例如,16、32、64、128等)以及位於電荷儲存電晶體上方或下方之一或多個額外半導體材料層級(例如,選擇閘、資料線等)。作為一實例,一48GB TLC NAND記憶體裝置可包含每頁18,592個位元組(B)之資料(16,384+2208位元組)、每區塊1536個頁、每平面548個區塊以及每裝置4個或4個以上平面。
記憶體陣列200中之每一記憶體胞元包含耦合至(例如,電連接至或以操作方式連接至)一存取線(例如,字線(WL)WL00 210A至字線WL70 217A、字線WL01 210B至字線WL71 217B等)之一控制閘(CG),該存取線視需要全體地耦合跨越一特定層級或一層級之一部分之控制閘(CG)。可使用各別存取線來存取或控制3D記憶體陣列中之特定層級及因此一串中之特定記憶體胞元。可使用各個選擇線來接達選擇閘群組。舉例而言,可使用一A0 SGD線SGDA0 225A0來接達第一A0 SGD 226A0至第三A0 SGD 228A0,可使用一An SGD線SGDAn 225An來接達第一An SGD 226An至第三An SGD 228An,可使用一B0 SGD線SGDB0 225B0來接達第一B0 SGD 226B0至第三B0 SGD 228B0,且可使用一Bn SGD線SGDBn 225Bn來接達第一Bn SGD 226Bn至第三Bn SGD 228Bn。可使用一閘極選擇線SGS0 230A來接達第一A0 SGS 231A0至第三A0 SGS 233A0及第一An SGS 231An至第三An SGS 233An,且可使用一閘極選擇線SGS1 230B來接達第一B0 SGS 231B0至第三B0 SGS 233B0及第一Bn SGS 231Bn至第三Bn SGS 233Bn
在一實例中,記憶體陣列200可包含若干個半導體材料(例如,多晶矽等)位階,該等半導體材料位階經組態以耦合陣列之每一記憶 體胞元之控制閘(CG)或一各別層級之選擇閘(或CG或選擇閘之一部分)。可使用位元線(BL)與選擇閘等之一組合來存取、選擇或控制陣列中之特定記憶體胞元串,且可使用一或多個存取線(例如,字線)來存取、選擇或控制特定串中之一或多個層級處之特定記憶體胞元。
圖3圖解說明一NAND架構半導體記憶體陣列300之一部分之一實例性示意圖,記憶體陣列300包含:複數個記憶體胞元302,其被配置成串(例如,第一串305至第三串307)及層級(例如,被圖解說明為各別字線(WL)WL0 310至WL7 317、一汲極側選擇閘(SGD)線325、一源極側選擇閘(SGS)線330等)之一個二維陣列;以及感測放大器或裝置360。舉例而言,記憶體陣列300可圖解說明一3D NAND架構半導體記憶體裝置之記憶體胞元之一個實體頁之一部分之一實例性示意圖,諸如圖2中所圖解說明。
使用一各別源極側選擇閘(SGS)(例如,第一SGS 331至第三SGS 333)來將每一記憶體胞元串耦合至一源極線(SRC)335,且使用一各別汲極側選擇閘(SGD)(例如,第一SGD 326至第三SGD 328)來將每一記憶體胞元串耦合至一各別資料線(例如,第一位元線(BL)BL0 320至第三位元線BL2 322)。儘管在圖3之實例中圖解說明為具有8個層級(例如,使用字線(WL)WL0 310至字線WL7 317)及三個資料線(BL0 326至BL2 328),但其他實例可視需要包含具有更多或更少層級或資料線之記憶體胞元串。
在一NAND架構半導體記憶體陣列中,諸如實例性記憶體陣列300,可藉由感測與含有選定記憶體胞元之一特定資料線相關聯之一電流變化或電壓變化來存取一選定記憶體胞元302之狀態。可使用一或多 個驅動器來存取(例如,藉由一控制電路、一或多個處理器、數位邏輯等)記憶體陣列300。在一實例中,一或多個驅動器可藉由取決於期望對特定記憶體胞元或一組記憶體胞元執行之操作類型而將一特定電位驅動至一或多個資料線(例如,位元線BL0至BL2)、存取線(例如,字線WL0至WL7)或選擇閘來啟動特定記憶體胞元或一組記憶體胞元。
為將資料程式化至或寫入至一記憶體胞元,可將一程式化電壓(Vpgm)(例如,一或多個程式化脈衝等)施加至選定字線(例如,WL4)且因此施加至耦合至該等選定字線之每一記憶體胞元之一控制閘(例如,耦合至WL4之記憶體胞元之第一控制閘(CG)341至第三控制閘343)。程式化脈衝可(舉例而言)以15V或大約15V開始,且在某些實例中,可在每一程式化脈衝施加期間增大量值。雖然程式化電壓被施加至選定字線,但可將諸如一接地電位(例如,Vss)等一電位施加至作為程式化目標之記憶體胞元之資料線(例如,位元線)及基板(及因此源極與汲極之間的通道),從而將一電荷(例如,直接注入或Fowler-Nordheim(FN)穿隧等)自通道傳送至目標記憶體胞元之浮動閘。
相比之下,可將一通路電壓(Vpass)施加至具有並非程式化目標之記憶體胞元之一或多個字線,或可將一禁止電壓(例如,Vcc)施加至具有並非程式化目標之記憶體胞元之資料線(例如,位元線),(舉例而言)以禁止電荷自通道轉移至此等非目標記憶體胞元之浮動閘。通路電壓可取決於(舉例而言)所施加通路電壓與作為程式化目標之一字線的接近度而變化。禁止電壓可包含相對於一接地電位(例如,Vss)而言之一供電電壓(Vcc),諸如來自一外部源或供應器(例如,一電池、一AC至DC轉換器等)之一電壓。
作為一實例,若將一程式化電壓(例如,15V或15V以上)施加至一特定字線(諸如WL4),則可將一10V通路電壓施加至一或多個其他字線(諸如WL3、WL5等),以禁止非目標記憶體胞元之程式化或存留此等並非係程式化目標之記憶體胞元上所儲存之值。當一所施加程式化電壓與目標記憶體胞元之間的距離增大時,抑制並非目標記憶體胞元之程式化所需之通路電壓可減小。舉例而言,在將一15V程式化電壓施加至WL4之情況下,可將一10V通路電壓施加至WL3及WL5,在可將一8V通路電壓施加至WL2及WL6之情況下,可將一7V通路電壓施加至WL1及WL7等。在其他實例中,通路電壓或字線數目等可高可低、可多可少。
耦合至資料線中之一或多者(例如,第一位元線BL0 320、第二位元線BL1 321或第三位元線BL2 322)之感測放大器360可藉由感測一特定資料線上之一電壓或電流來偵測各別資料線中之每一記憶體胞元之狀態。
在施加一或多個程式化脈衝(例如,Vpgm)之間,可執行一驗證操作以判定一選定記憶體胞元是否已達到其預期經程式化狀態。若選定記憶體胞元已達到其預期經程式化狀態,則可禁止對其進行進一步程式化。若選定記憶體胞元尚未達到其預其經程式化狀態,則可施加額外程式化脈衝。若在一特定數目個程式化脈衝(例如,一最大數目)之後選定記憶體胞元尚未達到其預期經程式化狀態,則可將選定記憶體胞元或者與此選定記憶體胞元相關聯之一串、區塊或頁標記為有缺陷。
為抹除一記憶體胞元或一記憶體胞元群組(例如,抹除通常係以區塊或子區塊為單位執行),可將一抹除電壓(Vers)(例如,通常Vpgm)施加(例如,使用一或多個位元線、選擇閘等)至作為抹除目標之記 憶體胞元之基板(及因此源極與汲極之間的通道),而使目標記憶體胞元之字線保持於諸如一接地電位(例如,Vss)等一電位下,從而將一電荷(例如,直接注入或Fowler-Nordheim(FN)穿隧等)自目標記憶體胞元之浮動閘轉移至通道。
圖4圖解說明一記憶體裝置400之一實例性方塊圖,記憶體裝置400包含:一記憶體陣列402,其具有複數個記憶體胞元404;一或多個電路或組件,其用以提供與記憶體陣列402之通信或對記憶體陣列402執行一或多個記憶體操作。記憶體裝置400可包含一列解碼器412、一行解碼器414、感測放大器420、一頁緩衝器422、一選擇器424、一輸入/輸出(I/O)電路426及一記憶體控制單元430。
記憶體陣列402之記憶體胞元404可被配置成區塊,諸如第一區塊402A及第二區塊402B。每一區塊可包含若干子區塊。舉例而言,第一區塊402A可包含第一子區塊402A0及第二子區塊402An,且第二區塊402B可包含第一子區塊402B0及第二子區塊402Bn。每一子區塊可包含若干個實體頁,每一頁包含若干個記憶體胞元404。儘管本文中圖解說明為具有兩個區塊,每一區塊具有兩個子區塊,且每一子區塊具有若干個記憶體胞元404,但在其他實例中,記憶體陣列402可包含更多或更少區塊、子區塊、記憶體胞元等。在其他實例中,記憶體胞元404可被配置成若干個列、行、頁、子區塊、區塊等,且使用(舉例而言)存取線406、第一資料線410或一或多個選擇閘、源極線等來存取。
記憶體控制單元430可根據經由控制線432接收到之一或多個信號或指令來控制記憶體裝置400之記憶體操作,該等信號或指令包含(舉例而言)指示一所要操作(例如,寫入、讀取、抹除等)之一或多個時脈 信號或控制信號或者經由一或多個位址線416接收到之位址信號(A0至AX)。在記憶體裝置400外部之一或多個裝置可控制控制線432上之控制信號之值或位址線416上之位址信號之值。在記憶體裝置400外部之裝置之實例可包含但不限於圖4中未圖解說明之一主機、一記憶體控制器、一處理器或一或多個電路或組件。
記憶體裝置400可使用存取線406及第一資料線410將資料傳送(例如,寫入或抹除)至記憶體胞元404中之一或多者或者自記憶體胞元404中之一或多者傳送資料(例如,讀取)。列解碼器412及行解碼器414可自位址線416接收位址信號(A0至AX)並對位址信號進行解碼,可判定對記憶體胞元404中之哪些進行存取,且可將信號提供至存取線406(例如,複數個字線(WL0至WLm)中之一或多者)或第一資料線410(例如,複數個位元線(BL0至BLn)中之一或多者)中之一或多者,諸如上文所闡述。
記憶體裝置400可包含諸如感測放大器420等感測電路系統,該等感測電路系統經組態以使用第一資料線410來判定記憶體胞元404上之資料之值(例如,讀取),或判定寫入至記憶體胞元404之資料之值。舉例而言,在一串選定記憶體胞元404中,感測放大器420中之一或多者可回應於經由一串選定資料線410流動於記憶體陣列402中之一讀取電流而讀取選定記憶體胞元404中之一邏輯位準。
在記憶體裝置400外部之一或多個裝置可使用I/O線(DQ0至DQN)408、位址線416(A0至AX)或控制線432來與記憶體裝置400進行通信。輸入/輸出(I/O)電路426可根據(舉例而言)控制線432及位址線416使用I/O線408來將資料值傳送進或傳送出記憶體裝置400,諸如傳送進或傳送出頁緩衝器422或記憶體陣列402。頁緩衝器422可在自在記憶體裝置 400外部之一或多個裝置接收到之資料被程式化至記憶體陣列402之相關部分中之前儲存該資料,或可在自記憶體陣列402讀取之資料被傳輸至記憶體裝置400外部之一或多個裝置之前儲存該資料。
行解碼器414可接收位址信號(A0至AX)並將該等位址信號解碼成一或多個行選擇信號(CSEL1至CSELn)。選擇器424(例如,一選擇電路)可接收行選擇信號(CSEL1-CSELn)並選擇頁緩衝器422中表示自記憶體胞元404讀取或被程式化至記憶體胞元404中之資料之值的資料。可使用第二資料線418在頁緩衝器422與I/O電路426之間傳送選定資料。
記憶體控制單元430可自一外部源或供應器(例如,一內部或外部電池,一AC至DC轉換器等)接收正供電信號及負供電信號,諸如一供電電壓(Vcc)434及一負供電(Vss)436(例如,一接地電位)。在某些實例中,記憶體控制單元430可包含一調節器428以在內部提供正供電信號或負供電信號。
圖5圖解說明快閃記憶體之日誌資料儲存之一環境500之一實例。環境500包含可與圖1之主機裝置105類似之一主機裝置505。主機裝置505包含可與圖1之記憶體裝置110類似之一記憶體裝置510。舉例而言,記憶體裝置510包含一記憶體陣列520及一記憶體控制器515。記憶體控制器515包含一記憶體管理器525,記憶體管理器525包含一或多個管理表530。記憶體控制器亦包含(舉例而言)可管理記憶體陣列520之一陣列控制器535,如本文中所闡述。視情況,陣列控制器535包含一ECC組件540。
記憶體陣列520包含實例性儲存單元550A、550B、550N。儘管展示了三個儲存單元550A、550B、550N,但可使用任何適 合數目個儲存單元。實例性儲存單元550A包含儲存子單元552A、552B、552N-1、552N。儘管展示了四個儲存子單元552A、552B、552N-1、552N,但各個儲存單元550A、550B、500N可具有任何適合數目個儲存子單元。本文中參考圖6至圖8闡述儲存單元及儲存子單元之實例性實體實施方案。
主機裝置505可將主機資料560提供至記憶體裝置510。主機資料560可係由主機裝置505產生之任何適合資料。記憶體控制器515可接收主機資料560且判定主機資料560是否小於一剩餘臨限值。剩餘臨限值可指示主機資料560的將至少部分地填充一儲存單元550A、550B、550N之所有儲存子單元552A、552B、554N-1、552N之最小大小。舉例而言,若主機資料560小於剩餘臨限值,則儲存子單元552A、552B、554N-1、552N中之至少一者係將不包含任何主機資料之一剩餘儲存子單元。記憶體控制器515可利用日誌資料558來補充主機資料560以形成包含主機資料560及日誌資料558兩者之一程式化資料單元。記憶體控制器可將程式化資料單元程式成儲存單元550A。
在圖5的實例中,主機資料560低於剩餘臨限值,使得至少儲存子單元552N-1及557N稱為剩餘子單元。舉例而言,儲存子單元552A、552B分別儲存主機資料部分554A及554B。儲存子單元552N-1及552N係分別儲存日誌資料部分556A、556B之剩餘儲存子單元。儘管圖5中展示兩個剩餘儲存子單元552N-1及552N,但在不同實例及實施方案中可存在任何適合數目個剩餘儲存子單元。如本文中所闡述,記憶體控制器515可將儲存子單元552N-1、552N標記為邏輯無效。
日誌資料558可包含闡述記憶體裝置510之任何適合資料。 實例性日誌資料可包含(舉例而言)管理表530中之一或多者之全部或部分。舉例而言,日誌資料可包括闡述記憶體裝置510之一邏輯區塊映射之全部或部分。邏輯區塊映射可闡述主機資料之邏輯位址與主機資料在記憶體陣列520處之實體位址之間的關係。舉例而言,邏輯區塊映射可係一管理表530之全部或部分。其他日誌資料可包含(舉例而言)、闡述記憶體裝置處廢棄項目收集操作之狀態之廢棄項目收集狀態資料、記憶體陣列中之一或多個檢查點之一位置、關於引起一日誌清空之一事件之資訊、記憶體陣列520處之程式化操作之記錄、闡述記憶體陣列520之可變狀態等。
記憶體控制器515亦經程式化以在記憶體陣列520處執行一廢棄項目收集循環562。廢棄項目收集循環562可包含整合儲存於儲存單元550A、550B、550N處之當前主機資料。舉例而言,如本文中所闡述,主機資料通常以頁為單位被程式化至記憶體裝置510且以區塊為單位被抹除,塊包含多個頁。因此,當儲存於一第一頁處之主機資料被修改時,記憶體控制器515可(舉例而言)藉由將頁係邏輯無效之一指示寫入至邏輯區塊映射或其他管理表53來將經修改主機資料寫入至一第二頁且將第一頁標記為邏輯無效。
在廢棄項目收集循環562期間,記憶體控制器515可將儲存於一區塊處之主機資料移動至一新區塊之頁且抹除該區塊。當區塊被抹除時,儲存於邏輯無效頁或區段處之資料被摒棄。在某些實例中,週期性地執行廢棄項目收集循環562。舉例而言,可按照一給定時間週期(例如,一週一次、一天一次、一小時一次等)執行廢棄項目收集循環562。在其他實例中,當對記憶體裝置510做出臨限值數目個異動時,執行廢棄項目收集循環562。在其他實例中,當記憶體陣列520處存在碎片之一臨限值位準 時,執行廢棄項目收集循環562。可對整個記憶體陣列520及/或對非全部記憶體陣列520(例如,一平面、一區塊等)執行廢棄項目收集循環562。
可(舉例而言)回應於對日誌資料之一請求而將儲存於剩餘儲存子單元(諸如552N-1、552N)處之日誌資料傳回至主機裝置505或其他適合診斷裝置。當執行了廢棄項目收集循環562時,儲存於記憶體陣列520之一部分中之邏輯無效剩餘儲存子單元552N-1、552N中的經受廢棄項目收集循環562之日誌資料被摒棄。如此一來,廢棄項目收集循環562可管理寫入至剩餘儲存子單元552N-1、552N之日誌資料,而不給記憶體裝置510添加(顯著)額外負擔。廢棄項目收集循環562可經組態而以存留可能用於對一故障進行除錯時之日誌資料之一間隔來執行。
圖6係圖解說明一記憶體陣列部分600之一個實例性配置之一方塊圖。舉例而言,記憶體陣列部分600可係圖1之記憶體陣列120或圖5之記憶體陣列520之全部或部分。記憶體陣列部分600包含一組可並行程式化區塊,標注為區塊0、區塊1、區塊2、區塊3、區塊N。儘管展示了五個區塊,但記憶體陣列部分600可包含任何適合數目個區塊。區塊0至區塊N包含各個頁,諸如所展示之頁0至頁1。舉例而言,區塊0可包含一頁0及一頁1,區塊1可包含一頁0及一頁1等。儘管圖6中僅展示兩個頁,但各個實例記憶體陣列可包含不同數目個頁。
由於區塊0至區塊N係可並行程式化的,因此一記憶體控制器(諸如,記憶體控制器115或515)可在同一忙循環中將來自每一區塊0至區塊N之一頁同時程式化。舉例而言,可在同一忙循環中將來自區塊0之頁0、來自區塊1之頁0、來自區塊2之頁0、來自區塊3之頁0、來自區塊N之頁0等程式化。可在同一忙循環期間被程式化之一組頁可被稱為一組可 並行程式化頁。
在圖6之實例中,一儲存單元可係一組可並行程式化頁,且儲存子單元可係來自一組可並行程式化頁中之若干個別頁。一組可並行程式化頁之一剩餘臨限值可係將至少部分地填充一組可並行程式化頁中之所有頁之一資料量。舉例而言,低於剩餘臨限值之主機資料可不填充一組可並行程式化頁中之至少一頁。在圖6之實例中,主機資料2大於或等於剩餘臨限值。如所展示,主機資料2之部分儲存於一組可並行程式化頁(包含自區塊0至區塊N)中之全部頁處。然而,主機資料1小於剩餘臨限值。如所指示,區塊N之至少頁0係包含日誌資料之一剩餘頁。
圖7係圖解說明一記憶體陣列部分700之另一實例之一方塊圖。舉例而言,記憶體陣列部分700可係圖1之記憶體陣列120或圖5之記憶體陣列520的全部或部分。記憶體陣列部分700包含標注為0至N之一組區塊。展示跨越區塊0至N的兩個頁,包含上部頁(Upper Page)及下部頁(Lower Page)。在本文中所闡述的使用可表示兩種以上經程式化狀態中之一種之快閃記憶體胞元(例如,MLC、TLC等)之記憶體陣列之實例中可包含上部頁及下部頁。舉例而言,在圖7中,區塊0之下部頁及區塊0之上部頁可實施於同一實體頁處,其中區塊0之下部頁由儲存於實體頁之對應記憶體胞元處之最低有效位元表示,且區塊0之上部頁由實體頁之對應記憶體胞元處之最高有效位元表示。若使用TLC或更高位階胞元,額外附加頁可利用實體頁之記憶體胞元處之其他位元。
在某些實例中,記憶體控制器115、515可實施單遍次程式化,在該單遍次程式化中一區塊處之互補頁同時被程式化。互補頁可包含一上部頁、一下部頁,且視情況包含實施於同一實體記憶體胞元處之一或 多個附加頁。若將主機資料程式化至一組互補頁,則該等互補頁中之至少一者不被程式化,返回及將未經程式化剩餘頁程式化可係複雜的且在某些情形係不可能的。
在圖7之實例中,儲存單元可係一組互補頁。儲存子單元可係來自一組互補頁之若干個別頁。剩餘臨限值可係填充一組互補頁中之每一頁之至少一部分之一大小。則在圖7之MLC實例中,儲存單元大小可係一個頁之大小。舉例而言,若主機資料小於或等於一個頁之大小,則可將該主機資料程式化至一上部頁或一下部頁,且一組互補頁中之另一頁可係一剩餘頁。在圖7之實例中,區塊0處之下部頁及上部頁被主機資料0之部分程式化,其中主機資料0大於一個頁之大小,但小於上部頁與下部頁之總和。區塊1處之主機資料1、區塊2處之主機資料2及區塊N處之主機資料N亦係此情形。然而在實例性區塊N處,所圖解說明之主機資料N,小於或等於下部頁之大小。因此,主機資料N被程式化至區塊3之下部頁,且區塊3之上部頁係程式化有日誌資料之一剩餘頁。
圖8係圖解說明一記憶體陣列部分800之另一實例之一方塊圖。部分800包含一單個頁,即頁N,頁N包含四個區段,即區段0至區段3。在圖8之實例中,一儲存單元可係一頁且儲存子單元可係頁之區段。剩餘臨限值可係將至少部分地填充頁之所有區段之一大小。在圖8之實例中,主機資料儲存於區段0處,而區段1至區段3係包含日誌資料之剩餘區段。
在某些實例中,諸如110、510等一記憶體裝置可同時使用不同儲存單元及子單元來實施日誌資料儲存。舉例而言,記憶體陣列部分700之區塊0至區塊N可係可平行程式化的。因此,若將被程式化至一組特 定互補頁之主機資料將使該組互補頁中之一或多者空白,或若待被寫入至一組可並行程式化頁之主機資料將使可並行程式化頁中之一或多者空白,則可出現一剩餘頁。此外,在某些實例中,圖6及/或圖7之個別頁可係儲存單元,該等儲存單元包含呈圖8中所展示形式之區段來作為儲存子單元。
圖9係展示一程序流程900之一項實例之一流程圖,程序流程900可由(舉例而言)一記憶體控制器(諸如,記憶體控制器115或記憶體控制器515)執行以將日誌資料程式化至剩餘儲存子單元。在操作902處,記憶體控制器可自一主機裝置(諸如,主機裝置105或主機裝置505)接收一程式化請求。程式化請求可包含待被寫入至一記憶體裝置(諸如,記憶體裝置110或記憶體裝置510)之主機資料。在操作904處,記憶體控制器可判定主機資料之一大小是否小於一剩餘臨限值。若否,則在操作906處記憶體控制器可將主機資料程式化至記憶體裝置之一儲存單元。若主機資料之大小小於儲存單元大小,則在操作908處記憶體控制器可擷取日誌資料。擷取日誌資料可包含將日誌資料(舉例而言)獲得於憶體控制器內。舉例而言,記憶體控制器可擷取一邏輯區塊映射、一管理表等之全部或部分,如本文中所闡述。視情況,記憶體控制器可產生包括主機資料及所擷取日誌資料之一程式化資料單元。舉例而言,程式化資料單元可存在於記憶體裝置之一RAM中,在用於待被儲存於一記憶體陣列處之資料之一暫存器或一組暫存器處等。
在操作910處,記憶體控制器可將記憶體裝置處之一儲存單元程式化以包含主機資料及所擷取日誌資料。儲存單元之儲存子單元中之至少一者可係一剩餘儲存子單元。剩餘子單元中之至少一者可被程式化 有所擷取日誌資料。在操作912處,記憶體控制器可儲存包含日誌資料之一或多個儲存子單元係邏輯無效之一指示。該指示可被儲存(舉例而言)至記憶體裝置之一邏輯區塊映射或其他管理表。
圖10係展示一程序流程1000之一項實例之一流程圖,程序流程1000可(舉例而言)由一記憶體控制器(諸如,記憶體控制器115或記憶體控制器515)執行以擷取所儲存之日誌資料。在操作1002處,記憶體控制器可接收一日誌資料請求。可自諸如主機裝置505等一主機裝置接收日誌資料請求。在某些實例中,可自用於(舉例而言)在主機裝置處診斷問題之另一裝置接收日誌資料請求。在操作1004處,記憶體控制器515可讀取包含日誌資料之儲存單元及/或儲存子單元。舉例而言,記憶體控制器可保存一管理表,該管理表指示包含日誌資料(例如,在一廢棄項目收集循環時尚未被摒棄之日誌資料)之儲存單元及/或儲存子單元。在操作1006處,記憶體控制器可發送包含所擷取日誌資料之一日誌資料回覆訊息。
圖11係展示一程序流程1100之一項實例之一流程圖,程序流程1100可由一記憶體控制器(諸如,記憶體控制器115或515)執行以將關於重要事件之日誌資料儲存於一記憶體裝置處。在操作1102處,記憶體控制器可將日誌資料儲存於剩餘儲存子單元處,舉例而言,如本文中關於程序流程900所闡述。在操作1104處,記憶體控制器可判定是否已發生一重要事件。一重要事件可包含表徵記憶體裝置之一故障之任何事件或者一事件之指示。舉例而言,當記憶體控制器判定一電源中斷已發生或即將發生時,可發生一重要事件。其他實例性重要事件可包含:相關資料結構之間的一內部不一致性、狀態變數無效值之偵測、資料或後設資料損壞、區塊或其他硬體故障等。
若未發生重要事件,則在操作1102處記憶體控制器可繼續儲存日誌資料。若在操作1104處偵測到一重要事件,則在操作1106處記憶體控制器可產生額外剩餘儲存子單元。額外剩餘儲存子單元可以任何適合方式來產生。舉例而言,記憶體控制器可經由多個忙循環將對主機資料之程式化隔開以便留出額外剩餘儲存子單元來儲存日誌資料。在操作1108處,記憶體控制器可將額外日誌資料儲存於剩餘儲存子單元處。舉例而言,記憶體控制器可儲存比操作1102處所儲存多之日誌資料。額外日誌資料可包含:記憶體裝置處之更多歷史異動、闡述記憶體裝置之額外變數或數量、記憶體陣列之邏輯區塊映射等。如此一來,若重要事件確實導致記憶體裝置之一故障,則額外日誌資料可提供對故障之額外說明。在操作1110處,記憶體控制器可判定在操作1104處偵測到之重要事件是否仍存在。若是,則記憶體控制器可返回至操作1106。若否,記憶體控制器可返回至操作1102。
圖12圖解說明一實例性機器1200之一方塊圖,可在實例性機器1200上執行本文中所論述之技術(例如,方法)中之任一者或多者。在替代實施例中,機器1200可用作一獨立裝置操作或可連接(例如,網路連接)至其他機器。在一網路連接部署中,機器1200可作為一伺服器機器,一用戶端機器或在伺服器-用戶端網路環境中操作。在一實例中,機器1200可在對等(P2P)(或其他分佈式)網路環境中作為一對等機器。機器1200可係一個人電腦(PC)、一平板PC、一機頂盒(STB)、一個人數位助理(PDA)、一行動電話、一網頁設備、一IoT裝置、汽車系統、或者能夠執行規定將由彼機器採取之動作之指令(循序或其他)之任何機器。此外,雖然僅圖解說明一單個機器,但術語「機器」亦應被視為包含個別地或聯合 地執行一組(或多組)指令以執行本文中所論述方法中之任一者或多者之任何機器集合。
本文中所闡述之實例可包含邏輯、組件、裝置、封裝或機構,或者可藉由邏輯、組件、裝置、封裝或機構來操作。電路系統(Circuitry)係被實施為包含硬體(例如,簡單電路、閘極、邏輯等)之有形實體之電路(circuit)之一集合(例如,組)。電路系統成員可隨時間而係靈活的且具有潛在硬體可變性。電路系統包含可在操作時單獨地或組合地執行特定任務之部件。在一實例中,電路系統之硬體可被設計成不變以實施一特定操作(例如,硬連線)。在一實例中,電路系統之硬體可包含可變連接實體組件(例如,執行單元、電晶體、簡單電路等),該等可變連接實體組件包含經實體修改(例如,磁性地、電性地、可移動地放置不變大量粒子等)以對特定操作之指令進行編碼之一電腦可讀媒體。在連接實體組件時,一硬體組分之潛在電特性(舉例而言)自一絕緣體改變至一導體,或反之亦然。指令在處於操作中時經由可變連接以實施特定任務之部分,使得參與性硬體(例如,執行單元或一加載機構)能夠以硬體形式形成電路系統之部件。因此,當裝置正在操作時,電腦可讀媒體以通信方式耦合至電路系統之其他組件。在一實例中,實體組件中之任一者可用於一個以上電路系統之一個以上部件中。舉例而言,在操作下,執行單元可在一個時間點處用於一第一電路系統之一第一電路中,且由第一電路系統中之一第二電路再次使用,或在一不同時間處由一第二電路系統中之一第三電路使用。
機器(例如,電腦系統)1200(例如,主機裝置105、記憶體裝置110等)可包含一硬體處理器1202(例如,一中央處理單元(CPU)、一圖形處理單元(GPU)、一硬體處理器核心或上述各項之任何組合,諸如 記憶體控制器115等),一主記憶體1204及一靜態記憶體1206,上述各項之全部或某些可經由一互連鏈路(例如,匯流排)1208彼此進行通信。機器1200可進一步包含一顯示單元1210、一字母數字輸入裝置1212(例如,一鍵盤)及一使用者介面(UI)導覽裝置1214(例如,一滑鼠)。在一實例中,顯示單元1210、輸入裝置1212及UI導覽裝置1214可係一觸控式螢幕顯示器。機器1200可另外包含一儲存裝置(例如,驅動單元)1216、一信號產生裝置1218(例如,一揚聲器)、一網路介面裝置1220及一或多個感測器1217,諸如一全球定位系統(GPS)感測器、指南針、加速度計或其他感測器。機器1200可包含與一或多個周邊裝置(例如,一列印機、讀卡器等)進行通信或控制該一或多個周邊裝置之一輸出控制器1228,諸如一串行連接(例如,通用串列匯流排(USB)、並行連接或其他有線或無線(例如,紅外線(IR)、近場通信(NFC)等)連接。
儲存裝置1216可包含一機器可讀媒體1222,機器可讀媒體1222上儲存由本文中所闡述之技術或功能中之任一者或多者體現或利用一或多組資料結構或指令1224(例如,軟體)。指令1224亦可在其由機器1200執行期間完全或至少部分地駐存於主記憶體1204內、靜態記憶體1206內或硬體處理器1202內。在一實例中,硬體處理器1202、主記憶體1204、靜態記憶體1206或儲存裝置1216之一個或任何組合可構成機器可讀媒體1222。
雖然機器可讀媒體1222被圖解說明為一單個媒體,但術語「機器可讀媒體」可包含經組態以儲存一或多個指令1224之一單個媒體或多個媒體(例如,一集中式或分佈式化資料庫、或相關聯高速緩衝記憶體及伺服器)。
術語「機器可讀媒體」可包含以下任何媒體:能夠儲存、編碼、或實施由機器1200執行之指令,且致使機器1200執行本發明技術中之任一者或多者,或能夠儲存、編碼或實施由此等指令使用或與此等指令相關聯之資料結構。非限制性機器可讀媒體實例可包含固態記憶體及光學媒體以及磁性媒體。在一實例中,一大容量機器可讀媒體包括具有質量不變(例如,穩定)之複數個粒子之一機器可讀媒體。因此,大容量機器可讀媒體並非係暫時性傳播信號。大容量機器可讀媒體之具體實例可包含:非揮發性記憶體,諸如半導體記憶體裝置(例如,電可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM))及快閃記憶體裝置;磁碟,諸如內部硬碟及可抽取式磁碟;磁光碟;以及CD-ROM及DVD-ROM磁碟。
儲存於儲存裝置1221上之指令1224(例如,軟體、程式化、一作業系統(OS)等)或其他資料可由記憶體1204存取以供處理器1202使用。記憶體1204(例如,DRAM)通常係快速,但具揮發性,且因此係與儲存裝置1221不同之一儲存裝置類型(例如,一SSD),儲存裝置1221適合於長期儲存,包含在處於「關斷」狀況中時。由一使用者或機器1200使用之指令1224或資料通常被載入於記憶體1204中以供處理器1202使用。當記憶體1204變滿時,可分配來自儲存裝置1221之虛擬空間以補充記憶體1204;然而,由於儲存裝置1221通常比記憶體1204慢,且寫入速度通常比讀取速度至少慢兩倍,因此使用虛擬記憶體可因儲存裝置等待時間(與記憶體1204(例如DRAM)相比)而會極大地減弱使用者體驗。此外,將儲存裝置1221用作虛擬記憶體可極大地減弱儲存裝置1221之可使用壽命。
與虛擬記憶體相比,虛擬記憶體壓縮(例如,Linux®內核特徵「ZRAM」)使用記憶體之一部分作為壓縮區塊儲存以避免對儲存裝置1221進行分頁。分頁發生於壓縮區塊中直至其必須將此資料寫入至儲存裝置1221為止。虛擬記憶體壓縮會增大記憶體1204之可使用大小,同時會減小對儲存裝置1221之損耗。
經最佳化以用於行動電子裝置之儲存裝置或行動儲存裝置通常包含MMC固態儲存裝置(例如,微型安全數位(microSDTM)卡等)。MMC裝置包含與一主機裝置之間的若干個平行介面(例如,一8位元平行介面)且通常係可自主機裝置抽取且分離之組件。相比之下,eMMCTM裝置附接至一電路板且被視為主機裝置之一組件,其中讀取速度可與基於串行ATATM(串行AT(先進技術)附接或SATA)之SSD裝置媲美。然而,對行動裝置效能之要求繼續提高,諸如以完全滿足虛擬或擴增實境之裝置,從而利用不斷增加之網路速度等。回應於此要求,儲存裝置已自並行通信介面轉變至串行通信介面。通用快閃儲存(UFS)裝置(包含控制器及韌體),使用具有專用讀取/寫入路徑之一低電壓差動信號(LVDS)串行介面來與一主機裝置進行通信,從而進一步促進更大讀取/寫入速度。
可進一步利用若干個傳送協定(例如,訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料報協定(UDP)、超文字傳送協定(HTTP)等)中之任一者、經由網路介面裝置1220、使用一傳輸媒體、在一通信網路1226上傳輸或接收指令1224。實例性通信網路可包含:一區域網(LAN)、一廣域網(WAN)、一封包資料網路(例如,網際網路)、行動電話網路(例如,蜂巢網路)、普通舊式電話(POTS)網路及無線資料網路(例如,已知為Wi-Fi®之電子電機工程師協會(IEEE)802.11標準家族、已 知為WiMax®之IEEE 802.16標準家族),IEEE 802.15.4標準家族、對等(P2P)網路等。在一實例中,網路介面裝置1220可包含一或多個實體插口(例如,乙太網插口、同軸插口或電話插口)或者一或多個天線以連接至通信網路1226。在一實例中,網路介面裝置1220可包含複數個天線以使用單輸入多輸出(SIMO)、多輸入多輸出(MIMO)或多輸入單輸出(MISO)技術中之至少一者來進行無線通信。術語「傳輸媒體」應被視為包含能夠儲存、編碼或實施由機器1200執行之指令之任何無形媒體,且包含數位或類比通信信號或其他無形媒體以促進此等軟體之通信。
以上詳細說明包含對形成該詳細說明的一部分的附圖的參考。該等圖式以圖解說明方式展示其中可實踐本發明之具體實施例。此等實施例在本文中亦稱為「實例」。除了所展示或所闡述之彼等元件之外,此等實例亦可包含若干元件。然而,本發明人亦預期僅提供所展示或所闡述之彼等元件之實例。此外,本發明人亦預期使用關於一特定實例(或者其一或多項態樣)或關於本文中所展示或所闡述之其他實例(或者其一或多項態樣)而展示或闡述之彼等元件之任何組合或排列的實例(或者其一或多項態樣)。
在此文件中,使用在專利文件中常見之術語「一(a或an)」來包含一者或一者以上,此獨立於「至少一者」或「一或多者」之任何其他例項或使用。在此文件中,除非另有指示,否則使用術語「或」來指示非排他性,或使得「A或B」可包含「A但非B」、「B但非A」以及「A及B」。在隨附申請專利範圍中,將術語「包含」及「其中(in which)」用作各別術語「包括」及「其中(wherein)」之通俗英語等效形式。此外,在以下申請專利範圍中,術語「包含」及「包括」係開放式的,亦即包含 除了在一請求項中列舉於此一術語之後的彼等元件以外的元件之一系統、裝置、項目或程序仍被視為在彼請求項之範疇內。此外,在以下申請專利範圍中,術語「第一」、「第二」及「第三」等僅用作標記,且並不意欲對其對象施加編號要求。
在各種實例中,本文中所闡述之組件、控制器、處理器、單元、引擎或表可包含實體電路系統或儲存於一實體裝置上之韌體等。如本文中所使用,「處理器」意指任何類型之計算電路,諸如(但不限於)一微處理器、一微控制器、一圖形處理器、一數位信號處理器(DSP)或任何其他類型之處理器或處理電路,包含處理器或多核心裝置之一群組。
如本文件中所使用之術語「水平」被定義為平行於習用平面或一基板(在一晶圓或晶粒下方之基板)之表面之一平面,而不論該基板在任何時間處之實際定向如何。術語「垂直」係指垂直於如上文所定義之水平面之一方向。諸如「在…上」、「在…上方」及「在…下方」等前置詞係相對於位於基板之頂部或暴露表面上之習用平面或表面而界定,而無論基板之定向如何;且而「在…上」係旨在表明一個結構相對於另一結構之一直接接觸,即一個結構「在另一結構上」(不包含一明確相反指示);術語「在…上方」及「在…下方」明確地旨在識別結構(或層、特徵等)之一相對放置,此明確地包含但不限於所識別結構之間的直接接觸,除非如此具體識別。類似地,術語「在…上方」及「在…下方」並不僅限於水平定向,此乃因若在某一時間點處一結構係所論述構造之一最外部分,甚至若此結構相對於所提及結構垂直地延伸而非在一水平定向上,則一結構可「在一所提及結構上方」。
術語「晶圓」及「基板」在本文中一般用於指代在其上形 成積體電路之任何結構,且亦指代在積體電路製作之各個階段期間之此等結構。因此,以下詳細說明不應被視為具有一限制意義,且各種實施例之範疇僅由隨附申請專利範圍連同授權此申請專利範圍之等效形式之全部範疇界定。
根據本發明且本文中所闡述之各種實施例包含利用一垂直記憶體胞元結構之記憶體(例如,NAND記憶體胞元串)。如本文中所使用,將相對於上方形成有記憶體胞元之一基板之一表面來對方向性形容詞加以理解(亦即,一垂直結構將被理解為遠離基板表面延伸,垂直結構之一底端將被視為最接近基板表面之一端,且垂直結構之一頂端將被視為距基板表面最遠之一端)。
如本文中所使用,方向性形容詞(諸如水平、垂直、法向、平行、垂直等)可指代相對定向,且不旨在需要嚴格符合於特定地理性質,除非另有說明。舉例而言,如本文中所使用,一垂直結構不需要嚴格地垂直於一基板之一表面,而是可大致垂直於該基板之該表面,且可與該基板之該表面形成一銳角(例如,介於60°與120°之間等)。
在本文中所闡述之某些實施例中,可將不同摻雜組態施加至一源極側選擇閘(SGS)、一控制閘(CG)及一汲極側選擇閘(SGD),在此實例中該等閘中之每一者可由多晶矽形成或至少包含多晶矽,從而使得此等層級(例如,多晶矽等)可在暴露於一蝕刻解決方案下時具有不同蝕刻速率。舉例而言,在於一3D半導體裝置中形成一整體柱之一製程中,SGS及CG可形成凹槽,而SGD可不太凹陷或甚至不凹陷。因此,此等摻雜組態可使得能夠藉由使用一蝕刻解決方案(例如,四甲基氫氧化銨(TMCH))來在在3D半導體裝置中之相異層級(例如,SGS、CG及SGD)中進行選擇 性蝕刻。
如本文中所使用,操作一記憶體胞元,包含自該記憶體胞元讀取、寫入該記憶體胞元至或抹除該記憶體胞元。將一記憶體胞元置於一預期狀態中之操作在本文中被稱為「程式化」,且可包含寫入至記憶體胞元或自記憶體胞元抹除(例如,記憶體胞元可被程式化至一抹除狀態)。
根據本發明之一或多項實施例,位於一記憶體裝置內部或外部之一記憶體控制器(例如,一處理器、控制器、韌體等)能夠判定(例如,選擇、設定、調整、計算、改變、清除、通信、調適、導出、定義、利用、修改、施加等)大量抹寫循環或一抹寫狀態(例如,記錄抹寫循環、在操作發生時對記憶體裝置之操作進行計數、在操作起始時追蹤記憶體裝置之操作、評估與一抹寫狀態對應之記憶體裝置特性等)。
根據本發明之一或多項實施例,一記憶體存取裝置可經組態以將關於每一記憶體操作之抹寫循環資訊提供至記憶體裝置。記憶體裝置控制電路系統(例如,控制邏輯)可經程式化以補償與抹寫循環資訊對應之記憶體裝置效能改變。記憶體裝置可接收抹寫循環資訊,且回應於該抹寫循環資訊而判定一或多個操作參數(例如,一值、特性)。
應理解,當一元件被稱為在「另一元件上」、「連接至另一元件」或「與另一元件耦合」時,該元件可直接在另一元件上、與另一元件直接連接或直接耦合,或者可存在介入元件。相比之下,當一元件被稱為「直接在另一元件上」、「直接連接至另一元件」或「與另一元件直接耦合」時,不存在介入元件或介入層。若兩個元件在圖式中被展示為一條線連接該兩個元件,則兩個元件可耦合或直接耦合,除非另有指示。
本文中所闡述之方法實例可係至少部分地由機器或電腦實 施。某些實例可包含被編碼有指令之電腦可讀媒體或機器可讀媒體,該指令可操作以對電子裝置進行組態以執行在以上實例中所闡述之方法。此類方法之實施方案可包含程式碼,例如微碼、組合語言碼、高階語言碼等等。此程式碼可包含用於執行各種方法之電腦可讀指令。該程式碼可形成電腦程式產品之部分。此外,該程式碼可在(諸如)執行期間或在其他時間處有形地儲存於一或多個揮發性或非揮發性有形電腦可讀媒體上。此等有形電腦可讀媒體之實例可包括(但不限於)硬磁碟、可抽取式磁碟、可抽取式光碟(例如,壓縮磁碟及數位視訊磁碟)、磁帶盒、記憶卡或記憶條、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、固態驅動器(SSD)、通用快閃儲存(UFS)裝置、嵌入式MMC(eMMC)裝置等等。
實例1係一種用於管理快閃記憶體之方法,該方法包括:接收一第一程式化請求,該第一程式化請求包括待被寫入至該快閃記憶體之第一主機資料,該快閃記憶體包括若干個儲存單元,其中該若干個儲存單元中之一第一儲存單元包括若干個儲存子單元;若該第一主機資料小於一剩餘臨限值:產生一第一程式化資料單元,其中該第一程式化資料單元包括該第一主機資料及闡述該快閃記憶體之第一日誌資料;將該程式化資料單元程式化至該快閃記憶體之該第一儲存單元,其中將該第一日誌資料寫入至該若干個儲存子單元中之一第一儲存子單元;及儲存該第一儲存子單元無效之一指示。
在實例2中,實例1之標的物視情況包含:偵測與該快閃記憶體相關之一重要事件;產生包括闡述該快閃記憶體之第二日誌資料之一第二程式化資料單元;將該第二程式化資料單元至少部分地程式化至一第二儲存子單元,其中該第二儲存子單元屬該若干個儲存單元中之一第二儲 存單元;及儲存該第二儲存子單元無效之一指示。
在實例3中,實例2之標的物視情況包含:其中偵測該重要事件包括偵測對該快閃記憶體之一電源中斷。
在實例4中,實例2至3中任一者或多者之標的物視情況包含:其中該第二日誌資料包括闡述該快閃記憶體之一邏輯區塊映射之至少一部分。
在實例5中,實例1至4中任一者或多者之標的物視情況包含:其中該第一儲存單元係該快閃記憶體之一頁,且該第一儲存子單元係該頁之一區段。
在實例6中,實例1至5中任一者或多者之標的物視情況包含:其中該快閃記憶體包括若干個可並行程式化頁,其中該第一儲存單元係該若干個可並行程式化頁,且其中該第一儲存子單元係該若干個可並行程式化頁中之一第一頁。
在實例7中,實例6之標的物視情況包含:其中該快閃記憶體包括若干個可並行程式化區塊,且其中該若干個可並行程式化頁中之一第一頁係該若干個可並行程式化區塊中之一第一區塊之一部分。
在實例8中,實例1至7中任一者或多者之標的物視情況包含:針對該快閃記憶體起始一廢棄項目收集循環;及自該第一儲存子單元摒棄該第一日誌資料。
在實例9中,實例1至8中任一者或多者之標的物視情況包含:接收一日誌資料請求;讀取至少該第一儲存子單元以獲得該第一日誌資料;及發送包括該第一日誌資料之一日誌資料回覆。
在實例10,實例1至9中任一者或多者之標的物視情況包 含:其中該快閃記憶體包括若干個多位階胞元,且其中該第一儲存子單元包括一多位階胞元之一下部頁。
實例11係一種快閃記憶體,其包括:一快閃記憶體,包括一組可並行程式化頁;一記憶體控制器,其經組態以執行包括以下各項之操作:接收一第一程式化請求,該第一程式化請求包括待被寫入至該快閃記憶體之第一主機資料;該第一主機資料小於一剩餘臨限值:產生一第一程式化資料單元,其中該第一程式化資料單元包括該第一主機資料及闡述該快閃記憶體之第一日誌資料;將該第一程式化資料單元並行地程式化至該快閃記憶體之第一組頁,其中該第一組頁中之每一者屬若干個可並行程式化區塊中之一不同區塊,且其中將該第一日誌資料寫入至該第一組頁中之一第一頁;及該第一頁無效之一指示。
在實例12中,實例11之標的物視情況包含:其中該記憶體控制器進一步經組態以執行包括以下各項之操作:偵測與該快閃記憶體相關之一重要事件;產生包括闡述該快閃記憶體之第二日誌資料之一第二程式化資料單元;將該第二程式化資料單元至少部分地程式化至第二組可並行程式化頁中之一第二頁,其中該第二組可並行程式化頁中之每一者屬該快閃記憶體之若干個可並行程式化區塊中之一不同區塊;及儲存該第二頁無效之一指示。
在實例13中,實例12之標的物視情況包含:其中偵測該重要事件包括偵測對該快閃記憶體之一電源中斷。
在實例14中,實例12至13中任一者或多者之標的物視情況包含:其中該第二日誌資料包括闡述該快閃記憶體之一邏輯區塊映射之至少一部分。
在實例15中,實例11至14中之任一者或多者之標的物視情況包含:其中該記憶體控制器進一步經組態以執行包括以下各項之操作:針對該快閃記憶體起始一廢棄項目收集循環;及自該第一頁摒棄該第一日誌資料。
在實例16中,實例11至15中之任一者或多者之標的物視情況包含:其中該記憶體控制器進一步經組態以執行包括以下各項之操作:接收一日誌資料請求;讀取至少該第一頁以獲得該第一日誌資料;及發送包括該第一日誌資料之一日誌資料回覆。
實例17係一種快閃記憶體,其包括:一快閃記憶體,其包括若干個頁,其中該若干個頁中之一第一頁包括若干個區段;及一記憶體控制器經組態以執行操作包括:接收一第一程式化請求,該第一程式化請求包括待被寫入至該快閃記憶體之第一主機資料;及若該第一主機資料小於一剩餘臨限值:產生一第一程式化資料單元,其中該第一程式化資料單元包括該第一主機資料及闡述該快閃記憶體之第一日誌資料;將該第一程式化資料單元程式化至該第一頁,其中該第一日誌資料被寫入至該第一頁之一第一區段;及儲存該第一頁之該第一區段無效之一指示。
在實例18中,實例17之標的物視情況包含:其中該記憶體控制器進一步經組態以執行包括以下各項之操作:偵測與該快閃記憶體相關之一重要事件;產生包括闡述該快閃記憶體之第二日誌資料之一第二程式化資料單元;將該第二程式化資料單元至少部分地程式化至該若干個頁中之一第二頁之一第二區段;及儲存該第二區段無效之一指示。
在實例19中,實例18之標的物視情況包含:其中偵測該重要事件包括偵測對該快閃記憶體之一電源中斷。
在實例20中,實例18至19中任一者或多者之標的物視情況包含:其中該第二日誌資料包括闡述該快閃記憶體之一邏輯區塊映射之至少一部分。
在實例21中,實例17至20中任一者或多者之標的物視情況包含:其中記憶體控制器進一步經組態以執行包括以下各項之操作:針對該快閃記憶體起始一廢棄項目收集循環;及自第一區段摒棄該第一日誌資料。
在實例22中,實例17至21中任一者或多者之標的物視情況包含:其中該記憶體控制器進一步經組態以執行包括各項之操作:接收一日誌資料請求;讀取至少該第一區段以獲得該第一日誌資料;及發送包括該第一日誌資料之一日誌資料回覆。
實例23係一種提供指令之裝置可讀儲存媒體,該等指令在由一記憶體裝置之一控制器執行時,在記憶體裝置中將電壓讀取位準校準最佳化,其中該等指令致使控制器執行操作如實例1至22之技術中之任一者。
實例24係一種設備,其包括用於執行實例1至22之方法或技術中之任一者之各別構件。
實例25係執行實例1至22中之任一者之操作之一系統、設備或裝置。
實例26係包含指令之一有形機器可讀媒體,用以執行或實施任何of實例1至22中之任一者之操作。
實例27係一種用以執行實例1至22中之任一者之操作之方法。
以上說明旨在具說明性而非限制性。舉例而言,上文所闡述之實例(或者其一或多項態樣)可以彼此組合方式使用。諸如,熟習此項技術者可在審閱以上說明之後旋即使用其他實施例。基於以下理解主張其並非將用於解釋或限制申請專利範圍之範疇或含義。此外,在以上詳細說明中,各種特徵可分組在一起以簡化本發明。此不應解釋為意指一未主張之所揭示特徵對任何請求項而言皆係必要的。而是,發明性標的物可不存在於一特定所揭示實施例之所有特徵中。因此,以下申請專利範圍特此併入實施方式,其中每一請求項自身作為一單獨實施例,且預期此等實施例可以各種組合或排列形式彼此組合。本發明之範疇應參考隨附申請專利範圍連同授權於此申請專利範圍之等效形式之整個範疇一起加以判定。
500:環境
505:主機裝置
510:記憶體裝置
515:記憶體控制器
520:記憶體陣列
525:記憶體管理器
530:記憶體管理器
535:陣列控制器
540:錯誤校正碼組件
550A至550N:儲存單元
552A至552N:儲存子單元
554A:主機資料部分
554B:主機資料部分
556A:日誌資料部分
556B:日誌資料部分
558:日誌資料
560:主機資料
562:主機資料

Claims (25)

  1. 一種用於管理快閃記憶體之方法,該方法包括:接收一第一程式化請求,該第一程式化請求包括待被寫入至該快閃記憶體之第一主機資料,該快閃記憶體包括若干個儲存單元,其中該若干個儲存單元中之一第一儲存單元包括若干個儲存子單元;判定該第一主機資料小於一剩餘臨限值;回應於判定該第一主機資料小於該臨限值而產生一第一程式化資料單元,其中該第一程式化資料單元包括該第一主機資料及闡述該快閃記憶體之第一日誌資料;將該程式化資料單元程式化至該快閃記憶體之該第一儲存單元,其中該第一日誌資料被寫入至該第一儲存單元之一第一儲存子單元;及儲存指示該第一儲存子單元處之該第一日誌資料將在該第一儲存單元之一廢棄項目收集循環中被摒棄之一指示。
  2. 如請求項1之方法,其進一步包括:偵測與該快閃記憶體相關之一重要事件;產生包括闡述該快閃記憶體之第二日誌資料之一第二程式化資料單元;將該第二程式化資料單元至少部分地程式化至一第二儲存子單元,其中該第二儲存子單元屬該若干個儲存單元中之一第二儲存單元;及 儲存指示該第二儲存子單元將在該第一儲存單元之一廢棄項目收集循環中被摒棄之一指示。
  3. 如請求項2之方法,其中偵測該重要事件包括偵測對該快閃記憶體之一電源中斷。
  4. 如請求項2之方法,其中該第二日誌資料包括闡述該快閃記憶體之一邏輯區塊映射之至少一部分。
  5. 如請求項1之方法,其中該第一儲存單元係該快閃記憶體之一頁,且該第一儲存子單元係該頁之一區段。
  6. 如請求項1之方法,其中該快閃記憶體包括若干個可並行程式化頁,其中該第一儲存單元係該若干個可並行程式化頁,且其中該第一儲存子單元係該若干個可並行程式化頁中之一第一頁。
  7. 如請求項6之方法,其中該快閃記憶體包括若干個可並行程式化區塊,且其中該若干個可並行程式化頁中之一第一頁係該若干個可並行程式化區塊中之一第一區塊之一部分。
  8. 如請求項1之方法,其進一步包括:針對該快閃記憶體起始一廢棄項目收集循環;及自該第一儲存子單元摒棄該第一日誌資料。
  9. 如請求項1之方法,其進一步包括:接收一日誌資料請求;讀取至少該第一儲存子單元以獲得該第一日誌資料;及發送包括該第一日誌資料之一日誌資料回覆。
  10. 如請求項1之方法,其中該快閃記憶體包括若干個多位階胞元,且其中該第一儲存子單元包括一多位階胞元之一下部頁。
  11. 如請求項1之方法,其中儲存指示該第一儲存子單元將在該第一儲存單元之一廢棄項目收集循環中被摒棄之一指示包括儲存該第一儲存子單元無效之一指示。
  12. 一種快閃記憶體,其包括:一快閃記憶體,其包括一組可並行程式化頁;一記憶體控制器,其經組態以執行包括以下各項之操作:接收一第一程式化請求,該第一程式化請求包括待被寫入至該快閃記憶體之第一主機資料;判定該第一主機資料小於一剩餘臨限值,則:回應於判定該第一主機資料小於該臨限值而產生一第一程式化資料單元,其中該第一程式化資料單元包括該第一主機資料及闡述該快閃記憶體之第一日誌資料;將該第一程式化資料單元並行地程式化至該快閃記憶體之一 第一組頁,其中該第一組頁中之每一者屬若干個可並行程式化區塊中之一不同區塊,且其中該第一日誌資料被寫入至該第一組頁中之一第一頁;及儲存指示該第一頁處之該第一日誌資料將在該第一組頁之一廢棄項目收集循環中被摒棄之一指示。
  13. 如請求項12之快閃記憶體,其中該記憶體控制器進一步經組態以執行包括以下各項之操作:偵測與該快閃記憶體相關之一重要事件;在該重要事件之後,產生包括闡述該快閃記憶體之第二日誌資料之一第二程式化資料單元;將該第二程式化資料單元至少部分地程式化至一第二組可並行程式化頁中之一第二頁,其中該第二組可並行程式化頁中之每一者屬該快閃記憶體之若干個可並行程式化區塊中之一不同區塊;及儲存指示該第二頁處將在該第一組頁之一廢棄項目收集循環中被摒棄之一指示。
  14. 如請求項13之快閃記憶體,其中偵測該重要事件包括偵測對該快閃記憶體之一電源中斷。
  15. 如請求項13之快閃記憶體,其中該第二日誌資料包括闡述該快閃記憶體之一邏輯區塊映射之至少一部分。
  16. 如請求項12之快閃記憶體,其中該記憶體控制器進一步經組態以執行包括以下各項之操作:針對該快閃記憶體起始一廢棄項目收集循環;及自該第一頁摒棄該第一日誌資料。
  17. 如請求項12之快閃記憶體,其中該記憶體控制器進一步經組態以執行包括以下各項之操作:接收一日誌資料請求;讀取至少該第一頁以獲得該第一日誌資料;及發送包括該第一日誌資料之一日誌資料回覆。
  18. 如請求項12之快閃記憶體,其中儲存指示該第一頁將在該第一組頁之一廢棄項目收集循環中被摒棄之一指示包括儲存該第一頁無效之一指示。
  19. 一種快閃記憶體,其包括:一快閃記憶體,其包括若干個頁,其中該若干個頁中之一第一頁包括若干個區段;及一記憶體控制器,其經組態以執行包括以下各項之操作:接收一第一程式化請求,該第一程式化請求包括待被寫入至該快閃記憶體之第一主機資料;及若該第一主機資料小於一剩餘臨限值,則:產生一第一程式化資料單元,其中該第一程式化資料單元包 括該第一主機資料及闡述該快閃記憶體之第一日誌資料;將該第一程式化資料單元程式化至該第一頁,其中該第一日誌資料被寫入至該第一頁之一第一區段;及儲存指示該第一頁之該第一區段將在該第一頁之一廢棄項目收集循環中被摒棄之一指示。
  20. 如請求項19之快閃記憶體,其中該記憶體控制器進一步經組態以執行包括以下各項之操作:偵測與該快閃記憶體相關之一重要事件;產生包括闡述該快閃記憶體之第二日誌資料之一第二程式化資料單元;將該第二程式化資料單元至少部分地程式化至該若干個頁中之一第二頁之一第二區段;及儲存指示該第二區段將在該第一頁之一廢棄項目收集循環中被摒棄之一指示。
  21. 如請求項20之快閃記憶體,其中偵測該重要事件包括偵測對該快閃記憶體之一電源中斷。
  22. 如請求項20之快閃記憶體,其中該第二日誌資料包括闡述該快閃記憶體之一邏輯區塊映射之至少一部分。
  23. 如請求項19之方法,其中該記憶體控制器進一步經組態以執行包括 以下各項之操作:針對該快閃記憶體起始一廢棄項目收集循環;及自該第一區段摒棄該第一日誌資料。
  24. 如請求項19之方法,其中該記憶體控制器進一步經組態以執行包括以下各項之操作:接收一日誌資料請求;讀取至少該第一區段以獲得該第一日誌資料;及發送包括該第一日誌資料之一日誌資料回覆。
  25. 如請求項19之快閃記憶體,其中儲存指示該第一頁將在該第一頁之一廢棄項目收集循環中被摒棄之一指示包括儲存該第一頁無效之一指示。
TW107130225A 2017-08-30 2018-08-30 快閃記憶體及其管理方法 TWI699698B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/690,889 US11100996B2 (en) 2017-08-30 2017-08-30 Log data storage for flash memory
US15/690,889 2017-08-30

Publications (2)

Publication Number Publication Date
TW201923554A TW201923554A (zh) 2019-06-16
TWI699698B true TWI699698B (zh) 2020-07-21

Family

ID=65437537

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107130225A TWI699698B (zh) 2017-08-30 2018-08-30 快閃記憶體及其管理方法

Country Status (4)

Country Link
US (2) US11100996B2 (zh)
CN (1) CN111133410B (zh)
TW (1) TWI699698B (zh)
WO (1) WO2019046128A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11100996B2 (en) 2017-08-30 2021-08-24 Micron Technology, Inc. Log data storage for flash memory
US10832793B2 (en) * 2018-08-21 2020-11-10 Micron Technology, Inc. Defective memory cell detection circuitry including use in automotive control systems
KR20220021796A (ko) * 2020-08-14 2022-02-22 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
CN113342570B (zh) * 2021-06-17 2022-03-08 哈尔滨工业大学 一种适配3d tlc型nand闪存数据存储的双目标状态消除编解码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163663A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald Dynamic data structures for tracking file system free space in a flash memory device
TW200947440A (en) * 2008-02-29 2009-11-16 Toshiba Kk Memory system
US20120198131A1 (en) * 2011-01-31 2012-08-02 Phison Electronics Corp. Data writing method for rewritable non-volatile memory, and memory controller and memory storage apparatus using the same
US20150160893A1 (en) * 2013-12-06 2015-06-11 Sandisk Technologies Inc. Lower Page Only Host Burst Writes

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875454A (en) 1996-07-24 1999-02-23 International Business Machiness Corporation Compressed data cache storage system
US6625671B1 (en) 1999-05-03 2003-09-23 Computer Network Technology Corporation Compression of buffered data
US7188227B2 (en) 2003-09-30 2007-03-06 International Business Machines Corporation Adaptive memory compression
KR100526188B1 (ko) * 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
US7984084B2 (en) 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7366013B2 (en) 2005-12-09 2008-04-29 Micron Technology, Inc. Single level cell programming in a multiple level cell non-volatile memory device
KR100885783B1 (ko) 2007-01-23 2009-02-26 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법
US7882393B2 (en) 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
US7979626B2 (en) 2008-05-13 2011-07-12 Microsoft Corporation Flash recovery employing transaction log
JP4399021B1 (ja) 2008-10-29 2010-01-13 株式会社東芝 ディスクアレイ制御装置および記憶装置
US20100115182A1 (en) 2008-11-06 2010-05-06 Sony Corporation Flash memory operation
US9684590B2 (en) * 2010-10-25 2017-06-20 Seagate Technology Llc Storing corresponding data units in a common storage unit
KR101790165B1 (ko) 2011-08-09 2017-11-20 삼성전자 주식회사 메모리 시스템 및 그것의 메타 데이터 관리 방법
KR20130096881A (ko) * 2012-02-23 2013-09-02 삼성전자주식회사 플래시 메모리 장치
US20160266825A1 (en) 2015-03-10 2016-09-15 Kabushiki Kaisha Toshiba Memory system and memory controller
US20170115900A1 (en) 2015-10-23 2017-04-27 International Business Machines Corporation Dummy page insertion for flexible page retirement in flash memory storing multiple bits per memory cell
US11100996B2 (en) 2017-08-30 2021-08-24 Micron Technology, Inc. Log data storage for flash memory
CN109669889B (zh) 2018-12-24 2021-03-02 青岛方寸微电子科技有限公司 一种轻量型Nor Flash闪存控制方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163663A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald Dynamic data structures for tracking file system free space in a flash memory device
TW200947440A (en) * 2008-02-29 2009-11-16 Toshiba Kk Memory system
US20120198131A1 (en) * 2011-01-31 2012-08-02 Phison Electronics Corp. Data writing method for rewritable non-volatile memory, and memory controller and memory storage apparatus using the same
US20150160893A1 (en) * 2013-12-06 2015-06-11 Sandisk Technologies Inc. Lower Page Only Host Burst Writes

Also Published As

Publication number Publication date
CN111133410A (zh) 2020-05-08
US11100996B2 (en) 2021-08-24
CN111133410B (zh) 2021-09-03
WO2019046128A1 (en) 2019-03-07
US20210383872A1 (en) 2021-12-09
US11705201B2 (en) 2023-07-18
TW201923554A (zh) 2019-06-16
US20190066791A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
TWI680461B (zh) 快閃記憶體區塊報廢策略
TWI704455B (zh) Nand記憶體裝置、藉由一nand記憶體裝置之一控制器執行之方法及其機器可讀媒體
CN111383683B (zh) 通过堆叠多个可靠性规范进行扫描优化
CN111183481B (zh) 数据损坏的安全擦除
KR102362767B1 (ko) 정정 불가능 ecc
CN110660441A (zh) 存储器装置中多个块的擦除
US10685731B2 (en) Erase page check
TWI699698B (zh) 快閃記憶體及其管理方法
TWI679644B (zh) 改良資料完整性之反及閘單元編碼
US20200365219A1 (en) Slc page read
CN112817519A (zh) 存储器装置的温度管理
WO2020006447A1 (en) Temperature sensitive nand programming
CN113129978B (zh) 使用奇偶校验增加存储器存取并行性
CN114365097A (zh) 受管理存储器系统中的写入缓冲器控制
CN112997254B (zh) 用于筛选容易出现缺陷的存储器块的基于度量的反应性读取