欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對(duì)固態(tài)驅(qū)動(dòng)器再配置數(shù)據(jù)的存儲(chǔ)裝置、存儲(chǔ)控制器以及方法

文檔序號(hào):6494485閱讀:158來(lái)源:國(guó)知局
對(duì)固態(tài)驅(qū)動(dòng)器再配置數(shù)據(jù)的存儲(chǔ)裝置、存儲(chǔ)控制器以及方法
【專利摘要】根據(jù)實(shí)施方式,存儲(chǔ)控制器包括訪問(wèn)統(tǒng)計(jì)值收集部、選擇部和再寫入部。訪問(wèn)統(tǒng)計(jì)值收集部對(duì)構(gòu)成使用固態(tài)驅(qū)動(dòng)器定義的邏輯單元的邏輯區(qū)域的多個(gè)一定尺寸的小邏輯地址區(qū)域各自的寫入頻度進(jìn)行收集。選擇部從邏輯單元中選擇寫入頻度低的第一小邏輯地址區(qū)域的集合。再寫入部將第一小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到固態(tài)驅(qū)動(dòng)器中,將剩余的第二小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到固態(tài)驅(qū)動(dòng)器中。
【專利說(shuō)明】對(duì)固態(tài)驅(qū)動(dòng)器再配置數(shù)據(jù)的存儲(chǔ)裝置、存儲(chǔ)控制器以及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實(shí)施方式涉及對(duì)固態(tài)驅(qū)動(dòng)器再配置數(shù)據(jù)的存儲(chǔ)裝置、存儲(chǔ)控制器以及方法。
【背景技術(shù)】
[0002]近年來(lái),出現(xiàn)了具備固態(tài)驅(qū)動(dòng)器(SSD)的存儲(chǔ)裝置。SSD由可重寫的非易失性存儲(chǔ)器構(gòu)成。作為可重寫的非易失性存儲(chǔ)器一般可使用閃存。SSD與使用磁盤的硬盤驅(qū)動(dòng)器(HDD)相比,由于無(wú)需與盤的旋轉(zhuǎn)相伴的機(jī)械式的控制所以能進(jìn)行高速的訪問(wèn)(access)。
[0003]但是,向SSD (更詳細(xì)地說(shuō)是SSD內(nèi)的閃存)的寫入,與向HDD的寫入不同,有幾個(gè)制約。第一是,在對(duì)已經(jīng)寫入到SSD中的數(shù)據(jù)進(jìn)行重寫的情況下,在該SSD內(nèi),需要在擦除該數(shù)據(jù)(也就是說(shuō)既存的舊的數(shù)據(jù))之后寫入新的數(shù)據(jù)的步驟。進(jìn)而,數(shù)據(jù)擦除例如只能以被稱為幾百千字節(jié)(KB)程度的尺寸的區(qū)塊(存儲(chǔ)器區(qū)塊或者物理區(qū)塊)的單位來(lái)執(zhí)行。
[0004]因此,一般來(lái)說(shuō)SSD使用比利用該SSD的主機(jī)計(jì)算機(jī)(以下稱為主機(jī))所需的(或者所識(shí)別的)儲(chǔ)存設(shè)備的存儲(chǔ)容量大的容量的閃存來(lái)構(gòu)成。在具備多個(gè)SSD的儲(chǔ)存設(shè)備中,通過(guò)有選擇地分配將SSD的存儲(chǔ)區(qū)域按每一定容量(尺寸)劃分而設(shè)置的多個(gè)物理區(qū)塊,從而定義(構(gòu)建)多個(gè)邏輯單元(邏輯盤)。主機(jī)對(duì)邏輯單元進(jìn)行數(shù)據(jù)的讀出以及寫入。SSD被稱為物理存儲(chǔ)器或物理盤。在由主機(jī)向邏輯單元的訪問(wèn)中使用邏輯地址,在向物理存儲(chǔ)器的訪問(wèn)中使用物理地址。邏輯地址一般與物理地址不一致。此外,即使設(shè)在初始狀態(tài)中邏輯地址與物理地址一致,當(dāng)重復(fù)邏輯單元的數(shù)據(jù)的重寫(也就是說(shuō)物理存儲(chǔ)器的數(shù)據(jù)的重寫)時(shí),邏輯地址也會(huì)變得與物理地址不一致。
[0005]主機(jī)通過(guò)使用邏輯地址對(duì)邏輯單元進(jìn)行邏輯訪問(wèn),從而對(duì)物理存儲(chǔ)器(SSD)進(jìn)行訪問(wèn)。為了能夠進(jìn)行來(lái)自該主機(jī)的訪問(wèn),例如SDD所內(nèi)置的控制器對(duì)邏輯地址與物理地址的對(duì)應(yīng)關(guān)系進(jìn)行管理。
[0006]在此,設(shè)存儲(chǔ)裝置處于邏輯地址與物理地址一致的初始狀態(tài)。在該狀態(tài)下,設(shè)進(jìn)行了向比區(qū)塊尺寸小的尺寸的數(shù)據(jù)的邏輯單元的寫入。在這種情況下,SSD不對(duì)被分配給進(jìn)行了寫入的邏輯地址的物理區(qū)塊進(jìn)行數(shù)據(jù)的寫入,不進(jìn)行數(shù)據(jù)的更新。取代不進(jìn)行該數(shù)據(jù)的更新,而將更新前的舊數(shù)據(jù)設(shè)為無(wú)效進(jìn)行管理。另一方面,SSD重新將未使用的物理區(qū)塊分配給所述邏輯地址,對(duì)該重新分配的物理區(qū)塊寫入數(shù)據(jù)。
[0007]SSD中的無(wú)效化后的數(shù)據(jù)的區(qū)域的產(chǎn)生,被稱為存儲(chǔ)區(qū)域(更詳細(xì)地說(shuō)是有效的存儲(chǔ)區(qū)域)的碎片化(fragmentation)。目前,存儲(chǔ)區(qū)域的碎片化加重,增加了包括無(wú)效化后的數(shù)據(jù)的區(qū)域的區(qū)塊(更詳細(xì)地說(shuō)是使用中區(qū)塊)。在這種情況下,由于在SSD (物理存儲(chǔ)器)內(nèi)能使用的自由區(qū)塊(未使用的物理區(qū)塊)減少,所以變得不能進(jìn)行新的數(shù)據(jù)寫入。因而,SSD自主地將記錄在包含無(wú)效化后的數(shù)據(jù)的區(qū)域的多個(gè)物理區(qū)塊的有效數(shù)據(jù)總括起來(lái)再寫入到未使用的物理區(qū)塊中。而且,SSD通過(guò)該再寫入對(duì)變?yōu)椴恍枰乃龆鄠€(gè)物理區(qū)塊的數(shù)據(jù)進(jìn)行擦除。將這樣的處理稱為碎片化消除處理(碎片整理處理)。通過(guò)該碎片化消除處理,所述多個(gè)物理區(qū)塊能作為未使用的區(qū)塊(自由區(qū)塊)進(jìn)行再利用。
[0008]現(xiàn)有技術(shù)文獻(xiàn)
[0009]專利文獻(xiàn)
[0010]專利文獻(xiàn)1:日本專利第4261532號(hào)公報(bào)
[0011]發(fā)明的概要
[0012]發(fā)明要解決的課題
[0013]然而,當(dāng)在SSD內(nèi)部執(zhí)行前述那樣的碎片化消除處理的頻度變高時(shí),該SSD的訪問(wèn)速度會(huì)降低。
[0014]因此,要求降低在SSD (固態(tài)驅(qū)動(dòng)器)內(nèi)執(zhí)行碎片化消除處理的頻度。

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

[0015]本發(fā)明要解決的課題在于,提供一種以能降低在固態(tài)驅(qū)動(dòng)器中執(zhí)行碎片化消除處理的頻度的方式對(duì)該固態(tài)驅(qū)動(dòng)器再配置數(shù)據(jù)的存儲(chǔ)裝置、存儲(chǔ)控制器以及方法。
[0016]用于解決課題的手段
[0017]根據(jù)實(shí)施方式,存儲(chǔ)裝置具備固態(tài)驅(qū)動(dòng)器和存儲(chǔ)控制器。所述存儲(chǔ)控制器對(duì)所述固態(tài)驅(qū)動(dòng)器進(jìn)行控制。所述存儲(chǔ)控制器具備邏輯單元管理部、訪問(wèn)統(tǒng)計(jì)值收集部、選擇部和再寫入部。所述邏輯單元管理部對(duì)具有被分配了所述固態(tài)驅(qū)動(dòng)器的物理區(qū)域的邏輯區(qū)域的邏輯單元進(jìn)行定義。所述訪問(wèn)統(tǒng)計(jì)值收集部對(duì)構(gòu)成所述邏輯單元的所述邏輯區(qū)域的多個(gè)一定尺寸的小邏輯地址區(qū)域各自的寫入頻度進(jìn)行收集。所述選擇部基于所述寫入頻度,分別從所述邏輯單元中選擇所述寫入頻度低的第一小邏輯地址區(qū)域的集合和除了所述第一小邏輯地址區(qū)域的集合之外的第二小邏輯地址區(qū)域的集合。所述再寫入部執(zhí)行用于將所述第一小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述固態(tài)驅(qū)動(dòng)器中的第一再寫入、以及用于將所述第二小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述固態(tài)驅(qū)動(dòng)器中的第二再寫入。
【專利附圖】

【附圖說(shuō)明】
[0018]圖1是表示第一實(shí)施方式的存儲(chǔ)裝置的典型的硬件結(jié)構(gòu)的框圖。
[0019]圖2是主要表示圖1所示的存儲(chǔ)控制器的典型的功能結(jié)構(gòu)的框圖。
[0020]圖3是用于說(shuō)明所述第一實(shí)施方式中的寫入頻度低的邏輯地址區(qū)域的數(shù)據(jù)的再寫入的圖。
[0021]圖4是用于說(shuō)明所述第一實(shí)施方式中的寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù)的再寫入的圖。
[0022]圖5是用于說(shuō)明所述第一實(shí)施方式中的邏輯單元的存儲(chǔ)區(qū)域和邏輯區(qū)塊和統(tǒng)計(jì)區(qū)塊的關(guān)系的圖。
[0023]圖6是用于說(shuō)明所述第一實(shí)施方式中的每個(gè)統(tǒng)計(jì)區(qū)塊的寫入統(tǒng)計(jì)值與該統(tǒng)計(jì)區(qū)塊的數(shù)據(jù)的再配置位置的關(guān)系的圖。
[0024]圖7是用于說(shuō)明所述第一實(shí)施方式中的寫入統(tǒng)計(jì)值大的統(tǒng)計(jì)區(qū)塊的數(shù)據(jù)的再寫入的圖。
[0025]圖8是用于說(shuō)明所述第一實(shí)施方式中的寫入統(tǒng)計(jì)值小的統(tǒng)計(jì)區(qū)塊的數(shù)據(jù)的再寫入的圖。[0026]圖9是表示所述第一實(shí)施方式中的包含訪問(wèn)統(tǒng)計(jì)值的更新的指令處理的步驟的流程圖。
[0027]圖10是表示第二實(shí)施方式的包含存儲(chǔ)裝置的儲(chǔ)存系統(tǒng)的典型的硬件結(jié)構(gòu)的框圖。
[0028]圖11是主要表示圖10所示的存儲(chǔ)控制器的典型的功能結(jié)構(gòu)的框圖。
[0029]圖12是用于說(shuō)明所述第二實(shí)施方式中的再映射處理的圖。
[0030]圖13是表示所述再映射處理的步驟的流程圖。
[0031]圖14是用于說(shuō)明所述第二實(shí)施方式的變形例中的每個(gè)映射單位的分段的圖。
[0032]圖15是表示所述變形例中的再寫入處理整體的步驟的流程圖。
[0033]圖16是表示圖15所示的再寫入處理中的第一處理的步驟的流程圖。
[0034]圖17是表示圖15所示的再寫入處理中的第二處理的步驟的流程圖。
【具體實(shí)施方式】
[0035]以下,參照附圖對(duì)實(shí)施方式進(jìn)行說(shuō)明。
[0036]<第一實(shí)施方式>
[0037]圖1是表示第一實(shí)施方式的存儲(chǔ)裝置的典型的硬件結(jié)構(gòu)的框圖。圖1所示的存儲(chǔ)裝置包括固態(tài)驅(qū)動(dòng)器(SSD) 10和主機(jī)計(jì)算機(jī)(以下稱為主機(jī))20。SSDlO用作存儲(chǔ)裝置的物理存儲(chǔ)器11。
[0038]主機(jī)20具備存儲(chǔ)控制器21。在第一實(shí)施方式中,存儲(chǔ)控制器21預(yù)先內(nèi)置于主機(jī)20中。但是,存儲(chǔ)控制器21也可以配備在安裝于主機(jī)20的卡插槽使用的卡中。此外,也可以是存儲(chǔ)控制器21的一部分內(nèi)置于主機(jī)20中,該存儲(chǔ)控制器21的剩余部分配備于所述卡中。
[0039]存儲(chǔ)控制器21利用物理存儲(chǔ)器11 (SSDlO)的存儲(chǔ)區(qū)域?qū)δ軓闹鳈C(jī)20進(jìn)行識(shí)別的邏輯單元(以下稱為L(zhǎng)U) 12進(jìn)行定義。存儲(chǔ)控制器21通過(guò)使用邏輯地址對(duì)LU12進(jìn)行邏輯訪問(wèn),從而對(duì)SSDlO (物理存儲(chǔ)器11)進(jìn)行訪問(wèn)。也就是說(shuō)存儲(chǔ)控制器21對(duì)SSDlO使用邏輯地址來(lái)請(qǐng)求訪問(wèn)。SSDlO (更詳細(xì)地說(shuō)是SSDlO中內(nèi)置的控制器)對(duì)LU12的邏輯區(qū)域(邏輯地址)與物理存儲(chǔ)器11的物理區(qū)域(物理地址)的對(duì)應(yīng)關(guān)系進(jìn)行管理。SSDlO基于上述的對(duì)應(yīng)關(guān)系將來(lái)自存儲(chǔ)控制器21的訪問(wèn)請(qǐng)求所示的邏輯地址變換為物理地址,訪問(wèn)該物理地址所示的物理區(qū)域。
[0040]圖2是主要表示圖1所示的存儲(chǔ)控制器21的典型的功能結(jié)構(gòu)的框圖。存儲(chǔ)控制器21具備LU (邏輯單元)管理部211、訪問(wèn)統(tǒng)計(jì)值收集部212、選擇部213、訪問(wèn)控制器214以及管理數(shù)據(jù)存儲(chǔ)部215。LU管理部211對(duì)LU12進(jìn)行定義(構(gòu)建)而且進(jìn)行管理。
[0041]訪問(wèn)統(tǒng)計(jì)值收集部212按每個(gè)LU12的小區(qū)塊SB (也就是說(shuō)小邏輯地址區(qū)域)來(lái)對(duì)訪問(wèn)統(tǒng)計(jì)值進(jìn)行收集。小區(qū)塊SB是后述的邏輯區(qū)塊被等分割(例如4分割)后的部分的區(qū)域。在以下的說(shuō)明中,將小區(qū)塊SB稱為統(tǒng)計(jì)區(qū)塊SB。訪問(wèn)統(tǒng)計(jì)值例如包括寫入統(tǒng)計(jì)值W_I以及讀取統(tǒng)計(jì)值R_I。
[0042]寫入統(tǒng)計(jì)值W_I表示用于收集訪問(wèn)統(tǒng)計(jì)值的預(yù)先確定的期間(以下稱為統(tǒng)計(jì)收集期間)中的、向LU12的第I (I =0、 1、2…)個(gè)統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)寫入的次數(shù)。也就是說(shuō)寫入統(tǒng)計(jì)值W_I表示向LU12的第I個(gè)統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)寫入的頻度(也就是說(shuō)更新頻度)?!癐”是表示統(tǒng)計(jì)區(qū)塊SB的索引值(統(tǒng)計(jì)索引值)。
[0043]讀取統(tǒng)計(jì)值R_I表示統(tǒng)計(jì)收集期間中的從LU12的第I個(gè)統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)讀出的次數(shù)。也就是說(shuō)讀取統(tǒng)計(jì)值R_I表示從LU12的第I個(gè)統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)讀出的頻度。
[0044]選擇部213基于LU12的每個(gè)統(tǒng)計(jì)區(qū)塊SB的統(tǒng)計(jì)值(例如寫入統(tǒng)計(jì)值W_I),按訪問(wèn)頻度由低到高的順序,選擇一定數(shù)目的訪問(wèn)頻度(例如寫入頻度)低的統(tǒng)計(jì)區(qū)塊SB。在訪問(wèn)頻度低的統(tǒng)計(jì)區(qū)塊SB的選擇后,選擇部213對(duì)剩余的統(tǒng)計(jì)區(qū)塊SB進(jìn)行選擇。也就是說(shuō)選擇部213將LU12的區(qū)域整體區(qū)分為訪問(wèn)頻度低的統(tǒng)計(jì)區(qū)塊SB (第一小區(qū)塊)的集合和訪問(wèn)頻度高的統(tǒng)計(jì)區(qū)塊SB (第二小區(qū)塊)的集合。
[0045]訪問(wèn)控制器214根據(jù)來(lái)自主機(jī)20的訪問(wèn)請(qǐng)求(訪問(wèn)指令),通過(guò)對(duì)LU12進(jìn)行邏輯訪問(wèn),從而對(duì)物理存儲(chǔ)器11進(jìn)行訪問(wèn)。訪問(wèn)控制器214具備再寫入部214a。每當(dāng)統(tǒng)計(jì)收集期間經(jīng)過(guò)時(shí),再寫入部214a就將由選擇部213選擇的寫入頻度低的統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)邏輯再寫入(覆蓋)到該統(tǒng)計(jì)區(qū)塊SB上。向該LU12的邏輯再寫入,在物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)內(nèi),作為向連續(xù)的存儲(chǔ)器區(qū)塊的數(shù)據(jù)的再寫入(也就是說(shuō)再配置)而實(shí)現(xiàn)。再寫入部214a在寫入頻度低的統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)的再寫入后,將剩余的統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)邏輯再寫入(覆蓋)到該統(tǒng)計(jì)區(qū)塊SB上。
[0046]在第一實(shí)施方式中,存儲(chǔ)控制器21的上述的功能要素(也就是說(shuō)LU管理部211、訪問(wèn)統(tǒng)計(jì)值收集部212、選擇部213以及訪問(wèn)控制器214)是,通過(guò)圖1所示的主機(jī)20 (或者該主機(jī)20內(nèi)的存儲(chǔ)控制器21)的CPU執(zhí)行存儲(chǔ)控制程序而實(shí)現(xiàn)的軟件模塊。但是,功能要素211至214的一部分或者全部也可以由硬件模塊實(shí)現(xiàn)。
[0047]管理數(shù)據(jù)存儲(chǔ)部215例如使用主機(jī)20 (或者該主機(jī)20內(nèi)的存儲(chǔ)控制器21)具有的存儲(chǔ)器的存儲(chǔ)區(qū)域的一部分來(lái)實(shí)現(xiàn)。在管理數(shù)據(jù)存儲(chǔ)部215中儲(chǔ)存有訪問(wèn)統(tǒng)計(jì)值表(以下稱為AST)215a。AST215a的各項(xiàng)目用于與LU12的統(tǒng)計(jì)區(qū)塊SB的統(tǒng)計(jì)索引值I相對(duì)應(yīng)地儲(chǔ)存訪問(wèn)統(tǒng)計(jì)值(寫入統(tǒng)計(jì)值W_I以及讀取統(tǒng)計(jì)值R_I)。
[0048]第一實(shí)施方式的特征在于,利用由再寫入部214a進(jìn)行的數(shù)據(jù)再寫入,將由選擇部213選擇的訪問(wèn)頻度低的統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù),再配置于SSDlO (物理存儲(chǔ)器11)的連續(xù)的存儲(chǔ)器區(qū)塊。對(duì)于應(yīng)用這樣的再寫入的理由,在以下進(jìn)行說(shuō)明。
[0049]在SSDlO被用作物理存儲(chǔ)器11的第一實(shí)施方式中,當(dāng)存儲(chǔ)控制器21對(duì)寫到LU12中的數(shù)據(jù)(更詳細(xì)地說(shuō)是比區(qū)塊尺寸小的尺寸的數(shù)據(jù))進(jìn)行更新時(shí),在SSDlO內(nèi)會(huì)產(chǎn)生無(wú)效數(shù)據(jù)的區(qū)域。因此,當(dāng)這樣的數(shù)據(jù)更新(數(shù)據(jù)寫入)對(duì)LU12內(nèi)的很多的邏輯區(qū)域(邏輯地址區(qū)域)進(jìn)行時(shí),如根據(jù)以往技術(shù)的說(shuō)明也可明確的那樣,存儲(chǔ)區(qū)域的碎片化加重,包含無(wú)效數(shù)據(jù)的區(qū)域的使用中的存儲(chǔ)器區(qū)塊(物理區(qū)塊)會(huì)增加。在這種情況下,在SSDlO內(nèi),碎片化消除處理會(huì)自主地執(zhí)行。但是,當(dāng)該碎片化消除處理頻繁執(zhí)行時(shí),SSDlO (物理存儲(chǔ)器11)的訪問(wèn)速度會(huì)降低。這與LU12的訪問(wèn)速度降低是等效的。
[0050]因此,為了降低執(zhí)行碎片化消除處理的頻度,考慮減少SSDlO的存儲(chǔ)器區(qū)塊內(nèi)的無(wú)效數(shù)據(jù)。為此,LU12的全部邏輯地址區(qū)域的數(shù)據(jù)按順序再度寫入到該LU12即可。其理由是因?yàn)椋騆U12的順序的數(shù)據(jù)寫入,在SSDlO內(nèi),作為向空的連續(xù)的存儲(chǔ)器區(qū)塊的數(shù)據(jù)的再寫入(也就是說(shuō)再配置)來(lái)實(shí)現(xiàn)。也就是說(shuō)是因?yàn)?,通過(guò)以連續(xù)的邏輯地址在LU12邏輯寫入數(shù)據(jù)的動(dòng)作,該數(shù)據(jù)被集中記錄到物理存儲(chǔ)器11中。
[0051]但是,從主機(jī)20向LU12的訪問(wèn)在相同存儲(chǔ)裝置內(nèi)易成為同樣的傾向(圖案)。因此,即使如上所述利用順序?qū)懭攵谖锢泶鎯?chǔ)器11內(nèi)的連續(xù)的區(qū)域配置數(shù)據(jù),因其后的寫入也會(huì)再次出現(xiàn)無(wú)效數(shù)據(jù)的區(qū)域。
[0052]因此第一實(shí)施方式為了減少無(wú)效數(shù)據(jù)的區(qū)域,也就是說(shuō)為了降低執(zhí)行碎片化消除處理的頻度,應(yīng)用由選擇部213進(jìn)行的統(tǒng)計(jì)區(qū)塊SB的選擇和由再寫入部214a進(jìn)行的數(shù)據(jù)再寫入。對(duì)該方法的概要進(jìn)行說(shuō)明。
[0053]一般來(lái)說(shuō),在利用向LU12的邏輯寫入對(duì)SSDlO那樣的物理存儲(chǔ)器寫入數(shù)據(jù)的情況下,不對(duì)該LU12的邏輯地址區(qū)域(邏輯區(qū)域)整體均勻地產(chǎn)生寫入。也就是說(shuō),在LU12內(nèi),分布有寫入(更新)頻度低的邏輯地址區(qū)域和寫入高的邏輯地址區(qū)域。
[0054]因此發(fā)明人為了減少SSDlO (物理存儲(chǔ)器11)的存儲(chǔ)區(qū)域的碎片化,以至認(rèn)識(shí)到基于寫入頻度的數(shù)據(jù)的再配置是有效的。所謂該數(shù)據(jù)的再配置是,將寫入頻度低的邏輯地址區(qū)域的數(shù)據(jù)和寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù)分別再寫入(再配置)到SSDlO內(nèi)的不同存儲(chǔ)器區(qū)塊。
[0055]若應(yīng)用這樣的數(shù)據(jù)再配置,則主機(jī)20 (存儲(chǔ)控制器21)就會(huì)變成在SSDlO的區(qū)域被分成寫入頻度低的第一存儲(chǔ)器區(qū)塊的集合和寫入頻度高的第二存儲(chǔ)器區(qū)塊的集合的狀態(tài)下利用SSD10。在這種情況下,雖然會(huì)產(chǎn)生向與第二存儲(chǔ)器區(qū)塊的集合對(duì)應(yīng)的邏輯地址區(qū)域的寫入動(dòng)作,但幾乎不會(huì)產(chǎn)生向與第一存儲(chǔ)器區(qū)塊的集合對(duì)應(yīng)的邏輯地址區(qū)域的寫入動(dòng)作。由此,由于能將碎片化的產(chǎn)生限定于寫入頻度高的存儲(chǔ)器區(qū)塊的集合,所以能減少在SSDlO整體的碎片化的產(chǎn)生量。
[0056]以下,參照?qǐng)D3以及圖4來(lái)說(shuō)明第一實(shí)施方式中的由再寫入部214a進(jìn)行的數(shù)據(jù)的再寫入。圖3是用于說(shuō)明寫入頻度低的邏輯地址區(qū)域的數(shù)據(jù)的再寫入的圖,圖4是用于說(shuō)明寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù)的再寫入的圖。在圖3中,從由箭頭301、303、305以及307示出的邏輯地址開(kāi)始的LU12各自的邏輯地址區(qū)域302、304、306以及308是,寫入頻度低的不連續(xù)的邏輯地址區(qū)域。在圖4中,從由箭頭401、403以及405示出的邏輯地址開(kāi)始的LU12各自的邏輯地址區(qū)域402、404以及406是,寫入頻度高的(更詳細(xì)地說(shuō)是寫入頻度不低的)不連續(xù)的邏輯地址區(qū)域。
[0057]再寫入部214a首先連續(xù)地讀出寫入頻度低的邏輯地址區(qū)域302、304、306以及308的數(shù)據(jù),并將該讀出的數(shù)據(jù)邏輯再寫入(也就是說(shuō)覆蓋)到該邏輯地址區(qū)域302、304、306以及308上。為了該再寫入,再寫入部214a使用對(duì)應(yīng)的邏輯地址,對(duì)物理存儲(chǔ)器11 (SSDlO)請(qǐng)求來(lái)自邏輯地址區(qū)域302、304、306以及308的數(shù)據(jù)的連續(xù)的讀出、和對(duì)連續(xù)讀出的數(shù)據(jù)的邏輯地址區(qū)域302、304、306以及308的寫入。
[0058]物理存儲(chǔ)器11 (SSDlO)的存儲(chǔ)區(qū)域(物理地址區(qū)域)包括多個(gè)一定尺寸的存儲(chǔ)器區(qū)塊(物理區(qū)塊)PB_0、PB_1、…、PB_M-1、PB_M、…。存儲(chǔ)器區(qū)塊是物理存儲(chǔ)器11中的數(shù)據(jù)擦除的最小的單位。
[0059]物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)根據(jù)來(lái)自再寫入部214a的讀出請(qǐng)求,連續(xù)讀出分配給圖3所示的邏輯地址區(qū)域302、304、306以及308的該物理存儲(chǔ)器11 (SSDlO)的物理地址區(qū)域(物理區(qū)域)的數(shù)據(jù)。例如,設(shè)邏輯地址區(qū)域302、304、306以及308的總尺寸與預(yù)先確定的數(shù)(在圖3的例子中是M個(gè))的存儲(chǔ)器區(qū)塊的總尺寸一致。
[0060]物理存儲(chǔ)器11` (SSDlO內(nèi)的控制器)根據(jù)來(lái)自再寫入部214a的所述讀出請(qǐng)求后續(xù)接的寫入請(qǐng)求,使分配給邏輯地址區(qū)域302、304、306以及308的該物理存儲(chǔ)器11 (SSDlO)的物理地址區(qū)域無(wú)效。此外物理存儲(chǔ)器11 (SSD10內(nèi)的控制器)確保與邏輯地址區(qū)域302、304,306以及308的總尺寸對(duì)應(yīng)的個(gè)數(shù)(也就是說(shuō)M個(gè))的自由存儲(chǔ)器區(qū)塊(更詳細(xì)地說(shuō)是物理位置連續(xù)的M個(gè)自由存儲(chǔ)器區(qū)塊),例如確保存儲(chǔ)器區(qū)塊ΡΒ_0、PB_1、…、PB_M-1。而且,物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)如圖3所示,將由所述寫入請(qǐng)求指定的數(shù)據(jù),也就是說(shuō)從邏輯地址區(qū)域302、304、306以及308讀出的數(shù)據(jù),從存儲(chǔ)器區(qū)塊ΡΒ_0的開(kāi)頭起依次寫入到存儲(chǔ)器區(qū)塊PB —O、PB — 1、…、PB —M-1中。
[0061]這樣,寫入頻度低的邏輯地址區(qū)域的數(shù)據(jù)集中寫入到連續(xù)的M個(gè)存儲(chǔ)器區(qū)塊ΡΒ_0至PB_M-1的集合(存儲(chǔ)器區(qū)塊集合)309 (參照?qǐng)D3)。以后,物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)將邏輯地址區(qū)域302、304、306以及308與存儲(chǔ)器區(qū)塊PB_0、PB_1、…、PB_M_1 (存儲(chǔ)器區(qū)塊集合309)內(nèi)的對(duì)應(yīng)的物理地址區(qū)域相關(guān)聯(lián)地進(jìn)行管理。
[0062]接下來(lái)再寫入部214a將未成為上述的再寫入的對(duì)象的、剩余的邏輯地址區(qū)域的數(shù)據(jù),也就是說(shuō)包含邏輯地址區(qū)域402、404以及406的寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù),與上述的寫入頻度低的邏輯地址區(qū)域的數(shù)據(jù)的再寫入同樣地,再寫入到該寫入頻度高的邏輯地址區(qū)域中。由此,物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)將包含邏輯地址區(qū)域402、404以及406的寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù),按圖4所示,順序?qū)懭氲嚼鐝拇鎯?chǔ)器區(qū)塊PB_M開(kāi)始的連續(xù)的存儲(chǔ)器區(qū)塊的集合(存儲(chǔ)器區(qū)塊集合)407。
[0063]這樣,寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù)被集中寫入到與存儲(chǔ)器區(qū)塊集合309不同的存儲(chǔ)器區(qū)塊集合407 (參照?qǐng)D4)。以后,物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)將包含邏輯地址區(qū)域402、404以及406的寫入頻度高的邏輯地址區(qū)域和存儲(chǔ)器區(qū)塊集合407內(nèi)的對(duì)應(yīng)的物理地址區(qū)域關(guān)聯(lián)起來(lái)進(jìn)行管理。
[0064]很明顯,在寫入頻度低的區(qū)域的數(shù)據(jù)被集中再寫入的、物理存儲(chǔ)器Il(SSDlO)內(nèi)的區(qū)塊集合309中,無(wú)效數(shù)據(jù)的區(qū)域變得難以產(chǎn)生。由此根據(jù)第一實(shí)施方式,在物理存儲(chǔ)器11(SSDlO內(nèi)的控制器)內(nèi)執(zhí)行碎片化消除處理的頻度減少,能防止該物理存儲(chǔ)器11 (SSDlO)的訪問(wèn)速度的降低(也就是 說(shuō)LU12的訪問(wèn)速度的降低)。
[0065]接下來(lái),對(duì)為了上述那樣的再寫入而在第一實(shí)施方式中應(yīng)用的寫入頻度的收集,參照?qǐng)D5進(jìn)行說(shuō)明。圖5是用于說(shuō)明LU12的存儲(chǔ)區(qū)域和邏輯區(qū)塊和統(tǒng)計(jì)區(qū)塊SB的關(guān)系的圖。
[0066]LU12的存儲(chǔ)區(qū)域包括與物理存儲(chǔ)器11 (SSDlO)的存儲(chǔ)器區(qū)塊相同尺寸的多個(gè)邏輯區(qū)塊LB_0、LB-1、…。也就是說(shuō)LU12的存儲(chǔ)區(qū)域由LU管理部211分割(也就是說(shuō)區(qū)分)成與存儲(chǔ)器區(qū)塊相同尺寸的多個(gè)邏輯區(qū)塊LB_0、LB-1、…進(jìn)行管理。LU12的邏輯區(qū)塊LB_j (j = 0,1,…)的數(shù)目比物理存儲(chǔ)器11 (SSDlO)的存儲(chǔ)器區(qū)塊PB_i (i = 0,1,…)的數(shù)目少。
[0067]LU12的各邏輯區(qū)塊LB_j被分割成一定尺寸的多個(gè)統(tǒng)計(jì)區(qū)塊(小區(qū)塊)SB進(jìn)行管理。在圖5的例子中,各邏輯區(qū)塊1^_」被分割成4個(gè)統(tǒng)計(jì)區(qū)塊SB。當(dāng)設(shè)LU12的邏輯區(qū)塊LB_j的數(shù)目為N時(shí),LU12整體的統(tǒng)計(jì)區(qū)塊SB的數(shù)為4N。在這種情況下,LU12的邏輯區(qū)域整體被分割成4N個(gè)統(tǒng)計(jì)區(qū)塊SB進(jìn)行管理。也就是說(shuō)LU12的邏輯區(qū)域包括4N個(gè)統(tǒng)計(jì)區(qū)塊(小區(qū)塊)SB。
[0068]統(tǒng)計(jì)區(qū)塊SB由統(tǒng)計(jì)索引值I確定。在第一實(shí)施方式中統(tǒng)計(jì)區(qū)塊SB是收集寫入頻度的單位。也就是說(shuō)在第一實(shí)施方式中,以比邏輯區(qū)塊LB_j (或者存儲(chǔ)器區(qū)塊PB_i)小尺寸的統(tǒng)計(jì)區(qū)塊SB為單位來(lái)收集寫入頻度。此外在第一實(shí)施方式中,作為表示對(duì)統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)寫入的頻度的寫入統(tǒng)計(jì)值W_I,使用寫入次數(shù)(寫入計(jì)數(shù))。
[0069]訪問(wèn)統(tǒng)計(jì)值收集部212每當(dāng)在統(tǒng)計(jì)收集期間中產(chǎn)生向統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)寫入時(shí),就對(duì)該統(tǒng)計(jì)區(qū)塊SB的寫入統(tǒng)計(jì)值W_I加I。在后述的第二實(shí)施方式中,除了每個(gè)統(tǒng)計(jì)區(qū)塊SB的寫入統(tǒng)計(jì)值W_I之外,還使用表示來(lái)自該統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)讀出的頻度的讀取統(tǒng)計(jì)值R_I。因此訪問(wèn)統(tǒng)計(jì)值收集部212每當(dāng)在統(tǒng)計(jì)收集期間中產(chǎn)生來(lái)自統(tǒng)計(jì)區(qū)塊SB的數(shù)據(jù)讀出時(shí),就對(duì)該統(tǒng)計(jì)區(qū)塊SB的讀取統(tǒng)計(jì)值R_I加I。其中,在第二實(shí)施方式中,統(tǒng)計(jì)區(qū)塊SB也就是說(shuō)小區(qū)塊SB與第一實(shí)施方式不同,是在存儲(chǔ)控制器側(cè)進(jìn)行管理的映射的單位。也就是說(shuō)在第二實(shí)施方式中,存儲(chǔ)控制器按每個(gè)LU內(nèi)的小區(qū)塊SB (映射單位),將該小區(qū)塊SB和物理區(qū)域(物理存儲(chǔ)器內(nèi)的物理區(qū)域)對(duì)應(yīng)起來(lái)。每個(gè)統(tǒng)計(jì)區(qū)塊(小區(qū)塊)SB的寫入統(tǒng)計(jì)值W_I以及讀取統(tǒng)計(jì)值R_I與該統(tǒng)計(jì)區(qū)塊SB的統(tǒng)計(jì)索引值I相對(duì)應(yīng)地儲(chǔ)存到AST215a中。
[0070]在此,假定具備使用包含SSD的多個(gè)物理盤實(shí)現(xiàn)的RAID (Redundant Arrays ofIndependent Disks (獨(dú)立磁盤冗余陣列)或者 Redundant Arrays of Inexpensive Disks(廉價(jià)磁盤冗余陣列))構(gòu)成的物理存儲(chǔ)器(陣列)的存儲(chǔ)裝置。這樣的存儲(chǔ)裝置有可能擁有帶有基于訪問(wèn)統(tǒng)計(jì)值動(dòng)態(tài)變更LU的邏輯地址的功能的存儲(chǔ)控制器。如果圖1所示的盤裝置的存儲(chǔ)控制器21具有這樣的功能,則訪問(wèn)統(tǒng)計(jì)值收集部212只要利用該功能即可。
[0071]接下來(lái),參照?qǐng)D6至圖8,對(duì)第一實(shí)施方式中的由再寫入部214a進(jìn)行的再寫入的具體例進(jìn)行說(shuō)明。圖6是用于說(shuō)明統(tǒng)計(jì)收集期間經(jīng)過(guò)的時(shí)間點(diǎn)時(shí)的LU12的每個(gè)統(tǒng)計(jì)區(qū)塊的寫入統(tǒng)計(jì)值與該統(tǒng)計(jì)區(qū)塊的數(shù)據(jù)的再配置位置的關(guān)系的圖。圖7是用于說(shuō)明寫入統(tǒng)計(jì)值大的統(tǒng)計(jì)區(qū)塊的數(shù)據(jù)的再寫入的圖,圖8是用于說(shuō)明寫入統(tǒng)計(jì)值小的統(tǒng)計(jì)區(qū)塊的數(shù)據(jù)的再寫入的圖。
[0072]在第一實(shí)施方式中再寫入部214a每當(dāng)統(tǒng)計(jì)收集期間經(jīng)過(guò),就執(zhí)行以下所述的再寫入。在圖6的例子中,統(tǒng)計(jì)收集期間經(jīng)過(guò)的時(shí)間點(diǎn)時(shí)的LU12的邏輯區(qū)塊LB_0內(nèi)的4個(gè)統(tǒng)計(jì)區(qū)塊SB的寫入統(tǒng)計(jì)值W_I是75、37、110以及23。此外,LU12的邏輯區(qū)塊LB_1內(nèi)的4個(gè)統(tǒng)計(jì)區(qū)塊SB的寫入統(tǒng)計(jì)值W_I是66、101、15以及105。此外,LU12的邏輯區(qū)塊LB_3內(nèi)的4個(gè)統(tǒng)計(jì)區(qū)塊SB的寫入統(tǒng)計(jì)值W_I是88、96、12以及40。此外,LU12的邏輯區(qū)塊LB_2內(nèi)的4個(gè)統(tǒng)計(jì)區(qū)塊SB的寫入統(tǒng)計(jì)值W_I雖然在圖6中進(jìn)行了省略,但設(shè)全部均為小于96。
[0073]選擇部213在由再寫入部214a進(jìn)行的再寫入時(shí),按該統(tǒng)計(jì)區(qū)塊SB的寫入統(tǒng)計(jì)值W_I的升序,對(duì)LU12內(nèi)的統(tǒng)計(jì)區(qū)塊SB進(jìn)行排序。而且,選擇部213從寫入統(tǒng)計(jì)值W_I最小的統(tǒng)計(jì)區(qū)塊SB起依次將一定個(gè)數(shù)的統(tǒng)計(jì)區(qū)塊SB選擇為寫入頻度低的統(tǒng)計(jì)區(qū)塊SB(第一小邏輯地址區(qū)域)的集合。所述一定個(gè)數(shù)在各邏輯區(qū)塊被分割成4個(gè)統(tǒng)計(jì)區(qū)塊SB的第一實(shí)施方式中是4M。該4M個(gè)統(tǒng)計(jì)區(qū)塊SB的總尺寸與M個(gè)邏輯區(qū)塊的總尺寸一致。
[0074]在圖6的例子中,M為3。在這種情況下,首先選擇部213將寫入統(tǒng)計(jì)值W_I小的4X3 (=12)個(gè)統(tǒng)計(jì)區(qū)塊SB (也就是說(shuō)與3個(gè)邏輯區(qū)塊相當(dāng)?shù)某叽绲倪壿嫷刂穮^(qū)域),從該寫入統(tǒng)計(jì)值W_I最小的統(tǒng)計(jì)區(qū)塊SB起依次選擇為寫入頻度低的統(tǒng)計(jì)區(qū)塊SB。也就是說(shuō)選擇部213選擇由寫入頻度低的4X 3個(gè)統(tǒng)計(jì)區(qū)塊SB構(gòu)成的邏輯地址區(qū)域(邏輯區(qū)域)。在此,選擇部213選擇圖6所示的LU12內(nèi)的邏輯地址區(qū)域601、603、604、606、608、609以及611。
[0075]邏輯地址區(qū)域601包括邏輯區(qū)塊LB_0內(nèi)的寫入統(tǒng)計(jì)值W_I為75以及37的2個(gè)連續(xù)的統(tǒng)計(jì)區(qū)塊SB。邏輯地址區(qū)域603包括邏輯區(qū)塊LB_0內(nèi)的寫入統(tǒng)計(jì)值W_I為23的統(tǒng)計(jì)區(qū)塊SB。邏輯地址區(qū)域604包括邏輯區(qū)塊LB_1內(nèi)的寫入統(tǒng)計(jì)值W_I為66的統(tǒng)計(jì)區(qū)塊SB。邏輯地址區(qū)域606包括邏輯區(qū)塊LB_1內(nèi)的寫入統(tǒng)計(jì)值W_I為15的統(tǒng)計(jì)區(qū)塊SB。邏輯地址區(qū)域608包括邏輯區(qū)塊LB_2內(nèi)的寫入統(tǒng)計(jì)值W_I為小于96的4個(gè)連續(xù)的統(tǒng)計(jì)區(qū)塊SB。邏輯地址區(qū)域609包括邏輯區(qū)塊LB_3內(nèi)的寫入統(tǒng)計(jì)值W_I為88的統(tǒng)計(jì)區(qū)塊SB。邏輯地址區(qū)域611包括邏輯區(qū)塊LB_3內(nèi)的寫入統(tǒng)計(jì)值W_I為12以及40的2個(gè)連續(xù)的統(tǒng)計(jì)區(qū)塊SB。
[0076]這樣選擇部213選擇總尺寸與4M (= 4X3)個(gè)統(tǒng)計(jì)區(qū)塊SB的總尺寸一致的、LU12內(nèi)的寫入頻度低的邏輯地址區(qū)域601、603、604、606、608、609以及611。再寫入部214a執(zhí)行將由選擇部213選擇的寫入頻度低的邏輯地址區(qū)域601、603、604、606、608、609以及611的數(shù)據(jù)再寫入(覆蓋)到該邏輯地址區(qū)域601、603、604、606、608、609以及611上的動(dòng)作(第一
再寫入)。
[0077]由此,邏輯地址區(qū)域601、603、604、606、608、609以及611的數(shù)據(jù),也就是說(shuō)分配給該邏輯地址區(qū)域601、603、604、606、608、609以及611的物理存儲(chǔ)器11 (SSDlO)內(nèi)的物理地址區(qū)域的數(shù)據(jù),被再配置于物理存儲(chǔ)器11 (SSDlO)的連續(xù)的M (M = 3)個(gè)存儲(chǔ)器區(qū)塊(物理區(qū)塊)中。在此,設(shè)邏輯地址區(qū)域601、603、604、606、608、609以及611的數(shù)據(jù)如圖6所示,被再配置于物理存儲(chǔ)器11 (SSDlO)的存儲(chǔ)器區(qū)塊ΡΒ_0至PB_2。以后,物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)將邏輯地址區(qū)域601、603、604、606、608、609以及611和存儲(chǔ)器區(qū)塊ΡΒ_0至PB_2內(nèi)的對(duì)應(yīng)的物理地址區(qū)域關(guān)聯(lián)起來(lái)進(jìn)行管理。
[0078]若更詳細(xì)地進(jìn)行描述的話,再寫入部214a如圖7所示那樣,邏輯讀取而且連續(xù)讀取LU12內(nèi)的寫入頻度低的邏輯地址區(qū)域601、603、604、606、608、609以及611的數(shù)據(jù)。該邏輯讀取在物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)內(nèi),作為從當(dāng)前分配給邏輯地址區(qū)域601、603、604、606、608、609以及611的物理地址區(qū)域中讀取數(shù)據(jù)的動(dòng)作來(lái)實(shí)現(xiàn)。
[0079]接下來(lái)再寫入部214a將從邏輯地址區(qū)域601、603、604、606、608、609以及611讀出的數(shù)據(jù)如圖7所示那樣邏輯再寫入(覆蓋)而且連續(xù)地再寫入(覆蓋)到該邏輯地址區(qū)域601、603、604、606、608、609以及611。向該LU12的數(shù)據(jù)的邏輯再寫入(覆蓋),在物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)內(nèi),作為將從邏輯地址區(qū)域601、603、604、606、608、609以及611讀出的數(shù)據(jù)如圖7所示那樣,寫入到該物理存儲(chǔ)器11 (SSDlO)內(nèi)的連續(xù)的存儲(chǔ)器區(qū)塊(物理區(qū)塊)ΡΒ_0至PB_2的動(dòng)作來(lái)實(shí)現(xiàn)。
[0080]在寫入頻度低的邏輯地址區(qū)域的數(shù)據(jù)的再寫入后,選擇部213選擇LU12內(nèi)的剩余的邏輯地址區(qū)域,也就是說(shuō)選擇包含圖6所示的邏輯地址區(qū)域602、605、607以及610的寫入頻度高的邏輯地址區(qū)域。再寫入部214a執(zhí)行將由選擇部213選擇的寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù),也就是說(shuō)將包含圖6所示的邏輯地址區(qū)域602、605、607以及610的寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù),再寫入(覆蓋)到該寫入頻度高的邏輯地址區(qū)域的動(dòng)作(第二再寫入)。
[0081]由此,邏輯地址區(qū)域602、605、607以及610的數(shù)據(jù),也就是說(shuō)分配給該邏輯地址區(qū)域602、605、607以及610的物理存儲(chǔ)器11 (SSDlO)內(nèi)的物理地址區(qū)域的數(shù)據(jù)如圖6所示,被再配置于物理存儲(chǔ)器11 (SSDlO)的例如存儲(chǔ)器區(qū)塊(物理區(qū)塊)PB_2的后續(xù)的存儲(chǔ)器區(qū)塊PB_3。以后,物理存儲(chǔ)器11 (SSDlO)將邏輯地址區(qū)域602、605、607以及610與存儲(chǔ)器區(qū)塊PB_3內(nèi)的對(duì)應(yīng)的物理地址區(qū)域關(guān)聯(lián)起來(lái)進(jìn)行管理。[0082]若更詳細(xì)地進(jìn)行描述的話,再寫入部214a如圖8所示那樣,邏輯讀取而且連續(xù)讀取LU12內(nèi)的包含邏輯地址區(qū)域602、605、607以及610的寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù)。該邏輯讀取在物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)內(nèi),作為從當(dāng)前分配給包含邏輯地址區(qū)域602、605、607以及610的寫入頻度高的邏輯地址區(qū)域的數(shù)據(jù)的物理地址區(qū)域中讀取數(shù)據(jù)的動(dòng)作來(lái)實(shí)現(xiàn)。
[0083]接下來(lái)再寫入部214a將從包含邏輯地址區(qū)域602、605、607以及610的寫入頻度高的邏輯地址區(qū)域讀出的數(shù)據(jù)如圖8所示那樣,邏輯再寫入(覆蓋)而且連續(xù)再寫入(覆蓋)到該寫入頻度高的邏輯地址區(qū)域(也就是說(shuō)原來(lái)的邏輯地址區(qū)域)上。該向LU12的數(shù)據(jù)的邏輯再寫入(覆蓋)在物理存儲(chǔ)器11 (SSDlO內(nèi)的控制器)內(nèi),作為將從包含邏輯地址區(qū)域602、605、607以及610的寫入頻度高的邏輯地址區(qū)域中讀出的數(shù)據(jù)如圖8所示那樣,寫入到該物理存儲(chǔ)器11 (SSDlO)內(nèi)的從存儲(chǔ)器區(qū)塊(物理區(qū)塊)PB_3開(kāi)始的連續(xù)的存儲(chǔ)器區(qū)塊的動(dòng)作來(lái)實(shí)現(xiàn)。
[0084]接下來(lái),對(duì)于包含第一實(shí)施方式中的訪問(wèn)統(tǒng)計(jì)值(寫入統(tǒng)計(jì)值W_I或者讀取統(tǒng)計(jì)值R_I)的更新的指令處理,參照?qǐng)D9來(lái)進(jìn)行說(shuō)明。圖9是表示指令處理的順序的流程圖。
[0085]存儲(chǔ)控制器21在從主機(jī)20接收到指令的情況下(步驟SI )。判定該接收到的指令是否是盤指令(步驟S2)。如果接收到的指令是盤訪問(wèn)指令(步驟S2的“是”),則該指令包含指定訪問(wèn)目的地的邏輯地址(也就是說(shuō)訪問(wèn)對(duì)象地址)。
[0086]在所述接收指令為盤訪問(wèn)指令的情況下(步驟S2的“是”),存儲(chǔ)控制器21的訪問(wèn)控制器214基于包含于該接收指令中的訪問(wèn)對(duì)象地址,計(jì)算出表示訪問(wèn)目的地的統(tǒng)計(jì)區(qū)塊的統(tǒng)計(jì)索引值I (步驟S3)。在此為了說(shuō)明的簡(jiǎn)化,設(shè)訪問(wèn)范圍與統(tǒng)計(jì)區(qū)塊的尺寸一致,而且不橫跨2個(gè)統(tǒng)計(jì)區(qū)塊。在這種情況下,訪問(wèn)控制器214通過(guò)訪問(wèn)對(duì)象地址除以統(tǒng)計(jì)區(qū)塊尺寸,從而計(jì)算出統(tǒng)計(jì)索引值I。
[0087]接下來(lái)存儲(chǔ)控制器21判定所述接收指令(盤訪問(wèn)指令)是否為讀取指令(步驟S4)。如果所述接收指令是讀取指令(步驟S4的“是”),則存儲(chǔ)控制器21的訪問(wèn)統(tǒng)計(jì)值收集部212與在步驟S3中計(jì)算出的統(tǒng)計(jì)索引值I相對(duì)應(yīng)地對(duì)儲(chǔ)存于AST215a中的讀取統(tǒng)計(jì)值R_I加I (步驟S5)。與此相對(duì),若所述接收指令是寫入指令(步驟S4的“否”),則訪問(wèn)統(tǒng)計(jì)值收集部212與在步驟S3中計(jì)算出的統(tǒng)計(jì)索引值I相對(duì)應(yīng)地對(duì)儲(chǔ)存于AST215a中的寫入統(tǒng)計(jì)值W_I加I (步驟S6)。
[0088]存儲(chǔ)控制器21 (更詳細(xì)地說(shuō)是存儲(chǔ)控制器21的訪問(wèn)控制器214)當(dāng)由訪問(wèn)統(tǒng)計(jì)值收集部212執(zhí)行步驟S5或者S6時(shí),執(zhí)行所述接收指令(也就是說(shuō)讀取指令或者寫入指令)所指定的處理(盤訪問(wèn)處理)(步驟S7)。另一方面,在所述接收指令不是盤訪問(wèn)指令的情況下(步驟S2的“否”),存儲(chǔ)控制器21跳過(guò)步驟S4至S6,執(zhí)行該接收指令所指定的處理(與盤訪問(wèn)不同的處理)(步驟S7)。此外,在第一實(shí)施方式中,未必一定需要讀取統(tǒng)計(jì)值R_I。因此,未必一定需要步驟S5。
[0089]<第二實(shí)施方式>
[0090]圖10是表示包含第二實(shí)施方式的存儲(chǔ)裝置的存儲(chǔ)系統(tǒng)的典型的硬件結(jié)構(gòu)的框圖。圖1所示的儲(chǔ)存系統(tǒng)包括存儲(chǔ)裝置100、主機(jī)計(jì)算機(jī)(以下稱為主機(jī))200、以及網(wǎng)絡(luò)300。存儲(chǔ)裝置100經(jīng)由網(wǎng)絡(luò)300與主機(jī)200連接。主機(jī)200將存儲(chǔ)裝置100用作外部存儲(chǔ)裝置。
[0091]存儲(chǔ)裝置100具備多個(gè)SSD例如4個(gè)SSD110-1 (# I)至110-4 (#4)、多個(gè)HDD例如4個(gè)HDD120-1 (# I)至120-4 (# 4)、以及存儲(chǔ)控制器130。這樣存儲(chǔ)控制器130與所述第一實(shí)施方式中的存儲(chǔ)控制器21不同,在主機(jī)200之外獨(dú)立地配備。存儲(chǔ)控制器130與 SSD110-1 至 110-4 以及 HDD120-1 至 120-4 連接,對(duì)該 SSD110-1 至 110-4 以及 HDD120-1至120-4進(jìn)行控制。
[0092]存儲(chǔ)控制器130利用SSD110-1至110-4以及HDD120-1至120-4的至少一個(gè)存儲(chǔ)區(qū)域,對(duì)能從主機(jī)200識(shí)別的LU150進(jìn)行定義。在圖10的例子中,LU150利用SSD110-1以及HDD120-1的存儲(chǔ)區(qū)域進(jìn)行定義。此外存儲(chǔ)控制器130對(duì)提供分配給LU150的邏輯地址區(qū)域(邏輯區(qū)域)的物理地址區(qū)域(物理區(qū)域)的物理存儲(chǔ)器140進(jìn)行定義。在圖10的例子中,物理存儲(chǔ)器140是由SSD110-1以及HDD120-1構(gòu)成的陣列(盤陣列)。
[0093]圖11是主要表示圖10所示的存儲(chǔ)控制器130的典型的功能結(jié)構(gòu)的框圖。在圖11中,對(duì)與圖2等價(jià)的要素標(biāo)注相同參照編號(hào)。以下,對(duì)于圖11所示的存儲(chǔ)控制器130的構(gòu)成,以與圖2所示的存儲(chǔ)控制器21的構(gòu)成不同的地方為中心進(jìn)行說(shuō)明。
[0094]存儲(chǔ)控制器130與圖2所示的存儲(chǔ)控制器21同樣地,具備LU管理部211、訪問(wèn)統(tǒng)計(jì)值收集部212、選擇部213、訪問(wèn)控制器214以及管理數(shù)據(jù)存儲(chǔ)部215。LU管理部211與所述第一實(shí)施方式不同,具備映射部211a。
[0095]映射部211a按LU150的映射單位的每個(gè)邏輯地址區(qū)域,對(duì)物理存儲(chǔ)器140內(nèi)的驅(qū)動(dòng)器(物理盤)、也就是說(shuō)對(duì)SSD110-1或者HDD120-1進(jìn)行分配(對(duì)應(yīng))。將該LU150的邏輯地址區(qū)域與物理存儲(chǔ)器140內(nèi)的驅(qū)動(dòng)器的對(duì)應(yīng)稱為映射。若更詳細(xì)地進(jìn)行描述的話,映射部211a利用映射,按LU150的映射單位的每個(gè)邏輯地址區(qū)域,將該邏輯地址區(qū)域與分配給該邏輯地址區(qū)域的驅(qū)動(dòng)器、和由該驅(qū)動(dòng)器識(shí)別的邏輯地址區(qū)域(以下,驅(qū)動(dòng)器邏輯地址區(qū)域)相對(duì)應(yīng)。在LU150的 邏輯地址區(qū)域(邏輯地址)分配給SSD的情況下,將與該邏輯地址區(qū)域(邏輯地址)對(duì)應(yīng)的驅(qū)動(dòng)器邏輯地址區(qū)域(驅(qū)動(dòng)器邏輯地址)稱為SSD邏輯地址區(qū)域(SSD邏輯地址)。與此相對(duì),在對(duì)LU150的邏輯地址區(qū)域(邏輯地址)分配HDD的情況下,將與該邏輯地址區(qū)域(邏輯地址)對(duì)應(yīng)的驅(qū)動(dòng)器邏輯地址區(qū)域(驅(qū)動(dòng)器邏輯地址)稱為HDD邏輯地址區(qū)域(HDD邏輯地址)。在所述第一實(shí)施方式中,相當(dāng)于LU150的全部的邏輯地址與SSD邏輯地址相等的情況。
[0096]映射部211a基于LU150的每個(gè)映射單位的訪問(wèn)頻度,動(dòng)態(tài)變更該LU150的邏輯地址區(qū)域與驅(qū)動(dòng)器的映射。假定利用變更該映射的功能(也就是說(shuō)再映射功能),映射部211a對(duì)訪問(wèn)頻度高的邏輯地址區(qū)域再分配SSD110-1 (也就是說(shuō)訪問(wèn)速度為高速的SSD110-1),對(duì)訪問(wèn)頻度低的邏輯地址區(qū)域再分配HDD120-1 (也就是說(shuō)訪問(wèn)速度為低速的HDD120-1)。在這種情況下,可期待LU150 (存儲(chǔ)裝置100)整體的訪問(wèn)速度的提高。
[0097]但是在上述的再映射中,有可能在SSD110-1內(nèi)混合存在寫入頻度高的存儲(chǔ)器區(qū)塊和讀出頻度高的存儲(chǔ)器區(qū)塊。讀出頻度高的存儲(chǔ)器區(qū)塊有可能包含寫入頻度低的存儲(chǔ)器區(qū)塊。在這樣的情況下,在SSD110-1內(nèi)碎片化消除處理多發(fā),該SSD110-1的訪問(wèn)速度會(huì)降低。
[0098]因此映射部211a基于寫入統(tǒng)計(jì)值胃_1以及讀取統(tǒng)計(jì)值R_I,進(jìn)行用于防止在SSD110-1內(nèi)碎片化消除處理多發(fā)的再映射。此外選擇部213為了伴隨該再映射的由再寫入部214a進(jìn)行的再寫入,基于寫入統(tǒng)計(jì)值W_I以及讀取統(tǒng)計(jì)值1?_1,以映射為單位來(lái)選擇邏輯地址區(qū)域。[0099]在管理數(shù)據(jù)存儲(chǔ)部215中,除了 AST215a之外還儲(chǔ)存有映射表(以下稱為MT)215b。MT215b的各項(xiàng)目用于儲(chǔ)存表示LU150的映射單位的邏輯地址(也就是說(shuō)統(tǒng)計(jì)區(qū)塊SB的統(tǒng)計(jì)索引值I)與分配給該邏輯地址(統(tǒng)計(jì)索引值I)的邏輯地址區(qū)域(統(tǒng)計(jì)區(qū)塊SB)的驅(qū)動(dòng)器(SSD110-1或者HDD120-1)及驅(qū)動(dòng)器邏輯地址(SSD邏輯地址或者HDD邏輯地址)的對(duì)應(yīng)的信息(也就是說(shuō)映射彳目息)。
[0100]接下來(lái),對(duì)第二實(shí)施方式中的動(dòng)作,以再映射處理(也就是說(shuō)數(shù)據(jù)再配置處理)為例參照?qǐng)D12以及圖13進(jìn)行說(shuō)明。圖12是用于說(shuō)明再映射處理的圖,圖13是表示再映射處理的步驟的流程圖。
[0101]在圖12中,LU150內(nèi)的邏輯地址區(qū)域X1、X2以及X3是寫入頻度高的邏輯地址區(qū)域。邏輯地址區(qū)域Xl至X3的讀出頻度高或低都可以。包含邏輯地址區(qū)域Xl至X3的寫入頻度高的邏輯地址區(qū)域(以下稱為第二邏輯地址區(qū)域)的總尺寸,例如與Mx個(gè)(在此設(shè)Mx =2)的存儲(chǔ)器區(qū)塊的總尺寸一致。在圖12中,省略了邏輯地址區(qū)域Xl至X3以外的寫入頻度高的邏輯地址區(qū)域。
[0102]LU 150內(nèi)的邏輯地址區(qū)域Y1、Y2、Y3、Y4、Y5以及Υ6是讀出頻度高而且寫入頻度低的邏輯地址區(qū)域(以下稱為第一邏輯地址區(qū)域)。第一邏輯地址區(qū)域Yl至Υ6的總尺寸例如與My個(gè)(在此設(shè)My = 2)的存儲(chǔ)器區(qū)塊的總尺寸一致。
[0103]LU 150內(nèi)的邏輯地址區(qū)域21、22、23、24、25、26以及Ζ7是除了所述第二邏輯地址區(qū)域和所述第一邏輯地址區(qū)域Yl至Υ6之外的LU150內(nèi)的邏輯地址區(qū)域(以下稱為第三邏輯地址區(qū)域)。也就是說(shuō)第三邏輯地址區(qū)域Zl至Ζ7是讀出頻度低而且寫入頻度也低的邏輯地址區(qū)域。
[0104]再映射處理每當(dāng)統(tǒng)計(jì)收集期間經(jīng)過(guò),就以圖13的流程圖所示的步驟按如下那樣來(lái)執(zhí)行。首先選擇部213按儲(chǔ)存于AST215a中的每個(gè)映射單位的寫入統(tǒng)計(jì)值W_I的升序來(lái)對(duì)LU150的全部區(qū)域(也就是說(shuō)全部統(tǒng)計(jì)區(qū)塊SB)進(jìn)行排序(步驟S11)。而且,選擇部213基于寫入統(tǒng)計(jì)值胃_1的排序結(jié)果從寫入統(tǒng)計(jì)值W_I大的(也就是說(shuō)寫入頻度高的)邏輯地址區(qū)域起依次選擇與Mx個(gè)(Mx = 2)的存儲(chǔ)器區(qū)塊一致的量的邏輯地址區(qū)域X (步驟S12)。在此,包含邏輯地址區(qū)域Xl至X3的第二邏輯地址區(qū)域被選擇為邏輯地址區(qū)域X。
[0105]接下來(lái)選擇部213按儲(chǔ)存于AST215a的每個(gè)映射單位的讀取統(tǒng)計(jì)值R_I的升序?qū)Τ怂x擇的邏輯地址區(qū)域X (也就是說(shuō)寫入頻度高的第二邏輯地址區(qū)域)之外的LU150的區(qū)域進(jìn)行排序(步驟S13)。而且,選擇部213基于讀取統(tǒng)計(jì)值R_I的排序結(jié)果,從讀取統(tǒng)計(jì)值R_I大的(也就是說(shuō)讀出頻度高的)邏輯地址區(qū)域起依次,選擇與My個(gè)(My = 2)存儲(chǔ)器區(qū)塊一致的量的邏輯地址區(qū)域Y (步驟S14)。在此,讀出頻度高而且寫入頻度低的第一邏輯地址區(qū)域Yl至Y6被選擇為邏輯地址區(qū)域Y。
[0106]于是,映射部211a以及再寫入部214a按如下那樣來(lái)執(zhí)行由步驟S15至S17構(gòu)成的處理Px。首先映射部211a對(duì)在步驟S14中選擇的邏輯地址區(qū)域Y(也就是說(shuō)第一邏輯地址區(qū)域Yl至Υ6)的邏輯地址再分配(再映射)SSD110-1 (步驟S15)。也就是說(shuō)映射部211a通過(guò)更新MT215b,從而對(duì)第一邏輯地址區(qū)域Yl至Y6分配SSD110-1以及第一 SSD邏輯地址(例如,連續(xù)的第一 SSD邏輯地址)。
[0107]在步驟S15中再寫入部214a將寫入到第一邏輯地址區(qū)域Yl至Y6(更詳細(xì)地說(shuō)是在再映射以前分配給第一邏輯地址區(qū)域Yl至Υ6的驅(qū)動(dòng)器)中的數(shù)據(jù),再寫入到利用再映射而重新分配給第一邏輯地址區(qū)域Yl至Y6的SSDl 10-1。由此第一邏輯地址區(qū)域Yl至Υ6的數(shù)據(jù)如圖12所示,再配置到包括SSD110-1內(nèi)的連續(xù)的My個(gè)(My = 2)的存儲(chǔ)器區(qū)塊的物理地址區(qū)域111。
[0108]接下來(lái)映射部211a對(duì)在步驟S12中選擇的邏輯地址區(qū)域X (也就是說(shuō)包含邏輯地址區(qū)域Xl至X3的寫入頻度高的第二邏輯地址區(qū)域)的邏輯地址再映射SSD110-1 (步驟S16)。也就是說(shuō)映射部211a通過(guò)更新MT215b,從而對(duì)包含邏輯地址區(qū)域Xl至X3的第二邏輯地址區(qū)域,分配SSDl 10-1以及第二 SSD邏輯地址(例如,所述連續(xù)的第一 SSD邏輯地址后續(xù)的連續(xù)的第二 SSD邏輯地址)。
[0109]在步驟S16中再寫入部214a將寫入到第二邏輯地址區(qū)域(更詳細(xì)地說(shuō)是在再映射以前分配給第二邏輯地址區(qū)域的物理地址區(qū)域)的數(shù)據(jù),再寫入到利用再映射而重新分配給第二邏輯地址區(qū)域的SSDl 10-1。由此第二邏輯地址區(qū)域(也就是說(shuō)包含邏輯地址區(qū)域Xl至X3的寫入頻度高的邏輯地址區(qū)域)的數(shù)據(jù)如圖12所示,再配置于包括SSD110-1內(nèi)的連續(xù)的Mx個(gè)(Mx = 2)的存儲(chǔ)器區(qū)塊的物理地址區(qū)域112。物理地址區(qū)域112由于續(xù)接于步驟S15而執(zhí)行步驟S16,所以一般來(lái)說(shuō)后續(xù)于物理地址區(qū)域111。
[0110]接下來(lái)映射部211a對(duì)在步驟S12以及S14中均未選擇的LU150內(nèi)的剩余的邏輯地址區(qū)域Z (也就是說(shuō)第三邏輯地址區(qū)域Zl至Z7)的邏輯地址再映射HDD120-1 (步驟S17)。也就是說(shuō)映射部211a通過(guò)更新MT215b,從而對(duì)第三邏輯地址區(qū)域Zl至Z7分配HDD120-1以及HDD邏輯地址(例如,連續(xù)的HDD邏輯地址)。
[0111]在步驟S17中再寫入部214a將寫入第三邏輯地址區(qū)域Zl至Z7(更詳細(xì)地說(shuō)是在再映射以前分配給第三邏輯地址區(qū)域Zl至Z7的物理地址區(qū)域)的數(shù)據(jù),再寫入到利用再映射而重新分配給該第三邏輯地址區(qū)域Zl至Z7的HDD120-1。由此第三邏輯地址區(qū)域Zl至Z7的數(shù)據(jù)如圖12所示,再配置于HDD120-1內(nèi)的物理地址區(qū)域121。于是,再映射處理結(jié)束。
[0112]根據(jù)第二實(shí)施方式,利用再映射處理的執(zhí)行,SSD110-1內(nèi)的物理地址區(qū)域111轉(zhuǎn)變?yōu)樽x出頻度高但寫入頻度低的區(qū)域(存儲(chǔ)器區(qū)塊的集合)。也就是說(shuō)SSD110-1內(nèi)的物理地址區(qū)域111轉(zhuǎn)變?yōu)閿?shù)據(jù)頻繁讀出但數(shù)據(jù)的寫入(更新)難以產(chǎn)生的區(qū)域。因此在物理地址區(qū)域111中,難以產(chǎn)生無(wú)效數(shù)據(jù)的區(qū)域。由此根據(jù)第二實(shí)施方式,能降低在SSDlio-1內(nèi)執(zhí)行碎片化消除處理的頻度,能防止該SSD110-1的訪問(wèn)速度的降低,也就是說(shuō)能防止存儲(chǔ)裝置100整體(LU150)訪問(wèn)速度的降低。
[0113]而且,根據(jù)第二實(shí)施方式,利用再映射處理的執(zhí)行,SSD110-1內(nèi)的物理地址區(qū)域112轉(zhuǎn)變?yōu)閷懭腩l度高的區(qū)域(存儲(chǔ)器區(qū)塊的集合)。也就是說(shuō)SSD110-1內(nèi)的物理地址區(qū)域112轉(zhuǎn)變?yōu)閿?shù)據(jù)的寫入(更新)頻繁產(chǎn)生的區(qū)域。這樣根據(jù)第二實(shí)施方式,能將SSD110-1的物理地址區(qū)域用作寫入頻度或者讀出頻度高的(也就是說(shuō)訪問(wèn)頻度高的)區(qū)域。由此,能提高存儲(chǔ)裝置100整體(LU150)的訪問(wèn)速度。
[0114]進(jìn)而根據(jù)第二實(shí)施方式,利用再映射處理的執(zhí)行,HDD120-1內(nèi)的物理地址區(qū)域121轉(zhuǎn)變?yōu)樽x出頻度以及寫入頻度均低的區(qū)域(扇區(qū)的集合)。也就是說(shuō)HDD120-1內(nèi)的物理地址區(qū)域121轉(zhuǎn)變?yōu)殡y以產(chǎn)生訪問(wèn)的區(qū)域。由此,根據(jù)第二實(shí)施方式,利用對(duì)HDD120-1的訪問(wèn)能防止存儲(chǔ)裝置100整體(LU150)的訪問(wèn)速度降低。
[0115]在所述第二實(shí)施方式中,存儲(chǔ)控制器130與主機(jī)200相獨(dú)立地配備,而且經(jīng)由網(wǎng)絡(luò)300與該主機(jī)200連接。但是,存儲(chǔ)控制器130也可以與所述第一實(shí)施方式中的存儲(chǔ)控制器21同樣地配備于主機(jī)200。
[0116]<第二實(shí)施方式的變形例>
[0117]接下來(lái),對(duì)所述第二實(shí)施方式的變形例進(jìn)行說(shuō)明。
[0118]在所述第二實(shí)施方式中,使用使用中的SSD110-1,執(zhí)行再映射處理。但是,該再映射處理也可以使用非使用狀態(tài)(所謂的去映射狀態(tài))的SSD (例如預(yù)備SSD)來(lái)執(zhí)行。所述第二實(shí)施方式的變形例的特征在于,在存在預(yù)備SSD的情況下,使用該預(yù)備SSD來(lái)執(zhí)行再映射。圖13的流程圖中的處理Px因存儲(chǔ)裝置100的構(gòu)成而改變。
[0119]以下,對(duì)于本變形例的概要,為了方便而參照?qǐng)D10以及圖11進(jìn)行說(shuō)明。
[0120]一般來(lái)說(shuō),有時(shí)具備多個(gè)SSD以及HDD的存儲(chǔ)裝置擁有預(yù)備的SSD或者HDD。在圖10所示的存儲(chǔ)裝置100中也能預(yù)備SSD110-1至110-4的例如一個(gè)或者HDD120-1至120-4的例如一個(gè)來(lái)使用。
[0121]在此,如圖10所示,物理存儲(chǔ)器140包括SSD110-1以及HDD120-1,因此該SSD110-1以及HDD120-1設(shè)為與所述第二實(shí)施方式同樣地處于使用中的狀態(tài)。在該狀態(tài)下,若在連接于存儲(chǔ)控制器130的SDD中存在預(yù)備SSD,則映射部211a通過(guò)以映射為單位擦除該預(yù)備SSD的全部區(qū)域而進(jìn)行去映射。也就是說(shuō)映射部211a使預(yù)備SSD的全部區(qū)域?yàn)樽杂蔂顟B(tài)。再寫入部214a將數(shù)據(jù)從SSD110-1以及HDD120-1拷貝到處于去映射狀態(tài)的預(yù)備SSD0將存在該預(yù)備SSD的情況下執(zhí)行的處理(第一處理)稱為處理Pa。
[0122]與此相對(duì),雖然預(yù)備SSD不存在,但若在HDD120-1存在足夠的空閑區(qū)域,則再寫入部214a將映射到SSD110-1的區(qū)域的數(shù)據(jù)拷貝到該HDD120-1的空閑區(qū)域。在該拷貝后,映射部211a對(duì)SSD110-1的全部區(qū)域進(jìn)行去映射。于是,再寫入部214a將數(shù)據(jù)從HDD120-1拷貝到處于去映射狀態(tài)的SSD110-1。將在該HDD120-1中存在足夠的空閑區(qū)域的情況下執(zhí)行的處理(第二處理)稱為處理Pb。
[0123]另一方面,若在HDD120-1中不存在足夠的空閑區(qū)域,則進(jìn)行與所述第二實(shí)施方式同樣的處理。
[0124]接下來(lái),對(duì)本變形例的細(xì)節(jié)進(jìn)行說(shuō)明。其中,在此與上述的概要不同,設(shè)為是由多個(gè)SSD (例如2個(gè)SSD110-1以及110-2)和多個(gè)HDD (例如2個(gè)HDD120-1以及120-2)構(gòu)成物理存儲(chǔ)器(陣列)。此外,設(shè)利用SSD110-1以及110-2和HDD120-1以及120-2 (也就是說(shuō)與SSD數(shù)目相同的HDD)的存儲(chǔ)區(qū)域,定義與圖10所示的LU150相當(dāng)?shù)腖U151(參照?qǐng)D14)。若必要,則想在圖10中將LU150置換為L(zhǎng)U151,將與該LU151對(duì)應(yīng)的SSD110-1和HDD120-1置換為SSD110-1以及110-2和HDD120-1以及120-2。另外,也可以由SSD110-1以及110-2構(gòu)成第一物理存儲(chǔ)器(陣列),由HDD120-1以及120-2構(gòu)成第二物理存儲(chǔ)器(陣列)。
[0125]圖14是用于說(shuō)明在LU151利用SSD110-1以及110-2和HDD120-1以及120-2的存儲(chǔ)區(qū)域進(jìn)行定義的情況下的、每個(gè)映射單位的分段(striping)的圖。LU151的區(qū)域以映射為單位與SSD110-1以及110-2或者HDD120-1以及120-2對(duì)應(yīng)。
[0126]例如,圖14所示的某一個(gè)映射單位的區(qū)域141映射到SSD110-1以及110_2。該映射到SSD110-1以及110-2的區(qū)域141在該SSD110-1以及110-2中被分段為一定尺寸的磁條區(qū)塊。此外,圖14所示的另一個(gè)映射單位的區(qū)域142映射到HDD120-1以及120-2。也就是說(shuō),區(qū)域142在HDD120-1以及120-2中被分段為磁條區(qū)塊。
[0127]接下來(lái),對(duì)所述第二實(shí)施方式的變形例中應(yīng)用的與所述處理Px相當(dāng)?shù)奶幚?以下稱為再寫入處理),參照?qǐng)D15至圖17的流程圖進(jìn)行說(shuō)明。圖15是表示再寫入處理整體的步驟的流程圖。圖16是表示再寫入處理中的處理Pa (第一處理)的步驟的流程圖,圖17是表示再寫入處理中的處理Pb (第二處理)的步驟的流程圖。
[0128]在此,如圖14所示,設(shè)LU151是利用SSDl 10-1以及110-2和HDD120-1以及120-2的存儲(chǔ)區(qū)域來(lái)定義的。但是在以下的說(shuō)明中,將分配給LU151的區(qū)域的2個(gè)SSD表述為SSD_1以及SSD_2,將該2個(gè)SSD中的第η個(gè)SSD表述為SSD_n。同樣地,將分配給LU151的另一個(gè)區(qū)域的2個(gè)HDD表述為HDD_1以及HDD_2,將該2個(gè)HDDD中的第η個(gè)HDD表述為HDD_n。
[0129]圖15的流程圖所示的再寫入處理如上所述與圖13的流程圖中的處理Px相當(dāng)。因此,該再寫入處理續(xù)接于圖13的流程圖中的步驟S14之后執(zhí)行。
[0130]首先映射部211a判定在連接于存儲(chǔ)控制器130的SDD中是否存在預(yù)備SSD (更詳細(xì)地說(shuō)是處于空閑狀態(tài)的預(yù)備SSD)(步驟S21)。如果存在預(yù)備SSD (步驟S21的“是”),則映射部211a與再寫入部214a配合來(lái)執(zhí)行處理Pa (步驟S22)。在此,預(yù)備SSD設(shè)為是SSDl 10-3 或者 110-4。
[0131]與此相對(duì),若不存在預(yù)備SSD (步驟S21的“否”),則映射部211a判定在HDD (更詳細(xì)地說(shuō)是HDD_1以及HDD_2)中有足夠的空閑區(qū)域(步驟S23)。所謂足夠的空閑區(qū)域是指,將SSD_1以及SSD_2的數(shù)據(jù)(也就是說(shuō)映射到SSD_1以及SSD_2的LU151的地址區(qū)域的數(shù)據(jù))拷貝到HDD_1以及HDD_2所需的空閑區(qū)域。如果在HDD_1以及HDD_2中有足夠的空閑區(qū)域(步驟S23的“是”),則映射部211a與再寫入部214a配合來(lái)執(zhí)行第二處理Pb (步驟S24)。
[0132]與此相對(duì),若在HDD_1以及HDD_2中沒(méi)有足夠的空閑區(qū)域(步驟S23的“否”),則映射部211a與再寫入部214a`配合,執(zhí)行與圖13所示的處理Px同樣的處理。如果必要,則想在處理Px中,將SSD置換為SSD_1以及SSD_2,將HDD置換為HDD_1以及HDD_2。
[0133]接下來(lái)對(duì)上述處理Pa,參照?qǐng)D16的流程圖進(jìn)行說(shuō)明。首先映射部21 Ia將指定SSD以及HDD的變量η設(shè)定為初始值I (步驟S31)。接下來(lái)映射部211a將預(yù)備SSD (也就是說(shuō)是處于空閑狀態(tài)的預(yù)備SSD)選擇為數(shù)據(jù)的轉(zhuǎn)送目的地(拷貝目的地),對(duì)該預(yù)備SSD的全部區(qū)域進(jìn)行去映射(步驟S32)。由此,所述預(yù)備SSD的全部區(qū)域的數(shù)據(jù)被擦除。此外在步驟S32中映射部211a將SSD_n以及HDD_n選擇為數(shù)據(jù)的轉(zhuǎn)送源(拷貝源)。在此,由于η= 1,所以SSD_1以及HDD_1被選擇為數(shù)據(jù)的轉(zhuǎn)送源。
[0134]再寫入部214a將分配給LU12內(nèi)的讀出頻度高而且寫入頻度低的邏輯地址區(qū)域Y的SSD_n以及HDD_n內(nèi)的物理地址區(qū)域的數(shù)據(jù)(也就是說(shuō)分段的數(shù)據(jù)),例如按邏輯地址的升序而且按每個(gè)映射單位(也就是說(shuō)統(tǒng)計(jì)區(qū)塊SB),從該SSD_n以及HDD_n中進(jìn)行讀出(步驟S33)。而且,再寫入部214a將讀出的數(shù)據(jù)寫入到所述預(yù)備SSD (也就是說(shuō)轉(zhuǎn)送目的地的預(yù)備SSD)中(步驟S34)。再寫入部214a反復(fù)進(jìn)行步驟S33以及S34,直至進(jìn)行了讀出/寫入的映射單位的數(shù)目達(dá)到與邏輯地址區(qū)域Y的總尺寸對(duì)應(yīng)的數(shù)NMy為止(步驟S35)。也就是說(shuō)再寫入部214&執(zhí)行邏輯地址區(qū)域¥1、¥2、¥3、¥4、¥5以及Y6的數(shù)據(jù)的讀出/寫入。
[0135]映射部211a在由再寫入部214a進(jìn)行的上述的寫入時(shí),使用MT215b來(lái)進(jìn)行再映射。例如,在從邏輯地址區(qū)域Yl讀出的數(shù)據(jù)的寫入時(shí),映射部211a對(duì)該邏輯地址區(qū)域Yl的邏輯地址LBAyl分配預(yù)備SSD以及SSD邏輯地址SLBAO。SSD邏輯地址SLBAO例如為O。在這種情況下,再寫入部214a通過(guò)將SSD邏輯地址SLBAO指定為寫入目的地,從而對(duì)預(yù)備SSD請(qǐng)求從邏輯地址區(qū)域Yl讀出的數(shù)據(jù)的寫入。同樣地映射部211a在從邏輯地址區(qū)域Y2讀出的數(shù)據(jù)的寫入時(shí),對(duì)該邏輯地址區(qū)域Y2的邏輯地址LBAy2分配預(yù)備SSD以及SSD邏輯地址SLBAl。SSD邏輯地址SLBAl后續(xù)于SSD邏輯地址SLBA0。在這種情況下,再寫入部214a通過(guò)將SSD邏輯地址SLBAl指定為寫入目的地,從而對(duì)預(yù)備SSD請(qǐng)求從邏輯地址區(qū)域Y2讀出的數(shù)據(jù)的寫入。
[0136]同樣地映射部211a在從邏輯地址區(qū)域Y3讀出的數(shù)據(jù)的寫入時(shí),對(duì)該邏輯地址區(qū)域Y3的連續(xù)的邏輯地址LBAy3a、LBAy3b以及LBAy3c,分配預(yù)備SSD以及連續(xù)的SSD邏輯地址SLBA2、SLBA3以及SLBA4。SSD邏輯地址SLBA2后續(xù)于SSD邏輯地址SLBAl。在這種情況下,再寫入部214a通過(guò)將SSD邏輯地址SLBA2指定為寫入目的地(寫入目的地的開(kāi)始地址),從而對(duì)預(yù)備SSD請(qǐng)求從邏輯地址區(qū)域Y3中讀出的數(shù)據(jù)的寫入。同樣地映射部211a在從邏輯地址區(qū)域Y4讀出的數(shù)據(jù)的寫入時(shí),對(duì)該邏輯地址區(qū)域Y4的連續(xù)的邏輯地址LBAy4a以及LBAy4b分配預(yù)備SSD以及連續(xù)的SSD邏輯地址SLBA5以及SLBA6。SSD邏輯地址SLBA5后續(xù)于SSD邏輯地址SLBA4。在這種情況下,再寫入部214a通過(guò)將SSD邏輯地址SLBA5指定為寫入目的地(寫入目的地的開(kāi)始地址),從而對(duì)預(yù)備SSD請(qǐng)求從邏輯地址區(qū)域Y4讀出的數(shù)據(jù)的寫入。
[0137]同樣地映射部211a在從邏輯地址區(qū)域Y5讀出的數(shù)據(jù)的寫入時(shí),對(duì)該邏輯地址區(qū)域Y5的邏輯地址LBAy5分配預(yù)備SSD以及SSD邏輯地址SLBA7。SSD邏輯地址SLBA7后續(xù)于SSD邏輯地址SLBA6。在這種情況下,再寫入部214a通過(guò)將SSD邏輯地址SLBA7指定為寫入目的地,從而對(duì)預(yù)備SSD請(qǐng)求從邏輯地址區(qū)域Y5讀出的數(shù)據(jù)的寫入。同樣地映射部211a在從邏輯地址區(qū)域Y6讀出的數(shù)據(jù)的寫入時(shí),對(duì)該邏輯地址區(qū)域Y6的邏輯地址LBAy6分配預(yù)備SSD以及SSD邏輯地址SLBA8。SSD邏輯地址SLBA8后續(xù)于SSD邏輯地址SLBA7。在這種情況下,再寫入部214a通過(guò)將SSD邏輯地址SLBA8指定為寫入目的地,從而對(duì)預(yù)備SSD請(qǐng)求從邏輯地址區(qū)域Y6讀出的數(shù)據(jù)的寫入。
[0138]利用上述的再寫入,從邏輯地址區(qū)域Y (邏輯地址區(qū)域Yl至Y6)讀出的數(shù)據(jù)再配置到SSD-n的連續(xù)的物理地址的區(qū)域中。在此,由于SSD-n在步驟S32中進(jìn)行了去映射,所以可期待被再配置于該SSD-n的例如從物理地址O起開(kāi)始的連續(xù)的物理地址的區(qū)域中。
[0139]接下來(lái)再寫入部214a將分配給LU12內(nèi)的寫入頻度高的邏輯地址區(qū)域X的SSD_n以及HDD_n內(nèi)的物理地址區(qū)域的數(shù)據(jù)(分段后的數(shù)據(jù)),例如按邏輯地址的升序而且按每個(gè)映射單位,從該SSD_n以及HDD_n中進(jìn)行讀出(步驟S36)。而且,再寫入部214a將讀出的數(shù)據(jù)寫入到所述預(yù)備SSD中(步驟S37)。再寫入部214a反復(fù)進(jìn)行步驟S36以及S35,直到進(jìn)行了讀出/寫入的映射單位的數(shù)目達(dá)到與邏輯地址區(qū)域X的總尺寸對(duì)應(yīng)的數(shù)NMx為止(步驟 S38)。
[0140]即使在從邏輯地址區(qū)域X讀出的數(shù)據(jù)向預(yù)備SSD的寫入時(shí),也進(jìn)行與從上述的邏輯地址區(qū)域Y讀出的數(shù)據(jù)向預(yù)備SSD的寫入同樣的映射。在此,對(duì)邏輯地址區(qū)域Y的開(kāi)頭的邏輯地址分配SSD邏輯地址SLBA9。SSD邏輯地址SLBA9后續(xù)于分配給邏輯地址區(qū)域X的最終的邏輯地址的SSD邏輯地址SLBA8。在這種情況下,從邏輯地址區(qū)域X讀出的數(shù)據(jù),可期待被再配置到SSD-n的從物理地址O起開(kāi)始的連續(xù)的物理地址的區(qū)域后續(xù)的物理地址的區(qū)域中。[0141]接下來(lái)再寫入部214a在分配給LU12內(nèi)的剩余的邏輯地址區(qū)域Z(也就是說(shuō)讀出頻度低而且寫入頻度也低的邏輯地址區(qū)域Z)的物理地址區(qū)域的數(shù)據(jù)中,將SSD_n內(nèi)的物理地址區(qū)域的數(shù)據(jù)(分段后的數(shù)據(jù)),例如以邏輯地址的順序而且按每個(gè)映射單位,從該SSD_n中進(jìn)行讀出(步驟S39)。而且,再寫入部214a將讀出的數(shù)據(jù)寫入到所述HDD_n中(步驟S40)。再寫入部214a對(duì)全部的邏輯地址區(qū)域Z反復(fù)進(jìn)行步驟S39以及S40 (步驟S41)。
[0142]映射部211a即使在分配給邏輯地址區(qū)域Z的物理地址區(qū)域的數(shù)據(jù)中的、從SSD_η讀出的數(shù)據(jù)向HDD-n的寫入時(shí),也進(jìn)行與向預(yù)備SSD的寫入時(shí)同樣的映射。例如映射部211a對(duì)邏輯地址區(qū)域Z的開(kāi)頭的邏輯地址,分配處于自由狀態(tài)的HDD邏輯地址區(qū)域的開(kāi)頭的HDD邏輯地址。
[0143]當(dāng)步驟S39以及S40對(duì)全部的邏輯地址區(qū)域Z重復(fù)進(jìn)行時(shí)(步驟S41 ),映射部211a將預(yù)備SSD切換為SSD_n (也就是說(shuō)新SSD_n)(步驟S42)。此外映射部211a將切換前的SSD_n (也就是說(shuō)舊SSD_n)切換為預(yù)備SDD (步驟S43)。
[0144]接下來(lái)映射部211a對(duì)變量η進(jìn)行加I (步驟S44)。在此,η從1加1為2。而且,映射部211a判定該加I后的變量η (= 2)是否超過(guò)了定義LU150所使用的SSD的數(shù)目(=HDD的數(shù)目)ND (步驟S45)。在此,ND為2。
[0145]如該例子那樣,若η (= 2)未超過(guò)ND (= 2)(步驟S45的“否”),則映射部211a與再寫入部214a配合,再次執(zhí)行步驟S32至S45。
[0146]利用以上的動(dòng)作,在η為I的狀態(tài)中,從SSD_1以及HDD_1讀出與邏輯地址區(qū)域Y對(duì)應(yīng)的數(shù)據(jù),該數(shù)據(jù)被寫入到預(yù)備SSD中。接下來(lái),從SSD_1以及HDD_1中讀出與邏輯地址區(qū)域X對(duì)應(yīng)的數(shù)據(jù),該數(shù)據(jù)被寫入到預(yù)備SSD。接下來(lái),從SSD_1中讀出與剩余的邏輯地址區(qū)域Z對(duì)應(yīng)的數(shù)據(jù),該數(shù)據(jù)被寫入到HDD_1中。而且,預(yù)備SSD被切換到新SSD_1,舊SSD_1被切換到預(yù)備SSD。于是,η從I加I為2。
[0147]這樣,在η為2的狀態(tài)中,從SSD_2以及HDD_2讀出與邏輯地址區(qū)域Y對(duì)應(yīng)的數(shù)據(jù),該數(shù)據(jù)被寫入到預(yù)備SSD (也就是說(shuō)是舊SSD_1)中。在此預(yù)備SSD (舊SSD_1)在該讀出/寫入前進(jìn)行去映射。接下來(lái),從SSD_2以及HDD_2讀出與邏輯地址區(qū)域X對(duì)應(yīng)的數(shù)據(jù),該數(shù)據(jù)被寫入預(yù)備SSD (舊SSD_1)中。接下來(lái),從SSD_2讀出與剩余的邏輯地址區(qū)域Z對(duì)應(yīng)的數(shù)據(jù),該數(shù)據(jù)被寫入到HDD_2中。而且,預(yù)備SSD (舊SSD_1)被切換到新SSD_2,舊SSD_2被切換到預(yù)備SSD。于是,η從2加I為3。這樣,若η (= 3)超過(guò)ND (= 2)(步驟S45的“是”),則圖16的流程圖所示的處理Pa結(jié)束。
[0148]根據(jù)處理Pa,通過(guò)利用預(yù)備SSD,能可靠地實(shí)現(xiàn)與圖12同樣的數(shù)據(jù)再配置。其中,圖12所示的數(shù)據(jù)再配置相當(dāng)于在處理Pa中ND為I的情況。
[0149]接下來(lái)對(duì)于上述處理Pb,使用圖17的流程圖進(jìn)行說(shuō)明。首先映射部211a將指定SSD以及HDD的變量η設(shè)定為初始值1(步驟S51)。再寫入部214a由于不存在預(yù)備SSD,所以用以下描述的順序,將SSD_n內(nèi)的數(shù)據(jù)(更詳細(xì)地說(shuō)有效的數(shù)據(jù))拷貝(退避)到HDD_n中。首先再寫入部214a從分配給被映射了 SSD_n的LU12內(nèi)的邏輯地址區(qū)域的該SSD_n的物理區(qū)域中,例如按邏輯地址的升序而且按每個(gè)映射單位,讀出數(shù)據(jù)(有效的數(shù)據(jù))(步驟S52)。而且,再寫入部214a將讀出的數(shù)據(jù)寫入到HDD_n中(步驟S53)。由此數(shù)據(jù)從SSD_n拷貝到HDD_n中。再寫入部214a按邏輯地址的順序反復(fù)進(jìn)行步驟S52以及S53,直到SSD_n內(nèi)的有效的數(shù)據(jù)全部拷貝到HDD_n中為止(步驟S54)。[0150]當(dāng)設(shè)從SSD_n向HDD_n的數(shù)據(jù)拷貝結(jié)束時(shí),映射部211a對(duì)SSD_n進(jìn)行去映射(步驟S55)。在步驟S55中映射部211a在對(duì)SSD_n進(jìn)行去映射之前,對(duì)被映射了該SSD_n的LU 150的邏輯地址區(qū)域(映射單位)映射(分配)HDD_n。于是,再寫入部214a將分配給LU12內(nèi)的讀出頻度高而且寫入頻度低的邏輯地址區(qū)域Y的HDD_n內(nèi)的物理地址區(qū)域的數(shù)據(jù),例如按邏輯地址的升序而且按每個(gè)映射單位,從該HDD_n中進(jìn)行讀出(步驟S56)。讀出的數(shù)據(jù)在對(duì)SSD-n進(jìn)行去映射之前,有可能包含從該SSD-n拷貝到HDD_n的數(shù)據(jù)。再寫入部214a將讀出的數(shù)據(jù)寫入到SSD_n (處于去映射狀態(tài)的SSD-n)中(步驟S57)。再寫入部214a反復(fù)進(jìn)行步驟S56以及S57,直到進(jìn)行了讀出/寫入的映射單位的數(shù)目達(dá)到與邏輯地址區(qū)域Y的總尺寸對(duì)應(yīng)的數(shù)NMy為止(步驟S58)。
[0151]接下來(lái)再寫入部214a將分配給LU12內(nèi)的寫入頻度高的邏輯地址區(qū)域X的HDD_η內(nèi)的物理地址區(qū)域的數(shù)據(jù),例如按邏輯地址的升序而且按每個(gè)映射單位,從該HDD_n中進(jìn)行讀出(步驟S59)。而且,再寫入部214a將讀出的數(shù)據(jù)寫入到SSD_n* (步驟S60)。再寫入部214a反復(fù)進(jìn)行步驟S59以及S60,直到進(jìn)行了讀出/寫入的映射單位的數(shù)目達(dá)到與邏輯地址區(qū)域X的總尺寸對(duì)應(yīng)的數(shù)NMx為止(步驟S61)。
[0152]接下來(lái)映射部211a對(duì)變量η加I (步驟S62)。在此,η從I加I為2。而且,映射部211a判定該加I后的變量η (= 2)是否超過(guò)了用于定義LU150的SSD的數(shù)目(也就是說(shuō)HDD的數(shù)目)ND (步驟S63)。在此,ND為2。
[0153]如該例子那樣,若η (= 2)不超過(guò)ND (= 2)(步驟S63的“否”),則映射部211a與再寫入部214a相配合地再次執(zhí)行步驟S52至S63。與此相對(duì),若η超過(guò)ND (步驟S63的“是”),則圖17的流程圖所示的處理Pb結(jié)束。
[0154]根據(jù)處理Pb,若在為了定義LU150而使用的HDD (在此是HDD_1以及HDD_2)中具有足夠的空閑區(qū)域,則通過(guò)利用該HDD,從而能可靠地實(shí)現(xiàn)與圖12同樣的數(shù)據(jù)再配置。其中,圖12所示的數(shù)據(jù)再配置在處理Pb中相當(dāng)于ND為I的情況。
[0155]根據(jù)以上說(shuō)明的至少一個(gè)實(shí)施方式,能提供一種以能降低在SSD (固態(tài)驅(qū)動(dòng)器)中執(zhí)行碎片化消除處理的頻度的方式對(duì)該SSD再配置數(shù)據(jù)的存儲(chǔ)裝置、存儲(chǔ)控制器以及方法。
[0156]雖然說(shuō)明了本發(fā)明的幾個(gè)實(shí)施方式,但這些實(shí)施方式是作為例子而進(jìn)行提示的,并不意在對(duì)發(fā)明的范圍進(jìn)行限定。這些新的實(shí)施方式能以其它的各種方式進(jìn)行實(shí)施,能在不脫離發(fā)明的要旨的范圍內(nèi)進(jìn)行各種的省略、置換、變更。這些實(shí)施方式及其變形包含在發(fā)明的范圍、要旨中,并且包含在權(quán)利要求書記載的發(fā)明和其均等的范圍中。
【權(quán)利要求】
1.一種存儲(chǔ)裝置, 具備: 第一固態(tài)驅(qū)動(dòng)器;以及 存儲(chǔ)控制器,對(duì)所述第一固態(tài)驅(qū)動(dòng)器進(jìn)行控制, 所述存儲(chǔ)控制器具備: 邏輯單元管理部,對(duì)邏輯單元進(jìn)行定義,該邏輯單元具有邏輯區(qū)域,該邏輯區(qū)域被分配了所述第一固態(tài)驅(qū)動(dòng)器的物理區(qū)域; 訪問(wèn)統(tǒng)計(jì)值收集部,對(duì)構(gòu)成所述邏輯單元的所述邏輯區(qū)域的多個(gè)一定尺寸的小邏輯地址區(qū)域各自的寫入頻度進(jìn)行收集; 選擇部,基于所述寫入頻度,從所述邏輯單元中分別選擇第一小邏輯地址區(qū)域的集合和第二小邏輯地址區(qū)域的集合,所述第一小邏輯地址區(qū)域的集合是所述寫入頻度低的小邏輯地址區(qū)域的集合,所述第二小邏輯地址區(qū)域的集合是除了所述第一小邏輯地址區(qū)域的集合之外的小邏輯地址區(qū)域的集合;以及 再寫入部,執(zhí)行第一再寫入和第二再寫入,所述第一再寫入用于將所述第一小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述第一固態(tài)驅(qū)動(dòng)器中,所述第二再寫入用于將所述第二小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述第一固態(tài)驅(qū)動(dòng)器中。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)裝置, 所述再寫入部通過(guò)將所述第一小邏輯地址區(qū)域的集合的數(shù)據(jù)邏輯覆蓋到該第一小邏輯地址區(qū)域的集合上,從而執(zhí) 行所述第一再寫入,而且,通過(guò)將所述第二小邏輯地址區(qū)域的集合的數(shù)據(jù)邏輯覆蓋到該第二小邏輯地址區(qū)域的集合上,從而執(zhí)行所述第二再寫入。
3.根據(jù)權(quán)利要求2所述的存儲(chǔ)裝置, 所述選擇部,從所述邏輯單元中,從所述寫入頻度低的小邏輯地址區(qū)域起依次選擇預(yù)先確定的數(shù)目的小邏輯地址區(qū)域,作為所述第一小邏輯地址區(qū)域的集合。
4.根據(jù)權(quán)利要求1或者2的任一項(xiàng)所述的存儲(chǔ)裝置, 還具備硬盤驅(qū)動(dòng)器, 所述存儲(chǔ)控制器除了對(duì)所述第一固態(tài)驅(qū)動(dòng)器進(jìn)行控制之外,還對(duì)所述硬盤驅(qū)動(dòng)器進(jìn)行控制, 所述邏輯單元管理部除了使用所述第一固態(tài)驅(qū)動(dòng)器對(duì)所述邏輯單元進(jìn)行定義之外,還使用所述硬盤驅(qū)動(dòng)器對(duì)所述邏輯單元進(jìn)行定義, 所述訪問(wèn)統(tǒng)計(jì)值收集部除了對(duì)所述小邏輯地址區(qū)域各自的所述寫入頻度進(jìn)行收集之外,還對(duì)所述小邏輯地址區(qū)域各自的讀出頻度進(jìn)行收集, 所述選擇部基于所述寫入頻度以及所述讀出頻度,從所述邏輯單元中選擇所述寫入頻度低且所述讀出頻度高的小邏輯地址區(qū)域的集合來(lái)作為所述第一小邏輯地址區(qū)域的集合,而且,從所述邏輯單元中選擇除了所述第一小邏輯地址區(qū)域的集合之外的所述寫入頻度高的小邏輯地址區(qū)域的集合來(lái)作為所述第二小邏輯地址區(qū)域的集合,而且,從所述邏輯單元中選擇除了所述第一小邏輯地址區(qū)域的集合以及所述第二小邏輯地址區(qū)域的集合之外的第三小邏輯地址區(qū)域的集合, 所述再寫入部執(zhí)行用于將所述第三小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述硬盤驅(qū)動(dòng)器中的第三再寫入。
5.根據(jù)權(quán)利要求4所述的存儲(chǔ)裝置, 所述選擇部從所述邏輯單元中從所述寫入頻度高的小邏輯地址區(qū)域起依次選擇預(yù)先確定的第二數(shù)目的小邏輯地址區(qū)域來(lái)作為所述第二小邏輯地址區(qū)域的集合,并從所述邏輯單元中從除了所述第二小邏輯地址區(qū)域的集合之外的、剩余的所述讀出頻度高的小邏輯地址區(qū)域起依次選擇預(yù)先確定的第一數(shù)目的小邏輯地址區(qū)域來(lái)作為所述第一小邏輯地址區(qū)域的集合。
6.根據(jù)權(quán)利要求4所述的存儲(chǔ)裝置, 還具備作為預(yù)備的固態(tài)驅(qū)動(dòng)器的第二固態(tài)驅(qū)動(dòng)器, 所述再寫入部,取代所述第一再寫入而執(zhí)行用于將所述第一小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述預(yù)備的固態(tài)驅(qū)動(dòng)器中的第四再寫入,取代所述第二再寫入而執(zhí)行用于將所述第二小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述預(yù)備的固態(tài)驅(qū)動(dòng)器中的第五再寫入,而且,取代所述第三再寫入而執(zhí)行用于將所述第三小邏輯地址區(qū)域的集合中的分配給所述第一固態(tài)驅(qū)動(dòng)器的第四小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述硬盤驅(qū)動(dòng)器中的第六再寫入, 所述邏輯單元管理部在所述第四、第五以及第六再寫入后,作為所述預(yù)備的固態(tài)驅(qū)動(dòng)器,從所述第二固態(tài)驅(qū)動(dòng)器切換到所述第一固態(tài)驅(qū)動(dòng)器,而且將分配給所述邏輯單元的固態(tài)驅(qū)動(dòng)器從所述第一固態(tài)驅(qū)動(dòng)器切換到所述第二固態(tài)驅(qū)動(dòng)器。
7.根據(jù)權(quán)利要求4所述的存儲(chǔ)裝置, 所述再寫入部在所述再寫入時(shí), 取代所述第一再寫入而執(zhí)行第四再寫入,該第四再寫入用于:在將所述第一固態(tài)驅(qū)動(dòng)器的數(shù)據(jù)拷貝到所述硬盤驅(qū)動(dòng)器中之后擦除所述第一固態(tài)驅(qū)動(dòng)器的數(shù)據(jù);在此之后,從所述硬盤驅(qū)動(dòng)器中讀出所述 第一小邏輯地址區(qū)域的集合的數(shù)據(jù);將該第一小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述第一固態(tài)驅(qū)動(dòng)器, 而且,取代所述第二再寫入而執(zhí)行第五再寫入,該第五再寫入用于:從所述硬盤驅(qū)動(dòng)器中讀出所述第二小邏輯地址區(qū)域的集合的數(shù)據(jù);將該第二小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述第一固態(tài)驅(qū)動(dòng)器。
8.一種存儲(chǔ)控制器,對(duì)固態(tài)驅(qū)動(dòng)器進(jìn)行控制,該存儲(chǔ)控制器具備: 邏輯單元管理部,對(duì)邏輯單元進(jìn)行定義,該邏輯單元具有邏輯區(qū)域,該邏輯區(qū)域被分配了所述固態(tài)驅(qū)動(dòng)器的物理區(qū)域; 訪問(wèn)統(tǒng)計(jì)值收集部,對(duì)構(gòu)成所述邏輯單元的所述邏輯區(qū)域的多個(gè)一定尺寸的小邏輯地址區(qū)域各自的寫入頻度進(jìn)行收集; 選擇部,基于所述寫入頻度,從所述邏輯單元中分別選擇第一小邏輯地址區(qū)域的集合和第二小邏輯地址區(qū)域的集合,所述第一小邏輯地址區(qū)域的集合是所述寫入頻度低的小邏輯地址區(qū)域的集合,所述第二小邏輯地址區(qū)域的集合是除了所述第一小邏輯地址區(qū)域的集合之外的小邏輯地址區(qū)域的集合;以及 再寫入部,執(zhí)行第一再寫入和第二再寫入,所述第一再寫入用于將所述第一小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述固態(tài)驅(qū)動(dòng)器中,所述第二再寫入用于將所述第二小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述固態(tài)驅(qū)動(dòng)器中。
9.一種在對(duì)固態(tài)驅(qū)動(dòng)器進(jìn)行控制的存儲(chǔ)控制器中對(duì)所述固態(tài)驅(qū)動(dòng)器再配置數(shù)據(jù)的方法, 對(duì)構(gòu)成邏輯單元的邏輯區(qū)域的多個(gè)一定尺寸的小邏輯地址區(qū)域各自的寫入頻度進(jìn)行收集,所述邏輯單元具有所述邏輯區(qū)域,所述邏輯區(qū)域被分配了所述固態(tài)驅(qū)動(dòng)器的物理區(qū)域; 基于所述寫入頻度,從所述邏輯單元中分別選擇第一小邏輯地址區(qū)域的集合和第二小邏輯地址區(qū)域的集合,所述第一小邏輯地址區(qū)域的集合是所述寫入頻度低的小邏輯地址區(qū)域的集合,所述第二小邏輯地址區(qū)域的集合是除了所述第一小邏輯地址區(qū)域的集合之外的小邏輯地址區(qū)域的集合; 將所述第一小邏輯地址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述固態(tài)驅(qū)動(dòng)器中; 將所述第二小邏輯地 址區(qū)域的集合的數(shù)據(jù)集中再寫入到所述固態(tài)驅(qū)動(dòng)器中。
【文檔編號(hào)】G06F3/06GK103827970SQ201280002707
【公開(kāi)日】2014年5月28日 申請(qǐng)日期:2012年9月25日 優(yōu)先權(quán)日:2012年9月25日
【發(fā)明者】尾形克彥 申請(qǐng)人:株式會(huì)社東芝, 東芝解決方案株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
汽车| 宜兰市| 东至县| 浙江省| 焦作市| 太保市| 霸州市| 太白县| 靖西县| 剑河县| 米脂县| 剑川县| 抚宁县| 瑞丽市| 梅河口市| 永兴县| 凤城市| 巫溪县| 梧州市| 铅山县| 札达县| 民县| 全椒县| 仪陇县| 收藏| 广汉市| 龙江县| 罗甸县| 安宁市| 筠连县| 大渡口区| 逊克县| 临夏市| 台湾省| 天祝| 邵武市| 称多县| 南投县| 介休市| 温州市| 鸡东县|