CN110383250A - 配置为使用无线接口执行操作的数据存储设备 - Google Patents
配置为使用无线接口执行操作的数据存储设备 Download PDFInfo
- Publication number
- CN110383250A CN110383250A CN201880015798.3A CN201880015798A CN110383250A CN 110383250 A CN110383250 A CN 110383250A CN 201880015798 A CN201880015798 A CN 201880015798A CN 110383250 A CN110383250 A CN 110383250A
- Authority
- CN
- China
- Prior art keywords
- equipment
- data storage
- storage device
- memory
- data
- 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.)
- Granted
Links
- 238000013500 data storage Methods 0.000 title claims description 209
- 230000015654 memory Effects 0.000 claims abstract description 292
- 238000000034 method Methods 0.000 claims description 62
- 230000004044 response Effects 0.000 claims description 46
- 238000004891 communication Methods 0.000 claims description 43
- 230000007704 transition Effects 0.000 claims description 43
- 238000012546 transfer Methods 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 claims description 13
- 230000006399 behavior Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000003860 storage Methods 0.000 description 52
- 239000000872 buffer Substances 0.000 description 30
- 239000000758 substrate Substances 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 12
- 239000004065 semiconductor Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000000151 deposition Methods 0.000 description 6
- 239000010410 layer Substances 0.000 description 6
- 238000011017 operating method Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 238000010079 rubber tapping Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 240000004246 Agave americana Species 0.000 description 1
- 235000008754 Agave americana Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000002105 nanoparticle Substances 0.000 description 1
- 230000000631 nonopiate Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0748—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
- G06F11/201—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种装置,该装置包括非易失性存储器和耦接到该非易失性存储器的存储器控制器。该存储器控制器包括被配置为执行第一操作和第二操作的处理器,并且还包括被配置为与第一设备通信的接入设备接口。该存储器控制器还包括无线接口,该无线接口被配置为与第二设备通信,以将与第二操作相关联的数据转移到第二设备,从而能够在第二设备处执行第二操作的一个或多个任务。
Description
技术领域
本公开整体涉及电子设备,并且更具体地讲,涉及由电子设备使用以存储数据的数据存储设备。
背景技术
数据存储设备使用户能够存储和检索数据。数据存储设备的示例包括易失性存储器设备和非易失性存储器设备。非易失性存储器可以在断电事件之后保留数据,而易失性存储器可能在断电事件之后丢失数据。
在一些情况下,数据存储设备可能经历故障事件(例如,“崩溃”)。指示数据存储设备的操作状态的数据可以从数据存储设备中读出,以便使测试计算机能够调试数据存储设备。在一些情况下,数据存储设备的一个或多个组件可以被物理地访问或移除以检索数据(例如,通过移除和探测数据存储设备的组件)。
在一些情况下,访问数据存储设备以获得数据可能很困难。例如,企业存储系统可包括大量难以物理地访问或移除以进行调试的数据存储设备。在这种情况下,指示故障存储设备的操作状态的数据可能难以检索。
附图说明
图1是包括被配置为使用无线接口执行操作的数据存储设备的系统的特定说明性示例的框图。
图2是包括图1的系统的某些说明性组件的系统的特定说明性示例的框图。
图3是诸如图1的数据存储设备的数据存储设备的操作方法的特定说明性示例的流程图。
图4是诸如图1的数据存储设备的数据存储设备的操作方法的另一特定说明性示例的流程图。
图5是诸如图1的数据存储设备的数据存储设备的操作方法的另一特定说明性示例的流程图。
图6是诸如图1的数据存储设备的数据存储设备的操作方法的另一特定说明性示例的流程图。
图7是数据存储设备的操作方法的另一特定说明性示例的流程图,诸如通过图1的数据存储设备来执行负载平衡操作。
图8是数据存储设备的操作方法的另一特定说明性示例的流程图,诸如通过图1的数据存储设备来执行故障转移操作。
具体实施方式
根据本公开的某些方面的数据存储设备包括无线接口。在特定示例中,无线接口被配置为向另一设备(例如,测试设备)提供数据,以使另一设备能够执行一个或多个故障分析操作(例如,以调试数据存储设备)。例如,数据存储设备可以检测故障事件,诸如经由有线接口与主机设备的通信丢失,或者另一故障事件。响应于检测到故障事件,数据存储设备可以自动地(例如,“实时”或接近实时地)向测试设备提供指示数据存储设备的操作状态的数据。通过自动地向测试设备提供数据,可以在不要求数据存储设备“重复”故障事件的情况下执行故障分析操作,如在没有实时地(或接近实时地)向测试设备提供数据的某些应用中。例如,远程用户可以登录到数据存储设备(例如,经由安全无线连接)来访问数据,以便能够基于数据存储设备的当前状态进行故障分析(并且不“重复”故障事件)。
另选地或除此之外,数据存储设备可以向另一设备提供数据,以使另一设备能够执行“故障转移”操作,从而在数据存储设备变得对访问设备不可用的情况下承担数据存储设备的功能。故障转移操作可以使另一设备能够拦截指向数据存储设备的读取和写入请求,并与数据存储设备无线地通信以执行这些请求。另一设备还可以被配置为执行故障分析操作(例如,以通过与数据存储设备的无线数据通信来执行一个或多个调试任务)。在一些实施方式中,无线接口的使用有益地避免了从企业存储系统物理地移除数据存储设备或者将电缆物理地连接到数据存储设备的过程,这在一些应用中可能是困难的。
在一些情况下,无线接口用于将某些操作“卸载”到另一设备(例如,结合负载平衡操作),而接入设备利用数据存储设备的有线接口。例如,数据存储设备可以执行低优先级过程,诸如垃圾收集过程。如果数据存储设备经由有线接口从接入设备接收到一个或多个命令,则数据存储设备可以将垃圾收集过程的一个或多个任务“卸载”到第二设备。卸载一个或多个任务可以使数据存储设备能够避免延迟垃圾收集过程或中断对一个或多个主机命令的处理。
另选地或除此之外,无线接口可以用于在故障事件的情况下向第二设备提供数据的冗余副本,诸如通过向第二设备提供控制表的副本。在该示例中,在控制表损坏的情况下(例如,由于故障事件),数据存储设备向第二设备提供对控制表的副本的请求(例如,经由无线接口)。在说明性示例中,数据存储设备与第二设备“配对”,使得每个设备为另一设备存储某些数据的副本。
下面参考附图描述本公开的特定方面。在描述中,共同的特征由共同的附图标记表示。尽管本文参考数据存储设备描述了某些示例,但是应当理解,本文所述技术可应用于其他实施方式。此外,应当理解,某些序数术语(例如,“第一”或“第二”)可能为了便于参考而提供,并且不一定意味着物理特征或排序。因此,如本文所用,用于修饰要素诸如结构、组件、操作等的序数术语(例如,“第一”、“第二”、“第三”等),并不一定指示该要素相对于另一个要素的优先级或顺序,而是将该要素与具有相同名称(如果没有使用序数术语)的另一个要素区分开来。此外,如本文所用,不定冠词(“a”和“an”)可以指示“一个或多个”,而不是“一个”。此外,“基于”条件或事件执行的操作也可以基于未明确陈述的一个或多个其他条件或事件来执行。如本文所用,“示例性”可以指示示例、实施方式和/或方面,并且不应该被解释为限制或指示偏好或优选示例、实施方式和/或方面。
参见图1,描绘了系统的说明性示例,并且通常将其表示为100。系统100包括数据存储设备102(例如,装置)、第一设备180(例如,主机设备或接入设备)和第二设备182(例如,第二数据存储设备)。在非限制性说明性示例中,系统100对应于包括第一数据存储设备(例如,数据存储设备102)和第二数据存储设备(例如,第二设备182)的企业存储系统。在特定说明性示例中,数据存储设备102被配置为与第二设备182无线地通信,以避免从企业存储系统物理地移除数据存储设备102或者将电缆连接到数据存储设备102的过程,这在某些情况下可能是困难的。另选地或除此之外,数据存储设备102可以被配置为与第二设备182无线地通信,以执行一个或多个其他操作,诸如负载平衡操作,该操作包括将操作的执行从数据存储设备102转移到第二设备182。
数据存储设备102包括存储器设备103(例如,一个或多个存储器管芯)和存储器控制器130。存储器控制器130耦接到存储器设备103。在一些实施方式中,数据存储设备102集成在(例如嵌入在)第一设备180内,诸如与固态驱动器(SSD)实施方式结合。
存储器设备103包括非易失性存储器104,诸如包括在一个或多个存储器管芯中的存储元件的非易失性阵列。作为说明性示例,非易失性存储器104可以包括闪存存储器(例如,NAND闪存存储器)或电阻存储器,诸如电阻随机存取存储器(ReRAM)。非易失性存储器104可以具有三维(3D)存储器配置。如本文所用,3D存储器设备可以包括多个物理级的存储元件(而不是像在平面存储器设备中那样具有单个物理级的存储元件)。作为示例,非易失性存储器104可以具有3D垂直位线(VBL)配置。在特定实施方式中,非易失性存储器104是具有3D存储器阵列配置的非易失性存储器,该配置被单片形成在具有设置在硅基板上方的有源区域的存储器单元阵列的一个或多个物理级中。另选地,非易失性存储器104可以具有另一种配置,诸如二维(2D)存储器配置或非单片3D存储器配置(例如,堆叠管芯3D存储器配置)。
非易失性存储器104包括存储元件的一个或多个区域。存储区域的示例是块,诸如存储元件的NAND闪存擦除组或ReRAM实施方式中的一组基于电阻的存储元件。存储区域的另一个示例是存储元件的字线(例如,NAND闪存存储元件的字线或基于电阻的存储元件的字线)。作为说明性示例,存储区域可以具有单层单元(SLC)配置、多层单元(MLC)配置或三层单元(TLC)配置。非易失性存储器104的每个存储元件可以被编程为指示一个或多个值的状态(例如,闪存配置中的阈值电压或电阻存储器配置中的电阻状态)。作为示例,在说明性TLC方案中,存储元件可编程为指示三个值的状态。作为附加示例,在说明性MLC方案中,存储元件可编程为指示两个值的状态。
存储器设备103包括支持电路(例如,读取/写入电路116),以支持存储器设备103的操作,诸如存储器设备103的一个或多个存储器管芯的操作。读取/写入电路116可以是单个组件,或者可以被分成存储器设备103的独立组件,诸如读取电路和写入电路。
存储器设备103经由通信路径诸如总线耦接到存储器控制器130。例如,通信路径可以包括一个或多个信道,以使存储器控制器130能够与存储器设备103的单个存储器管芯通信。作为另一个示例,通信路径可以包括多个不同的信道(例如,多个通信信道),以使存储器控制器130能够与存储器设备103的每个存储器管芯并行通信,并且独立于与存储器设备103的其他存储器管芯的通信。
存储器控制器130包括被配置为与存储器设备103通信的存储器接口132,并且还包括被配置为与第一设备180通信的接入设备接口172。存储器控制器130被配置为经由接入设备接口172从第一设备180接收数据174,诸如与对非易失性存储器104的写入访问请求结合。存储器控制器130被配置为将数据174(或数据174的表示,诸如数据174的编码表示)发送到存储器设备103(例如,经由存储器接口132)。存储器设备103被配置为将数据174存储到非易失性存储器104。
存储器控制器130被配置为从非易失性存储器104访问数据174。作为说明性示例,存储器控制器130可以接收对数据174的读取访问请求。存储器控制器130可以向存储器设备103发送读取命令,以发起数据174的读取。响应于读取命令,存储器设备103可以使用读取/写入电路116来感测数据174,以生成感测的数据。根据特定实施方式,感测的数据可以包括代表数据174的一组硬位、代表数据174的一组软位或两者。在一些情况下,由于一个或多个位错误,感测的数据可能不同于数据174。
存储器设备103可以向存储器控制器130提供感测的数据。存储器控制器130被配置为从存储器设备103接收感测的数据(例如,经由存储器接口132)。存储器控制器130可以被配置为解码感测的数据(例如,通过校正感测的数据的一个或多个位错误以生成数据174),并将解码的数据提供给第一设备180。
存储器控制器130还包括无线接口176。无线接口176被配置为与一个或多个设备通信,诸如第一设备180、第二设备182或另一设备中的一个或多个。无线接口176被配置为根据一个或多个无线通信协议使用一个或多个无线通信信道进行通信。在图1的示例中,无线接口176包括无线控制器190。图1还示出了天线192可以耦接到无线控制器190。
作为说明性示例,无线控制器190被配置为控制经由无线接口176发送的数据的传输,诸如通过确定发送数据的特定通信信道或者通过应用调制和编码方案(MCS)来编码数据。无线接口176可以包括被配置为向第二设备182传输数据的发射器。无线接口176可以包括被配置为从第二设备182接收数据的接收器。在一些实施方式中,作为说明性的非限制性示例,无线接口176被配置为根据协议(是Bluetooth SIG,Inc.的注册商标)、协议(是ZigBee Alliance的注册商标)、低功率无线个人区域网(6LoWPAN)协议上的互联网协议版本6(IPv6)、电气和电子工程师协会(IEEE)协议(例如,IEEE 802.15.4协议)或近场通信(NFC)协议中的一者或多者来操作。
接入设备接口172可以对应于带内接口,并且无线接口176可以对应于带外接口。如本文所用,“带内”接口可以指主接口(例如,默认情况下用于对非易失性存储器104的存储器访问操作的接口),并且“带外”接口可以对应于辅助接口(例如,用于辅助通信的接口,诸如响应于与接入设备接口172相关联的故障条件)。
存储器控制器130还包括一个或多个处理器,诸如处理器144。在一些实施方式中,处理器144包括多于一个处理器(例如,两个处理器、三个处理器或另一数量的处理器)。在说明性示例中,处理器144对应于存储器控制器130的中央处理单元(CPU)。处理器144被配置为控制数据存储设备102的操作,诸如通过控制对非易失性存储器104的读取操作、对非易失性存储器104的写入操作、其他操作或它们的组合。处理器144可以被配置为执行固件106的指令,作为说明性示例,该指令可以从非易失性存储器104或者从包括在存储器控制器130中的存储器(诸如只读存储器(ROM))接收。
在图1的示例中,存储器控制器130还包括任务队列146、比较器电路136和加密引擎134。图1还示出了存储器控制器130包括操作转移管理器152。
操作转移管理器152耦接到数据存储设备102的一个或多个组件,诸如任务队列146、处理器144或比较器电路136中的一个或多个。在特定的说明性示例中,操作转移管理器152耦接到任务队列146,并且被配置为检测任务队列146的“深度”(例如,操作的数量)。例如,操作转移管理器152可以包括计数器电路,该计数器电路被配置为确定由任务队列146排队的操作的多个指示。另选地或除此之外,操作转移管理器152可以耦接到处理器144,并且被配置为检测处理器144的状态(例如,处理器144是否忙碌)。例如,操作转移管理器152可以包括“窥探器”电路,其被配置为“窥探”处理器144的一个或多个组件,以确定处理器144的状态。在另一示例中,处理器144包括控制寄存器,并且被配置为设置控制寄存器的一个或多个位来指示状态(例如,忙碌或可用)。在该示例中,操作转移管理器152可以包括被配置为访问控制寄存器以确定处理器144的状态的查询电路。
数据存储设备102可以按照行业规范操作。例如,数据存储设备102可以包括SSD,并且可以被配置为使用小型计算机系统接口(SCSI)类型的协议,诸如串行连接的SCSI(SAS)协议,与第一设备180通信。作为其他示例,数据存储设备102可以被配置为使用作为说明性示例的NVM Express(NVMe)协议或串行高级技术附件(SATA)协议与第一设备180通信。在其他示例中,作为说明性的非限制性示例,数据存储设备102按照JEDEC eMMC规范、JEDEC通用闪存存储(UFS)规范、一种或多种其他规范或其组合进行操作,并且被配置为使用一种或多种协议进行通信,诸如eMMC协议、通用闪存存储(UFS)协议、一个或多个其他协议或其任意组合。
第一设备180和第二设备182各自包括处理器和存储器(未示出)。在特定示例中,存储器可以存储指令,该指令可由处理器执行以测试数据存储设备102的操作或调试数据存储设备102。例如,第一设备180可以测试数据存储设备102以验证(或限定)数据存储设备102的使用。
第一设备180经由连接诸如总线耦接到数据存储设备102。作为说明性示例,第一设备180和数据存储设备102可以经由通用串行总线(USB)连接器或通用异步接收器/发射器(UART)连接器耦接。第一设备180包括接口(未示出),并且被配置为经由接口与数据存储设备102通信,以从数据存储设备102读取数据和向数据存储设备102写入数据。例如,第一设备180可以根据有线通信协议与数据存储设备102通信。在一些实施方式中,第一设备180被进一步配置为与数据存储设备102无线通信(例如,经由无线接口176)。
第二设备182被配置为经由无线连接与数据存储设备102通信。第二设备182可以包括无线接口(未示出),并且可以被配置为经由无线接口与数据存储设备102通信,以从数据存储设备102读取数据和向数据存储设备102写入数据。例如,第二设备182可以根据无线通信协议与数据存储设备102通信。
在操作期间,处理器144执行指令,诸如通过执行固件106。处理器144可以从任务队列146访问操作的指示。例如,处理器144可以访问第一操作148的指示和第二操作150的指示。在一些实施方式中,第一操作148的指示包括指示第一操作148的操作类型的第一操作码,并且第二操作150的指示包括指示第二操作150的操作类型的第二操作码。
操作转移管理器152被配置为使用无线接口176将一个或多个任务转移到第二设备182。例如,操作转移管理器152可以被配置为转移由任务队列146指示的一个或多个操作,诸如响应于检测到触发事件。在说明性示例中,检测触发事件包括检测在数据存储设备102处的故障事件。在这种情况下,故障分析操作可以被转移到第二设备182(例如,以使第二设备182或另一设备能够调试数据存储设备102)。在一些实施方式中,故障分析操作被“实时地”(或接近实时地)转移到第二设备182,以避免需要重复故障事件。另选地或除了故障分析操作的转移之外,可以响应于检测到故障事件来执行“故障转移”操作(例如,使用第二设备182或另一设备,通过承担数据存储设备102的一个或多个功能来“替代”数据存储设备102)。检测触发事件的另一示例是检测处理器144的资源是否不可用于执行操作。在这种情况下,可以将操作转移到第二设备182,以使第二设备182能够执行该操作,诸如与负载平衡操作结合(例如,在处理器144执行诸如更高优先级操作的另一操作时)。
为了进一步说明,在一些情况下,存储器控制器130可以检测故障事件,诸如与第一设备180的通信丢失(例如,响应于接入设备接口172的故障)。作为非限制性说明性示例,接入设备接口172可以包括有线接口,并且故障事件可以基于有线接口中的短路而发生。在该示例中,操作转移管理器152可以指示无线接口176将数据179发送到第二设备182(例如,结合临时将数据存储设备102的一个或多个操作转移到另一设备的故障转移操作)。
在故障转移操作的一些示例中,数据存储设备102被配置为经由无线接口176从第二设备182接收指令188。指令188可以对应于来自第一设备180的访问数据存储设备102的请求。数据存储设备102可以执行指令188(例如,使用处理器144)来生成结果189,并且可以经由无线接口176将结果189传输到第二设备182。
另选地或除了故障转移操作之外,数据179可以响应于在数据存储设备102处的故障事件而与调试操作结合使用。在一些示例中,数据179指示数据存储设备102在故障事件时的操作状态,以使第二设备182(或另一设备)能够调试数据存储设备102。在特定示例中,第二操作150包括一个或多个故障分析任务(例如,确定故障事件的原因),并且数据179与一个或多个故障分析任务相关联。
存储器控制器130可以被配置为响应于检测到与存储器控制器130或非易失性存储器104中的一个或多个相关联的故障事件,使用无线接口176来转移数据179(例如,转移到第二设备182)。在特定的说明性示例中,远程用户可以登录到数据存储设备102(例如,经由安全无线连接),以从数据存储设备102访问数据179,从而能够基于数据存储设备102的当前操作状态进行故障分析(并且不“重复”故障事件)。作为说明性示例,无线接口176可以被配置为从第二设备182接收远程登录请求194,并且响应于远程登录请求194(例如,实时地或接近实时地)向第二设备182提供数据179,以便能够基于数据179进行故障分析操作。在一些实施方式中,数据179包括由远程登录请求194指示的信息。例如,数据179可以指示在存储器控制器130检测到故障事件之前(或期间)由数据存储设备102发起或执行的操作。另选地或除此之外,数据179可以指示在故障事件时由任务队列146指示的一个或多个操作、在故障事件时存储器控制器130的一个或多个寄存器的内容或其他信息。
通过“实时地”(或接近实时地)向第二设备182提供数据179,第二设备182可以执行一个或多个故障分析操作,而不需要数据存储设备102在随后的时间“重复”故障事件(例如,在数据179“丢失”之后,诸如,如果数据179被从控制器130的易失性存储器中删除、重写或刷新)。此外,使用无线接口176远程访问数据存储设备102可以有益地避免物理地访问数据存储设备102(例如,经由电缆)或者物理地移除数据存储设备102(例如,从企业存储系统移除,诸如由于接入设备接口172处的通信丢失而探测数据存储设备102的组件)的过程。
在一些示例中,操作转移管理器152被配置为响应于检测到资源不可用,诸如响应于接入设备接口172的繁忙状态,使用无线接口176将操作转移到第二设备182。例如,操作转移管理器152可以被配置为在数据存储设备102使用接入设备接口172执行第一操作148期间,使用无线接口176将第二操作150转移到第二设备182。另选地或除此之外,操作转移管理器152可以被配置为确定数据存储设备102的处理器资源是否不可用于处理操作,并且响应于确定处理器资源不可用而发起操作的转移。例如,操作转移管理器152可以被配置为响应于处理器144不可用,诸如响应于确定处理器144正忙于执行第一操作148,使用无线接口176将第二操作150的执行转移到第二设备182。
另选地或除此之外,可以使用无线接口176将“后台”操作的执行转移到第二设备182,诸如通过转移将相对于第一操作148“在后台”执行的第二操作150的一个或多个任务。在一些情况下,将一个或多个任务转移到第二设备182使得数据存储设备102能够避免第一操作148的中断,以减少与第一操作148相关联的操作延时。在特定示例中,存储器控制器130被配置为使用无线接口176转移第二操作150的执行,以使得处理器144能够执行第一操作148,而不会由于第二操作150而中断。
为了进一步说明,操作转移管理器152可以经由无线接口176将第二操作150的执行转移到第二设备182,诸如通过将数据179发送到第二设备182,其中数据179指示第二操作150(例如,通过指示第二操作150的操作码)。在特定示例中,第二操作150包括将在第一操作148期间执行的一个或多个后台任务,并且存储器控制器130被配置为使用无线接口176来使得第二设备182能够执行负载平衡操作,该负载平衡操作包括在由处理器144执行第一操作148期间执行第二操作150的一个或多个后台任务。作为说明性示例,一个或多个后台任务可以包括基于在非易失性存储器104处执行的垃圾收集操作来更新包括在数据179中的控制表。在该示例中,数据179可以包括控制表。
另选地或除此之外,可以基于操作的优先级将操作转移到第二设备182。为了说明,第一操作148可以与超过与第二操作150相关联的第二优先级140的第一优先级138相关联。为了说明,第一操作148可以对应于由第一设备180经由接入设备接口172发起的存储器访问操作。与第二操作150相比,存储器访问操作可以具有更高的优先级。在该示例中,存储器控制器130可以被配置为经由接入设备接口172从第一设备180接收存储器访问命令,以发起存储器访问操作(例如,第一操作148)。存储器控制器130可以被配置为响应于接收到存储器访问命令(例如,响应于第一操作148“撞击”第二操作150),将第二操作150转移到第二设备182。
在一些实施方式中,比较器电路136耦接到任务队列146,并且被配置为访问任务队列146以确定第一优先级138超过第二优先级140。操作转移管理器152可以耦接到比较器电路136,并且可以被配置为基于第一优先级138超过第二优先级140,发起使用无线接口176将第二操作150向第二设备182的转移。
另选地或除此之外,在一些实施方式中,操作转移管理器152被配置为在任务队列146内维持目标数量的操作(或目标范围的操作)(例如,为了避免在任务队列146处的“溢出”情况)。响应于任务队列146指示的操作数量超过目标数量(或目标范围),操作转移管理器152可以“卸载”一个或多个操作,诸如通过使用无线接口176将第二操作150“卸载”到第二设备182。
另选地或除此之外,操作转移管理器152可以被配置为将操作转移到第二设备182,以使得能够由第二设备182(或由另一设备)进行实时(或接近实时)的调试。例如,数据179可以指示与非易失性存储器104的操作相关联的故障条件,诸如对非易失性存储器104的一个或多个失败的存储器访问操作的指示。无线接口176可以被配置为结合实时调试过程将数据179无线地传输到特定设备(例如,第二设备182),以调试非易失性存储器104或存储器控制器130中的一者或多者。
另选地或除此之外,无线接口176可以被配置为将数据179发送到第二设备182,以在发生与非易失性存储器104相关联的故障条件时能够恢复数据179。为了说明,操作转移管理器152可以被配置为通过经由无线接口176向第二设备182发送数据179来“备份”数据179的副本。在这种情况下,第二操作150可以对应于存储数据179的操作,并且操作转移管理器152可以被配置为将第二操作150转移到第二设备182,以发起第二设备182对数据179的备份。
在一些实施方式中,数据存储设备102被配置为在将操作转移到第二设备182之前,请求第二设备182接受操作的转移。为了说明,操作转移管理器152可以向无线接口176提供指令,以经由无线接口176向第二设备182发送请求184。无线接口176可以从第二设备182接收消息186。消息186可以指示第二设备182接受操作的转移或者第二设备182拒绝操作的转移。第二设备182对操作的接受可以对应于触发事件,该触发事件导致操作转移管理器152使用无线接口176将操作转移到第二设备182。如果消息186指示第二设备182拒绝操作的转移,则操作转移管理器152可以执行一个或多个其他操作。例如,操作转移管理器152可以向第三设备发送另一消息,请求将操作转移到第三设备。
在一些实施方式中,无线接口176被配置为提供从存储器控制器130到第二设备182的安全无线连接。例如,无线接口176可以被配置为在将数据179发送到第二设备182之前使用加密引擎134加密数据179。另选地或除此之外,与设备的通信可以使用密码154进行密码保护。例如,从第一设备180或第二设备182中的一个或多个接收的消息可以指定密码,并且数据存储设备102可以将该密码与密码154进行比较(例如,以认证第一设备180或第二设备182)。在一些示例中,密码154对应于无线受保护访问2(WPA2)密钥。
另选地或除了使用无线接口176来转移操作之外,数据存储设备102可以被配置为使用无线接口176来执行一个或多个其他操作。例如,数据存储设备102可以被配置为使用无线接口176作为辅助接口,这可以减少在诸如接入设备接口172的另一个接口处的流量。作为说明性示例,无线接口176可以被配置为从第一设备180、第二设备182或另一设备接收固件106的更新178。在一些实施方式中,响应于由数据179指示的一个或多个故障条件(例如,在基于由数据179指示的一个或多个故障条件调试固件106之后),更新178被提供给数据存储设备102。通过使用无线接口176接收固件106的更新178,接入设备接口172可以用于其他操作(例如,接入设备接口172可以被“释放”以用于读取和写入操作),这可以减少一个或多个操作的延时。
在一些实施方式中,数据存储设备102响应于经由接入设备接口172(例如,从第一设备180)接收到命令175而激活无线控制器190。命令175可以指示数据存储设备102要激活无线控制器190(例如,通过将无线控制器190从去激活状态转换到就绪状态)。命令175可以是专有的(或“供应商特定的”)命令。在一些实施方式中,第一设备180被配置为响应于检测到故障条件(例如,响应于与数据存储设备102的通信丢失)而向数据存储设备102提供命令175。另选地或除此之外,第一设备180可以被配置为响应于一个或多个其他事件而向数据存储设备102提供命令175。
图1的一个或多个方面可以改善数据存储设备102的操作。例如,无线接口176的使用可以实现减少或避免在数据存储设备102处的延时的负载平衡操作,诸如通过使数据存储设备102能够避免由于第二操作150而中断第一操作148的执行。
参见图2,描绘了系统的说明性示例,并且通常将其表示为200。在特定示例中,系统200包括图1的系统100的一个或多个组件。例如,图2的系统200包括图1的数据存储设备102。系统200还包括第二设备182。
在图2的示例中,数据存储设备102包括接入设备接口172、非易失性存储器104、无线控制器190和操作转移管理器152。在特定示例中,作为说明性示例,接入设备接口172包括SCSI接口、SATA接口或NVMe接口中的一个或多个。作为说明性示例,非易失性存储器104可以包括闪存存储器或磁存储器。
图2还描绘了数据存储设备102可以包括主机接口控制器204。主机接口控制器204可以耦接到接入设备接口172。主机接口控制器204可以被配置为控制在接入设备接口172处的操作,诸如通过经由接入设备接口172向第二设备182发送和从其接收通信。
数据存储设备102还包括一个或多个处理器,诸如第一处理器208和第二处理器212。作为说明性示例,第一处理器208可以包括第一中央处理单元(CPU 0),并且第二处理器212可以包括第二中央处理单元(CPU 1)。在特定示例中,第一处理器208对应于接入设备接口CPU,其被配置为控制在接入设备接口172处的操作。第二处理器212可以对应于存储器接口CPU,其被配置为控制对非易失性存储器104的操作。处理器208、212中的一个或两个可以对应于图1的处理器144或者可以包括在图1的处理器144中。
数据存储设备102还可以包括存储器228和存储器224。例如,存储器228可以是第一处理器208可访问的,并且可以存储第一处理器208可用的数据和指令。作为另一个示例,存储器224可以是第二处理器212可访问的,并且可以存储第二处理器212可用的指令和数据。
数据存储设备102还可以包括媒体控制器216。媒体控制器216可以耦接到非易失性存储器104。媒体控制器216可以被配置为控制对非易失性存储器104的一个或多个操作。
数据存储设备102也可以包括系统存储器232。在特定示例中,系统存储器232包括动态随机存取存储器(DRAM)。数据存储设备102可以任选地包括电池备份模块236。电池备份模块236可以耦接到系统存储器232。电池备份模块236可以被配置为向数据存储设备102的一个或多个组件提供辅助电力,诸如在电力中断事件的情况下。
数据存储设备102还包括系统总线220。系统总线220耦接到数据存储设备102的某些组件。例如,在图2的示例中,系统总线220耦接到主机接口控制器204、第一处理器208、第二处理器212、媒体控制器216和非易失性存储器104。图2还示出了系统总线220耦接到存储器224、无线接口176、存储器228、系统存储器232和操作转移管理器152。在特定示例中,无线控制器190耦接到系统总线220,并且被配置为访问数据存储设备102的一个或多个存储器(例如,存储器224、228)。在一些实施方式中,无线控制器190对存储器的可访问性可以由数据存储设备102的用户设置。
第二设备182被配置为使用一种或多种通信技术与数据存储设备102通信。例如,第二设备182被配置为使用接入设备接口172、无线控制器190或另一个接口中的一者或多者与数据存储设备102通信。在图2的示例中,第二设备182包括天线242,其被配置为与天线192通信,诸如以接收图1的数据179。
在操作期间,无线控制器190可以使用系统总线220访问数据存储设备102的一个或多个组件。例如,无线控制器190可以被配置为访问非易失性存储器104、存储器224或存储器228中的一者或多者。
处理器208、212可以被配置为诸如在从存储器224、228检索固件106的指令时执行图1的固件106。在特定示例中,固件106的指令指定无线控制器190将保持在作为默认状态的低功率状态(例如,去激活或待机模式)。在特定示例中,固件106的指令指定无线控制器190将响应于经由接入设备接口172(例如,从图1的第一设备180)接收的特定命令(例如,图1的命令175)而被激活。为了说明,该命令可以是由数据存储设备102的制造商确定的“供应商特定”命令。
一旦接收到命令,数据存储设备102就可以激活无线控制器190。在一些实施方式中,数据存储设备102在激活无线控制器190之前基于该命令认证第一设备180,诸如通过将由该命令指示的密码与密码154进行比较。
在一些实施方式中,数据存储设备102被配置为在系统存储器232中生成存储器区域定义表234。例如,存储器区域定义表234可以指示存储数据179的数据存储设备102的存储器区域(例如,在将数据179传输到第二设备182之前)。在特定示例中,操作转移管理器152包括缓冲器238,其被配置为存储数据179(例如,在将数据179传输到第二设备182之前)。另选地或除此之外,缓冲器238可以对应于逻辑缓冲器,使得缓冲器238的全部或部分可以位于系统存储器234中的存储器位置。表1中描绘了存储器区域定义表234的说明性示例:
表1
在表1中,第一列(最左边)指示索引值(1,2,...n,其中n是正整数),其与(例如,缓冲器238或系统存储器232的)存储器区域相关联。表1的第二列指示与存储器区域相关联的存储器基地址,并且表1的第三列指示与存储器区域相关联的数据大小。表1的第四列(最右边)指示与存储器区域相关联的标识符。
在一些示例中,存储器控制器130将存储器区域定义表234的一个或多个方面传送到无线控制器190,诸如以使得无线控制器190能够从缓冲器238检索数据179。例如,存储器控制器130可以将存储器区域的基地址和大小传送到无线控制器190,以使无线控制器190能够从存储器区域检索数据179。在一些实施方式中,存储器区域定义表234的一个或多个方面被传送到第二设备182。例如,基地址和大小可以被提供到第二设备182,以使第二设备182能够虚拟地访问数据179。
在一些情况下,数据存储设备102响应于来自第二设备182的请求访问存储器区域定义表234。数据存储设备102可以访问存储器区域定义表234,以确定该请求是否有效。例如,响应于从第二设备182接收到指示数据存储设备102的存储器区域的请求,数据存储设备102可以访问存储器区域定义表234以确定该请求是否有效,诸如通过确定该请求的地址是否在存储数据179的缓冲器238的地址范围内(例如,基于基地址和大小)。如果请求是有效的,数据存储设备102可以向第二设备182(例如,从缓冲器238到无线接口176)提供所请求的数据(例如,数据179)。如果请求是无效的,数据存储设备102可以执行一个或多个其他操作,诸如通过向第二设备182提供错误消息。结合响应于有效请求提供所请求的数据,数据存储设备102可以递增与缓冲器238相关联的头指针(例如,以响应于向第二设备182提供所请求的数据而改变缓冲器238的“头”)。
在一些实施方式中,存储器区域定义表234的一个或多个方面被“广播”到多个设备,诸如作为说明性示例的企业存储系统的多个数据存储设备。参考数据存储设备102描述的一种或多种技术可以被企业存储系统的一个或多个其他设备使用。在说明性示例中,企业存储系统的可用设备的位图在企业存储系统内被广播。位图可以由数据存储设备102访问以识别用于无线通信的可用设备(例如,以识别第二设备182)。
图2的一个或多个方面可以改善数据存储设备102的操作。例如,无线接口176的使用可以使第二设备182能够“虚拟地”从缓冲器238访问数据179,这在接入设备接口172繁忙或不工作的某些情况下可能是有利的。
参见图3,描绘了一种方法的说明性示例,并且通常将其表示为300。方法300可以由第一数据存储设备执行,该第一数据存储设备可以对应于数据存储设备102。方法300可以被执行以与第二数据存储设备诸如第二设备182无线通信。
方法300包括在302处在第一数据存储设备的存储器控制器处检测触发事件。触发事件指示操作将从第一数据存储设备转移到第二数据存储设备。为了说明,图1的存储器控制器130可以检测指示操作将从数据存储设备102转移到第二设备182的触发事件。检测触发事件可以包括执行参考图1和图2描述的一个或多个操作。在特定的说明性示例中,检测触发事件包括从图1的第二设备182接收消息186。
方法300还包括:在304处,响应于检测到触发事件,使用第一数据存储设备的无线接口向第二数据存储设备发送与操作相关联的数据。例如,数据存储设备102可以使用无线接口176向第二设备182发送数据179。
通过将与操作相关联的数据发送到第二数据存储设备,可以使用避免使用接入设备接口的带外无线通信来启用诸如负载平衡、故障转移和实时调试的功能。结果,可以减少或避免与第一数据存储设备的物理不可访问性相关联的复杂性、与带内通信相关联的硬件故障以及带内流量的增加。
参见图4,描绘了一种方法的特定说明性示例,并且通常将其表示为400。方法400可以由数据存储设备执行,诸如由数据存储设备102执行。
方法400包括在404处接收启用无线通信的命令。例如,存储器控制器130可以经由接入设备接口172从第一设备180接收命令175。存储器控制器130可以响应于接收到命令175来激活无线控制器190。
方法400还包括:在406处,在使用无线连接传输之前接收选择一个或多个存储器区域来缓冲调试数据的命令,并且还包括将标识符分配给一个或多个存储器区域中的每个存储器区域。例如,存储器控制器130可以经由接入设备接口172从第一设备180接收命令,以选择用于存储数据179(在传输数据179之前)的数据存储设备102的一个或多个存储器区域,诸如缓冲器238。缓冲器238可以具有多个存储器区域,并且存储数据179的缓冲器238的每个存储器区域可以与特定标识符相关联,诸如表1所示。
方法400还包括:在408处,接收命令,以启用使用无线连接对调试数据的无线传输。例如,存储器控制器130可以经由接入设备接口172从第一设备180接收命令,以将数据179传输到第一设备180、第二设备182或另一设备。响应于该命令,操作转移管理器152可以启用数据179的无线传输,诸如通过导致无线控制器190从缓冲器238访问数据179,以启用数据179到第二设备182的传输。
通过启用调试数据的无线传输,可以使用避免使用接入设备接口的带外无线通信来启用诸如实时调试的功能。结果,可以执行调试,同时避免与第一数据存储设备的物理不可访问性相关联的困难和与带内通信相关联的硬件故障。
参见图5,描绘了方法的特定说明性示例,并且通常将其表示为500。方法500可以在数据存储设备处,诸如在数据存储设备102处执行。
方法500可以在502处开始。例如,第一处理器208的操作可以由存储器控制器130发起(例如,通过从待机操作模式激活第一处理器208)。
方法500包括在504处禁用无线控制器。例如,无线控制器190可以由存储器控制器130去激活。
方法500还包括在506处确定是否接收到启用无线控制器并定义从其传输数据的存储器区域的命令。例如,存储器控制器130可以确定是否从第一设备180接收到命令175。
响应于确定接收到命令,方法500还包括在508处确定密码是否匹配。例如,命令175可以包括密码,并且存储器控制器130可以将由命令175指示的密码与密码154进行比较。
响应于确定密码匹配,方法500还包括在510处在系统存储器中生成存储器区域定义表。例如,存储器区域定义表234可以在系统存储器232中生成。存储器区域定义表234可以指示存储数据179的存储器(例如,非易失性存储器104、系统存储器232或缓冲器238)的区域。存储器控制器130还可以诸如通过激活无线控制器190来启用无线控制器,并且可以将与存储器区域定义表234相关联的基地址和大小传送到无线控制器190。
方法500还包括在512处确定是否接收到启用通过无线网络连续传输调试数据的命令。在特定示例中,第一设备180可以指示存储器控制器130经由无线接口176提供数据179,诸如向第一设备180、第二设备182或另一设备提供。
响应于在512处接收到命令,方法500还可以包括在514处确定密码匹配。例如,存储器控制器130可以将由从第一设备180接收的命令指示的密码与密码154进行比较,以确定该密码是否与密码154匹配。
在516处,响应于确定密码匹配,方法500还包括定义存储调试数据的区域,将基地址和大小传送到无线控制器,以及响应于将数据写入该区域而递增头指针。例如,存储器控制器130可以创建缓冲器238来存储数据179。存储器控制器130可以将缓冲器238的基地址和大小传送到无线控制器190,并且可以响应于将数据179写入缓冲器238而递增与缓冲器238相关联的头指针。方法500可以在518处终止。
方法500启用以连续传输模式对调试数据的安全无线传输。结果,可以安全地执行调试,同时避免与物理可访问性相关联的困难、与和数据存储设备的带内通信相关联的硬件故障或者可能抑制数据存储设备的调试的其他因素。
参见图6,描绘了方法的特定说明性示例,并且通常将其表示为600。方法600可以由数据存储设备执行,诸如由数据存储设备102执行。
方法600包括在602处激活无线控制器。例如,第一处理器208可以激活无线控制器190,诸如响应于接收到命令175。
方法600还包括在604处确定是否通过初始化存储器区域定义表的基地址来启用对系统存储器的访问。例如,可以通过初始化存储器区域定义表234的基地址来启用对系统存储器232的访问,该基地址指示存储数据179的系统存储器232的区域。
方法600还包括:在606处,响应于对系统存储器的访问被启用,确定配对的无线主机是否可用。例如,配对的无线主机可以对应于第二设备182。确定配对的无线主机是否可用可以包括使用无线接口176向第二设备182发送“ping”消息,以确定第二设备182是否可用。在一些实施方式中,数据存储设备102发送“advertisement”,寻找数据存储设备102的无线通信范围内的一个或多个配对的无线主机。
方法600还包括在608处确定是否接收到通过无线网络传输调试数据的命令。例如,可以接收通过无线网络传输数据179的命令,该无线网络可由数据存储设备102使用无线接口176访问。在特定示例中,数据179经由无线网络实时地(或接近实时地)提供给第二设备182。数据179可以使用“连续”技术(例如,流式传输技术)、基于每个请求或者使用另一种技术来提供。
响应于在608处接收到该命令,在610处,从调试缓冲器传输调试数据。例如,调试数据诸如数据179可以从调试缓冲器238或存储器区域定义表234中指示的存储器位置传输。
方法600还包括在612处确定是否从设备接收到对来自有效存储器区域的数据的请求。例如,数据存储设备102可以从第二设备182接收请求。数据存储设备102可以确定该请求是否指示由存储器区域定义表234指示的有效存储器区域。
响应于在612处接收到该命令,在614处从相应的存储器区域传输数据。例如,数据179可以从由第二设备182指示的存储器区域提供给无线接口176,用于经由无线网络传输到第二设备182。
方法600允许实时传输或基于接收到的请求来无线传输调试数据。结果,可以执行调试,同时避免与物理可访问性相关联的困难、与和数据存储设备的带内通信相关联的硬件故障或者可能抑制数据存储设备的调试的其他因素。
参见图7,描绘了方法的特定说明性示例,并且通常将其表示为700。方法700可以在数据存储设备处,诸如在数据存储设备102处执行。
方法700包括在702处检测是否检测到处理器要执行的一个或多个操作。例如,存储器控制器130可以查询任务队列146,以确定任务队列146是否指示要在数据存储设备102处执行的一个或多个操作。
方法700还包括:响应于在704处确定要执行一个或多个操作,在706处确定处理器资源是否可用于下一个操作。例如,存储器控制器130可以确定处理器144是否可用于执行下一个操作。如果处理器资源可用于下一个操作,方法700包括在708处发起下一个操作的处理。例如,如果处理器144的资源可用于执行第二操作150,则处理器144可以执行第二操作150。
如果处理器资源不可用,方法700包括在710处确定无线耦接的第二设备的处理器资源是否可用于负载平衡。例如,响应于确定处理器144的资源不可用,存储器控制器130可以诸如使用无线接口176向第二设备182发送请求184。在该示例中,无线耦接的第二设备对应于第二设备182。响应于第二设备的处理器资源可用,方法700包括在712处向第二设备传输数据以卸载与另一个操作相关联的一个或多个任务。例如,数据存储设备102可以将数据179发送到第二设备182,以将第二操作150的一个或多个任务卸载到第二设备182。
方法700启用数据存储设备之间的负载平衡,以减少多数据存储设备系统中的处理瓶颈。与使用带内通信执行负载平衡的实施方式相比,无线卸载与未决操作相关联的任务使得能够增加存储器访问吞吐量,而不会相应增加带内流量或资源使用。
参见图8,描绘了方法的特定说明性示例,并且通常将其表示为800。方法800可以由数据存储设备执行,诸如由数据存储设备102执行。
方法800包括在802处检测故障事件。例如,检测故障事件可以包括由数据存储设备102确定与接入设备诸如第一设备180的通信丢失。
方法800还包括在804处确定无线耦接的第二设备是否可用于故障转移操作。可以执行故障转移操作以用另一个设备“替换”故障设备,诸如通过使第二设备182能够响应于与第一设备180的通信丢失而对数据存储设备102执行一个或多个操作。
响应于第二设备可用于故障转移,方法800还包括在806处向第二设备传输数据以发起故障转移操作。例如,存储器控制器130可以使用无线接口176向第二设备182发送数据179,以发起故障转移操作。数据179可以指示数据存储设备的设备标识符、有效地址范围、文件系统信息或其他数据,以使第二设备能够以故障转移能力执行,并且还可以指示由第二设备182或由第一设备180为(或“代表”)数据存储设备102执行的一个或多个操作。
在故障转移操作期间,方法800还包括在808处从第二设备接收对应于对故障设备的接入设备请求的一个或多个指令。例如,数据存储设备102可以诸如经由无线接口176从第二设备182接收指令188。指令188可以对应于非易失性存储器104的存储器接入设备,诸如从非易失性存储器104读取数据的指令。
方法800还包括在810处执行来自第二设备的一个或多个指令,并将执行指令的结果传输到第二设备。例如,存储器控制器130可以执行指令188来生成结果189,诸如通过从非易失性存储器104读取数据。数据存储设备102可以使用无线接口176向第二设备182传输执行指令188的结果189。
结合所描述的实施方案,装置包括用于存储数据的部件(例如,非易失性存储器104),并且还包括用于控制在用于存储数据的部件处的操作的部件(例如,存储器控制器130)。用于控制的部件包括用于执行第一操作(例如,第一操作148)和第二操作(例如,第二操作150)的部件(例如,处理器144)。该装置还包括用于基于有线通信技术与第一设备(例如,第一设备180)通信的部件(例如,接入设备接口172)。该装置还包括用于基于无线通信技术与第二设备(例如,第二设备182)通信以及用于将与第二操作相关联的数据(例如,数据179)转移到第二设备以使得能够在第二设备处执行第二操作的一个或多个任务的部件(例如,无线接口176)。
在特定的说明性示例中,用于控制操作的部件被配置为将第二操作150的执行无线地转移到第二设备182,以发起故障转移操作、故障分析操作、负载平衡操作或固件更新操作中的一者或多者。固件更新操作可以使用带外接口来执行。例如,数据存储设备102可以使用带外接口(例如,无线接口176)而不是使用带内接口(例如,接入设备接口172)来接收固件106的更新176。通过使用带外接口接收更新178,带内接口可以用于其他操作(例如,接入设备接口172可以被“释放”以用于读取和写入操作),这可以减少操作的延时。
尽管本文描绘的各种组件被示出为块组件并被概括地描述,但是这些组件可以包括一个或多个微处理器、状态机或其他电路,其被配置为使这些组件能够执行本文所述的一个或多个操作。例如,操作转移管理器152的某些方面可以表示物理组件,诸如硬件控制器、状态机、逻辑电路或其他结构,以使存储器控制器130能够将操作的执行转移到特定设备。在特定示例中,缓冲器238包括硬件缓冲器,诸如FIFO硬件缓冲器。
另选地或除此之外,操作转移管理器152的某些方面可以使用微处理器或微控制器来实现。在特定实施方案中,操作转移管理器152的一个或多个方面使用执行存储在非易失性存储器104中的指令的处理器(例如,固件)来实现。另选地或除此之外,由处理器执行的可执行指令可以存储在不是非易失性存储器104的一部分的单独的存储器位置处,诸如可以包括在存储器控制器130中的只读存储器(ROM)处。在特定示例中,操作转移管理器152被配置为执行指令以生成包括在缓冲器238中的逻辑缓冲器,诸如包括在缓冲器238中的FIFO逻辑缓冲器(另选地或除了FIFO硬件缓冲器之外)。
数据存储设备102可以耦接到、附接到或嵌入在一个或多个接入设备内,诸如第一设备180的外壳内。例如,数据存储设备102可以根据联合电子器件工程委员会(JEDEC)固态技术协会通用闪存存储(UFS)配置嵌入在第一设备180内。为了进一步说明,数据存储设备102可以集成在电子设备(例如,第一设备180)内,诸如移动电话、计算机(例如,膝上型计算机、平板计算机或笔记本计算机)、音乐播放器、视频播放器、游戏设备或控制台、电子书阅读器、个人数字助理(PDA)、便携式导航设备或使用内部非易失性存储器的其他设备。
在一个或多个其他实施方式中,数据存储设备102在被配置为选择性地耦接到一个或多个外部设备(诸如主机设备)的便携式设备中实现。例如,数据存储设备102可以是从第一设备180可移除的(即,“可移除地”耦接到第一设备180)。作为示例,数据存储设备102可以根据可移除通用串行总线(USB)配置可移除地耦接到第一设备180。
第一设备180可以对应于移动电话、计算机(例如,膝上型计算机、平板计算机或笔记本计算机)、音乐播放器、视频播放器、游戏设备或控制台、电子书阅读器、个人数字助理(PDA)、便携式导航设备、另一种电子设备或它们的组合。第一设备180可以经由控制器通信,控制器可以使第一设备180能够与数据存储设备102通信。第一设备180可以按照JEDEC固态技术协会行业规范操作,诸如嵌入式多媒体卡(eMMC)规范或通用闪存存储(UFS)主机控制器接口规范。第一设备180可以按照一个或多个其他规范操作,诸如作为说明性示例的安全数字(SD)主机控制器规范。另选地,第一设备180可以根据另一个通信协议与数据存储设备102通信。在一些实施方式中,数据存储设备102可以集成在网络可访问的数据存储系统中,诸如作为说明性示例的企业数据系统、NAS系统或云数据存储系统。
在一些实施方式中,数据存储设备102包括固态驱动器(SSD)。作为说明性的非限制性示例,数据存储设备102可以用作嵌入式存储驱动器(例如,移动设备的嵌入式SSD驱动器)、企业存储驱动器(ESD)、云存储设备、网络连接存储(NAS)设备或客户端存储设备。在一些实施方式中,数据存储设备102可以经由网络耦接到第一设备180。例如,网络可以包括数据中心存储系统网络、企业存储系统网络、存储区域网络、云存储网络、局域网(LAN)、广域网(WAN)、互联网和/或另一种网络。
为了进一步说明,数据存储设备102可以被配置为作为嵌入式存储器耦接到第一设备180,诸如结合作为说明性示例的嵌入式多媒体卡(弗吉尼亚州阿灵顿的JEDEC固态技术协会的商标)配置。数据存储设备102可以对应于eMMC设备。作为另一个示例,数据存储设备102可以对应于存储卡,诸如安全数字卡、卡、miniSDTM卡(特拉华州威明顿的SD-3C LLC的商标)、MultiMediaCardTM(MMCTM)卡(弗吉尼亚州阿灵顿的JEDEC固态技术协会的商标)或(CF)卡(加利福尼亚州米尔皮塔斯的SanDisk Corporation的商标)。数据存储设备102可以按照JEDEC行业规范操作。例如,数据存储设备102可以按照JEDEC eMMC规范、JEDEC通用闪存存储(UFS)规范、一个或多个其他规范或它们的组合来操作。
非易失性存储器104可以包括电阻随机存取存储器(ReRAM)、闪存存储器(例如,NAND存储器、NOR存储器、单层单元(SLC)闪存存储器、多层单元(MLC)闪存存储器、分割位线NOR(DINOR)存储器、AND存储器、高电容耦合比(HiCR)设备、不对称非接触晶体管(ACT)设备或另一闪存存储器)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、一次可编程存储器(OTP)、另一种类型的存储器或它们的组合。非易失性存储器104可以包括半导体存储器设备。
半导体存储器设备包括:易失性存储器设备,诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)设备;非易失性存储器设备,诸如电阻式随机存取存储器(“ReRAM”)、磁阻随机存取存储器(“MRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存存储器(也可以被认为是EEPROM的子集)、铁电随机存取存储器(“FRAM”);以及能够存储信息的其他半导体元件。每种类型的存储器设备可具有不同的配置。例如,闪存存储器设备可以NAND配置或NOR配置进行配置。
该存储器设备可由无源元件和/或有源元件以任何组合形成。以非限制性示例的方式,无源半导体存储器元件包括ReRAM设备元件,该无源半导体存储器元件在一些实施方案中包括电阻率切换存储元件诸如反熔丝、相变材料等,以及任选地包括导引元件诸如二极管等。进一步以非限制性示例的方式,有源半导体存储器元件包括EEPROM和闪存存储器设备元件,该有源半导体存储器元件在一些实施方案中包括具有电荷区域的元件,诸如浮栅、导电纳米粒子或电荷存储介电材料。
多个存储器元件可被配置为使得它们串联连接或者使得每个元件可被单独访问。以非限制性示例的方式,NAND配置中的闪存存储器设备(NAND存储器)通常包括串联连接的存储器元件。NAND存储器阵列可被配置为使得该阵列由存储器的多个串构成,其中串由共享单个位线并作为组被访问的多个存储器元件构成。另选地,可配置存储器元件,使得每个元件可被单独访问,例如NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且存储器元件可以其他方式配置。
位于基板内和/或上方的半导体存储器元件可被布置成两个或三个维度,诸如二维存储器结构或三维存储器结构。在二维存储器结构中,半导体存储器元件被布置在单个平面或单个存储器设备级中。通常,在二维存储器结构中,存储器元件被布置在平面中(例如,在x-z方向平面中),该平面基本上平行于支撑存储器元件的基板的主表面延伸。基板可以是存储器元件的层在其之上或之中形成的晶圆,或者其可以是在存储器元件形成后附接到存储器元件的承载基板。作为非限制性示例,基板可包括半导体,诸如硅。
存储器元件可被布置在处于有序阵列中(诸如在多个行和/或列中)的单个存储器设备级中。然而,存储器元件可以非常规配置或非正交配置排列。存储器元件可各自具有两个或更多个电极或接触线,诸如位线和字线。
三维存储器阵列被布置成使得存储器元件占据多个平面或多个存储器设备级,从而形成三个维度(即,在x方向、y方向和z方向上,其中y方向基本上垂直于基板的主表面,并且x方向和z方向基本上平行于基板的主表面)的结构。作为非限制性示例,三维存储器结构可被垂直地布置为多个二维存储器设备级的叠堆。作为另一个非限制示例,三维存储器阵列可被布置为多个垂直列(例如,基本上垂直于基板的主表面延伸的列,即,在y方向上),其中在每一列中每一列均具有多个存储器元件。列可以二维配置例如在x-z平面中布置,从而得到存储器元件的三维布置,其中元件位于多个垂直堆叠的存储器平面上。三维存储器元件的其他配置也可构成三维存储器阵列。
以非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可耦接在一起以在单个水平(例如,x-z)存储器设备级内形成NAND串。另选地,存储器元件可耦接在一起以形成横贯多个水平存储器设备级的垂直NAND串。可设想到其他三维配置,其中一些NAND字符串包括在单个存储器级中的存储器元件,而其他字符串则包括跨越多个存储器级的存储器元件。三维存储器阵列也可以NOR配置以及ReRAM配置来设计。
通常,在单片三维存储器阵列中,一个或多个存储器设备级在单个基板上方形成。任选地,单片三维存储器阵列还可具有至少部分地在单个基板内的一个或多个存储器层。作为非限制性示例,基板可包括半导体,诸如硅。在单片三维阵列中,构成阵列的每个存储器设备级的层通常形成在阵列的底层存储器设备级的层上。然而,单片三维存储器阵列的相邻存储器设备级的层可被共享或具有介于存储器设备级之间的居间层。
另选地,二维阵列可以单独形成,然后封装在一起以形成具有多层存储器的非单片存储器设备。例如,非单片的堆叠存储器可通过在单独的基板上形成存储器级并然后将存储器级堆叠在彼此之上而构造。可在堆叠前将基板减薄或从存储器设备级移除,但由于存储器设备级在单独基板上方初始形成,因此所得的存储器阵列不是单片的三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可在单独的芯片上形成,然后封装在一起以形成堆叠的芯片存储器设备。
通常需要相关联的电路来操作存储器元件并与存储器元件通信。作为非限制性示例,存储器设备可具有用于控制并驱动存储器元件以实现功能诸如编程和读取的电路。该相关联的电路可与存储器元件位于同一基板上和/或位于单独的基板上。例如,用于存储器读取-写入操作的控制器可位于单独的控制器芯片上和/或位于与存储器元件相同的基板上。
本领域的技术人员将认识到,本公开不限于所述的二维和三维示例性结构,而是涵盖如本文所述的并且如本领域的技术人员所理解的本公开的实质和范围内的所有相关存储器结构。本文所述实施方案的说明旨在提供对各种实施方案的总体理解。其他实施方案可以被利用,并从本公开中导出,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。本公开旨在覆盖各种实施方案的任何和所有后续改编或变型。本领域技术人员将认识到,此类修改在本公开的范围内。
上述公开的主题应被认为是说明性的,而不是限制性的,并且所附权利要求书旨在覆盖落入本公开的范围内的所有此类修改、增强和其他实施方案。因此,在法律允许的最大范围内,本发明的范围将由以下权利要求书及其等同物的最广泛的可允许解释来确定,并且不应受前述具体实施方式的约束或限制。
Claims (20)
1.一种装置,包括:
非易失性存储器;和
存储器控制器,所述存储器控制器耦接到所述非易失性存储器,所述存储器控制器包括:
处理器,所述处理器被配置为执行第一操作和第二操作;
接入设备接口,所述接入设备接口被配置为与第一设备通信;以及
无线接口,所述无线接口被配置为与第二设备通信,以将与所述第二操作相关联的数据转移到所述第二设备,从而能够在所述第二设备处执行所述第二操作的一个或多个任务。
2.根据权利要求1所述的装置,其中所述无线接口被进一步配置为:
从所述第二设备接收远程登录请求;并且
向所述第二设备实时地提供所述数据,以启用基于所述数据的故障分析操作。
3.根据权利要求1所述的装置,其中所述存储器控制器被进一步配置为:
经由所述无线接口向所述第二设备发送请求;并且
响应于所述请求而从所述第二设备接收消息,所述消息接受所述第二操作的转移。
4.根据权利要求3所述的装置,其中所述存储器控制器被进一步配置为响应于确定处理器资源不可用于处理所述第二操作而发送所述请求。
5.根据权利要求3所述的装置,其中所述存储器控制器被进一步配置为响应于检测到与所述第一设备的通信丢失而发送所述请求。
6.根据权利要求5所述的装置,其中所述存储器控制器被进一步配置为:
经由所述无线接口从所述第二设备接收指令,所述指令对应于来自所述第一设备的访问所述非易失性存储器的请求;
执行所述指令以生成结果;并且
经由所述无线接口向所述第二设备传输所述结果。
7.根据权利要求1所述的装置,还包括:
任务队列,所述任务队列被配置为存储所述第一操作和所述第二操作的指示;
比较器电路,所述比较器电路耦接到所述任务队列,并被配置为访问所述任务队列,以确定所述第一操作与第一优先级相关联,所述第一优先级超过与所述第二操作相关联的第二优先级;和
操作转移管理器,所述操作转移管理器耦接到所述比较器电路,并被配置为基于所述第一优先级超过所述第二优先级,发起使用所述无线接口将所述第二操作向所述第二设备的转移。
8.根据权利要求1所述的装置,其中:
所述处理器被进一步配置为执行所述存储器控制器的固件;并且
所述无线接口被进一步配置为从所述第一设备接收所述固件的更新。
9.根据权利要求1所述的装置,其中:
所述存储器控制器还包括加密引擎;并且
所述无线接口被配置为使用所述加密引擎和密码提供从所述存储器控制器到所述第二设备的安全无线连接。
10.根据权利要求1所述的装置,还包括:
无线控制器,所述无线控制器被配置为控制所述数据的转移;和
天线,所述天线耦接到所述无线控制器。
11.一种方法,包括:
在第一数据存储设备的存储器控制器处检测指示操作将从所述第一数据存储设备转移到第二数据存储设备的触发事件;以及
响应于检测到所述触发事件,使用所述第一数据存储设备的无线接口向所述第二数据存储设备发送与所述操作相关联的数据。
12.根据权利要求11所述的方法,还包括经由所述无线接口向所述第二数据存储设备发送将所述操作转移到所述第二数据存储设备的请求,其中检测所述触发事件包括从所述第二数据存储设备接收接受所述操作的转移的消息。
13.根据权利要求12所述的方法,还包括确定所述第一数据存储设备的处理器资源不可用于处理所述操作,其中响应于确定所述处理器资源不可用,所述请求被发送到所述第二数据存储设备。
14.根据权利要求12所述的方法,还包括检测与接入设备的通信丢失,其中响应于检测到所述通信丢失,所述请求被发送到所述第二数据存储设备。
15.根据权利要求14所述的方法,还包括:
经由所述无线接口从所述第二数据存储设备接收指令,所述指令对应于来自所述接入设备的访问所述第一数据存储设备的请求;
执行所述指令以生成结果;以及
经由所述无线接口向所述第二数据存储设备传输所述结果。
16.根据权利要求11所述的方法,其中:
检测所述触发事件包括确定与所述第一数据存储设备的所述存储器控制器或非易失性存储器中的一个或多个相关联的故障;并且
所述数据指示在所述故障的时间所述第一数据存储设备的操作状态。
17.根据权利要求11所述的方法,其中检测所述触发事件包括确定另一个操作具有比所述操作更高的优先级。
18.根据权利要求11所述的方法,其中在由所述第一数据存储设备使用有线接口执行另一个操作期间,所述操作被转移到所述第二数据存储设备。
19.一种装置,包括:
用于存储数据的部件;以及
用于控制在所述用于存储数据的部件处的操作的部件,所述用于控制的部件包括:
用于执行第一操作和第二操作的部件;
用于基于有线通信技术与第一设备通信的部件;以及
用于基于无线通信技术与第二设备通信并且用于将与所述第二操作相关联的数据转移到所述第二设备以使得能够在所述第二设备处执行所述第二操作的一个或多个任务的部件。
20.根据权利要求19所述的装置,其中所述用于控制操作的部件被配置为将所述第二操作的执行无线地转移到所述第二设备,以发起故障转移操作、故障分析操作、负载平衡操作或固件更新操作中的一者或多者。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/622,857 US10289333B2 (en) | 2017-06-14 | 2017-06-14 | Data storage device configured to perform operations using a wireless interface |
US15/622,857 | 2017-06-14 | ||
PCT/US2018/021083 WO2018231297A1 (en) | 2017-06-14 | 2018-03-06 | Data storage device configured to perform operations using a wireless interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110383250A true CN110383250A (zh) | 2019-10-25 |
CN110383250B CN110383250B (zh) | 2023-05-23 |
Family
ID=61827818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880015798.3A Active CN110383250B (zh) | 2017-06-14 | 2018-03-06 | 配置为使用无线接口执行操作的数据存储设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10289333B2 (zh) |
CN (1) | CN110383250B (zh) |
DE (1) | DE112018000839T5 (zh) |
WO (1) | WO2018231297A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240655A (zh) * | 2020-01-07 | 2020-06-05 | 红有软件股份有限公司 | 一种基于GDI/GDI+美化WinForm组件的方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10496335B2 (en) * | 2017-06-30 | 2019-12-03 | Intel Corporation | Method and apparatus for performing multi-object transformations on a storage device |
US10496298B2 (en) * | 2017-12-28 | 2019-12-03 | Intel Corporation | Configurable flush of data from volatile memory to non-volatile memory |
US11100228B2 (en) * | 2018-10-25 | 2021-08-24 | Dell Products, L.P. | System and method to recover FPGA firmware over a sideband interface |
CN111831471B (zh) * | 2019-04-18 | 2023-03-03 | 华为终端有限公司 | 一种用户终端、调试设备及数据备份的方法 |
US11194738B2 (en) * | 2019-07-29 | 2021-12-07 | International Business Machines Corporation | Implementing management commands utilizing an in-band interface |
US11372579B2 (en) * | 2020-10-22 | 2022-06-28 | EMC IP Holding Company LLC | Techniques for generating data sets with specified compression and deduplication ratios |
US11983111B2 (en) * | 2021-08-19 | 2024-05-14 | Microsoft Technology Licensing, Llc | Systems and methods to flush data in persistent memory region to non-volatile memory using auxiliary processor |
US20240232085A1 (en) * | 2023-01-10 | 2024-07-11 | Silicon Motion, Inc. | Flash memory scheme capable of controlling flash memory device automatically generating debug information and transmitting debug information back to flash memory controller without making memory cell array generating errors |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555153A (zh) * | 2003-12-29 | 2004-12-15 | 联想(北京)有限公司 | 一种数据存储设备及其内部数据的存取方法 |
US20060176851A1 (en) * | 2005-02-07 | 2006-08-10 | Bennett James D | Computer chip set having on board wireless interfaces to support test operations |
US20080058961A1 (en) * | 2006-08-14 | 2008-03-06 | Terry S Biberdorf | Methods and arrangements to collect data |
US20080144142A1 (en) * | 2006-10-24 | 2008-06-19 | Russell Dean Reece | Systems and methods for storage management in a data processing device |
US20080155258A1 (en) * | 2006-12-21 | 2008-06-26 | Spansion Llc | Non-volatile memory sub-system integrated with security for storing near field transactions |
CN103137214A (zh) * | 2011-11-21 | 2013-06-05 | 株式会社东芝 | 存储装置、纠错方法及存储系统 |
CN103377689A (zh) * | 2012-04-13 | 2013-10-30 | 株式会社东芝 | 存储装置及其无线通信控制方法 |
WO2014140559A1 (en) * | 2013-03-13 | 2014-09-18 | Knightsbridge Portable Communications Sp | Data security device |
CN104412218A (zh) * | 2012-06-19 | 2015-03-11 | 株式会社东芝 | 存储控制程序的存储介质、控制信息处理设备的方法、信息处理系统,以及信息处理设备 |
CN104778011A (zh) * | 2014-01-14 | 2015-07-15 | 株式会社东芝 | 具有无线天线的存储装置 |
US20160026388A1 (en) * | 2014-07-24 | 2016-01-28 | Samsung Electronics Co., Ltd. | Data storage device and method of processing data thereof |
CN106339745A (zh) * | 2015-07-09 | 2017-01-18 | 株式会社东芝 | 存储装置、信息处理系统以及信息处理方法 |
US20170139765A1 (en) * | 2015-11-13 | 2017-05-18 | Sandisk Technologies Llc | Data logger |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002329180A (ja) * | 2001-04-27 | 2002-11-15 | Toshiba Corp | 無線通信機能を有するメモリカード及びそのデータ通信方法 |
KR100548899B1 (ko) * | 2001-05-11 | 2006-02-02 | 교세라 가부시키가이샤 | 휴대용 통신 단말기, 무선 데이터 통신 네트워크 시스템, 무선 통신 장치와 그 방법, 및 통신 방식 전환 방법 |
US7938811B2 (en) * | 2003-01-22 | 2011-05-10 | Takashi Furukawa | Athlete's foot treatment tool |
WO2005116827A1 (en) * | 2004-05-31 | 2005-12-08 | Stmicroelectronics Pvt. Ltd. | A method for remotely upgrading the firmware of a target device using wireless technology |
US7702821B2 (en) * | 2005-09-15 | 2010-04-20 | Eye-Fi, Inc. | Content-aware digital media storage device and methods of using the same |
US8140813B2 (en) * | 2005-09-15 | 2012-03-20 | Eye-Fi, Inc. | Endless memory |
US9836370B2 (en) | 2010-11-18 | 2017-12-05 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Backup memory administration using an active memory device and a backup memory device |
JP5395824B2 (ja) * | 2011-02-16 | 2014-01-22 | 株式会社東芝 | メモリシステム |
FR2975854B1 (fr) | 2011-05-26 | 2013-05-10 | Voltalis | Systeme domestique de gestion d'une connexion d'acces a internet |
TWI606332B (zh) * | 2012-09-03 | 2017-11-21 | 鳳凰工業股份有限公司 | 偵錯控制系統及其方法 |
US10536850B2 (en) | 2013-07-18 | 2020-01-14 | Fortinet, Inc. | Remote wireless adapter |
US9706861B2 (en) * | 2015-02-10 | 2017-07-18 | Kwok Hee Wong | Printed sheet with foldable frame, blank and method for producing the same |
US9875053B2 (en) | 2015-06-05 | 2018-01-23 | Western Digital Technologies, Inc. | Scheduling scheme(s) for a multi-die storage device |
US9976420B2 (en) * | 2015-07-23 | 2018-05-22 | General Electric Company | Aspirating seal assembly and method of assembling |
WO2017035236A1 (en) | 2015-08-25 | 2017-03-02 | Andium Inc. | Programming and debugging electronic devices using a near field communications device |
US10705764B2 (en) * | 2016-02-08 | 2020-07-07 | International Business Machines Corporation | Performing nearline storage of a file |
-
2017
- 2017-06-14 US US15/622,857 patent/US10289333B2/en active Active
-
2018
- 2018-03-06 DE DE112018000839.8T patent/DE112018000839T5/de active Pending
- 2018-03-06 CN CN201880015798.3A patent/CN110383250B/zh active Active
- 2018-03-06 WO PCT/US2018/021083 patent/WO2018231297A1/en active Application Filing
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555153A (zh) * | 2003-12-29 | 2004-12-15 | 联想(北京)有限公司 | 一种数据存储设备及其内部数据的存取方法 |
US20060176851A1 (en) * | 2005-02-07 | 2006-08-10 | Bennett James D | Computer chip set having on board wireless interfaces to support test operations |
US20080058961A1 (en) * | 2006-08-14 | 2008-03-06 | Terry S Biberdorf | Methods and arrangements to collect data |
US20080144142A1 (en) * | 2006-10-24 | 2008-06-19 | Russell Dean Reece | Systems and methods for storage management in a data processing device |
US20080155258A1 (en) * | 2006-12-21 | 2008-06-26 | Spansion Llc | Non-volatile memory sub-system integrated with security for storing near field transactions |
CN103137214A (zh) * | 2011-11-21 | 2013-06-05 | 株式会社东芝 | 存储装置、纠错方法及存储系统 |
CN103377689A (zh) * | 2012-04-13 | 2013-10-30 | 株式会社东芝 | 存储装置及其无线通信控制方法 |
CN104412218A (zh) * | 2012-06-19 | 2015-03-11 | 株式会社东芝 | 存储控制程序的存储介质、控制信息处理设备的方法、信息处理系统,以及信息处理设备 |
WO2014140559A1 (en) * | 2013-03-13 | 2014-09-18 | Knightsbridge Portable Communications Sp | Data security device |
CN104778011A (zh) * | 2014-01-14 | 2015-07-15 | 株式会社东芝 | 具有无线天线的存储装置 |
US20160026388A1 (en) * | 2014-07-24 | 2016-01-28 | Samsung Electronics Co., Ltd. | Data storage device and method of processing data thereof |
CN106339745A (zh) * | 2015-07-09 | 2017-01-18 | 株式会社东芝 | 存储装置、信息处理系统以及信息处理方法 |
US20170139765A1 (en) * | 2015-11-13 | 2017-05-18 | Sandisk Technologies Llc | Data logger |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240655A (zh) * | 2020-01-07 | 2020-06-05 | 红有软件股份有限公司 | 一种基于GDI/GDI+美化WinForm组件的方法 |
CN111240655B (zh) * | 2020-01-07 | 2023-11-07 | 红有软件股份有限公司 | 一种基于GDI/GDI+美化WinForm组件的方法 |
Also Published As
Publication number | Publication date |
---|---|
US10289333B2 (en) | 2019-05-14 |
US20180364935A1 (en) | 2018-12-20 |
WO2018231297A1 (en) | 2018-12-20 |
CN110383250B (zh) | 2023-05-23 |
DE112018000839T5 (de) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110383250A (zh) | 配置为使用无线接口执行操作的数据存储设备 | |
CN110447009B (zh) | 用于自适应命令获取聚合的系统和方法 | |
US10318193B2 (en) | Systems and methods of command authorization | |
KR102051179B1 (ko) | 데이터를 압축하는 시스템들 및 방법들 | |
US10379754B2 (en) | Memory die temperature adjustment based on a power condition | |
US9626312B2 (en) | Storage region mapping for a data storage device | |
EP3357063B1 (en) | Memory die temperature adjustment based on aging condition | |
CN110073322A (zh) | 用于快速执行封装体内命令的系统和方法 | |
CN106463499A (zh) | 存储器模块 | |
CN108470006B (zh) | 用于进行非阻塞控制同步操作的技术 | |
KR20170046123A (ko) | 메모리 다이의 nand 플래시 메모리와 reram 간의 데이터의 온-칩 복사 | |
US10078614B2 (en) | Systems and methods of data transfer | |
CN107980126B (zh) | 用于调度多裸芯储存装置的方法、数据储存装置及设备 | |
US10579458B2 (en) | Data logger | |
US10642681B2 (en) | Memory die temperature adjustment based on aging condition | |
CN107810533A (zh) | 使用位线缺陷信息解码数据 | |
US10031678B2 (en) | Storage device, data storage device including the same, and operation method thereof | |
US10379781B2 (en) | Storage system and method for improved command flow | |
EP4177758A1 (en) | A storage device and an operating method of a storage controller thereof | |
KR20230067457A (ko) | 스토리지 컨트롤러, 스토리지 시스템 및 그 동작방법 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240828 Address after: California, USA Patentee after: SanDisk Technology Co. Country or region after: U.S.A. Address before: California, USA Patentee before: Western Digital Technologies, Inc. Country or region before: U.S.A. |