TWI432962B - 電子系統及其記憶體管理方法 - Google Patents

電子系統及其記憶體管理方法 Download PDF

Info

Publication number
TWI432962B
TWI432962B TW100136362A TW100136362A TWI432962B TW I432962 B TWI432962 B TW I432962B TW 100136362 A TW100136362 A TW 100136362A TW 100136362 A TW100136362 A TW 100136362A TW I432962 B TWI432962 B TW I432962B
Authority
TW
Taiwan
Prior art keywords
logical
page
storage
target
relationship
Prior art date
Application number
TW100136362A
Other languages
English (en)
Other versions
TW201316167A (zh
Inventor
Tse Wei Wang
Wen Hao Sung
Chien Hsiang Li
Original Assignee
Mstar Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mstar Semiconductor Inc filed Critical Mstar Semiconductor Inc
Priority to TW100136362A priority Critical patent/TWI432962B/zh
Priority to US13/371,588 priority patent/US20130091322A1/en
Publication of TW201316167A publication Critical patent/TW201316167A/zh
Application granted granted Critical
Publication of TWI432962B publication Critical patent/TWI432962B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

電子系統及其記憶體管理方法
本發明與快閃記憶體(flash memory)相關,並且尤其與管理快閃記憶體之邏輯/實體位址對應關係的技術相關。
快閃記憶體具有容量大、成本低、存取速度快等優點,因此被廣泛應用在多種消費性電子產品中。除了儲存使用者資料外,快閃記憶體亦常被用以存放作業系統等佔用大量記憶體空間的軟體資料與程式。然而,快閃記憶體的使用壽命與被使用的次數息息相關,對其中之部份區塊(block)進行多次的寫入、抹除將造成該部份區塊使用壽命縮短甚至損毀,並進一步造成快閃記憶體整體使用之障礙。
為了平均地延長快閃記憶體中各區塊的使用壽命,轉換層(translation layer)的觀念被引入快閃記憶體之韌體中,用以平均分配記憶體中各區塊的使用次數。一般而言,電子系統中的應用程式欲讀寫快閃記憶體時,並非直接驅動快閃記憶體,還需要透過轉換層將欲讀寫之區塊的邏輯位址(logical address)轉換為該區塊在快閃記憶體中的實體位址(physical address),才能正確找到該區塊。據此,如何建立並維護一個正確的邏輯/實體位址轉換表密切關係著上述轉換層的執行效率。
快閃記憶體內的各個區塊中通常都記錄有該區塊本身的邏輯/實體位址對應關係。易言之,該等對應關係是分散記錄於快閃記憶體的不同區塊中。須說明的是,該等對應關係是可能會變動的。目前,每次在電子系統被開機或重置的啟動程序中,快閃記憶體的韌體都必須掃描所有的區塊,以讀取各區塊最新的邏輯/實體位址對應關係,並於電子系統的輔助記憶體(通常為隨機存取記憶體)重建一個邏輯/實體位址轉換表,供轉換層之後續使用。
現有技術的主要缺點在於,掃描所有的區塊相當耗時。當快閃記憶體的容量隨著製程進步而增加時,重建位址轉換表的時間也會大幅增加,嚴重影響系統的執行效率。
為解決上述問題,本發明提出一種新的記憶體控制方案。藉由在快閃記憶體中建立一儲存區域,集中存放所有區塊的邏輯/實體位址對應關係,根據本發明之記憶體控制方案可有效縮短在電子系統之輔助記憶體中重建位址轉換表的時間,進而提升電子系統的整體效率。
根據本發明之一具體實施例為一種應用於一電子系統之記憶體管理方法。該電子系統包含一輔助記憶體且能與包含複數個區塊之一快閃記憶體溝通。每一區塊具有一邏輯/實體位址關係。該快閃記憶體中之一儲存區域儲存有該等邏輯/實體位址關係。該方法包含下列步驟:(a)判斷儲存於該儲存區域中之該等邏輯/實體位址關係是否正確;以及(b)若步驟(a)之判斷結果為是,將該等邏輯/實體位址關係自該儲存區域複製至該輔助記憶體,供該電子系統與該快閃記憶體溝通時參考。
根據本發明之另一具體實施例為一種電腦可讀取儲存媒體,其中儲存有能由一電子系統讀取並執行之一程式碼。該電子系統包含一輔助記憶體且能與包含複數個區塊之一快閃記憶體溝通。每一區塊具有一邏輯/實體位址關係。該快閃記憶體中之一儲存區域儲存有該等邏輯/實體位址關係。該程式碼係用以管理該快閃記憶體且包含:一第一子程式碼,用以判斷儲存於該儲存區域中之該等邏輯/實體位址關係是否正確;以及一第二子程式碼,用以於該第一子程式碼之判斷結果為是時,將該等邏輯/實體位址關係自該儲存區域複製至該輔助記憶體,供該電子系統與該快閃記憶體溝通時參考。
根據本發明之另一具體實施例為一種電子系統,其中包含一輔助記憶體及一控制器。該電子系統能與包含複數個區塊之一快閃記憶體溝通。每一區塊具有一邏輯/實體位址關係。該快閃記憶體中之一儲存區域儲存有該等邏輯/實體位址關係。當該快閃記憶體被耦接至該電子系統,該控制器分別耦接至該輔助記憶體及該快閃記憶體。於該電子系統之一啟動程序中,該控制器首先判斷儲存於該儲存區域中之該等邏輯/實體位址關係是否正確;若是,該控制器將該等邏輯/實體位址關係自該儲存區域複製至該輔助記憶體,供該電子系統與該快閃記憶體溝通時參考。
關於本發明的優點與精神可以藉由以下發明詳述及所附圖式得到進一步的瞭解。
根據本發明之一具體實施例為一種應用於一電子系統之記憶體管理方法。根據本發明之記憶體管理方法可提升該電子系統為快閃記憶體重建位址轉換表的效率。舉例而言,該電子系統可為數位攝影機、行動通訊裝置、攜帶型電腦、桌上型電腦或外接式儲存裝置等各種採用快閃記憶體的裝置,但不以此為限。反及閘(NAND)快閃記憶體與反或閘(NOR)快閃記憶體都適用於本發明的構想。實務上,快閃記憶體可以是直接內建於該電子系統中,也可以是以記憶卡或隨身碟的形式存在,透過各種轉接裝置被連接至該電子系統。
快閃記憶體包含複數個區塊(block),且每一區塊各自具有一邏輯/實體位址關係。以適用於Linux系統的無排序區塊圖像檔案系統(unsorted block image file system,UBIFS)規格為例,各個區塊的邏輯/實體位址對應關係皆記錄在該區塊本身的EC/Vid檔頭中。此外,每一區塊各自包含多個大小相同的頁面(page),EC/Vid檔頭即位於各區塊的前兩個頁面中。於根據本發明之實施例中,一個特定的儲存區域係建置於該快閃記憶體中,用以集中儲存該等區塊之邏輯/實體位址關係。舉例而言,該等位址關係資訊可以被儲存為對照表的形式。為求明確與其他記憶體區域區隔,以下說明將該儲存區域統稱為表格儲存區域。
實務上,該表格儲存區域可以分布於快閃記憶體中之一個或多個區塊,並且該等邏輯/實體位址關係可被儲存於該一個或多個區塊中的一個或多個頁面內。該表格儲存區域的容量與邏輯/實體位址關係之數量及內容大小相關。以UBIFS規格為例,各區塊的EC/Vid檔頭之大小為128位元組,因此一個大小為2048位元組的頁面可存放16個區塊的邏輯/實體位址關係。換言之,快閃記憶體中的區塊數量愈多,表格儲存區域的容量也愈大。
建立表格儲存區域、將邏輯/實體位址關係由各區塊複製至表格儲存區域等工作,可以是在該次電子系統啟動後快閃記憶體首次被使用時,由電子系統中的記憶體管理韌體協助完成。須說明的是,該等邏輯/實體位址關係在使用過程中是可能會變動的。除了存有最新版之位址關係資訊的頁面之外,上述表格儲存區域中還可另外包含一些備用儲存頁面,做為修改位址關係資訊時的替換頁面,以避免某些頁面被頻繁重複使用。舉例而言,實際上存有最新版之位址關係資訊的頁面可能是10個,而該表格儲存區域可另外再包含其他10個或20個備用儲存頁面。
圖一為根據本發明之快閃記憶體的內容範例示意圖。於此範例中,前述表格儲存區域12包含兩個區塊,其他標號為14的區塊則代表供電子系統存放使用者資料或應用程式資料的區塊。表格儲存區域12中標號為12A的複數頁面為目前存有最新版之位址關係資訊的儲存頁面;標號為12B的複數頁面為備用儲存頁面。易言之,各區塊14的邏輯/實體位址關係資訊除了存放在本身的區塊中之外,也會被集中存放在該等儲存頁面12A以及備用儲存頁面12B中。
採用根據本發明之記憶體管理方法的電子系統中包含一輔助記憶體,例如一隨機存取記憶體(RAM)。在該電子系統被開機或重置的啟動程序中,快閃記憶體內各區塊的邏輯/實體位址關係資訊會被複製至該輔助記憶體,用以供電子系統後續與該快閃記憶體溝通時參考。
圖二為本實施例中的記憶體管理方法流程圖。實務上,該方法可交由電子系統中的軟體、韌體或硬體來執行。如圖二所示,在電子系統被啟動後,步驟S21首先被執行,用以判斷儲存於表格儲存區域12中之該等邏輯/實體位址關係是否正確。於實際應用中,若電子系統被不正常關機或是電力無預警中斷,表格儲存區域12中的位址關係資訊就有可能出現錯誤。比方說,有可能某個區塊的邏輯/實體位址關係實際上已改變,但在表格儲存區域12中的內容被相對應地更新前發生電力中斷的狀況。步驟S21的目的就在於避免將錯誤的位址資訊複製至該輔助記憶體。
若步驟S21之判斷結果為是,步驟S22將被執行,用以將該等邏輯/實體位址關係自表格儲存區域12複製至該輔助記憶體,供該電子系統與該快閃記憶體溝通時參考。相對地,若步驟S21之判斷結果為否,步驟S23將被執行,用以掃描該等區塊14,以確認各區塊14的邏輯/實體位址關係。接著,步驟S24將自步驟S23所得之該等邏輯/實體位址關係儲存至該輔助記憶體,供該電子系統與該快閃記憶體溝通時參考。
由以上說明可看出,當儲存於表格儲存區域12中之邏輯/實體位址關係是正確的,已集中於表格儲存區域12中的位址關係資訊便可直接被複製至電子系統的輔助記憶體中,省去重新掃描所有區塊14的程序。相較於先前技術中每次都必須重新掃描所有區塊14的做法,若採用上述方法,在電子系統之輔助記憶體中重建位址轉換表的時間必然可被有效縮短。
如圖三所示,於一實施例中,該快閃記憶體中另包含一個控制儲存區域16,儲存有一頁面有效性位置圖表16A,用以表示該等儲存頁面12A或備用儲存頁面12B之有效性。有效性意指該特定頁面是否存有正確之邏輯/實體位址關係,換言之,該頁面有效性位置圖表16A指涉特定頁面為一個存有最新邏輯/實體位址關係之儲存頁面12A或一個備用儲存頁面12B。以頁面有效性位置圖表16A為一二進位圖表(bitmap)的情況為例,該二進位圖表可為例如[1 0 1 0 0 1 0 0 1 0 0......]形式的二進位序列;該序列中的每一個位元對應於一個儲存頁面12A或一個備用儲存頁面12B。於此實施例中,有效頁面(亦即儲存頁面12A)所對應的位元為1,無效頁面(亦即備用儲存頁面12B)所對應的位元為0。該序列中之每個位元都一對一地對應到表格儲存區域12中的每一個儲存頁面12A以及每一個備用儲存頁面12B。若該序列中各位元的排列順序係對應於表格儲存區域12中的頁面先後順序,由該序列即可看出該等儲存頁面12A在表格儲存區域12中的位置。
實務上,頁面有效性位置圖表16A可以是在快閃記憶體首次被使用時,由電子系統中的記憶體管理韌體協助建立,且不以二進位圖表為限。在電子系統的啟動程序中,快閃記憶體的韌體可以根據頁面有效性位置圖表16A判斷需讀取表格儲存區域12中的哪些頁面。此外,在電子系統關機前,快閃記憶體的韌體可負責確認所有被作業系統修改過的邏輯/實體位址關係都已被更新至表格儲存區域12,並確認頁面有效性位置圖表16A所儲存者為最新版的二進位圖表。
於一實施例中,除了上述序列之外,頁面有效性位置圖表16A中亦儲存有用以標示頁面有效性位置圖表16A是否正確之一旗標(flag)。每當出現某個區塊之邏輯/實體位址關係被改變的情況,該旗標可先被設定為0,直到確認表格儲存區域12和頁面有效性位置圖表16A也被正確地更新後,該旗標才被重新設定為1。因此,圖二中之步驟S21可為直接根據該旗標為0或1判斷該儲存區域中之該等邏輯/實體位址關係是否正確。更明確地說,於此實施例中,若步驟S21的判斷結果是該旗標為0,步驟S23和步驟S24將被執行;若步驟S21的判斷結果是該旗標為1,步驟S22將被執行。
圖四係用以說明當某個區塊之邏輯/實體位址關係被改變時,根據本發明之記憶體管理方法可如何修改表格儲存區域12和頁面有效性位置圖表16A的內容,其中該頁面有效性位置圖表16A為一二進位圖表。於此範例中,將被修改之該目標邏輯/實體位址關係原先是儲存於表格儲存區域12中之一目標頁面22A內,且目標頁面22A係對應於頁面有效性位置圖表16A中之一目標位元18A。在修改程序開始前,目標位元18A原先為1。當該目標關係被修改為一修改後關係時,目標位元18A會被設定為0,藉此表示目標頁面22A中原本的內容已不再是完全正確的。接著,該修改後關係與原先儲存於目標頁面22A之其他邏輯/實體位址關係被寫入原為備用頁面的頁面22B。原先頁面有效性位置圖表16A中對應於頁面22B的位元18B為0。在確認完成針對頁面22B的寫入程序後,頁面有效性位置圖表16A中對應於頁面22B的位元18B才被設定為1。
上述修改程序的優點在於可確保在頁面22B已完全被修改為正確內容之前,位元18B不會被設定為1。換句話說,在針對頁面22B的寫入程序尚未完成前,若該電子系統發生異常狀況,系統恢復正常後不會誤認頁面22B之內容是正確的。實務上,目標頁面22A中的舊有資料可被抹除,使目標頁面22A成為一備用頁面。此外,在頁面有效性位置圖表16A被修改完成後,電子系統的韌體亦可根據該修改內容同步更新電子系統之輔助記憶體中的位址轉換表。
由以上說明可看出,在表格儲存區域12之內容完全正確的情況下,頁面有效性位置圖表16A中的位元1之數量為定值。以先前所述表格儲存區域12共包含32個頁面且儲存頁面12A之數量維持在10個的假設為例,在正常情況下,頁面有效性位置圖表16A中的位元1之數量應等於10,位元0之數量則應等於22。如果在針對頁面22B的寫入程序尚未完成前,該電子系統發生異常狀況,位元1之數量會是9,而位元0之數量會是23。
承上所述,頁面有效性位置圖表16A中的位元1之數量是否等於一預設值亦可做為判斷表格儲存區域12之內容是否完全正確的依據。圖五係繪示此類實施例中之一記憶體管理方法流程範例。如圖五所示,首先,步驟S31為判斷頁面有效性位置圖表16A中的位元1數量是否小於一預設值(例如上述範例中的10)。若步驟S31的判斷結果顯示頁面有效性位置圖表16A中的位元1數量等於該預設值,表示表格儲存區域12的內容正確,步驟S32將被執行,將該等邏輯/實體位址關係自表格儲存區域12複製至該電子系統的輔助記憶體中。
相對地,若步驟S31的判斷結果為是,步驟S33~步驟S35將被執行。步驟S33為根據該等有效之儲存頁面(亦即對應於頁面有效性位置圖表16A中位元1的頁面)判斷需要確認快閃記憶體中哪些區塊14之邏輯/實體位址關係。須說明的是,各個儲存頁面中可記錄其中所儲存的是哪些區塊14之邏輯/實體位址關係。因此,根據有效之儲存頁面的內容即可看出表格儲存區域12中目前正確存有哪些區塊14的邏輯/實體位址關係,亦可相對判斷出哪些區塊14的邏輯/實體位址關係不正確。接著,步驟S34為掃描步驟S33判斷區塊14所存之邏輯/實體位址關係不正確之該等區塊14,以確認該等區塊14之邏輯/實體位址關係。步驟S35則是將步驟S34所得之該等邏輯/實體位址關係以及步驟S33用以判斷之該等有效之儲存頁面中所存之該等邏輯/實體位址關係儲存至該電子裝置的輔助記憶體。
在上述實施例中,即使表格儲存區域12中的內容有誤,電子系統的韌體亦無須重新掃描所有的區塊14。易言之,表格儲存區域12中正確的部份還是可以被直接複製至輔助記憶體。平均而言,此方案可進一步縮短在電子系統之輔助記憶體中重建位址轉換表的時間。
根據本發明之另一具體實施例為一種電腦可讀取儲存媒體,其中儲存有能由一電子系統讀取並執行之一程式碼。舉例而言,該程式碼可為安裝於電子系統中的記憶體管理韌體,但不以此為限。該電子系統包含一輔助記憶體且能與包含複數個區塊之一快閃記憶體溝通。每一區塊具有一邏輯/實體位址關係。該快閃記憶體中之一儲存區域儲存有該等邏輯/實體位址關係。該程式碼係用以管理該快閃記憶體且包含:一第一子程式碼,用以判斷儲存於該儲存區域中之該等邏輯/實體位址關係是否正確;以及一第二子程式碼,用以於該第一子程式碼之判斷結果為是時,將該等邏輯/實體位址關係自該儲存區域複製至該輔助記憶體,供該電子系統與該快閃記憶體溝通時參考。
於另一實施例中,上述第一子程式碼可被修改為根據頁面有效性位置圖表16A中的旗標或位元1數量判斷表格儲存區域12中所儲存之該等邏輯/實體位址關係是否正確。此外,上述程式碼亦可進一步包含對應於圖五之步驟S33~步驟S35的子程式碼。於另一實施例中,根據本發明之程式碼亦可進一步包含用以實現先前所述之修改程序的子程式碼。
根據本發明之另一具體實施例為如圖六所示之電子系統60,其中包含一輔助記憶體62及一控制器64。為明確呈現本發明的技術重點,電子系統60中其他可能存在的硬體裝置未繪示於圖中。電子系統60能與包含複數個區塊之快閃記憶體70溝通。快閃記憶體70中的每一區塊各自具有一邏輯/實體位址關係,且快閃記憶體70中之一儲存區域72儲存有該等邏輯/實體位址關係。當快閃記憶體70被耦接至電子系統60,控制器64分別耦接至輔助記憶體62及快閃記憶體70。
於電子系統60之啟動程序中,控制器64首先判斷儲存於儲存區域72中之該等邏輯/實體位址關係是否正確;若是,控制器64便將該等邏輯/實體位址關係自儲存區域72複製至輔助記憶體62,供電子系統60與快閃記憶體70溝通時參考。實務上,控制器64可被設計為包含用以執行步驟S31和步驟S33之一判斷單元、用以執行步驟S34之一掃瞄單元,以及用以執行步驟S35之一複製單元;其詳細實施方式可參見先前的說明,不再贅述。
此外,控制器64亦可被設計為進一步包含一設定單元和一讀寫單元。該設定單元係用以設定頁面有效性位置圖表16A中的各個位元為0或1。該讀寫單元則係用以將修改後關係與原先儲存於該目標頁面之其他邏輯/實體位址關係寫入另一頁面。這兩個硬體單元的詳細實施方式可參見先前的說明,不再贅述。
如上所述,本發明提出一種新的記憶體控制方案。藉由在快閃記憶體中建立一儲存區域,集中存放所有區塊的邏輯/實體位址對應關係,根據本發明之記憶體控制方案可有效縮短在電子系統之輔助記憶體中重建位址轉換表的時間,進而提升電子系統的整體效率。
以UBIFS系統中包含100個區塊之快閃記憶體為例,尚未應用本發明提出的記憶體管理方案前,系統初始時需讀取200個分頁,方能重建邏輯-實體轉換表。若應用本發明提出的記憶體管理方案,搜尋作為頁面有效性位置圖表的二進位圖表的平均搜尋數大約是一半的區塊分頁數;以一個區塊包含64個分頁的情況為例,平均搜尋數為32個分頁。假設一個分頁能儲存16個區塊的邏輯/實體位址關係,則只需要7個分頁就足以存放100個區塊區塊的邏輯/實體位址關係。因此,記憶體韌體讀取分頁的數目從200個分頁降低為平均只需讀取39個分頁就能重建轉換表,省下約60%的時間。如果各分頁的容量越大,或是快閃記憶體中的區塊數量越多,應用本發明提出的記憶體管理方案能省下時間也會越多。
藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。
12...表格儲存區域
12A、22A...有效頁面
12B、22B...無效頁面
14...記憶體區塊
16...控制儲存區域
16A...頁面有效性位置圖表
18A、18B...位元
60...電子系統
62...輔助記憶體
64...控制器
70...快閃記憶體
72...儲存區域
S21~S24...流程步驟
S31~S35...流程步驟
圖一、圖三、圖四為根據本發明之快閃記憶體的內容範例示意圖。
圖二和圖五為根據本發明之實施例中的記憶體管理方法流程圖。
圖六為根據本發明之一具體實施例中之電子系統方塊圖。
S21~S24...流程步驟

Claims (19)

  1. 一種應用於一電子系統之記憶體管理方法,該電子系統包含一輔助記憶體且能與包含複數個區塊之一快閃記憶體溝通,每一區塊具有一邏輯/實體位址關係,該快閃記憶體中之一儲存區域儲存有該複數個邏輯/實體位址關係,該方法包含:(a)判斷儲存於該儲存區域中之該複數個邏輯/實體位址關係是否正確;以及(b)若步驟(a)之判斷結果為是,將該複數個邏輯/實體位址關係自該儲存區域複製至該輔助記憶體。
  2. 如申請專利範圍第1項所述之記憶體管理方法,其中該儲存區域分布於該快閃記憶體中之一區塊,並且該複數個邏輯/實體位址關係被儲存於該區塊中之複數個儲存頁面內。
  3. 如申請專利範圍第2項所述之記憶體管理方法,其中該快閃記憶體中亦儲存有一頁面有效性位置圖表,用以表示該複數個儲存頁面之有效性,有效性係指各該儲存頁面中之該複數個邏輯/實體位址關係是否正確,並且步驟(a)包含根據該頁面有效性位置圖表判斷該儲存區域中之該複數個邏輯/實體位址關係是否正確。
  4. 如申請專利範圍第3項所述之記憶體管理方法,其中該頁面有效性位置圖表中儲存有一旗標,並且步驟(a)包含根據該旗標判斷該儲存區域中之該複數個邏輯/實體位址關係是否正確;該方法進一步包含:(c1)若步驟(a)之判斷結果為否,掃描該快閃記憶體包含之該複數個區塊,以確認該複數個邏輯/實體位址關係;以及(c2)將步驟(c1)所得之該複數個邏輯/實體位址關係儲存至該輔助記憶體。
  5. 如申請專利範圍第3項所述之記憶體管理方法,其中該頁面有效性位置圖表為一二進位圖表,每一儲存頁面係對應於該二進位圖表中之一位元,一有效之儲存頁面所對應之位元為1,一無效之儲存頁面所對應之位元為0,並且步驟(a)包含根據該頁面有效性位置圖表中之一位元1數量判斷該儲存區域中所儲存之該複數個邏輯/實體位址關係是否正確。
  6. 如申請專利範圍第5項所述之記憶體管理方法,進一步包含:(d1)若該位元1數量小於一預設值,根據該複數個有效之儲存頁面判斷須確認之複數個區塊;(d2)掃描步驟(d1)判斷須確認之該複數個區塊,以確認該複數個區塊之邏輯/實體位址關係;以及(d3)將步驟(d2)所得之該複數個邏輯/實體位址關係及該複數個有效之儲存頁面中所存之該複數個邏輯/實體位址關係儲存至該輔助記憶體。
  7. 如申請專利範圍第5項所述之記憶體管理方法,其中該複數個邏輯/實體位址關係中之一目標關係儲存於該等儲存頁面中之一第一目標頁面,且該第一目標頁面係對應於該頁面有效性位置圖表中之一第一目標位元;該方法進一步包含:當該目標關係被修改為一修改後關係時,將該第一目標位元設定為0;將該修改後關係與儲存於該第一目標頁面之其他邏輯/實體位址關係寫入一第二目標頁面;以及將該頁面有效性位置圖表中對應於該第二目標頁面之一第二目標位元設定為1。
  8. 一種電腦可讀取儲存媒體,其中儲存有能由一電子系統讀取並執行之一程式碼,該電子系統包含一輔助記憶體且能與包含複數個區塊之一快閃記憶體溝通,每一區塊具有一邏輯/實體位址關係,該快閃記憶體中之一儲存區域儲存有該複數個邏輯/實體位址關係,該程式碼包含:一第一子程式碼,用以判斷儲存於該儲存區域中之該複數個邏輯/實體位址關係是否正確;以及一第二子程式碼,用以於該第一子程式碼之判斷結果為正確時,將該等邏輯/實體位址關係自該儲存區域複製至該輔助記憶體。
  9. 如申請專利範圍第8項所述之電腦可讀取儲存媒體,其中該儲存區域分布於該快閃記憶體中之一區塊,並且該複數個邏輯/實體位址關係被儲存於該區塊中之複數個儲存頁面內。
  10. 如申請專利範圍第9項所述之電腦可讀取儲存媒體,其中該快閃記憶體中亦儲存有一頁面有效性位置圖表,用以表示該複數個儲存頁面之有效性,有效性係指各該儲存頁面中之該複數個邏輯/實體位址關係是否正確,並且該第一子程式碼包含根據該頁面有效性位置圖表判斷該儲存區域中之該複數個邏輯/實體位址關係是否正確。
  11. 如申請專利範圍第10項所述之電腦可讀取儲存媒體,其中該頁面有效性位置圖表為一二進位圖表,每一儲存頁面係對應於該二進位圖表中之一位元,一有效之儲存頁面所對應之位元為1,一無效之儲存頁面所對應之位元為0,並且該第一子程式碼包含根據頁面有效性位置圖表中之一位元1數量判斷該儲存區域中所儲存之該複數個邏輯/實體位址關係是否正確。
  12. 如申請專利範圍第11項所述之電腦可讀取儲存媒體,其中該程式碼進一步包含:一第三子程式碼,用以於該位元1數量小於一預設值時根據該複數個有效之儲存頁面判斷須確認之複數個區塊;一第四子程式碼,用以掃描該第三子程式碼判斷須確認之該複數個區塊,以確認該複數個區塊之邏輯/實體位址關係;以及一第五子程式碼,用以將該第四子程式碼所得之該複數個邏輯/實體位址關係及該複數個有效之儲存頁面中所存之該複數個邏輯/實體位址關係儲存至該輔助記憶體。
  13. 如申請專利範圍第11項所述之電腦可讀取儲存媒體,其中該複數個邏輯/實體位址關係中之一目標關係儲存於該等儲存頁面中之一第一目標頁面,且該第一目標頁面係對應於該頁面有效性位置圖表中之一第一目標位元,該程式碼進一步包含:一第六子程式碼,用以於該目標關係被修改為一修改後關係時將該第一目標位元設定為0;一第七子程式碼,用以將該修改後關係與儲存於該第一目標頁面之其他邏輯/實體位址關係寫入一第二目標頁面;以及一第八子程式碼,用以將該頁面有效性位置圖表中對應於該第二目標頁面之一第二目標位元設定為1。
  14. 一種電子系統,可與包含複數個區塊之一快閃記憶體溝通,每一區塊具有一邏輯/實體位址關係,該快閃記憶體中之一儲存區域儲存有該複數個邏輯/實體位址關係,該電子系統包含:一輔助記憶體;以及一控制器,當該快閃記憶體被耦接至該電子系統,該控制器耦接至該輔助記憶體及該快閃記憶體;於該電子系統之一啟動程序中,該控制器判斷儲存於該儲存區域中之該複數個邏輯/實體位址關係是否正確,並將該複數個邏輯/實體位址關係自該儲存區域複製至該輔助記憶體。
  15. 如申請專利範圍第14項所述之電子系統,其中該儲存區域分布於該快閃記憶體中之區塊,並且該複數個邏輯/實體位址關係被儲存於該區塊中之複數個儲存頁面內。
  16. 如申請專利範圍第15項所述之電子系統,其中該快閃記憶體中亦儲存有一頁面有效性位置圖表,用以表示該複數個儲存頁面之有效性,有效性係指各該儲存頁面中之該複數個邏輯/實體位址關係是否正確,並且該控制器係根據該頁面有效性位置圖表判斷該儲存區域中之該複數個邏輯/實體位址關係是否正確。
  17. 如申請專利範圍第16項所述之電子系統,其中該頁面有效性位置圖表為一二進位圖表,每一儲存頁面係對應於頁面有效性位置圖表中之一位元,一有效之儲存頁面所對應之位元為1,一無效之儲存頁面所對應之位元為0,並且該控制器係根據該頁面有效性位置圖表中之一位元1數量判斷該儲存區域中所儲存之該複數個邏輯/實體位址關係是否正確。
  18. 如申請專利範圍第17項所述之電子系統,其中該控制器包含:一判斷單元,若該位元1數量小於一預設值,該判斷單元即根據該複數個有效之儲存頁面判斷須確認之複數個區塊;一掃瞄單元,用以掃描該判斷單元判斷須確認之該複數個區塊,以確認該複數個區塊之邏輯/實體位址關係;以及一複製單元,用以將該掃瞄單元所得之該複數個邏輯/實體位址關係及該等有效之儲存頁面中所存之該複數個邏輯/實體位址關係儲存至該輔助記憶體。
  19. 如申請專利範圍第17項所述之電子系統,其中該複數個邏輯/實體位址關係中之一目標關係儲存於該等儲存頁面中之一第一目標頁面,且該第一目標頁面係對應於頁面有效性位置圖表中之一第一目標位元,該控制器包含:一設定單元,當該目標關係被修改為一修改後關係時,該設定單元首先將該第一目標位元設定為0;以及一讀寫單元,用以在該設定單元將該目標位元設定為0之後,將該修改後關係與儲存於該第一目標頁面之其他邏輯/實體位址關係寫入一第二目標頁面;其中在該讀寫單元將該等關係寫入該第二目標頁面之後,該設定單元將該頁面有效性位置圖表中對應於該第二目標頁面之一第二目標位元設定為1。
TW100136362A 2011-10-06 2011-10-06 電子系統及其記憶體管理方法 TWI432962B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW100136362A TWI432962B (zh) 2011-10-06 2011-10-06 電子系統及其記憶體管理方法
US13/371,588 US20130091322A1 (en) 2011-10-06 2012-02-13 Electronic System and Memory Managing Method Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100136362A TWI432962B (zh) 2011-10-06 2011-10-06 電子系統及其記憶體管理方法

Publications (2)

Publication Number Publication Date
TW201316167A TW201316167A (zh) 2013-04-16
TWI432962B true TWI432962B (zh) 2014-04-01

Family

ID=48042870

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100136362A TWI432962B (zh) 2011-10-06 2011-10-06 電子系統及其記憶體管理方法

Country Status (2)

Country Link
US (1) US20130091322A1 (zh)
TW (1) TWI432962B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268682B2 (en) 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
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
US20140344796A1 (en) * 2013-05-20 2014-11-20 General Electric Company Utility meter with utility-configurable sealed data
US10061708B2 (en) * 2016-05-12 2018-08-28 SK Hynix Inc. Mapped region table
CN107656875B (zh) * 2017-09-15 2020-05-15 至誉科技(武汉)有限公司 作为***盘的固态硬盘缩短上电时间的方法及***
US10504605B2 (en) * 2017-11-02 2019-12-10 National Tsing Hua University Method and system for testing firmware of solid-state storage device, and electronic apparatus
US11366795B2 (en) * 2019-10-29 2022-06-21 EMC IP Holding Company, LLC System and method for generating bitmaps of metadata changes
KR20210137679A (ko) * 2020-05-11 2021-11-18 에스케이하이닉스 주식회사 메모리 컨트롤러

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6377500B1 (en) * 1999-11-11 2002-04-23 Kabushiki Kaisha Toshiba Memory system with a non-volatile memory, having address translating function
US6510488B2 (en) * 2001-02-05 2003-01-21 M-Systems Flash Disk Pioneers Ltd. Method for fast wake-up of a flash memory system
JP4385215B2 (ja) * 2003-10-21 2009-12-16 日本電気株式会社 スナップショットシミュレーション機能を有するディスクアレイ装置
JP4377790B2 (ja) * 2004-09-30 2009-12-02 株式会社日立製作所 リモートコピーシステムおよびリモートコピー方法
US7721040B2 (en) * 2007-01-18 2010-05-18 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
KR20110046243A (ko) * 2009-10-27 2011-05-04 삼성전자주식회사 사용자 장치 및 그것의 맵핑 데이터 관리 방법

Also Published As

Publication number Publication date
US20130091322A1 (en) 2013-04-11
TW201316167A (zh) 2013-04-16

Similar Documents

Publication Publication Date Title
TWI432962B (zh) 電子系統及其記憶體管理方法
US8291155B2 (en) Data access method, memory controller and memory storage system
US9009399B2 (en) Flash memory storage system and controller and data writing method thereof
TWI527037B (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
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
US8837248B2 (en) Non-volatile memory storage apparatus, memory controller and data storing method
US8478796B2 (en) Uncorrectable error handling schemes for non-volatile memories
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US9213629B2 (en) Block management method, memory controller and memory stoarge apparatus
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
TWI423026B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
JP2013065308A (ja) 不揮発性メモリを有するシステムの非正常シャットダウンの取り扱い
US20120198131A1 (en) Data writing method for rewritable non-volatile memory, and memory controller and memory storage apparatus using the same
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
US8607123B2 (en) Control circuit capable of identifying error data in flash memory and storage system and method thereof
US8943289B2 (en) Data moving method for flash memory module, and memory controller and memory storage apparatus using the same
US8762685B2 (en) Data writing method, memory controller and memory storage apparatus
TWI451247B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US20130067141A1 (en) Data writing method, and memory controller and memory storage apparatus using the same
US9830077B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US7899974B2 (en) Nonvolatile memory, mapping control apparatus and method of the same
JP2004062851A (ja) 直接重複書き込み可能で冗長フィールドの使用不要の非揮発性メモリの保存システム及びその書き込み方法
JP2012037971A (ja) メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法

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