TWI739325B - 儲存空間管理方法 - Google Patents

儲存空間管理方法 Download PDF

Info

Publication number
TWI739325B
TWI739325B TW109106583A TW109106583A TWI739325B TW I739325 B TWI739325 B TW I739325B TW 109106583 A TW109106583 A TW 109106583A TW 109106583 A TW109106583 A TW 109106583A TW I739325 B TWI739325 B TW I739325B
Authority
TW
Taiwan
Prior art keywords
capacity
memory
effective
controller
blocks
Prior art date
Application number
TW109106583A
Other languages
English (en)
Other versions
TW202132991A (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 TW109106583A priority Critical patent/TWI739325B/zh
Priority to US17/116,095 priority patent/US20210271410A1/en
Publication of TW202132991A publication Critical patent/TW202132991A/zh
Application granted granted Critical
Publication of TWI739325B publication Critical patent/TWI739325B/zh
Priority to US18/325,012 priority patent/US20230305740A1/en

Links

Images

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0644Management of space entities, e.g. partitions, extents, pools

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

Abstract

一種儲存空間管理方法,用於包含控制器和記憶體的儲存裝置,包含:由控制器計算記憶體的預期使用容量和有效容量,其中有效容量與記憶體的複數個區塊中被標示壞塊的數量呈負相關;當有效容量小於等於宣告容量且有效容量與預期使用容量的差值小於預定臨界容量時,由控制器禁止對記憶體進行寫入操作;以及當有效容量小於等於宣告容量且有效容量與預期使用容量的差值不小於預定臨界容量時,由控制器允許對記憶體進行寫入操作。

Description

儲存空間管理方法
本揭示案係關於一種儲存空間管理方法,特別是關於一種延長使用期間的儲存空間管理方法。
固態硬碟(solid state drive,SSD)的使用期間受限於其內部的快閃記憶體的讀寫次數。當讀寫次數超過設計的上限值,快閃記憶體就有可能無法正確保存資料,因此,固態硬碟的控制晶片將標記此記憶區塊為壞塊(bad block)。
隨著越來越多記憶區塊被標記成壞塊,當固態硬碟中所剩餘可以使用的記憶體容量小於初始時的宣告容量時,傳統的記憶體控制器將認定此固態硬碟的使用壽命已至而無法再進行存取運作。
針對上述情形,如何延長固態硬碟的使用期間為本領域的重要課題。
本揭示內容的一態樣係關於一種儲存空間管理方法,用於包含控制器和記憶體的儲存裝置,包含:由控制器計算記憶體的預期使用容量和有效容量,其中有效容量與記憶體的複數個區塊中被標示壞塊的數量呈負相關;當有效容量小於等於宣告容量且有效容量與預期使用容量的差值小於預定臨界容量時,由控制器禁止對記憶體進行寫入操作;以及當有效容量小於等於宣告容量且有效容量與預期使用容量的差值不小於預定臨界容量時,由控制器允許對記憶體進行寫入操作。
本揭示內容的一態樣係關於另一種儲存空間管理方法,用於包含控制器和記憶體的儲存裝置,包含:由控制器計算記憶體的預期使用容量和有效容量,其中有效容量與記憶體的複數個區塊中被標示壞區的數量呈負相關;由控制器決定記憶體的這些區塊中之每一區塊是否為不再使用情形;當這些區塊中之一者被決定為不再使用情形時,由控制器對區塊標記為損壞區塊或限制區塊,以使得有效容量不小於儲存裝置的宣告容量;以及由控制器比較有效容量與被標記為限制區塊的數量的差值和預期使用容量來決定是否禁止對記憶體進行該寫入操作。
本揭示內容的一態樣係關於另一種儲存空間管理方法,用於包含控制器和記憶體的儲存裝置,包含:控制器儲存有至少一重初始化容量,其中至少一重初始化容量小於宣告容量;由控制器計算記憶體的有效容量,其中有效容量與記憶體的複數個區塊中被標示壞區的數量呈負相關;由 控制器依據有效容量與宣告容量之間的差值以決定是否啟動儲存裝置以至少一重初始化容量進行再初始化程序。
100:儲存裝置
110:記憶體
120:控制器
121:控制電路
122:讀寫電路
123:儲存電路
124:通訊介面
130:警示器
BLOCK:記憶區塊
200:儲存空間管理方法
S210、S220、S230、S240、S250、S260、S270、S280、S290:操作
B0:實際容量
Bd:宣告容量
Ba、Ba’:有效容量
Bu:當前使用容量
Bs:安全容量
Bd1、Bd2:待刪除容量
T1、T2、T3、T4、T5:時間點
P1、P2:期間
300:電子裝置
310:處理器
320:顯示器
第1圖為根據本揭示內容之實施例之一種儲存裝置的示意圖。
第2圖為根據本揭示內容之實施例之一種儲存空間管理方法的流程圖。
第3圖和第4圖為根據本揭示內容之實施例之儲存裝置的容量變化的示意圖。
第5圖為根據本揭示內容之實施例之一種儲存裝置和電子裝置的訊息傳送流程圖。
下文係舉實施例配合所附圖式作詳細說明,但所描述的具體實施例僅用以解釋本案,並不用來限定本案,而結構操作之描述非用以限制其執行之順序,任何由元件重新組合之結構,所產生具有均等功效的裝置,皆為本揭示內容所涵蓋的範圍。
請參考第1圖。第1圖為根據本揭示內容之實施例之一種儲存裝置100的示意圖。如第1圖所示,儲存裝置100包含記憶體110、控制器120和警示器130。記憶體110 包含複數個記憶區塊BLOCK。控制器120包含控制電路121、讀寫電路122、儲存電路123和通訊界面124。
結構上,控制器120耦接記憶體110和警示器130。控制電路121耦接讀寫電路122、儲存電路123、通訊界面124和警示器130。具體而言,控制電路121透過讀寫電路122耦接記憶區塊BLOCK。
在部分實施例中,記憶體110可為非揮發性(non-volatile)記憶體,例如,NAND型快閃記憶體陣列。在部分實施例中,控制器120可為各種處理電路或控制晶片。
操作上,控制電路121用以控制讀寫電路122以針對記憶區塊中一或多者進行寫入(program)、讀取(read)、清除(erase)、驗證或其他動作,並將相應於每一個記憶區塊的讀寫次數(P/E cycle)記錄在儲存電路123中。當記憶區塊進行寫入操作,以儲存資料。控制電路121可根據儲存電路123中的紀錄計算當前所有記憶區塊中儲存有資料的空間大小,即為當前使用容量。而控制電路121可計算當前使用容量和當前欲寫入的一筆資料的總合,即為預期使用容量。例如,若當前使用容量為1TB,而欲寫入一筆為0.2TB的資料時,預期使用容量則為1.2TB。
此外,當控制電路121對某一或多個記憶區塊進行寫入操作時,用以判斷此記憶區塊是否被標記為壞塊(bad block)。未被標記為壞塊的區塊代表此記憶區塊中的記憶單元(cell)仍能正常運作,而被標記為壞塊的區塊代表此 記憶區塊已無法正常保存資料。當控制電路121判斷某一記憶區塊無法正確保存資料時,控制電路121將標記此記憶區塊為壞塊。
具體而言,在部分實施例中,當相應於此記憶區塊的讀寫次數大於此記憶區塊在設計規格中的讀寫次數上限值時,控制電路121會判斷此記憶區塊應標記為壞塊。在其他部分實施例中,控制電路121透過讀寫電路對此記憶區塊進行驗證操作。當此記憶區塊未通過驗證操作時,控制電路121會判斷此記憶區塊需標記為壞塊。如此一來,儲存裝置100透過計算沒有被標記(屬於可保存資料的空間)的記憶區塊的數量,便能得知記憶體110當前的有效容量。換言之,有效容量與記憶體110的記憶區塊中被標示壞塊的數量呈負相關。
為方便及清楚說明起見,儲存裝置100的具體操作將於以下段落配合第1圖~第5圖所示實施例進行說明,但不以此為限,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可對作各種更動與潤飾。請參考第2圖。第2圖為根據本揭示內容之實施例之一種儲存空間管理方法200的流程圖。如第2圖所示,儲存空間管理方法200包含操作S210、S220、S230、S240、S250、S260、S270、S280以及S290。
首先,在操作S210中,由控制器120計算當前使用容量、預期使用容量和有效容量。接著,在操作S220中,由控制器120判斷有效容量是否小於等於宣告容量。
當有效容量大於宣告容量時,代表記憶體110還沒過度損壞或老化而保有足夠的有效儲存空間。因此,進行操作S230,由控制器120判斷預期使用容量是否大於宣告容量。
當預期使用容量小於等於宣告容量時,代表記憶體110中還有足夠的未使用空間可對當前此筆資料進行寫入。因此,進行操作S240,允許寫入操作。
反之,當預期使用容量大於宣告容量時,代表記憶體110中沒有足夠的未使用空間可寫入當前此筆資料。因此,進行操作S250,由控制器120先禁止對記憶體110進行寫入操作同時產生相對應信號,並藉此產生可減少使用容量的相對應操作。相對應信號包含警示通知、安全容量、當前使用容量和待刪除容量。詳細內容將於後續段落敘明。
舉例來說,如第3圖所示,橫軸為時間,縱軸為容量。宣告容量Bd為在儲存裝置100進行初始化(如第3圖中時間點T0),使用者能夠存取的初始容量(即,出廠所設定的標示容量)。當前使用容量Bu隨使用者進行寫入而增加,進行資料刪除而減少。有效容量Ba則隨被標記為壞塊的記憶區塊的數量增加而遞減。
在時間點T0,儲存裝置100的有效容量Ba必然大於等於宣告容量,例如宣告容量Bd為2.0TB的儲存裝置100,其實際容量B0為2.2TB。在時間點T0之後,開始對記憶體110進行寫入操作,因此當前使用容量Bu由零開始增加。
在期間P1中,由於有效容量Ba大於宣告容量Bd(即,記憶體110還沒過度損壞或老化而保有足夠的有效儲存空間),因此在操作S220之後會反覆進行操作S230~S250。例如,在時間點T0和T1之間,由於每次欲進行寫入的預期使用容量小於宣告容量Bd,因此反覆進行操作S220、S230和S240,維持允許寫入操作使得當前使用容量Bu持續增加。直到時間點T1時,當前使用容量Bu等於宣告容量Bd,代表記憶體110中2TB的宣告容量Bd都已經儲存資料了。此時不論當前欲寫入的新資料的檔案大小,預期使用容量都將超出宣告容量,因此將進行操作S250,禁止寫入操作。直到對記憶體110進行資料刪除(即,減少當前使用容量Bu)操作而使得當前使用容量Bu再次小於宣告容量Bd時,將再次進行操作S220。
另一方面,如第3圖中時間點T2所示,當有效容量Ba等於宣告容量Bd時,代表記憶體110中的記憶區塊已經損壞、老化到剩餘的有效儲存空間將少於宣告容量Bd。在期間P2中,傳統的儲存裝置的控制器認定此固態硬碟的使用壽命已至而無法再進行存取運作。
然而,在本案中,如第2圖所示,在操作S220中,當有效容量小於等於宣告容量時,將進行操作S260,由控制器120判斷當前使用容量是否小於有效容量。若當前使用容量大於等於有效容量時,進行操作S290,禁止寫入操作。若當前使用容量小於有效容量時,進行操作S270,由控制器120判斷預期使用容量是否小於等於有效容量。
當預期使用容量小於等於有效容量時,進行操作S280,允許寫入操作。反之,當預期使用容量大於有效容量時,進行操作S290,禁止寫入操作。
舉例來說,如第3圖所示,在時間點T2之後,即便有效容量Ba小於等於宣告容量Bd(如,有效容量Ba為1.8TB,不足初始時2TB的宣告容量Bd),但由於使用容量Bu(如1.5TB)並未大於等於有效容量Ba(如1.8TB),因此有效容量Ba仍足以正常保存當前使用容量Bu的資料。此外,只要預期使用容量未大於有效容量Ba,將可進行操作S280,允許寫入操作。
然而,在時間點T3時,由於當前使用容量Bu將超出有效容量Ba,將導致當前使用容量Bu中的儲存資料內容可能無法正確保存,因此將執行操作S290,禁止寫入操作。直到對記憶體110進行刪除操作使得使用容量Bu再次小於宣告容量Bd時(如時間點T3之後),將可再次進行操作S270,以判斷是否可以允許當前一筆資料的寫入操作。
如此一來,即便儲存裝置100中的記憶區塊因老化、損壞至其有效容量Ba小於應有的宣告容量Bd時,仍可藉由判斷實際可用的有效容量Ba和當前使用容量Bu、預期使用容量的大小,來決定允許或禁止寫入操作,以延長儲存裝置100使用期間。以第3圖的例子進行說明,在時間點T2時,有效容量Ba自2.2TB遞減到宣告容量Bd的2.0TB時,當前使用容量Bu約為1.5TB。即便當前使用容量Bu距離宣告容量Bd還有0.5TB的容量,然而一般的儲存裝置將因有 效容量Ba遞減到宣告容量Bd而造成儲存裝置無法正常運作的狀態。反觀本案在時間點T2之後,雖然有效容量Ba已遞減至低於宣告容量Bd,但只要有效容量Ba和當前使用容量Bu之間還存有空間,便能繼續允許資料寫入、刪除等操作,因而大幅的延長儲存裝置100使用期間。
在另一實施例,請參照第3圖,在期間P2,有效容量Ba’可一直維持不小於宣告容量Bd。具體而言,在期間P1時,控制電路121會將無法正確保存資料的記憶區塊標記為「壞塊」,其中,被標記為壞塊的記憶區塊之數量約為實際容量B0和有效容量Ba的差值。而在期間P2時,控制電路121將無法正確保存資料的記憶區塊標記為「限制區塊」,其中被標記為「限制區塊」的記憶區塊之數量約為宣告容量Bd和有效容量Ba的差值。標記為「限制區塊」的區塊係禁止讀寫的記憶區塊。但標記為限制區塊的記憶區塊不列入計算「壞塊」數量,而是列入「非壞塊」(即,有效容量Ba’)的數量。換言之,在期間P2控制電路121將無法正確保存資料而標記為「限制區塊」的記憶區塊,即是具有標記「壞塊」的實質效力(禁止讀寫),但不列入統計「壞塊」的數量(計入有效容量Ba’)。也就是,當記憶區塊中之一者被決定為不再使用情形時,由控制器121根據有效容量Ba’大於宣告容量Bd對此記憶區塊標記為損壞區塊,而根據有效容量Ba’等於宣告容量Bd對此記憶區塊標記為限制區塊。故,在期間P2時,本案的儲存裝置100的控制器120仍可使有效容量Ba’不小於儲存裝置100的宣告容量Bd。
以控制器120的角度來說明一種簡單實現方式:在期間P1時,控制電路121將判定需要標記成「壞塊」的記憶區塊直接標記為「壞塊」;以及在期間P1過渡至期間P2時,控制電路121開始將判定需要標記成「壞塊」的記憶區塊改標記為「限制區塊」即可達到上述功效。由上述說明可知,被標註成「壞塊」的數量不大於實際容量B0和宣告容量Bd的差值,以確保有效容量Ba’不小於宣告容量Bd(如第3圖所示),其中有效容量Ba’等於正常讀寫的記憶區塊的有效容量Ba加上被標記「限制區塊」的記憶區塊容量。
在另一實施例中,控制電路121具有一宣告容量表。宣告容量表具有複數個宣告容量(例如:2.0T、1.0T、512G、500G、480G、250G…等)及/或對應容量的其他相關資訊。當控制電路121發現有效容量Ba小於等於宣告容量Bd時(如第3圖所示,在時間點T2之後),控制電路121於使用者許可的情形下,選擇宣告容量表中之一個新(較小容量)容量的初始化操作,以達到宣告容量Bd可逐步變小進而延長儲存裝置100使用期間的效果。
在其他部分實施例中,當進行操作S290時,控制器120中的控制電路121可發送警告訊號至警示器130,使得警示器130根據警告訊息發出警示音或閃爍警示燈,以提醒使用者目前有效容量Ba已低於宣告容量Bd且記憶體110處於禁止寫入的狀態。或者,控制電路121可透過通訊 界面124發送警告訊號至電子裝置,在電子裝置中顯示警告通知。
進一步而言,在部分實施例中,控制器120中的控制電路121根據有效容量Ba計算相應的預警容量。當有效容量Ba小於等於宣告容量Bd且當前使用容量Bu大於等於預警容量或預期使用容量大於預警容量時,由控制器120中的控制電路121發出預警訊號至警示器130,或透過通訊界面124發送預警訊號至電子裝置。例如,當當前有效容量Ba為1.8TB時,預警容量可為1.7TB,以保留0.1TB的儲存空間提前提醒使用者注意。警示器130根據警示訊號和預警訊號可相應閃爍不同顏色、頻率或數量的燈號。
另外,當有效容量Ba小於宣告容量Bd時,在部分實施例中,控制器120更用以根據有效容量Ba計算安全容量。也就是說,在操作S260和S270中,控制器120用以判斷當前使用容量Bu是否小於安全容量,以及預期使用容量是否小於等於安全容量。具體而言,如第4圖所示,當有效容量Ba遞減至宣告容量Bd(即時間點T4)時,控制電路121將有效容量Ba扣除一個預設容量作為安全容量Bs。而每當有效容量Ba遞減至此安全容量Bs(如時間點T5)時,控制電路121將有效容量Ba再扣除一個預設容量作為新的安全容量Bs。換言之,安全容量Bs等於有效容量Ba減去預定臨界容量。
如此一來,當有效容量Ba小於宣告容量Bd時,藉由安全容量Bs可避免當前使用容量Bu和有效容量Ba的 差距過小而導致可能無法正確保存資料。此外,藉由安全容量Bs亦可避免當前使用容量Bu刪減不足時,儲存裝置100過於頻繁地發出警示訊息。
值得注意的是,雖然第4圖中所繪示每次扣除的預設容量皆相等。在其他部分實施例中,每次扣除的預設容量可隨有效容量Ba的遞減而增加。例如,扣除的預設容量為0.1TB、0.2TB、0.3TB,則安全容量為1.9TB、1.7TB、1.4TB,以此類推。換言之,安全容量係為可調整的。安全容量係與有效容量存在一比例關係。
在上述實施例中,由儲存裝置100的控制器120決定是否禁止對記憶體110進行寫入操作,並由儲存裝置100的警示器130呈現當前的狀態。在其他部分實施例中,可由儲存裝置中的控制電路121透過通訊界面124和其他電子裝置溝通,使得電子裝置300決定是否禁止進行寫入操作,並相應顯示相關資訊。
具體而言,如第5圖所示,當儲存裝置100發出警告訊息,電子裝置300中的處理器310便根據警告訊息發送詢問(polling)。儲存裝置100因應於詢問將回報目前的有效容量Ba和當前使用容量Bu。處理器310將根據安全容量Bs和當前使用容量Bu或預期使用容量決定是否禁止寫入操作。當當前使用容量Bu或預期使用容量將大於安全容量Bs時,處理器310根據安全容量Bs和當前使用容量Bu或預期使用容量計算待刪除容量及/或提供建議刪除或備份雲 端的清單,並傳送警示通知、安全容量Bs、當前使用容量Bu、預期使用容量和待刪除容量至顯示器320。
具體而言,如第4圖所示,在時間點T4,當當前使用容量Bu將大於安全容量Bs時,處理器310根據當前使用容量Bu減去安全容量Bs的差值作為待刪除容量Bd1。又例如,在時間點T5,處理器310根據當前使用容量Bu減去安全容量Bs的差值作為待刪除容量Bd2。
接著,如第5圖所示,若處理器310對儲存裝置100進行擦除操作後,儲存裝置100的當前使用容量Bu將下降。透過儲存裝置再次回報安全容量Bs和當前使用容量Bu,處理器310可根據當前使用容量Bu小於安全容量Bs而重新允許寫入操作,並更新安全容量Bs和當前使用容量Bu至顯示器320。
如此一來,藉由電子裝置300便能告知使用者目前儲存裝置100不足宣告容量Bd但實際仍可使用的有效容量Ba有多少,並透過持續監測以提示使用者建議刪除多少檔案以釋放足夠有效空間Ba來確保資料儲存的正確性。
綜上所述,藉由儲存空間管理方法200,當有效容量Ba不足宣告容量Bd時,根據當前使用容量Bu或預期使用容量將超過有效容量Ba時暫時禁止寫入,並根據預期使用容量未達有效容量Ba時重新允許寫入。因此,能在確保正確保存資料的條件下,延長儲存裝置100的使用期間。
雖然本揭示內容已以實施方式揭露如上,然其並非用以限定本揭示內容,所屬技術領域具有通常知識者在 不脫離本揭示內容之精神和範圍內,當可作各種更動與潤飾,因此本揭示內容之保護範圍當視後附之申請專利範圍所界定者為準。
200:儲存空間管理方法
S210、S220、S230、S240、S250、S260、S270、 S280:操作

Claims (10)

  1. 一種儲存空間管理方法,用於一儲存裝置,其中該儲存裝置包含一控制器和一記憶體,該控制器儲存有對應於該記憶體的預設的一宣告容量值,該儲存空間管理方法包含:由該控制器計算該記憶體的一預期使用容量和一有效容量,其中該有效容量隨著該記憶體的複數個區塊中被標示壞塊的數量增加而減少,該預期使用容量為該記憶體的一當前使用容量與當前欲寫入該記憶體的一資料的大小的總和;當該有效容量小於等於該宣告容量值且該有效容量與該預期使用容量的差值小於一預定臨界容量時,由該控制器禁止對該記憶體進行一寫入操作;以及當該有效容量小於等於該宣告容量值且該有效容量與該預期使用容量的差值不小於一預定臨界容量時,由該控制器允許對該記憶體進行該寫入操作。
  2. 如請求項1所述之儲存空間管理方法,其中該有效容量減去該預定臨界容量等於一安全容量。
  3. 如請求項2所述之儲存空間管理方法,其中該安全容量係為可調整的,該安全容量係與該有效容量存在一比例關係。
  4. 如請求項2所述之儲存空間管理方法,更包含:當該有效容量小於等於該宣告容量值且該有效容量與該預期使用容量的差值小於該預定臨界容量時,由該控制器發出一警告訊號。
  5. 如請求項4所述之儲存空間管理方法,更包含:當該有效容量小於等於該宣告容量值且該預期使用容量大於等於該安全容量時,由該控制器傳送一警告訊號、該預期使用容量和該有效容量至一電子裝置;以及由該電子裝置因應該警告訊號停止對該記憶體進行該寫入操作並顯示一待刪除容量,其中該待刪除容量的產生係依據該預期使用容量和該安全容量的差。
  6. 一種儲存空間管理方法,用於一儲存裝置,其中該儲存裝置包含一控制器和一記憶體,該控制器儲存有對應於該記憶體的預設的一宣告容量值,該儲存空間管理方法包含:由該控制器計算該記憶體的一預期使用容量和一有效容量,其中該有效容量隨著該記憶體的複數個區塊中被標示壞區的數量增加而減少,該預期使用容量為該記憶體的一當前使用容量與當前欲寫入該記憶體的一資料的大小的總和; 由該控制器決定該記憶體的該些區塊中是否包含非壞區且禁止讀寫之一或多個區塊;當該一或多個區塊被決定為非壞區且禁止讀寫時,由該控制器將該一或多個區塊標記為相異於壞區的限制區塊,以維持該有效容量不變;以及由該控制器比較該有效容量與被標記為限制區塊的該一或多個區塊的總容量的差值和該預期使用容量來決定是否禁止對該記憶體進行一寫入操作。
  7. 如請求項6所述之儲存空間管理方法,更包含:當該有效容量大於該宣告容量值時,若該些區塊中之一者被決定為不再使用情形時,由該控制器對該區塊標記為壞區;以及當該有效容量等於該宣告容量值時,若該些區塊中之一者被決定為不再使用情形時,由該控制器對該區塊標記為限制區塊。
  8. 如請求項6所述之儲存空間管理方法,更包含:當該預期使用容量大於該有效容量與被標記為限制區塊的該一或多個區塊的總容量的差值時,由該控制器禁止對該記憶體進行該寫入操作;以及 當該預期使用容量未大於該有效容量與被標記為限制區塊的該一或多個區塊的總容量的差值時,由該控制器允許對該記憶體進行該寫入操作。
  9. 一種儲存空間管理方法,用於一儲存裝置,其中該儲存裝置包含一控制器和一記憶體,該控制器儲存有對應於該記憶體的預設的一宣告容量值,該儲存空間管理方法包含:該控制器儲存有至少一重初始化容量,其中該至少一重初始化容量小於該宣告容量值;由該控制器計算該記憶體的一有效容量,其中該有效容量隨著該記憶體的複數個區塊中被標示壞區的數量增加而減少;由該控制器依據該有效容量與該宣告容量值之間的差值以決定是否啟動該儲存裝置以該至少一重初始化容量進行再初始化程序。
  10. 如請求項9所述之儲存空間管理方法,其中該儲存裝置具有一宣告容量表,該宣告容量表包含複數個重初始化容量,該儲存空間管理方法更包含:當該有效容量小於等於該宣告容量值時,選擇該些重初始化容量中小於該宣告容量值之一者進行再初始化程序。
TW109106583A 2020-02-27 2020-02-27 儲存空間管理方法 TWI739325B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW109106583A TWI739325B (zh) 2020-02-27 2020-02-27 儲存空間管理方法
US17/116,095 US20210271410A1 (en) 2020-02-27 2020-12-09 Method of storage space management
US18/325,012 US20230305740A1 (en) 2020-02-27 2023-05-29 Method of storage space management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109106583A TWI739325B (zh) 2020-02-27 2020-02-27 儲存空間管理方法

Publications (2)

Publication Number Publication Date
TW202132991A TW202132991A (zh) 2021-09-01
TWI739325B true TWI739325B (zh) 2021-09-11

Family

ID=77464162

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109106583A TWI739325B (zh) 2020-02-27 2020-02-27 儲存空間管理方法

Country Status (2)

Country Link
US (2) US20210271410A1 (zh)
TW (1) TWI739325B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023818A (zh) * 2010-12-06 2011-04-20 成都市华为赛门铁克科技有限公司 一种存储设备容量调整方法、装置及存储设备
TWI430092B (zh) * 2011-10-27 2014-03-11 Silicon Motion Inc 三階儲存單元的快閃記憶體裝置及其控制方法
US20150193154A1 (en) * 2013-09-24 2015-07-09 Huawei Technologies Co., Ltd. Data Migration Method, Data Migration Apparatus, and Storage Device
CN110569002A (zh) * 2019-09-18 2019-12-13 深圳市得一微电子有限责任公司 一种基于混合模式的闪存设备可变容量装置和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023818A (zh) * 2010-12-06 2011-04-20 成都市华为赛门铁克科技有限公司 一种存储设备容量调整方法、装置及存储设备
TWI430092B (zh) * 2011-10-27 2014-03-11 Silicon Motion Inc 三階儲存單元的快閃記憶體裝置及其控制方法
US20150193154A1 (en) * 2013-09-24 2015-07-09 Huawei Technologies Co., Ltd. Data Migration Method, Data Migration Apparatus, and Storage Device
CN110569002A (zh) * 2019-09-18 2019-12-13 深圳市得一微电子有限责任公司 一种基于混合模式的闪存设备可变容量装置和方法

Also Published As

Publication number Publication date
TW202132991A (zh) 2021-09-01
US20230305740A1 (en) 2023-09-28
US20210271410A1 (en) 2021-09-02

Similar Documents

Publication Publication Date Title
US7979636B2 (en) Method of controlling semiconductor memory card system
KR101721154B1 (ko) 구성가능 에러 문턱값들 및 고장 해석 능력을 지니는 메모리 시스템
US7962807B2 (en) Semiconductor storage apparatus managing system, semiconductor storage apparatus, host apparatus, program and method of managing semiconductor storage apparatus
US10222982B2 (en) Lifetime management device and lifetime management method
US8065492B2 (en) System and method for early detection of failure of a solid-state data storage system
US8347024B2 (en) Memory system monitoring data erasing time or writing time
US8015371B2 (en) Storage apparatus and method of managing data storage area
US5963474A (en) Secondary storage device using nonvolatile semiconductor memory
US8725936B2 (en) Storage system with flash memory, and storage control method
TWI436369B (zh) 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
KR20020089131A (ko) 기억장치 및 데이터 처리장치와 기억부 제어방법
US8161251B2 (en) Heterogeneous storage array optimization through eviction
WO2017077624A1 (ja) 不揮発メモリデバイス、及び、不揮発メモリデバイスを有するストレージ装置
TWI739325B (zh) 儲存空間管理方法
KR20100088200A (ko) 메모리 관리 장치 및 방법
US20150058550A1 (en) Information recording apparatus that performs refresh of memory and control method therefor
CN113360080A (zh) 存储空间管理方法
KR102634813B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
JP2019125109A (ja) ストレージ装置、ストレージシステム、及びプログラム
KR101725691B1 (ko) 발열을 고려한 비휘발성 데이터 저장 장치 및 액세스 제어 방법
JP5661313B2 (ja) 記憶装置
JP2007094767A (ja) メモリ制御装置及びメモリ制御方法
JP2022052169A (ja) メモリシステム及びメモリシステムの制御方法
JP2010218138A (ja) メモリカード読み書き装置、メモリカードの寿命管理方法およびそのプログラム
JPH04196000A (ja) 記憶装置