TWI506423B - 用以執行並行讀取及寫入記憶體操作之方法及裝置 - Google Patents

用以執行並行讀取及寫入記憶體操作之方法及裝置 Download PDF

Info

Publication number
TWI506423B
TWI506423B TW100137043A TW100137043A TWI506423B TW I506423 B TWI506423 B TW I506423B TW 100137043 A TW100137043 A TW 100137043A TW 100137043 A TW100137043 A TW 100137043A TW I506423 B TWI506423 B TW I506423B
Authority
TW
Taiwan
Prior art keywords
content
memory
partitions
ecc
individual memory
Prior art date
Application number
TW100137043A
Other languages
English (en)
Other versions
TW201227292A (en
Inventor
Graziano Mirichigni
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW201227292A publication Critical patent/TW201227292A/zh
Application granted granted Critical
Publication of TWI506423B publication Critical patent/TWI506423B/zh

Links

Classifications

    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/1072Adding 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 multilevel memories
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5623Concurrent multilevel programming and reading
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Detection And Correction Of Errors (AREA)
  • Read Only Memory (AREA)

Description

用以執行並行讀取及寫入記憶體操作之方法及裝置
本發明中所揭示之標的物係關於一記憶體器件之讀取及寫入處理程序。
記憶體器件採用於諸多類型之電子器件中,諸如電腦、蜂巢電話、PDA、資料記錄器及導航裝備,此處僅列舉數個實例。在此等電子器件當中,可採用各種類型之非揮發性記憶體器件,諸如NAND或NOR快閃記憶體及相變記憶體(PCM),此處僅列舉數個實例。一般而言,可使用寫入或程式化處理程序將資訊儲存於此等記憶體器件中,而可使用一讀取處理程序來擷取所儲存之資訊。
某些類型之記憶體器件包括分割成諸如頁、區塊、分割區等記憶體胞群組之一記憶體胞陣列。在此等情形下,此一群組內之記憶體胞可共用共同電子電路,包含(例如)感測放大器及列/行解碼器。因此,自此一記憶體胞群組之讀取及至此一記憶體胞群組之寫入兩者皆可涉及某一共同電子電路。在此一情形下,在此一記憶體胞群組之一個部分中發生之一未決寫入操作可防止一讀取操作在同一記憶體胞群組之另一部分中發生。此一限制條件可導致較慢讀取操作及一記憶體器件之總體降低效能。
在一實施例中,諸如NAND、NOR或PCM快閃之一記憶體器件可包括分割成稱為分割區之記憶體胞群組之一記憶體陣列。此等分割區內之記憶體胞可共用共同電子電路,包含(例如)感測放大器及列/行解碼器。在一實施方案中,除包含其中用以儲存使用者資料之複數個分割區外,一記憶體陣列可包含用以儲存ECC之一錯誤校正碼(ECC)分割區。若資料之一或多個位元變為遭破壞,則可使用此ECC來用包含待重構資料之足夠額外資訊之奇偶位元補充該資料。舉例而言,可在讀取所儲存資料之一處理程序及/或寫入資料後檢驗之一處理程序期間應用此一ECC。一ECC可包括用奇偶位元補充之一資料串。用以建構一ECC之一處理程序可至少部分地基於正使用之一特定應用程式。在一特定實施方案中,一ECC可至少部分地基於並行編碼與解碼技術。此等技術可涉及一1位元錯誤校正二進制漢明碼、一1位元以上錯誤校正二進制博斯-喬赫裏-霍克昆亨(BCH)碼、非二進制裏德-所羅門碼或一卷積碼,此處僅列舉數個實例。
在一實施例中,可在用以在一記憶體陣列之一特定分割區中執行一邊寫邊讀(read-while-write)操作之一技術中使用ECC。在此一技術中,替代用以偵測及校正錯誤(例如,如上文所闡述),可使用ECC來編碼表示一記憶體陣列之一或多個分割區中之內容之資訊,以使得可稍後在一並行寫入操作期間讀取此等內容。可將此ECC寫入至及儲存於可與一記憶體陣列中用以儲存資料之該一或多個分割區分離且不同的一ECC分割區中。在本文中,舉例而言,用以儲存諸如使用者資料之資料(其可被程式化至此等分割區或自此等分割區讀取)之該等分割區將稱為資料分割區以與一ECC分割區區分開。特定而言,一ECC分割區可含有至少部分地基於儲存於若干個資料分割區中之資料之ECC。舉例而言,若資料被寫入至資料分割區1至8,則可基於寫入至資料分割區1至8之資料來計算ECC。可接著將此所計算ECC儲存於一ECC分割區中且稍後用於用以判定(例如)資料分割區1至8中之任一者之內容之一處理程序中。可代替直接讀取此等內容而執行判定一資料分割區之內容之此一處理程序。此處,術語「直接讀取」係指經由感測放大器及其他電路來感測一或多個記憶體胞之一狀態之一處理程序。相比而言,可在不需要感測一或多個記憶體胞之一處理程序之情形下藉由推斷或判定該等記憶體胞之一狀態來「間接讀取」此一狀態,如下文所闡述。舉例而言,在一資料分割區中之一未決寫入操作期間可不准許直接讀取同一資料分割區之一區塊之內容,乃因可需要一暫停操作。然而,如下文詳細地闡述,根據一特定實施例,即使一資料分割區之一區塊屬於當前正忙於向其寫入之一資料分割區亦可執行間接讀取此一區塊之內容。在一項實施方案中,用以執行一特定資料分割區之一區塊或其他部分之此一邊寫邊讀操作(例如,一間接讀取)之一技術可包含至少部分地基於其他資料分割區及一ECC分割區中之內容來判定該區塊或其他部分之內容。因此,若在用以自一特定資料分割區讀取之一操作之完成之前不需要暫停用以寫入至同一資料分割區之一操作,則可改良一記憶體器件之效能。
在一實施例中,用以在一記憶體器件之一資料分割區中並行執行一邊寫邊讀操作之一技術可包括至少部分地基於一記憶體中之個別資料分割區之內容來計算一ECC。舉例而言,可將此ECC維持於一ECC分割區中。此ECC可對應於該等個別資料分割區之一特定部分或區塊。舉例而言,區塊2之一ECC可包括使用該等個別資料分割區之區塊2之內容計算之一ECC。區塊3之另一ECC可包括使用該等個別資料分割區之區塊3之內容計算之一ECC等。可將ECC(例如,區塊2之ECC、區塊3之ECC等)之此等值儲存於一ECC分割區中。舉例而言,使用此ECC,可至少部分地基於除一特定資料分割區以外的資料分割區之對應區塊及對應於該特定資料分割區之一區塊之ECC之內容來間接讀取該區塊之內容,如下文詳細地闡釋。在一項實施方案中,可在間接讀取此特定資料分割區之內容之一處理程序中經由一線路或匯流排彼此串列或並行地讀取除該特定資料分割區以外的資料分割區之內容。
如上文所提及,一寫入操作可防止對一資料分割區之一直接讀取處理程序在同一資料分割區中發生。舉例而言,可由執行一應用程式之一處理器來起始此等寫入操作。在若干個內部記憶體處理程序中之任一者期間,亦可由嵌入於記憶體器件中或與記憶體器件堆疊在一起的一記憶體微控制器來起始此等寫入操作。舉例而言,一記憶體微控制器可起始一記憶體陣列之一或多個分割區中之寫入操作以執行損耗均衡、廢棄項自收集、壞區塊管理及/或再新處理程序。舉例而言,此等處理程序可包括一應用位準處之一處理器及/或使用者不可見之背景操作。本文中所闡述之實施例可允許此等寫入操作在不需要暫停此等內部記憶體處理程序之情形下發生。
在一項實施例中,可回應於資料正被寫入至一記憶體陣列中之一或多個資料分割區而計算及/或更新ECC。如上文所提及,ECC可至少部分地基於此資料。特定而言,用以計算ECC之一處理程序可包含直接讀取資料分割區之內容及在ECC計算中使用此等內容。在一實施方案中,一傳入讀取請求(例如,由一處理器或記憶體微控制器起始)可與ECC計算中所涉及之讀取操作衝突。因此,在一種情形下,若個別資料分割區正忙於ECC計算,則可拒絕此一傳入讀取請求。然而,在另一情形下,可暫停涉及ECC計算之一或多個處理程序,以使得不需要拒絕一傳入讀取請求。在執行該傳入讀取請求之後,可恢復涉及ECC計算之一或多個處理程序,但所請求標的物並不限於此。
在一實施例中,可在一記憶體器件中執行用以在一記憶體陣列之一資料分割區中邊寫邊讀之一技術,該記憶體器件包括用以儲存ECC之一ECC分割區及用以至少部分地基於該記憶體陣列中之個別資料分割區之內容來計算ECC之一記憶體微控制器。此一記憶體微控制器可在寫入至一特定資料分割區之一第二部分之同時起始讀取同一資料分割區之一第一部分之內容之一讀取命令。該讀取部分可與該 寫入部分相同,但僅可直至完成該寫入操作才能讀取舊內容。可至少部分地基於一ECC分割區中所儲存之ECC來判定(例如,間接讀取)該第一部分之內容。亦可至少部分地基於其他資料分割區之內容來判定該第一部分之內容。因此,不需要直接讀取該資料分割區之該第一部分之內容,而是可使用ECC及其他資料分割區中之內容來間接讀取。在一實施方案中,舉例而言,該資料分割區之該第一部分與該第二部分可共用至少一個感測放大器群組,但所請求標的物並不限於此。
將參考以下各圖闡述非限制性及非窮盡性實施例,其中除非另外說明,否則所有各圖中相同元件符號指代相同部件。
此說明書通篇所提及之「一項實施例」(one embodiment)或「一實施例」(an embodiment)意指結合該實施例闡述之一特定特徵、結構或特性係包含於所請求標的物之至少一項實施例中。因此,在此說明書通篇中之各個地方出現之短語「在一項實施例中」(in one embodiment)或「一實施例」(an embodiment)未必全部指代相同實施例。此外,可將該等特定特徵、結構或特性組合於一或多項實施例中。
圖1係根據一實施例之記憶體之一部分100之一示意圖。舉例而言,此一記憶體可包括可以記憶體胞之資料分割區組織之NAND、NOR或PCM快閃記憶體。在以下說明中,可將記憶體之此一部分闡述為包括八個資料分割區。出於方便以及簡化闡釋及理解之目的,僅闡述此特定數目個資料分割區。然而,應理解,本文中所闡述之實施例中所涉及之資料分割區之數目不限於任一特定數目,且所請求標的物在此方面不受限制。繼續對圖1之說明,記憶體部分100可包含若干個(例如,八個)資料分割區110。在一項實施方案中,舉例而言,此等資料分割區可包括記憶體胞陣列116、列解碼器113、行解碼器136、程式負載133(例如,在寫入操作期間用以判定待寫入之記憶體胞)、一或多個感測放大器130及相關聯資料分割區之讀取/寫入操作中所涉及之其他電路120。
在一實施方案中,用以自一個資料分割區直接讀取之一讀取操作可與用以寫入至一不同資料分割區之一寫入操作並行發生。在此一情形下,無競爭或衝突需要發生,若干個原因當中之一個原因係此等資料分割區可包含(例如)其自己的讀取電路(例如,感測放大器)以及/或者列及行解碼電路。因此對於一特定實例,用以自資料分割區1直接讀取之讀取操作140可與用以寫入至資料分割區6之寫入操作160並行發生。舉例而言,讀取操作140可包含經由感測放大器130量測資料分割區1中之經讀取記憶體胞之狀態及將表示該等狀態之資料寫入至一輸出緩衝器150中之一處理程序145。
圖2係根據另一實施例之記憶體之部分100之一示意圖。如上文所提及,用以自一個資料分割區直接讀取之一讀取操作可與用以寫入至一不同資料分割區之一寫入操作並行發生。然而,在被展示為在資料分割區170中發生之一情形下,可發生一衝突。特定而言,用以自資料分割區6之一個區塊直接讀取之讀取操作240可不能夠與用以寫入至資料分割區6之另一區塊之寫入操作260並行發生。在一項實施方案中,舉例而言,在接收到執行讀取操作240之一命令(例如,自一外部處理器或自一內部記憶體微控制器之一部分)後,可暫停寫入操作260,直至讀取操作240完成。在另一實施方案中,可拒絕及/或延遲執行讀取操作240之一命令,直至寫入操作260完成。在任一實施方案中,舉例而言,讀取操作240可包含經由感測放大器130量測分割區6中之經讀取記憶體胞之狀態及將表示該等狀態之資料寫入至一輸出緩衝器250中之一處理程序245。
圖3係根據一實施例之記憶體之一部分300之一示意圖。類似於包括上文所闡述之部分100之記憶體,此一記憶體可包括可以記憶體胞之分割區組織之NAND、NOR或PCM快閃記憶體。然而,除上文圖1及圖2中所闡述之八個資料分割區以外,記憶體部分300可包括ECC分割區310。(同樣,應理解,所請求標的物不限於任何特定數目個資料分割區)。在一項實施方案中,舉例而言,此一ECC分割區310可包括記憶體胞陣列316、列解碼器313、行解碼器336、程式負載333、一或多個感測放大器330及ECC分割區之讀取/寫入操作中所涉及之其他電路320。雖然資料分割區0至7之記憶體胞陣列216之大小(例如,記憶體胞之數目)可實質上彼此相等,但ECC分割區310之記憶體胞陣列316之大小可不同。舉例而言,記憶體胞陣列316可實質上大於資料分割區0之記憶體胞陣列216或資料分割區6之記憶體胞陣列370。記憶體胞陣列316之一特定大小可至少部分地基於用以計算待儲存於記憶體胞陣列316中之ECC之ECC技術之特定細節、資料分割區之數目及大小、資料分割區中之區塊或頁之大小等。
如上文所闡述,用以自一個資料分割區直接讀取之一讀取操作可與用以寫入至一不同資料分割區之一寫入操作並行發生,乃因無需發生競爭或衝突。因此對於一特定實例,用以自資料分割區2中之一區塊讀取之讀取操作344可與用以寫入至資料分割區6中之一區塊之寫入操作360並行發生。然而,舉例而言,用以自資料分割區6中之一區塊直接讀取之讀取操作340可不能夠與用以寫入至同一資料分割區6之同一或另一區塊之寫入操作360並行發生。然而,本文中所闡述之實施例包含用以在正程式化一資料分割區之一部分之同時間接讀取同一資料分割區之另一部分之內容之技術。此等技術可利用ECC分割區310中所儲存之ECC。因此,舉例而言,當寫入操作360正在資料分割區6之一第一區塊中發生時,不需要藉由自資料分割區6之一第二區塊直接讀取來判定欲由讀取操作340讀取之該第二區塊之內容。該第一區塊與該第二區塊可相同,但僅可直至完成該寫入操作才能讀取舊內容。而是,可基於ECC分割區以及資料分割區0至5及7(例如,除資料分割區6以外的所有資料分割區)之對應區塊之內容來間接讀取及確定此等內容,如下文詳細地闡釋。在一實施方案中,可已在程式化資料分割區6之第二區塊及/或其他資料分割區中之任一者之最近時間期間計算此ECC。可已至少部分地基於在此最近時間期間程式化之資料計算此ECC。現闡述此ECC計算之細節。
在一實施方案中,資料分割區可包括若干個區塊,其中一區塊可包括位元、位元組、字、字群組等。舉例而言,一1吉位元記憶體器件可包含8個資料分割區,其中此一資料分割區可包括64個區塊。區塊可具有256千位元組之一大小且以可由一感測放大器群組並行地讀取之具有16個字或32個位元組之資料的頁組織,但所請求標的物在此方面不受限制。為確立符號,用以表達一特定分割區內之一特定區塊之內容之一項可寫為PxBy,其中x係一分割區編號且y係分割區編號x內之一區塊。舉例而言,分割區0中之區塊23之內容可寫為P0B23,資料分割區4之區塊36之內容可寫為P4B36等。因此,使用此符號,資料分割區0至7之區塊之ECC可寫為ECC之計算中所使用之資料分割區0至7之區塊之內容之一函數,如下:
區塊0 ECC=f (P0B0,P1B0,P2B0,P3B0,P4B0,P5B0,P6B0,P7B0)
區塊1 ECC=f (P0B1,P1B1,P2B1,P3B1,P4B1,P5B1,P6B1,P7B1)
區塊2 ECC=f (P0B2,P1B2,P2B2,P3B2,P4B2,P5B2,P6B2,P7B2)
等。此一函數f 可包括若干個操作及/或演算法中之任一者。舉例而言,在一項實施方案中,此一函數可涉及資料分割區0至7之區塊之內容之一序連。在另一實施方案中,此一函數可涉及布爾運算之一組合。此一函數之細節可在一個特定情形與另一特定情形之間變化,且所請求標的物在此方面不受限制。
返回至圖3,如已經闡釋,舉例而言,用以自資料分割區6中之一區塊直接讀取之讀取操作340可不能夠與用以寫入至同一資料分割區6中之一區塊之寫入操作360並行發生。為按照上文所介紹之區塊來闡述此一情形,作為一特定實例,用以直接讀取資料分割區6之區塊2之讀取操作340可不能夠與用以寫入至同一資料分割區6之區塊0之寫入操作360並行發生。然而,當寫入操作360正程式化資料分割區6之區塊0時,不需要藉由自資料分割區6之區塊2直接讀取來判定資料分割區6之待藉由讀取操作340讀取之區塊2之內容。而是,可基於區塊2 ECC 342之內容以及資料分割區0至5及7之區塊2之內容來間接讀取此等內容。因此,可將資料分割區6之區塊2之內容寫為ECC以及區塊2之ECC之計算中所使用之資料分割區0至5及7之區塊之內容之一函數,如下:
P6B2=g (P0B2,P1B2,P2B2,P3B2,P4B2,P5B2,P7B2,區塊2 ECC)
此一函數g 可包括若干個操作及/或演算法中之任一者。舉例而言,在一項實施方案中,此一函數g 中之至少一部分可包括上文所闡述之f 之一反函數。以上表達暗指可自區塊2 ECC 342及其他資料分割區之區塊2中之資料來推斷或判定資料分割區6之區塊2之資料。此可成立,乃因先前係至少部分地基於資料分割區6之區塊2中之資料及其他資料分割區之區塊2中之資料計算區塊2 ECC 342。因此,為執行用以直接讀取資料分割區6之區塊2之資料之讀取操作340,而是可使用區塊2 ECC 342及其他資料分割區之區塊2中之資料來間接讀取此資料。因此,此一讀取操作可包含直接讀取資料分割區0至5及7之區塊2中之資料之一處理程序345及直接讀取ECC分割區310之區塊2 ECC 342中之資料之一處理程序。可將此所讀取資料提供至計算區塊350,計算區塊350可包括(例如)一記憶體微控制器之一部分。計算區塊350可使用區塊2 ECC 342及其他資料分割區之區塊2中之資料來執行用以間接讀取資料分割區6之區塊2之資料之一或多個操作。計算區塊350可隨後將資料分割區6之區塊2之資料提供至一輸出緩衝器355,在輸出緩衝器355處此資料可(例如)作為自讀取操作340產生之所讀取資料用於一處理器。
圖4係根據一實施例在計算ECC之一處理程序期間記憶體之部分300之一示意圖。舉例而言,可在用以將資料寫入至一或多個資料分割區之一或多個操作之後或期間由一記憶體微控制器起始此一處理程序。如上文所論述,可至少部分地基於資料分割區0至7之對應區塊中之此資料來計算ECC。舉例而言,可至少部分地基於資料分割區0至7之區塊2中之資料來計算區塊2 ECC。因此,計算ECC之一處理程序可包含直接讀取資料分割區0至7之區塊2中之資料及將所讀取資料提供至ECC計算區塊450之一處理程序445。在一項實施方案中,ECC計算區塊450可包括一記憶體微控制器之一部分。在計算區塊2之ECC之後,計算區塊450可在將所計算之ECC寫入至ECC分割區310之一處理程序446中提供ECC。接下來,可使用上文針對個別區塊所闡述之處理程序來執行計算隨後區塊(例如,區塊3、區塊4等)之ECC之一處理程序。當然,計算ECC之此等細節僅係實例,且所請求標的物並不限於此。
圖5係根據一實施例之用以自一記憶體陣列之一資料分割區間接讀取之一處理程序500之一流程圖。舉例而言,可由包括部分300之一記憶體器件來執行此一處理程序,如上文所闡述。特定而言,如在矩形510中,可在一寫入操作正在記憶體陣列之一資料分割區中發生之同時回應於接收到自同一資料分割區中之一特定區塊讀取之一請求而執行此一處理程序。舉例而言,可由執行一應用程式之一處理器及/或在記憶體陣列之一或多個資料分割區中執行寫入操作以執行損耗均衡、廢棄項目收集、壞區塊管理及/或再新處理程序之一記憶體微控制器起始此一請求。如上文所闡釋,用以自一資料分割區中之一特定區塊直接讀取之一讀取操作可不能夠與用以寫入至同一資料分割區之另一區塊之一寫入操作並行發生。因此,替代自該資料分割區之該特定區塊直接讀取,可使用其他資料分割區之對應區塊及該等對應區塊之ECC之內容來間接讀取該特定區塊之內容。因此,如在矩形520及530中,可直接讀取其他資料分割區之對應區塊之內容及來自ECC分割區之對應區塊之ECC之內容且使用其來間接讀取該特定區塊之內容。
圖6係根據一實施例之用以更新記憶體之一ECC分割區之一處理程序600之一流程圖。舉例而言,可由包括部分300之一記憶體器件之一記憶體微控制器來執行此一處理程序,如上文所闡述。特定而言,如在矩形610中,可回應於接收到寫入至一記憶體陣列之一或多個資料分割區之一請求而執行此一處理程序。舉例而言,若新資料被寫入至一記憶體陣列之此等資料分割區,則可計算至少部分地基於該新資料之一經更新ECC。舉例而言,此經更新ECC可替換一ECC分割區(諸如圖3中所展示之ECC分割區310)中所儲存之較舊ECC。可使用若干個處理器或演算法中之任一者來計算ECC,其可使用寫入至一記憶體陣列之資料分割區之新資料以及該等資料分割區中所儲存之較舊資料。在一實施方案中,可至少部分地基於跨越一記憶體陣列之資料分割區之對應區塊來計算一特定ECC。舉例而言,若個別資料分割區包括64個區塊,則ECC分割區310可儲存對應於該等區塊之ECC之64個值。當然,資料分割區及ECC值之此數目僅係一實例,且所請求標的物並不限於此。在矩形620中,可直接讀取跨越資料分割區之對應區塊之資料。在矩形630中,可使用此所讀取資料來計算ECC。
在一特定實施方案中,可暫停處理程序600之至少若干部分以允許針對一傳入讀取命令執行一讀取。可接著在完成此一讀取之後恢復處理程序600之此等部分。用以更新ECC之一處理程序之此一暫停可產生一記憶體器件之經改良讀取效能,乃因不需要延遲一讀取命令(舉例而言,由一處理器起始)。因此,在菱形640處,做出是否正接收一讀取命令之一判定。若未正接收一讀取命令,則處理程序600可繼續進行至矩形645,其中完成計算ECC之一處理程序。在完成之後,在矩形680中,可將所計算之ECC寫入至記憶體器件之一ECC分割區。另一方面,若在菱形640處接收到一讀取命令,則處理程序600可繼續進行至矩形650以暫停計算ECC。在此一暫停期間,監視因傳入讀取命令而引起之一讀取處理程序之進展可判定此一讀取處理程序是否完成,如在菱形660中。若該讀取處理程序未完成,則處理程序600可迴圈回至菱形660,以繼續監視該讀取處理程序之進展。另一方面,若該讀取處理程序完成,則處理程序600可繼續進行至方塊670,其中完成計算ECC之一處理程序。在完成之後,在矩形680中,可將所計算之ECC寫入至記憶體器件之一ECC分割區。當然,處理程序600之此等細節僅係實例,且所請求標的物並不限於此。
圖7係圖解說明包含一記憶體器件710之一計算系統700之一例示性實施例之一示意圖。此一計算器件可包括(例如)用以執行一應用程式及/或其他程式碼之一或多個處理 器。舉例而言,記憶體器件710可包括如圖3中所展示之若干個資料分割區及一ECC分割區。一計算器件704可表示可經組態以管理記憶體器件710之任何器件、器具或機器。記憶體器件710可包含一記憶體微控制器715及一記憶體722。藉由實例而非限制方式,計算器件704可包含:一或多個計算器件及/或平臺,諸如(例如)一桌上型電腦、一膝上型電腦、一工作站、一伺服器器件等;一或多個個人計算或通信器件或器具,諸如(例如)一個人數位助理、行動通信器件等;一計算系統及/或相關聯服務提供商能力,諸如(例如)一資料庫或資料儲存服務提供商/系統;及/或其任一組合。
應認識到,系統700中所展示之各種器件以及如本文中進一步所闡述之處理程序及方法之全部或部分可使用硬體、韌體、軟體或其任一組合來實施或以其他方式包含硬體、韌體、軟體或其任一組合來實施。因此,藉由實例而非限制方式,計算器件704可包含經由一匯流排740以操作方式耦合至記憶體722之至少一個處理單元720及一主機或記憶體微控制器715。處理單元720表示可組態以執行一資料計算程序或處理程序之至少一部分之一或多個電路。藉由實例而非限制方式,處理單元720可包含一或多個處理器、控制器、微處理器、微控制器、專用積體電路、數位信號處理器、可程式化邏輯器件、場可程式化閘陣列等或其任一組合。處理單元720可包含經組態以與記憶體微控制器715通信之一作業系統。此一作業系統可(例如)產生待經由匯流排740發送至記憶體微控制器715之命令。此等命令可包括讀取及/或寫入命令。舉例而言,回應於一讀取命令,記憶體微控制器715可執行上文所闡述之處理程序500,以執行一邊寫邊讀處理程序。
記憶體722表示任何資料儲存機構。記憶體722可包含(例如)一主要記憶體724及/或一輔助記憶體726。主要記憶體724可包含(例如)一隨機存取記憶體、唯讀記憶體等。雖然在此實例中圖解說明為與處理單元720分離,但應理解,主要記憶體724之整體或部分可提供於處理單元720內或以其他方式與處理單元720共同定位/耦合。
輔助記憶體726可包含(例如)與主要記憶體相同或類似類型之記憶體及/或一或多個資料儲存器件或系統,諸如(例如)一磁碟機、一光碟機、一磁帶機、一固態記憶體硬碟機等。在某些實施方案中,輔助記憶體726可以操作方式接受一電腦可讀媒體728或可以其他方式組態以耦合至一電腦可讀媒體728。電腦可讀媒體728可包含(例如)可攜載用於系統700中之器件中之一或多者之資料、碼及/或指令及/或使得該資料、碼及/或指令可存取之任何媒體。計算器件704可包含(例如)一輸入/輸出732。
在一特定實施例中,計算系統700可包含記憶體器件722,記憶體器件722包括記憶體724及用以至少部分地基於記憶體724中之個別記憶體陣列分割區之內容來計算一ECC之記憶體微控制器715。回應於嘗試在寫入至個別記憶體陣列分割區中之一特定者之一第二部分之同時讀取該等個別記憶體陣列分割區中之該特定者之一第一部分之特定內容,記憶體微控制器715可至少部分地基於該ECC來判定該第一部分之該等特定內容。舉例而言,計算系統700亦可包含用以主控一或多個應用程式且用以起始針對記憶體微控制器715之讀取命令以提供對記憶體724中之記憶體胞之存取之處理單元720。
輸入/輸出732表示可經組態以接受或以其他方式引入人類及/或機器輸入之一或多個器件或特徵,及/或可經組態以遞送或以其他方式實現人類及/或機器輸出之一或多個器件或特徵。藉由實例而非限制方式,輸入/輸出器件732可包含一以操作方式組態之顯示器、揚聲器、鍵盤、滑鼠、軌跡球、觸控螢幕、資料埠等。
如本文中所使用之術語「及」(and)、「及/或」(and/or)及「或」(or)可包含將至少部分地取決於其中使用該術語之上下文之各種含義。通常,若使用「及/或」(and/or)以及「或」(or)來使一列表(諸如A、B或C)相關聯,則其意欲意指A、B及C(此處以包含意義使用)以及A、B或C(此處以排他性意義使用)。此說明書通篇所提及之「一項實施例」(one embodiment)或「一實施例」(an embodiment)意指結合該實施例闡述之一特定特徵、結構或特性包含於所請求標的物之至少一項實施例中。因此,在此說明書通篇中之各個地方出現之短語「在一項實施例中」(in one embodiment)或「一實施例」(an embodiment)未必全部指代同一實施例。此外,可將該等特定特徵、結構或特性組合於一或多項實施例中。
雖然已圖解說明及闡述了目前被視為實例性實施例之實施例,但熟習此項技術者將理解,可在不背離所請求標的物之情形下做出各種其他修改且可替代等效物。另外,可在不背離本文中所闡述之中心概念之情形下做出諸多修改以使一特定情形適於所請求標的物之教示。因此,意欲使所請求標的物不限於所揭示之特定實施例,而是此所請求標的物亦可包含歸屬於隨附申請專利範圍及其等效物之範疇內之所有實施例。
0-7...資料分割區
100...記憶體部分
110...資料分割區
113...列解碼器
116...記憶體胞陣列
120...電路
130...感測放大器
133...程式負載
136...行解碼器
140...讀取操作
150...輸出緩衝器
160...寫入操作
170...資料分割區
216...記憶體胞陣列
240...讀取操作
250...輸出緩衝器
260...寫入操作
300...記憶體部分
310...錯誤校正碼分割區
313...列解碼器
316...記憶體胞陣列
320...電路
330...感測放大器
333...程式負載
336...行解碼器
340...讀取操作
342...區塊2錯誤校正碼
344...讀取操作
350...計算區塊
355...輸出緩衝器
360...寫入操作
370...記憶體胞陣列
450...錯誤校正碼計算區塊
700...計算系統
704...計算器件
710...記憶體器件
715...記憶體微控制器
720...處理單元
722...記憶體
724...主要記憶體
726...輔助記憶體
728...電腦可讀媒體
732...輸入/輸出
740...匯流排
圖1至圖4係根據一實施例之記憶體之一部分之示意圖。
圖5係根據一實施例之用以自記憶體之一分割區讀取之一處理程序之一流程圖。
圖6係根據一實施例之用以更新記憶體之一錯誤校正碼(ECC)分割區之一處理程序之一流程圖。
圖7係圖解說明一計算系統之一例示性實施例之一示意圖。
0-7...資料分割區
100...記憶體部分
110...資料分割區
113...列解碼器
116...記憶體胞陣列
120...電路
130...感測放大器
133...程式負載
136...行解碼器
140...讀取操作
150...輸出緩衝器
160...寫入操作

Claims (19)

  1. 一種用於讀取記憶體之方法,該方法包括:在寫入至一記憶體之一記憶體陣列中之個別記憶體分割區中之一特定者之一第二部分之同時讀取該等個別記憶體分割區中之該特定者之一第一部分之特定內容,其中該讀取包括至少部分地基於一錯誤校正碼(ECC)來判定該第一部分之該等特定內容,該錯誤校正碼(ECC)至少部分地基於該等個別記憶體分割區之內容;回應於接收讀取該等個別記憶體分割區之該內容之至少一部分的一讀取請求,擱置ECC之一計算;及在讀取該等個別記憶體分割區之該內容之該至少一部分後,恢復ECC之該計算。
  2. 如請求項1之方法,其中該判定該第一部分之該等特定內容係進一步至少部分地基於對應於該等個別記憶體分割區中之該特定者之該第一部分之該等個別記憶體分割區之部分之內容。
  3. 如請求項2之方法,其中在該判定該等個別記憶體分割區中之該特定者之該第一部分之該等特定內容中不使用該第一部分之該等內容。
  4. 如請求項2之方法,其進一步包括:在執行該判定該等個別記憶體分割區中之該特定者之該第一部分之該等特定內容之同時經由一匯流排並行地讀取對應於該第一部分之該等個別記憶體分割區之該等部分之該等內容。
  5. 如請求項2之方法,其進一步包括:在執行該判定該等個別記憶體分割區中之該特定者之該第一部分之該等特定內容之同時經由一匯流排串列地讀取對應於該第一部分之該等個別記憶體分割區之該等部分之該等內容。
  6. 如請求項1之方法,其中該寫入至該等個別記憶體分割區中之該特定者之該第二部分係回應於由該記憶體起始之一內部操作。
  7. 如請求項1之方法,其中該等個別記憶體分割區中之該特定者之該第一部分與該第二部分共用至少一個感測放大器群組。
  8. 一種記憶體微控制器,其包括:至少一個介面,其用以連接至一記憶體陣列;及電子電路,其用以:在寫入至該記憶體陣列之個別記憶體分割區中之一特定者之一第二部分之同時讀取該等個別記憶體分割區中之該特定者之一第一部分之特定內容,其中該讀取包括至少部分地基於一錯誤校正碼(ECC)來判定該第一部分之該等特定內容,該錯誤校正碼(ECC)係至少部分地基於該等個別記憶體分割區之內容;回應於接收讀取該等個別記憶體分割區之該內容之至少一部分的一讀取請求,擱置ECC之一計算;及在讀取該等個別記憶體分割區之該內容之該至少一部分後,恢復ECC之該計算。
  9. 如請求項8之記憶體微控制器,其中該判定該第一部分之該等特定內容係進一步至少部分地基於對應於該等個別記憶體分割區中之該特定者之該第一部分之該等個別記憶體分割區之部分之內容。
  10. 如請求項9之記憶體微控制器,其中在該判定該等個別記憶體分割區中之該特定者之該第一部分之該等特定內容中不使用該第一部分之該等內容。
  11. 如請求項9之記憶體微控制器,其進一步包括用以執行以下操作之一電路:在執行該判定該等個別記憶體分割區中之該特定者之該第一部分之該等特定內容之同時經由一匯流排並行地讀取對應於該第一部分之該等個別記憶體分割區之該等部分之該等內容。
  12. 如請求項9之記憶體微控制器,其進一步包括用以執行以下操作之一電路:在執行該判定該等個別記憶體分割區中之該特定者之該第一部分之該等特定內容之同時經由一匯流排串列地讀取對應於該第一部分之該等個別記憶體分割區之該等部分之該等內容。
  13. 如請求項8之記憶體微控制器,其中該等個別記憶體分割區中之該特定者之該第一部分與該第二部分共用至少一個感測放大器。
  14. 一種用於讀取記憶體之系統,該系統包括:包括一記憶體之一記憶體器件,該記憶體器件進一步 包括用以執行以下操作之一記憶體微控制器:在寫入至一記憶體之一記憶體陣列中之個別記憶體分割區中之一特定者之一第二部分之同時讀取該等個別記憶體分割區中之該特定者之一第一部分之特定內容,其中該讀取包括至少部分地基於一錯誤校正碼(ECC)來判定該第一部分之該等特定內容,該錯誤校正碼(ECC)係至少部分地基於該等個別記憶體分割區之內容;回應於接收讀取該等個別記憶體分割區之該內容之至少一部分的一讀取請求,擱置ECC之一計算;及在讀取該等個別記憶體分割區之該內容之該至少一部分後,恢復ECC之該計算;及一處理器,其用以主控一或多個應用程式且用以起始至該記憶體微控制器之一讀取命令以提供對該記憶體陣列之存取。
  15. 如請求項14之系統,其中該判定該第一部分之該等特定內容係進一步至少部分地基於對應於該等個別記憶體分割區中之該特定者之該第一部分之該等個別記憶體分割區之部分之內容。
  16. 如請求項15之系統,其中在該判定該等個別記憶體分割區中之該特定者之該第一部分之該等特定內容中不使用該第一部分之該等內容。
  17. 如請求項15之系統,其進一步包括用以執行以下操作之一電路: 在執行該判定該等個別記憶體分割區中之該特定者之該第一部分之該等特定內容之同時經由一匯流排並行地讀取對應於該第一部分之該等個別記憶體分割區之該等部分之該等內容。
  18. 如請求項15之系統,其進一步包括用以執行以下操作之一電路:在執行該判定該等個別記憶體分割區中之該特定者之該第一部分之該等特定內容之同時經由一匯流排串列地讀取對應於該第一部分之該等個別記憶體分割區之該等部分之該等內容。
  19. 如請求項14之系統,其中該等個別記憶體分割區中之該特定者之該第一部分與該第二部分共用至少一個感測放大器。
TW100137043A 2010-11-16 2011-10-12 用以執行並行讀取及寫入記憶體操作之方法及裝置 TWI506423B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/947,771 US8583987B2 (en) 2010-11-16 2010-11-16 Method and apparatus to perform concurrent read and write memory operations

Publications (2)

Publication Number Publication Date
TW201227292A TW201227292A (en) 2012-07-01
TWI506423B true TWI506423B (zh) 2015-11-01

Family

ID=46048952

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100137043A TWI506423B (zh) 2010-11-16 2011-10-12 用以執行並行讀取及寫入記憶體操作之方法及裝置

Country Status (6)

Country Link
US (3) US8583987B2 (zh)
JP (1) JP5464528B2 (zh)
KR (1) KR101343262B1 (zh)
CN (1) CN102567242B (zh)
DE (1) DE102011085989B4 (zh)
TW (1) TWI506423B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI746845B (zh) * 2017-08-10 2021-11-21 南韓商三星電子股份有限公司 用於儲存資料的系統以及方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583987B2 (en) 2010-11-16 2013-11-12 Micron Technology, Inc. Method and apparatus to perform concurrent read and write memory operations
US10725997B1 (en) * 2012-06-18 2020-07-28 EMC IP Holding Company LLC Method and systems for concurrent collection and generation of shared data
US9070436B2 (en) 2013-01-30 2015-06-30 Hewlett-Packard Development Company, L.P. Memory controller using crisscross error-correcting codes
KR102084461B1 (ko) * 2013-03-04 2020-04-14 삼성전자 주식회사 저항체를 이용한 비휘발성 메모리 장치
US9830087B2 (en) * 2014-11-13 2017-11-28 Micron Technology, Inc. Memory wear leveling
CN107615249B (zh) 2015-05-14 2020-11-27 爱德斯托科技有限公司 存储器装置和控制存储器装置的方法
US10152545B2 (en) 2015-10-20 2018-12-11 Adobe Systems Incorporated Personalized recommendations using localized regularization
KR20180051703A (ko) 2016-11-07 2018-05-17 삼성전자주식회사 Raid 방식으로 데이터를 저장하는 스토리지 장치
US10956262B2 (en) 2019-03-14 2021-03-23 Micron Technology, Inc. Deferred error code correction with improved effective data bandwidth performance
US11093323B2 (en) * 2019-04-15 2021-08-17 Nvidia Corporation Performant inline ECC architecture for DRAM controller
US10957393B2 (en) 2019-06-27 2021-03-23 Micron Technology, Inc. Apparatus and methods for performing concurrent access operations on different groupings of memory cells
CN110750466A (zh) * 2019-10-18 2020-02-04 深圳豪杰创新电子有限公司 提高闪存擦写寿命的方法和装置
CN113848454A (zh) * 2021-09-09 2021-12-28 海光信息技术股份有限公司 一种芯片测试方法及芯片测试机

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083391A1 (en) * 2000-12-22 2002-06-27 Huggett Anthony Richard Method and apparatus for encoding a product code
US20080250270A1 (en) * 2007-03-29 2008-10-09 Bennett Jon C R Memory management system and method
US20100172180A1 (en) * 2009-01-05 2010-07-08 Alexander Paley Non-Volatile Memory and Method With Write Cache Partitioning
TW201037728A (en) * 2009-02-04 2010-10-16 Silicon Storage Tech Inc A non-volatile memory subsystem and a memory controller therefor

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807609B1 (en) * 1989-12-04 2004-10-19 Hewlett-Packard Development Company, L.P. Interleaving read and write operations on a bus and minimizing buffering on a memory module in a computer system
JPH0440697A (ja) * 1990-06-06 1992-02-12 Matsushita Electric Ind Co Ltd 半導体記憶装置
US5913926A (en) * 1992-08-20 1999-06-22 Farrington Investments Ltd. Expandable modular data storage system having parity storage capability
US5666511A (en) * 1992-10-08 1997-09-09 Fujitsu Limited Deadlock suppressing schemes in a raid system
US5761402A (en) * 1993-03-08 1998-06-02 Hitachi, Ltd. Array type disk system updating redundant data asynchronously with data access
FR2726934B1 (fr) 1994-11-10 1997-01-17 Sgs Thomson Microelectronics Procede de lecture anticipee de memoire a acces serie et memoire s'y rapportant
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US6067255A (en) 1997-07-03 2000-05-23 Samsung Electronics Co., Ltd. Merged memory and logic (MML) integrated circuits including independent memory bank signals and methods
US5914970A (en) * 1997-08-27 1999-06-22 Allen-Bradley Company, Llc Computer memory system providing parity with standard non-parity memory devices
US6321345B1 (en) * 1999-03-01 2001-11-20 Seachange Systems, Inc. Slow response in redundant arrays of inexpensive disks
FR2805653A1 (fr) 2000-02-28 2001-08-31 St Microelectronics Sa Memoire serie programmable et effacable electriquement a lecture par anticipation
JP4001724B2 (ja) 2001-03-29 2007-10-31 富士通株式会社 半導体記憶装置
JP3860436B2 (ja) * 2001-07-09 2006-12-20 富士通株式会社 半導体記憶装置
US6614685B2 (en) 2001-08-09 2003-09-02 Multi Level Memory Technology Flash memory array partitioning architectures
JP4059473B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
JP2004040697A (ja) 2002-07-08 2004-02-05 Suzuki Motor Corp 車両用放送に連動した画像提供システム
JP2005025827A (ja) * 2003-06-30 2005-01-27 Toshiba Corp 半導体集積回路装置およびそのエラー検知訂正方法
FR2874734A1 (fr) 2004-08-26 2006-03-03 St Microelectronics Sa Procede de lecture de cellules memoire programmables et effacables electriquement, a precharge anticipee de lignes de bit
US20060123271A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR
US7721143B2 (en) * 2005-12-06 2010-05-18 Lsi Corporation Method for reducing rebuild time on a RAID device
US7539842B2 (en) 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7694031B2 (en) * 2006-10-31 2010-04-06 Globalfoundries Inc. Memory controller including a dual-mode memory interconnect
US20080168331A1 (en) * 2007-01-05 2008-07-10 Thomas Vogelsang Memory including error correction code circuit
KR101360812B1 (ko) 2008-06-05 2014-02-11 삼성전자주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
US8149643B2 (en) 2008-10-23 2012-04-03 Cypress Semiconductor Corporation Memory device and method
US8132044B1 (en) * 2010-02-05 2012-03-06 Symantec Corporation Concurrent and incremental repair of a failed component in an object based storage system for high availability
US8645637B2 (en) 2010-11-16 2014-02-04 Micron Technology, Inc. Interruption of write memory operations to provide faster read access in a serial interface memory
US8583987B2 (en) * 2010-11-16 2013-11-12 Micron Technology, Inc. Method and apparatus to perform concurrent read and write memory operations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083391A1 (en) * 2000-12-22 2002-06-27 Huggett Anthony Richard Method and apparatus for encoding a product code
US20080250270A1 (en) * 2007-03-29 2008-10-09 Bennett Jon C R Memory management system and method
CN101681305A (zh) * 2007-03-29 2010-03-24 提琴存储器公司 存储管理系统和方法
US20100172180A1 (en) * 2009-01-05 2010-07-08 Alexander Paley Non-Volatile Memory and Method With Write Cache Partitioning
TW201037728A (en) * 2009-02-04 2010-10-16 Silicon Storage Tech Inc A non-volatile memory subsystem and a memory controller therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI746845B (zh) * 2017-08-10 2021-11-21 南韓商三星電子股份有限公司 用於儲存資料的系統以及方法

Also Published As

Publication number Publication date
CN102567242A (zh) 2012-07-11
KR101343262B1 (ko) 2013-12-18
US20120124449A1 (en) 2012-05-17
US9513992B2 (en) 2016-12-06
US20150309868A1 (en) 2015-10-29
JP5464528B2 (ja) 2014-04-09
CN102567242B (zh) 2015-05-06
JP2012108890A (ja) 2012-06-07
US9208019B2 (en) 2015-12-08
TW201227292A (en) 2012-07-01
US8583987B2 (en) 2013-11-12
US20140068380A1 (en) 2014-03-06
DE102011085989A1 (de) 2012-06-28
DE102011085989B4 (de) 2017-03-02
KR20120052883A (ko) 2012-05-24

Similar Documents

Publication Publication Date Title
TWI506423B (zh) 用以執行並行讀取及寫入記憶體操作之方法及裝置
US10540115B2 (en) Controller adaptation to memory program suspend-resume
KR101655306B1 (ko) 메모리 시스템 및 그것의 액세스 방법
US8793554B2 (en) Switchable on-die memory error correcting engine
US20160357462A1 (en) Nonvolatile Memory Modules and Data Management Methods Thereof
US8972776B2 (en) Partial R-block recycling
US10175892B1 (en) Adaptive read algorithm for a nonvolatile medium
US8671330B2 (en) Storage device, electronic device, and data error correction method
TW201203269A (en) LDPC erasure decoding for flash memories
US11474722B2 (en) Non-volatile memory including selective error correction
CN106445749B (zh) 使用独立磁盘冗余阵列的动态自动调谐的最大延迟的减小
US10089255B2 (en) High performance host queue monitor for PCIE SSD controller
US20200089566A1 (en) Apparatus for diagnosing memory system and operating method thereof
US20190227869A1 (en) Enhanced error correcting code capability using variable logical to physical associations of a data block
US20080072119A1 (en) Allowable bit errors per sector in memory devices
US9037788B2 (en) Validating persistent memory content for processor main memory
US20230385192A1 (en) Memory module having volatile and non-volatile memory subsystems and method of operation
US20230004320A1 (en) Method of managing debugging log in storage device
US9478289B1 (en) Semiconductor memory device and operating method thereof
US9652172B2 (en) Data storage device performing merging process on groups of memory blocks and operation method thereof
US11204841B2 (en) Meta data protection against unexpected power loss in a memory system
US20210223987A1 (en) Controller with smart scheduling and method of operating the controller
US11307909B2 (en) System for slowdown status notification and operating method thereof
US9715345B2 (en) Apparatuses and methods for memory management
CN115248748A (zh) 执行元数据管理的存储装置及操作该存储装置的方法