CN102473130B - 从非易失性块存储设备至处理设备的健康报告 - Google Patents

从非易失性块存储设备至处理设备的健康报告 Download PDF

Info

Publication number
CN102473130B
CN102473130B CN201080031586.8A CN201080031586A CN102473130B CN 102473130 B CN102473130 B CN 102473130B CN 201080031586 A CN201080031586 A CN 201080031586A CN 102473130 B CN102473130 B CN 102473130B
Authority
CN
China
Prior art keywords
storage device
block storage
volatile block
described non
volatile
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
CN201080031586.8A
Other languages
English (en)
Other versions
CN102473130A (zh
Inventor
V.萨多夫斯基
N.S.奥布尔
J.C.博维
R.A.亚历山大
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102473130A publication Critical patent/CN102473130A/zh
Application granted granted Critical
Publication of CN102473130B publication Critical patent/CN102473130B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • 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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • 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
    • 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/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

提供用于基于来自非易失性块存储设备的反馈、使关于处理设备使用非易失性块存储设备的I/O模式进行适应的方法和设备。反馈可以包括指示非易失性块存储设备的状况的信息。响应于接收到反馈,在处理设备上执行的操作系统中包括的存储子系统可以改变关于非易失性块存储设备的行为,以便避免或减少对非易失性块存储设备的负面冲击,或者增强非易失性块存储设备的方面。反馈可以包括非易失性块存储设备的性能信息和/或操作环境信息。当非易失性块存储设备不能提供反馈时,处理设备可以从数据库服务请求关于非易失性块存储设备的信息。

Description

从非易失性块存储设备至处理设备的健康报告
背景技术
非易失性存储设备对于输入/输出模式敏感。例如,在闪存设备中,对于给定存储块的过度重复写入最终将损坏该给定存储块存储数据的能力。一些现有非易失块存储设备采用损耗均衡来将擦除分散到一系列逻辑块地址(LBA)中,以避免或减少对于非易失性块存储设备的负面冲击。然而,现有的非易失性块存储设备通常不向处理设备提供关于闪存单元的持续健康以及处理设备所采用的输入/输出模式的反馈。
当前,处理设备的存储控制器根据被设计到在处理设备上执行的操作系统的存储子系统组件中的输入/输出模式来提交输入/输出流。该存储子系统组件可以调整输入/输出流的某些参数,诸如,缓冲器大小或其他参数。然而,存储子系统组件不完全地使输入/输出模式适应非易失性块存储设备的当前状况。
某些设计的操作系统的存储子系统组件将连接的非易失性块存储设备作为黑箱来处理。这些存储管理器组件可以测量所连接的非易失性块存储设备的响应性,并且可以执行最少的适应性动作,诸如,改变缓冲器的大小,和/或增加线程的数目。
发明内容
提供这个发明内容来以简化形式介绍在下文具体实施方式中进一步描述的概念选集。这个发明内容并非旨在标识所要求主题的关键特征或基本特征,也并非旨在用于限定所要求主题的范围。
在根据本公开主题的第一实施例中,提供一种用于在处理设备的存储设备接口和非易失性块存储设备之间通信的方法。非易失性块存储设备可以向在处理设备上执行的操作系统的存储子系统组件提供反馈。该反馈可以包括指示非易失性块存储设备的状况的信息。响应于反馈的接收,存储子系统组件可以改变关于非易失性块存储设备的行为,以避免或减少对于非易失性块存储设备的负面冲击。
反馈可以包括性能信息和/或操作环境信息。存储子系统组件可以分析在接收到的反馈中包括的信息,并且可以改变行为,诸如,使不同存取模式适应,改变定义处理设备相对于非易失性块存储设备的行为的简档,改变排队方法,改变排队方法所使用的参数,或者执行或不执行另一动作,以便降低对非易失性块存储设备的负面冲击。
在第一实施例的变体中,存储子系统组件可以轮询非易失性块存储设备以便接收反馈。在第一实施例的第二变体中,非易失性块存储设备可以异步地向存储管理器组件提供反馈。
在某些实施例中,存储子系统组件可以确定非易失性块存储设备不能够向处理设备提供反馈。当存储子系统组件确定非易失性块存储设备不能向处理设备提供反馈时,操作系统可以从在远程服务器上实现的数据库服务请求关于非易失性块存储设备的信息。远程服务器可以提供包括非易失性块存储设备的性能特征在内的信息。如果数据库服务未能找到关于非易失性块存储设备的直接匹配,响应于来自操作系统的请求,远程服务器可以提供一般简档,或者可以基于与非易失性块存储设备的相似性来选择简档。性能特征可以包括,但不限于,要用的输入/输入模式、要用的排队方法、要避免的输入/输出模式以及要避免的排队方法。
附图说明
为了描述其中能够获得上述以及其他优势和特征的方式,下文进行更具体的描述,并且将通过参考在附图中所示的特定实施例进行更详细的描述。应理解的是,这些附图仅描绘了典型的实施例,并因此不应被视为对其范围的限定。通过使用附图,将以另外的特定性和细节来描述并解释各实现方式。
图1是可以用于实现根据这个公开主题的实施例的示例性处理设备的框图。
图2是可以用于实现根据这个公开主题的实施例的示例性非易失性块存储设备的框图。
图3示出了用于根据这个公开主题的实施例的示例性操作环境。
图4和5是说明可以在各个实施例的处理设备中执行的示例性处理的流程图。
图6是说明可以在各个实施例中的非易失性块存储设备中执行的处理的流程图。
具体实施方式
下文具体讨论实施例。虽然讨论了特定实现,但应理解的是,这仅是为阐释目的。相关领域的技术人员应明白的是,可以使用其他组件和配置而不脱离这个公开主题的精神和范围。
概述
在根据这个公开主题的多个实施例中,公开了各种方法和设备,以便非易失性块存储设备可以向在处理设备上执行的操作系统的存储子系统组件提供信息。该信息可以指示对于输入/输出(I/O)模式的期望改变,以减少对于非易失性块存储设备的负面冲击,或者增强非易失性块存储设备的方面。
在根据这个公开主题的第一实施例中,在处理设备上执行的操作系统的存储子系统组件可以轮询非易失性块存储设备,以获得关于该非易失性块存储设备的信息。在第二实施例中,非易失性块存储设备可以向存储管理器组件异步地提供信息。
在一个实施例中,非易失性块存储设备可以为存储子系统组件提供使用多个预定义简档之一的指示,其中当使用非易失性块存储设备时,存储子系统组件可以遵循这一简档。各预定简档中的至少某些可以具有关联的I/O模式(诸如,写入模式),其中当与非易失性块存储设备进行通信时,存储管理器组件可以遵循该模式。
在另一实施例中,预定简档可以包括用于避免或减少对于非易失性块存储设备的负面冲击的信息,例如,诸如指示存储子系统组件正在向非易失性块存储设备发送太多短数据写入的信息或者其他信息。
非易失性块存储设备可能不能提供状况信息、用于避免或减少对于非易失性块存储设备的负面冲击的信息或者用于增强非易失性块存储设备的方面的信息。在处理设备上执行的操作系统可以经由网络从数据库服务请求或接收关于非易失性块存储设备的信息。该信息可以包括非易失性块存储设备的性能特征,诸如,例如当向非易失性块存储设备写入时存储子系统可使用的特定写入模式,以及其他信息。
可选的是,存储子系统组件可以从在存储子系统组件本身内的硬编码的表中获得非易失性块存储设备的性能特征。这些表可根据当存储子系统组件正在被写入时的实证发现来构造。
示例性处理设备
图1是示例性处理设备100的框图,示例性处理设备100可以用于实现根据这个公开主题的实施例。处理设备100可以是个人计算机(PC)、手持处理设备或其它类型的处理设备。处理设备100可以包括中央处理单元(CPU)120、系统总线121、系统存储器130、存储设备接口140和网络接口170。
存储设备接口140可以与非易失性存储设备140进行接口。网络接口170可以经由通用网络连接171与网络180进行接口。
CPU120可以包括解释并执行指令的一个或多个常规处理器。
系统存储器130可以包括只读存储器(ROM)131和随机存取存储器(RAM)132。ROM131或其它类型的静态存储设备可以存储用于CPU120的静态信息和指令。RAM132或其它类型的动态存储设备可以存储在由CPU执行指令期间所使用的指令以及临时变量或其他中间信息。
ROM131可以包括固件,诸如,例如基本输入输出系统(BIOS)133。BIOS133可以包括例程集,其与处理设备的硬件一起运作以支持在各个组件(诸如处理设备的监视器和硬盘驱动器)之间的数据传输。
RAM132可以包括操作系统134、可包括用于CPU120的指令集的程序模块135以及程序数据136。因此,CPU120可以执行在有形的机器可读介质(诸如RAM132、ROM131、硬盘、紧致盘(CD)、闪存RAM或其他有形的机器可读介质)上存储的指令。
操作系统134可以包括用于经由系统总线121和存储设备接口140与非易失性存储设备149进行通信的存储子系统137。
系统总线121可以连接至CPU120、系统存储器130、存储设备接口140以及网络接口170,以允许在它们之间的通信。
非易失性存储设备149可以包括磁盘141、闪存RAM设备142和/或其他类型的非易失性存储设备。非易失性存储设备149可以存储信息,诸如例如操作系统144、程序模块145和程序数据146以及其他信息。
网络180可以是有线或无线网络,并且可以包括经由有线或无线装置连接的多个设备。网络180可以包括仅一个网络或多个不同网络,其中的某些可以是不同类型的网络。网络180可以包括分组交换网络、无线网络、ATM网络、帧中继网络、光网络、公共交换电话网络(PSTN)、卫星网络、互联网、内联网、其他类型的网络或上述的任意组合。
图2是可以用在根据这个公开主题的实施例中的非易失性块存储设备149之一的示例性框图。非易失性块存储设备149可以包括总线210、处理器220、RAM230、ROM240、非易失性介质250、通信接口260以及一个或多个传感器((多个)传感器)270。总线210可以连接处理器220、RAM230、ROM240、非易失性介质250、通信接口260和(多个)传感器270。
处理器220可以包括解释和执行指令的一个或多个处理器。RAM230或其它类型的动态存储设备可以存储在由处理器220执行指令期间所使用的指令以及临时变量或其他中间信息。ROM240或其它类型的静态存储设备可以存储用于处理器220的静态信息和指令。在各个实施例中,ROM240可以包括用于监控关于非易失性介质250的处理设备操作以及如前所述的用于向处理设备提供信息或反馈的指令或固件。
非易失性介质250可以是能够以块来存储数据的任意非易失性介质,诸如,例如闪存RAM、盘或其他非易失性介质。
通信接口260可以是用于为存储设备接口140提供通过可编程主机控制器接口来对非易失性块存储设备149之一进行存取的接口,可编程主机控制器接口可以驱动承载命令协议的存储总线传输。
传感器270可以包括用于监控和报告环境条件的一个或多个传感器,诸如例如温度传感器、振动传感器、加速计或其他类型传感器。传感器270可以将关于环境条件的信息搜集到RAM230、非易失性介质250或其他动态存储设备中,以便处理器220可以将关于环境条件的信息报告给连接的处理设备。
示例性操作环境
图3示出了用于根据这个公开主题的实施例的示例性操作环境300。操作环境300可以包括网络302、连接至网络302的处理设备100、处理设备100所连接到的非易失性块存储设备(BSD)306以及连接至网络302的服务器304。
网络302可以是有线或无线网络,并且可以包括经由有线或无线装置连接的多个设备。网络302可以包括仅一个网络或多个不同网络,其中的某些可以是不同类型的网络。网络302可以包括分组交换网络、无线网络、ATM网络、帧中继网络、光网络、公共交换电话网络(PSTN)、卫星网络、互联网、内联网、其他类型的网络或上述的任意组合。
在一个实施例中,处理设备100可以经由网络302接触服务器304,以请求关于BSD306的信息。服务器304可以提供关于非易失性块存储设备的数据库服务,并且可以用关于BSD306的信息应答来自处理设备100的请求。该信息可以包括BSD306的性能特征、当向BSD306写入时要使用的写入模式、当向BSD306写入时要避免的写入模式以及/或者用于避免或减少对于BSD306的负面冲击的其他信息。处理设备100可以接收请求的信息,并且可以使用该信息来更有效地使用BSD306,并且避免或减少对于BSD306的负面冲击。
在某些实施例中,处理设备100可以不从服务器306请求信息,并且可以或可以不被连接至网络302。作为替代,处理设备100可以从BSD306接收反馈。该反馈可以从BSD306异步地提供,可以响应于接收来自处理设备100的轮询而发送,或者可以从在处理设备100内的硬编码表中提供。反馈可以包括BSD306的性能特征、传感器信息、关于BSD306的使用的统计信息、关于BSD306请求处理设备100使用的多个预定简档之一的信息和/或其他信息。处理设备100可以使用该反馈来更有效率地使用BSD306,以及/或者减少对于BSD306的负面冲击。
示例性处理
图4是说明了在根据这个公开主题的实施例中,可以由连接至非易失性块存储设备(BSD)的处理设备执行的示例性处理的流程图。该处理可以始于在处理设备上执行的操作系统的存储子系统组件发现BSD(动作402)。由于检测到来自连接的BSD的电信号、从BSD接收到的命令完成或经由其他方式,存储子系统组件可以发现BSD。
然后,存储子系统组件可以确定BSD是否能够提供反馈(动作404)。存储子系统组件可以基于BSD的类型、由BSD提供的标识符或借助其他方式来做出确定。如果存储子系统组件确定BSD不能提供反馈,那么,存储子系统组件可以确定在处理设备上执行的操作系统是否具有关于BSD的特征的信息(动作405)。如果存储子系统组件确定操作系统确实具有关于BSD的特征的信息,那么,该处理可以完成。
否则,存储子系统组件可以经由网络从提供数据库服务的远程服务器请求BSD的性能特征(动作406)。然后,存储子系统组件可以从远程服务器接收描述BSD性能特征的信息(动作408)。BSD性能特征可以包括要使用的一个或多个类型的I/O模式、要使用的一个或多个排队方法的指示(诸如,例如多个I/O操作聚合成单一数据I/O操作(假定数据不是事务型的或敏感的)以及其他排队方法)、要避免的I/O模式的指示、要避免的排队方法的指示和/或其他信息。
处理设备的存储器可以在其中存储多个预定简档。这些预定简档中的每个可以定义当与BSD进行通信时处理设备的行为。例如,写入模式可以与预定简档的至少某些相关联,排队方法可以与预定简档的至少某些相关联,以及其他处理设备行为。存储子系统组件可以选择与接收到的性能特征最接近对应的预定简档之一,作为要使用的当前简档(动作410)。现在可以完成该处理。
如果在动作404期间,存储子系统组件确定BSD确实提供反馈,那么,存储子系统组件可以确定是否轮询BSD(动作412)。可以基于BSD的类型、由BSD提供的标识符或借助其他方式来做出这种确定。如果存储子系统组件确定BSD要被轮询,那么,存储子系统组件可以启动轮询处理来轮询BSD(动作414)。存储子系统组件可以周期性地或者基于与BSD的输入/输出动作的不规则时间间隔来轮询BSD。在轮询处理期间,BSD可以响应从处理设备接收到的轮询来提供反馈。然后,可以完成该处理。
如果存储子系统组件确定BSD不被轮询,那么,存储子系统组件可以假定BSD异步地提供了反馈。然后,可以完成该处理。
图5是说明了当从BSD接收到输入时,可以由存储子系统组件执行的示例性处理的流程图。该处理可以始于处理设备的操作系统的存储子系统组件从BSD接收输入(动作502)。然后,存储子系统组件可以确定接收到的输入是轮询响应(如果处理设备轮询BSD),还是从BSD异步提供的反馈(如果处理设备不轮询BSD,但BSD确实提供反馈)(动作504)。
如果存储子系统组件确定接收到的输入不是轮询响应或异步提供的反馈,那么,存储子系统组件可以假定来自BSD的输入与关于BSD的输入/输出相关,并且处理设备可以继续不变地执行输入/输出处理(动作506)。然后,可以完成该处理。
如果在动作504期间,存储管理器组件确定输入是轮询响应或异步提供的反馈,那么,存储子系统组件可以分析接收到的输入(动作508)。存储子系统组件可以确定是否基于该接收到的输入来采取任何行动(动作510)。
存储子系统组件可以确定是否基于接收到的输入的内容以及存储管理器组件的当前状况来采取行动。例如,存储子系统组件的当前状况可以包括正在使用的当前预定简档、正在使用的特定I/O模式、正在使用的排队方法、关于BSD的输入/输出控制器的直接存储器存取(DMA)是被启用还是被禁用和/或其他信息。接收到的输入的内容可以包括诸如统计信息和/或性能相关信息之类的信息,诸如例如,每个写入请求的写入数目(也被称为写入放大)、在特定时间间隔中执行的短数据写入的数目、在特定时间间隔中在特定逻辑块地址(LBA)范围上执行的数据写入的数目以及其他统计或性能相关信息。
接收到的输入的内容也可以包括由一个或多个传感器所检测的操作环境数据以及其他或不同环境数据。例如,操作环境数据可以包括温度数据、振动相关数据、加速计相关数据以及其他数据。在一个实施例中,BSD可以确定从BSD上次被使用开始的大致时间量,并且可以将涉及该大致时间量的信息包括在反馈中。在一个实施方式中,BSD可以通过测量在BSD的一个或多个特定LBA的存储单元中剩余的电荷量,来确定大致时间量。Bovee等人的公开美国专利申请2007/0233609中公开了一种基于测量BSD的一个或多个LBA的一个或多个存储单元中剩余的电荷量来确定大致时间段流逝的方法。在其他实施例中,BSD可以经由其他方法来确定大致时间段的流逝。
在某些实施例中,反馈可以包括多个预定简档之一的指示,其中每个简档可以定义关于来自BSD的输入和/或到BSD的输出的处理设备的各自行为。如果BSD不能找到直接匹配期望的各自行为的预定简档,则BSD可以在反馈中包括最接近地定义期望行为的预定简档之一的指示。
如果在动作510期间,存储子系统组件确定不采取行动,那么可以完成处理。否则,存储子系统组件可以确定是否遵循不同的预定简档(动作512)。
如果存储管理器组件确定预定简档将不被改变,那么存储子系统组件可以基于存储管理器组件的当前状况以及从BSD接收的反馈,确定采取多个行动中的哪个(动作514)。
在某些实施例中,反馈可以包括警告,其可以提供关于在BSD内的关键条件的信息,诸如已经被越过或达到的关键性能相关的阈值、已经被越过或达到的关键传感器相关的阈值或其他信息。如果接收到的反馈包括警告,那么在动作514期间,存储子系统组件可以基于接收到的警告确定要采取的行动。
然后,存储子系统组件可以采取所确定的行动(动作516)。确定的行动可以包括改变关于BSD的写入模式,改变关于向BSD输出的排队方法,禁用或启用关于从BSD输入或向BSD输出的直接存储器存取(DMA),调整由处理设备使用来向BSD输出数据的排队方法的一个或多个参数,通知用户停止使用BSD或不同的动作。然后,可以完成该处理。
如果在动作512期间,存储子系统组件确定简档要被改变,那么,存储子系统组件可以确定多个预定简档中的哪一个最接近匹配或满足由提供的反馈所指示的BSD状况(动作518)。然后,处理设备可以将当前简档设置为所找到的简档,以改变存储子系统组件关于BSD的行为(动作520)。然后,可以完成该处理。
图6是说明了根据这个公开主题的实施例中可以由BSD执行的示例性处理的流程图。可以将用于执行由流程图所示动作的指令包括在存储于BSD的ROM或其他静态存储设备中的固件内。
该处理可以始于BSD监控来自处理设备的操作,诸如,输入和输出操作(动作602)。BSD可以保持关于处理设备的I/O模式(诸如,例如读取模式和写入模式)的统计数据和柱状图(动作604)。通过尝试将读取模式和写入模式与预先确定的模板匹配、并且通过搜集可以大致描述I/O请求的随机处理的统计信息,BSD可以实现这一点。假定预定分布为诸如例如正态分布或其他分布,统计信息的示例可以包括,但不限于,对于LBD的区域的小数据写入密度、小数据写入的频率、过长的数据写入部分。在某些实施例中,BSD的固件可以包括随机分布的硬编码描述。在其他实施例中,固件可以包括用于在需要时创建随机分布的描述的指令。
然后,BSD可以确定是否已经观察到来自处理设备的充足数量的操作,以便可以实现某种准确度(动作606)。如果BSD确定从处理设备观察到的操作数量是充足的,BSD可以确定阈值是否已经被越过或达到(动作608)。例如,第一代消费者闪存盘被设计成用于长的顺序写入和大小对准的随机读取。如果BSD包括第一代消费者闪存盘并且BSD观察到处理设备使用对于闪存盘的过度负载的小随机写入(其将导致闪存盘执行写入操作更缓慢并且过早损耗),那么BSD可以报告观察到的来自处理设备的写入频率和大小正越过安全阈值。
如果BSD确定已经越过或达到阈值,那么,BSD可以将反馈提供给处理设备(动作610)。如先前所提及的,反馈可以包括统计信息、预定简档的指示、写入模式的指示、排队模式的指示或处理设备可以用于使关于BSD的行为适应以减少对于BSD的负面冲击的其他信息。
在确定尚未越过阈值之后,在动作608期间,或者将反馈发送至处理设备之后,在动作610期间,BSD可以监控关于一个或多个传感器的信息(动作612)。BSD可以追踪来自一个或多个传感器的监控信息(动作614)。然后,BSD可以确定是否已经观察到来自一个或多个传感器的充足信息,以便可以实现某种程度的准确性(动作616)。如果BSD确定关于一个或多个传感器而观察到的信息量不充足,那么,BSD可以重复动作602。否则,BSD可以确定传感器阈值是否已经被越过(动作618)。例如,温度传感器可以报告温度过高,或者振动传感器可以报告感测到的振动量过高和/或过严重。如果在动作618期间,BSD确定传感器阈值已经被越过,那么BSD可以发送反馈至处理设备(动作620),其包括指示传感器阈值已经被越过的信息。然后,BSD可以重复动作602。
其他
虽然上述实施例的某些说明了BSD向处理设备的存储子系统组件提供反馈,其可以被采用来使行为适应以减少对BSD的负面冲击,但BSD和/或存储子系统组件可以进一步使它们各自行为适应。例如,存储子系统组件可以监控BSD的响应时间,在观察到超长响应时间时,存储子系统组件可以通过改变预定简档、写入模式、读取模式,禁用或启用关于BSD的DMA,改变写入缓冲器的大小,改变排队深度、改变排队方法或做出其他改变而进行适应。
BSD比处理设备更密切了解BSD的性能特征,并且可以通过采取包括,但不限于,将来自处理设备的短数据写入聚合为长数据写入,或者基于由一个或多个传感器报告的信息(诸如,温度信息或其他信息)关闭BSD的部分,来相应地使行为适应。
而且,来自BSD的反馈中提供的信息可以是先前商定的格式,以便异构处理设备能够使用BSD并且基于BSD提供的反馈使它们各自行为适应。
结论
虽然已经以结构特征和/或方法论动作特定的语言描述了主题,但应理解的是,在随附的权利要求中的主题不必然限于上述特定特征或行为。相反,上述的特定特征和动作被公开为用于实现权利要求的示例形式。
描述的实施例的其他配置是这个公开的范围的部分。例如,在其他实施例中,通过处理(诸如图4-6中所示的处理)所执行的动作顺序可以不同,可以按不同顺序执行,以及/或者可以包括另外或其他动作。
因此,随附的权利要求和它们的法律等同限定实施例,而非所给出的任何特定示例。

Claims (22)

1.一种用于使在主机处理设备(100)上执行的操作系统(134)的存储子系统组件(137)对接非易失性块存储设备(141、142)的方法,所述方法包括:
由所述主机处理设备上执行的操作系统的存储子系统组件从所述非易失性块存储设备获得关于所述非易失性块存储设备的性能有关的信息(502、406-408),所述性能有关的信息包括定义所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为的预定简档的指示;以及
由所述主机处理设备上执行的所述操作系统的存储子系统组件至少部分地基于所获得的、关于所述非易失性块存储设备的性能有关的信息,使所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为进行适应(516),其中,所述性能有关的信息包括所述存储子系统组件将采用来更有效地使用所述非易失性块存储设备或来减少对所述非易失性块存储设备的负面冲击的信息,所述性能有关的信息包括:所述操作系统的所述存储子系统组件要使用的用于向所述非易失性块存储设备写入数据的至少一个输入/输出模式的指示;所述操作系统的所述存储子系统组件要使用的用于向所述非易失性块存储设备写入数据的至少一个排队方法的指示;以及所述操作系统的所述存储子系统组件要避免使用的用于向所述非易失性块存储设备写入数据的至少一个输入/输出模式的指示和/或所述操作系统的所述存储子系统组件要避免使用的用于向所述非易失性块存储设备写入数据的至少一个排队方法的指示。
2.根据权利要求1所述的方法,进一步包括:
经由网络从位于远程服务器上的数据库服务请求涉及所述非易失性块存储设备的性能特征的数据,以及
从所述数据库服务接收所述涉及所述非易失性块存储设备的性能特征的数据;其中
所述使所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为进行适应包括:
基于所接收到的、涉及所述非易失性块存储设备的性能特征的数据,选择多个预定简档之一,所述多个预定简档的至少某些定义用于存取所述非易失性块存储设备的相应输入/输出模式。
3.根据权利要求1所述的方法,进一步包括:
从所述非易失性块存储设备接收来自所述非易失性块存储设备的传感器的环境信息;
所述使所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为进行适应包括:
基于所述性能有关的信息和所述环境信息中的至少一个将多个预定简档之一设置为当前简档,所述多个预定简档之一是所述多个预定简档中、最接近满足如所述性能有关的信息和所述环境信息中的至少一个所指示的非易失性块存储设备的状态的简档。
4.根据权利要求1所述的方法,其中,所述获得关于所述非易失性块存储设备的性能有关的信息包括:
从所述非易失性块存储设备接收指示所述操作系统的存储子系统组件将使用来向所述非易失性块存储设备写入数据的输入/输出模式的通信。
5.根据权利要求1所述的方法,其中:
所述使所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为进行适应包括:
基于所接收到的、关于所述非易失性块存储设备的性能有关的信息,选择多个预定简档之一,所述多个预定简档的至少某些定义了用于存取所述非易失性块存储设备的相应输入/输出模式;以及
所述多个预定简档与相应多个排队方法相关联。
6.根据权利要求5所述的方法,其中,所述多个排队方法之一包括:
将多个输入/输出操作聚合到用于所述非易失性块存储设备的单一输入/输出操作。
7.根据权利要求1所述的方法,进一步包括:
轮询所述非易失性块存储设备;以及
响应所述轮询,接收来自所述非易失性块存储设备的性能有关的信息。
8.根据权利要求1所述的方法,其中,所述获得关于所述非易失性块存储设备的性能有关的信息进一步包括:
异步接收关于所述非易失性块存储设备的性能有关的信息。
9.一种用于使在主机处理设备(100)上执行的操作系统(134)的存储子系统组件(137)对接非易失性块存储设备(141、142)的设备,所述设备包括:
由所述主机处理设备上执行的操作系统的存储子系统组件从所述非易失性块存储设备获得关于所述非易失性块存储设备的性能有关的信息(502、406-408)的组件,所述性能有关的信息包括定义所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为的预定简档的指示;以及
由所述主机处理设备上执行的所述操作系统的存储子系统组件至少部分地基于所获得的、关于所述非易失性块存储设备的性能有关的信息,使所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为进行适应的组件,其中,所述性能有关的信息包括所述存储子系统组件将采用来更有效地使用所述非易失性块存储设备或来减少对所述非易失性块存储设备的负面冲击的信息,所述性能有关的信息包括:所述操作系统的所述存储子系统组件要使用的用于向所述非易失性块存储设备写入数据的至少一个输入/输出模式的指示;所述操作系统的所述存储子系统组件要使用的用于向所述非易失性块存储设备写入数据的至少一个排队方法的指示;以及所述操作系统的所述存储子系统组件要避免使用的用于向所述非易失性块存储设备写入数据的至少一个输入/输出模式的指示和/或所述操作系统的所述存储子系统组件要避免使用的用于向所述非易失性块存储设备写入数据的至少一个排队方法的指示。
10.根据权利要求9所述的设备,进一步包括:
经由网络从位于远程服务器上的数据库服务请求涉及所述非易失性块存储设备的性能特征的数据的组件,以及
从所述数据库服务接收所述涉及所述非易失性块存储设备的性能特征的数据的组件;其中
所述使所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为进行适应包括:
基于所接收到的、涉及所述非易失性块存储设备的性能特征的数据,选择多个预定简档之一,所述多个预定简档的至少某些定义用于存取所述非易失性块存储设备的相应输入/输出模式。
11.根据权利要求9所述的设备,进一步包括:
从所述非易失性块存储设备接收来自所述非易失性块存储设备的传感器的环境信息的组件;
所述使所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为进行适应包括:
基于所述性能有关的信息和所述环境信息中的至少一个将多个预定简档之一设置为当前简档,所述多个预定简档之一是所述多个预定简档中、最接近满足如所述性能有关的信息和所述环境信息中的至少一个所指示的非易失性块存储设备的状态的简档。
12.根据权利要求9所述的设备,其中,所述获得关于所述非易失性块存储设备的性能有关的信息包括:
从所述非易失性块存储设备接收指示所述操作系统的存储子系统组件将使用来向所述非易失性块存储设备写入数据的输入/输出模式的通信。
13.根据权利要求9所述的设备,其中:
所述使所述操作系统的所述存储子系统组件关于所述非易失性块存储设备的行为进行适应包括:
基于所接收到的、关于所述非易失性块存储设备的性能有关的信息,选择多个预定简档之一,所述多个预定简档的至少某些定义了用于存取所述非易失性块存储设备的相应输入/输出模式;以及
所述多个预定简档与相应多个排队方法相关联。
14.根据权利要求13所述的设备,其中,所述多个排队方法之一包括:
将多个输入/输出操作聚合到用于所述非易失性块存储设备的单一输入/输出操作。
15.根据权利要求9所述的设备,进一步包括:
轮询所述非易失性块存储设备的组件;以及
响应所述轮询,接收来自所述非易失性块存储设备的性能有关的信息的组件。
16.根据权利要求9所述的设备,其中,所述获得关于所述非易失性块存储设备的性能有关的信息进一步包括:
异步接收关于所述非易失性块存储设备的性能有关的信息。
17.一种用于使在主机处理设备上执行的操作系统(134)的存储子系统组件(137)对接非易失性块存储设备(141、142)的方法,所述方法包括:
监控来自所述处理设备的操作模式,以及
从所述非易失性块存储设备向所述处理设备提供反馈,所述反馈包括能够被所述处理设备用于调整对所述非易失性块存储设备(141、142)写入的模式的信息以更有效地使用非所述易失性块存储设备,所述反馈包括:所述操作系统的所述存储子系统组件要使用的用于向所述非易失性块存储设备写入数据的至少一个输入/输出模式的指示;所述操作系统的所述存储子系统组件要使用的用于向所述非易失性块存储设备写入数据的至少一个排队方法的指示;以及所述操作系统的所述存储子系统组件要避免使用的用于向所述非易失性块存储设备写入数据的至少一个输入/输出模式的指示和/或所述操作系统的所述存储子系统组件要避免使用的用于向所述非易失性块存储设备写入数据的至少一个排队方法的指示。
18.根据权利要求17所述的方法,进一步包括:
将来自所述非易失性块存储设备的传感器的环境信息包括在提供给所述处理设备的所述反馈中。
19.根据权利要求17所述的方法,进一步包括:
所述非易失性块存储设备响应所述处理设备的轮询而向所述处理设备提供反馈。
20.根据权利要求17所述的方法,其中,所述反馈包括预定简档,其定义用于所述处理设备使用所述非易失性块存储设备的特定行为,以便避免或减少对于所述非易失性块存储设备的负面冲击,或者增强所述非易失性块存储设备的方面。
21.根据权利要求17所述的方法,其中,所述反馈包括描述当存取所述非易失性块存储设备时不被所述处理设备使用的一个或多个输入/输出模式的信息。
22.根据权利要求17所述的方法,进一步包括:
改变存取所述非易失性存储介质的模式以便减少对所述非易失性块存储设备的负面冲击。
CN201080031586.8A 2009-07-13 2010-07-06 从非易失性块存储设备至处理设备的健康报告 Active CN102473130B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/501,562 US8812770B2 (en) 2009-07-13 2009-07-13 Health reporting from non-volatile block storage device to processing device
US12/501562 2009-07-13
PCT/US2010/041016 WO2011008586A2 (en) 2009-07-13 2010-07-06 Health reporting from non-volatile block storage device to processing device

Publications (2)

Publication Number Publication Date
CN102473130A CN102473130A (zh) 2012-05-23
CN102473130B true CN102473130B (zh) 2015-11-25

Family

ID=43428329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080031586.8A Active CN102473130B (zh) 2009-07-13 2010-07-06 从非易失性块存储设备至处理设备的健康报告

Country Status (10)

Country Link
US (3) US8812770B2 (zh)
EP (1) EP2454668B1 (zh)
JP (1) JP2012533132A (zh)
KR (1) KR101683942B1 (zh)
CN (1) CN102473130B (zh)
BR (1) BR112012000893A2 (zh)
CA (1) CA2766181A1 (zh)
RU (1) RU2012101109A (zh)
TW (1) TW201106367A (zh)
WO (1) WO2011008586A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012060824A1 (en) * 2010-11-02 2012-05-10 Hewlett-Packard Development Company, L.P. Solid-state disk (ssd) management
US10359949B2 (en) * 2011-10-31 2019-07-23 Apple Inc. Systems and methods for obtaining and using nonvolatile memory health information
US8991483B2 (en) 2012-07-30 2015-03-31 Cyrus Aspi Irani Apparatus and method for representative fluid sampling
KR102211126B1 (ko) * 2014-04-17 2021-02-02 삼성전자주식회사 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법
CN104050071B (zh) * 2014-06-30 2017-02-08 苏州科达科技股份有限公司 存储设备失效预警方法及系统
CN109766302B (zh) * 2014-09-12 2022-09-16 华为技术有限公司 设备管理的方法和装置
US9830226B2 (en) * 2015-06-25 2017-11-28 Dell Products, L.P. Proactive fault avoidance
JP6414853B2 (ja) * 2015-12-14 2018-10-31 東芝メモリ株式会社 メモリシステムおよび制御方法
CN107229657A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 数据迁移方法及装置
US11003381B2 (en) * 2017-03-07 2021-05-11 Samsung Electronics Co., Ltd. Non-volatile memory storage device capable of self-reporting performance capabilities

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101063962A (zh) * 2006-04-28 2007-10-31 联发科技股份有限公司 管理大容量存储装置的方法及电子装置
CN101078915A (zh) * 2001-07-05 2007-11-28 大日本屏影象制造株式会社 管理衬底处理装置的装置信息的衬底处理系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658202B1 (en) 1998-09-09 2003-12-02 Smartdisk Portable data transfer and mass storage device for removable memory modules
US7457897B1 (en) 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
WO2001075618A2 (en) 2000-03-31 2001-10-11 Dataplay, Inc. Asynchronous input/output interface protocol
US7152142B1 (en) 2002-10-25 2006-12-19 Copan Systems, Inc. Method for a workload-adaptive high performance storage system with data protection
JP4479284B2 (ja) 2004-03-08 2010-06-09 株式会社日立製作所 計算機システムのモニタリングを設定する管理計算機及びシステム
WO2006037091A2 (en) 2004-09-28 2006-04-06 Storagedna, Inc. Managing disk storage media
JP2008112292A (ja) 2006-10-30 2008-05-15 Hitachi Ltd ストレージシステム及びストレージシステムの電源供給制御方法
KR100782113B1 (ko) 2006-11-13 2007-12-05 삼성전자주식회사 메모리 카드 시스템 및 그것의 호스트 식별 정보 전송 방법
US20080172519A1 (en) 2007-01-11 2008-07-17 Sandisk Il Ltd. Methods For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device
US8429677B2 (en) 2007-04-19 2013-04-23 Microsoft Corporation Composite solid state drive identification and optimization technologies
US8429328B2 (en) 2007-06-29 2013-04-23 Sandisk Technologies Inc. System for communicating with a non-volatile memory storage device
US20090055465A1 (en) 2007-08-22 2009-02-26 Microsoft Corporation Remote Health Monitoring and Control
US8327066B2 (en) * 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101078915A (zh) * 2001-07-05 2007-11-28 大日本屏影象制造株式会社 管理衬底处理装置的装置信息的衬底处理系统
CN101063962A (zh) * 2006-04-28 2007-10-31 联发科技股份有限公司 管理大容量存储装置的方法及电子装置

Also Published As

Publication number Publication date
US20140359206A1 (en) 2014-12-04
TW201106367A (en) 2011-02-16
WO2011008586A2 (en) 2011-01-20
KR101683942B1 (ko) 2016-12-07
WO2011008586A3 (en) 2011-03-31
CA2766181A1 (en) 2011-01-20
US9286211B2 (en) 2016-03-15
US9552273B2 (en) 2017-01-24
EP2454668A2 (en) 2012-05-23
RU2012101109A (ru) 2013-07-20
CN102473130A (zh) 2012-05-23
EP2454668B1 (en) 2018-10-17
US8812770B2 (en) 2014-08-19
JP2012533132A (ja) 2012-12-20
US20160124831A1 (en) 2016-05-05
BR112012000893A2 (pt) 2016-02-23
EP2454668A4 (en) 2012-11-28
KR20120036346A (ko) 2012-04-17
US20110010487A1 (en) 2011-01-13

Similar Documents

Publication Publication Date Title
CN102473130B (zh) 从非易失性块存储设备至处理设备的健康报告
US10147048B2 (en) Storage device lifetime monitoring system and storage device lifetime monitoring method thereof
US7324922B2 (en) Run-time performance verification system
US7992061B2 (en) Method for testing reliability of solid-state storage medium
CN101419844B (zh) 一种闪存器件仿真设备以及闪存主控模块评测方法
CN108269606B (zh) 一种用于eMMC芯片存储参数测试的方法及系统
CN105893168A (zh) 硬盘健康状况分析方法和装置
WO2021126398A1 (en) Behavior-driven die management on solid-state drives
CN112416670A (zh) 硬盘测试方法、装置、服务器和存储介质
CN111028881B (zh) 一种Open Block测试装置、方法及系统
CN102986151A (zh) 监视系统及数据传输装置和方法
CN116089124A (zh) 一种仿真系统通信方法、装置、介质
CN114356218B (zh) Flash存储器的数据纠错方法、设备以及介质
CN116469442B (zh) 芯片数据保持时间的预测方法、装置及存储介质
CN114356061B (zh) 电源故障检测方法、装置、系统以及检测设备
CN109697144B (zh) 一种电子设备的硬盘检测方法及电子设备
CN114780320A (zh) 固态硬盘smart数据写入量统计的测试验证方法和装置
CN118035058A (zh) 一种剩余寿命确定方法、装置、设备及介质
CN112162709A (zh) 查询数据正确性的方法、装置、计算机设备及存储介质
CN116820339A (zh) 磁盘状态的确定方法及装置、存储介质及电子装置
CN115292109A (zh) Ssd性能评价方法、装置、计算机设备及存储介质
CN114936905A (zh) 闪存的筛选方法、装置、存储介质及计算机设备
CN115660019A (zh) 一种基于云计算平台的刀具数据监管系统及其方法
CN116185849A (zh) 一种针对存储产品进行性能测试的方法及相关装置
CN115562588A (zh) 虚拟磁盘阵列配置方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150626

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150626

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant