TWI409631B - 快閃記憶體裝置以及快閃記憶體裝置的運作方法 - Google Patents

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

Info

Publication number
TWI409631B
TWI409631B TW098112467A TW98112467A TWI409631B TW I409631 B TWI409631 B TW I409631B TW 098112467 A TW098112467 A TW 098112467A TW 98112467 A TW98112467 A TW 98112467A TW I409631 B TWI409631 B TW I409631B
Authority
TW
Taiwan
Prior art keywords
random access
linked list
replaced
flash memory
memory
Prior art date
Application number
TW098112467A
Other languages
English (en)
Other versions
TW201037515A (en
Inventor
Shuihua Hu
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 TW098112467A priority Critical patent/TWI409631B/zh
Priority to US12/562,085 priority patent/US8209473B2/en
Publication of TW201037515A publication Critical patent/TW201037515A/zh
Application granted granted Critical
Publication of TWI409631B publication Critical patent/TWI409631B/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

Description

快閃記憶體裝置以及快閃記憶體裝置的運作方法
本發明係有關於記憶體,特別是有關於快閃記憶體(flash memory)。
快閃記憶體為一種可由電編程及清除其資料的非揮發性記憶體。快閃記憶體主要用來作記憶卡及通用序列匯流排(Universal Serial Bus,USB)裝置,以供電腦及其他數位產品之一般性資料儲存。快閃記憶體之製造成本遠低於電氣可擦拭可規化式唯讀記憶體(Electrically-Erasable Programmable Read-Only Memory,EEPROM)之成本,因此成為市場上的主流產品。快閃記憶體的應用範圍包括掌上型電腦(PDA)、筆記型電腦、數位音樂播放器、數位相機、以及行動電話。
一般而言,快閃記憶體係包含於一獨立的資料儲存裝置中以供儲存資料,該資料儲存裝置稱之為快閃記憶體裝置,例如前述的記憶卡。第1圖係習知應用快閃記憶體裝置104的的系統100的區塊圖。快閃記憶體裝置104包括一控制器110、一隨機存取記憶體(random access memory)120、以及快閃記憶體130、140。快閃記憶體裝置104耦接到一主機102上,以為該主機102儲存資料。於一實施例中,主機102可為電腦、數位相機、或數位音樂播放器,而快閃記憶體裝置104可為記憶卡或記憶碟。
當主機102需存取快閃記憶體時,主機102直接發送命令至快閃記憶體裝置104,再由快閃記憶裝置104的控制器110依據由主機102所收到的命令存取快閃記憶體130及140所儲存的資料。主機102係以邏輯位址(logical address)指示其所存取的資料。然而,快閃記憶體130及140卻是以實體位址(physical address)儲存資料。因此,控制器110在存取快閃記憶體130、140之前,必須先將主機102傳送的邏輯位址轉換為實體位址。隨機存取記憶體120便係儲存一鏈結表121,該鏈結表121紀錄了邏輯位址與實體位址的對應關係,以作為控制器110轉換邏輯位址為實體位址的依據。
快閃記憶體通常包含多個管理單元(management unit),以分別管理其所儲存的資料。例如,快閃記憶體130包括管理單元131~管理單元13G,而快閃記憶體140包括管理單元141~管理單元14H。每一管理單元有一對應的鏈結表以儲存其所管理的實體位址與邏輯位址的對應關係。習知快閃記憶體裝置104的隨機存取記憶體120僅儲存一個管理單元的鏈結表121。因此,當主機102所存取的邏輯位址不在鏈結表121的範圍中時,控制器110便需重新載入包含該邏輯位址的鏈結表至隨機存取記憶體120中,才能進行邏輯位址至實體位址的轉換。
當主機102僅存取小範圍的邏輯位址的資料時,習知快閃記憶體裝置104的控制器110不需經常更新隨機存取記憶體120所儲存的鏈結表121。然而,當主機102存取跨越大範圍的邏輯位址時,習知快閃記憶體裝置104的控制器110便需要反覆更新隨機存取記憶體120所儲存的鏈結表121。反覆更新隨機存取記憶體120所儲存的鏈結表121需要許多的時間,因此會降低控制器110存取快閃記憶體130及140的速度,而使習知快閃記憶體裝置104的效能下降。因此,需要一種快閃記憶體裝置,可降低隨機存取記憶體所儲存的鏈結表被更新的頻率,以提升快閃記憶體裝置的效能。
有鑑於此,本發明之目的在於提供一種快閃記憶體裝置,以解決習知技術存在之問題。於一實施例中該快閃記憶裝置耦接至一主機,包括至少一快閃記憶體(flash memory)、一隨機存取記憶體(random access memory)、以及一控制器。該快閃記憶體區分為多個管理單元(management unit),每一該等管理單元管理多個記憶區塊(memory block),且每一該等管理單元具有一對應的鏈結表(link table)以儲存其管理的記憶區塊之實體位址(physical address)與邏輯位址(logical address)的對應關係。該隨機存取記憶體(random access memory)區分為多個槽(slot),每一該等槽儲存該等管理單元其中之一所對應的鏈結表。該控制器(controller)自該主機接收一存取邏輯位址,自該隨機存取記憶體儲存之該等鏈結表找出包含該存取邏輯位址之一目標鏈結表,依據該目標鏈結表決定對應於該存取邏輯位址的一存取實體位址,並存取該快閃記憶體位於該存取實體位址之資料。
本發明提供一種快閃記憶體裝置的運作方法。於一實施例中,該快閃記憶裝置耦接至一主機(host),並包括至少一快閃記憶體(flash memory)。首先,以一隨機存取記憶體(random access memory)儲存多個鏈結表(link table),其中該等鏈結表分別對應於該快閃記憶體的多個管理單元(management unit)其中之一,且該等鏈結表儲存該等管理單元之實體位址(physical address)與邏輯位址(logical address)的對應關係。接著,自該主機接收一存取邏輯位址。接著,依據該隨機存取記憶體儲存之該等鏈結表決定對應於該存取邏輯位址的一存取實體位址。最後,存取該快閃記憶體位於該存取實體位址之資料。
本發明提供一種快閃記憶體裝置。於一實施例中,該快閃記憶體裝置耦接至一主機(host),包括一隨機存取記憶體(random access memory)以及一控制器(controller)。該隨機存取記憶體儲存多個鏈結表(link table),該等鏈結表分別對應於至少一快閃記憶體(flash memory)的多個管理單元(management unit)其中之一。該控制器自該主機接收一存取邏輯位址,依據該隨機存取記憶體儲存之該等鏈結表決定對應於該存取邏輯位址的一存取實體位址,並存取該快閃記憶體位於該存取實體位址之資料。其中該等鏈結表儲存該等管理單元之實體位址(physical address)與邏輯位址(logical address)的對應關係。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:
第2圖為依據本發明的快閃記憶體裝置204及系統200的區塊圖。快閃記憶體裝置204耦接至主機202,為主機202儲存資料。於一實施例中,主機202可為電腦、數位相機、或數位音樂播放器等,而快閃記憶體裝置204可為記憶卡或記憶碟等。於一實施例中,快閃記憶體裝置204包括控制器210、隨機存取記憶體(random access memory)220、以及快閃記憶體(flash memory)230、240。快閃記憶體230及240包括多個管理單元(management unit)231~23I及241~24J。每一管理單元231~23I管理快閃記憶體230的一部分記憶區塊(memory block),而每一管理單元241~24J管理快閃記憶體240的一部分記憶區塊,該等記憶區塊用以儲存資料。當主機202欲存取快閃記憶體230、240中儲存的資料時,便會發送資料存取命令至快閃記憶裝置204,控制器210再依據主機發送的命令存取快閃記憶體230、240之資料。
快閃記憶體230、240之記憶區塊係以實體位址(physical address)定址,而主機202係依據邏輯位址(logical address)存取資料。因此,控制器210必須先將主機202指示的邏輯位址轉換為實體位址,才能依據實體位址存取快閃記憶體230、240。快閃記憶體230、240的每一管理單元均具有一對應的鏈結表(link table),用以儲存該管理單元所管理的實體位址與邏輯位址的對應關係。當控制器210欲進行邏輯位址至實體位址之轉換時,便先將包含該邏輯位址的鏈結表載入至隨機存取記憶體220,再依據該鏈結表將邏輯位址轉換為實體位址。
與習知快閃記憶體裝置104不同的是,快閃記憶體裝置204的隨機存取記憶體220包含多個槽(slot),每一槽用以儲存一鏈結表。因此,隨機存取記憶體220可儲存多個鏈結表221~22K。於一實施例中,快閃記憶體230、240包含較多數目的管理單元231~23I及241~24J,每一管理單元231~23I及241~24J管理較少數目的記憶區塊,因此管理單元231~23I及241~24J所對應的鏈結表具有較少的資料量,從而隨機存取記憶體220可較隨機存取記憶體120儲存較多數目的鏈結表。於另一實施例中,隨機存取記憶體220之容量較隨機存取記憶體120為大,因而隨機存取記憶體220可較隨機存取記憶體120儲存較多數目的鏈結表。由於隨機存取記憶體220可儲存多個鏈結表,便可減低控制器210置換隨機存取記憶體220中儲存的鏈結表的頻率,而可加快控制器210存取快閃記憶體230、240的速度,進而提升快閃記憶體裝置204的效能。
舉例來說,當主機202要求快閃記憶裝置204存取某一特定檔案的資料時,控制器210至少必須存取三個不同的資料,分別為檔案分配表(file allocation table,FAT)、目錄登記表(directory entry)、以及該檔案資料本身。在一般的情況下,檔案分配表、目錄登記表、以及檔案資料會儲存在不同的管理單元中,因此控制器210必須至隨機存取記憶體220讀取分別對應三個不同管理單元的三個鏈結表,才能分別存取檔案分配表、目錄登記表、以及檔案資料。由於隨機存取記憶體220有多個槽以儲存多個鏈結表,因此對應上述檔案分配表、目錄登記表、以及檔案資料的鏈結表可以同時儲存於隨機存取記憶體220中,而不需反覆的更新隨機存取記憶體220中的鏈結表。反之,習知的快閃記憶裝置104的隨機存取記憶體120僅能儲存一個鏈結表,因此必須反覆更新隨機存取記憶體120中的鏈結表,控制器110才能分別存取檔案分配表、目錄登記表、以及檔案資料,造成時間的延遲。因此,本發明的快閃記憶裝置204之效能顯著優於習知的快閃記憶裝置104之效能。
第3圖為依據本發明之快閃記憶體裝置所包含的快閃記憶體230及240的示意圖。於一實施例中,快閃記憶體230包括兩個管理單元,分別為管理單元0及管理單元1。管理單元0及管理單元1均包含M個記憶區塊。於一實施例中,快閃記憶體240包括(N-1)個管理單元,分別為管理單元2~管理單元N。管理單元2~管理單元N亦均包含M個記憶區塊。第4圖為依據本發明之快閃記憶體裝置之邏輯位址空間400及實體位址空間的對應關係示意圖。假設主機存取的邏輯位址空間400區分為邏輯位址區間0~邏輯位址區間X。快閃記憶體230的管理單元0及管理單元1各自有對應的實體位址區間,而快閃記憶體240的管理單元2~管理單元N亦各自有對應的實體位址區間。
如第4圖所示,當主機202欲存取邏輯位址區間0~邏輯位址區間X時,控制器210會經由隨機存取記憶體220中儲存的鏈結表221~22K將邏輯位址區間0~邏輯位址區間X轉會為其所對應的管理單元的實體位址區間。例如,邏輯位址區間1可經由鏈結表222轉換為快閃記憶體230包含的管理單元1之實體位址區間。邏輯位址區間3可經由鏈結表221轉換為快閃記憶體240包含的管理單元4之實體位址區間。而邏輯位址區間X可經由鏈結表22K轉換為快閃記憶體240所包含的管理單元N之實體位址區間。如上所述,鏈結表221~22K所分別包含的各實體位址區間彼此並不連續。
第5圖為依據本發明之快閃記憶裝置204的運作方法500之流程圖。首先,控制器210將對應多個管理單元之多個鏈結表221~22K載入至隨機存取記憶體220中(步驟502)。接著,控制器210自主機202接收其所指示的一存取邏輯位址(步驟504)。接著,控制器220讀取隨機存取記憶體220,以判斷是否隨機存取記憶體220儲存的鏈結表221~22K包含對應於主機202指示的存取邏輯位址之一目標鏈結表(步驟506)。此時,若隨機存取記憶體220儲存的鏈結表221~22K包含對應於存取邏輯位址之目標鏈結表,則控制器210便可依據該目標鏈結表找出對應於存取邏輯位址之一存取實體位址(步驟514)。接著,控制器210再自對應該目標鏈結表之管理單元存取該存取實體位址之資料(步驟516),以達成主機202交付的命令。
反之,若隨機存取記憶體220儲存的鏈結表221~22K並未包含對應於存取邏輯位址之目標鏈結表(步驟506),則控制器210需將目標鏈結表事先載入隨機存取記憶體220以進行存取。此時,隨機存取記憶體220可能沒有足夠的記憶空間容納目標鏈結表。因此,控制器210首先依據一替換法則自隨機存取記憶體220儲存的鏈結表221~22K中選取一被替換鏈結表(步驟508),然後自隨機存取記憶體220清除該被替換鏈結表(步驟510),以挪出空餘的槽。接著,控制器210再載入該目標鏈結表至隨機存取記憶體220(步驟512)。因此,控制器210便可繼續依據該目標鏈結表找出對應於存取邏輯位址之一存取實體位址(步驟514),再自對應該目標鏈結表之管理單元存取該存取實體位址之資料(步驟516)。此時,若欲繼續存取流程(步驟518),則控制器210自主機接收新的存取邏輯位址(步驟502),並對新的存取邏輯位址執行步驟504~516的流程。若不繼續存取流程(步驟518),則結束執行方法500。
當控制器210自隨機存取記憶體220儲存的鏈結表221~22K中選取被替換鏈結表時(步驟508),可依據不同的替換法則以決定被替換鏈結表。於一實施例中,控制器210事先紀錄主機202存取管理單元0~管理單元N之資料的存取頻率。接著,控制器210查詢隨機存取記憶體220儲存之鏈結表221~22K所對應的管理單元之存取頻率,並選取對應於最低的存取頻率之鏈結表作為該被替換鏈結表。如此,鏈結表221~22K中具有最低存取頻率之鏈結表將被清除,以保留高存取頻率的鏈結表於隨機存取記憶體220。
於另一實施例中,控制器210事先紀錄主機202存取管理單元0~管理單元N之資料的存取時間。當控制器210自隨機存取記憶體220儲存之鏈結表221~22K中選取該被替換鏈結表時,控制器210查詢隨機存取記憶體220儲存之鏈結表221~22K所對應的管理單元之存取時間,並選取對應於最早的存取時間之鏈結表作為該被替換鏈結表。如此,鏈結表221~22K中具有最早存取時間之鏈結表將被清除,以保留較晚近的存取時間的鏈結表於隨機存取記憶體220。此外,於另一實施例中,部分的特定鏈結表因為經常需使用到,而不會被控制器210選取為該被替換鏈結表,例如對應於儲存一檔案分配表(file allocation table,FAT)的管理單元之鏈結表,或是對應於儲存一目錄登記表(directory entry)的管理單元之鏈結表。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
(第1/2圖)
104,204...快閃記憶體裝置
102,202...主機
110,210...控制器
120,220...隨機存取記憶體
130,140,230,240...快閃記憶體
121,221,222,22K...鏈結表
131~13G,141~14H,231-231,241-24J...管理單元
(第3圖)
230,240...快閃記憶體
管理單元0-管理單元N
區塊0-區塊M
(第4圖)
400...邏輯位址空間
230,240...快閃記憶體
220...隨機存取記憶體
221,222,22K...鏈結表
第1圖為習知快閃記憶體裝置的區塊圖;
第2圖為依據本發明的快閃記憶體裝置的區塊圖;
第3圖為依據本發明之快閃記憶體裝置所包含的快閃記憶體的示意圖;
第4圖為依據本發明之快閃記憶體裝置之邏輯位址空間及實體位址空間的對應關係示意圖;以及
第5圖為依據本發明之快閃記憶裝置的運作方法之流程圖。
204...快閃記憶體裝置
202...主機
210...控制器
220...隨機存取記憶體
230、240...快閃記憶體
221、222、22K...鏈結表
231-23I、241-24J...管理單元

Claims (12)

  1. 一種快閃記憶體裝置,耦接至一主機(host),包括:至少一快閃記憶體(flash memory),區分為多個管理單元(management unit),每一該等管理單元管理多個記憶區塊(memory block),且每一該等管理單元具有一對應的鏈結表(link table)以儲存其管理的記憶區塊之實體位址(physical address)與邏輯位址(logical address)的對應關係;一隨機存取記憶體(random access memory),區分為多個槽(slot),每一該等槽儲存該等管理單元其中之一所對應的鏈結表;以及一控制器(controller),自該主機接收一存取邏輯位址,自該隨機存取記憶體儲存之該等鏈結表找出包含該存取邏輯位址之一目標鏈結表,依據該目標鏈結表決定對應於該存取邏輯位址的一存取實體位址,並存取該快閃記憶體位於該存取實體位址之資料;其中當該控制器無法自該隨機存取記憶體儲存之該等鏈結表找到包含該存取邏輯位址之該目標鏈結表時,該控制器自該隨機存取記憶體儲存之該等鏈結表中選取一被替換鏈結表,自該隨機存取記憶體清除該被替換鏈結表,並將該目標鏈結表載入至該隨機存取記憶體中;其中該控制器紀錄該主機存取該等管理單元之資料的存取頻率,且當該控制器自該隨機存取記憶體儲存之該等鏈結表中選取該被替換鏈結表時,該控制器查詢該隨機存取記憶體儲存之該等鏈結表所對應的管理單元之存取頻率,並選取對應於最低的存取頻率之鏈結表作為該被替換 鏈結表;其中當該被替換鏈結表被替換時,該被替換鏈結表中記錄之實體位址所對應的該等記憶區塊內儲存之資料並不會被清除。
  2. 如申請專利範圍第1項所述之快閃記憶體裝置,其中該隨機存取記憶體儲存之該鏈結表包含對應於儲存一檔案分配表(file allocation table,FAT)的管理單元之一特定鏈結表,該特定鏈結表不會被該控制器選取為該被替換鏈結表。
  3. 如申請專利範圍第1項所述之快閃記憶體裝置,其中該隨機存取記憶體儲存之該鏈結表包含對應於儲存一目錄登記表(directory entry)的管理單元之一特定鏈結表,該特定鏈結表不會被該控制器選取為該被替換鏈結表。
  4. 如申請專利範圍第1項所述之快閃記憶體裝置,其中該快閃記憶體裝置為一記憶卡或一記憶碟。
  5. 如申請專利範圍第1項所述之快閃記憶體裝置,其中該隨機存取記憶體儲存之各該等鏈結表所分別包含的各實體位址區間彼此並不連續。
  6. 一種快閃記憶體裝置的運作方法,該快閃記憶裝置耦接至一主機(host)並包括至少一快閃記憶體(flash memory),該方法包括下列步驟:以一隨機存取記憶體(random access memory)儲存多個鏈結表(link table),其中該等鏈結表分別對應於該快閃記憶體的多個管理單元(management unit)其中之一,且該等鏈結表儲存該等管理單元之實體位址(physical address)與邏輯 位址(logical address)的對應關係;自該主機接收一存取邏輯位址;依據該隨機存取記憶體儲存之該等鏈結表決定對應於該存取邏輯位址的一存取實體位址;存取該快閃記憶體位於該存取實體位址之資料;檢查該隨機存取記憶體所儲存之該等鏈結表是否包含紀錄該存取邏輯位址之一目標鏈結表;以及當該等鏈結表未包含該目標鏈結表時,將該目標鏈結表載入至該隨機存取記憶體中;其中該目標鏈結標之載入步驟更包括:檢查該隨機存取記憶體是否具有足夠空間以儲存該目標鏈結表;以及當該隨機存取記憶體不具有足夠空間儲存該目標鏈結表時,自該等鏈結表選取一被替換鏈結表,並自該隨機存取記憶體清除之該被替換鏈結表;其中該被替換鏈結表係該等鏈結表中具有最低之存取頻率的鏈結表;其中當該被替換鏈結表被替換時,該被替換鏈結表中記錄之實體位址所對應的該等記憶區塊內儲存之資料並不會被清除。
  7. 如申請專利範圍第6項所述之快閃記憶體裝置的運作方法,其中該快閃記憶體裝置為一記憶卡或一記憶碟。
  8. 一種快閃記憶體裝置,耦接至一主機(host),包括:一隨機存取記憶體(random access memory),儲存多個鏈結表(link table),該等鏈結表分別對應於至少一快閃記憶 體(flash memory)的多個管理單元(management unit)其中之一;以及一控制器(controller),自該主機接收一存取邏輯位址,依據該隨機存取記憶體儲存之該等鏈結表決定對應於該存取邏輯位址的一存取實體位址,並存取該快閃記憶體位於該存取實體位址之資料;其中該等鏈結表儲存該等管理單元之實體位址(physical address)與邏輯位址(logical address)的對應關係;其中該控制器檢查該隨機存取記憶體所儲存之該等鏈結表是否包含紀錄該存取邏輯位址之一目標鏈結表,以及當該等鏈結表未包含該目標鏈結表時將該目標鏈結表載入至該隨機存取記憶體中;其中若該控制器發現該隨機存取記憶體不具有足夠空間儲存該目標鏈結表時,該控制器自該等鏈結表選取一被替換鏈結表,並自該隨機存取記憶體清除之該被替換鏈結表;其中該被替換鏈結表係該等鏈結表中具有最低之存取頻率的鏈結表;其中當該被替換鏈結表被替換時,該被替換鏈結表中記錄之實體位址所對應的該等記憶區塊內儲存之資料並不會被清除。
  9. 如申請專利範圍第8項所述之快閃記憶體裝置,其中該快閃記憶體裝置為一記憶卡或一記憶碟。
  10. 一種快閃記憶體裝置,耦接至一主機(host),包括:至少一快閃記憶體(flash memory),區分為多個管理單 元(management unit),每一該等管理單元管理多個記憶區塊(memory block),且每一該等管理單元具有一對應的鏈結表(link table)以儲存其管理的記憶區塊之實體位址(physical address)與邏輯位址(logical address)的對應關係;一隨機存取記憶體(random access memory),區分為多個槽(slot),每一該等槽儲存該等管理單元其中之一所對應的鏈結表;以及一控制器(controller),自該主機接收一存取邏輯位址,自該隨機存取記憶體儲存之該等鏈結表找出包含該存取邏輯位址之一目標鏈結表,依據該目標鏈結表決定對應於該存取邏輯位址的一存取實體位址,並存取該快閃記憶體位於該存取實體位址之資料;其中當該控制器無法自該隨機存取記憶體儲存之該等鏈結表找到包含該存取邏輯位址之該目標鏈結表時,該控制器自該隨機存取記憶體儲存之該等鏈結表中選取一被替換鏈結表,自該隨機存取記憶體清除該被替換鏈結表,並將該目標鏈結表載入至該隨機存取記憶體中;其中該控制器紀錄該主機存取該等管理單元之資料的存取時間,且當該控制器自該隨機存取記憶體儲存之該等鏈結表中選取該被替換鏈結表時,該控制器查詢該隨機存取記憶體儲存之該等鏈結表所對應的管理單元之存取時間,並選取對應於最早的存取時間之鏈結表作為該被替換鏈結表;其中當該被替換鏈結表被替換時,該被替換鏈結表中記錄之實體位址所對應的該等記憶區塊內儲存之資料並不 會被清除。
  11. 一種快閃記憶體裝置的運作方法,該快閃記憶裝置耦接至一主機(host)並包括至少一快閃記憶體(flash memory),該方法包括下列步驟:以一隨機存取記憶體(random access memory)儲存多個鏈結表(link table),其中該等鏈結表分別對應於該快閃記憶體的多個管理單元(management unit)其中之一,且該等鏈結表儲存該等管理單元之實體位址(physical address)與邏輯位址(logical address)的對應關係;自該主機接收一存取邏輯位址;依據該隨機存取記憶體儲存之該等鏈結表決定對應於該存取邏輯位址的一存取實體位址;存取該快閃記憶體位於該存取實體位址之資料;檢查該隨機存取記憶體所儲存之該等鏈結表是否包含紀錄該存取邏輯位址之一目標鏈結表;以及當該等鏈結表未包含該目標鏈結表時,將該目標鏈結表載入至該隨機存取記憶體中;其中該目標鏈結標之載入步驟更包括:檢查該隨機存取記憶體是否具有足夠空間以儲存該目標鏈結表;以及當該隨機存取記憶體不具有足夠空間儲存該目標鏈結表時,自該等鏈結表選取一被替換鏈結表,並自該隨機存取記憶體清除之該被替換鏈結表;其中該被替換鏈結表係該等鏈結表中具有最早之存取時間的鏈結表; 其中當該被替換鏈結表被替換時,該被替換鏈結表中記錄之實體位址所對應的該等記憶區塊內儲存之資料並不會被清除。
  12. 一種快閃記憶體裝置,耦接至一主機(host),包括:一隨機存取記憶體(random access memory),儲存多個鏈結表(link table),該等鏈結表分別對應於至少一快閃記憶體(flash memory)的多個管理單元(management unit)其中之一;以及一控制器(controller),自該主機接收一存取邏輯位址,依據該隨機存取記憶體儲存之該等鏈結表決定對應於該存取邏輯位址的一存取實體位址,並存取該快閃記憶體位於該存取實體位址之資料;其中該等鏈結表儲存該等管理單元之實體位址(physical address)與邏輯位址(logical address)的對應關係;其中該控制器檢查該隨機存取記憶體所儲存之該等鏈結表是否包含紀錄該存取邏輯位址之一目標鏈結表,以及當該等鏈結表未包含該目標鏈結表時將該目標鏈結表載入至該隨機存取記憶體中;其中若該控制器發現該隨機存取記憶體不具有足夠空間儲存該目標鏈結表時,該控制器自該等鏈結表選取一被替換鏈結表,並自該隨機存取記憶體清除之該被替換鏈結表;其中該被替換鏈結表係該等鏈結表中具有最早之存取時間的鏈結表;其中當該被替換鏈結表被替換時,該被替換鏈結表中 記錄之實體位址所對應的該等記憶區塊內儲存之資料並不會被清除。
TW098112467A 2009-04-15 2009-04-15 快閃記憶體裝置以及快閃記憶體裝置的運作方法 TWI409631B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW098112467A TWI409631B (zh) 2009-04-15 2009-04-15 快閃記憶體裝置以及快閃記憶體裝置的運作方法
US12/562,085 US8209473B2 (en) 2009-04-15 2009-09-17 Flash storage device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098112467A TWI409631B (zh) 2009-04-15 2009-04-15 快閃記憶體裝置以及快閃記憶體裝置的運作方法

Publications (2)

Publication Number Publication Date
TW201037515A TW201037515A (en) 2010-10-16
TWI409631B true TWI409631B (zh) 2013-09-21

Family

ID=42981843

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098112467A TWI409631B (zh) 2009-04-15 2009-04-15 快閃記憶體裝置以及快閃記憶體裝置的運作方法

Country Status (2)

Country Link
US (1) US8209473B2 (zh)
TW (1) TWI409631B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US20200201562A1 (en) * 2018-12-20 2020-06-25 Nanya Technology Corporation Memory device, memory system and method of reading from memory device
US11341060B2 (en) * 2020-08-11 2022-05-24 International Business Machines Corporation Multifunction communication interface supporting memory sharing among data processing systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143569A1 (en) * 2005-12-19 2007-06-21 Sigmatel, Inc. Non-volatile solid-state memory controller
TW200842577A (en) * 2006-12-28 2008-11-01 Sandisk Corp System for block relinking

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200523946A (en) 2004-01-13 2005-07-16 Ali Corp Method for accessing a nonvolatile memory
US7711923B2 (en) 2006-06-23 2010-05-04 Microsoft Corporation Persistent flash memory mapping table

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143569A1 (en) * 2005-12-19 2007-06-21 Sigmatel, Inc. Non-volatile solid-state memory controller
TW200842577A (en) * 2006-12-28 2008-11-01 Sandisk Corp System for block relinking

Also Published As

Publication number Publication date
TW201037515A (en) 2010-10-16
US8209473B2 (en) 2012-06-26
US20100268868A1 (en) 2010-10-21

Similar Documents

Publication Publication Date Title
US11074176B2 (en) Method for managing a memory apparatus
US7970806B2 (en) Methods and apparatus for file management using partitioned file metadata
KR102584018B1 (ko) 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법
US7761648B2 (en) Caching method for NAND flash translation layer
US20050015557A1 (en) Nonvolatile memory unit with specific cache
KR101329068B1 (ko) 블록 관리를 가지는 비휘발성 메모리
US8706998B2 (en) Method for managing flash memories having mixed memory types
TW201830249A (zh) 最大化可去重複記憶體的方法、記憶體系統和產品
CN103389942A (zh) 控制装置、存储装置及存储控制方法
TWI409631B (zh) 快閃記憶體裝置以及快閃記憶體裝置的運作方法
KR20180044451A (ko) 메모리 시스템 및 이를 이용한 웨어-레벨링 방법
CN101876882A (zh) 闪存装置以及闪存装置的运作方法
CN101419840A (zh) 闪存的数据储存方法