專利名稱:寫入多值數據的非易失性半導體存儲裝置的制作方法
技術領域:
本發明涉及非易失性半導體存儲裝置,特別涉及非易失性半導體存儲裝置的多值寫入技術。
背景技術:
近年來,非易失的能夠存儲數據的閃速(flash)存儲器等非易失性存儲裝置成為主流。為了確認是否正常地進行了閃速存儲器等非易失性存儲裝置的寫入,要進行校驗動作。
例如,在特開2001-312890號公報中,記載了以下的校驗動作。即,與一個比特線對應地連接一個頁緩存器P/B。各頁緩存器P/B對與選擇出的存儲器單元對應的程序數據進行鎖存。多個頁緩存器P/B經由列門(column gate)與讀出/寫入電路內的讀出放大器(senseamplifier)S/A0連接。在校驗讀出時,使用用于通常數據讀出的讀出放大器進行選擇出的列的讀出數據的檢測。通過讀出放大器S/A0檢測出的讀出數據,即校驗讀出結果被轉送到選擇出的列的頁緩存器P/B。根據該校驗讀出結果,改寫頁緩存器P/B內的程序數據。
但是,在向一個存儲器單元晶體管寫入多值的情況下,在為了確定存儲器單元的閾值是否位于希望的范圍內,而需要進行下裾(lowerfoot)校驗和上裾(upper foot)校驗的2次校驗時,由于根據一次的校驗讀出結果改寫頁緩存器內的程序數據,所以無法進行第二次的校驗。
發明內容
本發明的目的在于提供一種在向非易失性存儲器單元晶體管寫入多值時能夠適當地進行校驗的非易失性半導體存儲裝置。
本發明的一個方面的非易失性半導體存儲裝置具備以多個行列狀地配置了各自與閾值電壓對應地存儲N比特的邏輯值的非易失性的存儲器單元晶體管的存儲器陣列(array);在下裾校驗時,通過根據下裾校驗用的閾值電壓的區分,分2部分檢測地N次檢查選擇出的存儲器單元的閾值電壓的范圍,來輸出N比特的邏輯值,在上裾校驗時,通過根據上裾校驗用的閾值電壓的區分,分2部分檢測地N次檢查選擇出的存儲器單元的閾值電壓的范圍,來輸出N比特的邏輯值的存儲器陣列用讀出放大器;各N比特存儲向對應的存儲器單元寫入的目標值的第1緩存器;各N比特存儲確定了對對應的存儲器單元的處理的值的第2緩存器;在與選擇出的存儲器單元對應的第2緩存器內的比特表示第1值時,選擇寫入脈沖的施加的寫入驅動器;對從存儲器陣列用讀出放大器輸出的N比特的邏輯值、第1緩存器內的對應的N比特的寫入目標值進行比較,在比較結果一致時輸出表示校驗成功的信號,在比較結果不一致時輸出表示校驗失敗的信號的校驗電路,其中校驗電路在判斷出比較結果一致的情況下,在與選擇出的存儲器單元對應的第2緩存器內的比特表示第1值時,將比特改寫為第2值。
根據本發明的一個方面的非易失性半導體存儲裝置,在向非易失性存儲器單元晶體管寫入多值時,能夠適當地進行校驗。
通過以下的與附圖相關聯的對本發明的詳細說明,能夠了解本發明的上述以及其他目的、特征、方面和優點。
圖1是展示SLC的存儲器單元的閾值電壓Vth的分布的圖。
圖2是展示存儲器單元為SLC的閃速存儲器的寫入時序的流程圖。
圖3是展示存儲器單元為SLC的閃速存儲器的寫入時序中的頁緩存器內的與選擇出的存儲器單元對應的比特的存儲值的推移的圖。
圖4是展示實施例1的存儲器單元為MLC的非易失性半導體存儲裝置的結構的框圖。
圖5是展示MLC的存儲器單元的閾值電壓Vth的分布的圖。
圖6是展示通過虛擬(dummy)校驗而根據存儲在存儲器單元中的值和從外部提供的寫入目標值生成的新的寫入目標值的圖。
圖7是展示校驗電路17的詳細結構的圖。
圖8是展示實施例1中的寫入時序的流程圖。
圖9A和圖9B是展示寫入時序中的頁緩存器陣列11和屏蔽(mask)緩存器陣列12內的與選擇出的存儲器單元對應的比特的存儲值的推移的圖。
圖10是展示實施例2的非易失性半導體存儲裝置的結構的框圖。
圖11是展示校驗電路54的詳細結構的圖。
圖12是展示實施例2中的寫入時序的流程圖。
圖13是展示下裾校驗的定時時序的圖。
圖14是展示脈沖檢查校驗的定時時序的圖。
圖15是展示00數據轉送的定時時序的圖。
圖16是展示11數據轉送的定時時序的圖。
圖17是展示虛擬校驗的定時時序的圖。
圖18是展示屏蔽緩存器數據轉送的定時時序的圖。
圖19是展示閃速成對頁緩存器轉送的定時時序的圖。
圖20是展示閃速成對頁緩存器反轉轉送的定時時序的圖。
具體實施例方式
以下,使用
本發明的實施例。
本實施例涉及具有屏蔽緩存器和頁緩存器的非易失性半導體存儲裝置。
首先,在說明本實施例的非易失性半導體存儲裝置之前,說明閃速存儲器單元。
閃速存儲器單元由具有浮置柵(floating gate)、控制柵、源極和漏極的晶體管構成。控制柵與用于選擇存儲器單元的字線WL連接。源極和漏極分別與源極線SL和比特線BL連接。
通過施加寫入脈沖,而利用通道加熱電子(CHE)向浮置柵注入電子使閾值電壓上升,來向閃速存儲器單元寫入數據。
通過預先對比特線進行預充電,對與控制柵結合的字線進行能夠提供一定電壓的規定時間存儲器放電,由此檢測流過比特線的電流的大小,從而從閃速存儲器單元中讀出數據。
(存儲器單元是SLC的閃速存儲器)圖1展示了SLC(Single Level Cell)的閃速存儲器單元的閾值電壓Vth的分布。在該圖中,橫軸表示度數(存儲器單元的個數)。如該圖所示,對于每個存儲器單元,閾值電壓是離散的。因此,考慮到這樣的離散,可以使邏輯值與各個存儲器單元所具有的閾值電壓對應。即,使閾值電壓屬于大于等于“0”下裾的范圍內的存儲器單元與邏輯值“0”對應,使閾值電壓屬于大于等于“1”下裾并且小于等于“1”上裾的范圍內的存儲器單元與邏輯值“1”對應。因此,在存儲器單元中,與閾值電壓對應地存儲“0”或“1”的2值數據。
(存儲器單元是SLC的閃速存儲器的寫入時序)圖2是展示存儲器單元是SLC的閃速存儲器的寫入時序的流程圖。
在步驟S101中,向存儲器單元晶體管的柵極施加規定電壓的規定脈沖寬度的寫入脈沖。
在步驟S102中,進行存儲器單元的閾值電壓Vth的下裾校驗。即,判斷存儲器單元的閾值電壓Vth是否大于等于“0”下裾電平(=V_0L)。具體地說,向存儲器單元提供校驗用柵極電壓,在這時流過存儲器單元的電流值Im小于等于在“0”下裾電平下流過的電流值Is時,判斷為閾值電壓Vth大于等于“0”下裾電平,在電流值Im超過電流值Is時,判斷為閾值電壓Vth小于“0”下裾電平。
通過反復進行步驟S101和步驟S102,來增加寫入脈沖的施加次數,增加存儲器單元的閾值電壓Vth。然后,針對增加的閾值電壓Vth,進行下裾校驗。
然后,在步驟S102中,在閾值電壓Vth大于等于“0”下裾電平(V_0L)時,結束對該存儲器單元的寫入。
(存儲器單元是SLC的閃速存儲器的頁緩存器)圖3是展示存儲器單元是SLC的閃速存儲器的寫入時序中的頁緩存器內的與選擇出的存儲器單元對應的比特的存儲值的推移的圖。
如該圖所示,頁緩存器的各比特存儲用來確定是否向對應的存儲器單元施加寫入脈沖的脈沖施加指示值。在脈沖施加指示值為“0”時,施加寫入脈沖,在脈沖施加指示值為“1”時,不施加寫入脈沖。
從外部提供頁緩存器的各比特的脈沖施加指示值的初始值。向脈沖施加指示值為“0”的存儲器單元施加寫入脈沖,存儲器單元的閾值Vth上升。在某存儲器單元的閾值Vth大于等于“0”下裾電平(V 0L)時,結束對該存儲器單元的寫入,將頁緩存器內的與該存儲器單元對應的比特的脈沖施加指示值改寫為“1”。
最終,在頁緩存器內的所有比特的脈沖施加指示值成為“1”時,結束對閃速存儲器的寫入。
(實施例1的非易失性半導體存儲裝置)圖4是展示實施例1的存儲器單元為MLC的非易失性半導體存儲裝置100的結構的框圖。參照該圖,該非易失性半導體存儲裝置100具備存儲器陣列21、寫入驅動器和32比特到64比特轉換電路19、存儲器陣列用讀出放大器20、頁緩存器和外圍電路組24、屏蔽緩存器和外圍電路組25、校驗電路17、頁緩存器/屏蔽緩存器用控制電路18、CPU26、CUI27、OSC28。
OSC28生成內部時鐘信號ICLK。
CPU26接受來自OSC28的內部時鐘信號ICLK,進行非易失性半導體存儲裝置的整體控制。
CUI27接受從外部提供的數據信號,并分配給內部的各構成要素。
存儲器陣列21包含配置為行列狀的多個閃速存儲器用的存儲器單元晶體管。各存儲器單元晶體管是MLC(Multi Level Cell)。
圖5展示了MLC的存儲器單元的閾值電壓Vth的分布。在該圖中,橫軸表示度數(存儲器單元的個數)。如該圖所示,對于每個存儲器單元,閾值電壓是離散的。因此,考慮到這樣的離散,可以使邏輯值與各個存儲器單元所具有的閾值電壓對應。即,使閾值電壓Vth屬于大于等于“11”下裾(V_11L)并且小于等于“11”上裾(V_11H)的范圍內的存儲器單元與邏輯值“11”對應,使閾值電壓Vth屬于大于等于“10”下裾(V_10L)并且小于等于“10”上裾(V_10H)的范圍內的存儲器單元與邏輯值“10”對應,使閾值電壓Vth屬于大于等于“01”下裾(V_01L)并且小于等于“01”上裾(V_01H)的范圍內的存儲器單元與邏輯值“01”對應,使閾值電壓Vth屬于大于等于“00”下裾(V_00L)的范圍內的存儲器單元與邏輯值“00”對應。因此,在存儲器單元中,與閾值電壓Vth對應地存儲“11”、“10”、“01”或“00”的4值數據。
存儲器陣列21的存儲器單元通過未圖示的地址解碼器,選擇32個列。
存儲器陣列用讀出放大器20檢查選擇出的32個存儲器單元的閾值,串行地輸出第1讀出數據(sense data)和第2讀出數據。在下裾校驗時,通過根據下裾校驗用閾值電壓的區分,分2部分檢測地2次檢查選擇出的32個存儲器單元各自的閾值電壓的范圍,來輸出2比特的邏輯值(第1讀出數據和第2讀出數據),在上裾校驗時,通過根據上裾校驗用的閾值電壓的區分,分2部分檢測地2次檢查選擇出的32個存儲器單元各自的閾值電壓的范圍,來串行地輸出2比特的邏輯值(第1讀出數據和第2讀出數據)。
頁緩存器和外圍電路組24具備頁緩存器陣列11、Y柵極22、頁緩存器用讀出放大器和寫入驅動器13、64比特到32比特轉換電路15。
頁緩存器陣列11由各單元保存2值(0或1)的SRAM(靜態隨機訪問存儲器)構成。頁緩存器陣列11的各單元保存對應的存儲器陣列21的存儲器單元的高位比特的寫入目標值或低位比特的寫入目標值。
Y柵極22將與存儲器陣列21的選擇出的32個存儲器單元對應的頁緩存器陣列11的64個單元、頁緩存器用讀出放大器和寫入驅動器13連接起來。
頁緩存器用讀出放大器和寫入驅動器13對經由Y柵極22從頁緩存器陣列11的64個單元輸出的64比特的數據進行放大,并發送到64比特到32比特轉換電路15。另外,頁緩存器用讀出放大器和寫入驅動器13經由Y柵極22將從64比特到32比特轉換電路15輸出的64比特的數據寫入到頁緩存器陣列11的64個單元中。
64比特到32比特轉換電路15分2次每次32比特地將從頁緩存器用讀出放大器和寫入驅動器13輸出的64比特的數據輸出到校驗電路17。另外,64比特到32比特轉換電路15每次從校驗電路17接受32比特的數據,每2次接受64比特的數據,并輸出到頁緩存器用讀出放大器和寫入驅動器13。
屏蔽緩存器和外圍電路組25具備屏蔽緩存器陣列12、Y柵極23、屏蔽緩存器用讀出放大器和寫入驅動器14、32比特到16比特轉換電路16。
屏蔽緩存器陣列12的各單元由各單元保存2值(0或1)的SRAM構成。屏蔽緩存器陣列12的各單元保存與對應的存儲器單元對應的脈沖施加指示值。
Y柵極23將與存儲器陣列21的選擇出的32個存儲器單元對應的屏蔽緩存器陣列12的32個單元、屏蔽緩存器用讀出放大器和寫入驅動器14連接起來。
屏蔽緩存器用讀出放大器和寫入驅動器14對經由Y柵極23從屏蔽緩存器陣列12的32個單元輸出的32比特的數據進行放大,并發送到32比特到16比特轉換電路16。另外,屏蔽緩存器用讀出放大器和寫入驅動器14經由Y柵極23將從32比特到16比特轉換電路16輸出的32比特的數據寫入到屏蔽緩存器陣列12的32個單元中。
32比特到16比特轉換電路16分2次每次16比特地將從屏蔽緩存器用讀出放大器和寫入驅動器14輸出的32比特的數據輸出到校驗電路17。另外,32比特到16比特轉換電路16每次從校驗電路17接受16比特的數據,每2次接受32比特的數據,并輸出到屏蔽緩存器用讀出放大器和寫入驅動器14。
寫入驅動器和32比特到64比特轉換電路19的32比特到64比特轉換電路每2次從屏蔽緩存器讀出放大器14接受32比特的數據,并作為64比特的數據發送到寫入驅動器。這樣將32比特的數據轉換為64比特的數據是為了在向存儲器陣列21進行寫入時,選擇作為2次讀出的對象的64個存儲器單元,而謀求寫入的高速化。寫入驅動器和32比特到64比特轉換電路19的寫入驅動器在表示脈沖施加指示值的各比特的數據為“0”時,向存儲器陣列21的選擇出的存儲器單元,施加在未圖示的電壓控制電路中生成的寫入脈沖。
頁緩存器/屏蔽緩沖器用控制電路18控制校驗電路17。
校驗電路17在上裾校驗和下裾校驗的基礎上,還進行虛擬校驗。
虛擬校驗就是根據存儲在存儲器陣列21的存儲器單元中的邏輯值、從外部向頁緩存器陣列提供的寫入目標值,生成新的寫入目標值,并將新的寫入目標值轉送到頁緩存器陣列。
圖6展示了通過虛擬校驗根據存儲在存儲器單元中的邏輯值和從外部提供的寫入目標值生成的新的寫入目標值。如該圖所示,新的寫入目標值是存儲在存儲器單元中的邏輯值和從外部提供的寫入目標值的邏輯與。這樣采用邏輯與(AND運算)是由于以下的理由。
首先,在存儲在存儲器單元中的邏輯值為“0”,從外部提供的寫入目標值為“0”時,存儲器單元的邏輯值不需要變更而保持現狀,因此新的寫入目標值是從外部提供的寫入目標值“0”。
另外,在存儲在存儲器單元中的邏輯值為“1”,從外部提供的寫入目標值為“1”時,存儲器單元的邏輯值不需要變更而保持現狀,因此新的寫入目標值是從外部提供的寫入目標值“1”。
另一方面,在存儲在存儲器單元中的邏輯值為“1”,從外部提供的寫入目標值為“0”時,可以通過施加寫入脈沖來提高存儲器單元的閾值,能夠將存儲器單元的邏輯值從“1”變更為“0”。因此,新的寫入目標值是從外部提供的寫入目標值“0”。
另一方面,在存儲在存儲器單元中的邏輯值為“0”,從外部提供的寫入目標值為“1”時,可以通過施加寫入脈沖來降低存儲器單元的閾值,能夠將存儲器單元的邏輯值從“0”變更為“1”。因此,新的寫入目標值是存儲在存儲器單元中的現狀的邏輯值“0”。
圖7展示了校驗電路17的詳細結構。參照該圖,該校驗電路17具備鎖存部件31、EXNOR部件32、目標單元數據生成部件33、2比特比較部件34、校驗判斷部件35。
鎖存部件31對以下數據進行鎖存從存儲器陣列用讀出放大器20發送出的32比特的第1讀出數據;從存儲器陣列用讀出放大器20發送出的32比特的第2讀出數據;從頁緩存器陣列11發送出的32比特的高位比特的寫入目標值;從頁緩存器陣列11發送出的32比特的低位比特的寫入目標值;從屏蔽緩存器陣列12發送出的32比特的脈沖施加指示值。
EXNOR部件32針對32比特中的各比特,如果從鎖存部件31輸出的第1讀出數據、從鎖存部件31輸出的高位比特的寫入目標值一致,則向第1比特輸出“1”,如果不一致,則向第1比特輸出“0”。另外,EXNOR部件32針對32比特中的各比特,如果從鎖存部件31輸出的第2讀出數據、從鎖存部件31輸出的低位比特的寫入目標值一致,則向第2比特輸出“1”,如果不一致,則向第2比特輸出“0”。
2比特比較部件34針對32比特中的各比特,在第1讀出數據和高位比特的寫入目標值一致,并且第2讀出數據和低位比特的寫入目標值一致時,或者在脈沖施加指示值為“1”時,輸出“1”。該輸出通過選擇器S2分2次每次16比特地發送到屏蔽緩存器陣列12的對應的比特中。
校驗判斷部件35只在2比特比較部件34輸出的32比特的數據都是“1”時,輸出表示校驗通過的校驗判斷信號DIHVPASS。
目標單元數據生成部件33針對32比特中的各比特,計算出從鎖存部件31輸出的第1讀出數據、從鎖存部件31輸出的高位比特的寫入目標值的邏輯與。該邏輯與被發送到頁緩存器陣列11的對應的比特中。另外,目標單元數據生成部件33針對32比特中的各比特,計算出從鎖存部件31輸出的第2讀出數據、從鎖存部件31輸出的低位比特的寫入目標值的邏輯與。該邏輯與被發送到頁緩存器陣列11的對應的比特中。
(寫入時序)接著,說明本實施例的非易失性半導體存儲裝置的寫入時序。圖8是展示實施例1的寫入時序的流程圖。
參照該圖,在步驟S201中,經由Y柵極23、屏蔽緩存器用讀出放大器部件14和寫入數據總線WDATA,將屏蔽緩存器陣列12的與選擇出的32個存儲器單元對應的32比特的脈沖施加指示值發送到寫入驅動器和32比特到64比特轉換電路19。寫入驅動器和32比特到64比特轉換電路的寫入驅動器部件向與脈沖施加指示值為“0”的比特對應的存儲器單元施加在未圖示的電壓控制電路中生成的寫入脈沖。
在步驟S202中,如下那樣進行選擇出的32個存儲器單元的閾值電壓Vth的下裾校驗。
首先,判斷閾值電壓Vth是否大于等于“01”下裾電平(=V_01L)。具體地說,存儲器陣列用讀出放大器20檢測出在向各存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“01”下裾電平(=V_01L)時流過的電流值Is(=I_01L)。存儲器陣列用讀出放大器20作為第1讀出數據,通過讀出數據總線RDATA,在電流量Im小于等于電流值Is時向校驗電路17輸出“0”,在電流量Im超過電流值Is時向校驗電路17輸出“1”。
在電流量Im小于等于電流值Is時,進而判別閾值電壓Vth是否大于等于“00”下裾電平(=V_00L)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“00”下裾電平(=V_00L)時流過的電流值Is(=I_00L)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀出數據總線RDATA,在電流量Im小于等于電流值Is時向校驗電路17輸出“0”,在電流量Im超過電流值Is時向校驗電路17輸出“1”。
另一方面,在電流量Im超過電流值Is時,判別閾值電壓Vth是否大于等于“10”下裾電平(=V_10L)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“10”下裾電平(=V_10L)時流過的電流值Is(=I_10L)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀出數據總線RDATA,在電流量Im小于等于電流值Is時向校驗電路17輸出“0”,在電流量Im超過電流值Is時向校驗電路17輸出“1”。
另一方面,經由Y柵極22和頁緩存器用讀出放大器13,將保存在頁緩存器陣列11中的選擇出的32個存儲器單元的高位和低位比特的寫入目標值發送到64比特到32比特轉換電路15。
64比特到32比特轉換電路15首先將32比特的高位比特的寫入目標值發送到校驗電路17。校驗電路17針對每個比特,檢查第1讀出數據和高位比特的寫入目標值是否一致。接著,64比特到32比特轉換電路15將32比特的低位比特的寫入目標值發送到校驗電路17。校驗電路17針對各比特,檢查第2讀出數據和低位比特的寫入目標值是否一致。
校驗電路17針對第1讀出數據和高位比特的寫入目標值一致,并且第2讀出數據和低位比特的寫入目標值一致的比特,將屏蔽緩存器陣列12內的對應的比特設置為“1”。
校驗電路17針對所有32比特,在第1讀出數據和高位比特的寫入目標值一致,并且第2讀出數據和低位比特的寫入目標值一致時,向CPU26發送表示下裾校驗通過(成功)的校驗判斷信號DIHVPASS,CPU26轉移到步驟203的處理。另一方面,校驗電路17針對所有32比特,在不一致時,向CPU26發送表示下裾校驗失敗的校驗判斷信號DIHVPASS,CPU26重復進行步驟S201和步驟S202。
在步驟S203中,如下那樣進行選擇出的32個存儲器單元的閾值電壓Vth的上裾校驗。
首先,判斷閾值電壓Vth是否小于等于“10”上裾電平(=V_10H)。具體地說,存儲器陣列用讀出放大器20檢測出在向各存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否大于等于在閾值電壓Vth為“10”上裾電平(=V_10H)時流過的電流值Is(=I_10H)。存儲器陣列用讀出放大器20作為第1讀出數據,通過讀出數據總線RDATA,在電流量Im大于等于電流值Is時向校驗電路17輸出“1”,在電流量Im小于電流值Is時向校驗電路17輸出“0”。
在電流量Im小于電流值Is時,進而判斷閾值電壓Vth是否小于等于“01上裾電平(=V_01H)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否大于等于在閾值電壓Vth為“01”上裾電平(=V_01H)時流過的電流值Is(=I_01H)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀出數據總線RDATA,在電流量Im大于等于電流值Is時向校驗電路17輸出“1”,在電流量Im小于電流值Is時向校驗電路17輸出“0”。
另一方面,在電流量Im大于等于電流值Is時,判斷閾值電壓Vth是否小于等于“11”上裾電平(=V_11H)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否大于等于在閾值電壓Vth為“11”上裾電平(=V_11H)時流過的電流值Is(=I_11H)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀出數據總線RDATA,在電流量Im大于等于電流值Is時向校驗電路17輸出“1”,在電流量Im小于電流值Is時向校驗電路17輸出“0”。
另一方面,經由Y柵極22和頁緩存器用讀出放大器13,將保存在頁緩存器陣列11中的選擇出的32個存儲器單元的高位和低位比特的寫入目標值發送到64比特到32比特轉換電路15。
64比特到32比特轉換電路15首先將32比特的高位比特的寫入目標值發送到校驗電路17。校驗電路17針對每個比特,檢查第1讀出數據和高位比特的寫入目標值是否一致。接著,64比特到32比特轉換電路15將32比特的低位比特的寫入目標值發送到校驗電路17。校驗電路17針對各比特,檢查第2讀出數據和低位比特的寫入目標值是否一致。
校驗電路17針對所有32比特,在第1讀出數據和高位比特的寫入目標值一致,并且第2讀出數據和低位比特的寫入目標值一致時,向CPU26發送表示上裾校驗通過(成功)的校驗判斷信號DIHVPASS,CPU26結束存儲器單元的寫入時序。另一方面,校驗電路17針對所有32比特,在不一致時,向CPU26發送表示上裾校驗FAIL(失敗)的校驗判斷信號DIHVPASS,CPU26異常結束寫入時序。
(頁緩存器和屏蔽緩存器的各比特的轉移)圖9A和圖9B展示了寫入時序中的頁緩存器陣列11和屏蔽緩存器陣列12內的與選擇出的存儲器單元對應的比特的存儲值的推移。如該圖所示,屏蔽緩存器陣列的32比特保存確定了是否向對應的32個存儲器單元施加寫入脈沖后的脈沖施加指示值,并在寫入時序中變化。在脈沖施加指示值為“0”時施加寫入脈沖,在脈沖施加指示值為“1”時不施加寫入脈沖。
向屏蔽緩存器陣列12的脈沖施加指示值為0的存儲器陣列施加寫入脈沖,存儲器單元的閾值Vth上升。在某存儲器單元的閾值Vth的下裾校驗通過了的時候,結束向該存儲器單元的寫入,將與該存儲器單元對應的屏蔽緩存器陣列12內的脈沖施加指示值改寫為“1”。
最終,在存儲在屏蔽緩存器陣列12中的與選擇出的32個存儲器單元對應的32比特中的脈沖施加指示值全部為“1”時,寫入時序結束。
另一方面,頁緩存器陣列11的各2比特保存應該寫入到對應的存儲器單元的高位比特的寫入目標值和低位比特的寫入目標值,并在寫入時序中沒有變化。
在下裾校驗時,對頁緩存器陣列11的2比特(高位比特和低位比特)、從存儲器陣列用讀出放大器20輸出的低位校驗用的2比特(第1讀出數據和第2讀出數據)進行比較,在相同時判斷為對應的存儲器單元的下裾校驗通過,在不同時判斷為該存儲器單元的下裾校驗失敗。
另外,在上裾校驗時,也對頁緩存器陣列11的2比特(高位比特和低位比特)、從存儲器陣列用讀出放大器20輸出的高位校驗用的2比特(第1讀出數據和第2讀出數據)進行比較,在相同時判斷為對應的存儲器單元的上裾校驗通過,在不同時判斷為該存儲器單元的上裾校驗失敗。
(下裾校驗時的動作)接著,說明校驗電路17中的下裾校驗時的詳細動作。
首先,存儲器陣列用讀出放大器20讀出32比特的第1讀出數據并輸出到讀出數據總線RDATA。鎖存部件31的鎖存器L1與時鐘CLK1同步地保存32比特的第1讀出數據。另外,頁緩存器陣列11輸出32比特的高位比特的寫入目標值,鎖存部件31的鎖存器L3與時鐘CLK1同步地保存32比特的高位比特的寫入目標值。
接著,存儲器陣列用讀出放大器20讀出32比特的第2讀出數據并輸出到讀出數據總線RDATA。鎖存部件31的鎖存器L2與時鐘CLK2同步地保存32比特的第2讀出數據。另外,頁緩存器陣列11輸出32比特的低位比特的寫入目標值,鎖存部件31的鎖存器L4與時鐘CLK2同步地保存32比特的低位比特的寫入目標值。
EXNOR部件32的反轉異或電路E1接受鎖存器L1的輸出和鎖存器L3的輸出,針對各比特,在第1讀出數據和高位比特的寫入目標值一致時輸出“1”,在不一致時輸出“0”。另外,EXNOR部件32的反轉異或電路E2接受鎖存器L2的輸出和鎖存器L4的輸出,針對各比特,在第2讀出數據和低位比特的寫入目標值一致時輸出“1”,在不一致時輸出“0”。
2比特比較部件34的與電路A3接受反轉異或電路E1的輸出和反轉異或電路E2的輸出,針對各比特,只在第1讀出數據和高位比特的寫入目標值一致,并且第2讀出數據和低位比特的寫入目標值一致時,輸出“1”。
另一方面,屏蔽緩存器陣列12輸出第16~第31比特的16比特的脈沖施加指示值,鎖存部件31的鎖存器L5與時鐘CLK1同步地保存第16~第31比特的16比特的脈沖施加指示值。2比特比較部件34的或電路O1接受與電路A3的輸出的第16~第31比特的16比特、鎖存器L5的輸出,針對各比特,在第1讀出數據和高位比特的寫入目標值一致,并且第2讀出數據和低位比特的寫入目標值一致時,或者脈沖施加指示值為“1”(寫入結束)時,輸出“1”。選擇器S2選擇或電路O1的輸出,并輸出到屏蔽緩存器陣列12的第16~第31比特。
接著,屏蔽緩存器陣列12輸出第0~第15比特的16比特的脈沖施加指示值,鎖存部件31的鎖存器L6與時鐘CLK2同步地保存第0~第15比特的16比特的脈沖施加指示值。2比特比較部件34的或電路O2接受與電路A3的輸出的第0~第15比特的16比特、鎖存器L6的輸出,針對各比特,在第1讀出數據和高位比特的寫入目標值一致,并且第2讀出數據和低位比特的寫入目標值一致時,或者脈沖施加指示值為“1”(寫入結束)時,輸出“1”。選擇器S2選擇或電路O2的輸出,并輸出到屏蔽緩存器陣列12的第0~第15比特。
另外,校驗判斷部件35接受或電路O1的輸出和或電路O2的輸出,針對所有32比特,在第1讀出數據和高位比特的寫入目標值一致,并且第2讀出數據和低位比特的寫入目標值一致時,或者脈沖施加指示值為“1”(寫入結束)時,將校驗判斷信號DHVPASS設置為“1”。
(上裾校驗時的動作)上裾檢驗時從存儲器陣列用讀出放大器20發送的第1讀出數據和第2讀出數據如上所述與下裾檢驗時不同。另一方面,校驗電路17中的上裾校驗的動作與下裾校驗的動作一樣。因此,不再重復說明校驗電路17的上裾校驗時的動作。
(虛擬校驗時的動作)接著,說明校驗電路17中的虛擬校驗時的詳細動作。
存儲器陣列用讀出放大器20讀出32比特的第1讀出數據并輸出到數據總線RDATA。鎖存部件31的鎖存器L1與時鐘CLK1同步地保存32比特的第1讀出數據。另外,頁緩存器陣列11輸出32比特的高位比特的寫入目標值,鎖存部件31的鎖存器L3與時鐘CLK1同步地保存32比特的高位比特的寫入目標值。
目標單元數據生成部件33的與電路A2接收鎖存器L1的輸出和鎖存器L3的輸出,針對各比特,只在第1讀出數據和高位比特的寫入目標值都為“1”時輸出“1”。選擇器S1將與電路A2的輸出輸出到頁緩存器陣列11的存儲了高位比特的寫入目標值的比特中。
接著,存儲器陣列用讀出放大器20讀出32比特的第2讀出數據并輸出到數據總線RDATA。鎖存部件31的鎖存器L2與時鐘CLK2同步地保存32比特的第2讀出數據。另外,頁緩存器陣列11輸出32比特的低位比特的寫入目標值,鎖存部件31的鎖存器L4與時鐘CLK2同步地保存32比特的低位比特的寫入目標值。
接著,目標單元數據生成部件33的與電路A1接收鎖存器L2的輸出和鎖存器L4的輸出,針對各比特,只在第2讀出數據和低位比特的寫入目標值都為“1”時輸出“1”。選擇器S1將與電路A1的輸出輸出到頁緩存器陣列11的存儲了低位比特的寫入目標值的比特中。
如上所述,根據本實施例的非易失性半導體存儲裝置,具備屏蔽緩存器和頁緩存器2個緩存器,如果下裾校驗通過,則改寫屏蔽緩存器內的脈沖施加指示值,但頁緩存器內的寫入目標值不變化,因此不只是下裾校驗,也能夠進行上裾校驗,在向非易失性存儲器單元晶體管進行多值寫入時,能夠適當地進行校驗。
本實施例涉及具有與實施例1一樣的屏蔽緩存器和頁緩存器的高速并且面積小的非易失性半導體存儲裝置。
(整體構成)圖10是展示實施例2的非易失性半導體存儲裝置的構成的框圖。參照該圖,該非易失性半導體存儲裝置具備存儲器陣列21、寫入驅動器和32比特到64比特轉換電路19、存儲器陣列用讀出放大器20、選擇器55、頁緩存器/屏蔽緩存器陣列51、Y柵極52、校驗電路54、頁緩存器/屏蔽緩存器用控制電路53、CPU26、CUI27、OSC28。
存儲器陣列21、寫入驅動器和32比特到64比特轉換電路19、存儲器陣列用讀出放大器20與實施例1一樣,在此不再重復說明。
CUI27接收從外部提供的數據信號,并分配給內部的各構成要素。
OSC28生成能夠從外部設置的與未圖示的寄存器的設置值對應的周期的內部時鐘信號ICLK。
CPU26接收來自OSC28的內部時鐘信號ICLK,進行非易失性半導體存儲裝置的整體控制。
頁緩存器/屏蔽緩存器陣列51是具有頁緩存器部件和屏蔽緩存器部件的陣列。頁緩存器部件與實施例1的頁緩存器一樣,屏蔽緩存器部件與實施例1的屏蔽緩存器一樣。屏蔽緩存器部件的各比特在下裾校驗時與實施例1一樣,存儲確定是否向對應的存儲器單元施加寫入脈沖的脈沖施加指示值。在脈沖施加指示值為“0”時表示寫入未結束,即表示校驗判斷還未成功,在脈沖施加指示值為“1”時表示寫入結束,即表示校驗判斷已經成功。另一方面,屏蔽緩存器部件的各比特在上裾校驗時與對應的存儲器單元的上裾校驗的結果無關地自動存儲確定了是否PASS(成功)的值。在該值為“1”時自動地成為PASS(成功)。因此,在實施例2中,不將屏蔽緩存器部件的數據稱為脈沖施加指示值,而稱為校驗判斷值。
Y柵極52與頁緩存器/屏蔽緩存器陣列51的選擇出的列的校驗電路54連接。
存儲器陣列用讀出放大器20串行地將第1讀出數據和第2讀出數據通過讀寫數據總線RWDATA轉送到校驗電路54。
校驗電路54在寫入時,通過讀寫數據總線RWDATA,將保存在屏蔽緩存器部件中的值轉送到寫入驅動器和32比特到64比特轉換電路19的寫入驅動器部件。
因此,在校驗電路54和寫入驅動器和32比特到64比特轉換電路之間、以及校驗電路54和存儲器陣列用讀出放大器20之間,通過作為讀出和寫入兼用總線的讀寫數據總線RWDATA進行連接。
選擇器55利用從校驗電路54向寫入驅動器和32比特到64比特轉換電路19的數據轉送、從存儲器陣列用讀出放大器20向校驗電路54的數據轉送的任意一個。
另外,頁緩存器/屏蔽緩存器用控制電路53根據在OSC28中生成的內部時鐘ICLK,生成控制圖11的校驗電路54的信號,例如控制校驗電路54內的讀出放大器部件62的比特線對的放大的信號(SAN、ISAP)、控制校驗電路54內的比特線對的預充電的信號(IPCBL_SA、IPCSA)、控制校驗電路內的鎖存部件63的比特線對的鎖存的信號(ITRANSA、ITRANISA、PRESET、IRESET00、IPBWRT)、控制讀出放大器部件62和EXNOR部件61的連接的信號(ISAI)、將鎖存部件63的數據轉送到頁緩存器部件或屏蔽緩存器部件的信號IDRV等,并發送到校驗電路54。
校驗電路54與實施例1一樣,具有下裾校驗、上裾校驗和虛擬校驗的功能,進而還具有脈沖檢查校驗、00數據轉送、11數據轉送、屏蔽緩存器數據轉送、閃速成對頁緩存器轉送以及閃速成對頁緩存器反轉轉送的功能。
脈沖檢查校驗是指為了調查是否無法增大寫入脈沖的電壓的增加幅度,而調查不存在第1讀出數據為“1”(即,存儲器單元的閾值Vth小于“01”下裾電平),并且屏蔽緩存器51的脈沖施加指示值為“0”(寫入對象)(將此稱為第1狀態)的存儲器單元。即,在不存在這樣的第1狀態的存儲器單元時,選擇出的存儲器單元為以下的任意一種狀態。第2狀態是閾值Vth小于“01”下裾電平,并且校驗判斷值為“1”(寫入結束)的狀態。第3狀態是閾值Vth大于等于“01”下裾電平,并且校驗判斷值為“1”(寫入結束)的狀態。第4狀態是閾值Vth大于等于“01”下裾電平,并且校驗判斷值為“0”(寫入未結束)的狀態。
第1狀態處于寫入目標值為“10”、“01”或者“00”,閾值低的狀態,因此需要逐漸增加閾值達到希望的閾值,而增大寫入脈沖的電壓的增加幅度是不適當的。
另一方面,第2狀態和第3狀態是寫入結束了的狀態,因此不施加寫入脈沖,而增大寫入脈沖的電壓的增加幅度也沒有問題。
第4狀態是寫入目標值為“00”。這是因為如果寫入目標值為“01”,則如果閾值Vth大于等于下裾電平,則校驗判斷值應該成為“1”(寫入結束)。在寫入目標值為“00”時,閾值沒有上裾,因此增大寫入脈沖的電壓的增加幅度也沒有問題,通過增大增加幅度,能夠提高向存儲器單元的數據寫入的速度。
因此,在沒有第1狀態的存儲器單元時,脈沖檢查校驗PASS(成功),將寫入脈沖的電壓的增加幅度從0.1V增加到0.2V。
00數據轉送是指在脈沖檢查校驗或者下裾校驗PASS(成功)時,向屏蔽緩存器部件轉送數據,使得在與存儲器陣列21的選擇出的各存儲器單元對應的頁緩存器部件的寫入目標值為“00”(高位比特的寫入目標值為“0”,低位比特的寫入目標值為“0”)時,與該存儲器單元對應的屏蔽緩存器部件的比特為“0”,而在寫入目標值為“10”、“01”和“11”時,與該存儲器單元對應的屏蔽緩存器部件的比特為“1”。由此,能夠將施加寫入脈沖的存儲器單元限定為寫入目標值為“00”的存儲器單元。由此,即使對于寫入目標值為“00”并且下裾校驗PASS了的存儲器單元,也成為施加寫入脈沖的存儲器單元。這考慮了以下的情況在將寫入脈沖的電壓的增加幅度設置為0.2V時,同時也將校驗電壓從α增加到β,因此如果在α的校驗電壓下下裾校驗PASS,也將校驗電壓增加到β,則下裾校驗有可能FAIL(失敗)。
11數據轉送是指向屏蔽緩存器部件轉送數據,使得在與存儲器陣列21的選擇出的各存儲器單元對應的頁緩存器部件的寫入目標值為“11”(高位比特的寫入目標值為1,低位比特的寫入目標值為1)時,與該存儲器單元對應的屏蔽緩存器部件的比特為“1”,在寫入目標值為“10”、“01”和“00”時,與該存儲器單元對應的屏蔽緩存器部件的比特為“0”。由此,寫入目標值為“11”的沒有成為寫入對象的存儲器單元的上裾校驗自動成為PASS(成功)。
屏蔽緩沖器數據轉送是指將與存儲器陣列21的選擇出的存儲器單元對應的屏蔽緩存器部件的比特轉送到寫入驅動器部件。由此,能夠暫時將屏蔽緩存器部件的數據讀入校驗電路54中,將讀入的數據發送到寫入驅動器部件。因此,使用從存儲器陣列用讀出放大器20向校驗電路54發送數據的總線RWDATA,也可以將數據發送到寫入驅動器部件。
閃速成對頁緩存器轉送是指將存儲在存儲器陣列21的選擇出的各存儲器單元中的2比特的邏輯值轉送到頁緩存器部件的對應的2比特中。
閃速成對頁緩存器反轉轉送是指將存儲在存儲器陣列21的選擇出的各存儲器單元中的2比特的邏輯值的反轉值轉送到頁緩存器部件的對應的2比特中。
(校驗電路54的詳細構成)圖11展示了校驗電路54的詳細結構。參照該圖,校驗電路54包含EXNOR部件61、讀出放大器部件62、鎖存部件63、校驗判斷部件64、驅動器部件65、選擇器S10、變換器(inverter)IV1、變換器IV3、反轉或電路NO3、反轉與電路NA3、或電路O3。
變換器IV1將讀寫數據總線RWDATA的數據電平反轉,輸出到EXNOR部件61。
EXNOR部件61接收比特線對BL、IBL的數據、讀寫數據總線RWDATA的數據。EXNOR部件61在比特線BL的數據電平與讀寫數據總線RWDATA的電平一致時,向比特線BL輸出“1”電平(未放大的數據),向比特線IBL輸出“0”電平(未放大的數據),在不一致時,向比特線BL輸出“0”電平(未放大的數據),向比特線IBL輸出“1”電平(未放大的數據)。
另外,EXNOR部件61包含與控制信號IPCBL_SA連接的預充電用的晶體管。根據控制信號IPCBL_SA成為“0”,對比特線對BL、IBL進行預充電。
讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大,向比特線BL輸出讀出放大器放大信號SA,向比特線IBL輸出反轉讀出放大器放大信號ISA。讀出放大器部件62如果控制信號SAN/ISAP成為“1”/“0”,則成為激活。
讀出放大器部件62包含與控制信號ISAI連接的分離用的晶體管。與控制信號ISAI連接的晶體管用于分離EXNOR部件61和讀出放大器部件62。在EXNOR部件61進行比特線對BL、IBL的預充電時,控制信號ISAI成為“1”,對EXNOR部件61和讀出放大器部件62進行分離,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。由此,縮短了讀出放大器處理的時間。
另外,讀出放大器部件62包含與控制信號IPCSA連接的預充電用的晶體管。根據控制信號IPCSA成為“0”,將讀出放大器放大信號SA和反轉讀出放大器放大信號ISA預充電為“1”。
反轉或電路NO3接收FFIREG節點的數據、外部數據IEXDATA,將反轉或輸出到驅動器部件65。在校驗動作時等內部動作中,外部數據IEXDATA固定為“0”。在外部動作時,由于FFIREG節點復位為“0”,所以外部數據IEXDATA成為有效。
反轉與電路NA3接收讀寫數據總線RWDATA的數據和取得指示信號IPBWRT,將它們的反轉與輸出到或電路O3。
或電路O3接收反轉與電路NA3的輸出、復位信號IRESET00的反轉值,將它們的邏輯或輸出到反轉或電路NO5。
鎖存部件63接收讀出放大器放大信號SA、反轉讀出放大器放大信號ISA,對與讀出放大器放大信號SA和反轉讀出放大器放大信號ISA的電平對應的邏輯值進行鎖存。鎖存部件63包含反轉或電路NO6、反轉或電路NO5、反轉或電路NO7、反轉或電路NO1。
反轉或電路NO6接收比特線BL的數據和放大取得信號ITRANSA,將它們的反轉或輸出到反轉或電路NO5。
反轉或電路NO5接收反轉或電路NO6的輸出、反轉或電路NO1的輸出節點FFIREG的數據、或電路O3的輸出IRW,將它們的反轉或輸出到節點FFREG。
反轉或電路NO7接收比特線IBL的數據和反轉放大取得信號ITRANISA,將它們的反轉或輸出到反轉或電路NO1。
反轉或電路NO1接收反轉或電路NO7的輸出、預設置信號PRESET、反轉或電路NO5的輸出節點FFREG的數據,將它們的反轉或輸出到節點FFIREG。
校驗判斷部件64與鎖存部件63的FFIREG節點連接,向CPU26輸出基于FFIREG節點的鎖存數據的表示校驗判斷結果的校驗判斷信號DIHVPASS。
驅動器部件65在內部動作時,經由反轉或電路NO3接收鎖存部件63的FFIREG節點的數據,向比特線BL輸出反轉了FFIREG節點的數據電平的數據,并將FFIREG節點的數據輸出到比特線IBL。該比特線對BL、IBL的數據被寫入到頁緩存器/屏蔽緩存器陣列51的對應的比特中。
另外,驅動器部件65通過數據線IBDAT將FFIREG節點的數據輸出到變換器IV3。輸入到變換器IV3的數據經由選擇器S10被發送到讀寫數據總線RWDATA,并寫入到存儲器陣列21。
另外,驅動器部件65在外部動作時,經由反轉或電路NO3接收外部數據IEXDATA的數據,將外部數據IEXDATA輸出到比特線BL,將外部數據IEXDATA的反轉數據輸出到比特線IBL。該比特線對BL、IBL的數據被寫入到頁緩存器/屏蔽緩存器51的對應的比特中。
變換器IV3將數據線IBDAT的數據電平反轉,輸出到選擇器S10。
選擇器S10在寫入驅動器轉送控制信號WTR為“0”時,將讀寫數據總線RWDATA與EXNOR部件61連接,在寫入驅動器轉送控制信號WTR為“1”時,將讀寫數據總線RWDATA與數據線IBDAT連接。寫入驅動器轉送控制信號WTR在屏蔽緩存器數據轉送的規定期間成為“1”。
(寫入時序)接著,說明本實施例的非易失性半導體存儲裝置的寫入時序。圖12是展示實施例2的寫入時序的流程圖。
參照該圖,在步驟S701中,如下那樣進行虛擬校驗。存儲器陣列用讀出放大器20檢測在向各存儲器單元提供校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“01”下裾電平(=V_01L)時流過的電流值Is(=I_01L)。存儲器陣列用讀出放大器20作為第1讀出數據,通過讀寫數據總線RWDATA,在電流量Im小于等于電流值Is時向校驗電路54輸出“0”,在電流量Im超過電流值Is時向校驗電路54輸出“1”。
在電流量Im小于等于電流值Is時,進而判別閾值電壓Vth是否大于等于“00”下裾電平(=V_00L)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“00”下裾電平(=V_00L)時流過的電流值Is(=I_00L)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀寫數據總線RWDATA,在電流量Im小于等于電流值Is時向校驗電路54輸出“0”,在電流量Im超過電流值Is時向校驗電路54輸出“1”。
另一方面,在電流量Im超過電流值Is時,判別閾值電壓Vth是否大于等于“10”下裾電平(=V_10L)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“10”下裾電平(=V_10L)時流過的電流值Is(=I_10L)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀寫數據總線RWDATA,在電流量Im小于等于電流值Is時向校驗電路54輸出“0”,在電流量Im超過電流值Is時向校驗電路54輸出“1”。
另一方面,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的選擇出的32個存儲器單元的高位比特的寫入目標值發送到校驗電路54。校驗電路54針對每個比特,計算第1讀出數據和高位比特的寫入目標值的AND邏輯值。
校驗電路54將第1讀出數據和高位比特的AND邏輯值轉送到頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的對應的比特中。
接著,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件中的選擇出的32個存儲器單元的低位比特的寫入目標值發送到校驗電路54。校驗電路54針對每個比特,計算第2讀出數據和低位比特的寫入目標值的AND邏輯值。
校驗電路54將第2讀出數據和低位比特的AND邏輯值轉送到頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的對應的比特中。
在步驟S702中,如下那樣進行選擇出的32個存儲器單元的閾值電壓Vth的下裾校驗。
首先,判斷閾值電壓Vth是否大于等于“01”下裾電平(=V_01L)。具體地說,存儲器陣列用讀出放大器20檢測出在向各存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“01”下裾電平(=V_01L)時流過的電流值Is(=I_01L)。存儲器陣列用讀出放大器20作為第1讀出數據,通過讀寫數據總線RWDATA,在電流量Im小于等于電流值Is時向校驗電路54輸出“0”,在電流量Im超過電流值Is時向校驗電路54輸出“1”。
在電流量Im小于等于電流值Is時,進而判別閾值電壓Vth是否大于等于“00”下裾電平(=V_00L)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“00”下裾電平(=V_00L)時流過的電流值Is(=I_00L)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀寫數據總線RWDATA,在電流量Im小于等于電流值Is時向校驗電路54輸出“0”,在電流量Im超過電流值Is時向校驗電路17輸出“1”。
另一方面,在電流量Im超過電流值Is時,判別閾值電壓Vth是否大于等于“10”下裾電平(=V_10L)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“10”下裾電平(=V_10L)時流過的電流值Is(=I_10L)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀寫數據總線RWDATA,在電流量Im小于等于電流值Is時向校驗電路54輸出“0”,在電流量Im超過電流值Is時向校驗電路54輸出“1”。
另一方面,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的選擇出的32個存儲器單元的高位比特的寫入目標值發送到校驗電路54。校驗電路54針對每個比特,檢查第1讀出數據和高位比特的寫入目標值是否一致。
接著,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的選擇出的32個存儲器單元的低位比特的寫入目標值發送到校驗電路54。校驗電路54針對每個比特,檢查第2讀出數據和低位比特的寫入目標值是否一致。
接著,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件中的與選擇出的32個存儲器單元對應的校驗判斷值發送到校驗電路54。
校驗電路54針對第1讀出數據和高位比特的寫入目標值一致并且第2讀出數據和低位比特的寫入目標值一致那樣的比特,或者校驗判斷值為“1”那樣的比特,將數據轉送到屏蔽緩存器部件,使得頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件的對應的比特的校驗判斷值為“1”。
校驗電路54針對所有32比特,在第1讀出數據和高位比特的寫入目標值一致并且第2讀出數據和低位比特的寫入目標值一致時,或者校驗判斷值為“1”時,向CPU26發送表示下裾校驗PASS的校驗判斷信號DIHVPASS,CPU將處理轉移到步驟S707。另一方面,校驗電路54針對所有32比特,在不一致時,向CPU26發送表示下裾校驗FAIL的校驗判斷信號DIHVPASS,CPU26將處理轉移到步驟S703。
在步驟S703中,經由Y柵極23、校驗電路54、讀寫數據總線RWDATA和選擇器55,將頁緩存器/屏蔽緩存器陣列51的與選擇出的32個存儲器單元對應的32比特的校驗判斷值發送到寫入驅動器和32比特到64比特轉換電路19。寫入驅動器和32比特到64比特轉換電路19的寫入驅動器部件向與校驗判斷值為“0”的比特對應的存儲器單元施加在未圖示的電壓控制電路中生成的寫入脈沖。該寫入脈沖的電壓初始值為2.0V。
在步驟S704中,與步驟S702一樣地進行下裾校驗。校驗電路54針對所有32比特,在第1讀出數據和高位比特的寫入目標值一致并且第2讀出數據和低位比特的寫入目標值一致時,或者校驗判斷值為“1”時,向CPU26發送表示下裾校驗PASS的校驗判斷信號DIHVPASS,CPU26將處理轉移到步驟S707。另一方面,校驗電路54針對所有32比特,在不一致時,向CPU26發送表示下裾校驗FAIL的校驗判斷信號DIHVPASS,CPU26將處理轉移到步驟S705。
在步驟S705中,CPU26在向選擇出的存儲器單元施加了寫入脈沖的次數(即步驟S703~S705的循環次數)大于等于規定次數時,將處理轉移到步驟S706。CPU26在向選擇出的存儲器單元施加了寫入脈沖的次數小于規定次數X時,向寫入驅動器和32比特到64比特轉換電路19的寫入驅動器部件發出指示使得寫入脈沖的電壓提高0.1V,并循環進行S703的處理。
在步驟S706中,如下那樣進行脈沖檢查校驗。存儲器陣列用讀出放大器20檢測在向各存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否小于等于在閾值電壓Vth為“01”下裾電平(=V_01L)時流過的電流值Is(=I_01L)。存儲器陣列用讀出放大器20作為第1讀出數據,通過讀寫數據總線RWDATA,在電流量Im小于等于電流值Is時向校驗電路54輸出“0”,在電流量Im超過電流值Is時向校驗電路54輸出“1”。
接著,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件中的與選擇出的32個存儲器單元對應的校驗判斷值發送到校驗電路54。
校驗電路54針對每個比特,檢查是否是第1讀出數據為“0”并且校驗判斷值為“0”。校驗電路54針對所有32比特,在第1讀出數據為“0”并且校驗判斷值為“0”時,向CPU26發送表示脈沖檢查校驗PASS的校驗判斷信號DIHVPASS。CPU26將處理轉移到步驟S707。
另一方面,校驗電路54針對所有32比特,在不是第1讀出數據為“0”并且校驗判斷值為“0”時,向CPU26發送表示脈沖檢查校驗FAIL的校驗判斷信號DIHVPASS。CPU26向寫入驅動器和32比特到64比特轉換電路19的寫入驅動器部件發出指示使得寫入脈沖的電壓提高0.1V,并循環進行S703的處理。
在步驟S707中,如下那樣進行00數據轉送。00數據轉送是指將數據轉送到屏蔽緩存器部件,使得只向與在頁緩存器部件中存儲了“00”(高位比特的寫入目標值為0,低位比特的寫入目標值為0)的存儲器單元對應的屏蔽緩存器部件的比特中存儲校驗判斷值“0”。
具體地說,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的選擇出的32個存儲器單元的低位比特的寫入目標值發送到校驗電路54。
校驗電路54針對高位比特的寫入目標值為“0”并且低位比特的寫入目標值為“0”的比特,向屏蔽緩存器部件的對應的比特中寫入“0”,針對除此以外的比特,向屏蔽緩存器部件的對應的比特中寫入“1”。
進而,在步驟S708中,與步驟S702和S704一樣地進行下裾校驗。其中,將校驗電壓設置為β(α+ΔV)。在下裾校驗成功時,CPU26轉移到步驟S711的處理。在下裾校驗失敗時,CPU26轉移到步驟S709的處理。
在步驟S709中,與步驟S703一樣地施加寫入脈沖。
在步驟S710中,與步驟S708一樣地進行下裾校驗。在下裾校驗失敗時,CPU26向未圖示的電壓控制電路發出指示,使得將寫入脈沖的電壓提高0.2V,并且循環進行步驟S709的處理。在下裾校驗成功時,CPU26轉移到步驟S711的處理。
在步驟S711中,如下那樣進行11數據轉送。11數據轉送是指將數據轉送到屏蔽緩存器部件,使得只向與在頁緩存器部件中存儲了“11”(高位比特的寫入目標值為1,低位比特的寫入目標值為1)的存儲器單元對應的屏蔽緩存器部件的比特中存儲校驗判斷值“1”。由此,在頁緩存器部件中存儲了“11”的存儲器單元的上裾校驗自動成為成功。
具體地說,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的選擇出的32個存儲器單元的高位比特的寫入目標值發送到校驗電路54。
接著,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的選擇出的32個存儲器單元的32比特的低位比特的寫入目標值發送到校驗電路54。
校驗電路54針對高位比特的寫入目標值為“1”并且低位比特的寫入目標值為“1”的比特,向屏蔽緩存器部件的對應的比特中寫入“1”,針對除此以外的比特,向屏蔽緩存器部件的對應的比特中寫入“0”。
在步驟S712中,如下那樣進行選擇出的32個存儲器單元的閾值電壓Vth的上裾校驗。
首先,判斷閾值電壓Vth是否小于等于“10”上裾電平(=V_10H)。具體地說,存儲器陣列用讀出放大器20檢測出在向各存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否大于等于在閾值電壓Vth為“10”上裾電平(=V_10H)時流過的電流值Is(=I_10H)。存儲器陣列用讀出放大器20作為第1讀出數據,通過讀寫數據總線RWDATA,在電流量Im大于等于電流值Is時向校驗電路54輸出“1”,在電流量Im小于電流值Is時向校驗電路54輸出“0”。
在電流量Im小于電流值Is時,進而判斷閾值電壓Vth是否大于等于“01上裾電平(=V_01H)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否大于等于在閾值電壓Vth為“01”上裾電平(=V_01H)時流過的電流值Is(=I_01H)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀寫數據總線RWDATA,在電流量Im大于等于電流值Is時向校驗電路54輸出“1”,在電流量Im小于電流值Is時向校驗電路54輸出“0”。
另一方面,在電流量Im大于等于電流值Is時,判斷閾值電壓Vth是否小于等于“11”上裾電平(=V_11H)。具體地說,存儲器陣列用讀出放大器20檢測出在向存儲器單元提供了校驗電壓(=α)時流過的電流量Im。存儲器陣列用讀出放大器20判斷檢測出的電流量Im是否大于等于在閾值電壓Vth為“11”下裾電平(=V_11H)時流過的電流值Is(=I_11H)。存儲器陣列用讀出放大器20作為第2讀出數據,通過讀寫數據總線RWDATA,在電流量Im大于等于電流值Is時向校驗電路54輸出“1”,在電流量Im小于電流值Is時向校驗電路54輸出“0”。
另一方面,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的選擇出的32個存儲器單元的高位比特的寫入目標值發送到校驗電路54。校驗電路54針對每個比特,檢查第1讀出數據和高位比特的寫入目標值是否一致。
接著,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的選擇出的32個存儲器單元的低位比特的寫入目標值發送到校驗電路54。校驗電路54針對每個比特,檢查第2讀出數據和低位比特的寫入目標值是否一致。
接著,經由Y柵極52,將保存在頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件中的與選擇出的32個存儲器單元對應的校驗判斷值發送到校驗電路54。
校驗電路54針對第1讀出數據和高位比特的寫入目標值一致并且第2讀出數據和低位比特的寫入目標值一致那樣的比特,或者校驗判斷值為“1”那樣的比特,將數據轉送到屏蔽緩存器部件,使得頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件的對應的比特的校驗判斷值為“1”。
校驗電路54針對所有32比特,在第1讀出數據和高位比特的寫入目標值一致并且第2讀出數據和低位比特的寫入目標值一致時,或者校驗判斷值為“1”時,向CPU26發送表示上裾校驗PASS的校驗判斷信號DIHVPASS,CPU26正常結束寫入時序。另一方面,校驗電路54針對所有32比特,在不一致時,向CPU26發送表示上裾校驗FAIL的校驗判斷信號DIHVPASS,CPU26異常結束寫入時序。
(下裾校驗的動作)接著,說明下裾校驗時的詳細動作。
圖13展示了下裾校驗的定時時序圖。該圖的第1~第4周期(cycle)是校驗周期。參照該圖,在第1周期內,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET設置為“1”。由此,鎖存部件63的FFREG節點被預設置為“1”。然后,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET還原為“0”。
存儲器陣列用讀出放大器52將第1讀出數據輸出到讀寫數據總線RWDATA。頁緩存器/屏蔽緩存器陣列51的頁緩存器部件向比特線BL輸出高位比特的寫入目標值。
EXNOR部件61通過讀寫數據總線RWDATA接收第1讀出數據,并通過比特線BL從頁緩存器/屏蔽緩存器陣列51的頁緩存器部件接收高位比特的寫入目標值。EXNOR部件61向比特線對BL、IBL輸出與第1讀出數據和高位比特的寫入目標值是否一致對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了與一致對應的數據時,讀出放大器放大信號SA成為“1”。另一方面,在EXNOR部件61輸出了與不一致對應的數據時,讀出放大器放大信號SA成為“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將放大信號取得信號ITRANSA設置為“0”。由此,鎖存部件63的FFREG節點與讀出放大器放大信號SA的電平對應地變化。在EXNOR部件61輸出了與一致對應的數據時(即讀出放大器放大信號SA為“1”時),FFREG節點成為“1”。另一方面,在EXNOR部件61輸出了與不一致對應的數據時(即讀出放大器放大信號SA為“0”時),FFREG節點成為“0”。
在第2周期中,存儲器陣列用讀出放大器52將第2讀出數據輸出到讀寫數據總線RWDATA。頁緩存器/屏蔽緩存器陣列51的頁緩存器部件向比特線BL輸出低位比特的寫入目標值。
EXNOR部件61通過讀寫數據總線RWDATA接收第2讀出數據,并通過比特線BL從頁緩存器/屏蔽緩存器陣列51的頁緩存器部件接收低位比特的寫入目標值。EXNOR部件61向比特線對BL、IBL輸出與第2讀出數據和低位比特的寫入目標值是否一致對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了與一致對應的數據時,讀出放大器放大信號SA成為“1”。另一方面,在EXNOR部件61輸出了與不一致對應的數據時,讀出放大器放大信號SA成為“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將放大信號取得信號ITRANSA設置為“0”。由此,鎖存部件63的FFREG節點與讀出放大器放大信號SA的電平對應地變化。只在EXNOR部件61輸出了與一致對應的數據(即讀出放大器放大信號SA為“1”),并且變化前的FFREG節點為“1”時,FFREG節點成為“1”。即在2比特一致時,FFREG節點成為“1”。另一方面,在EXNOR部件61輸出了與不一致對應的數據時(即讀出放大器放大信號SA為“0”時),或者在變化前的FFREG節點為“0”時,FFREG節點成為“0”。即在至少1比特不一致時,FFREG節點成為“0”。
在第3周期中,存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出固定值“1”。頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件向比特IBL輸出脈沖施加指示值。
EXNOR部件61通過讀寫數據總線RWDATA接收固定值“1”,并通過比特線IBL從頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件接收脈沖施加指示值。EXNOR部件61向比特線對BL、IBL輸出與脈沖施加指示值是“1”還是“0”對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了將校驗判斷值判斷為“1”(寫入結束)的數據時,反轉讀出放大器放大信號ISA成為“0”。另一方面,在EXNOR部件61輸出了將校驗判斷值判斷為“0”(寫入未結束)的數據時,反轉讀出放大器放大信號ISA成為“1”。
然后,頁緩存器/屏蔽緩存器用控制電路53將反轉放大信號取得信號ITRANISA設置為“0”。由此,與鎖存部件63的變化前的FFREG節點的電平和反轉讀出放大器放大信號ISA的電平對應地,FFIREG節點變化。只在EXNOR部件61將校驗判斷值判斷為“0”(寫入未結束)(即反轉讀出放大器放大信號ISA為“1”),并且變化前的FFREG節點為“0”(至少1比特不一致)時,FFIREG節點成為“1”。另一方面,在EXNOR部件61將校驗判斷值判斷為“1”(寫入結束)時(即反轉讀出放大器放大信號ISA為“0”時),或者在變化前的FFREG節點為“1”(2比特一致)時,FFREG節點成為“0 ”。
在第4周期中,頁緩存器/屏蔽緩存器用控制電路53將驅動器控制信號IDRV設置為“0”。由此,驅動器部件65經由比特線對BL、IBL向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件的對應的比特輸出FFIREG節點的數據。在FFIREG節點為“1”時,向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件寫入“0”(寫入未結束),在FFIREG節點為“0”時,向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件寫入“1”(寫入結束)。
另外,頁緩存器/屏蔽緩存器用控制電路53將判斷結果輸出控制信號CDEN設置為“1”。由此,在FFIREG節點的32比特的任意一個都為“0”時,校驗判斷部件64的節點CDF成為“1”,從節點CDF輸出的校驗判斷信號DIHVPASS成為“1”(表示校驗判斷成功)。
另一方面,在FFIREG的32比特中的至少1比特為“1”時,校驗判斷部件64的節點CDF成為“0”,從節點CDF輸出的校驗判斷信號DIHVPASS成為“0”(表示校驗判斷失敗)。
(脈沖檢查校驗)圖14展示了脈沖檢查校驗的定時時序圖。該圖的第1~第3周期是校驗周期。參照該圖,在第1周期中,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET設置為“1”。由此,鎖存部件63的FFREG節點被預設置為“1”。然后,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET還原為“0”。
存儲器陣列用讀出放大器52將第1讀出數據輸出到讀寫數據總線RWDATA。頁緩存器/屏蔽緩存器用控制電路53通過控制線CTRL將比特線BL強制地設置為“0”。
EXNOR部件61通過讀寫數據總線RWDATA接收第1讀出數據,并通過比特線BL接收固定值“0”,并向比特線對BL、IBL輸出與第1讀出數據是“1”還是“0”對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了將第1讀出數據判斷為“1”的數據時,讀出放大器放大信號SA成為“0”,反轉讀出放大器放大信號ISA成為“1”。在EXNOR部件61輸出了將第1讀出數據判斷為“0”的數據時,讀出放大器放大信號SA成為“1”,反轉讀出放大器放大信號ISA成為“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將放大信號取得信號ITRANSA設置為“0”。由此,鎖存部件63的FFREG節點與讀出放大器放大信號SA的電平對應地變化。在EXNOR部件61將第1讀出數據判斷為“0”時(即讀出放大器放大信號SA為“1”時),FFREG節點成為“1”。另一方面,在EXNOR部件61將第1讀出數據判斷為“1”時(即讀出放大器放大信號SA為“0”時),FFREG節點成為“0”。
在第2周期中,存儲器陣列用讀出放大器52通過讀寫數據總線RWDATA輸出第1讀出數據,校驗電路54和頁緩存器/屏蔽緩存器用控制電路53進行與第1周期一樣的處理。由于是為了使到輸出校驗判斷信號HIDVPASS為止的期間與下裾校驗和上裾校驗一樣而設置該第2周期,所以并不是必須的。
在第3周期中,存儲器陣列用讀出放大器52將讀寫數據總線RWDATA強制地設置為“1”。頁緩存器/屏蔽緩存器陣列中的32比特的屏蔽緩存器向比特BL輸出校驗判斷值。
EXNOR部件61通過讀寫數據總線RWDATA接收固定值“1”,并通過比特線BL接收校驗判斷值,向比特線對BL、IBL輸出與校驗判斷值是“1”還是“0”對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了將校驗判斷值判斷為“1”的數據時,讀出放大器放大信號SA成為“1”,反轉讀出放大器放大信號ISA成為“0”。在EXNOR部件61輸出了將校驗判斷值判斷為“0”的數據時,讀出放大器放大信號SA成為“0”,反轉讀出放大器放大信號ISA成為“1”。
然后,頁緩存器/屏蔽緩存器用控制電路53將反轉放大信號取得信號ITRANISA設置為“0”。由此,與鎖存部件63的變化前的FFREG節點的電平和反轉讀出放大器放大信號ISA的電平對應地,FFIREG節點變化。只在EXNOR部件61將校驗判斷值判斷為“0”(寫入未結束)(即反轉讀出放大器放大信號ISA為“1”),并且變化前的FFREG節點為“0”(第1讀出數據為“1”)時,FFIREG節點成為“1”。另一方面,在EXNOR部件61將校驗判斷值判斷為“1”(寫入結束)時(即反轉讀出放大器放大信號ISA為“0”時),或者在變化前的FFREG節點為“1”(第1讀出數據為“0”)時,FFIREG節點成為“0”。
接著,頁緩存器/屏蔽緩存器用控制電路53將判斷結果輸出控制信號CDEN設置為“1”。由此,在FFIREG節點的32比特的任意一個都為“0”時,校驗判斷部件64的節點CDF成為“1”,從節點CDF輸出的校驗判斷信號DIHVPASS成為“1”(表示校驗判斷成功)。
另一方面,在FFIREG節點的32比特中的至少1比特為“1”時,校驗判斷部件64的節點CDF成為“0”,從節點CDF輸出的校驗判斷信號DIHVPASS成為“0”(表示校驗判斷失敗)。
(00數據轉送)圖15展示了00數據轉送的定時時序圖。該圖的第1~第4周期是校驗周期。參照該圖,在第1周期中,頁緩存器/屏蔽緩存器用控制電路53將復位信號IRESET00設置為“0”。由此,鎖存部件63的FFREG節點被復位為“0”。然后,頁緩存器/屏蔽緩存器用控制電路53將復位信號IRESET00恢復為“1”。
存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出固定值“1”。頁緩存器/屏蔽緩存器陣列51的頁緩存器部件向比特線BL輸出高位比特的寫入目標值。
EXNOR部件61通過讀寫數據總線RWDATA接收固定值“1”,通過比特線BL從頁緩存器/屏蔽緩存器陣列51的頁緩存器部件接收高位比特的寫入目標值。EXNOR部件61向比特線對BL、IBL輸出與高位比特的寫入目標值是“1”還是“0”對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了將高位比特的寫入目標值判斷為“1”的數據時,反轉讀出放大器放大信號ISA成為“0”。另一方面,在EXNOR部件61輸出了將高位比特的寫入目標值判斷為“0”的數據時,反轉讀出放大器放大信號ISA成為“1”。
然后,頁緩存器/屏蔽緩存器用控制電路53將反轉放大信號取得信號ITRANISA設置為“0”。由此,與鎖存部件63的變化前的FFREG節點的“0”和反轉讀出放大器放大信號ISA的電平對應地,FFIREG節點變化。在EXNOR部件61將高位比特的寫入目標值判斷為“1”時(即反轉讀出放大器放大信號ISA為“0”時),FFIREG節點成為“0”,FFREG節點成為“1”。另一方面,在EXNOR部件61將高位比特的寫入目標值判斷為“0”時(即反轉讀出放大器放大信號ISA為“1”時),FFIREG節點成為“1”,FFREG節點成為“0”。
在第2周期中,存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出固定值“1”。頁緩存器/屏蔽緩存器陣列51的頁緩存器部件向比特線BL輸出低位比特的寫入目標值。
EXNOR部件61通過讀寫數據總線RWDATA接收固定值“1”,并通過比特線BL從頁緩存器/屏蔽緩存器陣列51的頁緩存器部件接收低位比特的寫入目標值。EXNOR部件61向比特線對BL、IBL輸出與低位比特的寫入目標值是“1”還是“0”對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61將低位比特的寫入目標值判斷為“1”時,反轉讀出放大器放大信號ISA成為“0”。另一方面,在EXNOR部件61將低位比特的寫入目標值判斷為“0”時,反轉讀出放大器放大信號ISA成為“1”。
然后,頁緩存器/屏蔽緩存器用控制電路53將反轉放大信號取得信號ITRANISA設置為“0”。由此,與鎖存部件63的變化前的FFREG節點的電平和反轉讀出放大器放大信號ISA的電平對應地,FFIREG節點變化。只在EXNOR部件61將高位比特的寫入目標值判斷為“0”(即反轉讀出放大器放大信號ISA為“1”),并且變化前的FFREG節點為“0”時,FFIREG節點成為“1”,FFREG節點成為“0”。即在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的寫入目標值為“00”時,FFIREG節點成為“1”,FFREG節點成為“0”。另一方面,在EXNOR部件61將高位比特的寫入目標值判斷為“1”時(即反轉讀出放大器放大信號ISA為“0”時),或者在變化前的FFREG節點為“1”時,FFIREG節點成為“0”,FFREG節點成為“1”。即在頁緩存器的寫入目標值為“01”、“10”或者“11”時,FFIREG節點成為“0”,FFREG節點成為“1”。
在第3周期中,存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出固定值“1”。頁緩存器/屏蔽緩存器用控制電路53通過控制線CTRL強制地將比特線BL設置為“0”。
EXNOR部件61通過讀寫數據總線RWDATA接收固定值“1”,并通過比特線BL接收“0”,并判斷為它們不一致。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。由于EXNOR部件61判斷為不一致,所以反轉讀出放大器放大信號ISA成為“1”。
然后,頁緩存器/屏蔽緩存器用控制電路53將反轉放大信號取得信號ITRANISA設置為“0”。由此,與鎖存部件63的變化前FFREG節點的電平和反轉讀出放大器放大信號ISA的“1”的電平對應地,FFIREG節點變化。在變化前的FFREG節點為“0”時,FFIREG節點成為“1”。即在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的寫入目標值為“00”時,FFIREG節點成為“1”。另一方面,在變化前的FFREG節點為“1”時,FFIREG節點成為“0”。即在頁緩存器的寫入目標值為“01”、“10”或“11”時,FFIREG節點成為“0”。
在第4周期中,頁緩存器/屏蔽緩存器用控制電路53將驅動器控制信號IDRV設置為“0”。由此,驅動器部件65經由比特線對BL、IBL向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件的對應的比特輸出FFIREG節點的數據。在FFIREG節點為“1”時,向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件寫入“0”(寫入未結束),在FFIREG節點為“0”時,向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件寫入“1”(寫入結束)。
(11數據轉送)圖16展示了11數據轉送的定時時序圖。該圖的第1~第4周期是校驗周期。參照該圖,在第1周期中,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET設置為“1”。由此,鎖存部件63的FFREG節點被預設置為“1”。然后,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET恢復為“0”。
存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出固定值“1”。頁緩存器/屏蔽緩存器陣列51的頁緩存器部件向比特線BL輸出高位比特的寫入目標值。
EXNOR部件61通過讀寫數據總線RWDATA接收固定值“1”,通過比特線BL從頁緩存器/屏蔽緩存器陣列51的頁緩存器部件接收高位比特的寫入目標值。EXNOR部件61向比特線對BL、IBL輸出與高位比特的寫入目標值是“1”還是“0”對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了將高位比特的寫入目標值判斷為“1”的數據時,反轉讀出放大器放大信號SA成為“1”。另一方面,在EXNOR部件61輸出了將高位比特的寫入目標值判斷為“1”的數據時,讀出放大器放大信號SA成為“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將放大信號取得信號ITRANSA設置為“0”。由此,鎖存部件63的FFREG節點與讀出放大器放大信號SA的電平對應地變化。在EXNOR部件61將高位比特的寫入目標值判斷為“1”時(即讀出放大器放大信號SA為“1”時),FFREG節點成為“1”。另一方面,在EXNOR部件61將高位比特的寫入目標值判斷為“0”時(即讀出放大器放大信號SA為“0”時),FFREG節點成為“0”。
在第2周期中,存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出固定值“1”。頁緩存器/屏蔽緩存器陣列51的頁緩存器部件向比特線BL輸出低位比特的寫入目標值。
EXNOR部件61通過讀寫數據總線RWDATA接收固定值“1”,并通過比特線BL從頁緩存器/屏蔽緩存器陣列51的頁緩存器部件接收低位比特的寫入目標值。EXNOR部件61向比特線對BL、IBL輸出與低位比特的寫入目標值是“1”還是“0”對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61將低位比特的寫入目標值判斷為“1”時,讀出放大器放大信號SA成為“1”。另一方面,在EXNOR部件61將低位比特的寫入目標值判斷為“0”時,讀出放大器放大信號SA成為“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將放大信號取得信號ITRANSA設置為“0”。由此,鎖存部件63的FFREG節點與讀出放大器放大信號SA的電平對應地變化。只在EXNOR部件61將低位比特的寫入目標值判斷為“1”(即讀出放大器放大信號SA為“1”),并且變化前的FFREG節點為“1”時,FFREG節點成為“1”,FFIREG節點成為“0”。即在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的寫入目標值為“11”時,FFREG節點成為“1”,FFIREG節點成為“0”。另一方面,在EXNOR部件61將低位比特的寫入目標值判斷為“0”時(即讀出放大器放大信號SA為“0”時),或者在變化前的FFREG節點為“0”時,FFREG節點成為“0”,FFIREG節點成為“1”。即在頁緩存器的寫入目標值為“00”、“01”或者“10”時,FFREG節點成為“0”,FFIREG節點成為“1”。
在第3周期中,存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出固定值“1”。頁緩存器/屏蔽緩存器用控制電路53通過控制線CTRL強制地將比特線BL設置為“0”。
EXNOR部件61通過讀寫數據總線RWDATA接收固定值“1”,并通過比特線BL接收“0”,并判斷為它們不一致。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。由于EXNOR部件61判斷為不一致,所以反轉讀出放大器放大信號ISA成為“1”。
然后,頁緩存器/屏蔽緩存器用控制電路53將反轉放大信號取得信號ITRANISA設置為“0”。由此,與鎖存部件63的變化前的FFREG節點的電平和反轉讀出放大器放大信號ISA的“1”的電平對應地,FFIREG節點變化。在變化前的FFREG節點為“0”時,FFIREG節點成為“1”。即在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的寫入目標值為“00”、“01”或“11”時,FFIREG節點成為“1”。另一方面,在變化前的FFREG節點為“1”時,FFIREG節點成為“0”。即在頁緩存器的寫入目標值為“11”時,FFIREG節點成為“0”。
在第4周期中,頁緩存器/屏蔽緩存器用控制電路53將驅動器控制信號IDRV設置為“0”。由此,驅動器部件65經由比特線對BL、IBL向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件的對應的比特輸出FFIREG節點的數據。在FFIREG節點為“1”時,向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件寫入“0”(寫入未結束),在FFIREG節點為“0”時,向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件寫入“1”(寫入結束)。
(上裾校驗的動作)上裾檢驗時從存儲器陣列用讀出放大器20發送的第1讀出數據和第2讀出數據如上所述與下裾檢驗時不同。另一方面,校驗電路54中的上裾校驗的動作與下裾校驗的動作一樣。因此,不再重復說明校驗電路54的上裾校驗時的動作。
(虛擬校驗)圖17展示了虛擬校驗的定時時序圖。該圖的第1~第4周期是校驗周期。參照該圖,在第1周期中,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET設置為“1”。由此,鎖存部件63的FFREG節點被預設置為“1”。然后,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET恢復為“0”。
存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出第1讀出數據。頁緩存器/屏蔽緩存器陣列51的頁緩存器部件向比特線BL輸出高位比特的寫入目標值。
EXNOR部件61通過讀寫數據總線RWDATA接收第1讀出數據,通過比特線BL從頁緩存器/屏蔽緩存器陣列51的頁緩存器部件接收高位比特的寫入目標值。EXNOR部件61向比特線對BL、IBL輸出與第1讀出數據和高位比特的寫入目標值是否一致對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了判斷為一致的數據時,讀出放大器放大信號SA成為“1”。另一方面,在EXNOR部件61輸出了判斷為不一致的數據時,讀出放大器放大信號SA成為“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將放大信號取得信號ITRANSA設置為“0”。由此,鎖存部件63的FFREG節點與讀出放大器放大信號SA的電平對應地變化。在EXNOR部件61判斷為一致時(即讀出放大器放大信號SA為“1”時),FFREG節點成為“1”,FFIREG節點成為“0”。另一方面,在EXNOR部件61判斷為不一致時(即讀出放大器放大信號SA為“0”時),FFREG節點成為“0”,FFIREG節點成為“1”。因此,FFIREG節點成為“0”是在第1讀出數據為“1”,并且高位比特的寫入目標值為“1”時,或者第1讀出數據為“0”,并且高位比特的寫入目標值為“0”時。另一方面,FFIREG節點成為“1”是在第1讀出數據為“1”,并且高位比特的寫入目標值為“0”時,或者第1讀出數據為“0”,并且高位比特的寫入目標值為“1”時。
頁緩存器/屏蔽緩存器用控制電路53將取得指示信號IPBWRT設置為“0”。由此,向鎖存部件63中輸入第1讀出數據。鎖存部件63的FFREG節點與第1讀出數據的電平、變化前的FFIREG節點的電平對應地變化。在第1讀出數據為“1”,并且變化前的FFIREG節點為“0”時,FFREG節點為“1”,FFIREG節點為“0”。另一方面,第1讀出數據為“0”時,或者變化前的FFIREG節點為“1”時,FFREG節點為“0”,FFIREG節點為“1”。
因此,在第1讀出數據為“1”,并且高位比特的寫入目標值為“1”時,FFREG節點為“1”。另一方面,在第1讀出數據為“0”,或者高位比特的寫入目標值為“0”時,FFREG節點為“0”。即,FFREG節點成為第1讀出數據和高位比特的寫入目標值的邏輯與的值。然后,頁緩存器/屏蔽緩存器用控制電路53將取得指示信號IPBWRT恢復為“1”。
接著,在第2周期中,頁緩存器/屏蔽緩存器用控制電路53將驅動器控制信號IDRV設置為“0”。由此,驅動器部件65經由比特線對BL、IBL向頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件的對應的比特輸出FFIREG節點的數據。在FFIREG節點為“1”時,向頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特寫入“1”,在FFIREG節點為“0”時,向頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特寫入“0”。由此,存儲在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的高位比特的邏輯值是第1讀出數據和高位比特的寫入目標值的邏輯與。
接著,在第3周期中,針對第2讀出數據和頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的低位比特,進行與第1周期中的對第1讀出數據和頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特的處理一樣的處理。
接著,在第4周期中,針對頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的低位比特,進行與第3周期中的對頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特的處理一樣的處理。由此,存儲在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的低位比特的邏輯值是第2讀出數據和低位比特的寫入目標值的邏輯與。
(屏蔽緩存器數據轉送)
圖18展示了屏蔽緩存器數據轉送的定時時序圖。該圖的第1~第2周期是校驗周期。參照該圖,在第1周期中,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET設置為“1”。由此,鎖存部件63的FFREG節點被預設置為“1”。然后,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET恢復為“0”。
存儲器陣列用讀出放大器52將讀寫數據總線RWDATA強制設置為“1”。頁緩存器/屏蔽緩存器陣列中的32比特的屏蔽緩存器向比特線BL輸出校驗判斷值。
EXNOR部件61通過讀寫數據總線RWDATA接收固定值“1”,通過比特線BL接收校驗判斷值,判斷校驗判斷值是“1”還是“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了將校驗判斷值判斷為“1”的數據時,讀出放大器放大信號SA成為“1”。在EXNOR部件61輸出了將校驗判斷值判斷為“0”的數據時,讀出放大器放大信號SA成為“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將放大信號取得信號ITRANSA設置為“0”。由此,鎖存部件63的FFREG節點與讀出放大器放大信號SA的電平對應地變化。在EXNOR部件61將校驗判斷值判斷為“1”時(即讀出放大器放大信號SA為“1”時),FFREG節點成為“1”。另一方面,在EXNOR部件61將校驗判斷值判斷為“0”時(即讀出放大器放大信號SA為“0”時),FFREG節點成為“0”。
向與驅動器部件65的變換器IV2連接的數據線IBDAT發送FFIREG節點的數據。如果寫入驅動器轉送控制信號WTR為“1”,則選擇器S10將讀寫數據總線RWDATA和數據線IBDAT連接起來。由此,通過讀寫數據總線RWDATA轉送到寫入驅動器和32比特到64比特轉換電路19。由此,將32比特的數據轉送到寫入驅動器和32比特到64比特轉換電路19。
在第2周期中,針對頁緩存器/屏蔽緩存器陣列中的其他32比特的屏蔽緩存器,也進行與第1周期一樣的處理。由此,進而將32比特的數據轉送到寫入驅動器和32比特到64比特轉換電路19。
寫入驅動器和32比特到64比特轉換電路19的32比特到64比特轉換電路部件根據在第1周期中從讀寫數據總線RWDATA接收到的32比特的數據和在第2周期中接收到的32比特的數據,生成64比特的數據。
寫入驅動器和32比特到64比特轉換電路19的寫入驅動器部件在FFREG節點為“0”時,即在頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件的校驗判斷值為“0”時,向對應的存儲器單元施加在未圖示的電壓控制電路中生成的寫入脈沖。另一方面,寫入驅動器在FFREG節點為“1”時,即在頁緩存器/屏蔽緩存器陣列51的屏蔽緩存器部件的校驗判斷值為“1”時,不向對應的存儲器單元施加寫入脈沖。
(閃速成對頁緩存器轉送)圖19展示了閃速成對頁緩存器轉送的定時時序圖。該圖的第1~第4周期是校驗周期。參照該圖,在第1周期中,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET設置為“1”。由此,鎖存部件63的FFREG節點被預設置為“1”。然后,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET恢復為“0”。
存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出第1讀出數據。頁緩存器/屏蔽緩存器用控制電路53通過控制線CTRL將比特線BL強制地設置為“1”。
EXNOR部件61通過讀寫數據總線RWDATA接收第1讀出數據,通過比特線BL接收固定值“1”,向比特線對BL、IBL輸出與第1讀出數據是“1”還是“0”對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了將第1讀出數據判斷為“1”的數據時,讀出放大器放大信號SA成為“1”。在EXNOR部件61輸出了將第1讀出數據判斷為“0”的數據時,讀出放大器放大信號SA成為“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將放大信號取得信號ITRANSA設置為“0”。由此,鎖存部件63的FFREG節點與讀出放大器放大信號SA的電平對應地變化。在EXNOR部件61將第1讀出數據判斷為“1”時(即讀出放大器放大信號SA為“1”時),FFREG節點成為“1”。另一方面,在EXNOR部件61將第1讀出數據判斷為“0”時(即讀出放大器放大信號SA為“0”時),FFREG節點成為“0”。
接著,在第2周期中,頁緩存器/屏蔽緩存器用控制電路53將驅動器控制信號IDRV設置為“0”。由此,驅動器部件65經由比特線對BL、IBL向頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的對應的比特輸出FFREG節點的數據。在FFREG節點為“1”時,向頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特寫入“1”,在FFREG節點為“0”時,向頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特寫入“0”。由此,存儲在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的高位比特的邏輯值是第1讀出數據的邏輯值。
接著,在第3周期中,針對第2讀出數據和頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的低位比特,進行與第1周期中的對第1讀出數據和頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特的處理一樣的處理。
接著,在第4周期中,針對頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的低位比特,進行與第3周期中的對頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特的處理一樣的處理。由此,存儲在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的低位比特的邏輯值是第2讀出數據的邏輯值。
(閃速成對頁緩存器反轉轉送)圖20展示了閃速成對頁緩存器反轉轉送的定時時序圖。該圖的第1~第4周期是校驗周期。參照該圖,在第1周期中,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET設置為“1”。由此,鎖存部件63的FFREG節點被預設置為“1”。然后,頁緩存器/屏蔽緩存器用控制電路53將預設置信號PRESET恢復為“0”。
存儲器陣列用讀出放大器52向讀寫數據總線RWDATA輸出第1讀出數據。頁緩存器/屏蔽緩存器用控制電路53通過控制線CTRL將比特線BL強制地設置為“0”。
EXNOR部件61通過讀寫數據總線RWDATA接收第1讀出數據,通過比特線BL接收固定值“0”,向比特線對BL、IBL輸出與第1讀出數據是“1”還是“0”對應的數據。
然后,頁緩存器/屏蔽緩存器用控制電路53將讀出放大器激活信號SAN/ISAP設置為“1”/“0”。由此,讀出放大器部件62對從EXNOR部件61輸出的比特線對BL、IBL的數據進行放大。在EXNOR部件61輸出了將第1讀出數據判斷為“0”的數據時,讀出放大器放大信號SA成為“1”。在EXNOR部件61輸出了將第1讀出數據判斷為“1”的數據時,讀出放大器放大信號SA成為“0”。
然后,頁緩存器/屏蔽緩存器用控制電路53將放大信號取得信號ITRANSA設置為“0”。由此,鎖存部件63的FFREG節點與讀出放大器放大信號SA的電平對應地變化。在EXNOR部件61將第1讀出數據判斷為“0”時(即讀出放大器放大信號SA為“1”時),FFREG節點成為“1”。另一方面,在EXNOR部件61將第1讀出數據判斷為“1”時(即讀出放大器放大信號SA為“0”時),FFREG節點成為“0”。
接著,在第2周期中,頁緩存器/屏蔽緩存器用控制電路53將驅動器控制信號IDRV設置為“0”。由此,驅動器部件65經由比特線對BL、IBL向頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的對應的比特輸出FFREG節點的數據。在FFREG節點為“1”時,向頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特寫入“1”,在FFREG節點為“0”時,向頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特寫入“0”。由此,存儲在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的高位比特的邏輯值是第1讀出數據的邏輯值的反轉值。
接著,在第3周期中,針對第2讀出數據和頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的低位比特,進行與第1周期中的對第1讀出數據和頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特的處理一樣的處理。
接著,在第4周期中,針對頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的低位比特,進行與第3周期中的對頁緩存器/屏蔽緩存器陣列51的頁緩存器部件的高位比特的處理一樣的處理。由此,存儲在頁緩存器/屏蔽緩存器陣列51的頁緩存器部件中的低位比特的邏輯值是第2讀出數據的邏輯值的反轉值。
如上所述,根據本實施例的非易失性半導體存儲裝置,與實施例1一樣,通過具備屏蔽緩存器和頁緩存器2個緩存器,在向非易失性存儲器單元晶體管進行多值寫入時,能夠適當地進行校驗,同時能夠產生如下的效果。
首先,通過在校驗電路54內部設置讀出放大器部件62,能夠縮小非易失性半導體存儲裝置的面積。
另外,能夠共通地使用將校驗電路54和存儲器陣列用讀出放大器20連接起來的讀出用總線、將校驗電路54和寫入驅動器和32比特到64比特轉換電路19連接起來的寫入用總線。
另外,通過總線檢查校驗和00轉送,在寫入邏輯值“00”的過程中,通過增大寫入脈沖的增加幅度,能夠使對存儲器單元的寫入高速化。
另外,通過11轉送,在上裾校驗時,能夠自動地使作為非寫入對象的邏輯值“11”的上裾校驗成為PASS(成功)。由此,能夠使得“11”上裾電平(=V_11H)的電平不會因噪聲等產生變動而發生無用的校驗失敗。
另外,通過虛擬校驗,能夠將不能寫入的寫入目標值修正為能夠寫入的寫入目標值。
能夠進行從存儲器陣列向頁緩存器部件的數據轉送、從屏蔽緩存器部件通過讀寫數據總線RWDATA的數據轉送。
另外,因為根據能夠從外部設置的與未圖示的寄存器的設置值對應的周期的內部時鐘信號ICLK,生成控制校驗電路54的信號,所以能夠將校驗周期設置為希望值。通過延長校驗周期,能夠以低消耗電流進行動作。
本發明并不只限于上述實施例,例如,還包含以下的變形例子。
(1)N比特的寫入在本實施例中,說明了2比特的寫入的例子,但也能夠適用于大于等于3比特的寫入。
(2)實施例1的校驗電路在本發明的實施例1中,通過向校驗電路17追加元件或者/并且追加控制信號,還能夠具備以下功能如果在上裾校驗前進行“11”轉送,在上裾校驗時屏蔽緩存器內的校驗判斷值為“1”,則自動地使上裾校驗成為PASS。
另外,在本發明的實施例1中,通過向校驗電路17追加元件或者/并且追加控制信號,還能夠具備以下功能在脈沖檢查校驗和“00”轉送后,增大寫入脈沖的電壓的增加幅度。
同樣地,在本發明的實施例1中,通過向校驗電路17追加元件或者/并且追加控制信號,還能夠具備閃速成對頁緩存器轉送、閃速成對頁緩存器反轉轉送、屏蔽緩存器數據轉送的功能。
(3)與寄存器的設置值對應的時鐘說明了根據能夠從外部設置的與未圖示的寄存器的設置值對應的周期的內部時鐘信號ICLK,生成控制校驗電路54的信號,但也可以生成與校驗動作關聯的其他電路的控制信號。例如,也可以是根據與寄存器的設置值對應的周期的內部時鐘信號ICLK,生成對存儲器陣列用讀出放大器20和與存儲器陣列21連接的比特線進行預充電的預充電信號。
以上,詳細說明了本發明,但這只是示例,并不是限定,可以理解為只由所附加的權利要求限定本發明的精神和范圍。
權利要求
1.一種非易失性半導體存儲裝置,其特征在于包括以多個行列狀地配置了各自與閾值電壓對應地存儲N比特的邏輯值的非易失性的存儲器單元晶體管的存儲器陣列;在下裾校驗時,通過根據下裾校驗用的閾值電壓的區分,分2部分檢測地N次檢查選擇出的存儲器單元的閾值電壓的范圍,來輸出N比特的邏輯值,在上裾校驗時,通過根據上裾校驗用的閾值電壓的區分,分2部分檢測地N次檢查選擇出的存儲器單元的閾值電壓的范圍,來輸出N比特的邏輯值的存儲器陣列用讀出放大器;各N比特存儲向對應的存儲器單元寫入的寫入目標值的第1緩存器;各1比特存儲確定對對應的存儲器單元的處理的值的第2緩存器;在與選擇出的存儲器單元對應的第2緩存器內的比特表示第1值時,選擇寫入脈沖的施加的寫入驅動器;對從上述存儲器陣列用讀出放大器輸出的N比特的邏輯值、上述第1緩存器內的對應的N比特的寫入目標值進行比較,在比較結果一致時輸出表示校驗成功的信號,在比較結果不一致時輸出表示校驗失敗的信號的校驗電路,其中上述校驗電路在判斷出比較結果一致的情況下,在與上述選擇出的存儲器單元對應的上述第2緩存器內的比特表示第1值時,將上述比特改寫為第2值。
2.根據權利要求1所述的非易失性半導體存儲裝置,其特征在于上述校驗電路在上裾校驗前,針對上述寫入目標值與存儲器單元的閾值電壓為最小的范圍對應的存儲器單元,將上述第2值轉送到對應的上述第2緩存器的比特中,上述校驗電路在上裾校驗時,在與上述比較的N比特的邏輯值對應的上述第2緩存器的比特為第2值時,即使上述比較結果是不一致時,也輸出表示校驗成功的信號。
3.根據權利要求1所述的非易失性半導體存儲裝置,其特征在于還包括與下裾校驗的循環次數對應地增加寫入脈沖的電壓的電壓控制電路,其中上述校驗電路調查在選擇出的多個存儲器單元中,是否不存在從上述存儲器陣列用讀出放大器輸出的N比特的邏輯值與小于等于規定的閾值對應,并且對應的第2緩存器的比特是第1值那樣的存儲器單元,上述校驗電路在不存在上述存儲器單元時,針對選擇出的多個存儲器單元中的上述第1緩存器的N比特的邏輯值與最大的閾值的范圍對應的存儲器單元,向對應的上述第2緩存器的比特轉送第1值,針對上述第1緩存器的N比特的邏輯值不與上述最大的閾值的范圍對應的存儲器單元,向對應的上述第2緩存器的比特轉送第2值,上述電壓控制電路將向上述第2緩存器轉送第1值或第2值后的寫入脈沖的電壓的增加幅度增加為比向上述第2緩存器轉送第1值或第2值前的寫入脈沖的電壓的增加幅度大。
4.根據權利要求1所述的非易失性半導體存儲裝置,其特征在于上述第1緩存器和上述第2緩存器構成緩存器陣列,在上述緩存器陣列和上述校驗電路之間,轉送上述寫入目標值和確定上述處理的值,上述存儲器陣列用讀出放大器通過讀寫兼用總線,向上述校驗電路串行地轉送存儲在上述存儲器單元中的N比特的邏輯值的各比特,上述校驗電路通過上述讀寫兼用總線,向上述寫入驅動器轉送上述確定處理的值。
5.根據權利要求4所述的非易失性半導體存儲裝置,其特征在于上述校驗電路具備與上述緩存器陣列連接的比特線對;比較上述比特線對的一個比特線的數據的電平、上述讀寫兼用總線的數據的電平是否一致,向上述比特線對輸出與比較結果對應的數據的比較部件;對輸出了與上述比較結果對應的數據的上述比特線對的數據進行放大的讀出放大器部件;接收上述放大后的上述比特線對的數據,對與上述比特線對的數據的電平對應的邏輯值進行鎖存的鎖存部件;根據在上述鎖存部件中鎖存的邏輯值,輸出校驗結果的校驗判斷部件;經由上述比特線對向上述緩存器陣列輸出基于在上述鎖存部件中鎖存了的邏輯值的值的驅動器部件,其中在校驗時,從上述存儲器陣列用讀出放大器向上述讀寫兼用總線串行地輸入存儲在存儲器單元中的N比特的邏輯值的各比特,在校驗時,向上述比特線對的一個比特線串行地輸入上述緩存器陣列內的第1緩存器的N比特的寫入目標值的各比特,在對上述N比特的邏輯值的第N比特和上述N比特的寫入目標值的第N比特進行了上述比較部件中的處理、上述讀出放大器部件中的處理、上述鎖存部件中的處理后,上述校驗判斷部件根據在上述鎖存部件中鎖存的邏輯值,輸出校驗結果,在校驗時,上述驅動器部件在對上述第N比特的上述處理后,經由上述比特線對,向上述緩存器陣列內的上述第2緩存器的對應的比特輸出基于在上述鎖存部件中鎖存了的數據的值。
6.根據權利要求5所述的非易失性半導體存儲裝置,其特征在于上述校驗電路進而在向上述第1緩存器的對應的N比特轉送存儲在上述存儲器陣列的存儲器單元中的N比特的邏輯值時,從上述存儲器陣列用讀出放大器向上述讀寫兼用總線串行地輸入存儲在存儲器單元中的N比特的邏輯值的各比特,向上述比特線對的一個比特線輸入固定值,上述驅動器部件在對上述N比特的邏輯值的第N比特進行了上述比較部件中的處理、上述讀出放大器部件中的處理、上述鎖存部件中的處理后,經由上述比特線對,向上述緩存器陣列內的上述第1緩存器的對應的比特輸出基于在上述鎖存部件中鎖存的數據的值。
7.根據權利要求5所述的非易失性半導體存儲裝置,其特征在于上述校驗電路進而在向上述寫入驅動器轉送存儲在上述第2緩存器中的比特時,向上述讀寫兼用總線輸入固定值,向上述比特線對的一個比特線輸入表示構成上述緩存器陣列的第2緩存器的處理的值,上述驅動器部件在進行了表示上述處理的值的上述比較部件中的處理、上述讀出放大器部件中的處理、上述鎖存部件中的處理后,經由上述讀寫兼用總線向上述寫入驅動器輸出基于在上述鎖存部件中鎖存的數據的值。
8.根據權利要求5所述的非易失性半導體存儲裝置,其特征在于上述校驗電路進而在根據存儲在上述第1緩存器中的N比特的寫入目標值、存儲在上述存儲器陣列的存儲器單元中的N比特的邏輯值,生成新的N比特的寫入目標值,并將上述新的N比特的寫入目標值轉送到上述第1緩存器時,從上述存儲器陣列用讀出放大器向上述讀寫兼用總線串行地輸入存儲在存儲器單元中的N比特的邏輯值的各比特,向上述比特線對的一個比特線串行地輸入構成上述緩存器陣列的第1緩存器內的N比特的寫入目標值的各比特,上述驅動器部件在進行了上述各比特的上述比較部件中的處理、上述讀出放大器部件中的處理、上述鎖存部件中的處理后,經由上述比特線對向上述第1緩存器的對應的比特輸出基于在上述鎖存部件中鎖存的數據的值。
9.根據權利要求5所述的非易失性半導體存儲裝置,其特征在于上述校驗電路在上述第1緩存器內的N比特的寫入目標值是規定的邏輯值時,在向上述第2緩存器的對應的比特轉送規定的值時,向上述讀寫兼用總線輸入固定值,向上述比特線對的一個比特線串行地輸入上述緩存器陣列內的第1緩存器的N比特的寫入目標值的各比特,上述驅動器部件在對上述N比特的寫入目標值的第N比特進行了上述比較部件中的處理、上述讀出放大器部件中的處理、上述鎖存部件中的處理后,經由上述比特線對,向構成上述緩存器陣列的上述第2緩存器的對應的比特輸出基于在上述鎖存部件中鎖存的數據的值。
10.根據權利要求5所述的非易失性半導體存儲裝置,其特征在于上述校驗電路在調查從上述存儲器陣列用讀出放大器輸出的N比特的邏輯值和表示上述第2緩存器內的對應的比特的處理的值的組合是否滿足規定的條件時,從上述存儲器陣列用讀出放大器向上述讀寫兼用總線串行地輸入存儲在存儲器單元中的N比特的邏輯值的各比特,向上述比特線對的一個比特線輸入固定值,在對上述N比特的邏輯值的第N比特進行了上述比較部件中的處理、上述讀出放大器部件中的處理、上述鎖存部件中的處理后,向上述讀寫兼用總線輸入固定值,向上述比特線對的一個比特線輸入確定上述緩存器陣列內的第2緩存器的處理的值,上述校驗判斷部件在對表示上述處理的值進行了上述比較部件中的處理、上述讀出放大器部件中的處理、上述鎖存部件中的處理后,根據在上述鎖存部件中鎖存了的數據,輸出校驗結果。
11.根據權利要求5所述的非易失性半導體存儲裝置,其特征在于還包括生成與寄存器的設置值對應的周期的內部時鐘的內部時鐘產生部件;根據在上述內部時鐘產生部件中生成的內部時鐘,生成控制上述校驗電路內的上述讀出放大器部件的比特線對的放大的信號、控制上述校驗電路內的上述比特線對的預充電的信號、控制上述校驗電路內的上述鎖存部件的上述比特線對的鎖存的信號、控制上述校驗電路內的上述驅動器部件的向上述第2緩存器輸出鎖存了的數據的信號的控制電路。
全文摘要
在本發明的非易失性半導體存儲裝置中,存儲器陣列的存儲器單元存儲2比特。存儲器陣列用讀出放大器在校驗時輸出2比特。頁緩存器的各2比特存儲向對應的存儲單元寫入的寫入目標值。屏蔽緩存器的各比特存儲確定對對應的存儲器單元的處理的值。寫入驅動器在與選擇出的存儲器單元對應的屏蔽緩存器內的比特為“0”時施加寫入脈沖。校驗電路對從存儲器陣列用讀出放大器輸出的2比特和頁緩存器內的對應的2比特進行比較,在比較結果是一致時,如果對應的屏蔽緩存器內的比特為“0”,則改寫為“1”。
文檔編號G11C11/34GK1677570SQ20051006276
公開日2005年10月5日 申請日期2005年3月30日 優先權日2004年3月30日
發明者藤澤友之, 柴原輝, 三谷秀德, 神田明彥 申請人:株式會社瑞薩科技