本申請要求2015年11月2日向韓國知識產(chǎn)權(quán)局提交的申請?zhí)枮?0-2015-0153101的韓國申請的優(yōu)先權(quán),其全部內(nèi)容通過引用合并于此。
技術(shù)領域
各種實施例總體而言涉及一種片上邏輯塊、系統(tǒng)和存儲器件,并且更具體地,涉及一種包括ECC(錯誤校正碼)電路的片上邏輯塊、系統(tǒng)和存儲器件。
背景技術(shù):
通常,在存儲器件和系統(tǒng)中,ECC(錯誤校正碼)功能用于檢測和校正在儲存或讀取數(shù)據(jù)的過程中可能發(fā)生的錯誤。ECC算法可以包括漢明碼方案或BCH碼方案,所述漢明碼方案能夠校正每單位數(shù)據(jù)的1位錯誤,所述BCH碼方案能夠校正多位錯誤。ECC功能用在作為代表易失性存儲器件的DRAM和作為代表非易失性存儲器件的快閃存儲器二者中。
通常,執(zhí)行ECC功能的ECC電路不僅可以產(chǎn)生及儲存數(shù)據(jù)位,還可以產(chǎn)生及儲存奇偶校驗位,通過使用奇偶校驗位來判斷要寫入或讀取的數(shù)據(jù)中是否發(fā)生錯誤,以及校正發(fā)生的錯誤。可以在主機與存儲器件之間執(zhí)行常規(guī)ECC操作。
近來,正在開發(fā)其中多個芯片層疊以形成單個存儲器件的3D存儲器件,以增加數(shù)據(jù)存儲容量。隨著這種發(fā)展,存儲器件的帶寬正在顯著增加。因此,可能有必要在存儲器件中執(zhí)行ECC操作,而不管主機如何。
技術(shù)實現(xiàn)要素:
在一個實施例中,可以提供一種存儲器件。所述存儲器件可以包括片上邏輯塊。所述存儲器件可以包括核心區(qū),其被配置成儲存從片上邏輯塊輸出的數(shù)據(jù)。片上邏輯塊可以包括主機ECC電路,其被配置成執(zhí)行主機側(cè)ECC操作。片上邏輯塊可以包括存儲器ECC電路,其被配置成執(zhí)行存儲器側(cè)ECC操作。
在一個實施例中,可以提供一種存儲器件。所述存儲器件可以包括邏輯裸片。所述存儲器件可以包括與邏輯裸片層疊在一起的多個存儲裸片。邏輯裸片可以包括主機ECC電路,其被配置成執(zhí)行主機側(cè)ECC操作。邏輯裸片可以包括存儲器ECC電路,其被配置成執(zhí)行存儲器側(cè)ECC操作。
在一個實施例中,可以提供一種系統(tǒng)。所述系統(tǒng)可以包括主機以及被配置為與主機通信的存儲器件。所述存儲器件可以包括片上邏輯塊。所述存儲器件可以包括核心區(qū),其被配置成儲存從片上邏輯塊輸出的數(shù)據(jù)。片上邏輯塊可以包括第一主機ECC電路,其被配置成執(zhí)行主機側(cè)ECC操作。片上邏輯塊可以包括存儲器ECC電路,其被配置成執(zhí)行存儲器側(cè)ECC操作。
在一個實施例中,可以提供片上邏輯塊。所述片上邏輯塊可以包括主機ECC電路,其被配置成基于主機奇偶校驗位來校正錯誤。所述片上邏輯塊可以包括存儲器ECC電路,其被配置成基于存儲器奇偶校驗位來校正錯誤。
附圖說明
圖1為圖示了根據(jù)一個實施例的系統(tǒng)的配置的示例代表的示圖。
圖2為圖示了根據(jù)一個實施例的系統(tǒng)的配置的示例代表的示圖。
圖3為圖示了根據(jù)一個實施例的系統(tǒng)的配置的示例代表的示圖。
圖4為圖示了根據(jù)一個實施例的系統(tǒng)的配置的示例代表的示圖。
圖5為圖示了根據(jù)一個實施例的系統(tǒng)的配置的示例代表的示圖。
圖6為圖示了根據(jù)一個實施例的系統(tǒng)的配置的示例代表的示圖。
具體實施方式
各種實施例可以針對一種片上ECC(錯誤校正碼)電路以及包括其的存儲器件和系統(tǒng),所述片上ECC電路能夠執(zhí)行主機側(cè)ECC操作和存儲器側(cè)ECC操作二者,以及由此可以減少要儲存在存儲器件中的奇偶校驗位的容量。
在下文中,以下可以參照附圖通過實施例的各種示例來描述包括片上ECC(錯誤校正碼)電路的存儲器件和系統(tǒng)。
圖1為圖示了根據(jù)一個實施例的系統(tǒng)1的配置的示例代表的示圖。參見圖1,系統(tǒng)1可以包括主機110和存儲器件120。主機110控制存儲器件120,使得存儲器件120可以執(zhí)行各種操作。主機110和存儲器件120可以執(zhí)行數(shù)據(jù)通信。例如,主機110可以包括:中央處理單元(CPU)、圖形處理單元(GPU)、存儲器控制器、多媒體處理器(MMP)或者數(shù)字信號處理器(DSP)。主機110可以通過將具有各種功能的處理器芯片(例如,應用處理器)組合而實現(xiàn)為片上系統(tǒng)(Soc)的形式。存儲器件120可以包括易失性存儲器和非易失性存儲器。易失性存儲器可以包括:SRAM(靜態(tài)RAM)、DRAM(動態(tài)RAM) 或者SDRAM(同步DRAM),而非易失性存儲器可以包括:ROM(只讀存儲器)、PROM(可編程ROM)、EEPROM(電可擦除可編程ROM)、EPROM(電可編程ROM)、快閃存儲器、PRAM(相變RAM)、MRAM(磁性RAM)、RRAM(電阻式RAM)或者FRAM(鐵電RAM)。
主機110和存儲器件120可以通過經(jīng)由多個總線耦接而彼此通信。例如,主機110和存儲器件120可以經(jīng)由命令/地址總線131和數(shù)據(jù)總線132而耦接。主機110可以經(jīng)由命令/地址總線131將命令/地址信號CMD/ADD提供至存儲器件120,以控制存儲器件120的操作。數(shù)據(jù)流DQ<0:n>可以經(jīng)由數(shù)據(jù)總線132在兩個方向上傳送。例如,在存儲器件120的寫入操作中,主機110可以將命令/地址信號CMD/ADD和數(shù)據(jù)流DQ<0:n>傳送至存儲器件120。在存儲器件120的讀取操作中,主機110可以將命令/地址信號CMD/ADD傳送至存儲器件120,以及存儲器件120可以將數(shù)據(jù)流DQ<0:n>傳送至主機110。
主機110可以包括物理層(未示出)作為用于與存儲器件120通信的接口電路。主機110可以包括ECC電路111,其用于利用數(shù)據(jù)流DQ<0:n>的數(shù)據(jù)來校正可能發(fā)生的錯誤,以及執(zhí)行編碼。數(shù)據(jù)流DQ<0:n>可以包括關(guān)于主機110要儲存在存儲器件120中的數(shù)據(jù)的信息和關(guān)于主機奇偶校驗位的信息。
存儲器件120可以包括片上邏輯塊121和核心區(qū)122。片上邏輯塊121可以包括各種邏輯電路,其用于允許存儲器件120順利地執(zhí)行與主機110的數(shù)據(jù)通信。在一個實施例中,片上邏輯塊121可以為作為接口電路的物理層,其用于允許存儲器件120與主機110通信,但是片上邏輯塊121的種類和功能不限制于此。片上邏輯塊121可以包括ECC電路141,其校正在主機110與存儲器件120之間發(fā)射和接收的數(shù)據(jù)流DQ<0:n>上的數(shù)據(jù)中可能發(fā)生的錯誤及執(zhí)行編碼,以及校正在片上邏輯塊121與核心區(qū)122之間發(fā)射和接收的數(shù)據(jù)中可能發(fā)生的錯誤及執(zhí)行編碼。在一個實施例中,主機110與存儲器件120之間的數(shù)據(jù)帶寬可以與存儲器件120(即,在片上邏輯塊121與核心區(qū)122之間)中的數(shù)據(jù)帶寬不同。
核心區(qū)122可以儲存從主機110傳送來的數(shù)據(jù)流DQ<0:n>上的數(shù)據(jù)。核心區(qū)122可以包括用于儲存數(shù)據(jù)的多個存儲單元陣列151和用于儲存用于ECC操作的奇偶校驗位的多個奇偶校驗位陣列152。奇偶校驗位信息可以具有比數(shù)據(jù)信息小的容量,因而,多個存儲單元陣列151的面積和容量可以比多個奇偶校驗位陣列152的面積和容量大。
ECC電路141可以執(zhí)行主機側(cè)ECC操作和存儲器側(cè)ECC操作二者。ECC電路141可以包括能夠執(zhí)行與ECC電路111相對應的操作的算法,以及可以包括用于執(zhí)行存儲器 件120的ECC操作的算法。例如,當數(shù)據(jù)流DQ<0:n>從主機110傳送至存儲器件120時,ECC電路141可以對數(shù)據(jù)流DQ<0:n>解碼,以及產(chǎn)生不包括主機奇偶校驗位的數(shù)據(jù)。ECC電路141可以利用存儲器奇偶校驗位來對不包括主機奇偶校驗位的數(shù)據(jù)編碼,以及將所得的數(shù)據(jù)輸出至核心區(qū)122。因此,不包括主機奇偶校驗位的數(shù)據(jù)可以被儲存在存儲單元陣列151中,而存儲器奇偶校驗位可以被儲存在奇偶校驗位陣列152中。當數(shù)據(jù)流DQ<0:n>從存儲器件120傳送至主機110時,ECC電路141可以對從核心區(qū)122輸出的數(shù)據(jù)解碼,以及產(chǎn)生不包括存儲器奇偶校驗位的數(shù)據(jù)。ECC電路141可以利用主機奇偶校驗位來對不包括存儲器奇偶校驗位的數(shù)據(jù)編碼,以及產(chǎn)生數(shù)據(jù)流DQ<0:n>。在ECC電路141不執(zhí)行主機側(cè)ECC操作的情況下,從ECC電路141輸出的數(shù)據(jù)可以包括關(guān)于主機110儲存在存儲器件120中的數(shù)據(jù)的信息以及關(guān)于主機奇偶校驗位和存儲器奇偶校驗位的信息二者。因此,可以需要用于存儲奇偶校驗位的更大的存儲空間。在一個實施例中,ECC電路141執(zhí)行存儲器側(cè)ECC操作和主機側(cè)ECC操作二者,使得不需要將主機奇偶校驗位儲存在核心區(qū)122中。
圖2為圖示了根據(jù)一個實施例的系統(tǒng)2的配置的示例代表的示圖。系統(tǒng)2可以被應用至圖1中所示的系統(tǒng)1。參見圖2,系統(tǒng)2可以包括主機210和存儲器件220。主機210和存儲器件220可以通過經(jīng)由外部數(shù)據(jù)總線201而彼此耦接來執(zhí)行數(shù)據(jù)通信。存儲器件220可以包括片上邏輯塊230和核心區(qū)240。核心區(qū)240可以包括用于儲存數(shù)據(jù)的存儲單元陣列241和用于儲存用于ECC操作的奇偶校驗位的奇偶校驗位陣列242。奇偶校驗位陣列242可以占據(jù)相對較小的空間,并且具有比存儲單元陣列241小的容量。
片上邏輯塊230可以包括片上ECC電路。片上ECC電路可以包括第一主機ECC電路231和存儲器ECC電路232。第一主機ECC電路231可以執(zhí)行主機側(cè)ECC操作。主機側(cè)ECC操作可以為如下的操作:其用于基于主機奇偶校驗位來校正在經(jīng)由外部數(shù)據(jù)總線201傳送來的數(shù)據(jù)流DQ<0:n>上的數(shù)據(jù)中可能發(fā)生的錯誤及執(zhí)行編碼。存儲器ECC電路232可以執(zhí)行存儲器側(cè)ECC操作。存儲器側(cè)ECC操作可以為如下的操作:其用于基于存儲器奇偶校驗位來校正經(jīng)由內(nèi)部數(shù)據(jù)總線202傳送來的寫入數(shù)據(jù)WDATA和讀取數(shù)據(jù)RDATA中可能發(fā)生的錯誤及執(zhí)行編碼。外部數(shù)據(jù)總線201的數(shù)據(jù)帶寬可以與內(nèi)部數(shù)據(jù)總線202的數(shù)據(jù)帶寬不同。
第一主機ECC電路231可以包括第一ECC解碼器251和第一ECC編碼器252。第一ECC解碼器251可以對經(jīng)由外部數(shù)據(jù)總線201從主機210傳送來的數(shù)據(jù)流DQ<0:n>解碼,以及產(chǎn)生輸入數(shù)據(jù)IDATA。數(shù)據(jù)流DQ<0:n>可以包括與主機210要儲存在存儲器件220中的數(shù)據(jù)DATA相對應的信息以及與主機奇偶校驗位相對應的信息。第一ECC解碼器251可以通過使用主機奇偶校驗位來檢測在數(shù)據(jù)流DQ<0:n>上的數(shù)據(jù)中是否發(fā)生 錯誤,校正發(fā)生的錯誤,以及產(chǎn)生輸入數(shù)據(jù)IDATA。第一ECC編碼器252可以對輸出數(shù)據(jù)ODATA編碼,以及產(chǎn)生要經(jīng)由外部數(shù)據(jù)總線201傳送至主機210的數(shù)據(jù)流DQ<0:n>。第一ECC編碼器252可以對輸出數(shù)據(jù)ODATA和主機奇偶校驗位編碼,以及產(chǎn)生數(shù)據(jù)流DQ<0:n>??梢愿鶕?jù)第一主機ECC電路231的算法,基于輸出數(shù)據(jù)ODATA來產(chǎn)生主機奇偶校驗位。因此,從第一ECC編碼器252輸出的數(shù)據(jù)流DQ<0:n>可以包括與輸出數(shù)據(jù)ODATA相對應的信息以及與主機奇偶校驗位相對應的信息。
存儲器ECC電路232可以包括第二ECC編碼器253和第二ECC解碼器254。第二ECC編碼器253可以從第一ECC解碼器251接收輸入數(shù)據(jù)IDATA。第二ECC編碼器253可以對輸入數(shù)據(jù)IDATA編碼,以及產(chǎn)生寫入數(shù)據(jù)WDATA和存儲器奇偶校驗位MPARITY??梢愿鶕?jù)存儲器ECC電路232的算法,基于輸入數(shù)據(jù)IDATA來產(chǎn)生存儲器奇偶校驗位MPARITY。寫入數(shù)據(jù)WDATA可以經(jīng)由內(nèi)部數(shù)據(jù)總線202被傳送至核心區(qū)240。存儲器奇偶校驗位MPARITY可以經(jīng)由單獨的ECC線203被傳送至核心區(qū)240。在一個實施例中,存儲器奇偶校驗位MPARITY可以與寫入數(shù)據(jù)WDATA一起經(jīng)由內(nèi)部數(shù)據(jù)總線202被傳送至核心區(qū)240。寫入數(shù)據(jù)WDATA可以被儲存在核心區(qū)240的存儲單元陣列241中,而存儲器奇偶校驗位MPARITY可以被儲存在奇偶校驗位陣列242中。
第二ECC解碼器254可以對讀取數(shù)據(jù)RDATA和存儲器奇偶校驗位MPARITY解碼,以及產(chǎn)生輸出數(shù)據(jù)ODATA。讀取數(shù)據(jù)RDATA可以經(jīng)由內(nèi)部數(shù)據(jù)總線202從核心區(qū)240輸出。存儲器奇偶校驗位MPARITY可以經(jīng)由ECC線203從核心區(qū)240輸出。輸出數(shù)據(jù)ODATA可以被輸入至第一ECC編碼器252。第二ECC解碼器254可以基于存儲器奇偶校驗位MPARITY來檢測從核心區(qū)240輸出的讀取數(shù)據(jù)RDATA中是否發(fā)生錯誤,校正發(fā)生的錯誤,以及產(chǎn)生輸出數(shù)據(jù)ODATA。
參見圖2,主機210可以包括第二主機ECC電路211。第二主機ECC電路211可以執(zhí)行主機側(cè)ECC操作。第二主機ECC電路211可以包括第三ECC編碼器261和第三ECC解碼器262。第二主機ECC電路211可以執(zhí)行與第一主機ECC電路231相同的算法。因此,第三ECC編碼器261可以被配置成執(zhí)行與第一ECC編碼器252基本相同的功能,并且第三ECC解碼器262可以被配置成執(zhí)行與第一ECC解碼器251基本相同的功能。
第三ECC編碼器261可以接收主機210要儲存在存儲器件220中的數(shù)據(jù)DATA,以及產(chǎn)生要經(jīng)由外部數(shù)據(jù)總線201傳送至存儲器件220的數(shù)據(jù)流DQ<0:n>。第三ECC編碼器261可以對數(shù)據(jù)DATA和主機奇偶校驗位編碼,以及產(chǎn)生數(shù)據(jù)流DQ<0:n>。第三ECC解碼器262可以接收經(jīng)由外部數(shù)據(jù)總線201從存儲器件220傳送來的數(shù)據(jù)流DQ<0:n>。第三ECC解碼器262可以基于主機奇偶校驗位來檢測在數(shù)據(jù)流DQ<0:n>上 的數(shù)據(jù)中是否發(fā)生錯誤,校正發(fā)生的錯誤,以及產(chǎn)生數(shù)據(jù)DATA。
通常,設置在片上邏輯塊230中的傳統(tǒng)片上ECC電路可以僅包括執(zhí)行存儲器側(cè)ECC操作的ECC電路。因此,傳統(tǒng)片上ECC電路產(chǎn)生包括與數(shù)據(jù)相對應的全部信息的寫入數(shù)據(jù)WDATA、與主機奇偶校驗位相對應的信息以及與存儲器奇偶校驗位相對應的信息。因而,由于應當提供用于儲存主機奇偶校驗位和存儲器奇偶校驗位二者的奇偶校驗位陣列,所以引起的問題在于用于儲存數(shù)據(jù)的存儲單元陣列的面積和容量不得不降低。在根據(jù)一個實施例的系統(tǒng)2中,片上邏輯塊230包括片上ECC電路,其可以執(zhí)行主機側(cè)ECC操作和存儲器側(cè)ECC操作二者。因此,從片上邏輯塊230提供至核心區(qū)240的寫入數(shù)據(jù)WDATA可以僅包括與存儲器奇偶校驗位相對應的信息,而可以不包括與主機奇偶校驗位相對應的信息。因此,核心區(qū)240可以僅儲存存儲器奇偶校驗位,而不儲存主機奇偶校驗位。由于這個事實,隨著用于儲存奇偶校驗位的存儲空間可以被最小化,可以保證可以儲存數(shù)據(jù)的存儲單元陣列的面積。此外,由于片上ECC電路通過對執(zhí)行主機側(cè)ECC操作的結(jié)果執(zhí)行存儲器側(cè)ECC操作來產(chǎn)生寫入數(shù)據(jù)WDATA,所以可以執(zhí)行有效的ECC操作,并且可以提高主機210與存儲器件220之間的數(shù)據(jù)通信精度。
圖3為圖示了根據(jù)一個實施例的系統(tǒng)3的配置的示例代表的示圖。參見圖3,系統(tǒng)3可以包括:基板301、主機310和存儲器件320。系統(tǒng)3可以采用系統(tǒng)級封裝、多芯片封裝或者片上系統(tǒng)的類型來實現(xiàn),以及可以采用包括多個封裝體的層疊封裝的類型來實現(xiàn)。
基板301可以提供用于主機310與存儲器件320之間的順利數(shù)據(jù)通信的信號路徑302,并且可以包括用于提供信號路徑302的邏輯電路和用于測試的邏輯電路。信號路徑302可以包括多個總線。例如,信號路徑302可以包括:數(shù)據(jù)總線、命令總線、命令/地址總線、時鐘總線等等?;?01可以采用各種類型來實現(xiàn),諸如內(nèi)插器和PCB(印刷電路板)。通過基板301提供的信號路徑302可以包括電耦合路徑,諸如金屬層或者穿通硅通孔。
基板301可以經(jīng)由封裝球303(諸如,球柵陣列、凸球和C4凸塊)與外部器件電耦接。外部器件可以為通過與系統(tǒng)3耦接來操作的外部主機?;?01可以經(jīng)由微型凸塊304與主機310和存儲器件320電耦接。
主機310可以執(zhí)行用于控制存儲器件320的計算操作。主機310可以包括中央處理單元(CPU)、圖形處理單元(GPU)、多媒體處理器(MMP)、數(shù)字信號處理器(DSP)和存儲器控制器之中的至少一個。主機310可以通過將具有各種功能的處理器芯片(例如,應用處理器(AP))組合來形成。主機310可以包括用于與存儲器件320通信的物 理層。主機310可以通過經(jīng)由信號路徑302來發(fā)射和接收數(shù)據(jù)流而執(zhí)行與存儲器件320的數(shù)據(jù)通信。主機310可以包括ECC電路311,其用于校正數(shù)據(jù)流上的數(shù)據(jù)中可能發(fā)生的錯誤,以及執(zhí)行編碼。
存儲器件320可以為其中層疊有多個裸片的3D存儲器件。存儲器件320可以包括邏輯裸片340和多個存儲裸片350。邏輯裸片340可以經(jīng)由微型凸塊304而層疊在基板301上,并且多個存儲裸片350可以經(jīng)由微型凸塊321而順序地層疊在邏輯裸片340上。邏輯裸片340和多個存儲裸片350可以被封裝為單個封裝體,并且可以構(gòu)建單個存儲器件。邏輯裸片340可以經(jīng)由電連接裝置(諸如,導線和/或穿通硅通孔)與多個存儲裸片350電耦接。
多個存儲裸片350可以包括:存儲單元陣列351,其作為用于儲存數(shù)據(jù)的數(shù)據(jù)存儲空間,以及奇偶校驗位陣列352,其用于儲存奇偶校驗位。邏輯裸片340可以包括或者不包括存儲單元陣列和奇偶校驗位陣列。存儲裸片350可以通過由邏輯裸片340控制而儲存從邏輯裸片340傳送來的數(shù)據(jù),或者將儲存的數(shù)據(jù)輸出至邏輯裸片340。邏輯裸片340可以在主機310與多個存儲裸片350之間進行中繼通信。邏輯裸片340將從多個存儲裸片350輸出的數(shù)據(jù)傳送至主機310,以及將從主機310傳送來的數(shù)據(jù)輸入至多個存儲裸片350。邏輯裸片340可以包括ECC電路341,其校正在主機310與存儲器件320之間發(fā)射和接收的數(shù)據(jù)流DQ<0:n>上的數(shù)據(jù)中可能發(fā)生的錯誤及執(zhí)行編碼,以及校正在邏輯裸片340與多個存儲裸片350之間發(fā)射和接收的數(shù)據(jù)中可能發(fā)生的錯誤及執(zhí)行編碼。
圖4為圖示了根據(jù)一個實施例的系統(tǒng)4的配置的示例代表的示圖。系統(tǒng)4可以被應用至圖3中所示的系統(tǒng)3。參見圖4,系統(tǒng)4可以包括主機410和存儲器件420。主機410和存儲器件420可以通過經(jīng)由外部數(shù)據(jù)總線401而彼此耦接來執(zhí)行數(shù)據(jù)通信。存儲器件420可以包括邏輯裸片430和存儲裸片440。存儲裸片440可以包括用于儲存數(shù)據(jù)的存儲單元陣列441和用于儲存用于ECC操作的奇偶校驗位的奇偶校驗位陣列442。
邏輯裸片430可以包括片上ECC電路。片上ECC電路可以包括第一主機ECC電路431和存儲器ECC電路432。第一主機ECC電路431和存儲器ECC電路432可以執(zhí)行與圖2中所示的第一主機ECC電路231和存儲器ECC電路232基本相同的操作和功能。
第一主機ECC電路431可以包括第一ECC解碼器451和第一ECC編碼器452。第一ECC解碼器451可以對經(jīng)由外部數(shù)據(jù)總線401從主機410傳送來的數(shù)據(jù)流DQ<0:n>解碼,以及產(chǎn)生輸入數(shù)據(jù)IDATA。第一ECC解碼器451可以通過使用主機奇偶校驗位來檢測在數(shù)據(jù)流DQ<0:n>上的數(shù)據(jù)中是否發(fā)生錯誤,校正發(fā)生的錯誤,以及產(chǎn)生輸入數(shù) 據(jù)IDATA。第一ECC編碼器452可以對輸出數(shù)據(jù)ODATA編碼,以及產(chǎn)生要經(jīng)由外部數(shù)據(jù)總線401傳送至主機410的數(shù)據(jù)流DQ<0:n>。第一ECC編碼器452可以對輸出數(shù)據(jù)ODATA和主機奇偶校驗位編碼,以及產(chǎn)生數(shù)據(jù)流DQ<0:n>??梢愿鶕?jù)第一主機ECC電路431的算法,基于輸出數(shù)據(jù)ODATA來產(chǎn)生主機奇偶校驗位。因此,從第一ECC編碼器452輸出的數(shù)據(jù)流DQ<0:n>可以包括與輸出數(shù)據(jù)ODATA相對應的信息以及與主機奇偶校驗位相對應的信息。
存儲器ECC電路432可以包括第二ECC編碼器453和第二ECC解碼器454。第二ECC編碼器453可以從第一ECC解碼器451接收輸入數(shù)據(jù)IDATA。第二ECC編碼器453可以對輸入數(shù)據(jù)IDATA編碼,以及產(chǎn)生寫入數(shù)據(jù)WDATA和存儲器奇偶校驗位MPARITY??梢愿鶕?jù)存儲器ECC電路432的算法,基于輸入數(shù)據(jù)IDATA來產(chǎn)生存儲器奇偶校驗位MPARITY。寫入數(shù)據(jù)WDATA可以經(jīng)由內(nèi)部數(shù)據(jù)總線402被傳送至存儲裸片440。存儲器奇偶校驗位MPARITY可以經(jīng)由單獨的ECC線403被傳送至存儲裸片440。寫入數(shù)據(jù)WDATA可以被儲存在存儲裸片440的存儲單元陣列441,而存儲器奇偶校驗位MPARITY可以被儲存在奇偶校驗位陣列442中。
第二ECC解碼器454可以對讀取數(shù)據(jù)RDATA和存儲器奇偶校驗位MPARITY解碼,以及產(chǎn)生輸出數(shù)據(jù)ODATA。讀取數(shù)據(jù)RDATA可以經(jīng)由內(nèi)部數(shù)據(jù)總線402從存儲裸片440輸出。存儲器奇偶校驗位MPARITY可以經(jīng)由ECC線403從存儲裸片440輸出。輸出數(shù)據(jù)ODATA可以被輸入至第一ECC編碼器452。第二ECC解碼器454可以基于存儲器奇偶校驗位MPARITY來檢測從存儲裸片440輸出的讀取數(shù)據(jù)RDATA中是否發(fā)生錯誤,校正發(fā)生的錯誤,以及產(chǎn)生輸出數(shù)據(jù)ODATA。
參見圖4,主機410可以包括第二主機ECC電路411。第二主機ECC電路411可以執(zhí)行主機側(cè)ECC操作。第二主機ECC電路441可以執(zhí)行與圖2的第二主機ECC電路211基本相同的功能和操作。第二主機ECC電路411可以包括第三ECC編碼器461和第三ECC解碼器462。第二主機ECC電路411可以執(zhí)行與第一主機ECC電路431相同的算法。因此,第三ECC編碼器461可以被配置成執(zhí)行與第一ECC編碼器452基本相同的功能,并且第三ECC解碼器462可以被配置成執(zhí)行與第一ECC編碼器451基本相同的功能。
第三ECC編碼器461可以接收主機410要儲存在存儲器件420中的數(shù)據(jù)DATA,以及產(chǎn)生要經(jīng)由外部數(shù)據(jù)總線401傳送至存儲器件420的數(shù)據(jù)流DQ<0:n>。第三ECC編碼器461可以對數(shù)據(jù)DATA和主機奇偶校驗位編碼,以及產(chǎn)生數(shù)據(jù)流DQ<0:n>。第三ECC解碼器462可以經(jīng)由外部數(shù)據(jù)總線401接收從存儲器件420傳送來的數(shù)據(jù)流DQ<0:n>。第三ECC解碼器462可以基于主機奇偶校驗位來檢測在數(shù)據(jù)流DQ<0:n>上 的數(shù)據(jù)中是否發(fā)生錯誤,校正發(fā)生的錯誤,以及產(chǎn)生數(shù)據(jù)DATA。
圖5為圖示了根據(jù)一個實施例的系統(tǒng)5的配置的示例代表的示圖。參見圖5,系統(tǒng)5可以包括主機510和存儲模塊520。主機510和存儲模塊520可以通過經(jīng)由包括外部數(shù)據(jù)總線501的多個總線而彼此耦接來執(zhí)行數(shù)據(jù)通信。存儲模塊520可以包括存儲模塊緩沖器521和多個存儲器件522。存儲模塊緩沖器521可以中繼在主機510與多個存儲器件522之間傳送的信號。存儲模塊緩沖器521可以經(jīng)由內(nèi)部數(shù)據(jù)總線502與多個存儲器件522耦接。外部數(shù)據(jù)總線501的數(shù)據(jù)帶寬可以與內(nèi)部數(shù)據(jù)總線502的數(shù)據(jù)帶寬不同。內(nèi)部數(shù)據(jù)總線502的數(shù)據(jù)帶寬可以與存儲器件522中的數(shù)據(jù)傳輸線的數(shù)據(jù)帶寬不同。
存儲模塊緩沖器521可以包括允許主機510與多個存儲器件522通信的各種邏輯電路。存儲模塊緩沖器521可以為包括各種邏輯電路的高級存儲緩沖器。存儲模塊緩沖器521可以包括ECC電路531。ECC電路531可以執(zhí)行主機側(cè)ECC操作和存儲器側(cè)ECC操作二者。主機510可以包括ECC電路511。ECC電路511可以執(zhí)行主機側(cè)ECC操作。
圖6為圖示了根據(jù)一個實施例的系統(tǒng)6的配置的示例代表的示圖。系統(tǒng)6可以包括主機610和數(shù)據(jù)儲存設備620。數(shù)據(jù)儲存設備620可以包括控制器630和非易失性存儲器件640。數(shù)據(jù)儲存設備620可以通過耦接至主機610(諸如移動電話、MP3播放器、膝上型電腦、臺式機、游戲機、TV、車載娛樂信息系統(tǒng)等等)來使用。
控制器630可以被配置成響應于來自主機610的請求而訪問非易失性存儲器件640。例如,控制器630可以被配置成控制非易失性存儲器件640的讀取操作、編程操作或者擦除操作??刂破?30可以被配置成驅(qū)動用于控制非易失性存儲器件640的固件或者軟件。
控制器630可以包括:主機接口單元631、控制單元632、存儲器接口單元633、RAM 634和ECC單元635??刂茊卧?32可以被配置成響應于來自主機610的請求而控制控制器630的常規(guī)操作。
RAM 634可以用作控制單元632的工作存儲器。RAM 634可以用作緩沖存儲器,其暫時地儲存從非易失性存儲器件640讀取的數(shù)據(jù)或者儲存從主機610提供的數(shù)據(jù)。
主機接口單元631可以被配置成使主機610與控制器630交互。例如,主機接口單元631可以被配置成經(jīng)由諸如通用串行總線(USB)協(xié)議、通用快閃儲存(UFS)協(xié)議、多媒體卡(MMC)協(xié)議、外圍組件互連(PCI)協(xié)議、PCI快速(PCI-E)協(xié)議、并行高級技術(shù)附件(PATA)協(xié)議、串行高級技術(shù)附件(SATA)協(xié)議、小型計算機系統(tǒng)接口(SCSI)協(xié)議以及串行附件SCSI(SAS)協(xié)議的各種接口協(xié)議中的一種與主機610通信。
存儲器接口單元633可以被配置成使控制器630與非易失性存儲器件640交互。存儲器接口單元633可以被配置成將命令和地址信號提供至非易失性存儲器件640。此外,存儲器接口單元633可以被配置成與非易失性存儲器件640交換數(shù)據(jù)。
ECC單元635可以被配置成檢測從非易失性存儲器件640讀取的數(shù)據(jù)的錯誤。此外,ECC單元635可以被配置成當檢測到的錯誤在可校正范圍內(nèi)時校正檢測到的錯誤。ECC單元635可以執(zhí)行主機側(cè)ECC操作和存儲器側(cè)ECC操作二者。ECC單元635可以包括用于執(zhí)行與圖2中所示的第一主機ECC電路231和存儲器ECC電路232基本相同的操作和功能的配置。ECC單元635可以為片上ECC電路或者包括片上ECC電路。
非易失性存儲器件640可以用作數(shù)據(jù)儲存設備620的存儲介質(zhì)。非易失性存儲器件640可以包括多個非易失性存儲器芯片(或裸片)NVM_1至NVM_k。非易失性存儲器件640可以包括能夠經(jīng)由控制器與主機進行通信的全部種類的非易失性存儲器件,諸如,快閃存儲器、PRAM(相變RAM)、MRAM(磁性RAM)、RRAM(電阻式RAM)和FRAM(鐵電RAM)。
控制器630和非易失性存儲器件640可以被制造為各種數(shù)據(jù)儲存設備中的任意一種。例如,控制器630和非易失性存儲器件640可以被集成至一個半導體器件中,并且可以被制造為如下中的任意一種:MMC、eMMC、RS-MMC和微型MMC形式的多媒體卡,SD、迷你SD和微型SD形式的安全數(shù)字卡,通用串行總線(USB)儲存設備、通用快閃儲存(UFS)設備、個人計算機存儲卡國際協(xié)會(PCMCIA)卡、緊湊型閃存(CF)卡、智能媒體卡和記憶棒等。
盡管以上已經(jīng)描述了各種實施例,但是對于本領域的技術(shù)人員將理解的是,所述的實施例僅是示例。因此,包括本文所述的片上ECC電路的存儲器件和系統(tǒng)不應當基于所述實施例而受到限制。