TWI533134B - 快閃記憶裝置及其運作方法 - Google Patents
快閃記憶裝置及其運作方法 Download PDFInfo
- Publication number
- TWI533134B TWI533134B TW099146318A TW99146318A TWI533134B TW I533134 B TWI533134 B TW I533134B TW 099146318 A TW099146318 A TW 099146318A TW 99146318 A TW99146318 A TW 99146318A TW I533134 B TWI533134 B TW I533134B
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- data
- memory device
- host
- controller
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
本發明係有關於記憶體,特別是有關於快閃記憶體。
一般的快閃記憶裝置包括一控制器及一快閃記憶體(flash memory),用以為一主機儲存資料。當主機欲儲存資料至快閃記憶裝置,主機會向快閃記憶裝置發送寫入命令,控制器再依據寫入命令將資料寫入快閃記憶體。當主機欲自快閃記憶裝置讀取資料,主機會向快閃記憶裝置發送讀取命令,控制器再依據讀取命令自快閃記憶體讀取資料後傳送至主機。
目前的快閃記憶體可分為單層單元(single level cell,SLC)快閃記憶體、多層單元(multi level cell,MLC)快閃記憶體、以及三層單元(triple level cell,TLC)快閃記憶體。單層單元快閃記憶體的一個記憶單元僅能儲存一個資料位元,缺點是減少了可儲存資料量,但具有高資料存取速度及高資料維持力(data retention)的優點。多層單元快閃記憶體的一個記憶單元可儲存兩個資料位元,三層單元快閃記憶體的一個記憶單元可儲存三個資料位元,優點是增加了可儲存資料量,但具有低資料存取速度及低資料維持力的缺點。
為了降低成本,許多廠商經常選擇使用多層單元快閃記憶體或三層單元快閃記憶體供快閃記憶裝置儲存資料,以在有限的成本內增加快閃記憶裝置的資料儲存量。然而,由於多層單元快閃記憶體或三層單元快閃記憶體的資
料維持力較低,為確保儲存之資料的正確性,儲存至多層單元快閃記憶體或三層單元快閃記憶體的資料必須先經過「資料塑形」(data shaping)之處理。資料塑形處理可為資料攪亂(scrambling)或資料交錯(interleaving)程序。一般而言,新型的快閃記憶體控制器皆具備資料塑形之功能,以處理欲寫入至多層單元快閃記憶體或三層單元快閃記憶體的資料,以及自多層單元快閃記憶體或三層單元快閃記憶體讀出的資料。
第1圖為習知快閃記憶裝置104的區塊圖。快閃記憶裝置104耦接至主機102,包括控制器112及快閃記憶體114。快閃記憶體114為多層單元快閃記憶體或三層單元快閃記憶體。控制器112為新型的快閃記憶體控制器,包括處理器122、記憶體124、資料塑形模組126、以及錯誤修正碼編碼器128。當主機202欲將第一寫入資料寫入快閃記憶裝置104,主機202先傳送第一寫入資料至快閃記憶裝置104。控制器112首先將第一寫入資料儲存於記憶體124,接著以資料塑形模組126處理第一寫入資料以得到第二寫入資料,再以錯誤修正碼編碼器128編碼第二寫入資料以得到第三寫入資料,最後再將第三寫入資料寫入快閃記憶體114。由於第三寫入資料有經過資料塑形模組126之資料塑形處理,因此可增進資料儲存於快閃記憶體114時的資料維持力,從而具備較低的資料錯誤率。
當主機202欲自快閃記憶裝置104讀出第三讀出資料,控制器112首先自快閃記憶體114讀取第一讀出資料,接著以錯誤修正碼編碼器128解碼第一讀出資料以得到第
二讀出資料,再以資料塑形模組126處理第二讀出資料以得到第三讀出資料,最後再將第三讀出資料傳送至主機102。
然而,由於多層單元快閃記憶體及三層單元快閃記憶體係較新型的記憶體,舊型的快閃記憶體控制器並不具備資料塑形之功能。這使得具備舊型控制器的快閃記憶裝置僅能使用高資料維持力的單層單元快閃記憶體,而無法使用低資料維持力的多層單元快閃記憶體及三層單元快閃記憶體,從而使快閃記憶裝置的生產成本提高,並降低快閃記憶裝置的可儲存資料量。因此,必須提出一種方法,以使具備舊型控制器的快閃記憶裝置亦可使用低資料維持力的多層單元快閃記憶體及三層單元快閃記憶體。
有鑑於此,本發明之目的在於提供一種快閃記憶裝置,以解決習知技術存在之閃題。於一實施例中,該快閃記憶裝置包括一第一快閃記憶體、一第二快閃記憶體、以及一控制器。該第一快閃記憶體儲存一資料塑形驅動程式(data shaping driver),其中該資料塑形驅動程式可執行一資料塑形(data shaping)功能。該第二快閃記憶體用以儲存使用者資料。該控制器於該快閃記憶裝置啟動後開啟該第一快閃記憶體並關閉該第二快閃記憶體,於該快閃記憶裝置耦接至一主機後偵測是否該主機已安裝該資料塑形驅動程式,若該主機未安裝該資料塑形驅動程式則安裝該第一快閃記憶體所儲存之該資料塑形驅動程式至該主機,以及於該主機已安裝該資料塑形驅動程式後關閉該第一快閃記憶
體並開啟該第二快閃記憶體。
本發明更提供一種快閃記憶裝置之運作方法。於一實施例中,該快閃記憶裝置包括儲存一資料塑形驅動程式(data shaping driver)之一第一快閃記憶體及儲存使用者資料之一第二快閃記憶體,該資料塑形驅動程式可執行一資料塑形(data shaping)功能。首先,於該快閃記憶裝置啟動後,開啟該第一快閃記憶體並關閉該第二快閃記憶體。接著,於該快閃記憶裝置耦接至一主機後,偵測是否該主機已安裝該資料塑形驅動程式。若該主機未安裝該資料塑形驅動程式,安裝該第一快閃記憶體所儲存之該資料塑形驅動程式至該主機。最後,於該主機已安裝該資料塑形驅動程式後,關閉該第一快閃記憶體並開啟該第二快閃記憶體。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:
第2圖為依據本發明之快閃記憶裝置204之區塊圖。快閃記憶裝置204包括控制器212、第一快閃記憶體216、以及第二快閃記憶體214。第一快閃記憶體216為一單層單元(single level cell,SLC)快閃記憶體,用以儲存一資料塑形(data shaping)驅動程式232,其中該資料塑形驅動程式232具有資料塑形功能。於一實施例中,該資料塑形功能為資料交錯(interleaving)或資料攪亂(scrambling)功能。於一實施例中,第一快閃記憶體216為CD-ROM格式,且其所儲之資料塑形驅動程式232具有自動執行(auto-run)功
能。第二快閃記憶體214為多層單元(multi level cell,MLC)快閃記憶體或三層單元(triple level cell,TLC)快閃記憶體,用以儲存使用者資料。控制器212為一舊型的快閃記憶體控制器,不具有資料塑形功能。於一實施例中,控制器212包括一記憶體224及一錯誤修正碼編碼器228。
雖然本發明之快閃記憶裝置204之控制器212不具有資料塑形功能,而儲存使用者資料之第二快閃記憶體214為多層單元快閃記憶體或三層單元快閃記憶體,但控制器212仍可將主機202交付的資料適當地儲存至第二快閃記憶體214中,而使儲存於第二快閃記憶體214的資料具有夠高的資料維持力及資料正確性。每當快閃記憶裝置204耦接至主機202時,控制器212會偵測主機202是否已安裝了資料塑形驅動程式。若主機202未安裝了資料塑形驅動程式,快閃記憶裝置204之控制器212會將第一快閃記憶體216中儲存的資料塑形驅動程式232安裝至主機202。待主機202安裝了資料塑形驅動程式256後,於主機256欲將資料寫入快閃記憶裝置204前,便可以資料塑形驅動程式256先對寫入資料進行攪亂或交錯處理,再將處理後之資料送至快閃記憶裝置204儲存,以提升寫入資料於第二快閃記憶體214儲存的資料正確性。當主機256自快閃記憶裝置204收到讀出資料時,亦可以資料塑形驅動程式256對讀出資料進行解攪亂或解交錯處理,以恢復讀出資料為原本資料。
第3圖為依據本發明之快閃記憶裝置204將資料塑形驅動程式232安裝至主機202的方法300之流程圖。首先,
當快閃記憶裝置204上電時,控制器212會先開啟儲存資料塑形驅動程式232之第一快閃記憶體216(步驟302),並關閉儲存使用者資料之第二快閃記憶體214(步驟304)。接著,快閃記憶裝置204被耦接至主機202(步驟306)。當快閃記憶裝置204耦接至主機202時,由於第二快閃記憶體214被關閉,主機202僅能看見具有CD-ROM格式之第一快閃記憶體216,而將快閃記憶裝置204視為CD-ROM。由於第一快閃記憶體216儲存之資料塑形驅動程式232為自動執行(auto-run)格式,控制器212便開始偵測主機202是否已安裝了資料塑形驅動程式232(步驟308)。
若主機202尚未安裝資料塑形驅動程式232,則控制器212自第一快閃記憶體216讀取資料塑形驅動程式232,並將資料塑形驅動程式232安裝至主機202(步驟310),而成為主機202之資料塑形驅動程式256。反之,若主機202已安裝資料塑形驅動程式232,則控制器212不必重新安裝資料塑形驅動程式232。接著,控制器212關閉第一快閃記憶體216(步驟312),並開啟第二快閃記憶體214(步驟314)。因此,安裝了資料塑形驅動程式256之後的主機202僅可看見第二快閃記憶體214,而將快閃記憶裝置204視為一資料儲存裝置。
第4圖為依據本發明將主機202所提供之資料寫入快閃記憶裝置204之方法400的流程圖。首先,主機202提供欲寫入快閃記憶裝置204之第一寫入資料(步驟402)。接著,主機202之資料塑形驅動程式256對第一寫入資料進行塑形處理,以得到第二寫入資料(步驟404)。於一實施例
中,該塑形處理可為資料交錯(interleaving)或資料攪亂(scrambling)。接著,主機202將處理所得的第二寫入資料傳送至快閃記憶裝置204(步驟406)。當快閃記憶裝置204接收資料後,控制器212首先將第二寫入資料儲存於記憶體224。接著,控制器212之錯誤修正碼編碼器228編碼第二寫入資料,以得到第三寫入資料(步驟408)。接著,控制器212將第三寫入資料寫入第二快閃記憶體214(步驟410)。因此,雖然控制器212未具有資料塑形功能,但此時儲存於第二快閃記憶體214的第三寫入資料業已經過主機202的資料塑形處理,因此可以確保第三寫入資料儲存於第二快閃記憶體214的資料正確性。
第5圖為依據本發明將資料由快閃記憶裝置204讀出以傳送至主機202之方法500的流程圖。首先,快閃記憶裝置204之控制器212自第二快閃記憶體214讀取第一讀出資料(步驟502)。接著,控制器212之錯誤修正碼編碼器228解碼第一讀出資料,以得到第二讀出資料(步驟504)。接著,控制器212將第二讀出資料儲存於記憶體224。接著,快閃記憶裝置204將第二讀出資料傳送至主機202(步驟506)。當主機202收到第二讀出資料後,主機202尚需以資料塑形驅動程式256對第二讀出資料進行反向塑形處理,以還原為第三讀出資料(步驟508)。於一實施例中,該反向塑形處理為解資料交錯(de-interleaving)或解資料攪亂(de-scrambling)。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精
神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
(第1圖)
102‧‧‧主機
104‧‧‧快閃記憶裝置
152‧‧‧應用程式
154‧‧‧驅動程式
112‧‧‧控制器
114‧‧‧快閃記憶體
122‧‧‧處理器
124‧‧‧記憶體
126‧‧‧資料塑形模組
128‧‧‧錯誤修正碼編碼器
(第2圖)
202‧‧‧主機
204‧‧‧快閃記憶裝置
250‧‧‧應用程式
254‧‧‧驅動程式
256,232‧‧‧資料塑形驅動程式
212‧‧‧控制器
214‧‧‧第二快閃記憶體
216‧‧‧第一快閃記憶體
222‧‧‧處理器
224‧‧‧記憶體
228‧‧‧錯誤修正碼編碼器
第1圖為習知快閃記憶裝置的區塊圖;第2圖為依據本發明之快閃記憶裝置之區塊圖;第3圖為依據本發明之快閃記憶裝置將資料塑形驅動程式安裝至主機的方法之流程圖;第4圖為依據本發明將主機所提供之資料寫入快閃記憶裝置之方法的流程圖;以及第5圖為依據本發明將資料由快閃記憶裝置讀出以傳送至主機之方法的流程圖。
202‧‧‧主機
204‧‧‧快閃記憶裝置
250‧‧‧應用程式
254‧‧‧驅動程式
256,232‧‧‧資料塑形驅動程式
212‧‧‧控制器
214‧‧‧第二快閃記憶體
216‧‧‧第一快閃記憶體
222‧‧‧處理器
224‧‧‧記憶體
228‧‧‧錯誤修正碼編碼器
Claims (12)
- 一種快閃記憶裝置,包括:一第一快閃記憶體,儲存一資料塑形驅動程式(data shaping driver);一第二快閃記憶體,用以儲存使用者資料;以及一控制器,於該快閃記憶裝置啟動後開啟該第一快閃記憶體並關閉該第二快閃記憶體,於該快閃記憶裝置耦接至一主機後偵測是否該主機已安裝該資料塑形驅動程式,若該主機未安裝該資料塑形驅動程式則安裝該第一快閃記憶體所儲存之該資料塑形驅動程式至該主機,以及於該主機已安裝該資料塑形驅動程式後關閉該第一快閃記憶體並開啟該第二快閃記憶體,其中該控制器不具有一資料塑形(data shaping)功能;其中當該主機欲寫入一第一寫入資料至該快閃記憶裝置時,該主機以被安裝的該資料塑形驅動程式對該第一寫入資料執行該資料塑形功能,以得到一第二寫入資料,並且該第一快閃記憶體為一單層單元(single level cell,SLC)快閃記憶體,而該第二快閃記憶體為一三層單元(triple level cell,TLC)快閃記憶體。
- 如申請專利範圍第1項所述之快閃記憶裝置,其中該第一快閃記憶體之格式為CD-ROM格式。
- 如申請專利範圍第2項所述之快閃記憶裝置,其中儲存於該第一快閃記憶體之該資料塑形驅動程式具有自動執行(auto-run)功能。
- 如申請專利範圍第1項所述之快閃記憶裝置,其中該資料塑形驅動程式之該資料塑形功能係資料攪亂(scrambling)功能或資料交錯(interleaving)功能,而該控制器不具有該資料塑形功能。
- 如申請專利範圍第1項所述之快閃記憶裝置,其中該主機傳送該第二寫入資料至該快閃記憶裝置,該控制器以一錯誤修正碼編碼器(error correction code coder)編碼該第二寫入資料為一第三寫入資料,並將該第三寫入資料寫入該第二快閃記憶體。
- 如申請專利範圍第1項所述之快閃記憶裝置,其中當該主機欲自該快閃記憶裝置讀取一第三讀出資料時,該控制器自該第二快閃記憶體讀出一第一讀出資料,以一錯誤修正碼編碼器(error correction code coder)解碼該第一讀出資料為一第二讀出資料,並傳送該第二讀出資料至該主機,而該主機以被安裝的該資料塑形驅動程式處理該第二讀出資料以得到該第三讀出資料。
- 一種快閃記憶裝置之運作方法,其中該快閃記憶裝置包括儲存一資料塑形驅動程式(data shaping driver)之一第一快閃記憶體及用以儲存使用者資料之一第二快閃記憶體以及不具有一資料塑形(data shaping)功能之一控制器,而該方法包括下列步驟:於該快閃記憶裝置啟動後,開啟該第一快閃記憶體並關閉該第二快閃記憶體;於該快閃記憶裝置耦接至一主機後,藉由該控制器偵測是否該主機已安裝該資料塑形驅動程式; 若該主機未安裝該資料塑形驅動程式,藉由該控制器安裝該第一快閃記憶體所儲存之該資料塑形驅動程式至該主機;以及於該主機已安裝該資料塑形驅動程式後,藉由該控制器關閉該第一快閃記憶體並開啟該第二快閃記憶體;其中當該主機欲寫入一第一寫入資料至該快閃記憶裝置時,該主機以被安裝的該資料塑形驅動程式對該第一寫入資料執行該資料塑形功能,以得到一第二寫入資料,並且該第一快閃記憶體為一單層單元(single level cell,SLC)快閃記憶體,而該第二快閃記憶體為一三層單元(triple level cell,TLC)快閃記憶體。
- 如申請專利範圍第7項所述之快閃記憶裝置之運作方法,其中該第一快閃記憶體之格式為CD-ROM格式。
- 如申請專利範圍第8項所述之快閃記憶裝置之運作方法,其中儲存於該第一快閃記憶體之該資料塑形驅動程式具有自動執行(auto-run)功能。
- 如申請專利範圍第7項所述之快閃記憶裝置之運作方法,其中該資料塑形驅動程式之該資料塑形功能係資料攪亂(scrambling)功能或資料交錯(interleaving)功能。
- 如申請專利範圍第7項所述之快閃記憶裝置之運作方法,更包括:該主機傳送該第二寫入資料至該快閃記憶裝置;該快閃記憶裝置以一錯誤修正碼編碼器(error correction code coder)編碼該第二寫入資料為一第三寫入資料;以及 該快閃記憶裝置將該第三寫入資料寫入該第二快閃記憶體。
- 如申請專利範圍第7項所述之快閃記憶裝置之運作方法,更包括:當該主機欲自該快閃記憶裝置讀取一第三讀出資料時,該快閃記憶裝置自該第二快閃記憶體讀出一第一讀出資料;該快閃記憶裝置以一錯誤修正碼編碼器(error correction code coder)解碼該第一讀出資料為一第二讀出資料;該快閃記憶裝置傳送該第二讀出資料至該主機;以及該主機以被安裝的該資料塑形驅動程式處理該第二讀出資料,以得到該第三讀出資料。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099146318A TWI533134B (zh) | 2010-12-28 | 2010-12-28 | 快閃記憶裝置及其運作方法 |
US13/337,955 US20120166717A1 (en) | 2010-12-28 | 2011-12-27 | Data Storage Device and Operation Method Thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099146318A TWI533134B (zh) | 2010-12-28 | 2010-12-28 | 快閃記憶裝置及其運作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201227318A TW201227318A (en) | 2012-07-01 |
TWI533134B true TWI533134B (zh) | 2016-05-11 |
Family
ID=46318452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099146318A TWI533134B (zh) | 2010-12-28 | 2010-12-28 | 快閃記憶裝置及其運作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120166717A1 (zh) |
TW (1) | TWI533134B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150006616A (ko) * | 2013-07-09 | 2015-01-19 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작 방법 |
KR102247087B1 (ko) | 2014-07-08 | 2021-05-03 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR20210062845A (ko) * | 2019-11-22 | 2021-06-01 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 제어 방법 및 이를 수행하기 위한 데이터 컨버터 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832241B (zh) * | 2003-04-11 | 2021-10-08 | 富意科技公司 | 一种可实现自动运行的集成电路存储设备或方法 |
US20080126628A1 (en) * | 2006-11-29 | 2008-05-29 | Sony Ericsson Mobile Communications Ab | Methods, devices and computer program products for automatically providing an alternate usb configuration of a usb compliant peripheral device for exposure to a host computer |
WO2009090734A1 (ja) * | 2008-01-16 | 2009-07-23 | I-O Data Device, Inc. | Usb可搬装置 |
-
2010
- 2010-12-28 TW TW099146318A patent/TWI533134B/zh active
-
2011
- 2011-12-27 US US13/337,955 patent/US20120166717A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20120166717A1 (en) | 2012-06-28 |
TW201227318A (en) | 2012-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8046645B2 (en) | Bad block identifying method for flash memory, storage system, and controller thereof | |
JP5185156B2 (ja) | メモリコントローラおよび半導体記憶装置 | |
US20130191705A1 (en) | Semiconductor storage device | |
TWI681295B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8756398B2 (en) | Partitioning pages of an electronic memory | |
KR20130087935A (ko) | 메모리, 메모리 시스템, 및 메모리에 대한 에러 검출/정정 방법 | |
US9218851B2 (en) | Power drop protection for a data storage device | |
TW201413448A (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI626541B (zh) | 將資料寫入至快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
US20180373590A1 (en) | Scaling large drives using enhanced dram ecc | |
US11775389B2 (en) | Deferred error-correction parity calculations | |
CN108614744B (zh) | 基于NAND flash的掉电保护方法和装置 | |
TWI802324B (zh) | 異常斷電恢復方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI533134B (zh) | 快閃記憶裝置及其運作方法 | |
WO2020135411A1 (zh) | 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm | |
US20200183592A1 (en) | Storage device and method of operating the same | |
TW201740385A (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN110427279B (zh) | 一种恢复写条带的Raid奇偶校验数据的方法及系统 | |
KR20140131851A (ko) | 반도체 메모리 장치 및 메모리 시스템 | |
TWI501244B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
KR20150055884A (ko) | 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법 | |
CN110069362B (zh) | 数据储存装置与数据处理方法 | |
TWI664528B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW202016940A (zh) | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US20160334861A1 (en) | Power management for a data storage system |