TWI410795B - 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 - Google Patents
用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 Download PDFInfo
- Publication number
- TWI410795B TWI410795B TW098121001A TW98121001A TWI410795B TW I410795 B TWI410795 B TW I410795B TW 098121001 A TW098121001 A TW 098121001A TW 98121001 A TW98121001 A TW 98121001A TW I410795 B TWI410795 B TW I410795B
- Authority
- TW
- Taiwan
- Prior art keywords
- logical
- units
- unit
- flash memory
- storage
- Prior art date
Links
Classifications
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明是有關於一種快閃記憶體控制電路,且特別是有關於一種能夠有效提升資料寫入效能的快閃記憶體控制電路、快閃記憶體儲存系統及其資料寫入方法。
數位相機、手機相機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,適合可攜式應用,最適合使用於這類可攜式由電池供電的產品上。固態硬碟就是一種以NAND快閃記憶體作為儲存媒體的儲存裝置。
基於快閃記憶體的物理特性,在快閃記憶體記憶胞僅能進行單向的程式化(即,記憶胞中的位元僅能從1程式化為0),因此在快閃記憶體的記憶胞中寫入資料時必須先將記憶胞中先前所儲存的資料抹除後方能重新寫入新資料。為了能夠有效率地寫入資料,在快閃記憶體儲存裝置的設計上,一般來說,快閃記憶體儲存裝置的實體單元會以輪替方式來儲存資料。
一般來說,在快閃記憶體儲存系統的設計上,快閃記憶體儲存系統的快閃記憶體實體區塊會被分組成多個實體區塊並且此些實體區塊會被分群為多個實體單元。此外,在運作上,實體單元會被分組為資料區(data area)與備用區(spare area)。歸類為資料區的實體單元中是用以儲存由寫入指令所寫入的有效資料,而備用區中的實體單元是用以在執行寫入指令時替換資料區中的實體單元。具體來說,當快閃記憶體儲存系統接受到主機的寫入指令而欲對資料區的實體單元進行更新(或寫入)時,快閃記憶體儲存系統會從備用區中提取一實體單元並且將資料區中欲被更新的實體單元中的有效舊資料與欲寫入的新資料寫入至從備用區中提取的實體單元中並且將已寫入新資料的實體單元關聯至資料區,並且將原本在資料區中欲更新的實體單元進行抹除並關聯至備用區。為了能夠讓主機能夠順利地存取以輪替方式儲存資料的實體單元,快閃記憶體儲存系統會提供邏輯單元給主機。也就是說,快閃記憶體儲存系統會在對映表(mapping table)中記錄與更新邏輯單元與資料區的實體單元之間的對映關係來反映實體單元的輪替,所以主機僅需要針對所提供之邏輯單元進行存取,而快閃記憶體儲存系統會依據對映表對所對映的實體單元進行讀取或寫入資料。
一般來說,當快閃記憶體儲存裝置被完成製造時,製造商會經過實際的寫入測試資料以測試快閃記憶體儲存裝置的存取速度。由於測試資料是以大於上述邏輯區塊與實體區塊的一測試單元(或稱儲存單元)為單位寫入至快閃記憶體裝置中,因此當快閃記憶體儲存裝置以上述輪替方式在實體單元中寫入資料時,可能會花費許多時間於搬移舊有效資料上,因此所測得的存取速度會較差,因而影響快閃記憶體儲存裝置的售價。
本發明提供一種資料寫入方法,其能夠有效地提升寫入資料至快閃記憶體晶片的速度。
本發明提供一種快閃記憶體控制電路,其能夠執行上述資料寫入方法以有效地提升寫入資料至快閃記憶體晶片的速度。
本發明提供一種快閃記憶體儲存系統,其能夠執行上述資料寫入方法以有效地提升寫入資料至快閃記憶體晶片的速度。
本發明一範例實施例提供一種資料寫入方法,用以寫入資料至一快閃記憶體晶片,其中快閃記憶體晶片包括多個實體單元。本資料寫入方法包括提供一快閃記憶體控制電路,並且配置多個邏輯單元,其中每一邏輯單元對映至少一實體單元。本資料寫入方法還包括配置多個邏輯位址以供一主機系統存取,並且將邏輯位址對映至邏輯單元,其中邏輯單元的至少其中一對映非連續的至少兩個邏輯位址。本資料寫入方法更包括由快閃記憶體控制電路根據對映邏輯位址的邏輯單元將來自於主機系統的資料寫入至對映的該些實體單元中,其中對映相同邏輯單元的邏輯位址所儲存的資料會同時地被抹除。
在本發明之一實施例中,上述之以非連續方式將邏輯位址對映至邏輯單元的步驟包括:將邏輯單元分組為多個邏輯單元群組;在每一邏輯單元群組中選擇其中一個邏輯單元作為一副邏輯單元且選擇其他邏輯單元分別地作為一主邏輯單元;將邏輯位址依序地分組為多個儲存單元;將每一儲存單元的邏輯位址區分為一第一子儲存單元與一第二子儲存單元;以及將每一第一子儲存單元的邏輯位址對映至其中一個主邏輯單元,並且將第二子儲存單元對映至副邏輯單元,其中每一副邏輯單元對映至少二個第二子儲存單元。
在本發明之一實施例中,上述之每一第一子儲存單元的大小相同於每一邏輯單元的大小。
在本發明之一實施例中,上述之每一邏輯單元的大小小於每一儲存單元。
在本發明之一實施例中,上述之每一邏輯單元群組中包括4個邏輯單元,並且每一邏輯單元群組對映3個儲存單元。
每一副邏輯單元對映3個第二子儲存單元,並且每一主邏輯單元對映1個第一子儲存單元。
在本發明之一實施例中,上述之每一實體單元的大小為3百萬位元組,每一邏輯單元的大小為3百萬位元組,每一儲存單元的大小為4百萬位元組。
在本發明之一實施例中,上述之資料寫入方法更包括使用邏輯位址-邏輯單元對映表或運算式來記錄邏輯位址與邏輯單元的對映關係。
在本發明之一實施例中,其中上述之將邏輯位址對映至邏輯單元的步驟包括多個轉換位址並且將邏輯位址以一非連續方式轉換為轉換位址,其中轉換位址以一連續方式對映邏輯單元。
在本發明之一實施例中,每一邏輯單元群組的大小為每一邏輯單元的大小與每一儲存單元的大小的最小公倍數。
本發明一範例實施例提出一種快閃記憶體控制電路,用以控制一快閃記憶體晶片以將來自於一主機系統的資料寫入至此快閃記憶體晶片的多個實體區塊中。本控制電路包括微處理器單元、快閃記憶體介面單元、主機介面單元以及記憶體管理單元。快閃記憶體介面單元耦接至微處理器單元,並且用以連接快閃記憶體晶片。主機介面單元耦接至微處理器單元,並且用以連接一主機系統。記憶體管理單元耦接至微處理單元,並且用以配置對映實體單元的多個邏輯單元和供主機系統存取的多個邏輯位址。此外,記憶體管理單元會將邏輯位址對映至邏輯單元,其中邏輯單元的至少其中一對映非連續的至少兩個邏輯位址,且每一邏輯單元對映至少一實體單元。再者,記憶體管理單元根據對映邏輯位址的邏輯單元將來自於主機系統的資料寫入至對映的實體單元中,其中對映相同邏輯單元的邏輯位址所儲存的資料會同時地被抹除。
在本發明之一實施例中,上述之記憶體管理單元將邏輯單元分組為多個邏輯單元群組,並且在每一邏輯單元群組中選擇其中一個邏輯單元作為一副邏輯單元且選擇其他邏輯單元分別地作為一主邏輯單元。此外,上述之記憶體管理單元將邏輯位址依序地分組為多個儲存單元,並且將每一儲存單元區分為一第一子儲存單元與一第二子儲存單元。再者,上述之記憶體管理單元將每一第一子儲存單元的邏輯位址對映至其中一個主邏輯單元,並且將第二子儲存單元對映至副邏輯單元,其中每一副邏輯單元對映至少二個第二子儲存單元。
在本發明之一實施例中,上述之記憶體管理單元使用邏輯位址-邏輯單元對映表或運算式來記錄邏輯位址與邏輯單元的對映關係。
在本發明之一實施例中,上述之記憶體管理單元配置多個轉換位址並且將邏輯位址以一非連續方式轉換為轉換位址,其中轉換位址以一連續方式對映邏輯單元。
本發明一範例實施例提供一種快閃記憶體儲存系統用於儲存來自於一主機系統的資料。本快閃記憶體儲存系統包括連接器、快閃記憶體晶片與快閃記憶體控制器,其中連接器用以連接一主機系統,快閃記憶體晶片具有多個實體區塊,且快閃記憶體控制器耦接至連接器與快閃記憶體晶片。快閃記憶體控制器用以配置對映實體單元的多個邏輯單元和供主機系統存取的多個邏輯位址,並且將邏輯位址對映至邏輯單元,其中邏輯單元的至少其中一對映非連續的至少兩個邏輯位址,且每一邏輯單元對映至少一實體單元。此外,當主機系統在邏輯位址中儲存資料時,快閃記憶體控制器根據對映邏輯位址的邏輯單元將來自於主機系統的資料寫入至對映的實體單元中,其中對映相同邏輯單元的邏輯位址所儲存的資料會同時地被抹除。
在本發明之一實施例中,上述之快閃記憶體控制器將邏輯單元分組為多個邏輯單元群組,並且在每一邏輯單元群組中選擇其中一個邏輯單元作為一副邏輯單元且選擇其他邏輯單元分別地作為一主邏輯單元。此外,上述之快閃記憶體控制器將邏輯位址依序地分組為多個儲存單元,並且將每一儲存單元區分為一第一子儲存單元與一第二子儲存單元。再者,上述之快閃記憶體控制器將每一第一子儲存單元的邏輯位址對映至其中一個主邏輯單元,並且將第二子儲存單元對映至副邏輯單元,其中每一副邏輯單元對映至少二個第二子儲存單元。
在本發明之一實施例中,上述之快閃記憶體控制器使用邏輯位址-邏輯單元對映表或運算式來記錄邏輯位址與邏輯單元的對映關係。
在本發明之一實施例中,上述之快閃記憶體控制器配置多個轉換位址並且將邏輯位址以一非連續方式轉換為轉換位址,其中轉換位址以一連續方式對映邏輯單元。
基於上述,本發明範例實施例所提供的資料寫入方法是以非連續方式將邏輯位址對映至邏輯區塊,由此可將儲存單元中超過1個邏輯單元可儲存之資料量集中於一個特定邏輯單元中。因此,本發明範例實施例所提供的資料寫入方法可減少在實體單元中寫入資料時所需搬移的資料,進而有效地提升資料寫入的速度。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是根據本發明一範例實施例所繪示的快閃記憶體儲存裝置的概要方塊圖。
請參照圖1,通常快閃記憶體儲存裝置100會與主機200一起使用,以使主機系統200可將資料寫入至快閃記憶體儲存裝置100或從快閃記憶體儲存裝置100中讀取資料。在本實施例中,快閃記憶體儲存裝置100為記憶卡。但必須瞭解的是,在本發明另一實施例中快閃記憶體儲存裝置100亦可以是固態硬碟(Solid State Drive,SSD)或隨身碟。
快閃記憶體儲存裝置100包括快閃記憶體控制器(亦稱快閃記憶體控制電路)110、連接器120與快閃記憶體晶片130。
快閃記憶體控制器110會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統200的指令在快閃記憶體晶片130中進行資料的寫入、讀取與抹除等。快閃記憶體控制器110包括微處理器單元110a、記憶體管理單元110b、快閃記憶體介面單元110c與主機介面單元110d。
微處理器單元110a用以與記憶體管理單元110b、快閃記憶體介面單元110c與主機介面單元110d等協同合作以進行快閃記憶體儲存裝置100的各種運作。
記憶體管理單元110b是耦接至微處理器單元110a,並且用以執行根據本範例實施例的區塊管理機制與資料寫入機制。
在本實施例中,記憶體管理單元110b是以一韌體型式實作在控制器110中。例如,將包括多個程式指令的記憶體管理模組110b燒錄至一程式記憶體(例如,唯讀記憶體(Read Only Memory,ROM))中並且將此程式記憶體嵌入在快閃記憶體控制器110中,當快閃記憶體儲存裝置100運作時,記憶體管理單元110b的多個機器指令會由微處理器單元110a來執行以完成根據本發明實施例的區塊管理機制與資料寫入機制。
在本發明另一實施例中,記憶體管理單元110b的控制指令亦可以軟體型式儲存於快閃記憶體晶片130的特定區域(例如,快閃記憶體中專用於存放系統資料的系統區)中。同樣的,當快閃記憶體儲存裝置100運作時,記憶體管理單元110b的多個控制指令會由微處理器單元110a來執行。此外,在本發明另一實施例中,記憶體管理單元110b亦可以一硬體型式實作在快閃記憶體控制器110中。
快閃記憶體介面單元110c是耦接至微處理器單元110a並且用以存取快閃記憶體晶片130。也就是說,欲寫入至快閃記憶體晶片130的資料會經由快閃記憶體介面單元110c轉換為快閃記憶體晶片130所能接受的格式。
主機介面單元110d是耦接至微處理器單元110a並且用以接收與識別主機系統200所傳送的指令。也就是說,主機系統200所傳送的指令與資料會透過主機介面單元110d來傳送至微處理器單元110a。在本範例實施例中,主機介面單元110d為安全數位(secure digital,SD)介面。然而,必須瞭解的是本發明不限於此,主機介面單元110d亦可以是序列先進附件(Serial Advanced Technology Attachment,SATA)介面、通訊序列匯流排(Universal Serial Bus,USB)介面、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394介面、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)、記憶棒(Memory Sick,MS)介面、多媒體儲存卡(Multi Media Card,MMC)介面、小型快閃(Compact Flash,CF)介面、整合式驅動電子介面(Integrated Device Electronics,IDE)或其他適合的資料傳輸介面。
此外,雖未繪示於本範例實施例,但快閃記憶體控制器110亦更包括錯誤校正單元與電源管理單元等用於控制快閃記憶體的一般功能模組。
連接器120是耦接至快閃記憶體控制器110並且用以透過匯流排300連接主機系統200。在本範例實施例中,連接器110為SD連接器。然而,必須瞭解的是本發明不限於此,連接器110亦可以是SATA連接器、USB連接器、IEEE 1394連接器、PCIExpress連接器、MS連接器、MMC連接器、CF連接器、IDE連接器或其他適合的連接器。
快閃記憶體晶片130是耦接至快閃記憶體控制器110並且用以儲存資料。
圖2是根據本發明一範例實施例所繪示的快閃記憶體晶片的概要方塊圖。
在本範例實施例中,快閃記憶體晶片130包括第一快閃記憶體模組210與第二快閃記憶體模組220,其中第一快閃記憶體模組210具有實體區塊210-(0)~210-(N)並且第二快閃記憶體模組220具有實體區塊220-(0)~220-(N)。值得一提的是,雖然本發明範例實施例是以包括2個快閃記憶體模組的快閃記憶體晶片130來描述,然而本發明不限於此。在本範例實施中,第一快閃記憶體模組210與第二快閃記憶體模組220為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體,即一個細胞內可儲存2個、3個或其他複數個位元的資訊。然而,必須瞭解的是,本發明不限於此。在本發明另一實施例中,單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體亦可應用於本發明。
在快閃記憶體晶片130中,實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。每一實體區塊通常會分割為數個頁面(page)。由於在本範例實施例中,快閃記憶體晶片130的一快閃記憶體模組210與第二快閃記憶體模組220為MLC NAND快閃記憶體,因此,頁面為程式化(program)的最小單元。換言之,頁面為寫入資料或讀取資料的最小單元。每一頁面通常包括使用者資料區D與冗餘區R。使用者資料區用以儲存使用者的資料,而冗餘區用以儲存系統的資料(例如,錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code)。在本範例實施例中,快閃記憶體晶片130的每一頁面具有為8千位元組(kilo byte,KB)。
在本範例實施例中,每一實體區塊具有192個頁面,然而,必須瞭解的是,本發明不限於此,本發明亦可具有128、256或其他複數頁面。此外,第一快閃記憶體模組210與第二快閃記憶體模組220的實體區塊通常也可被分組為數個區域(zone),以每一獨立的區域來管理實體區塊210-(0)~210-(N)與實體區塊220-(0)~220-(N)可增加操作執行的平行程度且簡化管理的複雜度。
此外,快閃記憶體控制器110會將第一快閃記憶體模組210與第二快閃記憶體模組220中的實體區塊邏輯地分組為多個實體單元來管理,例如1個實體單元包括2個實體區塊,並且以實體單元作為抹除的單位。由於以實體單元進行管理時,快閃記憶體控制器110是以較大的單位(即實體單元)來維護邏輯單元-實體單元對映表,因此可節省所需使用之緩衝記憶體110d的空間。在本發明範例實施例中,實體區塊210-(0)~210-(N)與實體區塊220-(0)~220-(N)會被邏輯地分組為實體單元310-(0)~310-(N)。必須瞭解的是,儘管本範例實施例是以2個實體區塊所組成的實體單元來進行管理。然而,本發明不限於此,在本發明另一範例實施例中,1個實體單元亦可是僅由1個實體區塊或由3個以上的實體區塊所組成。
圖3A~3D是根據本發明一範例實施例繪示快閃記憶體晶片的運作示意圖。
必須瞭解的是,在此描述快閃記憶體實體區塊的運作時,以“提取”、“搬移”、“交換”、“替換”、“輪替”、“分組”等詞來操作快閃記憶體晶片130的實體區塊是邏輯上的概念。也就是說,快閃記憶體之實體區塊的實際位置並未被更動,而是邏輯上對快閃記憶體的實體區塊進行操作。值得一提的是,下述的運作是由快閃記憶體控制器110的記憶體管理單元110b所完成。
請參照圖3A,記憶體管理單元110b會將快閃記憶體晶片130的實體區塊邏輯地分組為實體單元310-(0)~310-(N),並且會將實體單元310-(0)~310-(N)邏輯地分組為儲存區320以及取代區330。
邏輯上屬於儲存區320的實體單元310-(0)~310-(P)是快閃記憶體儲存裝置100中正常被使用的實體單元。也就是說,記憶體管理單元110b會將資料寫入至屬於儲存區320的實體單元。
邏輯上屬於取代區330的實體單元310-(P+1)~310-(N)是替代實體單元,用以取代損壞的實體單元。例如,快閃記憶體晶片130於出廠時會預留4%的實體區塊作為更換使用。也就是說,當儲存區320中的實體區塊損毀時,預留於取代區330中的實體區塊可用以取代損壞的實體區塊(即,壞的實體區塊(bad block))。因此,倘若取代區330中仍存有可用之實體區塊時,若發生實體區塊損毀,記憶體管理模組110b會從取代區330中提取可用的實體區塊來更換損毀的實體區塊。倘若取代區330中無可用之實體區塊且發生實體區塊損毀時,快閃記憶體儲存裝置100將會被宣告無法再被使用。
請參照圖3B,記憶體管理單元110b會將儲存區320的實體區塊邏輯地分組成一系統區302、一資料區304與一備用區306。
系統區302包括實體單元310-(0)~實體單元310-(S),資料區304包括實體單元310-(S+1)~實體單元310-(S+M),並且備用區306包括實體單元310-(S+M+1)~實體單元310-(P)。在本範例實施例中,上述S、M與P為正整數,其代表各區配置的實體區塊數量,其可由快閃記憶體儲存系統的製造商依據所使用的快閃記憶體模組的容量而設定。
邏輯上屬於系統區302的實體單元用以記錄系統資料,其中此系統資料包括關於快閃記憶體晶片的製造商與型號、每一快閃記憶體模組的區域數、每一區域的實體區塊數、每一實體區塊的頁面數等。
邏輯上屬於資料區304的實體單元用以儲存使用者資料。一般來說,資料區304的實體單元就是主機系統200所存取之邏輯單元所對映的實體單元。也就是說,資料區304的實體單元為儲存有效資料的單元。
邏輯上屬於備用區306的實體單元是用以輪替資料區304中的實體單元,因此在備用區306中的實體單元為空或可使用的單元,即無記錄資料或標記為已沒用的無效資料。也就是說,資料區304與備用區306的實體單元會以輪替方式來儲存主機系統200對快閃記憶體儲存裝置100寫入的資料。
請同時參照圖3B與圖3C,例如,當快閃記憶體控制器110欲寫入資料至資料區304的實體單元310-(S+1)時,記憶體管理單元110b會從備用區306中提取實體單元310-(S+M+1)來輪替資料區304的實體單元310-(S+1)。然而,當記憶體管理單元110b將新資料寫入至實體單元310-(S+M+1)的同時,記憶體管理單元110b不會立刻將實體單元310-(S+1)中的所有有效資料搬移至實體單元310-(S+M+1)而抹除實體單元310-(S+1)。具體來說,記憶體管理單元110b會將實體單元310-(S+1)中欲寫入頁面之前的有效資料(即,頁P0與P1)複製至實體單元310-(S+M+1)(如圖3C的(a)),並且將新資料(即,實體單元310-(S+M+1)的頁P2與P3)寫入至實體單元310-(S+M+1)(如圖3C的(b))。此時,記憶體管理單元110b即完成寫入的動作。因為實體單元310-(S+1)中的有效資料有可能在下個操作(例如,寫入指令)中變成無效,因此立刻將實體單元310-(S+1)中的所有有效資料搬移至替換實體單元310-(S+M+1)可能會造成無謂的搬移。在本範例實施例中,暫時地維持此等母子暫態關係(即,實體單元310-(S+1)與實體單元310-(S+M+1))的動作稱為開啟(open)母子單元,其中由於開啟母子單元時必須在緩衝記憶體110d中記錄資料如何分散地儲存在多個實體單元中,因此在快閃記憶體儲存裝置100中同一時間開啟母子單元的數目是根據快閃記憶體控制器110中緩衝記憶體110d的大小而定。
之後,當需要將實體單元310-(S+1)與實體單元310-(S+M+1)的內容真正合併時,記憶體管理單元110b會將實體單元310-(S+1)與實體單元310-(S+M+1)整併為一個實體單元,由此提升區塊的使用效率,在此,合併母子單元的動作稱為關閉(close)母子單元。例如,如圖3C的(c)所示,當進行關閉母子單元時,記憶體管理單元110b會將實體單元310-(S+1)中剩餘的有效資料(即,頁P4~PN)複製至替換實體單元310-(S+M+1),然後將實體單元310-(S+1)抹除並關聯至備用區306,同時,將實體單元310-(S+M+1)關聯至資料區304。
請參照圖3D,特別是,由於快閃記憶體晶片130的實體單元是以上述輪替方式提供主機系統200來儲存資料,因此記憶體管理單元110b會提供邏輯位址360給主機系統200以進行資料存取。此外,如上所述,記憶體管理單元110b是以實體單元與頁面為單位來管理快閃記憶體,所以記憶體管理單元110b會提供邏輯單元350-1~350-M來對映邏輯位址360。例如,在本範例實施例中,記憶體管理單元110b會透過維護邏輯位址-邏輯單元對映表(logical address-logical unit mapping table)來記錄邏輯位址與邏輯區塊的對映關係,並且透過維護邏輯單元-實體單元對映表(logical unit-physical unit mapping table)來記錄邏輯單元所對映的實體單元。具體來說,當主機系統200欲對某一邏輯位址進行存取時,記憶體管理單元110b會根據一配置單元(圖未示)或以一運算式,來識別對映此邏輯位址的邏輯單元,並且根據邏輯單元-實體單元對映表識別對映此邏輯單元的實體單元,之後根據對映結果來在快閃記憶體晶片130上存取資料。在本範例實施例中,上述配置單元是以邏輯位址-邏輯區塊對映表來記錄邏輯位址與邏輯單元的對映關係。
此外,在本發明另一範例實施例中,上述配置單元亦可以一運算式來表示邏輯位址與邏輯單元的對映關係。例如,若一個扇區為1(megabyte,MB)且一儲存單元為4MB時,配置單元會以4為除數來對邏輯位址進行餘數運算,其中當餘數為3時則將該邏輯位址所對應的資料寫入至對應的副邏輯單元中,而當餘數不為3時則依其商值寫入至相對應之邏輯單元中。例如,當配置單元對邏輯位址0進行餘數運算時,其商為0且餘數不為3,因此對應邏輯位址0之資料會被寫入至主邏輯單元350-1;當配置單元對邏輯位址4進行餘數運算時,其商為1且餘數不為3,因此對應邏輯位址4之資料會被寫入至主邏輯單元350-2;當配置單元對邏輯位址3進行餘數運算時,其商為0且餘數為3,因此對應邏輯位址4之資料會被寫入至副邏輯單元350-4。
在本範例實施例中,一般來說,當邏輯單元所對映的實體單元非處於開啟母子單元的狀態時,則在邏輯單元-實體單元對映表中邏輯單元與實體單元是以1對1方式對映,即1個邏輯單元對映1個實體單元。而當邏輯單元所對映的實體單元處於開啟母子單元的狀態時,則在邏輯單元-實體單元對映表中所記錄之邏輯單元與實體單元的對映關係是以1對多方式對映,即1個邏輯單元對映多個實體單元。必須瞭解的是,在本範例實施例中是以邏輯單元-實體單元對映表來統一記錄邏輯單元與實體單元的對映關係,然而在本發明另一範例實施例中,邏輯單元與實體單元的對映關係亦可由多個表格來記錄或者記錄在每一實體單元的冗餘區中。
此外,在邏輯位址-邏輯單元對映表中,邏輯位址360是以非連續方式對映至邏輯單元350-1~350-M。具體來說,記憶體管理單元110b會將邏輯單元350-1~350-M分組為具有主邏輯單元與副邏輯單元的多個邏輯單元群組,並且將邏輯位址360依序地分群為儲存單元370-1~370-K。此外,記憶體管理單元110b會將每一儲存單元區分為第一子儲存單元與第二子儲存單元,並且將每一儲存單元的第一子儲存單元與第二子儲存單元以非連續方式對映至主邏輯單元與副邏輯單元。其中,在本發明之一範例實施例中,1個邏輯單元群組的大小為1個邏輯單元的大小與1個儲存單元的大小的最小公倍數,但亦可以使用者之管理需求,而另行定義邏輯單元群組之容量。例如,倘若每一邏輯單元的大小為3MB,而每一儲存單元的大小為4MB時,則邏輯單元群組的大小為12MB。
圖4是根據本發明範例實施例所繪示的邏輯位址與邏輯區塊對映示意圖。必須瞭解的是,在本範例實施例中,所有儲存單元370-1~370-K的邏輯位址可以相同方式與邏輯單元對映,因此以下僅以儲存單元370-1~370-3的邏輯位址對映至由邏輯單元350-1~350-4所組成之邏輯單元群組為例來進行說明。
請參照圖4,記憶體管理單元110b將儲存單元370-1分為第一子儲存單元370-1a與第二子儲存單元370-1b,將儲存單元370-2分為第一子儲存單元370-2a與第二子儲存單元370-2b,並且將儲存單元370-3分為第一子儲存單元370-3a與第二子儲存單元370-3b。此外,記憶體管理單元110b會選擇邏輯單元350-4作為主邏輯單元並且選擇其他邏輯單元(即,邏輯單元350-1~350-3)作為副邏輯單元。
在本範例實施例中,每一實體單元的大小為3MB,並且每一邏輯單元的大小亦對應為3MB。此外,值得一提的是,每一儲存單元(即,儲存單元370-1~370-K)的大小為4MB。特別是,記憶體管理單元110b將每一儲存單元中的3MB邏輯位址分群為第一子儲存單元且將1MB邏輯位址分群為第二子儲存單元。基此,記憶體管理單元110b將第一子儲存單元370-1a對映至主邏輯單元350-1,將第一子儲存單元370-2a對映至主邏輯單元350-2,將第一子儲存單元370-3a對映至主邏輯單元350-3,並且將第二子儲存單元370-1b、370-2b與370-3b對映至副邏輯單元350-4。此外,此些對映關係會被記錄在邏輯位址-邏輯區塊對映表中。
例如,當主機系統200欲寫入資料至屬於儲存單元370的第一子儲存單元370-1a中的邏輯位址時,記憶體管理單元110b會根據邏輯位址-邏輯區塊對映表識別對映第一子儲存單元370-1a的邏輯單元350-1並且根據邏輯區塊-實體區塊對映表將資料寫入至對映的實體單元中(如圖3B與3C所示)。而當主機系統200欲寫入資料至屬於儲存單元370的第二子儲存單元370-1b中的邏輯位址時,記憶體管理單元110b會根據邏輯位址-邏輯區塊對映表識別對映第二子儲存單元370-1b的邏輯單元350-4並且根據邏輯區塊-實體區塊對映表將資料寫入至對映的實體單元中(如圖3B與3C所示)。類似地,當主機系統200欲寫入資料至屬於第一子儲存單元370-2a中的邏輯位址時,記憶體管理單元110b會將資料寫入至對映邏輯單元350-2的實體單元中;當主機系統200欲寫入資料至屬於第一子儲存單元370-3a中的邏輯位址時,記憶體管理單元110b會將資料寫入至對映邏輯單元350-3的實體單元中;當主機系統200欲寫入資料至屬於第二子儲存單元370-2b或第二子儲存單元370-3b中的邏輯位址時,記憶體管理單元110b會將資料寫入至對映邏輯單元350-4的實體單元中。
基於上述,當主機系統200以儲存單元為單位寫入資料至快閃記憶體晶片130時,記憶體管理單元110b會將此資料之中可填滿一個邏輯單元之容量的部分寫入至主邏輯單元(例如,邏輯單元350-1)所對映的實體單元,其他不足一個邏輯單元之容量的部分會被寫入至副邏輯單元。藉由副邏輯單元(例如,邏輯單元350-4)所對映的實體單元來集中儲存多個零碎(即,不滿一個邏輯單元)的資料,可有效地降低圖3C所示之搬移(或複製)資料的量,由此提升快閃記憶體儲存裝置100的寫入速度。
值得一提的是,在本範例實施例中,儲存單元(或測試單元)為4MB,並且邏輯單元為3MB,因此每一副邏輯單元可儲存對應3個儲存單元的零碎資料(即,上述第二子儲存單元中之資料)。然而,本發明不限於此,此領域具通常知識者可根據快閃記憶體晶片中實體單元、邏輯單元與儲存單元(或測試單元)的大小來調整每一副邏輯單元所對映之第二子儲存單元的數目。
值得一提的是,圖4所示的對映方式是將儲存單元370-1~370-K的邏輯位址直接地以非連續方式對映至邏輯單元350-1~350-M。在本發明另一範例實施例中,亦可透過轉換位址來將儲存單元370-1~370-K的邏輯位址間接地對映至邏輯單元350-1~350-M。圖5是根據本發明另一範例實施例所繪示的邏輯位址與邏輯區塊對映示意圖,其中以儲存單元370-1~370-3的邏輯位址對映至由邏輯單元350-1~350-4所組成之邏輯單元群組為例來進行說明。
請參照圖5,儲存單元370-1~370-3與邏輯單元350-1~350-4之間配置有轉換邏輯位址380-1~380-12,而轉換單元380-1~380-3對映邏輯單元350-1,轉換單元380-4~380-6對映邏輯單元350-2,轉換單元380-7~380-9對映邏輯單元350-3,轉換單元380-10~380-12對映邏輯單元350-4。在此範例中,第一子儲存單元370-1a的邏輯位址會被轉換為轉換位址380-1~380-3,第一子儲存單元370-2a的邏輯位址會被轉換為的轉換位址380-4~380-6,第一子儲存單元370-3a的邏輯位址會被轉換為轉換位址380-7~380-9,第二子儲存單元370-1b的邏輯位址會被轉換為邏輯位址380-10,第二子儲存單元370-2b的邏輯位址會被轉換為邏輯位址380-11,並且第二子儲存單元370-3b的邏輯位址會被轉換為邏輯位址380-12。基此,當主機系統200依據邏輯位址來寫入資料時,記憶體管理單元會將欲寫入之邏輯位址轉換為轉換位址來進行寫入。
圖6是根據本範例實施例所繪示資料寫入方法的流程圖。值得一提的是,根據本範例實施例所繪示資料寫入方法是由快閃記憶體控制器110所執行。
請參照圖6,首先,在步驟S501中記憶體管理單元110b會配置多個邏輯單元,以對映快閃記憶體儲存系統(即,快閃記憶體儲存裝置100)的實體單元。也就是說,快閃記憶體控制器110的記憶體管理單元110b會配置邏輯單元來對映實體單元,由此可以上述之輪替方式來在快閃記憶體晶片130中的實體單元310-(S+1)~310(S+M)中存取資料。如上所述,在本範例實施例中,記憶體管理單元110b會將此些對映關係記錄在邏輯單元-實體單元對映表中,並且邏輯單元-實體單元對映表會被持續更新。
接著,在步驟S503中記憶體管理單元110b會配置多個邏輯位址,以供予快閃記憶體儲存系統連接的主機系統(例如,主機系統200)來存取。具體來說,主機系統200會以特定檔案系統來存取資料,因此,記憶體管理單元110b會配置對應主機系統200之檔案系統的多個邏輯位址,以利主機系統200對快閃記憶體儲存裝置100進行存取。例如,當主機系統200是以扇區(sector)為單位來存取資料,記憶體管理單元110b會配置以扇區為單位的邏輯位址。
然後,在步驟S505中記憶體管理單元110b會以一非連續方式將所配置的邏輯位址對映至所配置的邏輯單元。在此步驟中,以非連續方式來對映邏輯位址與邏輯區塊可使快閃記憶體儲存裝置100在主機系統200以儲存單元(或測試單元)為單位寫入資料時,減少資料搬移的量,而有效提升資料寫入速度。圖7是根據本發明範例實施例所繪示圖6中步驟S505的詳細流程圖。
請參照圖7,首先,在步驟S601中,記憶體管理單元110b將所配置的邏輯單元分組為多個邏輯單元群組。例如,在本範例實施例中,一邏輯單元群組是由4個邏輯單元(例如,邏輯單元350-1、350-2、350-3與350-4)所組成(如圖4所示)。
然後,在步驟S603中記憶體管理單元110b會在每一邏輯單元群組中選擇其中一個邏輯單元作為一副邏輯單元(例如,邏輯單元350-4)且選擇其他邏輯單元分別地作為一主邏輯單元(例如,邏輯單元350-1、350-2與350-3)。之後,在步驟S605中記憶體管理單元110b將邏輯位址依序地分組為多個儲存單元,並且在步驟S607中記憶體管理單元110b將每一儲存單元的邏輯位址區分為第一子儲存單元(例如,第一子儲存單元710-1a)與第二子儲存單元(例如,第二子儲存單元710-1b)。最後,在步驟S609中記憶體管理單元110b將每一第一子儲存單元的邏輯位址對映至主邏輯單元,並且將第二子儲存單元對映至副邏輯單元。以非連續方式對映邏輯位址與邏輯單元方法已配合圖4詳細描述如上,在此不重複描述。
在本範例實施例中,在完成圖7的步驟後,記憶體管理單元110b會將此些對映關係記錄在邏輯位址-邏輯單元對映表中。
請再參照圖6,最後在步驟S507中,記憶體管理單元110b會根據對映邏輯位址的邏輯單元將來自於主機系統的資料寫入至對映的實體單元中。具體來說,記憶體管理單元110b會參考邏輯位址-邏輯單元對映表與邏輯單元-實體單元對映表將主機系統欲寫入的資料寫入至對映的實體單元中。
綜上所述,本發明範例實施例以主機系統所使用的儲存單元(或測試單元)為單位來分組邏輯位址,將每一儲存單元區分為容量相同於邏輯單元的第一子儲存單元及容量小於邏輯單元的第二子儲存單元,並且配置單一邏輯單元(即,上述副邏輯單元)來集中儲存在第二子儲存單元中之零碎資料,由此可減少快閃記憶體儲存裝置於執行寫入指令時複製資料的量,進而提升快閃記憶體儲存裝置的寫入速度。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...快閃記憶體儲存裝置
110...快閃記憶體控制器
110a...微處理器單元
110b...記憶體管理單元
110c...快閃記憶體介面單元
110d...主機介面單元
120...連接器
130...快閃記憶體晶片
200...主機系統
300...匯流排
210、220...快閃記憶體模組
210-(0)~210-(N)、220-(0)~220-(N)...實體區塊
310-(0)~310-(N)...實體單元
320...儲存區
330...取代區
302...系統區
304...資料區
306...備用區
350-1~350-M...邏輯單元
360...邏輯位址
370-1~370-K...儲存單元
370-1a、370-2a、370-3a...第一子儲存單元
370-1b、370-2b、370-3b...第二子儲存單元
380-1、380-2、380-3、380-4...轉換單元
S501、S503、S505、S507、S509、S601、S603、S605、S607、S609...資料寫入方法的步驟
圖1是根據本發明一範例實施例所繪示的快閃記憶體儲存裝置的概要方塊圖。
圖2是根據本發明一範例實施例所繪示的快閃記憶體晶片的概要方塊圖。
圖3A~3D是根據本發明一範例實施例繪示快閃記憶體晶片的運作示意圖。
圖4是根據本發明範例實施例所繪示的邏輯位址與邏輯區塊對映示意圖。
圖5是根據本發明另一範例實施例所繪示的邏輯位址與邏輯區塊對映示意圖。
圖6是根據本範例實施例所繪示資料寫入方法的流程圖。
圖7是根據本發明範例實施例所繪示圖6中步驟S505的詳細流程圖。
S501、S503、S505、S507...資料寫入方法的步驟
Claims (25)
- 一種資料寫入方法,用以寫入資料至一快閃記憶體晶片,其中該快閃記憶體晶片包括多個實體單元,該資料寫入方法包括:提供一快閃記憶體控制電路;配置多個邏輯單元,其中每一該些邏輯單元對映至少一該些實體單元;配置多個邏輯位址,以供一主機系統存取;將該些邏輯單元分組為多個邏輯單元群組;在每一該些邏輯單元群組中選擇其中一個該些邏輯單元作為一副邏輯單元且其他該些邏輯單元分別地作為一主邏輯單元;將該些邏輯位址依序地分組為多個儲存單元;將每一該些儲存單元的邏輯位址區分為一第一子儲存單元與一第二子儲存單元;將每一該些第一子儲存單元的邏輯位址對映至其中一個該些主邏輯單元,並且將該些第二子儲存單元對映至該些副邏輯單元,其中每一該些副邏輯單元對映至少二個該些第二子儲存單元;以及當該主機系統在該些邏輯位址中儲存資料時,由該快閃記憶體控制電路根據對映該些邏輯位址的該些邏輯單元將來自於該主機系統的該資料寫入至對映的該些實體單元中。
- 如申請專利範圍第1項所述之資料寫入方法,其中 每一該些第一子儲存單元的大小相同於每一該些邏輯單元的大小。
- 如申請專利範圍第1項所述之資料寫入方法,其中每一該些邏輯單元的大小小於每一該些儲存單元。
- 如申請專利範圍第1項所述之資料寫入方法,其中每一該些邏輯單元群組中包括4個該些邏輯單元,並且每一該些邏輯單元群組對映3個該些儲存單元。
- 如申請專利範圍第4項所述之資料寫入方法,其中每一該些副邏輯單元對映3個該些第二子儲存單元,並且每一該些主邏輯單元對映1個該些第一子儲存單元。
- 如申請專利範圍第5項所述之資料寫入方法,其中每一該些實體單元的大小為3百萬位元組,每一該些邏輯單元的大小為3百萬位元組,每一該些儲存單元的大小為4百萬位元組。
- 如申請專利範圍第1項所述之資料寫入方法,更包括使用一邏輯位址-邏輯單元對映表或一運算式來決定該些邏輯位址與該些邏輯單元的對映關係。
- 如申請專利範圍第1項所述之資料寫入方法,其中將該些邏輯位址對映至該些邏輯單元的步驟包括:配置多個轉換位址,其中該些轉換位址以一連續方式對映該些邏輯單元;以及將該些邏輯位址以一非連續方式轉換為該些轉換位址。
- 如申請專利範圍第2項所述之資料寫入方法,其中 每一該些邏輯單元群組的大小為每一該些邏輯單元的大小與每一該些儲存單元的大小的最小公倍數。
- 一種快閃記憶體控制電路,用以控制一快閃記憶體晶片以將來自於一主機系統的資料寫入至該快閃記憶體晶片的多個實體單元中,該控制電路包括:一微處理器單元;一快閃記憶體介面單元,耦接至該微處理器單元,用以連接該快閃記憶體晶片;一主機介面單元,耦接至該微處理器單元,用以連接該主機系統;以及一記憶體管理單元,耦接至該微處理單元,用以配置對映該些實體單元的多個邏輯單元和供該主機系統存取的多個邏輯位址,其中該記憶體管理單元將該些邏輯單元分組為多個邏輯單元群組,在每一該些邏輯單元群組中選擇其中一個該些邏輯單元作為一副邏輯單元且其他該些邏輯單元分別地作為一主邏輯單元,將該些邏輯位址依序地分組為多個儲存單元,將每一該些儲存單元區分為一第一子儲存單元與一第二子儲存單元,以及將每一該些第一子儲存單元的邏輯位址對映至其中一個該些主邏輯單元,並且將該些第二子儲存單元對映至該些副邏輯單元,其中每一該些副邏輯單元對映至少二個該些第二子儲存單元,其中該記憶體管理單元根據對映該些邏輯位址的該些邏輯單元將來自於該主機系統的該資料寫入至對映的該 些實體單元中。
- 如申請專利範圍第10項所述之快閃記憶體控制電路,其中每一該些第一子儲存單元的大小相同於每一該些邏輯單元的大小。
- 如申請專利範圍第10項所述之快閃記憶體控制電路,其中每一該些邏輯單元的大小小於每一該些儲存單元。
- 如申請專利範圍第10項所述之快閃記憶體控制電路,其中每一該些邏輯單元群組中包括4個該些邏輯單元,並且每一該些邏輯單元群組對映3個該些儲存單元。
- 如申請專利範圍第13項所述之快閃記憶體控制電路,其中每一該些副邏輯單元對映3個該些第二子儲存單元,並且每一該些主邏輯單元對映1個該些第一子儲存單元。
- 如申請專利範圍第14項所述之快閃記憶體控制電路,其中每一該些實體單元的大小為3百萬位元組,每一該些邏輯單元的大小為3百萬位元組,每一該些儲存單元的大小為4百萬位元組。
- 如申請專利範圍第10項所述之快閃記憶體控制電路,其中該記憶體管理單元使用一邏輯位址-邏輯單元對映表或一運算式來決定該些邏輯位址與該些邏輯單元的對映關係。
- 如申請專利範圍第10項所述之快閃記憶體控制電路,其中該記憶體管理單元配置多個轉換位址並且將該 些邏輯位址以一非連續方式轉換為該些轉換位址,其中該些轉換位址以一連續方式對映該些邏輯單元。
- 一種快閃記憶體儲存系統,用於儲存來自於一主機系統的資料,該快閃記憶體儲存系統包括:一連接器,用以連接該主機系統;一快閃記憶體晶片,具有多個實體區塊;以及一快閃記憶體控制器,耦接至該連接器與該快閃記憶體晶片,用以配置對映該些實體單元的多個邏輯單元和供該主機系統存取的多個邏輯位址其中該快閃記憶體控制器將該些邏輯單元分組為多個邏輯單元群組,在每一該些邏輯單元群組中選擇其中一個該些邏輯單元作為一副邏輯單元且其他該些邏輯單元分別地作為一主邏輯單元,將該些邏輯位址依序地分組為多個儲存單元,將每一該些儲存單元區分為一第一子儲存單元與一第二子儲存單元,以及將每一該些第一子儲存單元的邏輯位址對映至其中一個該些主邏輯單元,並且將該些第二子儲存單元對映至該些副邏輯單元,其中每一該些副邏輯單元對映至少二個該些第二子儲存單元,其中該快閃記憶體控制器根據對映該些邏輯位址的該些邏輯單元將來自於該主機系統的該資料寫入至對映的該些實體單元中。
- 如申請專利範圍第18項所述之快閃記憶體儲存系統,其中每一該些第一子儲存單元的大小相同於每一該些邏輯單元的大小。
- 如申請專利範圍第18項所述之快閃記憶體儲存系統,其中每一該些邏輯單元的大小小於每一該些儲存單元。
- 如申請專利範圍第18項所述之快閃記憶體儲存系統,其中每一該些邏輯單元群組中包括4個該些邏輯單元,並且每一該些邏輯單元群組對映3個該些儲存單元。
- 如申請專利範圍第21項所述之快閃記憶體儲存系統,其中每一該些副邏輯單元對映3個該些第二子儲存單元,並且每一該些主邏輯單元對映1個該些第一子儲存單元。
- 如申請專利範圍第22項所述之快閃記憶體儲存系統,其中每一該些實體單元的大小為3百萬位元組,每一該些邏輯單元的大小為3百萬位元組,每一該些儲存單元的大小為4百萬位元組。
- 如申請專利範圍第18項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器使用一邏輯位址-邏輯單元對映表或一運算式來記錄該些邏輯位址與該些邏輯單元的對映關係。
- 如申請專利範圍第18項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器配置多個轉換位址並且將該些邏輯位址以一非連續方式轉換為該些轉換位址,其中該些轉換位址以一連續方式對映該些邏輯單元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098121001A TWI410795B (zh) | 2009-06-23 | 2009-06-23 | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
US12/542,158 US20100325344A1 (en) | 2009-06-23 | 2009-08-17 | Data writing method for flash memory and control circuit and storage system using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098121001A TWI410795B (zh) | 2009-06-23 | 2009-06-23 | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201101304A TW201101304A (en) | 2011-01-01 |
TWI410795B true TWI410795B (zh) | 2013-10-01 |
Family
ID=43355280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098121001A TWI410795B (zh) | 2009-06-23 | 2009-06-23 | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100325344A1 (zh) |
TW (1) | TWI410795B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713242B2 (en) * | 2010-12-30 | 2014-04-29 | Solid State System Co., Ltd. | Control method and allocation structure for flash memory device |
TWI559141B (zh) | 2013-01-31 | 2016-11-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
TWI591640B (zh) * | 2016-01-08 | 2017-07-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI602061B (zh) * | 2017-03-16 | 2017-10-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體儲存裝置與記憶體控制電路單元 |
CN106990921B (zh) * | 2017-03-24 | 2019-10-11 | 合肥兆芯电子有限公司 | 数据写入方法、存储器存储装置与存储器控制电路单元 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802551A (en) * | 1993-10-01 | 1998-09-01 | Fujitsu Limited | Method and apparatus for controlling the writing and erasing of information in a memory device |
TW556205B (en) * | 2002-04-08 | 2003-10-01 | Megawin Technology Co Ltd | Method for inspecting flash memory logic address |
US20050174849A1 (en) * | 2004-02-06 | 2005-08-11 | Samsung Electronics Co., Ltd. | Method of remapping flash memory |
JP2008123473A (ja) * | 2006-10-20 | 2008-05-29 | Toshiba Corp | 記憶装置及びその制御方法 |
JP2008152464A (ja) * | 2006-12-15 | 2008-07-03 | Toshiba Corp | 記憶装置 |
TW200842578A (en) * | 2006-12-26 | 2008-11-01 | Sandisk Corp | Configuration of host LBA interface with flash memory |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5949716A (en) * | 1997-04-16 | 1999-09-07 | Invox Technology | Look-ahead erase for sequential data storage |
EP1376608A1 (fr) * | 2002-06-28 | 2004-01-02 | Cp8 | Procédé d'écriture dans une mémoire non volatile et système pour la mise en oeuvre d'un tel procédé |
US7039788B1 (en) * | 2002-10-28 | 2006-05-02 | Sandisk Corporation | Method and apparatus for splitting a logical block |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
JP5166118B2 (ja) * | 2008-05-21 | 2013-03-21 | 株式会社東芝 | 半導体メモリの制御方法 |
US8244960B2 (en) * | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
-
2009
- 2009-06-23 TW TW098121001A patent/TWI410795B/zh active
- 2009-08-17 US US12/542,158 patent/US20100325344A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802551A (en) * | 1993-10-01 | 1998-09-01 | Fujitsu Limited | Method and apparatus for controlling the writing and erasing of information in a memory device |
TW556205B (en) * | 2002-04-08 | 2003-10-01 | Megawin Technology Co Ltd | Method for inspecting flash memory logic address |
US20050174849A1 (en) * | 2004-02-06 | 2005-08-11 | Samsung Electronics Co., Ltd. | Method of remapping flash memory |
JP2008123473A (ja) * | 2006-10-20 | 2008-05-29 | Toshiba Corp | 記憶装置及びその制御方法 |
JP2008152464A (ja) * | 2006-12-15 | 2008-07-03 | Toshiba Corp | 記憶装置 |
TW200842578A (en) * | 2006-12-26 | 2008-11-01 | Sandisk Corp | Configuration of host LBA interface with flash memory |
Also Published As
Publication number | Publication date |
---|---|
TW201101304A (en) | 2011-01-01 |
US20100325344A1 (en) | 2010-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI467581B (zh) | 複合式儲存裝置及其複合式儲存媒體控制器與定址方法 | |
US8621139B2 (en) | Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same | |
TWI386802B (zh) | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 | |
US9009399B2 (en) | Flash memory storage system and controller and data writing method thereof | |
TWI526830B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI405209B (zh) | 資料管理方法及使用此方法的快閃儲存系統與控制器 | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
TW201443776A (zh) | 韌體碼載入方法、記憶體控制器與記憶體儲存裝置 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
TW201712549A (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN101957797B (zh) | 闪速存储器逻辑区块管理方法及其控制电路与储存系统 | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
TWI407441B (zh) | 快閃記憶體寫入方法及使用此方法的儲存系統與控制器 | |
TWI451439B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
TWI417884B (zh) | 用於快閃記憶體的資料存取方法、儲存系統與控制器 | |
CN101667157A (zh) | 闪存数据传输方法、闪存储存系统及控制器 | |
CN101944384B (zh) | 用于闪速存储器的数据写入方法及其控制电路与储存系统 | |
TWI410795B (zh) | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 | |
CN102866861B (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
TWI404071B (zh) | 能識別快閃記憶體中錯誤資料的控制電路及儲存系統與方法 | |
TWI448892B (zh) | 資料搬移方法、記憶體控制器與記憶體儲存裝置 | |
CN102402396B (zh) | 复合式储存装置及其复合式储存媒体控制器与编址方法 | |
CN102999437B (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
TWI414940B (zh) | 區塊管理與資料寫入方法、快閃記憶體儲存系統與控制器 |