控制裝置、控制方法和程序的制作方法
【專利摘要】提供了一種控制裝置,控制方法和程序,該控制裝置包括讀寫控制單元,該讀寫控制單元被配置控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從非易失性存儲器的讀取,其中多個(gè)塊中的每一個(gè)均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位。非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息。該讀寫控制單元根據(jù)由順序信息表示的順序選擇作為用于數(shù)據(jù)的寫入的目標(biāo)塊的寫入目標(biāo)塊,并將數(shù)據(jù)寫入所選擇的寫入目標(biāo)塊中。
【專利說明】控制裝置、控制方法和程序
[0001]相關(guān)申請的交叉引用
[0002]本申請要求2012年12月26日提交的日本優(yōu)先權(quán)專利申請JP2012-282613號的權(quán)益,其全部內(nèi)容通過引用合并于此。
【技術(shù)領(lǐng)域】
[0003]本技術(shù)涉及一種控制裝置、控制方法和程序,并且具體地,涉及能夠縮短在可以執(zhí)行將數(shù)據(jù)寫入非易失性存儲器(例如,NAND閃速存儲器)以及從非易失性存儲器讀取數(shù)據(jù)以前所花費(fèi)的啟動時(shí)間的控制裝置、控制方法和程序。
【背景技術(shù)】
[0004]在例如NAND閃速存儲器中,對寫入、讀取和擦除進(jìn)行電操作。
[0005]在這樣的NAND閃速存儲器中,寫入是單向地將位從“ I”變?yōu)椤癘”的操作,并且由于該原因,需要通過將位變?yōu)椤癐”來執(zhí)行擦除然后在其上寫入數(shù)據(jù)。
[0006]另外,在這樣的NAND閃速存儲器中,以被稱為頁面的存儲區(qū)域?yàn)閱挝粊韴?zhí)行數(shù)據(jù)的寫入和讀取,并且以被稱為塊的存儲區(qū)域?yàn)閱挝粓?zhí)行擦除。這里,塊包括多個(gè)頁面。
[0007]然而,在使用NAND閃速存儲器的文件系統(tǒng)中(以及甚至應(yīng)用中)控制以塊為單位進(jìn)行的擦除以及以頁面為單位的數(shù)據(jù)的寫入和讀取是不方便的。
[0008]因此,提出了安裝如下庫(層):該庫通過執(zhí)行邏輯物理轉(zhuǎn)換來控制數(shù)據(jù)向NAND閃速存儲器的寫入和從NAND閃速存儲器的讀取,在邏輯物理轉(zhuǎn)換中,將每個(gè)塊的一個(gè)或更多個(gè)頁面設(shè)置為TU (變換單位)并且以TU為單位將邏輯地址轉(zhuǎn)換為物理地址(例如,參考日本專利申請第4535117號和日本未審查專利申請公布第2012-13655號)。
【發(fā)明內(nèi)容】
[0009]在控制數(shù)據(jù)向非易失性存儲器(諸如,NAND閃速存儲器)的寫入和從非易失性存儲器的讀取的庫中,當(dāng)啟動該非易失性存儲器時(shí),從非易失性存儲器讀取信息,并且基于該信息,創(chuàng)建在邏輯物理轉(zhuǎn)換中所使用的邏輯物理轉(zhuǎn)換表。
[0010]然而,根據(jù)非易失性存儲器上的數(shù)據(jù)寫入狀態(tài),存在從非易失性存儲器讀取在創(chuàng)建邏輯物理轉(zhuǎn)換表時(shí)所使用的這樣的信息花費(fèi)時(shí)間的情況。在這種情況下,在可以將數(shù)據(jù)寫入非易失性存儲器以及從非易失性存儲器讀取數(shù)據(jù)以前所花費(fèi)的啟動時(shí)間延長。
[0011]期望能夠縮短在可以執(zhí)行數(shù)據(jù)向非易失性存儲器的寫入以及從非易失性存儲器的讀取以前所花費(fèi)的啟動時(shí)間。
[0012]根據(jù)本公開的實(shí)施例,提供了一種控制裝置以及使得計(jì)算機(jī)用作該控制裝置的程序,該控制裝置包括:讀寫控制單元,被配置為控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從非易失性存儲器的讀取,其中多個(gè)塊中的每一個(gè)均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位,其中,非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息,以及其中,讀寫控制單元根據(jù)由順序信息表示的順序選擇作為用于數(shù)據(jù)的寫入的目標(biāo)塊的寫入目標(biāo)塊,并將數(shù)據(jù)寫入所選擇的寫入目標(biāo)塊中。
[0013]根據(jù)本公開的實(shí)施例,提供了一種方法,其由控制裝置的讀寫控制單元執(zhí)行,該控制裝置包括:讀寫控制單元,被配置為控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從非易失性存儲器的讀取,其中多個(gè)塊中的每一個(gè)均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位,其中,非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息,該方法包括根據(jù)由順序信息表示的順序來選擇作為用于數(shù)據(jù)的寫入的目標(biāo)塊的寫入目標(biāo)塊并寫入數(shù)據(jù)。
[0014]根據(jù)基于本技術(shù)的實(shí)施例的控制裝置、控制方法和程序,通過將每個(gè)塊設(shè)置為用于對數(shù)據(jù)進(jìn)行擦除的單位來執(zhí)行向具有多個(gè)塊的非易失性存儲器的寫入以及從非易失性存儲器的讀取。換言之,非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息,根據(jù)由順序信息表示的順序來選擇作為用于數(shù)據(jù)寫入的目標(biāo)塊的寫入目標(biāo)塊,并接著將數(shù)據(jù)寫入該寫入目標(biāo)塊中。
[0015]根據(jù)本公開的實(shí)施例,提供了一種控制裝置,包括:讀寫控制單元,被配置為控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從非易失性存儲器的讀取,其中多個(gè)塊中的每個(gè)塊均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位;以及分配單元,被配置為將邏輯變換單位TU分配給物理TU。每個(gè)塊具有多個(gè)頁面,每一個(gè)頁面均被設(shè)置為用于執(zhí)行數(shù)據(jù)的寫入和讀取的單位。通過將用于執(zhí)行將邏輯存儲區(qū)域轉(zhuǎn)換成物理存儲區(qū)域的邏輯物理轉(zhuǎn)換的單位設(shè)置為TU,非易失性存儲器將指定作為被分配給物理TU的邏輯TU的邏輯TU的邏輯TU編號存儲在作為每一個(gè)均包括一個(gè)或更多個(gè)頁面的物理TU的物理TU中。當(dāng)邏輯TU被分配給包括在塊中的所有物理TU時(shí),包括在塊中的物理TU中的預(yù)定物理TU存儲每一個(gè)均被分配給塊中所包括的物理TU的邏輯TU的所有邏輯TU編號。當(dāng)完成數(shù)據(jù)的寫入的塊的數(shù)量不等于或高于預(yù)先確定的閾值時(shí),分配單元將邏輯TU分配給在從包括未執(zhí)行寫入的物理TU的塊中選擇的、要注意的關(guān)注塊中所包括的物理TU中未被分配邏輯TU的所有物理TU,并且讀寫控制單元將每一個(gè)均被分配給關(guān)注塊中所包括的物理TU的邏輯TU的所有邏輯TU編號寫入關(guān)注塊中所包括的預(yù)定物理TU中。
[0016]在上述根據(jù)本技術(shù)的實(shí)施例的控制裝置中,通過將每個(gè)塊設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位來控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從非易失性存儲器的讀取,并且將邏輯TU (變換單位)分配給物理TU。這里,每個(gè)塊具有多個(gè)頁面,每一個(gè)頁面均被設(shè)置為用于執(zhí)行數(shù)據(jù)的寫入和讀取的單位,并且通過將用于執(zhí)行將邏輯存儲區(qū)域轉(zhuǎn)換成物理存儲區(qū)域的邏輯物理轉(zhuǎn)換的單位設(shè)置為TU,非易失性存儲器將指定作為被分配給物理TU的邏輯TU的邏輯TU的邏輯TU編號存儲在作為每一個(gè)均包括一個(gè)或更多個(gè)頁面的物理TU的物理TU中。此外,當(dāng)邏輯TU被分配給包括在塊中的所有物理TU時(shí),包括在塊中的物理TU中的預(yù)定物理TU存儲每一個(gè)均被分配給塊中所包括的物理TU的邏輯TU的所有邏輯TU編號。在這樣的情況下,當(dāng)完成數(shù)據(jù)的寫入的塊的數(shù)量不等于或高于預(yù)先確定的閾值時(shí),將邏輯TU分配給在從包括未執(zhí)行寫入的物理TU的塊中選擇的、要注意的關(guān)注塊中所包括的物理TU中未被分配邏輯TU的所有物理TU,并且將每一個(gè)均被分配給關(guān)注塊中所包括的物理TU的邏輯TU的所有邏輯TU編號寫入關(guān)注塊中所包括的預(yù)定物理TU中。
[0017]注意,控制裝置可以是獨(dú)立裝置,或者可以是構(gòu)成一臺裝置的內(nèi)部塊。
[0018]另外,程序可以通過經(jīng)由傳送介質(zhì)傳送或者記錄在記錄介質(zhì)上來提供。
[0019]根據(jù)本技術(shù)的實(shí)施例,可以縮短在可以執(zhí)行數(shù)據(jù)向非易失性存儲器的寫入以及從非易失性存儲器的讀取以前所花費(fèi)的啟動時(shí)間。
【專利附圖】
【附圖說明】
[0020]圖1是示出根據(jù)應(yīng)用了本技術(shù)的實(shí)施例的電視(TV)的硬件的配置示例的框圖;
[0021]圖2是示出其功能通過CPU12執(zhí)行程序來實(shí)現(xiàn)的訪問控制單元的配置示例的框圖;
[0022]圖3是用于描述閃速存儲器16的配置示例的圖;
[0023]圖4是用于描述TU的圖;
[0024]圖5是用于描述邏輯物理轉(zhuǎn)換表和狀態(tài)圖的圖;
[0025]圖6是用于描述從閃速存儲器16讀取數(shù)據(jù)的圖;
[0026]圖7是用于描述將數(shù)據(jù)寫入閃速存儲器16的圖;
[0027]圖8是用于描述閃速存儲器16的折疊處理的圖;
[0028]圖9是用于描述邏輯物理轉(zhuǎn)換庫22進(jìn)行的表和圖創(chuàng)建處理的示例的流程圖;
[0029]圖10是用于描述將邏輯TU編號寫入物理TU的示例的圖;
[0030]圖11是用于描述當(dāng)采用全部編號寫入方法時(shí)從塊讀取管理信息的讀取模式的圖;
[0031]圖12是用于描述當(dāng)采用全部編號寫入方案時(shí)在表和圖創(chuàng)建處理中所執(zhí)行的管理信息讀取處理的流程圖;
[0032]圖13是示出在進(jìn)行格式化之后閃速存儲器16的狀態(tài)的示例的圖;
[0033]圖14是示出在對閃速存儲器16進(jìn)行格式化之后數(shù)據(jù)寫入一些物理TU的狀態(tài)的示例的圖;
[0034]圖15是用于描述將數(shù)據(jù)寫入閃速存儲器16的圖;
[0035]圖16是示出在對閃速存儲器16進(jìn)行格式化之后數(shù)據(jù)寫入進(jìn)行并接著一些塊變?yōu)閷懭胪瓿蓧K的狀態(tài)的示例的圖;
[0036]圖17是用于描述在緊接在對閃速存儲器16格式化和穩(wěn)定狀態(tài)之后的狀態(tài)下在表-圖創(chuàng)建處理期間讀取管理信息的圖;
[0037]圖18是示出當(dāng)從工廠出廠時(shí)安裝在TV中的閃速存儲器16時(shí)閃速存儲器16的狀態(tài)的示例的圖;
[0038]圖19是示出邏輯物理轉(zhuǎn)換庫22的功能配置示例的框圖;
[0039]圖20是示出當(dāng)寫入模式是后格式化模式時(shí)閃速存儲器16的狀態(tài)的示例的圖;
[0040]圖21是示出當(dāng)寫入模式從后格式化模式轉(zhuǎn)變?yōu)檎DJ綍r(shí)閃速存儲器16的狀態(tài)的示例的圖;
[0041]圖22是用于描述在正常模式下將數(shù)據(jù)寫入閃速存儲器16的寫入處理的示例的流程圖;
[0042]圖23是用于描述在后格式化模式下將數(shù)據(jù)寫入閃速存儲器16的寫入處理的示例的流程圖;
[0043]圖24是用于描述邏輯物理轉(zhuǎn)換庫22進(jìn)行的表和圖創(chuàng)建處理的示例的流程圖;
[0044]圖25是用于描述在后格式化模式下管理信息的讀取處理的示例的流程圖;
[0045]圖26是示出邏輯物理轉(zhuǎn)換庫22的另一功能配置示例的框圖;[0046]圖27是用于描述后格式化處理的圖;
[0047]圖28是用于描述執(zhí)行后格式化處理的時(shí)序的示例的圖;
[0048]圖29是示出在后格式化處理之后的閃速存儲器16的狀態(tài)的示例的圖;
[0049]圖30是用于描述邏輯物理轉(zhuǎn)換庫22執(zhí)行的后格式化處理的示例的流程圖;
[0050]圖31是示出應(yīng)用了本技術(shù)的存儲卡的實(shí)施例的硬件配置示例的框圖;以及
[0051]圖32是示出其功能通過CPUlOl執(zhí)行程序來實(shí)現(xiàn)的另一訪問控制單元的配置示例的框圖。
【具體實(shí)施方式】
[0052]下文中,將參照附圖詳細(xì)描述本公開的優(yōu)選實(shí)施例。注意,在該說明書和附圖中,具有基本上相同的功能和結(jié)構(gòu)的結(jié)構(gòu)元件用相同的附圖標(biāo)記表示,并且省略對這些結(jié)構(gòu)元件的重復(fù)說明。
[0053]<應(yīng)用了本技術(shù)的TV的實(shí)施例>
[0054]圖1是示出根據(jù)應(yīng)用了本技術(shù)的實(shí)施例的TV的硬件配置示例的框圖。
[0055]在圖1中,TV被配置為包括TV功能單元11、CPU (中央處理單元)12、ROM (只讀存儲器)13、RAM (隨機(jī)存取存儲器)14、硬盤15、閃速存儲器16、通信單元17和驅(qū)動器18,它們經(jīng)由總線彼此連接。
[0056]TV功能單元11具有負(fù)責(zé)TV的主要功能的調(diào)諧器、顯示器、揚(yáng)聲器等。
[0057]CPU12通過將存儲在R0M13、硬盤15和閃速存儲器16中的程序加載到RAM14上并執(zhí)行它們來對構(gòu)成TV的每個(gè)塊和各種處理進(jìn)行控制。
[0058]R0M13存儲CPU12執(zhí)行的程序和必需的數(shù)據(jù)。RAM14暫時(shí)存儲CPU12執(zhí)行的程序和必需的數(shù)據(jù)。在硬盤15上,記錄了 CPU12執(zhí)行的程序、必需的數(shù)據(jù)、TV功能單元11接收到的節(jié)目數(shù)據(jù)等。
[0059]閃速存儲器16例如是NAND閃速存儲器,并存儲當(dāng)關(guān)閉TV時(shí)需要保留的數(shù)據(jù)等。
[0060]通信單元17控制例如與諸如因特網(wǎng)的網(wǎng)絡(luò)之間的通信。
[0061]驅(qū)動器18被設(shè)計(jì)為使得可移除記錄介質(zhì)(例如,軟盤、⑶-ROM (致密盤只讀存儲器)、M0 (磁光)盤、DVD (數(shù)字通用盤)、磁盤、存儲卡等能夠裝載到其上或從其卸載。驅(qū)動器18驅(qū)動裝載在其上的可移除記錄介質(zhì)19,并接著對可移除記錄介質(zhì)19執(zhí)行數(shù)據(jù)的讀寫(讀取或?qū)懭?、或者兩?。
[0062]注意,CPU12執(zhí)行的程序可以預(yù)先安裝在R0M13、硬盤15和閃速存儲器16中。
[0063]另外,程序可以存儲(記錄)在可移除記錄介質(zhì)19中,并接著可以通過將可移除記錄介質(zhì)19裝載在驅(qū)動器18上來安裝在TV中。可移除記錄介質(zhì)19可以被提供作為所謂的封裝軟件。
[0064]另外,程序可以通過通信網(wǎng)絡(luò)或廣播網(wǎng)絡(luò)下載到TV上并接著安裝在內(nèi)置硬盤15中。換言之,程序可以通過用于數(shù)字衛(wèi)星廣播的衛(wèi)星以無線方式從下載站點(diǎn)傳送到TV,或者可以通過諸如LAN (局域網(wǎng))或因特網(wǎng)的網(wǎng)絡(luò)以有線方式傳送到TV。
[0065]在如上所述所配置的TV中,CPU12 (部分地)用作訪問控制單元,該訪問控制單元通過運(yùn)行安裝在硬盤15等中的OS (操作系統(tǒng))和其他程序)來控制對閃速存儲器16的訪問。[0066]〈訪問控制單元的配置示例〉
[0067]圖2是示出其功能通過圖1的CPU12執(zhí)行程序來實(shí)現(xiàn)的訪問控制單元的配置示例的框圖。
[0068]訪問控制單元是如下單元:其提供在圖1的CPU12通過執(zhí)行程序來提供的功能中控制對閃速存儲器16的訪問的功能,并且被配置為包括作為軟件的文件系統(tǒng)21、邏輯物理轉(zhuǎn)換庫22和閃速存儲器23。
[0069]文件系統(tǒng)21具有將關(guān)于裝置(在這種情況下為閃速存儲器16)的數(shù)據(jù)作為文件提供到應(yīng)用程序的功能。
[0070]另外,文件系統(tǒng)21指定稍后要描述的用于指定邏輯TU的邏輯TU編號,并且向邏輯物理轉(zhuǎn)換庫22提出用于從邏輯TU讀取數(shù)據(jù)以及將數(shù)據(jù)寫入邏輯TU的請求。
[0071]邏輯物理轉(zhuǎn)換庫22執(zhí)行稍后描述的用于將邏輯TU轉(zhuǎn)換為包括在閃速存儲器16中的物理TU的邏輯物理轉(zhuǎn)換處理,以及用于從物理TU讀取數(shù)據(jù)和將數(shù)據(jù)寫入物理TU的其他處理。
[0072]邏輯物理轉(zhuǎn)換庫22根據(jù)從文件系統(tǒng)21接收到的用于對被指定了邏輯TU編號的數(shù)據(jù)進(jìn)行讀寫的請求,將邏輯TU編號轉(zhuǎn)換為用于指定物理TU的物理TU編號,并且向閃速存儲器驅(qū)動器23提出用于從具有物理TU編號的物理TU讀取數(shù)據(jù)以及向其寫入數(shù)據(jù)的請求。
[0073]閃速存儲器驅(qū)動器23根據(jù)來自邏輯物理轉(zhuǎn)換庫22的用于對數(shù)據(jù)進(jìn)行讀取和寫入的請求來執(zhí)行數(shù)據(jù)從閃速存儲器16的物理TU的讀取以及數(shù)據(jù)向閃速存儲器16的物理TU的寫入。
[0074]<閃速存儲器16的概述>
[0075]圖3是用于描述圖1的閃速存儲器16的配置示例的圖。
[0076]閃速存儲器16 (具體地,存儲區(qū)域)包括多個(gè)(例如,數(shù)千個(gè))塊,并且每個(gè)塊包括多個(gè)頁面。
[0077]頁面是用于執(zhí)行數(shù)據(jù)向閃速存儲器16的寫入以及從閃速存儲器16的讀取的(最小)單位,并且塊是用于進(jìn)行擦除的單位。
[0078]因此,在閃速存儲器16中,用于進(jìn)行擦除的單位(塊)大于用于進(jìn)行數(shù)據(jù)讀取和寫入的單位(頁面)。
[0079]頁面具有數(shù)據(jù)區(qū)和擴(kuò)展區(qū)。在數(shù)據(jù)區(qū)中,寫入數(shù)據(jù)(實(shí)際數(shù)據(jù)),并且在擴(kuò)展區(qū)中,寫入輔助信息。
[0080]注意,用于指定塊的塊編號(例如,序號)被賦予各個(gè)塊。同樣地,用于指定頁面的頁面號(例如,序號)也被賦予構(gòu)成塊的各個(gè)頁面。
[0081]在閃速存儲器16中,應(yīng)該例如按照頁面號的升序?qū)?shù)據(jù)寫入塊中的頁面。因此,僅當(dāng)數(shù)據(jù)沒有被寫入塊B的頁面P的接下來的頁面(具有更高的頁面號的頁面)時(shí),可以執(zhí)行數(shù)據(jù)向包括在塊B中的頁面P的寫入。換言之,數(shù)據(jù)向塊B的寫入僅可以對塊B的已寫入數(shù)據(jù)的頁面中具有最高頁面號的頁面接下來的頁面執(zhí)行。
[0082]圖4是用于描述TU (變換單位)的圖。
[0083]TU是用于執(zhí)行將邏輯存儲區(qū)域轉(zhuǎn)換為物理存儲區(qū)域的邏輯物理轉(zhuǎn)換的單位,并且(圖2的)邏輯物理轉(zhuǎn)換庫22執(zhí)行邏輯物理轉(zhuǎn)換,從而以TU為單位向文件系統(tǒng)21提供對閃速存儲器16的訪問。
[0084]換言之,邏輯物理轉(zhuǎn)換庫22使得文件系統(tǒng)21能夠通過執(zhí)行用于將邏輯TU轉(zhuǎn)換為物理TU的邏輯物理轉(zhuǎn)換來以邏輯TU為單位訪問閃速存儲器16。
[0085]因此,邏輯TU是由文件系統(tǒng)21 (或由外部單元)判定的虛擬存儲區(qū)域而不是物理存在的存儲區(qū)域(地址空間)。文件系統(tǒng)21獨(dú)立于邏輯物理轉(zhuǎn)換庫22來控制(管理)(訪問)為由文件系統(tǒng)21判定的虛擬存儲區(qū)域的邏輯TU。
[0086]物理TU包括構(gòu)成塊的頁面中的一個(gè)或更多個(gè)頁面。物理TU與塊的大小的整數(shù)倒數(shù)一樣大并且為頁面的大小的整數(shù)倍,因此,塊包括其數(shù)量等于或低于構(gòu)成塊的頁面數(shù)的一個(gè)或更多個(gè)物理TU。
[0087]物理TU具有與構(gòu)成物理TU的頁面相同的配置。換言之,物理TU具有如圖3所描述的頁面的數(shù)據(jù)區(qū)和擴(kuò)展區(qū)。
[0088]物理TU的數(shù)據(jù)區(qū)對應(yīng)于頁面的數(shù)據(jù)區(qū)。在物理TU的數(shù)據(jù)區(qū)中,寫入數(shù)據(jù)(實(shí)際數(shù)據(jù))。
[0089]物理TU的擴(kuò)展區(qū)對應(yīng)于頁面的擴(kuò)展區(qū)。在物理TU的擴(kuò)展區(qū)中,寫入(存儲)用于管理對物理TU的訪問的管理信息。
[0090]管理信息包括序號和邏輯TU編號。
[0091]包括在管理信息中的序號是分配給具有寫入了管理信息的物理TU的塊的編號,表示在塊中寫入數(shù)據(jù)的順序(次序)。因此,通過參考每個(gè)塊的序號,可以識別寫入數(shù)據(jù)的塊的順序。
[0092]這里,假設(shè)具有較高序號的塊是較近寫入數(shù)據(jù)的塊。
[0093]包括在管理信息中的邏輯TU編號是被分配給寫入了管理信息的物理TU的邏輯TU的邏輯TU編號。
[0094]設(shè)定物理TU由具有連續(xù)編號的一個(gè)或更多個(gè)頁面構(gòu)成,并且用于指定物理TU的物理TU編號(地址,或者例如序號)被賦予物理TU。
[0095]另外,較低的物理TU編號被賦予包括具有較低頁面號的頁面的物理TU。
[0096]在這種情況下,當(dāng)如上所述應(yīng)該按頁面號的升序?qū)?shù)據(jù)寫入塊中的頁面時(shí),也應(yīng)該按物理TU編號的升序執(zhí)行數(shù)據(jù)向塊中的物理TU的寫入。
[0097]另外,可以將管理/[目息與入例如構(gòu)成物理TU的頁面中的最后一個(gè)頁面(具有最聞頁面號的頁面)。
[0098]〈邏輯物理轉(zhuǎn)換表和狀態(tài)圖〉
[0099]圖5是用于描述邏輯物理轉(zhuǎn)換表和狀態(tài)圖的圖。
[0100](圖2的)邏輯物理轉(zhuǎn)換庫22在啟動時(shí)(緊接在CPU12執(zhí)行作為軟件的邏輯物理轉(zhuǎn)換庫22之后)基于寫入(存儲在)閃速存儲器16的物理TU中的管理信息,來創(chuàng)建邏輯物理轉(zhuǎn)換表和狀態(tài)圖。
[0101]然后,邏輯物理轉(zhuǎn)換庫22參照邏輯物理轉(zhuǎn)換表和狀態(tài)圖來執(zhí)行數(shù)據(jù)從閃速存儲器16的讀取以及向閃速存儲器16的寫入。因此,在創(chuàng)建了邏輯物理轉(zhuǎn)換表和狀態(tài)圖之后,閃速存儲器16處于從其讀取數(shù)據(jù)以及向其寫入數(shù)據(jù)的狀態(tài)。
[0102]邏輯物理轉(zhuǎn)換表是用于獲得向其分配邏輯TU的物理TU的表。在邏輯物理轉(zhuǎn)換表中,與被分配了邏輯TU編號的物理TU編號相關(guān)聯(lián)地登記邏輯TU的邏輯TU編號。[0103]狀態(tài)圖是用于管理閃速存儲器16的每個(gè)物理TU的狀態(tài)的圖。在狀態(tài)圖中,登記了閃速存儲器16的物理TU的狀態(tài)和分配給包括物理TU的塊的序號。
[0104]這里,作為物理TU的狀態(tài),存在空白(CLEAN)、占用(INUSE)、污損(DIRTY)和缺損(DEFECT)四種狀態(tài)。
[0105]CLEAN表示在執(zhí)行了對包括物理TU的塊的擦除之后尚未寫入數(shù)據(jù)(包括管理信息)的寫入未執(zhí)行狀態(tài),并且INUSE表示寫入(存儲)了參考邏輯物理轉(zhuǎn)換表要讀取的有效數(shù)據(jù)的狀態(tài)。
[0106]DIRTY表示參考邏輯物理轉(zhuǎn)換表寫入尚未讀取的無效數(shù)據(jù)的狀態(tài),以及DEFECT表示包括物理TU的塊中存在缺損的狀態(tài)。
[0107]為了簡化描述,下文中,將不考慮物理TU的CLEAN、INUSE、DIRTY和DEFECT這四種狀態(tài)中的DEFECT。
[0108]當(dāng)將數(shù)據(jù)寫入閃速存儲器16的物理TU時(shí),邏輯物理轉(zhuǎn)換庫22將管理信息連同數(shù)據(jù)寫入物理TU。
[0109]如圖4所示,寫入物理TU中的管理信息包括表示將數(shù)據(jù)寫入具有被寫入了管理信息的物理TU的塊中的順序的序號以及分配給被寫入了管理信息的物理TU的邏輯TU的邏輯TU編號。
[0110]在圖5中,閃速存儲器16具有四個(gè)塊,并且每個(gè)塊均包括四個(gè)物理TU。
[0111]換言之,當(dāng)具有塊編號i的塊也由塊#1表示并且具有物理TU編號i的物理TU頁面也由物理TU#i表示時(shí),在圖5中,閃速存儲器16具有塊#0、#1、#2和#3,并且塊#i由物理TU#41、物理TU#4i+l、物理TU#4i+2和物理物理TU#4i+3構(gòu)成。
[0112]另外,在塊#0、#1、#2和#3的每個(gè)物理TU中,寫入管理信息,并且在塊#2的每個(gè)物理TU中,未寫入管理信息。因此,塊#0、塊#1和塊#3是在擦除之后已執(zhí)行寫入的寫入完成塊,并且塊#2是在擦除之后尚未執(zhí)行與入的與入未執(zhí)行塊。
[0113]在構(gòu)成寫入完成塊#0的物理TU#0至#3中的每個(gè)物理TU中,寫入x+1作為序號,并且在構(gòu)成寫入完成塊#1的物理TU#4至#7中的每個(gè)物理TU中,寫入Χ+2作為序號。另夕卜,在構(gòu)成寫入完成塊#3的物理TU#12至#15中的每個(gè)物理TU中,寫入X作為序號。
[0114]基于上述序號,可以識別出在寫入完成塊#0、#1和#3中執(zhí)行寫入的順序是塊#3、#0和#1的順序。
[0115]另外,在圖5中,在構(gòu)成寫入完成塊#0的物理TU#0至#3中,寫入5、4、1和4作為邏輯TU編號,并且在構(gòu)成寫入完成塊#1的物理TU#4至#7中,寫入1、6、0和7作為邏輯TU編號。另外,在構(gòu)成寫入完成塊#3的物理TU#12至#15中,寫入7、2、3和5作為邏輯TU編號。
[0116]這里,如果設(shè)定了具有邏輯TU編號i的邏輯TU也由邏輯TWi表示,則將例如邏輯TU#0僅分配給圖5的管理信息中的物理TU#6。
[0117]在這種情況下,將邏輯τυ#ο (的作為邏輯TU編號的O)與物理TU#6 (的作為物理TU編號的6)相關(guān)聯(lián)地登記在邏輯物理轉(zhuǎn)換表中,如圖5所示。
[0118]另外,在狀態(tài)圖中,表示寫入了有效數(shù)據(jù)的INUSE被登記為物理TU#6的狀態(tài),以及作為包括物理TU#6的塊#1的序號的χ+2被登記為物理TU#6的序號。
[0119]另外,在圖5的管理信息中,例如,邏輯TU#4被分配給物理TU#1和物理TU#3的多個(gè)(兩個(gè))單位。
[0120]被分配了邏輯TU#4的物理TU#1和物理TU#3包括在同一塊#0中,然而,在塊中所包括的物理TU中,按物理TU編號的升序執(zhí)行寫入。根據(jù)寫入規(guī)則,可以認(rèn)識到,在將期望寫入邏輯TW4中(當(dāng)由文件系統(tǒng)21判定時(shí))的數(shù)據(jù)寫入物理TUtn中之后,將期望寫入邏輯TU#4中(當(dāng)由文件系統(tǒng)21判定時(shí))的數(shù)據(jù)寫入(重寫入)物理TU#3中。
[0121]因此,可以認(rèn)識到,作為寫入邏輯TU#4中的舊數(shù)據(jù)的無效數(shù)據(jù)被寫入物理TU#1中,并且作為寫入邏輯TU#4中的最新數(shù)據(jù)的有效數(shù)據(jù)被寫入物理TU#3中。
[0122]結(jié)果,如圖5所示,被寫入了有效數(shù)據(jù)的物理TU#3與邏輯TW4相關(guān)聯(lián)地登記在邏輯物理轉(zhuǎn)換表中。
[0123]另外,在狀態(tài)圖中,表示寫入了無效數(shù)據(jù)的DIRTY被登記為物理TU#1的狀態(tài),以及表示寫入了有效數(shù)據(jù)的INUSE被登記為物理TU#3的狀態(tài)。
[0124]另外,在狀態(tài)圖中,作為物理TU#1和物理TU#3的序號,登記了作為包括物理TU#1和物理TU#3的塊#0的序號的x+1。
[0125]在圖5的管理信息中,例如邏輯TU#7被分配給物理TU#7和物理TU#12的多個(gè)(兩個(gè))單位。
[0126]被分配了邏輯TU#7的物理TU#7和物理TU#12分別包括在塊#1和塊#3中,然而,由于物理TU的序號是X+2,并且物理TU#12的序號是X,因此認(rèn)識到,將期望寫入邏輯TU#7中的數(shù)據(jù)寫入物理TU#12中,并接著將期望寫入邏輯TU#7中的數(shù)據(jù)寫入(重寫入)物理TU#7中。
[0127]因此,可以認(rèn)識到,作為寫入邏輯TU#7中的舊數(shù)據(jù)的無效數(shù)據(jù)被寫入物理TU#12中,并且作為寫入邏輯TU#7中的最新數(shù)據(jù)的有效數(shù)據(jù)被寫入物理TU#7中。
[0128]結(jié)果,如圖5所示,被寫入了有效數(shù)據(jù)的物理TU#7與邏輯TU#7相關(guān)聯(lián)地登記在邏輯物理轉(zhuǎn)換表中。
[0129]另外,在狀態(tài)圖中,表示寫入了有效數(shù)據(jù)的INUSE被登記為物理TU#7的狀態(tài),并且表示寫入了無效數(shù)據(jù)的DIRTY被登記為物理TU#12的狀態(tài)。
[0130]另外,在狀態(tài)圖中,作為包括物理TU#7的塊#1的序號的χ+2被登記為物理TU#7的序列。登記作為包括物理TU#12的塊#3的序號的X作為物理τυ#ι2的序號。
[0131]下文中,(圖2的)邏輯物理轉(zhuǎn)換庫22基于寫入閃速存儲器16的物理TU中的管理信息來創(chuàng)建邏輯物理轉(zhuǎn)換表和狀態(tài)圖(登記關(guān)于邏輯物理轉(zhuǎn)換表和狀態(tài)圖的信息)。
[0132]注意,在圖5中,針對未寫入管理信息的物理TU#8至#11在狀態(tài)圖中登記表示未執(zhí)行寫入的CLEAN。
[0133]另外,邏輯物理轉(zhuǎn)換表和狀態(tài)圖存儲在例如(圖1的)RAM14中。〈從閃速存儲器16讀取數(shù)據(jù)>
[0134]圖6是用于描述數(shù)據(jù)從閃速存儲器16的讀取的圖。
[0135]當(dāng)存在來自文件系統(tǒng)21的用于讀取被指定了邏輯TU編號的數(shù)據(jù)的請求時(shí),(圖2的)邏輯物理轉(zhuǎn)換庫22參考邏輯物理轉(zhuǎn)換表將來自文件系統(tǒng)21的邏輯TU (或其編號)轉(zhuǎn)換為分配了邏輯TU的物理TU (或其編號),并接著向閃速存儲器驅(qū)動器23提出用于從物理TU讀取數(shù)據(jù)的請求。
[0136]在圖6中,從文件系統(tǒng)21提出用于從邏輯TWl讀取數(shù)據(jù)的請求。然后,認(rèn)識到,參考邏輯物理轉(zhuǎn)換表將邏輯τυ#1分配給物理TU#4,并且物理TU#4讀取數(shù)據(jù)。
[0137]<將數(shù)據(jù)寫入閃速存儲器16>
[0138]圖7是用于描述將數(shù)據(jù)寫入閃速存儲器16的圖。
[0139]當(dāng)存在來自文件系統(tǒng)21的用于寫入被指定了邏輯TU編號的數(shù)據(jù)的請求時(shí),(圖2的)邏輯物理轉(zhuǎn)換庫22參考狀態(tài)圖識別寫入未執(zhí)行的物理TU (其狀態(tài)為CLEAN),并接著將請求寫入的數(shù)據(jù)(下文中,也稱為寫入目標(biāo)數(shù)據(jù))寫入物理TU中。
[0140]另外,在被寫入了寫入目標(biāo)數(shù)據(jù)的物理TU中,邏輯物理轉(zhuǎn)換庫22寫入被分配給包括物理TU的塊的序號和由文件系統(tǒng)21指定的邏輯TU編號作為管理信息的一部分。
[0141]換言之,具有由文件系統(tǒng)21指定的邏輯TU編號的邏輯TU被分配給被寫入了寫入目標(biāo)數(shù)據(jù)的物理TU,并且被分配給物理TU的邏輯TU的邏輯TU編號寫入被寫入了寫入目標(biāo)數(shù)據(jù)的物理TU中,作為管理信息的一部分。
[0142]另外,邏輯物理轉(zhuǎn)換庫22更新邏輯物理轉(zhuǎn)換表和狀態(tài)圖,以使得寫入被寫入了寫入目標(biāo)數(shù)據(jù)的物理TU中的管理信息反映在其上。
[0143]在圖7中,文件系統(tǒng)21提出用于將數(shù)據(jù)寫入邏輯TU#0的請求。
[0144]在圖7中,在邏輯物理轉(zhuǎn)換表中,邏輯TiMO與物理TU#6相關(guān)聯(lián),然而,在邏輯物理轉(zhuǎn)換庫22中,邏輯TU#0被分配給例如在可以參照狀態(tài)圖識別的寫入未執(zhí)行的物理TU中的物理TU#8,并且期望寫入邏輯TWO中的寫入目標(biāo)數(shù)據(jù)連同管理信息一起被寫入其中。
[0145]如上所述,當(dāng)寫入目標(biāo)數(shù)據(jù)和管理信息被寫入寫入未執(zhí)行的物理TU#8中時(shí),寫入與邏輯TWO相關(guān)聯(lián)的物理TU#6中的數(shù)據(jù)在邏輯物理轉(zhuǎn)換表中變?yōu)闊o效數(shù)據(jù)。
[0146]然后,在圖7中,更新邏輯物理轉(zhuǎn)換表以使得邏輯TWO與被寫入了寫入目標(biāo)數(shù)據(jù)的物理TU#8相關(guān)聯(lián)。
[0147]<閃速存儲器16的折疊處理>
[0148]圖8是用于描述閃速存儲器16的折疊處理的圖。
[0149]如圖7所示,通過將數(shù)據(jù)寫入寫入未執(zhí)行的物理TU中并將請求了數(shù)據(jù)寫入的邏輯TU分配給物理TU,在閃速存儲器16中執(zhí)行數(shù)據(jù)向邏輯TU的寫入。
[0150]結(jié)果,由于寫入被分配了邏輯TU的物理TU的數(shù)據(jù)在將數(shù)據(jù)寫入邏輯TU期間變?yōu)闊o效數(shù)據(jù),因此隨著數(shù)據(jù)向閃速存儲器16的寫入進(jìn)行(寫入次數(shù)增加),被寫入了無效數(shù)據(jù)的物理TU的數(shù)量增加,并且寫入未執(zhí)行的物理TU的數(shù)量減少。
[0151]另一方面,由于在閃速存儲器16中僅可以以塊為單位執(zhí)行數(shù)據(jù)(包括管理信息)的擦除,因此當(dāng)被寫入了有效數(shù)據(jù)的物理TU (狀態(tài)為INUSE的物理TU)(下文中,也稱為有效物理TU)存在于塊中時(shí),即使塊包括被寫入了無效數(shù)據(jù)的物理TU(狀態(tài)為DIRTY的物理TU)(下文中,也稱為無效物理TU)也難以擦除無效數(shù)據(jù)。
[0152]因此,(圖2的)邏輯物理轉(zhuǎn)換庫22執(zhí)行被稱為折疊處理的以下處理,以便減少無效物理TU的數(shù)量并增加寫入未執(zhí)行的物理TU的數(shù)量(或者保持某一數(shù)量或以上的寫入未執(zhí)行的物理TU)。
[0153]如圖8所示,在折疊處理中,寫入有效物理TU中的數(shù)據(jù)(有效數(shù)據(jù))被寫入(復(fù)制至IJ)寫入未執(zhí)行的物理TU中,使得塊僅包括有效物理TU。
[0154]通過將寫入有效物理TU中的數(shù)據(jù)寫入該寫入未執(zhí)行物理TU中,原始物理TU (曾有效的物理TU)變?yōu)闊o效物理TU。然后,當(dāng)塊變?yōu)閮H包括無效物理TU時(shí),擦除僅包括無效物理TU的塊(中寫入的無效數(shù)據(jù))。
[0155]在圖8中,在構(gòu)成塊#i的物理TU# j至# j+3中,物理TU# j和物理TU# j+3被設(shè)置為有效物理TU,并且物理TU#j+l和物理TU#j+2被設(shè)置為無效物理TU。另外,在構(gòu)成作為另一塊的塊#i ’的物理TWj ’至#j ’ +3中,物理TWj ’被設(shè)置為有效物理TU,并且物理TWj ’ +1至#j’ +3被設(shè)置為寫入未執(zhí)行的物理TU。
[0156]然后,在構(gòu)成塊#i的物理TWj至#j+3當(dāng)中,寫入有效物理TWj和物理TU#j+3中的數(shù)據(jù)被寫入構(gòu)成塊#i’的寫入未執(zhí)行的物理TU#j’ +1和物理TWj ’ +2中的每一個(gè)中,相應(yīng)地,曾經(jīng)有效的物理TWj和物理TU#j+3變?yōu)闊o效物理TU,并且尚未執(zhí)行寫入的物理Tmy +1和物理#y +2變?yōu)橛行锢恙应浴?br>
[0157]另外,隨著曾經(jīng)有效的物理TWj和物理TU#j+3變?yōu)闊o效物理TU,構(gòu)成塊#i的所有物理TWj至#j+3變?yōu)闊o效物理TU,相應(yīng)地,擦除包括這樣的無效物理TU的塊#i (的數(shù)據(jù)),然后,塊#1變?yōu)閷懭胛磮?zhí)行的塊?!幢砗蛨D創(chuàng)建處理〉
[0158]圖9是用于描述圖2的邏輯物理轉(zhuǎn)換庫22執(zhí)行的用于創(chuàng)建邏輯物理轉(zhuǎn)換表和狀態(tài)圖的處理的示例的流程圖。
[0159]當(dāng)CPU12運(yùn)行邏輯物理轉(zhuǎn)換庫22時(shí),邏輯物理轉(zhuǎn)換庫22確保用于將邏輯物理轉(zhuǎn)換表和狀態(tài)圖存儲在(圖1的)RAM14中的區(qū)域,并接著執(zhí)行表和圖創(chuàng)建處理。
[0160]在表和圖創(chuàng)建處理中,在步驟Sll中,邏輯物理轉(zhuǎn)換庫22經(jīng)由閃速存儲器驅(qū)動器23從閃速存儲器16的每個(gè)物理TU的擴(kuò)展區(qū)讀取管理信息,然后,處理進(jìn)行到步驟S12。
[0161]在步驟S12中,邏輯物理轉(zhuǎn)換庫22從閃速存儲器16具有的物理TU中選擇尚未被選擇為要注意的關(guān)注物理TU的物理TU中的一個(gè),然后,處理進(jìn)行到步驟S13。
[0162]在步驟S13中,邏輯物理轉(zhuǎn)換庫22基于從關(guān)注物理TU讀取的管理信息來確定邏輯TU是否被分配給關(guān)注物理TU。
[0163]當(dāng)在步驟S13中確定邏輯TU未被分配關(guān)注物理TU時(shí),換言之,當(dāng)管理信息未被寫入關(guān)注物理TU中從而關(guān)注物理TU是寫入未執(zhí)行的物理TU時(shí),處理進(jìn)行到步驟S14,并且邏輯物理轉(zhuǎn)換庫22將作為關(guān)注物理TU的狀態(tài)的CLEAN登記到狀態(tài)圖,然后,處理進(jìn)行到步驟S22。
[0164]另外,當(dāng)在步驟S13中確定邏輯TU被分配給關(guān)注物理TU時(shí),換言之,當(dāng)包括被分配給關(guān)注物理TU的邏輯TU的邏輯TU編號的管理信息被寫入關(guān)注物理TU中從而關(guān)注物理TU是INUSE或DIRTY的物理TU (下文中,也稱為寫入完成的物理TU)時(shí),處理進(jìn)行到步驟S15,并且邏輯物理轉(zhuǎn)換庫22確定物理TU編號是否已與分配給關(guān)注物理TU的邏輯TU編號相關(guān)聯(lián)地登記在邏輯物理轉(zhuǎn)換表中。
[0165]在步驟S15中,當(dāng)確定物理TU編號未被以與分配給關(guān)注物理TU的邏輯TU編號相關(guān)聯(lián)的形式登記到邏輯物理轉(zhuǎn)換表中時(shí),處理進(jìn)行到步驟S16,然后,邏輯物理轉(zhuǎn)換庫22通過將關(guān)注物理TU的物理TU編號與分配給關(guān)注物理TU的邏輯TU編號相關(guān)聯(lián)來將關(guān)注物理TU的物理TU編號(關(guān)注物理TU編號)登記到邏輯物理轉(zhuǎn)換表中,然后,處理進(jìn)行到步驟S17。
[0166]在步驟S17中,邏輯物理轉(zhuǎn)換庫22將作為關(guān)注物理TU的狀態(tài)的INUSE登記在狀態(tài)圖上,并且處理進(jìn)行到步驟S22。
[0167]另外,當(dāng)在步驟S15中確定物理TU編號與被分配給關(guān)注物理TU的邏輯TU編號已相關(guān)聯(lián)地登記到邏輯物理轉(zhuǎn)換表中時(shí),處理進(jìn)行到步驟S18,然后,邏輯物理轉(zhuǎn)換庫22確定將數(shù)據(jù)寫入關(guān)注物理TU中是否晚于將數(shù)據(jù)寫入另一物理TU(下文中,也被稱為所登記的分配有同一邏輯TU編號的物理TU)中,其中該另一物理TU的物理TU編號與被分配給關(guān)注物理TU的邏輯TU編號相關(guān)聯(lián)地登記到邏輯物理轉(zhuǎn)換表中。
[0168]這里,如圖5所示,可以基于用于按物理TU編號的升序執(zhí)行寫入的寫入規(guī)則以及塊中的物理TU的序號來確定將數(shù)據(jù)寫入關(guān)注物理TU中是否晚于將數(shù)據(jù)寫入所登記的分配有同一邏輯TU編號的物理TU中。
[0169]當(dāng)在步驟S18中確定將數(shù)據(jù)寫入關(guān)注物理TU中晚于將數(shù)據(jù)寫入所登記的分配有同一邏輯TU編號的物理TU中時(shí),處理進(jìn)行到步驟S19,然后,邏輯物理轉(zhuǎn)換庫22將關(guān)注物理TU的物理TU編號與被分配給關(guān)注物理TU的邏輯TU編號相關(guān)聯(lián)地登記,而不是所登記的分配有同一邏輯TU編號的物理TU,然后,處理進(jìn)行到步驟S20。
[0170]在步驟S20中,邏輯物理轉(zhuǎn)換庫22將INUSE作為關(guān)注物理TU的狀態(tài)登記到狀態(tài)圖上,并且還將DIRTY登記為所登記的分配有同一邏輯TU編號的物理TU的狀態(tài),然后,處理進(jìn)行到步驟S22。
[0171]另外,當(dāng)在步驟S18中確定將數(shù)據(jù)寫入關(guān)注物理TU中不晚于將數(shù)據(jù)寫入所登記的分配有同一邏輯TU編號的物理TU中時(shí),處理進(jìn)行到步驟S21,然后,邏輯物理轉(zhuǎn)換庫22將DIRTY作為關(guān)注物理TU的狀態(tài)登記到狀態(tài)圖上,接著,處理進(jìn)行到步驟S22。
[0172]在步驟S22中,邏輯物理轉(zhuǎn)換庫22確定是否閃速存儲器16的所有物理TU被選擇作為關(guān)注物理TU。
[0173]在步驟S22中,當(dāng)確定閃速存儲器16的物理TU中存在尚未被選擇作為關(guān)注物理TU的物理TU時(shí),處理返回到步驟S12,并且重復(fù)相同的步驟。
[0174]另外,在步驟S22中,當(dāng)確定閃速存儲器16的所有物理TU被選擇作為關(guān)注物理TU時(shí),表和圖創(chuàng)建處理結(jié)束。
[0175]注意,邏輯轉(zhuǎn)換表和狀態(tài)圖存儲在RAM14中,并且當(dāng)關(guān)閉圖1的TV時(shí),存儲在RAM14中的邏輯物理轉(zhuǎn)換表和狀態(tài)圖丟失。由于該原因,每次打開TV和CPU12執(zhí)行邏輯物理轉(zhuǎn)換庫22時(shí),邏輯物理轉(zhuǎn)換庫22執(zhí)行表和圖創(chuàng)建處理以創(chuàng)建(重新創(chuàng)建)邏輯物理轉(zhuǎn)換表和狀態(tài)圖。
[0176]這里,由于在圖9的表和圖創(chuàng)建處理的步驟S12至S22中,針對每個(gè)物理TU將包括在閃速存儲器16中的各物理TU的信息登記在邏輯物理轉(zhuǎn)換表和狀態(tài)圖中,因此下文中也將步驟S12至S22的處理稱為信息登記處理。
[0177]<將邏輯TU編號寫入物理TU中〉
[0178]圖10是用于描述將邏輯TU編號作為管理信息寫入物理TU中的示例的圖。
[0179]如圖7所述,在將數(shù)據(jù)寫入閃速存儲器16期間,不僅將寫入目標(biāo)數(shù)據(jù)寫入物理TU中,而且將被分配給物理TU的邏輯TU的邏輯TU編號作為管理信息(的一部分)寫入其中。
[0180]這里,當(dāng)將被分配給物理TU的邏輯TU的僅邏輯TU編號作為管理信息寫入物理TU中時(shí),在表和圖創(chuàng)建處理中針對塊的所有物理TU應(yīng)該執(zhí)行對其中所有物理TU中的寫入完成的塊中的管理信息的讀取,這需要時(shí)間。
[0181]因此,在將邏輯TU編號寫入物理TU中,例如在構(gòu)成塊的物理TU中執(zhí)行最后的寫入的物理TU中時(shí),不僅可以寫入被分配給物理TU的邏輯TU的邏輯TU編號,而且還可以寫入被分配給構(gòu)成塊的其他物理TU的邏輯TU的所有邏輯TU編號。
[0182]在這種情況下,在該塊中,被分配給包括在塊中的各物理TU的邏輯TU的所有邏輯TU編號被寫入被執(zhí)行了最后的寫入的物理TU中。
[0183]換言之,如圖10所示,例如,當(dāng)塊包括四個(gè)物理TU#n至#n+3并且如圖4所述按物理TU編號的升序順序?qū)?shù)據(jù)寫入該塊的物理TU中時(shí),在執(zhí)行了第一次寫入的物理TU#n(其具有最小物理TU編號)中,寫入數(shù)據(jù)并且寫入被分配給物理TWn的(邏輯TU的)邏輯TU編號。
[0184]然后,在執(zhí)行第二次寫入的物理TU#n+l (其具有第二小物理TU編號)中,寫入數(shù)據(jù)并且寫入被分配給物理TU#n+l的邏輯TU編號,接下來,在執(zhí)行了第三次寫入的物理TU#n+2中,寫入數(shù)據(jù)并且寫入被分配給物理TU#n+2的邏輯TU編號。
[0185]另外,在執(zhí)行最后的寫入的物理TU#n+3 (其具有最大物理TU編號)中,寫入數(shù)據(jù)并寫入被分配給物理TU#n+3的邏輯TU編號和被分配給塊中的物理TU#n至#n+2的所有邏輯TU編號。
[0186]在圖10中,邏輯TU編號O至3被分配給構(gòu)成塊的物理TWn至#n+3,并且出于該原因,作為分別被分配給物理TU#n至#n+3的邏輯TU編號的O至3中的全部被寫入執(zhí)行最后的寫入的物理TU#n+3中。
[0187]這里,如上所述,如下方法也稱為全部編號寫入方法:該方法用于當(dāng)邏輯TU (或其編號)被分配給構(gòu)成塊的所有物理TU時(shí),將分配給構(gòu)成塊的物理TU的所有邏輯TU編號寫入預(yù)定物理TU,比如在構(gòu)成塊的物理TU中執(zhí)行最后的寫入的物理TU。
[0188]在全部編號寫入方法中,當(dāng)邏輯TU (或其編號)被分配給構(gòu)成塊的物理TU時(shí),將被分配給構(gòu)成塊的物理TU的所有邏輯TU編號寫入構(gòu)成塊的物理TU中執(zhí)行最后的寫入的物理TU中。
[0189]另外,由于作為管理信息寫入構(gòu)成塊的物理TU中的序號是分配給塊的序號,因此寫入塊中的物理TU中的序號是相同的。
[0190]因此,當(dāng)采用全部編號寫入方法并且將邏輯TU (或其編號)分配給構(gòu)成塊的所有物理TU時(shí),在表和圖創(chuàng)建處理中僅通過從構(gòu)成塊的物理TU中最后執(zhí)行寫入的物理TU讀取管理信息,就可以針對每個(gè)物理TU識別被分配給構(gòu)成塊的每個(gè)物理TU的邏輯TU (或其編號)和序號,而無需從其他物理TU讀取管理信息。
[0191]結(jié)果,可以減少在表和圖創(chuàng)建處理中讀取管理信息的時(shí)間,并且進(jìn)一步地,在(圖2的)訪問控制單元中可以縮短在從閃速存儲器16讀取數(shù)據(jù)以及將數(shù)據(jù)寫入閃速存儲器16以前所花費(fèi)的啟動時(shí)間。
[0192]圖11是用于描述當(dāng)采用全部編號寫入方法時(shí)從塊讀取管理信息的讀取模式的圖。
[0193]當(dāng)采用全部編號寫入方法時(shí)并且當(dāng)構(gòu)成塊的所有物理TU是寫入完成物理TU (處于INUSE或DIRTY狀態(tài)的物理TU)時(shí),換言之,當(dāng)邏輯TU (或其編號)被分配給構(gòu)成塊的所有物理TU時(shí),分配給構(gòu)成塊的物理TU的所有邏輯TU編號被寫入執(zhí)行最后的寫入的物理TU,從而可僅從執(zhí)行最后的寫入的物理TU讀取管理信息。
[0194]另一方面,當(dāng)僅部分物理TU而不是構(gòu)成塊的所有物理TU是寫入完成物理TU時(shí),不將管理信息寫入塊中執(zhí)行最后的寫入的物理TU (下文中,也稱為最后物理TU)中,而僅將管理信息寫入寫入完成物理TU中。
[0195]因此,當(dāng)僅部分物理TU而不是構(gòu)成塊的所有物理TU是寫入完成物理TU時(shí),換言之,當(dāng)最后物理TU是寫入未執(zhí)行的物理TU時(shí),需要從構(gòu)成塊的物理TU中的寫入完成物理TU讀取管理信息。
[0196]另外,當(dāng)按物理TU編號的升序?qū)?shù)據(jù)寫入塊的物理TU中時(shí),按作為寫入順序的物理TU編號的升序從寫入完成物理TU讀取管理信息是高效的。
[0197]基于以上描述,當(dāng)采用全部編號寫入方法時(shí),邏輯物理轉(zhuǎn)換庫22首先針對每個(gè)塊從最后物理TU讀取管理信息,而當(dāng)管理信息未被寫入最后物理TU中時(shí),按作為寫入順序的物理TU編號的升序從物理TU讀取管理信息。
[0198]出于該原因,當(dāng)采用了全部編號寫入方法時(shí),對于從塊讀取管理信息的模式,存在如圖11所示的讀取模式#1、#2和#3這三種模式。
[0199]讀取模式#1是當(dāng)構(gòu)成塊的所有物理TU是寫入完成的物理TU(處于INUSE或DIRTY狀態(tài)的物理TU)時(shí)的讀取模式,換言之,當(dāng)邏輯TU (或其編號)被分配給構(gòu)成塊的所有物理TU時(shí)的讀取模式。
[0200]在這種情況下,由于分配給構(gòu)成塊的物理TU的所有邏輯TU編號被寫入塊的最后物理TU中,因此可僅從執(zhí)行最后的寫入的物理TU讀取管理信息。
[0201]因此,在讀取模式#1中,當(dāng)可以從塊的最后物理TU讀取管理信息時(shí),完成從構(gòu)成塊的物理TU讀取管理信息。
[0202]讀取模式#2是當(dāng)僅部分物理TU而不是構(gòu)成塊的全部物理TU是寫入完成的物理TU時(shí)的模式。
[0203]當(dāng)僅部分物理TU而不是構(gòu)成塊的全部物理TU是寫入完成的物理TU時(shí),由于管理信息未被寫入塊的最后物理TU中,因此不可能從最后物理TU讀取管理信息。
[0204]出于該原因,在讀取模式#2中,在從塊的最后物理TU讀取管理信息之后,按物理TU編號的升序開始從物理TU讀取管理信息。
[0205]然后,在讀取模式#2中,在不再可以從物理TU讀取管理信息以前,換言之,在從未被寫入管理信息的物理TU讀取管理信息以前,按物理TU編號的升序從物理TU讀取管理信肩、O
[0206]讀取模式#3是當(dāng)構(gòu)成塊的所有物理TU是寫入未執(zhí)行的物理TU時(shí)的讀取模式。
[0207]當(dāng)構(gòu)成塊的所有物理TU是寫入未執(zhí)行的物理TU時(shí),管理信息未被寫入包括塊的最后物理TU的所有物理TU中,從而不能從最后物理TU讀取管理信息。
[0208]出于該原因,在讀取模式#3中,以與在讀取模式#2中相同的方式,在從塊的最后的物理TU讀取管理信息之后,按物理TU編號的升序開始從物理TU讀取管理信息。
[0209]然而,當(dāng)構(gòu)成塊的所有物理TU是寫入未執(zhí)行的物理TU時(shí),管理信息未被寫入塊中執(zhí)行第一次寫入的物理TU (在這種情況下,是塊中具有最小物理TU編號的物理TU)(下文中,也稱為第一個(gè)物理TU)中。
[0210]出于該原因,在讀取模式#3中,在按物理TU編號的升序開始從物理TU讀取管理信息之后,不可能從要針對其首先執(zhí)行管理信息的讀取的第一個(gè)物理TU讀取管理信息,此時(shí),完成從構(gòu)成塊的物理TU讀取管理信息。
[0211]從塊讀取管理信息所需的時(shí)間在讀取模式#1下最短并且在讀取模式#3下第二短??梢詮膲K的所有物理TU讀取管理信息(可以嘗試讀取管理信息)的讀取模式#2需要用于從塊讀取管理信息的最長時(shí)間。
[0212]〈管理信息的讀取〉
[0213]圖12是用于描述當(dāng)采用全部編號寫入方法時(shí)在圖9的表-圖創(chuàng)建處理的步驟Sll中執(zhí)行的從物理TU讀取管理信息的處理(下文中,也稱為管理信息讀取處理)的流程圖。
[0214]在管理信息讀取處理中,在步驟S31中,邏輯物理轉(zhuǎn)換庫22選擇閃速存儲器16具有的塊中尚未被選擇的一個(gè)塊作為要注意的關(guān)注塊,并且處理進(jìn)行到步驟S32。
[0215]在步驟S32,邏輯物理轉(zhuǎn)換庫22讀取關(guān)注塊的最后物理TU的管理信息,并且處理進(jìn)行到步驟S33。
[0216]在步驟S33中,邏輯物理轉(zhuǎn)換庫22確定是否尚未寫入關(guān)注塊的最后物理TU的管
理信息。
[0217]當(dāng)在步驟S33中確定未寫入關(guān)注塊的最后的物理TU的管理信息時(shí),換言之,當(dāng)管理信息被寫入關(guān)注塊的最后的物理TU中而未被讀取時(shí),處理進(jìn)行到步驟S34,然后,邏輯物理轉(zhuǎn)換庫22基于從關(guān)注塊的最后物理TU讀取的管理信息來將邏輯TU編號分配給關(guān)注塊的每一個(gè)物理TU,然后,處理進(jìn)行到步驟S40。
[0218]換言之,當(dāng)管理信息寫入關(guān)注塊的最后物理TU中時(shí),由于管理信息包括被分配給關(guān)注塊的每一個(gè)物理TU的邏輯TU的全部邏輯TU編號,因此在步驟S34中,基于管理信息來將包括在管理信息中的邏輯TU編號分配給關(guān)注塊的所有物理TU。
[0219]另一方面,當(dāng)在步驟S33中確定未寫入關(guān)注塊的最后物理TU的管理信息時(shí),換言之,當(dāng)從關(guān)注塊的最后物理TU讀取作為管理信息的所有信息片段是在擦除塊時(shí)所寫入的位串(例如,Oxff)時(shí),處理進(jìn)行到步驟S35,然后,邏輯物理轉(zhuǎn)換庫22選擇關(guān)注塊的物理TU中尚未被選擇作為關(guān)注物理TU的物理TU中較接近第一個(gè)物理TU的物理TU (具有較小物理TU編號的物理TU),作為關(guān)注物理TU,然后,處理進(jìn)行到步驟S36。
[0220]在步驟S36中,邏輯物理轉(zhuǎn)換庫22讀取關(guān)注物理TU的管理信息,并且處理進(jìn)行到步驟S37。
[0221]在步驟S37中,邏輯物理轉(zhuǎn)換庫22確定是否尚未寫入關(guān)注物理TU的管理信息。
[0222]在步驟S37中,當(dāng)確定未寫入關(guān)注物理TU的管理信息時(shí),換言之,當(dāng)從關(guān)注物理TU讀取作為管理信息的所有信息片段是在擦除塊時(shí)所寫入的位串(例如,OxfT)時(shí),不會將管理信息寫入關(guān)注塊中未寫入管理信息的關(guān)注物理TU之后的物理TU (具有較大物理TU編號的物理TU)中,從而,處理進(jìn)行到步驟S40,跳過執(zhí)行管理信息的讀取的步驟S35至S39的循環(huán)處理。
[0223]另外,在步驟S37中,當(dāng)確定寫入了關(guān)注物理TU的管理信息時(shí),換言之,當(dāng)將管理信息寫入關(guān)注物理TU中并讀取時(shí),處理進(jìn)行到步驟S38,然后,邏輯物理轉(zhuǎn)換庫22基于從關(guān)注物理TU讀取的管理信息來將包括在管理信息中的邏輯TU編號分配給關(guān)注物理TU,并且處理進(jìn)行到步驟S39。
[0224]在步驟S39中,邏輯物理轉(zhuǎn)換庫22確定關(guān)注物理TU是否是從關(guān)注塊的最后一個(gè)起的第二個(gè)物理TU (在最后的物理TU前一個(gè)的物理TU)。
[0225]在步驟S39中,當(dāng)確定關(guān)注物理TU不是從關(guān)注塊的最后一個(gè)起的第二個(gè)物理TU時(shí),換言之,當(dāng)除了關(guān)注塊的最后物理TU外的物理TU中存在尚未被選擇作為關(guān)注物理TU的物理TU時(shí),處理返回到步驟S35,并且此后重復(fù)步驟S35至S39的循環(huán)處理。
[0226]另外,在步驟S39中,當(dāng)確定關(guān)注物理TU是從關(guān)注塊的最后一個(gè)起的第二個(gè)物理TU時(shí),換言之,當(dāng)選擇除了關(guān)注塊的最后物理TU外的所有物理TU作為關(guān)注物理TU時(shí),處理進(jìn)行到步驟S40,并且邏輯物理轉(zhuǎn)換庫22確定是否選擇閃速存儲器16的所有塊作為關(guān)注塊。
[0227]在步驟S40中,當(dāng)確定閃速存儲器16的塊中存在尚未被選擇作為關(guān)注塊的塊時(shí),處理返回到步驟S31,并且此后重復(fù)相同的處理。
[0228]另外,在步驟S40中,確定閃速存儲器16的所有塊被選擇作為關(guān)注塊,管理信息讀取處理結(jié)束。
[0229]<閃速存儲器16的狀態(tài)>
[0230]圖13是示出在進(jìn)行格式化后閃速存儲器16的狀態(tài)的示例的圖。
[0231]邏輯物理轉(zhuǎn)換庫22根據(jù)來自外部的指令等對閃速存儲器16進(jìn)行格式化。
[0232]在對閃速存儲器16進(jìn)行格式化時(shí),邏輯物理轉(zhuǎn)換庫22分配邏輯TU (或編號)并將其作為管理信息的一部分寫入一個(gè)塊、例如閃速存儲器16的第一個(gè)塊(具有最小塊編號)的每一個(gè)物理TU中,使得可以識別出閃速存儲器16的格式化。
[0233]因此,緊接在進(jìn)行格式化之后,沒有將邏輯TU分配給除了閃速存儲器16的第一個(gè)塊的物理TU之外的物理TU,并且也沒有將管理信息寫入其中。
[0234]在圖13中,邏輯TWO至#3分別被分配給構(gòu)成閃速存儲器16的第一個(gè)塊的物理τυ#ο至#3,相應(yīng)地,物理τυ#ο至#3變?yōu)閷懭胪瓿傻奈锢恙应?(狀態(tài)為inuse或dirty的物理TU),并且其他物理TU是寫入未執(zhí)行的物理TU (狀態(tài)為CLEAN的物理TU)。
[0235]注意,考慮到物理TU的缺損,邏輯物理轉(zhuǎn)換庫22準(zhǔn)備與閃速存儲器16具有的物理TU的數(shù)量的95%或以上相對應(yīng)的數(shù)量的邏輯TU(或者將其提供給諸如文件系統(tǒng)21的外部單元等)。
[0236]當(dāng)存在用于讀取未被分配給物理TU的邏輯TU的請求時(shí),邏輯物理轉(zhuǎn)換庫22返回例如布置有Oxff的位串,只要作為位串的邏輯TU的大小表明寫入未執(zhí)行(擦除完成)即可。
[0237]圖14是示出在對閃速存儲器16格式化之后數(shù)據(jù)寫入一些物理TU中的狀態(tài)的示例的圖。
[0238]當(dāng)存在來自外部單元的用于將數(shù)據(jù)寫入邏輯TU中的請求時(shí),邏輯物理轉(zhuǎn)換庫22將數(shù)據(jù)寫入寫入未執(zhí)行的物理TU中,并且向其分配邏輯TU。
[0239]在圖14中,在進(jìn)行格式化之后,存在用于將數(shù)據(jù)寫入邏輯TU#4、邏輯TU#5和邏輯TU#6中的請求,根據(jù)該請求將數(shù)據(jù)寫入作為寫入未執(zhí)行的物理TU的物理TU#4、#5和#6中,并且分別向其分配邏輯TU#4、#5和#6。在將數(shù)據(jù)寫入物理TU#4期間,也寫入了包括分配給物理TU#4的邏輯TU#4的邏輯TU編號的管理信息。同樣適用于將數(shù)據(jù)寫入物理TU#5和#6。
[0240]圖15是用于描述將數(shù)據(jù)寫入閃速存儲器16的圖。
[0241]對閃速存儲器16的塊的重寫次數(shù)存在上限。出于該原因,如圖15所示,作為使得被寫入數(shù)據(jù)的塊不朝特定塊加權(quán)的耗損平衡,邏輯物理轉(zhuǎn)換庫22從寫入未執(zhí)行的塊隨機(jī)選擇被寫入數(shù)據(jù)的塊。
[0242]圖16是示出在對閃速存儲器16進(jìn)行格式化之后數(shù)據(jù)寫入進(jìn)行然后一些塊變?yōu)閷懭胪瓿蓧K的狀態(tài)的示例的圖。
[0243]在圖16中,閃速存儲器16的95%或以上的塊是寫入完成塊。另外,在寫入完成塊中的若干塊內(nèi),一些物理TU是寫入未執(zhí)行的物理TU,但在大多數(shù)剩余塊中,所有物理TU均是寫入未執(zhí)行的物理TU。
[0244]另外,在圖16中,百分之幾的塊是寫入未執(zhí)行的塊。
[0245]這里,在進(jìn)行格式化之后,在閃速存儲器16的幾乎所有塊中執(zhí)行了一次或更多次寫入之后閃速存儲器16的狀態(tài),換言之,與塊數(shù)的預(yù)定閾值(下文中,也稱為塊數(shù)的閾值)相對應(yīng)的數(shù)量的塊變?yōu)閷懭胪瓿蓧K的狀態(tài))也稱為穩(wěn)定狀態(tài)。
[0246]可以例如考慮到在閃速存儲器16的壽命中的缺陷塊的數(shù)量來確定塊數(shù)的閾值作為其規(guī)范。作為塊數(shù)的閾值,可以采用可以認(rèn)為是閃速存儲器16的幾乎所有塊數(shù)的值,例如,閃速存儲器16的塊數(shù)的95%的值。
[0247]在閃速存儲器16置于穩(wěn)定狀態(tài)之后,邏輯物理轉(zhuǎn)換庫22執(zhí)行如圖8所述的折疊處理,使得寫入未執(zhí)行塊不會消失并且寫入完成塊的數(shù)量保持在塊數(shù)的閾值的范圍內(nèi)。
[0248]結(jié)果,一旦閃速存儲器16置于穩(wěn)定狀態(tài),就保持穩(wěn)定狀態(tài),除非執(zhí)行了格式化。
[0249]圖17是用于描述在緊接在對閃速存儲器16格式化之后的狀態(tài)和穩(wěn)定狀態(tài)下在表和圖創(chuàng)建處理期間讀取管理信息的圖。
[0250]緊接在進(jìn)行格式化之后,僅閃速存儲器16的第一個(gè)塊是所有物理TU都是寫入完成的物理TU的塊,并且其他塊是寫入未執(zhí)行塊,如圖13所示。
[0251]因此,緊接在進(jìn)行格式化之后,僅在從第一個(gè)塊的最后物理TU讀取管理信息的(圖11的)讀取模式#1下,針對第一個(gè)塊執(zhí)行管理信息的讀取。
[0252]然而,對于剩余的寫入未執(zhí)行塊,換言之,除了閃速存儲器16的第一個(gè)塊之外的所有塊,在從塊的最后物理TU讀取管理信息并從塊的第一個(gè)物理TU讀取管理信息的(圖11的)讀取模式#2下執(zhí)行管理信息的讀取。
[0253]另一方面,如圖16所示,在穩(wěn)定狀態(tài)下,閃速存儲器16的大多數(shù)塊是所有物理TU是寫入完成的物理TU的塊。
[0254]因此,在穩(wěn)定狀態(tài)下,對于大多數(shù)塊,僅在從塊的最后物理TU讀取管理信息的(圖11的)讀取模式#1下執(zhí)行管理信息的讀取,并且對于剩余塊,在讀取模式#2和#3下執(zhí)行管理信息的讀取。
[0255]因此,盡管緊接在進(jìn)行格式化之后,針對閃速存儲器16的大多數(shù)塊,在僅從塊的最后物理TU讀取管理信息的讀取模式#1下執(zhí)行管理信息的讀取,但是針對除了閃速存儲器16的第一個(gè)塊外的所有塊,從該塊的最后物理TU讀取管理信息,并且接著在從塊的第一個(gè)物理TU讀取管理信息的讀取模式#2下執(zhí)行管理信息的讀取。
[0256]結(jié)果,與穩(wěn)定狀態(tài)下相比,緊接在進(jìn)行格式化之后,對于除了閃速存儲器16的第一個(gè)塊之外的所有塊,不僅由于從塊的最后物理TU讀取管理信息而且由于從塊的第一個(gè)物理TU讀取管理信息,執(zhí)行管理信息的讀取花費(fèi)了更多的時(shí)間。
[0257]換言之,通常,盡管在穩(wěn)定狀態(tài)下僅從閃速存儲器16的各塊的最后物理TU讀取管理信息,但是緊接在進(jìn)行格式化之后分別從閃速存儲器16的塊之中作為第一個(gè)塊和最后塊的兩個(gè)物理TU讀取管理信息,因此,緊接在進(jìn)行格式化之后讀取管理信息需要為在穩(wěn)定狀態(tài)下讀取管理信息所需的時(shí)間幾乎兩倍的時(shí)間。[0258]如上所述,由于緊接在進(jìn)行格式化之后讀取管理信息花費(fèi)的時(shí)間比在穩(wěn)定狀態(tài)下長,因此創(chuàng)建邏輯物理轉(zhuǎn)換表(表和圖創(chuàng)建處理)花費(fèi)的時(shí)間較長,結(jié)果,在可以從閃速存儲器16讀取數(shù)據(jù)以及將數(shù)據(jù)寫入閃速存儲器16以前的啟動時(shí)間(下文中,也稱為閃速存儲器啟動時(shí)間)變長。
[0259]圖18是示出當(dāng)從工廠出廠時(shí)安裝在(圖1的)TV中的閃速存儲器16的狀態(tài)的示例的圖。
[0260]當(dāng)閃速存儲器16出廠時(shí),TV的應(yīng)用程序等在閃速存儲器16被格式化之后作為安裝數(shù)據(jù)安裝在閃速存儲器16中,但仍然,僅例如大約百分之幾十的塊具有全部為寫入完成TU的物理TU,并且閃速存儲器16的大多數(shù)塊為寫入未執(zhí)行塊。
[0261]因此,在閃速存儲器出廠之后,在用戶用戶購買并使用TU以前閃速存儲器啟動時(shí)間長,然后,閃速存儲器16進(jìn)入穩(wěn)定狀態(tài)。
[0262]因此,本技術(shù)使得即使緊接在進(jìn)行格式化之后也如在穩(wěn)定狀態(tài)下一樣能夠縮短閃速存儲器啟動時(shí)間。
[0263]<邏輯物理轉(zhuǎn)換庫22的配置示例>
[0264]圖19是示出圖2的邏輯物理轉(zhuǎn)換庫22的功能配置示例的框圖。
[0265]在圖19中,邏輯物理轉(zhuǎn)換庫22具有讀寫控制單元31、創(chuàng)建單元32、存儲單元33和模式控制單元34。
[0266]讀寫控制單元31根據(jù)來自諸如文件系統(tǒng)21的外部單元的請求來控制經(jīng)由閃速存儲器驅(qū)動器23從閃速存儲器16讀取數(shù)據(jù)(包括管理信息)以及將數(shù)據(jù)(包括管理信息)寫入閃速存儲器16。
[0267]換言之,讀寫控制單元31根據(jù)來自諸如文件系統(tǒng)21的外部單元的請求來控制閃速存儲器驅(qū)動器23,以從閃速存儲器16讀取數(shù)據(jù)(包括管理信息)以及將數(shù)據(jù)(包括管理信息)寫入閃速存儲器16。
[0268]例如,根據(jù)來自文件系統(tǒng)21的用于寫入寫入目標(biāo)數(shù)據(jù)的請求,讀寫控制單元31將寫入目標(biāo)數(shù)據(jù)和管理信息寫入閃速存儲器16。
[0269]另外,例如,根據(jù)來自文件系統(tǒng)21的用于讀取數(shù)據(jù)的請求,讀寫控制單元31從閃速存儲器16讀取數(shù)據(jù),并將數(shù)據(jù)提供給文件系統(tǒng)21。
[0270]另外,讀寫控制單元31在啟動期間從閃速存儲器16讀取管理信息并將該信息提供至創(chuàng)建單元32。
[0271]另外,讀寫控制單元31從閃速存儲器16讀取順序信息,并將該信息提供至模式控制單元34。
[0272]這里,順序信息表示在將數(shù)據(jù)寫入閃速存儲器16期間要寫入數(shù)據(jù)的塊的順序,并且在例如對閃速存儲器16格式化期間寫入閃速存儲器16。
[0273]換言之,讀寫控制單元31在對閃速存儲器16格式化期間將邏輯TU (或編號)分配給閃速存儲器16的第一個(gè)塊的每個(gè)物理TU,并且將它們作為管理信息的一部分寫入其中,以使得可以識別閃速存儲器16的格式化,如圖13所述。
[0274]另外,當(dāng)在對閃速存儲器進(jìn)行格式化期間寫入包括向閃速存儲器16的第一個(gè)塊的每一個(gè)物理TU分配的邏輯TU編號的管理信息時(shí),讀寫控制單元31將順序信息作為管理信息的一部分寫入例如第一個(gè)塊的物理TU中在表和圖創(chuàng)建處理中首先被執(zhí)行了管理信息的讀取的物理TU,即第一個(gè)塊的最后物理TU中。
[0275]注意,采用可以根據(jù)預(yù)定規(guī)則確定的順序作為表示在格式化期間的順序信息,這些順序例如塊編號的升序或降序、或者每隔一個(gè)塊編號的順序,而不是隨機(jī)順序。
[0276]這里,為了便于簡化描述,例如,采用塊編號的升序作為表示在格式化期間的順序信息的順序。
[0277]創(chuàng)建單元32基于從讀寫控制單元31提供的管理信息創(chuàng)建邏輯物理轉(zhuǎn)換表和狀態(tài)圖,并接著將它們提供至存儲單元33,如圖5所述。
[0278]存儲單元33存儲從創(chuàng)建單元32提供的邏輯物理轉(zhuǎn)換表和狀態(tài)圖。
[0279]這里,如果需要,讀寫控制單元31參考存儲在存儲單元33中的邏輯物理轉(zhuǎn)換表和狀態(tài)圖來執(zhí)行數(shù)據(jù)從閃速存儲器16的讀取以及將數(shù)據(jù)向閃速存儲器16的寫入(的控制)。
[0280]另外,在對閃速存儲器16的數(shù)據(jù)的寫入或擦除以及折疊處理之后,如果需要,讀寫控制單元31更新存儲在存儲單元33中的邏輯物理轉(zhuǎn)換表和狀態(tài)圖,以在對數(shù)據(jù)的寫入或擦除以及折疊處理之后與閃速存儲器16的狀態(tài)匹配。
[0281]注意,存儲單元33對應(yīng)于例如(圖1的)RAM33的存儲區(qū)域的一部分。因此,當(dāng)關(guān)閉圖1的TV時(shí),存儲在存儲單元33中的邏輯物理轉(zhuǎn)換表和狀態(tài)圖丟失。
[0282]模式控制單元34基于從讀寫控制單元31提供的順序信息來設(shè)置用于將數(shù)據(jù)寫入閃速存儲器16的寫入模式,并且控制讀寫控制單元31以使得在寫入模式下執(zhí)行對閃速存儲器16的數(shù)據(jù)讀取。
[0283]這里,當(dāng)廣泛劃分表示順序信息的順序時(shí),存在諸如塊編號的升序的可以根據(jù)預(yù)定規(guī)則確定的順序(下文中,也稱為基于規(guī)則的順序)以及難以根據(jù)規(guī)則確定的隨機(jī)順序。
[0284]當(dāng)順序信息表示基于規(guī)則的順序時(shí),模式控制單元34將寫入模式設(shè)置為用于按由順序信息表示的基于規(guī)則的順序選擇作為要從寫入未執(zhí)行的塊寫入數(shù)據(jù)的塊的寫入目標(biāo)塊的模式(下文中,稱為后格式化(post-format)模式),并接著控制讀寫控制單元31以在后格式化模式下進(jìn)行操作。
[0285]因此,在后格式化模式下,讀寫控制單元31按由順序信息表示的基于規(guī)則的順序來從寫入未執(zhí)行塊中選擇寫入目標(biāo)塊。
[0286]另外,當(dāng)順序信息表示隨機(jī)順序時(shí),模式控制單元34將寫入模式設(shè)置為用于按由順序信息表示的隨機(jī)順序從寫入未執(zhí)行塊中選擇寫入目標(biāo)塊的模式,換言之,用于為了損耗平衡而從寫入未執(zhí)行塊中隨機(jī)選擇寫入目標(biāo)塊的模式(下文中,也稱為正常模式),如圖15所述,并接著控制讀寫控制單元31以在正常模式下進(jìn)行操作。
[0287]因此,在正常模式下,讀寫控制單元31從寫入未執(zhí)行塊中隨機(jī)選擇寫入目標(biāo)塊。
[0288]注意,除此之外,模式控制單元34控制讀寫控制單元31,以使得通過監(jiān)視存儲在存儲單元33中的狀態(tài)圖來識別閃速存儲器16中的寫入完成塊的數(shù)量,并且基于寫入完成塊的數(shù)量重寫寫入被寫入閃速存儲器16的順序信息。
[0289]圖20是示出當(dāng)寫入模式是后格式化模式時(shí)閃速存儲器16的狀態(tài)的示例的圖。
[0290]在圖20中,在進(jìn)行格式化期間,例如,將表示塊編號的升序的順序信息作為管理信息的一部分寫入閃速存儲器16的第一個(gè)塊的最后物理TU中,并且如在格式化中一樣不進(jìn)行重寫或改變。
[0291 ] 因此,寫入模式是后格式化模式。[0292]在后格式化模式中,讀寫控制單元31按由順序信息表示的基于規(guī)則的順序,在這種情況下為塊編號的升序,從寫入未執(zhí)行塊中選擇寫入目標(biāo)塊,并且將數(shù)據(jù)寫入其中。
[0293]因此,在后格式化模式中,當(dāng)按塊編號的升序從塊讀取管理信息時(shí),如果管理信息未被寫入某一塊(的物理TU)中,確保其之后的塊是未被寫入數(shù)據(jù)(包括管理信息)的寫入未執(zhí)行塊。
[0294]出于該原因,在后格式化模式中,在表和圖創(chuàng)建處理中從閃速存儲器16的開頭塊開始按塊編號的順序逐漸地執(zhí)行管理信息的讀取,并且當(dāng)寫入未執(zhí)行塊(包括寫入未執(zhí)行的物理TU)出現(xiàn)時(shí),處理可以結(jié)束。
[0295]因此,在后格式化模式中,與如圖17所述的緊接在進(jìn)行格式化之后的情況的針對閃速存儲器16的幾乎所有塊從作為閃速存儲器16的每個(gè)塊的第一個(gè)物理TU和最后物理TU的兩個(gè)物理TU分別讀取管理信息的情況相比,讀取管理信息所需的時(shí)間能夠顯著縮短,并且另外,閃速存儲器啟動時(shí)間能夠縮短。
[0296]圖21是示出當(dāng)寫入模式從后格式化模式轉(zhuǎn)變?yōu)檎DJ綍r(shí)閃速存儲器16的狀態(tài)的示例的圖。
[0297]如圖20所述,在后格式化模式中,讀寫控制單元31按塊編號的升序從寫入未執(zhí)行塊中選擇寫入目標(biāo)塊,并且將數(shù)據(jù)寫入其中。
[0298]因此,在后格式化模式中,塊按塊編號的升序變?yōu)閷懭胪瓿蓧K,如圖21所示。
[0299]如圖19所述,模式控制單元34控制讀寫控制單元31,以使得通過監(jiān)視存儲在存儲單元33中的狀態(tài)圖來識別閃速存儲器16中的寫入完成塊的數(shù)量,并且基于寫入完成塊的數(shù)量重寫被寫入閃速存儲器16中的順序信息。
[0300]換言之,模式控制單元34基于閃速存儲器16中的寫入完成塊的數(shù)量,確定閃速存儲器是否置于量為塊數(shù)M的閾值或以上的塊是寫入完成塊的穩(wěn)定狀態(tài)。
[0301]然后,當(dāng)閃速存儲器16置于穩(wěn)定狀態(tài)時(shí),模式控制單元34控制讀寫控制單元31以使得寫入閃速存儲器16的順序信息被重新寫入為表示隨機(jī)順序的順序信息。
[0302]讀寫控制單元31根據(jù)模式控制單元34的控制來重寫被寫入閃速存儲器16的開頭塊中的順序信息以表示隨機(jī)順序。
[0303]這里,作為表示隨機(jī)順序的順序信息,可以采用與寫入未執(zhí)行塊(或物理TU)的數(shù)據(jù)相同的位串Oxff。在這種情況下,僅通過擦除閃速存儲器16的開頭塊(的數(shù)據(jù))來完成將寫入閃速存儲器16的開頭塊中的順序信息重寫為表示隨機(jī)順序的順序信息,如圖21所
/Jn ο
[0304]在將順序信息重寫為表示隨機(jī)順序之后,模式控制單元34將寫入模式設(shè)置為正常模式。
[0305]在正常模式中,讀寫控制單元31從寫入未執(zhí)行塊中隨機(jī)選擇寫入目標(biāo)塊,并且將數(shù)據(jù)寫入其中,如圖20所示。
[0306]<在正常模式下進(jìn)行寫入>
[0307]圖22是用于描述在正常模式下將數(shù)據(jù)寫入閃速存儲器16的寫入處理的流程圖。
[0308]當(dāng)存在來自文件系統(tǒng)21的用于寫入邏輯TU編號被指定的寫入目標(biāo)數(shù)據(jù)的請求時(shí),開始寫入處理。
[0309]在正常模式下的寫入處理中,在步驟S121中,讀寫控制單元31參考存儲在存儲單元33中的狀態(tài)圖來選擇具有最新(最大)序號的塊作為寫入目標(biāo)塊,然后,處理進(jìn)行到步驟S122。
[0310]在步驟S122中,讀寫控制單元31參考存儲在存儲單元33中的狀態(tài)圖來確定寫入目標(biāo)塊中是否存在寫入未執(zhí)行的物理TU。
[0311]在步驟S122中,當(dāng)確定寫入目標(biāo)塊中不存在寫入未執(zhí)行的物理TU時(shí),處理進(jìn)行到步驟S123,并且讀寫控制單元31參考存儲在存儲單元33中的狀態(tài)圖來識別寫入未執(zhí)行塊。
[0312]另外,在步驟S123中,讀寫控制單元31從寫入未執(zhí)行塊中隨機(jī)選擇(期望被設(shè)置為)新的寫入目標(biāo)塊(的塊),然后,處理進(jìn)行到步驟S124。
[0313]在步驟S124中,讀寫控制單元31通過例如增加一來將賦予在步驟S121中所選擇的寫入目標(biāo)塊的序號更新為最新序號,然后,處理進(jìn)行到步驟S125。
[0314]另外,在步驟S122中,當(dāng)確定在寫入目標(biāo)塊中存在寫入未執(zhí)行的物理TU時(shí),跳過步驟S123和S124的處理,進(jìn)行到步驟S125,并且讀寫控制單元31參考存儲在存儲單元33中的狀態(tài)圖,選擇在寫入目標(biāo)塊的最前端處的寫入未執(zhí)行的物理TU(具有最小物理TU編號的寫入未執(zhí)行的物理TU)作為被分配了具有由文件系統(tǒng)21指定的邏輯TU編號的邏輯TU的寫入目標(biāo)物理TU,然后,處理進(jìn)行到步驟S126。
[0315]在步驟S126中,讀寫控制單元31將來自文件系統(tǒng)21的寫入目標(biāo)數(shù)據(jù)寫入寫入目標(biāo)物理TU中。另外,讀寫控制單元31將被分配給寫入目標(biāo)物理TU的邏輯TU的最新序號和邏輯TU編號、即包括由文件系統(tǒng)21指定的邏輯TU編號的管理信息寫入該寫入目標(biāo)物理TU中,然后,處理從步驟S126進(jìn)行到步驟S127。
[0316]注意,當(dāng)寫入目標(biāo)物理TU是寫入目標(biāo)塊的最后物理TU時(shí),除了向?qū)懭肽繕?biāo)物理TU分配的邏輯TU的邏輯TU編號外,向?qū)懭肽繕?biāo)塊的其他每一個(gè)物理TU分配的邏輯TU的所有邏輯TU編號也包括在管理信息中,并且接著寫入該寫入目標(biāo)物理TU中。
[0317]在步驟S127中,在步驟S126中將數(shù)據(jù)寫入寫入目標(biāo)物理TU中之后,讀寫控制單元31更新存儲在存儲單元33中的邏輯物理轉(zhuǎn)換表和狀態(tài)圖以與閃速存儲器16的狀態(tài)匹配,然后,寫入處理結(jié)束。
[0318]如上所述,在正常模式下的寫入處理中,為了損耗平衡而從寫入未執(zhí)行塊中隨機(jī)選擇寫入目標(biāo)塊,并且將數(shù)據(jù)寫入其中。
[0319]<在后格式化模式下的寫入>
[0320]圖23是用于描述在后格式化模式下將數(shù)據(jù)寫入閃速存儲器16的處理的示例的流程圖。
[0321]當(dāng)如圖23所述存在來自文件系統(tǒng)21的用于寫入被指定了邏輯TU編號的寫入目標(biāo)數(shù)據(jù)的請求時(shí),開始寫入處理。
[0322]另外,在后格式化模式下的寫入處理中,在步驟S131中,讀寫控制單元31參考存儲在存儲單元33中的狀態(tài)圖來選擇具有最新(最大)序號的塊作為寫入目標(biāo)塊,然后,處理進(jìn)行到步驟S132。
[0323]在步驟S132中,讀寫控制單元31參考存儲在存儲單元33中的狀態(tài)圖來確定寫入目標(biāo)塊中是否存在寫入未執(zhí)行的物理TU。
[0324]在步驟S132中,當(dāng)確定寫入目標(biāo)塊中不存在寫入未執(zhí)行的物理TU時(shí),處理進(jìn)行到步驟S133,并且讀寫控制單元31參考存儲在存儲單元33中的狀態(tài)圖來識別寫入未執(zhí)行塊。[0325]另外,在步驟S133中,讀寫控制單元31從寫入未執(zhí)行塊中選擇在最開頭側(cè)的寫入未執(zhí)行塊(具有最小塊編號)作為新的寫入目標(biāo)塊,然后,處理進(jìn)行到步驟S134。
[0326]在步驟S134中,讀寫控制單元31通過例如加一來將賦予在步驟S131中所選擇的寫入目標(biāo)塊的序號更新為最新序號,然后,處理進(jìn)行到步驟S135。
[0327]另外,在步驟S132中,當(dāng)確定寫入目標(biāo)塊中存在寫入未執(zhí)行的物理TU時(shí),跳過步驟S133和S134的處理,進(jìn)行到步驟S135,然后,在步驟S135至S137中執(zhí)行與圖22的步驟S125至S127相同的處理。
[0328]如上所述,在后格式化模式中,按由順序信息表示的塊編號的升序選擇寫入未執(zhí)行塊作為寫入目標(biāo)塊,然后,將數(shù)據(jù)寫入其中。
[0329]因此,由于在后格式化模式下的寫入處理中按塊編號的順序和物理TU編號的順序?qū)懭霐?shù)據(jù),因此如果數(shù)據(jù)未被寫入塊的物理TU中,則確保數(shù)據(jù)未被寫入該物理TU之后的所有物理TU和塊中。
[0330]換言之,當(dāng)在后格式化模式下塊B包括未存儲有包括邏輯TU編號等的管理信息的物理TU時(shí),在未存儲有管理信息的塊B的物理TU之后的物理TU全部是寫入未執(zhí)行的物理TU,另外,在塊B之后的塊全部是寫入未執(zhí)行塊。
[0331]〈表和圖創(chuàng)建處理〉
[0332]圖24是用于描述圖19的邏輯物理轉(zhuǎn)換庫22進(jìn)行的表和圖創(chuàng)建處理的示例的流程圖。
[0333]當(dāng)CPU12執(zhí)行邏輯物理轉(zhuǎn)換庫22時(shí),邏輯物理轉(zhuǎn)換庫22確保存儲單元33為用于將邏輯物理轉(zhuǎn)換表和狀態(tài)圖存儲在(圖1的)RAM14中的區(qū)域,并且執(zhí)行表和圖創(chuàng)建處理。
[0334]在表和圖創(chuàng)建處理中,在步驟SlOl中,讀寫控制單元31讀取寫入閃速存儲器16的第一個(gè)塊的最后物理TU中的管理信息、即包括順序信息的管理信息,并且將該信息提供至模式控制單元34,然后,處理進(jìn)行到步驟S102。
[0335]這里,模式控制單元34基于從讀寫控制單元31提供的順序信息來設(shè)置寫入模式。
[0336]在步驟S102中,讀寫控制單元31確定模式控制單元34基于順序信息所設(shè)置的寫入模式是否是后格式化模式。
[0337]當(dāng)在步驟S102中確定寫入模式是后格式化模式時(shí),處理進(jìn)行到步驟S103,然后,讀寫控制單元31在后格式化模式下從閃速存儲器16讀取管理信息,并且將該信息提供至創(chuàng)建單元32,接著,處理進(jìn)行到步驟S105。稍后將描述在后格式化模式下對管理信息的讀取處理。
[0338]另外,當(dāng)在步驟S102中確定寫入模式不是后格式化模式時(shí),換言之,當(dāng)寫入模式是正常模式時(shí),處理進(jìn)行到步驟S104,然后,讀寫控制單元31在正常模式下從閃速存儲器16讀取管理信息,將該信息提供至創(chuàng)建單元32,接著,處理進(jìn)行到步驟S105。
[0339]這里,通過按圖12所述的順序選擇所有塊作為關(guān)注塊來執(zhí)行在正常模式下對管理信息的讀取處理。
[0340]在步驟S105中,創(chuàng)建單元32通過使用來自讀寫控制單元31的管理信息來執(zhí)行與在圖9的步驟S12至S22中相同的信息登記處理,來創(chuàng)建邏輯物理轉(zhuǎn)換表和狀態(tài)圖,然后,表和圖創(chuàng)建處理結(jié)束。
[0341]圖25是用于描述在圖24的步驟S103中所執(zhí)行的在后格式化模式下對管理信息的讀取處理的示例的流程圖。
[0342]在后格式化模式下對管理信息的讀取處理中,在步驟S151中,讀寫控制單元31選擇處于由順序信息表示的較早順序的塊,換言之,在該情況下選擇閃速存儲器16具有尚未被選擇為要注意的關(guān)注塊的塊中更靠近開頭側(cè)的塊,然后,處理進(jìn)行到步驟S152。
[0343]在步驟S152中,讀寫控制單元31讀取關(guān)注塊的最后物理TU的管理信息,然后,處理進(jìn)行到步驟S153。
[0344]在步驟S153中,讀寫控制單元31確定是否尚未寫入關(guān)注塊的最后物理TU的管理信息。
[0345]當(dāng)在步驟S153中確定尚未寫入關(guān)注塊的最后物理TU的管理信息時(shí),換言之,當(dāng)管理信息被寫入關(guān)注塊的最后物理TU中而未被讀取時(shí),處理進(jìn)行到步驟S154,然后,讀寫控制單元31基于如在圖12的步驟S34中一樣從關(guān)注塊的最后物理TU讀取的管理信息,將包括在管理信息中的邏輯TU編號分配給關(guān)注塊的每個(gè)物理TU,然后,處理返回到步驟S151。
[0346]另一方面,當(dāng)在步驟S153中確定尚未寫入關(guān)注塊的最后物理TU的管理信息時(shí),換言之,當(dāng)從關(guān)注塊的最后物理TU讀取作為管理信息的所有信息片段是在擦除塊期間所寫入的位串(例如,Oxff )時(shí),處理進(jìn)行到步驟S155,讀寫控制單元31選擇尚未被選擇作為關(guān)注物理TU的關(guān)注塊的物理TU中更靠近第一個(gè)物理TU的物理TU(具有較小物理TU編號的物理TU)來作為關(guān)注物理TU,然后,處理進(jìn)行到步驟S156。
[0347]在步驟S156中,讀寫控制單元31讀取關(guān)注物理TU的管理信息,然后,處理進(jìn)行到步驟S157。
[0348]在步驟S157中,讀寫控制單元31確定是否未寫入關(guān)注物理TU的管理信息。
[0349]當(dāng)在步驟S157中確定未寫入關(guān)注物理TU的管理信息時(shí),換言之,當(dāng)被讀取作為關(guān)注物理TU的管理信息的所有信息片段是在擦除塊期間所寫入的位串(例如,Oxff)時(shí),不將管理信息寫入未被寫入管理信息的關(guān)注塊的關(guān)注物理TU之后的物理TU (具有較大物理TU編號的物理TU)中,另外,在后格式化模式中,在包括未被寫入管理信息的物理TU的塊之后的所有塊(具有較大塊編號的塊)是寫入未執(zhí)行塊,從而,處理進(jìn)行到除了執(zhí)行管理信息的讀取的步驟S155至S159的循環(huán)處理之外的步驟S160。
[0350]注意,當(dāng)關(guān)注物理TU是關(guān)注塊的第一個(gè)物理TU并且不執(zhí)行寫入第一個(gè)物理TU中時(shí),關(guān)注塊是寫入未執(zhí)行塊。
[0351]另一方面,當(dāng)在步驟S157中確定未寫入關(guān)注物理TU的管理信息時(shí),換言之,當(dāng)管理信息被寫入物理TU但未被讀取時(shí),處理進(jìn)行到步驟S158,然后,讀寫控制單元31基于從關(guān)注物理TU讀取的管理信息,將包括在管理信息中的邏輯TU編號分配給關(guān)注物理TU,接著,處理進(jìn)行到步驟S159。
[0352]在步驟S159中,讀寫控制單元31確定關(guān)注物理TU是否是從關(guān)注塊的最后的物理TU開始的第二個(gè)物理TU (在最后的物理TU前一個(gè)的物理TU)。
[0353]當(dāng)在步驟S159中確定關(guān)注物理TU不是從關(guān)注塊的最后的物理TU開始的第二個(gè)物理TU時(shí),換言之,當(dāng)在除了關(guān)注塊的最后物理TU外的物理TU中存在尚未被選擇為關(guān)注物理TU的物理TU時(shí),處理返回到步驟S155,此后,重復(fù)步驟S155至S159的循環(huán)處理。
[0354]另外,當(dāng)在步驟S159中確定關(guān)注物理TU是從關(guān)注塊的最后的物理TU開始的第二個(gè)物理TU時(shí),換言之,當(dāng)僅最后的物理TU是關(guān)注塊中的寫入未執(zhí)行的物理TU時(shí),在后格式化模式下包括未被寫入管理信息的物理TU的塊之后的全部塊是寫入未執(zhí)行塊,并且處理進(jìn)行到除了執(zhí)行管理信息的讀取的步驟S155至S159的循環(huán)處理之外的步驟S160。
[0355]在步驟S160中,讀寫控制單元31確定可以讀取管理信息的塊的數(shù)量,換言之,寫入完成塊的數(shù)量是否等于或大于塊數(shù)的閾值M。
[0356]當(dāng)在步驟S160中確定寫入完成塊的數(shù)量等于或大于塊數(shù)的閾值M時(shí),在后格式化模式下管理信息的讀取結(jié)束。
[0357]在這種情況下,寫入模式保持在后格式化模式下。
[0358]另外,在步驟S160中,不同于如圖17所述那樣緊接在進(jìn)行格式化之后,即使閃速存儲器16處于穩(wěn)定狀態(tài)并且執(zhí)行在正常模式下對管理信息的讀取處理,當(dāng)確定寫入完成塊的數(shù)量等于或大于塊數(shù)的閾值M時(shí),換言之,當(dāng)在閃速存儲器16的幾乎所有塊中尚未從作為閃速存儲器16的每個(gè)塊的第一個(gè)物理TU和最后物理TU的兩個(gè)物理TU中的每一個(gè)讀取管理信息時(shí),處理進(jìn)行到步驟S161,然后,讀寫控制單元31通過擦除寫入了順序信息的閃速存儲器16的塊(的數(shù)據(jù))來重寫順序信息以表示隨機(jī)順序,從而,在后格式化模式下對管理信息的讀取處理結(jié)束。
[0359]在這種情況下,寫入模式接著從后格式化模式轉(zhuǎn)變?yōu)檎DJ健?br>
[0360]如圖23所述,當(dāng)在如圖23所述的后格式化模式下塊B具有未存儲有包括邏輯TU編號的管理信息的物理TU時(shí),在塊B中的未存儲有管理信息的物理TU之后的物理TU都是寫入未執(zhí)行的物理TU,另外,在塊B之后的塊都是寫入未執(zhí)行塊。
[0361]出于該原因,當(dāng)在后格式化模式下存在具有未存儲有管理信息的物理TU的塊時(shí),當(dāng)嘗試從未存儲有管理信息的塊的物理TU讀取管理信息時(shí),管理信息的讀取結(jié)束(步驟S156 和 S157)。
[0362]注意,在步驟S137的處理之后,可以在后格式化模式下對管理信息的讀取處理中、或者在后格式化模式下對管理信息的讀取處理中以及在圖23的后格式化模式下的寫入處理中執(zhí)行步驟S160和S161的處理。
[0363]當(dāng)在圖23的后格式化模式下的寫入處理中,在步驟S137的處理之后執(zhí)行步驟S160和S161的處理時(shí),(圖19的)模式控制單元34通過監(jiān)視存儲在存儲單元33中的狀態(tài)圖來識別閃速存儲器16中的寫入完成塊的數(shù)量,并且作出步驟S160的與為塊數(shù)的閾值M或以上相對應(yīng)的數(shù)量的塊是否是寫入完成塊的確定。
[0364]然后,當(dāng)與為塊數(shù)的閾值M或以上相對應(yīng)的數(shù)量的塊是寫入完成塊時(shí),模式控制單元34控制讀寫控制單元31以重寫步驟S161的順序信息。〈邏輯物理轉(zhuǎn)換庫22的其他配置示例>
[0365]圖26是示出圖2的邏輯物理轉(zhuǎn)換庫22的另一功能配置示例的框圖。
[0366]注意,相同的附圖標(biāo)記被賦予圖中與圖19的部分相對應(yīng)的部分,并且下文中省略對其定義的描述。
[0367]在圖26中,邏輯物理轉(zhuǎn)換庫22具有創(chuàng)建單元32、存儲單元33、讀寫控制單元41和分配單元42。
[0368]因此,圖26的邏輯物理轉(zhuǎn)換庫22與圖19的邏輯物理轉(zhuǎn)換庫的相同之處在于,其中包括創(chuàng)建單元32和存儲單元33。
[0369]然而,圖26的邏輯物理轉(zhuǎn)換庫22與圖19的邏輯物理轉(zhuǎn)換庫的不同之處在于,設(shè)置了讀寫控制單元41來替代讀寫控制單元31,未設(shè)置模式控制單元34,并且新設(shè)置了分配單元42。
[0370]讀寫控制單元41以與圖19的讀寫控制單元31相同的方式,參考存儲在存儲單元33中的邏輯物理轉(zhuǎn)換表和狀態(tài)圖,根據(jù)來自諸如文件系統(tǒng)21的外部單元的請求來控制通過閃速存儲器驅(qū)動器23從閃速存儲器16讀取數(shù)據(jù)(包括管理信息)以及將數(shù)據(jù)(包括管理信息)寫入閃速存儲器16。
[0371]另外,類似于圖19的讀寫控制單元31,讀寫控制單元41在被啟動時(shí)從閃速存儲器16讀取管理信息,執(zhí)行用于將該信息提供至創(chuàng)建單元32的處理、將數(shù)據(jù)寫入閃速存儲器16或者從閃速存儲器16擦除數(shù)據(jù)的處理以及折疊處理,然后,在數(shù)據(jù)寫入或擦除處理以及折疊處理之后更新存儲在存儲單元33中的邏輯物理轉(zhuǎn)換表和狀態(tài)圖以與閃速存儲器16的狀態(tài)匹配。
[0372]另外,讀寫控制單元41使用來自分配單元42的信息來將包括邏輯TU編號的管理信息寫入閃速存儲器16的物理TU中。
[0373]分配單元42基于存儲在存儲單元33中的狀態(tài)圖來識別閃速存儲器16中包括寫入未執(zhí)行的物理TU的塊,并且從這些塊中依次選擇所需數(shù)量的塊作為關(guān)注塊。
[0374]另外,分配單元42將例如此時(shí)未使用的邏輯TU分配給關(guān)注塊中所包括的物理TU中尚未被分配邏輯TU的物理TU,并且將表示分配結(jié)果的分配信息(例如,多對邏輯TU編號與被分配了邏輯TU編號的邏輯TU的物理TU的物理TU編號等)提供至讀寫控制單元41。
[0375]因此,讀寫控制單元41使用從分配單元42提供的分配信息,來將包括與物理TU編號成對的邏輯TU編號的管理信息寫入分配信息中所包括的物理TU編號的物理TU中。
[0376]注意,當(dāng)要被寫入管理信息的寫入目標(biāo)物理TU是塊的最后物理TU時(shí),將除了分配給寫入目標(biāo)物理TU的邏輯TU的邏輯TU編號外的、分別分配給塊的物理TU的邏輯TU的所有邏輯TU編號作為管理信息的一部分寫入該寫入目標(biāo)物理TU中。
[0377]在對閃速存儲器16進(jìn)行格式化之后,如上所述那樣配置的邏輯物理轉(zhuǎn)換庫22根據(jù)例如來自外部的指令執(zhí)行后格式化處理。
[0378]圖27是用于描述后格式化處理的圖。
[0379]換言之,圖27示出在執(zhí)行格式化之后在穩(wěn)定狀態(tài)中閃速存儲器16的狀態(tài)和在執(zhí)行后格式化處理之后閃速存儲器16的狀態(tài)的示例。
[0380]在進(jìn)行格式化之后,處于穩(wěn)定狀態(tài)的閃速存儲器16具有包括寫入未執(zhí)行的物理TU的多個(gè)塊,如圖27的左側(cè)所示。
[0381]在后格式化處理中,依次選擇包括寫入未執(zhí)行的物理TU的塊作為關(guān)注塊,并且在包括在關(guān)注塊中的物理TU中,將邏輯TU分配給未被分配邏輯TU的物理TU,換言之,將所有寫入未執(zhí)行的物理TU以及向每個(gè)關(guān)注塊中所包括的物理TU分配的邏輯TU的所有邏輯TU編號作為管理信息的一部分至少寫入關(guān)注塊的最后物理TU中。
[0382]結(jié)果,關(guān)注塊變?yōu)榘ㄔ陉P(guān)注塊中的所有物理TU是寫入完成的物理TU的寫入完成塊(下文中,還稱為與入完全完成塊)。
[0383]執(zhí)行后格式化處理,直到寫入完全完成塊的數(shù)量變得例如等于或大于作為預(yù)定閾值的塊數(shù)的閾值M為止。
[0384]相應(yīng)地,在后格式化處理之后,閃速存儲器16的幾乎所有的塊,換言之,與塊數(shù)的閾值M或以上相對應(yīng)的數(shù)量的塊變?yōu)閷懭胪耆瓿蓧K,并且閃速存儲器16置于穩(wěn)定狀態(tài)。結(jié)果,在表和圖創(chuàng)建處理中讀取管理信息時(shí),不同于圖17所述的緊接在進(jìn)行格式化之后,對于閃速存儲器16的幾乎所有塊,將不從作為閃速存儲器16的每個(gè)塊的第一個(gè)物理TU和最后一個(gè)物理TU的兩個(gè)物理TU讀取管理信息,換言之,如針對圖17的穩(wěn)定狀態(tài)所述的,僅從閃速存儲器16的幾乎每個(gè)塊的最后物理TU讀取管理信息,因此,能夠縮短讀取管理信息所需的時(shí)間段,另外,能夠縮短閃速存儲器啟動時(shí)間。
[0385]注意,在圖27中,在后格式化處理中,將每一個(gè)均被分配給塊中所包括的物理TU的邏輯TU的所有邏輯TU編號作為管理信息的一部分寫入至每個(gè)塊的最后物理TU,并且將被分配給各物理TU的邏輯TU的邏輯TU編號作為管理信息的一部分寫入至塊的其他物理TU (寫入未執(zhí)行的物理TU)。
[0386]然而,在后格式化處理中,可僅將每一個(gè)均被分配給塊中所包括的物理TU的邏輯TU的所有邏輯TU編號寫入至每個(gè)塊的最后物理TU。
[0387]換言之,在本實(shí)施例中,盡管采用了全部編號寫入方法,但是當(dāng)采用全部編號寫入方法并且將管理信息寫入塊的最后物理TU中時(shí),可以通過如在圖11的讀取模式#1下所描述的那樣僅從塊的最后物理TU讀取管理信息來識別被分配給塊的各物理TU的邏輯TU,從而,不需要從除了最后的物理TU外的物理TU讀取管理信息。
[0388]另外,由于不需要寫入不需要讀取的管理信息,因此,當(dāng)采用全部編號寫入方法時(shí),在后格式化處理中不需要將管理信息寫入除了塊的最后的物理TU外的物理τυ(寫入未執(zhí)行的物理TU)中。
[0389]另外,由于在后格式化處理中僅通過寫入管理信息而不在數(shù)據(jù)區(qū)中進(jìn)行寫入,因此,可以在比當(dāng)執(zhí)行一般數(shù)據(jù)寫入時(shí)短的一段時(shí)間內(nèi)執(zhí)行數(shù)據(jù)寫入。
[0390]另外,即使在后格式化處理的過程中也能將數(shù)據(jù)寫入閃速存儲器16。
[0391]在圖27中,每個(gè)塊包括四個(gè)物理TU,并且作為后格式化處理,執(zhí)行將包括邏輯TU編號#12的管理信息和包括邏輯TU編號#13的管理信息分別寫入塊#k+2的第一個(gè)物理TU和第二個(gè)物理TU中的處理,接著,執(zhí)行用于為塊#k+2的第三個(gè)物理TU指定邏輯TU編號#6的數(shù)據(jù)寫入。
[0392]然后,作為后格式化處理,執(zhí)行將分別向塊#k+2中所包括的四個(gè)物理TU分配的邏輯TU的邏輯TU編號#12、#13、#6和#14全部寫入塊#k+2的最后的(第四個(gè))物理TU中的處理。
[0393]圖28是用于描述執(zhí)行后格式化處理的時(shí)序的示例的圖。
[0394]如圖28所示,在工廠制造TV的步驟中,與例如在對閃速存儲器16進(jìn)行格式化并將諸如應(yīng)用程序的安裝數(shù)據(jù)安裝在閃速存儲器16中之后所執(zhí)行的執(zhí)行TV的操作檢查和調(diào)整的后步驟并行地執(zhí)行后格式化處理。
[0395]在這種情況下,可以在不影響花費(fèi)的時(shí)間(takt time)的情況下縮短閃速存儲器啟動時(shí)間。
[0396]圖29是當(dāng)如圖28所述在將安裝數(shù)據(jù)安裝在閃速存儲器16中之后執(zhí)行后格式化后處理時(shí)在后格式化處理之后的閃速存儲器16的狀態(tài)的示例的圖。
[0397]如圖29所示,可以對在進(jìn)行格式化之后在閃速存儲器16處于穩(wěn)定狀態(tài)以前,換言之,在寫入完成塊的數(shù)量達(dá)到塊數(shù)的閾值M以前安裝了安裝數(shù)據(jù)的閃速存儲器16執(zhí)行后格式化處理。
[0398]<后格式化處理>
[0399]圖30是用于描述圖26的邏輯物理轉(zhuǎn)換庫22執(zhí)行的后格式化處理的流程圖。
[0400]后格式化處理例如在進(jìn)行格式化之后當(dāng)存在來自外部單元的用于執(zhí)行后格式化處理的請求時(shí)開始。
[0401]在后格式化處理的步驟S201中,(圖26的)邏輯物理轉(zhuǎn)換庫22通過執(zhí)行例如圖9所述的表和圖創(chuàng)建處理來創(chuàng)建邏輯物理轉(zhuǎn)換表和狀態(tài)圖,并且將它們存儲在存儲單元33中,然后,處理進(jìn)行到步驟S202。
[0402]在步驟S202中,(圖26的)讀寫控制單元41參考存儲在存儲單元33中的狀態(tài)圖來確定寫入完全完成塊的數(shù)量是否等于或大于塊數(shù)的閾值M。
[0403]當(dāng)在步驟S202中確定寫入完全完成塊的數(shù)量等于或大于塊數(shù)的閾值M時(shí),處理進(jìn)行到步驟S203,然后,讀寫控制單元41參考存儲在存儲單元33中的狀態(tài)圖來選擇包括寫入未執(zhí)行的物理TU的一個(gè)塊作為關(guān)注塊,接著,處理進(jìn)行到步驟S204。
[0404]在步驟S204中,(圖26的)分配單元42針對關(guān)注塊,參考存儲在存儲單元33中的狀態(tài)圖來獲得當(dāng)關(guān)注塊的最后物理TU變成寫入完成時(shí)需要分配邏輯TU的物理TU的數(shù)量,換言之,寫入未執(zhí)行的物理TU的數(shù)量NUM (下文中,也稱為空物理TU的數(shù)量),然后,處理進(jìn)行到步驟S205。
[0405]在步驟S205中,分配單元42將在對關(guān)注塊中的寫入未執(zhí)行的物理TU的數(shù)量進(jìn)行計(jì)數(shù)時(shí)所使用的變量i初始化為例如I,然后,處理進(jìn)行到步驟S206。
[0406]在步驟S206中,分配單元42參考存儲在存儲單元33中的邏輯物理轉(zhuǎn)換表來將尚未被分配給物理TU的邏輯TU編號分配給關(guān)注塊的寫入未執(zhí)行的物理TU當(dāng)中的第i個(gè)物理TU,將表示分配結(jié)果的分配信息提供至讀寫控制單元41,然后,處理進(jìn)行到步驟S207。
[0407]在步驟S207中,讀寫控制單元41將包括在來自分配單元42的分配信息中的邏輯TU編號(被分配給第i個(gè)物理TU的邏輯TU編號)的管理信息寫入第i個(gè)物理TU中,然后,處理進(jìn)行到步驟S208。
[0408]注意,當(dāng)?shù)趇個(gè)物理TU是寫入目標(biāo)塊的最后物理TU時(shí),除了分配給最后物理TU的邏輯TU的邏輯TU編號外,分別分配給關(guān)注塊的其他物理TU的邏輯TU的所有邏輯TU編號也包括在管理信息中,并且被寫入最后物理TU中。
[0409]另外,僅當(dāng)在步驟S207中第i個(gè)物理TU是寫入目標(biāo)塊的最后物理TU時(shí),可以執(zhí)
行管理信息的寫入。
[0410]在步驟S208中,讀寫控制單元41更新存儲在存儲單元33中的邏輯物理轉(zhuǎn)換表和狀態(tài)圖以與在步驟S207中將管理信息寫入第i個(gè)物理單元中之后的閃速存儲器16的狀態(tài)匹配,然后,處理進(jìn)行到步驟S209。
[0411 ] 在步驟S209中,分配單元42確定變量i是否等于關(guān)注塊的空物理TU的數(shù)量NUM。
[0412]當(dāng)在步驟S209中確定變量i不等于關(guān)注塊的空物理TU的數(shù)量NUM時(shí),處理進(jìn)行到步驟S210,并且分配單元42將變量i加一。然后,處理從步驟S210返回到步驟S206,并且重復(fù)相同的后續(xù)處理。
[0413]另外,當(dāng)在步驟S209中確定變量i等于關(guān)注塊的空物理TU的數(shù)量NUM時(shí),處理返回到步驟S202,并接著重復(fù)相同的后續(xù)處理。[0414]另外,當(dāng)在步驟S202中確定寫入完全完成塊的數(shù)量等于或大于塊數(shù)的閾值M時(shí),換言之,當(dāng)閃速存儲器16置于穩(wěn)定狀態(tài)時(shí),后格式化處理結(jié)束。
[0415]如上所述,在數(shù)量等于或大于塊數(shù)的閾值M的閃速存儲器16的塊變?yōu)閷懭胪耆瓿蓧K之后,換言之,當(dāng)在后格式化處理中閃速存儲器16置于穩(wěn)定狀態(tài)時(shí),在圖9的表和圖創(chuàng)建處理中的步驟Sll中對(圖12的)管理信息讀取時(shí),不同于圖17中所述的緊接在進(jìn)行格式化之后,不針對閃速存儲器16的幾乎所有塊從作為閃速存儲器16的每個(gè)塊的第一個(gè)物理TU和最后一個(gè)物理TU的兩個(gè)物理TU讀取管理信息,并且如針對圖17中的穩(wěn)定狀態(tài)所述,對閃速存儲器16的大多數(shù)塊而僅從塊的最后物理TU讀取管理信息,從而,能夠縮短讀取管理信息所需的時(shí)間并且能夠縮短閃速存儲器啟動時(shí)間。
[0416]<應(yīng)用了本技術(shù)的存儲卡的實(shí)施例>
[0417]圖31是示出應(yīng)用了本技術(shù)的存儲卡的實(shí)施例的硬件配置示例的框圖。
[0418]在圖31中,存儲卡被配置為包括經(jīng)由總線彼此連接的CPU101、存儲器102、閃速存儲器103和外部I/F (接口 ) 104。
[0419]CPUlOl對應(yīng)于圖1的CPU12,并且存儲器102對應(yīng)于圖1的R0M13、RAM14和硬盤
15。另外,閃速存儲器103對應(yīng)于圖1的閃速存儲器16。
[0420]當(dāng)將存儲卡裝載在PC、移動終端、數(shù)碼相機(jī)或其他電子裝置中時(shí),外部I/F104電連接至電子裝置,并且與電連接的電子裝置交換寫入閃速存儲器103中的寫入目標(biāo)數(shù)據(jù)或從閃速存儲器103讀取的數(shù)據(jù)。
[0421]在如上所述配置的存儲卡中,CPUlOl起到訪問控制單元的作用,該訪問控制單元通過執(zhí)行安裝在存儲器102中的OS或其他程序來控制對閃速存儲器103的訪問。
[0422]<訪問控制單元的配置示例>
[0423]圖32是示出其功能通過圖31的CPUlOl執(zhí)行程序來實(shí)現(xiàn)的訪問控制單元的配置示例的框圖。
[0424]訪問控制單元是在通過圖31的CPUlOl執(zhí)行程序提供的功能中控制對閃速存儲器103的訪問的功能的單元,并且被配置為包括作為軟件的邏輯物理轉(zhuǎn)換庫111和閃速存儲器驅(qū)動器112。
[0425]響應(yīng)于從電連接至外部I/F104的電子裝置中所包括的文件系統(tǒng)提出的用于讀取以及寫入被指定了邏輯TU編號的數(shù)據(jù)的請求,邏輯物理轉(zhuǎn)換庫111將邏輯TU編號轉(zhuǎn)換為物理TU編號,并且向閃速存儲器驅(qū)動器112提出用于從具有物理TU編號的物理TU讀取數(shù)據(jù)以及將數(shù)據(jù)寫入物理TU的請求。另外,邏輯物理轉(zhuǎn)換庫111執(zhí)行與圖2的邏輯物理轉(zhuǎn)換庫22的處理相同的處理。
[0426]與圖2的閃速存儲器驅(qū)動器23 —樣,閃速存儲器驅(qū)動器112響應(yīng)于來自邏輯物理轉(zhuǎn)換庫111的用于讀取和寫入數(shù)據(jù)的請求,從閃速存儲器103的物理TU讀取數(shù)據(jù)以及將數(shù)據(jù)寫入閃速存儲器103的物理TU。
[0427]由于除了在文件系統(tǒng)21中所執(zhí)行的處理外,圖32的訪問控制單元的處理與圖2的訪問控制單元的處理相同,因此省略其描述。
[0428]這里,在本說明書中,不一定按被描述為流程圖的順序以時(shí)序方式執(zhí)行計(jì)算機(jī)(CPU12或101)根據(jù)程序執(zhí)行的處理。換言之,計(jì)算機(jī)根據(jù)程序執(zhí)行的處理也包括以并行或單獨(dú)的方式執(zhí)行的處理(例如,并行處理或按照對象的處理)。[0429]另外,程序可由一臺計(jì)算機(jī)(或處理器)處理,或者可由多臺計(jì)算機(jī)以分布方式處理。
[0430]另外,在本說明書中,系統(tǒng)是指多個(gè)構(gòu)成元件(裝置、模塊(部件)等)的組合,而與所有構(gòu)成元件是否容納于同一殼體中無關(guān)。因此,容納于單獨(dú)的殼體中并經(jīng)由網(wǎng)絡(luò)彼此連接的多個(gè)裝置以及被配置為將多個(gè)模塊容納于一個(gè)殼體中的一個(gè)裝置都是系統(tǒng)。
[0431]注意,本技術(shù)的實(shí)施例不限于上述實(shí)施例,并且可以在不背離本技術(shù)的主旨的范圍內(nèi)進(jìn)行各種變型。例如,盡管在圖1中描述了本技術(shù)應(yīng)用于安裝有閃速存儲器16的TV的情況,但是本技術(shù)不限于此,并且可以應(yīng)用于安裝有閃速存儲器或其他非易失性存儲器的數(shù)字家用電器和各種電子裝置。
[0432]應(yīng)該理解,在所附權(quán)利要求或其等同方案的范圍內(nèi),本領(lǐng)域技術(shù)人員可根據(jù)設(shè)計(jì)要求和其他因素想到各種變型、組合、子組合和改變。
[0433]另外,本技術(shù)還可進(jìn)行如下配置。
[0434]( I) 一種控制裝置,包括:
[0435]讀寫控制單元,被配置為控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從所述非易失性存儲器的讀取,其中所述多個(gè)塊中的每一個(gè)均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位,
[0436]其中,所述非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息,以及
[0437]其中,所述讀寫控制單元根據(jù)由所述順序信息表示的順序選擇作為用于數(shù)據(jù)的寫入的目標(biāo)塊的寫入目標(biāo)塊,并將數(shù)據(jù)寫入所選擇的寫入目標(biāo)塊中。
[0438](2)根據(jù)(I)所述的控制裝置,其中,所述讀寫控制單元在對所述非易失性存儲器進(jìn)行格式化時(shí)將表示預(yù)定順序的所述順序信息寫入所述非易失性存儲器中,并且當(dāng)完成數(shù)據(jù)寫入的塊的數(shù)量等于或高于預(yù)先確定的閾值時(shí),重寫所述順序信息以表示隨機(jī)順序。
[0439](3)根據(jù)(2)所述的控制裝置,還包括:
[0440]創(chuàng)建單元,被配置為創(chuàng)建邏輯物理轉(zhuǎn)換表,
[0441]其中,每個(gè)塊均具有多個(gè)頁面,每一個(gè)頁面被設(shè)置為用于執(zhí)行數(shù)據(jù)的寫入和讀取的單位,
[0442]其中,通過將用于執(zhí)行將邏輯存儲區(qū)域轉(zhuǎn)換成物理存儲區(qū)域的邏輯物理轉(zhuǎn)換的單位設(shè)置為變換單位TU,所述非易失性存儲器將指定作為被分配給物理TU的邏輯TU的邏輯TU的邏輯TU編號存儲在每一個(gè)均為物理TU并包括一個(gè)或更多個(gè)頁面的所述物理TU中,
[0443]其中,當(dāng)所述邏輯TU被分配給包括在所述塊中的所有物理TU時(shí),包括在所述塊中的所述物理TU中的預(yù)定物理TU存儲每一個(gè)均被分配給所述塊中所包括的所述物理TU的所述邏輯TU的所有所述邏輯TU編號,
[0444]其中,所述創(chuàng)建單元基于從所述物理TU讀取的所述邏輯TU編號來創(chuàng)建用于將所述邏輯TU轉(zhuǎn)換為所述物理TU的邏輯物理轉(zhuǎn)換表,并且
[0445]其中,在創(chuàng)建所述邏輯物理轉(zhuǎn)換表時(shí),所述讀寫控制單元首先執(zhí)行從所述塊的所述預(yù)定物理TU中讀取所述邏輯TU編號,并且當(dāng)所述邏輯TU編號沒有存儲在所述預(yù)定物理TU中時(shí),執(zhí)行從所述塊的其他物理TU中讀取所述邏輯TU編號。
[0446](4)根據(jù)(3)所述的控制裝置,其中,當(dāng)在創(chuàng)建所述邏輯物理轉(zhuǎn)換表期間所述順序信息表示所述預(yù)定順序時(shí),所述讀寫控制單元按所述預(yù)定順序從所述非易失性存儲器包括的所述塊中選擇要注意的關(guān)注塊,執(zhí)行從包括在所述關(guān)注塊中的所述物理TU中讀取所述邏輯TU編號,并且當(dāng)所述關(guān)注塊具有未存儲有所述邏輯TU編號的所述物理TU時(shí)完成所述關(guān)注塊中的所述邏輯TU編號的讀取。
[0447](5)根據(jù)(4)所述的控制裝置,其中,當(dāng)在創(chuàng)建所述邏輯物理轉(zhuǎn)換表期間所述順序信息表示隨機(jī)順序時(shí),所述讀寫控制單元按順序選擇所述非易失性存儲器包括的所有塊作為所述關(guān)注塊,并且讀取包括在所述關(guān)注塊中的所述物理TU的所述邏輯TU編號。
[0448](6)根據(jù)(3)至(5)中的任意一項(xiàng)所述的控制裝置,
[0449]其中,按指定所述物理TU的物理TU編號的數(shù)值順序?qū)?shù)據(jù)寫入所述塊所包括的所述物理TU中,以及
[0450]其中,所述預(yù)定物理TU是最后寫入數(shù)據(jù)的物理TU。
[0451](7)根據(jù)(2)至(6)中的任意一項(xiàng)所述的控制裝置,其中,在對所述非易失性存儲器進(jìn)行格式化時(shí),所述讀寫控制單元將表示指定所述塊的塊編號的數(shù)值順序的所述順序信息寫入所述非易失性存儲器中。
[0452](8)根據(jù)(2)至(7)中的任意一項(xiàng)所述的控制裝置,其中,當(dāng)完成了數(shù)據(jù)的寫入的塊的數(shù)量等于或高于預(yù)先確定的所述閾值時(shí),所述讀寫控制單元通過擦除所述順序信息來重寫所述順序信息以表示隨機(jī)順序。
[0453](9)根據(jù)(I)至(8)中的任意一項(xiàng)所述的控制裝置,還包括:
[0454]所述非易失性存儲器。
[0455]( 10) 一種由包括讀寫控制單元的控制裝置的所述讀寫控制單元執(zhí)行的控制方法,所述讀寫控制單元被配置為控制數(shù)據(jù)從具有多個(gè)塊的非易失性存儲器的讀取以及向所述非易失性存儲器的寫入,其中每個(gè)塊均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位,所述非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息,所述方法包括:
[0456]根據(jù)由所述順序信息表示的順序選擇作為用于數(shù)據(jù)的寫入的目標(biāo)塊的寫入目標(biāo)塊,并且寫入數(shù)據(jù)。
[0457](11) 一種用于使得計(jì)算機(jī)用作讀寫控制單元的程序,所述讀寫控制單元被配置為控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從所述非易失性存儲器的讀取,其中所述多個(gè)塊中的每一個(gè)均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位,
[0458]其中所述非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息,以及
[0459]其中所述讀寫控制單元根據(jù)由所述順序信息表示的順序選擇作為用于數(shù)據(jù)的寫入的目標(biāo)塊的寫入目標(biāo)塊,并且寫入數(shù)據(jù)。
[0460](12) 一種控制裝置,包括:
[0461]讀寫控制單元,被配置為控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從所述非易失性存儲器的讀取,其中所述多個(gè)塊中的每一個(gè)均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位,
[0462]分配單元,被配置為將邏輯變換單位TU分配給物理TU,
[0463]其中,每個(gè)塊具有多個(gè)頁面,每一個(gè)頁面均被設(shè)置為用于執(zhí)行數(shù)據(jù)的寫入和讀取的單位,
[0464]其中,通過將用于執(zhí)行將邏輯存儲區(qū)域轉(zhuǎn)換成物理存儲區(qū)域的邏輯物理轉(zhuǎn)換的單位設(shè)置為TU,所述非易失性存儲器將指定作為被分配給物理TU的邏輯TU的邏輯TU的邏輯TU編號存儲在作為每一個(gè)均包括一個(gè)或更多個(gè)頁面的物理TU的所述物理TU中,
[0465]其中,當(dāng)所述邏輯TU被分配給包括在所述塊中的所有物理TU時(shí),包括在所述塊中的所述物理TU中的預(yù)定物理TU存儲每一個(gè)均被分配給所述塊中所包括的所述物理TU的所述邏輯TU的所有所述邏輯TU編號,
[0466]其中,當(dāng)完成數(shù)據(jù)的寫入的塊的數(shù)量不等于或高于預(yù)先確定的閾值時(shí),所述分配單元將所述邏輯TU分配給在從包括未執(zhí)行寫入的物理TU的塊中選擇的、要注意的關(guān)注塊中所包括的所述物理TU中未被分配所述邏輯TU的所有所述物理TU,并且所述讀寫控制單元將每一個(gè)均被分配給所述關(guān)注塊中所包括的所述物理TU的所述邏輯TU的所有所述邏輯TU編號寫入所述關(guān)注塊中所包括的所述預(yù)定物理TU中。
[0467](13)根據(jù)(12)所述的控制裝置,其中,所述讀寫控制單元還將分配給所述物理TU的所述邏輯TU的所述邏輯TU編號寫入至除了所述關(guān)注塊中所包括的所述預(yù)定物理TU以外的物理TU。
[0468](14)根據(jù)(12)或(13)所述的控制裝置,還包括:
[0469]創(chuàng)建單元,被配置為基于從所述物理TU讀取的所述邏輯TU編號來創(chuàng)建用于將所述邏輯TU轉(zhuǎn)換為所述物理TU的所述邏輯物理轉(zhuǎn)換表,
[0470]其中,在創(chuàng)建所述邏輯物理轉(zhuǎn)換表期間,所述讀寫控制單元首先執(zhí)行從所述塊的所述預(yù)定物理TU讀取所述邏輯TU編號,并且當(dāng)所述邏輯TU編號沒有存儲在所述預(yù)定物理TU中時(shí),執(zhí)行從所述塊的其他物理TU讀取所述邏輯TU編號。
[0471](15)根據(jù)(12)至(14)中的任意一項(xiàng)所述的控制裝置,
[0472]其中,按指定所述物理TU的物理TU編號的數(shù)值順序?qū)?shù)據(jù)寫入所述塊中所包括的所述物理TU中,以及
[0473]其中,所述預(yù)定物理TU是最后寫入數(shù)據(jù)的物理TU。
[0474](16)根據(jù)(12)至(15)中的任意一項(xiàng)所述的控制裝置,還包括:
[0475]所述非易失性存儲器。
【權(quán)利要求】
1.一種控制裝置,包括: 讀寫控制單元,被配置為控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從所述非易失性存儲器的讀取,其中所述多個(gè)塊中的每一個(gè)均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位, 其中,所述非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息,以及 其中,所述讀寫控制單元根據(jù)由所述順序信息表示的順序選擇作為用于數(shù)據(jù)的寫入的目標(biāo)塊的寫入目標(biāo)塊,并將數(shù)據(jù)寫入所選擇的寫入目標(biāo)塊中。
2.根據(jù)權(quán)利要求1所述的控制裝置,其中,所述讀寫控制單元在對所述非易失性存儲器進(jìn)行格式化時(shí)將表示預(yù)定順序的所述順序信息寫入所述非易失性存儲器中,并且當(dāng)完成數(shù)據(jù)寫入的塊的數(shù)量等于或高于預(yù)先確定的閾值時(shí),重寫所述順序信息以表示隨機(jī)順序。
3.根據(jù)權(quán)利要求2所述的控制裝置,還包括: 創(chuàng)建單元,被配置為創(chuàng)建邏輯物理轉(zhuǎn)換表, 其中,每個(gè)塊均具有多個(gè)頁面,每一個(gè)頁面被設(shè)置為用于執(zhí)行數(shù)據(jù)的寫入和讀取的單 位, 其中,通過將用于執(zhí)行將邏輯存儲區(qū)域轉(zhuǎn)換成物理存儲區(qū)域的邏輯物理轉(zhuǎn)換的單位設(shè)置為變換單位TU,所述非易失性存儲器將指定作為被分配給物理TU的邏輯TU的邏輯TU的邏輯TU編號存儲在每一個(gè)均為物理TU并包括一個(gè)或更多個(gè)頁面的所述物理TU中, 其中,當(dāng)所述邏輯TU被分配給包括在所述塊中的所有物理TU時(shí),包括在所述塊中的所述物理TU中的預(yù)定物理TU存儲每一個(gè)均被分配給所述塊中所包括的所述物理TU的所述邏輯TU的所有所述邏輯TU編號, 其中,所述創(chuàng)建單元基于從所述物理TU讀取的所述邏輯TU編號來創(chuàng)建用于將所述邏輯TU轉(zhuǎn)換為所述物理TU的邏輯物理轉(zhuǎn)換表,并且 其中,在創(chuàng)建所述邏輯物理轉(zhuǎn)換表時(shí),所述讀寫控制單元首先執(zhí)行從所述塊的所述預(yù)定物理TU中讀取所述邏輯TU編號,并且當(dāng)所述邏輯TU編號沒有存儲在所述預(yù)定物理TU中時(shí),執(zhí)行從所述塊的其他物理TU中讀取所述邏輯TU編號。
4.根據(jù)權(quán)利要求3所述的控制裝置,其中,當(dāng)在創(chuàng)建所述邏輯物理轉(zhuǎn)換表期間所述順序信息表示所述預(yù)定順序時(shí),所述讀寫控制單元按所述預(yù)定順序從所述非易失性存儲器包括的所述塊中選擇要注意的關(guān)注塊,執(zhí)行從包括在所述關(guān)注塊中的所述物理TU中讀取所述邏輯TU編號,并且當(dāng)所述關(guān)注塊具有未存儲有所述邏輯TU編號的所述物理TU時(shí)完成所述關(guān)注塊中的所述邏輯TU編號的讀取。
5.根據(jù)權(quán)利要求4所述的控制裝置,其中,當(dāng)在創(chuàng)建所述邏輯物理轉(zhuǎn)換表期間所述順序信息表示隨機(jī)順序時(shí),所述讀寫控制單元按順序選擇所述非易失性存儲器包括的所有塊作為所述關(guān)注塊,并且讀取包括在所述關(guān)注塊中的所述物理TU的所述邏輯TU編號。
6.根據(jù)權(quán)利要求4所述的控制裝置, 其中,按指定所述物理TU的物理TU編號的數(shù)值順序?qū)?shù)據(jù)寫入所述塊所包括的所述物理TU中,以及 其中,所述預(yù)定物理TU是最后寫入數(shù)據(jù)的物理TU。
7.根據(jù)權(quán)利要求4所述的控制裝置,其中,在對所述非易失性存儲器進(jìn)行格式化時(shí),所述讀寫控制單元將表示指定所述塊的塊編號的數(shù)值順序的所述順序信息寫入所述非易失性存儲器中。
8.根據(jù)權(quán)利要求4所述的控制裝置,其中,當(dāng)完成了數(shù)據(jù)的寫入的塊的數(shù)量等于或高于預(yù)先確定的所述閾值時(shí),所述讀寫控制單元通過擦除所述順序信息來重寫所述順序信息以表示隨機(jī)順序。
9.根據(jù)權(quán)利要求4所述的控制裝置,還包括: 所述非易失性存儲器。
10.一種由包括讀寫控制單元的控制裝置的所述讀寫控制單元執(zhí)行的控制方法,所述讀寫控制單元被配置為控制數(shù)據(jù)從具有多個(gè)塊的非易失性存儲器的讀取以及向所述非易失性存儲器的寫入,其中每個(gè)塊均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位,所述非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息,所述方法包括: 根據(jù)由所述順序信息表示的順序選擇作為用于數(shù)據(jù)的寫入的目標(biāo)塊的寫入目標(biāo)塊,并且寫入數(shù)據(jù)。
11.一種用于使得計(jì)算機(jī)用作讀寫控制單元的程序,所述讀寫控制單元被配置為控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從所述非易失性存儲器的讀取,其中所述多個(gè)塊中的每一個(gè)均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位, 其中所述非易失性存儲器存儲表示要寫入數(shù)據(jù)的塊的順序的順序信息,以及 其中所述讀寫控制單元根據(jù)由所述順序信息表示的順序選擇作為用于數(shù)據(jù)的寫入的目標(biāo)塊的寫入目標(biāo)塊,并且寫入數(shù)據(jù)。
12.—種控制裝置,包括: 讀寫控制單元,被配置為控制數(shù)據(jù)向具有多個(gè)塊的非易失性存儲器的寫入以及從所述非易失性存儲器的讀取,其中所述多個(gè)塊中的每一個(gè)均被設(shè)置為用于執(zhí)行數(shù)據(jù)擦除的單位, 分配單元,被配置為將邏輯變換單位TU分配給物理TU, 其中,每個(gè)塊具有多個(gè)頁面,每一個(gè)頁面均被設(shè)置為用于執(zhí)行數(shù)據(jù)的寫入和讀取的單位, 其中,通過將用于執(zhí)行將邏輯存儲區(qū)域轉(zhuǎn)換成物理存儲區(qū)域的邏輯物理轉(zhuǎn)換的單位設(shè)置為TU,所述非易失性存儲器將指定作為被分配給物理TU的邏輯TU的邏輯TU的邏輯TU編號存儲在作為每一個(gè)均包括一個(gè)或更多個(gè)頁面的物理TU的所述物理TU中, 其中,當(dāng)所述邏輯TU被分配給包括在所述塊中的所有物理TU時(shí),包括在所述塊中的所述物理TU中的預(yù)定物理TU存儲每一個(gè)均被分配給所述塊中所包括的所述物理TU的所述邏輯TU的所有所述邏輯TU編號, 其中,當(dāng)完成數(shù)據(jù)的寫入的塊的數(shù)量不等于或高于預(yù)先確定的閾值時(shí),所述分配單元將所述邏輯TU分配給在從包括未執(zhí)行寫入的物理TU的塊中選擇的、要注意的關(guān)注塊中所包括的所述物理TU中未被分配所述邏輯TU的所有所述物理TU,并且所述讀寫控制單元將每一個(gè)均被分配給所述關(guān)注塊中所包括的所述物理TU的所述邏輯TU的所有所述邏輯TU編號寫入所述關(guān)注塊中所包括的所述預(yù)定物理TU中。
13.根據(jù)權(quán)利要求12所述的控制裝置,其中,所述讀寫控制單元還將分配給所述物理TU的所述邏輯TU的所述邏輯TU編號寫入至除了所述關(guān)注塊中所包括的所述預(yù)定物理TU以外的物理TU。
14.根據(jù)權(quán)利要求13所述的控制裝置,還包括: 創(chuàng)建單元,被配置為基于從所述物理TU讀取的所述邏輯TU編號來創(chuàng)建用于將所述邏輯TU轉(zhuǎn)換為所述物理TU的所述邏輯物理轉(zhuǎn)換表, 其中,在創(chuàng)建所述邏輯物理轉(zhuǎn)換表期間,所述讀寫控制單元首先執(zhí)行從所述塊的所述預(yù)定物理TU讀取所述邏輯TU編號,并且當(dāng)所述邏輯TU編號沒有存儲在所述預(yù)定物理TU中時(shí),執(zhí)行從所述塊的其他物理TU讀取所述邏輯TU編號。
15.根據(jù)權(quán)利要求14所述的控制裝置, 其中,按指定所述物理TU的物理TU編號的數(shù)值順序?qū)?shù)據(jù)寫入所述塊中所包括的所述物理TU中,以及 其中,所述預(yù)定物理TU是最后寫入數(shù)據(jù)的物理TU。
16.根據(jù)權(quán)利要求14所述的控制裝置,還包括: 所述非易失性存 儲器。
【文檔編號】G06F12/06GK103902234SQ201310704152
【公開日】2014年7月2日 申請日期:2013年12月19日 優(yōu)先權(quán)日:2012年12月26日
【發(fā)明者】佐伯修祐, 不殿健治, 金子暢宏, 佐藤和美 申請人:索尼公司