TWI375151B - A controller for one type of nand flash memory for emulating another type of nand flash memory and methods for the same - Google Patents
A controller for one type of nand flash memory for emulating another type of nand flash memory and methods for the same Download PDFInfo
- Publication number
- TWI375151B TWI375151B TW097101843A TW97101843A TWI375151B TW I375151 B TWI375151 B TW I375151B TW 097101843 A TW097101843 A TW 097101843A TW 97101843 A TW97101843 A TW 97101843A TW I375151 B TWI375151 B TW I375151B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- host
- page
- flash memory
- controller
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
九、發明說明: •【發明所屬之技術領域】 本揭示案大體而言係關於快閃記憶體裝置,且更具體言 之係關於以一種反及快閃記憶體裝置(例如,一每單元多 位元(’·ΜΒ(:”)抉閃記憶體裝置)模仿另一種反及抉閃記憶體 裝置(例如,一每單元單位元("SBC")快閃記憶體裝置 【先前技術】 多年來已已知快閃記憶體裝置(一種非揮發性記憶體裝 置)。快閃記憶體裝置包括—記憶體單元陣列,其中每_ 記憶體單元由一通常具有一浮動閘極區、-汲極區及-源 極區之半導體電晶體實施。一記憶體單元可具有藉由控制 該浮動閘極内所儲存之電荷量而實施的兩種或兩種以上相 /、狀^亦即每一狀態與浮動閘極内所儲存之不同電荷 量相關聯。為實際上使用^己憶體單元,其每一狀態與一個 二進位值相關聯》 種) 夬閃。己It體裝置係基於通常稱為"每單元單位元" (SBC)之技術,其意謂SBC記憶體裝置中之每一記憶體單 凡儲存-位το。母單元儲存—位元意謂單元經組態以處於 (亦即,儲存)兩種可能狀態中 爷^通常,皁兀之一狀 態與單元之浮動閘極中所儲存 « , IIU 存之零電何相關聯。此狀態為 单7L之"未寫入”狀態,且 逋吊其表不二進位數位” 1 ”。單元 之另一狀態通常與浮動閘極中 ^ tl Α ^ ^ - p ^ 里之負電荷相關聯。此 狀態為早兀之已寫入"狀態,且 ^ 项》吊其表不二進位數# "〇"。洋動閘極中負電荷之存在 导致早70之電晶體之臨限 128289.doc 1375151 電壓增加,且因此導致必須施加至電晶體之控制閘極的電 壓增加以便使電晶體導電。 快閃記憶體裝置能夠執行三種操作:將資料寫入(出於 歷史原因經常被稱為"程式化··)至記憶體單元中、自記憶體 單元讀取資料,及自記憶體單元抹除資料。此等操作由外 部主機裝置起始但由控制器局部地處置。將二進位數位 (亦即,〇"或"1")寫入至記憶體單元涉及改變電晶體之浮 動閘極中的電荷以藉此改變單元之臨限電壓。讀取記憶體 單元中所儲存之二進位數位涉及檢查單元之臨限電壓之位 準-若臨限電壓處於較高狀態,則將位元值解譯為邏輯值 然而,若臨限電壓處於較低狀態,則將位元值解譯 為邏輯值"1"。實際上’不需要準4地讀取單元之臨限電 壓》實情為’正確地識別單元當前處於兩種狀態中之哪一 者係足夠的。為實現此’必須將單元之臨限電壓與值介於
兩種狀態之間的參考電壓相比較’且判定單元之臨限電壓 是低於還是高於該參考值。 對於許多種快閃記憶體(例如,反及快閃記憶體)而言, 寫入操作及抹除操作不可在個別記憶體單元上進行,而相 反,其在記憶體單元群上進行。寫入操作在"頁面"上進 仃,其相對小(對於反及快閃記憶體裝置而言通常川位元 組、2千位元組或4千位元組);而抹除操作在"區塊”上進 行:其比頁面大(對於反及快閃記憶體裝置而言通常辦 位元組或12 8千位元組)。 另一種快閃記憶體裝置係基於通常稱為”每單元多位元” 128289.doc 1375151 (MBC)之技術。在MBC記憶體裝置中,每—記憶體單元儲 存N個位元(Nd) ’其意謂一 MBC記憶體單元經組態以儲存 2"種狀態。舉例而言,一儲存2個位元之記憶體單元儲存 四種狀態,其中每一者與四個二進位值"00 "、"〇 1 "、n j " 及"11"中之一者相關聯。 由於單元之狀態由單元之臨限電壓表示,故儲存兩個位 元之MBC單元支援單元之臨限電壓的四個相異範圍。至於 SBC單元,MBC單元之每一狀態實際上為一電壓範圍而非 單一電壓。當讀取單元之内容(亦即,所儲存之二進位值) 時,單元之臨限電壓必須正確地與正確電壓範圍相關聯。 MBC快閃裝置淪述於(例如)Harari之美國專利第 號中》 當最初設想快閃記憶體技術之概念時,MBC反及快閃裝 置相對稀少且SBC裝置係規範。因此,利用快閃記憶體技 術之主機的傳統設計係SBC導向的,使其變得與裝置 不相谷因此,即使MBC反及技術已成熟,比SBC裝置更 成:有效(至少在每美元百萬位元組方面)且在市場上已可 購付,基於MBC之反及裝置仍不可被順應SBC之主機裝置 使用’即使MBC裝置比SBC裝置提供每相同實體面積更大 之儲^量’其仍阻礙MBC技術之進一步迅速擴大。即使 涉及母早元使用相同數目之位元來儲存資料的記憶體單 疋’在儲存裝置由不同儲存器供應商供應時,其他技術失 配仍可此存在’因為不存在用於反及介面之標準且不同供 應商可旎且確實使用不同種類之反及介面。 128289.doc 1375151 克服此相容性問題(亦即,使得MBC快閃裝置與順應 SBC之主機能夠彼此相互作用)並非不重要,因為sbc裝置 及MBC裝置固有地在若干技術態樣中不同。舉例而言, . SBC裝置&MBC裝置利用不同大小之資料頁面及資料區 塊。另外,由於SBC單元之兩種狀態之間的電壓間距(”誤 差容限")大於存在於MBC之每兩種相鄰狀態之間的誤差容 限,故SBC單几提供較高可靠性位準,出於該原因通常使 用SBC單元用於啟動電腦系統。為補償其相對較低之可靠 性,MBC裝置使用較強校正方案(例如,較強誤差校正碼 (ECC)) 〇 由於SBC快閃記憶體裝置提供較高可靠性及較快回應 • 性,故已努力將SBC能力與MBC之能力結合。然而,彼等 ( 努力係針對僅改良MBC快閃記憶體裝置之特定技術態樣。 一些先前技術解決啟動態樣;亦即,其提供將初始化(亦 即,啟動)程式儲存於MBC快閃記憶體裝置中之一特定區 % 域中以獲得類似於”真正"SBC技術所提供之可靠性的啟動 可靠性。其他先前技術解決可靠性態樣且提供較強誤差校 正機制。其他先前技術解決回應性速度態樣且准許將SLC 快取專用並使用於MBC裝置中’等等。然而,先前技術並 綠示將SBC資料寫入至MBC快閃記憶體裝置中作為規則 MBC資料,或自MBC資料内讀取SBC資料。 【發明内容】 結合系統、卫具及方法來描述且說明以下實例實施例及 其態樣,其意謂為例示性及說明性而非在範疇方面限制 Ι 28289.doc ΙΟ 1375151 的。 作為本揭不案之部分,提供一種用於主 二:一置中之方法,該方法包括由該I:::: 、之㈣β自-主機纟置接收一冑主機資料寫入:一 分組成獨立可寫裝置頁面之反及快閃記憶體單元陣列中- 寫入指令。該控制器可將該主機資料與補充資料聚集的 稭此建立可儲存於該等裝置頁面中之一或多者中的裝: 枓,且接著將該裝置資料寫入至裝置頁面令本 中。 4夕者 :為本揭示案之部分’提供一種用於自一快閃記 置續取主機資料之方法,該方法包括以下步驟··自、 置接收一自分組成獨立可胃ρ胃i 裝 裝置頁面之反及快閃記憶體單 凡陣歹"買取主機資料的讀取指令,該主機資料係 面中所儲存之裝置資料之一部分自 貝 貧科’及將已剖析之主機資料發送至該主機裝置。 作為本揭示案之部分,提供—種用於執行—自 憶體裝置抹除主機資料之抹除指令的方法,該方法包= :步驟.自-主機裝置接收一自一分組成獨立可抹除 Γ 鬼之反及快閃記憶體單元陣列抹除主機資料的抹除指 :Θ主機貧料係一裝置區塊中所儲存之裝置資料之一部 刀丄將該主機資料標記為已抹除,及將主機資料已被抹除 t訊息發送至該主機裝置。該方法可進—步包括一實際 上抹除含有主機資料之裝置區塊的步驟。 作為本揭示案之部分,提供一種用於一快閃記憶體裝置 128289.doc 0151 0151
之控制窃,其實施寫入方法、讀取方法及抹除方法。該控 制器可包括-用以自-反及主機裝置接收主機資料之主機 反及介面,及一用於將該主機資料與補充資料聚集以藉此 建立裝置資料之資料聚集器。該控制器可將該裝置資料寫 入至一反及快閃記憶體單元陣列之一與該快閃記憶體裝置 相關聯的裝置頁面中。該控制器亦包括一用以在由控制器 執灯資料寫人操作時剖析該補充資料且在由控制器執行資 料讀取操作時自裝置資料剖析主機資料的資料剖析器。 主機資料可經格式化以用於—將資料儲存於每單元Μ個 位元中之反及記憶體單元陣列,且該等反及快閃記憶體單 兀可經設計以將資料儲存於每單元_位元中,其中狀河 為整數且ν大於Μ。在-實例實施例中,Ν等於等於 1。在另一實例實施例中,N等於4AM等於i。在又一實例 實施例中,N等於4且)v[等於2。
除上所述之例不性態樣及實施例之外,其他態樣及實 施例將藉由參看諸圖及藉由研究以下實施方式而變得顯而 【實施方式】 將藉由參考本發明之實例實施例的料細描述來更好地 理解以下之申請專利範園。 圍林意欲限制巾請專利 範圍之範疇而替代地提供實例。 存==及快閃記憶體裝置經設計以將資料儲 ^獨立處置之頁面中。視主機裝置所起始之操作類型 (亦即,將資料寫入至 閃"己隐體裝置中、自快閃記憶體 128289.doc J2 1375151 裝置讀取主機資料或自快閃記恃 隐體裝置抹除主機資料)而 定’"經獨立處置之頁面"可;"饱* J知代獨立可寫"或"獨立可讀" 之頁面。當涉及"抹除"操作時,以區塊抹除資料,立中每 -區塊由若干頁面組^’頁面"之大小及區塊之大小視反 及快閃記憶體褒置之類型而定,且如以上所論述,藉由同 -快閃記憶體裝置來處置各種大小之資料頁面並非不重 要,因為通常反及快閃記憶體裝置係針對特定頁面及區塊 大小經設計或至少最佳化。作為此之結果,針對特定頁面 大小汉4之主機裝置通常不可(至少不有效地)與針對不同 頁面大小設計之快閃記憶體裝置相互作用。 大體而=發源於主機裝置之'’命令序列"可包括資料 (在下文中被稱作纟機資料,,)、一與快閃記憶體裝置内之 實體頁面相關聯的邏輯頁面位址,及—使快閃記憶體裝 置使用該邏輯位址來將該主機資料寫入至該實體頁面t的 寫入指7自一主機邏輯位址至一裝置頁面之一實體位址 的映射係藉由將該主槪邏輯位址映射至一對應裝置頁面之 邏輯位址且接者將該裝置頁面之該邏輯位址映射至該裝 置頁面之一實體位址而執行。一 ”命令序列"可替代地包括 一邏輯位址及一使快閃記憶體裝置使用該邏輯位址來自快 閃記憶體裝置之-實體頁面讀取主機資料的讀取指令,或 一邏輯位址及一使用該邏輯位址來自快閃記憶體裝置抹除 主機資料的抹除指令。一"命令序列"亦可包括可被快閃記 憶體裝置使用的管理資料及其他種資料或資訊。一自一主 機裝置轉發至一快閃記憶體裝置之命令序列在下文中被稱 128289.doc 13 1375151 作"主機命令序列,,。由於在反及㈣裝置中將資料分組成 頁面,故可稱將"主機資料"分組成"主機頁面"。 . 圖1展示一根據本揭示案之-實例實施例的快閃記憶體 •裝置(展不於102處)。反及快閃記憶體系統100包括一反及 主機裝請及一與主機裝置1〇1介面連接之反及快閃記憶 體裝置102。快閃記憶體裝置1〇2包括一 (I/F)105、控制器⑻及1於將資料儲存於¥單元關位 兀中之反及e憶體單元陣列130,其中N等於或大於 主《置主機命令序列經由主機ι/ρ⑼轉發(展 示於爾)至快閃記憶體裝置1〇2。該主機命令序列包括 主機資料,其分組成小於裝置頁面之大小的主機大小之頁 面以供儲存於快閃記憶體裝置102中。若(例如)主機裝置 1 〇 1為經設計以與s B c快閃記憶體裝置相互作用之咖裝 置,則主機資料具有SBC資料之大小及其他特性’且同樣 地’主機命令序列為或類似SBC命令序列。SBC頁面 小通常小於4千位元組(例如,2千位元組)。 "裝可置儲體單元陣列13G中之f料在下文中被稱作 ^置資而記憶體單㈣列13。内的用以儲存裝 r之圯憶體單元群在本文中被稱作"裝置頁面、 =與其相關聯之一指示頁面在記憶體單元陣㈣内頁 頁面之二=體位址與一指示如主機聚置101所察覺之 種位址轉,成另的邏輯位址兩者。通常,轉譯表用以將-哎轉譯成另一種位址。 右(例如)快閃記憶體裝置為MBC裝置,則裝置頁面具有 128289.doc -14- 1375151 MBC頁面之大小及其他特性,且同樣地’為由控制器1 内部.可用之命令序列的裝置命令序列經結構化或格式化以 便符合MBC技術。MBC頁面之大小通常為至少4千位元 組。庄思,在本揭示案之情形下,不管所涉及之技術(例 如,SBC、MBC,等等),主機資料小於裝置資料。 決閃記憶體裝置通常包括一用於管理記憶體裝置與其主 機裝置之間的資料交換及各種内部過程(例如,磨損平衡
(wear leveling))的一體式快閃控制器(未展示於圖i中卜若 一快閃記憶體裝置及其主機裝置使用相同頁面大小及相同 區塊大小來操作,則在不使用諸如圖!之控制器1〇3之控制 器的情況下,該快閃記憶體裝置可與其主機裝置相互作 用。然而,本揭示案應用於符合不同技術(例如,sBC對 MBC)之主機裝置101及快閃記憶體裝置1〇2且亦應用於基 於相同技術(例如,MBC)但使用不相容反及介面的主機裝 置及快閃記憶體裝置。如以上所論述,主機裝置ι〇ι可能 符合SBC技術且快閃記憶體裝置1〇2可能符合mbc技術。 控制器1〇3以以下所述之方式解決主機1〇1與快閃記憶體裝 置1 02之間的技術差異。 控制器103包括一主機命令剖析器("Hcp")ii〇、一控制 電路15〇、-資料聚集器12〇及一資料剖冑器刚。^^ 連接(展示於1〇6處)至主機I/F 1〇5、資料聚集器i2〇(展示於 ⑵處)及控制電路15〇(展示於151處)。資料聚集器12〇可連 接至-隨機存取記憶體("RAM,i)(諸如ram i 6g)以臨時儲 存主機資料及可能地其他資料(例如,虛設資料)。資料聚 128289.doc •15- 1375151 集器120連接(展示於142處)至資料剖析器♦資料聚集器 120_及資料剖析咨14G連接至反及記憶體單元陣列分別 展不於131及141處)。虛設資料,,指代由控制器⑼可識別 為不具有除表示裝置頁面内之一空白空間之外之任何意義
的資料且不可存取諸如主機F 如王機裝置101之外部裝置的特定資 料。 控制器103經調適或經組態以自主機裝置101經由主機
I/F 105接收一主機命令序列(例如,sbc命令序列)以處置 可為SBC資料之主機資料4機命令㈣器(Hcp)ii〇經調 適或經組態以自該主機命令序列產生一裝置命令序列以遵 照-可應用於記憶體單元陣㈣Q之裝置頁面操作(例如, MBC操作)而處置主機資料。"處置主機資料"在本文中指 代主機命令序列可實際上包括用於料於(寫人或程式: 至)快閃記憶體裝置中之主機資料或主機資料已儲存於快 閃記憶體裝置中且需要自記憶體單元陣列13〇讀取或抹除 的情況。 主機命令剖析器(HCP)U0藉由將主機命令序列剖析成主 機操作碼("HOC’’)lll、主機邏輯位址(„hla”)U2及主機資 料113,轉譯(若需要)一由快閃記憶體裝置1〇2可用之操作 碼來產生裝置命令序列《如以下所述般處理自主機命令序 列剖析之資料(亦即,主機資料)。”主機資料"可指代與待 處置(亦即,寫入、讀取或抹除)之資料相關聯的資料、元 資料及/或管理資料。 替代實施例可包括更多、更少、其他或功能上等效之模 128289.doc * 16 - 1375151 組、組件或元件。與 举例而s,習知快閃記憶體裝置包括一 快閃管理器(亦即,_ # ^ 種控制器,其管理進入及退出資料 及諸如磨損乎衡、溫鮮, 邏輯位址至實體位址之轉譯及實體位址 至邏輯位址之錄堪& 6 ’、他内部過程)。因此’圖1之控制器 103可為與快閃管理哭 吕理器相互作用之獨立裝置,或可將快閃 管理器之功能性整人、虚 ^ α 嵌入或加入至控制器103中。儘管 在圖1中展示為獨立έ彼 苟立,且件’但主機介面105可為控制器103 之一體式部分。儘管在^中展示為控制㈣3之—體式部 分,但RAM 16〇或轉課表154或兩者可常駐於控制器购卜 部〇 ’,寫入,,操作 若在檢查主機操作碼lu之後,HCP 110判定主機命令序 •歹包括-將主機資料寫入於記憶體單元陣列130中之寫入 指令’則在該寫入指令並非記憶體裝置相容時,HCP⑽ 將主機之寫入命令轉課成一由快閃記憶體裝置ι〇2可用之 寫入指·?否則(亦即,不需要指令轉譯),控制電路150可 按現狀利用主機寫入指令。因此,Hcp m將原始寫入指 令或(亦即,若其並不由快閃記憶體裝置、102可用)其轉譯轉 發(展不於151處)至控制電路15〇。控制電路15〇可接著控制 . 資料聚集器12G之操作(展示於⑴處),且若需要,亦控制 . 資料剖析器刚之操作(展示於152處)以遵照主機裝置所發 出之寫入指令》 參考數字17G表示在-所接收之主機命令序列内自主機 裝置⑻接收之例示性主機資料。若操作碼ui為寫入指 128289.doc 1375151 令’則此意謂控制器i 03必須將主機資料i 70寫入於記憶體 單元陣列130中。在該等狀況下,HCP 11〇將為例示性主機 資料113之主機資料ι70轉發(展示於121處)至資料聚集器 120以供處理。
參考數字173、174及175表示僅可將具有與襞置頁面相 同之大小(例如,4 KB)的裝置資料寫入所圭的或可讀取具 有與裝置頁面相同之大小之資料所自的例示性裝置頁面。 為簡単起見,圖1僅展示三個例示性裝置頁面(亦即,裝置 頁面173、174及175),而記憶體單元陣列13〇實際上將具 有大量装置頁面。由於主機資料17{)小於裝置頁面(例如, 裝置頁面⑺)’且由於與每—頁面大小相關聯之各種技術 複雜情況,主機資料17G不可按現狀寫人至記憶體單元陣 列丨3〇中,而相反,其必須由控制器1〇3在控制器1〇3將其 寫入至記憶體單元陣列13〇之前處理。
為將主機資料170(或就彼而言任何其他主機資料)寫入 體早^陣列130 ’控制器1〇3包括-經調適或經組態 =立可儲存於記憶體單㈣列π时之—或多個裝置頁 面中(例如,歩^署百 • S置頁面175中)的裝置.資料之資料聚隼考 12〇。資料聚集器12〇藉由將主機 來建立該裝置資料。在完成資料聚集過程之後 裔120將新建立之裝置資料寫 ,集 置頁面17W中之1多/中請處叫例峨 抖聚集。根據-第-選項’補充資料為自主機裝二 128289.doc • 18- 收且在快閃記憶體裝置102中排入佇列的其他主機資料。 此選項涉及等待直至充足數目之新主機資料自主機裝置 101得以接收且(例如)在隨機存取記憶體(RAM)160中排入 件列為止。 在不足數目之主機資料於快閃記憶體裝置丨〇 2中排入传 列的情況下,可採用一第二選項,其涉及自記憶體單元陣 列ί 3 0讀取剩餘補充資料。為了有助於該第二選項,控制 電路150將資料剖析器ι4〇可讀取剩餘補充資料所自之裝置 頁面173、174及175之與根據需要一樣多的實體位址發送 (展示於152處)至資料剖析器14〇(即使缺乏不足數目之主機 資料於快閃記憶體裝置1〇2中排入佇列的情況,仍有可能 採用此第二選項)。資料剖析器140藉由使用一實體位址以 自所定址之裝置頁面擷取對應裝置資料來自記憶體單元陣 列130讀取資料。若待讀取之資料為主機資料,則資料剖 析器140自裝置資料剖析主機資料。, 一第二選項涉及僅在持續規定時段無新主機資料到達時 自記憶體單元陣列130擷取補充資料。一第四選項涉及將 當前所接收之主機資料臨時儲存於記憶體單元陣列13〇中 之某一裝置頁面中(亦即,裝置頁面173、174、η5中或任 何其他裝置頁面甲),及稍後在接收額外主機資料之後將 其與補充資料聚集。 關於裝置頁面之實體位址,若控制電路15〇(例如)藉由 使用轉譯表154而發現可能之補充資料儲存於—特定裝置 頁面中,則控制電路150可僅將彼特定裝置頁面(例如,裝 128289.doc -19- 置頁面175)之實體位址發送(展示於152處)至資料剖析器 M0。然巾,若㈣電路150發現可能之補充資料分散於記 憶體單元陣列130内之若干裝置頁面當中,則控制電路W 將分別對應於該若干裝置頁面之若干實體位址發送(展示 於152處)至資料剖析器140。 接著,資料剖析器丨4〇利用自控制電路15〇發送之實體位 址來自記憶體單元陣列130擷取(展示於141處)裝置資料, 資料剖析器i40可自裝置資料剖析所需補充資料。接著, 資料剖析器M0可將補充資料轉發(展示於142處)至資料聚 集器120,資料聚集器12〇將補充資料與主機資料聚集以藉 此建立新裝置資料。接著,資料聚集器12〇將裝置資心 入(展示於131處)至實體位址自控制·電路15〇發送(展示於 15^處)之目標裝置頁面(例如,裝置頁面175)中,以藉此完 成寫入才曰7 111。注意,如以下結合圖3所論述,補充資 料可為虛設資料。亦即,待健存於一裝置頁面中之主機資 ;'、、虛資料聚集且該裝置頁面將被控制器1 〇3看作僅 :有主機資料。以實例說明,裝置頁面175經展示含有主 機資料m、主機資料177及虛設資料178。在此實例中, p聚集器12〇接收主機資料176且在將主機資料176與額 注主機資料177寫入至快閃記憶體單元陣列130之前決定等 主機資料177。在等待該額外主機資料(亦即,主機資料 二時,資料聚集器120將主機資料176臨時保持於趣 資祖接者’資料聚集器120接收主機資料177且將主機 與主機資料177及與虛設資㈣聚集。最後,如 128289.dc •20- 1375151 圖1中所描繪,資料聚集器120將所得所聚集之資料寫入至 裝置頁面175中。 注思’替代於將裝置頁面之實體位址發送至資料剖析号 • 140(如152處所示)及發送至資料聚集器120(如153處所 示),控制電路150可使用裝置頁面之實體位址來自記憶體 單元陣列130讀取所關注之裝置資料,且視情況而定將其 發送至資料别析器140或發送至資料聚集器12〇。 ^ ”讀取’’操作 φ 若一所接收之操作碼111由控制電路150解譯為"讀取"指 令,則控制電路150執行一"讀取,,指令,在其期間,控^ 電路150將主機邏輯位址112轉譯成記憶體單元陣列内 之應讀取主機資料(在下文中被稱作"所請求之主機資料 所自之一裝置頁面(在下文中被稱作"所請求之裝置頁面。 的實體位址。由於主機資料儲存於裝置頁面中作為裝置資 料之一部分,故必須自所涉及之裝置頁面中所儲存之裝置 • 資料剖析所請求之主機資料(亦即,待讀取之主機資料)。 因此,控制電路150將所請求之裝置頁面之實體位址轉發 (展示於152處)至資料剖析器14G。資料剖析器刚接著利用 所咐求之裝置頁面之實體位址來讀取(展示於】4!處)所請求 • 之裝置資料。接著,資料剖析器140自所榻取之裝置資料 J析所吻求之主機資料’且將所請求之主機資料經由主機 I/F 1〇5發送(展示於143處)至主機裝置ι〇ι,以藉此完成”讀 取”命令111。 .替代於將所凊求之裝置頁面之實體位址發送至資 I28289.doc 1375151 料剖析器140(如152處所示),控制電路15〇可使用所請求之 裝置頁面之實體位址來取出所請求之裝置資料並將所請求 之裝置資料發送至資料剖析器14〇。 ”抹除”操作 右一所接收之操作碼111由控制電路15〇解譯為„抹除"指 令,則控制電路150執行一"抹除"指令。不同於在"頁面 執仃之"寫入"操作及"讀取"操作,在反及快閃裝置中以,區 Φ 塊•’抹除資料。一”主機區塊"由多個主機頁面組成,且一 "裝置區塊"由多個裝置頁面組成。因Λ,若控制電路150 識別一抹除主機資料之抹除指令,則控制電路150針對記 隐體單元陣列130中之儲存包括待抹除之主機資料之裝置 資料的裝置區塊的位址而查閱轉譯表154。接著,控制電 路150在轉譯表154中將主機資料標記為已抹除,且將主機 資料已被抹除之一訊息發送至主機裝置1〇1。控制電路丨^ 可能實際上稍後在適當時間或便利時自記憶體單元陣列 • 13〇抹除主機資料。為了實際上抹除主機資料,控制電路 15〇將與主機資料相關聯之主機邏輯位址Π2轉譯成含有主 機資料之裝置區塊的對應實體位址,且接著,控制電路 150抹除彼裝置區塊。 . 圖展示根據本揭示案之用於藉由一快閃記憶體裝置來 冑置-主機命令序列的例示性方法。將與^相關聯地描 述圖2’且假定主機裝置1〇1符合SBC技術且快閃記憶體裝 置102符合MBC技術。如以上所解釋’在不留心將一裝置 與另-裝置區別開之各種技術態樣的情況下,sbc主機裝 128289.doc •22· 1375151 置與mbc快閃記憶體裝置不可相互作用。除有區別之頁面 大小及區塊大小之外,在將新資料寫入至一頁面中之前, 在SBC快閃記憶體裝置中抹除彼整個頁面。然❿,在可將 該新資料寫入至彼頁面中之充分大之自由空間中(在此項 技術中通常被稱作"部分頁面程式化"("ppp”)的特徵)時, 免除該”抹除"步驟。與SBC快閃記憶體裝置相反,mbc快
閃記憶體裝置總是在可將新資料寫入至一頁面中之前抹除 彼整個頁面。另外’ SBC快閃記憶體裝置隨機地將資料寫 入至頁面中,而MBC快閃記憶體裝置依序地將資料寫入至 頁面中;亦即,將資料寫入至頁面〇中’接著寫入至頁面 1、頁面2等令。如以上結合圖!所解釋,控制器1〇3藉由使 用主機命令剖析器110、資料聚集器12〇及資料剖析器14〇 來解決此專技術差別。
在步驟201處,反及快閃記憶體裝置1〇2之控制器1〇3自 主機裝置ιοί接收(展示於圖【中104處)一在此實例中為sbc 命令序列之主機命令序列。在步驟2〇2處,主機命令剖析 器(HCP)llO將該SBC命令序列剖析至一 SBC操作碼lu、 SBC邏輯位址112及在此實例中、為SBC資料之主機資料 113。在步驟203處,檢查該操作碼是否為一"寫入"指令。 若SBC操作碼為一"寫入"指令(在203處展示為"是”),則在 步驟204處,控制電路150指示(展示於153處)資料聚集器 120將SBC資料丨13與可為其他SBC資料之補充資料聚集或 合併,以藉此建立可儲存於MBC單元陣列13〇之一或多個 裝置頁面中的裝置資料(在此實例中為MBC資料)。在步驟 128289.doc •23 - 1375151 =二二控制電路15。指示(展示於153處)資料聚集器 〇將匕括咖資料的所建立之裝置資料(亦即康資料) 寫入至MBC單元陣列13〇之梦 裝置頁面中的結果將SBC資料 寫入至對應MBC頁面中。 補充資料可為自主機奘罟1Λ144 & 裝置101接收且在快閃記憶體裝置 102 t排入佇列的其他 c ^ 機料可為已儲存於 t快閃記憶體單元陣列130中作為其他裝置資料之-部
析的主機資料。補充資料可為虛設資料。關於 寫入操作,使記憶體單元陣列130之裝置頁面成群成區塊 且在每-區塊内接連地以邏輯方式(1Ggieallywise)寫入至 該等裝置頁面,以致此等裝置頁面之實體位址未必依序。 換言之’可將資料寫入至非相連、分散或不規則置放之裝 頁中a非相連、分散或不規則置放之裝置頁面中所 儲存之資料將如其儲存於相連裝置頁面中一般被邏輯地引 入至主機裝置。 主機資料可由控制器103回應於主機裝置101使用部分頁 面程式化(PPP )方案來寫人或試圖寫人主機資料而使用偽 PPP方案寫人至快閃記憶體單元陣列130中。使用偽PPP方 案可包括使用虛設資料作為補充資料。主機資料可由控制 器103寫入於一不鄰近於一已寫入至之裝置頁面的裝置頁 面中,(例如)以改良.電力故障保護。 然而,右SBC操作碼111並非一”寫人M指令(在步驟203處 展不為S ) ’貝|J在步驟2〇4處,檢查操作碼是否為一"讀取" 指令。若就操作喝為一自記憶體單元陣列U0讀取SBC資 128289.doc -24. 1375151 料之吻取扣令(在步帮2〇6處展示為”是")(該sBc資料係一 裝置頁面争所儲存之MBC資料之一部分),則在步驟207 處,控制電路15〇指示(展示於152處)資料剖析器14〇自記憶 體單元陣列130讀取(展示於141處)MBC資料,且自MBC資 料析SBC資料。在步驟2〇8處,控制電路指示(展示於 152處)資料到析器14〇將已剖析之sbc資料發送至主機裝置 101 ’以藉此完成讀取操作。
然而,若SBC操作碼並非一 ”讀取"指令(在2〇6處展示為 否”),則操作碼111為一自記憶體單元陣列130抹除SBC資 料之"抹除"指令,該SBC資料係一裝置區塊中所儲存之 MBC資料之—部分。在步驟2〇9處,控制器ίο]内部地(例
如’在轉譯表154中)將SBC資料標記為已抹除,且將SBC 資料已被抹除之一訊息發送至主機裝置1〇1。在可選步驟 210處控帝j器1〇3實際上在其使用邏輯位址⑴來識別含 有SBC資料之MBC區塊的對應實體位址之後自該mbc區塊 抹除S B C資料。 庄意,藉由使用一諸如圖i之控制器1〇3的控制器,一 SBC主機裝置可與—MBC快閃記憶體裝置如該快閃記 憶體裝置為SBC快閃記憶體裝置一般一起工作(亦即,發出 "寫入"、”讀取"及"抹除,,指令至MBC快閃記憶體裝置卜亦 注意’本揭示案不限於與反及MBC快閃記憶體褒置一起操 作之反及SBC主機裝置《本揭示案亦可應用於任何反及主 機裝置及反及快閃記憶體裝i,其限制條件為將主機資料 分組成小於裝置頁面之主機頁面。舉例而t,本揭示案在 128289.doc •25· 1375151 ” MBC主機裝置相關聯之資料頁面小於與一 mbc快閃記 憶體裝置相關聯之資料頁面時可應用於與該MBC快閃記憶 體裝置一起操作的該MBC主機裝置。 模仿SBC部分頁面程式化(”ppp,,) 圖3展不根據本揭示案之部分頁面程式化("ρρρ"χ由sbc 快閃記憶體裝置使用之特徵)之例示性模仿。若主機裝置 101(其根據一實例為SBC裝置)想要使用ppp,則其可正常 地使用PPP,且如以下所述,,決%記憶體裝£ 1〇2將藉由使 用偽PPP方案而回應由主機裝置發出之所得,,寫入"指令。 大體而言,偽PPP方案涉及在主機裝置想要將各種資料元 件寫入於一邏輯SBC頁面中時將此等資料元件寫amMCB 快閃記憶體裝置中之一單一實體MCB頁面中。 將與圖1相關聯地描述圖3。為簡單起見,將假定主機裝 置101為SBC裝置(亦即,其處置分組成SBC頁面之資料)且 快閃記憶體裝置102為MBC裝置。主機裝置1〇1將SBC資料 (表示為310、311及312)—次一個資料元件地發送至快閃記 憶體裝置10 2。由於S B C主機裝置可使用部分頁面程式化 (PPP) ’故圖3說明MBC快閃記憶體裝置ι〇2可如何處置 PPP,即使習知MBC快閃記憶體裝置並未經設計以處理該 等操作。 為了使主機裝置101將SBC資料310發送至MBC快閃記憶 體裝置102 ’主機裝置101將例示性sbc資料310寫入至邏 輯位址為301之SBC頁面中’且在時間tl時,將嵌入於一對 應"寫入"命令序列中之SBC頁面301發送至快閃記憶體裝置 128289.doc -26- 102。資料頁面301内之铵左* „ Λ ★ ㈣儲存裝置中二 間無資料或空白 ^ 、 在未抹除資料310的情況下,可將額外 資料獨立地寫入至頁面3〇1中出於該原因以本文中所述 ,方式將資料寫入至頁面3〇1中被稱為"部分頁面程式化 MBC陕閃記憶體裝置102經由主機介面105接收資料 310 ’且具有將資料31〇寫入至單元陣列別中以完成 機裝置101發出之寫入命令的若干選項。一個選項涉 使用資料聚集器120來將資料310與補充資料聚集以藉 建立可被寫入至記憶體單元陣列i30之一 MBC頁面中 的資料:。構(亦即,裝置資料)。根據此選項,且如以上已 論述’該補充資料可為仍待在快閃記憶體裝置ig2中接收 的他主機。貝料’或在快閃記憶體裝置1 中排入佇列之 主機資料’或已儲存於記憶體單元陣列13 〇中之資料。以 下將詳、·用闡述之第二選項為由快閃記憶體裝置以類似 PPP之方式處置資料3 1 〇(該類似PPP操作在本文中被稱作 偽PPP )。為實施偽PPP選項,可將資料31〇儲存於MBC頁 面330中同時使儲存空間331空出,或資料聚集器120可將 資料310與虛設資料聚集以建立mbc資料且將所建立之 MBC資料寫入於記憶體單元陣列13〇中。 在時間t2時,SBC主機裝置ιοί將資料311寫入至邏輯頁 面301之自由空間32〇中且將頁面3〇丨發送至快閃記憶體裝 置102以供儲存。將資料311寫入至頁面301中導致頁面301 中之較小自由空間(展示於3 2丨處)。由於在一些MB c快閃 記憶體裝置尹,在未首先抹除實體頁面的情況下,僅可寫 128289.doc •27- 1375151 入至實體頁面一次,故即使實體頁面330仍具有自由空間 (亦即’空間331) ’仍不可將資料311寫入至記憶體單元陣 列130内之實體頁面330中。亦即,根據圖3中所示之實 例’迫使快閃記憶體裝置將當前所接收之資料寫入於記憶 體單元陣列130内之一新自由MBC實體頁面中。然而,為 以類似PPP操作之方式起作用,資料剖析器14〇自實體頁面 330提取資料310且資料聚集器12〇將其與當前所接收之資 料311聚集(亦即,將其附加至當前所接收之資料311)。接 著’資料聚集器120將資料31〇及所附加之資料311寫入至 記憶體單元陣列i 30内之一新自由實體頁面34〇中。同樣 地,當主機裝置1〇1在時間13時將資料312發送至快閃記憶 體裝置102時,即使實體頁面340仍具有足夠自由空間(亦 即,空間34!),仍不可將資料312寫入至實體頁面34〇中。 實情為,資料剖析器14〇自實體頁面340提取資料31〇及資 料311 ’且資料聚集器120將資料3 10及資料311與所接收之 資;斗-&集(亦即,將其附加至所接收之資料3 12)。接 者,資料'聚集ϋ120將資料310、資料311及新所附加之資 ;:,寫入至°己憶體單元陣列13 〇内之一新自由MB C實體頁 作為r·替代操作模式,可分別將資料3 1 〇、3】^ 及312寫入至實體頁面330、340及350中,且接著資料聚隼 态120可將其全部在記憶體單元陣列—内之—新自由實體 頁面中聚集及寫入。實體MCB頁面330、340及35〇實體上 彼此相冑’因為根據圖3之實例,接連地寫人至Μ A ^ 128289.doc •28 · ⑸ 5151 4諸如主機裝置1〇1之主機裝置使用部分程式化(亦即, .PPP)來將類似於資料310、31W312之個別資料元件寫入 . i一類似於邏輯頁面如之邏輯頁面中’則其可如所涉及 之陕閃記憶體裝置(例如’快閃記憶體裝置102)為SBC快閃 °己隐體裝I &進行此。所涉及之快閃記憶體裝置將接著 藉由使用以上所述之偽ppp方案來回應主機之所發出之寫 入私·?以將個別主機裝置資料元件寫入至同一實體mbc頁 • 面中(在此實例中寫入至MBC頁面350中)。注意,主機裝 置1〇1未意識到偽ppp方案,且就主機裝置1〇1而言,快閃 記憶體裝置102已將資料元件310、311及312寫入於一實體 SBC頁面中。 控制器103維持用於將自主機裝置ι〇1到達的SBC頁面之 邏輯位址轉譯成記憶體單元陣列13 0内之MB C頁面(亦即, 裝置頁面)之實體位址的轉譯表154。藉由使用轉譯表 154 ’控制器1〇3保持追蹤記憶體單元陣列13〇内之用於儲 龜 存資料的裝置頁面之實體位址’且每當資料剖析器14〇自 記憶體單元陣列130提取資料且資料聚集器120將資料寫入 至記憶體單元陣列130中時更新轉譯表154。另外,控制器 103可能偶爾需要在自主機裝置接收一記憶體命令後即立 . 即或回應於該等命令而在記憶體單元陣列130中整體或部 分、暫時或永久地重排或重定位裝置資料。如此進行時, 控制器103以在資料或其部分之重排及重定位中所涉及的 暫時及最終邏輯位址及實體位址更新轉譯表1 54。在快閃 記憶體管理之情形下處置轉譯表本身係此項技術中所熟知 128289.doc 29· 1375151 的,且因此在本文中不被詳細闡述。 頁面間相依性、Ρ/Ε循環及可靠性 在快閃記憶體中’每一快閃單元可儲存的位元愈多存 、操作問題愈夕,需要解決該等操作問題以便使快閃單 广變得有用。儘管以下將參考MBC快閃記憶體及SBC快岡 ^ "目同原理應用於每單元儲存兩個位元之MBC裝 置’且應用於每單元儲存兩個以上位元之MBC裝置。 關於頁面間相依性,MBC快閃記憶體在電力故障期間易 造成致命資料寫入/讀取誤差。部分地,此係歸因於兩個 頁面之間的實體接近。另一方面,SBC快閃記憶體較不易 造成該等誤差。因此,不同於SBC主機裝置,歐主機裝 置需要採取特殊預防措施來應付電力故障。因此,若獄 主,裝置以連續主機頁面之形式發送主機資料,則資料聚 集益將該等主機頁面寫入至一特殊實體裝置頁面(其通常 不相鄰)序列中’以致電力故障之效應將得以最小化。換 。之’經連續接收之主機頁面未必以連續裝置頁面次序儲 存於裝置頁面t。有時(視主機裝置所發送之資料類型而 定),作為應付電力故障之額外措施,將需要内部地備份 資料之至少一部分。 關於程式化/抹除(P/E)循環及可靠性,MBC快閃記憶體 中成功P/E擔環之最大數目比SBC快閃記憶體中成功卿 環之最大數目低得多,且其可靠性受p/E循環之較低數目 有害地影響。-些SBC主機裝置使用適度或較不嚴格之快 閃管理演算法’因為假定SBC裝置提供較高p/E極限及更 128289.doc •30· 1375151
佳可靠性(其對於許多種SBC快閃記憶體而言係成立的)。 因此,控制電路15〇使主機資料以結果將為如輸出至sbc ^機裝置的經增加之數目之P/E循環的方式轉移至記憶體 單%陣列130中之裝置頁面。換言之’藉由使用轉譯表154 中所保持之資m ’控制電路15_別每—裝置頁面已經受 循環之個數,且接著控制電路15〇使資料聚集器】別 將广機資料寫入至較少磨損之裝置頁面中。其他情況下 (若控制II1G3未實行以上所述之預防步驟),㈣主機資料 可能稍後想㈣取之資料將輯謂的"標準"似快閃記憶 體中所預期快得多地惡化。藉由”更快"意謂以較少p/E循 環0 一快閃記憶體裝置之可靠性視除p/E猶環之外的因素而 :舉例而5 ’其視誤差之數目而定且視快閃單元之保持 資料的能力而定。為了滿足主機裝置所預期之可靠性,控 制電路150可能必須使用一或多個内部參數(亦即,與裝置 頁面之起作用相關聯的參數)以在記憶體單元陣列内重 定位裝置資料。 為有助於以上所述之預防措施(亦即,將個別主機資料 寫入至特殊實體裝置f面序列、將主機資料轉移至裝置頁 面及在裝置頁面内重定位裝置資料),資料聚集器採用對 應映射演算法且以所涉及之邏輯位址及實體位址以及以關 於資料位置之資訊更新轉譯表154,訊與以上所論述 之各種效能態樣相關.聯。 在本申請案之描述及申請專利範圍中,動詞”包含,、 I28289.doc 31 Μ包括"及"具有";^甘m 之受詞未必鸟動,之主化形式中的每一者用以指示該動詞 整列表。^之主詞之部件、組件、元件或零件的完
趣詞Π 一丨丨右夫七A 長本文中用以視情形而定指代 詞中的一去志S i 叭这冠3之文法党 者或至一者以上(亦即,至至 明,視情形而定,"一元株"可立袖7 ;頁例挽 . 几件叮忍明一個元件或一個以上元 件0 術居”包括,,在本文中用以意謂短語,,包括但不限於"且盘 紐語"包括但不限於"可互換地使用。 ^ 除非本文另行清楚地指示,術語”或,,及"及,,在本文中用 以意謂術語"及/或"且與術語"及/或"可互換地使用。 術語"諸如”在本文中用以意謂短語”諸如但不限於"且與 短語"諸如但不限於"可互換地使用。 在已如此描述本發明之例示性實施例的情況下,對於熟 I此項技術者而5將顯而易I ,所揭示之實例實施例的修 改將在本發明之範,内。舉例而[主機裝置未必必須為 SBC主機裝置,因為本揭示案在已作必要修正的情況下同 樣地可應用於其他種主機裝置且應為其他種反及快閃裝 置。因此’所揭示之本發明的額外變更、修改及改良儘管 以上未經明白地描述’仍意欲且暗示著在本發明之精神及 範疇内。 【圖式簡單說明】 圖!示意性地說明一根據本揭示案之一實例實施例的快 閃記憶體裝置; 128289.doc •32- ^75151 圖2展示根據本揭示案之一實例實施例的用於藉由快閃 記憶體裝置處置主機命令序列的例示性方法;及 圖3展示根據本揭示案之一實例實施例的偽PPP之使用。 將瞭解,為說明之簡單及清楚起見’諸圖中所示之元件 未必按比例繒製。此外,若認為適當,則可在諸圖當中重 複參考數字以指示相似、對應或類似元件。 【主要元件符號說明】
100 反及快閃記憶體系統 101 主機裝置 102 快閃記憶體裝置 103 控制器 104 轉發/接收 105 主機介面(I/F) 106 連接 110 主機命令剖析器(”HCP,·) 111 主機操作碼("HOC")/”寫入"指令/"讀取"命令 112 主機邏輯位址(”hla,·) 113 主機資料 120 資料聚集器 121 連接/轉發 130 反及記億體單元陣列 131 連接/寫入 140 資料剖析器 141 連接/榻取/讀取 128289.doc -33- 1375151 142 連接/轉發 143 發送 150 控制電路 151 連接/轉發 152 控制/發送/轉發/指示 153 控制/發送/指示 154 轉譯表 160 隨機存取記憶體(RAM) 170 主機資料 173 裝置頁面 174 裝置頁面 175 裝置頁面 176 主機資料 177 主機資料 178 虚設資料 301 資料頁面/SBC頁面 310 SBC資料 311 SBC資料 312 SBC資料 320 储存空間/自由空間 321 自由空間 330 MBC頁面/實體MCB頁面 331 儲存空間 340 新自由實體頁面/實體M< 128289.doc •34- 1375151
341 空間 350 新自由MBC實體頁面 11 時間 t2 時間 t3 時間 128289.doc •35-
Claims (1)
1375151
降/月日修正本
十、申請專利範圍: 一種將主機資料寫入至一快閃記憶體裝置中之方法該 方法包含: a) 由一快問記憶體裝置之一控制器自一主機裝置接收一 村主機資料寫入至一分組成獨立可寫裝置頁面之反及 快閃記憶體單元陣列中的寫入指令; b) 由該控帝j器將該主機資料與補《資料聚集以藉此建立
可儲存於該等裝置頁面中之一或多者中的裝置資料; 及 c)由該控制器將該裝置資料寫入至該等裝置頁面中之該 一或多個者中, 其中該主機資料由該控制器回應於該主機裝置使用一部 分頁面程式化ppp方案而使用一偽部分頁面程式化方案 寫入至該快閃記憶體單元陣列申,其中偽PPP自一分離 地可寫裝置頁面提取資料且將其與當前所接收之資料聚 集以寫入一新的分離地可寫裝置頁面。 2. 如請求項1之方法,其中該補充資料為自該主機裝置接 收且在該快閃記憶體裝置中排入佇列的其他主機資料。 3. 如請求項1之方法,其中該補充資料為已儲存於該反及 快閃記憶體單元陣列中作為其他裝置資料之一部分且自 其剖析的主機資料。 4·如請求項丨之方法,其中該等裝置頁面成群成區塊且在 每一區塊内接連地被以邏輯方式寫入至,以致其★體位 址未必依序。 128289-1010l30.doc 如明求項1之方法,其令由該控制器使用該偽部分頁面 程式化方案包括使用虛設資料作為該補充資料。 如明求項1之方法,其中該主機資料由該控制器寫入於 一不鄰近於—已寫入至之裝置頁面的裝置頁面中。 7· 一種用於一快閃記憶體裝置之控制器,該控制器包含: a)主機反及介面,其經調適以自一主機裝置接收主機 資料; )資料聚集器,其經調適以將該主機資料與補充資料 j集,藉此建立一裝置資料,且將該裝置資料寫入至 一反及快閃記憶體單元陣列之一與該快閃記憶體裝置 相關聯的裝置頁面中;及 c)控制電路’其經調適以回應於該主機裝置使用一部份 頁面程式化PPP方案來寫入主機資料而使用一偽ppp方 案將該主機資料寫入至該快閃記憶體單元陣列中,其 ::ppp自-分離地可寫裝置頁面提取資料且將其與 田則所接收之資料聚集以寫入一新的分離地可寫裝置 頁面。 8·如請求項7之控制器,其中該補充資料為自該主機裝置 接收且在該㈣記龍裝置巾排人㈣以供儲存於該反 及决閃δ己憶體單元陣列中的其他主機資料。 9.如請求項7之控制器,其進—步包含: c) -貧料剖析器,其經調適以自裝置資料剖析補充資 料0 10·如請求項9之控制器,其中該補充資料為自襄置資料剖 J28289-I010130.doc 11. 析之其他主機資料。 以:t項8之控制器其中該資料剖析器進-步經調適 12. 13. 14 15 16. 17. 18. 19. 自穿j主機裝置接收1取給定主機資料的命令後即 自裂置資_㈣給定主機資料。 且器’其中裝置頁面成群成裝置區塊; 地料聚集器進"'步經調適以在每—區塊内接連 貝;以邏輯方式寫入至裝置頁面中以致其實體位 址未必依序。 仏二求項:之控制器,其中在自該主機裝置接收一抹除 機資料之私令後’該給定主機資料即由該控制器 為已抹除’且該給定主機資料已被抹除之-訊息 破發送至該主機裝置。 •如請求項7之控制器’其中在使用該偽部分頁面程式化 方案時’該控制電路使用虛設資料作為該補充資料。 月求項7之控制态’其中該控制電路經調適以在自該 ,置接收一抹除給定主機資料之指令後,即將該給 定主機資料標記為已抹除且將該給定主機資料已被抹除 之一訊息發送至該主機裝置。 如-月求項7之控制器,其中該主機資料經格式化以用於 將資料儲存於每單元河個位元中之記憶體單元陣列, 且其中該快閃記憶體裝置之該記憶體單元陣列將資料儲 存於每單元>^個位元中,其中Ν&Μ為整數且1^大於Μ。 如凊求項16之控制器,其中ν等於2且]Vi等於1。 如請求項16之控制器,其令n等於4且Μ等於1。 如請求項16之控制器,其中ν等於4且Μ等於2。 128289-1010i30.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/964,741 US8001316B2 (en) | 2007-12-27 | 2007-12-27 | Controller for one type of NAND flash memory for emulating another type of NAND flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200928736A TW200928736A (en) | 2009-07-01 |
TWI375151B true TWI375151B (en) | 2012-10-21 |
Family
ID=39708308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097101843A TWI375151B (en) | 2007-12-27 | 2008-01-17 | A controller for one type of nand flash memory for emulating another type of nand flash memory and methods for the same |
Country Status (7)
Country | Link |
---|---|
US (3) | US8001316B2 (zh) |
EP (1) | EP2225759B1 (zh) |
JP (1) | JP5213965B2 (zh) |
KR (1) | KR101517416B1 (zh) |
CN (1) | CN101946286B (zh) |
TW (1) | TWI375151B (zh) |
WO (1) | WO2009083945A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140059B2 (en) | 2015-08-17 | 2018-11-27 | Toshiba Memory Corporation | Semiconductor memory device and memory system |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110002169A1 (en) | 2009-07-06 | 2011-01-06 | Yan Li | Bad Column Management with Bit Information in Non-Volatile Memory Systems |
TWI494756B (zh) * | 2009-08-26 | 2015-08-01 | Phison Electronics Corp | 下達讀取指令的方法、快閃記憶體控制器與快閃記憶體儲存系統 |
EP2317442A1 (en) * | 2009-10-29 | 2011-05-04 | Thomson Licensing | Solid state memory with reduced number of partially filled pages |
US8468294B2 (en) * | 2009-12-18 | 2013-06-18 | Sandisk Technologies Inc. | Non-volatile memory with multi-gear control using on-chip folding of data |
US20110153912A1 (en) * | 2009-12-18 | 2011-06-23 | Sergey Anatolievich Gorobets | Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory |
US8725935B2 (en) | 2009-12-18 | 2014-05-13 | Sandisk Technologies Inc. | Balanced performance for on-chip folding of non-volatile memories |
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 |
US8924629B1 (en) * | 2011-06-07 | 2014-12-30 | Western Digital Technologies, Inc. | Mapping table for improving write operation efficiency |
EP2745203B1 (en) | 2011-08-19 | 2016-09-21 | Kabushiki Kaisha Toshiba | Information processing apparatus |
US9588883B2 (en) * | 2011-09-23 | 2017-03-07 | Conversant Intellectual Property Management Inc. | Flash memory system |
US9588762B2 (en) * | 2012-03-15 | 2017-03-07 | International Business Machines Corporation | Vector find element not equal instruction |
US8681548B2 (en) | 2012-05-03 | 2014-03-25 | Sandisk Technologies Inc. | Column redundancy circuitry for non-volatile memory |
US9054717B2 (en) * | 2012-11-09 | 2015-06-09 | Novachips Canada Inc. | PLL locking control in daisy chained memory system |
KR102272228B1 (ko) * | 2014-05-13 | 2021-07-06 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법 |
US9423961B2 (en) | 2014-09-08 | 2016-08-23 | Apple Inc. | Method to enhance programming performance in multilevel NVM devices |
US9588701B2 (en) * | 2014-09-09 | 2017-03-07 | Sandisk Technologies Llc | Multi-stage programming at a storage device using multiple instructions from a host |
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 |
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 |
US10063569B2 (en) | 2015-03-24 | 2018-08-28 | Intel Corporation | Custom protection against side channel attacks |
US9269446B1 (en) | 2015-04-08 | 2016-02-23 | Sandisk Technologies Inc. | Methods to improve programming of slow cells |
US9564219B2 (en) | 2015-04-08 | 2017-02-07 | Sandisk Technologies Llc | Current based detection and recording of memory hole-interconnect spacing defects |
KR102480016B1 (ko) | 2015-08-18 | 2022-12-21 | 삼성전자 주식회사 | 다수의 맵핑 단위를 이용하는 불휘발성 메모리 시스템 및 그 동작방법 |
US9904543B2 (en) * | 2015-10-26 | 2018-02-27 | Hewlett-Packard Development Company, L.P. | Setting a build indicator to enable or disable a feature |
US10521118B2 (en) * | 2016-07-13 | 2019-12-31 | Sandisk Technologies Llc | Methods, systems, and computer readable media for write classification and aggregation using host memory buffer (HMB) |
US9823961B1 (en) * | 2016-12-13 | 2017-11-21 | Macronix International Co., Ltd. | Memory controller and operating method thereof |
US10049764B2 (en) | 2016-12-13 | 2018-08-14 | Macronix International Co., Ltd. | Control method for memory device and memory controller |
JP6403130B2 (ja) * | 2017-08-03 | 2018-10-10 | 東芝メモリ株式会社 | 情報記録システム |
US10732838B2 (en) * | 2017-11-29 | 2020-08-04 | Western Digital Technologies, Inc. | Logical grouping for hybrid dual write |
US10831507B2 (en) | 2018-11-21 | 2020-11-10 | SambaNova Systems, Inc. | Configuration load of a reconfigurable data processor |
US11188497B2 (en) | 2018-11-21 | 2021-11-30 | SambaNova Systems, Inc. | Configuration unload of a reconfigurable data processor |
US10698853B1 (en) * | 2019-01-03 | 2020-06-30 | SambaNova Systems, Inc. | Virtualization of a reconfigurable data processor |
US11386038B2 (en) | 2019-05-09 | 2022-07-12 | SambaNova Systems, Inc. | Control flow barrier and reconfigurable data processor |
US11055141B2 (en) | 2019-07-08 | 2021-07-06 | SambaNova Systems, Inc. | Quiesce reconfigurable data processor |
US11874768B1 (en) * | 2019-11-14 | 2024-01-16 | Xilinx, Inc. | Flash memory emulation |
US11809908B2 (en) | 2020-07-07 | 2023-11-07 | SambaNova Systems, Inc. | Runtime virtualization of reconfigurable data flow resources |
US11782729B2 (en) | 2020-08-18 | 2023-10-10 | SambaNova Systems, Inc. | Runtime patching of configuration files |
US11409540B1 (en) | 2021-07-16 | 2022-08-09 | SambaNova Systems, Inc. | Routing circuits for defect repair for a reconfigurable data processor |
US11327771B1 (en) | 2021-07-16 | 2022-05-10 | SambaNova Systems, Inc. | Defect repair circuits for a reconfigurable data processor |
US11556494B1 (en) | 2021-07-16 | 2023-01-17 | SambaNova Systems, Inc. | Defect repair for a reconfigurable data processor for homogeneous subarrays |
US11487694B1 (en) | 2021-12-17 | 2022-11-01 | SambaNova Systems, Inc. | Hot-plug events in a pool of reconfigurable data flow resources |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
EP0675502B1 (en) * | 1989-04-13 | 2005-05-25 | SanDisk Corporation | Multiple sector erase flash EEPROM system |
US5541886A (en) * | 1994-12-27 | 1996-07-30 | Intel Corporation | Method and apparatus for storing control information in multi-bit non-volatile memory arrays |
US5930167A (en) * | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US8108590B2 (en) * | 2000-01-06 | 2012-01-31 | Super Talent Electronics, Inc. | Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
JP2005092923A (ja) * | 2003-09-12 | 2005-04-07 | Renesas Technology Corp | 半導体記憶装置 |
ITMI20032134A1 (it) * | 2003-11-06 | 2005-05-07 | St Microelectronics Srl | Dispositivo integrato di memoria con comando di cancellazione multisettore |
KR100719380B1 (ko) * | 2006-03-31 | 2007-05-18 | 삼성전자주식회사 | 향상된 신뢰성 특성을 갖는 다치 플래시 메모리 장치 및그것을 포함한 메모리 시스템 |
US8180931B2 (en) * | 2004-01-20 | 2012-05-15 | Super Talent Electronics, Inc. | USB-attached-SCSI flash-memory system with additional command, status, and control pipes to a smart-storage switch |
US7336531B2 (en) * | 2004-06-25 | 2008-02-26 | Micron Technology, Inc. | Multiple level cell memory device with single bit per cell, re-mappable memory block |
US20060143368A1 (en) * | 2004-12-23 | 2006-06-29 | M-Systems Flash Disk Pioneers Ltd. | Method for using a multi-bit cell flash device in a system not designed for the device |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7752382B2 (en) * | 2005-09-09 | 2010-07-06 | Sandisk Il Ltd | Flash memory storage system and method |
SG130988A1 (en) | 2005-09-29 | 2007-04-26 | Trek 2000 Int Ltd | Portable data storage device incorporating multiple flash memory units |
JP5073667B2 (ja) * | 2005-09-29 | 2012-11-14 | トレック・2000・インターナショナル・リミテッド | Slc及びmlcフラッシュメモリを使用するポータブルデータ記憶装置 |
JP2007141376A (ja) * | 2005-11-18 | 2007-06-07 | Matsushita Electric Ind Co Ltd | 半導体記憶装置及びその制御方法 |
US7366013B2 (en) * | 2005-12-09 | 2008-04-29 | Micron Technology, Inc. | Single level cell programming in a multiple level cell non-volatile memory device |
US8055979B2 (en) * | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US7646636B2 (en) * | 2007-02-16 | 2010-01-12 | Mosaid Technologies Incorporated | Non-volatile memory with dynamic multi-mode operation |
-
2007
- 2007-12-27 US US11/964,741 patent/US8001316B2/en active Active
-
2008
- 2008-01-08 CN CN200880126592.4A patent/CN101946286B/zh not_active Expired - Fee Related
- 2008-01-08 WO PCT/IL2008/000040 patent/WO2009083945A1/en active Application Filing
- 2008-01-08 EP EP08702622.5A patent/EP2225759B1/en not_active Not-in-force
- 2008-01-08 JP JP2010540215A patent/JP5213965B2/ja not_active Expired - Fee Related
- 2008-01-08 KR KR1020107015590A patent/KR101517416B1/ko active IP Right Grant
- 2008-01-17 TW TW097101843A patent/TWI375151B/zh not_active IP Right Cessation
-
2011
- 2011-07-12 US US13/181,477 patent/US8296509B2/en active Active
-
2012
- 2012-09-14 US US13/620,323 patent/US8683116B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140059B2 (en) | 2015-08-17 | 2018-11-27 | Toshiba Memory Corporation | Semiconductor memory device and memory system |
TWI655538B (zh) * | 2015-08-17 | 2019-04-01 | 東芝記憶體股份有限公司 | Semiconductor memory device and memory system |
Also Published As
Publication number | Publication date |
---|---|
TW200928736A (en) | 2009-07-01 |
US8683116B2 (en) | 2014-03-25 |
CN101946286A (zh) | 2011-01-12 |
EP2225759A1 (en) | 2010-09-08 |
EP2225759B1 (en) | 2014-03-05 |
KR101517416B1 (ko) | 2015-05-04 |
US8296509B2 (en) | 2012-10-23 |
KR20100113083A (ko) | 2010-10-20 |
WO2009083945A1 (en) | 2009-07-09 |
US20090172247A1 (en) | 2009-07-02 |
JP5213965B2 (ja) | 2013-06-19 |
US20110271045A1 (en) | 2011-11-03 |
US20130024611A1 (en) | 2013-01-24 |
US8001316B2 (en) | 2011-08-16 |
JP2011508357A (ja) | 2011-03-10 |
CN101946286B (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI375151B (en) | A controller for one type of nand flash memory for emulating another type of nand flash memory and methods for the same | |
US9996457B2 (en) | Efficient buffering for a system having non-volatile memory | |
US8769232B2 (en) | Non-volatile semiconductor memory module enabling out of order host command chunk media access | |
TWI511151B (zh) | 用於獲得及使用非揮發性記憶體健康資訊之系統及方法 | |
TWI519952B (zh) | 非揮發性暫時資料處理 | |
US20100070729A1 (en) | System and method of managing metadata | |
US11693768B2 (en) | Power loss data protection in a memory sub-system | |
TW201007449A (en) | Flash memory storage system and data writing method thereof | |
US8719492B1 (en) | Non-volatile storage module having magnetic random access memory (MRAM) with a buffer window | |
WO2015023744A1 (en) | Method and apparatus for performing annotated atomic write operations | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20140281333A1 (en) | Paging enablement for data storage | |
TWI523030B (zh) | 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
US11294579B2 (en) | Mode handling in multi-protocol devices | |
TW201403323A (zh) | 記憶體儲存裝置及其修復方法 | |
JP2006338083A (ja) | メモリコントローラ | |
EP4396688A1 (en) | Virtual management unit scheme for two-pass programming in a memory sub-system | |
WO2019041291A1 (zh) | 写入信息的方法和装置 | |
TWI669610B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
US20240264750A1 (en) | Atomic Operations Implemented using Memory Services of Data Storage Devices | |
TW201101307A (en) | A storage device and data processing method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |