本公開涉及半導(dǎo)體,尤其涉及一種內(nèi)部錯(cuò)誤檢查電路和存儲(chǔ)器。
背景技術(shù):
1、隨著半導(dǎo)體技術(shù)的不斷發(fā)展,人們在制造和使用計(jì)算機(jī)等設(shè)備時(shí),對數(shù)據(jù)的傳輸速度提出了越來越高的要求。為了獲得更快的數(shù)據(jù)傳輸速度,應(yīng)運(yùn)而生了一系列數(shù)據(jù)可以雙倍速率(double?data?rate,ddr)傳輸?shù)膭?dòng)態(tài)隨機(jī)存取存儲(chǔ)器件dram。
2、然而,隨著存儲(chǔ)器的傳輸速度越來越快、存儲(chǔ)單元工藝尺寸縮小以及行錘擊(rowhammer)等原因,dram存儲(chǔ)器中存在的電荷泄漏等問題越來越嚴(yán)重,這可能增加存儲(chǔ)系統(tǒng)數(shù)據(jù)的不穩(wěn)定性和潛在的錯(cuò)誤率。因此,需要適當(dāng)?shù)膬?nèi)部錯(cuò)誤檢查機(jī)制,定期對存儲(chǔ)器進(jìn)行內(nèi)部錯(cuò)誤檢查并及時(shí)糾正檢查到的錯(cuò)誤,以確保數(shù)據(jù)的完整性和系統(tǒng)的可靠性。
技術(shù)實(shí)現(xiàn)思路
1、本公開實(shí)施例提供了一種內(nèi)部錯(cuò)誤檢查電路和存儲(chǔ)器。
2、第一方面,本公開實(shí)施例提供了一種內(nèi)部錯(cuò)誤檢查電路,包括:時(shí)鐘生成電路、內(nèi)部命令生成電路、地址生成電路、控制邏輯電路和糾錯(cuò)電路;所述時(shí)鐘生成電路,配置為,響應(yīng)于自刷新使能信號,生成并輸出自刷新時(shí)鐘信號;所述內(nèi)部命令生成電路,配置為,接收自刷新時(shí)鐘信號和錯(cuò)誤檢查使能信號,在所述錯(cuò)誤檢查使能信號指示內(nèi)部錯(cuò)誤檢查功能開啟時(shí)對所述自刷新時(shí)鐘信號進(jìn)行計(jì)數(shù),并在所述自刷新時(shí)鐘信號的計(jì)數(shù)值為第一預(yù)設(shè)值時(shí),生成并輸出一個(gè)內(nèi)部錯(cuò)誤檢查命令信號;所述地址生成電路,配置為,接收所述內(nèi)部錯(cuò)誤檢查命令信號,并對所述內(nèi)部錯(cuò)誤檢查命令信號進(jìn)行計(jì)數(shù),以生成并輸出內(nèi)部錯(cuò)誤檢查地址;所述控制邏輯電路,配置為,接收所述內(nèi)部錯(cuò)誤檢查命令信號和所述內(nèi)部錯(cuò)誤檢查地址,并響應(yīng)于所述內(nèi)部錯(cuò)誤檢查命令信號,控制所述糾錯(cuò)電路依次對多個(gè)存儲(chǔ)陣列中所述內(nèi)部錯(cuò)誤檢查地址對應(yīng)的目標(biāo)存儲(chǔ)單元執(zhí)行一次內(nèi)部讀-修改-寫操作;其中,所述多個(gè)存儲(chǔ)陣列共用所述糾錯(cuò)電路。
3、在一些實(shí)施例中,所述控制邏輯電路包括多個(gè)存儲(chǔ)陣列控制電路,所述多個(gè)存儲(chǔ)陣列控制電路與所述多個(gè)存儲(chǔ)陣列一一對應(yīng);每個(gè)所述存儲(chǔ)陣列控制電路,配置為,接收所述內(nèi)部錯(cuò)誤檢查命令信號和所述內(nèi)部錯(cuò)誤檢查地址,響應(yīng)于所述內(nèi)部錯(cuò)誤檢查命令信號依次生成多組內(nèi)部信號,并在對應(yīng)的存儲(chǔ)陣列處于使能狀態(tài)時(shí),根據(jù)對應(yīng)的一組內(nèi)部信號控制所述糾錯(cuò)電路對對應(yīng)的存儲(chǔ)陣列中的所述目標(biāo)存儲(chǔ)單元執(zhí)行一次內(nèi)部讀-修改-寫操作;其中,每組內(nèi)部信號包括內(nèi)部讀信號和內(nèi)部寫信號。
4、在一些實(shí)施例中,所述糾錯(cuò)電路,配置為,根據(jù)所述內(nèi)部讀信號從所述目標(biāo)存儲(chǔ)單元中讀取存儲(chǔ)數(shù)據(jù),并對所述存儲(chǔ)數(shù)據(jù)進(jìn)行檢錯(cuò)和糾錯(cuò)以生成校正數(shù)據(jù);所述糾錯(cuò)電路,還配置為,根據(jù)內(nèi)部寫信號將所述校正數(shù)據(jù)寫入所述目標(biāo)存儲(chǔ)單元中。
5、在一些實(shí)施例中,所述內(nèi)部命令生成電路,還配置為,在所述錯(cuò)誤檢查使能信號指示內(nèi)部錯(cuò)誤檢查功能未開啟時(shí),響應(yīng)于所述自刷新時(shí)鐘信號上的每個(gè)脈沖,生成并輸出一個(gè)內(nèi)部自刷新命令信號;以及在所述錯(cuò)誤檢查使能信號指示內(nèi)部錯(cuò)誤檢查功能開啟且所述自刷新時(shí)鐘信號的計(jì)數(shù)值不為第一預(yù)設(shè)值時(shí),生成并輸出一個(gè)內(nèi)部自刷新命令信號。
6、在一些實(shí)施例中,所述控制邏輯電路,還配置為,在控制所述糾錯(cuò)電路依次對多個(gè)存儲(chǔ)陣列中所述內(nèi)部錯(cuò)誤檢查地址對應(yīng)的目標(biāo)存儲(chǔ)單元執(zhí)行一次內(nèi)部讀-修改-寫操作后,控制對所有存儲(chǔ)陣列執(zhí)行一次自刷新操作。
7、在一些實(shí)施例中,所述地址生成電路包括列地址生成電路、第一譯碼電路和行地址生成電路;所述列地址生成電路,配置為接收所述內(nèi)部錯(cuò)誤檢查命令信號,根據(jù)所述內(nèi)部錯(cuò)誤檢查命令信號對當(dāng)前存儲(chǔ)行進(jìn)行列計(jì)數(shù),生成并輸出目標(biāo)列地址;所述第一譯碼電路,配置為對所述目標(biāo)列地址進(jìn)行譯碼,在所述目標(biāo)列地址指示當(dāng)前存儲(chǔ)行的列計(jì)數(shù)完成時(shí),生成并輸出列結(jié)束信號;所述行地址生成電路,配置為接收所述列結(jié)束信號和所述內(nèi)部錯(cuò)誤檢查命令信號,并根據(jù)所述列結(jié)束信號對存儲(chǔ)陣列進(jìn)行行計(jì)數(shù),生成并輸出目標(biāo)行地址信號。
8、在一些實(shí)施例中,所述行地址生成電路包括:行計(jì)數(shù)電路,配置為接收所述列結(jié)束信號,并根據(jù)所述列結(jié)束信號對存儲(chǔ)陣列進(jìn)行行計(jì)數(shù),生成并輸出行計(jì)數(shù)值;行地址采樣電路,配置為接收所述內(nèi)部錯(cuò)誤檢查命令信號和所述行計(jì)數(shù)值,并響應(yīng)于所述內(nèi)部錯(cuò)誤檢查命令信號對所述行計(jì)數(shù)值進(jìn)行采樣,生成并輸出所述目標(biāo)行地址信號。
9、在一些實(shí)施例中,所述地址生成電路還包括刷新地址生成電路,配置為接收所述內(nèi)部自刷新命令信號,并根據(jù)所述內(nèi)部自刷新命令信號對存儲(chǔ)陣列進(jìn)行行計(jì)數(shù),生成并輸出自刷新地址;所述控制邏輯電路,還配置為,基于所述自刷新地址控制對所有存儲(chǔ)陣列執(zhí)行一次刷新操作。
10、在一些實(shí)施例中,所述列地址生成電路包括n個(gè)級聯(lián)的第一觸發(fā)器,n為大于或等于1的整數(shù);第一級所述第一觸發(fā)器的時(shí)鐘控制端作為所述列地址生成電路的輸入端,接收所述內(nèi)部錯(cuò)誤檢查命令信號;每一級所述第一觸發(fā)器的反相輸出端與自身的數(shù)據(jù)輸入端連接;除第一級所述第一觸發(fā)器之外的其他所述第一觸發(fā)器的時(shí)鐘控制端均與前一級所述第一觸發(fā)器的反相輸出端連接;n個(gè)所述第一觸發(fā)器的正相輸出端共同輸出所述目標(biāo)列地址;所述第一譯碼電路包括第一與非門,所述第一與非門的n個(gè)輸入端分別與n個(gè)所述第一觸發(fā)器的正相輸出端連接,所述第一與非門的輸出端用于輸出所述列結(jié)束信號。
11、在一些實(shí)施例中,所述行計(jì)數(shù)電路包括m個(gè)級聯(lián)的第二觸發(fā)器,m為大于或等于1的整數(shù);第一級所述第二觸發(fā)器的時(shí)鐘控制端作為所述行計(jì)數(shù)電路的輸入端,接收所述列結(jié)束信號;每一級所述第二觸發(fā)器的反相輸出端與自身的數(shù)據(jù)輸入端連接;除第一級所述第二觸發(fā)器之外的其他所述第二觸發(fā)器的時(shí)鐘控制端均與前一級所述第二觸發(fā)器的反相輸出端連接;m個(gè)所述第二觸發(fā)器的正相輸出端共同輸出所述行計(jì)數(shù)值;所述行地址采樣電路包括m個(gè)第三觸發(fā)器;每一個(gè)所述第三觸發(fā)器的時(shí)鐘控制端均接收所述內(nèi)部錯(cuò)誤檢查命令信號;m個(gè)所述第三觸發(fā)器的數(shù)據(jù)輸入端與m個(gè)所述第二觸發(fā)器的正相輸出端一一對應(yīng)連接,接收所述行計(jì)數(shù)值;m個(gè)所述第三觸發(fā)器的正相輸出端共同輸出所述目標(biāo)行地址。
12、在一些實(shí)施例中,所述存儲(chǔ)陣列控制電路包括:標(biāo)識信號生成電路,配置為接收所述內(nèi)部錯(cuò)誤檢查命令信號,并響應(yīng)于所述內(nèi)部錯(cuò)誤檢查命令信號,生成并輸出處于有效電平的操作標(biāo)識信號;讀/寫命令生成電路,配置為接收所述操作標(biāo)識信號和所述內(nèi)部錯(cuò)誤檢查命令信號,并響應(yīng)于所述內(nèi)部錯(cuò)誤檢查命令信號,在所述操作標(biāo)識信號處于有效電平期間依次生成多組內(nèi)部信號;所述標(biāo)識信號生成電路,還配置為接收所述內(nèi)部寫信號,并在所述內(nèi)部寫信號的計(jì)數(shù)值達(dá)到第二預(yù)設(shè)值時(shí),將所述操作標(biāo)識信號設(shè)置為無效電平。
13、在一些實(shí)施例中,所述標(biāo)識信號生成電路包括:命令計(jì)數(shù)電路,配置為,對所述內(nèi)部寫信號的反相信號進(jìn)行計(jì)數(shù),以生成并輸出所述內(nèi)部寫信號的計(jì)數(shù)值;第二譯碼電路,配置為,接收所述內(nèi)部寫信號的計(jì)數(shù)值,并在所述內(nèi)部寫信號的計(jì)數(shù)值為第二預(yù)設(shè)數(shù)值時(shí),生成并輸出操作結(jié)束信號;sr觸發(fā)器,配置為,接收所述內(nèi)部錯(cuò)誤檢查命令信號和所述操作結(jié)束信號,并響應(yīng)于所述內(nèi)部錯(cuò)誤檢查命令信號,將所述操作標(biāo)識信號設(shè)置為有效電平,以及在所述內(nèi)部寫信號的計(jì)數(shù)值達(dá)到第二預(yù)設(shè)值時(shí),將所述操作標(biāo)識信號設(shè)置為無效電平。
14、在一些實(shí)施例中,所述讀/寫命令生成電路包括:第二與非門,所述第二與非門的第一輸入端接收所述操作標(biāo)識信號,所述第二與非門的第二輸入端接收所述內(nèi)部錯(cuò)誤檢查命令信號;第一或非門,所述第一或非門的第一輸入端與所述第二與非門的輸出端電連接,所述第一或非門的輸出端用于輸出所述內(nèi)部讀信號;第二或非門,所述第二或非門的第一輸入端與所述第一或非門的輸出端電連接,所述第二或非門的輸出端與所述第一或非門的第二輸入端電連接;延遲單元,所述延遲單元的輸入端與所述第一或非門的輸出端電連接;第一非門,所述第一非門的輸入端與所述延遲單元的輸出端電連接,所述第一非門的輸出端與所述第二或非門的第二輸入端電連接;第二非門,所述第二非門的輸入端接收所述操作標(biāo)識信號;第三或非門,所述第三或非門的第一輸入端與所述第二非門的輸出端電連接,所述第三或非門的第二輸入端與所述第一或非門的輸出端電連接,所述第三或非門的輸出端用于輸出所述內(nèi)部寫信號。
15、在一些實(shí)施例中,所述存儲(chǔ)陣列控制電路還包括:自刷新控制電路,配置為接收所述操作標(biāo)識信號和自刷新地址,并在所述操作標(biāo)識信號翻轉(zhuǎn)至無效電平時(shí),根據(jù)所述自刷新地址控制對應(yīng)的存儲(chǔ)陣列執(zhí)行一次刷新操作。
16、在一些實(shí)施例中,所述糾錯(cuò)電路,還配置為,在對所述目標(biāo)存儲(chǔ)單元執(zhí)行內(nèi)部讀-修改-寫操作時(shí),若所述目標(biāo)存儲(chǔ)單元中的存儲(chǔ)數(shù)據(jù)存在錯(cuò)誤時(shí),生成并輸出錯(cuò)誤標(biāo)識信號;所述內(nèi)部錯(cuò)誤檢查電路還包括:錯(cuò)誤寄存器,配置為,接收所述內(nèi)部錯(cuò)誤檢查地址和所述錯(cuò)誤標(biāo)識信號,并響應(yīng)于所述錯(cuò)誤標(biāo)識信號,將所述內(nèi)部錯(cuò)誤檢查地址進(jìn)行存儲(chǔ)。
17、第二方面,本公開實(shí)施例提供了一種存儲(chǔ)器,該存儲(chǔ)器包括如第一方面所述的內(nèi)部錯(cuò)誤檢查電路。
18、本公開實(shí)施例提供了一種內(nèi)部錯(cuò)誤檢查電路和存儲(chǔ)器,該內(nèi)部錯(cuò)誤檢查電路中的內(nèi)部命令生成電路,在錯(cuò)誤檢查使能信號指示內(nèi)部錯(cuò)誤檢查功能開啟且每當(dāng)自刷新時(shí)鐘信號的計(jì)數(shù)值達(dá)到第一預(yù)設(shè)值時(shí),可以“偷取”自刷新時(shí)鐘信號上的當(dāng)前脈沖以生成內(nèi)部錯(cuò)誤檢查命令信號,而控制邏輯電路可以基于該內(nèi)部錯(cuò)誤檢查命令信號,復(fù)用原有的執(zhí)行外部讀-修改-寫命令的操作電路和路徑,控制糾錯(cuò)電路依次對共用其的多個(gè)存儲(chǔ)陣列中的目標(biāo)存儲(chǔ)單元執(zhí)行一次內(nèi)部讀-修改-寫操作,由于糾錯(cuò)電路執(zhí)行的內(nèi)部讀-修改-寫操作具有數(shù)據(jù)檢錯(cuò)/糾錯(cuò)的功能。如此,內(nèi)存錯(cuò)誤檢查電路便可復(fù)用原有的時(shí)鐘生成電路(用于自刷新操作)、執(zhí)行外部讀-修改-寫命令的操作電路和路徑,不會(huì)對原有的自刷新操作、外部讀-修改-寫操作的時(shí)序造成影響,并且僅需要對原有的內(nèi)部命令生成電路、地址生成電路和控制邏輯電路進(jìn)行簡單改進(jìn),就可以實(shí)現(xiàn)對多個(gè)存儲(chǔ)陣列進(jìn)行定期的數(shù)據(jù)錯(cuò)誤檢錯(cuò)/糾錯(cuò)操作,在實(shí)現(xiàn)了內(nèi)部錯(cuò)誤檢查機(jī)制以有效提升存儲(chǔ)數(shù)據(jù)穩(wěn)定性的前提下,優(yōu)化了電路設(shè)計(jì),節(jié)省了電路面積。