TW202147136A - 卸載加密的方法及系統、以及加密元件 - Google Patents
卸載加密的方法及系統、以及加密元件 Download PDFInfo
- Publication number
- TW202147136A TW202147136A TW109142626A TW109142626A TW202147136A TW 202147136 A TW202147136 A TW 202147136A TW 109142626 A TW109142626 A TW 109142626A TW 109142626 A TW109142626 A TW 109142626A TW 202147136 A TW202147136 A TW 202147136A
- Authority
- TW
- Taiwan
- Prior art keywords
- host
- data
- offload engine
- encryption
- peer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
一種方法可包括:經由互連架構將資料自主機傳送至加密卸載引擎;在加密卸載引擎處對來自主機的資料進行加密;以及經由互連架構中的同級間連接將經加密的資料自加密卸載引擎傳送至儲存元件。所述方法可更包括:經由互連架構中的同級間連接將經加密的資料自儲存元件傳送至加密卸載引擎;在加密卸載引擎處對來自儲存元件的經加密的資料進行解密;以及經由互連架構將經解密的資料傳送至主機。所述方法可更包括:將經加密的資料自儲存元件傳送至主機;以及在主機處對經加密的資料的加密進行驗證。
Description
本揭露大體而言是有關於加密,且具體而言是有關於經由互連架構卸載加密。
自加密驅動機(self-encrypting drive,SED)是一種可使用內部加密來防止對儲存於儲存元件上的資料進行未經認證的存取的儲存元件,例如硬碟驅動機(hard disk drive,HDD)或固態驅動機(solid state drive,SSD)。SED可包括專用硬體,以對加密及解密過程進行加速,使得不會減慢驅動機的存取速度。可將SED配置成使得在資料被寫入至驅動機時自動且持續地對資料進行加密且在自驅動機讀取資料時對資料進行解密,而無需使用者或作業系統的任何干預。加速硬體可使用可在驅動機內部保持的一或多個加密密鑰對資料進行加密及解密。每當重新啟動驅動機時,SED可能需要輸入附加的認證密鑰,以防止自主機系統移除驅動機時對資料進行未經認證的存取。依據實施方案而定,認證密鑰可在開機過程期間由使用者手動地輸入至SED中或者由基本輸入/輸出系統(basic input/output system,BIOS)或作業系統自動地輸入至SED中。
一種方法可包括:經由互連架構將資料自主機傳送至加密卸載引擎;在所述加密卸載引擎處對來自所述主機的所述資料進行加密;以及經由所述互連架構中的同級間連接將經加密的所述資料自所述加密卸載引擎傳送至儲存元件。所述方法可更包括:經由所述互連架構中的同級間連接將經加密的所述資料自所述儲存元件傳送至所述加密卸載引擎;在所述加密卸載引擎處對來自所述儲存元件的經加密的所述資料進行解密;以及經由所述互連架構將經解密的所述資料傳送至所述主機。所述方法可更包括:將經加密的所述資料自所述儲存元件傳送至所述主機;以及在所述主機處對經加密的所述資料的所述加密進行驗證。來自所述主機的所述資料可具有源位址,且所述方法可更包括:將所述源位址映射至所述加密卸載引擎。所述儲存元件可因應於來自所述主機的寫入命令而發起自所述加密卸載引擎至所述儲存元件的同級間傳送,且所述加密卸載引擎可使用映射表自所述主機取出所述資料。欲發送至所述主機的所述資料可具有目的地位址,且所述方法可更包括:將所述目的地位址映射至所述加密卸載引擎。所述儲存元件可因應於來自所述主機的讀取命令而發起自所述加密卸載引擎至所述儲存元件的同級間傳送,且所述加密卸載引擎可使用映射表將經解密的所述資料傳送至所述主機。
一種系統可包括:主機;加密卸載引擎;以及互連架構,被佈置成對所述主機、所述加密卸載引擎及一或多個儲存元件進行互連,其中所述加密卸載引擎可被配置成:自所述主機接收資料;對自所述主機接收的所述資料進行加密;以及經由所述互連架構中的同級間連接將經加密的所述資料發送至所述儲存元件中的至少一個儲存元件。所述主機可被配置成:自所述至少一個儲存元件讀取經加密的所述資料;以及對經加密的所述資料的所述加密進行驗證。所述主機可被配置成藉由繞過所述加密卸載引擎中的映射表而自所述至少一個儲存元件讀取經加密的所述資料。所述系統可更包括提交佇列,所述提交佇列被配置成容納來自所述主機的寫入命令,且所述寫入命令可包括欲寫入至所述至少一個儲存元件的資料的源位址。所述主機可被配置成將所述源位址映射至所述加密卸載引擎。所述加密卸載引擎可被配置成使映射表保持將使用所述至少一個儲存元件進行同級間傳送的資料映射至所述主機中的位址。所述同級間傳送可與來自所述主機的寫入命令相關聯。所述至少一個儲存元件可被配置成因應於來自所述主機的所述寫入命令而發起自所述加密卸載引擎的同級間傳送,且所述加密卸載引擎可被配置成自所述主機接收所述資料、對自所述主機接收的所述資料進行加密且因應於所述至少一個儲存元件發起所述同級間傳送而將經加密的所述資料發送至所述至少一個儲存元件。所述加密卸載引擎可更被配置成:經由所述互連架構中的所述同級間連接自所述儲存元件中的至少一個儲存元件接收經加密的資料;對自所述至少一個儲存元件接收的經加密的所述資料進行解密;以及將經解密的所述資料發送至所述主機。所述系統可更包括提交佇列,所述提交佇列被配置成容納來自所述主機的讀取命令,且所述讀取命令可包括來自所述至少一個儲存元件的經解密的所述資料的目的地位址。所述主機可被配置成將所述目的地位址映射至所述加密卸載引擎。
一種加密元件可包括:介面,被配置成將所述加密元件耦合至具有同級間能力的互連系統;以及控制器,耦合至所述介面且被配置成:經由所述介面自主機接收資料;對自所述主機接收的所述資料進行加密;以及經由所述介面將經加密的所述資料發送至儲存元件。所述控制器可更被配置成:經由所述介面自所述儲存元件接收經加密的資料;對自所述儲存元件接收的所述資料進行解密;以及經由所述介面將經解密的所述資料發送至所述主機。
在根據本揭露的一些實施例中,可經由互連架構將資料自主機傳送至加密卸載引擎。加密卸載引擎可對資料進行加密且經由互連架構中的同級間(peer-to-peer,P2P)連接將經加密的資料傳送至儲存元件。依據實施細節而定,此可藉由使主機能夠在不必信任自加密驅動機(SED)的情況下卸載加密計算來改善效能及安全性。在驗證操作期間,主機可繞過加密卸載引擎並直接自儲存元件讀取經加密的資料,以確認經加密的資料被正確加密。
圖1示出用於在SED處儲存資料的系統的結構。圖1中所示的系統可包括具有中央處理單元(central processing unit,CPU)102的主機100,中央處理單元102可耦合至快速周邊組件互連(Peripheral Component Interconnect Express,PCIe)根複合體104或與快速周邊組件互連根複合體104成一體。系統記憶體106可例如經由根複合體104耦合至CPU 102。PCIe交換機108可耦合至根複合體104或與根複合體104成一體。PCIe交換機108可被佈置成將任意數目的固態驅動機(SSD)110耦合至根複合體104。SSD 110中的每一者可具有內部加密(encryption,ENC)/解密(decryption,DEC)硬體112,以使驅動機能夠作為SED運作。PCIe交換機108及對PCIe交換機108進行的任何PCIe互連可被統稱為PCIe架構。圖1中所示的系統可實施快速非揮發性記憶體(Non-Volatile Memory Express,NVMe)協定,以使得能夠經由PCIe架構在SSD 110與主機100之間進行高速資料傳送。
當使用者、應用、驅動器、內核及/或類似物在主機100處經由PCIe架構將未經加密的(即,明文或原文)資料發送至SSD 110中的一者時,自加密儲存操作可開始。在到達SSD 110時,加密/解密硬體112可使用可駐留於SSD 110中的一或多個加密密鑰對來自主機的資料進行加密。接著經加密的資料可儲存於固態儲存媒體(例如一或多個快閃記憶體元件)中。
在自主機100接收到讀取命令時,SSD 110中的任意者可自其儲存媒體擷取所請求資料的經加密版本。接著可由加密/解密硬體112使用可駐留於SSD 110中的所述一或多個加密密鑰來對經加密的資料進行解密。接著可經由PCIe架構將經解密的資料傳送至主機100。
如以上針對圖1闡述的結構及操作可使得能夠在不減慢對SSD 110的資料的讀取及/或寫入的情況下以PCIe匯流排速度實時地實行加密及解密。然而,此結構及/或操作可能具有一或多個潛在的安全性問題。舉例而言,在一些系統中,未經加密的資料可能自SSD 110傳送至主機100,且因此主機100可能無法驗證出儲存於SSD 110中的儲存媒體上的經加密的(密文)資料已被正確加密。
一些SED可提供驗證機制以使主機能夠存取儲存於儲存媒體中的密文資料。然而,由於每一SED製造商可實施不同的專有解決方案來存取經加密的資料,因此該些驗證機制可能難以利用。另外,即使在存取了所儲存的密文之後,為驗證加密是否正確實行,主機亦可能需要自SED獲得加密過程期間使用的一或多個加密密鑰。然而,由於SED可例如使用與SED的控制器中的特殊應用積體電路(application specific integrated circuit,ASIC)的硬體信任根(hardware root of trust)來環繞所述一或多個加密密鑰,因此可能難以獲得所述一或多個加密密鑰。
系統(例如圖1中所示的系統)的又一潛在問題在於,由於每一SED可能需要支援一或多個加密密鑰的管理,因此在SED中的一或多者中(例如,在SED的控制器中的系統晶片(system on chip,SOC)中)可能存在潛在的密鑰代管操作。此可能會為加密密鑰破解提供附加的機會。
系統(例如圖1中所示的系統)的再一潛在問題在於,在一些實施方案中,SSD 110可能在底盤、框架、資料中心及/或類似物內位於距主機100相對長的距離處。由於未經加密的資料可能必須遍歷該些較長距離,因此可能會為未經認證的實體截獲資料提供附加的機會。
在一些系統中,資料可在主機100處被加密且跨越PCIe架構傳送至SSD 110。因此,主機100可能不需要信任SSD 110中的任意者。另外,若資料中的任意者被PCIe架構內的未經認證的實體截獲,則資料中的任意者可能已被加密。然而,實行加密及解密計算可能會使主機CPU過載及/或降低系統效能。
圖2示出根據本揭露的用於提供經加密的資料儲存的系統的實施例。圖2中所示的系統可包括主機120、加密卸載引擎122及互連架構124,互連架構124被佈置成對主機120、加密卸載引擎122及一或多個儲存元件126進行互連。互連架構124可具有同級間(P2P)能力,以能夠經由架構124在各個元件之間進行一或多個同級間連接。
在一些實施例中,在儲存寫入操作期間,加密卸載引擎122可被配置成自主機120接收未經加密的資料、對自主機120接收的資料進行加密且例如經由互連架構124中的同級間連接128將經加密的資料發送至儲存元件126中的一者。儲存元件126可將經加密的資料儲存於元件內的儲存媒體中。
在一些實施例中,在儲存讀取操作期間,儲存元件126可自元件內的儲存媒體擷取經加密的資料,且例如經由互連架構124中的相同或不同的同級間連接128將經加密的資料發送至加密卸載引擎122。接著加密卸載引擎122可對自儲存元件126接收的經加密的資料進行解密且經由互連架構124將經解密的資料發送回主機120。
在一些實施例中,在驗證操作期間,儲存元件126可自元件內的儲存媒體擷取經加密的資料且將經加密的資料發送至主機120,因此繞過加密卸載引擎122。接著主機120可驗證儲存於儲存元件126處的經加密的資料被正確加密。
因此,依據實施細節而定,圖2中所示的系統可解決以上論述的一些或全部安全性問題及/或效能問題。舉例而言,由於分別用於寫入操作及讀取操作的加密及解密可與主機120去偶,因此可減少或消除主機120上的加密/解密負擔及/或可改善系統效能。
作為另一實例,由於可獨立於儲存元件126實行加密及/或解密及/或驗證,因此儲存元件126可讀取及/或寫入已被加密的資料。此可減少或消除使用可能存在於儲存元件126中的任何內置驗證機制來存取儲存於儲存媒體中的經加密的(密文)資料的需要。此可使系統的設計過程及/或操作流線化,及/或減少或消除適應可由不同儲存元件製造商實施的不同專有驗證機制的需要。另外,獨立於儲存元件126實行加密及/或解密及/或驗證可減少或消除獲得儲存元件126在加密過程期間使用的一或多個加密密鑰的需要。
作為又一實例,獨立於儲存元件126實行加密及/或解密及/或驗證可減少或消除關於儲存元件126中的一或多者中的潛在的密鑰代管操作的問題。
作為再一實例,在一些實施例中,加密卸載引擎122可位於相對靠近主機120的位置。因此,未經加密的資料可僅需要在主機120與加密卸載引擎122之間經由互連架構124遍歷相對短的距離。相比之下,若儲存元件126中的任意者位於距主機120及/或加密卸載引擎122相對長的距離處,則可能需要遍歷該些較長距離的資料可能已被加密卸載引擎122加密,進而降低資料被未經認證的實體截取時被破解的風險。
再次參照圖2,可使用任何合適的互連媒體、裝置、協定、其組合及/或類似物來實施互連架構124。舉例而言,在一些實施例中,可在快速周邊組件互連(PCIe)鏈路之上使用快速非揮發性記憶體(NVMe)協定來實施互連架構124。在此種PCIe/NVMe實施例中,互連架構124可包括任意數目及/或組合的PCIe交換機、橋接器、重定時器(retimer)、鏈路、通道(lane)等,它們可以任何拓撲佈置且被配置成經由互連架構124而藉由階層式(樹)及/或同級間連接的任何佈置及/或組合來傳送資料。在此種PCIe/NVMe實施例中,可使用提交佇列(submission queue,SQ)來發起資料傳送,所述提交佇列可保持於整個系統的一或多個位置處。舉例而言,在一些實施例中,一或多個提交佇列可保持於主機120及/或儲存元件126中的一或多者所提供的記憶體中。
然而,在其他實施例中,可使用任何其他合適的互連媒體、裝置、協定、其組合及/或類似物來實施互連架構124。實例可包括周邊組件互連(PCI)、進階技術附接(Advanced Technology Attachment,ATA)、串列進階技術附接(Serial ATA,SATA)、小型電腦系統介面(Small Computer System Interface,SCSI)、串列附接小型電腦系統介面(Serial Attached SCSI,SAS)、乙太網路(Ethernet)、光纖通道、無線頻寬(InfiniBand)、OCuLink、架構上NVMe(NVMe over fabric,NVMe-oF)及其他實例。互連架構124可能夠在組件之間提供同級間連接及/或通訊。可使用具有不同互連媒體、裝置、協定、其組合及/或類似物的區段來實施互連架構124,且各個區段可包括以任何拓撲佈置且在區段之間及/或區段內連接的橋接器、轉譯器、交換機、集線器、纜線、跡線、連接器及/或類似物的任意組合。
可使用硬體、軟體、韌體及/或其任意組合來實施加密卸載引擎122。在一些實施例中,加密卸載引擎122可被實施為單獨的組件,例如可藉由將互連架構124插入至母板、底板、積層板、模組、其組合及/或類似物上的PCI插槽、PCIe插槽、M.2插槽、U.2連接器、SATA連接器、SAS連接器、OCuLink連接器或其他插槽或連接器而與互連架構124介接的插件卡(add-in card)或模組。在一些其他實施例中,加密卸載引擎122可被實施為可經由纜線及/或連接器與互連架構124介接的模組。在一些實施例中,加密卸載引擎122可被整合至另一組件(例如PCIe交換機、根複合體、母板、插件卡或配接器卡或模組、底板、積層板、其組合及/或類似物等)中。加密卸載引擎122可利用任何合適的加密/解密技術及/或演算法,例如使用對稱加密及/或非對稱加密及/或認證密鑰或其任意組合的128位元或256位元進階加密標準(Advanced Encryption Standard,AES)演算法。
可使用可能需要以加密格式儲存資料的任何元件及/或系統來實施主機120。實例可包括伺服器、伺服器框架、桌上型電腦或膝上型電腦、行動元件、物聯網(Internet-of-Things,IOT)元件、其組合及/或類似物中的一或多個母板上的一或多個CPU。
可基於包括磁性媒體、快閃記憶體元件、持續記憶體元件、其組合及/或類似物在內的任何儲存媒體而以包括3.5英吋、2.5英吋、M.2、U.2、下一代小形狀因數(Next Generation Small Form Factor,NGSFF)、其組合及/或類似形狀因數在內的任何形狀因數且使用任何介面媒體、裝置、協定、其組合及/或類似物來使用硬碟驅動機(HDD)、固態驅動機(SSD)、混合驅動機、其組合及/或類似驅動機來實施儲存元件126。
圖3示出根據本揭露的加密卸載引擎的示例性實施例。在圖3中所示的實施例中,加密卸載引擎130可包括介面132,介面132被配置成經由互連架構將加密卸載引擎130耦合至其他組件(例如主機及/或儲存元件)。介面132可能夠經由互連架構在加密卸載引擎130與一或多個其他組件之間實施同級間連接及/或通訊。加密卸載引擎130亦可包括控制器134,控制器134可耦合至介面132且可包括加密處理器136。控制器134可被配置成經由介面132自主機接收資料、使用加密處理器136對自主機接收的資料進行加密且經由介面132將經加密的資料發送至儲存元件。控制器134亦可被配置成經由介面132自儲存元件接收經加密的資料、使用加密處理器136對自儲存元件接收的資料進行解密且經由介面132將經解密的資料發送至主機。
在一些實施例中,控制器134亦可包括映射表138,映射表138可用於例如確定主機內未經加密的(原文)資料的源位置及/或目的地位置。
可以根據本揭露的原理的各種方式發起加密卸載引擎130中的加密操作。舉例而言,在一些實施例中,當儲存元件藉由向加密卸載引擎130發送同級間請求而發起自加密卸載引擎130至儲存元件的同級間資料傳送時可發起加密操作。(可藉由儲存元件例如自主機接收到的命令提示來自儲存元件的同級間請求。)在自儲存元件接收到資料傳送請求時,加密卸載引擎130中的控制器134可使用其可能已自儲存元件接收的源資訊及/或映射表138中的資訊而自主機中的資料源位址請求未經加密的資料。在自主機接收到未經加密的資料時,控制器134可使用加密處理器136對自主機接收的資料進行加密且經由介面132將經加密的資料發送至儲存元件,進而完成儲存元件所請求的同級間傳送。
在一些其他實施例中,加密卸載引擎130中的加密操作可由主機直接發起,所述主機可向加密卸載引擎130發送指示加密卸載引擎130對來自主機的資料進行加密且將經加密的資料發送至儲存元件的命令。在此種實施例中,可由加密卸載引擎130發起經加密的資料自加密卸載引擎130至儲存元件的同級間傳送。
相似地,可以根據本揭露的原理的各種方式發起加密卸載引擎130中的解密操作。舉例而言,在一些實施例中,當儲存元件藉由向加密卸載引擎130發送經加密的資料而發起同級間資料傳送時可發起解密操作。(可藉由儲存元件例如自主機接收的命令提示自儲存元件的同級間傳送。)在自儲存元件接收到經加密的資料時,加密卸載引擎130中的控制器134可使用加密處理器136對資料進行解密。接著控制器134可使用其可能已自儲存元件接收的目的地資訊及/或映射表138中所包含的資訊將經解密的資料傳送至主機,以將經解密的資料傳送至主機中的目的地位置。
在一些其他實施例中,加密卸載引擎130中的解密操作可由主機直接發起,主機可向加密卸載引擎130發送指示加密卸載引擎130向特定儲存元件請求經加密的資料、對經加密的資料進行解密且將經解密的資料傳送至主機的命令。在此種實施例中,經加密的資料自儲存元件至加密卸載引擎130的同級間傳送可由加密卸載引擎130發起。
在一些實施例中,由於目的可能是確認加密/解密操作的正確性及/或完整性,因此加密卸載引擎130可不參與驗證操作。然而,為利於進行驗證操作,主機可自加密卸載引擎130請求所述一或多個加密密鑰的複本。
控制器134亦可實施一或多個認證過程。舉例而言,每當加密卸載引擎130被重啟、初始化、重新配置及/或進行類似操作時,控制器134可請求一或多個主機輸入認證密鑰。依據實施細節而定,認證密鑰可例如在開機過程期間由使用者經由主機手動地輸入至加密卸載引擎130中或者由基本輸入/輸出系統(BIOS)或主機上的作業系統自動地輸入至加密卸載引擎130中。
如圖2中所示的加密卸載引擎122的實施例一般,可使用硬體、軟體、韌體及/或其任意組合來實施圖3中所示的實施例。圖3中所示的實施例可將一或多個介面用於任何互連媒體、裝置、協定、其組合及/或類似物。圖3中所示的實施例可作為單獨的組件以任何形狀因數實施,或者整合至一或多個其他組件中。圖3中所示的實施例可利用任何加密/解密技術及/或演算法、其組合及/或類似物。介面132可包括用於相同互連架構或不同互連架構的任意數目的埠。
圖4示出根據本揭露的用於提供經加密的資料儲存的系統的示例性實施例。出於例示目的,可在可於PCIe互連架構的頂部上實施NVMe協定的系統的上下文中闡述圖4中所示的實施例。然而,本揭露的發明原理並非僅限於該些實施細節。
圖4中所示的系統可包括具有中央處理單元(CPU)162的主機160,中央處理單元162可耦合至PCIe根複合體164或與PCIe根複合體164成一體。系統記憶體166可例如經由根複合體164耦合至CPU 162。PCIe交換機168可與根複合體164成一體或者經由PCIe鏈路165耦合至根複合體164。PCIe交換機168可被佈置成經由PCIe鏈路167將任意數目的固態驅動機(SSD)170耦合至根複合體164。PCIe交換機168以及PCIe開關168的任何PCIe互連或鏈路可被統稱為PCIe架構169。PCIe根複合體164可被實施為例如可將一或多個主機組件介接至PCIe交換機架構169的元件。PCIe根複合體164可例如經由P2P交易產生及/或監督主機與附接至PCIe交換機架構169的其他組件之間的交易以及附接至PCIe交換機架構169的其他組件之間的交易。所述系統亦可包括經由PCIe鏈路173耦合至PCIe交換機168的加密卸載引擎172。可例如使用本揭露中闡述的實施例中的任意者(包括圖2、圖3等中所示的那些實施例)來實施加密卸載引擎172。圖4中所示的系統的組件可實施NVMe協定,以使得能夠經由PCIe架構在主機160、加密卸載引擎172及/或SSD 170之間進行高速資料傳送。可使用任意數目的通道來實施PCIe鏈路中的任意者,以適應各種組件之間的不同資料流量數量且基於各種組件的要求提供可擴縮性。由於可向系統添加更多的儲存容量,因此所述系統亦可包括一或多個附加的加密卸載引擎,以適應附加的資料流量及/或加密/解密工作負載。
圖5示出根據本揭露的主機系統的示例性實施例。圖5中所示的實施例可用於例如實施圖4中所示的主機160。
參照圖5,主機180可包括CPU 182及PCIe根複合體184。主機180亦可包括系統記憶體,系統記憶體可包括為寫入緩衝器用於容納欲寫入於一或多個儲存元件的資料而分配的區188以及為讀取緩衝器用於容納自儲存元件讀取的資料而分配的區190。系統記憶體亦可包括為佇列(例如SQ 194及完成佇列196)分配的另一區192,區192可用於例如促進與儲存元件及/或加密卸載引擎的NVMe交易。根複合體184可包括任意數目的PCIe鏈路198,PCIe鏈路198可被配置成將主機180介接至任意PCIe元件。若主機180用於實施圖4中所示的主機160,則可包括PCIe鏈路165來將根複合體184連接至PCIe交換機168。在一些其他實施例中,PCIe交換機168可整合至根複合體184中,且其他組件(例如加密卸載引擎及一或多個儲存元件)可經由PCIe鏈路198直接連接至根複合體184。
圖6示出根據本揭露的用於在儲存元件中儲存經加密的資料的方法的實施例。可例如在圖4中所示的系統的上下文中闡述圖6所示實施例,其中可使用圖5中所示的主機180實施主機160,且可使用圖3中所示的加密卸載引擎130實施加密卸載引擎172。然而,圖6中所示的實施例的發明原理並非僅限於該些或任何其他實施細節。
參照圖6,所述方法可在環節200處開始,在環節200中主機180可將寫入命令193放入至提交佇列194中。寫入命令193可包括欲寫入至SSD 170的資料的源位址195。源位址195可呈例如物理區頁(Physical Region Page,PRP)、散佈聚集列表(Scatter Gather List,SGL)的形式或任何其他形式。在環節202處,SSD 170可自提交佇列194讀取包括源位址195的寫入命令193。然而,並非將源位址195映射至寫入緩衝器188中的位置,主機180可將源位址195映射至加密卸載引擎130。因此,在環節204處,SSD 170可發起經由PCIe架構169的自加密卸載引擎130至SSD 170的同級間傳送。在環節206處,加密卸載引擎130可使用映射表138自主機180中的寫入緩衝器188中的映射位置取出資料。在環節208處,加密卸載引擎130可使用加密處理器136對來自主機180的資料進行加密。在環節210處,加密卸載引擎130可將經加密的資料傳送至SSD 170,進而完成同級間交易。在環節212處,SSD 170可將經加密的資料寫入至其儲存媒體。在環節214處,SSD 170可將完成訊息放入於完成佇列196中,進而發出寫入操作完成的訊號。
圖7示出根據本揭露的用於自儲存元件讀取經加密的資料的方法的實施例。可例如在圖4中所示的系統的上下文中闡述圖7所示實施例,其中可使用圖5中所示的主機180實施主機160,且可使用圖3中所示的加密卸載引擎130實施加密卸載引擎172。然而,圖7中所示的實施例的發明原理並非僅限於該些或任何其他實施細節。
參照圖7,所述方法可在環節220處開始,在環節220中主機180可將讀取命令197放入至提交佇列194中。讀取命令197可包括欲自SSD 170讀取的資料的目的地位址199。目的地位址可呈例如PRP、SGL的形式或任何其他形式。在環節222處,SSD 170可自提交佇列194讀取包括目的地位址199的讀取命令197。在環節224處,SSD 170可自其儲存媒體讀取經加密的資料。然而,並非將目的地位址199映射至讀取緩衝器190中的位置,主機180可將目的地位址199映射至加密卸載引擎130。因此,在環節226處,SSD 170可發起同級間傳送,其中SSD 170經由PCIe架構169將經加密的資料發送至加密卸載引擎130。在環節228處,加密卸載引擎130可使用加密處理器136對來自SSD 170的經加密的資料進行解密,進而完成同級間交易。在環節230處,加密卸載引擎130可使用映射表138將經解密的資料傳送至主機180中的讀取緩衝器190中的映射位置。在環節232處,加密卸載引擎130可將完成訊息放入於完成佇列196中,進而發出讀取操作完成的訊號。
圖8示出根據本揭露的用於對儲存於儲存元件處的資料的加密進行驗證的方法的實施例。可例如在圖4中所示的系統的上下文中闡述圖8所示實施例,其中可使用圖5中所示的主機180實施主機160,且可使用圖3中所示的加密卸載引擎130實施加密卸載引擎172。然而,圖8中所示的實施例的發明原理並非僅限於該些或任何其他實施細節。
參照圖8,所述方法可在環節234處開始,在環節234中主機180可將讀取命令197放入至提交佇列194中。讀取命令197可包括欲自SSD 170讀取的資料的目的地位址199。目的地位址199可呈例如PRP、SGL的形式或任何其他形式。在環節236處,SSD 170可自提交佇列194讀取包括目的地位址199的讀取命令197。在環節238處,SSD 170可自其儲存媒體讀取經加密的資料。
然而,在驗證操作期間,主機180可將目的地位址199直接映射至主機180處的讀取緩衝器190中的位置,進而繞過加密卸載引擎130中的映射表138。因此,在環節240處,SSD 170可經由PCIe架構169將經加密的(密文)資料直接傳送至主機180。在環節242處,主機180可實行其自己的解密計算,以驗證以加密形式儲存於SSD 170處的資料被正確加密。
在一些實施例中,主機180可出於驗證目的而使用保持於主機180處的一或多個加密密鑰的複本來實行其自己的解密計算。在一些其他實施例中,主機180可自加密卸載引擎130請求所述一或多個加密密鑰的複本。在一些實施例中,可使用任何傳統的密鑰管理技術或客製的密鑰管理技術在加密卸載引擎130處、主機180處、另一組件處或其組合處管理加密密鑰。
在一些實施例中,映射表138可由加密卸載引擎130基於由主機180提供的映射資訊來保持。舉例而言,在重啟操作期間,主機180可提供映射資訊以使加密卸載引擎130能夠構建初始映射表138,初始映射表138可基於由主機180提供的經更新的映射資訊來週期性地更新。
在一些實施例中,可以區塊及/或扇區級對資料進行加密及/或解密、將資料傳送至儲存元件及自儲存元件傳送資料、及/或對資料進行驗證。該些操作可由例如元件驅動器實行及/或監督,元件驅動器可在使用者、應用器、檔案系統、類似物及/或其組合可能不知曉加密的情況下對使用者、應用、檔案系統、類似物及/或其組合進行透明地操作。在一些其他實施例中,可以檔案級、物件級(例如,具有密鑰/值儲存)、其組合及/或類似物對資料進行加密及/或解密、將資料傳送至儲存元件及自儲存元件傳送資料、及/或對資料進行驗證。
在一些實施例中,加密卸載引擎可獨立於主機及/或儲存元件運作且管理位址轉換以保持原文使用者資料的加密影子。
如上所述且依據實施細節而定,根據本揭露的各種實施例可提供用於在一或多個儲存元件中以加密形式儲存資料的可靠、靈活、可擴縮及/或可信任的解決方案。
圖9示出根據本揭露的可用於實施加密卸載引擎的控制器的裝置的實施例。舉例而言,圖9中所示的裝置300可用於實施圖3中所示的控制器134。裝置300可包括CPU 302、記憶體304、儲存器306、加密處理器307、管理介面308及互連介面310。舉例而言,在一些實施例中,加密卸載引擎的所有功能可完全由CPU 302使用儲存於儲存器306中的軟體實施,而不使用可由加密處理器307提供的任何硬體加速。在一些其他實施例中,加密及/或解密可主要或完全由加密處理器307實行。映射表可儲存於記憶體304中,以在運行時用於短期使用且儲存於儲存器306中,以防止映射表在電源週期中丟失。在不同的實施例中,該些組件中的任意者可被省略或者可被包括於任何組件以及任何其他類型的組件的複件中或包括任何附加數目。
CPU 302可包括任意數目的核心、高速緩存(cache)、匯流排及/或互連介面及/或控制器。記憶體304可包括動態隨機存取記憶體(random access memory,RAM)及/或靜態RAM、非揮發性記憶體(例如,快閃記憶體)、其組合及/或類似記憶體的任何佈置形式。儲存器306可包括硬碟驅動機(HDD)、固態驅動機(SSD)及/或任何其他類型的資料儲存元件及/或其任意組合。管理介面308可包括可使使用者能夠輸入或改變認證代碼、更新韌體、查看事件日誌及/或實行可有助於監控加密卸載引擎的操作及/或驗證其完整性及可信度的任何其他功能的任何類型的裝置,例如交換機、小鍵盤、顯示器、連接器、其組合及/或類似裝置。系統300的任何或所有組件可經由系統匯流排301互連,系統匯流排301可被統稱為各種介面,包括電源匯流排、位址及資料匯流排、高速互連(例如串列進階技術附接(SATA)、周邊組件互連(PCI)、快速周邊組件互連(PCIe)、系統管理匯流排(SMB))以及可使組件在一個位置處在本地一起工作及/或分佈在不同位置之間一起工作的任何其他類型的介面。系統300亦可包括被佈置成使系統300的各種組件能夠一起工作來實施根據本揭露的加密卸載引擎的任何或所有特徵及/或功能的各種芯片組、介面、配接器、膠合邏輯、嵌入式控制器,例如可程式化或不可程式化邏輯元件或陣列、特殊應用積體電路(ASIC)、系統晶片(SOC)等。
本文中揭露的實施例可已在各種實施細節的上下文中進行闡述,但本揭露的原理並非僅限於該些或任何其他具體細節。舉例而言,一些功能已被闡述為由某些組件實施,但在其他實施例中,所述功能可分佈於位於不同位置且具有各種使用者介面的不同系統及組件之間。某些實施例已被闡述為具有特定的過程、步驟、其組合及/或類似物,但該些用語亦可囊括其中特定過程、步驟、其組合及/或類似物可使用多個過程、步驟、其組合及/或類似物實施或者其中多個過程、步驟、其組合及/或類似物可被整合至單個過程、步驟、其組合及/或類似物中的實施例。當提及組件或元件時可僅指組件或元件的一部分。除非上下文另外明確指示,否則在本揭露及申請專利範圍中使用例如「第一(first)」及「第二(second)」等用語可僅是為了區分所述用語所修飾的事物且可能並不指示任何空間次序或時間次序。提及第一事物可能並不表示存在第二事物。
根據本專利揭露的發明原理,可對上述各種細節及實施例進行組合以生成附加的實施例。由於可在不背離本發明概念的條件下對本專利揭露的發明原理進行佈置及細節上的潤飾,因此此種變更及潤飾被認為落於以下申請專利範圍的範圍內。
100、120、160、180:主機
102、162、182、302:中央處理單元(CPU)
104、164、184:快速周邊組件互連(PCIe)根複合體/根複合體
106、166:系統記憶體
108、168:PCIe交換機
110、170:固態驅動機(SSD)
112:內部加密(ENC)/解密(DEC)硬體 / 加密/解密硬體
122、130、172:加密卸載引擎
124:互連架構/架構
126:儲存元件
128:同級間連接
132:介面
134:控制器
136、307:加密處理器
138:映射表/初始映射表
165、167、173、198:PCIe鏈路
169:PCIe架構/PCIe交換機架構
188:區/寫入緩衝器
190:區/讀取緩衝器
192:區
193:寫入命令
194:提交佇列(SQ)
195:源位址
196:完成佇列
197:讀取命令
199:目的地位址
200、202、204、206、208、210、212、214、220、222、224、226、228、230、232、234、236、238、240、242:環節
300:裝置
301:系統匯流排
304:記憶體
306:儲存器
308:管理介面
310:互連介面
各圖未必按比例繪製,且出於例示目的,在所有圖中具有相似的結構或功能的部件一般由相同的參考編號表示。各圖僅旨在利於達成對本文中闡述的各種實施例的說明。各圖並未闡述本文中所揭露的教示的每個態樣,且不對申請專利範圍的範圍進行限制。為防止圖式變得模糊,可能並未示出所有的組件、連接等,且並非所有的組件皆可具有參考編號。然而,組件配置的圖案在圖式中可容易地顯而易見。附圖與說明書一同示出本揭露的示例性實施例,且與說明一同用於闡釋本揭露的原理。
圖1示出用於在自加密驅動機(SED)上儲存資料的系統的結構(architecture)。
圖2示出根據本揭露的用於提供經加密的資料儲存的系統的實施例。
圖3示出根據本揭露的加密卸載引擎的示例性實施例。
圖4示出根據本揭露的用於提供經加密的資料儲存的系統的示例性實施例。
圖5示出根據本揭露的主機系統的示例性實施例。
圖6示出根據本揭露的用於在儲存元件中儲存經加密的資料的方法的實施例。
圖7示出根據本揭露的用於自儲存元件讀取經加密的資料的方法的實施例。
圖8示出根據本揭露的用於對儲存於儲存元件處的資料的加密進行驗證的方法的實施例。
圖9示出根據本揭露的可用於實施加密卸載引擎的控制器的裝置的實施例。
200、202、204、206、208、210、212、214:環節
Claims (20)
- 一種方法,包括: 經由互連架構將資料自主機傳送至加密卸載引擎; 在所述加密卸載引擎處對來自所述主機的所述資料進行加密;以及 經由所述互連架構中的同級間連接將經加密的所述資料自所述加密卸載引擎傳送至儲存元件。
- 如請求項1所述的方法,更包括: 經由所述互連架構中的同級間連接將經加密的所述資料自所述儲存元件傳送至所述加密卸載引擎; 在所述加密卸載引擎處對來自所述儲存元件的經加密的所述資料進行解密;以及 經由所述互連架構將經解密的所述資料傳送至所述主機。
- 如請求項1所述的方法,更包括: 將經加密的所述資料自所述儲存元件傳送至所述主機;以及 在所述主機處對經加密的所述資料的加密進行驗證。
- 如請求項1所述的方法,其中: 來自所述主機的所述資料包括源位址;且 所述方法更包括將所述源位址映射至所述加密卸載引擎。
- 如請求項4所述的方法,其中: 所述儲存元件因應於來自所述主機的寫入命令而發起自所述加密卸載引擎至所述儲存元件的同級間傳送;且 所述加密卸載引擎使用映射表自所述主機取出所述資料。
- 如請求項2所述的方法,其中: 欲發送至所述主機的所述資料具有目的地位址;且 所述方法更包括將所述目的地位址映射至所述加密卸載引擎。
- 如請求項6所述的方法,其中: 所述儲存元件因應於來自所述主機的讀取命令而發起自所述加密卸載引擎至所述儲存元件的同級間傳送;且 所述加密卸載引擎使用映射表將經解密的所述資料傳送至所述主機。
- 一種系統,包括: 主機; 加密卸載引擎;以及 互連架構,被佈置成對所述主機、所述加密卸載引擎及一或多個儲存元件進行互連; 其中所述加密卸載引擎被配置成: 自所述主機接收資料; 對自所述主機接收的所述資料進行加密;以及 經由所述互連架構中的同級間連接將經加密的所述資料發送至所述一或多個儲存元件中的至少一個儲存元件。
- 如請求項8所述的系統,其中所述主機被配置成: 自所述至少一個儲存元件讀取經加密的所述資料;以及 對經加密的所述資料的加密進行驗證。
- 如請求項9所述的系統,其中所述主機被配置成藉由繞過所述加密卸載引擎中的映射表而自所述至少一個儲存元件讀取經加密的所述資料。
- 如請求項8所述的系統,其中: 所述系統更包括提交佇列,所述提交佇列被配置成容納來自所述主機的寫入命令;且 所述寫入命令包括欲寫入至所述至少一個儲存元件的資料的源位址。
- 如請求項11所述的系統,其中所述主機被配置成將所述源位址映射至所述加密卸載引擎。
- 如請求項8所述的系統,其中所述加密卸載引擎被配置成使映射表保持將使用所述至少一個儲存元件進行同級間傳送的資料映射至所述主機中的位址。
- 如請求項13所述的系統,其中同級間傳送與來自所述主機的寫入命令相關聯。
- 如請求項14所述的系統,其中: 所述至少一個儲存元件被配置成因應於來自所述主機的所述寫入命令而發起自所述加密卸載引擎的同級間傳送;且 所述加密卸載引擎被配置成自所述主機接收所述資料、對自所述主機接收的所述資料進行加密且因應於所述至少一個儲存元件發起同級間傳送而將經加密的所述資料發送至所述至少一個儲存元件。
- 如請求項8所述的系統,其中所述加密卸載引擎更被配置成: 經由所述互連架構中的同級間連接自所述一或多個儲存元件中的至少一個儲存元件接收經加密的資料; 對自所述至少一個儲存元件接收的經加密的所述資料進行解密;以及 將經解密的所述資料發送至所述主機。
- 如請求項16所述的系統,其中: 所述系統更包括提交佇列,所述提交佇列被配置成容納來自所述主機的讀取命令;且 所述讀取命令包括來自所述至少一個儲存元件的經解密的所述資料的目的地位址。
- 如請求項17所述的系統,其中所述主機被配置成將所述目的地位址映射至所述加密卸載引擎。
- 一種加密元件,包括: 介面,被配置成將所述加密元件耦合至具有同級間能力的互連系統;以及 控制器,耦合至所述介面且被配置成: 經由所述介面自主機接收資料; 對自所述主機接收的所述資料進行加密;以及 經由所述介面將經加密的所述資料發送至儲存元件。
- 如請求項19所述的加密元件,其中所述控制器更被配置成: 經由所述介面自所述儲存元件接收經加密的資料; 對自所述儲存元件接收的所述資料進行解密;以及 經由所述介面將經解密的所述資料發送至所述主機。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062967571P | 2020-01-29 | 2020-01-29 | |
US62/967,571 | 2020-01-29 | ||
US16/856,003 US11526618B2 (en) | 2020-01-29 | 2020-04-22 | Methods and apparatus for offloading encryption |
US16/856,003 | 2020-04-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202147136A true TW202147136A (zh) | 2021-12-16 |
Family
ID=76970198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109142626A TW202147136A (zh) | 2020-01-29 | 2020-12-03 | 卸載加密的方法及系統、以及加密元件 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11526618B2 (zh) |
KR (1) | KR20210097016A (zh) |
CN (1) | CN113190490A (zh) |
TW (1) | TW202147136A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022132184A1 (en) * | 2020-12-20 | 2022-06-23 | Intel Corporation | System, method and apparatus for total storage encryption |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194627B2 (en) | 2003-03-14 | 2007-03-20 | Broadcom Corporation | Method and system for data encryption and decryption |
US7496695B2 (en) | 2005-09-29 | 2009-02-24 | P.A. Semi, Inc. | Unified DMA |
US8175271B2 (en) * | 2007-03-30 | 2012-05-08 | Oracle America, Inc. | Method and system for security protocol partitioning and virtualization |
KR20090131696A (ko) | 2008-06-19 | 2009-12-30 | 삼성전자주식회사 | 암/복호화 장치 및 이를 포함하는 보안 저장 장치 |
US9195858B2 (en) | 2009-08-04 | 2015-11-24 | Seagate Technology Llc | Encrypted data storage device |
KR101451369B1 (ko) | 2011-04-29 | 2014-10-16 | 엘에스아이 코포레이션 | 암호화된 전송 고체 상태 디스크 제어기 |
US8972733B1 (en) * | 2013-03-07 | 2015-03-03 | Facebook, Inc. | Techniques to prime a stateful request-and-response communication channel |
AU2015229802A1 (en) | 2014-03-08 | 2016-10-06 | Diamanti, Inc. | Methods and systems for converged networking and storage |
US9304690B2 (en) | 2014-05-07 | 2016-04-05 | HGST Netherlands B.V. | System and method for peer-to-peer PCIe storage transfers |
US9489542B2 (en) | 2014-11-12 | 2016-11-08 | Seagate Technology Llc | Split-key arrangement in a multi-device storage enclosure |
US9210187B1 (en) | 2015-01-13 | 2015-12-08 | Centri Technology, Inc. | Transparent denial of service protection |
US9998978B2 (en) * | 2015-04-16 | 2018-06-12 | Visa International Service Association | Systems and methods for processing dormant virtual access devices |
US20190317802A1 (en) * | 2019-06-21 | 2019-10-17 | Intel Corporation | Architecture for offload of linked work assignments |
US11956348B2 (en) * | 2020-10-09 | 2024-04-09 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for security key management for I/O devices |
-
2020
- 2020-04-22 US US16/856,003 patent/US11526618B2/en active Active
- 2020-12-03 TW TW109142626A patent/TW202147136A/zh unknown
- 2020-12-11 KR KR1020200173188A patent/KR20210097016A/ko not_active Application Discontinuation
-
2021
- 2021-01-29 CN CN202110134921.7A patent/CN113190490A/zh active Pending
-
2022
- 2022-12-12 US US18/079,863 patent/US11934542B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN113190490A (zh) | 2021-07-30 |
US20210232694A1 (en) | 2021-07-29 |
US20230110633A1 (en) | 2023-04-13 |
KR20210097016A (ko) | 2021-08-06 |
US11934542B2 (en) | 2024-03-19 |
US11526618B2 (en) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11507681B2 (en) | Encryption for a distributed filesystem | |
US11151063B2 (en) | Host system directly connected to internal switching fabric of storage system | |
TWI620093B (zh) | 用於保全電腦大容量儲存資料的方法和裝置 | |
US10698844B1 (en) | Intelligent external storage system interface | |
US10698613B1 (en) | Host processing of I/O operations | |
US11500549B2 (en) | Secure host access to storage system resources via storage system interface and internal switching fabric | |
US9032218B2 (en) | Key rotation for encrypted storage media using a mirrored volume revive operation | |
US11288196B2 (en) | Efficient data read operation | |
US11636223B2 (en) | Data encryption for directly connected host | |
US10740259B1 (en) | Host mapping logical storage devices to physical storage devices | |
US20130198450A1 (en) | Shareable virtual non-volatile storage device for a server | |
US11741034B2 (en) | Memory device including direct memory access engine, system including the memory device, and method of operating the memory device | |
US11934542B2 (en) | Methods and apparatus for offloading encryption | |
KR102570581B1 (ko) | 스토리지 장치와 재구성 가능 로직 칩을 포함하는 스토리지 장치 세트 및 이를 포함하는 스토리지 시스템 | |
KR100676674B1 (ko) | 데이터 고속 입출력을 위한 데이터 입출력 가속 장치 및 그운용 방법 | |
US20220147470A1 (en) | System, device, and method for accessing memory based on multi-protocol | |
JP2023001076A (ja) | ストレージコントローラ、計算ストレージ装置及び計算ストレージ装置の動作方法 | |
US10970219B2 (en) | Host cache coherency when modifying data | |
US11294570B2 (en) | Data compression for having one direct connection between host and port of storage system via internal fabric interface | |
KR102484065B1 (ko) | 스토리지 컨트롤러 및 이를 포함하는 스토리지 시스템 | |
US11442860B2 (en) | Host cache coherency when reading data | |
US20240168675A1 (en) | Storage apparatus and method for data integrity | |
US11012473B1 (en) | Security module for auto-generating secure channels | |
US11599279B2 (en) | Information processing system and data transfer method |