存儲系統(tǒng)以及對存儲系統(tǒng)執(zhí)行和驗證寫保護(hù)的方法
【專利說明】存儲系統(tǒng)從及對存儲系統(tǒng)執(zhí)行和驗證寫保護(hù)的方法
[0001] 相關(guān)申請的交叉引用
[0002] 本申請要求于2014年3月28日提交的美國臨時專利申請No. 61/971,673和于 2014年9月4日在韓國知識產(chǎn)權(quán)局提交的韓國專利申請No. 10-2014-0117786的優(yōu)先權(quán),所 述申請的全部內(nèi)容W引用方式并入本文中。
技術(shù)領(lǐng)域
[0003] 本文描述的本發(fā)明構(gòu)思設(shè)及一種存儲系統(tǒng),更具體地說,設(shè)及一種存儲系統(tǒng)及其 寫保護(hù)方法。
【背景技術(shù)】
[0004] 存儲系統(tǒng)包括主機(jī)和存儲裝置。主機(jī)和存儲裝置通過諸如串行ATA (SATA)、通用閃 存扣F巧、小型計算機(jī)系統(tǒng)接口(SCSI)、串行連接SCSI (SA巧和嵌入式MMC(eMMC)之類的多 種標(biāo)準(zhǔn)化接口連接。
[0005] 在常規(guī)存儲裝置中,任何人通過預(yù)定命令設(shè)置和釋放寫保護(hù)。還通過命令設(shè)置寫 保護(hù)的類型。另外,即使設(shè)置了寫保護(hù),任何人也可釋放寫保護(hù)或改變寫保護(hù)的設(shè)置。
[0006] 例如,被寫保護(hù)的是操作系統(tǒng)的引導(dǎo)裝入程序或內(nèi)核映像。由于任何人釋放寫保 護(hù)或改變其設(shè)置,因此使引導(dǎo)裝入程序或內(nèi)核映像受到未經(jīng)允許訪問的諸如超級根權(quán)限訪 問(rooting)之類的危險。
【發(fā)明內(nèi)容】
[0007] 至少一個實施例設(shè)及一種非暫時計算機(jī)可讀介質(zhì)。
[000引在一個實施例中,所述非暫時計算機(jī)可讀介質(zhì)在針對存儲裝置中的非易失性存儲 器執(zhí)行寫保護(hù)操作期間對用于控制存儲裝置的寫保護(hù)操作的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲,所述數(shù)據(jù) 結(jié)構(gòu)包括;存儲器分區(qū)標(biāo)識符,其標(biāo)識非易失性存儲器的分區(qū);起始地址信息,其指示針對 所標(biāo)識的存儲器分區(qū)中的存儲器區(qū)域的邏輯塊地址;和長度信息,其指示所標(biāo)識的存儲器 分區(qū)中的存儲器區(qū)域的長度,并且所述數(shù)據(jù)結(jié)構(gòu)包括類型信息,該類型信息向存儲裝置指 示寫保護(hù)的類型,W向存儲器區(qū)域提供寫保護(hù)操作。
[0009] 在一個實施例中,如果長度信息是參考值,則長度信息指示將寫保護(hù)應(yīng)用于所標(biāo) 識的整個存儲器分區(qū)。
[0010] 在一個實施例中,數(shù)據(jù)結(jié)構(gòu)還包括可寫信息,其指示是否將寫保護(hù)應(yīng)用于存儲器 區(qū)域。
[0011] 在一個實施例中,類型信息指示從至少包括第一類型的組中選出的類型,第一類 型指示在每次存儲器通電之后可寫信息就可被改變且可寫信息指示在存儲器通電時應(yīng)用 寫保護(hù)。
[0012] 在一個實施例中,所述組包括第一類型、第二類型和第S類型;第二類型指示可寫 信息可被改變且可寫信息指示在存儲器通電之后不應(yīng)用寫保護(hù);并且第S類型指示可寫信 息可被改變。
[0013] 至少一個實施例設(shè)及一種存儲裝置。
[0014] 在一個實施例中,所述存儲裝置包括第一存儲器。第一存儲器是非易失性存儲器。 存儲器裝置還包括第二存儲器,第二存儲器被構(gòu)造為存儲:存儲器分區(qū)標(biāo)識符,其標(biāo)識第一 存儲器的分區(qū);起始地址信息,其指示針對所標(biāo)識的存儲器分區(qū)中的存儲器區(qū)域的邏輯塊 地址;和長度信息,其指示所標(biāo)識的存儲器分區(qū)中的存儲器區(qū)域的長度。第二存儲器被構(gòu)造 為與起始地址信息和長度信息相關(guān)聯(lián)地存儲可寫信息。該可寫信息指示是否將寫保護(hù)應(yīng)用 于存儲器區(qū)域。
[0015] 在一個實施例中,第二存儲器被構(gòu)造為與起始地址信息和長度信息相關(guān)聯(lián)地存儲 類型信息,其中類型信息指示提供至存儲器區(qū)域的寫保護(hù)的類型。
[0016] 至少一個實施例設(shè)及一種方法。
[0017] 在一個實施例中,所述方法包括在存儲裝置處接收請求。所述請求包括請求消息 驗證碼和寫保護(hù)信息。寫保護(hù)信息包括起始地址信息和長度信息中的至少一個。起始地址 信息指示在存儲裝置的非易失性存儲器中存儲器區(qū)域起始的邏輯塊地址,并且長度信息指 示存儲器區(qū)域的長度。所述方法還包括步驟;基于(1)起始地址信息和長度信息中的至少 一個W及(2)存儲在存儲裝置的密鑰,在存儲裝置處產(chǎn)生消息驗證碼;基于所產(chǎn)生的消息 驗證碼和請求消息驗證碼,在存儲裝置處驗證請求;W及基于驗證結(jié)果在存儲裝置處處理 請求。
[0018] 在一個實施例中,寫保護(hù)信息包括起始地址信息和長度信息二者;并且所述產(chǎn)生 步驟基于起始地址信息、長度信息和密鑰來產(chǎn)生消息驗證碼。
[0019] 在一個實施例中,寫保護(hù)信息包括起始地址信息、長度信息和分區(qū)標(biāo)識符。分區(qū)標(biāo) 識符標(biāo)識存儲裝置的非易失性存儲器中的分區(qū),并且所述分區(qū)包括了存儲器區(qū)域。另外,所 述產(chǎn)生步驟基于起始地址信息、長度信息、分區(qū)標(biāo)識符和密鑰來產(chǎn)生消息驗證碼。
[0020] 在一個實施例中,寫保護(hù)信息包括起始地址信息、長度信息、分區(qū)標(biāo)識符和指示是 否將寫保護(hù)應(yīng)用于存儲器區(qū)域的可寫信息;并且所述產(chǎn)生步驟基于起始地址信息、長度信 息、分區(qū)標(biāo)識符、可寫信息和密鑰來產(chǎn)生消息驗證碼。
[0021] 在一個實施例中,寫保護(hù)信息包括起始地址信息、長度信息、分區(qū)標(biāo)識符、可寫信 息和指示提供至存儲器區(qū)域的寫保護(hù)的類型的類型信息;并且所述產(chǎn)生步驟基于起始地址 信息、長度信息、分區(qū)標(biāo)識符、可寫信息、類型信息和密鑰來產(chǎn)生消息驗證碼。
[0022] 在一個實施例中,類型信息指示從至少包括第一類型的組中選出的類型,其中第 一類型指示在存儲器通電之后可寫信息就可被改變且可寫信息指示在存儲器通電時應(yīng)用 寫保護(hù)。
[0023] 在一個實施例中,所述組包括第一類型、第二類型和第S類型。第二類型指示可寫 信息可被改變且可寫信息指示在存儲器通電之后不應(yīng)用寫保護(hù)。第S類型指示可寫信息可 被改變。
[0024] 在一個實施例中,所述產(chǎn)生步驟產(chǎn)生基于散列的消息驗證碼。
[0025] 在一個實施例中,所述驗證步驟在所產(chǎn)生的消息驗證碼與請求消息驗證碼匹配的 情況下驗證請求;并且所述處理步驟在請求被驗證的情況下處理請求。
[0026] 在一個實施例中,所述請求利用包括在請求中的信息來請求存儲裝置更新寫保護(hù) f目息。
[0027] 在一個實施例中,所述處理步驟包括;在所述處理步驟處理請求的情況下將更新 計數(shù)器遞增;W及在所述處理步驟處理請求的情況下發(fā)送響應(yīng)消息。響應(yīng)消息包括更新計 數(shù)器的計數(shù)值。
[002引在一個實施例中,所述處理步驟包括;在所述處理步驟處理請求的情況下響應(yīng)于 請求來發(fā)送響應(yīng)消息。
[0029] 在一個實施例中,所述處理步驟包括:存儲寫保護(hù)信息。
[0030] 在另一實施例中,所述方法包括;在存儲裝置處接收寫命令,W將數(shù)據(jù)寫入存儲裝 置中的非易失性存儲器的第一區(qū)域;W及在存儲裝置處基于針對一個或多個被第一區(qū)域覆 蓋的存儲器區(qū)域存儲的寫保護(hù)信息來確定針對各個存儲器區(qū)域是否處理寫命令。所述寫保 護(hù)信息包括;起始地址信息,其指示存儲器區(qū)域的起始的邏輯塊地址;長度信息,其指示存 儲器區(qū)域的長度;W及可寫信息,其指示是否將寫保護(hù)應(yīng)用于存儲器區(qū)域。
[0031] 在一個實施例中,在第一區(qū)域與具有指示出應(yīng)用寫保護(hù)的相關(guān)可寫信息的存儲器 區(qū)域之一重疊的情況下,所述確定步驟確定不處理寫命令。
[0032] 在一個實施例中,在與寫命令相關(guān)的地址落入存儲器區(qū)域之一中的情況下,所述 確定步驟確定第一區(qū)域與存儲器區(qū)域之一重疊。
[0033] 在一個實施例中,對于各個存儲器區(qū)域,寫保護(hù)信息還包括;分區(qū)標(biāo)識符,該分區(qū) 標(biāo)識符標(biāo)識非易失性存儲器中的分區(qū),該分區(qū)包括存儲器區(qū)域。如果將長度信息設(shè)為參考 值,則長度信息指示所標(biāo)識的整個分區(qū)被寫保護(hù)。在第一區(qū)域與具有被設(shè)為參考值的相關(guān) 長度信息的存儲器區(qū)域之一重疊的情況下,所述確定步驟確定不處理寫命令。
[0034] 在另一實施例中,所述方法包括針對非易失性存儲器的存儲器區(qū)域存儲寫保護(hù)信 息。寫保護(hù)信息包括可寫信息和類型信息??蓪懶畔⒅甘臼欠駥懕Wo(hù)應(yīng)用于存儲器區(qū)域, 而類型信息指示從至少包括第一類型的組中選出的類型。所述方法還包括;在類型信息是 第一類型的情況下,在每次存儲器通電之后,允許改變可寫信息;W及在類型信息是第一類 型的情況下,在存儲器通電之后,設(shè)置可寫信息W指示應(yīng)用寫保護(hù)。
[0035] 在又一實施例中,所述方法包括將請求發(fā)送至存儲裝置,其中所述請求向存儲裝 置請求針對存儲裝置中的非易失性存儲器的存儲器區(qū)域更新寫保護(hù)信息。所述請求包括寫 保護(hù)信息。寫保護(hù)信息包括;起始地址信息,其指示存儲器區(qū)域的起始的邏輯塊地址;長度 信息,其指示存儲器區(qū)域的長度;W及可寫信息,其指示是否將寫保護(hù)應(yīng)用于存儲器區(qū)域。
[0036] 又一實施例設(shè)及一種存儲裝置。
[0037] 在一個實施例中,所述存儲裝置包括非易失性存儲器和控制器。控制器被構(gòu)造為 接收請求。該請求包括請求消息驗證碼和寫保護(hù)信息。寫保護(hù)信息包括起始地址信息和長 度信息中的至少一個。起始地址信息指示非易失性存儲器的存儲器區(qū)域起始的邏輯塊地 址,而長度信息指示存儲器區(qū)域的長度??刂破鞅粯?gòu)造為基于(1)起始地址信息和長度信 息中的至少一個W及(2)存儲在存儲裝置處的密鑰來產(chǎn)生消息驗證碼??刂破鞅粯?gòu)造為基 于所產(chǎn)生的消息驗證碼和請求消息驗證碼來驗證請求;并且控制器被構(gòu)造為基于驗證結(jié)果 來處理請求。
[003引在另一實施例中,所述存儲裝置包括非易失性存儲器和控制器??刂破鞅粯?gòu)造為 接收寫命令W將數(shù)據(jù)寫入存儲裝置中的非易失性存儲器的第一區(qū)域,并且基于針對一個或 多個被第一區(qū)域覆蓋的存儲器區(qū)域存儲的寫保護(hù)信息來確定是否處理寫命令。對于各個存 儲器區(qū)域,寫保護(hù)信息包括;起始地址信息,其指示存儲器區(qū)域的起始的邏輯塊地址;長度 信息,其指示存儲器區(qū)域的長度;W及可寫信息,其指示是否將寫保護(hù)應(yīng)用于存儲器區(qū)域。
【附圖說明】
[0039] 通過W下結(jié)合附圖進(jìn)行的描述,W上和其它目的和特征將變得清楚,除非另有說 明,否則其中相同的附圖標(biāo)記在各個附圖中始終指代相同的部件,其中:
[0040] 圖1是示意性地示出存儲系統(tǒng)的框圖;
[0041] 圖2是示意性地示出基于閃速存儲器的UFS系統(tǒng)的框圖;
[0042] 圖3是示意性地示出根據(jù)本發(fā)明構(gòu)思的實施例的存儲系統(tǒng)的框圖;
[0043] 圖4是示出通過主機(jī)提供的邏輯塊地址指定寫保護(hù)區(qū)域的實施例的概念圖;
[0044] 圖5是示出存儲裝置的整個分區(qū)被寫保護(hù)的實施例的概念圖;
[0045] 圖6是示出寫保護(hù)(WP)描述符被設(shè)為'NV-P'類型的實施例的概念圖;
[0046] 圖7是示出根據(jù)本發(fā)明構(gòu)思的實施例用于對存儲系統(tǒng)的寫保護(hù)進(jìn)行鎖定或解鎖 的請求和響應(yīng)的時序圖;
[0047] 圖8是用于描述計算HMAC的方法的概念圖;
[0048] 圖9是示意性地示出圖3所示的存儲系統(tǒng)的HMAC驗證方法的流程圖;
[0049] 圖10是用于描述圖3所示的存儲系統(tǒng)的寫保護(hù)執(zhí)行方法的流程圖;
[0化0] 圖11是示意性地示出其中根據(jù)本發(fā)明構(gòu)思的實施例的存儲系統(tǒng)的一個或更多個 區(qū)域被寫保護(hù)的實施例的概念圖;
[0化1] 圖12是示意性地示出基于圖3所示的閃速存儲器的存儲裝置的硬件配置的框 圖;
[0化2] 圖13是示意性地示出軟件層結(jié)構(gòu)的框圖;
[0化3] 圖14是示出固態(tài)驅(qū)動器的框圖,該固態(tài)驅(qū)動器中應(yīng)用了根據(jù)本發(fā)明構(gòu)思的存儲 裝置;
[0054] 圖15是示意性地示出圖14所示的SSD控制器的框圖;
[0化5] 圖16是示意性地示出電子裝置的框圖,該電子裝置中包括根據(jù)本發(fā)明構(gòu)思的實 施例的存儲裝置;W及
[0化6] 圖17是示意性地示出存儲卡的框圖,該存儲卡中應(yīng)用了根據(jù)本發(fā)明構(gòu)思的實施 例的用戶裝置的存儲裝置。
【具體實施方式】
[0化7] 將參照附圖詳細(xì)描述實施例。然而,本發(fā)明的概念可按照許多不同的形式實現(xiàn),并 且不應(yīng)理解為僅限于示出的實施例。相反,提供該些實施例作為示例W使得本公開將是徹 底和完整的,并且將把本發(fā)明構(gòu)思完全傳遞給本領(lǐng)域技術(shù)人員。因此,關(guān)于本發(fā)明構(gòu)思的一 些實施例,不描述已知工藝、元件和技術(shù)。除非