[go: up one dir, main page]

TWI384355B - 記憶體陣列錯誤校正裝置,系統及方法 - Google Patents

記憶體陣列錯誤校正裝置,系統及方法 Download PDF

Info

Publication number
TWI384355B
TWI384355B TW097104981A TW97104981A TWI384355B TW I384355 B TWI384355 B TW I384355B TW 097104981 A TW097104981 A TW 097104981A TW 97104981 A TW97104981 A TW 97104981A TW I384355 B TWI384355 B TW I384355B
Authority
TW
Taiwan
Prior art keywords
data
bits
read
memory
address
Prior art date
Application number
TW097104981A
Other languages
English (en)
Other versions
TW200849000A (en
Inventor
John F Schreck
Todd A Dauenbaugh
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 TW200849000A publication Critical patent/TW200849000A/zh
Application granted granted Critical
Publication of TWI384355B publication Critical patent/TWI384355B/zh

Links

Classifications

    • 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
    • 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
    • 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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
    • 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/1056Updating check bits on partial write, i.e. read/modify/write
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

記憶體陣列錯誤校正裝置,系統及方法
本文所述之各種具體實施例一般而言係關於記憶體器件,其包含具有錯誤校正碼(ECC)之記憶體器件,該等錯誤校正碼與儲存於動態隨機存取記憶體(DRAM)中之資料關聯。
半導體記憶體器件係積體電路,其中可儲存資訊,而且必要時可從其中喚回資訊。每一記憶體器件係從複數個記憶體單元加以建立,其中每一記憶體單元具有用以儲存資料之至少一二進制位元之容量。基本上,該等單元係定位在字線與位元線之交叉點(例如,將其視覺化成一陣列之列與行)。單元可儲存資料的一單一位元,以作為一邏輯"1"或一邏輯"0",而且有時可個別存取或定址。單元有時可使用二個多位元數字加以定址。當使用此方案時,該第一多位元數字或列位址可識別定位於該記憶體單元之記憶體陣列之列。該第二多位元數字或行位址可識別定位於該所需記憶體單元之記憶體陣列之行。每一列位址/行位址組合可對應於一單一記憶體單元。
從記憶體陣列喚回資料可能未必在每一情況中完整地完成。因此,可使用錯誤偵測及校正方案增強記憶體陣列資料儲存可靠度。然而,大部分錯誤校正方案也許在電路不動產及/或操作速度方面造成該陣列之總體操作損失。因此,需要用於錯誤偵測/校正之改良式機制。
此文件說明裝置、方法及系統,其可用以擴充讀取、修改及寫入一記憶體陣列中之資料之程序,而不致中斷將接收並且寫入至該記憶體陣列中之資料的一實質上連續流。如以下所注意,此類記憶體陣列可形成許多不同類型之市售記憶體器件的一部分。
如以下另一細節中所揭示,在各種具體實施例中,將關聯於記憶體操作的一行循環分割成兩半。一行循環指一操作,其包含但不限於與一特定位址關聯的一寫入操作。
一行指耦合至一特定字線的一群記憶體陣列,其係在與該字線及耦合至該字線之一個別記憶體單元或一群記憶體單元關聯的一位址藉由將該位址施加於該記憶體陣列之行選擇輸入而選擇時所選定。
一行循環可包含讀取自或寫入至該記憶體陣列內的一或複數個記憶體單元位置。該等單元係藉由將該位址施加於含有該等記憶體單元之記憶體器件所選定。可將該行循環分割成包含一讀取的一第一半,及包含一寫入的一第二半。在各種具體實施例中,此二半係藉由關於該記憶體陣列中之另一位址之一行循環之另一部分來隔開。將該行循環分裂成兩半並且藉由來自一不同位址之一行循環的一介入或交錯部分而隔開該兩半允許在關於該記憶體陣列中之不同位址之行循環發生之時間期間出現該分裂行循環資料之錯誤校正及檢查位元再生。
實際上,使用此方案令關於該資料及與該資料及該第一 記憶體位址關聯之檢查位元之讀取、修改及寫入操作擴充超過三行循環。為了使此操作不延遲正常行存取效能,一行循環可在當執行一正常寫入或讀取時一非ECC設計所使用之時間的一半或少於一半中執行。
現代記憶體器件可根據各式各樣之操作類型加以建構,例如一DRAM、靜態隨機存取記憶體(SRAM)、視訊隨機存取記憶體(VRAM)、可抹除可程式化唯讀記憶體(EPROM)、電可抹除及可程式化唯讀記憶體(EEPROM)、動態電可變可程式化唯讀記憶體(DEAPROM)、快閃記憶體,及其他半導體記憶體器件。
每一類型之記憶體器件具有指示此等各種類型記憶體器件如何操作之某些特徵。例如,將動態隨機存取記憶體分類成一揮發性記憶體器件,因為該DRAM在移除電力供應時失去其已儲存資料。此外,將DRAM結構上簡化成僅一電晶體,而且要求一電容器,以便將每一位元儲存在該DRAM記憶體器件中。然而,因為一電容器並非一理想器件,而且易於洩漏,所以該DRAM記憶體要求定期再新該電容器之充電。因為由一DRAM記憶體所供給的極高密度,所以在許多狀況中,專屬於再新操作之額外負擔係可接受。
本發明之以下所述具體實施例係如應用於一DRAM記憶體結構加以說明。然而,熟諳此技術者將輕易地明瞭,本發明之各種具體實施例可以包含每一以上所述(例如,SRAM、VRAM等)之一廣泛記憶體類型加以執行。使用一 DRAM記憶體設計當作該論述之一基礎僅為了藉由簡化說明,而非作為限制。
一DRAM記憶體單元中之充電用以代表儲存在該記憶體單元之值,進而為該資料。於一時間週期,一DRAM記憶體單元中之充電將洩漏掉,而且該記憶體內容可能失去。因此,定期"再新"DRAM,使其將不失去儲存在該記憶體中之資料。
於再新該DRAM記憶體中,使用一程序,其循環於該等記憶體單元,並將每一記憶體單元復原至代表儲存在該記憶體單元中之資料位元之值的一充電。可將各種方案運用於此再新程序,包含將該記憶體陣列分割成區塊,其中每一區塊係於不同時間再新。在其他方案中,該整體記憶體陣列可於相同時間再新。在將該記憶體分割成於不同時間再新之區塊之方案中,追蹤已再新哪些區塊,及自從再新一區塊起已經多久。此係因為該等記憶體單元中所維持之充電之洩漏係以某種速率出現,該速率可隨著記憶體單元而變動。於某一時間週期後,已出現在一或多個記憶體單元中之洩漏量可使該記憶體單元中之充電量此時呈現與原始不同的一狀態。換言之,該資料位元已由於洩漏而改變狀態,該資料已失落,而且至少儲存於該記憶體之資料部分已訛誤。
由於該記憶體單元內之不同位元以不同速率洩漏,所有單元通常係在小於該記憶體陣列中之最壞情況之位元的一時間中再新,如由該記憶體單元所呈現,其將在最少時間 量中洩漏充電並且改變狀態。因為該再新程序在每次執行時消耗功率,所以執行該再新程序愈頻繁,該記憶體器件將消耗愈多總體功率。因此,若該再新操作係在小於該記憶體單元中之最壞情況之位元的一時間間隔執行,當與大於該最壞情況之記憶體單元由於洩漏而改變狀態之時間的一再新時間間隔相比較,該記憶體器件之總體功率消耗將出現一增加。
此外,於執行一再新之時間期間,不可執行讀取自及寫入至該記憶體(或至少至該(等)再新之記憶體之特定區塊)。因此,該記憶體(或至少其再新之部分)無法用於讀取或寫入操作。該DRAM記憶體之再新代表用於讀取自及寫入至該DRAM記憶體之失落時間,因而對該記憶體器件強加一總體效能損失。愈不常執行該再新,該再新要求對該記憶體器件強加愈少之效能損失。
在各種具體實施例中,錯誤校正碼可用以偵測由於洩漏所致之資料訛誤。呈現資料以便將其儲存至該記憶體陣列時,則基於存在於儲存之資料之值而產生一錯誤校正碼。當熟諳此技術者知道各種類型之錯誤校正碼。
一類型之錯誤校正碼稱為一漢明(Hamming)碼,其可對於複數個資料位元加以產生,而且以後可指示是否已變更該等資料位元之一。漢明碼具有能夠識別已變更該複數個資料位元中之哪一資料位元之額外優點。因此漢明碼之使用允許校正已變更之一給定群之位元內的一特定位元,而允許將該給定群之位元(具有一單一已變更位元)復原至訛 誤前之資料之原始狀態。
用以形成特定複數個資料位元之漢明碼所要求之位元數端視該複數個資料位元中之個別位元數。使用漢明碼當作錯誤校正碼,可將一記憶體器件組織成許多組態中之下列資料組態:.8個資料位元及4個檢查位元.16個資料位元及5個檢查位元.32個資料位元及6個檢查位元。
使用該16個資料位元及5個檢查位元組態當作一範例,對於包含不超過16個資料位元之每一群資料位元,可產生包含5個檢查位元的一漢明碼,因而提供此等複數個資料位元之每一資料位元的一錯誤校正碼。可將該錯誤校正碼儲存於該記憶體陣列,以當作額外位元,其伴隨16個資料位元,全部為21個位元。在一些具體實施例中,可將該等5個檢查位元儲存於下一5個記憶體單元並且於與該記憶體陣列中之16個資料位元相同之記憶體位置。在一些具體實施例中,可將該等5個檢查位元伴隨其他資料之其他錯誤校正碼儲存於與該資料所儲存之記憶體陣列之區域分離之記憶體陣列的一部分。在各種具體實施例中,對於該錯誤校正碼產生一分離位址,而且其係關聯於與該錯誤校正碼關聯之資料所儲存之位址。
資料及關聯檢查位元之此等組態允許偵測及校正該等資料位元中存在一位元之一失效之狀況。對於該等8個資料位元加4個檢查位元組態,如以上所述之此等資料組態之 每一資料組態之陣列額外負擔係近似百分之50,對於該等16個資料位元加5個檢查位元組態,其近似百分之31,而且對於該等32個資料位元加6個檢查位元組態,其近似百分之19。關於哪一資料組態可用於該記憶體器件之任何應用之決定端視各種因子,例如晶粒不動產現場之損失、功率損失,及速度損失(例如,透過用以執行該校正之邏輯讀取或寫入)。
在各種具體實施例中,在不超過64毫秒的一時間間隔內執行該再新循環。在此類具體實施例中,該記憶體之每一位元必需在離上次再新該位元不超過64毫秒內再新。一般而言,於一64毫秒之再新循環間隔,該再新循環間隔可小於在該記憶體陣列中之一記憶體單元之一最壞情況之時由於洩漏而變更之時間之任一者。因此,大部分情況中,可能存在極少甚至未使用該等錯誤校正碼偵測及改變已訛誤資料。
然而,對於包含於記憶體中之大量位元,例如一具有十億位元組之記憶體,僅少部分記憶體單元將實際上具有一洩漏速率,使儲存在該記憶體單元之資料之狀態中的一改變出現於64毫秒之給定再新循環間隔內。該十億位元組記憶體中之每一記憶體單元將充電洩漏至令儲存在該記憶體單元之值改變狀態之點之實際時間之分佈可藉由包含一尾部的一分佈加以代表。該分佈之尾部可開始於接近在或大於64毫秒的一時間週期。然而,包含於在該時間週期(其介於恰超過64毫秒與達到一128毫秒之時間週期之間)之分 佈之全部位元之部分可為該記憶體陣列中之記憶體單元之全部數目的一小百分比。在各種具體實施例中,包含於該記憶體分佈(其介於64毫秒與達到128毫秒之間)之尾部之記憶體單元數目可小於包含於該記憶體陣列之全部記憶體單元的一百分比。
此外,可分組在一起並且當作關聯於該相同錯誤校正碼之資料位元而儲存並且經歷二或多個記憶體單元(其在儲存由於洩漏而在小於128毫秒再新時間間隔中改變狀態之資料位元數目之資料群內)(例如,二或多個訛誤單元)之資料位元之數目係一或多個幅度小於上述單一位元錯誤率的一百分比數字。
在較小資料群(例如,一8資料位元群加該等4個檢查位元)中,該特定群中具有二個壞資料位元之機率小於一較大資料群(例如,包含16個資料位元的一群)中具有二個壞資料位元之機率。類似地,在一16位元資料群與在例如一32位元資料群的一又較大之資料群相比較,前者的一單一資料群中具有二個壞位元之機率將較小。在各種具體實施例中,具有4個檢查位元之一8資料位元群之再新時間可達到並且包含一700毫秒再新循環時間間隔,而且對於具有6個檢查位元的一32資料位元群,可使用一600毫秒再新循環時間間隔。
在各種具體實施例中,儲存該等錯誤校正碼之記憶體陣列中之位置之再新時間間隔可小於用以當作用於再新儲存該等資料位元之記憶體陣列中之位置之再新時間間隔。在 一些具體實施例中,儲存該等錯誤校正碼之記憶體陣列中之記憶體單元可使用一64毫秒時間間隔加以再新,同時儲存該等資料位元之記憶體陣列中之記憶體單元可在長於64毫秒的一時間間隔加以再新。
藉由使用漢明碼,或關聯於儲存在一記憶體陣列中之資料之其他錯誤校正碼,可增加該再新時間間隔。在此等具體實施例中,由增加之檢查位元所強加之區域損失係藉由擴充該等再新循環時間所允許之功率節省加以抵銷。擴充之再新時間間隔縮減用以維護該記憶體中之資料所執行之再新循環之數目,因而減少該記憶體器件功率消耗。此外,因為於出現該再新循環期間之時間係無法用於該記憶體之讀取及寫入操作之時間,不常需要執行該再新操作留下較多總體時間可供用於對該記憶體之讀取及寫入操作,導致該記憶體器件之改良式總體效能。
影響該記憶體器件之總體效能之另一因子係該記憶體器件操作之時脈率。在許多情況中,相較於使用一較慢時脈率之時,一較快時脈率允許較快執行對該記憶體之讀取操作及寫入操作。然而,某些程序(包含牽涉產生待寫入至該記憶體之資料之錯誤校正碼之操作,及牽涉遮罩待寫入至該記憶體陣列之資料之操作)可使總體記憶體操作速度慢下來。一替代可為減慢該時脈率,所以該行循環時間夠慢,足以允許執行額外操作,包含錯誤校正碼產生。然而,減慢該時脈率可增加用以執行對該記憶體之讀取及寫入操作所要求之總體時間,因而減少該記憶體器件之總體 效能及速度。
本文所述之具體實施例提供系統、裝置及方法,其可准許包含資料位元之群之錯誤校正碼產生及資料遮罩或兩者之操作以像不包含此等額外程序之讀取及寫入操作所使用般快速之時脈率執行。
具體實施例可包含雙速率記憶體器件,其係在用以控制資料轉移之時脈脈衝之上升邊緣及下降邊緣兩者取入資料之記憶體器件。在包含雙速率記憶體器件之各種具體實施例中,於該時脈脈衝之一上升邊緣所取入之資料係寫入至包含於一記憶體器件之記憶體陣列的一部分,而且於該時脈脈衝之下降邊緣所取入之資料係寫入至該記憶體陣列的一不同部分。在各種具體實施例中,於該時脈脈衝之上升邊緣及下降邊緣兩者所取入之資料係儲存至一或多個緩衝器中,而且然後同時寫入至該記憶體陣列。
具體實施例可包含一單一速率記憶體器件。單一速率記憶體器件在一時脈脈衝的一上升邊緣或一下降邊緣但並非其二者取入資料。
在各種具體實施例中,接收資料用於以每資料位元群5奈秒的一速率寫入至一記憶體陣列。
圖1係一般而言以20加以示意說明的一先前技術DRAM記憶體單元或記憶體位元。記憶體單元20包括一存取電晶體22及一電容器24。記憶體單元20能夠以已儲存充電之形式將二進制資訊保存在電容器24。電晶體22當作耦合於電 容器24與一數位線26間的一開關而操作。電容器24包含一共同節點,其係以近似Vcc/2或以該單元板極電壓加以偏壓。用以控制電晶體22之切換動作之閘極係耦合至一字線28。一邏輯一二進制值係儲存於具有一橫跨電容器24之正Vcc/2充電之記憶體單元20。一邏輯零二進制值係儲存於具有一橫跨電容器24之負Vcc/2充電之記憶體單元20。因此,當將一邏輯一值儲存於記憶體單元20時,代表電晶體22與電容器24間之連接的一節點30係在近似等於Vcc的一電位,而且當將一邏輯零值儲存於記憶體單元20時,則在近似零或接地位準電位。
DRAM中之記憶體陣列係藉由將大量記憶體單元20平鋪成如先前技術圖2中所示意說明的一記憶體陣列結構32而形成。在記憶體陣列結構32中,沿著一給定數位線(D0、D1、D2或D3)之記憶體單元並未共享一共同字線(WL0、WL1、WL2或WL3),而且沿著一共同字線之記憶體單元並未共享一共同數位線。圖2中之記憶體陣列結構32之簡化圖僅作為說明用途,用以顯示如何可將一電晶體/一電容器記憶體單元運用於容易按比例調整的一陣列結構中。雖然該等DRAM記憶體單元及記憶體陣列之設計可能看似簡單,但其實際設計及實施方案係高度複雜。
圖3係根據本發明之各種具體實施例之一系統300的一功能組塊圖。在一些具體實施例中,該系統100可包括一個人數位助理330、一攝影機102,或一蜂巢式電話134。在各種具體實施例中,攝影機102可為一數位攝影機。
系統300包含例如一DRAM 301之一記憶體器件之主要組件。系統300可包含耦合至該DRAM 301的一處理器326。在各種具體實施例中,系統300包含一顯示器350,在一些具體實施例中,可將該顯示器350耦合至處理器326。為了作為說明合併本發明之一DRAM記憶體器件之用途,已將圖3之記憶體器件之說明簡化,而且其將非一記憶體器件之所有特點的一完整說明。如以上所注意,可輕易將其他記憶體器件結構替代該DRAM 301。
該DRAM 301之位址資訊係於位址線302上提供,資料資訊係於資料線304上提供,而且控制輸入係於引導至一控制邏輯306之各式各樣控制線305上提供。在一些具體實施例中,關聯於該資料資訊之資料遮罩資訊係於資料遮罩輸入328上提供。
該DRAM 301包含一記憶體陣列310,其依序包括可定址記憶體單元之列與行。一列中之每一記憶體單元係耦合至如藉由線WL1 至WLn 315所說明的一共同字線。此外,一行中之每一記憶體單元係耦合至如藉由線BL1 至BLn 317所說明的一共同位元線。該記憶體陣列310中之每一單元包含一儲存電容器及一存取電晶體,而且可包含若干記憶體子陣列。
可透過位址線302及資料線304及資料遮罩輸入328將該DRAM 301耦合至例如該處理器326。或者,可將DRAM 301耦合至一DRAM控制器、一微控制器、一晶片集或其他電子系統。該處理器326亦經由該等控制線305提供若干 控制信號給該DRAM 301,該等控制信號包含但不限於列與行位址選通信號RAS(橫槓)與CAS(橫槓)、寫入致能信號WE(橫槓)、一輸出致能信號OE(橫槓)、一時脈信號307,及其他控制信號。在各種具體實施例中,處理器326包含一時脈電路303,其提供該時脈信號307。在圖3中,此等信號之標記(例如,)上之"橫槓"元件符號及直線指示:一低邏輯位準相等於一"導通"狀態。具體實施例不限於使用"橫槓"信號指示一導通狀態,而且包含但不限於可使用該等"橫槓"信號之反向之任何類型信號代替如圖3中所示之信號。
一列位址緩衝器312及一列解碼器314藉由例如該處理器326接收在位址線302上提供之列位址信號並從其中解碼列位址。每一列位址對應於該記憶體陣列310中之單元的一列。該列解碼器314包含一字線驅動器、一位址解碼器樹,及用以轉譯接收自該列位址緩衝器312之一給定列位址並且經由該字線驅動器選擇性啟動該記憶體陣列310之適當字線之電路。
一行位址緩衝器316及一行解碼器318藉由該處理器326接收並且解碼在該位址線302上提供之行位址信號。每一行位址對應於該記憶體陣列310中之單元的一行。該行解碼器318係耦合至感測放大器320。在各種具體實施例中,該行解碼器318係透過複數個行選擇線319耦合至該感測放大器320。該等感測放大器320係耦合至該記憶體陣列310之位元線。
該等感測放大器320係耦合至一錯誤碼模組340。在各種具體實施例中,錯誤碼模組340透過連接330提供資料給感測放大器320,而且透過連接332接收來自感測放大器320之資料。錯誤碼模組340係耦合至該等位址線302及至該等資料線304。在一些具體實施例中,錯誤碼模組340係耦合至資料遮罩輸入328。於一寫入操作期間,該等資料線304提供資料給該錯誤碼模組340。該感測放大器320接收來自該錯誤碼模組340之資料,而且將該資料當作一單元之一電容器上的一充電儲存於該記憶體陣列310中,該單元在該等位址線302上所指定的一位址。
於一DRAM讀取操作期間,該DRAM 301將資料從該記憶體陣列310轉移至處理器326。該已存取單元之互補位元線係於一預充電操作期間平衡至由一平衡電路及一參考電壓供應所提供的一參考電壓。然後將儲存於該存取單元中之充電與該等關聯位元線共享。包含於該等感測放大器320的一感測放大器偵測並且放大該等互補位元線間之電壓的一差。該感測放大器將該已放大電壓傳至該錯誤碼模組340。
該控制邏輯306可用以控制該DRAM 301之許多可用功能。此外,如熟諳此技術者已知,可起始本文未詳述之各種控制電路及信號並且同步化該DRAM 301操作。如以上所述,為了說明本發明之各種具體實施例之用途,已將DRAM 301之說明簡化,而且其並非一DRAM之所有特點的一完整說明。類似地,本文之其他記憶體結構之任何陳 述用以註明其用途為該DRAM 301的一替代,而且熟諳此技術者將知道此等替代結構之標準操作特點。
位元線BL1 至BLn 用以將資料寫入至及讀取自該記憶體陣列310內之記憶體單元。該等字線WL1 至WLn 係用以存取待寫入或讀取之記憶體單元之列。該列解碼器314及該行解碼器318可選擇性存取該等記憶體單元,以回應寫入及讀取操作期間來自該處理器326在該等位址線302所提供之位址信號。
操作中,該DRAM 301接收在該錯誤碼模組340之一特定記憶體單元的一位址。例如,該處理器326可以該記憶體陣列310內之一特定單元之位址提供給該等位址緩衝器312與316。該列位址緩衝器312識別例如至該列解碼器314之適當記憶體單元之字線WL1 。該列解碼器314選擇性啟動該字線WL1 ,以啟動連接至該字線WL1 之每一記憶體單元的一存取電晶體。該行位址緩衝器316識別例如至該行解碼器318之適當記憶體單元之位元線BL1 。該行解碼器318將一特定感測放大器選擇性連接至該等I/O(輸入/輸出)位元線,以作為讀取或寫入用途。
在各種具體實施例中,例如耦合至一特定字線之單元之複數個單元及例如位元線BL1 至BLn 之複數個位元線將包含於在位址線302上接收的一位址中。複數個位元中之位元數目不限於任何特定位元數目,而且可包含例如8個位元、16個位元或32個位元。在各種具體實施例中,在資料線304上提供並且與該等位址線302上提供之位址關聯之資 料可包含與當提供該等資料位元時由位址線302上提供之位址所定址之記憶體單元數目相同之位元數目。
在各種具體實施例中,一提供之位址將選擇若干記憶體單元,其大於與該提供之位址關聯之資料所提供之資料位元數目。此等狀況中,額外數目之選定記憶體單元可定址記憶體陣列310中之記憶體單元,其中定位包含一或多個位元並且關聯於儲存或將儲存在該記憶體陣列310之資料的一錯誤校正碼。
在各種具體實施例中,一組資料遮罩係在資料遮罩輸入328上提供給該錯誤碼模組340。該組資料遮罩可關聯於在該等資料線304上提供之資料,其中在資料線304上提供並且關聯於該組資料遮罩之資料係待寫入至記憶體陣列310之資料。
圖4說明包含錯誤碼模組340的一裝置400。在各種具體實施例中,錯誤碼模組340包含資料緩衝器402、錯誤碼計算單元430,及資料組合器434。可藉由連接432將資料緩衝器402耦合至錯誤碼計算單元430。在各種具體實施例中,資料緩衝器402可包含複數個資料緩衝器及暫存器,其包含但不限於:讀取資料暫存器410、已修改資料暫存器412、錯誤校正碼暫存器414、讀取錯誤校正碼暫存器416、輸入資料緩衝器418,及輸出資料緩衝器420。此等暫存器及緩衝器不限於任何特定類型之暫存器或任何特定類型之緩衝器,或者任何特定長度或數目之位元。具體實施例不限於:資料緩衝器402中所包含之任何暫存器及緩 衝器具有一特定暫存器或緩衝器尺寸,而且可包含具有不同尺寸之暫存器及緩衝器。
在各種具體實施例中,錯誤碼模組340包含一時脈產生電路403。在一些具體實施例中,時脈產生電路403接收例如時脈信號307的一時脈信號,而且產生一或多個額外時脈信號。一些具體實施例中,時脈產生電路403產生大約該已接收時脈信號307之循環率之二倍的一時脈信號。在各種具體實施例中,時脈產生電路403提供用以操作如本文更詳細說明之行循環的一時脈信號。各種具體實施例包含耦合至該處理器並且可操作以產生該複數個連續時脈循環的一時脈電路,及耦合至該時脈電路並且至該錯誤碼模組的一半循環時脈產生電路,該半循環時脈產生電路可操作以產生複數個連續時脈循環,其在一大約該時脈電路之一速率之二倍之速率。
可透過連接436將資料緩衝器402耦合至資料組合器434。在各種具體實施例中,錯誤碼模組340係耦合至位址線302、資料線304,及資料遮罩輸入328。
在資料緩衝器402內,儲存在包含於資料緩衝器402之任何暫存器或緩衝器之內容可在包含於資料緩衝器402(可能資料緩衝器402以內之內部,或者在資料緩衝器402外面之外部)之任何其他暫存器或緩衝器間轉移。在各種具體實施例中,例如輸入資料緩衝器418及輸出資料緩衝器420之緩衝器包含輸入緩衝器及驅動器電路,用以提供接收及傳送資料給至資料緩衝器402之一或多個連接之能力,該一 或多個連接包含但不限於位址線302、資料線304、資料遮罩輸入328。
在各種具體實施例中,資料緩衝器402內之暫存器包含電路,以允許該等暫存器對該資料緩衝器402所耦合之任何記憶體陣列(例如記憶體陣列440)接收資料及提供資料。
在各種具體實施例中,錯誤碼模組340係耦合至一全域讀取I/O 452及一全域寫入I/O 450。全域讀取I/O 452及全域寫入I/O 450不限於任何特定類型之I/O,而且可包含合適於連接至錯誤碼模組340之任何I/O。在各種具體實施例中,全域讀取I/O 452及全域寫入I/O 450將錯誤碼模組340耦合至複數個局域I/O 446(a至n)。局域I/O 446(a至n)代表複數個局域I/O。局域I/O 446(a至n)可包含任何數目之局域I/O。每一局域I/O 446(a至n)可包含複數個個別信號線。局域I/O 446(a至n)不限於包含於局域I/O 446(a至n)之每一局域I/O具有相同數目之個別信號線。
在一些具體實施例中,一或多個局域I/O 446(a至n)包含一讀取介面447。讀取介面447包含一介面,用於將一特定局域I/O 446(a至n)中之局域I/O信號線耦合至該等全域讀取I/O 452線。圖4中將讀取介面447顯示成447(a)及447(n),其中字母元件符號指示其中包含該特定讀取介面447之特定局域I/O 446(a至n)之字母元件符號的一匹配。在一些具體實施例中,一或多個局域I/O 446(a至n)包含一寫入介面448。寫入介面448包含一介面,用於將一特定局域I/O 446(a至n)中之局域I/O信號線耦合至該等全域寫入 I/O 450線。在圖4中待寫入介面448顯示成448(a)及448(n),其中該字母元件符號指示其中包含該特定寫入介面448之特定局域I/O 446(a至n)之字母元件符號的一匹配。
在各種具體實施例中,感測放大器444包含將該局域I/O 446(a至n)耦合至該記憶體陣列440之複數個感測放大器。在各種具體實施例中,一ECC碼區段442可包含於該記憶體陣列中,而且透過感測放大器444耦合至一或多個局域I/O 446(a至n)。在各種具體實施例中,可將關聯於儲存在該記憶體陣列之至少一筆資料的一錯誤校正碼儲存於該ECC碼區段442。在各種具體實施例中,可將關聯於儲存在該記憶體陣列440之資料的一或多個錯誤校正碼與儲存於該記憶體陣列440之每一資料包含於該記憶體陣列440。在各種具體實施例中,此等一或多個錯誤校正碼係儲存於該記憶體陣列440之ECC碼區段442。
在各種具體實施例中,可將記憶體陣列440耦合至字線WL1 至WLN 315。在各種具體實施例中,可將感測放大器444耦合至行選擇線319。在一些具體實施例中,字線WL1 至WLN 315及行選擇線319可用以控制對記憶體陣列440讀取資料及寫入資料。在各種具體實施例中,該讀取及寫入包含讀取自及寫入至一或多個錯誤校正碼之記憶體陣列。在各種具體實施例中,錯誤碼模組340可藉由在位址線302上提供位址、藉由在資料線304提供資料或兩者而控制記憶體陣列440之讀取及寫入操作。
操作中,錯誤碼模組340可接收資料線304上之資料、待寫入至記憶體陣列440中之資料。將儲存之已接收資料的一位址係在位址線302上接收。關聯於該已接收資料的一或多個資料遮罩設定可在資料遮罩輸入328上接收。資料遮罩設定可包含關聯於該已接收資料之複數個部分之每一部分的一指示,該等資料遮罩設定指示對於該已接收資料之複數個部分之每一部分,是否已設定該已接收資料之特定部分的一遮罩。
藉由範例,在資料線304上接收之資料可包含32個位元之資料,而且4個資料遮罩輸入可在資料遮罩輸入328上接收,其中每一資料遮罩輸入指示該等32個位元之一特定位元組(8個位元)的一資料遮罩設定。對於包含於該輸入資料之任何給定數目之位元,具體實施例不限於任何特定數目之資料位元,而且不限於任何特定數目之資料遮罩輸入。遮罩位元可代表如所需之資料位元、位元組、文字、雙字、及該資料之其他分割。
返回圖4,在各種具體實施例中,可將該已接收資料儲存於該輸入資料緩衝器418。在各種具體實施例中,亦可將該已接收資料在該記憶體陣列440中待寫入之位址儲存於輸入資料緩衝器418。基於該已接收位址,該錯誤碼模組340可從該記憶體陣列將目前儲存於該已接收位址之資料讀取至該讀取資料暫存器410中。該已儲存資料之讀取可出現在該等全域讀取I/O 452線上,及在關聯於該等感測放大器與藉由該已接收位址所選定之記憶體陣列440之局 域I/O 446線上。在一些具體實施例中,與該讀取資料儲存的一錯誤校正碼亦將加以讀取並且儲存於讀取資料暫存器410。在包含例如ECC碼區段442之一分離錯誤碼區段之具體實施例中,關聯於讀取自該記憶體陣列440之資料的一錯誤校正碼將從錯誤碼區段讀取並且可儲存於讀取資料暫存器410。
在各種具體實施例中,於接收在讀取資料暫存器410之已儲存資料及錯誤校正碼後,該錯誤碼計算單元430可比較該讀取資料與關聯於該讀取資料之讀取錯誤校正碼,而且將決定該資料中是否已出現一錯誤。若已出現一錯誤並且可基於該錯誤校正碼加以校正,則該錯誤碼計算單元430將提供代表該已校正讀取資料之一正確組之資料位元給該讀取資料暫存器410。
在各種具體實施例中,將儲存至記憶體陣列440中之一第二組之資料位元可在該等資料線304上接收,其中包含一位址,該第二組之資料位元係儲存於在位址線302上接收之位址。此外,一組資料遮罩輸入可在資料遮罩輸入328上接收,該組資料遮罩輸入包含該已接收第二組資料位元之資料遮罩設定。可將該已接收第二組資料位元伴隨該關聯位址及該等關聯資料遮罩輸入儲存於輸入資料緩衝器418。伴隨該關聯位址及該等關聯資料遮罩輸入之第二已接收組資料位元之儲存可儲存至輸入資料緩衝器418中,而不致移除或影響已儲存於輸入資料緩衝器418中之任何資料。
在各種具體實施例中,於接收該第二資料之時間期間但將該第二資料寫入至該記憶體陣列前,可對該第一組已接收資料執行一讀取/修改/寫入程序。在各種具體實施例中,如以下更詳細之說明,目前儲存於該記憶體陣列440在關聯於該第二已接收資料之位址之資料的一讀取亦可於對該第一組已接收資料位元執行該讀取/修改/寫入程序之時間期間執行。
在各種具體實施例中,該讀取/修改/寫入程序包含該資料組合器434,其組合儲存於該讀取資料暫存器410並且關聯於已接收用於寫入該等第一已接收資料位元之位址之資料與儲存於該輸入資料緩衝器418並且關聯於該已接收第一組資料位元之資料。如前面所述,來自該讀取資料暫存器410並且關聯於該已接收第一組資料位元之位址之已儲存資料可已使用該已儲存錯誤校正碼將該已儲存資料校正。資料組合器434可基於關聯於該已接收第一組資料位元之資料遮罩設定而組合來自該讀取資料暫存器410之已儲存資料與來自該輸入資料緩衝器418之已儲存資料。該等資料遮罩設定可包含該已儲存已接收第一組資料位元之複數個部分之每一部分的一狀態,用於指示該組資料位元是否實際寫入至記憶體陣列440之狀態將在每一部分中包含在該第一組資料位元中接收之資料位元,或者已儲存於記憶體陣列440之資料位元。
藉由範例,儲存於該輸入資料緩衝器418之已接收組資料位元可包含全部32個位元,包含代表該等32個全部位元 之8個位元之四個部分。資料遮罩輸入可包含4個位元,該等4個位元之每一個關聯於該等32個位元之8位元部分的一特定部分。該等4位元資料遮罩輸入之每一個包含關於是否已遮罩或者未遮罩關聯於該特定資料遮罩輸入之32個全部位元之特定8位元部分的一指示。一指示不限於任何特定類型之指示。在各種具體實施例中,該指示係例如一二進制1或一二進制0的一二進制值,其中該指示之值決定是否已遮罩或者未遮罩該等32個全部位元之特定8位元部分。在各種具體實施例中,在一資料遮罩輸入的一1指示已對於該等32個全部位元的一特定部分設定一遮罩,而且在一資料遮罩輸入的一0指示尚未對於該等32個全部位元的一特定部分設定一遮罩。可能為其他組合。
在各種具體實施例中,對於複數個資料位元之一特定部分設定一遮罩的一指示意謂:並非使用該複數個資料位元中所接收之資料位元的一部分寫入至該記憶體陣列,而是將已儲存於該記憶體陣列中之資料位元之部分可重寫至該記憶體陣列中,以作為寫入至該已接收位址之複數個資料位元之部分。對於複數個資料位元之部分,其中一資料遮罩輸入包含指示該複數個資料位元之部分並未遮罩的一值,寫入至該記憶體陣列以作為該複數個資料位元之部分之資料位元將包含該已接收組資料位元中所接收之資料位元。
在各種具體實施例中,例如以上包含32個全部資料位元及該等全部資料位元之四個8位元部分之資料遮罩輸入之 範例,該操作稱為一"位元組寫入",因為包含於待寫入至該記憶體陣列中之一給定位址之全部資料位元的一或多個位元組可以逐位元組為主加以遮罩。應瞭解,待寫入至該記憶體陣列之資料之遮罩不限於將特定數目之位元遮罩於該等全部位元的一給定部分。反而,遮罩可包含遮罩該等全部位元之任何數目位元,包含但不限於以一個別之逐位元為主遮罩該等全部數目之位元之每一位元。
再度參考圖4及該讀取/修改/寫入操作,資料組合器434基於關聯於該等第一組資料位元之資料遮罩輸入之狀態而完成該第一組資料位元的一修改。該已修改第一組資料位元包含該已接收第一組資料位元,其可如藉由該第一已接收組資料位元之已接收資料遮罩輸入所指示而與儲存於該讀取資料暫存器410之第一組資料位元的一或多個部分組合,該遮罩係如以上所述而處理。
可將該已修改第一組資料位元儲存於該已修改資料暫存器412。於已產生該已修改第一組資料位元後,錯誤碼計算單元430可產生關聯於該已修改第一組資料位元的一錯誤校正碼,該已產生錯誤校正碼基於如該已修改第一組資料位元中所提供之資料位元。在一些具體實施例中,可將關聯於該已修改第一組資料位元之已產生錯誤校正碼儲存於該錯誤校正碼暫存器414。在一些具體實施例中,可將關聯於該已修改第一組資料位元之已產生錯誤校正碼加至包含於該已修改第一組資料位元之資料位元,形成包含該已修改第一組資料位元及該已修改第一組資料位元之關聯 錯誤校正碼之複數個資料位元。在各種具體實施例中,可將包含該已修改第一組資料位元及該已修改第一組資料位元之關聯錯誤校正碼之此複數個資料位元儲存於該已修改資料暫存器412。
一旦已產生該已修改第一組資料位元及該已修改第一組資料位元之關聯錯誤校正碼,可能將該已修改第一組資料位元及關聯錯誤校正碼寫入至該記憶體陣列440。在各種具體實施例中,該已修改第一組資料位元及關聯錯誤校正碼係伴隨該關聯位址由錯誤碼模組340提供給全域寫入I/O 450,其中將提供之已修改第一組資料位元寫入該記憶體陣列440內。在將該關聯錯誤校正碼寫入至例如ECC碼區段442之記憶體陣列之一不同部分之各種具體實施例中,待寫入該關聯錯誤校正碼之位址亦可由錯誤碼模組340提供給全域寫入I/O 450。
在各種具體實施例中,全域寫入I/O 450可待寫入至該記憶體陣列440之第一組資料位元及該關聯錯誤校正碼提供給一或多個局域I/O 446(a至n)。在各種具體實施例中,全域寫入I/O 450可提供該第一組資料位元給一或多個寫入介面448(a至n),用於將該第一組資料位元寫入至記憶體陣列440。在各種具體實施例中,全域寫入I/O 450將提供該關聯錯誤校正碼給一不同組寫入介面448(a至n),並非用以寫入該第一組資料位元,而且該不同組寫入介面448(a至n)可用以將該關聯錯誤校正碼寫入至記憶體陣列440。在各種具體實施例中,用於該寫入操作之局域I/O 446(a 至n)係由特定局域I/O 446(a至n)所決定,該特定局域I/O耦合至記憶體陣列440中之位置,其係由該錯誤碼模組340在該寫入操作中提供之位址所定址。
應瞭解,各種具體實施例可不包含全域讀取I/O 452及全域寫入I/O 450,其中可將該局域I/O 446(a至n)直接耦合至錯誤碼模組340。在一些具體實施例中,局域I/O 446(a至n)可直接從該錯誤碼模組340接收該已修改組資料位元及該等關聯錯誤校正碼。在各種具體實施例中,關聯於該已修改組資料位元之位址決定哪些局域I/O 446(a至n)可用以執行該已修改組資料位元及該關聯錯誤校正碼之寫入操作。
在各種具體實施例中,該已接收第二組資料位元之讀取/修改/寫入程序的一讀取部分可於執行該已修改第一組資料(及該已修改第一組資料位元之關聯錯誤校正碼)之寫入前執行。
藉由執行該已接收第一組資料位元之讀取/修改/寫入操作之讀取部分,而且然後於執行該已接收第一組資料位元之寫入操作前執行該已接收第二組資料位元之讀取/修改/寫入操作之讀取部分,於將所得之已修改第一組位元寫入至該記憶體陣列前,可提供額外時間對該已接收第一組資料位元執行該程序之修改部分。
因此,藉由交錯關聯於該第一組資料位元之讀取/修改/寫入操作與關聯於該第二組已接收資料位元之讀取/修改/寫入操作,能夠增加可接收該等資料位元之速率,同時仍 然提供一充分時間週期足以透過該讀取/修改/寫入程序而處理每一已接收資料集。在各種具體實施例中,此讀取/修改/寫入程序包含讀取已儲存於該關聯位址之資料、對照關聯於讀取資料之已儲存錯誤校正碼而檢查該讀取資料,而且若必要,基於關聯於該讀取資料之已儲存錯誤校正碼而校正該讀取資料。在各種具體實施例中,該讀取/修改/寫入程序包含基於當作關聯於該等已接收資料位元之資料遮罩輸入的一或多個狀態值而修改該等讀取資料位元。在各種具體實施例中,該讀取/修改/寫入程序包含基於如該資料遮罩之一結果所產生之已修改組資料位元而產生一錯誤校正碼。
在各種具體實施例中,如參考圖5而進一步說明,從該記憶體陣列440讀取關聯於該已接收第二組資料位元之已儲存資料其後可為至該記憶體陣列440之已修改第一組資料位元的一寫入操作、從該記憶體陣列440讀取關聯於一已接收第三組資料位元的一第三組已儲存資料位元,而且然後將關聯於該已接收第二組資料位元之已修改組資料位元寫入至該記憶體陣列440。在各種具體實施例中,該修改及錯誤校正碼產生程序係在執行讀取關聯於該已接收第二組資料之已儲存資料後之某時間對於該已接收第二組資料而執行,同時執行該已修改第一組資料位元之寫入操作,而且同時亦執行關聯於該第三組資料記憶體陣列中所儲存資料的一讀取操作。可對於任意數目組已接收資料重複關於不同組已接收資料之操作之此交錯。
藉由交錯該等讀取/修改/寫入操作,包含錯誤碼模組340的一裝置(例如裝置400)提供用以接收以一快速速率寫入至一記憶體陣列之資料集之能力,同時仍然如本文所述,對該讀取資料、對該已產生資料或兩者執行錯誤校正,以及執行資料遮罩操作。
圖5係根據本發明之具體實施例之波形500的一時序圖。波形500可包含於如圖3中所示之系統。波形500可包含於如圖4中所示的一裝置。如圖5中所示之波形500包含一時脈信號502、一WE(橫槓)(例如,)信號504、一資料信號506、一位址信號508,及一資料遮罩輸入信號510。如圖5中所示之波形500包含行選擇信號520、局域I/O(LI/O)信號522、全域讀取I/O(GRI/O)信號524,及全域寫入I/O(GWI/O)信號526。
在各種具體實施例中,時脈信號502可包含如圖3中所示之時脈信號307。在各種具體實施例中,時脈信號307可由一時脈產生電路303提供。在各種具體實施例中,該WE(橫槓)信號504可與如圖3中所示之WE(橫槓)信號類似或一樣。在各種具體實施例中,該資料信號506可在如圖3及圖4中所示之資料線304上提供給該錯誤碼模組340。在各種具體實施例中,位址信號508可在如圖3及圖4中所示之位址線302上提供給該錯誤碼模組340,該資料遮罩輸入信號510可在圖3及圖4中所示之資料遮罩輸入328上提供,而且該行選擇信號520可在如圖3及圖4中所示之該行選擇線319上提供。在各種具體實施例中,該LI/O信號522可在 如圖4中所示之一或多個局域I/O 446(a至n)上提供,該GRI/O信號524可在如圖4中所示之全域讀取I/O 452上提供,而且該GWI/O信號526可在如圖4中所示之全域寫入I/O 450上提供。
再度參考圖5,顯示時間週期(a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、(i)、(j)、(k)、(l)、(m)、(n)、(o)及(p)。此等時間週期(a)至(p)之每一個出現於大約該時脈信號502之轉變之時間。時脈信號502不限於任何特定循環時間,因此時間週期(a)至(p)間之時間不限於任何特定數量之時間。
在各種具體實施例中,所接收並且待寫入至該記憶體陣列中之資料可稱為資料叢發。一資料叢發可指於一特定時間到達該錯誤碼模組之資料(例如但不限於D0)。一資料叢發可包含資料及關聯於該資料的一位址。在一些具體實施例中,關聯於該資料叢發的一位址可包含關聯於一位置的一位址,該位置可儲存關聯於該資料的一錯誤校正碼。在一些具體實施例中,一資料叢發可包含資料遮罩輸入。
於大約時間週期(a),時脈信號502之轉變出現,同時該WE(橫槓)信號504進行脈動。在各種具體實施例中,信號之此組合指示將資料寫入至該記憶體陣列中。於大約時間週期(a),以"D0"代表之資料係在資料信號506上提供,關聯於"D0"的一位址"ADD0"係在位址信號508上提供,而且關聯於"D0"之資料遮罩輸入"MASK0"係在資料遮罩輸入信號510上提供。ADD0係關聯於D0,其中ADD0包含資料D0 所儲存之位址。在一些具體實施例中,ADD0可包含D0之一錯誤校正碼所儲存的一位址。在各種具體實施例中,ADD0可包含選擇該記憶體陣列之一部分的一位址,關聯於已儲存在由包含於ADD0之ADD0之一資料部分所定址之記憶體陣列中之位置之資料的一錯誤校正碼係定位於該記憶體陣列中該處。
於大約時間週期(b),時脈信號502的一轉變出現,同時資料信號506提供資料"D1"並且位址信號508提供關聯於資料D1之位址"ADD1",而且資料遮罩輸入信號510提供關聯於資料D1之資料遮罩輸入"MASK1"。必要時,此等信號之任一者可或可不在此時間週期(b)提供。
在各種具體實施例中,可將資料D0與D1、位址A0與A1及資料遮罩輸入MASK0與MASK1儲存於輸入資料緩衝器,包含但不限於如圖4中所示之輸入資料緩衝器418。在各種具體實施例中,如前面所述,波形500可在一雙資料率器件中操作,因而資料D0與D1係在該時脈信號502之連續轉變上提供,而且一起處理。具體實施例不限於雙資料率器件,而且在一些具體實施例中,如以下對於該D0與D1資料所述,資料係以逐單一資料為主而提供並且以一個別為主而處理。
於大約時間週期(c),時脈信號502的一轉變出現,同時資料信號506提供資料"D2"並且位址信號508提供關聯於資料D2之位址"ADD2",而且資料遮罩輸入信號510提供關聯於資料D2之資料遮罩輸入"MASK1"。必要時,此等信號之 任一者可或可不在此時間週期(c)提供。
亦於大約時間週期(c),行選擇信號520提供一信號,用以起始從該資料之記憶體陣列讀取,該資料目前儲存於位在包含於ADD0與ADD1之位址之資料部分之記憶體陣列。在一些具體實施例中,其中ADD0與ADD1包含指示該記憶體陣列中之位置之額外位址,該等位置儲存與包含於ADD0與ADD1之資料部分之資料位置關聯之錯誤校正碼,此等錯誤校正碼亦將藉由行選擇信號520上提供之位址加以讀取。
在各種具體實施例中,可將在行選擇信號520所提供之信號施加於該記憶體陣列,導致從藉由該等ADD0與ADD1位址所指示之記憶體位置讀取資料。在各種具體實施例中,此讀取資料可藉由該LI/O信號522於大約時間週期(c)提供。此係如大約時間週期(c)在LI/O信號522開始之"DR 0,1"所示。在包含全域讀取I/O線之具體實施例中,該讀取資料可藉由該LI/O信號522於大約時間週期(c)提供給該GRI/O信號524,如於大約時間週期(c)在GRI/O信號524開始之該"DR 0,1"所示。在各種具體實施例中,該等全域讀取I/O線係受局域I/O線閘控,所以在LI/O信號522上提供之任何信號可提供於GRI/O信號524,如熟諳此技術者將瞭解,較少延遲存在於該等閘控電路中。
在各種具體實施例中,於大約時間週期(c)開始並且包含時間週期(c)與(d)間之時間讀取儲存在藉由位址ADD0與ADD1所指示之記憶體陣列之資料代表對資料D0與D1所執 行之讀取/修改/寫入程序之讀取部分。在各種具體實施例中,於已讀取該資料後開始的一時間週期並且至大約時間週期(f)期間,可對資料D0與D1執行該讀取/修改/寫入程序之修改部分。該修改部分可包含以上相對於用以提供待寫入至該記憶體陣列中之資料之錯誤碼模組所述之程序之任一者,其包含但不限於對來自該記憶體陣列之最初讀取資料執行錯誤校正、使用該等資料遮罩輸入組合已接收資料與該讀取資料,及產生該已接收資料或該已接收資料與該讀取資料之一組合的一錯誤校正碼。
如圖5中所示,及如以上所述,於大約時間週期(c),包含資料D2、關聯位址ADD2及關聯資料遮罩輸入MASK2之額外資料、位址資訊及資料遮罩係分別在資料信號506、位址信號508及資料遮罩輸入信號510上提供。於大約時間週期(d),包含資料D3、關聯位址ADD3及關聯資料遮罩輸入MASK3之額外資料、位址資訊及資料遮罩係分別在資料信號506、位址信號508及資料遮罩輸入信號510上提供。在各種具體實施例中,資料D2與D3之處理可以一類似於以上相對於資料D0與D1所述之方式一起進行。
可接收關於資料D2與D3之額外資料、位址資訊及資料遮罩,同時執行對於資料D0與D1所述之讀取及修改程序。在各種具體實施例中,可將該資料D2與D3伴隨該等關聯位址ADD2與ADD3及關聯資料遮罩輸入MASK2與MASK3儲存於一輸入資料緩衝器,其包含但不限於錯誤碼模組340之輸入資料緩衝器418。
如圖5中所示,於大約時間週期(e),已接收資料D2與D3及D2與D3之關聯位址與資料遮罩輸入,而且行選擇信號520提供一"read 2,3"信號。該read 2,3信號導致從該記憶體陣列讀取儲存於ADD2與ADD3之資料。該資料可在LI/O信號522上提供,如對於在大約時間週期(e)開始之LI/O信號522所示。可發生讀取在ADD2與ADD3之資料,同時相對於資料D0與D1之修改程序出現,因而已將關聯於D0與D1之所得資料寫入至該記憶體陣列。因此,接收額外資料D2與D3,而且在將關聯於該D0與該D1資料之資料寫入至該記憶體陣列前,對額外資料D2與D3執行包含該讀取/修改/寫入程序之讀取部分之初始處理。
在各種具體實施例中,於大約時間週期(e),包含資料D4、關聯位址ADD4及關聯資料遮罩輸入MASK4之額外資料、位址及資料遮罩係分別在資料信號506、位址信號508及資料遮罩輸入信號510上提供。可將資料D4、位址ADD4及資料遮罩輸入MASK4儲存於一輸入資料緩衝器,其包含但不限於錯誤碼模組340之輸入資料緩衝器418。
返回該圖5,於大約時間週期(f),已完成關於資料D0與D1之讀取/修改/寫入程序之讀取及修改部分,而且待寫入至在位址ADD0與ADD1之記憶體陣列之資料係使用在行選擇信號520之"write 0,1"信號提供給該記憶體陣列。在各種具體實施例中,待寫入至在位址ADD0與ADD1之記憶體陣列之資料係以在LI/O信號522於大約時間週期(f)開始之"DW 0,1"信號提供。在各種具體實施例中,該DW 0,1信號 可藉由該GWI/O信號526提供給該LI/O信號522,如在該GWI/O信號526於大約時間週期(f)開始所示。
在各種具體實施例中,於牽涉將關聯於該D0與D1之資料寫入至該記憶體陣列之寫入操作之時間期間,亦可執行關聯於該D2與該D3資料之讀取/修改/寫入程序之修改部分。
於大約時間週期(f),提供資料D5及關聯位址ADD5及關聯資料遮罩輸入MASK5。
於大約時間週期(g),行選擇線提供一"read 4,5"信號,造成讀取儲存於該記憶體陣列之ADD4與ADD5之資料。如圖5中所示,關聯於ADD4與ADD5之此讀取出現於僅繼將關聯於資料D0與D1之資料寫入至該記憶體陣列後並且繼關聯於資料D2與D3之讀取後之時脈信號502之一循環之一半之時間週期期間。因此,於大約時間週期(g),開始關聯於D4與D5之資料的一讀取,同時已出現關聯於資料D2與D3之資料之讀取,而且可出現關聯於該D2與D3之資料之修改,因而已出現關聯於資料D2與D3之資料之寫入。
於大約時間週期(h),已完成關於資料D2與D3之讀取/修改/寫入程序之讀取及修改部分,而且待寫入至在位址ADD2與ADD3之記憶體陣列之資料係使用在行選擇信號520之"write 2,3"信號提供給該記憶體陣列。在各種具體實施例中,待寫入至在位址ADD2與ADD3之記憶體陣列之資料係以在LI/O信號522於大約時間週期(h)開始之"DW 2,3"信號提供。在各種具體實施例中,該DW 2,3信號可藉由該 GWI/O信號526提供給該LI/O信號522,如在該GWI/O信號526於大約時間週期(h)開始所示。
如圖5中所示,介於在大約時間週期(e)開始讀取關聯於ADD2及ADD3之已儲存資料之時間與在大約時間週期(h)開始將儲存於ADD2及ADD3之資料寫入至該記憶體陣列之時間之間,已出現二個其他行循環操作,包含在大約時間(f)開始之write 0,1操作,及在大約時間週期(g)開始之read 4,5操作。
如圖5中所示,可接收例如資料D6與D7之額外資料伴隨額外關聯位址及關聯資料遮罩輸入,而且以如以上相對於資料D0與D1及D2與D3及資料D4與D5所述的一交錯方式加以處理。
如從圖5及從以上提供之說明應瞭解,資料可在例如時脈信號502之一時脈信號之每一轉變接收,而實質上不致中斷,並且同時對每一已接收資料執行一讀取/修改/寫入程序,甚至在該讀取/修改/寫入程序要求超出該時脈信號之一單一循環(二個轉變)之時間週期的一時間週期時。藉由將每一筆已接收資料之讀取/修改/寫入程序分割成一第一讀取半與一第二寫入半,及藉由以來自另一筆已接收資料之至少一讀取半或來自另一筆已接收資料之至少一寫入半或來自一或多個其他資料之一讀取半與一寫入半兩者交錯該第一讀取半與該第二寫入半,該讀取/修改/寫入程序可在用於不包含錯誤校正碼或資料遮罩操作或兩者之一簡單讀取或寫入操作之時脈率完成,而不致中斷接收該資料 之速率。此係藉由以該時脈信號之循環率之至少二倍之一速率操作該行選擇信號及藉由執行以其他已接收資料之讀取/修改/寫入程序所交錯之任一筆資料之讀取/修改/寫入操作而部分完成。
如圖5中所示,讀取自及寫入至該記憶體陣列之資料之資料轉移可使用該LI/O信號522進行。在一些具體實施例中,記憶體陣列之資料讀取可使用該GRI/O信號524加以轉移。在一些具體實施例中,寫入至該記憶體陣列之資料可使用該GWI/O信號526加以轉移。
如圖5中所示,大約時間週期(1),開始牽涉關聯於資料D6與D7之資料之寫入至該記憶體陣列之最後資料。在大約時間週期(m)之一半時脈循環內,接收一讀取請求,資料可從該記憶體讀取並且當作一輸出從該記憶體陣列提供。
圖6係說明根據本發明之各種具體實施例之數個方法的一流程圖。
方法600可包含於步驟610接收在對應複數個連續時脈循環待寫入至一記憶體陣列之複數個資料叢發。
在一些具體實施例中,接收複數個資料叢發可包含繼複數個連續時脈循環轉變之一第一時脈循環轉變後接收第一複數個資料位元,該第一複數個資料位元待寫入至儲存於一記憶體陣列中之一第一位址之一群資料位元之至少一部分。
在一些具體實施例中,接收複數個資料叢發可包含繼該 複數個連續時脈循環轉變之一第二時脈循環轉變後接收第二複數個資料位元,該第二複數個資料位元待寫入至儲存於該記憶體陣列中之一第二位址之一群資料位元之至少一部分。
在一些具體實施例中,接收該第二複數個資料位元包含:繼第二時脈循環轉變後並且於該複數個連續時脈循環轉變之一第四時脈循環轉變前,於該第二位址讀取一第二群已儲存資料位元,以產生一第二群讀取資料位元,藉由組合該第二複數個資料位元與該第二群讀取資料位元而產生一第二群寫入資料位元、產生該第二群寫入資料位元之一第二錯誤校正碼,及將該第二群寫入資料位元寫入至該第二位址。
方法600可包含於步驟620執行該複數個資料叢發之每一資料叢發的一讀取/修改/寫入程序,其可包含在不長於該對應複數個連續時脈循環之二個循環之一週期的一時間週期內執行該讀取/修改/寫入程序。
在一些具體實施例中,執行該讀取/修改/寫入程序包含決定待寫入所處理之一特定資料叢發之記憶體陣列中的一位址,及從該位址讀取複數個已儲存資料位元。
在一些具體實施例中,執行該讀取/修改/寫入程序包含接收關聯於所處理之特定資料叢發的一資料遮罩,及藉由將來自已設定該資料遮罩之複數個已儲存資料位元之任何位元及來自尚未設定該資料遮罩之所處理之特定資料叢發之任何位元包含於該已修改複數個資料位元中,提供已修 改複數個資料位元。
在一些具體實施例中,執行該讀取/修改/寫入程序包含產生該已修改複數個資料位元之一錯誤校正碼。在一些具體實施例中,執行該讀取/修改/寫入程序包含將該已修改複數個資料位元寫入至該記憶體陣列中之位址,及將該錯誤校正碼寫入至該記憶體陣列。在一些具體實施例中,將該錯誤校正碼寫入至該記憶體陣列包含將該錯誤校正碼寫入至記憶體陣列中之位址。在一些具體實施例中,將該錯誤校正碼寫入至該記憶體陣列包含將該錯誤校正碼寫入至該記憶體陣列中之一不同位址。
在一些具體實施例中,執行該讀取/修改/寫入程序包含繼第一時脈循環轉變後並且於該複數個連續時脈循環轉變之一第三時脈循環轉變前:於該第一位址讀取一第一群已儲存資料位元,以產生一第一群讀取資料位元;藉由組合該第一複數個資料位元與該第一群讀取資料位元而產生一第一群寫入資料位元;產生該第一群寫入資料位元之一第一錯誤校正碼;及將該第一群寫入資料位元寫入至該第一位址。
在各種具體實施例中,於該第一位址讀取可包含:在該記憶體陣列之複數個位址線上提供該第一位址,及將該資料儲存於在複數個局域輸入/輸出線上提供之第一位址。在各種具體實施例中,儲存該資料可包含:閘控從該局域輸入/輸出線至複數個全域輸入/輸出線之儲存於該第一位址之資料。
在各種具體實施例中,產生一第一群寫入資料位元可包含接收該第一群寫入資料位元、於大約將該第一群寫入資料位元寫入至該動態隨機存取記憶體陣列的一時間接收代表該第一寫入群寫入資料位元之一狀態的一錯誤碼,及基於代表該第一群寫入資料位元之一狀態之錯誤碼而決定包含於該第一群寫入資料位元之位元之任一者是否包含一錯誤。各種具體實施例可包含校正包含於該第一群寫入資料位元之複數個資料位元之任一資料位元中的一錯誤。
在各種具體實施例中,產生該第一群寫入資料位元可包含接收一或多個遮罩輸入,每一遮罩輸入關聯於該第一群讀取資料位元的一選定部分,及藉由將其一或多個遮罩輸入指示已設定一遮罩狀態之第一讀取群資料位元之每一選定部分包含於該第一群寫入資料位元中而遮罩該第一群寫入資料位元。各種具體實施例可包含在該第一群寫入資料位元中具有其一或多個遮罩輸入指示尚未設定該遮罩狀態之第一複數個資料位元之每一選定部分。
在各種具體實施例中,產生一第一錯誤碼可包含基於該第一群寫入資料位元而產生一漢明碼。在各種具體實施例中,寫入該第一群寫入資料位元可包含將代表該第一群寫入資料位元之已產生第一錯誤碼之複數個錯誤碼位元寫入至該第一位址。在各種具體實施例中,寫入該第一寫入群資料位元可包含將該第一錯誤碼寫入至關聯於該第一位址的一第一錯誤校正碼位址,其中該第一錯誤校正碼位址係與該第一位址不同的一位址。
在各種具體實施例中,執行一讀取/修改/寫入程序可包含於一第一時脈循環期間提供一第一資料叢發,及於一第二並且連續時脈循環期間提供一第二資料叢發,而且在不長於由該第一時脈循環及該第二時脈循環所定義之一間隔的一時間週期內:於一局域輸入/輸出提供第一複數個資料位元,其關聯於耦合至記憶體單元之一陣列的一字線及第一複數個行選擇線,閘控從該局域輸入/輸出至一全域讀取輸入/輸出之第一複數個資料位元,於閘控至該全域讀取輸入/輸出之第一複數個資料位元後從該局域輸入/輸出清除該第一複數個資料位元,於該局域輸入/輸出提供第二複數個資料位元,其關聯於耦合至記憶體單元之陣列之字線及第二複數個行選擇線,閘控從該局域輸入/輸出至該全域讀取輸入/輸出之第二複數個資料位元,於閘控至該全域讀取輸入/輸出之第二複數個資料位元後從該局域輸入/輸出清除該第二複數個資料位元,提供包含關聯於該第一複數個寫入資料位元之複數個錯誤校正碼位元之第一複數個寫入資料位元給一全域寫入輸入/輸出,於從該局域輸入/輸出清除該第二複數個資料位元後透過該局域輸入/輸出將包含該等錯誤碼位元之第一複數個寫入資料位元寫入至關聯於該字線及該第一複數個行選擇線之記憶體單元之陣列。
各種具體實施例可包含具有一第一時脈循環轉變及一第二時脈循環轉變之第一時脈循環。提供該第一複數個資料位元、閘控該第一複數個資料位元及清除該第一複數個資 料位元可出現於該第一時脈循環轉變與該第二時脈循環轉變間的一時間週期期間。
各種具體實施例可包含具有一第三時脈循環轉變及一第四時脈循環轉變之第二時脈循環。提供該第二複數個資料位元、閘控該第二複數個資料位元及清除該第二複數個資料位元可出現於該第三時脈循環轉變與該第四時脈循環轉變間的一時間週期期間。
在一些具體實施例中,寫入該第一複數個寫入資料位元可包含於該第四時脈循環轉變與該第二時脈循環轉變之一結束間的一時間週期期間:閘控從該全域寫入輸入/輸出至該局域輸入/輸出之第一複數個寫入資料位元及該等錯誤校正碼位元,將該第一複數個資料位元及該等錯誤校正碼位元從該局域輸入/輸出寫入至記憶體單元之陣列,及從該局域輸入/輸出清除該第一複數個資料位元及該等錯誤校正碼位元。
本發明之具體實施例不限於以任何特定樣式或次序寫入各種暫存器。應瞭解,其他樣式之暫存器寫入(如例如由包含於控制器204中及如包含於例如但不限於處理器102之供應該等外部信號之器件中之指令所決定)可用於寫入至包含於本發明之各種具體實施例之暫存器。
當然,希望以上說明係說明性而非限制。例如,可使用上述具體實施例(及/或其態樣)進行彼此組合。於接收以上說明時,許多其他具體實施例對於熟習此項技術者而言將為顯然可知的。因此,本發明之範疇應參考隨附申請專利 範圍且伴隨此類申請專利範圍被賦予權利之均等物之完全範疇而決定。在隨附申請專利範圍中,術語"包含"及"其中"係用以當作該等個別術語"包括"及"其中"之白話英語均等物。同時,在下列申請專利範圍中,術語"包含"及"包括"係開放式,亦即,包含在一如請求項中之此一術語後所列元件以外之元件的一系統、器件、物品或程序仍然視為落為該申請專利範圍之範疇內。再者,在下列申請專利範圍中,術語"第一"、"第二"及"第三"等僅用以當作標記,而且不希望對其標的強加數字要求。
該揭示內容之摘要係提供以符合37 C.F.R.§1.72(b),其要求一摘要以便將允許讀者快速地確定該技術揭示內容之性質。對於所提出,應瞭解,其並非用以解譯或限制該申請專利範圍之範疇或意義。此外,在前述詳細說明中,可將各種特點分組於一起,以便使該揭示內容流暢。不應將該揭示內容之此方法解譯成反映希望主張之具體實施例較每一請求項中之明確陳述要求更多特點。反而,如以下申請專利範圍所反映,本發明之主題可小於一單一揭示之具體實施例之所有特點。因此藉此將以下申請專利範圍併入該詳細說明中,其中每一請求項堅持其本身為一獨立具體實施例。
結論
本文已將各種具體實施例說明成用於實現相對於包含錯誤校正碼之記憶體器件之一內部讀取/修改/寫入程序及/或遮罩操作的一機制。該程序可使用耦合至該記憶體陣列的 一錯誤校正模組而內部處理。在各種具體實施例中,該記憶體器件包含DRAM,而且藉由使用錯誤校正碼,可延長該再新時間間隔,藉以改良該記憶體器件之總體效能。在各種具體實施例中,寫入操作可包含資料遮罩,所以一讀取/修改/寫入程序可仍然以一時脈率執行,其中該標準讀取/修改/寫入程序可能無法在該時脈率的一單一行循環內執行。
20‧‧‧記憶體單元
22‧‧‧存取電晶體
24‧‧‧電容器
26‧‧‧數位線
28‧‧‧字線
30‧‧‧節點
32‧‧‧記憶體陣列結構
300‧‧‧系統
301‧‧‧DRAM
302‧‧‧位址線
303‧‧‧時脈電路
304‧‧‧資料線
305‧‧‧控制線
306‧‧‧控制邏輯
307‧‧‧時脈信號
310‧‧‧記憶體陣列
312‧‧‧列位址緩衝器
314‧‧‧列解碼器
315‧‧‧字線
316‧‧‧行位址緩衝器
317‧‧‧位元線
318‧‧‧行解碼器
319‧‧‧行選擇線
320‧‧‧感測放大器
326‧‧‧處理器
328‧‧‧資料遮罩輸入
330‧‧‧個人數位助理
332‧‧‧連接
340‧‧‧錯誤碼模組
350‧‧‧顯示器
400‧‧‧裝置
402‧‧‧資料緩衝器
403‧‧‧時脈產生電路
410‧‧‧讀取資料暫存器
412‧‧‧已修改資料暫存器
414‧‧‧錯誤校正碼暫存器
416‧‧‧讀取錯誤校正碼暫存器
418‧‧‧輸入資料緩衝器
420‧‧‧輸出資料緩衝器
430‧‧‧錯誤碼計算單元
432‧‧‧連接
434‧‧‧資料組合器
436‧‧‧連接
440‧‧‧記憶體陣列
442‧‧‧ECC區段
444‧‧‧感測放大器
446(A),446(N)‧‧‧局域I/O
447(A),447(N)‧‧‧讀取介面
448(A),448(N)‧‧‧寫入介面
448‧‧‧寫入介面
452‧‧‧全域讀取I/O
500‧‧‧波形
502‧‧‧時脈信號
504‧‧‧WE(槓桿)信號
506‧‧‧資料信號
508‧‧‧位址信號
510‧‧‧資料遮罩輸入信號
520‧‧‧行選擇信號
522‧‧‧局域輸入/輸出(LI/O)信號
524‧‧‧全域讀取輸入/輸出(GRI/O)信號
526‧‧‧全域寫入輸入/輸出(GWI/O)信號
BL1 至BLN ‧‧‧位元線
WL0 至WLN ‧‧‧字線
D0,D1,D2,D3‧‧‧數位線/資料
圖1係一先前技術DRAM記憶體單元;圖2係一先前技術已簡化記憶體陣列結構的一示意圖;圖3係根據本發明之各種具體實施例之一系統的一功能組塊圖;圖4係根據本發明之各種具體實施例的一裝置;圖5係包含根據本發明之各種具體實施例之波形的一時序圖;以及圖6係說明根據本發明之各種具體實施例之數個方法的一流程圖。
300‧‧‧系統
301‧‧‧DRAM
302‧‧‧位址線
303‧‧‧時脈電路
304‧‧‧資料線
305‧‧‧控制線
306‧‧‧控制邏輯
307‧‧‧時脈信號
310‧‧‧記憶體陣列
312‧‧‧列位址緩衝器
314‧‧‧列解碼器
315‧‧‧字線
316‧‧‧行位址緩衝器
317‧‧‧位元線
318‧‧‧行解碼器
319‧‧‧行選擇線
320‧‧‧感測放大器
326‧‧‧處理器
328‧‧‧資料遮罩輸入
330‧‧‧個人數位助理
332‧‧‧連接
340‧‧‧錯誤碼模組
350‧‧‧顯示器
BL1至BLN‧‧‧位元線
WL1至WLN‧‧‧字線

Claims (48)

  1. 一種錯誤校正裝置,其包括:一錯誤碼模組,其可操作以接收在對應複數個連續時脈循環待寫入至一記憶體之複數個資料叢發,該錯誤碼模組可操作以便在一時間週期內對該複數個資料叢發之每一資料叢發執行一讀取/修改/寫入程序,該時間週期不長於二個連續循環的一週期;其中該錯誤碼模組可進一步操作以交錯該讀取/修改/寫入程序之操作,使得讀取及寫入操作不會同時發生。
  2. 如請求項1之裝置,其中該錯誤碼模組包括一資料組合器,其可操作以產生該複數個資料叢發之每一資料叢發的一已修改資料叢發。
  3. 如請求項2之裝置,其中該錯誤碼模組包括一讀取資料暫存器,其耦合至該資料組合器,該讀取資料暫存器可操作以接收複數個資料位元,其儲存於該複數個資料叢發之一資料叢發待寫入之記憶體中的一位址,及於大約將該複數個資料叢發之一資料叢發提供給該資料組合器的一相同時間將該複數個資料位元提供給該資料組合器。
  4. 如請求項2之裝置,其包括至少一資料遮罩輸入,其耦合至該資料組合器,而且可操作以便將該複數個資料叢發之每一資料叢發的一資料遮罩設定提供給該資料組合器。
  5. 如請求項2之裝置,其包括一已修改資料暫存器,其耦 合至該資料組合器,而且可操作以儲存該已修改資料叢發。
  6. 如請求項2之裝置,其中該錯誤碼模組包括一錯誤碼計算單元,其可操作以產生該已修改資料叢發的一錯誤校正碼。
  7. 如請求項6之裝置,其中該錯誤碼模組包括一錯誤校正碼暫存器,其耦合至該錯誤碼計算單元,而且可操作以儲存該錯誤校正碼。
  8. 如請求項7之裝置,其包括複數個輸入/輸出線,其耦合至該錯誤校正碼暫存器及至該記憶體,而且可操作以便將儲存於該錯誤校正碼暫存器之該錯誤校正碼提供給該記憶體。
  9. 如請求項1之裝置,其包括複數個輸入/輸出線,其耦合至該錯誤碼模組及至該記憶體,該錯誤碼模組可操作以接收來自該記憶體之複數個讀取資料位元,及在該複數個輸入/輸出線上將複數個寫入資料位元寫入至該記憶體。
  10. 如請求項1之裝置,其包括一錯誤碼計算單元,其耦合至一讀取資料暫存器及一讀取錯誤碼暫存器,該錯誤碼計算單元可操作以便基於讀取自該記憶體並且儲存於該讀取錯誤碼暫存器的一錯誤校正碼而決定讀取自該記憶體並且儲存於該讀取資料暫存器之複數個位元中的一位元是否需要校正,及將包含來自該複數個位元之任何已校正位元之複數個位元提供給一已校正資料暫存器。
  11. 如請求項10之裝置,其包括一資料組合器,其耦合至該已校正資料暫存器及至一輸入資料緩衝器,該已校正資料暫存器可操作以便在大約將於該輸入資料緩衝器所接收之複數個資料叢發之至少一資料叢發提供給該資料組合器之實質上相同時間將儲存於該已校正資料暫存器之複數個位元提供給該資料組合器。
  12. 一種記憶體陣列錯誤校正方法,其包括:接收在對應複數個連續時脈循環之複數個資料叢發;在一時間週期內執行該複數個資料叢發之每一資料叢發的一讀取/修改/寫入程序;以及其中在一時間週期內執行該讀取/修改/寫入程序之個別一者,該時間週期不長於該對應複數個連續時脈循環之二個循環的一週期,且該讀取/修改/寫入程序之多個讀取及寫入操作不會同時發生。
  13. 如請求項12之方法,其中執行該複數個資料叢發之每一資料叢發之讀取/修改/寫入程序包含:決定一位址,該位址待寫入至經處理之一特定資料叢發;以及從該位址讀取複數個已儲存資料位元。
  14. 如請求項13之方法,其中執行該複數個資料叢發之每一資料叢發之讀取/修改/寫入程序包含:接收關聯於所處理之特定資料叢發的一資料遮罩;以及藉由將來自已設定該資料遮罩之複數個已儲存資料位元之任何位元及來自尚未設定該資料遮罩之所處理之該 特定資料叢發之任何位元包含於該已修改複數個資料位元中,提供一已修改複數個資料位元。
  15. 如請求項14之方法,其中執行該複數個資料叢發之每一資料叢發之讀取/修改/寫入程序包含:產生該已修改複數個資料位元的一錯誤校正碼。
  16. 如請求項15之方法,其中執行該複數個資料叢發之每一資料叢發之讀取/修改/寫入程序包含:將該已修改複數個資料位元寫入至該位址;以及將該錯誤校正碼寫入。
  17. 如請求項16之方法,其中將該錯誤校正碼寫入至該記憶體陣列包含:將該錯誤校正碼寫入至該位址。
  18. 如請求項16之方法,其中將該錯誤校正碼寫入至該記憶體陣列包含:將該錯誤校正碼寫入至一不同位址。
  19. 一種錯誤校正方法,其包括:接收第一複數個輸入位元及一第一位址;以及於該第一位址讀取一第一群已儲存資料位元,以響應一第一時脈循環轉變而產生一第一群讀取資料位元;接收第二群輸入位元及一第二位址;藉由組合該第一複數個輸入位元與該第一群讀取資料位元而產生一第一群寫入資料位元;於該第二位址讀取一第二群已儲存資料位元,以響應一第二時脈循環轉變而產生一第二群讀取資料位元; 藉由組合該第二複數個輸入位元與該第一群讀取資料位元而產生一第二群寫入資料位元;以及在於該第二位址讀取後,在一第三時脈循環轉變前將該第一群寫入資料位元寫入至該第一位址;其中於該第一位址之該讀取及該寫入不會同時發生,且於該第二位址之該讀取及該寫入不會同時發生。
  20. 如請求項19之方法,其包括:在寫入該第一群寫入資料位元後接收第三複數個輸入位元及一第三位址。
  21. 如請求項20之方法,其包括:於該第三位址讀取一第三群已儲存資料位元,以響應一第三時脈循環轉變而產生一第三群讀取資料位元。
  22. 如請求項19之方法,其中於該第一位址讀取包括:在一記憶體陣列之複數個位址線上提供該第一位址;以及於該資料緩衝器接收在複數個局域輸入/輸出線上提供之該第一群已儲存資料位元。
  23. 如請求項22之方法,其中接收第一群已儲存資料位元包括:閘控從該複數個局域輸入/輸出線至複數個全域輸入/輸出線之該第一群已儲存資料位元。
  24. 如請求項19之方法,其中產生一第一群寫入資料位元包括: 接收該第一群讀取資料位元;於大約將該第一群讀取資料位元寫入至一記憶體陣列的一時間接收代表該第一群讀取資料位元之一狀態的一錯誤校正碼;以及基於代表該第一群讀取資料位元之一狀態之該錯誤校正碼而決定包含於該第一群讀取資料位元之任何個別位元是否包含一錯誤。
  25. 如請求項24之方法,其包括:校正包含於該第一群寫入資料位元之複數個資料位元之任一者中的一錯誤。
  26. 如請求項19之方法,其中產生該第一群寫入資料位元包括:接收關聯於該第一群讀取資料位元之一選定部分的一遮罩輸入;以及藉由將其遮罩輸入指示已設定一遮罩狀態之該第一群讀取資料位元之該選定部分包含於該第一群寫入資料位元中,遮罩該第一群寫入資料位元。
  27. 如請求項26之方法,其包括:將其遮罩輸入指示尚未設定該遮罩狀態之該第一複數個資料位元之一選定部分包含於該第一群寫入資料位元中。
  28. 如請求項19之方法,其中產生一第一錯誤校正碼包括:基於該第一群寫入資料位元產生一漢明碼。
  29. 如請求項19之方法,其中寫入該第一群寫入資料位元包 括:將代表該第一群寫入資料位元之第一錯誤校正碼之複數個錯誤校正碼位元寫入至該第一位址。
  30. 如請求項19之方法,其中寫入該第一群寫入資料位元包括:將該第一錯誤校正碼寫入至關聯於該第一位址的一第一錯誤碼位址,其中該第一錯誤碼位址係與該第一位址不同的一位址。
  31. 一種錯誤校正方法,其包括:於一第一時脈循環期間提供一第一資料叢發,而且於一第二且連續時脈循環期間提供一第二資料叢發;以及在不長於由該第一時脈循環及該第二時脈循環所定義之一間隔的一時間週期內:接收對應該第一資料叢發之第一複數個資料位元;接收對應該第二資料叢發之第二複數個資料位元;組合該第一資料叢發及該第一複數個資料位元以產生複數個寫入資料位元;在組合後儲存該複數個寫入資料位元;在儲存後產生關聯於該複數個寫入資料位元之複數個錯誤校正碼位元;以及將該複數個寫入資料位元以及該複數個錯誤校正碼位元寫入至一記憶體單元之陣列。
  32. 如請求項31之方法,其中該第一時脈循環包含一第一時脈循環轉變及一第二時脈循環轉變,且該接收該第一複 數個資料位元出現於該第一時脈循環轉變與該第二時脈循環轉變間的一時間週期期間。
  33. 如請求項31之方法,其中該該接收該第一複數個資料位元包含:從一記憶體陣列輸出該第一複數個資料位元至該局域輸入/輸出;從一局域輸入/輸出閘控該第一複數個資料位元至一全域讀取輸入/輸出;以及儲存該第一複數個資料位元。
  34. 如請求項33之方法,其中寫入該第一複數個寫入資料位元包括:從該全域寫入輸入/輸出提供該第一複數個寫入資料位元及該複數個錯誤校正碼位元至該局域輸入/輸出;以及將該第一複數個資料位元及該複數個錯誤校正碼位元從該局域輸入/輸出寫入至記憶體單元之該陣列。
  35. 一種錯誤校正系統,其包括:一處理器,其耦合至一記憶體陣列,該處理器可操作以提供在對應複數個連續時脈循環待寫入至一記憶體之複數個資料叢發;以及一錯誤碼模組,其耦合至該處理器及至該記憶體,該錯誤碼模組可操作以接收該複數個資料叢發,及在一時間週期內執行該複數個資料叢發之每一資料叢發的一讀取/修改/寫入程序,該時間週期不長於該複數個連續時脈循環之二個循環的一週期, 其中該錯誤碼模組可進一步操作以交錯該讀取/修改/寫入程序之操作,使得讀取及寫入操作不會同時發生。
  36. 如請求項35之系統,其中該錯誤碼模組包含:複數個資料遮罩輸入,其耦合至一資料組合器,該複數個資料遮罩輸入可操作以接收該複數個資料叢發之每一資料叢發之一資料遮罩,該資料組合器可操作以個別接收該複數個資料叢發之每一資料叢發,及基於該複數個資料叢發之每一資料叢發之該資料遮罩修改該複數個資料叢發之每一資料叢發而產生一已修改資料叢發。
  37. 如請求項36之系統,其中該錯誤碼模組包含:一錯誤碼計算單元,其耦合至該資料組合器,該錯誤碼計算單元可操作以接收該已修改資料叢發,及基於該已修改資料叢發提供一錯誤校正碼。
  38. 如請求項35之系統,包含複數個輸入/輸出,其耦合至該記憶體及至該錯誤碼模組。
  39. 如請求項38之系統,其中該複數個輸入/輸出包含複數個局域輸入/輸出,其耦合至包含於該記憶體之複數個可定址群之單元,且其中該複數個可定址群之單元之每一者係耦合至該複數個局域輸入/輸出之至少一局域輸入/輸出。
  40. 如請求項39之系統,其包含:至少一全域讀取輸入/輸出,其耦合至該複數個局域輸入/輸出及至包含於該錯誤碼模組的一讀取資料暫存器,該至少一全域讀取輸入/輸出可操作以將儲存於該複數個 可定址群之記憶體單元之任一者之複數個資料位元提供給該讀取資料暫存器。
  41. 如請求項39之系統,其包含:至少一全域寫入輸入/輸出,其耦合至該複數個局域輸入/輸出及至包含於該錯誤碼模組的一或多個暫存器,該至少一全域寫入輸入/輸出可操作以將一已修改資料叢發及關聯於該已修改資料叢發的一錯誤校正碼提供給該複數個可定址群之記憶體單元之至少一者。
  42. 如請求項35之系統,其中該錯誤碼模組經進一步組態以同時執行修改及寫入操作。
  43. 如請求項35之系統,其中該錯誤碼模組包含一資料組合器,其耦合至一資料叢發暫存器及至一讀取資料暫存器,該資料叢發暫存器可操作以接收該複數個資料叢發,而且該讀取資料暫存器耦合至該記憶體,並且可操作以接收儲存於該複數個資料叢發之一選定資料叢發待寫入之記憶體中之一位址之資料。
  44. 如請求項35之系統,其包含:一時脈電路,其耦合至該處理器,而且可操作以產生該複數個連續時脈循環,及一半循環時脈產生電路,其耦合至該時脈電路及至該錯誤碼模組,該半循環時脈產生電路可操作以產生複數個連續時脈循環,其具有大約該時脈電路之一速率之二倍的一速率。
  45. 如請求項35之系統,其中該記憶體包含動態隨機存取記憶體。
  46. 如請求項35之系統,其中該記憶體係包含於一攝影機。
  47. 如請求項35之系統,其中該錯誤碼模組包括一組合器,其經組態以組合資料叢發及對應於該資料叢發而儲存於該記憶體陣列中之資料。
  48. 如請求項35之系統,其中該記憶體係包含於一行動電話。
TW097104981A 2007-02-12 2008-02-12 記憶體陣列錯誤校正裝置,系統及方法 TWI384355B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/705,190 US7945840B2 (en) 2007-02-12 2007-02-12 Memory array error correction apparatus, systems, and methods

Publications (2)

Publication Number Publication Date
TW200849000A TW200849000A (en) 2008-12-16
TWI384355B true TWI384355B (zh) 2013-02-01

Family

ID=39686893

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097104981A TWI384355B (zh) 2007-02-12 2008-02-12 記憶體陣列錯誤校正裝置,系統及方法

Country Status (5)

Country Link
US (3) US7945840B2 (zh)
KR (1) KR101089409B1 (zh)
CN (1) CN101647004B (zh)
TW (1) TWI384355B (zh)
WO (1) WO2008100462A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI502601B (zh) * 2013-04-24 2015-10-01 Ind Tech Res Inst 混合式錯誤修復方法及其記憶體裝置

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US7386656B2 (en) * 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8386722B1 (en) * 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
DE112006002300B4 (de) 2005-09-02 2013-12-19 Google, Inc. Vorrichtung zum Stapeln von DRAMs
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US7945840B2 (en) 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods
KR100855979B1 (ko) * 2007-02-13 2008-09-02 삼성전자주식회사 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
US9594679B2 (en) * 2008-05-01 2017-03-14 Sandisk Il Ltd. Flash cache flushing method and system
US9489326B1 (en) * 2009-03-09 2016-11-08 Cypress Semiconductor Corporation Multi-port integrated circuit devices and methods
EP2441007A1 (en) 2009-06-09 2012-04-18 Google, Inc. Programming of dimm termination resistance values
CN102714061A (zh) 2009-11-20 2012-10-03 拉姆伯斯公司 用于dram故障校正的位替代技术
US8311754B2 (en) * 2009-12-10 2012-11-13 Home Comfort Zones Power monitoring and analysis system for identifying and tracking individual electrical devices
US8397005B2 (en) * 2010-03-16 2013-03-12 St-Ericsson Sa Masked register write method and apparatus
KR101212759B1 (ko) * 2010-10-29 2012-12-14 에스케이하이닉스 주식회사 데이터 오류 검사 기능을 이용한 데이터 전송 방법, 데이터 오류 검사 기능을 이용한 반도체 메모리 및 메모리 시스템
US8644104B2 (en) 2011-01-14 2014-02-04 Rambus Inc. Memory system components that support error detection and correction
US8560925B2 (en) * 2011-04-05 2013-10-15 Denso International America, Inc. System and method for handling bad bit errors
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
KR101882681B1 (ko) * 2011-10-27 2018-07-31 삼성전자 주식회사 메모리 장치 및 그 구동 방법
US20130159812A1 (en) * 2011-12-16 2013-06-20 Advanced Micro Devices, Inc. Memory architecture for read-modify-write operations
CN103247347B (zh) * 2012-02-11 2017-07-25 三星电子株式会社 提供智能存储器架构的方法和系统
US9679664B2 (en) 2012-02-11 2017-06-13 Samsung Electronics Co., Ltd. Method and system for providing a smart memory architecture
US9037949B1 (en) 2012-06-21 2015-05-19 Rambus Inc. Error correction in a memory device
US9411678B1 (en) 2012-08-01 2016-08-09 Rambus Inc. DRAM retention monitoring method for dynamic error correction
KR101944793B1 (ko) * 2012-09-04 2019-02-08 삼성전자주식회사 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
KR102002925B1 (ko) 2012-11-01 2019-07-23 삼성전자주식회사 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US9734921B2 (en) 2012-11-06 2017-08-15 Rambus Inc. Memory repair using external tags
US9311181B2 (en) 2012-11-15 2016-04-12 Samsung Electronics Co., Ltd. Memory controller changing partial data in memory device and method for changing partial data thereof
US9196347B2 (en) 2013-03-14 2015-11-24 International Business Machines Corporation DRAM controller for variable refresh operation timing
US9588840B2 (en) 2013-04-18 2017-03-07 Samsung Electronics Co., Ltd. Memory devices that perform masked write operations and methods of operating the same
US9280418B2 (en) * 2013-08-01 2016-03-08 Integrated Silicon Solution, Inc. Memory device implementing reduced ECC overhead
KR102122932B1 (ko) * 2013-08-08 2020-06-15 삼성전기주식회사 적층 세라믹 커패시터 및 적층 세라믹 커패시터 실장 기판
CN110265071B (zh) 2013-09-24 2023-05-12 拉姆伯斯公司 具有内部读取-修改-写入操作的存储部件
CN103500107B (zh) * 2013-09-29 2017-05-17 中国船舶重工集团公司第七0九研究所 一种cpu的硬件优化方法
US9583219B2 (en) * 2014-09-27 2017-02-28 Qualcomm Incorporated Method and apparatus for in-system repair of memory in burst refresh
CN107003857B (zh) * 2014-12-19 2019-06-18 美光科技公司 用于流水线处理具有纠错译码的存储器操作的方法
US10061645B2 (en) 2015-06-30 2018-08-28 Qualcomm Incorporated Memory array and link error correction in a low power memory sub-system
US20170126249A1 (en) * 2015-10-30 2017-05-04 Intel Corporation Temperature dependent multiple mode error correction
US10140175B2 (en) 2015-11-20 2018-11-27 Qualcomm Incorporated Protecting an ECC location when transmitting correction data across a memory link
US9952925B2 (en) * 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US11481126B2 (en) 2016-05-24 2022-10-25 Micron Technology, Inc. Memory device error based adaptive refresh rate systems and methods
GB2550929A (en) * 2016-05-31 2017-12-06 Advanced Risc Mach Ltd An apparatus and method for generating an error code for a block comprising a plurality of data bits and a plurality of address bits
KR102638790B1 (ko) 2016-09-13 2024-02-21 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10120749B2 (en) * 2016-09-30 2018-11-06 Intel Corporation Extended application of error checking and correction code in memory
US10503435B2 (en) * 2016-12-01 2019-12-10 Qualcomm Incorporated Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems
US10068636B2 (en) * 2016-12-30 2018-09-04 Intel Corporation Apparatuses and methods for accessing and scheduling between a plurality of row buffers
US10572344B2 (en) 2017-04-27 2020-02-25 Texas Instruments Incorporated Accessing error statistics from DRAM memories having integrated error correction
KR102388803B1 (ko) * 2017-11-02 2022-04-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR102456582B1 (ko) * 2017-12-19 2022-10-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
WO2019231489A1 (en) 2018-05-29 2019-12-05 Micron Technology, Inc. Apparatuses and methods for setting a duty cycle adjuster for improving clock duty cycle
US10769013B1 (en) * 2018-06-11 2020-09-08 Cadence Design Systems, Inc. Caching error checking data for memory having inline storage configurations
US10642684B1 (en) 2018-06-28 2020-05-05 Cadence Design Systems, Inc. Memory command interleaving
US10963329B2 (en) * 2018-10-17 2021-03-30 Omnivision Technologies, Inc. Universal register read back
US10715127B2 (en) 2018-11-21 2020-07-14 Micron Technology, Inc. Apparatuses and methods for using look-ahead duty cycle correction to determine duty cycle adjustment values while a semiconductor device remains in operation
US11869972B2 (en) 2018-11-26 2024-01-09 Etron Technology, Inc. Reduced-form-factor transistor with self-aligned terminals and adjustable on/off-currents and manufacture method thereof
CN111554680B (zh) 2018-12-10 2023-09-05 钰创科技股份有限公司 统一集成电路系统
US11616128B2 (en) 2019-04-19 2023-03-28 Etron Technology, Inc. Transistor structure with reduced leakage current and adjustable on/off current
US11449432B2 (en) * 2019-05-24 2022-09-20 Texas Instruments Incorporated Methods and apparatus for eviction in dual datapath victim cache system
CN113874943B (zh) * 2019-05-31 2025-06-20 美光科技公司 实现互连冗余的嵌入式快闪存储器体系结构
US11269720B2 (en) 2019-08-11 2022-03-08 Winbond Electronics Corp. Memory storage apparatus and data access method
US11294766B2 (en) 2019-08-13 2022-04-05 Micron Technology, Inc. Coordinated error correction
KR20210023317A (ko) 2019-08-22 2021-03-04 에스케이하이닉스 주식회사 반도체장치
KR102822816B1 (ko) * 2020-04-01 2025-06-19 삼성전자주식회사 반도체 메모리 장치
US11720258B2 (en) * 2020-07-01 2023-08-08 Micron Technology, Inc. Memory bypass for error detection and correction
US11379306B1 (en) * 2021-07-29 2022-07-05 Bae Systems Information And Electronic System Integration Inc. Method for radiation hardening synchronous DRAM
US12040013B2 (en) * 2021-08-11 2024-07-16 Stmicroelectronics International N.V. Static random access memory supporting a single clock cycle read-modify-write operation
CN114760011B (zh) * 2021-10-15 2023-10-20 苏州纳芯微电子股份有限公司 单通道通信编码方法、解码方法、编码电路及解码电路
US11798617B2 (en) 2022-03-23 2023-10-24 Changxin Memory Technologies, Inc. Method and apparatus for determining sense boundary of sense amplifier, medium, and device
US11978504B2 (en) 2022-03-23 2024-05-07 Changxin Memory Technologies, Inc. Method and apparatus for determining sense boundary of sense amplifier, medium, and device
CN116844618A (zh) * 2022-03-23 2023-10-03 长鑫存储技术有限公司 存储器测试方法及装置、介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW436799B (en) * 1997-12-31 2001-05-28 Samsung Electronics Co Ltd Multi-bit memory device having error check and correction circuit and method for checking and correcting data errors therein
TWI222078B (en) * 2002-04-30 2004-10-11 Ibm Testing of ECC memories
US20060200728A1 (en) * 2005-03-04 2006-09-07 Takeshi Nagai Synchronous semiconductor storage device having error correction function
US7143332B1 (en) * 2003-12-16 2006-11-28 Xilinx, Inc. Methods and structures for providing programmable width and error correction in memory arrays in programmable logic devices

Family Cites Families (10)

* 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
US5590304A (en) * 1994-06-13 1996-12-31 Covex Computer Corporation Circuits, systems and methods for preventing queue overflow in data processing systems
US5859858A (en) * 1996-10-25 1999-01-12 Intel Corporation Method and apparatus for correcting a multilevel cell memory by using error locating codes
US5974514A (en) * 1996-11-12 1999-10-26 Hewlett-Packard Controlling SDRAM memory by using truncated burst read-modify-write memory operations
US5974320A (en) * 1997-05-21 1999-10-26 Telefonaktiebolaget Lm Ericsson (Publ) Providing a neighborhood zone within a mobile telecommunications network
US5878059A (en) 1997-09-24 1999-03-02 Emc Corporation Method and apparatus for pipelining an error detection algorithm on an n-bit word stored in memory
WO2002086719A2 (en) * 2001-04-24 2002-10-31 Koninklijke Philips Electronics N.V. Improved error correction scheme for use in flash memory allowing bit alterability
JP2007242162A (ja) * 2006-03-09 2007-09-20 Toshiba Corp 半導体記憶装置
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7945840B2 (en) 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW436799B (en) * 1997-12-31 2001-05-28 Samsung Electronics Co Ltd Multi-bit memory device having error check and correction circuit and method for checking and correcting data errors therein
TWI222078B (en) * 2002-04-30 2004-10-11 Ibm Testing of ECC memories
US7143332B1 (en) * 2003-12-16 2006-11-28 Xilinx, Inc. Methods and structures for providing programmable width and error correction in memory arrays in programmable logic devices
US20060200728A1 (en) * 2005-03-04 2006-09-07 Takeshi Nagai Synchronous semiconductor storage device having error correction function

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI502601B (zh) * 2013-04-24 2015-10-01 Ind Tech Res Inst 混合式錯誤修復方法及其記憶體裝置

Also Published As

Publication number Publication date
WO2008100462A2 (en) 2008-08-21
WO2008100462A3 (en) 2008-11-27
US8397129B2 (en) 2013-03-12
CN101647004B (zh) 2013-07-24
TW200849000A (en) 2008-12-16
US20080195894A1 (en) 2008-08-14
US7945840B2 (en) 2011-05-17
CN101647004A (zh) 2010-02-10
US20120221916A1 (en) 2012-08-30
US20110191655A1 (en) 2011-08-04
KR20090119899A (ko) 2009-11-20
US8181086B2 (en) 2012-05-15
KR101089409B1 (ko) 2011-12-07

Similar Documents

Publication Publication Date Title
TWI384355B (zh) 記憶體陣列錯誤校正裝置,系統及方法
US9653141B2 (en) Method of operating a volatile memory device and a memory controller
US10049006B2 (en) Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands
US9823964B2 (en) Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation
US9880900B2 (en) Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state
JP2005327437A (ja) 半導体記憶装置
US7301832B2 (en) Compact column redundancy CAM architecture for concurrent read and write operations in multi-segment memory arrays
CN110389851A (zh) 具有错误校正功能的存储器设备及其操作方法
KR20140055737A (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
KR20160016051A (ko) 선택적 ecc 기능을 갖는 반도체 메모리 장치
US9083382B2 (en) Memory with on-chip error correction
US7949933B2 (en) Semiconductor integrated circuit device
US7277322B2 (en) Semiconductor memory device having ECC circuit
US7075851B2 (en) Semiconductor memory device inputting/outputting data and parity data in burst operation
US20030046630A1 (en) Memory using error-correcting codes to correct stored data in background
CN118351907A (zh) 一种刷新电路、方法及存储器
CN119229941B (zh) 一种内部错误检查电路和存储器
US12387777B2 (en) Refresh circuit and semiconductor memory device including the same
WO2024146130A1 (zh) 信号生成电路、存储装置以及操作方法
KR20240078769A (ko) 고성능 및 고신뢰성을 얻기 위한 메모리 및 메모리의 동작 방법
JP2006012360A (ja) 半導体記憶装置