TW201738895A - 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 - Google Patents
存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 Download PDFInfo
- Publication number
- TW201738895A TW201738895A TW106110436A TW106110436A TW201738895A TW 201738895 A TW201738895 A TW 201738895A TW 106110436 A TW106110436 A TW 106110436A TW 106110436 A TW106110436 A TW 106110436A TW 201738895 A TW201738895 A TW 201738895A
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- data
- super block
- block
- check codes
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本發明揭露一種存取一快閃記憶體模組的方法,其中該快閃記憶體模組係為包含了多個快閃記憶體晶片的一立體快閃記憶體模組,每一個快閃記憶體晶片包含了多個區塊,每一個區塊包含了多個資料頁;以及該方法包含有:規劃該多個快閃記憶體晶片以使得該多個快閃記憶體晶片具有至少一第一超級區塊以及至少一第二超級區塊;以及指派該至少一第二超級區塊以用來儲存在一資料寫入至該至少一第一超級區塊的過程中所編碼產生之多組暫時性的校驗碼。
Description
本發明係有關於快閃記憶體,尤指一種存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置。
為了讓快閃記憶體能夠有更高的密度以及更大的容量,快閃記憶體的製程也朝向立體化的發展,而產生了幾種不同的立體NAND型快閃記憶體(3D NAND-type flash)。在立體NAND型快閃記憶體中,由於整體結構的不同以及浮閘形狀位置的改變,因此在資料的寫入以及讀取上也較傳統的平面NAND型快閃記憶體多出了些許的問題。舉例來說,在某些立體NAND型快閃記憶體中,會將多條字元線(word line)定義為一字元線組,而該字元線組會共同具有部分的控制電路,進而導致當資料寫入到該字元線組之一條字元線上的浮閘電晶體發生失敗時(寫入失敗),會連帶導致該字元線組的其他字元線上的浮閘電晶體的資料發生錯誤;此外,若是該字元線組中的一條字元線發生斷路或短路的狀況時,也會連帶影響到該字元線組的其他字元線上的浮閘電晶體的資料發生錯誤,因此,如何就上述問題提出一種錯誤更正方式,以盡可能地維持資料的正確性,且又不會浪費記憶體空間以節省成本,是一個重要的課題。
因此,本發明的目的之一在於提出一種存取一快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置,其使用類似容錯式磁碟陣列(Redundant Array of Independent Disks,RAID)的錯誤更正方式,但是卻不會大幅浪費快閃記憶體空間,且在快閃記憶體控制器的處理過程中也僅需要很少量的緩衝記憶體空間,以解決先前技術中的問題。
在本發明的一個實施例中,揭露了一種存取一快閃記憶體模組的方法,其中該快閃記憶體模組係為一立體快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個多層式儲存區塊以及多個單層式儲存區塊,每一個區塊包含了多個資料頁;每一個區塊包含了分別位於多個不同平面之多條字元線以及位元線來控制的多個浮閘電晶體,且每一條字元線上的浮閘電晶體構成了該多個資料頁中的至少一資料頁;以及該方法包含有:對一資料進行編碼以產生至少一組校驗碼,其中該資料係準備寫入到該多個快閃記憶體晶片的一第一超級區塊中,其中該第一超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個多層式儲存區塊;將該資料寫入至該第一超級區塊;以及將該至少一組校驗碼寫入至一第二超級區塊中,其中該第二超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個單層式儲存區塊。
在本發明的另一個實施例中,揭露了一種快閃記憶體控制器,其中該快閃記憶體控制器係用來存取一快閃記憶體模組,該快閃記憶體模組係為一立體快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個多層式儲存區塊以及多個單層式儲存區塊,每一個區塊包含了多個資料頁;每一個區塊包含了分別位於多個不同平面之多條字元線以及位元線來控制的多個浮閘電晶體,且每一條字元線上的浮閘電晶體構成了該多個資料頁中的至少一資料頁;以及該快閃記憶體控制器包含有:一記憶體、一微處理器以及一編解碼器。該記憶體用來儲存一程式碼;該微處理器用來執行該程式碼以控制對該快閃記憶體模組之存取;以及在本實施例的操作中,該編解碼器對一資料進行編碼以產生至少一組校驗碼,其中該資料係準備寫入到該多個快閃記憶體晶片的一第一超級區塊中,其中該第一超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個多層式儲存區塊;以及該微處理器將該資料寫入至該第一超級區塊,以及將該至少一組校驗碼寫入至一第二超級區塊中,其中該第二超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個單層式儲存區塊。
在本發明的另一個實施例中,揭露了一種記憶裝置,其包含有一快閃記憶體模組以及一快閃記憶體控制器,其中該快閃記憶體模組係為一立體快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個多層式儲存區塊以及多個單層式儲存區塊,每一個區塊包含了多個資料頁;每一個區塊包含了分別位於多個不同平面之多條字元線以及位元線來控制的多個浮閘電晶體,且每一條字元線上的浮閘電晶體構成了該多個資料頁中的至少一資料頁;以及當接收到來自一主機的寫入指令以要求將一資料寫入至該快閃記憶體模組中時,該快閃記憶體控制器對該資料進行編碼以產生至少一組校驗碼,並將該資料寫入到該多個快閃記憶體晶片的一第一超級區塊中,其中該第一超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個多層式儲存區塊;以及將該至少一組校驗碼寫入至一第二超級區塊中,其中該第二超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個單層式儲存區塊。
在本發明的另一個實施例中,揭露了一種存取一快閃記憶體模組的方法,其中該快閃記憶體模組係為一立體快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,每一個區塊包含了多個資料頁;每一個區塊包含了分別位於多個不同平面之多條字元線以及位元線來控制的多個浮閘電晶體,且每一條字元線上的浮閘電晶體構成了該多個資料頁中的至少一資料頁;以及該方法包含有:規劃該多個快閃記憶體晶片以使得該多個快閃記憶體晶片具有至少一第一超級區塊(super block)以及至少一第二超級區塊;以及指派該至少一第二超級區塊以用來儲存在一資料寫入至該至少一第一超級區塊的過程中所編碼產生之多組暫時性的校驗碼。
在本發明的另一個實施例中,揭露了一種快閃記憶體控制器,該快閃記憶體控制器係用來存取一快閃記憶體模組,其中該快閃記憶體模組係為一立體快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,每一個區塊包含了多個資料頁;每一個區塊包含了分別位於多個不同平面之多條字元線以及位元線來控制的多個浮閘電晶體,且每一條字元線上的浮閘電晶體構成了該多個資料頁中的至少一資料頁;以及該快閃記憶體控制器包含有一記憶體、一微處理器以及一編解碼器。該記憶體用來儲存一程式碼;該微處理器用來執行該程式碼以控制對該快閃記憶體模組之存取;以及在本實施例的操作中,該微處理器規劃該多個快閃記憶體晶片以使得該多個快閃記憶體晶片具有至少一第一超級區塊以及至少一第二超級區塊;以及指派該至少一第二超級區塊以用來儲存在一資料寫入至該至少一第一超級區塊的過程中所編碼產生之多組暫時性的校驗碼。
在本發明的另一個實施例中,揭露了一種記憶裝置,其包含有一快閃記憶體模組以及一快閃記憶體控制器。該快閃記憶體模組係為一立體快閃記憶體模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,每一個區塊包含了多個資料頁;每一個區塊包含了分別位於多個不同平面之多條字元線以及位元線來控制的多個浮閘電晶體,且每一條字元線上的浮閘電晶體構成了該多個資料頁中的至少一資料頁;以及該快閃記憶體控制器規劃該多個快閃記憶體晶片以使得該多個快閃記憶體晶片具有至少一第一超級區塊以及至少一第二超級區塊,以及指派該至少一第二超級區塊以用來儲存在一資料寫入至該至少一第一超級區塊的過程中所編碼產生之多組暫時性的校驗碼。
請參考第1圖,第1圖為依據本發明一實施例之一種記憶裝置100的示意圖,其中本實施例之記憶裝置100尤其係為可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)。記憶裝置100包含有一快閃記憶體(Flash Memory)模組120以及一快閃記憶體控制器110,且快閃記憶體控制器110用來存取快閃記憶體模組120。依據本實施例,快閃記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory, ROM)112M、一控制邏輯114、一緩衝記憶體116、與一介面邏輯118。唯讀記憶體係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體模組120之存取(Access)。
於典型狀況下,快閃記憶體模組120包含了多個快閃記憶體晶片,而每一個快閃記憶體晶片包含複數個區塊(Block),而該控制器(例如:透過微處理器112執行程式碼112C之快閃記憶體控制器110)對快閃記憶體模組120進行複製、抹除、合併資料等運作係以區塊為單位來進行複製、抹除、合併資料。另外,一區塊可記錄特定數量的資料頁(Page),其中該控制器(例如:透過微處理器112執行程式碼112C之記憶體控制器110)對快閃記憶體模組120進行寫入資料之運作係以資料頁為單位來進行寫入。
實作上,透過微處理器112執行程式碼112C之快閃記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制快閃記憶體模組120之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主裝置(Host Device)溝通。
另一方面,在本實施例中,控制邏輯114包含了一第一編解碼器(codec)132以及一第二編解碼器134,其中第一編解碼器132係用來對寫入到快閃記憶體模組120之一區塊中的資料進行編碼,以產生對應的錯誤更正碼(error correction code),其中第一編解碼器132所產生的錯誤更正碼僅是根據寫入到一資料頁中一區段(sector)的內容所產生的,且所產生的錯誤更正碼會連同該區段的資料內容一併寫入到該資料頁中。另外,第二編解碼器134為一容錯式磁碟陣列(RAID)編解碼器,其是用來對寫入至多個快閃記憶體晶片中的資料進行編碼,以產生對應的校驗碼,其操作將於以下內容中詳述。
在本實施例中,快閃記憶體模組120係為一立體NAND型快閃記憶體(3D NAND-type flash)模組,請參考第2圖,其為一立體NAND型快閃記憶體的範例示意圖,如第2圖所示,立體NAND型快閃記憶體包含了多個浮閘電晶體202,其透過多條位元線(圖示僅繪示了BL1~BL3)及多條字元線(例如圖示的WL0~WL2、WL4~WL6)來構成立體NAND型快閃記憶體架構。在第2圖中,以最上面的一個平面為例,字元線WL0上的所有浮閘電晶體構成了至少一資料頁,字元線WL1上的所有浮閘電晶體構成了另至少一資料頁,而字元線WL2的所有浮閘電晶體構成了再另至少一資料頁…以此類堆。此外,根據快閃記憶體寫入方式的不同,字元線WL0與資料頁(邏輯資料頁)之間的定義也會有所不同,詳細來說,當使用單層式儲存(Single-Level Cell,SLC)的方式寫入時,字元線WL0上的所有浮閘電晶體僅對應到單一邏輯資料頁;當使用多層式儲存(Multi-Level Cell,MLC)的方式寫入時,字元線WL0上的所有浮閘電晶體對應到兩個、三個或是四個邏輯資料頁,其中字元線WL0上的所有浮閘電晶體對應到三個邏輯資料頁的情形可以稱為三層式儲存(Triple-Level Cell,TLC)架構,而字元線WL0上的所有浮閘電晶體對應到四個邏輯資料頁的情形可以稱為四層式儲存(Quad-Level Cell,QLC)架構。由於本技術領域中具有通常知識者應能了解立體NAND型快閃記憶體的結構以及字元線及資料頁之間的關係,故相關的細節在此不予贅述。另外,在快閃記憶體控制器110的操作中,“資料頁”為一最小寫入單位,且“區塊”為一最小抹除單位。
請參考第3圖,其為浮閘電晶體202結構的概念示意圖,如第3圖所示,每一個浮閘電晶體的閘極及浮閘是圍繞在源極與汲極周圍(gate all around),以增強通道感應能力。
需注意的是,第2、3圖所示的僅為立體NAND型快閃記憶體與浮閘電晶體202的範例,而並非是作為本發明的限制,本技術領域中具有通常知識者應能了解立體NAND型快閃記憶體尚有其他種型式,例如部分的字元線可彼此連接..等等,且浮閘電晶體202的設計也能有些許的改變。
如先前技術中所述,在某些立體NAND型快閃記憶體中,會將多條字元線定義為一字元線組,而該字元線組會共同具有部分的控制電路,進而導致當資料寫入到該字元線組之一條字元線上的浮閘電晶體發生失敗時(寫入失敗),會連帶導致該字元線組的其他字元線上的浮閘電晶體的資料發生錯誤。在一實施例中,位於同一個平面上的字元線會被設定為一字元線組,參考第2圖,字元線WL0~WL2會被歸於第一字元線組,而字元線WL4~WL6會被歸於第二字元線組…以此類推。請參考第4圖,其為一區塊中多個字元線組的示意圖,在第4圖中係假設該區塊包含了192條字元線上的所有浮閘電晶體,且一個字元線組包含了4條字元線,因此,在第4圖中的區塊係包含了48個字元線組WL_G0~WL_G47;另外,在圖式中該區塊為三層式儲存(TLC)區塊,亦即每一條字元線上的浮閘電晶體可用來儲存三個資料頁的資料,如第4圖所示,以字元線組WL_G0為例,其包含之字元線WL0上的浮閘電晶體可用來儲存低資料頁P0L、中間資料頁P0M及高資料頁P0U,字元線WL1上的浮閘電晶體可用來儲存低資料頁P1L、中間資料頁P1M及高資料頁P1U,字元線WL2上的浮閘電晶體可用來儲存低資料頁P2L、中間資料頁P2M及高資料頁P2U,以及字元線WL3上的浮閘電晶體可用來儲存低資料頁P3L、中間資料頁P3M及高資料頁P3U。當控制器中將資料寫入到字元線組WL_G0的資料頁中時,係循序將資料寫入到字元線WL0、WL1、WL2、WL3中的浮閘電晶體,而假設字元線WL0、WL1上的資料都成功寫入,但是當資料寫入字元線WL2時發生寫入錯誤,則會連帶使得字元線WL0、WL1上原本寫入成功的資料也發生錯誤。
另外,在某些情況下,即使資料已經成功寫入,但在後續的讀取中仍然以可能會發生無法讀取或是讀取錯誤的情形,例如字元線發生斷路(open)的情形而造成無法讀取資料的情形,此外,如先前所述,一個字元線組中只要有一條字元線發生斷路,便會造成整個字元線組的資料都會發生錯誤。另一方面,若是在不同字元線組中的兩個字元線發生短路,例如第4圖中的字元線WL3和字元線WL4發生短路的現象,則會造成兩個字元線組WL_G0與WL_G1上的資料均無法成功讀取。
如上所述,由於快閃記憶體在寫入資料以及後續的讀取中會碰到上述寫入失敗、字元線斷路以及字元線短路的情形而造成整個字元線組的資料均發生錯誤,因此,本發明在以下的實施例中提出了一種可以確實解決上述問題的存取快閃記憶體模組120的方法,且僅需要很少的資源(亦即很少的記憶體空間)便可以完成。具體內容如下所述。
先參考第5圖,第5圖為快閃記憶體控制器110將資料寫入到快閃記憶體模組120的示意圖。如第5圖所示,快閃記憶體模組120包含了多個通道(在本實施例中,係以兩個通道510、520為例),且每一個通道在快閃記憶體控制器110中有各自的序列傳輸器(sequencer)且均包含了多個快閃記憶體晶片,而在本實施例中通道510包含了快閃記憶體晶片512、514,且通道520包含了快閃記憶體晶片522、524。另外,每一個快閃記憶體晶片512、514、522、524中的一個區塊會被組態為一個超級區塊(super block),而快閃記憶體控制器110會將資料以超級區塊為單位來進行寫入。在本實施例中,超級區塊530包含了每一個快閃記憶體晶片512、514、522、524中的一個三層式儲存區塊,且超級區塊540包含了每一個快閃記憶體晶片512、514、522、524中的一個單層式儲存區塊。需注意的是,在本發明的其他實施例中,超級區塊530所包含的也可以是每一個快閃記憶體晶片512、514、522、524中的一個四層式儲存區塊。
請同時參考第5、6圖,其中第6圖為依據本發明一第一實施例之快閃記憶體控制器110將資料寫入到超級區塊530的示意圖,其中在以下的敘述中,每一筆資料係寫入到快閃記憶體晶片512、514、522、524的一個資料頁,亦即第1筆資料會被寫入到每一個快閃記憶體晶片512、514、522、524中的第一個資料頁P0,第2筆資料會被寫入到每一個快閃記憶體晶片512、514、522、524中的第二個資料頁P1,…,第N筆資料會被寫入到每一個快閃記憶體晶片512、514、522、524中的第N個資料頁P(N-1)。參考第6圖,當快閃記憶體控制器110需要將第1筆資料寫入至超級區塊530中時,首先,第一編解碼器132分別對第1筆資料進行編碼以產生對應的錯誤更正碼,並將第1筆資料與第一編解碼器132所產生的錯誤更正碼一併寫入到每一個快閃記憶體晶片512、514、522、524中的第一個資料頁P0中,詳細來說,第一編解碼器132對第1筆資料中第一部分資料進行編碼以產生錯誤更正碼,並將第一部分資料與其錯誤更正碼寫入到快閃記憶體晶片512的第一個資料頁P0;第一編解碼器132對第1筆資料中第二部分資料進行編碼以產生錯誤更正碼,並將第二部分資料與其錯誤更正碼寫入到快閃記憶體晶片514的第一個資料頁P0;第一編解碼器132對第1筆資料中第三部分資料進行編碼以產生錯誤更正碼,並將第三部分資料與其錯誤更正碼寫入到快閃記憶體晶片522的第一個資料頁P0;以及第一編解碼器132對第1筆資料中第四部分資料(最後一部分資料)進行編碼以產生錯誤更正碼,並將第四部分資料與其錯誤更正碼寫入到快閃記憶體晶片524的第一個資料頁P0。需注意的是,第一編解碼器132要的操作可以是以一個區段(sector)為單位來進行,其中每一個資料頁係由多個區段所組成。在第1筆資料以及第一編解碼器132所產生的錯誤更正碼寫入至超級區塊530之前,快閃記憶體控制器110中的第二編解碼器134會針對第1筆資料以及其錯誤更正碼進行編碼以產生第1組校驗碼S0。在一實施例中,第二編解碼器134可以採用里德-所羅門 ( Reed Solomon,RS )編碼方式或是互斥或(exclusive-OR,XOR)運算來對寫入到每一個快閃記憶體晶片512、514、522、524中的第一個資料頁P0的資料進行編碼,以產生第1組錯誤更正碼S0。舉例來說,但並非作為本發明的限制,第二編解碼器134可以對快閃記憶體晶片512、514、522、524中的第一個資料頁P0的第一個位元彼此一起作互斥或運算來得到第1組校驗碼S0的第一個位元,對快閃記憶體晶片512、514、522、524中的第一個資料頁P0的第二個位元彼此一起作互斥或運算來得到第1組校驗碼S0的第二個位元…以此類推。
第二編解碼器134所產生的第1組校驗碼S0係用來當快閃記憶體晶片512、514、522或524中的其中一個快閃記憶體晶片的第一個資料頁P0發生資料錯誤時進行錯誤更正,舉例來說,假設當快閃記憶體晶片512中的第一個資料頁P0的資料發生無法利用本身的資料進行更正的錯誤時(亦即,無法利用第一編解碼器132所產生的錯誤更正碼來進行更正時),第二編解碼器134可以讀取快閃記憶體晶片514、522、524中所有第一個資料頁P0的資料,再加上第1組校驗碼S0,來進行錯誤更正以決定出快閃記憶體晶片512中的第一個資料頁P0的資料。
此外,第二編解碼器134所產生的第1組校驗碼S0會先暫時儲存在快閃記憶體控制器110的緩衝記憶體116中。
另外,在第1筆資料寫入的過程中,快閃記憶體控制器110會對寫入的資料進行讀取檢查的操作,以確定資料是否成功寫入。當資料寫入錯誤時,第二編解碼器134可以直接使用儲存在緩衝記憶體116中的第1組校驗碼S0來對所讀出的資料進行更正,而由於快閃記憶體模組120無法直接對已寫入的資料做修正,更正後的資料(更正後的第1筆資料)可以等待後續適合的時間連同超級區塊530中的其他資料一併寫入到另外一個超級區塊中。而在快閃記憶體控制器110判斷第1筆資料已經成功寫入到快閃記憶體晶片512、514、522、524中第一個資料頁P0後,快閃記憶體控制器110便會將第1組校驗碼S0從緩衝記憶體116中搬移到超級區塊540中。
接著,當快閃記憶體控制器110需要將第2筆資料寫入至超級區塊530中時,首先,第一編解碼器132分別對第2筆資料進行編碼以產生對應的錯誤更正碼,並將第2筆資料與第一編解碼器132所產生的錯誤更正碼一併寫入到每一個快閃記憶體晶片512、514、522、524中的第二個資料頁P1中。在第2筆資料以及第一編解碼器132所產生的錯誤更正碼寫入至超級區塊530之前,快閃記憶體控制器110中的第二編解碼器134會針對第2筆資料以及其錯誤更正碼進行編碼以產生第2組校驗碼S1。在一實施例中,第二編解碼器134可以採用里德-所羅門編碼方式或是互斥或運算來對寫入到每一個快閃記憶體晶片512、514、522、524中的第二個資料頁P1的資料進行編碼,以產生第2組錯誤更正碼S1。
此外,第二編解碼器134所產生的第2組校驗碼S1會先暫時儲存在快閃記憶體控制器110的緩衝記憶體116中。
類似地,在第2筆資料寫入的過程中,快閃記憶體控制器110也會對寫入的資料進行讀取檢查的操作,以確定資料是否成功寫入。當資料寫入錯誤時,第二編解碼器134可以直接使用儲存在緩衝記憶體116中的第2組校驗碼S1來對所讀出的資料進行更正,而更正後的資料(更正後的第2筆資料)可以等待後續適合的時間連同超級區塊530中的其他資料一併寫入到另外一個超級區塊中。而在快閃記憶體控制器110判斷第2筆資料已經成功寫入到快閃記憶體晶片512、514、522、524中第二個資料頁P1後,快閃記憶體控制器110便會將第2組校驗碼S1從緩衝記憶體116中搬移到超級區塊540中。
需注意的是,當第2筆資料寫入的過程中也發生寫入錯誤的情形時,則由於資料頁P1、P0是屬於同一個字元線組WL_G0,因此,快閃記憶體晶片512、514、522、524中的資料頁P0也有可能發生損壞。舉例來說,假設快閃記憶體晶片514的資料頁P1在資料寫入的過程中發生錯誤,則先前已成功寫入的快閃記憶體晶片514的資料頁P0也會發生錯誤。此時,由於緩衝記憶體116本身並沒有儲存第1組校驗碼S0,因此,快閃記憶體控制器110會自超級區塊540中讀取第1組校驗碼S0,來對自超級區塊530所讀取的第1筆資料來進行更正。
基於同樣的操作,快閃記憶體控制器110繼續將第3筆資料寫入至快閃記憶體晶片512、514、522、524中的第三個資料頁P2中,並產生相對應的第3組校驗碼S2;以及將第4筆資料寫入至快閃記憶體晶片512、514、522、524中的第四個資料頁P3中,並產生相對應的第4組校驗碼S3,以完成字元線組WL_G0上的資料寫入操作。
接著,類似以上步驟,快閃記憶體控制器110將接下來的第5~184筆資料寫入至快閃記憶體晶片512、514、522、524中,且第二編解碼器134對第5~184筆資料進行編碼以分別產生第5~183組校驗碼S4~S183,並將第5~183組校驗碼S4~S183儲存至超級區塊540中。
針對第185筆資料,快閃記憶體控制器110只會將第185筆資料連同第一編解碼器132所產生的錯誤更正碼來寫入至快閃記憶體晶片512、514、522中的資料頁P184,而並不會將資料寫入到快閃記憶體晶片524中的資料頁P184。在第185筆資料寫入至超級區塊530之前,第二編解碼器134對第185筆資料及其錯誤更正碼來進行編碼以產生第185組校驗碼S184。接著,快閃記憶體控制器110自超級區塊540中讀取每一個字元線組WL_G0~WL_G45的第一組校驗碼S0、S8、S16、…、S176,且第二編解碼器對校驗碼S0、S8、S16、…、S176以及校驗碼S184彼此一起作互斥或運算來得到第一組最終校驗碼SF0。接著,快閃記憶體控制器110將第185筆資料寫入至快閃記憶體晶片512、514、522中的資料頁P184,並將第一組最終校驗碼SF0寫入到快閃記憶體晶片524中的資料頁P184。在一實施例中,第二編解碼器134對校驗碼S0、S8、S16、…、S184中的第一個位元一起作互斥或運算來產生最終校驗碼SF0的第一個位元,對校驗碼S0、S8、S16、…、S184中的第二個位元一起作互斥或運算來產生最終校驗碼SF0的第二個位元…以此類推,直到完成最終校驗碼SF0的最後一個位元。另外,校驗碼S184可以儲存至超級區塊540中。
針對第186筆資料,快閃記憶體控制器110只會將第186筆資料連同第一編解碼器132所產生的錯誤更正碼來寫入至快閃記憶體晶片512、514、522中的資料頁P185,而並不會將資料寫入到快閃記憶體晶片524中的資料頁P185。在第186筆資料寫入至超級區塊530之前,第二編解碼器134對第186筆資料及其錯誤更正碼來進行編碼以產生第186組校驗碼S185。接著,快閃記憶體控制器110自超級區塊540中讀取每一個字元線組WL_G0~WL_G45的第二組校驗碼S1、S9、S17、…、S177,且第二編解碼器對校驗碼S1、S9、S17、…、S177以及校驗碼S185彼此一起作互斥或運算來得到第二組最終校驗碼SF1。接著,快閃記憶體控制器110將第186筆資料寫入至快閃記憶體晶片512、514、522中的資料頁P185,並將第二組最終校驗碼SF1寫入到快閃記憶體晶片524中的資料頁P185。在一實施例中,第二編解碼器134對校驗碼S1、S9、S17、…、S185中的第一個位元一起作互斥或運算來產生最終校驗碼SF1的第一個位元,對校驗碼S1、S9、S17、…、S185中的第二個位元一起作互斥或運算來產生最終校驗碼SF1的第二個位元…以此類推,直到完成最終校驗碼SF1的最後一個位元。此外,校驗碼S185可以儲存至超級區塊540中。
基於類似的操作,針對第187~192筆資料,快閃記憶體控制器110將第187~192筆資料連同第一編解碼器132所產生的錯誤更正碼來寫入至快閃記憶體晶片512、514、522中的資料頁P186~P191;且第二編解碼器134也根據上述類似的操作來產生第三至八組最終校驗碼SF2~SF7,並將第三至八組最終校驗碼SF2~SF7分別寫入到快閃記憶體晶片524中的資料頁P186~P191。
上述根據第1~192組校驗碼S0~S191來產生8組最終校驗碼SF0~SF7的概念可以參考第7圖所示的內容。
在本實施例中,超級區塊540中所儲存的校驗碼本身只是一個暫時性的校驗碼,亦即超級區塊540所儲存的多組校驗碼S0~S191只有在資料寫入到超級區塊530的過程中發生錯誤時才會使用到。因此,在最終校驗碼SF0~SF7寫入至超級區塊530之後,超級區塊540所儲存的多組校驗碼S0~S191便不需要再被需要使用,因此,在後續超級區塊530中所儲存的該資料仍然為有效的情形下,快閃記憶體控制器110可以將超級區塊540的內容抹除或是標記為無效。
需注意的是,由於上述的最終校驗碼SF0~SF7是由校驗碼S0~S191所產生的,因此,最終校驗碼SF0~SF7實質上便帶有先前每一組校驗碼S0~S191的資訊。亦即,在後續的讀取操作中,每一組校驗碼S0~S191除了可以再次根據相對應的資料頁內容來得到之外(例如讀取快閃記憶體晶片512、514、522、524的資料頁P1來得到校驗碼S1),若是發生錯誤時也可以透過相對應的最終校驗碼SF0~SF7來進行更正。舉例來說,假設字元線組WL_G0中有一條字元線發生斷路,例如快閃記憶體晶片514之資料頁P0所對應到的字元線斷路,則快閃記憶體控制器110可以讀取其他字元線組中的資料來重新產生校驗碼S8、S16、...、S184以及最終校驗碼SF0,以重新產生校驗碼S0,之後再使用校驗碼S0以及自快閃記憶體晶片512、522、524之資料頁P0所讀取的內容來重新產生快閃記憶體晶片514之資料頁P0的資料;快閃記憶體控制器110讀取其他字元線組中的資料來重新產生校驗碼S9、S17、...、S185以及最終校驗碼SF1,以重新產生校驗碼S1,之後再使用校驗碼S1以及自快閃記憶體晶片512、522、524之資料頁P1所讀取的內容來重新產生快閃記憶體晶片514之資料頁P1的資料;以及根據上述類似操作來重新產生快閃記憶體晶片514之資料頁P2、P3的資料。如上所述,透過上述操作,只要超級區塊530沒有出現多個資料線斷路的情形,均可以順利地將資料更正還原,而不會發生資料無法修復的情形。
此外,若是字元線組WL_G0和WL_G1之間發生兩條資料線短路,例如快閃記憶體晶片514之資料頁P3、P4所對應到的字元線短路的情形,亦可以透過上一個段落所提及的方法來將字元線組WL_G0和WL_G1內的資料更正還原,而不會發生資料無法修復的情形。
需注意的是,第6圖所繪示的P0~P191的每一者所代表的並非限定是三個資料頁,而可能是2個或是4個資料頁。
此外,在第6~7圖所示的實施例中,最終校驗碼SF0~SF7是透過讀取先前所儲存在超級區塊540中的校驗碼所產生的,然而,本發明並不以此為限。在另一實施例中,儲存至超級區塊540中的校驗碼在產生的過程中也可以同時使用之前字元線組的校驗碼來一同進行編碼,舉例來說,第二編解碼器134可以對第9筆資料(寫入至每一個快閃記憶體晶片512、514、522、524中的第9個資料頁P8)以及第1組校驗碼S0一同進行編碼來產生第9組校驗碼S8、對第17筆資料(寫入至每一個快閃記憶體晶片512、514、522、524中的第17個資料頁P16)以及第9組校驗碼S8一同進行編碼來產生第17組校驗碼S16、…、對第185筆資料(寫入至每一個快閃記憶體晶片512、514、522、524中的第185個資料頁P184)以及第177組校驗碼S176一同進行編碼來產生第185組校驗碼S184。如此一來,由於第185組校驗碼S184本身已經帶有先前的校驗碼S0、S8、S16、…、S176的資訊,故第185組校驗碼S184便可以直接作為第一組最終校驗碼SF0,並儲存至超級區塊530之對應到快閃記憶體晶片524的資料頁P184。同理,最終校驗碼SF1~SF7亦可透過上述方式來產生,並分別儲存至超級區塊530之對應到快閃記憶體晶片524的資料頁P185~P191中。
另外,在第5圖中,超級區塊530僅包含了每一個快閃記憶體晶片512、514、522、524中的一個三層式儲存區塊,然而,在其他實施例中,例如快閃記憶體模組120是被組態為兩個區塊平面的情形之下,超級區塊530可以包含了每一個快閃記憶體晶片512、514、522、524中的兩個三層式儲存區塊,而每一個快閃記憶體晶片512、514、522、524中的兩個三層式儲存區塊是由不同的晶片致能(chip enable)訊號所控制的。同理,超級區塊540也可以包含了每一個快閃記憶體晶片512、514、522、524中的兩個單層式儲存區塊。
請參考第8圖,其為根據本發明一實施例之存取一快閃記憶體模組的方法的流程圖。參考以上所揭露的內容,流程如下所述:
步驟800:流程開始。
步驟802:規劃多個快閃記憶體晶片以使得多個快閃記憶體晶片具有至少一第一超級區塊以及至少一第二超級區塊。
步驟804:將一資料寫入至該至少一超級區塊中。
步驟806:對該資料進行編碼以產生多組暫時性的校驗碼,並將該多組暫時性的校驗碼儲存至該至少一第二超級區塊。
步驟808:根據該多組暫時性的校驗碼來產生最終校驗碼。
步驟810:將最終校驗碼寫入至該至少一第一超級區塊。
步驟812:將該至少一第二超級區塊抹除或是標記為無效。
步驟814:流程結束。
簡要歸納本發明,在本發明的存取快閃記憶體模組的方法的實施例中,第二編解碼器會循序對寫入至多層式儲存的超級區塊的多筆資料來進行編碼,並將所產生之暫時性的校驗碼儲存至單層式儲存的超級區塊,之後再讀取單層式儲存的超級區塊中所儲存的暫時性的校驗碼來產生資料量很低的最終校驗碼,並將最終校驗碼儲存至多層式儲存的超級區塊中。透過上述存取方式,除了可以對資料寫入錯誤、字元線斷路以及字元線短路所造成的資料讀取錯誤進行更正之外,也可以大幅降低快閃記憶體控制器中緩衝記憶體的容量需求,且快閃記憶體模組中也不需要浪費太多個空間來儲存校驗碼,故可以大幅降低快閃記憶體控制器的成本以及快閃記憶體模組的使用效率。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧記憶裝置
110‧‧‧快閃記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯
116‧‧‧緩衝記憶體
118‧‧‧介面邏輯
120‧‧‧快閃記憶體模組
132‧‧‧第一編解碼器
134‧‧‧第二編解碼器
202‧‧‧浮閘電晶體
510、520‧‧‧通道
512、514、516、518‧‧‧快閃記憶體晶片
530、540‧‧‧超級區塊
800~814‧‧‧步驟
B1~B3‧‧‧位元線
WL0~WL47‧‧‧字元線
WL_G0~WL_G47‧‧‧字元線組
110‧‧‧快閃記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯
116‧‧‧緩衝記憶體
118‧‧‧介面邏輯
120‧‧‧快閃記憶體模組
132‧‧‧第一編解碼器
134‧‧‧第二編解碼器
202‧‧‧浮閘電晶體
510、520‧‧‧通道
512、514、516、518‧‧‧快閃記憶體晶片
530、540‧‧‧超級區塊
800~814‧‧‧步驟
B1~B3‧‧‧位元線
WL0~WL47‧‧‧字元線
WL_G0~WL_G47‧‧‧字元線組
第1圖為依據本發明一實施例之一種記憶裝置的示意圖。 第2圖為一立體NAND型快閃記憶體的範例示意圖。 第3圖為浮閘電晶體結構的概念示意圖。 第4圖為一區塊中多個字元線組的示意圖。 第5圖為快閃記憶體控制器將資料寫入到快閃記憶體模組、以及超級區塊的示意圖。 第6圖為依據本發明一第一實施例之快閃記憶體控制器將資料寫入到超級區塊的示意圖。 第7圖為根據第1~192組校驗碼S0~S191來產生8組最終校驗碼SF0~SF7的示意圖。 第8圖為根據本發明一實施例之存取一快閃記憶體模組的方法的流程圖。
100‧‧‧記憶裝置
110‧‧‧快閃記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯
116‧‧‧緩衝記憶體
118‧‧‧介面邏輯
120‧‧‧快閃記憶體模組
132‧‧‧第一編解碼器
134‧‧‧第二編解碼器
Claims (24)
- 一種存取一快閃記憶體模組的方法,其中該快閃記憶體模組係為一立體快閃記憶體(3D NAND-type flash)模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,該多個區塊包含了多個多層式儲存(Multiple-Level Cell,MLC)區塊以及多個單層式儲存(Single-Level Cell,SLC)區塊,每一個區塊包含了多個資料頁;每一個區塊包含了分別位於多個不同平面之多條字元線以及位元線來控制的多個浮閘電晶體,且每一條字元線上的浮閘電晶體構成了該多個資料頁中的至少一資料頁;以及該方法包含有: 對一資料進行編碼以產生至少一組校驗碼,其中該資料係準備寫入到該多個快閃記憶體晶片的一第一超級區塊(super block)中,其中該第一超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個多層式儲存區塊; 將該資料寫入至該第一超級區塊;以及 將該至少一組校驗碼寫入至一第二超級區塊中,其中該第二超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個單層式儲存區塊。
- 如申請專利範圍第1項所述之方法,另包含有: 在該資料寫入至該第一超級區塊之前,先對該資料進行編碼以產生該至少一組校驗碼,並將該至少一組校驗碼儲存至一快閃記憶體控制器的一緩衝記憶體中;以及 當該資料發生寫入錯誤的情形時,直接使用儲存在該緩衝記憶體中的該至少一組校驗碼來對資料進行更正。
- 如申請專利範圍第1項所述之方法,另包含有: 在該資料寫入至該至少一第一超級區塊的過程中: 自該第一超級區塊讀取該資料之已經寫入至該至少一第一超級區塊的部分內容; 當讀取該資料的部分內容的過程中發生無法更正的錯誤時,自該第二超級區塊讀取至少一部份的校驗碼,並使用該至少一部份的校驗碼來對所讀取的資料進行錯誤更正。
- 如申請專利範圍第1項所述之方法,其中該至少一組校驗碼為一暫時性的校驗碼,且該方法另包含有: 自該第二超級區塊讀取該至少一組校驗碼,並根據該至少一組校驗碼來產生一組最終校驗碼; 將該組最終校驗碼寫入至該第一超級區塊中。
- 如申請專利範圍第1項所述之方法,其中對該資料進行編碼以產生該至少一組校驗碼的步驟包含有: 依序對第1~N筆資料進行編碼以產生第1~N組校驗碼; 以及將該將該資料寫入至該第一超級區塊的步驟包含有: 將該第1~N筆資料分別寫入至該第一超級區塊之對應於該多個快閃記憶體晶片的第1~N個資料頁中;以及 將該組校驗碼寫入至該第二超級區塊的步驟包含有: 將該第1~N組校驗碼寫入至該第二超級區塊。
- 如申請專利範圍第1項所述之方法,其中該至少一組校驗碼為一暫時性的校驗碼,且該方法另包含有: 自該第二超級區塊讀取該第1~N組校驗碼,並根據該第1~N組校驗碼來產生多組最終校驗碼; 將該多組最終校驗碼寫入至該第一超級區塊中。
- 如申請專利範圍第6項所述之方法,其中每一個區塊中位於同一個平面上的多條字元線構成一個字元線組,以及將該多組最終校驗碼寫入至該第一超級區塊的步驟包含有: 將該多組最終校驗碼寫入至該第一超級區塊之對應於該多個快閃記憶體晶片的最後兩個字元線組所包含的資料頁中。
- 如申請專利範圍第7項所述之方法,其中該第P~N筆資料也是被寫入至該第一超級區塊之對應於該多個快閃記憶體晶片的最後兩個字元線組所包含的資料頁中。
- 如申請專利範圍第1項所述之方法,另包含有: 在將該組最終校驗碼寫入至該第一超級區塊之後,在該第一超級區塊中所儲存的該資料仍然為有效的情形下,將該第二超級區塊的內容抹除或是標記為無效。
- 如申請專利範圍第1項所述之方法,其中該多層式儲存區塊為三層式儲存(Triple-Level Cell,TLC)區塊或是四層式儲存(Quad-Level Cell,QLC)區塊。
- 一種快閃記憶體控制器,該快閃記憶體控制器係用來存取一快閃記憶體模組,其中該快閃記憶體模組係為一立體快閃記憶體(3D NAND-type flash)模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,該多個區塊包含了多個多層式儲存(Multiple-Level Cell,MLC)區塊以及多個單層式儲存(Single-Level Cell,SLC)區塊,每一個區塊包含了多個資料頁;每一個區塊包含了分別位於多個不同平面之多條字元線以及位元線來控制的多個浮閘電晶體,且每一條字元線上的浮閘電晶體構成了該多個資料頁中的至少一資料頁;以及該快閃記憶體控制器包含有: 一記憶體,用來儲存一程式碼; 一微處理器,用來執行該程式碼以控制對該快閃記憶體模組之存取;以及 一編解碼器; 該編解碼器對一資料進行編碼以產生至少一組校驗碼,其中該資料係準備寫入到該多個快閃記憶體晶片的一第一超級區塊(super block)中,其中該第一超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個多層式儲存區塊;以及該微處理器將該資料寫入至該第一超級區塊,以及將該至少一組校驗碼寫入至一第二超級區塊中,其中該第二超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個單層式儲存區塊。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中在該資料寫入至該第一超級區塊之前,該編解碼器先對該資料進行編碼以產生該至少一組校驗碼,並將該組校驗碼儲存至一快閃記憶體控制器的一緩衝記憶體中;以及當該資料發生寫入錯誤的情形時,該編解碼器直接使用儲存在該緩衝記憶體中的該至少一組校驗碼來對資料進行更正。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中在該資料寫入至該至少一第一超級區塊的過程中:該微處理器自該第一超級區塊讀取該資料之已經寫入至該至少一第一超級區塊的部分內容;以及當讀取該資料的部分內容的過程中發生無法更正的錯誤時,該微處理器自該第二超級區塊讀取至少一部份的校驗碼,且該編解碼器使用該至少一部份的校驗碼來對所讀取的資料進行錯誤更正。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中該至少一組校驗碼為一暫時性的校驗碼,且該微處理器自該第二超級區塊讀取該至少一組校驗碼,且該編解碼器根據該至少一組校驗碼來產生一組最終校驗碼,並將該組最終校驗碼寫入至該第一超級區塊中。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中該編解碼器依序對第1~N筆資料進行編碼以產生第1~N組校驗碼,並將該第1~N筆資料分別寫入至該第一超級區塊之對應於該多個快閃記憶體晶片的第1~N個資料頁中;以及該微處理器將該第1~N組校驗碼寫入至該第二超級區塊。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中該至少一組校驗碼為一暫時性的校驗碼,且該微處理器自該第二超級區塊讀取該第1~N組校驗碼,並根據該第1~N組校驗碼來產生多組最終校驗碼,之後再將該多組最終校驗碼寫入至該第一超級區塊中。
- 如申請專利範圍第16項所述之快閃記憶體控制器,其中每一個區塊中位於同一個平面上的多條字元線構成一個字元線組,且該微處理器將該多組最終校驗碼寫入至該第一超級區塊之對應於該多個快閃記憶體晶片的最後兩個字元線組所包含的資料頁中。
- 如申請專利範圍第17項所述之快閃記憶體控制器,其中該第P~N筆資料也是被寫入至該第一超級區塊之對應於該多個快閃記憶體晶片的最後兩個字元線組所包含的資料頁中。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中在將該組最終校驗碼寫入至該第一超級區塊之後,在該第一超級區塊中所儲存的該資料仍然為有效的情形下,該微處理器將該第二超級區塊的內容抹除或是標記為無效。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中該多層式儲存區塊為三層式儲存(Triple-Level Cell,TLC)區塊或是四層式儲存(Quad-Level Cell,QLC)區塊。
- 一種記憶裝置,其包含有: 一快閃記憶體模組,其中該快閃記憶體模組係為一立體快閃記憶體(3D NAND-type flash)模組,該快閃記憶體模組包含了多個快閃記憶體晶片,每一個快閃記憶體晶片包含了多個區塊,該多個區塊包含了多個多層式儲存(Multiple-Level Cell,MLC)區塊以及多個單層式儲存(Single-Level Cell,SLC)區塊,每一個區塊包含了多個資料頁;每一個區塊包含了分別位於多個不同平面之多條字元線以及位元線來控制的多個浮閘電晶體,且每一條字元線上的浮閘電晶體構成了該多個資料頁中的至少一資料頁;以及 一快閃記憶體控制器,用來存取該快閃記憶體模組; 其中當接收到來自一主機的寫入指令以要求將一資料寫入至該快閃記憶體模組中時,該快閃記憶體控制器對該資料進行編碼以產生至少一組校驗碼,並將該資料寫入到該多個快閃記憶體晶片的一第一超級區塊(super block)中,其中該第一超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個多層式儲存區塊;以及將該至少一組校驗碼寫入至一第二超級區塊中,其中該第二超級區塊包含了該多個快閃記憶體晶片中每一個快閃記憶體晶片的一個單層式儲存區塊。
- 如申請專利範圍第21項所述之記憶裝置,其中在該資料寫入至該第一超級區塊之前,該快閃記憶體控制器先對該資料進行編碼以產生該至少一組校驗碼,並將該組校驗碼儲存至該快閃記憶體控制器的一緩衝記憶體中;以及當該資料發生寫入錯誤的情形時,該快閃記憶體控制器直接使用儲存在該緩衝記憶體中的該至少一組校驗碼來對資料進行更正。
- 如申請專利範圍第21項所述之記憶裝置,其中在該資料寫入至該至少一第一超級區塊的過程中:該快閃記憶體控制器自該第一超級區塊讀取該資料之已經寫入至該至少一第一超級區塊的部分內容;以及當讀取該資料的部分內容的過程中發生無法更正的錯誤時,該快閃記憶體控制器自該第二超級區塊讀取至少一部份的校驗碼,並使用該至少一部份的校驗碼來對所讀取的資料進行錯誤更正。
- 如申請專利範圍第21項所述之記憶裝置,其中該至少一組校驗碼為一暫時性的校驗碼,且該快閃記憶體控制器自該第二超級區塊讀取該至少一組校驗碼,並根據該至少一組校驗碼來產生一組最終校驗碼,且將該組最終校驗碼寫入至該第一超級區塊中。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/495,993 US10289487B2 (en) | 2016-04-27 | 2017-04-25 | Method for accessing flash memory module and associated flash memory controller and memory device |
CN202010697066.6A CN111951855B (zh) | 2016-04-27 | 2017-04-26 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
CN201710279848.6A CN107403640B (zh) | 2016-04-27 | 2017-04-26 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
US16/361,200 US10846173B2 (en) | 2016-04-27 | 2019-03-21 | Method for accessing flash memory module and associated flash memory controller and memory device |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662328025P | 2016-04-27 | 2016-04-27 | |
US201662328027P | 2016-04-27 | 2016-04-27 | |
US62/328,027 | 2016-04-27 | ||
US62/328,025 | 2016-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201738895A true TW201738895A (zh) | 2017-11-01 |
TWI665679B TWI665679B (zh) | 2019-07-11 |
Family
ID=61022890
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106100010A TWI614759B (zh) | 2016-04-27 | 2017-01-03 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW106145735A TWI650764B (zh) | 2016-04-27 | 2017-01-03 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW107136200A TWI672703B (zh) | 2016-04-27 | 2017-01-03 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW106110436A TWI665679B (zh) | 2016-04-27 | 2017-03-29 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW106110446A TWI629690B (zh) | 2016-04-27 | 2017-03-29 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW108119159A TWI691966B (zh) | 2016-04-27 | 2017-03-29 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW107117861A TWI674586B (zh) | 2016-04-27 | 2017-03-29 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106100010A TWI614759B (zh) | 2016-04-27 | 2017-01-03 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW106145735A TWI650764B (zh) | 2016-04-27 | 2017-01-03 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW107136200A TWI672703B (zh) | 2016-04-27 | 2017-01-03 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106110446A TWI629690B (zh) | 2016-04-27 | 2017-03-29 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW108119159A TWI691966B (zh) | 2016-04-27 | 2017-03-29 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TW107117861A TWI674586B (zh) | 2016-04-27 | 2017-03-29 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
Country Status (1)
Country | Link |
---|---|
TW (7) | TWI614759B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582227A (zh) * | 2018-11-15 | 2019-04-05 | 深圳忆联信息系统有限公司 | 固态硬盘写入方法、装置、计算机设备和存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10949123B2 (en) * | 2018-10-18 | 2021-03-16 | Western Digital Technologies, Inc. | Using interleaved writes to separate die planes |
JP2022094705A (ja) * | 2020-12-15 | 2022-06-27 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN115878020A (zh) * | 2021-09-29 | 2023-03-31 | 慧荣科技股份有限公司 | 编码历程信息的存取方法和计算机可读取存储介质和装置 |
US11966607B2 (en) | 2021-09-29 | 2024-04-23 | Silicon Motion, Inc. | Method and non-transitory computer-readable storage medium and apparatus for accessing to encoding-history information |
TWI831701B (zh) * | 2023-05-31 | 2024-02-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
TWI831704B (zh) * | 2023-06-12 | 2024-02-01 | 慧榮科技股份有限公司 | 藉助於動態區塊配置來進行記憶體裝置的儲存空間管理之方法、記憶體控制器、記憶體裝置以及電子裝置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6906961B2 (en) * | 2003-06-24 | 2005-06-14 | Micron Technology, Inc. | Erase block data splitting |
JP2008257773A (ja) * | 2007-04-02 | 2008-10-23 | Toshiba Corp | 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード |
US8024637B2 (en) * | 2007-04-02 | 2011-09-20 | Broadcom Corporation | Super block error correction code (ECC) adaptable to communication systems including hard disk drives (HDDs) and other memory storage devices |
JP5166074B2 (ja) * | 2008-02-29 | 2013-03-21 | 株式会社東芝 | 半導体記憶装置、その制御方法、および誤り訂正システム |
US8892981B2 (en) * | 2010-09-30 | 2014-11-18 | Apple Inc. | Data recovery using outer codewords stored in volatile memory |
US8856611B2 (en) * | 2012-08-04 | 2014-10-07 | Lsi Corporation | Soft-decision compensation for flash channel variation |
KR102025263B1 (ko) * | 2012-10-05 | 2019-09-25 | 삼성전자주식회사 | 메모리 시스템 및 그것의 읽기 교정 방법 |
US8958244B2 (en) * | 2012-10-16 | 2015-02-17 | Conversant Intellectual Property Management Inc. | Split block decoder for a nonvolatile memory device |
US8914670B2 (en) * | 2012-11-07 | 2014-12-16 | Apple Inc. | Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks |
CN103839594A (zh) * | 2012-11-27 | 2014-06-04 | 建兴电子科技股份有限公司 | 固态储存装置及其联合编解码方法 |
US9734911B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile memory |
US9286985B2 (en) * | 2013-02-12 | 2016-03-15 | Kabushiki Kaisha Toshiba | Semiconductor device with power mode transitioning operation |
US9672910B2 (en) * | 2013-04-30 | 2017-06-06 | International Business Machines Corporation | Memory architecture for storing data in a plurality of memory chips |
CN104425019B (zh) * | 2013-08-23 | 2018-07-06 | 慧荣科技股份有限公司 | 存取快闪存储器中存储单元的方法以及使用该方法的装置 |
TWI515749B (zh) * | 2013-08-23 | 2016-01-01 | 慧榮科技股份有限公司 | 存取快閃記憶體中儲存單元的方法以及使用該方法的裝置 |
CN104424040B (zh) * | 2013-08-23 | 2017-10-31 | 慧荣科技股份有限公司 | 存取快闪存储器中储存单元的方法以及使用该方法的装置 |
CN104424127A (zh) * | 2013-08-23 | 2015-03-18 | 慧荣科技股份有限公司 | 存取快闪存储器中储存单元的方法以及使用该方法的装置 |
US9424126B2 (en) * | 2013-09-03 | 2016-08-23 | Kabushiki Kaisha Toshiba | Memory controller |
US9262268B2 (en) * | 2013-12-20 | 2016-02-16 | Seagate Technology Llc | Method to distribute user data and error correction data over different page types by leveraging error rate variations |
US9105333B1 (en) * | 2014-07-03 | 2015-08-11 | Sandisk Technologies Inc. | On-chip copying of data between NAND flash memory and ReRAM of a memory die |
KR102233074B1 (ko) * | 2014-10-08 | 2021-03-30 | 삼성전자주식회사 | 저장 장치 및 그것의 신뢰성 검증 방법 |
US9959059B2 (en) * | 2014-10-20 | 2018-05-01 | Sandisk Technologies Llc | Storage error management |
US9984768B2 (en) * | 2014-10-20 | 2018-05-29 | Sandisk Technologies Llc | Distributing storage of ECC code words |
-
2017
- 2017-01-03 TW TW106100010A patent/TWI614759B/zh active
- 2017-01-03 TW TW106145735A patent/TWI650764B/zh active
- 2017-01-03 TW TW107136200A patent/TWI672703B/zh active
- 2017-03-29 TW TW106110436A patent/TWI665679B/zh active
- 2017-03-29 TW TW106110446A patent/TWI629690B/zh active
- 2017-03-29 TW TW108119159A patent/TWI691966B/zh active
- 2017-03-29 TW TW107117861A patent/TWI674586B/zh active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582227A (zh) * | 2018-11-15 | 2019-04-05 | 深圳忆联信息系统有限公司 | 固态硬盘写入方法、装置、计算机设备和存储介质 |
CN109582227B (zh) * | 2018-11-15 | 2022-01-21 | 深圳忆联信息系统有限公司 | 固态硬盘写入方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TW201812788A (zh) | 2018-04-01 |
TW201935486A (zh) | 2019-09-01 |
TW201738885A (zh) | 2017-11-01 |
TWI650764B (zh) | 2019-02-11 |
TW201903784A (zh) | 2019-01-16 |
TWI674586B (zh) | 2019-10-11 |
TWI614759B (zh) | 2018-02-11 |
TWI691966B (zh) | 2020-04-21 |
TWI672703B (zh) | 2019-09-21 |
TW201738900A (zh) | 2017-11-01 |
TW201830393A (zh) | 2018-08-16 |
TWI629690B (zh) | 2018-07-11 |
TWI665679B (zh) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147295B (zh) | 存取闪存模块的方法、闪存控制器以及记忆装置 | |
CN107403640B (zh) | 存取闪存模块的方法及相关的闪存控制器与记忆装置 | |
CN107391296B (zh) | 存取闪存模块的方法及相关的闪存控制器与记忆装置 | |
TWI629690B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 | |
CN107423158B (zh) | 存取闪存模块的方法及相关的闪存控制器与记忆装置 | |
CN112463433B (zh) | 存取闪存模块的方法及相关的闪存控制器与记忆装置 | |
CN111951855B (zh) | 存取闪存模块的方法及相关的闪存控制器与记忆装置 | |
CN112214348B (zh) | 存取闪存模块的方法及相关的闪存控制器与记忆装置 | |
TWI575530B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |