TWI397078B - 用於快閃記憶體中錯誤掃描之方法、裝置及系統 - Google Patents
用於快閃記憶體中錯誤掃描之方法、裝置及系統 Download PDFInfo
- Publication number
- TWI397078B TWI397078B TW097132305A TW97132305A TWI397078B TW I397078 B TWI397078 B TW I397078B TW 097132305 A TW097132305 A TW 097132305A TW 97132305 A TW97132305 A TW 97132305A TW I397078 B TWI397078 B TW I397078B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory device
- scanning
- information
- block
- errors
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/006—Identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本揭示案之實施例係關於非揮發性記憶體器件,包括管理快閃記憶體器件中之資訊。
諸如快閃記憶體器件之非揮發性記憶體器件用以儲存資料或資訊。快閃記憶體器件常駐於許多電腦及電子器件中,例如,蜂巢式電話、數位相機、數位音訊播放器及數位記錄器。快閃記憶體器件亦可用作攜帶型儲存器件,諸如攜帶型通用串列匯流排(USB)快閃驅動器或"拇指"驅動器。在一些情況下,快閃記憶體器件可替代電腦及其他電子器件或系統中之習知磁性硬碟機。
快閃記憶體器件將資訊儲存於通常形成於半導體晶片中的許多記憶體單元中。快閃記憶體器件通常具有用以將資訊儲存於單元中之程式化或寫入操作,用以自單元讀取資訊之讀取操作,及用以自單元抹除或刪除資訊之抹除操作。
在一些情況下,潛在錯誤可出現在儲存於快閃記憶體器件中之資訊中。若任由潛在錯誤未被偵測到,則資訊可變得不可用。因此,需要用以偵測快閃記憶體器件中之資訊中的潛在錯誤之方法、裝置及系統。
本發明提供一種方法,其包含:當一用於掃描之條件得到滿足時針對儲存於一快閃記憶體器件中之資訊中的錯誤
進行掃描,其中用於掃描之條件係基於對記憶體器件之單元的存取之數目及在將資訊儲存於記憶體器件中之後經過的時間量中之至少一者。
本發明進一步提供一種方法,其包含:讀取在一記憶體器件之複數個區塊之一區塊中之一第一位置中的單元;及當第一位置中的讀取操作之數目超過一選定值時,針對儲存於第二位置中之資訊中的錯誤掃描該區塊中之第二位置,其中該第二位置係隨機選擇的。
本發明進一步提供一種方法,其包含:將資訊寫入至一記憶體器件之一區塊;及基於對該區塊執行的寫入操作之數目而針對儲存於該區塊中之資訊中的錯誤掃描該區塊之至少一部分。
本發明進一步提供一種裝置,其包含:一電路,其用以設定用以針對儲存於一快閃記憶體器件之一記憶體陣列中之資訊中的錯誤進行掃描之至少一條件,其中該用以掃描之條件係基於對記憶體器件之單元的存取之數目及在將資訊儲存於記憶體器件中之後經過的時間量中之至少一者;及一組件,其用以在條件得到滿足時針對資訊中的錯誤進行掃描。
本發明進一步提供一種裝置,其包含:一用以儲存資訊之記憶體陣列;及一組件,其用以至少基於對記憶體陣列執行的讀取操作之數目而針對該資訊中的錯誤進行掃描。
本發明進一步提供一種系統,其包含:一快閃記憶體器件,其包含用以設定用以針對儲存於快閃記憶體器件中之
資訊中的錯誤進行掃描之條件之電路,及用以在該條件得到滿足時針對儲存於快閃記憶體器件中之資訊中的錯誤進行掃描之組件,其中該用以掃描之條件係基於對記憶體器件之單元的存取之數目及在將資訊儲存於記憶體器件中之後經過的時間量中之至少一者而設定;及用以處理儲存於快閃記憶體器件中之資訊的處理器。
圖1展示根據本發明之一實施例之系統100的方塊圖。系統100可常駐於一諸如電腦、蜂巢式電話或數位相機之電子系統中。如圖1所示,系統100可包括一具有一具有記憶體單元104之記憶體陣列102的記憶體器件101以儲存資訊。該資訊可包括來自一使用者之資料及由系統100產生之控制資料中之至少一者。系統100亦可包括一記憶體控制器103來控制記憶體器件101與一處理器106之間經由一或多個介面或匯流排105及匯流排107的通信。
系統100可進一步包括一管理組件119,其可參與針對儲存於記憶體器件101中之資訊中的潛在錯誤而掃描記憶體器件101及校正該等錯誤。如上所述,未偵測到的潛在錯誤可變得不可用。在系統100中,在資訊變得不可用之前針對潛在錯誤而掃描記憶體器件101且接著校正該等錯誤可減小總錯誤率,或避免不可用資訊,或此兩者。
管理組件119可包括監視單元131,其用以藉由監視匯流排105、107或兩者上之信號來追蹤對記憶體陣列及來自記憶體陣列之存取之數目。舉例而言,監視單元131可包括
至少一計數器151,其用以對記憶體器件101中之讀取操作或寫入操作之數目進行計數。管理組件119亦可包括一儲存單元132,其用以儲存可用於系統100之錯誤掃描活動中的一或多個值。儲存單元132可包括儲存電路元件,諸如唯讀記憶體(ROM)儲存元件、電可抹除可程式化ROM(EEPROM)及暫存器電路。管理組件119亦可包括一計時器133,其可包括一用以記住時間之即時鐘。管理組件119亦可包括一錯誤校正單元134,其用以校正可在儲存於記憶體器件101中之資訊中發現的錯誤。錯誤校正單元134可包括一用以基於與該儲存資訊相關聯之錯誤校正碼(ECC)資料而校正錯誤之錯誤校正電路。ECC資料可基於諸如漢明碼(Hamming code)、里德-所羅門碼及BCH碼(博斯-雷查德胡里-霍昆格姆碼(Bose,Ray-Chaudhuri,Hocquenghem code))之碼而產生。
在圖1中,箭頭141、142及143指示:整個管理組件119可常駐於記憶體器件101、記憶體控制器103及處理器106中之僅一者中,或管理組件119之部分可分散於記憶體器件101、記憶體控制器103及處理器106中之至少兩者中。管理組件119可包括軟體程式指令、韌體、硬體或其組合。管理組件119中之韌體之一實例包括基本輸入輸出系統(BIOS)電路或類似於一電子系統之BIOS電路之電路。管理組件119中之硬體之一實例包括電路元件,諸如正反器電路、暫存器電路、狀態機電路及其他電路元件。
圖1之記憶體器件101可包括一非揮發性記憶體器件,諸
如快閃記憶體器件。處理器106可包括一通用處理器(例如,用於電腦中之處理器)或一特殊應用積體電路或ASIC(例如,用於蜂巢式電話或數位相機中之處理器)。記憶體器件101及記憶體控制器103可由同一半導體晶粒形成且封閉在同一半導體封裝或晶片中。記憶體器件101及記憶體控制器103亦可由分開的半導體晶粒形成且封閉在分開的半導體封裝或分開的晶片中。在一些實施例中,記憶體控制器103可省略,且記憶體器件101及處理器106可經由匯流排105及107中之一者或兩者而相互通信。在一些實施例中,記憶體器件101可包括圖2之記憶體器件。
圖2展示根據本發明之一實施例之記憶體器件201的方塊圖。記憶體器件201可包括一具有排列成列及行之單元204之記憶體陣列202。列解碼器206及行解碼器208可回應一位址暫存器213且基於線路或端子240上之列位址及行位址信號來存取單元204。存取單元204可包括將資訊寫入至單元204或自單元204讀取資訊。一資料輸入/輸出電路214可在單元204與端子240之間轉移資訊。記憶體器件201之端子240及端子241可耦接至一介面或一匯流排,諸如圖1之匯流排105及107。端子240及241可包括記憶體器件101之外部端子(例如,位於一含有記憶體器件101之晶片或半導體封裝外的端子)。可基於端子241上所提供的讀取命令(或指示一讀取操作之信號)執行一讀取操作。可基於端子241上所提供的寫入命令(或指示一寫入操作之信號)執行一寫入操作。藉由監視端子240及241上之活動(諸如信號之轉
移),記憶體器件201可追蹤或確定對整個記憶體陣列202或在個別區塊中執行的讀取操作及寫入操作之數目。
控制電路216可基於端子240及241上之信號來控制記憶體器件201之操作。記憶體器件201之操作可包括用以將資訊寫入或程式化至單元204中之寫入操作,用以自單元204讀取資訊之讀取操作,及用以自單元204抹除資訊之抹除操作。記憶體器件201之寫入操作、讀取操作及抹除操作可結合記憶體器件201中之各種活動(諸如,針對儲存於單元204中之資訊中的錯誤進行掃描)而執行。
控制電路216可包括一管理組件219,其可包括圖1之管理組件119之一實施例。在一些實施例中,圖2之管理組件219可包括比圖1之管理組件119少的電路元件。舉例而言,圖2之管理組件219可省略一錯誤校正單元,諸如圖1之錯誤校正單元134。在圖2中,記憶體器件201之管理組件219可參與針對潛在錯誤而掃描記憶體陣列202中之單元204。管理組件219亦可參與校正該等錯誤。
記憶體陣列202可包括記憶體區塊211及212,頁面(或單元列)221、222、223及224,及區段231、232、233、234、235、236、237及238。如圖2所示,區塊211及212中之每一者可包括多個頁面,每一頁面可包括多個區段,且每一區段可包括多個單元。區塊211及212可被稱為快閃記憶體器件之抹除區塊。為了清楚起見,圖2展示記憶體陣列202中之兩個區塊、每一區塊中之兩個頁面、每一頁面中之兩個區段及每一區段中之兩個單元之一實例。在一些
實施例中,記憶體陣列202中區塊之數目、每一區塊中頁面之數目、每一頁面中區段之數目及每一區段中單元之數目可能改變。舉例而言,區塊211及212中之每一者可包括64個頁面。在另一實例中,區塊211及212中之每一者中之頁面221、222、223及224中之每一者可包括四個區段。在另一實例中,區塊211及212中之每一者中之每一區段可包括4096個單元,以儲存512位元組之資訊。
在圖2中,記憶體器件201可包括一非揮發性記憶體器件。在一些實施例中,記憶體器件201可包括一NAND快閃記憶體器件,其中單元204可包括配置成NAND快閃記憶體配置之快閃單元。在其他實施例中,記憶體器件201可包括一記憶體器件,諸如NOR快閃記憶體器件、聚合物記憶體器件、鐵電隨機存取記憶體(FeRAM)器件、相變記憶體(PCM)器件,例如,雙向通用記憶體(OUM)器件、氮化物唯讀記憶體(NROM)器件或磁電阻隨機存取記憶體(MRAM)器件。
熟習此項技術者將容易認識到,記憶體器件201可包括其他組件,可將該等組件自圖2省略以關注於本文中所描述之各種實施例。
針對儲存於記憶體器件201之資訊中之錯誤的掃描可以基於器件之掃描、基於區塊之掃描、基於區塊之隨機頁面掃描、基於時間之掃描或其組合來執行。舉例而言,在基於器件之掃描中,於讀取記憶體陣列202中一數目之區段之後或對記憶體器件201執行一數目之讀取操作之後,可
掃描整個記憶體陣列202。在基於區塊之掃描中,於讀取該區塊中一數目之區段之後或對彼區塊執行一數目之讀取操作之後,僅可掃描區塊211或212。在基於區塊之掃描中,於對該區塊中一數目之區段進行寫入之後或對彼區塊執行一數目之寫入操作之後,亦可僅掃描區塊211或212。在基於區塊之隨機頁面掃描中,可基於區塊211及212之選定一者中之一頁面的讀取操作而隨機地掃描同一選定區塊中的另一頁面。在基於時間之掃描中,可在每一時間間隔之後(例如,每隔一些天)掃描記憶體陣列202。
在一些實施例中,記憶體器件201中之操作及活動(包括針對儲存於記憶體器件201中之資訊中的錯誤之掃描)可包括圖3中之活動之一實施例。
圖3為根據本發明之一實施例之針對錯誤進行掃描之方法300的流程圖。方法300可用於諸如圖1之系統100之系統中,或用於諸如圖2之記憶體器件201之記憶體器件中。因此,方法300中之記憶體器件可包括圖1之記憶體器件101或圖2之記憶體器件201。
圖3之活動310可設定針對儲存於一記憶體器件中之資訊中的錯誤進行掃描之條件。控制器或處理器(諸如,圖1之記憶體控制器103或處理器106)中之電路或諸如圖2之記憶體器件201之控制電路216的電路可設定該條件。設定該條件可包括將選定值中的至少一者儲存於一儲存單元中。一儲存單元(諸如圖1之儲存單元132)可儲存藉由活動310設定之選定值。
在活動310中設定條件可包括儲存一第一選定值,以使當該記憶體器件中的讀取操作之數目超過或至少等於該第一選定值時,可執行針對錯誤之掃描。舉例而言,當將該第一選定值設定為M(其中M為一整數)時,在該記憶體器件中的讀取操作之數目超過或至少等於M時,可執行針對錯誤之掃描。
在活動310中設定條件亦可包括儲存一第二選定值,以使當該記憶體器件之一區塊中的讀取操作之數目超過或至少等於該第二選定值時,可執行針對錯誤之掃描。舉例而言,當將該第二選定值設定為B(其中B為一整數)時,在該區塊中的讀取操作之數目超過或至少等於B時,可執行針對錯誤之掃描。
在活動310中設定條件亦可包括儲存一第三選定值,以使當該記憶體器件之一區塊中的讀取操作之數目超過或至少等於該第三選定值時,可在該記憶體器件之一區塊中的一隨機位置處執行針對錯誤之掃描。舉例而言,當將該第三選定值設定為R(其中R為一整數)時,在該區塊中的讀取操作之數目超過或至少等於R時,可在該隨機位置處執行針對錯誤之掃描。
在活動310中設定條件亦可包括儲存一第四選定值,以使當一區塊中的寫入操作之數目超過或至少等於該第四選定值時,可在該記憶體器件之彼區塊中執行針對錯誤之掃描。舉例而言,當將該第四選定值設定為W(其中W為一整數)時,在該區塊中的寫入操作之數目超過或至少等於W
時,可對該區塊執行針對錯誤之掃描。
在活動310中設定條件亦可包括儲存一第五選定值,以使可每隔由該第五值指示的時間間隔執行針對錯誤之掃描。舉例而言,當將該第五選定值設定為T(其可表示一時間間隔,諸如數天)時,可每隔由T指示之時間間隔而執行針對錯誤之掃描。
在活動310中,可以任何組合儲存該第一選定值、該第二選定值、該第三選定值、該第四選定值及該第五選定值。舉例而言,可儲存該第一選定值、該第二選定值、該第三選定值、該第四選定值及該第五選定值中的僅一個。因此,針對記憶體器件中之資訊中的錯誤進行掃描之條件可視藉由活動310而儲存的該第一選定值、該第二選定值、該第三選定值、該第四選定值及該第五選定值中的僅一個而定。在另一實例中,可儲存該第一選定值、該第二選定值、該第三選定值、該第四選定值及該第五選定值中的至少兩個。因此,針對記憶體器件中之資訊中的錯誤進行掃描之條件可視該第一選定值、該第二選定值、該第三選定值、該第四選定值及該第五選定值中的至少兩個而定。
活動320可存取該記憶體器件。存取該記憶體器件可包括執行一寫入操作以將資訊儲存或寫入至記憶體器件,及執行一讀取操作以自該記憶體器件讀取資訊。
活動330可追蹤存取之數目。存取之數目可包括對該記憶體器件及來自該記憶體器件之存取之數目。在一些實施
例中,活動330可藉由對存取之數目進行計數來追蹤存取之數目。一計數器(諸如圖1之計數器151)可對活動330中的存取之數目進行計數。計數器或儲存單元(諸如圖1之儲存單元132)可在存取經計數之後儲存存取之數目。
存取之數目可包括記憶體器件中的讀取操作之數目。讀取操作之數目可包括對記憶體器件之一個以上區塊之區段執行的讀取操作之總數。存取之數目亦可包括記憶體器件之一區塊中的讀取操作之數目。存取之數目亦可包括記憶體器件之一區塊中的寫入操作之數目。
活動340判定針對錯誤進行掃描之條件是否得到滿足。在活動340中,可比較活動330中的存取之數目與一藉由活動310設定之相應選定值。比較之結果可判定該條件是否得到滿足。
舉例而言,當記憶體器件中的讀取操作之數目超過或至少等於一選定值(例如,上述之值B)時,活動340中之條件得到滿足,該選定值可藉由活動310而儲存於一儲存器件中。
在另一實例中,當記憶體器件之一區塊中的讀取操作之數目超過或至少等於一選定值(例如,上述之值B)時,活動340中之條件得到滿足,該選定值可藉由活動310而儲存於一儲存器件中。
在另一實例中,當記憶體器件之一區塊中的讀取操作之數目超過或至少等於一選定值(例如,上述之值R)時,活動340中之條件得到滿足,該選定值可藉由活動310而儲存
於一儲存器件中。
在另一實例中,當記憶體器件之一區塊中的寫入操作之數目超過或至少等於一選定值(例如,上述之值W)時,活動340中之條件得到滿足,該選定值可藉由活動310而儲存於一儲存器件中。
在另一實例中,當在將資訊儲存於記憶體器件中之後已經過一時間量且該時間量超過或至少等於由一可在活動310中設定的選定值指示之時間量時,活動340中之條件得到滿足。
如圖3所示,當方法300之活動340中之條件未得到滿足(以"否"指示)時,方法300可重複活動330。當該條件得到滿足(以"是"指示)時,方法300可繼續進行活動350。
活動350可針對錯誤進行掃描。活動350中之掃描可包括掃描記憶體器件之僅一部分或掃描整個記憶體器件。活動350中之掃描可包括基於器件之掃描、基於區塊之掃描、基於區塊之隨機位置掃描及基於時間之掃描中的至少一者。
當記憶體器件中的讀取操作之數目超過或至少等於一選定值(例如,上述之值M)時,活動350可執行基於器件之掃描。在基於器件之掃描中,活動350可讀取已儲存資訊之單元且跳過讀取無儲存資訊之單元。具有儲存資訊之單元可常駐於記憶體器件之一或多個區塊中。在一些實施例中,在基於器件之掃描中,活動350中之掃描可讀取具有儲存之單元及無儲存資訊之單元兩者。
當一區塊中的讀取操作之數目超過或至少等於一選定值(例如,上述之值B)時,活動350可執行基於區塊之掃描。在基於區塊之掃描中,當一選定區塊中的讀取操作之數目超過或至少等於藉由活動310儲存的該第二選定值時,活動350可讀取僅該選定區塊中之單元。
當一區塊中的讀取操作之數目超過或至少等於一選定值(例如,上述之值R)時,活動350可執行基於區塊之隨機位置掃描。在基於區塊之隨機位置掃描中,活動350可讀取一區塊中之一隨機位置處的單元以針對錯誤進行掃描。活動350可藉以讀取隨機位置處的單元之速率可基於諸如值R之選定值。在一些實施例中,隨機位置之位址可為在正常記憶體讀取操作(而非針對錯誤進行掃描的讀取操作)期間提供給記憶體器件的偏移值及位址之一函數。舉例而言,若選定值(諸如R)為12且偏移值為16,則在對一區塊執行每12次正常記憶體讀取操作之後,可執行一額外讀取操作(例如,第13次讀取操作)以讀取隨機位置處之單元來針對錯誤進行掃描。在此實例中,可基於第12次讀取操作中之位置之位址及偏移值(在此實例中為16)來確定該額外讀取操作(第13次讀取操作)中的隨機位置之位址。舉例而言,可由第12次讀取操作中之位置之位址加上(或減去)偏移值來確定第13次讀取操作中的隨機位置之位址。可選擇偏移值並將其儲存於一儲存單元(諸如用於活動310中之儲存單元)中。在基於區塊之隨機位置掃描中,可藉由存取可能儲存有偏移值之儲存單元來獲得偏移值。
在一些實施例中,隨機位置可包括一區塊之一頁面的位置。因此,在一些實施例中,可基於一區塊中頁面之數目來選擇偏移值。舉例而言,當一區塊具有自0至63編號的64個頁面時,偏移值可為1至62。在此實例中,隨機頁面(待針對錯誤而受到掃描)之位址可為在正常讀取操作中讀取的頁面(64個頁面中之一者)之位址加上(或減去)偏移值,以使隨機頁面之位址可在該區塊內。
當一區塊中之寫入操作的數目超過或至少等於一選定值(例如,上述之值W)時,活動350中之掃描亦可執行基於區塊之掃描,該選定值可藉由活動310儲存。舉例而言,活動350可在將資訊寫入至位於一區塊之一位置處的單元之後讀取位於同一區塊中之另一位置處的單元,以針對錯誤進行掃描。
如圖2中所描述,一區塊可包括多個頁面。可在不同寫入操作及以一順序次序(例如,以第一頁面、中間頁面及最後頁面之順序次序)逐頁面對區塊進行寫入。由於可逐頁面對區塊進行寫入,故操作之數目可對應於已進行寫入之頁面的數目。在圖3中,活動350可在將資訊寫入至一新頁面之後讀取已進行寫入之頁面的單元。舉例而言,若選定值為14(例如,W=14)且若已對一區塊執行寫入操作的數目為14(例如,14個頁面已進行寫入),則在第15次寫入操作中對區塊進行寫入之後,活動350可讀取先前進行寫入的單元(例如,自第一頁面至第14頁面之單元)以針對錯誤進行掃描。在一些實施例中,使用本文中之相同實例,
活動350可在第15次寫入操作之後,讀取來自整個區塊之單元(包括在第15次寫入操作中進行寫入之單元)以針對錯誤進行掃描。
在一些實施例中,可選擇該選定值,以使每當來自區塊之一頁面的單元被寫入之後,活動350可讀取來自一區塊之每一頁面之單元以針對錯誤進行掃描。舉例而言,可將選定值設定為一(例如,W=1)。在其他實施例中,為了針對錯誤進行掃描,可選擇該選定值,以僅在區塊之至少一半數目的頁面被寫入之後,活動350可讀取來自一區塊之頁面的單元。舉例而言,可將選定值設定為區塊之頁面之數目的一半(例如,W=(1/2)P,其中P為區塊之頁面的數目)。
活動350可以時間間隔執行基於時間之掃描以針對錯誤進行掃描。在基於時間之掃描中,活動350可讀取具有儲存資訊之單元以針對錯誤進行掃描。舉例而言,若選定值為30天(例如,T對應於30天之值),則每隔30天,活動350可讀取具有儲存資訊之單元以針對錯誤進行掃描。
如以上在活動350中所描述,可自記憶體器件之單元單元讀取資訊以基於得到滿足的一或多個條件針對錯誤進行掃描。可執行一校正操作以基於自活動350獲得之掃描而校正該資訊中的任何錯誤。
在一些實施例中,在活動350中針對錯誤進行掃描可包括自器件之記憶體單元讀取資訊及確定與當自該等單元讀取資訊時的該資訊相關聯之ECC資料(例如,新檢查位
元)。接著,可比較該ECC資料(例如,新檢查位元)與與當將資訊寫入至記憶體單元中時的資訊相關聯之ECC資料(例如,舊檢查位元)。兩個ECC資料(例如,舊檢查位元與新檢查位元)之間的失配可指示資訊中出現錯誤。
在其他實施例中,在活動350中針對錯誤進行掃描可包括存取記憶體器件中之專門硬體以判定資訊中的錯誤是否可能出現。舉例而言,在活動350中針對錯誤進行掃描可包括存取器件之參考單元以判定表示參考單元中之資訊的電壓位準值是否保持在一極限內。在此實例中,若電壓位準值在該極限之外(例如,電壓位準值降至該極限以下或超過該極限),則資訊中的錯誤可能出現。在一些實施例中,該等參考單元可為記憶體陣列之單元(諸如,圖2之記憶體陣列102之單元104)之一部分。在一些實施例中,諸如圖1之記憶體控制器103或處理器106的控制器或處理器(而不是諸如圖1之錯誤校正單元134的錯誤校正)可存取記憶體器件中之專門硬體(例如,參考單元)以判定資訊中的錯誤是否出現。
活動360可在發現錯誤的情況下校正該錯誤。舉例而言,活動360可檢查該資訊以在資訊中的錯誤存在時確定位元錯誤數量(可能出現的一或多個錯誤位元)。活動360可接著在該位元錯誤數量等於或大於一選定值時校正該錯誤。校正單元(諸如圖1之錯誤校正單元134)可執行該校正。在一些實施例中,當位元錯誤數量至少為一時,校正單元可校正錯誤。因此,在此等實施例中,可校正經發現
的任何錯誤位元。在其他實施例中,針對所掃描的每一數目之位元,校正單元可僅當位元錯誤數量超過某一值時校正錯誤。所掃描的位元之數目可為區段中之位元之數目。舉例而言,針對所掃描區段中的每一數目之位元,校正單元可僅當位元錯誤數量超過三時校正錯誤。
活動370可更新追蹤資訊。舉例而言,在執行活動350中針對錯誤之掃描之後,可將在活動330中所追蹤的一或多個值重設為一初始值。舉例而言,在針對錯誤對一區塊進行掃描之後,可將對彼區塊執行的讀取操作之數目重設為該初始值(例如,零),使得當對彼區塊執行的讀取操作之數目(重設之後)至少等於選定值(例如,值B)時,可對該區塊執行另一錯誤掃描。在執行一基於其他值的針對錯誤之掃描之後,可重設藉由活動330追蹤之其他值。在活動370之後,方法300可重複上述的一或多個其他活動。舉例而言,方法300可自活動320開始重複上述的其他活動。
方法300之個別活動可能不必以所示次序或任何特定次序來執行。一些活動可以重複,而其他活動可僅發生一次。各種實施例可具有比圖3所示之活動多或少的活動。舉例而言,當方法300執行基於時間之掃描時,方法300可省略活動320、330及370中之一或多者。在一些實施例中,方法300可包括參看以上之圖1至圖2及下文之圖4及圖6所描述的活動或操作。
圖4為展示圖2之記憶體器件201的錯誤率與讀取操作之數目之間的關係之圖表。在圖4中,X及N可表示對記憶體
器件201執行的讀取操作之一些特定數目。圖4中之R1、R2及R3可表示與讀取操作之數目有關的錯誤率。如圖4所示,當讀取操作之數目小於或等於X時,錯誤率可以線性方式自R1增加至R2。當讀取操作之數目大於X時,錯誤率可以指數方式自R2增加至R3。因此,在圖4中,當讀取操作之數目至少為X時,錯誤率以一相對較高之速率增加。因此,在記憶體器件201中,在讀取操作之數目至少為X時針對錯誤進行掃描可比在讀取操作之數目小於X時針對錯誤進行掃描更經濟,因為當讀取操作之數目為X或更大時,發現錯誤的機會可能明顯更多。
在一些實施例中,讀取操作之數目(諸如圖4中之X)可在測試期間確定。舉例而言,在測試期間,可對記憶體器件201執行許多讀取操作,接著可記錄對應於該等讀取操作之錯誤率(例如,R1、R2及R3)。讀取操作之數目(諸如圖4中之X)可確定在一點處,此處錯誤率開始展示顯著變化。舉例而言,如圖4所示,X可確定在對應於R2之點處,因為相對於R1與R2之間的斜率,連接R1、R2及R3之曲線展示出R2與R3之間的斜率之顯著變化。在一些實施例中,讀取操作之數目X為約1000。在一些實施例中,讀取操作之數目X在約1000至約2000之範圍內。因此,在一些實施例中,當讀取操作之數目(例如,X)至少為1000時,可開始針對儲存於記憶體器件(諸如記憶體器件201)中之資訊中的錯誤之掃描。
圖5展示根據本發明之一實施例之網路500。網路500可
包括經由連接563而彼此通信之系統561及562。連接563可包括有線或無線連接。在一些實施例中,連接563可包括網際網路連接。
系統561可包括處理器510、影像感應器器件520、記憶體器件525、記憶體控制器530、圖形控制器540、電路模組545、輸入及輸出(I/O)控制器550、顯示器552、鍵盤554、指標器件556、周邊器件558及用以在系統561之組件之間轉移資訊的匯流排560。系統561亦可包括用以無線地傳輸及接收資訊之天線570。系統561亦可包括電路板502,系統561之一些組件可位於該電路板上。在一些實施例中,系統561之組件之數目可改變。舉例而言,在一些實施例中,系統561可省略顯示器552、影像感應器器件520、記憶體器件525及電路模組545中的一或多者。系統561可包括圖1之系統100之一實施例。
處理器510可包括通用處理器,例如,用於電腦中之處理器。處理器510可包括特殊應用積體電路(ASIC),例如,用於蜂巢式電話或數位相機或攝像機中之處理器。處理器510可包括單核心處理器或多核心處理器。處理器510可執行一或多個程式化命令以處理資訊並產生經處理資訊。由處理器510處理之資訊可包括由系統561之其他組件(諸如由影像感應器器件520或記憶體器件525)提供的數位輸出資訊。
影像感應器器件520可包括具有互補金氧半導體(CMOS)像素陣列之CMOS影像感應器或具有電荷耦合器件(CCD)
像素陣列之CCD影像感應器。
記憶體器件525可包括揮發性記憶體器件、非揮發性記憶體器件或兩者之組合。舉例而言,記憶體器件525可包括動態隨機存取記憶體(DRAM)器件、靜態隨機存取記憶體(SRAM)器件、快閃記憶體器件(諸如NAND或NOR快閃記憶體器件),或DRAM、SRAM與快閃記憶體器件之組合。在一些實施例中,記憶體器件525可包括上文參看圖1至圖4所描述的記憶體器件101或201之一或多個實施例。
顯示器552可包括類比顯示器或數位顯示器。顯示器552可包括液晶顯示器(LCD)或電漿顯示器。顯示器552可自其他組件接收資訊。舉例而言,顯示器552可接收由影像感應器器件520、記憶體器件525、圖形控制器540及處理器510中之一或多者處理之資訊,以顯示包括文字及影像之資訊。
電路模組545可包括車輛之電路模組。電路模組545可自其他組件接收資訊以啟動車輛之一或多個子系統。舉例而言,電路模組545可接收由影像感應器器件520、記憶體器件525及處理器510中之一或多者處理之資訊,以啟動車輛之氣囊系統、車輛安全警報及車輛中之障礙物警示系統中之一或多者。
如圖5所示,系統561可包括機器可讀媒體571。系統562可包括機器可讀媒體572。機器可讀媒體571及572中之每一者可包括一記憶體(例如,抽取式儲存媒體)及包括電、光學或電磁導體之任何記憶體。
機器可讀媒體571及572中之每一者可在其上含有關聯資訊(例如,電腦或軟體程式指令及/或資料),其在執行時導致機器(例如,系統561之組件)執行本文中參看圖1至圖5所描述的活動中之一或多者。
在閱讀並理解了本揭示案之內容後,一般熟習此項技術者將理解軟體程式可藉以自基於電腦之系統中之電腦可讀媒體開始以執行軟體程式中所界定之功能的方式。一般熟習此項技術者將進一步理解可用以產生經設計以實施且執行包括本文中所描述之活動的方法之一或多個軟體程式的各種程式化語言。該等程式可使用物件導向式語言(諸如Java或C++)而以物件導向式格式來結構化。或者,該等程式可使用程序語言(諸如組合語言或C語言)而以程序導向式格式來結構化。該等軟體組件可使用熟習此項技術者所熟知的許多機制中之任一者(諸如,應用程式介面或過程間通信技術,包括遠端程序呼叫)進行通信。各種實施例之教示不限於任何特定程式化語言或環境。
本文中之系統及裝置(諸如系統100、561與562及記憶體器件201與525)之說明意欲提供對各種實施例之結構的大體理解,且並非作為可利用本文中所描述之結構的裝置及系統之所有元件及特徵之完整描述。
各種實施例之新穎裝置、系統及方法可包括高速電腦、通信及信號處理電路、單或多處理器模組、單或多嵌入式處理器、多核心處理器、資料交換器及特殊應用模組(包括多層、多晶片模組)中所使用的電子電路,可包括於其
中或可用於其中。可進一步包括該等裝置及系統作為多種電子系統(諸如,電視、蜂巢式電話、個人電腦(例如,膝上型電腦、桌上型電腦、掌上型電腦、平板電腦等)、工作台、無線電裝置、視訊播放器、音訊播放器(例如,MP3(動畫專家群音訊層3)播放器)、車輛、醫學器件(例如,心臟監視器、血壓監視器等)、視訊轉接器及其他電子系統)內之子組件。
以上描述及圖式說明本發明之一些實施例以使熟習此項技術者能夠實踐本發明之實施例。其他實施例可併有結構、邏輯、電、過程及其他變化。在圖式中,相同特徵或相同數字遍及若干視圖描述大體上類似之特徵。實例僅代表可能變化。一些實施例之部分及特徵可包括於其他實施例之部分及特徵中或對其加以取代。在閱讀及理解了以上描述後,許多其他實施例對於熟習此項技術者將係顯而易見的。因此,本發明之各種實施例之範疇係由附加之申請專利範圍以及該等申請專利範圍享有權利之均等物之完全範圍確定。
提供【中文發明摘要】以遵守37 C.F.R.§1.72(b),其要求將允許閱讀者快速確定技術揭示內容之性質及要點之摘要。以該摘要將不用以解釋或限制申請專利範圍之範疇或意義的理解提出該摘要。
100‧‧‧系統
101‧‧‧記憶體器件
102‧‧‧記憶體陣列
103‧‧‧記憶體控制器
104‧‧‧記憶體單元
105‧‧‧匯流排
106‧‧‧處理器
107‧‧‧匯流排
119‧‧‧管理組件
131‧‧‧監視單元
132‧‧‧儲存單元
133‧‧‧計時器
134‧‧‧錯誤校正單元
141‧‧‧箭頭
142‧‧‧箭頭
143‧‧‧箭頭
151‧‧‧計數器
201‧‧‧記憶體器件
202‧‧‧記憶體陣列
204‧‧‧單元
206‧‧‧列解碼器
208‧‧‧行解碼器
211‧‧‧記憶體區塊
212‧‧‧記憶體區塊
213‧‧‧位址暫存器
214‧‧‧資料輸入/輸出電路
216‧‧‧控制電路
219‧‧‧管理組件
221‧‧‧頁面
222‧‧‧頁面
223‧‧‧頁面
224‧‧‧頁面
231‧‧‧區段
232‧‧‧區段
233‧‧‧區段
234‧‧‧區段
235‧‧‧區段
236‧‧‧區段
237‧‧‧區段
238‧‧‧區段
240‧‧‧端子
241‧‧‧端子
500‧‧‧網路
502‧‧‧電路板
510‧‧‧處理器
520‧‧‧影像感應器器件
525‧‧‧記憶體器件
530‧‧‧記憶體控制器
540‧‧‧圖形控制器
545‧‧‧電路模組
550‧‧‧輸入及輸出(I/O)控制器
552‧‧‧顯示器
554‧‧‧鍵盤
556‧‧‧指標器件
558‧‧‧周邊器件
560‧‧‧匯流排
561‧‧‧系統
562‧‧‧系統
563‧‧‧連接
570‧‧‧天線
571‧‧‧機器可讀媒體
572‧‧‧機器可讀媒體
圖1展示根據本發明之一實施例之包括一記憶體器件之系統的方塊圖。
圖2展示根據本發明之一實施例之記憶體器件的方塊圖。
圖3為根據本發明之一實施例之針對錯誤進行掃描之方法的流程圖。
圖4為展示圖2之記憶體器件的錯誤率與讀取操作之數目之間的關係之圖表。
圖5展示根據本發明之一實施例之網路系統的方塊圖。
100‧‧‧系統
101‧‧‧記憶體器件
102‧‧‧記憶體陣列
103‧‧‧記憶體控制器
104‧‧‧記憶體單元
105‧‧‧匯流排
106‧‧‧處理器
107‧‧‧匯流排
119‧‧‧管理組件
131‧‧‧監視單元
132‧‧‧儲存單元
133‧‧‧計時器
134‧‧‧錯誤校正單元
141‧‧‧箭頭
142‧‧‧箭頭
143‧‧‧箭頭
151‧‧‧計數器
Claims (48)
- 一種於快閃記憶體中掃瞄錯誤之方法,其包含:在一用於掃描之條件得到滿足時,針對儲存於一快閃記憶體器件之資訊中的錯誤進行掃描,其中該用於掃描之條件係基於對該記憶體器件之單元之存取之一數目及在將該資訊儲存於該記憶體器件中之後經過之一時間量中之至少一者,且該用於掃瞄之條件係由包括在該快閃記憶體器件中之一電路設定。
- 如請求項1之方法,其中該條件在對該記憶體器件之單元之存取之該數目超過一選定值時得到滿足。
- 如請求項2之方法,其中存取之該數目包含讀取操作之一數目。
- 如請求項2之方法,其中存取之該數目包含寫入操作之一數目。
- 如請求項1之方法,其中該用於掃描之條件在該時間量至少為一天時得到滿足。
- 如請求項1之方法,其中掃描包含:自該記憶體器件之單元讀取該資訊;及比較與讀取該資訊時之該資訊相關聯之錯誤校正碼(ECC)資料及與將該資訊寫入至該等單元中時之該資訊相關聯之ECC資料。
- 如請求項1之方法,其中掃描包含:自該記憶體器件之參考單元讀取參考資訊;及判定該參考資訊之值是否相對於一極限變化。
- 如請求項1之方法,其包含:確定儲存於該記憶體器件中之資訊之一位元錯誤數量。
- 如請求項8之方法,其包含:當該位元錯誤數量至少等於一時,校正該資訊中之至少一錯誤位元。
- 如請求項8之方法,其包含:當一區塊之一區段中之該位元錯誤數量至少為四時校正該資訊中的錯誤位元。
- 如請求項1之方法,其中掃描包含僅讀取該記憶體器件之單元之一部分。
- 如請求項1之方法,其中掃描包含讀取該記憶體器件之一完整記憶體陣列中之單元。
- 如請求項1之方法,其中掃描包含讀取記憶體器件之一區塊中之第一單元,且其中讀取該等第一單元係在寫入至該區塊中之第二單元之後執行。
- 如請求項3之方法,其中讀取操作之該數目僅包含對該記憶體器件之複數個區塊之一選定區塊執行之讀取操作的數目,且其中掃描包含讀取該選定區塊之單元。
- 如請求項3之方法,其中讀取操作之該數目包含對該記憶體器件之複數個區塊之多個區塊執行之讀取操作的數目,且其中掃描包含讀取該多個區塊之單元。
- 如請求項15之方法,其中掃描係在對該多個區塊中之至少一者執行之讀取操作的數目至少為1000時執行。
- 一種於記憶體中掃瞄錯誤之方法,其包含:讀取在一記憶體器件之複數個區塊之一區塊中之一第一位置中的單元;及當該第一位置中之讀取操作之一數目超過一選定值時,針對儲存於一第二位置中之資訊中之錯誤,掃描該區塊中之該第二位置,其中該第二位置係隨機選擇的。
- 如請求項17之方法,其中掃描該第二位置包含讀取該區塊中之額外單元。
- 如請求項17之方法,其中讀取係回應於一在該記憶體器件之一端子處接收之讀取命令而執行。
- 如請求項17之方法,其中該第一位置之一位址係提供於該記憶體器件之一端子處,且其中該第二位置之一位址為該第一位置之該位址及一偏移值之一函數。
- 如請求項20之方法,其包含:存取一儲存單元以獲得該偏移值。
- 如請求項19之方法,其中該第一位置包含該區塊之至少一頁面。
- 如請求項22之方法,其中該第二位置包含該區塊之至少一頁面。
- 一種於記憶體中掃瞄錯誤之方法,其包含:將資訊寫入至一記憶體器件之一區塊;及基於一掃瞄條件針對儲存於該區塊之資訊中的錯誤掃描該區塊之至少一部分,該掃瞄條件包括對該區塊執行之寫入操作之一數目,其中該掃瞄條件係由包括在該記 憶體器件中之一電路設定。
- 如請求項24之方法,其中將該資訊寫入至該區塊之第一單元中,且其中掃描包含讀取該區塊之第二單元。
- 如請求項24之方法,其中將該資訊寫入至該區塊之第一單元中,且其中掃描包含讀取該區塊之第一單元及第二單元。
- 如請求項24之方法,其中以一自該區塊之一第一頁面至該區塊之一最後頁面之次序執行寫入,且其中僅在對該區塊之該最後頁面進行寫入時執行掃描。
- 如請求項24之方法,其中在對該區塊之複數個頁面之每一頁面進行寫入之後執行掃描。
- 如請求項24之方法,其中僅在對區塊之至少一半數目之頁面進行寫入時執行掃描。
- 如請求項24之方法,其包含:確定儲存於該區塊中之資訊中之錯誤之一位元錯誤數量。
- 如請求項30之方法,其包含:當該位元錯誤數量至少等於一時,校正該資訊之至少一錯誤位元。
- 一種於快閃記憶體中掃瞄錯誤之裝置,其包含:一快閃記憶體器件,其包括一快閃記憶體陣列以儲存資訊;一包括於該快閃記憶體器件中之電路,用以設定針對儲存於該快閃記憶體器件之該記憶體陣列之資訊中的錯 誤進行掃描之至少一條件,其中該用以掃描之條件係基於對該記憶體器件之單元之存取之一數目及在將該資訊儲存於該記憶體器件中之後經過之一時間量中之至少一者;及一組件,用以在該條件得到滿足時,針對該資訊中的錯誤進行掃描。
- 如請求項32之裝置,其中該組件包含一用以儲存一選定值之儲存單元,其中當對該記憶體陣列執行之讀取操作之一數目超過該選定值時,該條件得到滿足。
- 如請求項33之裝置,其中該組件包含一用以對讀取操作之該數目進行計數之計數器。
- 如請求項32之裝置,其中該組件包含一用以儲存一選定值之儲存單元,其中當對該記憶體陣列之一區塊執行之讀取操作之一數目超過該選定值時,該條件得到滿足。
- 如請求項35之裝置,其中該組件包含一用以對讀取操作之該數目進行計數之計數器。
- 如請求項32之裝置,其中該組件包含一用以儲存一選定值之儲存單元,其中當對該記憶體陣列之一區塊執行之寫入操作之一數目超過該選定值時,該條件得到滿足。
- 如請求項37之裝置,其中該組件包含一用以對寫入操作之該數目進行計數之計數器。
- 如請求項32之裝置,其中該組件包含一用以儲存一偏移值之儲存單元,其中該組件針對一具有一基於該偏移值之位址之位置處的錯誤進行掃描。
- 如請求項32之裝置,其中該組件包含一用以確定一用以針對錯誤進行掃描之時間間隔的計時器。
- 如請求項40之裝置,其中該計時器包含一即時鐘。
- 一種於記憶體中掃瞄錯誤之裝置,其包含:一記憶體器件,其包括一記憶體陣列以儲存資訊;一組件,用以基於一掃瞄條件而針對該資訊中的錯誤進行掃描,該掃瞄條件包括對該記憶體陣列執行之讀取操作之至少一數目;及一包括在該記憶體器件中之電路用以設定該掃瞄條件。
- 如請求項42之裝置,其中該組件用於在該記憶體陣列中之讀取操作之該數目為約1000至約2000時針對錯誤進行掃描。
- 如請求項42之裝置,其中該記憶體陣列包含複數個區塊,且其中該組件用於在該複數個區塊之一區塊中之讀取操作之一數目超過一選定值時,針對錯誤進行掃描。
- 如請求項44之裝置,其中該組件用於儲存具有一約1000至約2000之值的該選定值。
- 如請求項42之裝置,其中該記憶體器件包含複數個區塊,且其中該組件用於在每次該組件待自該複數個區塊中之一選定區塊處之一第二位置讀取資訊時,針對該選定區塊中之第一位置處的錯誤進行掃描。
- 如請求項46之裝置,其中該組件用於每隔選定時間間隔針對錯誤進行掃描。
- 一種於快閃記憶體中掃瞄錯誤之系統,其包含:一快閃記憶體器件,其包含一電路,用以設定一針對儲存於該快閃記憶體器件之資訊中之錯誤進行掃描的條件,及一組件,用以在該條件得到滿足時,針對儲存於該快閃記憶體器件之該資訊中的錯誤進行掃描,其中該用以掃描之條件係基於對該記憶體器件之單元之存取之一數目及在將該資訊儲存於該記憶體器件中之後經過之一時間量中之至少一者而設定;及一處理器,用以處理儲存於該快閃記憶體器件中之資訊。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/843,466 US7770079B2 (en) | 2007-08-22 | 2007-08-22 | Error scanning in flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200917263A TW200917263A (en) | 2009-04-16 |
TWI397078B true TWI397078B (zh) | 2013-05-21 |
Family
ID=40076845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097132305A TWI397078B (zh) | 2007-08-22 | 2008-08-22 | 用於快閃記憶體中錯誤掃描之方法、裝置及系統 |
Country Status (7)
Country | Link |
---|---|
US (4) | US7770079B2 (zh) |
EP (1) | EP2198368B1 (zh) |
JP (2) | JP2010537314A (zh) |
KR (2) | KR101660049B1 (zh) |
CN (1) | CN101809541A (zh) |
TW (1) | TWI397078B (zh) |
WO (1) | WO2009025857A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713385B2 (en) | 2007-08-22 | 2014-04-29 | Micron Technology, Inc. | Error scanning in flash memory |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007046350A1 (ja) * | 2005-10-18 | 2007-04-26 | Nec Corporation | Mramの動作方法 |
WO2008133087A1 (ja) * | 2007-04-17 | 2008-11-06 | Nec Corporation | 半導体記憶装置及びその動作方法 |
US20090327581A1 (en) * | 2008-06-30 | 2009-12-31 | Coulson Richard L | Nand memory |
US8171332B2 (en) * | 2009-05-12 | 2012-05-01 | Himax Technologies Limited | Integrated circuit with reduced electromagnetic interference induced by memory access and method for the same |
US8775865B2 (en) | 2009-06-24 | 2014-07-08 | Headway Technologies, Inc. | Method and apparatus for scrubbing accumulated disturb data errors in an array of SMT MRAM memory cells including rewriting reference bits |
US9170879B2 (en) | 2009-06-24 | 2015-10-27 | Headway Technologies, Inc. | Method and apparatus for scrubbing accumulated data errors from a memory system |
US8456926B2 (en) * | 2010-11-18 | 2013-06-04 | Grandis, Inc. | Memory write error correction circuit |
CN101794622B (zh) * | 2010-02-10 | 2012-12-12 | 华为数字技术(成都)有限公司 | 存储设备的数据扫描方法和装置 |
US8320185B2 (en) * | 2010-03-31 | 2012-11-27 | Micron Technology, Inc. | Lifetime markers for memory devices |
US8429391B2 (en) | 2010-04-16 | 2013-04-23 | Micron Technology, Inc. | Boot partitions in memory devices and systems |
US8451664B2 (en) | 2010-05-12 | 2013-05-28 | Micron Technology, Inc. | Determining and using soft data in memory devices and systems |
US8990538B2 (en) | 2010-11-05 | 2015-03-24 | Microsoft Corporation | Managing memory with limited write cycles in heterogeneous memory systems |
US8627176B2 (en) | 2010-11-30 | 2014-01-07 | Microsoft Corporation | Systematic mitigation of memory errors |
KR101826140B1 (ko) | 2011-08-04 | 2018-03-22 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 메모리 시스템 |
US9176800B2 (en) | 2011-08-31 | 2015-11-03 | Micron Technology, Inc. | Memory refresh methods and apparatuses |
US8862952B1 (en) * | 2012-03-16 | 2014-10-14 | Western Digital Technologies, Inc. | Prioritized memory scanning for data storage systems |
US9032271B2 (en) * | 2012-12-07 | 2015-05-12 | Western Digital Technologies, Inc. | System and method for lower page data recovery in a solid state drive |
US8869009B2 (en) * | 2013-02-11 | 2014-10-21 | Apple Inc. | Read commands specifying error performance |
FR3003051B1 (fr) * | 2013-03-08 | 2016-07-29 | Peugeot Citroen Automobiles Sa | Methode de verification de l'integrite des donnees d'un calculateur embarque |
US9367391B2 (en) | 2013-03-15 | 2016-06-14 | Micron Technology, Inc. | Error correction operations in a memory device |
GB201322075D0 (en) | 2013-12-13 | 2014-01-29 | Ibm | Device for selecting a level for at least one read voltage |
KR102182368B1 (ko) * | 2013-12-19 | 2020-11-24 | 에스케이하이닉스 주식회사 | 어드레스 검출회로 및 이를 포함하는 메모리 |
US9558107B2 (en) | 2013-12-24 | 2017-01-31 | International Business Machines Corporation | Extending useful life of a non-volatile memory by health grading |
JP2015148859A (ja) * | 2014-02-05 | 2015-08-20 | コニカミノルタ株式会社 | 情報処理装置及び起動制御プログラム並びに起動制御方法 |
US9563373B2 (en) | 2014-10-21 | 2017-02-07 | International Business Machines Corporation | Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management |
US10365859B2 (en) | 2014-10-21 | 2019-07-30 | International Business Machines Corporation | Storage array management employing a merged background management process |
KR102264757B1 (ko) | 2014-11-11 | 2021-06-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10339048B2 (en) | 2014-12-23 | 2019-07-02 | International Business Machines Corporation | Endurance enhancement scheme using memory re-evaluation |
US9990279B2 (en) | 2014-12-23 | 2018-06-05 | International Business Machines Corporation | Page-level health equalization |
JP6515752B2 (ja) | 2015-09-07 | 2019-05-22 | 富士通株式会社 | ストレージ制御装置、制御方法、および制御プログラム |
US10241856B2 (en) * | 2016-09-09 | 2019-03-26 | Oracle International Corporation | Memory quarantine |
US10545810B2 (en) * | 2016-12-22 | 2020-01-28 | Western Digital Technologies, Inc. | Method and apparatus for monitoring non-volatile memory read errors using background media scan |
KR102347184B1 (ko) | 2017-05-23 | 2022-01-04 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
US10366770B1 (en) * | 2018-02-28 | 2019-07-30 | Toshiba Memory Corporation | Bit error rate estimation for NAND flash memory |
KR102499061B1 (ko) | 2018-08-22 | 2023-02-13 | 삼성전자주식회사 | 상 변화 메모리 장치를 포함하는 반도체 메모리 장치 및 상 변화 메모리 장치를 액세스하는 방법 |
GB2577120B (en) * | 2018-09-14 | 2022-06-01 | Siemens Ind Software Inc | Error detection within an integrated circuit chip |
US11061754B2 (en) * | 2019-08-06 | 2021-07-13 | Alteryx, Inc. | Error handling during asynchronous processing of sequential data blocks |
CN112002369A (zh) * | 2020-07-13 | 2020-11-27 | 珠海妙存科技有限公司 | 提升闪存数据安全性的扫描方法 |
US20240054070A1 (en) * | 2020-12-23 | 2024-02-15 | Micron Technology, Inc | A dynamic read disturb management algorithm for flash-based memory |
US11923022B2 (en) | 2021-10-27 | 2024-03-05 | SK Hynix Inc. | Storage device and operating method for controller |
US12014087B2 (en) | 2022-07-20 | 2024-06-18 | Silicon Motion, Inc. | Method and apparatus for performing data management of memory device with aid of targeted protection control |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6046937A (en) * | 1998-07-28 | 2000-04-04 | Denso Corporation | Electronic control unit and method for storing rewrite count of nonvolatile memory |
US6336203B1 (en) * | 1995-05-30 | 2002-01-01 | Mitsubishi Denki Kabushiki Kaisha | Error correction coding and decoding method, and circuit using said method |
US6993690B1 (en) * | 1998-12-16 | 2006-01-31 | Hagiwara Sys-Com Co., Ltd. | Memory unit having memory status indicator |
US20060039196A1 (en) * | 2003-10-03 | 2006-02-23 | Gorobets Sergey A | Corrected data storage and handling methods |
US20070168603A1 (en) * | 2006-01-17 | 2007-07-19 | Kabushiki Kaisha Toshiba | Information recording apparatus and control method thereof |
US7356442B1 (en) * | 2006-10-05 | 2008-04-08 | International Business Machines Corporation | End of life prediction of flash memory |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5359569A (en) * | 1991-10-29 | 1994-10-25 | Hitachi Ltd. | Semiconductor memory |
JPH06131895A (ja) * | 1992-10-14 | 1994-05-13 | Toshiba Corp | 半導体メモリチップ |
KR970008188B1 (ko) * | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
JP2577120Y2 (ja) * | 1993-04-15 | 1998-07-23 | 株式会社アドバンテスト | 過剰パルス印加の禁止回路 |
JP3176019B2 (ja) * | 1995-04-05 | 2001-06-11 | 株式会社東芝 | 不揮発性半導体記憶部を含む記憶システム |
JPH09237162A (ja) * | 1996-02-23 | 1997-09-09 | Hewlett Packard Co <Hp> | 走査型データ記憶システム、及びその針摩耗管理方法、媒体摩耗管理方法、並びに残存寿命表示装置 |
US5928370A (en) * | 1997-02-05 | 1999-07-27 | Lexar Media, Inc. | Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure |
US7139196B2 (en) | 1999-01-14 | 2006-11-21 | Silicon Storage Technology, Inc. | Sub-volt sensing for digital multilevel flash memory |
JP3975245B2 (ja) * | 1999-12-16 | 2007-09-12 | 株式会社ルネサステクノロジ | 記録再生装置および半導体メモリ |
JP3812933B2 (ja) * | 2001-04-19 | 2006-08-23 | シャープ株式会社 | ファイルシステムおよびその制御方法 |
JP4064154B2 (ja) * | 2001-05-31 | 2008-03-19 | 株式会社半導体エネルギー研究所 | 不揮発性メモリ及びそれを用いた電子機器 |
JP2003007093A (ja) * | 2001-06-20 | 2003-01-10 | Matsushita Electric Ind Co Ltd | 半導体記憶装置の検査方法 |
JP4122750B2 (ja) * | 2001-10-24 | 2008-07-23 | 沖電気工業株式会社 | 半導体記憶装置および半導体記憶装置のデータ書き込み方法 |
JP4073799B2 (ja) * | 2003-02-07 | 2008-04-09 | 株式会社ルネサステクノロジ | メモリシステム |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
JP4135680B2 (ja) * | 2004-05-31 | 2008-08-20 | ソニー株式会社 | 半導体記憶装置および信号処理システム |
US7290185B2 (en) * | 2005-04-28 | 2007-10-30 | International Business Machines Corporation | Methods and apparatus for reducing memory errors |
JP4950886B2 (ja) * | 2005-07-15 | 2012-06-13 | パナソニック株式会社 | 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法 |
US7747907B2 (en) * | 2005-09-20 | 2010-06-29 | Seagate Technology Llc | Preventive recovery from adjacent track interference |
US20070089032A1 (en) * | 2005-09-30 | 2007-04-19 | Intel Corporation | Memory system anti-aliasing scheme |
WO2007083449A1 (ja) * | 2006-01-20 | 2007-07-26 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶装置、不揮発性記憶システム、及び不揮発性記憶装置の不良管理方法 |
US7707481B2 (en) * | 2006-05-16 | 2010-04-27 | Pitney Bowes Inc. | System and method for efficient uncorrectable error detection in flash memory |
JP4908083B2 (ja) * | 2006-06-30 | 2012-04-04 | 株式会社東芝 | メモリコントローラ |
US20080092015A1 (en) * | 2006-09-28 | 2008-04-17 | Yigal Brandman | Nonvolatile memory with adaptive operation |
US8060798B2 (en) | 2007-07-19 | 2011-11-15 | Micron Technology, Inc. | Refresh of non-volatile memory cells based on fatigue conditions |
US7770079B2 (en) | 2007-08-22 | 2010-08-03 | Micron Technology Inc. | Error scanning in flash memory |
-
2007
- 2007-08-22 US US11/843,466 patent/US7770079B2/en active Active
-
2008
- 2008-08-22 WO PCT/US2008/010005 patent/WO2009025857A1/en active Application Filing
- 2008-08-22 TW TW097132305A patent/TWI397078B/zh active
- 2008-08-22 JP JP2010521891A patent/JP2010537314A/ja active Pending
- 2008-08-22 EP EP08795536.5A patent/EP2198368B1/en active Active
- 2008-08-22 CN CN200880109070A patent/CN101809541A/zh active Pending
- 2008-08-22 KR KR1020107006146A patent/KR101660049B1/ko active IP Right Grant
- 2008-08-22 KR KR1020167014244A patent/KR20160065222A/ko not_active Application Discontinuation
-
2010
- 2010-07-29 US US12/846,629 patent/US8095835B2/en active Active
-
2012
- 2012-01-09 US US13/346,538 patent/US8356216B2/en active Active
-
2013
- 2013-01-14 US US13/741,148 patent/US8713385B2/en active Active
- 2013-10-17 JP JP2013216759A patent/JP5719902B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336203B1 (en) * | 1995-05-30 | 2002-01-01 | Mitsubishi Denki Kabushiki Kaisha | Error correction coding and decoding method, and circuit using said method |
US6046937A (en) * | 1998-07-28 | 2000-04-04 | Denso Corporation | Electronic control unit and method for storing rewrite count of nonvolatile memory |
US6993690B1 (en) * | 1998-12-16 | 2006-01-31 | Hagiwara Sys-Com Co., Ltd. | Memory unit having memory status indicator |
US20060039196A1 (en) * | 2003-10-03 | 2006-02-23 | Gorobets Sergey A | Corrected data storage and handling methods |
US20070168603A1 (en) * | 2006-01-17 | 2007-07-19 | Kabushiki Kaisha Toshiba | Information recording apparatus and control method thereof |
US7356442B1 (en) * | 2006-10-05 | 2008-04-08 | International Business Machines Corporation | End of life prediction of flash memory |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713385B2 (en) | 2007-08-22 | 2014-04-29 | Micron Technology, Inc. | Error scanning in flash memory |
Also Published As
Publication number | Publication date |
---|---|
US8095835B2 (en) | 2012-01-10 |
EP2198368A1 (en) | 2010-06-23 |
WO2009025857A1 (en) | 2009-02-26 |
TW200917263A (en) | 2009-04-16 |
EP2198368B1 (en) | 2018-11-14 |
US20090055697A1 (en) | 2009-02-26 |
CN101809541A (zh) | 2010-08-18 |
US8356216B2 (en) | 2013-01-15 |
KR101660049B1 (ko) | 2016-09-26 |
KR20160065222A (ko) | 2016-06-08 |
US20130132805A1 (en) | 2013-05-23 |
US20100313077A1 (en) | 2010-12-09 |
JP5719902B2 (ja) | 2015-05-20 |
US20120110399A1 (en) | 2012-05-03 |
US7770079B2 (en) | 2010-08-03 |
US8713385B2 (en) | 2014-04-29 |
KR20100046265A (ko) | 2010-05-06 |
JP2010537314A (ja) | 2010-12-02 |
JP2014041644A (ja) | 2014-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI397078B (zh) | 用於快閃記憶體中錯誤掃描之方法、裝置及系統 | |
US11231992B2 (en) | Memory systems for performing failover | |
US9268638B2 (en) | Flash memory control method, controller and electronic apparatus | |
US20080126776A1 (en) | Electronic apparatus | |
JP4538034B2 (ja) | 半導体記憶装置、及びその制御方法 | |
CN110347530B (zh) | 数据存储装置及其操作方法 | |
US20100241796A1 (en) | Memory system protected from errors due to read disturbance and reading method thereof | |
US9361036B2 (en) | Correction of block errors for a system having non-volatile memory | |
JP2010517168A (ja) | Nandメモリのためのプログラミング管理データ | |
US20220179566A1 (en) | Recycled version number values in flash memory | |
KR20110099570A (ko) | 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템 | |
KR20150029402A (ko) | 데이터 저장 시스템 및 그것의 동작 방법 | |
US20100138588A1 (en) | Memory controller and a method of operating an electrically alterable non-volatile memory device | |
KR20190029316A (ko) | 마이크로 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작방법 | |
US9304854B2 (en) | Semiconductor device and operating method thereof | |
US10109373B2 (en) | Data storage apparatus and operating method thereof | |
KR20170143084A (ko) | 반도체장치 및 반도체시스템 | |
CN116340049A (zh) | 存储器系统及操作存储器系统的方法 | |
JP2006113791A (ja) | 記憶装置、データ処理システムおよび記憶制御方法 |