Memory device health assessment at a host device
Patent Information
- Application Number
- CN202210448525.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-04-19
- Filing Date
- 2022-04-26
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2042-04-26
AI Technical Summary
例如DRAM的易失性存储器装置在与外部电源断开连接时可能会丢失其所 存储的状态
Smart Images

Figure CN115248765B_ABST
Abstract
Description
[0001] Cross-references
[0002] This patent application claims priority to U.S. Patent Application No. 17 / 724,216, filed April 19, 2022, entitled “Memory Device Health Evaluation at a Host Device”, by Boehm et al., which claims the benefit of U.S. Provisional Patent Application No. 63 / 180,465, filed April 27, 2021, entitled “Memory Device Health Evaluation at a Host Device”, by Boehm et al., each of which is assigned to the assignee and is expressly incorporated herein by reference in its entirety. Technical Field
[0003] The technical field relates to the health assessment of memory devices at the host device. Background Technology
[0004] Memory devices are widely used to store information in various electronic devices such as computers, user devices, wireless communication devices, cameras, and digital displays. Information is stored by programming memory cells within the memory device into various states. For example, a binary memory cell can be programmed to support one of two states, often represented by logic 1 or logic 0. In some instances, a single memory cell can support more than two states, any of which can be stored. To access the stored information, a component can read or sense at least one stored state in the memory device. To store information, a component can write states into the memory device or program states.
[0005] Various types of memory devices and memory cells exist, including magnetic hard disks, random access memory (RAM), read-only memory (ROM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM), static RAM (SRAM), ferroelectric RAM (FeRAM), magnetic RAM (MRAM), resistive RAM (RRAM), flash memory, phase-change memory (PCM), auto-select memory, and chalcogenide memory technology. Memory cells can be volatile or non-volatile. Non-volatile memory, such as FeRAM, can maintain its stored logic state for a long time, even without external power. For example, volatile memory devices like DRAM may lose their stored state when disconnected from external power. Summary of the Invention
[0006] A method is described. The method may include: receiving, at a host device, one or more first parameters indicating the state of a memory device from a memory device; sending the one or more first parameters to a first circuit that identifies the host device as the destination of the one or more first parameters, at least in part; determining, at the first circuit, the state of the memory device, at least in part based on the one or more first parameters; and transmitting a command to the memory device associated with one or more operating parameters at least in part based on the state of the memory device.
[0007] Describe a device. The device may include a pin coupled to a memory device and operable to receive one or more first parameters indicating the state of the memory device. The device may also include first circuitry coupled to the pin and operable to: receive the one or more first parameters via the pin based on the first circuitry being the destination of the one or more first parameters; and determine one or more operating parameters for the memory device based on determining the state of the memory device and the one or more first parameters, wherein the pin is further operable to send a command associated with the one or more operating parameters to the memory device based on determining the one or more operating parameters.
[0008] A method is described. The method may include: determining one or more parameters at a memory device indicating a state of the memory device; receiving an instruction from a host device regarding a condition of the host device to transmit the one or more parameters from the memory device based on the determination of the one or more parameters indicating the state of the memory device; and transmitting the one or more parameters indicating the state of the memory device to the host device based on the condition of the host device and the determination of the one or more parameters indicating the state of the memory device.
[0009] Describe a device. The device may include a pin coupled to a host device, and a controller coupled to the pin. The controller may be operable to: determine one or more parameters indicating the state of the device; receive, based on the determination of the one or more parameters indicating the state of the device, an indication of a condition of the host device from the host device and via the pin to transmit the one or more parameters from the device; and transmit the one or more parameters to the host device and via the pin based on the condition of the host device and the determination of the one or more parameters indicating the state of the device.
[0010] Describe a device. The device may include pins coupled to a memory device and a controller coupled to the pins. The controller may be operable to: receive one or more first parameters from the memory device and via the pins indicating the state of the memory device; send the one or more first parameters to a first circuit of the device based on identifying a first circuit as the destination of the one or more first parameters; determine the state of the memory device based on the one or more first parameters; and issue a command to the memory device associated with one or more operating parameters at least in part based on the state of the memory device. Attached Figure Description
[0011] Figure 1 This document describes an example of a system that supports memory device health assessment at the host device, based on the examples disclosed herein.
[0012] Figure 2 This document describes an example of a memory die that supports memory device health assessment at the host device, based on the examples disclosed herein.
[0013] Figure 3 This document describes an example of a system that supports memory device health assessment at the host device, based on the examples disclosed herein.
[0014] Figure 4 This document describes an example of a process flow that supports memory device health assessment at the host device, based on the examples disclosed herein.
[0015] Figure 5 A block diagram of a host device is shown, which supports memory device health assessment at the host device according to the examples disclosed herein.
[0016] Figure 6 A block diagram of a memory device supporting memory device health assessment at the host device, based on the examples disclosed herein.
[0017] Figure 7 and 8 The flowchart illustrates one or more methods supporting memory device health assessment at the host device, based on examples disclosed herein. Detailed Implementation
[0018] Memory devices may communicate with, be coupled to, or be contained within host devices (e.g., vehicles, computers, or mobile phones). Different uses and environmental conditions of memory devices can vary between different categories of host devices and between different host devices within the same category, depending on the duration of use, how the memory device is used, and the operating conditions under which it is used. Therefore, the usage level (e.g., wear level), remaining useful life, or general degradation of a memory device may be unknown for the memory device or the host device, or both. In these cases, without the detection of the memory device or the host device, or both, the memory device may experience performance degradation or failure, which can lead to failure or degradation of the memory device, or failure or degradation of one or more parts of the system containing the memory device or the host device. Additionally or alternatively, due to a lack of data on the usage level of the memory device, maintenance and replacement arrangements for the memory device or the host device, one or more manufacturing parameters of the memory device or the host device, and other instances may be based on inaccurate data.
[0019] This disclosure provides techniques for including, coupling, or using memory devices in devices such as host devices (e.g., vehicles), which monitor and report health information (e.g., one or more parameters associated with the state of the memory device). The memory device may transmit health information to a host device (e.g., a vehicle or a vehicle's computer or system-on-a-chip (SoC)) that processes the health information, or transmit the health information to another entity in a larger system, or both. In some cases, other entities in the system may receive the health information and, based on the health information, transmit signals back to the host device (e.g., indicating one or more parameters for implementation at the memory device or the host device). In some cases, the host device may use one or more components to receive and process the health information to determine the state of the memory device and to determine one or more operating parameters for the memory device. For example, the host device may include a system health engine for receiving health information from the memory device and a security engine for processing the health information. In some cases, the host device may also include communication components for sending and receiving health information from external entities. Receiving and processing health information from a memory device in real time can support increased accuracy of maintenance and repair arrangements, increased security of systems that include host devices and memory devices, increased accuracy of one or more manufacturing or design parameters of the memory device or host device (e.g., a vehicle or associated computer), or any combination thereof.
[0020] First, as referenced Figure 1 and 2The features of this disclosure are described in the context of the system and the bare die. (See references...) Figure 3 The features of this disclosure are described in the context of the systems and processes described in 4 and 5. (This is further elaborated by referring to references such as...) Figures 5 to 8 The device diagrams and flowcharts describing the memory device health assessment at the host device further illustrate and describe these and other features of this disclosure.
[0021] Figure 1 This document describes an example of a system 100 that supports memory device health assessment at a host device, based on the examples disclosed herein. System 100 may include a host device 105, a memory device 110, and multiple channels 115 coupling the host device 105 to the memory device 110. System 100 may include one or more memory devices 110, but aspects of said one or more memory devices 110 may be described in the context of a single memory device (e.g., memory device 110). In some cases, the memory subsystem or system 100 may be referred to as one memory device 110 or multiple memory devices 110.
[0022] System 100 may include portions of electronic devices such as computing devices, mobile computing devices, wireless devices, graphics processing devices, vehicles, or other systems. For example, system 100 may describe aspects of computers, laptop computers, tablet computers, smartphones, cellular phones, wearable devices, internet-connected devices, vehicle controllers, etc. Memory device 110 may be a component of the system used to store data for one or more other components of system 100.
[0023] At least a portion of system 100 may be an instance of host device 105. Host device 105 may be an instance of a processor or other circuitry within a device that uses memory to execute processes, such as in a computing device, mobile computing device, wireless device, graphics processing device, computer, laptop computer, tablet computer, smartphone, cellular phone, wearable device, internet-connected device, vehicle controller, system-on-a-chip (SoC), or some other fixed or portable electronic device, and other instances. In some instances, host device 105 may refer to the hardware, firmware, software, or a combination thereof that implements the functionality of external memory controller 120. In some instances, external memory controller 120 may be referred to as a host or host device 105. As described herein, host device 105 may receive information (e.g., health information related to the state of memory device 110) from memory device 110. Host device 105 may make one or more determinations based on the information, or may forward the information to one or more other devices in a system that includes or communicates with host device 105.
[0024] Memory device 110 may be a separate device or component operable to provide physical memory address / space that can be used or referenced by system 100. In some instances, memory device 110 may be configurable to work with one or more different types of host devices. Signaling between host device 105 and memory device 110 may be operable to support one or more of the following: modulation schemes for modulated signals, various pin configurations for transmitting signals, various form factors for the physical packages of host device 105 and memory device 110, clock signaling and synchronization between host device 105 and memory device 110, timing conventions, or other factors.
[0025] Memory device 110 may be used to store data of components of host device 105. In some instances, memory device 110 may act as a secondary or subordinate device of host device 105 (e.g., responding to and executing commands provided by host device 105 via external memory controller 120). Such commands may include one or more of the following: write commands for write operations, read commands for read operations, refresh commands for refresh operations, or other commands.
[0026] The host device 105 may include an external memory controller 120, a processor 125, a basic input / output system (BIOS) component 130, or one or more other components such as one or more peripheral components or one or more input / output controllers. The components of the host device 105 may be coupled to each other via bus 135.
[0027] Processor 125 may be operable to provide control or other functionality for at least a portion of system 100 or host device 105. Processor 125 may be a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or combinations thereof. In such instances, processor 125 may be an instance of a central processing unit (CPU), graphics processing unit (GPU), general-purpose GPU (GPGPU), or SoC, as well as other instances. In some instances, external memory controller 120 may be implemented by processor 125 or be part of said processor.
[0028] BIOS component 130 may be a software component containing a BIOS operating as firmware, which can initialize and run various hardware components of system 100 or host device 105. BIOS component 130 may also manage data flow between processor 125 and various components of system 100 or host device 105. BIOS component 130 may contain programs or software stored in one or more read-only memory (ROM), flash memory, or other non-volatile memory.
[0029] In some instances, system 100 or host device 105 may include various peripheral components. Peripheral components can be any input or output device, or an interface for such devices, which may be integrated into or with system 100 or host device 105. Examples may include one or more of the following: disk controllers, sound controllers, graphics controllers, Ethernet controllers, modems, universal serial bus (USB) controllers, serial or parallel ports, or peripheral card slots, such as Peripheral Component Interconnect (PCI) or dedicated graphics ports. Peripheral components can be other components that are understood by those skilled in the art to be peripheral devices.
[0030] In some instances, system 100 or host device 105 may include an I / O controller. The I / O controller can manage data communication between processor 125 and peripheral components, input devices, or output devices. The I / O controller can manage peripheral devices that are not integrated into system 100 or host device 105 or are integrated with said system or host device. In some instances, the I / O controller may represent a physical connection or port to an external peripheral component.
[0031] In some instances, system 100 or host device 105 may include input components, output components, or both. Input components may represent devices or signals external to system 100 that provide information, signals, or data to system 100 or its components. In some instances, input components may include a user interface or an interface with other devices or between other devices. In some instances, input components may be peripheral devices that interface with system 100 via one or more peripheral components, or may be managed by an I / O controller. Output components may represent devices or signals external to system 100 and can be used to receive output from system 100 or any of its components. Examples of output components may include a display, an audio speaker, a printing device, another processor on a printed circuit board, etc. In some instances, output may be a peripheral device that interfaces with system 100 via one or more peripheral components, or may be managed by an I / O controller.
[0032] Memory device 110 may include a device memory controller 155 and one or more memory dies 160 (e.g., memory chips) to support a desired or specified capacity for data storage. Each memory die 160 (e.g., memory die 160a, memory die 160b, memory die 160N) may include a local memory controller 165 (e.g., local memory controller 165-a, local memory controller 165-b, local memory controller 165-N) and a memory array 170 (e.g., memory array 170-a, memory array 170-b, memory array 170-N). Memory array 170 may be a collection of memory cells (e.g., one or more grids, one or more memory banks, one or more tiles, one or more segments), wherein each memory cell can be used to store at least one bit of data. Memory device 110 including two or more memory dies 160 may be referred to as a multi-die memory or multi-die package, or a multi-chip memory or multi-chip package.
[0033] The device memory controller 155 may include circuitry, logic, or components for controlling the operation of the memory device 110. The device memory controller 155 may include hardware, firmware, or instructions that enable the memory device 110 to perform various operations, and may be used to receive, transmit, or execute commands, data, or control information related to components of the memory device 110. The device memory controller 155 may be used to communicate with one or more of the external memory controller 120, the one or more memory dies 160, or the processor 125. In some instances, the device memory controller 155 may control the operation of the memory device 110 described herein in conjunction with a local memory controller 165 of the memory die 160.
[0034] In some instances, memory device 110 may receive data or commands, or both, from host device 105. For example, memory device 110 may receive a write command instructing memory device 110 to store data on host device 105 or a read command instructing memory device 110 to provide data stored in memory die 160 to host device 105. Memory device 110 may include a health monitoring circuitry (e.g., within a dedicated circuitry or as part of a controller, such as local memory controller 165 or device memory controller 155). Memory device 110 may use the health monitoring circuitry to monitor and determine one or more parameters indicating the state of the memory device, such as the operation and access of memory cells within memory array 170. The memory device may transmit said one or more parameters to host device 105.
[0035] A local memory controller 165 (e.g., local to memory die 160) may include circuitry, logic, or components operable to control the operation of memory die 160. In some instances, the local memory controller 165 may be used to communicate with a device memory controller 155 (e.g., to receive or transmit data or commands, or both). In some instances, memory device 110 may not include a device memory controller 155, and either the local memory controller 165 or the external memory controller 120 may perform the various functions described herein. Thus, the local memory controller 165 may be operable to communicate with the device memory controller 155, with other local memory controllers 165, or directly with the external memory controller 120 or the processor 125, or combinations thereof. Examples of components that may be included in the device memory controller 155 or the local memory controller 165, or both, may include a receiver for receiving signals (e.g., from the external memory controller 120), a transmitter for transmitting signals (e.g., to the external memory controller 120), a decoder for decoding or demodulating the received signals, an encoder for encoding or modulating the signals to be transmitted, or various other circuitry or controllers operable to support the operation of the described device memory controller 155 or the local memory controller 165, or both.
[0036] External memory controller 120 can be used to enable one or more of the following to be communicated between system 100 or a component of host device 105 (e.g., processor 125) and memory device 110: external memory controller 120 can translate or interpret communications exchanged between components of host device 105 and memory device 110. In some instances, external memory controller 120 or other components of system 100 or host device 105, or the functionality described herein, may be implemented by processor 125. For example, external memory controller 120 may be hardware, firmware, or software, or a combination thereof, implemented by processor 125 or other components of system 100 or host device 105. Although external memory controller 120 is depicted as being external to memory device 110, in some instances, external memory controller 120 or the functionality described herein may be implemented by one or more components of memory device 110 (e.g., device memory controller 155, local memory controller 165), or vice versa.
[0037] Components of host device 105 may exchange information with memory device 110 using one or more channels 115. Channels 115 may be operable to support communication between external memory controller 120 and memory device 110. Each channel 115 may be an example of a transmission medium carrying information between host device 105 and memory device. Each channel 115 may include one or more signal paths or transmission media (e.g., conductors) between terminals associated with components of system 100. Signal paths may be examples of conductive paths operable to carry signals. For example, channel 115 may include a first terminal comprising one or more pins or pads at host device 105 and one or more pins or pads at memory device 110. Pins may be examples of conductive input or output points of devices of system 100, and pins may be operable to act as part of a channel.
[0038] Channel 115 (and associated signal paths and terminals) may be dedicated to transmitting one or more types of information. For example, channel 115 may include one or more command and address (CA) channels 186, one or more clock signal (CK) channels 188, one or more data (DQ) channels 190, one or more other channels 192, or combinations thereof. In some instances, signaling may be transmitted on channel 115 using single data rate (SDR) signaling or double data rate (DDR) signaling. In SDR signaling, one modulation symbol (e.g., signal level) of the signal may be registered for each clock cycle (e.g., on the rising or falling edge of the clock signal). In DDR signaling, two modulation symbols (e.g., signal levels) of the signal may be registered for each clock cycle (e.g., on both the rising and falling edges of the clock signal).
[0039] In some instances, CA channel 186 is operable to transmit commands between host device 105 and memory device 110, the commands containing control information (e.g., address information) associated with the commands. For example, a command carried by CA channel 186 may contain a read command for an address with desired data. In some instances, CA channel 186 may contain any number of signal paths (e.g., eight or nine signal paths) for decoding one or more of the address or command data.
[0040] In some instances, data channel 190 can be used to communicate one or more of data or control information between host device 105 and memory device 110. For example, data channel 190 can communicate information to be written to memory device 110 (e.g., bidirectional) or information to be read from memory device 110.
[0041] Channel 115 may contain any number of signal paths (including a single signal path). In some instances, channel 115 may contain multiple individual signal paths. For example, the channel may be x4 (e.g., containing four signal paths), x8 (e.g., containing eight signal paths), x16 (containing sixteen signal paths), etc.
[0042] Figure 2 This document describes an example of a memory die 200 that supports memory device health assessment at a host device, based on the examples disclosed herein. The memory die 200 may be a reference. Figure 1 Examples of the described memory die 160. In some instances, the memory die 200 may be referred to as a memory chip, memory device, or electronic memory device. The memory die 200 may include one or more memory cells 205, each of which may be programmable to store different logic states (e.g., programmed to one of a set of two or more possible states). For example, memory cell 205 may be operable to store one bit of information at a time (e.g., logic 0 or logic 1). In some instances, memory cell 205 (e.g., multilevel memory cell) may be operable to store more than one bit of information at a time (e.g., logic 00, logic 01, logic 10, logic 11). In some instances, memory cells 205 may be arranged in an array, such as referenced in [reference]. Figure 1 The memory array 170 is described.
[0043] Memory cell 205 can store charge representing a programmable state in a capacitor. A DRAM architecture may include a capacitor containing a dielectric material to store charge representing a programmable state. Other memory devices and components are also possible in other memory architectures. For example, a nonlinear dielectric material may be used. Memory cell 205 may include logic storage components, such as capacitor 230 and switching components 235. Capacitor 230 may be an example of a dielectric capacitor or a ferroelectric capacitor. Nodes of capacitor 230 may be coupled to a voltage source 240, which may be a cell board reference voltage, such as Vpl, or may be ground, such as Vss.
[0044] The memory die 200 may include one or more access lines (e.g., one or more word lines 210 and one or more digital lines 215) arranged in a pattern, such as a grid pattern. Access lines may be wires coupled to memory cells 205 and may be used to perform access operations on memory cells 205. In some instances, word lines 210 may be referred to as row lines. In some instances, digital lines 215 may be referred to as column lines or bit lines. References to access lines, row lines, column lines, word lines, digital lines, or bit lines, or the like, may be interchanged without affecting understanding or operation. Memory cells 205 may be located at the intersection of word lines 210 and digital lines 215.
[0045] Memory cell 205 can be accessed, for example, by activating or selecting one or more access lines, such as word line 210 or digital line 215. A single memory cell 205 can be accessed at its intersection point by biasing word line 210 and digital line 215 (e.g., by applying a voltage to word line 210 or digital line 215). The intersection point of word line 210 and digital line 215 in a two-dimensional or three-dimensional configuration may be referred to as the address of memory cell 205.
[0046] Access to memory cell 205 can be controlled via row decoder 220 or column decoder 225. For example, row decoder 220 can receive row addresses from local memory controller 260 and activate word line 210 based on the received row addresses. Column decoder 225 can receive column addresses from local memory controller 260 and activate digital line 215 based on the received column addresses.
[0047] Selecting or deselecting memory cell 205 can be achieved by activating or deactivating activation switch assembly 235 using word line 210. Capacitor 230 can be coupled to digital line 215 using switch assembly 235. For example, capacitor 230 can be isolated from digital line 215 when switch assembly 235 is deactivated, and can be coupled to digital line 215 when switch assembly 235 is activated.
[0048] Sensing component 245 is operable to detect the state (e.g., charge) stored on capacitor 230 of memory cell 205 and determine the logic state of memory cell 205 based on the stored state. Sensing component 245 may include one or more sensing amplifiers to amplify or additionally convert signals generated by accessing memory cell 205. Sensing component 245 may compare the signal detected from memory cell 205 with reference 250 (e.g., reference voltage). The detected logic state of memory cell 205 may be provided as an output of sensing component 245 (e.g., to input / output 255) and may indicate the detected logic state to another component of the memory device including memory die 200.
[0049] The local memory controller 260 can control access to the memory cell 205 through various components (e.g., row decoder 220, column decoder 225, sensing component 245). The local memory controller 260 can be a reference. Figure 1 Examples of the described local memory controller 165. In some instances, one or more of the row decoder 220, column decoder 225, and sensing components 245 may be co-located with the local memory controller 260. The local memory controller 260 may be operable to receive one or more commands or data from one or more different memory controllers (e.g., an external memory controller 120 associated with host device 105, another controller associated with memory die 200), translate the commands or data (or both) into information usable by memory die 200, perform one or more operations on memory die 200, and transfer data from memory die 200 to host device 105 based on the performance of said one or more operations. The local memory controller 260 may generate row signals and column address signals to activate target word line 210 and target digital line 215. The local memory controller 260 may also generate and control various voltages or currents used during operation of memory die 200. Generally, the amplitude, shape, or duration of the applied voltage or current discussed herein may vary, and may differ for the various operations discussed in the operational memory die 200.
[0050] The local memory controller 260 may be operable to perform one or more access operations on one or more memory cells 205 of the memory die 200. Examples of access operations may include write operations, read operations, refresh operations, precharge operations, or activation operations, etc. In some instances, access operations may be performed or otherwise coordinated by the local memory controller 260 in response to various access commands (e.g., from the host device 105). The local memory controller 260 may be operable to perform other access operations not listed herein or other operations related to the operation of the memory die 200 that are not directly related to accessing the memory cells 205.
[0051] As described herein, a memory device including memory die 200 can transmit health information to a host device, and the host device can perform one or more operations (e.g., determine one or more parameters for the memory device). In some cases, the host device may include a set of components for receiving, processing, and transmitting health information. For example, the host device may include a system health engine, a security engine, and / or communication components. In some instances, the communication components can transmit health information to another entity in the system that includes the host device. In some cases, other entities in the system can receive health information and, based on the health information, transmit signals back to the host device (e.g., indicating one or more parameters implemented at the host device or the memory device, or both). In some cases, the host device may use one or more components to receive and process health information to determine the state of the memory device and to determine one or more operating parameters for the memory device.
[0052] Figure 3 This document describes an example of system 300 that supports an external system for health monitoring, based on the examples disclosed herein. System 300 may include a host device 105-a, which may be as described in the references... Figure 1 An example of the described host device 105. Host device 105-a may represent one or more computers or SoCs, and may include or couple as described in the reference. Figure 1 The described memory devices 110 (e.g., memory devices 110-a and 110-b) are described. For example, host device 105-a may represent a SoC (System-on-a-Chip) or a separate component of the device, such as a dedicated security component. In these cases, host device 105-a may represent a separate chip or processor that receives health information from memory devices 110 but not other data. In some cases, system 300 may support the transmission of health information 330 monitored at one or more memory devices 110, such as memory devices 110-a and 110-b (e.g., transmitting one or more parameters indicating the state of memory devices 110-a and 110-b). Health information 330 (e.g., output by memory devices 110-a and 110-b) may be used by host device 105-a and one or more other entities (e.g., one or more other devices associated with said one or more entities) as described herein.
[0053] Host device 105-a may be an instance of a System-on-Chip (SoC), such as one associated with a vehicle or other device. While system 300 is described herein with reference to host device 105-a associated with a vehicle, it should be understood that instances of this SoC may also be applied to other host devices 105 (e.g., data center computers, secure laptop computers) without departing from the scope of this disclosure. Similarly, instances of entities of system 300 described herein may also be applied to other entities associated with such host devices 105, or other entities associated with host device 105-a, without departing from the scope of this disclosure.
[0054] Usage and environmental conditions can vary between host devices 105 (e.g., different or the same type of host device 105). Therefore, the usage level (e.g., wear level), remaining useful life, or general degradation of the memory device 110 associated with host device 105 may be unknown to either the memory device 110 or the host device 105. In these cases, the memory device 110 may begin to experience performance degradation or failure without the knowledge of either the memory device 110 or the host device 105, which can lead to failure of the memory device 110 or one or more parts or entities of system 300. The usage or wear parameters of the memory device 110 may therefore be unknown to either the memory device 110 or the host device 105. Therefore, maintenance and replacement arrangements for the memory device 110 or the host device 105, one or more manufacturing parameters of the memory device 110 or the host device 105, and other instances may be based on inaccurate data.
[0055] This disclosure provides techniques for a host device 105 (e.g., host device 105-a) to receive health information 330 (e.g., information about circuit degradation, compromised data integrity, operating voltage levels, etc.) from one or more memory devices 110 (e.g., memory devices 110-a, 110-b, or both) using one or more dedicated components (e.g., circuitry) of the host device 105 and memory device 110. The memory device 110 may store the health information 330 (e.g., one or more parameters indicating the state of the memory device 110) at the memory device 110, or it may transmit the health information 330 to the host device 105-a. In some instances, the memory device may use monitoring components or circuitry configured, for example, to monitor and output information associated with the health or other state of the memory device 110 to determine the health information.
[0056] Host device 105-a may include components such as a system health engine 315, a security engine 320, and a communication component 325. Each of these components may represent one or more corresponding circuits of host device 105-a, which may be configured to perform functions associated with the corresponding component as described herein. Furthermore, host device 105-a may include a set of controllers 310-a and 310-b (e.g., logic for controlling communication with memory device 110) and corresponding sets of pins 305-a and 305-b. In some instances, each set of pins 305 may be coupled to a corresponding memory device 110, and each controller 310 may in turn be coupled to a corresponding memory device 110. For example, controller 310-a may be coupled to memory device 110-a via pin 305-a, which may be coupled to memory device 110-a via one or more traces, wires or other electrical components, and controller 310-b may be coupled to memory device 110-b via pin 305-b, which may similarly be coupled to memory device 110-b via one or more traces, wires or other electrical components.
[0057] Each controller 310 may be coupled to and configured to transmit or send health information 330 to the system health engine 315. The system health engine 315 may be coupled to the security engine 320, and the system health engine 315 and the security engine 320 may be configured to send health information 330 (e.g., or associated information) to each other. The system health engine 315 may be further coupled to the communication component 325, and the system health engine 315 and the communication component 325 may be configured to send health information 330 (e.g., or associated information) to each other. In some instances, each controller 310 (e.g., in addition to being coupled to the system health engine 315) may be directly coupled to the security engine 320, the communication component 325, or both. In such instances, each controller 310 may, for example, be configured to send health information 330 directly to the security engine 320, the communication component 325, or both.
[0058] In some instances, one or more operating parameters, or other determinations made by components of host device 105-a, may be transmitted or sent to system health engine 315, communication component 325, or corresponding controller 310 for further analysis, transmission to memory device 110, or another device, or both. For example, system health engine 315 may transmit commands indicating operating parameters, determinations, or both to one or more memory devices 110 based on one or more determinations. Alternatively, the security engine may send operating parameter determinations or both to system health engine 315 or corresponding controller 310 for transmission to one or more memory devices 110.
[0059] In some cases, memory device 110 may store health information 330 in a register of memory device 110 (e.g., an external register, a mode register), and host device 105-a may access the register and the associated health information 330. For example, host device 105-a may access the register via controller 310-a or 310-b corresponding to memory devices 110-a and 110-b, respectively. Alternatively, memory device 110 may determine to transmit health information 330 to host device 105-a and may transmit health information 330 to host device 105-a. Host device 105-a may use health information 330 to, for example, track or estimate the lifespan of memory device 110 or adjust one or more parameters of memory device 110 (e.g., operating parameters), and other instances. In some instances, operating parameters may include the voltage level of memory device 110, the number of access operations for components of memory device 110, the operating temperature of components of memory device 110, or combinations thereof.
[0060] In some instances, controller 310 may be coupled to memory device 110 via corresponding pins 305-a or 305-b (e.g., one or more pins for a physical channel). In some cases (e.g., when host device 105-a represents a SoC), pin 305 may be configured to transmit command / address (C / A) and I / O information (e.g., data) with memory device 110. Furthermore, pin 305 may be configured to receive health information 330 from memory device 110 and transmit the health information 330 to one or more components of host device 105-a via controller 310. For example, controller 310 may transmit health information 330 to system health engine 315. Alternatively, security engine 320, communication component 325, or both may be configured to receive health information 330 from controller 310 (e.g., without routing through system health engine 315). In some cases, the data bus from memory device 110 (e.g., for transmitting and receiving data) may be routed to the SoC and the health information 330 may be routed to host device 105-a (e.g., when host device 105-a represents a security component).
[0061] System health engine 315 can process health information 330 to determine the state of memory device 110. In some cases, the state may indicate one or more safety-critical results that can be used to manage host device 105-a or a larger system containing host device 105-a. Safety-critical results may include temperature information, memory cell failure, or other parameters that may affect the safety of host device 105-a or the larger system. System health engine 315 may be coupled to security engine 320 and communication component 325. In some cases, system health engine 315 may make determinations based on health information 330 (e.g., determining operating parameters for memory device 110, host device 105-a, or the larger system). System health engine 315 may process health information 330 to be readable at other components of host device 105-a, or at one or more other devices. For example, the system health engine 315 may be configured to transmit the state of the memory device 110, the health information 330, or both, to the security engine 320, the communication component 325, or both, based on processing the health information 330 to make it readable at another component. In some cases, processing the health information 330 for readability at another component or device may include transforming the raw health data into one or more codes, bit sequences, or the like.
[0062] In some cases, the system health engine 315 may receive configuration or information for managing health information 330. For example, the system health engine 315 may receive this configuration or information indicating whether health information 330 will be transmitted to security engine 320, communication component 325, or both. In some instances, the system health engine 315 may receive configuration or information for managing health information 330 from an external device, such as an entity associated with a road or other constructed entity (e.g., a government-operated constructed entity) monitoring vehicle activity. In such instances, the configuration or information may be initially received at communication component 325 and transmitted to system health engine 315. In some instances, the system health engine 315 may receive configuration or information (e.g., for evaluating one or more parameters of health information 330) for managing health information 330 from an external device or from another component (e.g., a controller or processor) of host device 105-a.
[0063] For example, communication component 325 may, for instance, receive parameters from one or more devices outside host device 105-a (e.g., a device including host device 105-a, another device) for evaluating health information 330, in response to transmitting health information 330, based on other communications with host device 105-a (e.g., based on startup or other procedures), or based on one or more other criteria. For example, communication component 325 may receive from the one or more other devices a threshold state of memory device 110, one or more parameters for monitoring at the memory device, one or more procedures for determining the one or more operating parameters, or both. In some cases, one or more similar parameters may be received from another component of host device 105-a at the system health engine or communication component 325.
[0064] In some cases, for example, if health information 330 is associated with one or more security or critical functions of host device 105-a or a larger system, then system health engine 315 may transmit security-critical results to security engine 320. Security-critical results may represent, for example, results determined or otherwise identified by system health engine 315, indicating a failure of a portion or component of memory device 110, indicating a degradation of a portion or component of memory device 110, or indicating another parameter (e.g., one or more parameters meeting a threshold). Failures, degradation, or parameters may indicate a lower level of security for memory device 110, host device 105-a, the larger system, or any combination thereof, and may also indicate or relate to one or more results that can affect the security level of memory device 110, host device 105-a, the larger system, or any combination thereof.
[0065] In some instances, the system health engine 315 may transmit health information 330 to the security engine 320 based on, for example, thresholds of parameters, the state of memory devices that meet the thresholds, the type of parameters received, or combinations thereof (e.g., and other instances). Furthermore, the system health engine 315 may similarly transmit health information 330 to the communication component 325 based on thresholds of parameters, the state of memory devices that meet the thresholds, the type of parameters received, or combinations thereof. The security engine 320 may assess the health information 330 relative to the security of the host device 105-a or a larger system, and may make determinations based on the health information 330 (e.g., determining operating parameters). For example, the security engine 320 may determine that the set of memory cells in memory device 110 is no longer functional, and that memory device 110 should no longer use the set of memory cells. Operating parameters or other determinations may be transmitted back to the system health engine 315, the communication component 325, or the corresponding controller 310 for further analysis, transmission to memory device 110 or another device, or both. For example, the system health engine 315 can send a command to the memory device 110 indicating operating parameters, a confirmation, or both, based on a determination.
[0066] The system health engine 315 can also process health information 330 to determine safety-critical or non-safety-critical results. For example, the system health engine 315 can process health information 330 to determine maintenance and replacement arrangements (e.g., maintenance scheduling). In some cases, the system health engine 315 may, for example, transmit safety-critical results, non-safety-critical results, or both, to one or more entities outside the host device 105-a via communication component 325. For example, the security engine 320, the communication component, or both may be coupled to the controller 310 (e.g., via a direct connection).
[0067] In some cases, communication component 325 may transmit health information 330 received from system health engine 315 or directly from controller 310 to one or more devices outside host device 105-a (e.g., devices associated with entities of a larger system, such as other vehicles or a manufacturer database). For example, host device 105-a may be part of a fleet of vehicles (e.g., a fleet of trucks). If a vehicle experiences a mechanical failure, communication component 325 may transmit health information 330 to other vehicles in the fleet. Furthermore, communication component 325 may transmit health information 330 to devices within the vehicle itself (e.g., one or more devices associated with or coupled to host device 105-a). Communication component 325 may also transmit health information 330 to memory device 110 or a provider of host device 105-a.
[0068] In response to transmitting health information 330 to one or more devices external to the host device, communication component 325 may receive information from one or more devices external to the host device. For example, communication component 325 may receive one or more operating parameters for operating one or more memory devices 110. Communication component 325 may send information to another component of host device 105-a (e.g., system health engine 315 or controller 310). Information may be transmitted to memory device 110 based on information received at system health engine 315, which may forward the information to the corresponding controller 310 so that the controller may transmit the information to the corresponding memory device 110. In some instances (e.g., when communication component 325 is directly coupled to controller 310), communication component 325 may transmit information to the corresponding controller 310, and controller 310 may transmit information to the corresponding memory device 110.
[0069] In some cases, the functions performed by the system health engine 315 and the security engine 320 may be performed by one or more other circuits. In some cases, a circuit or combination of circuits may be configured to perform combined functions of the two engines.
[0070] Figure 4 This document describes an example of a process flow 400 that supports external system reporting for health monitoring, based on the examples disclosed herein. Process flow 400 can be implemented by host device 105-b and memory device 110-c, and may be used as a reference. Figures 1 to 3 Examples of the corresponding devices described. Host device 105-b and memory device 110-c may be coupled via a physical or logical bus, such as channel 115, that can support signaling between devices. Memory device 110-c may illustrate an example of a device comprising an array of memory cells that may be coupled to (e.g., a bus) a set of pins (e.g., a processor or SoC) of (e.g., host device 105-b) and configured to operate in response to commands from the processor or SoC.
[0071] Process flow 400 can also be implemented by device 405, which can be used as a reference. Figure 3Examples of described external devices. Device 405 may be associated, for example, with a road or other constructed entity (e.g., a government-operated constructed entity) that monitors vehicle activity. In some cases, device 405 may be an entity or controllable by an entity, which may also operate a data center (e.g., data stored for use in a nationwide failure time model). Device 405 (e.g., one or more of these devices) may receive data from multiple vehicles, such as memory health information. For example, device 405 may monitor the remaining lifespan of vehicle systems (e.g., safety-critical systems, such as memory) for safety purposes. In some cases, device 405 may additionally collect group data about vehicles in a region for various applications (e.g., traffic prediction). Host device 105-b may be operable via communication components (e.g., as referenced). Figure 3 The described communication component 325 communicates with the device 405, and the communication component can transmit electrical or wireless signals to the device 405.
[0072] In the following description of process flow 400, operations may be performed in a different order than those shown, or operations performed by memory device 110-c, host device 105-b, and device 405 may be performed in a different order or at different times. For example, some operations may be omitted from process flow 400, or other operations may be added to process flow 400. Although memory device 110-c, host device 105-b, and device 405 are shown as performing operations of process flow 400, some aspects of some operations may also be performed by one or more other devices.
[0073] In some cases, at 410, the memory device 110-c may receive an indication from the host device 105-b of a condition for transmitting one or more first parameters from the memory device 110-c. In some cases, the condition may indicate that a first circuitry of the host device is operable to receive the one or more parameters from the memory device 110-c according to a configuration indicated by the memory device. For example, the condition may indicate that the host device 105-b is configured as a controlled device for transmitting health information, or that the memory device 110-c is configured as a controller device for transmitting health information, or both.
[0074] The one or more first parameters may be associated with the state of the memory device 110-c (e.g., health, degradation, or remaining lifetime state). For example, the first parameter may represent health information, or a portion of health information, as referenced... Figure 3As described. Health information (e.g., the one or more first parameters) may be determined, for example, by a health monitoring circuit or component of the memory device 110-c and may indicate the state of the memory device 110-c or one or more of its components or circuits.
[0075] In 415, in some cases, the memory device 110-c may determine a configuration that may include the content of the one or more first parameters based on the conditions of the host device. The content may be the type of the first parameter, the amount of the first parameter, the amount of data associated with the first parameter, or any combination thereof (e.g., and other instances). Alternatively or additionally, the configuration may include an order or sequence for transmitting the one or more first parameters based on the conditions of the host device.
[0076] In 420, the first circuit of the host device 105-b (e.g., reference) Figure 3 The described system health engine 315 can receive information from memory device 110-c related to processing health information. For example, host device 105-b can receive one or more third parameters indicating a threshold state of the memory device, one or more parameters for monitoring at the memory device, one or more corresponding thresholds for the one or more first parameters, one or more processes, or combinations thereof, to determine one or more operating parameters (e.g., one or more transition points, sensing levels, voltage levels, time periods, or any combination thereof for the operation of memory device 110-c). A first circuit may receive the one or more third parameters at 420 from device 405 or from another circuit of host device 105-b, and other instances. In some cases, the state of memory device 110-c can be determined at least in part based on the one or more third parameters received at 420.
[0077] At 425, the memory device 110-c may transmit a defined configuration for transmitting the one or more parameters to the host device 105-b, which may be based on conditions of the host device 105-b. For example, the memory device 110-c may indicate the content or order of the one or more first parameters to the host device 105-b via the configuration. In some cases, the configuration may also indicate one or more other communication parameters for transmitting health information from the memory device 110-c to the host device 105-b.
[0078] At 430, memory device 110-c may determine one or more parameters (e.g., the one or more first parameters) that indicate the state of the memory device. For example, memory device 110-c may use dedicated components or dedicated circuitry of memory device 110-c to determine the one or more first parameters. The determination of the one or more first parameters may be based, for example, on monitoring the one or more first parameters using the dedicated components or circuitry while memory device 110-c is operating.
[0079] At 440, memory device 110-c may transmit the one or more first parameters indicating the state of the memory device to host device 105-b. For example, in some cases, memory device 110-c may transmit the one or more first parameters based on conditions of the host device, based on the one or more first parameters indicating the state of the memory device, based on the configuration determined at 415, or any combination thereof. In some cases, host device 105-b may also receive a set of one or more parameters (e.g., a fourth parameter) indicating the state of the second memory device from the second memory device. For example, host device 105-b may sequentially receive a set of fourth parameters with respect to the one or more first parameters. As described herein (e.g., referring to FIG. 3), host device 105-b may receive the first or fourth parameters via a corresponding pin set of host device 105-b and an associated controller.
[0080] In 445, in some cases, host device 105-b may store data indicating the one or more first parameters in a non-volatile storage device coupled to or included in the host device based on receiving the one or more first parameters. In some cases, the one or more first parameters may be transmitted to a third circuit of the host device (e.g., reference) based on receiving the one or more first parameters. Figure 3 The described communication component 325). For example, the third circuit may receive the first parameter via the first circuit or directly from the corresponding controller, as referenced. Figure 3 As described. In some cases, the third circuit may communicate with one or more external devices (e.g., device 405). In some cases, the third circuit may transmit one or more first parameters to device 405 at 450 based on receiving the one or more first parameters. In some cases, device 405 may be associated with the type of information indicated by the one or more first parameters (e.g., it may be associated with an entity that uses or processes information of the type indicated by the one or more first parameters).
[0081] In some instances, host device 105-b may include a second circuit (e.g., reference 105-b). Figure 3The security engine 320 described herein. In some cases, the one or more first parameters may be sent to a second circuit of the host device based on the receipt of the one or more first parameters. For example, the second circuit may receive the first parameters via the first circuit or directly from the corresponding controller, as described in reference [reference needed]. Figure 3 As described.
[0082] At 455, host device 105-b may determine the state of the memory device based on the one or more first parameters. In some cases, the determination may be performed at a first circuit of host device 105-b. In some cases, determining the state of the memory device may include identifying a code represented by the one or more first parameters, the code indicating the state of the memory device. In some cases, host device 105-b may determine the state of the second memory device at a first circuit based at least in part on the one or more fourth parameters associated with the second memory device. In some cases, the state of memory device 110-c may be further based on the one or more fourth parameters associated with the second memory device.
[0083] In some cases, the first circuitry (e.g., system health engine 315) may perform the determination. Furthermore, the first circuitry may be configured to process information indicating the state of the memory device, the security level of the host device 105-b, or both.
[0084] At 460, host device 105-b (e.g., a first circuit) may generate one or more second parameters indicating the state of memory device 110-c based on determining the state of the memory device at 450. In some cases, the first circuit may generate the one or more second parameters based on interpreting or reconfiguring the one or more first parameters for readability. Alternatively, the one or more second parameters may be generated based on processing or performing calculations using the one or more first parameters. The one or more second parameters may be sent at 465 to another circuit of the host device (e.g., security engine 320 or communication component 325) or device 405. In these cases, the one or more second parameters may be configured to be readable by another circuit of the host device 105-b or another circuit of a device external to the host device (e.g., device 405).
[0085] For example, a first circuit may send one or more second parameters to a third circuit of a host device based on the condition that one or more second parameters meet. In some cases, the condition may include a threshold of one or more second parameters, the type of one or more second parameters, an entity associated with one or more second parameters, or a combination thereof. In some cases, a first circuit may send one or more second parameters to a second circuit of a host device based on the condition that one or more second parameters meet. For example, the condition may include a threshold of one or more second parameters, the type of one or more second parameters, an entity associated with one or more second parameters, or a combination thereof. In these cases, a third circuit may send one or more second parameters to a device 405 at 460 based on the third circuit receiving the one or more second parameters, wherein the device 405 may be associated with the type of information indicated by the one or more second parameters.
[0086] At 470, the host device 105-b may be, for example, in a first circuit or a second circuit (e.g., reference 470). Figure 3 The security engine 320 described herein determines one or more operating parameters based on the one or more first parameters or the one or more second parameters. For example, the host device 105-b may determine the voltage level of the memory device, the number of access operations for the components of the memory device, the operating temperature of the components of the memory device, or a combination thereof. In some cases, a first circuit may perform the determination, and the determination may be further based on the one or more first parameters or the one or more second parameters.
[0087] In other cases, the second circuitry may perform the determination and may send an indication of one or more operating parameters to the first circuitry or to a controller operable to transmit the operating parameters to the memory device 110-c based on the determination of the one or more operating parameters. The second circuitry may perform the determination based on, for example, the presence of security-related information indicated by the first circuitry, a set of one or more first parameters, a set of one or more second parameters, or any combination thereof. In these cases, the second circuitry may determine, for example, one or more security-related parameters (e.g., one or more operating parameters for the memory device 110-c) to improve or maintain system security.
[0088] Alternatively, host device 105-b may receive the one or more operating parameters from device 405 at a third circuit (e.g., communication component 325) at 475, for example, in part based on the transmission of the one or more first or second parameters to device 405 at 450 or 460 respectively. The third circuit may, based on the receipt of the one or more operating parameters, transmit an indication of the one or more operating parameters to the first circuit, or to a controller operable to transmit the operating parameters to memory device 110-c.
[0089] At 480, host device 105-b may, for example, issue a command associated with the one or more operating parameters to memory device 110-c based on the state of the memory device. In some cases, issuing a command to memory device 110-c may be based on an indication of the one or more operating parameters received from device 405. In some cases, issuing a command to memory device 110-c may be based on determining the one or more operating parameters at host device 105-b (e.g., at a first or second circuit of host device 105-b). The command may indicate the one or more operating parameters to memory device 110-c and may further instruct memory device 110-c to operate according to the one or more operating parameters. Operating according to the operating parameters may reduce the degradation rate or bit error rate of memory device 110-c, or may increase the lifetime of memory device 110-c, or both (e.g., in other instances).
[0090] Figure 5 A block diagram 500 illustrates a host device 520 supporting memory device health assessment at the host device, according to an example disclosed herein. The host device 520 may be as described in the reference... Figures 1 to 4 Examples of various aspects of the described host device. The host device 520 or its various components may be examples of components for performing various aspects of memory device health assessment at the host device, as described herein. For example, the host device 520 may include a health information receiving component 525, a health information analysis component 530, a health status determination component 535, a command issuing component 540, a health information issuing component 545, an operating parameter communication component 550, or any combination thereof. Each of these components may communicate with each other directly or indirectly (e.g., via one or more buses).
[0091] Health information receiving component 525 may be configured or otherwise supported for receiving one or more first parameters indicating the state of the memory device from the memory device at the host device. Health information analysis component 530 may be configured or otherwise supported for sending one or more first parameters to the first circuitry, at least in part, based on identifying the first circuitry of the host device as the destination of the one or more first parameters. Health status determination component 535 may be configured or otherwise supported for determining the state of the memory device at the first circuitry, at least in part, based on the one or more first parameters. Command issuing component 540 may be configured or otherwise supported for issuing commands to the memory device associated with one or more operating parameters at least in part based on the state of the memory device.
[0092] In some instances, no, and the health information analysis component 530 may be configured or otherwise supported to generate one or more second parameters indicating the state of the memory device at a first circuit based at least in part on determining the state of the memory device, the one or more second parameters being readable by another circuit of the host device or by another circuit of a device external to the host device, wherein the first circuit is used to process information indicating the state of the memory device.
[0093] In some instances, the health information analysis component 530 may be configured or otherwise supported to transmit the one or more second parameters from the first circuitry to a second circuitry of the host device, based at least in part on the one or more second parameters indicating the security status of the host device.
[0094] In some instances, the health information analysis component 530 may be configured or otherwise supported to include means for determining the one or more operating parameters at a second circuit based at least in part on the one or more second parameters. In some instances, the health information analysis component 530 may be configured or otherwise supported to send indications of the one or more operating parameters from the second circuit to the first circuit based at least in part on the determination of the one or more operating parameters, wherein issuing a command to the memory device is at least in part based on the indications of the one or more operating parameters.
[0095] In some instances, the health information analysis component 530 may be configured or otherwise supported to transmit one or more second parameters from a first circuit to a third circuit of a host device, at least in part, based on conditions met by the one or more second parameters, the conditions including a threshold of the one or more second parameters, the type of the one or more second parameters, or an entity associated with the one or more second parameters, or any combination thereof, wherein the third circuit is used to communicate with one or more devices external to the host device. In some instances, the health information transmission component 545 may be configured or otherwise supported to transmit one or more second parameters, at least in part, via the third circuit to a device external to the host device, the external device being associated with the type of information indicated by the one or more second parameters.
[0096] In some instances, the operation parameter communication component 550 may be configured or otherwise supported for receiving, at least in part, the one or more operation parameters from a device external to the host device at a third circuit based on the transmission of the one or more second parameters. In some instances, the operation parameter communication component 550 may be configured or otherwise supported for transmitting, at least in part, an indication of the one or more operation parameters from the third circuit to the first circuit based on the receipt of the one or more operation parameters, wherein the transmission of a command to the memory device is at least in part based on the indication of the one or more operation parameters.
[0097] In some instances, the one or more operating parameters include the voltage level of the memory device, the number of access operations for components of the memory device, the operating temperature of components of the memory device, or any combination thereof.
[0098] In some instances, the health information analysis component 530 may be configured or otherwise supported to generate one or more second parameters indicating the state of the memory device, at least in part based on determining the state of the memory device, at a first circuit. In some instances, the health information analysis component 530 may be configured or otherwise supported to send the one or more second parameters to another circuit of the host device or another circuit of a device external to the host device.
[0099] In some instances, the health information analysis component 530 may be configured or otherwise supported to determine one or more operating parameters at a first circuit based at least in part on the one or more first parameters, wherein issuing a command to the memory device is at least in part based on determining the one or more operating parameters.
[0100] In some instances, the health information analysis component 530 may be configured or otherwise supported to include components for transmitting the one or more first parameters to a third circuitry of a host device, at least in part based on receiving the one or more first parameters, wherein the third circuitry is configured to communicate with one or more devices external to the host device. In some instances, the health information transmission component 545 may be configured or otherwise supported to include components for transmitting the one or more first parameters via the third circuitry to a device external to the host device, at least in part based on transmitting the one or more first parameters, the device external to the host device being associated with the type of information indicated by the one or more first parameters.
[0101] In some instances, the operation parameter communication component 550 may be configured or otherwise supported for receiving the one or more operation parameters from a device outside the host device at a third circuit, at least in part based on the transmission of the one or more first parameters, wherein the transmission of a command to the memory device is at least in part based on the receipt of the one or more operation parameters.
[0102] In some instances, the health information analysis component 530 may be configured or otherwise supported to receive one or more third parameters at a first circuit from another circuit of the host device or from another circuit of a device external to the host device, the third parameters indicating a threshold state of the memory device, one or more parameters for monitoring at the memory device, one or more thresholds for the one or more first parameters, one or more processes for determining the one or more operating parameters, or any combination thereof, wherein the state of the memory device is determined at least in part based on the one or more third parameters.
[0103] In some instances, the health information receiving component 525 may be configured or otherwise supported to include means for receiving, at the host device, one or more fourth parameters indicating the state of the second memory device, said one or more fourth parameters being received sequentially with respect to said one or more first parameters. In some instances, the health status determining component 535 may be configured or otherwise supported to include means for determining, at the first circuitry, the state of the second memory device at least in part based on said one or more fourth parameters.
[0104] In some instances, the state of the memory device is determined at least in part based on one or more of the fourth parameters.
[0105] In some instances, to support the determination of the state of a memory device, the health status determination component 535 may be configured or otherwise supported to support a component for identifying a code represented by one or more first parameters, the code indicating the state of the memory device.
[0106] In some instances, the health information analysis component 530 may be configured or otherwise supported to store data indicating the one or more first parameters at a non-volatile storage device coupled to the host device, based at least in part on the receipt of the one or more first parameters.
[0107] In some instances, the first circuitry may be operable to process information indicating the state of a memory device, information indicating the security level of a host device, or any combination thereof.
[0108] Figure 6 A block diagram 600 illustrates a memory device 620 supporting memory device health assessment at a host device, according to an example disclosed herein. The memory device 620 may be as described in reference... Figures 1 to 4 Examples of aspects of the described memory device. Memory device 620 or its various components may be examples of components for performing various aspects of memory device health assessment at a host device, as described herein. For example, memory device 620 may include a health information determination component 625, a host device condition receiving component 630, a health information transmitting component 635, a communication configuration component 640, or any combination thereof. Each of these components may communicate with each other directly or indirectly (e.g., via one or more buses).
[0109] The health information determination component 625 may be configured or otherwise supported to include means for determining one or more parameters indicating the state of the memory device at the memory device. The host device condition receiving component 630 may be configured or otherwise supported to receive an indication of host device conditions, at least in part, based on the determination of the one or more parameters indicating the state of the memory device, to transmit the one or more parameters from the memory device. The health information transmitting component 635 may be configured or otherwise supported to transmit the one or more parameters indicating the state of the memory device to the host device, at least in part, based on the host device conditions and the determination of the one or more parameters indicating the state of the memory device.
[0110] In some instances, the host device's condition indicates that a first circuit of the host device for receiving the one or more parameters is operable to receive the one or more parameters from the memory device according to a configuration indicated by the memory device.
[0111] In some instances, the communication configuration component 640 may be configured or otherwise support components for transmitting configurations for transmitting the one or more parameters to a host device, at least in part based on the conditions of the host device.
[0112] In some instances, the communication configuration component 640 may be configured or otherwise support a component for determining a configuration, including the order of transmitting the one or more parameters, based at least in part on the conditions of the host device, wherein the transmission of the one or more parameters is based at least in part on determining the configuration.
[0113] In some instances, the communication configuration component 640 may be configured or otherwise support components for determining a configuration containing the one or more parameters based at least in part on conditions of the host device, wherein transmitting the one or more parameters is at least in part based on determining the configuration.
[0114] Figure 7 A flowchart illustrating a method 700 for assessing the health of a memory device at a host device, based on examples disclosed herein, is shown. The operation of method 700 can be implemented by a host device or its components as described herein. For example, it can be implemented by, as referenced... Figures 1 to 5 The described host device performs the operation of method 700. In some instances, the host device may execute an instruction set to control the functional elements of the device to perform the described functions. Alternatively, the host device may use dedicated hardware to perform aspects of the described functions.
[0115] At 705, the method may include receiving one or more first parameters at the host device that indicate the state of the memory device from the memory device. The operation of 705 may be based on, as referenced... Figure 3 and 4 The described instance is executed. In some instances, aspects of the 705 operation may be determined by reference, as in [reference]. Figure 5 The described health information receiving component 525 is executed.
[0116] In 710, the method may include sending the one or more first parameters to the first circuit, at least in part, based on identifying the first circuit of the host device as the destination of the one or more first parameters. The operation of 710 may be as described in reference... Figure 3 The example described in section 4 is executed. In some instances, aspects of the operation of 710 may be determined by reference as follows. Figure 5 The described health information analysis component 530 is executed.
[0117] At 715, the method may include determining the state of the memory device at a first circuit, at least in part, based on the one or more first parameters. The operation of 715 may be based on, as referenced... Figure 3 and 4 The described instance is executed. In some instances, aspects of the operation of 715 may be determined by reference, as shown in the reference. Figure 5 The health status determination component 535 is executed as described.
[0118] At 720, the method may include issuing a command to the memory device associated with one or more operating parameters, at least in part based on the state of the memory device. The operation of 720 may be based on, as referenced... Figure 3 and 4 The described instance is executed. In some instances, aspects of the operation of 720 may be determined by reference, as in [reference]. Figure 5 The command issuing component 540 as described executes.
[0119] In some instances, the device described herein may perform one or more methods, such as method 700. The device may include features, circuitry, logic, components, or instructions (e.g., a non-transitory computer-readable medium storing instructions executable by a processor) for: receiving one or more first parameters at a host device from a memory device indicating the state of the memory device; sending the one or more first parameters to a first circuit at least in part based on identifying the first circuitry of the host device as the destination of the one or more first parameters; determining the state of the memory device at the first circuitry at least in part based on the one or more first parameters; and transmitting a command to the memory device associated with one or more operating parameters at least in part based on the state of the memory device.
[0120] In some instances of the method 700 and apparatus described herein, the method, apparatus, and non-transitory computer-readable medium may include further operations, features, circuitry, logic, components, or instructions for generating one or more second parameters indicating the state of a memory device at a first circuit, at least in part based on determining the state of the memory device, the one or more second parameters being readable by another circuit of a host device or by another circuit of a device external to the host device, wherein the first circuit is available for processing information indicating the state of the memory device.
[0121] Some examples of the method 700 and apparatus described herein may further include operations, features, circuitry, logic, components, or instructions for transmitting the one or more second parameters from the first circuitry to a second circuitry of the host device, based at least in part on the one or more second parameters indicating the security status of the host device.
[0122] Some examples of the method 700 and apparatus described herein may further include operations, features, circuit systems, logic, components, or instructions for: determining one or more operating parameters at a second circuit based at least in part on the one or more second parameters, and transmitting an indication of the one or more operating parameters from the second circuit to a first circuit based at least in part on the determination of the one or more operating parameters, wherein issuing a command to a memory device may be based at least in part on the indication of the one or more operating parameters.
[0123] Some examples of the method 700 and device described herein may further include operations, features, circuit systems, logic, components, or instructions for: transmitting one or more second parameters from a first circuit to a third circuit of a host device based at least in part on conditions satisfied by the one or more second parameters, the conditions including a threshold of the one or more second parameters, the type of the one or more second parameters, or an entity associated with the one or more second parameters, or any combination thereof, wherein the third circuit can be used to communicate with one or more devices external to the device; and a device that transmits one or more second parameters to a device external to the host device via the third circuit based at least in part on the transmission of the one or more second parameters, the device external to the host device being associated with a type of information indicated by the one or more second parameters.
[0124] Some examples of the method 700 and apparatus described herein may further include operating features, circuitry, logic, components, or instructions for: receiving the one or more operating parameters from a device external to a host device in a third circuit, at least in part based on the transmission of the one or more second parameters; and transmitting an indication of the one or more operating parameters from the third circuit to a first circuit, at least in part based on the receipt of the one or more operating parameters, wherein the transmission of a command to a memory device may be at least in part based on the indication of the one or more operating parameters.
[0125] In some instances of the method 700 and apparatus described herein, the one or more operating parameters include the voltage level of the memory device, the number of access operations for components of the memory device, the operating temperature of components of the memory device, or any combination thereof.
[0126] In some instances of the method 700 and apparatus described herein, one or more second parameters indicative of the state of the memory device are generated at a first circuit, at least in part based on determining the state of the memory device, and said one or more second parameters are sent to another circuit of the host device or another circuit of a device external to the host device.
[0127] Some examples of the method 700 and apparatus described herein may further include operations, features, circuit systems, logic, components, or instructions for determining the one or more operating parameters at a first circuit based at least in part on the one or more first parameters, wherein issuing a command to a memory device may be based at least in part on determining the one or more operating parameters.
[0128] Some examples of the method 700 and device described herein may further include operations, characteristic circuit systems, logic, components, or instructions for: sending one or more first parameters to a host device at least in part based on receiving the one or more first parameters, wherein the third circuit can be used to communicate with one or more devices external to the device; and means for transmitting one or more first parameters to a device external to the host device via the third circuit at least in part based on sending the one or more first parameters, wherein the device external to the host device is associated with the type of information indicated by the one or more first parameters.
[0129] Some examples of the method 700 and apparatus described herein may further include operations, features, circuit systems, logic, components, or instructions for receiving the one or more operating parameters from a device outside the host device at a third circuit, at least in part, based on the transmission of the one or more second parameters, wherein the transmission of a command to the memory device may be at least in part based on the receipt of the one or more operating parameters.
[0130] Some examples of the method 700 and apparatus described herein may further include operations, features, circuitry, logic, components, or instructions for receiving one or more third parameters at a first circuit from another circuit of a host device or from another circuit of a device external to the host device, said one or more third parameters indicating a threshold state of a memory device, one or more parameters for monitoring at the memory device, one or more thresholds for said one or more first parameters, one or more processes for determining said one or more operating parameters, or any combination thereof, wherein the state of the memory device may be determined at least in part based on said one or more third parameters.
[0131] Some examples of the method 700 and apparatus described herein may further include operations, features, circuit systems, logic, components, or instructions for: receiving at a host device one or more fourth parameters indicating the state of a second memory device from a second memory device, the one or more fourth parameters being received sequentially with respect to the one or more first parameters; and determining the state of the second memory device at a first circuit based at least in part on the one or more fourth parameters.
[0132] In some instances of the method 700 and apparatus described herein, the state of the memory device may be determined at least in part based on the one or more fourth parameters.
[0133] In some instances of the method 700 and apparatus described herein, determining the state of a memory device may include operations, features, circuitry, logic, components, or instructions for identifying codes represented by the one or more first parameters, the codes indicating the state of the memory device.
[0134] Some examples of the methods 700 and devices described herein may further include operations, features, circuit systems, logic, components, or instructions for storing data indicating the one or more first parameters at a non-volatile storage device coupled to a host device, based at least in part on receiving the one or more first parameters.
[0135] In some instances of the method 700 and apparatus described herein, the first circuit may be operable to process information indicating the state of a memory device, information indicating the security level of a host device, or any combination thereof.
[0136] Figure 8 A flowchart illustrating a method 800 for evaluating the health of a memory device at a host device, based on examples disclosed herein, is shown. The operation of method 800 can be implemented by the memory device or its components as described herein. For example, it can be implemented by, as referenced... Figures 1 to 4 The memory device described in section 6 is used to perform the operations of method 800. In some instances, the memory device can execute an instruction set to control the functional elements of the device to perform the described functions. Alternatively, the memory device may use dedicated hardware to perform aspects of the described functions.
[0137] At 805, the method may include determining one or more parameters at the memory device that indicate the state of the memory device. The operation of 805 may be based on, as referenced... Figure 3 and 4 The described instance is executed. In some instances, aspects of the 805 operation may be as described in the reference. Figure 6 The described health information is determined by component 625.
[0138] In 810, the method may include receiving an indication of conditions of the host device to transfer the one or more parameters from the memory device, at least in part, based on determining one or more parameters indicating the state of the memory device. The operation of 810 may be based on, as referenced... Figure 3 and 4 The described instance is executed. In some instances, aspects of the operation of 810 may be determined by reference, as in [reference]. Figure 6 The described host device condition receiving component 630 is executed.
[0139] At 815, the method may include transmitting the one or more parameters indicating the state of the memory device to the host device, based at least in part on conditions of the host device and determining the one or more parameters indicating the state of the memory device. Operation of 815 may be based on, as referenced... Figure 3 and 4The described instance is executed. In some instances, aspects of the operation of 815 may be performed by the health information emission component 635 as described with reference to Figure 6.
[0140] In some instances, the device as described herein may perform one or more methods, such as method 800. The device may include features, circuitry, logic, components, or instructions (e.g., a non-transitory computer-readable medium storing instructions executable by a processor) for: determining one or more parameters at a memory device indicating the state of the memory device; receiving an instruction from a host device regarding a condition of the host device to transmit the one or more parameters from the memory device, based at least in part on the determination of the one or more parameters indicating the state of the memory device; and transmitting the one or more parameters indicating the state of the memory device to the host device, based at least in part on the conditions of the host device and the determination of the one or more parameters indicating the state of the memory device.
[0141] In some instances of the method 800 and apparatus described herein, the host device condition indicates that a first circuit of the host device for receiving the one or more parameters is operable to receive the one or more parameters from the memory device according to a configuration indicated by the memory device.
[0142] Some examples of the methods 800 and devices described herein may further include operations, characteristic circuitry, logic, components, or instructions for transmitting configurations of the one or more parameters to a host device, at least in part based on the conditions of the host device.
[0143] Some examples of the methods 800 and devices described herein may further include operations, features, circuitry, logic, components, or instructions for determining, at least in part, a configuration comprising the order of transmitting the one or more parameters, based on conditions of the host device, wherein transmitting the one or more parameters may be at least in part based on determining the configuration.
[0144] Some examples of the method 800 and device described herein may further include operations, features, circuitry, logic, components, or instructions for determining a configuration containing the one or more parameters, at least in part, based on conditions of the host device, wherein the transmission of the one or more parameters may be at least in part based on determining the configuration.
[0145] It should be noted that the methods described herein describe possible implementations, and the operations and steps can be rearranged or otherwise modified, and other implementations are possible. Furthermore, two or more parts from the methods described may be combined.
[0146] Describing another device. The device may include: a pin coupled to a memory device and operable to receive one or more first parameters indicating the state of the memory device; and a first circuit coupled to the pin and operable to receive the one or more first parameters via the pin at least in part based on the first circuit being the destination of the one or more first parameters, and to determine one or more operating parameters for the memory device at least in part based on determining the state of the memory device and the one or more first parameters, wherein the pin is further operable to transmit a command associated with the one or more operating parameters to the memory device at least in part based on determining the one or more operating parameters.
[0147] In some instances, the device may include a controller coupled to the pin and operable to send the one or more first parameters to the first circuit at least in part based on the destination of identifying the first circuit as the one or more first parameters.
[0148] In some instances of the device, the first circuitry may be further operable to generate one or more second parameters indicating the state of the memory device, at least in part based on determining the state of the memory device, the one or more second parameters being readable by another circuitry of the device or by another circuitry of a device external to the device.
[0149] In some instances of the device, the device may include a second circuit operable to process information indicating the security level of the device, wherein the second circuit is operable to receive one or more second parameters from a first circuit based on the one or more second parameters indicating the security state of the host device, determine one or more operating parameters based on the one or more second parameters, and send an indication of the one or more operating parameters to the first circuit based on the determination of the one or more operating parameters, wherein issuing a command to the memory device is based on the indication of the one or more operating parameters.
[0150] In some instances, the device may include a third circuit operable to communicate with one or more devices external to the device. The third circuit is operable to receive the one or more second parameters from a first circuit at least in part based on conditions satisfying the one or more second parameters, the conditions including a threshold of the one or more second parameters, the type of the one or more second parameters, or an entity associated with the one or more second parameters, or any combination thereof, and to transmit the one or more second parameters to the one or more devices external to the device at least in part based on the receipt of the one or more second parameters.
[0151] In some instances, the device may include receiving one or more operating parameters from one or more external devices based at least in part on transmitting the one or more second parameters, and sending an indication of the one or more operating parameters to a first circuit based at least in part on receiving the one or more operating parameters, wherein transmitting a command to a memory device may be based at least in part on the indication of the one or more operating parameters.
[0152] In some instances, the device may include determining one or more operating parameters at least in part based on the one or more first parameters, wherein issuing commands to the memory device may be at least in part based on determining the one or more operating parameters.
[0153] In some instances, the device may include a third circuit operable to communicate with one or more devices external to the device, the third circuit operable to receive the one or more first parameters via pins, and to transmit the one or more first parameters to the one or more devices external to the device at least in part based on the receipt of the one or more first parameters.
[0154] In some instances, the device may include a second pin that may be coupled to a second memory device and operable to receive one or more fourth parameters indicating the state of the second memory device, wherein the second pin may be coupled to a first circuit, and wherein the first circuit may be further operable to determine the state of the second memory device at least in part based on the one or more fourth parameters.
[0155] In some instances of the device, the first circuit may be operable to process information indicating the state of the memory device, information indicating the security level of the device, or any combination thereof.
[0156] Another device is described. The device may include a pin coupled to a host device, and a controller coupled to the pin, the controller operable to: determine one or more parameters indicating the state of the device; receive, at least in part, an indication of a condition of the host device from and via the pin, based on the determination of the one or more parameters indicating the state of the device, to transmit the one or more parameters from the device; and transmit the one or more parameters to the host device and via the pin, at least in part, based on the conditions of the host device and the determination of the one or more parameters indicating the state of the device.
[0157] In some instances, the device may include a configuration for transmitting the one or more parameters to the host device and via pins, at least in part based on the conditions of the host device.
[0158] Another device is described. The device may include pins coupled to a memory device, and a controller coupled to the pins, the controller being operable to: receive one or more first parameters from the memory device and via the pins indicating the state of the memory device; send the one or more first parameters to a first circuit of the device, at least in part, based on identifying a first circuit as the destination of the one or more first parameters; determine the state of the memory device, at least in part, based on the one or more first parameters; and transmit a command to the memory device associated with one or more operating parameters, at least in part, based on the state of the memory device.
[0159] The information and signals described herein can be represented using any of a variety of different techniques and skills. For example, voltage, current, electromagnetic waves, magnetic fields or magnetic particles, light fields or light particles, or any combination thereof, can be used to represent data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the foregoing description. Some diagrams may illustrate a signal as a single signal; however, a signal may represent a bus of signals, which may have various bit widths.
[0160] The terms "electronic connectivity," "conductive contact," "connection," and "coupling" can refer to a relationship between components that supports the flow of electrons between them. If there are any conductive paths between components that can support the flow of signals between them at any time, then the components are considered to be in electronic communication with each other (or in conductive contact with each other, or connected to each other, or coupled to each other). At any given time, the conductive path between components that are electronically connected (or in conductive contact, connected, or coupled) can be open or closed, depending on the operation of the device containing the connected components. The conductive path between connected components can be a direct conductive path between the components, or it can be an indirect conductive path that may include intermediate components such as switches, transistors, or other components. In some instances, one or more intermediate components, such as switches or transistors, can be used to interrupt the signal flow between connected components for a period of time.
[0161] The term "coupling" refers to the condition that shifts from an open-circuit relationship between components to a closed-circuit relationship. In an open-circuit relationship, signals cannot currently travel between components via a conductive path, while in a closed-circuit relationship, signals can travel between components via a conductive path. When a component, such as a controller, couples other components together, it initiates a change that allows signals to flow between other components via conductive paths that were previously not permitted.
[0162] The term "isolation" refers to the relationship between components where signals cannot currently flow between them. Components are isolated from each other if there is an open circuit between them. For example, components separated by a switch positioned between two components are isolated from each other when the switch is open. When a controller separates two components, it prevents signals from flowing between the components using previously permitted conductive paths.
[0163] As used in this article, the term “generally” means that the modified feature (e.g., a verb or adjective modified by the term “generally”) does not have to be absolute but is close enough to obtain the advantage of the feature.
[0164] As used herein, the term "electrode" can refer to an electrical conductor and, in some instances, can serve as an electrical contact to a memory cell or other component of a memory array. An electrode may comprise a trace, wire, conductive line, conductive layer, or the like that providing a conductive path between elements or components of the memory array.
[0165] The devices discussed herein, including memory arrays, can be formed on semiconductor substrates such as silicon, germanium, silicon-germanium alloys, gallium arsenide, and gallium nitride. In some instances, the substrate is a semiconductor wafer. In other instances, the substrate can be a silicon-on-insulator (SOI) substrate, such as silicon-on-glass (SOG) or silicon-on-sapphire (SOP), or an epitaxial layer of semiconductor material on another substrate. The conductivity of the substrate or subregions of the substrate can be controlled by doping with various chemicals including, but not limited to, phosphorus, boron, or arsenic. Doping can be performed during the initial formation or growth of the substrate, either by ion implantation or by any other doping method.
[0166] The switching components or transistors discussed herein may represent field-effect transistors (FETs) and include three-terminal devices comprising a source, drain, and gate. Terminals may be connected to other electronic components via a conductive material (e.g., a metal). The source and drain may be conductive and may include heavily doped, such as degenerate, semiconductor regions. The source and drain may be separated by lightly doped semiconductor regions or channels. If the channel is n-type (i.e., the majority carriers are electrons), then the FET may be called an n-type FET. If the channel is p-type (i.e., the majority carriers are holes), then the FET may be called a p-type FET. The channel may be end-capped by an insulating gate oxide. The channel conductivity can be controlled by applying a voltage to the gate. For example, applying a positive or negative voltage to an n-type FET or a p-type FET, respectively, can cause the channel to become conductive. When a voltage greater than or equal to the transistor's threshold voltage is applied to the transistor's gate, the transistor may be "on" or "activated." When a voltage less than the transistor's threshold voltage is applied to the transistor's gate, the transistor may be "off" or "deactivated."
[0167] The description herein, illustrated with reference to the accompanying drawings, describes exemplary configurations and does not represent all instances that can be implemented or that are within the scope of the claims. The term "exemplary" as used herein means "serving as an example, illustration, or description" and is not "preferred" or "superior" to other instances. The detailed description includes specific details to provide an understanding of the described techniques. However, these techniques can be practiced without these specific details. In some cases, well-known structures and apparatuses are shown in block diagram form to avoid obscuring the concept of the described instances.
[0168] In the accompanying drawings, similar components or features may have the same reference numerals. Additionally, various components of the same type can be distinguished by a dash following the reference numeral and a second numeral used to differentiate them among similar components. If only the first reference numeral is used in the specification, the description applies to any of the similar components having the same first reference numeral, regardless of the second reference numeral.
[0169] The functions described herein can be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented as software executed by a processor, the functions can be stored as one or more instructions or codes on or transmitted over a computer-readable medium. Other examples and implementations are within the scope of this disclosure and the appended claims. For instance, due to the nature of software, the functions described herein can be implemented using software executed by a processor, hardware, firmware, hardwired, or any combination thereof. Features implementing the functions can also be physically located in various locations, including distributed configurations such that portions of the functions are implemented in different physical locations.
[0170] For example, the various illustrative blocks and modules described in connection with this disclosure may be implemented or performed using a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but alternatively, the processor may be any processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors incorporating a DSP core, or any other such configuration).
[0171] As used herein, the word "or," as included in the claims, as in a list of items (e.g., a list followed by phrases such as "at least one of" or "one or more of"), indicates a list containing endpoints such that a list of at least one of, for example, A, B, or C, means A or B or C or AB or AC or BC or ABC (i.e., A and B and C). Additionally, as used herein, the phrase "based on" should not be construed as referring to a closed set of conditions. For example, without departing from the scope of this disclosure, an exemplary step described as "based on condition A" may be based on both condition A and condition B. In other words, as used herein, the phrase "based on" should also be interpreted as the phrase "at least partially based on".
[0172] Computer-readable media includes both non-transitory computer storage media and communication media that include any media that facilitates the transfer of computer programs from one place to another. Non-transitory storage media can be any available media accessible by a general-purpose or special-purpose computer. By way of example, and not limitation, non-transitory computer-readable media can include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), compressed optical disc (CD) ROM or other optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, or any other non-transitory media that can be used to carry or store desired program code components in the form of instructions or data structures and is accessible by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. Furthermore, any connection is appropriately referred to as computer-readable media. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then such coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave are included in the definition of media. As used herein, disks and optical discs include CDs, laser discs, optical discs, digital multifunction discs (DVDs), floppy disks, and Blu-ray discs, where disks typically copy data magnetically, while optical discs use lasers to copy data optically. Combinations of these are also included within the scope of computer-readable media.
[0173] The description provided herein enables those skilled in the art to make or use this disclosure. Those skilled in the art will appreciate the various modifications that can be made to this disclosure, and that the general principles defined herein can be applied to other variations without departing from the scope of this disclosure. Therefore, this disclosure is not limited to the examples and designs described herein, but is given the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for memory operations, comprising: At the host device and from the first memory device, a configuration associated with an indication of the state of the first memory device is received, the configuration including: The content of one or more first parameters, The order of the one or more first parameters, or Communication parameters used to transmit the one or more first parameters, The one or more first parameters indicate the state of the first memory device; The host device receives one or more first parameters from the first memory device according to the configuration; The one or more first parameters are sent to the first circuit at least in part based on identifying the first circuit of the host device as the destination of the one or more first parameters; The state of the first memory device is determined at the first circuit based at least in part on the one or more first parameters; and Send a command to the first memory device that is associated with one or more operating parameters that are at least partially based on the state of the first memory device.
2. The method according to claim 1, further comprising: At least in part based on determining the state of the first memory device, one or more second parameters indicative of the state of the first memory device are generated at the first circuit, the one or more second parameters being readable by another circuit of the host device or by another circuit of a device external to the host device, wherein the first circuit is used to process information indicative of the state of the first memory device.
3. The method according to claim 2, further comprising: The one or more second parameters are sent from the first circuit to the second circuit of the host device, at least in part, based on the security status of the host device indicated by the one or more second parameters.
4. The method of claim 3, further comprising: The one or more operating parameters are determined at the second circuit based at least in part on the one or more second parameters; as well as The instruction of one or more operating parameters is sent from the second circuit to the first circuit, at least in part based on the determination of the one or more operating parameters, wherein the command is sent to the first memory device based at least in part on the instruction of the one or more operating parameters.
5. The method of claim 2, further comprising: The first circuit sends one or more second parameters to a third circuit of the host device at least in part based on conditions that the one or more second parameters meet, the conditions including a threshold of the one or more second parameters, the type of the one or more second parameters, or an entity associated with the one or more second parameters, or any combination thereof, wherein the third circuit is used to communicate with one or more devices outside the host device; as well as The one or more second parameters are transmitted via the third circuit to a device outside the host device, at least in part, based on the transmission of the one or more second parameters, and the device outside the host device is associated with the type of information indicated by the one or more second parameters.
6. The method of claim 5, further comprising: The one or more operating parameters are received at the third circuit from the device outside the host device, at least in part, based on the transmission of the one or more second parameters; as well as The instruction of one or more operating parameters is sent from the third circuit to the first circuit at least in part based on the receipt of the one or more operating parameters, wherein the command is sent to the first memory device at least in part based on the instruction of the one or more operating parameters.
7. The method of claim 1, wherein the command indicates one or more operating parameters including the operating temperature of a component of the first memory device, and wherein the command instructs the first memory device to operate according to the one or more operating parameters including the operating temperature.
8. The method of claim 1, further comprising: At the first circuit, one or more second parameters indicating the state of the first memory device are generated, at least in part, based on determining the state of the first memory device; as well as The one or more second parameters are sent to another circuit of the host device or to another circuit of a device outside the host device.
9. The method of claim 1, further comprising: The one or more operating parameters are determined at the first circuit based at least in part on the one or more first parameters, wherein issuing the command to the first memory device is based at least in part on determining the one or more operating parameters.
10. The method of claim 1, further comprising: The first parameter is sent to a third circuit of the host device at least in part based on the receipt of the first parameter, wherein the third circuit is used to communicate with one or more devices outside the host device; as well as A device that transmits one or more first parameters to an external host device via the third circuitry, at least in part based on sending the one or more first parameters, the external host device being associated with the type of information indicated by the one or more first parameters.
11. The method of claim 10, further comprising: The command is received at the third circuit from a device outside the host device based at least in part on the transmission of the one or more first parameters, wherein the transmission of the command to the first memory device is based at least in part on the receipt of the one or more operating parameters.
12. The method of claim 1, further comprising: At the first circuit, one or more third parameters are received from another circuit of the host device or from another circuit of a device external to the host device. The one or more third parameters indicate a threshold state of the first memory device, one or more parameters for monitoring at the first memory device, one or more thresholds for the one or more first parameters, one or more processes for determining the one or more operating parameters, or any combination thereof, wherein the state of the first memory device is determined at least in part based on the one or more third parameters.
13. The method of claim 1, further comprising: At the host device, one or more fourth parameters indicative of the state of the second memory device are received from the second memory device, the one or more fourth parameters being received sequentially with respect to the one or more first parameters; and The state of the second memory device is determined at the first circuit based at least in part on one or more of the fourth parameters.
14. The method of claim 13, wherein the state of the first memory device is determined at least in part based on the one or more fourth parameters.
15. The method of claim 1, wherein determining the state of the first memory device comprises: Identify a code represented by one or more first parameters, the code indicating the state of the first memory device.
16. The method of claim 1, further comprising: Data indicating the one or more first parameters is stored at least in part in a non-volatile storage device coupled to the host device based on the receipt of the one or more first parameters.
17. The method of claim 1, wherein the first circuitry is operable to process information indicating the state of the first memory device, information indicating the security level of the host device, or any combination thereof.
18. A host device, comprising: One or more pins that can be coupled to a memory device and are operable to communicate with the memory device; as well as A first circuit, coupled to the one or more pins and operable to: Receive, via one or more pins, a configuration associated with indicating the state of the memory device, the configuration including: The content of one or more first parameters, The order of the one or more first parameters, or Communication parameters used to transmit the one or more first parameters, The one or more first parameters indicate the state of the memory device; The first circuit is at least partially the destination of the one or more first parameters, and the one or more first parameters are received via the one or more pins according to the configuration; and One or more operating parameters for the memory device are determined at least in part based on the determination of the state of the memory device and the one or more first parameters, wherein the one or more pins are further operable to send a command associated with the one or more operating parameters to the memory device at least in part based on the determination of the one or more operating parameters.
19. The host device according to claim 18, further comprising: A controller coupled to the one or more pins and operable to send the one or more first parameters to the first circuit, at least in part, based on the first circuit being identified as the destination of the one or more first parameters.
20. The host device of claim 18, wherein the first circuitry is further operable to: One or more second parameters indicating the state of the memory device are generated, at least in part based on determining the state of the memory device, and the one or more second parameters can be read by another circuit of the host device or by another circuit of a device external to the host device.
21. The host device according to claim 20, wherein: A second circuit, operable to process information indicating the security level of the host device, wherein the second circuit is operable to: The one or more second parameters are received from the first circuitry at least in part based on the security status of the host device indicated by the one or more second parameters; The one or more operating parameters are determined at least in part based on the one or more second parameters; and The instruction of one or more operating parameters is sent to the first circuit at least in part based on the determination of the one or more operating parameters, wherein the command is sent to the memory device at least in part based on the instruction of the one or more operating parameters.
22. The host device according to claim 20, further comprising: A third circuit, operable to communicate with one or more devices external to the host device, the third circuit being operable to: The one or more second parameters are received from the first circuit at least in part based on the fact that the one or more second parameters satisfy a condition, the condition including a threshold of the one or more second parameters, the type of the one or more second parameters, or an entity associated with the one or more second parameters, or any combination thereof; as well as The one or more second parameters are transmitted, at least in part, via the third circuit to the one or more devices outside the host device based on the receipt of the one or more second parameters.
23. The host device of claim 22, wherein the third circuitry is further operable to: Receiving one or more operating parameters from one or more devices external to the host device, at least in part, based on the transmission of the one or more second parameters; and The instruction of one or more operating parameters is sent to the first circuit at least in part based on the receipt of the one or more operating parameters, wherein the command is sent to the memory device at least in part based on the instruction of the one or more operating parameters.
24. The host device according to claim 18, further comprising: A third circuit, operable to communicate with one or more devices external to the host device, the third circuit being operable to: Receive the one or more first parameters via the one or more pins; as well as The first or more first parameters are transmitted, at least in part, to the first or more devices outside the host device via the third circuit based on the receipt of the first or more first parameters.
25. The host device according to claim 18, further comprising: A second pin, which is coupled to a second memory device and operable to receive one or more fourth parameters indicating the state of the second memory device, wherein the second pin is coupled to the first circuitry, and wherein the first circuitry is further operable to determine the state of the second memory device at least in part based on the one or more fourth parameters.
26. The host device of claim 18, wherein the first circuitry is operable to process information indicating the state of the memory device, information indicating the security level of the host device, or any combination thereof.
27. A method for memory operations, comprising: Transmit to a host device and from a memory device a configuration associated with indicating the state of the memory device, the configuration including: The content of one or more first parameters, The order of the one or more first parameters, or Communication parameters used to transmit the one or more first parameters, The one or more first parameters indicate the state of the memory device; The one or more parameters are determined at the memory device; The instruction to receive the host device, at least in part, based on the conditions for determining the one or more parameters, to transfer the one or more parameters from the memory device; and The one or more parameters are transmitted to the host device according to the configuration, based at least in part on the conditions of the host device and the determination of the one or more parameters.
28. The method of claim 27, wherein the condition of the host device indicates that a first circuit of the host device for receiving the one or more parameters is operable to receive the one or more parameters from the memory device according to the configuration.
29. The method of claim 28, further comprising: The configuration is transmitted to the host device at least in part based on the conditions of the host device.
30. The method of claim 27, further comprising: The configuration, including the order of the one or more parameters, is determined at least in part based on the conditions of the host device.
31. The method of claim 27, further comprising: The configuration, including the one or more parameters, is determined at least in part based on the conditions of the host device.
32. A memory device comprising: One or more pins that can be coupled to a host device; as well as A controller, coupled to one or more pins, is operable to: The configuration, which is associated with indicating the state of the memory device, is transmitted to the host device and via one or more pins, including: The content of one or more first parameters, The order of the one or more first parameters, or Communication parameters used to transmit the one or more first parameters, The one or more first parameters indicate the state of the memory device; Determine one or more parameters; Based at least in part on determining the one or more parameters, an indication of a condition of the host device is received from the host device and via the one or more pins to transfer the one or more parameters from the memory device; and Based at least in part on the conditions of the host device and the determination of the one or more parameters, the one or more parameters are transmitted to the host device and via the one or more pins according to the configuration.
33. The memory device of claim 32, wherein the controller is further operable to: The configuration is transmitted to the host device and via one or more pins, at least in part based on the conditions of the host device.
34. A host device, comprising: One or more pins that can be coupled to a memory device; as well as A controller, coupled to one or more pins, is operable to: Receive from the memory device a configuration associated with indicating the state of the memory device, the configuration including: The content of one or more first parameters, The order of the one or more first parameters, or Communication parameters used to transmit the one or more first parameters, The one or more first parameters indicate the state of the memory device; Receive the one or more first parameters from the memory device and via the one or more pins according to the configuration; The first circuit of the host device sends the one or more first parameters to the host device, at least in part, based on identifying the first circuit as the destination of the one or more first parameters; The state of the memory device is determined at least in part based on one or more of the first parameters; and Send a command to the memory device that is associated with one or more operating parameters that are at least partially based on the state of the memory device.
Citation Information
Patent Citations
Monitoring health of non-volatile memory
US20070180328A1