專利名稱:控制器和存儲(chǔ)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及控制器和存儲(chǔ)器系統(tǒng)。
背景技術(shù):
通常公知這樣的存儲(chǔ)器系統(tǒng)(例如,固態(tài)盤(pán)(SSD)),其每一個(gè)都包括大量的閃速 存儲(chǔ)器以及一存儲(chǔ)器控制器,該存儲(chǔ)器控制器管理存儲(chǔ)在閃速存儲(chǔ)器中的數(shù)據(jù)。在這樣的存儲(chǔ)器系統(tǒng)中,存儲(chǔ)器控制器參考轉(zhuǎn)譯表并搜尋與由主機(jī)設(shè)備(例如, 個(gè)人計(jì)算機(jī)(PC))通知的邏輯地址相對(duì)應(yīng)的物理地址,其中在轉(zhuǎn)譯表中,閃速存儲(chǔ)器中的 邏輯地址和物理地址保持彼此對(duì)應(yīng)。根據(jù)邏輯地址以及從主機(jī)設(shè)備接收到的指令的內(nèi)容, 存儲(chǔ)器控制器將數(shù)據(jù)寫(xiě)入由在搜尋中尋找到的物理地址所指示的閃速存儲(chǔ)器中的區(qū)域、從 該區(qū)域讀取數(shù)據(jù)、或從該區(qū)域刪除數(shù)據(jù)。以“頁(yè)”和“塊”為單位處理在閃速存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù),通常,每一個(gè)頁(yè)自身是由 物理地址指示的區(qū)域且是最小的處理單位,每一個(gè)塊是包含多個(gè)頁(yè)的處理單位。與硬盤(pán)驅(qū)動(dòng)器(HDD)等等不同,閃速存儲(chǔ)器具有下列特性不可能將新的數(shù)據(jù)(a new piece of data)寫(xiě)入其中已經(jīng)寫(xiě)入了另一條數(shù)據(jù)的區(qū)域中,除非首先擦除了已寫(xiě)入的 那條數(shù)據(jù);僅僅可能以塊為單位擦除數(shù)據(jù);以及當(dāng)重復(fù)地執(zhí)行數(shù)據(jù)擦除處理時(shí),會(huì)發(fā)生閃 速存儲(chǔ)器的物理劣化。出于該原因,在上述存儲(chǔ)器系統(tǒng)中,存儲(chǔ)器控制器管理這樣的信息(下文中為“文 件分配表[FAT]信息”),該信息指示出在頁(yè)中所存儲(chǔ)的數(shù)據(jù)是有效、無(wú)效、還是已刪除(參 見(jiàn),例如,JP-A 2006-216036 (KOKAI))。存儲(chǔ)器控制器還通過(guò)例如重寫(xiě)FAT信息來(lái)實(shí)現(xiàn)數(shù)據(jù) 的刪除和改寫(xiě)(overwrite),以便可以避免這樣的情況,其中每次在主機(jī)設(shè)備發(fā)出刪除指令 或改寫(xiě)指令時(shí),實(shí)際上以塊為單位從閃速存儲(chǔ)器擦除數(shù)據(jù)。例如,在數(shù)據(jù)改寫(xiě)處理時(shí),存儲(chǔ)器控制器在與其中存儲(chǔ)有舊數(shù)據(jù)的頁(yè)不同的頁(yè)中 寫(xiě)入用于改寫(xiě)舊數(shù)據(jù)的新數(shù)據(jù)。存儲(chǔ)器控制器然后將其中存儲(chǔ)有舊數(shù)據(jù)的頁(yè)的FAT信息更 新為無(wú)效,并且還更新邏輯地址與物理地址之間的對(duì)應(yīng)關(guān)系。接下來(lái),將參考圖29和30解釋例如在JP-A 2006-216036 (KOKAI)中描述的常規(guī) 存儲(chǔ)器系統(tǒng)中在執(zhí)行數(shù)據(jù)改寫(xiě)處理之前和之后塊與FAT信息之間的對(duì)應(yīng)關(guān)系。圖29是用于解釋例如在JP-A 2006-216036 (KOKAI)中描述的常規(guī)存儲(chǔ)器系統(tǒng)中 在執(zhí)行數(shù)據(jù)改寫(xiě)處理之前塊與FAT信息的狀態(tài)的示意圖。在圖29示出的實(shí)例中,示出了在 塊X中的所有頁(yè)中的每一個(gè)頁(yè)中存儲(chǔ)數(shù)據(jù)的狀態(tài)。這些頁(yè)的每一條FAT信息都指示“V”,該 “V”表示“有效”。圖30是用于解釋例如在JP-A 2006-216036 (KOKAI)中描述的常規(guī)存儲(chǔ)器系統(tǒng)中在執(zhí)行數(shù)據(jù)改寫(xiě)處理之后塊與FAT信息的狀態(tài)的示意圖。在圖30示出的實(shí)例中,示出了這樣的狀態(tài),其中,已經(jīng)將用于改寫(xiě)在塊X中的頁(yè)901中存儲(chǔ)的數(shù)據(jù)的新數(shù)據(jù)寫(xiě)入塊Y的頁(yè) 902中。已經(jīng)將頁(yè)901的FAT信息更新為指示“IV”,該“IV”表示“無(wú)效”。在圖30示出的狀態(tài)中,在轉(zhuǎn)譯表中更新邏輯地址與物理地址之間的對(duì)應(yīng)關(guān)系。使 與指示頁(yè)901的物理地址X7對(duì)應(yīng)的邏輯地址與指示頁(yè)901的物理地址Yl相對(duì)應(yīng)(未示 出)。然而,在上述常規(guī)存儲(chǔ)器系統(tǒng)中,對(duì)于這樣的塊中的頁(yè)不管理FAT信息,在該塊中 將要存儲(chǔ)在數(shù)據(jù)改寫(xiě)等期間要被寫(xiě)入的數(shù)據(jù)(例如,該塊為圖30示出的實(shí)例中的塊Y;以 及在JP-A 2006-216036 (KOKAI)示出的實(shí)例中的日志塊)。結(jié)果,對(duì)于這樣的不管理其FAT信息的塊,不可能管理在這些塊中的每一個(gè)中所 包含的頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài)。由此,在一些情況下,不能有效地利用閃速存儲(chǔ)器中的存 儲(chǔ)區(qū)。例如,在圖30示出的狀態(tài)中,即使發(fā)出對(duì)頁(yè)902的刪除指令,存儲(chǔ)器系統(tǒng)也不可能 記得存儲(chǔ)在頁(yè)902中的數(shù)據(jù)是已刪除的數(shù)據(jù),這是因?yàn)椴淮嬖贔AT信息。出于該原因,實(shí)際上僅在已經(jīng)從主機(jī)設(shè)備接收到這樣的指令的情況下可以刪除數(shù) 據(jù),該指令指示將存儲(chǔ)在塊的頁(yè)中的數(shù)據(jù)全部刪除。換言之,當(dāng)存在沒(méi)有頁(yè)在其中存儲(chǔ)有效 數(shù)據(jù)的塊時(shí),不可能立即擦除數(shù)據(jù)以使該塊返回到可以對(duì)其寫(xiě)入新數(shù)據(jù)的狀態(tài)。由此,存在 這樣的可能性,即不必要地減少了可寫(xiě)入的塊的數(shù)目以及在閃速存儲(chǔ)器中會(huì)發(fā)生分段存儲(chǔ) (fragmentation) 0
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,一種控制器包括轉(zhuǎn)譯表存儲(chǔ)單元,其存儲(chǔ)轉(zhuǎn)譯表,在所 述轉(zhuǎn)譯表中邏輯地址和物理地址保持彼此相對(duì)應(yīng),每一個(gè)所述邏輯地址指示在閃速存儲(chǔ)器 中的區(qū)域中的虛擬位置,而每一個(gè)所述物理地址以頁(yè)為單位指示在所述閃速存儲(chǔ)器中的所 述區(qū)域中的物理位置;FAT信息存儲(chǔ)單元,其存儲(chǔ)文件分配表(FAT)信息和FAT信息標(biāo)識(shí)符 (identifier),所述FAT信息和所述FAT信息標(biāo)識(shí)符保持彼此相對(duì)應(yīng),每一條所述FAT信 息指示在作為與多個(gè)頁(yè)對(duì)應(yīng)的區(qū)域的塊當(dāng)中的一個(gè)塊中所包含的頁(yè)當(dāng)中的對(duì)應(yīng)的一個(gè)頁(yè) 中所存儲(chǔ)的數(shù)據(jù)的狀態(tài),而每一個(gè)所述FAT信息標(biāo)識(shí)符識(shí)別這樣的頁(yè)所屬于的塊當(dāng)中的不 同的一個(gè)塊,這些頁(yè)中的每一個(gè)都存儲(chǔ)有處于由所述FAT信息中的對(duì)應(yīng)的一條所指示的狀 態(tài)下的數(shù)據(jù);塊管理表存儲(chǔ)單元,其存儲(chǔ)塊管理表,在所述塊管理表中,塊標(biāo)識(shí)符、使用狀態(tài) 判斷信息和所述FAT信息標(biāo)識(shí)符保持彼此相對(duì)應(yīng),每一個(gè)所述塊標(biāo)識(shí)符識(shí)別所述塊中的不 同的一個(gè)塊,每一條所述使用狀態(tài)判斷信息指示所述塊中的對(duì)應(yīng)的一個(gè)塊是“已使用”還是 “未使用”,所述FAT信息標(biāo)識(shí)符分別保持與所有這樣的塊相對(duì)應(yīng),這些塊中的每一個(gè)通過(guò) 所述使用狀態(tài)判斷信息中的對(duì)應(yīng)的一條而被指示為“已使用”;以及控制器控制單元,其通 過(guò)使用所述轉(zhuǎn)譯表、所述FAT信息以及所述塊管理表來(lái)管理在所述閃速存儲(chǔ)器中存儲(chǔ)的數(shù) 據(jù)。根據(jù)本發(fā)明的另一方面,一種存儲(chǔ)器系統(tǒng)包括控制器,所述控制器包括轉(zhuǎn)譯表 存儲(chǔ)單元,其存儲(chǔ)轉(zhuǎn)譯表,在所述轉(zhuǎn)譯表中邏輯地址和物理地址保持彼此相對(duì)應(yīng),每一個(gè)所 述邏輯地址指示在閃速存儲(chǔ)器中的區(qū)域中的虛擬位置,每一個(gè)所述物理地址以頁(yè)為單位指示在所述閃速存儲(chǔ)器中的所述區(qū)域中的物理位置;FAT信息存儲(chǔ)單元,其存儲(chǔ)文件分配表 (FAT)信息和FAT信息標(biāo)識(shí)符,所述FAT信息和所述FAT信息標(biāo)識(shí)符保持彼此相對(duì)應(yīng),每一 條所述FAT信息指示在作為與多個(gè)頁(yè)對(duì)應(yīng)的區(qū)域的塊當(dāng)中的一個(gè)塊中所包含的頁(yè)當(dāng)中的 對(duì)應(yīng)的一個(gè)頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài),而每一個(gè)所述FAT信息標(biāo)識(shí)符識(shí)別這樣的頁(yè)所屬于 的塊當(dāng)中的不同的一個(gè)塊,這些頁(yè)中的每一個(gè)都存儲(chǔ)有處于由所述FAT信息中的對(duì)應(yīng)的一 條所指示的狀態(tài)下的數(shù)據(jù);塊管理表存儲(chǔ)單元,其存儲(chǔ)塊管理表,在所述塊管理表中,塊標(biāo) 識(shí)符、使用狀態(tài)判斷信息和所述FAT信息標(biāo)識(shí)符保持彼此相對(duì)應(yīng),每一個(gè)所述塊標(biāo)識(shí)符識(shí) 別所述塊中的不同的一個(gè)塊,每一條所述使用狀態(tài)判斷信息指示所述塊中的對(duì)應(yīng)的一個(gè)塊 是“已使用,,還是“未使用”,所述FAT信息標(biāo)識(shí)符分別保持與所有這樣的塊相對(duì)應(yīng),這些塊 中的每一個(gè)通過(guò)所述使用狀態(tài)判斷信息中的對(duì)應(yīng)的一條而被指示為“已使用”;以及控 制器 控制單元,其通過(guò)使用所述轉(zhuǎn)譯表、所述FAT信息以及所述塊管理表來(lái)管理在所述閃速存 儲(chǔ)器中存儲(chǔ)的數(shù)據(jù);所述存儲(chǔ)器系統(tǒng)還包括閃速存儲(chǔ)器,其存儲(chǔ)由所述控制器管理的數(shù)據(jù)。
圖1是根據(jù)本發(fā)明的第一實(shí)施例的存儲(chǔ)器系統(tǒng)的框圖;圖2是示例轉(zhuǎn)譯表的實(shí)例的圖;圖3是示例FAT信息的實(shí)例的圖;圖4是示例塊管理表的實(shí)例的圖;圖5是在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)中執(zhí)行的刪除操作的流程圖的實(shí)例;圖6是示例刪除指令的內(nèi)容的實(shí)例的圖;圖7是根據(jù)第一實(shí)施例的刪除處理的流程圖的實(shí)例;圖8是示例存儲(chǔ)在頁(yè)中的數(shù)據(jù)的狀態(tài)的實(shí)例的圖;圖9是示例在已經(jīng)完成刪除處理之后的塊中的數(shù)據(jù)的實(shí)例的圖;圖10是示例在已經(jīng)完成刪除處理之后獲得的轉(zhuǎn)譯表的實(shí)例的圖;圖11是示例在已經(jīng)完成另一刪除處理之后獲得的塊管理表的實(shí)例的圖;圖12是示例在已經(jīng)完成所述另一刪除處理之后的塊中的數(shù)據(jù)的實(shí)例的圖;圖13是示例在已經(jīng)完成所述另一刪除處理之后獲得的轉(zhuǎn)譯表的實(shí)例的圖;圖14是在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)中執(zhí)行的讀取操作的流程圖的實(shí)例;圖15是根據(jù)第一實(shí)施例的讀取處理的流程圖的實(shí)例;圖16是在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)中執(zhí)行的寫(xiě)入操作的流程圖的實(shí)例;圖17是根據(jù)第一實(shí)施例的寫(xiě)入處理的流程圖的實(shí)例;圖18是根據(jù)第一實(shí)施例的塊寫(xiě)入處理的流程圖的實(shí)例;圖19是根據(jù)第一實(shí)施例的頁(yè)寫(xiě)入處理的流程圖的實(shí)例;圖20是示例在已經(jīng)完成寫(xiě)入處理之后獲得的塊管理表的實(shí)例的圖;圖21是示例在已經(jīng)完成寫(xiě)入處理之后的塊中的數(shù)據(jù)的實(shí)例的圖;圖22是示例在已經(jīng)完成寫(xiě)入處理之后獲得的轉(zhuǎn)譯表的實(shí)例的圖;圖23是示例在已經(jīng)完成另一寫(xiě)入處理之后獲得的塊管理表的實(shí)例的圖;圖24是示例在已經(jīng)完成所述另一寫(xiě)入處理之后的塊中的數(shù)據(jù)的實(shí)例的圖;圖25是示例在已經(jīng)完成所述另一寫(xiě)入處理之后獲得的轉(zhuǎn)譯表的實(shí)例的圖26是根據(jù)本發(fā)明的第二實(shí)施例的存儲(chǔ)器系統(tǒng)的框圖;圖27是根據(jù)第二實(shí)施例的刪除處理的流程圖的實(shí)例;圖28是示例在已經(jīng)完成刪除處理之后獲得的轉(zhuǎn)譯表的實(shí)例的圖;圖29是示例在常規(guī)存儲(chǔ)器系統(tǒng)中使用的數(shù)據(jù)管理方法的實(shí)例的圖;以及 圖30是示例在常規(guī)存儲(chǔ)器系統(tǒng)中使用的數(shù)據(jù)管理方法的另一實(shí)例的圖。
具體實(shí)施例方式將參考附圖來(lái)詳細(xì)解釋根據(jù)本發(fā)明的控制器和存儲(chǔ)器系統(tǒng)的示例性實(shí)施例。在下 面的示例性實(shí)施例的描述中,在解釋時(shí)將使用固態(tài)盤(pán)(SSD)作為存儲(chǔ)器系統(tǒng)的實(shí)例;然而, 本發(fā)明并不局限于該實(shí)例。首先,將解釋根據(jù)本發(fā)明的第一實(shí)施例的存儲(chǔ)器系統(tǒng)的配置。圖1是根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)1的示例性框圖。通過(guò)外部總線3將存儲(chǔ)器系統(tǒng)1連接到主機(jī)設(shè)備2,該主機(jī)設(shè)備2是例如個(gè)人計(jì)算 機(jī)(PC)。存儲(chǔ)器系統(tǒng)1包括控制器10和多個(gè)閃速存儲(chǔ)器11。通過(guò)專用總線12將控制器 10連接到多個(gè)閃速存儲(chǔ)器11。并且,通過(guò)外部總線3和在控制器10的內(nèi)部提供的數(shù)據(jù)總 線15以及專用總線12,將主機(jī)設(shè)備2連接到多個(gè)閃速存儲(chǔ)器11??刂破?0從主機(jī)設(shè)備2接收各種類型的指令(即,命令)并對(duì)閃速存儲(chǔ)器11執(zhí) 行各種類型的處理??刂破?0包括指令控制單元22 ;閃速存儲(chǔ)器控制單元24 ;數(shù)據(jù)傳送 控制單元26 ;控制器控制單元28 ;數(shù)據(jù)傳送存儲(chǔ)器30 ;轉(zhuǎn)譯表存儲(chǔ)單元32 ;FAT信息存儲(chǔ)單 元34 ;塊管理表存儲(chǔ)單元36 ;以及工作存儲(chǔ)器38。通過(guò)外部總線3將指令控制單元22連接到主機(jī)設(shè)備2。指令控制單元22接收由 主機(jī)設(shè)備2發(fā)出的各種類型的指令,例如讀取指令、寫(xiě)入指令以及刪除指令,并向主機(jī)設(shè)備 2返回響應(yīng)。通過(guò)專用總線12將閃速存儲(chǔ)器控制單元24連接到多個(gè)閃速存儲(chǔ)器11。根據(jù)由指 令控制單元22接收到的每一個(gè)指令,閃速存儲(chǔ)器控制單元24從閃速存儲(chǔ)器11刪除數(shù)據(jù)、 讀取數(shù)據(jù),或向閃速存儲(chǔ)器11中寫(xiě)入數(shù)據(jù)。數(shù)據(jù)傳送控制單元26被連接到數(shù)據(jù)總線15且在主機(jī)設(shè)備2與閃速存儲(chǔ)器11之 間傳送數(shù)據(jù)。更具體而言,當(dāng)受到指令控制單元22或閃速存儲(chǔ)器控制單元26的指示時(shí),數(shù) 據(jù)傳送控制單元26將在連接到數(shù)據(jù)總線15的數(shù)據(jù)傳送存儲(chǔ)器30中所存儲(chǔ)的數(shù)據(jù)傳送到 主機(jī)裝置2或閃速存儲(chǔ)器11。通過(guò)使用例如直接存儲(chǔ)器存取控制器(DMAC)實(shí)現(xiàn)數(shù)據(jù)傳送 控制單元26。將數(shù)據(jù)傳送存儲(chǔ)器30配置為在其中暫時(shí)存儲(chǔ)將要傳送的數(shù)據(jù),直到數(shù)據(jù)傳送控 制單元26執(zhí)行數(shù)據(jù)傳送處理為止。更具體而言,數(shù)據(jù)傳送存儲(chǔ)器30在其中暫時(shí)存儲(chǔ)從主 機(jī)設(shè)備2寫(xiě)入的數(shù)據(jù)或從閃速存儲(chǔ)器11讀取的數(shù)據(jù)。通過(guò)使用例如易失性隨機(jī)存取存儲(chǔ) 器(RAM)來(lái)實(shí)現(xiàn)數(shù)據(jù)傳送存儲(chǔ)器30。根據(jù)第一實(shí)施例,數(shù)據(jù)傳送存儲(chǔ)器30在其中存儲(chǔ)用于指令控制單元22的數(shù)據(jù)和 用于閃速存儲(chǔ)器控制單元24的數(shù)據(jù)二者。然而,可接受這樣的另一設(shè)置,在該設(shè)置中,存儲(chǔ) 器系統(tǒng)1分離地包括其中存儲(chǔ)用于指令控制單元22的數(shù)據(jù)的數(shù)據(jù)傳送存儲(chǔ)器和其中存儲(chǔ) 用于閃速存儲(chǔ)器控制單元24的數(shù)據(jù)的另一數(shù)據(jù)傳送存儲(chǔ)器。
轉(zhuǎn)譯表存儲(chǔ)單元32在其中存儲(chǔ)轉(zhuǎn)譯表,在該轉(zhuǎn)譯表中邏輯地址和物理地址保持彼此對(duì)應(yīng)。每一個(gè)邏輯地址指示在閃速存儲(chǔ)器11中的區(qū)域中的虛擬位置,而每一個(gè)物理地 址以頁(yè)為單位指示閃速存儲(chǔ)器11中的區(qū)域中的物理位置。圖2是示例轉(zhuǎn)譯表的實(shí)例的圖。在圖2示出的實(shí)例中,例如,邏輯地址LO和物理 地址BO保持彼此對(duì)應(yīng);然而,該對(duì)應(yīng)關(guān)系不是固定的。當(dāng)已經(jīng)執(zhí)行了從閃速存儲(chǔ)器11刪除 數(shù)據(jù)的刪除處理或向閃速存儲(chǔ)器11中寫(xiě)入數(shù)據(jù)的寫(xiě)入處理時(shí),控制器控制單元28(稍后解 釋)更新該對(duì)應(yīng)關(guān)系。FAT信息存儲(chǔ)單元34在其中存儲(chǔ)文件分配表(FAT)信息和FAT信息標(biāo)識(shí)符,并使 它們保持彼此對(duì)應(yīng)。每一條FAT信息指示在作為與多個(gè)頁(yè)對(duì)應(yīng)的區(qū)域的塊當(dāng)中的一個(gè)塊中 所包含的多個(gè)頁(yè)當(dāng)中的對(duì)應(yīng)的一個(gè)頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài),而每一個(gè)FAT信息標(biāo)識(shí)符識(shí) 別這樣的頁(yè)所屬于的塊當(dāng)中的不同的一個(gè)塊,這些頁(yè)中的每一個(gè)都在其中存儲(chǔ)有處于由所 述FAT信息中的對(duì)應(yīng)的一條所指示的狀態(tài)下的數(shù)據(jù)。圖3是示例在FAT信息存儲(chǔ)單元34中存儲(chǔ)的FAT信息的實(shí)例的圖。在圖3中示 出的實(shí)例中,一個(gè)塊是與10個(gè)頁(yè)對(duì)應(yīng)的區(qū)域。頁(yè)的FAT信息以塊為單位進(jìn)行管理,并保持 與FAT信息標(biāo)識(shí)符相對(duì)應(yīng)。對(duì)于每一條FAT信息,“N/A”表示“未寫(xiě)入”,“ IV”表示“無(wú)效”, 而“V”表示“有效”。此外,“D”表示“已刪除”,雖然在圖3示出的實(shí)例中沒(méi)有FAT信息指示 “已刪除”。塊管理表存儲(chǔ)單元36在其中存儲(chǔ)塊管理表,在塊管理表中塊標(biāo)識(shí)符、使用狀態(tài)判 斷信息和FAT信息標(biāo)識(shí)符保持彼此對(duì)應(yīng)。每一個(gè)塊標(biāo)識(shí)符識(shí)別塊當(dāng)中的不同的一個(gè)塊,而 每一條使用狀態(tài)判斷信息指示塊當(dāng)中的對(duì)應(yīng)的一個(gè)塊是已使用還是未使用,同時(shí)FAT信息 標(biāo)識(shí)符分別保持與所有這樣的塊相對(duì)應(yīng),這些塊中的每一個(gè)由使用狀態(tài)判斷信息中對(duì)應(yīng)的 一條指示為“已使用”。圖4是示例塊管理表的實(shí)例的圖。在圖4示出的實(shí)例中,利用塊標(biāo)識(shí)符A和塊標(biāo) 識(shí)符B識(shí)別的塊均被使用狀態(tài)判斷信息指示為“已使用”,并且分別與FAT信息標(biāo)識(shí)符保持 相對(duì)應(yīng)。利用該設(shè)置,可以參考與FAT信息存儲(chǔ)單元34中的FAT信息標(biāo)識(shí)符保持相對(duì)應(yīng)的 每一條FAT信息,并判定在任何一個(gè)塊中所包含的每一個(gè)頁(yè)中的數(shù)據(jù)的狀態(tài)??刂破骺刂茊卧?8控制指令控制單元22、閃速存儲(chǔ)器控制單元24以及數(shù)據(jù)傳送 控制單元26的操作??刂破骺刂茊卧?8通過(guò)控制這些控制單元的操作來(lái)控制在主機(jī)設(shè)備 2與閃速存儲(chǔ)器11之間的數(shù)據(jù)傳送。此外,控制器控制單元28通過(guò)使用轉(zhuǎn)譯表、FAT信息以及塊管理表來(lái)管理在多個(gè) 閃速存儲(chǔ)器11中存儲(chǔ)的數(shù)據(jù)。更具體而言,根據(jù)由主機(jī)設(shè)備2發(fā)出的每一個(gè)指令的內(nèi)容, 控制器控制單元28通過(guò)更新轉(zhuǎn)譯表、FAT信息以及塊管理表來(lái)管理在多個(gè)閃速存儲(chǔ)器11中 存儲(chǔ)的數(shù)據(jù)。通過(guò)使用例如存儲(chǔ)器來(lái)實(shí)現(xiàn)轉(zhuǎn)譯表存儲(chǔ)單元32、FAT信息存儲(chǔ)單元34以及塊管理 表存儲(chǔ)單元36中的每一個(gè)。工作存儲(chǔ)器38用作用于由控制器控制單元28執(zhí)行的各種類型的處理的工作區(qū) 域。轉(zhuǎn)譯表、FAT信息、塊管理表等等被加載到工作存儲(chǔ)器38中。通過(guò)使用例如易失性隨 機(jī)存取存儲(chǔ)器(RAM)來(lái)實(shí)現(xiàn)工作存儲(chǔ)器38。另一設(shè)置是可以接受的,在該另一設(shè)置中,工作 存儲(chǔ)器38還可以用作選自下列單元的至少一個(gè)單元轉(zhuǎn)譯表存儲(chǔ)單元32、FAT信息存儲(chǔ)單元34、以及塊管理表存儲(chǔ)單元36。接下來(lái),將解釋在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)中執(zhí)行的刪除操作。圖5是在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)1中執(zhí)行的刪除操作的過(guò)程的實(shí)例的流程 圖。首先,指令控制單元2接收由主機(jī)裝置2發(fā)出的刪除指令(步驟100)。除了指示 指令的類型是刪除的信息之外,刪除指令還包含指示將要從其中刪除數(shù)據(jù)的閃速存儲(chǔ)器11 中的區(qū)域的首部(head)的邏輯地址和指示將要?jiǎng)h除的數(shù)據(jù)的大小的信息。圖6是示例刪 除指令的內(nèi)容的實(shí)例的圖。在圖6示出的實(shí)例中,指示出指令的內(nèi)容是刪除,而首部邏輯地 址為L(zhǎng)0,同時(shí)將要?jiǎng)h除的數(shù)據(jù)的大小為256千字節(jié)(KB)。隨后,指令控制單元22向控制器控制單元28通知所接收的刪除指令(步驟 S102)。指令控制單元22在通過(guò)例如檢查以確認(rèn)是否實(shí)際存在該首部邏輯地址和大小是否 合適來(lái)檢驗(yàn)刪除指令之后,向控制器控制單元28通知所接收的刪除指令。在通過(guò)控制器控 制單元28檢驗(yàn)刪除指令的情況下,指令控制單元22將所接收的刪除指令傳遞給控制器控 制單元28而不檢驗(yàn)所接收的刪除指令。此后,通過(guò)參考在刪除指令中所指示的大小,控制器控制單元28進(jìn)行檢查以確 認(rèn)刪除范圍是否遍布(extend over)閃速存儲(chǔ)器中的多個(gè)頁(yè)(即,多個(gè)物理地址)(步驟 104)。在刪除范圍遍布多個(gè)頁(yè)的情況下(步驟S104 是),控制器控制單元28將所接 收的刪除指令分割為以頁(yè)為單位的刪除指令,從而將刪除范圍分割以頁(yè)為單位的段(步驟 S106)。相反,在刪除范圍沒(méi)有遍布多個(gè)頁(yè)的情況下(步驟S104:否),控制器控制單元28 不執(zhí)行步驟S106處的處理。隨后,控制器控制單元28根據(jù)一個(gè)或多個(gè)刪除指令執(zhí)行刪除處理(步驟S108)。 在已經(jīng)將刪除指令分割為多個(gè)刪除指令的情況下,控制器控制單元28執(zhí)行與所述多個(gè)刪 除指令對(duì)應(yīng)的刪除處理。換言之,控制器控制單元28對(duì)刪除范圍中的每一個(gè)頁(yè)執(zhí)行刪除處 理。稍后將解釋刪除處理的細(xì)節(jié)。此后,當(dāng)完成了所有刪除處理時(shí),控制器控制單元28向指令控制單元22通知?jiǎng)h除 處理已完成(步驟S110)。隨后,指令控制單元22向主機(jī)設(shè)備2通知基于所接收的刪除指令的刪除處理已完 成(步驟Sl 12)。根據(jù)該通知,在存儲(chǔ)器系統(tǒng)1中執(zhí)行的刪除操作已完成。由此,主機(jī)設(shè)備2能夠向 存儲(chǔ)器系統(tǒng)1發(fā)送下一個(gè)指令。圖7是在圖5示出的步驟S108處執(zhí)行的刪除處理中的過(guò)程的實(shí)例。首先,控制器控制單元28參考轉(zhuǎn)譯表并檢查以確認(rèn)是否存在與作為處理對(duì)象的 邏輯地址對(duì)應(yīng)的物理地址(步驟S120)。在不存在與作為處理對(duì)象的邏輯地址對(duì)應(yīng)的物理 地址的情況下(步驟S120 否),處理結(jié)束。隨后,在存在與作為處理對(duì)象的邏輯地址對(duì)應(yīng)的物理地址的情況下(步驟S120 是),控制器控制單元28參考?jí)K管理表并從FAT信息存儲(chǔ)單元34搜尋由該物理地址所指示 的頁(yè)的FAT信息??刂破骺刂茊卧?8然后將在搜尋中尋找到的FAT信息更新為指示“D”, 該“D”表示“已刪除”(步驟S122)。
之后,控制器控制單元28從轉(zhuǎn)譯表刪除一表目(entry),該表目表明作為處理對(duì) 象的邏輯地址與物理地址之間的對(duì)應(yīng)關(guān)系(步驟S124)。隨后,控制器控制單元28掃描包含其FAT信息已經(jīng)被更新為指示“D”的頁(yè)的塊中 的所有頁(yè)的FAT信息,并進(jìn)行檢查以確認(rèn)所有頁(yè)的每一條FAT信息是否都指示表示“已刪 除”的“D”或表示“無(wú)效”的“IV” (步驟S126)。在與所有頁(yè)對(duì)應(yīng)的FAT信息中的至少一條 不指示“D”或“ IV”的情況下(步驟S126 否),處理結(jié)束。 相反地,在所有頁(yè)的FAT信息中的每一條都指示“D”或“IV”的情況下(步驟S126 是),控制器控制單元28從塊管理表刪除與該塊的塊標(biāo)識(shí)符對(duì)應(yīng)的FAT信息標(biāo)識(shí)符(步驟 S128)。之后,控制器控制單元28通過(guò)更新塊管理表以使與該塊的塊標(biāo)識(shí)符對(duì)應(yīng)的使用 狀態(tài)判斷信息指示“未使用”,使該塊變?yōu)槲词褂脿顟B(tài)(步驟S130)。接下來(lái),將解釋在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)中執(zhí)行的刪除操作的具體實(shí)例。圖8是示例在包含在塊中的頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài)的示例性示意圖。在圖8示 出的實(shí)例中,示出了塊A和B,以及指示包含在每一個(gè)塊中的頁(yè)的物理地址和這些頁(yè)的FAT 信息。在圖2、3和4中分別示出了與在圖8中示出的狀態(tài)對(duì)應(yīng)的轉(zhuǎn)譯表、FAT信息以及塊 管理表。在下面的部分中,將參考圖5和7中的流程圖來(lái)解釋當(dāng)在圖8示出的狀態(tài)下已從 主機(jī)設(shè)備2接收到對(duì)邏輯地址LO至L7的刪除指令時(shí)執(zhí)行的存儲(chǔ)器系統(tǒng)1的操作。首先,指令控制單元22接收由主機(jī)設(shè)備2發(fā)出的刪除指令并向控制器控制單元28 通知所接收的刪除指令(圖5中的步驟SlOO和S102)。隨后,因?yàn)閯h除范圍為邏輯地址LO至L7,控制器控制單元28確認(rèn)該刪除范圍遍 布閃速存儲(chǔ)器中的八個(gè)頁(yè)(即,多個(gè)物理地址),并由此將刪除指令分割為分別對(duì)應(yīng)于八個(gè) 頁(yè)的刪除指令(即,這些刪除指令中的每一個(gè)都對(duì)應(yīng)于邏輯地址LO至L7當(dāng)中的不同的一 個(gè))(圖5中的步驟S104和S106)。因此,控制器控制單元28執(zhí)行對(duì)應(yīng)于八個(gè)頁(yè)的刪除處理(圖5中的步驟S108)。此后,控制器控制單元28首先參考在圖2中示出的轉(zhuǎn)譯表并確認(rèn)存在與作為處理 對(duì)象的邏輯地址LO對(duì)應(yīng)的物理地址BO (圖7中的步驟S120)。隨后,控制器控制單元28參考在圖4中示出的塊管理表并搜尋與塊標(biāo)識(shí)符B對(duì)應(yīng) 的FAT信息標(biāo)識(shí)符21,其中塊標(biāo)識(shí)符B識(shí)別包含由物理地址BO指示的頁(yè)的塊B。之后,控 制器控制單元28進(jìn)一步從與FAT信息標(biāo)識(shí)符21對(duì)應(yīng)的頁(yè)的FAT信息中搜尋由物理地址BO 指示的頁(yè)的FAT信息。然后,控制器控制單元28將在搜尋中尋找到的那條FAT信息更新為 指示“D” (圖7中的步驟S122)。隨后,控制器控制單元28從圖2示出的轉(zhuǎn)譯表中刪除一表目,該表目表明物理地 址BO與邏輯地址LO之間的對(duì)應(yīng)關(guān)系(圖7中的步驟S124)。之后,控制器控制單元28掃描在塊B中的所有頁(yè)的FAT信息(即,對(duì)應(yīng)于FAT信 息標(biāo)識(shí)符21的所有FAT信息)。然而,因?yàn)榕c所有頁(yè)對(duì)應(yīng)的FAT信息中的至少一條沒(méi)有指 示“D”或“IV”,在此時(shí)結(jié)束對(duì)邏輯地址LO執(zhí)行的處理(圖7中的步驟S126)。然而,應(yīng)注意,尚未處理邏輯地址Ll至L7,并且尚未全部處理完刪除范圍。由此, 控制器控制單元28對(duì)邏輯地址Ll至L7中的每一個(gè)重復(fù)執(zhí)行這里所描述的刪除處理(即,圖7中的步驟S120至S126)。將省略對(duì)邏輯地址Ll至L7執(zhí)行的刪除處理的解釋。隨后,當(dāng)已完成了所有刪除處理時(shí),控制器控制單元28向指令控制單元22通知已 經(jīng)完成刪除處理。指令控制單元22向主機(jī)設(shè)備2通知已經(jīng)完成基于所接收的刪除指令的 刪除處理(圖5中的步驟SllO和Sl 12)。圖9是示例在已經(jīng)完成對(duì)邏輯地址LO至L7的刪除處理之后的塊中所包含的頁(yè)中 所存儲(chǔ)的數(shù)據(jù)的狀態(tài)的示意圖。圖10是示例在已經(jīng)完成對(duì)邏輯地址LO至L7的刪除處理 之后所獲得的轉(zhuǎn)譯表的狀態(tài)的圖。如圖9所示,在已經(jīng)完成了對(duì)邏輯地址LO至L7的刪除處理之后的塊中,由分別 與邏輯地址LO至L7對(duì)應(yīng)的物理地址B0、Bi、B2、A3、A4、B3、B5和B4所指示的頁(yè)的每一條 FAT信息都指示“D”。并且,如在圖10中所示,在已經(jīng)完成了對(duì)邏輯地址LO至L7的刪除處 理之后獲得的轉(zhuǎn)譯表中,已經(jīng)刪除了表明邏輯地址LO至L7與物理地址B0、B1、B2、A3、A4、 B3、B5和B4之間的對(duì)應(yīng)關(guān)系的所有表目。接下來(lái),將參考圖5和7中的流程圖來(lái)解釋當(dāng)在圖9示出的狀態(tài)下進(jìn)一步從主機(jī)設(shè)備2接收到對(duì)邏輯地址L8的刪除指令時(shí)執(zhí)行的存儲(chǔ)器系統(tǒng)1的刪除操作。首先,指令控制單元22接收由主機(jī)設(shè)備2發(fā)出的刪除指令并向控制器控制單元28 通知所接收的刪除指令(圖5中的步驟SlOO和S102)。隨后,因?yàn)閯h除范圍僅為邏輯地址L8,控制器控制單元28確認(rèn)刪除范圍沒(méi)有遍 布閃速存儲(chǔ)器中的多個(gè)頁(yè)(即,多個(gè)物理地址),并由此不分割刪除指令(圖5中的步驟 S104)。因此,控制器控制單元28執(zhí)行對(duì)應(yīng)于一個(gè)頁(yè)的刪除處理(圖5中的步驟S108)。之后,控制器控制單元28首先參考在圖10中示出的轉(zhuǎn)譯表并確認(rèn)存在與作為處 理對(duì)象的邏輯地址L8對(duì)應(yīng)的物理地址B6 (圖7中的步驟S120)。隨后,控制器控制單元28參考在圖4中示出的塊管理表并搜尋與塊標(biāo)識(shí)符B對(duì)應(yīng) 的FAT信息標(biāo)識(shí)符21,其中塊標(biāo)識(shí)符B識(shí)別包含由物理地址B6所指示的頁(yè)的塊B。之后, 控制器控制單元28進(jìn)一步從與FAT信息標(biāo)識(shí)符21對(duì)應(yīng)的頁(yè)的FAT信息中搜尋由物理地址 B6指示的頁(yè)的FAT信息。然后,控制器控制單元28將在搜尋中尋找到的那條FAT信息更新 為指示“D”(圖7中的步驟S122)。隨后,控制器控制單元28從圖10示出的轉(zhuǎn)譯表中刪除一表目,該表目表明物理地 址B6與邏輯地址L8之間的對(duì)應(yīng)關(guān)系(圖7中的步驟S124)。之后,控制器控制單元28掃描在塊B中的所有頁(yè)的FAT信息(即,對(duì)應(yīng)于FAT信 息標(biāo)識(shí)符21的所有FAT信息)并確認(rèn)與所有頁(yè)對(duì)應(yīng)的每一條FAT信息是否都指示表示“已 刪除”的“D”或表示“無(wú)效”的“ IV”,(圖7中的步驟S126)。隨后,因?yàn)榕c所有頁(yè)對(duì)應(yīng)的每一條FAT信息指示“D”或“N/A”,控制器控制單元28 從圖4示出的塊管理表刪除與識(shí)別塊B的塊標(biāo)識(shí)符B對(duì)應(yīng)的FAT信息標(biāo)識(shí)符21,并將與塊 標(biāo)識(shí)符B對(duì)應(yīng)的使用狀態(tài)判斷信息更新為指示“未使用”(圖7中的步驟S128和S130)。之 后,因?yàn)橐呀?jīng)全部處理了刪除范圍,控制器控制單元28結(jié)束刪除處理。隨后,當(dāng)已完成刪除處理時(shí),控制器控制單元28向指令控制單元22通知已經(jīng)完成 刪除處理。指令控制單元22向主機(jī)設(shè)備2通知已經(jīng)完成了基于所接收的刪除指令的刪除 處理(圖5中的步驟SllO和Sl 12)。
圖11是示例在已經(jīng)完成對(duì)邏輯地址L8的刪除處理之后獲得的塊管理表的狀態(tài)的圖。圖12是示例在已經(jīng)完成對(duì)邏輯地址L8的刪除處理之后的塊中所包含的頁(yè)中所存儲(chǔ)的 數(shù)據(jù)的狀態(tài)的示意圖。圖13是示例在已經(jīng)完成對(duì)邏輯地址L8的刪除處理之后獲得的轉(zhuǎn)譯 表的狀態(tài)的圖。如圖11所示,在已經(jīng)完成對(duì)邏輯地址L8的刪除處理之后獲得的塊管理表中,與塊 B對(duì)應(yīng)的使用狀態(tài)判斷信息指示“未使用”,并且FAT信息標(biāo)識(shí)符21已被刪除。因此,如圖 12所示,已經(jīng)取消了包含在塊B中的頁(yè)與通過(guò)FAT信息標(biāo)識(shí)符21識(shí)別的FAT信息之間的對(duì) 應(yīng)。由此,現(xiàn)在可以再次使用塊B和通過(guò)FAT信息標(biāo)識(shí)符21識(shí)別的FAT信息。此外,如圖13所示,在已經(jīng)完成對(duì)邏輯地址L8的刪除處理之后獲得的轉(zhuǎn)譯表中, 完全刪除了表明邏輯地址L8與物理地址B6之間的對(duì)應(yīng)關(guān)系的表目。如上面所解釋的,根據(jù)第一實(shí)施例,F(xiàn)AT信息保持與包含在正使用的所有塊中的頁(yè) 相對(duì)應(yīng)。由此,可以有效地利用閃速存儲(chǔ)器中的存儲(chǔ)區(qū)域。具體而言,根據(jù)第一實(shí)施例,可以靈活地以頁(yè)為單位處理刪除指令以及以合適的 時(shí)序使塊返回到可再利用的狀態(tài)(即,其中可以在塊中寫(xiě)入數(shù)據(jù)的狀態(tài))。由此,可以更容 易地避免這樣的情況,其中,可寫(xiě)入的塊的數(shù)目不必要地減少以及在閃速存儲(chǔ)器中發(fā)生分 段存儲(chǔ)。因此,還可以防止工作存儲(chǔ)器的使用量的不必要的增加。由此,還可以有效地利用 工作存儲(chǔ)器中的存儲(chǔ)區(qū)域。接下來(lái),將解釋在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)中執(zhí)行的讀取操作。圖14是在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)1中執(zhí)行的讀取操作的過(guò)程的實(shí)例的流 程圖。在下面的部分中,將使用當(dāng)在圖9示出的狀態(tài)下已從主機(jī)設(shè)備2接收到對(duì)邏輯地址 L7和L8的讀取指令時(shí)執(zhí)行的存儲(chǔ)器系統(tǒng)1的操作的實(shí)例,來(lái)具體地解釋讀取操作。在圖 10和圖4中分別示出了與圖9所示的狀態(tài)對(duì)應(yīng)的轉(zhuǎn)譯表和塊管理表。首先,指令控制單元22接收由主機(jī)設(shè)備2發(fā)出的讀取指令(步驟S200)。除了指 示指令的類型是讀取的信息之外,讀取指令還包含指示將要從其中讀取數(shù)據(jù)的閃速存儲(chǔ)器 11中的區(qū)域的首部的邏輯地址以及指示將要讀取的數(shù)據(jù)的大小的信息。在本實(shí)例中,假設(shè) 用于該讀取的首部邏輯地址為L(zhǎng)7,而將要讀取的數(shù)據(jù)的大小是與邏輯地址L7和L8對(duì)應(yīng)的 大小。隨后,指令控制單元22向控制器控制單元28通知所接收的讀取指令(步驟 S202)。之后,通過(guò)參考在讀取指令中指示的大小,控制器控制單元28檢查以確認(rèn)讀取范 圍是否遍布閃速存儲(chǔ)器中的多個(gè)頁(yè)(即,多個(gè)物理地址)(步驟S204)。在本實(shí)例中,控制器控制單元28確認(rèn)讀取范圍對(duì)應(yīng)于邏輯地址L7和L8以及讀取 范圍遍布閃速存儲(chǔ)器中的兩個(gè)頁(yè)(即,多個(gè)物理地址)(步驟204:是)。由此,控制器控制 單元28將所接收的讀取指令分割為分別對(duì)應(yīng)于兩個(gè)頁(yè)的讀取指令(即,這些讀取指令中的 每一個(gè)都對(duì)應(yīng)于邏輯地址L7和L8中的不同的一個(gè))(步驟S206)。相反地,在讀取范圍沒(méi) 有遍布多個(gè)頁(yè)的情況下(步驟S204 否),控制器控制單元28不執(zhí)行步驟S206處的處理。隨后,控制器控制單元28根據(jù)一個(gè)或多個(gè)讀取指令而執(zhí)行讀取處理(步驟S208)。 在讀取指令已被分割為多個(gè)讀取指令的情況下,控制器控制單元28執(zhí)行對(duì)應(yīng)于該多個(gè)讀 取指令的讀取處理。換言之,控制器控制單元28對(duì)讀取范圍中的每一個(gè)頁(yè)執(zhí)行讀取處理。在本實(shí)例中,控制器控制單元28執(zhí)行對(duì)應(yīng)于兩個(gè)頁(yè)的讀取處理。稍后將解釋讀取處理的細(xì)節(jié)。之后,當(dāng)已經(jīng)完成所有讀取處理時(shí),控制器控制單元28向指令控制單元22通知已 經(jīng)完成讀取處理(步驟S210)。隨后,指令控制單元22向主機(jī)設(shè)備2通知已經(jīng)完成基于所接收的讀取指令的讀取 處理(步驟S212)。根據(jù)該通知,在存儲(chǔ)器系統(tǒng)1中執(zhí)行的讀取操作已完成。主機(jī)設(shè)備2由此能夠向 存儲(chǔ)器系統(tǒng)1發(fā)送下一個(gè)指令。圖15是在圖14中示出的步驟S208處執(zhí)行的讀取處理的過(guò)程的實(shí)例的流程圖。首先,控制器控制單元28參考轉(zhuǎn)譯表且檢查以確認(rèn)是否存在與作為處理對(duì)象的 邏輯地址對(duì)應(yīng)的物理地址(步驟S220)。在本實(shí)例中,通過(guò)參考在圖10中示出的轉(zhuǎn)譯表,控 制器控制單元28確認(rèn)不存在對(duì)應(yīng)于邏輯地址L7的物理地址(步驟S220 否)。因?yàn)樵谏鲜鰟h除處理期間,已經(jīng)將由與邏輯地址L7對(duì)應(yīng)的物理地址B4所指示的 頁(yè)的FAT信息更新為指示“D”,并且,已經(jīng)從圖2示出的轉(zhuǎn)譯表刪除了表明邏輯地址L7與物 理地址B4之間的對(duì)應(yīng)關(guān)系的表目,所以不存在對(duì)應(yīng)的物理地址。因此,控制器控制單元28準(zhǔn)備其中整個(gè)數(shù)據(jù)為“0”的空數(shù)據(jù)(步驟S226),并將該 準(zhǔn)備的空數(shù)據(jù)傳送到主機(jī)設(shè)備2,作為對(duì)針對(duì)邏輯地址L7的讀取指令的響應(yīng)(步驟S228)。 由此結(jié)束對(duì)邏輯地址L7執(zhí)行的處理。然而,應(yīng)注意,尚未處理邏輯地址L8,并且尚未全部處理完讀取范圍。因此,控制器 控制單元28進(jìn)一步執(zhí)行對(duì)邏輯地址L8的處理。通過(guò)參考在圖10中示出的轉(zhuǎn)譯表,控制器控制單元28確認(rèn)存在對(duì)應(yīng)于邏輯地址 L8的物理地址B6 (步驟S220 是)。隨后,控制器控制單元28參考在圖4中示出的塊管理表,并搜尋對(duì)應(yīng)于塊標(biāo)識(shí)符B 的FAT信息標(biāo)識(shí)符21,其中塊標(biāo)識(shí)符B識(shí)別包含由物理地址B6指示的頁(yè)的塊B。之后,控 制器控制單元28進(jìn)一步從與FAT信息標(biāo)識(shí)符21對(duì)應(yīng)的頁(yè)的FAT信息中搜尋由物理地址B6 指示的頁(yè)的FAT信息。然后,控制器控制單元28確認(rèn)在搜尋中尋找到的那條FAT信息指示 “V”(步驟 S222 是)。隨后,控制器控制單元28讀取在由物理地址B6指示的頁(yè)中所存儲(chǔ)的數(shù)據(jù)(步驟 S224),并將所讀取的數(shù)據(jù)傳送到主機(jī)設(shè)備2,作為對(duì)針對(duì)邏輯地址L8的讀取指令的響應(yīng) (步驟S228)。相反地,在由物理地址B6指示的頁(yè)的FAT信息不指示“V”的情況下(步驟 S222 否),過(guò)程轉(zhuǎn)到步驟S226,以使控制器控制單元28準(zhǔn)備空數(shù)據(jù)。之后,因?yàn)槿刻幚硗炅俗x取范圍,控制器控制單元28結(jié)束讀取處理。如上面所解釋的,根據(jù)第一實(shí)施例,通過(guò)返回空數(shù)據(jù),對(duì)讀取錯(cuò)誤尋址(address)。 由此,可以簡(jiǎn)化錯(cuò)誤處理。接下來(lái),將解釋在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)中執(zhí)行的寫(xiě)入操作。圖16是在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)1中執(zhí)行的寫(xiě)入操作的過(guò)程的實(shí)例的流 程圖。首先,指令控制單元22接收由主機(jī)設(shè)備2發(fā)出的寫(xiě)入指令(步驟S300)。除了指 示指令的類型是寫(xiě)入的信息之外,寫(xiě)入指令還包含指示將要向其中寫(xiě)入數(shù)據(jù)的閃速存儲(chǔ)器11中的區(qū)域的首部的邏輯地址以及指示將要寫(xiě)入的數(shù)據(jù)的大小的信息。隨后,指令控制單元22開(kāi)始通過(guò)外部總線3接收從主機(jī)設(shè)備2傳輸?shù)膶⒁獙?xiě)入的 數(shù)據(jù),并開(kāi)始在數(shù)據(jù)傳送存儲(chǔ)器30中存儲(chǔ)所接收的將要寫(xiě)入的數(shù)據(jù)(步驟S302)。 之后,指令控制單元22向控制器控制單元28通知所接收的寫(xiě)入指令(步驟 S304)。指令控制單元22還向控制器控制單元28通知將要寫(xiě)入的數(shù)據(jù)在數(shù)據(jù)傳送存儲(chǔ)器 30中存儲(chǔ)的位置(S卩,地址)以及寫(xiě)入指令。隨后,當(dāng)已經(jīng)在數(shù)據(jù)傳送存儲(chǔ)器30中存儲(chǔ)了與寫(xiě)入指令中所指示的大小對(duì)應(yīng)的 將要寫(xiě)入的數(shù)據(jù)時(shí),控制器控制單元28通過(guò)考慮例如下列因素來(lái)判斷是否存在將要寫(xiě)入 閃速存儲(chǔ)器11中的數(shù)據(jù)寫(xiě)入指令中所指示的邏輯地址和大??;數(shù)據(jù)傳送存儲(chǔ)器30的狀 態(tài);以及閃速存儲(chǔ)器11的狀態(tài)(步驟S306)??刂破骺刂茊卧?8通過(guò)例如判斷數(shù)據(jù)傳送存儲(chǔ)器30在其中是否存儲(chǔ)具有與閃速 存儲(chǔ)器11中的每一個(gè)塊的大小(下文中稱為“塊大小”)相同的大小的數(shù)據(jù)串,或者考慮在 數(shù)據(jù)傳送存儲(chǔ)器30中的空閑(free)空間,來(lái)判斷是否存在將要寫(xiě)入閃速存儲(chǔ)器11中的數(shù) 據(jù)。在不存在將要寫(xiě)入的數(shù)據(jù)的情況下(步驟S306 否),通過(guò)參考寫(xiě)入指令中所指示 的邏輯地址以及已存儲(chǔ)在數(shù)據(jù)傳送存儲(chǔ)器30中的數(shù)據(jù)的大小,控制器控制單元28計(jì)算這 樣的邏輯地址并更新轉(zhuǎn)譯表的內(nèi)容,根據(jù)該邏輯地址,數(shù)據(jù)已被存儲(chǔ)到數(shù)據(jù)傳送存儲(chǔ)器30 中(步驟S310)。在本實(shí)例中,為了處理其中由主機(jī)設(shè)備2發(fā)出針對(duì)在寫(xiě)入指令中所指示的邏輯地 址的讀取指令的情況,控制器控制單元28使該邏輯地址在轉(zhuǎn)譯表中與數(shù)據(jù)傳送存儲(chǔ)器30 中的地址相對(duì)應(yīng),以便可以直接從數(shù)據(jù)傳送存儲(chǔ)器30讀取數(shù)據(jù)而不是從閃速存儲(chǔ)器11讀 取數(shù)據(jù)。相反地,在存在將要寫(xiě)入閃速存儲(chǔ)器11中的數(shù)據(jù)的情況下(步驟S306 是),控制 器控制單元28執(zhí)行寫(xiě)入處理,以將數(shù)據(jù)寫(xiě)入閃速存儲(chǔ)器11中(步驟S308)。針對(duì)塊大小或 小于塊大小的大小執(zhí)行寫(xiě)入處理。由此,在將要寫(xiě)入的數(shù)據(jù)的大小大于塊大小的情況下,重 復(fù)地執(zhí)行寫(xiě)入處理,直到針對(duì)將要寫(xiě)入的數(shù)據(jù)的大小完成了寫(xiě)入為止。稍后將解釋寫(xiě)入處 理的細(xì)節(jié)。之后,當(dāng)已經(jīng)完成向閃速存儲(chǔ)器11的寫(xiě)入處理時(shí),控制器控制單元28基于在寫(xiě)入 指令中所指示的邏輯地址與指示閃速存儲(chǔ)器11中已向其中寫(xiě)入數(shù)據(jù)的區(qū)域的物理地址之 間的對(duì)應(yīng)關(guān)系,更新轉(zhuǎn)譯表的內(nèi)容(步驟S310)。隨后,控制器控制單元28向指令控制單元22通知已經(jīng)完成寫(xiě)入處理(步驟 S312)。之后,指令控制單元22向主機(jī)設(shè)備2通知已經(jīng)完成基于所接收的寫(xiě)入指令的寫(xiě)入 處理(步驟S314)。根據(jù)該通知,在存儲(chǔ)器系統(tǒng)1中執(zhí)行的寫(xiě)入操作已完成。由此,主機(jī)設(shè)備2能夠向 存儲(chǔ)器系統(tǒng)1發(fā)送下一個(gè)指令。圖17是在圖16中示出的步驟S308處執(zhí)行的寫(xiě)入處理的過(guò)程的實(shí)例的流程圖。首先,控制器控制單元28檢查以確認(rèn)將要寫(xiě)入的數(shù)據(jù)的大小是否與閃速存儲(chǔ)器 11中的塊大小相同(步驟S320)。
在將要寫(xiě)入的數(shù)據(jù)的大小與塊大小相同的情況下,控制器控制單元28執(zhí)行塊寫(xiě)入處理(步驟S322)。相反地,在將要寫(xiě)入的數(shù)據(jù)的大小小于塊大小的情況下,控制器控制 單元28執(zhí)行頁(yè)寫(xiě)入處理(步驟S324)。在閃速存儲(chǔ)器中,塊寫(xiě)入處理比頁(yè)寫(xiě)入處理容易。 由此,根據(jù)第一實(shí)施例,塊寫(xiě)入處理和頁(yè)寫(xiě)入處理是彼此獨(dú)立的。圖18是在圖17中示出的步驟S322處示出的塊寫(xiě)入處理的過(guò)程的實(shí)例的流程圖。首先,控制器控制單元28從FAT信息存儲(chǔ)單元34獲得與一個(gè)塊對(duì)應(yīng)的未使用的 FAT信息(步驟S330)。在該情況下,控制器控制單元28將所有所獲得的FAT信息中的每 一條都配置為指示“N/A”,該“N/A”表示“未寫(xiě)入”。可以通過(guò)檢查塊管理表以確認(rèn)是否尚 未使標(biāo)識(shí)符與任何的塊相對(duì)應(yīng),來(lái)判斷FAT信息是否是未使用的。隨后,控制器控制單元28獲得在塊管理表中其使用狀態(tài)判斷信息指示“未使用” 的塊(步驟S332)。之后,控制器控制單元28更新塊管理表,以使所獲得的塊的使用狀態(tài)判斷信息指 示“已使用”(步驟S334)。隨后,在塊管理表中,控制器控制單元28使所獲得的塊的塊標(biāo)識(shí)符與所獲得的與 一個(gè)塊對(duì)應(yīng)的FAT信息的FAT信息標(biāo)識(shí)符相對(duì)應(yīng)(步驟S336)。之后,控制器控制單元28指示閃速存儲(chǔ)器控制單元24向所獲得的塊中寫(xiě)入將要 寫(xiě)入的數(shù)據(jù)(步驟S338)。當(dāng)將數(shù)據(jù)新寫(xiě)入閃速存儲(chǔ)器中的任何塊中時(shí),有必要首先擦除在 該塊中的數(shù)據(jù)。然而,只要在寫(xiě)入新數(shù)據(jù)所處的時(shí)間點(diǎn)之前已經(jīng)擦除了舊數(shù)據(jù),那么何時(shí)擦 除舊數(shù)據(jù)并不重要。之后,控制器控制單元28將在數(shù)據(jù)已被寫(xiě)入其中的塊中所包含的頁(yè)的每一條FAT 信息都配置為指示“V”,這表示在這些頁(yè)中所存儲(chǔ)的數(shù)據(jù)是有效的(步驟S340)。隨后,控制器控制單元28參考轉(zhuǎn)譯表,并將由當(dāng)前與作為處理對(duì)象的邏輯地址 (即,在寫(xiě)入指令中所指示的邏輯地址)對(duì)應(yīng)的物理地址所指示的頁(yè)的每一條FAT信息都更 新為指示表示“無(wú)效”的“IV” (步驟S342)。之后,控制器控制單元28掃描包含其FAT信息已被更新為指示“IV”的頁(yè)的塊中 的所有頁(yè)的FAT信息,并進(jìn)行檢查以確認(rèn)與所有頁(yè)對(duì)應(yīng)的每一條FAT信息是否都指示“D” 或“IV”(步驟S344)。在與所有頁(yè)對(duì)應(yīng)的FAT信息中的至少一條不指示“D”或“IV”的情 況下(步驟S344 否),處理結(jié)束。相反地,在與所有頁(yè)對(duì)應(yīng)的每一條FAT信息都指示“D”或“IV”的情況下(步驟 S344 是),控制器控制單元28從塊管理表刪除與識(shí)別該塊的塊標(biāo)識(shí)符對(duì)應(yīng)的FAT信息標(biāo) 識(shí)符(步驟S346)。之后,控制器控制單元28通過(guò)更新塊管理表以使與該塊的塊標(biāo)識(shí)符對(duì)應(yīng)的使用 狀態(tài)判斷信息指示“未使用”,使該塊變?yōu)槲词褂脿顟B(tài)(步驟S348)。圖19是在圖17中示出的步驟324處的頁(yè)寫(xiě)入處理的過(guò)程的實(shí)例的流程圖。首先,控制器控制單元28參考轉(zhuǎn)譯表,并進(jìn)行檢查以確認(rèn)是否已經(jīng)存在與作為處 理對(duì)象的邏輯地址對(duì)應(yīng)的物理地址(步驟S360)。在已經(jīng)存在與作為處理對(duì)象的邏輯地址對(duì)應(yīng)的物理地址的情況下(步驟S360 是),控制器控制單元28從包含由該物理地址指示的頁(yè)的塊中搜尋其FAT信息指示“N/A” 的第一頁(yè)(步驟S362)。
在存在其FAT信息指示“Ν/Α”的頁(yè)的情況下(步驟S364 是),控制器控制單元28 將該頁(yè)規(guī)定為寫(xiě)入頁(yè)(步驟S366)。之后,控制器控制單元28指示閃速存儲(chǔ)器控制單元24向已被規(guī)定為寫(xiě)入頁(yè)的頁(yè) 中寫(xiě)入將要寫(xiě)入的數(shù)據(jù)(步驟S378)。相反地,在不存在與作為處理對(duì)象的邏輯地址對(duì)應(yīng)的物理地址的情況下(步驟 S360 否)或在不存在其FAT信息指示“Ν/Α”的頁(yè)的情況下(步驟S364 否),控制器控制 單元28從FAT信息存儲(chǔ)單元34獲得與一個(gè)塊對(duì)應(yīng)的未使用的FAT信息(步驟S368)。在 該情況下,控制器控制單元28將所有所獲得的FAT信息中的每一條都配置為指示表示“未 寫(xiě)入”的“Ν/Α”。之后,控制器控制單元28獲得在塊管理表中其使用狀態(tài)判斷信息指示“未使用” 的塊(步驟S370)。隨后,控制器控制單元28更新塊管理表,以使所獲得的塊的使用狀態(tài)判斷信息指 示“已使用”(步驟S372)。之后,在塊管理表中,控制器控制單元28使所獲得的塊的塊標(biāo)識(shí)符與所獲得的對(duì) 應(yīng)于一個(gè)塊的FAT信息的FAT信息標(biāo)識(shí)符相對(duì)應(yīng)(步驟S374)。隨后,控制器控制單元28將所獲得的塊的首部頁(yè)規(guī)定為寫(xiě)入頁(yè)(步驟S376)。之后,控制器控制單元28指示閃速存儲(chǔ)器控制單元24向已被規(guī)定為寫(xiě)入頁(yè)的頁(yè) 中寫(xiě)入將要寫(xiě)入的數(shù)據(jù)(步驟S378)。隨后,控制器控制單元28將數(shù)據(jù)已被寫(xiě)入其中的該寫(xiě)入頁(yè)的FAT信息配置為指示 “V”,這表示在頁(yè)中存儲(chǔ)的數(shù)據(jù)是有效的(步驟S380)。之后的處理(S卩,步驟382至S388)與在圖18中示出的塊寫(xiě)入處理的流程圖中的 步驟S342至S348處執(zhí)行的處理相同。由此,將省略對(duì)其的解釋。接下來(lái),將解釋在根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)中執(zhí)行的寫(xiě)入操作的具體實(shí)例。在以下部分中,將參考圖16至19的流程圖,解釋當(dāng)從主機(jī)設(shè)備2已接收到對(duì)尚未 與物理地址相對(duì)應(yīng)的邏輯地址LO至L9的對(duì)應(yīng)于一個(gè)塊的大小的寫(xiě)入指令時(shí)執(zhí)行的存儲(chǔ)器 系統(tǒng)1的寫(xiě)入操作。首先,指令控制單元22接收由主機(jī)設(shè)備2發(fā)出的寫(xiě)入指令,開(kāi)始接收將要寫(xiě)入的 數(shù)據(jù),并且開(kāi)始向數(shù)據(jù)傳送存儲(chǔ)器30中存儲(chǔ)所接收的將要寫(xiě)入的數(shù)據(jù)(圖16中的步驟 S300 和 S302)。之后,指令控制單元22向控制器控制單元28通知將要寫(xiě)入的數(shù)據(jù)在數(shù)據(jù)傳送存 儲(chǔ)器30中的存儲(chǔ)位置以及所接收的寫(xiě)入指令(圖16中的步驟S304)。隨后,當(dāng)已經(jīng)在數(shù)據(jù)傳送存儲(chǔ)器30中存儲(chǔ)了與寫(xiě)入指令中所指示的大小相對(duì)應(yīng) 的將要寫(xiě)入的數(shù)據(jù)時(shí),控制器控制單元28判斷是否存在將要寫(xiě)入閃速存儲(chǔ)器11中的數(shù)據(jù) (圖16中的步驟S306)。在本實(shí)例中,假設(shè)控制器控制單元28判斷存在將要寫(xiě)入閃速存 儲(chǔ)器11中的數(shù)據(jù)并執(zhí)行寫(xiě)入處理(圖16中的步驟S308)。隨后,因?yàn)閷⒁獙?xiě)入的數(shù)據(jù)的大小為一個(gè)塊,控制器 控制單元28執(zhí)行塊寫(xiě)入處理 (圖17中的步驟S322)。之后,控制器控制單元28從FAT信息存儲(chǔ)單元34獲得與一個(gè)塊對(duì)應(yīng)的未使用的 FAT信息(圖18中的步驟S330)。在本實(shí)例中,假設(shè)控制器控制單元28獲得通過(guò)FAT信息標(biāo)識(shí)符10識(shí)別的FAT信息。在該情況下,控制器控制單元28將所有所獲得的通過(guò)FAT 信息標(biāo)識(shí)符10識(shí)別的FAT信息中的每一條都配置為指示表示“未寫(xiě)入”的“N/A”。隨后,控制器控制單元28獲得在塊管理表中其使用狀態(tài)判斷信息指示“未使用” 的塊(圖18中的步驟S332)。在本實(shí)例中,假設(shè)控制器控制單元28獲得通過(guò)塊標(biāo)識(shí)符A 識(shí)別的塊A。 之后,控制器控制單元28更新塊管理表,以使塊A的使用狀態(tài)判斷信息指示“已使 用”,并使FAT信息標(biāo)識(shí)符與塊A相對(duì)應(yīng)(圖18中的步驟S334和S336)。隨后,控制器控制單元28向塊A中寫(xiě)入已存儲(chǔ)在數(shù)據(jù)傳送存儲(chǔ)器30中的將要寫(xiě) 入的數(shù)據(jù),并將在塊A中所包含的頁(yè)的每一條FAT信息都配置為指示“V” (圖18中的步驟 S338 和 S340)。之后,控制器控制單元28參考轉(zhuǎn)譯表,并確認(rèn)不存在當(dāng)前與作為處理對(duì)象的邏輯 地址LO至L9對(duì)應(yīng)的物理地址。由此,將不執(zhí)行在圖18的步驟S342和其后的步驟處的處 理,并結(jié)束塊寫(xiě)入處理。隨后,控制器控制單元28更新具有表目的轉(zhuǎn)譯表的內(nèi)容,使得在其中在寫(xiě)入指令 中所指示的邏輯地址LO至L9保持與指示閃速存儲(chǔ)器11中已寫(xiě)入數(shù)據(jù)的區(qū)域的物理地址 AO至A9相對(duì)應(yīng)(圖16中的步驟S310)。之后,當(dāng)已經(jīng)完成寫(xiě)入處理時(shí),控制器控制單元28向指令控制單元22通知已經(jīng)完 成寫(xiě)入處理。指令控制單元22向主機(jī)設(shè)備2通知已經(jīng)完成基于所接收的寫(xiě)入指令的寫(xiě)入 處理(圖16中的步驟S312和S314)。圖20是示例在已經(jīng)完成對(duì)邏輯地址LO至L9的寫(xiě)入處理之后獲得的塊管理表的 狀態(tài)的圖。圖21是示例在已經(jīng)完成對(duì)邏輯地址LO至L9的寫(xiě)入處理之后的塊中所包含的 頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài)的示意圖。圖22是示例在已經(jīng)完成對(duì)邏輯地址LO至L9的寫(xiě)入 處理之后獲得的轉(zhuǎn)譯表的狀態(tài)的圖。如圖20所示,在已經(jīng)完成對(duì)邏輯地址LO至L9的寫(xiě)入處理之后獲得的塊管理表 中,塊A的使用狀態(tài)判斷信息指示“已使用”,并且已使FAT信息標(biāo)識(shí)符10與塊A相對(duì)應(yīng)。 因此,如圖21所示,包含在塊A中的頁(yè)保持與通過(guò)FAT信息標(biāo)識(shí)符10識(shí)別的FAT信息相對(duì) 應(yīng)。所有FAT信息中的每一條都指示“V”。并且,如圖22所示,在已經(jīng)完成對(duì)邏輯地址LO至L9的寫(xiě)入處理之后獲得的轉(zhuǎn)譯 表示出了在邏輯地址LO至L9與物理地址AO至A9之間的對(duì)應(yīng)關(guān)系。接下來(lái),將參考圖16至19中的流程圖來(lái)解釋當(dāng)在圖21示出的狀態(tài)下已經(jīng)從主機(jī) 設(shè)備2接收到針對(duì)邏輯地址Ll的與一個(gè)頁(yè)的大小對(duì)應(yīng)的寫(xiě)入指令時(shí)執(zhí)行的存儲(chǔ)器系統(tǒng)1 的寫(xiě)入操作。首先,指令控制單元22接收由主機(jī)設(shè)備2發(fā)出的寫(xiě)入指令,開(kāi)始接收將要寫(xiě)入的 數(shù)據(jù),并且開(kāi)始向數(shù)據(jù)傳送存儲(chǔ)器30中存儲(chǔ)所接收的將要寫(xiě)入的數(shù)據(jù)(圖16中的步驟 S300 和 S302)。之后,指令控制單元22向控制器控制單元28通知將要寫(xiě)入的數(shù)據(jù)在數(shù)據(jù)傳送存 儲(chǔ)器30中的存儲(chǔ)位置以及所接收的寫(xiě)入指令(圖16中的步驟S304)。隨后,當(dāng)已經(jīng)在數(shù)據(jù)傳送存儲(chǔ)器30中存儲(chǔ)了與寫(xiě)入指令中所指示的大小對(duì)應(yīng)的 將要寫(xiě)入的數(shù)據(jù)時(shí),控制器控制單元28判斷是否存在將要寫(xiě)入閃速存儲(chǔ)器11中的數(shù)據(jù)(圖16中的步驟S306)。在本實(shí)例中,假設(shè)控制器控制單元28判斷存在將要寫(xiě)入閃速存 儲(chǔ)器11中的數(shù)據(jù)并執(zhí)行寫(xiě)入處理(圖16中的步驟S308)。隨后,因?yàn)閷⒁獙?xiě)入的數(shù)據(jù)的大小為一個(gè)頁(yè),控制器控制單元28執(zhí)行頁(yè)寫(xiě)入處理 (圖17中的步驟S324)。之后,控制器控制單元28參考在圖22中示出的轉(zhuǎn)譯表,并確認(rèn)已經(jīng)存在與作為處 理對(duì)象的邏輯地址Ll對(duì)應(yīng)的物理地址Al。因此,控制器控制單元28從包含由物理地址Al 指示的頁(yè)的塊A中搜尋其FAT信息指示“N/A”的第一頁(yè)(圖19中的步驟S360和S362)。更具體而言,控制器控制單元28參考在圖20中示出的塊管理表并搜尋與塊標(biāo)識(shí) 符A對(duì)應(yīng)的FAT信息標(biāo)識(shí)符10,該塊標(biāo)識(shí)符A識(shí)別包含由物理地址Al所指示的頁(yè)的塊A。 之后,控制器控制單元28從與FAT信息標(biāo)識(shí)符10對(duì)應(yīng)的頁(yè)的FAT信息中搜尋其FAT信息 指示“N/A”的第一頁(yè)。在本實(shí)例中,如圖21所示,在與FAT信息標(biāo)識(shí)符21對(duì)應(yīng)的頁(yè)不包括其FAT信息指 示“N/A”的頁(yè)。因此,控制器控制單元28從FAT信息存儲(chǔ)單元34獲得與一個(gè)塊對(duì)應(yīng)的未 使用的FAT信息(圖19中的步驟S364和S368)。在本實(shí)例中,假設(shè)控制器控制單元28獲 得與FAT信息標(biāo)識(shí)符21對(duì)應(yīng)的FAT信息。在該情況下,控制器控制單元28將所獲得的通 過(guò)FAT信息標(biāo)識(shí)符21識(shí)別的所有FAT信息中的每一條都配置為指示表示“未寫(xiě)入”的“N/ A”。之后,控制器控制單元28獲得在塊管理表中其使用狀態(tài)判斷信息指示“未使用” 的塊(圖19中的步驟S370)。在本實(shí)例中,假設(shè)控制器控制單元28獲得通過(guò)塊標(biāo)識(shí)符B 識(shí)別的塊B。隨后,控制器控制單元28更新塊管理表,以使塊B的使用狀態(tài)判斷信息指示“已使 用”,并使FAT信息標(biāo)識(shí)符21與塊B相對(duì)應(yīng)(圖19中的步驟S372和S374)。隨后,控制器控制單元28將所獲得的塊B的首部頁(yè)規(guī)定為寫(xiě)入頁(yè),將已在數(shù)據(jù)傳 送存儲(chǔ)器30中存儲(chǔ)的將要寫(xiě)入的數(shù)據(jù)寫(xiě)入塊B的首部頁(yè),并且將塊B的首部頁(yè)的FAT信息 配置為指示“V” (圖19中的步驟S376、S378和S380)。之后,控制器控制單元28參考在圖22中示出的轉(zhuǎn)譯表并將當(dāng)前與作為處理對(duì) 象的邏輯地址Ll對(duì)應(yīng)的物理地址Al所指示的頁(yè)的FAT信息更新為指示表示“無(wú)效”的 “IV” (圖19中的步驟S382)。隨后,控制器控制單元28掃描包含其FAT信息已被更新為指示“ IV”的頁(yè)的塊B中 的所有頁(yè)的FAT信息,并確認(rèn)與所有頁(yè)對(duì)應(yīng)的FAT信息中的至少一條不指示“D”或“ IV”(圖 19中的步驟S384)??刂破骺刂茊卧?8由此結(jié)束頁(yè)寫(xiě)入處理。隨后,控制器控制單元28更新具有表目的轉(zhuǎn)譯表的內(nèi)容,使得其中在寫(xiě)入指令中 所指示的邏輯地址Ll保持與指示閃速存儲(chǔ)器11中已寫(xiě)入數(shù)據(jù)的區(qū)域的物理地址BO相對(duì) 應(yīng)(圖16中的步驟S310)。之后,當(dāng)已經(jīng)完成寫(xiě)入處理時(shí),控制器控制單元28向指令控制單元22通知已經(jīng)完 成寫(xiě)入處理。指令控制單元22向主機(jī)設(shè)備2通知已經(jīng)完成基于所接收的寫(xiě)入指令的寫(xiě)入 處理(圖16中的步驟S312和S314)。圖23是示例在已完成對(duì)邏輯地址Ll的寫(xiě)入處理之后獲得的塊管理表的狀態(tài)的 圖。圖24是示例在已完成對(duì)邏輯地址Ll的寫(xiě)入處理之后的塊中所包含的頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài)的示意圖。圖25是示例在已完成對(duì)邏輯地址Ll的寫(xiě)入處理之后獲得的轉(zhuǎn)譯表的狀態(tài)的圖。如圖23所示,在已完成對(duì)邏輯地址Ll的寫(xiě)入處理之后獲得的塊管理表中,塊B的 使用狀態(tài)判斷信息指示“已使用”,并且已使FAT信息標(biāo)識(shí)符21與塊B相對(duì)應(yīng)。因此,如圖24所示,使在塊B中所包含的頁(yè)保持與通過(guò)FAT信息標(biāo)識(shí)符21識(shí)別的 FAT信息相對(duì)應(yīng)。已被寫(xiě)入數(shù)據(jù)的頁(yè)的FAT信息(S卩,由物理地址BO指示的頁(yè))指示“V”。 并且,在執(zhí)行對(duì)邏輯地址Ll的寫(xiě)入處理之前與邏輯地址Ll相對(duì)應(yīng)的物理地址Al的FAT信 息指示“IV”。此外,如圖25所示,在已經(jīng)完成對(duì)邏輯地址Ll的寫(xiě)入處理之后獲得的轉(zhuǎn)譯表示出 了邏輯地址Ll與物理地址BO之間的對(duì)應(yīng)關(guān)系。如上面所解釋的,根據(jù)第一實(shí)施例,每當(dāng)在寫(xiě)入處理期間將新數(shù)據(jù)寫(xiě)入閃速存儲(chǔ) 器中的未使用的塊中時(shí),都更新信息,以使該塊指示為處于可使用狀態(tài),并使FAT信息與包 含在該塊中的頁(yè)相對(duì)應(yīng)。結(jié)果,如上所述,可以有效地利用在閃速存儲(chǔ)器中的存儲(chǔ)區(qū)域。在上述第一實(shí)施例的描述中,在寫(xiě)入處理的過(guò)程期間將數(shù)據(jù)寫(xiě)入閃速存儲(chǔ)器11 中。然而,另一設(shè)置也是可接受的,在該另一設(shè)置中,在寫(xiě)入處理期間僅僅保留向閃速存儲(chǔ) 器11的寫(xiě)入,以便在主機(jī)設(shè)備2被通知已完成寫(xiě)入處理之后將數(shù)據(jù)實(shí)際寫(xiě)入閃速存儲(chǔ)器11 中。接下來(lái),將使用這樣的實(shí)例解釋本發(fā)明的第二實(shí)施例,在該實(shí)例中,在塊中的所有 頁(yè)的每一條FAT信息都指示“D”或“ IV”的情況下,但不是在每次將FAT信息更新為指示表 示“已刪除”的“D”時(shí),從轉(zhuǎn)譯表刪除表明邏輯地址與物理地址之間的對(duì)應(yīng)關(guān)系的表目。在以下部分中,解釋第二實(shí)施例,同時(shí)將重點(diǎn)主要放在與第一實(shí)施例的差異上。在 第二實(shí)施例中的具有與第一實(shí)施例中的相同功能的一些構(gòu)成要素將通過(guò)使用在第一實(shí)施 例中使用的相同名稱和相同參考字符而被參考,因此將省略對(duì)其的解釋。圖26是根據(jù)第二實(shí)施例的存儲(chǔ)器系統(tǒng)101的實(shí)例的框圖。在存儲(chǔ)器系統(tǒng)101中,在控制器110中所包括的控制器控制單元128更新存儲(chǔ)在 轉(zhuǎn)譯表存儲(chǔ)單元32中的轉(zhuǎn)譯表的時(shí)序與根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)1中所使用的時(shí)序 不同。因此,在以下部分中,將解釋控制器控制單元128更新轉(zhuǎn)譯表的時(shí)序,這是第一實(shí) 施例與第二實(shí)施例之間的主要差異。圖27是在根據(jù)第二實(shí)施例的存儲(chǔ)器系統(tǒng)101中執(zhí)行的在圖5中示出的步驟S108 處的刪除處理的過(guò)程的實(shí)例的流程圖。該刪除操作的過(guò)程的流程與根據(jù)第一實(shí)施例的相 同。在以下部分中,將參考圖5和圖27解釋當(dāng)在圖8示出的狀態(tài)下已從主機(jī)設(shè)備2接 收到對(duì)邏輯地址LO至L7的刪除指令時(shí)的存儲(chǔ)器系統(tǒng)101的操作。首先,指令控制單元22接收由主機(jī)設(shè)備2發(fā)出的刪除指令并向控制器控制單元 128通知所接收的刪除指令(圖5中的步驟SlOO和S102)。隨后,因?yàn)閯h除范圍為邏輯地址LO至L7,控制器控制單元128確認(rèn)刪除范圍遍布 閃速存儲(chǔ)器中的八個(gè)頁(yè)(即,多個(gè)物理地址),并由此將刪除指令分割為分別對(duì)應(yīng)于八個(gè)頁(yè) 的刪除指令(即,這些刪除指令中的每一個(gè)都與邏輯地址LO至L7中的不同的一個(gè)對(duì)應(yīng))(圖5中的步驟S104和S106)。因此,控制器控制單元128執(zhí)行與八個(gè)頁(yè)對(duì)應(yīng)的刪除處理(圖5中的步驟S108)。之后,控制器控制單元128首先參考在圖2中示出的轉(zhuǎn)譯表并確認(rèn)存在與作為處 理對(duì)象的邏輯地址LO對(duì)應(yīng)的物理地址BO (圖27中的步驟S400)。
隨后,控制器控制單元128參考在圖4中示出的塊管理表并搜尋與塊標(biāo)識(shí)符B對(duì) 應(yīng)的FAT信息標(biāo)識(shí)符21,其中塊標(biāo)識(shí)符B識(shí)別包含由物理地址BO指示的頁(yè)的塊B。之后, 控制器控制單元128進(jìn)一步從與FAT信息標(biāo)識(shí)符21對(duì)應(yīng)的頁(yè)的FAT信息中搜尋由物理地 址BO指示的頁(yè)的FAT信息。然后,控制器控制單元128將在搜尋中尋找到的那條FAT信息 更新為指示“D” (圖27中的步驟S402)。隨后,控制器控制單元128掃描在塊B中的所有頁(yè)的FAT信息(即,對(duì)應(yīng)于FAT信 息標(biāo)識(shí)符21的所有FAT信息)。然而,因?yàn)榕c所有頁(yè)對(duì)應(yīng)的FAT信息中的至少一條沒(méi)有指 示“D”或“IV”,在此時(shí)結(jié)束對(duì)邏輯地址LO執(zhí)行的處理(圖27中的步驟S404)。然而,應(yīng)注意,尚未處理邏輯地址Ll至L7,并且尚未全部處理完刪除范圍。由此, 控制器控制單元128對(duì)邏輯地址Ll至L7中的每一個(gè)重復(fù)地執(zhí)行這里所描述的刪除處理 (即,圖27中的步驟S400至S404)。將省略對(duì)針對(duì)邏輯地址Ll至L7執(zhí)行的刪除處理的解 釋。隨后,當(dāng)已完成所有刪除處理時(shí),控制器控制單元128向指令控制單元22通知已 經(jīng)完成刪除處理。指令控制單元22向主機(jī)設(shè)備2通知已經(jīng)完成基于所接收的刪除指令的 刪除處理(圖5中的步驟SllO和Sl 12)。在該情況下,圖9示出了這樣的示意圖,其示例在已完成對(duì)邏輯地址LO至L7的刪 除處理之后的塊中所包含的頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài)。在已經(jīng)完成對(duì)邏輯地址LO至L7的 刪除處理之后獲得的轉(zhuǎn)譯表仍處于圖2中示出的狀態(tài)。接下來(lái),將參考圖5和27的流程圖來(lái)解釋當(dāng)在圖9示出的狀態(tài)下進(jìn)一步從主機(jī)設(shè) 備2接收對(duì)邏輯地址L8的刪除指令時(shí)執(zhí)行的存儲(chǔ)器系統(tǒng)1的刪除操作。首先,指令控制單元22接收由主機(jī)設(shè)備2發(fā)出的刪除指令并向控制器控制單元 128通知所接收的刪除指令(圖5中的步驟SlOO和S102)。隨后,因?yàn)閯h除范圍僅為邏輯地址L8,控制器控制單元128確認(rèn)刪除范圍沒(méi)有遍 布閃速存儲(chǔ)器中的多個(gè)頁(yè)(即,多個(gè)物理地址),并由此不分割刪除指令(圖5中的步驟 S104)。因此,控制器控制單元128執(zhí)行對(duì)應(yīng)于一個(gè)頁(yè)的刪除處理(圖5中的步驟S108)。之后,控制器控制單元128首先參考在圖2中示出的轉(zhuǎn)譯表并確認(rèn)存在與作為處 理對(duì)象的邏輯地址L8對(duì)應(yīng)的物理地址B6 (圖27中的步驟S400)。隨后,控制器控制單元128參考在圖4中示出的塊管理表并搜尋與塊標(biāo)識(shí)符B對(duì) 應(yīng)的FAT信息標(biāo)識(shí)符21,其中塊標(biāo)識(shí)符B識(shí)別包含由物理地址B6指示的頁(yè)的塊B。之后, 控制器控制單元128進(jìn)一步從與FAT信息標(biāo)識(shí)符21對(duì)應(yīng)的頁(yè)的FAT信息中搜尋由物理地 址B6指示的頁(yè)的FAT信息。然后,控制器控制單元128將在搜尋中尋找到的那條FAT信息 更新為指示“D” (圖27中的步驟S402)。隨后,控制器控制單元128掃描在塊B中的所有頁(yè)的FAT信息(即,對(duì)應(yīng)于FAT信 息標(biāo)識(shí)符21的所有FAT信息),并確認(rèn)與所有頁(yè)對(duì)應(yīng)的每一條FAT信息是否都指示表示“已刪除”的“D”或表示“無(wú)效”的“IV”,(圖27中的步驟S404 是)。隨后,因?yàn)榕c所有頁(yè)對(duì)應(yīng)的每一條FAT信息都指示“D”或“N/A”,控制器控制單元128從圖4示出的塊管理表刪除與識(shí)別塊B的塊標(biāo)識(shí)符B對(duì)應(yīng)的FAT信息標(biāo)識(shí)符21,并將與 塊標(biāo)識(shí)符B對(duì)應(yīng)的使用狀態(tài)判斷信息更新為指示“未使用”(圖27中的步驟S406和S408)。之后,控制器控制單元128從圖2示出的轉(zhuǎn)譯表中刪除所有這樣的表目,在這些表 目中,指示在塊B中所包含的頁(yè)的邏輯地址保持與邏輯地址相對(duì)應(yīng)(圖27中的步驟S410)。 之后,因?yàn)槿刻幚硗炅藙h除范圍,控制器控制單元128結(jié)束刪除處理。之后,當(dāng)已完成刪除處理時(shí),控制器控制單元128向指令控制單元22通知已經(jīng)完 成刪除處理。指令控制單元22向主機(jī)設(shè)備2通知已經(jīng)完成基于所接收的刪除指令的刪除 處理(圖5中的步驟SllO和Sl 12)。在該情況下,在已經(jīng)完成對(duì)邏輯地址L8的刪除處理之后獲得的塊管理表處于圖 11中示出的狀態(tài)。圖12示出了在已經(jīng)完成對(duì)邏輯地址L8的刪除處理之后在塊中所包含的 頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài)。圖28是示例在已經(jīng)完成對(duì)邏輯地址L8的刪除處理之后獲得的轉(zhuǎn)譯表的狀態(tài)的 圖。如圖28所示,在已經(jīng)完成對(duì)邏輯地址L8的刪除處理之后獲得的轉(zhuǎn)譯表中,已經(jīng)刪除了 表明邏輯地址LO至L2和L5至L8與物理地址B0、B1、B2、B3、B5、B4以及B6之間的對(duì)應(yīng)關(guān) 系的所有表目。如上面所解釋的,F(xiàn)AT信息與在正被使用的所有塊中所包含的頁(yè)保持相對(duì)應(yīng)。由 此,與其中在每次將FAT信息更新為指示表示“已刪除”的“D”時(shí)都更新轉(zhuǎn)譯表的第一實(shí)施 例相比,可以簡(jiǎn)化對(duì)轉(zhuǎn)譯表的更新處理。換言之,即使簡(jiǎn)化了對(duì)轉(zhuǎn)譯表的更新處理,也可以靈活地處理以頁(yè)為單位的刪除 指令,這是因?yàn)镕AT信息與在正被使用的所有塊中所包含的頁(yè)保持相對(duì)應(yīng)。另外,在該時(shí)間點(diǎn)處的轉(zhuǎn)譯表的內(nèi)容與第一實(shí)施例的大不相同。由此,適當(dāng)?shù)販p小 了轉(zhuǎn)譯表的數(shù)據(jù)量。如上面所解釋的,即使像第二實(shí)施例中那樣地簡(jiǎn)化了轉(zhuǎn)譯表的更新處理,也可以 靈活地處理以頁(yè)為單位的刪除指令并有效地利用閃速存儲(chǔ)器中的存儲(chǔ)區(qū)域。本發(fā)明并不僅僅局限于上述示例性實(shí)施例。在本發(fā)明的實(shí)施階段,可以對(duì)構(gòu)成要 素進(jìn)行修改來(lái)實(shí)現(xiàn)本發(fā)明而不背離其主旨。必要時(shí),還可以通過(guò)組合在上述示例性實(shí)施例 中公開(kāi)的兩個(gè)或更多的構(gòu)成要素來(lái)構(gòu)成各種發(fā)明。例如,略去在示例性實(shí)施例中描述的一 個(gè)或多個(gè)構(gòu)成要素是可以接受的。此外,必要時(shí),組合來(lái)自彼此不同的示例性實(shí)施例的一個(gè) 或多個(gè)構(gòu)成要素是可以接受的。在上述示例性實(shí)施例中,在轉(zhuǎn)譯表不包括與邏輯地址對(duì)應(yīng)的物理地址的情況下或 在由物理地址指示的頁(yè)的FAT信息不指示“V”的情況下,將空數(shù)據(jù)返回到主機(jī)設(shè)備2作為 對(duì)讀取指令的響應(yīng)。然而,這樣的另一設(shè)置是可以接受的,在該另一設(shè)置中,將不是空數(shù)據(jù) 的數(shù)據(jù)返回到主機(jī)設(shè)備2。例如,可以接受這樣的設(shè)置,在該設(shè)置中,工作存儲(chǔ)器38等等在其中存儲(chǔ)閃速存 儲(chǔ)器11中的這樣的物理地址,控制器控制單元28或128能夠從該物理地址最迅速地讀取 數(shù)據(jù),從而控制器控制單元28或128讀取在由該物理地址指示的頁(yè)中所存儲(chǔ)的數(shù)據(jù)并將所 讀取的數(shù)據(jù)返回到主機(jī)設(shè)備2。
或者,另一設(shè)置是可接受的,在該另一設(shè)置中,工作存儲(chǔ)器38等等在其中存儲(chǔ)由 控制器控制單元28或128最新(most recently)讀取的數(shù)據(jù),從而將所存儲(chǔ)的數(shù)據(jù)返回到 主機(jī)設(shè)備2。此外,又一設(shè)置是可接受的,在該又一設(shè)置中,控制器控制單元28或128向主機(jī)設(shè) 備2返回已由控制器10或110產(chǎn)生的隨機(jī)數(shù)值?;蛘撸梢杂煽刂破骺刂茊卧?8或128 產(chǎn)生隨機(jī)數(shù)。作為另一實(shí)例,控制器10或110包括用于特定目的獨(dú)立硬件,例如隨機(jī)數(shù)字
產(chǎn)生器。在上述示例性實(shí)施例中,僅僅在由物理地址所指示的頁(yè)的FAT信息指示“V”的情 況下,才讀取在由該物理地址所指示的頁(yè)中所存儲(chǔ)的數(shù)據(jù),并將該數(shù)據(jù)返回到主機(jī)設(shè)備2。 然而,另一設(shè)置時(shí)可接受的,在該另一設(shè)置中,即使在FAT 信息指示“D”的情況下,也可以讀 取在由該物理地址所指示的頁(yè)中所存儲(chǔ)的數(shù)據(jù),并將該數(shù)據(jù)返回到主機(jī)設(shè)備2。在將FAT信息更新為指示“D”之前,F(xiàn)AT信息指示“V”。由此,因?yàn)樵谠擁?yè)中存儲(chǔ) 了某些數(shù)據(jù),所以讀取該數(shù)據(jù)并將所讀取的數(shù)據(jù)返回到主機(jī)設(shè)備2是可接受的。本領(lǐng)域的技術(shù)人員可以容易地想到其他的優(yōu)點(diǎn)和修改。因此,本發(fā)明在其更寬的 方面不局限于在這里示出和描述的特定細(xì)節(jié)和代表性實(shí)施例。因此,可以進(jìn)行各種修改而 不背離由所附權(quán)利要求及其等價(jià)物限定的總發(fā)明構(gòu)思的精神和范圍。
權(quán)利要求
一種控制器(10;110)包括轉(zhuǎn)譯表存儲(chǔ)單元(32),其存儲(chǔ)轉(zhuǎn)譯表,在所述轉(zhuǎn)譯表中邏輯地址和物理地址保持彼此相對(duì)應(yīng),每一個(gè)所述邏輯地址指示在閃速存儲(chǔ)器(11)中的區(qū)域中的虛擬位置,而每一個(gè)所述物理地址以頁(yè)為單位指示在所述閃速存儲(chǔ)器(11)中的所述區(qū)域中的物理位置;FAT信息存儲(chǔ)單元(34),其存儲(chǔ)文件分配表(FAT)信息和FAT信息標(biāo)識(shí)符,所述FAT信息和所述FAT信息標(biāo)識(shí)符保持彼此相對(duì)應(yīng),每一條所述FAT信息指示在作為與多個(gè)頁(yè)對(duì)應(yīng)的區(qū)域的塊當(dāng)中的一個(gè)塊中所包含的頁(yè)當(dāng)中的對(duì)應(yīng)的一個(gè)頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài),而每一個(gè)所述FAT信息標(biāo)識(shí)符識(shí)別這樣的頁(yè)所屬于的塊當(dāng)中的不同的一個(gè)塊,這些頁(yè)中的每一個(gè)都存儲(chǔ)有處于由所述FAT信息中的對(duì)應(yīng)的一條所指示的狀態(tài)下的數(shù)據(jù);塊管理表存儲(chǔ)單元(36),其存儲(chǔ)塊管理表,在所述塊管理表中,塊標(biāo)識(shí)符、使用狀態(tài)判斷信息和所述FAT信息標(biāo)識(shí)符保持彼此相對(duì)應(yīng),每一個(gè)所述塊標(biāo)識(shí)符識(shí)別所述塊中的不同的一個(gè)塊,每一條所述使用狀態(tài)判斷信息指示所述塊中的對(duì)應(yīng)的一個(gè)塊是“已使用”還是“未使用”,所述FAT信息標(biāo)識(shí)符分別保持與所有這樣的塊相對(duì)應(yīng),這些塊中的每一個(gè)通過(guò)所述使用狀態(tài)判斷信息中的對(duì)應(yīng)的一條而被指示為“已使用”;以及控制器控制單元(28;128),其通過(guò)使用所述轉(zhuǎn)譯表、所述FAT信息以及所述塊管理表來(lái)管理在所述閃速存儲(chǔ)器(11)中存儲(chǔ)的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1的控制器(10;110),其中每一條所述FAT信息指示在所述頁(yè)中的所述對(duì)應(yīng)的一個(gè)頁(yè)中所存儲(chǔ)的數(shù)據(jù)為“有效”、 “無(wú)效”和“已刪除”中的至少一個(gè),并且當(dāng)在所述塊中的任何一個(gè)塊中所包含的所有頁(yè)中的每一個(gè)頁(yè)通過(guò)所述FAT信息中的 所述對(duì)應(yīng)的一條而指示為“已刪除”或“無(wú)效”時(shí),所述控制器控制單元(28;128)更新所述 塊管理表,以使與所述塊中的所述一個(gè)塊對(duì)應(yīng)的所述使用狀態(tài)判斷信息指示“未使用”,并 刪除識(shí)別所述塊中的所述一個(gè)塊的所述FAT信息標(biāo)識(shí)符中的對(duì)應(yīng)的一個(gè)。
3.根據(jù)權(quán)利要求2的控制器(10;110),其中當(dāng)所述控制器控制單元(28;128)已經(jīng)從主機(jī)設(shè)備(2)接收到指示數(shù)據(jù)的刪除的刪除 指令時(shí),所述控制器控制單元(28;128)更新由與所述刪除指令中所指示的邏輯地址對(duì)應(yīng) 的物理地址所指示的頁(yè)的對(duì)應(yīng)的一條FAT信息,以使該條FAT信息指示“已刪除”。
4.根據(jù)權(quán)利要求3的控制器(10),其中所述控制器控制單元(28)進(jìn)一步從所述轉(zhuǎn)譯表刪除這樣的物理地址和對(duì)應(yīng)于該物理 地址的邏輯地址,其中該物理地址指示其FAT信息已被更新為指示“已刪除”的頁(yè)。
5.根據(jù)權(quán)利要求2的控制器(110),其中當(dāng)在所述塊中的任何一個(gè)塊中所包含的所有頁(yè)中的每一個(gè)頁(yè)通過(guò)對(duì)應(yīng)的一條FAT信 息而指示為“已刪除”或“無(wú)效”時(shí),所述控制器控制單元(128)進(jìn)一步從所述轉(zhuǎn)譯表刪除 這樣的物理地址和分別對(duì)應(yīng)于這些物理地址的邏輯地址,其中這些物理地址分別指示包含 在所述塊中的所述頁(yè)。
6.根據(jù)權(quán)利要求1至5中的任何一項(xiàng)的控制器(10;110),其中所述控制器控制單元(28 ; 128)從所述主機(jī)設(shè)備(2)接收指示數(shù)據(jù)的讀取的讀取指令, 并且當(dāng)所述轉(zhuǎn)譯表不包括與所述讀取指令中所指示的邏輯地址對(duì)應(yīng)的物理地址時(shí),或者當(dāng) 由所述物理地址指示的頁(yè)的對(duì)應(yīng)的一條FAT信息指示“已刪除”或“無(wú)效”時(shí),所述控制器控制單元(28 ; 128)向所述主機(jī)設(shè)備(2)返回選自空數(shù)據(jù)、在由預(yù)定物理地址所指示的頁(yè)中所存儲(chǔ)的數(shù)據(jù)以及預(yù)定值中的至少一種。
7.根據(jù)權(quán)利要求1至5中的任何一項(xiàng)的控制器(10;110),其中所述控制器控制單元(28 ; 128)從所述主機(jī)設(shè)備(2)接收指示數(shù)據(jù)的讀取的讀取指令, 并且當(dāng)所述轉(zhuǎn)譯表不包括與所述讀取指令中所指示的邏輯地址對(duì)應(yīng)的物理地址時(shí),或者當(dāng) 由所述物理地址指示的頁(yè)的對(duì)應(yīng)的一條FAT信息指示“已刪除”或“無(wú)效”時(shí),所述控制器 控制單元(28 ; 128)產(chǎn)生隨機(jī)數(shù)并向所述主機(jī)設(shè)備(2)返回所產(chǎn)生的隨機(jī)數(shù)。
8.根據(jù)權(quán)利要求2至5中的任何一項(xiàng)的控制器(10;110),其中所述控制器控制單元(28 ; 128)從所述主機(jī)設(shè)備(2)接收指示數(shù)據(jù)的讀取的讀取指令, 并且當(dāng)由與所述讀取指令中所指示的邏輯地址對(duì)應(yīng)的物理地址所指示的頁(yè)的對(duì)應(yīng)的一條 FAT信息指示“已刪除”時(shí),所述控制器控制單元(28 ;128)向所述主機(jī)設(shè)備(2)返回在所述 頁(yè)中存儲(chǔ)的數(shù)據(jù)。
9.根據(jù)權(quán)利要求2至8中的任何一項(xiàng)的控制器(10;110),其中當(dāng)所述控制器控制單元(28;128)已經(jīng)從主機(jī)設(shè)備(2)接收到指示數(shù)據(jù)的寫(xiě)入的寫(xiě)入 指令時(shí),所述控制器控制單元(28;128)參考所述塊管理表,并將所述寫(xiě)入指令中所指示寫(xiě) 入的數(shù)據(jù)寫(xiě)入這樣的頁(yè)中,該頁(yè)包含在由對(duì)應(yīng)的一條使用狀態(tài)判斷信息指示為“未使用”的 塊當(dāng)中的一個(gè)塊中,所述控制器控制單元(28 ; 128)使未使用的FAT信息標(biāo)識(shí)符與所述塊當(dāng) 中的所述一個(gè)塊相對(duì)應(yīng),將所述頁(yè)的對(duì)應(yīng)的一條FAT信息配置為指示“有效”,并且將對(duì)應(yīng) 的一條使用狀態(tài)判斷信息配置為指示“已使用”。
10.一種存儲(chǔ)器系統(tǒng)(1 ; 101),包括根據(jù)權(quán)利要求1至9中的任何一項(xiàng)的控制器(10 ;110);以及閃速存儲(chǔ)器(11),其存儲(chǔ)由所述控制器(10 ;110)管理的數(shù)據(jù)。
全文摘要
本發(fā)明涉及控制器和存儲(chǔ)器系統(tǒng)。一種控制器(10;110)包括用于轉(zhuǎn)譯表的存儲(chǔ)器(32),該轉(zhuǎn)譯表表明閃速存儲(chǔ)器(11)中的邏輯地址和物理地址的彼此相對(duì)應(yīng);存儲(chǔ)FAT信息和FAT信息標(biāo)識(shí)符的另一存儲(chǔ)器(34),該FAT信息指示在每一個(gè)塊中包含的每一個(gè)頁(yè)中所存儲(chǔ)的數(shù)據(jù)的狀態(tài),每一個(gè)FAT信息標(biāo)識(shí)符識(shí)別這樣的頁(yè)所屬于的塊,這些頁(yè)中的每一個(gè)都在其中存儲(chǔ)有處于由FAT信息所指示的狀態(tài)的數(shù)據(jù),同時(shí)FAT信息和FAT信息標(biāo)識(shí)符保持彼此對(duì)應(yīng);用于塊管理表的又一存儲(chǔ)器(36),該塊管理示出塊標(biāo)識(shí)符、使用狀態(tài)判斷信息以及FAT信息標(biāo)識(shí)符且保持它們彼此相對(duì)應(yīng),其中使用狀態(tài)判斷信息指示對(duì)應(yīng)的塊為已使用/未使用,F(xiàn)AT信息標(biāo)識(shí)符與通過(guò)使用狀態(tài)判斷信息指示為已使用的所有塊相對(duì)應(yīng);以及控制器控制單元(28;128),其通過(guò)使用轉(zhuǎn)譯表、FAT信息以及塊管理表來(lái)管理在閃速存儲(chǔ)器(11)中存儲(chǔ)的數(shù)據(jù)。
文檔編號(hào)G06F3/06GK101840307SQ20091017287
公開(kāi)日2010年9月22日 申請(qǐng)日期2009年9月7日 優(yōu)先權(quán)日2009年3月17日
發(fā)明者吉井謙一郎, 淺野滋博, 菅野伸一 申請(qǐng)人:株式會(huì)社東芝