TWI423024B - 用於快閃記憶體的資料儲存方法及其控制器與儲存系統 - Google Patents
用於快閃記憶體的資料儲存方法及其控制器與儲存系統 Download PDFInfo
- Publication number
- TWI423024B TWI423024B TW98139810A TW98139810A TWI423024B TW I423024 B TWI423024 B TW I423024B TW 98139810 A TW98139810 A TW 98139810A TW 98139810 A TW98139810 A TW 98139810A TW I423024 B TWI423024 B TW I423024B
- Authority
- TW
- Taiwan
- Prior art keywords
- physical
- flash memory
- data
- address
- addresses
- 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/7202—Allocation control and policies
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Description
本發明是有關於一種用於快閃記憶體的資料儲存方法,且特別是有關於一種能夠依據快閃記憶體的使用率來選擇不同實體位址來儲存資料的資料儲存方法及使用此方法的快閃記憶體控制器與快閃記憶體儲存系統。
由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,最適合使用於由電池供電的可攜式電子產品上。例如,固態硬碟就是一種以NAND快閃記憶體作為儲存媒體的儲存裝置,並且已廣泛配置於筆記型電腦中作為主要的儲存裝置。
在目前NAND型快閃記憶體技術中,NAND型快閃記憶體可根據每一記憶胞中可儲存的位元數區分為單層記憶胞(Single Level Cell,SLC)NAND型快閃記憶體與多層記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體。具體來說,在對SLC NAND型快閃記憶體的記憶胞進行程式化(program)時僅能執行單階的程式化,因此每一記憶胞僅能儲存一個位元。而MLC NAND型快閃記憶體之實體區塊的程式化可分為多階段。例如,以2層記憶胞為例,實體區塊的程式化可分為2階段。第一階段是下頁面(lower page)的寫入部分,其物理特性類似於單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體,在完成第一階段之後才會程式化上頁面(upper page),其中下頁面的寫入速度會快於上頁面。因此,每一實體區塊的頁面可區分為慢速頁面(即,上頁面)與快速頁面(即,下頁面)。
類似地,在8層記憶胞或16層記憶胞的案例中,記憶胞會包括更多個頁面並且會以更多階段來寫入。在此,將寫入速度最快的頁面稱為下頁面,其他寫入速度較慢的頁面統稱為上頁面。例如,上頁面包括具有不同寫入速度的多個頁面。此外,在其他實施例中,上頁面也可為寫入速度最慢的頁面,或者寫入速度最慢與部份寫入速度快於寫入速度最慢頁面的頁面。例如,在4層記憶胞中,下頁面為寫入速度最快與寫入速度次快的頁面,上頁面則為寫入速度最慢與寫入速度次慢的頁面。
相較於MLC NAND型快閃記憶體來說,SLC NAND型快閃記憶體的存取速度較快。但MLC NAND型快閃記憶體的儲存容量較大且成本較低。因此,如何增加MLC NAND型快閃記憶體的存取速度以提升快閃記憶體儲存裝置的效能是此領域技術人員所致力的目標。
本發明提供一種資料儲存方法,其能夠有效地提升快閃記憶體儲存裝置的效能。
本發明提供一種快閃記憶體控制器,其所執行的資料儲存方法能夠有效地提升快閃記憶體儲存裝置的效能。
本發明提供一種快閃記憶體儲存系統,其所執行的資料儲存方法能夠有效地提升快閃記憶體儲存裝置的效能。
本發明範例實施例提出一種資料儲存方法,用於在一快閃記憶體晶片中儲存資料,其中此快閃記憶體晶片具有多個實體位址,此些實體位址包括至少一快速實體位址與至少一慢速實體位址並且寫入資料至快速實體位址的速度快於寫入資料至慢速實體位址的速度。本資料儲存方法包括配置多個邏輯位址,其中每一該些邏輯位址映射該些實體位址的其中之一。本資料儲存方法也包括監控實體位址的使用率以及判斷使用率是否大於使用率門檻值。本資料儲存方法也包括當使用率不大於使用率門檻值時,使用一快速模式在快閃記憶體晶片中儲存資料,其中在快速模式中僅使用實體位址的快速實體位址來儲存資料。
在本發明之一實施例中,上述之資料儲存方法更包括:當使用率大於使用率門檻值時,使用正常模式在快閃記憶體晶片中儲存資料,其中在正常模式中使用實體位址的快速實體位址與慢速實體位址來儲存資料。
在本發明之一實施例中,上述之使用率為在上述實體位址之中儲存有有效資料的實體位址佔所有實體位址的一比例。
在本發明之一實施例中,上述之使用率門檻值為50%。
在本發明之一實施例中,上述之監控實體位址的使用率的步驟包括:建立一實體位址儲存狀態表,以記錄上述實體位址的狀態;當一主機系統寫入資料至一邏輯位址時在實體位址儲存狀態表中將此邏輯位址新映射的實體位址標記為有效資料並且將此邏輯位址原始映射的實體位址標記為無效資料或無資料;以及依據實體位址儲存狀態表計算上述實體位址的使用率。
在本發明之一實施例中,上述之監控實體位址的使用率的步驟更包括:辨識上述邏輯位址之中的至少一已刪除邏輯位址;以及在實體位址儲存狀態表中將已刪除邏輯位址所映射的實體位址標記為無效資料。
在本發明之一實施例中,上述之辨識上述邏輯位址之中的至少一已刪除邏輯位址的步驟包括:從主機系統中獲取至少一刪除記錄,其中此刪除記錄包括關於上述邏輯位址之中已刪除邏輯位址的資訊。
在本發明之一實施例中,上述之從主機系統中獲取至少一刪除記錄的步驟包括:從上述主機系統中接收至少一整理(trim)指令;以及識別此整理指令以獲取刪除記錄。
本發明範例實施例提出一種快閃記憶體控制器,用於在一快閃記憶體晶片中儲存資料,其中此快閃記憶體晶片具有多個實體位址,此些實體位址包括至少一快速實體位址與至少一慢速實體位址並且寫入資料至快速實體位址的速度快於寫入資料至慢速實體位址的速度。本快閃記憶體控制器包括微處理器單元、快閃記憶體介面單元、主機介面單元以及記憶體管理單元。快閃記憶體介面單元耦接至微處理器單元,用以耦接至快閃記憶體晶片。主機介面單元耦接至微處理器單元,用以耦接至一主機系統。記憶體管理單元耦接至微處理器單元,用以配置多個邏輯位址,其中每一邏輯位址映射此些實體位址的其中之一。在此,記憶體管理單元監控此些實體位址的一使用率,並且判斷此使用率是否大於一使用率門檻值。並且,當使用率不大於使用率門檻值時記憶體管理單元使用一快速模式在快閃記憶體晶片中儲存資料,其中在快速模式中記憶體管理單元僅使用此些實體位址的快速實體位址來儲存資料。
在本發明之一實施例中,當使用率大於使用率門檻值時,上述之記憶體管理單元使用正常模式在快閃記憶體晶片中儲存資料,其中在正常模式中該記憶體管理單元使用此些實體位址的快速實體位址與慢速實體位址來儲存資料。
在本發明之一實施例中,上述之記憶體管理單元建立一實體位址儲存狀態表以記錄上述實體位址的狀態。當上述主機系統寫入資料至邏輯位址時上述記憶體管理單元在實體位址儲存狀態表中將此邏輯位址新映射的實體位址標記為有效資料並且將此邏輯位址原始映射的實體位址標記為無效資料或無資料。並且,記憶體管理單元依據實體位址儲存狀態表計算上述實體位址的使用率。
在本發明之一實施例中,上述之記憶體管理單元辨識上述邏輯位址之中的至少一已刪除邏輯位址,並且在實體位址儲存狀態表中將此已刪除邏輯位址所映射的實體位址標記為無效資料。
在本發明之一實施例中,上述之記憶體管理單元經由主機介面單元從主機系統中獲取至少一刪除記錄,其中此刪除記錄包括關於上述邏輯位址之中已刪除邏輯位址的資訊。
在本發明之一實施例中,上述之主機介面單元從主機系統中接收至少一整理(trim)指令,並且上述記憶體管理單元識別此整理指令以獲取上述刪除記錄。
本發明範例實施例提出一種快閃記憶體儲存系統,其包括快閃記憶體晶片、連接器與快閃記憶體控制器。快閃記憶體晶片具有多個實體位址,此些實體位址包括至少一快速實體位址與至少一慢速實體位址並且寫入資料至快速實體位址的速度快於寫入資料至慢速實體位址的速度。連接器用以耦接至一主機系統。快閃記憶體控制器耦接至快閃記憶體晶片與連接器,用以配置多個邏輯位址,其中每一邏輯位址映射此些實體位址的其中之一。在此,快閃記憶體控制器監控此些實體位址的一使用率,並且判斷此使用率是否大於一使用率門檻值。並且,當此使用率不大於使用率門檻值時,快閃記憶體控制器使用一快速模式在快閃記憶體晶片中儲存資料,其中在此快速模式中快閃記憶體控制器僅使用此些實體位址的快速實體位址來儲存資料。
在本發明之一實施例中,當此使用率大於使用率門檻值時,上述之快閃記憶體控制器使用正常模式在快閃記憶體晶片中儲存資料,其中在此正常模式中快閃記憶體控制器使用此些實體位址的快速實體位址與慢速實體位址來儲存資料。
在本發明之一實施例中,上述之該快閃記憶體控制器建立一實體位址儲存狀態表以記錄該些實體位址的狀態。當主機系統寫入資料至邏輯位址時,快閃記憶體控制器在實體位址儲存狀態表中將此邏輯位址新映射的實體位址標記為有效資料並且將此邏輯位址原始映射的實體位址標記為無效資料或無資料。並且,快閃記憶體控制器依據實體位址儲存狀態表計算上述實體位址的使用率。
在本發明之一實施例中,上述之快閃記憶體控制器辨識上述邏輯位址之中的至少一已刪除邏輯位址,並且在實體位址儲存狀態表中將此已刪除邏輯位址所映射的實體位址標記為無效資料。
在本發明之一實施例中,上述之快閃記憶體控制器經由連接器從主機系統中獲取至少一刪除記錄,其中此刪除記錄包括關於上述邏輯位址之中已刪除邏輯位址的資訊。
在本發明之一實施例中,上述之連接器從主機系統中接收至少一整理(trim)指令,並且上述快閃記憶體控制器識別此整理指令以獲取刪除記錄。
基於上述,本發明範例實施例能夠依據實體位址的使用率來判斷僅使用快速實體位址或者使用快速實體位址與慢速實體位址來儲存資料,由此提升快閃記憶體儲存裝置的效能。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,快閃記憶體儲存裝置(亦稱,快閃記憶體儲存系統)包括快閃記憶體晶片與控制器(亦稱,控制電路)。通常快閃記憶體儲存裝置會與主機系統一起使用,以使主機系統可將資料寫入至快閃記憶體儲存裝置或從快閃記憶體儲存裝置中讀取資料。另外,亦有快閃記憶體儲存裝置是包括嵌入式快閃記憶體與可執行於主機系統上以實質地作為此嵌入式快閃記憶體之控制器的軟體。
圖1A是根據本發明範例實施例所繪示的使用快閃記憶體儲存裝置的主機系統。
請參照圖1A,主機系統1000包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108以及資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B所示的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,快閃記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的處理主機系統1000可將資料寫入至快閃記憶體儲存裝置100或從快閃記憶體儲存裝置100中讀取資料。例如,快閃記憶體儲存裝置100可以是如圖1B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216。
一般而言,主機系統1000為可儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中,主機系統1000亦可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機1310時,快閃記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、或CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示的快閃記憶體儲存裝置100的概要方塊圖。
請參照圖2,快閃記憶體儲存裝置100包括連接器102、快閃記憶體控制器104與快閃記憶體晶片106。
連接器102是耦接至快閃記憶體控制器104並且用以耦接至主機系統1000。在本範例實施例中,連接器102為序列先進附件(Serial Advanced Technology Attachment,SATA)連接器。然而,必須瞭解的是本發明不限於此,連接器102亦可以是通用序列匯流排(Universal Serial Bus,USB)連接器、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394連接器、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)連接器、安全數位(secure digital,SD)介面連接器、記憶棒(Memory Stick,MS)介面連接器、多媒體儲存卡(Multi Media Card,MMC)介面連接器、小型快閃(Compact Flash,CF)介面連接器、整合式驅動電子介面(Integrated Device Electronics,IDE)連接器或其他適合的連接器。
快閃記憶體控制器104會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在快閃記憶體晶片106中進行資料的寫入、讀取與抹除等運作。快閃記憶體控制器104包括微處理器單元202、記憶體管理單元204、主機介面單元206、快閃記憶體介面單元208。
微處理器單元202為快閃記憶體控制器104的主控單元,用以與記憶體管理單元204、主機介面單元206與快閃記憶體介面單元208等協同合作以進行快閃記憶體儲存裝置100的各種運作。
記憶體管理單元204是耦接至微處理器單元202,用以執行根據本範例實施例的資料儲存機制與區塊管理機制,記憶體管理單元204的運作將於以下配合圖式作詳細說明。
在本範例實施例中,記憶體管理單元204是以一韌體型式實作在快閃記憶體控制器104中。例如,將包括多個控制指令的記憶體管理單元204燒錄至一程式記憶體(例如,唯讀記憶體(Read Only Memory,ROM))中並且將此程式記憶體嵌入在快閃記憶體控制器104中,當快閃記憶體儲存裝置100運作時,記憶體管理單元204的多個控制指令會由微處理器單元202來執行以完成根據本發明實施例的資料寫入機制與區塊管理機制。
在本發明另一範例實施例中,記憶體管理單元204的控制指令亦可以程式碼型式儲存於快閃記憶體晶片106的特定區域(例如,快閃記憶體晶片中專用於存放系統資料的系統區)中。同樣的,當快閃記憶體儲存裝置100運作時,記憶體管理單元204的多個控制指令會由微處理器單元202來執行。此外,在本發明另一範例實施例中,記憶體管理單元204亦可以一硬體型式實作在快閃記憶體控制器104中。
主機介面單元206是耦接至微處理器單元202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面單元206來傳送至微處理器單元202。在本範例實施例中,主機介面單元206是對應連接器204為SATA介面。然而,必須瞭解的是本發明不限於此,主機介面單元210亦可以是PATA介面、USB介面、IEEE 1394介面、PCI Express介面、SD介面、MS介面、MMC介面、CF介面、IDE介面或其他適合的資料傳輸介面。
快閃記憶體介面單元208是耦接至微處理器單元202並且用以存取快閃記憶體晶片106。也就是說,欲寫入至快閃記憶體晶片106的資料會經由快閃記憶體介面單元208轉換為快閃記憶體晶片106所能接受的格式。
在本發明另一範例實施例中,快閃記憶體控制器亦可更包括其他功能模組。圖3是根據本發明另一範例實施例所繪示的快閃記憶體控制器的概要方塊圖。
請參照圖3,除了微處理器單元202、記憶體管理單元204、主機介面單元206與快閃記憶體介面單元208之外,快閃記憶體控制器104'更包括緩衝記憶體252、電源管理單元254與錯誤校正單元256。
緩衝記憶體252是耦接至微處理器單元202並且用以暫存來自於主機系統1000的資料與指令或來自於快閃記憶體晶片106的資料。
電源管理單元254是耦接至微處理器單元202並且用以控制快閃記憶體儲存裝置100的電源。
錯誤校正單元256是耦接至微處理器單元202並且用以執行一錯誤校正程序以確保資料的正確性。具體來說,當記憶體管理單元204從主機系統1000中接收到主機寫入指令時,錯誤校正單元256會為對應此主機寫入指令的寫入資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理單元204會將此寫入資料與對應的錯誤校正碼寫入至快閃記憶體晶片106中。之後,當記憶體管理單元204從快閃記憶體晶片106中讀取資料時會同時讀取此資料對應的錯誤校正碼,並且錯誤校正單元256會依據此錯誤校正碼對所讀取的資料執行錯誤校正程序。
請再參照圖2,快閃記憶體晶片106是耦接至快閃記憶體控制器104並且用以儲存資料。快閃記憶體晶片106具有實體單元122-(0)~122-(N)。在本範例實施例中實體單元是由多個實體區塊所組成。然而,本發明不限於此,實體單元亦可僅由1個實體區塊所組成。實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。每一實體區塊具有數個實體位址。在本範例實施例中,實體位址為實體頁面,但本發明不限於此。實體頁面為程式化的最小單元。換言之,實體頁面為寫入資料或讀取資料的最小單元。每一實體頁面通常包括使用者資料區與冗餘區。使用者資料區用以儲存使用者的資料,而冗餘區用以儲存系統的資料(例如,錯誤檢查與校正碼)。在本範例實施例中,快閃記憶體晶片106為多層記憶胞快閃記憶體晶片。
圖4是根據本發明範例實施例所繪示之快閃記憶體晶片的方塊圖。必須瞭解的是,在此描述快閃記憶體之實體區塊的運作時,以“提取”、“交換”、“分組”、“輪替”等詞來操作實體區塊是邏輯上的概念。也就是說,快閃記憶體之實體區塊的實際位置並未更動,而是邏輯上對快閃記憶體的實體區塊進行操作。
請參照圖4,記憶體管理單元204會將實體單元122-(0)~122-(N)邏輯地分組為系統區(system area)302、儲存區(storage area)304與取代區(replacement area)306。
邏輯上屬於系統區302的實體單元122-(0)~122-(S)是用以記錄系統資料,此系統資料包括關於快閃記憶體晶片的製造商與型號、每一快閃記憶體晶片的區域數、每一區域的實體單元的數目、每一實體單元的實體頁面數等。
邏輯上屬於儲存區304的實體單元122-(S+1)~~122-(A)是用以主機系統1000所寫入的資料。也就是說,快閃記憶體儲存裝置100會使用分組為儲存區304的實體單元來實際地儲存主機系統1000所寫入的資料。更詳細來說,儲存區304的實體單元122-(S+1)~122-(A)更分組為資料區304a與備用區304b,其中資料區304a的實體單元122-(S+1)~122-(D)是已被使用來儲存資料的實體單元,而備用區304b的實體單元122-(D+1)~122-(A)是未被使用來儲存資料的實體單元。具體來說,當記憶體管理單元204從備用區304b提取實體單元來寫入資料時,所提取的實體單元會被關聯為資料區304a,並且當關聯為資料區304a的實體單元被執行抹除運作後已抹除的實體單元會被關聯為備用區304b。
邏輯上屬於取代區306中的實體單元122-(A+1)~122-(N)是替代實體單元。例如,快閃記憶體晶片106於出廠時會預留4%的實體區塊作為更換使用。也就是說,當系統區302與儲存區304中之實體單元的實體區塊損毀時,預留於取代區306中的實體單元的實體區塊可用以取代損壞的實體區塊(即,壞實體區塊(bad block))。因此,倘若取代區306中仍存有可用之實體區塊且發生實體區塊損毀時,記憶體管理模組204會從取代區306中提取可用的實體區塊來更換損毀的實體區塊。倘若取代區306中無可用之實體區塊且發生實體區塊損毀時,則快閃記憶體儲存裝置100將會被宣告為寫入保護(write protect),而無法再寫入資料。
必須瞭解的是,在快閃記憶體儲存裝置100的運作中,實體單元122-(0)~122-(N)被分組為系統區302、資料區304a、備用區304b與取代區306的映射關係會動態地變動。也就是說,當記憶體管理單元204將資料寫入至原本屬於備用區304b的實體單元(例如,實體單元122-(D+2))後,此實體單元會被關聯為資料區304a。或者,當資料區304a(或備用區304b)中的實體單元損壞時而被取代區306的實體區塊取代時,則原本取代區306的實體單元會被關聯為資料區304a(或備用區304b)。
圖5是根據本發明範例實施例所繪示的邏輯位址與實體位址的映射示意圖。
請參照圖5,由於快閃記憶體儲存裝置100是以輪替地使用儲存區304的實體單元來儲存主機系統1000欲儲存之資料,因此記憶體管理單元204會提供邏輯存取位址LBA(0)~邏輯存取位址LBA(H)給主機系統1000以進行資料存取。
在此,邏輯存取位址可以是扇區(sector)、叢集(cluster)等。特別是,在本範例實施例中,記憶體管理單元204會將邏輯存取位址LBA(0)~邏輯存取位址LBA(H)分組為邏輯位址LA(0)~邏輯位址LA(L),並且將邏輯位址LA(0)~邏輯位址LA(L)映射至儲存區304的實體區塊的實體位址PA(0)~實體位址PA(K),其中每一邏輯位址是映射其中一個實體位址。例如,記憶體管理單元204會使用一運算規則來設定每一邏輯存取位址所映射的邏輯位址。
在本範例實施例中,每一邏輯位址是由4個邏輯存取位址所組成,例如,邏輯存取位址LBA(0)~LBA(3)是屬於邏輯位址LA(0);邏輯存取位址LBA(4)~LBA(7)是屬於邏輯位址LA(1);邏輯存取位址LBA(8)~LBA(11)是屬於邏輯位址LA(2)...等。在本範例實施例中,邏輯位址為邏輯頁面,也就是說,一個邏輯位址包含4個邏輯存取位址。但本發明不限於此,在本發明另一範例實施例中,邏輯位址亦可是由8個邏輯存取位址所組成或是由16個邏輯存取位址所組成。
此外,記憶體管理單元204會維護邏輯位址轉實體位址映射表與實體位址儲存狀態表來記錄邏輯位址與實體位址之間的映射關係。也就是說,當主機系統1000欲在邏輯存取位址中存取資料時,記憶體管理單元204會確認此邏輯存取位址所屬的邏輯位址,並且在此邏輯位址所映射的實體位址中來存取資料。
具體來說,當記憶體管理單元204開始使用實體單元122-(D+1)來儲存主機系統1000欲寫入的資料時,不管主機系統1000是寫入那個邏輯位址,記憶體管理單元會將資料依序地寫入至實體單元122-(D+1)的實體位址;而當記憶體管理單元204開始使用實體單元122-(D+2)來儲存主機系統1000欲寫入的資料時,不管主機系統1000是寫入那個邏輯位址,記憶體管理單元會將資料依序地寫入至實體單元122-(D+2)的實體位址中。也就是說,當寫入主機系統1000欲寫入的資料時,記憶體管理單元204會依序地使用一個實體單元內的實體位址來寫入資料,並且當此實體單元內的實體位址被使用完後才會再選擇另一個無儲存資料的實體單元(即,從備用區304b中提取一個實體單元),並且在新選擇之實體單元的實體位址中繼續依序地寫入資料。在本範例實施例中,在記憶體管理單元204將資料寫入至實體位址後,記憶體管理單元204會更新邏輯位址轉實體位址映射表與實體位址儲存狀態表以正確地記錄邏輯位址與實體位址的映射關係。
值得一提的是,在本發明一範例實施例中,在記憶體管理單元204中更包括一可寫入實體位址指標(Available Physical Address Pointer),用以指示目前可寫入實體位址。基此,當快閃記憶體控制器104執行來自於主機系統1000的主機寫入指令來寫入資料時,記憶體管理單元204可依據可寫入實體位址指標的標記依序地將資料寫入至快閃記憶體晶片106的實體位址中。
此外,在本發明範例實施例中,記憶體管理單元204會在實體位址儲存狀態表來記錄每一實體位址的儲存狀態。例如,當記憶體管理單元204將主機系統1000欲寫入的資料寫入至實體位址並且更新邏輯位址轉實體位址映射表與實體位址儲存狀態表中的映射關係時,記憶體管理單元204會在實體位址儲存狀態表中將被寫入之邏輯位址新映射之實體位址的儲存狀態標記為“有效資料”,同時若被寫入之邏輯位址原始映射之實體位址的儲存狀態為“有效資料”時則會將被寫入之邏輯位址原始映射之實體位址的儲存狀態標記為“無效資料”。此外,在實體位址儲存狀態表中未儲存資料之實體位址的儲存狀態會被標記為“無資料”。在此,未儲存資料之實體位址是指未曾被用來儲存資料或者其所儲存之資料已被抹除之實體位址。以下將以數個範例來詳細說明記憶體管理單元204維護邏輯位址轉實體位址映射表與實體位址儲存狀態表的運作。
圖6與圖7是根據本發明範例實施例繪示邏輯位址轉實體位址映射表與實體位址儲存狀態表的範例。在本範例實施例中,邏輯位址轉實體位址映射表420具有索引欄位與實體位址欄位來記錄每一邏輯位址所映射的實體位址;並且實體位址儲存狀態表430具有索引欄位、邏輯位址欄位與儲存狀態欄位以記錄每一實體位址所映射的邏輯位址以及儲存狀態。
請參照圖6與圖7,在此範例中假設快閃記憶體儲存裝置100為全新且未曾被用來儲存資料。例如,在邏輯位址轉實體位址映射表420中邏輯位址LA(0)~邏輯位址LA(L)是分別地映射實體位址PA(0)~實體位址PA(L)。另外,在實體位址儲存狀態表430中,實體位址PA(0)~實體位址PA(L)是映射邏輯位址LA(0)~邏輯位址LA(L),實體位址PA(L+1)~實體位址PA(K)的映射關係被標示為空值(例如,“NULL”),並且實體位址PA(0)~實體位址PA(L)的儲存狀態是被標記為“無資料”。另外,此時可寫入實體指標是指向實體位址PA(L+1)。
圖8與圖9是根據本發明範例實施例繪示邏輯位址轉實體位址映射表與實體位址儲存狀態表的另一範例。
請參照圖8與圖9,倘若在圖6與圖7所示的狀態下主機系統1000欲寫入的資料是屬於邏輯位址LA(1)時,記憶體管理單元204會依據可寫入實體位址指標將主機系統1000欲寫入的資料寫入至實體位址PA(L+1)中,並且將可寫入實體位址指標改為指向實體位址PA(L+2)。此時,記憶體管理單元204會在邏輯位址轉實體位址映射表420中將邏輯位址LA(1)的映射更新為實體位址PA(L+1)。另外,記憶體管理單元204會在實體位址儲存狀態表430中將實體位址PA(L+1)的映射更新為邏輯位址LA(1),並且將實體位址PA(L+1)的儲存狀態更改為“有效資料”。在此,由於邏輯位址LA(1)原始所映射之實體位址PA(1)是被標記為“無資料”,因此實體位址PA(1)的儲存狀態不會被改變。
圖10與圖11是根據本發明範例實施例繪示邏輯位址轉實體位址映射表與實體位址儲存狀態表的另一範例。
請參照圖10與圖11,倘若在圖8與圖9的狀態下主機系統1000欲寫入的資料是屬於邏輯位址LA(129)時,記憶體管理單元204會依據可寫入實體位址指標將主機系統1000欲寫入的資料寫入至實體位址PA(L+2)中,並且將可寫入實體位址指標改為指向實體位址PA(L+3)。此時,記憶體管理單元204會在邏輯位址轉實體位址映射表420中將邏輯位址LA(129)的映射更新為實體位址PA(L+2)。另外,記憶體管理單元204會在實體位址儲存狀態表430中將實體頁位址PA(L+2)的映射更新為邏輯位址LA(129),並且將實體位址PA(L+2)的儲存狀態更改為“有效資料”。在此,由於邏輯位址LA(129)原始所映射之實體位址PA(129)是被標記為“無資料”,因此實體位址PA(129)的儲存狀態不會被改變。
圖12與圖13是根據本發明範例實施例繪示邏輯位址轉實體位址映射表與實體位址儲存狀態表的另一範例。
請參照圖12與圖13,倘若在圖10與圖11的狀態下主機系統1000欲寫入的資料是屬於邏輯頁位址LA(1)時,記憶體管理單元204會依據可寫入實體位址指標將主機系統1000欲寫入的資料寫入至實體位址PA(L+3)中,並且將可寫入實體位址指標改為指向實體位址PA(L+4)。此時,記憶體管理單元204會在邏輯位址轉實體位址映射表420中將邏輯位址LA(1)的映射更新為實體位址PA(L+3)。另外,記憶體管理單元204會在實體位址儲存狀態表430中將實體頁位址PA(L+3)的映射更新為邏輯頁位址LA(1),並且將實體位址PA(L+3)的儲存狀態更改為“有效資料”。此外,由於邏輯位址LA(1)原始所映射之實體位址PA(L+1)是被標記為“有效資料”,因此記憶體管理單元204會將實體位址PA(L+1)的儲存狀態更改為“無效資料”。特別是,當之後記憶體管理單元204對標記為無效資料的實體位址執行抹除運作時,此些實體位址的儲存狀態會被更新為“無資料”。
值得一提的是,在主機系統1000之作業系統的檔案管理機制中作業系統是透過檔案配置表來管理儲存於儲存裝置中的資料。特別是,在作業系統執行資料的刪除運作的例子中,作業系統僅會於檔案配置表中註記欲刪除之邏輯位址中的資料已為無效,即完成刪除資料的運作,而不會實際地將所儲存的資料進行刪除。之後,當作業系統欲在此些邏輯位址中寫入資料時,作業系統會將資料直接寫入。在本範例實施例中,記憶體管理單元204會從主機系統1000中接收刪除記錄,其中此刪除記錄中會記載哪些邏輯位址中的資料已被刪除的資訊。在此,對於主機系統1000的作業系統來說,所儲存之資料已被刪除之邏輯位址被稱為已刪除邏輯位址。特別是,記憶體管理單元204會依據此刪除記錄來在實體位址儲存狀態表430中將已刪除邏輯位址所映射之實體位址標記為“無效資料”。
例如,在本範例實施例中,主機系統1000之作業系統為微軟視窗作業系統7,並且微軟視窗作業系統7是透過整理(trim)指令來傳送刪除記錄,而主機介面單元206與記憶體管理單元204可支援與識別此整理指令。值得一提的是,本發明不限於此,任何可傳送刪除記錄的指令都可應用於本發明。
在本範例實施例中,快閃記憶體晶片106為2層記憶胞快閃記憶體晶片,並且實體單元122-(0)~122-(N)的實體位址PA(0)~PA(K)依據其存取速度可區快速實體位址(亦稱為快速頁面)與慢速實體位址(亦稱為慢速頁面)。例如,實體位址PA(0)、PA(2)、PA(4)...PA(K-1)為快速實體位址,而實體位址PA(1)、PA(3)、PA(5)...PA(K)為慢速實體位址,其中K為奇整數。然而,必須瞭解的是,在本發明另一範例實施例中,快閃記憶體晶片106亦可為3層記憶胞快閃記憶體晶片、4層記憶胞快閃記憶體晶片或其他多層記憶胞快閃記憶體晶片。特別是,記憶體管理單元204會監控實體位址的使用率,並且依據所監控的使用率來判斷使用快速模式或一般模式以在快閃記憶體晶片106中儲存資料,其中在快速模式中記憶體管理單元204僅使用快速實體位址來儲存主機系統1000欲寫入的資料,而在一般模式中記憶體管理單元204會使用快速實體位址與慢速實體位址來儲存主機系統1000欲寫入的資料。也就是說,在一般模式中快閃記憶體晶片106的快速實體位址與慢速實體位址都會被提供來儲存資料,而在快速模式中僅快速實體位址會被提供來儲存資料。因此,在快速模式下的寫入速度會高於在一般模式下的寫入速度。
具體來說,記憶體管理單元204會計算在實體位址儲存狀態表430中被標記為“有效資料”的實體位址佔所有實體位址的比例作為使用率,並且當此使用率大於使用率門檻值時記憶體管理單元204會使用一般模式來儲存資料,而當此使用率不大於使用率門檻值時記憶體管理單元204會使用快速模式來儲存資料。在此,使用率門檻值是被設定為50%,但本發明不限於此。
圖14是根據本發明範例實施例所繪示的資料儲存方法的流程圖。
請參照圖14,當快閃記憶體儲存裝置100從主機系統1000中接收到主機寫入指令與欲寫入的資料時,在步驟S1401中記憶體管理單元204會判斷目前實體位址的使用率是否大於使用率門檻值。
倘若目前實體位址的使用率大於使用率門檻值時,則在步驟S1403中記憶體管理單元204會使用一般模式將資料儲存至可寫入實體位址指標所指向的實體位址中。也就是說,無論可寫入實體位址指標目前所指向的實體位址為快速實體位址或慢速實體位址,記憶體管理單元204都會將資料寫入至可寫入實體位址指標所指向的實體位址中。
倘若目前實體位址的使用率不大於使用率門檻值時,則在步驟S1405中記憶體管理單元204會使用快速模式將資料儲存至可寫入實體位址指標所指向的實體位址。具體來說,在步驟S1405-1中記憶體管理單元204會判斷可寫入實體位址指標目前所指向的實體位址是否為快速實體位址,並且倘若可寫入實體位址指標所指向的實體位址為快速實體位址,則在步驟S1405-3中記憶體管理單元204會將資料寫入至可寫入實體位址指標所指向的實體位址中。倘若可寫入實體位址指標目前所指向的實體位址不為快速實體位址時,則在步驟S1405-5中記憶體管理單元204會將可寫入實體位址指標改為指向下一個實體位址並且步驟S1405-1會被執行。例如,在本發明一範例實施例中,記憶體管理單元204會依據一實體位址查詢表或一運算式來判斷每一實體位址是否屬於快速實體位址。
接著,在步驟S1407中記憶體管理單元204會更新邏輯位址轉實體位址映射表420與實體位址儲存狀態表430。在此,記憶體管理單元204更新邏輯位址轉實體位址映射表420與實體位址儲存狀態表430的方法已配合圖6~圖13描述如上,在此不重複描述。
圖15是根據本發明範例實施例所繪示的資料儲存方法的另一流程圖,其中繪示當快閃記憶體儲存裝置100從主機系統1000中接收到刪除記錄時記憶體管理單元204更新實體位址儲存狀態表430的步驟。
請參照圖15,在步驟S1501中記憶體管理單元204會識別刪除記錄中已刪除邏輯位址所映射之實體位址。之後,在步驟S1503中在實體位址儲存狀態表430中將已刪除邏輯位址所映射之實體位址的儲存狀態標記為“無效資料”。
綜上所述,本發明範例實施例的資料儲存方法能夠依據快閃記憶體之實體位址的使用率來使用快速模式或一般模式來儲存資料。特別是,在快速模式中,資料寫入速度可有效地被提升。此外,在本範例實施例的資料儲存方法中使用實體位址儲存狀態表來監控每一實體位址所儲存之資料的有效性,由此減少無效資料的搬移而提升快閃記憶體儲存裝置的效能。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1212...隨身碟
1214...記憶卡
1216...固態硬碟
1310...數位相機
1312...SD卡
1314...MMC卡
1316...記憶棒
1318...CF卡
1320...嵌入式儲存裝置
100...快閃記憶體儲存裝置
102...連接器
104...快閃記憶體控制器
106...快閃記憶體晶片
122-(0)~122(N)...實體單元
202...微處理器單元
204...記憶體管理單元
206...主機介面單元
208...快閃記憶體介面單元
252...緩衝記憶體
254...電源管理單元
256...錯誤校正單元
302...系統區
304...儲存區
304a...資料區
304b...備用區
306...取代區
LBA(0)~LBA(H)...邏輯存取位址
LA(0)~LA(L)...邏輯位址
PA(0)~PA(K)...實體位址
420...邏輯位址轉實體位址映射表
430...實體位址儲存狀態表
S1401、S1403、S1405、S1405-1、S1405-3、S1405-5、S1407、S1501、S1503...資料儲存步驟
圖1A是根據本發明第一範例實施例繪示使用快閃記憶體儲存裝置的主機系統。
圖1B是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與快閃記憶體儲存裝置的示意圖。
圖1C是根據本發明另一範例實施例所繪示的主機系統與快閃記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的快閃記憶體儲存裝置100的概要方塊圖。
圖3是根據本發明另一範例實施例所繪示的快閃記憶體控制器的概要方塊圖。
圖4是根據本發明範例實施例所繪示之快閃記憶體晶片的方塊圖。
圖5是根據本發明範例實施例所繪示的邏輯位址與實體位址的映射示意圖。
圖6與圖7是根據本發明範例實施例繪示邏輯位址轉實體位址映射表與實體位址儲存狀態表的範例。
圖8與圖9是根據本發明範例實施例繪示邏輯位址轉實體位址映射表與實體位址儲存狀態表的另一範例。
圖10與圖11是根據本發明範例實施例繪示邏輯位址轉實體位址映射表與實體位址儲存狀態表的另一範例。
圖12與圖13是根據本發明範例實施例繪示邏輯位址轉實體位址映射表與實體位址儲存狀態表的另一範例。
圖14是根據本發明範例實施例所繪示的資料儲存方法的流程圖。
圖15是根據本發明範例實施例所繪示的資料儲存方法的另一流程圖。
S1401、S1403、S1405、S1405-1、S1405-3、S1405-5、S1407...資料儲存步驟
Claims (24)
- 一種資料儲存方法,用於在一快閃記憶體晶片中儲存資料,其中該快閃記憶體晶片具有多個實體區塊且每一該些實體區塊具有多個實體位址,該些實體位址包括至少一快速實體位址與至少一慢速實體位址並且寫入資料至該至少一快速實體位址的速度快於寫入資料至該至少一慢速實體位址的速度,該資料儲存方法包括:配置多個邏輯位址,其中每一該些邏輯位址映射該些實體位址的其中之一;監控所有該些實體區塊的該些實體位址的一使用率;判斷所有該些實體區塊的該些實體位址的該使用率是否大於一使用率門檻值;以及當該使用率不大於該使用率門檻值時,使用一快速模式在該快閃記憶體晶片中儲存資料,其中在該快速模式中僅使用該些實體位址的快速實體位址來儲存資料。
- 如申請專利範圍第1項所述之資料儲存方法,更包括:當該使用率大於該使用率門檻值時,使用一正常模式在該快閃記憶體晶片中儲存資料,其中在該正常模式中使用該些實體位址的快速實體位址與慢速實體位址來儲存資料。
- 如申請專利範圍第1項所述之資料儲存方法,其中該使用率為在該些實體位址之中儲存有有效資料的實體位址佔所有該些實體位址的一比例。
- 如申請專利範圍第3項所述之資料儲存方法,其中該使用率門檻值為50%。
- 如申請專利範圍第1項所述之資料儲存方法,其中監控該些實體位址的使用率的步驟包括:建立一實體位址儲存狀態表,以記錄該些實體位址的狀態;當一主機系統寫入資料至該些邏輯位址時,在該實體位址儲存狀態表中將該些邏輯位址新映射的實體位址標記為有效資料並且將該些邏輯位址原始映射的實體位址標記為無效資料或無資料;以及依據該實體位址儲存狀態表計算該些實體位址的使用率。
- 如申請專利範圍第5項所述之資料儲存方法,其中監控該些實體位址的使用率的步驟更包括:辨識該些邏輯位址之中的至少一已刪除邏輯位址;以及在該實體位址儲存狀態表中將該至少一已刪除邏輯位址所映射的實體位址標記為無效資料。
- 如申請專利範圍第6項所述之資料儲存方法,其中辨識該些邏輯位址之中的該至少一已刪除邏輯位址的步驟包括:從該主機系統中獲取至少一刪除記錄,其中該至少一刪除記錄包括關於該些邏輯位址之中該至少一已刪除邏輯位址的資訊。
- 如申請專利範圍第7項所述之資料儲存方法,其中從該主機系統中獲取該至少一刪除記錄的步驟包括:從該主機系統中接收至少一整理(trim)指令;以及識別該至少一整理指令以獲取該至少一刪除記錄。
- 一種快閃記憶體控制器,用於在一快閃記憶體晶片中儲存資料,其中該快閃記憶體晶片具有多個實體區塊且每一該些實體區塊具有多個實體位址,該些實體位址包括至少一快速實體位址與至少一慢速實體位址並且寫入資料至該至少一快速實體位址的速度快於寫入資料至該至少一慢速實體位址的速度,該快閃記憶體控制器包括:一微處理器單元;一快閃記憶體介面單元,耦接至該微處理器單元,用以耦接至該快閃記憶體晶片;一主機介面單元,耦接至該微處理器單元,用以耦接至一主機系統;以及一記憶體管理單元,耦接至該微處理器單元,用以配置多個邏輯位址,其中每一該些邏輯位址映射該些實體位址的其中之一,其中該記憶體管理單元監控所有該些實體區塊的該些實體位址的一使用率,並且判斷所有該些實體區塊的該些實體位址的該使用率是否大於一使用率門檻值,其中當該使用率不大於該使用率門檻值時,該記憶體管理單元使用一快速模式在該快閃記憶體晶片中儲存資料,其中在該快速模式中該記憶體管理單元僅使用該些實 體位址的快速實體位址來儲存資料。
- 如申請專利範圍第9項所述之快閃記憶體控制器,其中當該使用率大於該使用率門檻值時,該記憶體管理單元使用一正常模式在該快閃記憶體晶片中儲存資料,其中在該正常模式中該記憶體管理單元使用該些實體位址的快速實體位址與慢速實體位址來儲存資料。
- 如申請專利範圍第9項所述之快閃記憶體控制器,其中該使用率為在該些實體位址之中儲存有有效資料的實體位址佔所有該些實體位址的一比例。
- 如申請專利範圍第11項所述之快閃記憶體控制器,其中該使用率門檻值為50%。
- 如申請專利範圍第9項所述之快閃記憶體控制器,其中該記憶體管理單元建立一實體位址儲存狀態表以記錄該些實體位址的狀態,其中當該主機系統寫入資料至該些邏輯位址時,該記憶體管理單元在該實體位址儲存狀態表中將該些邏輯位址新映射的實體位址標記為有效資料並且將該些邏輯位址原始映射的實體位址標記為無效資料或無資料,其中該記憶體管理單元依據該實體位址儲存狀態表計算該些實體位址的使用率。
- 如申請專利範圍第13項所述之快閃記憶體控制器,其中該記憶體管理單元辨識該些邏輯位址之中的至少一已刪除邏輯位址,並且在該實體位址儲存狀態表中將該 至少一已刪除邏輯位址所映射的實體位址標記為無效資料。
- 如申請專利範圍第14項所述之快閃記憶體控制器,其中該記憶體管理單元經由該主機介面單元從該主機系統中獲取至少一刪除記錄,其中該至少一刪除記錄包括關於該些邏輯位址之中該至少一已刪除邏輯位址的資訊。
- 如申請專利範圍第15項所述之快閃記憶體控制器,其中該主機介面單元從該主機系統中接收至少一整理(trim)指令,並且該記憶體管理單元識別該至少一整理指令以獲取該至少一刪除記錄。
- 一種快閃記憶體儲存系統,包括:一快閃記憶體晶片,具有多個實體區塊且每一該些實體區塊具有多個實體位址,該些實體位址包括至少一快速實體位址與至少一慢速實體位址並且寫入資料至該至少一快速實體位址的速度快於寫入資料至該至少一慢速實體位址的速度;一連接器,用以耦接至一主機系統;以及一快閃記憶體控制器,耦接至該快閃記憶體晶片與該連接器,用以配置多個邏輯位址,其中每一該些邏輯位址映射該些實體位址的其中之一,其中該快閃記憶體控制器監控所有該些實體區塊的該些實體位址的一使用率,並且判斷所有該些實體區塊的該些實體位址的該使用率是否大於一使用率門檻值,其中當該使用率不大於該使用率門檻值時,該快閃記 憶體控制器使用一快速模式在該快閃記憶體晶片中儲存資料,其中在該快速模式中該快閃記憶體控制器僅使用該些實體位址的快速實體位址來儲存資料。
- 如申請專利範圍第17項所述之快閃記憶體儲存系統,其中當該使用率大於該使用率門檻值時,該快閃記憶體控制器使用一正常模式在該快閃記憶體晶片中儲存資料,其中在該正常模式中該快閃記憶體控制器使用該些實體位址的快速實體位址與慢速實體位址來儲存資料。
- 如申請專利範圍第17項所述之快閃記憶體儲存系統,其中該使用率為在該些實體位址之中儲存有有效資料的實體位址佔所有該些實體位址的一比例。
- 如申請專利範圍第19項所述之快閃記憶體儲存系統,其中該使用率門檻值為50%。
- 如申請專利範圍第17項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器建立一實體位址儲存狀態表以記錄該些實體位址的狀態,其中當該主機系統寫入資料至該些邏輯位址時,該快閃記憶體控制器在該實體位址儲存狀態表中將該些邏輯位址新映射的實體位址標記為有效資料並且將該些邏輯位址原始映射的實體位址標記為無效資料或無資料,其中該快閃記憶體控制器依據該實體位址儲存狀態表計算該些實體位址的使用率。
- 如申請專利範圍第21項所述之快閃記憶體儲存 系統,其中該快閃記憶體控制器辨識該些邏輯位址之中的至少一已刪除邏輯位址,並且在該實體位址儲存狀態表中將該至少一已刪除邏輯位址所映射的實體位址標記為無效資料。
- 如申請專利範圍第22項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器經由該連接器從該主機系統中獲取至少一刪除記錄,其中該至少一刪除記錄包括關於該些邏輯位址之中該至少一已刪除邏輯位址的資訊。
- 如申請專利範圍第23項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器從該主機系統中接收至少一整理(trim)指令,並且該快閃記憶體控制器識別該至少一整理指令以獲取該至少一刪除記錄。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98139810A TWI423024B (zh) | 2009-11-23 | 2009-11-23 | 用於快閃記憶體的資料儲存方法及其控制器與儲存系統 |
US12/649,739 US8898370B2 (en) | 2009-11-23 | 2009-12-30 | Data storage method for flash memory, and flash memory controller and flash memory storage system using the same |
US13/587,923 US8943264B2 (en) | 2009-11-23 | 2012-08-17 | Data storing method, and memory controller and memory storage apparatus using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98139810A TWI423024B (zh) | 2009-11-23 | 2009-11-23 | 用於快閃記憶體的資料儲存方法及其控制器與儲存系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201118569A TW201118569A (en) | 2011-06-01 |
TWI423024B true TWI423024B (zh) | 2014-01-11 |
Family
ID=44062933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98139810A TWI423024B (zh) | 2009-11-23 | 2009-11-23 | 用於快閃記憶體的資料儲存方法及其控制器與儲存系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8898370B2 (zh) |
TW (1) | TWI423024B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762654B1 (en) | 2008-07-02 | 2014-06-24 | Marvell International Ltd. | Selectively scheduling memory accesses in parallel based on access speeds of memory |
US8706951B2 (en) * | 2008-07-18 | 2014-04-22 | Marvell World Trade Ltd. | Selectively accessing faster or slower multi-level cell memory |
TWI427476B (zh) * | 2009-02-24 | 2014-02-21 | Silicon Motion Inc | 快閃記憶體的存取方法及快閃記憶體裝置 |
TWI464585B (zh) * | 2012-06-07 | 2014-12-11 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
US8943264B2 (en) | 2009-11-23 | 2015-01-27 | Phison Electronics Corp. | Data storing method, and memory controller and memory storage apparatus using the same |
TWI494948B (zh) * | 2011-01-31 | 2015-08-01 | Phison Electronics Corp | 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置 |
US9727570B2 (en) * | 2011-06-03 | 2017-08-08 | Apple Inc. | Mount-time unmapping of unused logical addresses in non-volatile memory systems |
TWI443512B (zh) * | 2011-07-13 | 2014-07-01 | Phison Electronics Corp | 區塊管理方法、記憶體控制器與記憶體儲存裝置 |
US8756458B2 (en) | 2011-12-12 | 2014-06-17 | Apple Inc. | Mount-time reconciliation of data availability |
JP5971547B2 (ja) * | 2012-02-15 | 2016-08-17 | 国立大学法人 東京大学 | メモリコントローラ,データ記憶装置およびメモリの制御方法 |
TWI584189B (zh) | 2012-03-20 | 2017-05-21 | 群聯電子股份有限公司 | 記憶體控制器、記憶體儲存裝置與資料寫入方法 |
CN103514096B (zh) * | 2012-06-18 | 2016-06-08 | 群联电子股份有限公司 | 数据储存方法、存储器控制器与存储器储存装置 |
TWI492051B (zh) * | 2012-09-05 | 2015-07-11 | Silicon Motion Inc | 資料儲存裝置與快閃記憶體控制方法 |
US9454474B2 (en) | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
TWI506430B (zh) * | 2013-03-20 | 2015-11-01 | Phison Electronics Corp | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 |
CN106201932B (zh) * | 2015-05-07 | 2019-03-05 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
TWI553477B (zh) * | 2015-06-12 | 2016-10-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
KR20200095103A (ko) | 2019-01-31 | 2020-08-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
KR20200117256A (ko) * | 2019-04-03 | 2020-10-14 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP7451809B2 (ja) | 2022-02-17 | 2024-03-18 | キオクシア株式会社 | 方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040111583A1 (en) * | 2002-11-29 | 2004-06-10 | Ramos Technology Co., Ltd. | Apparatus and method for controlling flash memories |
TW200926196A (en) * | 2007-12-07 | 2009-06-16 | Apacer Technology Inc | Method for flash memory storage device to store data |
TW200931412A (en) * | 2008-01-07 | 2009-07-16 | Phison Electronics Corp | Flash memory storage apparatus, flash memory controller and switching method thereof |
US7590795B2 (en) * | 2005-08-03 | 2009-09-15 | Sandisk Corporation | Flash memory systems utilizing direct data file storage |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706951B2 (en) * | 2008-07-18 | 2014-04-22 | Marvell World Trade Ltd. | Selectively accessing faster or slower multi-level cell memory |
TWI428747B (zh) * | 2008-12-12 | 2014-03-01 | Silicon Motion Inc | 非揮發性記憶體資料管理方法及使用該方法之非揮發性儲存裝置 |
US8468294B2 (en) * | 2009-12-18 | 2013-06-18 | Sandisk Technologies Inc. | Non-volatile memory with multi-gear control using on-chip folding of data |
-
2009
- 2009-11-23 TW TW98139810A patent/TWI423024B/zh active
- 2009-12-30 US US12/649,739 patent/US8898370B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040111583A1 (en) * | 2002-11-29 | 2004-06-10 | Ramos Technology Co., Ltd. | Apparatus and method for controlling flash memories |
US7590795B2 (en) * | 2005-08-03 | 2009-09-15 | Sandisk Corporation | Flash memory systems utilizing direct data file storage |
TW200926196A (en) * | 2007-12-07 | 2009-06-16 | Apacer Technology Inc | Method for flash memory storage device to store data |
TW200931412A (en) * | 2008-01-07 | 2009-07-16 | Phison Electronics Corp | Flash memory storage apparatus, flash memory controller and switching method thereof |
Also Published As
Publication number | Publication date |
---|---|
US20110125954A1 (en) | 2011-05-26 |
TW201118569A (en) | 2011-06-01 |
US8898370B2 (en) | 2014-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI423024B (zh) | 用於快閃記憶體的資料儲存方法及其控制器與儲存系統 | |
TWI426528B (zh) | 用於快閃記憶體的區塊管理方法、控制器與儲存系統 | |
TWI408551B (zh) | 快閃記憶體儲存系統及其控制器與資料處理方法 | |
TWI515735B (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
TWI421869B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
TWI584122B (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI435329B (zh) | 快閃記憶體管理方法、快閃記憶體控制器與儲存系統 | |
TWI476590B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
TWI501243B (zh) | 資料寫入方法、記憶體儲存裝置、記憶體控制電路單元 | |
US8423838B2 (en) | Block management method, memory controller, and memory storage apparatus | |
TWI495998B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI525625B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
TWI451439B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
TWI448892B (zh) | 資料搬移方法、記憶體控制器與記憶體儲存裝置 | |
TWI501244B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI414940B (zh) | 區塊管理與資料寫入方法、快閃記憶體儲存系統與控制器 | |
TW201413450A (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI464585B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |