相關(guān)申請的交叉引用
本專利要求于2015年12月1日提交的第10-2015-0170113號韓國專利申請的優(yōu)先權(quán),該韓國專利申請的公開內(nèi)容通過引用整體并入于此。
在本文中所描述的發(fā)明構(gòu)思涉及一種冗余存儲設(shè)備、具有該冗余存儲設(shè)備的系統(tǒng)以及該冗余存儲設(shè)備的操作方法。
背景技術(shù):
微型服務(wù)器是基于片上系統(tǒng)(soc)的服務(wù)器類計算機。微型服務(wù)器包括處理器模塊,該處理器模塊被插入到微型服務(wù)器系統(tǒng)的主體中。通常,在諸如機架裝配服務(wù)器的機架服務(wù)器中,處理器模塊未與其他處理器模塊一起垂直堆疊。在許多服務(wù)器被插入并且被安裝到狹窄空間的意義上,處理器模塊被稱為“高密度服務(wù)器”。處理器模塊包括一個或多個中央處理單元(cpu)、存儲器設(shè)備以及操作系統(tǒng)。處理器模塊接收電源和輸入,提供輸出以及執(zhí)行服務(wù)器的功能。然而,如果微型服務(wù)器發(fā)生故障,則其存儲的數(shù)據(jù)可能丟失。
技術(shù)實現(xiàn)要素:
根據(jù)本發(fā)明構(gòu)思的實施例,一種冗余存儲設(shè)備包括:第一端口、與第一端口不同的第二端口、連接到第一端口的第一存儲設(shè)備以及連接到第二端口第二存儲設(shè)備。第一存儲設(shè)備使用內(nèi)部通信將第二存儲設(shè)備的操作模式從備用模式改變?yōu)榧せ钅J健?/p>
根據(jù)本發(fā)明構(gòu)思的示例性實施例,一種冗余存儲設(shè)備包括:第一適配器、與第一適配器不同的第二適配器、連接到第一適配器并且操作在激活模式下的第一存儲設(shè)備、連接到第一適配器并且被配置為對第一存儲設(shè)備的數(shù)據(jù)進行鏡像的第二存儲設(shè)備、連接到第二適配器并且備用操作在備用模式下的第三存儲設(shè)備以及連接到第二適配器并且被配置為對第三存儲設(shè)備的數(shù)據(jù)進行鏡像的第四存儲設(shè)備。第一存儲設(shè)備至第四存儲設(shè)備中的每個使用內(nèi)部通信將操作模式改變?yōu)榧せ钅J交騻溆媚J健?/p>
根據(jù)本發(fā)明構(gòu)思的示例性實施例,一種服務(wù)器系統(tǒng)包括:至少一個服務(wù)器、連接到至少一個服務(wù)器的網(wǎng)絡(luò)交換機以及通過第一信道和第二信道連接到網(wǎng)絡(luò)交換機的至少一個冗余存儲設(shè)備。該至少一個冗余存儲設(shè)備包括:連接到第一信道并且操作在激活模式下的第一存儲設(shè)備以及連接到第二信道并且備用操作在備用模式下的第二存儲設(shè)備。當?shù)谝淮鎯υO(shè)備故障時,第一存儲設(shè)備通過內(nèi)部通信向第二存儲設(shè)備傳送操作模式改變請求。第二存儲設(shè)備響應(yīng)于操作模式改變請求,將其操作模式從備用模式改變?yōu)榧せ钅J健?/p>
根據(jù)本發(fā)明構(gòu)思的示例性實施例,一種操作冗余存儲設(shè)備的方法包括:冗余存儲設(shè)備的操作在激活模式下的第一存儲設(shè)備執(zhí)行寫操作以將數(shù)據(jù)存儲到第一存儲設(shè)備;第一存儲設(shè)備將在第一存儲設(shè)備中所存儲的數(shù)據(jù)鏡像到冗余存儲設(shè)備的操作在激活模式下的第二存儲設(shè)備;第一存儲設(shè)備確定在第一存儲設(shè)備中是否發(fā)生故障;以及當確定在第一存儲設(shè)備中發(fā)生故障時,第一存儲設(shè)備將冗余存儲設(shè)備的第三存儲設(shè)備的操作模式從備用模式改變?yōu)榧せ钅J健?/p>
根據(jù)本發(fā)明構(gòu)思的示例性實施例,一種操作冗余存儲設(shè)備的方法包括:冗余存儲設(shè)備檢測在冗余存儲設(shè)備的被設(shè)置為激活模式的第一存儲設(shè)備中是否發(fā)生故障;當檢測到故障時,第一存儲設(shè)備通過冗余存儲設(shè)備的內(nèi)部信道向冗余存儲設(shè)備的第二存儲設(shè)備發(fā)送請求消息;以及第二存儲設(shè)備響應(yīng)于請求消息將其自身設(shè)置為激活模式。
附圖說明
根據(jù)參考附圖進行的下面的描述,上述發(fā)明構(gòu)思將變得明顯,其中,除非另外地指明,否則貫穿各個附圖相同的附圖標記指代相同的部件,在附圖中:
圖1是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的服務(wù)器系統(tǒng)的框圖;
圖2是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備的框圖;
圖3是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備的框圖;
圖4是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備的框圖;
圖5是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備中所包括的存儲設(shè)備的框圖;
圖6是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備的框圖;
圖7是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備的框圖;
圖8是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的操作服務(wù)器系統(tǒng)的方法的梯形圖;
圖9是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的操作服務(wù)器系統(tǒng)的方法的梯形圖;
圖10是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備指示操作模式的改變的框圖;
圖11是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備指示操作模式的改變的框圖;
圖12是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備的存儲設(shè)備替換方法的框圖;
圖13是描述根據(jù)本發(fā)明構(gòu)思的示例性實施例的操作冗余存儲設(shè)備的方法的流程圖;
圖14是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的服務(wù)器系統(tǒng)的框圖;
圖15是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的服務(wù)器系統(tǒng)的框圖;以及
圖16是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的服務(wù)器系統(tǒng)的框圖。
具體實施方式
在下文中,將參考在其中示出示例性實施例的附圖來更加全面地描述本發(fā)明構(gòu)思。然而,應(yīng)當注意,本發(fā)明構(gòu)思不限于這些示例性實施例并且被實施為各種形式。相反,本發(fā)明構(gòu)思涵蓋落入本發(fā)明構(gòu)思的精神和范圍內(nèi)的所有修改、等價形式和替換。將理解,當元件被稱為“連接到”或“耦合到”另一個元件時,其可以直接地連接到或耦合到該另一個元件,或者可以存在居于中間的元件。
圖1是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的服務(wù)器系統(tǒng)10的框圖。參考圖1,服務(wù)器系統(tǒng)10包括至少一個冗余存儲設(shè)備(冗余ssd(一個或多個))100以及控制冗余存儲設(shè)備100的主機200。
冗余存儲設(shè)備100(或雙端口存儲設(shè)備/復(fù)制的存儲設(shè)備/重復(fù)的存儲設(shè)備)是存儲數(shù)據(jù)的設(shè)備。冗余存儲設(shè)備100可以被配置為與主機200執(zhí)行雙路徑通信。這里,雙路徑通信可以意味著通過兩個不同的信道(即,路徑)11和12中的每個與主機200獨立地通信。例如,可以存在將主機200連接到第一端口101的第一信號線,并且可以存在將主機連接到第二端口102的、與第一信號線相區(qū)分的第二信號線。
冗余存儲設(shè)備100包括第一端口(port1)101、第二端口(port2)102、第一存儲設(shè)備(激活ssd)112以及第二存儲設(shè)備(備用ssd)122。
第一端口101通過第一信道11連接到主機200。第二端口102通過第二信道12連接到主機200。在示例性實施例中,第一端口101和第二端口102被配置為適合于同一種類的通信協(xié)議。例如,第一端口101和第二端口102可以被配置為適合于下述通信接口:快速非易失性存儲(nvme)、快速外圍組件互聯(lián)(pcie)、串行高級技術(shù)附件(sata)、小型計算機系統(tǒng)接口(scsi)、串行附接scsi(sas)、通用存儲總線(usb)附接scsi(uas)、互聯(lián)網(wǎng)小型計算機系統(tǒng)接口(iscsi)、光纖信道或以太網(wǎng)上光纖信道(fcoe)。
第一存儲設(shè)備112連接到第一端口101,而第二存儲設(shè)備122連接到第二端口102。第一存儲設(shè)備112可以通過第一端口101連接到主機200,而第二存儲設(shè)備122可以通過第二端口102連接到主機200。在示例性實施例中,第一存儲設(shè)備112和第二存儲設(shè)備122中的每個被實施為同一種類的存儲設(shè)備。例如,第一存儲設(shè)備112和第二存儲設(shè)備122中的每個可以被實施為固態(tài)驅(qū)動器(ssd)。
在圖1中,第一存儲設(shè)備(激活ssd)112操作在激活模式下,而第二存儲設(shè)備(備用ssd)122操作在備用(standby)模式下。在實施例中,處于激活模式下的存儲設(shè)備執(zhí)行正常操作(例如,讀、寫等),而處于備用模式下的存儲設(shè)備不執(zhí)行正常操作。在實施例中,處于備用模式下的第二存儲設(shè)備被配置為從處于激活模式下的第一存儲設(shè)備接收通信,并且響應(yīng)于所接收到的通信來將其狀態(tài)(即,第二存儲設(shè)備的狀態(tài))改變?yōu)榧せ钅J?。在實施例中,每個存儲設(shè)備的操作模式由主機200在初始化操作期間初始地設(shè)置。
在示例實施例中,第一存儲設(shè)備112和第二存儲設(shè)備122中的每個的操作模式由主機200在初始化操作期間確定。例如,連接到第一端口101的第一存儲設(shè)備112可以操作在激活模式下,而連接到第二端口102的存儲設(shè)備122可以操作在備用模式下,或者反之亦然。
在示例性實施例中,第一存儲設(shè)備112和第二存儲設(shè)備122中的每個的操作模式根據(jù)冗余存儲設(shè)備100的管理策略來確定。在示例性實施例中,冗余存儲設(shè)備100被配置為使用內(nèi)部通信來自動地改變第一存儲設(shè)備112和第二存儲設(shè)備122中的每個的操作模式。例如,操作在激活模式下的第一存儲設(shè)備112的操作模式可以基于管理策略被從激活模式改變到備用模式。主機200可以請求第一存儲設(shè)備112通過內(nèi)部通信來將第二存儲設(shè)備122的操作模式從備用模式改變?yōu)榧せ钅J?,或者反之亦然。?nèi)部通信可以是通過冗余存儲設(shè)備的內(nèi)部信道被從第一存儲設(shè)備112發(fā)送到第二存儲設(shè)備122的消息。這里,管理策略可以包括監(jiān)視系統(tǒng)退化、監(jiān)視當前差錯、預(yù)測將來差錯、以及基于監(jiān)視和確定的結(jié)果來確定模式。例如,自監(jiān)視分析報告(smart)技術(shù)可以被用于執(zhí)行監(jiān)視和預(yù)測。
在示例性實施例中,當操作在激活模式下的第一存儲設(shè)備112故障時,第一存儲設(shè)備112生成故障警報信號并且通過內(nèi)部通信將故障警報信號傳送到第二存儲設(shè)備122。例如,如果第一存儲設(shè)備112涉及輸入操作(例如,寫)或輸出操作(例如,讀)并且操作故障,則第一存儲設(shè)備112可以將故障警報信號傳達給第二存儲設(shè)備122。第一存儲設(shè)備112可以確定當在操作的處理中發(fā)生超時的情況下操作故障。例如,如果第一存儲設(shè)備112嘗試對讀請求作出響應(yīng),并且在第一存儲設(shè)備112能夠完成讀請求之前經(jīng)過了預(yù)先定義的時間段,則發(fā)生超時。第二存儲設(shè)備122響應(yīng)于第一存儲設(shè)備112的故障警報信號來將其模式從備用模式改變?yōu)榧せ钅J健V?,第二存儲設(shè)備122向主機200傳送關(guān)于改變第一存儲設(shè)備112和第二存儲設(shè)備122中的每個的操作模式的信息。例如,所述信息可以向主機200指示第二存儲設(shè)備122已經(jīng)將其操作模式從備用模式改變?yōu)榧せ钅J健?/p>
在示例性實施例中,內(nèi)部通信可以通過各種協(xié)議來執(zhí)行。例如,內(nèi)部通信可以通過邊帶協(xié)議(sidebandprotocol)來執(zhí)行。在示例性實施例中,第一存儲設(shè)備112和第二存儲設(shè)備122中的每個包括用于執(zhí)行內(nèi)部通信的至少一個引腳(pin)。在示例性實施例中,第一存儲設(shè)備112和第二存儲設(shè)備122中的每個通過特定的通信路徑來執(zhí)行內(nèi)部通信。在示例性實施例中,存儲設(shè)備使用一個或多個內(nèi)部命令來執(zhí)行此內(nèi)部通信。
主機200包括多個服務(wù)器211、212、…、和21k(即,k是為2或更大的整數(shù))以及網(wǎng)絡(luò)交換機(“sw”)220。服務(wù)器211、212、…、和21k中的每個可以被配置為提供至少一個服務(wù)。服務(wù)器211、212、…、和21k中的每個可以使用至少一個中央處理單元(cpu)、存儲設(shè)備和操作系統(tǒng)來實施。服務(wù)器211、212、…、和21k中的每個通過網(wǎng)絡(luò)交換機220連接到冗余存儲設(shè)備100。
網(wǎng)絡(luò)交換機220可以被配置為將服務(wù)器211、212、…、和21k與冗余存儲設(shè)備100選擇性地連接。在示例性實施例中,網(wǎng)絡(luò)交換機220使用輸入/輸出虛擬化技術(shù)來實施。例如,網(wǎng)絡(luò)交換機220可以是支持單個根輸入輸出虛擬化(sr-iov)或多個根輸入輸出虛擬化(mr-iov)的邏輯。網(wǎng)絡(luò)交換機220可以額外地連接到具有至少一個硬盤(hdd)的存儲系統(tǒng),或者由hdd和固態(tài)驅(qū)動器(ssd)構(gòu)成的、執(zhí)行冗余通信的混合存儲系統(tǒng)。
網(wǎng)絡(luò)交換機220可以通過第一信道11和第二信道12連接到冗余存儲設(shè)備100的第一端口101和第二端口102。網(wǎng)絡(luò)交換機220可以被配置為適合于在第一端口101和第二端口102處所使用的通信接口。圖1所示的主機200為示例。然而,本發(fā)明構(gòu)思不限于此。例如,主機200可以被配置有單個服務(wù)器或包括額外的組件。
服務(wù)器系統(tǒng)10可以在不包括全部的存儲處理器、主機緩沖適配器(hba)、擴展器以及存儲電源中的情況下支持硬件復(fù)制,從而移除不必要的硬件資源并且降低成本。
在示例性實施例中,冗余存儲設(shè)備100被配置為進一步包括鏡像功能。
圖2是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備100a的框圖??梢圆捎脠D2的冗余存儲設(shè)備100a來替換圖1的冗余存儲設(shè)備100。參考圖2,冗余存儲設(shè)備100a包括第一端口101a、第二端口102a、第一板110a以及第二板120a。
第一板110a連接到第一端口101a,并且包括第一存儲設(shè)備(ssd1)112a和第一鏡像存儲設(shè)備(ssd2)114a。第一鏡像存儲設(shè)備114a可以被配置為對第一存儲設(shè)備112a的數(shù)據(jù)進行鏡像,或者反之亦然。在示例性實施例中,使用廉價冗余磁盤陣列(raid)技術(shù)來實施由第一鏡像存儲設(shè)備114a所執(zhí)行的鏡像操作。
在示例性實施例中,第一板110a處于激活狀態(tài)。即,第一存儲設(shè)備112a操作在激活模式下,而第一鏡像存儲設(shè)備114a執(zhí)行第一存儲設(shè)備112a的鏡像功能。在示例性實施例中,當?shù)谝淮鎯υO(shè)備112a故障時,代替于第一存儲設(shè)備112a,第一鏡像存儲設(shè)備114a操作在激活模式下。當操作在激活模式下時,第一鏡像存儲設(shè)備114a可以被配置為將連接到第一端口101a的存儲設(shè)備是第一鏡像存儲設(shè)備(ssd2)114a通知給主機200(參考圖1)。
第二板120a連接到第二端口102a,并且包括第二存儲設(shè)備(ssd3)122a和第二鏡像存儲設(shè)備(ssd4)124a。第二鏡像存儲設(shè)備124a可以被配置為對第二存儲設(shè)備122a的數(shù)據(jù)進行鏡像,或者反之亦然。在示例性實施例中,第二板120a處于備用模式下。即,第二存儲設(shè)備122a在備用模式下進行操作,并且第二鏡像存儲設(shè)備124a執(zhí)行用于第二存儲設(shè)備122a的鏡像功能。
在示例性實施例中,第一板110a和第二板120a被配置為執(zhí)行內(nèi)部通信。例如,第一板110a和第二板120a可以被配置為通過設(shè)備100a的內(nèi)部通信信道彼此通信。
當在第一板110a中檢測到故障時,根據(jù)本發(fā)明構(gòu)思的實施例的冗余存儲設(shè)備100a將第一板110a的狀態(tài)從激活狀態(tài)改變?yōu)閭溆脿顟B(tài),并且將第二板120a的狀態(tài)從備用狀態(tài)改變?yōu)榧せ顮顟B(tài)。例如,第一板110a可以通過內(nèi)部通信向第二板120a傳送狀態(tài)改變請求,并且第二板120a的狀態(tài)可以響應(yīng)于狀態(tài)改變請求從備用狀態(tài)改變?yōu)榧せ顮顟B(tài)。此時,第二板120a的第二存儲設(shè)備122a的操作模式從備用模式改變?yōu)榧せ钅J?。然后,第二存儲設(shè)備122a向主機200傳送關(guān)于將第一存儲設(shè)備112a的操作模式從激活模式改變?yōu)閭溆媚J讲⑶覍⒌诙鎯υO(shè)備122a的操作模式從備用模式改變?yōu)榧せ钅J降男畔?。例如,所述信息可以指示第一存儲設(shè)備112a處于備用模式下并且第二存儲設(shè)備122a處于激活模式下。
雖然圖2中所示的冗余存儲設(shè)備100a包括第一鏡像存儲設(shè)備114a和第二鏡像存儲設(shè)備124a以用于存儲鏡像數(shù)據(jù),但是本發(fā)明構(gòu)思的實施例不限于此。根據(jù)本發(fā)明構(gòu)思的實施例的冗余存儲設(shè)備可以被實施為具有存儲鏡像數(shù)據(jù)的第一存儲設(shè)備和第二存儲設(shè)備,而不包括獨立的鏡像存儲設(shè)備。在實施例中,使用廉價冗余磁盤陣列(raid)技術(shù)來實施例第一存儲設(shè)備112a和第二存儲設(shè)備122a中的每個。
圖2中所示的冗余存儲設(shè)備100a在板110a與板120a之間執(zhí)行內(nèi)部通信。然而,本發(fā)明構(gòu)思的實施例不限于此。根據(jù)本發(fā)明構(gòu)思的實施例的冗余存儲設(shè)備可以在單個板的存儲設(shè)備之間以及在多個板之間執(zhí)行內(nèi)部通信。
圖3是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備100b的框圖??梢圆捎脠D3的冗余存儲設(shè)備100b來替換圖1的冗余存儲設(shè)備100。參考圖3,冗余存儲設(shè)備100b包括第一端口101b、第二端口102b、第一板110b以及第二板120b。第一板110b包括第一存儲設(shè)備112b和第一鏡像存儲設(shè)備114b,并且第二板120b包括第二存儲設(shè)備122b和第二鏡像存儲設(shè)備124b。
如圖3中所示,與圖2中所示的冗余存儲設(shè)備100a相比,冗余存儲設(shè)備100b可以在第一存儲設(shè)備112b與第一鏡像存儲設(shè)備114b之間執(zhí)行內(nèi)部通信,或者可以在第二存儲設(shè)備122b與第二鏡像存儲設(shè)備124b之間執(zhí)行內(nèi)部通信。
雖然在圖2和圖3中本發(fā)明構(gòu)思的實施例被例示為兩個存儲設(shè)備安裝在單個板上,但是本發(fā)明構(gòu)思的實施例不限于此。例如,單個存儲設(shè)備可以安裝在單個板上。
圖4是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備100c的框圖??梢圆捎脠D4的冗余存儲設(shè)備100c來替換圖1的冗余存儲設(shè)備100。參考圖4,冗余存儲設(shè)備100c包括第一端口101c、第二端口102c、第一存儲設(shè)備112c、第二存儲設(shè)備114c、第三存儲設(shè)備122c以及第四存儲設(shè)備124c。
第一存儲設(shè)備112c和第二存儲設(shè)備114c可以安裝在單個板上并且被配置為共享第一端口101c。第三存儲設(shè)備122c和第四存儲設(shè)備124c可以安裝在單個板上并且被配置為共享第二端口102c。
第一存儲設(shè)備至第四存儲設(shè)備112c、114c、122c以及124c中的每個可以被配置為彼此執(zhí)行內(nèi)部通信。參考圖4,示出了彼此鄰近的存儲設(shè)備之間的內(nèi)部通信。然而,本發(fā)明構(gòu)思的實施例不限于此。例如,彼此不鄰近的存儲設(shè)備(例如,第一存儲設(shè)備(ssd1)112c和第三存儲設(shè)備(ssd3)122c)中的每個可以彼此執(zhí)行內(nèi)部通信。在示例性實施例中,采用點對點協(xié)議(ppp)來實施內(nèi)部通信。
圖5是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備中所包括的存儲設(shè)備的框圖。參考圖5,存儲設(shè)備1000包括:非易失性存儲器封裝1100、控制非易失性存儲器封裝1100的控制器1200以及緩沖存儲器1300。
非易失性存儲器封裝1100可以被配置為可選地接收外部高電壓vppx。非易失性存儲器封裝1100可以被實施為具有連接到多個信道ch1至chi(即,“i”是為2或更大的整數(shù))中的每個的至少一個非易失性存儲器設(shè)備。非易失性存儲器設(shè)備可以是nand閃速存儲器、垂直nand閃速存儲器(vnand)、nor閃速存儲器、電阻性隨機存取存儲器(rram)、相變存儲器(pram)、磁阻隨機存取存儲器(mram)、鐵電隨機存取存儲器(fram)、自旋轉(zhuǎn)移力矩隨機存取存儲器(stt-ram)等。
此外,非易失性存儲器可以被配置為具有三維陣列結(jié)構(gòu)。在本發(fā)明構(gòu)思的示例性實施例中,提供了三維(3d)存儲器陣列。3d存儲器陣列整體地形成在存儲單元陣列的一個或多個物理級中,該存儲單元陣列具有被布置在硅基板之上的有源區(qū)以及與那些存儲單元的操作相關(guān)聯(lián)的電路,而無論這樣的相關(guān)聯(lián)的電路在這樣的基板之上還是之內(nèi)。與存儲單元的操作有關(guān)的電路可以位于基板中或位于基板上。術(shù)語“整體的”意味著陣列的每個級的層(layer)直接地沉積在陣列的每個底級(underlyinglevel)的層上。
在本發(fā)明構(gòu)思的示例性實施例中,3d存儲器陣列包括垂直nand串,其被垂直地定向使得至少一個存儲單元位于另一個存儲單元之上。至少一個存儲單元可以包括電荷捕獲層。每個垂直nand串可以包括位于存儲單元之上的至少一個選擇晶體管。該至少一個選擇晶體管可以具有與存儲單元相同的結(jié)構(gòu)并且與存儲單元mc一起整體地形成。
通過引用并入于此的、由三星電子公司所申請的下面的專利文獻描述了三維存儲器陣列的適合的配置,在該配置中,三維存儲器陣列被配置為多個級,其中在級之間共享字線和/或位線:美國專利第7,679,133號;第8,553,466號;第8,654,587號;第8,559,235號;以及美國專利公開第2011/0233648號。根據(jù)本發(fā)明構(gòu)思的示例性實施例的非易失性存儲器可以適用于:電荷捕獲閃存(ctf),其中絕緣層被用作電荷存儲層;以及閃速存儲器設(shè)備,其中導(dǎo)電浮置柵極被用作電荷存儲層。
控制器1200通過信道ch1至chi連接到非易失性存儲器封裝1100??刂破?200可以被配置為執(zhí)行錯誤校正代碼(ecc)功能、損耗測量、壞塊管理以及信號處理操作。在實施例中,損耗測量被用于延長非易失性存儲器封裝1100的存儲器的壽命。在實施例中,壞塊管理保持追蹤出錯的存儲器的塊,并且否則將被存儲在壞塊中的數(shù)據(jù)替代地被存儲在另一個塊中??刂破?200包括至少一個處理器1210、錯誤校正代碼(ecc)電路1230、主機接口1250、非易失性存儲器接口(“nvmi/f”)1260以及內(nèi)部接口1270。
至少一個處理器1210可以控制存儲設(shè)備1000的整體操作。
ecc電路1230可以在寫操作期間計算要被編程的數(shù)據(jù)的錯誤校正代碼的值,可以基于錯誤校正代碼的值在讀操作期間校正數(shù)據(jù)讀,以及可以在數(shù)據(jù)恢復(fù)操作期間校正從非易失性存儲器封裝1100所恢復(fù)的錯誤。ecc電路1230可以使用編碼調(diào)制來校正錯誤,編碼調(diào)制諸如低密度奇偶校驗(odpc)碼、bose、chaudhri、hocque-nghem(bch)碼、turbo碼、reed-solomon碼、卷積碼、遞歸系統(tǒng)碼(rsc)、格式編碼調(diào)制(tcm)或塊編碼調(diào)制(bcm)。
用于存儲針對控制器1200的操作的編碼數(shù)據(jù)的編碼存儲器還可以被包括在eec電路1230中。編碼存儲器可以被實施為非易失性存儲器設(shè)備。
主機接口(主機i/f)1250可以提供與外部主機(例如,圖1的主機200)接合的功能。在示例性實施例中,主機接口1250可以被實施為各種接口,并且可以被實施為不同種類的多個接口。例如,主機接口1250可以通過連接到主機200的第一端口101(參考圖1)或第二端口(參考圖1)來連接到主機200的網(wǎng)絡(luò)交換機220(參考圖1)。主機接口1250可以被實施為通信接口:快速非易失性存儲(nvme)、快速外圍組件互聯(lián)(pcie)、串行高級技術(shù)附件(sata)、小型計算機系統(tǒng)接口(scsi)、串行附接scsi(sas)、通用存儲總線(usb)附接scsi(uas)、互聯(lián)網(wǎng)小型計算機系統(tǒng)接口(iscsi)、光纖信道或以太網(wǎng)上光纖信道(fcoe)。
非易失性存儲器接口(nvmi/f)1260可以提供與非易失性存儲器封裝1100接合的功能。例如,非易失性存儲器接口1260可以被實施為遺留nand接口或垂直nand閃速存儲器(v-nand)接口。然而,要理解的是,非易失性存儲器接口1260不限于此。
內(nèi)部接口1270可以被用于與冗余存儲設(shè)備100中的另一個的存儲設(shè)備執(zhí)行內(nèi)部通信(參考圖1)。在示例性實施例中,內(nèi)部接口1270被實施為邊帶接口。內(nèi)部接口1270可以基于控制器1200的內(nèi)部管理策略或基于存儲設(shè)備1000是否故障來發(fā)出和傳送指示操作模式的改變的命令。在示例實施例中,信號線將被布置在第一存儲器設(shè)備112內(nèi)的第一內(nèi)部接口1270連接到被布置在第二存儲器設(shè)備122內(nèi)的第二內(nèi)部接口1270,并且內(nèi)部通信通過該信號線。
緩沖存儲器1300可以臨時地存儲用于控制器1200的操作的數(shù)據(jù)。緩沖存儲器1300可以包括存儲數(shù)據(jù)或命令的多個存儲器線路。這里,多個存儲器線路可以使用各種方法被映射到緩存線路。緩沖存儲器1300可以存儲頁面位圖信息和讀計數(shù)信息。頁面位圖信息和讀計數(shù)信息可以在上電操作期間從非易失性存儲器封裝1100被讀取并且可以根據(jù)內(nèi)部操作被更新。更新后的頁面位圖信息和讀計數(shù)信息可以周期性地或非周期性地存儲在非易失性存儲器封裝1100中。在示例性實施例中,緩沖存儲器1300可以被實施為易失性存儲器和非易失性存儲器。例如,緩沖存儲器1300可以通過動態(tài)隨機存取存儲器(dram)或相變隨機存取存儲器(pram)來實施。
雖然圖5中所示的緩沖存儲器1300被布置在控制器1200外部,但是本發(fā)明構(gòu)思的實施例不限于此。例如,緩沖存儲器1300可以被布置在控制器1200內(nèi)部。
圖1中所示的第一存儲設(shè)備112和第二存儲設(shè)備122、圖2中所示的存儲設(shè)備112a、114a、122a和124a、圖3中所示的存儲設(shè)備112b、114b、122b和124b以及圖4中所示的存儲設(shè)備112c、114c、122c和124c中的每個可以被實施為圖5中所示的存儲設(shè)備1000。
根據(jù)本發(fā)明構(gòu)思的實施例的冗余存儲設(shè)備中的存儲設(shè)備1000可以包括內(nèi)部接口1270,并且因此存儲設(shè)備1000可以與冗余存儲設(shè)備的其他組件執(zhí)行內(nèi)部通信。
在本發(fā)明構(gòu)思的示例性實施例中,存儲設(shè)備1000被實施在單個板上。
圖6是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備300的框圖。參考圖6,冗余存儲設(shè)備300包括第一適配器301、第二適配器302以及第一板至第四板(pcb1至pcb4)310、320、330以及340。
第一適配器301和第二適配器302可以被配置為連接到圖1中所示的網(wǎng)絡(luò)交換機220。第一適配器301和第二適配器302中的每個可以被配置為執(zhí)行關(guān)于圖1中所描述的第一端口101和第二端口102中的每個的功能。
在示例性實施例中,第一板310和第二板320連接到第一適配器301。在示例性實施例中,第一板310和第二板320中的每個被配置為從第一適配器301可移除。例如,第一適配器301可以具有被成型為與板310和320的容座(receptacle)或突起相配的容座或突起,使得物理的壓力可以被用于將板插入到第一適配器301中或?qū)鍙牡谝贿m配器301斷開連接。在示例實施例中,第三板330和第四板340連接到第二適配器302。在示例性實施例中,第三板330和第四板340中的每個被配置為從第二適配器302可移除。例如,第二適配器302可以具有被成型為與板330和340的容座或突起相配的容座或突起,使得物理的壓力可以被用于將板插入到第二適配器302中或?qū)鍙牡诙m配器302斷開連接。
板310至340中的每個可以構(gòu)成包括閃速存儲器(nand)、控制器(ctrl)和dram的存儲設(shè)備。板310至340中的每個可以被實施為圖5中所示的存儲設(shè)備1000。在示例性實施例中,板310至340中的每個可以被實施為印刷電路板(pcb)。第一板310包括第一閃速存儲器(nand)311、第一控制器(ctrl)312以及第一dram313。第二板320包括第二閃速存儲器(nand)321、第二控制器(ctrl)322以及第二dram323。第三板330包括第三閃速存儲器(nand)331、第三控制器(ctrl)332以及第三dram333。第四板340包括第四閃速存儲器(nand)341、第四控制器(ctrl)342以及第四dram343。
在示例性實施例中,連接到第一適配器301的第一板310和第二板320被置于激活狀態(tài)中,并且連接到第二適配器302的第三板330和第四板340被置于備用狀態(tài)中。
在示例性實施例中,板310至340中的每個被配置為與彼此執(zhí)行內(nèi)部通信。在示例性實施例中,板310至340中的每個的操作狀態(tài)被配置為通過內(nèi)部通信從激活狀態(tài)改變?yōu)閭溆脿顟B(tài),或者從備用狀態(tài)改變?yōu)榧せ顮顟B(tài)。具體地,板310至340中的每個的控制器(ctrl)可以包括用于執(zhí)行內(nèi)部通信的內(nèi)部接口。
圖6中所示的冗余存儲設(shè)備300在控制器之間執(zhí)行內(nèi)部通信。然而,本發(fā)明構(gòu)思的實施例不限于此。根據(jù)本發(fā)明構(gòu)思的實施例的冗余存儲設(shè)備被配置為除了在控制器之間以外還在其他元件(例如,閃速存儲器(nand)和dram)之間執(zhí)行內(nèi)部通信。
圖7是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備400的框圖。參考圖7,冗余存儲設(shè)備400包括第一適配器401、第二適配器402以及第一板至第四板(pcb1至pcb4)410、420、430以及440。與圖6中所示出的冗余存儲設(shè)備300相比,圖7中所示出的冗余存儲設(shè)備400可以在dram413、423、433和443之間執(zhí)行內(nèi)部通信,可以在控制器412、422、432和442之間執(zhí)行內(nèi)部通信以及可以在nand411、421、431和441之間執(zhí)行內(nèi)部通信。
在示例性實施例中,當?shù)谝话?10至第四板440(pcb1至pcb4)中的每個的至少一個內(nèi)部組件故障時,冗余存儲設(shè)備400被配置為任意地使用另一個板的內(nèi)部組件。例如,當?shù)谝话?pcb1)410的nand411故障時,第一板410的控制器412可以通過內(nèi)部通信來控制第三板(pcb3)430的nand431。
圖8是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的操作服務(wù)器系統(tǒng)的方法的梯形圖。參考圖1至圖8,服務(wù)器系統(tǒng)10(參考圖1)的方法可以如下進行。
在冗余存儲設(shè)備100(參考圖1)的初始化操作期間,主機200(參考圖1)向第一存儲設(shè)備112和第二存儲設(shè)備122傳送操作模式設(shè)置信息,以允許連接到第一端口101(參考圖1)的第一存儲設(shè)備112(參考圖1)操作在激活模式下并且允許連接到第二端口102(參考圖1)的第二存儲設(shè)備122(參考圖1)在備用模式下進行操作。例如,操作模式設(shè)置信息可以包括指示第一存儲設(shè)備112要操作在激活模式下和第二存儲設(shè)備122要在備用模式下進行操作的狀態(tài)信息。操作模式設(shè)置信息可以連同狀態(tài)信息一起進一步包括唯一標識符,使得進行接收的存儲設(shè)備可以將所接收到的標識符與在其中所存儲的標識符進行比較,以確定所接收到的狀態(tài)信息是與用于其還是用于另外的存儲設(shè)備。
第一存儲設(shè)備112操作在激活模式下。在激活模式中進行操作期間,檢測到存儲設(shè)備故障(即,ssd故障)(s10)??梢愿鶕?jù)內(nèi)部管理策略或第一存儲設(shè)備112的故障檢測到故障。當檢測到存儲設(shè)備故障時,第一存儲設(shè)備112通過內(nèi)部通信向第二存儲設(shè)備122傳送操作模式改變請求(s20)。第二存儲設(shè)備122的操作模式響應(yīng)于操作模式改變請求而從備用模式改變?yōu)榧せ钅J健R虼?,第二存儲設(shè)備122的操作模式被設(shè)置為新的激活模式(s30)。之后,第二存儲設(shè)備122通過內(nèi)部通信向第一存儲設(shè)備112傳送指示操作模式改變請求已經(jīng)完成的響應(yīng)消息(s40)。第一存儲設(shè)備112的操作模式響應(yīng)于改變操作模式的響應(yīng)消息而從激活模式改變?yōu)閭溆媚J?s50)。之后,第一存儲設(shè)備112和第二存儲設(shè)備122向主機200傳送操作模式設(shè)置信息。例如,第一存儲設(shè)備112可以響應(yīng)于接收到響應(yīng)消息來將其已經(jīng)將其模式改變?yōu)閭溆媚J酵ㄖo主機,并且第二存儲設(shè)備122可以在發(fā)送響應(yīng)信息之后將其已經(jīng)將其模式改變?yōu)榧せ钅J酵ㄖo主機。
在示例性實施例中,在冗余存儲設(shè)備的存儲設(shè)備完成改變其操作模式之前,冗余存儲設(shè)備將現(xiàn)存的激活區(qū)域的鏡像數(shù)據(jù)遷移至新的激活區(qū)域。
圖9是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的操作服務(wù)器系統(tǒng)的方法的梯形圖。與圖8中所示出的服務(wù)器系統(tǒng)10相比,在圖9中所示出的服務(wù)器系統(tǒng)10(參考圖1)的方法中,現(xiàn)存的激活區(qū)域(例如,110)的鏡像數(shù)據(jù)被遷移至新的激活區(qū)域(例如,120)的存儲設(shè)備(ssd3)122a。在示例性實施例中,使用內(nèi)部通信來執(zhí)行鏡像數(shù)據(jù)遷移。在另一個實施例中,使用外部通信來執(zhí)行鏡像數(shù)據(jù)遷移。
在示例性實施例中,冗余存儲設(shè)備進一步包括指示操作模式的指示器。
圖10是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備指示操作模式的改變的框圖。參考圖10,冗余存儲設(shè)備500包括第一端口501和第二端口502,以及第一存儲設(shè)備512和第二存儲設(shè)備522。第一存儲設(shè)備512和第二存儲設(shè)備522中的每個包括操作模式指示器512-1和522-1,操作模式指示器512-1和522-1中的每個指示操作模式。在示例性實施例中,操作模式指示器512-1和522-1中的每個是基于操作模式來發(fā)射不同顏色的光的多個發(fā)光二極管(led)。例如,藍色leda可以指示激活模式,而黃色leds可以指示備用模式。
在示例性實施例中,操作模式指示器512-1和522-1中的每個是顯示設(shè)備。
當操作模式改變時,第一存儲設(shè)備512的指示器512-1的指示從指示激活模式a改變?yōu)橹甘緜溆媚J絪,并且第二存儲設(shè)備522的指示器522-1的指示從指示備用模式s改變?yōu)橹甘炯せ钅J絘。
根據(jù)本發(fā)明構(gòu)思的實施例的冗余存儲設(shè)備進一步包括指示存儲設(shè)備的健康信息的指示器。例如,健康信息可以指示存儲設(shè)備尚未被大量寫、已經(jīng)被寫了平均次數(shù)量或已經(jīng)被過度寫,使得用戶可以確定是否替換存儲設(shè)備。
圖11是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的冗余存儲設(shè)備指示操作模式的改變的框圖。參考圖11,與圖10中所示出的冗余存儲設(shè)備500相比,冗余存儲設(shè)備500a進一步包括指示存儲設(shè)備的健康信息的健康指示器512-2和522-2。在示例性實施例中,健康指示器512-2和522-2中的每個包括基于存儲設(shè)備的健康狀態(tài)來發(fā)射不同顏色的光的多個led。例如,藍色led可以指示存儲設(shè)備的健康狀態(tài)處于良好等級、黃色led可以指示存儲設(shè)備的健康狀態(tài)處于正常等級以及紅色led可以指示存儲設(shè)備的健康狀態(tài)處于不良等級。在示例性實施例中,可以根據(jù)存儲設(shè)備512和522中的每個的管理策略來確定健康信息。
在示例性實施例中,健康指示器512-2和522-2中的每個是顯示設(shè)備。
在示例性實施例中,在使用裸眼檢查其中的每個均指示健康信息的健康指示器512-2和522-2之后,用戶可以基于用戶的選擇來改變操作模式。在示例性實施例中,冗余存儲設(shè)備包括一個或多個可按壓的或可滑動的按鈕或者撥碼開關(guān),其可以被用戶調(diào)節(jié)以將冗余存儲設(shè)備的存儲設(shè)備設(shè)置為激活模式或備用模式。
在根據(jù)本發(fā)明構(gòu)思的實施例的冗余存儲設(shè)備中,可以根據(jù)所顯示的健康信息來更換物理存儲設(shè)備。
圖12是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的操作冗余存儲設(shè)備的方法的框圖。參考圖12,在冗余存儲設(shè)備500a中,在操作模式改變之后,用戶采用其健康狀態(tài)良好的存儲設(shè)備512a來替換處于備用模式的、其健康狀態(tài)不良的存儲設(shè)備512。得到的冗余存儲設(shè)備可以被稱為設(shè)備500b。在示例性實施例中,冗余存儲設(shè)備500a中的存儲設(shè)備512-2和522-2中的每個被實施為從冗余存儲設(shè)備500a的主體可移除的結(jié)構(gòu)(例如,熱插拔)。存儲設(shè)備512a包括與存儲設(shè)備512的健康指示器512-2類似的健康指示器512a-1。
在存儲設(shè)備的更換之后,冗余存儲設(shè)備500b包括在新的備用模式下進行操作的存儲設(shè)備512a。之后,冗余存儲設(shè)備500b向主機200(參考圖1)傳送與處于新的備用模式的存儲設(shè)備512a和操作在激活模式下的存儲設(shè)備522相關(guān)聯(lián)的操作模式設(shè)置信息。
操作模式指示器不限于圖11中所描繪的那些,并且健康指示器不限于圖12中所描繪的那些。根據(jù)本發(fā)明構(gòu)思的實施例的冗余存儲設(shè)備的存儲設(shè)備中的每個可以包括用于指示操作模式信息和健康信息的顯示設(shè)備。
圖13是描述根據(jù)本發(fā)明構(gòu)思的示例性實施例的操作冗余存儲設(shè)備的方法的流程圖。參考圖1至圖13,以下可以描述冗余存儲設(shè)備的操作方法。
響應(yīng)于主機的請求來關(guān)于冗余存儲設(shè)備的第一存儲設(shè)備(ssd1)(參考圖2)執(zhí)行寫操作(s110)。被寫入第一存儲設(shè)備(ssd1)的數(shù)據(jù)被鏡像到第二存儲設(shè)備(ssd2)(s120)。例如,被寫入的數(shù)據(jù)的復(fù)制的副本可以被存儲在第二存儲設(shè)備中。之后,確定在第一存儲設(shè)備(ssd1)內(nèi)是否發(fā)生故障(s130)。這里,第一存儲設(shè)備ssd1的故障可以是讀/寫操作的故障。另外,第一存儲設(shè)備(ssd1)的故障可以源自各種類型的故障。在示例性實施例中,基于根據(jù)管理策略所改變的退化等級來確定第一存儲設(shè)備(ssd1)的故障。例如,如果策略指示存儲設(shè)備在被寫入預(yù)先定義的次數(shù)之后不再可靠,則當對存儲器設(shè)備的寫入數(shù)量已經(jīng)超過預(yù)先定義的數(shù)量時,可以確定已經(jīng)發(fā)生故障。當?shù)谝淮鎯υO(shè)備(ssd1)故障時,第一存儲設(shè)備(ssd1)的操作模式通過內(nèi)部通信被改變?yōu)榈谌鎯υO(shè)備(ssd3)(參考圖2)的操作模式。例如,如果第三存儲設(shè)備ssd3處于備用模式,則第一存儲設(shè)備ssd1從激活模式改變?yōu)閭溆媚J健V?,第二存儲設(shè)備(ssd2)的鏡像數(shù)據(jù)可以被遷移到第三存儲設(shè)備(ssd3)(參考圖2),并且第三存儲設(shè)備(ssd3)的數(shù)據(jù)可以被鏡像到第四存儲設(shè)備(ssd4)(參考圖2)。
根據(jù)本發(fā)明構(gòu)思的實施例的服務(wù)器系統(tǒng)可以被配置為適合于快速非易失性存儲器(nvme)接口。
圖14是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的服務(wù)器系統(tǒng)20的框圖。參考圖14,服務(wù)器系統(tǒng)20包括根復(fù)合體(rootcomplex)610、nvme交換機620以及多個冗余存儲設(shè)備631、632、…、63n(即,“n”是為2或更大的整數(shù))。服務(wù)器系統(tǒng)20的內(nèi)部組件可以基于nvme接口與彼此通信。多個冗余存儲設(shè)備631、632、…、63n中的每個可以被實施為在圖1至圖13中所描述的硬件冗余存儲設(shè)備。根復(fù)合體610可以包含一個或多個快速pci端口。
圖15是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的服務(wù)器系統(tǒng)30的框圖。參考圖15,服務(wù)器系統(tǒng)30包括數(shù)據(jù)庫管理系統(tǒng)(rdbms)710、緩存服務(wù)器720以及應(yīng)用服務(wù)器730。緩存服務(wù)器720可以包括一個或多個存儲器緩存(“存儲器緩存的”)。
緩存服務(wù)器720可以根據(jù)來自數(shù)據(jù)庫管理系統(tǒng)710的無效通知來維持、刪除和存儲一個或多個鍵值對。數(shù)據(jù)庫管理系統(tǒng)710可以包括參考圖1至圖14所描述的冗余存儲設(shè)備。
根據(jù)本發(fā)明構(gòu)思的實施例的服務(wù)器系統(tǒng)30可以通過冗余存儲設(shè)備來實施硬件復(fù)制,從而與傳統(tǒng)的服務(wù)器系統(tǒng)相比顯著地降低安裝成本和管理成本。
在圖1至圖15中,可以使用冗余存儲設(shè)備的內(nèi)部通信來改變操作模式。然而,本發(fā)明構(gòu)思的實施例不限于此。例如,冗余存儲設(shè)備的操作模式可以通過外部通信來改變。
圖16是示出根據(jù)本發(fā)明構(gòu)思的示例性實施例的服務(wù)器系統(tǒng)40的框圖。參考圖16,服務(wù)器系統(tǒng)40包括冗余存儲設(shè)備810和網(wǎng)絡(luò)交換機820。
冗余存儲設(shè)備810包括第一存儲設(shè)備812和第二存儲設(shè)備822??梢允褂媒?jīng)由第一端口801和第二端口802以及網(wǎng)絡(luò)交換機820的外部通信而不使用參考圖1至圖16所描述的內(nèi)部通信,來改變第一存儲設(shè)備812和第二存儲設(shè)備822的操作模式。
參考圖1至圖16描述了一種支持復(fù)制的冗余存儲設(shè)備。支持復(fù)制的設(shè)備是示例。本發(fā)明構(gòu)思的實施例不限于此。例如,根據(jù)本發(fā)明構(gòu)思的實施例的存儲設(shè)備可以支持三倍或多倍。
本發(fā)明構(gòu)思的至少一個實施例提供了一種冗余存儲設(shè)備、包括該冗余存儲設(shè)備的服務(wù)器系統(tǒng)以及冗余存儲設(shè)備的操作方法,其包括通過內(nèi)部通信來改變操作模式的存儲設(shè)備,從而改進冗余性并且減少停機時間。