[go: up one dir, main page]

TWI773371B - 固態硬碟 - Google Patents

固態硬碟 Download PDF

Info

Publication number
TWI773371B
TWI773371B TW110120935A TW110120935A TWI773371B TW I773371 B TWI773371 B TW I773371B TW 110120935 A TW110120935 A TW 110120935A TW 110120935 A TW110120935 A TW 110120935A TW I773371 B TWI773371 B TW I773371B
Authority
TW
Taiwan
Prior art keywords
volatile memory
solid
disk
logical
controller
Prior art date
Application number
TW110120935A
Other languages
English (en)
Other versions
TW202248859A (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 TW110120935A priority Critical patent/TWI773371B/zh
Application granted granted Critical
Publication of TWI773371B publication Critical patent/TWI773371B/zh
Publication of TW202248859A publication Critical patent/TW202248859A/zh

Links

Images

Landscapes

  • Valve-Gear Or Valve Arrangements (AREA)
  • Lubrication Of Internal Combustion Engines (AREA)
  • Control Of Stepping Motors (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一種固態硬碟,其包含電路板、非揮發性記憶體模組以及控制器。非揮發性記憶體模組設置於電路板上,並包含多個用以儲存資料的非揮發性記憶體區塊。作業系統安裝於由至少部分的非揮發性記憶體區塊所形成的邏輯磁碟中。控制器設置於電路板上,且耦接於非揮發性記憶體模組,並用以執行韌體,以對非揮發性記憶體區塊進行主動式修剪操作。

Description

固態硬碟
本發明係有關於一種固態硬碟,尤其是有關於一種可主動地進行修剪(TRIM)操作的固態硬碟。
近年來固態硬碟(Solid State Drive;SSD)已經逐漸取代傳統的硬碟,因此各種作業系統為了提升固態硬碟的效能,而提出各種專屬固態硬碟的指令,而其中TRIM指令就是這些指令當中對於固態硬碟的效能及穩定度有很大幫助的指令。
TRIM指令主要是由作業系統發起,讓作業系統通知固態硬碟哪些LBA位置上的資料已經是無效的資料,以使固態硬碟先進行內部的垃圾回收(Garbage Collection ;簡稱GC)操作,釋放出記憶體區塊供以後使用。這樣的方式雖然可以有效地釋放記憶體區塊,但是早期的作業系統並不支援TRIM這個指令。對於使用不支援TRIM作業系統的使用者來說,其長期使用下來,固態硬碟的效能會因頻繁的垃圾回收(GC)操作,而導致使用體驗上會有頓挫感。另外,TRIM指令必須由作業系統下達給固態硬碟,而作業系統下達TRIM指令的時間點對於固態硬碟來說是否為最佳的時機點則是有待商榷。
本發明一實施例提供一種固態硬碟(Solid State Drive;SSD),其包含電路板、非揮發性記憶體模組以及控制器。非揮發性記憶體模組設置於電路板上,並包含多個用以儲存資料的非揮發性記憶體區塊。作業系統安裝於由至少部分的非揮發性記憶體區塊所形成的一邏輯磁碟(logic disk)中。控制器設置於電路板上,且耦接於非揮發性記憶體模組,並用以執行韌體,以對非揮發性記憶體區塊進行主動式修剪操作。主動式修剪操作包含:依據固態硬碟的一邏輯實體對照表(Logical-to-Physical table;L2P table),取得固態硬碟的一磁碟分割表;依據邏輯實體對照表及磁碟分割表,從非揮發性記憶體區塊讀取作業系統的一檔案系統的資訊;依據檔案系統的資訊,判斷邏輯磁碟中的哪些非揮發性記憶體區塊可被回收使用;以及將被判斷為可被回收使用的非揮發性記憶體區塊回收使用。
第1圖是安裝有本發明一實施例之固態硬碟100的電腦系統1的功能方塊圖,第2圖繪示了第1圖中的非揮發性記憶體模組120所儲存的相關資料。固態硬碟100包含電路板110、非揮發性記憶體模組120以及控制器130。非揮發性記憶體模組120設置於電路板110上,並包含多個用以儲存資料的非揮發性記憶體區塊122。每一非揮發性記憶體區塊122可以是快閃記憶體。非揮發性記憶體模組120可被分割成一個或多個邏輯磁碟(logic disk),而每一邏輯磁碟可包含全部或部分的非揮發性記憶體區塊122。其中的一個邏輯磁碟之中安裝有一作業系統。控制器130設置於電路板110上,且耦接於非揮發性記憶體模組120,並用以執行韌體132以對非揮發性記憶體區塊122進行程式化、抹除、讀取、主動式修剪操作等相關的操作。
固態硬碟100另包含一傳輸介面140,耦接於電腦系統1的處理器10。處理器10可執行儲存在非揮發性記憶體模組120中的作業系統的程式碼170,以控制電腦系統1的操作,並對固態硬碟100進行資料存取。在本發明一實施例中,當控制器130在超過一預定時間(例如:5分鐘或其他預設時間長度)沒有從傳輸介面140接收到處理器10的任何指令時,控制器130即可主動地執行主動式修剪操作,而無須等待處理器10所執行的作業系統下達修剪(TRIM)指令。
第3圖是第1圖之固態硬碟執行主動式修剪操作300時的流程圖。主動式修剪操作300可包含下述步驟:
步驟S310:控制器130讀取邏輯磁碟的邏輯區塊位址(Logical Block Address;簡稱LBA)資訊;其中,所被讀取的邏輯磁碟安裝有處理器10所執行的作業系統的程式碼170,而控制器130在此步驟中可先讀取儲存在非揮發性記憶體模組120中邏輯實體對照表(Logical-to-Physical table;L2P table)152,並依據邏輯實體對照表152讀取固態硬碟100的磁碟分割表154,進而依據磁碟分割表154,得知邏輯磁碟的起始位置156,並得知作業系統是哪一種作業系統以及其檔案系統資訊160,而上述的磁碟分割表154例如是主開機記錄〈Master Boot Record;簡稱MBR〉或是GUID磁碟分割表(GUID Partition Table;簡稱GPT);
步驟S320:控制器130判斷韌體132是否可辨識出檔案系統資訊160的格式,以執行主動式的修剪;若韌體132可辨識所述檔案系統資訊160的格式,則進行主動式的修剪,即執行步驟S340至S360;若韌體132無法辨識所述檔案系統資訊160的格式,則執行步驟S330;
進一步的說明,在步驟S320中,韌體132預設會被設定成可辨識出常用或特定檔案系統資訊的格式,例如NTFS、FAT 32等,當此檔案系統資訊160的格式為NTFS或FAT 32其中之一時,則將會執行步驟S340,反之,若是此檔案系統資訊160的格式不在韌體132所預設的涵蓋內容時,以FAT 16為例,則此時將會執行步驟S330。
步驟S330:進行被動式修剪操作;即以傳統的方式由作業系統對固態硬碟100下達修剪(TRIM)指令,以對固態硬碟100進行修剪操作;其中,若作業系統並不支援TRIM指令,則此步驟S330可省略;
步驟S340:控制器130分析邏輯磁區的系統架構;在此步驟中,控制器130可取得作業系統的檔案系統資訊160,亦即控制器130可得知作業系統是使用哪一種檔案系統(File system)來管理上述的邏輯磁碟;
步驟S350:控制器130取得邏輯磁碟的非揮發性記憶體區塊122的空間分佈;以所安裝的作業系統為Windows 7為例,控制器130在此步驟中可取得作業系統的主要檔案表(Master File Table;MFT)162及點陣圖(Bitmap)164;其中點陣圖164用以記錄邏輯磁碟的各個非揮發性記憶體區塊122的被使用情況,而控制器130可依據點陣圖164得知邏輯磁碟中的哪些非揮發性記憶體區塊122可被回收使用;以及
步驟S360:控制器130將被判斷為可被回收使用的非揮發性記憶體區塊122回收使用。
在步驟S350中,當邏輯磁碟的某非揮發性記憶體區塊122所對應的點陣圖164中的位元的值為第一位元值(例如:0)時,控制器130則判斷此非揮發性記憶體區塊122為可被回收使用的非揮發性記憶體區塊122,並將非揮發性記憶體區塊122回收使用;當邏輯磁碟的某非揮發性記憶體區塊122所對應的點陣圖164中的位元的值為第二位元值(例如:1)時,控制器130則判斷此非揮發性記憶體區塊122為不可被回收使用的非揮發性記憶體區塊122。此外,當控制器130將被判斷為可被回收使用的非揮發性記憶體區塊122回收使用時,控制器130可以對可被回收使用的非揮發性記憶體區塊122進行資料抹除。
第4圖是當作業系統為WINDOWS 7且檔案系統為NTFS時,本發明之主動式修剪操作400的流程圖。主動式修剪操作400包含下列步驟:
步驟S410:控制器130依據固態硬碟100的邏輯實體對照表(L2P table)152讀取固態硬碟100的磁碟分割表154,而磁碟分割表154一般儲存在邏輯磁碟的第一個非揮發性記憶體區塊122(即LBA 0);
步驟S420:控制器130依據磁碟分割表154,得知邏輯磁碟的起始位置156(即開機(Boot)磁區的位置);
步驟S430:控制器130依據邏輯磁碟的起始位置156,得知作業系統的主要檔案表(MFT)162的位址;
步驟S440:控制器130依據主要檔案表(MFT)162的位址,取得點陣圖(Bitmap)164,以依據點陣圖164判斷邏輯磁碟中的哪些非揮發性記憶體區塊122可被回收使用;以及
步驟S450:控制器130將被判斷為可被回收使用的非揮發性記憶體區塊122回收使用。
對於檔案系統為FAT的邏輯磁區來說,步驟S440中所取得的點陣圖164可被FAT檔案系統的檔案配置表(FATTable1)所取代;對於檔案系統為EXT的邏輯磁區來說,步驟S440中所取得的點陣圖164可被EXT檔案系統的區塊圖(blockmap)所取代;對於檔案系統為HFS+的邏輯磁區來說,步驟S440中所取得的點陣圖164可被HFS+檔案系統的配置檔案(Allocation File)所取代。
上述主動式修剪操作300和400的觸發時機可以是當控制器130在超過一預定時間(例如:5分鐘或其他預設時間長度)沒有從傳輸介面140接收到處理器10的任何指令時,由控制器130主動地執行。然而,本發明並不以此為限,例如在本發明另一實施例中,則允許使用者透過電腦系統1所執行的程式,主動地命令固態硬碟100的控制器130執行上述主動式修剪操作300或400。
在上述實施例中,固態硬碟100可透過控制器130所執行的韌體132,對非揮發性記憶體模組120進行分析,而得知各非揮發性記憶體區塊122的被使用狀況,進而可對非揮發性記憶體區塊122進行主動式修剪操作,而無須等待作業系統對固態硬碟100下達TRIM指令。再者,對於不支援TRIM指令的作業系統(如WINDOWS 95),透過本發明,在韌體132有支援該作業系統的檔案系統的情況下,仍可享有TRIM指令所帶來的好處。另外,對於有支援TRIM指令的作業系統來說,控制器130可在固態硬碟100閒置一預設時間後主動進行上述的主動式修剪操作,而提升垃圾回收(GC)操作的效率。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
1:電腦系統 10:處理器 100:固態硬碟 110:電路板 120:非揮發性記憶體模組 122:非揮發性記憶體區塊 130:控制器 132:韌體 140:傳輸介面 152:邏輯實體對照表 154:磁碟分割表 156:邏輯磁碟的起始位置 160:檔案系統資訊 162:主要檔案表(MFT) 164:點陣圖(Bitmap) 170:作業系統的程式碼 300、400:主動式修剪操作 S310至S360、S410至S450:步驟
第1圖是安裝有本發明一實施例之固態硬碟的電腦系統的功能方塊圖。 第2圖繪示了第1圖中的非揮發性記憶體模組所儲存的相關資料。 第3圖是第1圖之固態硬碟執行主動式修剪操作時的流程圖。 第4圖是當作業系統為WINDOWS 7且檔案系統為NTFS時,本發明之主動式修剪操作的流程圖。
300:主動式修剪操作
S310至S360:步驟

Claims (7)

  1. 一種固態硬碟(Solid State Drive;SSD),包含: 一電路板; 一非揮發性記憶體模組,設置於該電路板上,並包含多個非揮發性記憶體區塊,用以儲存資料,其中一作業系統安裝於由至少部分的該些非揮發性記憶體區塊所形成的一邏輯磁碟(logic disk)中;以及 一控制器,設置於該電路板上,且耦接於該非揮發性記憶體模組,並用以執行一韌體,以對該些非揮發性記憶體區塊進行一主動式修剪操作,該主動式修剪操作包含: 依據該固態硬碟的一邏輯實體對照表(Logical-to-Physical table;L2P table),取得該固態硬碟的一磁碟分割表; 依據該邏輯實體對照表及該磁碟分割表,從該些非揮發性記憶體區塊讀取該作業系統的一檔案系統的資訊; 依據該檔案系統的資訊,判斷該邏輯磁碟中的哪些非揮發性記憶體區塊可被回收使用;以及 將被判斷為可被回收使用的非揮發性記憶體區塊回收使用。
  2. 如請求項1所述的固態硬碟,其中該檔案系統的資訊包含: 該作業系統是哪一種作業系統; 該檔案系統是哪一種檔案系統;以及 該邏輯磁碟的多個邏輯區塊位址(Logical Block Address, LBA)資訊。
  3. 如請求項2所述的固態硬碟,其中該些邏輯區塊位址包含: 該檔案系統的一主要檔案表(Master File Table;MFT)在該些非揮發性記憶體區塊中的起始位置;以及 該檔案系統的一點陣圖(Bitmap)的位址,其中該點陣圖用以記錄該邏輯磁碟的各個非揮發性記憶體區塊的使用情況。
  4. 如請求項3所述的固態硬碟,其中該點陣圖的每一個位元對應該邏輯磁碟的一非揮發性記憶體區塊;以及 其中當該邏輯磁碟的一非揮發性記憶體區塊所對應的該點陣圖中的位元的值為第一位元值時,該控制器判斷該非揮發性記憶體區塊為可被回收使用的非揮發性記憶體區塊,並將該非揮發性記憶體區塊回收使用。
  5. 如請求項1所述的固態硬碟,其中當該控制器將被判斷為可被回收使用的非揮發性記憶體區塊回收使用時,該控制器係對可被回收使用的非揮發性記憶體區塊進行資料抹除。
  6. 如請求項1所述的固態硬碟,另包含一傳輸介面,耦接於一電腦系統; 其中當該控制器在超過一預定時間沒有從該傳輸介面接收到該電腦系統的一處理器的任何指令時,該控制器主動地執行該主動式修剪操作。
  7. 如請求項6所述的固態硬碟,其中該處理器透過該傳輸介面從該邏輯磁碟讀取該作業系統,並執行該作業系統以控制該電腦系統的操作。
TW110120935A 2021-06-09 2021-06-09 固態硬碟 TWI773371B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW110120935A TWI773371B (zh) 2021-06-09 2021-06-09 固態硬碟

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110120935A TWI773371B (zh) 2021-06-09 2021-06-09 固態硬碟

Publications (2)

Publication Number Publication Date
TWI773371B true TWI773371B (zh) 2022-08-01
TW202248859A TW202248859A (zh) 2022-12-16

Family

ID=83806978

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110120935A TWI773371B (zh) 2021-06-09 2021-06-09 固態硬碟

Country Status (1)

Country Link
TW (1) TWI773371B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463802B2 (en) * 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
TWI579692B (zh) * 2010-10-29 2017-04-21 三星電子股份有限公司 記憶體系統、資料儲存系統、使用者裝置及其資料管理方法
TW201915740A (zh) * 2017-09-20 2019-04-16 廣明光電股份有限公司 固態硬碟及其執行刪除命令的方法
US20200257620A1 (en) * 2017-11-07 2020-08-13 Huawei Technologies Co., Ltd. Memory Block Reclamation Method and Apparatus
US20200409840A1 (en) * 2018-09-12 2020-12-31 Huawei Technologies Co., Ltd. System Garbage Collection Method and Method for Garbage Collection in Solid State Disk

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463802B2 (en) * 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
TWI579692B (zh) * 2010-10-29 2017-04-21 三星電子股份有限公司 記憶體系統、資料儲存系統、使用者裝置及其資料管理方法
TW201915740A (zh) * 2017-09-20 2019-04-16 廣明光電股份有限公司 固態硬碟及其執行刪除命令的方法
US20200257620A1 (en) * 2017-11-07 2020-08-13 Huawei Technologies Co., Ltd. Memory Block Reclamation Method and Apparatus
US20200409840A1 (en) * 2018-09-12 2020-12-31 Huawei Technologies Co., Ltd. System Garbage Collection Method and Method for Garbage Collection in Solid State Disk

Also Published As

Publication number Publication date
TW202248859A (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
JP4238514B2 (ja) データ記憶装置
JP4206688B2 (ja) データ処理装置及びデータ処理方法
KR101447188B1 (ko) 플래시 메모리에 최적화된 입출력 제어 방법 및 장치
JP4415356B2 (ja) 二重ジャーナリングの保存方法及びその記憶媒体
WO2011095516A1 (en) Method and system for mass storage on flash memory
WO2016165597A1 (zh) 数据存储的处理方法及装置
JP2007310637A (ja) データ記憶装置およびデータ記憶方法
JP2009116873A (ja) ソリッドステートメモリ(ssm)、ssmを有するコンピュータシステム及びssm駆動方法
US7702845B2 (en) Method and apparatus for managing blocks according to update type of data in block-type memory
KR100854032B1 (ko) 메모리 시스템 및 그것의 데이터 저장 방법
TW201941061A (zh) 電子機器及其控制方法、電腦系統及其控制方法以及主機之控制方法
JP2015507798A (ja) メモリ・モジュールにおいてデータ・エンティティを消去するための方法
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
US20090172269A1 (en) Nonvolatile memory device and associated data merge method
CN110674056A (zh) 一种垃圾回收方法及装置
WO2006122474A1 (fr) Circuit et méthode pour améliorer la durée de vie du stockage
US20120089765A1 (en) Method for performing automatic boundary alignment and related non-volatile memory device
US20120137063A1 (en) Auxiliary storage device and processing method thereof
CN101582084A (zh) 一种数据存储的方法及装置
US7529971B2 (en) Composite memory device, data wiring method and program
JP5985529B2 (ja) ハイバネーションからの迅速な再開のための装置、方法およびデバイス
US20170017406A1 (en) Systems and methods for improving flash-oriented file system garbage collection
TWI773371B (zh) 固態硬碟
CN115454882A (zh) 固态硬盘
TWI715116B (zh) 資料儲存裝置及其刪除命名空間之方法