TWI512459B - 協同記憶體管理與其方法 - Google Patents

協同記憶體管理與其方法 Download PDF

Info

Publication number
TWI512459B
TWI512459B TW097103746A TW97103746A TWI512459B TW I512459 B TWI512459 B TW I512459B TW 097103746 A TW097103746 A TW 097103746A TW 97103746 A TW97103746 A TW 97103746A TW I512459 B TWI512459 B TW I512459B
Authority
TW
Taiwan
Prior art keywords
host
memory
card device
memory card
management function
Prior art date
Application number
TW097103746A
Other languages
English (en)
Other versions
TW200839511A (en
Inventor
Myoung-Soo Jung
Chan-Ik Park
Sang-Jin Oh
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of TW200839511A publication Critical patent/TW200839511A/zh
Application granted granted Critical
Publication of TWI512459B publication Critical patent/TWI512459B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • 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/7206Reconfiguration of flash memory system

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)
  • Storage Device Security (AREA)

Description

協同記憶體管理與其方法
本發明主張南韓專利申請號P2007-0010573之優先權,其優先權日為2007年2月1日,其內容在此一併做為參考。
本發明是有關於一種使用快閃記憶體技術的大量數位資料儲存系統,且特別是有關於一種有效散佈此系統資源的技術。
大量出現的可攜式電子裝置,比如電腦,數位相機,數位音樂播放器,行動電話,個人數位助理等,大量使用快閃記憶體及/或快閃記憶卡。快閃記憶卡可包括SSD,SD卡,MMC,Memory Stick,嵌入式快閃記憶卡(如moviNAND,GBNAND,iNAND等)。主機與快閃記憶體間的溝通乃利用快閃轉譯層(Flash Translation Layer,簡稱FTL)。FTL一般存於快閃記憶卡上,可能是存於控制器或快閃記憶體上,且用韌體來有效管理此快閃記憶卡。
FTL的功能比如為位址映對,耗損平衡功能(Wearleveling),垃圾收集等。位址映對可將由主機所接收到的邏輯位址轉譯成實體位址,實體位址實際用於將資料存於快閃記憶體。耗損平衡功能可用韌體來實施,其能平均實體區域的抹去次數,以有效利用NAND快閃記憶體的生命周期。垃圾收集可收集數個區塊(block)的有效資料並集中於某一區塊,以釋放該些原始區塊。
傳統快閃記憶卡可在快閃控制器執行所有的FTL功能。不幸地,快閃控制器的資源一般小於主機的資源。因而,快閃控制器執行FTL功能的速度一般較慢。在某些情況下,FTL功能可能無法執行,比如當控制器過載時。
上述與其他主題可由協同記憶體管理系統所解決。本發明提供數個實施例。
本發明提供一種協同記憶卡系統,包括:一記憶卡裝置;以及一主機,通訊於該記憶卡裝置;其中該主機承擔該記憶卡裝置之至少一記憶體管理功能。
此外,本發明提供相似的記憶卡系統。在另一種系統中,該主機發出至少一指令至該記憶卡裝置。另一種系統,包括下列至少一者:快閃記憶體,FRAM,PRAM,MRAM,DRAM或EEPROM。在另一種系統中,該至少一記憶體管理功能是快閃轉譯層功能。在另一種系統中,該至少一記憶體管理功能是作業系統功能。在另一種系統中,該至少一記憶體管理功能是裝置驅動程式功能。
在另一種系統中,該主機包括:一主機處理器;以及一工作記憶體,通訊於該主機處理器。在另一種系統中,該主機執行該記憶卡裝置之資源檢查功能,並回應於此而承擔該記憶卡裝置之該至少一功能。在另一種系統中,該主機檢查本身之可用資源,並回應於此而承擔該記憶卡裝置之該至少一功能。在另一種系統中,該主機執行該記憶卡裝置之資源檢查功能,比較該記憶卡裝置之資源與主機 之可用資源,並回應於此比較而承擔該記憶卡裝置之該至少一功能。
在另一種系統中,由該主機所承擔之該記憶卡裝置之該至少一功能包括:位址映對功能,損耗平衡,垃圾收集,關機復原,故障區塊管理,錯誤碼更正,即時管理之寫入緩衝,熱對冷資料管理,加密,解密,壓縮或解壓縮。在另一種系統中,特殊廠商記憶卡裝置驅動程式包括用於執行記憶體管理功能之軟體模組。在另一種系統中,該記憶卡裝置包括下列至少一者:固態硬碟,USB卡,SD卡,MMC,Memory Stick或嵌入式裝置。在另一種系統中,該記憶卡裝置包括:一控制器;以及一記憶體,通訊於該控制器。
本發明更提供一種介於一主機與一記憶卡裝置間之協同記憶體管理方法,該方法包括:選擇複數記憶體管理功能之至少一者,以由該主機替該裝置執行。
此外,本發明也提供相似的協同記憶體管理方法。另一種方法包括:檢查該主機或該裝置之至少一者之可用資源;以及回應於該所檢查之該可用資源,選擇該至少一記憶體管理功能。在另一種方法中,被檢查之該可用資源是該主機之資源。在另一種方法中,被檢查之該可用資源是該裝置之資源。在另一種方法中,被檢查之該可用資源是該主機之資源與該裝置之資源。在另一種方法中,檢查該可用資源包括:該裝置發出一需求至該主機,以使得該主機執行所選擇之該至少一記憶體管理功能。在另一種方法 中,該主機發出至少一指令至該記憶卡裝置。另一種方法更包括:從該記憶卡裝置載入所選擇之該至少一記憶體管理功能至該主機之一隨機存取記憶體。
在另一種方法中,該至少一指令包括一快閃轉譯層之一功能。另一種方法更包括:由該主機來檢查該記憶卡裝置之該可用資源;比較該主機之該可用資源與該記憶卡裝置之該可用資源;以及回應於該比較,決定該些記憶體管理功能要執行於該主機中及決定該些記憶體管理功能要執行於該裝置中。在另一種方法中,該主機之該可用資源包括下列至少一者:處理器類型,處理器速度,記憶體大小,記憶體速度,匯流排類型,匯流排速度,加密類型或加密速度。在另一種方法中,該記憶體管理功能包括下列至少一者:位址映對,損耗平衡,垃圾收集或抹去計次累積。在另一種方法中,該主機所選擇之該至少一記憶體管理功能之參數為該主機而設定但為該裝置而重置。在另一種方法中,介於該主機與該裝置間之一通訊協定包括下列至少一者:USB通訊協定或進階技術接附規格(Advanced Technology Attachment)通訊協定。在另一種方法中,所選擇之該至少一記憶體管理功能包括於該記憶卡裝置之快閃轉譯層碼。在另一種方法中,所選擇之該至少一記憶體管理功能包括於一裝置驅動程式內。在另一種方法中,所選擇之該至少一記憶體管理功能包括於該記憶卡裝置之一作業系統內。另一種方法更包括:從該記憶卡裝置之一記憶體載入記憶體管理功能碼至該記憶卡裝置之一控制器隨 機存取記憶體;以及從該記憶卡裝置之該記憶體載入一作業系統至該主機之該隨機存取記憶體。
另一種方法更包括:載入至少一特殊廠商記憶卡裝置驅動程式至該主機之一隨機存取記憶體。另一種方法更包括:從該記憶卡裝置載入超資料至該主機。另一種方法更包括:初始化該主機內之被選之記憶體管理功能。另一種方法更包括:啟動該主機內之被選之記憶體管理功能。另一種方法更包括:該主機產生一寫入需求;利用主機記憶體管理功能來讀取映對資料;檢查該記憶卡裝置上之可寫入空間;以及如果在該記憶卡裝置上有可寫入空間,將該寫入需求送至該裝置。
另一種方法更包括:檢查該記憶卡裝置上之垃圾區塊;如果在該記憶卡裝置上沒有垃圾區塊,執行垃圾收集,詣定垃圾區塊並更新垃圾收集資料;以及抹去該垃圾區塊。
另一種方法更包括:檢查該記憶卡裝置上之損耗平衡之需求;以及如果需要損耗平衡,執行損耗平衡並更新損耗平衡之超資料。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式,作詳細說明如下。
以下的敘述將伴隨著實施例的圖示,來詳細對本發明所提出之實施例進行說明。在各圖示中所使用相同或相似的參考標號,是用來敘述相同或相似的部份。
本說明提供在主機與快閃記憶體裝置間之協同記憶 體管理。本發明實施例所揭露為,包括分割FTL之系統與其方法。協同記憶體管理利用主機來檢查快閃記憶卡的資源,比較快閃記憶卡的資源與主機的資源,並決定哪些FTL功能由主機執行,哪些FTL由快閃記憶卡執行。
如圖1所示,快閃記憶卡系統之標號為100。快閃記憶卡系統100可為可攜式電子裝置,比如電腦,數位相機,數位音樂播放器,行動電話,個人數位助理等。快閃記憶卡系統100包括:主機110,其跟快閃記憶卡120進行通訊。快閃記憶卡120可為固態碟(SSD),SD卡,MMC,Memory Stick,嵌入式快閃記憶卡(如moviNAND,GBNAND,iNAND等)。
快閃記憶卡120包括:控制器130,其跟快閃記憶體150進行通訊。主機110利用FTL來跟快閃記憶體150通訊,其可包括邏輯電路及/或韌體以有效管理快閃記憶卡120。FTL可儲存或實施於控制器130或快閃記憶體150內。
控制器130包括:主機介面131,通訊於控制器匯流排132;快閃介面133,通訊於控制器匯流排132;緩衝記憶體135,通訊於控制器匯流排132;CPU137,通訊於控制器匯流排132;以及ROM139,通訊於控制器匯流排132。請參考圖2,具協同記憶體管理之快閃記憶卡系統標號為200。快閃記憶卡系統200包括主機210,通訊於快閃記憶卡220。主機210包括:主機匯流排211;工作記憶體213,通訊於主機匯流排211;以及主機CPU215,通訊於 主機匯流排211。
快閃記憶卡220包括控制器230,通訊於快閃記憶體250。控制器230包括:控制器匯流排232;控制器CPU233,通訊於控制器匯流排232;緩衝記憶體235,通訊於控制器匯流排232;以及ROM237,通訊於控制器匯流排232。快閃記憶體250包括:FTL碼區塊253,作業系統(OS)映像區塊255,以及使用者資料區塊257。操作時,主機210內之主機CPU215與工作記憶體213的操作速度快於控制器230內的控制器CPU233與緩衝記憶體235。因此,主機210可執行某些FTL功能。初始時,FTL碼區塊253與OS映像區塊255存於快閃記憶體250內。OS映像區塊255可包括檔案系統與裝置驅動程式,以執行一般功能。本實施例的OS映像區塊255可更包括軟體模組以執行FTL功能,比如位址映對,耗損平衡功能(Wearleveling),垃圾收集等。
現參考圖3,其詳細顯示類似於圖2之快閃記憶卡系統200之快閃記憶卡系統300,快閃記憶卡系統300具有分割FTL。快閃記憶卡系統300包括主機310,通訊於快閃記憶卡320。主機310包括:主機匯流排311;工作記憶體313,通訊於主機匯流排311;以及主機CPU315,通訊於主機匯流排311。工作記憶體313包括耗損平衡區塊314。
快閃記憶卡320包括控制器330,通訊於快閃記憶體350。控制器330包括:控制器匯流排332;控制器CPU333,通訊於控制器匯流排332;緩衝記憶體335,通訊於控制器 匯流排332;以及ROM337,通訊於控制器匯流排332。緩衝記憶體335包括位址映對區塊336與垃圾收集區塊338。快閃記憶體350包括:FTL碼區塊353,作業系統(OS)映像區塊355,以及使用者資料區塊357。在電源開啟後,FTL碼區塊353載入至緩衝記憶體335內,且包括某些FTL功能的OS映像區塊355會載入至主機310的工作記憶體313內。依此,某些FTL功能,比如此例中的位址映對區塊336與垃圾收集區塊338可操作於控制器內,而其他功能,比如此例的耗損平衡區塊314則操作於主機內。
因此,主機310內的FTL功能可利用主機的資源,其容量較大且速度較快於控制器330的資源,以增加系統性能且能有效執行所有FTL功能。在此,OS映像包括軟體模組,以執行主機內的任一或所有FTL。FTL功能可嵌入於OS碼內的檔案系統或裝置驅動程式內。包括於OS映像,檔案系統或裝置驅動程式內的任一或所有FTL功能可由主機執行,而不一定要由控制器執行。
在另一實施例中,OS映像區塊355可不包括用於執行某些FTL功能的軟體模組。在此例中,特殊廠商裝置驅動程式可包括FTL軟體模組。一般,裝置驅動程式可由如SSD製造商、USB/MMC應用提供者等硬體供應商所提供。因此,這些實施例中的主機可從所有可用嵌入式FTL功能中決定哪些FTL功能要載入至主機內。
如圖4所示,協同記憶體管理方法之標號為400。方法400包括啟動或電源啟動方塊410,其將控制權傳至功 能方塊412。功能方塊412將FTL碼載入至控制器RAM,將OS碼載入至主機RAM,並將控制權傳給功能方塊414。功能方塊414初始化在主機內的OS。功能方塊416載入至少一種特殊廠商裝置驅動程式至主機的RAM,並將控制權傳給功能方塊418。
根據主機的剩餘資源,功能方塊418接著決定哪些FTL功能要執行於主機內,並將控制權傳給功能方塊420。功能方塊420將決定在主機內執行的FTL功能初始化,並將控制權傳給功能方塊422。功能方塊422從快閃記憶體載入超資訊(meta-information)(比如為抹去次數、垃圾收集資料與映對表)至主機RAM,並將控制權傳給功能方塊424。功能方塊424啟動所決定好的主機FTL功能,並將控制權傳給功能方塊426。
功能方塊426接著處理由主機所傳來的寫入需求,並將控制權傳給功能方塊428。在功能方塊428中,主機FTL功能讀取映對資訊。控制權由功能方塊428傳給決定方塊430。決定方塊430決定快閃記憶體內部是否有任何可用空間以供寫入,如果可以,將控制權傳給功能方塊444。如果不行的話,決定方塊430將控制權傳給決定方塊432。決定方塊432決定快閃記憶體內部是否有任何垃圾區塊,如果有的話,將控制權傳給決定方塊438。如果沒有的話,決定方塊432將控制權傳給功能方塊434。
功能方塊434執行垃圾收集,並將控制權傳給功能方塊436。功能方塊436建立垃圾區塊,更新垃圾資訊,並 將控制權傳給決定方塊438。決定方塊438接著決定是否需執行耗損平衡,如果否的話,將控制權傳給功能方塊442。如果是的話,決定方塊438將控制權傳給功能方塊440。功能方塊440執行耗損平衡,更新超資訊,並將控制權傳給功能方塊442。功能方塊442抹去垃圾區塊,並將控制權傳給功能方塊444。功能方塊444送出寫入需求至快閃記憶體,並將控制權傳給結束方塊446。
操作時,特殊廠商裝置驅動程式可包括分割FTL之協同記憶體管理在執行FTL功能時所用的某些或全部軟體模組。快閃軟體的功能性可包括,磁區對映(Sector mapping)演算法,垃圾收集,關機復原,故障區塊管理,耗損平衡,錯誤碼更正(ECC),即時管理之寫入緩衝,熱/冷資料管理,加密,解密,壓縮與解壓縮。
現參考圖5,協同記憶體管理系統之記憶體映對圖之參考符號為500。此記憶體映對圖500包括:主機軟體510與裝置軟體530。主機軟體510包括:OS映像512,檔案系統514與特殊廠商驅動程式520。特殊廠商驅動程式520可相關於額外檔案系統522與額外OS映像524。裝置軟體530包括FTL碼532,其更包括映對功能534、損耗平衡功能536與故障區塊管理功能538。現參考圖6,具有分割FTL之協同記憶體管理方法之標號為600。此方法600包括步驟610,在此,主機檢查主機的資源容量並檢查裝置的資源容量。資源容量比如可包括CPU速度與緩衝之記憶體大小。在步驟612,主機檢查以決定哪些種類的功能由 主機所支援,並檢查以決定哪些種類的功能由裝置所支援。在步驟614,主機與裝置協調並設定主機與裝置的分割參數。在步驟616,主機與裝置協調與設定主機與裝置間的通訊方法與參數。
如圖7所示,支援功能組之標號為700。此支援功能700包括:主機支援功能710與裝置支援功能720。在此,主機支援功能710包括映對功能,損耗平衡功能與壓縮/解壓縮功能。
裝置支援功能720包括映對功能,故障區塊管理功能,垃圾收集功能,損耗平衡功能與壓縮/解壓縮功能與其他可能功能等。詢問主機或裝置的功能可能會回傳上述支援功能。主機與裝置皆可具有一或多種重疊的功能,所以仍要決定哪一個重疊功能真正要被執行。現參考圖8,協調分割參數之參考標號為800。在此圖中,”O”代表區域性功能被啟動,”X”代表區域性功能未被啟動。支援功能800包括:主機支援功能810與裝置支援功能820。在此,主機支援功能810包括:在主機上被啟動之映對功能,在主機上被啟動之損耗平衡功能與在主機上未被啟動之壓縮/解壓縮功能。
裝置支援功能820包括:在裝置上未被啟動之映對功能,在裝置上被啟動之故障區塊管理功能,在裝置上被啟動之垃圾收集功能,在裝置上未被啟動之損耗平衡功能與在裝置上被啟動之壓縮/解壓縮功能與其他可能在裝置上被啟動之功能等。
詢問主機或裝置的被啟動功能可能會回傳上述被啟動的功能。主機與裝置皆可具有一或多種重疊的功能,所以,在主機或裝置之一方所啟動的功能通常不會在另一方被啟動。
現參考圖9,執行時間之通訊方法之標號為900。此通訊方法900包括啟動於主機上之FTL功能之相關主機指令。在此,啟動於主機上之FTL功能包括邏輯對實際映對功能910,熱/冷資料辨別功能920與資料加密功能930。
邏輯對實際映對功能910之啟動會造成主機發出複數映對指令912之一,比如快閃讀取指令,快閃寫入指令,快閃複製指令,或快閃抹去指令。熱/冷資料辨別功能920之啟動會造成主機發出複數辨別指令922之一,比如SLC區域寫入指令,或MLC區域寫入指令。資料加密功能930之啟動會造成主機發出複數加密指令932之一,比如開啟加密指令或關閉加密指令。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧快閃記憶卡系統
110‧‧‧主機
120‧‧‧快閃記憶卡
130‧‧‧控制器
131‧‧‧主機介面
132‧‧‧控制器匯流排
133‧‧‧快閃介面
135‧‧‧緩衝記憶體
137‧‧‧CPU
139‧‧‧ROM
150‧‧‧快閃記憶體
200‧‧‧快閃記憶卡系統
210‧‧‧主機
220‧‧‧快閃記憶卡
211‧‧‧主機匯流排
213‧‧‧工作記憶體
215‧‧‧主機CPU
230‧‧‧控制器
232‧‧‧控制器匯流排
233‧‧‧控制器CPU
235‧‧‧緩衝記憶體
237‧‧‧ROM
250‧‧‧快閃記憶體
253‧‧‧FTL碼區塊
255‧‧‧OS映像區塊
257‧‧‧使用者資料區塊
300‧‧‧快閃記憶卡系統
310‧‧‧主機
311‧‧‧主機匯流排
313‧‧‧工作記憶體
314‧‧‧耗損平衡區塊
315‧‧‧主機CPU
320‧‧‧快閃記憶卡
330‧‧‧控制器
332‧‧‧控制器匯流排
333‧‧‧控制器CPU
335‧‧‧緩衝記憶體
336‧‧‧位址映對區塊
337‧‧‧ROM
338‧‧‧垃圾收集區塊
350‧‧‧快閃記憶體
353‧‧‧FTL碼區塊
355‧‧‧OS映像區塊
357‧‧‧使用者資料區塊
400‧‧‧方法
410‧‧‧電源開啟
412‧‧‧將FTL碼載入至控制器RAM,將OS碼載入至主機RAM
414‧‧‧初始化OS
416‧‧‧載入特殊廠商裝置驅動程式
418‧‧‧根據主機的剩餘資源,決定哪些FTL功能要執行於主機內
420‧‧‧將決定在主機內執行的FTL功能初始化
422‧‧‧從快閃記憶體載入超資訊(meta-information)(比如為抹去次數、垃圾收集資料與映對表)至主機RAM
424‧‧‧啟動所決定好的主機FTL功能
426‧‧‧由主機所傳來的寫入需求
428‧‧‧主機FTL功能讀取映對資訊
430‧‧‧有任何可用空間
432‧‧‧是否有任何垃圾區塊
434‧‧‧執行垃圾收集
436‧‧‧建立垃圾區塊,更新垃圾資訊
438‧‧‧是否需執行耗損平衡
440‧‧‧執行耗損平衡,更新超資訊
442‧‧‧抹去垃圾區塊
444‧‧‧送出寫入需求至快閃記憶體
446‧‧‧結束
500‧‧‧記憶體映對圖
510‧‧‧主機軟體
512‧‧‧OS映像
514‧‧‧檔案系統
520‧‧‧特殊廠商驅動程式
522‧‧‧額外檔案系統
524‧‧‧額外OS映像
530‧‧‧裝置軟體
532‧‧‧FTL碼
534‧‧‧映對功能
536‧‧‧損耗平衡功能
538‧‧‧故障區塊管理功能
600‧‧‧方法
610‧‧‧主機檢查主機的資源容量並檢查裝置的資源容量
612‧‧‧主機檢查以決定哪些種類的功能由主機所支援,並檢查以決定哪些種類的功能由裝置所支援
614‧‧‧設定主機與裝置的分割參數
616‧‧‧主機與裝置協調與設定主機與裝置間的通訊方法
700‧‧‧支援功能
710‧‧‧主機支援功能
720‧‧‧裝置支援功能
810‧‧‧主機支援功能
820‧‧‧裝置支援功能
900‧‧‧通訊方法
910‧‧‧邏輯對實際映對功能
912‧‧‧映對指令
920‧‧‧熱/冷資料辨別功能
922‧‧‧辨別指令
930‧‧‧資料加密功能
932‧‧‧加密指令
圖1顯示具有FTL之快閃記憶卡系統之方塊圖。
圖2顯示根據本發明實施例之具有協同記憶體管理之 快閃記憶卡系統之方塊圖。
圖3顯示根據本發明實施例之具有分割FTL之快閃記憶卡系統之方塊圖。
圖4顯示根據本發明實施例之協同記憶體管理方法之流程圖。
圖5顯示根據本發明實施例之協同記憶體管理系統之記憶體映對圖。
圖6顯示根據本發明實施例之使用分割FTL之協同記憶體管理方法之流程圖。
圖7顯示根據本發明實施例之主機支援功能與裝置支援功能之方塊圖。
圖8顯示根據本發明實施例之主機啟動功能與裝置啟動功能之方塊圖。
圖9顯示根據本發明實施例之協同記憶體管理系統內之主機與裝置間之溝通方法之方塊圖。
100‧‧‧快閃記憶卡系統
110‧‧‧主機
120‧‧‧快閃記憶卡
130‧‧‧控制器
131‧‧‧主機介面
132‧‧‧控制器匯流排
133‧‧‧快閃介面
135‧‧‧緩衝記憶體
137‧‧‧CPU
139‧‧‧ROM
150‧‧‧快閃記憶體

Claims (63)

  1. 一種協同記憶卡系統,包括:一記憶卡裝置;以及一主機,通訊於該記憶卡裝置;其中該主機承擔該記憶卡裝置之至少一記憶體管理功能。
  2. 如申請專利範圍第1項所述之系統,其中該主機發出至少一指令至該記憶卡裝置。
  3. 如申請專利範圍第2項所述之系統,其中該至少一指令包括下列至少一者:讀取指令、寫入指令、複製指令或抹去指令。
  4. 如申請專利範圍第2項所述之系統,其中該至少一指令包括下列至少一者:單層晶胞區(SLC)寫入指令或多層晶胞區(MLC)寫入指令。
  5. 如申請專利範圍第2項所述之系統,其中該至少一指令包括下列至少一者:對加密或解密給予致能或失能。
  6. 如申請專利範圍第1項所述之系統,其中該記憶卡裝置包括下列至少一者:快閃記憶體,FRAM,PRAM,MRAM,DRAM或EEPROM。
  7. 如申請專利範圍第1項所述之系統,其中該至少一記憶體管理功能是快閃轉譯層功能。
  8. 如申請專利範圍第1項所述之系統,其中該至少一記憶體管理功能是作業系統功能。
  9. 如申請專利範圍第1項所述之系統,其中該至少一 記憶體管理功能是裝置驅動程式功能。
  10. 如申請專利範圍第1項所述之系統,其中該主機包括:一主機處理器;以及一工作記憶體,通訊於該主機處理器。
  11. 如申請專利範圍第1項所述之系統,其中該主機執行該記憶卡裝置之資源檢查功能,並回應於此而承擔該記憶卡裝置之該至少一記憶體管理功能。
  12. 如申請專利範圍第1項所述之系統,其中該主機檢查本身之可用資源,並回應於此而承擔該記憶卡裝置之該至少一記憶體管理功能。
  13. 如申請專利範圍第1項所述之系統,其中該主機執行該記憶卡裝置之資源檢查功能,比較該記憶卡裝置之資源與主機之可用資源,並回應於此比較而承擔該記憶卡裝置之該至少一記憶體管理功能。
  14. 如申請專利範圍第1項所述之系統,其中由該主機所承擔之該記憶卡裝置之該至少一功能包括:位址映對功能,損耗平衡,垃圾收集,關機復原,故障區塊管理,錯誤碼更正,即時管理之寫入緩衝,熱對冷資料管理,加密,解密,壓縮或解壓縮。
  15. 如申請專利範圍第1項所述之系統,其中該主機載入特殊廠商記憶卡裝置驅動程式,而該特殊廠商記憶卡裝置驅動程式包括用於執行記憶體管理功能之軟體模組。
  16. 如申請專利範圍第15項所述之系統,其中該主機 決定用於執行記憶體管理功能之哪些軟體模組將載入至該主機。
  17. 如申請專利範圍第1項所述之系統,其中該記憶卡裝置包括下列至少一者:固態硬碟,USB卡,SD卡,MMC,Memory Stick或嵌入式裝置。
  18. 如申請專利範圍第17項所述之系統,其中該嵌入式裝置包括下列至少一者:moviNAND、GBNAND或iNAND。
  19. 如申請專利範圍第1項所述之系統,其中該記憶卡裝置包括:一控制器;以及一記憶體,通訊於該控制器。
  20. 如申請專利範圍第19項所述之系統,其中該控制器包括:一控制器處理器;一唯讀記憶體,通訊於該控制器處理器;以及一緩衝記憶體,通訊於該控制器處理器。
  21. 如申請專利範圍第19項所述之系統,其中該記憶體包括:具有記憶體管理功能碼之一區域;以及具有使用者資料之一區域。
  22. 如申請專利範圍第21項所述之系統,其中具有記憶體管理功能碼之該區域是一快閃轉譯層。
  23. 如申請專利範圍第21項所述之系統,其中由該主 機所承擔之該記憶卡裝置之該至少一記憶體管理功能是該記憶體管理功能碼之一功能。
  24. 如申請專利範圍第21項所述之系統,其中該記憶體管理功能碼包括下列至少一者:程式指令或資料。
  25. 如申請專利範圍第19項所述之系統,其中該記憶體包括:具有一作業系統映像之一區域;以及具有使用者資料之一區域。
  26. 如申請專利範圍第25項所述之系統,其中該記憶體管理功能嵌入於該作業系統映像之一檔案系統。
  27. 如申請專利範圍第25項所述之系統,其中該記憶體管理功能嵌入於該主機之至少一裝置驅動程式。
  28. 如申請專利範圍第25項所述之系統,其中該記憶體管理功能嵌入於該記憶卡裝置之一快閃轉譯層。
  29. 如申請專利範圍第25項所述之系統,其中由該主機所承擔之該記憶卡裝置之該至少一記憶體管理功能是該作業系統映像之一功能。
  30. 如申請專利範圍第25項所述之系統,其中該作業系統映像包括用於執行所有記憶體管理功能之軟體模組。
  31. 如申請專利範圍第25項所述之系統,其中該作業系統映像不包括用於執行記憶體管理功能之軟體模組。
  32. 一種介於一主機與一記憶卡裝置間之協同記憶體管理方法,該方法包括:選擇複數記憶體管理功能之至少一者,以由該主機替 該記憶卡裝置執行,其中該些記憶體管理功能包括下列至少一者:位址映對,損耗平衡,垃圾收集或抹去計次累積。
  33. 如申請專利範圍第32項所述之方法,更包括:檢查該主機或該記憶卡裝置之至少一者之可用資源;以及回應於該所檢查之該可用資源,選擇該至少一記憶體管理功能。
  34. 如申請專利範圍第33項所述之方法,其中,被檢查之該可用資源是該主機之資源。
  35. 如申請專利範圍第33項所述之方法,其中,被檢查之該可用資源是該記憶卡裝置之資源。
  36. 如申請專利範圍第33項所述之方法,其中,被檢查之該可用資源是該主機之資源與該記憶卡裝置之資源。
  37. 如申請專利範圍第33項所述之方法,其中,檢查該可用資源包括:該記憶卡裝置發出一需求至該主機,以使得該主機執行所選擇之該至少一記憶體管理功能。
  38. 如申請專利範圍第32項所述之方法,其中該主機發出至少一指令至該記憶卡裝置。
  39. 如申請專利範圍第38項所述之方法,其中該至少一指令包括:讀取指令、寫入指令、複製指令或抹去指令之至少一者。
  40. 如申請專利範圍第38項所述之方法,其中該至少 一指令包括下列至少一者:單層晶胞區(SLC)寫入指令或多層晶胞區(MLC)寫入指令。
  41. 如申請專利範圍第38項所述之方法,其中該至少一指令包括下列至少一者:對加密或解密給予致能或失能之至少一者。
  42. 如申請專利範圍第38項所述之方法,其中該至少一指令包括用於檢查該記憶卡裝置之可用資源之一指令。
  43. 如申請專利範圍第38項所述之方法,其中該至少一指令是無條件的。
  44. 如申請專利範圍第32項所述之方法,更包括:從該記憶卡裝置載入所選擇之該至少一記憶體管理功能至該主機之一隨機存取記憶體。
  45. 如申請專利範圍第32項所述之方法,其中該至少一記憶體管理功能包括一快閃轉譯層之一功能。
  46. 如申請專利範圍第32項所述之方法,更包括:由該主機來檢查該記憶卡裝置之該可用資源;比較該主機之該可用資源與該記憶卡裝置之該可用資源;以及回應於該比較,決定該些記憶體管理功能要執行於該主機中及決定該些記憶體管理功能要執行於該記憶卡裝置中。
  47. 如申請專利範圍第33項所述之方法,更包括:該主機之該可用資源包括下列至少一者:處理器類型,處理器速度,記憶體大小,記憶體速度,匯流排類型, 匯流排速度,加密類型或加密速度。
  48. 如申請專利範圍第32項所述之方法,其中該主機所選擇之該至少一記憶體管理功能之參數為該主機而設定但為該記憶卡裝置而重置。
  49. 如申請專利範圍第32項所述之方法,其中未被該主機所選擇之其餘該記憶體管理功能之參數為該主機而重置但為該記憶卡裝置而設定。
  50. 如申請專利範圍第32項所述之方法,其中介於該主機與該記憶卡裝置間之一通訊協定包括下列至少一者:USB通訊協定或進階技術接附規格(Advanced Technology Attachment)通訊協定。
  51. 如申請專利範圍第32項所述之方法,其中所選擇之該至少一記憶體管理功能包括於該記憶卡裝置之快閃轉譯層碼內。
  52. 如申請專利範圍第32項所述之方法,其中所選擇之該至少一記憶體管理功能包括於一裝置驅動程式內。
  53. 如申請專利範圍第32項所述之方法,其中所選擇之該至少一記憶體管理功能包括於該記憶卡裝置之一作業系統內。
  54. 如申請專利範圍第32項所述之方法,更包括:從該記憶卡裝置之一記憶體載入記憶體管理功能碼至該記憶卡裝置之一控制器隨機存取記憶體;以及從該記憶卡裝置之該記憶體載入一作業系統至該主機之該控制器隨機存取記憶體。
  55. 如申請專利範圍第54項所述之方法,更包括:初始化該主機內之該作業系統。
  56. 如申請專利範圍第32項所述之方法,更包括:載入至少一特殊廠商記憶卡裝置驅動程式至該主機之一隨機存取記憶體。
  57. 如申請專利範圍第32項所述之方法,更包括:從該記憶卡裝置載入超資料至該主機。
  58. 如申請專利範圍第57項所述之方法,其中該超資料包括下列至少一者:從該記憶卡裝置載入至該主機隨機存取記憶體之抹去計數資料,垃垃收集資料或映對表資料。
  59. 如申請專利範圍第32項所述之方法,更包括:初始化該主機內之被選之記憶體管理功能。
  60. 如申請專利範圍第32項所述之方法,更包括:啟動該主機內之被選之記憶體管理功能。
  61. 如申請專利範圍第32項所述之方法,更包括:該主機產生一寫入需求;利用主機記憶體管理功能來讀取映對資料;檢查該記憶卡裝置上之可寫入空間;以及如果在該記憶卡裝置上有可寫入空間,將該寫入需求送至該記憶卡裝置。
  62. 如申請專利範圍第32項所述之方法,更包括:檢查該記憶卡裝置上之垃圾區塊;如果在該記憶卡裝置上沒有垃圾區塊,執行垃圾收集,指定垃圾區塊並更新垃圾收集資料;以及 抹去該垃圾區塊。
  63. 如申請專利範圍第32項所述之方法,更包括:檢查該記憶卡裝置上之損耗平衡之需求;以及如果需要損耗平衡,執行損耗平衡並更新損耗平衡之超資料。
TW097103746A 2007-02-01 2008-01-31 協同記憶體管理與其方法 TWI512459B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070010573A KR100823171B1 (ko) 2007-02-01 2007-02-01 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
US11/833,731 US8745309B2 (en) 2007-02-01 2007-08-03 Cooperative memory management

Publications (2)

Publication Number Publication Date
TW200839511A TW200839511A (en) 2008-10-01
TWI512459B true TWI512459B (zh) 2015-12-11

Family

ID=39571848

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097103746A TWI512459B (zh) 2007-02-01 2008-01-31 協同記憶體管理與其方法

Country Status (5)

Country Link
US (1) US8745309B2 (zh)
JP (1) JP5468207B2 (zh)
KR (1) KR100823171B1 (zh)
CN (1) CN101236483A (zh)
TW (1) TWI512459B (zh)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917689B2 (en) * 2007-12-28 2011-03-29 Intel Corporation Methods and apparatuses for nonvolatile memory wear leveling
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US7970978B2 (en) * 2008-05-27 2011-06-28 Initio Corporation SSD with SATA and USB interfaces
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
US20100017649A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporation Data storage system with wear-leveling algorithm
DE102008035095A1 (de) * 2008-07-28 2010-02-11 Vincotech (Germany) Gmbh Verfahren und Vorrichtung um Änderungen an Daten zu erkennen
US8108584B2 (en) * 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes
US8626984B2 (en) * 2008-10-24 2014-01-07 Cisco Technology, Inc. Method and system for device independence in storage device wear algorithms
KR101543431B1 (ko) * 2008-11-20 2015-08-11 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 액세스 방법
JP5221332B2 (ja) * 2008-12-27 2013-06-26 株式会社東芝 メモリシステム
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
KR101674015B1 (ko) 2009-06-23 2016-11-08 시게이트 테크놀로지 엘엘씨 데이터 저장 매체 액세스 방법과 그와 같은 기능을 갖는 데이터 저장 장치 및 기록 매체
CN101706788B (zh) * 2009-11-25 2012-11-14 惠州Tcl移动通信有限公司 一种嵌入式文件系统的跨区访问方法
CN102122267A (zh) * 2010-01-07 2011-07-13 上海华虹集成电路有限责任公司 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器
JP2011192239A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム
JP2011192240A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム
US8966176B2 (en) * 2010-05-27 2015-02-24 Sandisk Il Ltd. Memory management storage to a host device
US8595415B2 (en) * 2011-02-02 2013-11-26 Micron Technology, Inc. At least semi-autonomous modules in a memory system and methods
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory
US8705291B2 (en) 2011-05-27 2014-04-22 Seagate Technology Llc Sanitizing a non-volatile memory through charge accumulation
US20120317377A1 (en) * 2011-06-09 2012-12-13 Alexander Palay Dual flash translation layer
US8645618B2 (en) * 2011-07-14 2014-02-04 Lsi Corporation Flexible flash commands
US8806112B2 (en) 2011-07-14 2014-08-12 Lsi Corporation Meta data handling within a flash media controller
TWI521343B (zh) * 2011-08-01 2016-02-11 Toshiba Kk An information processing device, a semiconductor memory device, and a semiconductor memory device
JP5524144B2 (ja) 2011-08-08 2014-06-18 株式会社東芝 key−valueストア方式を有するメモリシステム
KR101824295B1 (ko) * 2011-08-12 2018-01-31 샌디스크 테크놀로지스 엘엘씨 솔리드 스테이트 장치 가상화를 포함하는 캐시 관리
US8909855B2 (en) * 2012-08-08 2014-12-09 Avalanche Technology, Inc. Storage system employing MRAM and physically addressed solid state disk
EP2761469B1 (en) * 2011-09-30 2019-11-13 Intel Corporation Non-volatile random access memory (nvram) as a replacement for traditional mass storage
CN102508787B (zh) * 2011-11-29 2014-09-03 清华大学 混合结构内存的内存分配系统及方法
US9740439B2 (en) * 2011-12-23 2017-08-22 International Business Machines Corporation Solid-state storage management
CN102541760B (zh) * 2012-01-04 2015-05-20 记忆科技(深圳)有限公司 基于固态硬盘的计算机系统
US9213632B1 (en) 2012-02-29 2015-12-15 Marvell International Ltd. Systems and methods for data storage devices to use external resources
TWI584120B (zh) * 2012-03-23 2017-05-21 Lsi公司 用於動態調適快取的方法及系統
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
KR101419004B1 (ko) * 2012-05-03 2014-07-11 주식회사 디에이아이오 비휘발성 메모리 시스템
US20140047159A1 (en) * 2012-08-10 2014-02-13 Sandisk Technologies Inc. Enterprise server with flash storage modules
JP5976939B2 (ja) * 2012-08-23 2016-08-24 アップル インコーポレイテッド ホスト支援型メモリブロックコンパクション
KR101420754B1 (ko) * 2012-11-22 2014-07-17 주식회사 이에프텍 비휘발성 메모리 시스템 및 이를 위한 맵핑 테이블 관리 방법
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US10642505B1 (en) 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
US9928177B2 (en) * 2013-08-21 2018-03-27 Lite-On Electronics (Guangzhou) Limited Managing method for cache memory of solid state drive
US9612973B2 (en) 2013-11-09 2017-04-04 Microsoft Technology Licensing, Llc Using shared virtual memory resources for performing memory-mapping
KR101549569B1 (ko) 2014-02-14 2015-09-03 고려대학교 산학협력단 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치
KR102147916B1 (ko) 2014-04-14 2020-08-26 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
CN105224474B (zh) * 2014-06-03 2019-05-31 深圳市腾讯计算机系统有限公司 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置
KR20160022453A (ko) 2014-08-19 2016-03-02 삼성전자주식회사 임베디드 메모리를 포함하는 이동식 전자 장치
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9798657B2 (en) 2014-10-15 2017-10-24 Samsung Electronics Co., Ltd. Data storage device including nonvolatile memory device and operating method thereof
TWI567554B (zh) 2014-11-06 2017-01-21 慧榮科技股份有限公司 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置
JP6378111B2 (ja) * 2014-12-29 2018-08-22 東芝メモリ株式会社 情報処理装置及びプログラム
CN106201327B (zh) * 2015-01-22 2019-01-04 光宝科技股份有限公司 具有固态储存装置的系统及其相关控制方法
US9880748B2 (en) * 2015-02-13 2018-01-30 Qualcomm Incorporated Bifurcated memory management for memory elements
CN105005536B (zh) * 2015-07-01 2019-08-06 忆正科技(武汉)有限公司 固态存储设备、主机的工作方法及固态存储设备、主机
US10055236B2 (en) 2015-07-02 2018-08-21 Sandisk Technologies Llc Runtime data storage and/or retrieval
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
US10466908B2 (en) * 2015-08-25 2019-11-05 Toshiba Memory Corporation Memory system that buffers data before writing to nonvolatile memory
US10459846B2 (en) * 2015-09-10 2019-10-29 Toshiba Memory Corporation Memory system which uses a host memory
CN105353989B (zh) * 2015-11-19 2018-12-28 华为技术有限公司 存储数据访问方法及相关的控制器、设备、主机和系统
US10033810B2 (en) 2015-12-03 2018-07-24 International Business Machines Corporation Recovery point objective via dynamic usage of bind segments in a global mirror environment
US10229051B2 (en) 2015-12-30 2019-03-12 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device
CN107092560B (zh) * 2016-02-17 2020-06-16 建兴储存科技(广州)有限公司 固态储存装置及运用于其中的快闪转换层对应表重建方法
CN105867850B (zh) * 2016-03-29 2019-05-31 北京联想核芯科技有限公司 一种信息调整方法及电子设备
KR20170128012A (ko) * 2016-05-13 2017-11-22 주식회사 맴레이 플래시 기반 저장 장치 및 이를 포함하는 컴퓨팅 디바이스
US10037152B2 (en) 2016-12-19 2018-07-31 Alibaba Group Holding Limited Method and system of high-throughput high-capacity storage appliance with flash translation layer escalation and global optimization on raw NAND flash
US10971241B2 (en) 2017-01-30 2021-04-06 Toshiba Memory Corporation Performance based method and system for patrolling read disturb errors in a memory unit
KR20190052366A (ko) * 2017-11-08 2019-05-16 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
CN108287663A (zh) * 2017-12-21 2018-07-17 北京京存技术有限公司 一种基于emmc的数据存储方法和装置
US10997066B2 (en) 2018-02-20 2021-05-04 Samsung Electronics Co., Ltd. Storage devices that support cached physical address verification and methods of operating same
US11436023B2 (en) * 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11263124B2 (en) 2018-08-03 2022-03-01 Micron Technology, Inc. Host-resident translation layer validity check
CN111326195A (zh) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 一种存储器
US11226907B2 (en) 2018-12-19 2022-01-18 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11226894B2 (en) * 2018-12-21 2022-01-18 Micron Technology, Inc. Host-based flash memory maintenance techniques
KR20200139913A (ko) * 2019-06-05 2020-12-15 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메타 정보 저장 장치
JP7252821B2 (ja) * 2019-04-17 2023-04-05 キヤノン株式会社 記録装置、記録方法、プログラム、及びメモリカード
US11294825B2 (en) 2019-04-17 2022-04-05 SK Hynix Inc. Memory system for utilizing a memory included in an external device
KR20210001546A (ko) 2019-06-28 2021-01-06 에스케이하이닉스 주식회사 슬립모드에서 메모리 시스템의 내부데이터를 전송하는 장치 및 방법
KR20200122086A (ko) 2019-04-17 2020-10-27 에스케이하이닉스 주식회사 메모리 시스템에서 맵 세그먼트를 전송하는 방법 및 장치
US11036594B1 (en) 2019-07-25 2021-06-15 Jetstream Software Inc. Disaster recovery systems and methods with low recovery point objectives
US11175984B1 (en) 2019-12-09 2021-11-16 Radian Memory Systems, Inc. Erasure coding techniques for flash memory
CN111415697B (zh) * 2020-03-20 2022-08-16 杭州华澜微电子股份有限公司 闪存转换层算法的验证方法、装置及系统
US11194489B2 (en) 2020-04-27 2021-12-07 Western Digital Technologies, Inc. Zone-based device with control level selected by the host
US11659028B2 (en) * 2021-09-22 2023-05-23 Toyota Motor Engineering & Manufacturing North America, Inc. Data offloading rate determination using mean field games

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014724A (en) * 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
TW386207B (en) * 1997-11-18 2000-04-01 Shuttle Technology Ltd Memory card interface apparatus
TW200534092A (en) * 2003-12-30 2005-10-16 Sandisk Corp Non-volatile memory and method with block management system
US20060004971A1 (en) * 2004-06-30 2006-01-05 Kim Jin-Hyuk Incremental merge methods and memory systems using the same
TW200622611A (en) * 2004-09-13 2006-07-01 Toshiba Kk Memory management device and memory device
US20060179212A1 (en) * 2005-02-07 2006-08-10 Kim Jin-Hyuk Flash memory control devices that support multiple memory mapping schemes and methods of operating same
TWI265411B (en) * 2003-03-19 2006-11-01 Samsung Electronics Co Ltd A flash file system

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3789743T2 (de) * 1986-09-01 1994-08-18 Nippon Electric Co Serielles Datenübertragungssystem.
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JPH05173989A (ja) 1991-12-24 1993-07-13 Kawasaki Steel Corp 計算機及びマルチプロセッサ計算装置
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
JPH0887441A (ja) 1994-09-19 1996-04-02 Fujitsu Ltd フラッシュメモリアクセス方式
JPH08101751A (ja) * 1994-09-30 1996-04-16 Mitsubishi Electric Corp Pcカード及びpcカードシステム
US5778197A (en) 1996-04-26 1998-07-07 International Business Machines Corp. Method for allocating system resources in a hierarchical bus structure
US5826082A (en) 1996-07-01 1998-10-20 Sun Microsystems, Inc. Method for reserving resources
US6260102B1 (en) * 1996-12-26 2001-07-10 Intel Corporation Interface for flash EEPROM memory arrays
US6151709A (en) * 1998-02-13 2000-11-21 Novell, Inc. Processes and apparatuses for uploading instructions to a computer
US6701402B1 (en) * 2001-03-30 2004-03-02 Hewlett-Packard Development Company, L.P. Selectively operating a host's device controller in a first mode or a second mode
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
JP4236830B2 (ja) 2001-07-09 2009-03-11 株式会社ルネサステクノロジ アップロード機能付き記憶装置
US6990662B2 (en) * 2001-10-31 2006-01-24 Hewlett-Packard Development Company, L.P. Method and system for offloading execution and resources for resource-constrained networked devices
JP4206688B2 (ja) * 2002-04-15 2009-01-14 ソニー株式会社 データ処理装置及びデータ処理方法
US7080245B2 (en) * 2002-05-23 2006-07-18 Hewlett-Packard Development Company, L.P. Method and system of switching between two or more images of firmware on a host device
US7277978B2 (en) * 2003-09-16 2007-10-02 Micron Technology, Inc. Runtime flash device detection and configuration for flash data management software
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
KR100562906B1 (ko) * 2003-10-08 2006-03-21 삼성전자주식회사 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩
KR20070007265A (ko) 2003-12-30 2007-01-15 쌘디스크 코포레이션 제어 데이터 관리를 구비한 비휘발성 메모리 및 방법
KR100533683B1 (ko) * 2004-02-03 2005-12-05 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
US20050270993A1 (en) * 2004-06-07 2005-12-08 Krishnan Rajamani Efficient partitioning of MAC (media access control) functions
US7660939B2 (en) * 2004-07-30 2010-02-09 Virinci Technologies, Inc. Operating system arrangement for flexible computer system design
JP4713867B2 (ja) 2004-09-22 2011-06-29 株式会社東芝 メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
US20060094477A1 (en) * 2004-11-04 2006-05-04 Motorola, Inc. Power saving system and method
US7712086B2 (en) 2004-12-15 2010-05-04 Microsoft Corporation Portable applications
KR100725390B1 (ko) * 2005-01-06 2007-06-07 삼성전자주식회사 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법
US20060157549A1 (en) * 2005-01-14 2006-07-20 Stein Israel M Smart cards for automated sample analysis devices
KR20050027233A (ko) * 2005-02-03 2005-03-18 주식회사 퍼스터 파일 시스템이 운용되는 장치에서의 낸드 플래시 메모리 액세스 방법
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
KR100706242B1 (ko) * 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
CA2597551A1 (en) * 2005-02-11 2006-08-17 M-Systems Flash Disk Pioneers Ltd. Nand flash memory system architecture
KR100759427B1 (ko) * 2005-03-17 2007-09-20 삼성전자주식회사 전력 소모가 적은 하드디스크 드라이버 및 이를 구비한 정보처리 시스템, 그리고 그들의 데이터 입출력 방법
KR100725271B1 (ko) 2005-05-20 2007-06-04 주식회사 엠피오 복수개의 dma 채널을 갖는 usb-sd 저장 장치 및 그저장 방법
JP4213140B2 (ja) 2005-06-03 2009-01-21 Tdk株式会社 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
KR101257848B1 (ko) * 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
US20070180186A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Non-volatile memory management
JP2008011512A (ja) 2006-06-01 2008-01-17 Canon Inc データ処理装置、データ記憶装置およびそれらのデータ処理方法
US7966039B2 (en) * 2007-02-02 2011-06-21 Microsoft Corporation Bidirectional dynamic offloading of tasks between a host and a mobile device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014724A (en) * 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
TW386207B (en) * 1997-11-18 2000-04-01 Shuttle Technology Ltd Memory card interface apparatus
TWI265411B (en) * 2003-03-19 2006-11-01 Samsung Electronics Co Ltd A flash file system
TW200534092A (en) * 2003-12-30 2005-10-16 Sandisk Corp Non-volatile memory and method with block management system
US20060004971A1 (en) * 2004-06-30 2006-01-05 Kim Jin-Hyuk Incremental merge methods and memory systems using the same
TW200622611A (en) * 2004-09-13 2006-07-01 Toshiba Kk Memory management device and memory device
US20060179212A1 (en) * 2005-02-07 2006-08-10 Kim Jin-Hyuk Flash memory control devices that support multiple memory mapping schemes and methods of operating same

Also Published As

Publication number Publication date
US8745309B2 (en) 2014-06-03
TW200839511A (en) 2008-10-01
JP2008192153A (ja) 2008-08-21
JP5468207B2 (ja) 2014-04-09
KR100823171B1 (ko) 2008-04-18
US20080189485A1 (en) 2008-08-07
CN101236483A (zh) 2008-08-06

Similar Documents

Publication Publication Date Title
TWI512459B (zh) 協同記憶體管理與其方法
JP5636034B2 (ja) データ利用についてのマウント時間の調停
US11030093B2 (en) High efficiency garbage collection method, associated data storage device and controller thereof
US11755315B2 (en) Boot ROM update method and boot-up method of embedded system
KR101395778B1 (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US11249911B2 (en) Storage device, memory system, and operating method for managing host-resident L2P map cache
KR102188628B1 (ko) 수명 종료 상태에 도달할 경우, 솔리드 스테이트 메모리로의 기록들을 제한하기 위한 방법 및 장치
US8296466B2 (en) System, controller, and method thereof for transmitting data stream
CN108108261B (zh) 数据存储装置及其操作方法
CN112306396B (zh) 储存设备及储存设备的操作方法
JP2014534520A (ja) セグメント化されたキャッシュ
JP2011070365A (ja) メモリシステム
CN112306401A (zh) 存储装置和数据存储方法
US11573732B2 (en) Storage device, memory system comprising the same, and operation method thereof
US11182329B2 (en) Data processing system and operating method thereof
EP3961451B1 (en) Storage device
EP3771982B1 (en) Storage device
EP3771986B1 (en) Storage device, memory system comprising the same, and operation method thereof
EP3779704B1 (en) Storage device, memory system comprising the same, and operating method thereof