TWI735585B - 具有網路功能的資料管理電路及基於網路的資料管理方法 - Google Patents

具有網路功能的資料管理電路及基於網路的資料管理方法 Download PDF

Info

Publication number
TWI735585B
TWI735585B TW106117532A TW106117532A TWI735585B TW I735585 B TWI735585 B TW I735585B TW 106117532 A TW106117532 A TW 106117532A TW 106117532 A TW106117532 A TW 106117532A TW I735585 B TWI735585 B TW I735585B
Authority
TW
Taiwan
Prior art keywords
storage device
network
processor
data management
control unit
Prior art date
Application number
TW106117532A
Other languages
English (en)
Other versions
TW201902183A (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 TW106117532A priority Critical patent/TWI735585B/zh
Priority to CN201710691355.3A priority patent/CN108965368B/zh
Priority to US15/941,699 priority patent/US10645166B2/en
Publication of TW201902183A publication Critical patent/TW201902183A/zh
Application granted granted Critical
Publication of TWI735585B publication Critical patent/TWI735585B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1737Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in 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/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
    • G06F3/0643Management of files
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/263Network storage, e.g. SAN or NAS

Abstract

本案揭露一種具有網路功能的資料管理電路及基於網路的資料管理方法。基於網路的資料管理方法用於管理與一電腦耦接之一儲存裝置,該電腦包含一處理器。該方法包含:透過網路接收一網路封包;依據該網路封包之一網路標頭,將該網路封包傳送至該處理器,或存取該儲存裝置;以及依據該儲存裝置的剩餘容量及/或網路封包的內容,通知該處理器存取該儲存裝置。

Description

具有網路功能的資料管理電路及基於網路的資料管理方法
本案是關於資備份與資料取用,尤其是關於基於網路的資料管理電路及資料管理方法。
個人雲端(personal cloud)系統通常透過所謂的網路儲存硬碟 (network attached storage, NAS)或者專有的伺服器 (server) 來達成,然而設定這些個人雲端系統通常需要繁雜的程序才有辦法達成。再者,如果要讓個人電腦存取個人雲端系統也需要許多額外的設定。這種個人雲端系統雖然可以提供強大的檔案存取功能,但是使用上並不是非常直覺與便利,有時候使用者必須額外購買專屬設備,甚至於提供專屬網路,才能夠建置屬於自己的個人雲端系統。
鑑於先前技術之不足,本案之一目的在於提供一種具有網路功能的資料管理電路,以提供使用者架設設定簡單、低成本以及低耗電的個人雲端系統。
本案揭露一種具有網路功能的資料管理電路,耦接一電腦的一處理器並為該電腦提供網路連線能力。該具有網路功能的資料管理電路包含一網路介面、一記憶體、一第一資料傳輸介面、一第二資料傳輸介面以及一控制單元。記憶體儲存有複數個程式指令。控制單元透過該第一資料傳輸介面耦接該處理器以及透過該第二資料傳輸介面耦接一儲存裝置。控制單元並執行該些程式指令以進行以下步驟:從該網路介面接收一網路封包;依據該網路封包之一網路標頭,將該網路封包透過該第一資料傳輸介面傳送至該處理器,或存取該儲存裝置;以及依據該儲存裝置的剩餘容量及/或該網路封包的內容,通知該處理器存取該儲存裝置。
本案另揭露一種基於網路的資料管理方法,用於管理與一電腦耦接之一儲存裝置,該電腦包含一處理器。該方法包含:透過網路接收一網路封包;依據該網路封包之一網路標頭,將該網路封包傳送至該處理器,或存取該儲存裝置;以及依據該儲存裝置的剩餘容量及/或該網路封包的內容,通知該處理器存取該儲存裝置。
本案之具有網路功能的資料管理電路能夠輕易地與個人電腦結合以實現個人雲端系統。本案利用混合式(或稱階層式)的儲存模式,使個人電腦休眠或關機的狀態下維持個人雲端系統的功能。相較於習知技術,本案有助於快速建構低成本且低耗電的個人雲端系統。
有關本案的特徵、實作與功效,茲配合圖式作實施例詳細說明如下。
以下說明內容之技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
本案之揭露內容包含具有網路功能的資料管理電路及基於網路的資料管理方法。由於本案之具有網路功能的資料管理電路所包含之部分元件單獨而言可能為已知元件,因此在不影響該裝置實施例之充分揭露及可實施性的前提下,以下說明對於已知元件的細節將予以節略。此外,本案之基於網路的資料管理方法的部分或全部流程可以是軟體及/或韌體之形式,並且可藉由本案之具有網路功能的資料管理電路或其等效裝置來執行,在不影響該方法實施例之充分揭露及可實施性的前提下,以下方法實施例之說明將著重於步驟內容而非硬體。
圖1係依據本案一實施例之個人雲端系統的示意圖。個人雲端系統10包含處理器100、具有網路功能的資料管理電路200、儲存裝置300以及儲存裝置400。個人雲端系統10可以建構在個人電腦(例如桌上型電腦、筆記型電腦)之上,在此情況下,處理器100係該個人電腦的中央處理單元,儲存裝置300及儲存裝置400係該個人電腦內部或外接的儲存裝置,具有網路功能的資料管理電路200則提供個人電腦網路連線的功能以及負責個人雲端系統10的資料存取機制。處理器100負責執行個人電腦的作業系統。具有網路功能的資料管理電路200具有獨立存取儲存裝置300的能力,也就是說,其不需要透過處理器100即可存取儲存裝置300。詳言之,具有網路功能的資料管理電路200包含控制單元,該控制單元執行作業系統或韌體來獨立存取儲存裝置300。因此,無論個人電腦處於一般操作模式(例如處理器100正在執行作業系統且可隨時存取儲存裝置400,此時個人電腦處於高耗電狀態),或是關機或處於休眠模式(此時處理器100及儲存裝置400不運作,個人電腦處於低耗電或不耗電狀態),只要具有網路功能的資料管理電路200取得電力(從個人電腦的電源供應器或其他管道取得),具有網路功能的資料管理電路200便能存取儲存裝置300、傳送網路封包至網路以及從網路接收網路封包。
在一些實施例中,網路封包亦可稱作資料封包。
行動電子裝置20為具有網路連線能力的可攜式電子裝置,例如智慧型手機、平板電腦、筆記型電腦等。行動電子裝置20可透過網路將資料或檔案備份至個人雲端系統10,或是讀取個人雲端系統10上的資料或檔案。本案所使用的網路可以是有線網路或無線網路。
圖2為本案具有網路功能的資料管理電路200的細部功能方塊圖。具有網路功能的資料管理電路200包含控制單元210、記憶體220、網路介面230、資料傳輸介面240以及資料傳輸介面250。控制單元210透過資料傳輸介面240與處理器100的資料傳輸介面110連接。在一個實施例中,資料傳輸介面110及資料傳輸介面240可以是快速周邊組件互連(peripheral component interconnect express,PCI-express,以下簡稱PCIe)介面或處理器100所支援的其他介面。控制單元210透過資料傳輸介面250連接儲存裝置300。儲存裝置300可以透過資料傳輸介面250取得電力,或由其他方式取得電力。控制單元210透過網路介面230從網路接收網路封包,或將網路封包透過網路介面230傳送至網路。網路介面230可以是有線網路介面(例如RJ45插槽)或無線網路介面(例如Wi-Fi)。記憶體220儲存有程式指令,控制單元210執行該些程式指令來實現具有網路功能的資料管理電路200的功能,該功能包含:存取網路、存取儲存裝置300、資料管理(例如個人雲端系統10的資料存取機制)以及與處理器100溝通。處理器100可以透過具有網路功能的資料管理電路200存取儲存裝置300,而處理器100何時可以存取儲存裝置300則由控制單元210控制。
圖3A~3C為本案之基於網路的資料管理方法的一實施例的流程圖。具有網路功能的資料管理電路200的操作細節將透過此流程圖詳加說明。當具有網路功能的資料管理電路200的控制單元210透過網路介面230從網路接收一網路封包(步驟S310)後,先判斷網路封包的網路標頭(network header)是否符合預設條件(步驟S320)。網路標頭包含連接埠號碼(port number)、網際網路協定位址(internet protocol address, IP address)、媒體存取控制位址(media access control address, MAC address)及傳輸控制協定(transmission control protocol, TCP)或用戶資料報協定(user datagram protocol, UDP)標頭的其中之一或其組合。以連接埠號碼為例,假設預設條件為連接埠號碼等於80,則凡是非透過連接埠80傳送的網路封包皆被控制單元210視為傳送給處理器100所執行之作業系統的封包(亦即步驟S320為否),控制單元210接著便將網路封包(包含網路標頭以及封包內容)傳送至個人電腦的處理器100 (步驟S330)。如果網路標頭符合預設條件(步驟S320為是),則控制單元210在步驟S340中進一步判斷網路封包的內容係指示將資料寫入儲存裝置300(例如行動電子裝置20將資料備份到個人雲端系統10),或是指示從儲存裝置300讀取資料(例如行動電子裝置20想取得個人雲端系統10上的資料)。上述的預設條件可由行動電子裝置20上執行的應用程式及具有網路功能的資料管理電路200的作業系統或韌體之間預先定義,且此預設條件可以是多重組合或是單一條件。
在步驟S340中當網路封包對應寫入操作,則流程進入圖3B,控制單元210判斷儲存裝置300的剩餘容量(亦即可用的儲存空間)是否小於一門檻值(步驟S351)。此門檻值例如與待寫入檔案的大小有關及/或與儲存裝置300的總容量有關。如果步驟S351為否(代表儲存裝置300尚有足夠的空間儲存待寫入檔案),則控制單元210將網路封包的內容寫入儲存裝置300(步驟S356)。如前所述,步驟S356可於個人電腦處於一般操作模式、休眠模式或關機時執行。待寫入檔案可能由一個或一個以上的網路封包組成。步驟S356完成後,控制單元210即完成對該網路封包的處理,接下來可以繼續處理下一個網路封包。如果步驟S351為是,則控制單元210判斷個人電腦是否休眠或關機(步驟S352)。當步驟S352為是,則控制單元210接著喚醒或啟動個人電腦(步驟S353)。當步驟S352為否或步驟S353執行完畢(兩者皆代表個人電腦此時處於一般的操作狀態,即處理器100正在執行作業系統且存取儲存裝置400),控制單元210通知處理器100將儲存裝置300的部分或全部資料搬移到儲存裝置400(步驟S354),以使儲存裝置300有更多的可用空間。當控制單元210得知處理器100需要存取儲存裝置300時,其允許處理器100存取儲存裝置300。在一實施例中,資料傳輸介面250可以是通用序列匯流排(universal serial bus, USB)介面且儲存裝置300可以是支援熱插拔的USB儲存裝置(例如USB隨身碟、USB硬碟、或任何透過USB介面轉換的記憶卡),此時控制單元210利用開放主機控制介面(open host controller interface, OHCI) 通用主機控制介面(universal host controller interface, UHCI)、增強型主機控制介面(enhanced host controller interface, EHCI)或可擴充型主機控制介面(eXtensible host controller interface, XHCI)等標準將具有網路功能的資料管理電路200模擬成USB主機(USB host),使處理器100所執行的作業系統能夠認得儲存裝置300此一USB裝置(USB device),並透過具有網路功能的資料管理電路200對其進行存取。此技術為本技術領域具有通常知識者所熟知,故不再贅述。步驟S354的通知動作可以是控制單元210透過改變暫存器的值或以訊息傳送的方式來與處理器100溝通。在一些實施例中,個人電腦上安裝有一常駐程式(software daemon)或背景程式,來協助處理器 100 與控制單元 210 溝通,並且處理資料搬移的動作,待搬移的資料及搬移的目的地可以由具有網路功能的資料管理電路200的作業系統或韌體與個人電腦上的常駐程式或背景程式互相溝通後決定,搬移資料的動作可由常駐程式或背景程式執行。資料搬移完成後,常駐程式或背景程式不再控制儲存裝置300(例如控制單元210不允許處理器100存取儲存裝置300)。接下來,控制單元210選擇性地透過常駐程式或背景程式使個人電腦休眠或關機(步驟S355),接著執行步驟S356以完成對此網路封包的處理。
在一些實施例中,於步驟S351中,除了檢查儲存裝置300的剩餘容量是否小於門檻值外,也會檢查儲存裝置400的可用容量是否小於門檻值或小於儲存裝置300的剩餘容量。若儲存裝置400的可用容量小於門檻值或小於儲存裝置300的剩餘容量,控制單元210將藉由網路介面230傳送容量不足的訊息至行動電子裝置20。
在步驟S340中當網路封包對應讀取操作,則流程進入圖3C,控制單元210判斷儲存裝置300是否儲存有網路封包所指示的檔案(步驟S361)。當步驟S361為是,控制單元210從儲存裝置300讀取該檔案(步驟S366),接著透過網路傳送該檔案至行動電子裝置20(步驟S367)。步驟S366及S367可於個人電腦處於一般操作模式、休眠模式或關機時執行。當步驟S361為否,控制單元210接著執行步驟S362及選擇性地執行步驟S363。步驟S362及步驟S363與步驟S352及步驟S353類似,故不再贅述。在步驟S364中,控制單元210通知個人電腦的處理器從儲存裝置400讀取該檔案,並將該檔案寫入儲存裝置300(例如由個人電腦上的常駐程式或背景程式執行)。在步驟S364中,控制單元210與處理器100溝通的實作方式與步驟S354類似,故不再贅述。步驟S364完成後,常駐程式或背景程式不再控制儲存裝置300。接下來,控制單元210選擇性地執行步驟S365,並執行步驟S366及S367以傳送該檔案給行動電子裝置20。
在一些實施例中,於圖3A~3C的流程中,控制單元210於步驟S351及S361暫時不允許處理器100存取儲存裝置300。控制單元210於處理器100需要存取儲存裝置300時(例如步驟S354及S364)暫時允許處理器100可以存取儲存裝置300,並於之後控制單元210需要存取儲存裝置300時(例如步驟S356及S366)不允許處理器100存取儲存裝置300。
圖4係依據本案另一實施例之個人雲端系統的示意圖。個人雲端系統40包含處理器100、具有網路功能的資料管理電路500、切換電路600、儲存裝置300以及儲存裝置400。個人雲端系統40可以建構在個人電腦之上,具有網路功能的資料管理電路500提供個人電腦網路連線的功能以及負責個人雲端系統40的資料存取機制。同樣的,具有網路功能的資料管理電路500具有獨立存取儲存裝置300的能力,也就是說,具有網路功能的資料管理電路500不需要透過處理器100即可存取儲存裝置300。詳言之,具有網路功能的資料管理電路500包含控制單元,該控制單元執行作業系統或韌體來獨立存取儲存裝置300。處理器100及具有網路功能的資料管理電路500皆透過切換電路600耦接儲存裝置300,切換電路600將儲存裝置300與處理器100或具有網路功能的資料管理電路500連接。也就是說,切換電路600決定處理器100及具有網路功能的資料管理電路500的其中一者可存取儲存裝置300。
圖5為本案具有網路功能的資料管理電路500的細部功能方塊圖。具有網路功能的資料管理電路500包含控制單元510、記憶體520、網路介面530、資料傳輸介面540、資料傳輸介面550以及通用型之輸入輸出(general-purpose input/output, GPIO)560。控制單元510透過資料傳輸介面540與處理器100的資料傳輸介面110連接。在一個實施例中,資料傳輸介面110及資料傳輸介面540可以是PCIe介面或處理器所支援的其他介面。控制單元510透過資料傳輸介面550耦接切換電路600,處理器100透過資料傳輸介面120耦接切換電路600。儲存裝置300可以透過資料傳輸介面550或資料傳輸介面120取得電力,亦可由其他方式取得電力。控制單元510透過網路介面530從網路接收網路封包,或將網路封包透過網路介面530傳送至網路。網路介面530可以是有線網路介面或無線網路介面。記憶體520儲存有程式指令,控制單元510執行該些程式指令來實現具有網路功能的資料管理電路500的功能,該功能包含:存取網路、存取儲存裝置300、資料管理(例如個人雲端系統40的資料存取機制)以及與處理器100溝通。控制單元510透過GPIO 560控制切換電路600的切換。
具有網路功能的資料管理電路500的操作細節同樣可對應至圖3A~3C的流程圖,各步驟的細節不再贅述。然而,對個人雲端系統40而言,於步驟S351及步驟S361,控制單元510更判斷當時切換電路600將儲存裝置300連接至處理器100或具有網路功能的資料管理電路500。如果當時切換電路600將儲存裝置300連接至處理器100,則控制單元510控制切換電路600進行切換,以使得其本身能夠存取儲存裝置300。類似地,在步驟S354及S364中,控制單元510亦會控制切換電路600進行切換,以使得處理器100能夠存取儲存裝置300,並於之後的步驟S356及S366中,再次控制切換電路600進行切換,以使得其本身能夠存取儲存裝置300。在一些實施例中,資料傳輸介面120及資料傳輸介面550可以是USB介面且儲存裝置300可以是支援熱插拔的USB儲存裝置,此時切換電路600為USB切換器(USB switch)。
具有網路功能的資料管理電路200及500也可以在未收到網路封包時,以固定時間間隔執行步驟S351(例如以輪詢(polling)的方式)。在不同的實施例中,儲存裝置400亦有可能位於遠端(例如伺服器上的儲存裝置)。前述的喚醒或啟動個人電腦可以利用網路喚醒的技術,包含遠端喚醒(wake on wan, WOW)及本地喚醒(wake on lan, WOL)。
綜上所述,本案利用混合式(或稱階層式)的儲存模式(亦即利用二個或二個以上的儲存裝置來交互支援檔案的備份與取用),來完成低成本且低耗電個人雲系統。相較於個人雲端系統40,個人雲端系統10不需使用切換電路600,因此更具有成本優勢,控制邏輯也更加簡單。
由於本技術領域具有通常知識者可藉由本案之裝置實施例的揭露內容來瞭解本案之方法實施例的實施細節與變化,因此,為避免贅文,在不影響該方法實施例之揭露要求及可實施性的前提下,重複之說明在此予以節略。請注意,前揭圖示中,元件之形狀、尺寸、比例以及步驟之順序等僅為示意,係供本技術領域具有通常知識者瞭解本案之用,非用以限制本案。
雖然本案之實施例如上所述,然而該些實施例並非用來限定本案,本技術領域具有通常知識者可依據本案之明示或隱含之內容對本案之技術特徵施以變化,凡此種種變化均可能屬於本案所尋求之專利保護範疇,換言之,本案之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
10、40‧‧‧個人雲端系統20‧‧‧行動電子裝置100‧‧‧處理器110、120‧‧‧資料傳輸介面200、500‧‧‧具有網路功能的資料管理電路210、510‧‧‧控制單元220、520‧‧‧記憶體230、530‧‧‧網路介面240、540、250、550‧‧‧資料傳輸介面300、400‧‧‧儲存裝置560‧‧‧GPIO600‧‧‧切換電路S310~S340、S351~S356、S361~S367‧‧‧步驟
[圖1]為依據本案一實施例之個人雲端系統的示意圖; [圖2]為本案具有網路功能的資料管理電路的功能方塊圖; [圖3A~3C]為本案之基於網路的資料管理方法的一實施例的流程圖; [圖4]為依據本案另一實施例之個人雲端系統的示意圖;以及 [圖5]為本案另一實施例之具有網路功能的資料管理電路的功能方塊圖。
100‧‧‧處理器
110‧‧‧資料傳輸介面
200‧‧‧具有網路功能的資料管理電路
210‧‧‧控制單元
220‧‧‧記憶體
230‧‧‧網路介面
240、250‧‧‧資料傳輸介面
300‧‧‧儲存裝置

Claims (8)

  1. 一種具有網路功能的資料管理電路,耦接一電腦的一處理器並為該電腦提供網路連線能力,包含:一網路介面;一記憶體,儲存有複數個程式指令;一第一資料傳輸介面;一第二資料傳輸介面;以及一控制單元,耦接該記憶體,並透過該第一資料傳輸介面耦接該處理器以及透過該第二資料傳輸介面耦接一儲存裝置,執行該些程式指令以進行以下步驟:從該網路介面接收一網路封包;依據該網路封包之一網路標頭,將該網路封包透過該第一資料傳輸介面傳送至該處理器,或存取該儲存裝置;以及當該儲存裝置的剩餘容量小於一門檻值時,或當該儲存裝置未存有該網路封包的內容所指示之一檔案時,通知該處理器存取該儲存裝置。
  2. 如申請專利範圍第1項所述之資料管理電路,其中該儲存裝置係一第一儲存裝置,該電腦包含耦接該處理器之一第二儲存裝置,且當該第一儲存裝置的剩餘容量小於該門檻值時,該控制單元通知該處理器將該第一儲存裝置的部分或全部資料搬移至該第二儲存裝置。
  3. 如申請專利範圍第1項所述之資料管理電路,其中該儲存裝置係一第一儲存裝置,該電腦包含耦接該處理器之一第二儲存裝置,且當該第一儲存裝置未存有該網路封包的內容所指示之該檔案時,該控制單元通知該處理器從該第二儲存裝置讀取該檔案,並將該檔案寫入該第一儲存裝置。
  4. 如申請專利範圍第1項所述之資料管理電路,其中該處理器及該第二資料傳輸介面透過一切換電路與該儲存裝置耦接,該切換電路將該儲存裝置連接該處理器或該控制單元,該控制單元更進行以下步驟:當該處理器需要存取該儲存裝置時,控制該切換電路連接該處理器與該儲存裝置。
  5. 如申請專利範圍第1項所述之資料管理電路,其中該處理器係透過該控制單元耦接該儲存裝置,該控制單元決定該處理器是否可以存取該儲存裝置,該控制單元更進行以下步驟:當該處理器需要存取該儲存裝置時,允許該處理器存取該儲存裝置。
  6. 如申請專利範圍第1項所述之資料管理電路,其中該控制單元係於該電腦睡眠或關機時將該網路封包的內容透過該第二資料傳輸介面傳輸至該儲存裝置,該控制單元更進行以下步驟:依據該儲存裝置的剩餘容量或該網路封包的內容喚醒或啟動該電腦。
  7. 如申請專利範圍第1項所述之資料管理電路,其中該第二資料傳輸介面係為一通用序列匯流排介面,該儲存裝置係一支援熱插拔的外接式通用序列匯流排儲存裝置。
  8. 一種基於網路的資料管理方法,用於管理與一電腦耦接之一儲存裝置,該電腦包含一處理器,該方法包含:透過網路接收一網路封包;依據該網路封包之一網路標頭,將該網路封包傳送至該處理器,或存取該儲存裝置;以及當該儲存裝置的剩餘容量小於一門檻值時,或當該儲存裝置未存有該網路封包的內容所指示之一檔案時,通知該處理器存取該儲存裝置。
TW106117532A 2017-05-26 2017-05-26 具有網路功能的資料管理電路及基於網路的資料管理方法 TWI735585B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW106117532A TWI735585B (zh) 2017-05-26 2017-05-26 具有網路功能的資料管理電路及基於網路的資料管理方法
CN201710691355.3A CN108965368B (zh) 2017-05-26 2017-08-14 具有网络功能的数据管理电路及基于网络的数据管理方法
US15/941,699 US10645166B2 (en) 2017-05-26 2018-03-30 Network interface card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106117532A TWI735585B (zh) 2017-05-26 2017-05-26 具有網路功能的資料管理電路及基於網路的資料管理方法

Publications (2)

Publication Number Publication Date
TW201902183A TW201902183A (zh) 2019-01-01
TWI735585B true TWI735585B (zh) 2021-08-11

Family

ID=64401895

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106117532A TWI735585B (zh) 2017-05-26 2017-05-26 具有網路功能的資料管理電路及基於網路的資料管理方法

Country Status (3)

Country Link
US (1) US10645166B2 (zh)
CN (1) CN108965368B (zh)
TW (1) TWI735585B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI735050B (zh) * 2019-10-09 2021-08-01 宜鼎國際股份有限公司 資料儲存裝置、電子設備及可遠端控制電子設備的系統
TWI807193B (zh) * 2020-06-12 2023-07-01 佳易科技股份有限公司 虛擬私人網路連線方法以及應用該方法的儲存卡裝置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968203A (zh) * 2006-08-31 2007-05-23 孙利 一种基于AoE协议的网络存储设备及其数据处理方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826613B1 (en) * 2000-03-15 2004-11-30 3Com Corporation Virtually addressing storage devices through a switch
US8010469B2 (en) * 2000-09-25 2011-08-30 Crossbeam Systems, Inc. Systems and methods for processing data flows
US7142540B2 (en) * 2002-07-18 2006-11-28 Sun Microsystems, Inc. Method and apparatus for zero-copy receive buffer management
KR100560645B1 (ko) * 2002-12-17 2006-03-16 삼성전자주식회사 메모리 사용 정보를 표시하는 유에스비 플래시 메모리 장치
CN1516026A (zh) * 2003-01-02 2004-07-28 太和科技股份有限公司 可立即侦测剩余存储器容量的储存装置及其方法
JP3989383B2 (ja) * 2003-02-06 2007-10-10 富士通株式会社 情報処理装置、情報処理システム、プログラム、ゲートウェイカード、ゲートウェイ装置およびゲートウェイ制御プログラム
US8612570B1 (en) * 2006-09-18 2013-12-17 Emc Corporation Data classification and management using tap network architecture
US8078768B2 (en) * 2008-08-21 2011-12-13 Qualcomm Incorporated Universal Serial Bus (USB) remote wakeup
KR101221045B1 (ko) * 2008-12-22 2013-01-10 한국전자통신연구원 패킷 처리 방법 및 이를 이용한 toe 장치
US20100332401A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US20110258461A1 (en) * 2010-04-16 2011-10-20 Twinstrata, Inc System and method for resource sharing across multi-cloud arrays
US20120030343A1 (en) * 2010-07-29 2012-02-02 Apple Inc. Dynamic migration within a network storage system
US9049176B2 (en) * 2011-06-22 2015-06-02 Dropbox, Inc. File sharing via link generation
TWI430614B (zh) * 2011-10-21 2014-03-11 Realtek Semiconductor Corp 網路裝置、應用於網路裝置之網路通知裝置以及網路通知方法
US20130215756A1 (en) * 2012-02-17 2013-08-22 Electronics And Telecommunications Research Institute Apparatus and method for managing contents cache considering network cost
US9917865B2 (en) * 2012-10-16 2018-03-13 Citrix Systems, Inc. Systems and methods for bridging between public and private clouds through multilevel API integration
CN104052770A (zh) * 2013-03-13 2014-09-17 鸿富锦精密工业(深圳)有限公司 存储空间扩展系统及方法
US20190026041A1 (en) * 2013-04-01 2019-01-24 International Business Machines Corporation Shutting down storage units or drives when below threshold in a distributed storage system
CN105099944B (zh) * 2014-04-22 2018-08-17 华为技术有限公司 一种缓存数据的方法及转发设备
US9645902B2 (en) * 2014-06-23 2017-05-09 Liqid Inc. Modular switched fabric for data storage systems
SG11201701440SA (en) * 2014-10-03 2017-04-27 Agency Science Tech & Res Distributed active hybrid storage system
US10198183B2 (en) * 2015-02-06 2019-02-05 Liqid Inc. Tunneling of storage operations between storage nodes
US10044634B2 (en) * 2016-08-01 2018-08-07 International Business Machines Corporation Packet capture ring: reliable, scalable packet capture for security applications
CN107783726B (zh) * 2016-08-31 2019-11-12 华为技术有限公司 存储系统和存储系统中传输信号的方法
US10230544B1 (en) * 2016-11-23 2019-03-12 Pure Storage, Inc. Efficient data forwarding in a networked device
US10599856B2 (en) * 2017-06-07 2020-03-24 International Business Machines Corporation Network security for data storage systems
US11366588B2 (en) * 2017-07-03 2022-06-21 Intel Corporation Tier-aware read and write

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968203A (zh) * 2006-08-31 2007-05-23 孙利 一种基于AoE协议的网络存储设备及其数据处理方法

Also Published As

Publication number Publication date
US20180343302A1 (en) 2018-11-29
CN108965368A (zh) 2018-12-07
US10645166B2 (en) 2020-05-05
TW201902183A (zh) 2019-01-01
CN108965368B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
US9753529B2 (en) Systems, apparatuses, and methods for synchronizing port entry into a low power status
US9086966B2 (en) Systems, apparatuses, and methods for handling timeouts
CN109891399B (zh) 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法
EP2778931B1 (en) Method and system for platform management messages across peripheral component interconnect express (PCIE) segments
US11256639B2 (en) Method, apparatus, system to enhance the device policy manager (DPM) to manage an expended USB-C ecosystem
US11231937B2 (en) Autonomous host detection for communication port management
US11188492B2 (en) Enhanced serial peripheral interface (eSPI) port expander
US10346345B2 (en) Core mapping
JP2017519294A (ja) フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc)
WO2023082622A1 (zh) 一种主从设备兼容的通信模块设计方法及装置
US9201663B2 (en) Computer system and remote control method for computer device
TWI735585B (zh) 具有網路功能的資料管理電路及基於網路的資料管理方法
US9729335B2 (en) Method for remotely accessing data and local apparatus using the method
US9625978B2 (en) Receiving, at least in part, and/or issuing, at least in part, at least one packet to request change in power consumption state
US20120324077A1 (en) Providing Resource Accessbility During a Sleep State
TWI469053B (zh) 電子裝置及其啟動方法
US9043500B2 (en) System and method for generating a virtual PCI-type configuration space for a device
TWI791312B (zh) 提供多台裝置同時連網功能或多台裝置喚醒功能之電子系統和相關方法
TWI530795B (zh) 分享隨插即用裝置的方法及其電子裝置
WO2014205909A1 (zh) 数据存储处理方法、装置及终端
WO2011134384A1 (zh) 一种无线上网设备、系统及方法
TW201610659A (zh) 遠端電源控制系統和方法
TW201430538A (zh) 存儲擴展裝置及用於存儲擴展裝置中的開機方法