CN108694022B - 用于识别具有最低尾延迟的固态盘的系统和方法 - Google Patents

用于识别具有最低尾延迟的固态盘的系统和方法 Download PDF

Info

Publication number
CN108694022B
CN108694022B CN201810315468.8A CN201810315468A CN108694022B CN 108694022 B CN108694022 B CN 108694022B CN 201810315468 A CN201810315468 A CN 201810315468A CN 108694022 B CN108694022 B CN 108694022B
Authority
CN
China
Prior art keywords
information
requests
storage device
management controller
controller
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.)
Active
Application number
CN201810315468.8A
Other languages
English (en)
Other versions
CN108694022A (zh
Inventor
拉姆达斯·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 CN108694022A publication Critical patent/CN108694022A/zh
Application granted granted Critical
Publication of CN108694022B publication Critical patent/CN108694022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了用于识别具有最低尾延迟的固态盘的系统和方法。一种存储设备可以包括用于存储数据的存储器以及用于管理从存储器读取数据和向存储器写入数据的控制器。该控制器还可以包括:接收器,用于接收多个请求:信息确定逻辑,用于确定关于所述多个请求的信息;存储器,用于存储关于多个请求的信息;以及共享逻辑,用于与管理控制器共享所述信息。

Description

用于识别具有最低尾延迟的固态盘的系统和方法
相关申请的交叉引用
本申请要求2017年4月11日提交的美国临时专利申请No.62/484,387的优先权,其公开内容通过引用其全部合并于此。
技术领域
本发明构思总体而言涉及一种固态盘(SSD),更具体地,涉及管理具有不同能力的SSD。
背景技术
对于超大规模用户(hyperscaler)而言,固态盘(SSD)的非确定性行为(尤其是尾延迟(tail latency))是主要问题。即使尾延迟可能仅影响一小部分请求,尾延迟(在最差或接近最差的存储设备性能的情况下)也可能会对超大规模应用的整体性能产生不利影响。
为了解决诸如尾延迟等问题,超大规模用户可以要求并且确实要求他们使用的存储设备中的特定功能。但是不同的存储设备供应商可能以不同的方式实现这些功能。因此,在存储设备中这些功能的性能可能在各供应商之间有所不同,甚至在由特定供应商提供的各存储设备之间有所不同。
基于这些功能的性能,单个供应商可能会对其提供的存储设备进行分类。例如,单个供应商可能能够基于尾延迟对其存储设备进行分类,从而将特定的存储设备提供标识为提供顶级、中级和最低级性能。供应商甚至有可能就存储设备分类标准达成一致,以便可以将来自一家供应商的“顶级”存储设备与来自另一家存储器供应商的“顶级”存储设备相媲美。
但是这种方法存在问题。首先,不同的存储设备可能提供不同的功能。如果来自一个供应商的一个存储设备型号实现两个不同的所要求的功能,而来自另一个供应商的另一个存储设备型号只实现一个所要求的功能,那么这两种型号的存储设备是否可以相提并论呢?其次,即使是来自单个供应商的特定存储设备型号,制造差异也可能导致不同的性能水平,这意味着对相同型号的两个不同设备进行不同地分类可能是更恰当的,实际而言在不对存储设备进行严格测试的情况下可能无法确定。第三,使用“一刀切”的分类系统可能无法满足个别超大规模用户的需要。随着企业更多地租用计算资源并减少自己购买服务器,供应商更加可能需要为不同的用户改变其工作负荷。
仍然需要一种方法来确定存储设备的性能特征以用于数据中心进行分类。
发明内容
本发明构思的实施例包括一种存储设备,包括:存储器,用于存储数据;存储设备控制器,用于响应于多个请求来管理从所述存储器读取数据和向所述存储器写入数据。所述存储设备控制器包括:存储器,用于存储多个请求的信息;接收器,用于接收多个请求;信息确定逻辑,用于确定关于所述多个请求中的每一个的信息;以及共享逻辑,用于与管理控制器共享关于所述多个请求中的每一个的信息。
本发明构思的实施例包括一种方法,包括:在存储设备处接收多个请求;在所述存储设备上执行所述多个请求中的每一个;从所述存储设备返回所述多个请求中的每一个的结果;确定所述多个请求中的每一个的信息,其中所述信息描述在所述存储设备上执行所述多个请求中的每一个时所述存储设备的性能;以及与管理控制器共享所述信息。
本发明构思的实施例包括具有非暂时性存储介质的产品,所述非暂时性存储介质上存储有指令,所述指令在由机器执行时使得:在存储设备处接收多个请求;在所述存储设备上执行所述多个请求中的每一个;从所述存储设备返回所述多个请求中的每一个的结果;确定所述多个请求中的每一个的信息,其中,所述信息描述在所述存储设备上执行所述多个请求中的每一个时所述存储设备的性能;以及与管理控制器共享所述信息。
附图说明
图1示出了根据本发明构思的实施例的具有存储设备和基板管理控制器(BMC)的机器。
图2示出了图1的机器的额外细节。
图3示出了图1的机器中的若干个存储设备管理与图1的BMC的控制通信。
图4示出了作为图1的存储设备的固态盘(SSD)的细节。
图5示出了图4的SSD控制器的细节。
图6示出了关于图1的存储设备可跟踪的各种信息。
图7示出了关于图1的存储设备中的请求的读取延时的细节。
图8示出了图5的信息确定逻辑收集关于各种请求的信息来传送给图1的BMC。
图9示出了图5的共享逻辑的细节。
图10示出了根据本发明构思的实施例的图1的存储设备跟踪关于图1的存储设备的性能的信息并与图1的BMC共享该信息的示例过程的流程图。
图11和图12示出了根据本发明构思的实施例的图1的存储设备与图1的BMC共享信息的示例过程的流程图。
具体实施方式
现在将详细参考本发明构思的实施例,其示例在附图中示出。在下面的详细描述中,阐述了许多具体细节以便能够彻底理解本发明构思。然而,应该理解,本领域的普通技术人员可以在没有这些具体细节的情况下实践本发明构思。在其他实例中,没有详细描述公知的方法、过程、组件、电路和网络,以免不必要地模糊实施例的各方面。
应该理解,尽管这里可以使用术语第一、第二等来描述各种元件,但是这些元件不应该被这些术语限制。这些术语仅用于区分一个元件和另一个元件。例如,第一模块可以被称为第二模块,并且类似地,第二模块可以被称为第一模块,而不偏离本发明构思的范围。
这里在本发明构思的描述中使用的术语仅用于描述特定实施例的目的,而不旨在限制本发明构思。如在本发明构思和所附权利要求的描述中所使用的,除非上下文另外明确指出,否则单数形式“一”、“一个”和“所述”旨在也包括复数形式。还将理解,如本文所使用的术语“和/或”是指并且包含一个或多个相关所列项目的任何和所有可能的组合。将进一步理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定所陈述的特征、整体、步骤、操作、元件和/或组件的存在,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合。附图的组件和特征不一定按比例绘制。
为了解决现有技术的问题,诸如基板管理控制器(BMC)的管理控制器可以管理并跟踪存在于机箱(chassis)中的所有固态盘(SSD)。每个SSD设备可以在完成事务(transaction)所需的实际时间方面来跟踪所有完成的事务。总的来说,每个SSD控制器内的设备延时计数器可以针对每个应用/主机跟踪所有事务。每个SSD可以周期性地向BMC发回报告。
超大规模用户/用户可以使用来自BMC的信息来确定如何通过将存储资源与应用的延时要求和租用/认购率进行匹配来分配存储资源(即,SSD)。本发明构思的实施例将使愿意支付更高费用的客户能够拥有最低尾延迟存储,并且使诸如AWS、Google和Azure的服务提供商能够提供更高收费的更好解决方案。
本发明构思的实施例可以使用BMC从存在于在同一机箱中的所有SSD收集延时信息。在分配计算和存储资源之前,基于云的服务提供商可以从BMC检索所需的信息。此后,服务提供商可以容易地为某些优质用户标识和匹配计算和存储资源。例如,BMC可以标识其拥有的SSD,分别将具有最低延迟的SSD标识用于“铂金”级,将具有中等延迟的SSD标识用于“金牌”级,以及将具有最高延迟的SSD标识用于“铜牌”级。
SSD可以执行以下功能:
·周期性地收集设备信息。
·收集原始设备信息并以已知的数据库格式输入。
·将设备信息输出到主机。SSD可以通过等待BMC查询SSD来支持被动输出,在所述查询之后,SSD组合所请求的信息并将其返回给BMC,或者SSD可以通过将设备信息写入BMC可以访问的控制器存储缓冲器来支持主动输出。
·通过版本和/或时间戳来支持设备信息同步机制,以避免重复共享相同的信息。
·通过数据加密或授权来支持设备信息安全,以防止未经授权方访问设备信息。
图1示出了根据本发明构思的实施例的具有固态盘(SSD)和基板管理控制器(BMC)的机器。在图1中,示出了计算机机器105。计算机机器105可以是任何期望的机器,包括但不限于,台式或膝上型计算机、服务器(独立服务器或机架式服务器)或可受益于本发明构思的实施例的任何其他设备。计算机机器105还可以包括专用的便携式计算设备、平板计算机、智能电话和其他计算设备。计算机机器105可以运行任何期望的应用(appl ication):数据库应用是很好的示例,但是本发明构思的实施例可以扩展到任何期望的应用。
无论计算机机器105的具体形式如何,计算机机器105可以包括处理器110、存储器115和固态盘(SSD)120。处理器110可以是任何种类的处理器:例如Intel Xeon、Celeron、Itanium、或Atom处理器;AMD Opteron处理器;ARM处理器等。虽然图1示出单个处理器,但是计算机机器105可以包括任何数量的处理器,并且每个处理器可以包括任何数量的核。存储器115可以是任何种类的存储器,诸如存储器、静态随机存取存储器(SRAM)、持续随机存取存储器、铁电随机存取存储器(FRAM)或非易失性随机存取存储器(NVRAM)(诸如磁阻随机存取存储器(MRAM))等,但存储器115通常是动态随机存取存储器(DRAM)。存储器115也可以是不同存储器类型的任何期望的组合。存储器115可以由存储器控制器125控制,存储器控制器125也是计算机机器105的一部分。
存储设备120可以是任何种类的存储设备:例如,硬盘驱动器或固态盘(SSD)。本发明构思的实施例可以包括能够提供用于管理存储设备的信息的各种存储设备。因此,尽管本文件和附图有时可能集中在作为存储设备的SSD上,但SSD的使用仅仅是示例性的,并且本文所描述的概念可以扩展到能够提供用于管理存储设备的信息的任何存储设备。存储设备120可以由可由存在于存储器115内的设备驱动器130来控制。虽然图1仅示出了一个存储设备120,但是计算机机器105可以包括任意数量的存储设备,并且每个存储设备可以是任何期望的类型(诸如硬盘驱动器和SSD)。
基板管理控制器(BMC)135用于服务器、PC、交换机和其他基于计算机的产品。一般而言,BMC 135与传感器进行通信,所述传感器测量内部物理变量,诸如温度、湿度、电源电压、风扇速度、通信参数和操作系统(OS)功能。如果这些变量中的任何一个偏离了指定极值,管理员可以收到通知。该管理员随后可以通过远程控制采取纠正措施。在一些情况下,BMC 135可以采取一些纠正措施,例如提高风扇速度或重启失败的子系统。根据需要和/或视情况,可以远程地重启或再启受监视设备/系统。通过这种方式,单个管理员可以同时远程管理大量服务器和其他设备,从而节省网络的整体运营成本并有助于确保其可用性。
因为BMC 135连接到计算机机器105的各个部件(可包括存储设备120),所以可以使用BMC 135来控制这些部件。该控制可以包括访问存储设备120的特性。然后可以使用这些特性来判断哪个存储设备是“最适合”用于存储与计算机机器105(或另一个连接的机器)上运行的特定应用有关的数据。尽管图1具体涉及基板管理控制器135,但是本发明构思的实施例可以扩展到可以执行本文描述的操作的任何管理控制器。
图2示出了图1的计算机机器105的额外细节。参考图2,通常,计算机机器105包括一个或多个处理器110,处理器110可以包括存储器控制器125和时钟205,时钟205可以用于协调计算机机器105的各组件的操作。处理器110还可以耦接到存储器115,作为示例,存储器115可以包括随机存取存储器(RAM)、只读存储器(ROM)或其他状态保存介质。处理器110还可以耦接到存储设备120,并耦接到网络连接器210,网络连接器210可以是例如以太网连接器或无线连接器。处理器110还可以连接到总线12,用户接口215和可以使用输入/输出引擎220管理的输入/输出接口等可以附接到总线12。
图3示出了图1的计算机机器105中的若干个SSD管理与图1的BMC 135的控制通信。在图3中,示出了存储设备120-1至120-n。尽管图3示出了四个存储设备120-1至120-n,但本发明构思的实施例可以支持任意数量的存储设备。存储设备120-1至120-n中的每一个可以与以太网交换机305和高速外围组件互连(PCIe)交换机310通信,PCIe交换机310可与BMC135通信。以太网交换机305可以用于通过数据面与存储设备120-1至120-n通信,而PCIe交换机310可以用于通过控制面与存储设备120-1至120-n通信。例如,如在2016年9月2日提交的美国专利申请序列号No.15/256,495(其要求于2016年7月26日提交的美国临时专利申请序列号No.62/366,622的优先权)、2016年11月7日提交的美国专利申请序列号N0.15/345,507(其要求于2016年9月14日提交的美国临时专利申请序列号No.62/394,726的优先权)、2016年11月7日提交的美国专利申请序列号No.15/345,509(其要求于2016年9月14日提交的美国临时专利申请序列号No.62/394,727)、以及美国专利申请序列号___(其要求2017年5月3日提交的美国临时专利申请序列号No.62/501,087的优先权)(全部这些专利文献通过引用合并于此)中所记载的,BMC 135可以作为代理设备与存储设备120-1至120-n就其配置进行通信。BMC 135也可以与存储设备120-1至120-n(以及其他设备)就其他原因进行通信,而没有限制。
在本发明构思的实施例中,存储设备120-1至120-n可以收集关于其操作的信息。该信息可以通过PCIe交换机310经由控制面报告给BMC 135。以这种方式,与BMC 135的通信不会干扰经由以太网交换机305在数据面上的通信。本发明构思的实施例可以使用其他期望的通信路径用于控制面。例如,BMC 135和存储设备120-1至120-n之间的控制面可以使用系统管理总线(SMBus),而不是PCIe交换机310。对PCIe交换机310的任何引用应该被理解为包括替选的控制面,例如SMBus。
在图3中,假定存储设备120-1至120-n使用以太网连接来通过数据面进行通信。但是本发明构思的其它实施例可以支持数据面上其他形式的通信,而没有限制。例如,数据面可能使用串行连接小型计算机系统接口(SAS)进行通信,而不是以太网。在本发明构思的这样的实施例中,以太网交换机305可以用任何适当的等效组件(诸如SAS扩展器)代替。另外,PCIe交换机310所支持的PCIe信道(lane)可以被分成两组(或更多组)信道,其中一组专用于通过控制面进行通信,另一组专用于通过数据面进行通信,或者用于与计算机机器105中的两个主板(有时也称为交换机板)进行通信。在本发明构思的这种通过PCIe交换机310支持数据面和控制面两者上的通信(如在高速非易失性存储器(NVMe)系统中的那样)的实施例中,可以省略以太网交换机305。
图4示出了作为图1的存储设备120的SSD的细节。在图4中,SSD 120可以包括主机接口逻辑405、SSD控制器410以及可以被组织成各个通道420-1至420-4的各种存储芯片415-1至415-8。主机接口逻辑405可以管理SSD 120和图1的计算机机器105之间的通信。SSD控制器410可以管理存储芯片415-1至415-8的读取操作和写入操作以及垃圾收集操作。SSD控制器410可以包括闪存转换层425以执行这种管理中的一部分。虽然图4将SSD 120示出为包括组织成四个通道420-1至420-4的八个存储芯片415-1至415-8,但是本发明构思的实施例可以支持组织成任意数量通道的任意数量的存储芯片。
SSD控制器410还可以包括嵌入式微处理器430。嵌入式微处理器430可以是包括在SSD 120内的任何期望的处理器。嵌入式微处理器430可以代表图1的计算机机器105运行应用。
图5示出了图4的SSD控制器410的细节。可以将SSD控制器410逻辑地或概念地概括为可操作用于任何存储设备的控制器;仅示出SSD控制器410作为示例。在图5中,SSD控制器410可以包括存储器505、接收器510、信息确定逻辑515和共享逻辑520。存储器505可以存储关于多个请求的信息。如以下将参考图8所述,这样的“信息”可以是关于图1的存储设备120的操作的任何信息。另外,“信息”可以扩展为包括关于存储设备的信息,而不特定于关于由存储设备120处理的请求。接收器510可以从应用接收请求。信息确定逻辑515可以确定关于请求/存储设备的信息,并随后将其存储在存储器505中。然后,共享逻辑520可以与图1的BMC 135共享该信息。
SSD控制器410还可以包括时间戳器525。时间戳器525可以将时间戳应用于存储在存储器505中的信息。然后时间戳可以用于过滤向图1的BMC 135提供什么信息。例如,时间戳可以用于标识哪些信息比与BMC 135最近共享信息的时间新。
SSD控制器410还可以包括应用识别器530。应用识别器530可以标识从其接收到特定请求的应用。例如,如果图4的嵌入式微处理器430代表计算机机器105运行应用,计算机机器105可能不知道由SSD 120执行的请求的源。在本发明构思的一些实施例中,图1的存储设备120可以向图1的BMC 135报告哪些应用已经发布了由存储设备120执行的请求。应用识别器530可以提供该信息。通过跟踪哪些应用已经发布了由图1的存储设备120执行的请求,应用识别器530可以与在图1的计算机机器105上的图1的处理器110上运行的操作系统类似地操作。
图6示出了关于图1的SSD的可跟踪的各种信息。在图6中,集合605描绘了可以由图1的存储设备120跟踪的各种信息。集合605可包括各种信息,例如:
·读取延时610:图1的存储设备120执行和完成读取请求需要花费的时间。读取延时610可以测量从图1的存储设备120接收到读取请求到图1的存储设备120发回所请求数据为止的时间。
·写入延时615:图1的存储设备120执行并完成写入请求需要花费的时间。写入延时615可以测量从图1的存储设备120接收到写入请求直到图1的存储设备120发回成功写入结果的确认为止的时间。
·程序失败计数620:由于写入数据时出现问题而导致写入请求失败的次数。
·擦除失败次数625:SSD未成功擦除块的次数。
·磨损平衡计数630:SSD对单个块执行磨损平衡的次数。
·误码率635:在读取请求和/或写入请求期间,存储设备120检测到和/或纠正的比特错误的比率。
·接口误码率640:在图1的存储设备120处从图1的计算机机器105接收到数据时,存储设备120检测到和/或纠正的比特错误的比率。接口误码率640也可以被称为“端到端错误检测计数”。
集合605表示可以由图1的存储设备120跟踪的一些可能的数据。集合605不旨在表示可由存储设备120跟踪的所有可能信息的完整列表:本发明构思的实施例也可跟踪其他信息,如下所述(但不限于):
·循环冗余校验(CRC)错误计数:使用CRC检测到多少错误。本发明构思的实施例可以用任何其他错误检测方法和/或错误纠正方法来代替CRC。
·定时工作负载信息:关于向存储设备120发送请求的计算机机器105和其他主机的工作负载的信息。定时工作负载信息可以包括介质磨损(因单个主机引起的图1的存储设备120的磨损量)、主机读取百分比(因单个主机引起的预留空间(overprovisioning))以及计时(在请求失败之前对特定主机重试请求需要多长时间)。
·热抑制状态:关于存储设备120的当前热状态的信息。如果图1的存储设备120上的热传感器超过其极值,则可以减小提供给图1的存储设备120的功率,以降低由图1的存储设备120所产生的热量。
·重试缓冲区溢出计数器:读取和/或写入请求由于失败而重试了多少次的计数。
·物理链路锁定(PLL)丢失计数:因图1的存储设备120与图1的计算机机器105之间的物理链路导致发生了多少次错误的计数。
·写入的NAND字节:多少字节已经写入了图4的SSD 120中的NAND闪存的计数。
·写入的主机字节:由单个主机引起的多少字节已经写入图1的存储设备120的计数。
·当前温度:图1的存储设备120的当前温度的轨迹。
·超温停机标志:图1的存储设备120是否因其温度超过最高工作温度而被关闭的指示符。超温停机标志可以跟踪哪个组件最近触发了关闭,或者哪个组件具有触发关闭的最高超温。
·最高温度和/或最低温度:在操作期间检测到的图1的存储设备120的最高温度和/或最低温度的轨迹。
·规定的最小操作温度和/或最大操作温度:图1的存储设备120预计操作的最小操作温度和/或最大操作温度。
·在热抑制条件下的时间:图1的存储设备120经历热抑制(温度过高但还无需关闭)期间的单位时间(其可以是秒、分钟或任何其他期望的单位)的数量的计数。
·热抑制条件下的次数:图1的存储设备120已开始热抑制的次数的计数。
·不可恢复的读取和/或写入错误的数量:已检测到的不可纠正的读取和/或写入错误的数量。
·警告媒体和数据完整性错误:在图1的存储设备120与图1的计算机机器105之间的端对端通信期间可能发生的错误类型。
·与垃圾收集相关的块擦除操作的数量:在对图4的SSD 120进行垃圾收集期间被擦除的块的数量的计数(该信息适用于执行垃圾收集的图1的任何存储设备120:并非图1的每种类型的存储设备120都执行垃圾收集)。
·完成垃圾收集以保持自由擦除块计数阈值的估计时间:对执行垃圾收集以将图4的SSD 120的自由擦除块计数提高到阈值水平所需的时间量的估计。
·延时桶(latency bucket):图1的存储设备120可以使用各种宽度的桶来跟踪读取请求和/或写入请求的延时。这些宽度可以以任何期望的方式变化。例如,本发明构思的一个实施例可以对0ms和1ms之间的延时使用宽度为32μs的桶,对于1ms和32ms之间的延时使用宽度为1ms的桶,以及对在32毫秒和1秒之间的延时使用宽度为32ms的桶。
·错误计数:已发生的错误的数量的次数。
·错误时间戳:每次发生错误时的时间戳。
·请求操作码、状态字段、附加信息、受影响的逻辑块地址(LBA)、受影响的名称空间和受影响的端口:关于发生错误时执行的请求的信息。
·错误日志信息溢出标志:附加信息是否被存储在溢出错误日志中的指示符。
·活动(active)命名空间计数:图1的存储设备120支持的活动命名空间的数量的计数。
·主机读取请求和/或写入请求大小:图1的存储设备120可以使用各种宽度的桶来跟踪读取请求和/或写入请求的大小。这些宽度可以以任何期望的方式变化。例如,本发明构思的一个实施例可以追踪0kb-4kb、4kb-8kb、8kb-16kb、16kb-32kb、32kb-64kb、64kb-128kb、128kb-256kb、以及大于256kb大小的请求。图1的存储设备120还可以跟踪每个桶的随机读取请求和/或写入请求的百分比。
·训练的链路配置、接口相关错误、配置的硬件队列数、配置的中断向量数、链路等级参数(诸如最大传输单位(MTU)、最大有效载荷大小等):与图1的存储设备120和图1的计算机机器105之间的链路相关的各种信息。
·流(stream)相关信息:图1的存储设备120可以跟踪与其使用流相关的信息,以支持多种流。
尽管图1的存储设备可以跟踪图6中所示的所有信息(以及图6中未示出的其他信息),但是图1的存储设备120不需要跟踪所有这些信息。例如,图1的存储设备120可以只跟踪如子集645所示的读取延时610和写入延时615。本发明构思的实施例可以支持图1的存储设备120跟踪任何可用信息的期望子集。
图7示出了关于图1的存储设备120中的请求的读取延时的细节。在图7中,在直方图705中示出了各种延时桶。这些延时桶跨越从0秒(通常不现实,除非图1的存储设备120恰好具有充当高速缓存的非常快速的存储器)到1秒(返回数据的非常长的时间量)范围的延时。0秒到1ms之间的各延时桶中的每个宽度都是32μs;1ms和32ms之间的各延时桶中的每个的宽度都是1ms;并且32ms和1s之间的各延时桶的宽度都是32ms。
通常,预计直方图705的形状近似为钟形曲线(或高斯分布),尽管其他分布是可能的并且可能是预期的。确切的形状可以变化,直方图705的均值和标准偏差也可以变化。
直方图705示出了可以从图1的存储设备120发送到图1的BMC135的一些信息。但是可以理解的是,直方图705不包括基本信息:相反,直方图705提供了关于基本信息生成的一些统计数据。也就是说,不是提供基本信息,而是可以从基本信息生成统计数据:然后可以将这些统计数据(例如直方图705)提供给图1的BMC 135,而不是提供基本信息。
图8示出了图5的信息确定逻辑515收集各种请求的信息以传递给图1的BMC 135。如上所述,存在可以关于图1的存储设备120确定并且可以与BMC 135共享的许多不同类型的信息。一些信息(诸如图6的程序失败计数620或图6的擦除失败计数625)是关于图1的存储设备120作为整体的统计数据。但是其他信息(例如,图6的读取延时610以及图6的写入延时615)依赖于个体请求或由图1的存储设备120接收到的请求。不管测量到的信息的形式如何,信息确定逻辑515都可以确定适当的信息。
在图8中,示出由图1的存储设备120接收到请求805-1到805-4。信息确定逻辑515可以确定关于这些请求的信息810-1至810-4。然后共享逻辑520可以与BMC 135共享信息810-1到810-4。
虽然图8示出了四个请求805-1到805-4,本发明构思的实施例可以支持任意数量的请求。另外,对于从图1的存储设备120确定的信息(而不是从个体请求确定的信息),信息确定逻辑515可以不需要接收任何个体请求805-1至805-4。
信息确定逻辑515的具体实施方式将根据信息810-1至810-4所采用的形式而变化。例如,如果信息810-1至810-4测量图6的读取延时610或图6的写入延时615,则在本发明构思一些实施例中的信息确定逻辑515可以包括定时器,以测量处理请求805-1至805-4所花费的时间(或可替代地,用来存储处理所发生的请求的开始时间和结束时间的时钟,以及从结束时间减去开始时间的算术逻辑单元)。可替换地,在本发明构思的其他实施例中,信息确定逻辑515可以包括计数器,以计数满足特定条件(诸如编程或擦除操作失败)的次数。本发明构思的其他实施例可以包括传感器,以检测何时满足诸如热条件的特定条件。但是无论信息810-1至810-4可能采取什么形式,信息810-1至810-4不是执行请求805-1至805-4的结果:信息810-1至810-4是关于图1的存储设备120在执行请求805-1至805-4时的性能的信息。还要注意的是,虽然由图1的存储设备120响应于请求805-1至805-4而返回的数据将被引导至发出请求的应用(在图1的计算机机器105或连接到图1的计算机机器105的一些其他计算机机器上),但是信息810-1至810-4将被引导至BMC 135。
图9示出了图5的共享逻辑520的细节。图9将共享逻辑520示出为包括支持图8的信息810-1至810-4与图1的BMC 135的主动共享和被动共享二种。虽然本发明构思的一些实施例可以包括图9中所示的所有组件,但是本发明构思的其它实施例可以仅包括用于以主动模式或被动模式(而非两者)与BMC 135共享信息的那些组件。
共享逻辑520可以包括控制器存储缓冲器(CMB)905、认证器910、数据选择器915、日志页面生成器920和发送器925。CMB 905可以是图1的存储设备120内的存储器,其可以由图1的BMC 135直接访问。CMB 905可以以任何期望的形式来实施。例如,CMB 905可以是RAM,诸如DRAM。CMB 905表示用于与BMC 135共享信息的主动模式:当图1的存储设备120具有要与BMC 135共享的新信息时,共享逻辑520可将该新信息写入CMB 905。然后,BMC 135可以在每当需要时读取CMB 905,从而从图1的存储设备120检索最新信息。
为了防止对CMB 905的未授权访问,共享逻辑520可以包括认证器910。认证器910可以确定尝试访问CMB 905的任何特定组件(例如图1的BMC 135)是否被授权访问CMB 905。例如,认证器910可以阻止对CMB 905的访问,除非请求访问的组件提供商定好的密码。
尽管共享逻辑520可以共享关于图1的存储设备120的所有信息,共享逻辑520还可以选择可共享什么信息。数据选择器915可以选择要与图1的BMC 135共享的特定信息。例如,尽管图1的存储设备120可以收集关于其自身的所有可能信息,但是图1的BMC 135可能只对图6的读取延时610和图6的写入延时615感兴趣。数据选择器915可以选择由图1的BMC135寻求的信息,使得共享逻辑520可以仅将该信息提供给图1的BMC 135。
数据选择器915还可以包括直方图生成器930。直方图生成器930可以生成图7的直方图705,在共享逻辑520不需要共享所有信息的情况下,该图含有关于图1的存储设备120的信息。
当图1的存储设备120使用主动模式与图1的BMC 135共享信息时,共享逻辑520可以共享关于图1的存储设备120的所有信息,而与图1的BMC 135具体感兴趣的信息无关。然而如果图1的存储设备120知道图1的BMC 135对什么信息感兴趣,则数据选择器915可以仅选择那个数据来写入CMB 905。
在图1的存储设备120使用被动模式与图1的BMC 135共享信息时,也可以使用数据选择器915。在被动模式下,BMC 135可以将对信息的请求(诸如对日志页面的请求)发送至图1的存储设备120。然后数据选择器915可以选择由图1的BMC 135所请求的信息。然后,日志页面生成器920可以生成包含所请求的信息的日志页面,并且发送器925可以将生成的日志页面发送到图1的BMC 135。
图10示出根据本发明构思的实施例的图1的存储设备120跟踪关于图1的存储设备120的性能的信息并与图1的BMC 135共享该信息的示例过程的流程图。在图10中,在框1005处,图5的接收器510可以接收来自一个或多个应用的请求。在框1010处,图4的控制器410可以执行这些请求。在框1015处,图1的存储设备120可以将执行请求的结果返回给请求应用。在框1020处,图5的应用识别器530可以确定发布请求的应用的标识符。如虚线1025所示,可以省略框1020。
在框1030处,信息确定逻辑515可以确定关于图1的存储设备120的信息。该信息对于图1的存储设备120可以是通用的,或者该信息与从应用收到的个体请求相关。在框1035处,图9的直方图生成器930可以根据该信息生成统计数据。如虚线箭头1040所示,可以省略框1035。在框1045处,图5的时间戳器525可以为由图5的信息确定逻辑515确定的信息设置时间戳。如虚线1050所示,可以省略框1045。最后,在框1055处,图5的共享逻辑520可以与图1的BMC 135共享该信息。
图11和图12示出了根据本发明构思的实施例的图1的存储设备120与图1的BMC135共享信息的示例过程的流程图。图11示出了根据本发明构思的一些实施例的图1的存储设备120使用主动模式与图1的BMC 135共享信息。在图11中,在框1105处,图5的共享逻辑520可以将信息存储在图9的CMB 905中。在框1110处,图9的认证器910可以从图1的BMC 135接收访问图9的CMB 905中的信息的请求。在框1115处,图9的认证器910可以尝试认证图1的BMC135。在框1120处,图9的认证器910可以判断图1的BMC 135是否通过认证。如果是,则在框1125处,图5的共享逻辑520可以授权图1的BMC 135访问图9的CMB 905。否则,在框1130处,图5的共享逻辑520可以拒绝图1的BMC 135访问图9的CMB 905。
图12示出根据本发明构思的一些实施例的图1的存储设备120使用被动模式与图1的BMC 135共享信息。在图12中,在框1205处,图5的共享逻辑520可以从图1的BMC 135接收对信息(可能作为日志页面)的请求。在框1210处,图9的数据选择器915可以选择由图1的BMC 135所请求的信息。在框1215处,图9的直方图生成器930可以根据关于图1的存储设备120的信息来生成直方图(或其他统计数据)。如虚线1220所示,可以省略框1215。在框1225处,图9的日志页面生成器920可以生成包含图1的BMC 135所请求的信息的日志页面。如虚线1230所示,可以省略框1225。最后,在框1235处,图9的发送器925可以将生成的日志页面发送至图1的BMC 135。
在图10至图12中,示出了本发明构思的一些实施例。但是本领域技术人员将认识到,通过改变各个框的顺序,通过省略框或通过包括未在附图中示出的链接,本发明构思的其他实施例也是可能的。流程图的所有这些变化被认为是本发明构思的实施例,无论是否明确描述。
以下讨论旨在提供可实现本发明构思的某些方面的合适的一台或多台机器的简要的一般性描述。可以通过来自常规输入设备(例如键盘,鼠标等)的输入以及通过从另一台机器接收的指令、与虚拟现实(VR)环境的交互、生物测定反馈或其他输入信号来至少部分地控制一台或多台机器。如本文所使用的,术语“机器”旨在广义地涵盖单个机器、虚拟机或通信地耦接的机器、虚拟机或一起操作的设备的系统。示例性机器包括计算设备,例如个人计算机、工作站、服务器、便携式计算机、手持设备、电话、平板电脑等,以及运输设备,例如私人或公共交通工具,例如汽车、火车、出租车等。
一台或多台机器可以包括嵌入式控制器,诸如可编程逻辑器件或阵列或者不可编程逻辑器件或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等。该一个或多个机器可以利用与一个或多个远程机器的一个或多个连接,诸如通过网络接口、调制解调器或其他通信连接。机器可以通过诸如内联网、因特网、局域网、广域网等的物理和/或逻辑网络互连。本领域技术人员将认识到,网络通信可以利用各种有线和/或无线短距离或长距离载波和协议,包括射频(RF)、卫星、微波、电气和电子工程师协会(IEEE)802.11、
Figure BDA0001623625920000171
光学、红外线、电缆、激光等。
本发明构思的实施例可以通过参考或结合包括功能、过程、数据结构、应用程序等的关联数据来描述,所述关联数据当被机器访问时,导致机器执行任务或定义抽象数据类型或低级硬件环境。相关数据可以被存储在例如易失性和/或非易失性存储器(例如,RAM、ROM等)中,或存储在其他存储设备及其相关联的存储介质中,包括硬盘驱动器、软盘、光学存储器、磁带、存储器、记忆棒、数字视频盘、生物存储器等。可以以数据包、串行数据、并行数据、传播信号等的形式在包括物理和/或逻辑网络的传输环境上传递相关数据,并且相关数据可以以压缩或加密格式使用。相关数据可用于分布式环境中,并可在本地和/或远程存储以供机器访问。
本发明构思的实施例可以包括包含可由一个或多个处理器执行的指令的有形非暂时性机器可读介质,所述指令包括用于执行如本文所述的发明构思的元件的指令。
已经参考所示出的实施例描述和示出了本发明构思的原理,将认识到,所示出的实施例可以在不背离这些原理的情况下在布置和细节上进行修改,并且可以以任何期望的方式进行组合。此外,尽管前面的讨论集中于特定的实施例,但是可以设想其他配置。特别地,尽管在此使用诸如“根据本发明构思的实施例”等的表达,但这些短语一般是指参考实施例的可能性,并且不旨在将本发明构思限于特定实施例配置。如本文所使用的,这些术语可以引用可组合成其他实施例的相同或不同的实施例。
前述说明性实施例不应被解释为限制其发明构思。尽管已经描述了一些实施例,但是本领域技术人员将容易地认识到,在不实质上脱离本公开的新颖教导和优点的情况下,可以对这些实施例进行许多修改。因此,所有这样的修改意图被包括在权利要求中限定的本发明构思的范围内。
本发明构思的实施例可以扩展到(而非限制为)以下陈述:
陈述1.本发明构思的实施例包括一种存储设备,包括:
存储器,用于存储数据;
存储设备控制器,用于响应于多个请求来管理从所述存储器读取数据和向所述存储器写入数据,所述存储设备控制器包括:
存储器,用于存储多个请求的信息;
接收器,用于接收多个请求;
信息确定逻辑,用于确定关于所述多个请求中的每一个的信息;以及
共享逻辑,用于与管理控制器共享关于所述多个请求中的每一个的信息。
陈述2.本发明构思的实施例包括根据陈述1的存储设备,其中,所述管理控制器包括基板管理控制器(BMC)。
陈述3.本发明构思的实施例包括根据陈述1的存储设备,其中,所述存储设备包括固态盘(SSD)。
陈述4.本发明构思的实施例包括根据陈述3的存储设备,其中,所述SSD支持网上高速非易失性存储器(NVMeoF)协议。
陈述5.本发明构思的实施例包括根据陈述3的存储设备,其中,所述SSD通过至少一个高速外围组件互连(PCIe)信道与所述管理控制器通信。
陈述6.本发明构思的实施例包括根据陈述5的存储设备,其中,所述SSD通过以太网端口接收所述多个请求。
陈述7.本发明构思的实施例包括根据陈述1的存储设备,其中,在存储设备执行所述多个请求中的每一个时,所述信息确定逻辑操作为确定关于所述多个请求中的每一个的信息。
陈述8.本发明构思的实施例包括根据陈述1的存储设备,其中,从包括读取延时、写入延时、程序失败计数、擦除失败计数、磨损平衡计数、误码率和接口误码率的集合中提取所述信息。
陈述9.本发明构思的实施例包括根据陈述1所述的存储设备,其中:
所述信息确定逻辑操作为确定所述多个请求的统计数据;并且
所述共享逻辑操作为与所述管理控制器共享所述多个请求的统计数据。
陈述10.本发明构思的实施例包括根据陈述1的存储设备,其中,所述共享逻辑包括控制器存储缓冲器(CMB),其可以存储关于所述多个请求中的每一个的信息。
陈述11.本发明构思的实施例包括根据陈述10的存储设备,其中,所述共享逻辑包括认证器,其用于在允许所述管理控制器访问所述CMB之前对所述管理控制器进行认证。
陈述12.本发明构思的实施例包括根据陈述1的存储设备,其中:
接收器操作为从所述管理控制器接收对数据的请求;以及
所述共享逻辑包括:
数据选择器,用于从关于所述多个请求中的每一个的信息中选择数据;以及
发送器,用于将选中数据发送到所述管理控制器。
陈述13.本发明构思的实施例包括根据陈述12的存储设备,其中:
所述共享逻辑进一步包括日志页面生成器,其根据所述选中数据生成日志页面;并且
所述发送器操作为将所述日志页面传送到所述管理控制器。
陈述14.本发明构思的实施例包括根据陈述12的存储设备,其中,所述选中数据是关于所述多个请求中的每一个的信息的子集。
陈述15.本发明构思的实施例包括根据陈述12的存储设备,其中,所述数据选择器包括直方图生成器,其根据所述选中数据生成直方图。
陈述16.本发明构思的实施例包括根据陈述1所述的存储设备,其中,所述存储设备控制器进一步包括时间戳器,其为所述多个请求中的每一个的信息设置时间戳。
陈述17.本发明构思的实施例包括根据陈述1的存储设备,其中,所述存储设备控制器进一步包括应用识别器,其确定所述多个请求中的每一个的应用ID。
陈述18.本发明构思的实施例包括根据陈述17的存储设备,其中,所述存储设备包括嵌入式微处理器,其运行由所述应用ID标识的应用。
陈述19.本发明构思的实施例包括一种方法,包括:
在存储设备处接收多个请求;
在所述存储设备上执行所述多个请求中的每一个;
从所述存储设备返回所述多个请求中的每一个的结果;
确定所述多个请求中的每一个的信息,其中所述信息描述在所述存储设备上执行所述多个请求中的每一个时所述存储设备的性能;以及
与管理控制器共享所述信息。
陈述20.本发明构思的实施例包括根据陈述19所述的方法,其中,所述管理控制器包括基板管理控制器(BMC)。
陈述21.本发明构思的实施例包括根据陈述19的方法,其中,所述存储设备包括固态盘(SSD)。
陈述22.本发明构思的实施例包括根据陈述21的方法,其中,所述SSD支持网上高速非易失性存储器(NVMeoF)协议。
陈述23.本发明构思的实施例包括根据陈述21的方法,其中,与管理控制器共享信息包括通过至少一个高速外围组件互连(PCIe)信道与所述管理控制器共享所述信息。
陈述24.本发明构思的实施例包括根据陈述23的方法,其中,在所述存储设备处接收多个请求包括通过以太网端口在所述SSD处接收所述多个请求。
陈述25.本发明构思的实施例包括根据陈述19的方法,其中,确定所述多个请求中的每一个的信息包括在执行所述多个请求中的每一个时确定所述多个请求中的每一个的信息。
陈述26.本发明构思的实施例包括根据陈述19的方法,其中,从包括读取延时、写入延时、程序失败计数、擦除失败计数、磨损平衡计数、误码率和接口误码率的集合中提取所述信息。
陈述27.本发明构思的实施例包括根据陈述19的方法,其中:
确定所述多个请求中的每一个的信息包括确定所述多个请求的统计数据;以及
与管理控制器共享所述信息包括与所述管理控制器共享所述多个请求的统计数据。
陈述28.本发明构思的实施例包括根据陈述19的方法,其中,与管理控制器共享所述信息包括将所述多个请求中的每一个的信息存储在控制器存储缓冲器(CMB)中。
陈述29.本发明构思的实施例包括根据陈述28的方法,其中,与管理控制器共享所述信息还包括:
从所述管理控制器接收访问CMB的请求;以及
认证所述管理控制器。
陈述30.本发明构思的实施例包括根据陈述19的方法,其中,与管理控制器共享所述信息包括:
从管理控制器接收对数据的请求;
从所述多个请求中的每一个的信息中选择数据;以及
将从多个请求中的每一个的信息中选中的数据发送到所述管理控制器。
陈述31.本发明构思的实施例包括根据陈述30的方法,其中:
与管理控制器共享所述信息进一步包括生成包括所述数据的日志页面;以及
将从所述多个请求中的每一个的信息中选中的数据发送到所述管理控制器包括将日志页面发送到所述管理控制器。
陈述32.本发明构思的实施例包括根据陈述30的方法,其中,所述选中的数据是所述多个请求中的每一个的信息的子集。
陈述33.本发明构思的实施例包括根据陈述30的方法,其中,从所述多个请求中的每一个的信息中选择数据包括根据所述多个请求中的每一个的信息生成作为所述选中的数据的直方图。
陈述34.本发明构思的实施例包括根据陈述19的方法,其中,确定所述多个请求中的每一个的信息包括为所述多个请求中的每一个的信息设置时间戳。
陈述35.本发明构思的实施例包括根据陈述34的方法,其中,与管理控制器共享所述信息包括选择具有比先前时间戳更新的时间戳的信息。
陈述36.本发明构思的实施例包括根据陈述19的方法,其中,确定所述多个请求中的每一个请求的信息包括确定所述多个请求中的每一个的应用ID。
陈述37.本发明构思的实施例包括根据陈述36的方法,其中,所述应用ID标识出在所述存储设备中嵌入的微处理器上运行的应用。
陈述38.本发明构思的实施例包括具有非暂时性存储介质的产品,所述非暂时性存储介质上存储有指令,所述指令在由机器执行时使得:
在存储设备处接收多个请求;
在所述存储设备上执行所述多个请求中的每一个;
从所述存储设备返回所述多个请求中的每一个的结果;
确定所述多个请求中的每一个的信息,其中,所述信息描述在所述存储设备上执行所述多个请求中的每一个时所述存储设备的性能;以及
与管理控制器共享所述信息。
陈述39.本发明构思的实施例包括根据陈述38所述的产品,其中,所述管理控制器包括基板管理控制器(BMC)。
陈述40.本发明构思的实施例包括根据陈述38的产品,其中,所述存储设备包括固态盘(SSD)。
陈述41.本发明构思的实施例包括根据陈述40的产品,其中,所述SSD支持网上高速非易失性存储器(NVMeoF)协议。
陈述42.本发明构思的实施例包括根据陈述40的产品,其中,与管理控制器共享所述信息包括通过至少一个高速外围组件互连(PCIe)信道与所述管理控制器共享所述信息。
陈述43.本发明构思的实施例包括根据陈述42的产品,其中,在存储设备处接收多个请求包括通过以太网端口在所述SSD处接收多个请求。
陈述44.本发明构思的实施例包括根据陈述38所述的产品,其中,确定所述多个请求中的每一个的信息包括在执行所述多个请求中的每一个时确定所述多个请求中的每一个的信息。
陈述45.本发明构思的实施例包括根据陈述38的产品,其中,从包括读取延时、写入延时、程序失败计数、擦除失败计数,磨损级计数,误码率和接口误码率的集合中提取所述信息。
陈述46.本发明构思的实施例包括根据陈述38的产品,其中:
确定所述多个请求中的每一个的信息包括确定所述多个请求的统计数据;以及
与管理控制器共享所述信息包括与管理控制器共享所述多个请求的统计数据。
陈述47.本发明构思的实施例包括根据陈述38的产品,其中,与管理控制器共享所述信息包括将多个请求中的每一个的信息存储在控制器存储缓冲器(CMB)中。
陈述48.本发明构思的实施例包括根据陈述47的产品,其中,与管理控制器共享所述信息还包括:
从所述管理控制器接收访问CMB的请求;以及
认证所述管理控制器。
陈述49.本发明构思的实施例包括根据陈述38所述的产品,其中,与管理控制器共享所述信息包括:
从所述管理控制器接收对数据的请求;
从所述多个请求中的每一个的信息中选择数据;以及
将从所述多个请求中的每一个的信息中选中的数据发送到所述管理控制器。
陈述50.本发明构思的实施例包括根据陈述49的产品,其中:
与管理控制器共享所述信息进一步包括生成包括所述数据的日志页面;以及
将从所述多个请求中的每一个的信息选中的数据发送到所述管理控制器包括将所述日志页发送到所述管理控制器。
陈述51.本发明构思的实施例包括根据陈述49的产品,其中,所述选中的数据是所述多个请求中的每一个的信息的子集。
陈述52.本发明构思的实施例包括根据陈述49的产品,其中,从所述多个请求中的每一个的信息中选择数据包括根据所述多个请求中的每一个的信息生成作为所述选中的数据的直方图。
陈述53.本发明构思的一个实施例包括根据陈述38所述的产品,其中,确定所述多个请求中的每一个的信息包括为所述多个请求中的每一个的信息设置时间戳。
陈述54.本发明构思的实施例包括根据陈述53的产品,其中,与管理控制器共享所述信息包括选择具有比先前的时间戳更新的时间戳的信息。
陈述55.本发明构思的实施例包括根据陈述38所述的产品,其中,确定所述多个请求中的每一个的信息包括确定所述多个请求中的每一个的应用ID。
陈述56.本发明构思的实施例包括根据陈述55的产品,其中,所述应用ID标识出在所述存储设备中嵌入的微处理器上运行的应用。
因此,鉴于这里描述的实施例的各种变化,该详细描述和所附材料仅旨在是说明性的,并且不应被视为限制本发明构思的范围。因此,所要求保护的发明构思是所有这些可以落入所附权利要求及其等同物的范围和精神内的修改。

Claims (22)

1.一种存储设备,包括:
第一存储器,用于存储数据;
存储设备控制器,用于响应于来自于主机且经由以太网交换机的多个请求来管理从所述第一存储器读取数据和向所述第一存储器写入数据,在所述存储设备处接收到的所述多个请求通过以太网连接直接来自于所述以太网交换机,所述存储设备控制器包括:
第二存储器,用于存储关于所述多个请求中的每一个的信息;
接收器,用于接收所述多个请求;
信息确定逻辑,用于确定关于所述多个请求中的每一个的信息;以及
共享逻辑,用于通过高速外围组件互连连接与管理控制器共享关于所述多个请求中的每一个的信息,其中关于所述多个请求中的每一个的信息被引导至所述管理控制器。
2.根据权利要求1所述的存储设备,其中,所述信息确定逻辑操作为:在所述存储设备执行所述多个请求中的每一个期间,确定关于所述多个请求中的每一个的信息,
其中,所述管理控制器使用关于所述多个请求中的每一个的信息来确定所述存储设备的尾延迟,并且部分地基于应用所请求的服务级别和所述存储设备的所述尾延迟来将所述应用分配给所述存储设备。
3.根据权利要求1所述的存储设备,其中,从包括读取延时、写入延时、程序失败计数、擦除失败计数、磨损平衡计数、误码率和接口误码率的集合中提取所述信息。
4.根据权利要求1所述的存储设备,其中:
所述信息确定逻辑操作为确定所述多个请求的统计数据;并且
所述共享逻辑操作为与所述管理控制器共享所述多个请求的统计数据。
5.根据权利要求1所述的存储设备,其中,所述共享逻辑包括控制器存储缓冲器,其存储关于所述多个请求中的每一个的信息,
其中,所述共享逻辑将所述信息写入到所述控制器存储缓冲器,并且所述管理控制器从所述控制器存储缓冲器读取所述信息,而无需所述管理控制器被动地从所述共享逻辑请求所述信息。
6.根据权利要求1所述的存储设备,其中:
所述接收器操作为从所述管理控制器接收对数据的请求;以及
所述共享逻辑包括:
数据选择器,用于从关于所述多个请求中的每一个的信息中选择数据;以及
发送器,用于将选中数据发送到所述管理控制器。
7.根据权利要求1所述的存储设备,其中,所述存储设备控制器进一步包括时间戳器,其为关于所述多个请求中的每一个的信息设置时间戳。
8.根据权利要求1所述的存储设备,其中,所述存储设备控制器进一步包括应用识别器,其用于确定关于所述多个请求中的每一个的应用ID。
9.根据权利要求8所述的存储设备,其中,所述存储设备包括嵌入式微处理器,其运行由所述应用ID标识的应用。
10.一种方法,包括:
从主机经由以太网交换机在存储设备处接收多个请求,通过以太网连接直接从所述以太网交换机接收所述多个请求;
在所述存储设备上执行所述多个请求中的每一个;
将所述多个请求中的每一个的结果从所述存储设备返回到所述主机;
确定关于所述多个请求中的每一个的信息,其中所述信息描述在所述存储设备上执行所述多个请求中的每一个时所述存储设备的性能;以及
通过高速外围组件互连连接与管理控制器共享所述信息。
11.根据权利要求10所述的方法,其中,确定关于所述多个请求中的每一个的信息包括:在所述存储设备执行所述多个请求中的每一个期间确定关于所述多个请求中的每一个的信息,
其中,所述管理控制器使用关于所述多个请求中的每一个的信息来确定所述存储设备的尾延迟,并且部分地基于应用所请求的服务级别和所述存储设备的所述尾延迟来将所述应用分配给所述存储设备。
12.根据权利要求10所述的方法,其中,从包括读取延时、写入延时、程序失败计数、擦除失败计数、磨损平衡计数、误码率和接口误码率的集合中提取所述信息。
13.根据权利要求10所述的方法,其中,与管理控制器共享所述信息包括:将关于所述多个请求中的每一个的信息存储在控制器存储缓冲器中,
其中,所述信息被存储在所述控制器存储缓冲器中,并且所述管理控制器从所述控制器存储缓冲器读取所述信息,而无需所述管理控制器被动地从所述存储设备请求所述信息。
14.根据权利要求13所述的方法,其中,与管理控制器共享所述信息还包括:
从所述管理控制器接收访问控制器存储缓冲器的请求;以及
认证所述管理控制器。
15.根据权利要求10所述的方法,其中,与管理控制器共享所述信息包括:
从所述管理控制器接收对数据的请求;
从关于所述多个请求中的每一个的信息中选择数据;以及
将从关于所述多个请求中的每一个的信息中选中的数据发送到所述管理控制器。
16.根据权利要求10所述的方法,其中,确定关于所述多个请求中的每一个的信息包括:为关于所述多个请求中的每一个的信息设置时间戳。
17.根据权利要求16所述的方法,其中,与管理控制器共享所述信息包括:选择具有比先前的时间戳更新的时间戳的信息。
18.根据权利要求10所述的方法,其中,确定关于所述多个请求中的每一个的信息包括:确定关于所述多个请求中的每一个的应用ID。
19.根据权利要求10所述的方法,其中,通过高速外围组件互连连接与管理控制器共享所述信息包括:将关于所述多个请求中的每一个的信息引导至所述管理控制器。
20.一种包括非暂时性存储介质的产品,所述非暂时性存储介质上存储有指令,所述指令在由机器执行时,使得:
从主机经由以太网交换机在存储设备处接收多个请求,通过以太网连接直接从所述以太网交换机接收所述多个请求;
在所述存储设备上执行所述多个请求中的每一个;
将所述多个请求中的每一个的结果从所述存储设备返回到所述主机;
确定关于所述多个请求中的每一个的信息,其中,所述信息描述了在所述存储设备上执行所述多个请求中的每一个时所述存储设备的性能;以及
通过高速外围组件互连连接与管理控制器共享所述信息。
21.根据权利要求20所述的产品,其中,与管理控制器共享所述信息包括:将关于所述多个请求中的每一个的信息存储在控制器存储缓冲器中,
其中,所述管理控制器使用关于所述多个请求中的每一个的信息来确定所述存储设备的尾延迟,并且部分地基于应用所请求的服务级别和所述存储设备的所述尾延迟来将所述应用分配给所述存储设备。
22.根据权利要求20所述的产品,其中,通过高速外围组件互连连接与管理控制器共享所述信息包括:将关于所述多个请求中的每一个的信息引导至所述管理控制器。
CN201810315468.8A 2017-04-11 2018-04-10 用于识别具有最低尾延迟的固态盘的系统和方法 Active CN108694022B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762484387P 2017-04-11 2017-04-11
US62/484,387 2017-04-11
US15/653,479 US10545664B2 (en) 2017-04-11 2017-07-18 System and method for identifying SSDs with lowest tail latencies
US15/653,479 2017-07-18

Publications (2)

Publication Number Publication Date
CN108694022A CN108694022A (zh) 2018-10-23
CN108694022B true CN108694022B (zh) 2023-04-28

Family

ID=63711518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810315468.8A Active CN108694022B (zh) 2017-04-11 2018-04-10 用于识别具有最低尾延迟的固态盘的系统和方法

Country Status (3)

Country Link
US (4) US10545664B2 (zh)
KR (1) KR102478392B1 (zh)
CN (1) CN108694022B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10798145B1 (en) * 2017-04-25 2020-10-06 Benjamin J. Garney Analyzing data streams
US10181351B1 (en) * 2017-08-30 2019-01-15 Micron Technology, Inc. Increased NAND performance under high thermal conditions
US11210195B2 (en) * 2018-08-14 2021-12-28 Intel Corporation Dynamic device-determined storage performance
EP4310658A1 (en) * 2022-07-21 2024-01-24 Samsung Electronics Co., Ltd. Electronic device supporting out-of-band communication, and method of operating the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576333A (zh) * 2009-10-05 2012-07-11 马维尔国际贸易有限公司 非易失性存储器中的数据高速缓存
CN103578555A (zh) * 2012-07-19 2014-02-12 三星电子株式会社 非易失性存储器、其的读取方法和包括其的存储系统
CN104765570A (zh) * 2015-03-16 2015-07-08 浪潮集团有限公司 一种基于pci-e多主机共享的存储单元
WO2015194033A1 (ja) * 2014-06-20 2015-12-23 株式会社日立製作所 計算機システム
CN106030552A (zh) * 2014-04-21 2016-10-12 株式会社日立制作所 计算机系统

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191283B2 (en) * 2003-08-21 2007-03-13 International Business Machines Corporation Grouping of storage media based on parameters associated with the storage media
US7147384B2 (en) * 2004-03-26 2006-12-12 3M Innovative Properties Company Small form factor optical connector with thermoplastic adhesive
US7716335B2 (en) * 2005-06-27 2010-05-11 Oracle America, Inc. System and method for automated workload characterization of an application server
JP2012084127A (ja) 2010-09-15 2012-04-26 Toshiba Corp 半導体装置
US8468318B2 (en) 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
WO2012060824A1 (en) * 2010-11-02 2012-05-10 Hewlett-Packard Development Company, L.P. Solid-state disk (ssd) management
US9417803B2 (en) 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
US9043184B1 (en) * 2011-10-12 2015-05-26 Netapp, Inc. System and method for identifying underutilized storage capacity
US20140215177A1 (en) 2012-08-02 2014-07-31 Boo Jin Kim Methods and Systems for Managing Heterogeneous Memories
US20140324862A1 (en) * 2013-04-30 2014-10-30 Splunk Inc. Correlation for user-selected time ranges of values for performance metrics of components in an information-technology environment with log data from that information-technology environment
US8904389B2 (en) * 2013-04-30 2014-12-02 Splunk Inc. Determining performance states of components in a virtual machine environment based on performance states of related subcomponents
US9541987B2 (en) 2013-06-28 2017-01-10 Intel Corporation Generic host-based controller latency method and appartus
US20150089132A1 (en) * 2013-09-23 2015-03-26 Lsi Corporation Dynamic storage volume configuration based on input/output requests
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
JP2015114873A (ja) * 2013-12-12 2015-06-22 富士通株式会社 情報処理装置および監視方法
US9563502B1 (en) * 2013-12-20 2017-02-07 Seagate Technology Llc Read retry operations with read reference voltages ranked for different page populations of a memory
AU2015229802A1 (en) 2014-03-08 2016-10-06 Diamanti, Inc. Methods and systems for converged networking and storage
US9477295B2 (en) * 2014-05-15 2016-10-25 Dell Products, L.P. Non-volatile memory express (NVMe) device power management
CN109766302B (zh) * 2014-09-12 2022-09-16 华为技术有限公司 设备管理的方法和装置
US10156994B2 (en) * 2015-02-27 2018-12-18 Western Digital Technologies, Inc. Methods and systems to reduce SSD IO latency
KR102076196B1 (ko) 2015-04-14 2020-02-12 에스케이하이닉스 주식회사 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법
US9760314B2 (en) * 2015-05-29 2017-09-12 Netapp, Inc. Methods for sharing NVM SSD across a cluster group and devices thereof
US10346425B2 (en) 2015-07-02 2019-07-09 Google Llc Distributed storage system with replica location selection
US10007638B2 (en) * 2015-11-10 2018-06-26 Dell Products, Lp Asynchronous notification including parameter values in serial advanced technology attachment protocol
US9418088B1 (en) * 2015-12-02 2016-08-16 International Business Machines Corporation Identification of storage system elements causing performance degradation
US10536538B2 (en) * 2016-09-16 2020-01-14 Microsoft Technology Licensing, Llc Secure data erasure verification in hyperscale computing systems
US10572397B2 (en) * 2016-09-30 2020-02-25 Hewlett Packard Enterprise Development Lp Masking storage device presence
US10372344B2 (en) * 2016-12-08 2019-08-06 Western Digital Technologies, Inc. Read tail latency reduction
US20180253500A1 (en) * 2017-03-03 2018-09-06 Dell Products, Lp Visual Mapping of Device Alerts
US10866912B2 (en) 2017-03-10 2020-12-15 Toshiba Memory Corporation Integrated heterogeneous solid state storage drive
US10495566B2 (en) * 2017-03-30 2019-12-03 Dell Products L.P. Circuits, systems and methods for corrosion detection
US10686833B2 (en) * 2017-03-31 2020-06-16 Samsung Electronics Co., Ltd. System and method of detecting and countering denial-of-service (DoS) attacks on an NVMe-of-based computer storage array
US10289522B2 (en) * 2017-04-06 2019-05-14 Dell Products, Lp Autonomous information technology diagnostic checks
US10838867B2 (en) * 2017-04-11 2020-11-17 Dell Products, L.P. System and method for amalgamating server storage cache memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576333A (zh) * 2009-10-05 2012-07-11 马维尔国际贸易有限公司 非易失性存储器中的数据高速缓存
CN103578555A (zh) * 2012-07-19 2014-02-12 三星电子株式会社 非易失性存储器、其的读取方法和包括其的存储系统
CN106030552A (zh) * 2014-04-21 2016-10-12 株式会社日立制作所 计算机系统
WO2015194033A1 (ja) * 2014-06-20 2015-12-23 株式会社日立製作所 計算機システム
CN104765570A (zh) * 2015-03-16 2015-07-08 浪潮集团有限公司 一种基于pci-e多主机共享的存储单元

Also Published As

Publication number Publication date
US20200097176A1 (en) 2020-03-26
US10545664B2 (en) 2020-01-28
US11714548B2 (en) 2023-08-01
KR102478392B1 (ko) 2022-12-19
US20210318804A1 (en) 2021-10-14
US11073987B2 (en) 2021-07-27
CN108694022A (zh) 2018-10-23
US20240020001A1 (en) 2024-01-18
KR20180114819A (ko) 2018-10-19
US20180292992A1 (en) 2018-10-11

Similar Documents

Publication Publication Date Title
CN108694022B (zh) 用于识别具有最低尾延迟的固态盘的系统和方法
US11011243B2 (en) Storage device that uses a host memory buffer and a memory management method including the same
US11663328B2 (en) Detection of compromised storage device firmware
US9244865B2 (en) Obtaining diagnostic information through host interfaces
US10552048B2 (en) Reduction of maximum latency using dynamic self-tuning for redundant array of independent disks
CN114746843A (zh) 针对已分化数据恢复配置的存储器健康跟踪
US20240037233A1 (en) Ransomware and malicious software protection in ssd/ufs by nvme instructions log analysis based on machine-learning
US10956245B1 (en) Storage system with host-directed error scanning of solid-state storage devices
US20220179724A1 (en) Method for operating storage device and host device, and storage device
US20220129383A1 (en) Electronic device, automotive device, and data center
CN114840456A (zh) 存储设备的带外管理方法、基板管理控制器和存储设备
EP4148572B1 (en) Computational storage device and storage system including the computational storage device
US20230152984A1 (en) Storage devices configured to obtain data of external devices for debugging
US20240160511A1 (en) Failure prediction apparatus and method for storage devices
US20240045765A1 (en) Storage device and storage system
US20230214258A1 (en) Storage controller and storage device
EP4180997A1 (en) Storage device and operation method thereof
US20230153206A1 (en) Selective rebuild of interrupted devices in data storage device arrays
US20220236912A1 (en) Firmware parameters auto-tuning for memory systems
US20230144135A1 (en) Trusted computing device and operating method thereof
CN115480700A (zh) 数据存储方法、存储设备以及主机
CN116136746A (zh) 存储设备及其操作方法
TW202324096A (zh) 儲存裝置
KR20230070158A (ko) 디버깅을 위해 외부 장치의 데이터를 획득하는 스토리지 장치
CN116108442A (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
GR01 Patent grant
GR01 Patent grant