Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND DEVICES FOR READING DATA FROM NON-VOLATILE MEMORY CELLS
Document Type and Number:
WIPO Patent Application WO/2017/218056
Kind Code:
A1
Abstract:
Disclosed is a method for responding to a single user read command of a complementary cell array including one or more complementary cell pairs, the method including: determining if a first group of cells out of a data word is in an erased state or in a programmed state, and outputting a data word so that (a) if the first group of cells is determined to be erased a logical "one" is output for each bit of the data word and (b) if the first group of cells is determined to be programmed the result of a complementary read is output for each bit of the data word.

Inventors:
DANON KOBI (IL)
BETSER YORAM (IL)
KUSHNARENKO ALEX (IL)
Application Number:
PCT/US2017/019137
Publication Date:
December 21, 2017
Filing Date:
February 23, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CYPRESS SEMICONDUCTOR CORP (US)
International Classes:
G11C7/06
Foreign References:
US20160064046A12016-03-03
US8514633B22013-08-20
US9007822B22015-04-14
Download PDF:
Claims:
Claims

What is claimed:

1 . A method for responding to a single user read command of a complementary cell array including one or more complementary ceil pairs, the method comprising:

determining if a first group of cells out of a data word is in an erased state or in a programmed state; and

outputting a data word so that (a) if the first group of ceils is determined to be erased a logical "one" is output for each bit of the data word and (b) if the first group of ceils is determined to be programmed the result of a complementary read is output for each bit of the data word.

2. The method according to claim 1 , wherein said determining if a first group of cells is in an erased state or in a programmed state further comprises counting how many of the first group of cells are in a first binary state to produce a count value and comparing said count value to a predetermined threshold.

3. The method according to claim 2, wherein said predetermined threshold is programmable and is updated based on at least one of the following parameters: charge loss, length of life, array cycle count, beginning of life and end of life.

4. The method according to claim 2, wherein said comparing said count value to said

predetermined threshold further comprises producing a state result indicating an erased state or a programmed state.

5. The method according to claim 4, wherein said first binary state is Ό' and determining that said state result is an erased state if said count value is below said predetermined threshold and that said state result is a programmed state if said count value is above or equal to said predetermined threshold.

6. The method according to claim A, wherein said first binary state is Ί ' and determining that said state result is an erased state if said count value is above said predetermined threshold and that said state result is a programmed state if said count value is below or equal to said predetermined threshold.

7. The method according to claim 2, wherein said counting is stopped if said count value exceeds said predetermined threshold.

8. The method according to claim 2, wherein said determining if a first group of cells is in an erased state or in a programmed state includes a first read event to determine a value of each of a sub-group of target ceils out of the first group of ceils.

9. The method according to claim 8, wherein said determining if a first group of cells is in an erased state or in a programmed state further includes a second read event to determine a value of each of a sub-group of twin ceils out of the first group of ceils.

10. The method according to claim 9, wherein said first and second read events are carried out simultaneously.

1 1 . The method according to claim 9, wherein said first and second read events are carried out serially.

12. An NVM device comprising:

an NVM array including one or more complementary cell groups each group including at least one pair of cells including a target and twin cell wherein, when in a programmed state said target and twin ceils are in opposing binary states;

a first plurality of sense amplifiers to detect a state of a first plurality of ceils and output an appropriate binary value;

a counter to produce a sum of the binary values received from the sense amplifiers; a controller to determine if a data word is in an erased or programmed state; and a state-dependent switch to (a) output a data word so that (a) if the word is determined to be erased a logicai "one" is output for each bit of the data word and (b) if the word is determined to be programmed the result of a complementary read is output for each bit of the data word.

13. The device according to claim 2, further comprising logic circuitry to compare said count value to a predetermined threshold and produce a state result.

14. The device according to claim 13, wherein said predetermined threshold is programmable and is updated based on at least one of the following parameters: charge loss, length of life, array cycle count, beginning of life and end of life.

15. The device according to claim 13, wherein said controller is configured to determine if said data word is in an erased or programmed state based on the state result.

16. The device according to claim 13, wherein said first binary state is Ό' and an erased state is determined if said count value is below said predetermined threshold and that said word is in a programmed state if said count value is above or equal to said predetermined threshold.

17. The device according to claim 13, wherein said first plurality of cells are received from a plurality of target ceils and each of said first plurality of sense amplifiers is configured to compare a target cell and a reference signal and to relay to the counter the binary state of the target ceil.

18. The device according to claim 17, wherein said first plurality of cells are received from a plurality of twin ceils and each of said first plurality of sense amplifiers is further configured to compare a twin cell and a reference signal and to relay to the counter the binary state of the twin ceil.

9. The device according to claim 18, wherein said first plurality of sense amplifiers are each further configured to receive a twin cell and a target cell and determine the binary value of the target ceil.

Description:
Methods and Devices For Reading Data From Now- Volatile Memory Cells

CROSS-REFERENCE TO RELATED APPLICATIONS

[001] This Application is an Internationa! Application of U.S. Application Number 15/279,974, filed September 29, 201 6, which claims priority and benefit of U.S. Provisional Application No. 62/351 , 183, filed on June 16, 2016, all of which are incorporated by reference herein in their entirety.

FIELD OF THE INVENTION

[002] The present invention relates generally to the field of Non-Volatile Memory (NVM) devices. More specifically, the present invention relates to methods, circuits, devices, and systems for reading data from NVM cells.

BACKGROUND

[003] Integrated circuits (IC) may be used in a wide range of designs and products, some integrated circuits may include Non-Volatile Memory (NVM) arrays. An NVM array may be composed of NVM ceils, ancillary circuitry, a controller and additional circuits. The ancillary circuitry may include for example: array controls, address decoding circuits and sense amplifiers (SA) and/or comparators. SAs may be configured to determine a value/level of one or more targeted NVM cell.

[004] Some memory array types may include NVM arrays, floating gate arrays, array of eCT cells, array of MirrorBit ceils, charge trapping cells and more.

[005] The NVM ceils may be single bit or multi-level storage ceils, and the ceils may be programmable to different states. For example, in a single bit configuration the cell may be programmable to either an erased (ERS) or programed (PRG) state. [006] According to some embodiments, the NVM cells may be accessed internally in the IC through wordlines (WLs), bitlines (BLs), select lines (SLs), memory gates (MGs) or otherwise. For each sequence (Programing of cells, Erasing of cells, Reading of ceils etc.), the WLs, BLs, SLs, and/or MGs may be activated accordingly. Operating mode, such as read algorithm, program algorithm, erase algorithm, may determine voltage or current signals applied to WLs, SLs, SGs, MGs of NVM cells. Other factors include the selected addresses, the specific technology being used. In some embodiments, the NV arrays may include different structural features and may not include select gates (SGs), BLs, SLs, MGs and/or WLs, or otherwise.

[007] Some transistor types which may be used in associated circuitry are Pmos, Nmos, low voltage (LV) Nmos, LV Pmos, high voltage (HV) Nmos and HV Pmos, Zmos which is a low resistance Nmos or Pmos transistor, bipolar junction transistor (BJT), and more. HV transistors/ceils may be differentiated from LV transistors/cells by being designed/configured to enable operation in a higher range of voltages across their channel compared to LV ceils (for example, between a drain node and a source node of the transistor) and/or across the gate (for example: between their gate and bulk or ground node), and may include a thick oxide region compared to LV devices.

[008] Externally, a host device may including an IC and/or a memory array which may be accessed by a user/host device by sending a user/host device command to carry out a User Read operation, User Program operation, User Erase Operation or otherwise and may include an address that is requested to have the operation applied to. In response to the user Read command, information from the memory device may be output to the user/host device. In response to a User Program command, information may be stored in the memory device. In response to a User Erase command, a segment of the memory may be erased.

 SUMMARY OF THE INVENTION

[009] The present invention may include methods, circuits, devices and systems for storing and reading data from non-volatile memory (NVM) ceils.

[0010] According to some embodiments, a method for responding to a single user read command of a complementary cell array including one or more complementary ceil pairs may include: determining if a first group of ceils out of a data word is in an erased state or in a programmed state, and outputting a data word so that (a) if the first group of ceils is determined to be erased a predetermined binary state (such as "one" or "zero") is output for each bit of the data word and (b) if the first group of cells is determined to be programmed the result of a complementary read is output for each bit of the data word.

[0011] According to some embodiments, determining if a first group of cells is in an erased state or in a programmed state may further include counting how many of the first group of cells are in a first binary state to produce a count value and comparing the count value to a predetermined threshold. The predetermined threshold may be programmable and may be updated based on at least one of the following parameters: charge loss, length of life, array cycle count, beginning of life and end of life and more.

[0012] According to some embodiments the method comparing a count value to the predetermined threshold may result in/produce a state result, if a first binary state is Ό' then the state result may be (a) an erased state if the count value is below the predetermined threshold and (b) the state result may be a programmed state if the count value is above or equal to the predetermined threshold. Or, if the first binary state is then the state result may be (a) an erased state if the count value is above the predetermined threshold and (b) the state result may be a programmed state if the count value is below or equal to the predetermined threshold. [0013] According to some embodiments, counting may be stopped if the count value exceeds the predetermined threshold. Furthermore, determining if a first group of cells is in an erased state or in a programmed state may include a first read event to determine a value of each of a sub-group of target cells out of the first group of cells. Optionally, determining if a first group of ceils is in an erased state or in a programmed state further includes a second read event to determine a value of each of a sub-group of twin ceils out of the first group of cells. The first and second read events may be carried out simultaneously or serially.

[0014] According to some embodiments, an NVM device may include: (a) an NVM array including one or more complementary cell groups each group including at least one pair of cells including a target and twin ceil that when in a programmed state the target and twin cells are in opposing binary states, (b) a first plurality of sense amplifiers to detect a state of a first plurality of ceils and to output an appropriate binary value, (c) a counter to produce a sum of the binary values received from the sense amplifiers, id) a controller to determine if a data word is in an erased or programmed state, and (e) a state-dependent switch to output a data word so that if the word is determined to be erased a predetermined binary value { "one" or "zero") is output for each bit of the data word (the same binary value is output for all of the bits) and if the word is determined to be programmed the result of a complementary read is output for each bit of the data word.

[0015] According to some embodiments, an NVM device may include logic circuitry to compare a count value to a predetermined threshold and produce a state result.

[0016] According to some embodiments, the controller may be configured to determine if the data word is in an erased or programmed state based on the state result. Accordingly, if a first binary state is Ό', and if the count value is below the predetermined threshold an erased state is determined. The word may be determined to be in a programmed state if the count value is above or equal to the predetermined threshold. [0017] According to some embodiments, a first plurality of cells may be received from a plurality of target ceils and each of a first plurality of sense amplifiers may be configured to compare a target cell and a reference signal and to relay to the counter the binary state of the target cell.

[0018] According to some embodiments, a first plurality of ceils may be received from a plurality of twin cells and each of the first plurality of sense amplifiers may compare a twin cell and a reference signal and accordingly relay to the counter the binary state of the twin ceil. Optionally, the first plurality of sense amplifiers may each receive a twin ceil and a target cell and determine the binary value of the target ceil.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:

[0020] Fig, 1 , shown is a flow chart for a method for implementing a single read access according to one embodiment of the subject matter;

[0021] Fig. 2, shown is a flow chart for a method for determining if a word is programmed or erased;

[0022] Fig. 3A depicts an example block diagram of an NVM device including an NVM array;

[0023] Fig. 3B depicts an example NVM array and associated sense amplifiers (SAs); and [0024] Figs. 4A-4C depict different SA connectivity for different processes of the same user read command.

[0025] it will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION

[0026] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details, in other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.

[0027] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing", "computing", "calculating", "determining", or the like, refer to the action and/or processes of circuits, storage, transmission or display devices that manipulate and/or transform data represented as physical, such as electronic, quantities within the circuits into other data or other such information.

[0028] Embodiments of the present invention may include apparatuses for performing the operations herein. This apparatus may be specially constructed for the desired purposes. The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below.

[0029] NVM array programming circuits, integral or otherwise functionally associated with an NVM array may include a complementary pair including a target and twin cell which may be marked as bit or true bit and complementary bit or cbit, respectively. A complementary pair of NVM cells may store one bit of data on two separate but complementary NVM cells, as inverse or opposite NVM cell charge states on each of the two complementary NVM cells. Similarly, multiple complementary ceils are also understood, so thai one bit of data may be stored on 4, 6, 8 or more cells. Multiple complementary ceils may be implemented by several methods, including but not limited to, averaging the cells' signals per each complementary value by using a majority decision or otherwise, increasing the number of cells per bit may improve reliability while increasing die size or decreasing the total amount of data that may be stored in the memory. For clarity, in this application, a pair of cells per one data bit will be discussed. However, changing specific embodiments to accommodate multiple pairs of complementary memory cells per bit would be understood by those skilled in the art.

[0030] According to some embodiments, a data bit from a pair of complementary NVM cells may be detected using a complementary read sequence using differential sensing. According to the complementary read sequence, current from one NVM cell (such as the twin cell) of the NVM cell pair may be used as a reference current when reading a current level from the other NVM cell (such as the target cell) of the NVM ceil pair. Additional complementary sensing methods are understood, such as comparing voltages of a target cell to a twin ceil or otherwise. During an Erase sequence, the NVM array cell formatting circuits, integral or otherwise functionally associated with the NVM array, may erase or discharge each of the NVM cells of a complementary NVM cell pair. Optionally, it may perform erase or discharge operations on entire sectors or blocks of NVM ceils at the same time. Accordingly, an erase sequence may cause all of the memory cells (targets and twins) to be erased, accordingly for a ceil pair both target and twin cell will be in the same (erased) state,

[0031] Accordingly, if a user read command is received on an erased sector, in prior art solutions, this may result in corrupt information, if a complementary read is carried out, two erased cells (target and twin) may be compared to each other. Since there may be some variation in voltage or current between them, the bit may be detected as having a programmed state despite the whole sector being erased. In some embodiments, it may involve receiving a user read access and then the user is required to check if the information is corrupt, or not. It may also require the user to monitor or know if a requested sector is erased, and if a read command is received for an erased sector corrupt information will be provided. Accordingly, there is a need for a method for implementing a simple single-read access that outputs correct (non-corrupted) data regardless if the word or NVM array is erased or programmed.

[0032] Turning to Fig. 1 , shown is a flow chart of a method for implementing a single read access 100. A memory device may receive a user read command (102) from a user (or user device) and may then determine if the requested word is erased or programmed (step 104). If the word is determined to be erased, a word consisting of bit(s) of a single binary value (ail s or all "0"s) may be output to a user (step 106). If a word is determined to be programmed, the result of a complementary read or differential sensing may be output to the user (step 108). Accordingly, it is ensured that non-corrupt information is supplied to a user in response to a single user-read access/request. Furthermore, typically a "1 " is utilized to indicate an erased state. However this is arbitrary, and if selected during design, a "0" may be utilized to indicate an erased bit.

[0033] While method 100 has been described by way of example for a word, it is understood that each of the steps 104-108 may be carried out on a word or sector which may include a group of words or otherwise, depending on the array architecture and other considerations.

[0034] Turning to Fig. 2, a flow chart for a method 200 for determining if a word is programmed or erased is shown. It is understood that method 200 is substantially similar to step 1 04 of Fig. 1 . According to some embodiments, a first group of target cells that store bit may be detected (step 202) as well as a second group of twin ceils that store cbit (step 204). A reference read sequence may be utilized for detecting the first and second groups of memory cells. The reference read sequence may include comparing the cell value to a reference cell value, a static reference cell, dynamic reference cell, current or voltage reference, a combination of these and more, and providing a binary value for the charge stored on the cell (typically Ί ' for an erased cell and Ό' for a programmed ceil).

[0035] According to some embodiments, an N bit data word (referred to herein as a word) may consist of 2N data cells (N ceil and N complementary ceils). The first group of target cells and second group of twin cells may each be N or less and may be equal or different in size. Furthermore, detection of the target and twin ceils may be carried out in parallel, serially, or interleaved depending on the amount of sense amplifier/comparator, power considerations and more.

[0036] According to some embodiments, detecting a ceil may include attributing a binary state to the cell based on a detected signal from the cell. Typically, as is customary in the art, an erased ceil may be considered as having a binary value of Ί ', and a programmed cell may be considered as have a binary value of 'Ο'. These are only conventions, and of course it is possible to attribute oppositely.

[0037] According to some embodiments, the binary values of the first and second groups of cells may be counted, this may also be termed "zero counting", in one embodiment, the number of programmed bits may be detected/counted/summed resulting in a count value (step 206). It is understood that essentially what is being counted is the amount of bits having a first predetermined binary state, and which state that is (erased or programmed) is dependent on the convention selected (erase is "1 " or "0" etc.).

[0038] According to some embodiments, a count value may be compared to a predetermined state-parameter threshold (step 208), resulting in a state result. According to some embodiments, if the total number of programmed cells ("0") is equal to or exceeds the state-parameter threshold, the word may be determined to be in a "programmed" state (step 210). Otherwise, the state of the word may be determined to be in an "erased" state (step 212). However, since the determination is arbitrary (that a programmed cell is '0' and an erased cell is ), it is clear to those skilled in the art that other configurations are applicable (so that if the number of programmed cells is below the state-parameter threshold the word may be determined to be programmed).

[0039] According to some embodiments, a word programmed state indicates that the word has been through a program sequence and accordingly, the complementary bits are in a complementing state, i.e. each pair of ceils are in opposite binary states (if a target cell is in a programed state the twin cell is in an erased state, and vice versa). A word erased state indicates that the word has gone through an erase sequence. In a word erased state, all of the cells are in an erased state so that complementary bits are not in a complementing state, i.e. each pair of cells is in the same binary state (typically Ί ').

[0040] it is understood, that single or even multiple failures of detection of the target and/or twin cells compared to a reference would not impact the method's validity or result because of the large difference between the number of expected 0's for an erased state (none) compared to a programmed state (half of the total amount of ceils, target and twin). This very large window allows a high reliability operation of the system utilizing the method described herein.

[0041] According to some embodiments, the level of the programmable predefined threshold may be updated/ optimized to accommodate charge loss or other non-ideal effects, so that the method would remain operable for both beginning of life and end of life operation.

[0042] Accordingly, the predetermined threshold may be a function of the number or a total count of expected binary value (for example 0's) for a programed word. If all of the target and ail of the twin ceils are being detected, for a word of length N bits, there are 2N cells. In one embodiment, N cells would be detected as having a binary value of Ό' (in this example) for a programmed cell (since either the target or the twin would be Ό' in a programmed complementary ceil). Accordingly, a threshold of N/2 or N/3 or even N/4 or less may be operable. Furthermore, it is understood that the ceils may be detected or read until the threshold is exceeded. Then, detection and/or analysis may be stopped (depending on array architecture and design).

[0043] According to some embodiments, the predetermined state parameter threshold may be programmable, it may also be updated based on, for example, at least one of the following parameters: charge loss, length of life, array cycle count, beginning of life and end of life. Charge loss may include retention loss of charge over time or over a device being cycled (i.e. other sections/words being erased and programmed). Length of life may also be a parameter relevant to physical characteristics of the NVM cells and charge stored thereon. Array cycle count is the amount of cycles, or expected cycles applied to the array. Beginning of life and end of life are well known terms in the art relating to different typical behaviors of NVM ceils at different stages of a device cycle (first time a cell is being programmed vs. after a great number of program and erase cycles).

[0044] Turning to Fig. 3A, depicted is an example block diagram of an NVM device 300. NVM device 300 includes a memory array such as array 302 for storing information/data. Adjacent or included within array 302, and functionally associated with array 302, is a plurality of comparators or sense amplifiers such as SArSA n (304 304 n appropriately). Array 302 may include a plurality of NVM ceils and peripheral circuitry as described in this application and known in the art. Furthermore, the NVM cells of array 302 may be in a complementary configuration so that each target cell has a twin cell and at least two cells are assigned per bit (true bit and complementary bit). SAs 304 r 304 n may be configured to receive two signals, compare between them and output a binary value based on the comparison between the two signals, in one embodiment, the two signals may be bit from target cell and a reference signal, or cbit from twin cell and a reference signal. SAs 304 304 n may be functionally connected to binary state counter 306 which may count how many of the SAs results are of a specific binary value (may count O's or Ts), and may output a state indicator indicating if the counted binary values are above or below a predetermined threshold to indicate if the word is in an erased or programmed state. The count value may be utilized as a control signal of a state dependent switch such as mux mux n {308i-308 n appropriately) and cause either a complementary read or differential sensing result to be output to a user {if a programmed state is indicated) or a logical T be output to the user (if an erased state is indicated).

[0045] it is understood that SAs 310 310 n may be the same SAs as SAs 304 304 n , or not, depending on the array architecture and amount of SAs available.

[0046] Turning to Fig. 3B, depicted is an example array 350 which may include arrays or sector of array 352 and a plurality of SA such as SA SA s (elements 354 354 s ) and that the amount of SAs may be equal or different than the amount of bits 'n\ It is understood that array 352 and SA 354 354 n are substantially similar to array 302 and SA 3G4i-3Q4 r , of Fig. 3A. Array 352 may include a plurality of words such as words 356r356 m . Each word may include a plurality of complementary cells, each pair including a target (Bj) and a twin (cB,).

[0047] Turning to Figs. 4A-4C depicted are different connectivity for different processes of the same user read command, in Figs, 4A and 4B connectivity appropriate for a reference read sequence is shown. Accordingly, the target and twin ceils which are each being detected separately so that the total number of ceils in a specific binary state {T or Ό') can be counted. Accordingly, in Fig. 4A, a bit cell is compared to a reference and in Fig. 4B a twin cell is compared to a reference. In Fig, 4C the connectivity is appropriate for a complementary read sequence, the SA is connected so that the target cell is compared to its twin cell. In one embodiment, a bit value is produced so that data can be output to a user if a programmed state is detected. It is understood that the SAs of Figs. 4A - 4C may be the same SA {so that a single SA is used to for all three comparisons sequentially) or the SA may be different SAs (so that the comparisons may be carried out at least partially in parallel), or any combination of these two options.

[0048] While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.