Non-volatile memory device with a program driver circuit including a voltage limiter
11475960 · 2022-10-18
Assignee
Inventors
- Fabio Enrico Carlo Disegni (Spino d'Adda, IT)
- Laura Capecchi (Vedano al Lambro, IT)
- Marcella Carissimi (Treviolo, IT)
- Vikas Rana (Noide, IN)
- Cesare Torti (Pavia, IT)
Cpc classification
G11C2013/0071
PHYSICS
G11C2013/009
PHYSICS
G11C16/28
PHYSICS
G11C7/06
PHYSICS
G11C16/102
PHYSICS
G11C7/12
PHYSICS
International classification
G11C13/00
PHYSICS
G11C7/06
PHYSICS
G11C16/28
PHYSICS
Abstract
An embodiment non-volatile memory device includes an array of memory cells in rows and columns; a plurality of local bitlines, the memory cells of each column being coupled to a corresponding local bitline; a plurality of main bitlines, each main bitline being coupleable to a corresponding subset of local bitlines; a plurality of program driver circuits, each having a corresponding output node and injecting a programming current in the corresponding output node, each output node coupleable to a corresponding subset of main bitlines. Each program driver circuit further includes a corresponding limiter circuit that is electrically coupled, for each main bitline of the corresponding subset, to a corresponding sense node whose voltage depends, during writing, on the voltage on the corresponding main bitline. Each limiter circuit turns off the corresponding programming current, in case the voltage on any of the corresponding sense nodes overcomes a reference voltage.
Claims
1. A non-volatile memory device comprising: an array of memory cells arranged in rows and columns, each memory cell including a respective storage element and a respective access element; a plurality of wordlines, the memory cells of each row being coupled to a corresponding wordline of the plurality of wordlines; a plurality of local bitlines, the memory cells of each column being coupled to a corresponding local bitline of the plurality of local bitlines; a plurality of main bitlines, each main bitline being coupleable to a corresponding subset of local bitlines of the plurality of local bitlines; a plurality of program driver circuits, each of which has a corresponding output node and is configured to inject a programming current in the corresponding output node, each output node being coupleable to a corresponding subset of main bitlines of the plurality of main bitlines; a column decoder including, for each program driver circuit: for each of the main bitlines of the corresponding subset of main bitlines, a corresponding main selection circuit, which is electronically controllable so as to selectively couple the main bitline to the output node of the program driver circuit; and for each of the local bitlines of the corresponding subset of local bitlines coupleable to a corresponding main bitline of the corresponding subset of main bitlines, a local selection circuit, which is electronically controllable so as to selectively couple the local bitline to the corresponding main bitline; and a control unit which is configured to control the local selection circuits and the main selection circuits so that, during a step of writing at least one selected memory cell, each of the at least one selected memory cell is coupled to the output node of a corresponding program driver circuit of the plurality of program driver circuits through the corresponding local bit line and the corresponding main bit line, so as to be traversed by the corresponding programming current, wherein each corresponding program driver circuit further includes a corresponding limiter circuit which is electrically coupled, for each main bitline of the corresponding subset, to a corresponding sense node whose voltage depends, when the at least one selected memory cell coupled to the output node of the corresponding program driver circuit is coupled to the corresponding main bitline, on the voltage on the corresponding main bitline; and wherein each limiter circuit is configured to turn off the corresponding programming current, in response to the voltage on any of the corresponding sense nodes overcoming a reference voltage.
2. The memory device according to claim 1, wherein each limiter circuit comprises, for each main bitline of the corresponding subset of main bitlines, a corresponding switching element, which is coupled to the corresponding main bitline and to a control node of the limiter circuit, the switching element being configured to couple the corresponding main bitline to the control node, in response to the voltage on the corresponding main bitline overcoming the reference voltage, so as to cause a switching of a logic value of a control voltage on the control node; and wherein each limiter circuit is configured so that the control voltage on the corresponding control node controls the turning off of the corresponding programming current.
3. The memory device according to claim 2, wherein, during the step of writing, the control unit controls the local selection circuits and the main selection circuits coupled to the selected memory cells through, respectively, a same local column-decoding signal and a same main column-decoding signal; and wherein each limiter circuit further comprises a reconfigurable flip-flop circuit coupled to the corresponding control node, the control unit being controllable so as to cause the reconfigurable flip-flop circuits to operate, during the writing step, in a first mode; and wherein, when operating in the first mode, each reconfigurable flip-flop circuit is configured to: generate, on a respective output, a respective interruption signal, whose logic value depends on the control voltage on the corresponding control node, the logic value on the respective output being indicative of whether, during the writing step, an open bit occurred in the selected memory cell coupled to the corresponding program driver circuit, the corresponding limiter circuit being further configured to turn off the corresponding programming current based on the respective interruption signal; wherein, when the control unit is configured to cause the reconfigurable flip-flop circuits to operate in the first mode, the control unit is further configured to: detect the occurrence, during the writing step, of an open bit in any of the selected memory cells, based on the generated interruption signals; wherein the control unit is further controllable so as to cause the reconfigurable flip-flop circuits to operate, after the writing step, in a second mode; and wherein, when the control unit is configured to cause the reconfigurable flip-flop circuits to operate in the second mode, the control unit is further configured to generate a pulsed clock signal; and wherein, when operating in the second mode, the reconfigurable flip-flop circuits are coupled in cascade, and each reconfigurable flip-flop circuit is configured to: couple a respective input to the output of the following reconfigurable flip-flop circuit, so as to receive the logic value on the output of the following reconfigurable flip-flop circuit, the logic value on the output of the following reconfigurable flip-flop circuit being indicative of whether, during the writing step, an open bit occurred in the selected memory cell coupled to the program driver circuit which corresponds to the following reconfigurable flip-flop circuit; receive the clock signal; and transfer the logic value on the respective input onto the respective output, with a timing which depends on pulses of the clock signal; and wherein the control unit is further configured to determine the program driver circuit coupled, during the writing step, to the selected memory cell in which an open bit occurred, based on the logic values on the output of the first reconfigurable flip-flop circuit of the cascade, during at least one of the pulses of the clock signal.
4. The memory device according to claim 1, wherein, for each program driver circuit, the corresponding subset of main bitlines includes a single corresponding main bitline; and wherein each limiter circuit comprises a corresponding switching element, which is coupled to the corresponding output node and to a corresponding control node, the switching element being configured to couple the corresponding output node to the corresponding control node, in response to the voltage on the corresponding output node overcoming the reference voltage, so as to cause a switching of a logic value of a control voltage on the corresponding control node; and wherein each limiter circuit is configured so that the control voltage on the corresponding control node controls the turning off of the corresponding programming current.
5. The memory device according to claim 4, wherein, during the step of writing, the control unit controls the local selection circuits and the main selection circuits coupled to the selected memory cells through, respectively, a same local column-decoding signal and a same main column-decoding signal; and wherein each limiter circuit further comprises a reconfigurable flip-flop circuit coupled to the corresponding control node, the control unit being controllable so as to cause the reconfigurable flip-flop circuits to operate, during the writing step, in a first mode; and wherein, when operating in the first mode, each reconfigurable flip-flop circuit is configured to: generate, on a respective output, a respective interruption signal, whose logic value depends on the control voltage on the corresponding control node, the logic value on the respective output being indicative of whether, during the writing step, an open bit occurred in the selected memory cell coupled to the corresponding program driver circuit, the corresponding limiter circuit being further configured to turn off the corresponding programming current based on the respective interruption signal; wherein, when the control unit is configured to cause the reconfigurable flip-flop circuits to operate in the first mode, the control unit is further configured to: detect the occurrence, during the writing step, of an open bit in any of the selected memory cells, based on the generated interruption signals; wherein the control unit is further controllable so as to cause the reconfigurable flip-flop circuits to operate, after the writing step, in a second mode; and wherein, when the control unit is configured to cause the reconfigurable flip-flop circuits to operate in the second mode, the control unit is further configured to generate a pulsed clock signal; and wherein, when operating in the second mode, the reconfigurable flip-flop circuits are coupled in cascade, and each reconfigurable flip-flop circuit is configured to: couple a respective input to the output of the following reconfigurable flip-flop circuit, so as to receive the logic value on the output of the following reconfigurable flip-flop circuit, the logic value on the output of the following reconfigurable flip-flop circuit being indicative of whether, during the writing step, an open bit occurred in the selected memory cell coupled to the program driver circuit which corresponds to the following reconfigurable flip-flop circuit; receive the clock signal; and transfer the logic value on the respective input onto the respective output, with a timing which depends on pulses of the clock signal; and wherein the control unit is further configured to determine the program driver circuit coupled, during the writing step, to the selected memory cell in which an open bit occurred, based on the logic values on the output of the first reconfigurable flip-flop circuit of the cascade, during at least one of the pulses of the clock signal.
6. The memory device according to claim 1, further comprising a threshold generator circuit, which includes: a dummy current generator configured to inject a dummy current in a dummy node; a dummy main bitline and a dummy local bitline; a dummy memory cell including a resistor and coupled to the dummy local bitline; a dummy main selection circuit equal to the main selection circuits and electronically controllable so as to couple the dummy main bitline to the dummy node; and a dummy local selection circuit equal to the local selection circuits and electronically controllable so as to couple the dummy bitline to the dummy main bitline; wherein the threshold generator circuit is configured so that, during the writing step, the dummy memory cell is coupled to the dummy node through the dummy local selection circuit and the dummy main selection circuit, so as to be traversed by the dummy current; and wherein the threshold generator circuit is configured to generate a clamp voltage as a function of the voltage on a dummy sense node, the voltage on the dummy sense node depending on the voltage on the dummy main bitline; and wherein the reference voltage depends on the clamp voltage.
7. The memory device according to claim 6, wherein each limiter circuit comprises, for each main bitline of the corresponding subset of main bitlines, a corresponding switching element, which is coupled to the corresponding main bitline and to a control node of the limiter circuit, the switching element being configured to couple the corresponding main bitline to the control node, in response to the voltage on the corresponding main bitline overcoming the reference voltage, so as to cause a switching of a logic value of a control voltage on the control node; and wherein each limiter circuit is configured so that the control voltage on the corresponding control node controls the turning off of the corresponding programming current, and wherein the threshold generator circuit includes a voltage follower circuit which is configured to generate the clamp voltage based on the voltage on the dummy main bitline.
8. The memory device according to claim 6, wherein, for each program driver circuit, the corresponding subset of main bitlines includes a single corresponding main bitline; and wherein each limiter circuit comprises a corresponding switching element, which is coupled to the corresponding output node and to a corresponding control node, the switching element being configured to couple the corresponding output node to the corresponding control node, in response to the voltage on the corresponding output node overcoming the reference voltage, so as to cause a switching of a logic value of a control voltage on the corresponding control node; and wherein each limiter circuit is configured so that the control voltage on the corresponding control node controls the turning off of the corresponding programming current, and wherein the threshold generator circuit includes a voltage follower circuit which is configured to generate the clamp voltage based on the voltage on the dummy node.
9. The memory device according to claim 7, wherein the voltage follower circuit comprises: an amplifier, which is coupled to the dummy sense node; and an output element which is equal to the switching elements of the program driver circuits and forms a closed loop with the amplifier; wherein the clamp voltage is a function of an output voltage generated by the amplifier.
10. The memory device according to claim 6, wherein each storage element has a value of resistance which varies when the corresponding memory cell is written; and wherein a resistance of the resistor is a function of a greatest value of resistance which is assumed by the storage elements during writing.
11. The memory device according to claim 6, wherein the step of writing is alternatively of a set or reset type; and wherein the dummy current is equal to a maximum value assumed, in case of writing of either the set and reset type, by the programming currents during the step of writing, in case of absence of open bits in the corresponding selected memory cells.
12. The memory device according to claim 6, wherein the control unit is configured to control the local selection circuits and the main selection circuits through corresponding local column-decoding signals and corresponding main column-decoding signals; and wherein, during the writing step, the dummy local selection circuit and the dummy main selection circuit are respectively controlled by a dummy local column-decoding signal and a dummy main column-decoding signal, which are respectively equal to the local column-decoding signal and the main column-decoding signals which control the local selection circuit and the main selection circuit which are coupled to the selected memory cell.
13. The memory device according to claim 6, wherein the dummy memory cell further comprises a dummy access element, which is equal to the access elements of the memory cells; and wherein the control unit is configured to control, during the writing step, the dummy access element through a corresponding signal which is equal to a voltage present on the wordline coupled to the selected memory cell.
14. An electronic apparatus comprising: a bus; a controller coupled to the bus; and a memory device coupled to the bus, the memory device comprising: an array of memory cells arranged in rows and columns, each memory cell including a respective storage element and a respective access element; a plurality of wordlines, the memory cells of each row being coupled to a corresponding wordline of the plurality of wordlines; a plurality of local bitlines, the memory cells of each column being coupled to a corresponding local bitline of the plurality of local bitlines; a plurality of main bitlines, each main bitline being coupleable to a corresponding subset of local bitlines of the plurality of local bitlines; a plurality of program driver circuits, each of which has a corresponding output node and is configured to inject a programming current in the corresponding output node, each output node being coupleable to a corresponding subset of main bitlines of the plurality of main bitlines; a column decoder including, for each program driver circuit: for each of the main bitlines of the corresponding subset of the main bitlines, a corresponding main selection circuit, which is electronically controllable so as to selectively couple the main bitline to the output node of the program driver circuit; and for each of the local bitlines of the subset of local bitlines coupleable to a corresponding main bitline of the corresponding subset of main bitlines, a local selection circuit, which is electronically controllable so as to selectively couple the local bitline to the corresponding main bitline; and a control unit which is configured to control the local selection circuits and the main selection circuits so that, during a step of writing at least one selected memory cell, each of the at least one selected memory cell is coupled to the output node of a corresponding program driver circuit of the plurality of program driver circuits through the corresponding local bitline and the corresponding main bitline, so as to be traversed by the corresponding programming current, wherein each program driver circuit further includes a corresponding limiter circuit which is electrically coupled, for each main bitline of the corresponding subset of main bitlines, to a corresponding sense node whose voltage depends, when the selected memory cell coupled to the output node of the corresponding program driver circuit is coupled to the corresponding main bitline, on the voltage on the corresponding main bitline; and wherein each limiter circuit is configured to turn off the corresponding programming current, in response to the voltage on any of the corresponding sense nodes overcoming a reference voltage.
15. The electronic apparatus according to claim 14, wherein each limiter circuit comprises, for each main bitline of the corresponding subset of main bitlines, a corresponding switching element, which is coupled to the corresponding main bitline and to a control node of the limiter circuit, the switching element being configured to couple the corresponding main bitline to the control node, in response to the voltage on the corresponding main bitline overcoming the reference voltage, so as to cause a switching of a logic value of a control voltage on the control node; and wherein each limiter circuit is configured so that the control voltage on the corresponding control node controls the turning off of the corresponding programming current.
16. The electronic apparatus according to claim 15, wherein, during the step of writing, the control unit controls the local selection circuits and the main selection circuits coupled to the selected memory cells through, respectively, a same local column-decoding signal and a same main column-decoding signal; and wherein each limiter circuit further comprises a reconfigurable flip-flop circuit coupled to the corresponding control node, the control unit being controllable so as to cause the reconfigurable flip-flop circuits to operate, during the writing step, in a first mode; and wherein, when operating in the first mode, each reconfigurable flip-flop circuit is configured to: generate, on a respective output, a respective interruption signal, whose logic value depends on the control voltage on the corresponding control node, the logic value on the respective output being indicative of whether, during the writing step, an open bit occurred in the selected memory cell coupled to the corresponding program driver circuit, the corresponding limiter circuit being further configured to turn off the corresponding programming current based on the respective interruption signal; wherein, when the control unit is configured to cause the reconfigurable flip-flop circuits to operate in the first mode, the control unit is further configured to: detect the occurrence, during the writing step, of an open bit in any of the selected memory cells, based on the generated interruption signals; wherein the control unit is further controllable so as to cause the reconfigurable flip-flop circuits to operate, after the writing step, in a second mode; and wherein, when the control unit is configured to cause the reconfigurable flip-flop circuits to operate in the second mode, the control unit is further configured to generate a pulsed clock signal; and wherein, when operating in the second mode, the reconfigurable flip-flop circuits are coupled in cascade, and each reconfigurable flip-flop circuit is configured to: couple a respective input to the output of the following reconfigurable flip-flop circuit, so as to receive the logic value on the output of the following reconfigurable flip-flop circuit, the logic value on the output of the following reconfigurable flip-flop circuit being indicative of whether, during the writing step, an open bit occurred in the selected memory cell coupled to the program driver circuit which corresponds to the following reconfigurable flip-flop circuit; receive the clock signal; and transfer the logic value on the respective input onto the respective output, with a timing which depends on pulses of the clock signal; and wherein the control unit is further configured to determine the program driver circuit coupled, during the writing step, to the selected memory cell in which an open bit occurred, based on the logic values on the output of the first reconfigurable flip-flop circuit of the cascade, during at least one of the pulses of the clock signal.
17. The electronic apparatus according to claim 14, wherein, for each program driver circuit, the corresponding subset of main bitlines includes a single corresponding main bitline; and wherein each limiter circuit comprises a corresponding switching element, which is coupled to the corresponding output node and to a corresponding control node, the switching element being configured to couple the corresponding output node to the corresponding control node, in response to the voltage on the corresponding output node overcoming the reference voltage, so as to cause a switching of a logic value of a control voltage on the corresponding control node; and wherein each limiter circuit is configured so that the control voltage on the corresponding control node controls the turning off of the corresponding programming current.
18. The electronic apparatus according to claim 17, wherein, during the step of writing, the control unit controls the local selection circuits and the main selection circuits coupled to the selected memory cells through, respectively, a same local column-decoding signal and a same main column-decoding signal; and wherein each limiter circuit further comprises a reconfigurable flip-flop circuit coupled to the corresponding control node, the control unit being controllable so as to cause the reconfigurable flip-flop circuits to operate, during the writing step, in a first mode; and wherein, when operating in the first mode, each reconfigurable flip-flop circuit is configured to: generate, on a respective output, a respective interruption signal, whose logic value depends on the control voltage on the corresponding control node, the logic value on the respective output being indicative of whether, during the writing step, an open bit occurred in the selected memory cell coupled to the corresponding program driver circuit, the corresponding limiter circuit being further configured to turn off the corresponding programming current based on the respective interruption signal; wherein, when the control unit is configured to cause the reconfigurable flip-flop circuits to operate in the first mode, the control unit is further configured to: detect the occurrence, during the writing step, of an open bit in any of the selected memory cells, based on the generated interruption signals; wherein the control unit is further controllable so as to cause the reconfigurable flip-flop circuits to operate, after the writing step, in a second mode; and wherein, when the control unit is configured to cause the reconfigurable flip-flop circuits to operate in the second mode, the control unit is further configured to generate a pulsed clock signal; and wherein, when operating in the second mode, the reconfigurable flip-flop circuits are coupled in cascade, and each reconfigurable flip-flop circuit is configured to: couple a respective input to the output of the following reconfigurable flip-flop circuit, so as to receive the logic value on the output of the following reconfigurable flip-flop circuit, the logic value on the output of the following reconfigurable flip-flop circuit being indicative of whether, during the writing step, an open bit occurred in the selected memory cell coupled to the program driver circuit which corresponds to the following reconfigurable flip-flop circuit; receive the clock signal; and transfer the logic value on the respective input onto the respective output, with a timing which depends on pulses of the clock signal; and wherein the control unit is further configured to determine the program driver circuit coupled, during the writing step, to the selected memory cell in which an open bit occurred, based on the logic values on the output of the first reconfigurable flip-flop circuit of the cascade, during at least one of the pulses of the clock signal.
19. The electronic apparatus according to claim 14, wherein the memory device further comprises a threshold generator circuit, which includes: a dummy current generator configured to inject a dummy current in a dummy node; a dummy main bitline and a dummy local bitline; a dummy memory cell including a resistor and coupled to the dummy local bitline; a dummy main selection circuit equal to the main selection circuits and electronically controllable so as to couple the dummy main bitline to the dummy node; and a dummy local selection circuit equal to the local selection circuits and electronically controllable so as to couple the dummy bitline to the dummy main bitline; wherein the threshold generator circuit is configured so that, during the writing step, the dummy memory cell is coupled to the dummy node through the dummy local selection circuit and the dummy main selection circuit, so as to be traversed by the dummy current; and wherein the threshold generator circuit is configured to generate a clamp voltage as a function of the voltage on a dummy sense node, the voltage on the dummy sense node depending on the voltage on the dummy main bitline; and wherein the reference voltage depends on the clamp voltage.
20. The electronic apparatus according to claim 19, wherein each limiter circuit comprises, for each main bitline of the corresponding subset of main bitlines, a corresponding switching element, which is coupled to the corresponding main bitline and to a control node of the limiter circuit, the switching element being configured to couple the corresponding main bitline to the control node, in response to the voltage on the corresponding main bitline overcoming the reference voltage, so as to cause a switching of a logic value of a control voltage on the control node; and wherein each limiter circuit is configured so that the control voltage on the corresponding control node controls the turning off of the corresponding programming current, and wherein the threshold generator circuit includes a voltage follower circuit which is configured to generate the clamp voltage based on the voltage on the dummy main bitline.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) For a better understanding of the present invention, preferred embodiments thereof will now be described, purely by way of non-limiting example, with reference to the attached drawings, wherein:
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
(7)
(8) The memory device 1 comprises a memory array 2 formed by a plurality of memory cells 3, arranged in rows, or wordlines, and columns, or bitlines. Purely by way of example, illustrated in
(9) Each memory cell 3 is formed by a storage element 4a, also known as phase-change element (PCE), and by a selector element 4b, which are connected in series between a respective bitline BL and a terminal at a reference potential (for example, ground).
(10) The storage element 4a includes an element made of phase-change material (for example, a chalcogenide, such as GST) and is consequently able to store data in the form of levels of resistance associated to the different phases assumed by the material itself.
(11) The selector element 4b functions as access device and is formed by a bipolar transistor (BJT) of a PNP type, the emitter terminal of which is connected to a first terminal of the storage element 4a, while the base terminal is connected to a corresponding wordline WL. The collector terminal of the bipolar transistor is connected to ground. In this regard, each wordline WL is connected to all the base terminals of the bipolar transistors aligned along the corresponding row. Moreover, each bitline BL is connected to the second terminal of the storage elements 4a aligned along the corresponding column.
(12) In practice, given a memory cell 3, the second terminal of the storage element 4a and the base terminal of the bipolar transistor 4b form, respectively, a bitline terminal and a wordline terminal of the memory cell 3.
(13) The memory device 1 further comprises a column decoder 8 and a row decoder 10, which enable selection of the memory cells 3 on the basis of address signals received at input (designated as a whole by AS). The address signals AS can be generated by a control logic CL, which moreover governs the column decoder 8 and the row decoder 10 so as to enable reading and writing (also known as programming) of the memory cells 3 addressed by the address signals AS. The control logic CL supplies to the column decoder 8 and to the row decoder 10 also control signals in order to govern the reading/writing operations.
(14) The column decoder 8 and the row decoder 10 enable biasing, and hence selection, of the wordlines WL and bitlines BL each time selected so as to select the memory cells 3 connected to them; in this way, reading and writing of the memory cells 3 are enabled.
(15) In greater detail, the row decoder 10 is designed to select, on the basis of the address signals AS, a corresponding wordline WL. The other wordlines WL are de-selected. For this purpose, the row decoder 10 comprises a decoding stage 4 and a plurality of driving circuits 6.
(16) The decoding stage 4 receives the address signals AS and governs the driving circuits 6 according to the address signals AS. Each driving circuit 6 hence has an input, which is connected to the decoding stage 4. Each driving circuit 6 moreover has an output, which is connected to a corresponding wordline WL.
(17) Each driving circuit 6 biases, and hence controls, the base terminals of the bipolar transistors 4b connected to the corresponding wordline WL so as to select/de-select the wordline WL according to the address signals AS.
(18) Column decoder 8 selects, according to the address signals AS, one or more bitlines BL. In practice, the column decoder 8 co-operates with the row decoder 10 in such a way that, during the steps of reading or writing of any memory cell 3 selected, a reading current or a writing current, respectively, flows through the storage element 4a of this memory cell 3. Furthermore, when a memory cell 3 is selected, the base terminal of its bipolar transistor 4b is set at a voltage approximately null; on the contrary, when a memory cell 3 is not selected, the base terminal of its bipolar transistor 4b is set at a positive voltage.
(19) In particular, the column decoder 8 is configured for implementing within it two distinct paths towards the bitlines BL of the memory array 2 each time selected: a reading path, which electrically connects each bitline BL selected to a reading stage 17, during the reading step; and a writing path, which electrically connects each bitline BL selected to a writing stage 18, during the programming step.
(20) The column decoder 8 comprises, for each reading and writing path, appropriate selection elements (in particular, transistors), which are connected so as to implement a hierarchical decoding of the addresses in order to select the memory cells 3.
(21) As illustrated schematically in
(22) The main bitlines MBL traverse a certain number of sectors S and can be selected in groups at a hierarchical decoding level even higher than the one associated to selection of the local bitlines BL.
(23) In greater detail, the column decoder 8 comprises: for each sector S, at least one respective first-level decoding circuit (designated by 11 in
(24) The control logic CL sends to the second-level decoding circuit 13 main column-decoding signals sYN<i>, which are visible in
(25) As mentioned previously,
(26) Furthermore, given a sector S, the corresponding first-level decoding circuit 11 is able to address each memory cell 3 coupled to a local bitline BL<i,j> of the sector S thanks to the presence of local selection switches, which are driven by respective local column-decoding signals sYO<i,j>, which are generated by the control logic CL and also form part of the aforementioned address signals AS. It should be noted that, for simplicity, in
(27) During the step of writing, the first-level decoding circuit 11 and the second-level decoding circuit 13 function in the same way as the one described with reference to
(28) In greater detail,
(29) The program driver circuit 19 comprises a current mirror 22, which in turn comprises a first and a second mirror transistor 24, 26, which are P-channel enhancement MOS transistors and have source terminals connected to a supply node, which is set, in use, at a supply voltage V.sub.DD, as an example equal to 5V. Furthermore, the gate terminal of the first mirror transistor 24 is connected to the drain terminal of the first mirror transistor 24, which in turn is connected to the current programming circuit 20, so as to supply a preliminary programming current I, which is drawn by the current programming circuit 20; the preliminary programming current I is directed towards the current programming circuit 20 and is of the pulsed type. The gate terminal of the second mirror transistor 26 is connected to the drain terminal of the first mirror transistor 24, in a manner such that, in use, a programming current I* flows in the second mirror transistor 26, which is equal to w times I, wherein w is the mirroring ratio of the current mirror 22; as an example, w may be equal to ten.
(30) The drain terminal of the second mirror transistor 26 forms an output node N.sub.out of the program driver circuit 19, which is coupled, during the step of writing, to the memory cell 3 which has to be written, i.e., to the selected memory cell 3, which is connected to the selected wordline WL and to the selected local bitline BL. For instance, the coupling occurs through interposition of a local selection transistor 30 and a main selection transistor 32, which are P-channel enhancement MOS transistors, are connected in series and form, respectively, the first-level decoding circuit 11 and the second-level decoding circuit 13.
(31) In particular, the drain terminal of the local selection transistor 30 is connected to the local bitline BL connected to the memory cell 3, and thus it is connected to the second terminal of the storage element 4a of the memory cell 3. The source terminal of the local selection transistor 30 is connected to the main bitline MBL relating to the abovementioned local bitline BL, and thus it is connected to the drain terminal of the main selection transistor 32. The source terminal of the main selection transistor 32 is connected to the output node N.sub.out, whose voltage is equal, as an example, to 4V, because of the voltage drop along the column caused by the programming current I*. The gate terminals of the local selection transistor 30 and of the main selection transistor 32 receive, respectively, a corresponding local column-decoding signal (for brevity designated by sYO) and a corresponding main column-decoding signal (for brevity designated by sYN), which, during the step of writing, assume both the logic value ‘0’ and have voltages which, as an example, are respectively equal to 1.6V and 2.4V. Because of the abovementioned voltage drop, the voltages on the main bitline MBL and on the local bitline BL may thus be respectively equal to, as an example, 3.5V and 3V.
(32) In practice, it happens that the so-called gate-source voltage V.sub.gs and gate-drain voltage V.sub.gd stay below 2V both in the case of the local selection transistor 30 and the case of the main selection transistor 32, thanks to the values of the abovementioned voltages present on the gate terminals. Assuming that the local selection transistor 30 and the main selection transistor 32 are formed by means of a technology such that the corresponding oxides are able to withstand a voltage up to 2V, they are not at risk of being damaged.
(33) Unfortunately, it is known that, following the occurrence of writing cycles, so-called “open bits” may appear in the memory array 2, i.e., it may happen that one or more memory cells 3 get damaged, in which case the corresponding storage elements 4a permanently behave like an open circuit, thereby preventing the current from flowing through the memory cells 3. In this case, it occurs that the programming current I* cannot flow any more through the second mirror transistor 26, the local selection transistor 30 and the main selection transistor 32, which are off. Furthermore, the source and drain terminals of the local selection transistor 30 and of the main selection transistor 32, and thus also the main bitline MBL and the local bitline BL, are set at a voltage approximately equal to the supply voltage V.sub.DD. Since the gate terminals of the local selection transistor 30 and of the main selection transistor 32 are still set at, respectively, the abovementioned voltages equal to 1.6V and 2.4V, it happens that, both in the local selection transistor 30 and in the main selection transistor 32, the gate-source voltage V.sub.gs and the gate-drain voltage V.sub.gd overcome 2V, with a consequent increase of the risk of damaging the local selection transistor 30 and the main selection transistor 32.
(34) In other words, in the presence of open bits, an increase of the voltage occurs in the column decoder 8, concurrently with the generation of the pulses of the preliminary programming current I, with consequent generation of the so-called overvoltage stress on the transistors of the column decoder 8. That entails a reduction of the reliability of the column decoder 8.
(35)
(36) In detail, the program driver circuit, designated by 19′, comprises a current generator transistor 34, which is a N-channel enhancement MOS transistor. The gate and drain terminals of current generator transistor 34 are respectively connected to the current programming control circuit (here designated by 20′) and to the gate terminals of the first and second mirror transistors 24, 26. The current programming circuit 20′ is configured to control the gate terminal of the current generator transistor 34 so that this latter is traversed by the abovementioned preliminary programming current I.
(37) In addition, the program driver circuit 19′ comprises a limiter circuit 35, which includes a limiting transistor 40, which is a P-channel enhancement MOS transistor. The limiter circuit 35 further includes a control transistor 42 and a first and a second additional transistors 43, 44, which are N-channel enhancement MOS transistors, as an example equal to the current generator transistor 34. The limiter circuit 35 further includes a flip-flop circuit 46 and an inverter circuit 48.
(38) In detail, the source terminal of the limiting transistor 40 is connected to the output node N.sub.out of the program driver circuit 19′, whereas its drain terminal forms a control node N.sub.ctrl and is connected to the drain terminal of the first additional transistor 43. A voltage V.sub.clamp is present on the gate terminal of the limiting transistor 40; the voltage V.sub.clamp is generated by a threshold generator circuit 50 of the memory device 100, described in greater detail below. In addition, a voltage V.sub.clamp_out is present on the control node N.sub.ctrl.
(39) The gate terminal of the first additional transistor 43 is connected to the current programming control circuit 20′, whereas the source terminal of the first additional transistor 43 is connected to the drain terminal of the second additional transistor 44, the source terminal of which being connected to ground. The gate terminal of the second additional transistor 44 is set at a voltage V.sub.ON, which is generated by the control logic CL. In particular, as described in greater detail below, when, during a writing step, the protection conferred by the limiter circuit 35 is intended to be used, the voltage V.sub.ON is set to the logic value ‘1’, so that the second additional transistor 44 is on. To this regard, in the following description, reference will be made to the case in which the limiter circuit 35 is kept functioning, unless otherwise specified.
(40) The clock input of the flip-flop circuit 46 is connected to the control node N.sub.ctrl, so that the output terminal Q of the flip-flop circuit 46 is controlled by the voltage V.sub.clamp_out. The data input terminal of the flip-flop circuit 46 is set at a secondary supply voltage V.sub.d, as an example equal to 1V. The reset input terminal of the flip-flop circuit 46 may be controlled by a signal sRESET generated by the control logic CL. The output terminal Q of the flip-flop circuit 46 is connected to the input of the inverter circuit 48, the output of which is connected to the gate terminal of the control transistor 42; the drain terminal of the control transistor 42 is connected to the source terminal of the current generator transistor 34, whereas the source terminal of the control transistor 42 is connected to ground.
(41) The threshold generator circuit 50 includes a dummy circuit 52, which includes a dummy local selection transistor 30*, a dummy main selection transistor 32*, a dummy main bitline MBL*, a dummy local bitline BL* and a dummy memory cell 3*, which are arranged in the same way as, respectively, the local selection transistor 30, the main selection transistor 32, the main bitline MBL, the local bitline BL and the memory cell 3, but for the fact that the dummy cell 3*, besides including a dummy bipolar transistor 4b* which is equal to the bipolar transistors 4b, includes a dummy storage element which is formed by a resistor 4a*.
(42) In addition, the threshold generator circuit 50 further comprises a dummy mirror transistor 26*, which may be equal to the second mirror transistor 26. Furthermore, a voltage V* is set on the gate terminal of the dummy mirror transistor 26*, whereas the source terminal of the dummy mirror transistor 26* is set at the supply voltage V.sub.DD. The drain terminal of the dummy mirror transistor 26* forms a dummy output node N.sub.out*, which is connected to the source terminal of the dummy main selection transistor 32*.
(43) The voltages on the gate terminals of the dummy local selection transistor 30* and the dummy main selection transistor 32* are respectively designated by sYO* and sYN*; they are respectively equal to the voltages of the main column-decoding signals sYN and of the local column-decoding signals sYO when these latter respectively select the corresponding main bitlines MBL and the corresponding local bitlines BL during the writing operations. In addition, the base terminal of the dummy bipolar transistor 4b* is set at the same voltage present on the selected wordline WL (e.g., it is set to ground).
(44) The threshold generator circuit 50 further comprises an operational amplifier 54, a third additional transistor 56, an output transistor 58 and a bias transistor 60.
(45) The output transistor 58 and the bias transistor 60 are P-channel enhancement MOS transistors; furthermore, the output transistor 58 is equal to the limiting transistor 40. The source terminal of the bias transistor 60 is set to the supply voltage V.sub.DD, whereas the drain terminal of the bias transistor 60 is connected to the negative input terminal of the operational amplifier 54, the positive input terminal of which is connected to the dummy output node N.sub.out*. The gate terminal of the bias transistor 60 is set at a voltage V.sub.pbias, which may be linked to the voltage present on the gate terminal of the first additional transistor 43. As an example, the voltage V.sub.pbias may be such that the bias transistor 60 is on, and the current which flows through the bias transistor 60, and thus through the output transistor 58, is equal to, purely as an example, half the current which flows in the first additional transistor 43. In any case, the precise value of the current flowing in the bias transistor 60 is irrelevant.
(46) The source terminal of the output transistor 58 is connected to the drain terminal of the bias transistor 60, and thus also to the negative input terminal of the operational amplifier 54. The gate terminal of the output transistor 58 is connected to output terminal of the operational amplifier 54. The drain terminal of the output transistor 58 is connected to the drain terminal of the third additional transistor 56. The source terminal of the third additional transistor 56 is connected to ground, whereas the gate terminal of the third additional transistor 56 is set to the voltage V.sub.ON, so that the third additional transistor 56 is on during writing, if the open bit detection is being carried out.
(47) From an operative point of view, the operational amplifier 54 implements a voltage follower scheme and generates, on its output terminal, the voltage V.sub.clamp, which controls the limiting transistor 40.
(48) In addition, the voltage V* is generated by means (as an example) of a dedicated current mirror (not shown; as an example, formed within the current programming circuit 20′), so that a dummy current I** flows through the dummy mirror transistor 26*, the dummy main selection transistor 32*, the dummy local selection transistor 30* and the resistor 4a*. Furthermore, the voltage V* may be set equal to a value such that the dummy current I** is equal to the maximum current which, during any writing operation (i.e., either of the set type or the reset type), flows in the memory cell 3 to be written, in the absence of open bit. As an example, the dummy current I** may be equal to the maximum current which, during a reset operation, flows in the memory cell 3 to be written, in case the reset operation requires an higher current than the set operation.
(49) This having been said, it is possible to demonstrate that the following equation holds:
V.sub.clamp=V.sub.be+R*(I**)+V′+V″−V.sub.th
(50) wherein: V.sub.be is the emitter-base voltage of the dummy bipolar transistor 4b*; R is the resistance of the resistor 4a*; I** is the abovementioned dummy current; V′ is the source-drain voltage of the dummy local selection transistor 30*; V″ is the source-drain voltage of the dummy main selection transistor 32*; and V.sub.th is the threshold voltage of the output transistor 58.
(51) Given that each storage element 4a has a value of resistance which varies during the writing step (because of the melting of the phase-change material), the value of the resistance R of the resistor 4a* may be set equal to the greatest value of resistance which can be assumed by the storage elements 4a during any writing step (i.e., considering either the set operation and the reset operation).
(52) Without any loss of generality, the memory device 100 includes, for each main bitline MBL, a corresponding program driver circuit 19′; the program driver circuits 19′ share the current programming circuit 20′ and the threshold generator circuit 50. In addition, the threshold generator circuit 50 generates the voltage V.sub.clamp in a manner such that the sum of the voltage V.sub.clamp and the threshold voltage V.sub.th of the output transistor 58 simulates the greatest allowed voltage on the output node N.sub.out in the absence of the open bit.
(53) This having been said, referring to the program driver circuit 19′ shown in
(54) By referring to the voltage on the output terminal Q of the flip-flop circuit 46 as the voltage V.sub.int, this voltage V.sub.int is set to ‘0’, as explained before. Therefore, the voltage on the output of the inverter circuit 48 (hereinafter referred to as nV.sub.int) is set to ‘1’, thus the control transistor 42 is above threshold; as a consequence, the preliminary programming current I flows in the current generator transistor 34 and the programming current I* is injected by the second mirror transistor 26 into the output node N.sub.out. Furthermore, the dummy current I** flows in the resistor 4a*.
(55) By referring to the voltage V.sub.out to designate the voltage on the output node N.sub.out, the limiting transistor 40 is off, as long as the voltage V.sub.out is lower than V.sub.clamp+V.sub.th40, with V.sub.th40 which designates the threshold voltage of the limiting transistor 40, which is equal to the abovementioned voltage V.sub.th. Therefore, the voltage V.sub.clamp+V.sub.th40 is equal to the greatest voltage which should be present on the output node N.sub.out in the absence of the open bit.
(56) In view of the above, when the memory cell 3 functions properly (i.e., there is no open bit), the limiting transistor 40 is off, because the voltage on the main bitline MBL and on the local bitline BL is limited, as explained with reference to
(57) On the contrary, in case an open bit occurs in the memory cell 3, the voltage V.sub.out tends to rise, because, as explained with reference to
(58) From another point of view, the voltage Vclamp_out results from the comparison between the current flowing through the first additional transistor 43 and the current flowing through the limiting transistor 40, this latter being substantially equal to the current flowing through the output transistor 58 and being thus set by the voltage Vpbias, so that the ratio between the abovementioned currents flowing through the first additional transistor 43 and the limiting transistor 40 falls within a predetermined range (e.g., between 0.1 and 10). This having been said, if the current flowing through the first additional transistor 43 is respectively greater than, or lower than, the current flowing through the limiting transistor 40, the voltage Vclamp_out is respectively equal to the logic value ‘0’ or to the logic value ‘1’.
(59) According to the embodiment shown in
(60) In detail, in the memory device (designated by 200) of
(61) In greater detail, the limiter circuit 35 comprises, for each main bitline, a corresponding limiting transistor; in
(62) Each of the limiting transistors 40′-40″″ has a source terminal, which is connected to the corresponding main bitline MBL<0>-MBL<3>, and a corresponding drain terminal, which is connected to the drain terminal of the first additional transistor 43, i.e., to the control node N.sub.ctrl; the voltage on the control node N.sub.ctrl is still referred to as voltage V.sub.clamp_out. The gate terminals of the limiting transistors 40′-40″″ receive the voltage V.sub.clamp generated by the threshold generator (designated by 250), which is shared among the program driver circuits 19″.
(63) As shown in
(64) In detail, the positive input terminal of the operational amplifier 54 is connected to the dummy main bitline MBL*. Therefore, the dummy main selection transistor 32* is outside the control loop which generates the voltage V.sub.clamp. In addition, in this case the following equation applies:
V.sub.clamp=V.sub.be+R*(I**)+V′−V.sub.th
(65) In practice, the sum of the voltage V.sub.clamp and the threshold voltage V.sub.th of the output transistor 58 simulates the greatest allowed voltage on the main bit line MBL coupled to the selected memory cell 3 in the absence of the open bit.
(66) Basically, the memory device 200 functions in the same way as the memory device 100. In particular, as mentioned before, at any time, only one of the main selection transistors 32 coupled to the main bitlines MBL<0>-MBL<3> is on, i.e., only the main selection transistor 32 connected to the selected main bitline MBL is on. As an example, in the following it is assumed that the main bitline MBL<0> has been selected. Furthermore, in case an open bit occurs during the writing of one of the memory cells 3 connected to one of the k local bitlines BL which can be coupled to the main bitline MBL<0>, the voltage on the main bitline MBL<0> (designated by V.sub.MBL in
(67) Still with reference to the embodiment of
(68) Further embodiments are possible, as an example in which the mechanism of injection of the programming current I* in the output node N.sub.out is different from the one previously described.
(69) As an example,
(70) In detail, the selector element of each memory cell 3 is formed by a corresponding access transistor (here designated by 5b), which is a N-channel enhancement MOSFET transistor. Furthermore, the drain terminal of each access transistor 5b is connected to the corresponding storage element 4a, whereas the source terminal is connected to ground. In case of selection of the corresponding wordline WL, the gate terminal of any access transistor 5b is set to ‘1’, in a per se known manner.
(71) The memory device (here designated by 300) comprises a current controller 20″, which is shared among the program driver circuits (here designated by 19′″; only one shown in
(72) The source terminal of the injection transistor 302 is set at the supply voltage V.sub.DD, whereas the drain terminal is connected to the output node N.sub.out. The driving switch 301 is controlled by a voltage V.sub.int′, so as to, alternatively, i) couple the gate terminal of the injection transistor 302 to the current controller 20″ (when V.sub.int′ is equal to the logic value ‘0’) or ii) set it to the supply voltage V.sub.DD (when V.sub.int′ is equal to the logic value ‘1’). In particular, when the gate terminal of the injection transistor 302 is coupled to the current controller 20″, the injection transistor 302 injects the programming current I* in the output node N.sub.out; on the contrary, when the gate terminal of the injection transistor 302 is set to the supply voltage V.sub.DD, the injection transistor 302 is off.
(73) In addition, the memory device 300 further comprises a cascode transistor 304, a current generator 306 and a latch circuit 308.
(74) The cascode transistor 304 is a N-channel enhancement MOSFET transistor, whose drain terminal and source terminal are respectively connected to the control node N.sub.ctrl, and to the current generator 306, this latter being also connected to ground and being configured to generate a bias current I.sub.b.
(75) A first input of the latch circuit 308 is connected to the source terminal of the cascode transistor 304, whereas the second input terminal of the latch circuit 308 receives the signal sRESET.
(76) In use, the cascode transistor 304 is kept on by the control logic CL, by setting its gate terminal at a voltage V.sub.casn, as an example equal to 1.5V. Furthermore, a voltage V.sub.clamp_out′ is present on the first input of the latch circuit 308, which has the same logic value of the voltage V.sub.clamp_out on the control node N.sub.ctrl. In particular, if the voltage V.sub.clamp_out is respectively equal (as an example) to 0V or 4.5V, the voltage V.sub.clamp_out′ is respectively equal to 0V or 1V, due to the presence of the cascode transistor 304.
(77) The latch circuit 308 generates on its output the abovementioned voltage V.sub.int′, as a function of the voltage
(78) V.sub.clamp_out′, and thus as a function of the voltage V.sub.clamp_out, so—that the voltage V.sub.int′ has the same logic value as the voltage V.sub.clamp_out′.
(79) The threshold generator circuit (here designated by 350) is the same as the one of
(80) The gate terminal of the dummy mirror transistor 26* is set at the voltage V*, so that that the dummy current I** is equal to the maximum current which, during any writing operation (i.e., either of the set or reset type), flows in the memory cell 3 to be written.
(81) The voltage V.sub.pbias is such that the bias transistor 60 is on, and the current which flows through the bias transistor 60 is equal to, as an example, half the current which flows in the current generator 306.
(82) In addition, in the place of the dummy bipolar transistor 4b*, a dummy MOSFET transistor 5b* is present, which is equal to the access transistors 5b. The gate terminal of the dummy MOSFET transistor 5b* is set by the control logic CL at a voltage V.sub.en_clamp, which is the same as the voltage present on the wordlines WL when selected, so as to keep the dummy MOSFET transistor 5b* on.
(83) The functioning of the memory device 300 is the same as the one of the memory device 200.
(84) In detail, by considering that the voltage drop on the dummy MOSFET transistor 5b* is negligible, the following equation applies:
V.sub.clamp=R*(I**)+V′−V.sub.th
(85) In use, after a reset of the latch circuit 308 through the signal sRESET, the voltage V.sub.int′ is equal to the logic value ‘0’, so as to force the driving switch 301 to connect the gate terminal of the injection transistor 302 to the current controller 20″, so as to generate the programming current I*.
(86) Assuming as an example that the main bitline MBL<0> has been selected and assuming that an open bit occurs during the writing of one of the memory cells 3 connected to one of the k local bitlines BL which can be coupled to the main bitline MBL<0>, the voltage on the main bitline MBL<0> tends to rise; however, when the voltage on the main bitline MBL<0> (designated by V.sub.MBL in
(87) The memory device 300 further comprises a logic gate 310 of the ‘OR’ type. In particular, in order to detect the occurrence of an open bit in the memory array 2, the voltages V.sub.int′ (only one shown in
(88) Without any loss of generality, the embodiment of
(89) The voltages on the control nodes N.sub.ctrl of the first, second and third program driver circuits 19a″, 19b″, 19c″ are respectively designated by V.sub.clamp_out_A, V.sub.clamp_out_B and V.sub.clamp_out_C. The voltages on the outputs of the inverter circuits 48 of the first, second and third program driver circuits 19a″, 19b″, 19c″ are respectively designated by SnV.sub.int_A, SnV.sub.int_B and SnV.sub.int_C; the voltages on the outputs of the flip-flop circuits 46 of the first, second and third program driver circuits 19a″, 19b″, 19c″ are respectively designated by SV.sub.int_A, SV.sub.int_B and SV.sub.int_C.
(90) In addition, the memory device 400 includes, for each of the first, second and third program driver circuits 19a″, 19b″, 19c″, a corresponding first multiplexer 401 and a corresponding second multiplexer 402.
(91) In detail, the first and second input terminals of the first multiplexer 401 of the first program driver circuit 19a″ are respectively connected to the secondary supply voltage V.sub.d and to the output of the inverter circuit 48 of the second program driver circuit 19b″, to receive the voltage SnV.sub.int_B. The first input terminal of the second multiplexer 402 of the first program driver circuit 19a″ is connected to the corresponding control node N.sub.ctrl, to receive the voltage V.sub.clamp_out_A. The second input terminal of the second multiplexer 402 of the first program driver circuit 19a″ receives a clock signal scan_ck, which may be generated by the control logic CL.
(92) The outputs of the first and second multiplexers 401, 402 of the first program driver circuit 19a″ are connected, respectively, to the data input terminal and to the clock input terminal of the corresponding flip-flop circuit 46.
(93) The first and second input terminals of the first multiplexer 401 of the second program driver circuit 19b″ are respectively connected to the secondary supply voltage V.sub.d and to the output of the inverter circuit 48 of the third program driver circuit 19b″, to receive the voltage SnV.sub.int_C. The first input terminal of the second multiplexer 402 of the second program driver circuit 19b″ is connected to the corresponding control node N.sub.ctrl, to receive the voltage V.sub.clamp_out_B. The second input terminal of the second multiplexer 402 of the second program driver circuit 19b″ receives the clock signal scan_ck.
(94) The outputs of the first and second multiplexers 401, 402 of the second program driver circuit 19b″ are connected, respectively, to the data input terminal and to the clock input terminal of the corresponding flip-flop circuit 46.
(95) The first and second input terminals of the first multiplexer 401 of the third program driver circuit 19c″ are respectively connected to the secondary supply voltage V.sub.d and to ground. The first input terminal of the second multiplexer 402 of the third program driver circuit 19c″ is connected to the corresponding control node N.sub.ctrl, to receive the voltage V.sub.clamp_out_C. The second input terminal of the second multiplexer 402 of the third program driver circuit 19c″ receives the clock signal scan_ck.
(96) The outputs of the first and second multiplexers 401, 402 of the third program driver circuit 19c″ are connected, respectively, to the data input terminal and to the clock input terminal of the corresponding flip-flop circuit 46.
(97) All the first and second multiplexers 401, 402 are controlled by means of a signal scan_en generated by the control logic CL, so that, when the signal scan_en is equal to the logic value ‘0’, each of the first and second multiplexers 401, 402 connects its output terminal to its first input terminal, and when the signal scan_en is equal to the logic value ‘1’, each of the first and second multiplexers 401, 402 connects its output terminal to its second input terminal. To this regard, the control logic CL may be controlled (i.e., programmed), in a per se known manner, so as to set the signal scan_en equal to ‘0’ (e.g., in normal use) or to ‘1’ (e.g., during a failure analysis).
(98) In addition, the memory device 400 includes a logic gate 410 of the ‘OR’ type, which receives at input the voltages SV.sub.int_A, SV.sub.int_B and SV.sub.int_C and generates the signal OpenB_det.
(99) Basically, when the control logic CL sets the signal scan_en equal to the logic value ‘0’, the memory device 400 functions as the memory device 200. In this case, the voltages SnV.sub.int_A, SnV.sub.int_B and SnV.sub.int_C are equal to voltages nV.sub.int which are generated, respectively, by the inverter circuits 48 of the first, second and third program driver circuits 19a″, 19b″, 19c″; similarly, the voltages SV.sub.int_A, SV.sub.int_B and SV.sub.int_C are equal to voltages V.sub.int which are generated, respectively, by the flip-flop circuits 46 of the first, second and third program driver circuits 19a″, 19b″, 19c″. Therefore, the signal OpenBit_det is equal to ‘0’ in the absence of open bit and is equal to ‘1’ when an open bit occurs, irrespective of the position of the open bit.
(100) In practice, in normal use the signal scan_en is equal to ‘0’, and the control logic CL can detect, based on the signal OpenBit_det, the occurrence of an open bit during a writing step. To this regard, in a per se known manner, during the writing the first, second and third program driver circuits 19a″, 19b″, 19c″ share the same address, i.e., they select and write at the same time respective selected memory cells 3 which have the same relative position, i.e., are addressed by means of the same pair of local and main column-decoding signals. As an example, by assuming that the shared address corresponds to the U-th main bitline MBL and to the L-th local bitline BL, each of the first, second and third program driver circuits 19a″, 19b″, 19c″ selects the respective main bitline MBL<U> and the respective local bitlines BL<L>, only the local bitline BL<L> which is coupled to the main bitline MBL<U> being traversed by the programming current I*.
(101) In addition, as explained before, the control logic CL can be controlled so as to set the signal scan_en equal to ‘1’, as an example after the detection of the occurrence of an open bit during a writing step involving a selected local bitline BL, a selected main bitline MBL and a selected wordline WL. When the control logic CL sets the signal scan_en equal to the logic value ‘1’, the memory device 400 implements a scan chain, as described here below.
(102) In detail, the switching of the signal scan_en to ‘1’ implies that the voltages (in particular, the corresponding logic values) on the output terminals Q of the flip-flops 46, and thus also on the output terminals of the inverter circuits 48, “freeze”, i.e. they do not change, until the control logic CL generates a pulse of the clock signal scan_ck, as described here below. Therefore, also the logic values of the voltages SnV.sub.int_A, SnV.sub.int_B and SnV.sub.int_C remain stuck to the corresponding logic values which were generated during the abovementioned writing step (i.e., during the last writing step with the signal scan_en equal to ‘0’), until the control logic CL generates a pulse of the clock signal scan_ck.
(103) In addition, the logic values on the data inputs of the flip-flop circuits 46 of the first and second program driver circuits 19a″, 19b″ are respectively equal to the logic values of the voltages SnV.sub.int_B and SnV.sub.int_C, which, as said before, are respectively equal to the voltages nV.sub.int which were generated by the inverter circuits 48 of the second and third program driver circuits 19b″, 19c″ during the abovementioned writing step (i.e., when the signal scan_en was equal to ‘0’); similarly, as said before, the logic value of the voltage SnV.sub.int_A is equal to the logic value of the voltage nV.sub.int which was generated by the inverter circuit 48 of the first program driver circuit 19a″ during the abovementioned writing step. Therefore, the logic values of the voltages SnV.sub.int_A, SnV.sub.int_B and SnV.sub.int_Cv depend on whether the open bit occurred in a memory cell 3 coupled to the corresponding program driver circuit, or not.
(104) This having been said, by referring to the signal scan_out to designate the signal present on the output terminal of the inverter circuit 48 of the first program driver circuit 19a″ when the signal scan_en is equal to ‘1’, it happens as follows.
(105) Each group formed by the flip-flop circuit 46, the inverter circuit 48 and the first and second multiplexers 401, 402 of any of the first, second and third program driver circuits 19a″, 19b″, 19c″ acts as a reconfigurable circuit, which operates in a different mode, based on the logic value of the signal scan_en. Furthermore, when the signal scan_en is equal to ‘1’, the input of each reconfigurable circuit is coupled to the output of the following reconfigurable circuit, so as to receive the logic value present on this latter and transfer this logic value onto its own output, when a pulse of the clock signal scan_ck occurs.
(106) In view of the above, after the switching to ‘1’ of the signal scan_en, the signal scan_out has a first logic value, which is equal to the logic value of the voltage SnV.sub.int_A, which is equal to ‘1’ if the open bit occurred in a memory cell 3 connected to the first program driver circuit 19a″, otherwise it is equal to ‘0’.
(107) After a first pulse of the clock signal scan_ck, the signal scan_out has a second logic value, which is the same as the logic value of the voltage SnV.sub.int_B, which is equal to ‘1’ if the open bit occurred in a memory cell 3 connected to the second program driver circuit 19b″, otherwise it is equal to ‘0’.
(108) After a second pulse of the clock signal scan_ck, the signal scan_out has a third logic value, which is the same as the logic value of the voltage SnV.sub.int_C, whose logic value is equal to ‘1’ if the open bit occurred in a memory cell 3 connected to the third program driver circuit 19c″, otherwise it is equal to ‘0’.
(109) Therefore, based on the abovementioned first, second and third logic values assumed by the signal scan_out, the control logic CL can determine whether the open bit occurred in a memory cell 3 written either by the first or the second or the third program driver circuits 19a″, 19b″, 19c″; furthermore, by referring to the abovementioned selected main bitline MBL, selected bitline BL (in particular, to the corresponding main column-decoding signal and corresponding local column-decoding signal) and selected wordline WL, the control logic CL can determine the memory cell 3 in which the open bit occurred.
(110) Although not shown, embodiments are possible, which are the same as the one shown in
(111)
(112) In detail, the electronic apparatus 570 comprises: a controller 571 (for example, provided with a microprocessor, a DSP, or a microcontroller); an input/output device 572 (for example, provided with a keypad and a display), for input and display of the data; the memory device 500; a wireless interface 574, for example an antenna, for transmitting and receiving data through a radiofrequency wireless communication network; and a RAM 575. All the components of the electronic apparatus 570 are coupled through a bus 576. It is possible to use a battery 577 as electrical supply source in the electronic apparatus 570, which may moreover be provided with a photographic or video camera 578. In addition, the controller 571 can control the memory device 500, for example by co-operating with the control logic CL.
(113) The advantages provided by the present memory device are made clear by the above description.
(114) In particular, the present solution allows avoiding the occurrence of overvoltage stresses on the transistors of the column decoder, in case an open bit occurs during a writing step, so as to protect the transistors. Furthermore, the implementation of the threshold generator circuit, which includes a dummy circuit, allows precisely generating a reference voltage which simulates the voltage which occurs in the column decoder, in the absence of open bits.
(115) Basically, the protection is obtained, in each program driver circuit, by sensing, for each main bitline coupleable of the program driver circuit, a corresponding sense node, which, in case of a single main bitline coupleable to the program driver circuit, coincides with the output node N.sub.out of the program driver, and, in case of more than one main bitlines coupleable to the program driver circuit, coincides with the main bitline. In both cases, the voltage on the sense node at least depends on (or may even coincide with) the voltage on the corresponding main bitline, when the selected memory cell coupled to the output node N.sub.out of the program driver circuit (i.e., the cell written by the considered program driver circuit) is coupled to the corresponding main bitline (i.e., and not to the other, if any, main bitlines coupleable to the considered program driver circuit).
(116) In addition, the control logic CL may optimize the writing strategies, based on the detection of possible open bits. As an example, in case of a writing operation of the set type (i.e., to write the logic value ‘1’ in a memory cell storing the logic value ‘0’) with an open bit, the memory cell is always read as zero; therefore, the control logic CL verifies the state and tries to provide more pulses to set the logic value ‘1’. However, the limiter circuit 35 may turn off the programming current I* during the first pulse and prevent the generation of further pulses of the programming current I*.
(117) Some embodiments also allow not only to protect the memory device, but also to identify the damaged memory cells.
(118) Finally, it is clear that modifications and variations may be made to what has been described and illustrated herein, without thereby departing from the scope of the present invention, as defined in the annexed claims.
(119) As an example, the limiter circuit may be different from the embodiments described above. As an example, embodiments (not shown) are possible, which are respectively the same as corresponding ones described before, but in which an additional transistor is present. This additional transistor may be a N-MOS enhancement transistor, whose drain and source terminals are respectively connected the control node N.sub.ctrl, and to ground; furthermore, the gate terminal of this additional transistor is controlled by means of a voltage which is generated by the control logic CL so as to be equal to the logic negation of the voltage V.sub.ON, so as to force to ground the voltage V.sub.clamp_out, in case of a writing operation in which the limiter circuit is not intended to be used (i.e., when the voltage V.sub.ON is equal to ‘0’), without affecting the functioning of the limiter circuit when the voltage VON is equal to ‘1’.
(120) In a per known manner, the control logic CL may implement different writing strategies. As an example, the control logic CL may set to ‘1’ the signal sRESET after each writing operation; in this way, the limiter circuit is ready for the following writing operation, as an example on a following address.
(121) Finally, as said before, the memory cells may be of a type different from what has been described.
(122) While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.