TWI499906B - Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method - Google Patents

Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method Download PDF

Info

Publication number
TWI499906B
TWI499906B TW097147634A TW97147634A TWI499906B TW I499906 B TWI499906 B TW I499906B TW 097147634 A TW097147634 A TW 097147634A TW 97147634 A TW97147634 A TW 97147634A TW I499906 B TWI499906 B TW I499906B
Authority
TW
Taiwan
Prior art keywords
recombination
storage device
memory
type
causing
Prior art date
Application number
TW097147634A
Other languages
English (en)
Other versions
TW201022937A (en
Original Assignee
Apacer Technology Inc
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 Apacer Technology Inc filed Critical Apacer Technology Inc
Priority to TW097147634A priority Critical patent/TWI499906B/zh
Priority to US12/630,392 priority patent/US8285962B2/en
Publication of TW201022937A publication Critical patent/TW201022937A/zh
Priority to US13/600,620 priority patent/US8578123B2/en
Application granted granted Critical
Publication of TWI499906B publication Critical patent/TWI499906B/zh

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/064Management of blocks
    • 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
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1004Defragmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

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

Description

儲存裝置之記憶體重組方法、電腦可存取之儲存媒體、電腦程式產品、重組方法
本發明是有關於一種記憶體管理方法,特別是指一種儲存裝置的記憶體重組方法。
當電腦的硬碟使用時間一久,硬碟被存取檔案的次數越來越多,使得其中連續的記憶體空間越來越少,而難以將同一個文件或檔案儲存在一連續的記憶體空間中,而必需分成多個片段分散存放在硬碟的多個不連續的記憶體片段或稱碎片(fragments)中,使得讀取文件或檔案時,讀寫頭必須頻繁地尋找每一個碎片的位置而導致硬碟存取效率變差並造成讀寫頭的損耗。
因此為了解決上述問題以回復硬碟的存取效能,現行有許多種磁碟重組軟體分別應用不同的演算法對硬碟進行記憶體重組,將其中的檔案重新排列組合,使同一檔案或文件儘可能儲存在一連續的記憶體空間並使空出的其它記憶體空間也儘可能是連續的,而改善硬碟的存取效能。
快閃記憶體由於半導體製程技術的提升,使得其單位面積儲存容量越來越大而成為足以取代硬碟的固態硬碟,是目前儲存裝置的新寵。且固態硬碟由於容量大,使用時間一久同樣會產生上述存取效能降低問題,而同樣需要藉由記憶體重組來改善存取效能,但是由於快閃記憶體有存取次數的限制,重組時過度的存取將會嚴重影響到其使用壽命,也因為固態硬碟有此一存取壽命的限制,因此現有 的記憶體重組軟體都只能單獨針對硬碟或固態硬碟,而不能同時應用在硬碟及固態硬碟的記憶體重組上。
因此,本發明之目的,即在提供一種儲存裝置之記憶體重組方法,其可以針對儲存裝置的不同記憶體型態,提供不同的記憶體重組方法,以在對儲存裝置的使用壽命影響降到最低的情況下,達到改善儲存裝置存取效率的目的。
於是,本發明儲存裝置之記憶體重組方法,是以一軟體程式實現,該軟體程式中預備有多種針對不同記憶體型態的儲存裝置的記憶體重組軟體,並且可以自動或依使用者選擇,判斷一儲存裝置是否需要進行記憶體重組,若是,接著判斷該待重組之儲存裝置的記憶體型態,例如是硬碟或SLC型態、MLC型態或TLC型態的快閃記憶體,以從該等記憶體重組軟體中選擇一適合該儲存裝置之記憶體型態的記憶體重組軟體對該待重組的儲存裝置進行記憶體重組。
而且,軟體程式可以依據儲存裝置的識別碼、儲存容量、存取速度、連接介面來判斷儲存裝置的記憶體型態。
所以當軟體程式判斷該待重組的儲存裝置是一硬碟時,則其選擇的記憶體重組軟體會對該硬碟中所有記憶體進行重組。而當其判斷該待重組之儲存裝置的記憶體型態是一單層單元或多層單元的快閃記憶體時,則其選擇的記憶體重組軟體會以一降低記憶體存取次數的演算法對該固態 硬碟進行記憶體重組,使儲存裝置不致因進行記憶體重組而降低使用壽命。
較佳地,該降低記憶體存取次數的演算法可以是只對該儲存裝置中包含超過M(例如M=10)個檔案碎片的檔案進行記憶體重組,只對該儲存裝置中少於N(例如N=20mega)個位元組的檔案碎片或空間碎片進行記憶體重組,只對記憶體容量大於某一容量例如1GB的儲存裝置進行記憶體重組,只對該儲存裝置中的特定型態檔案進行記憶體重組,或只對該儲存裝置中特定路徑底下的檔案進行記憶體重組。
此外,本發明儲存裝置之記憶體重組方法也可應用在同一儲存裝置中,它會先判斷儲存在一待重組之儲存裝置中的檔案是否符合一重組條件,若是,則對符合該重組條件的檔案進行記憶體重組。其中該重組條件可以是指包含超過M個記憶體碎片的檔案、少於N個位元組的檔案碎片、某一特定型態的檔案或存在於某一特定檔案路徑底下的檔案。
再者,本發明儲存裝置之記憶體重組方法也可藉由判斷儲存裝置的記憶體容量大小來決定是否對該儲存裝置進行記憶體重組。例如只對記憶體容量大於1G的儲存裝置進行記憶體重組。
本發明之軟體程式藉由在對儲存裝置進行記憶體重組前,先判斷儲存裝置的記憶體型態,以選擇對該儲存裝置最佳的記憶體重組軟體,除了可以改善儲存裝置的存取效 率外,亦可以確保對使用快閃記憶體之儲存裝置的使用壽命的影響降至最低。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之一個較佳實施例的詳細說明中,將可清楚的呈現。
參閱圖1,是本發明儲存裝置之記憶體重組方法的一較佳實施例,該實施例是以一軟體程式實現,該軟體程式可被預先內建在個人電腦的作業系統中或是一個可被個人電腦從外部載入執行的應用程式。
如圖2所示,目前個人電腦100除了使用硬碟10或固態硬碟20做為主要的資料儲存媒體外,為了方便使用者攜帶資料以及擴充儲存容量,個人電腦上還會設置許多儲存裝置的連接介面(圖未示),例如USB插槽、PCMCIA插槽、PCIe插槽、CF插槽、SD插槽、XD插槽、MS插槽等,以供不同存取介面的儲存裝置,例如隨身碟30、PC卡40、Express卡50、各種規格的記憶卡60等連接以存取資料。
但是不論是硬碟或是上述儲存裝置,一旦使用時間一久,其中記錄的檔案就會因為記憶體儲存空間不連續,而被分散存放在不連續的多個記憶體碎片中,導致電腦系統存取效率不彰,影響電腦系統執行效能。因此需要適時對上述儲存裝置進行記憶體重組,使重新安排檔案儲存位置以改善儲存裝置的存取效率。
然不同儲存裝置的記憶體型態不同,特性各異,例如 硬碟一般是沒有存取次數的限制,但快閃記憶體就有存取次數的壽命限制,固態硬碟或是記憶卡若是採用單層單元(Single Level Cell,簡稱SLC)型態的快閃記憶體,則其使用壽命約為可以存取100K次,若是採用多層單元(Multi-level Cell,簡稱MLC)型態的快閃記憶體則只有約10K次存取的壽命。
而對快閃記憶體進行記憶體重組時,由於搬動資料的過程中會用掉存取的次數,因此需要更謹慎考量記憶體重組的方式,以避免對快閃記憶體過度存取。而硬碟由於沒有存取次數限制的問題,因此其記憶體重組時並不太需要考慮使用壽命的問題,所以習知重組硬碟的方式並不適合用來重組快閃憶體。
因此,本實施例主要是一個可以針對個人電腦所連接的每一個儲存裝置提供適合的記憶體重組軟體的方法,其會判斷待重組之儲存裝置的記憶體型態,以針對不同記憶體型態的儲存裝置提供適合的記憶體重組方式,以在改善儲存裝置存取效率的情況下,不致嚴重影響到儲存裝置的使用壽命。
因此,本實施例為實現上述目的,所執行記憶體重組之機制如下:首先如步驟S1所示,本實施例之軟體程式中預備了多種針對不同記憶體型態(例如硬碟、SLC型態快閃記憶體、MLC型態快閃記憶體、三層單元(Three Level Sell,簡稱TLC)型態快閃記憶體或其它非揮發性記憶體)的儲存裝置的 記憶體重組軟體,因此其中至少包含一硬碟重組軟體、一SLC型態記憶體重組軟體、一MLC型態記憶體重組軟體及一TLC型態記憶體重組軟體。硬碟重組軟體的記憶體重組方式如同現有硬碟重組軟體的做法,它在硬碟中的檔案碎片(file fragment)或空間碎片(free space fragment)的數量(fragment rate)達到需要重組的程度,就直接進行記憶體重組。
而SLC型態記憶體重組軟體會利用一降低記憶體存取次數的重組演算法,以在記憶體重組過程中儘量降低資料搬動的次數。該演算法會先判斷儲存裝置中儲存的檔案或是記憶體未使用空間是否符合一重組條件,例如判斷每一筆檔案的碎片數,或是記憶體中的空間碎片數是否大於一定值M,例如M=10,若是,表示檔案或記憶空間被切割的太碎太散,會影響存取的效率,因此只針對符合重組條件,亦即碎片數大於10的檔案或當空間碎片數大於10時進行記憶體重組。
而MLC型態記憶體重組軟體由於是針對有效存取次數更為有限的MLC型態記憶體,因此它會利用另一種降低記憶體存取次數的重組演算法,使在記憶體重組時更減少存取次數,例如它只會對小於N個bytes,例如N=20K的檔案碎片進行記憶體重組,或者不對大於例如100Kbytes的檔案碎片進行重組,以在降低資料搬動次數的情況下仍能達到一定程度的記憶體重組效果。
至於TLC型態記憶體重組軟體,也可以同如上述做法 ,設定不同的重組條件,例如除了上述SLC及MLC型態記憶體考量的重組條件之外,也可以考量儲存裝置的記憶體容量以判斷是否進行重組,例如對於外接記憶卡而言,若判斷其儲存容量低於某一容量例如1GB,因為儲存空間不太,原則上對於存取效率不致造成太大影響,因此不需要進行重組。或者考量儲存裝置中儲存之檔案的檔案型態以決定是否進行重組,例如.doc或.txt等檔案型態的檔案因為資料少,進行記憶體重組時並不會造成資料大量搬動,故適於進行檔案重組。但是對於影像檔之類資料量龐大的檔案,由於會造成搬動次數過多,對於SLC、MLC或TLC型態的儲存裝置之使用壽命有不利的影響,則不對該影像檔進行記憶體重組。
此外,重組條件也可考量只針對儲存裝置中某一特定檔案路徑,例如C:/槽或D:/槽底下的檔案進行重組或不進行重組。另,重組條件亦可考量僅對資料碎片或僅對空間碎片進行重整。
當然本實施例中的硬碟重組軟體也可以根據上述重組條件對硬碟進行有條件的記憶體重組,而不需每次都對記憶體中的所有檔案或空間碎片進行記憶體重組,以適時節省系統效能。
步驟S2:本實施例之軟體程式會在電腦系統運作狀態下透過作業系統自動監測每一儲存裝置的記憶體使用狀態,並根據儲存裝置中的記憶體碎片率(fragment rate)決定是否對該儲存裝置進行記憶體重組。記憶體碎片率包含了檔 案碎片(file fragment)數及空間碎片(free space fragment)數,當檔案碎片數及/或空間碎片數達到一預設值時,本實施例即啟動記憶體重組機制,且為了對儲存裝置進行最佳的記憶體重組,以提升存取效率並且避免因記憶體重組而大大減少儲存裝置的使用壽命,本實施例在執行記憶體重組之前,會先判斷待重組的儲存裝置的記憶體是屬於那一種型態,例如硬碟、SLC型態、MLC型態或TLC型態的快閃記憶體等。而判斷儲存裝置記憶體型態的方法有很多種,例如可以透過作業系統取得儲存裝置的ID、儲存容量(硬碟容量通常遠大於記憶卡,一般也大於固態硬碟)、存取速度(硬碟<MLC型態記憶體<SLC型態記憶體)、連接介面(例如硬碟是SATA介面而記憶卡可能是USB介面、PC介面、PCIe介面、CF、SD、XD等介面)等來判斷儲存裝置的記憶體類型。
然後,如步驟S3,根據判斷結果,從前述預備的該等記憶體重組軟體中選擇適當的記憶體重組軟體對待重組之儲存裝置進行記憶體重組。
此外,本實施例除了上述對應不同儲存裝置使用不同的記憶體重組軟體外,這些重組軟體也可被應用在同一個儲存裝置的記憶體重組,亦即當要對一儲存裝置的記憶體進行重組之前,可以先判斷其中的檔案是否符合一重組條件,再對符合重組條件的檔案進行記憶體重組。重組條件可以是例如包含超過10個記憶體碎片的檔案、小於20MB的檔案碎片或空間碎片(free space)、某一特定型態的檔案或 存在於某一特定檔案路徑底下的檔案。
再者,本實施例雖然可以透過作業系統判斷儲存裝置的記憶體型態並自動選擇適合的記憶體重組軟對對待重組的儲存裝置進行記憶體重組,本實施例亦可因應使用者需求,提供一操作選單,列出所有可以被電腦系統偵測到的儲存裝置,供使用者以手動方式自行選擇要被重組的儲存裝置。
或者,本實施例之軟體程式在實作上,也可以提供一操作介面,列出所有可以被電腦系統偵測到的儲存裝置,並針對每一儲存裝置提供「即時(real tim)」、「排程(scheduled)」或「手動(manual)」等選項供使用者勾選執行記憶體重組的方式,並提供如上述之重組條件供使用者設定,例如當使用者勾選「即時」選項,並設定重組條件是針對檔案碎片大於20的檔案時,則記憶體重組軟體即會在電腦系統運作背景下,隨時對儲存裝置中檔案碎片大於20的檔案進行記憶體重組。若使用者勾選「排程」選項,則除了可設定上述重組條件外,還可進一步設定要進行記憶體重組的時間,例如每周一的上午10點鐘或其它時段等。而若使用者勾選「手動」選項,則軟體程式會在收到使用者下達的重組指令後,才會對該儲存裝置進行記憶體重組。
此外,值得一提的是,本實施例上述之記憶體重組方法,除了可以應用在硬碟、快閃記憶體等儲存裝置外,也可以應用在其它以非揮發性記憶體做為儲存單元的儲存裝 置上,並不以本實施例為限。
綜上所述,本實施例之軟體程式針對不同記憶體型態的儲存裝置,預備多個記憶體重組軟體,並在對儲存裝置進行記憶體重組前,判斷儲存裝置的記憶體型態,以選擇對該儲存裝置最佳的記憶體重組軟體,使確保在改善儲存裝置之存取效率的情況下,將對於儲存裝置的使用壽命的影響降至最低,而達成本發明之目的。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
S1~S3‧‧‧步驟
100‧‧‧個人電腦
10‧‧‧硬碟
20‧‧‧固態硬碟
30‧‧‧隨身碟
40‧‧‧PC卡
50‧‧‧Express卡
60‧‧‧記憶卡
圖1是本發明儲存裝置之記憶體重組方法的一較佳實施例流程圖;及圖2顯示一般個人電腦可能連接的周邊儲存裝置。
S1~S3‧‧‧步驟

Claims (31)

  1. 一種儲存裝置之記憶體重組方法,包括:A、預備多種針對不同記憶體型態的儲存裝置的記憶體重組軟體;及B、判斷一待重組之儲存裝置的記憶體型態,並根據判斷結果,選擇該等記憶體重組軟體其中之一對該待重組之儲存裝置的使用壽命影響最低者,以對該待重組之儲存裝置進行記憶體重組,其中,在步驟B中,係依據儲存裝置的識別碼、儲存容量、存取速度及連接介面其中之一來判斷儲存裝置的記憶體型態。
  2. 依據申請專利範圍第1項所述之方法,在步驟B中,當判斷該待重組之儲存裝置是一硬碟,則該被選擇之記憶體重組軟體是對該硬碟中所有記憶體進行重組。
  3. 依據申請專利範圍第1項所述之方法,在步驟B中,當判斷該待重組之儲存裝置的記憶體型態是一單層單元或多層單元的快閃記憶體時,則該被選擇之記憶體重組軟體會以一降低記憶體存取次數的演算法對該儲存裝置進行記憶體重組。
  4. 依據申請專利範圍第3項所述之方法,其中該降低記憶體存取次數的演算法只對該儲存裝置中包含超過一特定檔案碎片數的檔案進行記憶體重組。
  5. 依據申請專利範圍第3項所述之方法,其中該降低記憶體存取次數的演算法只對該儲存裝置中少於一特定數量 位元組的檔案碎片或空間碎片進行記憶體重組。
  6. 依據申請專利範圍第3項所述之方法,其中該降低記憶體存取次數的演算法只對記憶體容量大於一特定值的儲存裝置進行記憶體重組。
  7. 依據申請專利範圍第3項所述之方法,其中該降低記憶體存取次數的演算法只對該儲存裝置中的特定型態檔案進行記憶體重組。
  8. 依據申請專利範圍第3項所述之方法,其中該降低記憶體存取次數的演算法只對該儲存裝置中特定路徑底下的檔案進行記憶體重組。
  9. 一種電腦可存取之儲存媒體,其中記錄有一軟體程式,用以執行申請專利範圍第1~8項其中任一項所述的方法。
  10. 一種電腦程式產品,用以執行申請專利範圍第1~8項其中任一項所述的方法。
  11. 一種重組方法,包括:判斷一儲存裝置的型態,其中係依據該儲存裝置的識別碼、儲存容量、存取速度及連接介面其中之一來判斷該儲存裝置的型態;從多數個用以在多數種儲存裝置型態上執行重組的重組演算法中,選擇一個對應於該儲存裝置的型態的重組演算法;及使所述多數個重組演算法其中的一個用以在具有非揮發型態、固態型態、快閃記憶體型態及硬碟型態其 中一種型態的該儲存裝置上執行重組。
  12. 依據申請專利範圍第11項所述之重組方法,還包括下列步驟:使所述多數個重組演算法其中的一個用以在具有一第一存取次數限制的一型態的該儲存裝置上執行重組;及使所述多數個重組演算法其中的另一個用以在具有一第二存取次數限制的一型態的該儲存裝置上執行重組,且該第二存取次數限制大於該第一存取次數限制。
  13. 依據申請專利範圍第11項所述之重組方法,還包括下列步驟:使所述多數個重組演算法其中的一個用以在具有一較短使用壽命的一型態的該儲存裝置上執行重組;及使所述多數個重組演算法其中的另一個用以在具有一較長使用壽命的一型態的該儲存裝置上執行重組。
  14. 依據申請專利範圍第11項所述之重組方法,還包括下列步驟:使所述多數個重組演算法其中的一個用以在具有一較快存取速度的一型態的該儲存裝置上執行重組;及使所述多數個重組演算法其中的另一個用以在具有一較慢存取速度的一型態的該儲存裝置上執行重組。
  15. 依據申請專利範圍第11項所述之重組方法,還包括下列步驟:使所述多數個重組演算法其中的一個用以在具有一較大容量的一型態的該儲存裝置上執行重組;及使所述多數個重組演算法其中的另一個用以在具有一較小容量的一型態的該儲存裝置上執行重組。
  16. 依據申請專利範圍第11項所述之重組方法,還包括下列步驟:使所述多數個重組演算法其中的一個用以在具有一第一連接介面的一型態的該儲存裝置上執行重組;及使所述多數個重組演算法其中的另一個用以在具有一不同於該第一連接介面的第二連接介面的一型態的該儲存裝置上執行重組。
  17. 依據申請專利範圍第11項所述之重組方法,還包括下列步驟:使所述多數個重組演算法其中的一個用以在具有一第一識別碼的一型態的該儲存裝置上執行重組;及使所述多數個重組演算法其中的另一個用以在具有一不同於該第一識別碼的第二識別碼的一型態的該儲存裝置上執行重組。
  18. 依據申請專利範圍第11項所述之重組方法,還包括下列步驟:使所述多數個重組演算法其中的一個用以在具有 與一預定的存取速度、一預定的容量、一預定的連接介面及一預定的識別碼其中之一有關的一型態的該儲存裝置上執行重組。
  19. 依據申請專利範圍第11項所述之重組方法,還包括下列步驟:使所述多數個重組演算法其中的一個在該具有一特定存取次數限制的一型態的儲存裝置上執行重組時,能減少存取次數。
  20. 一種重組方法,包括:使多數個重組程式分別對應多數個儲存裝置型態;判斷一儲存裝置的型態,其中係依據該儲存裝置的識別碼、儲存容量、存取速度及連接介面其中之一來判斷該儲存裝置的型態;執行所述多數個重組程式中對應該儲存裝置的型態的重組程式;及使所述多數個重組程式其中的一個對應非揮發型態、固態型態、快閃記憶體型態及硬碟型態其中一種儲存裝置型態。
  21. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式其中的一個對應具有一第一存取次數限制的一儲存裝置型態;及使所述多數個重組程式其中的另一個對應具有一 第二存取次數限制的一儲存裝置型態,且該第二存取次數限制大於該第一存取次數限制。
  22. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式其中的一個對應具有一較短使用壽命的一儲存裝置型態;及使所述多數個重組程式其中的另一個對應具有一較長使用壽命的一儲存裝置型態。
  23. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式其中的一個對應具有一較快存取速度的一儲存裝置型態;及使所述多數個重組程式其中的另一個用以在具有一較慢存取速度的一儲存裝置型態。
  24. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式其中的一個對應具有一較大容量的一儲存裝置型態;及使所述多數個重組程式其中的另一個對應具有一較小容量的一儲存裝置型態。
  25. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式其中的一個對應具有一第一連接介面的一儲存裝置型態;及 使所述多數個重組程式其中的另一個對應具有一不同於該第一連接介面的第二連接介面的一儲存裝置型態。
  26. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式其中的一個對應具有一第一識別碼的一儲存裝置型態;及使所述多數個重組程式其中的另一個對應具有一不同於該第一識別碼的第二識別碼的一儲存裝置型態。
  27. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式其中的一個對應具有與一預定的存取速度、一預定的容量、一預定的連接介面及一預定的識別碼其中之一有關的一儲存裝置型態。
  28. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式中對應具有一特定存取次數限制的一儲存裝置型態的一重組程式,能減少存取次數。
  29. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式中對應具有一特定存取次數限制的一儲存裝置型態的一重組程式,不進行重組而將存取次數降為零。
  30. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:使所述多數個重組程式中對應固態型態及快閃記憶體型態其中一種儲存裝置型態的一重組程式,不進行重組而將存取次數降為零。
  31. 依據申請專利範圍第20項所述之重組方法,還包括下列步驟:該重組方法依存取速度、容量、連接介面及識別碼其中之一來判斷儲存裝置型態。
TW097147634A 2008-12-08 2008-12-08 Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method TWI499906B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW097147634A TWI499906B (zh) 2008-12-08 2008-12-08 Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method
US12/630,392 US8285962B2 (en) 2008-12-08 2009-12-03 Defragmentation method for a machine-readable storage device
US13/600,620 US8578123B2 (en) 2008-12-08 2012-08-31 Defragmentation method for a machine-readable storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097147634A TWI499906B (zh) 2008-12-08 2008-12-08 Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method

Publications (2)

Publication Number Publication Date
TW201022937A TW201022937A (en) 2010-06-16
TWI499906B true TWI499906B (zh) 2015-09-11

Family

ID=42232351

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097147634A TWI499906B (zh) 2008-12-08 2008-12-08 Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method

Country Status (2)

Country Link
US (2) US8285962B2 (zh)
TW (1) TWI499906B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI499906B (zh) * 2008-12-08 2015-09-11 Apacer Technology Inc Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method
US8924632B2 (en) * 2011-09-16 2014-12-30 Apple Inc. Faster tree flattening for a system having non-volatile memory
US9141533B2 (en) 2012-05-31 2015-09-22 Silicon Motion, Inc. Data storage device and flash memory control method for performing garbage collection
US20140229657A1 (en) * 2013-02-08 2014-08-14 Microsoft Corporation Readdressing memory for non-volatile storage devices
US9652154B2 (en) * 2014-02-05 2017-05-16 Sandisk Technologies Llc Storage module and host device for storage module defragmentation
KR102317599B1 (ko) * 2014-05-26 2021-10-26 삼성전자 주식회사 전자 장치 및 전자 장치의 단편화 분석 방법
US10216536B2 (en) * 2016-03-11 2019-02-26 Vmware, Inc. Swap file defragmentation in a hypervisor
CN107506496B (zh) * 2017-09-28 2021-10-22 北京小米移动软件有限公司 碎片整理方法、装置及计算机可读存储介质
US11971864B2 (en) * 2022-06-30 2024-04-30 Oracle International Corporation Online merging of fragmented computing resources across storage servers by tenant in cloud environments

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248259A1 (en) * 2005-04-15 2006-11-02 Ryu Dong-Ryul Data storage device and method using heterogeneous nonvolatile memory
US20070022416A1 (en) * 2005-07-15 2007-01-25 Yukio Masuda Execution device and application program
TW200846911A (en) * 2007-04-19 2008-12-01 Microsoft Corp Composite solid state drive identification and optimization technologies

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251323B (en) 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5832525A (en) 1996-06-24 1998-11-03 Sun Microsystems, Inc. Disk fragmentation reduction using file allocation tables
US5930828A (en) * 1997-03-26 1999-07-27 Executive Software International Real-time apparatus and method for minimizing disk fragmentation in a computer system
TW477932B (en) 1999-03-23 2002-03-01 Ibm Memory defragmentation in chipcards
US6571261B1 (en) 2000-07-13 2003-05-27 International Business Machines Corporation Defragmentation utility for a shared disk parallel file system across a storage area network
US8051115B2 (en) * 2004-09-08 2011-11-01 Koby Biller Measuring fragmentation on direct access storage devices and defragmentation thereof
US20060149899A1 (en) * 2004-12-30 2006-07-06 Zimmer Vincent J Method and apparatus for ongoing block storage device management
TWI499906B (zh) * 2008-12-08 2015-09-11 Apacer Technology Inc Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method
US8140804B1 (en) * 2008-12-17 2012-03-20 Symantec Corporation Systems and methods for determining whether to perform a computing operation that is optimized for a specific storage-device-technology type

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248259A1 (en) * 2005-04-15 2006-11-02 Ryu Dong-Ryul Data storage device and method using heterogeneous nonvolatile memory
US20070022416A1 (en) * 2005-07-15 2007-01-25 Yukio Masuda Execution device and application program
TW200846911A (en) * 2007-04-19 2008-12-01 Microsoft Corp Composite solid state drive identification and optimization technologies

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Diskeeper," User's Manual DiskeeperP® for WindowsP®",2007/10,http://downloads.condusiv.com/pdf/Diskeeper2008-User-Manual.pdf *
Roy Kung,"To Improve Your Storage Operation Performance SSD+OPtimzer",2008/09/30,http://www.digitimes.com.tw/tw/B2B/Seminar/Service/download/0529709230/Apacer_970923-03.pdf *

Also Published As

Publication number Publication date
US20100146195A1 (en) 2010-06-10
US20120331214A1 (en) 2012-12-27
US8578123B2 (en) 2013-11-05
TW201022937A (en) 2010-06-16
US8285962B2 (en) 2012-10-09

Similar Documents

Publication Publication Date Title
TWI499906B (zh) Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method
US20210397383A1 (en) Rate Limit On The Transitions Of Zones To Open
US8151020B2 (en) Storage subsystem with configurable buffer
US8819334B2 (en) Solid state drive data storage system and method
US8799747B2 (en) Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
JP4537482B2 (ja) 直接データファイル記憶メモリにおけるデータ統合およびガベージコレクション
TWI506430B (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
JP5418808B2 (ja) 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
TW201619971A (zh) 耦合至主機dram之綠能與非固態硬碟(nand ssd)驅動器、gnsd應用程式及其操作方法和電腦系統主機、增加非揮發快閃記憶儲存器耐久性之方法
Haas et al. The fundamental limit of flash random write performance: Understanding, analysis and performance modelling
US20130073798A1 (en) Flash memory device and data management method
US20120284587A1 (en) Super-Endurance Solid-State Drive with Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear
US20190294345A1 (en) Data-Retention Controller Using Mapping Tables in a Green Solid-State-Drive (GNSD) for Enhanced Flash Endurance
US20150242310A1 (en) Data Accessing Method And Data Accessing Apparatus
US8161251B2 (en) Heterogeneous storage array optimization through eviction
KR20130032157A (ko) 데이터 저장 장치 및 그것의 데이터 쓰기 방법
US20180129604A1 (en) Storage device and data processing system including the same
JP2009503744A (ja) 予定再生操作を伴う不揮発性メモリ
US20180129416A1 (en) Storage device and data processing system including the same
CN107678685B (zh) 基于闪存的存储路径优化的键值存储管理方法
TW201441927A (zh) 一種固態硬碟裝置
TWI517165B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US9928177B2 (en) Managing method for cache memory of solid state drive
US9652172B2 (en) Data storage device performing merging process on groups of memory blocks and operation method thereof
KR102032878B1 (ko) 플래시 메모리 컨트롤러의 에러 정정 방법

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees