TW202338595A - 用於記憶體管理的方法、設備以及非暫時性電腦可讀取媒體 - Google Patents

用於記憶體管理的方法、設備以及非暫時性電腦可讀取媒體 Download PDF

Info

Publication number
TW202338595A
TW202338595A TW112108756A TW112108756A TW202338595A TW 202338595 A TW202338595 A TW 202338595A TW 112108756 A TW112108756 A TW 112108756A TW 112108756 A TW112108756 A TW 112108756A TW 202338595 A TW202338595 A TW 202338595A
Authority
TW
Taiwan
Prior art keywords
processing unit
data
parameter includes
storage
size
Prior art date
Application number
TW112108756A
Other languages
English (en)
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 南韓商三星電子股份有限公司
Publication of TW202338595A publication Critical patent/TW202338595A/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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0626Reducing size or complexity of 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0658Controller construction 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/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0638Organizing or formatting or addressing of data

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 (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

闡述用於記憶體管理的系統及方法。一種實例性方法可包括實行第一判斷,第一判斷可包括:將與儲存設備相關聯的第一參數和與應用相關聯的第二參數進行比較。另外,所述方法可包括基於第一判斷實行第二判斷,其中第二判斷可包括:將資料插入至儲存設備的儲存分區中;以及進行判斷以將與資料相關聯的最小處理單元儲存於儲存設備中。

Description

用於檢查應用程序、文件系統和計算存儲設備之間的數據對齊的系統和方法
本揭露大體而言是有關於應用相容性檢查機制,且更具體而言,是有關於用於針對儲存驅動器中的計算儲存的資料對齊的系統及方法。 [相關申請案]
本申請案主張於2022年3月11日提出申請且名稱為「DB PAGE ALIGNMENT FOR COMPUTATIONAL STORAGE DEVICES」的序列號為63/319,272號的美國臨時專利申請案的權益,所述美國臨時專利申請案全文併入本案供參考。
本背景部分旨在僅提供上下文,且本部分中任何概念的揭露並不構成對所述概念是先前技術的承認。
計算儲存設備可包括可對儲存於設備內的資料進行操作的一或多個處理資源。主機可例如藉由向設備發送使用者程式及/或針對使用者程式的輸入資料來將處理任務卸載至儲存設備。所述一或多個處理資源可執行使用者程式且將來自使用者程式的輸出資料發送至主機。
本背景部分中揭露的以上資訊僅用於增強對本揭露的背景的理解,且因此以上資訊可能包含不構成先前技術的資訊。
在各種實施例中,本文中闡述的內容包括用於將操作及/或計算卸載至例如與處理元件相關聯的固態驅動器(SSD)等儲存設備的系統、方法及裝置。
一或多個電腦的系統可用以藉由在系統上安裝軟體、韌體、硬體或其組合來實行特定的操作或動作,所述軟體、韌體、硬體或其組合在操作中使系統實行所述動作。一或多個電腦程式可用以藉由包括指令來實行特定的操作或動作,所述指令在由資料處理裝置實行時使裝置實行所述動作。
在一般態樣中,闡述用於記憶體管理的方法。所述方法可包括實行第一判斷,第一判斷可包括:將與儲存設備相關聯的第一參數和與應用相關聯的第二參數進行比較。所述方法亦可包括基於第一判斷實行第二判斷,其中第二判斷可包括:將資料插入至儲存設備的儲存分區中;以及進行判斷以將與資料相關聯的最小處理單元儲存於儲存設備中。此態樣的其他實施例包括各自用以實行所述方法的動作的對應的電腦系統、裝置及記錄於一或多個電腦儲存設備上的電腦程式。
實施方案可包括以下特徵中的一或多個特徵。第一參數可包括最小處理單元尺寸且第一參數可包括可變長度單元或固定長度單元。第一參數可包括最小處理單元尺寸且第二參數可包括檔案系統的區塊尺寸。第一參數可包括最小處理單元尺寸且第二參數可包括檔案系統片段尺寸。第一參數可包括最小處理單元尺寸且第二參數可包括獨立磁碟冗餘陣列(RAID)條帶尺寸。第一參數可包括最小處理單元尺寸且第二參數可包括鍵值對象尺寸。所闡述技術的實施方案可包括硬體、方法或過程、或者電腦有形媒體。
在一般態樣中,闡述一種用於記憶體管理的設備。所述設備可包括一或多個處理器。所述設備可使用處理器實行第一判斷,第一判斷可包括:將與儲存設備相關聯的第一參數和與應用相關聯的第二參數進行比較。所述設備更包括基於第一判斷實行第二判斷,其中第二判斷可包括:將資料插入至儲存設備的儲存分區中;以及進行判斷以將與資料相關聯的最小處理單元儲存於儲存設備中。此態樣的其他實施例包括各自用以實行所述方法的動作的對應的電腦系統、裝置及記錄於一或多個電腦儲存設備上的電腦程式。
實施方案可包括以下特徵中的一或多個特徵。設備中的第一參數可包括最小處理單元尺寸且第一參數可包括可變長度單元或固定長度單元。設備中的第一參數可包括最小處理單元尺寸且第二參數可包括檔案系統的區塊尺寸。設備其中第一參數可包括最小處理單元尺寸且第二參數可包括檔案系統片段尺寸。設備中的第一參數可包括最小處理單元尺寸且第二參數可包括RAID條帶尺寸。設備中的第一參數可包括最小處理單元尺寸且第二參數可包括鍵值對象尺寸。設備中的設備可包括計算儲存設備。
在一般態樣中,闡述用於記憶體管理的非暫時性電腦可讀取媒體。非暫時性電腦可讀取媒體可包括一或多個指令,所述一或多個指令在由設備的一或多個處理器執行時使得設備實行第一判斷,第一判斷可包括:將與儲存設備相關聯的第一參數和與應用相關聯的第二參數進行比較。指令可使得設備基於第一判斷實行第二判斷,其中第二判斷可包括:將資料插入至儲存設備的儲存分區中;以及進行判斷以將與資料相關聯的最小處理單元儲存於儲存設備中。此態樣的其他實施例包括各自用以實行所述方法的動作的對應的電腦系統、裝置及記錄於一或多個電腦儲存設備上的電腦程式。
實施方案可包括以下特徵中的一或多個特徵。非暫時性電腦可讀取媒體中的第一參數可包括最小處理單元尺寸且第一參數可包括可變長度單元或固定長度單元。非暫時性電腦可讀取媒體中的第一參數可包括最小處理單元尺寸且第二參數可包括檔案系統的區塊尺寸。非暫時性電腦可讀取媒體中的第一參數可包括最小處理單元尺寸且第二參數可包括檔案系統片段尺寸。非暫時性電腦可讀取媒體中的第一參數可包括最小處理單元尺寸且第二參數可包括RAID條帶尺寸。非暫時性電腦可讀取媒體中的第一參數可包括最小處理單元尺寸且第二參數可包括鍵值對象尺寸。非暫時性電腦可讀取媒體中的設備可包括計算儲存設備。所闡述技術的實施方案可包括硬體、方法或過程、或者電腦有形媒體。
類似地,進一步揭露出用於實行與上述內容實質上相同或類似的操作的非暫時性電腦可讀取媒體、設備及系統。因此,可實施本文中闡述的標的物的具體實施例,以達成以下優點中的一或多個優點。所揭露的系統可提供一種用於進行以下操作的手段:對用於計算儲存設備的軟體環境及硬體環境進行驗證,以便以更高效的方式運行特定應用。所揭露系統可提供以下手段:藉由確保計算儲存環境(例如,資料中心或伺服器環境)的支援層之間的資料對齊來提高應用的計算效率。所揭露系統可以提高的效率而有利於計算近資料(near data)(例如,經由計算儲存設備),藉此使得每單位計算的功率及能量使用減少。輕鬆驗證用於計算儲存設備的軟體環境及硬體環境
本文中闡述的標的物的一或多個實施例的細節在附圖及以下說明中進行陳述。根據說明、圖式及申請專利範圍,標的物的其他特徵、態樣及優點將變得顯而易見。
現在將在下文中參照附圖更全面地闡述本揭露的各種實施例,在附圖中示出一些實施例,但非所有實施例。實際上,本揭露可以許多不同的形式來實施且不應被解釋為限制於本文中陳述的實施例;相反,提供該些實施例是為了使本揭露滿足適用的法律要求。除非另有指示,否則用語「或」在本文中以替代及結合兩種意義使用。用語「例示性的」及「實例性的」被用作不具有品質水準指示的實例。相同的編號始終指代相同的元件。所述圖中的每一者中的箭頭繪示出雙向資料流及/或雙向資料流能力。用語「路徑」、「途徑」及「路線」在本文中可互換使用。
本揭露的實施例可以各種方式(包括作為包括製造物品的電腦程式產品)實施。電腦程式產品可包括儲存應用、程式、程式組件、腳本、原始碼、程式碼、目標碼、位元組碼、編譯碼、解釋碼、機器碼、可執行指令、及/或類似電腦程式產品(本文中亦被稱為可執行指令、用於執行的指令、電腦程式產品、程式碼、及/或類似本文中可互換使用的用語)的非暫時性電腦可讀取儲存媒體。此種非暫時性電腦可讀取儲存媒體包括所有電腦可讀取媒體(包括揮發性媒體及非揮發性媒體)。
在一個實施例中,非揮發性電腦可讀取儲存媒體可包括軟碟(floppy disk)、軟性碟(flexible disk)、硬碟、固態儲存器(solid-state storage,SSS)(例如固態驅動器(solid state drive,SSD))、固態卡(solid state card,SSC)、固態模組(solid state module,SSM)、企業快閃驅動器(enterprise flash drive)、磁帶或任何其他非暫時性磁性媒體、及/或類似儲存媒體。非揮發性電腦可讀取儲存媒體亦可包括打孔卡(punch card)、紙帶、光學標記片(optical mark sheet)(或具有孔洞圖案或其他光學可辨識記號的任何其他實體媒體)、光盤唯讀記憶體(compact disc read only memory,CD-ROM)、可重寫光盤(compact disc-rewritable,CD-RW)、數位多功能盤(digital versatile disc,DVD)、藍光盤(Blu-ray disc,BD)、任何其他非暫時性光學媒體、及/或類似儲存媒體。此種非揮發性電腦可讀取儲存媒體亦可包括唯讀記憶體(read-only memory,ROM)、可程式化唯讀記憶體(programmable read-only memory,PROM)、可抹除可程式化唯讀記憶體(erasable programmable read-only memory,EPROM)、電性可抹除可程式化唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)、快閃記憶體(例如串列、反及、反或、及/或類似記憶體)、多媒體記憶卡(multimedia memory card,MMC)、安全數位(secure digital,SD)記憶卡、智慧媒體卡(SmartMedia card)、緊湊快閃(CompactFlash,CF)卡、記憶棒、及/或類似儲存媒體。此外,非揮發性電腦可讀取儲存媒體亦可包括導電橋接隨機存取記憶體(conductive-bridging random access memory,CBRAM)、相變隨機存取記憶體(phase-change random access memory,PRAM)、鐵電隨機存取記憶體(ferroelectric random-access memory,FeRAM)、非揮發性隨機存取記憶體(non-volatile random-access memory,NVRAM)、磁阻式隨機存取記憶體(magnetoresistive random-access memory,MRAM)、電阻式隨機存取記憶體(resistive random-access memory,RRAM)、矽-氧化物-氮化物-氧化物-矽記憶體(Silicon-Oxide-Nitride-Oxide-Silicon memory,SONOS)、浮置接面閘極隨機存取記憶體(floating junction gate random access memory,FJG RAM)、馬陸記憶體(Millipede memory)、跑道記憶體(racetrack memory)、及/或類似儲存媒體。
在一個實施例中,揮發性電腦可讀取儲存媒體可包括隨機存取記憶體(random access memory,RAM)、動態隨機存取記憶體(dynamic random access memory,DRAM)、靜態隨機存取記憶體(static random access memory,SRAM)、快速頁面模式動態隨機存取記憶體(fast page mode dynamic random access memory,FPM DRAM)、擴展資料輸出動態隨機存取記憶體(extended data-out dynamic random access memory,EDO DRAM)、同步動態隨機存取記憶體(synchronous dynamic random access memory,SDRAM)、雙倍資料速率同步動態隨機存取記憶體(double data rate synchronous dynamic random access memory,DDR SDRAM)、雙倍資料速率類型二同步動態隨機存取記憶體(double data rate type two synchronous dynamic random access memory,DDR2 SDRAM)、雙倍資料速率類型三同步動態隨機存取記憶體(double data rate type three synchronous dynamic random access memory,DDR3 SDRAM)、蘭巴斯動態隨機存取記憶體(Rambus dynamic random access memory,RDRAM)、雙電晶體RAM(Twin Transistor RAM,TTRAM)、閘流體RAM(Thyristor RAM,T-RAM)、零位電容器(Zero-capacitor,Z-RAM)、蘭巴斯直插記憶體組件(Rambus in-line memory component,RIMM)、雙直插記憶體組件(dual in-line memory component,DIMM)、單直插記憶體組件(single in-line memory component,SIMM)、視訊隨機存取記憶體(video random access memory,VRAM)、快取記憶體(包括各種層階)、快閃記憶體、暫存器記憶體、及/或類似儲存媒體。應理解,在實施例被闡述為使用電腦可讀取儲存媒體的情況下,其他類型的電腦可讀取儲存媒體可替代上述電腦可讀取儲存媒體或者除了上述電腦可讀取儲存媒體之外亦使用其他類型的電腦可讀取儲存媒體。
應理解,本揭露的各種實施例亦可被實施成方法、裝置、系統、計算設備、計算實體、及/或類似項。如此一來,本揭露的實施例可採取執行儲存於電腦可讀取儲存媒體上的指令以實行某些步驟或操作的裝置、系統、計算設備、計算實體、及/或類似物的形式。因此,本揭露的實施例亦可採取完全硬體實施例、完全電腦程式產品實施例、及/或包括電腦程式產品與實行特定步驟或操作的硬體的組合的實施例的形式。
以下參照方塊圖及流程圖圖示來闡述本揭露的實施例。因此,應理解,方塊圖的每一方塊及流程圖圖示可以電腦程式產品、完全硬體實施例、硬體與電腦程式產品的組合、及/或對電腦可讀取儲存媒體施行指令、操作、步驟、及可互換使用的類似措詞(例如,可執行指令、用於執行的指令、程式碼、及/或類似物)以用於執行的裝置、系統、計算設備、計算實體、及/或類似物的形式來實施。舉例而言,可依序實行對碼的擷取、加載及執行,進而使得一次擷取、加載及執行一個指令。在一些實例性實施例中,可平行地實行擷取、加載及/或執行,進而使得一起擷取、加載及/或執行多個指令。因此,此種實施例可生成實行方塊圖及流程圖圖示中規定的步驟或操作的特定配置的機器。因此,方塊圖及流程圖圖示支援用於實行規定指令、操作或步驟的實施例的各種組合。
在計算領域及儲存領域中,可將各種計算工作負載分區成任務,所述任務中的一或多個任務可由例如中央處理單元(central processing unit,CPU)、加速器設備、計算儲存設備及/或類似裝置等計算設備來實行。可例如由CPU實行自可儲存於例如儲存設備處的資料結構讀取輸入資料的任務。端視實施方案細節而定,任務的此種安排可能涉及例如用於將資料自儲存設備傳送至CPU及/或將資料自CPU傳送至加速器設備的相對高的開銷。因此,本揭露的一些態樣是有關於使用計算儲存設備(computational storage device,CSD)來實行涉及對資料進行讀取及/或寫入的任務。舉例而言,在根據本揭露實例性實施例的計算方案中,可在CSD處實行與應用(例如,基於主機的應用)相關聯的工作負載的可自可儲存於CSD處的資料結構讀取輸入資料的第一任務。
在一些態樣中,CSD上的資料處理可能要求存取與應用(例如,在主機上運行的應用)相關聯的一或多個可獨立處理的資料區塊。由於應用可用以使用儲存層與系統層的各種組合來運行(例如,確定資料如何在網路之上傳輸的配置),因此可能不會基於對應的應用處理單元(application’s processing unit)(此是可獨立定址的資料區塊)來相應地配置下伏層。因此,每一相關聯的層可具有不同的處理單元,此可能使得應用的資料區塊最終被分割並跨多個CSD儲存,此至少自計算效率的角度來看可能是不期望的場景。因此,為判斷是否可對與一或多個CSD相關聯的特定儲存層配置高效地執行給定應用,需要檢查每一層的配置,以查看是否可在進行分割的情況下將應用處理單元傳遞及/或儲存至儲存設備。
在本揭露的各種實施例中,用於應用相容性判斷(application compatibility determination)的系統及方法可以靜態方式及動態方式二者來驗證給定的儲存層配置,如本文中所進一步闡述。如本文中所使用,靜態可指實行以下方法:在不實際上在儲存層上運行應用的情形中檢查儲存層中的組件的配置。此外,動態可指實行以下方法:在給定儲存層及配置上運行測試,以檢查是否滿足資料對齊要求。
如上所述,為利用CSD,可能有必要將與應用相關聯的整個資料處理單元儲存至設備。因此,應用相容性檢查系統及相關聯的方法可檢查應用與一或多個系統(例如獨立磁盤冗餘陣列(redundant array of independent disk,RAID)系統、計算引擎、檔案系統及儲存系統、其組合及/或類似裝置)之間的對應資料對齊(如何在電腦記憶體中安排及存取資料)。此外,所揭露系統闡述用於檢查應用在多個儲存層之間的資料對齊的系統及方法。此外,儘管本文中闡述所提及的特定系統,但應理解,其他類似系統可以類似的方式使用所揭露的系統及方法。
本揭露囊括與操作計算設備相關的諸多態樣。本文中揭露的原理可具有獨立的效用且可各別地實施,且並非每個實施例皆可利用每個原理。此外,原理亦可以各種組合來實施,所述組合中的一些組合可以協同的方式放大各別原理的一些益處。
出於例示的目的,可在一些特定實施方案細節(例如機器學習工作負載、例如快速計算鏈路(Compute Express Link,CXL)等通訊協定及/或類似實施方案細節)的上下文中闡述一些實施例。然而,原理並不限於該些或任何其他具體的實施方案細節。
如上所述,為對例如包括CSD的系統等系統實行資料處理,每一CSD可能需要存取對應應用(例如,在主機伺服器上運行的應用)的可獨立處理的資料區塊。如本文中所使用,主機可使用以下裝置來實施:任何組件或組件組合,例如計算伺服器、儲存伺服器、網路伺服器、雲端伺服器及/或類似伺服器;節點,例如儲存節點;電腦,例如工作站、個人電腦、平板電腦、智慧型電話及/或類似裝置;或者其中的多者及/或其組合。
圖1示出根據本揭露實例性實施例的代表所揭露系統可在其中進行操作的計算儲存環境的實例性圖,所述環境包括主機應用、各種中間軟體層及各種中間硬體層、以及一或多個計算儲存設備。如圖1中所示,應用102可在儲存(例如,計算儲存(computational storage,CS)設備,例如CS 114、116、118及/或120)與系統層(例如,檔案系統103、RAID系統104、包括區塊儲存器的儲存系統106)、及/或可包括檔案系統110及/或RAID子系統115、及/或鍵值儲存體(key-value store)112的儲存系統108)的各種組合的頂上運行。在一些態樣中,下伏層(相對於應用102而言)可能不知道應用的對應處理單元(例如,不具有關於應用的對應處理單元的通知及/或不存取應用的對應處理單元)。此外,每一層(例如,層包括檔案系統103、RAID系統104、包括區塊儲存器的儲存系統106)可能要求不同的處理單元,此可使得應用102的對應資料區塊被分割,且因此跨多個CSD(例如,CS 114、116、118及/或120)儲存。為在給定的計算環境及儲存環境中高效地利用CSD,可能需要將給定應用102的整個資料處理單元儲存至設備。為判斷給定應用是否可在特定的儲存層配置上運行,所揭露系統可檢查每一層的配置需要,以判斷是否可在不進行分割的情形中將應用102的處理單元傳遞至儲存設備(例如,CS 114、116、118及/或120)。在本揭露的各個態樣中,所揭露系統包括應用相容性系統及對應的方法,所述應用相容性系統及對應的方法可部分地以靜態方式及動態方式二者驗證給定的儲存配置。
在各個態樣中,可利用使用任何類型的記憶體及/或儲存媒體(包括任何其他類型的固態媒體、磁性媒體、光學媒體及/或類似媒體)的任何類型的儲存設備來實施計算儲存設備(例如,CS 114、116、118及/或120)。舉例而言,在一些實施例中,儲存設備可被實施為基於SSD的反及(not-AND,NAND)快閃記憶體、例如交叉網格非揮發性記憶體等持續記憶體(persistent memory,PMEM)、具有體電阻改變(bulk resistance change)的記憶體、相變記憶體(phase change memory,PCM)、動態隨機存取記憶體(DRAM)、及/或類似記憶體、及/或其任意組合。
本文中揭露的計算儲存設備中的任意者可使用任何連接器配置(例如串列先進技術附件(advanced technology Attachment,ATA)(Serial ATA,SATA)、小型電腦系統介面(Small Computer System Interface,SCSI)、串列附接SCSI(Serial Attached SCSI,SAS)、U.2及/或類似配置)以任何形狀因子(例如3.5英吋、2.5英吋、1.8英吋、M.2、企業及資料中心SSD形狀因子(Enterprise and Data Center SSD Form Factor,EDSFF)、NF1及/或類似形狀因子)實施。本文中揭露的計算儲存設備中的任意者可全部或部分地與伺服器底盤(server chassis)、伺服器機架(server rack)、資料室、資料中心、邊緣資料中心、行動邊緣資料中心及/或其任何組合一起實施及/或與伺服器底盤、伺服器機架、資料室、資料中心、邊緣資料中心、行動邊緣資料中心及/或其任何組合結合使用。在一些實施例中,計算儲存設備可被實施為計算儲存驅動器、計算儲存處理器(computational storage processor,CSP)及/或計算儲存陣列(computational storage array,CSA)。
在一些實施例中,計算儲存設備可使用除儲存設備之外的設備(例如,可包括或可存取記憶體、儲存媒體及/或類似裝置以儲存可由一或多個計算資源處理的大量資料的任何類型的設備)來實施。實例可包括記憶體擴展及/或緩衝設備(例如CXL類型2設備及/或CXL類型3設備)、以及可存取記憶體、儲存媒體及/或類似裝置的CXL類型1設備。
計算儲存設備(例如,CS 114、116、118及/或120)可使用例如以下任何類型的設備來實施:加速器設備、儲存設備(例如,計算儲存設備)、網路設備(例如,網路介面卡(network interface card,NIC))、CPU、圖形處理單元(graphics processing unit,GPU)、神經處理單元(neural processing unit,NPU)、張量處理單元(tensor processing unit,TPU)、資料處理單元(data processing unit,DPU)及/或類似處理單元、或者其中的多者及/或其組合。
計算儲存設備可包括可使用可對資料實行操作的任何組件或例如以下組件組合來實施的計算資源:組合邏輯、時序邏輯、定時器、計數器、暫存器、狀態機、複雜可程式化邏輯設備(complex programmable logic device,CPLD)、現場可程式化閘陣列(field programmable gate array,FPGA)、應用專用積體電路(application specific integrated circuit,ASIC)、嵌入式處理器、微控制器、中央處理單元(CPU)(例如複雜指令集電腦(complex instruction set computer,CISC)處理器(例如x86處理器)及/或精簡指令集電腦(reduced instruction set computer,RISC)處理器(例如ARM處理器)、及/或類似裝置)、及/或其組合。
計算儲存設備可經由內連線組構(fabric)連接至主機及以上論述的其他中介層,內連線組構可使用任何類型的介面及/或協定利用一或多個內連線、一或多個網路、多個網路中的網路(例如,網際網路)及/或類似網路或其組合來實施。舉例而言,內連線組構224可使用快速周邊組件互連(Peripheral Component Interconnect Express,PCIe)、快速非揮發性記憶體(Non-Volatile Memory Express,NVMe)、組構上NVMe(NVMe-over-fabric,NVMe-oF)、乙太網路、傳輸控制協定/網際網路協定(Transmission Control Protocol/Internet Protocol,TCP/IP)、直接記憶存取(direct memory access,DMA)遠程DMA(remote DMA,RDMA)、聚合乙太網路上RDMA(RDMA over Converged Ethernet,ROCE)、光纖通道、無線頻寬(InfiniBand)、串列ATA(SATA)、小型電腦系統介面(SCSI)、串列附接SCSI(SAS)、網際網路廣域RDMA協定(Internet Wide Area RDMA Protocol,iWARP)、快速計算鏈路(CXL)及/或例如CXL.mem、CXL.cache、CXL.IO及/或類似協定等一致協定、Gen-Z、開放式一致性加速器處理器介面(Open Coherent Accelerator Processor Interface,OpenCAPI)、加速器快取一致性內連(Cache Coherent Interconnect for Accelerator,CCIX)、及/或類似介面、高級可擴展介面(Advanced Extensible Interface,AXI)、包括第二代(2 ndgeneration,2G)、第三代(3 rdgeneration,3G)、第四代(fourth generation,4G)、第五代(fifth generation,5G)、第六代(sixth generation,6G)及/或類似代的任意代無線網路、任意代Wi-Fi、藍牙、近場通訊(near-field communication,NFC)及/或類似物、或其任何組合。在一些實施例中,內連線組構包括一或多個根複合體(root complex)、交換器(switch)、集線器(hub)、節點、路由器(router)、及/或類似裝置。
在一些實施例中,內連線組構可用以在例如不存在由主機進行的介入、干預、處理器利用(例如,CPU利用)及/或類似操作的情形中在組件之間直接傳送資料(例如,應用資料)。舉例而言,在至少部分使用CXL實施的實施例中,內連線組構可用以例如使用CXL交換器、PCIe根複合體、PCIe交換器、PCIe同級間(peer-to-peer,P2P)通訊、CXL P2P通訊及/或類似通訊將資料自計算儲存設備傳送至主機應用或另一計算儲存設備。
圖2示出代表根據本揭露實例性實施例的用於應用相容性判斷的所揭露系統的實例性圖,所揭露系統包括用於計算儲存設備的各種子系統的粒度判斷(包括靜態相容性分析及動態相容性分析二者)的模組。在一些態樣中,系統200可包括應用相容性模組204,應用相容性模組204可包括靜態相容性檢查模組206,靜態相容性檢查模組206包括應用相容性檢查210模組、儲存系統相容性檢查212模組、RAID相容性檢查214模組及檔案系統相容性檢查216模組。在另一態樣中,應用相容性模組204可包括動態相容性檢查模組208,動態相容性檢查模組208包括檔案系統相容性測試218模組、儲存系統相容性測試220模組及RAID相容性測試222模組。
在一些態樣中,靜態相容性檢查模組206可用以實行應用與儲存設備的相容性的第一靜態分析。具體而言,靜態相容性檢查模組206可基於應用(例如,在主機伺服器上運行的應用,未示出)而自應用/系統配置202模組接收輸入資料。靜態相容性檢查模組206然後可使用輸入資料且判斷下伏層(例如,如以上結合圖1示出及闡述的例如檔案系統102、RAID系統104、儲存系統106(可包括區塊儲存器)等層)是否滿足一或多個條件,以判斷出可在不進行分割(將應用處理單元至少劃分成兩個部分)的情形中將應用處理單元傳遞至儲存設備(例如,如以上結合圖1示出及闡述的CS 114、116、118及/或120)(例如,通過224條件)。若判斷的結果是在不進行分割的情形中無法將應用處理單元傳遞至儲存設備,則此可代表失敗226條件,此可進一步保證操作者及/或系統對失敗的各種原因的進一步判斷。舉例而言,失敗的潛在原因可包括其中檔案系統區塊尺寸不是應用處理單元尺寸的正倍數的情形、以及其中應用處理單元是可變長度而下伏層中的一或多者使用固定長度單元的情形。
在一些態樣中,所揭露系統可基於代表應用狀態及儲存系統狀態的變量來確定各種準則,所述變量可藉由方程式來描述。具體而言,變量P可代表應用處理單元尺寸(單位(例如,位元組(byte,B)、千位元組(kilobyte,KB)、百萬位元組(megabyte,MB)、十億位元組(gigabyte,GB)、兆位元組(terabyte,TB)、千兆位元組(petabyte,PB)及/或類似單位)),變量B可代表檔案系統區塊尺寸,變量F可代表檔案系統片段尺寸,且變量S可代表RAID條帶尺寸。對於欲在不進行分割的情形中儲存至儲存設備(例如,CSD)的應用處理單元,可能需要滿足以下條件中的一或多個條件: B = k*P(k為N,其中N為正整數) F = m*P(m為N,其中N為正整數) S = n*P(n為N,其中N為正整數)
在各個態樣中,可藉由利用靜態相容性檢查模組206實行的分析判斷出上述方程式成立。具體而言,靜態相容性檢查模組206可判斷出檔案系統區塊尺寸B是應用處理單元P的整數倍,檔案系統片段尺寸F是應用處理單元P的整數倍,且RAID條帶尺寸S是應用處理單元P的整數倍。若該些條件中的一或多者或全部成立,則靜態相容性檢查模組206可判斷出下伏層滿足在不進行分割的情形中將應用處理單元傳遞至儲存設備所要求的條件,且靜態相容性檢查模組206可因此產生通過224結果。若不滿足上述條件中的任意者,則靜態相容性檢查模組206可判斷出下伏層不滿足在不進行分割的情形中將應用處理單元傳遞至儲存設備所要求的條件,且靜態相容性檢查模組206可因此產生失敗226結果。
在一些態樣中,應用相容性檢查210模組可判斷出應用處理單元具有最小處理單元,最小處理單元可為可變長度單元(V)或者可為固定長度單元(P)。若最小處理單元是可變長度單元,則所揭露系統可能需要做出附加的安排,使得例如在計算引擎層階處可能需要儲存器內計算(in-storage computation,ISC)機制的適當協調。舉例而言,計算引擎可在內部使用鍵值儲存體或基於對象的儲存系統來將其可變長度資料直接儲存至儲存設備中的一者中,而不依賴於RAID子系統。然後,計算引擎可向設備發送ISC命令以處理資料。
若最小處理單元是固定長度單元,則所揭露系統可判斷出適當的資料對齊條件跨所有儲存層成立。因此,若應用可直接存取設備(例如,CSD),則應用相容性檢查210模組可產生通過224條件。
在其他態樣中,若設定可變長度單元(V)但系統中的一或多個設備(例如CSD)不支援可變長度資料處理,則儲存系統引擎相容性檢查212模組可判斷出失敗226條件。在其他態樣中,若設定固定長度單元(P)但系統中的一或多個設備(例如CSD)不支援固定長度資料處理,則儲存系統引擎相容性檢查212模組可判斷出失敗226條件。否則,儲存系統引擎相容性檢查212可判斷出通過224條件。
在一些態樣中,若RAID條帶尺寸S不是應用處理單元P的正倍數,則RAID相容性檢查216模組可判斷出失敗226條件。若不使用RAID、使用可變長度單元(V)及/或RAID條帶尺寸(S)是應用處理單元(P)的正倍數,則RAID相容性檢查216模組可判斷出通過224條件。
在其他態樣中,若不使用檔案系統,則檔案系統相容性檢查216模組可判斷出通過224條件。在使用片段的情形中,若檔案系統片段尺寸(F)是應用處理單元P的正倍數,則檔案系統相容性檢查216模組可判斷出通過224條件。否則,在使用區塊的情形中,若檔案系統區塊尺寸(B)是應用處理單元P的正倍數,則檔案系統相容性檢查216模組可判斷出通過條件。
在一些態樣中,若資料分佈單元(D)不是P的正倍數或者若D是可變長度且大於P,則儲存系統相容性檢查216模組可判斷出失敗226條件。若不使用儲存系統或者若資料分佈單元是P的正倍數,則儲存系統相容性檢查216模組可判斷出通過224條件。
在一些態樣中,動態相容性檢查模組208可基於應用(例如,在主機伺服器上運行的應用,未示出)自應用/系統配置202模組接收輸入資料。在其他態樣中,即使靜態相容性檢查模組206產生失敗226條件(例如,基於如上所述的特定準則),仍然可藉由每一層的內部資料管理機制或選項而以隱式方式支援資料對齊。因此,動態相容性檢查模組208仍然可產生通過條件且藉此指示應用與CSD之間的相容性。舉例而言,若P的尺寸是8千位元組且B的尺寸是4千位元組,則靜態分析檢查模組206可產生失敗條件;然而,在具有步幅及條帶選項的某些檔案系統(例如,基於裡訥克斯(Linux)的X檔案系統(X File System,XFS))中,可使P與RAID條帶對齊。在具有相同選項的不同檔案系統(例如第四代擴展檔案系統(Fourth extended filesystem,EXT4))中,當不存在足夠的空間時,P仍然可跨多個碟被分割。因此,動態相容性檢查模組208可實行系統的動態分析且可運行相容性測試來查看是否可在不進行分割的情形中分佈輸入資料。
在一些態樣中,所揭露系統可針對給定的RAID配置運行相容性檢查(例如,儲存系統相容性檢查、RAID相容性檢查、檔案系統相容性檢查)。此外,所揭露系統然後可產生具有合適選項(例如,步幅及條帶寬度選項)的檔案系統。因此,所揭露系統可運行插入操作以藉由儲存系統填充整個分區,檢查每一P是否儲存於單個碟中。然後所揭露系統可在同一分區上更新工作負載、刪除工作負載及/或插入工作負載且檢查每一P是否儲存於單個碟中。若使用軟體RAID,則所揭露系統亦可使RAID配置發生變化,直至判斷出有效資料對齊。
圖3示出代表根據本揭露實例性實施例的實例性場景的實例性圖,在所述實例性場景中,應用跨檔案系統及/或其他系統引起對統一處理單元的分割,此可使用所揭露的系統及方法來判斷及最佳化。具體而言,圖3示出根據本揭露實例性實施例的第一資料對齊場景301及第二資料對齊場景303的實例性圖。在一些態樣中,第一資料對齊場景301包括資料區塊(DB)表305,DB表305可包括例如P1、P2等處理單元以及標記為P的附加部分。在其他態樣中,第一資料對齊場景301包括檔案系統區塊307,檔案系統區塊307可處理單元304,處理單元304可包括分組於區塊B中的P1以及P2的一部分、分組於第二區塊B中的P2的另一部分以及P、以及分組於第三區塊B中的P及P。如圖所示,在其中所揭露系統尚未判斷出應用處理單元與CSD之間的相容性的此種場景中,處理單元(被分割成P1及P2的實例性處理單元P 304)潛在地使得DB在多個CSD之間被分割且降低計算儲存系統的計算效率。在一些態樣中,圖301包括RAID條帶309,RAID條帶309可包括在條帶S中排列的區塊306(例如,類似於以上結合檔案系統區塊307闡述的區塊)。
在一些態樣中,第二資料對齊場景303包括DB表311,DB表311亦可包括部分P。在其他態樣中,圖303包括檔案系統區塊313,檔案系統區塊313可包括分組於區塊B中的部分P。值得注意的是,在第二資料對齊場景303中,所揭露系統藉由防止處理單元P被分割且避免DB在多個CSD之間被分割的情況來確保資料對齊。相較於第一資料對齊場景301,此會藉此提高計算儲存系統的計算效率。在一些態樣中,圖303包括RAID條帶312,RAID條帶312可包括在條帶S中排列的區塊(例如,類似於以上結合檔案系統區塊310闡述的區塊)。值得注意的是,由於所揭露系統的應用及相關聯的機制所帶來的資料對齊,因此在檔案系統區塊313與RAID條帶315之間再次存在資料對齊。
圖4是根據本揭露實例性實施例的示例性操作過程400的圖示,示例性操作過程400示出與用於應用相容性判斷的所揭露系統相關聯的實例性操作。在一些實施方案中,圖4所示一或多個過程方塊可由設備來實行。如圖4中所示,過程400可包括實行第一判斷,第一判斷可包括:將與儲存設備相關聯的第一參數和與應用相關聯的第二參數進行比較(方塊402)。舉例而言,設備可實行第一判斷,第一判斷可包括如本文中所述的統計分析。靜態分析可包括應用相容性檢查、儲存系統相容性檢查、RAID相容性檢查及/或檔案系統相容性檢查,如以上結合圖4進一步示出及闡述。此外,靜態分析可包括與儲存設備相關聯的第一參數,例如應用處理單元尺寸(例如,最小處理單元尺寸)。與應用相關聯的第二參數可包括檔案系統的區塊尺寸、檔案系統片段尺寸mRAID條帶尺寸及/或鍵值對象尺寸,如本文中不同地闡述。同樣如圖4中所示,過程400可包括基於第一判斷實行第二判斷,其中第二判斷可包括:將資料插入至儲存設備的儲存分區中;以及進行判斷以將與資料相關聯的最小處理單元儲存於儲存設備中(方塊404)。舉例而言,第二判斷可包括動態分析(例如,動態相容性檢查),包括但不限於:檔案系統相容性測試、儲存系統相容性測試及/或RAID相容性測試,如以上進一步示出及闡述。此外,如上所述,第二判斷可包括:將資料插入至儲存設備的儲存分區中,儲存分區可包括計算儲存設備的儲存器及/或記憶體。此外,如上所述,方法可包括進行判斷以將與資料相關聯的最小處理單元儲存於儲存設備中,如上所述。附加地或作為另一選擇,可基於例如針對與應用相關聯的任務及/或與CSD相關聯的參數(例如,潛時、通量等)的資料對齊而自候選計算設備選擇計算儲存設備。因此,在一些態樣中,若兩個候選計算設備具有相同的資料對齊足夠的記憶體容量及/或儲存容量來容納與任務相關聯的資料量,且任務對潛時相對敏感,則可為任務選擇候選計算設備中具有相對較高通量的第一候選計算設備。附加地或作為另一選擇,可基於例如候選計算設備的一或多個利用水準而自候選計算設備選擇計算設備。舉例而言,給定相同的資料對齊,若具有較高通量的第一候選計算設備具有相對高的利用率(例如,相對繁忙),則可為任務選擇候選計算設備中具有相對較低通量但具有較低利用率的第二候選計算設備。
儘管圖4示出過程400的實例性方塊,但在一些實施方案中,過程400可包括相較於圖4中繪示的方塊更多的方塊、更少的方塊、與圖4中繪示的方塊不同的方塊或不同排列的方塊。附加地或作為另一選擇,可平行地實行過程400的方塊中的二或更多個方塊。
可使用任何連接器配置(例如串列ATA(SATA)、小型電腦系統介面(SCSI)、串列附接SCSI(SAS)、U.2及/或類似配置)以任何形狀因子(例如3.5英吋、2.5英吋、1.8英吋、M.2、企業及資料中心SSD形狀因子(EDSFF)、NF1及/或類似形狀因子)實施本文中揭露的儲存設備中的任意者。
本文中揭露的儲存設備中的任意者可全部或部分地與伺服器底盤、伺服器機架、資料室、資料中心、邊緣資料中心、行動邊緣資料中心及/或其任何組合一起實施及/或與伺服器底盤、伺服器機架、資料室、資料中心、邊緣資料中心、行動邊緣資料中心及/或其任何組合結合使用。
本文中闡述的功能性中的任意者(包括以上針對本文中揭露的實施例闡述的主機功能性、設備功能地及/或類似功能性中的任意者)可使用硬體、軟體或其包括的任何組合來實施。舉例而言,本文中闡述的功能性中的任意者可使用組合邏輯、時序邏輯、一或多個定時器、計數器、暫存器、狀態機、例如DRAM及/或靜態隨機存取記憶體(SRAM)等揮發性記憶體、非揮發性記憶體及/或其任意組合、CPLD、FPGA、ASIC、執行儲存於任何類型的記憶體中的指令的CPU(包括複雜指令集電腦(CISC)處理器(例如x86處理器)及/或精簡指令集電腦(RISC)處理器(例如ARM處理器)、圖形處理單元(GPU)、神經處理單元(NPU)及/或類似處理裝置)。在一些實施例中,一或多個組件可被實施成系統晶片(system-on-chip,SOC)。
本文中闡述的實施例是實例性操作及/或組件。在一些實施例中,可省略一些操作及/或組件,及/或可包括其他操作及/或組件。此外,在一些實施例中,可使操作及/或組件的時間次序及/或空間次序發生變化。儘管一些組件及/或操作可被示出為各別組件,但在一些實施例中,可將分開示出的一些組件及/或操作整合至單個組件及/或操作中,及/或可使用多個組件及/或操作來實施被示出為單個組件及/或操作的一些組件及/或操作。
圖5示出可用於實踐本揭露實施例的系統的實例性示意圖。如圖5中所示,此具體實施例可包括一或多個管理計算實體500、一或多個網路505以及一或多個使用者設備510(例如,主機設備、儲存設備、附加設備等)。在各種實施例中,管理計算實體500可用以運行與所揭露系統以及本揭露通篇闡述的相關聯實施例相關聯的操作(包括但不限於基於本文中闡述的分析(例如,靜態分析或動態分析)來判斷應用與CSD之間的相容性)。此外,管理計算實體500可駐留於所揭露系統的任何合適的部分(例如,例如結合圖1示出及闡述的層中的任意者、一或多個CSD、主機應用、遠程主機、另一設備、其組合及/或類似部分)中。本文中可互換使用的該些組件、實體、設備、系統及類似措詞中的每一者可例如藉由相同或不同的有線網路或無線網路彼此直接或間接地進行通訊。另外,儘管圖5將各種系統實體示出為單獨的獨立實體,但各種實施例並不限於此種具體架構。如上所述,可使用本文進一步闡述的任何合適的協定來實行通訊。
圖6示出根據本揭露實例性實施例的管理計算實體的實例性示意圖600。如上所述,管理計算實體可用以運行與所揭露系統以及本揭露通篇闡述的相關聯實施例相關聯的操作。此外,管理計算實體500可駐留於所揭露系統的任何合適的部分中。具體而言,內容組件可用於確定將藉由本文中闡述的系統來傳輸的指示資料的訊號(例如,視訊、音訊、文本、資料、其組合、及/或類似訊號)。在另一實施例中,用於傳輸的訊號的確定可例如基於使用者對設備的輸入、與系統相關聯的網路上的資料傳輸的預定排程、網路條件的改變、及/或類似條件。在一個實施例中,訊號可包括資料,其可被包封於資料訊框及/或封包中,所述資料訊框及/或封包用以自設備被發送至網路上的一或多個設備。
在另一實施例中,處理元件605可用於確定與藉由與所揭露系統相關聯的網路傳輸的資料相關聯的各種參數。作為另一實例。處理元件605可實行各種加速操作,例如卸載功能性的至少部分、資料預處理或後處理、其組合及/或類似操作。
在一個實施例中,發射組件(未示出)可用於將訊號自網路上的一個設備發射至另一設備。舉例而言,發射組件可用於準備發射器(例如,以下圖5所示發射器504)以藉由網路發射訊號。舉例而言,發射組件可將資料排隊於一或多個緩衝器中,可確認發射設備及相關聯的發射器是功能性的且具有足夠的功率來藉由網路發射訊號,可調整與資料的發射相關聯的一或多個參數(例如,調變類型、訊號放大、訊號功率位準、雜訊抑制、其組合、及/或類似參數)。
一般而言,用語計算實體、電腦、實體、設備、系統及/或本文中可互換使用的類似措詞可指例如一或多個電腦、計算實體、桌上型電腦、行動電話、平板電腦、大螢幕電話(phablet)、筆記型電腦、膝上型電腦、分佈式系統、遊戲控制台(例如Xbox、Play Station、Wii)、手錶、眼鏡、iBeacon、接近信標(proximity beacon)、鑰煉(key fob)、射頻識別(RFID)標籤、耳機、掃描儀、電視機、伺服器鑰(dongle)、照相機、腕帶、可穿戴物品/設備、資訊站、輸入終端、伺服器或伺服器網路、刀片、閘道、交換器、處理設備、處理實體、機上盒(set-top box)、繼電器、路由器、網路存取點、基地台、類似裝置、及/或適於實行本文中闡述的功能、操作及/或過程的設備或實體的任何組合。此種功能、操作及/或過程可包括例如發射、接收、操作、處理、顯示、儲存、確定、創建/產生、監視、評估、比較、及/或本文中可互換使用的類似用語。在一個實施例中,該些功能、操作及/或過程可對資料、內容、資訊、及/或本文中可互換使用的類似用語實行。
如所指示的,在一個實施例中,管理計算實體500亦可包括用於例如藉由傳送資料、內容、資訊、及/或本文中可互換使用的可被進行發射、接收、操作、處理、顯示、儲存、及/或被進行類似操作的類似用語表達而與各種計算實體進行通訊的一或多個通訊介面620。舉例而言,管理計算實體500可與使用者設備510及/或各種其他計算實體進行通訊。
如圖6中所示,在一個實施例中,管理計算實體500可包括例如藉由匯流排而與管理計算實體500內的其他元件進行通訊的一或多個處理元件605(亦被稱為處理器、處理電路系統、及/或本文中可互換使用的類似用語)或者與所述一或多個處理元件605進行通訊。應理解,處理元件605可以多種不同的方式實施。舉例而言,處理元件605可被實施成一或多個複雜可程式化邏輯設備(CPLD)、微處理器、多核處理器、協處理實體、應用專用指令集處理器(application-specific instruction-set processor,ASIP)、微控制器、及/或控制器。此外,處理元件605可被實施成一或多個其他處理設備或電路系統。用語電路系統可指完全硬體的實施例或者硬體與電腦程式產品的組合。因此,處理元件605可被實施成積體電路、應用專用積體電路(ASIC)、現場可程式化閘陣列(FPGA)、可程式化邏輯陣列(programmable logic array,PLA)、硬體加速器、其他電路系統、及/或類似裝置。因此,應理解,處理元件605可被配置用於特定用途或者用以執行儲存於揮發性媒體或非揮發性媒體中或者可由處理元件605以其他方式存取的指令。如此一來,無論是由硬體或電腦程式產品配置亦或由其組合配置,當相應地進行配置時,處理元件605均可能夠實行根據本揭露實施例的步驟或操作。
在一個實施例中,管理計算實體500可更包括非揮發性媒體(亦被稱為非揮發性儲存器、記憶體、記憶體儲存器、記憶體電路系統、及/或本文中可互換使用的類似用語)或者與所述非揮發性媒體進行通訊。在一個實施例中,非揮發性儲存器或記憶體可包括一或多個非揮發性儲存或記憶媒體610,包括但不限於硬碟、ROM、PROM、EPROM、EEPROM、快閃記憶體、MMC、SD記憶卡、記憶棒、CBRAM、PRAM、FeRAM、NVRAM、MRAM、RRAM、SONOS、FJG RAM、馬陸記憶體(Millipede memory)、跑道記憶體(racetrack memory)、及/或類似記憶體。應認識到,非揮發性儲存或記憶媒體可儲存資料庫、資料庫例子、資料庫管理系統、資料、應用、程式、程式組件、腳本、原始碼、目標碼、位元組碼、編譯碼、解釋碼、機器碼、可執行指令、及/或類似物。用語資料庫、資料庫例子、資料庫管理系統、及/或本文中可互換使用的類似用語可指使用一或多個資料庫模型儲存於電腦可讀取儲存媒體中的記錄或資料的集合,所述資料庫模型例如分層資料庫模型、網路模型、關係模型、實體-關係模型、對象模型、文件模型、語義模型、圖形模型、及/或類似模型。
在一個實施例中,管理計算實體500可更包括揮發性媒體(亦被稱為揮發性儲存器、記憶體、記憶體儲存器、記憶體電路系統及/或本文中可互換使用的類似用語)或者與所述揮發性媒體進行通訊。在一個實施例中,揮發性儲存器或記憶體亦可包括一或多個揮發性儲存或記憶媒體615,包括但不限於RAM、DRAM、SRAM、FPM DRAM、EDO DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、RDRAM、TTRAM、T-RAM、Z-RAM、RIMM、DIMM、SIMM、VRAM、快取記憶體、暫存器記憶體、及/或類似記憶體。應認識到,揮發性儲存或記憶媒體可用於儲存由例如處理元件605執行的資料庫、資料庫例子、資料庫管理系統、資料、應用、程式、程式組件、腳本、原始碼、目標碼、位元組碼、編譯碼、解釋碼、機器碼、可執行指令、及/或類似物的至少部分。因此,資料庫、資料庫例子、資料庫管理系統、資料、應用、程式、程式組件、腳本、原始碼、目標碼、位元組碼、編譯碼、解釋碼、機器碼、可執行指令、及/或類似物可在處理元件605及作業系統的輔助下用於控制管理計算實體500的操作的某些態樣。
如所指示的,在一個實施例中,管理計算實體500亦可包括用於例如藉由傳送資料、內容、資訊、及/或可被進行發射、接收、操作、處理、顯示、儲存、及/或被進行類似操作的本文中可互換使用的類似用語表達而與各種計算實體進行通訊的一或多個通訊介面620。此種通訊可使用例如以下等有線資料傳輸協定來執行:快速周邊組件互連(PCIe)、光纖分佈式資料介面(fiber distributed data interface,FDDI)、數位用戶線路(digital subscriber line,DSL)、乙太網路、異步傳送模式(asynchronous transfer mode,ATM)、訊框中繼、纜上資料服務介面規格(data over cable service interface specification,DOCSIS)、或任何其他有線傳輸協定。類似地,管理計算實體500可用以使用例如以下等多種協定中的任意者經由無線外部通訊網路進行通訊:通用封包無線電服務(general packet radio service,GPRS)、通用行動電信系統(Universal Mobile Telecommunications System,UMTS)、碼分多重存取2000(Code-Division Multiple Access 2000,CDMA2000)、CDMA2000 1X(1x無線電傳輸技術(radio transmission technology,RTT))、寬頻碼分多重存取(Wideband Code Division Multiple Access,WCDMA)、時分同步碼分多重存取(Time Division-Synchronous Code Division Multiple Access,TD-SCDMA)、長期演進(Long Term Evolution,LTE)、演進通用陸地無線電存取網路(Evolved Universal Terrestrial Radio Access Network,E-UTRAN)、演進資料最佳化(Evolution-Data Optimized,EVDO)、高速封包存取(High Speed Packet Access,HSPA)、高速下行封包存取(High-Speed Downlink Packet Access,HSDPA)、IEEE 802.11(Wi-Fi)、Wi-Fi直連、802.16(全球互通微波存取(worldwide interoperability for microwave access,WiMAX))、超寬頻(Ultra-Wideband,UWB)、紅外(Infrared,IR)協定、近場通訊(near field communication,NFC)協定、紫蜂(ZigBee)、藍牙協定、5G協定、無線通用串列匯流排(universal serial bus,USB)協定、及/或任何其他無線協定。
儘管未示出,但管理計算實體500可包括一或多個輸入元件(例如鍵盤輸入、滑鼠輸入、觸控螢幕/顯示器輸入、運動輸入、移動輸入、音訊輸入、定點設備輸入、操縱桿輸入、小鍵盤輸入、及/或類似輸入)或者與所述一或多個輸入元件進行通訊。管理計算實體500亦可包括一或多個輸出元件(未示出)(例如音訊輸出、視訊輸出、螢幕/顯示器輸出、運動輸出、移動輸出、及/或類似輸出)或者與所述一或多個輸出元件進行通訊。
應理解,管理計算實體500中的一或多者的組件可遠離其他管理計算實體500組件定位,例如位於分佈式系統中。此外,一或多個組件可被組合且實行本文中闡述的功能的附加組件可包括於管理計算實體500中。因此,管理計算實體500可適於適應各種需要及環境。應認識到,該些架構及說明僅是出於示例性目的而提供的且並不限於各種實施例。
使用者可為個人、家庭、公司、組織、實體、組織內的部門、組織及/或個人的代表、及/或類似者。在一個實例中,使用者可為雇員、居民、顧客、及/或類似者。舉例而言,使用者可操作使用者設備510,使用者設備510包括功能上類似於管理計算實體500的一或多個組件的一或多個組件。
在各個態樣中,處理組件、發射組件及/或接收組件(未示出)可用以對一或多個進行操作,所述一或多個可包括管理計算實體500的功能性的態樣,如此處結合圖5及圖6示出及闡述。具體而言,處理組件、發射組件及/或接收組件可用以與一或多個處理元件605、記憶體610、揮發性記憶體615進行通訊,且可包括通訊介面620(例如,以有利於設備之間的通訊)。
圖7示出根據本揭露實例性實施例的使用者設備的實例性示意圖。圖7提供可結合本揭露的實施例使用的使用者設備710(例如,主機設備、儲存設備、周邊設備等)的例示性示意性代表團。一般而言,用語設備、系統、計算實體、實體、及/或本文中可互換使用的類似措詞可指例如一或多個電腦、計算實體、桌上型電腦、行動電話、平板電腦、大螢幕電話、筆記型電腦、膝上型電腦、分佈式系統、遊戲控制台(例如Xbox、遊戲站、Wii)、手錶、眼鏡、鑰煉、射頻識別(RFID)標籤、耳機、掃描儀、照相機、腕帶、資訊站、輸入終端、伺服器或伺服器網路、刀片、閘道、交換器、處理設備、處理實體、機上盒、繼電器、路由器、網路存取點、基地台、類似設備、及/或適於實行本文中闡述的功能、操作及/或過程的設備或實體的任何組合。使用者設備710可由各方操作。如圖7中所示,使用者設備710可包括天線712、發射器704(例如無線電)、接收器706(例如無線電)、及處理元件708(例如CPLD、FPGA、微處理器、多核處理器、協處理實體、ASIP、微控制器、及/或控制器),處理元件708分別向接收器706提供訊號及自發射器704接收訊號。
分別提供至接收器706及自發射器704接收的訊號可包括根據適用無線系統的空中介面標準的訊令資訊。在此方面,使用者設備710可能夠以一或多個空中介面標準、通訊協定、調變類型及存取類型進行操作。更具體而言,使用者設備710可根據多種無線通訊標準及協定(例如以上針對圖7所示管理計算實體700闡述的該些標準及協定)中的任意者進行操作。在特定實施例中,使用者設備710可根據例如以下等多種無線通訊標準及協定進行操作:所揭露的IoT DOCSIS協定、UMTS、CDMA2000、1xRTT、WCDMA、TD-SCDMA、LTE、E-UTRAN、EVDO、HSPA、HSDPA、5G、Wi-Fi、Wi-Fi直連、WiMAX、UWB、IR、NFC、藍牙、USB、及/或類似協定。類似地,使用者設備710可經由網路介面720根據多種有線通訊標準及協定(例如以上針對管理計算實體700闡述的該些標準及協定)進行操作。
藉由該些通訊標準及協定,使用者設備710可使用例如非結構化補充服務資料(Unstructured Supplementary Service Data,USSD)、短訊息服務(Short Message Service,SMS)、多媒體訊息處理服務(Multimedia Messaging Service,MMS)、雙音多頻訊令(Dual-Tone Multi-Frequency Signaling,DTMF)、及/或用戶身份組件撥號器(Subscriber Identity Component Dialer,SIM dialer)等概念與各種其他實體進行通訊。使用者設備710亦可下載例如對其韌體、軟體(例如包括可執行指令、應用、程式組件)及作業系統的改變、附加組件(add-on)及更新。
根據一個實施例,使用者設備710可包括位置確定態樣、設備、組件、功能性、及/或本文中可互換使用的類似措詞。舉例而言,使用者設備710可包括室外定位態樣,例如適於獲取例如緯度、經度、海拔、地理編碼、路線、方向、航向、速度、世界時(universal time,UTC)、日期及/或各種其他資訊/資料的定位組件(location component)。在一個實施例中,定位組件可藉由識別可見衛星的數目及該些衛星的相對位置來獲取資料,有時稱為星曆資料。衛星可為各種不同的衛星,包括低地球軌道(Low Earth Orbit,LEO)衛星系統、國防部(Department of Defense,DOD)衛星系統、歐盟伽利略定位系統(European Union Galileo positioning system)、中國羅盤導航系統、印度區域導航衛星系統(Indian Regional Navigational satellite system)、及/或類似系統。作為另一選擇,可藉由結合各種其他系統(包括蜂巢式塔、WiFi存取點、及/或類似物)對使用者設備710的位置進行三角量測來確定位置資訊。類似地,使用者設備710可包括室內定位態樣,例如適於獲取例如緯度、經度、海拔、地理編碼、路線、方向、航向、速度、時間、日期及/或各種其他資訊/資料的定位組件。室內系統中的一些室內系統可使用各種尋位(position)或定位技術,所述各種尋位或定位技術包括RFID標籤、室內信標或發射器、WiFi存取點、蜂巢式塔、附近的計算設備(例如智慧型電話、膝上型電腦)、及/或類似裝置。舉例而言,此種技術可包括伊巴康、萬向接近信標(Gimbal proximity beacon)、藍牙低能量(Bluetooth Low Energy,BLE)發射器、NFC發射器、及/或類似裝置。該些室內定位態樣可用於各種設定,以確定某人或某物在幾英吋或幾公分內的位置。
使用者設備710亦可包括使用者介面(使用者介面可包括耦合至處理元件708的顯示器716)及/或使用者輸入介面(耦合至處理元件708)。舉例而言,使用者介面可為在使用者設備710上執行及/或可藉由使用者設備710進行存取以與管理計算實體700進行交互及/或使得顯示來自管理計算實體700的資訊的使用者應用、瀏覽器、使用者介面及/或本文中可互換使用的類似措詞,如本文中所闡述。使用者輸入介面可包括使得使用者設備710能夠接收資料的多個設備或介面(例如小鍵盤718(硬的或軟的)、觸摸顯示器、聲音/語音或運動介面、或者其他輸入設備)中的任意者。在包括小鍵盤718的實施例中,小鍵盤718可包括(或使得顯示)傳統的數字(0至9)及相關鍵(#、*)、以及其他用於操作使用者設備710的鍵,且可包括完整的字母鍵集合或可被激活以提供完整的字母數字鍵集合的鍵集合。除了提供輸入之外,使用者輸入介面亦可用於例如激活或停用某些功能,例如螢幕保護器及/或睡眠模式。
使用者設備710亦可包括可為嵌入式的及/或可為可移除的揮發性儲存器或記憶體722及/或非揮發性儲存器或記憶體724。舉例而言,非揮發性記憶體可為ROM、PROM、EPROM、EEPROM、快閃記憶體、MMC、SD記憶卡、記憶棒、CBRAM、PRAM、FeRAM、NVRAM、MRAM、RRAM、SONOS、FJG RAM、馬陸記憶體(Millipede memory)、跑道記憶體(racetrack memory)、及/或類似記憶體。揮發性記憶體可為RAM、DRAM、SRAM、FPM DRAM、EDO DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、RDRAM、TTRAM、T-RAM、Z-RAM、RIMM、DIMM、SIMM、VRAM、快取記憶體、暫存器記憶體、及/或類似記憶體。揮發性及非揮發性儲存器或記憶體可儲存資料庫、資料庫例子、資料庫管理系統、資料、應用、程式、程式組件、腳本、原始碼、目標碼、位元組碼、編譯碼、解釋碼、機器碼、可執行指令、及/或類似物以實施使用者設備710的功能。如所指示的,此可包括駐留於實體上或可藉由瀏覽器或其他使用者介面進行存取的使用者應用,以用於與管理計算實體700及/或各種其他計算實體進行通訊。
在另一實施例中,使用者設備710可包括與管理計算實體700的組件或功能性相同或類似的一或多個組件或功能性,如以上所更詳細闡述。應認識到,該些架構及說明僅是出於示例性目的而提供的且並不限於各種實施例。
某些實施例可以硬體、韌體及軟體中的一者或其組合來實施。其他實施例亦可被實施成儲存於電腦可讀取儲存設備上的、可被至少一個處理器讀取並執行以實行本文中闡述的操作的指令。電腦可讀取儲存設備可包括用於以可由機器(例如,電腦)讀取的形式儲存資訊的任何非暫時性記憶體機制。舉例而言,電腦可讀取儲存設備可包括唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光學儲存媒體、快閃記憶體設備、以及其他儲存設備及媒體。
措詞「示例性的」在本文中用於意指「用作實例、例子或例示」。本文中闡述為「示例性」的任何實施例並不一定被解釋為相較於其他實施例更優選或更有利。本文中使用的用語「計算設備」、「使用者設備」、「通訊站」、「站」、「手持設備」、「行動設備」、「無線設備」及「使用者裝備(user equipment,UE)」是指無線通訊設備,例如蜂巢式電話、智慧型電話、平板電腦、隨身型易網機、無線終端、膝上型電腦、毫微微小區、高資料速率(High Data Rate,HDR)用戶站、存取點、列印機、銷售點設備、存取終端、或其他個人通訊系統(personal communication system,PCS)設備。所述設備可為行動的或固定的中的任一種狀態。
本文件中使用的用語「通訊」旨在包括發射或接收、或者發射及接收二者。當闡述由一個設備發射且由另一設備接收的資料的組織時,此在申請專利範圍中可能特別有用,但是侵犯申請專利範圍僅需要該些設備中的一者的功能性。類似地,兩個設備之間的雙向資料交換(在交換期間,兩個設備發射並接收)可被闡述為「正在通訊」,此時僅主張該些設備中的一者的功能性。本文中使用的針對無線通訊訊號的用語「正在通訊」包括正在發射無線通訊訊號及/或正在接收無線通訊訊號。舉例而言,能夠傳送無線通訊訊號的無線通訊單元可包括將無線通訊訊號發射至至少一個其他無線通訊單元的無線發射器、及/或自至少一個其他無線通訊單元接收無線通訊訊號的無線通訊接收器。
一些實施例可與例如以下等各種設備及系統結合使用:個人電腦(Personal Computer,PC)、桌上型電腦、行動電腦、膝上型電腦、筆記型電腦、平板電腦、伺服器電腦、手持式電腦、手持設備、個人數位助理(Personal Digital Assistant,PDA)設備、手持式PDA設備、車載設備(on-board device)、非車載設備(off-board device)、混合設備、車用設備(vehicular device)、非車用設備、行動或可攜式設備、消費者設備、非行動或非可攜式設備、無線通訊站、無線通訊設備、無線存取點(Access Point,AP)、有線或無線路由器、有線或無線數據機、視訊設備、音訊設備、音訊-視訊(audio-video,A/V)設備、有線或無線網路、無線區域網路、無線視訊區域網路(Wireless Video Area Network,WVAN)、區域網路(local area network,LAN)、無線LAN(Wireless LAN,WLAN)、個人區域網路(Personal Area Network,PAN)、無線PAN(Wireless PAN,WPAN)、及類似網路。
一些實施例可結合單向及/或雙向無線電通訊系統、蜂巢式無線電-電話通訊系統、行動電話、蜂巢式電話、無線電話、個人通訊系統(PCS)設備、結合無線通訊設備的PDA設備、行動或可攜式全球定位系統(Global Positioning System,GPS)設備、結合GPS接收器或收發器或晶片的設備、結合RFID元件或晶片的設備、多輸入多輸出(Multiple Input Multiple Output,MIMO)收發器或設備、單輸入多輸出(Single Input Multiple Output,SIMO)收發器或設備、多輸入單輸出(Multiple Input Single Output,MISO)收發器或設備、具有一或多個內部天線及/或外部天線的設備、數位視訊廣播(Digital Video Broadcast,DVB)設備或系統、多標準無線電設備或系統、有線或無線手持設備(例如,智慧型電話)、無線應用協定(Wireless Application Protocol,WAP)設備、或者類似設備。
一些實施例可與遵循一或多個無線通訊協定的例如以下等一或多種類型的無線通訊訊號及/或系統結合使用:射頻(Radio Frequency,RF)、紅外線(IR)、頻分多工(Frequency-Division Multiplexing,FDM)、正交FDM(Orthogonal FDM,OFDM)、時分多工(Time-Division Multiplexing,TDM)、時分多重存取(Time-Division Multiple Access,TDMA)、擴展TDMA(Extended TDMA,E-TDMA)、通用封包無線電服務(GPRS)、擴展GPRS、碼分多重存取(CDMA)、寬頻CDMA(WCDMA)、CDMA 2000、單載波CDMA、多載波CDMA、多載波調變(Multi-Carrier Modulation,MDM)、離散多音(Discrete Multi-Tone,DMT)、藍牙、全球定位系統(GPS)、Wi-Fi、Wi-Max、紫蜂 TM、超寬頻(UWB)、全球行動通訊系統(Global System for Mobile communication,GSM)、2G、2.5G、3G、3.5G、4G、第五代(5G)行動網路、第三代行動通訊合作計畫(3rd Generation Partnership Project,3GPP)、長期演進(LTE)、高級LTE、GSM增強資料速率演進(Enhanced Data rates for GSM Evolution,EDGE)、或類似裝置。其他實施例可用於各種其他設備、系統及/或網路。
儘管以上已闡述了實例性處理系統,但本文中闡述的標的物及功能操作的實施例可在其他類型的數位電子電路系統中實施,或者在電腦軟體、韌體或硬體(包括本說明書中揭露的結構及其結構等效物)中實施,或者在它們中的一或多者的組合中實施。
本文中闡述的標的物及操作的實施例可在數位電子電路系統中實施,或者在電腦軟體、韌體或硬體(包括本說明書中揭露的結構及其結構等效物)中實施,或者在它們中的一或多者的組合中實施。本文中闡述的標的物的實施例可被實施成一或多個電腦程式(即,被編碼於電腦儲存媒體上以用於由資訊/資料處理裝置執行或用於控制資訊/資料處理裝置的操作的電腦程式指令的一或多個組件。作為另一選擇或者另外,程式指令可被編碼於人工產生的傳播訊號(例如機器產生的電性訊號、光學訊號或電磁訊號)上,人工產生的傳播訊號是被產生用來對資訊/資料進行編碼,以用於發射至適合的接收器裝置,以由資訊/資料處理裝置執行。電腦儲存媒體可為或包括於電腦可讀取儲存設備、電腦可讀取儲存基板、隨機或串列存取記憶體陣列或設備、或者它們中的一或多者的組合中。此外,儘管電腦儲存媒體並非傳播訊號,但電腦儲存媒體可為被編碼於人工產生的傳播訊號中的電腦程式指令的來源或目的地。電腦儲存媒體亦可為或包括於一或多個分開的實體組件或媒體(例如多個CD、磁碟或其他儲存設備)中。
本文中闡述的操作可被實施成由資訊/資料處理裝置對儲存於一或多個電腦可讀取儲存設備上或自其他來源接收到的資訊/資料實行的操作。
用語「資料處理裝置」囊括用於對資料進行處理的所有種類的裝置、設備及機器,作為實例包括可程式化處理器、電腦、系統晶片、或前述物中的多者或組合。所述裝置可包括專用邏輯電路系統,例如FPGA(現場可程式化閘陣列)或ASIC(應用專用積體電路)。除了硬體之外,所述裝置亦可包括為所考慮的電腦程式創建執行環境的碼,例如構成處理器韌體、協定棧、資料庫管理系統、作業系統、跨平台運行時環境、虛擬機、或它們中的一或多者的組合的碼。所述裝置及執行環境可達成各種不同的計算模型基礎設施,例如網頁服務(web service)、分佈式計算及網格計算基礎設施。
電腦程式(亦被稱為程式、軟體、軟體應用、腳本或碼)可以任何形式的程式化語言(包括編譯或解釋語言、聲明性或過程性語言)來寫,並且它可以任何形式(包括作為單獨程式或作為組件、組件、子例程、對象、或其他適合於在計算環境中使用的單元)來部署。電腦程式可(但並非必須)與檔案系統中的檔案對應。程式可儲存於保存其他程式或資訊/資料(例如,儲存於標示語言文件中的一或多個腳本)的檔案的一部分中,儲存於專用於所考慮的程式的單個檔案中,或者儲存於多個協同檔案(例如,儲存一或多個組件、子程式、或碼的部分的檔案)中。電腦程式可被部署成在一台電腦上或位於一個站點處或跨越多個站點分佈並藉由通訊網路互連的多台電腦上執行。
本文中闡述的過程及邏輯流程可由執行一或多個電腦程式的一或多個可程式化處理器來實行,以藉由對輸入資訊/資料進行操作並產生輸出來實行動作。適合於執行電腦程式的處理器作為實例包括通用微處理器及專用微處理器二者、以及任何種類的數位電腦的任何一或多個處理器。一般而言,處理器將自唯讀記憶體或隨機存取記憶體、或者二者接收指令及資訊/資料。電腦的基本元件是根據指令實行動作的處理器以及用於儲存指令及資料的一或多個記憶體設備。一般而言,電腦亦將包含資訊/資料或者可操作地耦合以自用於儲存資料的一或多個大儲存器設備(例如磁碟、磁性-光碟、或光碟)接收資訊/資料或將資訊/資料傳送至所述一或多個大儲存器設備、或者進行所述兩種操作。然而,電腦不需要具有此種設備。適合於儲存電腦程式指令及資訊/資料的設備包括所有形式的非揮發性記憶體、媒體及記憶體設備,作為實例包括:半導體記憶體設備,例如EPROM、EEPROM及快閃記憶體設備;磁碟,例如內部硬碟或可移動碟;磁性-光碟;以及CD-ROM碟及DVD-ROM碟。處理器及記憶體可由專用邏輯電路系統來補充或併入專用邏輯電路系統中。
為了提供與使用者的交互,本文中闡述的標的物的實施例可在以下電腦上實施:所述電腦具有用於向使用者顯示資訊/資料的顯示設備(例如陰極射線管(cathode ray tube,CRT)或液晶顯示器(liquid crystal display,LCD)監視器)、以及鍵盤及定點設備(例如滑鼠或軌跡球),使用者可藉由所述鍵盤及定點設備向電腦提供輸入。亦可使用其他種類的設備來提供與使用者的交互;例如,提供給使用者的反饋可為任何形式的感官反饋(例如視覺反饋、聽覺反饋或觸覺反饋);且可以任何形式接收來自使用者的輸入(包括聽覺輸入、語音輸入或觸覺輸入)。另外,電腦可藉由向使用者所使用的設備發送文件及自使用者所使用的設備接收文件來與使用者進行交互;例如,藉由因應於自網頁瀏覽器接收到的請求,將網頁發送至使用者的客戶端設備上的網頁瀏覽器。
本文中闡述的標的物的實施例可在計算系統中實施,所述計算系統包括後端組件(back end component)(例如作為資訊/資料伺服器)、或者包括中介軟體組件(middleware component)(例如應用伺服器)、或者包括前端組件(front end component)(例如客戶端電腦,所述客戶端電腦具有圖形使用者介面或網頁瀏覽器,使用者可藉由圖形使用者介面或網頁瀏覽器與本文中闡述的標的物的實施例進行交互)、或者一或多個此種後端組件、中介軟體組件或前端組件的任意組合。系統的組件可藉由任何形式或媒體的數位資訊/資料通訊(例如通訊網路)進行互連。通訊網路的實例包括區域網路(「(LAN」)及廣域網路(「(wide area network,WAN)」)、內部網路(例如網際網路)、以及同級間網路(例如自組織同級間網路(ad hoc peer-to-peer network))。
計算系統可包括客戶端及伺服器。客戶端與伺服器一般而言彼此遠離且通常藉由通訊網路進行交互。客戶端與伺服器的關係是藉由運行於各自的電腦上且彼此具有客戶端-伺服器關係的電腦程式出現的。在一些實施例中,伺服器將資訊/資料(例如,超文件標示語言(Hyper Text Markup Language,HTML)頁面)發射至客戶端設備(例如,出於向與客戶端設備進行交互的使用者顯示資訊/資料並自所述使用者接收使用者輸入的目的)。可在伺服器處自客戶端設備接收在客戶端設備處產生的資訊/資料(例如,使用者交互的結果)。
儘管此說明書包含許多特定實施例細節,但該些細節不應被解釋為對任何實施例或可主張的範圍的限制,而是對具體實施例的特定特徵的說明。本文在分開的實施例的上下文中闡述的某些特徵亦可在單個實施例中組合實施。相反,在單個實施例的上下文中闡述的各種特徵亦可在多個實施例中分開實施或者在任何適合的子組合中實施。此外,儘管特徵可在以上被闡述為在某些組合中起作用且甚至最初被如此主張,但在一些情形中,來自所主張的組合的一或多個特徵可自所述組合被刪除,且所主張的組合可有關於子組合或子組合的變型。
類似地,儘管在圖式中以特定次序繪示出操作,但此不應被理解為要求以所示的特定次序或順序實行此些操作或者要求實行所有示出的操作以達成期望的結果。在某些情況下,多任務及平行處理可能是有利的。此外,上述實施例中的各種系統組件的分離不應被理解為在所有實施例中均要求此種分離,且應被理解成,所闡述的程式組件及系統一般而言可一起整合於單個軟體產品中或者封裝至多個軟體產品中。
因此,已闡述標的物的特定實施例。其他實施例處於以下申請專利範圍的範圍內。在一些情形中,申請專利範圍中列舉的動作可以不同的次序實行且仍然達成期望的結果。另外,附圖中繪示的過程並不一定要求所示的特定次序或順序來達成期望的結果。在某些實施例中,多任務及平行處理可能是有利的。
受益於前述說明及相關聯的圖式中提出的教示,熟習該些實施例所屬技術的人員將會想到本文中陳述的本揭露的許多修改及其他實施例。因此,應理解,實施例並不限於所揭露的特定實施例,且修改及其他實施例旨在包括於所附申請專利範圍的範圍內。儘管本文中採用特定的用語,但它們僅用於一般性及闡述性意義,而非出於限制的目的。
102:應用 103、110:檔案系統 104:RAID系統 106、108:儲存系統 112:鍵值儲存體 114、116、118、120:計算儲存器(CS) 115:RAID子系統 200:系統 202:應用/系統配置 204:應用相容性模組 206:靜態相容性檢查模組 208:動態相容性檢查模組 210:應用相容性檢查 212:儲存系統相容性檢查 214:RAID相容性檢查 216:檔案系統相容性檢查 218:檔案系統相容性測試 220:儲存系統相容性測試 222:RAID相容性測試 224:通過/內連線組構 226:失敗 301:第一資料對齊場景/圖 303:第二資料對齊場景/圖 304:處理單元 305、311:資料區塊(DB)表 306:區塊 307、310、313:檔案系統區塊 309、312、315:RAID條帶 400:過程 402、404:方塊 500:管理計算實體 505:網路 510、710:使用者設備 600:示意圖 605:處理元件 610:記憶體/非揮發性儲存或記憶媒體 615:記憶體/揮發性儲存或記憶媒體 620:通訊介面 704:發射器 706:接收器 708:處理元件 712:天線 716:顯示器 718:小鍵盤 720:網路介面 722:揮發性儲存器或記憶體 724:非揮發性儲存器或記憶體 B:檔案系統區塊尺寸/區塊/第二區塊/第三區塊 P:應用處理單元/部分/固定長度單元 P1、P2:處理單元 S:條帶/RAID條帶尺寸
當根據以下圖閱讀本申請案時,將更佳地理解本技術的上述態樣及其他態樣,在以下圖中,相同的編號指示類似或相同的元件。此外,本文中提供的圖式僅用於例示某些實施例的目的;未明確示出的其他實施例並不排除於本揭露的範圍之外。 參照說明書、申請專利範圍及圖式,將明白及理解本揭露的該些及其他特徵及優點,且在附圖中: 圖1示出根據本揭露實例性實施例的代表所揭露系統可在其中進行操作的計算儲存環境的實例性圖,所述環境包括主機應用、各種中間軟體層及各種中間硬體層、以及一或多個計算儲存設備。 圖2示出代表根據本揭露實例性實施例的用於應用相容性判斷的所揭露系統的實例性圖,所揭露系統包括用於計算儲存設備的各種子系統的粒度判斷(包括靜態相容性分析及動態相容性分析二者)的模組。 圖3示出代表根據本揭露實例性實施例的實例性場景的實例性圖,在所述實例性場景中,應用跨檔案系統及/或其他系統引起對統一處理單元的分割,此可使用所揭露的系統及方法來判斷及最佳化。 圖4是根據本揭露實例性實施例的另一示例性操作流程的圖示,所述另一示例性操作流程示出與用於應用相容性判斷的所揭露系統相關聯的實例性操作。 圖5示出可用於實踐本揭露的實施例的系統的實例性示意圖。 圖6示出根據本揭露實例性實施例的管理計算實體的實例性示意圖。 圖7示出根據本揭露實例性實施例的使用者設備的實例性示意圖。 儘管本技術易受各種修改及替代形式的影響,但其特定實施例在圖式中以實例的方式示出並將在本文中進行闡述。圖式可能並非按比例繪製。然而,應理解,圖式及其詳細說明並非旨在將本技術限制於所揭露的具體形式,而相反,其意圖是涵蓋所有的修改、等效物、以及落於所附申請專利範圍所界定的本技術的精神及範圍內的替代方案。
400:過程
402、404:方塊

Claims (20)

  1. 一種用於記憶體管理的方法,包括: 實行第一判斷,所述第一判斷包括: 將與儲存設備相關聯的第一參數和與應用相關聯的第二參數進行比較; 基於所述第一判斷實行第二判斷,其中所述第二判斷包括: 將資料插入至所述儲存設備的儲存分區中;以及 進行判斷以將與所述資料相關聯的最小處理單元儲存於所述儲存設備中。
  2. 如請求項1所述的方法,其中所述第一參數包括最小處理單元尺寸且所述第一參數包括可變長度單元或固定長度單元。
  3. 如請求項1所述的方法,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括檔案系統的區塊尺寸。
  4. 如請求項1所述的方法,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括檔案系統片段尺寸。
  5. 如請求項1所述的方法,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括獨立磁碟冗餘陣列條帶尺寸。
  6. 如請求項1所述的方法,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括鍵值對象尺寸。
  7. 一種用於記憶體管理的設備,包括: 一或多個處理器,用以: 實行第一判斷,所述第一判斷包括: 將與儲存設備相關聯的第一參數和與應用相關聯的第二參數進行比較; 基於所述第一判斷實行第二判斷,其中所述第二判斷包括: 將資料插入至所述儲存設備的儲存分區中;以及 進行判斷以將與所述資料相關聯的最小處理單元儲存於所述儲存設備中。
  8. 如請求項7所述的設備,其中所述第一參數包括最小處理單元尺寸且所述第一參數包括可變長度單元或固定長度單元。
  9. 如請求項7所述的設備,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括檔案系統的區塊尺寸。
  10. 如請求項7所述的設備,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括檔案系統片段尺寸。
  11. 如請求項7所述的設備,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括獨立磁碟冗餘陣列條帶尺寸。
  12. 如請求項7所述的設備,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括鍵值對象尺寸。
  13. 如請求項7所述的設備,其中所述設備包括計算儲存設備。
  14. 一種用於記憶體管理的非暫時性電腦可讀取媒體,所述非暫時性電腦可讀取媒體儲存指令集,所述指令集包括: 一或多個指令,所述一或多個指令在由設備的一或多個處理器執行時使得所述設備進行以下操作: 實行第一判斷,所述第一判斷包括: 將與儲存設備相關聯的第一參數和與應用相關聯的第二參數進行比較; 基於所述第一判斷實行第二判斷,其中所述第二判斷包括: 將資料插入至所述儲存設備的儲存分區中;以及 進行判斷以將與所述資料相關聯的最小處理單元儲存於所述儲存設備中。
  15. 如請求項14所述的非暫時性電腦可讀取媒體,其中所述第一參數包括最小處理單元尺寸且所述第一參數包括可變長度單元或固定長度單元。
  16. 如請求項14所述的非暫時性電腦可讀取媒體,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括檔案系統的區塊尺寸。
  17. 如請求項14所述的非暫時性電腦可讀取媒體,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括檔案系統片段尺寸。
  18. 如請求項14所述的非暫時性電腦可讀取媒體,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括獨立磁碟冗餘陣列條帶尺寸。
  19. 如請求項14所述的非暫時性電腦可讀取媒體,其中所述第一參數包括最小處理單元尺寸且所述第二參數包括鍵值對象尺寸。
  20. 如請求項14所述的非暫時性電腦可讀取媒體,其中所述設備包括計算儲存設備。
TW112108756A 2022-03-11 2023-03-09 用於記憶體管理的方法、設備以及非暫時性電腦可讀取媒體 TW202338595A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263319272P 2022-03-11 2022-03-11
US63/319,272 2022-03-11
US18/117,384 2023-03-03
US18/117,384 US20230289084A1 (en) 2022-03-11 2023-03-03 Systems and methods for checking data alignment between applications, file systems, and computational storage devices

Publications (1)

Publication Number Publication Date
TW202338595A true TW202338595A (zh) 2023-10-01

Family

ID=85570190

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112108756A TW202338595A (zh) 2022-03-11 2023-03-09 用於記憶體管理的方法、設備以及非暫時性電腦可讀取媒體

Country Status (4)

Country Link
US (1) US20230289084A1 (zh)
EP (1) EP4242820A1 (zh)
KR (1) KR20230133791A (zh)
TW (1) TW202338595A (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772787B2 (en) * 2014-03-31 2017-09-26 Amazon Technologies, Inc. File storage using variable stripe sizes
US10437486B2 (en) * 2016-05-24 2019-10-08 Samsung Electronics Co., Ltd. Method and apparatus for tenant-aware storage sharing platform
CN111625546B (zh) * 2020-05-07 2022-08-19 苏州浪潮智能科技有限公司 一种数据写入方法、装置、设备、介质
CN111752482A (zh) * 2020-05-28 2020-10-09 苏州浪潮智能科技有限公司 一种全闪存分布式存储系统中写数据的方法及系统

Also Published As

Publication number Publication date
US20230289084A1 (en) 2023-09-14
KR20230133791A (ko) 2023-09-19
EP4242820A1 (en) 2023-09-13

Similar Documents

Publication Publication Date Title
US20210397577A1 (en) Systems and methods for communications within a storage chassis
US9384199B2 (en) Distributed file system
US9940042B2 (en) Distributed storage system, and data-access method therefor
EP3941022B1 (en) Systems and methods for storage-efficient sensors
US9454331B1 (en) Cluster file system with a burst buffer appliance for coordinated control of data movement among storage tiers across a plurality of object storage servers
US9659019B1 (en) Burst buffer appliance with storage tiering control functionality based on user specification
EP4086747A1 (en) Systems, methods, and apparatus for computational storage functions
EP4130971A1 (en) Systems, methods, and apparatus for the management of device local memory
CN103795806A (zh) 一种面向移动终端的云存储实现方法
US20210103520A1 (en) System and method for inline tiering of write data
TW202338595A (zh) 用於記憶體管理的方法、設備以及非暫時性電腦可讀取媒體
AU2022200319A9 (en) Systems and methods for data transfer for computational storage devices
US20240176750A1 (en) Systems, methods, and apparatus for memory protection for computational storage devices
EP4350500A1 (en) Systems, methods, and apparatus for transferring programs for computational storage devices
US10454751B1 (en) Cluster file system with a burst buffer appliance for controlling movement of data among storage tiers
EP4155895A1 (en) Systems and methods for near-storage processing in solid state drives
CN116737063A (zh) 用于存储器管理的方法和装置
CN118114317A (zh) 电子系统以及用于管理存储器的方法和装置
KR20240081422A (ko) 연산 스토리지 장치의 메모리 보호를 위한 시스템, 방법 및 장치
CN117908770A (zh) 用于传送计算存储设备的程序的系统、方法和装置
US11748181B2 (en) System and method for efficient scalable software-defined NVMEoF front-end connectivity
KR20220161895A (ko) 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법