TWI415128B - 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 - Google Patents
用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 Download PDFInfo
- Publication number
- TWI415128B TWI415128B TW098126116A TW98126116A TWI415128B TW I415128 B TWI415128 B TW I415128B TW 098126116 A TW098126116 A TW 098126116A TW 98126116 A TW98126116 A TW 98126116A TW I415128 B TWI415128 B TW I415128B
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- data
- memory module
- physical block
- physical
- 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
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
本發明是有關於一種用於快閃記憶體的資料寫入方法及使用此方法的快閃記憶體控制電路與快閃記憶體儲存系統。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,適合可攜式應用,最適合使用於這類可攜式由電池供電的產品上。固態硬碟就是一種以NAND快閃記憶體作為儲存媒體的儲存裝置。
一般來說,快閃記憶體儲存裝置中的快閃記憶體晶片具有多個實體區塊,且這些實體區塊會由快閃記憶體儲存裝置的快閃記憶體控制器邏輯地分組為系統區(system area)、資料區(data area)、備用區(spare area)與取代區(replacement area)。屬於系統區的實體區塊是用以儲存快閃記憶體儲存裝置的相關重要資訊,而屬於取代區的實體區塊是用以取代資料區或備用區中已損壞的實體區塊,因此在一般存取狀態下,主機系統是無法存取系統區與取代區中的實體區塊。至於屬於資料區的實體區塊是用以儲存寫入指令所寫入的有效資料,而屬於備用區的實體區塊是用以在執行寫入指令時替換資料區中的實體區塊。具體來
說,當快閃記憶體儲存裝置接受到主機系統的寫入指令而欲對資料區的實體區塊進行更新時,快閃記憶體儲存裝置會從備用區中提取一實體區塊,然後將在資料區中欲更新的實體區塊中的有效舊資料搬移至從備用區中提取的實體區塊中,並且將欲寫入的新資料寫入至從備用區中提取的實體區塊中,之後將已寫入新資料的實體區塊邏輯地關聯為資料區,並且將原本資料區的實體區塊進行抹除並邏輯地關聯為備用區。為了能夠讓主機系統能夠順利地存取以輪替方式儲存資料的實體區塊,快閃記憶體儲存裝置會提供邏輯區塊給主機系統。也就是說,快閃記憶體儲存裝置會透過在邏輯區塊-實體區塊對映表(logical block-physical block mapping table)中記錄與更新邏輯區塊與資料區的實體區塊之間的對映關係來反映實體區塊的輪替,所以主機系統僅需要針對所提供的邏輯區塊進行寫入而快閃記憶體儲存裝置會依據邏輯區塊-實體區塊對映表對所對映的實體區塊進行讀取或寫入資料。
然而,由於快閃記憶體製程上的進步而使得每一實體區塊的設計容量會越來越大的同時,上述搬移有效舊資料的時間會相對地增加,而使得快閃記憶體儲存裝置執行主機系統的寫入指令所需的時間會超過快閃記憶體儲存產品(例如,SD記憶卡)的規範。因此,如何縮短快閃記憶體儲存裝置執行寫入指令的時間,是此領域技術人員所致力的目標。
本發明提供一種資料寫入方法,其能夠有效地縮短執行寫入指令所需的時間。
本發明提供一種快閃記憶體控制電路,其能夠執行上述資料寫入方法以有效地縮短執行寫入指令的時間。
本發明提供一種快閃記憶體儲存系統,其能夠執行上述資料寫入方法以有效地縮短執行寫入指令的時間。
本發明一範例實施例提出一種資料寫入方法,用於在執行一主機系統的一寫入指令期間於一第一快閃記憶體模組或一第二快閃記憶體模組中搬移資料,其中第一快閃記憶體模組與第二快閃記憶體模組分別地具有多個實體區塊。本資料寫入方法包括提供一快閃記憶體控制器,以及由快閃記憶體控制器依據上述寫入指令將來自於主機系統的一第一資料傳送至第一快閃記憶體模組並且在第一快閃記憶體模組的實體區塊中寫入此第一資料,其中快閃記憶體控制器經由同一資料輸入/輸出匯流排耦接至第一快閃記憶體模組與第二快閃記憶體模組。本資料寫入方法還包括在第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器在第二快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料。
在本發明之一實施例中,上述之在第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器在第二快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料的步驟包括:在部分的第一資料被
寫入至第一快閃記憶體模組的期間,由快閃記憶體控制器從第二快閃記憶體模組的實體區塊的其中之一中讀取上述第二資料。
在本發明之一實施例中,上述之在第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器在第二快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料的步驟包括:在部分的第一資料被寫入至第一快閃記憶體模組的期間,由快閃記憶體控制器對第二快閃記憶體模組執行一回複製(copyback)指令以搬移上述第二資料。
在本發明之一實施例中,上述之在第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器在第二快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料的步驟更包括:在另一部分的第一資料被寫入至第一快閃記憶體模組的期間,由快閃記憶體控制器將所讀取的第二資料寫入至第二快閃記憶體模組的實體區塊的另一中。
在本發明之一實施例中,上述之第一快閃記憶體模組的實體區塊具有多個上頁面與多個下頁面,其中在第一快閃記憶體模組的實體區塊中寫入第一資料的步驟包括:僅在第一快閃記憶體模組的實體區塊的下頁面中寫入第一資料。
本發明一範例實施例提出一種快閃記憶體控制電路,用於在執行一主機系統的一寫入指令期間於一第一快
閃記憶體模組或一第二快閃記憶體模組中搬移資料,其中第一快閃記憶體模組與第二快閃記憶體模組分別地具有多個實體區塊。本快閃記憶體控制電路包括微處理器單元、快閃記憶體介面單元、主機介面單元與記憶體管理單元。快閃記憶體介面單元耦接至微處理器單元,並且經由同一資料輸入/輸出匯流排耦接第一快閃記憶體模組與第二快閃記憶體模組。主機介面單元耦接至微處理器單元,並且用以耦接主機系統。記憶體管理單元耦接至微處理器單元,並且用以依據上述寫入指令將來自於主機系統的第一資料傳送至第一快閃記憶體模組並且在第一快閃記憶體模組的實體區塊中寫入第一資料。此外,在第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,記憶體管理單元在第二快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料。
在本發明之一實施例中,在部分的第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,上述之記憶體管理單元從第二快閃記憶體模組的實體區塊的其中之一中讀取上述第二資料。
在本發明之一實施例中,在部分的第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,上述之記憶體管理單元對第二快閃記憶體模組執行一回複製(copyback)指令以搬移上述第二資料。
在本發明之一實施例中,在另一部分的第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,上述之記憶
體管理單元將所讀取的第二資料寫入至第二快閃記憶體模組的實體區塊的另一中。
在本發明之一實施例中,上述之第一快閃記憶體模組的實體區塊具有多個上頁面與多個下頁面,其中上述之記憶體管理單元僅在第一快閃記憶體模組的實體區塊的下頁面中寫入上述第一資料。
本發明一範例實施例提出一種快閃記憶體儲存系統,其包括連接器、快閃記憶體晶片與快閃記憶體控制器。連接器用以耦接至主機系統。快閃記憶體晶片具有一第一快閃記憶體模組與一第二快閃記憶體模組,其中第一快閃記憶體模組與第二快閃記憶體模組分別地具有多個實體區塊。快閃記憶體控制器耦接至連接器,並且經由同一資料輸入/輸出匯流排耦接至第一快閃記憶體模組與第二快閃記憶體模組,其中快閃記憶體控制器從主機系統中接收一寫入指令與第一資料。快閃記憶體控制器依據寫入指令將第一資料傳送至第一快閃記憶體模組並且在第一快閃記憶體模組的實體區塊中寫入上述第一資料,其中在上述第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,快閃記憶體控制器在第二快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料。
在本發明之一實施例中,在部分的第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,上述之快閃記憶體控制器從第二快閃記憶體模組的實體區塊的其中之一中讀取上述第二資料。
在本發明之一實施例中,在部分的第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,上述之快閃記憶體控制器對第二快閃記憶體模組執行一回複製(copyback)指令以搬移上述第二資料。
在本發明之一實施例中,在另一部分的第一資料被寫入至第一快閃記憶體模組的實體區塊的期間,上述之快閃記憶體控制器將所讀取的第二資料寫入至第二快閃記憶體模組的實體區塊的另一中。
在本發明之一實施例中,上述之第一快閃記憶體模組的實體區塊具有多個上頁面與多個下頁面,其中上述之快閃記憶體控制器僅在第一快閃記憶體模組的實體區塊的下頁面中寫入上述第一資料。
本發明一範例實施例提出一種資料寫入方法,用於在執行一主機系統的一寫入指令期間於多個快閃記憶體模組中搬移其中一個快閃記憶體模組的資料,其中每一快閃記憶體模組具有多個實體區塊。本資料寫入方法包括提供一快閃記憶體控制器,以及由快閃記憶體控制器依據上述寫入指令將來自於主機系統的第一資料傳送至其中一個快閃記憶體模組並且在此快閃記憶體模組的實體區塊中寫入第一資料。本資料寫入方法還包括在第一資料被寫入至其中一個快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器在另一快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料。
在本發明之一實施例中,在第一資料被寫入至上述其
中一個快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器在另一快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料的步驟包括:在部分的第一資料被寫入至上述其中一個快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器從另一快閃記憶體模組的實體區塊的其中之一中讀取上述第二資料。
在本發明之一實施例中,在第一資料被寫入至其中一個快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器在另一快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料的步驟更包括:在另一部分的第一資料被寫入至上述其中一個快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器將所讀取的第二資料寫入至另一快閃記憶體模組的實體區塊的另一中。
在本發明之一實施例中,上述其中一個快閃記憶體模組的實體區塊具有多個上頁面與多個下頁面,其中在上述其中一個快閃記憶體模組的實體區塊中寫入第一資料的步驟包括:僅在上述其中一個快閃記憶體模組的實體區塊的下頁面中寫入第一資料。
在本發明之一實施例中,在第一資料被寫入至上述其中一個快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器在另一快閃記憶體模組的實體區塊中搬移至少一實體區塊的至少一第二資料的步驟包括:在部分的第一資料被寫入至上述其中一個快閃記憶體模組的實體區塊的期間,由快閃記憶體控制器對上述另一快閃記憶體模組執行
一回複製(copyback)指令以搬移第二資料。
基於上述,根據本發明範例實施例的資料寫入方法可有效地縮短執行寫入指令所需的時間。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是根據本發明一範例實施例所繪示的快閃記憶體儲存系統的概要方塊圖。
請參照圖1,通常快閃記憶體儲存裝置100會與主機系統200一起使用,以使主機系統200可將資料儲存至快閃記憶體儲存裝置100中或從快閃記憶體儲存裝置100中讀取資料。在本範例實施例中,快閃記憶體儲存裝置100為SD記憶卡。但必須瞭解的是,在本發明另一範例實施例中快閃記憶體儲存裝置100亦可以是固態硬碟(Solid State Drive,SSD)或隨身碟。
快閃記憶體儲存裝置100包括快閃記憶體控制器(亦稱快閃記憶體控制電路)110、連接器120與快閃記憶體晶片130。
快閃記憶體控制器110會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統200的指令在快閃記憶體晶片130中進行資料的寫入、讀取與抹除等運作。快閃記憶體控制器110包括微處理器單元110a、記憶體管理單元110b、主機介面單元110c與快閃
記憶體介面單元110d。
微處理器單元110a為快閃記憶體控制器110的主控單元,用以與記憶體管理單元110b、主機介面單元110c與快閃記憶體介面單元110d等協同合作以進行快閃記憶體儲存裝置100的各種運作。
記憶體管理單元110b是耦接至微處理器單元110a,其中記憶體管理單元110b用以執行根據本範例實施例的區塊管理機制與資料寫入機制,記憶體管理單元110b的運作將於以下配合圖式作詳細說明。
在本範例實施例中,記憶體管理單元110b是以一韌體型式實作在快閃記憶體控制器110中。例如,將包括多個控制指令的記憶體管理模組110b燒錄至一程式記憶體(例如,唯讀記憶體(Read Only Memory,ROM))中並且將此程式記憶體嵌入在快閃記憶體控制器110中,當快閃記憶體儲存裝置100運作時,記憶體管理單元110b的多個控制指令會由微處理器單元110a來執行以完成根據本發明實施例的區塊管理機制與資料寫入機制。
在本發明另一範例實施例中,記憶體管理單元110b的控制指令亦可以程式碼型式儲存於快閃記憶體晶片130的特定區域(例如,快閃記憶體中專用於存放系統資料的系統區)中。同樣的,當快閃記憶體儲存裝置100運作時,記憶體管理單元110b的多個控制指令會由微處理器單元110a來執行。此外,在本發明另一範例實施例中,記憶體管理單元110b亦可以一硬體型式實作在快閃記憶體控制器110中。
主機介面單元110c是耦接至微處理器單元110a並且用以接收與識別主機系統200所傳送的指令。也就是說,主機系統200所傳送的指令與資料會透過主機介面單元110c來傳送至微處理器單元110a。在本範例實施例中,主機介面單元110c為安全數位(secure digital,SD)介面。然而,必須瞭解的是本發明不限於此,主機介面單元110c亦可以是通用序列匯流排(Universal Serial Bus,USB)介面、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394介面、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)、序列先進附件(Serial Advanced Technology Attachment,SATA)介面、記憶棒(Memory Sick,MS)介面、多媒體儲存卡(Multi Media Card,MMC)介面、小型快閃(Compact Flash,CF)介面、整合式驅動電子介面(Integrated Device Electronics,IDE)或其他適合的資料傳輸介面。
快閃記憶體介面單元110d是耦接至微處理器單元110a並且用以存取快閃記憶體晶片130。也就是說,欲寫入至快閃記憶體晶片130的資料會經由快閃記憶體介面單元110d轉換為快閃記憶體晶片130所能接受的格式。在本範例實施例中,快閃記憶體介面單元110d是透過單一資料輸入/輸出匯流排(Data input/output bus)150耦接至快閃記憶體晶片130。然而,必須瞭解的是,本發明不限於此,在本發明另一範例實施例中,快閃記憶體介面單元110d亦可透過多條資料輸入/輸出匯流排耦接至快閃記憶體晶
片130。
此外,雖未繪示於本範例實施例中,但快閃記憶體控制器110亦更包括緩衝記憶體、錯誤校正單元與電源管理單元等用於控制快閃記憶體的一般功能模組。
連接器120是耦接至快閃記憶體控制器110並且用以透過匯流排300連接主機系統200。在本範例實施例中,連接器120為SD連接器。然而,必須瞭解的是本發明不限於此,連接器120亦可以是USB連接器、IEEE 1394連接器、PCI Express連接器、SATA連接器、MS連接器、MMC連接器、CF連接器、IDE連接器或其他適合的連接器。
快閃記憶體晶片130是耦接至快閃記憶體控制器110並且用以儲存資料。快閃記憶體晶片130具有第一快閃記憶體模組130a與第二快閃記憶體模組130b。第一快閃記憶體模組130a與第二快閃記憶體模組130b是由多個實體區塊310-(0)~310-(N)所組成,其中實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。每一實體區塊通常會分割為數個頁面(page)。由於在本範例實施例中,頁面為程式化(program)的最小單元。換言之,頁面為寫入資料或讀取資料的最小單元。每一頁面通常包括使用者資料區與冗餘區。使用者資料區用以儲存使用者的資料,而冗餘區用以儲存系統的資料(例如,錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code)。在本範例實施例中,第一快閃記憶體模組130a
與第二快閃記憶體模組130b皆為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體。此外,必須瞭解的是,本發明不以為限於2個快閃記憶體模組,在本發明另一範例實施例中快閃記憶體晶片130可包括任何數量的快閃記憶體模組。
值得一提的是,本發明範例實施例的第一快閃記憶體模組130a與第二快閃記憶體模組130b為MLC NAND快閃記憶體,並且MLC NAND快閃記憶體之實體區塊的程式化可分為多階段。例如,以2層記憶胞為例,實體區塊的程式化可分為2階段。第一階段是下頁面(lower page)的寫入部分,其物理特性類似於單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體,在完成第一階段之後才會程式化上頁面(upper page),其中下頁面的寫入速度會快於上頁面。因此,每一實體區塊的頁面可區分為慢速頁面(即,上頁面)與快速頁面(即,下頁面)。類似地,在8層記憶胞或16層記憶胞的案例中,記憶胞會包括更多個頁面並且會以更多階段來寫入。在此,將寫入速度最快的頁面稱為下頁面,其他寫入速度較慢的頁面統稱為上頁面。例如,上頁面包括具有不同寫入速度的多個頁面。此外,在其他實施例中,上頁面也可為寫入速度最慢的頁面,或者寫入速度最慢與部份寫入速度快於寫入速度最慢頁面的頁面。例如,在4層記憶胞中,下頁面為寫入速度最快與寫入速度次快的頁面,上頁面則為寫入速度最慢與寫入速度次慢的頁面。
在本範例實施例中,針對第一快閃記憶體模組130a的實體區塊,記憶體管理模組110b僅會使用其下頁面來寫入資料。
必須瞭解的是,在本範例實施例中,儘管第一快閃記憶體模組130a與第二快閃記憶體模組130b皆為MLC NAND快閃記憶體。然而,本發明不限於此,在本發明另一範例實施例中,第一快閃記憶體模組130a與第二快閃記憶體模組130b可皆為單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體,或者第一快閃記憶體模組130a與第二快閃記憶體模組13Ob的其中之一為MLC NAND快閃記憶體而另一為SLC NAND快閃記憶體。
圖2、3A、3B與3C是根據本發明範例實施例所繪示之快閃記憶體模組之實體區塊的運作示意圖。第一快閃記憶體模組130a與第二快閃記憶體模組130b的運作是相同,在此以第一快閃記憶體模組130a來作說明。
必須瞭解的是,在此描述快閃記憶體實體區塊的運作時,以“提取”、“搬移”、“交換”、“替換,,、“輪替”、“分組”等詞來操作快閃記憶體模組的實體區塊是邏輯上的概念。也就是說,快閃記憶體之實體區塊的實際位置並未更動,而是邏輯上對快閃記憶體的實體區塊進行操作。值得一提的是,下述的運作是由快閃記憶體控制器110的記憶體管理單元110b所執行。
請參照圖2,記憶體管理單元110b會將第一快閃記憶體模組130a的實體區塊310-(0)~310-(N)與第二快閃記憶
體模組130b的實體區塊310-(0)~310-(N)分別的邏輯地分組為系統區302、資料區304、備用區306與取代區308。
邏輯上屬於系統區302的實體區塊310-(0)~310-(S)是用以記錄系統資料,此系統資料包括關於快閃記憶體晶片的製造商與型號、每一快閃記憶體模組的區域數、每一區域的實體區塊數、每一實體區塊的頁面數等。
邏輯上屬於資料區304的實體區塊310-(S+1)~310-(M)用以儲存使用者的資料,一般來說就是主機系統200所存取之邏輯區塊所對映的實體區塊。也就是說,資料區的實體區塊為儲存有效資料的單元。
邏輯上屬於備用區306的實體區塊310-(M+1)~310-(K)是用以輪替資料區中的實體區塊,因此在備用區中的實體區塊為空或可使用的單元,即無記錄資料或標記為已沒用的無效資料。也就是說,資料區與備用區的實體區塊會以輪替方式來儲存主機系統200對快閃記憶體儲存裝置100寫入的資料。
邏輯上屬於取代區308中的實體區塊310-(K+1)~310-(N)是替代實體區塊。例如,快閃記憶體晶片130於出廠時會預留4%的實體區塊作為更換使用。也就是說,當系統區302、資料區304與備用區306中的實體區塊損毀時,預留於取代區308中的實體區塊可用以取代損壞的實體區塊(即,壞的實體區塊(bad block))。因此,倘若取代區308中仍存有可用之實體區塊且發生實體區塊損毀時,記憶體管理模組110b會從取代區308中提取可用
的實體區塊來更換損毀的實體區塊。倘若取代區308中無可用之實體區塊且發生實體區塊損毀時,則快閃記憶體儲存裝置100將會被宣告為寫入保護(write protect),而無法再寫入資料。
由於快閃記憶體儲存裝置100是以上述輪替方式儲存主機系統200欲儲存之資料,因此快閃記憶體控制器110會提供邏輯區塊350-0~350-H給主機系統200以進行資料存取,並且維護邏輯位址-實體位址對映表來記錄邏輯區塊350-0~350-H與實體區塊310-(0)~310-(N)之間的對映關係。
請參照圖3A、3B與3C,例如,當主機系統欲寫入資料至邏輯區塊350-0時,快閃記憶體控制器110透過邏輯位址-實體位址對映表得知邏輯區塊350-0目前是對映邏輯上屬於資料區304的實體區塊310-(S+1)。因此,記憶體管理單元110b會對實體區塊310-(S+1)中的資料進行更新,期間,快閃記憶體控制器110會從備用區306中提取實體區塊310-(M+1)來輪替資料區304的實體區塊310-(S+1)。然而,當記憶體管理單元110b將新資料寫入至實體區塊310-(M+1)的同時,記憶體管理單元110b不會立刻將實體區塊310-(S+1)中的所有有效舊資料搬移至實體區塊310-(M+1)而抹除實體區塊310-(S+1)。具體來說,記憶體管理單元110b會將實體區塊310-(S+1)中欲寫入頁面之前的有效舊資料(即,頁P0與P1)複製至實體區塊310-(M+1)(如圖3A所示),並且將新資料(即,實體區塊
310-(M+1)的頁P2與P3)寫入至實體區塊310-(M+1)(如圖3B所示)。此時,快閃記憶體控制器110即完成寫入的動作,並回應主機系統200已完成寫入指令。因為,實體區塊310-(S+1)中的有效資料有可能在下個操作(例如,寫入指令)中變成無效,因此立刻將實體區塊310-(S+1)中的所有有效舊資料搬移至實體區塊310-(M+1)可能會造成無謂的搬移。在此案例中,實體區塊310-(S+1)與實體區塊310-(M+1)的內容整合起來才是所對映邏輯區塊350-0的完整內容。在此,此時實體區塊310-(S+1)與實體區塊310-(M+1)稱為母子區塊,而母子區塊的組數是依據快閃記憶體控制器110中緩衝記憶體(未繪示)的大小而定,而暫時地維持此種母子區塊暫態關係的動作稱為開啟(open)母子區塊。
之後,當需要將實體區塊310-(S+1)與實體區塊310-(M+1)的內容真正合併時,快閃記憶體控制器110才會將實體區塊310-(S+1)與實體區塊310-(M+1)整併為一個實體區塊,由此提升區塊的使用效率,此合併的動作稱為關閉(close)母子區塊。
例如,如圖3C所示,當主機系統200傳送一寫入指令至快閃記憶體控制器110以在另一邏輯區塊儲存資料,並且記憶體管理單元110b判斷開啟母子區塊的組數已達系統設計的上限而需合併實體區塊310-(S+1)與實體區塊310-(M+1)時,記憶體管理單元110b會將實體區塊310-(S+1)中剩餘的有效舊資料(即,頁P4~PN)複製至實體
區塊310-(M+1),然後將實體區塊310-(S+1)抹除並關聯為備用區306,同時,將實體區塊310-(M+1)關聯為資料區304,並且在邏輯位址-實體位址對映表中將邏輯區塊350-0的對映更改為實體區塊310-(M+1),由此完成關閉母子區塊的動作。
如上所述,當記憶體管理單元110b需關閉目前已開啟之母子區塊方能執行另一個寫入指令以在另一邏輯區塊中儲存資料時,執行此次寫入指令所需的時間會因需要搬移資料以關閉母子區塊而延遲,特別是當實體區塊之頁面的設計容量越大時,搬移資料的時間會更長,因此可能無法在規範的時間內完成寫入指令而造成逾時(time out)的問題。在本範例實施例中,當記憶體管理單元110b在對任一快閃記憶體模組執行寫入指令時,記憶體管理單元110b會利用交錯地方式來對需執行關閉母子區塊運作的另一快閃記憶體模組執行資料搬移的動作。也就是說,記憶體管理單元110b會利用對某一快閃記憶體模組執行寫入指令時,預先整理另一快閃記憶體模組中的資料。
具體來說,記憶體管理單元110b將資料寫入至快閃記憶體模組時可分為資料傳輸(transfer)以及資料程式化(program)兩個部分。具體來說,當欲在快閃記憶體模組的頁面中儲存資料時,快閃記憶體儲存裝置的控制電路會將資料傳輸至快閃記憶體模組內的緩衝區(未繪示)中,之後快閃記憶體模組會將緩衝區內的資料程式化至頁面中,其中在快閃記憶體模組將資料程式化至頁面的期間快閃記憶
體模組是處於一忙碌(busy)狀態,且當快閃記憶體模組處於忙碌狀態下控制電路無法對其下達任何指令或傳輸任何資料。
圖4是根據本發明範例實施例繪示之在快閃記憶體模組中執行寫入指令的範例時序圖,其係繪示在記憶體管理單元110b執行主機寫入指令時第一快閃記憶體模組130a的運作。在圖4所示的範例中,主機系統200的寫入指令指示記憶體管理單元110b將3筆資料寫入至第一快閃記憶體模組130a的某一實體區塊的3個頁面中。
請參照圖4,記憶體管理單元110b透過資料輸入/輸出匯流排150將第一筆寫入資料傳輸至第一快閃記憶體模組130a(即,傳輸T31)。之後,第一筆寫入資料會被寫入至第一快閃記憶體模組130a(即,寫入W31),此時第一快閃記憶體模組130a是處於一忙碌(busy)狀態。當完成第一筆寫入資料的寫入後,記憶體管理單元110b透過資料輸入/輸出匯流排150將第二筆寫入資料傳輸至第一快閃記憶體模組130a(即,傳輸T32),並且第二筆寫入資料會被寫入至第一快閃記憶體模組130a(即,寫入W32)。最後,記憶體管理單元110b透過資料輸入/輸出匯流排150將第三筆寫入資料傳輸至第一快閃記憶體模組130a(即,傳輸T33),然後第三筆寫入資料會被寫入至第一快閃記憶體模組130a(即,寫入W33)。在此,圖4僅為例示,資料的寫入不僅以3筆為限。
在本範例實施例中,記憶體管理單元110b會利用其
中一個快閃記憶體模組處於忙碌狀態時,整理另一個快閃記憶體模組的資料。
圖5A與5B是根據本發明範例實施例所繪示之同時執行寫入指令與整理資料的範例時序圖,其中圖5A是繪示第一快閃記憶體模組130a的運作,而圖5B是繪示第二快閃記憶體模組130b的運作。在此範例中,主機系統200的寫入指令指示記憶體管理單元110b將6筆資料寫入至第一快閃記憶體模組130a的實體區塊310-(S+1)的6個頁面中,並且記憶體管理單元110b會利用執行寫入指令的空檔搬移第二快閃記憶體模組130b中欲進行合併(如圖3C所示)的兩筆資料,其中此兩筆資料是從實體區塊310-(M)被搬移至另一實體區塊310-K。
請同時參照圖5A與圖5B,記憶體管理單元110b透過資料輸入/輸出匯流排150將第一筆寫入資料傳輸至第一快閃記憶體模組130a(即,傳輸T411)。之後,第一筆寫入資料會被寫入至第一快閃記憶體模組130a的實體區塊310-(S+1)中(即,寫入W411)。此時,第一快閃記憶體模組130a是處於忙碌(busy)狀態,並且記憶體管理模組110b會利用此忙碌時間透過資料輸入/輸出匯流排150從第二快閃記憶體模組130b的實體區塊310-(M)中讀取第一筆合併資料(即,讀取R421)。
接著,第一快閃記憶體模組130a已完成寫入W411,因此記憶體管理單元110b透過資料輸入/輸出匯流排150將第二筆寫入資料傳輸至第一快閃記憶體模組130a(即,
傳輸T412),並且第二筆寫入資料會被寫入至第一快閃記憶體模組130a的實體區塊310-(S+1)(即,寫入W412)。此時,第一快閃記憶體模組130a再度處於忙碌(busy)狀態,並且記憶體管理模組110b會利用此忙碌時間透過資料輸入/輸出匯流排150將第一筆合併資料傳輸至第二快閃記憶體模組130b(即,傳輸T421),並且第一筆合併資料會被寫入至第二快閃記憶體模組130b的實體區塊310-(K)中(即,寫入W421)。
類似地,第一快閃記憶體模組130a已完成寫入W412,因此記憶體管理單元110b透過資料輸入/輸出匯流排150將第三筆寫入資料傳輸至第一快閃記憶體模組130a(即,傳輸T413),並且第三筆寫入資料會被寫入至第一快閃記憶體模組130a的實體區塊310-(S+1)(即,寫入W413)。此時,第一快閃記憶體模組130a是處於忙碌(busy)狀態,並且記憶體管理模組110b會利用此忙碌時間透過資料輸入/輸出匯流排150從第二快閃記憶體模組130b的實體區塊310-(M)中讀取第二筆合併資料(即,讀取R422)。
接著,第一快閃記憶體模組130a已完成寫入W413,因此記憶體管理單元110b透過資料輸入/輸出匯流排150將第四筆寫入資料傳輸至第一快閃記憶體模組130a(即,傳輸T414),並且第四筆寫入資料會被寫入至第一快閃記憶體模組130a的實體區塊310-(S+1)(即,寫入W414)。此時,第一快閃記憶體模組130a再度處於忙碌(busy)狀態,並且記憶體管理模組110b會利用此忙碌時間透過資料輸
入/輸出匯流排150將第二筆合併資料傳輸至第二快閃記憶體模組130b(即,傳輸T422),並且第二筆合併資料會被寫入至第二快閃記憶體模組130b的實體區塊310-(K)中(即,寫入W422)。
後續,記憶體管理單元110b透過資料輸入/輸出匯流排150將第五筆寫入資料傳輸至第一快閃記憶體模組130a(即,傳輸T415),並且第五筆寫入資料會被寫入至第一快閃記憶體模組130a的實體區塊310-(S+1)(即,寫入W415)。最後,記憶體管理單元110b透過資料輸入/輸出匯流排150將第六筆寫入資料傳輸至第一快閃記憶體模組130a(即,傳輸T416),並且第六筆寫入資料會被寫入至第一快閃記憶體模組130a的實體區塊310-(S+1)(即,寫入W416)。同時,第二快閃記憶體模組130b也完成寫入W422。值得一提的是,寫入W422的時間較寫入W421的時間長,是因為記憶體管理單元110b是使用第二快閃記憶體模組130b的上頁面與下頁面來寫入資料,而寫入W422表示為上頁面的程式化時間。
必須瞭解的是,在本範例實施例中雖然僅描述在對第一快閃記憶體模組130a執行寫入指令時,搬移第二快閃記憶體模組130b中需合併之資料。然而,本發明不限於此,記憶體管理單元110b亦可於對第二快閃記憶體模組130b執行寫入指令時,搬移第一快閃記憶體模組130a中需合併之資料。
值得一提的是,在圖5A與圖5B所繪示的範例中,記
憶體管理單元110b是使用讀取與寫入指令來經由資料輸入/輸出匯流排150將資料讀取至緩衝記憶體後再經由資料輸入/輸出匯流排150將所讀取的資料寫入至第二快閃記憶體模組130b中,以完成資料的搬移。然而本發明不限於此,在本發明另一範例實施例中,記憶體管理單元110b亦可使用回複製(copyback)指令來搬移第二快閃記憶體模組130b中的資料。具體來說,記憶體管理單元110b是於同一快閃記憶體模組(例如,第二快閃記憶體模組130b)中的兩個實體區塊之間搬移資料,因此在使用回複製指令的例子中,資料會從一個實體區塊被讀取後經過快閃記憶體模組中的緩衝區而直接寫入至另一實體區塊,而不會經由資料輸入/輸出匯流排150傳輸至緩衝記憶體。基此,在使用回複製指令的例子中可有效縮短資料搬移所需的時間。
圖6是根據本發明範例實施例所繪示的資料寫入方法的流程圖。
請參照圖6,首先,在步驟S601中快閃記憶體控制器110會從主機系統200中接收寫入指令與多筆寫入資料。之後,在步驟S603中快閃記憶體控制器110會依據邏輯位址與實體位址對映表將寫入資料傳輸至對應的快閃記憶體模組(如圖5A所示)中。
在將寫入資料傳輸給對應的快閃記憶體模組後(即,對應的快閃記憶體模組處於忙碌狀態),在步驟S605中快閃記憶體控制器110會判斷另一快閃記憶體模組(例如,第二快閃記憶體模組130b)是否處於忙碌狀態。倘若此另一快
閃記憶體模組處於忙碌狀態時,則在步驟S607中會等候對應的快閃記憶體模組完成寫入,並且在步驟S609中判斷是否仍有未寫入的寫入資料。
倘若判斷仍有未寫入的寫入資料時,則執行步驟S603。反之,則結束圖6的流程。
倘若在步驟S605中判斷此另一快閃記憶體模組非處於忙碌狀態時,則在步驟S611中快閃記憶體控制器110會判斷此另一快閃記憶體模組是否存有待合併的資料。倘若此另一快閃記憶體模組未存有待合併的資料時,則結束圖6的流程。
倘若此另一快閃記憶體模組存有待合併的資料時,則在步驟S613中快閃記憶體控制器110會搬移(例如,讀取或寫入)此待合併的資料。搬移待合併的資料的方式已配合圖5A與圖5B詳細描述如前,在此不重複描述。在步驟S613之後,會執行步驟S607。
綜上所述,本發明範例實施例的記憶體管理單元在用對其中一個快閃記憶體模組執行寫入指令時,利用其中的忙碌時間來處理另一快閃記憶體模組的待合併資料,由此後續當記憶體管理單元對此另一快閃記憶體執行寫入指令且需關閉母子區塊時,完成寫入指令的時間可被縮短而避免上述逾時的問題。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧快閃記憶體儲存裝置
110‧‧‧快閃記憶體控制器
110a‧‧‧微處理器單元
110b‧‧‧記憶體管理單元
110c‧‧‧主機介面單元
110d‧‧‧快閃記憶體介面單元
120‧‧‧連接器
130‧‧‧快閃記憶體晶片
130a‧‧‧第一快閃記憶體模組
130b‧‧‧第二快閃記憶體模組
150‧‧‧資料輸入/輸出匯流排
200‧‧‧主機系統
300‧‧‧匯流排
302‧‧‧系統區
304‧‧‧資料區
306‧‧‧備用區
308‧‧‧取代區
310-0~310-N‧‧‧實體區塊
350-0~350-H‧‧‧邏輯區塊
T31、T32、T33、T411、T412、T413、T414、T415、T416‧‧‧傳輸
W31、W32、W33、W411、W412、W413、W414、W415、W416、W421、W422‧‧‧寫入
R421、R422‧‧‧讀取
S601、S603、S605、S607、S609、S611、S613‧‧‧資料寫入步驟
圖1是根據本發明一範例實施例所繪示的快閃記憶體儲存系統的概要方塊圖。
圖2、3A、3B與3C是根據本發明第一範例實施例所繪示之快閃記憶體模組之實體區塊的運作示意圖。
圖4是根據本發明範例實施例所繪示之在快閃記憶體模組中執行寫入指令的範例時序圖。
圖5A與5B是根據本發明範例實施例所繪示之同時執行寫入指令與整理資料的範例時序圖。
圖6是根據本發明範例實施例所繪示的資料寫入方法的流程圖。
S601、S603、S605、S607、S609、S611、S613‧‧‧資料寫入步驟
Claims (21)
- 一種資料寫入方法,用於在執行一主機系統的一寫入指令期間於一第一快閃記憶體模組或一第二快閃記憶體模組中搬移資料,其中該第一快閃記憶體模組與該第二快閃記憶體模組分別地具有多個實體區塊,該資料寫入方法包括:由一快閃記憶體控制器依據該寫入指令將來自於該主機系統的一第一資料傳送至該第一快閃記憶體模組並且在該第一快閃記憶體模組的該些實體區塊中寫入該第一資料,其中該快閃記憶體控制器用以經由同一資料輸入/輸出匯流排耦接至該第一快閃記憶體模組與該第二快閃記憶體模組;判斷該第二快閃記憶體模組是否處於一忙碌狀態;當該第二快閃記憶體模組非處於該忙碌狀態時,判斷在該第二快閃記憶體模組的實體區塊中至少一實體區塊的至少一第二資料是否需要被合併;以及當在該第二快閃記憶體模組的實體區塊中該至少一實體區塊的該至少一第二資料需要被合併時,在該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器在該第二快閃記憶體模組的該些實體區塊中搬移該至少一實體區塊的該至少一第二資料。
- 如申請專利範圍第1項所述之資料寫入方法,其中在該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器在該第二快閃記憶體模組 的實體區塊中搬移該至少一實體區塊的該至少一第二資料的步驟包括:在部分的該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器從該第二快閃記憶體模組的實體區塊的其中之一中讀取該至少一第二資料。
- 如申請專利範圍第1項所述之資料寫入方法,其中在該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器在該第二快閃記憶體模組的實體區塊中搬移該至少一實體區塊的該至少一第二資料的步驟包括:在部分的該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器對該第二快閃記憶體模組執行一回複製(copyback)指令以搬移該至少一第二資料。
- 如申請專利範圍第2項所述之資料寫入方法,其中在該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器在該第二快閃記憶體模組的實體區塊中搬移該至少一實體區塊的該至少一第二資料的步驟更包括:在另一部分的該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器將所讀取的該至少一第二資料寫入至該第二快閃記憶體模組的實體區塊的另一中。
- 如申請專利範圍第1項所述之資料寫入方法,其中該第一快閃記憶體模組的實體區塊具有多個上頁面與多個下頁面,其中在該第一快閃記憶體模組的實體區塊中寫入該第一資料的步驟包括:僅在該第一快閃記憶體模組的實體區塊的該些下頁面中寫入該第一資料。
- 一種快閃記憶體控制電路,用於在執行一主機系統的一寫入指令期間於一第一快閃記憶體模組或一第二快閃記憶體模組中搬移資料,其中該第一快閃記憶體模組與該第二快閃記憶體模組分別地具有多個實體區塊,該快閃記憶體控制電路包括:一微處理器單元;一快閃記憶體介面單元,耦接至該微處理器單元,並且經由同一資料輸入/輸出匯流排耦接該第一快閃記憶體模組與該第二快閃記憶體模組;一主機介面單元,耦接至該微處理器單元,用以耦接該主機系統;以及一記憶體管理單元,耦接至該微處理器單元,用以依據該寫入指令將來自於該主機系統的一第一資料傳送至該第一快閃記憶體模組並且在該第一快閃記憶體模組的該些實體區塊中寫入該第一資料,其中該記憶體管理單元用以判斷該第二快閃記憶體模組是否處於一忙碌狀態,其中當該第二快閃記憶體模組非處於該忙碌狀態 時,該記憶體管理單元用以判斷在該第二快閃記憶體模組的實體區塊中至少一實體區塊的至少一第二資料是否需要被合併,其中當在該第二快閃記憶體模組的實體區塊中該至少一實體區塊的該至少一第二資料需要被合併時,在該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,該記憶體管理單元用以在該第二快閃記憶體模組的該些實體區塊中搬移該至少一實體區塊的該至少一第二資料。
- 如申請專利範圍第6項所述之快閃記憶體控制電路,其中在部分的該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,該記憶體管理單元用以從該第二快閃記憶體模組的該些實體區塊的其中之一中讀取該至少一第二資料。
- 如申請專利範圍第6項所述之快閃記憶體控制電路,其中在部分的該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,該記憶體管理單元用以對該第二快閃記憶體模組執行一回複製(copyback)指令以搬移該至少一第二資料。
- 如申請專利範圍第7項所述之快閃記憶體控制電路,在另一部分的該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,該記憶體管理單元用以將所讀取的該至少一第二資料寫入至該第二快閃記憶體模組的該些實體區塊的另一中。
- 如申請專利範圍第6項所述之快閃記憶體控制電路,其中該第一快閃記憶體模組的實體區塊具有多個上頁面與多個下頁面,其中該記憶體管理單元僅在該第一快閃記憶體模組的實體區塊的該些下頁面中寫入該第一資料。
- 一種快閃記憶體儲存系統,包括:一連接器,用以耦接至一主機系統;一快閃記憶體晶片,具有一第一快閃記憶體模組與一第二快閃記憶體模組,其中該第一快閃記憶體模組與該第二快閃記憶體模組分別地具有多個實體區塊;以及一快閃記憶體控制器,耦接該連接器並且經由同一資料輸入/輸出匯流排耦接至該第一快閃記憶體模組與該第二快閃記憶體模組,其中該快閃記憶體控制器用以從該主機系統中接收一寫入指令與一第一資料,其中該快閃記憶體控制器用以依據該寫入指令將該第一資料傳送至該第一快閃記憶體模組並且在該第一快閃記憶體模組的該些實體區塊中寫入該第一資料,其中該記憶體控制器用以判斷該第二快閃記憶體模組是否處於一忙碌狀態,其中當該第二快閃記憶體模組非處於該忙碌狀態時,該記憶體控制器用以判斷在該第二快閃記憶體模組的實體區塊中至少一實體區塊的至少一第二資料是否需要被合併,其中當在該第二快閃記憶體模組的實體區塊中該至 少一實體區塊的該至少一第二資料需要被合併時,在該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,該快閃記憶體控制器用以在該第二快閃記憶體模組的該些實體區塊中搬移該至少一實體區塊的該至少一第二資料。
- 如申請專利範圍第11項所述之快閃記憶體儲存系統,其中在部分的該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,該快閃記憶體控制器用以從該第二快閃記憶體模組的該些實體區塊的其中之一中讀取該至少一第二資料。
- 如申請專利範圍第11項所述之快閃記憶體儲存系統,其中在部分的該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,該快閃記憶體控制器用以對該第二快閃記憶體模組執行一回複製(copyback)指令以搬移該至少一第二資料。
- 如申請專利範圍第12項所述之快閃記憶體儲存系統,在另一部份的該第一資料被寫入至該第一快閃記憶體模組的實體區塊的期間,該快閃記憶體控制器用以將所讀取的該至少一第二資料寫入至該第二快閃記憶體模組的該些實體區塊的另一中。
- 如申請專利範圍第11項所述之快閃記憶體儲存系統,其中該第一快閃記憶體模組的實體區塊具有多個上頁面與多個下頁面,其中該快閃記憶體控制器僅在該第一快閃記憶體模組的實體區塊的該些下頁面中寫入該第一資 料。
- 一種資料寫入方法,用於在執行一主機系統的一寫入指令期間於多個快閃記憶體模組中搬移其中一個快閃記憶體模組的資料,其中該些快閃記憶體模組具有多個實體區塊,該資料寫入方法包括:由一快閃記憶體控制器依據該寫入指令將來自於該主機系統的一第一資料傳送至其中一個快閃記憶體模組並且在該其中一個快閃記憶體模組的實體區塊中寫入該第一資料;判斷另一快閃記憶體模組是否處於一忙碌狀態;當該另一快閃記憶體模組非處於該忙碌狀態時,判斷在該另一快閃記憶體模組的實體區塊中至少一實體區塊的至少一第二資料是否需要被合併;以及當在該另一快閃記憶體模組的實體區塊中該至少一實體區塊的該至少一第二資料需要被合併時,在該第一資料被寫入至該其中一個快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器在該另一快閃記憶體模組的實體區塊中搬移該至少一實體區塊的該至少一第二資料。
- 如申請專利範圍第16項所述之資料寫入方法,其中提供該快閃記憶體控制器的步驟包括:配置該快閃記憶體控制器來經由同一資料輸入/輸出匯流排耦接至該些快閃記憶體模組。
- 如申請專利範圍第16項所述之資料寫入方法,其中在該第一資料被寫入至該其中一個快閃記憶體模組的實 體區塊的期間,由該快閃記憶體控制器在該另一快閃記憶體模組的實體區塊中搬移該至少一實體區塊的該至少一第二資料的步驟包括:在部分的該第一資料被寫入至該其中一個快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器從該另一快閃記憶體模組的實體區塊的其中之一中讀取該至少一第二資料。
- 如申請專利範圍第18項所述之資料寫入方法,其中在該第一資料被寫入至該其中一個快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器在該另一快閃記憶體模組的實體區塊中搬移該至少一實體區塊的該至少一第二資料的步驟更包括:在另一部分的該第一資料被寫入至該其中一個快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器將所讀取的該至少一第二資料寫入至該另一快閃記憶體模組的實體區塊的另一中。
- 如申請專利範圍第16項所述之資料寫入方法,其中該其中一個快閃記憶體模組的實體區塊具有多個上頁面與多個下頁面,其中在該其中一個快閃記憶體模組的實體區塊中寫入該第一資料的步驟包括:僅在該其中一個快閃記憶體模組的實體區塊的該些下頁面中寫入該第一資料。
- 如申請專利範圍第16項所述之資料寫入方法,其中在該第一資料被寫入至該其中一個快閃記憶體模組的實 體區塊的期間,由該快閃記憶體控制器在該另一快閃記憶體模組的實體區塊中搬移該至少一實體區塊的該至少一第二資料的步驟包括:在部分的該第一資料被寫入至該其中一個快閃記憶體模組的實體區塊的期間,由該快閃記憶體控制器對該另一快閃記憶體模組執行一回複製(copyback)指令以搬移該至少一第二資料。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098126116A TWI415128B (zh) | 2009-08-03 | 2009-08-03 | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
US12/561,879 US8209472B2 (en) | 2009-08-03 | 2009-09-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 |
---|---|---|---|
TW098126116A TWI415128B (zh) | 2009-08-03 | 2009-08-03 | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201106362A TW201106362A (en) | 2011-02-16 |
TWI415128B true TWI415128B (zh) | 2013-11-11 |
Family
ID=43528068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098126116A TWI415128B (zh) | 2009-08-03 | 2009-08-03 | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8209472B2 (zh) |
TW (1) | TWI415128B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI425515B (zh) * | 2009-12-23 | 2014-02-01 | Silicon Motion Inc | 資料儲存裝置及快閃記憶體之資料寫入方法 |
US8819371B2 (en) * | 2011-10-07 | 2014-08-26 | Hitachi, Ltd. | Storage system |
JP5806776B2 (ja) | 2011-10-07 | 2015-11-10 | 株式会社日立製作所 | ストレージシステム |
TWI720400B (zh) * | 2019-01-04 | 2021-03-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
CN112767976B (zh) * | 2021-01-09 | 2023-09-01 | 深圳市德明利技术股份有限公司 | 平稳闪存写速度的方法、装置、存储介质和计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447242A (zh) * | 2002-03-25 | 2003-10-08 | 太和科技股份有限公司 | 可适用于快闪存储卡的控制装置及其建构方法 |
CN1510689A (zh) * | 2002-12-26 | 2004-07-07 | 丽台科技股份有限公司 | 闪存的数据写入与读取方法及电路 |
US20050138272A1 (en) * | 2003-12-22 | 2005-06-23 | Phison Electronics Corp. | Method of controlling DRAM for managing flash memory |
US20060064538A1 (en) * | 2004-09-22 | 2006-03-23 | Kabushiki Kaisha Toshiba | Memory controller, memory device and control method for the memory controller |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005276017A (ja) * | 2004-03-26 | 2005-10-06 | Hitachi Ltd | ストレージシステム |
US7886299B2 (en) * | 2004-06-01 | 2011-02-08 | Hitachi, Ltd. | Method of dynamically balancing workload of a storage system |
-
2009
- 2009-08-03 TW TW098126116A patent/TWI415128B/zh active
- 2009-09-17 US US12/561,879 patent/US8209472B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447242A (zh) * | 2002-03-25 | 2003-10-08 | 太和科技股份有限公司 | 可适用于快闪存储卡的控制装置及其建构方法 |
CN1510689A (zh) * | 2002-12-26 | 2004-07-07 | 丽台科技股份有限公司 | 闪存的数据写入与读取方法及电路 |
US20050138272A1 (en) * | 2003-12-22 | 2005-06-23 | Phison Electronics Corp. | Method of controlling DRAM for managing flash memory |
US7243186B2 (en) * | 2003-12-22 | 2007-07-10 | Phison Electronics Corp. | Method of optimizing performance of flash memory |
US20060064538A1 (en) * | 2004-09-22 | 2006-03-23 | Kabushiki Kaisha Toshiba | Memory controller, memory device and control method for the memory controller |
Also Published As
Publication number | Publication date |
---|---|
TW201106362A (en) | 2011-02-16 |
US20110029719A1 (en) | 2011-02-03 |
US8209472B2 (en) | 2012-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9009399B2 (en) | Flash memory storage system and controller and data writing method thereof | |
TWI386802B (zh) | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 | |
US8244963B2 (en) | Method for giving read commands and reading data, and controller and storage system using the same | |
TWI526830B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8230161B2 (en) | Data backup method for a flash memory and controller and storage system using the same | |
US8386905B2 (en) | Error correcting method, and memory controller and memory storage system using the same | |
TWI408688B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
US9122498B2 (en) | Firmware code loading method, memory controller and memory storage apparatus | |
TWI405209B (zh) | 資料管理方法及使用此方法的快閃儲存系統與控制器 | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
TW201437807A (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
TWI435329B (zh) | 快閃記憶體管理方法、快閃記憶體控制器與儲存系統 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
TWI415128B (zh) | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 | |
TWI448892B (zh) | 資料搬移方法、記憶體控制器與記憶體儲存裝置 | |
US9501397B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
TWI414940B (zh) | 區塊管理與資料寫入方法、快閃記憶體儲存系統與控制器 | |
US8572350B2 (en) | Memory management, memory control system and writing method for managing rewritable semiconductor non-volatile memory of a memory storage system | |
US8589620B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
US20100325344A1 (en) | Data writing method for flash memory and control circuit and storage system using the same | |
TWI686698B (zh) | 邏輯轉實體表更新方法及儲存控制器 |