TWI476589B - 記憶體編程方法及應用其之快閃記憶體裝置 - Google Patents
記憶體編程方法及應用其之快閃記憶體裝置 Download PDFInfo
- Publication number
- TWI476589B TWI476589B TW100130566A TW100130566A TWI476589B TW I476589 B TWI476589 B TW I476589B TW 100130566 A TW100130566 A TW 100130566A TW 100130566 A TW100130566 A TW 100130566A TW I476589 B TWI476589 B TW I476589B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- programming
- memory space
- space
- page
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明是有關於一種記憶體編程方法及應用其之快閃記憶體裝置,且特別是有關於一種針對資料編程錯誤進行錯誤回覆之記憶體編程方法及應用其之快閃記憶體裝置。
在科技發展日新月異的現今時代,非揮發性記憶體裝置係被廣泛地應用在多種電子產品中;舉例來說,快閃記憶體為最為廣泛使用之非揮發性記憶體之一。一般來說,快閃記憶體中之記憶胞係具有可編程的臨界電壓,此可編程的臨界電壓係用以指示此記憶胞中儲存的資料數值。
在快閃記憶體的資料編程操作中,偶發地會發生編程失敗的情形。據此,需執行諸如錯誤更正碼(Error Correction Code,ECC),以進行相關的回覆操作。然而在一些嚴重的編程錯誤中,即便執行ECC仍無法對編程失敗的資料進行回覆,而將導致資料損失。據此,如何針對快閃記憶體提出更完善的編程方法,以在編程失敗發生時有效地對編程失敗的資料進行回覆,為業界不斷致力方向之一。
本發明有關於一種記憶體編程方法及應用其之快閃記憶體裝置,其係應用於具有第一及第二記憶體層面
(Memory Plane)之快閃記憶體中。本發明相關之記憶體編程方法及應用其之快閃記憶體裝置更在此快閃記憶體操作於隨取操作(Random Access)模式時,則建立第一邏輯至實體(Logic-to-Physical,L2P)對照表來將接收之編程邏輯位址對應至第一記憶體層面中之主記憶空間、建立第二L2P對照表來將編程邏輯位址對應至第二記憶體層面中之備份記憶空間並據以同時將編程資料寫入此主記憶空間及此備份記憶空間中。當主記憶空間發生編程失敗時,本發明相關之記憶體編程方法及應用其之快閃記憶體裝置可將對應至主記憶空間之位址指向備份記憶空間,藉此對快閃記憶體進行錯誤修補。據此,相較於傳統快閃記憶體,本發明相關之記憶體編程方法及應用其之快閃記憶體裝置據此可有效地對編程失敗之資料進行回覆之優點。
根據本發明之第一方面,提出一種記憶體編程方法,應用於快閃記憶體,其中快閃記憶體包括第一及第二記憶體層面(Plane),記憶體編程方法包括下列步驟。首先接收包括編程邏輯位址之編程指令。接著建立第一邏輯至實體(Logic-to-Physical,L2P)對照表將編程邏輯位址對應至第一記憶體層面中之主記憶空間。然後判斷快閃記憶體是否操作於隨取操作(Random Access)模式;若是,建立第二L2P對照表將編程邏輯位址對應至第二記憶體層面中之備份記憶空間。接著對第一及第二記憶體層面同時進行編程以將編程資料寫入主記憶空間及第二記憶體層面之備份記憶空間。
根據本發明之第二方面,提出一種快閃記憶體裝置,
回應於編程指令進行資料編程操作,編程指令包括編程邏輯位址。快閃記憶體裝置包括快閃記憶體、暫存器及記憶體控制器。快閃記憶體包括第一及第二記憶體層面。暫存器暫存對應至編程指令之編程資料。記憶體控制器回應於編程指令建立第一L2P對照表,以將編程邏輯位址對應至第一記憶體層面之主記憶空間;記憶體控制器更判斷該快閃記憶體是否操作於隨取操作模式;若是,則建立第二L2P對照表,將編程邏輯位址對應至第二記憶體層面之備份記憶空間。記憶體控制器更對第一及第二記憶體層面同時進行編程,以將編程資料寫入主記憶空間及備份記憶空間。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
請參照第1圖,其繪示依照本發明實施例之快閃記憶體裝置的方塊圖。本實施例之快閃記憶體裝置1回應於主機2提供之編程指令CMD進行資料編程操作,編程指令CMD包括編程邏輯位址Addr_P。快閃記憶體裝置1包括快閃記憶體10、暫存器20及記憶體控制器30。暫存器20暫存對應至編程指令CMD之編程資料Data。
快閃記憶體10包括記憶體層面(Plane)10_P1及10_P2。舉例來說,記憶體層面10_P1包括多個記憶區塊(Block),而各記憶區塊包括記憶分頁(Page);記憶體層面10_P2包括備份記憶區塊。進一步來說,記憶區塊係為反及閘(NAND)快閃記憶體之清除操作(Erase)的操作單位,
而記憶分頁係為NAND快閃記憶體之編程操作(Program)及讀取操作(Read)的操作單元。
記憶體控制器30回應於編程指令CMD建立邏輯至實體(Logic-to-Physical,L2P)對照表L2P_1,以將編程邏輯位址Addr_P對應至記憶體層面10_P1中之主記憶空間。舉例來說,L2P對照表L2P_1係對應至區塊操作模式(Block Mode),其用以將編程邏輯位址Addr_P對應至特定的記憶區塊中之主記憶分頁Page_M。
舉例來說,對應至區塊操作模式之L2P對照表L2P_1係以區塊為單位,來將邏輯層面之分頁位址對應至實體記憶體分頁,如第2圖所示。進一步來說,對於邏輯層面同屬一個邏輯記憶體區塊B(L)之多個邏輯記憶體分頁P(L_N)、P(L_N+1)、...、P(L_N+M)來說,其於實體層面中亦對應至一個相同的實體記憶體區塊B(P)中之多個實體記憶體分頁P(P_N)、P(P_N+1)、...、P(P_N+M),其中N及M為自然數。
記憶體控制器30更判斷快閃記憶體10是否操作於隨取操作(Random Access)模式。舉例來說,記憶體控制器30係參考編程指令CMD及記憶體層面10_P1及10_P2的容量,來判斷快閃記憶體10是否操作於隨取操作模式中。
當快閃記憶體10操作於隨取操作模式時,記憶體控制器30建立L2P對照表L2P_2,以將編程邏輯位址CMD對應至記憶體層面10_P2中之備份記憶空間。舉例來說,L2P對照表L2P_2係對應至分頁操作模式(Page Mode),其用以將編程邏輯位址Addr_P對應至記憶體層面10_P2中
一個暫存區塊Block_T中之暫存記憶分頁Page_T。在建立L2P對照表L2P_1及LTP_2之後,記憶體控制器30更對記憶體層面10_P1及10_P2同時進行編程,以將編程資料Data寫入記憶體層面10_P1之主記憶分頁Page_M及寫入記憶體層面10_p2之備份記憶分頁Page_T。
舉例來說,對應至分頁操作模式之L2P對照表L2P_2係以分頁為單位,來將邏輯層面之分頁位址對應至實體記憶體分頁,如第3圖所示。進一步來說,對於邏輯層面同屬一個邏輯記憶體區塊B_L之多個邏輯記憶體分頁P(L_N)、P(L_N+1)、...、P(L_N+M)來說,其於實體層面中可能對應至不同的記憶體區塊B(P_X)、B(P_Y)及B(P_Z)中之部份分頁P(L_N+1)、P(L_N+2)、...、P(L_N+M),其中N及M為自然數。
在對主記憶分頁Page_M及備份記憶分頁Page_T之編程操作後,記憶體控制器30更判斷主記憶分頁Page_M是否編程成功。舉例來說,記憶體控制器30參考狀態旗標Status,以判斷主記憶空間Page_M及備份記憶空間Page_T之編程操作是否失敗。當狀態旗標Status指示主記憶空間Page_M及備份記憶空間Page_T其中之部分或全部之編程操作為失敗時,記憶體控制器30進一步判斷主記憶空間Page_M之操作是否失敗。
當主記憶分頁Page_M編程失敗時,記憶體控制器30將對應至主記憶分頁Page_T之位址指向備份記憶分頁Page_T。換言之,記憶體控制器30係在主記憶分頁Page_M的編程操作失敗時,將存取主記憶分頁Page_M之指令對
應至存取備份記憶分頁Page_T之指令,藉此提供備份記憶分頁Page_T中儲存之編程資料Data來對快閃記憶體10進行錯誤修補。
相似於前述之操作,記憶體控制器30可根據L2P對照表L2P_1及L2p_2,來對記憶體層面10_P1及10_P2同時進行編程,以將對應至記憶體層面10_P1之其他主記憶分頁之編程資料Data同時寫入此其他主記憶分頁及對應之備份記憶分頁中,並於此其他主記憶分頁發生編程失敗時,以對應之備份記憶分頁中儲存之資料來對其進行錯誤修補。
在其他操作實例中,當快閃記憶體10非操作於隨取操作模式,而例如操作於序列操作(Sequential Access)模式時,記憶體控制器30將編程資料Data寫入記憶體層面10_P1之主記憶空間Page_M,而不執行針對備份記憶分頁進行編程之操作。
請參照第4圖,其繪示依照本發明實施例之記憶體編程方法的流程圖。首先如步驟(a),記憶體控制器30接收編程指令CMD,其中包括編程邏輯位址Addr_P。接著如步驟(b),記憶體控制器30建立L2P對照表L2P_1,以將編程邏輯位址CMD對應至記憶體層面10_P1中之主記憶分頁Page_M。
然後如步驟(c),記憶體控制器30判斷快閃記憶體10是否操作於隨取操作模式;若是執行步驟(d),記憶體控制器30建立L2P對照表L2P_2,以將編程邏輯位址Addr_P對應至記憶體層面10_P2中之備份記憶分頁Page_T。
接著如步驟(e),記憶體控制器30對記憶體層面10_P1及10_P2同時進行編程,以將編程資料Data寫入記憶體層面10_P1之主記憶分頁Page_M及寫入記憶體層面10_P2之備份記憶分頁Page_T。
然後如步驟(f),記憶體控制器30判斷主記憶分頁Page_M是否編程成功。舉例來說,步驟(f)包括子步驟(f1)及(f2),如第5圖所示。於步驟(f1)中,記憶體控制器30參考狀態旗標Status,判斷主記憶分頁Page_M及備份記憶分頁Page_T之編程操作是否失敗;若是執行步驟(f2),記憶體控制器30進一步地判斷主記憶分頁Page_M之操作是否失敗。
當主記憶分頁Page_M編程失敗時執行步驟(g),記憶體控制器30將對應至主記憶分頁Page_M之位址指向備份記憶分頁Page_T,藉此對快閃記憶體10進行錯誤修補。
在步驟(c)之後,當快閃記憶體10非操作於隨取操作模式時,執行步驟(h),記憶體控制器30將編程資料Data寫入記憶體層面10_P1之主記憶分頁Page_M中,而不執行對備份記憶分頁Page_T編程之操作。
本發明實施例之記憶體編程方法及應用其之快閃記憶體裝置係應用於具有第一及第二記憶體層面之快閃記憶體中。本發明實施例之記憶體編程方法及應用其之快閃記憶體裝置更在此快閃記憶體操作於隨取操作模式時,則建立第一L2P對照表來將接收之編程邏輯位址對應至第一記憶體層面中之主記憶空間、建立第二L2P對照表來將編程邏輯位址對應至第二記憶體層面中之備份記憶空間並
據以同時將編程資料寫入此主記憶空間及此備份記憶空間中。當主記憶空間發生編程失敗時,本發明實施例之記憶體編程方法及應用其之快閃記憶體裝置可將對應至主記憶空間之位址指向備份記憶空間,藉此對快閃記憶體進行錯誤修補。據此,相較於傳統快閃記憶體,本發明實施例之記憶體編程方法及應用其之快閃記憶體裝置據此可有效地對編程失敗之資料進行回覆之優點。。
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1‧‧‧快閃記憶體裝置
2‧‧‧主機
10‧‧‧快閃記憶體
20‧‧‧暫存器
30‧‧‧記憶體控制器
10_P1、10_P2‧‧‧記憶體層面
Page_M‧‧‧主記憶分頁
Page_T‧‧‧備份記憶分頁
B(L)‧‧‧邏輯記憶體區塊
P(L_N)-P(L_N+M)‧‧‧邏輯記憶體分頁
B(P)、B(P_X)-B(P_Z)‧‧‧實體記憶體區塊
P(P_N)-P(P_N+M)‧‧‧實體記憶體分頁
(a)‧‧‧接收編程指令CMD
(b)‧‧‧建立L2P對照表L2P_1將編程邏輯位址CMD對應至主記憶分頁Page_M
(c)‧‧‧快閃記憶體10是否操作於隨取操作模式
(d)‧‧‧建立L2P對照表L2P_2將編程邏輯位址Addr_P對應至備份記憶分頁Page_T
(e)‧‧‧對記憶體層面10_P1及10_P2同時進行編程以將編程資料Data寫入主記憶分頁Page_M及備份記憶分頁Page_T
(f)‧‧‧判斷主記憶分頁Page_M是否編程成功
(g)‧‧‧將對應至主記憶分頁Page_M之位址指向備份記憶分頁Page_T,以進行錯誤修補
(h)‧‧‧將編程資料Data寫入記憶體層面10_P1之主記憶分頁Page_M中
(f1)‧‧‧參考狀態旗標Status判斷主記憶分頁Page_M及備份記憶分頁Page_T之編程操作是否失敗
(f2)‧‧‧判斷主記憶分頁Page_M之操作是否失敗
第1圖繪示依照本發明實施例之快閃記憶體裝置的方塊圖。
第2圖繪示依照邏輯至實體對照表L2P_1的操作示意圖。
第3圖繪示依照邏輯至實體對照表L2P_2的操作示意圖。
第4圖繪示依照本發明實施例之記憶體編程方法的流程圖。
第5圖繪示依照本發明實施例之記憶體編程方法的部份流程圖。
(a)‧‧‧接收編程指令CMD
(b)‧‧‧建立L2P對照表L2P_1將編程邏輯位址CMD對應至主記憶分頁Page_M
(c)‧‧‧快閃記憶體10是否操作於隨取操作模式
(d)‧‧‧建立L2P對照表L2P_2將編程邏輯位址Addr_P對應至備份記憶分頁Page_T
(e)‧‧‧對記憶體層面10_P1及10_P2同時進行編程以將編程資料Data寫入主記憶分頁Page_M及備份記憶分頁Page_T
(f)‧‧‧判斷主記憶分頁Page_M是否編程成功
(g)‧‧‧將對應至主記憶分頁Page_M之位址指向備份記憶分頁Page_T,以進行錯誤修補
(h)‧‧‧將編程資料Data寫入記憶體層面10_P1之主記憶分頁Page_M中
Claims (10)
- 一種記憶體編程方法,應用於一快閃記憶體,其中該快閃記憶體包括一第一記憶體層面(Plane)及一第二記憶體層面,該記憶體編程方法包括:接收一編程指令,包括一編程邏輯位址;建立一第一邏輯至實體(Logic-to-Physical,L2P)對照表,以將該編程邏輯位址對應至該第一記憶體層面中之一主記憶空間;判斷該快閃記憶體是否操作於一隨取操作(Random Access)模式;當該快閃記憶體操作於該隨取操作模式時,建立一第二L2P對照表,以將該編程邏輯位址對應至該第二記憶體層面中之一備份記憶空間;以及對該第一及該第二記憶體層面同時進行編程,以將一編程資料寫入該第一記憶體層面之該主記憶空間及寫入該第二記憶體層面之該備份記憶空間。
- 如申請專利範圍第1項所述之記憶體編程方法,更包括:當判斷該快閃記憶體並非操作於該隨取操作模式時,將該編程資料寫入該第一記憶體層面之該主記憶空間。
- 如申請專利範圍第1項所述之記憶體編程方法,其中更包括: 判斷該主記憶空間是否編程成功。
- 如申請專利範圍第3項所述之記憶體編程方法,其中判斷該主記憶空間是否編程成功之步驟包括:參考一狀態旗標,判斷該主記憶空間及該備份記憶空間之編程操作是否失敗;以及當該狀態旗標指示該主記憶空間及該備份記憶空間之編程操作為失敗時,判斷該主記憶空間之操作是否失敗。
- 如申請專利範圍第4項所述之記憶體編程方法,其中更包括:當判斷該主記憶空間編程失敗時,將對應至該主記憶空間之位址指向該備份記憶空間。
- 一種快閃記憶體裝置,回應於一編程指令進行資料編程操作,該編程指令包括一編程邏輯位址,該快閃記憶體裝置包括:一快閃記憶體,包括一第一記憶體層面(Plane)及一第二記憶體層面;一暫存器,用以暫存對應至該編程指令之一編程資料;以及一記憶體控制器,回應於該編程指令建立一第一邏輯至實體(Logic-to-Physical,L2P)對照表,以將該編程邏輯位址對應至該第一記憶體層面中之一主記憶空間,該記憶 體控制器更判斷該快閃記憶體是否操作於一隨取操作(Random Access)模式;其中,當該快閃記憶體操作於該隨取操作模式時,該記憶體控制器建立一第二L2P對照表,以將該編程邏輯位址對應至該第二記憶體層面中之一備份記憶空間,該記憶體控制器更對該第一及該第二記憶體層面同時進行編程,以將該編程資料寫入該第一記憶體層面之該主記憶空間及寫入該第二記憶體層面之該備份記憶空間。
- 如申請專利範圍第6項所述之快閃記憶體裝置,其中當判斷該快閃記憶體並非操作於該隨取操作模式時,該記憶體控制器將該編程資料寫入該第一記憶體層面之該主記憶空間。
- 如申請專利範圍第6項所述之快閃記憶體裝置,其中,該記憶體控制器更判斷該主記憶空間是否編程成功。
- 如申請專利範圍第8項所述之快閃記憶體裝置,其中該記憶體控制器參考一狀態旗標,以判斷該主記憶空間及該備份記憶空間之編程操作是否失敗;以及當該狀態旗標指示該主記憶空間及該備份記憶空間之編程操作為失敗時,該記憶體控制器進一步判斷該主記憶空間之操作是否失敗。
- 如申請專利範圍第9項所述之快閃記憶體裝置,其中當判斷該主記憶空間編程失敗時,該記憶體控制器將對應至該主記憶空間之位址指向該備份記憶空間。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100130566A TWI476589B (zh) | 2011-08-25 | 2011-08-25 | 記憶體編程方法及應用其之快閃記憶體裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100130566A TWI476589B (zh) | 2011-08-25 | 2011-08-25 | 記憶體編程方法及應用其之快閃記憶體裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201310236A TW201310236A (zh) | 2013-03-01 |
TWI476589B true TWI476589B (zh) | 2015-03-11 |
Family
ID=48481979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100130566A TWI476589B (zh) | 2011-08-25 | 2011-08-25 | 記憶體編程方法及應用其之快閃記憶體裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI476589B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6084734A (en) * | 1997-12-08 | 2000-07-04 | Maxtor Corporation | Data recovery using targeted ECC correction |
US6970890B1 (en) * | 2000-12-20 | 2005-11-29 | Bitmicro Networks, Inc. | Method and apparatus for data recovery |
TW200847182A (en) * | 2007-02-22 | 2008-12-01 | Mosaid Technologies Inc | Apparatus and method of page program operation for memory devices with mirror back-up of data |
TW200919171A (en) * | 2007-06-28 | 2009-05-01 | Ibm | System and method for error correction and detection in a memory system |
-
2011
- 2011-08-25 TW TW100130566A patent/TWI476589B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6084734A (en) * | 1997-12-08 | 2000-07-04 | Maxtor Corporation | Data recovery using targeted ECC correction |
US6970890B1 (en) * | 2000-12-20 | 2005-11-29 | Bitmicro Networks, Inc. | Method and apparatus for data recovery |
TW200847182A (en) * | 2007-02-22 | 2008-12-01 | Mosaid Technologies Inc | Apparatus and method of page program operation for memory devices with mirror back-up of data |
TW200919171A (en) * | 2007-06-28 | 2009-05-01 | Ibm | System and method for error correction and detection in a memory system |
Also Published As
Publication number | Publication date |
---|---|
TW201310236A (zh) | 2013-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713381B2 (en) | Systems and methods of using dynamic data for wear leveling in solid-state devices | |
TWI546666B (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
TWI527037B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8266481B2 (en) | System and method of wear-leveling in flash storage | |
TWI522804B (zh) | 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
US9141476B2 (en) | Method of storing system data, and memory controller and memory storage apparatus using the same | |
US20060013048A1 (en) | Memory systems including defective block management and related methods | |
TW201916018A (zh) | 資料儲存裝置與將資料寫入記憶體裝置之方法 | |
US9361036B2 (en) | Correction of block errors for a system having non-volatile memory | |
US20130097362A1 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
TWI554886B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
US8694748B2 (en) | Data merging method for non-volatile memory module, and memory controller and memory storage device using the same | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US9378130B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
JP2006302342A (ja) | 不揮発性半導体メモリ装置とメモリシステム | |
JP2004220068A (ja) | メモリカード及びメモリへのデータ書き込み方法 | |
TWI639112B (zh) | 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法 | |
JP2008117299A (ja) | 記憶媒体制御装置 | |
TWI476589B (zh) | 記憶體編程方法及應用其之快閃記憶體裝置 | |
CN112988069B (zh) | 存储器管理方法、存储器存储装置及存储器控制器 | |
JP4710918B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US20110040928A1 (en) | Method for identifying a page of a block of flash memory, and associated memory device | |
CN102956267B (zh) | 存储器编程方法及应用其的闪存装置 |