TWI740609B - 存取方法及記憶體 - Google Patents
存取方法及記憶體 Download PDFInfo
- Publication number
- TWI740609B TWI740609B TW109128029A TW109128029A TWI740609B TW I740609 B TWI740609 B TW I740609B TW 109128029 A TW109128029 A TW 109128029A TW 109128029 A TW109128029 A TW 109128029A TW I740609 B TWI740609 B TW I740609B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- value
- memory
- inverted
- memory cell
- Prior art date
Links
Images
Landscapes
- Static Random-Access Memory (AREA)
Abstract
一種存取方法,適用於一記憶體,並包括接收一外部資料;根據一寫入位址,讀取記憶體的複數第一記憶胞,用以取得一原始資料;比較外部資料與原始資料,用以判斷在第一記憶胞中,數值要由一第一數值變化至一第二數值的第一記憶胞數量是否大於一預設值;在第一記憶胞中,數值要由第一數值變化至第二數值的第一記憶胞數量未大於預設值時,寫入外部資料至第一記憶胞;以及在第一記憶胞中,數值要由第一數值變化至第二數值的第一記憶胞數量大於預設值時,反相外部資料,用以產生一反相資料,並寫入反相資料至第一記憶胞。
Description
本發明係有關於一種存取方法,特別是有關於一種適用於一記憶體的存取方法。
一般而言,記憶體可分為揮發性記憶體(Volatile Memory)與非揮發性記憶體(Non-Volatile Memory)。常見的揮發性記憶體包括動態隨機存取記憶體(DRAM)以及靜態隨機存取記憶體(SRAM)。非揮發生記憶體包括,唯讀記憶體(ROM)、可規化式唯讀記憶體(PROM)、可擦可規化式唯讀記憶體(EPROM)、可電擦可規化式唯讀記憶體(EEPROM)以及快閃記憶體(Flash memory)。
本發明之一實施例提供一種存取方法,適用於一記憶體,並包括接收一外部資料;根據一寫入位址,讀取記憶體的複數第一記憶胞,用以取得一原始資料;比較外部資料與原始資料,用以判斷在第一記憶胞中,數值要由一第一數值變化至一第二數值的第一記憶胞數量是否大於一預設值;在第一記憶胞中,數值要由第一數值變化至第二數值的第一記憶胞數量未大於預設值時,寫入外部資料至第一記憶胞,用以取代原始資料;以及在第一記憶胞中,數值要由第一數值變化至第二數值的第一記憶胞數量大於預設值時,反相外部資料,用以產生一反相資料,並寫入反相資料至第一記憶胞,用以取代原始資料。
本發明之存取方法可經由本發明之系統來實作,其為可執行特定功能之硬體或韌體,亦可以透過程式碼方式收錄於一紀錄媒體中,並結合特定硬體來實作。當程式碼被電子裝置、處理器、電腦或機器載入且執行時,電子裝置、處理器、電腦或機器變成用以實行本發明之記憶體。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出實施例,並配合所附圖式,做詳細之說明。本發明說明書提供不同的實施例來說明本發明不同實施方式的技術特徵。其中,實施例中的各元件之配置係為說明之用,並非用以限制本發明。另外,實施例中圖式標號之部分重覆,係為了簡化說明,並非意指不同實施例之間的關聯性。
第1圖為本發明之存取方法的流程示意圖。本發明的存取方法適用於一記憶體。本發明不限定記憶體的種類。記憶體可能是揮發性記憶體或是非揮發性記憶體。首先,接收並解碼一外部指令(步驟S101)。接著,判斷外部指令是否為一寫入指令(步驟S102)。當外部指令一寫入指令時,執行一寫入操作(步驟S103)。然而,當外部指令並非一寫入指令時,表示外部指令係為一讀取指令。因此,執行一讀取操作(步驟S104)。在此實施例中,該寫入或讀取操作所使用的一寫入位址及一讀取位址是由步驟S101解碼外部指令所產生。
第2圖為本發明之寫入操作的流程示意圖。首先,接收一外部資料 (步驟S201)。本發明並不限定外部資料的格式。在一可能實施例中,該外部資料係為一串列資料或是一並列資料。接著,根據一寫入位址,讀取記憶體的複數第一記憶胞,用以取得一原始資料(步驟S202)。在一可能實施例中,該等第一記憶胞均耦接同一字元線(word line),並耦接不同的位元線。在本實施例中,原始資料的位元(bit)數量與外部資料的位元數量相同。
比較外部資料與原始資料,用以判斷在第一記憶胞中,數值要由一第一數值變化至一第二數值的第一記憶胞的數量是否大於一預設值(步驟S203)。在本實施例中,第一數值不同於第二數值。舉例而言,第一數值為0,而第二數值為1。在另一可能實施例中,第一數值為1,而第二數值為0。在其它實施例中,預設值係為外部資料的總位元數量的一半。舉例而言,當外部資料係為四位元的資料時,則預設值可能為2。
在第一記憶胞中,數值要由該第一數值變化至該第二數值的第一記憶胞數量未大於預設值時,直接寫入外部資料至第一記憶胞中,用以取代第一記憶胞原本所儲存的原始資料(步驟S204)。舉例而言,假設,外部資料為0001,原始資料為0000。在此例中,由於外部資料具有四位元,故預設值可能是2。此時,比較外部資料及原始資料後,可得知原始資料只有一位元(如最低有效位元LSB)的數值要由數值0(或稱第一數值)變化至數值1(或稱第二數值)。因此,直接將外部資料(如0001)寫入第一記憶胞,用以取代原始資料(0000)。此時,第一記憶胞所儲存的資料完全相同於外部資料。
然而,如果在第一記憶胞中,數值要由第一數值變化至第二數值的第一記憶胞數量大於預設值時,反相外部資料,用以產生一反相資料(步驟S205),並寫入反相資料至第一記憶胞中,用以取代原始資料(步驟S206)。此時,第一記憶胞所儲存的資料反相於外部資料。舉例而言,假設,外部資料為1111,原始資料為0000。在此例中,由於原始資料的四位元都要由數值0變化至數值1,故數值需改變的記憶胞的數量為4,其大於预設值2,故反相外部資料(1111),用以產生一反相資料(0000),再將反相資料(0000)寫入第一記憶胞。由於反相資料相同於第一記憶胞原本所儲存的原始資料(0000),故不需改變第一記憶胞的資料,因而減少第一記憶胞被寫入的次數,進而延長第一記憶胞的壽命。
為了表示第一記憶胞的資料是否已經過反相處理(reverse),步驟S205更設定一第一反相記憶胞的資料為第二數值。在此例中,第一反相記憶胞也是耦接第一字元線。舉例而言,當外部資料為1111,並且原始資料為0000時,雖然不改變第一記憶胞的資料,但需設定第一反相記憶胞的資料為第二數值(如數值1),用以表示第一記憶胞的資料係為一反相資料。因此,當使用者欲讀取第一記憶胞的資料時,記憶體內部的一讀取電路(未顯示)先讀取第一反相記憶胞的資料,用以決定是否需要反相第一記憶胞的資料。舉例而言,當第一反相記憶胞的資料為數值1時,讀取電路先反相第一記憶胞的資料(0000),再輸出反相後的資料(1111)。然而,當第一反相記憶胞的資料為數值0時,讀取電路直接輸出第一記憶胞的資料。
在一些實施例中,步驟S204更設定第一反相記憶胞的資料為第一數值(如0)。舉例而言,當外部資料為0001,並且原始資料為0000時,由於原始資料只有1位元的數值要由數值0變化成數值1,故直接將外部資料寫入第一記憶胞,並且設定第一反相記憶胞為第一數值,用以表示第一記憶胞所儲存的資料不需被反相。因此,當使用者欲讀取第一記憶胞的資料時,一讀取電路(未顯示)根據第一反相記憶胞的資料(如數值0),直接輸出第一記憶胞的資料(0001)。
第3圖為本發明之讀取操作的流程示意圖。首先,根據一讀取位址,讀取記憶體的複數第二記憶胞,用以取得一第二原始資料(步驟S301)。在一可能實施例中,讀取位址係由第1圖的步驟S101解碼所產生。在本實施例中,第二記憶胞耦接同一字元線。在其它實施例中,步驟S301所讀取的複數第二記憶胞可能為第2圖步驟S204或S206所寫入的第一記憶胞。
根據讀取位址,讀取一第二反相記憶胞(步驟S302)。在本實施例中,第二反相記憶胞與第二記憶胞耦接同一字元線。然後,判斷第二反相記憶胞的資料是否為第二數值(步驟S303)。當第二反相記憶胞的資料不為第二數值時,表示第二原始資料在存入第二記憶胞前,並未經過一反相處理。因此,直接將第二原始資料作為一第一輸出資料,並輸出第一輸出資料(步驟S304)。
然而,當第二反相記憶胞的資料為第二數值(如1)時,表示第二原始資料在存入第二記憶胞前,已經過一反相處理。因此,反相第二原始資料(步驟S305),並將反相後的資料作為第一輸出資料,並輸出第一輸出資料(步驟S306)。
第4圖為本發明之記憶體的結構示意圖。如圖所示,記憶體400包括一解碼電路402、一記憶陣列404、一控制電路406以及一讀取電路408。解碼電路402解碼一位址ADR,用以致能字元線WL
0~WL
N-1之一者。
記憶陣列404具有字元線WL
0~WL
N-1以及資料線DL
0~DL
7。本發明並不限定資料線的數量。在其它實施例中,記憶陣列404具有更多或更少的資料線。在本實施例中,記憶陣列404更包括複數記憶胞(未顯示)。每一記憶胞耦接單一字元線以及單一資料線。在其它實施例中,記憶陣列404更包括一反相資料線RDL。在此例中,記憶陣列404更包括複數反相記憶胞(未顯示)。每一反相記憶胞耦接單一字元線以及反相資料線RDL。
控制電路406根據一致能信號WR,進入一寫入模式或是一讀取模式。舉例而言,當致能信號WR為一第一位準(如高位準)時,控制電路406進入一寫入模式。在寫入模式中,控制電路406接收一外部資料DIN0~DIN7,並透過一控制信號SC,命令讀取電路408讀取記憶陣列404的複數第一記憶胞。此時,讀取電路408可能讀取資料線DL0~DL7的資料,用以提供一輸出資料SDV0~SDV7予控制電路406。控制電路406比較外部資料DIN0~DIN7與輸出資料SDV0~SDV7,用以判斷在第一記憶胞中,數值要由一第一數值變化至一第二數值的記憶胞數量是否大於一預設值。如果在第一記憶胞中,數值要由第一數值變化至第二數值的第一記憶胞數量未大於一預設值時,控制電路406直接將外部資料DIN0~DIN7作為一寫入資料TWDIN0~TWDIN7,並透過資料線DL
0~DL
7將寫入資料TWDIN0~TWDIN7寫入第一記憶胞。然而,在第一記憶胞中,數值要由第一數值變化至第二數值的第一記憶胞數量大於預設值時,控制電路406反相外部資料DIN0~DIN7,用以產生一反相資料,並將反相資料作為寫入資料TWDIN0~TWDIN7,並透過資料線DL
0~DL
7將寫入資料TWDIN0~TWDIN7寫入第一記憶胞。此時,控制電路406更透過反相資料線RDL,設定一第一反相記憶胞為第二數值。在此例中,第一反相記憶胞與該等第一記憶胞耦接同一字元線(如WL
0)。
當致能信號WR為一第二位準(如一低位準)時,控制電路406進入一讀取模式。在讀取模式下,控制電路406讀取一第二反相記憶胞,並判斷第二反相記憶胞的資料是否為第二數值。當第二反相記憶胞的資料為第二數值(如1)時,控制電路406利用一控制信號RDR,命令讀取電路408反相資料線DL
0~DL
7的資料,並將反相後的資料(或稱一第一輸出資料)輸出予通道IO0~IO7。然而,當第二反相記憶胞的資料不為第二數值時,控制電路406透過控制信號RDR,命令讀取電路408直接輸出資料線DL
0~DL
7的資料予通道IO0~IO7。在一可能實施例中,當第二反相記憶胞的資料為第二數值時,控制電路406設定控制信號RDR為一高位準。當第二反相記憶胞的資料為第一數值時,控制電路406設定控制信號RDR為一低位準。
讀取電路408根據控制信號RDR,決定是否反相資料線DL
0~DL
7的資料。舉例而言,當控制信號RDR為一第一特定位準(如高位準)時,讀取電路408反相資料線DL
0~DL
7的資料,並輸出反相資料予通道IO0~IO7。然而,當控制信號RDR不為第一特定位準時,讀取電路408不反相資料線DL
0~DL
7的資料。在此例中,讀取電路408直接輸出資料線DL
0~DL
7的資料至通道IO0~IO7。
在其它實施例中,讀取電路408根據控制信號SC,決定是否提供輸出資料SDV0~SDV7予控制電路406。舉例而言,當控制信號SC為一第二特定位準(如低位準)時,讀取電路408不提供輸出資料SDV0~SDV7予控制電路406。此時,讀取電路408根據控制信號RDR,決定是否反相資料線DL
0~DL
7的資料。當控制信號SC不為第二特定位準時,讀取電路408提供輸出資料SDV0~SDV7予控制電路406。在一可能實施例中,讀取電路408具有一取樣維持電路(sample hold circuit),用以維持資料線DL
0~DL
7的資料。
第5A圖為本發明之記憶陣列的示意圖。如圖所示,記憶陣列500A包括記憶胞C
0,0~C
N-1,7,但並非用以限制本發明。在其它實施例中,記憶陣列500A具有更多或更少的記憶胞。每一列(水平方向)的記憶胞耦接同一字元線(word line),並耦接不同的位元線(bit line)。舉例而言,記憶胞C
0,0、C
0,1、C
0,2、C
0,3、C
0,4、C
0,5、C
0,6及C
0,7耦接字元線WL
0,並分別耦接位元線BL
0~BL
7。另外,每一行(垂直方向)的記憶胞耦接同一位元線,並耦接不同的字元線。舉例而言,記憶胞C
0,0C
1,0、…、C
N-2,0及C
N-1,0耦接位元線BL
0,並分別耦接字元線WL
0、WL
1、…、WL
N-2及WL
N-1。在一可能實施例中,位元線BL
0~BL
7作為資料線DL
0~DL
7。
在本實施例中,同一行的記憶胞的資料係由同一通道所輸出。舉例而言,記憶胞C
0,0、C
1,0、…、C
N-2,0及C
N-1,0的資料係由通道IO0所輸出,記憶胞C
0,1、C
1,1、…、C
N-2,1及C
N-1,1的資料係由通道IO1所輸出,記憶胞C
0,7、C
1,7、…、C
N-2,7及C
N-1,7的資料係由通道IO7所輸出。
在其它實施例中,記憶陣列500A更包括反相記憶胞RD
0~RD
N-1。反相記憶胞RD
0~RD
N-1分別耦接字元線WL
0~WL
N-1,並耦接位元線RBL。位元線RBL可作為反相資料線RDL。在本實施例中,反相記憶胞RD
0~RD
N-1的資料代表相對應的記憶胞的資料是否已經過一反相處理,舉例而言,當反相記憶胞RD
0的資料為第一數值(如0)時,表示與反相記憶胞RD
0耦接同一字元線(即WL
0)的記憶胞(如C
0,0、C
0,1、C
0,2、C
0,3、C
0,4、C
0,5、C
0,6及C
0,7)的資料並未經過反相處理。因此,記憶胞C
0,0、C
0,1、C
0,2、C
0,3、C
0,4、C
0,5、C
0,6及C
0,7的資料可直接透過通道IO0~IO7輸出。然而,當反相記憶胞RD
0的資料為第二數值(如1)時,表示與反相記憶胞RD
0耦接同一字元線(即WL
0)的記憶胞(如C
0,0、C
0,1、C
0,2、C
0,3、C
0,4、C
0,5、C
0,6及C
0,7)的資料已經過反相處理。因此,記憶胞C
0,0、C
0,1、C
0,2、C
0,3、C
0,4、C
0,5、C
0,6及C
0,7的資料需再經過反相處理後,才能透過通道IO0~IO7輸出。
第5B圖為本發明之記憶陣列的另一示意圖。如圖所示,記憶陣列500B包括記憶胞C
0,0,0~C
N-1,7,1。在每一列(水平方向)中,每一記憶胞耦接同一字元線,但耦接不同的位元線(bit line)。舉例而言,記憶胞C
0,0,0、C
0,0,1、C
0,1,0、C
0,1,1、…、C
0,6,0、C
0,6,1、C
0,7,0及C
0,7,1耦接字元線WL
0,並分別耦接位元線BL
00、BL
01、BL
10、BL
11、…、BL
60、BL
61、BL
70、BL
71。另外,在每一行(垂直方向)中,每一記憶胞耦接同一位元線,但耦接不同的字元線。舉例而言,記憶胞C
0,0,0、C
1,0,0、…、C
N-2,0,0、~C
N-1,0,0耦接位元線BL
00,並分別耦接字元線WL
0~WL
N-1。
在本實施例中,記憶陣列500B更包括多工器MUXB
0~MUXB
7。多工器MUXB
0~MUXB
7之每一者耦接一位元線組,其中每一位元線組具有一第一位元線以及一第二位元線。在此例中,多工器MUXB
0~MUXB
7之每一者根據一位址控制信號ADB,輸出第一或第二位元線的資料至相對應的資料線。
以多工器MUXB
0及MUXB
7為例,多工器MUXB
0耦接位元線BL
00及BL
01,並根據位址控制信號ADB輸出位元線BL
00(或稱第一位元線)或位元線BL
01(或稱第二位元線)的資料至資料線DL
0。在此例中,資料線DL
0的資料係由通道IO0輸出。另外,多工器MUXB
7耦接位元線BL
70及BL
71,並根據位址控制信號ADB輸出位元線BL
70(或稱第一位元線)或位元線BL
71(或稱第二位元線)的資料至資料線DL
7。在此例中,資料線DL
7的資料係由通道IO7輸出。在其它實施例中,多工器MUXB
0~MUXB
7之每一者所耦接的位元線組可能具有其它數量的位元線,如四條、八條或十六條位元線。在此例中,每一位元線只會連接一多工器。
在一可能實施例中,記憶陣列500B更包括反相記憶胞RD
0,0~RD
N-1,0、RD
0,1~RD
N-1,1以及多工器MUXB
R。反相記憶胞RD
0,0~RD
N-1,0耦接位元線RBL
00,並分別耦接字元線WL
0~WL
N-1。反相記憶胞RD
0,1~RD
N-1,1耦接位元線RBL
01,並分別耦接字元線WL
0~WL
N-1。由於反相記憶胞RD
0,0~RD
N-1,0與RD
0,1~RD
N-1,1的功用相同,故以下僅說明反相記憶胞RD
0,0~RD
N-1,0。
耦接位元線RBL
00的反相記憶胞RD
0,0~RD
N-1,0所儲存的資料用以表示多工器MUXB
0~MUXB
7所耦接的第一位元線(如BL
00、BL
10、…、BL
60及BL
70)的記憶胞的資料是否經過一反相處理。以反相記憶胞RD
0,0及RD
N-1,0為例,當反相記憶胞RD
0,0的資料為第一數值(如0)時,表示耦接字元線WL
0及第一位元線的記憶胞(如C
0,0,0、C
0,1,0、…、C
0,6,0及C
0,7,0)的資料並未經過反相處理。同樣地,當反相記憶胞RD
N-1,0的資料為第一數值時,表示耦接字元線WL
N-1及第一位元線的記憶胞(如C
N-1,0,0、C
N-1,1,0、…、C
N-1,6,0及C
N-1,7,0)的資料並未經過反相處理。
然而,當反相記憶胞RD
0,0的資料為第二數值(如1)時,表示耦接字元線WL
0及第一位元線的記憶胞(如C
0,0,0、C
0,1,0、…、C
0,6,0及C
0,7,0)的資料經過反相處理。同樣地,當反相記憶胞RD
N-1,0的資料為第二數值時,表示耦接字元線WL
N-1及第一位元線的記憶胞(如C
N-1,0,0、C
N-1,1,0、…、C
N-1,6,0及C
N-1,7,0)的資料經過反相處理。
在本實施例中,多工器MUXB
R耦接位元線RBL
00及RBL
01。多工器MUXB
R根據位址控制信號ADB輸出位元線RBL
00或RBL
01的資料至反相資料線RDL。舉例而言,當位址控制信號ADB為一第一位準(如低位準)時,多工器MUXB
R輸出位元線RBL
00的資料至反相資料線RDL。此時,多工器MUXB
0~MUXB
7分別輸出第一位元線(如BL
00、BL
10、…、BL
60及BL
70)的資料至資料線DL
0~DL
7。當位址控制信號ADB為一第二位準(如高位準)時,多工器MUXB
R輸出位元線RBL
01的資料至反相資料線RDL。此時,多工器MUXB
0~MUXB
7分別輸出第二位元線(如BL
01、BL
11、…、BL
61及BL
7)的資料至資料線DL
0~DL
7。
第6圖為本發明之讀取電路的示意圖。如圖所示,讀取電路600包括一放大模組602、一反相模組604以及一緩衝模組606。放大模組602用以放大資料線DL
0~DL
7的資料。在一可能實施例中,放大模組602包括感測放大器(sense amplifier)SA
0~SA
7以及多工器MUX
0~MUX
7。感測放大器SA
0~SA
7分別耦接資料線DL
0~DL
7,並放大資料線DL
0~DL
7的資料,用以產生原始資料SD0~SD7。多工器MUX
0~MUX
7根據控制信號SC,決定輸出原始資料SD0~SD7予控制電路406或是反相模組604。舉例而言,當控制信號SC為一第二特定位準(如低位準)時,多工器MUX
0~MUX
7將原始資料SD0~SD7作為輸出資料SDU0~SDU7,並提供輸出資料SDU0~SDU7予反相模組604。此時,反相模組604根據控制信號RDR,決定是否反相輸出資料SDU0~SDU7。當控制信號SC不為第二特定位準時,多工器MUX
0~MUX
7將原始資料SD0~SD7作為輸出資料SDV0~SDV7,並提供輸出資料SDV0~SDV7予控制電路406。在一可能實施例中,當控制信號SC不為第二特定位準時,多工器MUX
0~MUX
7提供輸出資料SDV0~SDV7予一取樣維持電路(未顯示),用以維持輸出資料SDV0~SDV7。因此,即使資料線DL
0~DL
7的資料改變,輸出資料SDV0~SDV7維持不變。
反相模組604根據控制信號RDR,決定是否反相輸出資料SDU0~SDU7。舉例而言,當控制信號RDR等於一第一特定位準時,反相模組604反相輸出資料SDU0~SDU7,用以產生反相資料,並輸出反相資料予緩衝模組606。然而,當控制信號RDR不等於第一特定位準時,反相模組604不反相輸出資料SDU0~SDU7。在此例中,反相模組604直接輸出輸出資料SDU0~SDU7予緩衝模組606。
在本實施例中,反相模組604包括反相器INV
0~INV
7以及選擇器SW
0~SW
7。反相器INV
0~INV
7用以反相輸出資料SDU0~SDU7。選擇器SW
0~SW
7接收反相器INV
0~INV
7所產生的反相資料以及多工器MUX
0~MUX
7所提供的輸出資料SDU0~SDU7,並根據控制信號RDR,決定輸出反相器INV
0~INV
7所產生的反相資料或是多工器MUX
0~MUX
7所提供的輸出資料SDU0~SDU7。舉例而言,當控制信號RDR等於一第一特定位準(如高位準)時,選擇器SW
0~SW
7輸出反相器INV
0~INV
7所產生的反相資料。當控制信號RDR不等於第一特定位準時,選擇器SW
0~SW
7輸出多工器MUX
0~MUX
7所提供的輸出資料SDU0~SDU7。本發明並不限定選擇器SW
0~SW
7的架構。在一可能實施例中,選擇器SW
0~SW
7之每一者係為多工器。
在另一可能實施例中,選擇器SW
0~SW
7之每一者具有一第一傳輸閘(transmission gate)以及一第二傳輸閘。在此例中,反相模組604更包括一反相器608。反相器608反相控制信號RDR,用以產生一反相信號/RDR。當控制信號RDR等於一第一特定位準(如高位準)時,由於反相信號/RDR不等於第一特定位準,故選擇器SW
0~SW
7的第一傳輸閘導通,用以輸出反相器INV
0~INV
7所產生的反相資料。然而,當控制信號RDR不等於第一特定位準(例如控制信號RDR為一低位準),由於反相信號/RDR等於第一特定位準(如高位準),故選擇器SW
0~SW
7的第二傳輸閘導通,用以輸出多工器MUX
0~MUX
7的輸出資料SDU0~SDU7。
緩衝模組606用以放大反相模組604的輸出資料的驅動能力。在本實施例中,緩衝模組606包括緩衝器(buffer)BF
0~BF
7。緩衝器BF
0~BF
7分別放大選擇器SW
0~SW
7的輸出,並將放大結果OD0~OD7提供予通道IO0~IO7。
第7圖為本發明之控制電路的示意圖。如圖所示,控制電路700包括一比較模組702、一寫入狀態機(write state machine)704以及一傳輸模組706。比較模組702用以比較輸出資料SDV0~SDV7與外部資料DIN0~DIN7,並產生比較結果C0~C7。在本實施例中,比較模組702包括邏輯閘G0~G7。邏輯閘G0~G7之每一者將輸出資料SDV0~SDV7之一者與外部資料DIN0~DIN7之一者作比較。舉例而言,邏輯閘G0比較輸出資料SDV0與外部資料DIN0,並產生比較結果C0。邏輯閘G1比較輸出資料SDV1與外部資料DIN1,並產生比較結果C1。在一可能實施例中,邏輯閘G0~G7係為互斥或閘(XOR)。
寫入狀態機704根據比較結果C0~C7,判斷輸出資料SDV0~SDV7的數值需由第一數值變化至第二數值的位元數量是否大於一預設值。當輸出資料SDV0~SDV7的數值需由第一數值變化至第二數值的位元數量未大於預設值時,寫入狀態機704直接將外部資料DIN0~DIN7作為寫入資料TWDIN0~TWDIN7,並輸出寫入資料TWDIN0~TWDIN7予傳輸模組706。然而,當輸出資料SDV0~SDV7的數值需由第一數值變化至第二數值的位元數量大於預設值時,寫入狀態機704反相外部資料DIN0~DIN7,並將反相結果作為寫入資料TWDIN0~TWDIN7輸出予傳輸模組706。
在本實施例中,寫入狀態機704更透過一感測放大器SA,讀取反相資料線RDL上的一特定反相記憶胞的資料。感測放大器SA放大特定反相記憶胞的資料,並產生一放大資料SDRD。在此例中,當寫入狀態機704直接將外部資料DIN0~DIN7作為寫入資料TWDIN0~TWDIN7時,寫入狀態機704判斷放大資料SDRD是否為一第一數值(如0),若是,寫入狀態機704可能不修改特定反相記憶胞的資料。然而,如果放大資料SDRD並非第一數值,寫入狀態機704設定寫入反相資料WRD為第一數值,並將寫入反相資料WRD寫入特定反相記憶胞。
在其它實施例中,當寫入狀態機704反相外部資料DIN0~DIN7,並將反相結果作為寫入資料TWDIN0~TWDIN7時,寫入狀態機704判斷放大資料SDRD是否為一第二數值(如1),若是,寫入狀態機704可能不修改特定反相記憶胞的資料。然而,如果放大資料SDRD並非第二數值,寫入狀態機704設定寫入反相資料WRD為第二數值,並將寫入反相資料WRD寫入特定反相記憶胞。
傳輸模組706根據控制信號SC決定是否傳送寫入資料TWDIN0~TWDIN7至資料線DL
0~DL
7。舉例而言,當控制信號SC為一第二特定位準(如低位準)時,傳輸模組706不傳送寫入資料TWDIN0~TWDIN7至資料線DL
0~DL
7,也不傳送寫入反相資料WRD予反相資料線RDL。當控制信號SC不為第二特定位準(例如控制信號SC為高位準)時,傳輸模組706傳送寫入資料TWDIN0~TWDIN7至資料線DL
0~DL
7,並傳送寫入反相資料WRD予反相資料線RDL。
本發明並不限定傳輸模組706的架構。在一可能實施例中,傳輸模組706具有複數傳輸閘。每一傳輸閘耦接於寫入狀態機704與單一資料線之間。當控制信號SC不為第二特定位準時,所有傳輸閘導通,用以傳送寫入資料TWDIN0~TWDIN7至資料線DL
0~DL
7。當控制信號SC為第二特定位準(如低位準)時,所有傳輸閘不導通,用以停止傳送寫入資料TWDIN0~TWDIN7至資料線DL
0~DL
7。在此例中,控制電路700更包括一反相器708。反相器708反相控制信號SC,並提供反相結果予傳輸模組706,用以控制傳輸模組706內部的傳輸閘。
本發明之存取方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之記憶體。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之記憶體。
除非另作定義,在此所有詞彙(包含技術與科學詞彙)均屬本發明所屬技術領域中具有通常知識者之一般理解。此外,除非明白表示,詞彙於一般字典中之定義應解釋為與其相關技術領域之文章中意義一致,而不應解釋為理想狀態或過分正式之語態。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。舉例來說,本發明實施例所述之系統、裝置或是方法可以硬體、軟體或硬體以及軟體的組合的實體實施例加以實現。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S101~S104、S201~S206、S301~S306:步驟
400:記憶體
402:解碼電路
404、500A、500B:記憶陣列
406、700:控制電路
408、600:讀取電路
ADR:位址
ADB:位址控制信號
WL
0~WL
N-1:字元線
RBL、BL
0~BL
7、RBL
00、RBL
0,1、BL
00~BL
71:位元線
RDL、DL
0~DL
7、RDL
00、RDL
1,1、DL
00~DL
71:資料線
DIN0~DIN7:外部資料
SD0~SD7:原始資料
SDU0~SDU7、SDV0~SDV7:輸出資料
SC、RDR:控制信號
IO0~IO7:通道
WR:致能信號
RD
0~RD
N-1、RD
00~RD
N-1,1:反相記憶胞
C
0,0~C
N-1,7、C
0,0,0~C
N-1,7,1:記憶胞
602:放大模組
604:反相模組
606:緩衝模組
SA、SA
0~SA
7:感測放大器
MUXB
R、MUXB
0~MUXB
7、MUX
0~MUX
7:多工器
INV
0~INV
7、608、708:反相器
SW
0~SW
7:選擇器
BF
0~BF
7:緩衝器
702:比較模組
704:寫入狀態機
706:傳輸模組
C0~C7:比較結果
G0~G7:邏輯閘
TWDIN0~TWDIN7:寫入資料
SDRD:放大資料
WRD:寫入反相資料
第1圖為本發明之存取方法的流程示意圖。
第2圖為本發明之寫入操作的流程示意圖。
第3圖為本發明之讀取操作的流程示意圖。
第4圖為本發明之記憶體的結構示意圖。
第5A圖為本發明之記憶陣列的示意圖。
第5B圖為本發明之記憶陣列的另一示意圖。
第6圖為本發明之讀取電路的示意圖。
第7圖為本發明之控制電路的示意圖。
S201~S206:步驟
Claims (20)
- 一種存取方法,適用於一記憶體,並包括: 接收一外部資料; 根據一寫入位址,讀取該記憶體的複數第一記憶胞,用以取得一第一原始資料; 比較該外部資料與該第一原始資料,用以判斷在該等第一記憶胞中,數值要由一第一數值變化至一第二數值的第一記憶胞數量是否大於一預設值; 在該等第一記憶胞中,數值要由該第一數值變化至該第二數值的第一記憶胞數量未大於該預設值時,寫入該外部資料至該等第一記憶胞,用以取代該第一原始資料;以及 在該等第一記憶胞中,數值要由該第一數值變化至該第二數值的第一記憶胞數量大於該預設值時,反相該外部資料,用以產生一反相資料,並寫入該反相資料至該等第一記憶胞,用以取代該第一原始資料。
- 如請求項1之存取方法,其中該第一數值為0,該第二數值為1。
- 如請求項1之存取方法,更包括: 在該等第一記憶胞中,數值要由該第一數值變化至該第二數值的第一記憶胞數量大於該預設值時,根據該寫入位址,設定一第一反相記憶胞的資料為該第二數值。
- 如請求項3之存取方法,其中該第一反相記憶胞與該等第一記憶胞耦接一第一字元線。
- 如請求項3之存取方法,更包括: 在該等第一記憶胞中,數值要由該第一數值變化至該第二數值的第一記憶胞數量未大於該預設值時,根據該寫入位址,設定該第一反相記憶胞的資料為該第一數值。
- 如請求項5之存取方法,更包括: 根據一第一讀取位址,讀取該記憶體的複數第二記憶胞,用以取得一第二原始資料; 根據該第一讀取位址,讀取一第二反相記憶胞; 判斷該第二反相記憶胞的資料是否為該第二數值; 當該第二反相記憶胞的資料為該第二數值時,反相該第二原始資料,用以產生一第一輸出資料;以及 當該第二反相記憶胞的資料不為該第二數值時,將該第二原始資料作為該第一輸出資料。
- 如請求項6之存取方法,其中該第二反相記憶胞與該等第二記憶胞耦接一第二字元線。
- 如請求項7之存取方法,更包括: 根據一第二讀取位址,讀取該記憶體的複數第三記憶胞,用以取得一第三原始資料; 根據該第二讀取位址,讀取一第三反相記憶胞; 判斷該第三反相記憶胞的資料是否為該第二數值; 當該第三反相記憶胞的資料為該第二數值時,反相該第三原始資料,用以產生一第二輸出資料;以及 當該第三反相記憶胞的資料不為該第二數值時,將該第三原始資料作為該第二輸出資料。
- 如請求項8之存取方法,其中該第三反相記憶胞與該等第三記憶胞耦接該第二字元線。
- 如請求項9之存取方法,其中該第二反相記憶胞及該第三反相記憶胞耦接不同的位元線。
- 一種記憶體,包括: 一記憶陣列; 一讀取電路,根據一寫入位址,讀取該記憶陣列的複數第一記憶胞,用以產生一第一原始資料;以及 一控制電路,比較一外部資料與該第一原始資料,用以判斷在該等第一記憶胞中,數值要由一第一數值變化至一第二數值的第一記憶胞數量是否大於一預設值; 其中,在該等第一記憶胞中,數值要由該第一數值變化至該第二數值的第一記憶胞數量未大於該預設值時,該控制電路寫入該外部資料至該等第一記憶胞; 其中,在該等第一記憶胞中,數值要由該第一數值變化至該第二數值的第一記憶胞數量大於該預設值時,該控制電路反相該外部資料,用以產生一反相資料,並寫入該反相資料至該等第一記憶胞。
- 如請求項11之記憶體,其中該第一數值為0,該第二數值為1。
- 如請求項11之記憶體,其中在該等第一記憶胞中,數值要由該第一數值變化至該第二數值的第一記憶胞數量大於該預設值時,該控制電路根據該寫入位址,設定該記憶陣列中一第一反相記憶胞的資料為該第二數值。
- 如請求項13之記憶體,其中該第一反相記憶胞與該等第一記憶胞耦接一第一字元線。
- 如請求項13之記憶體,其中在該等第一記憶胞中,數值要由該第一數值變化至該第二數值的第一記憶胞數量未大於該預設值時,該控制電路根據該寫入位址,設定該第一反相記憶胞的資料為該第一數值。
- 如請求項15之記憶體,其中該讀取電路根據一第一讀取位址,讀取該記憶陣列的複數第二記憶胞,用以取得一第二原始資料,該控制電路根據該第一讀取位址,讀取該記憶陣列的一第二反相記憶胞,該控制電路判斷該第二反相記憶胞的資料是否為該第二數值,當該第二反相記憶胞的資料為該第二數值時,該讀取電路反相該第二原始資料,用以產生一第一輸出資料,當該第二反相記憶胞的資料不為該第二數值時,該讀取電路將該第二原始資料作為該第一輸出資料。
- 如請求項16之記憶體,其中該第二反相記憶胞與該等第二記憶胞耦接一第二字元線。
- 如請求項17之記憶體,其中該讀取電路根據一第二讀取位址,讀取該記憶陣列的複數第三記憶胞,用以取得一第三原始資料,該控制電路根據該第二讀取位址,讀取一第三反相記憶胞,並判斷該第三反相記憶胞的資料是否為該第二數值,當該第三反相記憶胞的資料為該第二數值時,該讀取電路反相該第三原始資料,用以產生一第二輸出資料,當該第三反相記憶胞的資料不為該第二數值時,該讀取電路將該第三原始資料作為該第二輸出資料。
- 如請求項18之記憶體,其中該第三反相記憶胞與該等第三記憶胞耦接該第二字元線。
- 如請求項19之記憶體,其中該第二反相記憶胞及該第三反相記憶胞耦接不同的位元線。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109128029A TWI740609B (zh) | 2020-08-18 | 2020-08-18 | 存取方法及記憶體 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109128029A TWI740609B (zh) | 2020-08-18 | 2020-08-18 | 存取方法及記憶體 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI740609B true TWI740609B (zh) | 2021-09-21 |
TW202209121A TW202209121A (zh) | 2022-03-01 |
Family
ID=78778069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109128029A TWI740609B (zh) | 2020-08-18 | 2020-08-18 | 存取方法及記憶體 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI740609B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005210A1 (en) * | 2001-05-24 | 2003-01-02 | Thummalapally Damodar Reddy | Intelligent CAM cell for CIDR processor |
US7865805B1 (en) * | 2007-02-26 | 2011-01-04 | Lockheed Martin Corporation | Multiple bit upset insensitive error detection and correction circuit for field programmable gate array based on static random access memory blocks |
US7920413B2 (en) * | 2007-03-06 | 2011-04-05 | Electronics & Telecommunications Research Institute | Apparatus and method for writing data to phase-change memory by using power calculation and data inversion |
TWI490880B (zh) * | 2008-01-16 | 2015-07-01 | Micron Technology Inc | 資料匯流排反轉裝置、系統及方法 |
US10031792B2 (en) * | 2016-09-06 | 2018-07-24 | Renesas Electronics Corporation | Flash memory |
-
2020
- 2020-08-18 TW TW109128029A patent/TWI740609B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005210A1 (en) * | 2001-05-24 | 2003-01-02 | Thummalapally Damodar Reddy | Intelligent CAM cell for CIDR processor |
US7865805B1 (en) * | 2007-02-26 | 2011-01-04 | Lockheed Martin Corporation | Multiple bit upset insensitive error detection and correction circuit for field programmable gate array based on static random access memory blocks |
US7920413B2 (en) * | 2007-03-06 | 2011-04-05 | Electronics & Telecommunications Research Institute | Apparatus and method for writing data to phase-change memory by using power calculation and data inversion |
TWI490880B (zh) * | 2008-01-16 | 2015-07-01 | Micron Technology Inc | 資料匯流排反轉裝置、系統及方法 |
US10031792B2 (en) * | 2016-09-06 | 2018-07-24 | Renesas Electronics Corporation | Flash memory |
Also Published As
Publication number | Publication date |
---|---|
TW202209121A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20090082784A (ko) | Nvram 셀을 채용한 플래쉬 메모리 장치 | |
JP2005044456A5 (zh) | ||
JP2008536250A (ja) | Y−mux分割方法 | |
US5469400A (en) | Semiconductor memory device using serial pointer | |
JP2705590B2 (ja) | 半導体記憶装置 | |
US11967354B2 (en) | Memory device and operating method for target refresh operation based on number of accesses | |
JPH0636560A (ja) | 半導体記憶装置 | |
US10971212B2 (en) | Memory chip and control method thereof | |
TWI740609B (zh) | 存取方法及記憶體 | |
US20210158853A1 (en) | Method and apparatus for accumulating and storing respective access counts of word lines in memory module | |
KR100856828B1 (ko) | 리드 액세스와 라이트 액세스를 동시에 수행하는 메모리장치 | |
US6404693B1 (en) | Integrated circuit memory devices that select sub-array blocks and input/output line pairs based on input/output bandwidth, and methods of controlling same | |
US6937537B2 (en) | Semiconductor memory with address decoding unit, and address loading method | |
US11289136B1 (en) | Memory device and access method | |
JPH01125799A (ja) | 半導体記憶装置 | |
US9672890B2 (en) | Semiconductor memory apparatus | |
KR100540483B1 (ko) | 데이터 억세스 위치에 관계없이 연속적인 버스트 모드로 데이터를 억세스할 수 있는 반도체 메모리 장치 및 그의 구동방법 | |
CN114121060A (zh) | 存取方法及存储器 | |
US20230215484A1 (en) | Semiconductor memory device and operating method thereof | |
JP3129880B2 (ja) | 半導体記憶装置 | |
KR20100081156A (ko) | 면적 감소를 위한 구조를 갖는 반도체 장치, 및 이를 포함하는 반도체 시스템 | |
JPH11203889A (ja) | 半導体記憶装置 | |
KR100574918B1 (ko) | 메모리 테스트동안 데이터 기입 횟수를 줄일 수 있는 뱅크 선택 신호 발생 회로를 갖는 반도체 메모리 장치 및 이 반도체 메모리 장치의 테스트 방법 | |
CN100377257C (zh) | 半导体存储器件 | |
KR100942939B1 (ko) | 쓰기시간을 줄이는 반도체 메모리 소자 |