TWI706416B - 多個記憶體裝置共用的錯誤更正系統 - Google Patents
多個記憶體裝置共用的錯誤更正系統 Download PDFInfo
- Publication number
- TWI706416B TWI706416B TW108124776A TW108124776A TWI706416B TW I706416 B TWI706416 B TW I706416B TW 108124776 A TW108124776 A TW 108124776A TW 108124776 A TW108124776 A TW 108124776A TW I706416 B TWI706416 B TW I706416B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory device
- error correction
- input
- input terminals
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/108—Wide data ports
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
錯誤更正系統包括錯誤更正碼電路以及控制電路。該錯誤更正碼電路用以因應寫入操作,對M個輸入端子所接收之輸入資料進行編碼以產生編碼資料,並輸出該編碼資料。該輸入資料包含與該寫入操作相關的寫入資料,且該編碼資料包含該輸入資料及相關的同位位元資料。該控制電路耦接至該M個輸入端子之至少其一。當寫入操作是針對資料位元寬度小於M位元的記憶體裝置時,該寫入資料係輸入至該M個輸入端子的一部分,該控制電路用以提供參考資料至該M個輸入端子的另一部分,且該寫入資料與該參考資料作為輸入資料。
Description
本揭示內容係關於資料錯誤更正,且更明確地說,係關於一種由多個記憶體裝置共用的錯誤更正系統。
在不太能容許資料損毀的電腦儲存裝置中,會使用錯誤更正碼(error correcting code,ECC)來偵測並校正在資料傳輸過程中或儲存時所造成的資料錯誤。舉例來說,在需要高度資料完整性(data integrity)的應用中,靜態隨機存取記憶體(static random access memory,SRAM)裝置可利用錯誤更正碼,使其能夠回復損毀的資料。藉由使用錯誤更正碼演算法,發送端利用冗餘資料對訊息進行編碼,使得接收端能夠偵測並校正所接收到的訊息中的資料錯誤。根據所使用不同的錯誤更正碼演算法類型以及冗餘資料的位元個數,接收端可偵測單一位元錯誤或多位元錯誤。
本揭示的實施例提供一種由多個記憶體裝置共用的錯誤更正系統,及其相關的控制方法。
本揭示的某些實施例包含一種由多個記憶體裝置共用的錯
誤更正系統。每一記憶體裝置的一資料路徑寬度具有一資料位元寬度與一同位位元寬度。該錯誤更正系統包括一錯誤更正碼(error correcting code,ECC)電路以及一控制電路。該錯誤更正碼電路具有M個輸入端子。該錯誤更正碼電路用以因應一寫入操作,對該M個輸入端子所接收之一輸入資料進行編碼以產生一編碼資料,並向該記憶體裝置輸出該編碼資料。M為大於1的正整數,該輸入資料包含與該寫入操作相關的一寫入資料,且該編碼資料包含該輸入資料及相關的一同位位元資料(parity data)。該控制電路耦接於該M個輸入端子之至少其一。當該寫入操作是針對該多個記憶體裝置中具有小於M位元之一資料位元寬度的一第一記憶體裝置時,該寫入資料係輸入至該M個輸入端子的一第一部分,該控制電路用以提供一參考資料至該M個輸入端子的一第二部分,且該寫入資料與該參考資料同時作為該輸入資料。
本揭示的某些實施例包含一種由多個記憶體裝置共用的錯誤更正系統。每一記憶體裝置的一資料路徑寬度具有一資料位元寬度與一同位位元寬度。該錯誤更正系統包含一錯誤更正碼電路以及一控制電路。該錯誤更正碼電路具有N個輸入端子。該錯誤更正碼電路用以因應一讀取操作,對該N個輸入端子所接收之一輸入資料進行解碼以產生一解碼資料。N為大於1的正整數,且該輸入資料包含儲存於與該讀取操作相關的一記憶單元的一原始資料以及相關的一同位位元資料。該控制電路耦接於該N個輸入端子之至少其一。當該讀取操作是針對該多個記憶體裝置中具有小於N位元之一資料路徑寬度的一第一記憶體裝置時,該讀取資料及相關的該同位位元資料係輸入至該N個輸入端子的一第一部分,且該控制電路用以提供一參考資料至該N個輸入端子的一第二部分。該原始資料、相
關的該同位位元資料與該參考資料作為該輸入資料。
藉由使用參考資料,其具有依據記憶體裝置之選擇來決定的一位元寬度,本揭示所提供的錯誤更正機制可使用相同的錯誤更正碼電路來支援具有不同資料路徑寬度和/或不同資料位元寬度的多個記憶體裝置,因而節省備用電力並減少電路面積。本揭示所提供的錯誤更正架構可作為集中式錯誤更正碼系統,其可共享於具有不同資料路徑寬度之多個記憶體裝置。
100、200、300、800:記憶體系統
1021~102J、2021~202J、3021、3022:記憶體裝置
104、204、304:錯誤更正系統
106、306:資料介面
110、210、310:錯誤更正碼電路
120、220、320:控制電路
332~336、342~346、832、842:切換電路
322、324:反相器
326、SW32、SW34、SW36 SW42、SW44、SW46:開關
900:錯誤更正方法
902~908:操作
M1、M2:電晶體
MUX32、MUX42:多工器
DB[1]~DB[J]、DB1、DB2:寫入資料路徑
QB[1]~QB[J]、QB1、QB2:讀取資料路徑
D[1]~D[M]、Qm[1]~Qm[N]、D1~D8、Qm1~Qm12:輸入端子
Dm[1]~Dm[N]、Q[1]~Q[M]、Dm1~Dm12、Q1~Q8:輸出端子
T[1]~T[WS]、TSEL:選擇接腳
D[1:4]、Qm[1:7]:第一輸入端子群組
D[5:8]、Qm[8:12]:第二輸入端子群組
Dm[1:7]、Q[1:4]:第一輸出端子群組
Dm[8:12]、Q[5:8]:第二輸出端子群組
TOUT:信號輸出端子
DA:寫入資料
DA’、QA’、DEN:編碼資料
QA:讀取資料
DR、QR、DREF、QREF:參考資料
DIN、QIN:輸入資料
QDE:解碼資料
SEL、S1、S2:選擇信號
VR:參考電壓
VDD:供應電壓
GND:接地電壓
H1:同位檢查矩陣
H2:子矩陣
在閱讀了下文實施方式以及附隨圖式時,能夠最佳地理解本揭露的多種態樣。應注意到,根據本領域的標準操作習慣,圖中的各種特徵並未依比例繪製。事實上,為了能夠清楚地進行描述,可能會刻意地放大或縮小某些特徵的尺寸。
圖1繪示了根據本揭示內容某些實施例的包含多個記憶體裝置的一記憶體系統的功能方塊示意圖。
圖2繪示了根據本揭示內容某些實施例的圖1所示之記憶體系統的一實作方式。
圖3繪示了根據本揭示內容某些實施例的圖2所示之記憶體系統的一實作方式。
圖4繪示了根據本揭示內容某些實施例的圖3所示之記憶體系統在針對記憶體裝置的存取操作中的電路組態示意圖。
圖5繪示了根據本揭示內容某些實施例的圖3所示之記憶體系統在針對記憶體裝置的存取操作中的電路組態示意圖。
圖6繪示了根據本揭示內容某些實施例的圖3所示的錯誤更正碼電路
中所使用的漢明碼的例示性同位檢查矩陣的示意圖。
圖7繪示了根據本揭示內容某些實施例的圖3所示的錯誤更正碼電路中與資料位元相關的端子以及與同位位元相關的端子的配置示意圖。
圖8繪示了根據本揭示內容某些實施例的圖2所示的記憶體系統的另一實作方式。
圖9繪示了根據本揭示內容某些實施例,用於具有不同資料路徑寬度的多個記憶體裝置的例示性錯誤更正方法的流程圖。
以下揭示內容提供了多種實施方式或例示,其能用以實現本揭示內容的不同特徵。下文所述之參數值、元件與配置的具體例子係用以簡化本揭示內容。當可想見,這些敘述僅為例示,其本意並非用於限制本揭示內容。舉例來說,下文所述的參數值會隨著給定的技術節點(technology node)而不同,例如先進CMOS技術節點、先進FinFET技術節點或其他半導體技術節點。作為另一示例,給定技術節點的參數值也可隨著特定的應用或操作情境而變化。另外,本揭示內容可能會在多個實施例中重複使用元件符號和/或標號。此種重複使用乃是基於簡潔與清楚的目的,且其本身不代表所討論的不同實施例和/或組態之間的關係。
此外,當可理解,若將一部件描述為與另一部件「連接(connected to)」或「耦接(coupled to)」,則兩者可直接連接或耦接,或兩者間可能出現其他中間(intervening)部件。
採用錯誤更正碼架構的記憶體系統可包含多個記憶體裝置,其具有不同資料路徑寬度(data path width)(亦稱為資料匯流排寬度(data bus width))。這些記憶體裝置分別配置了不同的錯誤更正碼電
路,此因每一個錯誤更正碼電路專門用於具有對應資料路徑寬度的一個記憶體裝置。舉例來說,經設計用於編碼具有k1位元之資料字(data word)的錯誤更正碼電路就不能用來編碼具有k2位元之資料字,其中k1與k2是不同的正整數。正因如此,一個記憶體系統若在相同晶片上設有不同記憶體裝置(譬如車用電子系統的記憶體系統),必須要針對不同資料路徑寬度設置各別的專屬錯誤更正碼電路,但這樣會增加電路面積與成本。
本揭示內容提出例示性的錯誤更正系統,每一個錯誤更正系統可由具有不同資料路徑寬度的多個記憶體裝置(或記憶體區塊)所共用。在某些實施方式中,例示性的錯誤更正系統運用一個共用的錯誤更正碼電路以在不同記憶體裝置上因應其不同的資料路徑寬度而執行多個錯誤更正碼操作。在某些實施方式中,錯誤更正系統可根據所選取之一記憶體裝置的資料路徑寬度資訊,提供參考資料給該記憶體裝置之一個或多個輸入端子,進而對所選取之該記憶體裝置涉及的讀取/寫入資料執行錯誤更正碼操作。本揭示所提供之錯誤更正系統可實現用於多個記憶體裝置的集中式錯誤更正碼系統。
圖1繪示了根據本揭示內容某些實施例的包含多個記憶體裝置的一記憶體系統的功能方塊示意圖。記憶體系統100可實作為電子系統之記憶體系統,譬如具有多個記憶體裝置以供不同應用的車用電子系統所包含的記憶體系統,或具有多個記憶體裝置設置於其中的其他類型的記憶體系統。記憶體系統100包括(但不限於)多個記憶體裝置1021~102J以及一錯誤更正系統104,其中J為大於1的整數。於此實施方式中,多個記憶體裝置1021~102J可彼此獨立運作。多個記憶體裝置1021~102J中至
少有兩個記憶體裝置可具有不同資料路徑寬度,各資料路徑寬度具有一資料位元寬度(data bit width)及一同位位元寬度(parity bit width)。各記憶體裝置可實作為各種類型的記憶體裝置,譬如SRAM裝置、動態隨機存取記憶體(dynamic random access memory,DRAM)裝置、磁性隨機存取記憶體(magnetic random access memory,MRAM)裝置、快閃記憶體裝置及其他類型的記憶體裝置。
錯誤更正系統104由多個記憶體裝置1021~102J所共用。因應於一選擇信號SEL,其指示出多個記憶體裝置1021~102J中哪一個記憶體裝置被選取以進行資料存取,錯誤更正系統104可對相關資料執行錯誤更正碼操作。所述錯誤更正碼操作可包括(但不限於)編碼操作、解碼操作、錯誤偵測及錯誤更正。於此實施方式中,錯誤更正系統104包括(但不限於)一錯誤更正碼電路110及一控制電路120。錯誤更正碼電路110用以因應針對所選取之一記憶體裝置(即,記憶體裝置1021~102J其中之一)的一寫入操作,對一寫入資料DA進行編碼以產生一編碼資料DA’。寫入資料DA經由一資料介面106(諸如耦接至一記憶體控制器的一輸入/輸出(I/O)介面)輸入至錯誤更正碼電路110。編碼資料DA’可包含寫入資料DA及與其相關的一同位位元資料(parity data)。在產生編碼資料DA’之後,錯誤更正碼電路110可用來將編碼資料DA’寫入至所選取之該記憶體裝置中。請注意,寫入資料DA的位元寬度會隨著所選取之該記憶體裝置的資料位元寬度而改變。此外,編碼資料DA’的位元寬度會隨著所選取之該記憶體裝置的資料路徑寬度而改變。
除此之外,錯誤更正碼電路110用以因應針對所選取之一記憶體裝置(即,記憶體裝置1021~102J其中之一)的一讀取操作,對一
編碼資料QA’進行解碼以產生一讀取資料QA。編碼資料QA’可包含一原始資料(original data)與相關的一同位位元資料,其中該原始資料儲存於所選取之該記憶體裝置的記憶單元(memory cell)中,該同位位元資料則儲存於所選取之該記憶體裝置中。錯誤更正碼電路110可用以偵測從所選取之該記憶體裝置讀取出來的該原始資料是否出現錯誤。當偵測到有錯誤出現在編碼資料QA’之中時,錯誤更正碼電路110可用來校正此錯誤,並可重新建構該原始資料以產生讀取資料QA。當未偵測到錯誤時,該原始資料可作為讀取資料QA。在產生讀取資料QA後,錯誤更正碼電路110可將讀取資料QA輸出至資料介面106。請注意,編碼資料QA’的位元寬度會隨著所選取之該記憶體裝置的資料路徑寬度而改變。此外,讀取資料QA的位元寬度會隨著所選取之該記憶體裝置的資料位元寬度而改變。
控制電路120耦接至錯誤更正碼電路110,在一記憶體存取操作中,控制電路120用以根據選擇信號SEL而選擇性地提供一參考資料給錯誤更正碼電路110。當該記憶體存取操作是針對具有小於一預定資料路徑寬度之一資料路徑寬度的一記憶體裝置時,控制電路120可用來提供該參考資料。該參考資料的位元寬度可根據選擇信號SEL來決定。
舉例來說(但本揭示不限於此),錯誤更正碼電路110經設計能夠因應一寫入操作來對具有一預定位元寬度的輸入資料進行編碼。當具有等於一預定資料路徑寬度之資料路徑寬度的記憶體裝置經選取以進行資料寫入時,輸入至錯誤更正碼電路110的寫入資料DA可具有等於該預定位元寬度的位元寬度。控制電路120可不提供任何參考資料給錯誤更正碼電路110。當具有小於該預定資料路徑寬度之資料路徑寬度的另一記憶體裝置經選取以進行資料寫入時,輸入至錯誤更正碼電路110的寫入資料DA
可具有小於該預定位元寬度的位元寬度。控制電路120可用以提供一參考資料DR給錯誤更正碼電路110,其中參考資料DR的位元寬度可等於該預定位元寬度與寫入資料DA的位元寬度兩者之間的差。因此,錯誤更正碼電路110仍然能夠接收具有該預定位元寬度的輸入資料,亦即,寫入資料DA與參考資料DR。
在另一例子中,錯誤更正碼電路110經設計能夠因應一讀取操作來對具有一預定位元寬度的輸入資料進行解碼。當具有等於一預定資料路徑寬度之資料路徑寬度的記憶體裝置經選取以進行資料讀取時,讀取自所選取之該記憶體裝置的編碼資料QA’可具有等於該預定位元寬度的位元寬度。控制電路120可不提供任何參考資料給錯誤更正碼電路110。當具有小於該預定資料路徑寬度之資料路徑寬度的另一記憶體裝置經選取以進行資料讀取時,讀取自所選取之該記憶體裝置的編碼資料QA’可具有小於該預定位元寬度的位元寬度。控制電路120可用以提供一參考資料QR給錯誤更正碼電路110,其中參考資料QR的位元寬度可等於該預定位元寬度與編碼資料QA’的位元寬度兩者之間的差。因此,錯誤更正碼電路110仍然能夠接收具有該預定位元寬度的輸入資料,亦即,編碼資料QA’與參考資料QR。
在某些實施方式中,控制電路120可藉由根據選擇信號SEL將一參考信號(諸如一參考電壓)耦接至錯誤更正碼電路110的一個或多個輸入端子/接腳,以提供參考資料DR/QR,而使得錯誤更正碼電路110可從上述一個或多個輸入端子接收參考資料DR/QR。該參考信號可具有一參考信號位準,諸如一邏輯低信號位準。
藉由使用根據選擇信號SEL來決定位元寬度的參考資料,
錯誤更正碼電路110能夠支援具有不同資料路徑寬度的多個記憶體裝置1021~102J。因此,錯誤更正系統104可作為具有不同資料路徑寬度之多個記憶體裝置的集中式錯誤更正碼系統(centralized ECC system)。下文進一步說明之。
圖2繪示了根據本揭示內容某些實施例的圖1所示之記憶體系統100的一實作方式。記憶體系統200可包含圖1所示之資料介面106、多個記憶體裝置2021~202J以及一錯誤更正系統204,其中J為大於1的整數。多個記憶體裝置2021~202J可分別代表圖1所示之多個記憶體裝置1021~102J的實施方式。錯誤更正系統204可代表圖1所示之錯誤更正系統104的一實施方式。
基於說明的目的,將多個記憶體裝置2021~202J中各記憶體裝置可實作為一SRAM裝置。然而,所屬技術領域中具有通常知識者當可理解能夠將各記憶體裝置可實作為其他類型的記憶體裝置而不致於悖離本揭示內容之範圍。多個記憶體裝置2021~202J可包括(但不限於)一控制器(標註為CTL)、一記憶單元陣列(標註為MCA)、一列解碼器(標註為RDC)、一行解碼器(標註為CDC)以及一感測放大器(sense amplifier)(標註為SA)。該控制器用以控制該列解碼器、該行解碼器與該感測放大器的個別操作。該列解碼器用以控制該記憶單元陣列的列。該列解碼器與該行解碼器用以選擇該記憶單元陣列的多個記憶單元,以供讀取寫作與寫入操作。該感測放大器用以感測並放大儲存於該記憶單元陣列之該多個記憶單元中的資料。由於所屬技術領域中具有通常知識者應可理解SRAM裝置之中控制器、列解碼器、行解碼器與感測放大器各自的操作,因此,為了簡潔起見,關於多個記憶體裝置2021~202J之每一者的電
路區塊的進一步描述在此便不再贅述。
於此實施方式中,多個記憶體裝置2021~202J分別具有多條寫入資料路徑DB[1]~DB[J]。多條寫入資料路徑DB[1]~DB[J]之中至少有兩條寫入資料路徑具有不同的資料路徑寬度。此外,多個記憶體裝置2021~202J分別具有多條讀取資料路徑QB[1]~QB[J]。多條讀取資料路徑QB[1]~QB[J]之中至少有兩條讀取資料路徑具有不同的資料路徑寬度。記憶體裝置的寫入路徑寬度可等於其讀取路徑寬度。請注意,由於每一記憶體裝置可連同一內容資料(content data)(即,儲存於記憶單元中的資料)一併儲存一同位位元資料,因此,每一記憶體裝置的讀取/寫入資料路徑可包括一資料位元寬度與一同位位元寬度。該資料位元寬度等於儲存於該記憶體裝置中的該內容資料的位元寬度,而該同位位元寬度等於相關的該同位位元資料之位元寬度。
舉例來說(但本揭示不限於此),寫入資料路徑DB[1]的資料路徑寬度為W1位元、寫入資料路徑DB[2]的資料路徑寬度為W2位元,依此類推。讀取資料路徑QB[1]的資料寬度為W1位元、讀取資料路徑QB[2]的資料寬度為W2位元,依此類推。對於記憶體裝置202i(i是介於1至J間的整數)來說,其寫入資料路徑DB[i]的資料路徑寬度為Wi位元,其可等於Wdi位元之資料位元寬度以及Wpi位元之同位位元寬度的總和。讀取資料路徑QB[i]之資料路徑寬度亦可為Wi位元,其等於Wdi位元之資料位元寬度與Wpi位元之同位位元寬度的總和。
錯誤更正系統204包括(但不限於)一錯誤更正碼電路210及一控制電路220。錯誤更正碼電路210與控制電路220可分別作為圖1所示的錯誤更正碼電路110及控制電路120之實施方式。錯誤更正碼電路210
包含涉及編碼與解碼操作的多個輸入端子/接腳以及與多個輸出端子/接腳。涉及編碼操作的輸入端子的個數可根據多條寫入資料路徑DB[1]~DB[J]中最寬的資料位元寬度來決定,而涉及編碼操作的輸出端子的個數可根據多條寫入資料路徑DB[1]~DB[J]中最寬的資料路徑寬度來決定。涉及解碼操作的輸入端子的個數可根據多條讀取資料路徑QB[1]~QB[J]中最寬的資料路徑寬度來決定,而涉及解碼操作的輸出端子的個數可根據多條讀取資料路徑QB[1]~QB[J]中最寬的資料位元寬度來決定。
舉例來說(但本揭示不限於此),錯誤更正碼電路210可包含M個輸入端子D[1]~D[M]以及與編碼操作相關的N個輸出端子Dm[1]~Dm[N],並可包含N個輸入端子Qm[1]~Qm[N]以及與解碼操作相關的M個輸出端子Q[1]~Q[M]。M為大於1的整數,且N為大於M的正整數。M可等於多條寫入資料路徑DB[1]~DB[J]中最寬的資料位元寬度,或等於多條讀取資料路徑QB[1]~QB[J]中最寬的資料位元寬度。N可等於多條寫入資料路徑DB[1]~DB[J]中最寬的資料路徑寬度,或等於多條讀取資料路徑QB[1]~QB[J]中最寬的資料路徑寬度。
於此實施方式中,錯誤更正碼電路210可因應一寫入操作,對輸入至多個輸入端子D[1]~D[M]的具有M位元之一輸入資料DIN進行編碼,以產生具有N位元之一編碼資料DEN,進而向多個記憶體裝置2021~202J輸出編碼資料DEN。輸入資料DIN包含與該寫入操作相關的寫入資料DA。編碼資料DEN包含輸入資料DIN及相關的一同位位元資料。此外,錯誤更正碼電路210可因應一讀取操作,對輸入至多個輸入端子Qm[1]~Qm[N]的具有N位元之一輸入資料QIN進行解碼,以產生具有M位元之一解碼資料QDE。輸入資料QIN包含與該讀取操作相關的編碼資料
QA’,其中編碼資料QA’包含儲存於記憶單元中的一原始資料與相關的一同位位元資料。解碼資料QDE包含與該原始資料相關的讀取資料QA。當未在該原始資料中偵測到錯誤時,讀取資料QA為該原始資料。當在該原始資料中偵測到錯誤時,讀取資料QA為該原始資料經校正後的版本。
控制電路220耦接至錯誤更正碼電路210之至少一輸入端子,並用以根據選擇信號SEL選擇性地將一參考資料提供至錯誤更正碼電路210的一個或多個輸入端子。於此實施方式中,控制電路210係根據選擇信號SEL選擇性地將一參考電壓VR耦接至多個輸入端子D[1]~D[M]的一部分,進而提供一參考資料DREF,其中參考資料DREF的位元寬度等於耦接至參考電壓VR的輸入端子的個數。此外,或替代性地,控制電路210用以根據選擇信號SEL選擇性地將參考電壓VR耦接至多個輸入端子Qm[1]~Qm[N]的一部分,進而提供一參考資料QREF,其中參考資料QREF的位元寬度等於耦接至參考電壓VR的輸入端子的個數。
選擇信號SEL可指示出多個記憶體裝置2021~202J中何者被選取。舉例來說(但本揭示不限於此),可將選擇信號SEL的位元寬度WS設定為不小於log2(J)的最小整數,使得選擇信號SEL的每一信號型樣(signal pattern)可表示多個記憶體裝置2021~202J的一種選擇情形。選擇信號SEL可由多個選擇接腳T[1]~T[WS]中的一個或多個接腳來接收。在另一例子中,可將選擇信號SEL的位元寬度設定為J,使得選擇信號SEL的每一位元可指示出相對應的記憶體裝置是否有被選取。選擇信號SEL可由多個選擇接腳T[1]~T[WS]中的一或多個來接收,其中WS=J。
於操作中,當記憶體裝置202i(1iJ)經選定以用於資料寫入時,具有Wdi位元的寫入資料DA輸入至錯誤更正碼電路210,而
寫入資料路徑DB[i]用以接收具有Wi位元的編碼資料DA’。控制電路220可根據選擇信號SEL來決定是否將參考電壓VR耦接至多個輸入端子D[1]~D[M]中的一個或多個輸入端子。舉例來說(但本揭示不限於此),當選擇信號SEL指示出具有等於M位元之資料位元寬度的記憶體裝置202i被選取時(Wdi=M),控制電路210可不將參考電壓VR耦接至多個輸入端子D[1]~D[M]中的任何輸入端子。因此,錯誤更正碼電路210可對輸入資料DIN(即,寫入資料DA)進行編碼以產生編碼資料DEN,其中編碼資料DEN即是具有Wi位元之編碼資料DA’(Wi=N)。接下來,錯誤更正碼電路210可將編碼資料DA’經由多個輸出端子Dm[1]~Dm[N]輸出至寫入資料路徑DB[i]。
在另一例子中,當選擇信號SEL指示出具有小於M位元之資料位元寬度的記憶體裝置202i被選取時(Wdi<M),具有Wdi位元的寫入資料DA可輸入至多個輸入端子D[1]~D[M]中的一部分,亦即,多個輸入端子D[1]~D[M]中的Wdi個輸入端子。控制電路210用以將參考電壓VR耦接至多個輸入端子D[1]~D[M]中的另一部分(亦即,多個輸入端子D[1]~D[M]中剩餘的(M-Wdi)個輸入端子),進而提供具有(M-Wdi)位元的參考資料DREF。因此,錯誤更正碼電路210可對輸入資料DIN(即,寫入資料DA與參考資料DREF)進行編碼以產生編碼資料DEN,其中編碼資料DEN包含具有Wi位元的編碼資料DA’以及具有(N-Wi)位元(Wi<N)的輔助資料。接下來,錯誤更正碼電路210可將編碼資料DA’經由多個輸出端子Dm[1]~Dm[N]中的Wi個輸出端子輸出至寫入資料路徑DB[i]。
當記憶體裝置202i(1iJ)經選定以用於資料讀取
時,具有Wi位元的編碼資料QA’會由讀取資料路徑QB[i]輸入至錯誤更正碼電路210,且具有Wdi位元的讀取資料QA會由錯誤更正碼電路210輸出。控制電路220可根據選擇信號SEL來決定是否將參考電壓VR耦接至多個輸入端子Qm[1]~Qm[M]中的一個或多個輸入端子。舉例來說(但本揭示不限於此),當選擇信號SEL指示出具有等於N位元之資料路徑寬度的記憶體裝置202i(Wi=N)時,控制電路210可不將參考電壓VR耦接至任何多個輸入端子Qm[1]~Qm[M]中的任何輸入端子。因此,錯誤更正碼電路210可對輸入資料QIN(即,自讀取資料路徑QB[i]接收的編碼資料QA’)進行解碼以產生解碼資料QDE,其中解碼資料QDE即是具有Wdi位元的讀取資料QA(Wdi=M)。接下來,錯誤更正碼電路210可經由多個輸出端子Q[1]~Q[M]輸出讀取資料QA。
在另一例子中,當選擇信號SEL指示出具有小於N位元之資料路徑寬度的記憶體裝置202i被選取時(Wi<N),具有Wi位元的編碼資料QA’可輸入至多個輸入端子Qm[1]~Qm[N]中的一部分,即,多個輸入端子Qm[1]~Qm[N]中的Wi個輸入端子。控制電路210用以將參考電壓VR耦接至多個輸入端子Qm[1]~Qm[N]的另一部分(即,多個輸入端子Qm[1]~Qm[N]中剩餘的(N-Wi)個輸入端子),進而提供具有(N-Wi)位元的參考資料QREF。因此,錯誤更正碼電路210可對輸入資料QIN(即,編碼資料QA’及參考資料QREF)進行解碼以產生解碼資料QDE,其中解碼資料QDE包含具有Wdi位元的讀取資料QA以及具有(M-Wdi)位元的輔助資料(Wdi<M)。接下來,錯誤更正碼電路210可經由多個輸出端子Q[1]~Q[M]中的(M-Wdi)個輸出端子輸出讀取資料QA。
由於控制電路220可提供參考資料DREF/QREF,其具有根據
選擇信號SEL而決定的位元寬度,因此,錯誤更正碼電路210可作為能夠支援具有不同資料路徑寬度之多個記憶體裝置的集中式錯誤更正碼電路。
為了便於瞭解本揭示內容,下文提出某些實施方式,以進一步描述本揭示所提供的集中式錯誤更正架構。所屬技術領域中具有通常知識者當可理解,利用圖1所示的錯誤更正系統104或圖2所示的錯誤更正系統204的其他實施方式亦屬於本揭示內容範圍的一部分。
圖3繪示了根據本揭示內容某些實施例的圖2所示之記憶體系統200的一實作方式。記憶體系統300可包括多個記憶體裝置3021與3022,以及一錯誤更正系統304。多個記憶體裝置3021及3022可代表圖2所示之多個記憶體裝置2021~202J中的任兩個記憶體裝置之實施方式。錯誤更正系統304可代表圖2所示之錯誤更正系統204的實施方式。
於此實施方式中,記憶體裝置3021可因應一寫入操作儲存8位元的內容資料及相關的4位元的同位位元資料。記憶體裝置3021的寫入資料路徑DB1與讀取資料路徑QB1均可具有12位元的資料路徑寬度,其包括8位元的資料位元寬度以及4位元的同位位元寬度。除此之外,記憶體裝置3022可因應一寫入操作而儲存4位元的內容資料以及相關的3位元的同位位元資料。記憶體裝置3022的寫入資料路徑DB2以及讀取資料路徑QB2均可具有7位元的資料路徑寬度,其包括4位元的資料位元寬度以及3位元的同位位元寬度。請注意,上文所述的寫入資料路徑寬度、讀取資料路徑寬度、資料位元寬度及同位位元寬度僅為例示,且其本意並非用以限制本揭示內容之範圍。所屬技術領域中具有通常知識者當可理解,可利用具有不同資料路徑寬度、資料位元寬度和/或同位位元寬度之一記憶體裝置來實作記憶體裝置3021/3022,而不致於悖離本揭示內容之範圍。
錯誤更正系統304可包括一錯誤更正碼電路310、一控制電路320以及多個切換電路332~336與342~346。錯誤更正碼電路310與控制電路320可分別表示圖2所示之錯誤更正碼電路210與控制電路220的實施方式。錯誤更正碼電路310包括多個輸入端子D1~D8、多個輸出端子Dm1~Dm12、多個輸入端子Qm1~Qm12以及多個輸出端子Q1~Q8。錯誤更正碼電路310用以因應一寫入操作,對多個輸入端子D1~D8所接收的輸入資料DIN進行編碼以產生編碼資料DEN,進而從多個輸出端子Dm1~Dm12輸出編碼資料DEN。此外,錯誤更正碼電路310用以因應一讀取操作,對多個輸入端子Qm1~Qm12所接收之輸入資料QIN進行解碼以產生解碼資料QDE,進而從多個輸出端子Q1~Q8輸出解碼資料QDE。
多個輸入端子D1~D8可代表圖2所示之多個輸入端子D[1]~D[M]之至少一部分的實施方式,且多個輸出端子Dm1~Dm12可代表圖2所示之多個輸出端子Dm[1]~Dm[N]之至少一部分的實施方式(即,M=8及N=12)。多個輸入端子Qm1~Qm12可代表圖2所示之多個輸入端子Qm[1]~Qm[N]之至少一部分的實施方式,且多個輸出端子Q1~Q8可代表圖2所示之多個輸出端子Q[1]~Q[M]之至少一部分的實施方式。
多個輸入端子D1~D8的端子個數可根據儲存於記憶單元中的內容資料所具有的最大位元個數來決定。於此實施方式中,多個輸入端子D1~D8的端子個數等於儲存於記憶體裝置3021之記憶單元中的內容資料所具有的位元個數。除此之外,多個輸入端子D1~D8可包含一第一輸入端子群組D[1:4](其具有多個輸入端子D1~D4)以及一第二輸入端子群組D[5:8](其具有多個輸入端子D5~D8)。第一輸入端子群組D[1:4]的端子個數是根據儲存於記憶體裝置3022之記憶單元中的內容資料所具有的位
元個數來決定,其中記憶體裝置3022的資料位元寬度小於記憶體裝置3021的資料位元寬度。
多個輸出端子Dm1~Dm12的端子個數可根據儲存於記憶單元中的內容資料以及與其相關之同位位元資料的最大位元個數總和來決定。於此實施方式中,多個輸出端子Dm1~Dm12的端子個數等於儲存於記憶體裝置3021之記憶單元中的內容資料以及與其相關之同位位元資料的位元個數總和。除此之外,多個輸出端子Dm1~Dm12可包含一第一輸出端子群組Dm[1:7](其具有多個輸出端子Dm1~Dm7)以及一第二輸出端子群組Dm[8:12](其具有多個輸出端子Dm8~Dm12)。第一輸出端子群組Dm[1:7]的端子個數是根據儲存於記憶體裝置3022之記憶單元中內容資料以及與其相關之同位位元資料的位元個數總和決定,其中記憶體裝置3022的寫入資料路徑寬度小於記憶體裝置3021的寫入資料路徑寬度。
多個輸入端子Qm1~Qm12的端子個數可根據儲存於記憶單元中的內容資料以及與其相關之同位位元資料的最大位元個數總和來決定。於此實施方式中,多個輸入端子Qm1~Qm12的端子個數等於儲存於記憶體裝置3021之記憶單元中的內容資料以及與其相關之同位位元資料的位元個數總和。除此之外,多個輸入端子Qm1~Qm12可包含一第一輸入端子群組Qm[1:7](其具有多個輸入端子Qm1~Qm7)以及一第二輸入端子群組Qm[8:12](其具有多個輸入端子Qm8~Qm12)。第一輸入端子群組Qm[1:7]的端子個數是根據儲存於記憶體裝置3022之記憶單元中內容資料以及與其相關之同位位元資料的位元個數總和決定,其中記憶體裝置3022的讀取資料路徑寬度小於記憶體裝置3021的讀取資料路徑寬度。
多個輸出端子Q1~Q8的端子個數可根據儲存於記憶單元中
的內容資料的最大位元個數來決定。於此實施方式中,多個輸出端子Q1~Q8的端子個數等於儲存於記憶體裝置3021之記憶單元中所具有的內容資料的位元個數。除此之外,多個輸出端子Q1~Q8可包括一第一輸出端子群組Q[1:4](其具有輸出端子Q1~Q4)以及一第二輸出端子群組Q[5:8](其具有多個輸出端子Q5~Q8)。第一輸出端子群組Q[1:4]的端子個數可根據儲存於記憶體裝置3022之記憶單元中的內容資料所具有的位元個數來決定,其中記憶體裝置3022的資料位元寬度小於記憶體裝置3021的資料位元寬度。
控制電路320具有耦接至多個第二輸入端子群組D[5:8]及Qm[8:12]的一信號輸出端子TOUT。控制電路320用以根據選擇信號SEL選擇性地施加參考電壓VR至信號輸出端子TOUT,其中選擇信號SEL指示出多個記憶體裝置3021與3022中何者被選取。選擇信號SEL可經由控制電路320的一選擇接腳TSEL來接收。
於此實施方式中,控制電路320可包括(但不限於)多個反相器322與324、一開關326以及多個電晶體M1與M2。反相器322用以將選擇信號SEL反相處理,以產生一選擇信號S1。反相器324用以將選擇信號S1反相處理,以產生一選擇信號S2。電晶體M1的源極耦接至一供應電壓VDD,而電晶體M1的閘極則耦接至電晶體M1的汲極。電晶體M2的源極耦接至一參考電壓,諸如一接地電壓GND,而電晶體M2的閘極則耦接至電晶體M1的閘極。開關326根據選擇信號SEL選擇性地耦接於電晶體M2的汲極與信號輸出端子TOUT之間。當開關326開啟(switched on)時,信號輸出端子TOUT的信號位準可綁定/繫結至(tied to)參考電壓VR,其等於或大致上等於接地電壓GND。舉例來說(但本揭示不限於
此),開關326可利用一傳輸閘(transmission gate)來實施,其中當選擇信號S1具有高信號位準或選擇信號S2具有低信號位準時,該傳輸閘會開啟。所屬技術領域中具有通常知識者當可理解,開關326亦可利用其他類型的開關元件來實施,而不致於悖離本揭示內容之範圍。
切換電路332用以選擇性地將第二輸入端子群組D[5:8]耦接至一資料介面306,諸如耦接至一記憶體控制器的輸入/輸出(I/O)介面。切換電路334用以選擇性地將多個輸出端子Dm1~Dm12(即,第一輸出端子群組Dm[1:7]及第二輸出端子群組Dm[8:12])耦接至記憶體裝置3021。切換電路336用以選擇性地將第一輸出端子群組Dm[1:7]耦接至記憶體裝置3022。於此實施方式中,切換電路332可包括多個開關SW32,其分別對應多個輸入端子D5~D8而設置。切換電路334可包括多個開關SW34,其分別對應多個輸出端子Dm1~Dm12而設置。切換電路336可包括多個開關SW36,其分別對應多個輸出端子Dm1~Dm7而設置。多個開關SW32與SW34中的各開關均可利用一傳輸閘來實施,其中當選擇信號S1具有低信號位準或選擇信號S2具有高信號位準時,該傳輸閘會開啟。多個開關SW36中的各開關均可利用一傳輸閘來實施,其中當選擇信號S1具有高信號位準或選擇信號S2具有低信號位準時,該傳輸閘會開啟。值得注意的是,所屬技術領域中具有通常知識者應理解,多個開關SW32、SW34與SW36的至少其一均可利用其他類型的開關元件來實施,而不致於悖離本揭示內容之範圍。
切換電路342用以選擇性地將第一輸入端子群組Qm[1:7]耦接至記憶體裝置3022。切換電路344用以選擇性地將第二輸出端子群組Q[5:8]耦接至資料介面306。切換電路346用以選擇性地將多個輸入端子
Qm1~Qm12(即,第一輸入端子群組Qm[1:7]及第二輸入端子群組Qm[8:12])耦接至記憶體裝置3021。於此實施方式中,切換電路342可包括多個開關SW42,其分別對應於多個輸入端子Qm1~Qm7而設置。切換電路344可包括多個開關SW44,其分別對應於多個輸出端子Q5~Q8而設置。切換電路346可包括多個開關SW46,其分別對應於多個輸入端子Qm1~Qm12而設置。多個開關SW42中的各開關均可由一傳輸閘來實施,其中當選擇信號S1具有高信號位準或選擇信號S2具有低信號位準時,該傳輸閘會開啟。多個開關SW44與SW46中的各開關均可由一傳輸閘來實施,其中當選擇信號S1具有低信號位準或選擇信號S2具有高信號位準時,該傳輸閘會開啟。值得注意的是,所屬技術領域中具有通常知識者應理解,多個開關SW42、SW44與SW46中至少其一可由其他類型的開關元件來實施,而不致於悖離本揭示內容之範圍。
於操作中,當記憶體裝置3021被選用時,選擇信號SEL可具有高信號位準,使得選擇信號S1具有低信號位準且選擇信號S2具有高信號位準。當選擇記憶體裝置3022被選用時,選擇信號SEL可具有低信號位準,使得選擇信號S1具有高信號位準且選擇信號S2具有低信號位準。首先,參照圖4,其繪示了根據本揭示內容某些實施例,圖3所示之記憶體系統300在針對記憶體裝置3021的存取操作中的電路組態。於此實施方式中,當記憶體裝置3021經選定以用於資料寫入時,由於開關326是關閉的(turned off),故可將信號輸出端子TOUT設定為高阻抗狀態。切換電路332用以將第二輸入端子群組D[5:8]耦接至資料介面306,使得具有8位元的寫入資料DA經由資料介面306輸入至多個輸入端子D1~D8。錯誤更正碼電路310可對寫入資料DA進行編碼,以產生具有12位元的編碼資料
DA’。此外,切換電路334用以將第一輸出端子群組Dm[1:7]與第二輸出端子群組Dm[8:12]耦接至記憶體裝置3021。切換電路336用以將第一輸出端子群組Dm[1:7]與記憶體裝置3022分開。如此一來,記憶體裝置3021能夠經由寫入資料路徑DB1從多個輸出端子Dm1~Dm12接收編碼資料DA’。
當記憶體裝置3021經選定以進行資料讀取時,由於開關326是關閉的,故可將信號輸出端子TOUT設定為高阻抗狀態。切換電路346用以將第一輸入端子群組Qm[1:7]與第二輸入端子群組Qm[8:12]耦接至記憶體裝置3021,使得具有12位元的編碼資料QA’可從記憶體裝置3021輸入至多個輸入端子Qm1~Qm12。錯誤更正碼電路310可對編碼資料QA’進行解碼以產生具有8位元的讀取資料QA。此外,切換電路344用以將第二輸出端子群組Q[5:8]耦接至資料介面306。切換電路342用以將第一輸入端子群組Qm[1:7]與記憶體裝置3022分開。如此一來,錯誤更正碼電路310可將讀取資料QA從多個輸出端子Q1~Q8輸出至資料介面306。
參照圖5,其繪示了根據本揭示內容某些實施例,圖3所示之記憶體系統300在針對記憶體裝置3022的存取操作中的電路組態。於此實施方式中,當記憶體裝置3022經選定以用於資料寫入時,由於開關326是開啟的(turned on),故可將信號輸出端子TOUT耦接至參考電壓VR。切換電路332用以將第二輸入端子群組D[5:8]與資料介面306分開,使得具有4位元的寫入資料DA輸入到多個輸入端子D1~D4,以及具有4位元的參考資料DREF輸入到多個輸入端子D5~D8。因為參考電壓VR可等於或大致等於接地電壓GND,參考資料DREF的每一位元均可具有邏輯低值。錯誤更正碼電路310可對具有8位元的輸入資料DIN(即,寫入資料DA與參考資料DREF)進行編碼,以產生具有12位元的編碼資料DEN,其中編碼資料
DEN包含具有7位元的編碼資料DA’以及具有5位元的輔助資料DX。此外,切換電路334用以將第一輸出端子群組Dm[1:7]與第二輸出端子群組Dm[8:12]與記憶體裝置302分開。切換電路336用以將第一輸出端子群組Dm[1:7]耦接至記憶體裝置3022。如此一來,記憶體裝置3022可經由寫入資料路徑DB2從多個輸出端子Dm1~Dm7接收編碼資料DA’。
當記憶體裝置3022經選定以用於資料讀取時,由於開關326是開啟的,故可將信號輸出端子TOUT耦接至參考電壓VR。耦接至信號輸出端子TOUT的多個輸入端子Qm8~Qm12可接收具有5位元的參考資料QREF。切換電路342用以將第一輸入端子群組Qm[1:7]耦接至記憶體裝置3022,使得具有7位元的編碼資料QA’從記憶體裝置3022輸入至多個輸入端子Qm1~Qm7。錯誤更正碼電路310可對具有12位元的輸入資料QIN(即,編碼資料QA’與參考資料QREF)進行解碼,以產生具有8位元的解碼資料QDE,其中解碼資料QDE包含具有4位元的讀取資料QA以具有4位元的及輔助資料QX。此外,切換電路344用以將第二輸出端子群組Q[5:8]與資料介面306分開。切換電路346用以將第一輸入端子群組Qm[1:7]與第二輸入端子群組Qm[8:12]與記憶體裝置3021分開。如此一來,錯誤更正碼電路310可將讀取資料QA從多個輸出端子Q1~Q4輸出至資料介面306。
值得注意的是,可以捨棄在寫入操作中所產生的輔助資料DX而不會影響寫入資料DA的編碼結果。此外,可以捨棄在讀取操作中所產生的輔助資料QX而不會影響編碼資料QA’的解碼結果。
請一併參照圖6與圖3。圖6繪示了根據本揭示內容某些實施例,圖3所示的錯誤更正碼電路310所使用之(15,11)漢明碼的例示性同位檢查矩陣(parity-check matrix)H1,其區塊長度為15而信息長度為
11。錯誤更正碼電路310可利用同位檢查矩陣H1來對資料位元寬度介於5至11位元的一第一信息(譬如與記憶體裝置3021相關的寫入資料)進行編碼,並可對相關的編碼信息(譬如儲存於記憶體裝置3021中的編碼資料)進行解碼。當錯誤更正碼電路310用以處理資料位元寬度小於5位元的一第二信息(譬如與記憶體裝置3022相關的寫入資料)時,錯誤更正碼電路310仍可利用相同的同位檢查矩陣H1正確地對該第二信息進行編碼。舉例來說,錯誤更正碼電路310可接收參考資料DREF,其係結合於或附加至該第二信息。錯誤更正碼電路310可根據相同的同位檢查矩陣H1對該第二信息與參考資料DREF進行編碼。由於參考資料DREF的每一位元可具有一預定值(如邏輯低值),該預定值不會影響編碼/解碼過程中所涉及之互斥或(exclusive-OR)操作的結果,因此,可利用同位檢查矩陣H1的子矩陣(submatrix)H2正確地對資料位元寬度小於5位元的該第二信息進行編碼。如此一來,錯誤更正系統300可利用相同的錯誤更正碼電路310,而不需要使用一個採用(15,11)漢明碼的錯誤更正碼電路以及另一個採用(7,4)漢明碼的錯誤更正碼電路,即可支援具有不同資料路徑寬度的多個記憶體裝置3021與3022。
圖7繪示了根據本揭示內容某些實施例,圖3所示的錯誤更正碼電路310中與資料位元相關的端子以及與同位位元相關的端子的配置示意圖。於此實施方式中,錯誤更正碼電路310可利用漢明碼來執行錯誤更正碼操作。用以輸出同位位元的輸出端子為多個輸出端子Dm1、Dm2、Dm4與Dm8,其中多個輸出端子Dm1、Dm2、Dm4與Dm8中的各輸出端子對應於一個2的次方的位置。多個輸出端子Dm1~Dm12中剩餘的輸出端子用以輸出資料位元。舉例來說(但本揭示不限於此),當錯誤更正碼電路310是
用於針對記憶體裝置3021所進行的寫入操作時,多個輸出端子Dm1~Dm12中的各輸出端子均會被啟用,以輸出一相應位元值。當錯誤更正碼電路310是用於針對記憶體裝置3022所進行的寫入操作時,輸出端子Dm1~Dm12的一部分(即,多個輸出端子Dm1~Dm7)會被啟用以輸出相應的位元值,而輸出端子Dm1~Dm12的另一部分(即,多個輸出端子Dm8~Dm12)則繫結至參考電壓VR(如,邏輯低值)。
用以接收同位位元的多個輸入端子為多個輸入端子Qm1、Qm2、Qm4與Qm8,其中多個輸入端子Qm1、Qm2、Qm4與Qm8中的各輸入端子對應於一個2的次方的位置。多個輸入端子Qm1~Qm12中剩餘的輸入端子用以接收資料位元。舉例來說(但本揭示不限於此),當錯誤更正碼電路310是用於針對記憶體裝置3021所進行的讀取操作時,多個輸入端子Qm1~Qm12中的各輸入端子均會被啟用,以接收一相應位元值。當錯誤更正碼電路310是用於針對記憶體裝置3022所進行的讀取操作時,多個輸入端子Qm1~Qm12的一部分(即,多個輸入端子Qm1~Qm7)會被啟用以接收相應的位元值,而多個輸入端子Qm1~Qm12的另一部分(即,多個輸入端子Qm8~Qm12)則繫結至參考電壓VR(如,邏輯低值),以接收參考資料QREF的位元值。
值得注意的是,以上所述僅作為說明的目的,並非用以限定本揭示內容之範圍。在某些實施方式中,亦可採用其他漢明碼的同位檢查矩陣來進行錯誤更正碼操作,而不致於悖離本揭示內容之範圍。在某些實施方式中,所提出的錯誤更正架構可利用其他類型的錯誤更正碼,如低密度同位檢查(low density parity check,LDPC)碼以及理德-所羅門(Reed Solomon,RS)碼。在某些實施方式中,本揭示所提供的錯誤更
正架構在錯誤更正碼電路與記憶體裝置之間可具有不同的輸入/輸出端子佈局。在某些實施方式中,圖3至圖5所示的控制電路320可利用不同電路結構來提供參考電壓VR。在某些實施方式中,圖3至圖5所示的控制電路320可利用不同電路結構來控制多個切換電路332~336與342~346的開關操作。
在某些實施方式中,可省略圖3所示之多個切換電路中的至少一個。圖8繪示了根據本揭示內容某些實施例,圖2所示的記憶體系統200的另一實作方式。記憶體系統800的結構與圖3所示的記憶體系統300的結構相同或類似,不同之處在於多個輸出端子Dm1~Dm12可直接耦接至寫入資料路徑DB1,且多個輸出端子Dm1~Dm7可直接耦接至寫入資料路徑DB2。此外,多個輸入端子Qm1~Qm7可直接耦接至記憶體裝置3021,且多個輸入端子Qm1~Qm7可直接耦接至讀取資料路徑QB2。再者,多個輸出端子Q5~Q8可直接耦接至資料介面306。
於此實施方式中,錯誤更正系統804可包括多個切換電路832與842。切換電路832用以將資料介面306與參考電壓VR的其中之一耦接至多個輸入端子D5~D8的每一者。切換電路832可包括多個多工器MUX32,其分別對應多個輸入端子D5~D8而設置。舉例來說(但本揭示不限於此),當選擇信號SEL具有高信號位準時,多個多工器MUX32的每一者用以將資料介面306耦接至一個相應的輸入端子。當選擇信號SEL具有低信號位準時,多個多工器MUX32的每一者用以將參考電壓VR耦接至一個相應的輸入端子。
切換電路842用以將記憶體裝置3021與參考電壓VR的其中之一耦接至多個輸入端子Qm8~Qm12的每一者。切換電路842可包括多個
多工器MUX42,其分別對應多個輸入端子Qm8~Qm12而設置。舉例來說(但本揭示不限於此),當選擇信號SEL具有高信號位準時,多個多工器MUX42的每一者用以將記憶體裝置3021耦接至一個相應的輸入端子。當選擇信號SEL具有低信號位準時,多個多工器MUX42的每一者用以將參考電壓VR耦接至一個相應的輸入端子。
值得注意的是,當多個記憶體裝置3021與3022的其中之一經選定以用於資料寫入時,由於多個記憶體裝置3021與3022的其中之另一並未被致能/啟用,是故多個記憶體裝置3021與3022的其中之另一可能無法接收與多個記憶體裝置3021與3022的其中之一相關的編碼資料。因此,多個輸出端子Dm1~Dm12可直接耦接至寫入資料路徑DB1,且多個輸出端子Dm1~Dm7可直接耦接至寫入資料路徑DB2而不會影響所得到的編碼資料。相似地,當多個記憶體裝置3021與3022的其中之一經選定以用於資料讀取時,由於多個記憶體裝置3021與3022的其中之另一並未被致能/啟用,是故多個記憶體裝置3021與3022的其中之另一可能無法提供編碼資料給錯誤更正碼電路310。因此,多個輸入端子Qm1~Qm7可直接耦接至記憶體裝置3021,且多個輸入端子Qm1~Qm7可直接耦接至讀取資料路徑QB2而不會影響所得到的讀取資料。此外,當記憶體裝置3022經選定以用於資料讀取時,由於資料介面306可以不接收來自多個輸出端子Q5~Q8的資料輸出,是故多個輸出端子Q5~Q8可直接耦接至資料介面306。
由於所屬技術領域中具有通常知識者在閱讀了上文針對圖1至圖7的相關段落說明之後,當可理解記憶體系統800的操作方式,為求簡潔起見,進一步說明便不再贅述。
圖9繪示了根據本揭示內容某些實施例,用於具有不同資
料路徑寬度的多個記憶體裝置的例示性錯誤更正方法的流程圖。為了便於說明,以下基於圖3所示的記憶體系統300來描述錯誤更正方法900。所屬技術領域中具有通常知識者當可理解,錯誤更正方法900可用於控制圖1所示的記憶體系統100和/或圖2所示的記憶體系統200,而不致於悖離本揭示內容之範圍。此外,在某些實施方式中,亦可於錯誤更正方法900執行其他操作。在某些實施方式中,可利用不同的順序或不同操作來進行錯誤更正方法900。
在操作902,檢查該多個記憶體裝置的最大資料位元寬度。舉例來說,由於記憶體裝置3021具有8位元的資料位元寬度,記憶體裝置3022具有4位元的資料位元寬度,因此,多個記憶體裝置3021及3022的最大資料位元寬度等於8位元。
在操作904,設計可以接收/傳輸一輸入資料的每一位元的一錯誤更正碼電路,其中該輸入資料是因應針對具有最大資料位元寬度之記憶體裝置的記憶體存取操作而產生。舉例來說,錯誤更正碼電路310經設計以包含多個輸入端子D1~D8以及多個輸出端子Dm1~Dm12。多個輸入端子D1~D8用以接收與記憶體裝置3021相關的8位元的寫入資料,多個輸出端子Dm1~Dm12用以傳輸與記憶體裝置3021相關的12位元的編碼資料。在另一例子中,錯誤更正碼電路310經設計以包含多個輸入端子Qm1~Qm12以及多個輸出端子Q1~Q8。多個輸入端子Qm1~Qm12用以接收讀取自記憶體裝置3021的12位元的編碼資料。多個輸出端子Q1~Q8用以傳輸與記憶體裝置3021相關的8位元的讀取資料。
在操作906,提供一個或多個選擇接腳以決定該多個記憶體裝置中的哪一個記憶體裝置被選取。舉例來說,可提供單一選擇接腳
(即,選擇接腳TSEL)以選取多個記憶體裝置3021與3022兩者的其中之一。
在操作908,因應記憶體裝置的選取,設定一個或多個輸入端子的組態,以選擇性地接收一參考資料。舉例來說,多個輸入端子D5~D8的每一者均用以根據選擇信號SEL而選擇性地接收參考資料DREF。在另一例子中,多個輸入端子Qm8~Qm12的每一者均用以根據選擇信號SEL而選擇性地接收參考資料QREF。
由於所屬技術領域中具有通常知識者在閱讀上述對應於圖1至圖8的相關段落內容之後,當可理解錯誤更正方法900的每一操作,因此,為求簡潔起見,進一步的說明在此便不再贅述。
藉由使用參考資料,其具有依據記憶體裝置之選擇來決定的一位元寬度,本揭示所提供的錯誤更正機制可使用相同的錯誤更正碼電路來支援具有不同資料路徑寬度和/或不同資料位元寬度的多個記憶體裝置,因而節省備用電力並減少電路面積。本揭示所提供的錯誤更正機制可作為集中式錯誤更正碼系統,其可用於具有不同資料路徑寬度之多個記憶體裝置。
上文的敘述簡要地提出了本揭示某些實施例之特徵,而使得所屬技術領域具有通常知識者能夠更全面地理解本揭示的多種態樣。本揭示所屬技術領域具有通常知識者當可明瞭,其可輕易地利用本揭示內容作為基礎,來設計或更動其他製程與結構,以實現與此處所述之實施方式相同的目的和/或達到相同的優點。本揭示所屬技術領域具有通常知識者應當明白,這些均等的實施方式仍屬於本揭示內容之精神與範圍,且其可進行各種變更、替代與更動,而不會悖離本揭示內容之精神與範圍。
300 | 記憶體系統 |
302 1、302 2 | 記憶體裝置 |
304 | 錯誤更正系統 |
306 | 資料介面 |
310 | 錯誤更正碼電路 |
320 | 控制電路 |
332~336、342~346、832、842 | 切換電路 |
322、324 | 反相器 |
326、SW 32、SW 34、SW 36SW 42、SW 44、SW 46 | 開關 |
M1、M2 | 電晶體 |
DB 1、DB 2 | 寫入資料路徑 |
QB 1、QB 2 | 讀取資料路徑 |
D 1~D 8、Q m1~Q m12 | 輸入端子 |
D m1~D m12、Q 1~Q 8 | 輸出端子 |
T SEL | 選擇接腳 |
D[1:4]、Qm[1:7] | 第一輸入端子群組 |
D[5:8]、Qm[8:12] | 第二輸入端子群組 |
Dm[1:7]、Q[1:4] | 第一輸出端子群組 |
Dm[8:12]、Q[5:8] | 第二輸出端子群組 |
T OUT | 信號輸出端子 |
D EN | 編碼資料 |
D REF、Q REF | 參考資料 |
D IN、Q IN | 輸入資料 |
Q DE | 解碼資料 |
SEL、S1、S2 | 選擇信號 |
VR | 參考電壓 |
VDD | 供應電壓 |
GND | 接地電壓 |
Claims (22)
- 一種由多個記憶體裝置共用的錯誤更正系統,每一記憶體裝置的一資料路徑寬度具有一資料位元寬度與一同位位元寬度,該錯誤更正系統包含:一錯誤更正碼電路,其具有M個輸入端子,該錯誤更正碼電路用以因應一寫入操作,對該M個輸入端子所接收之一輸入資料進行編碼以產生一編碼資料,並向該記憶體裝置輸出該編碼資料,其中M為大於1的正整數,該輸入資料包含與該寫入操作相關的一寫入資料,且該編碼資料包含該輸入資料及相關的一同位位元資料;以及一控制電路,耦接於該M個輸入端子之至少其一,其中當該寫入操作是針對該多個記憶體裝置中具有小於M位元之一資料位元寬度的一第一記憶體裝置時,該寫入資料係輸入至該M個輸入端子的一第一部分,該控制電路用以將該M個輸入端子的一第二部分耦接至一參考電壓,以提供一參考資料至該M個輸入端子的該第二部分,且該寫入資料與該參考資料作為該輸入資料。
- 如請求項1所述的錯誤更正系統,其中該第一記憶體裝置的該資料位元寬度為P位元,P為小於M的正整數;該M個輸入端子的該第一部分所具有的輸入端子個數等於P,以及該M個輸入端子的該第二部分所具有的輸入端子個數等於(M-P)。
- 如請求項1所述的錯誤更正系統,其中該控制電路具有一信號輸出端 子,其耦接至該M個輸入端子的該第二部分;該控制電路用以將該參考電壓耦接至該信號輸出端子,以提供該參考資料。
- 如請求項1所述的錯誤更正系統,其中該錯誤更正碼電路具有N個輸出端子,N為大於M的正整數;該第一記憶體裝置具有等於Q位元的一資料路徑寬度,Q為小於N的正整數;當該寫入操作是針對該第一記憶體裝置時,該N個輸出端子中的Q個輸出端子係耦接至該第一記憶體裝置,而剩餘的(N-Q)個輸出端子係與該第一記憶體裝置分開。
- 如請求項4所述的錯誤更正系統,還包含:一切換電路,用以選擇性地將該Q個輸出端子耦接至該第一記憶體裝置,其中當該寫入操作是針對該第一記憶體裝置時,該切換電路用以將該Q個輸出端子耦接至該第一記憶體裝置;當該寫入操作是針對該多個記憶體裝置中不同於該第一記憶體裝置的一第二記憶體裝置時,該切換電路用以將該Q個輸出端子與該第一記憶體裝置分開。
- 如請求項1所述的錯誤更正系統,其中當該寫入操作是針對該多個記憶體裝置中具有等於M位元之一資料位元寬度的一第二記憶體裝置時,該寫入資料係輸入至該M個輸入端子,以作為該輸入資料。
- 如請求項6所述的錯誤更正系統,其中該第二記憶體裝置具有等於N位元的一資料路徑寬度;當該寫入操作是針對該第二記憶體裝置時,該錯 誤更正碼電路的N個輸出端子係耦接至該第二記憶體裝置。
- 如請求項7所述的錯誤更正系統,還包含:一切換電路,用以選擇性地將該N個輸出端子耦接至該第二記憶體裝置,其中當該寫入操作是針對該第一記憶體裝置時,該切換電路用以將該N個輸出端子與該第二記憶體裝置分開;當該寫入操作是針對該第二記憶體裝置時,該切換電路用以將該N個輸出端子耦接至該第二記憶體裝置。
- 如請求項1所述的錯誤更正系統,其中該寫入資料係經由一資料介面而輸入至該錯誤更正碼電路,且該錯誤更正系統還包含:一切換電路,用以選擇性地將該M個輸入端子的該第二部分耦接至該資料介面,其中當該寫入操作是針對該第一記憶體裝置時,該切換電路用以將該M個輸入端子的該第二部分與該資料介面分開;當該寫入操作是針對該多個記憶體裝置中具有等於M位元之一資料位元寬度的一第二記憶體裝置時,該切換電路用以將該M個輸入端子的該第二部分耦接至該資料介面。
- 如請求項1所述的錯誤更正系統,其中該參考資料的每一位元具有一邏輯低值。
- 一種由多個記憶體裝置共用的錯誤更正系統,每一記憶體裝置的一資料路徑寬度具有一資料位元寬度與一同位位元寬度,該錯誤更正系統包 含:一錯誤更正碼電路,其具有N個輸入端子,該錯誤更正碼電路用以因應一讀取操作,對該N個輸入端子所接收之一輸入資料進行解碼以產生一解碼資料,其中N為大於1的正整數,且該輸入資料包含儲存於與該讀取操作相關的一記憶單元的一原始資料以及相關的一同位位元資料;以及一控制電路,耦接於該N個輸入端子之至少其一,其中當該讀取操作是針對該多個記憶體裝置中具有小於N位元之一資料路徑寬度的一第一記憶體裝置時,該讀取資料及相關的該同位位元資料係輸入至該N個輸入端子的一第一部分,且該控制電路用以將該N個輸入端子的一第二部分耦接至一參考電壓,以提供一參考資料至該N個輸入端子的該第二部分;該原始資料、相關的該同位位元資料與該參考資料作為該輸入資料。
- 如請求項11所述的錯誤更正系統,其中該第一記憶體裝置的該資料路徑寬度為Q位元,Q為小於N的正整數;該N個輸入端子的該第一部分所具有的輸入端子個數等於Q,以及該N個輸入端子的該第二部分所具有的輸入端子個數等於(N-Q)。
- 如請求項11所述的錯誤更正系統,還包含:一切換電路,用以選擇性地將該N個輸入端子的該第一部分耦接至該第一記憶體裝置,其中當該讀取操作是針對該第一記憶體裝置時,該切換電路用以將該N個輸入端子的該第一部分耦接至該第一記 憶體裝置;當該讀取操作是針對該多個記憶體裝置中不同於該第一記憶體裝置的一第二記憶體裝置時,該切換電路用以將該N個輸入端子的該第一部分與該第一記憶體裝置分開。
- 如請求項11所述的錯誤更正系統,其中該控制電路有一信號輸出端子,其耦接至該N個輸入端子的該第二部分;該控制電路用以將該參考電壓耦接至該信號輸出端子,以提供該參考資料。
- 如請求項11所述的錯誤更正系統,其中該解碼資料包含對應於該原始資料的一讀取資料,且該讀取資料是從該錯誤更正碼電路輸出至一資料介面;該錯誤更正碼電路有M個輸出端子,M為小於N的正整數;該第一記憶體裝置具有等於P位元的一資料位元寬度,P為小於M的正整數;當該讀取操作是針對該第一記憶體裝置,該M個輸出端子中的P個輸出端子係耦接至該資料介面以輸出該讀取資料,而剩餘的(M-P)個輸出端子係與該資料介面分開。
- 如請求項11所述的錯誤更正系統,其中當該讀取操作是針對該多個記憶體裝置中具有等於N位元之一資料位元寬度的一第二記憶體裝置時,該原始資料及相關的該同位位元資料係輸入至該N個輸入端子,以作為該輸入資料。
- 如請求項16所述的錯誤更正系統,還包含:一切換電路,用以選擇性地將該N個輸入端子耦接至該第二記憶 體裝置,其中當該讀取操作是針對該第一記憶體裝置時,該切換電路用以將該N個輸入端子與該第二記憶體裝置分開;當該讀取操作是針對該第二記憶體裝置時,該切換電路用以將該N個輸入端子耦接至該第二記憶體裝置。
- 如請求項16所述的錯誤更正系統,其中該解碼資料包含對應於該原始資料的一讀取資料,且該讀取資料是從該錯誤更正碼電路輸出至一資料介面;該第二記憶體裝置具有等於M位元的一資料路徑寬度;當該讀取操作是針對該第二記憶體裝置時,該錯誤更正碼電路的M個輸出端子係耦接至該資料介面,以輸出該讀取資料。
- 如請求項11所述的錯誤更正系統,其中該解碼資料包含對應於該原始資料的一讀取資料,且該讀取資料是從該錯誤更正碼電路輸出至一資料介面;該錯誤更正碼電路有M個輸出端子,M為小於N的正整數;該第一記憶體裝置具有等於P位元的一資料位元寬度,P為小於M的正整數;該錯誤更正系統還包含:一切換電路,用以選擇性地將該M個輸出端子中的(M-P)個輸出端子耦接至該資料介面,其中當該讀取操作是針對該第一記憶體裝置時,該切換電路用以將該(M-P)個輸出端子與該資料介面分開;當該讀取操作是針對該記憶體裝置中具有等於M位元之一資料位元寬度的一第二記憶體裝置時,該切換電路用以將該(M-P)個輸出端子耦接至該資料介面。
- 如請求項11所述的錯誤更正系統,其中該參考資料的每一位元具有一邏輯低值。
- 一種由多個記憶體裝置共用的錯誤更正系統,每一記憶體裝置的一資料路徑寬度具有一資料位元寬度與一同位位元寬度,該錯誤更正系統包含:一錯誤更正碼電路,其具有M個輸入端子,該錯誤更正碼電路用以因應一寫入操作,對該M個輸入端子所接收之一輸入資料進行編碼以產生一編碼資料,並向該記憶體裝置輸出該編碼資料,其中M為大於1的正整數,該輸入資料包含與該寫入操作相關的一寫入資料,且該編碼資料包含該輸入資料及相關的一同位位元資料;以及一控制電路,耦接於該M個輸入端子之至少其一,其中當該寫入操作是針對該多個記憶體裝置中具有小於M位元之一資料位元寬度的一第一記憶體裝置時,該寫入資料係輸入至該M個輸入端子的一第一部分,該控制電路用以提供一參考資料至該M個輸入端子的一第二部分,且該寫入資料與該參考資料作為該輸入資料,其中該參考資料的每一位元具有一邏輯低值。
- 一種由多個記憶體裝置共用的錯誤更正系統,每一記憶體裝置的一資料路徑寬度具有一資料位元寬度與一同位位元寬度,該錯誤更正系統包含:一錯誤更正碼電路,其具有N個輸入端子,該錯誤更正碼電路用以因應一讀取操作,對該N個輸入端子所接收之一輸入資料進行解碼 以產生一解碼資料,其中N為大於1的正整數,且該輸入資料包含儲存於與該讀取操作相關的一記憶單元的一原始資料以及相關的一同位位元資料;以及一控制電路,耦接於該N個輸入端子之至少其一,其中當該讀取操作是針對該多個記憶體裝置中具有小於N位元之一資料路徑寬度的一第一記憶體裝置時,該讀取資料及相關的該同位位元資料係輸入至該N個輸入端子的一第一部分,且該控制電路用以提供一參考資料至該N個輸入端子的一第二部分;該原始資料、相關的該同位位元資料與該參考資料作為該輸入資料;該參考資料的每一位元具有一邏輯低值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/233,034 | 2018-12-26 | ||
US16/233,034 US10795767B2 (en) | 2018-12-26 | 2018-12-26 | Error correcting system shared by multiple memory devices |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202025166A TW202025166A (zh) | 2020-07-01 |
TWI706416B true TWI706416B (zh) | 2020-10-01 |
Family
ID=71124264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108124776A TWI706416B (zh) | 2018-12-26 | 2019-07-12 | 多個記憶體裝置共用的錯誤更正系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10795767B2 (zh) |
CN (1) | CN111367708B (zh) |
TW (1) | TWI706416B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130019050A1 (en) * | 2011-07-14 | 2013-01-17 | Vinay Ashok Somanache | Flexible flash commands |
US20150095738A1 (en) * | 2013-09-30 | 2015-04-02 | Esilicon Corporation | Error Detection and Correction in Ternary Content Addressable Memory (TCAM) |
US20170373845A1 (en) * | 2013-09-10 | 2017-12-28 | M2M And Lot Technologies, Llc | Key Derivation for a Module Using an Embedded Universal Integrated Circuit Card |
US20180039573A1 (en) * | 2016-08-06 | 2018-02-08 | Cory Consulting Group, LLC | Apparatus and Method of Wear Leveling for Storage Class Memory |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0181471B1 (ko) * | 1990-07-27 | 1999-05-15 | 윌리암 피.브레이든 | 컴퓨터 데이타 경로배정 시스템 |
JP2000163315A (ja) | 1998-11-30 | 2000-06-16 | Nec Eng Ltd | メモリ制御システム |
US6683817B2 (en) | 2002-02-21 | 2004-01-27 | Qualcomm, Incorporated | Direct memory swapping between NAND flash and SRAM with error correction coding |
JP4201783B2 (ja) | 2005-08-04 | 2008-12-24 | 富士通マイクロエレクトロニクス株式会社 | キャッシュメモリ装置、半導体集積回路およびキャッシュ制御方法 |
US7227797B2 (en) * | 2005-08-30 | 2007-06-05 | Hewlett-Packard Development Company, L.P. | Hierarchical memory correction system and method |
JP4936746B2 (ja) | 2006-03-08 | 2012-05-23 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP2007257791A (ja) * | 2006-03-24 | 2007-10-04 | Fujitsu Ltd | 半導体記憶装置 |
US7779334B2 (en) | 2006-06-26 | 2010-08-17 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory having an ECC system |
US8321757B2 (en) * | 2008-06-22 | 2012-11-27 | Sandisk Il Ltd. | Method and apparatus for error correction |
CN107368386B (zh) | 2012-03-29 | 2021-03-09 | 英特尔公司 | 用于处理从非易失性存储器阵列检索的状态置信度数据的方法和设备 |
JP2013232263A (ja) * | 2012-04-27 | 2013-11-14 | Toshiba Corp | 半導体メモリ |
JP2015053096A (ja) * | 2013-09-09 | 2015-03-19 | マイクロン テクノロジー, インク. | 半導体装置、及び誤り訂正方法 |
KR102193682B1 (ko) * | 2014-08-01 | 2020-12-21 | 삼성전자주식회사 | 선택적 ecc 기능을 갖는 반도체 메모리 장치 |
GB2530043A (en) | 2014-09-10 | 2016-03-16 | Ibm | Device and method for storing data in a plurality of multi-level cell memory chips |
US9697884B2 (en) * | 2015-10-08 | 2017-07-04 | Rambus Inc. | Variable width memory module supporting enhanced error detection and correction |
KR20170045806A (ko) | 2015-10-20 | 2017-04-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US20170126249A1 (en) * | 2015-10-30 | 2017-05-04 | Intel Corporation | Temperature dependent multiple mode error correction |
US9761325B1 (en) | 2016-03-14 | 2017-09-12 | Toshiba Memory Corporation | Memory system |
EP3370152B1 (en) * | 2017-03-02 | 2019-12-25 | INTEL Corporation | Integrated error checking and correction (ecc) in memory devices with fixed bandwidth interfaces |
JP6861611B2 (ja) * | 2017-11-07 | 2021-04-21 | ルネサスエレクトロニクス株式会社 | 半導体装置及びそれを備えた半導体システム |
-
2018
- 2018-12-26 US US16/233,034 patent/US10795767B2/en active Active
-
2019
- 2019-06-28 CN CN201910572427.1A patent/CN111367708B/zh active Active
- 2019-07-12 TW TW108124776A patent/TWI706416B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130019050A1 (en) * | 2011-07-14 | 2013-01-17 | Vinay Ashok Somanache | Flexible flash commands |
US20170373845A1 (en) * | 2013-09-10 | 2017-12-28 | M2M And Lot Technologies, Llc | Key Derivation for a Module Using an Embedded Universal Integrated Circuit Card |
US20150095738A1 (en) * | 2013-09-30 | 2015-04-02 | Esilicon Corporation | Error Detection and Correction in Ternary Content Addressable Memory (TCAM) |
US20180039573A1 (en) * | 2016-08-06 | 2018-02-08 | Cory Consulting Group, LLC | Apparatus and Method of Wear Leveling for Storage Class Memory |
Also Published As
Publication number | Publication date |
---|---|
US10795767B2 (en) | 2020-10-06 |
CN111367708A (zh) | 2020-07-03 |
US20200210289A1 (en) | 2020-07-02 |
TW202025166A (zh) | 2020-07-01 |
CN111367708B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11349496B2 (en) | Memory controller and method of data bus inversion using an error detection correction code | |
US11740960B2 (en) | Detection and correction of data bit errors using error correction codes | |
KR101750662B1 (ko) | 데이터 에러 교정용 회로, 장치, 및 방법 | |
US9819362B2 (en) | Apparatus and method for detecting and mitigating bit-line opens in flash memory | |
US10803971B2 (en) | Device for supporting error correction code and test method thereof | |
US9912355B2 (en) | Distributed concatenated error correction | |
TWI714277B (zh) | 記憶體錯誤偵測及校正 | |
CN113064547B (zh) | 有局部顺序信息的校验矩阵的保护的数据存取方法及设备 | |
US20080082870A1 (en) | Parallel bit test device and method using error correcting code | |
JP2019057752A (ja) | メモリシステム | |
US20050138537A1 (en) | Method and system to encode and decode wide data words | |
US20140281794A1 (en) | Error correction circuit | |
TW201921245A (zh) | 用於支持錯誤更正碼的裝置及其測試方法 | |
US10872667B2 (en) | Decoding method, memory controlling circuit unit and memory storage device | |
US20160328289A1 (en) | Error correction code management of write-once memory codes | |
US20200321979A1 (en) | Ecc memory chip encoder and decoder | |
US9110858B2 (en) | Apparatus and method for controlling memory in mobile communication system | |
TWI706416B (zh) | 多個記憶體裝置共用的錯誤更正系統 | |
US9654146B2 (en) | Bi-directional parity bit generator circuit | |
Yang | Improving memory ECC via defective memory columns | |
JP2009158051A (ja) | 不揮発性半導体記憶装置及び読み出しテスト方法 |