TWI769111B - 基本儲存單元管理電路以及基本儲存單元管理方法 - Google Patents

基本儲存單元管理電路以及基本儲存單元管理方法 Download PDF

Info

Publication number
TWI769111B
TWI769111B TW110142723A TW110142723A TWI769111B TW I769111 B TWI769111 B TW I769111B TW 110142723 A TW110142723 A TW 110142723A TW 110142723 A TW110142723 A TW 110142723A TW I769111 B TWI769111 B TW I769111B
Authority
TW
Taiwan
Prior art keywords
storage unit
basic storage
idle
bit
basic
Prior art date
Application number
TW110142723A
Other languages
English (en)
Other versions
TW202322602A (zh
Inventor
陸志豪
Original Assignee
瑞昱半導體股份有限公司
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 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW110142723A priority Critical patent/TWI769111B/zh
Priority to US17/578,493 priority patent/US11797223B2/en
Application granted granted Critical
Publication of TWI769111B publication Critical patent/TWI769111B/zh
Publication of TW202322602A publication Critical patent/TW202322602A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Abstract

一種基本儲存單元管理電路包含有一接收電路、一傳輸電路、一第一緩衝器以及一閒置基本儲存單元控制器。第一緩衝器用以儲存一位元表,其中位元表包含有複數個第一位元,其分別對應複數個基本儲存單元,以及複數個第一位元中的每一第一位元用以標示一相對應之基本儲存單元是否為一閒置基本儲存單元。閒置基本儲存單元控制器耦接於接收電路、傳輸電路以及第一緩衝器,並且用以管理第一緩衝器所儲存的位元表,以及依據位元表來處理對應接收電路所接收或傳輸電路所傳輸的至少一封包的至少一基本儲存單元。

Description

基本儲存單元管理電路以及基本儲存單元管理方法
本發明係有關於資料管理,尤指針對閒置(idle)基本儲存單元(basic storage unit)的基本儲存單元管理電路以及基本儲存單元管理方法。
在傳統的交換器(switch)、路由器(router)或媒體存取控制(media access control, MAC)中,一記憶體,諸如靜態隨機存取記憶體(static random access memory, SRAM),通常會被劃分為複數個基本儲存單元,並且可利用多位元(multi-bit)的閒置基本儲存單元鏈結串列(link list)來管理複數個基本儲存單元中的閒置基本儲存單元,然而,一些問題可能會發生。由於在多位元的閒置基本儲存單元鏈結串列中的一閒置基本儲存單元之位址是被儲存在前一個閒置基本儲存單元中,因此有著多位元的閒置基本儲存單元連結列表的一記憶體(例如靜態隨機存取記憶體)的大小可能會因為基本儲存單元數量而增加,其可能會增加成本以及讀取時間,此外,取得/釋放(get/release)閒置基本儲存單元的流通量(throughput)可能會被該記憶體的頻寬限制,因此,極需一種新穎的架構來取代閒置基本儲存單元鏈結串列。
因此,本發明的目的之一在於提供一種基本儲存單元管理電路以及相關基本儲存單元管理方法,以解決上述問題。
本發明之至少一實施例提供了一種基本儲存單元管理電路,其中該基本儲存單元管理電路可包含有一接收電路、一傳輸電路、一第一緩衝器以及一閒置基本儲存單元控制器。第一緩衝器可用以儲存一位元表,其中位元表包含有複數個第一位元,其分別對應複數個基本儲存單元,以及複數個第一位元中的每一第一位元用以標示一相對應之基本儲存單元是否為一閒置基本儲存單元。閒置基本儲存單元控制器可耦接於接收電路、傳輸電路以及第一緩衝器,並且可用以管理第一緩衝器所儲存的位元表,以及依據位元表來處理對應接收電路所接收或傳輸電路所傳輸的至少一封包的至少一基本儲存單元,其中當複數個基本儲存單元的一基本儲存單元是一閒置基本儲存單元時,閒置基本儲存單元控制器將該基本儲存單元所對應的一第一位元設為一第一邏輯值;以及當複數個基本儲存單元的該基本儲存單元不是閒置基本儲存單元時,閒置基本儲存單元控制器將該基本儲存單元所對應的第一位元設為一第二邏輯值。
本發明之至少一實施例提供了一種基本儲存單元管理方法。該基本儲存單元管理方法可包含有:儲存一位元表,其中位元表包含有複數個第一位元,其分別對應複數個基本儲存單元,以及複數個第一位元中的每一第一位元用以指示一相對應基本儲存單元是否為一閒置基本儲存單元;以及使用一閒置基本儲存單元控制器來依據位元表處理對應一接收電路所接收或一傳輸電路所傳輸的至少一封包的至少一基本儲存單元,並且管理位元表,其中當複數個基本儲存單元的一基本儲存單元是一閒置基本儲存單元時,閒置基本儲存單元控制器將該基本儲存單元所對應的一第一位元設為一第一邏輯值,以及當複數個基本儲存單元的該基本儲存單元不是閒置基本儲存單元時,閒置基本儲存單元控制器將該基本儲存單元所對應的第一位元設為一第二邏輯值。
本發明的好處之一是,本發明所提供之基本儲存單元管理電路可以利用儲存著位元表的記憶體緩衝器以及暫存器緩衝器來管理閒置基本儲存單元,基本儲存單元管理電路的閒置基本儲存單元控制器先從暫存器緩衝器的複數個第二位元中找出具有第一邏輯值(例如1)之一目標第二位元來取得一讀取位址,且根據讀取位址來讀取記憶體緩衝器的位元表中的一目標有效閒置儲存單元標示欄位,並自目標有效閒置儲存單元標示欄位中找出具有第一邏輯值(例如1)的至少一個目標第一位元來取得至少一個閒置基本儲存單元,如此一來,可以大幅地減少讀取記憶體緩衝器的時間,此外,為了減少記憶體緩衝器的功率消耗以及節省記憶體緩衝器的頻寬,本發明另提供了一種基本儲存單元管理電路,其包含有一釋放基本儲存單元緩衝器,其中釋放基本儲存單元緩衝器可用以減少記憶體緩衝器的存取次數。
第1圖為依據本發明一實施例之記憶體緩衝器中的位元以及暫存器緩衝器中的位元之間的對應關係的示意圖。如第1圖所示,一記憶體緩衝器(例如靜態隨機存取記憶體緩衝器100;為簡潔起見,在第1圖中標記為“SRAM緩衝器”)可用以儲存一位元表101,其中位元表101可包含有32個第一位元(其分別對應至32個基本儲存單元),以及32個第一位元中的每一個第一位元可用以標示一相對應之基本儲存單元是否為一閒置基本儲存單元,舉例來說,當32個基本儲存單元中的一基本儲存單元是一閒置基本儲存單元時,則該基本儲存單元所對應的一第一位元是第一邏輯值(例如1);以及當32個基本儲存單元中的一基本儲存單元不是閒置基本儲存單元時,則該基本儲存單元所對應的一第一位元是第二邏輯值(例如0)。此外,為了節省讀取記憶體緩衝器的時間並且能更快速地找出閒置基本儲存單元,可以將位元表以複數個位元為單位來劃分為複數個有效閒置儲存單元標示欄位(field),舉例來說,位元表101中的MxN(例如MxN=32)個第一位元可以M(例如M=8)個位元為單位來劃分為N(例如N=4)個有效閒置儲存單元標示欄位(例如有效閒置儲存單元標示欄位a~有效閒置儲存單元標示欄位d)。
暫存器緩衝器110可用以儲存4個第二位元(例如第二位元e~第二位元h,其分別對應至位元表101中的有效閒置儲存單元標示欄位a~有效閒置儲存單元標示欄位d),其中4個第二位元中的每一個第二位元可用以指示一相對應的有效閒置儲存單元標示欄位中是否包含具有第一邏輯值(例如1)的至少一個第一位元(亦即指示相對應的有效閒置儲存單元標示欄位中的8個第一位元所對應的8個基本儲存單元中是否包含至少一個閒置基本儲存單元)。當4個有效閒置儲存單元標示欄位中的一有效閒置儲存單元標示欄位包含具有第一邏輯值(例如1)的至少一個第一位元時,則該有效閒置儲存單元標示欄位所對應的第二位元是第一邏輯值(例如1);以及當4個有效閒置儲存單元標示欄位中的一有效閒置儲存單元標示欄位所包含的所有第一位元均具有第二邏輯值(例如0)時(亦即該有效閒置儲存單元標示欄位中的8個第一位元所對應的8個基本儲存單元中沒有閒置基本儲存單元),則該有效閒置儲存單元標示欄位所對應的第二位元是第二邏輯值(例如0)。舉例來說,由於位元表101中的有效閒置儲存單元標示欄位a包含有4個具有第一邏輯值(例如1)的第一位元,因此有效閒置儲存單元標示欄位a所對應的第二位元e是第一邏輯值(例如1)。又例如,由於位元表101中的有效閒置儲存單元標示欄位c所包含的所有第一位元均具有第二邏輯值(例如0),因此有效閒置儲存單元標示欄位c所對應的第二位元g是第二邏輯值(例如0)。
第2圖為依據本發明一實施例之基本儲存單元管理電路20的示意圖。如第2圖所示,基本儲存單元管理電路20可包含有一記憶體緩衝器(例如靜態隨機存取記憶體緩衝器200;為簡潔起見,在第2圖中標記為“SRAM緩衝器”)、暫存器緩衝器210、閒置基本儲存單元控制器220、接收電路230以及傳輸電路240,其中靜態隨機存取記憶體緩衝器200以及暫存器緩衝器210可分別由第1圖所示之靜態隨機存取記憶體緩衝器100以及暫存器緩衝器110來實現。靜態隨機存取記憶體緩衝器200可用以儲存一位元表201,本實施例中,位元表201可包含有32個第一位元(其分別對應至32個基本儲存單元),以及位元表201中的32個第一位元可以8個位元為單位來劃分為4個有效閒置儲存單元標示欄位(例如有效閒置儲存單元標示欄位a~有效閒置儲存單元標示欄位d),然而,此僅作為範例說明,而非本發明的限制條件,實作上,位元表201的大小以及有效閒置儲存單元標示欄位劃分可根據需求來調整。暫存器緩衝器210可用以儲存4個第二位元(例如第二位元e~第二位元h,其分別對應至位元表201中的有效閒置儲存單元標示欄位a~有效閒置儲存單元標示欄位d),然而,此僅作為範例說明,而非本發明的限制條件,實作上,暫存器緩衝器210所儲存的第二位元的個數會取決於位元表201的有效閒置儲存單元標示欄位個數。為簡潔起見,於本實施例中針對靜態隨機存取記憶體緩衝器200以及暫存器緩衝器210的類似內容在此不重複贅述。
閒置基本儲存單元控制器220可耦接於靜態隨機存取記憶體緩衝器200、接收電路230以及傳輸電路240,並且可用以管理靜態隨機存取記憶體緩衝器200所儲存的位元表201,以及依據位元表201來處理對應接收電路230所接收或傳輸電路240所傳輸的至少一封包的至少一基本儲存單元,其中當位元表201的32個第一位元所對應的32個基本儲存單元中的一基本儲存單元是閒置基本儲存單元時,閒置基本儲存單元控制器220可將該基本儲存單元所對應的第一位元設為第一邏輯值(例如1);以及當位元表201的32個第一位元所對應的32個基本儲存單元中的一基本儲存單元不是閒置基本儲存單元時,閒置基本儲存單元控制器220可將該基本儲存單元所對應的第一位元設為第二邏輯值(例如0)。此外,閒置基本儲存單元控制器220另可耦接於暫存器緩衝器210,其中當位元表201的4個有效閒置儲存單元標示欄位中的一有效閒置儲存單元標示欄位包含具有第一邏輯值(例如1)的至少一個第一位元時,閒置基本儲存單元控制器220可將該有效閒置儲存單元標示欄位所對應的第二位元設為第一邏輯值(例如1);以及當位元表201的4個有效閒置儲存單元標示欄位中的一有效閒置儲存單元標示欄位所包含的所有第一位元均具有第二邏輯值(例如0)時,閒置基本儲存單元控制器220可將該有效閒置儲存單元標示欄位所對應的第二位元設為第二邏輯值(例如0)。
當接收電路230接收到一接收封包時,閒置基本儲存單元控制器220可藉由靜態隨機存取記憶體緩衝器200以及暫存器緩衝器210來取得至少一個閒置基本儲存單元以供暫存該接收封包,舉例來說,閒置基本儲存單元控制器220會先自暫存器緩衝器210的4個第二位元(例如第二位元e~第二位元h)中找出具有第一邏輯值(例如1)的一目標第二位元(例如第二位元e、第二位元f或第二位元h)來取得一讀取位址,並且根據該讀取位址來讀取靜態隨機存取記憶體緩衝器200的位元表201中的一目標有效閒置儲存單元標示欄位(例如對應於第二位元e的有效閒置儲存單元標示欄位a、對應於第二位元f的有效閒置儲存單元標示欄位b或對應於第二位元h的有效閒置儲存單元標示欄位d),最後再自該目標有效閒置儲存單元標示欄位中找出具有第一邏輯值(例如1)的至少一個目標第一位元來取得至少一個閒置基本儲存單元。
應注意的是,在該至少一個閒置基本儲存單元被用來暫存該接收封包之後,閒置基本儲存單元控制器220另可用以將對應於該至少一個閒置基本儲存單元的該至少一個目標第一位元從第一邏輯值(例如1)更新為第二邏輯值(例如0),此外,當閒置基本儲存單元控制器220更新完對應於該至少一個閒置基本儲存單元的該至少一個目標第一位元之後,包含有該至少一個目標第一位元的該目標有效閒置儲存單元標示欄位內所有的第一位元均具有第二邏輯值(例如0)時,閒置基本儲存單元控制器220另可用以將暫存器緩衝器210中對應於該目標有效閒置儲存單元標示欄位的第二位元從第一邏輯值(例如1)更新為第二邏輯值(例如0),另一方面,當閒置基本儲存單元控制器220更新完對應於該至少一個閒置基本儲存單元的該至少一個目標第一位元之後,包含有該至少一個目標第一位元的該目標有效閒置儲存單元標示欄位內仍包含具有第一邏輯值(例如1)的至少一個第一位元時,閒置基本儲存單元控制器220可另用以將暫存器緩衝器210中對應於該目標有效閒置儲存單元標示欄位的第二位元維持為第一邏輯值(例如1)。閒置基本儲存單元控制器220可透過管線(pipeline)的方式來實現對於靜態隨機存取記憶體緩衝器200之位元表中的32個第一位元以及暫存器緩衝器210的4個第二位元的更新,但是本發明不限於此。
當傳輸電路240傳輸一傳輸封包完畢時,傳輸電路240釋放(release)對應於該傳輸封包的至少一個基本儲存單元至閒置基本儲存單元控制器220,閒置基本儲存單元控制器220可用以根據該傳輸封包的該至少一個基本儲存單元來將靜態隨機存取記憶體緩衝器200的位元表201中的至少一個目標有效閒置儲存單元標示欄位中之至少一個目標第一位元由第二邏輯值(例如0)更新為第一邏輯值(例如1),也就是說,對應於該至少一個目標第一位元的至少一個基本儲存單元是至少一個閒置基本儲存單元。此外,在原本的至少一個目標有效閒置儲存單元標示欄位中之至少一個目標第一位元均具有第二邏輯值(例如0)的情況下(亦即原本的至少一個目標有效閒置儲存單元標示欄位中不具有閒置基本儲存單元),當閒置基本儲存單元控制器220更新完該至少一個目標第一位元之後,包含有該至少一個目標第一位元的該至少一個目標有效閒置儲存單元標示欄位內包含具有第一邏輯值(例如1)的至少一個第一位元時,閒置基本儲存單元控制器220另可用以將暫存器緩衝器210中對應於該至少一個目標有效閒置儲存單元標示欄位的至少一個第二位元從第二邏輯值(例如0)更新為第一邏輯值(例如1),另一方面,在原本的至少一個目標有效閒置儲存單元標示欄位中已經包含具有第一邏輯值(例如1)的至少一個第一位元的情況下(亦即原本的至少一個目標有效閒置儲存單元標示欄位中已經具有閒置基本儲存單元),閒置基本儲存單元控制器220可另用以將暫存器緩衝器210中對應於該至少一個目標有效閒置儲存單元標示欄位的至少一個第二位元維持為第一邏輯值(例如1)。
此外,為了減少記憶體緩衝器的功率消耗以及節省記憶體緩衝器的頻寬,可利用一釋放基本儲存單元緩衝器來減少記憶體緩衝器的存取次數,第3圖為依據本發明另一實施例之基本儲存單元管理電路30的示意圖。如第3圖所示,基本儲存單元管理電路30可包含有一記憶體緩衝器(例如靜態隨機存取記憶體緩衝器300;為簡潔起見,在第3圖中標記為“SRAM緩衝器”)、暫存器緩衝器310、閒置基本儲存單元控制器320、接收電路330、傳輸電路340以及釋放基本儲存單元緩衝器350,其中第3圖所示之基本儲存單元管理電路30與第2圖所示之基本儲存單元管理電路20的不同之處在於基本儲存單元管理電路30可另包含有釋放基本儲存單元緩衝器350。釋放基本儲存單元緩衝器350可耦接於閒置基本儲存單元控制器320以及傳輸電路340,並且可用以暫存傳輸電路340傳輸一傳輸封包完畢時所釋放的對應於傳輸封包的至少一個基本儲存單元,其中閒置基本儲存單元控制器320可自釋放基本儲存單元緩衝器350取得對應於傳輸封包的至少一個基本儲存單元來作為閒置基本儲存單元。如此一來,當接收電路330接收一接收封包時,閒置基本儲存單元控制器320可預先讀取釋放基本儲存單元緩衝器350中所暫存的對應於傳輸封包的至少一個基本儲存單元,以供接收封包使用,而無需透過靜態隨機存取記憶體緩衝器300以及暫存器緩衝器310來取得閒置基本儲存單元(其減少了靜態隨機存取記憶體緩衝器300的存取次數)。
在本實施例中,釋放基本儲存單元緩衝器350中暫存了靜態隨機存取記憶體緩衝器300中對應於第一位元B10的閒置基本儲存單元(其以十進制值為10的5位元來暫存至釋放基本儲存單元緩衝器350中,並且在第3圖中標記為“ 5’d10 ”)、對應於第一位元B21的閒置基本儲存單元(其以十進制值為21的5位元來暫存至釋放基本儲存單元緩衝器350中,並且在第3圖中標記為“ 5’d21 ”)、對應於第一位元B22的閒置基本儲存單元(其以十進制值為22的5位元來暫存至釋放基本儲存單元緩衝器350中,並且在第3圖中標記為“ 5’d22 ”)以及對應於第一位元B27的閒置基本儲存單元(其以十進制值為27的5位元來暫存至釋放基本儲存單元緩衝器350中,並且在第3圖中標記為“ 5’d27 ”)。應注意的是,當釋放基本儲存單元緩衝器350中所暫存的對應於傳輸封包的至少一個基本儲存單元皆被佔用(亦即釋放基本儲存單元緩衝器350中沒有閒置基本儲存單元)時,閒置基本儲存單元控制器320可自暫存器緩衝器310的4個第二位元中找出具有第一邏輯值(例如1)的一目標第二位元來取得一讀取位址,且根據讀取位址來讀取靜態隨機存取記憶體緩衝器300的位元表301中的一目標有效閒置儲存單元標示欄位,並自目標有效閒置儲存單元標示欄位中找出具有第一邏輯值(例如1)之至少一個目標第一位元來取得至少一個閒置基本儲存單元,以供接收封包使用。換言之,若釋放基本儲存單元緩衝器350具有閒置基本儲存單元可供使用,則閒置基本儲存單元控制器320會優先讀取釋放基本儲存單元緩衝器350,若無法自釋放基本儲存單元緩衝器350取得所要的閒置基本儲存單元,閒置基本儲存單元控制器320再透過暫存器緩衝器310以及靜態隨機存取記憶體緩衝器300來取得閒置基本儲存單元。
於上述實施例中,閒置基本儲存單元控制器220(或閒置基本儲存單元控制器320)可透過暫存器緩衝器210(或暫存器緩衝器310)所儲存的第二位元來快速地自靜態隨機存取記憶體緩衝器200(或靜態隨機存取記憶體緩衝器300)的位元表中找到標示閒置基本儲存單元的第一位元,然而,暫存器緩衝器可以是選擇性(optional)元件,舉例來說,於本發明的一些實施例中,資料管理電路20(或資料管理電路30)可省略暫存器緩衝器210(或暫存器緩衝器310),而直接於靜態隨機存取記憶體緩衝器200(或靜態隨機存取記憶體緩衝器300)的位元表中進行搜尋來找到標示閒置基本儲存單元的第一位元。綜上所述,任何採用位元表所記錄的位元來標示相對應基本儲存單元是否為閒置基本儲存單元的資料管理電路均落入本發明的範疇。
第4圖為依據本發明一實施例之基本儲存單元管理方法的流程圖。假若可以得到相同的結果,則步驟不一定要完全遵照第4圖所示的流程來依序執行,舉例來說,於第4圖所示之基本儲存單元管理方法可由第2圖所示之資料管理電路20或第3圖所示之資料管理電路30來加以實現。
在步驟S400中,靜態隨機存取記憶體緩衝器可儲存一位元表,其中位元表可包含有複數個第一位元,其分別對應於複數個基本儲存單元,以及複數個第一位元中的每一個第一位元可用以標示相對應的基本儲存單元是否為一閒置基本儲存單元。
在步驟S402中,可使用一閒置基本儲存單元控制器來管理位元表,並且依據位元表處理對應一接收電路所接收或一傳輸電路所傳輸的至少一封包的至少一基本儲存單元,其中當複數個基本儲存單元的一基本儲存單元是一閒置基本儲存單元時,閒置基本儲存單元控制器可將該基本儲存單元所對應的一第一位元設為一第一邏輯值,以及當複數個基本儲存單元的該基本儲存單元不是閒置基本儲存單元時,閒置基本儲存單元控制器可將該基本儲存單元所對應的第一位元設為一第二邏輯值。
由於熟習技藝者可透過上述說明書內容而輕易瞭解第4圖所示各步驟的操作,為了簡潔起見,於本實施例中類似的內容在此不重複贅述。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100,200,300:靜態隨機存取記憶體控制器 101,201,301:位元表 110,210,310:暫存器控制器 a~d:有效閒置儲存單元標示欄位 e~h:第二位元 20,30:基本儲存單元管理電路 220,320:閒置基本儲存單元控制器 230,330:接收電路 240,340:傳輸電路 350:釋放基本儲存單元緩衝器 B10,B21,B22,B27:第一位元 S400,S402:步驟
第1圖為依據本發明一實施例之記憶體緩衝器中的位元以及暫存器緩衝器中的位元之間的對應關係的示意圖。 第2圖為依據本發明一實施例之基本儲存單元管理電路的示意圖。 第3圖為依據本發明另一實施例之基本儲存單元管理電路的示意圖。 第4圖為依據本發明一實施例之基本儲存單元管理方法的流程圖。
20:資料管理電路
200:靜態隨機存取記憶體緩衝器
201:位元表
210:暫存器緩衝器
220:閒置基本儲存單元控制器
230:接收電路
240:傳輸電路
a~d:有效閒置儲存單元標示欄位
e~h:第二位元

Claims (10)

  1. 一種基本儲存單元管理電路,包含有: 一接收電路; 一傳輸電路; 一第一緩衝器,用以儲存一位元表,其中該位元表包含有複數個第一位元,其分別對應複數個基本儲存單元,以及該複數個第一位元中的每一第一位元用以標示一相對應之基本儲存單元是否為一閒置基本儲存單元; 一閒置基本儲存單元控制器,耦接於該接收電路、該傳輸電路以及該第一緩衝器,並且用以管理該第一緩衝器所儲存的該位元表,以及依據該位元表來處理對應該接收電路所接收或該傳輸電路所傳輸的至少一封包的至少一基本儲存單元,其中當該複數個基本儲存單元的一基本儲存單元是一閒置基本儲存單元時,該閒置基本儲存單元控制器將該基本儲存單元所對應的一第一位元設為一第一邏輯值;以及當該複數個基本儲存單元的該基本儲存單元不是該閒置基本儲存單元時,該閒置基本儲存單元控制器將該基本儲存單元所對應的該第一位元設為一第二邏輯值。
  2. 如申請專利範圍第1項所述之基本儲存單元管理電路,其中該位元表中的該複數個第一位元被劃分為複數個有效閒置儲存單元標示欄位,以及該基本儲存單元管理電路另包含: 一第二緩衝器,耦接於該閒置基本儲存單元控制器,並且用以儲存複數個第二位元,其分別對應該複數個有效閒置儲存單元標示欄位,其中該複數個第二位元中的每一第二位元用以指示一相對應之有效閒置儲存單元標示欄位中是否包含具有該第一邏輯值的至少一第一位元; 其中當該複數個有效閒置儲存單元標示欄位的一有效閒置儲存單元標示欄位包含具有該第一邏輯值的該至少一第一位元時,該閒置基本儲存單元控制器將該有效閒置儲存單元標示欄位所對應的一第二位元設為該第一邏輯值與該第二邏輯值的其中之一邏輯值;以及當該複數個有效閒置儲存單元標示欄位的該有效閒置儲存單元標示欄位所包含的所有第一位元均具有該第二邏輯值時,該閒置基本儲存單元控制器將該有效閒置儲存單元標示欄位所對應的該第二位元設為該第一邏輯值與該第二邏輯值的其中之另一邏輯值。
  3. 如申請專利範圍第2項所述之基本儲存單元管理電路,其中當該接收電路接收一接收封包時,該閒置基本儲存單元控制器先自該第二緩衝器的該複數個第二位元中找出具有該邏輯值之一目標第二位元來取得一讀取位址,且根據該讀取位址來讀取該第一緩衝器的該位元表中的一目標有效閒置儲存單元標示欄位,並自該目標有效閒置儲存單元標示欄位中找出具有該第一邏輯值的至少一目標第一位元來取得至少一閒置基本儲存單元。
  4. 如申請專利範圍第3項所述之基本儲存單元管理電路,其中該閒置基本儲存單元控制器另用以將該至少一目標第一位元從該第一邏輯值更新為該第二邏輯值。
  5. 如申請專利範圍第2項所述之基本儲存單元管理電路,其中當該傳輸電路傳輸一傳輸封包完畢時,該傳輸電路釋放對應於該傳輸封包的至少一基本儲存單元至該閒置基本儲存單元控制器。
  6. 如申請專利範圍第5項所述之基本儲存單元管理電路,其中該閒置基本儲存單元控制器另用以根據該傳輸封包的該至少一基本儲存單元來將該第一緩衝器的該位元表中的至少一目標有效閒置儲存單元標示欄位中的至少一目標第一位元由該第二邏輯值更新為該第一邏輯值。
  7. 如申請專利範圍第2項所述之基本儲存單元管理電路,另包含有: 一釋放基本儲存單元緩衝器,耦接於該傳輸電路以及該閒置基本儲存單元控制器,並且用以暫存該傳輸電路傳輸一傳輸封包完畢時所釋放的對應於該傳輸封包的至少一基本儲存單元,其中該閒置基本儲存單元控制器自該釋放基本儲存單元緩衝器取得對應於該傳輸封包的該至少一基本儲存單元來作為閒置基本儲存單元。
  8. 如申請專利範圍第7項所述之基本儲存單元管理電路,其中當該接收電路接收一接收封包時,該閒置基本儲存單元控制器讀取該釋放基本儲存單元緩衝器中所暫存的對應於該傳輸封包的該至少一基本儲存單元,以供該接收封包使用。
  9. 如申請專利範圍第8項所述之基本儲存單元管理電路,其中當該釋放基本儲存單元緩衝器中所暫存的對應於該傳輸封包的該至少一基本儲存單元皆被佔用時,該閒置基本儲存單元控制器自該第二緩衝器的該複數個第二位元中找出具有該邏輯值之一目標第二位元來取得一讀取位址,且根據該讀取位址來讀取該第一緩衝器的該位元表中的一目標有效閒置儲存單元標示欄位,並自該目標有效閒置儲存單元標示欄位中找出具有該第一邏輯值之至少一目標第一位元來取得至少一閒置基本儲存單元,以供該接收封包使用。
  10. 一種基本儲存單元管理方法,包含有: 儲存一位元表,其中該位元表包含有複數個第一位元,其分別對應複數個基本儲存單元,以及該複數個第一位元中的每一第一位元用以指示一相對應基本儲存單元是否為一閒置基本儲存單元;以及 使用一閒置基本儲存單元控制器來管理該位元表,並且依據該位元表處理對應一接收電路所接收或一傳輸電路所傳輸的至少一封包的至少一基本儲存單元,其中當該複數個基本儲存單元的一基本儲存單元是一閒置基本儲存單元時,該閒置基本儲存單元控制器將該基本儲存單元所對應的一第一位元設為一第一邏輯值,以及當該複數個基本儲存單元的該基本儲存單元不是該閒置基本儲存單元時,該閒置基本儲存單元控制器將該基本儲存單元所對應的該第一位元設為一第二邏輯值。
TW110142723A 2021-11-17 2021-11-17 基本儲存單元管理電路以及基本儲存單元管理方法 TWI769111B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW110142723A TWI769111B (zh) 2021-11-17 2021-11-17 基本儲存單元管理電路以及基本儲存單元管理方法
US17/578,493 US11797223B2 (en) 2021-11-17 2022-01-19 Basic storage unit management circuit and basic storage unit management method for idle basic storage units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110142723A TWI769111B (zh) 2021-11-17 2021-11-17 基本儲存單元管理電路以及基本儲存單元管理方法

Publications (2)

Publication Number Publication Date
TWI769111B true TWI769111B (zh) 2022-06-21
TW202322602A TW202322602A (zh) 2023-06-01

Family

ID=83104119

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110142723A TWI769111B (zh) 2021-11-17 2021-11-17 基本儲存單元管理電路以及基本儲存單元管理方法

Country Status (2)

Country Link
US (1) US11797223B2 (zh)
TW (1) TWI769111B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298370B1 (en) * 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
US20040062267A1 (en) * 2002-03-06 2004-04-01 Minami John Shigeto Gigabit Ethernet adapter supporting the iSCSI and IPSEC protocols
TW200537888A (en) * 2004-03-02 2005-11-16 Advanced Micro Devices Inc Two parallel engines for high speed transmit ipsec processing
US20120236789A1 (en) * 2006-03-31 2012-09-20 Qualcomm Incorporated Memory management for high speed media access control
US20210056058A1 (en) * 2019-08-01 2021-02-25 Vulcan Technologies Shanghai Co., Ltd. Intelligent controller and sensor network bus, system and method including a link media expansion and conversion mechanism

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918595B2 (en) * 2011-04-28 2014-12-23 Seagate Technology Llc Enforcing system intentions during memory scheduling
CN106294193B (zh) * 2015-06-03 2019-10-15 杭州海康威视系统技术有限公司 存储设备及基于该存储设备的分块存储方法
US11593262B1 (en) * 2018-04-25 2023-02-28 Seagate Technology Llc Garbage collection command scheduling
US20220413743A1 (en) * 2021-06-29 2022-12-29 Hewlett Packard Enterprise Development Lp Method and system for libfabric atomics-based lockless cluster-wide shared memory access api in a distributed system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298370B1 (en) * 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
US20040062267A1 (en) * 2002-03-06 2004-04-01 Minami John Shigeto Gigabit Ethernet adapter supporting the iSCSI and IPSEC protocols
TW200537888A (en) * 2004-03-02 2005-11-16 Advanced Micro Devices Inc Two parallel engines for high speed transmit ipsec processing
US20120236789A1 (en) * 2006-03-31 2012-09-20 Qualcomm Incorporated Memory management for high speed media access control
US20210056058A1 (en) * 2019-08-01 2021-02-25 Vulcan Technologies Shanghai Co., Ltd. Intelligent controller and sensor network bus, system and method including a link media expansion and conversion mechanism

Also Published As

Publication number Publication date
TW202322602A (zh) 2023-06-01
US20230153025A1 (en) 2023-05-18
US11797223B2 (en) 2023-10-24

Similar Documents

Publication Publication Date Title
US7146371B2 (en) Performance and memory bandwidth utilization for tree searches using tree fragmentation
US7966421B2 (en) Method and apparatus for logically expanding the length of a search key
US8542686B2 (en) Ethernet forwarding database method
Bando et al. Flashtrie: Hash-based prefix-compressed trie for IP route lookup beyond 100Gbps
US6502163B1 (en) Method and apparatus for ordering entries in a ternary content addressable memory
US7953077B2 (en) Network processor with single interface supporting tree search engine and CAM
JP4556761B2 (ja) パケット転送装置
US7194574B2 (en) Searching small entities in a wide CAM
US8345685B2 (en) Method and device for processing data packets
US20030182291A1 (en) Method and data structure for a low memory overhead database
US20020091856A1 (en) Default route coding
JP2008234445A (ja) コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム
JP2000307641A (ja) 転送先検索方法、転送先検索装置、検索テーブル記録媒体及び検索プログラム記録媒体
US6917954B2 (en) Load balancing in IP address lookup
US6590898B1 (en) Method and apparatus for routing data packets
TWI769111B (zh) 基本儲存單元管理電路以及基本儲存單元管理方法
EP2382635B1 (en) Content assembly memory and method
US7400623B2 (en) Method and apparatus for managing medium access control (MAC) address
US20030103498A1 (en) Method and apparatus for managing LPM-based CAM look-up table, and recording medium therefor
US20190260678A1 (en) Forwarding table entry access
CN116166178A (zh) 基本存储单元管理电路以及基本存储单元管理方法
US20050135135A1 (en) Content addressable memory for CIDR address searches
KR102101419B1 (ko) 라우팅 테이블 검색 방법 및 이를 구현하는 메모리 시스템
WO2011160392A1 (zh) 名单管理方法及装置
US7411956B2 (en) Methods and apparatus for routing packets