TW202135086A - 更新記憶體裝置的方法及儲存設備以及記憶體裝置 - Google Patents

更新記憶體裝置的方法及儲存設備以及記憶體裝置 Download PDF

Info

Publication number
TW202135086A
TW202135086A TW110106050A TW110106050A TW202135086A TW 202135086 A TW202135086 A TW 202135086A TW 110106050 A TW110106050 A TW 110106050A TW 110106050 A TW110106050 A TW 110106050A TW 202135086 A TW202135086 A TW 202135086A
Authority
TW
Taiwan
Prior art keywords
data
time slot
cell
memory device
address
Prior art date
Application number
TW110106050A
Other languages
English (en)
Other versions
TWI755284B (zh
Inventor
野口紘希
Original Assignee
台灣積體電路製造股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/118,843 external-priority patent/US11475929B2/en
Application filed by 台灣積體電路製造股份有限公司 filed Critical 台灣積體電路製造股份有限公司
Publication of TW202135086A publication Critical patent/TW202135086A/zh
Application granted granted Critical
Publication of TWI755284B publication Critical patent/TWI755284B/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/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
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/883Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種在記憶體裝置中執行的更新操作。在記憶體裝置的單元陣列中執行未旋轉位址的更新操作。將執行未旋轉位址的更新操作重複預定次數。在重複執行旋轉了位址的更新操作預定次數之後,在單元陣列中執行旋轉了位址的更新操作。

Description

更新記憶體裝置的方法及儲存設備以及記憶體裝置
半導體記憶體廣泛地用作數位裝置(如個人計算機、蜂窩電話、個人資料助理以及其它類似産品)的儲存介質(storage medium)。以一個位元爲單位的數位資訊儲存在位元單元或儲存單元的二維陣列中。舉例來說,一兆位元記憶體裝置(memory device)包含1024X1024個儲存單元的陣列。實例性一兆位元記憶體裝置中的單個儲存單元可由10位元行位址和10位元列位址選擇。
以下揭露內容提供用於實施所提供主題的不同特徵的許多不同實施例或實例。下文描述組件和布置的特定實例以簡化本揭露。當然,這些僅爲實例且並不希望爲限制性的。舉例來說,在以下描述中,第一特徵在第二特徵上方或第二特徵上的形成可包含第一特徵與第二特徵直接接觸地形成的實施例,且還可包含額外特徵可在第一特徵與第二特徵之間形成以使得第一特徵與第二特徵可不直接接觸的實施例。另外,本揭露可在各種實例中重複參考標號及/或字母。這種重複是出於簡化和清晰的目的,且本身並不指示所論述的各種實施例及/或配置之間的關係。
此外,爲易於描述,可使用如“在……之下”、“在……下方”、“下部”、“在……之上”、“上部”以及類似者的空間相對術語來描述如圖式中所說明的一個元件或特徵與另一元件或特徵的關係。除圖式中所描繪的定向之外,空間相對術語旨在涵蓋裝置在使用或操作中的不同定向。裝置可以其它方式定向(旋轉90度或處於其它定向),且本文中所使用的空間相對描述詞可同樣相應地進行解釋。
記憶體裝置用於儲存半導體裝置和系統中的資訊。動態隨機存取記憶體(dynamic random access memory, DRAM)單元包含開關和電容器。DRAM在切斷電源時不保留資料。非易失性記憶體裝置即使在切斷電源之後也能保留資料。非易失性記憶體裝置的實例包含閃存記憶體、磁隨機存取記憶體(magnetic random access memory, MRAM)、鐵電隨機存取記憶體(ferroelectric random access memory, FRAM)、電阻隨機存取記憶體(resistive random access memory, RRAM)以及相變隨機存取記憶體(phase-change random access memory, PRAM)。MRAM、FRAM、RRAM以及PRAM有時稱爲“新興記憶體”。MRAM使用隧道結處的磁化方向的變化來儲存資料。FRAM使用鐵電性的偏振特性來儲存資料。RRAM使用電阻材料層的電阻變化來儲存資料。PRAM使用由特定材料的相變引起的電阻變化來儲存資料。
儲存在記憶體中的數位資訊可由於各種原因損壞。損壞的一個可能的原因是由於記憶體內部和記憶體外部兩者的環境事件。一個此類外部事件爲粒子撞擊。除了環境事件之外,存在引起位元損壞(故障)的其它原因。非永久或不表示裝置的物理損壞的資料錯誤(如軟錯誤)可由干擾錯誤、輻射效應或熱效應等引起。當位元損壞時,所儲存資訊就會丟失,從而導致系統故障或資料丟失。
本揭露提供一種記憶體更新操作以維持所儲存資訊的準確度。記憶體更新操作或簡稱更新操作爲以下過程:周期性地從記憶體區域讀取資料、檢查資料錯誤、(若檢測到錯誤)校正錯誤以及重寫資料。每個記憶體更新周期會更新記憶體的接續區域,從而以連續周期重複地更新所有單元。一般來說,在進行更新操作時,記憶體可能無法用於正常讀取和寫入操作。
根據一些實施例,本揭露還提供一種優化的更新操作。舉例來說,所揭露技術提供旋轉了位址(address rotation)和未旋轉位址的更新操作。在未旋轉位址的更新操作中,讀取儲存在單元中的資料、檢查錯誤且將所述資料寫回(或重寫)到同一單元。在旋轉了位址的更新操作中,將從一個單元讀取的資料重寫到另一單元,且在重寫所讀取資料時更新所讀取資料的資料位址以指向所述另一單元。在旋轉了位址的更新操作中,由於在執行更新操作時將資料重寫到不同單元且相應地旋轉位址,所以記憶體裝置的儲存單元的寫入次數是平均的。在實例實施例中且在本揭露的以下部分中詳細論述,旋轉了位址的更新操作和未旋轉位址的更新操作以協同方式(即,以預定順序和以預定頻率)執行,以最小化記憶體裝置的重寫數目且優化更新操作的資源利用。
圖1說明根據一些實施例的記憶體裝置100。在一些實例中,記憶體裝置100爲即使在切斷電源之後也能够保留資料的非易失性記憶體裝置。舉例來說,記憶體裝置100可包含閃存記憶體、MRAM、FRAM、RRAM以及PRAM。MRAM使用隧道結處的磁化方向的變化來儲存資料。FRAM使用鐵電性的偏振特性來儲存資料。RRAM使用電阻材料層的電阻變化來儲存資料。 PRAM使用由特定材料的相變引起的電阻變化來儲存資料。然而,在閱讀本揭露之後對本領域的一般技術人員將顯而易見的是,其它類型的記憶體裝置在本揭露的範圍內。
如圖1中所繪示,記憶體裝置100包含單元陣列102、位址解碼器104、讀出放大器(Sense Amplifier, SA)106、觸發器(Flip-flop, FF)108、緩衝器110以及控制器112。控制器112還包含計時器114。在閱讀本揭露之後對本領域的一般技術人員顯而易見的是,記憶體裝置100可包含除了圖1中所繪示的那些組件之外的額外組件。另外,在閱讀本揭露之後對本領域的一般技術人員將顯而易見的是,記憶體裝置100可包含比圖1中所繪示的那些組件更少的組件。
單元陣列102包含布置在多個行和多個列的矩陣中的多個單元。舉例來說,一兆位元記憶體裝置包含具有1024行和1024列的單元陣列,且因此爲1024X1024個單元。多個單元中的每一個配置成在其中儲存資料的位元邏輯“0”或“1”值。多個行中的每一個與字線(例如,WL1、WL2、WL3、WL4等)相關聯。此外,多個行中的每一個包含多個單元的第一多個單元(單元A、單元B、單元C、單元D等)。多個行的一行中的每一個的第一多個單元中的每一個連接到相關聯字線(即,WL1、WL2、WL3、WL4等中的一個)。類似地,單元陣列102的多個列中的每一個與位元線(即,BL1、BL2、BL3、BL4等)相關聯。此外,多個列中的每一個包含多個位元單元的第二多個位元單元。多個列的一列的第二多個位元單元中的每一個連接到相關聯位元線(即,BL1、BL2、BL3、BL4等中的一個)。
位址解碼器104連接到單元陣列102。位址解碼器104可操作以選擇多個字線中的一個(即,WL1、WL2、WL3、WL4等中的一個)且將所選擇字線充電到預定電壓電平,以用於在與所選擇字線相關聯的第一多個單元上進行讀取和寫入操作。具有1024X1024個單元的實例一兆位元記憶體裝置中的單個儲存單元可由10位元行位址和10位元列位址選擇。在一些實例中,位址解碼器104也被稱爲字線驅動器。
讀出放大器106連接到單元陣列102且可操作以從單元陣列102讀取資料或將資料寫入到單元陣列102中。舉例來說,讀出放大器106可操作以感測位元線中的電流,且將所感測電流與參考電流進行比較以從單元陣列102讀取資料或將資料寫入到單元陣列102中。讀出放大器106可與位元線的預定數目(例如,四個位元線、八個位元線等)相關聯。與每個讀出放大器108相關聯的位元線的預定數目也被稱爲字。觸發器108連接到讀出放大器106且可操作以保留從單元陣列102讀取的資料或待寫入到單元陣列102中的資料。緩衝器110可操作以暫時儲存與單元陣列102相關聯的資料。儘管圖1的記憶體裝置100顯示爲僅包含一個讀出放大器,但對本領域一般技術人員將顯而易見的是,記憶體裝置100可包含超過一個讀出放大器和觸發器。
控制器112連接到單元陣列102且可操作以對單元陣列102執行更新操作。舉例來說,控制器112對單元陣列102啓動且執行更新操作。控制器112在預定時間段之後重複更新操作。舉例來說,控制器112在每20毫秒、200毫秒、2秒等之後重複更新操作。更新操作的預定時間段由計時器114提供。控制器112可包含:記憶體裝置(storage device),用以儲存更新操作的指令;以及一個或多個處理器,其實行所儲存指令以執行且管理更新操作。用以儲存指令的記憶體裝置可包含非晶體管計算機可讀介質。
在實例實施例中,控制器112可呈單獨芯片的形式。在一個實例中,控制器112與記憶體裝置100集成。在另一實例中,控制器112在母板上實施且在微處理器上形成集成記憶體控制器(integrated memory controller, IMC)以潜在地减小記憶體延遲。控制器112尤其包含錯誤校正碼(error correcting code, ECC)電路(圖中未繪示)。ECC電路配置成對儲存在單元陣列102中的資料執行錯誤檢查。舉例來說,ECC電路配置成檢測且校正儲存在單元陣列102的多個單元中的資料錯誤。在一些實例中,ECC電路可包含用以檢測錯誤的錯誤檢測模塊以及用以校正所檢測到的錯誤的錯誤校正模塊。
圖2爲根據一些實施例的用於在記憶體裝置100中執行更新操作的方法200的流程圖。執行更新操作以校正記憶體裝置100中所儲存資訊的錯誤。在一些實例中,方法200通過控制器112或參考本揭露的圖6所描述的處理系統執行。在其它實例中,方法200可作爲指令儲存在控制器112或處理器可存取的記憶體裝置中。所儲存指令可由控制器112或處理器實行以執行方法200。用以儲存指令的記憶體裝置可包含非晶體管計算機可讀介質。
在方法200的框210處,執行未旋轉位址的更新操作。舉例來說,在記憶體裝置100的單元陣列102或單元陣列102的一部分中執行未旋轉位址的更新操作。可對單元陣列102的多個單元中的每一個或單元陣列102的多個單元的一部分執行未旋轉位址的更新操作。在實例中,控制器112或處理器可操作以在單元陣列102中執行未旋轉位址的更新操作。參考本揭露的圖3更詳細地論述未旋轉位址的更新操作。
在方法200的框220處,重複執行未旋轉位址的更新操作預定次數。舉例來說,將未旋轉位址的更新操作重複三次、五次、十次、十五次、二十次等。可在更新操作期間預定且修改重複的數目。在一些實例中,控制器112或處理器可操作以在單元陣列102中重複執行未旋轉位址的更新操作。舉例來說,控制器112可配置成在單元陣列102中重複未旋轉位址的更新操作預定次數。
在方法200的框230處,在重複執行未旋轉位址的更新操作預定次數之後,執行旋轉了位址的更新操作。舉例來說,在將未旋轉位址的更新操作重複五次、十次、二十次等之後,在單元陣列102或單元陣列102的一部分中執行旋轉了位址的更新操作。在一些實例中,控制器112或處理器可操作以在單元陣列102中執行旋轉了位址的更新操作。參考本揭露的圖4更詳細地論述旋轉了位址的更新操作。
儘管方法200說明在執行未旋轉位址的更新操作預定次數之後執行旋轉了位址的更新操作,但在閱讀本揭露之後,對本領域的一般技術人員將顯而易見的是,旋轉了位址的更新操作可在不執行未旋轉位址的更新操作的情况下執行。即,旋轉了位址的更新操作可獨立於未旋轉位址的更新操作而執行,以校正記憶體裝置100中所儲存資訊的錯誤。類似地,未旋轉位址的更新操作可獨立於旋轉了位址的更新操作而執行,以校正記憶體裝置100中所儲存資訊的錯誤。
圖3爲根據一些實施例的用於在記憶體裝置中執行在未旋轉位址的情况下操作的更新的方法的流程圖300。執行未旋轉位址的更新操作以校正記憶體裝置100中所儲存資訊的錯誤。在未旋轉位址的更新操作中,讀取儲存在單元中的資料、檢查錯誤且將所述資料寫回(或重寫)到同一單元。在一些實例中,方法300通過控制器112或參考本揭露的圖6所描述的處理系統執行。在其它實例中,方法300可作爲指令儲存在控制器112或處理器可存取的記憶體裝置中。所儲存指令可通過控制器112或處理器實行以執行方法300。用以儲存指令的記憶體裝置可包含非晶體管計算機可讀介質。
在方法300的框310處,讀取儲存在第一單元中的第一資料。在第一時槽中讀取第一資料。舉例來說,在第一時槽中讀取儲存在記憶體裝置102的單元陣列100的單元中的第一資料。在實例中,位址解碼器104選擇第一字線(WL1)且對所述第一字線(WL1)進行充電,且讀出放大器106使用位元線BL1而從單元A讀取第一資料。讀出放大器106爲觸發器108提供第一資料。
在方法300的框320處,對第一資料執行錯誤檢查。在錯誤檢查期間,確定第一資料是否損壞。如果發現第一資料損壞,那麽校正第一資料。在實例實施例中,錯誤校正碼(ECC)方案用於執行錯誤檢查。通過控制器112的ECC電路執行錯誤檢查。在第二時槽中對第一資料執行錯誤檢查。第二時槽在第一時槽之後。舉例來說,第二時槽爲第一時槽之後的下一時槽。
在實例實施例中,ECC方案通過産生ECC檢查位元(例如,冗餘位元或奇偶校驗位元)來對資料進行編碼,所述ECC檢查位元與資料一起儲存在記憶體裝置100內。資料位元和檢查(例如,奇偶校驗)位元一起形成碼字。舉例來說,産生64位元資料的8個奇偶校驗位元的ECC可通常檢測兩個位元錯誤且校正64位元資料中的一個位元錯誤,被稱爲DED/SEC碼,意思是雙重錯誤檢測(double-error detecting, DED)以及單個錯誤校正(single-error correcting, SEC)。然而,在閱讀本揭露之後對本領域的一般技術人員將顯而易見的是可採用其它錯誤校正方案,如在又另一實例中,單個錯誤檢測(single-error detecting, SED)和單個錯誤校正(SEC)、單個錯誤檢測(SED)和雙重錯誤校正(double-error correcting, DEC)、雙重錯誤檢測(DED)和雙重錯誤校正(DEC)、三重錯誤檢測(triple-error detecting, TED)和三重錯誤校正(triple-error correcting, TEC)等。
在方法300的框330處,在執行錯誤檢查之後,將第一資料寫回到第一單元。舉例來說,將第一資料重寫入單元陣列102的單元A中。重寫的工藝校正儲存在單元陣列102的單元A中的第一資料。在第三時槽中將第一資料重寫入單元A中。第三時槽在第二時槽之後。舉例來說,第三時槽爲第二時槽之後的下一時槽。
爲連接到與讀出放大器106相關聯的第一字線WL1的每一單元重複框310、320以及330的步驟。舉例來說,在方法300的框340處,在第四時槽中讀取儲存在連接到第一字線WL1的第二單元中的第二資料。即,在第四時槽中讀取儲存在單元陣列102的單元B中的第二資料。在實例中,讀出放大器106從單元B讀取第二資料。讀出放大器106爲觸發器108提供第一資料。第四時槽在第三時槽之後。舉例來說,第四時槽爲第三時槽之後的下一時槽。
在方法300的框350處,對從單元B讀取的第二資料執行錯誤檢查。錯誤檢查包含(如果存在)確定第二資料的錯誤以及(如果存在)校正所述錯誤。通過控制器112的ECC電路執行錯誤檢查。在第五時槽中對第二資料執行錯誤檢查。第五時槽在第四時槽之後。舉例來說,第五時槽爲第四時槽之後的下一時槽。
在方法300的框360處,在對第二資料執行錯誤檢查之後,將第二資料重寫入第二單元中。舉例來說,將第二資料重寫入單元陣列102的單元B中。重寫的工藝校正儲存在單元陣列102的單元B中的第二資料。在第六時槽中將第二資料重寫入單元B中。第六時槽在第五時槽之後。舉例來說,第六時槽爲第五時槽之後的下一時槽。
在實例實施例中,方法300繼續讀取儲存在單元C和單元D中的資料,對資料執行錯誤檢查且在與第一字線WL1和讀出放大器106相關聯的連續時槽(圖中未繪示)中將資料分別重寫回到單元C和單元D。在對單元A 、單元B、單元C以及單元D執行未旋轉位址的更新操作之後,方法300繼續對與第一字線WL1和另一讀出放大器相關聯的單元、接著對連接到第二字線WL2和讀出放大器106的單元等執行未旋轉位址的更新操作。在實例實施例中,範圍或覆蓋範圍由控制器112預定和控制。另外,在計時器114期滿之後,對單元陣列102重複未旋轉位址的更新操作。因此,執行未旋轉位址的更新操作的順序是可配置的且由控制器112控制。另外,執行未旋轉位址的更新操作的頻率也是可配置的且由控制器112控制。
圖4爲根據一些實施例的用於在記憶體裝置100中執行旋轉位址的更新操作的方法的流程圖400。執行旋轉了位址的更新操作以校正記憶體裝置100中所儲存資訊的錯誤。在旋轉了位址的更新操作中,將從一個單元讀取的資料重寫到另一單元,且在重寫所讀取資料時更新所讀取資料的資料位址以指向另一單元。在一些實例中,方法400通過控制器112或參考本揭露的圖6所描述的處理系統執行。在其它實例中,方法400可作爲指令儲存在控制器112或處理器可存取的記憶體裝置中。所儲存指令可通過控制器112或處理器實行以執行方法400。用以儲存指令的記憶體裝置可包含非晶體管計算機可讀介質。
在方法400的框410處,讀取第一資料。第一資料是從單元陣列102的第一單元讀取且在第一時槽中讀取。舉例來說,在第一時槽中讀取儲存在第一單元(即,單元A)中的第一資料,所述第一單元連接到單元陣列102的第一字線(即,WL1)和第一位元線(即,BL1)。第一時槽大致等於時鐘周期。第一資料由讀出放大器106讀取且在觸發器108中提供。
在方法400的框420a處,對第一資料執行錯誤檢查。錯誤檢查包含確定第一資料是否損壞。如果發現第一資料損壞,那麽校正第一資料。通過控制器112的ECC電路執行錯誤檢查。在實例實施例中,在執行錯誤檢查之後,將第一資料儲存在緩衝器110中。在第二時槽中對第一資料執行錯誤檢查。第二時槽在第一時槽之後。舉例來說,第二時槽爲第一時槽之後的下一時槽。
在實例實施例中,錯誤校正碼(ECC)方案用於執行錯誤檢查。ECC方案通過産生ECC檢查位元(例如,冗餘位元或奇偶校驗位元)來對資料進行編碼,所述ECC檢查位元與資料一起儲存在記憶體裝置100內。資料位元和檢查(例如,奇偶校驗)位元一起形成碼字。舉例來說,産生64位元資料的8個奇偶校驗位元的ECC可通常檢測兩個位元錯誤且校正64位元資料中的一個位元錯誤,被稱爲DED/SEC碼,意思爲雙重錯誤檢測(DED)以及單個錯誤校正(SEC)。
在方法400的框420b處,讀取第二資料。在第二時槽中從單元陣列102的第二單元讀取第二資料。舉例來說,在第二時槽中讀取儲存在第二單元(即,單元B)中的第二資料,所述第二單元連接到記憶體裝置100的單元陣列102的第一字線(即,WL1)和第二位元線(即,BL2)。即,讀取第二資料與在第二時槽中對第一資料執行錯誤檢查同時進行。換句話說,讀取第二資料與在第二時槽中對第一資料執行錯誤檢查並行。第二時槽在第一時槽之後。舉例來說,第二時槽爲第一時槽之後的下一時槽。第二資料由讀出放大器106讀取且提供給觸發器108。
在方法400的框430a處,對第二資料執行錯誤檢查。錯誤檢查包含確定第二資料是否損壞。如果發現第二資料損壞,那麽校正第二資料。通過控制器112的ECC電路執行錯誤檢查。在實例實施例中,在執行錯誤檢查之後,將第二資料儲存在緩衝器110中。在第三時槽中對第二資料執行錯誤檢查。第三時槽在第二時槽之後。舉例來說,第三時槽爲第二時槽之後的下一時槽。
在方法400的框430b處,寫入第一資料。在實例實施例中,將第一資料寫回單元陣列102的另一單元中。舉例來說,將第一資料寫入單元陣列102的第二單元(即,單元B)中。重寫第一資料的工藝校正第一資料。將第一資料寫入到第二單元(即,單元B)之後,將第一資料的位址旋轉到第二單元(即,單元B)。在一些實例中,可將第一資料寫入到與第一字線WL1和讀出放大器106相關聯的單元C或單元D。通過讀出放大器106將第一資料從緩衝器110寫入到第二單元(即,單元B)。寫入第一資料與在第三時槽中對第二資料執行錯誤檢查實質上同時。換句話說,寫入第一資料與在第三時槽中對第二資料執行錯誤檢查並行。第三時槽在第二時槽之後。舉例來說,第三時槽爲第二時槽之後的下一時槽。
在方法400的框440處,讀取第三資料。在第四時槽中從單元陣列102的第三單元讀取第三資料。舉例來說,在第四時槽中讀取儲存在第三單元(即,單元C)中的第三資料,所述第三單元連接到單元陣列102的第一字線(即,WL1)和第三位元線(即,BL3)。第四時槽在第三時槽之後。第四時槽大致等於時鐘周期。第三資料由讀出放大器106讀取且在觸發器108中提供。
在方法400的框450a處,對第三資料執行錯誤檢查。錯誤檢查包含確定第三資料是否損壞。如果發現第三資料損壞,那麽校正第三資料。通過控制器112的ECC電路執行錯誤檢查。在執行錯誤檢查之後,將第三資料儲存在緩衝器110中。在第五時槽中對第三資料執行錯誤檢查。第五時槽在第四時槽之後。舉例來說,第五時槽爲第四時槽之後的下一時槽。
在方法400的框450b處,寫入第二資料。在實例實施例中,將第二資料寫入單元陣列102的另一單元中。舉例來說,將第二資料寫入單元陣列102的第三單元(即,單元C)中。重寫第二資料的工藝校正第二資料。將第二資料寫入到第三單元之後,將第二資料的位址旋轉到第三單元。在一些實例中,可將第二資料寫入到單元D代替單元C。通過讀出放大器106將第二資料從緩衝器110寫入到第三單元(即,單元C)。在實例實施例中,寫入第二資料與在第五時槽中對第三資料執行錯誤檢查實質上同時。換句話說,寫入第二資料與在第五時槽中對第三資料執行錯誤檢查並行。
在方法400的框460處,讀取第四資料。在第六時槽中從單元陣列102的第四單元讀取第四資料。舉例來說,讀取儲存在第四單元(即,單元D)中的第四資料,所述第四單元連接到記憶體裝置100的單元陣列102的第一字線(即,WL1)和第四位元線(即,BL4)。第四資料由讀出放大器106讀取且提供給觸發器108。在第六時槽中讀取第四資料。第六時槽在第五時槽之後。舉例來說,第六時槽爲第五時槽之後的下一時槽。
在方法400的框470a處,對第四資料執行錯誤檢查。錯誤檢查包含確定第四資料是否損壞。如果發現第四資料損壞,那麽校正第四資料。通過控制器112的ECC電路執行錯誤檢查。在執行錯誤檢查之後,將第四資料儲存在緩衝器110中。在第七時槽中對第四資料執行錯誤檢查。第七時槽在第六時槽之後。舉例來說,第七時槽爲第六時槽之後的下一時槽。
在方法400的框470b處,寫入第三資料。在實例實施例中,將第三資料寫入單元陣列102的另一單元中。舉例來說,將第三資料寫入單元陣列102的第四單元(即,單元D)中。重寫第三資料的工藝校正第三資料。將第三資料寫入到第四單元之後,將第三資料的位址旋轉到第四單元。通過讀出放大器106將第二資料從緩衝器110寫入到第四單元(即,單元D)。在實例實施例中,寫入第三資料與在第七時槽中對第四資料執行錯誤檢查實質上同時。換句話說,寫入第三資料與在第七時槽中對第四資料執行錯誤檢查並行。
在方法400的框480處,寫入第四資料。在實例實施例中,將第四資料寫回單元陣列102的另一單元中。舉例來說,將第四資料重寫單元陣列102的第一單元(即,單元A)中。重寫第四資料的工藝校正第四資料。將第四資料寫入到第一單元之後,將第四資料的位址旋轉到第一單元。通過讀出放大器106將第四資料從緩衝器110寫入到第一單元(即,單元A)。在第八時槽中重寫第四資料。第八時槽在第七時槽之後。舉例來說,第八時槽爲第七時槽之後的下一時槽。
因此,在實例實施例中,與使用方法300(即,未旋轉位址的更新操作)相比,使用方法400(即,旋轉了位址的更新操作),連接到第一字線(即,WL1)和讀出放大器106(即,單元A、單元B、單元C以及單元D)的單元以更少的時槽數目更新。另外,在旋轉了位址的更新操作中,由於每次更新操作都會將儲存資料旋轉到不同單元,所以相同儲存資料不會由於單元故障而多次損壞。這减小單元陣列102的重寫的數目,因此改善更新操作的資源利用。
在實例實施例中,在對單元A、單元B、單元C以及單元D執行旋轉了位址的更新操作之後,方法400繼續對單元陣列102的其它單元執行旋轉了位址的更新操作。舉例來說,方法400繼續對連接到第二字線(即,WL2)的下一組單元、連接到第一字線(即,WL1)和另一讀出放大器的下一組單元執行旋轉了位址的更新操作。在實例中,執行旋轉了位址的更新操作的順序可爲預定的且可由控制器112控制。另外,執行未旋轉位址的更新操作的頻率也可爲預定的且由控制器112控制。舉例來說,在計時器114期滿下對單元陣列102的多個單元重複旋轉了位址的更新操作。在一些實例中,旋轉了位址的更新操作在執行預定數目的未旋轉位址的更新操作之後執行。
圖5A說明根據一些實施例的用於執行未旋轉位址的更新操作的實例工藝流程500。更新操作以單元陣列102的所選擇單元開始。舉例來說,且如圖5A中所繪示,在第一時槽中,讀取來自單元陣列102的單元A的資料。在第一時槽中從單元A讀取資料之後,在第二時槽中對從單元A讀取的資料執行錯誤檢查(箭頭502)。在第二時槽中執行錯誤檢查之後,在第三時槽中將從單元A讀取的資料寫回到單元A(箭頭504)。
在將資料重寫單元A中之後,工藝流程500繼續下一單元。舉例來說,且如圖5A中所繪示,在第四時槽中,讀取儲存在單元陣列102的單元B中的資料。在第四時槽中從單元B讀取資料之後,在第五時槽中對從單元B讀取的資料執行錯誤檢查(箭頭506)。在第五時槽中執行錯誤檢查之後,在第六時槽中將從單元B讀取的資料寫回到單元B(箭頭508)。
在將資料重寫單元B中之後,工藝流程500繼續下一單元。舉例來說,且如圖5中所繪示,在第七時槽中,讀取儲存在單元C中的資料。在第七時槽中從單元C讀取資料之後,在第八時槽中對從單元C讀取的資料執行錯誤檢查(箭頭510)。在第八時槽中執行錯誤檢查之後,在下一時槽(例如,第九時槽(圖中未繪示))中將從單元C讀取的資料寫回到單元C。工藝流程500可繼續直到重寫單元陣列102的所選擇單元中的每一個爲止。另外,可在從最後一次更新操作起的預定時間量之後重複工藝500。
圖5B說明根據一些實施例的用於執行旋轉了位址的更新操作的實例工藝流程550。旋轉了位址的更新操作以單元陣列102的所選擇單元開始。舉例來說,且如圖5B中所繪示,在第一時槽中,讀取來自單元陣列102的單元A的資料。在第一時槽中從單元A讀取資料之後,在第二時槽中讀取來自下一單元(即,單元B)的資料。另外,與從單元B讀取資料實質上同時,在第二時槽中對從單元A讀取的資料執行錯誤檢查(箭頭552)。即,在第二時槽中並行地執行從單元B讀取資料以及對從單元A讀取的資料執行錯誤檢查。
在第二時槽中並行地從單元B讀取資料以及對從單元A讀取的資料執行錯誤檢查之後,在第三時槽中將從單元A讀取的資料寫入到單元陣列102另一單元(例如,單元B) (箭頭554)。另外,與將從單元A讀取的資料重寫到單元B實質上同時,在第三時槽中對從單元B讀取的資料執行錯誤檢查(箭頭556)。即,在第三時槽中並行地執行重寫從單元A讀取的資料以及對從單元B讀取的資料執行錯誤檢查。
在重寫從單元A讀取的資料以及對從單元B讀取的資料執行錯誤檢查之後,工藝流程550繼續單元陣列102的下一單元。舉例來說,且如圖5B中所繪示,在第四時槽中,讀取儲存在單元陣列102的單元C中的資料。在第四時槽中從單元C讀取資料之後,在第五時槽中將從單元B讀取的資料寫入到單元陣列102的另一單元(例如,單元C) (箭頭558)。另外,與重寫從單元B讀取的資料實質上同時進行,在第五時槽中對從單元C讀取的資料執行錯誤檢查(箭頭560)。即,在第五時槽中並行地執行重寫從單元B讀取的資料以及對從單元C讀取的資料執行錯誤檢查。
在重寫從單元B讀取的資料以及對從單元C讀取的資料執行錯誤檢查之後,工藝流程550繼續單元陣列102的下一單元。舉例來說,且如圖5B中所繪示,在第六時槽中,讀取儲存在單元陣列102的單元D中的資料。在第六時槽中從單元D讀取資料之後,在第七時槽中將從單元C讀取的資料寫入到單元陣列102的另一單元(例如,單元D) (箭頭562)。另外,與重寫從單元C讀取的資料實質上同時進行,在第七時槽中對從單元D讀取的資料執行錯誤檢查(箭頭564)。即,在第七時槽中並行地執行重寫從單元C讀取的資料以及對從單元D讀取的資料執行錯誤檢查。
在對從單元D讀取的資料執行錯誤檢查與重寫從單元C讀取的資料並行進行之後,在第八時槽中,將從單元D讀取的資料寫入到另一單元(即,單元A) (箭頭566)。在實例實施例中,可根據需要修改旋轉模式。舉例來說,從單元A讀取的資料可旋轉到單元C,從單元B讀取的資料可旋轉到單元D等。它不限於此。
圖6爲說明根據本文中所揭露的一些實施例的處理系統600的實例的框圖。處理系統600可用於根據本文中所論述的各種工藝來實施記憶體更新操作。處理系統600包含處理單元610,如臺式計算機、工作站、膝上型計算機、定制用於特定應用的專用單元、智能手機或平板計算機等。處理系統600可配備有顯示器614和一或多個輸入/輸出裝置612,如鼠標、鍵盤、觸摸屏、打印機等。處理單元610還包含中央處理單元(central processing unit, CPU)620、記憶體裝置622、大容量記憶體裝置624、視頻適配器626以及連接到總線630的I/O接口628。
總線630可爲包含記憶體總線或記憶體控制器、外圍總線或視頻總線的任何類型的若干總線架構中的一或多個。CPU 620可包括任何類型的電子資料處理器,且記憶體裝置622可包括任何類型的系統記憶體,如靜態隨機存取記憶體(static random access memory, SRAM)、動態隨機存取記憶體(DRAM)或只讀記憶體(read-only memory, ROM)。
大容量記憶體裝置624可包括任何類型的記憶體裝置,所述記憶體裝置配置成儲存資料、程序以及其它資訊,且配置成使得資料、程序以及其它資訊可經由總線630存取。大容量記憶體裝置624可包括例如硬碟驅動器、磁碟驅動器、光盤驅動器、閃存記憶體或類似者中的一或多個。
如本文中所使用的術語計算機可讀介質可包含如系統記憶體和上述記憶體裝置的計算機儲存介質。計算機儲存介質可包含以任何方法或技術實施以用於儲存如計算機可讀指令、資料結構或程序模塊的資訊的易失性和非易失性、可移動和不可移動介質。記憶體裝置622和大容量記憶體裝置624爲計算機儲存介質實例(例如,記憶體儲存)。
計算機儲存介質可包含RAM、ROM、電可擦除只讀記憶體(electrically erasable read-only memory, EEPROM)、閃存記憶體或其它記憶體技術、CD-ROM、數位通用光盤(digital versatile disk, DVD)或其它光學記憶體、盒式磁帶、磁帶、磁碟記憶體或其它磁性記憶體裝置或可用於儲存資訊以及可由處理裝置600存取的任何其它製品。任何此類計算機儲存介質可爲處理裝置600的部分。計算機儲存介質不包含載波或其它傳播或調變資料信號。
通信介質可通過計算機可讀指令、資料結構、程序模塊或其它資料在如載波或其它傳輸機制的調製資料信號中體現,且包含任何資訊傳遞介質。術語“調製資料信號”可描述具有一或多個特徵組或以使得編碼信號中的資訊的方式改變的信號。借助於實例而非限制,通信介質可包含有線介質,如有線網路或直接有線連接;以及無線介質,如聲學、射頻(radio frequency, RF)、紅外以及其它無線介質。
視頻適配器626和輸入輸出(Input output, I/O)接口(Interface, I/F)628提供接口以將外部輸入以及輸出裝置耦合到處理單元610。如圖6中所示出,輸入裝置和輸出裝置的實例包含耦合到視頻適配器626的顯示器614以及耦合到I/O接口628的如鼠標、鍵盤、打印機以及類似者的I/O裝置612。其它裝置可耦合到處理單元610,且可利用額外或較少的接口卡。舉例來說,串行接口卡(圖中未繪示)可用於提供用於打印機的串行接口。處理單元610還可包含網路接口640,所述網路接口可爲有線鏈路到局域網(local area network, LAN)或廣域網(wide area network, WAN)616的有線鏈路及/或無線鏈路。
處理系統600的實施例可包含其它組件。舉例來說,處理系統600可包含電源供應、電纜、母板、可移動儲存介質、機箱以及類似者。這些其它組件(儘管圖中未繪示)應視爲處理系統600的部分。
在一些實例中,通過CPU 620實行指令或軟體代碼以執行更新操作。指令或軟體代碼可由CPU 620經由總線630從記憶體裝置622、大容量記憶體裝置624或類似者,或遠程通過網路接口640來存取。此外,在一些實例中,可根據通過軟體代碼來實施的各種方法和工藝而通過I/O接口628來接收更新操作指令及/或將更新操作指令儲存在記憶體裝置622或大容量記憶體裝置624中。
根據實例實施例,一種更新記憶體裝置的方法包括:在第一時槽中讀取儲存在單元陣列的第一單元中的第一資料;在第二時槽中對第一資料執行錯誤檢查;與在第二時槽中對第一資料執行錯誤檢查實質上同時,讀取儲存在單元陣列的第二單元中的第二資料;在第三時槽中對第二資料執行錯誤檢查;以及與在第三時槽中對第二資料執行錯誤檢查實質上同時,將第一資料寫入到第二單元。
在本揭露的實例實施例中,一種儲存設備包括:記憶體裝置;以及處理器,連接到記憶體裝置,其中處理器可操作以:在單元陣列中執行未旋轉位址的更新操作;以及在執行未旋轉位址的更新操作之後,在單元陣列中執行旋轉了位址的更新操作。
根據實例實施例,一種記憶體裝置包括:單元陣列;讀出放大器,連接到單元陣列;緩衝器,連接到讀出放大器;以及控制器,連接到單元陣列,其中控制器可操作以:在單元陣列中執行未旋轉位址的更新操作;重複執行未旋轉位址的更新操作預定次數;以及在重複執行旋轉了位址的更新操作預定次數之後,在單元陣列中執行旋轉了位址的更新操作。
本揭露概述各種實施例以使得本領域的技術人員可更好地理解本發明的各方面。本領域的技術人員應瞭解,其可易於使用本揭露作爲設計或修改用於進行本文中所介紹的實施例的相同目的及/或實現相同優點的其它工藝和結構的基礎。本領域的技術人員還應認識到,此類等效構造並不脫離本揭露的精神和範圍,且其可在不脫離本揭露的精神和範圍的情况下在本文中進行各種改變、替代和更改。
100:記憶體裝置 102:單元陣列 104:位址解碼器 106:讀出放大器 108:觸發器 110:緩衝器 112:控制器 114:計時器 200:方法 210、220、230、310、320、330、340、350、360、410、420a、420b、430a、430b、440、450a、450b、460、470a、470b、480:框 300、400:流程圖 500、550、552、554、556、558、560、562、564、566:實例工藝流程 502、504、506、508、510:箭頭 600:處理系統 610:處理單元 612:輸入/輸出裝置 614:顯示器 616:局域網或廣域網 620:中央處理單元 622:記憶體裝置 624:大容量記憶體裝置 626:視頻適配器 628:輸入/輸出接口 630:總線 640:網路接口 A、B、C、D:單元 BL:位元線 ECC:錯誤校正碼 WL:字線。
當結合附圖閱讀時從以下詳細描述最好地理解本揭露的各方面。應注意,根據業界中的標準慣例,各種特徵未按比例繪製。實際上,爲了論述清楚起見,可任意增大或减小各種特徵的尺寸。另外,圖式作爲本發明的實施例的實例爲說明性的且並不希望進行限制。 圖1爲根據一些實施例的記憶體裝置的圖。 圖2爲根據一些實施例的用於執行在記憶體裝置中操作的更新的方法的流程圖。 圖3爲根據一些實施例的用於執行未旋轉位址的更新操作的方法的流程圖。 圖4爲說明根據一些實施例的用於執行旋轉了位址的更新操作的方法的流程圖。 圖5A說明根據一些實施例的用於執行未旋轉位址的更新操作的方法的工藝流程。 圖5B說明根據一些實施例的用於執行旋轉了位址的更新操作的方法的工藝流程。 圖6爲說明根據一些實施例的處理系統的實例的框圖。
200:方法
210、220、230:框

Claims (20)

  1. 一種更新記憶體裝置的方法,包括: 在第一時槽中讀取儲存在單元陣列的第一單元中的第一資料; 在第二時槽中對所述第一資料執行錯誤檢查; 與在所述第二時槽中對所述第一資料執行所述錯誤檢查實質上同時,讀取儲存在所述單元陣列的第二單元中的第二資料; 在第三時槽中對所述第二資料執行所述錯誤檢查;以及 與在所述第三時槽中對所述第二資料執行所述錯誤檢查實質上同時,將所述第一資料寫入到所述第二單元。
  2. 根據請求項1所述的更新記憶體裝置的方法,更包括:在對所述第一資料執行所述錯誤檢查之後,將所述第一資料儲存在緩衝器中。
  3. 根據請求項1所述的更新記憶體裝置的方法,其中對所述第一資料執行所述錯誤檢查包括: 確定所述第一資料損壞;以及 響應於確定所述第一資料損壞而校正所述第一資料。
  4. 根據請求項1所述的更新記憶體裝置的方法,更包括: 在第四時槽中讀取儲存在第三單元中的第三資料。
  5. 根據請求項4所述的更新記憶體裝置的方法,更包括: 在第五時槽中對所述第三資料執行所述錯誤檢查;以及 與在所述第五時槽中對所述第三資料執行所述錯誤檢查實質上同時,將所述第二資料寫入到所述第三單元。
  6. 根據請求項5所述的更新記憶體裝置的方法,更包括: 在第六時槽中讀取儲存在第四單元中的第四資料。
  7. 根據請求項6所述的更新記憶體裝置的方法,更包括: 在第七時槽中對所述第四資料執行所述錯誤檢查;以及 與在所述第七時槽中對所述第四資料執行所述錯誤檢查實質上同時,將所述第三資料寫入到所述第四單元。
  8. 根據請求項7所述的更新記憶體裝置的方法,其中所述第一時槽、所述第二時間、所述第三時槽、所述第四時槽、所述第五時槽、所述第六時槽以及所述第七時槽爲連續時槽。
  9. 根據請求項7所述的更新記憶體裝置的方法,其中所述第一單元、所述第二單元、所述第三單元以及所述第四單元連接到所述單元陣列的第一字線,且其中所述第一單元連接到第一位線,所述第二單元連接到第二位元線,所述第三單元連接到第三位元線且所述第四單元連接到第四位元線。
  10. 一種儲存設備,包括: 記憶體裝置;以及 處理器,連接到所述記憶體裝置,其中所述處理器可操作以: 在單元陣列中執行未旋轉位址的更新操作,以及 在執行未旋轉位址的所述更新操作之後,在所述單元陣列中執行旋轉了位址的更新操作。
  11. 根據請求項10所述的設備,其中所述控制器可操作以執行未旋轉位址的所述更新操作包括所述控制器可操作以: 在第一時槽中讀取儲存在所述單元陣列的第一單元中的第一資料; 在第二時槽中對所述第一資料執行錯誤檢查;以及 在執行所述錯誤檢查之後,在第三時槽中將所述第一資料寫入到所述第一單元。
  12. 根據請求項11所述的設備,其中所述處理器進一步可操作以: 在第四時槽中讀取儲存在所述單元陣列的第二單元中的第二資料; 在第五時槽中對所述第二資料執行所述錯誤檢查;以及 在執行所述錯誤檢查之後,在第六時槽中將所述第二資料寫入到所述第二單元。
  13. 根據請求項10所述的設備,其中所述處理器可操作以執行旋轉了位址的所述更新操作包括所述處理器可操作以: 在第一時槽中讀取儲存在所述單元陣列的第一單元中的第一資料; 在第二時槽中對所述第一資料執行錯誤檢查; 與在所述第二時槽中對所述第一資料執行所述錯誤檢查實質上同時,讀取儲存在所述單元陣列的第二單元中的第二資料; 在第三時槽中對所述第二資料執行所述錯誤檢查;以及 與在所述第三時槽中對所述第二資料執行所述錯誤檢查實質上同時,將所述第一資料寫入到所述第二單元。
  14. 根據請求項13所述的設備,其中所述處理器進一步可操作以: 在第四時槽中讀取儲存在第三單元中的第三資料。
  15. 根據請求項13所述的設備,其中所述處理器進一步可操作以: 在第五時槽中對所述第三資料執行所述錯誤檢查;以及 與在所述第三時槽中對所述第三資料執行所述錯誤檢查實質上同時,將所述第二資料寫入到所述第三單元。
  16. 根據請求項15所述的設備,其中所述第一時槽、所述第二時間、所述第三時槽、所述第四時槽以及所述第五時槽爲連續時槽。
  17. 一種記憶體裝置,包括: 單元陣列; 讀出放大器,連接到所述單元陣列; 緩衝器,連接到所述讀出放大器;以及 控制器,連接到所述單元陣列,其中所述控制器可操作以: 在所述單元陣列中執行未旋轉位址的更新操作, 重複執行未旋轉位址的所述更新操作預定次數,以及 在重複執行旋轉了位址的所述更新操作所述預定次數之後,在所述單元陣列中執行旋轉了位址的更新操作。
  18. 根據請求項17所述的記憶體裝置,其中所述控制器可操作以執行未旋轉位址的所述更新操作包括所述控制器可操作以: 在第一時槽中讀取儲存在所述單元陣列的第一單元中的第一資料; 在第二時槽中對所述第一資料執行錯誤檢查;以及 在執行所述錯誤檢查之後,在第三時槽中將所述第一資料寫入到所述第一單元。
  19. 根據請求項17所述的記憶體裝置,其中所述控制器可操作以執行旋轉了位址的所述更新操作的包括所述控制器可操作以: 在第一時槽中讀取儲存在單元陣列的第一單元中的第一資料; 在第二時槽中對所述第一資料執行錯誤檢查; 與在所述第二時槽中對所述第一資料執行所述錯誤檢查實質上同時,讀取儲存在所述單元陣列的第二單元中的第二資料; 在第三時槽中對所述第二資料執行所述錯誤檢查;以及 與在所述第三時槽中對所述第二資料執行所述錯誤檢查實質上同時,將所述第一資料寫入到所述第二單元。
  20. 根據請求項17所述的記憶體裝置,其中所述記憶體裝置爲非易失性記憶體裝置。
TW110106050A 2020-02-27 2021-02-22 更新記憶體裝置的方法及儲存設備以及記憶體裝置 TWI755284B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062982345P 2020-02-27 2020-02-27
US62/982,345 2020-02-27
US17/118,843 2020-12-11
US17/118,843 US11475929B2 (en) 2020-02-27 2020-12-11 Memory refresh

Publications (2)

Publication Number Publication Date
TW202135086A true TW202135086A (zh) 2021-09-16
TWI755284B TWI755284B (zh) 2022-02-11

Family

ID=77270942

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110106050A TWI755284B (zh) 2020-02-27 2021-02-22 更新記憶體裝置的方法及儲存設備以及記憶體裝置

Country Status (4)

Country Link
US (1) US11854656B2 (zh)
CN (1) CN113314173A (zh)
DE (1) DE102020133713A1 (zh)
TW (1) TWI755284B (zh)

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2289779B (en) 1994-05-24 1999-04-28 Intel Corp Method and apparatus for automatically scrubbing ECC errors in memory via hardware
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7088632B2 (en) * 2004-05-26 2006-08-08 Freescale Semiconductor, Inc. Automatic hidden refresh in a dram and method therefor
US7797610B1 (en) 2005-07-19 2010-09-14 Xilinx, Inc. Method and apparatus for virtual quad-port random access memory
KR100714487B1 (ko) * 2005-11-29 2007-05-07 삼성전자주식회사 동적 메모리 장치 및 그 리프레쉬 주기 결정 방법
US8069377B2 (en) * 2006-06-26 2011-11-29 Micron Technology, Inc. Integrated circuit having memory array including ECC and column redundancy and method of operating the same
US7894289B2 (en) * 2006-10-11 2011-02-22 Micron Technology, Inc. Memory system and method using partial ECC to achieve low power refresh and fast access to data
US7861138B2 (en) * 2006-12-05 2010-12-28 Qimonda Ag Error correction in memory devices
US8060798B2 (en) * 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
US8634241B2 (en) 2010-12-13 2014-01-21 Aplus Flash Technology, Inc. Universal timing waveforms sets to improve random access read and write speed of memories
US9110829B2 (en) * 2012-11-30 2015-08-18 Taiwan Semiconductor Manufacturing Co. Ltd. MRAM smart bit write algorithm with error correction parity bits
US9367391B2 (en) * 2013-03-15 2016-06-14 Micron Technology, Inc. Error correction operations in a memory device
JP2015036995A (ja) * 2013-08-12 2015-02-23 マイクロン テクノロジー, インク. 半導体装置及びエラー訂正情報書き込み方法
JP2016024837A (ja) * 2014-07-22 2016-02-08 マイクロン テクノロジー, インク. 半導体装置
KR102193682B1 (ko) * 2014-08-01 2020-12-21 삼성전자주식회사 선택적 ecc 기능을 갖는 반도체 메모리 장치
US9431086B2 (en) * 2014-10-06 2016-08-30 Winbond Electronics Corp. Memory circuit and refresh method thereof
KR20170054182A (ko) * 2015-11-09 2017-05-17 에스케이하이닉스 주식회사 반도체 장치
KR102493820B1 (ko) * 2016-06-08 2023-02-01 에스케이하이닉스 주식회사 메모리 장치, 이의 동작 방법 및 메모리 콘트롤러의 동작 방법
US10199115B2 (en) * 2016-06-20 2019-02-05 Qualcomm Incorporated Managing refresh for flash memory
KR20180061445A (ko) * 2016-11-28 2018-06-08 에스케이하이닉스 주식회사 메모리 장치
US10090065B1 (en) 2017-03-14 2018-10-02 International Business Machines Corporation Simultaneous write, read, and command-address-control calibration of an interface within a circuit
KR20190051570A (ko) * 2017-11-07 2019-05-15 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10553285B2 (en) 2017-11-28 2020-02-04 Western Digital Technologies, Inc. Single-port memory with opportunistic writes
US10475519B2 (en) * 2018-03-23 2019-11-12 Micron Technology, Inc. Methods for detecting and mitigating memory media degradation and memory devices employing the same
KR102658230B1 (ko) * 2018-06-01 2024-04-17 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10991414B2 (en) * 2019-04-12 2021-04-27 Western Digital Technologies, Inc. Granular refresh rate control for memory devices based on bit position
US11068341B2 (en) * 2019-09-05 2021-07-20 Microchip Technology Inc. Error tolerant memory array and method for performing error correction in a memory array

Also Published As

Publication number Publication date
TWI755284B (zh) 2022-02-11
DE102020133713A1 (de) 2021-09-02
CN113314173A (zh) 2021-08-27
US20220383915A1 (en) 2022-12-01
US11854656B2 (en) 2023-12-26

Similar Documents

Publication Publication Date Title
US10198221B2 (en) Methods of operating semiconductor memory devices with selective write-back of data for error scrubbing and related devices
US10929225B2 (en) Semiconductor memory devices, memory systems including the same and methods of operating memory systems
US11231992B2 (en) Memory systems for performing failover
US9087614B2 (en) Memory modules and memory systems
US10156995B2 (en) Semiconductor memory devices and methods of operating the same
US10255989B2 (en) Semiconductor memory devices, memory systems including the same and methods of operating the same
CN107039083B (zh) 执行封装后修复操作的存储器设备
US10649894B2 (en) Nonvolatile memory module and operation method thereof
US9262266B2 (en) Nonvolatile memory devices with age-based variability of read operations and methods of operating same
US10062427B2 (en) Semiconductor memory device for controlling having different refresh operation periods for different sets of memory cells
US10635531B2 (en) Semiconductor memory device error correction circuit, semiconductor memory device including the same, and memory system including the same
US20200044669A1 (en) Error detection code generation circuits of semiconductor devices, memory controllers including the same and semiconductor memory devices including the same
KR20180060084A (ko) 반도체 메모리 장치의 스크러빙 컨트롤러, 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
CN106941011A (zh) 半导体系统
JP2018513517A (ja) サブアレイを有するマルチビットスピントルクトランスファ磁気抵抗ランダムアクセスメモリ
KR20210089016A (ko) 메모리 컨트롤러 및 메모리 시스템
US9256493B2 (en) Memory module architecture
US10804935B2 (en) Techniques for reducing latency in the detection of uncorrectable codewords
KR102437896B1 (ko) 메모리 리프레시
US20200034259A1 (en) Memory module, memory system including the same and operation method thereof
TWI755284B (zh) 更新記憶體裝置的方法及儲存設備以及記憶體裝置
US11010304B2 (en) Memory with reduced exposure to manufacturing related data corruption errors
TW202329106A (zh) 記憶體系統及其操作方法