The present disclosure is generally related to circuits and methods of detecting at least partial breakdown of canary circuits.
Advances in technology have resulted in smaller and more powerful computing devices. For example, a variety of personal computing devices, including wireless telephones, such as mobile and smart phones, gaming consoles, tablets and laptop computers are small, lightweight, and easily carried by users. These devices can communicate voice and data packets over wireless networks. Further, many such devices incorporate additional functionality, such as a digital still camera, a digital video camera, a digital recorder, and an audio file player. Also, such devices can process executable instructions, including software applications, such as a web browser application, that can be used to access the Internet. As such, these devices can include significant computing and networking capabilities. For such devices, there is an ever-increasing demand for greater area efficiency for memory storage capacity and read/write capabilities.
As memory can be the biggest area constraint on semiconductor chips, there is an ongoing requirement for circuitry and memory operation to always work at optimal efficiency and reliability. When in operation, access transistors of memory devices when utilized over time are subject to degradation. Such degradation may occur sooner based on the quantity and duration of voltage applied to such transistors. Hence, to maintain peak operability, there is a need in the art to predict when such access transistors are likely to undergo degradation and failure, so as to take measures to protect data stored on the memory devices.
The present technique(s) will be described further, by way of example, with reference to embodiments thereof as illustrated in the accompanying drawings. It should be understood, however, that the accompanying drawings illustrate only the various implementations described herein and are not meant to limit the scope of various techniques, methods, systems, circuits or apparatuses described herein.
Reference is made in the following detailed description to accompanying drawings, which form a part hereof, wherein like numerals may designate like parts throughout that are corresponding and/or analogous. It will be appreciated that the figures have not necessarily been drawn to scale, such as for simplicity and/or clarity of illustration. For example, dimensions of some aspects may be exaggerated relative to others. Further, it is to be understood that other embodiments may be utilized. Furthermore, structural and/or other changes may be made without departing from claimed subject matter. References throughout this specification to “claimed subject matter” refer to subject matter intended to be covered by one or more claims, or any portion thereof, and are not necessarily intended to refer to a complete claim set, to a particular combination of claim sets (e.g., method claims, apparatus claims, etc.), or to a particular claim. It should also be noted that directions and/or references, for example, such as up, down, top, bottom, and so on, may be used to facilitate discussion of drawings and are not intended to restrict application of claimed subject matter. Therefore, the following detailed description is not to be taken to limit claimed subject matter and/or equivalents.
Particular implementations of the present disclosure are described below with reference to the drawings. In the description, common features are designated by common reference numbers throughout the drawings.
According to one implementation of the present disclosure, a circuit comprises: a memory array comprising one or more groupings of bitcells, one or more bitlines, and one or more wordlines; and one or more canary circuits coupled to the memory array, wherein each of the canary circuits is configured to predict at least partial breakdown of a corresponding grouping of bitcells in the memory array.
According to one implementation of the present disclosure, a method includes: providing an excitation stress on one or more canary circuits corresponding to a grouping of bitcells in a memory array; detecting at least a partial breakdown of the one or more canary circuits; and generating a flag.
According to one implementation of the present disclosure, a circuit comprises: a memory array comprising one or more groupings of bitcells, one or more bitlines, and one or more wordlines; one or more canary circuits coupled to the memory array; and a canary control circuit configured to induce at least partial breakdown of the one or more canary circuits to predict degradation of the memory array.
Referring to
Referring to
As may be appreciated, different memory device technologies operate at different voltages, and would provide different responses to breakdown. Nevertheless, it is often the case that higher voltages at the gate of an access device would lead to faster operation points (e.g., for non-volatile memories (NVMs), SRAMs), and that NVMs may sometimes require a “thicker” gate oxide layer in the devices to be able to handle the high voltages or currents in writing operations for a memory cell. For instance, SRAMs in advanced technologies (e.g., 16 nm and below) may rely on write-assist to work at logic compatible voltage. In such instances, the write assist may either “pump” a word-line voltage above the supply or “pump” the bit-line voltage below ground. In both scenarios, the result is an electrical overstress across the gate of an access device. In another example, NVM (e.g., STT-MRAM) would require high write current (e.g., approximately 100 mA) for a longer duration (e.g., approximately 200 ns). Such a process would require higher word-line voltage that would also cause an electrical overstress across a gate of an access device.
As may be appreciated, access device endurance can be characterized as a function of the stress “suffered” by a cell. With respect to
Referring to
Advantageously, inventive aspects of the present invention provide schemes and techniques to monitor memory cell access devices in a memory array (e.g., a main memory) via the detection of at least partial degradation of canary access devices. Such canary access devices may be coupled to and correspond to the memory cells so as to anticipate degradation or failure of access devices of the memory cells. In inventive schemes and techniques, as described herein, the inventive capabilities allow for accurate determination for “when” failure of the memory cells access devices in the memory array (e.g., a main memory) will occur and to take appropriate response action. Advantageously, in certain aspects as described herein, such capabilities can be made possible by providing different voltages to each column of canary circuits, where each different voltage would correspond to different time intervals of the same specified memory cell access devices in the memory array.
In certain implementations, a particular canary access device may be “over-stressed,” either in electrical amplitude or by pulse widths. In certain implementations, advantageously, canary access devices may be designed such that the devices would be subject to substantially the same activity pattern (e.g., of voltage or current stress) as the corresponding memory cells that are being monitored. In doing so, accuracy in detection may be ensured and false alarms may be avoided.
As may be appreciated, the amount of “over-stress” may be determined based on the specific memory cell technology, the margining of “secure-ness” (i.e., the margin of prediction error that can be tolerated), as well as the early detection time requirements (i.e., how early it is desired to predict possible failure in the monitored memory). For example, the earlier the desire is to raise an alarm, the higher an over-stress may be set such that the canary cell under stress would fail sooner.
Referring to
According to the example operation, utilizing a read control signal, a designer may detect whether a particular canary cell is not operating at optimal functionality. For instance, the operation may utilize a control signal (as described in greater detail in later paragraphs) to precharge the canary bitline 630, while the circuit 600 may be configured to compare a response of a particular canary circuit (e.g., 610b, as shown) against a known and fully-operational canary circuit signal response. In one example, wordlines of each of the canary circuits not-under-test (e.g., wordline 632a, as shown) may be set to low (e.g., a digital “0”), while the wordline of the canary circuit-under-test (e.g., wordline 632b, as shown) may be set to an operating voltage below a provided threshold (e.g., VWL). In such a scenario, if the device-under-test, for example, canary circuit 632b is “broken” (e.g., a partial breakdown) as shown, for example, by the signal response 662, the voltage on the bitline 630 would discharge rapidly. Correspondingly, a known pattern would also emerge at the comparator output (e.g., as shown by digital output 682).
Referring to
In a normal operation of the access device, when a voltage is provided to a drain terminal 710, and the access device is not broken, no current leakage would extend between source and gate terminals 730, 720, and drain and gate terminals 710, 720. In some instances, even if there is minor current leakage between source and drain terminals 730, 710, because the respective diodes D have a significantly lower threshold voltage than the voltage required to turn the access device “on” (e.g., Vth≤VWL), no leakage would extend to the gate terminals 720.
In the example normal operation of a functional and unbroken canary device, as described with reference to
In the operation as described with reference to
Advantageously, inventive aspects detect the differential current to determine whether the access device is in fact broken. Moreover, in certain schemes and techniques (as described in later paragraphs), a sensing voltage may be provided on a per-row basis to ascertain which corresponding row in a memory array has a problem.
Referring to
As shown, each of the second selector devices 814 may be coupled in series to a respective first selector device 812. The second selector device 814 can be configured to control activation of a particular canary circuit 810 in the column. Advantageously, the second selector device 814 may be configured to provide sequential “read” capability of the canary circuits 810 independent of the quantity activated wordlines and connections to the wordlines of a memory array. Correspondingly, the second selector device 814 may be configured to enable decoupling of an access of a respective canary circuit 810 from access of an associated wordline 632 (i.e., decoupling from a respective wordline of the one or more wordlines). In certain examples, second selector devices 814 may be designed to have a low voltage threshold (low-Vt) or is p-type, and wide enough to “drive” the bitline voltage with minimum voltage drop.
Similar to
Referring to
Similar to
In an example operation (e.g., a column read operation), each of the of the wordlines 932 is activated with a predetermined wordline voltage (e.g., VWL, a substantially similar wordline voltage). For example, this wordline voltage (VWL) may be less than that of a nominal voltage and at a level low enough for the bitline 930 to discharge at a rate slow enough to effectively monitor for breakdown (of a canary circuit) with the TDC or counter 940. Accordingly, this wordline voltage may be a relatively “small” negative voltage (e.g., approximately −0.3V) whose absolute value may be less than a nominal voltage threshold. The nominal threshold voltage would correspond to a rate of voltage discharge of a bitline to allow a time-to-digital converter (TDC) or counter to detect a breakdown of at least one of the one or more canary circuits. For instance, if no canary circuit 910 is broken, the TDC or counter 940 would be in a known expected range (e.g., as based on the particular memory technology). Otherwise, if one canary circuit 910 of the column is broken, the TDC or counter 940 would be less than the expected range. Hence, advantageously, an operator would be able to detect a breakdown event of canary circuits from a single column read operation. Nevertheless, in this particular operation by itself, information regarding whether at least one canary circuit may be broken would become known, however, specific information regarding the specific canary circuits that are broken would require additional testing (as described in other implementations as described herein).
Referring to
In some implementations, advantageously, a load (e.g., an active load of the SRAM, a next adjacent electrical device where the current would flow) of the canary circuit 1000 may be the second inverter 1040 (e.g., an NMOS device). Hence, in such cases, a resistor would not be required.
Referring to
In
In each of the implementations of
As shown, the one or more canary circuits 1322 comprise one or more columns of canary circuits 1320 (e.g., 1320a, 1320b, . . . 1320n etc.) (i.e., canary periphery). Advantageously, by having different columns 1320 (e.g., 1320a, 1320b, . . . 1320n etc.), inventive aspects allow for the capability to predict at least partial breakdown (e.g., failure) at different time intervals. Accordingly, the inventive capabilities allow for accurate determination for “when” failure will occur in the corresponding memory array 1310 (e.g., a main memory) and to take appropriate response action. As a further advantage, such capability may be achieved when the voltages at which each column may operate is different or by engineering of each canary device (e.g., providing thinner gate oxides, etc.). In addition, the canary control circuitry 1324 may be configured to the manage a stress frequency based on the activity of the main memory 1310. For instance, a particular canary may be more often stressed if the particular bank/block/row/etc. that the canary is “linked” to experiences more activity.
In certain implementations, the column of canary circuits 1320 (e.g., 1320a, 1320b, 1320n etc.) may include: a stress driver circuit 1351 (e.g., 1351a, 1351b, . . . 1351n etc.) (e.g., a write driver circuit in certain instances); a precharge circuitry 1352 (e.g., 1352a, 1352b, . . . 1352n etc.); and circuitry 1353 (e.g., 1353a, 1353b, . . . 1353n etc.) (e.g., multiplexers, NMOS or PMOS devices) configured to control a gate signal to select (i.e., control) between the stress driver circuit 1351 or the precharge circuitry 1352. Moreover, in some implementations, each of the one or more columns of canary circuits 1320 (e.g., 1320a, 1320b, . . . 1320n etc.) (i.e., canary periphery) may also include: reference voltage generation circuitry 1372 (e.g., 1372a, 1372b, 1372n etc.), a comparator 1354 (e.g., 1354a, 1354b, . . . 1354n etc.), and a TDC or counter 1355 (e.g., 1355a, 1355b, . . . 1355n etc.). Advantageously, by measuring pulse width, the TDC 1355 would provide functionality to the quantity of cells that may be failing during a parallel stressing event.
Referring to
Next, as illustrated, the signal response on the bitline 1330 (e.g., 1330n) would be input to the comparator 1354 (e.g., 1354a, 1354n) along with a reference voltage VREF provided from a reference voltage generation circuit 1372 (e.g., 1372a, 1372n). Moreover, as shown in
By doing so, (similar to as described in
Referring to
Referring to
Referring to
In an example operation 1900, initially, a precharge circuit 1950 would provide an initial voltage to the bitline and then would disconnect. Hence, the bitline would be kept at that voltage unless something discharges it. (In contrast to the operation 1900, in operations 1700 and 1800, voltage is provided to bitline continuously and the gates of the canary circuits would absorb the energy and current would flow to it.). At this time, as well, in operation 1900, each of the wordlines that are coupled to the canary column would be all set to 0. Hence, in operation 1900, when the precharge signal 1910 is active, initially, however, the voltage signal 1920 would be low, and the voltage signal 1930 would remain high (even though a canary circuit transistor has not been selected). This would be because the canary circuit transistors are “off” at this point, and thus, there would be no discharging on the bitline. Hence, precharging in this context refers to placing voltage on the bitline, but not “consuming” it (until a canary circuit transistor have been selected). Accordingly, the voltage signal 1920 is kept constant (e.g., at approximately 1V) prior to the induced breakdown.
To explain the operation further, during precharging, only the bitline would be active but the wordlines would not be active. However, during stress phase, both the bitline and the wordlines would be active in order to stress device. As current would have to flow through an example transistor, a voltage potential would be applied between the drain and source terminals, as well as by activation of the respective gate of the transistor through the wordline via the excitation stress. In contrast, during precharge, voltage provided between the drain and source terminals, but since the transistor switch is “off”, while the potential is there, no current would through the transistor.
Next, at a particular time interval 1940, an induced breakdown would occur due to the stressing stage of the canary column. Prior to the breakdown time point 1940, the canary cells are shown to be operating normally (on the left portion of
Referring to
The example operation 2000 may be substantially similar to the operation 1900, with some specific differences. For instance, with the first stress and then sense option, a mode is available where a test can be in parallel whether all of the canary devices in the same column are operational or at least one was broken (e.g., partially broken). For example, by the addition of the additional selector devices 2080, 2082, the capability to select all or certain transistors would be present. In this parallel case, prior to the induced breakdown 2040 (on the left portion of
Referring to
In operation 2100, as illustrated, prior to the induced breakdown 2140 (on the left portion of
In the parallel operations, as illustrated in
Referring to
At block 2210, the method includes providing an excitation stress on one or more canary circuits corresponding to a grouping of bitcells in a memory array. For instance, with reference to various implementations as described in
In certain implementations, providing excitation stress comprises controlling (e.g., increasing or decreasing) electrical amplitude or pulse widths of a bitline voltage coupled to the one or more canary circuits, where controlling the electrical amplitude comprises one of: increasing the bitline voltage above a supply voltage, or decreasing the bitline voltage below a ground voltage; and where controlling (e.g., increasing or decreasing) the pulse widths comprises increasing a pulse width of the bitline voltage for a duration longer than a threshold voltage time duration (e.g., a nominal operational voltage of approximately 50 ps); or controlling (e.g., increasing or decreasing) a bitline current for a duration longer than a threshold current time duration (e.g., a nominal operational voltage of approximately 50 ps).
In certain implementations, providing the excitation stress comprises one of: controlling (e.g., increasing or decreasing) electrical amplitude or pulse widths of a wordline voltage coupled to the one or more canary circuits, where controlling (e.g., increasing or decreasing) the electrical amplitude comprises one of: increasing the wordline voltage above a supply voltage, or decreasing the wordline voltage below a ground voltage; and where controlling (e.g., increasing or decreasing) the pulse widths comprises increasing a pulse width of the wordline voltage for a duration longer than a threshold voltage time duration (e.g., a nominal operational voltage of approximately 50 ps); or controlling a wordline current for a duration longer than a threshold current time duration (e.g., a nominal operational voltage of approximately 50 ps).
At block 2220, the method includes detecting at least a partial breakdown of the one or more canary circuits. For instance, as described in
At block 2230, the method includes generating a flag. For instance, as described with reference to
In one implementation of method 2200, the one or more canary circuits comprises a plurality of canary circuits arranged in columns, where detecting at least a partial breakdown of the one or more canary circuits comprises: determining, by a bitline discharge, a first reference voltage level corresponding to a voltage waveform of one or more unbroken canary circuits; and determining, by the bitline discharge, a voltage deviation of the first reference voltage with a bitline-developed voltage when one or more canary circuits is under test. In one example, the first reference voltage level may be approximately zero or approximately an operating voltage.
In one implementation of method 2200, the method 220 further includes: precharging a bitline voltage coupled to the column of canary circuits, where detecting at least a partial breakdown of each of the one or more canary circuits comprises: setting a wordline voltage of a first canary circuit to a first voltage, setting any other canary circuits of the column of canary circuits to a zero voltage, wherein the first canary circuit is under evaluation; and determining if the first canary circuit is at least partially broken-down based on a discharge of the bitline voltage. In a certain example, the discharge of the bitline voltage comprises a digital comparator output.
In one implementation of method 2200, detecting at least a partial breakdown of each of the one or more canary circuits comprises: precharging a bitline voltage coupled to the column of canary circuits, and where detecting at least a partial breakdown of each of the one or more canary circuits comprises: setting an approximately negative wordline voltage to each canary circuit of the column canary circuits; and determining, by a comparator output, if at least one of the canary circuits is at least partially broken-down based on a discharge of the bitline voltage. In certain examples, the implementation includes selecting, by providing a positive selection voltage, a first canary circuit of the column of canary circuits; setting, any other canary circuits of the column of canary circuits to zero voltage, where the first canary circuit is under evaluation, and determining, by the comparator output, if the first canary circuit is at least partially broken-down based on a discharge of the bitline voltage.
In one implementation of method 2200, detecting at least a partial breakdown of the one or more canary circuits comprises: a single canary circuit evaluation comprising: precharging, by a canary bitline precharge circuit, a bitline voltage coupled to a the one or more canary circuits; setting a wordline voltage of the first canary circuit to a high voltage, and setting each of the other canary circuits of the one or more canary circuits to a low voltage, wherein the first canary circuit is under evaluation; and determining, by a comparator output, if the first canary circuit is at least broken based on a discharge of the bitline voltage.
In one implementation of method 2200, where the one or more canary circuits comprises a plurality of columns of canary circuits, and wherein detecting at least a partial breakdown of the one or more canary circuits comprises: a per column evaluation, wherein each column of the one or more canary circuits is configured to receive a different wordline voltage, and wherein the per column evaluation comprises: precharging, by respective canary bitline precharge circuits, respective bitline voltages coupled to the one or more canary circuits; and receiving, by a time-to-digital converter (TDC), a count indicating a quantity of canary circuit breakdowns per column.
In one implementation of method 2200, where the one or more canary circuits comprises a plurality of rows of canary circuits, and wherein detecting at least a partial breakdown of the one or more canary circuits comprises: a per row evaluation, wherein a first row of the one or more canary circuits is configured to receive a wordline voltage, and wherein each of the other rows of canary circuits are set to approximately zero wordline voltage; the per row evaluation comprising: precharging, by respective canary bitline precharge circuits, respective bitline voltages coupled to the one or more canary circuits; and determining, by a comparator output, if the row is broken based on a discharge of the bitline voltage.
In certain embodiments of the inventive aspects, a circuit includes memory array comprising one or more groupings of bitcells, one or more bitlines, and one or more wordlines; one or more canary circuits coupled to the memory array; and a canary control circuit configured to induce at least partial breakdown of the one or more canary circuits to predict degradation of the memory array. In one implementation, the one or more canary circuits comprise one or more columns of canary circuits, and further comprises: for each column of canary circuits; stress driver circuitry; precharge circuitry; circuitry configured to control a gate signal to select between the stress driver circuit or precharge circuitry based on a control signal; and a comparator. In one implementation, the circuit further comprises: a time-to-digital converter (TDC) or counter, wherein the TDC or counter is programmable based on one or more predetermined canary characteristics and a quantity of the canary circuits. In one implementation, the one or more canary circuits and the canary control circuit are incorporated within the memory array. In another implementation, the one or more canary circuits and the canary control circuit are distinct from the memory array.
The circuit design and operations tool 2324 may provide generated computer-aided circuit designs and for memory architecture. The procedure 2200 may be stored as program code as instructions 2317 in the computer readable medium of the storage device 2316 (or alternatively, in memory 2314) that may be executed by the computer 2310, or networked computers 2320, 2330, other networked electronic devices (not shown) or a combination thereof. In certain implementations, each of the computers 2310, 2320, 2330 may be any type of computer, computer system, or other programmable electronic device. Further, each of the computers 2310, 2320, 2330 may be implemented using one or more networked computers, e.g., in a cluster or other distributed computing system.
In certain implementations, the computer system 2300 may be used with semiconductor integrated circuit (IC) designs that contain all standard cells, all blocks or a mixture of standard cells and blocks. In a particular example implementation, the system 2300 may include in its database structures: a collection of cell libraries, one or more technology files, a plurality of cell library format files, a set of top design format files, one or more Open Artwork System Interchange Standard (OASIS/OASIS.MASK) files, and/or at least one EDIF file. The database of the system 2300 may be stored in one or more of memory 2314 or storage devices 2316 of computer 2310 or in networked computers 2320, 2320.
The system 2300 may perform the following functions automatically, with variable user input: including providing an excitation stress on one or more canary circuits corresponding to a grouping of bitcells in a memory array; detecting at least a partial breakdown of the one or more canary circuits; and generating a flag (e.g., a failure flag). In some instances, such functions may be performed substantially via user input control. Additionally, such functions can be used in conjunction with the manual capabilities of the system 2300 to produce the target results that are required by a designer/operator.
In one implementation, the computer system 2300 includes processing unit (CPU/GPU/NPU) 2312 having at least one hardware-based processor coupled to a memory 2314. In certain implementations, the processing unit 2312 may include one or more of a central processing unit (CPU), a graphical processing unit (GPU) or a neural processing unit (NPU). The memory 2314 may represent random access memory (RAM) devices of main storage of the computer 2310, supplemental levels of memory (e.g., cache memories, non-volatile or backup memories (e.g., programmable or flash memories)), read-only memories, or combinations thereof. In addition to the memory 2314, the computer system 2300 may include other memory located elsewhere in the computer 2310, such as cache memory in the processing unit 2312, as well as any storage capacity used as a virtual memory (e.g., as stored on a storage device 2316 or on another computer coupled to the computer 2310).
The computer system 2310 may further be configured to communicate information externally. To interface with a user or operator (e.g., a circuit design engineer), the computer 2310 may include a user interface (I/F) 2318 incorporating one or more user input devices (e.g., a keyboard, a mouse, a touchpad, and/or a microphone, among others) and a display (e.g., a monitor, a liquid crystal display (LCD) panel, light emitting diode (LED), display panel, and/or a speaker, among others). In other examples, user input may be received via another computer or terminal. Furthermore, the computer 2310 may include a network interface (I/F) 2315 which may be coupled to one or more networks 2340 (e.g., a wireless network) to enable communication of information with other computers and electronic devices. The computer 2360 may include analog and/or digital interfaces between the processing unit 2312 and each of the components 2314, 2315, 2316, and 2318. Further, other non-limiting hardware environments may be used within the context of example implementations.
The computer 2310 may operate under the control of an operating system 2326 and may execute or otherwise rely upon various computer software applications, components, programs, objects, modules, data structures, etc. (such as the programs associated with the procedure 2200 and the method 2200 and related software). The operating system 2328 may be stored in the memory 2314. Operating systems include, but are not limited to, UNIX® (a registered trademark of The Open Group), Linux® (a registered trademark of Linus Torvalds), Windows® (a registered trademark of Microsoft Corporation, Redmond, WA, United States), AIX® (a registered trademark of International Business Machines (IBM) Corp., Armonk, NY, United States) i5/OS® (a registered trademark of IBM Corp.), and others as will occur to those of skill in the art. The operating system 2326 in the example of
In example implementations, circuit diagrams have been provided in
Although one or more of
Aspects of the present disclosure may be incorporated in a system, a method, and/or a computer program product. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to carry out aspects of the present disclosure. The computer-readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer-readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire. For example, the memory 614, the storage device 616, or both, may include tangible, non-transitory computer-readable media or storage devices.
Computer-readable program instructions described herein can be downloaded to respective computing/processing devices from a computer-readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing/processing device.
Computer-readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some implementations, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus. The machine is an example of means for implementing the functions/acts specified in the flowchart and/or block diagrams. The computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the functions/acts specified in the flowchart and/or block diagrams.
The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to perform a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagrams.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various implementations of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in a block in a diagram may occur out of the order noted in the figures. For example, two blocks shown in succession may be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
In the following description, numerous specific details are set forth to provide a thorough understanding of the disclosed concepts, which may be practiced without some or all of these particulars. In other instances, details of known devices and/or processes have been omitted to avoid unnecessarily obscuring the disclosure. While some concepts will be described in conjunction with specific examples, it will be understood that these examples are not intended to be limiting.
Unless otherwise indicated, the terms “first”, “second”, etc. are used herein merely as labels, and are not intended to impose ordinal, positional, or hierarchical requirements on the items to which these terms refer. Moreover, reference to, e.g., a “second” item does not require or preclude the existence of, e.g., a “first” or lower-numbered item, and/or, e.g., a “third” or higher-numbered item.
Reference herein to “one example” means that one or more feature, structure, or characteristic described in connection with the example is included in at least one implementation. The phrase “one example” in various places in the specification may or may not be referring to the same example.
Illustrative, non-exhaustive examples, which may or may not be claimed, of the subject matter according to the present disclosure are provided below. Different examples of the device(s) and method(s) disclosed herein include a variety of components, features, and functionalities. It should be understood that the various examples of the device(s) and method(s) disclosed herein may include any of the components, features, and functionalities of any of the other examples of the device(s) and method(s) disclosed herein in any combination, and all of such possibilities are intended to be within the scope of the present disclosure. Many modifications of examples set forth herein will come to mind to one skilled in the art to which the present disclosure pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings.
Therefore, it is to be understood that the present disclosure is not to be limited to the specific examples illustrated and that modifications and other examples are intended to be included within the scope of the appended claims. Moreover, although the foregoing description and the associated drawings describe examples of the present disclosure in the context of certain illustrative combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative implementations without departing from the scope of the appended claims. Accordingly, parenthetical reference numerals in the appended claims are presented for illustrative purposes only and are not intended to limit the scope of the claimed subject matter to the specific examples provided in the present disclosure.
Number | Name | Date | Kind |
---|---|---|---|
20130128679 | Kurjanowicz | May 2013 | A1 |
20150029799 | Schreiber | Jan 2015 | A1 |
20190325961 | Jaiswal | Oct 2019 | A1 |
20190342106 | Li | Nov 2019 | A1 |
20200185457 | Sharma | Jun 2020 | A1 |
20200350002 | Singh | Nov 2020 | A1 |
20230230624 | Wu | Jul 2023 | A1 |
Entry |
---|
Amrouch, et al.; Connecting the Physical and Application Level Towards Grasping Aging Effects; 2015 IEEE International Reliability Physics Symposium; Apr. 2015. |
Martin-Martinez, et al.; Circuit Design-Oriented Stochastic Piecewise Modeling of the Postbreakdown Gate Current in MOSFETs : Application to Ring Oscillators; IEEE Transactions On Device And Materials Reliability; vol. 12. No. 1; pp. 78-85; Mar. 2012. |
Suñé, et al.; Reversible Dielectric Breakdown of Thin Gate Oxides in MOS Devices; Microelectronics Reliability; vol. 33, iss 7; pp. 1031-1039; May 1993. https://doi.org/10.1016/0026-2714(93)90299-E. |
Number | Date | Country | |
---|---|---|---|
20230317126 A1 | Oct 2023 | US |