TW201537453A - 電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法 - Google Patents
電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法 Download PDFInfo
- Publication number
- TW201537453A TW201537453A TW103111947A TW103111947A TW201537453A TW 201537453 A TW201537453 A TW 201537453A TW 103111947 A TW103111947 A TW 103111947A TW 103111947 A TW103111947 A TW 103111947A TW 201537453 A TW201537453 A TW 201537453A
- Authority
- TW
- Taiwan
- Prior art keywords
- storage device
- buffer size
- throughput
- data
- adjusting
- Prior art date
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一種電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法。此方法係週期性偵測電子裝置執行應用程式事件時,讀取儲存裝置資料的吞吐量(throughput),而在電子裝置執行所述應用程式事件時,根據電子裝置執行此事件的啟動時間上限及所偵測的吞吐量,調整一次性讀取儲存裝置資料的緩衝區大小,然後一次性讀取儲存裝置中此緩衝區大小的資料,以執行所述應用程式事件。
Description
本發明是有關於一種電子裝置及其資料讀取方法,且特別是有關於一種電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法。
隨著半導體技術的進步,記憶體的容量已大幅提升,而快閃記憶體(flash memory)因具有非揮發性、省電、體積小等特性,特別適合使用於可攜式電子裝置。因此,近年來已出現一種使用反及快閃(NAND flash)記憶體做為資料儲存媒介的固態硬碟(solid state disk,SSD)。
固態硬碟的特別之處在於利用快閃記憶體的特性來取代傳統硬碟(hard disk drive,HDD)的機械結構,藉由區塊寫入和抹除的方式進行資料存取,因此可大幅提升儲存裝置的讀寫效率。與傳統的儲存裝置相較,固態硬碟具有低耗電、耐震、耐低
溫、穩定性高等優點。可攜式電子裝置為了體積考量,已逐漸採用固態硬碟作為資料的主要儲存裝置。
電子裝置在執行應用程式時,為了避免資料讀取延遲影響使用者對於該應用程式的使用經驗,一般會先讀取應用程式的框架以儘早啟動應用程式,讓使用者能夠更早地進入並使用應用程式。待進入應用程式的初始畫面且/或接收到使用者對應用程式的操作時,電子裝置才繼續讀取該應用程式的其他資料,以響應使用者的操作。此種分階段讀取的架構雖可讓使用者更早地操作應用程式,但由於遺留了大量的資料未讀取,後續仍需執行多次的資料讀取。而由於每一次的資料讀取動作都需要等待主機的排程,因而產生讀取延遲。結果將使得使用者在操作過程中會感受到應用程式的延遲及停頓,而有操作不順暢的使用經驗。
舉例來說,圖1是習知讀取應用程式資料的示意圖。請參照圖1,習知的電子裝置係將其執行應用程式所需的資料分割為多個輸入/輸出(Input/Output,IO)資料(例如50個IO資料,每個IO資料為400K位元組)。其中,在應用程式啟動之初,除了前面幾個IO資料會先被電子裝置讀取之外,其他的資料都是隨著使用者對於應用程式的操作逐步地讀取。而由於每個IO資料在被讀取時,都需要等待主機的排程(例如圖中的Cmd.Interval),再加上儲存裝置本身的讀取延遲,結果應用程式在執行時將會有一小段一小段的停頓,不夠順暢。
上述的讀取延遲對於速度較慢的傳統硬碟而言,或許難
以避免,但對於速度較快的儲存裝置(例如快閃記憶體或固態硬體)而言,則仍有改進的空間。
本發明提供一種電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法,可減少讀取儲存裝置時產生的延遲及停頓。
本發明的基於儲存裝置吞吐量調整緩衝區大小的方法,適用於具有儲存裝置的電子裝置。此方法係週期性偵測電子裝置執行應用程式的事件時,讀取儲存裝置資料的吞吐量(throughput),而在電子裝置執行所述應用程式的事件時,根據電子裝置執行此事件的啟動時間上限及所偵測的吞吐量,調整一次性讀取儲存裝置資料的緩衝區大小,然後一次性讀取儲存裝置中此緩衝區大小的資料,以執行所述應用程式的事件。
本發明的電子裝置包括儲存裝置及處理器。其中,儲存裝置係用以記錄多個模組。處理器係耦接儲存裝置,用以存取並執行儲存裝置中記錄的模組。所述模組包括偵測模組、調整模組及執行模組。其中,偵測模組係週期性偵測電子裝置執行應用程式的事件時,讀取儲存裝置資料的吞吐量。調整模組係根據電子裝置執行所述事件的啟動時間上限及所偵測的吞吐量,調整一次性讀取儲存裝置資料的緩衝區大小。執行模組係一次性讀取儲存裝置中所述緩衝區大小的資料,以執行所述應用程式的事件。
基於上述,本發明之電子裝置及基於其儲存裝置吞吐量
調整緩衝區大小的方法,藉由週期性地評估電子裝置執行不同應用程式時的資料讀取能力,並以此為指標來規劃電子裝置在讀取應用程式資料時的最適緩衝區大小。藉此,可在應用程式初始化的同時,讀取更多的資料,並可有效減少等待主機排程所造成的讀取延遲,讓應用程式的操作更為順暢,改善使用者的使用經驗。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
20‧‧‧電子裝置
22‧‧‧儲存裝置
222‧‧‧偵測模組
224‧‧‧調整模組
226‧‧‧執行模組
24‧‧‧處理器
S302~S306、S402~S410‧‧‧本發明一實施例的基於儲存裝置吞吐量調整緩衝區大小的方法步驟
圖1是習知讀取應用程式資料的示意圖。
圖2是依照本發明一實施例所繪示的電子裝置的方塊圖。
圖3是依照本發明一實施例所繪示的基於儲存裝置吞吐量調整緩衝區大小的方法流程圖。
圖4是依照本發明一實施例所繪示的基於儲存裝置吞吐量調整緩衝區大小的方法流程圖。
對於存取速度較快的儲存裝置而言,其單位時間內可讀取的資料量較大。因此,對於資料係儲存於此類裝置的應用程式而言,電子裝置在執行該應用程式時,可不必拘泥於既定的資料讀取量,而可根據其對於此類裝置的讀取能力,適當調整每次讀
取資料的緩衝區大小。本發明即藉由偵測電子裝置讀取儲存裝置資料的能力,據以增加資料讀取的緩衝區大小,藉此有效減少等待主機排程所造成的讀取延遲,讓應用程式的操作更為順暢。
圖2是依照本發明一實施例所繪示的電子裝置的方塊圖。請參照圖2,本實施例的電子裝置20例如是桌上型電腦、筆記型電腦或是行動電話、智慧型手機(smart phone)、個人數位助理(Personal Digital Assistant,PDA)或平板電腦(Tablet PC)等各式行動裝置。電子裝置20中包括儲存裝置22及處理器24,其功能分述如下:儲存裝置22可以是任何型態的固定式或可移動式隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read-only memory,ROM)、快閃記憶體(flash memory)、固態硬碟(Solid State Drive,SSD)或類似元件或上述元件的組合。在本實施例中,儲存裝置22用以記錄偵測模組222、調整模組224及執行模組226之軟體程式。本實施例中所述的儲存裝置22並未限制是單一儲存元件,上述之各軟體模組亦可以分開儲存在不同的兩個或兩個以上之相同或不同型態之儲存元件中。
處理器24係耦接儲存裝置22。處理器24可以是具有單核心或多核心的中央處理單元(Central Processing Unit,CPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific
Integrated Circuit,ASIC)或其他類似元件或上述元件的組合。在本實施例中,處理器24用以存取並執行上述儲存裝置22中記錄的模組,藉以實現本發明實施例的基於儲存裝置吞吐量調整緩衝區大小的方法。本實施例的處理器24並未限制是單一處理元件,也可以是由兩個或兩個以上之處理元件共同執行。
圖3是依照本發明一實施例所繪示的基於儲存裝置吞吐量調整緩衝區大小的方法流程圖。請同時參照圖2與圖3,本實施例的方法適用於上述的電子裝置20,以下即搭配圖2中電子裝置20的各項元件,說明本實施例方法的詳細流程。
首先,由偵測模組222週期性偵測電子裝置20執行應用程式的事件時,讀取儲存裝置22資料的吞吐量(throughput)(步驟S302)。其中,應用程式的資料係儲存於儲存裝置22中,而由於儲存裝置22本身的資料存取速度會影響電子裝置20執行應用程式事件的速度,且電子裝置20在執行不同應用程式的不同事件時所需讀取的資料量也不同,故本實施例即針對電子裝置20所執行的各種應用程式事件,週期性地偵測其執行過程中讀取儲存裝置22資料的吞吐量,從而評估電子裝置20執行各種應用程式事件的最適資料緩衝區大小。上述的應用程式事件例如是應用程式的初始化,或是使用者在應用程式中所執行的滾動、滑動、拖曳等操作事件,在此不設限。應用程式的初始化可包括開啟應用程式視窗、顯示應用程式操作介面以及顯示部分使用者資料的內容(例如顯示使用者相簿內部分照片的縮圖)其中之一或其組合,
在此不設限。
在電子裝置20執行應用程式事件時,調整模組224會根據電子裝置20執行此事件的啟動時間上限及先前偵測模組222所偵測的吞吐量,調整執行模組226一次性讀取儲存裝置22資料的緩衝區大小(步驟S304)。上述的事件啟動時間上限例如是應用程式的開發者根據使用經驗所決定的,應用程式完成該事件的時間上限。即,電子裝置必需在此時間上限內完成該應用程式事件。例如,電子裝置必需在使用者觸發應用程式圖式後的兩秒內完成應用程式的初始化,並開啟應用程式的操作介面,以便使用者對該應用程式進行操作。基於此啟動時間上限,若將先前偵測到的吞吐量與其相乘,則此乘積即可代表電子裝置在該啟動時間上限內被允許的資料存取量。而以此資料存取量做為緩衝區大小,則可使得電子裝置20能夠在有限的時間內儘可能地存取更多的資料,相對地也會減少後續需要存取的資料量,從而減少存取資料時等待主機排程所造成的讀取延遲。
最後,執行模組226即根據調整模組224所調整的緩衝區大小,一次性讀取儲存裝置22中此緩衝區大小的資料,以執行應用程式的事件(步驟S306)。
需說明的是,在一實施例中,調整模組224例如是採用一次到位的方式調整緩衝區大小,其例如會計算上述啟動時間上限與吞吐量的乘積,並判斷此乘積與儲存裝置的目前緩衝區大小的差值是否超過門檻值,而在判斷差值超過門檻值時,即將執行
模組226一次性讀取儲存裝置22資料的緩衝區大小直接調整為此乘積。反之,在判斷上述差值未超過門檻值時,在一實施例中,調整模組224可採用步進式的方式逐步調整緩衝區大小,例如將電子裝置20目前讀取儲存裝置22的緩衝區大小增加一單位大小,以做為後續執行模組226一次性讀取儲存裝置22資料的緩衝區大小。藉此,電子裝置20即能夠在應用程式(或者使用者)容許的時間內儘可能地讀取更多資料,從而減少後續所需存取的資料量,減少讀取延遲。
此外,在另一實施例中,調整模組224可以僅採用步進式的方式調整緩衝區大小,使得調整後的緩衝區大小最終能夠趨近於執行模組226執行應用程式事件一次能讀取的資料量。
詳細而言,圖4是依照本發明一實施例所繪示的基於儲存裝置吞吐量調整緩衝區大小的方法流程圖。請同時參照圖2與圖4,本實施例的方法適用於上述的電子裝置20,以下即搭配圖2中電子裝置20的各項元件,說明本實施例方法的詳細流程。
首先,由偵測模組222週期性偵測電子裝置20執行應用程式的事件時,讀取儲存裝置22資料的吞吐量(步驟S402)。此步驟S402係與前述實施例中的步驟S302相同或相似,故其詳細內容在此不再贅述。
與前述實施例不同的是,在本實施例中,當偵測模組222偵測到電子裝置20讀取儲存裝置22資料的吞吐量之後,調整模組224即會計算啟動時間上限與此吞吐量的乘積,並將此乘積與
儲存裝置20的目前緩衝區大小進行比較(步驟S404),從而判斷目前緩衝區大小是否小於所計算的乘積(步驟S406)。其中,若調整模組224判斷目前緩衝區大小小於乘積,則會將此目前緩衝區大小增加一單位大小,以做為後續執行模組226一次性讀取儲存裝置22資料的緩衝區大小。之後,執行模組226即可根據此調整後的緩衝區大小,一次性讀取儲存裝置22中大小為此緩衝區大小的資料,以便執行應用程式的事件(步驟S408)。反之,若調整模組224判斷目前緩衝區大小不小於乘積,則不會增加目前緩衝區大小,而仍維持原先的緩衝區大小,而執行模組226也是根據原先的緩衝區大小,一次性讀取儲存裝置22中大小為此緩衝區大小的資料,以便執行應用程式的事件(步驟S408)。
在完成上述緩衝區大小的調整及資料的讀取動作之後,本實施例的方法流程將回到步驟S402,繼續偵測電子裝置20下一次執行同一個應用程式事件時,其讀取儲存裝置22資料的吞吐量,並重覆後續的計算、比較及調整步驟。藉由逐步調整緩衝區大小,最終可使得調整後的緩衝區大小趨近於執行模組226執行應用程式事件一次能夠讀取的資料量。
綜上所述,電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法係偵測電子裝置讀取儲存裝置資料的吞吐量,藉此評估儲存裝置的資料讀取能力,從而取得電子裝置在執行應用程式事件時,讀取應用程式資料的最適緩衝區大小。據此,本發明能夠在應用程式初始化的當下讀取更多的資料,有效減少因為主
機排程所造成的讀取延遲,讓之後的操作更為順暢,從而改善電子裝置的使用經驗。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S302~S306‧‧‧本發明一實施例的基於儲存裝置吞吐量調整緩衝區大小的方法步驟
Claims (10)
- 一種基於儲存裝置吞吐量調整緩衝區大小的方法,適用於具有一儲存裝置的一電子裝置,該方法包括下列步驟:週期性偵測該電子裝置執行一應用程式的一事件時,讀取該儲存裝置資料的一吞吐量(throughput);在該電子裝置執行該應用程式的該事件時,根據該電子裝置執行該事件的一啟動時間上限及所偵測的該吞吐量,調整一次性讀取該儲存裝置資料的一緩衝區大小;以及一次性讀取該儲存裝置中該緩衝區大小的資料,以執行該應用程式的該事件。
- 如申請專利範圍第1項所述的基於儲存裝置吞吐量調整緩衝區大小的方法,其中根據該事件的該啟動時間上限及所偵測的該吞吐量,調整一次性讀取該儲存裝置資料的該緩衝區大小的步驟包括:計算該啟動時間上限與該吞吐量的一乘積,並與該儲存裝置的一目前緩衝區大小比較;以及若該目前緩衝區大小小於該乘積,將該目前緩衝區大小增加一單位大小,以做為後續一次性讀取該儲存裝置資料的該緩衝區大小。
- 如申請專利範圍第1項所述的基於儲存裝置吞吐量調整緩衝區大小的方法,其中根據該事件的該啟動時間上限及所偵測的該吞吐量,調整一次性讀取該儲存裝置資料的該緩衝區大小的步 驟包括:計算該啟動時間上限與該吞吐量的一乘積,並判斷該乘積與該儲存裝置資料的一目前緩衝區大小的一差值是否超過一門檻值;以及若判斷該差值超過該門檻值,調整一次性讀取該儲存裝置資料的該緩衝區大小為該乘積。
- 如申請專利範圍第3項所述的基於儲存裝置吞吐量調整緩衝區大小的方法,其中判斷該乘積與該儲存裝置資料的該目前緩衝區大小的該差值是否超過該門檻值的步驟更包括:若判斷該差值不超過該門檻值,將該目前緩衝區大小增加一單位大小,以做為後續一次性讀取該儲存裝置資料的該緩衝區大小。
- 如申請專利範圍第1項所述的基於儲存裝置吞吐量調整緩衝區大小的方法,其中該事件包括該應用程式的初始化及操作其中之一。
- 一種電子裝置,包括:一儲存裝置,記錄多個模組;以及一處理器,耦接該儲存裝置,以存取並執行該儲存裝置中記錄的所述模組,所述模組包括:一偵測模組,週期性偵測該電子裝置執行一應用程式的一事件時,讀取該儲存裝置資料的一吞吐量;一調整模組,根據該電子裝置執行該事件的一啟動時間上 限及所偵測的該吞吐量,調整一次性讀取該儲存裝置資料的一緩衝區大小;以及一執行模組,一次性讀取該儲存裝置中該緩衝區大小的資料,以執行該應用程式的該事件。
- 如申請專利範圍第6項所述的電子裝置,其中該調整模組包括計算該啟動時間上限與該吞吐量的一乘積,並與該儲存裝置資料的一目前緩衝區大小比較,而在該目前緩衝區大小小於該乘積時,將該目前緩衝區大小增加一單位大小,以做為該執行模組後續一次性讀取該儲存裝置資料的該緩衝區大小。
- 如申請專利範圍第6項所述的電子裝置,其中該調整模組包括計算該啟動時間上限與該吞吐量的一乘積,並判斷該乘積與該儲存裝置資料的一目前緩衝區大小的一差值是否超過一門檻值,而在判斷該差值超過該門檻值時,調整該執行模組一次性讀取該儲存裝置資料的該緩衝區大小為該乘積。
- 如申請專利範圍第8項所述的電子裝置,其中該調整模組更包括在判斷該差值不超過該門檻值時,將該目前緩衝區大小增加一單位大小,以做為該執行模組後續一次性讀取該儲存裝置資料的該緩衝區大小。
- 如申請專利範圍第6項所述的電子裝置,其中該事件包括該應用程式的初始化及操作其中之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103111947A TW201537453A (zh) | 2014-03-31 | 2014-03-31 | 電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103111947A TW201537453A (zh) | 2014-03-31 | 2014-03-31 | 電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201537453A true TW201537453A (zh) | 2015-10-01 |
Family
ID=54850913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103111947A TW201537453A (zh) | 2014-03-31 | 2014-03-31 | 電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW201537453A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI668569B (zh) * | 2018-03-14 | 2019-08-11 | 群聯電子股份有限公司 | 主機記憶體緩衝區配置方法、記憶體儲存裝置與記憶體控制電路單元 |
CN110297595A (zh) * | 2018-03-21 | 2019-10-01 | 群联电子股份有限公司 | 主机存储器缓冲区配置方法、储存装置与控制电路单元 |
-
2014
- 2014-03-31 TW TW103111947A patent/TW201537453A/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI668569B (zh) * | 2018-03-14 | 2019-08-11 | 群聯電子股份有限公司 | 主機記憶體緩衝區配置方法、記憶體儲存裝置與記憶體控制電路單元 |
CN110297595A (zh) * | 2018-03-21 | 2019-10-01 | 群联电子股份有限公司 | 主机存储器缓冲区配置方法、储存装置与控制电路单元 |
CN110297595B (zh) * | 2018-03-21 | 2022-11-22 | 群联电子股份有限公司 | 主机存储器缓冲区配置方法、储存装置与控制电路单元 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11561914B2 (en) | Storage device and interrupt generation method thereof | |
TWI430094B (zh) | 記憶體儲存裝置、記憶體控制器與溫度管理方法 | |
US9696911B2 (en) | Operation method of nonvolatile memory system and operation method of user system including the same | |
KR102295223B1 (ko) | 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치 | |
US9996460B2 (en) | Storage device, system including storage device and method of operating the same | |
US9424177B2 (en) | Clock switching method, memory controller and memory storage apparatus | |
US20140325122A1 (en) | Nonvolatile memory system including nonvolatile memory device, memory controller and operating method thereof | |
US20170206006A1 (en) | Memory management method, memory storage device and memory control circuit unit | |
US20140372831A1 (en) | Memory controller operating method for read operations in system having nonvolatile memory device | |
US20210334037A1 (en) | Integrated circuit memory devices with enhanced buffer memory utilization during read and write operations and methods of operating same | |
TW201926055A (zh) | 指令處理方法及使用所述方法的儲存控制器 | |
CN112951298A (zh) | 降低稳定阈值电压(vt)读取干扰降级的系统方法 | |
US10635154B2 (en) | Intelligent SAS phy power management | |
WO2018032743A1 (zh) | 一种文件碎片评估方法及终端 | |
TW201537453A (zh) | 電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法 | |
AU2015203828B2 (en) | Implementing enhanced performance with read before write to phase change memory to avoid write cancellations | |
US20240193131A1 (en) | Data storage method and device for data storage | |
KR102583266B1 (ko) | 스토리지 모듈, 스토리지 모듈의 동작 방법, 및 스토리지 모듈을 제어하는 호스트의 동작 방법 | |
JP2005100399A (ja) | 記憶デバイスの構成 | |
WO2019001320A1 (zh) | 追踪方法、装置、设备和机器可读介质 | |
TWI235298B (en) | Method to read the battery status by the operating system of portable computer | |
US8868128B2 (en) | Image display systems and methods of processing image data | |
KR20230067486A (ko) | 스토리지 장치의 고장 예측 방법 및 장치 | |
KR20150102329A (ko) | 데이터 저장 장치 | |
TWI539368B (zh) | 資料寫入方法與系統 |