TWI431627B - 快閃記憶體裝置及快閃記憶體裝置之運作方法 - Google Patents

快閃記憶體裝置及快閃記憶體裝置之運作方法 Download PDF

Info

Publication number
TWI431627B
TWI431627B TW098125797A TW98125797A TWI431627B TW I431627 B TWI431627 B TW I431627B TW 098125797 A TW098125797 A TW 098125797A TW 98125797 A TW98125797 A TW 98125797A TW I431627 B TWI431627 B TW I431627B
Authority
TW
Taiwan
Prior art keywords
address
flash memory
link table
page
target
Prior art date
Application number
TW098125797A
Other languages
English (en)
Other versions
TW201104690A (en
Inventor
Chao Hsin Lu
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to TW098125797A priority Critical patent/TWI431627B/zh
Priority to US12/641,612 priority patent/US8549212B2/en
Publication of TW201104690A publication Critical patent/TW201104690A/zh
Application granted granted Critical
Publication of TWI431627B publication Critical patent/TWI431627B/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
    • 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/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

快閃記憶體裝置及快閃記憶體裝置之運作方法
本發明係有關於快閃記憶體,特別是有關於快閃記憶體之實體位址與邏輯位址間的轉換。
快閃記憶體為一種可由電編程及清除其資料的非揮發性記憶體。快閃記憶體主要用來作記憶卡及通用序列匯流排(Universal Serial Bus,USB)裝置,以供電腦及其他數位產品之一般性資料儲存。快閃記憶體之製造成本遠低於電氣可擦拭可規化式唯讀記憶體(Electrically-Erasable Programmable Read-Only Memory,EEPROM)之成本,因此成為市場上的主流產品。快閃記憶體的應用範圍包括掌上型電腦(PDA)、筆記型電腦、數位音樂播放器、數位相機、以及行動電話。
主機一般利用快閃記憶體裝置進行資料儲存。一般的快閃記憶體裝置,例如記憶卡,包括一控制器及至少一快閃記憶體。當主機欲將資料存入快閃記憶體裝置時,便將欲存入的位址與資料發送至快閃記憶體裝置。主機指定的位址稱之為邏輯位址(logical address),而快閃記憶體本身的位址稱之為實體位址(physical address)。由於邏輯位址與實體位址並不相同,因此快閃記憶體裝置的控制器必須先將主機指定的邏輯位址轉換為實體位址,再將欲存入的資料寫入至快閃記憶體的實體位址。同樣的,當主機欲將資料由快閃記憶體裝置讀取時,便將欲讀取的位址發送至快閃記憶體裝置。此時,快閃記憶體裝置的控制器必須事先將主機指定的邏輯位址轉換為實體位址,再將欲讀取的資料由快閃記憶體的實體位址讀出,以便回傳至主機。
由於快閃記憶體裝置的控制器必須進行實體位址與邏輯位址的轉換,因此控制器一般而言會以一位址鏈結表(link table)儲存邏輯位址與實體位址的對應關係。如此控制器便可參考位址鏈結表中的對應關係以進行實體位址與邏輯位址的轉換。位址鏈結表必須紀錄快閃記憶體的所有實體位址的對應關係,當快閃記憶體的容量愈大時,位址鏈結表的資料量亦愈大。一般而言,位址鏈結表係儲存於快閃記憶體中,當快閃記憶體裝置啟動後,控制器再由快閃記憶體載入位址鏈結表。每當主機存取快閃記憶體而造成位址鏈結表中對應關係的變動,便需重新於快閃記憶體中儲存新的位址鏈結表。在主機高頻率的存取下,經常儲存位址鏈結表是相當耗費控制器的效能,從而減少資料傳輸的速率,例如由每秒20MB減少為每秒2MB。因此,需要一種有效地管理位址鏈結表的方法,以提升快閃記憶體裝置的效能。
有鑑於此,本發明之目的在於提供一種快閃記憶體裝置,以解決習知技術存在之問題。於一實施例中,該快閃記憶體裝置包括一快閃記憶體(flash memory)以及一控制器(controller)。該快閃記憶體包括多個區塊,其中每一區塊包括多個頁以供儲存資料,每一頁具有一實體位址。該控制器劃分一主機所運用的多個邏輯位址為多個邏輯位址區間,建立多個位址鏈結分表(Partial link table)以分別儲存該等邏輯位址區間所包含的邏輯位址與該快閃記憶體之多個實體位址之對應關係,儲存該等位址鏈結分表於該快閃記憶體中,整合該等位址鏈結分表為一位址鏈結表(Link table),並依據該位址鏈結表將該主機指示之邏輯位址轉換為實體位址。
本發明提供一種快閃記憶體裝置之運作方法。於一實施例中,一快閃記憶體包括多個區塊,每一區塊包括多個頁以供儲存資料,且每一頁具有一實體位址。首先,劃分一主機所運用的多個邏輯位址為多個邏輯位址區間。接著,建立多個位址鏈結分表(Partial link table)以分別儲存該等邏輯位址區間所包含的邏輯位址與該快閃記憶體之多個實體位址之對應關係。接著,儲存該等位址鏈結分表於該快閃記憶體中。接著,整合該等位址鏈結分表為一位址鏈結表(Link table)。最後,依據該位址鏈結表將該主機指示之邏輯位址轉換為實體位址。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:
第1圖為依據本發明之一資料儲存系統100的區塊圖。資料儲存系統100包括主機102及快閃記憶體裝置104。快閃記憶體裝置104為主機102儲存資料。於一實施例中,快閃記憶體裝置104包括一控制器112及一快閃記憶體114。快閃記憶體114包括多個區塊(block)121~12M,用以儲存資料。快閃記憶體114的每一區塊121~12M包括多個頁(page)供儲存資料,每一頁具有一實體位址。控制器112中儲存有一位址鏈結表(Link table)106,該位址鏈結表106中儲存主機102運用的邏輯位址與快閃記憶體114運用的實體位址之間的對應關係。當主機102欲存取快閃記憶體114時,控制器112將主機欲存取的邏輯位址依據位址鏈結表106轉換為實體位址,再依據轉換所得的實體位址為主機102存取快閃記憶體114。
第2A圖為依據本發明之位址鏈結表200的一實施例。位址鏈結表200紀錄主機102運用的所有邏輯位址所對應的快閃記憶體114的實體位址。舉例來說,邏輯位址LA1 被對應至實體位址PQ ,邏輯位址LAN 被對應至實體位址PM ,而邏輯位址LKN 被對應至實體位址PW 。同時,控制器112將主機102所運用的邏輯位址範圍LA1 ~LKN 依次劃分為多個邏輯位址區間201、202、203、…、20K,每一邏輯位址區間包含多個邏輯位址。例如,邏輯位址區間201包含邏輯位址LA1 ~LAN ,邏輯位址區間202包含邏輯位址LB1 ~LBN ,而邏輯位址區間20K包含邏輯位址LK1 ~LKN 。因此,位址鏈結表200可依邏輯位址區間201、202、…、20K劃分為多個邏輯位址分表,分別儲存邏輯位址區間201、202、…、20K所包含的邏輯位址LA1 ~LAN 、LB1 ~LBN 、…、LK1 ~LKN 與多個實體位址之對應關係。如此,邏輯位址分表便僅需要較小的記憶空間以供儲存。
控制器112將多個位址鏈結分表201、202、…、20K分別儲存於快閃記憶體114中。於一實施例中,位址鏈結分表201、202、…、20K分別儲存於快閃記憶體114的一儲存頁(page),而控制器112更將該等位址鏈結分表201、202、…、20K之儲存頁之實體位址紀錄於一索引表(Index table)表中。第2B圖為依據本發明之對應於第2A圖的位址鏈結表200之索引表250之示意圖。由索引表250中可見,對應於邏輯位址區間LA1 ~LAN 、LB1 ~LBN 、…、LK1 ~LKN 的位址鏈結分表201、202、…、20K之儲存頁之實體位址分別為PA 、PB 、…、PK 。當快閃記憶裝置104被主機102重新啟動時,控制器112便可自快閃記憶體114之位址為PA 、PB 、…、PK 的儲存頁讀取多個位址鏈結分表201、202、…、20K,並將位址鏈結分表201、202、…、20K整合為單一的位址鏈結表200後儲存於控制器112的暫存器或隨機存取記憶體中。如此,控制器112便可依據位址鏈結表200將主機102指示之邏輯位址轉換為實體位址。
第3A圖為依據本發明之控制器112於快閃記憶體114儲存位址鏈結分表之實施例的示意圖。假設快閃記憶體114包括兩區塊X及Y,其中區塊X包括實體位址為X1 ~XM 的儲存頁,而區塊Y包括實體位址Y1 ~YM 為的儲存頁。第3B圖為依據本發明之對應於第3A圖之實施例的位址鏈結表350之示意圖。儲存於控制器112中的位址鏈結表350由多個位址鏈結分表組合而成,包括邏輯位址範圍為LA1 ~LAN 的位址鏈結分表352、邏輯位址範圍為LI1 ~LIN 的位址鏈結分表354、以及邏輯位址範圍為LK1 ~LKN 的位址鏈結分表356。假設快閃記憶裝置104首先自主機102接收到邏輯位址分別為LA1 、LA3 、LA4 、LI1 、LI4 的資料D1 、D2 、D3 、D4 、以及D5 。控制器112首先將資料D1 、D2 、D3 分別寫入快閃記憶體114的區塊X之實體位址為X1 、X2 、X3 的儲存頁,並將新寫入的資料D1 、D2 、D3 的邏輯位址LA1 、LA3 、LA4 與實體位址X1 、X2 、X3 的對應關係紀錄於第3B圖之位址鏈結分表352中。
接著,控制器112要將資料D4 及D5 寫入快閃記憶體114的區塊X。然而,資料D4 及D5 的邏輯位址LI1 及LI4 與之前寫入的資料D1 、D2 、D3 的邏輯位址LA1 、LA3 、LA4 位於不同的位址鏈結分表。因此,控制器112先將之前資料D1 、D2 、D3 的位址鏈結分表352儲存於區塊X之實體位址X4 的儲存頁作為位址鏈結分表T1 ,並於索引表250中紀錄位址鏈結分表352的最新儲存頁實體位址X4 。接著,控制器112再將資料D4 及D5 分別寫入區塊X之實體位址為X5 、X6 的儲存頁,並將新寫入的資料D4 、D5 的邏輯位址LI1 、LI4 與實體位址X5 、X6 的對應關係紀錄於第3B圖之位址鏈結分表354中。假設控制器112接著發現後續接收的資料的邏輯位址與之前寫入的資料D4 及D5 的邏輯位址LI1 及LI4 位於不同的位址鏈結分表,因此控制器112接著將之前資料D4 及D5 的位址鏈結分表354儲存於區塊X之實體位址X7 的儲存頁作為位址鏈結分表TP ,並於索引表250中紀錄位址鏈結分表354的最新儲存頁實體位址X7 。當控制器112發現區塊X之所有儲存頁均已用於儲存資料,控制器112便將目前維護的索引表儲存於區塊X的最後一儲存頁XM 。之後,控制器112再將自主機102接收的其他新資料以同一方式寫入另一區塊Y的儲存頁Y1 ~YM 中。
第3圖之實施例的資料寫入方法可被歸納為一流程圖。第4圖為依據本發明之控制器112將資料寫入快閃記憶體114的方法400的流程圖。首先,控制器112自主機102接收欲寫入一目標邏輯位址之資料(步驟402)。接著,控制器112檢查該目標邏輯位址是否位於一先前寫入資料所對應之一目標位址鏈結分表的邏輯位址區間(步驟404)。若該目標邏輯位址位於該目前位址鏈結分表之邏輯位址區間(步驟404),則控制器112將該資料寫入快閃記憶體的一目標實體位址之儲存頁(步驟406),並將該目標實體位址與該目標邏輯位址之對應關係紀錄於控制器112中的該目前位址鏈結分表(步驟408)。若該目標邏輯位址不位於該目前位址鏈結分表之邏輯位址區間(步驟404),則控制器112將該目前位址鏈結分表儲存於快閃記憶體114之一儲存頁(步驟412),將該目前位址鏈結表之該儲存頁的實體位址紀錄於控制器112的一索引表中(步驟414),並將該目前位址鏈結分表更新為該目標邏輯位址所對應之位址鏈結分表(步驟416)。接著,控制器112再將該資料寫入快閃記憶體的一目標實體位址之儲存頁(步驟406),並將該目標實體位址與該目標邏輯位址之對應關係紀錄於控制器112中的該目前位址鏈結分表(步驟408)。
第5圖為依據本發明之控制器112清除快閃記憶體114的區塊中儲存之資料的方法500的流程圖。快閃記憶體114之多個區塊121~12M各自具有一無效表(Invalid table),每一無效表分別儲存相對應的區塊的所有實體位址與邏輯位址的對應關係。第6圖為依據本發明之無效表600的一實施例。由圖中可見,無效表600儲存相對應的區塊的所有實體位址P1 ~PM 與邏輯位址LX ~LR 的對應關係。於一實施例中,控制器112維護該等無效表,並將該等無效表分別儲存於對應之區塊的最後一頁中。
首先,控制器112決定欲清除之一目標區塊(步驟502)。接著,控制器112自該目標區塊之最後一頁讀取該目標區塊之一無效表(步驟504)。接著,控制器112讀取該目標區塊之一目標頁(步驟506),並判斷該目標頁係一無效頁或一有效頁。當該目標頁所儲存的資料對應的邏輯位址已經更新而改儲存於快閃記憶體114中的其他儲存頁時,該目標頁被判斷為一無效頁。否則,該目標頁被判斷為一有效頁。控制器112首先依據該目標區塊之無效表找出該目標頁之第一實體位址所對應的第一邏輯位址(步驟508)。接著,控制器112找出該第一邏輯位址於控制器112的位址鏈結表106中所對應的第二實體位址。若該第二實體位址與該第一實體位址相同(步驟510),則該目標頁所儲存的資料並未由快閃記憶體114中的其他儲存頁所儲存的資料所取代,因此控制器112歸類該目標頁為一有效頁(步驟512)。若該第二實體位址與該第一實體位址不相同(步驟510),則該目標頁所儲存的資料已由快閃記憶體114中的其他儲存頁所儲存的資料取代,因此控制器112歸類該目標頁為一無效頁(步驟514)。
接著,控制器112檢查是否該目標區塊之所有頁均已被歸類完畢(步驟516)。若目標區塊尚有儲存頁位被歸類,則控制器112選取該目標區塊之另一頁作為該目標頁(步驟518),並重新執行步驟506~510,以歸類該新目標頁。步驟506~步驟518的迴圈將重複執行,直到目標區塊之所有頁均已被歸類完畢為止(步驟516)。最後,控制器112將該目標區塊之所有有效頁之資料依第4圖之寫入方法400寫入一新區塊(步驟520)。當目標區塊之所有有效頁之資料均被寫入新區塊後,目標區塊的所有頁均已未儲存有用之資料,因此控制器112可清除該目標區塊之資料(步驟522)。
第7圖為依據本發明之快閃記憶體700所包含的資料區塊的一實施例的示意圖。快閃記憶體700包括多個區塊701、…、70(K-1)、70K、…、70M,其中區塊701~70(K-1)之所有頁均已被寫入資料,區塊70K僅有部分頁Z1 ~ZL 被寫入資料而其他儲存頁ZM ~ZN 為未寫入資料的空白頁,而區塊70(K+1)~70M為空白區塊。由於資料區塊701~70(K-1)的所有頁均已被寫入資料,因此資料區塊701~70(K-1)的最後一頁均儲存有索引表,其中最後的資料區塊70(K-1)的索引表為最新版本的索引表。
假設當控制器112在寫入資料DU 至快閃記憶體700的區塊70K的儲存頁ZL 後,快閃記憶裝置104突然遭斷電。因此,當快閃記憶裝置104重新啟動後,控制器112必須依照快閃記憶體700的資料重建一位址鏈結表106,以供進行邏輯位址與實體位址之轉換。第8圖為依據本發明之重建位址鏈結表的方法800的流程圖。首先,控制器112自快閃記憶體700之多個區塊搜尋僅寫入部分資料之一目標區塊(步驟802)。由第7圖之快閃記憶體700可見,僅寫入部分資料之目標區塊為區塊70K。接著,控制器112自該目標區塊70K之前一區塊70(K-1)的最後一頁YN 讀取最新版本的一索引表(步驟804)。接著,控制器112依據該索引表找出所有位址鏈結分表之儲存頁的實體位址(步驟806)。接著,控制器112自該等儲存頁讀取多個位址鏈結分表,以整合為一位址鏈結表106(步驟808)。
然而,步驟804中的前一區塊70(K-1)的最後一頁YN 所儲存的索引表中紀錄的儲存頁並非完全都儲存最新的位址鏈結分表。舉例來說,區塊70K中的位址鏈結分表T1 ~TQ 就不記載於前一區塊70(K-1)的最後一頁YN 所儲存的索引表中。因此,控制器112依據該目標區塊70K儲存的所有位址鏈結分表T1 ~TQ 更新控制器中的位址鏈結表106(步驟810)。然而,目標區塊70K中尚有最後數儲存頁ZJ 、ZL 、ZM 之對應關係未被紀錄於控制器112的位址鏈結表106中。因此,控制器112首先決定該目標區塊70K之一最後位址鏈結表TQ 之儲存頁Z1 至一第一空白頁ZM 之間的多個資料儲存頁ZJ ~ZL (步驟812)。接著,控制器112依據該等資料儲存頁ZJ ~ZL 之邏輯位址與實體位址的對應關係更新相對應的一目標位址鏈結分表,並將該位址鏈結分表寫入第一空白頁ZM (步驟814)。最後,控制器112依據該等資料儲存頁ZJ ~ZL 相對應的目標位址鏈結分表更新控制器112中的位址鏈結表106(步驟816)。因此,控制器112已重建了最新版本的位址鏈結表106,並可依據位址鏈結表106進行邏輯位址與實體位址的轉換。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
(第1圖)
100...資料儲存系統
102...主機
104...快閃記憶裝置
106...位址鏈結表
112...控制器
114...快閃記憶體
121,122,12J,12M...區塊
第1圖為依據本發明之資料儲存系統的區塊圖;
第2A圖為依據本發明之位址鏈結表的一實施例;
第2B圖為依據本發明之對應於第2A圖的位址鏈結表之索引表之示意圖;
第3A圖為依據本發明之控制器於快閃記憶體儲存位址鏈結分表之實施例的示意圖;
第3B圖為依據本發明之對應於第3A圖之實施例的位址鏈結表之示意圖;
第4圖為依據本發明之控制器將資料寫入快閃記憶體的方法的流程圖;
第5圖為依據本發明之控制器清除快閃記憶體的區塊中儲存之資料的方法的流程圖;
第6圖為依據本發明之無效表的一實施例;
第7圖為依據本發明之快閃記憶體所包含的資料區塊的一實施例的示意圖;以及
第8圖為依據本發明之重建位址鏈結表的方法的流程圖。

Claims (20)

  1. 一種快閃記憶體裝置,包括:一快閃記憶體(flash memory),包括多個區塊,每一區塊包括多個頁以供儲存資料,每一頁具有一實體位址;以及一控制器(controller),劃分一主機所運用的多個邏輯位址為多個邏輯位址區間,建立多個位址鏈結分表(Partial link table)以分別儲存該等邏輯位址區間所包含的邏輯位址與該快閃記憶體之多個實體位址之對應關係,儲存每一該等位址鏈結分表於該快閃記憶體之一頁中,整合該等位址鏈結分表為一位址鏈結表(Link table),並依據該位址鏈結表將該主機指示之邏輯位址轉換為實體位址,且維護一索引表(Index table)以供紀錄用以儲存該等位址鏈結分表之該等頁之實體位址,其中當該控制器自該主機接收到欲寫入一目標邏輯位址之一寫入資料時,該控制器檢查該目標邏輯位址是否位於一先前寫入資料所對應之一目標位址鏈結分表的邏輯位址區間。
  2. 如申請專利範圍第1項所述之快閃記憶體裝置,其中當該快閃記憶體之一使用區塊之所有頁都已被寫入資料時,該控制器將該索引表儲存於該使用區塊之最後一頁。
  3. 如申請專利範圍第1項所述之快閃記憶體裝置,其中若該目標邏輯位址位於該目標位址鏈結分表的邏輯位址區間,則該控制器將該寫入資料寫入該快閃記憶體之一頁,並於該目前位址鏈結分表中紀錄該目標邏輯位址與儲存該寫入資料之頁的實體位址之對應關係。
  4. 如申請專利範圍第1項所述之快閃記憶體裝置,其中若該目標邏輯位址不位於該目標位址鏈結分表的邏輯位址區間,則該控制器將該目前位址鏈結分表儲存於該快閃記憶體之一頁,並將儲存該目前位址鏈結分表之該頁的實體位址紀錄於該索引表中。
  5. 如申請專利範圍第4項所述之快閃記憶體裝置,其中當該控制器將儲存該目前位址鏈結表之該頁的實體位址紀錄於該索引表中後,該控制器將該寫入資料寫入該快閃記憶體之一頁,並於該目標邏輯位址對應之位址鏈結分表中紀錄該目標邏輯位址與儲存該寫入資料之頁的實體位址之對應關係。
  6. 如申請專利範圍第1項所述之快閃記憶體裝置,其中該控制器維護多個無效表(Invalid table)以分別儲存該快閃記憶體之該等區塊的所有實體位址與多個邏輯位址的對應關係,而該等無效表被儲存於對應之該等區塊中。
  7. 如申請專利範圍第6項所述之快閃記憶體裝置,其中當該控制器決定清除該快閃記憶體之一目標區塊時,該控制器依據該目標區塊之該無效表歸類該目標區塊之各頁為有效頁或無效頁,將該目標區塊之所有有效頁所儲存之資料寫入一新區塊,並清除該目標區塊所儲存之資料。
  8. 如申請專利範圍第7項所述之快閃記憶體裝置,其中該控制器依據該索引表找出該目標區塊之多個頁之第一實體位址對應之多個第一邏輯位址,決定於該位址鏈結表中是否該等第一邏輯位址對應於該等第一實體位址,當該位址鏈結表中該等第一邏輯位址對應於該等第一實體位址 時則歸類該目標區塊之該等頁為有效頁,以及當該位址鏈結表中該等第一邏輯位址不對應於該等第一實體位址時則歸類該目標區塊之該等頁為無效頁。
  9. 如申請專利範圍第1項所述之快閃記憶體裝置,其中當該控制器欲重建該位址鏈結表時,該控制器自該快閃記憶體之該等區塊搜尋僅儲存部份資料之一目標區塊,自該目標區塊之前一區塊的最後一頁讀取該索引表,依據該索引表找出儲存該等位址鏈結分表之頁的實體位址,並讀取該等位址鏈結分表以整合為該位址鏈結表。
  10. 如申請專利範圍第9項所述之快閃記憶體裝置,其中當該控制器欲重建該位址鏈結表時,該控制器更將該目標區塊中儲存位址鏈結分表的多個頁之實體位址紀錄至該索引表,依據該目標區塊中儲存的該等位址鏈結分表更新該位址鏈結表,決定該目標區塊之一最後位址鏈結分表至一空白頁之間的多個資料頁,並將該等資料頁之實體位址與邏輯位址的對應關係紀錄至該位址鏈結表。
  11. 一種快閃記憶體裝置之運作方法,其中一快閃記憶體包括多個區塊,每一區塊包括多個頁以供儲存資料,且每一頁具有一實體位址,該方法包括下列步驟:劃分一主機所運用的多個邏輯位址為多個邏輯位址區間;建立多個位址鏈結分表(Partial link table)以分別儲存該等邏輯位址區間所包含的邏輯位址與該快閃記憶體之多個實體位址之對應關係;儲存每一該等位址鏈結分表於該快閃記憶體之一頁 中;整合該等位址鏈結分表為一位址鏈結表(Link table);依據該位址鏈結表將該主機指示之邏輯位址轉換為實體位址;以及維護一索引表(Index table)以供紀錄用以儲存該等位址鏈結分表之該等頁之實體位址,其中當該快閃記憶體裝置自該主機接收到欲寫入一目標邏輯位址之一寫入資料時,檢查該目標邏輯位址是否位於一先前寫入資料所對應之一目標位址鏈結分表的邏輯位址區間。
  12. 如申請專利範圍第11項所述之快閃記憶體裝置之運作方法,其中該方法更包括:當該快閃記憶體之一使用區塊之所有頁都已被寫入資料時,將該索引表儲存於該使用區塊之最後一頁。
  13. 如申請專利範圍第11項所述之快閃記憶體裝置之運作方法,其中若該目標邏輯位址位於該目標位址鏈結分表的邏輯位址區間,則該方法更包括:將該寫入資料寫入該快閃記憶體之一頁;以及於該目前位址鏈結分表中紀錄該目標邏輯位址與儲存該寫入資料之頁的實體位址之對應關係。
  14. 如申請專利範圍第11項所述之快閃記憶體裝置之運作方法,其中若該目標邏輯位址不位於該目標位址鏈結分表的邏輯位址區間,則該方法更包括:將該目前位址鏈結分表儲存於該快閃記憶體之一頁;以及將儲存該目前位址鏈結分表之該頁的實體位址紀錄於 該索引表中。
  15. 如申請專利範圍第14項所述之快閃記憶體裝置之運作方法,其中該方法更包括:當儲存該目前位址鏈結分表之該頁的實體位址被紀錄於該索引表之後,將該寫入資料寫入該快閃記憶體之一頁;以及於該目標邏輯位址對應之位址鏈結分表中紀錄該目標邏輯位址與儲存該寫入資料之頁的實體位址之對應關係。
  16. 如申請專利範圍第11項所述之快閃記憶體裝置之運作方法,其中該方法更包括:維護多個無效表(Invalid table)以分別儲存該快閃記憶體之該等區塊的所有實體位址與多個邏輯位址的對應關係;以及儲存該等無效表於對應之該等區塊中。
  17. 如申請專利範圍第16項所述之快閃記憶體裝置之運作方法,其中當該快閃記憶體裝置欲清除該快閃記憶體之一目標區塊時,該方法更包括:依據該目標區塊之該無效表歸類該目標區塊之各頁為有效頁或無效頁;將該目標區塊之所有有效頁所儲存之資料寫入一新區塊;以及清除該目標區塊所儲存之資料。
  18. 如申請專利範圍第17項所述之快閃記憶體裝置之運作方法,其中該目標區塊之各頁之歸類步驟更包括:依據該索引表找出該目標區塊之多個頁之第一實體位 址對應之多個第一邏輯位址;決定於該位址鏈結表中是否該等第一邏輯位址對應於該等第一實體位址;當該位址鏈結表中該等第一邏輯位址對應於該等第一實體位址時,歸類該目標區塊之該等頁為有效頁;以及當該位址鏈結表中該等第一邏輯位址不對應於該等第一實體位址時,歸類該目標區塊之該等頁為無效頁。
  19. 如申請專利範圍第11項所述之快閃記憶體裝置之運作方法,其中當該快閃記憶體裝置欲重建該位址鏈結表時,該方法更包括:自該快閃記憶體之該等區塊搜尋僅儲存部份資料之一目標區塊;自該目標區塊之前一區塊的最後一頁讀取該索引表;依據該索引表找出儲存該等位址鏈結分表之頁的實體位址;以及讀取該等位址鏈結分表以整合為該位址鏈結表。
  20. 如申請專利範圍第19項所述之快閃記憶體裝置之運作方法,其中當該控制器欲重建該位址鏈結表時,該方法更包括:將該目標區塊中儲存位址鏈結分表的多個頁之實體位址紀錄至該索引表;依據該目標區塊中儲存的該等位址鏈結分表更新該位址鏈結表;決定該目標區塊之一最後位址鏈結分表至一空白頁之間的多個資料頁;以及 將該等資料頁之實體位址與邏輯位址的對應關係紀錄至該位址鏈結表。
TW098125797A 2009-07-31 2009-07-31 快閃記憶體裝置及快閃記憶體裝置之運作方法 TWI431627B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW098125797A TWI431627B (zh) 2009-07-31 2009-07-31 快閃記憶體裝置及快閃記憶體裝置之運作方法
US12/641,612 US8549212B2 (en) 2009-07-31 2009-12-18 Flash storage device and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098125797A TWI431627B (zh) 2009-07-31 2009-07-31 快閃記憶體裝置及快閃記憶體裝置之運作方法

Publications (2)

Publication Number Publication Date
TW201104690A TW201104690A (en) 2011-02-01
TWI431627B true TWI431627B (zh) 2014-03-21

Family

ID=43528069

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098125797A TWI431627B (zh) 2009-07-31 2009-07-31 快閃記憶體裝置及快閃記憶體裝置之運作方法

Country Status (2)

Country Link
US (1) US8549212B2 (zh)
TW (1) TWI431627B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930404B (zh) * 2010-08-27 2012-11-21 威盛电子股份有限公司 存储装置及其操作方法
KR101329497B1 (ko) * 2011-03-10 2013-11-13 한양대학교 산학협력단 파티션에 따라서 저장 위치를 물리적으로 구분하는 nvram 기반의 저장 장치 및 상기 저장 장치의 동작 방법
TWI587136B (zh) * 2011-05-06 2017-06-11 創惟科技股份有限公司 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
US9645758B2 (en) * 2011-07-22 2017-05-09 Sandisk Technologies Llc Apparatus, system, and method for indexing data of an append-only, log-based structure
US9977612B1 (en) 2012-05-11 2018-05-22 Western Digital Technologies, Inc. System data management using garbage collection and logs
US9170932B1 (en) 2012-05-22 2015-10-27 Western Digital Technologies, Inc. System data storage mechanism providing coherency and segmented data loading
MY171903A (en) * 2012-06-20 2019-11-06 Certis Cisco Security Pte Ltd Bluetooth pairing system, method, and apparatus
TWI533311B (zh) 2013-07-17 2016-05-11 慧榮科技股份有限公司 快閃記憶體裝置及其運作方法
US10515367B2 (en) * 2014-03-31 2019-12-24 Ncr Corporation Fraud detection in self-service terminal
US9959059B2 (en) * 2014-10-20 2018-05-01 Sandisk Technologies Llc Storage error management
TWI613652B (zh) * 2017-03-27 2018-02-01 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
KR20200110862A (ko) * 2019-03-18 2020-09-28 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 위한 컨트롤러

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI275101B (en) * 2005-05-24 2007-03-01 Prolific Technology Inc Flash memory storage system
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
CN100573476C (zh) 2005-09-25 2009-12-23 深圳市朗科科技股份有限公司 闪存介质数据管理方法
JP5076411B2 (ja) * 2005-11-30 2012-11-21 ソニー株式会社 記憶装置、コンピュータシステム
US20080276036A1 (en) * 2005-12-21 2008-11-06 Nxp B.V. Memory with Block-Erasable Location
CN101105774B (zh) 2006-10-26 2010-08-11 福昭科技(深圳)有限公司 闪存记忆体在进行数据存取时的逻辑与物理地址转换方法
JP2009211233A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
CN101404028A (zh) 2008-11-07 2009-04-08 宇龙计算机通信科技(深圳)有限公司 一种整理文件碎片的方法和系统
US20110004720A1 (en) * 2009-07-02 2011-01-06 Chun-Ying Chiang Method and apparatus for performing full range random writing on a non-volatile memory

Also Published As

Publication number Publication date
US20110029720A1 (en) 2011-02-03
US8549212B2 (en) 2013-10-01
TW201104690A (en) 2011-02-01

Similar Documents

Publication Publication Date Title
TWI431627B (zh) 快閃記憶體裝置及快閃記憶體裝置之運作方法
KR100725390B1 (ko) 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법
US8347180B2 (en) Data storage system and method
US8291155B2 (en) Data access method, memory controller and memory storage system
TWI775122B (zh) 用來存取至少一非揮發性記憶體元件的處理單元
US8041883B2 (en) Restoring storage devices based on flash memories and related circuit, system, and method
US7761648B2 (en) Caching method for NAND flash translation layer
TWI385518B (zh) 用於快閃記憶體的資料儲存方法及儲存系統
US10101914B2 (en) Memory management method, memory control circuit unit and memory storage device
TWI427476B (zh) 快閃記憶體的存取方法及快閃記憶體裝置
TWI537728B (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI584122B (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
JP2011530133A (ja) キャッシュコンテンツの記憶管理
US9075707B2 (en) Data writing method and data storage device
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
CN108733577B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
JP2014127116A (ja) 半導体記憶装置
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
TWI386842B (zh) 記憶卡及於快閃記憶體進行資料更新的方法
CN111966281B (zh) 数据储存装置与数据处理方法
TWI450271B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
US9524236B1 (en) Systems and methods for performing memory management based on data access properties
US8209464B2 (en) Management method, management apparatus, and controller for memory data access
CN111758086B (zh) 用于ssd的映射表的刷新方法
CN101989235B (zh) 快闪存储装置及快闪存储装置的运作方法