A sensing circuit senses a sensing voltage of a resistive memory cell and outputs a resultant value in response to the sensing voltage which is indicative for the actual cell state. A settling circuit includes a plurality of current mirrors for settling the sensing voltage to a certain target voltage representing one of m programmable cell states. A prebiasing circuit is provided for prebiasing a bitline capacitance of the resistive memory cell such that the sensing voltage is close to the certain target voltage. A resistance circuit includes a plurality of resistors connected in series and coupled in parallel to the resistive memory cell. The resistance circuit is configured to reduce an effective resistance seen by the prebiasing circuit. The settling circuit and the resistance circuit are configured to form a plurality of current-resistor pairs switchable to define a linear range detection currents corresponding to the certain target voltages.
|
14. A method for determining an actual cell state of a resistive memory cell having a plurality m of programmable cell states, the method comprising:
prebiasing a bitline capacitance of the resistive memory cell such that a sensing voltage is close to a certain target voltage which is indicative of the actual cell state,
wherein an effective resistance seen by a prebiasing circuit is reduced by a resistance circuit, the resistance circuit including a plurality of resistors coupled in parallel to the resistive memory cell,
settling the sensing voltage by a settling circuit to a certain target voltage representing one of the m programmable cell states, wherein the settling circuit and the resistance circuit are configured to form a plurality of current-resistor pairs being switchable to define a linear range detection currents corresponding to the certain target voltages, each of the plurality of current-resistor pairs including one current mirror of the plurality of current mirrors and one resistor,
sensing the sensing voltage of the resistive memory cell, and
outputting a resultant value in response to the sensing voltage.
1. A device for determining an actual cell state of a resistive memory cell having a plurality m of programmable cell states, the device comprising:
a sensing circuit configured to sense a sensing voltage of the resistive memory cell and to output a resultant value in response to the sensing voltage which is indicative of the actual cell state,
a settling circuit, including a plurality of current mirrors, configured to settle the sensing voltage to a certain target voltage representing one of the m programmable cell states,
a prebiasing circuit configured to pre-bias a bitline capacitance of the resistive memory cell such that the sensing voltage is close to the certain target voltage, and
a resistance circuit including a plurality of resistors connected in series and coupled in parallel to the resistive memory cell, wherein the resistance circuit is configured to reduce an effective resistance seen by the prebiasing circuit,
wherein the settling circuit and the resistance circuit are configured to form a plurality of current-resistor pairs being switchable to define a linear range of detection currents corresponding to the certain target voltages, each of the plurality of current-resistor pairs including one current mirror of the plurality of current mirrors and one resistor.
13. A resistive memory device, comprising:
a memory including a plurality of resistive memory cells having a plurality m of programmable levels, and
a read/write apparatus configured to read and write data in the resistive memory cells, wherein the read/write apparatus includes a read device for determining an actual cell state of a resistive memory cell having a plurality m of programmable cell states, the read device comprising:
a sensing circuit configured to sense a sensing voltage of the resistive memory cell and to output a resultant value in response to the sensing voltage which is indicative of the actual cell state,
a settling circuit including a plurality of current mirrors configured to settle the sensing voltage to a certain target voltage representing one of the m programmable cell states,
a prebiasing circuit configured to pre-bias a bitline capacitance of the resistive memory cell such that the sensing voltage is close to the certain target voltage, and
a resistance circuit including a plurality of resistors connected in series and coupled in parallel to the resistive memory cell, wherein the resistance circuit is configured to reduce an effective resistance seen by the prebiasing circuit,
wherein the settling circuit and the resistance circuit are configured to form a plurality of current-resistor pairs being switchable to define a linear range of detection currents corresponding to the certain target voltages, each of the plurality of current-resistor pairs including one current mirror of the plurality of current mirrors and one resistor.
2. The device of
3. The device of
4. The device of
5. The device of
6. The device of
7. The device of
8. The device of
9. The device of
10. The device of
11. The device of
12. The device of
|
This application is a continuation of U.S. patent application Ser. No. 14/744,013 filed 18 Jun. 2015, the complete disclosure of which is expressly incorporated herein by reference in its entirety for all purposes.
The invention relates to a device and to a method for determining an actual cell state of a resistive memory cell having a plurality M of programmable cell states.
A prominent example for resistive memory cells having a plurality of programmable levels or states are Resistive Random Access Memory (RRAM) and Phase Change Memory (PCM). PCM is a non-volatile solid-state memory technology that exploits the reversible, thermally-assisted switching of specific chalcogenides between certain states of different electrical conductivity.
PCM is a promising and advanced emerging non-volatile memory technology mainly due to its excellent features including low latency, high endurance, long retention and high scalability. PCM may be considered a prime candidate for Flash replacement, embedded/hybrid memory and storage-class memory. Key requirements for competitiveness of PCM technology may be multi-level cell functionality, in particular for low cost per bit, high-speed read/write operations, in particular for high bandwidth and high endurance. Multilevel functionality, i.e. multiple bits per PCM cell, may be a way to increase storage capacity and thereby to reduce cost.
Multi-level PCM is based on storing multiple resistance levels between a lowest (SET) and a highest (RESET) resistance value. Multiple resistance levels or levels correspond to partial-amorphous and partial-crystalline phase distributions of the PCM cell. Phase transformation, i.e. memory programming, may be enabled by Joule heating. In this regard, Joule heating may be controlled by a programming current or voltage pulse. Storing multiple resistance levels in a PCM cell is a challenging task.
For example, in H.-S. P. Wong et al., Proc. IEEE, 2010 it is described that the multiple states or levels in a PCM cell are created by varying the programming power, thus creating different crystalline and amorphous fractions within the cell. Further according to H.-S. P. Wong et al., Proc. IEEE, 2012, in metal-oxide resistive memory devices, multiple states may correspond to variations in the gap between conductive oxygen-vacancy filaments and the electrodes.
As mentioned above, in resistive memory, the fundamental storage unit (referred to generally herein as the “cell”) can be set to a number of different states which exhibit different electrical resistance characteristics. Information is recorded by exploiting the different states to represent different data values. To read recorded data, cell-state is detected via measurements which exploit the differing resistance characteristics to differentiate between possible cell-states. A variety of semiconductor memory technologies employ these basic principles for data storage. Examples include oxide-based memory such as resistive RAM and memristor memory, ionic-transport-based memory, and phase-change memory. The following discussion will focus on phase-change memory (PCM) as a particularly promising technology for future non-volatile memory chips. It is to be understood however, that PCM is only an illustrative application for the invention to be described which can be similarly applied to other resistive memory technologies.
Phase-change memory exploits the reversible switching of certain chalcogenide materials between at least two states with different electrical resistance. In so-called “single-level cell” (SLC) PCM devices, each cell can be set to one of two states, crystalline and amorphous, by application of heat. Each SLC cell can thus store one bit of binary information. However, to satisfy market demand for ever-larger memory capacity and reduce cost per bit, storage of more than one bit per cell is required. To achieve this, it is necessary that a cell can be set to s states where s>2, and that these states can be distinguished on readback via the cell resistance characteristics. Multi-level cell (MLC) operation has been proposed for PCM cells whereby each cell can be set to one of s>2 resistance levels, each corresponding to a different cell state. MLC operation is achieved by exploiting partially-amorphous states of the chalcogenide cell. Different cell states are set by varying the effective volume of the amorphous phase within the chalcogenide material. This in turn varies cell resistance.
To write data to a PCM cell, a voltage or current pulse is applied to the cell to heat the chalcogenide material to an appropriate temperature to induce the desired cell-state on cooling. By varying the amplitude of the voltage or current pulses, different cell-states can be achieved. Reading of PCM cells can be performed using cell resistance to distinguish the different cell-states. The resistance measurement for a read operation is performed in the sub-threshold region of the current-versus-voltage (IN) characteristic of the cell, i.e. in the region below the threshold switching voltage at which a change in cell-state can occur. The read measurement can be performed in a variety of ways, but all techniques rely fundamentally on either voltage biasing and current sensing, or current biasing and voltage sensing. In a simple implementation of the current-sensing approach, the cell is biased at a certain constant voltage level and the resulting cell current is sensed to provide a current-based metric for cell-state. U.S. Pat. No. 7,426,134 B2 discloses one example of a current-sensing technique in which the bias voltage can be set to successive higher levels, and the resulting cell-current compared to successive reference levels, for detecting the different cell-states. US Patent Application Publication No. 2008/0025089 discloses a similar technique in which the cell current is simultaneously compared with different reference levels. In the alternative, voltage-sensing approach, a constant current is passed through the cell and the voltage developed across the cell is sensed to provide a voltage-based metric for cell-state.
Reading of MLC cells is particularly challenging as the read operation involves distinguishing fine differences in cell resistance via the current/voltage measurements. Compared to SLC operation, these fine differences are more readily affected by random noise fluctuations and drift over time, resulting in errors when retrieving stored data. To counteract this loss of data integrity associated with MLC memory, new cell-state metrics, beyond simple resistance, have been proposed. The copending European Patent Application No. 10174613.9, filed 31 Aug. 2010, discloses a particularly promising metric which is based on the sub-threshold slope of the I/V characteristic of the cell. For example, the metric may be based on the difference between two read measurements of the same cell. This type of metric is less sensitive to noise and drift. In certain embodiments of this measurement technique, the metric is essentially a voltage based metric in the sense that it calls for the measurement of cell voltages (or cell voltage differences) at given bias currents. In general, voltage-based metrics are considered advantageous over current-based metrics, showing less drift over time, less susceptibility to noise, better SNR (signal-to-noise ratio), and allowing more intermediate levels to be packed into one cell. However, the conventional technique for obtaining voltage-based metrics, using current biasing and voltage sensing, is undesirably slow as explained above. This speed penalty associated with the conventional voltage measurement technique means that there is a fundamental conflict between the requirement for a fast random access of the memory and the need for voltage-based metrics supporting high density MLC memory.
Recapitulating, the readout of the cell state may be done via a current-based metric (see U.S. Pat. No. 7,426,134, US 2008/0239833, US 2008/0025089, and US 20070140029) or via a voltage-based metric (see US 2012/0307554; G. Close, C. Hagleitner, A. Pantazi, N. Papandreou, C. Pozidis and A. Sebastian, Cell-state determination in phase-change memory, US patent application filed under CH920100091US1, United States 2010; US 2008/0165570; US 20080316803; and US 2012/0314481).
According to a first aspect, a device for determining an actual cell state of a resistive memory cell having a plurality M of programmable cell states is suggested. The device comprises a sensing circuit for sensing a sensing voltage of the resistive memory cell and for outputting a resultant value in response to the sensing voltage which is indicative for the actual cell state, a settling circuit including a plurality of current mirrors for settling the sensing voltage to a certain target voltage representing one of the M programmable cell states, a prebiasing circuit for prebiasing a bitline capacitance of the resistive memory cell such that the sensing voltage is close to the certain target voltage, and a resistance circuit including a plurality of resistors connected in series and coupled in parallel to the resistive memory cell, wherein the resistance circuit is configured to reduce an effective resistance seen by the prebiasing circuit, wherein the settling circuit and the resistance circuit are configured to form a plurality of current-resistor pairs being switchable to define a linear range of detection currents corresponding to the certain target voltages, each of the plurality of current-resistor pairs including one current mirror and one resistor.
According to an embodiment, the prebiasing circuit is coupled to a first node connected to a bitline of the resistive memory cell and to the resistance circuit.
According to a further embodiment, the prebiasing circuit includes a serial connection of a voltage source, a resistor and a switch for connecting and disconnecting the prebiasing circuit to the first node.
According to a further embodiment, the resistor of the prebiasing circuit has an equal or lower resistance to the resistance circuit coupled in parallel to the resistive memory cell.
According to a further embodiment, the plurality of resistors are coupled in series to each other and wherein the plurality of current mirrors are coupled in parallel to each other.
According to a further embodiment, the device comprises a comparing circuit for providing a comparison result by comparing the sensing voltage and a reference voltage.
According to a further embodiment, the comparing circuit includes a plurality of voltage comparators.
According to a further embodiment, the number of voltage comparators corresponds to the number of current-resistor pairs.
According to a further embodiment, each of the plurality of voltage comparators is allocated to one current-resistor pair.
According to a further embodiment, each of the voltage comparators provides a comparison result and wherein each comparison result is usable as a control signal for controlling switching of a corresponding current-resistor pair.
According to a further embodiment, the resistance circuit includes a plurality of switches, each of which is coupled in parallel to one of the resistors and is configured to receive the control signal and to deactivate the corresponding resistor by shortening the corresponding resistor or to activate the corresponding resistor by releasing the shortening.
According to a further embodiment, the settling circuit includes a plurality of switches, each of which is coupled in series to one of the current mirrors and is configured to receive the control signal and to deactivate the corresponding current mirror by opening the switch or to activate the corresponding current mirror by closing the switch.
According to a further embodiment, the control signals are configured to select one or more current-resistor pairs to be activated for defining a specific linear range of detection currents and enabling any possible piece-wise linear shape of the detection curve.
According to a further embodiment, the device comprises a temperature sensor for detecting a temperature of the device.
According to a further embodiment, the current-resistor pairs are coupled to the temperature sensor in a feedback loop to be adjusted according to the detected temperature.
According to a second aspect, a resistive memory device is suggested. The resistive memory device comprises a memory including a plurality of resistive memory cells having a plurality M of programmable levels, and a read/write apparatus for reading and writing data in the resistive memory cells, wherein the read/write apparatus includes a device as described above.
According to a third aspect, a method for determining an actual cell state of a resistive memory cell having a plurality M of programmable cell states is suggested. The method comprises the following steps: providing a prebiasing circuit, prebiasing a bitline capacitance of the resistive memory cell such that a sensing voltage is close to a certain target voltage which is indicative for the actual cell state, providing a resistance circuit including a plurality of resistors coupled in parallel to the resistive memory cell, wherein the resistance circuit is configured to reduce an effective resistance seen by the prebiasing circuit, settling the sensing voltage by a settling circuit to a certain target voltage representing one of the M programmable cell states, wherein the settling circuit and the resistance circuit are configured to form a plurality of current-resistor pairs being switchable to define a linear range of detection currents corresponding to the certain target voltages, each of the plurality of current-resistor pairs including one current mirror and one resistor, sensing the sensing voltage of the resistive memory cell, and outputting a resultant value in response to the sensing voltage.
According to a fourth aspect, the invention relates to a computer program comprising a program code for executing at least one step of the method of the third aspect for determining an actual cell state of a resistive memory cell when run on at least one computer.
In the following, exemplary embodiments of the present invention are described with reference to the enclosed figures.
Similar or functionally similar elements in the figures have been allocated the same reference signs if not otherwise indicated.
According to some implementations, the resistive memory cell is a PCM cell (PCM, Phase Change Memory). The PCM cell may be understood as a non-linear resistive device. In particular, the memory cells and/or the reference cells form a memory array.
Circuitry 4 can address individual PCM cells for write and read purposes by applying appropriate voltage signals to an array of word and bit lines in memory ensemble 2.
This process is performed in generally known manner except as detailed hereinafter. A read/write controller 5 controls operation of apparatus 3 generally and in particular controls measurement operations in the embodiments to be described, as well as processing of measurements for determining cell state, i.e. level detection, where required. In general, the functionality of controller 5 can be implemented in hardware or software or a combination thereof, though use of hardwired logic circuits is generally preferred for reasons of operating speed. Suitable implementations will be apparent to those skilled in the art from the description herein. As indicated by block 6 in
Each of the multilevel cells in memory 2 can be set to one of s resistance levels, where s>2, corresponding to different amorphous/crystalline states of the cell. To write data to memory cells, circuitry 4 applies programming pulses (via cell bit-lines or word-lines and using voltage-mode or current-mode programming) of appropriate amplitude to set cells to states representative of the write data. Subsequent reading of a memory cell involves determining the state of the cell, i.e. detecting which of the possible levels that cell is set to. In a read operation of memory device 1, circuitry 4 performs cell measurements from which cell-states can be determined and the stored data recovered.
In
A readout at high current biasing, even though such a readout significantly reduces drift impact and has better signal-to-noise ratio, may have a potential problem of read disturb where a cell state is irretrievably destroyed during the readout. Therefore, a modulation (fine tuning) of the detection curve is required for reliable readout and for avoiding any read disturb. This can be achieved by the device 100 as shown in
The device 100 of
The sensing circuit 110 is configured to sense a sensing voltage V2 of the resistive memory cell 200 and to output a resultant value D (e.g. a digital value D) in response to the sensing voltage V2. The sensing voltage V2 and therefore also the resultant value D are indicative for the actual cell state.
The sensing circuit 110 includes a sample and hold circuit 111, an analog-to-digital converter (ADC) 114 and an output 115. The sample and hold circuit 111 includes a buffer 112 and a switch 113 controlled by control signal CS.
The settling circuit 120 is configured to settle the sensing voltage V2 to a certain target voltage representing one of the M programmable cell states. The settling circuit 120 is coupled to a supply voltage V1 and includes a plurality of current mirrors 121, 122, 123 which are coupled to a line 161 via switches 124, 125.
The prebiasing circuit 140 is coupled to the line 161. The bitline BL of the PCM cell 200 is also connected to the line 161. The resistance circuit 150 is coupled in parallel to the resistive memory cell 200 and is also connected to the line 161. The resistive memory cell 200 includes a bitline BL, a bitline capacitance 201 and a wordline WL.
The prebiasing circuit 140 includes a serial connection of a voltage source 141 for providing the prebiasing voltage V0, a resistor 142 and a switch 143 for connecting and disconnecting the prebiasing circuit 140 to the line 161.
The device 100 may be coupled to a controller 5 as shown in
In greater detail, in the prebiasing mode (not shown), the switches 124, 125 are closed or opened, the switch 143 is closed and the switch 113 is opened. Thus, the current flows from the voltage source 141 over the line 161 to the bitline BL and therefore to the resistive memory cell 200.
Further, in the settling mode (shown in
In the sampling mode, the switch 143 is opened, the switches 124, 125 are closed or opened and the switch 113 is closed. The controller controls the sampling by the control signal CS applied to switch 113.
The initial state of switches 124, 125 in the prebiasing mode is closed and during the prebiasing and/or settling mode as the voltage of over the line 161 increases the switches can change their state. The initial state of switches 124, 125 in the settling mode is the same as the final state of the switches in the prebiasing mode.
The resistance circuit 150 including a plurality of resistors Rbleeding1, Rbleeding2, RbleedingN and the settling circuit 120 provide current-resistor pairs. Each current-resistor pair includes one current mirror 121, 122, 123 and one resistor Rbleeding1, Rbleeding2, RbleedingN. These current-resistor pairs can be activated or deactivated using control signals CMP1, CMP2, CMPN. As can be seen, one control signal is applied to a switch connecting one current mirror 122, 123 with the line 161 and a bypass switch which is able to shortening the corresponding resistor.
The current-resistor pairs are used for allowing a plurality of piece-wise linear detection curves. By combining biasing currents and resistors in pairs each piece-wise linear detection segment may be uniquely defined. Crossing points between segments are detected using comparators 131, 132 that generate the signal for the switches 124, 125 that change the configuration by turning on and/or off different biasing current/resistor pairs. Increasing voltage over the line 161 changes the configuration of the switches 124, 125 in succession from closed to open.
By choosing biasing current/resistor pairs to be just slightly below the constant power curve (threshold current, threshold voltage product value), disturbance may be avoided and the readout range may be enhanced. Thus, higher values of SET and RESET can be detected.
In step 301, a prebiasing circuit is coupled to the resistive memory cell.
In step 302, a bitline capacitance of the resistive memory cell is prebiased by the prebiasing circuit such that a sensing voltage of the resistive memory cell is close to a certain target voltage which is indicative for the actual cell state.
In step 303, the sensing voltage is settled to the certain target voltage using current-resistor pairs as described with reference to
In step 304, the sensing voltage of the resistive memory cell is sensed by a sensing circuit.
In step 305, a resultant value is output in response to the sensing voltage.
Computerized devices may be suitably designed for implementing embodiments of the present invention as described herein. In that respect, it may be appreciated that the method described herein is largely non-interactive and automated. In exemplary embodiments, the method described herein may be implemented either in an interactive, partly-interactive or non-interactive system. The method described herein may be implemented in software (e.g., firmware), hardware, or a combination thereof. In exemplary embodiments, the method described herein is implemented in software, as an executable program, the latter executed by suitable digital processing devices. In further exemplary embodiments, at least one step or all steps of above method of
For instance, the system 400 depicted in
The processor 405 is a hardware device for executing software, particularly that stored in memory 410. The processor 405 can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the computer 401, a semiconductor based microprocessor (in the form of a microchip or chip set), or generally any device for executing software instructions.
The memory 410 can include any one or combination of volatile memory elements (e.g., random access memory) and nonvolatile memory elements. Moreover, the memory 410 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 410 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 405.
The software in memory 410 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. In the example of
The method described herein may be in the form of a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When in a source program form, then the program needs to be translated via a compiler, assembler, interpreter, or the like, as known per se, which may or may not be included within the memory 410, so as to operate properly in connection with the OS 411. Furthermore, the method can be written as an object oriented programming language, which has classes of data and methods, or a procedure programming language, which has routines, subroutines, and/or functions.
Possibly, a conventional keyboard 450 and mouse 455 can be coupled to the input/output controller 435 (in particular for the BS, if needed). Other I/O devices 440-455 may include sensors (especially in the case of network elements), i.e., hardware devices that produce a measurable response to a change in a physical condition like temperature or pressure (physical data to be monitored). Typically, the analog signal produced by the sensors is digitized by an analog-to-digital converter and sent to controllers 435 for further processing. Sensor nodes are ideally small, consume low energy, are autonomous and operate unattended.
In addition, the I/O devices 440-455 may further include devices that communicate both inputs and outputs. The system 400 can further include a display controller 425 coupled to a display 440. In exemplary embodiments, the system 400 can further include a network interface or transceiver 460 for coupling to a network 465.
The network 465 transmits and receives data between the unit 401 and external systems. The network 465 is possibly implemented in a wireless fashion, e.g., using wireless protocols and technologies, such as WiFi, WiMax, etc. The network 465 may be a fixed wireless network, a wireless local area network (LAN), a wireless wide area network (WAN) a personal area network (PAN), a virtual private network (VPN), intranet or other suitable network system and includes equipment for receiving and transmitting signals.
The network 465 can also be an IP-based network for communication between the unit 401 and any external server, client and the like via a broadband connection. In exemplary embodiments, network 465 can be a managed IP network administered by a service provider. Besides, the network 465 can be a packet-switched network such as a LAN, WAN, Internet network, etc.
If the unit 401 is a PC, workstation, intelligent device or the like, the software in the memory 410 may further include a basic input output system (BIOS). The BIOS is stored in ROM so that the BIOS can be executed when the computer 401 is activated.
When the unit 401 is in operation, the processor 405 is configured to execute software stored within the memory 410, to communicate data to and from the memory 410, and to generally control operations of the computer 401 pursuant to the software. The method described herein and the OS 411, in whole or in part are read by the processor 405, typically buffered within the processor 405, and then executed. When the method described herein is implemented in software, the method can be stored on any computer readable medium, such as storage 420, for use by or in connection with any computer related system or method.
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
More generally, while the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.
Papandreou, Nikolaos, Pozidis, Charalampos, Stanisavljevic, Milos
Patent | Priority | Assignee | Title |
11283015, | Mar 24 2020 | International Business Machines Corporation | Projected phase change memory devices |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 08 2015 | PAPANDREOU, NIKOLAOS | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042586 | /0722 | |
Jun 08 2015 | POZIDIS, CHARALAMPOS | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042586 | /0722 | |
Jun 08 2015 | STANISAVLJEVIC, MILOS | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042586 | /0722 | |
May 25 2017 | International Business Machines Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jan 18 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 27 2022 | 4 years fee payment window open |
Feb 27 2023 | 6 months grace period start (w surcharge) |
Aug 27 2023 | patent expiry (for year 4) |
Aug 27 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 27 2026 | 8 years fee payment window open |
Feb 27 2027 | 6 months grace period start (w surcharge) |
Aug 27 2027 | patent expiry (for year 8) |
Aug 27 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 27 2030 | 12 years fee payment window open |
Feb 27 2031 | 6 months grace period start (w surcharge) |
Aug 27 2031 | patent expiry (for year 12) |
Aug 27 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |