US20130212207A1 - Architecture and method for remote memory system diagnostic and optimization - Google Patents
Architecture and method for remote memory system diagnostic and optimization Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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/165—Auxiliary circuits
- G11C11/1677—Verifying circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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/165—Auxiliary circuits
- G11C11/1695—Protection circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital 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
- 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.
- 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 toFIGS. 1A-1D , an MTJ 10 is shown as including, in part, areference layer 12, atunneling layer 14, and afree layer 16. Thereference layer 12 and thefree layer 16 can be ferromagnetic layers, while thetunneling layer 14 is a nonmagnetic layer. The direction of magnetization ofreference 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 thefree layer 16 can be varied during operation by passing a current of the required strength through the MTJ structure. - In
FIG. 1A , thereference layer 12 and thefree layer 16 are shown having the same directions of magnetization, i.e., in a parallel magnetic state. InFIG. 1B , thereference layer 12 and thefree layer 16 are shown having opposite magnetization directions, i.e., in an anti-parallel state. InFIG. 1C , thereference layer 12 and thefree layer 16 are shown having the same magnetization direction (parallel state), with the magnetization direction perpendicular to a plane defined by the interface offree layer 16 andtunneling layer 14. InFIG. 1D , thereference layer 12 and thefree layer 14 are shown having opposite magnetization directions (anti-parallel state), where the magnetization directions are perpendicular to a plane defined by the interface offree layer 16 andtunneling layer 14. - To switch from the parallel state, as shown in
FIGS. 1A and 1C , to the anti-parallel state, as shown inFIGS. 1B and 1D , the voltage potential ofreference layer 12 is increased relative to that offree layer 16. This voltage difference causes spin polarized electrons flowing fromfree layer 16 toreference layer 12 to transfer their angular momentum and change the magnetization direction offree layer 16 to the anti-parallel state. To switch from the anti-parallel state to the parallel state, the voltage potential offree layer 16 is increased relative to that ofreference layer 12. This voltage difference causes spin polarized electrons flowing fromreference layer 12 tofree layer 16 to transfer their angular momentum and change the magnetization direction offree 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 andreference layer 12 have the same magnetization direction (i.e., parallel state), MTJ 10 has a relatively low resistance. Conversely, whenfree layer 16 andreference 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 associatedselect transistor 20, together forming an STT-MRAM cell 30. The MTJ 10 includes a reference or pinnedlayer 12, afree layer 16, and atunneling layer 14 disposed between thereference layer 12 and thefree 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 oftransistor 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 inFIG. 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 ofarrow 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 ofMRAM 30 ofFIG. 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 alongarrow 35, and/or (ii) from AP to P when the current flows alongarrow 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 theMTJ 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 theMTJ 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 thatMTJ 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 throughtransistor 20 in the direction ofarrow 40. To achieve this, the source node (SL or source line) oftransistor 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) oftransistor 20, and a positive voltage is applied to the drain node (BL or bitline) oftransistor 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 thatMTJ 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 throughtransistor 20 in the direction ofarrow 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 anMTJ 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 theMTJ 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 throughtransistor 20 in the direction ofarrow 40. To achieve this, the source node (SL) oftransistor 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) oftransistor 20, and a positive voltage VCC is applied to the drain node (BL or bitline) oftransistor 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 asMTJ 10 shown inFIGS. 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 thatMTJ 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 throughtransistor 20 in the direction ofarrow 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 oftransistor 20 is set to (VWL−VSN), and the drain-to-source voltage oftransistor 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.
- 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.
- 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 ofFIG. 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 ofFIG. 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 ofFIG. 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 ofFIG. 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 ofFIG. 8A according to inventive concepts. -
FIG. 8C is a schematic block diagram of the smart tester controller ofFIG. 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. - 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 amemory 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 asmart memory system 600 constructed according to principles of the present inventive concept. - Referring to
FIG. 6 , thesmart memory system 600 can includesmart memory 602, which may be configured to provide ahandshaking interface 605 with an ultra-wide input output (I/O) between thememory 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, themain system memory 615. In addition, thehandshaking memory interface 605 can also help avoid bottlenecks and provide re-routing capabilities. Although here labeled emerging memory (STT-MRAM, RRAM) 615, themain 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, thedevice logic 630 is shown as havingapplication logic 635,processors 640, internal memory pluscontroller 645, and analog device functions 650. Thesmart 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 asmart memory system 700 constructed according to principles of the present inventive concept. Referring toFIG. 7 , thesmart memory system 700 can includesmart memory 702, which may be configured to provide multiple handshaking interfaces or busses 705 between thememory 715 andsmart memory controller 720 to ensure successful read and write operations. Thesmart memory controller 720 may be communicatively coupled (e.g., wirelessly or via Ethernet cable, and the like) tocloud 735. - Such direct access to the
cloud 735 allows for remote automated testing of thememory 715. For example, automated test equipment (ATE) 740 located remotely from thesmart memory 702 may perform diagnostic, testing, and/or repair operations on thememory 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. Thesmart 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 commonasynchronous 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, themain system memory 715. In addition, the multiplehandshaking memory interfaces 705 can also help avoid bottlenecks and provide re-routing capabilities. Although here labeled emerging memory (STT-MRAM, RRAM) 715, themain 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. Thesmart 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 thesmart 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, thedevice 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 thelogic 730 may include one or more of the enumerated logic processors and other devices, or any combination thereof. Thesmart 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 amemory system 800, including asmart memory controller 820 and a remotesmart tester controller 840 in communication via the cloud, in accordance with inventive concepts. Thesmart memory controller 820 can be coupled to amemory 715. Thesmart memory controller 820 can be communicatively coupled to the cloud-baseddata center 880 and can transmit a product identification (ID) 862 associated with thememory 715 to the cloud. Thesmart memory controller 820 can receive, from the cloud, a productspecific test program 870 associated with theproduct ID 862. - The
smart memory controller 820 can run the productspecific test program 870 on thememory 715. Thesmart memory controller 820 can transmittest results 864 and/ordiagnostic information 866 associated with the productspecific test program 870 to the cloud-baseddata center 880. Thesmart memory controller 820 can also transmitproduct history 882, aproduct specification 884, and/orcustomer feedback 886 to the cloud-baseddata center 880. Thesmart memory controller 820 can receiverepair solutions 868 from the cloud-baseddata center 880. Thesmart memory controller 820 can apply therepair solutions 868 to thememory 715. Alternatively, thesmart 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, thesmart memory controller 820 may also tag and/or re-map bad memory locations. - The product
specific test program 870 can include one ormore test patterns 872, addressscramble test information 874, and data scrambletest information 876. Thesmart memory controller 820 can receive the one ormore test patterns 872, the addressscramble test information 874, and the data scrambletest information 876 from the cloud. Thesmart memory controller 820 can decode, for example, the addressscramble test information 874 and the data scrambletest information 876. - The product
specific test program 870 may include one or more memory commands 878. Thesmart memory controller 820 can receive the one or more memory commands 878 from the cloud. Thesmart memory controller 820 may decode the one or more memory commands 878. Thesmart memory controller 820 can buffer and sequence the one or more memory commands 878 and/or the one ormore test patterns 872. Thesmart memory controller 820 can read from thememory 715 or write to thememory 715 responsive to the decoded one or more memory commands 878 and/or based on the decoded one ormore test patterns 872. - In addition, the
smart memory controller 820 can buffer and sequence the addressscramble test information 874 and the data scrambletest 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. Thesmart memory controller 820 can read from thememory 715 or write to thememory 715 based on the decoded addressscramble test information 874 and/or the decoded data scrambletest information 876. - In some embodiments, the cloud-based
data center 880 can receive and store theproduct identification 862 associated with thememory 715 that is remotely located relative to the cloud-baseddata center 880. For example, thememory 715 can be located in one part of the world, while the cloud-baseddata center 880 can be located in another distant part of the world. The cloud-baseddata center 880 can store thetest results 864, thediagnostic information 866, theproduct ID 862, theproduct history 882, theproduct specification 884, and/or thecustomer feedback 886 associated with theremote 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-baseddata center 880. Thesmart tester controller 840 can be included in or otherwise be associated with automated test equipment (ATE) or any other suitablememory test fixture 890 or system. Thesmart tester controller 840 can receive, from the cloud-baseddata center 880, the productspecific test program 870 associated with theproduct ID 862 of theremote memory 715. Thesmart tester controller 840 can test theremote memory 715 via the cloud in accordance with the productspecific test program 870. - In some embodiments, the cloud-based
data center 880 can select the productspecific test program 870 based on the storedproduct 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-baseddata center 880 from any Internet access point at any time, select the productspecific test program 870, and/or cause the productspecific test program 870 to be sent to thesmart tester controller 840 or thesmart 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-baseddata center 880 from any Internet access point (e.g. smartphone, tablet, laptop, PC, etc). - The cloud-based
data center 880 can receive thetest results 864, thediagnostic information 866, theproduct history 882, theproduct specification 884, and/or thecustomer feedback 886 associated with the productspecific 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-baseddata center 880 from any Internet access point at any time. The cloud-baseddata 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, thetest results 864, thediagnostic information 866, theproduct history 882, theproduct specification 884, and/or thecustomer feedback 886 associated with the productspecific test program 870. Such information can be used by the smartmemory 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 determinerepair solutions 868 based on thetest results 864, thediagnostic information 866, theproduct history 882, theproduct specification 884, and/or thecustomer feedback 886. Alternatively, authorized personnel may access the cloud-baseddata center 880 and determine therepair solutions 868 based on thetest results 864, thediagnostic information 866, theproduct history 882, theproduct specification 884, and/or thecustomer feedback 886. The cloud-baseddata center 880 or the smartmemory tester controller 840 can transmit, to theremote memory 715, therepair solutions 868. - As mentioned above, the product
specific test program 870 can include one ormore test patterns 872, addressscramble test information 874, and/or data scrambletest information 876. The smartmemory tester controller 840 can transmit the one ormore test patterns 872, the addressscramble test information 874, and/or the data scrambletest information 876 to the cloud. The cloud-baseddata center 880 can receive thetest results 864 and/or thediagnostic information 866 associated with the productspecific test program 870. The smartmemory tester controller 840 can receive, from the cloud-baseddata center 880 or directly from thesmart memory controller 820, thetest results 864 and/or thediagnostic information 866 associated with the productspecific test program 870. - The smart
memory tester controller 840 can encode the one ormore test patterns 872. The smartmemory tester controller 840 may also encode or encrypt the addressscramble test information 874 and/or the data scrambletest 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 smartmemory tester controller 840. The smartmemory tester controller 840 can buffer and sequence, for example, the one or more memory commands 878 and/or the one ormore test patterns 872. -
FIG. 8B is a schematic block diagram 801 of more detailed aspects of thesmart memory controller 820 ofFIG. 8A according to inventive concepts. Reference is now made toFIGS. 8A and 8B . - The
smart memory controller 820 can include a transmitter and/or receiver and/orbuffer block 810. It will be understood that while transmitter/receiver/buffer 810 is shown as a single block, thesmart memory controller 820 can include separate transmitter, receiver, and buffer components. Thetransmitter 810 can be communicatively coupled to thecloud 835 and can transmit theproduct ID 862 associated with thememory 715 to thecloud 835 and/or the cloud-baseddata center 880. Thereceiver 810 can be communicatively coupled to thecloud 835 and can receive, from thecloud 835 and/or from the cloud-baseddata center 880, the productspecific test program 870 associated with theproduct ID 862. - The
transmitter 810 can transmit thetest results 864 and/or thediagnostic information 866 associated with the productspecific test program 870 to thecloud 835 and/or to the cloud-baseddata center 880. Thereceiver 810 can receive therepair solutions 868 from thecloud 835 and/or from the cloud-baseddata center 880. Thesmart memory controller 820 can apply therepair solutions 868 to thememory 715. - The
receiver 810 can receive the one ormore test patterns 872, the addressscramble test information 874, and/or the data scrambletest information 876 from thecloud 835 and/or from the cloud-baseddata center 880. Thesmart memory controller 820 may further include a test pattern and address/data decoder 806, which can be coupled to thereceiver 810. Thetest pattern decoder 806 can decode the one ormore 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. Thesmart memory controller 820 may also include atest code decoder 808, which can be coupled to thereceiver 810. Thetest code decoder 806 can decode, for example, the one or more memory commands 878, the addressscramble test information 874 and/or the data scrambletest information 876. - The
receiver 810 can receive the one or more memory commands 878 from thecloud 835 and/or from the cloud-baseddata center 880. Thesmart memory controller 820 may further include a command, address, and/ordata sequencer 802. Thesequencer 802 may include or be associated with an I/O buffer 804. Thesequencer 802 can sequence and buffer (e.g., in the buffer 804) the one or more memory commands 878, the one ormore test patterns 872, and the address and scramble test information. The data can be read from thememory 715 or written to thememory 715 responsive to the decoded one or more memory commands 878 and/or based on the decoded one ormore test patterns 872 and scramble information. - In addition, the
sequencer 802 can sequence and buffer the addressscramble test information 874 and/or the data scrambletest information 876. Thesmart memory controller 820 can read from thememory 715 or write to thememory 715 based on the decoded addressscramble test information 874 and/or the decoded data scrambletest information 876. - The I/
O buffer 804 may receive and buffer results and/or status information regarding the reads and/or write operations from thememory 715. The results and/or status information can be stored in results and status registers 807. Thesmart memory controller 820 can further include a results andstatus encoder 809, which can receive the results and/or status information from theregister 807, and encode the results and/or status information. Thetransmitter 810 can transmit the results and/or status information to thecloud 835 and/or to the cloud-baseddata center 880. -
FIG. 8C is a schematic block diagram 803 of additional details of the smart tester controller ofFIG. 8A according to inventive concepts. Reference is now made toFIGS. 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 thecloud 835 and/or to the cloud-baseddata center 880. It will be understood that while the transmitter/receiver/buffer 850 is shown as a single block, the smartmemory tester controller 840 can include separate transmitter, receiver, and buffer components. Thereceiver 850 can receive, from thecloud 835 and/or from the cloud-baseddata center 880, the productspecific test program 870 associated with theproduct ID 862 of theremote memory 715. The smartmemory tester controller 840 can test theremote memory 715 via thecloud 835 in accordance with the productspecific test program 870, using the transmitter and/orreceiver 850. - In some embodiments, the cloud-based
data center 880 can select the productspecific test program 870 based on the storedproduct 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-baseddata center 880 from any Internet access point at any time, select the productspecific test program 870, and/or cause the productspecific test program 870 to be sent to thesmart tester controller 840 or to thesmart memory controller 820. - The
cloud 835 and/or the cloud-baseddata center 880 can receivetest results 864,diagnostic information 866,product history 882,product specification 884,customer feedback 886, and the like, associated with the productspecific 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-baseddata center 880 from any Internet access point at any time. - In some embodiments, the
receiver 850 of the smartmemory tester controller 840 can receive, from thecloud 835 and/or from the cloud-baseddata center 880, thetest results 864, thediagnostic information 866, theproduct history 882, theproduct specification 884, thecustomer feedback 886, and the like, associated with the productspecific test program 870. Such information can be used by the smartmemory 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 ormore test patterns 872, addressscramble test information 874, and/or data scrambletest information 876. Thetransmitter 850 of the smartmemory tester controller 840 can transmit the one ormore test patterns 872, the addressscramble test information 874, and/or the data scrambletest information 876 to thecloud 835 and/or to the cloud-baseddata center 880. The cloud-baseddata center 880 can receive thetest results 864 and/or thediagnostic information 866 associated with the productspecific test program 870. Thereceiver 850 of thesmart memory tester 840 can receive, from thecloud 835 and/or from the cloud-based data center 880 (or directly from the smart memory controller 820), thetest results 864 and/or thediagnostic information 866 associated with the productspecific test program 870. - The
smart tester controller 840 can include a result andstatus decoder 813, which may decode thetest results 864, thediagnostic information 866, and/or other status information. Thesmart tester 840 can also include results anddiagnostic registers 811, which may receive the decoded information from the results andstatus decoder 813, and store such information in the registers. The results, diagnostics, and/or status information can be received by thetester 890 via the I/O buffer 844. - The smart
memory tester controller 840 can further include a command, address, and/ordata generator 842. Thegenerator 842 may be coupled to or otherwise associated with abuffer 844. Thegenerator 842 can generate, for example, the one or more memory commands 878 and/or the one ormore test patterns 872. The smartmemory tester controller 840 can further include a test pattern and address/data scramble encoder 856, which may be coupled to thetransmitter 850 and configured to encode the one ormore test patterns 872, for example, and the associated address and data scramble information. Thesmart memory tester 840 may also include atest code encoder 854, which may be coupled to thetransmitter 850 and configured to encode the addressscramble test information 874 and/or the data scrambletest information 876. The productspecific test program 870 may also include one or more memory commands 878, generated by thegenerator 842, which may encoded by thetest code encoder 854, and which may be transmitted to thecloud 835 by thetransmitter 850 of the smartmemory tester controller 840. - Although certain components are shown arranged in the
smart memory controller 820 and the smartmemory 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 asystem 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 insystem 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 amemory test fixture 890, which can be automated test equipment (ATE) or any other suitable memory testing device. The smartmemory tester controller 840 may be communicatively coupled to a secure site orsecure gateway device 915 via asecure firewall 910. Thesecure gateway device 915 may be communicatively coupled to thecloud 835. - The cloud-based
data center 880 may be coupled to or otherwise associated with thecloud 835 and may receive, store, and transmit information pertaining to memory located in devices that are attached to thecloud 835, as described above. - Other devices and entities may be communicatively coupled to the
cloud 835. For example, acamera 910 may include thesmart memory 702, and may be coupled to thecloud 835 via the transmitter/receiver 810 of thesmart memory controller 720, which may be embedded in thecamera 910. Any one or more of the devices and entities shown insystem 900 may include its ownsmart memory controller 720 and associated memory. - By way of further examples, a
computer server 965, apersonal computer 940, atablet device 945, alaptop computer 925, a personaldigital assistant 950, atelephone 955, anetwork device 960, and the like, can each include asmart memory controller 720 and associated memory, and may each be communicatively coupled to thecloud 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 thecloud 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 aflow 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 aflow 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 aflow 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)
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.
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)
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)
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)
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)
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 |
-
2012
- 2012-11-30 US US13/691,639 patent/US9069719B2/en active Active
- 2012-12-18 US US13/719,213 patent/US20130212207A1/en not_active Abandoned
-
2013
- 2013-02-06 KR KR1020130013575A patent/KR102060835B1/en active IP Right Grant
- 2013-02-06 KR KR1020130013574A patent/KR20130093026A/en not_active Application Discontinuation
- 2013-02-08 JP JP2013023050A patent/JP2013168145A/en active Pending
- 2013-02-08 JP JP2013023049A patent/JP6147520B2/en active Active
- 2013-02-16 CN CN201310051106XA patent/CN103258574A/en active Pending
Patent Citations (18)
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)
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 |