TWI676181B - 記憶體裝置及其操作方法 - Google Patents

記憶體裝置及其操作方法 Download PDF

Info

Publication number
TWI676181B
TWI676181B TW107147327A TW107147327A TWI676181B TW I676181 B TWI676181 B TW I676181B TW 107147327 A TW107147327 A TW 107147327A TW 107147327 A TW107147327 A TW 107147327A TW I676181 B TWI676181 B TW I676181B
Authority
TW
Taiwan
Prior art keywords
data
memory
data word
memory device
data bits
Prior art date
Application number
TW107147327A
Other languages
English (en)
Other versions
TW202004750A (zh
Inventor
池育德
Yu-Der Chih
劉建瑛
Chien-Yin Liu
史毅駿
Yi-Chun Shih
Original Assignee
台灣積體電路製造股份有限公司
Taiwan Semiconductor Manufacturing Co., Ltd.
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 台灣積體電路製造股份有限公司, Taiwan Semiconductor Manufacturing Co., Ltd. filed Critical 台灣積體電路製造股份有限公司
Application granted granted Critical
Publication of TWI676181B publication Critical patent/TWI676181B/zh
Publication of TW202004750A publication Critical patent/TW202004750A/zh

Links

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0656Data buffering arrangements
    • 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/08Address circuits; Decoders; Word-line control circuits
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

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)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

一種操作記憶體裝置的方法包括:將多個資料字寫入至所述記憶體裝置的相應的位元胞中,所述多個資料字中的每一者具有多個資料位元;因應於確定並非所述多個資料字的所有所述資料位元均被正確地寫入至所述記憶體裝置的所述相應的位元胞中,將所述多個資料字分組為多個資料字集合;以及同時重寫未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的資料位元的子集,其中所述資料位元的所述子集包含於所述多個資料字集合中的相應的一者中。

Description

記憶體裝置及其操作方法
本發明實施例涉及一種記憶體裝置及其操作方法。
記憶體裝置通常用於例如電腦、行動電話、平板電腦、資料記錄器及導航設備(此處僅舉幾個實例)等諸多類型的電子裝置中。一般而言,可使用寫入操作將資訊作為資料位元儲存於此種記憶體裝置中。在一些情況下,可存在多個資料字(data word),所述多個資料字中的每一者包含多個資料位元,所述多個資料位元被配置成被寫入至記憶體裝置的相應的記憶體位元胞中。偶爾,相應的寫入操作可能會失敗。舉例而言,所述多個資料字的一或多個資料位元可能未被正確地寫入至所配置的記憶體位元胞。此些資料位元通常被稱為失敗的資料位元(failed data bit)。
為補救此些失敗的資料位元,在現有記憶體裝置中使用的技術通常以單個「字元」為單位而依賴於一或多次迭代來重寫失敗的資料位元。舉例而言,第一字元中所包含的失敗的資料位元被重寫至分別被配置的記憶體位元胞中,第二字元中所包含的 失敗的資料位元被重寫至分別被配置的記憶體位元胞中,等等,此為耗時且耗電的。因此,現有的記憶體裝置及用以儲存資料位元的方法並非是完全令人滿意的。
本發明的實施例包括一種操作記憶體裝置的方法,包括:將多個資料字寫入至所述記憶體裝置的相應的位元胞中,所述多個資料字中的每一者具有多個資料位元;因應於確定並非所述多個資料字的所有所述資料位元均被正確地寫入至所述記憶體裝置的所述相應的位元胞中,將所述多個資料字分組為多個資料字集合;以及同時重寫未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的資料位元的子集,其中所述資料位元的所述子集包含於所述多個資料字集合中的相應的一者中。
本發明的另一實施例包括一種操作記憶體裝置的方法,包括:將多個資料字寫入至所述記憶體裝置的相應的位元胞中,所述多個資料字中的每一者具有多個資料位元;驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述記憶體裝置的所述相應的位元胞中;因應於所述多個資料字存在未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的一或多個資料位元,將所述多個資料字分組為多個資料字集合;以及迭代地將所述多個資料字集合中的相應的一者中所包含的所述一或多個資料位元中的至少一者重寫至所述記憶體裝置的所述相應的位元胞中,直至驗證出所述多個資料字的所有所述資料位元均被正確 地寫入至所述記憶體裝置的所述相應的位元胞中為止。
本發明的又一實施例包括一種記憶體裝置,包括:多個記憶體位元胞;以及控制邏輯電路,耦合至所述多個記憶體位元胞,且被配置成:將多個資料字寫入至所述多個記憶體位元胞中的相應的記憶體位元胞中,所述多個資料字中的每一者具有多個資料位元;驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述相應的記憶體位元胞中;因應於所述多個資料字存在未被正確地寫入至所述相應的記憶體位元胞中的一或多個資料位元,將所述多個資料字分組為多個資料字集合;以及迭代地將所述多個資料字集合中的相應的一者中所包含的所述一或多個資料位元中的至少一者重寫至所述相應的記憶體位元胞中,直至驗證出所述多個資料字的所有所述資料位元均被正確地寫入至所述相應的記憶體位元胞中為止。
100‧‧‧記憶體裝置
102‧‧‧控制邏輯電路
104、106、108、110‧‧‧記憶庫
104A、106A、108A、110A‧‧‧記憶體陣列/陣列
104-1、104-2、104-3、104-4、104-5、104-6、104-7、104-8、104-9、104-10、104-11、104-12、104-13、104-14、104-15、104-16、106-1、106-2、106-3、106-4、106-5、106-6、106-7、106-8、106-9、106-10、106-11、106-12、106-13、106-14、106-15、106-16、108-1、108-2、108-3、108-4、108-5、108-6、108-7、108-8、108-9、108-10、108-11、108-12、108-13、108-14、108-15、108-16、110-1、110-2、110-3、110-4、110-5、110-6、110-7、110-8、110-9、110-10、110-11、110-12、110-13、110-14、110-15、110-16‧‧‧記憶體位元胞
104CM、106CM、108CM、110CM‧‧‧行選擇電路
104CM-1、104RM-1‧‧‧第一組件/組件
104CM-2、104RM-2‧‧‧第二組件/組件
104CM-3、104RM-3‧‧‧第三組件/組件
104CM-4、104RM-4‧‧‧第四組件/組件
104RM、106RM、108RM、110RM‧‧‧列選擇電路
104WD、106WD、108WD、110WD‧‧‧寫入驅動器電路
106CM-1、106CM-2、106CM-3、106CM-4、106RM-1、106RM-2、106RM-3、106RM-4、108CM-1、108CM-2、108CM-3、108CM-4、108RM-1、108RM-2、108RM-3、108RM-4、110CM-1、110CM-2、110CM-3、110CM-4、110RM-1、110RM-2、110RM-3、110RM-4‧‧‧組件
120‧‧‧緩衝電路
130、132、134、136、146、148、150、152、162、164、166、168、178、180、182、184‧‧‧位元線(BL)
138、140、142、144、154、156、158、160、170、172、174、176、186、188、190、192‧‧‧字元線(WL)
300‧‧‧方法
302、304、306、308、310、312、314、316、318、320‧‧‧操作
400‧‧‧電腦系統/系統
401‧‧‧處理器
402‧‧‧記憶體
404‧‧‧匯流排
406‧‧‧網路介面(I/F)/介面
408‧‧‧輸入/輸出(I/O)裝置
410‧‧‧儲存器/儲存裝置
412‧‧‧使用者空間
414‧‧‧核心
結合附圖閱讀以下詳細說明,會最佳地理解本發明的實施例的各態樣。應注意,各種特徵未必按比例繪製。事實上,為使論述清晰起見,可任意增大或減小各種特徵的尺寸。
圖1說明根據一些實施例的記憶體裝置的示例性方塊圖。
圖2A說明根據一些實施例的圖1所示記憶體裝置的一部分的示例性示意圖。
圖2B說明根據一些實施例的圖1所示記憶體裝置的另一部分的示例性示意圖。
圖3說明根據各種實施例操作圖1所示記憶體裝置的示例性方法的流程圖。
圖4說明根據一些實施例執行圖3所示方法的電腦系統的方塊圖。
以下揭露內容闡述用於實作標的的不同特徵的各種示例性實施例。以下闡述組件及構造的具體實例以簡化本發明的實施例。當然,該些僅為實例且不旨在進行限制。舉例而言,應理解,當將元件稱為「連接至」或「耦合至」另一元件時,所述元件可直接連接至或直接耦合至所述另一元件,或者可存在一或多個中間元件。
本發明的實施例提供一種記憶體裝置的各種實施例,所述記憶體裝置包括控制邏輯電路,所述控制邏輯電路被配置成以資料字群組為單位而將一或多個失敗的資料位元重寫至分別被配置的記憶體位元胞中。在一些實施例中,所述控制邏輯電路可因應於確定在多個資料字內存在一或多個失敗的資料位元而對此多個資料字起始分組操作,所述多個資料字中的每一者包含多個資料位元。舉例而言,所述控制邏輯電路被配置成將具有第一數目的資料字的所述多個資料字分組為具有第二數目的資料字集合的多個資料字集合,其中第二數目小於第一數目。根據一些實施例,所述控制邏輯電路迭代地檢查所述資料字集合中的每一者是否包含失敗的資料位元中的任一者,且若包含,則將失敗的資料位元重寫至所配置記憶體位元胞中。
在一些實施例中,藉由以資料字集合而非每一單個字元為單位來重寫失敗的資料位元,可提供各種優點。例如,由於一般而言,失敗的資料位元的數目與每一字元的資料位元的總數相較是相對低的(例如,約處於百萬分之(part per million,ppm)一的範圍中),因此重寫被分組於每一資料字集合中的失敗的資料位元可在時間及功率方面更有效。此外,由於更有效的重寫操作,對於初始寫入操作而言,容許具有更大的容錯度。因此,對所揭露記憶體裝置的記憶體位元胞施加的初始寫入訊號的量值可實質上降低,此可有利地改良記憶體位元胞各自的耐久性。
圖1說明根據本發明各種實施例的示例性記憶體裝置100的方塊圖。如圖所示,記憶體裝置100包括控制邏輯電路102、多個記憶庫(memory bank)104、106、108及110、以及緩衝電路120。雖然如圖1所說明的實施例中所示,記憶體裝置100包括四個記憶庫104至110,然而應理解,在仍保持處於本發明的實施例的範圍內的同時,記憶體裝置100可包括任何所需數目的記憶庫。
在一些實施例中,耦合至記憶庫104至110的控制邏輯電路102被配置成經由標準化介面(圖中未示出)接收多個資料字並將此多個資料字寫入至記憶庫104至110的相應的記憶體位元胞中,所述多個資料字中的每一者包含多個資料位元。此外,當接收所述多個資料字時,控制邏輯電路102亦可接收所述多個資料字的資料位元各自的邏輯位址。基於所述邏輯位址,控制邏 輯電路102可將所述多個資料字的資料位元中的每一者寫入至記憶庫104至110中的相應的記憶體位元胞中(即,將所述多個資料字的資料位元寫入至相應的實體位址中)。當資料位元中的一或多者(下文中稱為「失敗的資料位元」)未被正確地寫入至此些所配置位址處的相應的記憶體位元胞中時,控制邏輯電路102可執行分組操作(grouping operation),以使用資料字群組為單位來將所述一或多個失敗的資料位元重寫至相應的記憶體位元胞中,如以下更詳細地論述。
在一些實施例中,緩衝電路120(通常被稱為快取記憶體)耦合至控制邏輯電路102,且包括:多個非揮發性記憶體胞,例如快閃記憶體胞、硫屬化物隨機存取記憶體(chalcogenide random access memory,C-RAM)胞、相變RAM(phase change RAM,PC-RAM或PRAM)胞、可程式化金屬化胞RAM(programmable metallization cell RAM,PMCRAM或PMCm)胞、雙向統一記憶體(ovonic unified memory,OUM)胞、電阻RAM(resistance RAM,RRAM)胞、鐵電記憶體(ferroelectric memory,FeRAM)胞等;或者揮發性記憶體胞,例如,靜態RAM(static RAM,SRAM)胞、動態RAM(dynamic RAM,DRAM)胞等。緩衝電路120的此些記憶體胞可被形成為晶片上(on-chip)記憶體胞(即,形成於與記憶庫104至110相同的晶片上)或晶片外(off-chip)記憶體胞(即,形成於與記憶庫104至110不同的晶片上)。在一些實施例中,控制邏輯電路102可將各種類型的資料 (例如以上所提及的失敗的資料位元的映射項)儲存於緩衝電路120中,如以下將論述。
如以上所提及,記憶庫104至110中的每一者包括各自的多個記憶體位元胞。在一些實施例中,記憶庫104至110中的每一者各自的所述多個記憶體位元胞排列成行-列配置(column-row configuration),其中每一記憶體位元胞設置於形成一行的位元線(bit line,BL)與形成一列的字元線(word line,WL)的相應的相交點處。此外,記憶庫104至110中的每一者包括各自的列選擇電路、行選擇電路及寫入驅動器。圖2A及圖2B說明根據一些實施例的記憶庫104至110各自的示意圖。
參照圖2A,分別示出記憶庫104及106的示意圖。記憶庫104包括:記憶體位元胞104-1、104-2、104-3、1044、104-5、104-6、104-7、104-8、104-9、104-10、104-11、104-12、104-13、104-14、104-15及104-16,被形成為陣列104A;列選擇電路(通常被稱為列多工器電路)104RM;行選擇電路(通常被稱為行多工器電路)104CM;以及寫入驅動器電路104WD。如以下將論述,列選擇電路104RM及行選擇電路104CM中的每一者包括經由相應的BL或WL耦合至對應記憶體位元胞的多個組件。雖然在圖2A所說明的實施例中,記憶庫104具有16個記憶體位元胞,然而在仍處於本發明的實施例的範圍內的同時,記憶庫104的記憶體陣列104A可具有任何所需數目的記憶體位元胞。此外,應理解,圖2A僅說明示例性實施例,且在仍處於本發明的實施例的範 圍內的同時,記憶庫104可利用此項技術中已知的其他記憶體電路,例如,感測放大器、預充電電路等。
如圖所示,記憶體位元胞104-1設置於沿著第一行佈置的BL 130與沿著第一列佈置的WL 138的相交點處,記憶體位元胞104-2設置於沿著第二行佈置的BL 132與沿著第一列佈置的WL 138的相交點處,記憶體位元胞104-3設置於沿著第三行佈置的BL 134與沿著第一列佈置的WL 138的相交點處,記憶體位元胞104-4設置於沿著第四行佈置的BL 136與沿著第一列佈置的WL 138的相交點處,記憶體位元胞104-5設置於沿著第一行佈置的BL 130與沿著第二列佈置的WL 140的相交點處,記憶體位元胞104-6設置於沿著第二行佈置的BL 132與沿著第二列佈置的WL 140的相交點處,記憶體位元胞104-7設置於沿著第三行佈置的BL 134與沿著第二列佈置的WL 140的相交點處,記憶體位元胞104-8設置於沿著第四行佈置的BL 136與沿著第二列佈置的WL 140的相交點處,記憶體位元胞104-9設置於沿著第一行佈置的BL 130與沿著第三列佈置的WL 142的相交點處,記憶體位元胞104-10設置於沿著第二行佈置的BL 132與沿著第三列佈置的WL 142的相交點處,記憶體位元胞104-11設置於沿著第三行佈置的BL 134與沿著第三列佈置的WL 142的相交點處,記憶體位元胞104-12設置於沿著第四行佈置的BL 136與沿著第三列佈置的WL 142的相交點處,記憶體位元胞104-13設置於沿著第一行佈置的BL 130與沿著第四列佈置的WL 144的相交點處,記憶體位元 胞104-14設置於沿著第二行佈置的BL 132與沿著第四列佈置的WL 144的相交點處,記憶體位元胞104-15設置於沿著第三行佈置的BL 134與沿著第四列佈置的WL 144的相交點處,記憶體位元胞104-16設置於沿著第四行佈置的BL 136與沿著第四列佈置的WL 144的相交點處。
沿著記憶體陣列104A的第一列,記憶體位元胞104-1至104-4經由WL 138耦合至列選擇電路104RM的第一組件104RM-1;沿著記憶體陣列104A的第二列,記憶體位元胞104-5至104-8經由WL 140耦合至列選擇電路104RM的第二組件104RM-2;沿著記憶體陣列104A的第三列,記憶體位元胞104-9至104-12經由WL 142耦合至列選擇電路104RM的第三組件104RM-3;且沿著記憶體陣列104A的第四列,記憶體位元胞104-13至104-16經由WL 144耦合至列選擇電路104RM的第四組件104RM-4。在一些實施例中,組件104RM-1至104RM-4中的每一者可由此項技術中已知的被配置成基於控制訊號而容許訊號從中通過的各種通閘電晶體(pass gate transistor)(例如閘控鎖存器、傳輸閘等)中的任一者來實作。
沿著記憶體陣列104A的第一行,記憶體位元胞104-1、104-5、104-9及104-13經由BL 130耦合至行選擇電路104CM的第一組件104CM-1;沿著記憶體陣列104A的第二行,記憶體位元胞104-2、104-6、104-10及104-14經由BL 132耦合至行選擇電路104CM的第二組件104CM-2;沿著記憶體陣列104A的第三行, 記憶體位元胞104-3、104-7、104-11及104-15經由BL 134耦合至行選擇電路104CM的第三組件104CM-3;且沿著記憶體陣列104A的第四行,記憶體位元胞104-4、104-8、104-12及104-16經由BL 136耦合至行選擇電路104CM的第四組件104CM-4。類似地,在一些實施例中,組件104CM-1至104CM-4中的每一者可由被配置成基於控制訊號而容許訊號從中通過的各種通閘電晶體(例如閘控鎖存器、傳輸閘等)中的任一者來實作。
沿著行方向,記憶體位元胞更經由相應的BL耦合至寫入驅動器電路104WD。舉例而言,沿著記憶體陣列104A的第一行,記憶體位元胞104-1、104-5、104-9及104-13經由BL 130耦合至寫入驅動器電路104WD;沿著記憶體陣列104A的第二行;記憶體位元胞104-2、104-6、104-10及104-14經由BL 132耦合至寫入驅動器電路104WD;沿著記憶體陣列104A的第三行,記憶體位元胞104-3、104-7、104-11及104-15經由BL 134耦合至寫入驅動器電路104WD;且沿著記憶體陣列104A的第四行,記憶體位元胞104-4、104-8、104-12及104-16經由BL 136耦合至寫入驅動器電路104WD。在一些實施例中,寫入驅動器電路104WD可由此項技術中已知的被配置成將寫入訊號(例如,電壓訊號)提供至經置位(asserted)BL的多個邏輯閘及/或電晶體的組合來實作。
與記憶庫104的配置類似,記憶庫106包括:記憶體位元胞106-1、106-2、106-3、106-4、106-5、106-6、106-7、106-8、 106-9、106-10、106-11、106-12、106-13、106-14、106-15及106-16,被形成為陣列106A,各自設置於BL與WL(例如,BL 146、148、150及152中的一者與WL 154、156、158及160中的一者)的相交點處;列選擇電路106RM;行選擇電路106CM;以及寫入驅動器電路106WD。此外,列選擇電路106RM亦包括四個組件106RM-1、106RM-2、106RM-3及106RM-4,所述四個組件106RM-1、106RM-2、106RM-3及106RM-4各自經由對應WL耦合至記憶體陣列106A的相應的記憶體位元胞;且行選擇電路106CM亦包括四個組件106CM-1、106CM-2、106CM-3及106CM-4,所述四個組件106CM-1、106CM-2、106CM-3及106CM-4各自經由對應BL耦合至記憶體陣列106A的相應的記憶體位元胞。列選擇電路106RM及行選擇電路106CM以及寫入驅動器電路106WD分別實質上類似於上述的列選擇電路104RM、行選擇電路104CM及寫入驅動器電路104WD,因此不再對列選擇電路106RM、行選擇電路106CM及寫入驅動器電路106WD予以贅述。
參照圖2B,記憶庫108及110各自實質上類似於記憶庫104及106(圖2A)。因此,如下來簡要地闡述記憶庫108及110。舉例而言,記憶庫108包括:記憶體位元胞108-1、108-2、108-3、108-4、108-5、108-6、108-7、108-8、108-9、108-10、108-11、108-12、108-13、108-14、108-15及108-16,被形成為陣列108A,各自設置於BL與WL(例如,BL 162、164、166及168中的一者與WL 170、172、174及176中的一者)的相交點處;列選擇電路 108RM;行選擇電路108CM;以及寫入驅動器電路108WD;且記憶庫110包括:記憶體位元胞110-1、110-2、110-3、110-4、110-5、110-6、110-7、110-8、110-9、110-10、110-11、110-12、110-13、110-14、110-15及110-16,被形成為陣列110A,各自設置於BL與WL(例如,BL 178、180、182及184中的一者與WL 186、188、190及192中的一者)的相交點處;列選擇電路110RM;行選擇電路110CM;以及寫入驅動器電路110WD。此外,在記憶庫108中,列選擇電路108RM亦包括各自與列選擇電路104RM(圖2A)的上述組件實質上類似的四個組件108RM-1、108RM-2、108RM-3及108RM-4;且行選擇電路108CM亦包括各自與行選擇電路104CM(圖2A)的上述組件實質上類似的四個組件108CM-1、108CM-2、108CM-3及108CM-4。在記憶庫110中,列選擇電路110RM亦包括各自與列選擇電路104RM(圖2A)的上述組件實質上類似的四個組件110RM-1、110RM-2、110RM-3及110RM-4;且行選擇電路110CM亦包括各自與行選擇電路104CM(圖2A)的上述組件實質上類似的四個組件110CM-1、110CM-2、110CM-3及110CM-4。
如以上所提及,根據一些實施例,列選擇電路104RM、106RM、108RM及110RM的每一組件被配置成基於控制訊號而容許訊號從中通過。更具體而言,列選擇電路104RM、106RM、108RM及110RM的每一組件被配置成藉由基於由控制邏輯電路102提供的控制訊號所指示的位址資訊而容許訊號從中通過來對所耦合的 WL中的至少一者進行置位。類似地,行選擇電路104CM、106CM、108CM及110CM的每一組件被配置成亦基於以上所提及的位址資訊而對所耦合的BL中的至少一者進行置位。
在一些實施例中,此種位址資訊可分別包含欲對WL 138至144、154至160、170至176及186至192中的哪一者及BL 130至136、146至152、162至168及178至184中的哪一者進行置位。因此,列選擇電路104RM可藉由啟用對應組件(例如,組件104RM-1至104RM-4中的一者)來對WL 138至144中的一者進行置位,以容許記憶體陣列104A的沿著經置位WL設置的記憶體位元胞被存取(例如,被讀取或被寫入);列選擇電路106RM可藉由啟用對應組件(例如,組件106RM-1至106RM-4中的一者)來對WL 154至160中的一者進行置位,以容許記憶體陣列106A的沿著經置位WL設置的記憶體位元胞被存取(例如,被讀取或被寫入);列選擇電路108RM可藉由啟用對應組件(例如,組件108RM-1至108RM-4中的一者)來對WL 170至176中的一者進行置位,以容許記憶體陣列108A的沿著經置位WL設置的記憶體位元胞被存取(例如,被讀取或被寫入);且列選擇電路110RM可藉由啟用對應組件(例如,組件110RM-1至110RM-4中的一者)來對WL 186至192中的一者進行置位,以容許記憶體陣列110A的沿著經置位WL設置的記憶體位元胞被存取(例如,被讀取或被寫入)。
並且,行選擇電路104CM可藉由啟用對應組件(例如, 組件104CM-1至104CM-4中的一者)來對BL 130至136中的一者進行置位,以容許記憶體陣列104A的沿著經置位BL設置的記憶體位元胞被存取(例如,被讀取或被寫入);行選擇電路106CM可藉由啟用對應組件(例如,組件106CM-1至106CM-4中的一者)來對BL 146至152中的一者進行置位,以容許記憶體陣列106A的沿著經置位BL設置的記憶體位元胞被存取(例如,被讀取或被寫入);行選擇電路108CM可藉由啟用對應組件(例如,組件108CM-1至108CM-4中的一者)來對BL 162至168中的一者進行置位,以容許記憶體陣列108A的沿著經置位BL設置的記憶體位元胞被存取(例如,被讀取或被寫入);且行選擇電路108CM可藉由啟用對應組件(例如,組件110CM-1至110CM-4中的一者)來對BL 178至184中的一者進行置位,以容許記憶體陣列110A的沿著經置位BL設置的記憶體位元胞被存取(例如,被讀取或被寫入)。
圖3說明根據各種實施例以資料字群組為單位而將一或多個失敗的資料位元重寫至分別被配置的記憶體位元胞中的示例性方法的流程圖。在各種實施例中,方法300的各操作由圖1至圖2B所說明的相應的組件執行。為便於論述,將結合圖1至2B來闡述方法300的以下實施例。方法300的所說明實施例僅為實例。因此,應理解,在仍處於本發明的實施例的範圍內的同時,可對各種操作中的任一者進行省略、重定序及/或添加。
方法300以操作302開始,在操作302中,將第一多個 資料字寫入至相應的記憶體位元胞中,所述第一多個資料字中的每一者包含多個資料位元。在一些實施例中,資料字各自的資料位元的數目可彼此相等或不同。
舉例而言,控制邏輯電路102可接收5個資料字:第一資料字、第二資料字、第三資料字、第四資料字、第五資料字,所述5個資料字中的每一者具有多個資料位元(例如,為簡單起見,具有4個資料位元)。此外,如以上所提及,當控制邏輯電路102接收所述5個資料字時,所述5個資料字的資料位元中的每一者可與對應的邏輯位址相關聯,所述對應的邏輯位址可被映射至記憶體陣列104A至110A的記憶體位元胞中的一者的實體位址(即,BL與WL的相交點處)。然後,控制邏輯電路102使用相應的邏輯位址將所述5個資料字的資料位元寫入至記憶體位元胞中。
更具體而言,第一資料字的4個資料位元可分別被配置成被寫入至記憶體陣列104A的記憶體位元胞104-1、104-2、104-3及104-4(如圖2A中所示)中;第二資料字的4個資料位元可分別被配置成被寫入至記憶體陣列108A的記憶體位元胞108-5、108-6、108-7及108-8(如圖2B中所示)中;第三資料字的4個資料位元可分別被配置成被寫入至記憶體陣列108A的記憶體位元胞108-9、108-10、108-11及108-12(如圖2B中所示)中;第四資料字的4個資料位元可分別被配置成被寫入至記憶體陣列110A的記憶體位元胞110-9、110-10、110-11及110-12(如圖2B 所示)中;第五資料字的4個資料位元可分別被配置成被寫入至記憶體陣列110A的記憶體位元胞110-13、110-14、110-15及110-16(如圖2B中所示)中。
因此,控制邏輯電路102可使列選擇電路104RM啟用組件104RM-1以對WL 138進行置位,且使行選擇電路104CM分別地或共同地啟用組件104CM-1至104CM-4以對BL 130至136進行置位,使得第一資料字的各資料位元可分別被寫入至記憶體位元胞104-1至104-4中。類似地,控制邏輯電路102可使列選擇電路108RM啟用組件108RM-2以對WL 172進行置位,且使行選擇電路108CM分別地或共同地啟用組件108CM-1至108CM-4以對BL 162至168進行置位,使得第二資料字的各資料位元可分別被寫入至記憶體位元胞108-5至108-8中;控制邏輯電路102可使列選擇電路108RM啟用組件108RM-3以對WL 174進行置位,且使行選擇電路108CM分別地或共同地啟用組件108CM-1至108CM-4以對BL 162至168進行置位,使得第三資料字的各資料位元可分別被寫入至記憶體位元胞108-9至108-12中;控制邏輯電路102可使列選擇電路110RM啟用組件110RM-3以對WL 190進行置位,且使行選擇電路110CM分別地或共同地啟用組件110CM-1至110CM-4以對BL 178至184進行置位,使得第四資料字的各資料位元可分別被寫入至記憶體位元胞110-9至110-12中;控制邏輯電路102可使列選擇電路110RM啟用組件110RM-4以對WL 192進行置位,且使行選擇電路110CM分別地或共同地 啟用組件110CM-1至110CM-4以對BL 178至184進行置位,使得第五資料字的各資料位元可分別被寫入至記憶體位元胞110-13至110-16中。
方法300繼續進行至操作304,以判斷所述第一多個資料字的所有資料位元是否均被正確地寫入至相應的記憶體位元胞中。繼續以上實例,在將第一資料字至第五資料字的所有資料位元寫入至相應的所配置記憶體位元胞中之後,控制邏輯電路102可遵循與以上所述者相同的操作,以對被寫入有第一資料字至第五資料字的記憶體位元胞的相應的WL及BL進行置位,並使用一或多個所耦合的感測放大器(圖中未示出)來讀出所寫入的資料位元。此外,在一些實施例中,控制邏輯電路102可將控制邏輯電路102預期寫入至記憶體位元胞中的第一資料字至第五資料字的資料位元各自的邏輯狀態(即,控制邏輯電路102在操作302中接收到的第一資料字至第五資料字的資料位元各自的邏輯狀態)與自記憶體位元胞讀出的邏輯狀態進行比較。在一些實施例中,當第一資料字至第五資料字的資料位元的所有所讀出邏輯狀態與各自的預期邏輯狀態相匹配(即,所述第一多個資料字的所有資料位元均被正確地寫入至相應的記憶體位元胞中)時,方法300繼續進行至操作306,在操作306中,寫入操作結束。
另一方面,當第一資料字至第五資料字的資料位元中的一或多者的所讀出邏輯狀態不與各自的預期邏輯狀態相匹配時,控制邏輯電路102可將此些資料位元分類為失敗的資料位元,如 以上所提及。在此種情形(即,並非所述第一多個資料字的所有資料位元均被正確地寫入至相應的記憶體位元胞中)中,方法300繼續進行至操作308,在操作308中,將此些失敗的資料位元的資訊記錄至緩衝電路中。在一些實施例中,失敗的資料位元的前述資訊可包含每一失敗的資料位元屬於資料字中的哪一者、以及此些失敗的資料位元的映射項。所述映射項可包含失敗的資料位元中的每一者被配置成被寫入何處(即,哪一實體位址)。
繼續以上實例,於在操作304中執行比較之後,控制邏輯電路102可確定第一資料字的第三資料位元、第二資料字的第三資料位元、第三資料字的第三資料位元及第四資料字的第一資料位元是失敗的資料位元。換言之,除第五資料字之外,每一資料字均具有一個失敗的資料位元,因此,控制邏輯電路102將此種指示所述5個資料字中的哪一者具有失敗的資料位元的資訊記錄至緩衝電路120中。在識別失敗的資料位元之後或與此同時,控制邏輯電路102可更將失敗的資料位元被寫入的記憶體位元胞各自的實體位址記錄至緩衝電路120中。舉例而言,控制邏輯電路102可記錄:第一資料字的第三資料位元被寫入至位於記憶體陣列104A的第三行(BL 134)與第一列(WL 138)的相交點處的記憶體位元胞104-3中;第二資料字的第三資料位元被寫入至位於記憶體陣列108A的第三行(BL 166)與第二列(WL 172)的相交點處的記憶體位元胞108-7;第三資料字的第三資料位元被寫入至位於記憶體陣列108A的第三行(BL 166)與第三列(WL 174)的相交點處的記憶體位元胞108-11;且第四資料字的第一資料位元被寫入至位於記憶體陣列110A的第一行(BL 178)與第三列(WL 190)的相交點處的記憶體位元胞110-9。
再次參照圖3,在確定並非所述第一多個資料字的所有資料位元均被正確地寫入至相應的記憶體位元胞中並記錄失敗的資料位元各自的資訊(操作304及308)之後,方法300繼續進行至操作310,在操作310中,將所述第一多個資料字分組為第二多個資料字集合。若所述第一多個資料字的數目可被大小除盡而沒有餘數,則每一資料字集合可具有等分數目的資料字。另一方面,若所述第一多個資料字的數目不能被大小除盡且具有餘數,則除最後一個字元集合之外的每一資料字集合均可具有等分數目的資料字。
繼續以上實例,控制邏輯電路102可將資料字集合的大小確定為2,此反映以上所述的後一種情形。因此,控制邏輯電路102可將第一資料字及第二資料字分組為第一資料字集合;將第三資料字及第四資料字分組為第二資料字集合;並將第五資料字分組為第三資料字元集合。在一些實施例中,控制邏輯電路102可遵循相應的次序來重寫每一資料字集合中的失敗的資料位元,即,重寫第一資料字集合、重寫第二資料字集合且然後重寫第三資料字集合,以下將更詳細地對此進行論述。因此,第三資料字集合可被視為所述多個資料字集合中的最後一個資料字集合。然而,應理解,在仍處於本發明的實施例的範圍內的同時,控制邏 輯電路102可不遵循所述次序來重寫失敗的資料位元。
在一些替代實施例中,在確定資料字集合的大小之後,控制邏輯電路102可將具有失敗的資料位元的資料字分組為同一資料字集合或第一資料字集合,並優先重寫此第一資料字集合中所包含的失敗的資料位元。在其中於第一資料字至第五資料字中僅第一資料字及第四資料字具有失敗的資料位元的實例中,控制邏輯電路102可將第一資料字及第四資料字分組為第一資料字集合;將不具有任何失敗的資料位元的第二資料字及第三資料字分組為第二資料字集合;且將不具有任何失敗的資料位元的第五資料字分組為第三資料字集合。並且,控制邏輯電路102可優先重寫第一資料字集合中所包含的失敗的資料位元。
方法300繼續進行至操作312,在操作312中,選擇第一資料字集合。在一些實施例中,在對所述第一多個資料字進行分組之後,控制邏輯電路102可首先按次序來選擇資料字集合,如以上所提及。在以上實例中,控制邏輯電路102可選擇包含第一資料字及第二資料字的第一資料字集合。
方法300繼續進行至操作314,以判斷所選的資料字集合是否包含失敗的資料位元中的任一者。繼續以上實例,由於在操作308中,控制邏輯電路102將所有失敗的資料位元的資訊儲存於緩衝電路120中,因此控制邏輯電路102可藉由存取緩衝電路120來判斷所選的資料字集合(例如,包含第一資料字及第二資料字的第一資料字集合)是否包含失敗的資料位元中的任一者。
根據一些實施例,在判斷操作314中,若所選的資料字集合包含失敗的資料位元中的一或多者,則方法300繼續進行至操作316,在操作316中,將所選的資料字集合中所包含的失敗的資料位元分別重寫至相應的所配置記憶體位元胞中,且方法300然後繼續進行至操作318以更判斷所選的資料字集合是否為所述第二多個資料字集合中的最後一個資料字集合。若所選的資料字集合是所述第二多個資料字集合中的最後一者,則方法300再次繼續進行至操作304,以判斷所述第一多個資料字的所有資料位元是否均被正確地寫入至相應的記憶體位元胞中。或者,若所選的資料字集合並非是所述第二多個資料字集合中的最後一者,則方法300繼續進行至操作320,在操作320中,選擇下一資料字集合,且方法300然後循環回至操作314。
另一方面,在判斷操作314中,若所選的資料字集合不包含失敗的資料位元中的任一者,則方法300跳過操作316,且直接繼續進行至操作318以更判斷所選的資料字集合是否為所述第二多個資料字集合中的最後一個資料字集合。類似地,若所選的資料字集合是所述第二多個資料字集合中的最後一者,則方法300再次繼續進行至操作304,以判斷所述第一多個資料字的所有資料位元是否均被正確地寫入至相應的記憶體位元胞中。或者,若所選的資料字集合並非是所述第二多個資料字集合中的最後一者,則方法300繼續進行至操作320,在操作320中,選擇下一資料字集合,且方法300然後循環回至操作314。
因此,在執行方法300時可形成一或多個迭代循環,例如,自操作314開始、經過操作316、318及320並返回至操作314的第一迭代循環;自操作314開始、經過操作316、318、304、308、310及312並返回至操作314的第二迭代循環;自操作314開始、經過操作318及320並返回至操作314的第三迭代循環;以及自操作314開始、經過操作318、304、308、310及312並返回至操作314的第四迭代循環。以下將更詳細地分別闡述操作316、318及320。
根據一些實施例,在其中選擇包含第一資料字及第二資料字的第一資料字集合(操作312)的以上實例中,由於第一資料字及第二資料字均具有失敗的資料位元中的至少一者(操作314),因此在操作316中,控制邏輯電路102可並行地將分別包含於第一資料字及第二資料字中但現在被一起分組於第一資料字集合中的失敗的資料位元重寫至相應的所配置記憶體位元胞。更具體而言,第一資料字具有被寫入至記憶體陣列104A的記憶體位元胞104-3的一個失敗的資料位元,且第二資料字具有被寫入至記憶體陣列108A的記憶體位元胞108-4的一個失敗的資料位元。在一些實施例中,控制邏輯電路102可並行地藉由啟用組件104RM-1來對WL 138進行置位以容許記憶體位元胞104-3被存取且藉由啟用組件108RM-2來對WL 172進行置位以容許記憶體位元胞108-7被存取。並行地或隨後,控制邏輯電路102藉由啟用組件104CM-3來對BL 134進行置位以使寫入驅動器電路104WD 將第一資料字的第三資料位元的預期邏輯狀態重寫至記憶體位元胞104-3,且藉由啟用組件108CM-3來對BL 166進行置位以使寫入驅動器電路108WD將第三資料字的第三資料位元的預期邏輯狀態重寫至記憶體位元胞108-7。
在操作318中,控制邏輯電路102檢查包含第一資料字及第二資料字的所選的第一資料字集合是否為所述多個資料字集合中的最後一者。在當前的實例中,最後一個資料字集合應是包含第五資料字的第三資料字集合,因此方法300繼續進行至操作320以選擇下一資料字集合,即包含第三資料字及第四資料字的第二資料字集合。方法300然後循環回至操作314,以判斷第二資料字集合是否包含失敗的資料位元中的任一者。由於第三資料字及第四資料字均具有失敗的資料位元中的至少一者(如以上所述),因此控制邏輯電路102可遵循以上所述的原則來並行地將分別包含於第三資料字及第四資料字中但現在被一起分組於第二資料字集合中的失敗的資料位元重寫至相應的所配置記憶體位元胞108-11及110-9,且檢查包含第三資料字及第四資料字的所選的第二資料字集是否為所述多個資料字集合中的最後一者。在當前的實例中,第二資料字集合仍並非是最後一個資料字集合,因此方法300繼續進行至操作320以選擇下一資料字集合,即包含第五資料字的第三資料字集合,且方法300然後循環回至操作314。由於第三資料字集合不包含任何失敗的資料位元,因此方法300直接繼續進行至操作318,且由於第三資料字集合是最後一個資料字 集合(如在操作318中所確定),因此方法300然後再次繼續進行至操作304,以判斷第一資料字至第五資料字的所有資料位元是否均被正確地寫入至相應的所配置記憶體位元胞中。類似地,若第一資料字至第五資料字的所有資料位元均被正確地寫入至相應的所配置記憶體位元胞中,則寫入操作結束(操作306);且若仍存在一或多個失敗的資料位元,則將遵循操作308至312且選擇性地遵循操作314、316、318、320及314的迭代循環、操作314、318、320及314的迭代循環、或者操作314、316、318、304、308、310、312及314的迭代循環來重寫此些失敗的資料位元。
圖4是根據一些實施例的電腦系統400的方塊圖。在一些實施例中,參照圖1至圖3所述的電路及/或引擎及/或系統及/或操作中的一或多者是藉由一或多個圖4所示電腦系統400來達成。系統400包括經由匯流排404或其他內連通訊機構以通訊方式耦合的至少一個處理器401、記憶體402、網路介面(interface,I/F)406、輸入/輸出(input/output,I/O)裝置408及儲存器410。
在一些實施例中,記憶體402包括耦合至匯流排404以用於儲存欲由處理器401執行的資料及/或指令的隨機存取記憶體(RAM)及/或其他動態儲存裝置、及/或唯讀記憶體(read only memory,ROM)及/或其他靜態儲存裝置。記憶體402可更包括使用者空間412、核心414、所述核心的及/或所述使用者空間的部分、以及其組件。在一些實施例中,記憶體402亦用於在執行欲由處理器401執行的指令期間儲存臨時性變數或其他中間資訊。 在各種實施例中,記憶體402可包含於單個積體電路內,或者可包括彼此以操作方式耦合的多個離散記憶體裝置。
在一些實施例中,儲存裝置410(例如磁碟或光碟)耦合至匯流排404以用於儲存資料及/或指令。I/O裝置408包括用於使得使用者能夠與系統400互動的輸入裝置、輸出裝置及/或組合式輸入/輸出裝置。輸入裝置例如包括用於向處理器401傳遞資訊及命令的鍵盤、小鍵盤、滑鼠、軌跡球、軌跡板及/或遊標方向鍵。輸出裝置例如包括用於向使用者傳遞資訊的顯示器、列印機、語音合成器等。
在一些實施例中,參照圖1至圖3所述的電路及/或引擎及/或系統的一或多個操作及/或功能是藉由處理器401來達成,處理器401被程式化成執行此些操作及/或功能。在一些實施例中,處理器401被配置為經專門配置的硬體(例如,一或多個應用專用積體電路(application specific integrated circuit,ASIC))。根據各種實施例,處理器401可被實作於單個積體電路(integrated circuit,IC)內或被實作為多個以通訊方式耦合的IC及/或離散電路。應瞭解,可根據各種已知的技術來實作處理器401。在一個實施例中,處理器401包括可被配置成藉由執行例如相關聯的記憶體中所儲存的指令來執行本文所述的一或多個功能或過程的一或多個電路或單元。在其他實施例中,處理器401可被實作為被配置成執行本文所述的一或多個功能或過程的韌體(例如,離散邏輯組件)。舉例而言,根據各種實施例,處理器401可包括一或多 個控制器、微處理器、微控制器、應用專用積體電路(ASIC)、數位訊號處理器、可程式化邏輯裝置、現場可程式化閘陣列、或該些裝置或結構的任一組合、或者其他已知的裝置及結構,以執行本文所述的功能。
記憶體402、I/F 406、儲存器410、I/O裝置408及匯流排404中的一或多者可運行以接收供處理器401處理的指令、資料、設計約束、設計規則、網路連線表(netlist)、佈局、模型及/或其他參數。
在一些實施例中,所述操作及/或功能被作為儲存於非暫時性電腦可讀取記錄媒體中的程式的功能來達成。在至少一個實施例中,所述操作及/或功能被作為儲存於記憶體402中的程式(例如可執行指令集合)的功能來達成。在至少一個實施例中,IC設計儲存於非暫時性電腦可讀取記錄媒體中以供本文所述的一或多個操作進行存取。非暫時性電腦可讀取記錄媒體的實例包括但不限於外部/可抽換式儲存單元或記憶體單元、及/或內部/內建式儲存單元或記憶體單元,例如,光碟(例如數位視訊光碟(digital video disc,DVD))、磁碟(例如硬碟)、半導體記憶體(例如ROM、RAM、記憶卡)等中的一或多者。
在實施例中,一種方法包括:將多個資料字寫入至記憶體裝置的相應的位元胞中,所述多個資料字中的每一者具有多個資料位元;因應於確定並非所述多個資料字的所有所述資料位元均被正確地寫入至所述記憶體裝置的所述相應的位元胞中,將所 述多個資料字分組為多個資料字集合;以及同時重寫未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的資料位元的子集,其中所述資料位元的所述子集包含於所述多個資料字集合中的相應的一者中。
在本發明的實施例中,其中所述多個資料字集合的至少一子集具有相同的數目的資料字。
在本發明的實施例中,其中所述多個資料字集合的至少一子集具有各自不同的數目的資料字。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:將與未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述資料位元相關聯的相應的位址儲存至所述記憶體裝置的一或多個緩衝器中。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:存取所述一或多個緩衝器,以判斷所述多個資料字集合中的第一者是否包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述資料位元中的任一者。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:因應於所述多個資料字集合中的所述第一者包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述資料位元的第一子集,將所述資料位元的所述第一子集重寫至所述記憶體裝置的所述相應的位元胞中,且然後判斷所述多個資料字集合中的所述第一者是否為所述多個資料字集合中的最後一者; 以及因應於所述多個資料字集合中的所述第一者不包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述資料位元中的任一者,判斷所述多個資料字集合中的所述第一者是否為所述多個資料字集合中的所述最後一者。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:因應於所述多個資料字集合中的所述第一者並非是所述多個資料字集合中的所述最後一者,判斷所述多個資料字集合中的第二者是否包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述資料位元中的任一者,且因應於所述判斷,選擇性地將所述多個資料字集合中的所述第二者中所包含的所述資料位元的第二子集重寫至所述記憶體裝置的所述相應的位元胞中;以及因應於所述多個資料字集合中的所述第一者是所述多個資料字集合中的所述最後一者,驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述記憶體裝置的所述相應的位元胞中。
在另一實施例中,一種方法包括:將多個資料字寫入至記憶體裝置的相應的位元胞中,所述多個資料字中的每一者具有多個資料位元;驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述記憶體裝置的所述相應的位元胞中;因應於所述多個資料字存在未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的一或多個資料位元,將所述多個資料字分組為多個資料字集合;以及迭代地將所述多個資料字集合中的相應的一 者中所包含的所述一或多個資料位元中的至少一者重寫至所述記憶體裝置的所述相應的位元胞中,直至驗證出所述多個資料字的所有所述資料位元均被正確地寫入至所述記憶體裝置的所述相應的位元胞中為止。
在本發明的實施例中,其中所述多個資料字集合的至少一子集具有相同的數目的資料字。
在本發明的實施例中,其中所述多個資料字集合的至少一子集具有各自不同的數目的資料字。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:將與未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述一或多個資料位元相關聯的相應的位址儲存至所述記憶體裝置的一或多個緩衝器中。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:存取所述一或多個緩衝器,以判斷所述多個資料字集合中的第一者是否包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述一或多個資料位元中的任一者。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:當所述多個資料字集合中的所述第一者包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述一或多個資料位元中的至少第一者時,將所述一或多個資料位元中的所述至少第一者重寫至所述記憶體裝置的所述相應的位元胞中;以及判斷所述多個資料字集合中的所述第一者是否為所述多個資料 字集合中的最後一者。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:當所述多個資料字集合中的所述第一者並非是所述多個資料字集合中的所述最後一者時,迭代地判斷所述多個資料字集合中的下一者是否包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述一或多個資料位元中的任一者,且因應於所述迭代地判斷,選擇性地將所述多個資料字集合中的所述下一者中所包含的所述一或多個資料位元中的至少一者重寫至所述記憶體裝置的所述相應的位元胞中,直至所述多個資料字集合中的所述下一者是所述多個資料字集合中的所述最後一者為止;以及再次驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述記憶體裝置的所述相應的位元胞中。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:當所述多個資料字集合中的所述第一者確實不包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述一或多個資料位元中的任一者時,判斷所述多個資料字集合中的所述第一者是否為所述多個資料字集合中的最後一者。
在本發明的實施例中,所述的操作所述記憶體裝置的方法,更包括:當所述多個資料字集合中的所述第一者並非是所述多個資料字集合中的所述最後一者時,迭代地判斷所述多個資料字集合中的下一者是否包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述一或多個資料位元中的任一者,且因 應於所述迭代地判斷,選擇性地將所述多個資料字集合中的所述下一者中所包含的所述一或多個資料位元中的至少一者重寫至所述記憶體裝置的所述相應的位元胞中,直至所述多個資料字集合中的所述下一者是所述多個資料字集合中的所述最後一者為止;以及再次驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述記憶體裝置的所述相應的位元胞中。
在又一實施例中,一種記憶體裝置包括:多個記憶體位元胞;以及控制邏輯電路,耦合至所述多個記憶體位元胞。所述控制邏輯電路被配置成:將多個資料字寫入至所述多個記憶體位元胞中的相應的記憶體位元胞中,所述多個資料字中的每一者具有多個資料位元;驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述相應的記憶體位元胞中;因應於所述多個資料字存在未被正確地寫入至所述相應的記憶體位元胞中的一或多個資料位元,將所述多個資料字分組為多個資料字集合;以及迭代地將所述多個資料字集合中的相應的一者中所包含的所述一或多個資料位元中的至少一者重寫至所述相應的記憶體位元胞中,直至驗證出所述多個資料字的所有所述資料位元均被正確地寫入至所述相應的記憶體位元胞中為止。
在本發明的實施例中,其中所述控制邏輯電路更被配置成:判斷所述多個資料字集合中的第一者是否包含未被正確地寫入至所述相應的記憶體位元胞中的所述一或多個資料位元中的任一者。
在本發明的實施例中,其中當所述多個資料字集合中的所述第一者包含未被正確地寫入至所述相應的記憶體位元胞中的所述一或多個資料位元中的至少第一者時,所述控制邏輯電路更被配置成:將所述一或多個資料位元中的所述至少第一者重寫至所述相應的記憶體位元胞中;以及判斷所述多個資料字集合中的所述第一者是否為所述多個資料字集合中的最後一者。
在本發明的實施例中,其中當所述多個資料字集合中的所述第一者並非是所述多個資料字集合中的所述最後一者時,所述控制邏輯電路更被配置成:迭代地判斷所述多個資料字集合中的下一者是否包含未被正確地寫入至所述相應的記憶體位元胞中的所述一或多個資料位元中的任一者,且因應於所述迭代地判斷,選擇性地將所述多個資料字集合中的所述下一者中所包含的所述一或多個資料位元中的至少一者重寫至所述相應的記憶體位元胞中,直至所述多個資料字集合中的所述下一者是所述多個資料字集合中的所述最後一者為止;以及再次驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述相應的記憶體位元胞中。
在本發明的實施例中,其中當所述多個資料字集合中的所述第一者確實不包含未被正確地寫入至所述相應的記憶體位元胞中的所述一或多個資料位元中的任一者時,所述控制邏輯電路更被配置成:判斷所述多個資料字集合中的所述第一者是否為所述多個資料字集合中的最後一者,當所述多個資料字集合中的所 述第一者並非是所述多個資料字集合中的所述最後一者時,迭代地判斷所述多個資料字集合中的下一者是否包含未被正確地寫入至所述相應的記憶體位元胞中的所述一或多個資料位元中的任一者,因應於所述迭代地判斷,選擇性地將所述多個資料字集合中的所述下一者中所包含的所述一或多個資料位元中的至少一者重寫至所述相應的記憶體位元胞中,直至所述多個資料字集合中的所述下一者是所述多個資料字集合中的所述最後一者為止,並再次驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述相應的記憶體位元胞中。
以上內容概述了若干實施例的特徵以使此項技術中具有通常知識者可更好地理解本發明的實施例的各態樣。熟習此項技術者應瞭解,他們可易於使用本發明的實施例作為基礎來設計或修改其他過程及結構以施行本文所介紹實施例的相同目的及/或達成本文所介紹實施例的相同優點。熟習此項技術者亦應認識到,此種等效構造並不背離本發明的實施例的精神及範圍,且在不背離本發明的實施例的精神及範圍的條件下,他們可對本文作出各種改變、替代、及變更。

Claims (10)

  1. 一種操作記憶體裝置的方法,包括:將多個資料字寫入至所述記憶體裝置的相應的位元胞中,所述多個資料字中的每一者具有多個資料位元;因應於確定並非所述多個資料字的所有所述資料位元均被正確地寫入至所述記憶體裝置的所述相應的位元胞中,將所述多個資料字分組為多個資料字集合;以及同時重寫未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的資料位元的子集,其中所述資料位元的所述子集包含於所述多個資料字集合中的相應的一者中。
  2. 一種操作記憶體裝置的方法,包括:將多個資料字寫入至所述記憶體裝置的相應的位元胞中,所述多個資料字中的每一者具有多個資料位元;驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述記憶體裝置的所述相應的位元胞中;因應於所述多個資料字存在未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的一或多個資料位元,將所述多個資料字分組為多個資料字集合;以及迭代地將所述多個資料字集合中的相應的一者中所包含的所述一或多個資料位元中的至少一者重寫至所述記憶體裝置的所述相應的位元胞中,直至驗證出所述多個資料字的所有所述資料位元均被正確地寫入至所述記憶體裝置的所述相應的位元胞中為止。
  3. 如申請專利範圍第1或第2項所述的操作所述記憶體裝置的方法,其中所述多個資料字集合的至少一子集具有相同的數目的資料字。
  4. 如申請專利範圍第1或第2項所述的操作所述記憶體裝置的方法,其中所述多個資料字集合的至少一子集具有各自不同的數目的資料字。
  5. 如申請專利範圍第1項所述的操作所述記憶體裝置的方法,更包括:將與未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述資料位元相關聯的相應的位址儲存至所述記憶體裝置的一或多個緩衝器中。
  6. 如申請專利範圍第5項所述的操作所述記憶體裝置的方法,更包括:存取所述一或多個緩衝器,以判斷所述多個資料字集合中的第一者是否包含未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述資料位元中的任一者。
  7. 如申請專利範圍第2項所述的操作所述記憶體裝置的方法,更包括:將與未被正確地寫入至所述記憶體裝置的所述相應的位元胞中的所述一或多個資料位元相關聯的相應的位址儲存至所述記憶體裝置的一或多個緩衝器中。
  8. 一種記憶體裝置,包括:多個記憶體位元胞;以及控制邏輯電路,耦合至所述多個記憶體位元胞,且被配置成:將多個資料字寫入至所述多個記憶體位元胞中的相應的記憶體位元胞中,所述多個資料字中的每一者具有多個資料位元;驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述相應的記憶體位元胞中;因應於所述多個資料字存在未被正確地寫入至所述相應的記憶體位元胞中的一或多個資料位元,將所述多個資料字分組為多個資料字集合;以及迭代地將所述多個資料字集合中的相應的一者中所包含的所述一或多個資料位元中的至少一者重寫至所述相應的記憶體位元胞中,直至驗證出所述多個資料字的所有所述資料位元均被正確地寫入至所述相應的記憶體位元胞中為止。
  9. 如申請專利範圍第8項所述的記憶體裝置,其中所述控制邏輯電路更被配置成:判斷所述多個資料字集合中的第一者是否包含未被正確地寫入至所述相應的記憶體位元胞中的所述一或多個資料位元中的任一者。
  10. 如申請專利範圍第8項所述的記憶體裝置,其中當所述多個資料字集合中的所述第一者確實不包含未被正確地寫入至所述相應的記憶體位元胞中的所述一或多個資料位元中的任一者時,所述控制邏輯電路更被配置成:判斷所述多個資料字集合中的所述第一者是否為所述多個資料字集合中的最後一者,當所述多個資料字集合中的所述第一者並非是所述多個資料字集合中的所述最後一者時,迭代地判斷所述多個資料字集合中的下一者是否包含未被正確地寫入至所述相應的記憶體位元胞中的所述一或多個資料位元中的任一者,因應於所述迭代地判斷,選擇性地將所述多個資料字集合中的所述下一者中所包含的所述一或多個資料位元中的至少一者重寫至所述相應的記憶體位元胞中,直至所述多個資料字集合中的所述下一者是所述多個資料字集合中的所述最後一者為止,並再次驗證所述多個資料字的所有所述資料位元是否均被正確地寫入至所述相應的記憶體位元胞中。
TW107147327A 2018-01-12 2018-12-27 記憶體裝置及其操作方法 TWI676181B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862616985P 2018-01-12 2018-01-12
US62/616,985 2018-01-12
US16/159,214 US10643722B2 (en) 2018-01-12 2018-10-12 Memory device
US16/159,214 2018-10-12

Publications (2)

Publication Number Publication Date
TWI676181B true TWI676181B (zh) 2019-11-01
TW202004750A TW202004750A (zh) 2020-01-16

Family

ID=67214217

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107147327A TWI676181B (zh) 2018-01-12 2018-12-27 記憶體裝置及其操作方法

Country Status (3)

Country Link
US (2) US10643722B2 (zh)
KR (1) KR102233077B1 (zh)
TW (1) TWI676181B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10643722B2 (en) * 2018-01-12 2020-05-05 Taiwan Semiconductor Manufacturing Co., Ltd. Memory device
DE102018126051A1 (de) 2018-01-12 2019-07-18 Taiwan Semiconductor Manufacturing Co. Ltd. Neuartige Speichervorrichtung
DE112019007841T5 (de) * 2019-10-25 2022-08-04 Micron Technology, Inc. Datenwiederherstellungsverwaltung für Speicher
US11960754B2 (en) * 2020-12-30 2024-04-16 Micron Technology, Inc. Memory sub-system memory bank search component

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201539471A (zh) * 2014-02-07 2015-10-16 Apple Inc 用於記憶體陣列結構之全域寫入驅動器
TW201637013A (zh) * 2014-12-30 2016-10-16 美國密西根州立大學 儲存裝置、方法及儲存媒體
TW201706987A (zh) * 2015-04-29 2017-02-16 高通公司 用於低功率陣列之完整有效閘極讀取及寫入
WO2017068328A1 (en) * 2015-10-20 2017-04-27 Arm Limited Memory circuit

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397024B2 (en) * 2008-10-25 2013-03-12 Sandisk 3D Llc Page buffer program command and methods to reprogram pages without re-inputting data to a memory device
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8477446B2 (en) * 2011-01-04 2013-07-02 Hewlett-Packard Development Company, L.P. Writing data to a tape
US9110829B2 (en) * 2012-11-30 2015-08-18 Taiwan Semiconductor Manufacturing Co. Ltd. MRAM smart bit write algorithm with error correction parity bits
KR20150044753A (ko) * 2013-10-17 2015-04-27 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
US9552244B2 (en) * 2014-01-08 2017-01-24 Qualcomm Incorporated Real time correction of bit failure in resistive memory
KR20160032910A (ko) * 2014-09-17 2016-03-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9471417B1 (en) * 2015-02-24 2016-10-18 Crossbar, Inc. Methods and apparatus for back-annotating errors in a RRAM array
US9484114B1 (en) * 2015-07-29 2016-11-01 Sandisk Technologies Llc Decoding data using bit line defect information
JP6457364B2 (ja) * 2015-09-11 2019-01-23 東芝メモリ株式会社 メモリシステム
KR20170076883A (ko) * 2015-12-24 2017-07-05 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
KR102505852B1 (ko) * 2016-01-15 2023-03-03 삼성전자 주식회사 비휘발성 메모리 장치의 동작 방법
US10643722B2 (en) * 2018-01-12 2020-05-05 Taiwan Semiconductor Manufacturing Co., Ltd. Memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201539471A (zh) * 2014-02-07 2015-10-16 Apple Inc 用於記憶體陣列結構之全域寫入驅動器
TW201637013A (zh) * 2014-12-30 2016-10-16 美國密西根州立大學 儲存裝置、方法及儲存媒體
TW201706987A (zh) * 2015-04-29 2017-02-16 高通公司 用於低功率陣列之完整有效閘極讀取及寫入
WO2017068328A1 (en) * 2015-10-20 2017-04-27 Arm Limited Memory circuit

Also Published As

Publication number Publication date
KR102233077B1 (ko) 2021-03-30
US20190221276A1 (en) 2019-07-18
US10643722B2 (en) 2020-05-05
TW202004750A (zh) 2020-01-16
US20200251170A1 (en) 2020-08-06
KR20190086355A (ko) 2019-07-22
US10861572B2 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
TWI676181B (zh) 記憶體裝置及其操作方法
US9880760B2 (en) Managing data stored in a nonvolatile storage device
US10008272B2 (en) Operation method of nonvolatile memory system that includes erase operations, fast erase operations, program operations and fast program operations
CN109101434B (zh) 存储装置、存储系统及所述存储装置的操作方法
TWI660356B (zh) 資料儲存裝置及其操作方法
US10186325B2 (en) Method and apparatus for shielded read to reduce parasitic capacitive coupling
US9916093B2 (en) Nonvolatile memory device and storage device for storing bad block management information with high reliability
US10528466B2 (en) Storage devices including logical to physical address mapping and methods of operating
US9910607B2 (en) Method of managing a memory, and a memory system
TWI545571B (zh) 存取快閃記憶體的方法及相關的控制器與記憶裝置
US10725933B2 (en) Method and apparatus for redirecting memory access commands sent to unusable memory partitions
TWI707268B (zh) 資料儲存裝置及其操作方法
KR20190058714A (ko) 메모리 관리
US11264109B2 (en) Memory device
US10553276B2 (en) Semiconductor memory device
CN110890125A (zh) 存储器装置及其操作方法
KR20150050376A (ko) 메모리 장치
JP4284331B2 (ja) 不揮発性半導体記憶装置のアクセス方法
TWI578320B (zh) 記憶體的操作方法及應用其之記憶體裝置
US10902922B2 (en) Nonvolatile memory device storing data in sub-blocks and operating method thereof
US9460779B2 (en) Memory sensing method using one-time sensing table and associated memory device
US11955175B2 (en) Copy redundancy in a key-value data storage system using content addressable memory
US20220276796A1 (en) Memory cell level assignment using optimal level permutations in a non-volatile memory