CN113254370A - 用于验证存储设备的组件的设备和方法 - Google Patents

用于验证存储设备的组件的设备和方法 Download PDF

Info

Publication number
CN113254370A
CN113254370A CN202110177002.8A CN202110177002A CN113254370A CN 113254370 A CN113254370 A CN 113254370A CN 202110177002 A CN202110177002 A CN 202110177002A CN 113254370 A CN113254370 A CN 113254370A
Authority
CN
China
Prior art keywords
signal
connector
hardware component
storage device
hardware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110177002.8A
Other languages
English (en)
Inventor
S.P.奥拉里格
姚学斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN113254370A publication Critical patent/CN113254370A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Abstract

公开了一种被配置用于硬件验证的存储设备。存储设备包括:包括连接器和第一验证逻辑的第一硬件组件。第一验证逻辑被配置为检测标准并响应于检测到标准经由连接器生成第一信号。存储设备还包括经由连接器耦合到第一硬件组件的第二硬件组件。第二硬件组件包括第二验证逻辑,其中,第二验证逻辑被配置为经由连接器监视和接收第一信号。响应于接收到第一信号,第二验证逻辑被配置为将接收到的第一信号与预期信号进行比较并生成结果。存储设备被配置为响应于结果而采取动作。

Description

用于验证存储设备的组件的设备和方法
相关申请的交叉引用
本申请要求于2020年2月12日提交的题为“SYSTEMS,METHODS,AND APPARATUS FORPROVIDING LOCK-IN FEATURES FOR MODULAR STORAGE DEVICES”的美国临时申请No.62/975,616的优先权和权益,其全部内容通过引用并入本文。
技术领域
本公开的实施例的一个或多个方面涉及存储设备,并且更具体地,涉及验证存储设备的组件是否是已授权的和/或已验证的组件。
背景技术
可能期望使用计算存储设备(例如,具有嵌入式处理器的固态驱动器(SSD)或现场可编程门阵列(FPGA))进行各种数据处理任务,因为这样的存储设备可以帮助提供高效且成本有效的数据处理解决方案。例如,计算存储设备可以在存储设备自身内提供用于执行至少一部分数据处理功能(原本可以由主机CPU处理器执行)的平台。
因此,期望有一种用于快速确定计算存储设备的一个或多个组件是否是已验证的组件的系统和方法。
发明内容
本公开的实施例针对一种被配置用于硬件验证的存储设备。存储设备包括:包括连接器和第一验证逻辑的第一硬件组件。第一验证逻辑被配置为检测标准并响应于检测到标准经由连接器生成第一信号。存储设备还包括经由连接器耦合到第一硬件组件的第二硬件组件。第二硬件组件包括第二验证逻辑,其中第二验证逻辑被配置为经由连接器监视(monitor)和接收第一信号。响应于接收到第一信号,第二验证逻辑被配置为将接收到的第一信号与预期信号进行比较并生成结果。存储设备被配置为响应于结果而采取动作。
根据一个实施例,第一硬件组件包括现场可编程门阵列(FPGA)或专用集成电路中的至少一个,并且第二硬件组件包括非易失性存储器。
根据一个实施例,预期信号与存储在第二硬件组件的存储器中的标识符相关联。
根据一个实施例,连接器是支持快速外围组件互连(PCIe)协议的连接器。
根据一个实施例,标准是检测复位时段(period)的开始。
根据一个实施例,第一信号通过连接器的预设引脚提供。
根据一个实施例,结果包括对接收到的第一信号与预期信号匹配的指示,并且动作包括启用存储设备的加速特征。
根据一个实施例,结果包括对接收到的第一信号与预期信号不匹配的指示,并且动作包括禁用存储设备的加速特征。
根据一个实施例,结果包括对接收到的第一信号与预期信号不匹配的指示,并且动作包括在显示设备上显示通知。
根据一个实施例,第二硬件组件经由第二连接器耦合到主机。
本公开的实施例针对一种通过存储设备进行硬件验证的方法。该方法包括:经由第一硬件组件中的第一验证逻辑检测标准;响应于检测到标准,经由第一硬件组件中的连接器生成第一信号;通过第二硬件组件中的第二验证逻辑,监视并接收第一信号,第二硬件组件经由连接器耦合到第一硬件组件;以及响应于接收到第一信号,通过第二验证逻辑将接收到的第一信号与期望信号进行比较,并生成结果,其中,存储设备被配置为响应于结果而采取动作。
如本领域技术人员应认识到的,本公开的实施例提供了一种用于快速确定计算存储设备的一个或多个组件是否是已验证的组件的机制。例如,这可以帮助避免由于使用未已验证的组件而导致的不可预测的设备行为或故障。
附图说明
参考以下附图描述了本实施例的非限制性和非穷举性的实施例,其中,除非另外指定,否则贯穿各个视图,相同的附图标记指代相同的部分。
图1A-图1C是根据一个示例性实施例的具有模块化组件的示例性计算存储设备的框图;
图2是根据一个示例性实施例的用于执行对计算存储设备的模块化组件的硬件验证的验证模块的框图;
图3是根据示例性实施例的配置有图2的验证模块的图1的示例性计算存储设备的框图;
图4是根据一个示例性实施例的示例性信令图;以及
图5是根据一个示例性实施例的硬件验证处理的流程图。
具体实施方式
在下文中,将参考附图更详细地描述示例实施例,其中,相似的附图标记始终指代相似的元件。然而,本发明可以以各种不同的形式体现,并且不应被解释为仅限于本文中示出的实施例。相反,提供这些实施例作为示例,使得本公开将是透彻和完整的,并且将向本领域技术人员充分传达本公开的各方面和特征。因此,可能不会描述对于完全理解本公开的各方面和特征而言对于本领域的普通技术人员不必要的过程、元件和技术。除非另有说明,否则在整个附图和书面描述中,相同的附图标记表示相同的元件,因此,可以不重复对相同的附图标记的描述。此外,在附图中,为了清楚起见,可能放大和/或简化元件、层和区域的相对尺寸。
计算存储设备有时在设计或构造上可以是模块化的。在这种情况下,计算存储设备可以由不同的可移动组件构成,例如,包括存储组件(例如固态存储器)和处理组件(例如现场可编程门阵列(FPGA))。可以从不同的供应商获得计算存储设备的模块化组件。这样,有可能尝试从未授权的/不合格的供应商构造计算存储设备,这可能会损害所构造的计算存储设备的质量。
概括而言,本公开的实施例针对一种用于经由硬件检测形成计算存储设备的部分的存储设备(例如,SSD)或处理器设备(例如,FPGA)是否是已授权的组件的系统和方法。例如,验证处理可以在计算存储设备的全部或部分的复位期间执行。例如,可以执行验证处理,以在FPGA已经下载了将FPGA配置为以预定方式操作的图像和/或比特文件之前,验证设备是否具有已授权的组件。
在一个实施例中,可以经由包括在处理器设备和存储设备中的硬件验证逻辑来验证。硬件验证逻辑可以被配置为利用将存储设备连接到处理器设备的连接器(例如,U.2连接器等)的预留引脚。在一个实施例中,预留引脚可以包括U.2连接器的引脚E6。
根据一个实施例,目标的发起方进行的硬件验证在复位时段期间发生。发起方可以是如NVMe标准所描述的发起方,尽管本公开的实施例不限于此。发起方可以是处理器设备,目标是存储设备,反之亦然。例如,当将设备插入计算机系统的插槽而不停止或关闭系统时,或者重新引导整个计算机系统时,复位时段可能发生。在复位时段期间,发起方可以被配置为监视预留引脚,以确定是否通过该引脚检测到活动。在一个实施例中,已授权的目标利用验证ID(也被称为验证信号)来驱动预留引脚,该验证ID通知发起方该目标是已授权的设备。例如,验证ID可以包括预定波形图案/信号。响应于验证目标是已授权的设备,发起方可以启用设备的某些功能,如果没有这种验证,则功能将无法启用。例如,功能可以包括下载专有比特文件和/或启用特定加速特征。
图1A-图1C是根据一个示例性实施例的具有模块化硬件组件的示例性计算存储设备100a-100c(统称为100)的框图。本文所描述的各种模块化组件也可以被称为硬件组件。
图1A的计算存储设备100a包括模块化存储组件102,该模块化存储组件102可以可移除地耦合到一个或多个处理器组件104a、104b。例如,模块化存储组件102可以是包括存储控制器106和各种闪存驱动器108的SSD。例如,SDD可以是非易失性快速存储器(NVMe)SSD、NVMe Over Fabrics(NVMe-oF)-兼容以太网SSD(eSSD),或任何其他合适的持久性(非易失性)存储器设备。
例如,一个或多个处理器组件104a、104b可以包括一个或多个FPGA110a、110b。在一些实施例中,可以附加地或代替FPGA来使用本领域中常规的图形处理单元(GPU)、张量处理单元(TPU)和/或另一专用集成电路(ASIC)。
在图1A的示例中,模块化存储组件102通过连接器111a连接到主机设备,例如,该连接器可以是小形状因子技术关联100x(small-form-factor-technology-affiliate-100x,SFF-TA-100X)连接器(其中X是等于2、6、7、8等的整数值)。用户可以通过按需将一个或多个处理器组件104a、104b添加到存储组件102来创建选择的计算存储设备。
在一个实施例中,模块化存储组件102通过连接器112a、112b连接到一个或多个处理器组件104a、104b。连接器112a、112b可以是标准连接器,诸如U.2、M.2、下一代小形状因子(NF1)或企业和数据中心SSD形状因子(EDSFF)连接器。例如,存储组件102与一个或多个处理器组件104a、104b之间的通信可以经由连接器112a、112b,在PCIe链路114a、114b上发生。
图1B的示例中的计算存储设备100b包括模块化处理器组件120,该模块化处理器组件120可以通过连接器124a-124d可移除地耦合到一个或多个模块化存储组件122a-122d(统称为122)。例如,模块化处理器组件120中的处理器设备可以是FPGA,并且例如,一个或多个模块化存储组件122可以是SSD。在图1B的示例中,处理器组件120通过连接器111b连接到主机设备。用户可以通过按需将一个或多个模块化存储组件122添加到处理器组件120来创建选择的计算存储设备。
除了双处理器组件130a、130b通过具有双端口配置的连接器134耦合到存储组件132之外,图1C的计算存储设备100c可以类似于(但不一定相同于)图1A的计算存储设备100a。例如,连接器可以是U.2连接器或PCIe接口。在图1C的示例中,处理器组件130a、130b通过连接器111c连接到主机设备。用户可以通过按需将选择的模块化存储组件132添加到处理器组件130a、130b来设计选择的计算存储设备。
在图1A-图1C的示例中的计算存储设备100的模块化配置中,可以从未授权的/不合格的供应商获得特定的模块化组件是可能的,这可能例如损害计算存储设备的质量(例如性能)。因此,可能期望有一种用于确定计算存储设备的一个或多个组件是否是已验证的组件的系统和方法。一旦添加的模块化组件被验证为已授权的组件,则可以启用某些加速特征,例如,诸如计算存储设备的压缩和/或加密功能。
在一个实施例中,在无法验证所添加的模块化组件的情况下,计算存储设备可以被配置为下载或例如,以其他方式接收标准FPGA比特文件,而无需下载专有FPGA比特文件。例如,这可以允许计算存储设备按其通常的方式运行,但是不具有加速能力。设备可以另外发送消息,向用户或应用通知所添加的设备是未授权的。
图2是根据一个示例性实施例的用于执行对计算存储设备的模块化组件的硬件验证的验证模块200a、200b(统称为200)的框图。在一个实施例中,验证模块200被安装在发起方组件和目标组件中。验证模块可以分别包括硬件验证逻辑202a、202b(统称为202),例如,硬件验证逻辑202a、202b可以被描述为状态机。
在一个实施例中,验证模块200还包括复用器204a、204b(统称为204)。可以由相应的硬件验证逻辑202和预留引脚208来提供对复用器204中的特定一个的输入。在一个实施例中,预留引脚208是连接器210(类似于连接器112、124、134)的预留引脚。当连接器被实现为U.2连接器时,引脚208可以是被定义为预留(RSVD)引脚(或任何其他合适的引脚)的引脚“E6”。尽管U.2连接器被用作用于将处理器模块连接到存储模块的连接器的示例,但是本领域技术人员应该认识到,该连接器也可以是具有一个或多个预留引脚的M.2或NF1连接器。
复用器204a、204b的输出耦合到连接器210的预留引脚208。复位引脚206可以控制复用器204a、204b,从而当复位引脚206被断言(assert)(例如被断言为低)时,在复位时段期间选择硬件验证逻辑202的输出。当复位引脚206被取消断言(de-assert)时,复用器通过预留的引脚208发送指示机架类型(chassis type)的信号。
在一个实施例中,发起方和目标设备中的硬件验证逻辑202响应于主机处理器的复位而初始化验证周期。在一个实施例中,复位驱动复位引脚206被断言为低,使得复用器204选择硬件验证逻辑202以在复位期间经由连接器210的预留引脚208进行通信。
在一个实施例中,发起方是首先被安装在主机上以寻求对目标的验证的设备,该设备可以是后来添加的模块化组件。处理器组件或存储组件之一可以是发起方或目标。在一个示例中,发起方是图1B、图1C的处理器组件120、130,并且目标是图1B、图1C的存储组件122、132。在另一个示例中,发起方是图1A的存储组件102,并且目标是图1A的处理器组件110。
为了说明的目的,假设发起方是FPGA并且目标是SSD,则发起方可以在发生复位时执行来自非易失性存储器设备的硬件验证逻辑202a,例如,包括验证标识符(ID)。例如,非易失性存储器设备可以是电可擦除可编程只读存储器(EEPROM)。下载的原因可能是复位清除了FPGA中已编程的所有逻辑。
在一个实施例中,发起方的硬件验证逻辑202a在复位时段期间监视预留引脚208,以监视引脚208上的活动。监视可能会持续进行,直到预留引脚不再为断言为低为止。
现在转向目标,与发起方一样,复用器204b响应于复位引脚206被断言为低而在SSD中选择硬件验证逻辑202b以通过连接器208与FPGA通信。在一个实施例中,假设目标是要验证的设备,则硬件验证逻辑202b在复位时段期间利用验证ID来驱动连接器208的预留引脚208。在一个实施例中,目标的硬件验证逻辑202b从FPGA或主机处理器等接收要经由预留引脚208发送的验证ID。
FPGA的硬件验证逻辑202a检测被监视的预留引脚208上的验证ID,并将接收到的验证ID与从存储器设备下载的预期验证ID进行比较。如果验证ID不匹配,则对目标SSD的验证失败。FPGA的硬件验证逻辑202a可以将失败的验证处理的结果写入定义的寄存器位置。例如,可以将“未验证”的结果写入定义的寄存器位置。然而,如果验证成功,则FPGA的硬件验证逻辑202a可以被配置为将“已验证”状态写入定义的寄存器位置。
在一个实施例中,FGPA可以在采取某些动作之前检查定义的寄存器位置中的验证结果。例如,这样的动作可以是在引导序列期间是否下载除标准比特文件之外的专有比特文件,和/或启用或禁用FPGA的某些加速特征,包括压缩、加密等。取决于验证结果可以启用或禁用的其他加速特征可以包括,例如,启用/禁用双倍数据速率第四代同步动态随机访问(DDR4)信道(如果支持)、启用/禁用高带宽存储器(HBM)(如果存在)等。
图3是根据示例性实施例的配置有图2的验证模块200a、200b的图1A的示例性计算存储设备的框图。由存储组件102执行的硬件验证逻辑202a可以被合并到在冷重启期间由存储控制器运行的初始化逻辑中。由处理器组件104执行的硬件验证逻辑202a可以被存储在诸如EEPROM的非易失性存储器中,并且在复位时被加载到FPGA110。
在一个实施例中,复用器204a、204b分别被结合到存储组件102和处理器组件104中。在一些实施例中,复用器204a、204b可以位于存储组件和/或处理器组件之外。
图4是根据一个示例性实施例的验证模块200的示例性信令图。在特定时钟周期400的上升,复位引脚206被断言为低402,并且复位时段开始。例如,复位时段可以持续几秒。在一个实施例中,重启的设备在复位期间没有活动发生,并且活动的缺失会被目标设备的发起方用来执行验证。在一个示例中,目标设备中的硬件验证逻辑202b基于验证ID所指示的预定模式,使预留引脚208从低状态404被驱动到高状态406所需的次数。在一个实施例中,最低要求可以是在至少一个时钟周期内将引脚从低状态驱动至高状态,并在至少另一时钟周期内将引脚从高状态驱动至低状态。
在复位时段期间监视预留引脚208的发起方接收验证ID。在一个实施例中,当在预留引脚208上接收到第一信号时,发起方调用固定计数器。当固定计数器达到与预期验证ID的大小相对应的特定值时,发起方得出已接收到所有验证ID的结论。此外,发起方可以使预留引脚208(未示出)被驱动到低状态408。例如,这可以发生在复位时段的期满之前。发起方将接收到的验证ID与预期验证ID进行比较,以确定是否匹配。
在一个实施例中,当复位引脚206不再被断言为低时410(例如,在复位时段的期满时),预留引脚208用于提供机架类型。例如,处于低状态的预留引脚208可以指示NVMe的机架类型,而处于高状态的预留引脚可以指示NVMe-oF的机架类型。
图5是根据一个示例性实施例的硬件验证处理的流程图。应当理解,该处理的步骤顺序不是固定的,而是可以被改变为本领域技术人员承认的任何所需顺序。
在动作500中,复位由主机处理器对特定插槽(例如,响应于主机将设备插入插槽中)或对整个系统来断言。
在动作502中,响应于复位,发起方和目标中的硬件验证逻辑202a、202b被初始化。在一个实施例中,对关于计算存储设备的哪个模块化组件是发起方,以及哪个模块化组件是目标的确定可以取决于首先连接到主机设备的设备。在一个实施例中,作为发起方或目标的模块可以经由可编程引脚配置。
在动作504中,发起方的硬件验证逻辑202a监视预留引脚208,以确定目标是否是已授权目标。在一个实施例中,发起方的硬件验证逻辑202a将经由预留引脚208接收到的信号与发起方预期的验证ID进行比较。如果接收到的信号与预期验证ID匹配,则可以认为目标已被授权,并且“已验证”状态可以存储在特定寄存器位置中。
在动作506中,响应于验证目标,发起方采取允许与已授权目标一起执行的一个或多个动作。例如,这样的操作可以包括在引导序列期间下载专有于提供FPGA的供应商的FPGA比特文件(除了标准FPGA比特文件之外),并继续PCIe链接训练序列以在发起方和目标设备之间建立高速I/O连接。其他动作可能包括启用处理器组件的加速特征,启用DDR4信道和/或启用高带宽存储器。
再次参考动作504,如果发起方的硬件验证逻辑202a(例如,由于接收到的验证ID与预期验证ID不匹配)不能验证目标,则在动作508中,硬件验证逻辑202a将“未验证”状态存储在特定寄存器位置中。
在动作510中,发起方响应于目标组件验证失败而采取一个或多个动作。例如,这样的操作可以包括通过下载标准FPGA比特文件而不下载专有FPGA比特文件来进行引导序列,禁用FPGA的某些加速特征(例如压缩、加密等),禁用DDR4信道和/或禁用HBM(如果存在)。以这种方式,具有未验证目标组件的计算存储设备可以起作用,但是能力有限。
在一个实施例中,在动作512中发送通知,以通知用户目标设备不是已授权设备。例如,通知可以作为基本输入输出系统(BIOS)的功能的部分显示给用户。
将理解,尽管术语“第一”、“第二”,“第三”等在本文中可用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受到这些术语的限制。这些术语仅用于区分一个元件、组件、区域、层或部分与另一元件、组件、区域、层或部分。因此,在不脱离本发明构思的精神和范围的情况下,本文中讨论的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分。
本文所使用的术语仅出于描述特定实施例的目的,并不旨在限制本发明构思。如本文中所使用,术语“基本上”、“大约”和类似术语被用作近似术语而不是程度术语,并且本领域普通技术人员将认识到这些术语旨在解释测量值或计算值中的固有偏差。
如本文所使用的,单数形式“一”和“一个”也意图包括复数形式,除非上下文另有明确指示。还将理解,当在本说明书中使用时,术语“包括”和/或“包含”指定了所述特征、整数、步骤、操作、元件和/或组件的存在,但不排除对一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。如本文所使用的,术语“和/或”包括相关联的所列项目中的一个或多个的任何和所有组合。当诸如“至少一个”的表达在元素列表之前时,修饰整个元素列表并且不修饰列表中的各个元素。此外,当描述本发明构思的实施例时,对“可以”的使用是指“本公开的一个或多个实施例”。此外,术语“示例性”旨在指示例或说明。如本文所使用的,术语“使用”和“使用了”可以分别被认为与术语“利用”和“利用了”同义。
将理解,当元件或层被称为在另一元件或层“上”、“连接至”、“耦合至”或“邻近”另一元件或层时,元件或层可以直接在另一元件或层上,连接至,耦合至或邻近另一元件或层,或者可以存在一个或多个中间元件或层。相反,当元件或层被称为“直接在”另一元件或层“上”、“直接连接至”、“直接耦合至”或“紧邻”另一元件或层时,不存在中间元件或层。
本文所述的任何数值范围旨在包括包含在所述范围内的相同数值精度的所有子范围。例如,范围“1.0到10.0”旨在包括所述最小值1.0和所述最大值10.0之间的所有子范围(即,最小值等于或大于1.0且最大值等于或小于10.0),例如2.4至7.6。本文所述的任何最大数值限制旨在包括其中包含的所有较低数值限制,并且本说明书中所述的任何最小数值限制旨在包括其中包含的所有较高数值限制。
尽管本文已经具体描述和示出了用于验证模块化计算存储设备的组件的系统和方法的示例性实施例,但是多种修改和变型对于本领域技术人员将是清楚的。因此,应当理解,除了本文具体描述的以外,可以体现用于验证根据本公开的原理所构造的模块化计算存储设备的组件的系统和方法。本公开也在所附权利要求及其等同物中限定。

Claims (20)

1.一种存储设备,被配置用于硬件验证,包括:
第一硬件组件,包括连接器和第一验证逻辑,所述第一验证逻辑被配置为检测标准并响应于检测到所述标准经由所述连接器生成第一信号;以及
第二硬件组件,经由所述连接器耦合到所述第一硬件组件,所述第二硬件组件包括第二验证逻辑,所述第二验证逻辑被配置为经由所述连接器监视和接收所述第一信号,
其中,响应于接收到所述第一信号,所述第二验证逻辑被配置为将接收到的第一信号与预期信号进行比较并生成结果,
其中,所述存储设备被配置为响应于所述结果而采取动作。
2.根据权利要求1所述的设备,其中,所述第一硬件组件包括现场可编程门阵列(FPGA)或专用集成电路中的至少一个,并且所述第二硬件组件包括非易失性存储器。
3.根据权利要求1所述的设备,其中,所述预期信号与存储在所述第二硬件组件的存储器中的标识符相关联。
4.根据权利要求1所述的设备,其中,所述连接器是支持快速外围组件互连(PCIe)协议的连接器。
5.根据权利要求1所述的设备,其中,所述标准是检测复位时段的开始。
6.根据权利要求1所述的设备,其中,所述第一信号通过所述连接器的预设引脚提供。
7.根据权利要求1所述的设备,其中,所述结果包括对接收到的第一信号与预期信号匹配的指示,并且所述动作包括启用所述存储设备的加速特征。
8.根据权利要求1所述的设备,其中,所述结果包括对接收到的第一信号与预期信号不匹配的指示,并且所述动作包括禁用所述存储设备的加速特征。
9.根据权利要求1所述的设备,其中,所述结果包括对接收到的第一信号与预期信号不匹配的指示,并且所述动作包括在显示设备上显示通知。
10.根据权利要求1所述的设备,其中,所述第二硬件组件经由第二连接器耦合到主机。
11.一种通过存储设备进行硬件验证的方法,所述方法包括:
经由第一硬件组件中的第一验证逻辑检测标准;
响应于检测到所述标准,经由所述第一硬件组件中的连接器生成第一信号;
通过第二硬件组件中的第二验证逻辑,监视并接收所述第一信号,所述第二硬件组件经由所述连接器耦合到所述第一硬件组件;以及
响应于接收到所述第一信号,通过所述第二验证逻辑将接收到的第一信号与期望信号进行比较,并生成结果,其中,所述存储设备被配置为响应于所述结果而采取动作。
12.根据权利要求11所述的方法,其中,所述第一硬件组件包括现场可编程门阵列(FPGA)或专用集成电路中的至少一个,并且所述第二硬件组件包括非易失性存储器。
13.根据权利要求11所述的方法,其中,所述预期信号与存储在存储器中的标识符相关联。
14.根据权利要求11所述的方法,其中,所述连接器是支持快速外围组件互连(PCIe)协议的连接器。
15.根据权利要求11所述的方法,其中,所述标准是检测复位时段的开始。
16.根据权利要求11所述的方法,其中,所述第一信号通过所述连接器的预设引脚提供。
17.根据权利要求11所述的方法,其中,所述结果包括对接收到的第一信号与预期信号匹配的指示,并且所述动作包括启用所述存储设备的加速特征。
18.根据权利要求11所述的方法,其中,所述结果包括对接收到的第一信号与预期信号不匹配的指示,并且所述动作包括禁用所述存储设备的加速特征。
19.根据权利要求11所述的方法,其中,所述结果包括对接收到的第一信号与预期信号不匹配的指示,并且所述动作包括在显示设备上显示通知。
20.根据权利要求11所述的方法,其中,所述第二硬件组件经由第二连接器耦合到主机。
CN202110177002.8A 2020-02-12 2021-02-07 用于验证存储设备的组件的设备和方法 Pending CN113254370A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062975616P 2020-02-12 2020-02-12
US62/975,616 2020-02-12
US16/837,942 US11593240B2 (en) 2020-02-12 2020-04-01 Device and method for verifying a component of a storage device
US16/837,942 2020-04-01

Publications (1)

Publication Number Publication Date
CN113254370A true CN113254370A (zh) 2021-08-13

Family

ID=74418246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110177002.8A Pending CN113254370A (zh) 2020-02-12 2021-02-07 用于验证存储设备的组件的设备和方法

Country Status (6)

Country Link
US (2) US11593240B2 (zh)
EP (1) EP3866038A1 (zh)
JP (1) JP2021128773A (zh)
KR (1) KR20210102844A (zh)
CN (1) CN113254370A (zh)
TW (1) TW202203022A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11593240B2 (en) * 2020-02-12 2023-02-28 Samsung Electronics Co., Ltd. Device and method for verifying a component of a storage device
US11625276B2 (en) * 2021-01-08 2023-04-11 Dell Products L.P. System and method to utilize high bandwidth memory (HBM)

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353108A (ja) 1999-06-11 2000-12-19 Fujitsu Ltd 情報処理装置
US7845016B2 (en) 2005-11-28 2010-11-30 Cisco Technology, Inc. Methods and apparatus for verifying modules from approved vendors
US7877788B1 (en) * 2006-02-27 2011-01-25 Teradici Corporation Method and apparatus for securing a peripheral data interface
US8155649B2 (en) 2006-05-12 2012-04-10 Shared Spectrum Company Method and system for classifying communication signals in a dynamic spectrum access system
WO2007147170A2 (en) * 2006-06-16 2007-12-21 Bittorrent, Inc. Classification and verification of static file transfer protocols
JP4833907B2 (ja) * 2007-04-23 2011-12-07 ルネサスエレクトロニクス株式会社 半導体装置
JP5252074B2 (ja) * 2009-03-10 2013-07-31 富士通株式会社 送受信装置、データの送受信方法
US8688926B2 (en) 2010-10-10 2014-04-01 Liqid Inc. Systems and methods for optimizing data storage among a plurality of solid state memory subsystems
WO2012122994A1 (en) 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
US8875280B2 (en) 2011-10-14 2014-10-28 International Business Machines Corporation Protecting an electronic device against unathorized hardware use
US20140059278A1 (en) 2011-11-14 2014-02-27 Lsi Corporation Storage device firmware and manufacturing software
TWI472912B (zh) * 2012-09-11 2015-02-11 Univ Nat Cheng Kung 以電路內部事件作為觸發條件之除錯控制系統及其方法
US11009550B2 (en) 2013-02-21 2021-05-18 Advantest Corporation Test architecture with an FPGA based test board to simulate a DUT or end-point
KR101537759B1 (ko) 2013-09-30 2015-07-22 국방과학연구소 지상무인체계 시뮬레이터 및 그 운용방법
US9462469B2 (en) * 2014-04-21 2016-10-04 Arm Limited Systems and methods for short range wireless data transfer
US9524108B2 (en) 2014-08-29 2016-12-20 Dell Products, Lp System and method for providing personality switching in a solid state drive device
US20170220499A1 (en) 2016-01-04 2017-08-03 Gray Research LLC Massively parallel computer, accelerated computing clusters, and two-dimensional router and interconnection network for field programmable gate arrays, and applications
US10396991B2 (en) * 2016-06-30 2019-08-27 Microsoft Technology Licensing, Llc Controlling verification of key-value stores
JP6741947B2 (ja) 2016-09-29 2020-08-19 富士通株式会社 情報処理装置、診断制御装置および通信装置
US10838902B2 (en) 2017-06-23 2020-11-17 Facebook, Inc. Apparatus, system, and method for performing hardware acceleration via expansion cards
US20190129882A1 (en) 2017-10-30 2019-05-02 NVXL Technology, Inc. Multi-connector module design for performance scalability
US20190042480A1 (en) * 2018-02-05 2019-02-07 Intel Corporation Method for non-volatile memory and memory controller secured and authenticated pairing
US10915469B2 (en) 2018-03-09 2021-02-09 Samsung Electronics Co., Ltd. Method and apparatus for supporting a field programmable gate array (FPGA) based add-in-card (AIC) solid state drive (SSD)
US11593240B2 (en) * 2020-02-12 2023-02-28 Samsung Electronics Co., Ltd. Device and method for verifying a component of a storage device
US11468181B2 (en) * 2020-04-21 2022-10-11 Microsoft Technology Licensing, Llc Secure access to accessory device resources

Also Published As

Publication number Publication date
US11593240B2 (en) 2023-02-28
EP3866038A1 (en) 2021-08-18
TW202203022A (zh) 2022-01-16
US20210248049A1 (en) 2021-08-12
JP2021128773A (ja) 2021-09-02
US20230168984A1 (en) 2023-06-01
KR20210102844A (ko) 2021-08-20

Similar Documents

Publication Publication Date Title
CN107025406B (zh) 母板、计算机可读存储装置以及固件验证方法
US20230168984A1 (en) Device and method for verifying a component of a storage device
CN109446815B (zh) 基本输入输出系统固件的管理方法、装置和服务器
US20190073478A1 (en) Hardware-enforced firmware security
KR101407835B1 (ko) 플랫폼 독립적인 메모리 로직의 제공
US9015455B2 (en) Processsor integral technologies for BIOS flash attack protection and notification
US8006100B2 (en) Enhancing trusted platform module performance
US11686767B2 (en) System, apparatus and method for functional testing of one or more fabrics of a processor
KR100543268B1 (ko) 컴퓨터 시스템의 보안성을 향상시키는 보안용 코프로세서
US20190236279A1 (en) Perform security action based on inventory comparison
TWI542992B (zh) 用以確保平臺矽組態完整性之方法與設備
US10902127B2 (en) Method and apparatus for secure boot of embedded device
CN112789574B (zh) 经由系统及电源管理微控制器的安全启动
KR100872175B1 (ko) Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법
US8838952B2 (en) Information processing apparatus with secure boot capability capable of verification of configuration change
US20180349310A1 (en) HOT PLUGGING PERIPHERAL CONNECTED INTERFACE EXPRESS (PCIe) CARDS
CN111158767A (zh) 基于bmc的服务器安全启动方法及装置
US20210294772A1 (en) Systems, Apparatus And Methods For Rapid Peripheral Component Interconnect Express (PCIE) System Boot
US10860512B2 (en) Processor interconnect link training system
US20240104214A1 (en) Systems and methods for updates during firmware authentication
US20230281302A1 (en) Module and method for monitoring systems of a host device for security exploitations
US20240134995A1 (en) Systems and methods for context-aware vulnerability risk scores
CN117632279A (zh) 安全启动过程

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination