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