[go: up one dir, main page]

TW201007457A - Adaptable buffer device and method thereof - Google Patents

Adaptable buffer device and method thereof Download PDF

Info

Publication number
TW201007457A
TW201007457A TW097129816A TW97129816A TW201007457A TW 201007457 A TW201007457 A TW 201007457A TW 097129816 A TW097129816 A TW 097129816A TW 97129816 A TW97129816 A TW 97129816A TW 201007457 A TW201007457 A TW 201007457A
Authority
TW
Taiwan
Prior art keywords
address
item
data
written
block
Prior art date
Application number
TW097129816A
Other languages
English (en)
Other versions
TWI396975B (zh
Inventor
Yen-Ju Lu
Original Assignee
Realtek Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to TW097129816A priority Critical patent/TWI396975B/zh
Priority to US12/535,157 priority patent/US8473696B2/en
Publication of TW201007457A publication Critical patent/TW201007457A/zh
Application granted granted Critical
Publication of TWI396975B publication Critical patent/TWI396975B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

201007457 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種緩衝儲存技術’特別是指一 η 調適緩衝裝置及其方法。 s 種可 【先前技術】 參閱圖1 ’ 一般電路設計中,處理器7會將運算資料寫 入外接記憶體8中。但是,由於處理器7速度普遍高出: 憶體8許多,所以通常採用一内建緩衝裝置7ι來暫存運= 資料,然後再繼續往下執行指令,以避免因記憶體 而降低效能。 ” 習知-種緩衝裝置接收處理器7傳來的數筆相鄰資料( 資料寬度是-字元—d))與對應位址後,會分別記錄在複 數分別具有_字元儲存寬度的資料項目(_y)與複數位址項 目内右該緩衝裝置支援寫入合併(write merge),則當其中 :份相鄰資料的對綠㈣增連續時,能合併朗系統匯 流排(bus) 9的單—寫人命令,作為傳送該等部份相鄰資料 的依據。雖然此種做法不需一一傳遞每一筆資料的位址並 可減少流經系統匯流排9的資料量,但是該資料項目的儲 2度因僅可容納一筆資料’所以只有相鄰資料的位址遞 增連續時才能進行合併,而合併機率並不大。 習種緩衝裝置將資料項目的神寬度擴張為四 緩衝裝置被寫滿前,可將位址連續的資料記錄在 ^〜資料項目。因此,即使位址連續的資料不是依序寫入 、、衝裝置,仍有機會合併在一起。不過,若是相鄰數筆資 201007457 料都非位址連續,則可能出現—資料項目僅記錄_ ’造成儲存空間極大的浪費。 斗 此外’習知另有允許同-項目可被安排記錄位址或是 資料’而不似前述兩種緩衝裝置必須準備位址項目和資料 項目。當前一位址與目前位址呈現遞增連續時,只需記錄 目前資料而不需記錄目前位址’而目前資料與先前資料則 可以合併成單—寫人命令。然而,當不滿足遞增連續時, 則必須將位址和資料都予以記錄。由於相鄰資料才能合併 ,因此將導致系統匯流排9的資料量仍難以減少。 【發明内容】 因此,本發明之目的,即在提供一種可以彈性地調整 儲存結構的可調適緩衝裝置及其方法,能有效合併資料而 使得系統匯流排的資料量下降,並且結構彈性有助於儲存 空間使用率的提高。 於是,本發明可調適緩衝裝置,包含:複數個項目, 每一個項目包括一位址攔位以及一記錄區塊;及一控制單 元,選擇性地將每一個項目設定為一般狀態或是轉換狀態❹ ,其中’當該控制早元設定該些項目的一第一項目為一般 狀態時,該第一項目的位址欄位用以記錄一第一位址,該 第一項目的記錄區塊記錄該第一位址所對應的資料以及相 鄰於該第一位址的其他位址所對應的資料;當該控制單元 設定該些項目的一第二項目為轉換狀態時,該控制單元將 該第二項目的位址糊位以及記錄區塊分為多個單元,其中 每一個單元皆可分別用以記錄一第二位址、該第二位址所 201007457 對應的資料以及相鄰於該第二位址所對應的資料。 而本發明可調適緩衝方法,適用於一可調適緩衝裝置 ’該可調適缓衝裝置包括複數個項目,每—個項目包括_
用以記錄位址相鄰之資料的記錄區塊,該記錄區塊可設定 為一般狀態或轉換狀態,該方法包含以下㈣:接收並根 據所接收資料對應的位址,判斷是否可將資料寫入該記錄 區塊的其中一個位址相鄰的記錄攔位;若無法將資料寫入 該記錄區塊的任一個位址相鄰的記錄攔位,判斷是否可將 其中一個項目由一般狀態變更為轉換狀態;以及若沒有任 何項目可由-般狀態變更為轉換狀態,則待該些記錄糊位 的資料寫出後’再將接收資料寫入;#中,由一般狀態變 更為轉換狀態是將每一個項目的位址攔位和記錄區塊分為 複數個單s,且其中至少有—個是未被寫人資料的空白單 元,而同-項目或同-單元的資料可合併寫出,以釋出空 白項目或單元。 【實施方式】 有關本發明之前述及其他技術内容、特點與功效,在 以下配合參考圖式之一個較佳實施例的詳細說明中,將可 清楚的呈現。 參閱圖2’纟發明可調適緩衝裝置之較佳實施例適用於 一處理器100中,能暫存處理器1〇〇的運算資料,且透過 一系統匯流排3將資料傳送到一記憶體2。 該可調適緩衝裝置1包含一控制單元u及多個項目。 每一個項目包括一個有效欄位(field)121、一個狀態欄位122 201007457 、一個致能攔位123、一個位址攔位124及一個記錄區塊 125 ’且記錄區塊125包括η個記錄攔位s(n-l)...s3、S2、sl 、s0 ° 該控制單元11可設定每一狀態攔位122的值,當設定 其值為0時’可代表所對應到的項目處於一般狀態,則當 設定其值為1時’可顯示該項目處於轉換狀態。且本較佳 實施例是預設所有項目為一般狀態《必須注意的是,文中 所設定的值不論為〇或是1,皆是用以清楚表達實施例的操 作内容’文内所述之任何設定數值皆非用以限定本發明的 範疇。 當該控制單元11設定該項目為一般狀態時,該項目之 位址欄位124可記錄該控制單元11寫入的一位址,而記錄 攔位s(n-l)〜s0可記錄與該位址相關的至少一資料。該相關 的資料包括該位址所對應的資料或相鄰於該位址的其他(n_ 1)個位址所對應的資料,其中n為記錄區塊125的攔位數。 在此舉一例子說明··假設n=8,且位址欄位124記錄的 位址為0x1000,且假設相鄰位址的位址差為4,則記錄欄 位S〇〜s7只能記錄對應位址0x1000、〇xl〇〇4、〇χι〇〇8、 0x100c、Οχιοιο、0χ1014、〇χ1〇18、〇xl〇lc 的資料,而這 些資料就是與位址欄位124所記錄之位址〇χ1〇〇〇相關的資 料。 當該控制單元11設定該項目為轉換狀態時,該控制單 兀η將該項目的位址攔位124和記錄區塊125分為多個單 元,且每一單元用於記錄該控制單元u寫入的一位址及與 201007457 • 該位址相關的至少一資料。而該相關的資料包括該位址所 - 對應的資料或相鄰於該位址的其他(m-2)個位址所對應的資 料’其中m是每一單元的棚位數。 如.參考圖7的項目3,單元unit i包括位址攔位124 與記錄攔位s7、S6,單元unit 2包括記錄欄位s5〜s3,單元 unit 3包括記錄攔位S2〜s〇。unit !的位址欄位124用於記錄 位址,而記錄攔位S7、S6用於記錄相關的資料。unh 2的 記錄攔位s5用於記錄位址,而記錄欄位s4、s3用於記錄相 • 關的資料。unit 3的記錄欄位s2用於記錄位址,而記錄攔 位s 1、s0用於記錄相關的資料。 該控制單元11也設定每一有效棚位的值,當項目 為一般狀態時,該有效攔位121的值預設為1〇〇;當項目為 轉換狀態時,有效欄位121的該等位元分別代表該項目中 的該等單元的有效性。如圖7的項目3,當unit 1、2有記 錄資料且unit 3沒有記錄資料時,有效攔位121的值可設為 110 ° ® 該控制單元11也設定每一致能欄位123的值,該致能 攔位123的值具有多個位元,該等位元分別對應記錄攔位 s(n_l)〜s0是否有記錄資料,當所對應的攔位有記錄資料時 ’位元值可設定為1,反之,位元值則設定為〇。 參閲圖3,本發明可調適緩衝裝置之較佳實施例所執行 的可調適緩衝方法包含以下步驟: 步驟61 :控制單元η接收一資料及與該資料相對應的 位址,並判斷有無適當項目或單元的記錄區塊125可寫入 9 201007457 配合參閲圖4,而步驟61包括以下子步驟·. :步冑611 ··判斷接收資料所對應的位址與記錄區塊 二任-資料所對應的位址是否屬於同—個呈—般狀態之 η個相鄰位址。若是’則跳到步驟62 ;若否 到子步驟612。 :步冑612··判斷接收資料所對應的位址與記錄區塊 25中任—資料所對應的位址是否屬於同一單元的(㈣個 2位址。若是,則跳到步驟&,若否,則跳到子步驟帽 而執行子步驟611〜612的目的在於將位址連續或相鄰 的資料集中’以利後續記錄於同一項目或單元,進而將這 些集中的資料一起合併輸出到記憶體2。 j步驟613 :判斷是否尚有未被寫入資料的項目或單元 ’、7是’跳到步驟62 ;若否,則判斷該資料無對應的項目 或單元可寫入並跳到步驟63。 步驟62 .控制單% u將接收資料或其所對應的位址寫❹ 入步驟61判斷出的對應項目或單元中,接著跳回步驟6ι。 更詳細地來說,當控制單元η在子步驟611判斷出接 枚資料所對應的位址與記錄區塊125中任一資料所對應的 位址屬於同一個呈一般狀態之項目的η個相鄰位址,便會 將接收資料寫人記錄區& 125的項目中’並修改致能搁位 123的值。 而當控制單元11在子步驟612判斷出接收資料所對應 10 201007457 的位址與記錄區塊125中任一資料所對應的位址屬於同一 單το的(m-l)個相鄰位址,便會將接收資料寫入記錄區塊 125的單元中,並修改致能攔位123的值。
且當控制單元U在子步驟613判斷出尚有未被寫入資 料的項目或單元,便會將接收資料的對應位址轉換成一參 考位址,並將該參考位址和接收資料寫入空的項目或單元 中。並視需要修改致能攔位123、有效欄位121的值。值得 注意的是,將接收資料的對應位址轉成參考位址的方式不 限,只要在寫入空的項目時使接收資料的對應位址屬於^ 個相關該參考位址的位址(其中n為每—記錄區塊的欄位數) ,或是在寫入空的單元時使接收資料的對應位址屬於 個相關該參考位址的位址即可(其中m為每一單元的搁位數) 。因此,該參考位址的值也可以跟接收資料的對應位址一 樣’也就是說,不需進行轉換,直接將接收資料的對應位 址和接收資料寫人該項目巾。例如:若接收f料的對應位 址是0x1534,則其參考位址可為〇χ152〇或〇χΐ534等。 回歸參閲圖3,步驟63:控制單元11依據各爛位的記 錄情形,決定是否將其中一項目更動為轉換狀態。若是, 跳到步驟64,若否,直接跳到步驟65。本例是指更動最後 一項目,但不以此為限。 也就是說’若該些項目當中至少有一 ^ 靖目於轉換狀態 下可包括未被寫入資料的空白單元,則控制單元U會將該 項目設定為轉換狀態。若該些項目於轉換狀態下仍無法2 括未被寫入資料的空白單元,則控制單元u不對該些項= 11 201007457 執行轉換,例如··幾乎記錄區塊125的所有欄位都被寫入 ’不適宜再對記錄區塊125做調整,或例如··即使執行狀 態轉換後’仍然無法挪出—單元供接收資料寫入。 步驟64 ··將其中—項目設定為轉換狀態,因此使記錄 區塊125分為多個單元,更將該項目中原先已記錄的資料 與位址置於其中-單元,且視f要修改所記錄的位址值。 而且該等單元中,至少有一個是未被寫入資料的空白單 兀’控制單元11可將接收資料的對應位址轉換成—參考位 址,並將該參考位址和接收資料寫入該空白單元。此外,❹ 更進-步設定狀態攔位122的值為丨,且修改有效欄位121 和致能攔位123,然後跳回步驟6 J。 在此舉-例子說明,請參閱圖6的項目3,假設原先項 目3已3己錄了 D11(相對應的位址為〇x〇〇b〇)和參考位址 〇X〇_。當項目3需被分為多個單元以繼續記錄下一筆資料 時’參閱圖7的項目3’將項目3分為3個單元:她 卜响3。且將D11移至unhl,即將du由爛位μ移到 s6並修改位址欄位124所記錄的位址為〇χ〇_。此外,再❹ 將D12(對應的位址為0χ6〇6〇)寫入她2,即寫入搁位U, 並於欄位s5寫入位址〇x6〇6〇。 步驟65 ’控制單元11先短暫拖延(stall)處理器100的 寫入動作,同時透過系統匯流排3將其中一項目(如:項目 0)中的記錄輸出到記憶體2,且將其他項目中的記錄依序往 前移動而釋出最後-個項目(如:項目3)(亦即產生未被寫入 資料的項目然後跳回步驟62。值得注意的是,在輪出時 12 201007457 ,對於—般狀態的項目,是將該項 疋册邊項目内所有資料一起合併 後再輸出,而對於轉換狀態的項目,則將同—單元内 =一起先合併後再輸出,且可以每次僅輸出其中—單元之 資料’而不需完全輸出該項目的所有單元之資料,如此可 產生未被寫入資料的單元。 在此舉一簡單例子說明可調適緩衝方法的流程,假設 依序送人緩衝裝置的資料為D1、D2、...、Dn、dh,且
所5應的位|址如下表 D14 所示 0x1518 假設在D8寫人前,D1〜D7於項目中的寫人關係如圖 〇 依據子步驟611’因為與項目〇中已記錄之位址〇χΐ〇〇〇 相關的8(η=8)個位址分別為0χ1〇〇〇、〇χ1〇〇4、〇χ1〇〇8、 0x100c、oxioio、0x1014、〇x1018、0xl01c。而 D8 對應到 的位址為〇xl〇18,屬於這8個位址的其中之一,因此,依 據步驟62,D8寫入項目0的記錄欄位s6(如圖6)。且致能 欄位123的值將變為01011011。 接收到的下一資料的對應位址為〇x320〇 ,依據子步 驟611 ’與項目1中已記錄之位址〇χ32〇〇相同,因此依據 步驟62,D9寫入項目1的記錄欄位s〇,且致能欄位123的 值變為00001101(如圖6的項目u。 同樣,D10(對應到的位址為Oxioic)也依據子步驟611 和步驟62寫入項目〇的記錄欄位S7中(如圖6的項目〇)。 13 201007457 而Dll(對應的位址為0x00b0)進行子步驟611和6i2的 判斷結果均為否’因此跳到子步驟613。且因為項目3尚未 有資料寫入,因此如圖6所示,依據步驟62將一參考位址
OxOOaO寫入項目3之位址攔位124,且將D11寫入S4。且 修改致能欄位123為00010000,而狀態欄位122的值此時 為〇’有效爛位121的值此時為1〇〇。 而下一資料D12(對應的位址為〇χ6〇6〇)因為子步驟 611〜613的判斷結果都為否,且步驟63判斷可將項目3的 狀態做轉換,所以執行步驟64,因此,如圖7所示,控制❹ 單元11將項目3分為3個單元,且先將Du移至unk i, 並修改位址攔位124所記錄的位址為〇x〇〇b〇。此外,再將 〇12寫入11仙2,並於攔位35寫入參考位址如6〇6〇。 机程接著跳回步驟61,以等待接收下一資料對應 的位址為Gx6GaG)。因為依據子步驟611、612的判斷結果 都為否’因此流程跳到子步驟⑴。因為子步驟613的判斷 結果為是’所以如圖8所示,將寫人項目3的她3 , 即攔位s0,且將位址〇x6〇a〇寫入欄位s2,。 ⑩ 接收下資料D14,且因為子步驟611〜613與步驟63 的判斷結果都為否’所以進行步驟65,如圖9所示,將項 中的》已錄輸出,且將其他項目中記錄的資料依序往前 移而釋出項目3。並跳回步驟62以將D14寫入項目3。 綜合上述’即使面對處理器100送出資料之對應位址 不具規則性的情況,也能將具有連續或相鄰位址的資料記 錄於同一項.目或單元中。然後將這些資料合併成對系統匯 14 201007457 流排3的單-寫入命令,亦即只需通知-個位址,便能傳 送複數資料。因此’這樣的安排能有效提高資料合併輪出 的機率’而減少位址傳遞次數,且流經系統匯流排3的資 料量也會隨之降低。此外’本實施例中的項目因為可由一 般狀態轉換為轉換狀態,因此,可爭取更多的記錄空間, 也盡量避免了一個項目僅記錄—筆資料的窘境。 本發明之另-實施例在步驟63的判斷結果為否時,可 :選:先不執行㈣65’改為判斷其他項目是否可以分為 多個單元,若可以,則跳到步驟64以分出其他單元。但若 =有項目中的記錄區塊U5 #呈現报滿的狀態,而無法再 分為多個單元,此時則需執行步驟65。 本發明之另一實施例也可以進—步判冑目前僅剩幾個 項目,可以自由寫Μ也就是說,還有幾個項目的記錄區塊 125疋全為空白)’並當判斷出少於一預定數目的項目可以 自由寫入時’即將這些項目依步驟64設定成轉換狀態以分 成多個單元來使用。值得注意的是,決定分成多個單元的 時間點不以上述所說為限。 本發明之另一實施例中,於步驟62中,將接收資料的 對應位址轉換成參考位址的方式也可以採用另一方式:計 算接收資料的對應位址除以(位址差χ記錄欄位之欄位數)的 餘數,且餘數為〇Χ〇〇的,將所對應到的資料寫入記錄欄位 SO,餘數為0x04的寫入sl,餘數為〇χ〇8的寫入s2,其餘 以此類推。且寫入位址攔位124中的參考位址則是指向記 錄攔位S〇所記錄之資料所對應到的位址。如圖6的項目2 15 201007457 ’因為D6對應的位址為〇xI534,而因為0x1534除以(4χ 8=)32的餘數為0x14,所以將D6寫入記錄欄位s5,而攔位 s〇對應到的位址為〇xl52〇,因此寫入位址攔位124中的參 考位址即為0x1520。值得注意的是,寫入位址欄位124中 的參考位址除了可以是指向記錄欄位s〇之外,也可以指向 其他具代表性的記錄攔位,譬如:記錄欄位内確實記錄有 資料者。 綜上所述,本發明可調適緩衝裝置及其方法支援寫入 合併的做法’並允許可調適轉換來更改項目的記錄結構,◎ 因而能降低流經系統匯流排3的資料量,並使緩衝裝置j! 的儲存空間有較佳運用,故確實能達成本發明之目的。 惟以上所述者’僅為本發明之較佳實施例而已,當不 能以此限定本發明實施之範圍,即大凡依本發明申請專利 範圍及發明說明内容所作之簡單的等效變化與修飾,皆仍 屬本發明專利涵蓋之範圍内。 【圖式簡單說明】 圖1是一方塊圖,說明處理器將運算資料寫入外接記❹ 憶體中; 圖2是一方塊圖,說明本發明可調適緩衝裝置之較佳 實施例内建於處理器中’並將資料寫入記憶體中; 圖3是一流程圖,說明本發明可調適緩衝方法之較佳 實施例; 圖4是一流程圖,說明判斷有無適當項目或單元可供 資料寫入; 八 16 201007457 圖5是一示意圖,說明各項目皆處於一般狀態; 圖6是一示意圖,說明將資料寫入於一尚未有資料寫 入的項目内, 圖7是一示意圖,說明將其中一項目更動為轉換狀態 9 圖8是一示意圖,說明資料寫入於一尚未有資料寫入 的單元内;及 圖9是一示意圖,說明將其中一項目的記錄輸出而空 出一項目。
17 201007457 【主要元件符號說明】 100 處理器 3 系統匯流排 1 可調適緩衝裝置 61-65 步驟 11 控制單元 611〜613 子步驟 121 有效欄位 s0 記錄爛位 122 狀態欄位 si 記錄欄位 123 致能欄位 s2 記錄欄位 124 位址欄位 s3 記錄欄位 125 記錄區塊 s(n-l) 記錄欄位 2 記憶體 unitl~3 XtV — 早兀 ❿
18

Claims (1)

  1. 201007457 十、申請專利範圍: 1. 一種可調適緩衝裝置,包含: 複數個項目,每—個項目包括一位址攔位以及一記 錄區塊;及 一控制單元,選擇性地將每一個項目設定為一般狀 態或是轉換狀態; 其中,當該控制單元設定該些項目的一第一項目為 一般狀態時,該第一項目的位址欄位用以記錄一第一位 ❹ 址’該第—項目的記錄區塊記錄該第-位址所對應的資 料以及相鄰於該第一位址的其他位址所對應的資料; 當該控制單元設定該些項目的—第二項目為轉換狀 態時’該控制單元將該第二項目的位址攔位以及記錄區 塊分為多個單元,其巾每—個單元皆可分別用以記錄一 第二位址、該第二位址所對應的資料以及相鄰於該第二 位址所對應的資料。 2. 依據申請專利範圍第丨a #、+、& τ 耗固弟丨項所述之可調適緩衝裝置,其中 ’相鄰於該第一位址的其他办 «V丹他位址共(n_1}個,其中η為該 第一項目之記錄區塊的欄位數。 3. 依據申請專利範圍第j瑁所 矛項所述之可調適緩衝裝置,其中 ’相鄰於該第一位址所對摩的咨把 τ对應的貝料共(m-2)個,其中m為 每一個單元的棚位數。 4.依據申請專利範圍第1項 項所述之可調適緩衝裝置,其中 ,當所接收資料無法窝入杯 馬入任何該些項目或單元時,若該 些項目當中至少有一第 項目於轉換狀態下可包括未被 19 201007457 寫入資料的單元,則該控制單元將該第三項目設定為轉 換狀態後,再繼續執行寫入動作;若該些項目於轉換狀 態下仍無法包括未被寫入資料的單&,則該控制單元將 待該些項目或該些單元中的記錄寫出並產生未被寫入資 料的項目或單元後,再繼續執行寫入動作。 5.依據申請專利範圍第4項所述之可調適緩衝裝置,其中 ,當接收資料所對應的位址與記錄區塊中任一資料所對 應的位址既不屬於同一項目相鄰的n個位址也不屬於同 一單元相鄰的(m-i)個位址,且無任何未被寫入資料的項 目或單元時,則表示所接收資料無法寫入任何該些項目 或單兀,其中〇每一個項目之記錄區塊的攔位數,爪 為每一個單元的攔位數。 6. 依據申請專利範圍冑丨_述之可調適緩衝裝置,其中 ,該控制單元可將該第一項目内之資料合併寫出。” 7. 依射請專利範圍第丨項所述之可調適緩衝裝置,立中 ’該控制單元可將該第二項目内屬於同一單元之資料合 併寫出》 Q 8.
    依據申請專利範圍第i項所述之可調適緩衝裝置,其中 ’該些項目的每一個項目更包括一狀態欄位,用以設定 每-個項目目前狀態為一般狀態或是轉換狀態。 -種可調適緩衝方法’適詩—可調適緩衝裝置,該可 調適緩衝裝置包括複數個項目,每—個項目包括—用以 記錄位址相鄰之資料的記錄區塊,該記錄區塊可設定為 一般狀態或轉換狀態’該方法包含以下步驟: 20 9. 201007457 接收並根據所接收資料對應的位址,判斷是否可將 資料寫入該記錄區塊的其中一個位址相鄰的記錄攔位; 右無法將資料寫入該記錄區塊的任一個位址相鄰的 §己錄攔位’判斷是否可將其中一個項目由一般狀態變更 為轉換狀態;以及 若沒有任何項目可由一般狀態變更為轉換狀態,則 待該些記錄欄位的資料寫出後,再將接收資料寫入; ❹ ίο. 11. 12. 其中’由一般狀態變更為轉換狀態是將每一個項目 的位址欄位和記錄區塊分為複數個單元,且其中至少有 一個是未被寫入資料的空白單元,而同一項目或同—單 7L的資料可合併寫出,以釋出空白項目或單元。 依據申請專利範圍第9項所述之可調適緩衝方法,其中 於一般狀態下,每一個項目的記錄區塊共有η個位址相 鄰的記錄欄位,用以記錄η個位址相鄰的資料。 依據申請專利範圍第1〇項所述之可調適緩衝方法,其 中於轉換狀態下,每一個項目的位址攔位以及記錄區塊 被分為複數個單元,每一個單元有m個欄位,用以分別 記錄一個位址以及所對應的(^丨)個位址相鄰的資料。 依據申請專利範圍第u項所述之可調適緩衝方法,其 中接收並根據所接收資料對應的位址,判斷是否可將資 料寫入該等記錄區塊的其中一個位址相鄰的記錄攔位的 步驟包括: 判斷所接收資料對應的位址是否屬於一般狀態的項 目中(η-1)個相鄰的位址的其中之一; 21 201007457 判斷所接收資科對應的位址是否屬於轉換狀態的單 元中(m·2)個相鄰的位址的其中之一; 13. 判斷是否尚有未被寫人資料的空㈣目或單元。 依據申請專利範圍筮 第9項所述之可調適緩衝方法,其中 將:收資料寫入未被寫入資料的空白項目或單元時,是 參考位址寫人—位址欄位,並將該參考位址對應的 -料寫入其中一個位址相鄰的記錄攔位。
    22
TW097129816A 2008-08-06 2008-08-06 可調適緩衝裝置及其方法 TWI396975B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW097129816A TWI396975B (zh) 2008-08-06 2008-08-06 可調適緩衝裝置及其方法
US12/535,157 US8473696B2 (en) 2008-08-06 2009-08-04 Adaptive buffer device and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097129816A TWI396975B (zh) 2008-08-06 2008-08-06 可調適緩衝裝置及其方法

Publications (2)

Publication Number Publication Date
TW201007457A true TW201007457A (en) 2010-02-16
TWI396975B TWI396975B (zh) 2013-05-21

Family

ID=41727018

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097129816A TWI396975B (zh) 2008-08-06 2008-08-06 可調適緩衝裝置及其方法

Country Status (2)

Country Link
US (1) US8473696B2 (zh)
TW (1) TWI396975B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI685744B (zh) * 2018-09-06 2020-02-21 大陸商深圳大心電子科技有限公司 指令處理方法及使用所述方法的儲存控制器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4805098A (en) 1986-05-05 1989-02-14 Mips Computer Systems, Inc. Write buffer
US5809228A (en) * 1995-12-27 1998-09-15 Intel Corporaiton Method and apparatus for combining multiple writes to a memory resource utilizing a write buffer
GB2335762C (en) * 1998-03-25 2008-01-10 Advanced Risc Mach Ltd Write buffering in a data processing apparatus
WO2007114995A1 (en) * 2006-04-03 2007-10-11 Qualcomm Incorporated Preprocessor method and apparatus
TWI376600B (en) * 2006-09-28 2012-11-11 Sandisk Corp Memory systems and method for phased garbage collection using phased garbage collection block or scratch pad block as a buffer

Also Published As

Publication number Publication date
TWI396975B (zh) 2013-05-21
US8473696B2 (en) 2013-06-25
US20100058022A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
US20170075838A1 (en) Quality of service in interconnects with multi-stage arbitration
CN113673701B (zh) 神经网络模型的运行方法、可读介质和电子设备
US20120239833A1 (en) Buffer management device, buffer management method, and storage device
CN101310339A (zh) 具有多个内部数据总线和存储器库交错的存储器装置和方法
JP2010027032A (ja) Fifo装置及びfifoバッファへのデータ格納方法
TW201143300A (en) Programmable LDPC code decoder and decoding method thereof
CN115496193A (zh) 基于rram阵列的卷积计算瓦片架构及神经网络加速芯片
TW201007457A (en) Adaptable buffer device and method thereof
CN112463055A (zh) 一种优化并使用固态硬盘l2p表的方法、系统、设备及介质
TW201138379A (en) Directly providing data messages to a protocol layer
JP5137374B2 (ja) メモリマッピング方法及び装置
CN102541464B (zh) 快闪存储装置及其数据写入方法
CN113515234B (zh) 一种用于控制数据读出到主机的方法及控制器
CN113791892A (zh) 数据通路仲裁方法、数据通路仲裁装置及芯片
TW200941215A (en) Management method, management apparatus and controller for memory data access
TW201227295A (en) Flash memory device and data writing method thereof
JPS60245062A (ja) デ−タ転送装置
CN103403698A (zh) 分布式计算方法和分布式计算系统
CN101739353A (zh) 可调适缓冲装置及其方法
WO2023045250A1 (zh) 一种内存池资源共用的方法、装置、设备及可读介质
JP6112193B2 (ja) アクセス制御プログラム、ディスク装置及びアクセス制御方法
JPS5962959A (ja) 記憶装置
JP2007079715A (ja) データ転送方法、プログラムおよび装置
TWI311250B (en) Method for memory page memagement
JPH1145207A (ja) データバス変換方式