[go: up one dir, main page]

TWI484330B - 用以儲存記憶體重新對應資訊之非揮發性記憶體及系統以及其方法 - Google Patents

用以儲存記憶體重新對應資訊之非揮發性記憶體及系統以及其方法 Download PDF

Info

Publication number
TWI484330B
TWI484330B TW099119459A TW99119459A TWI484330B TW I484330 B TWI484330 B TW I484330B TW 099119459 A TW099119459 A TW 099119459A TW 99119459 A TW99119459 A TW 99119459A TW I484330 B TWI484330 B TW I484330B
Authority
TW
Taiwan
Prior art keywords
memory
read
memory device
cam
volatile
Prior art date
Application number
TW099119459A
Other languages
English (en)
Other versions
TW201126329A (en
Inventor
Gurkirat Billing
Stephen Bowers
Mark Leinwander
David Samuel Post
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 TW201126329A publication Critical patent/TW201126329A/zh
Application granted granted Critical
Publication of TWI484330B publication Critical patent/TWI484330B/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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Description

用以儲存記憶體重新對應資訊之非揮發性記憶體及系統以及其方法
本發明之標的與重新對應之記憶體裝置有關。
記憶體裝置係應用於多種類型的電子裝置,例如電腦、行動電話、個人數位助理(Personal digital assistant,PDA)、資料記錄器以及導航設備等,這些僅為部分示例。在這些電子裝置中應用了各種類型的非揮發性記憶體裝置,例如NAND閃存記憶體或NOR反或閘快閃記憶體、靜態隨機存取記憶體(Static random access memory,SRAM)、動態隨機存取記憶體(Dynamic random access memory,DRAM)與相變記憶體(phase-change memory)等,其僅為部分示例。一般而言,係利用寫入或程式化程序來儲存資訊於這些記憶體裝置中,而使用讀取程序來擷取所儲存之資訊。
這些非揮發性記憶體裝置可包含會隨時間緩慢退化的記憶體單元,其導致在存取此記憶體單元時發生讀取及/或寫入錯誤的可能性增加。錯誤也會因製造缺陷及/或邊際記憶體裝置架構而產生,其僅為部分示例。雖然這些錯誤在後續會於記憶體裝置內予以修正,然舉例而言,此錯誤修正會在錯誤量增加時變得困難或無法進行。
在說明書中,當提及「一具體實施例」(one/an embodiment)時,代表與該具體實施例相關描述之一特定特徵、結構或特性係包含於所主張之標的的至少一具體實施例中。因此,出現在說明書中各處之用語「一個具體實施例」(one/an embodiment)並不一定全部代表相同的具體實施例。此外,該等特定特徵、結構或特性係可結合於一或多個具體實施例中。
在一具體實施例中,關於記憶體裝置之重新對應資訊係保存在一非揮發性分離式可定址之記憶體中。此重新對應資訊係包含重新對應向量,其提供一重新對應位址以取代由一處理器所提供之位址,例如作為導向該記憶體裝置之讀取/寫入請求之部分。在此,分離式可定址之記憶體可包含例如不需一次寫入至區塊及/或區段中、但可個別定址或可定址於相對較小群組中的記憶體單元。舉例而言,將資料寫入至一NOR快閃型記憶體係涉及了寫入至一較大區塊之記憶體單元,即使待寫入之該資料僅需要一或兩個記憶體單元之記憶體空間。在另一示例中,將資料(例如重新對應資訊)寫入相變記憶體(Phase-change memory,PCM)中係涉及了僅對實質上與待寫入之該資料的記憶體大小相符之數量的記憶體單元進行寫入。
將重新對應資訊保存在此一非揮發性分離式可定址之記憶體中可提供對待重新對應之記憶體的特定區域之較細密紋理控制。舉例而言,此一非揮發性分離式可定址之記憶體係可分離定址以將重新對應向量儲存於記憶體空間之相對小部分中。相反地,非分離式可定址之記憶體係利用區塊及/或區段定址,因此僅儲存例如單一重新對應向量,例如其係佔據該記憶體裝置的相對大部分。此外,使用區塊及/或區段定址之記憶體係涉及一拭除程序,以準備一記憶體區塊及/或區段供一後續寫入程序之用,導致相較於一分離式可定址記憶體而言,其需要較長的寫入時間。據此,在非揮發性分離式可定址之記憶體中儲存與保存重新對應資訊可提供一種可提升該記憶體裝置之記憶體空間利用率、以及減少寫入程序所需之時間量的方式。在一實作例中,在一非揮發性分離式可定址之記憶體中保存重新對應資訊可允許使用此重新對應資訊所從屬之揮發性記憶體裝置,因為此非揮發性記憶體即使在電源中斷期間也可儲存此重新對應資訊。據此,在一非揮發性分離式可定址之記憶體中儲存及保存重新對應資訊可提高記憶體類型選擇的彈性,例如NAND、或NOR快閃記憶體、SRAM、DRAM與PCM,其僅為部分示例。
在一實作例中,重新對應資訊所從屬之記憶體裝置係實體上包含了一非揮發性分離式可定址之記憶體,使得單一晶粒或積體電路晶片包含記憶體裝置與非揮發性分離式可定址之記憶體。然而在此一實作例中,記憶體裝置係與非揮發性分離式可定址之記憶體分離,因此可透過一處理器及/或記憶體控制器來個別存取此一記憶體裝置與非揮發性分離式可定址之記憶體。舉例而言,用於儲存與一記憶體裝置有關之重新對應資訊的非揮發性分離式可定址之記憶體可存在於該記憶體裝置上,但仍與此一記憶體裝置不同。繼續參考該示例,此記憶體裝置可包含一記憶體模組,其含有多個記憶晶粒;該記憶晶粒可經由單一處理器及/或記憶體控制器來加以存取,而用以儲存重新對應資訊之非揮發性分離式可定址之記憶體可藉由一獨立處理器及/或記憶體控制器來加以存取。當然,這些在非揮發性分離式可定址之記憶體上所保存重新對應資訊的細節與優點係僅為示例,且本發明所主張之標的並不限於此。
舉例而言,相較於將重新對應資訊保存在該記憶體裝置內,在非揮發性分離式可定址之記憶體上儲存及保存與一記憶體裝置有關之重新對應資訊也可降低潛時及/或增加可用之記憶體容量的使用。在一實作例中,這種重新對應資訊可同時產生,舉例而言,在像是處理器所起始之讀取/寫入程序之運轉期間,其中自一記憶體裝置所讀取之資料係進行錯誤檢查,如下文所述。在另一實作例中,起始程序可由系統執行,以包含掃瞄記憶體裝置的易出錯部分。同樣的,在一非揮發性分離式可定址之記憶體中保存重新對應資訊的這些細節與優點係僅為示例,且本發明所主張之標的並不限於此。
在一具體實施例中,一記憶體裝置可包含會隨時間緩慢退化之記憶體單元,其導致在讀取此記憶體裝置時發生一或多種錯誤的可能性增加。記憶裝置也包含因其製造而產生之缺陷性及/或最低限度之功能性記憶體單元。這些錯誤係於計算系統內的數個區域中進行修正,例如利用錯誤修正編碼(Error correction codes,ECC)或其他技術。從系統面來看,可做出是否要繼續使用這些易出錯單元的決定。如下文將進一步解釋者,此決定至少部分係基於比較錯誤量與一錯誤容限值(其係於例如記憶體裝置的設計階段期間所定義)而做出。在一實作例中,特定記憶體單元之使用會在這些單元顯現出過量錯誤之前中斷;換言之,當這些記憶體單元產生之錯誤量接近一錯誤容限值時,即中斷易出錯之記憶體單元的使用,舉例來說,不需要達到此容限值來決定中斷記憶體單元的使用。據此,觀察一錯誤量是否接近一錯誤容限值是預測特定記憶體單元是否快速產生過多錯誤的一種方法,因而可在例如該等記憶體單元實際上開始嚴重失效之前即停止使用這些易出錯記憶體單元。若將中斷特定記憶體單元的使用,則可以保持整體記憶體裝置容量的方式來選擇替換之記憶體單元。
據此,在一具體實施例中,一種保持記憶體裝置大小容量的程序可包含將一易出錯記憶體位置重新對應至一適當運作記憶體位置,而不損失整體系統記憶體空間(例如儲存裝置容量),這種重新對應係至少部分基於與因讀取一易出錯記憶體位置而發生的錯誤量及/或頻率有關之資訊。在此,記憶體位置是指例如經由一讀取及/或寫入程序而被存取之記憶體裝置的一部分,其使用一位址或多個位址來辨識此記憶體位置及/或部分。如下文將進一步說明者,可使用例如ECC引擎來決定與讀取記憶體一特定部分有關的位元錯誤率及/或該位元錯誤量。接著,該位元錯誤率及/或位元錯誤量與一錯誤容限值比較,該錯誤容限值包含對例如可接受錯誤量之實質限制。根據此一比較結果,可做出是否汰換(例如停止使用)產生該等錯誤之該特定部分記憶體的決定。
在一特定具體實施例中,汰換一部分記憶體裝置的程序可包含將代表儲存於該記憶體裝置之待汰換部分中的資料之數位訊號移動至該記憶體裝置的另一部分。在一實作例中,這種代表從記憶體裝置之一汰換部分所重新安置的資料之數位訊號可被移動至該記憶體裝置之一備用部分。舉例而言,此記憶體之備用部分可包含初始未被認可、或被視為該記憶體裝置之該完整容量之部分的該記憶體裝置的實體位置,如下文將進一步詳細說明者。汰換一部分記憶體裝置之程序也可包含將該記憶體裝置之一待汰換部分的位址重新對應,以與該記憶裝置中新的、備用部分的位址相應。這些重新對應位址可儲存在非揮發性分離式可定址之記憶體中,例如如上所述者。當然,這些程序僅為示例,且本發明所主張之標的並不限於此。
在一具體實施例中,如上所述之程序係涉及了包含一裝置之記憶體裝置。據此,當PCM老化時,部分PCM所產生的位元錯誤率及/或位元錯誤量會增加,這些錯誤在某程度上係例如可使用一ECC引擎及/或其他錯誤修正技術來加以修正。然而,錯誤量會增加而超過這些錯誤修正技術的處理能力,因此在有指示這些記憶體部分已經或開始產生過量錯誤之趨勢時,可能需要汰換這些記憶體部分。
如上所述之具體實施例可成功地使用涉及相對較不可靠技術之儲存裝置。舉例而言,原本視為不可使用之晶粒係可利用本文所述具體實施例而加以應用。同時,這些具體實施例可將儲存裝置的壽命延長為其大部分記憶體單元的壽命、而非其相對少數之記憶體單元的壽命。
第一圖係根據一具體實施例之記憶體配置的示意圖。記憶體裝置100可分隔為主要記憶體110與備用記憶體120。記憶體裝置100可包含NAND或NOR快閃記憶體、SRAM、DRAM或PCM,其僅為部分示例。記憶體裝置100可包含一使用者可定址記憶體空間,其包含此主要與備用記憶體部分及/或一或多個其他記憶體部分,其可為、可不為彼此相鄰,且可存在、或不存在於單一裝置上。主要記憶體110與備用記憶體120可包含獨立可定址空間,其可藉由例如讀取、寫入及/或拭除程序來加以存取。
根據一具體實施例,記憶體裝置100的一或多個部分可儲存代表記憶體裝置100之一特定狀態所呈現的資料及/或資訊之訊號。舉例而言,代表資料及/或資訊之一電子訊號可藉由影響或改變記憶體裝置100之這些部分的狀態而「儲存」在記憶體裝置的一部分中,以二進位資訊(例如1與0)表示資料及/或資訊。因此,在一特定實作例中,這種改變記憶體之部分的狀態來儲存代表資料及/或資訊之訊號構成一種使記憶體裝置100變為不同狀態或物件的轉變。
記憶體裝置100最初可配置為包含與記憶體裝置100的完整可用容量相應之主要記憶體110。這種初始配置可另外包含了在決定記憶體裝置容量時不需包含的備用記憶體120。然而舉例而言,若主要記憶體中有部分變成不可使用或是在讀取/寫入程序中產生過量的錯誤,備用記憶體120可用以取代主要記憶體110之部分。當然,這種記憶體配置的細節僅為示例,且本發明所主張之標的並不限於此。
第二圖是根據一具體實施例之記憶體讀取/寫入程序200的流程圖。在方塊220處,起始要讀取或寫入部分記憶體裝置之一讀取/寫入程序,例如藉由一處理器(未示)所執行之一系統應用程式,其提供一或多個讀取/寫入位址以分別辨識儲存之資料被讀出或被寫入之一或多個記憶體位置。從方塊230開始,這種讀取/寫入位址可將資料讀取/寫入程序導向為沿著先前至少部分基於該讀取/寫入位址是否與已汰換之記憶體位置相應而選擇的一資料路徑。在目前示例中,記憶體裝置可包含一主要記憶體部分與一備用記憶體部分,例如第一圖所示之記憶體裝置100。在一特定實作例中,一備用記憶體部分可用於取代被汰換之主要記憶體部分。當此一記憶體位置還未被汰換時,在方塊240處,該資料路徑可將一資料讀取/寫入程序導向至與一處理器所傳送之位址相應的主要記憶體部分中的一位置。此導向可由適當切換之硬體切換組件執行,例如多工器。舉例而言,訊號可應用至硬體切換組件以選擇一資料路徑,其引導至與該處理器所傳送之位址相應的主要記憶體部分。由該硬體切換組件所選擇之其他資料路徑可包含導向記憶體裝置之不同部分(例如一備用記憶體部分)的個別資料路徑。
因此,在方塊250處,該處理器所傳送之該讀取/寫入位址可用以讀出或寫入該記憶體裝置的該主要記憶體部分。接著,在方塊260處,自該記憶體裝置之該讀取位址所讀出的資料可被提供至錯誤檢查硬體及/或軟體,例如ECC解譯器及/或例如其他類似錯誤修正技術。在對該記憶體裝置寫入資料時,可執行一後續讀取程序以核實一成功寫入操作:此讀取資料接著可被提供至錯誤檢查硬體/或軟體,例如一ECC解譯器及/或其他類似錯誤修正技術。
當一記憶體位置已經汰換時,在方塊245處,一資料路徑係將一資料讀取/寫入程序導向一備用記憶體部分中的位置、而非與處理器傳送之位址相應的記憶體位置。此路徑導向可由一適當切換之硬體切換組件執行,例如多工器。特別是,訊號可應用至此硬體切換組件,以選擇通往與處理器所傳送之位址相應的一備用記憶體部分的資料路徑。由該硬體切換組件所選擇之其他資料路徑可包含通往記憶體裝置之不同部分(例如一主要記憶體部分及/或其他備用記憶體部分)的個別資料路徑。
因此,在方塊255處,該處理器所傳送的該讀取/寫入位址(雖然其原始係導向主要記憶體部分之位址)可重新導向至該記憶體裝置的一備用記憶體部分。接著,在方塊260處,讀出、或寫入該備用記憶體部分的資料可被提供至錯誤檢查硬體及/或軟體,例如ECC解譯器及/或其他類似錯誤修正技術。在對該記憶體裝置寫入資料時,可執行一後續讀取程序以核實一成功寫入操作:此讀取資料接著可被提供至錯誤檢查硬體/或軟體,例如一ECC解譯器及/或其他類似錯誤修正技術。當然,此記憶體讀取程序之細節係僅為示例,且本發明所主張之標的並不限於此。
第三圖係根據一具體實施例之記憶體讀取/寫入程序300的流程圖。在方塊310處,可起始要讀取或寫入部分記憶體裝置之一讀取/寫入程序,例如藉由一系統應用程式,其提供一或多個讀取/寫入位址以分別辨識儲存之資料被讀出或被寫入之一或多個記憶體位置。舉例而言,藉由同位檢查讀取資料,ECC硬體及/或軟體可用以檢查及/或修正讀取資料中的錯誤。接著,初始讀取資料可與修正後之讀取資料比較,以決定在該記憶體讀取/寫入程序中所發生的該錯誤量,如在方塊320處所示。此錯誤量係以位元錯誤率(Bit error rate,BER)表示,例如其可包含該錯誤位元數對該讀取位元總數之比率。因讀取記憶體裝置之一部分所產生的BER或錯誤量可與一錯誤容限值比較,錯誤容限值可包含代表最大可接受BER或最大可接受錯誤量之數值;舉例而言,當超過此數值時,其他的錯誤便無法被成功修正;此錯誤容限值可包含代表可針對一特定記憶體裝置(例如第一圖所示之記憶體裝置100)修正之BER或錯誤量之實質上限的數字。等於或低於此錯誤容限值時,ECC硬體及/或軟體即可修正讀取錯誤;但當高於此錯誤容限值時,無法修正所有讀取錯誤之可能性會相對提高。
在方塊330處,至少部分基於自一部分記憶體之讀取是否產生過多錯誤來決定是否汰換記憶體的此一部分。如果錯誤量等於或低於錯誤容限值,則決定不汰換記憶體的此一部分,此時讀取/寫入程序300可前進至方塊335。在此,訊號可被提供至硬體切換組件,使得針對讀取/寫入程序而傳輸的資料之路線或路徑可導向一原始主要記憶體部分。其次,例如在方塊340處,讀取資料可被提供至一應用程式,其請求該讀取資料或寫入資料可被寫入至一原始主要記憶體部分中。
另一方面,若錯誤量高於錯誤容限值時,則決定汰換記憶體的一部分,且讀取/寫入程序300可前進至方塊350,例如在該處可開始汰換產生過多錯誤之部分記憶體的程序。在一特定實作例中,儲存在此一待汰換記憶體部分中的資料可藉由提供一訊號至一硬體切換組件而再次被讀取,使得用於該讀取/寫入程序之資料路線可導向原始主要記憶體部分。其次,在方塊360處,訊號可被提供至硬體切換組件,使得用於後續讀取及/或寫入程序之資料路線可被導向用以取代該原始主要記憶體部分之一備用記憶體部分。其次,在方塊340處,舉例而言,讀取資料可被提供至一應用程式,其請求該讀取資料或寫入資料可被寫入至一備用記憶體部分中。當然,這種記憶體讀取程序的細節僅為示例,且本發明所主張之標的並不限於此。
第四圖係說明計算系統400之具體實施例的示意圖。計算系統400包含記憶體裝置450,其分隔為如上述關於第一圖所述之主要部分450與備用部分460。計算系統400代表可配置以管理記憶體裝置455之任一裝置、器具、及/或機器,例如、但不限於計算系統400可包含:一或多個計算裝置及/或平台(如桌上型電腦、膝上型電腦、工作站、伺服裝置等)、一或多個個人計算或通訊裝置或器具,例如個人數位助理、行動通訊裝置等、一計算系統及/或相關服務提供者能力(例如資料庫或資料儲存服務提供者/系統)、及/或其任一組合。
應知所有或部分如計算系統400中所示之該等各種裝置、以及下文將進一步說明之該等程序與方法可利用或包含硬體、韌體、軟體或其任何組合而實作,因此,舉例、但非限制而言,計算系統400可包含至少一處理單元410,其係經由硬體切換組件470、記憶體控制器435與錯誤偵測及記憶體汰換決定組件(後稱「錯誤偵測組件」以求方便)440而運作性耦合至記憶體455。處理單元410可代表一或多個電路,其可配置以執行至少一部分的資料計算程序或流程。舉例、但非限制而言,處理單元410可包含一或多個處理器、控制器、微處理器、微控制器、專用積體電路、數位訊號處理器、可程式化邏輯裝置、場可編程閘極陣列等、或其任一組合。處理單元410可與記憶體控制器435通訊以處理記憶體相關操作,例如讀取、寫入及/或拭除。處理單元410可包含一作業系統,其係配置以與記憶體控制器435通訊。舉例而言,此作業系統可產生欲經由位址輸出埠415及/或資料讀取/寫入埠420而發送至記憶體控制器435的指令。舉例而言,這些指令可包含與記憶體455相應之記憶體位址。
舉例而言,計算系統400可包含輸入/輸出部分480,其可代表可配置以接受或引入人為及/或機器輸入之一或多個裝置或特徵、及/或可配置以遞送或提供人為及/或機器輸出之一或多個裝置或特徵。舉例、但非限制而言,輸入/輸出部分480可包含操作性配置之顯示器、揚聲器、鍵盤、滑鼠、軌跡球、觸控螢幕、資料埠等。
記憶體控制器435可包含一非揮發性分離式可定址之記憶體430以保留待使用之資訊,所述資訊係用以經由硬體切換組件470而於通往記憶體455之各個部分的多個資料路徑475間進行選擇。在一具體實施例中,一分離式可定址之記憶體包含PCM。舉例而言,這些資訊可包含與特定記憶體選擇值相關之記憶體位址表,其用以選擇特定的資料路徑475。當處理單元410提出一位址作為部分之讀取/寫入操作時,非揮發性分離式可定址之記憶體430可用以使該位址與一特定記憶體選擇值產生關聯,以選擇一特定資料路徑至記憶體。在此,舉例而言,進行選擇以挑選一資料路徑至主要記憶體450或備用記憶體460,上述之這種選擇係至少部分基於與一讀取/寫入程序中所出現的位址相關之記憶體455的位置是否已經汰換。為藉由一特定示例加以描述,處理單元410可提出一位址作為讀取操作之部分,該位址(由記憶體控制器435所接收)係接著與非揮發性分離式可定址之記憶體430中所保存的一特定記憶體選擇值相關。如下所述,此記憶體選擇值係已至少部分基於錯誤偵測組件440所提供之資訊而建立。此一記憶體選擇值接著可被提供至硬體切換組件470,以於多個資料路徑475間選擇通往記憶體之一資料路徑。在本特定示例中,該位址係與先前汰換之記憶體455的位置相應,據此,暫存器430可使該位址與一記憶體選擇值產生關聯,其如對硬體切換組件470提出的話,可選擇通往備用記憶體460中一位置之一資料路徑。雖然在第四圖中是以兩條資料路徑來代表多個資料路徑475,然應知任何數量的資料路徑皆為可行。同時,硬體切換組件470並非必須限制為一次選擇一資料路徑;同樣的,包含對任何部分之記憶體455的任何數量之資料路徑之組合皆為可行,舉例而言,其中記憶體455可包含封裝在一起、或個別之一或多個記憶體裝置。記憶體455可代表任何資料儲存機制。記憶體455可包含如硬碟機、光碟機、磁帶驅動器、固態記憶體驅動器等。據此,本文所述之配置僅為示例,本發明所主張之標的並不限於此。
如上所述,非揮發性分離式可定址之記憶體430(例如PCM)至少部分可基於錯誤偵測組件440所提供之資訊而建立和保存資訊。在一具體實施例中,自記憶體455讀取之資料可被提供至錯誤偵測組件440,其可檢查錯誤以決定與讀取記憶體455之特定部分相關的位元錯誤率及/或該位元錯誤量。這種錯誤資訊接著可被提供至記憶體控制器435,例如其可比較該位元錯誤率及/或位元錯誤量與一錯誤容限值。根據此比較結果,做出是否汰換記憶體之該特定部分的決定。據此,記憶體之該特定部分的該位址係可與一記憶體選擇值相關,且在對硬體切換組件470提出時,可用以選擇通往記憶體之一適當部分之一資料路徑。如上所述,非揮發性分離式可定址之記憶體430可保存與特定記憶體位址有關的這些記憶體選擇值。
如第四圖所示,計算系統400可包含硬體部分490,其包含例如記憶體控制器435、非揮發性分離式可定址之記憶體430、硬體切換組件470及/或記憶體455。在一特定具體實施例中,汰換一部分的記憶體裝置及/或決定是否對主要或備用記憶體進行讀取/寫入可包含相對於處理單元410為顯而易見之程序,其係發出讀取/寫入指示。據此,處理器單元410不需接收或處理自產生錯誤之記憶體特定部分所讀出的資料,而是這些錯誤會由錯誤偵測組件440攔截及偵測,其接著對記憶體控制器435提供錯誤資訊,如上所述。接著,記憶體控制器435可決定是否應該要汰換記憶體455的一特定部分,舉例而言,其中此決定可於硬體部分490內進行,且處理單元410並未參與。此外,記憶體控制器435可至少部分基於代表非揮發性分離式可定址之記憶體430中所儲存資訊之訊號而決定是否對主要或備用記憶體進行讀取/寫入。同樣地,這種決定可於硬體部分490內進行,且處理單元410並未參與。據此,如上所述,例如處理器在處理讀取/寫入指示時,不需擔負為重新組織及/或與記憶體對應工作之軟體程序之責。當然,這些程序僅為示例,本發明所主張之標的並不限於此。
第五圖為根據一具體實施例之記憶體讀取/寫入程序500之流程圖。在方塊505處,起始要讀取或寫入部分記憶體裝置之一讀取/寫入程序,例如藉由一系統應用程式,其提供一或多個讀取/寫入位址以分別辨識儲存資料被讀出或被寫入之一或多個記憶體位置。在方塊510,一或多個這種讀取/寫入位址可被提供至例如一內容可定址記憶體(Content addressable memory,CAM),在其中可搜尋與所提供之讀取/寫入位址相應之可能的重新對應位址。在一實作例中,CAM可包含一非揮發性分離式可定址之記憶體,例如PCM。此CAM可儲存代表一資料庫及/或表之數位訊號,其使原始位址與相應的重新對應位址產生關聯。據此,藉由搜尋此CAM,即可於方塊530處決定進來的一個原始讀取/寫入位址是否與該CAM中所儲存之一相應重新對應位址相關;如否,其中對與一特定原始讀取/寫入位址相關之重新對應位址之搜尋回傳了一空(null)結果,則讀取/寫入程序500可前進至方塊540,其中可輸出該原始讀取/寫入位址。因此,在方塊550處,該原始讀取/寫入位址可用以讀出或寫入一記憶體裝置。接著,在方塊560處,從該記憶體裝置的該原始讀取/寫入位址讀出或寫入的資料可被提供至錯誤檢查硬體及/或軟體,例如ECC解譯器及/或其他類似錯誤修正技術。
另一方面,若在方塊530處決定進來的原始讀取/寫入位址具有相應的重新對應位址,則讀取/寫入程序500可前進至方塊545,其中可傳送與一特定原始讀取/寫入位址相應的一重新對應位址。因此,在方塊555處,該重新對應之讀取/寫入位址可用以讀出或寫入一記憶體裝置。在一實作例中,當利用一重新對應位址時,可讀取或寫入該記憶體裝置的備用部分,但此限制僅為示例。接著,在方塊560處,從該記憶體裝置的該重新對應讀取/寫入位址讀出或寫入的資料可被提供至錯誤檢查硬體及/或軟體,例如ECC解譯器及/或其他類似錯誤修正技術。當然,此記憶體讀取/寫入程序之細節僅為示例,本發明所主張之標的並不限於此。
第六圖係根據一具體實施例之記憶體讀取程序600的流程圖。在方塊605處可起始一讀取程序,以讀取代表部分記憶體裝置中所儲存之資訊的訊號,例如藉由一系統應用程式,其提供一或多個讀取位址以分別辨識代表資料之儲存訊號被讀出之一或多個記憶體位置。舉例而言,藉由同位檢查讀取資料,ECC硬體及/或軟體可用以檢查及/或修正讀取資料中的錯誤。接著,初始讀取資料可與修正後之讀取資料比較,由此決定在該記憶體讀取程序中所發生的該錯誤量,如在方塊610處所示。此錯誤量可用位元錯誤率(BER)表示,例如其可包含該錯誤位元數對該讀取位元總數之比率。在方塊620處,因讀取記憶體裝置之一部分所產生的BER或錯誤量可與一錯誤容限值比較,該錯誤容限值包含了代表最大可接受BER或最大可接受錯誤量之數值;舉例而言,當超過此數值時,其他的錯誤便無法被成功修正:此錯誤容限值可包含代表針對一特定記憶體裝置(例如第一圖所示之記憶體裝置100)為可接受之BER或錯誤量實質上限的數字。等於或低於此錯誤容限值時,ECC硬體及/或軟體可修正讀取錯誤;但當高於此錯誤容限值時,無法修正至少部分讀取錯誤之可能性會相對提高。
在方塊630處,至少部分基於自一部分記憶體之讀取是否產生過多錯誤來決定是否汰換記憶體裝置的一部分。如果錯誤量等於或低於錯誤容限值,則讀取程序600可前進至方塊640,其中例如讀取資料可被提供至請求該讀取資料之一應用程式。另一方面,若此錯誤量高於錯誤容限值時,則讀取程序600可前進至方塊650,例如在該處開始汰換產生過多錯誤之記憶體部分的程序。在一特定實作例中,最初儲存在此易出錯記憶體部分中的資料可移動至已知為有功能及/或健全的另一記憶體部分,此一新記憶體部分可包含備用記憶體(如第一圖所示之備用記憶體120)的一部分。在方塊660處,用以辨識該資料之該(等)原始記憶體位置的一記憶體位址或多個記憶體位址可重新對應以辨識欲重新安置資料之該新的記憶體部分。在一實作例中,重新對應可包含指定一新位址,以經由例如一向量而與一原始位址相應,使得對該原始位址之呼叫可重新導向至指明重新安置資料之該位置的新位址。在方塊670處,與這些重新對應位址相關的資訊接著可被提供至一CAM,以更新該CAM中所儲存之重新對應資訊,其中此資訊可儲存為向量重新對應表,如下文將詳細說明者。在方塊680處,回應於欲提供至該CAM之一或多個重新對應位址,更新之資訊也可提供至一非揮發性分離式可定址之記憶體(如PCM)。舉例而言,一記憶體控制器可提供代表與記憶體裝置有關之重新對應資訊的數位訊號至CAM,其中當該CAM中所儲存之該重新對應資訊更新時,此一記憶體控制器可將該CAM中所儲存之該重新對應資訊的至少一部分複製到一非揮發性分離式可定址之記憶體中。在一實作例中,這種更新資訊可於例如運轉程序期間(例如處理器所起始之讀取/寫入程序期間)同時提供至一非揮發性分離式可定址之記憶體。在另一實作例中,系統可執行一初始化程序以包含掃瞄記憶體裝置之易出錯部分。
在一特定實作例中,PCM或其他非揮發性分離式可定址之記憶體可以CAM中所儲存之重新對應資訊及/或其他內容進行週期性更新,如下文中將進一步說明者。在重新對應記憶體之易出錯部分後,讀取程序600可前進至方塊640,例如其中讀取資料可被提供至請求該讀取資料之一應用程式。當然,此記憶體讀取程序的細節僅為示例,本發明所主張之標的並不限於此。
第七圖係根據一具體實施例之向量重新對應表700的示意圖。在其他實作例中,表700中所含資訊不需為一列表格式。舉例而言,此種資訊可包含一陣列或用於組織此種資訊之其他方式。此種資訊以及與其相關之組織可儲存為例如代表一非揮發性分離式可定址之記憶體(如PCM)中之此種資訊的數位訊號。欄位710可包含原始位址740之列表,例如addr1、addr2、addr3等等。狀態欄位720可包含關於欄位710中所列之一相應原始位址是否已經重新對應之資訊;而欄位730可包含重新對應位址750之列表,例如addr1’、addr2’、addr3’等等,其與欄位710中所列之原始位址740相應。
在一實作例中,原始位址740可包含由一應用程式之讀取/寫入請求中含有的一或多個位址及/或系統調查有關在一或多個位址之該位置處的記憶體裝置100中儲存之資訊。狀態欄位720可包含中介資料以描述是否已經重新對應原始位址740。若已發生此重新對應,則欄位730可包含與原始位址740相應的重新對應位址750。根據第一圖之示例來說明,addr1、addr5、addr7及addr8已經分別重新對應至addr1’、addr5’、addr7’及addr8’,而addr2、addr3、addr4及addr6則尚未重新對應。在此,未經重新對應之原始位址在欄位730中並不具有相應的重新對應位址。在另一實作例中,狀態欄位720不需要包含於表700中,因為重新對應位址750的存在係足以指示已針對特定原始位址740發生重新對應。當然,此向量重新對應表與儲存重新對應資訊之其他格式的細節僅為示例,本發明所主張之標的並不限於此。
第八圖係根據一具體實施例之記憶系統800的方塊圖。控制器810可配置以接收表示讀取請求805之一或多個訊號,讀取請求805包含指明從其中讀出資料之記憶體裝置825的位置之一位址。記憶體裝置825可包含主要記憶體820與備用記憶體830,例如如上所述者。伴隨讀取請求之進來的位址可通過CAM 815,其中這些位址可與CAM 815中所儲存之內容(可包含與原始位址相關之重新對應位址)比較。在一特定實作例中,重新對應程序係在無特定指示及/或使用者在系統層級所產生之訊號的情形下發生,因此伴隨讀取請求之進來的位址總是包含原始位址;這些位址係僅於CAM搜尋之後與其相關重新對應位址相關。換言之,CAM 815可自一原始位址空間提供轉譯至一重新對應位址空間。在此方式中,控制器810可決定讀取請求805是否包含已經重新對應之一位址。根據此決定,控制器810可將讀取請求805導向主要記憶體820或備用記憶體830以讀取資料。舉例而言,若讀取請求805的該位址尚未重新對應,則控制器810可將該讀取請求前送至主要記憶體820;而當此位址已經重新對應時,則控制器810可修改讀取請求805以包含導向備用記憶體830之一重新對應位址。接著,主要記憶體820或備用記憶體830可提供讀取資料835至錯誤偵測方塊840,其可包含例如一錯誤計數器及/或一ECC解譯器。在一具體實施例中,包含ECC解譯器之錯誤偵測方塊840可配置在記憶體裝置825的一晶粒元件中。在另一具體實施例中,包含ECC解譯器之錯誤偵測方塊840可提供於系統層級,例如在一應用程式中。錯誤偵測方塊840可偵測及/或修正存在於讀取資料835中的任何錯誤,並將這些偵測到之錯誤表示為BER及/或位元錯誤量。據此,錯誤偵測方塊840可提供修正之讀取資料845至引入讀取請求805之實體,例如一應用程式及/或主機系統。錯誤偵測方塊840也可提供與讀取資料835中存在的該錯誤量有關之資訊至比較引擎850。當錯誤偵測方塊840包含配置在記憶體裝置825之晶粒元件中的ECC解譯器時,此錯誤資訊可由系統層級之比較引擎應用程式加以存取。舉例而言,在一實作例中,ECC解譯器可包含一錯誤資訊暫存器,其可供比較該偵測到之錯誤量與錯誤容限值之比較引擎850進行存取。
如上所述,此錯誤容限值可包含對一可接受BER或錯誤量之限制。比較引擎850可提供此比較之結果860至控制器810。控制器810係至少部分基於這些比較結果可決定是否汰換記憶體裝置825的一特定部分。舉例而言,若此比較指示了記憶體裝置825的一特定部分在讀取程序中產生了過量的位元錯誤,則控制器810可起始汰換記憶體之該易出錯部分的程序。此汰換程序可包含將記憶體之該汰換部分中所儲存的資料重新安置到記憶體的另一部分。舉例而言,代表資料之數位訊號可自主要記憶體820的一特定部分移動到備用記憶體830中儲存。據此,控制器810可將辨識記憶體之該汰換部分之位址修改成辨識記憶體之該新部分的位址以包含該重新安置資料。接著將此一修改、重新對應之位址寫入CAM 815,其係與該原始位址相關,如上述說明者。例如此一記憶體汰換程序可相對於引入讀取請求805之一應用程式及/或主機系統緊密發生。在一實作例中,可利用非揮發性分離式可定址之記憶體818(例如一PCM)來備份CAM 815中所儲存之重新對應資訊。舉例而言,非揮發性分離式可定址之記憶體818可隨時更新、偶爾更新、定期更新、及/或每當以新的重新對應資訊更新CAM 815時進行更新。在一具體實施例中,非揮發性分離式可定址之記憶體818例如可於運轉程序期間(例如由讀取請求805所起始之讀取程序)同時更新。當非揮發性分離式可定址之記憶體818的此一更新實質上在CAM 815每次更新時發生時,則該非揮發性分離式可定址之記憶體與該CAM兩者係實質上彼此同步。亦即,每一個這種記憶體可含有實質上類似的重新對應資訊。這種同步性在供應至記憶系統800之電力中斷時是有用的,其中揮發性CAM 815會損失重新對應資訊,而非揮發性分離式可定址之記憶體818可保存該此資訊。當然,這種記憶體系統的實作方式僅為示例,本發明所主張之標的並不限於此。
第九圖為說明計算系統900之示例性具體實施例的示意圖,計算系統900包含記憶體裝置910,其可被分隔為如上述之主要與備用部分。計算裝置904可代表可配置以管理記憶體裝置910之任一裝置、器具、及/或機器。記憶體裝置910可包含記憶體控制器915與記憶體922。舉例、但非限制而言,計算裝置904可包含:一或多個計算裝置及/或平台(如桌上型電腦、膝上型電腦、工作站、伺服裝置等)、一或多個個人計算或通訊裝置或器具(例如個人數位助理、行動通訊裝置等)、一計算系統及/或相關服務提供者能力(例如資料庫或資料儲存服務提供者/系統)、及/或其任一組合。
應知所有或部分如系統900中所示之該等各種裝置、以及下文將進一步說明之該等程序與方法可利用或包含硬體、韌體、軟體或其任何組合而實作,因此,舉例、但非限制而言,計算系統904可包含至少一處理單元920,其係經由匯流排940與主機或記憶體控制器915而運作性耦合至記憶體922。處理單元920係代表一或多個電路,其可配置以執行至少一部分的資料計算程序或流程。舉例、但非限制而言,處理單元920可包含一或多個處理器、控制器、微處理器、微控制器、專用積體電路、數位訊號處理器、可程式化邏輯裝置、場可編程閘極陣列等、或其任一組合。處理單元920可與記憶體控制器915通訊以處理記憶體相關操作,例如讀取、寫入及/或拭除以及上述記憶體分隔程序。處理單元920可包含一作業系統,其係配置以與記憶體控制器915通訊。舉例而言,此作業系統可產生欲經由匯流排940而發送至記憶體控制器915的指令。舉例而言,這些指令可包含欲分隔記憶體922之至少一部分之指令、欲使一或多個屬性與特定分隔結合之指令、以及欲至少部分基於所欲編程與儲存之該資料類型而程式化一特定分隔之指令。
記憶體922係代表任何資料儲存機制。記憶體922可包含如主要記憶體924及/或次要記憶體926。在一特定具體實施例中,記憶體922可包含至少部分基於該記憶體的一或多個屬性及/或上述之記憶體管理程序所分隔之記憶體。主要記憶體924可包含如隨機存取記憶體、唯讀記憶體等。在此示例中雖以獨立於處理單元920者加以說明,然應知主要記憶體924的所有或其部分可提供於處理單元920內、或與處理單元920共同安置、或與其耦合。
次要記憶體926可包含如與主要記憶體相同或相似的記憶體類型,及/或一或多個資料儲存裝置或系統,例如磁碟機、光碟機、磁帶驅動器、固態記憶體驅動器等。在某些實作例中,次要記憶體926可運作性容納、或可配置以耦合至電腦可讀取媒體928。舉例而言,電腦可讀取媒體928可包含任何可裝載及/或產生可存取資料、編碼及/或指令以供系統900中一或多個裝置之用的媒體。
舉例而言,計算裝置904可包含輸入/輸出裝置932。輸入/輸出裝置932係代表可配置以接受或引入人為及/或機器輸入之一或多個裝置或特徵、及/或可配置以遞送或提供人為及/或機器輸出之一或多個裝置或特徵。舉例、但非限制而言,輸入/輸出裝置932可包含操作性配置之顯示器、揚聲器、鍵盤、滑鼠、軌跡球、觸控螢幕、資料埠等。
在上述實施方式中,係提出了多種特定細節以提供對本發明所主張之標的的完整瞭解。然而,該領域技術人士應知所主張之標的亦可在不含這些特定細節的情形下實施。在其他實例中,並未詳細說明該領域技術人士所習知的方法、設備或系統,以避免混淆本發明所主張之標的。
上述實施方式的某些部分係以演算法或對特定設備或專用計算裝置或平台中之記憶體內所儲存之二進位數位訊號之操作的符號表示來呈現。在本特定說明書之上下文中,術語「特定設備」等包含經程式化以執行根據來自程式軟體之指令的特定操作之通用電腦。演算法說明或符號表示僅為訊號處理或相關領域中技術人士用於對其他技術人士傳達其工作主旨之技術示例。在此,演算法一般被視為一種自身一致操作順序或產生所需結果之類似訊號處理。在本文中,操作或處理涉及了物理量的實體操縱。一般而言(其非必須)這種物理量可具有電性或磁性訊號的形式,其可被儲存、傳送、組合、比較、或進行其他操縱。有時基於一般使用之便利,這些訊號係指位元、資料、數值、元件、符號、字元、術語、數量、數字等;然應知所有的這些類似術語皆與適當物理量相關,且僅為方便之標示。除非另外指明,如以下討論,應知在本發明說明書中所使用之「處理」、「計算」、「估算」、「決定」等術語是指特定設備(例如專用電腦或類似的專用電子計算裝置)的動作或程序。在一示例中,這種專用電腦或專用電子計算裝置可包含以指令加以程式化以執行一或多項特定功能之一通用電腦。因此在本說明書上下文中,專用電腦或類似的專用電子計算裝置可操縱或轉換在該專用電腦或類似的專用電子計算裝置之記憶體、暫存器或其他資訊儲存裝置、傳送裝置或顯示裝置內的訊號(一般係以物理性電子量或磁性量來表示)。
本文中所使用之術語「及」、「及/或」、以及「或」可包含各種意義,其至少部分端視其使用處之上下文而定。一般而言,「及/或」以及「或」在用於如A、B或C之列表性敘述時,於包含性觀念中是表示A、B和C,而於排他性觀念中是表示A、B或C。在本說明書中,當提及「一具體實施例」(one/an embodiment)時是表示與該具體實施例相關描述之一特定特徵、結構或特性係包含於本發明所主張之標的的至少一具體實施例中。因此,出現在本說明書中各處之用語「一具體實施例」(one/an embodiment)並非全都代表相同的具體實施例。此外,該等特定特徵、結構與特性可結合於一或多個具體實施例中。本文所述之具體實施例可包含利用數位訊號操作之機器、裝置、引擎或設備,這些訊號可包含電子訊號、光學訊號、電磁訊號或提供位置間資訊之任何能量形式。
雖然上文所說明及描述者係本發明之示例具體實施例,該領域技術人士應知在不脫離本發明所主張之標的的情形下,也可進行各種其他修改例、或以等效例來替代。此外,許多修改例係用來將一特定情況調適成所主張標的之教示,而皆不脫離本文所述之中心概念。因此,所欲表達的是,本發明所主張之標的並不限於所揭示之特定具體實施例,而是亦可包含如附屬申請專利範圍內之所有具體實施例及其等效例。
100...記憶體裝置
110...主要記憶體
120...備用記憶體
200...記憶體讀取/寫入程序
220-260...方塊
300...記憶體讀取/寫入程序
310-360...方塊
400...計算系統
410...處理單元
415...位址輸出埠
420...資料讀取/寫入埠
430...非揮發性分離式可定址記憶體/暫存器
435...記憶體控制器
440...錯誤偵測及記憶體汰換決定組件
450...主要記憶體/主要部分
455...記憶體
460...備用記憶體/備用部分
470...硬體切換組件
475...資料路徑
480...輸入/輸出部分
490...硬體部分
500...記憶體讀取/寫入程序
505-560...方塊
600...記憶體讀取程序
605-680...方塊
700...向量重新對應表
710...欄位
720...狀態欄位
730...欄位
740...原始位址
750...重新對應位址
800...記憶體系統
805...讀取請求
810...控制器
815...內容可定址記憶體
818...非揮發性分離式可定址記憶體
820...主要記憶體
825...記憶體裝置
830...備用記憶體
835...讀取資料
840...錯誤偵測方塊
845...修正之讀取資料
850...比較引擎
860...結果
900...計算系統
904...計算裝置
910...記憶體裝置
915...主機或記憶體控制器
920...處理單元
922...記憶體
924...主要記憶體
926...次要記憶體
928...電腦可讀取媒體
932...輸入/輸出裝置
940...匯流排
前述之非限制性且非窮盡式具體實施例係參照下列圖式說明,除非另行指明,其中相同的參考編號係代表各圖式間相同的元件。
第一圖係根據一具體實施例之記憶體配置的示意圖。
第二圖係根據一具體實施例之記憶體讀取程序之流程圖。
第三圖係根據另一具體實施例之記憶體讀取程序之流程圖。
第四圖係根據一具體實施例之計算系統與記憶體裝置的示意方塊圖。
第五圖係根據一具體實施例之記憶體讀取程序的流程圖。
第六圖係根據另一具體實施例之記憶體讀取程序的流程圖。
第七圖係根據一具體實施例之向量重新對應表的示意圖。
第八圖係根據一具體實施例之記憶體系統的示意方塊圖。
第九圖係根據一具體實施例之計算系統與記憶體裝置的示意方塊圖。
400‧‧‧計算系統
410‧‧‧處理單元
415‧‧‧位址輸出埠
420‧‧‧資料讀取/寫入埠
430‧‧‧非揮發性分離式可定址記憶體/暫存器
435‧‧‧記憶體控制器
440‧‧‧錯誤偵測及記憶體汰換決定組件
450‧‧‧主要記憶體/主要部分
455‧‧‧記憶體
460‧‧‧備用記憶體/備用部分
470‧‧‧硬體切換組件
475‧‧‧資料路徑
480‧‧‧輸入/輸出部分
490‧‧‧硬體部分

Claims (21)

  1. 一種記憶體裝置,包含:一埠,其用以接收代表與一記憶體裝置有關之重新對應資訊的數位訊號;一內容可定址記憶體(content addressable memory,CAM),其用以儲存代表重新對應資訊之該數位訊號,其中該CAM包含一非揮發性分離式可定址記憶體,該非揮發性分離式可定址記憶體包含對於一讀取/寫入程序個別可定址的記憶體單元;以及一控制器,其控制一備份非揮發性分離式可定址記憶體以將儲存於該CAM中之該重新對應資訊之至少一部分儲存,以回應於儲存在該CAM之該重新對應資訊被更新。
  2. 如第1項之記憶體裝置,更包含:一錯誤修正編碼(ECC)解譯器,其接收代表自該記憶體裝置所讀取之資料的數位訊號,並決定與代表該資料之該讀取訊號相關的一位元錯誤率及/或一位元錯誤量,其中該控制器經調適以至少部分基於該位元錯誤率及/或該位元錯誤量是否符合或超過一錯誤臨限值而儲存該重新對應資訊。
  3. 如第1項之記憶體裝置,其中該CAM包含一相變記憶體(phase-change memory,PCM)。
  4. 如第1項之記憶體裝置,其中該重新對應資訊係包含一或多個重新對應位址表。
  5. 如第1項之記憶體裝置,其中該控制器經組態以控制該備份非揮發性分離式可定址記憶體將於被引導至該記憶體裝置的一讀取/寫入程序期間的該重新對應資訊的該至少一部分快速地儲存。
  6. 如第1項之記憶體裝置,其中該CAM及該備份非揮發性分離式可定址記憶體實質上彼此同步。
  7. 如第1項之記憶體裝置,其中該備份非揮發性分離式可定 址記憶體包含一第二CAM。
  8. 如第1項之記憶體裝置,其中將儲存於該CAM之該重新對應資訊之至少一部分儲存至該備份非揮發性分離式可定址記憶體係同步被執行的。
  9. 一種方法,其包含:決定與代表自一記憶體裝置所讀取之資料的數位訊號有關之一位元錯誤率及/或一位元錯誤量;以及將代表與該記憶體裝置有關之重新對應資訊的數位訊號儲存在一內容可定址記憶體(content addressable memory,CAM),該CAM包含一非揮發性分離式可定址記憶體,且該非揮發性分離式可定址記憶體包含對於一讀取/寫入程序個別可定址的記憶體單元,其中該重新對應資訊係至少部分基於該位元錯誤率及/或該位元錯誤量是否符合或超過一錯誤臨限值;及將儲存於該CAM之該重新對應資訊之至少一部分存入一備份非揮發性分離式可定址記憶體,以回應於儲存於該CAM之該重新對應資訊被更新。
  10. 如第9項之方法,其中該CAM包含一相變記憶體(phase-change memory,PCM)。
  11. 如第9項之方法,其中該重新對應資訊包含一或多個重新對應位址表。
  12. 如申請專利範圍第9項之方法,其中儲存於該CAM之該重新對應資訊之該至少一部分在引導至該記憶體裝置的一讀取/寫入程序期間快速地被執行。
  13. 如第11項之方法,其中該記憶體裝置包含一主要記憶體部分與一備用記憶體部分,且其中該重新對應位址係與在該備用記憶體部分中的一記憶體位置相應。
  14. 如第9項之方法,其中該儲存更包含將該重新對應資訊寫入該CAM的一部分,該部分係實質上與該重新對應資訊相同大小。
  15. 一種系統,其包含:一主機,其自一記憶體裝置讀取及對其寫入且執行一或多個應用程式;一錯誤修正編碼(ECC)解譯器,其接收代表自該記憶體裝置所讀取之資料的數位訊號,並決定與代表該資料之該讀取訊號相關的一位元錯誤率及/或一位元錯誤量;以及一重新對應控制器,其至少部分基於該位元錯誤率及/或該位元錯誤量是否符合或超過一錯誤臨限值,而將代表該記憶體裝置之一重新對應位址的數位訊號儲存至一內容可定址記憶體(CAM)中,其中該CAM包含一非揮發性分離式可定址相變記憶體(phase-change memory,PCM),該非揮發性分離式可定址PCM包含對於一讀取/寫入程序個別可定位之PCM單元,其中該重新對應控制器經調適以控制一備份非揮發性分離式可定址PCM以將儲存於該CAM中之該重新對應資訊之至少一部分儲存,以回應於儲存在該CAM之該重新對應資訊被更新。
  16. 如第15項之系統,其中該CAM經調適以接收代表一讀取位址之數位訊號,並至少部分回應於該讀取位址是否與儲存於該CAM中的該重新對應位址相應而傳送代表一訊號的數位訊號。
  17. 如第16項之系統,更包含:一選擇部分,其選擇使用該讀取位址或該重新對應位址作為欲自該記憶體裝置讀取之一位址,其中該選擇係至少部分基於該訊號。
  18. 如第15項之系統,其中該記憶體裝置包含一主要記憶體部分與一備用記憶體部分,且其中該重新對應位址係與在該備用記憶體部分中的一記憶體位置相應。
  19. 如第18項之系統,其中該記憶體裝置進一步包含該ECC解譯器與一相變記憶體部分。
  20. 如第15項之系統,其中該位元錯誤率及/或該位元錯誤量 係至少部分回應於該記憶體的一物理性衰減。
  21. 如第15項之系統,其中該重新對應控制器經組態以控制該備份非揮發性分離式可定址PCM將於被引導至該記憶體裝置的一讀取/寫入程序期間的該重新對應資訊之至少一部分快速地儲存。
TW099119459A 2009-06-30 2010-06-15 用以儲存記憶體重新對應資訊之非揮發性記憶體及系統以及其方法 TWI484330B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/494,994 US8412987B2 (en) 2009-06-30 2009-06-30 Non-volatile memory to store memory remap information

Publications (2)

Publication Number Publication Date
TW201126329A TW201126329A (en) 2011-08-01
TWI484330B true TWI484330B (zh) 2015-05-11

Family

ID=43299312

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099119459A TWI484330B (zh) 2009-06-30 2010-06-15 用以儲存記憶體重新對應資訊之非揮發性記憶體及系統以及其方法

Country Status (6)

Country Link
US (1) US8412987B2 (zh)
JP (1) JP5996838B2 (zh)
KR (1) KR101647845B1 (zh)
CN (1) CN101937374B (zh)
DE (1) DE102010030745B4 (zh)
TW (1) TWI484330B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI749691B (zh) * 2019-08-28 2021-12-11 美商美光科技公司 用於內容可定址記憶體之錯誤校正

Families Citing this family (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370712B2 (en) * 2009-07-23 2013-02-05 International Business Machines Corporation Memory management in a non-volatile solid state memory device
US8892980B2 (en) * 2010-06-15 2014-11-18 Fusion-Io, Inc. Apparatus, system, and method for providing error correction
US8533538B2 (en) * 2010-06-28 2013-09-10 Intel Corporation Method and apparatus for training a memory signal via an error signal of a memory
US9003247B2 (en) * 2011-04-28 2015-04-07 Hewlett-Packard Development Company, L.P. Remapping data with pointer
US20120311262A1 (en) * 2011-06-01 2012-12-06 International Business Machines Corporation Memory cell presetting for improved memory performance
US8887025B2 (en) 2011-11-16 2014-11-11 HGST Netherlands B.V. Techniques for storing data in stuck memory cells
CN102567213B (zh) * 2011-11-30 2014-09-24 华中科技大学 相变存储器的写均衡方法
US9070483B2 (en) 2012-10-10 2015-06-30 HGST Netherlands B.V. Encoding and decoding redundant bits to accommodate memory cells having stuck-at faults
US9274884B2 (en) 2012-10-10 2016-03-01 HGST Netherlands B.V. Encoding and decoding data to accommodate memory cells having stuck-at faults
US9257203B2 (en) * 2012-12-06 2016-02-09 Micron Technology, Inc. Setting a default read signal based on error correction
US8812934B2 (en) 2012-12-12 2014-08-19 HGST Netherlands B.V. Techniques for storing bits in memory cells having stuck-at faults
US8943388B2 (en) 2012-12-12 2015-01-27 HGST Netherlands B.V. Techniques for encoding and decoding using a combinatorial number system
KR101545512B1 (ko) * 2012-12-26 2015-08-24 성균관대학교산학협력단 반도체 메모리 장치, 검증 독출 방법 및 시스템
CN103076996B (zh) * 2013-01-08 2016-08-03 深圳市硅格半导体有限公司 Pcram控制方法及系统
KR102025193B1 (ko) * 2013-02-19 2019-09-25 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
US9349476B2 (en) * 2013-02-21 2016-05-24 Sandisk Technologies Inc. Methods, systems, and computer readable media for early detection of potential flash failures using an adaptive system level algorithm based on flash program verify
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US20140282478A1 (en) * 2013-03-15 2014-09-18 Silicon Graphics International Corp. Tcp server bootloader
US10198314B2 (en) * 2013-05-23 2019-02-05 Rambus Inc. Memory device with in-system repair capability
JP6102515B2 (ja) * 2013-05-24 2017-03-29 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
US9678689B2 (en) 2013-05-29 2017-06-13 Microsoft Technology Licensing, Llc Storage systems and aliased memory
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US9274715B2 (en) * 2013-08-02 2016-03-01 Qualcomm Incorporated Methods and apparatuses for in-system field repair and recovery from memory failures
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9519577B2 (en) * 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US9378081B2 (en) * 2014-01-02 2016-06-28 Qualcomm Incorporated Bit remapping system
KR20150084244A (ko) * 2014-01-13 2015-07-22 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
US9299457B2 (en) * 2014-02-23 2016-03-29 Qualcomm Incorporated Kernel masking of DRAM defects
US20150270015A1 (en) * 2014-03-19 2015-09-24 Micron Technology, Inc. Memory mapping
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US9292380B2 (en) 2014-04-06 2016-03-22 Freescale Semiconductor,Inc. Memory access scheme for system on chip
US20150286529A1 (en) * 2014-04-08 2015-10-08 Micron Technology, Inc. Memory device having controller with local memory
KR20150130888A (ko) * 2014-05-14 2015-11-24 에스케이하이닉스 주식회사 셀프 리페어 동작을 수행하는 반도체 메모리 장치
KR102321501B1 (ko) * 2014-05-14 2021-11-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 스토리지 장치의 동작 방법
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9665311B2 (en) 2014-09-02 2017-05-30 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable
US9563362B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Host system and process to reduce declared capacity of a storage device by trimming
US9652153B2 (en) 2014-09-02 2017-05-16 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses
US9582202B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by moving data
US9582212B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device
US9582220B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system
US9563370B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device
US9582203B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a range of logical addresses
US9552166B2 (en) 2014-09-02 2017-01-24 Sandisk Technologies Llc. Process and apparatus to reduce declared capacity of a storage device by deleting data
US9519427B2 (en) 2014-09-02 2016-12-13 Sandisk Technologies Llc Triggering, at a host system, a process to reduce declared capacity of a storage device
US9158681B1 (en) 2014-09-02 2015-10-13 Sandisk Technologies Inc. Process and apparatus to reduce declared capacity of a storage device by conditionally trimming
US9582193B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system
US9524112B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by trimming
US9524105B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US9558064B2 (en) * 2015-01-28 2017-01-31 Micron Technology, Inc. Estimating an error rate associated with memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
EP3254286B1 (en) 2015-02-06 2019-09-11 Micron Technology, INC. Apparatuses and methods for parallel writing to multiple memory device locations
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
WO2016126478A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for memory device as a store for program instructions
WO2016144724A1 (en) 2015-03-10 2016-09-15 Micron Technology, Inc. Apparatuses and methods for shift decisions
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
CN107430874B (zh) 2015-03-12 2021-02-02 美光科技公司 用于数据移动的设备及方法
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US10228990B2 (en) * 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
US9946473B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive
US9946483B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
US10432232B2 (en) * 2016-03-04 2019-10-01 Sandisk Technologies Llc Multi-type parity bit generation for encoding and decoding
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US9679661B1 (en) * 2016-06-28 2017-06-13 Sandisk Technologies Llc Non-volatile storage system with self-test for read performance enhancement feature setup
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US9672940B1 (en) 2016-08-18 2017-06-06 Sandisk Technologies Llc Non-volatile memory with fast read process
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10318381B2 (en) * 2017-03-29 2019-06-11 Micron Technology, Inc. Selective error rate information for multidimensional memory
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
KR20190001417A (ko) * 2017-06-27 2019-01-04 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
KR102326659B1 (ko) * 2017-07-19 2021-11-16 삼성전자주식회사 비휘발성 메모리의 ecc 제어 방법 및 이를 수행하는 메모리 시스템
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
KR20190053646A (ko) * 2017-11-10 2019-05-20 에스케이하이닉스 주식회사 메모리 콘트롤러, 이를 포함하는 반도체 메모리 시스템 및 그 구동 방법
KR102406868B1 (ko) * 2017-11-23 2022-06-10 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US10795810B2 (en) * 2018-09-10 2020-10-06 Micron Technology, Inc. Wear-leveling scheme for memory subsystems
US10978028B2 (en) * 2018-09-17 2021-04-13 Apple Inc. Correction for defective memory of a memory-in-pixel display
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US11237902B2 (en) * 2019-03-15 2022-02-01 Innogrit Technologies Co., Ltd. Systems and methods for an ECC architecture with memory mapping
US12118056B2 (en) 2019-05-03 2024-10-15 Micron Technology, Inc. Methods and apparatus for performing matrix transformations within a memory array
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
KR102687571B1 (ko) 2019-10-31 2024-07-24 에스케이하이닉스 주식회사 메모리 시스템 및 컨트롤러
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
CN113297014B (zh) * 2020-02-22 2024-03-08 广州希姆半导体科技有限公司 待测内存容量的识别方法及装置、电子设备及存储介质
DE102020202632A1 (de) 2020-03-02 2021-09-02 Robert Bosch Gesellschaft mit beschränkter Haftung Inferenzberechnung für neuronale Netzwerke mit Schutz gegen Speicherfehler
EP3936996A4 (en) 2020-04-01 2022-07-06 Changxin Memory Technologies, Inc. READ-WRITE METHOD AND STORAGE DEVICE
EP3985494B1 (en) 2020-04-01 2024-01-17 Changxin Memory Technologies, Inc. Read-write method and memory device
CN113495677B (zh) * 2020-04-01 2023-10-10 长鑫存储技术有限公司 读写方法及存储器装置
CN113495674B (zh) 2020-04-01 2023-10-10 长鑫存储技术有限公司 读写方法及存储器装置
CN113495675B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
EP3964940A4 (en) 2020-04-01 2022-08-17 Changxin Memory Technologies, Inc. READ/WRITE METHOD AND STORAGE DEVICE
CN113495672B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
EP3964941B1 (en) * 2020-04-01 2024-02-28 Changxin Memory Technologies, Inc. Read-write method and memory device
CN113495671B (zh) 2020-04-01 2023-10-17 长鑫存储技术有限公司 读写方法及存储器装置
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
US11656938B2 (en) * 2020-09-28 2023-05-23 Micron Technology, Inc. Preemptive read verification after hardware write back
US11989417B1 (en) * 2022-10-31 2024-05-21 Nxp Usa, Inc. Column repair in a memory system using a repair cache
US12488854B2 (en) * 2023-06-14 2025-12-02 Western Digital Technologies, Inc. Data storage device and method for host-managed data integrity
US20250363044A1 (en) * 2024-05-27 2025-11-27 Mellanox Technologies, Ltd. On-The-Fly Memory Remapping

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974564A (en) * 1997-07-31 1999-10-26 Micron Electronics, Inc. Method for remapping defective memory bit sets to non-defective memory bit sets
US20040024961A1 (en) * 2002-07-31 2004-02-05 Cochran Robert A. Immediately available, statically allocated, full-logical-unit copy with a transient, snapshot-copy-like intermediate stage
US20080049514A1 (en) * 2006-07-20 2008-02-28 Stmicroelectronics S.R.L. Memory device with a managing microprocessor system and an architecture of fail search and automatic redundancy
TW200837550A (en) * 2006-11-21 2008-09-16 Freescale Semiconductor Inc Memory system and method of operation
US20090063914A1 (en) * 2007-08-27 2009-03-05 Comtech Aha Corporation Content-Addressable Memories and State Machines for Performing Three-Byte Matches and Secondary Matches, and for Providing Error Protection
TW200923955A (en) * 2007-09-27 2009-06-01 Atmel Corp Column redundancy RAM for dynamic bit replacement in flash memory

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4335459A (en) * 1980-05-20 1982-06-15 Miller Richard L Single chip random access memory with increased yield and reliability
JP2617026B2 (ja) * 1989-12-22 1997-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害余裕性メモリ・システム
JP2575557B2 (ja) * 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション スーパーコンピユータシステム
US5418796A (en) * 1991-03-26 1995-05-23 International Business Machines Corporation Synergistic multiple bit error correction for memory of array chips
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5465262A (en) * 1994-01-28 1995-11-07 International Business Machines Corporation Method and structure for providing error correction code and automatic parity sensing
JPH0916479A (ja) * 1995-06-29 1997-01-17 Fuji Electric Co Ltd 多機能保護リレー
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5867642A (en) * 1995-08-10 1999-02-02 Dell Usa, L.P. System and method to coherently and dynamically remap an at-risk memory area by simultaneously writing two memory areas
JPH09128302A (ja) * 1995-11-01 1997-05-16 Fujitsu Ltd 不揮発性メモリへのデータアクセス方法
US5764878A (en) * 1996-02-07 1998-06-09 Lsi Logic Corporation Built-in self repair system for embedded memories
US5706292A (en) * 1996-04-25 1998-01-06 Micron Technology, Inc. Layout for a semiconductor memory device having redundant elements
US6006306A (en) * 1997-07-02 1999-12-21 Xylan Corporation Integrated circuit with stage-implemented content-addressable memory cell
TW446955B (en) * 1998-10-30 2001-07-21 Siemens Ag The read/write memory with self-testing device and its associated test method
US6067262A (en) * 1998-12-11 2000-05-23 Lsi Logic Corporation Redundancy analysis for embedded memories with built-in self test and built-in self repair
US6651202B1 (en) * 1999-01-26 2003-11-18 Lsi Logic Corporation Built-in self repair circuitry utilizing permanent record of defects
AU7313600A (en) * 1999-09-17 2001-04-24 Hitachi Limited Storage where the number of error corrections is recorded
US6467048B1 (en) * 1999-10-07 2002-10-15 Compaq Information Technologies Group, L.P. Apparatus, method and system for using cache memory as fail-over memory
US6848070B1 (en) * 1999-11-24 2005-01-25 Intel Corporation Error correcting code scheme
JP4165990B2 (ja) * 1999-12-20 2008-10-15 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法
US6236602B1 (en) * 2000-05-25 2001-05-22 Robert Patti Dynamic configuration of storage arrays
US6941505B2 (en) * 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
US6525966B1 (en) * 2000-12-06 2003-02-25 Advanced Micro Devices, Inc. Method and apparatus for adjusting on-chip current reference for EEPROM sensing
JP4059472B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US7120068B2 (en) * 2002-07-29 2006-10-10 Micron Technology, Inc. Column/row redundancy architecture using latches programmed from a look up table
EP1394810B1 (en) * 2002-08-13 2007-10-10 STMicroelectronics S.r.l. Nonvolatile storage device and self-repair method for the same
US7174440B2 (en) * 2002-10-28 2007-02-06 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
US20050120265A1 (en) * 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
DE102004027423A1 (de) * 2004-06-04 2006-07-20 Infineon Technologies Ag Speicherschaltung mit redundanten Speicherbereichen
KR100622349B1 (ko) * 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
US7519875B2 (en) * 2004-08-20 2009-04-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus for enabling a user to determine whether a defective location in a memory device has been remapped to a redundant memory portion
US7644323B2 (en) * 2004-11-30 2010-01-05 Industrial Technology Research Institute Method and apparatus of build-in self-diagnosis and repair in a memory with syndrome identification
JP2006179101A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd 半導体記憶装置
KR100725390B1 (ko) * 2005-01-06 2007-06-07 삼성전자주식회사 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법
US7346815B2 (en) * 2005-03-31 2008-03-18 Intel Corporation Mechanism for implementing redundancy to mask failing SRAM
US8060774B2 (en) * 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US20070006048A1 (en) * 2005-06-29 2007-01-04 Intel Corporation Method and apparatus for predicting memory failure in a memory system
US7233054B1 (en) * 2005-11-29 2007-06-19 Korea Institute Of Science And Technology Phase change material and non-volatile memory device using the same
US7757135B2 (en) * 2006-09-11 2010-07-13 Mentor Graphics Corporation Method and apparatus for storing and distributing memory repair information
US7661004B2 (en) * 2006-10-30 2010-02-09 Research In Motion Limited Automatic power-up portable electronic device based on time-dependent event
JP4301301B2 (ja) * 2007-02-05 2009-07-22 ソニー株式会社 不揮発性半導体記憶装置およびその管理方法
US20090132876A1 (en) * 2007-11-19 2009-05-21 Ronald Ernest Freking Maintaining Error Statistics Concurrently Across Multiple Memory Ranks
US8195978B2 (en) * 2008-05-16 2012-06-05 Fusion-IO. Inc. Apparatus, system, and method for detecting and replacing failed data storage
KR20100016987A (ko) * 2008-08-05 2010-02-16 삼성전자주식회사 상 변화 메모리를 포함하는 컴퓨팅 시스템
KR101019986B1 (ko) * 2008-10-10 2011-03-09 주식회사 하이닉스반도체 성장 방식에 의해 형성되는 콘택 구조를 절연시키는 절연막을 포함하는 상변화 메모리 소자, 이를 포함하는 반도체 소자, 및 그들의 제조방법
US7996736B2 (en) * 2008-10-26 2011-08-09 Sandisk 3D Llc Bad page marking strategy for fast readout in memory
US7908530B2 (en) * 2009-03-16 2011-03-15 Faraday Technology Corp. Memory module and on-line build-in self-test method thereof for enhancing memory system reliability

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974564A (en) * 1997-07-31 1999-10-26 Micron Electronics, Inc. Method for remapping defective memory bit sets to non-defective memory bit sets
US20040024961A1 (en) * 2002-07-31 2004-02-05 Cochran Robert A. Immediately available, statically allocated, full-logical-unit copy with a transient, snapshot-copy-like intermediate stage
US20080049514A1 (en) * 2006-07-20 2008-02-28 Stmicroelectronics S.R.L. Memory device with a managing microprocessor system and an architecture of fail search and automatic redundancy
TW200837550A (en) * 2006-11-21 2008-09-16 Freescale Semiconductor Inc Memory system and method of operation
US20090063914A1 (en) * 2007-08-27 2009-03-05 Comtech Aha Corporation Content-Addressable Memories and State Machines for Performing Three-Byte Matches and Secondary Matches, and for Providing Error Protection
TW200923955A (en) * 2007-09-27 2009-06-01 Atmel Corp Column redundancy RAM for dynamic bit replacement in flash memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI749691B (zh) * 2019-08-28 2021-12-11 美商美光科技公司 用於內容可定址記憶體之錯誤校正
US11436071B2 (en) 2019-08-28 2022-09-06 Micron Technology, Inc. Error control for content-addressable memory
US11789797B2 (en) 2019-08-28 2023-10-17 Micron Technology, Inc. Error control for content-addressable memory

Also Published As

Publication number Publication date
JP2011040051A (ja) 2011-02-24
CN101937374B (zh) 2015-07-01
TW201126329A (en) 2011-08-01
KR20110001882A (ko) 2011-01-06
DE102010030745A1 (de) 2011-01-05
CN101937374A (zh) 2011-01-05
KR101647845B1 (ko) 2016-08-11
US20100332895A1 (en) 2010-12-30
DE102010030745B4 (de) 2015-02-19
JP5996838B2 (ja) 2016-09-21
US8412987B2 (en) 2013-04-02

Similar Documents

Publication Publication Date Title
TWI484330B (zh) 用以儲存記憶體重新對應資訊之非揮發性記憶體及系統以及其方法
US20100332894A1 (en) Bit error threshold and remapping a memory device
US8161334B1 (en) Externally maintained remap information
US8799717B2 (en) Hardwired remapped memory
US20100332950A1 (en) Bit error threshold and content addressable memory to address a remapped memory device
US8392797B2 (en) Error correcting controller, flash memory chip system, and error correcting method thereof
US10310739B2 (en) Memory management method, memory control circuit unit and memory storage device
US20090172255A1 (en) Wear leveling method and controller using the same
US9141476B2 (en) Method of storing system data, and memory controller and memory storage apparatus using the same
US9165688B2 (en) Apparatuses, systems, devices, and methods of replacing at least partially non-functional portions of memory
US20130262738A1 (en) Page replacement method and memory system using the same
US20220283948A1 (en) Tag size reduction using multiple hash functions
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
US11144380B2 (en) Memory controller and storage device including the same
US10289334B2 (en) Valid data merging method, memory controller and memory storage apparatus
US20150199201A1 (en) Memory system operating method providing hardware initialization
US8738847B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
TWI763050B (zh) 自適應損耗平衡方法及演算法與相關記憶體裝置及設備
CN120010777A (zh) 存储器管理方法与存储装置