TWI539460B - 儲存裝置與資料儲存方法 - Google Patents
儲存裝置與資料儲存方法 Download PDFInfo
- Publication number
- TWI539460B TWI539460B TW098121749A TW98121749A TWI539460B TW I539460 B TWI539460 B TW I539460B TW 098121749 A TW098121749 A TW 098121749A TW 98121749 A TW98121749 A TW 98121749A TW I539460 B TWI539460 B TW I539460B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- conversion
- difference
- storage device
- source
- 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
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明涉及一種儲存裝置及資料儲存方法,尤其涉及一種非揮發性儲存裝置與資料儲存方法。
隨著快閃記憶體之容量增加、價格降低,採用快閃記憶體作為儲存媒體的快閃儲存裝置應用範圍日益廣泛。然而,快閃記憶體的可靠度隨容量的增大而降低。因此,快閃記憶體儲存資料的可靠度之研究,也越來越受相關研發人員的重視。
在讀寫快閃記憶體時,快閃記憶體中的電源供應單元將提供適當的電壓至快閃記憶體陣列上相關的位線(bit line)與字線(word line),由於快閃記憶體記憶細胞陣列之架構及其記憶細胞本身架構的關係,相鄰的記憶細胞可能會受周遭同時在充放電的記憶細胞的影響,而造成某些記憶細胞所儲存的電荷量不正確的情形。尤其在快閃記憶體中讀寫某些特別的資料型態(data pattern)(如“0”偏多的資料型態或是“1”偏多的資料型態),相鄰的記憶細胞將較容易受到干擾,因而影響資料儲存在快閃記憶體中的正確性。
詳細的快閃記憶體陣列架構及其干擾原理可參閱公開號為US20080065813、US20080205145、
US20080215798等美國公開專利,且上述之美國公開專利均是為了要解決上述快閃記憶體儲存資料的可靠度問題所揭露的資料燒錄方法,其主要工作原理是將來源資料轉換為較隨機(random)的資料型態,或是避免“0”較多的資料型態的寫入,以防止上述的相鄰記憶細胞受周遭同時在充放電的記憶細胞的影響而造成某些記憶細胞所儲存的電荷量不正確的情形發生,但上述操作方法存在需要較複雜的管理方法才能將來源資料轉換為較隨機的資料型態的問題,因此將對儲存裝置的工作效能產生影響。
有鑒于此,本發明提供一種提升資料儲存可靠性的儲存裝置與資料儲存方法。
本發明提供一種資料儲存方法,應用於儲存裝置,其中資料儲存方法包含下列步驟:接收來源資料,且來源資料包含多個資料單位,每一個資料單位包含多個位元;統計所有資料單位內各個位元中“0”與“1”的差值,而產生統計結果;依據統計結果,產生轉換資料;依據轉換資料,轉換來源資料為燒錄資料;儲存燒錄資料與轉換資料於儲存裝置。
本發明還提供一種儲存裝置,包含資料統計單元、資料運算單元及資料轉換單元。儲存裝置接收
的來源資料包含多個資料單位,每一個資料單位包含多個位元。其中,當儲存裝置接收來源資料時,資料統計單元統計來源資料中多個資料單位內各個位元中“0”與“1”的差值,而產生統計結果,資料運算單元依據統計結果產生轉換資料,資料轉換單元依據轉換資料轉換該來源資料為燒錄資料,並儲存燒錄資料與轉換資料於儲存裝置。
採用本發明的儲存裝置與資料儲存方法,能較簡單方便的將接收的來源資料轉換成“0”與“1”差值最小的燒錄資料,且採用本發明提供的轉換資料能將來源資料轉換為較佳的資料型態,提升資料儲存於非揮發性儲存裝置的可靠性。
為有效提高快閃記憶體儲存裝置的可靠度,本發明提供一種資料燒錄方法及其裝置,將來源資料(亦即儲存裝置從外部所接收的寫入資料)轉換為較佳的資料型態(data pattern),然後再進行資料燒錄的動作。藉此降低不好的資料型態在資料燒錄時所造成的影響。
當資料內容若為“0”的數目佔大多數的來源資料,或是“0”與“1”之間的數目差異較大,都將容易在資料燒錄時,在快閃記憶陣列上發生相鄰記憶細胞互相干擾的情形。故本發明係提供一種轉
換方法,可將來源資料的內容轉換為“0”與“1”數目較平均的資料型態,以避免上述的情形發生。
下面詳細介紹本發明的儲存裝置及資料儲存方法。如第1圖所示,本發明的儲存裝置1包含控制器11及快閃記憶體13,控制器包含資料統計單元111、資料運算單元113、資料轉換單元115、資料暫存單元117、系統介面118及記憶體介面119。其中,系統介面118係用於儲存裝置1與主機系統之間傳輸指令或資料,記憶體介面119係用於控制器與快閃記憶體之間傳輸指令或資料。
儲存裝置1接收的來源資料包含一個或多個資料單元,每個資料單位係包含多個位元,例如:資料單位可為一個位元組,而每個位元組含8個位元。上述來源資料係透過統計與運算的方式產生對應的轉換資料,使來源資料與轉換資料運算後,可讓來源資料轉換為“0”與“1”的數目差距為最小的燒錄資料。其中,轉換資料可為N位元的資料,N可為4、8、16或更多,主要係視精確度的需求或運算能力與硬體的限制而定。藉此,M位元組的來源資料中每N位元即與轉換資料作運算,經過M/N次運算後,即可將M位元組的來源資料轉換成“0”與“1”數目差距較小的M位元組的燒錄資料,其中M可為512或更多。
為更清楚說明來源資料的轉換方法,接下來以512位元組長度的資料提供一8位元的轉換資料為例來說明,而實際位元數的設定係不在此限。儲存裝置1內控制器11取得來源資料後,將來源資料暫存於資料暫存單元117中。接著控制器1內資料統計單元111便依據512位元組的來源資料,統計其每位元組的各個對應位元(第一位元(bit0)、第二位元(bit1)、...)中“0”與“1”的差值。如第2圖所示,將來源資料以每位元組(8位元)為單位,統計各位元bit0、bit1、bit2、bit3、bit4、bit5、bit6、bit7上0與1數目的差值。如第2圖所示的24bit來說,第一位元(bit0)為“0”比“1”多1個,第二位元(bit1)為“0”比“1”多3個,以此類推,求出512位元組來源資料中所有位元組中各個對應位元(bit0~bit7)中“0”與“1”的差值,而產生統計結果。
若512位元組的來源資料皆已暫存於暫存單元117中,資料統計單元111便可統計出來源資料中所有位元組各個對應位元中“0”與“1”之差值的統計結果。接著控制器內資料運算單元113便依據該些差值的統計結果執行運算,以求出一個大小可為1位元組的轉換資料。然後控制器1內資料轉換單元115便將每1位元組的來源資料與轉換資料作運算,即可求得“0”與“1”差值最小的燒錄資料。
假設來源資料每位元組各個對應位元的最後統計結果為,bit0:“0”比“1”多48個;bit1:“0”比“1”多26個;bit2:“0”比“1”少33個;bit3:“0”比“1”多12個,bit4:“0”比“1”少50個,bit5:“0”比“1”少5個,bit6:“0”比“1”多27個,bit7:“0”比“1”多55個,整理如下表所示:
然後控制器1內的資料運算單元113便運算48、26、-33、12、-50、-5、27、55,求出使這8個數字之和為最小的解,即為轉換資料(於此,假設0>1的數目為正,另亦可假設1>0的數目為正,如-48、-26、33、-12、50、5、-27、-55)。其中,該解可由控制器1執行數學運算函試求得,或是執行排列組合求得。
接下來以一運算方法舉例說明,用以更詳細的解釋轉換原理,但不以此運算方法為限。將上表的數列取絕對值,取得一數列48、26、33、12、50、5、27、55與其符號資料00101100。藉由數學運算,可得+48+26-33-12-50-5-27+55=2為最小的解,因此依據(48*(+1)+26*(+1)+33*(-1)+12*(-1)+50*(-1)+5*(-1)+
27*(-1)+55*(+1))正數取0負數取1可得運算資料00111110。由於數列先前取過絕對值,所以運算資料要再與符號資料作互斥或(XOR)運算,00111110 XOR 00101100得00010010,此即為512位元組來源資料的轉換資料。
轉換資料係可視為一是否執行反運算之遮罩(mask)。將每一位元組的來源資料與轉換資料作XOR,即可選擇性的將來源資料上特定的第幾位元等進行反向(invert),藉此即可求得“0”與“1”差值最小的燒錄資料。也就是說,將來源資料每位元一一與轉換資料作運算,轉換後的燒錄資料其“0”與“1”的差值係實現(48*(+1)+26*(+1)+33*(-1)+12*(-1)+50*(-1)+5*(-1)+27*(-1)+55*(+1))的運算結果,所以可得“0”與“1”差值最小的資料。
所以,求得轉換資料後,來源資料即可與轉換資料運算,並將轉換結果,也就是燒錄資料,連同轉換資料一起傳送至快閃記憶體儲存。以本例來說,就是每512位元組的資料係與其對應的一位元組的轉換資料傳送至快閃記憶體中儲存。然後在讀取該筆資料時,連同其對應的轉換資料讀出,讀取的資料與該筆轉換資料再作一次還原運算,即可輸出原來源資料。
下面將詳細介紹本發明具體實施方式中資料儲存於快閃記憶體的流程圖。如第3圖所示,控制器1利用系統介面118接收外部主機系統傳來的來源資料(S101),然後將來源資料暫存在資料暫存單元117。接著由資料統計單元111統計M位元組來源資料每N位元之各個對應位元中“0”與“1”的差值(步驟S103)。然後控制器便判斷是否已接收M位元組的來源資料(步驟S105),若已全部接收M位元組的來源資料,資料統計單元111便產生M位元組來源資料所有每N位元中各個對應位元之“0”與“1”的差值的統計結果(步驟S107),資料運算單元113便依據上述統計結果產生N位元的轉換資料(步驟S109)。其中,資料運算單元113可依據該些差值的統計結果執行數學運算函式找出使該些差值之和為最小的解來求得轉換資料,亦可依據該些差值藉由排列組合的方式來求得使該些差值之和為最小的解即為轉換資料。求得轉換資料後,便可由資料轉換單元115將來源資料與轉換資料作運算,以得到燒錄資料。轉換方法如前述,將每N位元來源資料與其對應的轉換資料作運算,求得N位元的燒錄資料(步驟S111)。接著控制器判斷是否已將M位元組的寫入資料轉換為燒錄資料(步驟S113),若已將M位元組的來源資料轉換為M位元組的燒錄資料,控制器11即可將該筆燒錄資料及其對應的轉換資料
經由記憶體介面119傳送至快閃記憶體13儲存,或是待若干筆燒錄資料產生後再與其個別對應的轉換資料透過記憶替介面119傳送至快閃記憶體1儲存。
藉此,寫入快閃記憶體13中的資料中其“0”與“1”的數量可較平均,減少快閃記憶體13工作時,因為快閃記憶體13陣列上鄰近記憶細胞之工作電壓的關係,造成記憶體陣列上鄰近記憶細胞互相干擾的情況。
惟,以上項所述,僅為本發明的具體實施例的詳細說明及圖式而已,並非用以限制本發明,本發明的所有範圍應以下述的申請專利範圍第為準,任何熟悉該項技藝者在本發明的領域內,可輕易思及的變化或修飾皆可涵蓋在以下本案所界定的專利範圍。例如,以上是以快閃記憶體為例進行的說明,但本領域的普通技術人員可輕易想到的是,快閃記憶體為非揮發性記憶體的一種,事實上,本發明也可應用於其他類型的非揮發性記憶體,如EPROM(Erasable Programmable Read Only Memory,可抹除可編程唯讀記憶體)、EEPROM(Electrically Erasable Programmable Read Only Memory,電可抹除可編程唯讀記憶體)、PRAM(Phase-change Random Access Memory,相變化隨機存取記憶體)、MRAM(Magnetic Random Access Memory,磁性隨機
存取記憶體)、FRAM(Ferroelectric Random Access Memory,鐵電隨機存取記憶體)等。
1‧‧‧儲存裝置
11‧‧‧控制器
111‧‧‧資料統計單元
113‧‧‧資料運算單元
115‧‧‧資料轉換單元
117‧‧‧資料暫存單元
118‧‧‧系統介面
119‧‧‧記憶體介面
13‧‧‧快閃記憶體
第1圖:本發明儲存裝置的系統架構示意圖;第2圖:本發明具體實施方式中統計各位元組各個對應位元中“0”與“1”差值的動作示意圖;第3圖:本發明具體實施方式中儲存資料於快閃記憶體之流程圖。
Claims (10)
- 一種資料儲存方法,應用於一儲存裝置,其中該資料儲存方法包含下列步驟:接收一來源資料,該來源資料包含多個資料單位,每一個該資料單位包含多個位元;統計所有該些資料單位內各個對應位元中“0”與“1”之數目的差值,而產生一統計結果;依據該統計結果,產生一轉換資料;依據該轉換資料,轉換該來源資料為一燒錄資料;及儲存該燒錄資料與該轉換資料於該儲存裝置。
- 如申請專利範圍第1項所述的資料儲存方法,其中產生該轉換資料的步驟,更包含下列步驟:將各個差值進行一數學運算,使各個差值經由該數學運算後的總和值最小,而產生該轉換資料。
- 如申請專利範圍第1項所述的資料儲存方法,其中產生該轉換資料的步驟,更包含下列步驟:依據各個差值對應的正、負號,而產生一符號資料;將各個位元對應的各個差值取絕對值;將取絕對值後的各個差值進行一數學運算,使各個差值經由該數學運算後的總和值最小,而產生一運算資料;及互斥或(XOR)運算該運算資料與該符號資料,而產生該轉換資料。
- 如申請專利範圍第2或第3項項所述的資料儲存方 法,其中該數學運算係將該各個差值分別乘上正號或負號。
- 如申請專利範圍第1項所述的資料儲存方法,其中轉換該來源資料為燒錄資料的步驟,更包含下列步驟:依據該轉換資料,反向該來源資料而產生該燒錄資料。
- 一種儲存裝置,接收一來源資料,該來源資料包含多個資料單位,每一個資料單位包含多個位元,其中該儲存裝置包含:一資料統計單元,統計該來源資料中該些資料單位內各個對應位元中“0”與“1”之數目的差值,而產生一統計結果;一資料運算單元,依據該統計結果產生一轉換資料;及一資料轉換單元,依據該轉換資料轉換該來源資料為一燒錄資料,並儲存該燒錄資料與該轉換資料於該儲存裝置。
- 如申請專利範圍第6項所述的儲存裝置,其中該轉換資料係由該資料運算單元將各個差值進行一數學運算,使各個差值經由該數學運算後的總和值為最小而產生。
- 如申請專利範圍第6項所述的儲存裝置,其中該資料運算單元依據各個差值對應的正、負號而產生一符號資料,將各個位元對應的各個差值取絕對值,並將取絕對值後的各個差值進行一數學運算,使各個差值經由該 數學運算後的總和值為最小而產生一運算資料,且互斥或(XOR)運算該運算資料與該符號資料而產生該轉換資料。
- 如申請專利範圍第7或第8項所述的儲存裝置,其中該數學運算係將各個差值分別乘上正號或負號。
- 如申請專利範圍第6項所述的儲存裝置,其中該燒錄資料係由該資料轉換單元依據該轉換資料反向該來源資料而產生。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098121749A TWI539460B (zh) | 2009-06-29 | 2009-06-29 | 儲存裝置與資料儲存方法 |
US12/784,372 US8190644B2 (en) | 2009-06-29 | 2010-05-20 | Storage device and data storage method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098121749A TWI539460B (zh) | 2009-06-29 | 2009-06-29 | 儲存裝置與資料儲存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201101308A TW201101308A (en) | 2011-01-01 |
TWI539460B true TWI539460B (zh) | 2016-06-21 |
Family
ID=43381843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098121749A TWI539460B (zh) | 2009-06-29 | 2009-06-29 | 儲存裝置與資料儲存方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8190644B2 (zh) |
TW (1) | TWI539460B (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1255198B1 (en) * | 2001-02-28 | 2006-11-29 | Hitachi, Ltd. | Storage apparatus system and method of data backup |
-
2009
- 2009-06-29 TW TW098121749A patent/TWI539460B/zh active
-
2010
- 2010-05-20 US US12/784,372 patent/US8190644B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW201101308A (en) | 2011-01-01 |
US8190644B2 (en) | 2012-05-29 |
US20100332486A1 (en) | 2010-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5785330B2 (ja) | メモリエンデュランスのために動作させる装置および方法 | |
TWI447733B (zh) | 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器 | |
CN102918601B (zh) | 存储的单元/页/子页/块的损耗均衡 | |
US9583217B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
US20090323419A1 (en) | Read-time wear-leveling method in storage system using flash memory device | |
US9152558B2 (en) | Mapping different portions of data to different pages of multi-level non-volatile memory | |
US9136015B2 (en) | Threshold adjustment using data value balancing in analog memory device | |
US20110238891A1 (en) | Method for suppressing errors, and associated memory device and controller thereof | |
US8762823B2 (en) | Method for performing data shaping, and associated memory device and controller thereof | |
Lee et al. | Interpage-based endurance-enhancing lower state encoding for MLC and TLC flash memory storages | |
US20130104000A1 (en) | Nibble encoding for improved reliability of non-volatile memory | |
CN106415502A (zh) | 数据存储的方法和装置 | |
US20170286216A1 (en) | Energy efficient read/write support for a protected memory | |
TW201633314A (zh) | 記憶體控制電路單元、記憶體儲存裝置及資料存取方法 | |
Wei et al. | NRC: A nibble remapping coding strategy for NAND flash reliability extension | |
TW201524135A (zh) | 解碼方法、記憶體儲存裝置與記憶體控制電路單元 | |
TWI732642B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI539460B (zh) | 儲存裝置與資料儲存方法 | |
US20110093765A1 (en) | Flash memory device and related programming method | |
US11442811B1 (en) | Apparatus and method for using an error correction code in a memory system | |
TWI721842B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
WO2015074514A1 (zh) | 存储设备的写入方法及写入装置 | |
Mirhoseini et al. | Phase change memory write cost minimization by data encoding | |
EP2845101B1 (en) | Error protection for memory devices | |
TWI835381B (zh) | 資料加密的錯誤偵測裝置 |