TWI514251B - 資料配置方法與裝置 - Google Patents
資料配置方法與裝置 Download PDFInfo
- Publication number
- TWI514251B TWI514251B TW103135293A TW103135293A TWI514251B TW I514251 B TWI514251 B TW I514251B TW 103135293 A TW103135293 A TW 103135293A TW 103135293 A TW103135293 A TW 103135293A TW I514251 B TWI514251 B TW I514251B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- page
- paging
- current
- alternate
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本發明是關於資料配置方法與裝置,尤其是關於能夠達到快速配置與良好空間使用效率的資料配置方法與裝置。
對許多電子裝置而言,數位資料的接收與儲存是裝置運作中不可或缺的一環。然而,儘管數位資料的接收與儲存技術發展已久,仍有其不足之處。舉例而言,在多資料流之接收與儲存方面,部分當前技術無視各資料流之每筆資料的大小而配置給每筆資料一最大可能資料量的儲存單位,如此雖能快速配置儲存單位,但卻犧牲了儲存空間的使用效率;另有部分當前技術依據各資料流之每筆資料的即時資料量資訊來配置給該筆資料一適當的儲存單位,如此雖能達到儲存空間的高使用效率,但因每筆資料的資料量不一,此技術會在儲存單位反覆地被配置與釋放後產生可用儲存空間碎裂(亦即位址分散且大小不一)之情形,進而產生儲存單位之配置緩慢而無法達成如上述般即時配置的作業;尚有部分先前技術是準備可供各資料流之前後筆資料接續儲存的一單一儲存單位,儘管此作法同樣能達到儲存空間的高使用效率,但為了後續的資料排序與重組暨最嚴苛的儲存需求,此單一儲存單位之大小至少需為「最大需保留資料筆數(Window Size)乘以單筆最大可能資料量」,因此會耗用相當多的儲存空間,且各資料流之儲存剩餘空間無法分享給其它資料流的儲存作業來使用,此缺點導致了儲存資源的浪費。
鑑於先前技術之缺失,本發明之一目的在於提出一種資料配置方法與裝置,以達到儲存空間之快速配置與充份使用的效果。
本發明提出一種資料配置方法,其一實施例包含下列步驟:準備一儲存空間;將該儲存空間之一當前部分配置為複數個當前分頁,其包含一第一當前分頁與一第二當前分頁;將該儲存空間之一備用部分配置為複數個備用分頁,其包含一第一備用分頁與一第二備用分頁;比較一第一筆資料之一第一資料量與該第一當前分頁之一第一剩餘儲存空間,並比較一第二筆資料之一第二資料量與該第二當前分頁之一第二剩餘儲存空間;若該第一資料量不大於該第一剩餘儲存空間,將該第一筆資料儲存於該第一當前分頁中;若該第一資料量大於該第一剩餘儲存空間,將該第一當前分頁視為一已用分頁,將該第一備用分頁視為該第一當前分頁,將該第一筆資料儲存於被視為該第一當前分頁的該第一備用分頁中,以及將該儲存空間之一待用部分的一第一部分配置為該第一備用分頁或其替代分頁;若該第二資料量不大於該第二剩餘儲存空間,將該第二筆資料儲存於該第二當前分頁中;以及若該第二資料量大於該第二剩餘儲存空間,將該第二當前分頁視為另一已用分頁,將該第二備用分頁視為該第二當前分頁,將該第二筆資料儲存於被視為該第二當前分頁的該第二備用分頁中,以及將該儲存空間之該待用部分的一第二部分配置為該第二備用分頁或其替代分頁,其中該第一與第二筆資料之儲存是同時進行。
本發明亦提出一種資料配置裝置,其一實施例包含:一儲存空間;一資料配置器,用來將該儲存空間之一部或全部配置為複數個當前分頁與複數個備用分頁,該複數個當前分頁包含一第一當前分頁與一第二當前分頁,該複數個備用分頁包含一第一備用分頁與一第二備用分頁;以及一儲存處理電路,用來同時儲存複數筆資料流包含一第一筆資料與一第二筆資料,包含一第一儲存處理單元與一第二儲存處理單元。所述第一儲存處理單元用來比較該第一筆資料之一第一資料量與該第一當前分頁之一第一剩餘儲存空間,於該第一資料量不大於該第一剩餘儲存空間時將該第一筆資料儲存於該第一當前分頁中,並於該第一資料量大於該第一剩餘儲存空間時將該第一當前分頁視為一已用分頁、將該第一備用分頁視為該第一當前分頁、以及將該第一筆資料儲存於被視為該第一當前分頁的該第一備用分頁中,之後該資料配置器會將該儲存空間之一待用部分的一第一部分配置為該第一備用分頁或其替代分頁。所述第二儲存處理單元用來比較該第二筆資料之一第二資料量與該第二當前分頁之一第二剩餘儲存空間,於該第二資料量不大於該第二剩餘儲存空間時將該第二筆資料儲存於該第二當前分頁中,並於該第二資料量大於該第二剩餘儲存空間時將該第二當前分頁視為另一已用分頁、將該第二備用分頁視為該第二當前分頁、以及將該第二筆資料儲存於被視為該第二當前分頁的該第二備用分頁中,之後該資料配置器會將該儲存空間之該待用部分的一第二部分配置為該第二備用分頁或其替代分頁。
有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
以下說明內容之技術用語是參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋應以本說明書之說明或定義為準。
本發明包含資料配置方法與裝置,能夠藉由儲存空間的配置、使用與釋放來快速達成資料配置與儲存,並能達到儲存空間共用之功效。本發明可應用於多資料流之儲存裝置,像是固定式或可攜式網路通訊裝置(例如長程演進技術(Long Term Evolution, LTE)之裝置)等,然而只要實施為可能,本發明亦可應用於其它類型之儲存裝置。此外,本發明之方法可以是軟體及/或韌體之形式,可藉由本發明之裝置或其等效裝置來執行。再者,本發明之裝置可能包含已知元件,在不影響發明揭露要求及可實施性的前提下,已知元件的說明將被適度節略。
請參閱圖1,其是本發明之資料配置方法之一實施例的示意圖,該實施例可由本發明的資料配置裝置(詳見後述)或其等效裝置來執行,能夠在多資料流的儲存應用中提供每筆資料流專用的當前儲存空間與備用儲存空間,並視每筆資料流之一待儲存資料的大小來決定將待儲存資料儲存於上述當前或備用儲存空間中,因此,藉由專用儲存空間的設計、待儲存資料量的判讀與備用儲存空間的配置,本實施例能快速且同時進行單筆或多筆資料流的儲存作業,並能充份地利用儲存空間。更詳細地說,如圖1所示,本實例包含下列步驟: 步驟S110:準備一儲存空間,其儲存容量不小於一當前部分之容量、一備用部分之容量以及一待用部分之容量的總合。本實施例中,該儲存空間是一記憶體或其餘能支援儲存空間配置的儲存裝置,且該當前、備用與待用部分是指該儲存空間之一部或全部被配置後的不同部分。 步驟S120:將該儲存空間之當前部分配置為複數個當前分頁,其包含一第一當前分頁與一第二當前分頁。本實施例中,每該當前分頁之容量不小於一預設最大資料量,藉此為一單筆資料之儲存提供足夠的空間,倘一當前分頁已存有先前資料而不足以儲存該單筆資料,一備用分頁(如後所述)將被用來儲存該單筆資料。上述預設最大資料量可由實施本發明者依需求或應用來決定。 步驟S130:將該儲存空間之備用部分配置為複數個備用分頁,其包含一第一備用分頁與一第二備用分頁。本實施例中,每該備用分頁之容量同樣不小於該預設最大資料量,藉此為單筆資料之儲存提供足夠的空間。 步驟S140:比較一第一筆資料之一第一資料量與該第一當前分頁之一第一剩餘儲存空間,並比較一第二筆資料之一第二資料量與該第二當前分頁之一第二剩餘儲存空間。本步驟是用來判斷前述第一與第二當前分頁之剩餘儲存空間是否足以分別儲存該第一與第二筆資料,以供後續步驟決定將資料儲存於當前或備用分頁中,其中該剩餘儲存空間之測定可由下述方式或其它等效手段來得到:依據該第一當前分頁之一第一儲存容量(例如該預設最大資料量)與一第一寫入指標(Write Pointer)(用來指出一儲存單位的最新寫入位置)來指示該第一剩餘儲存空間;以及依據該第二當前分頁之一第二儲存容量(例如該預設最大資料量)與一第二寫入指標來指示該第二剩餘儲存空間。上述寫入指標之設計與使用屬於本領域之通常知識,故在此不予贅述。 步驟S150:若該第一資料量不大於該第一剩餘儲存空間,將該第一筆資料儲存於該第一當前分頁中。 步驟S160:若該第一資料量大於該第一剩餘儲存空間,將該第一當前分頁視為一已用分頁,將該第一備用分頁視為該第一當前分頁,將該第一筆資料儲存於被視為該第一當前分頁的該第一備用分頁中,以及將該儲存空間之該待用部分的一第一部分配置為該第一備用分頁或其替代分頁。本步驟中,一第一備用分頁指標(Next Pointer)被用來指示該第一備用分頁的位址,藉此本步驟能快速地用第一備用分頁替代第一當前分頁以進行儲存;此外,為避免後續儲存作業發生空間不足的問題,在該第一備用分頁被視為第一當前分頁後,該儲存空間之待用部分的第一部分會被配置做為新的第一備用分頁(其同樣由第一備用分頁指標所指示),或者原第一備用分頁之一替代分頁會被視為新的第一備用分頁,此時該第一部分會被配置做為新的第一備用分頁的替代分頁。 步驟S170:若該第二資料量不大於該第二剩餘儲存空間,將該第二筆資料儲存於該第二當前分頁中;以及 步驟S180:若該第二資料量大於該第二剩餘儲存空間,將該第二當前分頁視為另一已用分頁,將該第二備用分頁視為該第二當前分頁,將該第二筆資料儲存於被視為該第二當前分頁的該第二備用分頁中,以及將該儲存空間之該待用部分的一第二部分配置為該第二備用分頁或其替代分頁,其中該第一與第二筆資料之儲存是同時進行。本步驟中,一第二備用分頁指標被用來指示該第二備用分頁的位址,藉此本步驟能快速地用第二備用分頁替代第二當前分頁以進行儲存;類似地,為避免後續儲存作業發生問題,在該第二備用分頁被視為第二當前分頁後,該儲存空間之待用部分的第二部分會被配置做為新的第二備用分頁(其同樣由第二備用分頁指標所指示),或者原第二備用分頁之一替代分頁會被視為新的第二備用分頁,此時該第一部分會被配置做為新的第二備用分頁的替代分頁。
承上所述,步驟S140所述之第一與第二筆資料可來自於一接收資料或一儲存資料。當該第一與第二筆資料是來自一接收資料(例如一通訊傳輸資料,像是於每個預設週期收到的資料區塊)時,本實施例可進一步包含下列步驟:依據一預設規則將該接收資料拆解為N筆資料流包含該第一與第二筆資料,其中該N為不小於2之正整數。上述預設規則在此包含一資料分類規則,可以是已知或自定義的分類規則;然而於本發明之一替代實施例中,該預設規則也可以是其它規則,像是依據資料接收順序、資料來源、資料量大小等等所定義的規則。另外,第一筆資料在此是包含於上述N筆資料流中的一第一資料流,且依傳輸順序的前後該第一資料流可能進一步包含至少一筆第一在前資料(其接收時點早於該第一筆資料之接收時點)及/或至少一筆第一在後資料(其接收時點晚於該第一筆資料之接收時點),在該些筆資料需被排序及/或重組(Sorting/Reassembling)以回復(Recover)一筆原始資料的情形下(例如當該些筆資料為歷經分割(Segmentation)與非依序抵達(Out-of-Order Arrival)之通訊資料時),本實施例可進一步包含下列步驟:依據該第一筆資料、至少一筆第一在前資料及/或至少一筆第一在後資料進行排序及/或重組以得到一第一已整理資料,其中該第一筆資料、該第一在前資料及/或該第一在後資料之筆數總合(即應被排序及/或重組的資料之總筆數)不大於一預設最大筆數W,該W為不小於2之正整數,且前述複數個當前分頁與備用分頁(及該些備用分頁的替代分頁,如有的話)之總數P不大於資料流筆數N乘以該預設最大筆數W,藉此避免儲存資源的浪費,換言之,分頁總數P=N×W通常已足以因應最嚴苛的儲存情形,實際上分頁總數P可小於N×W,以在不影響或不過度影響儲存作業的前提下節省儲存資源,舉例而言,P等於或小於「N乘以W」的X/(X+Y)(即P≦(N×W)×[X/(X+Y)]),其中X與Y為正整數,是用來表示分頁總數P的設計彈性,可由實施本發明者依其需求自行決定;另舉例而言,分頁總數P=(1+(N-1)×A)×W,其中A為小於1之數值,例如為1/8、1/4、1/2或其它分數或小數,倘A被設計為1/4,若資料流筆數N=1,分頁總數P=1×W=N×W可滿足最嚴苛的儲存情形,若資料流筆數N=2,分頁總數P=1.25W<N×W可節省儲存資源,若資料流筆數N=3,分頁總數P=1.5W<N×W同樣可節省儲存資源,其餘A值與其它資料流筆數之情形可依上述說明類推而得。類似地,第二筆資料在此是包含於上述N筆資料流中的一第二資料流,且依傳輸順序的前後該第二資料流可能進一步包含至少一筆第二在前資料(其接收時點早於該第二筆資料之接收時點)及/或至少一筆第二在後資料(其接收時點晚於該第二筆資料之接收時點),若該些筆資料也需被排序及/或重組,後續處理可如前述說明般進行,而其它筆資料的處理同樣可以此類推。
請繼續參閱圖1,若本實施例用來處理複數筆資料流(分別包含該第一與第二筆資料)且當中有複數筆資料需被排序及/或重組,本實施例會依據該複數筆資料流進行排序及/或重組程序。而在將被排序及/或重組完成的資料提供給負責後續處理的層級後,本實施例可進一步包含下列步驟以釋放已完成任務的已用分頁:若前述已用分頁或另一已用分頁所儲存之資料已被排序及/或重組完成,允許被排序及/或重組完成之已用分頁或另一已用分頁成為該儲存空間之該待用部分。另外,在該第一與第二筆資料之資料量不大於一預設最大資料量的情形下(透過通訊傳輸協定或其它協定或機制的規範),本實施例可令每該當前分頁與備用分頁(以及每該備用分頁的替代分頁,如有的話)之儲存容量(Storage Capacity)不小於該預設最大資料量,以確保儲存作業的順利進行,其中該些當前分頁與備用分頁之儲存容量可部分或全部相同,當然也可全部不同,端視實施者的需求而定。再者,在足夠的資料處理與後送能力的設計下,為避免儲存資源的浪費,本實施例可進一步將該複數個備用分頁及其替代分頁之總數限制為該複數個當前分頁之總數的M倍,其中該M為不小於1之數值,舉例來說,該M為不大於3之數值;或者本實施例可為每個當前分頁準備至少一備用分頁以及該備用分頁之S個替代分頁,其中該S為0或正整數(例如2)。
而為避免可用來儲存的分頁不足,本實施例可進一步監控目前的分頁配置是否合理。舉例來說,請再次參閱圖1,倘該第一筆資料為一第一資料流之一部或全部,該第二筆資料為一第二資料流之一部或全部,本實施例可進一步包含下列步驟:週期性或非週期性地判斷用來儲存該第一資料流之一第一備用分頁配置之數目(亦即第一備用分頁與其替代分頁之總數)是否小於一第一預設值,該第一備用分頁配置包含該第一備用分頁;若該第一備用分頁配置之數目小於該第一預設值,將該儲存空間之待用部分的一部分配置為該第一備用分頁或其替代分頁;週期性或非週期性地判斷用來儲存該第二資料流之一第二備用分頁配置之數目(亦即第二備用分頁與其替代分頁之總數)是否小於一第二預設值,該第二備用分頁配置包含該第二備用分頁;以及若該第二備用分頁配置之數目小於該第二預設值,將該待用部分的一部分配置為該第二備用分頁或其替代分頁。上述例子中,無論是週期性或非週期性判斷的執行時機均應避免備用分頁不足之情形;另外,為避免儲存資源的浪費,第一與第二備用分頁配置之數目例如分別是不大於3之正整數,且第一與第二預設值也例如分別是不大於3之正整數。
除前揭之資料配置方法外,本發明亦提出一種資料配置裝置,可用來執行本發明之方法或其均等。如圖2所示,於一實施例中該資料配置裝置200包含:一儲存空間210(例如是一記憶體或其餘能支援儲存空間配置的儲存裝置),其儲存容量不小於一當前部分之容量、一備用部分之容量以及一待用部分之容量的總合,其中該當前、備用與待用部分是指該儲存空間之一部或全部被配置後的不同部分;一資料配置器220,用來將該儲存空間210之一部或全部配置為複數個當前分頁與複數個備用分頁,該複數個當前分頁包含一第一當前分頁212與一第二當前分頁214,該複數個備用分頁包含一第一備用分頁216與一第二備用分頁218;以及一儲存處理電路(例如硬體或軟硬體之組合,像是包含複數個負責資料接收處理的邏輯通道的電路)230,用來同時儲存複數筆資料流包含一第一筆資料與一第二筆資料,包含一第一儲存處理單元232與一第二儲存處理單元234。所述第一儲存處理單元232用來比較該第一筆資料之一第一資料量與該第一當前分頁212之一第一剩餘儲存空間,於該第一資料量不大於該第一剩餘儲存空間時將該第一筆資料儲存於該第一當前分頁212中,並於該第一資料量大於該第一剩餘儲存空間時將該第一當前分頁212視為一已用分頁、將該第一備用分頁216視為該第一當前分頁212、以及將該第一筆資料儲存於被視為該第一當前分頁212的該第一備用分頁216中,之後資料配置器220會將儲存空間210之待用部分的一第一部分配置為第一備用分頁216或其替代分頁,請注意,第一儲存處理單元232可依第一當前分頁212之一第一儲存容量與一第一寫入指標來得知第一剩餘儲存空間,並依據一第一備用分頁指標來得知第一備用分頁216之位址,該第一寫入指標與第一備用分頁指標的細節如前揭方法實施例之內容所載。類似地,所述第二儲存處理單元234用來比較該第二筆資料之一第二資料量與該第二當前分頁214之一第二剩餘儲存空間,於該第二資料量不大於該第二剩餘儲存空間時將該第二筆資料儲存於該第二當前分頁214中,並於該第二資料量大於該第二剩餘儲存空間時將該第二當前分頁214視為另一已用分頁、將該第二備用分頁218視為該第二當前分頁214、以及將該第二筆資料儲存於被視為該第二當前分頁214的該第二備用分頁218中,之後資料配置器200會將儲存空間210之待用部分的一第二部分配置為第二備用分頁214或其替代分頁,請注意,第二儲存處理單元234可依第二當前分頁214之一第二儲存容量與一第二寫入指標來得知該第二剩餘儲存空間,並利用一第二備用分頁指標來得知第二備用分頁218之位址,相關細節已說明於前揭方法實施例之內容中。
承上所述,若該第一與第二筆資料來自於一接收資料(例如一通訊傳輸資料),資料配置裝置200可如圖3所示般進一步包含:一資料接收器300,用來依據一預設規則將一接收資料拆解為該複數筆資料流(包含該第一與第二筆資料),其中該複數筆資料流之數目為N,該N為不小於2之正整數,且該預設規則之細節可由前述方法實施例之說明內容得知。另外,該第一筆資料在此是包含於該複數個資料流中的一第一資料流裡,且依傳輸順序該第一資料流可能進一步包含至少一筆第一在前資料(其接收時點早於該第一筆資料之接收時點)及/或至少一筆第一在後資料(其接收時點晚於該第一筆資料之接收時點),若該些筆資料需被排序及/或重組以增加資料的連續性或加強儲存空間的利用,第一儲存處理單元232會進一步依據該第一筆資料、至少一筆第一在前資料及/或至少一筆第一在後資料進行排序及/或重組以得到一第一已整理資料,其中該第一筆資料、該第一在前資料及/或該第一在後資料之筆數總合(即應被排序及/或重組的資料之總筆數)不大於一預設最大筆數W,該W為不小於2之正整數,且該複數個當前分頁與備用分頁(及該些備用分頁的替代分頁,如有的話)之總數P不大於資料流數目N乘以該預設最大筆數W。如同方法實施例所述,分頁總數P可小於N×W以節省儲存資源,例如總數P等於或小於「N乘以W」的X/(X+Y)(即P≦(N×W)×[X/(X+Y)]),其中X與Y為正整數,其細節已揭露於前述方法實施例中;又例如分頁總數P=(1+(N-1)×A)×W,其細節也同樣也揭露於前述方法實施例中。類似地,第二儲存處理單元234也可進行同樣的排序及/或重組處理。
由於儲存處理電路230可依據該複數筆資料流進行排序及/或重組,因此,若前述已用分頁或另一已用分頁所儲存之資料已被排序及/或重組完成,該第一或第二儲存處理單元232、234可允許被排序及/或重組完成之該已用分頁或該另一已用分頁成為該儲存空間之該待用部分,藉此釋放已完成任務的已用分頁。此外,在某些應用下,依據通訊傳輸協定或其它協定或機制的規範,該第一與第二資料量不會大於一預設最大資料量,因此資料配置器220於配置分頁時可令每個當前分頁與備用分頁(及每個備用分頁的替代分頁,如有的話)之儲存容量不小於該預設最大資料量,藉此確保儲存作業的順利進行,其中該些當前分頁與備用分頁之儲存容量可一部或全部相同,也可全部不同。再者,若該第一筆資料為一第一資料流之一部或全部,該第二筆資料為一第二資料流之一部或全部,為避免可用來儲存的分頁不足,資料配置器220可進一步週期性或非週期性地執行下列步驟:判斷用來儲存該第一資料流之一第一備用分頁配置(即第一備用分頁及其替代分頁之總數)之數目是否小於一第一預設值,該第一備用分頁配置包含該第一備用分頁;若該第一備用分頁配置之數目小於該第一預設值,將該儲存空間210之待用部分的一部分配置為該第一備用分頁或其替代分頁;判斷用來儲存該第二資料流之一第二備用分頁配置(即第二備用分頁及其替代分頁之總數)之數目是否小於一第二預設值,該第二備用分頁配置包含該第二備用分頁;以及若該第二備用分頁配置之數目小於該第二預設值,將該待用部分的一部分配置為該第二備用分頁或其替代分頁。上述第一與第二備用分頁配置之數目可限制為不大於3之正整數,以避免儲存資源的浪費。
由於本領域具有通常知識者可透過方法實施例的相關說明來瞭解本裝置實施例的細節與變化,更明確地說,前述方法實施例之主要與從屬特徵均可合理應用於本裝置實施例中,因此,在不影響本實施例之揭露要求與可實施性的前提下,重複及冗餘之說明在此予以節略。另外,圖示中步驟之順序以及元件之形狀、尺寸、比例等僅為示意,是供本技術領域具有通常知識者瞭解本發明之用,非對本發明之實施範圍加以限制。再者,本說明書對於相同或類似性質之物件或事件的命名用語例如「當前」、「備用」、「待用」、「已用」、「第一」、「第二」等等是用以區分,以幫助瞭解。
請注意,前揭實施例雖多以複數筆資料流的處理為例,然本發明亦可應用於單資料流的處理。另請注意,前揭各實施例包含一或複數個技術特徵,於實施為可能的前提下,本技術領域人士可依本發明之揭露內容及自身的需求選擇性地實施任一實施例之部分或全部技術特徵,或者選擇性地實施複數個實施例之部分或全部技術特徵之組合,藉此增加實施本發明的彈性。
綜上所述,本發明之資料配置方法與裝置是藉由將儲存空間的一部或全部配置為各資料流專用的當前與備用分頁,以有效率地進行資料儲存,並達到儲存空間共用之功效。另外,無論本發明是用來儲存單資料流或多資料流,本發明均可達到儲存快速、空間使用效率高以及儲存資源共用等功效。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
S110‧‧‧準備一儲存空間
S120‧‧‧將該儲存空間之當前部分配置為複數個當前分頁,其包含一第一當前分頁與一第二當前分頁
S130‧‧‧將該儲存空間之備用部分配置為複數個備用分頁,其包含一第一備用分頁與一第二備用分頁
S140‧‧‧比較一第一筆資料之一第一資料量與該第一當前分頁之一第一剩餘儲存空間,並比較一第二筆資料之一第二資料量與該第二當前分頁之一第二剩餘儲存空間
S150~S160‧‧‧若該第一資料量不大於該第一剩餘儲存空間,將該第一筆資料儲存於該第一當前分頁中;否則將該第一筆資料儲存於該第一備用分頁中,並準備替代的第一備用分頁
S170~S180‧‧‧若該第二資料量不大於該第二剩餘儲存空間,將該第二筆資料儲存於該第二當前分頁中;否則將該第二筆資料儲存於該第二備用分頁中,並準備替代的第二備用分頁,其中該第一與第二筆資料之儲存是同時進行
200‧‧‧資料配置裝置
210‧‧‧儲存空間
212‧‧‧第一當前分頁
214‧‧‧第二當前分頁
216‧‧‧第一備用分頁
218‧‧‧第二備用分頁
220‧‧‧資料配置器
230‧‧‧儲存處理電路
232‧‧‧第一儲存處理單元
234‧‧‧第二儲存處理單元
300‧‧‧資料接收器
S120‧‧‧將該儲存空間之當前部分配置為複數個當前分頁,其包含一第一當前分頁與一第二當前分頁
S130‧‧‧將該儲存空間之備用部分配置為複數個備用分頁,其包含一第一備用分頁與一第二備用分頁
S140‧‧‧比較一第一筆資料之一第一資料量與該第一當前分頁之一第一剩餘儲存空間,並比較一第二筆資料之一第二資料量與該第二當前分頁之一第二剩餘儲存空間
S150~S160‧‧‧若該第一資料量不大於該第一剩餘儲存空間,將該第一筆資料儲存於該第一當前分頁中;否則將該第一筆資料儲存於該第一備用分頁中,並準備替代的第一備用分頁
S170~S180‧‧‧若該第二資料量不大於該第二剩餘儲存空間,將該第二筆資料儲存於該第二當前分頁中;否則將該第二筆資料儲存於該第二備用分頁中,並準備替代的第二備用分頁,其中該第一與第二筆資料之儲存是同時進行
200‧‧‧資料配置裝置
210‧‧‧儲存空間
212‧‧‧第一當前分頁
214‧‧‧第二當前分頁
216‧‧‧第一備用分頁
218‧‧‧第二備用分頁
220‧‧‧資料配置器
230‧‧‧儲存處理電路
232‧‧‧第一儲存處理單元
234‧‧‧第二儲存處理單元
300‧‧‧資料接收器
圖1是本發明之資料配置方法之一實施例的示意圖; 圖2是本發明之資料配置裝置之一實施例的示意圖;以及 圖3是本發明之資料配置裝置之另一實施例的示意圖。
S110‧‧‧準備一儲存空間
S120‧‧‧將該儲存空間之當前部分配置為複數個當前分頁,其包含一第一當前分頁與一第二當前分頁
S130‧‧‧將該儲存空間之備用部分配置為複數個備用分頁,其包含一第一備用分頁與一第二備用分頁
S140‧‧‧比較一第一筆資料之一第一資料量與該第一當前分頁之一第一剩餘儲存空間,並比較一第二筆資料之一第二資料量與該第二當前分頁之一第二剩餘儲存空間
S150~S160‧‧‧若該第一資料量不大於該第一剩餘儲存空間,將該第一筆資料儲存於該第一當前分頁中;否則將該第一筆資料儲存於該第一備用分頁中,並準備替代的第一備用分頁
S170~S180‧‧‧若該第二資料量不大於該第二剩餘儲存空間,將該第二筆資料儲存於該第二當前分頁中;否則將該第二筆資料儲存於該第二備用分頁中,並準備替代的第二備用分頁,其中該第一與第二筆資料之儲存是同時進行
Claims (20)
- 一種資料配置方法,是由一資料配置裝置來執行,包含下列步驟: 準備一儲存空間; 將該儲存空間之一當前部分配置為複數個當前分頁,其包含一第一當前分頁與一第二當前分頁; 將該儲存空間之一備用部分配置為複數個備用分頁,其包含一第一備用分頁與一第二備用分頁; 比較一第一筆資料之一第一資料量與該第一當前分頁之一第一剩餘儲存空間,並比較一第二筆資料之一第二資料量與該第二當前分頁之一第二剩餘儲存空間; 若該第一資料量不大於該第一剩餘儲存空間,將該第一筆資料儲存於該第一當前分頁中; 若該第一資料量大於該第一剩餘儲存空間,將該第一當前分頁視為一已用分頁,將該第一備用分頁視為該第一當前分頁,將該第一筆資料儲存於被視為該第一當前分頁的該第一備用分頁中,以及將該儲存空間之一待用部分的一第一部分配置為該第一備用分頁或其替代分頁; 若該第二資料量不大於該第二剩餘儲存空間,將該第二筆資料儲存於該第二當前分頁中;以及 若該第二資料量大於該第二剩餘儲存空間,將該第二當前分頁視為另一已用分頁,將該第二備用分頁視為該第二當前分頁,將該第二筆資料儲存於被視為該第二當前分頁的該第二備用分頁中,以及將該儲存空間之該待用部分的一第二部分配置為該第二備用分頁或其替代分頁, 其中該第一與第二筆資料之儲存是同時進行。
- 如申請專利範圍第1項所述之資料配置方法,進一步包含:依據一預設規則將一接收資料拆解為N筆資料流包含該第一與第二筆資料,其中該N為不小於2之正整數。
- 如申請專利範圍第2項所述之資料配置方法,進一步包含:依據該第一筆資料、至少一筆第一在前資料及/或至少一筆第一在後資料進行排序及/或重組以得到一第一已整理資料,其中該第一筆資料、該第一在前資料及/或該第一在後資料之筆數總合不大於一預設最大筆數W,該W為不小於2之正整數,且該複數個當前分頁與備用分頁之總數P不大於該N乘以該W。
- 如申請專利範圍第3項所述之資料配置方法,其中該P等於(1+(N-1)×A)×W,該A為小於1之數值。
- 如申請專利範圍第1項所述之資料配置方法,進一步包含:依據複數筆資料流進行排序及/或重組,其中該複數筆資料流包含該第一與第二筆資料。
- 如申請專利範圍第5項所述之資料配置方法,進一步包含:若該已用分頁或該另一已用分頁所儲存之資料已被排序及/或重組完成,允許被排序及/或重組完成之該已用分頁或該另一已用分頁成為該儲存空間之該待用部分。
- 如申請專利範圍第1項所述之資料配置方法,其中每該第一與第二資料量不大於一預設最大資料量,且每該當前分頁與備用分用之儲存容量(Storage Capacity)不小於該預設最大資料量。
- 如申請專利範圍第1項所述之資料配置方法,其中該複數個備用分頁之總數為該複數個當前分頁之總數的M倍,該M為不小於1且不大於3之數值。
- 如申請專利範圍第1項所述之資料配置方法,其中該第一筆資料為一第一資料流之一部或全部,該第二筆資料為一第二資料流之一部或全部,且該資料配置方法進一步包含下列步驟: 判斷用來儲存該第一資料流之一第一備用分頁配置之數目是否小於一第一預設值,該第一備用分頁配置包含該第一備用分頁; 若該第一備用分頁配置之數目小於該第一預設值,將該待用部分的一部分配置為該第一備用分頁或其替代分頁; 判斷用來儲存該第二資料流之一第二備用分頁配置之數目是否小於一第二預設值,該第二備用分頁配置包含該第二備用分頁;以及 若該第二備用分頁配置之數目小於該第二預設值,將該待用部分的一部分配置為該第二備用分頁或其替代分頁。
- 如申請專利範圍第9項所述之資料配置方法,其中每該第一與第二備用分頁配置之數目為不大於3之正整數。
- 如申請專利範圍第1項所述之資料配置方法,進一步包含: 依據該第一當前分頁之一第一儲存容量與一第一寫入指標(Write Pointer)來指示該第一剩餘儲存空間;以及 依據該第二當前分頁之一第二儲存容量與一第二寫入指標來指示該第二剩餘儲存空間。
- 如申請專利範圍第1項所述之資料配置方法,進一步包含: 利用一第一備用分頁指標(Next Pointer)來指示該第一備用分頁之位址;以及 利用一第二備用分頁指標來指示該第二備用分頁之位址。
- 一種資料配置裝置,包含: 一儲存空間; 一資料配置器,用來將該儲存空間之一部或全部配置為複數個當前分頁與複數個備用分頁,該複數個當前分頁包含一第一當前分頁與一第二當前分頁,該複數個備用分頁包含一第一備用分頁與一第二備用分頁;以及 一儲存處理電路,用來同時儲存複數筆資料流包含一第一筆資料與一第二筆資料,包含: 一第一儲存處理單元,用來比較該第一筆資料之一第一資料量與該第一當前分頁之一第一剩餘儲存空間,於該第一資料量不大於該第一剩餘儲存空間時將該第一筆資料儲存於該第一當前分頁中,並於該第一資料量大於該第一剩餘儲存空間時將該第一當前分頁視為一已用分頁、將該第一備用分頁視為該第一當前分頁、以及將該第一筆資料儲存於被視為該第一當前分頁的該第一備用分頁中,之後該資料配置器將該儲存空間之一待用部分的一第一部分配置為該第一備用分頁或其替代分頁;以及 一第二儲存處理單元,用來比較該第二筆資料之一第二資料量與該第二當前分頁之一第二剩餘儲存空間,於該第二資料量不大於該第二剩餘儲存空間時將該第二筆資料儲存於該第二當前分頁中,並於該第二資料量大於該第二剩餘儲存空間時將該第二當前分頁視為另一已用分頁、將該第二備用分頁視為該第二當前分頁、以及將該第二筆資料儲存於被視為該第二當前分頁的該第二備用分頁中,之後該資料配置器將該儲存空間之該待用部分的一第二部分配置為該第二備用分頁或其替代分頁。
- 如申請專利範圍第13項所述之資料配置裝置,進一步包含: 一資料接收器,用來依據一預設規則將一接收資料拆解為該複數筆資料流,其中該複數筆資料流之數目為N,該N為不小於2之正整數。
- 如申請專利範圍第14項所述之資料配置裝置,其中該第一儲存處理單元進一步依據該第一筆資料、至少一筆第一在前資料及/或至少一筆第一在後資料進行排序及/或重組以得到一第一已整理資料,該第一筆資料、該第一在前資料及/或該第一在後資料之筆數總合不大於一預設最大筆數W,該W為不小於2之正整數,且該複數個當前分頁與備用分頁之總數P不大於該N乘以該W。
- 如申請專利範圍第15項所述之資料配置裝置,其中該P等於(1+(N-1)×A)×W,該A為小於1之數值。
- 如申請專利範圍第13項所述之資料配置裝置,其中該儲存處理電路依據該複數筆資料流進行排序及/或重組,且若該已用分頁或該另一已用分頁所儲存之資料已被排序及/或重組完成,該儲存處理電路允許被排序及/或重組完成之該已用分頁或該另一已用分頁成為該儲存空間之該待用部分。
- 如申請專利範圍第13項所述之資料配置裝置,其中每該第一與第二資料量不大於一預設最大資料量,且每該當前分頁與備用分用之儲存容量不小於該預設最大資料量。
- 如申請專利範圍第13項所述之資料配置裝置,其中該第一筆資料為一第一資料流之一部或全部,該第二筆資料為一第二資料流之一部或全部,且該資料配置器進一步執行下列步驟: 判斷用來儲存該第一資料流之一第一備用分頁配置之數目是否小於一第一預設值,該第一備用分頁配置包含該第一備用分頁; 若該第一備用分頁配置之數目小於該第一預設值,將該待用部分的一部分配置為該第一備用分頁或其替代分頁; 判斷用來儲存該第二資料流之一第二備用分頁配置之數目是否小於一第二預設值,該第二備用分頁配置包含該第二備用分頁;以及 若該第二備用分頁配置之數目小於該第二預設值,將該待用部分的一部分配置為該第二備用分頁或其替代分頁。
- 如申請專利範圍第13項所述之資料配置裝置,其中該第一儲存處理單元依據該第一當前分頁之一第一儲存容量與一第一寫入指標來得知該第一剩餘儲存空間,並依據一第一備用分頁指標來得知該第一備用分頁之位址;以及該第二儲存處理單元依據該第二當前分頁之一第二儲存容量與一第二寫入指標來得知該第二剩餘儲存空間,並利用一第二備用分頁指標來得知該第二備用分頁之位址。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103135293A TWI514251B (zh) | 2014-10-09 | 2014-10-09 | 資料配置方法與裝置 |
US14/843,543 US9639271B2 (en) | 2014-10-09 | 2015-09-02 | Data allocation method and device capable of rapid allocation and better exploitation of storage space |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103135293A TWI514251B (zh) | 2014-10-09 | 2014-10-09 | 資料配置方法與裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI514251B true TWI514251B (zh) | 2015-12-21 |
TW201614475A TW201614475A (en) | 2016-04-16 |
Family
ID=55407894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103135293A TWI514251B (zh) | 2014-10-09 | 2014-10-09 | 資料配置方法與裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9639271B2 (zh) |
TW (1) | TWI514251B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070033581A1 (en) * | 2005-08-02 | 2007-02-08 | Andrew Tomlin | Situation sensitive memory performance |
TW200745853A (en) * | 2006-01-18 | 2007-12-16 | Ibm | Method and system for automatically distributing real memory between virtual memory page sizes |
TW200845016A (en) * | 2007-02-16 | 2008-11-16 | Mosaid Technologies Inc | Non-volatile memory with dynamic multi-mode operation |
TW201312573A (zh) * | 2011-09-14 | 2013-03-16 | 威剛科技股份有限公司 | 快閃記憶體儲存裝置及其不良儲存區域的判定方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1870814B1 (en) * | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
KR101616100B1 (ko) * | 2009-09-25 | 2016-04-28 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
TWI425515B (zh) * | 2009-12-23 | 2014-02-01 | Silicon Motion Inc | 資料儲存裝置及快閃記憶體之資料寫入方法 |
US20130100752A1 (en) * | 2011-10-20 | 2013-04-25 | Fluiditech Ip Limited | Method of restoring reconstructed memory spaces |
US8930745B2 (en) * | 2012-04-16 | 2015-01-06 | Hitachi, Ltd. | Storage subsystem and data management method of storage subsystem |
US20140189203A1 (en) * | 2012-12-28 | 2014-07-03 | Hitachi, Ltd. | Storage apparatus and storage control method |
US10521339B2 (en) * | 2013-02-28 | 2019-12-31 | Technion Research And Development Foundation Ltd. | Retired page utilization (RPU) for improved write capacity of solid state drives |
-
2014
- 2014-10-09 TW TW103135293A patent/TWI514251B/zh active
-
2015
- 2015-09-02 US US14/843,543 patent/US9639271B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070033581A1 (en) * | 2005-08-02 | 2007-02-08 | Andrew Tomlin | Situation sensitive memory performance |
TW200745853A (en) * | 2006-01-18 | 2007-12-16 | Ibm | Method and system for automatically distributing real memory between virtual memory page sizes |
TW200845016A (en) * | 2007-02-16 | 2008-11-16 | Mosaid Technologies Inc | Non-volatile memory with dynamic multi-mode operation |
TW201312573A (zh) * | 2011-09-14 | 2013-03-16 | 威剛科技股份有限公司 | 快閃記憶體儲存裝置及其不良儲存區域的判定方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201614475A (en) | 2016-04-16 |
US9639271B2 (en) | 2017-05-02 |
US20160103614A1 (en) | 2016-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11340812B2 (en) | Efficient modification of storage system metadata | |
WO2019144553A1 (zh) | 数据存储方法、装置及存储介质 | |
US10305813B2 (en) | Socket management with reduced latency packet processing | |
JP5732536B2 (ja) | 重複排除に基づくストレージシステムにおけるスケーラブル参照管理のためのシステム、方法及び非一時的なコンピュータ可読ストレージ媒体 | |
US20150127880A1 (en) | Efficient implementations for mapreduce systems | |
US20160110121A1 (en) | Resource reservation for storage system metadata updates | |
WO2017092596A1 (zh) | 处理写请求的方法和移动终端 | |
US20130232124A1 (en) | Deduplicating a file system | |
CN107122130B (zh) | 一种数据重删方法及装置 | |
US20130061009A1 (en) | High Performance Free Buffer Allocation and Deallocation | |
KR20140110042A (ko) | 클라우드 컴퓨팅 보안 데이터 저장 | |
WO2019125706A1 (en) | Efficient sharing of non-volatile memory | |
JP6474189B2 (ja) | 挿入時間もしくはハッシュ衝突またはその両方を低減するためのシステム、方法、およびコンピュータ・プログラム(改良されたコンピュータ・インターフェース・システム) | |
WO2021232743A1 (zh) | 缓存管理方法、装置、存储介质和固态非易失存储设备 | |
TWI514251B (zh) | 資料配置方法與裝置 | |
CN105204782A (zh) | 一种实现数据存储的方法及装置 | |
CN111046004B (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
WO2024055529A1 (zh) | 放置组成员选择方法、装置、设备及可读存储介质 | |
CN105677575A (zh) | 存储器资源管理方法和装置 | |
WO2022199560A1 (zh) | 一种内存管理的方法及设备 | |
EP3474147B1 (en) | Cache management method and device, and computer storage medium | |
US20190391969A1 (en) | Difference management apparatus, storage system, difference management method, and program | |
CN106572036A (zh) | 一种套接字缓存skb管理方法及装置 | |
CN105512048B (zh) | 数据配置方法与装置 | |
EP3299965B1 (en) | Method and physical device for managing linked lists |