TWI512463B - 記憶體裝置及主機裝置 - Google Patents
記憶體裝置及主機裝置 Download PDFInfo
- Publication number
- TWI512463B TWI512463B TW102132804A TW102132804A TWI512463B TW I512463 B TWI512463 B TW I512463B TW 102132804 A TW102132804 A TW 102132804A TW 102132804 A TW102132804 A TW 102132804A TW I512463 B TWI512463 B TW I512463B
- Authority
- TW
- Taiwan
- Prior art keywords
- area
- command
- data
- write
- overwrite
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/17—Embedded application
- G06F2212/177—Smart card
-
- 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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Description
本發明基於2012年10月30日申請的第2012-238849號,及2013年8月9日申請的第2013-166804號之日本專利申請案,且主張其之優先權的權利,該兩專利申請案之全部內容以引用之方式併入本文中。
本文中所描述之實施例大體上係關於一種記憶體裝置及一種主機裝置。
諸如SDTM
卡之記憶體裝置被分類為複數個等級,以促進記憶體裝置之效能與由主機裝置所要求之效能之間的匹配。速度等級提供藉由速度等級編號對記憶體裝置之效能進行分類及計算記憶體裝置之效能的方法。
速度等級使用具體命令控制寫入程序。為了進行記憶體寫入,同時維持效能,在為記憶體裝置之實體記憶體區域的分配單元(以下稱作AU或順序寫入區域)中執行順序寫入。需要自分配單元開始處寫入資料。出於此原因,已部分地寫入資料之分配單元不可用於資料記錄。因此,需要提供能夠使用已部分地寫入資料之分配單元,且能夠改良分配單元之利用效率的記憶體裝置及主機裝置。
11‧‧‧記憶體裝置
11a‧‧‧控制器
12‧‧‧主機介面(I/F)
12a‧‧‧暫存器
13‧‧‧CPU
14‧‧‧唯讀記憶體(ROM)
15‧‧‧隨機存取記憶體(RAM)
16‧‧‧緩衝器
17‧‧‧記憶體介面(I/F)
18‧‧‧NAND快閃記憶體
18a‧‧‧使用者區域
19‧‧‧I/O
20‧‧‧主機裝置
21‧‧‧主機控制器
22‧‧‧CPU
23‧‧‧唯讀記憶體(ROM)
24‧‧‧隨機存取記憶體(RAM)
25‧‧‧硬碟(HDD)
26‧‧‧SD匯流排介面
圖1為展示實施例所應用之記憶體系統的一實例之方塊圖。
圖2為展示NAND快閃記憶體之使用者區域分配單元的視圖。
圖3為展示多檔案記錄之一實例的視圖。
圖4為展示應用於此實施例的命令格式之一實例的視圖。
圖5為展示使用命令設定順序寫入區域之一實例的視圖。
圖6為展示使用命令控制覆寫區域之一實例的視圖。
圖7為展示使用命令控制以設定資料區域之開始的一實例的視圖。
圖8為展示使用命令控制以準備卡區域之一實例的流程圖。
圖9A為展示在分配單元中寫入之一實例的視圖,且圖9B為展示設置序列之一實例的流程圖。
圖10為展示將圖9B中所展示之設置序列表現為命令序列的一實例之視圖。
圖11為展示初始化卡、產生根目錄下之子目錄且產生檔案之一實例的視圖。
圖12為特定展示圖11之操作的視圖。
圖13為展示將圖11及圖12之操作表現為命令序列的一實例之視圖。
圖14為展示將圖3中所展示之操作表現為命令序列的一實例之視圖。
圖15為展示視訊級之效能資訊及AU大小資訊的一實例之視圖。
大體而言,根據一實施例,記憶體裝置包括非揮發性半導體記憶體及控制單元。非揮發性半導體記憶體具有複數個實體儲存區域,其包括可外部存取之使用者區域,且其被分割成複數個分配單元。控制單元經組態以控制非揮發性半導體記憶體。控制單元接收具有第一引數以依據一讀取命令或一寫入命令指定順序寫入區域的控制命令;
將由讀取命令或寫入命令之位址所表示的分配單元指派為順序寫入區域,及藉由判斷存取使用者區域之記憶體存取命令的位址是否指示在大小等效於分配單元之順序寫入區域中存取,改變記憶體存取控制。
現將參考隨附圖式描述實施例。
圖1示意性地展示根據實施例的記憶體系統。
記憶體系統包括諸如SD卡之記憶體裝置11(以下亦稱作卡),及主機裝置20。
主機裝置20及記憶體裝置11由SD匯流排介面26連接以使用命令而通信。記憶體裝置11可通過SD匯流排介面向主機指示忙碌。忙碌指示意謂卡正執行某些內容,且防止主機發出下一命令。
當連接至主機裝置20時,記憶體裝置11接收電力及操作以執行對應於來自主機裝置20之存取的處理。記憶體裝置11包括控制器11a。
控制器11a包括(例如)主機介面(I/F)12、CPU 13、唯讀記憶體(ROM)14、用作揮發性記憶體之隨機存取記憶體(RAM)15、緩衝器16及記憶體介面(I/F)17。此等組件藉由匯流排而連接。記憶體介面17連接至(例如)NAND快閃記憶體18及用作延伸功能單元之I/O 19。舉例而言,無線LAN裝置或其類似者可應用於延伸功能單元。
主機介面12執行控制器11a與主機裝置20之間的介面處理。主機介面12包括暫存器12a。暫存器12a儲存對於記憶體裝置11而言唯一之資料,諸如待稍後描述之AU的大小。執行期間,暫存器12a亦儲存狀態。自NAND快閃記憶體18讀取出預設設定,且在開機時間在暫存器12a中設定預設設定。藉由命令讀取出暫存器12a之內容,例如,可藉由主機裝置20所發出之CMD13讀取狀態。
記憶體介面17執行控制器11a與NAND快閃記憶體18或I/O 19之間的介面處理。可不僅藉由CPU 13之資料傳送,亦藉由硬體之DMA傳送而傳送主機介面12、RAM 15、緩衝器16及其類似者之資料。
CPU 13控制整個記憶體裝置11的操作。CPU 13將儲存於ROM 14中之韌體(控制程式或其類似者)或NAND快閃記憶體18中所記錄之韌體載入至RAM 15上,且執行預定處理。亦即,CPU 13在RAM 15上產生各種種類之表及(例如)延伸暫存器,且在自主機20接收寫入命令、讀取命令或抹除命令之後,存取NAND快閃記憶體18上之區域或經由緩衝器16控制資料傳送處理。
ROM 14儲存諸如控制程式之待由CPU 13使用的韌體。一些韌體件可在ROM 14中實施,然而餘下之韌體件可儲存於NAND快閃記憶體18中,經提取至RAM 15且經執行。RAM 15用作CPU 13之工作區域,且儲存控制程式、各種種類之表及延伸暫存器。
當待在NAND快閃記憶體18中寫入自主機裝置20發送之資料時,緩衝器16暫時地儲存預定量之資料(例如,一頁之資料),或當待將自NAND快閃記憶體18讀取出之資料發送至主機裝置20時,暫時地儲存預定量之資料。插入緩衝器16使得能夠非同步地控制SD匯流排介面與後端。
NAND快閃記憶體18包括具有(例如)堆疊閘極結構之記憶體單元或具有MONOS結構之記憶體單元。
I/O 19具有周邊裝置之功能或用於數位攝影機、PHS或其類似者之介面。舉例而言,當將無線LAN裝置應用為I/O 19時,甚至不具有無線通信功能之數位攝影機可執行與外部伺服器或外部PC(個人電腦)之無線資料通信。
舉例而言,數位攝影機、PHS或其類似者可應用為主機裝置20。主機裝置20包括主機控制器21、CPU 22、ROM 23、RAM 24及(例如)硬碟25(包括SSD)。此等組件藉由匯流排而連接。
CPU 22控制整個主機裝置20。ROM 23儲存CPU 22之操作所必要的韌體。自儲存裝置(例如,HDD 25)讀取出的韌體可儲存於RAM 24
中以構成系統,而非ROM 23中。RAM 24用作(例如)CPU 22之工作區域。此處亦載入及執行可由CPU 22執行之程式。硬碟(HDD)25保持各種種類之資料。主機控制器21在連接記憶體裝置11之狀態中執行對記憶體裝置11的介面處理。根據來自CPU 22之指令,主機控制器21亦發出待稍後描述的各種種類之命令。
此外,主機裝置20具有記憶體管理軟體,其經組態以辨識(例如)儲存於硬碟25中的格式化NAND快閃記憶體18之使用者區域的檔案系統。基於將產生之檔案的檔案名稱之副檔名或資料長度,記憶體管理軟體判定是在順序寫入區域中還是在覆寫區域中寫入資料。
圖2展示NAND快閃記憶體18之區域中可由使用者使用之使用者區域18a的分配單元。NAND快閃記憶體18之使用者區域18a(其為可使用命令外部存取之區域)被分割成複數個AU。基於NAND快閃記憶體18之實體邊界(邊界並不等效於使用者區域中之檔案系統所管理的邊界)判定AU1至AUn中之每一者的大小。將AU大小乘上n(整數)得到使用者區域18a之完整記憶體容量。
諸如檔案分配表(FAT)的檔案系統之資訊通常起初記錄於AU1中。出於此原因,不保證AU1之寫入效能。(若AU2為空閒AU,)AU2至AUn為保證效能之記錄區域,且其指示為可記錄區域。然而,自效能保證排除記錄目錄項之AU或覆寫之AU。若AU大小較小,且檔案系統之資訊記錄於(例如)AU1至AUp中,則AU(p+1)至AUn為保證效能之記錄區域。
另外,每一AU被分割成複數個記錄單元(以下被稱作RU)。對於位址位於RU邊界上且資料長度至少等於或大於RU大小的連續寫入之資料的順序寫入,效能係經保證的。出於此原因,主機裝置20需要在對應於RU之整數倍數的單元中執行多區塊寫入。此係因為需要某一資料長度以使得卡中之管線操作的效應出現該效能。
圖2指示一AU由m個RU形成。讓SRU
為RU之大小,且SAU
為AU之大小,由SAU
/SRU
給出一AU中之RU的數目m(=NRU
)。
當執行任意AU之順序寫入時,由記憶體裝置之寫入效能資訊Pw表示平均效能之最差值。當AU大小超過4MB,則Pw被定義為藉由將AU分割成4MB區域所獲得的4MB區域之平均效能的最差值。
主機裝置20可(例如)自記憶體裝置之暫存器12a讀取出Pw及AU大小SAU
,且將其用於效能計算。RU大小被定義為固定值。
可自Pw估計由AU位址及AU大小所表示的區域之順序寫入最小平均效能。由於Pw值與AU大小之值在裝置之間改變,因此主機裝置20需要藉由自記憶體裝置之暫存器12a讀取出Pw及AU大小而應對此情況。
此處將描述用於具有效能Pw=10MB/sec之記憶體裝置的效能估計方法的實例。當使用時間槽管理裝置之記憶體存取時間時,此裝置可被視為能夠在每一時間槽1sec中寫入至少10MB之資料。當以平均效能4MB/sec執行記錄時,需要在1sec之時間槽中於某處寫入4MB之資料。
當分時寫入三個檔案時,可藉由調整1sec之時間槽中的資料寫入量而調整每一檔案之寫入效能。當以3MB/sec寫入三個檔案中之每一者時,將其分割地寫入為在1sec之時間槽中各自3MB資料。可將時間槽之餘下100ms指派為更新FAT之時間的部分,作為在主機裝置側上進行控制所必要之裕量。亦即,藉由判定待指派之時間槽的數目及分時執行寫入,主機裝置可計算且控制複數個檔案的寫入效能。
圖3展示針對NAND快閃記憶體18之使用者區域18a的多檔案記錄之一實例。
參看圖3,由稍後待描述之命令(CMD20)「設定覆寫區域」指派覆寫區域(OverW-Area)。由CMD20「設定順序寫入AU」指派執行順序寫入之區域(以下被稱作順序寫入區域)。
可由CMD20「設定順序寫入AU」指派一順序寫入區域。主機裝置20可在順序寫入區域中分割地寫入複數個檔案。
參看圖3,覆寫區域(OverW-Area)之目錄項DIR1中產生三個檔案項FE1、FE2及FE3,且在目錄項DIR2中產生檔案項FE4。
在順序寫入區域SeqW-AU中,檔案1a為檔案1之部分,且在使得匹配RU邊界時,於RU基礎上寫入該檔案。出於此原因,當寫入檔案1a時,至少保證效能Pw。
檔案2與檔案3中之每一者具有等於或小於RU之大小,且其以小於RU之資料大小寫入。存在於(例如)64KB之邊界上的資料小於RU邊界。當寫入檔案2及檔案3時,由於資料長度小於RU大小,因此不保證效能Pw。
若需要寫入檔案4,同時至少保證效能Pw,則首先,寫入虛設資料直至RU邊界,作為接著之檔案3之填補。可由主機或由卡進行填補。接著,當使得匹配RU邊界時,寫入檔案4。亦即,由於在使得匹配RU邊界時於RU基礎上寫入檔案4之資料,因此保證了效能Pw。
緊挨著檔案4寫入檔案1b(其為剩下之檔案1)。當在使得匹配RU邊界時於RU基礎上寫入檔案1b,至少保證了效能Pw。亦即,主機裝置20藉由將檔案1及檔案4分割成多個RU單元而管理該兩檔案之寫入效能。
儘管未說明,但執行FAT更新以關閉檔案1。更新FAT區域及位元映射(未展示),且更新包括DIR區域中之檔案項1(FE1)的512位元組,藉此將部分地通過檔案1之寫入資料判定為檔案系統。主機可因此自檔案系統資訊讀取出直至檔案1之已寫入資料的資料。
圖4展示應用於此實施例的命令CMD20之格式的一實例。
在圖4中所展示之CMD20中,「S」為命令之開始位元,「T」為表示傳送方向之位元,「索引」指示命令編號,其具有位元串以指定該命令為諸如順序寫入之控制命令。
「SCC」為表示速度等級控制之引數,其為用於指定該命令之功能或操作的操作指定部分。「SCC」由複數個位元形成,且「SCC」之位元設定CMD20之各種功能。
「OWAS」(覆寫區域大小)為指定覆寫區域之大小的引數。
「CRC7」指示循環冗餘檢查碼。
「E」為該命令之結束位元。
如上文所描述,在CMD20中,「SCC」之位元設定(例如)「開始記錄」、「更新DIR」、「更新CI」、「設定順序寫入AU」、「設定覆寫區域」、「設定資料區域之頂部」及「配置區域」。
CMD20「設定順序寫入AU」為指派順序寫入區域的命令。結合讀取命令或寫入命令使用此CMD20「設定順序寫入AU」,如稍後將描述。
當在設置序列中使用CMD20「設定順序寫入AU」以準備記錄時,允許將(例如)1sec之忙碌時間作為該命令之處理時間。當在資料記錄期間使用此命令時,所允許之忙碌時間被抑制為(例如)10ms。
CMD20「設定覆寫區域」為設定覆寫區域的命令。結合讀取命令或寫入命令及位址,使用CMD20「設定覆寫區域」而指定覆寫區域。在CMD20「設定覆寫區域」中設定(例如)100ms之忙碌期。不可在順序寫入區域中指派覆寫區域。
應注意,在使用CMD20及寫入命令/讀取命令進行處理中,記憶
體存取控制可為(例如)對表示正處理寫入命令之忙碌時間的控制、對在未寫入區域中維持資料之控制或快取控制(在緩衝器中寫入資料及配置寫入緩衝器之資料,且稍後在快閃記憶體中寫入該資料而非直接在NAND快閃記憶體中寫入該資料的方法)。在使用快取記憶體之狀況下,因為對於每一存取之寫入忙碌時間變化很大,所以藉由忙碌時間之平均而估計寫入效能。
CMD20「設定資料區域之頂部」為結合讀取命令向卡通知檔案系統之資料區域的命令。卡無需分析檔案系統,且可預測DIR區域及位元映射的位置。由CMD20「設定資料區域之頂部」及讀取命令指定資料區域之開始位址。在CMD20「設定資料區域之頂部」中設定(例如)100ms之忙碌期。
CMD20「配置區域」為准許記憶體裝置11在具體時間內準備區域的命令,且其藉由取消CMD20之忙碌而表示準備完成。CMD20「配置區域」單獨地使用,不似於CMD20之其他功能。當在設置序列中使用CMD20「配置區域」時,允許(例如)1sec之忙碌時間,且當在資料記錄中使用CMD20「配置區域」時,所允許之忙碌時間被抑制為(例如)250ms。
「OWAS」為指定覆寫區域之大小的引數。
在此實施例中,存在指定覆寫區域之大小的兩種方法。
(1)當將CMD20之「OWAS」設定為「0000b」時
在此狀況下,由接著CMD20之CMD18的讀取操作範圍或CMD25之寫入操作範圍指定覆寫區域之大小。
舉例而言,當產生新的目錄項區域時,需要在該區域中寫入資
料「0」以用於初始化。當主機裝置20發出CMD20「設定覆寫區域」+CMD25,且其寫入資料「0」時,可將所產生之目錄項區域指派為覆寫區域。然而,在FAT系統中,無需總是在所有位元中寫入「0」,且可藉由此命令寫入諸如「.」(表示當前目錄)及「..」(表示上代目錄)之檔案項。
(2)當將CMD20之「OWAS」設定為「0001b」至「1111b」時,可指派具有圖4中所展示之大小的覆寫區域。在此狀況下,讀取大小(CMD18)及寫入大小(CMD25)需要等於或小於「OWAS」之設定值。
支援此實施例之CMD20的記憶體裝置可接收習知之命令,及將其解譯轉換成此實施例之命令。此情況使得維持某一程度之相容性係可能的。
CMD20「開始記錄」為首先指定順序寫入區域的命令。可直接將此「開始記錄」處置為「設定順序寫入AU」。此CMD20可指示1sec之忙碌。
「開始記錄」僅用於指定第一AU,但並不指定以下之順序寫入區域。出於此原因,需要將滿足以下條件之AU指派為順序寫入區域。當使得匹配RU邊界時,多區塊寫入命令CMD25指示待在RU基礎上執行直至最後區域的資料寫入時,其寫入目的地為所指派之順序寫入區域,及當使得匹配RU邊界時,下一CMD25指示待在RU基礎上自另一RU之開始處執行資料寫入時,將新寫入之AU指派為順序寫入區域。
「更新DIR」係在更新為目錄項之部分的512位元組之區域的CMD24/25之前發出。
若未將來自由CMD24/25所表示之位址的512位元組之區域指派為
覆寫區域,則至少將包括來自由CMD24/25所表示之位址的512位元組之區域的區域指派為覆寫區域。
若已將來自由CMD24/25所表示之位址的512位元組之區域指派為覆寫區域,則維持此指派,且CMD20「更新DIR」不再需要執行處理。
「更新CI」用於在寫入諸如視訊資料之串流資料期間,寫入較小CI(連續資訊)資料。在此狀況下,在CMD24/25之前發出「更新CI」以寫入CI資料之部分,例如,512位元組之資料。
較高可能性地在下一512位元組之區域中寫入下一「更新CI」。之後,當分配用於CI資料之覆寫區域時,較佳地分配相對較大之區域。
若未將來自由CMD24/25所表示之位址的512位元組之區域指派為覆寫區域,則至少將包括來自由CMD24/25所表示之位址的512位元組之區域的區域指派為覆寫區域。
若已將來自由CMD24/25所表示之位址的512位元組之區域指派為覆寫區域,則此CMD20不再需要執行處理。
接下來將詳細描述CMD20「設定順序寫入AU」、「設定覆寫區域」、「設定資料區域之頂部」及「配置區域」的功能。
習知地,因為規格,所以已部分地寫入資料之AU不可用於資料記錄。出於此原因,當記憶體裝置關機且接著再次開機時,上次已部分地寫入資料之AU的空閒區域不可使用,且AU利用效率降低。
在此實施例中,可在初始化時間處將已部分地使用之AU指派為順序寫入區域。
當提供使得已部分使用之AU可用的指定方法時,可改良AU利用效率。
由於由主機裝置20管理記憶卡之區域管理,因此當卡關機時,該卡無需保持經指派之資訊。根據此方法,在將電力供應至卡之後,主機裝置20可重新指定等效於關機之前之彼等區域的區域。
順序寫入區域係有效的,直至已完全寫入一AU為止。
習知地,當發出隨機寫入時,順序寫入結束,且不可對AU進行額外寫入。
在此實施例中,甚至在插入至另一區域之隨機寫入時,所指派為順序寫入區域之AU可繼續順序寫入。出於此原因,可在順序寫入區域之空閒區域執行額外寫入,且可改良AU利用效率。
以下將參考圖5詳細描述順序寫入區域SeqW-AU之設定。
如下為分配順序寫入區域SeqW-AU之命令格式。
CMD20「設定順序寫入AU」+CMDxx
由此命令格式指定一順序寫入區域SeqW-AU。
如下為CMD20「設定順序寫入AU」與CMDxx之組合。
CMDxx為兩個不同命令,例如讀取命令(CMD17)與多區塊寫入命令(CMD25)中之一者,且CMDxx之位址指示AU之開始或AU之中點。結果,可用四種指定方法。
當由CMD17自AU之開始位址處讀取出512位元組之區域時,將AU指派為順序寫入區域。自順序寫入區域之開始處寫入資料。應捨棄讀取資料,此係歸因於其為無意義的。
當由CMD17自AU之中間位址處讀取出512位元組之區域時,將AU指派為順序寫入區域。自所指定之位址寫入資料。保留記錄於該
所指定之位址之前的區域中之資料。應捨棄讀取資料,此係歸因於其為無意義的。
當由CMD25自AU之開始位址處寫入資料時,將AU指派為順序寫入區域。自AU之開始處寫入資料,且自緊接著所寫入資料之後的位址處寫入後續資料。
當由CMD25自AU之中間位址處寫入資料時,將AU指派為順序寫入區域。自AU之所指定中間位址處寫入資料,且自緊接著所寫入資料之後的位址處寫入後續資料。保留記錄於該所指定之位址之前的區域中之資料。
當由下一CMD20「設定順序寫入AU」+CMDxx指定新的區域時,取消順序寫入區域的有效性。
當已將資料寫入直至所分配順序寫入區域之末端時,取消指派。
當記憶體裝置11關機時,可保持抑或取消順序寫入區域之指派。甚至在判斷順序寫入區域中之寫入並非順序的(已發生覆寫)之後,取消指派。若主機指派另一區域順序寫入區域,則亦取消指派。
如上文所描述,CMD20「設定覆寫區域」為設定覆寫區域的命令。隨機寫入資料可暫時地保存於快取記憶體中。然而,由於整個使用者區域可經受隨機寫入,因此快取式快閃的發生可使得處理時間十分長。出於此原因,記憶體裝置11指示較長之忙碌,且可發生稱作「小凍結」之現象。詳言之,因為管理資料之廣闊區域,所以快閃記憶體之區塊大小(用作判定AU大小之基礎的實體資料長度)愈大,則忙
碌時間傾向於愈長。此情況在具有較大區塊之快閃記憶體中造成尤其嚴重之問題。
在此實施例中,指定覆寫區域。此情況使得以下各者係可能的:減少快取式快閃之影響,及即使在最差之狀況下,估計處理時間較短且防止卡指示較長之忙碌。
出於此原因,在此實施例中,可指派複數個覆寫區域。另外,預定忙碌時間,且確保指派所要求之時間。
使用CMD20+讀取/寫入命令及位址指定覆寫區域。
為指定覆寫區域之大小,例如,可使用以下之兩種方法。
(1)由CMD20指定該大小之方法
(2)由已經歷讀取/寫入之資料區域指定該大小的方法
當將較大區域一起指定為覆寫區域時,方法(1)(描述為CMD20之引數OWAS)係有效的。當第一次產生目錄項時,需要在所分配之區域中寫入資料「0」以用於初始化。之後,在此狀況下,方法(2)係有效的。
應注意,當在未指定之區域中寫入資料時,寫入命令可指示較長之忙碌。舉例而言,關於覆寫區域之最大忙碌時間250ms,將未指定之區域的最大忙碌時間設定為500ms。此情況意謂用於覆寫區域之快取控制方法與用於未指定之區域的快取控制方法不同。之後,當存取AU之命令的位址指示存取覆寫區域時,記憶體裝置改變記憶體存取控制,例如,快取控制以進行控制,該控制不同於對於除了覆寫區域之區域的記憶體存取控制。亦即,主機裝置因此指定順序寫入區域及覆寫區域,及在該區域中執行寫入。此情況允許記憶體裝置進行效率的處理及改良總效能。
以下將參考圖6詳細描述覆寫區域指定方法。
如下為分配覆寫區域之命令格式。
CMD20「設定覆寫區域」+CMDxx
由此格式指定一覆寫區域。舉例而言,卡可最大指派八個覆寫區域。當指定八個或八個以上之覆寫區域時,最新之八個區域作為覆寫區域係有效的。
如下為CMD20與CMDxx之組合。
CMDxx為(例如)多區塊讀取命令CMD18或多區塊寫入命令CMD25,且存在兩種不同的指定方法(命令可為單一寫入命令CMD24或單一讀取命令CMD17)。
為指定該區域的大小,可使用由CMD20之引數指定該大小的方法(稍後描述)或由CMDxx所存取之區域指定該大小的方法。
如圖6中所展示,當由CMD25自AU之中間位址處寫入資料時,將AU之部分指派為覆寫區域,且自所指定之位址寫入資料。由CMD20之引數OWAS或由CMD25所寫入之資料長度所表示的設定值來指定該覆寫區域。在經指定之覆寫區域中,保留除了已寫入區域之區域中的資料。
如圖6中所展示,當由CMD18自AU之中間位址處讀取出512位元組之資料時,將AU之部分指派為覆寫區域,且自所指定之位址讀取出資料。由CMD20之引數OWAS或由CMD18所讀取之資料長度所表示的設定值來指定該覆寫區域。保留經指定之覆寫區域中的資料。
如上文所描述,當由CMD20「設定覆寫區域」+CMDxx添加覆寫區域時,若設定指派計數之上限,則將最新指派之覆寫區域維持為覆寫區域,且可自指派移除較舊的覆寫區域,以使得由上限限制總指派計數。
當記憶體裝置11關機時,可保持抑或取消覆寫區域之指派。
如上文所描述,CMD20「設定資料區域之頂部」為向卡通知檔案系統之資料區域的命令。
主機裝置20向卡通知表示檔案系統之格式的資料區域之開始位置。卡可因此指定位元映射區域及exFAT(延伸FAT)之FAT區域。
在遵守SD標準檔案系統之exFAT中,主機裝置20可使用接著CMD20「設定資料區域之頂部」的讀取命令將位元映射讀取至RAM 24,及在RAM24中形成位元映射之快取。
習知地,由寫入命令定義記錄區域。之後,在未開始記錄的情況下,不可進行記錄區域之準備。
在此實施例中,由讀取命令之位址指定記錄區域,藉此使得能夠進行準備。
如上文所描述,可將一區域指派為順序寫入區域,且可將複數個區域指派為覆寫區域。
主機裝置20發出命令以准許記憶體裝置11準備區域。根據該命令,記憶體裝置11在準備期間指示忙碌,藉此向主機裝置20通知正處理該準備。
以下將參考圖7詳細描述指定資料區域之開始位置的方法。
圖7展示NAND快閃記憶體18之記憶體映射。在遵守SD標準檔案系統之exFAT中,NAND快閃記憶體18之使用者區域18a包括檔案系統區域,該檔案系統區域包括資料區域之開始位置之前的FAT,且其包括資料區域之第一4MB區域內之位元映射區域。
主機裝置20自記憶體裝置11之檔案系統格式搜尋資料區域之開始位址,及由CMD20「設定資料區域之頂部」+CMD18指定資料區域的開始位址。
記憶體裝置11可自由CMD18所指定之位址預測記錄於檔案系統
區域中之目錄資訊的位置,及資料區域之第一4MB區域內的位元映射資訊之位置。
應注意,對於目錄區域及位元映射區域,主機裝置20不必要將此等區域設定為覆寫區域,但可根據設定資料區域之頂部的較簡單程序而將此等區域設定為覆寫區域。此等區域並不包括於覆寫區域指派之計數中。
藉由資料之類型及資料長度區別待使用之區域。亦即,可藉由檔案名稱之副檔名(extension)或檔案屬性預測檔案之資料長度。舉例而言,可將視訊檔案處置為長資料,且可將文本檔案處置為假設待重寫之短資料。檔案名稱之副檔名或檔案屬性可用作用於預測資料長度或甚至當資料長度不定時預測是否覆寫之手段。
可將與檔案系統相關聯之資料(例如,FAT、位元映射或目錄項)處置為短資料及記錄於覆寫區域中。
可重寫短資料記錄於覆寫區域中,且可重寫長資料記錄於順序寫入區域中。
另一方面,未假設待重寫之長資料或短資料記錄於順序寫入區域中。
舉例而言,將等於或大於RU=512KB之資料處置為長資料。
將順序寫入區域之最小單位設定為64KB(由頁面大小判定),且將小於64KB之資料處置為短資料。
短資料之順序寫入並不限於RU基礎(資料大小為RU大小之倍數,且位址在RU邊界上)。
當在RU基礎中寫入資料時,效能等於或高於Pw。儘管亦可在小於RU之單元中寫入資料,但效能變得小於Pw。「Pw變得較小」意謂由記憶體裝置所指示之忙碌時間變得較長。對於在順序寫入區域中寫
入,記憶體裝置確認位址是否係順序的,及寫入資料是否存在於RU邊界上,且取決於是否符合提供效能Pw之條件而控制忙碌時間。若該區域並非順序寫入區域,則對於效能Pw不存在限制,且因此,執行另一忙碌控制。亦即,對於存取AU之命令,記憶體裝置判斷位址是否指示存取順序寫入區域,及改變記憶體存取控制,例如,忙碌時間。
以下將參考圖8詳細描述區域管理方法。
如上文所描述,CMD20「配置區域」單獨地使用,不似於其他CMD20。CMD20「配置區域」為准許記憶體裝置11在具體時間內準備區域的命令,且其藉由取消CMD20之忙碌而指示準備完成。
舉例而言,在設置序列中,在區域指定之結束處發出CMD20「配置區域」。
如圖8中所展示,在完成設置之後,可藉由發出CMD20「設定覆寫區域」+CMD25或CMD15而在任何時間指定覆寫區域(步驟S11)。在彼操作之後,發出CMD20「配置區域」以準備區域(步驟S12)。為將由隨機寫入快取之資料配置至覆寫區域,卡需要處理時間。可由CMD20「配置區域」確保處理時間,且設計變得容易。在此狀況下,所允許之忙碌時間被抑制為250ms,此係因為(例如)可在主機裝置中處理資料記錄。
應注意,如上文所描述,當組合CMD20及寫入命令時,不僅執行對寫入資料之寫入,亦執行將包括該資料之區域指派為順序寫入區域或覆寫區域。另外,針對CMD20之每一功能或命令發出之每一情形,設定忙碌時間之最大值,以使得主機裝置可估計寫入效能預算。當使用CMD20指定覆寫區域或順序寫入區域,且複數次地執行寫入時,卡可進行控制以使得相比在除了所指派之區域的區域中複數次地寫入之平均忙碌時間,每一寫入之平均忙碌時間較短。亦即,使用
CMD20寫入之平均忙碌時間可經控制以比未使用CMD20寫入之平均忙碌時間短。
圖9A及圖9B展示使用CMD20之設置序列的一實例。圖10展示將圖9B中所展示之設置序列表示為命令序列的一實例。在此實例中,指定一順序寫入區域及三個覆寫區域。
更特定而言,首先,初始化記憶體裝置(卡)(步驟S21)。在彼操作之後,由CMD20「設定資料區域之頂部」+CMD18指定資料區域之開始位址,且卡將DIR區域及位元映射區域指派為覆寫區域(步驟S22)。然後,由CMD20「設定順序寫入區域」+CMD17指定順序寫入區域(步驟S23)。然後,由CMD20「設定覆寫區域」+CMD18、CMD20「設定覆寫區域」+CMD25及CMD20「設定覆寫區域」+CMD18指定覆寫區域(步驟S24、S25及S26)。最後,發出CMD20「配置區域」,且在CMD20「配置區域」之忙碌指示期間,準備記憶體裝置11中之區域(步驟S27)。
藉由上文所描述之操作,指派一順序寫入區域及三個覆寫區域。
應注意,CMD20與寫入命令或讀取命令之組合並不限於圖9B及圖10中所展示之彼等組合。藉由組合CMD20與寫入命令或讀取命令,可自AU之開始處或中間點處設定必要之區域,如圖9A中所展示。
圖11假設子目錄DIR1存在於根目錄下,且已在子目錄DIR1中產生檔案X1、X2及X3的狀態。描述一種狀況:在此狀態中初始化卡,在根目錄下新產生子目錄DIR2,在DIR1中產生檔案1及檔案2,且在DIR2中產生檔案3。
圖12為特定展示根據圖11中所展示之此實施例的檔案產生之一實例的視圖。圖13將圖12中所展示之檔案產生表現為命令序列。貫穿圖12及圖13,相同的參考編號表示相同的零件。應注意,圖12中並不說明FAT、位元映射及根目錄。
圖12及圖13展示指定兩個順序寫入區域SeqW-AU1與SeqW-AU2,及用作兩個覆寫區域之DIR項1與DIR項2,且在此等區域中寫入資料的一實例。
首先,執行初始化序列以初始化記憶體裝置11(步驟S41)。
然後,主機裝置20分析檔案系統之格式、發出CMD20「設定資料區域之頂部」+CMD18及指定由該格式所指定之資料區域的開始位址(步驟S42)。在遵守SD標準檔案系統之exFAT中,由CMD18讀取出之資料可包括位元映射區域。主機裝置20可在系統記憶體(RAM 24)中快取所讀取之位元映射。
主機裝置20發出CMD20「設定順序寫入AU」+CMD18。記憶體裝置11基於該命令在NAND快閃記憶體18中指派順序寫入區域SeqW-AU1(步驟S43)。可自由CMD18所指定之位址位置處將資料順序地寫入至AU之末端。
在彼操作之後,主機裝置20分析檔案系統之格式,且發出CMD20「設定覆寫區域」+CMD25(步驟S44)。因此由CMD18將已產生之DIR項1指派為覆寫區域。
主機裝置20接著發出CMD20「配置區域」以指示記憶體裝置11準備區域(S45)。記憶體裝置11經准許以將(例如)1sec用作區域準備的時間。
在彼操作之後,在DIR項1中產生檔案1之檔案項FE1,且在順序寫入區域SeqW-AU1中寫入檔案1之部分資料檔案1a(步驟S46及S47)。在此實例中,在使得匹配RU邊界時,在RU基礎上寫入所有檔案資料。
然後,在DIR項1中產生檔案2之檔案項FE2,且在順序寫入區域SeqW-AU1中寫入檔案2之部分資料檔案2a(步驟S48及S49)。
然後,主機裝置20分析檔案系統之格式,且順序地發出CMD20「設定覆寫區域」+CMD25及CMD20「配置區域」(步驟S50及S51)。因此由CMD25將DIR項2新指派為覆寫區域。
在彼操作之後,在DIR項2中產生檔案3之檔案項FE3(步驟S52),且在順序寫入區域SeqW-AU1中寫入檔案3之部分資料檔案3a(步驟S53)。
然後,在順序寫入區域SeqW-AU1中寫入檔案1之後續資料檔案1b(步驟S54)。
在順序寫入區域SeqW-AU1中寫入檔案3之後續資料檔案3b(步驟S55)。
在順序寫入區域SeqW-AU1中寫入檔案1之後續資料檔案1c(步驟S56)。
在順序寫入區域SeqW-AU1中寫入檔案2之後續資料檔案2b(步驟S57)。
當將順序寫入區域SeqW-AU1填充至其容量時,將該區域SeqW-AU1自順序區域排除。
在彼操作之後,主機裝置20發出CMD20「設定順序寫入AU」。記憶體裝置11基於該命令在NAND快閃記憶體18中新指派順序寫入區域SeqW-AU2(步驟S58)。
然後,在順序寫入區域SeqW-AU2中寫入檔案1之後續資料檔案1d(步驟S59)。步驟S59之第一CMD25表示區域SeqW-AU2之開始位址,且自彼處寫入資料檔案1d。將此邏輯位址(自外部存取之位址)指派至順序寫入區域SeqW-AU2。
根據上文所描述之實施例,可使用CMD20之引數「設定順序寫
入AU」、「設定覆寫區域」、「設定資料區域之頂部」及「配置區域」指定順序寫入區域及覆寫區域,且可在此等區域中寫入資料。
另外,可在初始化時間處將已部分寫入之AU指派為順序寫入區域。出於此原因,可使用AU中之空閒區域,且可改良AU利用效率。
圖14將圖3中所展示之檔案產生的一實例表現為命令序列。
參看圖14,步驟S61、S62及S63與圖13中之步驟S41、S42及S43相同。初始化記憶體裝置11,指定由該格式所指定之資料區域的開始位址,及指定順序寫入區域SeqW-AU。
然後,主機裝置20發出CMD20「設定覆寫區域」+CMD18、CMD20「設定覆寫區域」+CMD18及CMD20「配置區域」,且將已產生之DIR項1及DIR項2指定為覆寫區域(步驟S64、S65及S66)。
在彼操作之後,在DIR項1中寫入檔案1之檔案項FE1(步驟S67),且在順序寫入區域SeqW-AU中寫入檔案1之部分資料檔案1a(步驟S68)。
接著在DIR項1中寫入檔案項FE2及FE3(步驟S69及S70),及在順序寫入區域SeqW-AU中寫入檔案2及檔案3(步驟S70)。由於在寫入檔案2及檔案3之後,效能Pw係不必要的,因此以小於RU之大小寫入資料。
然後,為至少以效能Pw寫入後續資料,在接著檔案3直至RU邊界之區域中寫入用作填補之虛設資料(步驟S73)。然而,填補並非總是必要之處理。記憶體裝置11可經組態以藉由分析兩個記憶體寫入命令之位址及資料長度而自動地執行填補。記憶體裝置11可自檔案4之寫入位址處自動地開始順序寫入處理。
接著在DIR項2中寫入檔案項FE4(步驟S74),及在順序寫入區域SeqW-AU中寫入檔案4(步驟S75)。
然後,在順序寫入區域SeqW-AU中寫入檔案1之後續資料檔案1b(步驟S76)。為在檔案系統上判定檔案1之資料,執行FAT更新(步驟S77)。在FAT更新中,第一寫入指示更新FAT,第二寫入指示更新位元映射,及第三寫入指示更新檔案項FE1。參看圖14,當寫入包括檔案項FE1之512位元組之資料時,更新檔案項FE1。
圖15展示視訊級之新定義的效能資訊(VG4,VG6,VG10,VG30)及視訊級之AU大小資訊。
由4MB×2n
×3m
(n=0,1,2,...,6;m=0,1,2)之組合表示視訊級之AU大小。為允許主機裝置容易地管理區域,將4MB用作基本單位,且由其之倍數指定AU大小。NAND快閃記憶體18在一記憶體單元中儲存2位元之資料,或在一記憶體單元中儲存3位元之資料。不僅存在具有二維結構之記憶體單元,亦存在具有三維結構之記憶體單元(取冪n、m)。出於此原因,可由上文所描述之表達式涵蓋必要之AU大小。
在此實施例中,在電力切斷模式或休眠模式中保持設定順序寫入區域或覆寫區域之資訊。
出於此原因,當裝置已自電力切斷模式或休眠模式返回時,已保持即將電力切斷模式或休眠模式之前所指定的區域資訊,且可再次使用區域。
在此實施例中,延伸CMD20,藉此定義「設定順序寫入AU」、「設定覆寫區域」、「設定資料區域之頂部」及「配置區域」之新功能。由於新功能包括習知之功能,因此已接收現存速度等級命令的記憶體裝置可將其功能轉換成新功能。
亦即,實施CMD20之新功能的記憶體裝置11針對現存命令「開始記錄」、「更新DIR」及「更新CI」實施轉換程式,且可執行處理,同時在接收現存速度等級命令之後維持相容性。
舉例而言,當記憶體裝置11接收控制命令「開始記錄」時,該命令經管理為與「設定順序寫入AU」相同。且接著由以下之序列指派另一順序寫入區域。記憶體裝置11確認已將資料寫入直至順序寫入區域之末端,其中寫入命令之寫入為在使得匹配寫入邊界時,待在RU基礎上執行之資料寫入。若下一寫入命令指示在使得匹配寫入邊界時,待在RU基礎上自另一AU之開始處執行的寫入,將新寫入之使用者區域指派為順序寫入區域。
在接收指示檔案系統之位置的控制命令「更新DIR」之後,記憶體裝置11藉由後續寫入命令之位址指派覆寫區域;將包括待由寫入命令所寫入之區域的呈一大小之區域指派為覆寫區域之大小,及若已將該區域指派為覆寫區域,則維持該指派。
在接收指示用以在記錄串流資料期間寫入CI資料之部分的位置之控制命令「更新CI」之後,記憶體裝置11將經預測以寫入CI資料且包括待由寫入命令所寫入之區域的大小(512位元組)之呈某一大小的區域指派為覆寫區域,且若已將該區域指派為覆寫區域,則維持該指派。
實施上文所描述之轉換程式以使得在接收現存速度等級命令之後,記憶體裝置可將其功能轉換成新功能。
雖然已描述了特定實施例,但僅借助於實例呈現了此等實施例,且此等實施例並不意欲限制本發明之範疇。實際上,本文中所描述之新穎實施例可體現為多種其他形式;另外,在不脫離本發明之精神的情況下,可作出對本文中所描述之實施例的各種省略、替換及形式的改變。隨附申請專利範圍及其等效物意欲涵蓋屬於本發明之範疇
及精神內的此類形式或修改。
本發明之實施例用於(例如)記憶卡。
11‧‧‧記憶體裝置
11a‧‧‧控制器
12‧‧‧主機介面(I/F)
12a‧‧‧暫存器
13‧‧‧CPU
14‧‧‧唯讀記憶體(ROM)
15‧‧‧隨機存取記憶體(RAM)
16‧‧‧緩衝器
17‧‧‧記憶體介面(I/F)
18‧‧‧NAND快閃記憶體
19‧‧‧I/O
20‧‧‧主機裝置
21‧‧‧主機控制器
22‧‧‧CPU
23‧‧‧唯讀記憶體(ROM)
24‧‧‧隨機存取記憶體(RAM)
25‧‧‧硬碟(HDD)
26‧‧‧SD匯流排介面
Claims (20)
- 一種記憶體裝置,其包含:一非揮發性半導體記憶體,其具有包括可外部存取之一使用者區域的複數個實體儲存區域,且該使用者區域被分割成複數個分配單元;及一控制單元,其經組態以控制該非揮發性半導體記憶體,其中該控制單元接收一第一控制命令,該控制命令具有一第一引數以依據一讀取命令或一寫入命令來指定一順序寫入區域;將由該讀取命令或該寫入命令之一位址所表示的上述複數個分配單元中的一分配單元指派為該順序寫入區域,且當存取該使用者區域之一記憶體存取命令的一位址指示在大小等效於該分配單元之該順序寫入區域中無存取時,改變記憶體存取控制。
- 如請求項1之記憶體裝置,其中該控制單元將該分配單元中自該讀取命令之一位址位置或緊挨著由該寫入命令所寫入之資料的一位置至該分配單元之一末端的一區域設定為可寫入下一資料的一區域,且若存在儲存於由該讀取命令或該寫入命令所指定的該位址之前的一區域中之資料,則保留該資料。
- 如請求項1之記憶體裝置,其進一步包含一暫存器,其經組態以保持指示至該順序寫入區域之最小平均寫入效能的一效能指數及一分配單元之一大小,其中可外部地讀取出該暫存器。
- 如請求項1之記憶體裝置,其中上述複數個分配單元中的一分配單元被分割成複數個記錄單元,當用於該順序寫入區域之該寫入命令的該位址並非導 致覆寫之一位址,該寫入命令之資料長度等效於一或複數個記錄單元且資料定位處於上述記錄單元邊界上之情形時,該記憶體存取控制係控制一忙碌時間以使得最小平均寫入效能高於該效能指數。
- 如請求項1之記憶體裝置,其中該控制單元接收具有一第二引數以依據該讀取命令或該寫入命令來指定一覆寫區域之一第二控制命令,將由該讀取命令或該寫入命令之該位址表示開始位置的上述複數個分配單元中的一分配單元指派為該覆寫區域,且對於存取該使用者區域之該記憶體存取命令,判斷該記憶體存取命令之該位址是否指示了該覆寫區域中之存取,藉而改變該記憶體存取控制。
- 如請求項5之記憶體裝置,其中該覆寫區域之大小為記錄單元。
- 如請求項5之記憶體裝置,其中該控制單元將在一未經指派之區域中寫入的時間下之一最大忙碌時間設定為長於在該經指定之覆寫區域或順序寫入區域中寫入的該時間下之該最大忙碌時間,且執行該記憶體存取控制以指示不同的忙碌時間,以便使得在該未經指派之區域中寫入的該時間下之一平均忙碌時間可長於在該經指定之覆寫區域或順序寫入區域中寫入的該時間下之該平均忙碌時間。
- 如請求項7之記憶體裝置,其中當維持該記憶體裝置之一電力供應時,保持該經指定之順序寫入區域及覆寫區域的指派資訊。
- 如請求項8之記憶體裝置,其中可指派在數目上不超過一預定值的複數個覆寫區域,且若在數目上超過該預定值的該等覆寫區域被指定時,則指派在 數目上等於該預定值之最新被存取之覆寫區域以作為該等覆寫區域。
- 如請求項5之記憶體裝置,其中該控制單元接收一第四控制命令,其具有一第四引數以依據該讀取命令指定一檔案系統之一資料區域,該讀取命令之位址指示該檔案系統之該資料區域的一開始位址,且該控制單元基於該讀取命令之該位址,將該檔案系統資訊區域指派為一覆寫區域。
- 如請求項5之記憶體裝置,其中當該控制單元接收具有首先指定該順序寫入區域之一第五引數的第五控制命令時,該控制單元係作為該第一控制命令,來處理該第五控制命令。
- 如請求項11之記憶體裝置,其中當該寫入命令之寫入指示該資料長度等效於一或複數個記錄單元且資料定位處於該記錄單元邊界上時,一寫入目的地指示寫入直至該經指派之順序寫入區域之一末端,及一下一寫入命令指示待自另一分配單元之一開始處執行寫入,且該寫入命令之該資料長度等效於一或複數個記錄單元,及該資料定位處於該記錄單元邊界上,該控制單元將該新寫入之使用者區域指派為該順序寫入區域。
- 如請求項11之記憶體裝置,其中在接收指示一檔案系統之一目錄項的一位置的該控制命令之後,該控制單元藉由接著該控制命令的該寫入命令之一位址判定該覆寫區域的一開始位置,而指派記錄單元之區域,且若該區域已被指派為該覆寫區域,則維持該指派。
- 如請求項11之記憶體裝置,其中在接收指示用以在記錄串流資料期間寫入除了該串流資料的小資料之一部分的一位置的該控制命令之後,該控制單元藉由接著該控制命令的該寫入命令之一位址判定該覆寫區域的一開始位置,而指派記錄單元之區域,且若該區域已被指派為該覆寫區域,則維持該指派。
- 一種主機裝置,其包含:一記憶體管理軟體,其經組態為辨識一檔案系統,該檔案系統格式化一記憶體裝置,其中該軟體包含以下功能:基於將被產生之檔案的資料長度或該檔案名稱之副檔名(extension),判定是在一順序寫入區域中還是在一覆寫區域中寫入資料,將一使用者區域藉由使用一第一命令而指派為一順序寫入區域及藉由使用一第二命令而指派為一覆寫區域,該使用者區域係用於寫入資料之一區域,在該順序寫入區域中記錄長資料,在該順序寫入區域中記錄假設為不重寫之短資料,在該覆寫區域中記錄假設為待重寫之短資料,及在該覆寫區域中記錄與該檔案系統相關之短資料。
- 如請求項15之裝置,其中該記憶體管理軟體包含以下功能,將大小不小於512KB之資料判別為該長資料,及將大小小於規定大小之資料判別為該短資料。
- 如請求項16之裝置,其中該規定大小係512KB。
- 如請求項15之裝置,其中該第一命令及第二命令係該控制命令及讀取命令之一組 合,且該使用者區域之該定位係由該讀取命令之位址所特定。
- 如請求項15之裝置,其中該第一命令及第二命令係該控制命令及讀取/寫入命令之一組合,且該使用者區域之該定位係由該讀取/寫入命令之位址所特定。
- 如請求項15之裝置,其中更進一步包含:若該檔案名稱指示為視訊檔案,則在該順序寫入區域中寫入該資料。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012238849 | 2012-10-30 | ||
JP2013166804A JP5976608B2 (ja) | 2012-10-30 | 2013-08-09 | メモリデバイス |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201416858A TW201416858A (zh) | 2014-05-01 |
TWI512463B true TWI512463B (zh) | 2015-12-11 |
Family
ID=49474661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102132804A TWI512463B (zh) | 2012-10-30 | 2013-09-11 | 記憶體裝置及主機裝置 |
Country Status (7)
Country | Link |
---|---|
US (5) | US9983794B2 (zh) |
EP (2) | EP2915051B1 (zh) |
JP (1) | JP5976608B2 (zh) |
KR (1) | KR101674335B1 (zh) |
CN (1) | CN104798063B (zh) |
TW (1) | TWI512463B (zh) |
WO (1) | WO2014069115A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3021208B1 (en) * | 2014-11-14 | 2019-01-09 | Dot Hill Systems Corporation | Method and apparatus for processing fast asynchronous streams |
CN105306282B (zh) * | 2015-12-07 | 2019-09-24 | 联想(北京)有限公司 | 设备配置方法和设备配置装置 |
US10140055B2 (en) * | 2015-12-21 | 2018-11-27 | Memory Technologies Llc | Ensuring that memory device actions are valid using reference values |
JP2018022275A (ja) | 2016-08-02 | 2018-02-08 | 東芝メモリ株式会社 | 半導体記憶装置 |
KR20180032391A (ko) * | 2016-09-22 | 2018-03-30 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 |
CN108008908B (zh) * | 2016-10-31 | 2020-08-07 | 比亚迪股份有限公司 | 一种管控sd卡上数据的方法和装置 |
JP6889566B2 (ja) * | 2017-02-13 | 2021-06-18 | キヤノン株式会社 | 記録装置およびその制御方法 |
KR102446733B1 (ko) * | 2017-11-30 | 2022-09-23 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치를 포함하는 전자 장치 |
US10866746B2 (en) | 2017-12-28 | 2020-12-15 | Silicon Motion Inc. | Memory addressing methods and associated controller, memory device and host |
TWI709858B (zh) | 2017-12-28 | 2020-11-11 | 慧榮科技股份有限公司 | 快閃記憶體控制器、安全數位卡、使用於快閃記憶體控制器的方法以及存取安全數位卡的主機 |
JP2019191909A (ja) * | 2018-04-25 | 2019-10-31 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP7252821B2 (ja) * | 2019-04-17 | 2023-04-05 | キヤノン株式会社 | 記録装置、記録方法、プログラム、及びメモリカード |
US12056045B2 (en) * | 2022-06-15 | 2024-08-06 | Western Digital Technologies, Inc. | Scratchpad cache for gaming and IoT hosts |
US11994983B2 (en) * | 2022-08-24 | 2024-05-28 | Micron Technology, Inc. | Multimedia card command timeout measurement |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043924A1 (en) * | 2004-06-21 | 2007-02-22 | Takafumi Ito | Method for controlling memory card and method for controlling nonvolatile semiconductor memory |
US20070094468A1 (en) * | 2005-10-21 | 2007-04-26 | Nils Haustein | Apparatus, system, and method for setting protection states of protected partitions in storage media |
TW201201017A (en) * | 2010-01-27 | 2012-01-01 | Toshiba Kk | Memory device and host device |
TW201205286A (en) * | 2010-03-18 | 2012-02-01 | Toshiba Kk | Controller, data storage device, and program product |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006040264A (ja) * | 2004-06-21 | 2006-02-09 | Toshiba Corp | メモリカードの制御方法および不揮発性半導体メモリの制御方法 |
JP4874588B2 (ja) | 2004-07-12 | 2012-02-15 | 株式会社東芝 | 記憶デバイスおよびホスト機器 |
JP2006085380A (ja) | 2004-09-15 | 2006-03-30 | Toshiba Corp | ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法 |
US7613874B2 (en) * | 2004-10-14 | 2009-11-03 | Lg Electronics, Inc. | Recording medium, and a method and apparatus for overwriting data in the same |
JP4817836B2 (ja) | 2004-12-27 | 2011-11-16 | 株式会社東芝 | カードおよびホスト機器 |
KR100866625B1 (ko) * | 2007-02-26 | 2008-11-03 | 삼성전자주식회사 | Mmc 또는 sd 프로토콜을 사용하는 다수의 메모리장치들을 인터페이스하는 방법 및 시스템 |
JP5175703B2 (ja) * | 2008-12-11 | 2013-04-03 | 株式会社東芝 | メモリデバイス |
JP5404483B2 (ja) | 2010-03-17 | 2014-01-29 | 株式会社東芝 | メモリシステム |
JP5728292B2 (ja) | 2011-02-04 | 2015-06-03 | 株式会社東芝 | メモリデバイス及びホストシステム |
KR101856506B1 (ko) * | 2011-09-22 | 2018-05-11 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 쓰기 방법 |
JP5832963B2 (ja) | 2012-06-29 | 2015-12-16 | 株式会社東芝 | メモリシステム |
-
2013
- 2013-08-09 JP JP2013166804A patent/JP5976608B2/ja active Active
- 2013-09-10 EP EP13780222.9A patent/EP2915051B1/en active Active
- 2013-09-10 CN CN201380056820.6A patent/CN104798063B/zh active Active
- 2013-09-10 KR KR1020157010904A patent/KR101674335B1/ko active IP Right Grant
- 2013-09-10 EP EP19160700.1A patent/EP3518112B1/en active Active
- 2013-09-10 WO PCT/JP2013/074959 patent/WO2014069115A1/en active Application Filing
- 2013-09-11 TW TW102132804A patent/TWI512463B/zh active
-
2015
- 2015-04-30 US US14/700,625 patent/US9983794B2/en active Active
-
2018
- 2018-04-18 US US15/955,867 patent/US10353586B2/en active Active
-
2019
- 2019-06-03 US US16/429,388 patent/US10976930B2/en active Active
-
2021
- 2021-03-09 US US17/196,390 patent/US11573701B2/en active Active
-
2022
- 2022-12-28 US US18/147,306 patent/US20230161475A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043924A1 (en) * | 2004-06-21 | 2007-02-22 | Takafumi Ito | Method for controlling memory card and method for controlling nonvolatile semiconductor memory |
US20070094468A1 (en) * | 2005-10-21 | 2007-04-26 | Nils Haustein | Apparatus, system, and method for setting protection states of protected partitions in storage media |
TW201201017A (en) * | 2010-01-27 | 2012-01-01 | Toshiba Kk | Memory device and host device |
TW201205286A (en) * | 2010-03-18 | 2012-02-01 | Toshiba Kk | Controller, data storage device, and program product |
Also Published As
Publication number | Publication date |
---|---|
CN104798063A (zh) | 2015-07-22 |
US20210191621A1 (en) | 2021-06-24 |
WO2014069115A1 (en) | 2014-05-08 |
US20190286334A1 (en) | 2019-09-19 |
JP2014112351A (ja) | 2014-06-19 |
US20180232155A1 (en) | 2018-08-16 |
EP3518112B1 (en) | 2021-11-17 |
EP2915051A1 (en) | 2015-09-09 |
US10353586B2 (en) | 2019-07-16 |
KR20150063125A (ko) | 2015-06-08 |
KR101674335B1 (ko) | 2016-11-08 |
CN104798063B (zh) | 2019-01-11 |
EP3518112A1 (en) | 2019-07-31 |
US9983794B2 (en) | 2018-05-29 |
US20150234598A1 (en) | 2015-08-20 |
JP5976608B2 (ja) | 2016-08-23 |
US11573701B2 (en) | 2023-02-07 |
EP2915051B1 (en) | 2019-11-27 |
TW201416858A (zh) | 2014-05-01 |
US10976930B2 (en) | 2021-04-13 |
US20230161475A1 (en) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI512463B (zh) | 記憶體裝置及主機裝置 | |
US11474702B2 (en) | Storage device that writes data from a host during garbage collection | |
US11435900B2 (en) | Namespace size adjustment in non-volatile memory devices | |
US10747666B2 (en) | Memory system | |
US11704239B2 (en) | Garbage collection method for storage medium, storage medium, and program product | |
US7543103B2 (en) | Host apparatus | |
RU2642349C1 (ru) | Способ для сохранения данных посредством устройства хранения данных и устройство хранения данных | |
CN111344683A (zh) | 非易失性存储器装置中的命名空间分配 | |
CN103995855A (zh) | 存储数据的方法和装置 | |
CN111538680A (zh) | 基于逻辑饱和度选择用于垃圾收集的大容量存储装置流 | |
CN115756312A (zh) | 数据访问系统、数据访问方法和存储介质 | |
US11226738B2 (en) | Electronic device and data compression method thereof | |
CN107077420B9 (zh) | 覆盖擦除块映射 | |
WO2018166258A1 (zh) | Nand flash的数据处理方法、装置和一种Nand flash | |
JP2010257250A (ja) | 電子機器、ファイルシステムの記憶領域割当法、および記憶領域割当プログラム |