TWI446348B - 快閃記憶體的存取裝置及方法 - Google Patents

快閃記憶體的存取裝置及方法 Download PDF

Info

Publication number
TWI446348B
TWI446348B TW99127787A TW99127787A TWI446348B TW I446348 B TWI446348 B TW I446348B TW 99127787 A TW99127787 A TW 99127787A TW 99127787 A TW99127787 A TW 99127787A TW I446348 B TWI446348 B TW I446348B
Authority
TW
Taiwan
Prior art keywords
flash memory
memory
address
sequence table
access
Prior art date
Application number
TW99127787A
Other languages
English (en)
Other versions
TW201209828A (en
Inventor
Fu Kuo Ou
Ping Huang Liao
Original Assignee
Asolid Technology Co Ltd
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 Asolid Technology Co Ltd filed Critical Asolid Technology Co Ltd
Priority to TW99127787A priority Critical patent/TWI446348B/zh
Publication of TW201209828A publication Critical patent/TW201209828A/zh
Application granted granted Critical
Publication of TWI446348B publication Critical patent/TWI446348B/zh

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Description

快閃記憶體的存取裝置及方法
本發明是有關於一種快閃記憶體的存取裝置及方法,且特別是有關於一種在多層記憶胞(Multi-Level Cell,MLC)的快閃記憶體中存取重要資訊的裝置及方法。
在目前快閃記憶體技術中,快閃記憶體可根據每一記憶胞中可儲存的位元數區分為SLC(signal-level cell)快閃記憶體與MLC(multi-level cell)快閃記憶體。具體來說,在對SLC快閃記憶體的記憶胞進行程式化(program)時僅能執行單階的程式化,因此每一記憶胞僅能儲存一個位元。
相對的,對MLC快閃記憶體的記憶胞進行程式化(program)時則可以能執行多階的程式化,因此每一記憶胞能儲存多個位元。
而由於MLC快閃記憶體為了增加記錄空間,其電壓區間較小,需要更多的循環冗餘校驗(Cyclic Redundancy Check,CRC)空間。並且因為電壓變化更頻繁,因此MLC快閃記憶體在壽命方面僅約可經受1萬次的讀寫,遠劣于SLC快閃記憶體的10萬次。另外,當需要將重要資訊(例如開機資訊)儲存在MLC快閃記憶體時,則必須要考慮到關於所儲存的資料的可靠度的問題。因此,如何安全且有效率的使用MLC快閃記憶體,則成為相關領域的工程師所重視的一個課題。
本發明提供一種快閃記憶體的存取方法,用以將重要資訊有效的儲存在可靠度高的記憶區塊中。
本發明提供一種快閃記憶體的存取裝置,用以將重要資訊有效的儲存在可靠度高的記憶區塊中。
本發明提出一種快閃記憶體的存取方法,包括:首先,接收快閃記憶體多個記憶區塊的雜訊邊界資訊。依據雜訊邊界資訊以針對記憶區塊進行排序,並依據排序後的記憶區塊的位址來獲得存取順序表。當要針對快閃記憶體存取重要資訊時,依據存取順序表來依序對快閃記憶體進行存取。
在本發明之一實施例中,上述之“依據雜訊邊界資訊以針對記憶區塊進行排序,並依據排序後的記憶區塊的位址以獲得存取順序表”的步驟包括:依序記錄排序後的記憶區塊的位址以獲得存取順序表。
在本發明之一實施例中,上述之“依據雜訊邊界資訊以針對記憶區塊進行排序,並依據排序後的記憶區塊的位址以獲得存取順序表”的步驟包括:計算排序後的記憶區塊中相鄰位置的兩個記憶區塊的位址的差以獲得位址偏移資訊,記錄排序後的些記憶區塊的第一個記憶區塊的位址以及位址偏移資訊以獲得存取順序表。
在本發明之一實施例中,上述之“依據存取順序表來依序對快閃記憶體進行存取”的步驟包括:首先,設定排序後的些記憶區塊的第一個記憶區塊的位址作為基礎位址。並先針對該快閃記憶體的該基礎位址進行存取,再依據位址偏移資訊與該基礎位址來獲得更新基礎位址,並針對更新基礎位址對快閃記憶體進行存取。
在本發明之一實施例中,快閃記憶體的存取方法更包括當針對快閃記憶體的基礎位址及更新基礎位址進行重要資訊的寫入動作時,同時將位址偏移資訊中對應的基礎位址或更新基礎位址的部份寫入對應的基礎位址或更新基礎位址中的剩餘部份。
本發明另提出一種快閃記憶體的存取裝置,包括控制器以及輔助記憶體。控制器耦接快閃記憶體,用以接收快閃記憶體多個記憶區塊的雜訊邊界資訊,依據雜訊邊界資訊以針對記憶區塊進行排序,並依據排序後的記憶區塊的位址以獲得存取順序表。控制器更依據存取順序表來依序對該快閃記憶體進行重要資訊的存取。輔助記憶體耦接該控制器,用以儲存上述的存取順序表。
基於上述,本發明利用快閃記憶體中的多數個記憶區塊的雜訊邊界資訊來獲得存取順序表。並藉由這個存取順序表,來用在當針對快閃記憶體存取重要資訊(例如是開機資訊)時,可以依據這個存取順序表來進行存取,並藉以提升這個儲存在快閃記憶體中的重要資訊的可靠度。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
請參照圖1,圖1繪示本發明的一實施例的快閃記憶體的存取方法的流程圖。其中,快閃記憶體的存取方法的步驟包括:首先,接收快閃記憶體多個記憶區塊的雜訊邊界(noise margin)資訊(S110)。接著,則依據上述的雜訊邊界資訊以針對記憶區塊進行排序,並依據排序後的記憶區塊的位址以獲得存取順序表(S120)。在此請注意,在MLC快閃記憶體中的多個記憶區塊都附帶有相關於其雜訊邊界的資訊。而具有好的雜訊邊界的記憶區塊,則表示其所儲存的資料會具有較高的可靠度。因此,在獲得所有的記憶區塊的雜訊邊界資訊後,並依據雜訊邊界資訊來針對記憶區塊進行排序所獲得的存取順序表,就是代表當要針對快閃記憶體進行存取時,所具有最佳可靠度的存取順序的依據。
接著,則判斷目前是否要針對快閃記憶體進行重要資訊的存取(S130)。一旦發生要對快閃記憶體進行存取的資料是重要資訊時,就可以依據上述的具有最佳可靠度的存取順序的依據來依序進行重要資訊的存取(S140)。若要對快閃記憶體進行存取的資料並非重要資訊時,則可以以一般的方式來存取記憶體即可。
在此請注意,上述說明中相關於資料是否為重要資訊是可以由使用者來設定的。一旦該資料被設定為重要資訊且要對快閃記憶體進行存取時(將重要資訊寫入快閃記憶體或由快閃記憶體讀出該重要資訊),執行快閃記憶體的存取動作的相關硬體(如快閃記憶體控制器)可以透過使用者的設定來獲知目前所要存取的資料為重要資訊,並依據存取順序表中所記錄的記憶區塊的位址來依序定址並存取重要資訊。附帶一提的,上述的重要資訊例如開機資訊。
另外,不同的快閃記憶體中,其記憶區塊的雜訊邊界資訊可能是不相同的。所以,當在更換具有不相同的雜訊邊界資訊的快閃記憶體以進行存取的同時,存取順序表則必須要依據不相同的雜訊邊界資訊來進行更新。
以下請參照圖2,圖2繪示圖1實施例的存取動作示意圖。其中,依據圖1實施例的步驟S120所建立的存取順序表210中依照可靠度的高低進行排序記錄了多個記憶區塊的位址。當重要資訊BOTDATA要被寫入時,其中的第一筆資料會依據存取順序表210中的第一的位址A1被寫入快閃記憶體220中位址A1的記憶區塊221。接著,重要資訊BOTDATA其中的第二及三筆資料會依據存取順序表210中的第二及第三的位址A2及A3依序被寫入快閃記憶體220中位址A2及A3的記憶區塊222及223。若重要資訊BOTDATA上有部分未被寫入快閃記憶體220,則依此類推依據存取順序表210中所記錄的記憶區塊的位址進行寫入直到所有的重要資訊BOTDATA都被寫入快閃記憶體220為止。
相對的,當要對快閃記憶體220讀出重要資訊BOTDATA,則依據相同的存取順序表210來對不同的記憶區塊進行讀取,就可以獲得重組並重整出完整的重要資訊BOTDATA。
請注意,上述的存取順序表210僅只是本發明圖1的實施例的一種實施方式,並不用以限制本發明。為更清楚解釋本發明的特徵,以下特別提出依據本發明實施例來建立存取順序表的不同實施方式。
請參照圖3A,圖3A繪示本發明實施例中,獲得存取順序表的另一實施方式示意圖。首先,判斷快閃記憶體是否要針對重要資訊進行存取(S310)。接著,在當快閃記憶體是要針對重要資訊進行存取時,獲得基礎位址Y以及位址偏移值X(S320)。在此,上述的基礎位址Y以及位址偏移植X是利用排序後的記憶區塊的位址來獲得的。其中,基礎位址Y可以等於是排序後的記憶區塊中的第一個區塊的位址。也就是快閃記憶體中,可靠度最佳的記憶區塊的位址。而位址偏移值X的部份,則是利用排序後的記憶區塊的位址中,相鄰的兩的記憶區塊的位址的差來獲得。
在獲得基礎位址Y以及位址偏移值X後,則先對快閃記憶體中的基礎位址Y的記憶區塊進行存取(S330)。並判斷重要資訊的存取結束與否(S340),若存取動作尚未結束,則使基礎位址Y加上位址偏移值X並獲得更新基礎位址(Y=Y+X)(S350),再回到步驟S330對更新基礎位址Y的記憶區塊進行存取,直到所有的重要資訊都被存取完畢。
以下更請參照圖3B,圖3B繪示圖3A實施方式的存取動作示意圖。重要資料BOTDATA第一次依據基礎位址Y來定址快閃記憶體370並針對記憶區塊371進行存取,接著則分別針對基礎位址Y加上位址偏移值X,以及針對基礎位址Y加上兩倍的位址偏移值2X的記憶區塊372及373進行存取,直到所有的重要資料BOTDATA都被存取完畢。
如此一來可以輕易發現,在圖3A繪示的實施方式中,存取順序表僅需要記錄基礎位址Y以及位址偏移值X,其所需要的記憶空間將會遠小於記錄所有的記憶區塊的位址,較具成本的優勢。並且,快閃記憶體中所計算出來的位址偏移值X經常是相同的。這樣一來,更可以有效的節省存取順序表的記憶空間,更能節省成本。
以下請參照圖4A,圖4A繪示本發明實施例中,獲得存取順序表的再一實施方式示意圖。在圖4A繪示的實施方式中,位址偏移值X將會在重要資訊被寫入對應的區塊中時,同步被寫入該記憶區塊的剩餘部份。也就是說,當重要資訊的部分被寫入記憶區塊A時,記憶區塊A的剩餘空間(未被寫入資料的部份)會被寫入對應的,位址偏移值X(也就是記憶區塊A的位址下一個要被寫入的記憶區塊的位址的差)。
在進行重要資料的讀取時,請繼續參照圖4A。首先,還是針對快閃記憶體是否要針對重要資訊進行存取進行判斷(S410),若判斷的結果為「是」,則先針對基礎位址Y進行定址(S420),並讀取快閃記憶體中的基礎位址Y的記憶區塊,以獲得部份的重要資訊以及基礎位址Y的記憶區塊的剩餘部分所儲存的位址偏移值X(S430)。接著把所讀出的資料儲存到例如是隨機存取記憶體(Random-Access Memory,RAM)中(S440)。並判斷重要資訊的存取結束與否(S450),若存取動作尚未結束,則使基礎位址Y加上位址偏移值X並獲得更新基礎位址(Y=Y+X)(S460),再回到步驟S420對更新基礎位址Y的記憶區塊進行讀取,直到所有的重要資訊都被存取完畢。
以下更請參照圖4B,圖4B繪示圖4A實施方式的存取動作示意圖。當針對快閃記憶體480進行重要資訊BOTDATA的讀取時,先針對基礎位址Y對應的記憶區塊481進行讀取,並獲得重要資訊BOTDATA的部分資料DATA1以及位址偏移值X1。接著再針對位址Y+X1進行定址,並讀取記憶區塊482並獲得重要資訊BOTDATA的部分資料DATA2以及另一位址偏移值X2。再針對位址Y+X1+X2進行定址,並讀取記憶區塊483並獲得重要資訊BOTDATA的部分資料DATA3以及另一位址偏移值X3。如此持續的進行下去,值到重要資訊BOTDATA的讀取動作全部完成。
接著則請參照圖5,圖5繪示本發明的一實施例的快閃記憶體的存取裝置500的示意圖。存取裝置500用以存取快閃記憶體580,包括控制器510以及輔助記憶體520。控制器510耦接快閃記憶體580,用以接收快閃記憶體580多個記憶區塊的雜訊邊界資訊,並依據雜訊邊界資訊以針對記憶區塊進行排序,再依據排序後的記憶區塊的位址以獲得存取順序表。控制器510更依據存取順序表來依序對快閃記憶體進行重要資訊的存取。助記憶體520則耦接控制器510,用以儲存由控制器510所建立的存取順序表。
關於控制器510建立存取順序表的方式及對應的快閃記憶體580的存取方法在前述的實施例及不同的實施方式中都已有詳細的說明,在此恕不贅述。
綜上所述,本發明利用排序快閃記憶體的記憶區塊的的雜訊邊界資訊來獲得存取順序表,並利用存取順序表來順序存取重要資訊。使儲存在快閃記憶體的重要資訊的可靠度可以有效增加,確保應用快閃記憶體的主機或系統可以正確的工作。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S110~S140、S310~S350、S410~S460...存取方法的步驟
210...存取順序表
220、370、480、580...快閃記憶體
221~223、371~373、481~483...記憶區塊
500...快閃記憶體的存取裝置
510...控制器
520...輔助記憶體
A1~A3、Y、X...位址
DATA1~DATA3...資料
BOTDATA...重要資訊
圖1繪示本發明的一實施例的快閃記憶體的存取方法的流程圖。
圖2繪示圖1實施例的存取動作示意圖。
圖3A繪示本發明實施例中,獲得存取順序表的另一實施方式示意圖。
圖3B繪示圖3A實施方式的存取動作示意圖。
圖4A繪示本發明實施例中,獲得存取順序表的再一實施方式示意圖。
圖4B繪示圖4A實施方式的存取動作示意圖。
圖5繪示本發明的一實施例的快閃記憶體的存取裝置500的示意圖。
S110~S140...存取方法的步驟

Claims (10)

  1. 一種快閃記憶體的存取方法,包括:接收該快閃記憶體多數個記憶區塊的一雜訊邊界資訊,其中該快閃記憶體為一多層記憶胞快閃記憶體;依據該雜訊邊界資訊以針對該些記憶區塊進行排序,並依據排序後的該些記憶區塊的位址以獲得一存取順序表;以及當要針對該快閃記憶體存取一重要資訊時,依據該存取順序表來依序對該快閃記憶體進行存取。
  2. 如申請專利範圍第1項所述之快閃記憶體的存取方法,其中該“依據該雜訊邊界資訊以針對該些記憶區塊進行排序,並依據排序後的該些記憶區塊的位址以獲得該存取順序表”的步驟包括:依序記錄排序後的該些記憶區塊的位址以獲得該存取順序表。
  3. 如申請專利範圍第1項所述之快閃記憶體的存取方法,其中該“依據該雜訊邊界資訊以針對該些記憶區塊進行排序,並依據排序後的該些記憶區塊的位址以獲得該存取順序表”的步驟包括:計算排序後的該些記憶區塊中相鄰位置的兩個記憶區塊的位址的的差以獲得一位址偏移資訊,記錄排序後的該些記憶區塊的第一個記憶區塊的位址以及該位址偏移資訊以獲得該存取順序表。
  4. 如申請專利範圍第3項所述之快閃記憶體的存取 方法,其中“依據該存取順序表來依序對該快閃記憶體進行存取”的步驟包括:設定排序後的該些記憶區塊的第一個記憶區塊的位址作為一基礎位址;先針對該快閃記憶體的該基礎位址進行存取;以及再依據該位址偏移資訊與該基礎位址來獲得一更新基礎位址,並針對該更新基礎位址對該快閃記憶體進行存取。
  5. 如申請專利範圍第4項所述之快閃記憶體的存取方法,其中更包括:當針對該快閃記憶體的該基礎位址及該更新基礎位址進行該重要資訊的寫入動作時,同時將該位址偏移資訊中對應的該基礎位址或該更新基礎位址的部份寫入對應的該基礎位址或該更新基礎位址中的一剩餘部份。
  6. 一種快閃記憶體的存取裝置,包括:一控制器,耦接該快閃記憶體,用以接收該快閃記憶體多數個記憶區塊的一雜訊邊界資訊,並依據該雜訊邊界資訊以針對該些記憶區塊進行排序,並依據排序後的該些記憶區塊的位址以獲得一存取順序表,該控制器更依據該存取順序表來依序對該快閃記憶體進行一重要資訊的存取,其中該快閃記憶體為一多層記憶胞快閃記憶體;以及一輔助記憶體,耦接該控制器,用以儲存該存取順序表。
  7. 如申請專利範圍第6項所述之快閃記憶體的存取 裝置,其中該控制器依序記錄排序後的該些記憶區塊的位址以獲得該存取順序表。
  8. 如申請專利範圍第6項所述之快閃記憶體的存取裝置,其中該控制器計算排序後的該些記憶區塊中相鄰位置的兩個記憶區塊的位址的差以獲得一位址偏移資訊,記錄排序後的該些記憶區塊的第一個記憶區塊的位址以及該位址偏移資訊以獲得該存取順序表。
  9. 如申請專利範圍第8項所述之快閃記憶體的存取裝置,其中該控制器設定排序後的該些記憶區塊的第一個記憶區塊的位址作為一基礎位址,並先針對該快閃記憶體的該基礎位址進行存取,再依據該位址偏移資訊與該基礎位址來獲得一更新基礎位址,以針對該更新基礎位址對該快閃記憶體進行存取。
  10. 如申請專利範圍第9項所述之快閃記憶體的存取裝置,其中該控制器在針對該快閃記憶體的該基礎位址及該更新基礎位址進行該重要資訊的寫入動作時,更同時將該位址偏移資訊中對應的該基礎位址或該更新基礎位址的部份寫入對應的該基礎位址或該更新基礎位址中的一剩餘部份。
TW99127787A 2010-08-19 2010-08-19 快閃記憶體的存取裝置及方法 TWI446348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW99127787A TWI446348B (zh) 2010-08-19 2010-08-19 快閃記憶體的存取裝置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW99127787A TWI446348B (zh) 2010-08-19 2010-08-19 快閃記憶體的存取裝置及方法

Publications (2)

Publication Number Publication Date
TW201209828A TW201209828A (en) 2012-03-01
TWI446348B true TWI446348B (zh) 2014-07-21

Family

ID=46763780

Family Applications (1)

Application Number Title Priority Date Filing Date
TW99127787A TWI446348B (zh) 2010-08-19 2010-08-19 快閃記憶體的存取裝置及方法

Country Status (1)

Country Link
TW (1) TWI446348B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI704648B (zh) * 2019-11-20 2020-09-11 華邦電子股份有限公司 記憶體裝置的製造方法

Also Published As

Publication number Publication date
TW201209828A (en) 2012-03-01

Similar Documents

Publication Publication Date Title
US7523381B2 (en) Non-volatile memory with error detection
US8347180B2 (en) Data storage system and method
TWI447733B (zh) 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器
US8621139B2 (en) Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same
KR101343237B1 (ko) 메모리 블록 선택
US8713381B2 (en) Systems and methods of using dynamic data for wear leveling in solid-state devices
US8266481B2 (en) System and method of wear-leveling in flash storage
US7992061B2 (en) Method for testing reliability of solid-state storage medium
US8555143B2 (en) Flash memory controller and the method thereof
TWI436211B (zh) 區塊管理方法、記憶體控制器與記憶體儲存裝置
US8392797B2 (en) Error correcting controller, flash memory chip system, and error correcting method thereof
US20090327804A1 (en) Wear leveling in flash storage devices
TW201108232A (en) Method and system of finding a read voltage for a flash memory
US8392691B2 (en) Data management method, memory controller and memory storage apparatus
US8489942B1 (en) Memory management method, and memory controller and memory storage device using the same
TWI545582B (zh) 存取快閃記憶體中儲存單元的方法以及使用該方法的裝置
US9465537B2 (en) Memory system and method of controlling memory system
US20150103593A1 (en) Method of Writing Data in Non-Volatile Memory and Non-Volatile Storage Device Using the Same
US20090024787A1 (en) Data writing method and apparatus
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
US8296506B2 (en) Method for managing a non-violate memory and computer readable medium thereof
CN112068772B (zh) 数据存储方法、数据存储装置及存储装置
US20090164869A1 (en) Memory architecture and configuration method thereof
US10289334B2 (en) Valid data merging method, memory controller and memory storage apparatus
TWI446348B (zh) 快閃記憶體的存取裝置及方法