TWI478048B - 儲存系統與其存取方法 - Google Patents
儲存系統與其存取方法 Download PDFInfo
- Publication number
- TWI478048B TWI478048B TW101128307A TW101128307A TWI478048B TW I478048 B TWI478048 B TW I478048B TW 101128307 A TW101128307 A TW 101128307A TW 101128307 A TW101128307 A TW 101128307A TW I478048 B TWI478048 B TW I478048B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- control unit
- volatile memory
- storage system
- central control
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明係有關於一種儲存系統與其存取方法,尤指一種含有快閃記憶體的儲存系統及其存取方法。
儲存系統存放例如:影像、影片、程式、資料庫等資料,必須提供一定程度以上的資料可靠度(data reliability)。換句話說,使用者不能接受存入儲存系統的資料很容易遺失或有錯誤。衡量資料可靠度的指標包括「無法恢復的資料錯誤率」(unrecoverable bit error rate,UBER)及「資料維持性」(retention)。也就是說,在資料存入儲存系統後的retention時間內,資料有位元錯誤的機率低於UBER值。
近來,非揮發記憶體(non-volatile memory,NVM)廣泛被應用在儲存系統中,作為一部分或全部的儲存媒體。例如:固態硬碟(solid-state drive,SSD)完全使用非揮發記憶體構成儲存媒體。複合磁碟(hybrid disk)與複合陣列(hybrid array)結合非揮發記憶體與硬式磁碟共同構成儲存媒體,非揮發記憶體既儲存一部份的資料,也作為硬式磁碟的快取(cache),增進效能。固態硬碟快取卡(SSD cache card)則可安裝於伺服器端或儲存端,以非揮發記憶體作為儲存系統的快取。
非揮發記憶體包括快閃記憶體(Flash memory)、相變化記憶體(phase-change memory,PCM)、憶阻器(memristor)、自旋傳輸力矩記憶體(spin transfer torque RAM,STT-RAM)...等。在各種非揮發記憶體中,快閃記憶體是目前普遍被使用於儲存系統的一種。
使用非揮發記憶體作為儲存系統,同樣有一定程度以上的
資料可靠度需求。舉例來說,依照工業界的標準,retention需高於3個月、1年、或10年,UBER需低於10-13
至10-16
。然而,要非揮發記憶體提供一定程度以上的資料可靠度,需要付出系統效能、壽命、與成本的代價。以快閃記憶體為例,隨著快閃記憶體的資料密度增加,要達到一定的資料可靠度(長時間retention與低UBER),快閃記憶體必須限制寫入速度、限制寫入次數或使用更強的資料編碼等方法,所付出的代價也跟著提高。例如目前的快閃記憶體,寫入延遲已從過去的0.2毫秒(ms)增加到1.3ms;寫入次數限制從過去的10萬次降低到約3000次;錯誤更正碼(error correcting code,ECC)已從過去每528位元組(byte)更正4位元(bit)提高到每1080bytes更正24bits,甚至要使用低密度同位元檢查碼(low density parity check codes,LDPC Codes)等更複雜的ECC編碼,不僅使資料量變大,還必須付出編解碼硬體的成本,以及編解碼的時間與耗電成本,如此將增加儲存系統的成本或限制系統壽命與效能。
因此,研發一種儲存系統或存取方法,可保持整體儲存系統的資料可靠度,並能降低成本或增加壽命與效能,是有其必要的。
有鑑於先前技術之缺點,本發明之一目的係在於提供一種儲存系統的資料寫入方法。依據本發明的一實施例,儲存系統包括一儲存媒體控制器及一非揮發記憶體,儲存媒體控制器包括一記憶體單元、一中央控制單元以及一媒體控制單元,儲存系統的資料寫入方法包括:儲存媒體控制器接收一資料;中央控制單元讀取記憶體單元的一非揮發記憶體操作模式,模式對應的資料可靠度小於儲存系統之一資料可靠度需求;中央控制
單元讀取記憶體單元的一降低資料可靠度需求條件;中央控制單元判斷與資料有關的一系統資訊是否符合條件;當系統資訊符合條件,則中央控制單元根據模式控制媒體控制單元將資料寫入非揮發記憶體。
本發明之另一目的在於提供一種儲存系統的讀取資料方法,依據本發明的一實施例,儲存系統包括一儲存媒體控制器及一非揮發記憶體,儲存媒體控制器包括一中央控制單元,儲存系統的讀取資料方法包括:儲存媒體控制器擷取來自非揮發記憶體的一資料;中央控制單元判斷資料有複本且須受一資料錯誤檢查是否為真;若資料有複本且須受資料錯誤檢查為真,則中央控制單元利用資料的一錯誤偵測碼檢查資料是否有錯誤;若資料無錯誤,則輸出資料;以及若資料有錯誤,則輸出資料的複本。
本發明之再一目的在於提供一種儲存系統,依據本發明的一實施例,儲存系統包括:一非揮發記憶體以及一儲存媒體控制器。儲存媒體控制器連接於非揮發記憶體。儲存媒體控制器包括:一記憶體單元、一媒體控制單元以及一中央控制單元。記憶體單元儲存一非揮發記憶體操作模式及一降低資料可靠度需求條件,模式對應之資料可靠度低於該儲存系統之資料可靠度需求;媒體控制單元連接於非揮發記憶體;中央控制單元連接於記憶體單元及媒體控制單元,當儲存媒體控制器執行一資料寫入程序時,中央控制單元判斷與一資料有關的一系統資訊是否符合條件;當系統資訊符合條件,則中央控制單元以該非揮發記憶體操作模式控制該媒體控制器將該資料寫入該非揮發記憶體。
是故,由上述可以得知,本發明的儲存系統與其存取方法可保持整體儲存系統應有的資料可靠度,還可達到降低成本、增進效能、延長系統壽命等功效。
為進一步說明各實施例,本發明乃提供有圖式。此些圖式乃為本發明揭露內容之一部分,其主要係用以說明實施例,並可配合說明書之相關描述來解釋實施例的運作原理。配合參考這些內容,本領域具有通常知識者應能理解其他可能的實施方式以及本發明之優點。
首先,請參考第1圖並配合參考第2A圖至第2B圖,第1圖為本發明儲存系統的資料寫入方法之一實施例之流程圖,第2A圖至第2B圖分別為本發明儲存系統之一實施例之方塊圖。如第2A所示,儲存系統2a包括一儲存媒體控制器21及一儲存媒體23,儲存媒體控制器21包括一中央控制單元210、一記憶體單元211、一媒體控制單元213、一資料編解碼單元215、一資料維持性檢查單元217以及一資料錯誤偵測單元219,其中記憶體單元211、媒體控制單元213、資料編解碼單元215、資料維持性檢查單元217以及資料錯誤偵測單元219分別連接於中央控制單元210。儲存媒體23包括一非揮發記憶體231,非揮發記憶體231連接於媒體控制單元213。根據一實施例,如第2B圖所示,儲存系統2b與第2A圖的儲存系統2a大致相同,兩者的差異在於,儲存媒體23'還包括一硬式磁碟233,硬式磁碟233與媒體控制單元213連接。
更具體地說,中央控制單元210可以是中央處理器(CPU)、
微控制器(MCU)、或有限狀態機(finite state machine)等可進行條件判斷與流程控制之單元。記憶體單元211可以是隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、暫存器(register)、或唯讀記憶體(ROM)等可存放資料(data)、程式碼(code)、或旗標(flag)、變數(variable)之單元。
媒體控制單元213可以是有限狀態機(finite state machine)或混和信號積體電路(mixed-signal integrated circuit)等可進行信號轉換、指令轉換用以存取非揮發記憶體231或硬式磁碟233之單元。
資料編解碼單元215可以是中央處理器(CPU)、微控制器(MCU)、數位信號處理器(DSP)、線性回饋位移暫存器(linear feedback shift register)等可對資料進行線性段碼(linear block code)、循環碼(cyclic code)、迴旋碼(convolutional code)、串接碼(concatenated code)、渦輪碼(turbo code)等錯誤更正碼編碼、錯誤偵測碼編碼、以及錯誤更正演算法之單元。資料維持性檢查單元217可以是時鐘單元(timer)、實時時鐘(real-time clock,RTC)等可提供時間資訊以定時觸發中央控制單元210之單元。
資料錯誤偵測單元219可以是微控制器(MCU)、線性回饋位移暫存器(linear feedback shift register)等可以利用資料之錯誤偵測碼檢查資料是否有錯誤之單元。非揮發記憶體231可以是反及型快閃記憶體(NAND Flash)、三維反及型快閃記憶體(3D NAND Flash)等使用浮動閘極(floating gate)或電荷捕獲(charge trapping)機制儲存資料之記憶體。
硬式磁碟233可以是硬式磁碟機(hard disk drive,HDD)、磁盤(hard-disk platter)、磁碟陣列(hard disk arrry)等儲存媒體。儲存媒體控制器21可以是伺服器、分散式伺服器(distributed server)、嵌入式系統(embedded system)等可管理或存取非揮發記憶體231或硬式磁碟233等儲存媒體之裝置。
本實施例的特點在於儲存媒體控制器21可動態地先降低欲存入非揮發記憶體的一部份或全部資料的資料可靠度,再利用刷新(refresh)、錯誤偵測(error detection)以及複本(replica)等控制方法保持儲存系統2a或2b的整體資料可靠度。更具體地說,本實施例在判斷出先降低資料可靠度需求有利的條件發生時,動態地降低欲存入非揮發記憶體資料的資料可靠度(包括降低retention,或提高UBER,或同時降低retention及提高UBER),藉此減低所付出效能與成本上的代價,達到降低成本、增進效能、延長系統壽命等功效。
儲存系統2a、2b的資料寫入方法包括:首先,儲存媒體控制器21接收一即將寫入非揮發記憶體231的資料(S101),接收資料的同時,中央控制單元210讀取與資料有關的系統資訊,系統資訊包括效能敏感度、資料壽命、資料有無複本以及資料大小等。系統資訊的來源可來自於記憶體單元211中、儲存媒體控制器21中的暫存器中,或是隱含於資料存取的流程中。
接著,中央控制單元210讀取一儲存系統資料可靠度需求(S103)、一非揮發記憶體操作模式表(S105)及一降低資料可靠度需求條件表(S107),以上三個步驟順序不限。其中儲存系統資料可靠度需求可以從一外部系統輸入儲存媒體控制器21,或事先儲存於記憶體單元211。儲存系統資料可靠度需求表示
可接受的資料維持性(retention)以及無法恢復的資料錯誤率(UBER)的其中一者或組合,其可接受的範圍可由使用者決定,例如:retention高於10年且UBER低於10-16
。。
非揮發記憶體操作模式表以及降低資料可靠度需求條件表可事先儲存於記憶體單元211。非揮發記憶體操作模式表可包括複數個模式,每個模式分別對應一資料可靠度。更具體地說,非揮發記憶體操作模式表可如表1所示,多個模式分別對應不同的寫入次數、寫入延遲及編碼方式之組合,其中寫入次數表示非揮發記憶體231的損耗程度,寫入延遲表示資料寫入非揮發記憶體231的寫入速度,編碼方式表示採用不同強度的錯誤更正碼。依據非揮發記憶體的特性,若非揮發記憶體的一個地址的損耗程度越高,該記憶體地址可提供的資料可靠度越低。此外,一資料寫入非揮發記憶體之一地址的速度越快,或加入資料的錯誤更正碼強度越低,該資料的資料可靠度也越低。在一實施例中,模式包括一非揮發記憶體控制指令,控制指令對應一寫入速度。
舉例來說,表1中模式A相較於模式B具有較低的寫入次數上限、較長的寫入延遲以及較強的編碼方式,則模式A對應的資料可靠度高於模式B對應的資料可靠度。再舉例來說,模式B與模式C的寫入次數上限、寫入延遲相同,但模式C的編碼強度較模式B強,模式C的編碼方式為串接錯誤更正碼,該錯誤更正串接碼包括一BCH碼以及一LDPC碼,模式B僅為串接錯誤更正碼中的BCH碼部分,因此模式C對應的資料可靠度高於模式B對應的資料可靠度。
模式的個數不限於表1所示三個,亦可以為三個以上。不
同模式對應的資料可靠度可由非揮發記憶體製造商提供,或可藉由對非揮發記憶體實際分析測量而取得。
由於存在有非揮發記憶體操作模式表,本實施例的儲存媒體控制器21可動態的降低寫入非揮發記憶體的資料的資料可靠度。換句話說,對於一非揮發記憶體地址,本實施例的儲存媒體控制器21可選用不同的寫入延遲的模式、或選用不同的編碼方式模式,降低對應的資料可靠度。本實施例不須將非揮發記憶體分割成為多個資料可靠度相異的區域,因此可更進一步降低成本、增進效能、延長系統壽命。
根據一實施例,非揮發記憶體231可接收不同的寫入指令不同的寫入指令可控制非揮發記憶體231的遞增步進脈衝程式化(incremental step pulse programming,ISPP)的步進電壓大小形成不同寫入延遲的模式。換句話說,模式包括使用寫入指令。
根據一實施例,資料編解碼單元215可對資料加入一串接碼,該串接碼包括一第一錯誤更正碼以及一第二錯誤更正碼,該資料編解碼單元可接受該中央控制單元210發出之一控制信號,該控制信號控制資料編解碼單元215僅對該資料加入該第一錯誤更正碼並略過該第二錯誤更正碼,形成不同編碼方式模式。換句話說,模式包括使用控制信號。
降低資料可靠度需求條件表可包括複數個條件,條件為真代表先降低資料可靠度需求有利。多個條件包括資料效能敏感度高、資料壽命短、以及資料有複本等,降低資料可靠度需求條件表可如表2所示,每一個條件可對應一種以上的狀態,詳盡的狀態描述可參考表2,然不以此為限。
根據一實施例,降低資料可靠度需求條件表包括資料效能敏感度高。所謂資料效能敏感度高是指資料的寫入動作對整體系統效能具有較高的影響。舉例來說,當寫入之資料為外部系統所輸入,則儲存系統的寫入延遲(latency)與寫入吞吐量(throughput)會影響該外部系統的效能,因此資料效能敏感度高。相對的,若資料的寫入動作是儲存系統的損耗平均(wear leveling)、空間回收(garbage collection)、資料刷新(refresh)等內部動作,因這類寫入動作屬背景動作(background activity),所以資料效能敏感度低。再舉例來說,當儲存系統記憶體單元中待完成之工作量大於等於一閾值時,此時的資料寫入動作的完成時間會影響較多後續待完成之工作的排隊延遲(queuing delay),因此資料效能敏感度高。相對的,若系統記憶體單元中待完成之工作量少於一閾值時,此時的資料的效能敏感度低。
根據一實施例,降低資料可靠度需求條件表包括資料壽命
短。所謂資料壽命短是指資料有較高的機率會在短時間後被刪除或覆寫。舉例來說,在一些資料中心(datacenter)的使用環境中,當寫入儲存系統之資料為外部系統所輸入,則有80%以上的機率會在7天內被覆寫,因此資料壽命短。相對的,若寫入儲存系統之資料是儲存系統的損耗平均(wear leveling)、空間回收(garbage collection)、資料刷新(refresh)、資料重組等內部動作所產生,因為這類動作涉及已儲存一段時間的冷資料(cold data),有比較高的機率需要儲存更久的時間,因此資料壽命長。再舉例來說,資料壽命可由儲存系統的歷史紀錄來預估,儲存系統可根據過去對特定地址(address)寫入紀錄,計算平均資料壽命,當特定地址的平均資料壽命小於一閾值,例如小於30天,則可預估後續寫入該地址之資料資料壽命短。再舉例來說,若非揮發記憶體231係做為硬式磁碟233之快取,寫入非揮發記憶體231之資料是存取硬式磁碟233時所產生,則由於寫入快取的資料會頻繁地被替換,可判斷資料壽命短。
根據一實施例,降低資料可靠度需求條件表包括資料有複本。所謂資料有複本是指儲存系統中另存有完全相同或實質上相同且可靠的資料。因此當資料有錯誤時,可以利用複本取回資料,或從利用複本重新計算後取回資料。舉例來說,儲存系統以壓縮型態儲存資料,並將常被存取的部分資料解壓縮後寫入非揮發記憶體231,則該寫入非揮發記憶體231之資料在儲存系統中便有一壓縮型態之複本,若該寫入非揮發記憶體231之資料爾後有錯誤,可以利用該壓縮型態之複本重新解壓縮取回資料。再舉例來說,若非揮發記憶體231做為硬式磁碟233之快取,寫入非揮發記憶體231之資料是存取硬式磁碟233時
接收,則寫入非揮發記憶體231之資料在硬式磁碟233中有複本,若該寫入非揮發記憶體231之資料爾後有錯誤,可以利用硬式磁碟233之複本重新取回資料。
讀取儲存系統資料可靠度需求、非揮發記憶體操作模式表及降低資料可靠度需求條件表之後,中央控制單元210判斷系統資訊是否符合降低資料可靠度需求條件表的多個條件(S109)。當該系統資訊不符合多個條件,則中央控制單元210選擇多個模式(A、B、C)中對應資料可靠度大於等於儲存系統資料可靠度需求之模式(S111),例如模式A。當系統資訊符合多個條件中的一個條件,則中央控制單元210選擇多個模式(A、B、C)中對應資料可靠度小於儲存系統資料可靠度需求之模式(S113),例如模式B。也就是說,針對不同的資料所具有的屬性,儲存媒體控制器21可動態地選擇不同的非揮發記憶體操作模式表中的模式,來達到降低成本、增進壽命與效能的效果。若中央控制單元210選擇對應資料可靠度大於等於儲存系統資料可靠度需求之模式,則中央控制單元210根據選取的模式,控制媒體控制單元213將資料寫入非揮發記憶體231(S123)。
當系統資訊符合多個條件中的一個條件,中央控制單元210進一步判斷資料是否有複本(S115)。複本的產生可參考前面描述資料有複本的情況,如表2所述,資料有複本的情況可以是欲寫入非揮發記憶體231的資料為外部系統透過儲存媒體控制器21讀取之資料,且資料原以壓縮形式儲存於非揮發記憶體231中,由中央控制單元210對壓縮之資料執行解壓縮後,將未壓縮之資料寫入非揮發記憶體231,以形成資料有複本的條件。資料有複本的再一種情況可以是資料為一外部系統
透過儲存媒體控制器21寫入硬式磁碟233或從硬式磁碟233讀取,中央控制單元210同時將資料的複本寫入非揮發記憶體231,以形成資料有複本的條件。
若中央控制單元210判斷資料有複本,則中央控制單元210控制資料編解碼單元215將一錯誤偵測碼加入資料中(S119),並記錄資料有複本且須受一資料錯誤檢查(S121),更具體地說,資料錯誤檢查將是由資料錯誤偵測單元219執行。實際實施時,中央控制單元210根據資料的屬性,於接收資料時儲存一旗標於該記憶體單元211,以記錄資料是否有複本且是否須受資料錯誤檢查。
根據一實施例,錯誤偵測碼可以是循環冗餘校驗碼(CRC),亦可利用錯誤更正碼本身的錯誤偵測能力。錯誤偵測碼的錯誤偵測能力應相當於該儲存系統之UBER需求。舉例來說,儲存系統之UBER需求為10-16
。若每8K bytes資料加入70bits長度之錯誤偵測碼,由於8K bytes資料中錯誤位元的數量最多為216
,而使用70bits CRC後,資料有錯誤位元但無法被偵測的機率約為2-70
,因此錯誤偵測碼對應的位元錯誤率約為216
乘上2-70
,相當於儲存系統之UBER需求10-16
。
若中央控制單元210判斷資料沒有複本,則中央控制單元210記錄資料須受一資料維持性檢查(S117)。更具體地說,資料維持性檢查是由資料維持性檢查單元217定時地觸發中央控制單元210檢查須受資料維持性檢查之資料寫入非揮發記憶體231之後所經過之時間是否接近資料之資料維持性,或是定時地觸發中央控制單元210控制媒體控制單元213將須受資料維持性檢查之資料以資料可靠度大於等於儲存系統之資料
可靠度之模式重新寫入儲存媒體23、23',例如每10分鐘進行一次,然不以此為限。實際實施時,中央控制單元210根據資料的屬性,於寫入資料時儲存一旗標於該記憶體單元211,以記錄資料是否須受資料維持性檢查。更進一步,旗標可包括多個位元,不同時間區間所寫入的資料可用不同的旗標表示。更進一步來說,旗標也可寫入非揮發記憶體231中。
在中央控制單元210記錄資料須受資料維持性檢查(S117)或是記錄資料有複本且須受資料錯誤檢查(S121)之後,中央控制單元210控制媒體控制單元213,根據選取的模式將資料寫入非揮發記憶體231(S123),即對應資料可靠度小於儲存系統資料可靠度需求之模式。
根據一實施例,根據選取的模式控制媒體控制單元213將資料寫入非揮發記憶體231(S123)的步驟包括:首先,中央控制單元210根據選取的模式對應的損耗程度,控制媒體控制單元213選擇快閃記體231中符合此損耗程度的一地址;接著,中央控制單元210根據選取的模式對應的編碼方式,控制資料編解碼單元215以此編碼方式將一錯誤更正碼加入資料中;最後,該中央控制單元210根據選取的模式對應的寫入速度,控制媒體控制單元213以此寫入速度將資料寫入非揮發記憶體231的此地址。
根據一實施例,若系統資訊符合資料效能敏感度高之條件,表示將資料寫入非揮發記憶體231之動作以較短時間完成具有益處,在此條件下,中央控制單元210選取編碼方式強度較低的模式,減少資料編解碼單元215的負載,或選取寫入速度較高之模式進行資料寫入。如此可先降低欲存入非揮發記憶體
231之資料之retention,藉以降低成本、增進效能。
根據一實施例,若系統資訊符合資料壽命短之條件,表示寫入非揮發記憶體231之資料有較高的機率不需要長時間之retention,則中央控制單元210選取寫入次數數值較大的模式,或選取編碼方式強度較低的模式,或選取寫入速度較高之模式進行寫入。如此可先降低欲存入非揮發記憶體231資料之retention,藉以降低成本、增進壽命與效能。
根據一實施例,若系統資訊符合資料有複本之條件,表示寫入非揮發記憶體231之資料若爾後有錯誤也可利用複本取回,所以並不需要極低之UBER,則適合選取損耗程度較高之地址,或選取編碼方式強度較低的模式,或選取寫入速度較高之模式進行寫入。如此可提高欲存入非揮發記憶體231資料之UBER,藉以降低成本、增進壽命與效能。
根據一實施例,資料維持性檢查的步驟包括:由中央控制單元210選取一必須受資料維持性檢查單元217檢查之資料,對於資料的存放時間已接近資料維持性,且尚未被覆寫或刪除的資料,中央控制單元210控制資料編解碼單元215用資料可靠度較高之模式,例如將較強資料錯誤更正碼加入資料中,或以較慢之寫入速度重新寫入非揮發記憶體231。如此,儲存系統2a、2b仍可保持應有的資料可靠度。
上述實施例之非揮發記憶體操作模式表以及降低資料可靠度需求條件表,可以是表(table)之資料結構,亦可為陣列(array)、樹(tree)、串列(linked list)...等資料結構,或可包含於流程控制敘述(flow control statement)、選擇敘述(switch
statement)...等程式(program)或指令(instruction)中。此外,根據一實施例,降低資料可靠度需求條件表亦可僅包含一條件,例如僅包含判斷資料有複本為真。
為了進一步說明如何判斷系統資訊是否符合降低資料可靠度需求條件表中的條件的步驟,請參考第3圖。第3圖為依據本發明儲存系統判斷降低資料可靠度需求條件表之條件是否成立的方法之一實施例之流程圖。首先,中央控制單元210判斷資料的效能敏感度高是否為真(S301),例如判斷資料是否為外部系統寫入非揮發記憶體231,若判斷結果為真則表示效能敏感度高。或是判斷記憶體單元中待完成之工作量是否大於等於一閾值,若判斷結果為真則表示效能敏感度高。若判斷資料的效能敏感度高為真,則中央控制單元210決定此系統資訊符合條件成立(S309)。
若判斷資料的效能敏感度高為假,則中央控制單元210繼續判斷資料之估計資料壽命是否低於一預設時間(S303),此估計資料壽命可根據資料欲存入的非揮發記憶體231中的位址來取得。更具體地說,儲存媒體控制器21中的記憶體單元211可事先儲存與存入位址對應的資料壽命歷史紀錄。若判斷估計資料壽命低於預設時間為真,則中央控制單元210決定此系統資訊符合條件成立(S309)。
若判斷估計資料壽命低於預設時間為假,則中央控制單元210繼續判斷資料有複本是否為真(S305),若判斷資料有複本為真,則根據資料大小決定降低資料可靠度的程度(S307),控制利用複本取回資料的機率。更進一步說,如第4圖所示,資料大小越小,資料可靠度可降至越低。舉例來說,若資料的大
小是106
位元,則UBER可由原先需求約10-16
提高到約10-9
,UBER提高後,106
位元之資料中有錯誤位元而需利用複本取回資料的機率約為10-9
乘上106
,如此一來,大約每1000次讀取資料的動作中有一次需利用複本取回資料,額外負擔並不顯著。相同的,若資料的大小是104
位元,則UBER可由原先需求的約10-16
提高到約10-7
。利用複本取回資料的機率大約控制在10-16
以上及20%以下最佳,例如10%、5%、1%、0.1%、0.01%等。
若判斷資料有複本為假,則央控制單元210決定此系統資訊符合條件不成立(S311)。
藉此,中央控制單元210根據系統資訊與降低資料可靠度需求條件表的條件,動態地選擇不同的非揮發記憶體操作模式表中的模式,來達到降低成本、增進壽命與效能的效果。最後,請參考第5圖。第5圖為本發明儲存系統的讀取資料方法之一實施例之流程圖。配合參考第2A圖及第2B圖,首先,儲存媒體控制器21擷取來自非揮發記憶體231的一資料(S501),此資料可以是由第1圖的資料寫入方法寫入非揮發記憶體231。接著,中央控制單元210利用此資料的一錯誤更正碼控制資料編解碼單元215更正此資料之錯誤(S503)。實際實施時,若此資料沒有錯誤,資料編解碼單元215會保持此資料原狀。若此資料有錯誤,且錯誤數量在錯誤更正碼的更正能力內,則所有錯誤可被更正。若此資料有錯誤,且錯誤數量超出錯誤更正碼的更正能力,則錯誤無法全部被更正。
接著,中央控制單元210判斷此資料有複本且須受一資料錯誤檢查是否為真(S505),若判斷此資料有複本且須受一資料
錯誤檢查為假,則儲存媒體控制器21輸出資料(S511)。若判斷此資料有複本且須受一資料錯誤檢查為真,則中央控制單元210透過資料錯誤偵測單元219執行資料錯誤檢查,即利用此資料的一錯誤偵測碼檢查此資料是否有錯誤(S507)。若判斷此資料無錯誤,則儲存媒體控制器21輸出資料(S511)。若判斷此資料有錯誤,則儲存媒體控制器21輸出此資料的複本(S509)。
複本的產生可參考前面描述資料有複本的情況。中央控制單元210判斷資料有複本且須受一資料錯誤檢查是否為真的方法可根據資料的屬性,於寫入資料時儲存一旗標於該記憶體單元211,以記錄資料是否有複本且是否須受資料錯誤檢查。
是故,由上述實施例可以得知,本發明儲存系統及其存取方法可根據資料的屬性,動態地降低存入非揮發記憶體內一部分或全部資料的資料可靠度,透過刷新、錯誤偵測、複本等控制方法,達到維持整體儲存系統應有的資料可靠度,並降低成本、增進效能以及延長系統壽命。
上述實施例中之條件判斷(包括S109、S115、S301、S303、S305、S505及S507)係包括顯性的(explicit)條件判斷以及隱性的(implicit)條件判斷。舉例來說,中央控制單元210可一次判斷一段時間內一條件是否均為真或是否均為假,取代多次判斷該條件。再舉例來說,中央控制單元210亦可預先判斷多筆資料之一條件是否均為真或是否均為假,取代多次判斷該條件。
上述實施例之非揮發記憶體231亦可為相變化記憶體(phase-change memory,PCM)、憶阻器(memristor)、自旋傳輸力矩記憶體(spin transfer torque RAM,STT-RAM)等,上述實施例
均可適用。上述實施例亦可將硬式磁碟233置換為其他磁性媒體,如磁帶、磁盤、磁碟陣列,或將硬式磁碟233置換其他光儲存媒體,如光碟等。以上敍述依據本發明多個不同實施例,其中各項特徵可以單一或不同結合方式實施。因此,本發明實施方式之揭露為闡明本發明原則之具體實施例,應不拘限本發明於所揭示的實施例。進一步言之,先前敍述及其附圖僅為本發明示範之用,並不受其限囿。其他元件之變化或組合皆可能,且不悖于本發明之精神與範圍。
2a、2b‧‧‧儲存系統
21‧‧‧儲存媒體控制器
210‧‧‧中央控制單元
211‧‧‧記憶體單元
213‧‧‧媒體控制單元
215‧‧‧資料編解碼單元
217‧‧‧資料維持性檢查單元
219‧‧‧資料錯誤偵測單元
23、23'‧‧‧儲存媒體
231‧‧‧非揮發記憶體
233‧‧‧硬式磁碟
S101~S123‧‧‧儲存系統的資料寫入方法步驟
S301~S309‧‧‧儲存系統判斷降低資料可靠度需求條件是否成立的方法步驟
S401~S411‧‧‧儲存系統的讀取資料的方法步驟
第1圖為依據本發明儲存系統的資料寫入方法之一實施例之流程圖。
第2A圖為依據本發明儲存系統之一實施例之方塊圖。
第2B圖為依據本發明儲存系統之另一實施例之方塊圖。
第3圖為依據本發明儲存系統判斷降低資料可靠度需求條件表之條件是否成立的方法之一實施例之流程圖。
第4圖為依據本發明儲存系統的資料大小與資料可靠度的關係圖。
第5圖為依據本發明儲存系統的讀取資料方法之一實施例之流程圖。
S101~S123‧‧‧儲存系統的資料寫入方法步驟
Claims (28)
- 一種儲存系統的資料寫入方法,該儲存系統包括一儲存媒體控制器及一非揮發記憶體,該儲存媒體控制器包括一記憶體單元、一中央控制單元以及一媒體控制單元,該儲存系統的資料寫入方法包括:該儲存媒體控制器接收一資料;該中央控制單元讀取該記憶體單元的一非揮發記憶體操作模式,該非揮發記憶體操作模式對應的一資料可靠度小於該儲存系統之一資料可靠度需求;該中央控制單元讀取儲存於該記憶體單元的一降低資料可靠度需求條件;該中央控制單元判斷相應於該資料的一系統資訊是否符合該降低資料可靠度需求條件;以及當該系統資訊符合該降低資料可靠度需求條件,則該中央控制單元根據該非揮發記憶體操作模式控制該媒體控制單元以將該資料寫入該非揮發記憶體。
- 如申請專利範圍第1項之儲存系統的資料寫入方法,其中該資料可靠度需求是從一外部系統輸入並儲存於該記憶體單元。
- 如申請專利範圍第1項之儲存系統的資料寫入方法,其中該資料可靠度需求包括一資料維持性及一無法恢復的資料錯誤率,該資料維持性在3個月到10年間,該無法恢復的資料錯誤率在10的-13次方到10的-16次方間。
- 如申請專利範圍第1項之儲存系統的資料寫入方法,其中該儲存媒體控制器更包括一資料編解碼單元,該非揮發記憶體操作模式對應一損耗程度、一寫入速度及一編碼方式之組合,該中央控制單元根據該非揮發記憶體操作模式控制該媒體控制單元將該資料寫入該非揮發記憶體的步驟包括:該中央控制單元根據該非揮發記憶體操作模式對應的該損耗程度,控制該媒體控制單元選擇該非揮發記憶體中符合該損耗程度的一位址;該中央控制單元根據該非揮發記憶體操作模式對應的該編碼方式,控制該資料編解碼單元以該編碼方式將一錯誤更正碼加入該資料中;以及該中央控制單元根據該非揮發記憶體操作模式對應的該寫入速度,控制該媒體控制單元以該寫入速度將該資料寫入該非揮發記憶體的該位址中。
- 如申請專利範圍第1項之儲存系統的資料寫入方法,其中該儲存媒體控制器更包括一資料編解碼單元,當該系統資訊符合該降低資料可靠度需求條件,該中央控制單元進一步判斷該資料是否有複本,若該資料有複本,則該中央控制單元控制該資料編解碼單元將一錯誤偵測碼加入該資料中,並記錄該資料有複本且須受一資料錯誤檢查,該錯誤偵測碼的錯誤偵測能力相當於該儲存系統之無法恢復的資料錯誤率需求。
- 如申請專利範圍第5項之儲存系統的寫入資料方法,若該資料沒有複本,則該中央控制單元記錄該資料須受一資料維持性檢查。
- 如申請專利範圍第5項之儲存系統的資料寫入方法,其中該儲存系統還包括一硬式磁碟,該資料有複本的條件包括該儲存媒體控制器存取該硬式磁碟時接收該資料且將該資料寫入該非揮發記憶體。
- 如申請專利範圍第1項之儲存系統的資料寫入方法,其中該降低資料可靠度需求條件包括該資料有複本。
- 如申請專利範圍第8項之儲存系統的資料寫入方法,其中該儲存系統的資料寫入方法更包括根據資料大小決定降低資料可靠度的程度,當該系統資訊符合該資料有複本時,該中央控制單元進一步根據資料大小決定降低資料可靠度的程度。
- 如申請專利範圍第8項之儲存系統的資料寫入方法,其中該儲存系統還包括一硬式磁碟,該資料有複本的條件包括該儲存媒體控制器存取該硬式磁碟時接收該資料且將該資料寫入該非揮發記憶體。
- 如申請專利範圍第10項之儲存系統的資料寫入方法,其中該非揮發記憶體操作模式對應一非揮發記憶體的一損耗程度,該中央控制單元根據該非揮發記憶體操作模式控制該媒 體控制單元將該資料寫入該非揮發記憶體的步驟包括:該中央控制單元根據該損耗程度控制該媒體控制單元選擇該非揮發記憶體中符合該損耗程度的一位址;該中央控制單元控制該媒體控制單元將該資料寫入該非揮發記憶體的該位址。
- 如申請專利範圍第1項之儲存系統的資料寫入方法,其中該降低資料可靠度需求條件包括該資料效能敏感度高且資料壽命短。
- 如申請專利範圍第1項之儲存系統的資料寫入方法,其中該降低資料可靠度需求條件包括該資料為外部系統所輸入,該非揮發記憶體操作模式包含一非揮發記憶體控制指令,該控制指令對應一寫入速度。
- 如申請專利範圍第1項之儲存系統的資料寫入方法,其中該降低資料可靠度需求條件包括該資料為外部系統所輸入,該非揮發記憶體操作模式為一編碼方式,該編碼方式為一串接錯誤更正碼之一部份編碼,該部分編碼方式對應資料可靠度低於該儲存系統之資料可靠度需求。
- 一種儲存系統的讀取資料方法,該儲存系統包括一儲存媒體控制器及一非揮發記憶體,該儲存媒體控制器包括一中央控制單元,該儲存系統的讀取資料方法包括:該儲存媒體控制器擷取來自該非揮發記憶體的一資料; 該中央控制單元判斷該資料之資料可靠度低於該儲存系統之資料可靠度需求且有複本且須受一資料錯誤檢查是否為真;若該資料之資料可靠度低於該儲存系統之資料可靠度需求且有複本且須受該資料錯誤檢查為真,則該中央控制單元利用該資料的一錯誤偵測碼檢查該資料是否有錯誤;若該資料無錯誤,則輸出該資料;以及若該資料有錯誤,則輸出該資料的複本。
- 如申請專利範圍第15項之儲存系統的讀取資料方法,其中該儲存媒體控制器還包括一記憶體單元,該中央控制單元判斷該資料之資料可靠度低於該儲存系統之資料可靠度需求且有複本且須受該資料錯誤檢查是否為真的步驟是根據該記憶體單元儲存的一旗標來判斷。
- 如申請專利範圍第16項之儲存系統的讀取資料方法,其中當該儲存媒體控制器接收該資料時,儲存該旗標。
- 如申請專利範圍第15項之儲存系統的讀取資料方法,其中該儲存系統還包括一硬式磁碟,該資料在該硬式磁碟有複本。
- 一種儲存系統,包括:一儲存媒體,包括一非揮發記憶體;以及一儲存媒體控制器,連接於該非揮發記憶體,該儲存媒體控制器包括: 一記憶體單元,儲存一非揮發記憶體操作模式以及一降低資料可靠度需求條件,其中該非揮發記憶體操作模式對應之一資料可靠度低於該儲存系統之一資料可靠度需求;一媒體控制單元,連接於該非揮發記憶體;以及一中央控制單元,連接於該記憶體單元及該媒體控制單元,當該儲存媒體控制器接收一資料時,該中央控制單元判斷相應於該資料的一系統資訊是否符合該降低資料可靠度需求條件,若該系統資訊符合該降低資料可靠度需求條件,則該中央控制單元根據該非揮發記憶體操作模式控制該媒體控制器以將該資料寫入該非揮發記憶體。
- 如申請專利範圍第19項之儲存系統,其中該資料可靠度需求包括一資料維持性及一無法恢復的資料錯誤率,該資料維持性在3個月到10年間,該無法恢復的資料錯誤率在10的-13次方到10的-16次方間。
- 如申請專利範圍第19項之儲存系統,其中該儲存媒體控制器更包括一資料編解碼單元,連接於該中央控制單元,該非揮發記憶體操作模式對應一損耗程度、一寫入速度及一編碼方式之組合,該中央控制單元根據該非揮發記憶體操作模式對應的該損耗程度控制該媒體控制單元選擇該非揮發記憶體中符合該損耗程度的一位址,該中央控制單元根據該非揮發記憶體操作模式對應的該編碼方式控制該資料編解碼單元以該編碼方式將一錯誤更正碼加入該資料中,該中央控制 單元根據該非揮發記憶體操作模式對應的該寫入速度,控制該媒體控制單元以該寫入速度將該資料寫入該非揮發記憶體的該位址。
- 如申請專利範圍第19項之儲存系統,其中該儲存媒體控制器還包括一資料編解碼單元及一資料錯誤偵測單元,分別連接於該中央控制單元,該資料編解碼單元用以將一錯誤偵測碼加入該資料中,該錯誤偵測碼的錯誤偵測能力相當於該儲存系統之無法恢復的資料錯誤率需求,該資料錯誤偵測單元用以根據該錯誤偵測碼判斷使用該非揮發記憶體操作模式寫入該非揮發記憶體之該資料是否有錯誤。
- 如申請專利範圍第19項之儲存系統,其中該儲存媒體控制器還包括一時鐘單元,連接於該中央控制單元,該時鐘單元定時地觸發該中央控制單元檢查符合該降低資料可靠度需求條件之該資料寫入該非揮發記憶體之後所經過之時間是否接近該資料之資料維持性。
- 如申請專利範圍第19項之儲存系統,其中該儲存媒體控制器還包括一時鐘單元,連接於該中央控制單元,該時鐘單元定時地觸發該中央控制單元控制該媒體控制單元將符合該降低資料可靠度需求條件之該資料以一資料可靠度大於等於該儲存系統之資料可靠度需求之模式重新寫入該儲存媒體。
- 如申請專利範圍第19項之儲存系統,其中該降低資料可靠 度需求條件包括該資料效能敏感度高、資料壽命短及該資料有複本。
- 如申請專利範圍第19項之儲存系統,其中該儲存媒體還包括一硬式磁碟,連接於該媒體控制單元,該非揮發記憶體為該硬式磁碟之一快取。
- 如申請專利範圍第19項之儲存系統,其中該非揮發記憶體可接受該媒體控制單元發出之一寫入指令,該寫入指令對應資料可靠度低於該儲存系統之資料可靠度需求,該非揮發記憶體操作模式包括使用該寫入指令。
- 如申請專利範圍第19項之儲存系統,其中該儲存媒體控制器還包括一資料編解碼單元,該資料編解碼單元可對該資料加入一串接碼,該串接碼包括一第一錯誤更正碼以及一第二錯誤更正碼,該資料編解碼單元可接受該中央控制單元發出之一控制信號,該控制信號控制該資料編解碼單元僅對該資料加入該第一錯誤更正碼並略過該第二錯誤更正碼,該第一錯誤更正碼編碼方式對應資料可靠度低於該儲存系統之資料可靠度需求,該非揮發記憶體操作模式包括使用該控制信號。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/766,362 US9256526B2 (en) | 2012-02-23 | 2013-02-13 | Flash memory storage system and access method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261602094P | 2012-02-23 | 2012-02-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201335837A TW201335837A (zh) | 2013-09-01 |
TWI478048B true TWI478048B (zh) | 2015-03-21 |
Family
ID=49627424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101128307A TWI478048B (zh) | 2012-02-23 | 2012-08-06 | 儲存系統與其存取方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI478048B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI658463B (zh) * | 2018-08-23 | 2019-05-01 | 群聯電子股份有限公司 | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI729239B (zh) * | 2017-01-11 | 2021-06-01 | 韓商愛思開海力士有限公司 | 半導體裝置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3164803B1 (en) * | 2014-07-01 | 2022-09-21 | Razer (Asia-Pacific) Pte. Ltd. | Data storage systems, methods for controlling a data storage system |
TWI560608B (en) * | 2016-01-22 | 2016-12-01 | Qisda Corp | Disk access method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW522320B (en) * | 2000-04-10 | 2003-03-01 | Ibm | Apparatus and method for recovering a failed database data set |
TW200528982A (en) * | 2004-02-25 | 2005-09-01 | Richip Inc | Data storage medium capable of enhancing data access reliability and method for accessing the data |
US20070266298A1 (en) * | 2006-04-26 | 2007-11-15 | Jen-Wei Hsieh | Apparatus for improving data access reliability of flash memory |
TW200935432A (en) * | 2007-12-27 | 2009-08-16 | Sandisk Il Ltd | Error correction in copy back memory operations |
US20110022787A1 (en) * | 2007-10-19 | 2011-01-27 | Phison Electronics Corp. | Data writing method for non-volatile memory and controller using the same |
-
2012
- 2012-08-06 TW TW101128307A patent/TWI478048B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW522320B (en) * | 2000-04-10 | 2003-03-01 | Ibm | Apparatus and method for recovering a failed database data set |
TW200528982A (en) * | 2004-02-25 | 2005-09-01 | Richip Inc | Data storage medium capable of enhancing data access reliability and method for accessing the data |
US20070266298A1 (en) * | 2006-04-26 | 2007-11-15 | Jen-Wei Hsieh | Apparatus for improving data access reliability of flash memory |
US20110022787A1 (en) * | 2007-10-19 | 2011-01-27 | Phison Electronics Corp. | Data writing method for non-volatile memory and controller using the same |
TW200935432A (en) * | 2007-12-27 | 2009-08-16 | Sandisk Il Ltd | Error correction in copy back memory operations |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI729239B (zh) * | 2017-01-11 | 2021-06-01 | 韓商愛思開海力士有限公司 | 半導體裝置 |
TWI658463B (zh) * | 2018-08-23 | 2019-05-01 | 群聯電子股份有限公司 | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW201335837A (zh) | 2013-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9256526B2 (en) | Flash memory storage system and access method | |
US10498367B2 (en) | Progressive effort decoder architecture | |
US8589766B2 (en) | Codeword remapping schemes for non-volatile memories | |
US10770168B2 (en) | Memory sub-system with background scan and histogram statistics | |
US10395728B2 (en) | Demarcation voltage determination via write and read temperature stamps | |
US8799747B2 (en) | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory | |
US9176814B2 (en) | Decoding in solid state memory devices | |
US8464137B2 (en) | Probabilistic multi-tier error correction in not-and (NAND) flash memory | |
US10592134B1 (en) | Open block stability scanning | |
US8055942B2 (en) | Data storage devices and methods for power-on initialization | |
US9513992B2 (en) | Method and apparatus to perform concurrent read and write memory operations | |
TWI582779B (zh) | 讀取電壓準位估測方法、記憶體儲存裝置及記憶體控制電路單元 | |
US20210117271A1 (en) | Memory components with ordered sweep error recovery | |
US11526301B2 (en) | Memory system and non-volatile memory control method | |
US11119697B2 (en) | Read voltage management based on write-to-read time difference | |
TWI478048B (zh) | 儲存系統與其存取方法 | |
US10804935B2 (en) | Techniques for reducing latency in the detection of uncorrectable codewords | |
US20150309744A1 (en) | Semiconductor storage device and control method for same | |
US11190218B2 (en) | Code rate switching mechanism for data storage system | |
KR20220077041A (ko) | 메모리 시스템 내 저장된 데이터를 유지하는 장치 및 방법 | |
TWI550627B (zh) | 儲存裝置及其操作方法 | |
US11625173B1 (en) | Reduced power consumption by SSD using host memory buffer | |
US20200183594A1 (en) | Age-based refresh of firmware | |
TWI541818B (zh) | 於記憶體陣列編碼資料之技術 | |
CN117992282A (zh) | 异常断电后的编码方法和存储器存储装置 |