D)命令類型。
[0164] EC75)如EC71所述的方法,其中讀取身份命令類型包括在進(jìn)行處理時(shí)使得返回第 二固件識(shí)別信息而不是第一固件識(shí)別信息,在計(jì)算主機(jī)上執(zhí)行的操作系統(tǒng)(OS)遇到不可 恢復(fù)的錯(cuò)誤的命令類型。
[0165] EC76)如EC75所述的方法,其中OS包括一個(gè)版本的Windows 0S。
[0166] EC77)如EC70所述的方法,其中返回第一固件識(shí)別信息使在計(jì)算主機(jī)上執(zhí)行的操 作系統(tǒng)(OS)能夠在不重新啟動(dòng)的情況下在執(zhí)行第一固件和執(zhí)行第二固件的整個(gè)設(shè)備中繼 續(xù)執(zhí)行。
[0167] EC78)如EC77所述的方法,其中OS包括一個(gè)版本的Windows 0S。
[0168] EC79)如EC77所述的方法,其中特定命令類型包括串行高級(jí)技術(shù)附件(SATA)識(shí)別 命令類型。
[0169] EC80)如EC77所述的方法,其中特定命令類型包括串行連接的小型計(jì)算機(jī)系統(tǒng)接 口(串行SCSI) (SAS)讀取重要產(chǎn)品數(shù)據(jù)(VPD)命令類型。
[0170] EC81)如EC70所述的方法,其中返回第一固件識(shí)別信息使在計(jì)算主機(jī)上執(zhí)行的操 作系統(tǒng)(OS)能夠在不檢測(cè)錯(cuò)誤的情況下響應(yīng)于返回固件修訂標(biāo)識(shí)符的值在執(zhí)行第一固件 和執(zhí)行第二固件的整個(gè)設(shè)備中的變化繼續(xù)執(zhí)行。
[0171] EC82)如EC81所述的方法,其中OS包括一個(gè)版本的Windows 0S。
[0172] EC83)如EC81所述的方法,其中特定命令類型包括串行高級(jí)技術(shù)附件(SATA)識(shí)別 命令類型。
[0173] EC84)如EC81所述的方法,其中特定命令類型包括串行連接的小型計(jì)算機(jī)系統(tǒng)接 口(串行SCSI) (SAS)讀取重要產(chǎn)品數(shù)據(jù)(VPD)命令類型。
[0174] EC85)如EC70所述的方法,其中設(shè)備包括固態(tài)磁盤(SSD),并且該SSD包括控制 器,該控制器經(jīng)啟用以管理SSD的一個(gè)或多個(gè)非易失性存儲(chǔ)器以存儲(chǔ)第一固件、第一固件 識(shí)別信息、第二固件和第二固件識(shí)別信息的所有或任意組合的所有或任意部分。
[0175] EC86)如EC70所述的方法,其中:
[0176] 第一固件識(shí)別信息包括第一固件修訂標(biāo)識(shí)符,并且
[0177] 第二固件識(shí)別信息包括第二固件修訂標(biāo)識(shí)符。
[0178] EC87)如EC70所述的方法,其中:
[0179] 第一固件識(shí)別信息包括第一協(xié)議兼容水平標(biāo)識(shí)符,并且
[0180] 第二固件識(shí)別信息包括第二協(xié)議兼容水平標(biāo)識(shí)符。
[0181] EC88)如EC70所述的方法,其中:
[0182] 第一固件識(shí)別信息包括與進(jìn)行軟件設(shè)置保存(SSP)的一個(gè)或多個(gè)參數(shù)對(duì)應(yīng)的第 一套值,并且
[0183] 第二固件識(shí)別信息包括與參數(shù)對(duì)應(yīng)的第二套值。
[0184] EC89) -種方法,包括:
[0185] (a)根據(jù)與當(dāng)前固件修訂標(biāo)識(shí)符相關(guān)聯(lián)的當(dāng)前固件來操作存儲(chǔ)設(shè)備控制器,(a) 的操作包括將當(dāng)前固件修訂標(biāo)識(shí)符返回與包括存儲(chǔ)設(shè)備控制器的存儲(chǔ)設(shè)備通信的計(jì)算主 機(jī);
[0186] (b)在(a)之后,至少部分經(jīng)由存儲(chǔ)設(shè)備控制器接收與新固件修訂標(biāo)識(shí)符相關(guān)聯(lián) 的新固件,該新固件修訂標(biāo)識(shí)符不同于當(dāng)前固件修訂標(biāo)識(shí)符;
[0187] (C)在(b)之后,根據(jù)新固件來操作存儲(chǔ)設(shè)備控制器,(C)的操作包括將當(dāng)前固件 修訂標(biāo)識(shí)符返回計(jì)算主機(jī);
[0188] (d)在(b)之后并響應(yīng)于電力循環(huán),根據(jù)新固件來操作存儲(chǔ)設(shè)備控制器,(d)的操 作包括將新固件修訂標(biāo)識(shí)符返回計(jì)算主機(jī);
[0189] (f)其中存儲(chǔ)設(shè)備包括經(jīng)啟用以存儲(chǔ)新固件的至少一部分的非易失性存儲(chǔ)器 (NVM);并且
[0190] (g)其中三個(gè)返回的行為分別響應(yīng)于來自計(jì)算主機(jī)的多個(gè)命令類型的特定命令類 型的相應(yīng)實(shí)例,特定命令類型使得如果(c)的返回返回新固件修訂標(biāo)識(shí)符,則在計(jì)算主機(jī) 上執(zhí)行的操作系統(tǒng)(OS)會(huì)遇到不可恢復(fù)的錯(cuò)誤。
[0191] EC90)如EC89所述的方法,其中NVM包括閃存。
[0192] EC91)如EC89所述的方法,其中存儲(chǔ)設(shè)備包括固態(tài)磁盤(SSD),該SSD包括NVM。
[0193] EC92)如EC91所述的方法,其中NVM包括閃存。
[0194] EC93)如EC89所述的方法,其中存儲(chǔ)設(shè)備包括硬盤驅(qū)動(dòng)器(HDD),該HDD包括NVM。
[0195] EC94)如EC89所述的方法,其中OS包括一個(gè)版本的Windows 0S。
[0196] EC95)如EC89所述的方法,其中特定命令類型包括串行高級(jí)技術(shù)附件(SATA)識(shí)別 命令類型。
[0197] EC96)如EC89所述的方法,其中特定命令類型包括小型計(jì)算機(jī)系統(tǒng)接口(SCSI)讀 取重要產(chǎn)品數(shù)據(jù)(VPD)命令類型。
[0198] EC97)如EC89所述的方法,其中特定命令類型包括串行連接的小型計(jì)算機(jī)系統(tǒng)接 口(串行SCSI) (SAS)讀取重要產(chǎn)品數(shù)據(jù)(VPD)命令類型。
[0199] EC98)如EC89所述的方法,其中接收包括保存當(dāng)前固件修訂標(biāo)識(shí)符直至電力循 環(huán)。
[0200] EC99)如EC89所述的方法,其中接收包括保護(hù)當(dāng)前固件修訂標(biāo)識(shí)符免受修改直至 電力循環(huán)。
[0201] EC100)如EC89所述的方法,其中接收包括向計(jì)算主機(jī)提供當(dāng)前固件修訂標(biāo)識(shí)符 并從計(jì)算主機(jī)中恢復(fù)當(dāng)前固件修訂標(biāo)識(shí)符。
[0202] EC101) -種方法,包括:
[0203] 在經(jīng)啟用以與計(jì)算主機(jī)耦接的存儲(chǔ)設(shè)備中,管理存儲(chǔ)設(shè)備的非易失性存儲(chǔ)器 (NVM)以存儲(chǔ)第一固件、第一固件修訂標(biāo)識(shí)符、第二固件、以及第二固件修訂標(biāo)識(shí)符;
[0204] 在存儲(chǔ)設(shè)備中,從計(jì)算主機(jī)接收第一固件,第一固件與第一固件修訂標(biāo)識(shí)符相關(guān) 聯(lián);
[0205] 在存儲(chǔ)設(shè)備中,從計(jì)算主機(jī)接收第二固件,第二固件的接收在第一固件的接收之 后,第二固件與第二固件修訂標(biāo)識(shí)符相關(guān)聯(lián);
[0206] 通過存儲(chǔ)設(shè)備將第一固件修訂標(biāo)識(shí)符返回計(jì)算主機(jī),該返回響應(yīng)于來自計(jì)算主機(jī) 的特定命令類型且是存儲(chǔ)設(shè)備執(zhí)行第二固件的同時(shí)并且在發(fā)生特定事件之前,并且
[0207] 其中返回第一固件修訂標(biāo)識(shí)符使在計(jì)算主機(jī)上執(zhí)行的操作系統(tǒng)(OS)能夠在不檢 測(cè)錯(cuò)誤的情況下響應(yīng)于返回固件修訂標(biāo)識(shí)符的值在執(zhí)行第一固件的整個(gè)設(shè)備中且在執(zhí)行 第二固件直至特定事件期間的變化繼續(xù)執(zhí)行。
[0208] EC102)如EClOl所述的方法,其中NVM包括閃存。
[0209] EC103)如EClOl所述的方法,其中存儲(chǔ)設(shè)備包括固態(tài)磁盤(SSD),該SSD包括NVM。
[0210] EC104)如EC103所述的方法,其中NVM包括閃存。
[0211] EC105)如EClOl所述的方法,其中存儲(chǔ)設(shè)備包括硬盤驅(qū)動(dòng)器(HDD),該HDD包括 NVM0
[0212] EC106)如EClOl所述的方法,其中特定事件是存儲(chǔ)設(shè)備的電力循環(huán)。
[0213] EC107)如EClOl所述的方法,進(jìn)一步包括在執(zhí)行第二固件的同時(shí)并在發(fā)生特定事 件之后,響應(yīng)于來自計(jì)算主機(jī)的特定命令類型,將第二固件修訂標(biāo)識(shí)符返回計(jì)算主機(jī)。
[0214] EC108)如EClOl所述的方法,其中OS包括一個(gè)版本的Windows 0S。
[0215] EC109)如EClOl所述的方法,其中特定命令類型包括串行高級(jí)技術(shù)附件(SATA)識(shí) 別命令類型。
[0216] EC110)如EClOl所述的方法,其中特定命令類型包括串行連接的小型計(jì)算機(jī)系統(tǒng) 接口(串行SCSI) (SAS)讀取重要產(chǎn)品數(shù)據(jù)(VPD)命令類型。
[0217] EC111) -種方法,包括:
[0218] 管理存儲(chǔ)設(shè)備的非易失性存儲(chǔ)器(NVM)以存儲(chǔ)第一固件、第一固件修訂標(biāo)識(shí)符、 第二固件、以及第二固件修訂標(biāo)識(shí)符,存儲(chǔ)設(shè)備經(jīng)啟用以與計(jì)算主機(jī)耦接;
[0219] 在存儲(chǔ)設(shè)備中,從計(jì)算主機(jī)接收第一固件,第一固件與第一固件修訂標(biāo)識(shí)符相關(guān) 聯(lián);
[0220] 在存儲(chǔ)設(shè)備中,從計(jì)算主機(jī)接收第二固件,第二固件的接收在第一固件的接收之 后,第二固件與第二固件修訂標(biāo)識(shí)符相關(guān)聯(lián);
[0221] 通過存儲(chǔ)設(shè)備將第一固件修訂標(biāo)識(shí)符返回計(jì)算主機(jī),返回第一固件修訂標(biāo)識(shí)符響 應(yīng)于來自計(jì)算主機(jī)的第一命令類型且是存儲(chǔ)設(shè)備執(zhí)行第二固件的同時(shí);
[0222] 通過存儲(chǔ)設(shè)備將第二固件修訂標(biāo)識(shí)符返回計(jì)算主機(jī),返回第一固件修訂標(biāo)識(shí)符響 應(yīng)于來自計(jì)算主機(jī)的第二命令類型且是存儲(chǔ)設(shè)備執(zhí)行第二固件的同時(shí);
[0223] 其中第一命令類型是讀取身份命令類型;并且
[0224] 其中第二命令類型是供應(yīng)商特定命令類型。
[0225] ECl 12)如EClll所述的方法,其中NVM包括閃存。
[0226] EC113)如EClll所述的方法,其中存儲(chǔ)設(shè)備包括固態(tài)磁盤(SSD),該SSD包括NVM。
[0227] ECl 14)如ECl 13所述的方法,其中NVM包括閃存。
[0228] ECl 15)如EClll所述的方法,其中存儲(chǔ)設(shè)備包括硬盤驅(qū)動(dòng)器(HDD),該HDD包括 NVM0
[0229] EC116)如EClll所述的方法,其中供應(yīng)商特定命令類型包括供應(yīng)商特定固件識(shí)別 信息讀取命令類型。
[0230] EC117)如EClll所述的方法,其中讀取身份命令類型包括串行高級(jí)技術(shù)附件 (SATA)識(shí)別命令類型。
[0231] ECl 18)如EClll所述的方法,其中讀取身份命令類型包括串行連接的小型計(jì)算機(jī) 系統(tǒng)接口(串行SCSI) (SAS)讀取重要產(chǎn)品數(shù)據(jù)(VPD)命令類型。
[0232] EC119)如EClll所述的方法,其中讀取身份命令類型包括在進(jìn)行處理時(shí)使得返回 第二固件修訂標(biāo)識(shí)符而不是第一固件修訂標(biāo)識(shí)符,在計(jì)算主機(jī)上執(zhí)行的操作系統(tǒng)(OS)遇 到不可恢復(fù)的錯(cuò)誤的命令類型。
[0233] EC120)如EC119所述的方法,其中OS包括一個(gè)版本的Windows 0S。
[0234] EC121) -種系統(tǒng),包括:
[0235] (a)構(gòu)件,用于根據(jù)多個(gè)固件圖像中的所選固件圖像執(zhí)行,固件圖像的每一個(gè)具 有對(duì)應(yīng)標(biāo)識(shí)符,其中固件圖像包括各電流且新固件圖像具有各對(duì)應(yīng)的當(dāng)前標(biāo)識(shí)符和新標(biāo)識(shí) 符;
[0236] (b)構(gòu)件,用于利用所選固件圖像(其是當(dāng)前固件圖像)來利用用于執(zhí)行的構(gòu)件并 在這樣做的同時(shí),響應(yīng)于來自計(jì)算主機(jī)的多個(gè)命令類型的特定命令類型的第一實(shí)例,返回 當(dāng)前標(biāo)識(shí)符;
[0237] (C)構(gòu)件,其在(b)的構(gòu)件之后操作,用于接收具有新標(biāo)識(shí)符的新固件圖像;
[0238] (d)構(gòu)件,其在(C)的構(gòu)件之后操作,用于利用所選固件圖像(其是新固件圖像) 來利用用于執(zhí)行的構(gòu)件并在這樣做的同時(shí),響應(yīng)于特定命令類型的第二實(shí)例,返回當(dāng)前標(biāo) 識(shí)符;
[0239] (e)構(gòu)件,其在(b)的構(gòu)件之后操作且響應(yīng)于電力循環(huán),用于利用所選固件圖像 (其是新固件圖像)來利用用于執(zhí)行的構(gòu)件并在這樣做的同時(shí),響應(yīng)于特定命令類型的第 三實(shí)例,返回新標(biāo)識(shí)符;
[0240] 經(jīng)啟用以存儲(chǔ)新固件的至少一部分的閃存,并且
[0241] 其中特定命令類型使得:
[0242] (i)當(dāng)?shù)谝桓鳂?biāo)識(shí)符響應(yīng)于特定命令類型的第一相應(yīng)實(shí)例返回至計(jì)算主機(jī)時(shí),
[0243] (ii)當(dāng)?shù)诙鳂?biāo)識(shí)符響應(yīng)于特定命令類型的第二相應(yīng)實(shí)例返回至計(jì)算主機(jī)時(shí),并 且
[0244] (iii)在返回的第一各標(biāo)識(shí)符與返回的第二各標(biāo)識(shí)符之間不發(fā)生電力循環(huán)的情況 下,
[0245] 在計(jì)算主機(jī)上執(zhí)行的操作系統(tǒng)(OS)響應(yīng)于第二各標(biāo)識(shí)符的返回而遇到不可恢復(fù) 的錯(cuò)誤。
[0246] EC122)如EC121所述的系統(tǒng),其中,系統(tǒng)包括固態(tài)磁盤(SSD)的所有或任意部分。
[0247] EC123)如EC121所述的系統(tǒng),其中,OS包括一個(gè)版本的Windows OS且特定命令類 型包括串行高級(jí)技術(shù)附件(SATA)識(shí)別命令類型。
[0248] EC124)如EC121所述的系統(tǒng),其中,OS包括一個(gè)版本的Windows OS且特定命令類 型包括串行連接的小型計(jì)算機(jī)系統(tǒng)接口(串行SCSI) (SAS)讀取重要產(chǎn)品數(shù)據(jù)(VPD)命令 類型。
[0249] 具有或參照SSD控制器的任意前述EC,其中SSD控制器在單個(gè)集成電路(IC)中實(shí) 現(xiàn)。
[0250] 具有或參照SSD控制器和一個(gè)或多個(gè)非易失性存儲(chǔ)器的任意前述EC,其中SSD控 制器和非易失性存儲(chǔ)器包括在SSD中。
[0251] 具有或參照一個(gè)或多個(gè)非易失性存儲(chǔ)器的任意前述EC,其中非易失性存儲(chǔ)器中的 至少一個(gè)包括一個(gè)或多個(gè)閃存。
[0252] 具有或參照SSD控制器和計(jì)算主機(jī)的任意前述EC,其中SSD控制器包括與存儲(chǔ)接 口標(biāo)準(zhǔn)兼容且經(jīng)啟用以與計(jì)算主機(jī)耦接的存儲(chǔ)接口。
[0253] 具有或參照SSD控制器的任意前述EC,其中SSD控制器包括非易失性存儲(chǔ)器接口。
[0254] 具有或參照非易失性存儲(chǔ)器接口的任意前述EC,其中非易失性存儲(chǔ)器接口包括閃 存接口。
[0255] 具有或參照SSD控制器的任意前述EC,其中SSD控制器包括閃存接口。
[0256] 具有或參照一個(gè)或多個(gè)閃存的任意前述EC,其中閃存中的至少一個(gè)包括以下各項(xiàng) 中的一項(xiàng)或多項(xiàng):
[0257] NAND閃存技術(shù)存儲(chǔ)單元,以及
[0258] NOR閃存技術(shù)存儲(chǔ)單元。
[0259] 具有或參照一個(gè)或多個(gè)閃存的任意前述EC,其中閃存中的至少一個(gè)包括以下各項(xiàng) 中的一項(xiàng)或多項(xiàng):
[0260] 單階存儲(chǔ)單元(SLC)閃存技術(shù)存儲(chǔ)單元,以及
[0261] 多階存儲(chǔ)單元(MLC)閃存技術(shù)存儲(chǔ)單元。
[0262] 具有或參照閃存接口的任意前述EC,其中閃存接口與以下各項(xiàng)中的一項(xiàng)或多項(xiàng)兼 容:
[0263] 開放 NAND 閃存接口(ONFI),
[0264] 切換模式接口,
[0265] 雙倍數(shù)據(jù)速率(DDR)同步接口,
[0266] 同步接口,以及
[0267] 異步接口。
[0268] 具有或參照存儲(chǔ)接口標(biāo)準(zhǔn)的任意前述EC,其中存儲(chǔ)接口標(biāo)準(zhǔn)包括以下各項(xiàng)中的一 項(xiàng)或多項(xiàng):
[0269] 通用串行總線(USB)接口標(biāo)準(zhǔn),
[0270] 緊湊式閃存(CF)接口標(biāo)準(zhǔn),
[0271] 多媒體卡(MMC)接口標(biāo)準(zhǔn),
[0272] 安全數(shù)字(SD)接口標(biāo)準(zhǔn),
[0273] 記憶棒接口標(biāo)準(zhǔn),
[0274] xD圖片卡接口標(biāo)準(zhǔn),
[0275] 集成驅(qū)動(dòng)電子裝置(IDE)接口標(biāo)準(zhǔn),
[0276] 串行高級(jí)技術(shù)附件(SATA)接口標(biāo)準(zhǔn),
[0277] 外部 SATA(eSATA)接口標(biāo)準(zhǔn),
[0278] 小型計(jì)算機(jī)系統(tǒng)接口(SCSI)接口標(biāo)準(zhǔn),
[0279] 串行連接的小型計(jì)算機(jī)系統(tǒng)接口(SAS)接口標(biāo)準(zhǔn),
[0280] 光纖通道接口標(biāo)準(zhǔn),
[0281] 以太網(wǎng)接口標(biāo)準(zhǔn),以及
[0282] 快速外圍組件互連(PCIe)接口標(biāo)準(zhǔn)。
[0283] 具有或參照計(jì)算主機(jī)的任意前述EC,其中計(jì)算主機(jī)包括以下各項(xiàng)中的一項(xiàng)或多 項(xiàng):
[0284] 計(jì)算機(jī),
[0285] 工作站計(jì)算機(jī),
[0286] 服務(wù)器計(jì)算機(jī),
[0287] 存儲(chǔ)服務(wù)器,
[0288] 個(gè)人計(jì)算機(jī)(PC),
[0289] 膝上電腦,
[0290] 筆記本電腦,
[0291] 上網(wǎng)本電腦,
[0292] 個(gè)人數(shù)字助理(PDA),
[0293] 媒體播放器,
[0294] 媒體記錄器,
[0295] 數(shù)碼相機(jī),
[0296] 蜂窩手機(jī),
[0297] 無繩電話手機(jī),以及
[0298] 電