TWI430089B - 記憶體裝置及其控制方法 - Google Patents
記憶體裝置及其控制方法 Download PDFInfo
- Publication number
- TWI430089B TWI430089B TW098142639A TW98142639A TWI430089B TW I430089 B TWI430089 B TW I430089B TW 098142639 A TW098142639 A TW 098142639A TW 98142639 A TW98142639 A TW 98142639A TW I430089 B TWI430089 B TW I430089B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- write
- memory card
- memory
- management unit
- 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
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Description
本發明係關於一種記憶體裝置及該記憶體的控制方法,且詳言之係關於一種記憶體裝置、一種非揮發性半導體記憶體。
諸如記憶體卡之記憶體裝置用作用於儲存音樂資料或視訊資料的媒體。該等裝置使用非揮發性半導體記憶體,諸如快閃記憶體。記憶體裝置通常包括一用於控制記憶體的控制器。此類記憶體裝置插入至其中之主機的檔案系統向資料指派邏輯位址,且請求記憶體裝置寫入此資料。控制器指導快閃記憶體將寫入資料儲存於空閒之記憶體區域中。此外,控制器管理由檔案系統指派至資料之邏輯位址與快閃記憶體中之儲存相應資料的記憶體區域之間的關係。
用於記憶體裝置之快閃記憶體的典型實例包括NAND快閃記憶體。在NAND快閃記憶體中,以由一個以上位元組成之稱為頁的單位寫入資料。NAND快閃記憶體僅能以由一個以上頁組成之稱為區塊的單位抹除資料。
使用者可能想要經由主機裝置知曉記憶體裝置的效能。此效能包括記錄速度、記錄需要的時間、可記錄的時間等。用於預測此效能之技術描述於日本專利申請公開案(KOKAI)第2006-178923號中。此技術使用以下原理。
如上文所描述,NAND快閃記憶體僅能以區塊為單位抹除資料。亦即,其無法覆寫資料。為了更新記憶體中之資料,需要準備新區塊,需要在新區塊中複製不進行更新之資料,且需要在新區塊中寫入待更新之資料。由於此原因,快閃記憶體中之資料在連續空閒頁中被快速地寫入,且在包括儲存有資料之頁及無資料之頁的區塊中被緩慢地寫入。亦即,資料寫入速度根據區塊中之經寫入頁的分布(分散(fragmentation))而改變。使用此情形,計算每一區塊之寫入速度,且自滿足主機中之應用程式要求的寫入速度之區塊的數目計算記憶體裝置的可記錄時間,該主機將把資料儲存於記憶體裝置中。然而,使用分散之此類技術要求對效能之複雜計算及長的執行時間。由於此原因,出現對允許較簡單之效能預測之記憶體裝置的需要。
此外,增大之記憶體容量、改良之記憶體裝置效能及使用者需要記錄的多樣化之內容產生對記憶體裝置的多種類型之使用。舉例而言,出現對記錄諸如兩個TV節目之兩個視訊,或記錄圖片同時記錄視訊的需要。然而,不可能滿足將多個檔案之資料即時地並行寫入至記憶體裝置中的需求,此係因為不能進行資料覆寫會要求以上提及之資料複製,其花費長時間從而導致伴隨有資料複製之低速度寫入。
根據本發明之一態樣,提供一種記憶體裝置,其包含:一記憶體,其具有記憶體區域;及一控制器,其經組態以在接收到寫入資料之後將資料寫入於該等記憶體區域中,同時管理寫入資料之邏輯位址與儲存相應寫入資料之記憶體區域之間的對應,且該控制器具有一第一模式及一第二模式,其中複數個該等記憶體區域構成一管理單元,處於該第一模式之該控制器能夠將資料片段寫入於各別記憶體區域中,且經組態以維持含有待更新的資料之一個管理單元中的一或多個記憶體區域中之資料,處於該第二模式之該控制器經組態以按資料片段之邏輯位址的升序將該等資料片段寫入於各別記憶體區域中,且經組態以使含有經更新資料的一個管理單元中之一或多個記憶體區域中的資料無效。
根據本發明之另一態樣,提供一種記憶體裝置,其包含:一記憶體,其具有記憶體區域;及一控制器,其經組態以在接收到寫入資料之後將資料寫入於該等記憶體區域中,同時管理該寫入資料之邏輯位址與儲存相應寫入資料之記憶體區域之間的對應,經組態以辨識由連續邏輯位址組成的一邏輯位址群組,且經組態以在接收到一第一命令之後轉換至一即時寫入啟用模式,其中在接收到一資料寫入指令之後,處於該即時寫入啟用模式之該控制器按該寫入資料之片段的邏輯位址之升序將資料寫入於一工作區域中,該工作區域係為含有該寫入資料之該邏輯位址的一邏輯位址群組而臨時準備,且在完成將資料寫入於至該工作區域中之最後記憶體區域之後向該工作區域指派一邏輯位址。
根據本發明之另一態樣,提供一種控制包含記憶體區域之一記憶體裝置的方法,該方法包含:在接收到寫入資料之後,將資料寫入於該等記憶體區域中,同時管理該寫入資料之邏輯位址與儲存相應寫入資料之記憶體區域之間的對應;在一第一模式中,將資料片段寫入於各別記憶體區域中且維持含有待更新資料之一個管理單元中的一或多個記憶體區域中之資料,其中複數個該等記憶體區域構成一個管理單元;在一第二模式中,按資料片段之邏輯位址的升序將該等資料片段寫入於各別記憶體區域中,且使含有經更新資料的一個管理單元中之一或多個記憶體區域中的資料無效。
現將參看圖式描述本發明之實施例。在下文中,貫穿諸圖用相同參數數字指示相同組件,且將僅在需要時給出重複描述。請注意,圖式僅為說明性的。
在下文中,作為實例,將給出根據本發明之實施例之記憶體裝置及記憶體卡(詳言之,SD卡)的描述。然而,任何具有記憶體及本文中描述之用於控制記憶體之控制器的記憶體裝置皆包括於本發明之範疇內。
[1]組態
將參看圖1至圖4描述根據本發明之第一實施例之記憶體卡的組態。圖1說明根據第一實施例之記憶體卡的主要功能區塊。圖1亦說明連接至此記憶體卡之主機裝置的功能區塊。每一功能區塊可實施為硬體、電腦軟體或兩者之組合。為了清楚地說明硬體與軟體之此互換性,將大體上依據其功能性給出描述。將此功能性實施為硬體或是軟體視特定應用及施加於整個系統上之設計約束而定。熟習此項技術者可針對每一特定應用以變化之方式實施所描述功能性,但所有變化應包括於本發明之範疇內。
主機裝置(下文中稱為主機)1具有諸如應用程式及/或作業系統的軟體11。軟體11由使用者指導以向記憶體卡2寫入資料及自記憶體卡2讀取資料。軟體11指導檔案系統12寫入/讀取資料12。檔案系統12為用於管理儲存於儲存媒體中之檔案資料的機構,將管理資訊記錄於儲存媒體中之記憶體區域中,且使用此管理資訊來管理檔案資料。
主機1具有一SD介面13。SD介面13由允許主機1與記憶體卡2介接之硬體與軟體組成。主機1經由SD介面13與記憶體卡2通信。SD介面13規定用於主機1與記憶體卡2之間的通信之各種協議。SD介面13與記憶體卡2之SD介面31(稍後將描述)提供可由兩個介面辨識的各種命令。SD介面13亦包括硬體組態(例如,接針配置、接針之數目等),其可連接至SD介面31。
記憶體卡2具有一NAND快閃記憶體21及一用於控制記憶體21的控制器22。記憶體卡2在連接至主機1時或當在記憶體卡2經插入的情況下主機1開啟時開始接收電力,以執行初始化及接著根據自主機1之存取而進行處理。
記憶體21非揮發性地儲存資料,且以由多個記憶體單元組成之稱為頁的單位寫入並讀取資料。頁具有一對於該頁為唯一的實體位址。記憶體21以由多個頁組成之稱為實體區塊(抹除區塊)的單位抹除資料。可將實體位址指派至實體區塊。
控制器22管理記憶體21中之資料儲存狀態。記憶體狀態之管理包括頁(或實體區塊)之實體位址與儲存於頁中之資料的邏輯位址之間的管理,及哪一頁(或實體區塊)不含有資料或含有無效資料。
控制器22包括:SD介面31、微處理單元(MPU)32、唯讀記憶體(ROM)33、隨機存取記憶體(RAM)34及NAND介面35。SD介面31由允許主機1與控制器22介接的硬體及軟體組成。
如同SD介面13一般,SD介面31規定了允許實現與SD介面13之通信的協議,包括各種命令,且包括硬體組態(例如,接針配置及接針數目等)。記憶體卡2(控制器22)經由SD介面31與主機1通信。SD介面31包括一暫存器36。
MPU 32管理記憶體卡2之整體操作。當(例如)記憶體卡2開始接收電力時,MPU 32將儲存於ROM 33中的韌體(控制程式)讀取至RAM 34上以執行預定處理。MPU 32根據控制程式在RAM 34上建立各種表(稍後將描述),且根據自主機1接收到之命令對記憶體21執行預定處理。
ROM 33儲存用於MPU 32等的控制程式。RAM 34用作MPU 32之工作區域,且臨時儲存控制程式及各種表。該等表包括一儲存資料之頁的實體位址與由檔案系統12指派之邏輯位址的轉譯表(邏輯/實體表)。NAND介面35允許控制器22與記憶體21介接。
記憶體21中之記憶體區域包括(例如)根據所儲存資料之類型定義的系統資料區域、安全資料區域、受保護資料區域、使用者資料區域等。系統資料區域由控制器22保留以用於儲存其操作所需要的資料。安全資料區域儲存用於加密之密鑰資訊及用於鑑認的安全性資料,且不可由主機1存取。受保護資料區域儲存重要資料及保密資料。使用者資料區域可由主機1存取並使用,且儲存(例如)諸如AV內容檔案及影像資料的使用者資料。當將描述「記憶體21」用以指代記憶體21之記憶體空間時,其指代使用者資料區域。控制器22保留使用者資料區域之一部分,在該部分處控制器22儲存其自身操作所需要的控制資料(例如,邏輯/實體表)。
暫存器36具有各種暫存器,諸如如圖2中所說明的卡狀態暫存器、CID、RCA、DSR、CSD、SCR及OCR。此等暫存器儲存錯誤資訊、記憶體卡2之個別編號、相對卡位址、記憶體卡2之匯流排驅動電力、記憶體卡2的特性參數值、資料配置,及由記憶體卡2之操作電壓範圍定義的操作電壓(若存在)等。
暫存器36(例如,CSD)儲存記憶體卡2之類別、資料複製所需要的時間、AU大小等。類別係藉由由屬於此類別之記憶體卡保證的最小寫入速度來定義。最高寫入速度由類別來判定。因此,主機1可自暫存器36讀取指示AU大小之資料以將此資訊用於記憶體卡2之管理,且可自暫存器36讀取指示類別的資料以獲悉記憶體卡2之最大寫入效能。此外,CSD可進一步儲存效能資訊,諸如在日本專利申請公開案(KOKAI)第2006-178923號中描述的效能資訊。
圖3說明記憶體21之記憶體空間的組態。如圖3中所示,記憶體21具有常規記憶體區域41及頁緩衝器42。記憶體區域41包括多個實體區塊BLK。每一實體區塊BLK由多個頁PG組成。每一頁PG包括串行連接之記憶體單元電晶體。
每一記憶體單元由所謂之堆疊閘極金屬氧化物半導體場效電晶體(MOSFET)組成。每一記憶體單元電晶體根據其臨限電壓儲存資訊,該臨限電壓根據在浮動閘極電極處捕獲之電子的數目而改變。記憶體21可經組態,使得記憶體單元電晶體可採取兩個以上不同臨限電壓,亦即,記憶體單元可儲存多個位準(多個位元)。
屬於同一列之記憶體單元電晶體的控制閘極電極連接至同一字線。選擇閘極電晶體提供於串行連接之記憶體單元電晶體鏈的兩個末端,該等串行連接之記憶體單元電晶體屬於同一行。選擇閘極電晶體中之一者連接至一位元線。以串行連接之記憶體單元電晶體之集合為單位寫入或讀取資料。由記憶體單元電晶體之此集合組成之記憶體區域對應於一頁。
在圖3之實例中,(例如)每一頁PG具有2112B(位元組),且每一區塊52由128個頁組成。以區塊BLK為單位抹除資料。頁緩衝器34輸入來自記憶體21的資料/向記憶體21輸出資料,且臨時保存資料。可由頁緩衝器42保存之資料大小與頁PG之大小相同,亦即,2112B(2048B+64B)。
如圖4中所說明且上文所描述,記憶體21以頁PG為單位寫入或讀取資料,且以區塊BLK為單位抹除資料。另一方面,檔案系統12以記錄單元(RU)為單位管理資料。亦即,檔案系統12將由軟體11請求寫入(write-requested)之資料根據RU之大小分割為具有合適大小的區段,且向每一區段指派邏輯位址。RU等效於藉由一個多區塊寫入命令而寫入至之資料片段。檔案系統12在寫入命令之後向記憶體卡2供應被指派唯一邏輯位址之資料作為寫入資料。控制器22將寫入資料寫入於合適頁中。RU之大小為頁容量的整數倍。因此,記憶體卡2將具有RU大小之寫入資料寫入於具有循序實體位址的頁中。請注意,由於RU具有與由檔案系統管理之唯一邏輯位址的對應,所以向RU指派資料意謂向資料指派邏輯位址。檔案系統12使用表來管理資料之區段的連接關係,且使用此關係以藉由連接該等區段而恢復原始資料。控制器22使用轉譯表(邏輯/實體表)來管理邏輯位址與儲存具有此邏輯位址之資料的頁之位址(實體位址)之間的對應。
檔案系統12亦使用AU(配置單元)之概念,該AU由屬於預定範圍之預定數目個循序RU組成。控制器22可藉由檢查資料之邏輯位址的高位元而辨識AU的邊界。AU大小為區塊(實體區塊)容量的整數倍。因此,RU大小等於經組合頁之大小,且AU大小等於經組合區塊的大小。由於此原因,下文中將給出關於RU及AU各自用作記憶體卡2中之資料之讀取/寫入之單位的描述。亦即,用於記憶體卡2之「RU」意謂具有與RU之大小相同的大小之經組合循序頁,且用於記憶體卡2之「AU」意謂具有與AU之大小相同的大小之經組合循序區塊。具體而言,檔案系統12指派至RU之資料儲存於記憶體卡2中的RU中,記憶體卡2使用表來管理由檔案系統12指派至資料的RU(邏輯位址)及記憶體21中之儲存此寫入資料的RU。
[2]操作
[2-1]第一實例
參看圖5至圖14,現將首先描述記憶體卡2之操作的一部分。圖5說明根據第一實施例之由記憶體卡進行之模式的轉變。如圖5中所示,記憶體卡2具有隨機寫入模式及循序寫入模式。控制器22根據兩個模式中之當前者操作。當來自主機1之電力供應開始時,記憶體卡2係處於隨機寫入模式。當記憶體卡2接收到循序寫入開始命令,或其藉由偵測到寫入資料之不連續邏輯位址而偵測到隨機寫入指令時,處於隨機寫入模式之記憶體卡2轉換至循序寫入模式。另一方面,當記憶體卡2接收到循序寫入結束命令時,處於循序寫入模式之記憶體卡2將轉換至隨機寫入模式。SD介面31經組態以辨識循序寫入開始命令與循序寫入結束命令。
參看圖6至圖9,現將描述隨機寫入模式。圖6至圖9按次序說明處於隨機寫入模式之寫入期間的一狀態。圖6至圖9中之除工作AU外的AU表示由檔案系統12辨識的AU,且亦表示記憶體卡2之將資料儲存於由檔案系統12辨識的AU中的AU。
首先,屬於記憶體卡2中之AU1的第一至第N個RU儲存資料1至N。在此狀態下,主機1希望將資料20至22寫入至AU1中的第四至第六RU。然而,由於快閃記憶體21無法藉由覆寫資料而直接進行此更新指令,所以快閃記憶體21執行以下操作。首先,如圖7中所示,記憶體卡2(控制器22)為臨時工作使用準備一AU(工作AU)。接著,記憶體卡2將資料1至3分別複製至工作AU中之與AU1中的其資料將不被更新之RU相同的第一至第三RU。
如圖8中所示,記憶體卡2將資料20至22寫入工作AU中之與AU1中的其資料將被更新之經更新RU相同的第四至第六RU中。
如圖9中所示,記憶體卡2將AU1之資料7至N分別複製至工作AU中的與工作AU中之不經更新RU相同的第七至第N個RU中。接著,記憶體卡2對工作AU1進行終止處理(closing processing)。終止處理指代將工作AU設定為AU1,更具體而言,將工作AU設定為儲存由檔案系統12辨識之AU1中的資料的AU,或重新寫入邏輯/實體表。同時,丟棄舊AU1。換言之,將把舊AU1作為具有無效資料之AU進行處置。以預定時序抹除舊AU中之資料以使得其為新的空閒AU。
現將參看圖10至圖14描述循序寫入模式。圖10說明在主機1與處於循序寫入模式及循序寫入模式之前及之後的記憶體卡2之間所傳輸之命令及資料的第一實例。圖11至圖14各自循序說明處於循序寫入模式之第一實例之寫入期間的狀態。圖11至圖14中之除工作AU外的AU表示由檔案系統12辨識的AU,且亦表示記憶體卡2之儲存由檔案系統12辨識的AU中的資料的AU。
首先,記憶體卡2係處於隨機寫入模式,且如圖11中所示,AU1中之第一至第八RU分別儲存資料1至8,且AU2中之第一至第八RU分別儲存資料9至16。在此狀態下,如圖10中所示,主機1向記憶體卡2供應循序寫入開始命令。在接收到此命令之後,記憶體卡2轉換至循序寫入模式。
如圖11中所示,主機1希望將資料20至22寫入AU1中的第四至第六RU中。亦即,主機1希望用資料20至22更新第四至第六RU。為了執行此寫入,如圖10中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第四至第六RU關聯的資料20至22。如圖11中所示,在接收到此寫入請求之後,記憶體卡2為AU1準備工作AU1。工作AU僅由空閒RU組成,且由記憶體卡2臨時用於內部使用。在循序寫入模式中,記憶體卡2回應於寫入請求總是準備空閒之工作AU並將資料寫入於該工作AU中。由於工作AU之原始AU1仍為有效的,所以即使寫入錯誤在此階段由於某原因出現,寫入之前的狀態仍可被恢復。
在循序寫入模式中,將不被更新之RU之資料並不複製至工作AU中的RU。因此,如圖12中所示,記憶體卡2分別將資料20至22寫入工作AU中之與AU1中的經指導以儲存資料20至22之RU相同的第四至第六RU中。
如圖12中所示,主機1希望用資料23及24更新AU1中之第七及第八RU中的資料7及8,且用資料25至27更新AU2中之第一至第三RU中的資料9至11。為了執行此更新,如圖10中所示,主機1向記憶體卡2供應寫入命令、與AU1中之第七及第八RU關聯的資料23及24,以及與AU2中之第一至第三RU關聯的資料25至27。在接收到此寫入請求之後,如圖13中所示,記憶體卡2分別將資料23及24寫入工作AU中之與AU1中的經指導以儲存資料23及24之RU相同的第七及第八RU中。由於此時資料已寫入工作AU1中之最後RU中,如圖14中所示,記憶體卡2對工作AU執行終止處理。接著,記憶體卡2為AU2準備新的工作AU。
如圖15中所示,記憶體卡2分別將資料25及27寫入工作AU中之與AU2中的經指導以儲存資料25至27之RU相同的第一至第三RU中。
由於已完成寫入請求,如圖10中所示,主機1向記憶體卡2供應循序寫入結束命令。在接收到此命令之後,如圖15中所示,記憶體卡2在不將儲存於AU2中之第四至第八RU中的資料12至16複製至工作AU的情況下對工作AU執行終止處理,且接著轉換至隨機寫入模式。循序寫入結束命令為不必要的,且當偵測到具有非循序邏輯位址的寫入資料時,可終止循序寫入模式。
[2-2]第二實例
現將參看圖16至圖21描述使用第一實例的多個檔案之資料的並行記錄。圖16說明由根據第一實施例之記憶體卡接收之命令及資料的第二實例。圖17至圖21按次序說明記憶體卡2中之第二實例之寫入期間的一狀態。圖17至圖21中之除工作AU外的AU表示由檔案系統12辨識的AU,且亦表示記憶體卡2之儲存由檔案系統12辨識的AU中的資料的AU。第二實例僅係關於循序寫入模式中之操作,且剩餘操作與第一實例之操作相同。
首先,記憶體卡2係處於隨機寫入模式。如圖16中所示,當記憶體卡2自主機1接收到循序寫入開始命令時,記憶體卡2將轉換至循序寫入模式。
如圖17中所示,主機1希望將資料A1至A5寫入AU1中的第一至第五RU中。為了執行此寫入,如圖16中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第一至第五RU關聯的資料A1至A5。
如上文所描述,處於循序寫入模式之記憶體卡2回應於寫入請求總是準備空閒之工作AU並將資料寫入於該工作AU中。因此,如圖18中所示,記憶體卡2分別將資料A1及A5寫入工作AU1中之與AU1中的經指導以儲存資料A1至A5之RU相同的第一至第五RU中。
如圖18中所示,主機1希望將資料B1至B3寫入AU2中的第一至第三RU中。為了執行此寫入,如圖16中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU2中之第一至第三RU關聯的資料B1至B3。資料B1至B3屬於不同於資料A1至A3之AU的AU,因此資料B1至B3構成一不同於由資料A1至A3構成之檔案的檔案。作為一實例,資料B1至B3為視訊資料之部分,且資料A1至A5為其他視訊資料的部分。記憶體卡2(控制器22)可藉由檢查資料B1至B3及資料A1至A5之AU(亦即,其邏輯位址之高位元)而判定資料B1至B3構成一不同於資料A1至A5之檔案的檔案。
在接收到資料B1至B3之寫入請求之後,記憶體卡2判定資料B1至B3構成一不同於先前經請求以自其AU寫入之資料A1至A5構成之檔案的檔案,如上文所描述。作為此判定之結果,如圖19中所示,記憶體卡2為AU2準備新的工作AU2,且分別將資料B1至B3寫入工作AU2中之與AU2中的經指導以儲存資料B1至B3之RU相同的第一至第三RU中。
另外,如圖19中所示,主機1希望將資料A6及A7寫入AU1中的第六及第七RU中。為了執行此寫入,如圖16中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第六及第七RU關聯的資料A6及A7。資料A6及A7屬於含有先前經請求以被寫入之資料A1至A5的AU1。因此,在接收到此寫入請求之後,如圖20中所示,記憶體卡2分別將資料A6及A7寫入工作AU1中之與AU1中的經指導以儲存資料A6及A7之RU相同的第六及第七RU中。
如圖20中所示,主機1希望將資料B4至B6寫入AU2中的第四至第六RU中。為了執行此寫入,如圖16中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU2中之第四至第六RU關聯的資料B4至B6。資料B4至B6屬於含有資料B1至B3的AU2。因此,如圖20中所示,記憶體卡2分別將資料B4至B6寫入工作AU2中之與AU2中的經指導以儲存資料B4至B6之RU相同的第四至第六RU中。
由於已完成寫入請求,如圖16中所示,主機1向記憶體卡2供應循序寫入結束命令。在接收到此命令之後,如圖21中所示,記憶體卡2對所有工作AU執行終止處理,且接著轉換至隨機寫入模式。
請注意,第二實例說明兩個檔案之資料群組,亦即,包含資料A1至A7之檔案及資料B1至B6之另一檔案的兩個串流。然而,根據本說明書中描述之原理,本實施例亦可應用至三個或三個以上串流。記憶體卡2可同時寫入多少個資料串流視記憶體卡2可準備多少個工作AU而定。同時準備之工作AU的數目可根據記憶體卡2之寫入速度及/或儲存容量或規格來判定。
[2-3]第三實例
現將參看圖22至圖27描述以所要求時序結束工作AU的技術。圖22說明由第一實施例之記憶體卡接收之命令及資料的第三實例。圖23至圖27按次序說明記憶體卡2中之第三實例之寫入期間的一狀態。圖23至圖27中之除工作AU外的AU表示由檔案系統12辨識的AU,且亦表示記憶體卡2之儲存由檔案系統12辨識的AU中的資料的AU。第三實例僅係關於循序寫入模式中之操作,且剩餘操作與第一實例之操作相同。
首先,記憶體卡2係處於隨機寫入模式。在此狀態下,如圖22中所示,當記憶體卡2自主機1接收到循序寫入開始命令時,記憶體卡2轉換至循序寫入模式。
如圖23中所示,主機1希望將資料A1至A5寫入AU1中的第一至第五RU中。為了執行此寫入,如圖22中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第一至第五RU關聯的資料A1至A5。
在接收到此寫入請求之後,如圖24中所示,記憶體卡2為AU1準備新的工作AU1,且分別將資料A1至A5寫入工作AU1中之與AU1中的經指導以儲存資料A1至A5之RU相同的第一至第五RU中。
如圖24中所示,主機1希望將資料B1至B3寫入AU2中的第一至第三RU中。為了執行此寫入,如圖22中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU2中之第一至第三RU關聯的資料B1至B3。如圖25中所示,由於資料B1至B3構成一不同於由資料A1至A5構成之檔案的檔案,所以記憶體卡2為AU2準備新的工作AU2。記憶體卡2分別將資料B1至B3寫入工作AU2中之與AU2中的經指導以儲存資料B1至B3之RU相同的第一至第三RU中。
接著,為了完成由資料B1至B3構成之檔案的寫入同時繼續部分由資料A1至A5構成之檔案的寫入,主機1向記憶體2供應工作AU關閉命令(close command)。在接收到此命令之後,記憶體卡2對在此命令之前剛寫入資料之工作AU執行終止處理。結果,可提供另一工作AU替代工作AU2。舉例而言,若記憶體卡2可並行地寫入兩個檔案,則其將準備好在工作AU2之終止處理之後寫入檔案資料。亦可藉由在循序寫入結束命令中規定一要求該終止處理的引數來實現關閉命令。
關閉命令具有一規定終止處理之目標工作AU的引數。此引數可規定如上文中所描述資料已寫入至其中的最後工作AU、多個工作AU中的任一工作AU,或所有工作AU。
如圖26中所示,主機1希望將資料6及7寫入AU1中的第六及第七RU中。為了執行此寫入,如圖22中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第六及第七RU關聯的資料A6及A7。在接收到此寫入請求之後,如圖27中所示,記憶體卡2分別將資料A6及A7寫入工作AU1中之與AU1中的經指導以儲存資料A6及A7之RU相同的第六及第七RU中。
由於已完成寫入請求,如圖22中所示,主機1向記憶體卡2供應循序寫入結束命令。在接收到此命令之後,如圖21中所示,記憶體卡2對所有工作AU(在本實例中僅工作AU1)執行終止處理,且接著轉換至隨機寫入模式。
如上文所描述,根據第一實施例之記憶體卡具有隨機寫入模式及循序寫入模式。在循序寫入模式中,回應於資料之更新請求,屬於含有將並不被更新之RU的AU之RU中的資料並不複製至新AU。因此,在循序寫入模式中,資料總是寫入連續之空閒RU中。此類寫入之速度為可由快閃記憶體21實現的最大速度。能夠以最大效能寫入資料對於主機1為極有益的。最大寫入速度視快閃記憶體21之固有效能而定,且幾乎為恆定的。由於此原因,完成所指導之寫入所需的時間可易於自最大寫入速度計算出,且易於自需要由主機1寫入之資料大小導出AU(RU)之數目。此類計算為容易的,其需要短的時間。
此外,在記憶體卡2中,資料按寫入資料之邏輯位址的次序寫入連續RU頁中。此資料寫入可利用記憶體21的最大寫入速度。此外,記憶體卡在循序寫入模式中並不複製資料,記憶體卡可回應於寫入請求不斷寫入。如上文所描述,由於此類寫入之速度為記憶體21之最大速度,所以記憶體卡2在循序寫入模式中可以最大寫入速度不斷寫入。
由於記憶體卡2在循序寫入模式中可維持最大寫入速度,所以如關於第二實例所描述,為兩個或兩個以上獨立檔案中之每一者之資料提供獨佔工作AU允許並行地儲存兩個或兩個以上檔案的資料。
此外,根據第一實施例之記憶體卡,提供工作AU關閉命令。使用此命令,正並行地寫入多個檔案之資料的記憶體卡2可對所選擇工作AU執行終止處理,而無需等待循序寫入結束命令的供應。結果,記憶體卡2可釋放用於寫入已完成之檔案資料的工作AU,從而為其他檔案資料提供新工作AU。當此功能由硬體實現時,此情形為有用的,此係因為可並行寫入的串流的數目受到限制。
在第二實施例中,提供轉變至特定寫入就緒狀態之獨佔命令。根據第二實施例之記憶體卡具有與第一實施例(圖1至圖5)之組態相同的組態,且與第一實施例不同地操作。
[1]第一實例
將參看圖28至圖34描述第二實施例之第一實例的操作。圖28說明由根據第二實施例之記憶體卡接收之命令及資料的第一實例。圖29至圖33按次序說明記憶體卡2中之第一實例之寫入期間的一狀態。圖29至圖33中之除工作AU外的AU表示由檔案系統12辨識的AU,且亦表示記憶體卡2之儲存由檔案系統12辨識的AU中的資料的AU。
首先,如圖29中所示,AU1中之第一至第八RU儲存資料1至8,且AU2中之第一至第八RU儲存資料9至16。接著,如圖28中所示,主機1向記憶體卡2供應寫入準備命令。接收到此命令之後,記憶體卡2進行轉換至寫入可立即開始之狀態的準備。記憶體卡2藉由傳輸一(例如)指示繁忙狀態的信號而在執行至即時寫入就緒(立即寫入)狀態模式(即時寫入啟用模式)的轉變處理之同時通知主機1其正在準備。在該繁忙狀態結束之後,主機1開始寫入。
如圖29中所示,主機1希望將資料20至22寫入AU1中的第四至第六RU中。為了執行此寫入,如圖28中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第四至第六RU關聯的資料20至22。
在接收到寫入請求之後,處於即時寫入啟用狀態之記憶體卡2為作為寫入目標之AU(AU1)準備工作AU,除非記憶體卡2先前已接收到繼續命令(稍後將進行描述),如圖29中所示。
此寫入請求請求自AU中之非領先RU進行寫入。處於立即寫入狀態之記憶體卡2並不將低於寫入資料屬於之AU(AU1)中的寫入資料RU(在此實例中為第四至第六RU)的RU(第一至第三RU)中之資料複製至工作AU。因此,如圖30中所示,記憶體卡2分別將資料20至22寫入工作AU中之與AU1中的經指導以儲存資料20至22之RU相同的第四至第六RU中。
主機1希望藉由資料23及24更新AU1中之第七及第八RU的資料7及8,且藉由資料25至27更新AU2中之第一至第三RU的資料9至11。為了執行此更新,如圖28中所示,主機1向記憶體卡2供應寫入命令、與AU1中之第七及第八RU關聯的資料23及24,以及與AU2中之第一至第三RU關聯的資料25至27。在接收到此寫入請求之後,如圖32中所示,記憶體卡2分別將資料23及24寫入工作AU中之與AU1中的經指導以儲存資料23及24之RU相同的第七及第八RU中。此時,由於已在工作AU中之最後RU中寫入資料,所以記憶體卡2對該工作AU執行終止處理。記憶體卡2接著為AU2準備新的工作AU。
如圖33中所示,記憶體卡2分別將資料25及27寫入工作AU中之與AU2中的經指導以儲存資料25至27之RU相同的第一至第三RU中。
由於已完成寫入請求,如圖28中所示,主機1向記憶體卡2供應關閉命令。關閉命令具有如在第一實施例中一般規定終止處理之目標工作AU的引數,且具有一規定具有複本或無複本的引數。在由圖28供應之關閉命令中,規定無複本。在接收到此命令之後,如圖33中所示,記憶體卡2對工作AU執行終止處理,而不將上一寫入命令之寫入所針對的AU(AU2)中之不經更新RU(第三至第八RU)的資料12至16複製至工作AU。
在第二實施例中,除即時寫入啟用狀態中之操作外的操作保持與第一實施例之隨機寫入模式中的彼等操作相同。
[2]第二實例
現將參看圖34至圖39描述使用第一實例的多個檔案之資料的並行記錄。圖34說明由根據第二實施例之記憶體卡接收之命令及資料的第二實例。圖35至圖39按次序說明記憶體卡2中之第二實例之寫入期間的一狀態。圖35至圖39中之除工作AU外的AU表示由檔案系統12辨識的AU,且亦表示記憶體卡2之儲存由檔案系統12辨識的AU中的資料的AU。
如圖34中所示,隨著自主機1接收到寫入準備命令,記憶體卡2轉換至即時寫入啟用狀態。
如圖35中所示,主機1希望將資料A1至A5寫入AU1中的第一至第五RU中。為了執行此寫入,如圖34中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第一至第五RU關聯的資料A1至A5。AU1中之第一至第八RU儲存資料X1至X8。
如上文所描述,處於即時寫入啟用狀態之記憶體卡2準備新工作AU,除非其先前已接收到繼續命令(稍後將進行描述)。由於此原因,如圖36中所示,記憶體卡2為AU1準備工作AU1。記憶體卡2接著分別將資料A1及A5寫入工作AU1中之與AU1中的經指導以儲存資料A1至A5之RU相同的第一至第三RU中。
主機1希望並行寫入不同於部分由資料A1至A5構成之檔案的檔案之資料。由於此原因,其預期稍後將資料寫入於工作AU1中。由於此原因,如圖34中所示,主機1向記憶體卡2供應繼續命令。繼續命令可藉由在關閉命令中提供一引數來實現,該引數規定用於終止處理之指令或用於維持工作AU的指令。或者,可提供除關閉命令外的命令。在接收到繼續命令之後,如圖36中所示,記憶體卡2維持為恰在繼續命令之前的寫入請求之寫入目標之AU1的工作AU1,而不對工作AU1執行終止處理。
如圖36中所示,主機1希望將資料B1至B3寫入AU1中的第一至第三RU中。為了執行此寫入,如圖34中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU2中之第一至第三RU關聯的資料B1至B3。
如上文所描述,在接收到寫入命令之後,處於即時寫入啟用狀態之記憶體卡2建立新的工作AU,除非繼續命令要求繼續使用現有工作AU。由於資料B1至B3屬於不同於資料A1至A3所屬於之AU(AU1)的AU(AU2),如圖37中所示,記憶體卡2在接收到寫入資料B1至B3之後準備工作AU2。記憶體卡2分別將資料B1至B3寫入工作AU2中之與AU2中的經指導以儲存資料B1至B3之RU相同的第一至第三RU中。
接著,為了寫入在資料A5之後的資料,如圖34中所示,主機1向記憶體卡2供應繼續命令。在接收到繼續命令之後,如圖37中所示,記憶體卡2將維持為恰在此命令之前的寫入請求之目標的AU之工作AU2。
如圖37中所示,主機1希望將資料A6至A7寫入AU1中的第六及第七RU中。為了執行此寫入,如圖34中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第六及第七RU關聯的資料A6至A7。
由於記憶體卡2維持AU1之工作AU1,如圖38中所示,記憶體卡2並不回應於寫入命令而建立新的工作AU。實情為,記憶體卡2分別將資料A6及A7寫入工作AU1中之與AU1中的經指導以儲存資料A6及A7之RU相同的第六及第七RU中。
接著,為了寫入在資料B3之後的資料,如圖34中所示,主機1向記憶體卡2供應繼續命令。在接收到繼續命令之後,如圖38中所示,記憶體卡2維持為恰在此命令之前的寫入請求之目標的AU之工作AU1。
如圖38中所示,主機1希望將資料B4及B5寫入AU2中的第四及第五RU中。為了執行此寫入,如圖34中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU2中之第四及第五RU關聯的資料B4及B5。
如圖39中所示,由於記憶體卡2維持AU2的工作AU2,所以記憶體卡2分別將資料B4及B5寫入工作AU2中之與AU2中的經指導以儲存資料B4及B5之RU相同的第四及第五RU中。
如圖38中所示,主機1希望將資料B6寫入AU2中的第六RU中。當主機1希望向包括資料上次已被寫入之RU的AU中之RU進行寫入時,主機1可藉由僅供應寫入命令而不供應繼續命令來執行此操作。為了執行此寫入,如圖34中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU2中之第六RU關聯的資料B6。在接收到此寫入請求之後,記憶體卡2將資料B6寫入工作AU2中之與AU2中的經指導以儲存資料B6的RU相同的第六RU中。
由於已完成寫入請求,如圖34中所示,主機1向記憶體卡2供應關閉命令。在圖34之實例中,在關閉命令中用於規定關閉目標AU的引數規定所有工作AU,且在另一引數中亦規定無複本。在接收到此命令之後,如圖39中所示,記憶體卡2對工作AU1及AU2執行終止處理,而不將AU1中之不經更新RU(第八RU)之資料X8複製至工作AU1。
[3]第三實例
現將參看圖40至圖47描述使用第一實例的多個檔案之資料的另一說明性並行記錄。圖40說明由根據第二實施例之記憶體卡接收之命令及資料的第三實例。圖41至圖47按次序說明記憶體卡2中之第三實例之寫入期間的一狀態。此等圖中之資料A1至A7通常為視訊資料,且資料B1至B3及資料C1至C3為圖片資料。圖41至圖48中之除工作AU外的AU表示由檔案系統12辨識的AU,且亦表示記憶體卡2之儲存由檔案系統12辨識的AU中的資料的AU。
如圖40中所示,隨著自主機1接收到寫入準備命令,記憶體卡2轉換至即時寫入啟用狀態。
如圖41中所示,主機1希望將資料A1至A5寫入AU1中的第一至第五RU中。為了執行此寫入,如圖40中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第一至第五RU關聯的資料A1至A5。AU1中之第一至第八RU儲存資料X1至X8。
如上文所描述,由於處於即時寫入啟用狀態之記憶體卡2準備新的工作(除非記憶體卡2先前已接收到繼續命令),所以如圖42中所示,記憶體卡2為AU1準備工作AU1。記憶體卡2分別將資料A1至A5寫入工作AU1中之與AU1中的經指導以儲存資料A1至A5之RU相同的第一至第五RU中。
主機1希望並行寫入不同於部分由資料A1至A5構成之檔案的檔案之資料。由於此原因,如圖40中所示,主機1向記憶體卡2供應繼續命令。在接收到繼續命令之後,如圖42中所示,記憶體卡2維持工作AU1。
如圖42中所示,主機1希望將資料B1至B3寫入AU2中的第一至第三RU中。為了執行此寫入,如圖40中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU2中之第一至第三RU關聯的資料B1至B3。AU2中之第一至第八RU儲存資料Y1至Y8。
由於資料B1至B3屬於不同於先前已寫入資料之AU1的AU,如圖43中所示,記憶體卡2在接收到寫入資料B1至B3之後準備工作AU2。記憶體卡2分別將資料B1及B3寫入工作AU2中之與AU2中的經指導以儲存資料B1至B3之RU相同的第一至第三RU中。
由於由資料B1至B3構成之檔案的寫入已完成,如圖40中所示,主機1向記憶體卡2供應關閉命令。此關閉命令具有一規定無複本的引數。在接收到此命令之後,如圖44中所示,記憶體卡2對工作AU2執行終止處理,而不將為上一寫入命令之寫入目標的AU2中之不經更新RU(第四至第八RU)的資料Y4至Y8複製至工作AU2。
如圖44中所示,主機1希望將資料A6及A7寫入AU1中的第六及第七RU中。為了執行此寫入,如圖40中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU1中之第六及第七RU關聯的資料A6及A7。
由於記憶體卡2維持AU1之工作AU1,如圖44中所示,記憶體卡2並不回應於寫入命令而建立新的工作AU。實情為,記憶體卡2分別將資料A6及A7寫入工作AU1中之與AU1中的經指導以儲存資料A6及A7之RU相同的第六及第七RU中。
由於由資料A1至A7組成之檔案的寫入已完成,如圖45中所示,主機1希望將資料C1至C3寫入AU3中的第一至第三RU中。為了執行此寫入,如圖40中所示,主機1向記憶體卡2供應寫入命令,且接著向記憶體卡2供應與AU3中之第一至第三RU關聯的資料C1至C3。AU3中之第一至第八RU儲存資料Z1至Z8。
資料C1至C3屬於不同於已執行先前寫入之AU1的AU。此外,AU1仍包括不經更新的資料X8。在此狀態中已接收到寫入命令而未接收到繼續命令的記憶體卡2將已執行上次寫入的AU1中之不經更新資料複製至工作AU中。亦即,如圖46中所示,記憶體卡2將資料X8複製至工作AU中之與AU1中的被指派資料X8的RU相同的第八RU。接著,由於記憶體卡2尚未接收到指導對工作AU1之終止處理的關閉命令,所以記憶體卡2並不對工作AU1執行終止處理。請注意,由於此複製係在即時寫入結束之後,所以此複製既不影響寫入亦不影響寫入時間的計算。可由關閉命令規定將AU1中之資料X8複製至工作AU1。亦即,在供應用於寫入資料C1至C3之寫入命令之前,主機1向記憶體卡2供應具有一規定具有複本之引數的關閉命令。在接收到此關閉命令之後,記憶體卡2將目標AU(AU1)中之高於上次寫入RU(第七RU)的RU(第八RU)之資料複製至工作AU1中之相同的第八RU。
接著,記憶體卡2為AU3準備工作AU3。由於資料C1至C3之寫入對應於自AU3中之領先RU起的寫入,所以其複製為不必要的。因此,如圖47中所示,記憶體卡2分別將資料C1至C3寫入工作AU3中之與AU3中的經指導以儲存資料C1至C3之RU相同的第一至第三RU中。
由於寫入由資料A1至A7構成之檔案的資料及由資料C1至C3構成之檔案的資料已完成,如圖40中所示,主機1向記憶體卡2供應關閉命令。此關閉命令具有一規定無複本的引數,及規定對所有AU(在此實例中工作AU1及工作AU3)之終止處理的另一引數。因此,在接收到此命令之後,如圖47中所示,記憶體卡2對工作AU1執行終止處理,且對工作AU3執行終止處理,而不將AU3中之不經更新RU(第四至第八RU)的資料Z4至Z8複製至工作AU3。
如上文所描述,根據第二實施例之記憶體卡,定義即時寫入狀態。在接收到寫入命令之後,處於即時寫入狀態之記憶體卡準備僅由空閒RU組成之工作AU,且以寫入資料之邏輯位址的次序將RU中之資料寫入於工作AU中。向此等連續空閒RU之寫入的速度為由快閃記憶體21實現的最大速度。最大寫入速度視快閃記憶體21之固有效能而定,且幾乎為恆定的。由於此原因,完成所指導之寫入所需要的時間可易於自最大寫入速度計算出,且AU(RU)之數目易於自需要由主機1寫入之資料大小導出。此類計算為容易的,其需要短的時間。
此外,根據第二實施例在記憶體卡中提供繼續命令。在繼續命令的情況下,不必對於工作AU進行終止處理以準備另一工作AU。由於此原因,為兩個或兩個以上獨立檔案中之每一者的資料提供獨佔工作AU允許並行地記錄兩個或兩個以上檔案的資料。
請注意,所有繼續命令指導暫時中止向所建立工作AU的寫入。由於此原因,即使記憶體卡如同在第二實例中一般接收到繼續命令,記憶體卡仍將資料僅寫入空閒AU中而不暫時中止寫入(如同第一實例中)。
熟習此項技術者將易於想到額外優點及修改。因此,在更廣泛態樣中,本發明並不限於本文中所展示並描述的特定細節及代表性實施例。因此,在不偏離如由附加之申請專利範圍及其等效物定義之一般發明概念之精神或範疇的情況下可進行各種修改。
1...主機裝置/主機
2...記憶體卡
11...軟體
12...檔案系統
13...SD介面
21...NAND快閃記憶體
22...控制器
31...SD介面
32...微處理單元(MPU)
33...唯讀記憶體(ROM)
34...隨機存取記憶體(RAM)
35...NAND介面
36...暫存器
41...常規記憶體區域
42...頁緩衝器
AU...配置單元
BLK...實體區塊
PG...頁
RU...記錄單元
圖1說明根據第一實施例之記憶體卡的主要功能區塊與主機裝置的功能區塊;
圖2說明暫存器之細節;
圖3說明記憶體空間之組態;
圖4說明由主機辨識之記憶體區域及記憶體卡的記憶體區域;
圖5說明由第一實施例之記憶體卡進行之模式轉變;
圖6說明第一實施例之第一實例的寫入期間的記憶體卡的狀態;
圖7說明圖6之後的狀態;
圖8說明圖7之後的狀態;
圖9說明圖8之後的狀態;
圖10說明由第一實施例之記憶體卡接收之命令及資料的第一實例;
圖11說明第一實施例之第一實例的寫入期間的記憶體卡的狀態;
圖12說明圖11之後的狀態;
圖13說明圖12之後的狀態;
圖14說明圖13之後的狀態;
圖15說明圖14之後的狀態;
圖16說明由第一實施例之記憶體卡接收之命令及資料的第二實例;
圖17說明第一實施例之第二實例的寫入期間的記憶體卡的狀態;
圖18說明圖17之後的狀態;
圖19說明圖18之後的狀態;
圖20說明圖19之後的狀態;
圖21說明圖20之後的狀態;
圖22說明由第一實施例之記憶體卡接收之命令及資料的第三實例;
圖23說明第一實施例之第三實例的寫入期間的記憶體卡的狀態;
圖24說明圖23之後的狀態;
圖25說明圖24之後的狀態;
圖26說明圖25之後的狀態;
圖27說明圖26之後的狀態;
圖28說明由第二實施例之記憶體卡接收之命令及資料的第一實例;
圖29說明第二實施例之第一實例的寫入期間的記憶體卡的狀態;
圖30說明圖29之後的狀態;
圖31說明圖30之後的狀態;
圖32說明圖31之後的狀態;
圖33說明圖32之後的狀態;
圖34說明由第二實施例之記憶體卡接收之命令及資料的第二實例;
圖35說明第二實施例之第二實例的寫入期間的記憶體卡的狀態;
圖36說明圖35之後的狀態;
圖37說明圖36之後的狀態;
圖38說明圖37之後的狀態;
圖39說明圖38之後的狀態;
圖40說明由第二實施例之記憶體卡接收之命令及資料的第三實例;
圖41說明第二實施例之第三實例的寫入期間的記憶體卡的狀態;
圖42說明圖41之後的狀態;
圖43說明圖42之後的狀態;
圖44說明圖43之後的狀態;
圖45說明圖44之後的狀態;
圖46說明圖45之後的狀態;及
圖47說明圖46之後的狀態。
1...主機裝置/主機
2...記憶體卡
11...軟體
12...檔案系統
13...SD介面
21...NAND快閃記憶體
22...控制器
31...SD介面
32...微處理單元(MPU)
33...唯讀記憶體(ROM)
34...隨機存取記憶體(RAM)
35...NAND介面
36...暫存器
Claims (8)
- 一種記憶體裝置,其包含:一記憶體,其具有記憶體區域,該等記憶體區域之一部分係分配為使用者區域,該使用者區域包含管理單元;及一控制器,其係構成為:接收第一開始命令跟隨著一個以上對第一管理單元之寫入命令以執行對該第一管理單元之循序寫入;執行該對該第一管理單元之循序寫入後,接收第二開始命令跟隨著一個以上對第二管理單元之寫入命令以執行對該第二管理單元之循序寫入;且不維持尚未藉由對該第一管理單元之寫入而更新之第一管理單元中之資料;接收前面沒有第三開始命令之對第三管理單元之寫入命令以執行對該第三管理單元之寫入;且維持尚未藉由對該第三管理單元之寫入而更新之第三管理單元中之資料。
- 如請求項1之裝置,其中該控制器包含一暫存器,該暫存器保存關於資料寫入至該等記憶體區域之一速度的資訊。
- 如請求項1之裝置,其中在接收到跟隨在開始命令後之寫入命令之後,該控制器準備將包含該寫入資料之空閒之管理單元;且該準備好之管理單元僅由不含有有效資料之尚未寫入 的記憶體區域組成。
- 如請求項3之裝置,其中該控制器藉由跟隨在開始命令之後之寫入命令之位址將管理單位與一位址群組加以關聯;且將位址在該位址群組中之寫入命令之資料寫入至該管理單元。
- 一種控制記憶體裝置的方法,該記憶體裝置包括具有記憶體區域之記憶體及控制器,該等記憶體區域之一部分係分配為使用者區域,該使用者區域包含管理單元,該方法包含:接收第一開始命令跟隨著一個以上對第一管理單元之寫入命令以執行對該第一管理單元之循序寫入;執行該對該第一管理單元之循序寫入後,接收第二開始命令跟隨著一個以上對第二管理單元之寫入命令以執行對該第二管理單元之循序寫入;且不維持尚未藉由對該第一管理單元之寫入而更新之第一管理單元中之資料;接收前面沒有第三開始命令之對第三管理單元之寫入命令以執行對該第三管理單元之寫入;且維持尚未藉由對該第三管理單元之寫入而更新之第三管理單元中之資料。
- 如請求項5之方法,其中該控制器包含一暫存器,該暫存器保存關於資料寫入至該等記憶體區域之一速度的資訊。
- 如請求項5之方法,其中在接收到跟隨在開始命令後之寫入命令之後,該控制器準備將包含該寫入資料之空閒之管理單元;且該準備好之管理單元僅由不含有有效資料之尚未寫入的記憶體區域組成。
- 如請求項7之方法,其中該控制器藉由跟隨在開始命令之後之寫入命令之位址將管理單位與一位址群組加以關聯;且將位址在該位址群組中之寫入命令之資料寫入至該管理單元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008316066A JP5175703B2 (ja) | 2008-12-11 | 2008-12-11 | メモリデバイス |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201027336A TW201027336A (en) | 2010-07-16 |
TWI430089B true TWI430089B (zh) | 2014-03-11 |
Family
ID=42242880
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098142639A TWI430089B (zh) | 2008-12-11 | 2009-12-11 | 記憶體裝置及其控制方法 |
TW102148823A TWI534616B (zh) | 2008-12-11 | 2009-12-11 | 控制器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102148823A TWI534616B (zh) | 2008-12-11 | 2009-12-11 | 控制器 |
Country Status (7)
Country | Link |
---|---|
US (3) | US9110781B2 (zh) |
EP (1) | EP2356571B1 (zh) |
JP (1) | JP5175703B2 (zh) |
KR (1) | KR101409095B1 (zh) |
CN (1) | CN102246151B (zh) |
TW (2) | TWI430089B (zh) |
WO (1) | WO2010067899A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5175703B2 (ja) * | 2008-12-11 | 2013-04-03 | 株式会社東芝 | メモリデバイス |
US8554987B2 (en) | 2009-06-18 | 2013-10-08 | Panasonic Corporation | Nonvolatile memory system for improving stream data writing |
WO2011013350A1 (ja) * | 2009-07-29 | 2011-02-03 | パナソニック株式会社 | メモリ装置、ホスト装置およびメモリシステム |
JP2011175615A (ja) * | 2010-01-27 | 2011-09-08 | Toshiba Corp | ホスト装置およびメモリデバイス |
US8938606B2 (en) * | 2010-12-22 | 2015-01-20 | Intel Corporation | System, apparatus, and method for segment register read and write regardless of privilege level |
CN102096722B (zh) * | 2011-03-21 | 2013-03-27 | 华为数字技术(成都)有限公司 | 文件存储方法和装置 |
JP2012248258A (ja) * | 2011-05-31 | 2012-12-13 | Funai Electric Co Ltd | 光ディスク装置 |
TWI605458B (zh) | 2012-04-25 | 2017-11-11 | Sony Corp | Non-volatile memory devices, non-volatile memory control devices, and non-volatile memory control methods |
JP5976608B2 (ja) | 2012-10-30 | 2016-08-23 | 株式会社東芝 | メモリデバイス |
KR102549540B1 (ko) * | 2017-09-22 | 2023-06-29 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
CN108683811A (zh) * | 2018-05-14 | 2018-10-19 | Oppo广东移动通信有限公司 | 移动终端及其生物信息识别方法、解锁方法以及存储介质 |
JP7252821B2 (ja) * | 2019-04-17 | 2023-04-05 | キヤノン株式会社 | 記録装置、記録方法、プログラム、及びメモリカード |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745418A (en) * | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
US6230245B1 (en) * | 1997-02-11 | 2001-05-08 | Micron Technology, Inc. | Method and apparatus for generating a variable sequence of memory device command signals |
JP3524337B2 (ja) * | 1997-07-25 | 2004-05-10 | キヤノン株式会社 | バス管理装置及びそれを有する複合機器の制御装置 |
FR2772384B1 (fr) | 1997-12-16 | 2000-02-04 | Bp Chemicals Snc | Procede de demarrage d'une polymerisation d'olefine en phase gazeuse |
JP3585091B2 (ja) * | 1998-06-15 | 2004-11-04 | 富士通株式会社 | 記憶装置 |
JP2000216935A (ja) * | 1999-01-25 | 2000-08-04 | Canon Inc | 複合機器の情報処理システム |
US6850995B1 (en) * | 1999-01-25 | 2005-02-01 | Canon Kabushiki Kaisha | Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process |
JP2000215149A (ja) * | 1999-01-25 | 2000-08-04 | Canon Inc | 複合機器の制御装置 |
JP2000211216A (ja) * | 1999-01-25 | 2000-08-02 | Canon Inc | 複合機器の情報処理方法及びシステム |
US7457897B1 (en) * | 2004-03-17 | 2008-11-25 | Suoer Talent Electronics, Inc. | PCI express-compatible controller and interface for flash memory |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
JP4238514B2 (ja) * | 2002-04-15 | 2009-03-18 | ソニー株式会社 | データ記憶装置 |
US6633500B1 (en) | 2002-04-26 | 2003-10-14 | Macronix International Co., Ltd. | Systems and methods for refreshing a non-volatile memory using a token |
JP2005301497A (ja) * | 2004-04-08 | 2005-10-27 | Hitachi Ltd | ストレージ管理装置、リストア方法及びそのプログラム |
WO2005106673A1 (ja) * | 2004-04-28 | 2005-11-10 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶装置及びデータ書込み方法 |
CN100437517C (zh) * | 2004-04-28 | 2008-11-26 | 松下电器产业株式会社 | 非易失性存储装置和数据写入方法 |
US7797483B1 (en) * | 2004-06-23 | 2010-09-14 | Emc Corporation | Write interceptor for tracking changes to disk image |
KR100858756B1 (ko) | 2004-07-12 | 2008-09-16 | 가부시끼가이샤 도시바 | 저장 디바이스 및 호스트 장치 |
JP4874588B2 (ja) | 2004-07-12 | 2012-02-15 | 株式会社東芝 | 記憶デバイスおよびホスト機器 |
US20060059384A1 (en) * | 2004-08-16 | 2006-03-16 | Fabrice Helliker | Full backup from incremental /differential backups |
JP4622422B2 (ja) * | 2004-09-28 | 2011-02-02 | パナソニック株式会社 | 記憶装置 |
US7779056B2 (en) * | 2006-09-15 | 2010-08-17 | Sandisk Corporation | Managing a pool of update memory blocks based on each block's activity and data order |
JP4682261B2 (ja) * | 2006-09-15 | 2011-05-11 | サンディスク コーポレイション | 不揮発性メモリおよびクラスベースの更新ブロック置換規則のための方法 |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
WO2009013877A1 (ja) * | 2007-07-20 | 2009-01-29 | Panasonic Corporation | メモリコントローラ、メモリカード、不揮発性メモリシステム |
US8090917B2 (en) * | 2008-05-09 | 2012-01-03 | International Business Machines Corporation | Managing storage and migration of backup data |
JP5175703B2 (ja) * | 2008-12-11 | 2013-04-03 | 株式会社東芝 | メモリデバイス |
JP2011175615A (ja) * | 2010-01-27 | 2011-09-08 | Toshiba Corp | ホスト装置およびメモリデバイス |
-
2008
- 2008-12-11 JP JP2008316066A patent/JP5175703B2/ja active Active
-
2009
- 2009-12-11 CN CN200980149510.2A patent/CN102246151B/zh active Active
- 2009-12-11 EP EP09831999.9A patent/EP2356571B1/en active Active
- 2009-12-11 WO PCT/JP2009/071069 patent/WO2010067899A1/en active Application Filing
- 2009-12-11 TW TW098142639A patent/TWI430089B/zh active
- 2009-12-11 TW TW102148823A patent/TWI534616B/zh active
- 2009-12-11 KR KR1020117013369A patent/KR101409095B1/ko active IP Right Grant
-
2011
- 2011-06-10 US US13/158,126 patent/US9110781B2/en not_active Ceased
-
2017
- 2017-03-20 US US15/464,095 patent/USRE48983E1/en active Active
-
2021
- 2021-07-16 US US17/377,952 patent/USRE49921E1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20110088566A (ko) | 2011-08-03 |
USRE48983E1 (en) | 2022-03-22 |
TW201441814A (zh) | 2014-11-01 |
TWI534616B (zh) | 2016-05-21 |
EP2356571A1 (en) | 2011-08-17 |
CN102246151A (zh) | 2011-11-16 |
JP2010140268A (ja) | 2010-06-24 |
WO2010067899A1 (en) | 2010-06-17 |
CN102246151B (zh) | 2016-04-20 |
EP2356571B1 (en) | 2020-01-22 |
EP2356571A4 (en) | 2012-07-04 |
TW201027336A (en) | 2010-07-16 |
USRE49921E1 (en) | 2024-04-16 |
JP5175703B2 (ja) | 2013-04-03 |
US9110781B2 (en) | 2015-08-18 |
US20110238933A1 (en) | 2011-09-29 |
KR101409095B1 (ko) | 2014-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI430089B (zh) | 記憶體裝置及其控制方法 | |
JP3898305B2 (ja) | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 | |
JP4192129B2 (ja) | メモリ管理装置 | |
US8208322B2 (en) | Non-volatile memory control | |
US20120173795A1 (en) | Solid state drive with low write amplification | |
US20120254524A1 (en) | Memory device and host device | |
US20030065899A1 (en) | Memory system sectors | |
US20130212320A1 (en) | Non-volatile memory controller processing new request before completing current operation, system including same, and method | |
JP2011107851A (ja) | メモリシステム | |
JP2000067574A (ja) | 半導体記憶装置 | |
JPWO2005103903A1 (ja) | 不揮発性記憶システム | |
JP4843222B2 (ja) | 半導体記憶装置の制御方法、メモリカード、及びホスト機器 | |
WO2009126011A2 (ko) | 광 디스크 드라이브처럼 동작 가능한 메모리 드라이브 및 메모리 드라이브를 광 디스크 드라이브로 가상화하는 방법 | |
US8819332B2 (en) | Nonvolatile storage device performing periodic error correction during successive page copy operations | |
US20060059296A1 (en) | Emulating small block size of flash memory | |
US6898680B2 (en) | Minimization of overhead of non-volatile memory operation | |
TWI649652B (zh) | Fast and safe data storage device and method | |
JP2003242788A (ja) | 不揮発性半導体メモリ装置及びその制御方法 |