存取存儲器模塊/增加寫入端口的方法以及存儲器控制器的制造方法
【專利摘要】本發(fā)明提供一種存取存儲器模塊/增加寫入端口的方法以及存儲器控制器。存儲器控制器耦接于多端口存儲器模塊,包含至少第一存儲庫、第二存儲庫以及參考存儲庫;當(dāng)?shù)谝粩?shù)據(jù)被要求寫入至第一存儲庫時,存儲器控制器讀取參考存儲庫中的參考數(shù)據(jù),并將第一數(shù)據(jù)連同參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第一編碼后數(shù)據(jù),且將第一編碼后數(shù)據(jù)寫入至第一存儲庫中;以及當(dāng)?shù)诙?shù)據(jù)被要求寫入至第二存儲庫時,存儲器控制器自參考存儲庫中讀取相同位置的參考數(shù)據(jù),并將第二數(shù)據(jù)連同參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第二編碼后數(shù)據(jù),且將第二編碼后數(shù)據(jù)寫入至第二存儲庫中。本發(fā)明的存取存儲器模塊/增加寫入端口的方法以及存儲器控制器可以增加寫入端口,節(jié)約成本。
【專利說明】
存取存儲器模塊/増加寫入端口的方法以及存儲器控制器
技術(shù)領(lǐng)域
[0001]本發(fā)明有關(guān)于存儲器,尤指一種存儲器模塊的存取方法及相關(guān)的存儲器控制器。
【背景技術(shù)】
[0002]—般來說,一個多端口存儲器模塊會包含多個用來儲存數(shù)據(jù)的存儲庫,且每一個存儲庫都可以獨(dú)立地被存取。每一個存儲庫也支持一或多個讀取命令以及寫入命令,舉例來說,假設(shè)一個存儲庫為具有兩個讀取端口以及一個寫入端口的二讀一寫存儲庫(2R1Wbank),則表示該存儲庫可以同時執(zhí)行兩個讀取命令以及一個寫入命令。然而,當(dāng)存儲器接收到兩個或更多個寫入命令,以要求將數(shù)據(jù)寫入到單一個存儲庫時,則會有存儲庫沖突(bank conflict)的情形發(fā)生,而造成該多個寫入命令需要被循序地執(zhí)行,進(jìn)而造成存儲器存取延遲以及更糟的存取效率。為了解決這個問題,傳統(tǒng)的多端口存儲器模塊會使用定制的電路來使能多個存取端口,或是指派多個存儲器單元,例如對應(yīng)到主存儲庫的輔助存儲庫或是備份存儲庫,以支持多個同時存取的操作。然而,這些方法會增加設(shè)計制造的成本,且/或增加芯片面積以及功率消耗,因此,如何提供一種存儲器存取方法以延伸增加存儲器模塊的寫入端口是一個重要的課題。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明特提供以下技術(shù)方案:
[0004]本發(fā)明實(shí)施例提供一種存取多端口存儲器模塊的方法,其中多端口存儲器模塊包含了多個存儲庫,多個存儲庫包含至少第一存儲庫、第二存儲庫以及參考存儲庫,且存取多端口存儲器模塊的方法包含:當(dāng)?shù)谝粩?shù)據(jù)被要求寫入至第一存儲庫時,讀取參考存儲庫中的參考數(shù)據(jù),并將第一數(shù)據(jù)連同參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第一編碼后數(shù)據(jù),且將第一編碼后數(shù)據(jù)寫入至第一存儲庫中;以及當(dāng)?shù)诙?shù)據(jù)被要求寫入至第二存儲庫時,自參考存儲庫中讀取相同位置的參考數(shù)據(jù),并將第二數(shù)據(jù)連同參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第二編碼后數(shù)據(jù),且將第二編碼后數(shù)據(jù)寫入至第二存儲庫中。
[0005]本發(fā)明實(shí)施例提供一種存儲器控制器,耦接于多端口存儲器模塊,其中多端口存儲器模塊包含了多個存儲庫,多個存儲庫包含至少第一存儲庫、第二存儲庫以及參考存儲庫;當(dāng)一第一數(shù)據(jù)被要求寫入至第一存儲庫時,存儲器控制器讀取參考存儲庫中的參考數(shù)據(jù),并將第一數(shù)據(jù)連同參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第一編碼后數(shù)據(jù),且將第一編碼后數(shù)據(jù)寫入至第一存儲庫中;以及當(dāng)?shù)诙?shù)據(jù)被要求寫入至第二存儲庫時,存儲器控制器自參考存儲庫中讀取相同位置的參考數(shù)據(jù),并將第二數(shù)據(jù)連同參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第二編碼后數(shù)據(jù),且將第二編碼后數(shù)據(jù)寫入至第二存儲庫中。
[0006]本發(fā)明實(shí)施例又提供一種增加存儲器模塊的寫入端口的方法,包含:在存儲器模塊中提供第一存儲庫以及參考存儲庫;當(dāng)?shù)谝粩?shù)據(jù)以及第二數(shù)據(jù)同時被要求寫入至第一存儲庫時,但是第二數(shù)據(jù)不被允許同時被寫入第一存儲庫以更新/覆寫舊數(shù)據(jù)時,讀取參考存儲庫中的第一參考數(shù)據(jù),將第一數(shù)據(jù)連同第一參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第一編碼后數(shù)據(jù),且將第一編碼后數(shù)據(jù)寫入至第一存儲庫中;以及讀取第一存儲庫中的舊數(shù)據(jù),將第二數(shù)據(jù)連同舊數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第二編碼后數(shù)據(jù),并將第二編碼后數(shù)據(jù)寫入至參考存儲庫中以更新/覆寫對應(yīng)于I日數(shù)據(jù)的第二參考數(shù)據(jù)。
[0007]本發(fā)明的存取存儲器模塊/增加寫入端口的方法以及存儲器控制器可以增加存儲器模塊的寫入端口,節(jié)約成本。
【附圖說明】
[0008]圖1為根據(jù)本發(fā)明實(shí)施例的存儲器模塊的示意圖。
[0009]圖2A為根據(jù)本發(fā)明實(shí)施例的存取存儲器模塊的方法的示意圖。
[0010]圖2B為根據(jù)本發(fā)明實(shí)施例的讀取儲存在圖2A所示的存儲庫中的數(shù)據(jù)的示意圖。[0011 ]圖3A為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊的方法的示意圖。
[0012]圖3B為根據(jù)本發(fā)明另一實(shí)施例的讀取儲存在圖3A所示的存儲庫中的數(shù)據(jù)的示意圖。
[0013]圖4為當(dāng)兩筆數(shù)據(jù)D2、D3被要求寫入到存儲庫時,根據(jù)本發(fā)明一實(shí)施例的存取存儲器模塊的方法的示意圖。
[0014]圖5為當(dāng)兩筆數(shù)據(jù)D2、D3被要求寫入到存儲庫時,存儲庫210、220以及參考存儲庫230的不意圖ο
[0015]圖6為根據(jù)本發(fā)明實(shí)施例存取存儲器模塊的流程圖。
[0016]圖7為根據(jù)本發(fā)明實(shí)施例的讀取儲存在圖4、5所示的存儲庫210、220中的數(shù)據(jù)的示意圖。
[0017]圖8為當(dāng)兩筆數(shù)據(jù)D4、D5被要求寫入到相同的存儲庫時,存儲庫及參考存儲庫的操作示意圖。
[0018]圖9為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊的方法的示意圖。
[0019]圖10為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊的方法的示意圖。
[0020]圖11為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊的方法的示意圖。
[0021]圖12為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊的方法的示意圖。
[0022]圖13為N讀一寫存儲庫以及兩個M讀一寫存儲庫形成(N-2)讀二寫特定存儲器模塊的示意圖。
[0023]圖14為N讀二寫存儲庫以及兩個M讀二寫存儲庫形成(N-4)讀四寫特定存儲器模塊的示意圖。
[0024]圖15為根據(jù)本發(fā)明另一實(shí)施例的寫入端口延伸方法的示意圖。
【具體實(shí)施方式】
[0025]在說明書及權(quán)利要求書當(dāng)中使用了某些詞匯來指稱特定的組件。所屬領(lǐng)域中的技術(shù)人員應(yīng)可理解,制造商可能會用不同的名詞來稱呼同樣的組件。本說明書及權(quán)利要求書并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的基準(zhǔn)。在通篇說明書及權(quán)利要求書當(dāng)中所提及的“包含”是開放式的用語,故應(yīng)解釋成“包含但不限定于”。另外,“耦接”一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述第一裝置耦接于第二裝置,則代表第一裝置可直接電氣連接于第二裝置,或通過其它裝置或連接手段間接地電氣連接至第二裝置。
[0026]請參考圖1,其為根據(jù)本發(fā)明一個實(shí)施例的存儲器控制器110的示意圖。如圖1所示,存儲器控制器110耦接于存儲器模塊120,且另通過總線101來耦接到需要存取存儲器模塊120的元件,例如中央處理器102以及圖形處理器104。此外,存儲器控制器110包含了地址解碼器112、處理電路114、寫入/讀取端口 116、控制邏輯118以及仲裁器119;且存儲器模塊120包含寫入/讀取控制器122以及多個存儲庫126。在本實(shí)施例中,存儲器模塊120為支持兩個或更多個讀取/寫入操作的多端口存儲器模塊,且每一個存儲庫126具有獨(dú)立的讀取/寫入端口以支持多個存取操作,且每一個存儲庫126允許被獨(dú)立地存取。此外,存儲器模塊120可以是多端口的靜態(tài)隨機(jī)存取存儲器(mult1-port static random access memory(SRAM))模塊或是多端口的動態(tài)隨機(jī)存取存儲器(dynamic random access memory (DRAM))模塊,但這并非是本發(fā)明的限制條件。
[0027]關(guān)于存儲器控制器110中元件的操作,地址解碼器112用來對來自中央處理器102或是圖形處理器104或是其他需要存取存儲器模塊120中數(shù)據(jù)的接收信號進(jìn)行解碼,以產(chǎn)生一或多個讀取命令及/或一或多個寫入命令;處理電路114用來管理及處理讀取/寫入命令;寫入/讀取端口 116用來暫時儲存需要寫入到存儲器模塊120的數(shù)據(jù),或是暫時儲存自存儲器模塊120讀取的數(shù)據(jù);控制邏輯118用來根據(jù)寫入命令來對數(shù)據(jù)進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù),且也用來根據(jù)讀取命令以對自存儲器模塊120中所讀取的編碼后數(shù)據(jù)進(jìn)行解碼;以及仲裁器119用來對寫入命令及讀取命令進(jìn)行排程。
[0028]關(guān)于存儲器模塊120中元件的操作,寫入/讀取控制器122可包含行解碼器(rowdecoder)以及列解碼器(column decoder),且用來對來自存儲器控制器110的寫入/讀取命令進(jìn)行解碼,以存取存儲庫126中對應(yīng)于寫入/讀取命令的地址上的比特位值,且每一個存儲庫126由一或多個芯片來實(shí)施以儲存數(shù)據(jù)。
[0029]本發(fā)明的實(shí)施例中提供了一種存取存儲器模塊120的方法,且該方法可以在存儲庫126僅具有較少寫入端口的情形下允許存儲器模塊120支持更多個寫入端口,亦即增加寫入端口。舉例來說,每一個存儲庫126僅具有一個寫入端口,但是存儲器模塊120卻可以總是支持多個寫入命令。本發(fā)明實(shí)施例的操作細(xì)節(jié)在以下會做具體的描述。
[0030]請參考圖2A,其為根據(jù)本發(fā)明一實(shí)施例的存取存儲器模塊120的方法的示意圖。如圖2A所示,存儲器模塊120包含了兩個存儲庫210、220以及參考存儲庫230,其中存儲庫210、220為一讀一寫(1R1W)存儲庫,且參考存儲庫230為一二讀一寫(2R1W)存儲庫。如圖2A所示,當(dāng)存儲器模塊120接收到兩個寫入命令,且兩筆數(shù)據(jù)D0、D1分別被要求寫入至存儲庫210、220中時,存儲器控制器110會自參考存儲庫230中的地址AO讀取一參考數(shù)據(jù)RO,且存儲器控制器110對數(shù)據(jù)DO及參考數(shù)據(jù)RO—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D0’,且編碼后數(shù)據(jù)D0’接著被寫入到存儲庫210中具有地址AO的單元中;同時,存儲器控制器110會自參考存儲庫230中的地址AO讀取相同位置的參考數(shù)據(jù)R0,且存儲器控制器110對數(shù)據(jù)Dl及參考數(shù)據(jù)RO—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D1’,且編碼后數(shù)據(jù)D1’接著被寫入到存儲庫220中具有地址AO的單元中。此外,在本實(shí)施例中,每一筆數(shù)據(jù)00、01、00’、01’、如都是一個比特位,且編碼操作為一異或(exclusive-or,X0R)運(yùn)算,亦即DO ’ =DO ? RO,且DI ’ =Dl ? RO,其中“ ? ” 是一個異或算子。
[0031]圖2A所示的實(shí)施例是寫入命令沒有發(fā)生存儲庫沖突的一個例子,所以數(shù)據(jù)D0、D1在編碼結(jié)束之后可以同時且直接地分別寫入到存儲庫210、220中。
[0032]請參考圖2B,其為根據(jù)本發(fā)明一個實(shí)施例的讀取儲存在圖2A所示的存儲庫中的數(shù)據(jù)的示意圖。如圖2B所示,存儲器模塊120接收到兩個讀取命令,且要求自存儲庫210、220中分別讀取數(shù)據(jù)D0、D1。存儲器控制器110分別自存儲庫210以及參考存儲庫230中讀取編碼后數(shù)據(jù)DO ’以及參考數(shù)據(jù)RO,且存儲器控制器110使用參考數(shù)據(jù)RO來對編碼后數(shù)據(jù)DO ’進(jìn)行解碼以產(chǎn)生數(shù)據(jù)D0;同時,存儲器控制器110分別自存儲庫220以及參考存儲庫230中讀取編碼后數(shù)據(jù)D1’以及參考數(shù)據(jù)R0,且存儲器控制器110使用參考數(shù)據(jù)RO來對編碼后數(shù)據(jù)D1’進(jìn)行解碼以產(chǎn)生數(shù)據(jù)D1。在本實(shí)施例中,解碼操作同樣是異或運(yùn)算,亦即D0 = D0’ eR0,且Dl =Dl, ? RO0
[0033]請參考圖3A,其為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊120的方法的示意圖。如圖3A所示,存儲器模塊120包含了兩個存儲庫310、320以及一參考存儲庫330,其中存儲庫310、320為一讀一寫(1R1W)存儲庫,且參考存儲庫330為二讀一寫(2R1W)存儲庫。如圖3A所示,當(dāng)存儲器模塊120接收到兩個寫入命令,且兩筆數(shù)據(jù)D0、D1分別被要求寫入至存儲庫310、320中時,存儲器控制器110會自參考存儲庫330中的地址AO讀取一參考數(shù)據(jù)RO,且存儲器控制器310對數(shù)據(jù)DO及參考數(shù)據(jù)RO—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D0’,且編碼后數(shù)據(jù)D0’接著被寫入到存儲庫310中具有地址AO的單元中;同時,存儲器控制器110會自參考存儲庫330中的地址Al讀取參考數(shù)據(jù)R1,且存儲器控制器110對數(shù)據(jù)Dl及參考數(shù)據(jù)Rl—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D1’,且編碼后數(shù)據(jù)D1’接著被寫入到存儲庫320中具有地址Al的單元中。此外,在本實(shí)施例中,每一筆數(shù)據(jù)00、01、00’、01’、如、1?1都是一個比特位,且編碼操作為異或運(yùn)算,亦即00’=00?1?0,且01’=01?^。
[0034]圖3A所示的實(shí)施例為寫入命令沒有發(fā)生存儲庫沖突的一個例子,所以數(shù)據(jù)D0、D1在編碼結(jié)束之后可以同時且直接地分別寫入到存儲庫310、320中。
[0035]請參考圖3B,其為根據(jù)本發(fā)明另一實(shí)施例的讀取儲存在圖3A所示的存儲庫中的數(shù)據(jù)的示意圖。如圖3B所示,存儲器模塊120接收到兩個讀取命令,且要求自存儲庫310、320中分別讀取數(shù)據(jù)D0、D1。存儲器控制器110分別自存儲庫310以及參考存儲庫330中讀取編碼后數(shù)據(jù)DO ’以及參考數(shù)據(jù)RO,且存儲器控制器110使用參考數(shù)據(jù)RO來對編碼后數(shù)據(jù)DO ’進(jìn)行解碼以產(chǎn)生數(shù)據(jù)D0;同時,存儲器控制器110分別自存儲庫320以及參考存儲庫330中讀取編碼后數(shù)據(jù)D1’以及參考數(shù)據(jù)Rl,且存儲器控制器110使用參考數(shù)據(jù)Rl來對編碼后數(shù)據(jù)D1’進(jìn)行解碼以產(chǎn)生數(shù)據(jù)D1。在本實(shí)施例中,解碼操作同樣是異或運(yùn)算,亦即D0 = D0’ eR0,且Dl =Dl, ? Rl0
[0036]請同時參考圖4?圖6,其中圖4為當(dāng)兩筆數(shù)據(jù)D2、D3被要求寫入到存儲庫210時,根據(jù)本發(fā)明一實(shí)施例的存取存儲器模塊的方法的示意圖;圖5為當(dāng)兩筆數(shù)據(jù)D2、D3被要求寫入到存儲器模塊時,存儲庫210、220以及參考存儲庫230的示意圖;且圖6為根據(jù)本發(fā)明一實(shí)施例存取存儲器模塊的流程圖。圖4?圖6所示的實(shí)施例接續(xù)圖2A所示的實(shí)施例,亦即存儲庫210原本在地址AO便儲存了編碼后數(shù)據(jù)D0’,且存儲庫220在地址AO儲存了編碼后數(shù)據(jù)Dl’。
[0037]在步驟600,流程開始。在步驟602中,存儲器模塊120自存儲器控制器110接收兩個寫入命令,而在本實(shí)施例中,一個寫入命令將數(shù)據(jù)D2寫入到存儲庫210對應(yīng)到地址Al的單元中,且另一個寫入命令系將數(shù)據(jù)D3寫入到存儲庫210對應(yīng)到地址AO的單元中(亦即,更新/覆寫編碼后數(shù)據(jù)D0’)。由于存儲庫210是一個一讀一寫存儲庫,因此同時間只能夠允許執(zhí)行一個寫入命令,因此,只有一筆數(shù)據(jù)(本實(shí)施例中為數(shù)據(jù)D2)可以被寫入到存儲庫210中(步驟604及步驟606),且另一筆數(shù)據(jù)(亦即,D3)則需要使用一特別的流程(步驟608?612)才能夠被同時寫入到存儲器模塊120中。在步驟604中,存儲器控制器110自參考存儲庫230中對應(yīng)于地址Al的單元讀取參考數(shù)據(jù)R1,并對數(shù)據(jù)D2及參考數(shù)據(jù)Rl—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D2 ’ ;接著,在步驟606中,存儲器控制器110將編碼后數(shù)據(jù)D2,寫入到存儲庫210中具有地址Al的單元中。在本實(shí)施例中,編碼操作為異或運(yùn)算,亦即D2’=D2 ? R1。
[0038]關(guān)于數(shù)據(jù)D3,在步驟608中,存儲器控制器110自存儲庫210讀取編碼后數(shù)據(jù)DO’,并對數(shù)據(jù)D3及編碼后數(shù)據(jù)D0’一并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D3’,其中編碼后數(shù)據(jù)D3’用來更新/覆寫參考存儲庫230中的參考數(shù)據(jù)R0;同時,存儲器控制器110分別自存儲庫220以及參考存儲庫230中讀取編碼后數(shù)據(jù)D1’以及參考數(shù)據(jù)R0,并使用參考數(shù)據(jù)RO來對編碼后數(shù)據(jù)D1’進(jìn)行解碼以產(chǎn)生數(shù)據(jù)D1。在本實(shí)施例中,編碼及解碼操作為異或運(yùn)算,亦即D3’=D3eDO,,且D1=D1’ ? RO0
[0039]在步驟610中,存儲器控制器110對編碼后數(shù)據(jù)D3’及數(shù)據(jù)Dl—并進(jìn)行編碼以產(chǎn)生更新的編碼后數(shù)據(jù)D1”,其中更新的編碼后數(shù)據(jù)D1”用來更新存儲庫220中的編碼后數(shù)據(jù)D1’。在本實(shí)施例中,編碼操作為異或運(yùn)算,亦即D1”=D3’ ?D1=D3?D0’ ?D1。
[0040]在步驟602中,存儲器控制器110將編碼后數(shù)據(jù)D3’寫入到參考存儲庫230中對應(yīng)到地址AO的單元中,亦即更新/覆寫參考數(shù)據(jù)R0;此外,存儲器控制器110另將更新的編碼后數(shù)據(jù)D1”寫入到存儲庫220中對應(yīng)到地址AO的單元中,以更新/覆寫編碼后數(shù)據(jù)Dl ’。
[0041]在步驟614中,兩筆數(shù)據(jù)Dl、D2成功地被寫入到存儲器模塊120中,流程結(jié)束。
[0042]請參考圖7,其為根據(jù)本發(fā)明一實(shí)施例的讀取儲存在圖4、5所示的存儲庫210、220中的數(shù)據(jù)的示意圖。如圖7所示,當(dāng)存儲器模塊120接收到兩個讀取命令,且要求自存儲庫210、220中分別讀取數(shù)據(jù)D3、D1時,存儲器控制器110分別自存儲庫210以及參考存儲庫230中讀取編碼后數(shù)據(jù)DO ’以及編碼后數(shù)據(jù)D3’,且存儲器控制器110使用編碼后數(shù)據(jù)D3 ’來對編碼后數(shù)據(jù)DO ’進(jìn)行解碼以產(chǎn)生數(shù)據(jù)D3;同時,存儲器控制器110另外分別自存儲庫220以及參考存儲庫230中讀取更新的編碼后數(shù)據(jù)D1”以及編碼后數(shù)據(jù)D3’,且存儲器控制器110使用編碼后數(shù)據(jù)D3’來對更新的編碼后數(shù)據(jù)D1”進(jìn)行解碼以產(chǎn)生數(shù)據(jù)D1。在本實(shí)施例中,解碼操作系為異或運(yùn)算,亦即D3 = D0’ ? D3,,且D1=D1” ? D3,。
[0043]需要注意的是,數(shù)據(jù)D3的讀取操作并沒有任何的改變,亦同樣是讀取存儲庫210及參考存儲庫230中對應(yīng)到地址AO的單元,并將所讀取的數(shù)據(jù)來進(jìn)行解碼(執(zhí)行異或操作)以得到數(shù)據(jù)D3。換句話說,不論存儲庫沖突有沒有發(fā)生,根據(jù)讀取命令所讀取的數(shù)據(jù)永遠(yuǎn)是通過將存儲庫210/220中的數(shù)據(jù)與參考存儲庫230的相對參考數(shù)據(jù)一并進(jìn)行解碼來得到。
[0044]簡要?dú)w納以上圖4?圖7所示的實(shí)施例,當(dāng)兩筆數(shù)據(jù)D2、D3被要求寫入到存儲庫210時,數(shù)據(jù)D2可以在編碼后被寫入到存儲庫210中,且數(shù)據(jù)D3可以在編碼后被寫入到存儲庫230中以更新/覆寫參考數(shù)據(jù)R0。此外,由于參考存儲庫230中的參考數(shù)據(jù)RO被更新了,因此對應(yīng)到參考數(shù)據(jù)RO的編碼后數(shù)據(jù)D1’也需要被更新。通過上述的寫入方法,即使兩筆數(shù)據(jù)D2、D3存在著存儲庫沖突的問題,數(shù)據(jù)D2、D3也可以同時地被寫入到存儲器模塊120中,因此,即使存儲庫210、220本身僅具有一個寫入端口,存儲庫210、220以及參考存儲庫230可以形成一個總是支持兩個寫入命令(兩個寫入端口)的特定存儲器模塊,亦即這個特定存儲器模塊增加了本身的寫入端口。另外,不論采用圖2A或是圖5的寫入步驟,這個特定存儲器模塊都是采用相同的讀取方式來讀取數(shù)據(jù)。
[0045]此外,在上述圖2A?圖7的實(shí)施例中,參考存儲庫230由兩個存儲庫210、220所共有,然而,在其他實(shí)施例中,參考存儲庫可以被兩個以上的存儲庫所共有。圖8為當(dāng)兩筆數(shù)據(jù)D4、D5被要求寫入到相同的存儲庫810_1,存儲庫810_1?810_N及參考存儲庫830的操作示意圖。類似于圖5的實(shí)施例,在圖8中,當(dāng)兩筆數(shù)據(jù)D4、D5被要求寫入到存儲器模塊時,數(shù)據(jù)D4在編碼后被寫入到存儲庫810_1中;同時,數(shù)據(jù)D5在編碼后被寫入到參考數(shù)據(jù)庫830中,且儲存在存儲庫810_2?810_N*的相對應(yīng)數(shù)據(jù)也一并被更新。換句話說,當(dāng)兩筆數(shù)據(jù)D4、D5被要求同時寫入到存儲庫810_1時,存儲庫810_1的操作類似于圖5所示的存儲庫210的操作,存儲庫810_2?810__勺操作類似于圖5所示的存儲庫220的操作,而參考存儲庫830的操作類似于圖5所示的參考存儲庫230的操作,而由于本領(lǐng)域技術(shù)人員在閱讀過圖4?圖6所示的實(shí)施例的說明后應(yīng)該能夠了解圖8的實(shí)施例,故細(xì)節(jié)部分在此不再贅述。
[0046]請參考圖9,其為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊120的方法的示意圖。如圖9所示,存儲器模塊120包含了兩個存儲庫910、920以及參考存儲庫930,其中存儲庫910、920是二讀二寫(2R2W)存儲庫,且參考存儲庫930是一個四讀二寫(4R2W)存儲庫。在本實(shí)施例中,存儲器模塊120接收四個寫入命令,且四筆數(shù)據(jù)DO?D3被要求分別寫入到存儲庫910、920中,其中數(shù)據(jù)DO?Dl被要求寫入到存儲庫910中分別對應(yīng)到地址AO及Al的單元,且數(shù)據(jù)D2?D3被要求寫入到存儲庫920中分別對應(yīng)到地址AO及Al的單元。如圖9所示,存儲器控制器110自參考存儲庫930的地址AO讀取參考數(shù)據(jù)RO,且存儲器控制器110將數(shù)據(jù)DO與參考數(shù)據(jù)RO—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D0’,并將編碼后數(shù)據(jù)D0’寫入到存儲庫910中具有地址AO的單元中;存儲器控制器910自參考存儲庫930的地址Al讀取參考數(shù)據(jù)Rl,且存儲器控制器110將數(shù)據(jù)Dl與參考數(shù)據(jù)Rl—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D1’,并將編碼后數(shù)據(jù)D1’寫入到存儲庫910中具有地址Al的單元中;同時,存儲器控制器910自參考存儲庫930的地址AO讀取參考數(shù)據(jù)R0,且存儲器控制器110將數(shù)據(jù)D2與參考數(shù)據(jù)RO—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D2’,并將編碼后數(shù)據(jù)D2’寫入到存儲庫920中具有地址AO的單元中;以及存儲器控制器910自參考存儲庫930的地址Al讀取相同位置的參考數(shù)據(jù)Rl,且存儲器控制器110將數(shù)據(jù)D3與參考數(shù)據(jù)Rl—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D3’,并將編碼后數(shù)據(jù)D3’寫入到存儲庫920中具有地址Al的單元中。在本實(shí)施例中,D0、D1、D2、D3、D0’、D1’、D2’、D3’、R0、R1中的每一筆數(shù)據(jù)都是一個比特位,且編碼操作為異或運(yùn)算。
[0047]此外,在另一個實(shí)施例中,若數(shù)據(jù)D2-D3被要求分別寫入至存儲庫920對應(yīng)于地址A2和A3的單元中,存儲器控制器110自參考存儲庫930的地址A2讀取參考數(shù)據(jù)R2,且存儲器控制器110將數(shù)據(jù)D2與參考數(shù)據(jù)R2—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D2’,并將編碼后數(shù)據(jù)D2’寫入到存儲庫920中具有地址A2的單元中;且存儲器控制器110自參考存儲庫930的地址A3讀取參考數(shù)據(jù)R3,且存儲器控制器110將數(shù)據(jù)D3與參考數(shù)據(jù)R3—并進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D3’,并將編碼后數(shù)據(jù)D3’寫入到存儲庫920中具有地址A3的單元中。在本實(shí)施例中,R2、R3中的每一筆數(shù)據(jù)都是一個比特位,且編碼操作為異或運(yùn)算。
[0048]圖9所示的實(shí)施例是四個寫入命令沒有發(fā)生存儲庫沖突的一個例子,所以數(shù)據(jù)DO?D3在編碼結(jié)束之后可以同時且直接地分別寫入到存儲庫910、920中。
[0049]請參考圖10,其為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊120的方法的示意圖。如圖10所示,存儲器模塊120包含了兩個存儲庫1010、1020以及參考存儲庫1030,其中存儲庫1010、1020是二讀二寫(2R2W)存儲庫,且參考存儲庫1030是一個四讀二寫(4R2W)存儲庫。在本實(shí)施例中,存儲器模塊120接收四個寫入命令,且四筆數(shù)據(jù)DO?D3被要求分別寫入到存儲庫1010中,但由于存儲庫1010僅僅包含兩個寫入端口,所以僅有兩筆數(shù)據(jù)可以同時被寫入到存儲庫11中。在圖1O中,數(shù)據(jù)DO、DI被編碼且寫入到存儲庫11中;同時,數(shù)據(jù)D2、D3則是使用儲存在存儲庫1010中的舊數(shù)據(jù)來進(jìn)行編碼,且數(shù)據(jù)D2、D3的編碼后數(shù)據(jù)則是被儲存至參考存儲庫1030的兩個單元中,其中該兩個單元系和存儲庫1010中的舊數(shù)據(jù)具有相同的地址。此外,由于參考存儲庫1030的更新/覆寫,存儲庫1020中的相對應(yīng)數(shù)據(jù)也要做對應(yīng)的更新。換句話說,圖10中有關(guān)于數(shù)據(jù)D0、D1的寫入步驟類似于圖4中數(shù)據(jù)D2的寫入步驟,且圖10中有關(guān)于數(shù)據(jù)D2、D3的寫入步驟類似于圖4中數(shù)據(jù)D3的寫入步驟,而由于本領(lǐng)域技術(shù)人員在閱讀過圖4?圖6所示的實(shí)施例的說明后應(yīng)該能夠了解圖10的實(shí)施例,故細(xì)節(jié)部分在此不再贅述。
[0050]請參考圖11,其為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊120的方法的示意圖。如圖11所示,存儲器模塊120包含了兩個存儲庫1110、1120以及參考存儲庫1130,其中存儲庫1110、1120是二讀二寫(2R2W)存儲庫,且參考存儲庫1130是一個四讀二寫(4R2W)存儲庫。在本實(shí)施例中,存儲器模塊120接收四個寫入命令,且四筆數(shù)據(jù)DO?D3被要求分別寫入到存儲庫1110、1120中,其中數(shù)據(jù)DO?D2被要求寫入到存儲庫1110中,數(shù)據(jù)D3被要求寫入到存儲庫1120中,且數(shù)據(jù)D2、D3所對應(yīng)到的寫入地址是不同的(亦即,存儲庫1110中對應(yīng)到數(shù)據(jù)D2的單元與存儲庫1120中對應(yīng)到數(shù)據(jù)D3的單元具有不同的地址)。但由于存儲庫1110僅僅包含兩個寫入端口,所以僅有兩筆數(shù)據(jù)可以同時被寫入到存儲庫1110中。在圖11中,數(shù)據(jù)D0、Dl被編碼且寫入到存儲庫1110中,且數(shù)據(jù)D3被編碼且寫入到存儲庫1120中;同時,數(shù)據(jù)D2則是使用儲存在存儲庫1110中的舊數(shù)據(jù)來進(jìn)行編碼,且數(shù)據(jù)D2的編碼后數(shù)據(jù)則是被儲存至參考存儲庫1130的單元中,其中該單元和存儲庫1110中的舊數(shù)據(jù)具有相同的地址。此外,由于參考存儲庫1130的更新/覆寫,存儲庫1120中的相對應(yīng)數(shù)據(jù)也要做對應(yīng)的更新。換句話說,圖11中有關(guān)于數(shù)據(jù)D0、D1、D3的寫入步驟類似于圖4中數(shù)據(jù)D2的寫入步驟,且圖11中有關(guān)于數(shù)據(jù)D2的寫入步驟類似于圖4中數(shù)據(jù)D3的寫入步驟,而由于本領(lǐng)域技術(shù)人員在閱讀過圖4?圖6所示的實(shí)施例的說明后應(yīng)該能夠了解圖11的實(shí)施例,故細(xì)節(jié)部分在此不再贅述。
[0051]請參考圖12,其為根據(jù)本發(fā)明另一實(shí)施例的存取存儲器模塊120的方法的示意圖。如圖12所示,存儲器模塊120包含了兩個存儲庫1210、1220以及參考存儲庫1230,其中存儲庫1210、1220是二讀二寫(2R2W)存儲庫,且參考存儲庫1230是一個四讀二寫(4R2W)存儲庫。在本實(shí)施例中,存儲器模塊120接收四個寫入命令,且四筆數(shù)據(jù)DO?D3被要求分別寫入到存儲庫1210、1220中,其中數(shù)據(jù)DO?D2被要求寫入到存儲庫1210中,數(shù)據(jù)D3被要求寫入到存儲庫1220中,且數(shù)據(jù)D2、D3所對應(yīng)到的寫入地址是相同的(在以下的敘述中,假設(shè)此相同的地址是A3)。由于存儲庫1210僅僅包含兩個寫入端口,所以僅有兩筆數(shù)據(jù)可以同時被寫入到存儲庫1210中。在圖12中,數(shù)據(jù)DO、DI被編碼且寫入到存儲庫1210中;同時,數(shù)據(jù)D2與存儲庫1210中對應(yīng)至地址A3的舊數(shù)據(jù)進(jìn)行編碼,以產(chǎn)生編碼后數(shù)據(jù)D2’,且編碼后數(shù)據(jù)D2’被儲存至參考存儲庫1230中對應(yīng)到地址A3的單元中。此外,數(shù)據(jù)D3與編碼后數(shù)據(jù)D2’一同進(jìn)行編碼以產(chǎn)生編碼后數(shù)據(jù)D3’,且編碼后數(shù)據(jù)D3’被儲存至存儲庫1220中對應(yīng)到地址A3的單元中。在本實(shí)施例中,圖12中有關(guān)于數(shù)據(jù)D0、D1的寫入步驟類似于圖4中數(shù)據(jù)D2的寫入步驟,圖12中有關(guān)于數(shù)據(jù)D2的寫入步驟類似于圖4中數(shù)據(jù)D3的寫入步驟,而由于本領(lǐng)域技術(shù)人員在閱讀過圖4?圖6所示的實(shí)施例的說明后應(yīng)該能夠了解圖12的實(shí)施例,故細(xì)節(jié)部分在此不再贅述。
[0052]簡要?dú)w納以上圖9?圖12所示的實(shí)施例,通過上述的寫入方法,即使四筆數(shù)據(jù)DO?D3存在著存儲庫沖突的問題,數(shù)據(jù)DO?D3也可以同時地被寫入到存儲器模塊120中,因此,即使存儲庫910/1010/1110/1210、920/1020/1120/1220本身僅具有兩個寫入端口,存儲庫910/1010/1110/1210、920/1020/1120/1220 以及參考存儲庫 930/1030/1130/1230 可以形成一個總是支持四個寫入命令(四個寫入端口)的特定存儲器模塊,亦即這個特定存儲器模塊增加了本身的寫入端口。另外,不論采用圖9?12中的哪一個寫入步驟,這個特定存儲器模塊都是采用相同的讀取方式來讀取數(shù)據(jù)。
[0053]此外,當(dāng)使用上述的寫入步驟來延伸/增加存儲器模塊120的寫入端口時,由于參考存儲庫中的某些數(shù)據(jù)需要被讀取以進(jìn)行編碼或解碼操作,因此,整體上,存儲器模塊的讀取端口會減少。舉例來說,如圖13所示,假設(shè)存儲庫1310以及存儲庫1320是M讀一寫(MRlW)的存儲庫,且參考存儲庫1320為N讀一寫(NRlW)的存儲庫,其中M可以是小于N的任意適合正整數(shù),通過使用上述的寫入步驟,存儲庫1310、1320以及參考存儲庫1330可以形成具有(N-2)個讀取端口以及兩個寫入端口的特定存儲器模塊1340。舉另一例子來說,如圖14所示,假設(shè)存儲庫1410以及存儲庫1420是M讀二寫(MR2W)的存儲庫,且參考存儲庫1420為N讀二寫(NR2W)的存儲庫,其中M可以是小于N的任意適合正整數(shù),通過使用上述的寫入步驟,存儲庫1410、1420以及參考存儲庫1430可以形成具有(N-4)個讀取端口以及四個寫入端口的特定存儲器模塊1440。如上所述,雖然讀取端口減少了,但是存儲器模塊的寫入端口可以加倍,以允許同時執(zhí)行更多的寫入命令。
[0054]此外,存儲庫或是存儲器模塊的讀取端口可以通過先前技術(shù)中的額外層技術(shù)來加倍,舉例來說,一個二讀一寫的存儲庫可以被延伸為一個四讀一寫的存儲庫,該四讀一寫的存儲庫可以被延伸為一個八讀一寫的存儲庫,該八讀一寫的存儲庫可以被延伸為一個十六讀一寫的存儲庫,由于本領(lǐng)域技術(shù)人員應(yīng)能夠了解該技術(shù),故相關(guān)細(xì)節(jié)在此不做說明。因此,通過使用讀取端口的延伸技術(shù),再加上述實(shí)施例的寫入方法,存儲器模塊便可以具有更多個寫入端口以同時執(zhí)行更多的寫入命令。以圖15為例,四讀一寫的存儲庫可以被延伸為二讀二寫的存儲庫/存儲器模塊;八讀一寫的存儲庫可以被延伸為六讀二寫的存儲庫/存儲器模塊或是二讀四寫的存儲庫/存儲器模塊;十六讀一寫的存儲庫可以被延伸為十四讀二寫的存儲庫/存儲器模塊、十讀四寫的存儲庫/存儲器模塊、或是二讀八寫的存儲庫/存儲器模塊;以及三十二讀一寫的存儲庫可以被延伸為三十讀二寫的存儲庫/存儲器模塊、二十六讀四寫的存儲庫/存儲器模塊、十八讀八寫的存儲庫/存儲器模塊、或是二讀十六寫的存儲庫/存儲器模塊,等等。
[0055]簡要?dú)w納本發(fā)明,通過使用本發(fā)明實(shí)施例的存取方法,可以在存儲庫僅具有較少寫入端口的情形下增加存儲器模塊的寫入端口,此外,在本發(fā)明的實(shí)施例中,參考存儲庫由兩個或更多個存儲庫所共享以儲存數(shù)據(jù),因此不會增加太多的制造成本。
[0056]盡管已經(jīng)在文中使用不同的方法、設(shè)備以及系統(tǒng)來描述和示出了一些示例性的技術(shù),但是本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是:可以在不脫離所要求保護(hù)的主題的情況下進(jìn)行各種其它修改以及進(jìn)行等同物替換。此外,在不脫離文中描述的中心構(gòu)思的情況下,可以進(jìn)行許多修改以使特定的情況適應(yīng)于所要求保護(hù)的主題的教導(dǎo)。因此,意在所要求保護(hù)的主題不限制于所公開的特定示例,而且這樣的要求保護(hù)的主題還可以包括落在所附權(quán)利要求的范圍內(nèi)的所有實(shí)施及它們的等同物。
【主權(quán)項(xiàng)】
1.一種存取多端口存儲器模塊的方法,其中所述多端口存儲器模塊包含了多個存儲庫,所述多個存儲庫包含至少第一存儲庫、第二存儲庫以及參考存儲庫,且所述存取多端口存儲器模塊的方法包含: 當(dāng)?shù)谝粩?shù)據(jù)被要求寫入至所述第一存儲庫時,讀取所述參考存儲庫中的參考數(shù)據(jù),并將所述第一數(shù)據(jù)連同所述參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第一編碼后數(shù)據(jù),且將所述第一編碼后數(shù)據(jù)寫入至所述第一存儲庫中;以及 當(dāng)?shù)诙?shù)據(jù)被要求寫入至所述第二存儲庫時,自所述參考存儲庫中讀取相同位置的所述參考數(shù)據(jù),并將所述第二數(shù)據(jù)連同所述參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第二編碼后數(shù)據(jù),且將所述第二編碼后數(shù)據(jù)寫入至所述第二存儲庫中。2.根據(jù)權(quán)利要求1所述的存取多端口存儲器模塊的方法,其特征在于,另包含: 當(dāng)?shù)谌龜?shù)據(jù)被要求寫入至所述第一存儲庫以更新/覆寫所述第一存儲庫中的所述第一編碼后數(shù)據(jù),但是所述第一存儲庫的一或多個寫入端口被其他的寫入步驟占據(jù)時,自所述第一存儲庫中讀取所述第一編碼后數(shù)據(jù),并將所述第三數(shù)據(jù)連同所述第一編碼后數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第三編碼后數(shù)據(jù),且將所述第三編碼后數(shù)據(jù)寫入至所述參考存儲庫中以更新/覆寫所述參考數(shù)據(jù)。3.根據(jù)權(quán)利要求2所述的存取多端口存儲器模塊的方法,其特征在于,另包含: 在所述參考數(shù)據(jù)被所述第三編碼后數(shù)據(jù)更新/覆寫之前,分別自所述參考存儲庫以及所述第二存儲庫中讀取所述參考數(shù)據(jù)以及所述第二編碼后數(shù)據(jù),并使用所述參考數(shù)據(jù)來對所述第二編碼后數(shù)據(jù)進(jìn)行解碼以產(chǎn)生所述第二數(shù)據(jù); 將所述第二數(shù)據(jù)連同所述第三編碼后數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生更新的第二編碼后數(shù)據(jù);以及 將所述更新的第二編碼后數(shù)據(jù)寫入至所述第二存儲庫以更新所述第二編碼后數(shù)據(jù)。4.根據(jù)權(quán)利要求2所述的存取多端口存儲器模塊的方法,其特征在于,其中當(dāng)所述第三數(shù)據(jù)被要求自所述第一存儲庫中讀取時,分別自所述第一存儲庫以及所述參考存儲庫中讀取所述第一編碼后數(shù)據(jù)以及所述第三編碼后數(shù)據(jù),且使用所述第一編碼后數(shù)據(jù)來對所述第三編碼后數(shù)據(jù)進(jìn)行解碼以產(chǎn)生所述第三數(shù)據(jù)。5.根據(jù)權(quán)利要求1所述的存取多端口存儲器模塊的方法,其特征在于,另包含: 當(dāng)?shù)谌龜?shù)據(jù)以及第四數(shù)據(jù)被要求寫入至所述第一存儲庫以分別更新/覆寫所述第一存儲庫中的第一舊數(shù)據(jù)以及第二舊數(shù)據(jù)時,自所述參考存儲庫中讀取另一參考數(shù)據(jù),并將所述第三數(shù)據(jù)連同所述另一參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第三編碼后數(shù)據(jù),且將所述第三編碼后數(shù)據(jù)寫入至所述第一存儲庫中以更新/覆寫所述第一舊數(shù)據(jù);以及 自所述第一存儲庫中讀取所述第二舊數(shù)據(jù),并將所述第四數(shù)據(jù)連同所述第二舊數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第四編碼后數(shù)據(jù),且將所述第四編碼后數(shù)據(jù)寫入至所述參考存儲庫中以更新/覆寫對應(yīng)于所述第二舊數(shù)據(jù)的又一參考數(shù)據(jù)。6.根據(jù)權(quán)利要求1所述的存取多端口存儲器模塊的方法,其特征在于,其中所述第一存儲庫包含K個寫入端口,所述第二存儲庫包含K個寫入端口,所述參考存儲庫包含N個讀取端口 ;以及所述第一存儲庫、所述第二存儲庫以及所述參考存儲庫形成一個支持(2*K)個寫入端口以及(Ν-2*Κ)個讀取端口的特定存儲器子模塊,其中K為等于或大于I的正整數(shù),且N為大于(2*Κ)的正整數(shù)。7.根據(jù)權(quán)利要求1所述的存取多端口存儲器模塊的方法,其特征在于,其中所述第一數(shù)據(jù)、所述第二數(shù)據(jù)以及所述參考數(shù)據(jù)中的每一個均為一個比特位,且編碼操作為異或運(yùn)算。8.—種存儲器控制器,耦接于多端口存儲器模塊,其中所述多端口存儲器模塊包含了多個存儲庫,所述多個存儲庫包含至少第一存儲庫、第二存儲庫以及參考存儲庫;當(dāng)?shù)谝粩?shù)據(jù)被要求寫入至所述第一存儲庫時,所述存儲器控制器讀取所述參考存儲庫中的參考數(shù)據(jù),并將所述第一數(shù)據(jù)連同所述參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第一編碼后數(shù)據(jù),且將所述第一編碼后數(shù)據(jù)寫入至所述第一存儲庫中;以及當(dāng)?shù)诙?shù)據(jù)被要求寫入至所述第二存儲庫時,所述存儲器控制器自所述參考存儲庫中讀取相同位置的所述參考數(shù)據(jù),并將所述第二數(shù)據(jù)連同所述參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第二編碼后數(shù)據(jù),且將所述第二編碼后數(shù)據(jù)寫入至所述第二存儲庫中。9.根據(jù)權(quán)利要求8所述的存儲器控制器,其特征在于,當(dāng)?shù)谌龜?shù)據(jù)被要求寫入至所述第一存儲庫以更新/覆寫所述第一存儲庫中的所述第一編碼后數(shù)據(jù),但是所述第一存儲庫的一或多個寫入端口被其他的寫入步驟占據(jù)時,所述存儲器控制器自所述第一存儲庫中讀取所述第一編碼后數(shù)據(jù),并將所述第三數(shù)據(jù)連同所述第一編碼后數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第三編碼后數(shù)據(jù),且將所述第三編碼后數(shù)據(jù)寫入至所述參考存儲庫中以更新/覆寫所述參考數(shù)據(jù)。10.根據(jù)權(quán)利要求9所述的存儲器控制器,其特征在于,在所述參考數(shù)據(jù)被所述第三編碼后數(shù)據(jù)更新/覆寫之前,所述存儲器控制器分別自所述參考存儲庫以及所述第二存儲庫中讀取所述參考數(shù)據(jù)以及所述第二編碼后數(shù)據(jù),并使用所述參考數(shù)據(jù)來對所述第二編碼后數(shù)據(jù)進(jìn)行解碼以產(chǎn)生所述第二數(shù)據(jù);且所述存儲器控制器另將所述第二數(shù)據(jù)連同所述第三編碼后數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生更新的第二編碼后數(shù)據(jù);以及將所述更新的第二編碼后數(shù)據(jù)寫入至所述第二存儲庫以更新所述第二編碼后數(shù)據(jù)。11.根據(jù)權(quán)利要求9所述的存儲器控制器,其特征在于,當(dāng)所述第三數(shù)據(jù)被要求自所述第一存儲庫中讀取時,所述存儲器控制器分別自所述第一存儲庫以及所述參考存儲庫中讀取所述第一編碼后數(shù)據(jù)以及所述第三編碼后數(shù)據(jù),且使用所述第一編碼后數(shù)據(jù)來對所述第三編碼后數(shù)據(jù)進(jìn)行解碼以產(chǎn)生所述第三數(shù)據(jù)。12.根據(jù)權(quán)利要求8所述的存儲器控制器,其特征在于,當(dāng)?shù)谌龜?shù)據(jù)以及第四數(shù)據(jù)被要求寫入至所述第一存儲庫以分別更新/覆寫所述第一存儲庫中的第一舊數(shù)據(jù)以及第二舊數(shù)據(jù)時,所述存儲器控制器自所述參考存儲庫中讀取另一參考數(shù)據(jù),并將所述第三數(shù)據(jù)連同所述另一參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第三編碼后數(shù)據(jù),且將所述第三編碼后數(shù)據(jù)寫入至所述第一存儲庫中以更新/覆寫所述第一舊數(shù)據(jù);以及所述存儲器控制器另自所述第一存儲庫中讀取所述第二舊數(shù)據(jù),并將所述第四數(shù)據(jù)連同所述第二舊數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第四編碼后數(shù)據(jù),且將所述第四編碼后數(shù)據(jù)寫入至所述參考存儲庫中以更新/覆寫對應(yīng)于所述第二 I日數(shù)據(jù)的又一參考數(shù)據(jù)。13.根據(jù)權(quán)利要求8所述的存儲器控制器,其特征在于,所述第一存儲庫包含K個寫入端口,所述第二存儲庫包含K個寫入端口,所述參考存儲庫包含N個讀取端口;以及所述第一存儲庫、所述第二存儲庫以及所述參考存儲庫形成一個支持(2*K)個寫入端口以及(N-2*K)個讀取端口的特定存儲器子模塊,其中K為等于或大于I的正整數(shù),且N為大于(2*K)的正整數(shù)。14.根據(jù)權(quán)利要求8所述的存儲器控制器,其特征在于,所述第一數(shù)據(jù)、所述第二數(shù)據(jù)以及所述參考數(shù)據(jù)中的每一個均為一個比特位,且編碼操作為異或運(yùn)算。15.一種增加存儲器模塊的寫入端口的方法,包含: 在所述存儲器模塊中提供第一存儲庫以及參考存儲庫; 當(dāng)?shù)谝粩?shù)據(jù)以及第二數(shù)據(jù)同時被要求寫入至所述第一存儲庫時,但是所述第二數(shù)據(jù)不被允許同時被寫入所述第一存儲庫以更新/覆寫舊數(shù)據(jù)時,讀取所述參考存儲庫中的第一參考數(shù)據(jù),將所述第一數(shù)據(jù)連同所述第一參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第一編碼后數(shù)據(jù),且將所述第一編碼后數(shù)據(jù)寫入至所述第一存儲庫中;以及 讀取所述第一存儲庫中的所述舊數(shù)據(jù),將所述第二數(shù)據(jù)連同所述舊數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第二編碼后數(shù)據(jù),并將所述第二編碼后數(shù)據(jù)寫入至所述參考存儲庫中以更新/覆寫對應(yīng)于所述I日數(shù)據(jù)的第二參考數(shù)據(jù)。16.根據(jù)權(quán)利要求15所述的增加存儲器模塊的寫入端口的方法,其特征在于,所述第一存儲庫包含K個寫入端口,所述參考存儲庫包含N個讀取端口,以及所述存儲器模塊支持(2*K)個寫入端口以及(N-2*K)個讀取端口,其中K為等于或大于I的正整數(shù),且N為大于(2*K)的正整數(shù)。17.根據(jù)權(quán)利要求15所述的增加存儲器模塊的寫入端口的方法,其特征在于,另包含: 在所述存儲器模塊中提供第二存儲庫;以及 當(dāng)?shù)谌龜?shù)據(jù)被要求寫入至所述第二存儲庫時,自所述參考存儲庫中讀取所述第一參考數(shù)據(jù),將所述第三數(shù)據(jù)連同所述第一參考數(shù)據(jù)一并進(jìn)行編碼以產(chǎn)生第三編碼后數(shù)據(jù),且將所述第三編碼后數(shù)據(jù)寫入至所述第二存儲庫中。18.根據(jù)權(quán)利要求15所述的增加存儲器模塊的寫入端口的方法,其特征在于,所述第一數(shù)據(jù)、所述第二數(shù)據(jù)、所述第一參考數(shù)據(jù)以及所述第二參考數(shù)據(jù)中的每一個均為一個比特位,且編碼操作為異或運(yùn)算。19.根據(jù)權(quán)利要求15所述的增加存儲器模塊的寫入端口的方法,其特征在于,每一個存儲庫均被允許獨(dú)立地存取。20.根據(jù)權(quán)利要求15所述的增加存儲器模塊的寫入端口的方法,其特征在于,所述存儲器模塊為多端口的靜態(tài)隨機(jī)存取存儲器模塊或是多端口的動態(tài)隨機(jī)存取存儲器模塊。
【文檔編號】G06F13/16GK106066832SQ201610250189
【公開日】2016年11月2日
【申請日】2016年4月21日 公開號201610250189.9, CN 106066832 A, CN 106066832A, CN 201610250189, CN-A-106066832, CN106066832 A, CN106066832A, CN201610250189, CN201610250189.9
【發(fā)明人】呂國正, 賴伯承, 黃琨驊, 林俊良
【申請人】聯(lián)發(fā)科技股份有限公司