TWI601141B - 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 - Google Patents
快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 Download PDFInfo
- Publication number
- TWI601141B TWI601141B TW104127351A TW104127351A TWI601141B TW I601141 B TWI601141 B TW I601141B TW 104127351 A TW104127351 A TW 104127351A TW 104127351 A TW104127351 A TW 104127351A TW I601141 B TWI601141 B TW I601141B
- Authority
- TW
- Taiwan
- Prior art keywords
- page
- physical
- logical
- entity
- data
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
本發明係有關於快閃記憶體,尤指一種快閃記憶體的存取方法及相關的記憶體控制器與電子裝置。
目前的電子裝置中通常包含了快閃記憶體以儲存所需的資料,以目前的智慧電視來說,其中的快閃記憶體會記錄使用者的操作紀錄,如前一次的選台資訊、或是應用程式(APP)的相關紀錄…等等,因此,快閃記憶體會遭遇頻繁的寫入與抹除操作。
然而,一個快閃記憶體包含了多個區塊(block),而每一個區塊則包含了多個頁面(page),其中“區塊”是最小的抹除單位,因此,當一區塊中僅有部分的資料需要更新時,記憶體控制器並無法直接對該部分的內容進行更新,而是先將該區塊的內容讀取出來,連同需要更新的資料一併寫入到新的空白區塊中,並抹除原有的該區塊內容。如上所述,由於快閃記憶體中的資料更新需要較複雜的步驟,因此,若是資料更新頻繁的話,會嚴重降低快閃記憶體的效能。
另外,由於消費者操作電子裝置因而產生的資料是隨機的,因此在一區塊內部的頁面未全部被寫滿前就需要被寫入新資料,因而需要執行上述之資料搬移以及區塊抹除的操作是不可避免的。如此一來,一方面寫入資料的速度會因為抹除操作而變慢,另一方面區塊常態地在資料未滿之前就抹除,亦不利於快閃記憶體使用壽命有限的特性。所謂快閃記憶體使用壽命,指的是每一區塊皆有抹除、寫入次數的限制,針對同一個區塊進行重複抹除、寫入,將會造成讀取速度變慢,甚至損壞而無法使用。目前雖然有耗損平均技術(Wear Leveling)可以運用,目的在於平均使用快閃記憶體中的每個區塊,以避免某些特定區塊因過度使用而形成永久性毀損,導致電子裝置無法運作,然而,設計不良的軟體管理方式,導致過於頻繁的抹除、寫入,仍將導致快閃記憶體的壽命減短。
因此,本發明提出了一種快閃記憶體的存取方法,其可以大幅降低快閃記憶體的抹除次數,以增進使用效能並延長快閃記憶體的壽命。
依據本發明一實施例,一種快閃記憶體的存取方法包含有:發送一寫入命令及相對應的一資料,其中該資料係用來更新一邏輯頁面所對應之一快閃記憶體中一實體區塊中一第一實體頁面的一部份內容;依據該寫入命令搜尋該實體區塊中可供寫入的一第二實體頁面時;將該資料寫入該第二實體頁面;以及記錄該第二實體頁面對應至該邏輯頁面。
依據本發明另一實施例,一種電子裝置包含一處理器、一快閃記憶體以及一記憶體控制器,其中該記憶體控制器耦接於該處理器與該快閃記憶體之間,且用以控制該快閃記憶體的存取。該處理器發送一寫入命令及相對應的一資料,其中該資料係用來更新一邏輯頁面所對應之該快閃記憶體中一實體區塊中一第一實體頁面的一部份內容;以及該記憶體控制器依據該寫入命令搜尋該實體區塊中可供寫入的一第二實體頁面,並將該資料寫入該第二實體頁面,以及記錄該第二實體頁面對應至該邏輯頁面。
依據本發明另一實施例,揭露了一種記憶體控制器,其用以接收一寫入命令及相對應的一資料,其中該資料係用來更新一邏輯頁面所對應之一快閃記憶體中一實體區塊中一第一實體頁面的一部份內容;依據該寫入命令搜尋該實體區塊中具有可供寫入的一第二實體頁面,並將該資料寫入該第二實體頁面;以及記錄該第二實體頁面對應至該邏輯頁面。
在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。此外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段,因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或者透過其他裝置或連接手段間接地電氣連接至該第二裝置。
請參考第1圖,第1圖為依據本發明一實施例之電子裝置100的示意圖。如第1圖所示,電子裝置100包含了一系統單晶片110、一快閃記憶體(Flash memory)120以及一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)130,其中系統單晶片110包含了一中央處理器112、一快閃記憶體控制器114以及一DRAM控制器116,快閃記憶體控制器114係用來控制快閃記憶體120的存取,而DRAM控制器116則是用來控制DRAM 130的存取。在本實施例中,電子裝置100係為一電視或是電視盒,然而,本發明並不以此為限,電子裝置100亦可為任何包含快閃記憶體的電子裝置,例如數位攝影機、行動通訊裝置、桌上型電腦、筆記型電腦或外接式儲存裝置…等等。
快閃記憶體120可包含一或多個快閃記憶體晶片,一個快閃記憶體晶片包含了多個實體區塊,而每一個實體區塊則包含了多個實體頁面。每一實體區塊的每一實體頁面皆有一對應的實體頁面位址,換言之,每一實體頁面位址皆對應至某一特定實體區塊的某一特定實體頁面。請參考第2A圖,第2A圖為快閃記憶體120中一實體區塊200的示意圖,其中在以下的說明及圖式中,係以“編號”來描述“實體頁面位址”,然而,“實體頁面位址”係為頁面在快閃記憶體120中的位址,且“實體頁面位址”不會重複,因此以下使用編號來描述“實體頁面位址”只是為了方便說明,而並非用來表示實體頁面位址的真正內容”。如第2A圖所示,實體區塊200中只有編號0~7的8個實體頁面有儲存資料,而其餘的實體頁面(編號8~N)則尚未儲存資料,此外,實體區塊200中也同時記錄了每個實體頁面對應的邏輯頁面編號,例如實體頁面位址0對應到邏輯頁面編號7、實體頁面位址1對應到邏輯頁面編號3、實體頁面位址2對應到邏輯頁面編號4…等等;而這些對應的邏輯頁面編號可以被記錄在每一個實體頁面的備用/剩餘區域(spare area)中,或是其他任何適合的地方。此外請注意,前述實體頁面位址的編號只是為了方便描述而已,實際上每一編號係代表一實體頁面所對應的一實體頁面位址。
在電子裝置100開機的時候,中央處理器112或是透過快閃記憶體控制器114讀取快閃記憶體120的每一個實體區塊的內容以建立出一邏輯實體頁面映射表,並將該邏輯實體頁面映射表儲存在一記憶體中,第2B圖繪示了一邏輯實體頁面映射表250的示意圖,其中邏輯實體頁面映射表250包含了每一個區塊的邏輯頁面編號及其對應的實體頁面位址,而為了簡潔起見,第2B圖所示的邏輯實體頁面映射表250僅繪示了第2A圖之區塊200的部分內容。在本實施例中,該邏輯實體頁面映射表係透過DRAM控制器116儲存在DRAM 130中,但本發明並不以此為限,該邏輯實體頁面映射表亦可存在系統單晶片110中或是快閃記憶體控制器114中的記憶單元中。詳細來說,參考第3圖,第3圖為依據本發明一實施例建立邏輯實體頁面映射表的流程圖。在第3圖中,首先,在步驟300,流程開始。接著,在步驟302中,選擇第一個實體區塊;在步驟304中,選擇第一個實體區塊中的第一個實體頁面,並在步驟306中建立所選擇之實體頁面與其相對應邏輯頁面的映射關係(例如,第2B圖所示的邏輯實體頁面映射表250)。接著,在步驟308中,判斷是否是最後一個實體頁面,若是,則流程進入步驟310;若否,則流程回到步驟304以選擇出下一個實體頁面。在步驟310中,判斷是否是最後一個實體區塊,若是,則流程進入步驟312以及結束本流程;若否,則流程回到步驟302以選擇出下一個實體區塊。
請參考第4圖,第4圖為依據本發明一實施例之快閃記憶體存取方法的流程圖。在本實施例中,假設中央處理器112需要更新快閃記憶體120中的部分資料。首先,在步驟400中,流程開始。接著,在步驟402中,中央處理器112發出一寫入命令及相對應的一資料至快閃記憶體控制器114中,其中該資料係用來更新快閃記憶體120中一實體區塊中一實體頁面的至少一部份內容。在本實施例中,為了方便說明,以下的敘述係假設該資料係用來更新第2A圖所示之具有編號2之實體頁面的至少一部份內容。接著,在步驟404中,快閃記憶體控制器114依據該寫入命令尋找實體區塊200中可供寫入的實體頁面,亦即,尋找可用的空白頁面,而在本實施例中,由於快閃記憶體的資料寫入必須順著頁面循序寫入,因此是尋找到實體區塊200中具有編號8的實體頁面。在步驟406,快閃記憶體控制器114將該資料寫入到具有編號8的實體頁面中,在本步驟中,若是來自中央處理器112的該資料僅是用來更新具有實體頁面位址2之頁面的一部份內容,則快閃記憶體控制器114需要讀取實體頁面位址2中不需要更新的其他內容,以連同該資料一併寫入到實體頁面位址8的頁面中。在步驟408中,中央處理器112(或是透過快閃記憶體控制器114)更新邏輯實體頁面映射表,以將邏輯頁面編號4更新至對應到實體頁面位址8。
另外,在第4圖的步驟404中,若是實體區塊200中的每一個實體頁面均已經有儲存資料,而無法尋找到可用的實體頁面時,則此時快閃記憶體控制器114會將該資料以及實體區塊200中至少一部份的資料搬移到另一實體頁面中,並抹除實體區塊200。另外,需注意的是,上述提到的“抹除實體區塊200”並非表示要立刻將實體區塊200中的資料全部刪除,而是可以先標記實體區塊200為一刪除狀態,等到快閃記憶體控制器114的空閒期間或是有資料需要寫入實體區塊200時,再清除實體區塊200中的資料內容。
第5圖所示的是,在經過上述第4圖所示的流程之後,實體區塊200與邏輯實體頁面映射表550的示意圖。
請參考第6圖,第6圖為依據本發明一實施例之讀取實體頁面的方法的流程圖。在本實施例中,假設中央處理器112需要讀取第5圖所示具有編號4之邏輯頁面的資料。首先,在步驟600中,流程開始。接著,在步驟602中,中央處理器112發送一讀取請求至快閃記憶體控制器114以要求讀資料。接著,在步驟604中,快閃記憶體控制器114根據該讀取請求以及邏輯實體頁面映射表來取得對應的實體頁面位址,以本實施例來說,快閃記憶體控制器114會取得實體頁面位址8。接著,快閃記憶體控制器114讀取快閃記憶體120中實體頁面位址8之實體頁面的資料。在步驟608中,快閃記憶體控制器114將所讀取的資料回傳到中央處理器112。最後,流程進入步驟610以結束此讀取操作。此外請注意,如前所述,實際上每一實體編號係代表一實體頁面所對應的一實體頁面位址。
另外,以第5圖的例子來說,在電子裝置100重新開機而需要重新建立出邏輯實體頁面映射表時,中央處理器112透過快閃記憶體控制器114循序讀取實體區塊200中的每個實體頁面及所記錄之對應邏輯頁面編號,例如說讀取每個實體頁面之備用/剩餘區域(spare area),以建立出邏輯實體頁面映射表,然而,由於實體頁面位址2、8均對應到相同的邏輯頁面編號4,因此,在本實施例中,由於實體頁面位址2的頁面所儲存的是舊有的資料,故邏輯實體頁面映射表僅會記錄邏輯頁面編號4對應到實體頁面位址8,第5圖繪示了上述在電子裝置100重新開機後所重新建立出的邏輯實體頁面映射表550,與第2B圖的邏輯實體頁面映射表250相比,可以發現邏輯頁面編號4已經改為對應到實體頁面位址8。換句話說,若是在建立出邏輯實體頁面映射的過程中發現多個實體頁面位址均對應到相同的一邏輯頁面編號,則由於實體頁面位址越大的其資料越新,故中央處理器112透過快閃記憶體控制器114只將該邏輯頁面編號映射到該多個實體頁面位址中數值最大的實體頁面位址。此外請注意,前述實體頁面位址的編號只是為了方便描述而已,實際上每一編號的大小係與實體頁面所對應的實體頁面位址有關,例如在本實施例中,編號越大代表實體頁面位址越後面,但不限於此。
如上所述,在本發明的上述實施例中,由於當實體區塊中有資料需要更新時,快閃記憶體控制器114可以直接將更新的頁面資料儲存到同一個實體區塊的可用頁面中,因此,可以大幅度地降低區塊資料搬移以及區塊抹除操作的次數,進而增進使用效能並延長快閃記憶體的壽命。
另外,在上述的實施例中,一個實體區塊都是由一邏輯實體頁面映射表記錄其中多個實體頁面位址與邏輯頁面編號的對應關係,然而,為了進一步降低區塊資料搬移以及區塊抹除操作的次數,一邏輯實體頁面映射表更可以記錄兩個實體區塊中多個實體頁面位址與邏輯頁面編號的對應關係(當然亦不限於兩個實體區塊),以使得儲存、更新資料時有更多實體頁面得以靈活運用。舉例來說,請參考第7圖,兩個實體區塊710、720由同一個邏輯實體頁面映射表記錄其實體頁面與邏輯頁面的對應關係,其中在以下的說明及圖式中,係以“編號”來描述“實體頁面位址”,然而,“實體頁面位址”係為頁面在快閃記憶體中的位址,且“實體頁面位址”不會重複,因此以下使用編號來描述“實體頁面位址”只是為了方便說明,而並非用來表示實體頁面位址的真正內容”。在第7圖的例子中,當實體區塊710、720中有實體頁面需要更新時,其操作完全相同於上述第4~5圖的實施例所述,亦即當實體區塊710中的實體頁面位址1的頁面需要更新時,快閃記憶體控制器114會將更新的資料儲存到實體區塊710中實體頁面位址8的實體頁面,並記錄對應的邏輯頁面編號3;而當實體區塊720中實體頁面位址(n+5)的實體頁面需要更新時,快閃記憶體控制器114會將更新的資料儲存到實體區塊720中實體頁面位址(n+8)的實體頁面(假設實體頁面位址(n+8)的實體頁面為空白頁面),並記錄對應的邏輯頁面編號12。或者,例如說當實體區塊710中實體頁面位址6的實體頁面需要更新、且實體區塊710已沒有空白實體頁面時,快閃記憶體控制器114可以將更新的資料儲存到實體區塊720中空白的實體頁面,並記錄其對應的邏輯頁面編號為13。
簡要歸納本發明,在本發明之快閃記憶體的存取方法及相關的記憶體控制器與電子裝置中,當實體區塊中有資料需要更新時,快閃記憶體控制器可以直接將更新的頁面資料儲存到同一個實體區塊的可用頁面中,因此,可以大幅度地降低區塊資料搬移以及區塊抹除操作的次數,進而增進使用效能並延長快閃記憶體的壽命。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧電子裝置
110‧‧‧系統單晶片
112‧‧‧中央處理器
114‧‧‧快閃記憶體控制器
116‧‧‧動態隨機存取記憶體控制器
120‧‧‧快閃記憶體
130‧‧‧動態隨機存取記憶體
200、710、720‧‧‧實體區塊
250、550、750‧‧‧邏輯實體頁面映射表
300~312、400~410、600~610‧‧‧步驟
110‧‧‧系統單晶片
112‧‧‧中央處理器
114‧‧‧快閃記憶體控制器
116‧‧‧動態隨機存取記憶體控制器
120‧‧‧快閃記憶體
130‧‧‧動態隨機存取記憶體
200、710、720‧‧‧實體區塊
250、550、750‧‧‧邏輯實體頁面映射表
300~312、400~410、600~610‧‧‧步驟
第1圖為依據本發明一實施例之電子裝置的示意圖。 第2A圖為快閃記憶體中一實體區塊的範例示意圖。 第2B圖為邏輯實體頁面映射表的示意圖。 第3圖為依據本發明一實施例之建立邏輯實體頁面映射表的流程圖。 第4圖為依據本發明一實施例之快閃記憶體存取方法的流程圖。 第5圖所示為經過上述第4圖所示的流程之後,實體區塊與其邏輯實體頁面 映射表的示意圖 第6圖為依據本發明一實施例之讀取實體頁面的方法的流程圖。 第7圖依據本發明一實施例之實體區塊與其邏輯實體頁面映射表的示意圖。
200‧‧‧實體區塊
Claims (17)
- 一種快閃記憶體的存取方法,包含: 發送一寫入命令及相對應的一資料,其中該資料係用來更新一邏輯頁面所對應之一快閃記憶體中一實體區塊中一第一實體頁面的一部份內容; 依據該寫入命令搜尋該實體區塊中可供寫入的一第二實體頁面; 將該資料寫入該第二實體頁面;以及 記錄該第二實體頁面對應至該邏輯頁面。
- 如申請專利範圍第1項所述之存取方法,其中該依據該寫入命令搜尋該實體區塊中可供寫入的該第二實體頁面之步驟包含: 搜尋該實體區塊中具有最小實體頁面位址的空白實體頁面作為該第二實體頁面。
- 如申請專利範圍第1項所述之存取方法,其中將該資料寫入該第二實體頁面的步驟包含: 讀取該第一實體頁面中不需要更新的內容,並連同該資料一併寫入該第二實體頁面中。
- 如申請專利範圍第1項所述之存取方法,另包含: 當該實體區塊中不具有可供寫入的實體頁面時,將該資料以及讀取自該實體區塊中至少一部份的資料寫入另一實體頁面中,並抹除該實體區塊中的內容。
- 如申請專利範圍第1項所述之存取方法,另包含: 於一邏輯實體頁面映射表中將該邏輯頁面更新為對應到該第二實體頁面,該邏輯實體頁面映射表係用以記錄不同邏輯頁面與不同實體頁面的對應關係。
- 如申請專利範圍第5項所述之存取方法,另包含: 發送另一寫入命令及相對應的另一資料,其中該另一資料係用來更新另一邏輯頁面所對應之該快閃記憶體中另一實體區塊中一第三實體頁面的一部份內容; 依據該另一寫入命令搜尋該另一實體區塊中可供寫入的一第四實體頁面; 將該另一資料寫入該第四實體頁面; 記錄該第四實體頁面對應至該另一邏輯頁面:以及 於該邏輯實體頁面映射表中將該另一邏輯頁面更新為對應到該第四實體頁面。
- 如申請專利範圍第1項所述之存取方法,另包含: 當該實體區塊中不具有可供寫入的實體頁面時,依據該寫入命令搜尋另一實體區塊中可供寫入的一第三實體頁面,將該資料寫入該第三實體頁面,以及記錄該第三實體頁面對應至該邏輯頁面。
- 如申請專利範圍第1項所述之存取方法,其中,該實體區塊包含一備用區域(spare area),該記錄該第二實體頁面對應至該邏輯頁面之步驟係記錄於該備用區域,該存取方法另包含: 讀取該實體區塊中的每個實體頁面及該備用區域中所記錄之該每個實體頁面所對應的邏輯頁面;以及 依據一讀取結果建立一邏輯實體頁面映射表,該邏輯實體頁面映射表係用以記錄不同邏輯頁面與不同實體頁面的對應關係,其中 當該讀取結果指示存在多個實體頁面對應同一邏輯頁面,則於該邏輯實體頁面映射表中記錄該邏輯頁面對應到該些實體頁面中具有最大實體頁面位址的實體頁面。
- 一種電子裝置,用以存取一快閃記憶體,包含有: 一處理器,發送一寫入命令及相對應的一資料,其中該資料係用來更新一邏輯頁面所對應之該快閃記憶體中一實體區塊中一第一實體頁面的一部份內容;以及 一記憶體控制器,耦接於該處理器與該快閃記憶體之間,依據該寫入命令搜尋該實體區塊中可供寫入的一第二實體頁面,並將該資料寫入該第二實體頁面,以及記錄該第二實體頁面對應至該邏輯頁面。
- 如申請專利範圍第9項所述之電子裝置,其中該第二實體頁面為該實體區塊中具有最小實體頁面位址的空白實體頁面。
- 如申請專利範圍第9項所述之電子裝置,其中,該記憶體控制器更讀取該第一實體頁面中不需要更新的內容,並連同該資料一併寫入該第二實體頁面中。
- 如申請專利範圍第9項所述之電子裝置,其中,當該實體區塊中不具有可供寫入的實體頁面時,該記憶體控制器將該資料以及讀取自該實體區塊中至少一部份的資料寫入另一實體頁面中,並抹除該實體區塊中的內容。
- 如申請專利範圍第9項所述之電子裝置,其中該處理器更新一邏輯實體頁面映射表,該邏輯實體頁面映射表係用以記錄不同邏輯頁面與不同實體頁面的對應關係,以將該邏輯頁面更新為對應到該第二實體頁面。
- 如申請專利範圍第13項所述之電子裝置,其中,該處理器發送另一寫入命令及相對應的另一資料至該記憶體控制器,其中該另一資料係用來更新該另一邏輯頁面所對應之該快閃記憶體中另一實體區塊中一第三實體頁面的一部份內容;該記憶體控制器依據該另一寫入命令搜尋該另一實體區塊中可供寫入的一第四實體頁面,將該另一資料寫入該第四實體頁面,並記錄該第四實體頁面對應至該另一邏輯頁面;以及該處理器於該邏輯實體頁面映射表中將該另一邏輯頁面更新為對應到該第四實體頁面。
- 如申請專利範圍第9項所述之電子裝置,另包含有: 當該實體區塊中不具有可供寫入的實體頁面時,該記憶體控制器依據該寫入命令搜尋另一實體區塊中可供寫入的一第三實體頁面,並將該資料寫入該第三實體頁面,以及記錄該第三實體頁面對應至該邏輯頁面。
- 如申請專利範圍第9項所述之電子裝置,其中,該實體區塊包含一備用區域,該記憶體控制器更讀取該實體區塊中的每個實體頁面及該備用區域中所記錄之該每個實體頁面所對應的邏輯頁面以產生一讀取結果,以及該處理器依據該讀取結果建立一邏輯實體頁面映射表,該邏輯實體頁面映射表係用以記錄不同邏輯頁面與不同實體頁面的對應關係,當該讀取結果指示存在多個實體頁面對應同一邏輯頁面,則該處理器於該邏輯實體頁面映射表中記錄該邏輯頁面對應到該些實體頁面中具有最大實體頁面位址的實體頁面。
- 一種記憶體控制器,用以接收一寫入命令及相對應的一資料,其中該資料係用來更新一邏輯頁面所對應之一快閃記憶體中一實體區塊中一第一實體頁面的一部份內容;依據該寫入命令搜尋該實體區塊中具有可供寫入的一第二實體頁面,並將該資料寫入該第二實體頁面;以及記錄該第二實體頁面對應至該邏輯頁面。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104127351A TWI601141B (zh) | 2015-08-21 | 2015-08-21 | 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 |
US15/133,639 US20170052708A1 (en) | 2015-08-21 | 2016-04-20 | Method for accessing flash memory and associated memory controller and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104127351A TWI601141B (zh) | 2015-08-21 | 2015-08-21 | 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201709207A TW201709207A (zh) | 2017-03-01 |
TWI601141B true TWI601141B (zh) | 2017-10-01 |
Family
ID=58158516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104127351A TWI601141B (zh) | 2015-08-21 | 2015-08-21 | 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170052708A1 (zh) |
TW (1) | TWI601141B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160299844A1 (en) * | 2015-04-08 | 2016-10-13 | Sandisk Enterprise Ip Llc | Mapping Logical Groups of Data to Physical Locations In Memory |
CN110941571B (zh) * | 2018-09-05 | 2022-03-01 | 合肥沛睿微电子股份有限公司 | 闪存控制器及相关的存取方法及电子装置 |
CN112634975A (zh) * | 2020-12-24 | 2021-04-09 | 杭州华澜微电子股份有限公司 | 一种数据存储纠错方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193191A1 (en) * | 2008-01-24 | 2009-07-30 | Samsung Electronics Co., Ltd. | Write and merge methods in memory card systems for reducing the number of page copies |
US20100161888A1 (en) * | 2008-12-22 | 2010-06-24 | Unity Semiconductor Corporation | Data storage system with non-volatile memory using both page write and block program and block erase |
US7836242B2 (en) * | 2006-01-26 | 2010-11-16 | Nuvoton Technology Corporation | Method for page random write and read in blocks of flash memory |
TWI405082B (zh) * | 2009-06-29 | 2013-08-11 | Mediatek Inc | 記憶體系統及其映射方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
TWI249670B (en) * | 2004-04-29 | 2006-02-21 | Mediatek Inc | System and method capable of sequentially writing a flash memory |
US8438325B2 (en) * | 2008-10-09 | 2013-05-07 | Cadence Design Systems, Inc. | Method and apparatus for improving small write performance in a non-volatile memory |
CN101727402B (zh) * | 2009-10-23 | 2012-07-04 | 深圳市江波龙电子有限公司 | 一种非易失性存储器数据的读写控制方法及系统 |
TWI457755B (zh) * | 2011-08-22 | 2014-10-21 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與儲存裝置 |
TWI454911B (zh) * | 2011-10-12 | 2014-10-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
-
2015
- 2015-08-21 TW TW104127351A patent/TWI601141B/zh not_active IP Right Cessation
-
2016
- 2016-04-20 US US15/133,639 patent/US20170052708A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836242B2 (en) * | 2006-01-26 | 2010-11-16 | Nuvoton Technology Corporation | Method for page random write and read in blocks of flash memory |
US20090193191A1 (en) * | 2008-01-24 | 2009-07-30 | Samsung Electronics Co., Ltd. | Write and merge methods in memory card systems for reducing the number of page copies |
US20100161888A1 (en) * | 2008-12-22 | 2010-06-24 | Unity Semiconductor Corporation | Data storage system with non-volatile memory using both page write and block program and block erase |
TWI405082B (zh) * | 2009-06-29 | 2013-08-11 | Mediatek Inc | 記憶體系統及其映射方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201709207A (zh) | 2017-03-01 |
US20170052708A1 (en) | 2017-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7516296B2 (en) | Flash memory storage device and read/write method | |
US9928167B2 (en) | Information processing system and nonvolatile storage unit | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
JP4832521B2 (ja) | フラッシュメモリメディアにおけるデータ管理方法 | |
JP4004468B2 (ja) | 大きなページをサポートするようにさせるための方法およびシステム | |
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
TWI609323B (zh) | 資料儲存方法及其系統 | |
CN109388582B (zh) | 数据储存装置以及其数据抹除方法 | |
JP2011221996A (ja) | 不揮発性メモリコントローラ及び不揮発性記憶装置 | |
US9122586B2 (en) | Physical-to-logical address map to speed up a recycle operation in a solid state drive | |
JPWO2006067923A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法 | |
CN106598504B (zh) | 数据存储方法及装置 | |
US9870826B2 (en) | Memory apparatus and data access method thereof by using multiple memories for lifetime extension | |
TWI601141B (zh) | 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 | |
CN111758086B (zh) | 用于ssd的映射表的刷新方法 | |
TW201327185A (zh) | 記憶體儲存裝置及其記憶體控制器與資料寫入方法 | |
US20210042257A1 (en) | Data processing system and operating method thereof | |
CN110147332B (zh) | 目录数据的管理方法与存储器装置 | |
KR100533683B1 (ko) | 플래시 메모리의 데이터 관리 장치 및 방법 | |
CN112015671B (zh) | 闪存控制器、存储器装置以及存取闪存模块的方法 | |
JP2008084184A (ja) | メモリコントローラ | |
CN106484630A (zh) | 快闪存储器的存取方法及相关的存储器控制器与电子装置 | |
JP4558054B2 (ja) | メモリシステム | |
JP2007199828A (ja) | 不揮発性記憶装置およびそのアドレス管理方法 | |
CN112083883B (zh) | 存储系统以及用于存储系统中的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |