盤陣列設(shè)備、盤控制設(shè)備、固態(tài)驅(qū)動器、盤控制方法和記錄介質(zhì)的制作方法
【專利說明】盤陣列設(shè)備、盤控制設(shè)備、固態(tài)驅(qū)動器、盤控制方法和記錄介質(zhì)
[0001]本發(fā)明基于并且要求2014年11月5日提交的日本專利申請N0.2014-225394的優(yōu)先權(quán)的利益,其公開內(nèi)容在此援引整體加入進來。
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及盤控制技術(shù),更具體涉及擴展固態(tài)驅(qū)動器的壽命跨度的技術(shù)。
【背景技術(shù)】
[0003]盤陣列設(shè)備已知包括多個存儲設(shè)備,諸如構(gòu)成陣列的硬盤驅(qū)動器(HDD)或固態(tài)驅(qū)動器(SSD)。稱為精簡配置的技術(shù)涉及這樣的盤陣列設(shè)備。通過精簡配置,盤陣列設(shè)備將陣列的物理區(qū)域分割成被稱為塊區(qū)(extent)(物理區(qū)塊)的特定大小的扇區(qū)以便管理,并且當對邏輯卷進行寫入訪問時虛擬地分配物理塊區(qū)。通過這樣的精簡配置的過程,盤的物理容量可以被減小。
[0004]通過精簡配置,通過由主機裝置執(zhí)行的數(shù)據(jù)寫入而觸發(fā)物理塊區(qū)的分配。圖1是示出物理塊區(qū)分配的圖像的圖示。此外,不再必需的物理塊區(qū)被來自主機裝置的釋放命令(例如,小型計算機系統(tǒng)接口(SCSI)命令的UNMAP命令)所釋放。
[0005]當指定匹配一個物理塊區(qū)的范圍的UNMAP (未映射)命令被發(fā)布時,盤陣列設(shè)備釋放對應(yīng)的物理塊區(qū)。當主機裝置新寫入數(shù)據(jù)時,釋放的物理塊區(qū)隨后被分配作為用于數(shù)據(jù)寫入的區(qū)域。當釋放物理塊區(qū)時,盤陣列設(shè)備保持物理塊區(qū)中的數(shù)據(jù)不變。然后,當物理塊區(qū)被新分配作為用于數(shù)據(jù)寫入的區(qū)域時,盤陣列更新物理塊區(qū)中的數(shù)據(jù)。
[0006]與之對照,當指定小于對應(yīng)于一個物理塊區(qū)的范圍的范圍的UNMAP命令被發(fā)布時,物理塊區(qū)中但在UNMAP命令所指定的范圍之外的數(shù)據(jù)必須被保持。因此,盤陣列設(shè)備不能釋放整個物理塊區(qū)。在此情況下,此外,當讀取針對其發(fā)布了 UNMAP命令的范圍時,主機裝置期望返回“O”的數(shù)據(jù)。
[0007]PTL I公開了一種用于掌控區(qū)域釋放命令(UNMAP命令)的技術(shù),指定了小于對應(yīng)于一個物理塊區(qū)的范圍的范圍的該命令被發(fā)布。當指定范圍小于對應(yīng)于一個物理塊區(qū)的范圍時,根據(jù)PTL I的存儲設(shè)備在UNMAP命令指定的范圍中寫入“O”。下文中,寫入“O”的動作將被稱為“零數(shù)據(jù)寫入”。然后,存儲設(shè)備周期性檢查是否物理塊區(qū)中的所有數(shù)據(jù)通過例如UNMAP命令的發(fā)布而被覆寫為“0”,由此釋放物理塊區(qū)。圖2是示出由存儲設(shè)備執(zhí)行UNMAP命令的圖像的圖示。
[0008]PTL 2公開了一種類似于PTL I的技術(shù)。根據(jù)PTL 2的存儲器系統(tǒng)從主機接收刪除通知(UNMAP命令),關(guān)于小于用于管理單元(例如物理塊區(qū))的量的數(shù)據(jù),指定邏輯地址的消滅區(qū)域。在此情況下,存儲器系統(tǒng)在(邏輯-物理轉(zhuǎn)換表上對應(yīng)于包括在消滅區(qū)域中且小于用于管理單元的區(qū)域的)非易失性存儲器上的物理地址的區(qū)域中,寫入預(yù)定數(shù)據(jù)模式。存儲器系統(tǒng)進一步在邏輯-物理轉(zhuǎn)換表上對應(yīng)于由預(yù)定數(shù)據(jù)模式所完全覆蓋的管理單元的可釋放區(qū)域的物理地址中,寫入無效值。存儲器系統(tǒng)由此釋放對應(yīng)于管理單元的可釋放區(qū)域的邏輯地址的區(qū)域。
[0009]但是,當盤陣列設(shè)備由SSD構(gòu)成時,根據(jù)PTL I和PTL 2的技術(shù)具有下面的缺點。
[0010]在SSD中,與非(NAND)塊(block)中的數(shù)據(jù)寫入次數(shù)有限。這里,NAND塊指的是構(gòu)成要在更新數(shù)據(jù)時被刪除的單元的塊。因此,SSD中數(shù)據(jù)寫入次數(shù)的增加導(dǎo)致SSD縮短壽命跨度。當指定小于對應(yīng)于一個物理塊區(qū)的范圍的范圍的UNMAP命令被發(fā)布時,將預(yù)定數(shù)據(jù)(例如“O”)寫入到由UNMAP命令所指定的范圍中的SSD中。當例如通過UNMAP命令的后續(xù)發(fā)布,物理塊區(qū)中的所有數(shù)據(jù)都已經(jīng)被覆寫為預(yù)定數(shù)據(jù)時,釋放物理塊區(qū)。因此,當指定小于對應(yīng)于一個物理塊區(qū)的范圍的范圍的UNMAP被發(fā)布時,每次寫入預(yù)定數(shù)據(jù)時,數(shù)據(jù)寫入次數(shù)增加。
[0011]PTL 3公開了一種對上述缺點的解決方案。PTL 3提議當指定范圍小于對應(yīng)于一個物理塊區(qū)的范圍時存儲對其已經(jīng)發(fā)布UNMAP命令的范圍的列表,由此減少零數(shù)據(jù)寫入。
[0012]但是,根據(jù)PTL 3的技術(shù)具有下面的缺點。首先,列表是有限的,對于已經(jīng)從列表溢出的UNMAP命令執(zhí)行零數(shù)據(jù)寫入。在這樣的情況下,數(shù)據(jù)寫入次數(shù)增加。其次,列表包括管理信息,且因此管理信息需要用于每個邏輯驅(qū)動器(LD)和SSD,這導(dǎo)致盤陣列設(shè)備的存儲器的使用的增加。因此,盤陣列設(shè)備可用的高速緩存存儲器容量被減小,或者安裝更大存儲器導(dǎo)致成本增加。
[0013]PTL 4公開了一種對源自PTL 3的技術(shù)的前述缺點的解決方案。根據(jù)PTL 4的存儲系統(tǒng)包括構(gòu)成不昂貴盤的冗余陣列(RAID)的一個或多個組的多個閃存封裝,以及連接到多個閃存封裝的控制器。每個閃存封裝包括多個閃存芯片,閃存芯片包括多個物理塊??刂破髯R別關(guān)于不必要區(qū)域的目標區(qū)域,并且將指定分配給包括在目標區(qū)域中的邏輯塊的地址范圍的釋放命令,發(fā)射到管理該地址范圍的驅(qū)動器。該驅(qū)動器隨后釋放對應(yīng)的扇區(qū),且由驅(qū)動器管理的邏輯扇區(qū)被管理作為要被釋放的對象。然后,當邏輯塊中的所有邏輯扇區(qū)轉(zhuǎn)為要被釋放的對象時,物理塊被從邏輯塊中釋放。
[0014]PTL 5公開了一種用于在高速存儲介質(zhì)(例如SSD)中增加空閑空間的技術(shù)。在根據(jù)PTL 5的信息存儲設(shè)備中,當信息刪除控制單元檢測到來自主機的刪除請求時,信息復(fù)制單元將高速信息存儲介質(zhì)中的對應(yīng)信息復(fù)制到低速信息存儲介質(zhì)(例如HDD)。信息復(fù)制單元還在接收到來自主機的恢復(fù)請求后,將來自低速信息存儲介質(zhì)的信息復(fù)制到高速信息存儲介質(zhì)。
[0015][引用列表]
[0016][專利文獻]
[0017][PTL I]未審日本專利申請公開N0.2008-217689
[0018][PTL 2]未審日本專利申請公開N0.2012-203864
[0019][PTL 3]未審日本專利申請公開N0.2013-073409
[0020][PTL 4]國家專利公布 N0.2012-523594
[0021][PTL 5]未審日本專利申請公開N0.2011-090531
【發(fā)明內(nèi)容】
[0022]因此,本發(fā)明提供一種盤陣列設(shè)備、盤控制設(shè)備、固態(tài)驅(qū)動器、盤控制方法和用于其的程序,由此,使得能夠區(qū)分SSD中的邏輯塊尋址(LBA)的UNMAPPED狀態(tài)和數(shù)據(jù)異常。
[0023]根據(jù)本發(fā)明的一個方面的一種盤陣列設(shè)備包括:
[0024]固態(tài)驅(qū)動器電路,其提供狀態(tài)信息,該狀態(tài)信息指示構(gòu)成要被刪除的單元的物理區(qū)域是否分配給邏輯塊尋址;以及
[0025]控制電路,在從所述固態(tài)驅(qū)動器接收到數(shù)據(jù)和尾部的值全為零的零數(shù)據(jù)之后,根據(jù)所提供的狀態(tài)信息發(fā)射數(shù)據(jù)到主機裝置。
[0026]根據(jù)本發(fā)明的一個方面的一種固態(tài)驅(qū)動器包括提供電路,其響應(yīng)于從控制電路接收到的命令,提供狀態(tài)信息,該狀態(tài)信息指示構(gòu)成要被刪除的單元的物理區(qū)域是否映射在邏輯塊尋址中,
[0027]其中,在從所述固態(tài)驅(qū)動器接收到數(shù)據(jù)和尾部的值全為零的零數(shù)據(jù)之后,所述控制電路根據(jù)所述狀態(tài)信息發(fā)射數(shù)據(jù)到主機裝置。
[0028]根據(jù)本發(fā)明的一個方面的一種固態(tài)驅(qū)動器包括提供電路,其響應(yīng)于從控制電路接收到的命令,提供狀態(tài)信息,該狀態(tài)信息指示構(gòu)成要被刪除的單元的物理區(qū)域是否映射在邏輯塊地址中,
[0029]其中,在從所述固態(tài)驅(qū)動器接收到數(shù)據(jù)和尾部的值全為零的零數(shù)據(jù)之后,所述控制電路根據(jù)所述狀態(tài)信息發(fā)射數(shù)據(jù)到主機裝置,
[0030]所述固態(tài)驅(qū)動器被配置為,當發(fā)射數(shù)據(jù)到所述控制電路時,添加對應(yīng)于所述數(shù)據(jù)的狀態(tài)信息,由此提供所述狀態(tài)信息到所述控制電路。
[0031]根據(jù)本發(fā)明的一個方面的一種控制設(shè)備包括電路,在從固態(tài)驅(qū)動器接收到數(shù)據(jù)和尾部的值全為零的零數(shù)據(jù)之后,該電路根據(jù)狀態(tài)信息發(fā)射數(shù)據(jù)到主機裝置,所述狀態(tài)信息從固態(tài)驅(qū)動器提供且指示構(gòu)成要被刪除的單元的物理區(qū)域是否映射在邏輯塊地址中。
[0032]根據(jù)本發(fā)明的一個方面的一種盤控制方法,包括:使得計算機在從固態(tài)驅(qū)動器接收數(shù)據(jù)和尾部的值全為零的零數(shù)據(jù)之后,根據(jù)從所述固態(tài)驅(qū)動器提供的、指示構(gòu)成要被刪除的單元的物理區(qū)域是否映射在邏輯塊地址中的狀態(tài)信息,發(fā)射數(shù)據(jù)到主機裝置。
[0033]根據(jù)本發(fā)明的一個方面的計算機可讀非瞬時記錄介質(zhì),記錄程序,所述程序被配置為使得計算機在從固態(tài)驅(qū)動器接收數(shù)據(jù)和尾部的值全為零的零數(shù)據(jù)之后,根據(jù)從所述固態(tài)驅(qū)動器提供的、指示構(gòu)成要被刪除的單元的物理區(qū)域是否映射在邏輯塊地址中的狀態(tài)信息,發(fā)射數(shù)據(jù)到主機裝置。
【附圖說明】
[0034]根據(jù)下面的詳細描述,同時結(jié)合附圖,本發(fā)明的示例特征和優(yōu)點將變得顯然,在附圖中:
[0035]圖1是示出根據(jù)相關(guān)技術(shù)的物理塊區(qū)分配的圖像的圖;
[0036]圖2是示出根據(jù)相關(guān)技術(shù)的由存儲設(shè)備執(zhí)行UNMAP命令的圖像的圖;
[0037]圖3是示出根據(jù)相關(guān)技術(shù)的SSD中的MAP狀態(tài)管理表的更新的圖像的圖;
[0038]圖4是示出根據(jù)相關(guān)技術(shù)的SSD中的MAP狀態(tài)管理表的更新的另一圖像的圖;
[0039]圖5是示出根據(jù)相關(guān)技術(shù)的在盤陣列設(shè)備中添加尾部的圖像的圖;
[0040]圖6是示出根據(jù)相關(guān)技術(shù)的從SSD返回零數(shù)據(jù)和零尾部的圖像的圖;
[0041]圖7是示出根據(jù)本發(fā)明的第一示例實施例的盤陣列設(shè)備的配置的框圖;
[0042]圖8是示出根據(jù)第一示例實施例的SSD的配置的框圖;
[0043]圖9是示出根據(jù)第一示例實施例的MAP狀態(tài)管理表的結(jié)構(gòu)的示例的圖;
[0044]圖10是示出根據(jù)第一示例實施例的分配管理表的結(jié)構(gòu)的示例的圖;
[0045]圖11是示出根據(jù)第一示例實施例的實現(xiàn)盤陣列設(shè)備的計算機的硬件配置的框圖;
[0046]圖12是不出根據(jù)第一不例實施例的分配管理表的具體不例的圖;
[0047]圖13是示出根據(jù)第一示例實施例的MAP狀態(tài)管理表的具體示例的圖;
[0048]圖14是示出根據(jù)第一示例實施例的盤陣列設(shè)備的操作的流程圖;
[0049]圖15是示出根據(jù)第一示例實施例的分配管理表的另一具體示例的圖;
[0050]圖16是示出根據(jù)第一示例實施例的MAP狀態(tài)管理表的另一具體示例的圖;
[0051]圖17是示出根據(jù)第一示例實施例的盤陣列設(shè)備的另一操作的流程圖;
[0052]圖18是示出根據(jù)第一示例實施例的盤陣列設(shè)備的又一操作的流程圖;
[0053]圖19是示出根據(jù)第一