TWI610179B - 主機裝置與資料傳輸速率控制方法 - Google Patents
主機裝置與資料傳輸速率控制方法 Download PDFInfo
- Publication number
- TWI610179B TWI610179B TW106112348A TW106112348A TWI610179B TW I610179 B TWI610179 B TW I610179B TW 106112348 A TW106112348 A TW 106112348A TW 106112348 A TW106112348 A TW 106112348A TW I610179 B TWI610179 B TW I610179B
- Authority
- TW
- Taiwan
- Prior art keywords
- rate
- storage device
- data storage
- power mode
- mode change
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- 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/0625—Power saving in 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
- Communication Control (AREA)
Abstract
一種主機裝置,透過一既定介面耦接至一資料儲存裝置,包括處理器與信號處理裝置。處理器透過既定介面存取資料儲存裝置所儲存之資料。信號處理裝置執行信號處理。處理器透過既定介面發出第一電源模式改變請求封包至資料儲存裝置,以請求將既定介面之資料傳輸速率由第一速率調整為第二速率。處理器透過既定介面自資料儲存裝置接收第一電源模式改變確認封包,以及因應第一電源模式改變確認封包,決定將資料傳輸速率維持在第一速率而不調整為第二速率。
Description
本發明係關於一種資料傳輸速率控制方法,以避免因傳輸速率設定不適當而發生資料處理壅塞、傳輸停頓或發生無法預期的存取錯誤的問題。
隨著資料儲存裝置的科技在近幾年快速地成長,許多資料儲存裝置,如符合SD/MMC規格、CF規格、MS規格與XD規格的記憶卡、固態硬碟、內嵌式記憶體(embedded Multi Media Card,縮寫為eMMC)以及通用快閃記憶體(Universal Flash Storage,縮寫為UFS)已經廣泛地被應用在多種用途上。因此,在這些資料儲存裝置上,如何有效的存取控制也變成一個重要的議題。
為了提高資料儲存裝置的存取效能,本發明提出一種新的傳輸速率控制方法,不僅可有效控置傳輸速率,更可避免因傳輸速率設定不適當而發生資料處理壅塞、傳輸停頓或無法預期的存取錯誤的問題。
本發明提出一種主機裝置,透過一既定介面耦接至一資料儲存裝置,包括處理器與信號處理裝置。處理器透過既定介面存取資料儲存裝置所儲存之資料。信號處理裝置執行
信號處理。處理器透過既定介面發出第一電源模式改變請求封包至資料儲存裝置,以請求將既定介面之資料傳輸速率由第一速率調整為第二速率。處理器透過既定介面自資料儲存裝置接收第一電源模式改變確認封包,以及因應第一電源模式改變確認封包,決定將資料傳輸速率維持在第一速率而不調整為第二速率。
本發明另提出一種資料傳輸速率控制方法,包括:由一處理器透過一既定介面發出一第一電源模式改變請求封包至一資料儲存裝置,以請求該資料儲存裝置將該既定介面之一資料傳輸速率由一第一速率調整為一第二速率;由該處理器透過該既定介面自該資料儲存裝置接收一第一電源模式改變確認封包;以及因應該第一電源模式改變確認封包,將該資料傳輸速率維持在該第一速率而不調整為該第二速率。
100‧‧‧資料儲存裝置
110A、110B‧‧‧控制器
111、ROM‧‧‧唯讀記憶體
112、SRAM‧‧‧靜態隨機存取記憶體
120‧‧‧記憶體裝置
200‧‧‧主機裝置
210‧‧‧處理器
220‧‧‧溫度感應裝置
230‧‧‧直接記憶體存取裝置
240、DRAM‧‧‧動態隨機存取記憶體
250‧‧‧信號處理裝置
251‧‧‧數位信號處理器
252‧‧‧多媒體信號處理器
253‧‧‧通訊單元
300A、300B‧‧‧電子裝置
PACP_PWR_req‧‧‧電源模式改變請求封包
PACP_PWR_cnf‧‧‧電源模式改變確認封包
TX‧‧‧傳送路徑
RX‧‧‧接收路徑
第1A圖係顯示根據本發明之一實施例所述之電子裝置範例方塊圖。
第1B圖係顯示根據本發明之另一實施例所述之電子裝置範例方塊圖。
第2圖係顯示根據本發明之一實施例所述之設定資料傳輸速率之封包訊息流程。
第3圖係顯示根據本發明之一實施例所述之一資料傳輸速率控制方法流程圖。
第4圖係顯示根據本發明之一實施例所述之一資料傳輸速
率控制方法流程圖。
第5圖係顯示根據本發明之第一方面實施例所述之設定資料傳輸速率之封包訊息流程。
第6圖係顯示根據本發明之第二方面實施例所述之設定資料傳輸速率之封包訊息流程。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1A圖係顯示根據本發明之一實施例所述之電子裝置範例方塊圖。電子裝置300A可包括資料儲存裝置100與主機裝置200。資料儲存裝置100可包括控制器110A與記憶體裝置120。控制器110A可包括唯讀記憶體(ROM)111與靜態隨機存取記憶體(Static Random Access Memory,縮寫為SRAM)112。記憶體裝置120可包括一或多個非揮發性記憶體,例如,快閃記憶體。
主機裝置200可至少包括處理器210、溫度感應裝置220、直接記憶體存取(DMA)裝置230、動態隨機存取記憶體(Dynamic Random Access Memory,縮寫為DRAM)240以及信號處理裝置250。溫度感應裝置220用以感應環境溫度,以取得一感應溫度,並且將感應溫度提供給處理器210。直接記憶體存取裝置230與DRAM 240耦接至資料儲存裝置100,用以搬運或
暫存欲寫入或讀取自資料儲存裝置100之資料。信號處理裝置250可包含多個用以執行信號處理之不同裝置,例如,數位信號處理器251、多媒體信號處理器252、以及一或多個通訊單元253。通訊單元253可提供有線或無線通訊的服務。通訊單元253可包括例如,一無線收發機、一天線模組以及一調變解調器(MODEM)(圖未示),用以依循一既定通訊規格提供有線或無線通訊的服務。信號處理裝置250亦可根據處理器210所存取之資料執行信號處理。處理器210用以控制主機裝置200所包含之各元件之運作。
主機裝置200與資料儲存裝置100可透過一既定介面相互連接,處理器210可透過既定介面存取資料儲存裝置100所儲存之資料。例如,當資料儲存裝置100包含一或多個通用快閃記憶體(Universal Flash Storage,縮寫為UFS)時,主機裝置200與資料儲存裝置100可透過UFS介面相互連接。UFS介面可包括如第1A圖所示之用以將指令及資料傳送至資料儲存裝置100之一傳送路徑TX與用以自資料儲存裝置100接收指令及資料之一接收路徑RX。
第1B圖係顯示根據本發明之另一實施例所述之電子裝置範例方塊圖。於此實施例中,SRAM 112被配置於控制器110B外部,並且耦接至控制器110B。
值得注意的是,為簡化說明,第1A圖與第1B圖僅顯示與本發明相關之元件,並且第1A圖與第1B圖僅顯示多種可應用本發明之架構的其中兩種。然而,本發明之實施並不僅限於第1A圖與第1B圖所示之元件與架構。
如上述,主機裝置200與資料儲存裝置100可透過既定介面(例如,UFS介面)相互連接。主機裝置200可傳送一電源模式改變請求封包至資料儲存裝置100,用以設定既定介面之一資料傳輸速率。
第2圖係顯示根據本發明之一實施例所述之設定資料傳輸速率之封包訊息流程。由主機裝置端(例如,由處理器210)透過既定介面傳送一電源模式改變請求封包PACP_PWR_req至資料儲存裝置。接收到電源模式改變請求封包PACP_PWR_req後,資料儲存裝置端(例如,由控制器110A或110B)透過既定介面回應一電源模式改變確認封包PACP_PWR_cnf至主機裝置端。待此流程結束後,主機裝置與資料儲存裝置便可應用電源模式改變請求封包內所指示的資料傳輸速率進行資料傳輸。
根據本發明之一實施例,資料傳輸速率可包含由主機裝置端將資料傳送至資料儲存裝置端之一傳送速率以及由主機裝置端自資料儲存裝置接收資料之一接收速率。電源模式改變請求封包可至少包含用以設定傳送速率之一傳送速率欄位TXGear,以及設定接收速率之一接收速率欄位RXGear。
根據本發明之一實施例,UFS介面之傳送/接收速率由兩個模式所定義,包含電源改變模式(PWM)與高速(HS)模式。PWM模式進一步定義了8個速率檔位,包含PWM_G0~PWM_G7。其中PWM_G0檔位定義之最大傳送/接收速率為3百萬位元/秒,最小傳送/接收速率為0.01百萬位元/秒,PWM_G1檔位定義之最大傳送/接收速率為9百萬位元/秒,最小
傳送/接收速率為3百萬位元/秒,PWM_G2檔位定義之最大傳送/接收速率為18百萬位元/秒,最小傳送/接收速率為6百萬位元/秒,PWM_G3檔位定義之最大傳送/接收速率為36百萬位元/秒,最小傳送/接收速率為12百萬位元/秒,PWM_G4檔位定義之最大傳送/接收速率為72百萬位元/秒,最小傳送/接收速率為24百萬位元/秒,PWM_G5檔位定義之最大傳送/接收速率為144百萬位元/秒,最小傳送/接收速率為48百萬位元/秒,PWM_G6檔位定義之最大傳送/接收速率為288百萬位元/秒,最小傳送/接收速率為96百萬位元/秒,PWM_G7檔位定義之最大傳送/接收速率為576百萬位元/秒,最小傳送/接收速率為192百萬位元/秒。
HS模式進一步定義了6個速率檔位,包含HS-G1~HS-G3,A系列以及HS-G1~HS-G3,B系列。其中HS-G1 A系列定義之傳送/接收速率為1248百萬位元/秒,HS-G1 B系列定義之傳送/接收速率為1457.6百萬位元/秒,HS-G2 A系列定義之傳送/接收速率為2496百萬位元/秒,HS-G2 B系列定義之傳送/接收速率為2915.2百萬位元/秒,HS-G3 A系列定義之傳送/接收速率為4992百萬位元/秒,HS-G3 B系列定義之傳送/接收速率為5830.4百萬位元/秒。
於傳統的設計中,既定介面之資料傳輸速率僅能由主機裝置200端決定及控制。當資料儲存裝置100端接收到電源模式改變請求封包PACP_PWR_req後,通常必須接受主機裝置200端的請求,並且將電源模式改變確認封包PACP_PWR_cnf的狀態(status)欄位設定為請求接受(PWR_OK),再回傳至主機裝置端。
於傳統的設計中,資料儲存裝置100僅能於能力不匹配或者裝置失敗而無法支援的情形拒絕主機裝置200變更資料傳輸速率之請求。所述之能力不匹配係指資料儲存裝置100之軟體及硬體實際上並不支援主機裝置200所指定之速率檔位(即,欲變更之速率檔位)。於此情境之下,資料儲存裝置100將電源模式改變確認封包PACP_PWR_cnf的狀態(status)欄位設定為錯誤(PWR_ERROR_CAP),再回傳至主機裝置端,以告知能力不匹配或者裝置失敗的情形。
當主機裝置200判斷裝置失敗時,可啟動重新開機程序,控制資料儲存裝置100執行重新開機,並且重新與資料儲存裝置100建立連線。
然而,當資料儲存裝置100之能力足以匹配主機裝置200所指定之速率檔位,但因資料儲存裝置100目前的運作狀態忙碌,而導致資料儲存裝置100於接收到電源模式改變請求封包之當下,暫時無法支援主機裝置200所指定之速率檔位時,於此時因應電源模式改變請求封包而調整速率並不恰當。若資料儲存裝置100在此情況下因應主機裝置200的請求而變更資料傳輸速率,則有可能造成資料處理壅塞、傳輸停頓或甚至發生無法預期的存取錯誤。
舉例而言,當資料儲存裝置100於背景執行記憶體管理機制,例如,垃圾回收、資料塊搬移、或抹除資料等行為時,會佔用到部分的資料吞吐量及傳輸頻寬。此時,若資料儲存裝置100在能力符合的情況下必須無條件接受主機裝置200所發出之提高資料傳輸速率請求的話,則當資料儲存裝置100
所剩餘之傳輸頻寬或資料吞吐量不足以應付較高的資料傳輸速率,將會造成如上述資料處理壅塞、傳輸停頓或甚至發生無法預期的存取錯誤。
舉另一例而言,當資料儲存裝置100之靜態隨機存取記憶體112之使用率高於一既定緩衝臨界值時,代表靜態隨機存取記憶體112之剩餘空間可能不足。此時,若資料儲存裝置100在能力符合的情況下必須無條件接受主機裝置200所發出之降低資料傳輸速率請求的話,則用以輸出靜態隨機存取記憶體112內所儲存之資料之速率也必須隨之降低,如此一來,降低了資料儲存裝置100之存取效能。
為了解決上述問題,以下將介紹一種資料傳輸速率控制方法。有別於傳統技術中只要資料儲存裝置100能支援主機裝置200所指定之速率檔位便無法拒絕變更資料傳輸速率請求的設計,於所述之資料傳輸速率控制方法中,資料儲存裝置可根據目前之運作狀態決定是否拒絕主機裝置200所發出之變更資料傳輸速率之請求,並且可自行判斷於適當的時間再將資料傳輸速率調整為主機裝置200所指定之速率檔位。以下將針對所述之資料傳輸速率控制方法做更詳細的介紹。
第3圖係顯示根據本發明之一實施例所述之一資料傳輸速率控制方法流程圖,圖中所示之步驟係由主機裝置200之處理器210所執行。首先,當處理器210判斷有調整資料傳輸速率之需求時,透過既定介面發出第一電源模式改變請求封包至資料儲存裝置100,以請求將既定介面之資料傳輸速率由第一速率調整為第二速率(步驟S302),其中依系統需求之不
同,第一速率可高於或低於第二速率。接著,處理器210透過既定介面自資料儲存裝置100接收第一電源模式改變確認封包(步驟S304)。當第一電源模式改變確認封包指示出資料儲存裝置100拒絕調整資料傳輸速率時,處理器210因應該第一電源模式改變確認封包,決定將資料傳輸速率維持在第一速率而不調整為第二速率(步驟S306)。舉例而言,當處理器210判斷第一電源模式改變確認封包之一狀態欄位被設定為忙碌時,處理器210決定將資料傳輸速率維持在第一速率而不調整為第二速率。
第4圖係顯示根據本發明之一實施例所述之一資料傳輸速率控制方法流程圖,圖中所示之步驟係由資料儲存裝置100之控制器110A或110B所執行。首先,由控制器110A/110B透過既定介面自主機裝置200接收第一電源模式改變請求封包,其中第一電源模式改變請求封包請求資料儲存裝置100將既定介面之資料傳輸速率由第一速率調整為第二速率(步驟S402)。接著,控制器110A/110B判斷資料儲存裝置100之運作狀態是否為忙碌(步驟S404)。若是,控制器110A/110B決定拒絕調整資料傳輸速率之請求,並且將資料傳輸速率維持在第一速率而不調整為第二速率(步驟S406)。若否,則控制器110A/110B決定接受調整資料傳輸速率之請求,並且將資料傳輸速率調整為第二速率(步驟S408)。
第5圖係顯示根據本發明之第一方面實施例所述之設定資料傳輸速率之封包訊息流程。首先,由主機裝置端(例如,由處理器210)透過既定介面傳送一電源模式改變請求封包
PACP_PWR_req至資料儲存裝置,以請求將既定介面之資料傳輸速率由第一速率調整為第二速率。舉例而言,處理器210可根據溫度感應裝置220所感應到的溫度,或者根據信號處理裝置250所需要的一資料處理速率調整於主機裝置200與資料儲存裝置100之間用以傳輸資料之資料傳輸速率。
接收到電源模式改變請求封包PACP_PWR_req後,資料儲存裝置端(例如,由控制器110A或110B)判斷資料儲存裝置100目前之運作狀態。
於本發明之一實施例中,資料儲存裝置100之運作狀態可包括一正常狀態與一忙碌狀態。控制器110A/100B可根據資料儲存裝置100一緩衝區使用率(例如,靜態隨機存取記憶體112之使用率)、記憶體裝置120之一剩餘傳輸頻寬以及記憶體裝置120之一資料吞吐量之一或多者判斷該資料儲存裝置之該運作狀態是否為忙碌。
舉例而言,當資料儲存裝置100一緩衝區使用率(例如,靜態隨機存取記憶體112之使用率)高於一既定緩衝臨界值時(例如,靜態隨機存取記憶體112之緩衝區總容量之一半),控制器110A/100B可判斷資料儲存裝置100目前之運作狀態為忙碌。否則,控制器110A/100B可判斷資料儲存裝置100目前之運作狀態為正常。
舉另一而言,當記憶體裝置120於背景執行記憶體管理機制,例如,垃圾回收、資料塊搬移、或抹除資料等行為時,會佔用到部分的資料吞吐量及傳輸頻寬。當記憶體裝置120之剩餘傳輸頻寬或資料吞吐量不足時,控制器110A/1001B可判
斷資料儲存裝置100目前之運作狀態為忙碌。否則,控制器110A/100B可判斷資料儲存裝置100目前之運作狀態為正常。
值得注意的是,控制器110A/100B亦可動態調整上述既定緩衝臨界值、剩餘傳輸頻寬臨界值、或資料吞吐量臨界值。舉例而言,控制器110A/100B可根據靜態隨機存取記憶體112所儲存之指令序列(command queue)決定既定緩衝臨界值、剩餘傳輸頻寬臨界值、或資料吞吐量臨界值。例如,根據指令序列中即將被執行之指令之類別。
此外,值得注意的是,以上僅為本發明之多種變化實施之其中一種,本發明並不限於此。
當資料儲存裝置100之能力足以匹配主機裝置200所指定之速率檔位(即,資料儲存裝置100可支援主機裝置200所指定之第二速率),但資料儲存裝置100目前之運作狀態為忙碌時,控制器110A/100B可判斷為無法滿足此速率需求。控制器110A/100B可透過既定介面傳送一電源模式改變確認封包PACP_PWR_cnf至主機裝置端,以回應接收到的電源模式改變請求封包PACP_PWR_req。
於電源模式改變確認封包PACP_PWR_cnf中,控制器110A/100B將狀態(status)欄位設定為忙碌(PWR_BUSY),用以拒絕主機裝置200所發出之變更資料傳輸速率之請求。
此外,根據本發明之一實施例,控制器110A/100B可將電源模式改變請求封包所承載之資訊儲存於靜態隨機存取記憶體112中,並且持續監控資料儲存裝置100之運作狀態。舉例而言,控制器110A/100B可紀錄電源模式改變請求封包
PACP_PWR_req內的旗標(Flags)欄位、傳送電源模式(TxMode)欄位、傳送線路(TxLane)欄位、傳送速率(TXGear)欄位、接收電源模式(RxMode)欄位、接收線路(RxLane)欄位、接收速率(RXGear)欄位等。然而,值得注意的是,本發明並不限於此。舉例而言,控制器110A/100B亦可於靜態隨機存取記憶體112記錄自主機裝置200接收到的電源模式改變請求封包PACP_PWR_req的所有內容。
當控制器110A/100B判斷資料儲存裝置100可滿足主機裝置200所指定之速率時(例如,資料儲存裝置100之運作狀態恢復為正常時),控制器110A/100B可根據靜態隨機存取記憶體112中所儲存有關電源模式改變請求封包之資訊發出另一電源模式改變請求封包至主機裝置200,以請求將資料傳輸速率由第一速率調整為第二速率。
於本發明之另一實施例中,當控制器110A/1 00B判斷資料儲存裝置100可滿足主機裝置200所指定之速率時,控制器110A/100B亦可透過既定介面傳送另一電源模式改變確認封包PACP_PWR_cnf至主機裝置端,其中此電源模式改變確認封包PACP_PWR_cnf的狀態(status)欄位設定為請求接受(PWR_OK),表示資料儲存裝置100接受先前調整資料傳輸速率之請求。
如上述,根據本發明之一實施例,資料傳輸速率可包含由主機裝置端將資料傳送至資料儲存裝置端之一傳送速率以及由主機裝置端自資料儲存裝置接收資料之一接收速率。值得注意的是,於本發明實施例中,由主機裝置或控制器
110A/100B所請求之傳送速率以及接收速率可為相同或不同的。
除上述於本發明第一方面實施例中,主機裝置200被動地等待資料儲存裝置100告知其可滿足主機裝置200所指定之速率時,再調整資料傳輸速率的實施方式外,於本發明之第二方面實施例中,主機裝置200亦可主動詢問資料儲存裝置100的運作狀態。
第6圖係顯示根據本發明之第二方面實施例所述之設定資料傳輸速率之封包訊息流程。首先,由主機裝置端(例如,由處理器210)透過既定介面傳送一電源模式改變請求封包PACP_PWR_req至資料儲存裝置,以請求將既定介面之資料傳輸速率由第一速率調整為第二速率。
於接收到電源模式改變請求封包PACP_PWR_req後,資料儲存裝置端(例如,由控制器110A或110B)判斷資料儲存裝置100目前之運作狀態。
當資料儲存裝置100之能力足以匹配主機裝置200所指定之速率檔位(即,資料儲存裝置100可支援主機裝置200所指定之第二速率),但資料儲存裝置100目前之運作狀態為忙碌時,控制器110A/100B可判斷為無法滿足此速率需求。控制器110A/100B可透過既定介面傳送一電源模式改變確認封包PACP_PWR_cnf至主機裝置端,以回應接收到的電源模式改變請求封包PACP_PWR_req。
於電源模式改變確認封包PACP_PWR_cnf中,控制器110A/100B將狀態(status)欄位設定為忙碌(PWR_BUSY),用
以拒絕主機裝置200所發出之變更資料傳輸速率之請求。此外,根據本發明之一實施例,控制器110A/100B可將電源模式改變請求封包所承載之資訊儲存於靜態隨機存取記憶體112中,並且持續監控資料儲存裝置100之運作狀態。
於接收到指示拒絕之電源模式改變確認封包PACP_PWR_cnf後,主機裝置200可設起一計時器。當計時器所計數的時間屆滿,但主機裝置並未自資料儲存裝置100接收到任何電源模式改變請求封包PACP_PWR_req或者並未自資料儲存裝置100接收到一狀態欄位被設定為請求接受之另一電源模式改變確認封包時,處理器210可再次發出一電源模式改變請求封包PACP_PWR_req至資料儲存裝置100,以請求將既定介面之資料傳輸速率由第一速率調整為第二速率。
此流程可於一既定期間被反覆執行,或者設定可被執行一既定次數。當處理器210於既定期間內或者於執行既定次數後仍未自資料儲存裝置100接收到任何電源模式改變請求封包PACP_PWR_req或者未自資料儲存裝置100接收到一狀態欄位被設定為請求接受之另一電源模式改變確認封包時,處理器210可執行一重新開機(reboot)程序,用以將該資料儲存裝置重新開機。舉例而言,處理器210可傳送一電源模式改變請求封包PACP_PWR_req,以執行一重新開機程序。於此電源模式改變請求封包PACP_PWR_req中,一線重置(LINE-RESET)之旗標會被設起,用以要求資料儲存裝置100執行一重新開機程序。
除了傳送電源模式改變請求封包PACP_PWR_req
外,處理器210亦可執行一線重置程序,將傳送路徑TX上的差動信號線TX_P與TX_N的電壓拉低,或者執行硬體重置程序,用以控制資料儲存裝置100執行重新開機,並且重新與資料儲存裝置100建立連線。
有別於傳統技術中只要資料儲存裝置100能支援主機裝置200所指定之速率檔位便無法拒絕變更資料傳輸速率請求的設計,於本發明之第一方面與第二方面之實施例中,資料儲存裝置可根據目前之運作狀態決定是否拒絕主機裝置200所發出之變更資料傳輸速率之請求,並且可自行判斷於適當的時間(例如,忙碌狀態解除後)再將資料傳輸速率調整為主機裝置200所指定之速率檔位。
此外,有別於傳統技術中資料傳輸速率僅能由主機裝置200端決定及控制的設計,於本發明之實施例中,資料儲存裝置亦可決定及控制資料傳輸速率,並可發出電源模式改變請求封包PACP_PWR_req請求調整資料傳輸速率。
如此一來,不僅可有效控置傳輸速率,更可避免因傳輸速率設定不適當或強制要求資料儲存裝置100調整傳輸速率而發生資料處理壅塞、傳輸停頓或無法預期的存取錯誤的問題。
舉例而言,當資料儲存裝置100於背景執行記憶體管理機制時,主機裝置200發出提高資料傳輸速率之請求。此時,根據本發明之一實施例,資料儲存裝置100可先拒絕變更資料傳輸速率之請求,並且於記憶體管理操作完成後,再根據上述方式接受變更資料傳輸速率之請求。例如,傳送另一電源
模式改變請求封包至主機裝置200,請求將資料傳輸速率調整為主機裝置200所指定之速率,或者傳送另一電源模式改變確認封包至主機裝置200,並且將狀態欄位被設定為請求接受。
舉另一例而言,當資料儲存裝置100之靜態隨機存取記憶體112之使用率高於一既定緩衝臨界值時,代表靜態隨機存取記憶體112之剩餘空間可能不足。此時,若主機裝置200發出降低資料傳輸速率之請求,資料儲存裝置100可先拒絕變更資料傳輸速率之請求,並且於靜態隨機存取記憶體112內所儲存之資料先用原先設定的速率傳送出去後,再根據上述方式接受變更資料傳輸速率之請求。
值得注意的是,於本發明之第一方面與第二方面之實施例中,控制器110A/100B將狀態(status)欄位設定為忙碌(PWR_BUSY),係用以拒絕主機裝置200所發出之變更資料傳輸速率之請求,而非用以拒絕主機裝置200所發出之進入省電模式之請求。因此,本發明之實施例中的拒絕與當主機裝置於電源模式改變請求封包中要求將傳送電源模式(TxMode)或接收電源模式(RxMode)設定為省電模式(hibernate)時的拒絕並不相同。
本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方式。本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧資料儲存裝置
110A‧‧‧控制器
111、ROM‧‧‧唯讀記憶體
112、SRAM‧‧‧靜態隨機存取記憶體
120‧‧‧記憶體裝置
200‧‧‧主機裝置
210‧‧‧處理器
220‧‧‧溫度感應裝置
230‧‧‧直接記憶體存取裝置
240、DRAM‧‧‧動態隨機存取記憶體
250‧‧‧信號處理裝置
251‧‧‧數位信號處理器
252‧‧‧多媒體信號處理器
253‧‧‧通訊單元
300A‧‧‧電子裝置
TX‧‧‧傳送路徑
RX‧‧‧接收路徑
Claims (14)
- 一種主機裝置,透過一既定介面耦接至一資料儲存裝置,包括:一處理器,透過該既定介面存取該資料儲存裝置所儲存之資料;以及一信號處理裝置,用以執行信號處理;其中該處理器透過該既定介面發出一第一電源模式改變請求封包至該資料儲存裝置,以請求將該既定介面之一資料傳輸速率由一第一速率調整為一第二速率;該處理器透過該既定介面自該資料儲存裝置接收一第一電源模式改變確認封包;以及因應該第一電源模式改變確認封包,該處理器決定將該資料傳輸速率維持在該第一速率而不調整為該第二速率。
- 如申請專利範圍第1項所述之主機裝置,其中當該處理器判斷該第一電源模式改變確認封包之一狀態欄位被設定為忙碌時,該處理器決定將該資料傳輸速率維持在該第一速率而不調整為該第二速率。
- 如申請專利範圍第1項所述之主機裝置,其中於接收到該第一電源模式改變確認封包後,該處理器更透過該既定介面自該資料儲存裝置接收請求將該資料傳輸速率由該第一速率調整為該第二速率之一第二電源模式改變請求封包。
- 如申請專利範圍第1項所述之主機裝置,其中於接收到該第一電源模式改變確認封包後,該處理器更透過該既定介面發出一第三電源模式改變請求封包至該資料儲存裝置,以 請求將該既定介面之該資料傳輸速率由該第一速率調整為該第二速率。
- 如申請專利範圍第1項所述之主機裝置,其中當該處理器於一既定期間內並未自該資料儲存裝置接收到一第二電源模式改變請求封包或者並未自該資料儲存裝置接收到一狀態欄位被設定為請求接受之一第二電源模式改變確認封包時,該處理器執行一重新開機程序,用以將該資料儲存裝置重新開機。
- 如申請專利範圍第1項所述之主機裝置,其中該處理器根據該信號處理裝置所需要的一資料處理速率決定發出該第一電源模式改變請求封包。
- 如申請專利範圍第1項所述之主機裝置,其中該資料儲存裝置包含一通用快閃記憶體,並且該既定介面為通用快閃記憶體介面。
- 一種資料傳輸速率控制方法,包括:由一處理器透過一既定介面發出一第一電源模式改變請求封包至一資料儲存裝置,以請求該資料儲存裝置將該既定介面之一資料傳輸速率由一第一速率調整為一第二速率;由該處理器透過該既定介面自該資料儲存裝置接收一第一電源模式改變確認封包;以及因應該第一電源模式改變確認封包,將該資料傳輸速率維持在該第一速率而不調整為該第二速率。
- 如申請專利範圍第8項所述之方法,更包括:判斷該第一電源模式改變確認封包之一狀態欄位內容,其 中當該狀態欄位被設定為忙碌時,將該資料傳輸速率維持在該第一速率而不調整為該第二速率。
- 如申請專利範圍第8項所述之方法,更包括:於接收該第一電源模式改變確認封包後,自該資料儲存裝置接收請求將該資料傳輸速率由該第一速率調整為該第二速率之一第二電源模式改變請求封包。
- 如申請專利範圍第8項所述之方法,更包括:於接收該第一電源模式改變確認封包後,由該處理器發出一第三電源模式改變請求封包至該資料儲存裝置,以請求將該資料傳輸速率由該第一速率調整為該第二速率。
- 如申請專利範圍第8項所述之方法,更包括:當該處理器於一既定期間內並未自該資料儲存裝置接收一第二電源模式改變請求封包或者並未自該資料儲存裝置接收一狀態欄位被設定為請求接受之一第二電源模式改變確認封包時,由該處理器執行一重新開機程序,用以將該資料儲存裝置重新開機。
- 如申請專利範圍第8項所述之方法,其中該資料傳輸速率包含將資料自一主機裝置傳送至該資料儲存裝置之一傳送速率以及由該主機裝置自該資料儲存裝置接收資料之一接收速率。
- 如申請專利範圍第8項所述之方法,其中該資料傳輸速率為一通用快閃記憶體介面之資料傳輸速率。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710778481.2A CN108170369B (zh) | 2016-12-07 | 2017-09-01 | 主机装置与数据传输速率控制方法 |
US15/820,727 US10275163B2 (en) | 2016-12-07 | 2017-11-22 | Methods for controlling data transfer speed of a data storage device and a host device utilizing the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662430971P | 2016-12-07 | 2016-12-07 | |
US62/430,971 | 2016-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI610179B true TWI610179B (zh) | 2018-01-01 |
TW201822007A TW201822007A (zh) | 2018-06-16 |
Family
ID=61728323
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106112348A TWI610179B (zh) | 2016-12-07 | 2017-04-13 | 主機裝置與資料傳輸速率控制方法 |
TW106112539A TWI634430B (zh) | 2016-12-07 | 2017-04-14 | 資料儲存裝置與資料傳輸速率控制方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106112539A TWI634430B (zh) | 2016-12-07 | 2017-04-14 | 資料儲存裝置與資料傳輸速率控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10275163B2 (zh) |
CN (1) | CN108170369B (zh) |
TW (2) | TWI610179B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11231873B2 (en) * | 2018-12-07 | 2022-01-25 | Intel Corporation | Apparatus and method for assigning velocities to write data |
KR20210128628A (ko) * | 2020-04-17 | 2021-10-27 | 에스케이하이닉스 주식회사 | 전자 장치와, 이를 위한 데이터 저장 장치 및 동작 방법 |
CN113572569B (zh) * | 2020-04-28 | 2024-03-26 | 华为技术有限公司 | 一种传输速率切换方法以及相关装置 |
KR20220046948A (ko) * | 2020-10-08 | 2022-04-15 | 삼성전자주식회사 | 스토리지 컨트롤러, 스토리지 시스템 및 그 동작방법 |
CN114510094B (zh) * | 2020-11-17 | 2023-10-31 | 瑞昱半导体股份有限公司 | 温度控制方法、通信***与控制电路 |
WO2022126578A1 (en) * | 2020-12-18 | 2022-06-23 | Micron Technology, Inc. | Dynamic interval for memory device to enter low power state |
TWI781793B (zh) * | 2021-10-15 | 2022-10-21 | 致伸科技股份有限公司 | 一種資料回報率之調整方法 |
TWI792613B (zh) * | 2021-10-15 | 2023-02-11 | 致伸科技股份有限公司 | 一種資料回報率之調整方法 |
TWI800327B (zh) * | 2022-03-23 | 2023-04-21 | 慧榮科技股份有限公司 | 資料儲存系統與參數裕度估計方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7215984B2 (en) * | 1991-03-07 | 2007-05-08 | Masimo Corporation | Signal processing apparatus |
TW200943845A (en) * | 2007-12-21 | 2009-10-16 | Mediatek Inc | Apparatus and methods for processing signals |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4112729B2 (ja) * | 1999-02-16 | 2008-07-02 | 株式会社ルネサステクノロジ | 半導体装置 |
CN1167296C (zh) * | 2001-09-28 | 2004-09-15 | 华为技术有限公司 | 在通信***中控制传输速率的方法和装置 |
CN101156458A (zh) * | 2005-02-23 | 2008-04-02 | 美商内数位科技公司 | 动态适应封包传输速率的无线通信方法及装置 |
US20070081453A1 (en) * | 2005-10-11 | 2007-04-12 | Via Technologies, Inc. | Method and apparatus for data transmission in a wireless communication system |
US20090161799A1 (en) | 2007-12-21 | 2009-06-25 | Mediatek, Inc. | Decoding communication signals |
TWI423032B (zh) * | 2009-04-30 | 2014-01-11 | Ralink Technology Corp | 提升資料傳輸效能的方法 |
JP2011157206A (ja) * | 2010-02-03 | 2011-08-18 | Konica Minolta Business Technologies Inc | 画像形成装置及びその制御方法 |
CN102156529A (zh) * | 2010-02-11 | 2011-08-17 | 仁宝电脑工业股份有限公司 | 硬盘省电方法及硬盘省电装置 |
TWI550408B (zh) * | 2011-04-22 | 2016-09-21 | 晨星半導體股份有限公司 | 多核心電子系統及其速率調節裝置 |
US20130046732A1 (en) * | 2011-08-17 | 2013-02-21 | Hsin-Ti Chueh | Data synchronization management methods and systems |
DE112013007751B3 (de) * | 2012-10-22 | 2023-01-12 | Intel Corporation | Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht |
TWI507881B (zh) * | 2013-04-10 | 2015-11-11 | Realtek Semiconductor Corp | 通訊裝置與設置資料傳輸的方法 |
CN105659542B (zh) * | 2014-07-01 | 2019-10-01 | 华为技术有限公司 | 数据传输控制方法、无源光网络设备及装置、无源光网络 |
-
2017
- 2017-04-13 TW TW106112348A patent/TWI610179B/zh active
- 2017-04-14 TW TW106112539A patent/TWI634430B/zh active
- 2017-09-01 CN CN201710778481.2A patent/CN108170369B/zh active Active
- 2017-11-22 US US15/820,727 patent/US10275163B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7215984B2 (en) * | 1991-03-07 | 2007-05-08 | Masimo Corporation | Signal processing apparatus |
TW200943845A (en) * | 2007-12-21 | 2009-10-16 | Mediatek Inc | Apparatus and methods for processing signals |
Also Published As
Publication number | Publication date |
---|---|
TWI634430B (zh) | 2018-09-01 |
TW201822007A (zh) | 2018-06-16 |
TW201822010A (zh) | 2018-06-16 |
CN108170369A (zh) | 2018-06-15 |
US10275163B2 (en) | 2019-04-30 |
US20180157417A1 (en) | 2018-06-07 |
CN108170369B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI610179B (zh) | 主機裝置與資料傳輸速率控制方法 | |
CN108170370B (zh) | 数据储存装置与数据传输速率控制方法 | |
US11176068B2 (en) | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link | |
US11379278B2 (en) | Methods and apparatus for correcting out-of-order data transactions between processors | |
JP5791397B2 (ja) | デバイスコントローラ、usbデバイスコントローラ及び電力制御方法 | |
US20080320243A1 (en) | Memory-sharing system device | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及*** | |
KR20000053380A (ko) | 다양한 기능 모듈 접속용 포트 매니저 제어기 | |
CN108628544B (zh) | 电子装置与数据传输速率控制方法 | |
KR102367359B1 (ko) | 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법 | |
JP2019047146A (ja) | 電子機器および電力管理方法 | |
US10769096B2 (en) | Apparatus and circuit for processing data | |
CN116627869B (zh) | 应用于电子设备的数据传输方法及装置 | |
US20060236001A1 (en) | Direct memory access controller | |
US20160098375A1 (en) | Initiating multiple data transactions on a system bus | |
JP2020144410A (ja) | メモリコントローラ | |
CN113495682A (zh) | 用于对装置管理配置请求进行列队的***和方法 | |
JP6298030B2 (ja) | 低レイテンシと高スループットのデータ通信を両立するモータ制御装置 | |
KR20160007859A (ko) | 컴퓨팅 시스템 및 이의 동작 방법. | |
CN103544123A (zh) | Sdram控制器及对sdram存储空间的访问方法 | |
CN109885508A (zh) | 高速外设组件互连标准总线***及其数据传输方法、装置 |