TWI828602B - 用來在預定通訊架構中藉助碎化資訊偵測進行記憶裝置的資料碎化降低控制的方法及設備、以及相關電腦可讀媒體 - Google Patents
用來在預定通訊架構中藉助碎化資訊偵測進行記憶裝置的資料碎化降低控制的方法及設備、以及相關電腦可讀媒體 Download PDFInfo
- Publication number
- TWI828602B TWI828602B TW112127145A TW112127145A TWI828602B TW I828602 B TWI828602 B TW I828602B TW 112127145 A TW112127145 A TW 112127145A TW 112127145 A TW112127145 A TW 112127145A TW I828602 B TWI828602 B TW I828602B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- memory controller
- response
- data fragmentation
- command
- Prior art date
Links
- 238000013467 fragmentation Methods 0.000 title claims abstract description 305
- 238000006062 fragmentation reaction Methods 0.000 title claims abstract description 305
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000009467 reduction Effects 0.000 title claims abstract description 22
- 238000004891 communication Methods 0.000 title claims abstract description 19
- 238000001514 detection method Methods 0.000 title claims abstract description 14
- 230000015654 memory Effects 0.000 claims abstract description 248
- 230000004044 response Effects 0.000 claims abstract description 165
- 230000005540 biological transmission Effects 0.000 claims abstract description 74
- 238000004364 calculation method Methods 0.000 claims abstract description 39
- 230000008521 reorganization Effects 0.000 claims description 21
- 230000036541 health Effects 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 11
- 239000012634 fragment Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 102220522291 THAP domain-containing protein 1_S31A_mutation Human genes 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 102200048773 rs2224391 Human genes 0.000 description 7
- 102220588439 Keratin, type I cytoskeletal 18_S10A_mutation Human genes 0.000 description 6
- 102220588441 Keratin, type I cytoskeletal 18_S30A_mutation Human genes 0.000 description 6
- 102220580959 Voltage-dependent T-type calcium channel subunit alpha-1H_S25A_mutation Human genes 0.000 description 5
- 102220534543 Pseudouridylate synthase 7 homolog-like protein_S35A_mutation Human genes 0.000 description 4
- 102220585520 T cell receptor gamma constant 1_S20A_mutation Human genes 0.000 description 4
- 102220585521 T cell receptor gamma constant 1_S21A_mutation Human genes 0.000 description 4
- 102220585512 T cell receptor gamma constant 1_S60A_mutation Human genes 0.000 description 4
- 102220536494 THAP domain-containing protein 1_S55A_mutation Human genes 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 102220619377 Alpha-1,3-galactosyltransferase 2_S40A_mutation Human genes 0.000 description 3
- 102220619281 Alpha-1,3-galactosyltransferase 2_S61A_mutation Human genes 0.000 description 3
- 102220638049 E3 ubiquitin-protein ligase RFWD3_S65A_mutation Human genes 0.000 description 3
- 102220527095 Polycomb group RING finger protein 6_S59A_mutation Human genes 0.000 description 3
- 102220585558 T cell receptor gamma constant 1_S41A_mutation Human genes 0.000 description 3
- 102220585559 T cell receptor gamma constant 1_S51A_mutation Human genes 0.000 description 3
- 102220352372 c.148T>G Human genes 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1004—Defragmentation
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)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本發明提供一種用來在一預定通訊架構中藉助碎化資訊偵測進行一記憶裝置的資料碎化降低控制的方法、相關設備以及電腦可讀媒體。該方法可包含:利用記憶體控制器透過傳輸介面電路自主裝置接收第一指令;利用該記憶體控制器進行關於非連續性的計算以產生關於非連續性的計算結果以產生資料碎化程度,並且發送第一回應;利用該記憶體控制器透過該傳輸介面電路自該主裝置接收第二指令;以及利用該記憶體控制器透過該傳輸介面電路發送第二回應至該主裝置以將該資料碎化程度回傳至該主裝置,以依據該主裝置的判斷結果選擇性地進行資料碎化降低。
Description
本發明是關於記憶體控制,尤指一種在一預定通訊架構中藉助碎化資訊偵測進行一記憶裝置的資料碎化降低控制的方法及設備、以及相關電腦可讀(computer-readable)媒體。
記憶體可包含快閃記憶體以供儲存資料,而存取快閃記憶體的管理相當複雜。例如,記憶裝置可為記憶卡、固態硬碟、或嵌入式儲存裝置諸如符合通用快閃記憶體儲存(Universal Flash Storage,UFS)規格的嵌入式儲存裝置。記憶裝置可用來儲存各種大小的檔案,諸如大檔案或小檔案。單一的大檔案可先被儲存為記憶裝置中的連續資料,但在長期的使用下諸如經過長時間的讀取及/或寫入後會被碎化,因為記憶裝置的某些行為而導致序列讀取效能下降。相關技術試圖更正此問題,但也因此衍生了其他問題諸如某些副作用。因此,需要一種新穎的方法以及相關架構,以在沒有副作用或較不會帶來副作用的情況下解決這些問題。
本發明的目的在於提供一種在一預定通訊架構(例如UFS通訊架構)中藉助碎化資訊偵測進行一記憶裝置的資料碎化降低控制的方法及設備、以及相關電腦可讀(computer-readable)媒體,以解決上述問題。
本發明至少一實施例提供一種用來在一預定通訊架構中藉助碎化資訊偵測進行一記憶裝置的資料碎化降低控制的方法,其中該方法可被應用在該記憶裝置的一記憶體控制器。該記憶裝置可包含該記憶體控制器以及一非揮發性(non-volatile,NV)記憶體,以及該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件)。該方法可包含:利用該記憶體控制器透過該記憶體控制器的一傳輸介面電路自一主裝置接收一第一指令,其中該第一指令載有至少一第一邏輯位址以指出至少一第一邏輯位址區域,並且另載有一第一指示符以指出產生該至少一第一邏輯位址區域的一資料碎化程度(data fragmentation degree)之運作的請求;因應來自該主裝置的該第一指令,利用該記憶體控制器依據至少一第一實體位址區域的複數個第一實體位址進行關於非連續性的計算以產生該複數個第一實體位址的一關於非連續性的計算結果,並且依據該關於非連續性的計算結果產生該資料碎化程度,其中該至少一第一實體位址區域對應於該至少一第一邏輯位址區域,以及該關於非連續性的計算結果指出該複數個第一實體位址的非連續性的程度;在產生該資料碎化程度的運作完成後,利用該記憶體控制器透過該傳輸介面電路發送一第一回應至該主裝置,其中該第一回應是因應該第一指令被發送至該主裝置;利用該記憶體控制器透過該傳輸介面電路自該主裝置接收一第二指令,其中該第二指令是用來指出將該資料碎化程度回傳至該主裝置之運作的請求;以及因應來自該主裝置的該第二指令,利用該記憶體控制器透過該傳輸介面電路發送一第二回應至該主裝置以將該資料碎化程度回傳至該主裝置,以依據該主裝置的一判斷結果選擇性地進行資料碎化降低,其中該第二回應載有該資料碎化程度,以及該
判斷結果是依據被回傳至該主裝置的該資料碎化程度產生的。
除了上述方法外,本發明亦提供一種記憶裝置的記憶體控制器,其中該記憶裝置包含該記憶體控制器以及一非揮發性記憶體。該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件)。另外,該記憶體控制器包含一處理電路,其中該處理電路是用來依據來自一主裝置的複數個主機指令控制記憶體控制器,以容許該主裝置透過該記憶體控制器存取該非揮發性記憶體,其中該處理電路是用來在一預定通訊架構中藉助碎化資訊偵測進行該記憶裝置的資料碎化降低控制。該記憶體控制器另包含一傳輸介面電路,其中該傳輸介面電路是用來與該主裝置進行通訊。例如,該記憶體控制器透過該記憶體控制器的該傳輸介面電路自該主裝置接收一第一指令,其中該第一指令載有至少一第一邏輯位址以指出至少一第一邏輯位址區域,並且另載有一第一指示符以指出產生該至少一第一邏輯位址區域的一資料碎化程度之運作的請求;因應來自該主裝置的該第一指令,該記憶體控制器依據至少一第一實體位址區域的複數個第一實體位址進行關於非連續性的計算以產生該複數個第一實體位址的一關於非連續性的計算結果,並且依據該關於非連續性的計算結果產生該資料碎化程度,其中該至少一第一實體位址區域對應於該至少一第一邏輯位址區域,以及該關於非連續性的計算結果指出該複數個第一實體位址的非連續性的程度;在產生該資料碎化程度的運作完成後,該記憶體控制器透過該傳輸介面電路發送一第一回應至該主裝置,其中該第一回應是因應該第一指令被發送至該主裝置;該記憶體控制器透過該傳輸介面電路自該主裝置接收一第二指令,其中該第二指令是用來指出將該資料碎化程度回傳至該主裝置之運作的請求;以及因應來自該主裝置的該第二指令,該記憶體控制器透過該傳輸介面電路發送一第二回應至該主裝置以將該資料碎化程度回傳至該主裝置,以依據該主裝置的一判斷結果選擇性地進行資料碎化降低,其中該第二回
應載有該資料碎化程度,以及該判斷結果是依據被回傳至該主裝置的該資料碎化程度產生的。
除了上述方法外,本發明亦提供一種包含上述記憶體控制器的記憶裝置,其中該記憶裝置包含:該非揮發性記憶體,用來儲存資訊;以及該記憶體控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置的運作。
除了上述方法外,本發明亦提供一種包含上述記憶裝置的電子裝置,其中該電子裝置另包含耦接至該記憶裝置的該主裝置。該主裝置可包含:至少一處理器,用來控制該主裝置的運作;以及一電源供應電路,耦接至該至少一處理器,用來提供電源給該至少一處理器以及該記憶裝置。另外,該記憶裝置提供儲存空間給該主裝置。
本發明至少一實施例提供一種用來在一預定通訊架構中藉助碎化資訊偵測進行一記憶裝置的資料碎化降低控制的方法,其中該方法可被應用在耦接至該記憶裝置的一主裝置。該記憶裝置可包含一記憶體控制器以及一非揮發性記憶體,以及該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體)。該方法可包含:透過該主裝置的一傳輸介面電路自該主裝置發送一第一指令至該記憶體控制器,以觸發該記憶體控制器依據至少一第一實體位址區域的複數個第一實體位址進行關於非連續性的計算以產生該複數個第一實體位址的一關於非連續性的計算結果,並且依據該關於非連續性的計算結果產生至少一第一邏輯位址區域的一資料碎化程度(data fragmentation degree),其中該第一指令載有至少一第一邏輯位址以指出該至少一第一邏輯位址區域,並且另載有一第一指示符以指出產生該至少一第一邏輯位址區域的該資料碎化程度之運作的請求,其中該至少一第一實體位址區域對應於該至少一第一邏輯位址區域,以及該關於非連續性的計算結果指出該複數個第一實體位址的非連續性的程度;在產生該資料碎化程度的運作完成後,透過該傳輸介面
電路自該記憶體控制器接收一第一回應,其中該第一回應是由該記憶體控制器因應該第一指令發送至該主裝置;透過該傳輸介面電路自該主裝置發送一第二指令至該記憶體控制器,其中該第二指令是用來指出將該資料碎化程度回傳至該主裝置之運作的請求;透過該傳輸介面電路自該記憶控制器接收一第二回應,其中該第二回應是由該記憶體控制器因應該第二指令發送至該主裝置以將該資料碎化程度回傳至該主裝置,以及該第二回應載有該資料碎化程度;以及依據被回傳至該主裝置的該資料碎化程度產生一判斷結果,以控制該記憶體控制器依據該主裝置的該判斷結果選擇性地進行資料碎化降低。
除了上述方法外,本發明亦提供一種依據上述方法運作的主裝置,並且亦提供一種儲存一程式碼的電腦可讀媒體(computer-readable),其中該程式碼導致該主裝置在執行該程式碼時依據上述方法運作。
依據某些實施例,該設備可包含該電子裝置的至少一部分(例如一部分或全部)。例如,該設備可包含該記憶裝置中的該記憶體控制器。又例如,該設備可包含該記憶裝置。再舉一例,該設備可包含該主裝置。在某些例子中,該設備可包含該電子裝置。
依據某些實施例,該記憶裝置可儲存資料以供該主裝置使用。該記憶裝置可因應來自該主裝置的一主機指令讀取被儲存的資料,並且自該非揮發性記憶體提供該資料給該主裝置。為了更正相關技術的問題,該記憶裝置較佳為依據該方法的至少一控制方案(例如一或多個控制方案)以進行相關的運作,尤其是因應來自該主裝置之符合預定格式的一系列的預定控制方案(例如一系列的預定資料碎化降低控制指令)偵測碎化資訊並且如該主裝置所請求將該碎化資訊回傳至該主裝置。
依據某些實施例,本發明提供儲存有一程式碼的電腦可讀媒體,使得該主裝置執行該程式碼時依據該方法運作,其中該主裝置可發送一系列的預
定控制指令至該記憶裝置以分別控制相關運作,從而提升整體效能。
本發明的方法以及設備能確保該記憶裝置能在各種情況下妥善地運作。例如,因應一系列的預定資料碎化降低控制指令,該記憶裝置能進行碎化資訊偵測以及修改資料碎化程度(Revise Data Fragmentation Degree,RDFD)程序(例如資料重整垃圾收集),以提升整體效能。另外,本發明的方法以及設備能在沒有副作用或較不會帶來副作用的情況下解決相關技術的問題。
10:電子裝置
50:主裝置
52:處理器
52M:電腦可讀媒體
52C:程式碼
54:電源供應電路
58:傳輸介面電路
100:記憶裝置
110:記憶體控制器
112:微處理器
112M:唯讀記憶體
112C:程式碼
114:控制邏輯電路
116:隨機存取記憶體
116T:暫時邏輯至實體位址映射表
118:傳輸介面電路
118C:UFS控制器
118U:UniPro電路
118M:M-實體層電路
120:非揮發性記憶體
122-1,122-2,122-N:非揮發性記憶體元件
110EM:碎化管理線上燒錄碼
120T:全域邏輯至實體位址映射表
S10A,S11A,S10B,S11B,S20A,S21A,S20B,S21B:步驟
S25A,S30A,S31A,S30B,S31B,S35A:步驟
S40A,S41A,S40B,S41B,S50A,S51A,S50B,S51B,S55A,S59A:步驟
S60A,S61A,S60B,S60B’,S61B,S65A:步驟
PHASE(1),PHASE(2):裝置側處理階段
S71~S75,S81~S85:步驟
第1圖為依據本發明一實施例之一電子裝置的示意圖。
第2圖為依據本發明一實施例之一種在一預定通訊架構中藉助碎化資訊偵測進行一記憶裝置的資料碎化降低控制的方法的碎化管理控制方案。
第3圖為依據本發明一實施例之第2圖所示之碎化管理控制方案的某些實施細節。
第4圖為依據本發明一實施例之該方法的主機側工作流程。
第5圖為依據本發明一實施例之該方法的裝置側工作流程。
第1圖為依據本發明一實施例之一電子裝置10的示意圖,其中電子裝置10可包含一主裝置50以及一記憶裝置100。主裝置50可包含至少一處理器諸如一或多個處理器(統稱為處理器52)、儲存有一程式碼52C的一電腦可讀(computer-readable)媒體52M、一電源供應電路54、以及一傳輸介面電路58,其中處理器52以及傳輸介面電路58可透過匯流排互相耦接,並且可耦接至電源供應電路54以取得電源。處理器52可用來控制主裝置50的運作,以及電源供應
電路54可用來提供電源給處理器52、傳輸介面電路58以及記憶裝置100並且輸出一或多個驅動電壓至記憶裝置100,其中記憶裝置100可提供儲存空間給主裝置50,並且可自主裝置50取得該一或多個驅動電壓以作為記憶裝置100的電源。主裝置50的例子可包含(但不限於)多功能行動電話、平板電腦、穿戴式裝置、以及個人電腦諸如桌上型電腦及膝上型電腦。記憶裝置100的例子可包含(但不限於)可攜式記憶裝置(例如符合SD/MMC、CF、MS或XD規格的記憶卡)、固態硬碟(solid state drive,SSD)、以及各種類型的嵌入式記憶裝置(例如符合UFS或eMMC規格的記憶裝置)。另外,電腦可讀媒體52M可藉由一或多個硬式磁碟機(hard disk drive,HDD)、一或多個固態硬碟等方式來實施。依據本實施例,記憶裝置100可包含一控制器諸如一記憶體控制器110,並且可另包含一非揮發性(non-volatile,NV)記憶體120,其中該控制器是用來存取非揮發性記憶體120,以及非揮發性記憶體120是用來儲存資訊。非揮發性記憶體120可包含至少一非揮發性記憶體元件(例如一或多個非揮發性記憶體元件),諸如複數個非揮發性記憶體元件122-1、122-2、...、及122-N,其中「N」可代表大於一的正整數。例如,非揮發性記憶體120可為一快閃記憶體,以及複數個非揮發性記憶體元件122-1、122-2、...、及122-N可分別為複數個快閃記憶體晶片(chip)或複數個快閃記憶體裸晶(die),但本發明不限於此。
如第1圖所示,記憶體控制器110可包含一處理電路諸如一微處理器112、一儲存單元諸如一唯讀記憶體(read only memory,ROM)112M、一控制邏輯電路114、一隨機存取記憶體(random access memory,RAM)116(例如可用靜態隨機存取記憶體(static random access memory,SRAM)的方式來實施)、以及一傳輸介面電路118,其中上述元件的至少一部分(例如一部分或全部)可透過匯流排互相耦接。隨機存取記憶體116可用來提供內部儲存空間(例如可用來暫存資訊)給記憶體控制器110,但本發明不限於此。另外,本實施例的唯讀記
憶體112M是用來儲存程式碼112C,以及微處理器112是用來執行程式碼112C以控制非揮發性記憶體120的存取。請注意,程式碼112C也可被儲存在隨機存取記憶體116或任意類型的記憶體中。此外,控制邏輯電路114可用來控制非揮發性記憶體120。控制邏輯電路114可包含一錯誤更正碼(error correction code,ECC)電路(未顯示於第1圖),其可進行錯誤更正碼編碼以及錯誤更正碼解碼,以保護資料及/或進行錯誤更正。傳輸介面電路118可包含多個子電路,其可彼此互動以進行通訊。傳輸介面電路118可符合多種通訊規格諸如序列先進技術附件(Serial Advanced Technology Attachment,簡稱SATA)規格、通用序列匯流排(Universal Serial Bus,簡稱USB)規格、快捷外設互聯(Peripheral Component Interconnect Express,簡稱PCIe)規格、嵌入式多媒體卡(embedded Multi Media Card,簡稱eMMC)規格、及通用快閃記憶體儲存(Universal Flash Storage,簡稱UFS)規格中的一或多個通訊規格,並且可因應記憶裝置100的請求依據該一或多個通訊規格與主裝置50(例如傳輸介面電路58)進行通訊。類似地,傳輸介面電路58可符合該一或多個通訊規格,並且可因應主裝置50的請求依據該一或多個通訊規格與記憶裝置100(例如傳輸介面電路118)進行通訊。例如,傳輸介面電路118的多個子電路可包含一UFS控制器118C、一標準化通訊協定(Unified Protocol,簡稱UniPro)電路118U、以及一實體層(physical layer,PHY)電路諸如一行動產業處理器接口(Mobile Industry Processor Interface,簡稱MIPI)M-實體層電路118M(標示為「M-PHY」電路以求簡明),以及傳輸介面電路58可用與傳輸介面電路118類似或相同的電路架構(例如多個對應的子電路)來實施,但本發明不限於此。
在本實施例中,主裝置50可傳送複數個主機指令以及對應的複數個邏輯位址至記憶體控制器110,以間接地存取記憶裝置100中的非揮發性記憶體120。記憶體控制器接收該複數個主機指令以及該複數個邏輯位址,並且將該複
數個主機指令分別轉譯為複數個記憶體操作指令(可簡稱為操作指令),再用該複數個操作指令控制非揮發性記憶體120以對非揮發性記憶體120內的特定實體位址的記憶單元或資料頁面進行讀取或寫入/編程,其中上述特定實體位址可與該複數個邏輯位址相對應。例如,記憶體控制器110可產生或更新至少一邏輯至實體(logical-to-physical,L2P)位址映射表以管理實體位址與邏輯位址之間的關係。非揮發性記憶體120可儲存一全域(global)邏輯至實體位址映射表120T,以供記憶體控制器110控制記憶裝置100以存取在非非揮發性記憶體120中的資料,但本發明不限於此。例如,非揮發性記憶120可儲存多個線上燒錄(in-system programing,ISP)碼,以分別提供各種功能給記憶裝置100(例如記憶體控制器110)。記憶體控制器110可自非揮發性記憶體120將該多個線上燒錄碼中的任一線上燒錄碼載入至記憶體控制器110中的至少一儲存區域(例如在隨機存取記憶體116中的程式碼區域),以及該處理電路諸如微處理器112可執行該任一線上燒錄碼以使記憶裝置100(例如記憶體控制器110)具備對應於上述各種功能中的該任一線上燒錄碼的功能。例如,該任一線上燒錄碼可代表一碎化管理線上燒錄碼110FM,其導致記憶裝置100(例如記憶體控制器110)在執行碎化管理線上燒錄碼110FM時具有一碎化管理功能。
為便於理解,全域邏輯至實體位址映射表120T可位於非揮發性記憶體元件120-1內的一預定區域諸如一系統區域,其中該多個線上燒錄碼中的一或多個線上燒錄碼諸如碎化管理線上燒錄碼110FM可位於非揮發性記憶體元件120-1內的另一域定區域,但本發明不限於此。例如,全域邏輯至實體位址映射表120T可被分成複數個區域邏輯至實體位址映射表,以及該複數個區域邏輯至實體位址映射表可連同該複數個線上燒錄碼一併被儲存在非揮發性記憶體元件120-1、120-2、...、及120-N中的一或多者,尤其可被分別儲存在非揮發性記憶體元件120-1、120-2、...、及120-N。在需要時,記憶體控制器110可將全域邏輯
至實體位址映射表120T的至少一部分(例如一部分或全部)載入至隨機存取記憶體160或其他記憶體。例如,記憶體控制器110可將該複數個區域邏輯至實體位址映射表中的一區域邏輯至實體位址映射表載入至隨機存取記憶體116以作為一暫時邏輯至實體位址映射表116T,以依據被儲存為暫時邏輯至實體位址映射表116T的區域邏輯至實體位址映射表存取在非揮發性記憶體120中的資料,但本發明不限於此。
另外,上述至少一非揮發性記憶體元件(例如該一或多個非揮發性記憶體元件諸如{122-1,122-2,...,122-N})可包含複數個區塊,其中記憶體控制器可對非揮發性記憶體120進行抹除資料的運作的最小單元為區塊,以及記憶體控制器110可對非揮發性記憶體120進行寫入資料的運作的最小單元為頁面,但本發明不限於此。例如,非揮發性記憶體120-1、120-2、...、及120-N中的任一非揮發性記憶體元件120-n(其中「n」可代表在區間[1,N]內的任意整數)可包含多個區塊,以及該多個區塊中的一區塊可包含並且記錄特定數量的頁面,其中記憶體控制器110可依據一區塊位址以及一頁面位址存取該多個區塊中的某個區塊的某個頁面。
第2圖為依據本發明一實施例之一種在一預定通訊架構(例如UFS通訊架構)中藉助碎化資訊偵測進行一記憶裝置諸如第1圖所示之記憶裝置100的資料碎化降低控制的方法的碎化管理控制方案。該方法可被應用在第1圖所示之架構,例如電子裝置10、主裝置50、記憶裝置100以及記憶體控制器110,尤指記憶體控制器110中的元件。在主裝置50的主機側,主裝置50(例如運行程式碼52C的處理器52)可在某個狀態諸如一閒置狀態,並且接著離開此閒置狀態以進行步驟S10A、S11A、S20A、S21A、S25A、S30A、S31A及S35A的運作,並且在之後進入其閒置狀態。在記憶裝置100的裝置側,記憶裝置100(例如記憶體控制器110,尤指運行碎化管理線上燒錄碼110FM的微處理器112)可在某個狀態
諸如一閒置狀態,並且接著離開此閒置狀態以進行步驟S10B、S11B、S20B、S21B、S30B及S31B的運作,並且在之後進入其閒置狀態。
在步驟S10A中,主裝置50(例如運行程式碼52C的處理器52)可將被發送至記憶裝置100(例如記憶體控制器110)的一讀取(10)UFS通訊協定資訊單元(UFS Protocol Information Unit,簡稱UPIU)指令(例如載有10位元組(byte)的相關資訊的讀取(10)UPIU指令)中的一資料碎化程度(data fragmentation degree,DFD)位元設定為一預定邏輯值諸如1(標示為「DFD位元=1」以求簡明),以要求備妥碎化資訊諸如資料碎化熵(Entropy of Data Fragmentation,EoDF),其中主裝置50可將載有該資料碎化程度位元的該讀取(10)UPIU指令備妥在主裝置50的一傳送(transmitting,TX)緩衝器(未顯示)。
在步驟S11A中,主裝置50(例如運行程式碼52C的處理器52)可透過傳輸介面電路58將載有該資料碎化程度位元的該讀取(10)UPIU指令發送至記憶裝置100(例如記憶體控制器110),以要求備妥該碎化資訊諸如該資料碎化熵。例如,該讀取(10)UPIU指令可符合一第一預定指令格式。依據本實施例,該讀取(10)UPIU指令可作為用來載有該資料碎化程度位元的指令的例子,但本發明不限於此。依據某些實施例,在步驟S10A及S11A的運作中使用的指令諸如用來載有該資料碎化程度位元的指令可予以變化。例如,這個指令的指令格式及/或用來載有這個指令的相關資訊的位元組數可予以變化。
為便於理解,在記憶裝置100的檔案系統中可具有FILE_CNT個檔案{FILE(1),...,FILE(FILE_CNT)}(例如FILE_CNT可為正整數),以及該FILE_CNT個檔案{FILE(1),...,FILE(FILE_CNT)}中的一目標檔案FILE(TGT)可為大檔案。主裝置50可藉由使用載有該資料碎化程度位元的該讀取(10)UPIU指令來控制記憶裝置100(例如記憶體控制器110),以備妥目標檔案FILE(TGT)的資料碎化熵EoDF(TGT)。尤其,主裝置50可透過該讀取(10)UPIU指令將一起始位置諸如一
邏輯區塊位址(logical block address,LBA)(例如目標檔案FILE(TGT)的起始邏輯區塊位址)以及一轉移長度(例如目標檔案FILE(TGT)的大小)與該資料碎化程度位元一併傳送,並且使用該資料碎化程度位元將主裝置50需要取得資料碎化熵EoDF(TGT)之狀況通報給記憶裝置100(例如記憶體控制器110),例如表1所示。
表1展示了在步驟S10A及S11A所提及的該讀取(10)UPIU指令的該第一預定指令格式的例子,其中在該第一預定指令格式中的位元組(在表1中標示
為「Byte」以求簡明)0~9可具有多個欄位,以及位元組0~9的任一者可包含位元(在表1中標示為「Bit」以求簡明)7~0。該第一預定指令格式的某些欄位的說明如下:(1)欄位「操作碼」可載有一操作碼諸如28h(例如符號「h」指出其數值為十六進制數值);(2)在位元組1的位元7~5中的欄位「RDPROTECT」可載有一預定二進制碼諸如000b(例如符號「b」指出其數值為二進制數值);(3)在位元組1的位元4中的欄位「DPO」可載有一禁用頁面快取(Disable Page Out,DPO)參數;(4)在位元組1的位元3中的欄位「FUA」可載有一強制單元存取(Force Unit Access,FUA)參數;(5)在位元組1的位元1中的欄位「FUA_NV」可載有另一預定二進制碼諸如0b;(6)在位元組2~5中的欄位「邏輯區塊位址」,從位元組2的最高有效位元(most significant bit,在表1中標示為「MSB」)到位元組5的最低有效位元(least significant bit,在表1中標示為「LSB」),可載有一邏輯區塊位址;(7)在位元組6的位元5中的欄位「DFD」可載有該資料碎化程度位元;(8)在位元組6的位元4~0中的欄位「群組數量」可載有一群組數量;(9)在位元組7~8中的欄位「轉移長度」,從位元組7的最高有效位元(在表1中標示為「MSB」)到位元組8的最低有效位元(在表1中標示為「LSB」),可載有一轉移長度;以及(10)在位元組9中的欄位「控制」可載有一控制碼諸如00h;其中某些其他欄位可被保留(在表1中標示為「保留」)而因此可被
視為保留欄位,但本發明不限於此。另外,在該第一預定指令格式的欄位「DFD」中的該資料碎化程度位元可被視為一資料碎化程度旗標。
如表1所示,該資料碎化程度位元可被載在位元組6中的位元5,但本發明不限於此。依據某些實施例,該第一預定指令格式以及在該第一預定指令格式中用來載有該資料碎化程度位元的位置可予以變化。例如,欄位「DFD」可被移動至該第一預定指令格式的另一位置,諸如位元組6的位元6、位元組6的位元7的任一者。
在接收到載有該資料碎化程度位元的該讀取(10)UPIU指令後,記憶裝置100(例如記憶體控制器110,尤指運行碎化管理線上燒錄碼110FM的微處理器112)可檢查該資料碎化程度位元是否等於該第一預定邏輯值諸如1。若檢查結果為「是」(例如該資料碎化程度位元=1),記憶裝置100(例如記憶體控制器110)可進行該碎化資訊偵測以產生該碎化資訊諸如該資料碎化熵。若檢查結果為「否」(例如該資料碎化程度位元=0),記憶裝置100(例如記憶體控制器110)可進行一正常讀取運作,諸如讀取資料的運作。
在步驟S10B中,因應載有該資料碎化程度位元(例如該資料碎化程度位元=1)的該讀取(10)UPIU指令,記憶裝置100(例如記憶體控制器110,尤指運行碎化管理線上燒錄碼110FM的微處理器112)可進行該碎化資訊偵測以產生該碎化資訊,尤其可計算該資料碎化熵諸如目標檔案FILE(TGT)的資料碎化熵EoDF(TGT)。
為便於理解,假設符號「M」可代表區塊的總數量,諸如用來儲存目標檔案FILE(TGT)的全部區塊的總區塊數量,以及目標檔案FILE(TGT)是被儲存在記憶裝置100(例如非揮發性記憶體120)中的實體區塊位址(physical block address,PBA)PBA(0)至實體區塊位址PBA(M)的位置。另外,與邏輯區塊位址LBA(m)及LBA(m-1)分別對應的實體區塊位址PBA(m)及PBA(m-1)的實體區塊
位址非連續性函數DISCONT(m,m-1)(例如,連續的邏輯區塊位址LBA(m-1)及LBA(m),其中在用來存取該檔案系統的全部的邏輯區塊位址中,邏輯區塊位址LBA(m)是邏輯區塊位址LBA(m-1)的下一個邏輯區塊位址)可指出實體區塊位址PBA(m)與PBA(m-1)之間的連續性或不連續性。例如,在表1所示之該讀取(10)UPIU指令的該第一預定指令格式中之用來載有該邏輯區塊位址的欄位「邏輯區塊位址」以及用來載有該轉移長度的欄位「轉移長度」可用來載有邏輯區塊位址LBA(0)以及與總區塊數量M對應的檔案大小。記憶裝置100(例如記憶體控制器110)可依據下列式子計算目標檔案FILE(TGT)的資料碎化熵EoDF(TGT):
但本發明不限於此。例如,若實體區塊位址PBA(m)是實體區塊位址PBA(m-1)的下一個實體區塊位址,記憶裝置100(例如記憶體控制器110)可判斷DISCONT(m,m-1)=0;否則,記憶裝置100(例如記憶體控制器110)可判斷DISCONT(m,m-1)=1。因此,DISCONT(m,m-1)=0可指出實體區塊位址PBA(m)是實體區塊位址PBA(m-1)的下一個實體區塊位址(例如實體區塊位址PBA(m)及PBA(m-1)為連續的實體區塊位址),以及DISCONT(m,m-1)=1可指出實體區塊位址PBA(m)不是實體區塊位址PBA(m-1)的下一個實體區塊位址。另外,由於記憶體控制器110可管理全域邏輯至實體位址映射表120T以記錄或更新實體位址與邏輯位址之間的映射關係,諸如實體區塊位址{PBA(0),...,PBA(M)}與邏輯區塊位址{LBA(0),...,LBA(M)}之間的映射關係,因此記憶體控制器110可參考全域邏輯至實體位址映射表120T以分別依據邏輯區塊位址
{LBA(0),...,LBA(M)}判斷實體區塊位址{PBA(0),...,PBA(M)}。
在步驟S11B中,於產生該碎化資訊諸如該資料碎化熵(例如資料碎化熵EoDF(TGT))後,記憶裝置100(例如記憶體控制器110,尤指運行碎化管理線上燒錄碼110FM的微處理器112)可透過傳輸介面電路118將該讀取(10)UPIU指令的一回應UPIU發送至主裝置50,以將該碎化資訊偵測已完成(例如已在裝置側偵測到該碎化資訊諸如該資料碎化熵)之狀況通報給主裝置50,其中記憶裝置100(例如記憶體控制器110)可在記憶裝置100的一傳送緩衝器(未顯示)備妥該讀取(10)UPIU指令的該回應UPIU。例如,該讀取(10)UPIU指令的該回應UPIU可符合一第一預定回應格式。
在步驟S20A中,於透過步驟S11B的運作收到該碎化資訊偵測已完成的通報後,主裝置50(例如運行程式碼52C的處理器52)可備妥一查詢請求UPIU以供發送至記憶裝置100(例如記憶體控制器110),以自記憶裝置100(例如記憶體控制器110)取得該碎化資訊諸如該資料碎化熵(例如資料碎化熵EoDF(TGT)),其中主裝置50可在主裝置50的傳送緩衝器中備妥該查詢請求UPIU。
在步驟S21A中,主裝置50(例如運行程式碼52C的處理器52)可透過傳輸介面電路58將該查詢請求UPIU發送至記憶裝置100(例如記憶體控制器110),以自記憶裝置100(例如記憶體控制器110)取得該碎化資訊諸如該資料碎化熵(例如資料碎化熵EoDF(TGT))。
在步驟S20B中,因應該查詢請求UPIU,記憶裝置100(例如記憶體控制器110,尤指運行該碎化管理線上燒錄碼110FM的微處理器112)可備妥載有該資料碎化熵(例如資料碎化熵EoDF(TGT))的一查詢回應UPIU,以供被發送至主裝置50,其中記憶裝置100(例如記憶體控制器110)可在記憶裝置100的傳送緩衝器中備妥載有該資料碎化熵的該查詢回應UPIU。
在步驟S21B中,記憶裝置100(例如記憶體控制器110,尤指運行碎化管理線上燒錄碼110FM的微處理器112)可透過傳輸介面電路118將該查詢回應UPIU發送至主裝置50,以將該碎化資訊諸如該資料碎化熵(例如資料碎化熵EoDF(TGT))通報給主裝置50,其中該查詢回應UPIU可載有該碎化資訊諸如在該查詢回應UPIU的一預定位置的該資料碎化熵。
表2A展示了該查詢請求UPIU的格式的例子,以及表2B展示了該查詢回應UPIU的格式的例子。在該查詢請求UPIU的第一個欄位標示的「xx01 0110b」以及在該查詢回應UPIU的第一個欄位標示的「xx01 0110b」可分別代表各自的
預定值,其中表2A及2B所示的其他欄位的欄位名稱可分別指出這些欄位的意義。例如,表2A所示的查詢請求UPIU的格式中的位元組12~27的交易特定欄位可針對查詢操作碼(operation code,opcode)予以變化。關於一讀取描述符操作碼,該交易特定欄位的格式的例子可由表2來說明如下:
表3所示的格式中的欄位「描述符IDN」可載有一描述符辨識碼(identifier,ID)以指出描述符的某種類型。主裝置50可將查詢請求(例如該查詢請求UPIU)的位元組13中的欄位「描述符IDN」所載有的描述符辨識碼設定為在分別與多個類型的描述符對應的多個預定描述符辨識碼(例如一裝置描述符、一配置描述符、一單元描述符、一幾何描述符、以及一裝置健康描述符)中與一目標類型的描述符對應的一目標描述符辨識碼,以指出對應的查詢回應(例如對應的查詢回應UPIU)載有該目標類型的描述符,例如起始於該查詢回
應(例如該查詢回應UPIU)的位元組32。另外,主裝置50可將在該查詢請求(例如該查詢請求UPIU)中的位元組18-19中的欄位「長度」所載有的參數設定為該目標類型的描述符的大小,其中對應的查詢回應(例如對應的查詢回應)所載有的該目標類型的描述符具有這個大小。例如,主裝置50可將欄位「描述符IDN」載有的描述符辨識碼設定為09h(即0x09)以指出自記憶裝置100發送的對應的查詢回應UPIU所載有的描述符為該裝置健康描述符。如此一來,針對該讀取描述符操作碼,該查詢請求(例如該查詢請求UPIU)的位元組12~15可用來載有01h、09h、00h及00h。
針對上述用來載有該碎化資訊諸如該資料碎化熵(例如資料碎化EoDF(TGT))的該查詢回應UPIU的預定位置,記憶裝置100(例如記憶體控制器110)可備妥表4所示之在該裝置健康描述符偏移量(offset)05h載有該資料碎化熵的該查詢回應UPIU。
表4展示用來載有該碎化資訊諸如該資料碎化熵(例如資料碎化熵EoDF(TGT))的裝置壽命估計參數bDeviceLifeTimeEstC的例子,其中在該查詢回應UPIU中的該裝置健康描述符可包含裝置壽命估計參數bDeviceLifeTimeEstC,並且可另包含一或多個其他裝置壽命估計參數諸如裝置壽命估計參數bDeviceLifeTimeEstA以及bDeviceLifeTimeEstB,但本發明不限於此。另外,使用裝置壽命估計參數bDeviceLifeTimeEstC指出該資料碎化熵(例如資料碎化熵EoDF(TGT))的準確度可取決於裝置壽命估計參數bDeviceLifeTimeEstC在該裝置健康描述符中的大小。例如,裝置壽命估計參數bDeviceLifeTimeEstC的大小可等於一個位元組(在表4的欄位「大小」標示為「1」以求簡明),但本發明不限於此。此外,針對裝置壽命估計參數bDeviceLifeTimeEstC的相關描述如表4所示可從針對一或多個先前裝置壽命估計參數(例如裝置壽命估計參數bDeviceLifeTimeEstA及bDeviceLifeTimeEstB中的一或多個參數)的相關描述取得及/或調整,以及裝置壽命估計參數bDeviceLifeTimeEstC可用來透過碎化資訊諸如該資料碎化熵(例如資料碎化熵
EoDF(TGT))指出整個儲存頁面的局部儲存空間(例如與全部邏輯區塊位址對應的整個儲存頁面中之與邏輯區塊位址{LBA(0),...,LBA(M)}對應的局部儲存空間、或者與全部實體區塊位址對應的整個儲存頁面中之與實體區塊位址{PBA(0),...,PBA(M)}對應的局部儲存空間),其中該碎化資訊諸如該資料碎化熵(例如資料碎化熵EoDF(TGT))可與在該局部儲存空間中進行的程式週期數正相關,但本發明不限於此。依據某些實施例,針對表4所示裝置壽命估計參數bDeviceLifeTimeEstC的相關描述可予以變化。例如,針對裝置壽命估計參數bDeviceLifeTimeEstC的描述的最上端部分可描述如下:
此欄位基於與進行的編程循環數相關的碎化資訊提供針對局部儲存空間的裝置壽命的指示符,其計算方法為供應商特定並且稱為方法C。
在步驟S25A中,主裝置50(例如運行程式碼52C的處理器52)可將該碎化資訊諸如該資料碎化熵(例如資料碎化熵EoDF(TGT))與一預定閾值諸如一資料碎化熵閾值Th_EoDF作比較以判斷是否進行修改資料碎化(Revise Data Fragmentation,RDF),尤其檢查該資料碎化熵是否達到(例如大於或等於)資料碎化熵閾值Th_EoDF以判斷是否進行該修改資料碎化,其中若該資料碎化熵達到資料碎化熵閾值Th_EoDF(例如EoDF(TGT)Th_EoDF),主裝置50可決定進行該修改資料碎化,否則主裝置50可決定避免進行該修改資料碎化,但本發明不限於此。依據某些實施例,主裝置50可在該資料碎化熵達到資料碎化熵閾值Th_EoDF時(例如EoDF(TGT)>Th_EoDF)決定進行該修改資料碎化,並且可在該資料碎化熵未達到資料碎化熵閾值Th_EoDF時(例如EoDF(TGT)<Th_EoDF)時決定避免進行該修改資料碎化。
在步驟S30A中,主裝置50(例如運行程式碼52C的處理器52)可在將被發送至記憶裝置100的一寫入(10)UPIU指令(例如載有10位元組的相關資訊的該寫入(10)UPIU指令)中將一修改資料碎化程度(Revise Data Fragmentation
Degree,RDFD)位元設為一第二預定邏輯值諸如一(標示為「RDFD位元=1」以求簡明),以要求進行該修改資料碎化,其中主裝置50可在主裝置50的傳送緩衝器中備妥載有該修改資料碎化程度位元的該寫入(10)UPIU指令。
在步驟S31A中,主裝置50(例如運行程式碼52C的處理器52)可透過傳輸介面電路58將載有該修改資料碎化程度位元的該寫入(10)UPIU指令發送至記憶裝置100(例如記憶體控制器110),以要求進行該修改資料碎化(例如使用在裝置側的一修改資料碎化程度程序)。例如,該寫入(10)UPIU指令可符合一第二預定指令格式。依據本實施例,該寫入(10)UPIU指令可作為載有該修改資料碎化程度位元的指令的例子,但本發明不限於此。依據某些實施例,在步驟S30A及S31A的運作中被使用到的指令諸如載有該修改資料碎化程度位元的指令可予以變化。例如,這個指令的指令格式及/或用來載有這個指令的相關資訊的位元組的數量可予以變化。
主裝置50可藉由使用載有該修改資料碎化程度位元的該寫入(10)UPIU指令控制記憶裝置100(例如記憶體控制器),以進行該修改資料碎化,尤指在該修改資料碎化程度程序中進行資料重整垃圾收集(garbage collection,GC)。另外,主裝置50可透過該寫入(10)UPIU指令將該起始位置諸如上述邏輯區塊位址(例如目標檔案FILE(TGT)的起始邏輯區塊位址)以及上述轉移長度(例如目標檔案FILE(TGT)的大小)連同該修改資料碎化程度位元一併傳送,並且使用該修改資料碎化程度位元將主裝置50需要進行該修改資料碎化之狀況通報給記憶裝置100(例如記憶體控制器110),尤指需要在該修改資料碎化程度程序中進行該資料重整垃圾收集,例如表5所示。
表5展示了在步驟S30A及S31A所提及的該寫入(10)UPIU指令的該第二預定指令格式的例子,其中在該第二預定指令格式中的位元組(在表1中標示為「Byte」以求簡明)0~9可具有多個欄位,以及位元組0~9的任一者可包含位元(在表1中標示為「Bit」以求簡明)7~0。該第二預定指令格式的某些欄位的說明如下:(1)在位元組0中的欄位「操作碼」可載有一操作碼諸如2Ah(例如符號「h」指出其數值為十六進制數值);(2)在位元組1的位元7~5中的欄位「WRPROTECT」可載有一預定二進制碼諸如000b(例如符號「b」指出其數值為二進制數值);(3)在位元組1的位元4中的欄位「DPO」可載有一禁用頁面快取參
數;(4)在位元組1的位元3中的欄位「FUA」可載有一強制單元存取參數;(5)在位元組1的位元1中的欄位「FUA_NV」可載有另一預定二進制碼諸如0b;(6)在位元組2~5中的欄位「邏輯區塊位址」,從位元組2的最高有效位元(在表5中標示為「MSB」)到位元組5的最低有效位元(在表5中標示為「LSB」),可載有一邏輯區塊位址;(7)在位元組6的位元5中的欄位「RDFD」可載有該修改資料碎化程度位元;(8)在位元組6的位元4~0中的欄位「群組數量」可載有一群組數量;(9)在位元組7~8中的欄位「轉移長度」,從位元組7的最高有效位元(在表5中標示為「MSB」)到位元組8的最低有效位元(在表5中標示為「LSB」),可載有一轉移長度;以及(10)在位元組9中的欄位「控制」可載有一控制碼諸如00h;其中某些其他欄位可被保留(在表5中標示為「保留」)而因此可被視為保留欄位,但本發明不限於此。另外,在該第二預定指令格式的欄位「RDFD」中的該修改資料碎化程度位元可被視為一修改資料碎化程度旗標。
如表5所示,該修改資料碎化程度位元可被載在位元組6的位元5中的欄位「RDFD」,但本發明不限於此。依據某些實施例,該第二預定指令格式以及在該第二預定指令格式中用來載有該修改資料碎化程度位元的位置可予以變化。例如,欄位「RDFD」可被移動至該第二預定指令為元格式中的其他位置,諸如位元組6的位元6、位元組6的位元7等等之中的任一位元。
在步驟S30B中,因應該寫入(10)UPIU指令,記憶裝置100(例如記憶
體控制器,尤指運行碎化管理線上燒錄碼110FM的微處理器112)可進行該修改資料碎化,尤指在該修改資料碎化程度程序中進行資料重整垃圾收集。
在步驟S31B中,在進行該資料重整垃圾收集後,記憶裝置100(例如記憶體控制器110,尤指運行碎化管理線上燒錄碼110FM的微處理器112)可透過傳送介面電路118將該寫入(10)UPIU指令的一回應UPIU發送至主裝置50,以將該修改資料碎化諸如該資料重整垃圾收集已完成的狀況通報給主裝置50,其中記憶裝置100(例如記憶體控制器110)可在記憶裝置100的傳送緩衝器中備妥該寫入(10)UPIU指令的該回應UPIU。例如,該寫入(10)UPIU指令的該回應UPIU可符合一第二預定回應格式。
在步驟S35A中,在接收到該寫入(10)UPIU指令的該回應UPIU後,主裝置50(例如運行程式碼52C的處理器52)可判斷該修改資料碎化諸如該資料重整垃圾收集已完成。
依據某些實施例,主裝置50的傳送緩衝器可位於傳輸介面電路58中,以及記憶裝置100的傳送緩衝器可位於傳輸介面電路118中,但本發明不限於此。依據某些實施例,用來實施主裝置50的傳送緩衝器的位置及/或用來實施記憶裝置100的傳送緩衝器的位置可予以變化。例如,主裝置50的傳送緩衝器可位於主裝置50中的另一電路/元件(例如一隨機存取記憶體)中及/或記憶裝置100的傳送緩衝器可位於記憶裝置100中的另一電路/元件(例如隨機存取記憶體116)中。
依據某些實施例,如在步驟S31B中所述的該寫入(10)UPIU指令的該回應UPIU可符合一相同預定回應格式,其中該第一預定回應格式以及該第二預定回應格式可用相同的預定回應格式來實施。
表6及表7分別展示一UPIU的一基本UPIU標頭格式以及一回應UPIU的一相關格式的例子。在表6所示之基本UPIU標頭格式中的第一欄位「交易類型」對於表7所示之回應UPIU而言可被設為「xx10 0001b」,以及在表6所示之基本UPIU標頭格式以及表7所示之相關格式中的任一者中的欄位「旗標」、「邏輯單元號」以及「工作標籤」可分別載有一或多個旗標、一邏輯單元號(logical unit number,LUN)以及一工作標籤。另外,在表6所示之基本UPIU標頭格式中的欄位「發起者ID」、「指令組類型」、「回應」以及「狀態」對於表7所示之回應UPIU而言可被實施為欄位「IID」、「指令組類型」、「回應」以及「狀態」,以分別載有一發起者ID、一指令組類型、一回應操作碼以及狀態資訊,其中在表6所示之基
本UPIU標頭格式中針對一查詢功能或一工作管理功能的欄位「查詢功能、工作管理功能」對於表7所示之回應UPIU而言可被實施為一保留欄位(標示為「保留」以求簡明),但本發明不限於此。
表8依據本發明一實施例展示了在該回應UPIU(例如在步驟S11B中所提及的該讀取(10)UPIU指令的該回應UPIU以及在步驟S31B中所提及的該寫入(10)UPIU指令的該回應UPIU)的位元組6中的欄位「回應」所載有的該回應操作碼的複數個候選值。為便於理解,若一回應的請求是來自一目標裝置(例如記憶裝置100),在該回應UPIU的位元組6中的欄位「回應」可指出該請求功能是否成功或失敗,其中這個欄位可在從一發起者裝置(例如主裝置50)至該目標裝置(例如記憶裝置100)的UPIU交易中被保留,但本發明不限於此。例如,該回應操作碼的該複數個候選值可包含:(1)00h,用來指出目標成功;(2)01h,用來指出目標失敗;
(3)02h~7Fh是被保留的;(4)80h,用來指出資料碎化程度/修改資料碎化程度成功;(5)81h,用來指出資料碎化程度/修改資料碎化程度失敗;以及(6)82h~FFh為供應商特定;但本發明不限於此。依據某些實施例,用來指出資料碎化程度/修改資料碎化程度成功的候選值80h及/或用來指出資料碎化程度/修改資料碎化程度失敗的候選值81h可予以變化。
依據某些實施例,主裝置50可依據在該讀取(10)UPIU指令的該回應UPIU的中的該回應操作碼(例如表8所定義的用來指出資料碎化程度/修改資料碎化程度成功的候選值80h或用來指出資料碎化程度/修改資料碎化程度失敗的候選值81h)判斷在步驟S11A所提及的該讀取(10)UPIU指令的該請求功能(例如備妥該碎化資訊諸如該資料碎化熵的功能)是否成功或失敗。例如,當成功地備妥該碎化資訊諸如該資料碎化熵時,記憶裝置100(例如記憶體控制器110)可將該讀取(10)UPIU指令的該回應UPIU中的該回應操作碼設為候選值80h以指出資料碎化程度成功,以將此狀況通報給主裝置50。又例如,當無法備妥該碎化資訊諸如該資料碎化熵時,記憶裝置100(例如記憶體控制器110)可將該讀取(10)UPIU指令的該回應UPIU中的該回應操作碼設為候選值81h以指出資料碎化程度失敗,以將此狀況通報給主裝置50。另外,主裝置50可依據在該寫入(10)UPIU指令的該回應UPIU的中的該回應操作碼(例如表8所定義的用來指出資料碎化程度/修改資料碎化程度成功的候選值80h或用來指出資料碎化程度/修改資料碎化程度失敗的候選值81h)判斷在步驟S31A中所提及的該寫入(10)UPIU指令的該請求功能(例如進行該修改資料碎化的功能)是否成功或失敗。例如,當成功地進行該修改資料碎化時,記憶裝置100(例如記憶體控制器110)可將該寫入(10)UPIU指令的該回應UPIU中的該回應操作碼設為候選值80h
以指出修改資料碎化程度成功,以將此狀況通報給主裝置50。又例如,當無法進行該修改資料碎化時,記憶裝置100(例如記憶體控制器110)可將該寫入(10)UPIU指令的該回應UPIU中的該回應操作碼設為候選值81h以指出修改資料碎化程度失敗,以將此狀況通報給主裝置50。為簡明起見,針對這些實施荔枝類似的描述在此不重複贅述。
第3圖為依據本發明一實施例之第2圖所示之碎化管理控制方案的某些實施細節。為便於理解,主機側的運作諸如第3圖所示之步驟S40A、S41A、S50A、S51A、S55A、S60A、S61A以及S65A的運作可分別作為第2圖所示之在主機側的步驟S10A、S11A、S20A、S21A、S25A、S30A、S31A以及S35A的運作的例子,以及裝置側運作諸如第3圖所示之步驟S40B、S41B、S50B、S51B、{S60B,S60B’}以及S61B的運作可分別作為第2圖所示之裝置側的步驟S10B、S11B、S20B、S21B、S30B以及S31B的運作的例子,但本發明不限於此。
在步驟S40A中,主裝置50(例如運行程式碼52C的處理器52)可在該讀取(10)UPIU指令(標示為「讀取(10)UPIU」以求簡明)中將該資料碎化程度位元設為該第一預定邏輯值諸如邏輯值「1」以請求一特定連續邏輯區塊位址區間的該資料碎化熵,諸如目標檔案FILE(TGT)的資料碎化熵EoDF(TGT)。
在步驟S41A中,主裝置50(例如運行程式碼52C的處理器52)可使用該起始邏輯區塊位址以及該轉移長度將該讀取(10)UPIU指令連同該資料碎化熵透過傳輸介面電路58發送至記憶裝置100(例如記憶體控制器),以請求該特定連續邏輯區塊位址區間的該資料碎化熵(例如目標檔案FILE(TGT)的資料碎化熵EoDF(TGT))。
在步驟S40B中,因應載有該資料碎化程度位元(例如資料碎化程度位元=1)的該讀取(10)UPIU指令,記憶裝置100(例如記憶體控制器110)可計算映射至該特定連續邏輯區塊位址區間的實體區塊位址的該資料碎化熵,諸如
實體區塊位址{PBA(0),...,PBA(M)}的的資料碎化熵EoDF(TGT)。
在步驟S41B中,在產生該碎化資訊諸如該資料碎化熵(例如資料碎化熵EoDF(TGT))後,記憶裝置100(例如記憶體控制器110)可將該讀取(10)UPIU指令的該回應UPIU透過傳輸介面電路118反饋至主裝置50。
在步驟S50A中,在產生該資料碎化熵的運作於裝置側完成後,主裝置50(例如運行程式碼52C的處理器52)可用該裝置健康描述符備妥查詢請求UPIU以自記憶裝置100取回該資料碎化熵諸如資料碎化熵EoDF(TGT)(標示為「藉由裝置健康描述符取回資料碎化熵」)。
在步驟S51A中,主裝置50(例如運行程式碼52C的處理器52)可透過傳輸介面電路58將該查詢請求UPIU發送至記憶裝置100(例如記憶體控制器110),以自記憶裝置100(例如記憶體控制器110)取得該裝置健康描述符所載有的該資料碎化熵(例如資料碎化熵EoDF(TGT))。
在步驟S50B中,因應該查詢請求UPIU,記憶裝置100(例如記憶體控制器110)可將該資料碎化熵(例如資料碎化熵EoDF(TGT))儲存至裝置健康描述符偏移量05h,以作為在記憶裝置100的傳送緩衝器中備妥的該查詢回應UPIU的該裝置健康描述符中的裝置壽命估計參數bDeviceLifeTimeEstC。
在步驟S51B中,記憶裝置100(例如記憶體控制器110)可透過傳輸介面電路118將該查詢回應UPIU用該裝置健康描述符反饋至主裝置50。
在步驟S55A中,主裝置50(例如運行程式碼52C的處理器52)可判斷是否執行該修改資料碎化,例如藉由資料碎化熵閾值Th_EoDF判斷,尤指藉由基於資料碎化熵閾值Th_EoDF的比較運作(例如將資料碎化熵EoDF(TGT)與資料碎化熵閾值Th_EoDF作比較的運作)來判斷。若該比較運作的比較結果為「是」(例如EoDF(TGT)Th_EoDF),進入步驟S60A;若該比較運作的比較結果為「否」(例如EoDF(TGT)<Th_EoDF),進入步驟S59A。
在步驟S59A中,主裝置50(例如運行程式碼52C的處理器52)可停止進一步處理,其中主裝置50以及記憶裝置100可在之後分別切換至各自的閒置狀態。
在步驟S60A中,主裝置50(例如運行程式碼52C的處理器52)可在該寫入(10)UPIU指令中將該修改資料碎化程度位元設為該第二預定邏輯值諸如邏輯值「1」以進行該修改資料碎化。
在步驟S61A中,主裝置50(例如運行程式碼52C的處理器52)可用該起始邏輯區塊位址以及該轉移長度將該寫入(10)UPIU指令連同該修改資料碎化程度位元透過傳輸介面電路58發送至記憶裝置100(例如記憶體控制器110),以在裝置側用該修改資料碎化程度程序進行該修改資料碎化。
在步驟S60B中,因應載有該修改資料碎化程度位元的該寫入(10)UPIU指令(例如修改資料碎化程度位元=1),記憶裝置100(例如記憶體控制器110)可檢查用該修改資料碎化程度位元表示的該修改資料碎化程度旗標,尤其可檢查該修改資料碎化程度位元是否等於該第二預定邏輯值諸如邏輯值「1」。例如,若該修改資料碎化程度位元等於該第二預定邏輯值諸如邏輯值「1」,記憶裝置100(例如記憶體控制器110)可開始在該修改資料碎化程度程序中進行該資料重整垃圾收集。
在步驟S60B’中,記憶裝置100(例如記憶體控制器110)可完成在該修改資料碎化程度程序中的該資料重整垃圾收集。
在步驟S61B中,在進行該資料重整垃圾收集後,記憶裝置100(例如記憶體控制器110)可透過傳輸介面電路118將該寫入(10)UPIU指令的該回應UPIU反饋至主裝置50,以將該修改資料碎化諸如該資料重整垃圾收集已完成之狀況通報給主裝置50。
在步驟S65A中,在接收到該寫入(10)UPIU指令的該回應UPIU後,主
裝置50(例如運行程式碼52C的處理器52)可得知該修改資料碎化諸如該資料重整垃圾收集已完成,而因此可完成上述主機側運作的程序。
如第3圖的右半部所示,記憶裝置100(例如記憶體控制器110)可在一裝置側處理階段PHASE(1)進行步驟S40B、S50B等等的運作並且在一裝置側處理階段PHASE(2)進行步驟S60B、S60B’等等的運作,其中記憶裝置100(例如記憶體控制器110)可在之後完成上述知該主機側運作的程序。為簡明起見,針對本實施例之類似的說明在此不重複贅述。
依據某些實施例,在一指令(例如該讀取(10)UPIU指令或該寫入(10)UPIU指令)的名稱中界定的數字(例如十或10)可指出這個指令所載有的相關參數的位元組數。例如,在該指令(例如該讀取(10)UPIU指令或該寫入(10)UPIU指令)的名稱中界定的數字等於十(例如10)的情況下,這個指令可載有十位元組的參數。為簡明起見,針對這些實施例之類似的說明在此不重複贅述。
第4圖為依據本發明一實施例之該方法的主機側工作流程,其中儲存在電腦可讀媒體52M中的程式碼52C可在由主裝置50(例如處理器52)執行時使得主裝置50(例如處理器52)依據該方法運作。
在步驟S71中,主裝置50可透過主裝置50的傳輸介面電路58自主裝置50發送一第一指令(例如該讀取(10)UPIU指令)至記憶體控制器110,以觸發記憶體控制器110依據至少一第一實體位址區域(例如包含有實體區塊位址{PBA(0),…,PBA(M)}的一或多個實體位址區域)的複數個第一實體位址(例如實體區塊位址{PBA(0),…,PBA(M)})進行關於非連續性的計算以產生該複數個第一實體位址(例如實體區塊位址{PBA(0),…,PBA(M)})的一關於非連續性的計算結果(例如上述資料碎化熵諸如資料碎化熵EoDF(TGT)),並且依據該關於非連續性的計算結果(例如該資料碎化熵)產生至少一第一邏輯位址區域(例
如包含有邏輯區塊位址{LBA(0),…,LBA(M)}的一或多個邏輯位址區域)的一資料碎化程度。例如,該第一指令(例如該讀取(10)UPIU指令)可載有至少一第一邏輯位址(例如邏輯區塊位址LBA(0))以指出上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域),並且可另載有一第一指示符(例如該資料碎化程度位元)以指出針對產生上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域)的該資料碎化程度之運作的請求,其中上述至少一第一實體位址區域(例如包含有實體區塊位址{PBA(0),...,PBA(M)}的該一或多個實體位址區域)可對應於上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域),以及該關於非連續性的計算結果(例如該資料碎化熵)可指出該複數個實體位址(例如實體區塊位址{PBA(0),...,PBA(M)})的非連續性的程度。
記憶體控制器110可用來依據上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域)判斷非揮發性記憶體120的上述至少一第一實體位址區域(例如包含有實體區塊位址{PBA(0),...,PBA(M)}的該一或多個實體位址區域),例如藉由基於全域邏輯至實體位址映射表120T進行位址映射判斷。另外,該第一指令(例如該讀取(10)UPIU址另)可符合該第一預定指令格式諸如表1所示之指令格式,以及該第一指示符(例如該資料碎化程度位元)可代表在該第一預定指令格式的一第一預定欄位(例如表1所示之欄位「DFD」)中的位元。此外,該第一預定指令格式可包含一操作碼欄位諸如用來載有該操作碼的欄位「操作碼」、一邏輯區塊位址欄位諸如用來載有該邏輯區塊位址的欄位「邏輯區塊位址」、該第一預定欄位諸如用來載有該第一指示符(例如該資料碎化程度位元)的欄位「DFD」、以及一轉移長度欄位諸如用來載有該轉移長度的欄位「轉移長度」,其中該邏輯區塊
位址以及該轉移長度的組合可指出上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域)。
在步驟S72中,於產生該資料碎化程度的運作完成後,主裝置50可透過傳輸介面電路58自記憶體控制器110接收一第一回應(例如該讀取(10)UPIU指令的該回應UPIU),其中該第一回應(例如該讀取(10)UPIU指令的該回應UPIU)是藉由記憶體控制器110因應該第一指令(例如該讀取(10)UPIU指令)被發送至主裝置50。
在步驟S73中,主裝置50可透過傳輸介面電路58自主裝置50發送一第二指令(例如該查詢請求UPIU)至記憶體控制器110,其中該第二指令(例如該查詢請求UPIU)是用來指出回傳該資料碎化程度至主裝置50之運作的請求。
在步驟S74中,主裝置50可透過傳輸介面電路58自記憶體控制器110接收一第二回應(例如該查詢回應UPIU),其中該第二回應(例如該查詢回應UPIU)是藉由記憶體控制器110因應該第二指令(例如該查詢請求UPIU)被發送至主裝置50以回傳該資料碎化程度至主裝置50,以及該第二回應(例如該查詢回應UPIU)載有該資料碎化程度。
該第二回應(例如該查詢回應UPIU)可載有一第二指示符(例如裝置壽命估計參數bDeviceLifeTimeEstC)以指出該資料碎化程度。例如,該第二回應(例如該查詢回應UPIU)可符合一預定格式,以及該預定格式可包含載有一預定描述符(例如該裝置健康描述符)的至少一欄位,其中該第二指示符(例如裝置壽命估計參數bDeviceLifeTimeEstC)是被內嵌在該預定描述符(例如該裝置健康描述符)中,但本發明不限於此。在某些例子中,該第二回應(例如該查詢回應UPIU)可包含該預定描述符諸如該裝置健康描述符,以及該第二指示符可為該預定描述符中的多個裝置壽命估計參數(例如裝置壽命估計參數bDeviceLifeTimeEstA、bDeviceLifeTimeEstB以及bDeviceLifeTimeEstC)中的一
裝置壽命估計參數(例如裝置壽命估計參數bDeviceLifeTimeEstC)。尤其,該預定描述符可代表載有至少三個裝至壽命估計參數的一裝置健康描述符,諸如載有裝置壽命估計參數bDeviceLifeTimeEstA、bDeviceLi化TimeEstB以及bDeviceLifeTimeEstC的該裝置健康描述符。例如,該第二回應(例如該查詢回應UPIU)可載有一第一裝置壽明估計參數(例如裝置壽命估計參數bDeviceLifeTimeEstA)、一第二裝置壽明估計參數(例如裝置壽命估計參數bDeviceLifeTimeEstB)、以及一第三裝置壽明估計參數(例如裝置壽命估計參數bDeviceLifeTimeEstC),其中該第二指示符代表該第三裝置壽命估計參數。
在步驟S75中,主裝置50可依據回傳至主裝置50的該資料碎化程度產生一判斷結果(例如步驟S25A及S55A的任一者的多個判斷結果中的某一判斷結果,諸如第3圖的左半部所示之判斷結果「是」及「否」的其中一者),以控制記憶體控制器110依據主裝置50的該判斷結果選擇性地進行資料碎化降低。為簡明起見,針對本實施例之類似的說明在此不重複贅述。
為便於理解,該方法可用第4圖所示之工作流程作說明,但本發明不限於此。依據某些實施例,一或多個步驟可在第4圖所示之工作流程中被新增、刪除或修改。例如,該方法可另包含某些其他步驟(例如在第4圖所示之工作流程中於步驟S75以後執行的後續步驟)如下:(1)主裝置50可透過傳輸介面電路58自主裝置50發送一第三指令(例如該寫入(10)UPIU指令)至記憶體控制器110,以觸發記憶體控制器110對至少一第二實體位址區域進行該資料碎化降低,其中該第三指令(例如該寫入(10)UPIU指令)可載有至少一第二邏輯位址以指出上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域)中的至少一第二邏輯位址區域,並且可另載有一第三指示符以指出對上述至少一第二邏輯位址區域進行該資料碎化降低之運作的請求,其中上述至少一
第二實體位址區域是對應於上述至少一第二邏輯位址區域;以及(2)在對上述至少一第二實體位址區域進行該資料碎化降低後,主裝置50可透過傳輸介面電路58自記憶體控制器110接收一第三回應(例如該寫入(10)UPIU指令的該回應UPIU),其中該第三回應是由記憶體控制器110因應該第三指令(例如該寫入(10)UPIU指令)發送至主裝置50;其中該第三指令(例如該寫入(10)UPIU指令)可符合該第二預定指令格式諸如表5所示之格式,以及該第三指示符(例如該修改資料碎化程度位元)可代表在該第二預定指令格式的一預定欄位(例如欄位「RDFD」)中的位元,但本發明不限於此。例如,上述至少一第二邏輯位址可等於上述至少一第一邏輯位址,以及上述至少一第二邏輯位址區域可等於上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域)。為簡明起見,針對這些實施例之類似的說明在此不重複贅述。
第5圖為依據本發明一實施例之該方法的裝置側工作流程。
在步驟S81中,電子裝置10可利用記憶體控制器110透過記憶體控制器110的傳輸介面電路118自主裝置50接收該第一指令(例如該讀取(10)UPIU指令),其中該第一指令(例如該讀取(10)UPIU指令)可載有上述至少一第一邏輯位址(例如邏輯區塊位址LBA(0))以指出上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域),並且可另載有該第一指示符(例如該資料碎化程度位元)以指出產生上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域)的一資料碎化程度之運作的請求。
在步驟S82中,因應來自主裝置50的該第一指令(例如該讀取(10)UPIU指令),電子裝置10可利用記憶體控制器110依據上述至少一第一實體位址區域(例如包含有實體區塊位址{PBA(0),...,PBA(M)}的該一或多個實體位
址區域)的該複數個第一實體位址(例如實體區塊位址{PBA(0),...,PBA(M)})進行該關於非連續性的計算,以產生該複數個第一實體位址(例如實體區塊位址{PBA(0),...,PBA(M)})的該關於非連續性的計算結果(例如上述資料碎化熵,諸如資料碎化熵EoDF(TGT)),並且依據該關於非連續性的計算結果(例如該資料碎化熵)產生該資料碎化程度,其中上述至少一第一實體位址區域(例如包含有實體區塊位址{PBA(0),...,PBA(M)}的該一或多個實體位址區域)是對應於上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域),以及該關於非連續性的計算結果(例如該資料碎化熵)指出該複數個第一實體位址(例如實體區塊位址{PBA(0),...,PBA(M)})的非連續性的程度。
在步驟S83中,在產生該資料碎化程度的運作完成後,電子裝置10可利用記憶體控制器110透過傳輸介面電路118發送該第一回應(例如該讀取(10)UPIU指令的該回應UPIU)至主裝置50,其中該第一回應(例如該讀取(10)UPIU指令的該回應UPIU)是因應該第一指令(例如該讀取(10)UPIU)被發送至主裝置50。
在步驟S84中,電子裝置10可利用記憶體控制器110透過傳輸介面電路118自主裝置50接收該第二指令(例如該查詢請求UPIU),其中該第二指令(例如該查詢請求UPIU)是用來指出將該資料碎化程度回傳至主裝置50之運作的請求。
在步驟S85中,因應來自主裝置50的該第二指令(例如該查詢請求UPIU),電子裝置10可利用記憶體控制器110透過傳輸介面電路118發送該第二回應(例如該查詢回應UPIU)至主裝置50以將該資料碎化程度回傳至主裝置50,以依據主裝置50的該判斷結果選擇性地進行該資料碎化降低,其中該第二回應(例如該查詢回應UPIU)載有該資料碎化程度,以及該判斷結果是依據回傳至
主裝置50的該資料碎化程度被產生。為簡明起見,針對本實施例之類似的說明在此不重複贅述。
為便於理解,該方法可用第5圖所示之工作流程作說明,但本發明不限於此。依據某些實施例,一或多個步驟可在第5圖所示之工作流程中被新增、刪除或修改。例如,該方法可另包含某些其他步驟(例如在第5圖所示之工作流程中於步驟S85以後執行的後續步驟)如下:(1)電子裝置10可利用記憶體控制器110透過傳輸介面電路118自主裝置50接收該第三指令(例如該寫入(10)UPIU指令),其中該第三指令(例如該寫入(10)UPIU指令)可載有上述至少一第二邏輯位址以指出上述至少一第一邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域)中的上述至少一第二邏輯位址區域,並且可另載有該第三指示符(例如該修改資料碎化程度位元)以指出對上述至少一第二邏輯位址區域進行該資料碎化降低之運作的請求;(2)因應來自主裝置50的該第三指令(例如該寫入(10)UPIU指令),電子裝置10可利用記憶體控制器110對上述至少一第二實體位址區域進行該資料碎化降低,例如記憶體控制器110可用來依據上述至少一第二邏輯位址區域判斷非揮發性記憶體120的上述至少一實體位址區域,其中上述至少一第二實體位址區域是對應於上述至少一第二邏輯位址區域;以及(3)在對上述至少一第二實體位址區域進行該資料碎化降低之運作完成後,電子裝置10可利用記憶體控制器110透過傳輸介面電路118發送該第三回應(例如該寫入(10)UPIU指令的該回應UPIU)至主裝置50,其中該第三回應是因應該第三指令(例如該寫入(10)UPIU指令)被發送至主裝置50;但本發明不限於此。例如,上述至少一第二邏輯位址可等於上述至少一第一邏輯位址,以及上述至少一第二邏輯位址區域可等於上述至少一第一
邏輯位址區域(例如包含有邏輯區塊位址{LBA(0),...,LBA(M)}的該一或多個邏輯位址區域)。為簡明起見,針對這些實施例的類似說明在此不重複贅述。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
S81~S85:步驟
Claims (18)
- 一種用來在一預定通訊架構中藉助碎化資訊偵測進行一記憶裝置的資料碎化降低控制的方法,該方法是應用在該記憶裝置的一記憶體控制器,該記憶裝置包含該記憶體控制器以及一非揮發性(non-volatile,NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該方法包含:利用該記憶體控制器透過該記憶體控制器的一傳輸介面電路自一主裝置接收一第一指令,其中該第一指令載有至少一第一邏輯位址以指出包含有複數個第一邏輯位址的至少一第一邏輯位址區域,並且另載有一第一指示符以指出產生該至少一第一邏輯位址區域的一資料碎化程度(data fragmentation degree)之運作的請求;因應來自該主裝置的該第一指令,利用該記憶體控制器依據至少一第一實體位址區域的複數個第一實體位址進行關於非連續性的計算以產生該複數個第一實體位址的一關於非連續性的計算結果,並且依據該關於非連續性的計算結果產生該資料碎化程度,其中該至少一第一實體位址區域對應於該至少一第一邏輯位址區域,以及該關於非連續性的計算結果指出該複數個第一實體位址的非連續性的程度;在產生該資料碎化程度的運作完成後,利用該記憶體控制器透過該傳輸介面電路發送一第一回應至該主裝置,其中該第一回應是因應該第一指令被發送至該主裝置;利用該記憶體控制器透過該傳輸介面電路自該主裝置接收一第二指令,其中該第二指令是用來指出將該資料碎化程度回傳至該主裝置之運作的請求;以及因應來自該主裝置的該第二指令,利用該記憶體控制器透過該傳輸介面電路發送一第二回應至該主裝置以將該資料碎化程度回傳至該主裝置, 以依據該主裝置的一判斷結果決定是否進行資料重整垃圾收集,其中該第二回應載有該資料碎化程度,以及該判斷結果是依據被回傳至該主裝置的該資料碎化程度產生的;其中當該判斷結果指出該資料碎化程度達到一預定閾值時,該記憶體控制器進行該資料重整垃圾收集。
- 如申請專利範圍第1項所述之方法,其中該第一指令符合一第一預定指令格式,以及該第一指示符代表在該第一預定指令格式的一第一預定欄位中的一位元。
- 如申請專利範圍第2項所述之方法,其中該第一預定指令格式包含用來載有一操作碼的一操作碼欄位、用來載有一邏輯區塊位址的一邏輯區塊位址欄位、用來載有該第一指示符的該第一預定欄位、以及用來載有一轉移長度的一轉移長度欄位,其中該邏輯區塊位址以及該轉移長度的組合指出該至少一第一邏輯位址區域。
- 如申請專利範圍第1項所述之方法,其中該第二回應載有一第二指示符以指出該資料碎化程度。
- 如申請專利範圍第4項所述之方法,其中該第二回應符合一預定格式,以及該預定格式包含用來載有一預定描述符的至少一欄位,其中該第二指示符是被內嵌在該預定描述符中。
- 如申請專利範圍第4項所述之方法,其中該第二回應包含一預定 描述符,以及該第二指示符為該預定描述符中的多個裝置壽命估計參數中的一裝置壽命估計參數。
- 如申請專利範圍第6項所述之方法,其中該預定描述符代表載有至少三個裝置壽命估計參數的一裝置健康描述符。
- 如申請專利範圍第4項所述之方法,其中該第二回應載有一第一裝置壽命估計參數、一第二裝置壽命估計參數以及一第三裝置壽命估計參數,以及該第二指示符代表該第三裝置壽命估計參數。
- 如申請專利範圍第1項所述之方法,另包含:利用該記憶體控制器透過該傳輸介面電路自該主裝置接收一第三指令,其中該第三指令載有至少一第二邏輯位址以指出該至少一第一邏輯位址區域中的至少一第二邏輯位址區域,並且另載有一第三指示符以指出對該至少一第二邏輯位址區域進行該資料重整垃圾收集之運作的請求;因應來自該主裝置的該第三指令,利用該記憶體控制器隊至少一第二實體位址區域進行該資料重整垃圾收集,其中該至少一第二實體位址區域對應於該至少一第二邏輯位址區域;以及在對該至少一第二實體位址區域進行該資料重整垃圾收集完成後,利用該記憶體控制器透過該傳輸介面電路發送一第三回應至該主裝置,其中該第三回應是因應該第三指令被發送至該主裝置。
- 如申請專利範圍第9項所述之方法,其中該第三指令符合一預定 指令格式,以及該第三指示符代表在該預定指令格式的一預定欄位中的一位元。
- 如申請專利範圍第9項所述之方法,其中該至少一第二邏輯位址等於該至少一第一邏輯位址,以及該至少一第二邏輯位址區域等於該至少一第一邏輯位址區域。
- 一種記憶裝置的記憶體控制器,該記憶裝置包含該記憶體控制器以及一非揮發性(non-volatile,NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該記憶體控制器包含:一處理電路,用來依據來自一主裝置的複數個主機指令控制記憶體控制器,以容許該主裝置透過該記憶體控制器存取該非揮發性記憶體,其中該處理電路是用來在一預定通訊架構中藉助碎化資訊偵測進行該記憶裝置的資料碎化降低控制;以及一傳輸介面電路,用來與該主裝置進行通訊;其中:該記憶體控制器透過該記憶體控制器的該傳輸介面電路自該主裝置接收一第一指令,其中該第一指令載有至少一第一邏輯位址以指出包含有複數個第一邏輯位址的至少一第一邏輯位址區域,並且另載有一第一指示符以指出產生該至少一第一邏輯位址區域的一資料碎化程度(data fragmentation degree)之運作的請求;因應來自該主裝置的該第一指令,該記憶體控制器依據至少一第一實體位址區域的複數個第一實體位址進行關於非連續性的計算以產生該複數個第一實體位址的一關於非連續性的計算結果,並且依 據該關於非連續性的計算結果產生該資料碎化程度,其中該至少一第一實體位址區域對應於該至少一第一邏輯位址區域,以及該關於非連續性的計算結果指出該複數個第一實體位址的非連續性的程度;在產生該資料碎化程度的運作完成後,該記憶體控制器透過該傳輸介面電路發送一第一回應至該主裝置,其中該第一回應是因應該第一指令被發送至該主裝置;該記憶體控制器透過該傳輸介面電路自該主裝置接收一第二指令,其中該第二指令是用來指出將該資料碎化程度回傳至該主裝置之運作的請求;以及因應來自該主裝置的該第二指令,該記憶體控制器透過該傳輸介面電路發送一第二回應至該主裝置以將該資料碎化程度回傳至該主裝置,以依據該主裝置的一判斷結果決定是否進行資料重整垃圾收集,其中該第二回應載有該資料碎化程度,以及該判斷結果是依據被回傳至該主裝置的該資料碎化程度產生的;其中當該判斷結果指出該資料碎化程度達到一預定閾值時,該記憶體控制器進行該資料重整垃圾收集。
- 一種包含如申請專利範圍第12項所述之記憶體控制器的記憶裝置,其中該記憶裝置包含:該非揮發性記憶體,用來儲存資訊;以及該記憶體控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置的運作。
- 一種包含如申請專利範圍第13項所述之記憶裝置的電子裝置,其 中該電子裝置另包含:該主裝置,耦接至該記憶裝置,其中該主裝置包含:至少一處理器,用來控制該主裝置的運作;以及一電源供應電路,耦接至該至少一處理器,用來提供電源給該至少一處理器以及該記憶裝置;其中該記憶裝置提供儲存空間給該主裝置。
- 一種用來在一預定通訊架構中藉助碎化資訊偵測進行一記憶裝置的資料碎化降低控制的方法,該方法是應用在耦接至該記憶裝置的一主裝置,該記憶裝置包含一記憶體控制器以及一非揮發性(non-volatile,NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該方法包含:透過該主裝置的一傳輸介面電路自該主裝置發送一第一指令至該記憶體控制器,以觸發該記憶體控制器依據至少一第一實體位址區域的複數個第一實體位址進行關於非連續性的計算以產生該複數個第一實體位址的一關於非連續性的計算結果,並且依據該關於非連續性的計算結果產生至少一第一邏輯位址區域的一資料碎化程度(data fragmentation degree),其中該第一指令載有至少一第一邏輯位址以指出包含有複數個第一邏輯位址的該至少一第一邏輯位址區域,並且另載有一第一指示符以指出產生該至少一第一邏輯位址區域的該資料碎化程度之運作的請求,其中該至少一第一實體位址區域對應於該至少一第一邏輯位址區域,以及該關於非連續性的計算結果指出該複數個第一實體位址的非連續性的程度;在產生該資料碎化程度的運作完成後,透過該傳輸介面電路自該記憶體控制器接收一第一回應,其中該第一回應是由該記憶體控制器因應該第 一指令發送至該主裝置;透過該傳輸介面電路自該主裝置發送一第二指令至該記憶體控制器,其中該第二指令是用來指出將該資料碎化程度回傳至該主裝置之運作的請求;透過該傳輸介面電路自該記憶控制器接收一第二回應,其中該第二回應是由該記憶體控制器因應該第二指令發送至該主裝置以將該資料碎化程度回傳至該主裝置,以及該第二回應載有該資料碎化程度;以及依據被回傳至該主裝置的該資料碎化程度產生一判斷結果,以控制該記憶體控制器依據該主裝置的該判斷結果決定是否進行資料重整垃圾收集;其中當該判斷結果指出該資料碎化程度達到一預定閾值時,該記憶體控制器進行該資料重整垃圾收集。
- 如申請專利範圍第15項所述之方法,另包含:透過該傳輸介面電路自該主裝置發送一第三指令至該記憶體控制器,以觸發該記憶體控制器對至少一第二實體位址區域進行該資料重整垃圾收集,其中該第三指令載有至少一第二邏輯位址以指出該至少一第一邏輯位址區域中的至少一第二邏輯位址區域,且另載有一第三指示符以指出該記憶體控制器被要求對該至少一第二邏輯位址區域進行該資料重整垃圾收集,其中該至少一第二實體位址區域對應於該至少一第二邏輯位址區域;以及在對該至少一第二實體位址區域進行的該資料重整垃圾收集完成後,透過該傳輸介面電路自該記憶體控制器接收一第三回應,其中該第三回應是由該記憶體控制器因應該第三指令發送至該主裝置。
- 一種依據如申請專利範圍第15項所述之方法運作的主裝置。
- 一種儲存一程式碼的電腦可讀媒體(computer-readable),導致該主裝置在執行該程式碼時依據如申請專利範圍第15項所述之方法運作。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263392463P | 2022-07-26 | 2022-07-26 | |
US63/392,463 | 2022-07-26 | ||
US17/974,546 | 2022-10-27 | ||
US17/974,546 US20240036739A1 (en) | 2022-07-26 | 2022-10-27 | Method and apparatus for performing data fragmentation reduction control of memory device in predetermined communications architecture with aid of fragmentation information detection, and associated computer-readable medium |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI828602B true TWI828602B (zh) | 2024-01-01 |
TW202405661A TW202405661A (zh) | 2024-02-01 |
Family
ID=89665337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112127145A TWI828602B (zh) | 2022-07-26 | 2023-07-20 | 用來在預定通訊架構中藉助碎化資訊偵測進行記憶裝置的資料碎化降低控制的方法及設備、以及相關電腦可讀媒體 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240036739A1 (zh) |
TW (1) | TWI828602B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099326A1 (en) * | 2009-10-27 | 2011-04-28 | Samsung Electronics Co., Ltd. | Flash memory system and defragmentation method |
CN112650812A (zh) * | 2020-12-22 | 2021-04-13 | 深圳壹账通智能科技有限公司 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
TW202221574A (zh) * | 2020-11-20 | 2022-06-01 | 英業達股份有限公司 | 資料傳遞及合併的方法 |
CN114691535A (zh) * | 2020-12-28 | 2022-07-01 | 三星电子株式会社 | 存储装置及其操作方法和存储器控制器的操作方法 |
-
2022
- 2022-10-27 US US17/974,546 patent/US20240036739A1/en active Pending
-
2023
- 2023-07-20 TW TW112127145A patent/TWI828602B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099326A1 (en) * | 2009-10-27 | 2011-04-28 | Samsung Electronics Co., Ltd. | Flash memory system and defragmentation method |
TW202221574A (zh) * | 2020-11-20 | 2022-06-01 | 英業達股份有限公司 | 資料傳遞及合併的方法 |
CN112650812A (zh) * | 2020-12-22 | 2021-04-13 | 深圳壹账通智能科技有限公司 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
CN114691535A (zh) * | 2020-12-28 | 2022-07-01 | 三星电子株式会社 | 存储装置及其操作方法和存储器控制器的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20240036739A1 (en) | 2024-02-01 |
TW202405661A (zh) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593259B2 (en) | Directed sanitization of memory | |
US11301175B2 (en) | Method for controlling storage device | |
TWI679537B (zh) | 資料移動方法及儲存控制器 | |
TWI592800B (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
TW200900925A (en) | Remove-on-delete technologies for solid state drive optimization | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
TWI607309B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI725416B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US9304907B2 (en) | Data management method, memory control circuit unit and memory storage apparatus | |
TW202101235A (zh) | 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI677790B (zh) | 有效資料管理方法以及儲存控制器 | |
TWI785876B (zh) | 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8966161B2 (en) | Memory storage device and restoring method thereof | |
TW201935232A (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
TWI828602B (zh) | 用來在預定通訊架構中藉助碎化資訊偵測進行記憶裝置的資料碎化降低控制的方法及設備、以及相關電腦可讀媒體 | |
TWI494944B (zh) | 記憶體模組偵測方法、記憶體控制電路單元及儲存裝置 | |
KR20170031311A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN116048380A (zh) | 藉助于预定命令来进行存储器装置的数据存取控制的方法及设备 | |
CN110825310A (zh) | 存储器管理方法以及存储控制器 | |
TW201643722A (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN117453122A (zh) | 检测进行记忆装置的数据碎化降低控制的方法及设备、以及相关电脑可读媒体 | |
TWI820952B (zh) | 藉助於預定命令來進行記憶體裝置的資料存取控制的方法及設備 | |
TWI817645B (zh) | 藉助於相容性管理來進行在預定通訊架構中的記憶體裝置的通訊規範版本控制的方法、記憶體裝置、電子裝置、記憶體裝置的記憶體控制器、以及計算機可讀媒體 | |
TWI569201B (zh) | 控制方法、記憶體控制器與資料傳輸系統 | |
TWI501082B (zh) | 電腦系統及其操作方法 |