USPatent applicationPatented

Writing scheme for phase change material-content addressable memory

Granted 15 Oct 2013 · 2 office actions

Current assignee: GlobalFoundries · originally International Business Machines

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Jing Li, Chung H. Lam, Robert K. Montoye · Examiner: Cynthia Britt · AU 2117 · TC 2100

Application· this page
13/587,146
filed 16 Aug 2012
Publication
Not published
not published
Patent
US 8,560,902
granted 15 Oct 2013

Life of the application

12 dated events
⤢ drag to zoom20122014201620182020202220242026202820302032ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A method for programming a Phase Change Material-Content Addressable Memory (PCM-CAM). The method includes receiving a word to be written in a PCM-CAM. The word includes low bits represented by a low resistance state in the PCM-CAM and high bits represented by a high resistance state in the PCM-CAM. The method further includes repeatedly writing the low bits in memory cells of the PCM-CAM until the resistance of the memory cells are below a threshold value, and writing the high bits in memory cells of the PCM-CAM only once.

Description

7 parts
›CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority under 35 U.S.C. §120 to U.S. patent application Ser. No. 13/551,728 (“WRITING SCHEME FOR PHASE CHANGE MATERIAL-CONTENT ADDRESSABLE MEMORY”) filed Jul. 18, 2012.

›BACKGROUND

This invention relates to computer readable memory, and more particularly a writing scheme for phase change material-content addressable memory.

Content addressable memory (CAM) provides a hardware solution to the rapid search operations utilized in information networks, such as the internet. Unlike random access memory (RAM), which retrieves data from different locations in memory by a supplied address, CAMs search the entire memory for a supplied data word and returns the address and possibly associated data. This design offers a faster method for matching functions such as those performed by routers and network servers.

Most CAMs are based on volatile RAMs, such as dynamic RAM (DRAM) and static RAM (SRAM). However, the present invention is directed to CAMs utilizing phase change memory technology, or phase change memory-content addressable memory (PCM-CAM). Due to advances in non-volatile memory, the use of phase change memory provides significant advantages in scalability.

In phase change memory, information is stored in materials that can be manipulated into different phases. Each of these phases exhibit different electrical properties which can be used for storing information. The amorphous and crystalline phases are typically two phases used for bit storage (1's and 0's, respectively) since they have detectable differences in electrical resistance. Specifically, the amorphous phase has a higher resistance than the crystalline phase.

Chalcogenides are a group of materials commonly utilized as phase change material. This group of materials contain a chalcogen (Periodic Table Group 16/VIA) and another element. Selenium (Se) and tellurium (Te) are the two most common semiconductors in the group used to produce a chalcogenide when creating a phase change memory cell. An example of this would be Ge 2 Sb 2 Te 5 (GST), SbTe, and In 2 Se 3 .

Advancements in non-volatile memory technology are greatly driven by the desirability of scaling down memory devices. As the dimensions of the phase change memory elements are minimized, there exists an increasing difficulty in crystallizing the phase change material to provide a low resistance state (low bit). This difficulty does not extend to producing the amorphous high resistance state (high bit). However, difficulty in crystallization provides the issue of narrowing the sensing window between a high bit and low bit.

›BRIEF SUMMARY

One aspect of the invention is a system for programming a PCM-CAM. The system includes a receiving unit for receiving a word to be written in the PCM-CAM. The word includes low bits represented by a low resistance state in memory cells and high bits represented by a high resistance state in memory cells. The system also includes a writing unit configured to repeatedly write the low bits in memory cells of the PCM-CAM until the resistance of the memory cells are below a threshold value, and to write high bits in memory cells of the PCM-CAM only once.

Another aspect of the invention is a method for programming a PCM-CAM. The method includes receiving a word to be written in the PCM-CAM. The method includes repeatedly writing low bits in memory cells of the PCM-CAM until the resistance of the memory cells are below a threshold value. The method includes writing high bits in memory cells of the PCM-CAM only once.

›BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:

FIG. 1 is a block diagram of an example PCM-CAM system in accordance to one embodiment of the present invention.

FIG. 2 is a flowchart illustrating an example method for programming a PCM-CAM in accordance to one embodiment of the present invention.

FIG. 3 is a flowchart illustrating an example method for programming a PCM-CAM in accordance to one embodiment of the present invention.

FIG. 4 is a flowchart illustrating an example method for programming a PCM-CAM in accordance to one embodiment of the present invention.

FIG. 5 is a diagram of an example circuit system for programming a PCM-CAM in accordance to one embodiment of the present invention.

›DETAILED DESCRIPTION · 1 of 3

The present invention is described with reference to embodiments of the invention, but shall not be limited to the referenced embodiments. Throughout the description of the present invention, references are made to FIGS. 1 through 5 .

Embodiments of the present invention provide possible systems for programming Phase Change Material-Content Addressable Memory (PCM-CAM) and possible methods for programming such a system. An aspect of the present invention provides a feedback loop for controlling the writing of low resistance bits in PCM-CAM. Such a mechanism is advantageous in providing a higher on-off ratio and improved reliability in programming PCM-CAM.

FIG. 1 is a block diagram of an example PCM-CAM system 100 in accordance to one embodiment of the present invention. The system includes a receiving unit 102 , wherein the receiving unit 102 receives a word to be written in the PCM-CAM. The word includes low bits representing a low resistance state in the PCM-CAM, and high bits representing a high resistance state in the PCM-CAM. In some embodiments, the low resistance state is a binary “0” representation and the high resistance state is a binary “1” representation. In some embodiments, the resistance of the high resistance state is at least one order of magnitude higher than that of the low resistance state.

The system also includes a writing unit 104 configured to write low bits and high bits in memory cells 106 of the PCM-CAM. The writing unit 104 is configured to write the high bits once, in parallel. The writing unit 104 is configured to repeatedly write the low bits. In one embodiment of the invention, the memory cells 106 may include Ge 2 Sb 2 Te 5 . The phase change memory cells may include Sb x Te 1-x material, where 0.4 (Sb 2 Te 3 )<=x<=0.7 (Sb 7 Te 3 ). The phase change memory cells may include In 2 Se 3 .

The system also includes a comparing unit 108 , wherein the comparing unit 108 compares the resistance of the memory cells written as low bits to a threshold value. The comparing unit 108 determines a failure-signature, wherein the failure-signature is a binary word that contains data of which memory cells measured above the threshold value. The failure-signature is latched to a scan chain 110 . In some embodiments the latched failure-signature is tested and output serially.

FIG. 2 is a flowchart illustrating an example method for programming a PCM-CAM in accordance to one embodiment of the present invention. The method begins with receiving step 202 . At receiving step 202 , the receiving unit 102 receives the word to be written in the PCM-CAM. After receiving step 202 completes, the method continues to writing step 204 .

At writing step 204 , the writing unit 104 writes the high bits in the word, in parallel. After writing step 204 completes, the method continues to writing step 206 .

At writing step 206 , the writing unit 104 writes the low bits in the word. After writing step 206 completes, the method continues to comparing step 208 .

At comparing step 208 , the comparing unit 108 compares the resistance of the written low bits to the threshold value. The comparing unit 108 determines a failure-signature. If one or more memory cells written as low bits are above the threshold value, the method proceeds to latching step 210 .

At latching step 210 , the failure-signatures are latched to a scan chain. After latching step 210 completes, the method continues to output step 212 .

At output step 212 , the failure-signatures on the scan chain are output serially into the writing unit 104 , to determine which memory cells to rewrite. After latching step 210 , the method continues to repeat feedback loop 214 , until comparing step 208 yields that all memory cells written as low bits are below the threshold value.

Feedback loop 214 includes writing step 206 , comparing step 208 , latching step 210 , and output step 212 . If the resistance of all memory cells written as low bits are below the threshold value, the method is complete.

FIG. 3 is a flowchart illustrating an example method for programming a PCM-CAM in accordance to one embodiment of the present invention. The method begins with receiving step 302 . At receiving step 302 , the receiving unit 102 receives the word to be written in the PCM-CAM. After receiving step 302 , the method continues to writing step 304 .

At writing step 304 , the writing unit 104 writes the high bits in the word, in parallel. After writing step 304 completes, the method continues to writing step 306 .

At writing step 306 , the writing unit 104 writes a low bit in the word. After writing step 306 completes, the method continues to comparing step 308 .

At comparing step 308 , the comparing unit 108 compares the resistance of the written low bit to the threshold value. The comparing unit 108 determines a failure-signature. If the resistance of the written memory cell is above the threshold value, the method continues to calculating step 310 .

At calculating step 310 , the write properties are determined from the failure-signature. The write properties include write pulse length and write pulse intensity. After calculating step 310 completes, the method continues to repeat feedback loop 314 , until comparing step 308 yields that the resistance of the memory cell written as the low bit is below the threshold value.

Feedback loop 314 includes writing step 306 , comparing step 308 , and calculating step 310 . If the resistance of the memory cell written as a low bit is below the threshold value, the method continues to step 312 .

Step 312 represents the method proceeding with feedback loop 314 on the next memory cell to be written as a low bit, until all the low bits in the word are written. After feedback loop 314 has written all the low bits in the word, the method is complete.

FIG. 4 is a flowchart illustrating an example method for programming a PCM-CAM in accordance to one embodiment of the present invention. The method begins with receiving step 402 . In receiving step 402 , the receiving unit 102 receives the word to be written in the PCM-CAM. After receiving step 402 , the method continues to writing steps 404 and 408 , depending on whether the memory cells to be written are high bits or low bits, respectively.

›DETAILED DESCRIPTION · 2 of 3

At writing step 404 , the writing unit 104 writes the high bits in the word simultaneously, in parallel. Item 406 indicates that high bits are written with little variation in resistance, with respects to the low bits.

At writing step 408 , the writing unit 104 writes the low bits in the word. After writing step 408 , the method continues to reading step 410 .

At reading step 410 , the resistances of the written low bits are read. After reading step 410 , the method continues to comparing step 412 .

At comparing step 412 , the comparing unit 108 compares the resistance of the written low bits to the threshold value. If the resistance of one or more memory cells written as low bits is above the threshold value, the method continues to writing step 408 . If the resistances of all written low bits are below the threshold value, the method is complete.

FIG. 5 is a diagram of an example circuit implementation for programming a PCM-CAM in accordance to one embodiment of the present invention. The circuit includes a reset line (RST), wherein the RST initializes the latch output to the power supply (VDD). The circuit also includes a read line (READ), wherein the READ provides a timing signal for the read operation. The circuit includes a fail line (FAIL), wherein the FAIL provides the failure-signature signal for low bits above the threshold value. The circuit includes scan clock lines (CLKS< 0 > and CLKS< 1 >), wherein the scan clocks scan data out serially.

The circuit implementation latches the failure-signature to a scan chain and scans out the data serially. Such a circuit provides a method of rewriting the low bits until the resistances are below the threshold value.

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, 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), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code 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).

Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

›DETAILED DESCRIPTION · 3 of 3

These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

Having described preferred embodiments for a system for programming PCM-CAM and the method for programming PCM-CAM (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments disclosed which are within the scope and spirit of the invention as outlined by the appended claims. Having thus described aspects of the invention, with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.

Claims as granted

13 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

4 codes
IPC · International Patent Classification
Section G — Physics
  • G01R31/28
  • G11C29/00
USPC · US Patent Classification
714/721714/732

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2012Oct 2012Jan 2013Apr 2013Jul 2013Oct 2013USPTOApplicantNon-final rejectionResponse after non-finalNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
1.2 y
425 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Cynthia Britt
art unit 2117 · TC 2100
Citations: 18 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom201620182020202220242026202820302032Owner 2Owner 3liens, releases & corrections
TitleLienReleasehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock