TW200915331A - Managing bad blocks in various flash memory cells for electronic data flash card - Google Patents

Managing bad blocks in various flash memory cells for electronic data flash card Download PDF

Info

Publication number
TW200915331A
TW200915331A TW096151456A TW96151456A TW200915331A TW 200915331 A TW200915331 A TW 200915331A TW 096151456 A TW096151456 A TW 096151456A TW 96151456 A TW96151456 A TW 96151456A TW 200915331 A TW200915331 A TW 200915331A
Authority
TW
Taiwan
Prior art keywords
flash memory
block
data
interface circuit
memory device
Prior art date
Application number
TW096151456A
Other languages
English (en)
Inventor
Abraham Chih-Kang Ma
David Q Chow
Charles C Lee
Frank I-Kang Yu
Edward W Lee
Ming-Shiang Shen
Original Assignee
Super Talent Electronics Inc
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 Super Talent Electronics Inc filed Critical Super Talent Electronics Inc
Publication of TW200915331A publication Critical patent/TW200915331A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

200915331 九、發明說明: 【發明所屬之技術領域】 本發明涉及電子資料快b k μ 、 π δ己憶體卡,更具體地說,是 關於電子資料快閃記憶體卡中快 丁既閃δ己憶體設備的快閃記 憶體塊控制的系統和方法。 【先前技術】 機密資料標案通常存儲在軟碟中,或者通過需要口 令或者安全加密的網路傳送。機密文㈣通過安全封印發 送:;然而’π♦、加密、安全封印都有可能遭料壞(被 解密),從而給機宰奢料择安j; _ 微Λ貝杆桉案和機密文檔帶來危險,導致 機密資訊被未授權存取。 隨著快閃記憶體技術變得越來越先進,快閃記憶體正 逐步取代在移動系統中作爲存儲介質的傳統磁;的地 位。和軟碟或磁性介質硬碟相比,快閃記憶體具有以下一 優點:高阻抗和低功率耗散。由於快閃記憶體的實 肢尺寸小,更加有利於移動系統的發展。相應地, 憶體的發展也得益於其與移動系統的相容性和低功耗 然而,快閃記憶體也有其固有限制。首先, 快閃記憶體單元必須經過擦除才能進行再次編程二, 快閃記憶體單元只有有限的使用壽命;即,快閃體 元在失效前只能進行有限次數的擦除操作。例如,議 快閃記憶體單元典型的最大擦除次數 Η禺次。相應 200915331 ’快閃記憶體存取速度較 壞快閃記憶體單元。 地’由於“寫入前擦除”的特點 慢,而且反復的擦除操作將會镇
快閃記憶體設備的存儲單元陣列由典型的基本結構構 成’即分爲“磁區”或“頁面,,,並由“磁區,,或“頁 面”構成“塊,,。-個磁區包括有χ個位元組的資料段加 上Υ個位元组的備用段,通常,一個磁區ώ 512個位元組 (小塊格式)或2048個位元組(大塊格式)構成一個資 料段,由丨6個位元組或64個位元組構成—個備用段。部 份多層單元(MUlti-LeVel-Cell,MLC )快閃包括有2〇48位 元組和多於64位元組的備用段,一磁區也可能有彻“立 兀組(或更多)資料位元組。一個塊由一組磁區構成,例 士丨6、32' 64或更多磁區,磁區數量根據具體情況確定。 如果其中某個磁區包含-個或多個無效存儲單元(即,編 2擦除操作過程中,—個或多個存儲單元無法實現既定 $最Μ喿作狀態),則認爲這是一個“壞”塊。在部份高可 罪度的應用上,一個“壞”塊定義能夠被延伸到部份不規 則表徵的任何的塊,例如,檢測到大量資料錯誤的位元。 如果一個塊的全部存儲單元都功能完好和有足夠的可靠 貝J爲這是一個好”塊。一般,儲存區與一組實體 鬼相關聯的儲存區共享—程式/讀取頁面緩衝内部快取。在 大部份的例子中’拷貝回存(Copy back)指令可應用在移 動相同儲存區中兩個塊之間的資料。拷貝回存指令無法有 文移動兩個不同儲存區之間的資料。 夬閃e憶體設備可能一開始就有大量壞塊(例女 200915331 1〇%)。此外’快閃記憶體設備原來的好塊也可能在 命之内變成壞塊。這些壞塊將在快閃記:體 3又備的寫入或擦除操作中表現出來。θ 的壞塊發生率極大地降低了快閃記憶體系統的性:斷增加 士大部分快閃記憶體系統(例^子資料快閃記憶體 卡)同時使用多個快閃記憶體設儀,並通過在多八 憶體設備陣列中搜索可用好塊的方法來解決壞塊問題。; 儲在壞塊中的有效資料(或分配給壞塊的資料)需 分配或重新放置在-個或多個可用好塊中。傳統方法 統全部快閃記憶體設備中搜索具有可用好磁區的可用好 塊,在搜索過程中,典型的重新分配/重新放置過程包括〜 :把資料傳輪外部缓衝區的過程(即,存儲到快閃記憶體 :備之外)。果找到了足夠數量的可用好磁區,再把請 資料寫回這些塊中。 λ 上述傳統重新分配/重新放置過程可能會出現的一個 問題,即如果一個或多個快閃記憶體設備達到容量極限 :即,没有剩餘可用好塊),則快閃記憶體系統必須繼續 搜索其他快閃記憶體設備,直到搜索到具有足夠數量的可 用好磁區的可用好塊。這可能導致外部緩衝區擁塞,從而 導致快閃記憶體系統的總體性能的降低。 快閃記憶體設備中可用好塊的數量隨著快閃記憶體設 備存餘量越來越接近容量和過期(無效)塊數量的增加而 咸過期境是指包含過期磁區的好塊,過期磁區是指存 健過有資料而該資料又被更新過的磁區。資料被更新後, 200915331 過期貧料仍保留在過期磁區中,被更新資料則被寫 區’該新磁區即成爲包含有效資料的有效磁區。有效 包括被更新資料和未被更新資料。相應地,過期塊數= 隨著文件修改或刪除而增加。 ; 過期塊通常通過“垃圾回收”操作迴圈使用。在“垃 圾回收刼作過程中,過期塊將被擦除以便再次執行寫入 操作。過期塊可能同時包含過期資料和有效資料。有效: 料必須在過期塊被擦除前複製到可用好塊中。在垃圾回收 操作中,過期塊中的有效資料將複製到外部緩衝區,然後 執仃可用好塊搜索程式,在全部快閃記憶體設備中搜索和 定位可用好塊。—旦可用好塊搜索成功,外部緩衝區甲的口 有效資料將被複製回可用好塊中。和重新分配/重新放置過 程相同’傳統的垃圾回收操作也可能發生外部緩衝區擁塞 問題’導致快閃記憶體系統總體性能的降低。 另一個壞塊解決方案爲包括塊替換過程的“損耗平 ^操作。在該操作中,有效資料將從一個塊向另一個塊 轉:’從而使資料分佈更加均勻。然❿,該操作同樣包括 外部緩衝區操作和多個設備中可用好塊的搜索操作過 私。如上所述,該操作也可能導致外部緩衝區擁塞,導致 快閃記憶體系統總體性能的降低。 通常’傳統方法沒有解決在多個快閃記憶體設備中搜 索可用好塊所需的附加處理時間的問題,並且這些問題目 4還没有一個报好的解決方案。已知的解決方案同樣沒有 解決搜索過程中外部缓衝區潛在的擁塞問題。然而,這些 200915331 限制都將影響壞塊管理、垃圾 因此,郝柄不油 收和損耗平衡的效率。 法。該…方品一套改進的快閃記憶體控制系統和方 • 糸 '、苑和方法必須能解決處理碑秘 方 平衡過程中可用彳 展塊、垃圾回收和損耗 糸、,光和方法必須簡單可行 门%、亥 術方便地實現。本發明的目且可以通過當前技 的就疋要解決該問題。 【發明内容】 I發明主要針對包含 記μ體卡、 、人5憶體設備的電子資 ⑽體卡、指紋感測器、輪 貝抖决閃 電子資料快閃記憶體卡可通過主機^ 電路和處理單元。 …葦記本電腦或其例 麵閃記憶體卡的便攜性和耐用性,:二;由於電子 密形式存館在快閃記憶體設備中,這樣!=可以用加 上的指紋感測器之類的安全措 ^、有通過諸如卡身 權人員誤用。 月匕子取’確保不被未授 毛月中,快閃記憶體控制器 。一 控制快閃記忾體执锯Μ, 爲處理早元的一部分 和輸入/輸出處理單元與快閃記憶體設備 快問記憶體類型演算=目連接。快閃記憶體控制器邏輯包括 ^ 、异法,用於檢測該快閃印,!*_祕4 為快閃記憶體控制器邏輯所支援的體:備疋否 ::閃記憶體檢測演算法代碼動態部分通過 :在至少—個快閃記憶:貝枓存 體卡唯讀記憶體(―的大小可以降:子=閃記憶 m而且新的快閃 200915331 記憶體類型無需硬體調整而 中快閃記憶體類型檢測演算 援。這樣既降低了總體成本 間。 僅啦a 、两調整存儲於快閃記憶體 去代螞的動態部分即可被支 和消除了不必要的開發時 根據本發明另一個實施方安 的$理_ 本,電子資料快閃記憶體卡 的處理早兀可以通過選擇工作 έέ, ^ i-v* V, h 下二個工作狀態下:可 編%杈式、資料讀取模式、重 % η Μ. -V q* 、式。g處理單元處於可 編%模式時,處理單元啟動輸入 撫的愧—h 輪出介面電路接收來自主 機的機岔貧料檔案,並把資料 Φ ^ . 木储存在快閃記憶體設備 :。二處理單元處於資料讀取模式時,處理單元啟動輸入 Γ料=電路把資料槽案傳輸到主機中。當處理單元處於 貝料重疋模式時,資料於安 +杭木(以及參考用指紋資料)將從 、Λ1 δ己憶體設備中被擦除。 在本發明實施方牵一一 木干中處理早兀爲一個微處理器, §亥微處理器可a 。Λ c , ^
^ 了以疋 805 卜 8052、80286、RISC、ARM、MIPS 或數位信號處理器(DSP)。 在本發明實施方案中,輸入/輸出(I/O)介面電路採 用USB介面電路。 a另—個在本發明實施方案中,USB快閃記憶體設備和 主機之間採用批量傳輸(BOT)協定高逮傳輸資料。由於 BO丁傳於的人入 ' 則 卩7、資料、狀態不但依賴於默認控制終端點 還依賴於批I终端點,所以BOT協定是-種比CBI協定 更加呵效而且快迷的傳輸協定。 ''個實施方案中’電子資料快閃記憶體卡 10 200915331 (或其他快閃記憶體系統)包含帶有處理器的快閃記憶體 控制器,該處理器負責和系統連接的多個快閃記憶體設備 的塊管理操作。這些塊管理操作包括壞塊識別、過期塊回 收、損耗平衡操作。本發明中,處理器利用來自仲裁邏輯 的資料,在塊管理操作中,把可用好塊搜索限制在某個特 定的快閃記憶體設備中,而不像傳統方法那樣在全部快閃 記憶體設備中進行搜索。此外’纟某個快閃記憶體設備中 搜索可用好塊時,處理器將利用該快閃記憶體設備的内部 緩衝區儲存有效資料。通過把可用好塊搜索限制在—個特 定快閃記憶體設備中,並使用指定快閃記憶體設備的内部 緩衝區,本發明可減少可用好塊搜索時間並消除對外部緩 衝區使用的需要,#而可以避免外部緩衝區擁塞 =r統的性能。相應地,塊管理操作心 c 【實施方式】 /看圖1,根據本發明實施方案, 體卡10可诵矾入;Γ- 电丁貝科快閃 由土 _ I面匯流排13、讀卡器12或其他 不)被外部電腦(主機)9存取, 記憶體卡1〇包括卡身卜户理 電子-貝料 憶體設備3 m目,&早70、一個或多個快 奪-…‘紋感測器斗、輸入/輸出介面電路5、 早'6、可選電源(例如,電池)7、可選功 快閃把憶體設備3安後於卡身i上,以月b舍 了一個或多個資料槽 α方式 ”田案、參考口令以及通過掃插電子 11 200915331 快閃記憶體卡丨n & ^ 指紋資料。只有於… 授權用戶指紋獲得的參考 有杈相用戶能存取所儲存 料槽案可以爲圖片文件或文字檑案。 ^
指紋感測器4安裝於+ I 閃記崎丨。的用過掃描電子資料快 器4可夂去士 、 扣,、·文産生指紋掃描資料。指紋感測 1力心 |明人共同擁有的美國專利“帶有指紋識別 路卡,'專利號爲6,—,本_; 單元陣 纟方案。上述指紋感測器專利包括-個掃描 括 4陣列疋義了指紋掃描區*。指紋掃描資料包 資:過:::應:掃描單元陣列線而獲得的大量掃描線 描 7°陣列線按照仃和列的方式進行掃描。各掃 凡右檢測到持卡人指紋脊則產生第一邏輯作號, 謂到指紋持卡人指紋穀則產生第二邏輯信號。…檢 匯流tv輸:介面電路5安裝於卡身1上’啟動後,介面 的 3或讀卡器12通過適當的插口建立和主機9之間
5::。在本發明的-個實施方案中,輸入/輸出介面㈣ =個㈣A或则2介面電路和控制邏輯 實扩了與連接至或安裝於主機9的插口相連。在另一個 =I案中,輸入/輸出介面電路5包含SD介面電路、_C 面電r、CF介面電路、ms介面電路、咖叫咖介 、mE介面電路、SATA彳面電路,這些電路通過 匯流排1 3或讀卡器12和主機9連接。 路Λ"!單元2安裝於卡身1上’通過…上的導電線 、一、决閃記憶體設備3、指紋感測器4和輸入/輸出介面 12 200915331 屯路5連接。在本發明的-個實施方案中,處理單元2可 知^央代爾公司的805 1、8052或80286微處理器。在其 、&方案中’處理單元2採用RISC、ARM、MIPS或其 :數位信號處理器(DSP)。本發明中,處理單元2至少^ 刀儲存在陕閃記憶體設備3中的程式控制,這樣處理單 =2可以通過選擇在以下三種模式下工作:⑴可編程模 式.在該模式T,處理單元2啟動輸入/輸出介面電路$ Ϊ = = 的資料標案和參考指紋資料,並把資料槽 ^ " 3紋貧料儲存在快閃記憶體設備3中;(2 )資料 W…玄M式下,處理單元2啟動輸入/輸出介面電 9中.(子儲方、快閃記憶體設備3中的資料檔案傳輸到主機 二=資料重定模式:在該模…資料棺案和參考 、:: ::將從快閃記憶體設備3中擦除。操作巾 匯流排13或讀卡器12和輸入/輸出介 發运寫入和讀跑过+、^a %纷) 理單元2 # 電子資料快閃記憶體卡上的處 "一— 早元2通過快閃記憶體控制器(圖中未亍、 從-個或多個快閃記憶體設備3讀取或…入圖:::) 本發明的-個實施方宰中,… 寫入貧枓。在 測到存儲於快閃記憶料備’;一:確保安全’-旦檢 取後超過了 H : X的貝料檀案自上—次授權存 操作。 <、爾限,處理單元2將自動啓動重定 元二1=二裝於卡身1上,並與卡身1上的處理單 、他相關早元相連’爲其提供電源。 早 “能鍵8安裝於卡身1上,並與處理單元2連接, 13 200915331 ,過選擇可使處理單元2工作於編程、資料讀取或資料重 疋杈式。功能鍵8可用於輸入處理單元2的口令。處理單 =2把輪入的口令和存儲在快閃記憶體設備3中的參考口 v進仃比車父’若輸入口令和參考口令一致’則啓動電子資 料快閃記憶體卡10的授權操作。 …可選顯示單元6安裝於卡身i上,與處理單元2相連
:冗其控制’用於顯示與主機9之間交換的資料檔案以及 電子貢料快閃記憶體卡10的操作狀態。 二下爲本發明的部分優點:f先,電子資料快閃記憶 二積小、容量Λ,所以資料傳輸方便;其次,由於指 卡上唯ϋ子資料快閃記憶體卡只允許授權人員存取 卡上儲存的資料檔案,從而提高了安全性。 本Is明其他特點和優點如下。 闺2爲本發明優選實 1〇Α ^,Γ _廿 木、J电于只竹,択闪記憶體卡 部分:了降指紋感測器和相關用戶識別程式 舄了降低集成成本,電子資粗也 括一個古由在、 电于貝枓快閃記憶體卡1〇Α包
呵度市成的處理單元2Α、輸入/於中八 和快Α 别入/輸出介面電路5 A L閃兄,丨思體控制器21。輸入/輸出介 收發哭捃a . 书略3A包括一個 槟、、且,串列介面引擎塊、資料 〇 斷邏輯。私盗、暫存器和中 輯輪入/輸出介面電路5Α和内部匯ώ 入/輪出介面雷踗SA久# - 匕机排相連,使輸 码)丨面私路5Α各個單元都能和 的各軍分、s μ a ] °己丨心體控制器;2 1 早兀通訊。快閃記憶體控制器
單元、1包括一個微處理5| 唯韌記憶體(ROM )、RAM、快閃 D 輯、錯誤枱下冲饭、r沾 、4 5己个思體控制器邏 、权正代碼邏輯、通用輸入/ 于月J出C GPIO)邏輯。 14 200915331 在本發明的一個實施方案中’ GPIO邏輯和數個LED相 連’用於狀態指示,例如:電源良好’快閃記憶體讀取/ 寫入中等,或和其他I/O設備相連。快閃記憶體控制器2 1 和一個或多個快閃記憶體設備3相連。 在本實施方案中,主機9A設有功能鍵8A,在電子資 料快閃記憶體卡1 〇 A操作過程中,通過介面匯流排或讀卡 器和處理單元2A連接。功能鍵8A用於選擇電子資料快閃 記憶體卡1 0 A的工作模式:編程、資料讀取或資料重定模 式。功能鍵8A同時可用于向主機9A輸入口令。處理單元 2A把輸入的口令和存儲在快閃記憶體設備3中的參考口 令進行比較,若輸入口令和參考口令一致,則啓動電子資 料快閃記憶體卡i 〇 A的授權操作。 同時在本實施方案中,主機9A設有顯示單元6A,在 操作電子資料快閃記憶體卡1〇A的過程t,通過介面匯流 排或讀卡器與處理單元2 A連接。單元0Λ用於顯示與主機 9Α父換的資料檑案以及電子資料快閃記憶體卡Μ的操 作狀態。 θ 3爲處理單元2Α的詳細框圖。電子資料快閃奋 體卡10Α设有功率調節器22,用於向一個或多個處迫 —A t、電。電源根據電子資料快閃記憶體卡1 〇 a相衝 :不同1要求提供不同電壓的電源。t容器(圖中未7 番~ * 電子資料快閃記憶體卡10Α言: 重疋電路23,用於向處 會令$狄 年疋2Α提供重定信號。上電 董疋電路23向令邱罝-々 门王邛早凡發送重定信號。當内部電壓土 15 200915331 穩定水平後,撤錯番令% , 一 疋“唬,由电阻器和電容器(圖中夫 二 足夠長的重定調整時間。電子資料快閃記憶體卡 10A同時包括一個 曰 思卡 單元Μ内的PLL提供其^ 中未示),向處理 閃卡在—些例子中,冑子資料快 有限制内部時脈需求,所以石 PLL可以拙_ >体1 撕盈益和 杈便且的時脈產生器所取代 “或環式振盈器,這些是適合整合切基板上的振 定電:本:明的實施方案中,輸入/輸出介面電路5八、重 2A内。之種t车隼调節器22被集成或部分集成在處理單元 製造成本。度大大減少了所需的空間、複雜度和 的電緊子成本對移動設備至關重要,例如這裏所涉及 =枓快閃記憶體卡。現代職裝可以在—個 二*成採用不同技術和材料的離们 輪出介面電路爲類比和數位混合電路,可:處; 成到MCP C客曰μ + 慝理早το集 比電路,也可L )中。愛定電路和功率調節器爲類 中。 人處理單元同時集成到MCP (多晶片封裝) 本質上允許同時集成類比和數位電 包括輪入成技術可納人處理單元2A模具中, 電略23和功/電路5A、快閃記憶體控制器2卜重定 J和功率調節器 八俨/選的貫現方案中,通過利用多晶片封f # $、θ 〇 k號IC枯你— 门对在技術或混 支術,貫現處理單元2、輸入/輪出介面電路” 16 200915331
功率調節器22和重定命% ^屈丄、a A 里疋电路23集成或部分集成。 快閃記憶體技術的谁+ ^ J進步促使了各種類型快閃記憶體設 備的出現,以滿足對不同,降At ,, , . ^ θ j 1'生爿b、成本和谷I的需求。例如, 對於相同的形狀係數,客爲留- 夕層早兀(MLC )快閃記憶體設備 比單層單元(SLC )快閃記情护4
備具有更尚的容量。AND 或Super-AND快閃ip愔_g*曰,丨、上„ 己U體則破發明用於避開nand快閃 記憶體的知識産權問題。同孝 ^ 问日可,大頁面(2K位元組)快 閃記憶體比小頁面(512位元組)快閃記憶體具有更好的 t [ % &夕卜肖閃§己憶體的快速發展使得設備的容量 不斷提高。爲了支援這些不同類型的快閃記憶體,快閃記 憶體控制器必須能夠相應地進行檢測和存取。 在本發明的思想和範圍之肉 __ 乾W之内,可同時或獨立實現上述 各新穎特點。例如,圖4良太欲nB 口 口 4爲本發明另一個實施方案的電子 貧料快閃記憶體卡i〇c (或電子资 χ电千貝枓儲存介質、積體電路 卡)。根據上述一個或多個實掄士 ^ X夕w只施方案,電子資料快閃記憶 體卡10 C可通過介面匯流排戎嘈时 、 併次5買卡益(即通訊連接裝置) 被主機9A存取,由卡身1 c、声 „ _ 对^處理早兀2C和一個或多個 快閃記憶體設備3C構成,1中卢w OT 一 八宁處理早兀2C由快閃記憶體 控制器21C和輸入/輸出介面雷 ^ 丨面冤路5C構成。電子資料快閃 5己憶體卡1 〇 c可以是上述電子杳μ bb
At 电十貝枓快閃記憶體卡1 0 A的功 能子系統,也可以是並他靡田么u 疋八他應用糸統的功能子系統。 快閃記憶體設備3C受快閃記憶體控制器Μ產生的 命令控制,並在快閃記憶體設備令儲存資料檔案。 處理早το 2C通過上述輪人/輸出介面電路與快閃記憶 17 200915331 體設備連接。處理單元 過-個或多個上述方法控制中二快:記憶雜控制器-通 的-個實施方案中,快體設備3c。在本發明 記憶體類型演算法( ^工制益21e通過執行快閃 用存儲於唯讀記悻髀r η 中未示)的快閃記憶體控制器邏輯靜態部 她)(圖 憶體设備3C是否被支援;如果是 疋快閃5己 型,則讀取存儲於快閃 '、夬閃記憶體類 制器邏輯動態部分。% %中的快閃記憶體控 、車接"方面啟動輸入’輪出介面電路5C後,通過人面 連接裝置和主機9A建立B 通匕;丨面 r T通況。主機和快閃卞措雕 備(以下也稱爲“ USB 厌閃兄憶體设 備 )USB介面電路夕門古 類型的USB軟體通訊w 路之間有四種 肢通Λ貝枓流程:控制、中 控制傳輸是主機通過控^ & 批$和同步。 、、匕制官道向USB設 程,用於向USB嗖借袒讲 调知达的貝科流 一1 美供配置和控制資訊。中斷僂於&, 貧料量、非周期性、固 中斷傳輸爲小 常用於ii 4 μ 疋寻待時間、設備發起的通訊,通 “於通知主機USB設備所請 二 ^ 面電路移動的大塊資料可採用址旦保 輸。同步傳輸在同步資料工作“ s 知用批里傳 USB設傷之間提供周# 。同步傳輸在主機和 .g , ’和連、$性的通訊。USB介面電路 通爷支援兩種資料傳輪協定:⑶協定和Β〇τ協定。海旦 儲存類cm傳輸規範適入 ’里 速設備或軟碟驅動以外的並動’而不適用於高 在本發明實施方;Γ (由USB規範確定)。 間奸a ㈣記憶體㈣和主機之 間傳輸W只採用B0T協定。由於 18 200915331 資料、狀態同時傳輪 j批里終端點和 以刪是-種比CBI協定更加 默“'控制終端點,所 根據前述實現方安 ° " °快速的傳輸協定。 水’墓處理單元 可編程模式下時,處理 c可通過選擇工作於
以接收來自主機9八的 動輪入/輸出介面電路5C 閃記憶體控制器21c的、'二二’並根據主機9A發送至快 記憶體設備3C中;當處理二把貧料檔案儲存到快閃 日丰,卢描留-^ 2C工作於資料讀取模式下 %,處理早兀2C根據主機 倮式下 21C的讀取命令和存取存儲於二= :::體控制器 才备案的命令接收快閃記_ 们貧# -輸出介面電路5C把;二中的資料’並啟動輸 …作於資料重定主機當處理單 體設備3C中被擦除。 既門冗隐 本發明中智慧處理單元2C的優點包括: 成本⑴高集成度’大大減少了所需空間、複雜度和製造 (2) 通過把軟體程式和資料保存在快閃記憶體中,降 低了控制器成本; + (3) 採用先進的快閃記憶體控制邏輯,提高了快閃記 憶體的存取速度。 、。 以下爲本發明中所使用的術語定義。& :基本記憶體 擦除單元。各塊包含一定數量的磁區,例> 16、32:“ 等。如果某個磁區發生寫入錯誤,則整個塊即被確認爲壞 塊,並且該塊内其他全部有效磁區將被重新放置到另—個 19 200915331 塊中。磁區:塊的子 典型的磁區由兩個p# -穴 料段和備用段。過期磁P 田雨個奴構成一貧 巧4磁區··在編程過程中存餹了眘粑二 該資料又隨後被更新的磁P 、"存储了貝枓’而 保留在過期磁區中,而 、期貝料被 F PR ,. ^ , 更新後的資料則被寫入新磁區,新 磁&即成4有效磁區。無·々 磁區:在編程過程中存: i °期磁區的塊。有效 期)太料的诚广 f料並且該資料爲當前(未過 * . ^ ^ 衡·爲了延長快閃記憶體的使用 哥命而均勻分配各伊a 便用 /谷决閃δ己憶體塊擦除次數的方法。快 憶體塊只能承受有限次的捧 、
^ 知作例如,典型的NAND
快閃記憶體的最大捧除-I β ^ ^ JMAND 取條除-人數爲一百萬次。備 憶體中的保留空間。備用始伯也嵌閃5己 備用塊使快閃記憶體系統可以提前準 備處理壞塊。蔟··爲了改善存 』丰 扣 #系糸統用作 存取指標的多個資料磁區。在小 ^ 杜j令里s己憶體操作中,一個 联通常由兩個資料磁區構成,簇蛊 再风族爲最小的文件大小單元。 典型的記憶體小塊的簇大小爲lk . j為1k位兀組(即各磁區大小 4 5 1 2位兀組),記憶體大塊的簇 、 j舄4k位兀組(即各 磁區大小爲2,112位元組)。FAT :俘在扣a〜 保存指向文件地址指 f的文件分配表。鎮是FAT指向的最小單元。例如,fat16 是指藏的地址爲i6位。目錄和子目錄:作業系統所定 的文件指標。主引導記錄(MBR):用於儲存根目錄詩 和相關引導文件(如果可引導)的固定位置。該固定位I 的最後—個㈣’如果第—個是壞塊,則爲第 二個塊的最後-個磁區。包:USB基本事務單元的可變長 度格式。一個常規的符合USB規範的事務通常由三個勺、 20 200915331 權標(Token)包、資料包和信號交換/交握(HanW)包。 桔標包有IN,0U”„ SETUp三種格式。資料包的大小可 變’例如,USBU版爲64位元組,USB2 〇版爲512位元 組。㈣交換/交握包有ACK或NAK格式,用於通知主機 事務是否完成。畫面(Frame):批量事務處理,如果刪 流量爲低,則對佔有晝面具有高優先順序。如果 爲高,批量事務也能等待後續畫面。終端.點:三個終端點 包括控制、批量輸入和批量輸出。控制終端點用於系統初 始枚舉。批量輸入終端點用作主機系統讀取資料管道。批 量輸出終端點用作主機系統寫入資料管道。命令塊包 (CBW): —個命令塊包包含一個命令塊和相關資訊,例 如資料傳輸長度(例如512位元組,從第8位元組至第u 位元組)。CBW開始于包邊界,結束於第31位元組(位元 組〇to30 ) ’以小包形式傳送。全部CBW傳輸都應按照從 最低有效位元(位元組〇)向最高有效位元的順序排列。 命令狀態包(CSW): CSW開始于包邊界。精簡塊命令 (R_BC) SCSI協定:10位元組命令描述符。 圖5爲本發明另一個實施方案的電子資料快閃記憶體 卡(5己憶體系統)1 〇 〇方框圖。快閃記憶體系統1 〇 〇通過 介面轉換邏輯102和主機系統52相連,介面轉換邏輯i〇2 負責爲微處理器1 〇4處理資料和時序校準。根據不同的應 用環境’介面轉換邏輯102相容多種格式,例如USB、 PCI-Express、cf、SD、MMC、MS、IDE 等。主機系統 52 可以是個人電腦(PC )、數碼照相機、MP3播放器等。 21 200915331 微處理器104在快閃記憶體系統100内部執行讀取、 寫入、擦除操作、塊管理操作和其他内務操作。塊^理操 作包括複製和擦除操作,通過後臺運行,即,對主機系2 =隱蔽。唯讀記憶體(R0M) 106用於儲存微處理器 操作執行代碼。 微處理器1〇4通過仲裁邏輯1〇6對快閃記憶體系统1〇〇 的各快閃記憶體設備110a、祕和u〇c分別執行塊管理 操作。仲裁邏輯可通過硬體邏輯或可編程邏輯設備實現 (例如’現場可編程閘陣列(FPGAs ))。 暫存器文件112爲快閃記憶體設備u〇a_c分配邏輯塊 地址。映射表114提供了快閃記憶體設備me相關的資 訊索引。這些資訊包括邏輯塊地址、設備編號、實體位址 (PhySlcal Base Address ’ pBA)、有效位元和過期位。快閃 記憶體介面控制器116與快閃記憶體UQa_e連接,執行來 自處理器104的命令。這類命令包括讀取、寫入和擦除操 作。 圖6爲本發明圖5所不快閃記憶體系、统⑽的仲裁邏 輯1〇8、暫存器文件112和映射表ιΐ4之間的詳細方框圖。 主機系統52向快閃記憶體系統100發送邏輯塊位址302。 邏輯塊位址302包含一個磁區偏移位址。 暫存器文件11 2負貝在各邏輯塊地址3 〇 2和特定的快 閃記憶體設備編號之間建立聯繫,,若邏輯塊地址在 第地址範圍之内’則指向快閃記憶體設備編號i心,若 邏輯塊地址在第二地址範圍之内,則指向快閃記憶體設備 22 200915331 編遠11 Ob ’以此類推。仲裁邏輯1 〇8發送邏輯塊位址和相 關设備編號至映射表1 1 4❶各快閃記憶體設備位址容量預 先編程保存在相應的暫存器U4a_n4c中供邏輯塊位址指 派。一旦各特定的快閃記憶體設備的實體位址(pB A )被 仲裁邏輯確定,全部讀取/寫入操作都將在設備内部被 執行。 映射表1 14把各邏輯塊位址翻譯成相應的實體位址, 並把設備編號和實體位址輪出至快閃記憶體介面控制器 116。索引映射表114由一個或多個查詢表(lut)構成, 可通過易失性隨即存取記憶冑(RAM )實現,例如靜態 RAM ( SRAM )。纟本發明的—個實現方案中,快閃記㈣ 設備110a、"Ob和li0c分別對應映射表U4a、工⑽和 114c例如,表114a儲存快閃記憶體設備丨丨〇a的實體塊 地址貝Λ,表114b儲存快閃記憶體設備丨1〇b的實體塊地 址資訊,而表114c則儲存快閃記憶體設備u〇c的實體塊 地址資訊。映射表114把邏輯塊位址翻譯成由仲裁邏輯⑽ 提供的特定設備編號實體位址。映射表114同時還提供有 效位的值。有效位的值在上電過程中被置零。上電後,快 閃S己憶體U0首先被掃描以重建映射表114。 在初始化過程中,特定磁區最大量的擦除操作被編程 寫入暫存器文件112用於地址仲裁。快閃記憶體 器出向特定的快閃記憶體設備ιι〇發送—系列時= 執仃快閃記憶體設備110塊管理相關的寫入和擦除操 23 200915331 由於快閃記怜體μ供彳,Λ 1^體6又備ll〇a-c的各暫存器可以獨 程,快閃記憶體系铋]ΛΛ从々y 飼立、,扁 糸,、先1 00的各個快閃記憶體設備丨丨〇a 以具有不同的資料儲在 储存各ϊ:。甚至可以採用不同品 閃記憶體設備。这錄谅、本放 k種靈活性降低了總體製造成本。 閃記憶體設備l1〇a_c内邱的百而士 , B ^ c内邛的頁面大小,即各實體磁區的位 元組數應相同(例如,512位元組或叫2位元組)。 圖7爲傳統塊管理操作方框圖。從圊中可以看出,有 效資料存儲在快閃記憶體設備A中塊4〇4的磁區4心、 402b和402e t。在—個塊管理操作(心^ ㈣塊回收或損耗平衡)過程中’如果磁㊣他,觸 和她變成壞塊、過期或需要進行損耗平衡,存儲在磁區 他、屬和4G2e中的有效資料將被重新放置。塊管理 刼作通常破稱爲内務操作。這些操作通常以後臺方式完 成,以方便後續寫人操作。本財的塊管理操作爲壞塊替 換操作。 從圖中可以看出,有效資料首先被重新放置(即複製) 到外部缓衝區406中。然後在其他快閃記憶體設備中執行 可用好塊(即功能塊)㈣程式。傳統的快閃記憶體系統 把多個快閃記憶體設備當作統—的全局單元處理。相應 地,全部快閃記憶體設備的塊都按照全局地址方案分配地 址,這樣,全部快閃記憶體設備都將進行搜索。如果在另 —個快閃記憶體設備B的塊408中搜索到可用好磁區,則 把有效資料複製到快閃記憶體設備B的好磁區中。在其他 塊管理操作中,外部緩衝區406起相同的作用。 24 200915331 圖8疋爲本發明的塊管理操作方框圖。從圖中可以看 ^有放資料存儲在快閃記憶體設備504中的塊503的磁 區502a、502b和5〇2c中。在塊管理操作過程中,存儲在 磁區502a、502b和502c的有效資料將被重新放置。 在本發明中’各快閃記憶體設備執行獨立的塊管理操 作i並在各快閃記憶體設備邊界内部執行。換句話說,在 免1里操作過中,存儲在快閃記憶體設帛110a中的有 效資料被重新放置在同一個快閃記憶體設備内部的最佳 :置(即’資料不是轉移到其他快閃記憶體設# 110b或 二二傳統塊管理操作把有效資料重新放置在不同的 把有效資料重新放置摔作限制在门知:相比’本發明通過 内,提高了總體系統的性能。傳快閃記憶體設備之 是可用好塊的搜索範圍太大,=:操作存在的問題 備。此外,偟,Λ ώ 而要搜索多個快閃記憶體設 傳、、克塊管理操作要求使用外 圖7所示的頁面緩衝區4〇6)。把 :σ ’ 體設備傳輸到外部緩衝區,缺广-個快閃記憶 體設備將增加總體操作時間。鄉明:到另-個快閃記憶 設備執行獨立的塊管理操作來 =對各快閃記憶體 作可以在各快閃記憶體設傷的内部;;:喊’這樣塊管理操 本發明的另—個優點是塊管理操 憶體設備内部同步發生,從而進―:可以在多個快閃記 統的性能。例如,第—個資料向了快閃記憶體系 快閃記憶體設備丄二作可以在第-個 責料重新放置操作在 25 200915331 第二個快閃記憶體設備内執行。同時也使不同快閃記憶體 設備可同步擦除和編程。系統並行性的提高顯著提高了快 閃5己憶體糸統的性能。 本例中的塊管理操作爲壞塊替換操作。如果磁區 5〇2a、5〇2b和5〇2c變成壞磁區,則存儲在磁區5〇2a,5〇2b 和502c的有效資料將被重新放置。在本實施方案中,有 效資料將被複製到内部緩衝區506中。内部緩衝區5〇6是 在快閃記憶體設備504内部功能正常的易失性記憶體磁 區。在本發明的一個實現方案中’易失性記憶體磁區的塊 被預留用於向各快閃記憶體設備提供内部緩衝區5〇6,這 樣可以減少對外部搜索的需求(即在快閃記憶體設備的邊 界之外的搜索)。可用好塊搜索在快閃記憶體·設備5〇4内部 2他部分中執行。各快閃記憶體設備的全部塊地址都根據 刀放式地址方案分配,如圖8所示,同時全部搜索都被限 制在快閃記憶體設備的邊界之内。 搜索到好塊之後,有效資料將被複製到一個或多個好 塊中。無論哪種情況,相比於圖7所示的傳統多晶片搜索 方法,單晶片搜索大大降低了搜索時間。同時,由於壞塊 操作發生在快閃記憶體設備504内部,有效資料重新放置 時間大大減少。本發明消除了對外部緩衝區的需求。相應 地,由於無需把有效資料轉移到外部快閃記憶體設備 5 〇 4 ’重新放置時間也大大減少。 本秦明的其他塊管理操作過程中’内部缓衝區5 〇 6也 起相同的作用。另一個方案時,在塊管理操作過程中,有 26 200915331 5 〇 6 _而被直接重新放 效貝料無需先被存儲到内部緩衝區 置到好磁區中。 本孓月中各快閃s己憶體設備作爲獨立定址單元工 作’亚且塊官理操作在各快閃記憶體設備邊界之内發生。 相應地林明的另一個優點是在同一個快閃記憶體系統 之内可以使用不同容量的快閃記憶體設備。 、,圖9是本發明的快閃記憶體塊管理方法高級流程圖。 首先’ S具有數個㈣記憶體設備的快閃記憶、體系統中啓 動,^ τ員操作’參考步驟6〇2。在本實施方案中爲塊管 操作下步,在快閃§己憶體設備之内搜索目標塊,參 考ν驟6 0 4下步,有效資料在快閃記憶體設備内部從 源塊向目的塊被重新放置,參考步驟6〇6。相應地,多個 快閃§己憶體設備可同時執行塊管理操作。在多個快閃記憶 體設備執行塊管理操作過程中,各快閃記憶體設備都在各 自内u卩執行獨立的塊管理操作。各快閃記憶體設備都能進 行獨立、同步的塊管理操。 圖10爲本發明的快閃記憶體設備7〇〇的詳細方框圖, 該方框圖可用於實現圖5所示的快閃記憶體設備。快閃記 憶體设備700被分配了 一個邏輯塊地址範圍,邏輯塊位址 的圍由圖5所示的仲裁邏輯丨〇8決定。快閃記憶體設備 700的實體塊地址從零開始一直增加到快閃記憶體設備 7〇〇的最大容量。圖中畫出了示列塊7〇6a、7〇6b、706c和 。706a和706b分別爲第一和第二個實體位址塊而 7 〇 6 d爲最後一個實體位址塊。 27 200915331 在本實施方案中,磁區(通常稱爲頁面)7〇1包含 個位兀組,其中包括5 12個位元組的資料段和16個位元 組的備用段。快閃記憶體設備700的資料結構由實體位址 706a、706b、706〇和706(1的資料段7〇2和備用段7〇4構 成。各段都有一定的位元組數,該位元組數由具體應用決 定。例如,資料段可以包含512位元組、2112位元組或^ 多位元組,備用段可以包含16、64或更多位元組。 資料段702儲存原始資料,而備用段704儲存記憶體 管理相關資訊。備用段7〇4包括有效磁區段71〇、過期: 區段712、壞塊指示段714、擦除計數段716、錯誤校正代 瑪(ECC)段718和邏輯塊位址磁區位址段㈣。有效磁 區段710用於指示是否磁區中的資料可被有效讀取。過 磁區段7U爲標諸段,用於指示磁區中的資料是否過期伊 諸。若發生了後續的寫入或擦除操作,則過_可以: 修改。壞塊指示段714用於指示壞塊。在本發明的—個實 她方案中’把〇值存儲於壞塊指示段714用於指示該塊已 爾。若嘗試寫入特定磁區或擦除特定塊失 糊壞塊。在具體的實現方案中,壞塊指示由工二^ 確::快§己憶體系統的固件通過掃描各塊的第一磁區來 確定資料是否能被存取。办 品 ..^ 70整的知描資訊隨後被保存到各 快閃記憶體設備最後的塊中。 子】各 在本實施方案中,用+ 塊(b磁W的壞塊h 組(16位元)來記錄各 的展塊貝矾。用兩個磁區( 1024位元組) 記錄快閃記憶體設備(最多512個塊)的壞塊資訊。爲了 28 200915331 達到更高的可靠性,儲存了八份完全相同的壞塊資訊備 份,以避免在標諸記錄過程中發生磁區變壞事故。爲了實 現快速存取,這些八份備份都存儲在各快閃記憶體設備的 最後-個塊位置购中。壞磁區指示段714被保存在最 後塊706d中,以便更方便地被快閃記憶體系統的固件讀 取。 然而,壞塊記錄格式應該被良好地組織,每一個塊有 :個位元組(例如:16位元)是適合小的快閃晶片。在先 丽的方案中,512個塊總共有1〇24個位元組,以及如果每 -個塊有128K位元組,那麼快閃晶片大小就只有6權位 兀組。在部份方案中,快閃晶片的大小可能料ig位元 組或者更多。在一個擁有⑴位元組的mlc快閃方宰中有 ^個塊,其彳128頁面/塊。這是意指壞塊記錄每一個塊 需要12M立元,和在保留快閃塊總共有64κ位元組。這個 大小對於搜尋是不夠的,且實際上控制器是無法提供 桃位凡組這樣大小的暫存器和sram給表格。因此 情況下,係以一個塊有16位元作為例子,對於像 Μ的MLC快閃晶片般的大快閃尺寸,僅以一位元或_ :元組記錄壞塊而不使用磁區/頁面指示係為較好而且: =1如’如杲-個塊被發現是壞的(不論是那—個二 區疋裹的),延一個塊使用一個位元組記錄為壞塊(例如 ί,η〇—^ 一 、,°己錄之大小僅僅是4K位元組。而且,如 位元被用# ^ 果1 皮用於一個塊,一個較小的記錄是有可能的,亦印 29 200915331 位元組。本發明以下的描述假設每一個塊“位元當作 例子以簡單化描述。 擦除計數段716用於記錄一個塊將在該快閃記憶體設 備整個使用壽命内被擦除的次數。擦除計數段716包含三 個位7G組,取多可記錄} _萬次塊擦除操作。π。段7 1 8 包含六個ECC位元組’以確保資料—致性。衆所周知, EEC是一種非常先進的方法,用於錯誤檢測和校正。邏輯 塊位址磁區段720用於電源備份和系統重入。由於快閃記 憶體系統的映射表存儲在易失性記憶體中,因此在掉電過 耘中,無法保存有效磁區的資訊。在系統初始化和停電 時,邏輯塊位址磁區位址段72〇用於重構映射表。邏輯塊 位址磁區位址段72〇記錄了先前的寫入操作、有效磁區和 過期磁區資訊以便重構映射表。設定了新的資料結構後, 快閃記憶體系統的固件可以修復懸空簇。這可以通過校核 存儲在快閃記憶體設備中快閃記憶體陣列的FAT表實現。 圖1 0A為較詳細的快閃記憶體設備7〇〇的方塊圖,其 被用於實現圖5的依據本發明之快閃記憶體設備。 在廷個特定實施例中,一個磁區(一般而言為一頁面) 有2112位元組,包括有2〇48位元組的資料和64位元 組的備用段。快閃記憶體設備7〇〇有一資料結構,其包括 有四個資料段703a/703b/703c/703d和其相對應的備用段 703as/703bs/703cs/703ds。資料段 703a/703b/703c/703d 各 個都有512資料位元組’備用段7〇3as/7〇3bs/7〇3cs/7〇3ds 各個都有Υ備用位元組。在這個例子中Y是1 6,如果快 30 200915331 閃記憶體能夠提供更多備用位元組γ也可以是其他的值。 備用段 703aS/703bS/703CS/703dS 各個都有 ECC 段 73i,LBA磁區地址732,和同位733。對於mlc快閃= 憶體需要強大的ECC保護。ECC段731可能佔據12位元 組或更多(例如,在此假設為13.5位元組)以支援在每一 塊512位元組資料上12位元錯誤檢測/修正能力。lba磁 區地址732如同圖10中72〇的定義(假設為3位元組 同位733有一些位元被用於檢測在LBA磁區地址732段是 否有任何位元錯誤,同位733可以是任何長度,在此例中 為4位元。 在圖 10A 中,備用段 703as/7〇3bs/7〇3cs/7〇3ds 在 lba 磁區地址區域732中全部都具有相同的值。所以,在一個 磁區中總共有四個拷㈣LBA磁區地址。根據檢測同位 733 ’ 一旦在703as檢測到位元錯誤,快閃控制器可存取其 他代替的拷貝。因此,LBA磁區地址資訊提供非常高的可 靠度。 相車又於圖1 〇,在圖i 0中沒有明確的壞塊標誌段。此 結構的好處為給予ECC區域盡可能的多個位元,因此,提 供較高的資料可靠度,特別是在MCL快閃晶片的高位元 錯誤事件’此強大的ECC保護非常的重要。在圖l〇A中, 壞塊資訊可能歸因於實際上LBA磁區地址的四個拷貝已 被更改。例如,如果一個控制器試著標記一個塊為壞塊, 僅僅只寫入隨機值或能被識別為壞塊的特殊形態在四個 LBA磁區地址區域732和同位位元733,如此,即使不需 31 200915331
使用到圖1 0中的標奸h'面,A 的铩田述圖10A中的壞塊也能夠被認定。 圖10中標示記錄壞塊資訊的保留塊,在圖心並沒 的 C疋圖1 〇B和圖10A相結合後,即能顯示保留塊 奢挪仏 中弟一個實體塊?4〇和最後一個 貫體塊740a都是印4夸拽& -穴^ 1疋。己錄壞塊資訊的保留塊。第一塊和最後 一塊的格式是相同的(在 一 Λ I在圖10Β中,僅第一塊詳細的標 不)在保留塊中,—此彳々π 雕饭 二磁& (或頁面)741為控制器的韌
組馬’應用資訊(例如,ς 』如SD卡的CSD/CID資訊)等之保 W區。磁區'(百„ 群,、且742用於儲存壞塊資訊(相同於 圖W中的706d)。磁區淼鈿7仏似 、 . ^群組743從742拷貝過來,所以, 〜共有4個壞塊資訊栳目 貝礼拷貝在第一塊740和最後一塊740a, 在一些實施例中有可能保留更多的拷貝。 、在圖10B巾,第_塊74〇用於儲存壞塊資訊和韋刃體碼 L應用貝Λ。考1最後一塊本身可能為壞塊和第一塊— :又:快閃記憶體供應者保證為好塊之可能性,在圖10Β中 的實施例大致上有比圖10較高的可靠度。 、圖u爲本發明資料存取方法流程圖。快閃記憶體系統 、二化後’通過查珣快閃記憶體陣列識別?虎(ID )確定快 閃1憶體設備中快閃記憶體陣列的容量,參考步驟8〇2: ?時’掃描各快閃記憶體設備的實體位址以確冑現有壞磁 品(v驟802 )。δ亥判斷可以通過讀取壞塊指示段實現。 邏^輯塊位址的範圍通過編程寫入快閃記憶體控制器的 暫存益文件’參考步驟綱。給定-個快閃記憶體設備, 由於》亥ί夬閃δ己憶體設備中部分空間被預留用於壞塊替 32 200915331 換,所以貫體塊地址的範圍比邏輯塊地址的範圍大。例 如’把快閃§己憶體陣列的1()%用作保留空間是比較合理的。 下一步,從主機系統接收邏輯塊位址磁區位址、資料 和:令,參考步驟806。採用蔟資料缓衝和寫入後高速缓 衝策略以提高快閃記憶體系統的性能。下一步,由映射表 確定快閃記憶體設備編號和實體位址,參考步驟8〇8。下 一步刀析來自主機系統的命令,參考步驟810。如果該 命令是讀取命令,則執行讀取操作’參考步驟812。然後, 校核讀取操作獲得的資料,參考步驟814。利用ecc段位 元組中保存的資訊校核資料。如果資料校核正確,則把資 料返還主機系、統,參考步驟816。如果讀取操作得到的資 料不正確,則執行EEC操作來校正資料,參考步驟818。 如果4命令爲寫入命令(參考步驟8丨〇爲“是”),則 執行寫人操作。寫人操作所f要料間明顯比執行讀取掸 作所需要的時間長。例如,寫入操作所需的時間可能比讀 取操作所需時間的長20倍。首先,檢查自由磁區(即, 可用磁區)’參考步驟8 2〇。如果自由磁區的數量低於自由 磁區的閥值,則通過垃圾回收操作回收塊,參考步驟Μ]。 如果自由磁區的數量不低於自由磁區的閥值,則把資 料寫入該快閃記憶體設備,參考步驟824。寫入操作完成 後’即可確定寫入操作是成功還是失敗,參考步驟826。 如果寫入操作成功,則結束寫入操作,參考步驟828。如 果寫入操作失敗,意味著該塊是壞塊,則執行壞塊操作, 參考步驟830。 ” 33 200915331 通常’若某個塊是壞塊’則該磁區中的資料不可靠。 二裏:個:中只有一個磁區爲壞磁區,這個塊就將被確定 保資料的可靠性,資料將不再賦值到壞塊 磁區的I h配至好塊中。相應地,儲存在壞塊中有效 m料將被轉移到好塊中供進—步參考。該操作稱爲 快閃記憶體設備將在内部發出回拷命令用於減 體力=時間。對於沒有支援拷貝回存指令的快閃記憶 =控制㈣需讀取資訊至本身的緩_存器以便將資料 編程到欲達成的好塊目標區。 —些應用可能需I高的可靠度,例如,固態硬碟(s叫 支极視窗操作系 '统(Wind〇ws 〇peration System)。因此, 即使在SSD巾有一個位元錯誤也可能造成致命的系統錯 然而’MLC快閃記憶體有比咖快閃記憶體高的位 几錯誤率,典型為高於咖次以上,所以,位元錯誤率 模《示即使當編程成功,在數以千計的讀取操作後,位 兀錯误也可能增加。這是意指新的壞塊不僅發生在編程和 /或擦除期間,也發生在僅讀取操作期間。在slc快閃記 憶體中,it到高位元率的可能性非常非常的⑯,但是在 MLC快閃記憶體中不可能被忽視。此技術於圖ua和圖 11B申提出說明。 在圖11中’步驟8 12為讀取操作,和步驟8丨4利用 ECC演算法檢查是否有任何位元錯誤。如果發現任何位元 錯誤,控制器以ECC演算法的結果來修正其錯誤和結束讀 取操作8 1 6。然而,在多次的編程、擦除、和讀取後如果 34 200915331 有塊或磁區變得不穩定,其位元錯誤可能性可能逐漸地增 加和最後增加到控制器ECC演算法無法提供的上限。例 如’在512位元組資料單元中,.具有4位元eCC的控制器 修正的能力不可能到5位元錯誤。在MLC快閃記憶體中, 四位凡錯誤率是足以被檢測,所以大部份的MLC快閃記 憶體需要8位元ECC保護或更多。在此,壞塊觀念被擴大 到包括位元錯誤被發現已達到某種嚴重程度的塊,例如, 超出控制器的修正能力。 在圖UA中,步驟814檢查是否有任何位元錯誤,如 果有錯誤在步驟814a中被查測到,控制器檢查是否位元 錯誤數低於臨限初始定^ (可能基於設料的經驗)。如 果位元錯誤數低於此臨限VT,於是控制器修正其錯誤的 位元(步驟818),讀取操作成功的完成。如果位元錯誤率 達到臨限VT ’控制器將此塊視為不穩定並在未來讀取摂 料能變成較差的狀態以及未來造成f料遺失。所以,= 制器視此塊為潛在的壞塊並移動所有有效資料磁區到另 一個好塊(步驟_和8叫。最後,控制器擦除來源塊 成空的塊。-般而t ’當塊被發現達到危險位元錯誤率, 在原來的塊的資料變成不可修正之前,控制器會移動資 到安全且好的塊。在此,VT可被定義為低於ECC能力上 限-個或兩個位元。例如’如果ECC修正能力為 VT可被設定為6位元。 理論上,圖11B相同於|^11Λ . „ ^ 相u於圖11Α,但是其視原來的 曾經有高位元錯誤率被發頊r & 皮心現(步驟U5e)的塊而非經擦p 35 200915331 為可再使用的空的塊(步驟8 1 5 c )。在擦除之後,如果此 塊的位元錯誤率能夠被降低,對於資料而言,此方法為較 安全的’但是可能會浪費一些塊。 圖11 A和圖11B為MLC快閃記憶體在高可靠度應用 的兩個增強的模式,基於系統不同的應用/需求使用MLC 快閃記憶體,控制器可選擇其中之一的方法。 圖1 2爲本發明的壞塊替換方法流程圖。壞塊中壞磁區 的位置被記錄在快閃記憶體設備的最後兩個塊的保留區 中,參考步驟902。在本發明的一個實現方案中,各塊都 由16個磁區組成。另有十六個位分別與著十六個磁區相 關聯。這些位元用於指示壞磁區。相應地,如果某個位爲 貝J表月相關的磁區爲壞磁區,而整個塊即被確認爲壞 塊。這些位元的編程方式是通過讀取整個磁區的值,然後 把原值和位值相加,最後寫入來實現。爲了確保正確性, 固件將生成四個備份。全部八個,鬼(4χ2塊)都位於各快 間記憶體設備的最後空間中。在磁區的使用壽命期限内, 每個位將被設置一次,用於指示壞磁區的位置。 下-步,確定是否有寫入命令,參考步驟— 讀取操作失敗且沒有寫入人人椅% 2 ^ 有寫入°卩令,壞塊磁區中的有效資料即 被確适,麥考步驟9〇6。如果 爲“是”),則在同一個設備之内二;(參考步驟_ Ah . ^ 備之内執仃可用磁區搜索操 作考步驟_。如果沒有足夠數量的可,則執 行垃圾回收操作,參考步驟91。,直到有足夠 2 磁區。如果有足夠數量的了用 映射表的邏輯塊位址 36 200915331 將被更新,參考步驟9 1 2。下 步驟9 1 4。寫入操作完成後, 定’參考步驟906。若寫入或 作。 步,寫入操作完成,參考 壞塊中磁區的有效資料被確 擦除操作失敗,則執行該操 二十確定好塊的目的磁區,用於重新分配壞塊的 有效-貝料’參考步㈣6。下—步’有效資料被重新放置 即’複製)到目標磁區中,參考步驟9 i 8。在重新放置 過程中’纟快閃記憶體設備内部執行回拷操作,以避免外 部通信並提高快閃記憶體系統的性能。下—步,快閃記憶 體控制器中的映射表被更新以反映變化供以後資料存取 >考步驟920。下一步’確定是否全部來自壞塊的有 效資料都已經被轉移到好塊中,參考步驟922。如果沒有, 操作迴圈回到請。如果全部有效資料都已經被轉移, 則壞塊替換操作結束。 σ = 1 3舄本發明的垃圾回收操作方法流程圖。垃圾回收 喿作疋在各快閃§己憶體設備邊界之内執行的單晶片操 :。相應i也,多個垃圾回收操作可以同步在各快閃記憶體 °又:内邛發生。首& ’在快閃記憶體設備内部進行搜索, 、 各有最夕過期磁區的過期塊,參考步驟1 〇〇2。特別 地旦固件通過掃描整個過期磁區段以確定各塊過期磁區的 數里。搜索結果存儲在暫存器中。暫存器用於指示含有最 〔匕期磁區的過期塊。例如,用四個暫存器指示含有最多 =d磁區的四個過期塊。掃描結果和邏輯塊位址的值被同 ”存用於更新位址映射表。同時,不同的暫存器組被同 37 200915331 a夺用於記錄該設備中含有最多過期磁區的四個有效塊。目 的是在把有效磁區重新放置到目椤r^、 1 4目铩(有效)塊中之後擦除 -個過期(源)塊。這四個暫存器組用於提供最匹配的源 塊和目標選擇。 下-步,確定源塊中有效磁區的數量,參考步驟1〇〇4。 下-步’確定有效磁區的位址’參考步驟1〇〇6。這些位址 指向的有效磁區被稱爲目的磁區。下一步,執行回拷摔作 把有效資料從過期(源)塊向目標磁區進行複製,參考步 驟1 008。在回拷操作中,右# :签少丨γ ^ 衝區中。 有放貝抖可以臨時存儲在内部緩 △下一步,確定在垃圾回收操作中是否出現了壞磁區, 蒼考步驟1〇1〇。如果屮規了掠 果出現了壞磁區,則執行壞塊重新放置 ,參考步驟1〇12。如果沒有出現壞磁區,源塊(含有 t過期磁區的塊)將被擦除並且這個塊各個位的值將被 參考步驟編。下一步,確定擦除操作是否失敗, 1016°如果擦除操作失敗,則執行壞塊重新放置 =圾=步驟_。如果擦除操作沒有失敗,則過期塊 入摔作用=完成’映射表被更新以反映修改供後續寫 塊==ΓΓ。下—步,擦除計數段中被擦除 τ、除冲數增加,參考步驟1022。 自主2本發明的損耗平衡操作方法流程圖。在沒有來 輸請料,損耗平衡操作將後臺運 料傳輪过求作過程中有可能會收到來自主機系統的資 貝耗平衡操作通常把有效資料從低擦除計數 38 200915331 的塊移向高擦除計數的塊。低擦除計數的塊將被擦除,其 擦除計數將增加。這一操作過程可以通過降低塊的最高換 除計數使其接近平均設備擦除計數的方法來平衡塊的擦 除計數。該過程同時推遲了給定塊達到其最大擦除計數的 時間。 首先’固件讀取各塊擦除計數段中的擦除計數,並確 定各快閃記憶體設備的平均設備擦除計數,參考步驟 1102。然後確定全部快閃記憶體設備的平均全局擦除計 數’巧樣參考步驟1102。平均設備擦除計數值存儲在各快 閃s己憶體設備的暫存器中,參考步驟丨丨〇4。對於各快閃吃 憶體設備,如果平均設備擦除計數大於設備閥值計數暫存 器的值,則設備閥值計數將被更新爲該值。同理,如果平 均全局擦除計數大於全局閥值計數暫存器的值,全局閥值 计數將被更新爲該值。這些值今後都將被用到’參考步驟 04。在本發明的一個實現方案中,指定了三個暫存器用 於保存各快閃記憶體設備的擦除計數值。第一個暫存器儲 存特定:快閃記憶體設備的平均擦除計數,稱爲設備擦除 °十數。第一個暫存器儲存特定的快閃記憶體設備的平均擦 除什數’#爲設備閱值計數。第三個暫存器儲存全部快閃 記憶體設備的平均擦除計數值’《爲全局閥值計數。例 如’設備閥值計數可設冑5,_,全局閥值計數可設爲 2〇, 000。這兩個值同時被預編程成爲快閃記憶體系統 始化的一部分。 下步,確定快閃記憶體設備的設備閥值計數是否大 39 200915331 於或等於全局閥值計數,參考步驟1106。如果不是,確定 該設備的设備彳祭除計數是否大於或等於設備閥值計數,夂 考步驟1108。如果不是,損耗平衡操作結束。如果是,確 定設備中具有最高擦除計數的塊,參考步驟Ul〇。下一 步,確定設備中具有最低擦除計數塊,參考步驟HU。下 一步,具有最低擦除計數的塊中的有效資料被重新放置到 另一個塊中,參考步驟1114〇下一步,具有最低擦除計數
的塊被擦除,同時其擦除計數增加,參考步驟1116。下一 步,具有最高擦除計數的塊中的有效資料被重新放置到具 有最低擦除計數的塊中,參考步驟1118。下一步,更新映 射表,參考步驟1120。下一步’設備閥值計數增加,參考 步驟11 22。損耗平衡操作結束。 一個快閃記憶體設備的塊管理操作可能同時牽涉到多 個快閃記憶體設備,此時有效資料通過外部從一個快閃圮 憶體設備向另-個設備被重新放置。這從本質上提高快門 記憶體設備系統的總體性能。在另一個特定的實施方宰 中,如果某個特定的快閃記憶體設備進行塊管理操作,$ ,除計數高於其他快閃記憶體設備’有效f料可通過外部 ^個陕閃5己憶體设備向另一個執行重新放置操作,以達 到不同快閃記憶體設備之間的平衡。在本發明巾,既 内部重新放置又包括外部重新放置。 返回步驟1106,如果快閃記憶體設備的設備間值 大於或寺於全局閥值計數,則確^設備中具有最高擦除 數的塊,參考步驟1128。 卜 步’確疋具有最低平均擦除 40 200915331 計數的快閃記憶體設備,參考步驟ιΐ3〇。下一 + 備中具有最低擦除計數的塊,參考步驟u32二確定設 有最低擦除計數的塊中的有效資步 塊中,參考步驟⑴4。下一步,具有最低擦 擦除,其擦除計數增加,參考步驟ιΐ36。下二牛,、^ 南擦除計數的塊中的有效資料被爲重新放置到I有、:: =計數的塊中,參考步驟⑽。在本發明的—個方 案中,有效資料被移動到另-個快閃記憶體設備中:下 步,更新映射表,參考步驟1140。下一牛,„ 增加,參考步驟m2。損耗平衡操作結ς。。閱值計數 的::::演::,的實施例是簡單和有效 因為其有一此缺 —MLC决閃s己憶體應用, 巧/、有‘缺點,此演算法可能被改良。通 閃記憶體在備用區域需盡 、
Ecr保罐私、 ▲ τ此夕的位兀以提供強大的 '、。,所以,在備用區域的擦除 以儲存較多的ECW - θ “ ㈣位^夠破移除 問題是在被捧除之後:疋:較好的。上述實施例的另-個 心除之後,擦除計數位元應該被寫 的是在被擦除之後,快閃塊的資料全是“空的,,作= 被編程、就大部份的MLC快閃的限制因素而言, 在這磁"二= 只能夠編程—次,可能 -個塊t持續;個例子中,可能在每 、峨擦除计數是不切實際的。因 說明損耗平衡方法的另一個實施例以解決上述問題圖 在圖15中,當接收到一寫入指令,控制器將利用映射 41 200915331 表將接收到的LBA轉換成pbA (步驟丨2〇丨)。如果接收到 的資料此夠直接寫入當前的pB a的磁區,控制器執行編程 刼作至PBA。如果編程失敗,當前的pBA被示為壞塊且 控制器移動有效磁區到間置& (目標塊),其閒置塊為從 所有的閒置塊+ 忍選;如果接收的資料#法直接寫 入田則的塊,控制益從所有的閒置塊中隨意尋找一個閒置 塊當作目標塊將資料寫入和執行相對應的編程。在資料被 f入或拷貝到目標塊之後,如果原來的塊被示為壞的則原 Λ的塊會被擦除或表示為壞塊。最後,控制器修改映射表
:二束操作。因為每一次LBA被安排至新的閒置塊,替代 〜疋連結至某些實體塊,LBA至B 要仏 王的關係是隨機選取閒 二:不斷變化地改寫。所以’理論上,每—個LBA有相 ==存在任何的實體塊。反之,每-個實體塊可 其他τ以妾文LBA的資料,但是下-次’會被改變成接受 塊有广的資料。這個程序是隨機的。如此,每-個實體 塊有相同的機率被編程或擦除,因貝體 機改蠻的咏 巧,、所對應的LBA是隨 告知揍咚沾a击 又有明確的標示或計數器 不承的-人數和可能無法知道最多 塊,在批& p A 、取夕擦除次數在那一個 &制擦除次數時並不準確。作β 單。從間® π u —疋,廷個方法比較簡 是有效以::取,大致上此損耗平衡方法的實施例 允許母一個實體塊有相同的擦除機率。 本發明中的快閃記憶體控制器 取。傳坑快閃記憶體設備内置叫固512:執行多塊資料存 器。耷入a na 位兀組的頁面暫存 寫入快閃記憶體設備的資料首先 ;^要寫入該頁面暫存 42 200915331 器’然後才能寫入快閃記情辦隍丨 门。己is體陣列。傳統的快閃記憶體 其固件控制著快閃記憶體系統存取周期。傳統快^ 舌己憶體控制器每次只能傳輸一個塊(512位元組)的資料 到快閃記憶體設備的頁面暫存器中。如果512個位元 頁面暫存器已被寫入u 、 ο 巧 貝J不月b對該快閃記憶體設備進行兑 取技子:。相應地’傳統快閃記憶體控制器使用單塊資料存 取技術,14限制了快閃記憶體系統的性能。 在本發明中’快閃記憶體控制器採用大小 =大的頁面暫存器。本發明中的快閃記憶: :==通過同時向快閃記憶體設備發送多塊; :來寫入頁面暫存器。與傳統的單塊資料傳輸控制哭相 比,該控制器顯著提高了資料傳輸的性能。 "。相 本發明中的快閃記憶體控制器 :1,從而進-步改善了快閃記憶體系統的性能 數可提供第二通道,或“自由通道,,,用於^ ^道計 體控制器和快閃記憶體設備之間的事務。傳统:、閃錢 控制器採用單記憶體匯流排結構,多個己憶體 時與匯流排連接。然而,傳、。憶體設備同 閃記憶體控制器的性能。的早通道架構限制了傳統快 在本發明中,至少换 憶體匯流排都和獨立記憶體匯流排。各條記 器可以同時或單獨存=備相連。記憶體控制 仃可達到採用雙通道處理的兩 -果,拉作執 流排還可以進一步擴展爲多 又 卜,各記憶體匯 /擴展爲夕條記憶體匯流排結構。 43 200915331 本發明mi記憶體控制器還可進行交 統快閃記憶體控制器採用單記憶體匯流排社構::。傳 記憶體設備同時與匯流排連接夕個快閃 制器每次只能存取—個快閃記二傷傳:快閃記憶體控 的性能。 ’仏體-傷,而這限制了系統 本七 1夕知用了 -個或兩個記憶體控制信號( 如片選和忙)。此外,共用的記憶體匯流排至 ^ 閃記憶體設備與之相連。者,, „ 兩個快 、乏相連。* _個快閃記憶體設備爲讀忙 寫忙時’本發明中的快閃記憶體控制器可存取另—個快門 卿設備。相應,也’本發明中的快閃記憶體控制哭充八 利用了共用記憶體匯流排,從而顯著提高了性能。此夕卜: 通過共用記憶14 10和控制信號,減少了快閃記憶體控制 爾腳數量。這使快閃記憶體系統的成本實現了最小 化0 在本發明中,在單個快閃記憶體設備的記憶體存取周 期中同時集成多塊存取技術,多記憶體交錯技術和多通道 操作技術,使其達到了最佳性能。 日本發明提出的系統和方法具有諸多優點。例如,大大 南了決門°己隐體控制器在塊管理操作過程中的搜索可 用好塊的速度。同時’消除了快閃記憶體控制器對外部缓 衝區的需求。此外’快閃記憶體控制器支援多塊資料存 取又通道處理和多存儲單元交錯式存取。相應地,大大 提高了塊管理操作執行速度。 本發明主要介紹了快閃記憶體塊管理系統和方法。該 44 200915331 …方法提出了一種配有處理器的快閃記憶 益,用於執行快閃記憶體系統操。這裏的操 : 操作,且體包括土衷换.@ 'Μ tfn s鬼官理 〒乍”體。括壞塊處理、過期塊回收和損耗 處理裔利用來自仲裁邏輯的資料,對 “ 耵昧閃記憶體系 疋的快閃§己憶體設備執行這些操作。 、+ 、 ,仍這些知作都發咔 在特定的快閃記憶體設備内部,處理 J M刊用來自#掏 邏輯的資料把可用好塊搜索限定在特定的 :内部。同時,在有效資料被重新放置前的搜索過Γ二 處理益可以利用快閃記憶體設備 ,h J n °丨5緩衝區來儲存有 效負料。結果,可用好塊搜索時間 八成少’同時消除了 對外部緩衝區的需求。相應地,塊 ” 顯著提高。 h理“作的執行速度將 雖然本說明書介紹的是帶有. 有次不帶有指紋識別功能的 電子-貝料快閃記憶體卡,在本發 奉叙明心想和範圍之内,本發 明同樣適用於其他類型的記情 k體糸、,先。此外’雖然本文所 η、…的是USB標準,在本發 χ β心想和乾圍之内,本發明同 樣適用於其他標準。此外, 本土明的方案可通過硬體、軟 體、匕3程式指令的電腦可所 ,, °貢7丨貝或其組合實現。相應 也’通過相關技術對本發明 進仃的修改仍在以下權利要求 的思想和範圍之内。 【圖式簡單說明】 圖!爲本發明一個實施方案的帶有 的電 子資料快閃記憶體卡方框圖。 45 200915331 圖2爲本發明另—個實施方案的電子資料快閃記憶體 卡電路原理方框圖。 .圖3爲本發明另—個實施方案的電子資料快閃記憶體 卡採用的處理單元方樞圖。 圖4爲本發明另—個實施方案的電子資料快閃記憶體 卡電路原理方框圖。 圖5爲本發明另—個實施方案的快閃記憶體系統方框 圖。 圖6爲本發明圖5所示的快閃記憶體系統仲裁邏輯、 暫存态文件、映射表之間介面的詳細方框圖。 圖7爲傳統塊管理操作方框圖。 圖8爲本發明的塊管理操作方框圖。 圖9爲本發明快閃記憶體壞塊方法管理高級流程圖。 圖1 0爲本發明快閃記憶體設備的詳細方框圖,該詳細 方框圖可用於貫現圖6和圖8所示的快閃記憶體設備。 圖1 〇 A為本發明快閃記憶體設備的另一個實施例。 圖1 〇B為本發明快閃記憶體設備的一實施例。 圖11爲本發明的資料存取方法流程圖。 圖11A為本發明的資料存取方法一可選擇的實施例流 程圖。 圖ΠΒ為本發明的資料存取方法另一可選擇的實施例 流程圖。 圖1 2爲本發明的壞塊替換方法流程圖。 圖1 3爲本發明的垃圾回收操作方法流程圖。 46 200915331 圖 14具太nn …务月的損耗平衡操作方法流程圖。 為本發明的損耗平衡操作方法一可選每 例之流程圖。 、揮的Λ施 主要元件符號說明】 卡身1,1C 處理單元 2,2A,2C 快閃記憶體設備 353C5 110a,l 10b,l 10c,5 指紋感測器 4 輸入/輸出介面電路 顯示單元6,6A 電源 Ί 功能鍵8,8A 主機 9,9A 子 > 料快閃記憶體卡1 0,1 〇A,10C,1 00 §買卡器12 介面匯流排 13 快閃記憶體控制 器 21,21C 功率調節器22 重置電路23 主機系統52 介面轉換邏輯 102 微處理器 1〇4 ROM 1〇6 仲裁邏輯1〇8 暫存器文件 112 %射表114 暫存器 114a,114b, 快閃記憶體介面控制器 U6 磁區地址 302,732 越區 402a,402b,402c,502a,502b,502C,741 快閃記憶體設備 A中塊 404 外部頁面緩衝區 406 閃記憶體設備 B的塊 408 47 200915331 快閃記憶體設備504中的塊 503 内部頁面緩衝區 506 磁區(通常稱爲頁面)701,742,743 資料段 702 備用段 704,703as,703bs,703cs,703ds 示列塊 706a,706b,706c,706d 有效磁區段7 1 0 過期磁區段7 1 2 壞塊指示段7 1 4 擦除計數段7 1 6 錯誤校正代碼(ECC)段718,731 邏輯塊位址磁區位址段720 同位733 第一個實體塊740 最後一個實體塊740a 步驟 602,604,606,8 02,8 04,806,808,810,812,814,8 143,815 a,815b,815c,815d,815e,816,818,820,822,824,826,82 8,83 0,902,904,906,908,910,912,914,916,918,920,92 2,1002,1004,1006,1008,1010, 1012,1014,1016,1018,1020,1022,1102,1104,1106, 1108,1110,1112,1114,1116,1118,1120,1122,1128, 1130,1132,1 134,1136,1 138,1140,1 142,1200,1201, 1205,1210,1215,1220,1225,1230,1240,1250,1260, 1265,1270, 48

Claims (1)

  1. 200915331 十、申請專利範圍: 1 . 一種電子資料快閃記憶體卡,可通過建立通訊連接 被主機存取,該電子資料快閃記憶體卡包括: 一卡身; 個或夕個安襞於該卡身的快閃記憶體設備,—個或 多個快閃記憶體設備包含數個多層單元(MLC )記憶體單 元用於存儲資料檔案; 女4於卡身的輸入/輸出介面電路,用於建立和主機 之間的通訊; 女、於卡身的快閃記憶體控制器,與所述的快閃記 憶體設備和所械± 攻的輸入/輸出介面電路之間的電氣連接,其 '該快閃記憶體控制器可在-資料檢索模式下操作,: 己德體單①的一塊讀取資料以決定是否在該資料讀 备次何錯决以及如果在該讀取資料有錯誤並決定在 •^的赵^中疋否錯位元的數量超過預定臨限和錯誤位 過預定臨限,即拷貝mlc記憶體以的塊之 體塊位:表了記憶體單元的一閒置目標塊和在邏輯到實 Μ位置表中更新相對應的邏輯到實體塊位置映射。 U茺求1所述的電子資料快閃記情, 中前述快Μ 4 J匕隐體卞 1 6己憶體控制器在拷貝MLC記 資料至該閉耍α 匕隐體皁το的衫 1置目標塊後,更可在資料檢帝描 MLC記悴_ 牡貝付饱索模式操作以掮 G U體早兀的塊。 49 200915331 3 ·如權利要求1所、+ 二+ 所述的電子資料快閃記憶體卡,1由 刖述快閃記憶體控制芎右 卞其中 料至該閒置目標塊後,p ^ 平凡的塊之資 便更可在資料檢索模式操作α # MLC記憶體單元的塊為—壞塊。 ㉖作以3己錄 4 ·如權利要求1 #、+、& _ > + 所述的電子資料快閃記憶體卡, 刖述快閃記憶體控制器 八中 』仕 編程模式細作將資料宜λ 該MLC記憶體單元的_ 貝抖寫A 塊可寫人以及在資料寫人該第二㈣時, 誤’和如果該第二個塊不可寫入或資料寫入該第二個塊: 有錯誤,上述快閃記憶體控制器更可在隨機操作選取 二個閒置好塊為一第-侗 4 弟一個目私塊,以將資料寫入該第二侦 目標塊和在邏輯到f體 只體塊位置表中更新相對應的邏 實體塊映射。 科J 如權利要求4所述的電子資料快閃記憶體卡,其 中如果在貝料寫入該第二個塊有錯誤時,上述快閃記憶 體控制器更可在該編程模式下操作,拷貝在該第二個塊: 效磁區至該第二個塊目標塊和標示該第二個塊為壞的。 6如權利要求1所述的電子資料快閃記憶體卡,中 輸入/輸出介面電路爲通用串列匯流排(USB)介面電路, 該USB介面電路包含採用Β〇τ協定傳輸資料的手段。 50 200915331 7 ·如權利要求1所述的電子資料快閃記憶體卡,其中 輸入/輸出介面電路可採用Secure Digital (SD)介面電路、 Multi-Media Card (MMC)介面電路、Compact Flash (CF)介 面電路、記憶棒Memory Stick( MS )介面電路、PCI-Express 介面電路、Integrated Drive Electronics (IDE)介面電路或 Serial Advanced Technology Attachment (SATA)介面電路。 51
TW096151456A 2007-09-28 2007-12-31 Managing bad blocks in various flash memory cells for electronic data flash card TW200915331A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/864,684 US20080082736A1 (en) 2004-03-11 2007-09-28 Managing bad blocks in various flash memory cells for electronic data flash card

Publications (1)

Publication Number Publication Date
TW200915331A true TW200915331A (en) 2009-04-01

Family

ID=39262350

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096151456A TW200915331A (en) 2007-09-28 2007-12-31 Managing bad blocks in various flash memory cells for electronic data flash card

Country Status (3)

Country Link
US (1) US20080082736A1 (zh)
CN (1) CN101399075A (zh)
TW (1) TW200915331A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102347082A (zh) * 2011-05-30 2012-02-08 福州思迈特数码科技有限公司 录音/录像设备的flash坏块重用方法
TWI398776B (zh) * 2009-09-04 2013-06-11 Silicon Motion Inc 用來增進存取效能之方法以及相關之個人電腦及儲存媒體
TWI479309B (zh) * 2009-04-21 2015-04-01 Ibm 控制固態硬碟的裝置及方法
US10025526B2 (en) 2016-03-09 2018-07-17 Silicon Motion, Inc. Storage device and data moving method for storage device
TWI662554B (zh) * 2016-03-09 2019-06-11 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方法
TWI728618B (zh) * 2019-12-24 2021-05-21 睿寬智能科技有限公司 管理壞塊的方法
TWI790568B (zh) * 2021-03-15 2023-01-21 宏碁股份有限公司 記憶體裝置的工作狀態控制方法與資料儲存系統

Families Citing this family (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140786B2 (en) 2006-12-04 2012-03-20 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US7516267B2 (en) * 2005-11-03 2009-04-07 Intel Corporation Recovering from a non-volatile memory failure
FR2894709A1 (fr) * 2005-12-13 2007-06-15 Gemplus Sa "detecteur de destruction anormale de secteur memoire"
KR100755718B1 (ko) * 2006-09-04 2007-09-05 삼성전자주식회사 멀티 레벨 셀 플래시 메모리에서 런-타임 배드 블록 관리를위한 장치 및 방법
KR100845137B1 (ko) * 2006-10-02 2008-07-09 삼성전자주식회사 메모리 장치의 배드 블록 주소를 번역하는 방법, 메모리장치의 배드 블록 주소를 번역하는 장치 및 이를 포함하는메모리 장치 컨트롤러
US20080313364A1 (en) * 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for remote direct memory access to a solid-state storage device
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US7840537B2 (en) 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
US8533847B2 (en) * 2007-05-24 2013-09-10 Sandisk Il Ltd. Apparatus and method for screening new data without impacting download speed
US8898350B2 (en) * 2007-11-27 2014-11-25 Spanison Llc Multi-bus architecture for mass storage system-on-chip controllers
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8195912B2 (en) 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
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
US9053005B2 (en) 2008-01-02 2015-06-09 Micron Technology, Inc. Recycled version number values in flash memory
US7925822B2 (en) * 2008-01-31 2011-04-12 Sandisk Il Ltd Erase count recovery
TWI375953B (en) * 2008-02-21 2012-11-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
US8082384B2 (en) * 2008-03-26 2011-12-20 Microsoft Corporation Booting an electronic device using flash memory and a limited function memory controller
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
US20090271564A1 (en) * 2008-04-25 2009-10-29 Hitachi, Ltd. Storage system
JP5044822B2 (ja) * 2008-05-02 2012-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データをテープ媒体に書き込む装置及び方法
US8151038B2 (en) * 2008-05-27 2012-04-03 Initio Corporation SSD with a channel multiplier
US8244961B2 (en) * 2008-05-27 2012-08-14 Initio Corporation SSD with distributed processors
US8285919B2 (en) * 2008-05-27 2012-10-09 Initio Corporation SSD with improved bad block management
KR101431760B1 (ko) * 2008-06-25 2014-08-20 삼성전자주식회사 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법
US20090327837A1 (en) * 2008-06-30 2009-12-31 Robert Royer NAND error management
FR2933803B1 (fr) * 2008-07-08 2010-09-24 Thales Sa Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques
US8140739B2 (en) * 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
US9015181B2 (en) 2008-09-26 2015-04-21 Commvault Systems, Inc. Systems and methods for managing single instancing data
EP2329378A4 (en) 2008-09-26 2015-11-25 Commvault Systems Inc SYSTEMS AND METHODS FOR MANAGING SINGLE-INSTANCE DATA
US8891298B2 (en) 2011-07-19 2014-11-18 Greenthread, Llc Lifetime mixed level non-volatile memory system
TWI385672B (zh) * 2008-11-05 2013-02-11 Lite On It Corp 儲存裝置之適應性多通道控制器及其方法
US8412677B2 (en) 2008-11-26 2013-04-02 Commvault Systems, Inc. Systems and methods for byte-level or quasi byte-level single instancing
CN102855943B (zh) * 2008-11-28 2017-04-12 群联电子股份有限公司 错误校正控制器及其闪存芯片系统与错误校正方法
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US8849856B2 (en) * 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US8205060B2 (en) * 2008-12-16 2012-06-19 Sandisk Il Ltd. Discardable files
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US20100153474A1 (en) * 2008-12-16 2010-06-17 Sandisk Il Ltd. Discardable files
US8375192B2 (en) * 2008-12-16 2013-02-12 Sandisk Il Ltd. Discardable files
US20100235329A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
US8161228B2 (en) * 2009-03-19 2012-04-17 Samsung Electronics Co., Ltd. Apparatus and method for optimized NAND flash memory management for devices with limited resources
US8977805B2 (en) * 2009-03-25 2015-03-10 Apple Inc. Host-assisted compaction of memory blocks
US8401996B2 (en) 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US8578120B2 (en) 2009-05-22 2013-11-05 Commvault Systems, Inc. Block-level single instancing
TWI404071B (zh) 2009-06-23 2013-08-01 Phison Electronics Corp 能識別快閃記憶體中錯誤資料的控制電路及儲存系統與方法
US20100333155A1 (en) * 2009-06-30 2010-12-30 Philip David Royall Selectively using local non-volatile storage in conjunction with transmission of content
CN101944386B (zh) * 2009-07-03 2013-11-13 群联电子股份有限公司 识别闪速存储器中错误数据的控制电路及存储系统与方法
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
TWI460588B (zh) * 2009-07-17 2014-11-11 Toshiba Kk Memory management device and memory information processing device
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
EP2302638B1 (fr) 2009-09-21 2013-04-17 STMicroelectronics (Rousset) SAS Procédé d'écriture et de lecture de données dans une mémoire non volatile, au moyen de métadonnées
FR2950464B1 (fr) * 2009-09-21 2012-03-16 St Microelectronics Rousset Procede de nivellement de l'usure dans une memoire non volatile
TW201120898A (en) * 2009-12-07 2011-06-16 Jmicron Technology Corp Mehtod for wear-leveling and apparatus thereof
US8316176B1 (en) 2010-02-17 2012-11-20 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification
TWI483258B (zh) * 2010-02-26 2015-05-01 Transcend Information Inc 使用壞區塊增加率的記憶體異常警示方法以及相關的儲存裝置預警系統
TWI440044B (zh) * 2010-03-01 2014-06-01 Phison Electronics Corp 記憶體管理與寫入方法、記憶體控制器與記憶體儲存系統
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
US8621141B2 (en) * 2010-04-01 2013-12-31 Intel Corporations Method and system for wear leveling in a solid state drive
KR20110121897A (ko) * 2010-05-03 2011-11-09 삼성전자주식회사 사용자 장치 및 그것의 프로그램 페일 처리 방법
US8782327B1 (en) * 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US8874981B2 (en) * 2010-05-12 2014-10-28 Mediatek Inc. Method of creating target storage layout table referenced for partitioning storage space of storage device and related electronic device and machine-readable medium
US9026716B2 (en) * 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
WO2011148223A1 (en) 2010-05-27 2011-12-01 Sandisk Il Ltd Memory management storage to a host device
US8706983B2 (en) 2010-06-30 2014-04-22 Sandisk Technologies Inc. Garbage collection of memory blocks using volatile memory
US8626986B2 (en) 2010-06-30 2014-01-07 Sandisk Technologies Inc. Pre-emptive garbage collection of memory blocks
US8503257B2 (en) 2010-07-30 2013-08-06 Apple Inc. Read disturb scorecard
US8463802B2 (en) 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US9055688B2 (en) 2010-08-20 2015-06-09 Rockwell Automation Technologies, Inc. Input/output circuits having status indicators aligned with respective terminals
US8918550B2 (en) 2010-08-27 2014-12-23 Total Phase, Inc. Real-time USB class level decoding
US9021192B1 (en) 2010-09-21 2015-04-28 Western Digital Technologies, Inc. System and method for enhancing processing of memory access requests
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US8416905B2 (en) * 2010-09-24 2013-04-09 Intel Corporation Digital NRZI signal for serial interconnect communications between the link layer and physical layer
US8935492B2 (en) 2010-09-30 2015-01-13 Commvault Systems, Inc. Archiving data objects using secondary copies
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
US8935466B2 (en) 2011-03-28 2015-01-13 SMART Storage Systems, Inc. Data storage system with non-volatile memory and method of operation thereof
US9342446B2 (en) * 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US9324433B2 (en) * 2011-04-25 2016-04-26 Microsoft Technology Licensing, Llc Intelligent flash reprogramming
US9158670B1 (en) 2011-06-30 2015-10-13 Western Digital Technologies, Inc. System and method for dynamically adjusting garbage collection policies in solid-state memory
KR101818443B1 (ko) * 2011-07-08 2018-01-16 삼성전자주식회사 메모리 컨트롤러, 및 상기 메모리 컨트롤러를 포함하는 메모리 시스템
TWI443512B (zh) * 2011-07-13 2014-07-01 Phison Electronics Corp 區塊管理方法、記憶體控制器與記憶體儲存裝置
CN102279881A (zh) * 2011-07-28 2011-12-14 南京中兴新软件有限责任公司 清除垃圾数据的方法及文件访问服务器
WO2013027642A1 (en) * 2011-08-19 2013-02-28 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US8984032B2 (en) 2011-12-15 2015-03-17 Sandisk Technologies Inc. Method and system for providing storage device file location information
US9152641B2 (en) 2011-12-15 2015-10-06 Sandisk Technologies Inc. Method and system for providing storage device file location information
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
US9619174B2 (en) 2011-12-30 2017-04-11 Intel Corporation Write mechanism for storage class memory
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9020890B2 (en) 2012-03-30 2015-04-28 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US9298252B2 (en) 2012-04-17 2016-03-29 SMART Storage Systems, Inc. Storage control system with power down mechanism and method of operation thereof
US9443591B2 (en) 2013-01-23 2016-09-13 Seagate Technology Llc Storage device out-of-space handling
US9218281B2 (en) 2012-05-04 2015-12-22 Seagate Technology Llc Maintaining ordering via a multi-level map of a solid-state media
US9116792B2 (en) * 2012-05-18 2015-08-25 Silicon Motion, Inc. Data storage device and method for flash block management
US20130311700A1 (en) * 2012-05-20 2013-11-21 Chung-Jwu Chen Extending Lifetime For Non-volatile Memory Apparatus
US8949689B2 (en) * 2012-06-11 2015-02-03 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9846641B2 (en) 2012-06-18 2017-12-19 International Business Machines Corporation Variability aware wear leveling
TWI509615B (zh) 2012-08-03 2015-11-21 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置
CN103593296B (zh) * 2012-08-15 2016-05-18 群联电子股份有限公司 数据储存方法、存储器控制器与存储器储存装置
US20140075093A1 (en) * 2012-09-12 2014-03-13 Infineon Technologies Ag Method and system for implicit or explicit online repair of memory
US9329948B2 (en) 2012-09-15 2016-05-03 Seagate Technology Llc Measuring cell damage for wear leveling in a non-volatile memory
TWI519166B (zh) * 2012-10-31 2016-01-21 晶睿通訊股份有限公司 影像錄製系統、裝置與錄影時的資料存取方法
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9633022B2 (en) 2012-12-28 2017-04-25 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9470720B2 (en) 2013-03-08 2016-10-18 Sandisk Technologies Llc Test system with localized heating and method of manufacture thereof
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture thereof
US9313874B2 (en) 2013-06-19 2016-04-12 SMART Storage Systems, Inc. Electronic system with heat extraction and method of manufacture thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
TWI524183B (zh) * 2014-01-09 2016-03-01 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN104793891B (zh) * 2014-01-17 2018-01-12 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器存储装置
US10324897B2 (en) 2014-01-27 2019-06-18 Commvault Systems, Inc. Techniques for serving archived electronic mail
JP5858081B2 (ja) * 2014-03-27 2016-02-10 Tdk株式会社 メモリコントローラ、メモリシステム及びメモリ制御方法
US9606870B1 (en) 2014-03-31 2017-03-28 EMC IP Holding Company LLC Data reduction techniques in a flash-based key/value cluster storage
US10025843B1 (en) 2014-09-24 2018-07-17 EMC IP Holding Company LLC Adjusting consistency groups during asynchronous replication
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
CN104461391B (zh) * 2014-12-05 2019-08-02 上海宝存信息科技有限公司 一种存储设备元数据管理处理方法及系统
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
KR20160104389A (ko) * 2015-02-26 2016-09-05 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN104765695A (zh) * 2015-04-03 2015-07-08 上海交通大学 一种nand flash坏块管理系统及方法
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US10324914B2 (en) 2015-05-20 2019-06-18 Commvalut Systems, Inc. Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files
US10055236B2 (en) 2015-07-02 2018-08-21 Sandisk Technologies Llc Runtime data storage and/or retrieval
KR102403253B1 (ko) * 2015-07-06 2022-05-30 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치
US10203888B2 (en) * 2015-12-18 2019-02-12 Intel Corporation Technologies for performing a data copy operation on a data storage device with a power-fail-safe data structure
US10152527B1 (en) 2015-12-28 2018-12-11 EMC IP Holding Company LLC Increment resynchronization in hash-based replication
US10101939B2 (en) 2016-03-09 2018-10-16 Toshiba Memory Corporation Storage system having a host that manages physical data locations of a storage device
US9934151B2 (en) 2016-06-28 2018-04-03 Dell Products, Lp System and method for dynamic optimization for burst and sustained performance in solid state drives
US10318185B2 (en) * 2016-07-01 2019-06-11 Intel Corporation Method and apparatus to provide both storage mode and memory mode access to non-volatile memory within a solid state drive
US10614903B2 (en) * 2016-07-18 2020-04-07 International Business Machines Corporation Testing non-volatile memories
KR20180020706A (ko) * 2016-08-19 2018-02-28 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10146604B2 (en) * 2016-08-23 2018-12-04 Oracle International Corporation Bad block detection and predictive analytics in NAND flash storage devices
CN109891396A (zh) * 2017-01-27 2019-06-14 惠普发展公司,有限责任合伙企业 读取操作重定向
US10445195B2 (en) 2017-08-07 2019-10-15 Micron Technology, Inc. Performing data restore operations in memory
KR102384864B1 (ko) * 2017-11-03 2022-04-08 삼성전자주식회사 불량 스트링을 리페어하는 방법 및 불휘발성 메모리 장치
US10620870B2 (en) 2017-12-08 2020-04-14 Intel Corporation Data storage device with bytewise copy
CN109934023A (zh) * 2017-12-19 2019-06-25 陈新 智能安全存储控制器
CN108039191A (zh) * 2017-12-20 2018-05-15 宣城新维保网络技术有限公司 一种存储器模拟测试方法
TWI692689B (zh) * 2017-12-28 2020-05-01 慧榮科技股份有限公司 記憶卡控制器、記憶卡、使用於記憶卡控制器的方法以及連接至記憶卡的電子裝置
US10691354B1 (en) 2018-01-31 2020-06-23 EMC IP Holding Company LLC Method and system of disk access pattern selection for content based storage RAID system
US10672497B2 (en) * 2018-04-03 2020-06-02 SK Hynix Inc. Memory system and method for bad block management
US11048597B2 (en) 2018-05-14 2021-06-29 Micron Technology, Inc. Memory die remapping
US11036651B2 (en) * 2018-06-29 2021-06-15 Micron Technology, Inc. Host side caching security for flash memory
US11055226B2 (en) * 2018-06-29 2021-07-06 Intel Corporation Mitigation of cache-latency based side-channel attacks
US11132247B2 (en) * 2018-07-30 2021-09-28 Micron Technology, Inc. Selective bad block untag and bad block reuse
US11263124B2 (en) 2018-08-03 2022-03-01 Micron Technology, Inc. Host-resident translation layer validity check
CN109739776B (zh) * 2018-12-06 2023-06-30 天津津航计算技术研究所 用于NAND Flash主控芯片的Greedy垃圾回收系统
US11226907B2 (en) * 2018-12-19 2022-01-18 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11226894B2 (en) 2018-12-21 2022-01-18 Micron Technology, Inc. Host-based flash memory maintenance techniques
US10770158B1 (en) * 2019-05-15 2020-09-08 Western Digital Technologies, Inc. Detecting a faulty memory block
US11537464B2 (en) * 2019-06-14 2022-12-27 Micron Technology, Inc. Host-based error correction
CN110262980B (zh) * 2019-06-17 2023-05-02 吉林大学 基于有限寿命存储介质的高速存储系统
US11075656B2 (en) 2019-07-16 2021-07-27 Microsoft Technology Licensing, Llc Bit error reduction of communication systems using error correction
US11086719B2 (en) 2019-07-16 2021-08-10 Microsoft Technology Licensing, Llc Use of error correction codes to prevent errors in neighboring storage
US11063696B2 (en) 2019-07-16 2021-07-13 Microsoft Technology Licensing, Llc Increasing average power levels to reduce peak-to-average power levels using error correction codes
US11172455B2 (en) 2019-07-16 2021-11-09 Microsoft Technology Licensing, Llc Peak to average power output reduction of RF systems utilizing error correction
US11031961B2 (en) 2019-07-16 2021-06-08 Microsoft Technology Licensing, Llc Smart symbol changes for optimization of communications using error correction
US11044044B2 (en) 2019-07-16 2021-06-22 Microsoft Technology Licensing, Llc Peak to average power ratio reduction of optical systems utilizing error correction
US10911284B1 (en) 2019-07-16 2021-02-02 Microsoft Technology Licensing, Llc Intelligent optimization of communication systems utilizing error correction
US10911141B1 (en) 2019-07-30 2021-02-02 Microsoft Technology Licensing, Llc Dynamically selecting a channel model for optical communications
TWI734302B (zh) * 2019-12-16 2021-07-21 義隆電子股份有限公司 智慧卡及其控制方法
CN111240603A (zh) * 2020-01-21 2020-06-05 深圳忆联信息系统有限公司 保护目标lba范围数据的方法、装置、计算机设备及存储介质
CN111580757B (zh) * 2020-05-14 2022-10-14 江苏芯盛智能科技有限公司 数据写入方法、系统和固态硬盘
CN114627932A (zh) * 2020-12-09 2022-06-14 南京长峰航天电子科技有限公司 一种nand flash存储芯片坏区检测管理方法
CN112802530B (zh) * 2021-01-12 2023-11-21 成都佰维存储科技有限公司 Nand测试方法、装置、可读存储介质及电子设备
US11750522B2 (en) * 2021-04-19 2023-09-05 Avago Technologies International Sales Pte. Limited System and method for reducing congestion in a network
EP4092539A1 (en) 2021-05-17 2022-11-23 Elektrobit Automotive GmbH Re-partitioning of a flash memory device
JP2023001573A (ja) 2021-06-21 2023-01-06 キオクシア株式会社 メモリシステムおよび制御方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
FR2686171B1 (fr) * 1992-01-14 1996-09-06 Gemplus Card Int Carte a memoire de masse pour microordinateur avec facilites d'execution de programmes internes.
US6081878A (en) * 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6658202B1 (en) * 1998-09-09 2003-12-02 Smartdisk Portable data transfer and mass storage device for removable memory modules
WO2000051978A1 (en) * 1999-03-01 2000-09-08 Nitromed, Inc. Nitrosated and nitrosylated prostaglandins, compositions and metods of use
US7249978B1 (en) * 2005-10-24 2007-07-31 Super Talent Electronics, Inc. Reduced-length, low-profile USB device and card-like carrier
US7257714B1 (en) * 1999-10-19 2007-08-14 Super Talent Electronics, Inc. Electronic data storage medium with fingerprint verification capability
US6636941B1 (en) * 2000-01-18 2003-10-21 International Business Machines Corporation Enhanced stable disk storage
JP4129381B2 (ja) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US20070094489A1 (en) * 2005-10-21 2007-04-26 Sony Corporation Embedded system that boots from USB flash drive
US7739726B2 (en) * 2005-11-14 2010-06-15 Route1 Inc. Portable device for accessing host computer via remote computer
US7594087B2 (en) * 2006-01-19 2009-09-22 Sigmatel, Inc. System and method for writing data to and erasing data from non-volatile memory

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI479309B (zh) * 2009-04-21 2015-04-01 Ibm 控制固態硬碟的裝置及方法
TWI398776B (zh) * 2009-09-04 2013-06-11 Silicon Motion Inc 用來增進存取效能之方法以及相關之個人電腦及儲存媒體
CN102347082A (zh) * 2011-05-30 2012-02-08 福州思迈特数码科技有限公司 录音/录像设备的flash坏块重用方法
US10025526B2 (en) 2016-03-09 2018-07-17 Silicon Motion, Inc. Storage device and data moving method for storage device
TWI662554B (zh) * 2016-03-09 2019-06-11 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方法
TWI728618B (zh) * 2019-12-24 2021-05-21 睿寬智能科技有限公司 管理壞塊的方法
TWI790568B (zh) * 2021-03-15 2023-01-21 宏碁股份有限公司 記憶體裝置的工作狀態控制方法與資料儲存系統

Also Published As

Publication number Publication date
CN101399075A (zh) 2009-04-01
US20080082736A1 (en) 2008-04-03

Similar Documents

Publication Publication Date Title
TW200915331A (en) Managing bad blocks in various flash memory cells for electronic data flash card
US7690031B2 (en) Managing bad blocks in flash memory for electronic data flash card
TWI351605B (en) Managing bad blocks in flash memory for electronic
US8166233B2 (en) Garbage collection for solid state disks
TWI432960B (zh) 操作記憶體單元之方法,記憶體控制器以及記憶體系統
US8166258B2 (en) Skip operations for solid state disks
US8055833B2 (en) System and method for increasing capacity, performance, and flexibility of flash storage
US8489803B2 (en) Efficient use of flash memory in flash drives
KR101491943B1 (ko) 트랜잭션 로그 복구
TWI479359B (zh) 指令執行方法、記憶體控制器與記憶體儲存裝置
TWI638263B (zh) 資料備份方法、資料恢復方法以及儲存控制器
TWI515735B (zh) 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置
TWI447580B (zh) 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置
JP2012507100A (ja) 論理ユニット動作
TWI495998B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI660271B (zh) 整理指令記錄方法、記憶體控制電路單元與記憶體儲存裝置
TWI725416B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
TWI651650B (zh) 記憶體管理方法及使用所述方法的儲存控制器
TW202234227A (zh) 有效資料合併方法、記憶體儲存裝置及記憶體控制電路單元
TWI464585B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
US10180788B2 (en) Data storage device having internal tagging capabilities
KR20160119607A (ko) 데이터 저장 장치 및 그것의 동작 방법
TW201643722A (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI711048B (zh) 快閃記憶體之資料整理方法、控制電路單元與儲存裝置