TWI391931B - 將資料安全地儲存於一非揮發性記憶體陣列中之方法以及非揮發性記憶體系統 - Google Patents
將資料安全地儲存於一非揮發性記憶體陣列中之方法以及非揮發性記憶體系統 Download PDFInfo
- Publication number
- TWI391931B TWI391931B TW097136681A TW97136681A TWI391931B TW I391931 B TWI391931 B TW I391931B TW 097136681 A TW097136681 A TW 097136681A TW 97136681 A TW97136681 A TW 97136681A TW I391931 B TWI391931 B TW I391931B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- transformed
- memory array
- memory
- stored
- 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/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
- Storage Device Security (AREA)
Description
本發明係關於非揮發性記憶體及形成非揮發性記憶體之方法。詳言之,本申請案係關於非揮發性記憶體陣列,其中浮閘記憶體單元個別地保持資料之一或多個位元。本申請案主張2007年9月25日申請之美國專利申請案第11/861,146號的優先權及權利,為了所有目的,該案以全文引用之方式併入本文中。
非揮發性記憶體系統用於各種應用中。一些非揮發性記憶體系統嵌入於諸如個人電腦之較大系統中。其他非揮發性記憶體系統以可卸除方式連接至主機系統且可在不同主機系統之間互換。此等可卸除式記憶體系統之實例包括記憶體卡及USB快閃記憶體驅動器。包括非揮發性記憶體卡之電子電路卡已根據許多熟知標準而在商業上實施。記憶體卡配合個人電腦、蜂巢式電話、個人數位助理(PDA)、數位靜態相機、數位電影攝影機、攜帶型音訊播放器及用於儲存大量資料的其他主機電子裝置而使用。此等卡通常含有一可再程式化之非揮發性半導體記憶體單元陣列連同一控制器,該控制器控制並支援記憶體單元陣列之操作且與該卡所連接至之主機介面連接。若干相同類型之卡可在經設計以收納該類型之卡的主機卡槽中互換。然而,許多電子卡標準之發展已產生在各種程度上彼此不相容的不同類型之卡。根據一標準製造之卡通常不可配合一經設計以配合另一標準之卡操作的主機而使用。記憶體卡標準包括PC卡標準、CompactFlashTM
卡(CFTM
卡)標準、SmartMediaTM
卡標準,多媒體卡(MMCTM
)標準、安全數位(SD)卡標準、miniSDTM
卡標準、用戶識別模組(SIM)標準、Memory StickTM
標準、記憶棒雙重卡(Duo card)標準及microSD/TransFlashTM
記憶體模組標準。存在可以商標“Cruzer”自SanDisk公司購得的若干USB快閃記憶體驅動器產品。USB快閃記憶體驅動器通常比上文描述之記憶體卡大且形狀與上文描述之記憶體卡不同。固態驅動器(SSD)在應用中使用非揮發性記憶體系統,其中硬碟機(HDD)在傳統上已被使用,諸如在膝上型電腦中。
不同類型之記憶體陣列架構用於非揮發性記憶體系統中。使用浮閘以儲存電荷之快閃記憶體記憶體陣列為記憶體陣列之一普通類型。在一類型之架構(NAND陣列)中,一系列兩個以上(諸如16或32個)記憶體單元之串連同一或多個選擇電晶體連接於個別位元線與參考電位之間以形成單元之行。字線延伸跨越大量此等行內的單元。在稱為單級單元(SLC)設計的設計中,個別記憶體單元可保持一位元之資料。在一些實例中,在稱為多級單元(MLC)設計的設計中,記憶體單元可保持兩個或兩個以上位元之資料。
可靠性通常為記憶體產品中之重要特徵,且對於某些工業應用尤其重要。因此,存在對具有高可靠性之非揮發性記憶體系統的需要。
獨立磁碟冗餘陣列(RAID)技術及資料擾碼之組合可在非揮發性記憶體陣列中提供高可靠性。詳言之,在不同資料擾碼用於提供冗餘之不同裝置的情況下,每一裝置含有一不同資料樣式,即使原始(未擾碼)資料對於每一裝置為相同的。因此,由裝置中之特定資料樣式所引發之任何錯誤由於所使用之不同擾碼而不在多個裝置中重複。使用此擾碼之RAID系統並有針對資料樣式引發之錯誤以及裝置故障之保護。
根據本發明之一實施例將資料安全地儲存於非揮發性記憶體陣列中之方法包含:根據第一變換來變換資料之一部分以獲得第一經變換資料;將第一經變換資料儲存於記憶體陣列之第一部分中;根據第二變換來變換資料之部分以獲得第二經變換資料;及在第一經變換資料儲存於記憶體陣列之第一部分中的同時將第二經變換資料儲存於記憶體陣列之第二部分中,以提供資料之部分的冗餘儲存。
根據本發明之一實施例的非揮發性記憶體系統包含:記憶體陣列之第一部分;第一資料擾碼器單元,其連接至記憶體陣列之第一部分以在儲存於記憶體陣列之第一部分中之前根據第一變換對資料進行擾碼;記憶體陣列之第二部分;及第二資料擾碼器單元,其連接至記憶體陣列之第二部分以在儲存於記憶體陣列之第二部分中之前根據第二變換對資料進行擾碼,第二資料擾碼器單元與第一資料擾碼器單元並聯連接。
使用各種方法以達成非揮發性記憶體系統中之高可靠性資料儲存。經由冗餘改良可靠性之某些方法使用獨立磁碟冗餘陣列(RAID)。存在不同類型之RAID系統,其使用鏡射、等量化(striping)及同位檢查(parity)資料或此等技術之某組合。儘管術語RAID通常與硬碟機(HDD)相關聯,但RAID技術可配合其他類型之記憶體(包括諸如快閃記憶體之非揮發性記憶體陣列)而使用。
圖1展示兩個裝置,裝置1及裝置2,其以鏡射配置而連接(亦被稱為RAID 1)。鏡射意謂儲存於裝置1中之相同資料A0、A1、A2、A3亦儲存於裝置2中,使得在裝置2中存在每一資料單位之冗餘複本。在其他實例中,兩個以上之裝置可以此方式連接以提供相同資料之兩個以上複本。一般而言,在兩個或兩個以上裝置中保持相同資料之單獨的複本提供免於任何個別裝置之故障之保護。因此,若在圖1中裝置1出故障,則儲存於裝置1中之所有資料可替代地自裝置2得到修復。
雖然分離裝置中之資料的冗餘複本保護不受裝置故障之影響,但其不保護不受所有可能形式之資料損失的影響。詳言之,在某些非揮發性記憶體陣列中,資料儲存之特定樣式可增加資料變惡化的可能性。此情況可由於在鄰近單元之間的互動而出現,其中單元之浮閘不僅影響其下伏通道,而亦影響相鄰通道且因此影響相鄰單元之臨限電壓。此對於單元臨限電壓之小改變可導致儲存於單元中之一或多個位元被不正確讀取的MLC記憶體系統尤其為一問題。該問題傾向於隨記憶體陣列中之尺寸變小及單元之間的互動變強而變得愈加嚴重。舉例而言,最初程式化至低臨限電壓之MLC單元(其浮閘上幾乎無電荷或無電荷)之臨限電壓稍後可升高,因為相鄰單元程式化至高臨限電壓(在其浮閘上存在大量電荷)。此可被視為一形式之程式化干擾。哪些特定資料樣式引起程式化干擾,及所引起干擾之程度(稍後錯誤讀取之位元的數目)視記憶體架構而定。因此,可存在即使在記憶體陣列於其設計限制內工作之情況下仍將使得儲存於特定記憶體陣列中之資料被錯誤讀取的特定資料樣式。避免此等資料樣式通常為理想的。
許多記憶體系統包括某形式之錯誤校正編碼(ECC)以便允許含有一些錯誤位元之資料被偵測且校正。為了如此做,資料以某冗餘儲存。當讀取資料時,冗餘允許針對錯誤檢查資料,且達某有限數目之多的錯誤可經校正。然而,為了校正大數目之錯誤,需要高度冗餘(大數目之額外位元),此並非對記憶體空間之有效使用。通常,所使用之冗餘度係基於預期錯誤率(例如,基於預期存在缺陷之單元的數目)且可能不足以校正諸如由特定資料樣式所引起之大量錯誤。詳言之,資料樣式引發之錯誤可在曝露於類似條件之單元中的資料之相同部分中一同出現,且ECC通常限於校正資料之此部分中之僅有限數目的位元。因此,ECC單獨可能不足以克服某些記憶體系統中之資料樣式引發之錯誤。
圖2展示一實例,其中裝置1及裝置2儲存相同資料之相同複本。在此種狀況下,資料A2之一部分具有一資料樣式使得當A2經儲存且稍後讀取時,所讀取之資料由於單元之間的互動而具有大量錯誤。此可包括A2內之單元的互動及與A2外之單元的互動。詳言之,一列中之單元傾向於受同一區塊之鄰近列中之單元的影響。在此種狀況下,資料A2中之錯誤的數目超出所使用之ECC方案的校正能力且資料被認為不可由ECC校正。資料部分A2可為任一資料單位,諸如,512位元組之區段(加附加項)、頁(寫入單位)或區塊(抹除之最小單位)。資料A2同樣地儲存於裝置1與裝置2兩者中,因此相同樣式出現在每一裝置中。因此,兩個裝置中之資料A2的複本均受影響且兩個複本均不可修復。因此,在此種狀況下,鏡射單獨不提供足以使得能夠修復所有資料之可靠性水準。
圖3展示在不同裝置之間的資料等量化之第一實例(RAID 0)。資料經接收為三個檔案,檔案A、檔案B及檔案C,如所示。此等檔案接著如所示而跨越裝置1-4展開。詳言之,檔案A在裝置1中儲存為A0且在裝置2中儲存為A1。檔案B儲存為B0-B6,其跨越裝置1-4而展開。且檔案C儲存為C0-C9,其跨越裝置1-4而展開。在此實例中的資料之等量區(strip)由每一裝置中之一資料單位組成,例如,A0、A1、B0及B1共同構成一等量區。在此實例中,每一等量區含有2千位元組之資料。圖4展示另一實例,其中相同資料使用較大等量區大小而跨越相同裝置等量化,其中每一等量區含有4千位元組之資料。儘管等量化不提供任何冗餘,但其可改良可靠性,因為資料經分解且可另外引發錯誤之資料樣式可得到避免。等量化資料可改良效能,因為其促進跨越多個裝置以高度並行性進行的程式化。
圖5A展示使用鏡射及等量化之組合之記憶體系統的實例。資料在裝置1與裝置2之間等量化,且裝置1及裝置2中之資料鏡射於裝置3及裝置4中。應用RAID 0及RAID 1之態樣的此混合配置可被稱為RAID 0+1。如圖5B中所示,當某些樣式出現在所儲存資料中時,此配置仍受問題之損害。詳言之,若資料A2在裝置1中之儲存歸因於資料樣式而引起不可校正數目之錯誤,則儲存於裝置3中之資料A2的複本亦含有不可校正數目之錯誤。類似地,裝置2及裝置4中之資料A7的兩個複本均為不可校正的,因此不存在A2或A7之可修復複本。
圖6A展示RAID 0及RAID 1之替代組合,其可被稱為RAID 10。在此配置中,裝置1中之資料鏡射於裝置2中。儲存於裝置1及裝置2中之相同資料跨越裝置3及裝置4等量化。然而,如圖6B中所示,在資料A2之一複本由於其資料樣式而不可校正的情況下,其他裝置中之資料A2的其他複本亦不可校正。
針對可使資料在其被讀取時不可校正之資料樣式的一解決方法為在儲存之前對資料進行擾碼。擾碼使資料經受某變換使得經變換資料具有與未經變換資料不同的樣式。詳言之,此擾碼可將某隨機化引入至資料中之重複樣式中。變換之簡單實例為反轉(或倒轉)所有位元,亦即,將所有零改變為一且將所有一改變為零。其他變換涉及對待儲存之資料及某系列之位元執行互斥或(XOR)運算。不同於ECC,擾碼不添加冗餘位元,因此經擾碼之資料包括與原始資料相同數目之位元。在一些狀況下,變換可壓縮資料,從而減少待儲存位元之數目。一些變換使用可分解資料樣式之資料安全演算法。
圖7A展示一實例,其中資料擾碼器單元或資料擾碼器(DS)連接至裝置1-4,使得待儲存於裝置1-4中之所有資料在儲存之前經擾碼。擾碼在圖7A中由撇號指示,使得A0經變換以變成A0'等。圖7A展示如圖6A中之RAID 10配置,其中資料在裝置1與裝置2之間鏡射,且相同資料跨越裝置3及裝置4而經等量化。雖然擾碼資料可導致具有不引起干擾之樣式的經變換資料,但在一些狀況下,經變換資料將具有讀取時引起錯誤之樣式。在一些狀況下,未經擾碼將不引起錯誤之資料經變換為引起錯誤之樣式。圖7B展示擾碼之結果,其中經變換資料A2'及A3'具有讀取時引起錯誤之樣式。由於此等樣式引起錯誤且該等樣式在資料之每一複本中被複製,因此無資料之可修復複本可用。因此,在此種狀況下,除鏡射及等量化以外使用單一資料擾碼器單元之擾碼不足以確保可靠性。
圖8A展示根據本發明之實施例之資料儲存系統。記憶體系統接收由第一資料擾碼器DS'根據第一變換而變換之資料A0、A1、A2、A3……之單位的序列。由DS'變換之資料(A0'、A1'、A2'、A3'……)儲存於裝置1中。資料A0、A1、A2、A3……亦由第二資料擾碼器DS*變換(變換為A0*、A1*、A2*、A3*……)且經儲存。因此,資料A0經變換為A0'用於儲存於裝置1中且資料A0經變換為A0*用於儲存於裝置2中。資料A0'具有與資料A0*不同的樣式。因此,儲存資料A0'之裝置1之單元的臨限電壓可與儲存資料A0*之裝置2中的相應單元不同。類似地,對於資料之其他部分,不同複本在儲存之前經歷不同變換使得不複製相同的資料樣式。如上所論述,有時經擾碼資料可具有使得所儲存資料不可校正之樣式。圖8B展示歸因於儲存時之資料樣式而不可校正的經變換資料A1'。然而,經變換資料A1*在儲存時具有不同的資料樣式,因此經變換資料A1*並非不可校正。因此,即使資料A1'不可修復,原始(未變換)資料A1之複本仍可自資料A1*獲得。類似地,若任何其他資料單位歸因於變換及儲存時之資料樣式而不可校正,則原始資料仍可修復,因為資料在儲存於另一裝置之前亦經受另一變換。因此,圖8B之配置提供針對裝置故障(亦即,若裝置1或裝置2出故障)及資料樣式引發之錯誤之保護。雖然此方法在於兩個獨立裝置中儲存資料上類似於鏡射,但兩個裝置保持作為擾碼結果之不同資料樣式。因此,裝置2中之資料不鏡射裝置1中之資料且此並非真實鏡射。
圖9A展示使用RAID 0+1之另一實例,其中兩個不同擾碼器單元DS'、DS*執行兩個不同資料變換。資料擾碼器DS'服務於裝置1及裝置2,而資料擾碼器DS*服務於裝置3及裝置4。因此,儲存於裝置1及裝置2中之所有資料經受第一變換,而相同資料在儲存於裝置3及裝置4之前經受第二變換。資料在裝置1與裝置2之間等量化,且資料亦在裝置3與裝置4之間等量化。在其他實例中,兩個以上裝置之組可共用資料擾碼器且使資料以此方式等量化。圖9B展示出現在經變換資料A2'及經變換資料A7*中之資料樣式引發之錯誤。原始資料A2可藉由讀取A2*且對其加以變換(反轉產生A2*之變換)來修復。由於A2*儲存時具有不同於A2'之資料樣式,因此不太可能兩個樣式均引發錯誤。類似地,即使A7*不可修復,原始資料A7仍可自A7'重建。用於此實例中之等量化可允許在程式化期間之較大並行度,其改良效能。雖然針對每一裝置可提供不同資料擾碼器單元(亦即,單獨的資料擾碼器用於裝置1、2、3及4),但通常為儲存等量化資料之一組裝置提供一資料擾碼器為足夠的,因為此等裝置通常不含有資料之任一特定部分的一個以上複本。
圖10A展示具有RAID 10組態之替代記憶體系統。由記憶體系統所接收之資料在其儲存於裝置1中之前經受由資料擾碼器DS'進行之第一變換。所接收資料亦在儲存於裝置2中之前經受由資料擾碼器DS*進行之第二變換。所接收資料亦在儲存於裝置3及裝置4中之前經受由資料擾碼器DS"進行之第三變換。經變換資料跨越裝置3及裝置4而經等量化。因此,在此實例中,若任一變換導致當讀取資料時引發錯誤之資料,則存在兩個其他位置(資料可自該等位置修復)。舉例而言,圖10B展示由於資料樣式引發之錯誤而不可修復之資料A2'及資料A3"。然而,對於此等資料單位中之每一者,存在兩個其他版本(A2*、A2"、A3'及A3*),原始資料可自其修復。
圖10C展示讀取時不可由ECC校正之圖10B之資料A2'及A3"的部分如何可由自另一裝置產生之資料替換。舉例而言,當發現裝置1中之A2'不可由ECC校正時,原始資料A2自儲存於裝置2中之資料A2*修復。原始資料A2亦可經受又一變換以提供資料A2**。此變換可藉由將由資料擾碼器DS'所執行之變換修改為與早先變換不同來執行。在此替換之後,存在三個裝置,原始資料A2可自其修復。類似地,裝置4中之資料A3"不可由ECC校正,但原始資料A3自裝置2中之資料A3*修復。原始資料A3接著經變換以提供資料A3**,其替換不可校正資料A3"。資料A3至A3**之變換由資料擾碼器DS"執行,該資料擾碼器DS"經修改以執行不同於針對先前儲存之資料執行之變換的變換。在此實例中,資料A2**及A3**為類似變換之結果。然而,在其他狀況下,當執行替換時在不同裝置中可使用不同變換。
在一些記憶體系統中,根據金鑰(key)執行資料變換。舉例而言,經變換資料可為對原始資料及金鑰之XOR運算的產物。為了修復原始資料,反轉該運算。金鑰可週期性地改變(例如,對於每一區段、每一頁、每一區塊或某其他樣式改變)。通常使用有限數目之金鑰,使得存在金鑰使用之重複樣式。然而,在此系統配合資料等量化而使用的情況下,在任一裝置中可使用金鑰總數之僅一小部分,導致金鑰樣式比預期早地重複。圖11A展示裝置1,其中使用32個金鑰(金鑰0至金鑰31)來對具有四個裝置(裝置1至裝置4)之記憶體系統內的資料進行擾碼,金鑰在頁與頁之間改變。對於32個金鑰之情況,金鑰使用之樣式在32頁之後重複。然而,若此方案應用於如圖11B中所示使用等量化之記憶體系統中,則金鑰早得多地重複。在此種狀況下,在僅8頁之後重複。樣式如此早重複通常為不合需要的,因為若金鑰較早重複,則記憶體單元互動之風險增加。
圖12A展示另一實例,其中單一資料擾碼器DS使用有限數目之金鑰以在資料跨越裝置1-4等量化之前對資料進行擾碼。如可見,用於每一裝置中之金鑰限於金鑰之特定子集,且因此金鑰較早在裝置內重複。
圖12B展示針對每一裝置使用不同資料擾碼器之替代組態,其中每一資料擾碼器使用金鑰之全集使得在每一裝置中使用所有金鑰。此增加在同一金鑰之重複使用之間的間隔,且因此降低以將導致資料惡化之方式對準的記憶體單元狀態之可能性。因此,甚至在不提供冗餘之情況下,針對每一裝置使用不同擾碼亦可為有利的。圖12B展示由每一資料擾碼器使用相同金鑰樣式。在其他實例中,不同資料擾碼器可以不同次序使用金鑰。舉例而言,每一資料擾碼器可以不同金鑰開始(例如,資料擾碼器DS1可以金鑰0開始,資料擾碼器DS2可以金鑰8開始,資料擾碼器DS3可以金鑰16開始,且DS4可以金鑰24開始)。每一擾碼器可具有一初始金鑰或種子,後續金鑰係自該初始金鑰或種子予以導出。確保資料在不同裝置中之不同變換的一方式為使用不同種子來初始化其各別資料擾碼器。在其他實例中,可控制資料擾碼器使得每一資料擾碼器在對相同資料進行擾碼時使用不同金鑰。
圖13展示在專用裝置中保持同位檢查資料的實例(RAID4)。在此種狀況下,同位檢查資料排他地儲存於裝置4中。裝置4中之同位檢查資料係自儲存於裝置1-3中之資料予以導出。可在對資料進行擾碼之前或之後導出同位檢查資料。同位檢查資訊藉由允許一裝置中之資料自包括同位檢查資料之其他裝置中之資料重建來添加針對故障的保護之額外水準。一般而言,由於在無論何時寫入或讀取資料時執行同位檢查運算之時間,使用同位檢查資料不僅增加冗餘而亦引起效能損失。每一裝置具有一專用資料擾碼器,使得資料擾碼金鑰不在裝置內頻繁重複。
圖14展示一實例,其中同位檢查資料跨越所有裝置而分布(RAID 5),在此實例中,每一等量區包括自等量區中之其他資料導出的同位檢查資料。舉例而言,同位檢查0係自A0、A1及B0予以導出。同位檢查1係自B1、B2及B3予以導出。此實例亦展示用於每一裝置之專用資料擾碼器。
某些實例展示附接至個別裝置之專用資料擾碼器單元。此可經由硬體藉由具有專用電路(例如,記憶體晶粒上之周邊電路)達成。在其他實例中,資料擾碼可藉由控制器中之韌體達成,使得同一硬體用於不同電路,但韌體確保根據目的裝置執行不同變換。其他硬體亦可同時將不同擾碼提供至一個以上裝置。因此,可達成不同擾碼方案而未必需要用於每一裝置之不同硬體。
以上所述之各種方案可與提供高可靠性之其他方案組合或用於替換提供高可靠性之其他方案。舉例而言,方案通常與ECC方案組合,該ECC方案提供針對歸因於資料之一部分中之小數目錯誤之故障的保護。一般而言,以上所述之方案在記憶體系統(例如,可卸除式記憶體卡或USB快閃記憶體驅動器)內執行且可對主機不可見。在一些狀況下,保護程度或特定保護方案可由使用者經由主機或以其他方式選擇。在一些狀況下,主機系統可具有除記憶體系統中之任一保護方案以外的其本身之保護方案。
本文所引用之所有專利、專利申請案、論文、書籍、說明書、其他公開案、文件及事物藉此為所有目的以全文引用方式併入本文中。就術語之定義或使用在所併入之公開案、文件或事物中之任一者與本文件之文字之間的任何不一致或衝突而言,該術語在本文件中之定義或使用應占主導。
儘管已關於某些較佳實施例描述了本發明之各種態樣,但應理解,本發明有權在隨附申請專利範圍之完整範疇內進行保護。
DS...資料擾碼器
DS1...資料擾碼器
DS2...資料擾碼器
DS3...資料擾碼器
DS4...資料擾碼器
DS'第一資料擾碼器
DS"...資料擾碼器
DS*...第二資料擾碼器
圖1展示使用鏡射之記憶體系統,其中儲存於第一裝置中之所有資料亦儲存於第二裝置中。
圖2展示圖1之記憶體系統,其中資料A2由於其儲存時之樣式而在其被讀取時不可由ECC校正。在裝置1及裝置2中之資料A2之複本均不可校正。
圖3展示使用等量化而儲存之資料,使用等量化儲存資料係用以跨越四個裝置分布資料。
圖4展示具有較大等量區之替代等量化配置。
圖5A展示使用資料之鏡射及等量化之記憶體系統。
圖5B展示圖5A之記憶體系統,其中資料A2及A7由於資料樣式引發之錯誤而在讀取時不可由ECC校正。
圖6A展示使用鏡射及等量化之替代記憶體系統。
圖6B展示圖6A之記憶體系統,其中資料A2由於資料樣式引發之錯誤而在讀取時不可由ECC校正。
圖7A展示使用鏡射及等量化之記憶體系統,其具有資料擾碼器單元以在資料儲存於記憶體系統中之前變換所有資料。
圖7B展示圖7A之記憶體系統,其中經變換資料A2'及A3'由於資料樣式引發之錯誤而在讀取時不可由ECC校正。
圖8A展示一替代記憶體系統,其具有用於裝置1之第一資料擾碼器單元及用於裝置2之第二資料擾碼器單元使得每一裝置中之資料經受不同變換。
圖8B展示由於資料樣式引發之錯誤而在讀取時不可由ECC校正之經變換資料A1',而經變換資料A1*仍可校正。
圖9A展示具有在裝置之間的資料等量化之替代配置,其中資料跨越共用資料擾碼器之裝置經等量化。
圖9B展示圖9A之記憶體系統,其中經變換資料A2'及A7*由於資料樣式引發之錯誤而不可由ECC校正,而經變換資料A2*及A7'保持可由ECC校正。
圖10A展示另一記憶體系統,其中一些裝置具有專用資料擾碼器且一些裝置共用資料擾碼器。
圖10B展示圖10A之記憶體系統,其中經變換資料A2'及A3"由於資料樣式引發之錯誤而在讀取時不可由ECC校正,而經變換資料A2*、A2"、A3'及A3*保持在讀取時可由ECC校正。
圖10C展示使用資料A2*對不可校正之經變換資料A2'的替換,及使用資料A3*對不可校正之經變換資料A3"進行之替換。
圖11A展示32個金鑰之集合,其依序用於在金鑰重複之前變換32個連續頁。
圖11B展示用於變換跨越四個裝置等量化之資料的32個金鑰,其中金鑰在每一裝置內在8頁之後重複。
圖12A展示使用單一資料擾碼器單元所儲存之資料,該資料擾碼器單元使用針對資料之每一頁改變之一組金鑰來變換資料。
圖12B展示具有用於每一裝置之單獨資料擾碼器單元的替代系統,其中每一資料擾碼器依序使用金鑰使得金鑰不在裝置內頻繁重複。
圖13展示一記憶體系統,其使用專用裝置以儲存同位檢查資料且具有用於每一裝置之專用資料擾碼器單元。
圖14展示跨越四個裝置分布同位檢查資料之記憶體系統,其中每一裝置具有一專用資料擾碼器單元。
DS'...第一資料擾碼器
DS*...第二資料擾碼器
Claims (14)
- 一種將資料安全地儲存於一非揮發性記憶體陣列中之方法,其包含:根據一第一變換來變換資料之一部分以獲得第一經變換資料;將該第一經變換資料儲存於該記憶體陣列之一第一部分中;根據一第二變換來變換資料之該部分以獲得第二經變換資料;在該第一經變換資料儲存於該記憶體陣列之該第一部分中的同時,將該第二經變換資料儲存於該記憶體陣列之一第二部分中,以提供資料之該部分的冗餘儲存;隨後,回應於試圖自該記憶體陣列之該第一部分讀取該第一經變換資料且判定該第一經變換資料不可由錯誤校正編碼(ECC)校正,自該記憶體陣列之該第二部分讀取該第二經變換資料,以及使用該第二經變換資料以修復資料之該部分,且隨後根據一第三變換來變換資料之該部分以獲得第三經變換資料,將該第三經變換資料儲存於該記憶體陣列之一第三部分中及抹除該儲存之第一經變換資料。
- 如請求項1之方法,其中該第一變換基於一第一種子對資料進行擾碼,且該第二變換基於一第二種子對資料進行擾碼。
- 如請求項1之方法,其中根據該第一變換來變換資料之 該部分與根據該第二變換來變換資料之該部分並行執行。
- 如請求項1之方法,其中該記憶體陣列之該第一部分為一第一區塊,且該記憶體陣列之該第二部分為一第二區塊。
- 如請求項1之方法,其中該記憶體陣列之該第一部分為一第一平面,且該記憶體陣列之該第二部分為一第二區段。
- 如請求項1之方法,其中該記憶體陣列之該第一部分為一第一晶粒,且該記憶體陣列之該第二部分為一第二頁。
- 一種非揮發性記憶體系統,其包含:一記憶體陣列;一記憶體控制器,其經組態以執行下列操作:根據一第一變換來變換資料之一部分以獲得第一經變換資料;將該第一經變換資料儲存於該記憶體陣列之第一部分中;根據第二變換來變換資料之該部分以獲得第二經變換資料;在該第一經變換資料儲存於該記憶體陣列之該第一部分中的同時,將該第二經變換資料儲存於該記憶體陣列之一第二部分中,以提供資料之該部分的冗餘儲存;隨後,回應於試圖自該記憶體陣列之該第一部分讀取 該第一經變換資料且判定該第一經變換資料不可由錯誤校正編碼(ECC)校正,自該記憶體陣列之該第二部分讀取該第二經變換資料,以及使用該第二經變換資料以修復資料之該部分,且隨後根據一第三變換來變換資料之該部分以獲得第三經變換資料,將該第三經變換資料儲存於該記憶體陣列之一第三部分中及抹除該儲存之第一經變換資料。
- 如請求項7之非揮發性記憶體系統,其中該記憶體控制器進一步包含一第一擾碼器單元,其含有用以使用一第一數目執行互斥或(XOR)運算之一第一XOR電路,以及一第二擾碼器單元,其含有用以使用一第二數目執行XOR運算之一第二XOR電路。
- 如請求項8之非揮發性記憶體系統,其中該第一擾碼器單元及該第二擾碼器單元並行地對該資料進行擾碼。
- 如請求項7之非揮發性記憶體系統,其中該記憶體陣列之該第一部分為一第一區塊,且該記憶體陣列之該第二部分為一第二區塊。
- 如請求項7之非揮發性記憶體系統,其中該記憶體陣列之該第一部分為一第一區段,且該記憶體陣列之該第二部分為一第二區段。
- 如請求項7之非揮發性記憶體系統,其中該記憶體陣列之該第一部分為一第一頁,且該記憶體陣列之該第二部分為一第二頁。
- 如請求項7之非揮發性記憶體系統,其中該記憶體系統 處於一可卸除式記憶體卡中。
- 如請求項7之非揮發性記憶體系統,其中該第一變換以及該第二變換為可逆之變換。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/861,146 US7873803B2 (en) | 2007-09-25 | 2007-09-25 | Nonvolatile memory with self recovery |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200921676A TW200921676A (en) | 2009-05-16 |
TWI391931B true TWI391931B (zh) | 2013-04-01 |
Family
ID=40282261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097136681A TWI391931B (zh) | 2007-09-25 | 2008-09-24 | 將資料安全地儲存於一非揮發性記憶體陣列中之方法以及非揮發性記憶體系統 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7873803B2 (zh) |
EP (1) | EP2193523B1 (zh) |
JP (1) | JP5341896B2 (zh) |
KR (1) | KR20100075891A (zh) |
CN (1) | CN101809673B (zh) |
TW (1) | TWI391931B (zh) |
WO (1) | WO2009042554A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI502601B (zh) * | 2013-04-24 | 2015-10-01 | Ind Tech Res Inst | 混合式錯誤修復方法及其記憶體裝置 |
TWI594122B (zh) * | 2014-12-26 | 2017-08-01 | 英特爾公司 | 安全模式資料保護之技術 |
US9747967B2 (en) | 2014-09-26 | 2017-08-29 | Intel Corporation | Magnetic field-assisted memory operation |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472238B1 (en) * | 2004-11-05 | 2008-12-30 | Commvault Systems, Inc. | Systems and methods for recovering electronic information from a storage medium |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US8719501B2 (en) * | 2009-09-08 | 2014-05-06 | Fusion-Io | Apparatus, system, and method for caching data on a solid-state storage device |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US8443134B2 (en) | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US8706968B2 (en) | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US8316277B2 (en) | 2007-12-06 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for ensuring data validity in a data storage process |
US8588425B1 (en) | 2007-12-27 | 2013-11-19 | Emc Corporation | Encryption key recovery in the event of storage management failure |
US8799681B1 (en) * | 2007-12-27 | 2014-08-05 | Emc Corporation | Redundant array of encrypting disks |
US8301912B2 (en) * | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
US9830278B1 (en) | 2008-03-06 | 2017-11-28 | EMC IP Holding Company LLC | Tracking replica data using key management |
US20090282267A1 (en) * | 2008-05-09 | 2009-11-12 | Ori Stern | Partial scrambling to reduce correlation |
US8533559B2 (en) * | 2008-05-12 | 2013-09-10 | Panasonic Corporation | Semiconductor recording device with error recovery |
JP2009294869A (ja) * | 2008-06-04 | 2009-12-17 | Toshiba Corp | メモリシステム |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
KR20100124087A (ko) * | 2009-05-18 | 2010-11-26 | 삼성전자주식회사 | 메모리 컨트롤러, 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법 |
TW201103033A (en) * | 2009-07-02 | 2011-01-16 | Silicon Motion Inc | Data accessing method and data accessing system utilizing the method |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
WO2011031903A2 (en) | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
TWI497293B (zh) | 2009-12-17 | 2015-08-21 | Ibm | 固態儲存裝置內之資料管理 |
JP5066199B2 (ja) | 2010-02-12 | 2012-11-07 | 株式会社東芝 | 半導体記憶装置 |
JP4901968B2 (ja) * | 2010-03-01 | 2012-03-21 | 株式会社東芝 | 半導体記憶装置 |
JP5017407B2 (ja) | 2010-03-24 | 2012-09-05 | 株式会社東芝 | 半導体記憶装置 |
US8417877B2 (en) * | 2010-08-31 | 2013-04-09 | Micron Technology, Inc | Stripe-based non-volatile multilevel memory operation |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
JP5367686B2 (ja) | 2010-12-24 | 2013-12-11 | 株式会社東芝 | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
JP2012137885A (ja) | 2010-12-24 | 2012-07-19 | Toshiba Corp | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
KR101826137B1 (ko) | 2011-03-24 | 2018-03-22 | 삼성전자주식회사 | 메모리 컨트롤러, 이를 포함하는 장치들, 및 이의 동작 방법 |
KR101818445B1 (ko) * | 2011-07-08 | 2018-01-16 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들 |
JP5644707B2 (ja) * | 2011-07-20 | 2014-12-24 | 株式会社デンソー | 電子制御装置及び制御システム |
CN104040515B (zh) | 2011-09-30 | 2018-05-11 | 英特尔公司 | 在逻辑驱动器模型下呈现直接存取的存储设备 |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9251052B2 (en) | 2012-01-12 | 2016-02-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US8782344B2 (en) | 2012-01-12 | 2014-07-15 | Fusion-Io, Inc. | Systems and methods for managing cache admission |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
US9459955B2 (en) | 2012-05-24 | 2016-10-04 | Sandisk Technologies Llc | System and method to scramble data based on a scramble key |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10346095B2 (en) | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
FR3001818B1 (fr) * | 2013-02-05 | 2016-06-24 | Airbus Operations Sas | Dispositif de stockage redondant securise et procede de lecture ecriture securise sur un tel dispositif |
CN104008069B (zh) * | 2013-02-22 | 2018-06-15 | 中兴通讯股份有限公司 | 一种数据保护方法、装置及设备 |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
KR102133542B1 (ko) | 2013-12-03 | 2020-07-14 | 에스케이하이닉스 주식회사 | 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템 |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US9952784B2 (en) | 2015-03-11 | 2018-04-24 | Sandisk Technologies Llc | Multichip dual write |
KR102319402B1 (ko) | 2015-06-30 | 2021-11-01 | 에스케이하이닉스 주식회사 | 복수의 채널들을 통해 반도체 메모리 장치들을 제어하는 메모리 시스템 |
JP6178909B1 (ja) * | 2016-09-15 | 2017-08-09 | ウィンボンド エレクトロニクス コーポレーション | 不揮発性半導体記憶装置 |
US20180095985A1 (en) * | 2016-09-30 | 2018-04-05 | Cubistolabs, Inc. | Physical Location Scrambler for Hashed Data De-Duplicating Content-Addressable Redundant Data Storage Clusters |
US10394648B2 (en) * | 2016-11-07 | 2019-08-27 | Samsung Electronics Co., Ltd. | Method to deliver in-DRAM ECC information through DDR bus |
CN108572887A (zh) * | 2017-03-14 | 2018-09-25 | 上海骐宏电驱动科技有限公司 | 数据检验校正方法 |
US10762967B2 (en) | 2018-06-28 | 2020-09-01 | Apple Inc. | Recovering from failure in programming a nonvolatile memory |
US10755787B2 (en) | 2018-06-28 | 2020-08-25 | Apple Inc. | Efficient post programming verification in a nonvolatile memory |
US10936455B2 (en) | 2019-02-11 | 2021-03-02 | Apple Inc. | Recovery of data failing due to impairment whose severity depends on bit-significance value |
US10915394B1 (en) | 2019-09-22 | 2021-02-09 | Apple Inc. | Schemes for protecting data in NVM device using small storage footprint |
KR20210111561A (ko) | 2020-03-03 | 2021-09-13 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그것의 동작 방법 |
US11250913B2 (en) | 2020-05-21 | 2022-02-15 | Western Digital Technologies, Inc. | Scrambling using different scrambling seeds for defect reduction and improved programming efficiency |
US11550657B1 (en) | 2021-09-01 | 2023-01-10 | Apple Inc. | Efficient programming schemes in a nonvolatile memory |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0709782A2 (en) * | 1994-10-25 | 1996-05-01 | Hewlett-Packard Company | Error detection system for mirrored memory between dual disk storage controllers |
EP1246066A2 (de) * | 2001-03-20 | 2002-10-02 | Conti Temic microelectronic GmbH | Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems |
US20040044835A1 (en) * | 2002-08-29 | 2004-03-04 | Sandisk Corporation | Symbol frequency leveling in a storage system |
TW200426596A (en) * | 2003-04-08 | 2004-12-01 | Sharp Kk | Scrambler circuit |
EP1703400A2 (en) * | 2005-03-17 | 2006-09-20 | Fujitsu Limited | Dual storage apparatus and control method for the dual storage apparatus |
TW200735117A (en) * | 2005-12-27 | 2007-09-16 | Sandisk Corp | Method of storing downloadable firmware on bulk media |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4092732A (en) | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
DD245068B1 (de) | 1985-12-23 | 1990-03-21 | Freiberg Brennstoffinst | Anordnung zur pruefung von schreib-lesespeichern |
US4761785B1 (en) | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
US4870643A (en) | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
JPH0741642U (ja) * | 1993-12-28 | 1995-07-21 | 横河電機株式会社 | 二重化記憶装置 |
JP3065481B2 (ja) | 1994-04-22 | 2000-07-17 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | ディスク・アレイ装置およびデータの格納方法 |
DE19540915A1 (de) | 1994-11-10 | 1996-05-15 | Raymond Engineering | Redundante Anordnung von Festkörper-Speicherbausteinen |
US6404647B1 (en) | 2000-08-24 | 2002-06-11 | Hewlett-Packard Co. | Solid-state mass memory storage device |
US20020174295A1 (en) | 2001-01-29 | 2002-11-21 | Ulrich Thomas R. | Enhanced file system failure tolerance |
US6928590B2 (en) | 2001-12-14 | 2005-08-09 | Matrix Semiconductor, Inc. | Memory device and method for storing bits in non-adjacent storage locations in a memory array |
JP3748847B2 (ja) * | 2002-10-30 | 2006-02-22 | コナミ株式会社 | 格納装置、プログラム、ならびに、格納方法 |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US7093157B2 (en) | 2004-06-17 | 2006-08-15 | International Business Machines Corporation | Method and system for autonomic protection against data strip loss |
JP4543317B2 (ja) * | 2004-12-07 | 2010-09-15 | 株式会社デンソー | 不揮発性メモリのデータ制御方法 |
US20060143505A1 (en) | 2004-12-22 | 2006-06-29 | Dell Products L.P. | Method of providing data security between raid controller and disk drives |
US7546515B2 (en) | 2005-12-27 | 2009-06-09 | Sandisk Corporation | Method of storing downloadable firmware on bulk media |
-
2007
- 2007-09-25 US US11/861,146 patent/US7873803B2/en active Active
-
2008
- 2008-09-22 CN CN2008801083019A patent/CN101809673B/zh active Active
- 2008-09-22 KR KR1020107007383A patent/KR20100075891A/ko not_active Application Discontinuation
- 2008-09-22 WO PCT/US2008/077267 patent/WO2009042554A1/en active Application Filing
- 2008-09-22 EP EP08833414.9A patent/EP2193523B1/en not_active Not-in-force
- 2008-09-22 JP JP2010526051A patent/JP5341896B2/ja not_active Expired - Fee Related
- 2008-09-24 TW TW097136681A patent/TWI391931B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0709782A2 (en) * | 1994-10-25 | 1996-05-01 | Hewlett-Packard Company | Error detection system for mirrored memory between dual disk storage controllers |
EP1246066A2 (de) * | 2001-03-20 | 2002-10-02 | Conti Temic microelectronic GmbH | Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems |
US20040044835A1 (en) * | 2002-08-29 | 2004-03-04 | Sandisk Corporation | Symbol frequency leveling in a storage system |
TW200426596A (en) * | 2003-04-08 | 2004-12-01 | Sharp Kk | Scrambler circuit |
EP1703400A2 (en) * | 2005-03-17 | 2006-09-20 | Fujitsu Limited | Dual storage apparatus and control method for the dual storage apparatus |
TW200735117A (en) * | 2005-12-27 | 2007-09-16 | Sandisk Corp | Method of storing downloadable firmware on bulk media |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI502601B (zh) * | 2013-04-24 | 2015-10-01 | Ind Tech Res Inst | 混合式錯誤修復方法及其記憶體裝置 |
US9747967B2 (en) | 2014-09-26 | 2017-08-29 | Intel Corporation | Magnetic field-assisted memory operation |
TWI594122B (zh) * | 2014-12-26 | 2017-08-01 | 英特爾公司 | 安全模式資料保護之技術 |
Also Published As
Publication number | Publication date |
---|---|
CN101809673B (zh) | 2013-07-03 |
JP5341896B2 (ja) | 2013-11-13 |
US7873803B2 (en) | 2011-01-18 |
EP2193523A1 (en) | 2010-06-09 |
JP2010541049A (ja) | 2010-12-24 |
US20090083485A1 (en) | 2009-03-26 |
WO2009042554A1 (en) | 2009-04-02 |
KR20100075891A (ko) | 2010-07-05 |
TW200921676A (en) | 2009-05-16 |
CN101809673A (zh) | 2010-08-18 |
EP2193523B1 (en) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI391931B (zh) | 將資料安全地儲存於一非揮發性記憶體陣列中之方法以及非揮發性記憶體系統 | |
US7953930B2 (en) | Device identifiers for nonvolatile memory modules | |
US10635585B2 (en) | On-chip copy with data folding in three-dimensional non-volatile memory array | |
TWI599946B (zh) | 記憶體中之條紋映射 | |
US9229802B2 (en) | Non-systematic coded error correction | |
US7849383B2 (en) | Systems and methods for reading nonvolatile memory using multiple reading schemes | |
US11531590B2 (en) | Method and system for host-assisted data recovery assurance for data center storage device architectures | |
US9164830B2 (en) | Methods and devices to increase memory device data reliability | |
US8984373B2 (en) | Method for accessing flash memory and associated flash memory controller | |
US7870472B2 (en) | Methods and apparatus for employing redundant arrays to configure non-volatile memory | |
CN107678695B (zh) | 基于可用存储器空间选择冗余存储配置 | |
KR102571747B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20080320366A1 (en) | Methods of reading nonvolatile memory | |
US10133645B2 (en) | Data recovery in three dimensional non-volatile memory array after word line short | |
US20160283319A1 (en) | Data storage device and encoding method thereof | |
CN112068778B (zh) | 用于保持从存储阵列中读取的数据的完整性的方法和设备 | |
US8588003B1 (en) | System, method and computer program product for programming and for recovering from a power failure | |
US7870471B2 (en) | Methods and apparatus for employing redundant arrays to configure non-volatile memory | |
US20130047056A1 (en) | Flash memory device with rectifiable redundancy and method of controlling the same | |
JP2023532237A (ja) | プログラミング障害に対する独立ディスクの冗長アレイのストライピングのための方法およびその装置 | |
KR101645829B1 (ko) | 장치들 및 유효 마스크들을 저장하고 장치들을 동작시키는 방법들 | |
CN114446356A (zh) | Qlc数据编程 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |