国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于順序?qū)懭氲姆且资源鎯?chǔ)器設(shè)備的制作方法

      文檔序號(hào):6533619閱讀:226來源:國知局
      用于順序?qū)懭氲姆且资源鎯?chǔ)器設(shè)備的制作方法
      【專利摘要】本發(fā)明包括非易失性存儲(chǔ)器單元、控制單元和接口??刂茊卧邮諏懭胝?qǐng)求,并且當(dāng)接收數(shù)據(jù)的大小小于擦除管理單位的大小時(shí),控制單元判定接收數(shù)據(jù)是否是用于通過順序管理進(jìn)行寫入的對(duì)象,并且當(dāng)接收數(shù)據(jù)是用于通過順序管理進(jìn)行寫入的對(duì)象時(shí),控制單元執(zhí)行用于順序?qū)懭刖哂行∮诓脸芾韱挝坏拇笮〉拇笮〉慕邮諗?shù)據(jù)的第一寫入處理,并且當(dāng)接收數(shù)據(jù)不是用于通過順序管理進(jìn)行寫入的對(duì)象時(shí),控制單元執(zhí)行用于以寫入管理單位寫入具有小于擦除管理單位的大小的大小的接收數(shù)據(jù)的第二寫入處理。
      【專利說明】用于順序?qū)懭氲姆且资源鎯?chǔ)器設(shè)備

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種可以防止由小尺寸的存取造成的速度下降的非易失性存儲(chǔ)器設(shè)備、非易失性存儲(chǔ)器控制設(shè)備、及非易失性存儲(chǔ)器控制方法。

      【背景技術(shù)】
      [0002]近來,NAND閃存已被廣泛用作非易失性存儲(chǔ)器。在使用NAND閃存的存儲(chǔ)設(shè)備中,電子數(shù)據(jù)的寫入速度根據(jù)寫入大小改變。稱為垃圾收集的處理對(duì)變化有很大的影響(參閱專利文獻(xiàn)I和2)。由于與用于對(duì)NAND閃存執(zhí)行寫入操作的主機(jī)設(shè)備的存取(access,訪問)獨(dú)立地執(zhí)行該操作,因此該操作與存取速度的瞬時(shí)和快速降低相關(guān)聯(lián)。因此,有必要降低垃圾收集的頻率以保持性能。
      [0003]在一般的閃存設(shè)備中,將寫入閃存中的數(shù)據(jù)分為兩類,S卩,以塊為單位和以頁為單位,并進(jìn)行管理。在塊單位管理中執(zhí)行其中閃存的塊大小的整數(shù)倍(下文稱為塊單位)被假設(shè)為一個(gè)單位的管理,并且在頁單位管理中執(zhí)行其中相同閃存的頁大小的整數(shù)倍(下文稱為頁單位)被假設(shè)為一個(gè)單位的管理。塊包括多個(gè)頁。因此,通常為(塊單位〉頁單位)。
      [0004]垃圾收集是一種操作,其中收集由頁單位(page unit,頁單元)管理的區(qū)域并被升格為通過塊單位進(jìn)行的管理。因此,當(dāng)執(zhí)行寫入使得從最初就執(zhí)行由塊單位進(jìn)行的管理時(shí),可以防止垃圾收集的發(fā)生。這可以通過利用塊單位的整數(shù)倍執(zhí)行寫入來實(shí)現(xiàn)。因此,在必須執(zhí)行高速寫入的情況下,通常使用以塊單位的整數(shù)倍執(zhí)行存取的方法。
      [0005]引用列表
      [0006]專利文獻(xiàn)
      [0007]專利文獻(xiàn)I JP 2007-193883A
      [0008]專利文獻(xiàn)2:JP 2007-58840A


      【發(fā)明內(nèi)容】

      [0009]本發(fā)明要解決的問題
      [0010]然而,近年來根據(jù)閃存混合(Flash Bender)的趨勢(shì),塊大小和塊中的頁的數(shù)量趨于逐年增加。因此,可以預(yù)測(cè)主機(jī)設(shè)備的緩沖器大小(依次存取的最大存取大小)在不久的將來低于塊單位(block unit,塊單元)的大小。現(xiàn)有設(shè)備的緩沖器大小幾乎不改變,并且新設(shè)備的緩沖器大小增加相應(yīng)地引起成本增加。因此,需要一種技術(shù)來抑制由小尺寸寫入造成的速度降低。
      [0011]該問題并不特定于NAND閃存并且對(duì)其中存在主機(jī)設(shè)備的緩沖器大小低于非易失性存儲(chǔ)器設(shè)備的管理單位的可能性的所有非易失性存儲(chǔ)器來說是共同的。
      [0012]因此,本發(fā)明的目的是提供一種其中能夠防止由小尺寸存取引起垃圾收集并由此引起速度降低的非易失性存儲(chǔ)器設(shè)備、非易失性存儲(chǔ)器控制設(shè)備、及非易失性存儲(chǔ)器控制方法。
      [0013]問題的解決方案
      [0014]為了解決上述問題,本
      【發(fā)明內(nèi)容】
      是一種包括非易失性存儲(chǔ)器單元、控制單元和接口的非易失性存儲(chǔ)器設(shè)備??刂茊卧邮諏懭胝?qǐng)求,當(dāng)接收數(shù)據(jù)的寫入大小小于擦除的管理單位時(shí)判定數(shù)據(jù)是否是順序管理的寫入的對(duì)象,當(dāng)數(shù)據(jù)是順序管理的寫入的對(duì)象時(shí)執(zhí)行順序?qū)懭胄∮诓脸墓芾韱挝坏慕邮諗?shù)據(jù)的第一寫入處理,并且當(dāng)數(shù)據(jù)不是順序管理的寫入的對(duì)象時(shí)執(zhí)行依據(jù)寫入的管理單位寫入小于擦除的管理單位的接收數(shù)據(jù)的第二寫入處理。
      [0015]本發(fā)明是一種非易失性存儲(chǔ)器控制設(shè)備和控制方法,其接收寫入請(qǐng)求,當(dāng)接收數(shù)據(jù)的寫入大小小于擦除的管理單位時(shí)判定數(shù)據(jù)是否是順序管理的寫入的對(duì)象,當(dāng)數(shù)據(jù)是順序管理的寫入對(duì)象時(shí)執(zhí)行順序?qū)懭胄∮诓脸墓芾韱挝坏慕邮諗?shù)據(jù)的第一寫入處理,并且當(dāng)數(shù)據(jù)不是順序管理的寫入對(duì)象時(shí)執(zhí)行依據(jù)寫入的管理單位寫入小于擦除的管理單位的接收數(shù)據(jù)的第二寫入處理。
      [0016]本發(fā)明是一種非易失性存儲(chǔ)器控制設(shè)備和控制方法,其中定義主機(jī)側(cè)的命令,其指示利用順序管理將小于擦除的管理單位的數(shù)據(jù)寫入非易失性存儲(chǔ)器設(shè)備的特定區(qū)域。數(shù)據(jù)的大小小于擦除的管理單位。
      [0017]本發(fā)明的效果
      [0018]本發(fā)明可以減小垃圾收集的頻率并防止速度降低,因?yàn)樵谔囟▍^(qū)域中順序?qū)懭胍慌卸轫樞驅(qū)懭雽?duì)象的小于擦除的管理單位的數(shù)據(jù)。

      【專利附圖】

      【附圖說明】
      [0019]圖1是本發(fā)明可以適用的示例性閃速存儲(chǔ)器設(shè)備的框圖。
      [0020]圖2是用于描述閃速存儲(chǔ)器的存儲(chǔ)區(qū)域的示意圖。
      [0021]圖3是用于描述并行閃速存儲(chǔ)器的存儲(chǔ)區(qū)域(P塊單位)的示意圖。
      [0022]圖4是用于描述并行閃速存儲(chǔ)器的存儲(chǔ)區(qū)域(P頁單位)的示意圖。
      [0023]圖5是用于描述閃速存儲(chǔ)器的物理地址空間的示意圖。
      [0024]圖6是用于描述邏輯地址空間的示意圖。
      [0025]圖7是用于描述執(zhí)行了 P塊單位管理的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的示意圖。
      [0026]圖8是用于描述執(zhí)行了順序管理的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的示意圖。
      [0027]圖9是用于描述執(zhí)行了 P頁單位管理的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的示意圖。
      [0028]圖10是用于描述P塊單位保持管理數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的示意圖。
      [0029]圖11是用于描述P塊單位管理的管理數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的示意圖。
      [0030]圖12是用于描述順序管理的管理數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的示意圖。
      [0031]圖13是用于描述P頁單位管理的第一管理數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的示意圖。
      [0032]圖14是用于描述P頁單位管理的第二管理數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的示意圖。
      [0033]圖15是寫入處理的整個(gè)流程的流程圖。
      [0034]圖16是用于描述P塊單位中的寫入的流程圖。
      [0035]圖17是用于描述判定通過閃速存儲(chǔ)器對(duì)其執(zhí)行順序?qū)懭氲膶?duì)象的判定方法的流程圖。
      [0036]圖18是順序管理登記命令的示例性表的示意圖。
      [0037]圖19是順序管理登記命令的處理的流程圖。
      [0038]圖20是主機(jī)清楚表明寫入的順序性并且在主機(jī)設(shè)備不管理順序管理登記命令的表的情況下的方法的處理的流程圖。
      [0039]圖21是判定寫入命令是否與過去的順序管理登記命令一致的處理的流程圖。
      [0040]圖22是主機(jī)設(shè)備管理順序管理登記命令的表的方法中的順序管理登記命令的處理的流程圖。
      [0041]圖23是主機(jī)設(shè)備管理順序管理登記命令的表的方法中的順序管理登記刪除命令的處理的流程圖。
      [0042]圖24是P塊單位管理寫入的處理的流程圖。
      [0043]圖25是順序管理寫入的處理的流程圖。
      [0044]圖26是P頁單位管理寫入的處理的流程圖。
      [0045]圖27是相互比較各個(gè)判定方法的表的示意圖。
      [0046]圖28是比較傳統(tǒng)方法與本發(fā)明的判定方法的表的示意圖。
      [0047]圖29是用于描述寫入方法的實(shí)例I的示意圖。
      [0048]圖30是用于描述寫入方法的實(shí)例2的示意圖。
      [0049]圖31是用于描述寫入方法的實(shí)例3的示意圖。
      [0050]圖32是用于描述寫入方法的實(shí)例4的示意圖。
      [0051]圖33是用于描述在讀取時(shí)處理L塊單位的示意圖。
      [0052]圖34是用于描述在讀取時(shí)處理L塊單位的示意圖。
      [0053]圖35是用于描述在讀取時(shí)處理L塊單位的示意圖。
      [0054]圖36是用于描述在讀取時(shí)處理L塊單位的示意圖。
      [0055]圖37是用于描述在讀取時(shí)處理L塊單位的示意圖。
      [0056]圖38是用于描述在順序?qū)懭胪局薪K止的情況下處理L塊單位的示意圖。
      [0057]圖39是用于描述在順序?qū)懭胪局薪K止的情況下處理L塊單位的示意圖。
      [0058]圖40是用于描述在順序?qū)懭胪局薪K止的情況下處理L塊單位的示意圖。
      [0059]圖41是用于描述在順序?qū)懭胪局薪K止的情況下處理L塊單位的示意圖。
      [0060]圖42是用于描述順序管理登記命令表的配置方法的示意圖。

      【具體實(shí)施方式】
      [0061]下文將要描述的實(shí)施例是本發(fā)明的優(yōu)選實(shí)例,并給出在技術(shù)上優(yōu)選的各個(gè)限制。然而,本發(fā)明的范圍不限于該實(shí)施例,除非下文存在表明本發(fā)明受限的描述。
      [0062]下文的描述將按照以下順序。
      [0063]〈1、本發(fā)明的一個(gè)實(shí)施方式〉
      [0064]〈2、對(duì)于其他應(yīng)用>
      [0065]〈3、變形例 >
      [0066]〈1、本發(fā)明的一個(gè)實(shí)施方式〉
      [0067]“概述”
      [0068]下面將參照附圖描述本發(fā)明的實(shí)施例。如圖1中所示,在本發(fā)明的實(shí)施例中,閃速存儲(chǔ)器設(shè)備I包括閃速存儲(chǔ)器單元2、存儲(chǔ)器控制單元3、和外部接口 4。在閃速存儲(chǔ)器單元2中制備有僅用于順序管理寫入的特定區(qū)域。存儲(chǔ)器控制單元3具有以下機(jī)構(gòu),當(dāng)外部接口 4已經(jīng)從主機(jī)設(shè)備11接收到小于閃速存儲(chǔ)器單元2的塊大小的順序管理寫入請(qǐng)求多次時(shí),將所接收的數(shù)據(jù)順序?qū)懭胩囟▍^(qū)域中。
      [0069]在一般的閃速存儲(chǔ)器設(shè)備中,基于塊的管理單位(下文稱為塊單位)被用作擦除管理單位并且基于頁的管理單位(下文稱為頁單位)被用作寫入管理單位。針對(duì)各頁單位管理小于塊單位的大小的寫入。通常,這些管理針對(duì)各寫入存取獨(dú)立執(zhí)行。因此,即使當(dāng)從主機(jī)設(shè)備發(fā)出小于多次的邏輯連續(xù)塊單位的寫入請(qǐng)求時(shí),數(shù)據(jù)不一定是連續(xù)地寫入到相同塊單位。即,在一般的閃速存儲(chǔ)器設(shè)備中,邏輯順序存取不一定變成物理順序存取。因此,當(dāng)由頁單位管理的數(shù)據(jù)被集體地由塊單位管理時(shí),必須復(fù)制碎片數(shù)據(jù)并將所復(fù)制的數(shù)據(jù)收集在相同塊單位中。該操作稱為垃圾收集。由于垃圾收集的操作獨(dú)立于主機(jī)設(shè)備的請(qǐng)求執(zhí)行,因此主機(jī)設(shè)備觀察該操作為瞬時(shí)降低存取速度。
      [0070]然而,當(dāng)事先發(fā)現(xiàn)小于塊單位大小的數(shù)據(jù)在多次命令的各次順序?qū)懭霑r(shí),通過執(zhí)行將這些寫入到同一塊單位的順序管理寫入可以避免稍后寫入的數(shù)據(jù)被升格到塊單位管理的情況下的垃圾收集。這在本發(fā)明中被關(guān)注。因此,閃速存儲(chǔ)器設(shè)備I的存儲(chǔ)器控制單元3包括用于確定來自主機(jī)設(shè)備11的寫入請(qǐng)求的順序性并選擇物理寫入判定的機(jī)構(gòu)。
      [0071]“數(shù)據(jù)結(jié)構(gòu)”
      [0072]-物理地址空間和邏輯地址空間
      [0073]首先,將描述本發(fā)明的閃速存儲(chǔ)器設(shè)備I中包括的閃速存儲(chǔ)器中的地址空間(物理地址空間)和用于經(jīng)由外部接口 4與主機(jī)設(shè)備11進(jìn)行數(shù)據(jù)交換的虛擬地址空間(邏輯地址空間)。
      [0074]如圖2中所示,閃速存儲(chǔ)器的存儲(chǔ)區(qū)包括多個(gè)物理塊,并且單個(gè)物理塊包括多個(gè)物理頁。物理塊是擦除的最小單元,并且物理頁是寫入的最小單元??紤]到該物理配置,物理塊被連續(xù)編號(hào)的物理塊地址和各個(gè)物理塊中的物理頁被連續(xù)編號(hào)的物理頁地址用于尋址閃速存儲(chǔ)器。
      [0075]為了提高速度,將多個(gè)閃存并行化。在并行操作的假設(shè)下,其中一個(gè)物理塊選自各個(gè)閃存并收集所選的物理塊的物理塊被稱為物理塊單位(適當(dāng)稱為P塊單位),并且被編號(hào)的物理塊單位被稱為本發(fā)明中如圖3中所示的物理塊單位地址。類似地,如圖4中所示,從每個(gè)閃存收集同一 P塊單位中的一個(gè)物理頁的物理頁被稱為物理頁單位(適當(dāng)稱為P頁單位),并且被編號(hào)的物理頁單位被稱為物理頁單位地址。
      [0076]閃速存儲(chǔ)器存在個(gè)別差異,并且存在特定塊的讀取/寫入擦除不起作用的情況(缺陷塊)。為了避免對(duì)缺陷塊執(zhí)行操作,P塊單位收集并包括沒有缺陷的物理塊。因此,同一P塊單位中包括的物理塊組的物理塊地址可以彼此不同。當(dāng)并行數(shù)為I時(shí),P塊單位和物理塊的各自大小彼此一致并且P頁單位和物理頁的各自大小彼此一致。
      [0077]通過使用上述元素配置的物理地址空間在圖5中示出。物理地址空間包括多個(gè)P塊單位(b個(gè)單位),并且一個(gè)P塊單位包括多個(gè)P頁單位(P個(gè)單位)。為了對(duì)應(yīng)于邏輯地址空間的最小大小,將P頁單位分為多個(gè)物理扇區(qū)(適當(dāng)稱為P扇區(qū))(s個(gè)扇區(qū))。為了通過使用這些地址指定閃速存儲(chǔ)器中的物理地址,優(yōu)選指定P塊單位地址、P頁單位地址、和P扇區(qū)地址。
      [0078]如圖6中所示,邏輯地址空間被配置使得它易于匹配上述提及的物理地址空間。邏輯地址空間包括多個(gè)邏輯塊單位(適當(dāng)稱為L塊單位)(b個(gè)單位),并且一個(gè)L塊單位包括多個(gè)邏輯頁單位(適當(dāng)稱為L頁單位)(P個(gè)單位)。將L頁單位分為尋址的最小大小。這被稱為邏輯扇區(qū)(適當(dāng)稱為L扇區(qū)),并尋址L扇區(qū)。當(dāng)指定一個(gè)邏輯地址時(shí),與邏輯地址對(duì)應(yīng)的L扇區(qū)、L頁單位、和L塊單位的組被唯一確定,如圖6中所示。
      [0079]-保存用戶數(shù)據(jù)的P塊單位的數(shù)據(jù)結(jié)構(gòu)
      [0080]將描述用于將數(shù)據(jù)(其在邏輯空間中)保存在物理空間中的數(shù)據(jù)結(jié)構(gòu)。在本發(fā)明中,三個(gè)結(jié)構(gòu)被制備作為該數(shù)據(jù)結(jié)構(gòu),即,P塊單位管理、順序管理、和P頁單位管理。
      [0081](I)已執(zhí)行P塊單位管理的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)
      [0082]圖7示出了保存已執(zhí)行P塊單位管理的數(shù)據(jù)的物理塊單位。當(dāng)特定L塊單位填充有從零偏移至結(jié)束的數(shù)據(jù)并且所有L塊單位中的數(shù)據(jù)都保存在相同P塊單位中時(shí),可以執(zhí)行P塊單位管理。P塊單位中包括的每個(gè)物理頁具有如圖7中所示的元數(shù)據(jù)、對(duì)元數(shù)據(jù)的糾錯(cuò)碼(ECC)信息、用戶數(shù)據(jù)、和對(duì)用戶數(shù)據(jù)的ECC信息。元數(shù)據(jù)包括表明執(zhí)行P塊單位管理的塊類型、表明P塊單位的生成的修訂、和與P塊單位的那些對(duì)應(yīng)的L塊單位地址和L頁單位地址。根據(jù)上述P塊單位管理的屬性,P塊單位中的所有物理頁的L塊單位地址變得相同并且L頁單位地址變得與P塊單位所屬的P頁單位地址相同。
      [0083](2)已執(zhí)行順序管理的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)
      [0084]圖8示出了保存已執(zhí)行順序管理的數(shù)據(jù)的物理塊單位。當(dāng)特定L塊單位填充有從零偏移至結(jié)束的數(shù)據(jù)并且所有數(shù)據(jù)都從零偏移順序保存在相同P塊單位中并且相同P塊單位中不存在除上述數(shù)據(jù)之外的另外數(shù)據(jù)時(shí),可以執(zhí)行順序管理。P塊單位中包括的每個(gè)寫入物理頁具有如圖8中所示的元數(shù)據(jù)、對(duì)元數(shù)據(jù)的ECC信息、用戶數(shù)據(jù)、和對(duì)用戶數(shù)據(jù)的ECC信息。元數(shù)據(jù)包括表明執(zhí)行順序管理的塊類型、表明P塊單位的生成的修訂、和與P塊單位的那些對(duì)應(yīng)的L塊單位地址和L頁單位地址。根據(jù)上述順序管理的屬性,P塊單位中的所有寫入物理頁的L塊單位地址變得相同并且L頁單位地址變得與P塊單位所屬的P頁單位地址相同。另外,未寫入物理頁填充I。
      [0085](3)已執(zhí)行P頁單位管理的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)
      [0086]圖9示出了保存已執(zhí)行P頁單位管理的數(shù)據(jù)的物理頁單位。當(dāng)不能執(zhí)行P塊單位管理和順序管理時(shí),執(zhí)行P頁單位管理。P塊單位中包括的每個(gè)寫入物理頁具有如圖9中所示的元數(shù)據(jù)、對(duì)元數(shù)據(jù)的ECC信息、用戶數(shù)據(jù)、和對(duì)用戶數(shù)據(jù)的ECC信息。元數(shù)據(jù)包括表明執(zhí)行P頁單位管理的塊類型、表明P塊單位的生成的修訂、和與P塊單位的那些對(duì)應(yīng)的L塊單位地址和L頁單位地址。另外,未寫入物理頁填充I。
      [0087]-保存管理數(shù)據(jù)的P塊單位的數(shù)據(jù)結(jié)構(gòu)
      [0088]將描述用于將管理上述用戶數(shù)據(jù)的數(shù)據(jù)(管理數(shù)據(jù))保存在物理空間中的數(shù)據(jù)結(jié)構(gòu)。圖10首先示出了保存管理數(shù)據(jù)的P塊單位。P塊單位中包括的每個(gè)物理頁具有如圖10中所示的元數(shù)據(jù)、對(duì)元數(shù)據(jù)的ECC信息、管理數(shù)據(jù)、和對(duì)管理數(shù)據(jù)的ECC信息。元數(shù)據(jù)包括表明元數(shù)據(jù)是管理數(shù)據(jù)的塊類型和表明P塊單位的生成的修訂。下面將分別描述管理上述三類用戶數(shù)據(jù)的管理數(shù)據(jù)單元的配置方法。
      [0089](I)P塊單位管理的管理數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)
      [0090]圖11示出了 P塊單位管理的管理數(shù)據(jù)。管理數(shù)據(jù)包括從零至Ib-1的L塊單位地址和與各個(gè)L塊單位地址對(duì)應(yīng)的P塊單位地址的對(duì)。當(dāng)沒有對(duì)一個(gè)L塊單位執(zhí)行P塊單位管理時(shí),與L塊單位對(duì)應(yīng)的P塊單位存儲(chǔ)OxFFFF (Ox表示其是十六進(jìn)制符號(hào))。
      [0091](2)順序管理的管理數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)
      [0092]圖12示出了用于順序管理的管理數(shù)據(jù)。管理數(shù)據(jù)包括一組多達(dá)e個(gè)L塊單位地址、與各個(gè)地址對(duì)應(yīng)的P塊單位地址和已對(duì)地址執(zhí)行順序?qū)懭氲淖罱KP頁單位地址。未通過垃圾收集等執(zhí)行順序管理的條目(entry,入口)的各個(gè)地址存儲(chǔ)有OxFFFF。
      [0093](3)用于P頁單位管理的管理數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)
      [0094]圖13和圖14示出了 P頁單位管理的管理數(shù)據(jù)。管理數(shù)據(jù)被分為兩類數(shù)據(jù)。第一管理數(shù)據(jù)包括L塊單位地址和與各個(gè)L塊單位地址對(duì)應(yīng)的多行P塊單位地址(注意,保存單個(gè)L塊單位地址的數(shù)據(jù)的P塊單位在P頁單位管理中可以是多個(gè))。L塊單位地址的最大數(shù)量為d。未通過垃圾收集等執(zhí)行P頁單位管理的條目的各個(gè)地址存儲(chǔ)有OxFFFF。第二管理數(shù)據(jù)包括屬于相同L塊單位的L頁單位地址、與各個(gè)地址對(duì)應(yīng)的P塊單位地址和與地址對(duì)應(yīng)的P頁單位地址的組(針對(duì)分別通過使用第一管理數(shù)據(jù)管理的每個(gè)L塊單位生成一個(gè)管理數(shù)據(jù))。沒有數(shù)據(jù)的條目的各個(gè)地址存儲(chǔ)有OxFFFF。
      [0095]-每個(gè)數(shù)據(jù)結(jié)構(gòu)和垃圾收集中的塊單位數(shù)量的限制
      [0096]將描述為什么可以管理的最大塊單位地址的數(shù)量分別在上述(2)和(3)中限于e和d的原因。在已執(zhí)行P塊單位管理的數(shù)據(jù)中,邏輯空間中的寫入數(shù)量幾乎與物理空間的消耗量一致,因?yàn)長塊單位與P塊單位一一對(duì)應(yīng)并且每個(gè)塊單位都填充有數(shù)據(jù)(由于管理數(shù)據(jù)是必須的,因此寫入量與消耗量不完全一致)。
      [0097]然而,在順序管理和P頁單位管理中,即使當(dāng)邏輯空間中的寫入量沒有達(dá)到P塊單位大小時(shí),也要確保一個(gè)P塊單位。即,物理空間中的消耗量變得大于邏輯空間中的寫入量。寫入量和消耗量的最大比大約為(L塊單位大小/L扇區(qū)大小)。
      [0098]因此,為了確保所有數(shù)據(jù)都保存在閃速存儲(chǔ)器中,而不管主機(jī)設(shè)備使用邏輯空間的方式如何,有必要根據(jù)所確保的區(qū)域大小限制可以執(zhí)行順序管理和P頁單位管理的P塊單位的數(shù)量。這是上述⑵和⑶中的限制原因。
      [0099]當(dāng)管理數(shù)據(jù)的條目達(dá)到極限時(shí),并且進(jìn)一步地,當(dāng)執(zhí)行小于P塊單位大小的寫入時(shí),必須執(zhí)行操作以將已經(jīng)生成的條目升格到P塊單位管理。該操作稱為垃圾收集。本發(fā)明的目的是通過將順序管理添加到僅包括P塊單位管理和P頁單位管理的一般的閃速存儲(chǔ)器控制器中來減小垃圾收集的頻率。具體內(nèi)容將在下面的“算法”中進(jìn)行描述。
      [0100]“算法”
      [0101]將描述通過使用上述數(shù)據(jù)結(jié)構(gòu)執(zhí)行寫入的算法。將參照?qǐng)D15中的流程圖描述寫入處理的整個(gè)流程。
      [0102]步驟STl:閃速存儲(chǔ)器設(shè)備I從主機(jī)設(shè)備11接收到寫入命令。
      [0103]步驟ST2:通過使用來自寫入判定的邏輯地址的管理數(shù)據(jù)獲得寫入目的地的P塊單位組。
      [0104]步驟ST3:在使用順序管理登記命令的控制方法(下文要描述的判定方法2和3)的情況下,判定所獲得的P塊單位組是否與過去的順序管理登記命令一致。
      [0105]步驟ST4:當(dāng)P塊單位組與過去的順序管理登記命令不一致時(shí),在寫入命令不被接受(received,受理)時(shí)終止該程序。
      [0106]步驟ST5:當(dāng)P塊單位組與過去的順序管理登記命令一致時(shí)或者在未使用順序管理登記命令的控制方法(下文要描述的判定方法I)的情況下,從獲得的P塊單位組中取出一個(gè)未寫入的P塊單位。
      [0107]步驟ST6:執(zhí)行P塊單位中的寫入處理。
      [0108]步驟ST7:判定所有數(shù)據(jù)的寫入是否完成。當(dāng)判定尚未完成所有數(shù)據(jù)的寫入時(shí),該程序返回步驟ST5。然后,執(zhí)行P塊單位中的寫入處理。
      [0109]步驟ST8:當(dāng)在步驟ST7中判定所有數(shù)據(jù)的寫入完成時(shí),終止該程序。
      [0110]下文將描述與順序管理登記命令的整合性判定。
      [0111]圖16是表明P塊單位中的寫入的內(nèi)容的流程圖。將P塊單位中的寫入分為三種,即,P塊單位管理寫入、順序?qū)懭?、和P頁單位管理寫入。
      [0112]步驟STll:判定寫入大小是否與P塊單位大小一致。在寫入大小與P塊單位大小一致的情況下,執(zhí)行P塊單位管理寫入。
      [0113]步驟ST12:當(dāng)步驟STll中判定寫入大小與P塊單位大小不一致時(shí),判定寫入是否是順序管理的對(duì)象。下文將描述判定方法。當(dāng)已判定寫入是順序管理的對(duì)象時(shí),執(zhí)行順序管理寫入。在除上述之外的情況下,執(zhí)行P頁單位管理寫入。
      [0114]在本發(fā)明的一個(gè)實(shí)施方式中,將提出順序?qū)懭氲娜N對(duì)象判定方法。這些方法中的每一種都具有具體的優(yōu)缺點(diǎn)。因此,優(yōu)選根據(jù)控制目使用這三種方法中的合適方法。
      [0115]-判定方法I
      [0116]這是閃速存儲(chǔ)器設(shè)備I自動(dòng)判定的方法。圖17是表明該方法的流程的流程圖。
      [0117]步驟ST13:判定要寫入的P塊單位是否已經(jīng)根據(jù)管理表被順序管理。
      [0118]步驟ST14:當(dāng)步驟ST13中判定已經(jīng)管理P塊單位時(shí),判定數(shù)據(jù)是否能在P塊單位中順序追加。判定方法根據(jù)實(shí)現(xiàn)具有任意性,并且例如,當(dāng)寫入已從靠近最終寫入物理頁的物理頁開始時(shí),可以考慮追加(appending,追記)可用的判定。
      [0119]步驟ST15:當(dāng)ST14中的判定結(jié)果表明可以追加數(shù)據(jù)時(shí),判定P塊單位是順序管理寫入對(duì)象,并返回“是”。
      [0120]步驟ST16:當(dāng)步驟ST14中判定不能追加數(shù)據(jù)時(shí),執(zhí)行順序管理的終止處理。終止處理是使待寫入的P塊單位降格為P頁單位管理。即,從順序管理表中擦除P塊單位的條目,并在P頁單位管理表中生成P塊單位的新條目。這里,當(dāng)P頁單位管理表中沒有空閑空間時(shí),通過使用垃圾收集將P頁單位管理塊升格到P塊單位管理以便生成空閑空間。下文將描述垃圾收集方法。
      [0121]步驟ST18:當(dāng)已判定寫入不是順序管理寫入對(duì)象時(shí),返回“否”。
      [0122]步驟ST17:當(dāng)要寫入的P塊單位尚未順序管理時(shí),判定寫入是否是可以被順序管理的新寫入。判定方法根據(jù)實(shí)現(xiàn)具有任意性,并且可以考慮可以對(duì)等于或大于P塊單位大小的1/4的大小的新寫入執(zhí)行順序管理的判定。
      [0123]當(dāng)可以執(zhí)行順序管理時(shí),判定寫入是順序管理寫入的對(duì)象。然后,該程序進(jìn)入步驟ST15,并返回“是”。當(dāng)不能執(zhí)行順序管理時(shí),判定寫入不是順序管理寫入的對(duì)象。然后,該程序進(jìn)入步驟ST18,并返回“否”。
      [0124]-判定方法2
      [0125]這是主機(jī)清楚表明寫入的順序性的方法。該方法根據(jù)主機(jī)設(shè)備是否管理順序管理表而分為兩種。主機(jī)設(shè)備不對(duì)表進(jìn)行管理的方法被稱為方法2,主機(jī)設(shè)備對(duì)表進(jìn)行管理的方法被稱為方法3。首先將描述方法2。
      [0126]在方法2中,在順序?qū)懭胫巴ㄟ^順序管理登記命令將L塊單位登記在針對(duì)順序管理登記命令的表中。圖18示出管理表。該表利用與數(shù)據(jù)結(jié)構(gòu)的管理表部分中描述的表的相同配置保存(參照?qǐng)D10)。管理表表明通過順序管理登記命令是否登記從零至Ib-1的各個(gè)L塊單位。作為分別對(duì)應(yīng)于狀態(tài)的條目,當(dāng)通過順序管理登記命令登記L塊單位時(shí),存儲(chǔ)I,并且當(dāng)沒有登記L塊單位時(shí),存儲(chǔ)O。
      [0127]圖19是順序管理登記命令的處理的流程圖。
      [0128]步驟ST21:閃速存儲(chǔ)器設(shè)備I從主機(jī)設(shè)備11接收到登記命令。
      [0129]步驟ST22:登記命令將L塊單位用作參數(shù),并判定L塊單位是否未登記。
      [0130]步驟ST23:當(dāng)L塊單位未登記時(shí),將L塊單位登記在針對(duì)順序管理登記命令的表中。該程序終止于步驟ST24。
      [0131]步驟ST25:當(dāng)已經(jīng)登記L塊單位時(shí),在命令不被接受時(shí),終止該程序。
      [0132]圖20是表明方法2的判定的處理的流程圖。
      [0133]步驟ST26:在掃描用于順序管理登記命令的表時(shí)判定是否已經(jīng)登記L塊單位。
      [0134]步驟ST27:當(dāng)已經(jīng)登記L塊單位時(shí),判定寫入是順序管理寫入的對(duì)象。然后,返回表明寫入是順序管理寫入的對(duì)象的判定結(jié)果。
      [0135]步驟ST28:當(dāng)尚未登記L塊單位時(shí),判定寫入不是順序管理寫入的對(duì)象。然后,返回“否”的結(jié)果。
      [0136]當(dāng)使用順序管理登記命令時(shí),必須針對(duì)每個(gè)寫入命令判定寫入是否與關(guān)于圖15的步驟ST3所描述的過去的順序管理登記命令一致。圖21是判定的流程圖。
      [0137]步驟ST31:從要寫入的P塊單位組中取出與登記在針對(duì)順序管理登記命令的表中的L塊單位對(duì)應(yīng)的一個(gè)P塊單位。
      [0138]步驟ST32:判定P塊單位是否已被順序管理。
      [0139]步驟S33:當(dāng)步驟ST32中判定結(jié)果為“否”時(shí),判定寫入是否是可被順序管理的新寫入。
      [0140]步驟ST34:判定是否完成對(duì)所有登記P塊單位的檢查。
      [0141]步驟ST35:當(dāng)判定完成檢查時(shí),判定存在整合性。然后,返回“是”。
      [0142]步驟ST36:當(dāng)步驟ST32中判定P塊單位已被順序管理時(shí),判定在順序管理繼續(xù)的情況下是否可以追加數(shù)據(jù)。當(dāng)判定可以追加數(shù)據(jù)時(shí),該程序進(jìn)入步驟ST34。
      [0143]步驟ST37:當(dāng)步驟ST33中判定寫入不是可以順序管理的新寫入時(shí),判定不存在整合性(consistency,連貫性)。然后,返回“否”。類似地,當(dāng)步驟ST36中判定在順序管理繼續(xù)情況下不能追加數(shù)據(jù)時(shí),判定不存在整合性。然后,返回“否”。
      [0144]以這種方式,從要寫入的P塊單位組中逐一取出與登記在針對(duì)順序管理登記命令的表中的L塊單位對(duì)應(yīng)的P塊單位,并判定是否可以對(duì)獲得的P塊單位連續(xù)執(zhí)行順序管理。當(dāng)可以對(duì)所有檢查對(duì)象連續(xù)執(zhí)行順序管理時(shí),判定存在整合性,并且當(dāng)不能對(duì)所有檢查對(duì)象連續(xù)執(zhí)行順序管理時(shí),判定不存在整合性。
      [0145]-判定方法3
      [0146]這是主機(jī)清楚表明寫入的順序性的方法,并且這是主機(jī)設(shè)備管理順序管理表的方法。判定方法2和3之間的不同在于可以登記在針對(duì)順序管理登記命令的表中的條目的數(shù)量限于圖12中所示的e個(gè)條目。當(dāng)在已經(jīng)存在e個(gè)條目時(shí)發(fā)出順序管理登記命令時(shí),命令不被接受。圖22是判定方法3中的順序管理登記命令的處理的流程圖。
      [0147]步驟ST41:登記命令被接收。
      [0148]步驟ST42:判定L塊單位是否未登記。
      [0149]步驟ST43:當(dāng)L塊單位不是未登記時(shí),命令不被接受。
      [0150]步驟ST44:當(dāng)L塊單位是未登記時(shí),檢查順序管理表是否具有空閑空間。當(dāng)判定不存在空閑空間時(shí),命令不被接受(步驟ST43)。
      [0151]步驟ST45:當(dāng)步驟ST44中判定順序管理表具有空閑空間時(shí),將L塊單位登記在順序管理登記命令表中。
      [0152]步驟ST46:終止對(duì)登記命令的處理。
      [0153]當(dāng)使用該方法時(shí),進(jìn)一步提供順序管理登記刪除命令。圖23是關(guān)于刪除命令的處理的流程的流程圖。
      [0154]步驟ST51:接收到刪除命令。
      [0155]步驟ST52:判定是否已經(jīng)登記L塊單位。
      [0156]步驟ST53:當(dāng)L塊單位尚未登記時(shí),命令不被受理。
      [0157]步驟ST54:檢查L塊單位是否填充有(寫入)至最終物理頁的數(shù)據(jù)。
      [0158]步驟ST55:當(dāng)判定L塊單位未填充有至最終物理頁的數(shù)據(jù)時(shí),將L塊單位升格到P塊單位管理。即,對(duì)升格來說垃圾收集是必須的。
      [0159]步驟ST56:當(dāng)步驟ST54中判定L塊單位填充有至最終物理頁的數(shù)據(jù)時(shí)或在步驟ST55的處理之后,從順序管理登記命令表中刪除L塊單位。
      [0160]步驟ST57:終止對(duì)登記刪除命令的處理。
      [0161]-P塊單位管理寫入
      [0162]通過使用上述判定方法I至3,可以判定P塊單位管理寫入、順序?qū)懭?、或P頁單位管理寫入中的哪一個(gè)是對(duì)象寫入。下文將描述這三種寫入。首先將描述P塊單位管理寫入的方法。圖24是P塊單位管理寫入的處理的流程圖。
      [0163]步驟ST60:在P塊單位管理寫入中,新獲得未寫入的P塊單位。
      [0164]步驟ST61:將數(shù)據(jù)寫入所獲得的P塊單位。
      [0165]步驟ST62:當(dāng)寫入完成時(shí),將要寫入的P塊單位登記在P塊單位管理表中,并終止該程序。
      [0166]-順序管理寫入
      [0167]圖25是順序管理寫入的處理的流程的流程圖。
      [0168]步驟ST70:判定P塊單位是否已被順序管理。即,判定寫入是新寫入還是追加寫入。
      [0169]步驟ST71:當(dāng)寫入是新寫入時(shí),通過掃描順序管理表來搜索空閑空間。
      [0170]步驟ST72:當(dāng)沒有空閑空間時(shí),通過使用垃圾收集來將順序管理塊升格到P塊單位管理以便生成空閑空間。在使用方法3的情況下,在該階段確實(shí)存在空閑空間,因?yàn)樵诿畹碾A段除去了沒有空閑空間的寫入。
      [0171]步驟ST73:將新P塊單位登記在通過上述操作獲得的空閑條目中。
      [0172]步驟ST74:數(shù)據(jù)被新寫入。
      [0173]步驟ST75:當(dāng)寫入完成時(shí)更新順序管理表,并終止該程序。
      [0174]步驟ST76:當(dāng)步驟ST70中判定寫入是追加寫入時(shí),順序追加該數(shù)據(jù)。更新順序管理表。
      [0175]步驟ST77:判定P塊單位是否填充有至最終物理頁的數(shù)據(jù)。
      [0176]步驟ST78:當(dāng)判定P塊單位填充有至最終物理頁的數(shù)據(jù)時(shí),執(zhí)行至P塊單位管理的升格處理。然后,終止該程序。即,刪除順序管理表中的條目,并將寫入的P塊單位登記在P塊單位管理表中。
      [0177]當(dāng)步驟ST77中判定P塊單位尚未填充有至最終物理頁的數(shù)據(jù)時(shí),該程序進(jìn)入步驟ST75。更新順序管理表,并終止該程序。
      [0178]-P頁單位管理寫入
      [0179]圖26是P頁單位管理寫入的處理的流程的流程圖。
      [0180]步驟ST80:關(guān)于該寫入,首先判定是否已經(jīng)對(duì)寫入判定執(zhí)行P頁單位管理。
      [0181]步驟ST81:當(dāng)未執(zhí)行P頁單位管理時(shí),通過掃描P頁單位管理表來搜索空閑空間。
      [0182]步驟ST82:當(dāng)沒有空閑空間時(shí),通過使用垃圾收集來將P頁單位管理塊升格到P塊單位管理,并生成空閑空間。
      [0183]步驟ST83:將新P塊單位登記在空閑條目中。
      [0184]步驟ST84:新寫入數(shù)據(jù)。
      [0185]步驟ST85:當(dāng)完成寫入時(shí)更新P頁單位管理表,并終止該程序。
      [0186]步驟ST86:當(dāng)寫入已被管理時(shí),進(jìn)一步寫入數(shù)據(jù)。然后,更新P頁單位管理表,并終止該程序。
      [0187]-垃圾收集
      [0188]將描述垃圾收集。垃圾收集是將對(duì)其執(zhí)行順序管理和P頁單位管理的數(shù)據(jù)升格到P塊單位管理并在數(shù)據(jù)的管理表中生成空閑空間的操作。在針對(duì)數(shù)據(jù)結(jié)構(gòu)的段落中描述了為什么需要該操作的原因。
      [0189]首先,將描述用于將P頁單位管理升格到P塊單位管理的垃圾收集。首先,要升格的L塊單位選自P頁單位管理表,并通過掃描每個(gè)管理表來獲得保存要升格的L塊單位的數(shù)據(jù)的P塊單位組。將與要升格的L塊單位對(duì)應(yīng)的數(shù)據(jù)從P塊單位組復(fù)制至新的P塊單位,并更新每個(gè)管理表。
      [0190]接下來,將描述用于將順序管理升格到P塊單位管理的垃圾收集。首先,要升格的L塊單位選自順序管理表,并獲得與所選L塊單位對(duì)應(yīng)的P塊單位和寫入的最終P頁單位。此后,通過掃描每個(gè)管理表來獲得保存寫入的最終P頁單位之后的未寫入?yún)^(qū)域中的數(shù)據(jù)的P塊單位組。將與要升格的L塊單位對(duì)應(yīng)的數(shù)據(jù)從通過上述操作獲得的P塊單位組復(fù)制至新的P塊單位,并更新每個(gè)管理表。
      [0191]如從方法的配置容易推斷出,在要升格的L塊單位填充有數(shù)據(jù)的情況下(寫入的最終P頁單位與P塊單位的最終P頁單位一致),要復(fù)制的P塊單位被固定為執(zhí)行順序管理的一個(gè)P塊單位。S卩,由于沒有其他P塊單位保存要升格的L塊單位的數(shù)據(jù),因此垃圾收集是不必要的。本發(fā)明的目的是根據(jù)屬性來減少垃圾收集和抑制性能的劣化。
      [0192]-方法I至3的比較
      [0193]將描述上述判定方法I至3之間的差異。圖27是示出了比較的表。傳統(tǒng)方法是本發(fā)明中不執(zhí)行順序管理的情況。首先,方法I中的用于判定寫入是否是順序的主體是閃速存儲(chǔ)器設(shè)備,然而在方法2和3中該主體是主機(jī)設(shè)備。
      [0194]在方法2中,主機(jī)設(shè)備僅登記順序管理表,并且閃速存儲(chǔ)器設(shè)備控制順序管理表。然而在方法3中,主機(jī)設(shè)備還刪除順序管理表(控制登記的數(shù)量)。即,在方法I和2中,可以控制順序管理表的主體僅僅是閃速存儲(chǔ)器設(shè)備,然而在方法3中,主機(jī)設(shè)備也可以控制順序管理表。
      [0195]通過使用三種方法中的任意一種,可以防止對(duì)順序?qū)懭氲睦占?。然而,在順序?qū)懭朐谕局衅茐牡那闆r下以及在順序管理表中沒有空閑空間的情況下,以上不適用。在這兩種情況下,在方法I中執(zhí)行垃圾收集。在方法2中,由于在命令階段不接受可以破壞順序性的寫入,因此此情況下也可以防止垃圾收集。然而,當(dāng)順序管理表中沒有空閑空間時(shí),執(zhí)行垃圾收集。在方法3中,由于當(dāng)順序管理表中沒有空閑空間時(shí)在命令階段不接受寫入,因此此情況下也可以防止垃圾收集。
      [0196]“實(shí)施例的效果”
      [0197]通過使用本發(fā)明,只要小于P塊單位的寫入是順序存取,就可以避免由垃圾收集造成的速度降低。因此,即使當(dāng)主機(jī)設(shè)備連續(xù)一點(diǎn)一點(diǎn)地寫入數(shù)據(jù)時(shí),也可以在不改變?cè)L問模式的情況下提供具有穩(wěn)定性能的訪問。另外同樣,具有有限緩沖器大小的主機(jī)設(shè)備主要不能通過P塊單位訪問。相對(duì)于此主機(jī)設(shè)備,在傳統(tǒng)連續(xù)寫入的情況下不能避免垃圾收集。然而,可以通過使用本發(fā)明向主機(jī)設(shè)備提供具有穩(wěn)定性能的存取。
      [0198]此外,根據(jù)本發(fā)明,甚至就部分順序的訪問而言,可以通過使用關(guān)于順序部分的技術(shù)來抑制順序部分的垃圾收集。因此,本技術(shù)對(duì)其中對(duì)文件系統(tǒng)特定、幾次交替寫入數(shù)據(jù)和元數(shù)據(jù)的存取是有效的。由于由FAT代表的大量文件系統(tǒng)通常在該訪問模式下執(zhí)行寫入,因此可以期望通過使用本發(fā)明來提高性能。
      [0199]本發(fā)明不將順序管理的P塊單位的數(shù)量限制為I。因此,本發(fā)明可以適用于交替地且順序地寫入多個(gè)數(shù)據(jù)的點(diǎn)。當(dāng)這種情況適用時(shí),認(rèn)為可以通過控制來防止元數(shù)據(jù)寫入性能劣化,以順序?qū)懭氤龜?shù)據(jù)之外的元數(shù)據(jù)。
      [0200]通過使用本發(fā)明的方法3,主機(jī)設(shè)備可以局部控制閃速存儲(chǔ)器設(shè)備的垃圾收集。當(dāng)這種情況適用時(shí),控制是可用的,其中通過對(duì)優(yōu)選不發(fā)生速度降低的重要寫入執(zhí)行順序指定來選擇性避免垃圾收集。
      [0201]為了使本發(fā)明和傳統(tǒng)方法之間的差異清晰,下文將描述出現(xiàn)差異的寫入的實(shí)例。例如,將描述傳統(tǒng)方法和本發(fā)明相對(duì)于四種寫入方法如何運(yùn)作。圖28中示出了下文要描述的操作實(shí)例的列表。
      [0202]“各寫入方法的描述”
      [0203]下文將描述寫入方法的實(shí)例I至4。為了簡化描述,假設(shè)下文的實(shí)例I至4的所有寫入是寫入到過去尚未管理的新P塊單位。同樣,假設(shè)順序管理表和P頁單位管理表都可以保存四個(gè)以上條目(對(duì)應(yīng)于假設(shè)使得d彡4,e彡4)。
      [0204]-寫入方法的實(shí)例I
      [0205]圖29表明寫入方法的實(shí)例I。在實(shí)例I中,順序管理表(參照?qǐng)D12)和P頁單位管理表(參照?qǐng)D13)為空。按(I)、(2)、(3)和(4)的順序?qū)σ粋€(gè)L塊單位執(zhí)行四次(L塊單位/4)大小的寫入。
      [0206]-寫入方法的實(shí)例2
      [0207]圖30表明寫入方法的實(shí)例2。在實(shí)例2中,順序管理表(參照?qǐng)D12)為空,并且P頁單位管理表(參照?qǐng)D13)已滿(沒有空閑空間)。按(I)、(2)、(3)和⑷的順序?qū)σ粋€(gè)L塊單位執(zhí)行四次(L塊單位/4)大小的寫入。
      [0208]-寫入方法的實(shí)例3
      [0209]圖31表明寫入方法的實(shí)例3。在實(shí)例3中,順序管理表(參照?qǐng)D12)為空,并且P頁單位管理表(參照?qǐng)D13)已滿(沒有空閑空間)。按⑴和(2)的順序?qū)σ粋€(gè)L塊單位執(zhí)行兩次(L塊單位/4)大小的寫入。寫入方法的實(shí)例3與實(shí)例I和2的不同之處在于(I)和(2)不是順序?qū)懭搿?br> [0210]-寫入方法的實(shí)例4
      [0211]圖32表明寫入方法的實(shí)例4。在實(shí)例4中,順序管理表(參照?qǐng)D12)和P頁單位管理表(參照?qǐng)D13)都已滿(沒有空閑空間)。按(I)、(2)、(3)和⑷的順序?qū)σ粋€(gè)L塊單位執(zhí)行四次(L塊單位/4)大小的寫入。
      [0212]-操作的描述
      [0213]將描述傳統(tǒng)方法和本技術(shù)適用于上述各寫入方法的情況下的操作。
      [0214]-寫入方法I的情況
      [0215](傳統(tǒng)方法)
      [0216]1、當(dāng)發(fā)出寫入(I)的命令時(shí),開始圖15中的流程圖的程序。在傳統(tǒng)方法中,由于不執(zhí)行順序管理,因此作為第一分支的步驟ST3(存在與過去的順序命令的整合性?)的結(jié)果變?yōu)椤笆恰?。該程序?jīng)歷圖15中的之后的操作,并且該程序進(jìn)入P塊中的寫入處理。
      [0217]2、圖16是P塊寫入處理。由于寫入(I)小于P塊單位大小,因此作為第一分支的步驟STll (寫入大小與P塊單位大小一致?)的結(jié)果為“否”。此外,在傳統(tǒng)方法中不執(zhí)行順序管理,作為下一分支的步驟ST12(寫入是順序管理的對(duì)象?)的結(jié)果為“否”。因此,該程序進(jìn)入3的P頁單位管理寫入處理。
      [0218]3、圖26是P頁單位管理寫入。由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST80(P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“否”。由于P頁單位管理表為空,因此步驟ST81 (P頁單位管理表具有空閑空間?)的結(jié)果為“是”。在不執(zhí)行垃圾收集的情況下將寫入(I)的內(nèi)容登記在P頁單位管理表中(步驟ST83),并且該程序經(jīng)歷之后的操作。然后,終止寫入(I)。
      [0219]4、當(dāng)發(fā)出寫入⑵的命令時(shí),再次開始圖15中的流程圖的程序。此后,執(zhí)行與上述I和2的操作類似的操作,并且該程序進(jìn)入圖26中的P頁單位管理寫入。是否對(duì)與寫入(I)相同的P塊單位執(zhí)行寫入(2)取決于傳統(tǒng)方法的實(shí)現(xiàn)方法。當(dāng)執(zhí)行寫入(2)時(shí),作為第一分支的步驟ST80 (P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“是”。在這種情況下,對(duì)與寫入(I)相同的P塊單位額外執(zhí)行寫入,并且該程序經(jīng)歷之后的操作。然后,終止寫入⑴。
      [0220]當(dāng)對(duì)與寫入⑴相同的P塊單位不執(zhí)行寫入(2)時(shí),作為第一分支的步驟ST80(P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“否”。由于假設(shè)(d彡4),因此步驟ST81(P頁單位管理表具有空閑空間?)的結(jié)果為“是”。在不執(zhí)行垃圾收集的情況下將寫入(I)的內(nèi)容登記在P頁單位管理表中(步驟ST83),并且該程序經(jīng)歷之后的操作。然后,終止寫入⑵。
      [0221]5、當(dāng)發(fā)出寫入(3)的命令時(shí),再次開始圖15中的流程圖的程序。此后,執(zhí)行與上述4的操作類似的操作,并終止寫入(3)。
      [0222]6、當(dāng)發(fā)出寫入(4)的命令時(shí),再次開始圖15中的流程的程序。此后,執(zhí)行與上述4的操作類似的操作,并終止寫入(4)。
      [0223]根據(jù)上文,在傳統(tǒng)方法中,根據(jù)控制方法消耗一至四個(gè)P頁單位管理表,并終止寫入。
      [0224](技術(shù)I)
      [0225]1、當(dāng)發(fā)出寫入⑴的命令時(shí),開始圖15中的流程圖的程序。在技術(shù)I中,由于不執(zhí)行使用順序命令的順序管理,因此作為第一分支的步驟ST3 (存在與過去的順序命令的整合性?)的結(jié)果變?yōu)椤笆恰?。該程序?jīng)歷圖15中的之后操作,并且該程序進(jìn)入P塊中的寫入處理(步驟ST6)。
      [0226]2、圖16是P塊寫入處理。由于寫入(I)小于P塊單位大小,因此作為第一分支的步驟STll (寫入大小與P塊單位大小一致?)的結(jié)果為“否”。為了獲得下一分支的步驟ST12(寫入是順序管理的對(duì)象?)的判定結(jié)果,開始圖17中的流程圖的程序。
      [0227]3、由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST13 (P塊單位已被順序管理?)的結(jié)果為“否”。作為下一個(gè)分支的步驟ST17(可以執(zhí)行順序管理的新寫入?)的判定方法根據(jù)實(shí)現(xiàn)具有任意性。使用示例性的判定方法(假設(shè)等于或大于P塊單位大小的1/4的新寫入是順序管理對(duì)象)。因此,該分支的步驟ST17的判定結(jié)果為“是”。因此,最終獲得“是”,并且該程序返回圖16。因此,圖16中的步驟ST12(寫入是順序管理的對(duì)象?)的結(jié)果變?yōu)椤笆恰?,并且該程序轉(zhuǎn)移到順序管理寫入。
      [0228]4、圖25中的流程圖是順序管理寫入的流程。由于假設(shè)寫入⑴是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST70 (P塊單位已被順序管理?)的結(jié)果為“否”。由于順序管理表為空,因此步驟ST71(順序管理表具有空閑空間?)的結(jié)果為“是”。在不執(zhí)行垃圾收集的情況下將寫入(I)的內(nèi)容登記在順序管理表中(步驟ST73),并且該程序經(jīng)歷之后的操作。然后,終止寫入(I)。
      [0229]5、當(dāng)發(fā)出寫入⑵的命令時(shí),再次開始圖15中的流程圖的程序。執(zhí)行與上述I和2的操作類似的操作,并且開始圖17中的流程圖的程序。寫入(2)是與寫入⑴相同的L塊單位中的寫入。因此,參照順序管理表,可以確認(rèn)包括寫入(2)的L塊單位被登記。因此,作為第一分支的步驟ST13 (P塊單位已被順序管理?)的結(jié)果變?yōu)椤笆恰薄?br> [0230]由于寫入(2)是寫入(I)的順序連續(xù),因此步驟ST14(在順序管理繼續(xù)的情況下可以追加數(shù)據(jù)?)的結(jié)果也為“是”。因此,最終獲得“是”,并且該程序返回圖16。因此,圖16中的步驟ST12(寫入是順序管理的對(duì)象?)的結(jié)果變?yōu)椤笆恰?,并且開始圖25中的順序管理寫入的流程圖的程序。
      [0231]由于寫入(2)是與寫入(I)在相同的L塊單位中的寫入,因此作為第一分支的步驟ST70 (P塊單位已被順序管理?)的結(jié)果為“是”。因此,寫入(2)順序追加在與寫入(I)相同的P塊單位中(步驟ST76)。即使當(dāng)將寫入(I)添加到寫入(2)時(shí),寫入大小小于P塊單位大小。因此,作為下一個(gè)分支的步驟ST77(填充有至最終物理頁的數(shù)據(jù)?)的結(jié)果變?yōu)椤胺瘛?。該程序?jīng)歷之后的操作。然后,終止寫入(2)。
      [0232]6、當(dāng)發(fā)出寫入(3)的命令時(shí),再次開始圖15中的流程圖的程序。執(zhí)行與上述5的操作類似的操作,并終止寫入(3)。
      [0233]7、當(dāng)發(fā)出寫入(4)的命令時(shí),再次開始圖15中的流程圖的程序。此后,雖然執(zhí)行與上述5的操作類似的操作,但是當(dāng)寫入(I)至(4)被加在一起時(shí),寫入大小變得與P塊單位大小相同。因此,作為5的最終分支的步驟ST77(填充有至最終物理頁的數(shù)據(jù)?)的結(jié)果變?yōu)椤笆恰保⒃趫?zhí)行至P塊單位管理的升格處理之后終止寫入(4)(步驟ST78)。
      [0234]根據(jù)上文,在該技術(shù)中,在從寫入(I)至寫入(4)的時(shí)間段使用單個(gè)順序管理表,并在升格到P塊單位管理的最終處理中打開順序管理表。然后,終止寫入。
      [0235](技術(shù)2)
      [0236]預(yù)處理。在技術(shù)2中,清楚表明在寫入之前通過使用順序管理登記命令來對(duì)包括寫入(I)的L塊單位執(zhí)行順序管理。圖19中的流程圖是順序管理登記命令的流程。由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST22(L塊單位未登記?)的結(jié)果為“是”。因此,將L塊單位登記在順序管理登記命令表中(參照?qǐng)D18)(步驟 ST23)。
      [0237]1、當(dāng)發(fā)出寫入⑴的命令時(shí),開始圖15中的流程圖的程序。為了判定作為第一分支的步驟ST3(存在與過去的順序命令的整合性?),開始圖21中的判定流程的程序。
      [0238]2、由于在預(yù)處理中,將包括寫入(I)的L塊單位登記在順序管理登記命令表中,因此取出與寫入(I)對(duì)應(yīng)的P塊單位。由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此步驟作為第一分支的ST32 (P塊單位已被順序管理?)的結(jié)果為“否”。
      [0239]由于寫入(I)開始于L塊單位的開頭,因此作為下一個(gè)分支的步驟ST33(可以執(zhí)行順序管理的新寫入?)的結(jié)果為“是”。此外,由于寫入(I)的大小小于P塊單位大小,因此在寫入(I)的訪問判定過程中除該P(yáng)塊單位之外不存在登記的P塊單位。因此,步驟ST34(已檢查所有登記P塊單位?)的結(jié)果變?yōu)椤笆恰?,并且最終返回“是”(步驟ST35)。因此,圖15中的步驟ST3(存在與過去的順序命令的整合性?)的結(jié)果變?yōu)椤笆恰?,并且該程序?jīng)歷之后的操作。然后,該程序轉(zhuǎn)移到P塊中的寫入處理(步驟ST6)
      [0240]3、圖16是P塊中的寫入處理。由于寫入⑴小于P塊單位大小,因此作為第一分支的步驟STll (寫入大小與P塊單位大小一致?)的結(jié)果為“否”。由于將包括寫入(I)的L塊單位登記在順序管理登記命令表中,因此作為下一個(gè)分支的步驟ST12(寫入是順序管理的對(duì)象?)的結(jié)果變?yōu)椤笆恰?。然后,該程序轉(zhuǎn)移到順序管理寫入。
      [0241]4、圖25是順序管理寫入的流程。由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST70 (P塊單位已被順序管理?)的結(jié)果為“否”。由于順序管理表為空,因此步驟ST71(順序管理表具有空閑空間?)的結(jié)果為“是”。在不執(zhí)行垃圾收集的情況下將寫入(I)的內(nèi)容登記在順序管理表中,并且該程序經(jīng)歷之后的操作。然后,終止寫入(I)。
      [0242]5、當(dāng)發(fā)出寫入⑵的命令時(shí),再次開始圖15中的流程圖的程序。為了判定作為第一分支的步驟ST3(存在與過去的順序命令的整合性?),開始圖21中的判定流程圖的程序。由于在預(yù)處理中,將包括寫入(I)的L塊單位登記在順序管理登記命令表中,因此取出與寫入⑴對(duì)應(yīng)的P塊單位。
      [0243]由于已將寫入(I)登記在順序管理表中,因此作為第一分支的步驟ST32 (P塊單位已被順序管理?)的結(jié)果為“是”。由于在寫入(I)之后剛開始寫入(2),因此步驟ST36(在順序管理繼續(xù)的情況下可以追加數(shù)據(jù)?)的結(jié)果也為“是”。
      [0244]由于寫入(2)的大小小于P塊單位大小,因此在寫入(2)的存取判定過程中除該P(yáng)塊單位之外不存在登記的P塊單位。因此,步驟ST34(已檢查所有登記P塊單位?)的結(jié)果變?yōu)椤笆恰?,并且最終返回“是”。因此,圖15中的步驟ST3(存在與過去的順序命令的整合性?)的結(jié)果變?yōu)椤笆恰保⑶以摮绦蚪?jīng)歷之后的操作。然后,該程序轉(zhuǎn)移到P塊中的寫入處理(步驟ST6)
      [0245]6、圖16是P塊中的寫入處理。由于寫入(2)小于P塊單位大小,因此作為第一分支的步驟STll (寫入大小與P塊單位大小一致?)的結(jié)果為“否”。由于將包括寫入(2)的L塊單位登記在順序管理登記命令表中,因此作為下一個(gè)分支的步驟ST12(寫入是順序管理的對(duì)象?)的結(jié)果變?yōu)椤笆恰薄H缓?,該程序轉(zhuǎn)移到順序管理寫入。
      [0246]7、圖25是順序管理寫入的流程。由于寫入(2)是與寫入⑴在相同的L塊單位中的寫入,因此作為第一分支的步驟ST70(P塊單位已經(jīng)被順序管理?)的結(jié)果為“是”。因此,寫入(2)順序追加在與寫入(I)相同的P塊單位中。即使當(dāng)將寫入(I)添加到寫入(2)時(shí),寫入大小小于P塊單位大小。因此,作為下一個(gè)分支的步驟ST77 (填充有至最終物理頁的數(shù)據(jù)?)的結(jié)果變?yōu)椤胺瘛薄T摮绦蚪?jīng)歷之后的操作。然后,終止寫入(2)。
      [0247]8、當(dāng)發(fā)出寫入(3)的命令時(shí),再次開始圖15中的流程圖的程序。此后,執(zhí)行與上述5、6和7的操作類似的操作,并終止寫入(3)。
      [0248]9、當(dāng)發(fā)出寫入(4)的命令時(shí),再次開始圖15中的流程圖的程序。此后,雖然執(zhí)行與上述5、6和7的操作類似的操作,但是當(dāng)寫入(I)至(4)添加在一起時(shí),寫入大小變得與P塊單位大小相同。因此,作為7的最終分支的步驟ST77 (填充有至最終物理頁的數(shù)據(jù)?)的結(jié)果變?yōu)椤笆恰保⒃趫?zhí)行至P塊單位管理的升格處理之后終止寫入(4)?!吧裉幚怼笔菑捻樞蚬芾肀砗晚樞蚬芾淼怯浢畋碇袆h除包括寫入(I)的L塊單位的操作。
      [0249]根據(jù)上文,在該技術(shù)中,在從寫入(I)至寫入(4)的時(shí)間段使用單個(gè)順序管理表,并在最終處理中從順序管理表和順序管理登記命令表中刪除包括寫入(I)的L塊單位以升格到最終P塊單位管理。然后,終止寫入。
      [0250](技術(shù)3)
      [0251]預(yù)處理。在技術(shù)3中,清楚表明在寫入之前通過使用順序管理登記命令來對(duì)包括寫入(I)的L塊單位執(zhí)行順序管理。圖22是順序管理登記命令的流程。由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST42(L塊單位未登記?)的結(jié)果為“是”。由于順序管理表為空,因此步驟ST44(順序管理表具有空閑空間?)的結(jié)果也為“是”。因此,將L塊單位登記在順序管理登記命令表中(步驟ST45)。
      [0252]以下寫入處理與技術(shù)2中的完全相同。然而,在后處理中從順序管理登記命令表中刪除條目。
      [0253]后處理。在技術(shù)3中,在執(zhí)行寫入之后,從順序管理登記命令表中刪除在預(yù)處理中登記的L塊單位。圖23是順序管理表命令的流程。由于在預(yù)處理中登記了包括寫入(I)的L塊單位,因此作為第一分支的步驟ST52(登記的L塊單位?)的結(jié)果為“是”。由于P塊單位大小的寫入在從寫入(I)至(4)的時(shí)間段完成,因此步驟ST54(填充有至最終物理頁的數(shù)據(jù)?)的結(jié)果為“是”。因此,在不執(zhí)行升格處理的情況下從順序管理登記命令表中刪除包括寫入(I)的L塊單位(步驟ST56)。
      [0254]根據(jù)上文,在該技術(shù)中,在從寫入(I)至寫入(4)的時(shí)間段使用單個(gè)順序管理表,并在升格P塊單位管理的最終處理中從順序管理表中刪除包括寫入(I)的L塊單位。然后,在后處理中從順序管理登記命令表中刪除包括寫入(I)的L塊單位,并終止寫入。
      [0255]-寫入方法2的情況
      [0256](傳統(tǒng)方法)
      [0257]1、當(dāng)發(fā)出寫入⑴的命令時(shí),開始圖15中的流程圖的程序。在傳統(tǒng)方法中,由于不執(zhí)行順序管理,因此作為第一分支的步驟ST3(存在與過去的順序命令的整合性?)的結(jié)果為“是”。該程序通過圖15中的之后的操作,并且該程序進(jìn)入P塊中的寫入處理(步驟ST6)。
      [0258]2、圖16是P塊中的寫入處理。由于寫入⑴小于P塊單位大小,因此作為第一分支的步驟STll (寫入大小與P塊單位大小一致?)的結(jié)果為“否”。此外,在傳統(tǒng)方法中不執(zhí)行順序管理,作為下一分支的步驟ST12(寫入是順序管理的對(duì)象?)的結(jié)果為“否”。因此,該程序進(jìn)入3的P頁單位管理寫入處理。
      [0259]3、圖26是P頁單位管理寫入。由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST80(P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“否”。在寫入方法2中,由于P頁單位管理表已滿,因此步驟ST81 (P頁單位管理表具有空閑空間?)的結(jié)果為“否”。在通過執(zhí)行垃圾收集(步驟ST82)在P頁單位管理表中生成空閑空間之后,將寫入(I)的內(nèi)容登記在P頁單位管理表中。然后,該程序經(jīng)歷之后的操作,并終止寫入(I)。
      [0260]4、當(dāng)發(fā)出寫入⑵的命令時(shí),再次開始圖15中的流程圖的程序。此后,執(zhí)行與上述I和2的操作類似的操作,并且該程序進(jìn)入圖26中的P頁單位管理寫入。是否對(duì)與寫入(I)相同的P塊單位執(zhí)行寫入(2)取決于實(shí)現(xiàn)方法。當(dāng)執(zhí)行寫入(2)時(shí),作為第一分支的步驟ST80 (P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“是”。在這種情況下,對(duì)與寫入(I)相同的P塊單位額外執(zhí)行寫入,并且該程序經(jīng)歷之后的操作。然后,終止寫入(I)。
      [0261]當(dāng)對(duì)與寫入⑴相同的P塊單位不執(zhí)行寫入(2)時(shí),作為第一分支的步驟ST80 (P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“否”。在這種情況下,由于P頁單位管理表由于寫入(I)再次填滿,因此步驟ST81 (P頁單位管理表具有空閑空間?)的結(jié)果為“否”。在通過執(zhí)行垃圾收集(步驟ST82)在P頁單位管理表中生成空閑空間之后,將寫入(2)的內(nèi)容登記在P頁單位管理表中。然后,該程序經(jīng)歷之后的操作,并終止寫入(2)。
      [0262]5、當(dāng)發(fā)出寫入(3)的命令時(shí),再次開始圖15中的流程圖的程序。此后,執(zhí)行與上述4的操作類似的操作,并終止寫入(3)。
      [0263]6、當(dāng)發(fā)出寫入(4)的命令時(shí),再次開始圖15中的流程圖的程序。此后,執(zhí)行與上述4的操作類似的操作,并終止寫入(4)。
      [0264]根據(jù)上文,在該技術(shù)中,根據(jù)控制方法垃圾收集發(fā)生一到四次。
      [0265](技術(shù)I)
      [0266]技術(shù)I與寫入方法I的情況完全相同。因此,在該技術(shù)中,在從寫入(I)至寫入(4)的時(shí)間段使用單個(gè)順序管理表,并在升格到P塊單位管理的最終處理中打開順序管理表。然后,終止寫入。
      [0267](技術(shù)2)
      [0268]技術(shù)2與寫入方法I的情況完全相同。因此,在該技術(shù)中,在從寫入(I)至寫入(4)的時(shí)間段使用單個(gè)順序管理表,并在升格到P塊單位管理的最終處理中打開順序管理表。然后,終止寫入。
      [0269](技術(shù)3)
      [0270]技術(shù)3與寫入方法I的情況完全相同。因此,在該技術(shù)中,在從寫入(I)至寫入
      (4)的時(shí)間段使用單個(gè)順序管理表,并在升格到P塊單位管理的最終處理中打開順序管理表。然后,終止寫入。
      [0271]-寫入方法3的情況
      [0272](傳統(tǒng)方法)
      [0273]1、當(dāng)發(fā)出寫入(I)的命令時(shí),開始圖15中的流程圖的程序。在傳統(tǒng)方法中,由于不執(zhí)行順序管理,因此作為第一分支的步驟ST3(存在與過去的順序命令的整合性?)的結(jié)果變?yōu)椤笆恰?。該程序通過圖15中的之后的操作,并且該程序進(jìn)入P塊中的寫入處理(步驟ST16)。
      [0274]2、圖16是P塊中的寫入處理。由于寫入⑴小于P塊單位大小,因此作為第一分支的步驟STll (寫入大小與P塊單位大小一致?)的結(jié)果為“否”。此外,在傳統(tǒng)方法中不執(zhí)行順序管理,作為下一分支的步驟ST12(寫入是順序管理的對(duì)象?)的結(jié)果為“否”。因此,該程序進(jìn)入3的P頁單位管理寫入處理。
      [0275]3、圖26是P頁單位管理寫入。由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST80(P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“否”。在寫入方法3中,由于P頁單位管理表已滿,因此步驟ST81 (P頁單位管理表具有空閑空間?)的結(jié)果為“否”。在通過執(zhí)行垃圾收集(步驟ST82)在P頁單位管理表中生成空閑空間之后,將寫入(I)的內(nèi)容登記在P頁單位管理表中。然后,該程序通過之后的操作,并終止寫入(I)。
      [0276]4、當(dāng)發(fā)出寫入⑵的命令時(shí),再次開始圖15中的流程圖的程序。此后,執(zhí)行與上述I和2的操作類似的操作,并且該程序進(jìn)入圖26中的P頁單位管理寫入。是否對(duì)與寫入
      (I)相同的P塊單位執(zhí)行寫入(2)取決于實(shí)現(xiàn)方法。當(dāng)執(zhí)行寫入(2)時(shí),作為第一分支的步驟ST80 (P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“是”。在這種情況下,對(duì)與寫入(I)相同的P塊單位額外執(zhí)行寫入,并且該程序通過之后的操作。然后,終止寫入(I)。
      [0277]當(dāng)對(duì)與寫入⑴相同的P塊單位不執(zhí)行寫入(2)時(shí),作為第一分支的步驟ST80(P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“否”。在這種情況下,由于P頁單位管理表通過寫入(I)再次填滿,因此步驟ST81 (P頁單位管理表具有空閑空間?)的結(jié)果為“否”。在通過執(zhí)行垃圾收集(步驟ST82)而在P頁單位管理表中生成空閑空間之后,將寫入(2)的內(nèi)容登記在P頁單位管理表中。然后,該程序通過之后的操作,并終止寫入(2)。
      [0278]根據(jù)上文,在該技術(shù)中,根據(jù)控制方法的垃圾收集發(fā)生一次或兩次。
      [0279](技術(shù)I)
      [0280]1、當(dāng)發(fā)出寫入⑴的命令時(shí),開始圖15中的流程圖的程序。在技術(shù)I中,由于不執(zhí)行使用順序命令的順序管理,因此作為第一分支的步驟ST3 (存在與過去的順序命令的整合性?)的結(jié)果變?yōu)椤笆恰?。該程序通過圖15中之后的操作,并且該程序進(jìn)入P塊中的寫入處理(步驟ST6)。
      [0281]2、圖16是P塊中的寫入處理。由于寫入(I)小于P塊單位大小,因此作為第一分支的步驟STll (寫入大小與P塊單位大小一致?)的結(jié)果為“否”。為了獲得步驟ST12(寫入是順序管理的對(duì)象?)的判定結(jié)果,開始圖17中的流程圖的程序。
      [0282]3、由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST13 (P塊單位已被順序管理?)的結(jié)果為“否”。作為下一分支的步驟ST17(可以執(zhí)行順序管理的新寫入?)的判定方法根據(jù)實(shí)現(xiàn)具有任意性。使用舉例說明的判定方法(假設(shè)等于或大于P塊單位大小的1/4的新寫入是順序管理對(duì)象)。因此,該分支的判定結(jié)果為“是”。因此,最終獲得“是”,并且該程序返回圖16。因此,圖16中的步驟ST12(寫入是順序管理的對(duì)象?)的結(jié)果變?yōu)椤笆恰?,并且該程序轉(zhuǎn)移到順序管理寫入。
      [0283]4、圖25是順序管理寫入的流程。由于假設(shè)寫入⑴是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST70 (P塊單位已經(jīng)被順序管理?)的結(jié)果為“否”。由于順序管理表為空,因此步驟ST71(順序管理表具有空閑空間?)的結(jié)果為“是”。在不執(zhí)行垃圾收集的情況下將寫入(I)的內(nèi)容登記在順序管理表中,并且該程序通過之后的操作。然后,終止寫入(I)。
      [0284]5、當(dāng)發(fā)出寫入(2)的命令時(shí),再次開始圖15中的流程圖的程序。此后,執(zhí)行與上述I和2的操作類似的操作,并且開始圖17中的流程圖的程序。寫入(2)是與寫入(I)在相同的L塊單位中的寫入(參照?qǐng)D31)。因此,參照順序管理表,可以確認(rèn)包括寫入(2)的L塊單位被登記。因此,作為第一分支的步驟ST13 (P塊單位已經(jīng)被順序管理?)的結(jié)果為
      “旦”
      TH ο
      [0285]由于寫入⑵不是寫入(I)的順序繼續(xù),因此步驟ST14(在順序管理繼續(xù)的情況下可以追加數(shù)據(jù)?)的結(jié)果也為“否”。因此,執(zhí)行順序管理終止處理(步驟ST16)。該處理是使執(zhí)行順序管理的寫入(I)降格到P頁單位管理。從順序管理表中刪除包括寫入(I)的L塊單位并將其登記在P頁單位管理表中。然而,由于P頁單位管理表在寫入方法3中已滿,因此在執(zhí)行垃圾收集一次并在P頁單位管理表中生成空閑空間之后,將寫入(I)的內(nèi)容登記在P頁單位管理表中。此后,最終獲得“否”,并且該程序返回圖16。因此,圖16中的步驟ST12(寫入是順序管理的對(duì)象?)的結(jié)果變?yōu)椤胺瘛?,并且該程序進(jìn)行到圖26中的P頁單位管理寫入。
      [0286]6、是否對(duì)與寫入(I)相同的P塊單位執(zhí)行寫入(2)取決于實(shí)現(xiàn)方法。當(dāng)執(zhí)行寫入
      (2)時(shí),作為第一分支的步驟ST80 (P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“是”。在這種情況下,對(duì)與寫入(I)相同的P塊單位額外執(zhí)行寫入,并且該程序通過之后的操作。然后,終止寫入(I)。
      [0287]當(dāng)對(duì)與寫入⑴相同的P塊單位不執(zhí)行寫入(2)時(shí),作為第一分支的步驟ST80(P塊單位已經(jīng)進(jìn)行P頁單位管理?)的結(jié)果為“否”。在這種情況下,由于P頁單位管理表通過寫入(I)再次填滿,因此步驟ST81 (P頁單位管理表具有空閑空間?)的結(jié)果為“否”。在通過執(zhí)行垃圾收集(步驟ST82)而在P頁單位管理表中生成空閑空間之后,將寫入(2)的內(nèi)容登記在P頁單位管理表中。然后,該程序通過之后的操作,并終止寫入(2)。
      [0288]根據(jù)上文,在該技術(shù)中,根據(jù)控制方法的垃圾收集發(fā)生一次或兩次。
      [0289](技術(shù)2)
      [0290]預(yù)處理。這種情況與寫入方法I的技術(shù)2中的預(yù)處理完全相同。
      [0291]1、寫入(I)與寫入方法I的技術(shù)2中的寫入⑴完全相同。
      [0292]2、當(dāng)發(fā)出寫入⑵的命令時(shí),再次開始圖15中的流程的程序。為了判定作為第一分支的步驟ST3(存在與過去的順序命令的整合性?),開始圖21中的判定流程圖的程序。由于在預(yù)處理中,將包括寫入(I)的L塊單位登記在順序管理登記命令表中,因此取出與寫入(I)對(duì)應(yīng)的P塊單位。由于已將寫入(I)登記在順序管理表中,因此作為第一分支的步驟ST32 (P塊單位已經(jīng)被順序管理?)的結(jié)果為“是”。然而,由于寫入(2)未在寫入(I)之后立刻開始,因此步驟ST36(在順序管理繼續(xù)的情況下可以追加數(shù)據(jù)?)的結(jié)果也為“否”。因此,由于返回“否”,所以圖15中的步驟ST3(存在與過去的順序命令的整合性?)的結(jié)果變?yōu)椤胺瘛保⑶颐畈槐唤邮堋?br> [0293]根據(jù)上文,在該技術(shù)中命令不被接受。
      [0294](技術(shù)3)
      [0295]預(yù)處理。這種情況與寫入方法I的技術(shù)3中的預(yù)處理完全相同。
      [0296]1、寫入(I)與寫入方法I的技術(shù)3中的寫入(I)完全相同。
      [0297]2、當(dāng)發(fā)出寫入⑵的命令時(shí),再次開始圖15中的流程的程序。為了判定作為第一分支的步驟ST3(存在與過去的順序命令的整合性?),開始圖21中的判定流程的程序。由于在預(yù)處理中,將包括寫入(I)的L塊單位登記在順序管理登記命令表中,因此取出與寫入(I)對(duì)應(yīng)的P塊單位。由于已將寫入(I)登記在順序管理表中,因此作為第一分支的步驟ST32 (P塊單位已經(jīng)被順序管理?)的結(jié)果為“是”。然而,由于寫入(2)并不在寫入(I)之后立刻開始,因此步驟ST36(在順序管理繼續(xù)的情況下可以追加數(shù)據(jù)?)的結(jié)果也為“否”。因此,由于返回“否”,因此圖15中的步驟ST3(存在與過去的順序命令的整合性?)的結(jié)果變?yōu)椤胺瘛?,并且命令不被接受?br> [0298]根據(jù)上文,在該技術(shù)中命令未被接受。
      [0299]-寫入方法4的情況
      [0300](傳統(tǒng)方法)
      [0301]該傳統(tǒng)方法與寫入方法2的情況完全相同。因此,在該技術(shù)中,根據(jù)控制方法的垃圾收集發(fā)生一到四次。
      [0302](技術(shù)I)
      [0303]I至3、程序(procedures,過程)I至3與寫入方法I的技術(shù)I中的程序相同。
      [0304]4、圖25是順序管理寫入的流程。由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST70 (P塊單位已經(jīng)被順序管理?)的結(jié)果為“否”。由于順序管理表已滿,因此步驟ST71(順序管理表具有空閑空間?)的結(jié)果為“否”。在通過執(zhí)行垃圾收集(步驟ST72)而在順序管理表中生成空閑空間之后,登記寫入(I)的內(nèi)容。然后,該程序通過之后的操作,并終止寫入(I)。
      [0305]5、以下程序與寫入方法I的技術(shù)I中的程序完全相同。
      [0306]根據(jù)上文,在該技術(shù)中,根據(jù)控制方法的垃圾收集發(fā)生一次。
      [0307](技術(shù)2)
      [0308]預(yù)處理。這種情況與寫入方法I的技術(shù)2中的預(yù)處理完全相同。
      [0309]I至3、程序I至3與寫入方法I的技術(shù)2中的程序相同。
      [0310]4、圖25是順序管理寫入的流程。由于假設(shè)寫入(I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST70 (P塊單位已經(jīng)被順序管理?)的結(jié)果為“否”。由于順序管理表已滿,因此步驟ST71(順序管理表具有空閑空間?)的結(jié)果為“否”。在通過執(zhí)行垃圾收集(步驟ST72)在順序管理表中生成空閑空間之后,登記寫入(I)的內(nèi)容。然后,該程序通過之后的操作,并終止寫入(I)。
      [0311]5、以下程序與寫入方法I的技術(shù)I中的程序完全相同。
      [0312]根據(jù)上文,在該技術(shù)中,根據(jù)控制方法的垃圾收集發(fā)生一次。
      [0313](技術(shù)3)
      [0314]預(yù)處理。在技術(shù)3中,清楚表明在寫入之前通過使用順序管理登記命令來對(duì)包括寫入(I)的L塊單位執(zhí)行順序管理。圖22是順序管理登記命令的流程。由于假設(shè)寫入
      (I)是對(duì)過去尚未管理的新P塊單位的寫入,因此作為第一分支的步驟ST42(L塊單位未登記?)的結(jié)果為“是”。然而,由于順序管理表已滿,因此步驟ST44(順序管理表具有空閑空間?)的結(jié)果為“否”。因此,命令不被接受(步驟ST43)。根據(jù)上文,在該技術(shù)中命令未被接受。
      [0315]上文描述了圖28中的所有情況。下文將描述這些情況的效果。
      [0316]當(dāng)寫入方法I中使用傳統(tǒng)方法時(shí)消耗一至四個(gè)P頁單位管理表。另一方面,在技術(shù)I至3中只是暫時(shí)使用順序管理表并且不消耗。當(dāng)管理表變得已滿時(shí),觸發(fā)垃圾收集。因此,在寫入方法I中,與傳統(tǒng)方法相比通過該技術(shù)來抑制垃圾收集。
      [0317]順序管理表自身完結(jié)(參照?qǐng)D12)。然而,表的每個(gè)條目都具有P頁單位管理表中的圖14中的表(參照?qǐng)D13),并且需要保存該表的較大區(qū)域。因此,順序管理表容易具有大量條目(例如,假設(shè)d彡4,e彡4,容易放大e)。鑒于此,可以理解的是,與傳統(tǒng)方法相比通過該技術(shù)來抑制垃圾收集。
      [0318]當(dāng)在寫入方法2中使用傳統(tǒng)方法時(shí),發(fā)生垃圾收集。另一方面,在技術(shù)I至3中只是暫時(shí)使用順序管理表并且不消耗,并且在技術(shù)I至3中不發(fā)生垃圾收集。因此,可以認(rèn)為與傳統(tǒng)方法相比也通過寫入方法2中的技術(shù)來抑制垃圾收集。
      [0319]當(dāng)在寫入方法3中使用傳統(tǒng)方法時(shí),發(fā)生垃圾收集。由于寫入方法3不是順序?qū)懭?,因此在技術(shù)I中也發(fā)生垃圾收集。然而,通過使用技術(shù)2和3可能不接受命令。因此,寫入方法3中可以根據(jù)該技術(shù)來提供抑制垃圾收集的方法。
      [0320]當(dāng)在寫入方法4中使用傳統(tǒng)方法時(shí),發(fā)生垃圾收集。由于順序管理表在寫入方法4中已滿,因此在技術(shù)I和2中也發(fā)生垃圾收集。然而,抑制垃圾收集的次數(shù)等于或小于傳統(tǒng)方法中的次數(shù)。另外,當(dāng)使用技術(shù)3時(shí),命令可能不被接受。因此,可以認(rèn)為寫入方法4中的技術(shù)也提供抑制垃圾收集的方法。
      [0321]〈2、對(duì)于其他應(yīng)用>
      [0322]在寫入方法3中,通過圖18中的順序管理登記命令表可以判定特定L塊單位是否執(zhí)行順序?qū)懭?。這是因?yàn)楫?dāng)將執(zhí)行順序管理登記命令的L塊單位登記在圖18中的順序管理登記命令表中并完成順序?qū)懭霑r(shí),通過刪除命令從圖18中的順序管理登記命令表中刪除L塊單位。
      [0323]因此,在主機(jī)設(shè)備試圖在順序?qū)懭肫陂g讀取數(shù)據(jù)區(qū)域的情況下,控制“直到順序?qū)懭氡煌瓿芍埃瑢懭雰?nèi)容不被判定,并返回在順序?qū)懭胫耙呀?jīng)寫入的數(shù)據(jù)”是可用的。通過使用該控制,可以根據(jù)情況選擇性地使用在順序?qū)懭肫陂gL塊單位的處理。這種情況將參照附圖進(jìn)行描述。
      [0324]首先,將描述讀取時(shí)的L塊單位的處理。圖33示出了一種情況,其中向具有其中寫入有數(shù)據(jù)的一個(gè)L塊單位發(fā)出順序管理登記命令并執(zhí)行順序?qū)懭?I)和(2)。在這種情況下,在不發(fā)出順序管理刪除命令的情況下,考慮對(duì)相同L塊單位執(zhí)行圖34中的讀取請(qǐng)求的情況。
      [0325]此時(shí),關(guān)于與執(zhí)行讀取請(qǐng)求的L塊單位對(duì)應(yīng)的數(shù)據(jù),具有兩種數(shù)據(jù),即寫入數(shù)據(jù)和順序?qū)懭肫陂g的數(shù)據(jù)。因此,閃速存儲(chǔ)器設(shè)備可以將這兩種數(shù)據(jù)任意用作要返回給主機(jī)的數(shù)據(jù)。圖35至圖37中示出了實(shí)例。
      [0326]圖35是返回關(guān)于存在順序?qū)懭肫陂g的數(shù)據(jù)之部分的順序?qū)懭肫陂g的數(shù)據(jù)并返回關(guān)于除上述之外的部分的寫入數(shù)據(jù)的方法。圖36是在忽略順序?qū)懭肫陂g的數(shù)據(jù)的情況下返回寫入數(shù)據(jù)的方法。圖37是返回關(guān)于存在順序?qū)懭肫陂g的數(shù)據(jù)之部分的順序?qū)懭肫陂g的數(shù)據(jù)并返回關(guān)于除以上之外的部分的空白數(shù)據(jù)(OxFF)的方法。
      [0327]上述三種方法根據(jù)情況可以適用或可以不適用。例如,當(dāng)對(duì)文件系統(tǒng)的管理數(shù)據(jù)執(zhí)行順序?qū)懭霑r(shí),寫入數(shù)據(jù)必須總是最新的。因此,優(yōu)選的是,順序?qū)懭肓⒓捶从?,而不必等待完成順序?qū)懭?,并且圖35和圖37中所示的控制是優(yōu)選的。另一方面,在在劃分并寫入應(yīng)該被一次寫入的大型數(shù)據(jù)的情況下,優(yōu)選在寫入所有劃分?jǐn)?shù)據(jù)之后反映所有劃分?jǐn)?shù)據(jù)。圖
      36中表明的控制是優(yōu)選的。
      [0328]接下來,將描述順序?qū)懭虢K止于途中的情況下的L塊單位處理。在順序?qū)懭肴鐖D38所示沒有完成的情況下,考慮發(fā)出順序管理刪除命令的情況。在這種情況下,作為圖23中的順序管理刪除命令中指示的分支的步驟ST54(填充有至最終物理頁的數(shù)據(jù)?)的結(jié)果變?yōu)椤胺瘛?,并且發(fā)生至P塊單位管理(步驟ST55)的升格處理。在升格處理過程中,判定順序?qū)懭肫陂g的L塊單位的內(nèi)容,并對(duì)L塊單位執(zhí)行P塊單位管理。此時(shí),可以任意使用兩種數(shù)據(jù),即寫入數(shù)據(jù)和順序?qū)懭肫陂g的數(shù)據(jù)。在圖39至圖41中示出了實(shí)例。
      [0329]圖39是使用有關(guān)存在順序?qū)懭肫陂g的數(shù)據(jù)的部分的順序?qū)懭肫陂g的數(shù)據(jù)并通過使用關(guān)于除以上之外的部分的寫入數(shù)據(jù)生成新L塊單位的方法,其中對(duì)新L塊執(zhí)行P塊單位管理。圖40是使用關(guān)于存在順序?qū)懭肫陂g的數(shù)據(jù)的部分的順序?qū)懭肫陂g的數(shù)據(jù)并通過使用關(guān)于除以上之外的部分的空白數(shù)據(jù)(OxFF)生成新L塊單位的方法,其中對(duì)新L塊執(zhí)行P塊單位管理。圖41是在忽略順序?qū)懭肫陂g的數(shù)據(jù)的情況下通過只使用寫入數(shù)據(jù)來生成新L塊單位的方法,其中對(duì)新L塊單位執(zhí)行P塊單位管理。
      [0330]上述三種方法根據(jù)情況也可以適用或可以不適用。例如,優(yōu)選在途中完成順序?qū)懭胫髿埩魯?shù)據(jù)盡可能大的情況下,圖39的方法是適用的。在劃分并寫入大尺寸的數(shù)據(jù),當(dāng)舊數(shù)據(jù)在順序?qū)懭肫陂g混合到L塊單位中時(shí),難以區(qū)分舊數(shù)據(jù)和正寫入的大型數(shù)據(jù)并發(fā)生混淆的情況下。因此,圖40的方法是適用的。當(dāng)在沒有完成順序?qū)懭氲那闆r下不優(yōu)選殘留數(shù)據(jù)的一部分時(shí),圖41的方法是適用的。
      [0331]如上所述,相對(duì)于讀取和途中完成以任意處理順序?qū)懭肫陂g的L塊單位。在本發(fā)明中,期望在安裝時(shí)選擇途中讀取或完成中的一個(gè)并且在操作時(shí)一貫地使用所選的這一個(gè)。然而,在方法3中,向順序管理登記命令給出順序?qū)懭肫陂g的L塊單位處理作為參數(shù)。因此,在操作時(shí)可以動(dòng)態(tài)地控制L塊單位處理。圖42表明上述情況的順序管理登記命令表的配置方法。
      [0332]圖42是擴(kuò)展圖18的示意圖。除了表明“是否根據(jù)順序管理登記命令登記”的列之外,添加分別表示給出讀取和途中完成的方法的兩個(gè)參數(shù)的列。當(dāng)執(zhí)行順序管理登記命令時(shí),在順序管理登記命令表中指定并登記這兩個(gè)參數(shù)。因此,可以判定在讀取和途中完成時(shí)使用圖35至圖37和圖39至圖41的哪種控制方法。
      [0333]通過使用該判定方法,在操作時(shí)可以動(dòng)態(tài)控制順序?qū)懭肫陂g的L塊單位處理。例如,在攝像機(jī)被視為主機(jī)設(shè)備并且運(yùn)動(dòng)圖片數(shù)據(jù)由照相機(jī)拍攝并存儲(chǔ)的情況下,可以應(yīng)用控制,其中拍攝數(shù)據(jù)的一部分由圖36中的方法控制并且用于管理拍攝數(shù)據(jù)的文件系統(tǒng)的管理數(shù)據(jù)由圖35的方法控制。
      [0334]本發(fā)明可以具有以下配置。
      [0335](I) 一種非易失性存儲(chǔ)器設(shè)備,包括:
      [0336]非易失性存儲(chǔ)器單元;
      [0337]控制單元;以及
      [0338]接口,其中
      [0339]控制單元被配置為接收寫入請(qǐng)求;當(dāng)接收數(shù)據(jù)的寫入大小小于擦除的管理單位時(shí)判定數(shù)據(jù)是否是順序管理的寫入的對(duì)象;當(dāng)數(shù)據(jù)是順序管理的寫入的對(duì)象時(shí)執(zhí)行順序?qū)懭胄∮诓脸墓芾韱挝坏慕邮諗?shù)據(jù)的第一寫入處理;并且當(dāng)數(shù)據(jù)不是順序管理的寫入的對(duì)象時(shí)執(zhí)行依據(jù)寫入的管理單位寫入小于擦除的管理單位的接收數(shù)據(jù)的第二寫入處理。
      [0340](2)根據(jù)(I)所述的非易失性存儲(chǔ)器設(shè)備,其中
      [0341]預(yù)先設(shè)定對(duì)其執(zhí)行第一寫入處理的特定區(qū)域。
      [0342](3)根據(jù)(I)所述的非易失性存儲(chǔ)器設(shè)備,其中
      [0343]根據(jù)基于過去的寫入確定的寫入請(qǐng)求的順序性判定數(shù)據(jù)是否是順序管理的寫入的對(duì)象。
      [0344](4)根據(jù)(I)所述的非易失性存儲(chǔ)器設(shè)備,其中
      [0345]主機(jī)設(shè)備經(jīng)由接口清楚表明數(shù)據(jù)是否是順序管理的寫入的對(duì)象。
      [0346](5)根據(jù)(I)所述的非易失性存儲(chǔ)器設(shè)備,其中
      [0347]主機(jī)設(shè)備經(jīng)由接口清楚表明數(shù)據(jù)是否是順序管理的寫入的對(duì)象并且主機(jī)還管理寫入?yún)^(qū)域的分配。
      [0348](6) 一種非易失性存儲(chǔ)器控制設(shè)備,被配置為接收寫入請(qǐng)求;當(dāng)接收數(shù)據(jù)的寫入大小小于擦除的管理單位時(shí)判定數(shù)據(jù)是否是順序管理的寫入的對(duì)象;當(dāng)數(shù)據(jù)是順序管理的寫入的對(duì)象時(shí)執(zhí)行順序?qū)懭胄∮诓脸墓芾韱挝坏慕邮諗?shù)據(jù)的第一寫入處理;并且當(dāng)數(shù)據(jù)不是順序管理的寫入的對(duì)象時(shí)執(zhí)行依據(jù)寫入的管理單位寫入小于擦除的管理單位的接收數(shù)據(jù)的第二寫入處理。
      [0349](7) 一種非易失性存儲(chǔ)器控制設(shè)備,其中
      [0350]定義主機(jī)側(cè)的命令,其指示利用順序管理將小于擦除的管理單位的數(shù)據(jù)寫入非易失性存儲(chǔ)器設(shè)備的特定區(qū)域。
      [0351](8)根據(jù)(7)所述的非易失性存儲(chǔ)器控制設(shè)備,其中
      [0352]主機(jī)側(cè)指示利用順序管理寫入并且還管理寫入?yún)^(qū)域的分配。
      [0353](9) 一種非易失性存儲(chǔ)器控制方法,包括:接收寫入請(qǐng)求;
      [0354]當(dāng)接收數(shù)據(jù)的寫入大小小于擦除的管理單位時(shí)判定數(shù)據(jù)是否是順序管理的寫入的對(duì)象;
      [0355]當(dāng)數(shù)據(jù)是順序管理的寫入的對(duì)象時(shí)執(zhí)行順序?qū)懭胄∮诓脸墓芾韱挝坏慕邮諗?shù)據(jù)的第一寫入處理;并且
      [0356]當(dāng)數(shù)據(jù)不是順序管理的寫入的對(duì)象時(shí)執(zhí)行依據(jù)寫入的管理單位寫入小于擦除的管理單位的接收數(shù)據(jù)的第二寫入處理。
      [0357](10) 一種非易失性存儲(chǔ)器控制方法,其中
      [0358]定義主機(jī)側(cè)的命令,其指示利用順序管理將小于擦除的管理單位的數(shù)據(jù)寫入非易失性存儲(chǔ)器設(shè)備的特定區(qū)域。
      [0359](11)根據(jù)(10)所述的非易失性存儲(chǔ)器控制方法,其中
      [0360]主機(jī)側(cè)指示利用順序管理寫入并且還管理寫入?yún)^(qū)域的分配。
      [0361]〈3、變形例〉
      [0362]上文已具體描述了本發(fā)明的實(shí)施方式。本發(fā)明不限于上述的各個(gè)實(shí)施方式,并且可能存在基于本發(fā)明的技術(shù)構(gòu)思的各種變形例。例如,上述實(shí)施方式中舉例說明的配置、方法、程序、形狀、材料和值僅僅是示例性的。如果需要,可以使用與該實(shí)施方式中那些不同的配置、方法、程序、形狀、材料和值。
      [0363]相對(duì)于本發(fā)明的實(shí)施方式,上文具體描述了閃速存儲(chǔ)器被用作非易失性存儲(chǔ)器的情況的實(shí)例。然而,上述非易失性存儲(chǔ)器不限于閃速存儲(chǔ)器??梢赃m用于可以配置物理地址空間的所有非易失性存儲(chǔ)器,使得擦除單位的大小等于或大于寫入單位的大小。當(dāng)本發(fā)明適用于除閃速存儲(chǔ)器之外的非易失性存儲(chǔ)器時(shí),本發(fā)明中的P塊單位和P頁單位可以分別被替換為本發(fā)明適用的非易失性存儲(chǔ)器中的擦除單位和寫入單位。
      [0364]說明書標(biāo)號(hào)列表
      [0365]I閃速存儲(chǔ)器設(shè)備
      [0366]2閃速存儲(chǔ)器單元
      [0367]3存儲(chǔ)器控制單元
      [0368]4外部接口
      【權(quán)利要求】
      1.一種非易失性存儲(chǔ)器設(shè)備,包括: 非易失性存儲(chǔ)器單元; 控制單元;以及 接口,其中 所述控制單元被配置為接收寫入請(qǐng)求;當(dāng)接收數(shù)據(jù)的寫入大小小于擦除的管理單位時(shí),判定數(shù)據(jù)是否是順序管理的寫入的對(duì)象;當(dāng)所述數(shù)據(jù)是所述順序管理的寫入的對(duì)象時(shí),執(zhí)行順序?qū)懭胄∮谒霾脸墓芾韱挝坏乃鼋邮諗?shù)據(jù)的第一寫入處理;并且當(dāng)所述數(shù)據(jù)不是所述順序管理的寫入的對(duì)象時(shí),執(zhí)行依據(jù)寫入的管理單位寫入小于所述擦除的管理單位的所述接收數(shù)據(jù)的第二寫入處理。
      2.根據(jù)權(quán)利要求1所述的非易失性存儲(chǔ)器設(shè)備,其中 預(yù)先設(shè)定對(duì)其執(zhí)行所述第一寫入處理的特定區(qū)域。
      3.根據(jù)權(quán)利要求1所述的非易失性存儲(chǔ)器設(shè)備,其中 根據(jù)基于過去的寫入確定的寫入請(qǐng)求的順序性來判定所述數(shù)據(jù)是否是所述順序管理的寫入的對(duì)象。
      4.根據(jù)權(quán)利要求1所述的非易失性存儲(chǔ)器設(shè)備,其中 主機(jī)設(shè)備經(jīng)由所述接口清楚表明所述數(shù)據(jù)是否是所述順序管理的寫入的對(duì)象。
      5.根據(jù)權(quán)利要求1所述的非易失性存儲(chǔ)器設(shè)備,其中 主機(jī)設(shè)備經(jīng)由所述接口清楚表明所述數(shù)據(jù)是否是所述順序管理的寫入的對(duì)象并且主機(jī)還管理寫入?yún)^(qū)域的分配。
      6.一種非易失性存儲(chǔ)器控制設(shè)備,被配置為接收寫入請(qǐng)求;當(dāng)接收數(shù)據(jù)的寫入大小小于擦除的管理單位時(shí),判定數(shù)據(jù)是否是順序管理的寫入的對(duì)象;當(dāng)所述數(shù)據(jù)是所述順序管理的寫入的對(duì)象時(shí),執(zhí)行順序?qū)懭胄∮谒霾脸墓芾韱挝坏乃鼋邮諗?shù)據(jù)的第一寫入處理;并且當(dāng)所述數(shù)據(jù)不是所述順序管理的寫入的對(duì)象時(shí),執(zhí)行依據(jù)寫入的管理單位寫入小于所述擦除的管理單位的所述接收數(shù)據(jù)的第二寫入處理。
      7.一種非易失性存儲(chǔ)器控制設(shè)備,其中 定義主機(jī)側(cè)的命令,所述命令指示利用順序管理將小于擦除的管理單位的數(shù)據(jù)寫入非易失性存儲(chǔ)器設(shè)備的特定區(qū)域。
      8.根據(jù)權(quán)利要求7所述的非易失性存儲(chǔ)器控制設(shè)備,其中 所述主機(jī)側(cè)指示利用所述順序管理寫入并且還管理寫入?yún)^(qū)域的分配。
      9.一種非易失性存儲(chǔ)器控制方法,包括:接收寫入請(qǐng)求; 當(dāng)接收數(shù)據(jù)的寫入大小小于擦除的管理單位時(shí),判定數(shù)據(jù)是否是順序管理的寫入的對(duì)象; 當(dāng)所述數(shù)據(jù)是所述順序管理的寫入的對(duì)象時(shí),執(zhí)行順序?qū)懭胄∮谒霾脸墓芾韱挝坏慕邮諗?shù)據(jù)的第一寫入處理;并且 當(dāng)所述數(shù)據(jù)不是所述順序管理的寫入的對(duì)象時(shí),執(zhí)行依據(jù)寫入的管理單位寫入小于所述擦除的管理單位的所述接收數(shù)據(jù)的第二寫入處理。
      10.一種非易失性存儲(chǔ)器控制方法,其中 定義主機(jī)側(cè)的命令,所述命令指示利用順序管理將小于擦除的管理單位的數(shù)據(jù)寫入非易失性存儲(chǔ)器設(shè)備的特定區(qū)域。
      11.根據(jù)權(quán)利要求10所述的非易失性存儲(chǔ)器控制方法,其中所述主機(jī)側(cè)指示利用所述順序管理寫入并且還管理寫入?yún)^(qū)域的分配。
      【文檔編號(hào)】G06F12/02GK104246725SQ201380020709
      【公開日】2014年12月24日 申請(qǐng)日期:2013年2月28日 優(yōu)先權(quán)日:2012年4月25日
      【發(fā)明者】弘晃 山添, 大輔 中島, 敏文 西浦, 寬 長島 申請(qǐng)人:索尼公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1