TWI664639B - 記憶體之記憶胞元資料處理 - Google Patents

記憶體之記憶胞元資料處理 Download PDF

Info

Publication number
TWI664639B
TWI664639B TW107100236A TW107100236A TWI664639B TW I664639 B TWI664639 B TW I664639B TW 107100236 A TW107100236 A TW 107100236A TW 107100236 A TW107100236 A TW 107100236A TW I664639 B TWI664639 B TW I664639B
Authority
TW
Taiwan
Prior art keywords
value
memory cell
values
memory
code
Prior art date
Application number
TW107100236A
Other languages
English (en)
Other versions
TW201832232A (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
Application filed by 德商英飛凌科技股份有限公司 filed Critical 德商英飛凌科技股份有限公司
Publication of TW201832232A publication Critical patent/TW201832232A/zh
Application granted granted Critical
Publication of TWI664639B publication Critical patent/TWI664639B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • 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/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2273Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5657Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using ferroelectric storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5678Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5685Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using storage elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0009RRAM elements whose operation depends upon chemical change
    • G11C13/0011RRAM elements whose operation depends upon chemical change comprising conductive bridging RAM [CBRAM] or programming metallization cells [PMCs]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0054Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/563Multilevel memory reading aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

一種從記憶體讀出記憶胞元的方法,其特徵為物理值是由n 個記憶胞元決定,其中n 至少是3;物理值至少有一部分被相互比較;根據相互比較的物理值將K 個不同的數位記憶胞元值配屬到n 個記憶胞元;將一個n 1 -,…,nK -aus-n -代碼的一個代碼字配屬到按上述方式獲得的記憶胞元值。特別是n ≥ 3,n 1 ≥ 1至nK ≥ 1;K ≥ 2及m ≥ 1。

Description

記憶體之記憶胞元資料處理
有多種不同的已知方法可將數據(例如二進制數據)儲存到記憶體之記憶胞元內,以及從記憶體的記憶胞元將數據讀出,以進行進一步的處理。
本發明的目的 是改善與記憶體的作業往來,特別是提高儲存及/或讀出數據的效率。 採用具有本發明之獨立申請專利項目之特徵的方法即可達到上述目的。附屬申請專利項目之內容為本發明的各種有利的實施方式。
為了達到上述目的,本發明提出一種從記憶體讀出記憶胞元的方法,其具有以下的特徵: - 物理值是由n 個記憶胞元決定,其中n 至少是3; - 物理值至少有一部分被相互比較; - 根據相互比較的物理值將K 個不同的數位記憶胞元值配屬到n 個記憶胞元; - 將一個n 1 -,…,nK -aus-n -代碼的一個代碼字配屬到按上述方式獲得的記憶胞元值。
特別是n ≥ 3,n 1 ≥ 1至nK ≥ 1;k ≥ 2及m ≥ 1。
n 個記憶胞元值,其中僅出現K 個不同的數位值。
此外:n 1 +…+nK =n
物理值的比較可以包含類比值的比較。
比較的方式可以是比較物理值本身,或是以物理值為基礎進行比較。特別是可以比較從物理值導出的值。此處提及之物理值的比較亦包括對涉及從物理值導出的值進行的比較。
因此,將數位值配屬於物理值的基礎是將從n個記憶胞元決從的物理值相互比較,以此為基礎的比較只有很小的機率會導致數位值的配屬錯誤。只有在要比較的物理值位於其值之機率分佈的重疊區,而且在比較時物理值的排列順序發生改變的情況下,才有可能發生數位值的錯誤配屬。
根據一種改良方式: - 物理值至少有一部分被相互比較,由此決定物理值的排列順序; - 根據物理值的排列順序將K 個不同的數位記憶胞元值配屬到n 個記憶胞元。
這樣就可以為排列順序中的n 1 個第一記憶胞元值決定一個第一數位記憶胞元值,以及為排列順序中的nK 個最後的記憶胞元值決定一個第K 個數位記憶胞元值。
特別是可以根據物理值在排列順序中的位置,決定數位記憶胞元值的配屬。
如果是為排列順序中的n 1 個第一記憶胞元決定一個第一數位記憶胞元值,而且n 1 ≥ 2,則可以不必確定n 1 個第一記憶胞元的排列順序。在這種情況下,只需確定一個記憶胞元是屬於n 1 個第一記憶胞元即可,無需確定這個記憶胞元在n 1 個第一記憶胞元的排列順序中的位置。例如,可以將相同的數位值1配屬到所有n 1 個第一記憶胞元。
接下來一直到nK 個第K 個記憶胞元亦適用以上描述的規則。也就是說只需一個部分確定的排列順序即可,或是只需確定一部分的記憶胞元值的排列順序即可。
一種改良方式是讀出n 個記憶胞元,以確定物理值。
一種改良方式是使所有的物理值相互比較。
一種改良方式是使K =2,因此n 1 -,…,nK -aus-n -代碼是一個n 1 -,n 2 -aus-n -代碼,其中n1 個第一記憶胞元值具有彼此相同的第一個值,n 2 個第二記憶胞元值具有彼此相同的第二個值,其中第一個值不同於第二個值。
也可以將n 1 -,n 2 -aus-n -代碼稱為n 1 -aus-n -代碼。在這種情況下n 2 =n -n 1
一種改良方式是使K =3,因此n 1 -,…,nK -aus-n -代碼是一個n 1 -,n 2 -,n 3 -aus-n -代碼,其中n 1 個第一記憶胞元值具有彼此相同的第一個值,n 2 個第二記憶胞元值具有彼此相同的第二個值,n 3 個第三個記憶胞元值具有彼此相同的第三個值,其中第一個值、第二個值、以及第三個值都是彼此不同的值。
一種改良方式是使K >3。
在這個例子中,從每一個記憶胞元可以決定3個以上的值,也就是3個以上的數位記憶胞元值。
根據一種改良方式,從記憶胞元決定的記憶胞元值是透過一一對應的轉換決定。
記憶胞元值的數量n 較佳是小於儲存在記憶胞元內的位元數量的兩倍。
根據一種改良方式,物理值是時間點。
一種改良方式是利用記憶胞元之物理值的時間積分決定時間點。
根據一種改良方式,物理值是記憶胞元的一個讀出流。
根據一種改良方式,如果所獲得的數位記憶胞元值是描述n 1 -,…,nK -aus-n -代碼的一個代碼字,則可以透過反轉換從代碼字決定m 個位元。
根據一種改良方式,利用錯誤代碼對m 個位元進行錯誤辨識及/或錯誤修正。
一種改良方式是利用檢驗位元進行錯誤辨識及/或錯誤修正,其中係根據源自數據位元的錯誤代碼決定檢驗位元。
一種改良方式是利用檢驗位元進行錯誤辨識及/或錯誤修正,其中係根據源自記憶胞元值的錯誤代碼決定檢驗位元。
根據一種改良方式,錯誤代碼是一個位元組錯誤修正代碼及/或位元組錯誤辨識代碼。
根據一種改良方式,如果是以數據位元進行錯誤修正,則一個位元組含有m 個位元,如果是以記憶胞元進行錯誤修正,則一個位元組含有n 個位元。
根據一種改良方式,錯誤代碼是一個位元錯誤修正代碼及/或位元錯誤辨識代碼。
一種改良方式是使用至少一個參考值以決定數位記憶胞元值。
根據一種改良方式,記憶體包含下列記憶體類型中的至少一種記憶體類型: - 快取記憶體, - 寄存器或寄存器陣列, - 快閃記憶體, - MRAM, - SRAM, - RE-RAM, - PC-RAM, - FE-RAM, - CB-RAM, - 多位元記憶體, - 多級記憶體。
此外,為了達到本發明的目的,本發明還提出一種處理記憶體的記憶胞元用的裝置,此裝置具有一個處理單元,其作用是: - 由n 個記憶胞元決定物理值,其中n 至少是3; - 物理值至少有一部分被相互比較; - 根據相互比較的物理值將K 個不同的數位記憶胞元值配屬到n 個記憶胞元; - 將一個n 1 -,…,nK -aus-n -代碼的一個代碼字配屬到按上述方式獲得的記憶胞元值。
此處所稱之處理單元可以是一個處理器單元,及/或至少是部分硬體連線的電路佈置或是一個邏輯電路佈置,其作用是按上述方式執行本發明的方法。此處提及的處理單元可以是或包含具有必要之周邊設備(記憶體,輸入/輸出介面,輸出裝置..等)的任何一種處理器、計算機、或電腦。
以上關於本發明之方法的說明亦適用於這種裝置。可以將這種裝置製作元一個組件,或是分散到多個組件。
也可以利用包含至少一個這種裝置的系統達到本發明的目的。 - 使至少一部分物理值相互比較,由此決定物理值的排列順序; - 根據物理值的排列順序將K 個不同的數位記憶胞元值配屬到n 個記憶胞元。
此外,本發明還提出一種可以直接存在數位電腦的記憶體內的電腦程式產品,此種電腦程式產品包含可以執行本發明之方法的各個步驟的程式碼。
本發明還提出一種電腦可讀的儲存介質,其包含電腦可執行的指示,以使電腦執行本發明之方法的各個步驟。
記憶胞元可以有不同的不同物理值或相當於不同的數位值的狀態。
記憶胞元S 的物理量G 的值稱為WG ,記憶胞元S 的數位值稱為WD
數位值WD 可以是一個二進制的值,也就是能夠以兩個值(0及1)表示的值。一個數位值可以說是由有限數量的值組成的值。
另一種可能性是,數位值WD 可以代表兩個以上的不同的值。例如,一個數位值代表3個不同的值,在這種情況下,這些不同的數位值能夠以0,1,2來表示。一般而言,一個數位值K (K ≥ 2)可以代表不同的值。這K 個不同的值能夠以0,1,…,K -1來表示。如果一個記憶體含有能夠儲存兩個以上的數位記憶胞元值的記憶胞元,則此記憶體亦稱為多值記憶體或多級記億體。此種記憶體的記憶胞元亦稱為多值或多級記憶胞元。
同樣的,如果一個記憶體含有能夠儲存兩個數位值的記憶胞元,則可以將這種記憶體稱為二進制記憶體,以及將其記憶胞元稱為二進制記憶胞元。
從記憶胞元S 讀出的物理值稱為WA
例如,記憶胞元的物理值或狀態可以是一個電阻值。同樣的,二進制的兩個電阻值可以是不一樣的:例如較大的電阻值相當於數位值0,較小的電阻值相當於數位值1。另一個例子是較大的電阻值相當於數位值1,較小的電阻值相當於數位值0。
如果有兩個以上的數位值儲存在記憶胞元內,則可以按照階段分配(朝較大或較小的電阻的方向):例如最大的電阻相當於數位值0,第二大的電阻相當於數位值1,第三大的電阻相當於數位值2…等,到最後是最小的電阻相當於數位值K -1(這表示有K 個數位值可以儲存在記憶胞元內)。
在讀出一個記憶胞元S 時會決定一個類比物理值WA ,這個物理值WA 取決於物理值WG ,其中物理值WG 是在寫入/儲存數位值WD 時產生的。
在沒有出錯的情況下,可以從讀出的物理值WA 決定相應的數位值WD
如果不同的電阻值相當於不同的記憶胞元S 的不同的狀態,例如MRAM就是一個例子,則儲存的物理值WG 是一個電阻值,同時讀出的物理值WA 可以是一個電流或電壓。
例如,在讀出記憶胞元時,可以利用至少一個參考值R ,這個參考值R 對所有或大部分讀出的記憶胞元是一樣的。也可以選擇性的使(至少一個)參考值(全部或部分)位於外部供使用。從記憶胞元讀出的值WA 可以與參考值R 比較。
以下將以能夠儲存兩個不同的數位值(0及1)的二進制記憶胞元為例說明。當然以下的說明亦適用於能夠儲存兩個以上的數位值的記憶胞元。
如果較大的電阻值相當於二進制值0,較常的電阻值相當於二進制值1,則讀出的較小的電流值WA 相當於數位值0,讀出的較大的電流值WA 相當於數位值1。
與此相應的,另一種選擇是,從記憶胞元讀出的值WA 是一個電壓,這個電壓的大小取決於先前寫入記憶胞元的是二進制值0或二進制值1。
如果將讀出值WA與一唯一的相應的參考值比較,因而確定數位值WD,則該數位值WD符合下式:如果在多個記憶胞元內寫入數位值0,則一個可能的例子是,由於統計起伏(例如製造時的過程起伏)的關係,這些記憶胞元具有不同的物理值WG ,在沒有出錯的情況下,所有的這些物理值均相當於數位值WD =0,而且能夠以一個機率分佈描述這些物理值。與此相應的,根據機率分佈,讀出值WA 是不同的值。
同樣的,以上的說明亦適用於被寫入一個數位值1或另一個值的記憶胞元:如果在多個記憶胞元內寫入數位值1,則一個可能的例子是,由於統計起伏(例如製造時的過程起伏)的關係,這些記憶胞元具有不同的物理值WG ,在沒有出錯的情況下,所有的這些物理值均相當於數位值WD =1,而且能夠以一個機率分佈描述這些物理值。與此相應的,根據機率分佈,讀出值WA 是不同的值。
如果可以在一個記憶胞元內儲存一個以上的位元,則以下的說明亦適用於所有的能夠被儲存在記憶胞元內的數位值。
1a 顯示相當於數位值1的讀出值WA (1)的機率分佈101,以及相當於數位值0的讀出值WA (0)的機率分佈102。在x軸上標示的是不同的讀出值WA ,在y軸上標示的是讀出值WA 的機率。此外,有一個位於機率分佈101及102之間的參考值R
在第1a圖的例子中,機率分佈101及102沒有任何重疊。這表示二進制值0及1的配屬沒有任何錯誤。換句話說,在沒有讀出錯誤的情況下,根據參考值R可以明確且沒有任何錯誤的將讀出值WA 配屬到二進制值0或1。
為簡化起見,這個例子是假設幅射或加熱造成的影響不會導致配屬錯誤。
1b 顯示相當於數位值1的讀出值WA (1)的機率分佈103,以及相當於數位值0的讀出值WA (0)的機率分佈104。同樣的,有一個位於機率分佈103及104之間的參考值R
與第1a圖顯示的機率分佈101及102不同的是,機率分佈103及104有部分區重疊。例如,MRAM記憶胞元可能會出現這種重疊。第1b圖顯示一個重疊區105,這個重疊區也稱為[0,1] A
如果將二進制值0配屬到讀出值WA ,且WA R ,以及將二進制值1配屬到讀出值WA ,且WA R ,則在讀出值WA 位於重疊區105的情況下,這個配屬可能會出錯。
此外,輻射或加熱造成的影響、或永久錯誤也可能導致配屬錯誤。
由於存在一重疊區105及使用參考值R 的關係,有相當大的機率會出錯配屬錯誤:如果一個相當於二進制值0的讀出值WA 位於重疊區105,此時大約有一半的機率是WA R ,因此可能導致配屬錯誤。同樣的:如果一個相當於二進制值1的讀出值WA 位於重疊區105,此時大約有一半的機率是WA R ,因此也可能導致配屬錯誤。
因此在讀出值WA 位於重疊區105的情況下,數位值的配屬可能會發生錯誤。區106顯示雖然一部分的讀出值WA 應被配屬到二進制值0,但是卻被錯誤的配屬到二進制值1。因此發生數位值配屬錯誤的機率主要是由讀出值WA 位於重疊區105的機率決定。特別是在重疊區相當大的情況下會是一個很大的缺點,例如現代科技就可能出現這種情況。
可以利用兩個記憶胞元S 1S 2 儲存一個可以是0及1的二進制值x 。例如可以為x =0將一個0存入記憶胞元S 1 ,以及將一個1寫入(存入)記憶胞元S 2 ;為x =1將一個1存入記憶胞元S 1 ,以及將一個0寫入(存入)記憶胞元S 2 。同樣的,也可以是反過來為x =0將一個1存入記憶胞元S 1 ,以及將一個0寫入(存入)記憶胞元S 2 ;為x =1將一個0存入記憶胞元S 1 ,以及將一個1寫入(存入)記憶胞元S 2
例如,可以利用一個比較電路讓從兩個記憶胞元S 1S 2 讀出的(物理)值相互比較,以便在無錯誤的情況下確定0或1是否已經被存入。
例如,從記憶胞元S 1 讀出物理值WA 1 ,以及從記憶胞元S 2 讀出物理值WA 2 。如果WA 1WA 2 ,則表示二進制值x =0被存入兩個記憶胞元S 1S 2 。如果WA 1WA 2 ,則表示二進制值x =1被存入兩個記憶胞元S 1S 2
在這個例子中,被存入兩個記憶胞元S 1S 2 的讀出值WA 1WA 2 是彼此相互比較,而不是與參考值比較。使讀出值彼此相互比較可以大幅降低出現錯誤的機率。
只有在記憶胞元S 1 的讀出值WA 1 及記憶胞元S 2 的讀出值WA 2 均位於重疊區機率分佈WA (0)及WA (1)的情況下,才可能出現錯誤。發生這種情況的機率遠小於兩個讀出值中只有一個讀出值位於重疊區的機率。
反之,如果將從記憶胞元的讀出值與一參考值比較,而且這個讀出值位於相應之機率分佈的重疊區,則可能發生錯誤。
因此有一個缺點是每一個要儲存的位元需要兩個記憶胞元,也就是說儲存n 位元需要2n 個記憶胞元。
這個例子的一個優點是能夠利用盡可能少的記憶胞元儲存數位值,而且可靠性很高。另一個優點是,在儲存時還可以額外使用一個錯誤代碼,這樣至少可以辨識及/或修正一部分的讀出錯誤。將數據位元轉換成記憶胞元值
例如將k 個位元的2 k 個可能的佔用轉換成n 個記憶胞元值。記憶胞元值被儲存到n 個記憶胞元內,例如被儲存到一可定址記憶體的記憶胞元內。
可以從n 個記憶胞元讀出存在n 個記憶胞元內的n 個記憶胞元值,而且在沒有錯誤的情況下,可以將讀出的n 個記憶胞元值轉換回k 個數據位元。
記憶胞元值可以是二進制值(例如0及1)。在這種情況下,二進制值被儲存在記憶體的記憶胞元內。因此可以將這些記憶胞元稱為二進制記憶胞元。
另一種可能性是,每一個記憶胞元值K 都可以是不同的值。不同於二進制記憶胞元,此處的每一個記憶胞元值都可以有兩個以上的值。因此:K >2,其中K 個記憶胞元值是0,1,...,K -1。例如,如果是有3個值的記憶胞元,則其可以儲存相應的3個值的記憶胞元值,因此將0、1或2配屬到每一個記憶胞元值。
另一種可能性是,i 個記憶胞元能夠儲存不同的Ki 值(二進制或多值,也就是說Ki ≥ 2)。例如可以設置至少兩個記憶胞元,其中一個記憶胞元儲存K 1 值,另一個記憶胞元儲存K 2 值,而且K 1K 2二進制記憶胞元值
首先考量記憶胞元值是二制的情況。
要將k 個數據位元x 1 ,...,xk 轉換成n 個不同的記憶胞元值z1 ,..., zn ,並儲存到n個記憶胞元內。
例如透過一個組合電路(也稱為轉換電路)將k 個數據位元x 1 ,...,xk 的2 k 個可能的佔用轉換成記憶胞元值。轉換電路的作用是將k 個數據位元的2 k 個佔用轉換成n 個記憶胞元值。
這個轉換的實現方式是使數據位元轉換成的記憶胞元值成為n 1 -aus-n -代碼的代碼字。n 1 -aus-n -代碼的代碼字具有n 1 個第一二進制值及n 2 =n -n 1 個第二二進制值。如果第一二進制值是1,第二二進制值是0,則n 1 -aus-n -代碼的代碼字具有n 1 個1及n 2 =n -n 1 個0。
同樣的,另一種可能性是第一二進制值是0,第二二進制值是1。
將數據位元儲存為n 1 -aus-n -代碼的代碼字是有利的,例如讀出儲存在記憶胞元內的n 1 -aus-n -代碼的代碼字可以達到比讀出未經編碼儲存的數據位元更高的可靠性。
也可以將n 1 -aus-n -代碼稱為n 1 -,n 2 -aus-n -代碼,其中n 1 是第一二進制值的數量,n 2 是第二二進制值的數量。因此n 2 =n -n 1 。從這個名稱可以看出,每一個代碼字都包含兩個不同的值(此處是二進制)0及1。
下式成立:n 1n n 2 =n -n 1n n 1 +n 2 =n n 1 ≥ 1n 2 ≥ 1。
例如,記憶胞元值的數量n 可以是大於或等於3。
如果記憶胞元值的數量等於2(也就是說n =2),則相應之1-aus-2-代碼的代碼字是10及01。例如,可以將二進制值0編碼為10,以及將二進制值0編碼為01。這樣做的缺點是需要n =2個記憶胞元才能儲存一個單一位元的資料。
如前面所述,有k 個數據位元的2 k 個不同的佔用。此外還有n 1 -aus-n -代碼的個不同的代碼字。
可以一一對應的將k 個數據位元的2 k 個不同的佔用轉換成n 1 -aus-n -代碼的個代碼字,因此也可以根據一個代碼字明確的轉換回數據位元的相應的佔用,但前提是數據位元的佔用配屬於這個代碼字。
不同的代碼字的數量至少等於數據位元的佔用數量,也就是說滿足的條件,因此可以將k 個數據位元的所有佔用一一對應的轉換成n 1 -aus-n-代碼的代碼字。
另一種可能性是,根據應用情況k 個數據位元所有可能的2 k 個佔用並非全部出現。如果是這種應用情況,而且實際上出現的佔用數量Anz <2 k ,則只需滿足的條件,就可以一一對應的將代碼字配屬到實際出現的佔用。
這樣做的優點是只需少於2k 個記憶胞元就可以儲存k 個數據位元。二進制記憶胞元值:範例
例如有k =4個數據位元,因此有2 k =24 =16個不同的佔用。如果有n =6個記憶胞元(n 是記憶胞元值的數量,其中每一個記憶胞元值都應該儲存在一個記憶胞元內),而且n 1 =3,則一個3-aus-6-代碼有個不同的代碼字,其中每一個代碼字都有3個1及3個0。因此可以將4個數據位元的16個不同的佔用轉換成3-aus-6-代碼的16個選出的代碼字(總共有20個代碼字),並儲存到記憶體的6個記憶胞元內。
如果有n =6個記憶胞元值,而且n 1 =2,則一個2-aus-6-代碼只有個不同的代碼字,其中每一個代碼字都有2個1及4個0。因此4個數據位元的24 =16個佔用不可能一一對應的轉換成2-aus-6-代碼的代碼字。
例如,如果實際出現的佔用數量Anz 小於或等於15,則也可以使用這個2-aus-6-代碼。二進制記憶胞元值:數據位元的分組
以下將說明如何將N 個數據位元轉換成記憶胞元值,其中N =M∙k ,而且M 大於1。因此k 個數據位元的每一個數據位元都可以分成M 個分組,其中k 個數據位元的每一分組的2 k 個佔用被一一對應的轉換成一個代碼的2 k 個代碼字。
如果將k 個數據位元的M 個分組的佔用轉換成相同的n 1 -aus-n-代碼的代碼字,則會產生M∙n 個記憶胞元值,這些記憶胞元值可以相應的被儲存在M∙n 個記憶胞元內。
例如此種情況是M 個分組包含k 個數據位元。另一種可能性是,數據位元的第一分組包含k 1 個數據位元、數據位元的第二分組包含k 2 個數據位元、…、數據位元的第M 分組包含km 個數據位元。每個分組的數據位元的數量k 1 ,k 2 ,…,km 至少有一部分是可以不一樣的。因此下式成立:, 其中: - 第一分組的k 1 個數據位元可以被轉換成第一個n 1 1 -aus-n 1 -代碼的代碼字; - 第二分組的k 2 個數據位元可以被轉換成第二個n 1 2 -aus-n 2 -代碼的代碼字; ⁞ - 第M 分組的kM 個數據位元可以被轉換成第Mn 1 M -aus-nM -代碼的代碼字。
其中各個代碼可以至少有一部分是不一樣的。如果每個分組具有相同數量的數據位元,則也可以選擇性的使用不同的代碼。
例如,如果數據位元的數量k =3,則會產生3個數據位元的2 k =8個可能的佔用。對n =5個記憶胞元值而言,可以應用2-aus-5-代碼及3-aus-5-代碼,因為這兩個代碼各有10個代碼字,因此能夠提供比可能的佔用更多數量的代碼字。例如,2-aus-5-代碼可以應用於3個數據位元的第一分組,3-aus-5-代碼可以應用於3個數據位元的第二分組。
另一種選擇是,數據位元的分組並非都具有相同數量(k )的數據位元。例如,要將23個數據位元轉換成個記憶胞元值:23個數據位元可以構成5個各包含4個數據位元的分組,以及一個包含3個數據位元的分組。例如,包含4個數據位元的分組的24 =16個可能的佔用可以被轉換成3-aus-6-代碼(具有20個不同的代碼字)的代碼字。剩下的包含3個數據位元的分組有23 =8個可能的佔用。例如,這3個數據位元可以被轉換成3-aus-5-代碼(具有10個不同的代碼字)的代碼字。這樣所需的記憶胞元的數量會比3個數據位元的23 =8個可能的佔用也被轉換成3-aus-6-代碼的代碼字作法少一個。另一種可能性是,將3個數據位元的分組加上一個不變的位元(例如0),因而成為4個數據位元的分組,這樣所有的分組都包含相同數量的數據位元,因此可以應用相同的轉換。這樣做的優點是可以減輕電路設計的工作。多值記憶 胞元值
接著要討論的情況是記憶胞元值可以有兩個以上的不同的值,同時記憶胞元能夠相應的儲存多值記憶胞元值。
一個記憶胞元要能夠儲存K 個不同的記憶胞元值,其中K >2(K =2是二進制記憶胞元值的特殊情況)。每一個記憶胞元的不同的記憶胞元值可以記為0,1,…,K -1。
同樣是要儲存k 個數據位元。k 個數據位元的2 k 個不同的佔用能夠一一對應的被轉換成n 個記憶胞元值。n 個記憶胞元值包含: -n 1 個第一個值 -n 2 個第二個值 ⁞ -nK 個第K 個值。 例如可以是: - 第一個值是0 - 第二個值是1 ⁞ - 第K 個值是K -1。
也可以將n 個記憶胞元值記為記憶胞元值的一個n -數據組。可以將n 個多值(此處為K 值)記憶胞元值的n -數據組記為n 1 -,n 2 -,…,nK -aus-n -代碼 的一個代碼字,其中該等記憶胞元質包含n 1 個第一個值、n 2 個第二個值、…、nK 個第K 個值。
n 1 -,n 2 -,…,nK -aus-n -代碼具有下列數量的代碼字:接著將k 個數據位元的2 k 個佔用一一對應的轉換成n 1 -,n 2 -,…,nK -aus-n -代碼的這些代碼字,但是需要滿足這個條件:,或是滿足這個條件:,其中Anz 代表k 個位元實際出現的佔用數量(Anz <2 k ),這和前面描述的二進制記憶胞元值是一樣的。多值記憶胞元值 :範例
要儲存k =6個數據位元。6個數據位元有2 k =26 =64個可能的佔用。如前面所述,這些數據位元是二進制值,並且要先經過轉換才會被存入多值記憶胞元。
此處以3值記憶胞元值(K =3)的情況為例。每一個記憶胞元可以儲存3個不同的值。總共有n =6個記憶胞元值(因此有6個記憶胞元),並假設n 1 =n 2 =n 3 =2。此處使用的2-,2-,2-aus-6-代碼有個不同的代碼字。這90個代碼字足供6個數據位元的26 =64個可能的佔用使用。
相較於二進制記憶胞元,多值記憶胞元的使用效率更高,因為一個多值記憶胞元可以儲存兩個以上的值。因此只需較少數量的物理性記憶胞元:在本例中,只需6個3值記憶胞元就可以形成2-,2-,2-aus-6-代碼的90個代碼字,而6個二進制記憶胞元僅能形成3-aus-6-代碼的20個代碼字。
在2-,2-,2-aus-6-代碼的每一個代碼字內,0、1、2會各出現兩次。例如代碼字:001122,101220,021210。
另一個例子是為3值記憶胞元值(K =3)使用一個1-,1-,1-aus-3-代碼。這個代碼為n =3個記憶胞元包含個代碼字012,021,102,120,201,210。如果要儲存k =2個數據位元,則可以將22 =4不同的佔用作為1-,1-,1-aus-3-代碼儲存到3個記憶胞元內。
另一個例子是4值記憶胞元值K =4。例如每一個記憶胞元都可以儲存0、1、2、3等4個值中的一個值。這個例子共有n =6個記憶胞元,並假設n 1 =n 2 =2及n 3 =n 4 =1。因此一個2-,2-,1-,1-aus-6-代碼包含個不同的代碼字。利用這180個代碼字可以將包含27 =128個可能的佔用的7個數據位元儲存到6個4值記憶胞元內。
此處使用之2-,2-,1-,1-aus-6-代碼的代碼字的例子:001123,101320,031210。每一個代碼字都有兩個0、兩個1、一個2、以及一個3。多值記憶胞元值 :數據位元的分組
此處討論的同樣是將N 個數據位元轉換成記憶胞元值,其中N=M∙k ,而且M 大於1。因此k 個數值位元可以形成M 個分組,其中k 個數據位元的每一個分組的2 k 個佔用被一一對應的轉換成n 1 -,n 2 -,…,nK -aus-n -代碼的2 k 個代碼字。
如果k 個數據位元的M 個分組的佔用被轉換成n 1 -,n 2 -,…,nK -aus-n -代碼的代碼字,則會產生M∙nK 值記憶胞元值,這些記憶胞元值被相應的儲存到M∙nK 值記憶胞元內。
一種有利的方式是以相同的轉換將k 個數據位元的所有分組的佔用轉換成記憶胞元值。例如這樣做的一個優點是可以多次使用同一個轉換電路。另一種可能性是以不同的轉換將不同分組的k 個數據位元轉換成記憶胞元值。寫入及讀出數據位元
k 個要儲存的位元也稱為數據位元。例如,這些數據位元可以包含一可分離的錯誤辨識及/或錯誤修正代碼的資訊位元及檢驗位元。在可分離的代碼內可以為資料位元補充檢驗位元。另一種可能性是數據位元是一不能分離的代碼的位元,這個代碼的代碼字的位元不能分成資訊位元及檢驗位元。還有一種可能性是,數據位元包含資訊位元及位址位元及/或從位址位元導出的位元及/或密碼的位元。
“數據位元”這個名稱的一個用途是用來稱呼要儲存到記憶體的位元。例如數據位元可以是被轉換成記憶胞元值,並被儲存到記憶胞元內的程式碼、圖像數據、測量數據、或其他有效數據(負荷量)。記憶胞元值可以是多值或二進制的值。
讀取記憶胞元是透過比較從n 個記憶胞元輸出的物理值決定儲存在記憶胞元內的數位記憶胞元值。另一種可能性是比較從輸出的物理值導出的值。
如果n 個記憶胞元是二進制,則k 個要儲存的位元的序列會被轉換成n 個二進制記憶胞元值的序列,此序列包含n 1 個第一個二進制值及n 2 個第二個二進制值。如果第一個二進制值是1,第二個二進制值是0,則k 個要儲存的位元的序列被轉換成n 1 -aus-n -代碼的一個代碼字,而且n 2 =n -n 1
nn 1 為已知,可以按下式決定k
如果記憶胞元不是二進制,而且是用於儲存K 值數位記憶胞元值,則k 個位元的序列會被轉換nK 值記憶胞元值的序列,其中記憶胞元值被儲存到n 個記憶胞元內。決定n 個記憶胞元值的序列的方式是,這個序列包含n 1 個(第一預定數量)第一個彼此相同的第一記憶胞元值、n 2 個(第二預定數量)第二個彼此相同的第二記憶胞元值、…、直到n K 個(第K 預定數量)第K 個彼此相同的第K 記憶胞元值。
其中: 1 ≤n 1 ,1 ≤n 2 ,…,1 ≤nK 以及:n 1 +n 2 +…+nK =n
可以按下式決定k
如果一個K 值記憶胞元值的序列包含n 1 個(第一預定數量)第一個彼此相同的第一記憶胞元值、n 2 個(第二預定數量)第二個彼此相同的第二記憶胞元值、…、直到nK 個(第K 預定數量)第K 個彼此相同的第K 記憶胞元值,則可以將此序列稱為(n 1 -,n 2 -,…,nK -aus-n )-代碼的代碼字。
可以利用下式決定彼此相同的第K 記憶胞元值的數量nK nK =n -n 1 -n 2 -…-nK -1
讀取記憶胞元是透過比較從記憶胞元分組讀出的物理值決定儲存在含有n 個記憶胞元之記憶胞元分組內的數位數據。另一種可能性是透過比較讀出的物理值或導出的特性決定儲存在含有n 個記憶胞元之記憶胞元分組內的數位數據。
也可以將從不同的記憶胞元讀出的物理值的時間狀態視為特性,並拿來比較。
在時間點τ,一個從記憶胞元Si 讀出的值具有一類比值WA i (τ)。例如,儲存在記憶胞元Si 的值WG i 是一個電阻,在時間點τ從記憶胞元Si 讀出的物理值WA i (τ)是一個讀出電流(一種電流強度)。
如果記憶胞元Si 的電阻小於另一個記憶胞元Sj 的電阻WG j ,則讀出電流WA i (τ)大於另一個記憶胞元Sj 的讀出電流WA j (τ),但前提是使用一預定(相同)的讀出電壓讀取這兩個記憶胞元。
如果利用一個電容C 將記憶胞元Sj 的讀出電流WA i (τ)累積一段時間,則在一個時間點ti 達到一門限值Sw 。例如,此處從記憶胞元Si 讀出的物理值是讀出電流WA i 。例如,從讀出的物理值導出的值是時間點ti ,也就是將讀出電流累積達到預定的門限值Sw 的時間積分。
如果利用一個電容C 將記憶胞元Sj 的讀出電流WA i (τ)累積一段時間,則在一個時間點tj 達到一門限值Sw
如果記憶胞元Si Sj 的讀出電流的關係如下:,則ti tj ,而且達到記憶胞元Si 的門限值Sw 的時間會早於達到記憶胞元Sj 的門限值Sw 的時間。
因此比較記憶胞元Si Sj 的一種方式是比較記憶胞元Si 累積的讀出電流達到門限值Sw 的時間是否早於Sj 累積的讀出電流達到門限值Sw 的時間。如在電壓相同的情況下,如果比較的結果確實如此,則電阻WG i 小於電阻WG j
另一種選擇提根據記憶胞元Si Sj 儲存的物理值WG i WG j 或此二者的狀態,決定記憶胞元Si Sj 的前後關係(或“順序”)。透過達到門限值Sw 的時間點ti tj ,可以根據記憶胞元Si Sj 儲存的電阻WG i WG j 決定記憶胞元Si Sj 的順序,也就是說先是記憶胞元Si ,然後是記憶胞元Sj ,或是反過來。
可以利用這種方式決定n 個記憶胞元的分組的所有記憶胞元的順序。
例如,如果第一個n 1 個記憶胞元儲存的是一個二進制值0,第二個n 2 個記憶胞元儲存的是一個二進制值1,則在沒有錯誤的情況下,第一個n 1 個記憶胞元的電阻小於第二個n 2 個記憶胞元的電阻,因此第一個n 1 個記憶胞元的讀出電流大於第二個n 2 個記憶胞元的讀出電流。例如這個式子成立:n 1 +n 2 =n
與此相應的,第一個n 1 個記憶胞元達到門限值Sw 的時間點t 1 1 ,t 2 1 ,…,tn 1 1 早於第二個n 2 個記憶胞元達到門限值Sw 的時間點t 1 2 ,t 2 2 ,…,tn 2 2
因此可以根據達到門限值Sw 的時間點決定記憶胞元的順序。例如,最早(第一個)時間點的記憶胞元是第一個記憶胞元,最晚(最後一個)時間點的記憶胞元是最後一個記憶胞元。在這個例子中,第一個n 1 個記憶胞元正好是儲存一個二進制值0的記憶胞元,剩下的n 2 個記憶胞元正好是儲存一個二進制值1的記憶胞元。
利用以下的積分式可以根據讀出電流WA i (i =1,…,n )計算出n個記憶胞元(S 1S 2 )在時間點t 達到的電壓vi (t )。
可以將電壓vi (t )與門限值Sw 作一比較。這樣就可以確定積分達門限值Sw 到的時間點。所獲得的時間點可以相互比較。這樣就可以確定記憶胞元的狀態是否相當於一個二進制0或1。
可以利用下式確定時間點ti vi (t )<Sw tti vi (t )>Sw tti ,其中假定讀出電流始終保持不變。
可以經由讀出電流或讀出電流的時間積分比較記憶胞元的電阻值或狀態。第一個n 1 個記憶胞元內的電阻值的起伏較佳是不會影響二進制值0在這些記憶胞元內的順序,但前提是這些電阻值不大於第二個n 2 個記憶胞元的一個電阻值。同樣的,第二個n 2 個記憶胞元內的電阻值的起伏較佳是不會影響二進制值1在這些記憶胞元內的順序,但前提是這些電阻值不小於第一個n 1 個記憶胞元的一個電阻值。記憶胞元的子群
例如,並非一定需要決定n 個記憶胞元的分組中n 1 個具有相同的第一數位值的記憶胞元的順序,或是決定n 2 個具有相同的第二數位值的記憶胞元的順序。n 1 個具有第一數位值的記憶胞元構成第一子群,n 2 個具有第二數位值的記憶胞元構成第二子群。每一個子群都相當於n 個記憶胞元的分組的一部分。以下將以一個例子對子群做一更詳細的說明。
在第一子群的n 1 個記憶胞元各寫入一個第一數位值,在第二子群的n 2 個記憶胞元各寫入一個第二數位值,其中第二數位值不同於第一數位值。
在從記憶胞元讀出物理值時的一個優點是不用決定第一子群的n 1 個記憶胞元之間的順序,因為些記憶胞元被寫入的是相同的數位值。
n =6個記憶胞元S 1 ,…,S 6 為例。記憶胞元S 1 ,S 2 ,S 3 是第一子群的n 1 =3個記憶胞元,記憶胞元S 4 ,S 5 ,S 6 是第二子群的n 2 =3個記憶胞元。第一子群的記憶胞元被寫入數位值0,第二子群的記憶胞元被寫入數位值1。
2a 顯示從記憶胞元S 1S 6 讀出的多個物理值WA 1 ,WA 2 ,WA 3 ,WA 4 ,WA 5 ,WA 6 。例如物理值WA 是一個讀出電流。
2b 顯示多個時間點t 1t 6 ,其中每一個時間點tm 都相當於一個物理值WA m 是(m=1,…,6)。
因此可以透過相應之讀出電流的時間積分決定時間點t 1 ,t 2 ,t 3 ,t 4 ,t 5 ,t 6 ,也就是各個讀出電流達到的一預定的門限值的時間積分。例如根據第2b圖:t 5t 4 t 6t 2t 3t 1 只要確定對i =4,5,6及j =1,2,3時,下式成立:ti tj 就可以配屬儲存到記憶胞元S 1S 6 內的數位值0或1。這樣做的一個優點是不必確定時間點t 4 ,t 5 ,t 6 及時間點t 1 ,t 2 ,t 3 之間的區別。
因此一種可能性是,將第一數位值配屬給經過讀出電流的時間積分達到門限值的n 1 個第一記憶胞元,以及將第二數位值配屬給剩下的記憶胞元。在這種情況下即足以確認任一個記憶胞元是否屬於該n 1 個第一記憶胞元。
另一種可能性是形成記憶胞元之類比信號的邏輯連接,並根據這些邏輯連接確認記憶胞元是否被配屬到第一數位值或第二數位值。
n 個記憶胞元的分組及n 1 個第一記憶胞元而言,有個不同的可能方式將n 1 個0及n 2 =n -n 1 個1寫入n 個記憶胞元。因此在n 個記憶胞元內可以有個不同的佔用(也稱為狀態),也就是可以將k 個數據位元(也稱為一個k 位元組)儲存到n 個記憶胞元內,但前提是下式成立:如果n 是一個整數,則在n 1 =n /2的情況下,可以產生最多數量的可能狀態。
例如,n =6個記憶胞元,並分為n 1 =n 2 =3個第一及第二記憶胞元。n =6個記憶胞元構成一個包含記憶胞元S 1S 6 的記憶胞元分組,且其內可以儲存3-aus-6-代碼的一個代碼字。
首先要描述的情況是沒有出現任何錯誤的情況。讀取記憶胞元時會比較時間點t 1t 6 ,也就是比較讀出電流WA 1 (τ)至WA 6 (τ)的積分值達到門限值SW 的時間點。
例如,下式成立:t 1t 3t 4t 2t 5t 6 則記憶胞元的順序為S 1 ,S 3 ,S 4 ,S 2 ,S 5 ,S 6
例如3-aus-6-代碼的代碼字101100被儲存在記憶胞元S 1S 6 內,並將該代碼字從記憶胞元讀出。在上述順序排列的記記憶胞元中,前面3個記憶胞元S 1S 3S 4 的讀出值是1,後面3個記憶胞元S 2S 5S 6 的讀出值是0。
但是如果下式成立:t' 3t' 4t' 1t' 2t' 6t' 1 則記憶胞元的順序為S 3 ,S 4 ,S 1 ,S 2 ,S 6 ,S 5
從記憶胞元S 1S 6 讀出的是3-aus-6-代碼的相同的代碼字101100。也就是說,調換儲存二進制值1的記憶胞元S 1S 3S 4 的順序,或是儲存二進制值0的記憶胞元S 2S 5S 6 的順序,並不會對讀出的3-aus-6-代碼的代碼字造成影響。
這個特性是有利的,因為讀出之物理值(相當於相同的數位值)的小幅起伏,在讀取時不會對配屬到的數位值造成影響。
在這個例子中,記憶胞元S 1S 3S 4 是用於儲存數位值1。代表數位值1的值WG 1WG 3WG 4 分別被寫入這3個記憶胞元。這3個值WG 1WG 3WG 4 彼此差異很小,但仍可能因偶然的影響而略微改變。
同樣的,記憶胞元S 2S 5S 6 是用於儲存數位值0。代表數位值0的值WG 2WG 5WG 6 分別被寫入這3個記憶胞元。這3個值WG 2WG 5WG 6 彼此差異很小,但仍可能因偶然的影響而略微改變。
並從記憶胞元S 1S 6 讀出3-aus-6-代碼的代碼字111000,這個代碼字與無錯誤的代碼字101100的區別是,時間上最先的記憶胞元S 2 (在沒有錯誤的情況下,其在記憶胞元順序中的值為0)及時間上最後的記憶胞元S 4 (在沒有錯誤的情況下,其在記憶胞元順序中的值為1)被調換。範例: 3 值記憶胞元
3 顯示記憶胞元之物理值WG 的機率分佈。
第3圖顯示儲存值0的機率分佈301、儲存值1的機率分佈302及儲存值2的機率分佈303。機率分佈301也稱為WG (0),
機率分佈302也稱為WG (1),機率分佈303也稱為WG (2)。
機率分佈301及302有一個重疊區304,機率分佈302及303有一個重疊區305。
根據一個實施例,物理值可以是一個電阻。
4 顯示記憶體的讀出值2的機率分佈401、記憶體的讀出值1的機率分佈402及記憶體的讀出值0的機率分佈403。機率分佈401也稱為WA (2),機率分佈402也稱為WA (1),機率分佈403也稱為WA (0)。
機率分佈401及402有一個重疊區404,機率分佈402及403有一個重疊區405。
將記憶胞元Si 的讀出電流WA i (τ)的電流強度對時間t積分,在一時間點ti 達到一預定的門限值SW
如果在記憶胞元Si 內寫入數位值2,則記憶胞元Si 具有一相當大的電阻(WG i ),且讀取記憶胞元Si 時,讀出電流WA i 相當小。與此相應的,讀出電流的時間積分達到預定的門限值SW 的時間點ti 相當長。
如果在記憶胞元Sj 內寫入數位值1,則記憶胞元Sj 的電阻WG j 小於記憶胞元Si 的電阻WG i 。與此相應的,讀出記憶胞元Sj 時的讀出電流WA j 大於讀出記憶胞元Si 時的讀出電流WA i 。因此讀出電流的時間積分達到預定的門限值SW 的時間點tj 早於時間點ti ,也就是說tj ti
如果在記憶胞元Sk 內寫入數位值0,則記憶胞元Sk 的電阻WG k 既小於記憶胞元Si 的電阻WG i ,也小於記憶胞元Sj 的電阻WG j 。與此相應的,讀出記憶胞元Sk 時的讀出電流WA k 既大於記憶胞元Si 的讀出電流WA i ,也大於記憶胞元Sj 的讀出電流WA j 。因此讀出電流的時間積分達到預定的門限值SW 的時間點tk 早於時間點ti tj ,也就是說tk tj ti
如果在記憶胞元Si 內寫入的數位值與寫入記憶胞元Sj 的數位值相同,則記憶胞元Si 的電阻WG i 可能大於或小於記憶胞元Sj 的電阻WG j
同樣可能的是,記憶胞元Si 的讀出電流WA i 可能大於或小於記憶胞元Sj 的讀出電流WA j
同樣可能的是,記憶胞元Si 的讀出電流的時間積分達到預定的門限值SW 的時間點ti 早於或晚於記憶胞元Sj 的讀出電流的時間積分達到預定的門限值SW 的時間點tj
在這種情況下並不確定是ti tj tj ti 。此處的“不確定”一詞也可以寫成符號“-”。範例
例如以一包含n =6個記憶胞元S 1S 6 的分組為例。此分組包含3個子群,每個子群包含兩個記憶胞元,也就是說n 1 =n 2 =n 3 =2,
其中 - 在n 1 =2個第一記憶胞元中,數位記憶胞元值為2; - 在n 2 =2個第二記憶胞元中,數位記憶胞元值為1; - 在n 3 =2個第三記憶胞元中,數位記憶胞元值為0; 因此共有種可能性將兩個2、兩個1及兩個0分配到6個位置,並以三數位(三進制)記憶胞元值儲存到6個記憶胞元內。
而在n =6及n 1 =n 2 =3的情況下只有種可能性將3個2及3個0分配到6個位置,並以二進制記憶胞元值儲存到6個記憶胞元內,因此使用3個三進制數位值0、1及2能夠在n個記憶胞元的分組中儲存的資訊遠多於使用二進制記憶胞元值0及1。
因此在這個例子(每一個記憶胞元值都可以是數位值0、1、或2)中,可以將k =6個數據位元(有26 =64個可能的佔用)轉換成n =6個數位記憶胞元值,並儲存到n =6個記憶胞元內。這6個記憶胞元值分別是 -n 1 =2個第一數位值2; -n 2 =2個第二數位值1; -n 3 =2個第三數位值0。
這6個數記憶胞元值構成 2-,2-,2-aus-6-代碼 的代碼字,其中每個代碼都包含兩個第一數位值、兩個第二數位值及兩個第三數位值。
個代碼字。
k =6個位元,2 k =26 =64個長度6的二進制字可以一一對應的轉換成2-,2-,2-aus-n-代碼的64個代碼字。
15 顯示如何經由轉換電路1501將k 個數據位元x 1xk 轉換成n個記憶胞元值,並儲存到記憶體1502的n個記憶胞元內。此處假設k ≥ 2及n ≥ 3。k 個數據位元x 1xk 位於轉換電路1501的輸入端。
n 個記憶胞元值是由轉換電路1501提供給記憶體1502的記憶胞元的數據輸入端。這n 個記憶胞元值構成n 1 -,…,nK -aus-n -代碼 的代碼字。
例如,這些記憶胞元值是K 值數位值。
16 顯示第15圖之電路配置的一個實際的例子,在第16圖的例子中,n =k =6,K =3,n 1 =n 2 =n 3 =2。根據第16圖顯示的例子,6個數據位元x 1x 6 經由轉換電路1601被轉換成6個3值記憶胞元值,並儲存到記憶體1602內。這6個包含兩個2、兩個1及兩個0,並構成(在沒有錯誤的情況下)2-,2-,2-aus-6-代碼的代碼字。每一個記憶胞元都可以儲存3值(K =3)記憶胞元值。
如前面所述,在讀取記憶胞元S 1S 6 時會決定讀出電流的時間積分達到(或超過)門限值SW 的時間點t 1t 6 。例如,若 下式成立:ti 1ti 2ti 3ti 4ti 5ti 6 , 則可以將記憶胞元S 1S 6 的順序排列如下:Si 1 ,Si 2 ,Si 3 ,Si 4 ,Si 5 ,Si 6 其中值i 1 ,...,i 6 的數量等於值1,...,6的數量。例如i 1 =5、i 2 =4、i 3 =2、i 4 =1、i 5 =6、i 6 =3,則產生以下的關係:t 5t 4t 2t 1t 6t 3 以及記憶胞元的順序排列如下:S 5 ,S 4 ,S 2 ,S 1 ,S 6 ,S 3
可以設定在記憶胞元的順序中,前面兩個記憶胞元Si 1Si 2 配屬到數位記憶胞元值0,接下來兩個記憶胞元Si 3Si 4 配屬到數位記憶胞元值1,最後面兩個記憶胞元Si 5Si 6 配屬到數位記憶胞元值2。
也可以設定在記憶胞元的順序中,前面兩個記憶胞元Si 1Si 2 配屬到數位記憶胞元值2,接下來兩個記憶胞元Si 3Si 4 配屬到數位記憶胞元值1,最後面兩個記憶胞元Si 5Si 6 配屬到數位記憶胞元值0。當然除了上述的配屬方式外,也可以是其他的配屬方式。
只有以下的情況能夠達到沒有錯誤的配屬: - 記憶胞元Si 2 的讀出電流WA i 2 及記憶胞元Si 3 的讀出電流WA i 3 均位於一重疊區,且在此重疊區內出現一個值為0及1的讀出電流;或是 - 記憶胞元Si 4 的讀出電流WA i 4 及記憶胞元Si 5 的讀出電流WA i 5 均位於一重疊區,且在此重疊區內出現一個值為1的讀出電流及一個值為2的讀出電流。
這樣做的優點是多值數位記憶體也可以有很高的機率實現沒有錯誤的配屬數位值,因為這6個記憶胞元只有很小一部分的記憶胞元可能出現配屬錯誤,而且要發生錯誤還必須每兩個記憶胞元的讀出電流同時位於一個重疊區內。
另一種可能性是利用參考值讀出儲存在n 個記憶胞元內的K 值記憶胞元值,但前提是儲存在相應的n 個記憶胞元內的代碼字構成一個(n 1 -,n 2 -,…,nK -aus-n )-代碼。範例: 4 值記憶胞元值
17 顯示如何將4個數據位元x 1 ,x 2 ,x 3 ,x 4 轉換成4個記憶胞元值z 1 ,z 2 ,z 3 ,z 4
4個數據位元x 1 ,x 2 ,x 3 ,x 4 位於轉換電路1701的輸入端。這4個數據位元經由轉換電路1701被轉換成4個記憶胞元值z 1 ,z 2 ,z 3 ,z 4 ,並儲存到記憶體1702的記憶胞元S 1S 2S 3S 4 內。
在這個例子中,記憶體1702包含由n =4個記憶胞元S 1S 2S 3S 4 構成的分組,其中每一個記憶胞元都可以儲存4個不同的值0、1、2、3及4。因此每個子群都有一個記憶胞元,也就是說n 1 =n 2 =n 3 =n 4 =1。
在沒有錯誤的情況下,記憶胞元值z 1 ,z 2 ,z 3 ,z 4 構成1-,1-,1-,1-aus-4-代碼的代碼字(共有24個可能的代碼)。因此包含n =4個記憶胞元的分組可以儲存24個不同的數位值。
5 顯示從記憶體1702讀出的值3的機率分佈501、從記憶體1702讀出的值2的機率分佈502、從記憶體1702讀出的值1的機率分佈503、以及從記憶體1702讀出的值0的機率分佈504。機率分佈501也稱為WA (3),機率分佈502也稱為WA (2),機率分佈503也稱為WA (1),機率分佈504也稱為WA (0)。
每一個值0、1、2、3及4都可以被儲存在記憶體1702的多個4值記憶胞元中的記憶胞元內。
例如,從記憶體1702讀出的值可以是一個電流強度(讀出電流),並根據電流強度的大小產生一個值(0、1、2、3或4)。
機率分佈501及502具有一個重疊區505,機率分佈502及503具有一個重疊區506,機率分佈503及504具有一個重疊區507。
如果將記憶胞元Si 的讀出電流的電流強度WA (τ) i 對時間t 積分,則會在一個特定的時間點ti 達到預定的門限值Sw
如果將記憶胞元Sj 的讀出電流的電流強度WA (τ) j 對時間t 積分,則會在一個特定的時間點tj 達到預定的門限值Sw
例如,記憶胞元Si 儲存的數位值是3,如果記憶胞元Sj 儲存的數位值是0、1或2,則tj ti ,因為Si 的讀出電流WA i 小於Sj 的讀出電流WA j
例如,如果記憶胞元Si 儲存的數位值是1,記憶胞元Sj 儲存的數位值是3或2,則tj ti ,因為Si 的讀出電流WA i 大於Sj 的讀出電流WA j
如果t 1t 3t 2t 4 ,則記憶胞元的順序是S 1 ,S 3 ,S 2 ,S 4 。可以將數位值0配屬給記憶胞元S 1 ,將數位值1配屬給記憶胞元S 3 ,將數位值2配屬給記憶胞元S 2 ,將數位值3配屬給記憶胞元S 4
4個數據位元x 1 ,x 2 ,x 3 ,x 4 位於轉換電路1701的輸入端,並在轉換電路1701的輸出端輸出記憶胞元值z 1 ,z 2 ,z 3 ,z 4 。例如可以根據 1 確定這個在轉換電路1701內執行的轉換。 表1
4個數據位元x 1 ,x 2 ,x 3 ,x 4 可以接受16個不同的二進制值0000,…,1111,這些值全部顯示在表1中。表1中的每一行都相當於轉換電路1701執行的一個轉換,也就是將數據位元xi 轉換成1-,1-,1-,1-aus-4-代碼的代碼字zi
例如,表1的第3行顯示代碼字3120配屬於數據位元0010。
如前面所述,1-,1-,1-,1-aus-4-代碼共有24個不同的代碼字。x 1 ,x 2 ,x 3 ,x 4 的16個不同的值對應這24個代碼字。根據表1,24個代碼字中只用到16個代碼字。
如果在讀出記憶胞元S 1 ,S 2 ,S 3 ,S 4 時確定4個記憶胞元值z 1 ,z 2 ,z 3 ,z 4 ,且這些記憶胞元值在沒有錯誤的情況下構成1-,1-,1-,1-aus-4-代碼,則可以根據表1將這些記憶胞元值轉換成相應的數據位元x 1 ,x 2 ,x 3 ,x 4
2 顯示一個可能的反轉換。 表2
在表2中,數據位元的16個可能的佔用配屬於24個代碼字,其中一部分的代碼字(表2第17至24行)沒有數據位元,或是這個代碼字的數據位元是不確定的。因此表2顯示的是表1的反轉換。
例如,表1第5行顯示代碼字3012配屬於數據位元0100。與此相應的,表2第5行顯示數據位元0100配屬於代碼字3012。
表2第17至24行的數據位元不確定。在合成反轉換電路時,可以將不確定的數據位元作為所謂的“不用在意的”值,以優化電路。可以將任何一個值填入不確定的數據位元,例如填入0。範例:將 11 個數據位元轉換到 8 個記憶胞元
例如,可以將k =11個數據位元x 1 ,…,x 11 轉換到包含記憶胞元值z 1 ,…,z 8 的8個記憶胞元。這些記憶胞元值是2-,2-,2-,2-aus-8-代碼的代碼字。每個記憶胞元值都是4值(K =4),也就是說每個記憶胞元可以儲存4個不同的值中的一個值。
透過11個數據位元可以表示211 =2048個不同的值。2-,2-,2-,2-aus-8-代碼包含個代碼字。這2520個代碼字足夠將2048個二進制值轉換成2-,2-,2-,2-aus-8-代碼的代碼字。範例:將 9 個數據位元轉換到 7 個記憶胞元
也可以將k =9個數據位元x 1 ,…,x 9 轉換到包含記憶胞元值z 1 ,…,z 7n =7個記憶胞元。這些記憶胞元值是2-,2-,2-,1-aus-7-代碼的代碼字。每個記憶胞元值都是4值(K =4)。
透過9個數據位元可以表示29 =512個不同的值。2-,2-,2-,2-aus-8-代碼包含個代碼字。這630個代碼字足夠將512個二進制值轉換成2-,2-,2-,2-aus-7-代碼的代碼字。
這樣做的一個優點是,在讀出及決定構成n 1 -,…,nK -aus-n -代碼之代碼字的數位記憶胞元值時,不需要參考值。透過從記憶胞元讀出的物理值的相互比較,或是比較從讀出的物理值導出的值,就可以確定讀出的數位記憶胞元值,因此即使不同的記憶胞元值的機率分佈有重疊區,發生讀出錯誤己率也很低。利用比較器讀取記憶器
6 顯示一具有n =4個記憶胞元S 1 ,S 2 ,S 3 ,S 4 的記憶體601。讀出值WA 1 ,WA 2 ,WA 3 ,WA 4 在記憶胞元的輸出端被讀出,並使用=6個比較器602至604以成對的方式比較讀出值。例如可以用比較電路作為比較器。
比較器602比較記憶胞元S 1S 2 的讀出值WA 1WA 2 。如果讀出值WA 1WA 2 ,則比較器602會在輸出端輸出一個二進制值y 12 =1,如果讀出值WA 1WA 2 ,則會輸出一個二進制值y 12 =0。
比較器603比較記憶胞元S 1S 3 的讀出值WA 1WA 3 。如果讀出值WA 1WA 3 ,則比較器602會在輸出端輸出一個二進制值y 13 =1,如果讀出值WA 1WA 3 ,則會輸出一個二進制值y 13 =0。
比較器604比較記憶胞元S 1S 4 的讀出值WA 1WA 4 。如果讀出值WA 1WA 4 ,則比較器604會在輸出端輸出一個二進制值y 14 =1,如果讀出值WA 1WA 4 ,則會輸出一個二進制值y 14 =0。
比較器605比較記憶胞元S 2S 3 的讀出值WA 2WA 3 。如果讀出值WA 2WA 3 ,則比較器605會在輸出端輸出一個二進制值y 23 =1,如果讀出值WA 2WA 3 ,則會輸出一個二進制值y 23 =0。
比較器606比較記憶胞元S 2S 4 的讀出值WA 2WA 4 。如果讀出值WA 2WA 4 ,則比較器606會在輸出端輸出一個二進制值y 24 =1,如果讀出值WA 2WA 4 ,則會輸出一個二進制值y 24 =0。
比較器607比較記憶胞元S 3S 4 的讀出值WA 3WA 4 。如果讀出值WA 3WA 4 ,則比較器607會在輸出端輸出一個二進制值y 34 =1,如果讀出值WA 3WA 4 ,則會輸出一個二進制值y 34 =0。
如果兩個子群的數量為n 1 =n 2 =2,則在n =4個記憶胞元S 1S 4 的分組中可以儲存個佔用。
3 顯示比較器602至607的這6個佔用的輸出值y 12 ,y 13 ,y 14 ,y 23 ,y 24 ,y 34表3
例如,表3第一行描述記憶胞元S 1S 4 被二進制值1100佔用。因此比較器602至607輸出二進制值y 13 =y 14 =y 23 =y 24 = 1。由於記憶胞元S 1S 2 都被二進制值1佔用,因此比較器602會比較兩個值WA 1WA 2 ,這兩個值均配屬一儲存的二進制值1。在這種情況下無法預知是WA 1WA 2 ,或WA 1WA 2 ,因此比較器602的輸出值y 12 是不確定的。比較器607的輸出值y 34 也是不確定的,因為記憶胞元S 3S 4 的兩個值WA 3WA 4 ,都具有二進制值0。
因此在表3中,如果配屬之記憶胞元的要比較的輸出值具有相同的值,則比較器的輸出值是不確定的。
在“函數”欄中,由相應之比較器的否定或非否定的輸出值的連結構成的布爾表達式(Bollescher Ausdruck)被配屬到表3的行:如果輸出值yij =1,則輸出值會出現在連結中;如果輸出值yij =0,則負的輸出值ȳij 會出現在連結中。如果輸出值是不確定(“-”),則輸出值會出現在連結中。這樣做的優點是可減輕電路轉換的工作。
對具有2-aus-4-代碼之位元的記憶胞元S 1S 4 的6個佔用中的一個佔用而言,6個連結中的一個連結的值正好1:例如根據表3第3行,記憶胞元的佔用1001相當於連結比較器602、603、606及607的輸出值y 12 =1,y 13 =1,y 24 =0,y 34 =0。在這個例子中,表3所有其他的連結的值都是0。
連結的值是1,也就是明確確定記憶胞元S 1S 4 輸出的是佔用1001。確定記憶胞元的佔用
7 顯示一個電路佈置,根據比較器602至607的值y 12 ,y 13 ,y 14, y 23 ,y 24y 34 決定記憶胞元S 1S 4 的相應的佔用。例如利用6個各有4個輸入端的“與”門701至706及4個各有3個輸入端的“或”門708-711。
y 13 ,y 14, y 23y 24 被送到“與”門701的輸入端。值y 12 ,y 14, ȳ 23y 24 被送到“與”門702的輸入端。值y 12 ,y 13, ȳ 24ȳ 34 被送到“與”門703的輸入端。值ȳ 12 ,ȳ 13, y 24y 34 被送到“與”門704的輸入端。值ȳ 12 ,ȳ 14, y 23ȳ 34 被送到“與”門705的輸入端。值ȳ 13 ,ȳ 14, ȳ 23ȳ 24 被送到“與”門706的輸入端。
此外,“與”門701至706的輸入端是按照下列方式與“或”門708至711的輸入端連接:“與”門701的輸出端分別與“或”門708及709的一個輸入端連接。“與”門702的輸出端分別與“或”門708及710的一個輸入端連接。“與”門703的輸出端分別與“或”門708及711的一個輸入端連接。“與”門704的輸出端分別與“或”門709及710的一個輸入端連接。“與”門705的輸出端分別與“或”門709及711的一個輸入端連接。“與”門706的輸出端分別與“或”門710及711的一個輸入端連接。
記憶胞元S 1 的佔用備妥在“或”門708的輸出端,記憶胞元S 2 的佔用備妥在“或”門709的輸出端,記憶胞元S 3 的佔用備妥在“或”門710的輸出端,記憶胞元S 4 的佔用備妥在“或”門711的輸出端。
因此第7圖的電路佈置以下列方式將表3視覺化:表3的函數被顯示在“與”門701至706的輸出端,其中“與”門701相當於表3第一行的函數,“與”門706相當於表3最後一行的函數。第7圖中記憶胞元Si 的佔用是以下列方式產生自記憶胞元Si 的列:在表中的行中,如果這個列的值是1,則存在一個對函數(連結)的“或”邏輯運算。例如,記憶胞元S 1 在表3的最前面3行的值是1,也就是說與“與”存在一個門701、702及703的輸出端存在一個“或”邏輯運算,其作用是連結
表3的最前面3行。這個規則也適用於其他的記憶胞元。範例: 3 值記憶胞元
以下將討論一個3值記憶胞元的例子,也就是說,一個記憶胞元的值可以是0、1或2,而且在這個例子中2>1>0。
例如,分組包含n =6個記憶胞元,而且各子群的記憶胞元數n 1 =n 2 =n 3 =2。這樣一個分組的6個記憶胞元可以儲存兩個2、兩個1及兩個0。因此有種可能性用兩個2、兩個1及兩個0佔用一個分組的6個記憶胞元S 1S 6
從記憶胞元讀出數據時,如果以成對的方式比較所有記憶胞元讀出的值,則需使用15個比較器VGLij ,才能比較記憶胞元S 1S 6 的所有的物理輸出值,其中指數i ,j =1…6是作為標示記憶胞元之用。也就是說比較器VGLij 是比較記憶胞元Si 及記憶胞元Sj 。這15個比較器VGLij VGL 12VGL 13VGL 14VGL 15VGL 16VGL 23VGL 24VGL 25VGL 26VGL 34VGL 35VGL 36VGL 45VGL 46VGL 56
比較器VGLij 的二進制輸出值記為yij ,因此這相當於以下15個二進制輸出值:y 12y 13y 14y 15y 16y 23y 24y 25y 26y 34y 35y 36y 45y 46y 56
為了顯示記憶胞元S 1S 6 的佔用221100, 4 顯示這15個比較器的輸出值: 表4
產生以下的連結:
這個連結包含15個比較器的12個值。這些都不是尚未確定的值。
原則上:1代表比較器的一個不可逆或非否定的值yij ,0代表一個可逆或否定的值ȳij
為了顯示記憶胞元S 1S 6 的佔用212100, 5 顯示這15個比較器的輸出值: 表5
產生以下的連結:
這個連結包含15個比較器的12個值。這些都不是尚未確定的值。
為了顯示記憶胞元S 1S 6 的佔用001122, 6 顯示這15個比較器的輸出值: 表6
產生以下的連結:
這個連結包含15個比較器的12個值。這些都不是尚未確定的值。
記憶胞元的其他包含兩個2、兩個1及兩個0的佔用也都會產生相應於上述的連結。15個輸出值(可逆或不可逆)中的12個不是尚未確定的輸出值構成相應的連結。如果相應於連結的佔用被儲存在記憶胞元S 1S 6 ,同時記憶胞元讀出的讀出值WA 1WA 6 以成對的方式在比較器VGLij 中被比較,則這些連結的值正好是1。範例:轉換及反轉換
8 顯示一個實施例,其中m 個數據位元被儲存在記憶體803的記憶胞元S 1Sn 。第8圖顯示一個包含n 個記憶胞元S 1Sn 的分組,其中 -n 1 個第一值儲存在n 1 個記憶胞元, -n 2 個第二值儲存在n 2 個記憶胞元, ⁞ -nK 個第K 值儲存在nK 個記憶胞元。
換句話說有K 個子群。每一個子群都儲存一特定數量的相同的值。不同的子群儲存的是不同的值。
可以將儲存在n 個記憶胞元組成的分組中的m 個數據位元稱為m -位元-位元組,或簡稱為位元組。以字母mk 代表數據位元之數量的變數。
下式成立: 2 m N 其中
而且mn 。其中N 代表以n 1 個第一值、n 2 個第二值,…,nK 個第K 值佔用n 個記憶胞元構成的分組的可能性的數量。
轉換電路801執行一個轉換TS (m ,n ),將2 m 個字寬m 的數據位元轉換成2 m Nz 1 ,z 2 ,…,zn ,其中 -z 1 ,z 2 ,…,zn 中有n 1 個值等於0, -z 1 ,z 2 ,…,zn 中有n 2 個值等於1, ⁞ -z 1 ,z 2 ,…,zn 中有nK 個值等於K -1。
如果不需要2 m 個字寬m 的數據位元中的所有數據位元,則可以只轉換需要的數據位元,並將其儲存到記憶胞元。
例如轉換電路801的設計是使轉換T (m ,n )將字寬m 的位元值x 1 ,…,xm 轉換成應儲存到記憶胞元S 1Sn 內的字寬n 的值z 1 ,z 2 ,…,zn ,其中 -z 1 ,z 2 ,…,zn 中有n 1 個值等於0, -z 1 ,z 2 ,…,zn 中有n 2 個值等於1, ⁞ -z 1 ,z 2 ,…,zn 中有nK 個值等於K -1。
例如可以將m 個位元x 1 ,…,xm 稱為數據位元。特別是這種數據位元不同於儲存在記憶體的記憶胞元的值。例如,x 1 ,…,xm 是用於錯誤辨識或錯誤修正的錯誤代碼的一個代碼字的位元,則這些位元也可以包含錯誤代碼的至少一個檢驗位元,或僅是錯誤代碼的檢驗位元。
記憶胞元S 1Sn 被讀出,並經由轉換電路802產生的轉換TS -1 (n ,m )將讀出值z1z n 轉換成數據位元x1 ,…,x m ,在沒有錯誤的情況下下式成立:x1 ,…,x m =x 1 ,…,xm
其反轉換T -1 (n ,m )適用以下的關係式:T -1 (n ,m ){T (m ,n )[x 1 ,…,xm ]} =x 1 ,…,xm
如果將位元x 1 ,…,xm 稱為m -位元-位元組,則一個m -位元-位元組是作為一個字z 1zn 被儲存到記憶體的n 個記憶胞元,其中一預定數量n 1 的第一記憶胞元儲存第一值、一預定數量n 2 的第二記憶胞元儲存第二值、...、一預定數量nK 的第K 記憶胞元儲存第K 值。
例如:以K =2個記憶體儲存的n 1 個第一記憶胞元儲存第一值0及n 2 個第二記憶胞元儲存第二值1。因此在記憶胞元S 1Sn 內會儲存一n 2 -aus-n -代碼的代碼字。
另一個例子:如果能夠在記憶胞元S 1Sn 中的每一個記憶胞元內儲存4個值,則可以在n 1 個記憶胞元儲存第一值、
n 2 個記憶胞元儲存第二值、在n 3 個記憶胞元儲存第三值、以及在n 4 個第一記憶胞元儲存第四值。也就是說:n 1 +n 2 +n 3 +n 4 =n
如前面所述,從不同記憶胞元讀出的物理特性(例如物理值)可以互相比較。這樣做至少可以降低一部分的錯誤機率。只有當兩個在讀出時被成對比較的值同時位於物理值的機率分佈的重疊區時,才可能出現錯誤,若是只有一個值位於重疊區,則不會出現錯誤。範例:第 9
9 顯示將一個m -位元-位元組儲存在n 個記憶胞元內的例子,其中m =4,n =6,n 1 =n 2 =3。在n 1 =3個記憶胞元內儲存的是第一數位值0,在n 2 =3個記憶胞元內儲存的是第二數位值1。4-位元-位元組是作為3-aus-6-代碼的一個6-位元-字被儲存在6個記憶胞元內。
第9圖顯示將3個4-位元-位元組儲存在記憶體901的6個記憶胞元內的例子,例如記憶胞元可以儲存數位二進制值。經由轉換電路902將4-位元-位元組x 1 ,x 2 ,x 3 ,x 4 轉換成二進制值z 1z 6 ,並將z 1z 6 儲存到記憶體901的記憶胞元S 1S 6 內。經由轉換電路903將4-位元-位元組x 5 ,x 6 ,x 7 ,x 8 轉換成二進制值z 7z 12 ,並將z 7z 12 儲存到記憶體901的記憶胞元S 7S 12 內。經由轉換電路904將4-位元-位元組x 9 ,x 10 ,x 11 ,x 12 轉換成二進制值z 13z 18 ,並將z 13z 18 儲存到記憶體901的記憶胞元S 13S 18 內。
轉換電路902至904都會執行一個轉換T (4,6)。可以用一個表描述轉換T (4,6),這個表為16個可能的4-位元-值的每一個值各配屬3-aus-6-代碼的一個不同代碼字。 7 顯示一個例子。 表7
例如可以用一個組合(邏輯)電路或唯讀記憶體實現這樣的表。 如果儲存在記憶胞元內的值或記憶胞元值是二進制值,則也可以將這些值稱為記憶位元。
在這個例子中,數據位元的反轉換變成記憶位元的反轉換。
可以選擇性的利用功能相同的轉換或具有相同作用的轉換電路將不同的4-位元-位元組轉換成記憶值,特別是轉換成記憶位元。同樣的,也可以利用不同功能的轉換或轉換電路將不同的4-位元-位元組轉換成記憶位元或記憶值。例如在轉換電路902至904中至少有兩個轉換電路可以執行不同的轉換功能。與此相應的,轉換電路905至907能夠執行相應的反轉換功能。
例如,可以設計適當的轉換使4-位元-位元組x 的反轉換變成數位值z 的反轉換。
從記憶體901被讀出的記憶位元z1 ,z2 ,z3 ,z4 ,z5 ,z6 被轉換電路905轉換成4-位元-位元組x1 ,x2 ,x3 ,x4 。同樣的,被讀出的記憶位元z7 ,z8 ,z9 ,z10 ,z11 ,z12 被轉換電路906轉換成4-位元-位元組x5 ,x6 ,x7 ,x8 。被讀出的記憶位元z13 ,z14 ,z15 ,z16 ,z17 ,z18 被轉換電路907轉換成4-位元-位元組x9 ,x10 ,x11 ,x12
轉換電路905、906及907各實現一個轉換TS -1 (6,4),這個轉換是表7顯示之轉換的反轉換,其作用是將n =6個狀態位元z(i∙n ) (i =1...3及n =1...6)轉換成m =4個數據位元x(i∙m ) (i =1...3及m =1...4)。
由於發生錯誤的關係,從記憶體901被讀出的記憶位元
z(i∙n ) 可能會不同於原本儲存的位元z (i∙n ) 。因此被讀出的數據位元x i∙m 也可能不同於原本儲存的位元xi∙m
如果沒有發生任何錯誤,則前面4個數據位元x 1x 4 、前面6個被轉換的位元z 1z 6 、前面6個被反轉換的位元z1z6 、以及前面4個由此產生的數據位元x1x 4 ’的關係如下:z 1 ,z 2 ,z 3 ,z 4 ,z 5 ,z 6 =z1 ,z2 ,z3 ,z4 ,z5 ,z6 x 1 ,x 2 ,x 3 ,x 4 =x1 ,x2 ,x3 ,x4
同樣的,第二組4個數位元及第三組4個數據位元也存在以上的關係。
為了完整性的關係, 8 顯示一個轉換TS -1 (6,4)。這個轉換是表7顯示之轉換的反轉換。 表8
可以將數位位元x1x4 所屬的任意值設定給未在表8中列出的記憶位元z1z6 的值,以合成反轉換電路905。例如,可以將這些任意值作為未確定的值,也稱為“不用在意的”值,並在以合成工具優化電路時確定這些值。另外一種選擇是將這些值全部設為0。錯誤辨識及 / 或錯誤修正
如果反轉換電路905將錯誤的數據立元配屬到錯誤的記憶位元,則可以透過一個錯誤代碼辨識及/或修正錯誤的4-位元-位元組。以下將以例子說明。
10 顯示電路配置的一個例子,此電路配置可以執行錯誤辨識或同時執行錯誤辨識及錯誤修正,其中數據位元經由一轉換電路被轉換成儲存在記憶體的記憶胞元內的儲存位元。
數據位元x 位於編碼器1001的輸入端,根據錯誤代碼C 1 編碼的位元y =Cod (x )產生於編碼器1001的輸出端。
有一個可能性是,錯誤代碼C 1 是一個修正及/或辨識位元組錯誤的代碼,例如里德所羅門代碼(Reed-Solomon Code)。另一個可能性是,錯誤代碼C 1 是一個修正及/或辨識位元錯誤的代碼,例如BCH代碼、Hsiao代碼、漢明代碼(Hamming Code)代碼、低密度奇偶代碼、或其他的代碼。
經由轉換電路1002將從編碼器1001的輸出端輸出的位元(或位元組)y =Cod (x )轉換成數位值z (y ),儲存在記憶體1003的記憶胞元。轉換電路1002執行一個轉換TS
在一個包含n 個記憶胞元的分組中,n 1 個第一值儲存在n 1 個第一記憶胞元、n 2 個第二值儲存在n 2 個第二記憶胞元、…、nK 個第K 值儲存在nK 個第K 記憶胞元。其中:n 1 +n 2 +…+nK =n
下一個步驟是從記憶體1003的相應的記憶胞元讀出值z ’(y )。值z ’(y )有可能會因為至少一個錯誤而不同於被寫入的值z (y )。如果沒有發生錯誤,則z (y )=z ’(y )。
接著從記憶體1003讀出的值z ’(y )被一執行反轉TS -1 的反轉電路1004轉換成二進制值y ’。
如果沒有發生錯誤,則y ’ =y =Cod (x )。
如果有發生錯誤,則y ’≠y =Cod (x )。
修正值產生器1005會根據錯誤代碼C 1產生一個相當於字寬的修正值e ,其中修正值e 的分量在異或電路1007中與值y ’以分量方式異或連接。異或電路1007的作用是執行輸入信號的異或邏輯運算,並將這個邏輯運算的結果送至輸出端。如果輸入端的信號是相同的,則異或電路會在輸出端輸出邏輯值1。如果輸入端的信號是不同的,則異或電路會在輸出端輸出邏輯值0。
在異或電路1007的輸出端會產生一個修正值ycor 。如果出現一個能夠經由代碼C 1 以修正值產生器1005修正的錯誤,則被修正的位元等於編碼的位元,也就是說:ycor =y =Cod (x )。
此外,第10圖還顯示一個錯誤辨識電路1006,根據這個電路可以確定是否存在錯誤代碼C 1 可以辨識的錯誤及/或特定類型的錯誤。將值y ’輸入錯誤辨識電路1006,錯誤辨識電路1006就會輸出錯誤訊息1008。
例如,如果錯誤代碼是一個修正1位元組錯誤及辨識2位元組錯誤的代碼,則錯誤辨識電路1006可以根據沒有錯誤、出現一個1位元組錯誤、或出現一個2位元組錯誤等情況輸出不同的錯誤訊息1008。例如錯誤訊息1008可以是位元順序00、01或10(在這個例子中是包含兩個位元的位元順序)。
可以選擇性的共同實現或部分共同實現錯誤辨識電路1006及修正值產生器1005。
如果錯誤代碼C 1 是一個可分開的代碼,也就是說,在編碼時數據位元不會被編碼器1001改變,則在沒有錯誤的情況下,異或電路1006輸出的位元會等於被送入編碼器1001、且在被轉換電路1002轉換後儲存在記憶體1003的相應的數據位元。
11 顯示另一種電路配置,此電路配置可以執行錯誤辨識或同時執行錯誤辨識及錯誤修正。
數據位元x 位於轉換電路1101的輸入端,並被轉換成值z (x )。轉換電路1101的值z (x )位於編碼器1102的輸入端,編碼器1102能夠應用錯誤代碼C 2 在輸出端產生經過編碼的數據Cod (z (x ))。
編碼器1102能夠執行編碼功能及檢驗位元轉換功能。
例如,假設錯誤代碼C 2 是一個可分開的代碼,則位於編碼器1102之輸入端的值z (x )會在經編碼器確定的輸出數據Cod (z (x ))中不受改變的保留下來,並根據錯誤代碼C 2 被加上檢驗位元。
在這個例子中,編碼器1102會將位於其輸入端的值z (x )不經任何改變的在其輸出端執行(為此輸入端及輸出端都可以有複數個線路,而且每一個線路均配屬於一個位元),並另外根據錯誤代碼C 2 從位元z (x )產生檢驗位元,以及在儲存到記憶體1103之前,先轉換這些檢驗位元。
例如,值z (x )構成包含n 個位元的分組,這些位元是由一個n 1 -aus-n-代碼的代碼字組成。同樣的,編碼器1102產生的經過轉換的檢驗位元也可以是n 1 -aus-n-代碼字或包含這樣的代碼字。
例如,有一種可能性是,透過編碼器1102將錯誤代碼C 2 從位元z (x )確定的檢驗位元轉換成位元,其中每兩個位元都是彼此互補。每一個檢驗位元都被轉換成兩個位元,並儲存在兩個記憶胞元內。例如,可以將檢驗位元1轉換成位元10,以及將檢驗位元0轉換成位元01,並分別儲存在兩個記憶胞元內。
也可以利用其他的轉換將檢驗位元轉換成記憶胞元值。例如一種可能性是將檢驗位元變成3倍或兩倍及/或以其他容許錯誤的方式寫入記憶體1103。
第10圖顯示的電路配置是利用數據位元進行錯誤處理。與此相反的,第11圖的電路配置是根據轉換電路1101從數據位元確定的記憶胞元值進行錯誤處理。此處所謂的錯誤處理是指錯誤辨識及/或錯誤修正。
12 顯示第11圖之電路配置的一種變化方式。
數據位元x位於轉換電路1201的輸入端,並被轉換成代碼字[3-aus -6]1 ,其中數據位元的每4個位元被轉換成一個3-aus -6-代碼字。這些3-aus -6-代碼字[3-aus -6]1 是在轉換電路1201的輸出端產生。轉換電路1201以可逆的方式明確的為16個4位元值中的每一個4位元值配屬3-aus -6-代碼的一個代碼字。
轉換電路1201的輸出端與檢驗位元產生器1202的輸入端連接,根據一個錯誤代碼確定3-aus -6-代碼字的位元的檢驗位元Pr ,並產生於其輸出端。
例如,檢驗位元產生器1202產生一個BCH代碼的檢驗位元。在沒有錯誤的情況下,轉換電路1201輸出的位元及檢驗位元產生器1202輸出的檢驗位元構成BCH代碼的一個代碼字。
也可以不使用BCH代碼,而是使用其他的錯誤代碼。另一種可能性是將複數個錯誤代碼組合在一起使用。
轉換電路1201的輸出端也與記憶體1204的輸入端連接,因此從數據位元經由轉換電路1201獲得的3-aus -6-代碼字(也可以不含檢驗位元)被儲存在記憶體1204內。
檢驗位元產生器1202的輸出端與檢驗位元轉換器1203的輸入端連接,其中檢驗位元轉換器1203將所產生的檢驗位元轉換成3-aus -6-代碼字[3-aus -6]2 ,並將其送到輸出端。
檢驗位元轉換器1203的輸出端與記憶體1204的輸入端連接。例如可以利用記憶體的分開的數據輸入端。這樣就可以將檢驗位元轉換器1203以檢驗位元Pr 為基礎產生的3-aus -6-代碼字[3-aus -6]2 儲存到記憶體1204內。
在沒有錯誤的情況下,記憶體1204內儲存的位元是3-aus -6-代碼字。這些位元也稱為記憶胞元值。
轉換電路1201從數據位元x 產生3-aus -6-代碼的代碼字[3-aus -6]1 ,並將其寫入記憶體1204。這些代碼字[3-aus -6]1 構成記憶體1204之記憶胞元的記憶胞元值。
[3-aus -6]1 的位元確定檢驗位元Pr ,並將其送到輸出端。檢驗位元轉換器1203將檢驗位元Pr 轉換成3-aus -6-代碼的代碼字[3-aus -6]2。這些代碼字[3-aus -6]2 構成記憶體1204之記憶胞元的記憶胞元值,其中該等記憶胞元值是從檢驗位元Pr 產生的。
因此代碼字[3-aus -6]1 及代碼字[3-aus -6]2 被儲存在記憶體1204內。在儲存或讀出時可能發生位元錯誤,這可能導致代碼字[3-aus -6]1 及代碼字[3-aus -6]2 被摻雜到錯誤的位元中。
在讀出時,記憶體1204會輸出配屬於數據位元的位元[3-aus -6]’1 ,以及配屬於經轉換之數據位元之檢驗位元的位元[3-aus -6]’2 。位元[3-aus -6]’1 及位元[3-aus -6]’2 可能含有位元錯誤。在沒有錯誤的情況下: [3-aus -6]’1 = [3-aus -6]1 [3-aus -6]’2 = [3-aus -6]2
記憶體1204輸出位元[3-aus -6]’2 的輸出端與反檢驗位元轉換器1205的輸入端連接,其中反檢驗位元轉換器1205以位元[3-aus -6]’2 為基礎確定可能有錯誤的檢驗位元Pr ’,並將其送到輸出端。反檢驗位元轉換器1205執行檢驗位元轉換器1203執行的轉換的反轉換。
在沒有錯誤的情況下,反檢驗位元轉換器1205從輸出端輸出與檢驗位元產生器1202產生之檢驗位元相同的檢驗位元Pr
可能出錯的檢驗位元Pr ’是相當於數據位元的位元[3-aus -6]’1 的檢驗位元。因此可以根據所使用的3-aus -6-代碼,利用可能出錯的檢驗位元Pr ’對位元[3-aus -6]’1 的可能的位元錯誤進行錯誤修正。
記憶體1204的輸出端及反檢驗位元轉換器1205的輸出端分別與修正器1206的一個輸入端連接。修正器1206根據所使用的錯誤代碼將[3-aus -6]’1 修正成經過修正的[3-aus -6]1 c or
如果所使用的錯誤代碼可以修正可能出現的錯誤,則下式成立: [3-aus -6]1 cor = [3-aus -6]1
位元[3-aus -6]1 c or 產生於修正器1206的輸出端。修正器1206的輸出端與反轉換電路1207的輸入端連接,其中反轉換電路1207執行的是轉換電路1201執行的轉換的反轉換。數據位元xcor 產生於反轉換電路1207的輸出端。數據位元xcor 是經修正的數據位元,或是數據位元x (如果沒有出現錯誤的話)。
如果沒有任何錯誤,或是發生的錯誤可以被錯誤代碼C 修正,則下式成立:xcor =x
以上描述的電路配置是透過錯誤代碼進行記憶胞元值的錯誤修正的一個實施例。在這個實施例中,二進制記憶胞元值是一個3-aus-6-代碼的代碼字。這個3-aus-6-代碼的作用是形成記憶胞元值。可以利用一個錯誤代碼進行記憶胞元值的錯誤修正,例如漢明代碼、Hsiao代碼、BCH代碼或其他代碼。
因此數據位元被轉換成記憶胞元值,並為記憶胞元值的位元確定錯誤代碼的檢驗位元。這些檢驗位元同樣也被轉換成記憶胞元值。經轉換的數據位元及經轉換的檢驗位元的記憶胞元值被儲存在記憶體內。讀取記憶體時,會先讀出相當於檢驗位元的記憶胞元值,並將其轉換回檢驗位元。接著利用轉換回來的檢驗位元及錯誤代碼,在一修正器內將相當於數據位元的記憶胞元值修正成經修正的記憶胞元值。接著可以利用反轉換將經修正的相當於數據位元的記憶胞元值轉換成經修正的數據位元。
除了以上描述的記憶胞元值及3-aus-6-代碼外,也可以按相同的方式使用其他的記憶胞元值,例如4-aus-8-代碼的代碼字。
不同於第12圖描述的實施例,第10圖描述的實施例是對數據位元進行錯誤修正。從數據位元確定錯誤代碼的檢驗位元。數據位元及由其確定的檢驗位元一起被轉換成記憶胞元值,並儲存到記憶體內。讀取記憶體時,會先將可能有錯誤的記憶胞元值轉換回可能有錯誤的數據位元及可能有錯誤的檢驗位元,然後利用錯誤代碼修正可能有錯誤的數據位元。範例: 3-aus-6- 代碼
以下將說明一個包含n =6個記憶胞元的分組的例子,並假設這個分組有兩個子群,且各子群均包含n 1 =n 2 =3個記憶胞元。因此在n =6個記憶胞元內可以儲存包含3個二進制值0及3個二進制值1的3-aus-6-代碼字。
=20個包含3個0及3個1的代碼字,因此有20個不同的值,這些值可以作為3-aus-6-代碼被儲存在6個記憶胞元內。由於24 =16<20,因此可以在6個記憶胞元內儲存4個數據位元。
9 顯示以3-aus-6-代碼字儲存的二進制4位元值在6個記憶胞元S 1S 6 內的一個可能的配置方式。表9的最後一欄的標題是“4位元“,這個欄是以位元方式由小到大填入0至16的4位元值(請比較前面一欄的值)。每一個4位元值正好有這個例子使用的3-aus-6-代碼的一個代碼字。3-aus-6-代碼的特徵是在每一個代碼字內正好會出現3個1(或0)。對n =6個記憶胞元而言,有20-16=4個代碼字是“多餘“的,也就是說有4個代字沒有分配到4位元值。在表9的例子中,最後4行在“4位元“欄中出現4個“-“符號的代碼字就是“多餘“的代碼字。偵測最快的讀出電流
13 顯示電路配置的一個例子,包含4個各具有3個輸入端的“或非”門1301至1304、2個各具有2個輸入端的“或非”門1305及1306、以及一個具有複數個輸入端的“與非”門1307。
這個電路配置可以確定對讀出電流的時間積分最快達到預定的門限值Sw 的3個記憶胞元。
=20種不同的可能方式以3個0及3個1佔用記憶胞元S 1S 6 中的3個記憶胞元。
表9前面16行中被0佔用的記憶胞元的3個輸出端與一個“或非“門的輸入端連接。只有在“或非“門的所有輸入端都是0的情況下,其輸出端才會是1。 表9
表9第1行的值為0的記憶胞元S 4 ,S 5 ,S 6 的3個輸出端連接到“或非“門1301的3個輸入端。表9第2行的值為0的記憶胞元S 3 ,S 5 ,S 6 的3個輸出端連接到“或非“門1302的3個輸入端。表9第14行的值為0的記憶胞元S 1 ,S 3 ,S 5 的3個輸出端連接到“或非“門1303的3個輸入端。表9第15行的值為0的記憶胞元S 1 ,S 2 ,S 5 的3個輸出端連接到“或非“門1304的3個輸入端。
這種連接方式亦應用於第3行至第13行,因此每一行都有一個專屬的“或非“門,且該“或非“門的3個輸入端與在該行的值為0的記憶胞元連接。
在“或非”門1301至1304中,只有所有的輸入端的值都是0的“或非”門的輸出端的值是1。換句話說,在“或非”門1301至1304中,只有按照表9與所屬的代碼字邏輯連接的“或非”門的輸出端的值是1。由於“或非”門1301至1304的輸入端與記憶胞元的連接的組合方式都不一樣(每個代碼字的3個0 的配置都不一樣),因此在任一時間“或非”門1301至1304的輸出端都只有一個值1。
以“或非”門1305及1306為例說明第13圖中邏輯信號的第二平面的邏輯連接:“或非”門1301的輸出端及“或非”門1302的輸出端與“或非”門1305的輸入端連接。“或非”門1303的輸出端及“或非”門1304的輸出端與“或非”門1306的輸入端連接。因此“或非”門1301至1304的每兩個輸出端都與這個第二平面的“或非”門的輸入端連接。
第二平面的“或非”門1305至1306的輸出端分別與“或非”門1307的一個輸入端連接。信號1308產生於“或非”門1307的輸出端。
如果“或非”門的所有輸出端的值都是1,則該“或非”門的輸入端的值才會是0。只要有一個輸入端的值是0,信號1308的值就是1。如前面所述,當記憶胞元內出現3個0時,
“或非”門1301至1304中只有一個“或非”門的輸出端的值可以從0變成1。與此相應的,與“或非”門1301至1304中的那個“或非”門連接的“或非”門1305至1306的值會從0變成1。這個值0使信號1308的值變成1。
第13圖的例子有16種不同的可能方式將3個0分配到6個記憶胞元(參照表9)。與此相應的,有16個“或非”門1301至1304。其中每兩個“或非”門的輸出端連接到第二平面的“或非”門1305至1306中的一個“或非”門的輸入端。因此有8個第二平面的“或非”門1305至1306,同時“或非”門1307具有8個相應的輸入端。
可以暫時性探測到(“取樣”) “或非”門1307的輸入端的信號1308。
當第一次探測到信號1308的值是1,可以將信號1308作為連接在記憶胞元S 1S 6 後面的6個門栓的“保持信號”使用。第14圖對此有更詳盡的說明。
14 顯示的電路配置包含6個信號放大器(也稱為知覺放大器或知覺強化器)1401至1406。如前面所述,物理值WA i (i =0…6)從記憶體的(例如6個)記憶胞元被讀出。被讀出的物理值WA i 分別被送入信號放大器1401至1406中一個信號放大器。例如物理值WA i 可以是讀出電流。
信號放大器1401測定物理值WA 1 的一個時間積分。如果在時間點t 的時間積分小於一個門限值Sw ,則信號放大器1401的輸出端在時間點t 的數位值是1。如果在時間點t的時間積分大於一個門限值Sw ,則信號放大器1401的輸出端在時間點t的數位值是0。信號放大器1401的輸出端與門栓1407的第一輸入端連接,保持信號1413位於門栓1407的第二輸入端。如果保持信號的值等於0,則門栓1407被透明接通,也就是說,產生於信號放大器1401的輸出端的二進制值位於邏輯電路1414的第一輸入端。如果保持信號的值等於1,則門栓1407被凍結,也就是說,只要保持信號的值等於1,在這個時間點位於門栓1407的第一輸入端的值也會一直留在門栓1407的輸出端。
例如可以在“de.wikipedia.org/wiki/Latch”查詢到門栓的功能,門栓也稱為鎖存器或狀態控制正反器。
邏輯電路1414測定最前面的3個0,也就是說最快出現在門栓1407至1412的輸出端的3個0,並將保持信號1413的值變成1。
同樣的:信號放大器1402測定物理值WA 2 的一個時間積分。如果在時間點t 的時間積分小於一個門限值Sw ,則信號放大器1402的輸出端在時間點t 的數位值是1。如果在時間點t 的時間積分大於一個門限值Sw ,則信號放大器1402的輸出端在時間點t 的數位值是0。信號放大器1402的輸出端與門栓1408的第一輸入端連接,保持信號1413位於門栓1408的第二輸入端。門栓1408的輸出端與邏輯電路1414的第二輸入端連接。信號放大器1403測定物理值WA 3 的一個時間積分。如果在時間點t 的時間積分小於一個門限值Sw ,則信號放大器1403的輸出端在時間點t 的數位值是1。如果在時間點t 的時間積分大於一個門限值Sw ,則信號放大器1403的輸出端在時間點t 的數位值是0。信號放大器1403的輸出端與門栓1409的第一輸入端連接,保持信號1413位於門栓1409的第二輸入端。門栓1409的輸出端與邏輯電路1414的第三輸入端連接。信號放大器1404測定物理值WA 4 的一個時間積分。如果在時間點t 的時間積分小於一個門限值Sw ,則信號放大器1404的輸出端在時間點t 的數位值是1。如果在時間點t 的時間積分大於一個門限值Sw ,則信號放大器1404的輸出端在時間點t 的數位值是0。信號放大器1404的輸出端與門栓1410的第一輸入端連接,保持信號1413位於門栓1410的第二輸入端。門栓1410的輸出端與邏輯電路1414的第四輸入端連接。信號放大器1405測定物理值WA 5 的一個時間積分。如果在時間點t 的時間積分小於一個門限值Sw ,則信號放大器1405的輸出端在時間點t 的數位值是1。如果在時間點t 的時間積分大於一個門限值Sw ,則信號放大器1405的輸出端在時間點t 的數位值是0。信號放大器1405的輸出端與門栓1411的第一輸入端連接,保持信號1413位於門栓1411的第二輸入端。門栓1411的輸出端與邏輯電路1414的第五輸入端連接。信號放大器1406測定物理值WA 6 的一個時間積分。如果在時間點t 的時間積分小於一個門限值Sw ,則信號放大器1406的輸出端在時間點t 的數位值是1。如果在時間點t 的時間積分大於一個門限值Sw ,則信號放大器1406的輸出端在時間點t 的數位值是0。信號放大器1406的輸出端與門栓1412的第一輸入端連接,保持信號1413位於門栓1412的第二輸入端。門栓1412的輸出端與邏輯電路1414的第六輸入端連接。
例如曲線圖1415顯示信號放大器1401對時間的讀出電流。信號放大器1401的讀出電流在時間點t 1 達到門限值Sw 。同樣的,第14圖還顯示信號放大器1402至1406的曲線圖1416至1420,這些曲線圖顯示信號放大器1401至1406的第i 個信號放大器達到門限值Sw 的時間點ti
只要讀出電流的積分到時間點ti 仍小於門限值Sw ,信號放大器就會輸出值1;如果讀出電流的積分自時間點ti 起大於門限值Sw ,信號放大器就會輸出值0。
第14圖的例子是在時間點t 測定物理值WA 1WA 6 ,其中t 大於t 1t 3t 5 ,以及t 小於t 2t 4t 6 。因此在時間點t ,信號放大器1401、1403及1405的輸出端的值是0,而信號放大器1402、1404及1406的輸出端的值仍然是1。邏輯電路1414是從最前面3個0辨認出這個情況,並使保持信號從0變大1,因此門栓1407至1412被“凍結”。
例如第13圖顯示的電路配置可以實現邏輯電路1414。
101、102、103、104、301、302、303、401、402、403、501、502、503、504‧‧‧機率分佈
105、304、305、404、405、505、506、507‧‧‧重疊區
601、803、901、1003、1103、1204、1502、1602、1702‧‧‧記憶體
602、603、604、605、606、607‧‧‧比較器
701、702、703、704、705、706、708、709、710、711、1301、1302、1303、1304、1305、1306、1307‧‧‧門
801、802、902、903、904、905、906、907、1002、1101、1201、1501、1601、1701‧‧‧轉換電路
1001、1102‧‧‧編碼器
1004‧‧‧反轉電路
1005‧‧‧修正值產生器
1006‧‧‧錯誤辨識電路
1007‧‧‧異或電路
1008‧‧‧錯誤訊息
1202、1203‧‧‧檢驗位元產生器
1205‧‧‧反檢驗位元轉換器
1206‧‧‧修正器
1207‧‧‧反轉換電路
1308‧‧‧信號
1401、1402、1403、1404、1405、1406‧‧‧信號放大器
1407、1408、1409、1410、1411、1412‧‧‧門栓
1413‧‧‧保持信號
1414‧‧‧邏輯電路
1415、1416、1417、1418、1419、1420‧‧‧曲線圖
Cod‧‧‧數據
eycor ‧‧‧修正值
Pr‧‧‧檢驗位元
S 1S 2S 3S 4S 5S 6Sn ‧‧‧記憶胞元
Sw ‧‧‧門限值
t‧‧‧時間點
TS T‧‧‧轉換
R‧‧‧參考值
WA ‧‧‧物理值
WG ‧‧‧電阻
x‧‧‧位元值
yy’‧‧‧二進制值
z‧‧‧值
以下將配合圖式及實施例對以上述之本發明的特性、特徵及優點做進一步的說明。為了使圖式簡單化,凡是相同或相同作用的元件在各圖式中均以相同的元件符號標示。
其中: 第1a圖:讀出之物理值的機率分佈,其中一個參考值位於機率分佈曲線之間。 第1b圖:讀出之物理值的機率分佈,其中與第1a不同的是,機率分佈曲線有部分重疊。 第2a圖:一個顯示從記憶胞元讀出的多個物理值的示意圖。 第2b圖:一個具有多個時間點的示意圖,其中每一個時間點均相當於第2a圖顯示的一個物理值。 第3圖:記憶胞元之物理值WG 的機率分佈示意圖。 第4圖:從記憶體讀出的值的機率分佈示意圖。 第5圖:從記憶體讀出的值0,1,2,3的4個機率分佈,其中4個機率分佈有3個重疊區。 第6圖:一具有4個記憶胞元的記憶體,其中從記憶胞元讀出物理值,並使用多個比較器以成對的方式比較物理值。 第7圖:一個電路佈置,根據第6圖的比較器的值利用多個邏輯門決定相應的記憶胞元的佔用。 第8圖:一個示意圖,顯示數據位元被轉換、被儲存在記憶體之記憶胞元內、以及記憶胞元被讀出,然後經由反轉換被轉換回數據位元。 第9圖:一個示意圖,顯示多個數據位元群組被轉換、儲存、以及在被讀出後被轉換回數據位元。 第10圖:顯示電路配置的一個例子,此電路配置可以執行錯誤辨識或同時執行錯誤辨識及錯誤修正,其中數據位元經由一轉換電路被轉換成儲存在記憶體的記憶胞元內的儲存位元。 第11圖:另一種電路配置,此電路配置可以執行錯誤辨識或同時執行錯誤辨識及錯誤修正。 第12圖:如第11圖之電路配置的一種變化方式,可執行反轉換及決定要修正的數據位元。 第13圖:電路配置的一個例子,包含複數個邏輯門,其作用是確定複數個門栓的保持信號。 第14圖:電路配置的一個例子,用於決定讀出6個記憶胞元時,最先出現的3個最快的0,其中利用如第13圖之電路配置產生的保持信號,以控制多個門栓。 第15圖:一個示意圖,顯示如何經由轉換電路將數據位元轉換成記憶胞元值,並儲存到記憶體的記憶胞元內。 第16圖:第15圖之電路配置的一個實際的例子,在第16圖的例子中,n =k =6,K =3,n 1 =n 2 =n 3 =2。 第17圖:一個示意圖,顯示如何將4個數據位元x 1 ,x 2 ,x 3 ,x 4 轉換成4個記憶胞元值z 1 ,z 2 ,z 3 ,z 4

Claims (22)

  1. 一種從記憶體讀出記憶胞元的方法,其特徵為:設定一n代碼中的n1,...,nK,其中n1,...,nK的每一個大於或等於1;物理值是由n個記憶胞元決定,其中n至少是3;物理值至少有一部分被相互比較;根據相互比較的物理值將K個不同的數位記憶胞元值配屬到該n個記憶胞元;將一個n之n1-,...,nK-(n1-,...,nK-aus-n-)代碼的一個代碼字配屬到按上述方式獲得的記憶胞元值,其中:物理值至少有一部分被相互比較,由此決定物理值的排列順序;根據物理值的排列順序將該K個不同的數位記憶胞元值配屬到該n個記憶胞元。
  2. 如申請專利範圍第1項所述的方法,其中讀出該n個記憶胞元,以確定物理值。
  3. 如申請專利範圍第1項所述的方法,其中使所有的物理值相互比較。
  4. 如申請專利範圍第1項所述的方法,其中K=2,因此n1-,...,nK-aus-n-代碼是一個n1-,n2-aus-n-代碼,其中n1個第一記憶胞元值具有彼此相同的第一個值,n2個第二記憶胞元值具有彼此相同的第二個值,其中第一個值不同於第二個值。
  5. 如申請專利範圍第1項所述的方法,其中K=3,因此n1-,...,nK-aus-n-代碼是一個n1-,n2-,n3-aus-n-代碼,其中n1個第一記憶胞元值具有彼此相同的第一個值,n2個第二記憶胞元值具有彼此相同的第二個值,n3個第三個記憶胞元值具有彼此相同的第三個值,其中第一個值、第二個值、以及第三個值都是彼此不同的值。
  6. 如申請專利範圍第1項所述的方法,其中K>3。
  7. 如申請專利範圍第1項所述的方法,其中從記憶胞元決定的記憶胞元值是透過一一對應的轉換決定。
  8. 如申請專利範圍第1項所述的方法,其中物理值是時間點。
  9. 如申請專利範圍第8項所述的方法,其中利用記憶胞元之物理值的時間積分決定時間點。
  10. 如申請專利範圍第1項所述的方法,其中物理值是記憶胞元的一個讀出流。
  11. 如申請專利範圍第1項所述的方法,其中如果所獲得的數位記憶胞元值是描述n1-,...,nK-aus-n-代碼的一個代碼字,則可以透過反轉換從代碼字決定m個位元。
  12. 如申請專利範圍第11項所述的方法,其中利用錯誤代碼對該m個位元進行錯誤辨識及/或錯誤修正。
  13. 如申請專利範圍第11項所述的方法,其中利用檢驗位元進行錯誤辨識及/或錯誤修正,其中係根據源自數據位元的錯誤代碼決定檢驗位元。
  14. 如申請專利範圍第11項所述的方法,其中利用檢驗位元進行錯誤辨識及/或錯誤修正,其中係根據源自記憶胞元值的錯誤代碼決定檢驗位元。
  15. 如申請專利範圍第12項至第14項中任一項所述的方法,其中錯誤代碼是一個位元組錯誤修正代碼及/或位元組錯誤辨識代碼。
  16. 如申請專利範圍第15項所述的方法,其中如果是以數據位元進行錯誤修正,則一個位元組含有該m個位元,如果是以記憶胞元進行錯誤修正,則一個位元組含有該n個位元。
  17. 如申請專利範圍第12-14項以及第16項中任一項所述的方法,其中錯誤代碼是一個位元錯誤修正代碼及/或位元錯誤辨識代碼。
  18. 如申請專利範圍第1項所述的方法,其中使用至少一個參考值以決定數位記憶胞元值。
  19. 如申請專利範圍第1項所述的方法,其中記憶體包含下列記憶體類型中的至少一種記憶體類型:快取記憶體,寄存器或寄存器陣列,快閃記憶體,MRAM,SRAM,RE-RAM,PC-RAM,FE-RAM,CB-RAM,多位元記憶體,多級記憶體。
  20. 一處理記憶體的記憶胞元用的裝置,此裝置具有一個處理單元,其作用是:設定一n代碼中的n1,...,nK,其中n1,...,nK的每一個大於或等於1;由n個記憶胞元決定物理值,其中n至少是3;物理值至少有一部分被相互比較;根據相互比較的物理值將K個不同的數位記憶胞元值配屬到該n個記憶胞元;將一個n之n1-,...,nK-(n1-,...,nK-aus-n-)代碼的一個代碼字配屬到按上述方式獲得的記憶胞元值,其中處理單元還具有以下的作用:使至少一部分物理值相互比較,由此決定物理值的排列順序;根據物理值的排列順序將該K個不同的數位記憶胞元值配屬到該n個記憶胞元。
  21. 一電腦程式產品,可以直接存在數位電腦的記憶體內,其包含可以執行如申請專利範圍第1項至第19項中任一項所述的方法的各個步驟的程式碼。
  22. 一電腦可讀的儲存介質,其包含電腦可執行的指示,以使電腦執行如申請專利範圍第1項至第19項中任一項所述的方法的各個步驟。
TW107100236A 2017-02-17 2018-01-03 記憶體之記憶胞元資料處理 TWI664639B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??102017103347.5 2017-02-17
DE102017103347.5A DE102017103347B4 (de) 2017-02-17 2017-02-17 Verarbeitung von daten in speicherzellen eines speichers

Publications (2)

Publication Number Publication Date
TW201832232A TW201832232A (zh) 2018-09-01
TWI664639B true TWI664639B (zh) 2019-07-01

Family

ID=63046077

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107100236A TWI664639B (zh) 2017-02-17 2018-01-03 記憶體之記憶胞元資料處理

Country Status (4)

Country Link
JP (1) JP6602904B2 (zh)
KR (1) KR102079196B1 (zh)
DE (1) DE102017103347B4 (zh)
TW (1) TWI664639B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018124296B4 (de) * 2018-10-02 2024-06-20 Infineon Technologies Ag Kompensation von lesefehlern
US10963185B2 (en) * 2018-11-20 2021-03-30 Micron Technology, Inc. Memory sub-system for performing wear-leveling adjustments based on memory component endurance estimations
CN111352754B (zh) * 2018-12-21 2023-09-15 中国石油天然气集团有限公司 一种数据存储检错纠错方法及数据存储装置
US10884663B2 (en) * 2019-03-14 2021-01-05 Western Digital Technologies, Inc. Executable memory cells
US10884664B2 (en) 2019-03-14 2021-01-05 Western Digital Technologies, Inc. Executable memory cell
DE102019107139A1 (de) 2019-03-20 2020-09-24 Infineon Technologies Ag Transformation von aus einem speicher gelesenen binären signalen

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8335977B2 (en) * 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
US8570804B2 (en) * 2006-05-12 2013-10-29 Apple Inc. Distortion estimation and cancellation in memory devices
US8732560B2 (en) * 2012-05-08 2014-05-20 Infineon Technologies Ag Method and device for correction of ternary stored binary data
US8996951B2 (en) * 2012-11-15 2015-03-31 Elwha, Llc Error correction with non-volatile memory on an integrated circuit

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0225118A (ja) * 1988-07-14 1990-01-26 Matsushita Electric Ind Co Ltd コード変換装置と復号装置
JP3213434B2 (ja) * 1993-03-25 2001-10-02 新日本製鐵株式会社 不揮発性半導体記憶装置
JP3866674B2 (ja) * 1993-12-28 2007-01-10 株式会社東芝 記憶システム
JP4099844B2 (ja) * 1998-01-21 2008-06-11 ソニー株式会社 メモリ装置
KR100879560B1 (ko) 2006-12-04 2009-01-22 삼성전자주식회사 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템
US8880783B2 (en) * 2011-07-05 2014-11-04 Kandou Labs SA Differential vector storage for non-volatile memory
US8578246B2 (en) 2010-05-31 2013-11-05 International Business Machines Corporation Data encoding in solid-state storage devices
US8427875B2 (en) 2010-12-07 2013-04-23 Silicon Motion Inc. Method and memory controller for reading data stored in flash memory by referring to binary digit distribution characteristics of bit sequences read from flash memory
US9082480B2 (en) 2011-01-04 2015-07-14 Seagate Technology Llc Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window
KR101545512B1 (ko) * 2012-12-26 2015-08-24 성균관대학교산학협력단 반도체 메모리 장치, 검증 독출 방법 및 시스템
GB2518632A (en) 2013-09-26 2015-04-01 Ibm Estimation of level-thresholds for memory cells
US9196320B2 (en) * 2013-12-13 2015-11-24 Infineon Technologies Ag Method, apparatus and device for data processing
DE102015215401B4 (de) * 2015-08-12 2020-10-01 Infineon Technologies Ag Speichervorrichtung und Verfahren zum Korrigieren einer gespeicherten Bitfolge

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8570804B2 (en) * 2006-05-12 2013-10-29 Apple Inc. Distortion estimation and cancellation in memory devices
US8335977B2 (en) * 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
US8627188B2 (en) * 2007-12-05 2014-01-07 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
US8732560B2 (en) * 2012-05-08 2014-05-20 Infineon Technologies Ag Method and device for correction of ternary stored binary data
US8996951B2 (en) * 2012-11-15 2015-03-31 Elwha, Llc Error correction with non-volatile memory on an integrated circuit

Also Published As

Publication number Publication date
TW201832232A (zh) 2018-09-01
JP2018133087A (ja) 2018-08-23
JP6602904B2 (ja) 2019-11-06
DE102017103347B4 (de) 2023-07-20
DE102017103347A1 (de) 2018-08-23
KR102079196B1 (ko) 2020-02-21
KR20180095468A (ko) 2018-08-27

Similar Documents

Publication Publication Date Title
TWI664639B (zh) 記憶體之記憶胞元資料處理
US8732560B2 (en) Method and device for correction of ternary stored binary data
KR0142277B1 (ko) 메모리 시스템
TWI517173B (zh) 更新可靠度資料之設備及方法
US9412465B2 (en) Reliable readout of fuse data in an integrated circuit
TWI516035B (zh) 在使用每記憶體胞非整數個位元之類比記憶體胞中資料儲存之管理
US10191801B2 (en) Error correction code management of write-once memory codes
JPH11283396A (ja) メモリ装置
US8843791B2 (en) Memory error management system
US9547551B2 (en) Memory system having an encoding processing circuit for redundant encoding process
CN103793289B (zh) 用于多位修正的电路和方法
JP5283989B2 (ja) メモリシステム及びメモリアクセス方法
US9092354B2 (en) Storage device, CRC generation device, and CRC generation method
US6360347B1 (en) Error correction method for a memory device
JP2017107620A (ja) 半導体装置及び不揮発メモリ
TW201931357A (zh) 記憶體之記憶胞元資料處理
JP4099844B2 (ja) メモリ装置
TWI744679B (zh) 利用錯誤碼進行資料處理的方法與裝置
US10514852B2 (en) Processing data in memory cells of a memory
JPH11212876A (ja) 符号化方法およびそれを利用したメモリ装置
JPH10334697A (ja) 半導体記憶装置およびその誤り訂正方法
JP5492329B2 (ja) メモリアクセス装置
JPH11213693A (ja) メモリ装置
JPH0743959B2 (ja) 誤り訂正機能付半導体メモリ
TW202211219A (zh) 記憶體存取方法