存取多端口存儲器模塊的方法及相關(guān)的存儲器控制器的制造方法
【專利摘要】本發(fā)明提供一種存取多端口存儲器模塊的方法及相關(guān)的存儲器控制器。存儲器控制器耦接于多端口存儲器模塊,其中多端口存儲器模塊包含了多個存儲庫,且存儲器控制器用來產(chǎn)生多個校驗碼,并分別將多個校驗碼寫入至多個存儲庫中,其中每一個校驗碼是根據(jù)一部分存儲庫中的比特位所產(chǎn)生的。本發(fā)明的存取多端口存儲器模塊的方法及相關(guān)的存儲器控制器可以降低存儲庫沖突的發(fā)生機(jī)率,減少存取次數(shù)。
【專利說明】
存取多端口存儲器模塊的方法及相關(guān)的存儲器控制器
[0001 ] 交叉引用
[0002] 本申請要求申請日為2015年4月22日,美國臨時申請?zhí)枮?2/150,862的美國臨時 申請案的優(yōu)先權(quán),上述臨時申請案的內(nèi)容一并并入本申請。
技術(shù)領(lǐng)域
[0003] 本發(fā)明有關(guān)于存儲器,尤指一種存取多端口存儲器模塊的方法及相關(guān)的存儲器控 制器。
【背景技術(shù)】
[0004] -般來說,一個多端口存儲器模塊會包含多個用來儲存數(shù)據(jù)的存儲庫,且每一個 存儲庫都可W獨立地被存取,然而,當(dāng)存儲器接收到兩個或更多個讀取命令,W要求存取單 一存儲庫中的多個不同地址時,則會有存儲庫沖突(bank conflict)的情形發(fā)生,而造成該 多個讀取命令需要被循序地執(zhí)行,進(jìn)而造成存儲器存取延遲W及更糟的存取效率。為了解 決該問題,傳統(tǒng)的多端口存儲器模塊會使用定制的電路來使能多個存取端口,或是指派多 個存儲器單元W支持多個同時存取的操作。然而,運些方法會增加設(shè)計制造的成本,且/或 增加忍片面積W及功率消耗,因此,如何提供一種存儲器存取方法W有效率地支持多個存 取指令是一個重要的課題。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本發(fā)明特提供W下技術(shù)方案:
[0006] 本發(fā)明實施例提供一種存取多端口存儲器模塊的方法,其中多端口存儲器模塊包 含了多個存儲庫,且存取多端口存儲器模塊的方法包含有:產(chǎn)生多個校驗碼,其中每一個校 驗碼是根據(jù)一部分存儲庫中的比特位所產(chǎn)生的;W及分別將多個校驗碼寫入至多個存儲庫 中。
[0007] 本發(fā)明實施例提供一種存儲器控制器,禪接于多端口存儲器模塊,其中多端口存 儲器模塊包含了多個存儲庫,且存儲器控制器用來產(chǎn)生多個校驗碼,并分別將多個校驗碼 寫入至多個存儲庫中,其中每一個校驗碼是根據(jù)一部分存儲庫中的比特位所產(chǎn)生的。
[000引本發(fā)明實施例又提供一種存取多端口存儲器模塊的方法,其中多端口存儲器模塊 包含了多個存儲庫,且方法包含有:當(dāng)對應(yīng)到特定存儲庫中兩個不同地址的比特位因為兩 個讀取命令而被要求讀取時,直接讀取特定存儲庫中兩個不同地址中的其中之一的比特 位;W及通過讀取其他存儲庫中的多個比特位來產(chǎn)生特定存儲庫中兩個不同地址中的另外 之一的比特位。
[0009]本發(fā)明的存取多端口存儲器模塊的方法及相關(guān)的存儲器控制器可W降低存儲庫 沖突的發(fā)生機(jī)率,減少存取次數(shù)。
【附圖說明】
[0010] 圖1為根據(jù)本發(fā)明實施例的存儲器控制器的示意圖。
[0011] 圖2為根據(jù)本發(fā)明實施例的存儲庫中的數(shù)據(jù)布局的示意圖。
[0012] 圖3為根據(jù)本發(fā)明實施例的當(dāng)存儲器控制器傳送一個寫入命令W12W及兩個讀取 命令R20、R11W存取存儲器模塊的示意圖。
[0013] 圖4為根據(jù)本發(fā)明實施例的當(dāng)存儲器控制器另傳送一個寫入命令W23W及兩個讀 取命令R21、R22 W存取存儲器模塊的示意圖。
[0014] 圖5為根據(jù)本發(fā)明實施例的當(dāng)存儲器控制器另傳送一個寫入命令W16W及兩個讀 取命令R14、R15 W存取存儲器模塊的示意圖。
[0015] 圖6為根據(jù)本發(fā)明實施例的一種存一多端口存儲器模塊的方法的流程圖。
【具體實施方式】
[0016] 在說明書及權(quán)利要求書當(dāng)中使用了某些詞匯來指稱特定的組件。所屬領(lǐng)域中的技 術(shù)人員應(yīng)可理解,制造商可能會用不同的名詞來稱呼同樣的組件。本說明書及權(quán)利要求書 并不W名稱的差異來作為區(qū)分組件的方式,而是W組件在功能上的差異來作為區(qū)分的基 準(zhǔn)。在通篇說明書及權(quán)利要求書當(dāng)中所提及的"包含"是開放式的用語,故應(yīng)解釋成"包含但 不限定于"。另外,"禪接"一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述 第一裝置禪接于第二裝置,則代表第一裝置可直接電氣連接于第二裝置,或通過其它裝置 或連接手段間接地電氣連接至第二裝置。
[0017] 請參考圖1,其為根據(jù)本發(fā)明一個實施例的存儲器控制器110的示意圖。如圖1所 示,存儲器控制器110禪接于存儲器模塊120,且另通過總線101來禪接到需要存取存儲器模 塊120的元件,例如中央處理器102W及圖形處理器104。此外,存儲器控制器110包含了地址 解碼器112、處理電路114、寫入/讀取端口 116、控制邏輯118W及仲裁器119;且存儲器模塊 120包含寫入/讀取控制器122、多個暫存器124W及多個存儲庫126。在本實施例中,存儲器 模塊120是支持兩個或更多個讀取/寫入操作的多端口存儲器模塊,且每一個存儲庫126具 有獨立的讀取/寫入端口 W支持多個存取操作,且每一個存儲庫126允許被獨立地存取。此 夕h存儲器模塊120可W是多端口的靜態(tài)隨機(jī)存取存儲器(multi-port static random access memoir (SRAM))模塊或是多端口的動態(tài)隨機(jī)存取存儲器(dynamic random access memory (DRAM))模塊,但運并非是本發(fā)明的限制條件。
[0018] 關(guān)于存儲器控制器110中元件的操作,地址解碼器112用來對來自中央處理器102 或是圖形處理器104或是其他需要存取存儲器模塊120中數(shù)據(jù)的接收信號進(jìn)行解碼,W產(chǎn)生 一個或多個讀取命令及/或一個或多個寫入命令;處理電路114用來管理及處理讀取/寫入 命令;寫入/讀取緩沖器116用來暫時儲存需要寫入到存儲器模塊120的數(shù)據(jù),及/或是暫時 儲存自存儲器模塊120讀取的數(shù)據(jù);控制邏輯118用來根據(jù)寫入命令來產(chǎn)生比特位值及相對 應(yīng)的校驗碼,且也用來根據(jù)讀取命令W對自存儲器模塊120中所讀取的數(shù)據(jù)進(jìn)行解碼來產(chǎn) 生比特位值;W及仲裁器119用來對寫入命令及讀取命令進(jìn)行排程。
[0019] 關(guān)于存儲器模塊120中元件的操作,寫入/讀取控制器122可包含一行解碼器(row decoder) W及一列解碼器kolumn decoder),且用來對來自存儲器控制器110的寫入/讀取 命令進(jìn)行解碼,W存取存儲庫126中對應(yīng)于寫入/讀取命令的地址上的比特位值;暫存器124 用來暫時地儲存校驗碼;W及每一個存儲庫126由一個或多個忍片來實施W儲存數(shù)據(jù)。
[0020] 在本發(fā)明的實施例中,上述的多個校驗碼是根據(jù)儲存在存儲庫126中的數(shù)據(jù)或是 準(zhǔn)備要寫入到存儲庫126中的數(shù)據(jù)所產(chǎn)生,且運些校驗碼是平均地被寫入至存儲庫126中。 通過使用此方法,存儲器控制器110可W同時地自單一存儲庫中的多個地址讀取兩個比特 位值,W減少存儲庫沖突的發(fā)生機(jī)率。本發(fā)明實施例的操作細(xì)節(jié)在W下會做具體的描述。
[0021] 請參考圖2,其根據(jù)本發(fā)明一個實施例的存儲庫中的數(shù)據(jù)布局的示意圖,其中圖2 展示了多個存儲庫126包含了四個存儲庫BankO~Bank3,多個暫存器124包含了分別對應(yīng)到 存儲庫BankO~Bank3的四個暫存器RegO~Re的,且每一個存儲庫包含了兩個讀取端口 W及 一個寫入端口(2R1W),但運些特征并非是本發(fā)明的限制條件。如圖2所示,Ξ個存儲庫的數(shù) 據(jù)分散在四個存儲庫BankO~Bank3中,且校驗碼是平均地分散在四個存儲庫BankO~Banks 中。詳細(xì)來說,校驗碼P(b00,bl0,b20)通過對存儲庫BankO~Bank2中對應(yīng)到地址AO的比特 位b00、bl0、b20作異或(exclusive-〇r,X0R)運算而得到,亦即 ΡΓοΟΟ, blO,b20) = b00?bl0?b20,其中是一個異或算子。接著,校驗碼P(b00, bl0,b20)被儲存至存儲庫Bank3中對應(yīng)于地址AO的單元中。
[0022] 類似地,校驗碼P(b01,bll,b21)通過對存儲庫BankO、Bankl、Bank3中對應(yīng)到地址 A1的比特位b01、bll、b21作異或運算而得到,且校驗碼?(601,611,621)被儲存至存儲庫 Bank2中對應(yīng)于地址A1的單元中;校驗碼P(b02,bl2,b22)通過對存儲庫BankO、Bank2、Bank3 中對應(yīng)到地址A2的比特位b02、bl2、b22作異或運算而得到,且校驗碼P(b02,bl2,b22)被儲 存至存儲庫Bankl中對應(yīng)于地址A2的單元中;校驗碼P(b03,bl3,b23)通過對存儲庫Bankl~ Bank3中對應(yīng)到地址A3的比特位b03、bl3、b23作異或運算而得到,且校驗碼P(b03,bl3,b23) 被儲存至存儲庫BankO中對應(yīng)于地址A3的單元中;類似地,校驗碼P(b04,b 14,b24)、P(b05, 615,625)、?化06,616,626)、?(607,617,627)也分別地被寫入到存儲庫8日扯3、8日扯2、 Bankl、BankO 中。
[0023] 圖3為根據(jù)本發(fā)明一個實施例的當(dāng)存儲器控制器110傳送一個寫入命令W12W及兩 個讀取命令R20、R11W存取存儲器模塊120的示意圖,其中寫入命令W12控制存儲器模塊120 W將一個比特位bl2'寫入到存儲庫Bank2中具有地址A2的單元中(亦即,使用比特位bl2'來 更新比特位bl2),且讀取命令R20、R11則是控制存儲器模塊120 W分別自存儲庫Bank2、 Bankl中讀取數(shù)據(jù)b20、bll。在圖3中,由于讀取命令R20、R11本身并沒有存儲庫沖突的問題, 因此存儲器控制器110可W直接地自存儲庫Bank2、Bankl中分別讀取數(shù)據(jù)b20、bl 1。此外,當(dāng) 比特位bl2'寫入至存儲庫Bank2中具有地址A2的單元時,存儲器控制器110另外從存儲庫 BankO、Bank3中分別讀取比特位b02、b22,且對比特位612'、602、622進(jìn)行異或運算^產(chǎn)生一 更新后校驗碼P'(b02,bl2',b22),并將此更新后校驗碼P'(b02,bl2',b22)儲存至?xí)捍嫫?Regl 中。
[0024] 圖4為根據(jù)本發(fā)明一個實施例的當(dāng)存儲器控制器110另傳送一個寫入命令W23W及 兩個讀取命令R2UR22W存取存儲器模塊120的示意圖,其中圖4的實施例接續(xù)著圖3的實施 例。在圖4中,寫入命令W23控制存儲器模塊120W將一個比特位b23'寫入到存儲庫Bank3中 具有地址A3的單元中(亦即,使用比特位b23 '來更新比特位b23),且讀取命令R21、R22則是 控制存儲器模塊120W自存儲庫中讀取數(shù)據(jù)b21、b22。在本實施例中,由于比特位b21、b22是 位于同一個存儲庫Bank3中,因此會有存儲庫沖突的情形發(fā)生,而使得存儲器控制器110無 法同時且直接地自存儲庫Bank3中讀取比特位b21、b22,因此,存儲器控制器110僅能直接自 存儲庫Bank3中讀取比特位b21、b22的其中之一(在本實施例中,存儲器控制器110直接讀取 比特位b21),且另外一個比特位(亦即,b22)是在不讀取比特位b22的情形下,通過對比特位 b02、bl2W及更新后校驗碼?'化02,612',622)進(jìn)行異或運算后而得到,其中比特位602、612 分別自存儲庫BankO、Bank2中所讀取,且更新后校驗碼P '(b02,bl2 ',b22)則自暫存器Regl 中所讀取。通過使用上述的存取方法,兩個存取相同存儲庫的讀取命令可W同時地被執(zhí)行 W得到兩個比特位(例如,b21、b22),因此可W避免存儲庫沖突的事件發(fā)生。
[00巧]另外,關(guān)于寫入命令W23,比特位b23'寫入至存儲庫Bank3中具有地址A3的單元,而 存儲器控制器110另外從存儲庫Bankl、Bank2中分別讀取比特位b03、bl3,且對比特位b23'、 b03、bl3進(jìn)行異或運算W產(chǎn)生更新后校驗碼P'(b03,bl3,b23'),并將此更新后校驗碼P' 化03,613,623')儲存至?xí)捍嫫?^邑0中。
[0026] 圖5為根據(jù)本發(fā)明一個實施例的當(dāng)存儲器控制器110另傳送一個寫入命令W16W及 兩個讀取命令R14、R15W存取存儲器模塊120的示意圖,其中圖5的實施例接續(xù)著圖4的實施 例。在圖5中,寫入命令W16控制存儲器模塊120W將一個比特位bl6'寫入到存儲庫Bank2中 具有地址A6的單元中(亦即,使用比特位b 16 '來更新比特位b 16),且讀取命令R14、R15則是 控制存儲器模塊120 W自存儲庫中讀取數(shù)據(jù)b 14、b 15。在本實施例中,由于比特位b 14、b 15是 位于同一個存儲庫Bankl中,因此會有存儲庫沖突的情形發(fā)生,而使得存儲器控制器110無 法同時且直接地自存儲庫Bankl中讀取比特位bl4、bl5,因此,存儲器控制器110僅能直接自 存儲庫Bankl中讀取比特位bl4、bl5的其中之一(在本實施例中,存儲器控制器110直接讀取 比特位bl4),且另外一個比特位(亦即,bl5)是在不讀取比特位bl5的情形下,通過對比特位 b05、b25W及校驗碼P(b05,bl5,b25)進(jìn)行異或運算后而得到,其中比特位b05、b25分別自存 儲庫BankO、Bank3中所讀取,且校驗碼P(b05,bl5,b25)則自存儲庫Bank2中所讀取。通過使 用上述的存取方法,兩個存取相同存儲庫的讀取命令可W同時地被執(zhí)行W得到兩個比特位 (例如,bl4、bl5),因此可W避免存儲庫沖突的事件發(fā)生。
[0027] 另外,關(guān)于寫入命令W16,比特位bl6 '被寫入至存儲庫Bank2中具有地址A6的單元, 而存儲器控制器110另外從存儲庫BankO、Bank3中分別讀取比特位b06、b26,且對比特位 616'、606、626進(jìn)行異或運算^產(chǎn)生更新后校驗碼?'化06,616',626)。同時,前一個更新后 校驗碼P '(b02,b 12 ',b22)則被移至存儲庫Bank 1中具有地址A2的單元中,且目前的更新后 校驗碼?'化06,616',626)則儲存至?xí)捍嫫?^旨1中。
[002引需注意的是,圖2~5所示的"地址A0~A7"僅用來表示每一個存儲庫中多個單元的 位置偏移量,此外,本實施例中的"地址"一詞并未限制是存儲庫的實體地址或是地址的索 引值,且一個比特位群組(例如b00,bl0,b20)及相對應(yīng)的校驗碼(例如?(600,610,620))應(yīng) 該被視為在存儲庫中具有相同的地址。
[0029] 圖2~圖5的實施例可W被歸納為圖6所示的流程圖,參考圖2~圖6,流程如下所 述:
[0030] 步驟600:流程開始。
[0031 ]步驟602:接收一個寫入命令W及兩個讀取命令。
[0032]步驟604:在寫入的流程中,將數(shù)據(jù)直接寫入至其地址中,讀取其他存儲庫中具有 相同地址(偏移量)的數(shù)據(jù)但不包含校驗碼,對所讀取的數(shù)據(jù)W及寫入的數(shù)據(jù)進(jìn)行異或運算 W產(chǎn)生更新后校驗碼,并將更新后校驗碼儲存至?xí)捍嫫髦小?br>[0033] 步驟606:在讀取的流程中,判斷讀取命令是否存在著存儲庫沖突的狀況,若是沒 有存儲庫沖突,流程進(jìn)入步驟608;若有存儲庫沖突,則流程進(jìn)入步驟610。
[0034] 步驟608:直接讀取數(shù)據(jù)。
[0035] 步驟610:直接自存儲器模塊讀取對應(yīng)到其中一個讀取命令的數(shù)據(jù);W及讀取其他 存儲庫中具有相同地址(偏移量)的數(shù)據(jù),并對所讀取的數(shù)據(jù)進(jìn)行異或運算W產(chǎn)生/回復(fù)對 應(yīng)到另一個讀取命令的數(shù)據(jù)。
[0036] 步驟612:流程結(jié)束。
[0037] 簡要歸納本發(fā)明,在本發(fā)明的存取多端口存儲器模塊的方法中,每一個校驗碼是 通過對一部分存儲庫中對應(yīng)到相同地址(偏移量)的數(shù)據(jù)進(jìn)行異或運算來得到,且校驗碼被 儲存到剩余存儲庫中具有相同地址(偏移量)的單元;此外,校驗碼分散地儲存在存儲庫中。 通過使用本發(fā)明的技術(shù),可W降低存儲庫沖突的發(fā)生機(jī)率W增進(jìn)存取效率。
[0038] 盡管已經(jīng)在文中使用不同的方法、設(shè)備W及系統(tǒng)來描述和示出了一些示例性的技 術(shù),但是本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是:可W在不脫離所要求保護(hù)的主題的情況下進(jìn) 行各種其它修改W及進(jìn)行等同物替換。此外,在不脫離文中描述的中屯、構(gòu)思的情況下,可W 進(jìn)行許多修改W使特定的情況適應(yīng)于所要求保護(hù)的主題的教導(dǎo)。因此,意在所要求保護(hù)的 主題不限制于所公開的特定示例,而且運樣的要求保護(hù)的主題還可W包括落在所附權(quán)利要 求的范圍內(nèi)的所有實施及它們的等同物。
【主權(quán)項】
1. 一種存取多端口存儲器模塊的方法,其特征在于,所述多端口存儲器模塊包含多個 存儲庫,且所述存取多端口存儲器模塊的方法包含有: 產(chǎn)生多個校驗碼,其中每一個校驗碼是根據(jù)一部分存儲庫中的比特位所產(chǎn)生的;以及 分別將所述多個校驗碼寫入至所述多個存儲庫中。2. 根據(jù)權(quán)利要求1所述的存取多端口存儲器模塊的方法,其特征在于,所述多個存儲庫 包含Μ個存儲庫,每一個存儲庫包含對應(yīng)到N的地址的單元以分別儲存N個比特位,且產(chǎn)生所 述多個校驗碼的步驟包含有: 根據(jù)(Μ-1)個存儲庫中對應(yīng)到第Κ個地址的每一個比特位來產(chǎn)生第Κ個校驗碼,其中Κ為 小于Ν的任意正整數(shù),并據(jù)以產(chǎn)生Ν個校驗碼;以及 分別將所述多個校驗碼寫入至所述多個存儲庫中的步驟包含有: 將所述第Κ個校驗碼儲存到剩余存儲庫中對應(yīng)到所述第Κ個地址的單元中。3. 根據(jù)權(quán)利要求2所述的存取多端口存儲器模塊的方法,其特征在于,根據(jù)所述(Μ-1) 個存儲庫中對應(yīng)到第Κ個地址的每一個比特位來產(chǎn)生所述第Κ個校驗碼的步驟包含有: 對所述(Μ-1)個存儲庫中對應(yīng)到所述第Κ個地址的每一個比特位進(jìn)行異或運算以產(chǎn)生 所述第Κ個校驗碼。4. 根據(jù)權(quán)利要求2所述的存取多端口存儲器模塊的方法,其特征在于,所述Ν個校驗碼 平均地被寫入至所述Μ個存儲庫中。5. 根據(jù)權(quán)利要求2所述的存取多端口存儲器模塊的方法,其特征在于,所述的存取多端 口存儲器模塊的方法另包含有: 當(dāng)所述(Μ-1)個存儲庫中的一個存儲庫,其對應(yīng)到所述第Κ個地址的單元中的數(shù)據(jù)根據(jù) 寫入命令而需要更新時: 根據(jù)所述(Μ-1)個存儲庫中對應(yīng)到所述第Κ個地址的每一個比特位來產(chǎn)生一更新后第Κ 個校驗碼;以及 將所述更新后第Κ個校驗碼儲存到所述剩余存儲庫中對應(yīng)到所述第Κ個地址的單元中。6. 根據(jù)權(quán)利要求2所述的存取多端口存儲器模塊的方法,其特征在于,所述的存取多端 口存儲器模塊的方法另包含有: 當(dāng)對應(yīng)到特定存儲庫中的第X個地址以及第Υ個地址的兩個比特位因為兩個讀取命令 而被要求讀取時,直接自所述特定存儲庫中讀取對應(yīng)到該第X個地址的比特位,其中Χ、Υ為 小于Ν的兩個任意不同的正整數(shù);以及 通過讀取其他存儲庫中對應(yīng)于多個第Υ個地址的多個比特位來產(chǎn)生所述特定存儲庫中 對應(yīng)到該第Υ個地址的該比特位。7. 根據(jù)權(quán)利要求6所述的存取多端口存儲器模塊的方法,其特征在于,所述特定存儲庫 中對應(yīng)到該第Υ個地址的該比特位是在不讀取所述特定存儲庫中對應(yīng)到所述第Υ個地址的 所述比特位的情形下所產(chǎn)生。8. 根據(jù)權(quán)利要求1所述的存取多端口存儲器模塊的方法,其特征在于,所述多端口存儲 器模塊為多端口的靜態(tài)存儲器模塊或是多端口的動態(tài)存儲器模塊,且每一個存儲庫均被允 許獨立地存取。9. 一種存儲器控制器,耦接于多端口存儲器模塊,其特征在于,所述多端口存儲器模塊 包含多個存儲庫,且所述存儲器控制器用來產(chǎn)生多個校驗碼,并分別將所述多個校驗碼寫 入至所述多個存儲庫中,其中每一個校驗碼是根據(jù)一部分存儲庫中的比特位所產(chǎn)生的。10. 根據(jù)權(quán)利要求9所述的存儲器控制器,其特征在于,所述多個存儲庫包含Μ個存儲 庫,每一個存儲庫包含對應(yīng)到Ν的地址的單元以分別儲存Ν個比特位,且所述存儲器控制器 根據(jù)(Μ-1)個存儲庫中對應(yīng)到第Κ個地址的每一個比特位來產(chǎn)生第Κ個校驗碼,其中Κ為小于 Ν的任意正整數(shù),并據(jù)以產(chǎn)生Ν個校驗碼;以及所述存儲器控制器將所述第Κ個校驗碼儲存到 剩余存儲庫中對應(yīng)到該第Κ個地址的單元中。11. 根據(jù)權(quán)利要求10所述的存儲器控制器,其特征在于,所述存儲器控制器對該(Μ-1) 個存儲庫中對應(yīng)到該第Κ個地址的每一個比特位進(jìn)行異或運算以產(chǎn)生所述第Κ個校驗碼。12. 根據(jù)權(quán)利要求10所述的存儲器控制器,其特征在于,所述Ν個校驗碼平均地被寫入 至所述Μ個存儲庫中。13. 根據(jù)權(quán)利要求10所述的存儲器控制器,其特征在于,當(dāng)所述(Μ-1)個存儲庫中的一 個存儲庫,其對應(yīng)到所述第Κ個地址的單元中的數(shù)據(jù)根據(jù)所述存儲器控制器發(fā)送的寫入命 令而需要更新時,所述存儲器控制器根據(jù)所述(Μ-1)個存儲庫中對應(yīng)到所述第Κ個地址的每 一個比特位來產(chǎn)生更新后第Κ個校驗碼,以及將所述更新后第Κ個校驗碼儲存到所述剩余存 儲庫中對應(yīng)到所述第Κ個地址的單元中。14. 根據(jù)權(quán)利要求10所述的存儲器控制器,其特征在于,當(dāng)存儲器控制器被要求讀取對 應(yīng)到特定存儲庫中的第X個地址以及第Υ個地址的兩個比特位時,所述存儲器控制器直接自 所述特定存儲庫中讀取對應(yīng)到該第X個地址的比特位,其中Χ、Υ為小于Ν的兩個任意不同的 正整數(shù);以及所述存儲器控制器通過讀取其他存儲庫中對應(yīng)于該第Υ個地址的比特位來產(chǎn) 生所述特定存儲庫中對應(yīng)到該第Υ個地址的該比特位。15. 根據(jù)權(quán)利要求14所述的存儲器控制器,其特征在于,所述特定存儲庫中對應(yīng)到所述 第Υ個地址的所述比特位是在不讀取所述特定存儲庫中對應(yīng)到所述第Υ個地址的所述比特 位的情形下所產(chǎn)生的。16. 根據(jù)權(quán)利要求9所述的存儲器控制器,其特征在于,所述多端口存儲器模塊為多端 口的靜態(tài)存儲器模塊或是多端口的動態(tài)存儲器模塊,且每一個存儲庫均被允許獨立地存 取。17. -種存取多端口存儲器模塊的方法,其特征在于,所述多端口存儲器模塊包含多個 存儲庫,且所述方法包含有: 當(dāng)對應(yīng)到特定存儲庫中兩個不同地址的比特位因為兩個讀取命令而被要求讀取時,直 接讀取所述特定存儲庫中兩個不同地址中的其中之一的比特位;以及 通過讀取其他存儲庫中的多個比特位來產(chǎn)生所述特定存儲庫中兩個不同地址中的另 外之一的比特位。18. 根據(jù)權(quán)利要求17所述的存取多端口存儲器模塊的方法,其特征在于,每一個存儲庫 包含對應(yīng)到Ν個地址的單元以分別儲存Ν個比特位,所述兩個不同地址中的另外之一為第Υ 個地址,且通過讀取其他存儲庫中的多個比特位來產(chǎn)生所述特定存儲庫中兩個不同地址中 的另外之一的比特位的步驟包含有: 通過讀取其他存儲庫中對應(yīng)于所述第Υ個地址的比特位來產(chǎn)生所述特定存儲庫中對應(yīng) 到所述第Υ個地址的比特位,其中Υ為小于Ν的正整數(shù)。19. 根據(jù)權(quán)利要求18所述的存取多端口存儲器模塊的方法,其特征在于,所述特定存儲 庫中對應(yīng)到所述第Y個地址的所述比特位是在不讀取所述特定存儲庫中對應(yīng)到所述第Y個 地址的所述比特位的情形下所產(chǎn)生。20.根據(jù)權(quán)利要求18所述的存取多端口存儲器模塊的方法,其特征在于,所述多端口存 儲器模塊為多端口的靜態(tài)存儲器模塊或是多端口的動態(tài)存儲器模塊,且每一個存儲庫均被 允許獨立地存取。
【文檔編號】G06F13/16GK106066833SQ201610255321
【公開日】2016年11月2日
【申請日】2016年4月22日 公開號201610255321.5, CN 106066833 A, CN 106066833A, CN 201610255321, CN-A-106066833, CN106066833 A, CN106066833A, CN201610255321, CN201610255321.5
【發(fā)明人】賴伯承, 林俊良, 呂國正
【申請人】聯(lián)發(fā)科技股份有限公司