US20130212207A1 - Architecture and method for remote memory system diagnostic and optimization - Google Patents

Architecture and method for remote memory system diagnostic and optimization Download PDF

Info

Publication number
US20130212207A1
US20130212207A1 US13/719,213 US201213719213A US2013212207A1 US 20130212207 A1 US20130212207 A1 US 20130212207A1 US 201213719213 A US201213719213 A US 201213719213A US 2013212207 A1 US2013212207 A1 US 2013212207A1
Authority
US
United States
Prior art keywords
memory
cloud
test
smart
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/719,213
Inventor
Adrian E. Ong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to US13/719,213 priority Critical patent/US20130212207A1/en
Assigned to SAMSUNG ELECTRONICS CO., LTD. reassignment SAMSUNG ELECTRONICS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ONG, ADRIAN E.
Priority to KR1020130013574A priority patent/KR20130093026A/en
Priority to JP2013023050A priority patent/JP2013168145A/en
Priority to CN201310051106XA priority patent/CN103258574A/en
Publication of US20130212207A1 publication Critical patent/US20130212207A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1677Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1695Protection circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements

Definitions

  • the present inventive concepts relate to a smart memory architecture, and more particularly to an architecture and method for remotely diagnosing and optimizing memory systems.
  • the present inventive concepts relate to memory systems for storing and retrieving information from memory integrated circuits, including static random access memory (SRAM), dynamic random access memory (DRAM), Flash memory, phase-change random access memory (PCRAM), spin-transfer torque random access memory (STT-RAM), magnetic random access memory (MRAM), resistive random access memory (RRAM), and future memory devices.
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • Flash memory phase-change random access memory
  • PCRAM phase-change random access memory
  • STT-RAM spin-transfer torque random access memory
  • MRAM magnetic random access memory
  • RRAM resistive random access memory
  • future memory devices including static random access memory (SRAM), dynamic random access memory (DRAM), Flash memory, phase-change random access memory (PCRAM), spin-transfer torque random access memory (STT-RAM), magnetic random access memory (MRAM), resistive random access memory (RRAM), and future memory devices.
  • STT-RAM static random access memory
  • MRAM magnetic random access memory
  • RRAM resistive random access memory
  • Non-volatile memory devices have been widely used in electronic systems to store data.
  • semiconductor memories There are two general types of semiconductor memories: non-volatile and volatile memories.
  • a volatile memory device such as a Static Random Access Memory (SRAM) or a Dynamic Random Access Memory (DRAM) loses its data when the power applied to it is turned off.
  • a non-volatile semiconductor memory device such as a Flash, Erasable Programmable Read Only Memory (EPROM) or a magnetic random access memory (MRAM), retains its charge even after the power applied thereto is turned off. Where loss of data due to power failure or termination is unacceptable, a non-volatile memory is therefore used to store the data.
  • SRAM Static Random Access Memory
  • DRAM Dynamic Random Access Memory
  • EPROM Erasable Programmable Read Only Memory
  • MRAM magnetic random access memory
  • FIGS. 1A-1D are simplified, schematic cross-sectional illustrations of a magnetic tunnel junction (MTJ) structure 10 used in forming a spin transfer torque (STT) MRAM cell.
  • an MTJ 10 is shown as including, in part, a reference layer 12 , a tunneling layer 14 , and a free layer 16 .
  • the reference layer 12 and the free layer 16 can be ferromagnetic layers, while the tunneling layer 14 is a nonmagnetic layer.
  • the direction of magnetization of reference layer 12 is fixed during manufacture and therefore does not change during operation of the STT-RAM memory device. However, the direction of magnetization of the free layer 16 can be varied during operation by passing a current of the required strength through the MTJ structure.
  • the reference layer 12 and the free layer 16 are shown having the same directions of magnetization, i.e., in a parallel magnetic state.
  • the reference layer 12 and the free layer 16 are shown having opposite magnetization directions, i.e., in an anti-parallel state.
  • the reference layer 12 and the free layer 16 are shown having the same magnetization direction (parallel state), with the magnetization direction perpendicular to a plane defined by the interface of free layer 16 and tunneling layer 14 .
  • FIG. 1D the reference layer 12 and the free layer 14 are shown having opposite magnetization directions (anti-parallel state), where the magnetization directions are perpendicular to a plane defined by the interface of free layer 16 and tunneling layer 14 .
  • the voltage potential of reference layer 12 is increased relative to that of free layer 16 .
  • This voltage difference causes spin polarized electrons flowing from free layer 16 to reference layer 12 to transfer their angular momentum and change the magnetization direction of free layer 16 to the anti-parallel state.
  • the voltage potential of free layer 16 is increased relative to that of reference layer 12 . This voltage difference causes spin polarized electrons flowing from reference layer 12 to free layer 16 to transfer their angular momentum and change the magnetization direction of free layer 16 to the parallel state.
  • the voltage applied to MTJ 10 and the corresponding current flowing through MTJ must each be greater than a respective pair of threshold values.
  • the voltage that must exceed a threshold voltage in order for the switching to occur is also referred to as the switching voltage V c .
  • the current that must exceed a threshold current in order for the switching to occur is referred to as the switching current I c .
  • MTJ 10 when free layer 16 and reference layer 12 have the same magnetization direction (i.e., parallel state), MTJ 10 has a relatively low resistance. Conversely, when free layer 16 and reference layer 12 have the opposite magnetization direction (i.e., anti-parallel state), MTJ 10 has a relatively high resistance. This difference in resistance values provides the ability of the MTJ 10 to act as a memory storage device. Due to the physical properties of an MTJ, the critical current required to change an MTJ from a parallel state to an anti-parallel state is often greater than the critical current required to change the MTJ from an anti-parallel state to a parallel state.
  • FIG. 2A shows a magnetic tunnel junction (MTJ) 10 , which forms a variable resistor in an STT-MRAM type memory cell, and an associated select transistor 20 , together forming an STT-MRAM cell 30 .
  • the MTJ 10 includes a reference or pinned layer 12 , a free layer 16 , and a tunneling layer 14 disposed between the reference layer 12 and the free layer 16 .
  • Transistor 20 is often an NMOS transistor due to its inherently higher current drive, lower threshold voltage, and smaller area relative to a PMOS transistor.
  • the current used to write a “1” in MRAM 30 can be different than the current used to write a “0”.
  • the asymmetry in the direction of current flow during these two write conditions is caused by the asymmetry in the gate-to-source voltage of transistor 20 .
  • an MRAM cell is defined as being in a logic “0” state when the free and reference layers of its associated MTJ are in a parallel (P) state, i.e., the MTJ exhibits a low resistance.
  • an MRAM cell is defined as being in a logic “1” state when the free and reference layers of its associated MTJ are in an anti-parallel (AP) state, i.e., the MTJ exhibits a high resistance.
  • AP anti-parallel
  • the MRAM cell can be defined as being in the logic “0” state when in an AP state, and the logic “1” state when in a P state.
  • the reference layer of the MTJ 10 faces its associated select transistor, as shown in FIG. 2A .
  • a current flowing along the direction of arrow 35 either (i) causes a switch from the P state to the AP state thus to write a “1”, or (ii) stabilizes the previously established AP state of the associated MTJ.
  • a current flowing along the direction of arrow 40 i.e., the down direction
  • this orientation may be reversed so that the free layer of the MTJ faces its associated select transistor.
  • a current flowing along the direction of arrow 35 either (i) causes a switch from the AP state to the P, or (ii) stabilizes the previously established P state of the associated MTJ
  • a current flowing along the direction of arrow 40 either (i) causes a switch from the P state to the AP state, or (ii) stabilizes the previously established AP state.
  • FIG. 2B is a schematic representation of MRAM 30 of FIG. 2A in which MTJ 10 is shown as a storage element whose resistance varies depending on the data stored therein.
  • the MTJ 10 changes its state (i) from P to AP when the current flows along arrow 35 , and/or (ii) from AP to P when the current flows along arrow 40 .
  • the voltage required to switch the MTJ 10 from an AP state to a P state, or vice versa, must exceed the critical switching voltage, V c0 .
  • the current corresponding to this voltage is referred to as the critical or switching current I c0 .
  • the specified critical value V c0 and related critical switching current I c0 can be defined in various ways, such values can be selected based on a 50% switching probability of the memory cell within a specified time. In other words, the critical switching current I c0 can be selected or otherwise determined based on the design of the MTJ 10 and/or based on measurements of the probability of switching at a particular critical value V c0 and/or switching current I c0 .
  • the threshold critical switching current I c0 When the threshold critical switching current I c0 is satisfied, there can be a 50% chance that the stored memory bit switches values (e.g., from a “0” to a “1” or a “1” to a “0”).
  • An overdrive current is applied to guarantee that switching occurs at an error rate that is acceptable to meet standard reliability expectations.
  • This overdrive current, or switching current, I sw may be 1.3 times, 1.5 times, 2 times, or more than 2 times the value of L c0 . For example, if the I c0 for an MTJ device is 7 microamps (uA) at a 20 nanosecond (ns) write pulse width, then the I sw used to reliably switch the states of the MTJ may be 11 uA or greater.
  • the “safe” write current (e.g., where the write error rate is less than about 10e-9) may be 1.5 to 2 times the critical switching current I c0 for a certain period of time, for example, 10 nanoseconds.
  • a relatively “safe” read current can be applied (e.g., where the read error rate is less than about 10e-9).
  • the “safe” read current may be 0.2 times (i.e., 20%) of the critical switching current I c0 .
  • the write current under a normal operation mode can be at least 12 uA, or thereabout, and the read current under a normal operating mode can be less than 1.2 uA, or thereabout.
  • the probability of the memory cell properly switching under a normal write condition is very high, in some cases near 100%.
  • the probability of accidentally switching the value of the memory cell under a normal read condition can be very low, in some cases near zero.
  • removing the applied voltage does not affect the state of the MTJ 10 .
  • a negative voltage of at least V c0 is applied so that a current level of at least the switching current I c0 flows through the memory cell in the opposite direction.
  • removing the applied voltage does not affect the state of the MTJ 10 .
  • MTJ 10 can be switched from an anti-parallel state (i.e., high resistance state, or logic “1” state) to a parallel state so as to store a “0” (i.e., low resistance state, or logic “0” state).
  • a current at least as great or greater than the critical current I c0 is caused to flow through transistor 20 in the direction of arrow 40 .
  • the source node (SL or source line) of transistor 20 is coupled to the ground potential via a resistive path (not shown), a positive voltage is applied to the gate node (WL or wordline) of transistor 20 , and a positive voltage is applied to the drain node (BL or bitline) of transistor 20 .
  • MTJ 10 can also be switched from a parallel state to an anti-parallel state so as to store a “1”. Assuming that MTJ 10 is initially in a logic “0” or P state, to store a “1”, under the normal operating mode, a current at least as great or greater than the critical current I c0 is caused to flow through transistor 20 in the direction of arrow 35 . To achieve this, node SL is supplied with a positive voltage via a resistive path (not shown), node WL is supplied with a positive voltage, and node BL is coupled to the ground potential via a resistive path (not shown).
  • FIG. 3 represents the variation in the MTJ state (or its resistance) during various write cycles.
  • a positive voltage at least as great or greater than the critical switching voltage V c0 is applied to transition from the P state (low resistance state) to AP state.
  • AP state high resistance state
  • removing the applied voltage does not affect the state of the MTJ.
  • a negative voltage less than the critical switching voltage V c0 is applied to transition from the AP state to the P state.
  • removing the applied voltage does not affect the state of the MTJ.
  • the resistance of the MTJ is R high when it is in the AP state.
  • the resistance of the MTJ is R low when it is in the P state.
  • FIG. 4A shows an MTJ 10 being programmed to switch from an anti-parallel state (i.e., high resistance state, or logic “1” state) to a parallel state so as to store a “0” (i.e., low resistance state, or logic “0” state).
  • an anti-parallel state i.e., high resistance state, or logic “1” state
  • a parallel state so as to store a “0” (i.e., low resistance state, or logic “0” state).
  • a current I sw at least as great or greater than the critical current I c0 is caused to flow through transistor 20 in the direction of arrow 40 .
  • the source node (SL) of transistor 20 is coupled to the ground potential via a resistive path (not shown), a positive voltage V PP is applied to the gate node (WL or wordline) of transistor 20 , and a positive voltage V CC is applied to the drain node (BL or bitline) of transistor 20 .
  • FIG. 5 is an exemplary timing diagram of the voltage levels at nodes WL, SL, SN and BL during a write “0” operation, occurring approximately between times 25 ns and 35 ns, and a write “1” operation, occurring approximately between times 45 ns and 55 ns, for a conventional MTJ such as MTJ 10 shown in FIGS. 4A and 4B .
  • the supply voltage V cc is assumed to be about 1.8 volts.
  • the wordline signal WL, as well as the column select signal CS, are shown as having been boosted to a higher V PP programming voltage of 3.0 volts.
  • the voltages at nodes BL, SL and SN are shown as being approximately equal to 1.43V, 0.34V, and 0.88V respectively.
  • the voltages at nodes BL, SL and SN are shown as being approximately equal to 0.23V, 1.43V, and 0.84V respectively.
  • the currents flowing through the MTJ during write “0” and “1” operations are 121 ⁇ A and 99.2 ⁇ A, respectively.
  • FIG. 4B shows an MTJ being programmed to switch from a parallel state to an anti-parallel state so as to store a “1”. It is assumed that MTJ 10 is initially in a logic “0” or P state. To store a “1”, a current I sw that is greater than the critical current I c0 is caused to flow through transistor 20 in the direction of arrow 35 . To achieve this, node SL is supplied with the voltage V CC via a resistive path (not shown), node WL is supplied with the voltage V PP , and node BL is coupled to the ground potential via a resistive path (not shown).
  • the gate-to-source voltage of transistor 20 is set to (V WL ⁇ V SN ), and the drain-to-source voltage of transistor 20 is set to (V SL ⁇ V SN ).
  • This STT-RAM type memory cell can provide an excellent non-volatile memory solution.
  • a smart memory system can be operatively coupled to a remote system enhancement and recovery entity via a secure cloud connection.
  • the smart memory system when implemented in an internet-connectable device, can be provided with tools that permit the memory system to be accessed and optimized anytime, and anywhere the device has cloud access. For instance, remote testing equipment can be accessed and utilized by the device based on user-initiated or automatically generated test instructions.
  • the smart memory system can further facilitate real-time diagnosis and repair by a remotely-located application engineer or other entity.
  • Some features of embodiments incorporating one or more of the present inventive concepts may include a memory, a smart memory controller coupled to the memory, the smart memory controller including a transmitter communicatively coupled to the cloud, the transmitter being configured to transmit a product identification associated with the memory to the cloud, a cloud-based data center associated with the cloud and configured to receive the product identification associated with the memory, a smart memory tester including a receiver communicatively coupled to the cloud-based data center and configured receive the product specific test program from the cloud-based data center, and the smart memory tester further including a transmitter communicatively coupled to the cloud and configured to remotely test the memory via the cloud in accordance with the product specific test program.
  • Inventive concepts may also include a method for performing remote memory diagnostic and operation procedures, the method comprising, for example: securely transmitting to a cloud, by a smart memory controller, a product identification associated with a memory, securely receiving from the cloud, by an entity that is remote from the memory, the product identification associated with the memory, securely transmitting to the cloud, by the remote entity, a product specific test program associated with the product identification of the memory, and securely receiving from the cloud, by the smart memory controller, the product specific test program associated with the product identification of the memory.
  • Certain of the inventive features may be best achieved by implementing them in a System-in-Package (SiP) or System-on-Chip (SoC).
  • SiP System-in-Package
  • SoC System-on-Chip
  • Such implementations need good connectivity between a memory array and memory processor chips. This may be accomplished, for instance, using True Silicon Via (TSV) or other SiP technology.
  • TSV True Silicon Via
  • Using low latency and high throughput SiP interconnects can provide improved system performance.
  • the cost disadvantages of such a system may be minimized as SiP interconnect technology costs continue to decrease.
  • the inventive principles can also enable reduced power consumption by reducing I/O loading using SiP solutions, by providing clock-less memory operation, and/or by shutting down unused memory sections. Voltage control, temperature compensation, and asynchronous timing circuitry can also help reduce power consumption and provide more efficient operation.
  • the device processor can offload repetitive computations or other tasks to the smart memory system.
  • an ARM, MIPs, or other desired proprietary processor combination can be provided in the memory controller or other area of the smart memory system to perform various processing tasks to free up device resources.
  • Memory monitoring, repair, correction, and re-assignment can also be performed by the smart memory controller and/or remotely according to principles of the present inventive concept.
  • ECC, anti-fuse repair, error masking, read-compare-write, weak bit replacement, and other error correction technologies can be implemented in the smart memory system to enhance data stability and reduce error rates.
  • a memory can include, in part, The memory cell may, for instance, be a DRAM, SRAM, ROM, PROM, EEPROM, FLASH, FeRAM, PCRAM, RRAM, MRAM, STT-MRAM, or the like.
  • FIG. 1A is a simplified schematic, cross-sectional view of a magnetic tunnel junction structure of a magnetic random access memory cell when placed in a parallel magnetization state, as known in the related art.
  • FIG. 1B is a simplified schematic, cross-sectional view showing the magnetic tunnel junction structure of FIG. 1A when placed in an anti-parallel magnetization state, as known in the related art.
  • FIG. 1C is a simplified schematic, cross-sectional view of a magnetic tunnel junction structure of a magnetic random access memory (MRAM) cell when placed in a parallel magnetization state, as known in the related art.
  • MRAM magnetic random access memory
  • FIG. 1D is a simplified schematic, cross-sectional view showing the magnetic tunnel junction structure of FIG. 1C when placed in an anti-parallel magnetization state, as known in the related art.
  • FIG. 2A is a schematic illustration showing layers of a magnetic tunnel junction structure coupled to an associated select transistor, as known in the related art.
  • FIG. 2B is a schematic representation of the magnetic tunnel junction structure and its associated select transistor of FIG. 2A , as known in the related art.
  • FIG. 3 is a graphical illustration showing the variation in the resistance of the magnetic tunnel junction structure of FIG. 2A in response to applied voltages, as known in the related art.
  • FIG. 4A is a schematic diagram showing a magnetic tunnel junction structure being programmed to switch from an anti-parallel state to a parallel state, as known in the related art.
  • FIG. 4B is a schematic diagram showing a magnetic tunnel junction structure being programmed to switch from a parallel state to an anti-parallel state, as known in the related art.
  • FIG. 5 is a timing diagram representing a number of signals associated with a magnetic random access memory during write “0” and write “1” operations, as known in the related art.
  • FIG. 6 is a schematic block diagram of a memory system and associated circuitry, in accordance with an inventive concept.
  • FIG. 7 is a schematic block diagram of a memory system and associated circuitry, including a secure interface with the cloud, in accordance with inventive concepts.
  • FIG. 8A is a schematic block diagram of a memory system, including a smart memory controller and a remote smart tester controller in communication via the cloud, in accordance with inventive concepts.
  • FIG. 8B is a schematic block diagram of the smart memory controller of FIG. 8A according to inventive concepts.
  • FIG. 8C is a schematic block diagram of the smart tester controller of FIG. 8A according to inventive concepts.
  • FIG. 9 is a schematic block diagram a system in which multiple components and entities are in communication with a smart memory system, the cloud-based data center, and/or a remote smart tester, in accordance with inventive concepts.
  • FIG. 10 is a flow chart illustrating a technique for securely and remotely testing a memory device, in accordance with inventive concepts.
  • FIG. 11 is a flow chart illustrating a technique for securely and remotely storing information regarding memory tests and providing access to such information, in accordance with inventive concepts.
  • FIG. 12 is a flow chart illustrating a technique for remotely testing and repairing a memory device in accordance with inventive concepts.
  • first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first circuit could be termed a second circuit, and, similarly, a second circuit could be termed a first circuit, without departing from the scope of the inventive concept.
  • a memory cell may exhibit randomly different write times at different occasions even under the same, stable conditions. Such behavior may not be the result of wear-out mechanisms that could have been screened out during factory testing, but may instead result from probabilistic behavior of the memory cell's write characteristics.
  • Memory cells determined to be defective for non-probabilistic reasons can be removed from a cell population during testing and repair operations performed at the factory. For instance, certain defects can be repaired by replacing defective cells with on-chip redundant cells during a redundancy operation. Where the defects cannot be repaired, the bad chips can be scrapped. However, even after testing and repair operations, the remaining memory cell population may still exhibit probabilistic behavior that affects the reliability of the memory chip.
  • the chip After factory testing and repair has been completed, the chip is shipped out and incorporated in a device for use by an end-user.
  • the memory system may be able to perform basic flag and repair operations to defective cells, such as those which are slow to write, by mapping them out of the usable address space.
  • Such basic operations are not controlled or even visible outside of the customer's system.
  • the lack of visibility and access by entities or persons having no on-location access to the customer's systems prevents a broader and more complete understanding of the memory performance, failures, and repair solutions.
  • a new solution is needed to remotely quantify and overcome this probabilistic cell behavior problem.
  • the installed memory system at the customer's location can access a remote memory tester, such as automated test equipment (ATE), which is traditionally only available for testing the memory at the factory or before being shipped to the customer.
  • ATE automated test equipment
  • memory product information such as a product identification (ID) can be remotely identified by the memory tester or some other authorized entity or person, and using such information, product specific test patterns and repair solutions can be remotely provided to the local memory system.
  • the memory system can gain access to myriad remote tools and resources.
  • the test program can be changed on demand.
  • the test program can also be optimized based on the customer's usage and environment. Redundancy analysis and other repair solutions can be remotely provided to the customer's system.
  • Smart memory chips SoC, MCM, or SiP
  • SoC SoC, MCM, or SiP
  • a memory chip having a smart controller can have direct access to the test memory cloud.
  • Test or memory commands, address, data, test functions, product ID, etc. can be encoded and/or decoded and transmitted securely to and from the cloud.
  • Test or memory commands can be buffered and/or sequenced.
  • Encoded and/or decoded data can be securely transmitted and received (e.g., wirelessly or via Ethernet cable, and the like) to and from the Internet or any suitable network including the cloud.
  • a corresponding test site e.g., main test facility, local area automatic diagnostic test site, or local application engineer
  • a cloud-based datacenter can receive and store the product identification (ID) and other memory-specific information.
  • the product ID and other memory-specific information can be used to identify the product (e.g., type of memory, memory size, specifications, process, and the like) in the field and allow the proper test program to be downloaded to the remote tester.
  • Test results can be uploaded to the datacenter.
  • the test results can be retrieved by the test engineer at the manufacturer test site, by the application engineer, or by the customer, and the like.
  • the data is therefore made available 24/7 to authorized personnel anywhere in the world and at any time.
  • FIG. 6 is a schematic block diagram of a memory system 600 and associated circuitry, in accordance with an inventive concept.
  • a smart memory system preferably allows memories with high error rates and slow read/write times relative to a logic processor to work reliably and seamlessly.
  • FIG. 6 is a schematic block diagram of one embodiment of a smart memory system 600 constructed according to principles of the present inventive concept.
  • the smart memory system 600 can include smart memory 602 , which may be configured to provide a handshaking interface 605 with an ultra-wide input output (I/O) between the memory 615 and smart memory controller 620 to ensure successful read and write operations.
  • a common asynchronous memory bus 610 can be provided with acknowledge signaling to guarantee write and read operation successes.
  • the common asynchronous memory bus preferably implements a handshaking procedure during both the read and write operations to ensure that the desired data has been successfully read from, or written to, the main system memory 615 .
  • the handshaking memory interface 605 can also help avoid bottlenecks and provide re-routing capabilities.
  • main system memory 615 can be any type of memory, including, for example, DRAM, SRAM, ROM, PROM, EEPROM, FLASH, FeRAM, PCRAM, RRAM, MRAM, STT-MRAM, RRAM or future memory types.
  • the smart memory system 600 can further provide various additional error rate reduction schemes, including, for example, allowing non-volatile memory bits or sectors with poor retention to be used by tagging them and performing occasional refresh operations to maintain the data stored therein. Error-correcting code (ECC), signal processing, and programmable repair operations can also be provided to reduce and correct memory errors.
  • ECC Error-correcting code
  • the smart memory controller 620 can perform re-configuration and optimization processes to ensure proper memory retention and read/write operations.
  • a high-speed interface 625 can be included between the smart controller 620 and the system bus 610 in order to match the speed of the logic processes.
  • the smart memory 602 can, for instance, be implemented in or associated with a device having any one or more of multiple logic processors or other devices.
  • the device logic 630 is shown as having application logic 635 , processors 640 , internal memory plus controller 645 , and analog device functions 650 .
  • the smart memory 602 can be configured to communicate with any one or more of the logic components through the system bus 610 .
  • Embodiments incorporating the present inventive concepts can further be configured to enable compatibility to multiple systems. Configurable address schemes can be used, for instance, which support multiple processors and peripherals, along with a programmable and memory-type independent I/O interface.
  • FIG. 7 is a schematic block diagram of one embodiment of a smart memory system 700 constructed according to principles of the present inventive concept.
  • the smart memory system 700 can include smart memory 702 , which may be configured to provide multiple handshaking interfaces or busses 705 between the memory 715 and smart memory controller 720 to ensure successful read and write operations.
  • the smart memory controller 720 may be communicatively coupled (e.g., wirelessly or via Ethernet cable, and the like) to cloud 735 .
  • ATE automated test equipment
  • a test site or entity e.g., main test facility, local area automatic diagnostic test site, application engineer, or the like
  • the smart memory controller 720 can also perform a built-in self test, address scramble, data scramble, programmable repair, system bus monitoring, or the like, either autonomously or by direction from an external remote entity, as further described below.
  • the smart memory controller 720 can also include test algorithm translators and/or test sequence generators.
  • a common asynchronous memory bus 705 can be provided with acknowledge signaling to guarantee write and read operation successes.
  • the common asynchronous memory bus 705 preferably implements a handshaking procedure during both the read and write operations to ensure that the desired data has been successfully read from, or written to, the main system memory 715 .
  • the multiple handshaking memory interfaces 705 can also help avoid bottlenecks and provide re-routing capabilities.
  • the main system memory 715 can be any type of memory, including, for example, DRAM, SRAM, ROM, PROM, EEPROM, FLASH, FeRAM, PCRAM, RRAM, MRAM, STT-MRAM, RRAM or future memory types.
  • a system bus is shown as 710 , which obeys the system I/O specifications. However, the system is not impeded from using asynchronous hand-shake type interface.
  • the smart memory system 700 can further provide various additional error rate reduction schemes, including, for example, allowing non-volatile memory bits or sectors with poor retention to be used by tagging them and performing occasional refresh operations to maintain the data stored therein. Error-correcting code (ECC), signal processing, and programmable repair operations can also be provided to reduce and correct memory errors.
  • ECC Error-correcting code
  • the smart memory controller 720 can perform re-configuration and optimization processes to ensure proper memory retention and read/write operations.
  • a high-speed interface 725 can be included between the smart controller 720 and the system bus 710 in order to match the speed of the logic processes.
  • the smart memory 702 can, for instance, be implemented in or associated with a device having any one or more of multiple logic processors or other devices.
  • the device logic 730 is shown as having micro-processor(s) 744 , micro-controller(s) 746 , analog logic 754 , RF device 756 , sensor(s) 758 , multimedia unit 764 , MPEG4 unit 766 , digital signal processor (DSP) 768 , cache 774 , first in first out (FIFO) buffer 776 , single port SRAM 778 , and multi-port SRAM 780 .
  • the logic 730 may include one or more of the enumerated logic processors and other devices, or any combination thereof.
  • the smart memory 702 can be configured to communicate with any one or more of the logic components through the system bus 710 .
  • FIG. 8A is a schematic block diagram of a memory system 800 , including a smart memory controller 820 and a remote smart tester controller 840 in communication via the cloud, in accordance with inventive concepts.
  • the smart memory controller 820 can be coupled to a memory 715 .
  • the smart memory controller 820 can be communicatively coupled to the cloud-based data center 880 and can transmit a product identification (ID) 862 associated with the memory 715 to the cloud.
  • the smart memory controller 820 can receive, from the cloud, a product specific test program 870 associated with the product ID 862 .
  • the smart memory controller 820 can run the product specific test program 870 on the memory 715 .
  • the smart memory controller 820 can transmit test results 864 and/or diagnostic information 866 associated with the product specific test program 870 to the cloud-based data center 880 .
  • the smart memory controller 820 can also transmit product history 882 , a product specification 884 , and/or customer feedback 886 to the cloud-based data center 880 .
  • the smart memory controller 820 can receive repair solutions 868 from the cloud-based data center 880 .
  • the smart memory controller 820 can apply the repair solutions 868 to the memory 715 .
  • the smart memory controller 820 can itself determine repair solutions based on the test results and/or the diagnostic information, and apply the repair solutions to the memory.
  • the smart memory controller 820 may also tag and/or re-map bad memory locations.
  • the product specific test program 870 can include one or more test patterns 872 , address scramble test information 874 , and data scramble test information 876 .
  • the smart memory controller 820 can receive the one or more test patterns 872 , the address scramble test information 874 , and the data scramble test information 876 from the cloud.
  • the smart memory controller 820 can decode, for example, the address scramble test information 874 and the data scramble test information 876 .
  • the product specific test program 870 may include one or more memory commands 878 .
  • the smart memory controller 820 can receive the one or more memory commands 878 from the cloud.
  • the smart memory controller 820 may decode the one or more memory commands 878 .
  • the smart memory controller 820 can buffer and sequence the one or more memory commands 878 and/or the one or more test patterns 872 .
  • the smart memory controller 820 can read from the memory 715 or write to the memory 715 responsive to the decoded one or more memory commands 878 and/or based on the decoded one or more test patterns 872 .
  • the smart memory controller 820 can buffer and sequence the address scramble test information 874 and the data scramble test information 876 .
  • the address and data scramble information allows the memory test to decode the physical memory bit location, and precisely stress the intended memory bits. It allows the true test patterns, such as checkerboard pattern, solid pattern, row stripe pattern, column stripe pattern, or diagonal pattern, and the like, to be implemented.
  • the smart memory controller 820 can read from the memory 715 or write to the memory 715 based on the decoded address scramble test information 874 and/or the decoded data scramble test information 876 .
  • the cloud-based data center 880 can receive and store the product identification 862 associated with the memory 715 that is remotely located relative to the cloud-based data center 880 .
  • the memory 715 can be located in one part of the world, while the cloud-based data center 880 can be located in another distant part of the world.
  • the cloud-based data center 880 can store the test results 864 , the diagnostic information 866 , the product ID 862 , the product history 882 , the product specification 884 , and/or the customer feedback 886 associated with the remote memory 715 , so that this information is accessible to authorized personnel from any Internet access point and at any time.
  • a smart memory tester and/or controller 840 can also be communicatively coupled to the cloud-based data center 880 .
  • the smart tester controller 840 can be included in or otherwise be associated with automated test equipment (ATE) or any other suitable memory test fixture 890 or system.
  • ATE automated test equipment
  • the smart tester controller 840 can receive, from the cloud-based data center 880 , the product specific test program 870 associated with the product ID 862 of the remote memory 715 .
  • the smart tester controller 840 can test the remote memory 715 via the cloud in accordance with the product specific test program 870 .
  • the cloud-based data center 880 can select the product specific test program 870 based on the stored product ID 862 . It will be understood that an authorized person, such as a field application engineer, a test engineer, a design engineer, or the like, can also access the information stored in the cloud-based data center 880 from any Internet access point at any time, select the product specific test program 870 , and/or cause the product specific test program 870 to be sent to the smart tester controller 840 or the smart memory controller 820 . Also, a field application engineer, product engineer, or test engineer, and the like, can upload product information (e.g. product-specific test pattern, address/data scramble, test sequence and timing information, etc) to the cloud-based data center 880 from any Internet access point (e.g. smartphone, tablet, laptop, PC, etc).
  • product information e.g. product-specific test pattern, address/data scramble, test sequence and timing information, etc
  • the cloud-based data center 880 can receive the test results 864 , the diagnostic information 866 , the product history 882 , the product specification 884 , and/or the customer feedback 886 associated with the product specific test program 870 . It will be understood that an authorized person, such as the field application engineer, the test engineer, the design engineer, or the like, can also access such information in the cloud-based data center 880 from any Internet access point at any time.
  • the cloud-based data center 880 may store such information for one or many (e.g., millions or billions) of memory devices deployed throughout the world. As a result, failure statistics and other quantifiable information can be gathered and analyzed.
  • the smart tester controller 840 can receive, from the cloud, the test results 864 , the diagnostic information 866 , the product history 882 , the product specification 884 , and/or the customer feedback 886 associated with the product specific test program 870 . Such information can be used by the smart memory tester controller 840 to adjust a given product specific test, or create new tests based on the received information.
  • the cloud-based data center 880 can automatically determine repair solutions 868 based on the test results 864 , the diagnostic information 866 , the product history 882 , the product specification 884 , and/or the customer feedback 886 .
  • authorized personnel may access the cloud-based data center 880 and determine the repair solutions 868 based on the test results 864 , the diagnostic information 866 , the product history 882 , the product specification 884 , and/or the customer feedback 886 .
  • the cloud-based data center 880 or the smart memory tester controller 840 can transmit, to the remote memory 715 , the repair solutions 868 .
  • the product specific test program 870 can include one or more test patterns 872 , address scramble test information 874 , and/or data scramble test information 876 .
  • the smart memory tester controller 840 can transmit the one or more test patterns 872 , the address scramble test information 874 , and/or the data scramble test information 876 to the cloud.
  • the cloud-based data center 880 can receive the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870 .
  • the smart memory tester controller 840 can receive, from the cloud-based data center 880 or directly from the smart memory controller 820 , the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870 .
  • the smart memory tester controller 840 can encode the one or more test patterns 872 .
  • the smart memory tester controller 840 may also encode or encrypt the address scramble test information 874 and/or the data scramble test information 876 .
  • the product specific test program may also include one or more memory commands 878 , which may be transmitted to the cloud by the smart memory tester controller 840 .
  • the smart memory tester controller 840 can buffer and sequence, for example, the one or more memory commands 878 and/or the one or more test patterns 872 .
  • FIG. 8B is a schematic block diagram 801 of more detailed aspects of the smart memory controller 820 of FIG. 8A according to inventive concepts. Reference is now made to FIGS. 8A and 8B .
  • the smart memory controller 820 can include a transmitter and/or receiver and/or buffer block 810 . It will be understood that while transmitter/receiver/buffer 810 is shown as a single block, the smart memory controller 820 can include separate transmitter, receiver, and buffer components.
  • the transmitter 810 can be communicatively coupled to the cloud 835 and can transmit the product ID 862 associated with the memory 715 to the cloud 835 and/or the cloud-based data center 880 .
  • the receiver 810 can be communicatively coupled to the cloud 835 and can receive, from the cloud 835 and/or from the cloud-based data center 880 , the product specific test program 870 associated with the product ID 862 .
  • the transmitter 810 can transmit the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870 to the cloud 835 and/or to the cloud-based data center 880 .
  • the receiver 810 can receive the repair solutions 868 from the cloud 835 and/or from the cloud-based data center 880 .
  • the smart memory controller 820 can apply the repair solutions 868 to the memory 715 .
  • the receiver 810 can receive the one or more test patterns 872 , the address scramble test information 874 , and/or the data scramble test information 876 from the cloud 835 and/or from the cloud-based data center 880 .
  • the smart memory controller 820 may further include a test pattern and address/data decoder 806 , which can be coupled to the receiver 810 .
  • the test pattern decoder 806 can decode the one or more test patterns 872 , for example, and the associated address and data scramble information. Address and data scramble decodes a logical address into a corresponding physical bit location.
  • the smart memory controller 820 may also include a test code decoder 808 , which can be coupled to the receiver 810 .
  • the test code decoder 806 can decode, for example, the one or more memory commands 878 , the address scramble test information 874 and/or the data scramble test information 876 .
  • the receiver 810 can receive the one or more memory commands 878 from the cloud 835 and/or from the cloud-based data center 880 .
  • the smart memory controller 820 may further include a command, address, and/or data sequencer 802 .
  • the sequencer 802 may include or be associated with an I/O buffer 804 .
  • the sequencer 802 can sequence and buffer (e.g., in the buffer 804 ) the one or more memory commands 878 , the one or more test patterns 872 , and the address and scramble test information.
  • the data can be read from the memory 715 or written to the memory 715 responsive to the decoded one or more memory commands 878 and/or based on the decoded one or more test patterns 872 and scramble information.
  • sequencer 802 can sequence and buffer the address scramble test information 874 and/or the data scramble test information 876 .
  • the smart memory controller 820 can read from the memory 715 or write to the memory 715 based on the decoded address scramble test information 874 and/or the decoded data scramble test information 876 .
  • the I/O buffer 804 may receive and buffer results and/or status information regarding the reads and/or write operations from the memory 715 .
  • the results and/or status information can be stored in results and status registers 807 .
  • the smart memory controller 820 can further include a results and status encoder 809 , which can receive the results and/or status information from the register 807 , and encode the results and/or status information.
  • the transmitter 810 can transmit the results and/or status information to the cloud 835 and/or to the cloud-based data center 880 .
  • FIG. 8C is a schematic block diagram 803 of additional details of the smart tester controller of FIG. 8A according to inventive concepts. Reference is now made to FIGS. 8A , 8 B, and 8 C.
  • the smart memory tester controller 840 can include a transmitter and/or receiver and/or buffer block 850 communicatively coupled to the cloud 835 and/or to the cloud-based data center 880 . It will be understood that while the transmitter/receiver/buffer 850 is shown as a single block, the smart memory tester controller 840 can include separate transmitter, receiver, and buffer components.
  • the receiver 850 can receive, from the cloud 835 and/or from the cloud-based data center 880 , the product specific test program 870 associated with the product ID 862 of the remote memory 715 .
  • the smart memory tester controller 840 can test the remote memory 715 via the cloud 835 in accordance with the product specific test program 870 , using the transmitter and/or receiver 850 .
  • the cloud-based data center 880 can select the product specific test program 870 based on the stored product ID 862 . It will be understood that an authorized person, such as a field application engineer, a test engineer, a design engineer, or the like, can also access the information stored in the cloud-based data center 880 from any Internet access point at any time, select the product specific test program 870 , and/or cause the product specific test program 870 to be sent to the smart tester controller 840 or to the smart memory controller 820 .
  • an authorized person such as a field application engineer, a test engineer, a design engineer, or the like, can also access the information stored in the cloud-based data center 880 from any Internet access point at any time, select the product specific test program 870 , and/or cause the product specific test program 870 to be sent to the smart tester controller 840 or to the smart memory controller 820 .
  • the cloud 835 and/or the cloud-based data center 880 can receive test results 864 , diagnostic information 866 , product history 882 , product specification 884 , customer feedback 886 , and the like, associated with the product specific test program 870 . It will be understood that an authorized person, such as the field application engineer, the test engineer, the design engineer, or the like, can also access such information from the cloud-based data center 880 from any Internet access point at any time.
  • the receiver 850 of the smart memory tester controller 840 can receive, from the cloud 835 and/or from the cloud-based data center 880 , the test results 864 , the diagnostic information 866 , the product history 882 , the product specification 884 , the customer feedback 886 , and the like, associated with the product specific test program 870 . Such information can be used by the smart memory tester controller 840 to adjust a given product specific test, or create new tests based on the received information.
  • the product specific test program 870 can include one or more test patterns 872 , address scramble test information 874 , and/or data scramble test information 876 .
  • the transmitter 850 of the smart memory tester controller 840 can transmit the one or more test patterns 872 , the address scramble test information 874 , and/or the data scramble test information 876 to the cloud 835 and/or to the cloud-based data center 880 .
  • the cloud-based data center 880 can receive the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870 .
  • the receiver 850 of the smart memory tester 840 can receive, from the cloud 835 and/or from the cloud-based data center 880 (or directly from the smart memory controller 820 ), the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870 .
  • the smart tester controller 840 can include a result and status decoder 813 , which may decode the test results 864 , the diagnostic information 866 , and/or other status information.
  • the smart tester 840 can also include results and diagnostic registers 811 , which may receive the decoded information from the results and status decoder 813 , and store such information in the registers.
  • the results, diagnostics, and/or status information can be received by the tester 890 via the I/O buffer 844 .
  • the smart memory tester controller 840 can further include a command, address, and/or data generator 842 .
  • the generator 842 may be coupled to or otherwise associated with a buffer 844 .
  • the generator 842 can generate, for example, the one or more memory commands 878 and/or the one or more test patterns 872 .
  • the smart memory tester controller 840 can further include a test pattern and address/data scramble encoder 856 , which may be coupled to the transmitter 850 and configured to encode the one or more test patterns 872 , for example, and the associated address and data scramble information.
  • the smart memory tester 840 may also include a test code encoder 854 , which may be coupled to the transmitter 850 and configured to encode the address scramble test information 874 and/or the data scramble test information 876 .
  • the product specific test program 870 may also include one or more memory commands 878 , generated by the generator 842 , which may encoded by the test code encoder 854 , and which may be transmitted to the cloud 835 by the transmitter 850 of the smart memory tester controller 840 .
  • FIG. 9 is a schematic block diagram a system 900 in which multiple components and entities are in communication with a smart memory system (e.g., 702 ), a cloud-based data center (e.g., 880 ), and/or a remote smart memory tester controller (e.g., 840 ), in accordance with inventive concepts.
  • a smart memory system e.g., 702
  • a cloud-based data center e.g., 880
  • a remote smart memory tester controller e.g., 840
  • the remote smart memory tester controller 840 may be included in or otherwise associated with a memory test fixture 890 , which can be automated test equipment (ATE) or any other suitable memory testing device.
  • the smart memory tester controller 840 may be communicatively coupled to a secure site or secure gateway device 915 via a secure firewall 910 .
  • the secure gateway device 915 may be communicatively coupled to the cloud 835 .
  • the cloud-based data center 880 may be coupled to or otherwise associated with the cloud 835 and may receive, store, and transmit information pertaining to memory located in devices that are attached to the cloud 835 , as described above.
  • a camera 910 may include the smart memory 702 , and may be coupled to the cloud 835 via the transmitter/receiver 810 of the smart memory controller 720 , which may be embedded in the camera 910 .
  • Any one or more of the devices and entities shown in system 900 may include its own smart memory controller 720 and associated memory.
  • a computer server 965 can each include a smart memory controller 720 and associated memory, and may each be communicatively coupled to the cloud 835 .
  • An engineer e.g., 930
  • application field personnel e.g., 935
  • other authorized personnel may access information stored in the cloud-based data center 880 via the cloud 835 .
  • Such personnel may also use such information to cause product specific test programs to be operated on the various memories in the various devices.
  • Such personnel can also gather test results and other usage information and analyze such information for a single device or many devices in aggregate form.
  • a test site e.g., main test facility, local area automatic diagnostic test site, and the like
  • individuals e.g., local application engineer, test engineer, design engineer, and the like
  • the cloud-based datacenter 880 can contain the product identification and other product specific information.
  • the product ID (discussed above) can be used to identify the product in the field and allow the proper test program to be downloaded to the remote tester 905 .
  • Test results cab be uploaded to the cloud-based datacenter 880 .
  • the test results can be retrieved by the test engineer or other personnel at the manufacturer test site, by the application engineer, or by the customer.
  • the data is available 24/7 from anywhere in the world.
  • FIG. 10 is a flow chart 1000 illustrating a technique for securely and remotely testing a memory device, in accordance with inventive concepts.
  • the technique begins at 1005 , where a smart memory controller securely transmits, to the cloud, a product ID associated with a memory.
  • an entity that is remote from the memory e.g., such as a cloud-based data center, a remote test fixture or controller, or the like
  • the flow proceeds to 1015 , where a product specific test program associated with the product ID of the memory is securely transmitted to the cloud.
  • the smart memory controller securely receives, from the cloud, the product specific test program associated with the product ID of the memory.
  • the information may be securely transmitted and received by encoding the information, encrypting the information, using secure communication channels, and the like.
  • FIG. 11 is a flow chart 1100 illustrating a technique for securely and remotely storing information regarding memory tests and providing access to such information, in accordance with inventive concepts.
  • the technique begins at 1105 , where one or more smart memory controllers securely transmits to a cloud-based data center product IDs associated with various memories, which may be embedded in devices around the world.
  • the cloud-based data center stores the product IDs associated with the memories.
  • the flow proceeds to 1115 , where the cloud-based data center stores test results and/or diagnostic information associated with a test that is performed on corresponding memories.
  • the test results and/or the diagnostic information may be provided to authorized personnel from any Internet access point and at any suitable time.
  • FIG. 12 is a flow chart 1200 illustrating a technique for remotely testing and repairing a memory device in accordance with inventive concepts.
  • the technique begins at 1205 , where a memory is remotely tested via the cloud.
  • test results and/or diagnostic information associated with the remote test of the memory can be stored in the cloud-based data center.
  • the flow proceeds to 1215 , where a determination is made whether or not the test has completed. If NO, the flow returns to 1205 for further processing and testing. Otherwise, if YES, meaning the testing is complete, the flow proceeds to 1220 , where one or more repair solutions is determined based on the test results and/or the diagnostic information. The determination can be made automatically by the cloud-based data center, or otherwise made by an engineer or the like, after analyzing the test results.
  • the flow proceeds to 1225 , where the repair solutions are securely transmitted to the cloud.
  • the repair solutions are securely received, by the smart memory controller, from the cloud.
  • the flow proceeds to either 1235 or 1240 . If path 1235 is taken, the smart memory controller can apply the repair solutions to the memory so that the memory is repaired in an effective and optimal way, and according to specific usage patterns or environment.
  • the bad memory location can be identified and tagged at 1240 so that the user (e.g., a processor, micro-controller, or the like) may avoid the bad address location or otherwise re-map the bad address to another good address.
  • a smart memory system may be configured to permit on-chip testing even after implementation in an end-user device by allowing external automated test equipment (ATE) direct access to the system memory.
  • ATE automated test equipment
  • the ATE can be enabled to schedule and perform a test pattern to test the system memory remotely through the device's secure cloud connection.
  • a remotely located application engineer can further be provided with access to the device's memory to provide real-time error diagnosis and memory repair.
  • Remote system enhancement and recovery via a secure cloud connection can enhance the value of the smart memory device by allowing greater memory diagnostic and repair capabilities than could be provided within the device itself.
  • the smart memory system when implemented in an internet-connectable device, can be provided with tools that permit the memory system to be accessed and optimized anytime and anywhere the device has cloud access. For instance, remote testing equipment can be accessed and utilized by the device based on user-initiated or automatically generated test requests.
  • the smart memory system can further facilitate real-time diagnosis and repair by a remotely-located application engineer. In each instance, repair analysis and repair capabilities beyond that which could be implemented within the device itself are made possible. Details of these and other embodiments are included in the detailed description and the accompanying drawings.
  • the machine or machines include a system bus to which is attached processors, memory, e.g., random access memory (RAM), read-only memory (ROM), or other state preserving medium, storage devices, a video interface, and input/output interface ports.
  • processors e.g., random access memory (RAM), read-only memory (ROM), or other state preserving medium
  • RAM random access memory
  • ROM read-only memory
  • machine is intended to broadly encompass a single machine, a virtual machine, or a system of communicatively coupled machines, virtual machines, or devices operating together.
  • exemplary machines include computing devices such as personal computers, workstations, servers, portable computers, handheld devices, telephones, tablets, etc., as well as transportation devices, such as private or public transportation, e.g., automobiles, trains, cabs, etc.
  • the machine or machines can include embedded controllers, such as programmable or non-programmable logic devices or arrays, Application Specific Integrated Circuits (ASICs), embedded computers, smart cards, and the like.
  • the machine or machines can utilize one or more connections to one or more remote machines, such as through a network interface, modem, or other communicative coupling.
  • Machines can be interconnected by way of a physical and/or logical network, such as an intranet, the Internet, local area networks, wide area networks, etc.
  • network communication can utilize various wired and/or wireless short range or long range carriers and protocols, including radio frequency (RF), satellite, microwave, Institute of Electrical and Electronics Engineers (IEEE) 545.11, Bluetooth®, optical, infrared, cable, laser, etc.
  • RF radio frequency
  • IEEE Institute of Electrical and Electronics Engineers
  • Embodiments of the inventive concept can be described by reference to or in conjunction with associated data including functions, procedures, data structures, application programs, etc. which when accessed by a machine results in the machine performing tasks or defining abstract data types or low-level hardware contexts.
  • Associated data can be stored in, for example, the volatile and/or non-volatile memory, e.g., RAM, ROM, etc., or in other storage devices and their associated storage media, including hard-drives, floppy-disks, optical storage, tapes, flash memory, memory sticks, digital video disks, biological storage, etc.
  • Associated data can be delivered over transmission environments, including the physical and/or logical network, in the form of packets, serial data, parallel data, propagated signals, etc., and can be used in a compressed or encrypted format. Associated data can be used in a distributed environment, and stored locally and/or remotely for machine access.
  • Embodiments of the inventive concept may include a non-transitory machine-readable medium comprising instructions executable by one or more processors, the instructions comprising instructions to perform the elements of the inventive concept as described herein.

Abstract

A smart memory system preferably includes a memory including one or more memory chips and a smart memory controller. The smart memory controller includes a transmitter communicatively coupled to the cloud. The transmitter securely transmits a product identification (ID) associated with the memory to the cloud. A cloud-based data center receives and stores the product ID and related information associated with the memory. A smart memory tester receives a product specific test program from the cloud-based data center. The smart memory tester may remotely test the memory via the cloud in accordance with the product specific test program. The information stored in the cloud-based data center can be accessed anywhere in the world by authorized personnel. Repair solutions can be remotely determined based on the test results and the diagnostic information. The repair solutions are transmitted to the smart memory controller, which repairs the memory.

Description

    CROSS-REFERENCES TO RELATED APPLICATIONS
  • This application claims the benefit of commonly assigned provisional application Ser. No. 61/597,773, filed Feb. 11, 2012, entitled “A METHOD AND SYSTEM FOR PROVIDING A SMART MEMORY ARCHITECTURE,” the contents of which is incorporated herein by reference in its entirety.
  • BACKGROUND
  • The present inventive concepts relate to a smart memory architecture, and more particularly to an architecture and method for remotely diagnosing and optimizing memory systems.
  • The present inventive concepts relate to memory systems for storing and retrieving information from memory integrated circuits, including static random access memory (SRAM), dynamic random access memory (DRAM), Flash memory, phase-change random access memory (PCRAM), spin-transfer torque random access memory (STT-RAM), magnetic random access memory (MRAM), resistive random access memory (RRAM), and future memory devices. Inventive aspects described herein are particularly well-suited for memories such as STT-RAM, MRAM and RRAM memories, which exhibit probabilistic-type characteristics and relatively high error rates.
  • Semiconductor memory devices have been widely used in electronic systems to store data. There are two general types of semiconductor memories: non-volatile and volatile memories. A volatile memory device, such as a Static Random Access Memory (SRAM) or a Dynamic Random Access Memory (DRAM), loses its data when the power applied to it is turned off. A non-volatile semiconductor memory device, however, such as a Flash, Erasable Programmable Read Only Memory (EPROM) or a magnetic random access memory (MRAM), retains its charge even after the power applied thereto is turned off. Where loss of data due to power failure or termination is unacceptable, a non-volatile memory is therefore used to store the data.
  • FIGS. 1A-1D are simplified, schematic cross-sectional illustrations of a magnetic tunnel junction (MTJ) structure 10 used in forming a spin transfer torque (STT) MRAM cell. Referring to FIGS. 1A-1D, an MTJ 10 is shown as including, in part, a reference layer 12, a tunneling layer 14, and a free layer 16. The reference layer 12 and the free layer 16 can be ferromagnetic layers, while the tunneling layer 14 is a nonmagnetic layer. The direction of magnetization of reference layer 12 is fixed during manufacture and therefore does not change during operation of the STT-RAM memory device. However, the direction of magnetization of the free layer 16 can be varied during operation by passing a current of the required strength through the MTJ structure.
  • In FIG. 1A, the reference layer 12 and the free layer 16 are shown having the same directions of magnetization, i.e., in a parallel magnetic state. In FIG. 1B, the reference layer 12 and the free layer 16 are shown having opposite magnetization directions, i.e., in an anti-parallel state. In FIG. 1C, the reference layer 12 and the free layer 16 are shown having the same magnetization direction (parallel state), with the magnetization direction perpendicular to a plane defined by the interface of free layer 16 and tunneling layer 14. In FIG. 1D, the reference layer 12 and the free layer 14 are shown having opposite magnetization directions (anti-parallel state), where the magnetization directions are perpendicular to a plane defined by the interface of free layer 16 and tunneling layer 14.
  • To switch from the parallel state, as shown in FIGS. 1A and 1C, to the anti-parallel state, as shown in FIGS. 1B and 1D, the voltage potential of reference layer 12 is increased relative to that of free layer 16. This voltage difference causes spin polarized electrons flowing from free layer 16 to reference layer 12 to transfer their angular momentum and change the magnetization direction of free layer 16 to the anti-parallel state. To switch from the anti-parallel state to the parallel state, the voltage potential of free layer 16 is increased relative to that of reference layer 12. This voltage difference causes spin polarized electrons flowing from reference layer 12 to free layer 16 to transfer their angular momentum and change the magnetization direction of free layer 16 to the parallel state.
  • To switch from the parallel state to the non-parallel state or vice versa, the voltage applied to MTJ 10 and the corresponding current flowing through MTJ must each be greater than a respective pair of threshold values. The voltage that must exceed a threshold voltage in order for the switching to occur is also referred to as the switching voltage Vc. Likewise, the current that must exceed a threshold current in order for the switching to occur is referred to as the switching current Ic.
  • As is well known, when free layer 16 and reference layer 12 have the same magnetization direction (i.e., parallel state), MTJ 10 has a relatively low resistance. Conversely, when free layer 16 and reference layer 12 have the opposite magnetization direction (i.e., anti-parallel state), MTJ 10 has a relatively high resistance. This difference in resistance values provides the ability of the MTJ 10 to act as a memory storage device. Due to the physical properties of an MTJ, the critical current required to change an MTJ from a parallel state to an anti-parallel state is often greater than the critical current required to change the MTJ from an anti-parallel state to a parallel state.
  • FIG. 2A shows a magnetic tunnel junction (MTJ) 10, which forms a variable resistor in an STT-MRAM type memory cell, and an associated select transistor 20, together forming an STT-MRAM cell 30. The MTJ 10 includes a reference or pinned layer 12, a free layer 16, and a tunneling layer 14 disposed between the reference layer 12 and the free layer 16. Transistor 20 is often an NMOS transistor due to its inherently higher current drive, lower threshold voltage, and smaller area relative to a PMOS transistor. The current used to write a “1” in MRAM 30 can be different than the current used to write a “0”. The asymmetry in the direction of current flow during these two write conditions is caused by the asymmetry in the gate-to-source voltage of transistor 20.
  • In the following description, an MRAM cell is defined as being in a logic “0” state when the free and reference layers of its associated MTJ are in a parallel (P) state, i.e., the MTJ exhibits a low resistance. Conversely, an MRAM cell is defined as being in a logic “1” state when the free and reference layers of its associated MTJ are in an anti-parallel (AP) state, i.e., the MTJ exhibits a high resistance. It will be understood that in other embodiments, the MRAM cell can be defined as being in the logic “0” state when in an AP state, and the logic “1” state when in a P state. Furthermore, in the following, it is assumed that the reference layer of the MTJ 10 faces its associated select transistor, as shown in FIG. 2A.
  • Therefore, in accordance with the discussion above, a current flowing along the direction of arrow 35 (i.e., the up direction) either (i) causes a switch from the P state to the AP state thus to write a “1”, or (ii) stabilizes the previously established AP state of the associated MTJ. Likewise, a current flowing along the direction of arrow 40 (i.e., the down direction) either (i) causes a switch from the AP state to the P state thus to write a “0”, or (ii) stabilizes the previously established P state of the associated MTJ. It is understood, however, that in other embodiments this orientation may be reversed so that the free layer of the MTJ faces its associated select transistor. In such embodiments (not shown), a current flowing along the direction of arrow 35 either (i) causes a switch from the AP state to the P, or (ii) stabilizes the previously established P state of the associated MTJ Likewise, in such embodiments, a current flowing along the direction of arrow 40 either (i) causes a switch from the P state to the AP state, or (ii) stabilizes the previously established AP state.
  • FIG. 2B is a schematic representation of MRAM 30 of FIG. 2A in which MTJ 10 is shown as a storage element whose resistance varies depending on the data stored therein. The MTJ 10 changes its state (i) from P to AP when the current flows along arrow 35, and/or (ii) from AP to P when the current flows along arrow 40.
  • The voltage required to switch the MTJ 10 from an AP state to a P state, or vice versa, must exceed the critical switching voltage, Vc0. The current corresponding to this voltage is referred to as the critical or switching current Ic0. While the specified critical value Vc0 and related critical switching current Ic0 can be defined in various ways, such values can be selected based on a 50% switching probability of the memory cell within a specified time. In other words, the critical switching current Ic0 can be selected or otherwise determined based on the design of the MTJ 10 and/or based on measurements of the probability of switching at a particular critical value Vc0 and/or switching current Ic0. When the threshold critical switching current Ic0 is satisfied, there can be a 50% chance that the stored memory bit switches values (e.g., from a “0” to a “1” or a “1” to a “0”). An overdrive current is applied to guarantee that switching occurs at an error rate that is acceptable to meet standard reliability expectations. This overdrive current, or switching current, Isw, may be 1.3 times, 1.5 times, 2 times, or more than 2 times the value of Lc0. For example, if the Ic0 for an MTJ device is 7 microamps (uA) at a 20 nanosecond (ns) write pulse width, then the Isw used to reliably switch the states of the MTJ may be 11 uA or greater.
  • In some cases, the “safe” write current (e.g., where the write error rate is less than about 10e-9) may be 1.5 to 2 times the critical switching current Ic0 for a certain period of time, for example, 10 nanoseconds. To read the bit value back out of the memory cell, a relatively “safe” read current can be applied (e.g., where the read error rate is less than about 10e-9). For example, the “safe” read current may be 0.2 times (i.e., 20%) of the critical switching current Ic0. By way of another example, if the critical switching current Ic0 is 6 microamps (uA), then the write current under a normal operation mode can be at least 12 uA, or thereabout, and the read current under a normal operating mode can be less than 1.2 uA, or thereabout. In this manner, the probability of the memory cell properly switching under a normal write condition is very high, in some cases near 100%. Similarly, the probability of accidentally switching the value of the memory cell under a normal read condition can be very low, in some cases near zero.
  • Once in the AP state, removing the applied voltage does not affect the state of the MTJ 10. Likewise, to transition from the AP state to the P state under the normal operating mode, a negative voltage of at least Vc0 is applied so that a current level of at least the switching current Ic0 flows through the memory cell in the opposite direction. Once in the P state, removing the applied voltage does not affect the state of the MTJ 10.
  • In other words, MTJ 10 can be switched from an anti-parallel state (i.e., high resistance state, or logic “1” state) to a parallel state so as to store a “0” (i.e., low resistance state, or logic “0” state). Assuming that MTJ 10 is initially in a logic “1” or AP state, to store a “0”, under the normal operating mode, a current at least as great or greater than the critical current Ic0 is caused to flow through transistor 20 in the direction of arrow 40. To achieve this, the source node (SL or source line) of transistor 20 is coupled to the ground potential via a resistive path (not shown), a positive voltage is applied to the gate node (WL or wordline) of transistor 20, and a positive voltage is applied to the drain node (BL or bitline) of transistor 20.
  • As mentioned above, MTJ 10 can also be switched from a parallel state to an anti-parallel state so as to store a “1”. Assuming that MTJ 10 is initially in a logic “0” or P state, to store a “1”, under the normal operating mode, a current at least as great or greater than the critical current Ic0 is caused to flow through transistor 20 in the direction of arrow 35. To achieve this, node SL is supplied with a positive voltage via a resistive path (not shown), node WL is supplied with a positive voltage, and node BL is coupled to the ground potential via a resistive path (not shown).
  • FIG. 3 represents the variation in the MTJ state (or its resistance) during various write cycles. To transition from the P state (low resistance state) to AP state (high resistance state), a positive voltage at least as great or greater than the critical switching voltage Vc0 is applied. Once in the AP state, removing the applied voltage does not affect the state of the MTJ. Likewise, to transition from the AP state to the P state, a negative voltage less than the critical switching voltage Vc0 is applied. Once in the P state, removing the applied voltage does not affect the state of the MTJ. The resistance of the MTJ is Rhigh when it is in the AP state. Likewise, the resistance of the MTJ is Rlow when it is in the P state.
  • FIG. 4A shows an MTJ 10 being programmed to switch from an anti-parallel state (i.e., high resistance state, or logic “1” state) to a parallel state so as to store a “0” (i.e., low resistance state, or logic “0” state). In this Figure, it is assumed that the MTJ 10 is initially in a logic “1” or AP state. As described above, to store a “0”, a current Isw at least as great or greater than the critical current Ic0 is caused to flow through transistor 20 in the direction of arrow 40. To achieve this, the source node (SL) of transistor 20 is coupled to the ground potential via a resistive path (not shown), a positive voltage VPP is applied to the gate node (WL or wordline) of transistor 20, and a positive voltage VCC is applied to the drain node (BL or bitline) of transistor 20.
  • FIG. 5 is an exemplary timing diagram of the voltage levels at nodes WL, SL, SN and BL during a write “0” operation, occurring approximately between times 25 ns and 35 ns, and a write “1” operation, occurring approximately between times 45 ns and 55 ns, for a conventional MTJ such as MTJ 10 shown in FIGS. 4A and 4B. The supply voltage Vcc is assumed to be about 1.8 volts. The wordline signal WL, as well as the column select signal CS, are shown as having been boosted to a higher VPP programming voltage of 3.0 volts. During the write “0” operation, the voltages at nodes BL, SL and SN are shown as being approximately equal to 1.43V, 0.34V, and 0.88V respectively. During the write “1” operation, the voltages at nodes BL, SL and SN are shown as being approximately equal to 0.23V, 1.43V, and 0.84V respectively. Although not shown, for this exemplary computer simulation, the currents flowing through the MTJ during write “0” and “1” operations are 121 μA and 99.2 μA, respectively.
  • FIG. 4B shows an MTJ being programmed to switch from a parallel state to an anti-parallel state so as to store a “1”. It is assumed that MTJ 10 is initially in a logic “0” or P state. To store a “1”, a current Isw that is greater than the critical current Ic0 is caused to flow through transistor 20 in the direction of arrow 35. To achieve this, node SL is supplied with the voltage VCC via a resistive path (not shown), node WL is supplied with the voltage VPP, and node BL is coupled to the ground potential via a resistive path (not shown). Accordingly, during a write “1” operation, the gate-to-source voltage of transistor 20 is set to (VWL−VSN), and the drain-to-source voltage of transistor 20 is set to (VSL−VSN). This STT-RAM type memory cell can provide an excellent non-volatile memory solution.
  • Unfortunately, with STT-RAM or any other type of memory chip, manufacturing or other defects may result in not all memory cells on a memory chip functioning properly. During memory repair, a memory chip may be tested and failed memory elements replaced by redundant memory elements. Typically called laser repair, this memory repair is generally performed after the first wafer sort test. A laser is used to blow the memory fuse banks to disable the defective memory elements and replace them with the redundant elements. Memory repair is not made available to the memory's end-user.
  • Various memory systems have been proposed to provide memory access, secure data storage, data verification and recovery, data testing, and memory repair. These systems include, for instance, U.S. Pat. No. 6,657,914, entitled “CONFIGURABLE ADDRESSING FOR MULTIPLE CHIPS IN A PACKAGE”; U.S. Pat. No. 6,754,866, entitled “TESTING OF INTEGRATED CIRCUIT DEVICE”; U.S. Pat. No. 7,365,557, entitled “INTEGRATED TESTING MODULE INCLUDING DATA GENERATOR”; U.S. Pat. No. 7,466,160, entitled “SHARED MEMORY BUS ARCHITECTURE FOR SYSTEM WITH PROCESSOR AND MEMORY UNITS”; U.S. Pat. No. 7,466,603, entitled “MEMORY ACCESSING CIRCUIT SYSTEM”; U.S. Pat. No. 7,673,193, entitled “PROCESSOR-MEMORY UNIT FOR USE IN SYSTEM-IN-PACKAGE AND SYSTEM-IN-MODULE DEVICES”; U.S. Pat. No. 7,768,847, entitled “PROGRAMMABLE MEMORY REPAIR SCHEME”; and U.S. Pat. No. 7,779,311 entitled “TESTING AND RECOVERY OF MULTILAYER DEVICE”, the contents of each of which are hereby incorporated by reference in their entirety.
  • Due to the relatively high error rates and probabilistic tendencies of memories such as PCRAM, MRAM, and RRAM devices, the conventional approaches to detecting and solving memory defects are inadequate. Once in the field, it is difficult or impossible to fully diagnose and apply repair solutions to the memory systems. Inventive concepts disclosed herein address these and other limitations in the prior art.
  • BRIEF SUMMARY
  • According to features and principles of the present inventive concepts, a smart memory system can be operatively coupled to a remote system enhancement and recovery entity via a secure cloud connection. The smart memory system, when implemented in an internet-connectable device, can be provided with tools that permit the memory system to be accessed and optimized anytime, and anywhere the device has cloud access. For instance, remote testing equipment can be accessed and utilized by the device based on user-initiated or automatically generated test instructions. The smart memory system can further facilitate real-time diagnosis and repair by a remotely-located application engineer or other entity.
  • Some features of embodiments incorporating one or more of the present inventive concepts may include a memory, a smart memory controller coupled to the memory, the smart memory controller including a transmitter communicatively coupled to the cloud, the transmitter being configured to transmit a product identification associated with the memory to the cloud, a cloud-based data center associated with the cloud and configured to receive the product identification associated with the memory, a smart memory tester including a receiver communicatively coupled to the cloud-based data center and configured receive the product specific test program from the cloud-based data center, and the smart memory tester further including a transmitter communicatively coupled to the cloud and configured to remotely test the memory via the cloud in accordance with the product specific test program.
  • Inventive concepts may also include a method for performing remote memory diagnostic and operation procedures, the method comprising, for example: securely transmitting to a cloud, by a smart memory controller, a product identification associated with a memory, securely receiving from the cloud, by an entity that is remote from the memory, the product identification associated with the memory, securely transmitting to the cloud, by the remote entity, a product specific test program associated with the product identification of the memory, and securely receiving from the cloud, by the smart memory controller, the product specific test program associated with the product identification of the memory.
  • Certain of the inventive features may be best achieved by implementing them in a System-in-Package (SiP) or System-on-Chip (SoC). Such implementations need good connectivity between a memory array and memory processor chips. This may be accomplished, for instance, using True Silicon Via (TSV) or other SiP technology. Using low latency and high throughput SiP interconnects can provide improved system performance. The cost disadvantages of such a system may be minimized as SiP interconnect technology costs continue to decrease.
  • The inventive principles can also enable reduced power consumption by reducing I/O loading using SiP solutions, by providing clock-less memory operation, and/or by shutting down unused memory sections. Voltage control, temperature compensation, and asynchronous timing circuitry can also help reduce power consumption and provide more efficient operation.
  • Other principles allow the device processor to offload repetitive computations or other tasks to the smart memory system. For instance, an ARM, MIPs, or other desired proprietary processor combination can be provided in the memory controller or other area of the smart memory system to perform various processing tasks to free up device resources.
  • Memory monitoring, repair, correction, and re-assignment can also be performed by the smart memory controller and/or remotely according to principles of the present inventive concept. ECC, anti-fuse repair, error masking, read-compare-write, weak bit replacement, and other error correction technologies can be implemented in the smart memory system to enhance data stability and reduce error rates.
  • In accordance with one embodiment incorporating principles of the present inventive concept, a memory can include, in part, The memory cell may, for instance, be a DRAM, SRAM, ROM, PROM, EEPROM, FLASH, FeRAM, PCRAM, RRAM, MRAM, STT-MRAM, or the like.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing and additional features and advantages of the present inventive principles will become more readily apparent from the following detailed description, made with reference to the accompanying figures, in which:
  • FIG. 1A is a simplified schematic, cross-sectional view of a magnetic tunnel junction structure of a magnetic random access memory cell when placed in a parallel magnetization state, as known in the related art.
  • FIG. 1B is a simplified schematic, cross-sectional view showing the magnetic tunnel junction structure of FIG. 1A when placed in an anti-parallel magnetization state, as known in the related art.
  • FIG. 1C is a simplified schematic, cross-sectional view of a magnetic tunnel junction structure of a magnetic random access memory (MRAM) cell when placed in a parallel magnetization state, as known in the related art.
  • FIG. 1D is a simplified schematic, cross-sectional view showing the magnetic tunnel junction structure of FIG. 1C when placed in an anti-parallel magnetization state, as known in the related art.
  • FIG. 2A is a schematic illustration showing layers of a magnetic tunnel junction structure coupled to an associated select transistor, as known in the related art.
  • FIG. 2B is a schematic representation of the magnetic tunnel junction structure and its associated select transistor of FIG. 2A, as known in the related art.
  • FIG. 3 is a graphical illustration showing the variation in the resistance of the magnetic tunnel junction structure of FIG. 2A in response to applied voltages, as known in the related art.
  • FIG. 4A is a schematic diagram showing a magnetic tunnel junction structure being programmed to switch from an anti-parallel state to a parallel state, as known in the related art.
  • FIG. 4B is a schematic diagram showing a magnetic tunnel junction structure being programmed to switch from a parallel state to an anti-parallel state, as known in the related art.
  • FIG. 5 is a timing diagram representing a number of signals associated with a magnetic random access memory during write “0” and write “1” operations, as known in the related art.
  • FIG. 6 is a schematic block diagram of a memory system and associated circuitry, in accordance with an inventive concept.
  • FIG. 7 is a schematic block diagram of a memory system and associated circuitry, including a secure interface with the cloud, in accordance with inventive concepts.
  • FIG. 8A is a schematic block diagram of a memory system, including a smart memory controller and a remote smart tester controller in communication via the cloud, in accordance with inventive concepts.
  • FIG. 8B is a schematic block diagram of the smart memory controller of FIG. 8A according to inventive concepts.
  • FIG. 8C is a schematic block diagram of the smart tester controller of FIG. 8A according to inventive concepts.
  • FIG. 9 is a schematic block diagram a system in which multiple components and entities are in communication with a smart memory system, the cloud-based data center, and/or a remote smart tester, in accordance with inventive concepts.
  • FIG. 10 is a flow chart illustrating a technique for securely and remotely testing a memory device, in accordance with inventive concepts.
  • FIG. 11 is a flow chart illustrating a technique for securely and remotely storing information regarding memory tests and providing access to such information, in accordance with inventive concepts.
  • FIG. 12 is a flow chart illustrating a technique for remotely testing and repairing a memory device in accordance with inventive concepts.
  • DETAILED DESCRIPTION
  • Reference will now be made in detail to embodiments of the inventive concept, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth to enable a thorough understanding of the inventive concept. It should be understood, however, that persons having ordinary skill in the art may practice the inventive concept without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
  • It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first circuit could be termed a second circuit, and, similarly, a second circuit could be termed a first circuit, without departing from the scope of the inventive concept.
  • The terminology used in the description of the inventive concept herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the inventive concept. As used in the description of the inventive concept and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The components and features of the drawings are not necessarily drawn to scale.
  • During a write operation, a memory cell may exhibit randomly different write times at different occasions even under the same, stable conditions. Such behavior may not be the result of wear-out mechanisms that could have been screened out during factory testing, but may instead result from probabilistic behavior of the memory cell's write characteristics. Memory cells determined to be defective for non-probabilistic reasons can be removed from a cell population during testing and repair operations performed at the factory. For instance, certain defects can be repaired by replacing defective cells with on-chip redundant cells during a redundancy operation. Where the defects cannot be repaired, the bad chips can be scrapped. However, even after testing and repair operations, the remaining memory cell population may still exhibit probabilistic behavior that affects the reliability of the memory chip.
  • After factory testing and repair has been completed, the chip is shipped out and incorporated in a device for use by an end-user. When the chip is in regular use by the end-user, the memory system may be able to perform basic flag and repair operations to defective cells, such as those which are slow to write, by mapping them out of the usable address space. Such basic operations, however, are not controlled or even visible outside of the customer's system. The lack of visibility and access by entities or persons having no on-location access to the customer's systems prevents a broader and more complete understanding of the memory performance, failures, and repair solutions. As the sheer number of installed memory systems is enormous and continues to expand, the problematic nature of conventional diagnosis and repair solutions will become all too clear. A new solution is needed to remotely quantify and overcome this probabilistic cell behavior problem.
  • In accordance with certain embodiments of the present inventive principles, the installed memory system at the customer's location can access a remote memory tester, such as automated test equipment (ATE), which is traditionally only available for testing the memory at the factory or before being shipped to the customer. In accordance with inventive concepts disclosed herein, memory product information such as a product identification (ID) can be remotely identified by the memory tester or some other authorized entity or person, and using such information, product specific test patterns and repair solutions can be remotely provided to the local memory system. Rather than being hampered by limited test coverage at the local system, the memory system can gain access to myriad remote tools and resources. For example, the test program can be changed on demand. By way of another example, the test program can also be optimized based on the customer's usage and environment. Redundancy analysis and other repair solutions can be remotely provided to the customer's system.
  • Smart memory chips (SoC, MCM, or SiP) that are designed to provide access efficiently and effectively to the external system can be used to gain access to the cloud. Alternatively, a memory chip having a smart controller can have direct access to the test memory cloud. Test or memory commands, address, data, test functions, product ID, etc., can be encoded and/or decoded and transmitted securely to and from the cloud. Test or memory commands can be buffered and/or sequenced.
  • Encoded and/or decoded data can be securely transmitted and received (e.g., wirelessly or via Ethernet cable, and the like) to and from the Internet or any suitable network including the cloud. A corresponding test site (e.g., main test facility, local area automatic diagnostic test site, or local application engineer) can securely transmit and receive information to or from the memory system to perform diagnostics such as test patterns and memory commands, and also to communicate and apply repair solutions.
  • A cloud-based datacenter can receive and store the product identification (ID) and other memory-specific information. The product ID and other memory-specific information can be used to identify the product (e.g., type of memory, memory size, specifications, process, and the like) in the field and allow the proper test program to be downloaded to the remote tester.
  • Test results can be uploaded to the datacenter. The test results can be retrieved by the test engineer at the manufacturer test site, by the application engineer, or by the customer, and the like. The data is therefore made available 24/7 to authorized personnel anywhere in the world and at any time.
  • FIG. 6 is a schematic block diagram of a memory system 600 and associated circuitry, in accordance with an inventive concept. According to features and principles of the present inventive concepts, a smart memory system preferably allows memories with high error rates and slow read/write times relative to a logic processor to work reliably and seamlessly. FIG. 6 is a schematic block diagram of one embodiment of a smart memory system 600 constructed according to principles of the present inventive concept.
  • Referring to FIG. 6, the smart memory system 600 can include smart memory 602, which may be configured to provide a handshaking interface 605 with an ultra-wide input output (I/O) between the memory 615 and smart memory controller 620 to ensure successful read and write operations. Moreover, a common asynchronous memory bus 610 can be provided with acknowledge signaling to guarantee write and read operation successes. The common asynchronous memory bus preferably implements a handshaking procedure during both the read and write operations to ensure that the desired data has been successfully read from, or written to, the main system memory 615. In addition, the handshaking memory interface 605 can also help avoid bottlenecks and provide re-routing capabilities. Although here labeled emerging memory (STT-MRAM, RRAM) 615, the main system memory 615 can be any type of memory, including, for example, DRAM, SRAM, ROM, PROM, EEPROM, FLASH, FeRAM, PCRAM, RRAM, MRAM, STT-MRAM, RRAM or future memory types.
  • The smart memory system 600 can further provide various additional error rate reduction schemes, including, for example, allowing non-volatile memory bits or sectors with poor retention to be used by tagging them and performing occasional refresh operations to maintain the data stored therein. Error-correcting code (ECC), signal processing, and programmable repair operations can also be provided to reduce and correct memory errors. The smart memory controller 620 can perform re-configuration and optimization processes to ensure proper memory retention and read/write operations. A high-speed interface 625 can be included between the smart controller 620 and the system bus 610 in order to match the speed of the logic processes.
  • The smart memory 602 can, for instance, be implemented in or associated with a device having any one or more of multiple logic processors or other devices. In this embodiment, the device logic 630 is shown as having application logic 635, processors 640, internal memory plus controller 645, and analog device functions 650. The smart memory 602 can be configured to communicate with any one or more of the logic components through the system bus 610. Embodiments incorporating the present inventive concepts can further be configured to enable compatibility to multiple systems. Configurable address schemes can be used, for instance, which support multiple processors and peripherals, along with a programmable and memory-type independent I/O interface.
  • FIG. 7 is a schematic block diagram of one embodiment of a smart memory system 700 constructed according to principles of the present inventive concept. Referring to FIG. 7, the smart memory system 700 can include smart memory 702, which may be configured to provide multiple handshaking interfaces or busses 705 between the memory 715 and smart memory controller 720 to ensure successful read and write operations. The smart memory controller 720 may be communicatively coupled (e.g., wirelessly or via Ethernet cable, and the like) to cloud 735.
  • Such direct access to the cloud 735 allows for remote automated testing of the memory 715. For example, automated test equipment (ATE) 740 located remotely from the smart memory 702 may perform diagnostic, testing, and/or repair operations on the memory 715, as described in detail below. Moreover, a test site or entity (e.g., main test facility, local area automatic diagnostic test site, application engineer, or the like) can securely transmit and receive information to or from the memory system to perform diagnostic such as test patterns and memory commands, and also to communicate and apply repair solutions, as also further described below.
  • The smart memory controller 720 can also perform a built-in self test, address scramble, data scramble, programmable repair, system bus monitoring, or the like, either autonomously or by direction from an external remote entity, as further described below. The smart memory controller 720 can also include test algorithm translators and/or test sequence generators.
  • A common asynchronous memory bus 705 can be provided with acknowledge signaling to guarantee write and read operation successes. The common asynchronous memory bus 705 preferably implements a handshaking procedure during both the read and write operations to ensure that the desired data has been successfully read from, or written to, the main system memory 715. In addition, the multiple handshaking memory interfaces 705 can also help avoid bottlenecks and provide re-routing capabilities. Although here labeled emerging memory (STT-MRAM, RRAM) 715, the main system memory 715 can be any type of memory, including, for example, DRAM, SRAM, ROM, PROM, EEPROM, FLASH, FeRAM, PCRAM, RRAM, MRAM, STT-MRAM, RRAM or future memory types. A system bus is shown as 710, which obeys the system I/O specifications. However, the system is not impeded from using asynchronous hand-shake type interface.
  • The smart memory system 700 can further provide various additional error rate reduction schemes, including, for example, allowing non-volatile memory bits or sectors with poor retention to be used by tagging them and performing occasional refresh operations to maintain the data stored therein. Error-correcting code (ECC), signal processing, and programmable repair operations can also be provided to reduce and correct memory errors. The smart memory controller 720 can perform re-configuration and optimization processes to ensure proper memory retention and read/write operations. A high-speed interface 725 can be included between the smart controller 720 and the system bus 710 in order to match the speed of the logic processes.
  • The smart memory 702 can, for instance, be implemented in or associated with a device having any one or more of multiple logic processors or other devices. In this embodiment, the device logic 730 is shown as having micro-processor(s) 744, micro-controller(s) 746, analog logic 754, RF device 756, sensor(s) 758, multimedia unit 764, MPEG4 unit 766, digital signal processor (DSP) 768, cache 774, first in first out (FIFO) buffer 776, single port SRAM 778, and multi-port SRAM 780. It will be understood that the logic 730 may include one or more of the enumerated logic processors and other devices, or any combination thereof. The smart memory 702 can be configured to communicate with any one or more of the logic components through the system bus 710.
  • FIG. 8A is a schematic block diagram of a memory system 800, including a smart memory controller 820 and a remote smart tester controller 840 in communication via the cloud, in accordance with inventive concepts. The smart memory controller 820 can be coupled to a memory 715. The smart memory controller 820 can be communicatively coupled to the cloud-based data center 880 and can transmit a product identification (ID) 862 associated with the memory 715 to the cloud. The smart memory controller 820 can receive, from the cloud, a product specific test program 870 associated with the product ID 862.
  • The smart memory controller 820 can run the product specific test program 870 on the memory 715. The smart memory controller 820 can transmit test results 864 and/or diagnostic information 866 associated with the product specific test program 870 to the cloud-based data center 880. The smart memory controller 820 can also transmit product history 882, a product specification 884, and/or customer feedback 886 to the cloud-based data center 880. The smart memory controller 820 can receive repair solutions 868 from the cloud-based data center 880. The smart memory controller 820 can apply the repair solutions 868 to the memory 715. Alternatively, the smart memory controller 820 can itself determine repair solutions based on the test results and/or the diagnostic information, and apply the repair solutions to the memory. As further discussed below, the smart memory controller 820 may also tag and/or re-map bad memory locations.
  • The product specific test program 870 can include one or more test patterns 872, address scramble test information 874, and data scramble test information 876. The smart memory controller 820 can receive the one or more test patterns 872, the address scramble test information 874, and the data scramble test information 876 from the cloud. The smart memory controller 820 can decode, for example, the address scramble test information 874 and the data scramble test information 876.
  • The product specific test program 870 may include one or more memory commands 878. The smart memory controller 820 can receive the one or more memory commands 878 from the cloud. The smart memory controller 820 may decode the one or more memory commands 878. The smart memory controller 820 can buffer and sequence the one or more memory commands 878 and/or the one or more test patterns 872. The smart memory controller 820 can read from the memory 715 or write to the memory 715 responsive to the decoded one or more memory commands 878 and/or based on the decoded one or more test patterns 872.
  • In addition, the smart memory controller 820 can buffer and sequence the address scramble test information 874 and the data scramble test information 876. The address and data scramble information allows the memory test to decode the physical memory bit location, and precisely stress the intended memory bits. It allows the true test patterns, such as checkerboard pattern, solid pattern, row stripe pattern, column stripe pattern, or diagonal pattern, and the like, to be implemented. The smart memory controller 820 can read from the memory 715 or write to the memory 715 based on the decoded address scramble test information 874 and/or the decoded data scramble test information 876.
  • In some embodiments, the cloud-based data center 880 can receive and store the product identification 862 associated with the memory 715 that is remotely located relative to the cloud-based data center 880. For example, the memory 715 can be located in one part of the world, while the cloud-based data center 880 can be located in another distant part of the world. The cloud-based data center 880 can store the test results 864, the diagnostic information 866, the product ID 862, the product history 882, the product specification 884, and/or the customer feedback 886 associated with the remote memory 715, so that this information is accessible to authorized personnel from any Internet access point and at any time.
  • A smart memory tester and/or controller 840 can also be communicatively coupled to the cloud-based data center 880. The smart tester controller 840 can be included in or otherwise be associated with automated test equipment (ATE) or any other suitable memory test fixture 890 or system. The smart tester controller 840 can receive, from the cloud-based data center 880, the product specific test program 870 associated with the product ID 862 of the remote memory 715. The smart tester controller 840 can test the remote memory 715 via the cloud in accordance with the product specific test program 870.
  • In some embodiments, the cloud-based data center 880 can select the product specific test program 870 based on the stored product ID 862. It will be understood that an authorized person, such as a field application engineer, a test engineer, a design engineer, or the like, can also access the information stored in the cloud-based data center 880 from any Internet access point at any time, select the product specific test program 870, and/or cause the product specific test program 870 to be sent to the smart tester controller 840 or the smart memory controller 820. Also, a field application engineer, product engineer, or test engineer, and the like, can upload product information (e.g. product-specific test pattern, address/data scramble, test sequence and timing information, etc) to the cloud-based data center 880 from any Internet access point (e.g. smartphone, tablet, laptop, PC, etc).
  • The cloud-based data center 880 can receive the test results 864, the diagnostic information 866, the product history 882, the product specification 884, and/or the customer feedback 886 associated with the product specific test program 870. It will be understood that an authorized person, such as the field application engineer, the test engineer, the design engineer, or the like, can also access such information in the cloud-based data center 880 from any Internet access point at any time. The cloud-based data center 880 may store such information for one or many (e.g., millions or billions) of memory devices deployed throughout the world. As a result, failure statistics and other quantifiable information can be gathered and analyzed.
  • In some embodiments, the smart tester controller 840 can receive, from the cloud, the test results 864, the diagnostic information 866, the product history 882, the product specification 884, and/or the customer feedback 886 associated with the product specific test program 870. Such information can be used by the smart memory tester controller 840 to adjust a given product specific test, or create new tests based on the received information.
  • The cloud-based data center 880 can automatically determine repair solutions 868 based on the test results 864, the diagnostic information 866, the product history 882, the product specification 884, and/or the customer feedback 886. Alternatively, authorized personnel may access the cloud-based data center 880 and determine the repair solutions 868 based on the test results 864, the diagnostic information 866, the product history 882, the product specification 884, and/or the customer feedback 886. The cloud-based data center 880 or the smart memory tester controller 840 can transmit, to the remote memory 715, the repair solutions 868.
  • As mentioned above, the product specific test program 870 can include one or more test patterns 872, address scramble test information 874, and/or data scramble test information 876. The smart memory tester controller 840 can transmit the one or more test patterns 872, the address scramble test information 874, and/or the data scramble test information 876 to the cloud. The cloud-based data center 880 can receive the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870. The smart memory tester controller 840 can receive, from the cloud-based data center 880 or directly from the smart memory controller 820, the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870.
  • The smart memory tester controller 840 can encode the one or more test patterns 872. The smart memory tester controller 840 may also encode or encrypt the address scramble test information 874 and/or the data scramble test information 876. The product specific test program may also include one or more memory commands 878, which may be transmitted to the cloud by the smart memory tester controller 840. The smart memory tester controller 840 can buffer and sequence, for example, the one or more memory commands 878 and/or the one or more test patterns 872.
  • FIG. 8B is a schematic block diagram 801 of more detailed aspects of the smart memory controller 820 of FIG. 8A according to inventive concepts. Reference is now made to FIGS. 8A and 8B.
  • The smart memory controller 820 can include a transmitter and/or receiver and/or buffer block 810. It will be understood that while transmitter/receiver/buffer 810 is shown as a single block, the smart memory controller 820 can include separate transmitter, receiver, and buffer components. The transmitter 810 can be communicatively coupled to the cloud 835 and can transmit the product ID 862 associated with the memory 715 to the cloud 835 and/or the cloud-based data center 880. The receiver 810 can be communicatively coupled to the cloud 835 and can receive, from the cloud 835 and/or from the cloud-based data center 880, the product specific test program 870 associated with the product ID 862.
  • The transmitter 810 can transmit the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870 to the cloud 835 and/or to the cloud-based data center 880. The receiver 810 can receive the repair solutions 868 from the cloud 835 and/or from the cloud-based data center 880. The smart memory controller 820 can apply the repair solutions 868 to the memory 715.
  • The receiver 810 can receive the one or more test patterns 872, the address scramble test information 874, and/or the data scramble test information 876 from the cloud 835 and/or from the cloud-based data center 880. The smart memory controller 820 may further include a test pattern and address/data decoder 806, which can be coupled to the receiver 810. The test pattern decoder 806 can decode the one or more test patterns 872, for example, and the associated address and data scramble information. Address and data scramble decodes a logical address into a corresponding physical bit location. For example, it allows opposite data to be written in adjacent bits to stress the cell-to-cell leakage, or read and write one data state in a sea of opposite data states in a specific order. The smart memory controller 820 may also include a test code decoder 808, which can be coupled to the receiver 810. The test code decoder 806 can decode, for example, the one or more memory commands 878, the address scramble test information 874 and/or the data scramble test information 876.
  • The receiver 810 can receive the one or more memory commands 878 from the cloud 835 and/or from the cloud-based data center 880. The smart memory controller 820 may further include a command, address, and/or data sequencer 802. The sequencer 802 may include or be associated with an I/O buffer 804. The sequencer 802 can sequence and buffer (e.g., in the buffer 804) the one or more memory commands 878, the one or more test patterns 872, and the address and scramble test information. The data can be read from the memory 715 or written to the memory 715 responsive to the decoded one or more memory commands 878 and/or based on the decoded one or more test patterns 872 and scramble information.
  • In addition, the sequencer 802 can sequence and buffer the address scramble test information 874 and/or the data scramble test information 876. The smart memory controller 820 can read from the memory 715 or write to the memory 715 based on the decoded address scramble test information 874 and/or the decoded data scramble test information 876.
  • The I/O buffer 804 may receive and buffer results and/or status information regarding the reads and/or write operations from the memory 715. The results and/or status information can be stored in results and status registers 807. The smart memory controller 820 can further include a results and status encoder 809, which can receive the results and/or status information from the register 807, and encode the results and/or status information. The transmitter 810 can transmit the results and/or status information to the cloud 835 and/or to the cloud-based data center 880.
  • FIG. 8C is a schematic block diagram 803 of additional details of the smart tester controller of FIG. 8A according to inventive concepts. Reference is now made to FIGS. 8A, 8B, and 8C.
  • The smart memory tester controller 840 can include a transmitter and/or receiver and/or buffer block 850 communicatively coupled to the cloud 835 and/or to the cloud-based data center 880. It will be understood that while the transmitter/receiver/buffer 850 is shown as a single block, the smart memory tester controller 840 can include separate transmitter, receiver, and buffer components. The receiver 850 can receive, from the cloud 835 and/or from the cloud-based data center 880, the product specific test program 870 associated with the product ID 862 of the remote memory 715. The smart memory tester controller 840 can test the remote memory 715 via the cloud 835 in accordance with the product specific test program 870, using the transmitter and/or receiver 850.
  • In some embodiments, the cloud-based data center 880 can select the product specific test program 870 based on the stored product ID 862. It will be understood that an authorized person, such as a field application engineer, a test engineer, a design engineer, or the like, can also access the information stored in the cloud-based data center 880 from any Internet access point at any time, select the product specific test program 870, and/or cause the product specific test program 870 to be sent to the smart tester controller 840 or to the smart memory controller 820.
  • The cloud 835 and/or the cloud-based data center 880 can receive test results 864, diagnostic information 866, product history 882, product specification 884, customer feedback 886, and the like, associated with the product specific test program 870. It will be understood that an authorized person, such as the field application engineer, the test engineer, the design engineer, or the like, can also access such information from the cloud-based data center 880 from any Internet access point at any time.
  • In some embodiments, the receiver 850 of the smart memory tester controller 840 can receive, from the cloud 835 and/or from the cloud-based data center 880, the test results 864, the diagnostic information 866, the product history 882, the product specification 884, the customer feedback 886, and the like, associated with the product specific test program 870. Such information can be used by the smart memory tester controller 840 to adjust a given product specific test, or create new tests based on the received information.
  • As mentioned above, the product specific test program 870 can include one or more test patterns 872, address scramble test information 874, and/or data scramble test information 876. The transmitter 850 of the smart memory tester controller 840 can transmit the one or more test patterns 872, the address scramble test information 874, and/or the data scramble test information 876 to the cloud 835 and/or to the cloud-based data center 880. The cloud-based data center 880 can receive the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870. The receiver 850 of the smart memory tester 840 can receive, from the cloud 835 and/or from the cloud-based data center 880 (or directly from the smart memory controller 820), the test results 864 and/or the diagnostic information 866 associated with the product specific test program 870.
  • The smart tester controller 840 can include a result and status decoder 813, which may decode the test results 864, the diagnostic information 866, and/or other status information. The smart tester 840 can also include results and diagnostic registers 811, which may receive the decoded information from the results and status decoder 813, and store such information in the registers. The results, diagnostics, and/or status information can be received by the tester 890 via the I/O buffer 844.
  • The smart memory tester controller 840 can further include a command, address, and/or data generator 842. The generator 842 may be coupled to or otherwise associated with a buffer 844. The generator 842 can generate, for example, the one or more memory commands 878 and/or the one or more test patterns 872. The smart memory tester controller 840 can further include a test pattern and address/data scramble encoder 856, which may be coupled to the transmitter 850 and configured to encode the one or more test patterns 872, for example, and the associated address and data scramble information. The smart memory tester 840 may also include a test code encoder 854, which may be coupled to the transmitter 850 and configured to encode the address scramble test information 874 and/or the data scramble test information 876. The product specific test program 870 may also include one or more memory commands 878, generated by the generator 842, which may encoded by the test code encoder 854, and which may be transmitted to the cloud 835 by the transmitter 850 of the smart memory tester controller 840.
  • Although certain components are shown arranged in the smart memory controller 820 and the smart memory tester controller 840, it will be understood that various other components may be present and attached to other components, or disposed between the illustrated components, and need not be arranged in the specific order shown.
  • FIG. 9 is a schematic block diagram a system 900 in which multiple components and entities are in communication with a smart memory system (e.g., 702), a cloud-based data center (e.g., 880), and/or a remote smart memory tester controller (e.g., 840), in accordance with inventive concepts. Some of the components included in system 900 are discussed above and a detail description of such components will not be repeated for the sake of brevity.
  • The remote smart memory tester controller 840 may be included in or otherwise associated with a memory test fixture 890, which can be automated test equipment (ATE) or any other suitable memory testing device. The smart memory tester controller 840 may be communicatively coupled to a secure site or secure gateway device 915 via a secure firewall 910. The secure gateway device 915 may be communicatively coupled to the cloud 835.
  • The cloud-based data center 880 may be coupled to or otherwise associated with the cloud 835 and may receive, store, and transmit information pertaining to memory located in devices that are attached to the cloud 835, as described above.
  • Other devices and entities may be communicatively coupled to the cloud 835. For example, a camera 910 may include the smart memory 702, and may be coupled to the cloud 835 via the transmitter/receiver 810 of the smart memory controller 720, which may be embedded in the camera 910. Any one or more of the devices and entities shown in system 900 may include its own smart memory controller 720 and associated memory.
  • By way of further examples, a computer server 965, a personal computer 940, a tablet device 945, a laptop computer 925, a personal digital assistant 950, a telephone 955, a network device 960, and the like, can each include a smart memory controller 720 and associated memory, and may each be communicatively coupled to the cloud 835.
  • An engineer (e.g., 930), application field personnel (e.g., 935), and/or other authorized personnel may access information stored in the cloud-based data center 880 via the cloud 835. Such personnel may also use such information to cause product specific test programs to be operated on the various memories in the various devices. Such personnel can also gather test results and other usage information and analyze such information for a single device or many devices in aggregate form.
  • A test site (e.g., main test facility, local area automatic diagnostic test site, and the like) or individuals (e.g., local application engineer, test engineer, design engineer, and the like) can securely receive and transmit information to perform diagnostics (e.g., test patterns, memory commands, and the like) and repair solutions. The cloud-based datacenter 880 can contain the product identification and other product specific information. The product ID (discussed above) can be used to identify the product in the field and allow the proper test program to be downloaded to the remote tester 905.
  • Test results cab be uploaded to the cloud-based datacenter 880. The test results can be retrieved by the test engineer or other personnel at the manufacturer test site, by the application engineer, or by the customer. The data is available 24/7 from anywhere in the world.
  • FIG. 10 is a flow chart 1000 illustrating a technique for securely and remotely testing a memory device, in accordance with inventive concepts. The technique begins at 1005, where a smart memory controller securely transmits, to the cloud, a product ID associated with a memory. At 1010, an entity that is remote from the memory (e.g., such as a cloud-based data center, a remote test fixture or controller, or the like) securely receives, from the cloud, the product ID associated with the memory. The flow proceeds to 1015, where a product specific test program associated with the product ID of the memory is securely transmitted to the cloud. At 1020, the smart memory controller securely receives, from the cloud, the product specific test program associated with the product ID of the memory. The information may be securely transmitted and received by encoding the information, encrypting the information, using secure communication channels, and the like.
  • FIG. 11 is a flow chart 1100 illustrating a technique for securely and remotely storing information regarding memory tests and providing access to such information, in accordance with inventive concepts. The technique begins at 1105, where one or more smart memory controllers securely transmits to a cloud-based data center product IDs associated with various memories, which may be embedded in devices around the world. At 1110, the cloud-based data center stores the product IDs associated with the memories. The flow proceeds to 1115, where the cloud-based data center stores test results and/or diagnostic information associated with a test that is performed on corresponding memories. At 1120, the test results and/or the diagnostic information may be provided to authorized personnel from any Internet access point and at any suitable time.
  • FIG. 12 is a flow chart 1200 illustrating a technique for remotely testing and repairing a memory device in accordance with inventive concepts. The technique begins at 1205, where a memory is remotely tested via the cloud. At 1210, test results and/or diagnostic information associated with the remote test of the memory can be stored in the cloud-based data center. The flow proceeds to 1215, where a determination is made whether or not the test has completed. If NO, the flow returns to 1205 for further processing and testing. Otherwise, if YES, meaning the testing is complete, the flow proceeds to 1220, where one or more repair solutions is determined based on the test results and/or the diagnostic information. The determination can be made automatically by the cloud-based data center, or otherwise made by an engineer or the like, after analyzing the test results.
  • The flow proceeds to 1225, where the repair solutions are securely transmitted to the cloud. At 1230, the repair solutions are securely received, by the smart memory controller, from the cloud. The flow proceeds to either 1235 or 1240. If path 1235 is taken, the smart memory controller can apply the repair solutions to the memory so that the memory is repaired in an effective and optimal way, and according to specific usage patterns or environment. In another inventive aspect, instead of repairing the memory (e.g., where the memory is no longer repairable), the bad memory location can be identified and tagged at 1240 so that the user (e.g., a processor, micro-controller, or the like) may avoid the bad address location or otherwise re-map the bad address to another good address.
  • It should be understood that the determinations in the flow diagrams herein need not occur in the specific order as described, but rather, these determinations can be made at different times. It will also be understood that the steps described in these techniques need not necessarily occur in the order as illustrated or described.
  • It should be noted that the inventive concepts are not limited by any of the specific embodiments described in the foregoing summary, and that numerous other aspects and embodiments utilizing the present inventive concepts will be readily understood by those of ordinary skill in the art from the disclosures provided herein. As discussed in detail herein, for example, a smart memory system according to principles of this invention may be configured to permit on-chip testing even after implementation in an end-user device by allowing external automated test equipment (ATE) direct access to the system memory. The ATE can be enabled to schedule and perform a test pattern to test the system memory remotely through the device's secure cloud connection. A remotely located application engineer can further be provided with access to the device's memory to provide real-time error diagnosis and memory repair.
  • Remote system enhancement and recovery via a secure cloud connection can enhance the value of the smart memory device by allowing greater memory diagnostic and repair capabilities than could be provided within the device itself. The smart memory system, when implemented in an internet-connectable device, can be provided with tools that permit the memory system to be accessed and optimized anytime and anywhere the device has cloud access. For instance, remote testing equipment can be accessed and utilized by the device based on user-initiated or automatically generated test requests. The smart memory system can further facilitate real-time diagnosis and repair by a remotely-located application engineer. In each instance, repair analysis and repair capabilities beyond that which could be implemented within the device itself are made possible. Details of these and other embodiments are included in the detailed description and the accompanying drawings.
  • The following discussion is intended to provide a brief, general description of a suitable machine or machines in which certain aspects of the inventive concept can be implemented. Typically, the machine or machines include a system bus to which is attached processors, memory, e.g., random access memory (RAM), read-only memory (ROM), or other state preserving medium, storage devices, a video interface, and input/output interface ports. The machine or machines can be controlled, at least in part, by input from conventional input devices, such as keyboards, mice, etc., as well as by directives received from another machine, interaction with a virtual reality (VR) environment, biometric feedback, or other input signal. As used herein, the term “machine” is intended to broadly encompass a single machine, a virtual machine, or a system of communicatively coupled machines, virtual machines, or devices operating together. Exemplary machines include computing devices such as personal computers, workstations, servers, portable computers, handheld devices, telephones, tablets, etc., as well as transportation devices, such as private or public transportation, e.g., automobiles, trains, cabs, etc.
  • The machine or machines can include embedded controllers, such as programmable or non-programmable logic devices or arrays, Application Specific Integrated Circuits (ASICs), embedded computers, smart cards, and the like. The machine or machines can utilize one or more connections to one or more remote machines, such as through a network interface, modem, or other communicative coupling. Machines can be interconnected by way of a physical and/or logical network, such as an intranet, the Internet, local area networks, wide area networks, etc. One skilled in the art will appreciated that network communication can utilize various wired and/or wireless short range or long range carriers and protocols, including radio frequency (RF), satellite, microwave, Institute of Electrical and Electronics Engineers (IEEE) 545.11, Bluetooth®, optical, infrared, cable, laser, etc.
  • Embodiments of the inventive concept can be described by reference to or in conjunction with associated data including functions, procedures, data structures, application programs, etc. which when accessed by a machine results in the machine performing tasks or defining abstract data types or low-level hardware contexts. Associated data can be stored in, for example, the volatile and/or non-volatile memory, e.g., RAM, ROM, etc., or in other storage devices and their associated storage media, including hard-drives, floppy-disks, optical storage, tapes, flash memory, memory sticks, digital video disks, biological storage, etc. Associated data can be delivered over transmission environments, including the physical and/or logical network, in the form of packets, serial data, parallel data, propagated signals, etc., and can be used in a compressed or encrypted format. Associated data can be used in a distributed environment, and stored locally and/or remotely for machine access. Embodiments of the inventive concept may include a non-transitory machine-readable medium comprising instructions executable by one or more processors, the instructions comprising instructions to perform the elements of the inventive concept as described herein.
  • The foregoing illustrative embodiments are not to be construed as limiting the invention thereof. Although a few embodiments have been described, those skilled in the art will readily appreciate that many modifications are possible to those embodiments without materially departing from the novel teachings and advantages of the present disclosure. Accordingly, all such modifications are intended to be included within the scope of this inventive concept as defined in the claims.

Claims (24)

What is claimed is:
1. A memory system, comprising:
a memory;
a smart memory controller coupled to the memory, the smart memory controller including a transmitter communicatively coupled to a cloud, the transmitter being configured to transmit a product identification associated with the memory to the cloud; and
the smart memory controller further including a receiver communicatively coupled to the cloud and configured to receive, from the cloud, a product specific test program associated with the product identification of the memory.
2. The memory system of claim 1, wherein:
the smart memory controller is configured to run the product specific test program on the memory; and
the transmitter is configured to transmit test results and diagnostic information associated with the product specific test program to the cloud.
3. The memory system of claim 2, wherein:
the receiver is configured to receive repair solutions from the cloud; and
the smart memory controller is configured to apply the repair solutions to the memory.
4. The memory system of claim 2, wherein:
the smart memory controller is configured to determine repair solutions based on the test results and the diagnostic information, and to apply the repair solutions to the memory.
5. The memory system of claim 1, wherein:
the product specific test program includes one or more test patterns, address scramble test information, and data scramble test information; and
the receiver is configured to receive the one or more test patterns, the address scramble test information, and the data scramble test information from the cloud.
6. The memory system of claim 5, wherein the smart memory controller further comprises:
a test pattern decoder coupled to the receiver and configured to decode the one or more test patterns; and
a test code decoder coupled to the receiver and configured to decode the address scramble test information and the data scramble test information.
7. The memory system of claim 6, wherein:
the product specific test program includes one or more memory commands; and
the receiver is configured to receive the one or more memory commands from the cloud.
8. The memory system of claim 7, wherein the smart memory controller further comprises a sequencer, wherein:
the test code decoder is configured to decode the one or more memory commands;
the sequencer is configured to buffer and sequence the one or more memory commands and the one or more test patterns; and
the smart memory controller is configured to read from the memory or write to the memory responsive to the decoded one or more memory commands and based on the decoded one or more test patterns.
9. The memory system of claim 8, wherein:
the sequencer is configured to buffer and sequence the address scramble test information and the data scramble test information; and
the smart memory controller is configured to read from the memory or write to the memory based on the decoded address scramble test information and the decoded data scramble test information.
10. A memory system, comprising:
a cloud-based data center associated with a cloud and configured to receive a product identification associated with a remote memory;
a smart memory tester including a receiver communicatively coupled to the cloud-based data center, the receiver being configured to receive, from the cloud-based data center, a product specific test program associated with the product identification of the remote memory; and
the smart memory tester further including a transmitter communicatively coupled to the cloud and configured to test the remote memory via the cloud in accordance with the product specific test program.
11. The memory system of claim 10, wherein:
the cloud-based data center is configured to select the product specific test program based on the product identification;
the cloud-based data center is configured to receive test results and diagnostic information associated with the product specific test program; and
the receiver of the smart memory tester is configured to receive, from the cloud, the test results and the diagnostic information associated with the product specific test program.
12. The memory system of claim 11, wherein:
the cloud-based data center is configured to store the test results, the diagnostic information, and the product identification associated with the remote memory, so that the test results and the diagnostic information are accessible to authorized personnel from any Internet access point and time.
13. The memory system of claim 12, wherein:
the cloud-based data center is configured to determine repair solutions based on the test results and the diagnostic information; and
the cloud-based data center is configured to transmit, to the remote memory, the repair solutions.
14. The memory system of claim 10, wherein:
the product specific test program includes one or more test patterns, address scramble test information, and data scramble test information; and
the transmitter of the smart memory tester is configured to transmit the one or more test patterns, the address scramble test information, and the data scramble test information to the cloud.
15. The memory system of claim 14, wherein the smart memory tester further comprises:
a test pattern encoder coupled to the transmitter and configured to encode the one or more test patterns; and
a test code encoder coupled to the transmitter and configured to encode the address scramble test information and the data scramble test information.
16. The memory system of claim 15, wherein:
the product specific test program includes one or more memory commands; and
the transmitter of the smart memory tester is configured to transmit the one or more memory commands to the cloud.
17. The memory system of claim 16, wherein the smart memory tester further comprises a generator, wherein:
the test code encoder is configured to encode the one or more memory commands; and
the generator is configured to generate the one or more memory commands and the one or more test patterns.
18. A memory system, comprising:
a memory;
a smart memory controller coupled to the memory, the smart memory controller including a transmitter communicatively coupled to a cloud, the transmitter being configured to transmit a product identification associated with the memory to the cloud;
a cloud-based data center associated with the cloud and configured to receive the product identification associated with the memory;
a smart memory tester including a receiver communicatively coupled to the cloud-based data center and configured receive the product specific test program from the cloud-based data center; and
the smart memory tester further including a transmitter communicatively coupled to the cloud and configured to remotely test the memory via the cloud in accordance with the product specific test program.
19. The memory system of claim 18, wherein:
the smart memory controller further includes a receiver communicatively coupled to the cloud and configured to receive, from the cloud, the product specific test program associated with the product identification of the memory, and to run the product specific test program on the memory;
the transmitter of the smart memory controller is configured to transmit test results and diagnostic information associated with the product specific test program to the cloud; and
the cloud-based data center is configured to receive the test results and the diagnostic information associated with the product specific test program.
20. The memory system of claim 19, wherein:
the cloud-based data center is configured to store the test results, the diagnostic information, and the product identification associated with the memory, so that the test results and the diagnostic information are accessible to authorized personnel from any Internet access point and time.
21. The memory system of claim 19, wherein:
the cloud-based data center is configured to determine repair solutions based on the test results and the diagnostic information;
the cloud-based data center is configured to transmit, to the memory, the repair solutions;
the receiver of the smart memory controller is configured to receive the repair solutions from the cloud; and
the smart memory controller is configured to apply the repair solutions to the memory.
22. A method for performing remote memory diagnostic and operation procedures, the method comprising:
securely transmitting to a cloud, by a smart memory controller, a product identification associated with a memory;
securely receiving from the cloud, by an entity that is remote from the memory, the product identification associated with the memory;
securely transmitting to the cloud, by the remote entity, a product specific test program associated with the product identification of the memory; and
securely receiving from the cloud, by the smart memory controller, the product specific test program associated with the product identification of the memory.
23. The method of claim 22, wherein the remote entity includes a cloud-based data center, the method further comprising:
storing, in the cloud-based data center, the test results, the diagnostic information, and the product identification associated with the memory; and
providing the test results and the diagnostic information to authorized personnel from any Internet access point and time.
24. The method of claim of claim 22, further comprising:
determining repair solutions, by the remote entity, based on the test results and the diagnostic information;
securely transmitting to the cloud, by the remote entity, the repair solutions;
securely receiving, by the smart memory controller, the repair solutions from the cloud; and
applying the repair solutions to the memory.
US13/719,213 2012-02-11 2012-12-18 Architecture and method for remote memory system diagnostic and optimization Abandoned US20130212207A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/719,213 US20130212207A1 (en) 2012-02-11 2012-12-18 Architecture and method for remote memory system diagnostic and optimization
KR1020130013574A KR20130093026A (en) 2012-02-11 2013-02-06 Architecture and method for remote memory system diagnostic and optimization
JP2013023050A JP2013168145A (en) 2012-02-11 2013-02-08 Structure and method for remotely diagnosing and optimizing memory system
CN201310051106XA CN103258574A (en) 2012-02-11 2013-02-16 Architecture and method for remote memory system diagnostic and optimization

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261597773P 2012-02-11 2012-02-11
US13/719,213 US20130212207A1 (en) 2012-02-11 2012-12-18 Architecture and method for remote memory system diagnostic and optimization

Publications (1)

Publication Number Publication Date
US20130212207A1 true US20130212207A1 (en) 2013-08-15

Family

ID=48946578

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/691,639 Active 2033-06-20 US9069719B2 (en) 2012-02-11 2012-11-30 Method and system for providing a smart memory architecture
US13/719,213 Abandoned US20130212207A1 (en) 2012-02-11 2012-12-18 Architecture and method for remote memory system diagnostic and optimization

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/691,639 Active 2033-06-20 US9069719B2 (en) 2012-02-11 2012-11-30 Method and system for providing a smart memory architecture

Country Status (4)

Country Link
US (2) US9069719B2 (en)
JP (2) JP2013168145A (en)
KR (2) KR102060835B1 (en)
CN (1) CN103258574A (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326112A1 (en) * 2012-05-31 2013-12-05 Young-Jin Park Computer system having non-volatile memory and method of operating the computer system
US20140244896A1 (en) * 2013-02-26 2014-08-28 Seagate Technology Llc Data Update Management in a Cloud Computing Environment
US20140289560A1 (en) * 2013-03-19 2014-09-25 Fujitsu Limited Apparatus and method for specifying a failure part in a communication network
US20160044520A1 (en) * 2014-08-11 2016-02-11 Verizon Patent And Licensing Inc. Mobile automation test platform
US20170082687A1 (en) * 2015-09-23 2017-03-23 Roland W. Klinger De-bugging environment with smart card
US20170133106A1 (en) * 2015-11-09 2017-05-11 Texas Instruments Incorporated Background memory test apparatus and methods
US20170180239A1 (en) * 2015-12-16 2017-06-22 Fluke Corporation System and method for secure communications between a computer test tool and a cloud-based server
US9754664B2 (en) 2014-03-20 2017-09-05 Kabushiki Kaisha Toshiba Semiconductor memory
US9965005B2 (en) 2016-02-26 2018-05-08 Samsung Electronics Co., Ltd. Memory diagnosis system
US10082955B2 (en) 2015-12-03 2018-09-25 International Business Machines Corporation Automated home memory cloud with key authenticator
US20180307577A1 (en) * 2017-04-20 2018-10-25 The Boeing Company Bus Data Monitor
US20180314613A1 (en) * 2017-04-28 2018-11-01 Advantest Corporation User control of automated test features with software application programming interface (api)
CN109324932A (en) * 2017-07-31 2019-02-12 三星电子株式会社 Data-storage system, date storage method and the method for manufacturing solid state drive
US10361945B2 (en) 2015-10-08 2019-07-23 Fluke Corporation System and method to reconcile cabling test results with cabling test configurations
US10367713B2 (en) 2015-10-15 2019-07-30 Fluke Corporation Cloud based system and method for managing testing configurations for cable test devices
US10467174B2 (en) 2017-04-20 2019-11-05 The Boeing Company System and method of monitoring data traffic on a MIL-STD-1553 data bus
US10685125B2 (en) 2017-04-20 2020-06-16 The Boeing Company Multiple security level monitor for monitoring a plurality of MIL-STD-1553 buses with multiple independent levels of security
CN112540867A (en) * 2019-09-20 2021-03-23 三星电子株式会社 Memory module and error correction method of memory controller
US11373726B2 (en) * 2019-04-03 2022-06-28 Texas Instruments Incorporated Management of multiple memory in-field self-repair options

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130139066A (en) * 2012-06-12 2013-12-20 삼성전자주식회사 Magnetic resistance memory device including a source line voltage generator
TW201417102A (en) * 2012-10-23 2014-05-01 Ind Tech Res Inst Resistive random-access memory devices
US8879302B2 (en) * 2013-02-26 2014-11-04 Seagate Technology Llc Management of variable resistance data storage device
US9304902B2 (en) 2013-03-15 2016-04-05 Saratoga Speed, Inc. Network storage system using flash storage
US9286225B2 (en) 2013-03-15 2016-03-15 Saratoga Speed, Inc. Flash-based storage system including reconfigurable circuitry
CN104424064A (en) * 2013-09-10 2015-03-18 上海机电工程研究所 Diagnostic test method, diagnostic device and diagnostic system
US9116702B2 (en) * 2013-11-21 2015-08-25 International Business Machines Corporation Computer memory power management
US9454422B2 (en) 2014-01-30 2016-09-27 International Business Machines Corporation Error feedback and logging with memory on-chip error checking and correcting (ECC)
US9672180B1 (en) 2014-08-06 2017-06-06 Sanmina Corporation Cache memory management system and method
US9384147B1 (en) 2014-08-13 2016-07-05 Saratoga Speed, Inc. System and method for cache entry aging
US9715428B1 (en) 2014-09-24 2017-07-25 Sanmina Corporation System and method for cache data recovery
US9632867B2 (en) * 2014-12-08 2017-04-25 Cypress Semiconductor Corporation Methods, circuits, devices, systems and machine executable code for reading from a non-volatile memory array
US9959939B2 (en) * 2014-12-23 2018-05-01 Intel Corporation Granular cache repair
US10020031B2 (en) * 2015-05-21 2018-07-10 Arm Limited Location-based optimization for memory systems
US10147500B2 (en) * 2015-05-22 2018-12-04 SK Hynix Inc. Hybrid read disturb count management
CN105159598B (en) * 2015-06-30 2018-11-20 广州市邦沃电子科技有限公司 A method of it is read in arbitrary equipment and uses total time
US10303536B2 (en) * 2015-10-28 2019-05-28 Via Technologies, Inc. Non-volatile memory device and control method thereof
US10901939B2 (en) * 2015-10-30 2021-01-26 International Business Machines Corporation Computer architecture with resistive processing units
US9928924B2 (en) * 2015-12-15 2018-03-27 Qualcomm Incorporated Systems, methods, and computer programs for resolving dram defects
US9916195B2 (en) * 2016-01-12 2018-03-13 International Business Machines Corporation Performing a repair operation in arrays
US9767878B1 (en) * 2016-03-25 2017-09-19 Taiwan Semiconductor Manufacturing Compant Ltd. Semiconductor memory device and method for controlling the same
CN107341129B (en) * 2016-04-29 2021-06-29 上海磁宇信息科技有限公司 Cell array computing system and testing method thereof
US11119910B2 (en) * 2016-09-27 2021-09-14 Spin Memory, Inc. Heuristics for selecting subsegments for entry in and entry out operations in an error cache system with coarse and fine grain segments
US10283212B2 (en) 2016-11-29 2019-05-07 International Business Machines Corporation Built-in self-test for embedded spin-transfer torque magnetic random access memory
JP2018156978A (en) 2017-03-15 2018-10-04 東芝メモリ株式会社 Screening method of magnetic storage device, screening device thereof, and manufacturing method of magnetic storage device
JP2019050070A (en) 2017-09-08 2019-03-28 東芝メモリ株式会社 Semiconductor memory device
KR20190046491A (en) 2017-10-26 2019-05-07 삼성전자주식회사 Semiconductor memory, memory system including semiconductor memory, and operating method of semiconductor memory
US10937495B2 (en) * 2019-07-02 2021-03-02 Winbond Electronics Corp. Resistive memory apparatus and method for writing data thereof
CN110908599B (en) * 2019-09-27 2021-02-02 珠海博雅科技有限公司 Data writing method and system
CN116368470A (en) * 2020-11-04 2023-06-30 阿里巴巴集团控股有限公司 Error detection, prediction, and processing techniques for in-system packaged storage architecture
US11621963B2 (en) 2021-05-27 2023-04-04 Western Digital Technologies, Inc. Fleet health management corrective action communication exchange
US11520661B1 (en) 2021-07-12 2022-12-06 Apple Inc. Scheduling of data refresh in a memory based on decoding latencies

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644704A (en) * 1994-11-30 1997-07-01 International Game Technology Method and apparatus for verifying the contents of a storage device
US5682472A (en) * 1995-03-17 1997-10-28 Aehr Test Systems Method and system for testing memory programming devices
US6480972B1 (en) * 1999-02-24 2002-11-12 International Business Machines Corporation Data processing system and method for permitting a server to remotely perform diagnostics on a malfunctioning client computer system
US6694204B1 (en) * 2002-09-10 2004-02-17 Gsle Development Corporation Method and apparatus for accessing and executing internal diagnostic tests stored on a piece of equipment
US20040049508A1 (en) * 2002-09-10 2004-03-11 Bair Richard H. Method and apparatus for storing and retrieving data stored within a piece of equipment
US20050107976A1 (en) * 2004-06-23 2005-05-19 Klijn Aaron C. Programmable system for device testing and control
US7139204B1 (en) * 2004-06-07 2006-11-21 Virage Logic Corporation Method and system for testing a dual-port memory at speed in a stressed environment
US20080040812A1 (en) * 2004-12-20 2008-02-14 Oberthur Card Systems Sa Method and Device for Security Loading a Memory and an Associated Memory
US20080086589A1 (en) * 2006-10-04 2008-04-10 Masayuki Urabe Flash Memory Control Interface
US7365557B1 (en) * 2001-09-28 2008-04-29 Inapac Technology, Inc. Integrated circuit testing module including data generator
US20090037496A1 (en) * 2007-08-01 2009-02-05 Chong Benedict T Diagnostic Virtual Appliance
US20090271066A1 (en) * 2008-04-23 2009-10-29 Underdal Olav M Diagnostic data mining
US7664993B2 (en) * 2007-02-27 2010-02-16 Microsoft Corporation Automation of testing in remote sessions
US20100180169A1 (en) * 2009-01-15 2010-07-15 La Fever George B Systems and methods of implementing remote boundary scan features
US20100330978A1 (en) * 2007-07-25 2010-12-30 Nxp B.V. Method, server and mobile communication device for managing unique memory device identifications
US20110185424A1 (en) * 2010-01-27 2011-07-28 Mcafee, Inc. System and method for proactive detection and repair of malware memory infection via a remote memory reputation system
US20110258504A1 (en) * 2010-04-20 2011-10-20 Mentor Graphics Corporation Test access mechanism for diagnosis based on partitioining scan chains
US8208326B1 (en) * 2009-06-09 2012-06-26 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for memory test

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01273300A (en) * 1988-04-25 1989-11-01 Ricoh Co Ltd Storage device with redundant memory
JPH01283654A (en) * 1988-05-11 1989-11-15 Nec Corp Error detecting device
JP2853555B2 (en) * 1994-03-10 1999-02-03 日本電気株式会社 Storage controller
JP3145946B2 (en) * 1997-03-13 2001-03-12 静岡日本電気株式会社 Remote inspection method
US6026503A (en) * 1997-08-12 2000-02-15 Telrad Communication And Electronic Industries Ltd. Device and method for debugging systems controlled by microprocessors
US6138249A (en) 1997-12-11 2000-10-24 Emc Corporation Method and apparatus for monitoring computer systems during manufacturing, testing and in the field
US6584589B1 (en) 2000-02-04 2003-06-24 Hewlett-Packard Development Company, L.P. Self-testing of magneto-resistive memory arrays
US6754866B1 (en) 2001-09-28 2004-06-22 Inapac Technology, Inc. Testing of integrated circuit devices
US6904389B2 (en) 2001-03-06 2005-06-07 Hewlett-Packard Development Company, L.P. Remote computer testing
US6760865B2 (en) 2001-05-16 2004-07-06 Freescale Semiconductor, Inc. Multiple level built-in self-test controller and method therefor
US6657914B1 (en) 2001-07-19 2003-12-02 Inapac Technology, Inc. Configurable addressing for multiple chips in a package
JP4080227B2 (en) * 2002-03-28 2008-04-23 株式会社日立製作所 Data verification method and disk array device
JP2004054630A (en) * 2002-07-19 2004-02-19 Pc Depot Corp Terminal checking device and method, and program
JP4129381B2 (en) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ Nonvolatile semiconductor memory device
US7673193B1 (en) 2005-08-18 2010-03-02 Rambus Inc. Processor-memory unit for use in system-in-package and system-in-module devices
US7466160B2 (en) 2002-11-27 2008-12-16 Inapac Technology, Inc. Shared memory bus architecture for system with processor and memory units
JP4795936B2 (en) * 2003-03-20 2011-10-19 クゥアルコム・インコーポレイテッド Self-diagnostic (BIST) architecture with distributed instruction decoding and generalized instruction protocol
JP3866701B2 (en) 2003-08-25 2007-01-10 株式会社東芝 Magnetic random access memory and test method thereof
US20050257095A1 (en) * 2004-04-21 2005-11-17 Gateway, Inc. Apparatus and method for detecting and indicating faults on a motherboard
WO2006001260A1 (en) * 2004-06-24 2006-01-05 Matsushita Electric Industrial Co., Ltd. Function management device
US7356744B2 (en) * 2005-05-12 2008-04-08 Pc-Doctor, Inc. Method and system for optimizing testing of memory stores
US7779311B2 (en) 2005-10-24 2010-08-17 Rambus Inc. Testing and recovery in a multilayer device
CN101529518B (en) * 2005-11-01 2013-10-30 晟碟以色列有限公司 Method, system and computer-readable code for testing of flash memory
JP2007334813A (en) * 2006-06-19 2007-12-27 Nec Electronics Corp Memory control circuit and data rewriting method
US7466603B2 (en) 2006-10-03 2008-12-16 Inapac Technology, Inc. Memory accessing circuit system
JP4349532B2 (en) * 2007-04-11 2009-10-21 エヌイーシーコンピュータテクノ株式会社 MEMORY CONTROL DEVICE, MEMORY CONTROL METHOD, INFORMATION PROCESSING SYSTEM, PROGRAM THEREOF, AND STORAGE MEDIUM
JP2008269669A (en) * 2007-04-17 2008-11-06 Renesas Technology Corp Semiconductor device and data processing system
US7971124B2 (en) * 2007-06-01 2011-06-28 International Business Machines Corporation Apparatus and method for distinguishing single bit errors in memory modules
US7818638B2 (en) 2007-06-15 2010-10-19 Micron Technology, Inc. Systems and devices including memory with built-in self test and methods of making and using the same
US7768847B2 (en) 2008-04-09 2010-08-03 Rambus Inc. Programmable memory repair scheme
JP2011008850A (en) * 2009-06-24 2011-01-13 Sony Corp Memory and method of processing information
US8456926B2 (en) * 2010-11-18 2013-06-04 Grandis, Inc. Memory write error correction circuit

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644704A (en) * 1994-11-30 1997-07-01 International Game Technology Method and apparatus for verifying the contents of a storage device
US5682472A (en) * 1995-03-17 1997-10-28 Aehr Test Systems Method and system for testing memory programming devices
US6480972B1 (en) * 1999-02-24 2002-11-12 International Business Machines Corporation Data processing system and method for permitting a server to remotely perform diagnostics on a malfunctioning client computer system
US7365557B1 (en) * 2001-09-28 2008-04-29 Inapac Technology, Inc. Integrated circuit testing module including data generator
US6694204B1 (en) * 2002-09-10 2004-02-17 Gsle Development Corporation Method and apparatus for accessing and executing internal diagnostic tests stored on a piece of equipment
US20040049508A1 (en) * 2002-09-10 2004-03-11 Bair Richard H. Method and apparatus for storing and retrieving data stored within a piece of equipment
US7139204B1 (en) * 2004-06-07 2006-11-21 Virage Logic Corporation Method and system for testing a dual-port memory at speed in a stressed environment
US20050107976A1 (en) * 2004-06-23 2005-05-19 Klijn Aaron C. Programmable system for device testing and control
US20080040812A1 (en) * 2004-12-20 2008-02-14 Oberthur Card Systems Sa Method and Device for Security Loading a Memory and an Associated Memory
US20080086589A1 (en) * 2006-10-04 2008-04-10 Masayuki Urabe Flash Memory Control Interface
US7664993B2 (en) * 2007-02-27 2010-02-16 Microsoft Corporation Automation of testing in remote sessions
US20100330978A1 (en) * 2007-07-25 2010-12-30 Nxp B.V. Method, server and mobile communication device for managing unique memory device identifications
US20090037496A1 (en) * 2007-08-01 2009-02-05 Chong Benedict T Diagnostic Virtual Appliance
US20090271066A1 (en) * 2008-04-23 2009-10-29 Underdal Olav M Diagnostic data mining
US20100180169A1 (en) * 2009-01-15 2010-07-15 La Fever George B Systems and methods of implementing remote boundary scan features
US8208326B1 (en) * 2009-06-09 2012-06-26 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for memory test
US20110185424A1 (en) * 2010-01-27 2011-07-28 Mcafee, Inc. System and method for proactive detection and repair of malware memory infection via a remote memory reputation system
US20110258504A1 (en) * 2010-04-20 2011-10-20 Mentor Graphics Corporation Test access mechanism for diagnosis based on partitioining scan chains

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326112A1 (en) * 2012-05-31 2013-12-05 Young-Jin Park Computer system having non-volatile memory and method of operating the computer system
US20140244896A1 (en) * 2013-02-26 2014-08-28 Seagate Technology Llc Data Update Management in a Cloud Computing Environment
US11687292B2 (en) * 2013-02-26 2023-06-27 Seagate Technology Llc Data update management in a cloud computing environment
US20140289560A1 (en) * 2013-03-19 2014-09-25 Fujitsu Limited Apparatus and method for specifying a failure part in a communication network
US9244789B2 (en) * 2013-03-19 2016-01-26 Fujitsu Limited Apparatus and method for specifying a failure part in a communication network
US9754664B2 (en) 2014-03-20 2017-09-05 Kabushiki Kaisha Toshiba Semiconductor memory
US20160044520A1 (en) * 2014-08-11 2016-02-11 Verizon Patent And Licensing Inc. Mobile automation test platform
US20170082687A1 (en) * 2015-09-23 2017-03-23 Roland W. Klinger De-bugging environment with smart card
US10361945B2 (en) 2015-10-08 2019-07-23 Fluke Corporation System and method to reconcile cabling test results with cabling test configurations
US10367713B2 (en) 2015-10-15 2019-07-30 Fluke Corporation Cloud based system and method for managing testing configurations for cable test devices
US20170133106A1 (en) * 2015-11-09 2017-05-11 Texas Instruments Incorporated Background memory test apparatus and methods
US10062451B2 (en) * 2015-11-09 2018-08-28 Texas Instruments Incorporated Background memory test apparatus and methods
US10101912B2 (en) 2015-12-03 2018-10-16 International Business Machines Corporation Automated home memory cloud with key authenticator
US10082955B2 (en) 2015-12-03 2018-09-25 International Business Machines Corporation Automated home memory cloud with key authenticator
US10097443B2 (en) * 2015-12-16 2018-10-09 Fluke Corporation System and method for secure communications between a computer test tool and a cloud-based server
US20170180239A1 (en) * 2015-12-16 2017-06-22 Fluke Corporation System and method for secure communications between a computer test tool and a cloud-based server
US9965005B2 (en) 2016-02-26 2018-05-08 Samsung Electronics Co., Ltd. Memory diagnosis system
US20180307577A1 (en) * 2017-04-20 2018-10-25 The Boeing Company Bus Data Monitor
US10467174B2 (en) 2017-04-20 2019-11-05 The Boeing Company System and method of monitoring data traffic on a MIL-STD-1553 data bus
US10685125B2 (en) 2017-04-20 2020-06-16 The Boeing Company Multiple security level monitor for monitoring a plurality of MIL-STD-1553 buses with multiple independent levels of security
US10691573B2 (en) * 2017-04-20 2020-06-23 The Boeing Company Bus data monitor
US10592370B2 (en) * 2017-04-28 2020-03-17 Advantest Corporation User control of automated test features with software application programming interface (API)
US20180314613A1 (en) * 2017-04-28 2018-11-01 Advantest Corporation User control of automated test features with software application programming interface (api)
CN109324932A (en) * 2017-07-31 2019-02-12 三星电子株式会社 Data-storage system, date storage method and the method for manufacturing solid state drive
US11373726B2 (en) * 2019-04-03 2022-06-28 Texas Instruments Incorporated Management of multiple memory in-field self-repair options
CN112540867A (en) * 2019-09-20 2021-03-23 三星电子株式会社 Memory module and error correction method of memory controller

Also Published As

Publication number Publication date
CN103258574A (en) 2013-08-21
US9069719B2 (en) 2015-06-30
KR20130093027A (en) 2013-08-21
KR20130093026A (en) 2013-08-21
JP2013164849A (en) 2013-08-22
KR102060835B1 (en) 2019-12-30
US20130212431A1 (en) 2013-08-15
JP6147520B2 (en) 2017-06-14
JP2013168145A (en) 2013-08-29

Similar Documents

Publication Publication Date Title
US20130212207A1 (en) Architecture and method for remote memory system diagnostic and optimization
KR101898885B1 (en) Method and system for providing a smart memory architecture
JP6203905B2 (en) Memory write error correction circuit
US9870293B2 (en) Memory device performing post package repair (PPR) operation
US9037928B2 (en) Memory device with background built-in self-testing and background built-in self-repair
TWI528365B (en) Semiconductor memory device
US20140082453A1 (en) Substitute redundant memory
US8913450B2 (en) Memory cell array with reserved sector for storing configuration information
CN103247347A (en) Method and system for providing smart memory architecture
KR102038036B1 (en) Semiconductor and semiconductor system including the same
WO2014047225A1 (en) Substitute redundant memory
US20170263336A1 (en) Memory and memory device
KR102122880B1 (en) Semiconductor device
US7339843B2 (en) Methods and circuits for programming addresses of failed memory cells in a memory device
US11929136B2 (en) Reference bits test and repair using memory built-in self-test
US9489147B2 (en) Semiconductor device, memory device, and system including the same
US20180090221A1 (en) Boot-up control circuit and semiconductor apparatus including the same
US20160078964A1 (en) Method for testing redundancy area in semiconductor memory device
KR102150477B1 (en) Semiconductor device and operation method of the same
CN117636990A (en) Memory device with redundancy for page-based repair

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ONG, ADRIAN E.;REEL/FRAME:029495/0888

Effective date: 20121217

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION