WO2008127616A1 - Method and apparatus for testing page decoder - Google Patents

Method and apparatus for testing page decoder Download PDF

Info

Publication number
WO2008127616A1
WO2008127616A1 PCT/US2008/004637 US2008004637W WO2008127616A1 WO 2008127616 A1 WO2008127616 A1 WO 2008127616A1 US 2008004637 W US2008004637 W US 2008004637W WO 2008127616 A1 WO2008127616 A1 WO 2008127616A1
Authority
WO
WIPO (PCT)
Prior art keywords
pages
memory
bit sequence
unique bit
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2008/004637
Other languages
French (fr)
Inventor
Ciro Corcelli
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atmel Corp
Original Assignee
Atmel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Atmel Corp filed Critical Atmel Corp
Priority to DE112008000991T priority Critical patent/DE112008000991T5/en
Publication of WO2008127616A1 publication Critical patent/WO2008127616A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/024Detection or location of defective auxiliary circuits, e.g. defective refresh counters in decoders

Definitions

  • Embodiments disclosed in this document relate generally to digital circuits, and more particularly to address decoders.
  • FIG. 1 illustrates a conventional flash memory 100 organized into pages (e.g., pages 1-N). Each page (1-N) generally contains several words, and each word contains a pre-determined number of bits (e.g., 16 bits). Each word of a given page can be accessed with a pointer (or program counter) by means of an address decoder. As shown in FIG. 1 , the address decoder is composed of a page decoder 102 and a word decoder 104.
  • the page decoder 102 decodes the most significant bits of the program counter to determine which page to select, and the word decoder 104 decodes the least significant bits of the program counter to determine which word (within a selected page) is to be read.
  • Each word has a group of bit lines (same size as the word size) that goes high when the corresponding word is selected.
  • the word decoder 104 selects the correct bit lines that are used to multiplex the data onto an instructions bus (not shown).
  • page latches 106 are loaded with data.
  • the least significant bits of the program counter are typically used to load the data to the correct portion of the page latches 106 in a similar fashion as in the word decoder (or the same word decoder can be used). Each page latch is connected to a corresponding bit line. During a read, the output from the page latches 106 is typically tri-stated to avoid drive contention. [0004] Testing correct operation of a flash memory typically requires testing the functionality of both the word decoder and the page decoder. Testing the functionality of a word decoder is usually not an issue because it is generally sufficient to program - i.e., write values into - only one page and then read back the values programmed into the page.
  • Testing the functionality of a page decoder typically requires programming all pages within a flash memory. That is, a unique signature is written into each page of the flash memory, which unique signature is subsequently read from each page of the flash memory. This guarantees that the page decoder points to correct locations within the flash memory. Yet, programming each page of a flash memory is a very time-consuming process, and test time is an important factor in production flow.
  • Another method for testing the functionality of a page decoder is to insert observation points (e.g., a scan chain) at the output of the page decoder. If the page decoder works properly, then only one line (used to access a page) is active at a time.
  • FIG. l is a block diagram of a conventional flash memory
  • FIG. 2 is a block diagram of a flash memory in accordance with some embodiments.
  • FIG. 3 is a method for testing the functionality of a page decoder of a flash memory in accordance with some embodiments
  • FIG. 4 is a schematic diagram of a page decoder in accordance with some embodiments.
  • FIG. 5 is a block diagram of a memory including a page decoder in accordance with some embodiments. DETAILED DESCRIPTION
  • Embodiments of the present invention relate generally to digital circuits, and more particularly to address decoders.
  • the following description of the various embodiments is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements.
  • the present invention is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features described and claimed herein.
  • Like reference symbols in the various drawings indicate like elements.
  • FIG. 2 illustrates a flash memory 200 in accordance with one implementation.
  • the flash memory 200 is organized into pages (e.g., pages 1-N), and includes an address decoder (comprised of a page decoder 202 and a word decoder 204) for accessing each word of a given page within the flash memory 200.
  • the page decoder 202 decodes the most significant bits of a program counter (not shown) to determine which page to select
  • the word decoder 204 decodes the least significant bits of the program counter to determine which word (within a selected page) is to be read.
  • page latches 206 are loaded with data (or bit sequences) that are to be written to corresponding bit locations (or memory cells) within the flash memory 200 - i.e., each page latch is connected to a corresponding bit line.
  • the least significant bits of the program counter can be used to load the data to the correct portion of the page latches 206.
  • each memory cell of the flash memory 200 is written to by setting a logic level of the memory cell to zero. Accordingly, in this implementation, erasing a memory cell requires setting the logic level of the memory cell to one.
  • an entire page is written to at once and the resulting logical value of the memory cells associated with the page depends upon what was previously loaded in the page latches 206. That is, a logic one in a page latch will leave the content (or logic level) of a corresponding memory cell in the flash memory untouched, whereas a logic zero in the page latch will write the corresponding memory cell in the flash memory (the logic level of the memory cell is set to zero).
  • testing correct operation of a flash memory typically requires testing the functionality of both the word decoder and the page decoder. Testing the functionality of a word decoder is usually not an issue because it is generally sufficient to program only one page and then read back into the page, the values programmed.
  • the page decoder 202 is operable to program a plurality of pages at a given time to reduce the amount of time required to program all the pages of a flash memory with a unique signature. Reducing the amount of time required to program pages of a flash memory reduces the overall time and cost required to test functionality of a flash memory. In one implementation, the number of operations required to program each of N pages of a flash memory (with a unique signature) is reduced to log 2 N, as described in greater detail below.
  • FIG. 3 illustrates a method 300 for testing the functionality of a page decoder (e.g., page decoder 202) of a flash memory in accordance with one implementation.
  • a flash memory e.g., flash memory 200
  • erasing a flash memory comprises setting a logic level of each memory cell (of the flash memory) to one.
  • a unique bit sequence (or signature) to be loaded into the flash memory is generated (e.g., by logic) (step 304).
  • the number of bits in the unique bit sequence is equal to the number of bits in a given page of the flash memory. For example, if a page contains 32 bits, then the unique bit sequence contains 32 bits.
  • a bit sequence having such a length permits an entire page to be programmed at once.
  • the unique bit sequence is programmed into a plurality of pages of the flash memory at one time (step 306). hi one implementation, N/2 pages are programmed with the unique bit sequence, where N is the total number of pages within the flash memory.
  • Table 1 shows contents of a flash memory after the flash memory has been erased - i.e., each memory cell has a logic level of one.
  • the flash memory has only 8 pages, and each page contains 5 bits.
  • Table 2 below shows the contents of the flash memory after a first plurality of pages (e.g., N/2 pages) have been programmed with a unique signature.
  • the unique signature programmed into the flash memory is [01111], and this signature is first loaded into the page latches prior to being written into the flash memory.
  • the "H” means that the page lines corresponding to pages 1- 4 are set high. Therefore, because only the first bit in the page latches is set to zero while all the other bits are set at one, only the first bit in each of the accessed pages (i.e., pages 1-4) are written while the other bits are left untouched.
  • N/2 pages are again accessed at once, however, this time in an alternating fashion.
  • this programming step only the third bit in the page latches is set to a logic level of zero.
  • Table 4 shows the contents of the flash memory after the third programming step.
  • the programming test sequence leaves a unique signature in each page with only 1Og 2 N (or three) programming operations. These signatures can then be used to test the functionality of a page decoder through a read operation. As shown in the example above, page 1 is programmed with a given unique bit sequence during each programming step. In contrast, page 8 remains unchanged throughout all the programming steps. [0021] In general, to apply such a programming technique to a flash memory having N pages, one needs the highest 1Og 2 N bits of the program counter. Each of these bits of the program counter can be combined with a test mode signal (also of size 1Og 2 N) to access N/2 pages of the flash memory at a time. FIG.
  • the page decoder 400 includes inverters (INVO-INV2), OR gates (ORO-OR2), and AND gates (ANDO- ANDl 1). To access N/2 pages at a given time as set forth in the example above, the following programming constraints can be implemented:
  • This specification describes method embodiments for testing correct operation of a page decoder in a memory comprised of N pages, in which each of the N pages has M memory cells.
  • the method comprises, inter alia, erasing the memory to reset all memory cells associated with each of the N pages in the memory; iteratively generating a unique bit sequence of M bits and programming the unique bit sequence into a plurality of the N pages at a given time until each of the N pages contains a unique bit sequence relative to other pages in the memory; and responsive to each of the N pages having a unique bit sequence, using the page decoder to read out each unique bit sequence associated with the N pages to verify correct operation of the page decoder.
  • Particular implementation embodiments may include one or more of the following features.
  • Erasing the memory can include setting all memory cells associated with each of the N pages to a logic level of one. Programming the unique bit sequence into a plurality of the N pages can include setting one or more of the M memory cells of a given page to a logic level of zero. Programming the unique bit sequence into a plurality of the N pages at a given time can include programming the unique bit sequence into N/2 pages of the memory at a given time. In one aspect, only log 2 N iterations are required until each of the N pages contains a unique bit sequence relative to other pages in the memory. At least one of the plurality of N pages can be programmed with a given unique bit sequence during each iteration.
  • the memory can be a flash memory.
  • This specification also describes embodiments of a memory including N pages, in which each of the N pages has M memory cells.
  • the memory further includes a page latch to iteratively load a unique bit sequence of M bits into a plurality of the N pages at a given time until each of the N pages contains a unique bit sequence relative to other pages in the memory, and a page decoder to read out each unique bit sequence associated with the N pages when each of the N pages has a unique bit sequence relative to other pages in the memory.
  • a method and system for fully testing the functionality of a page decoder is provided that does not require use of observation points - e.g., a scan chain, hi some embodiments, the techniques described herein reduce the overall test time of a flash memory by reducing the number of programming operations required to place a unique signature into each page of the flash memory.
  • FIG. 5 illustrates a memory 500 including a page decoder 502 and a word decoder 504.
  • the page decoder 502 is operable to program a plurality of pages (or memory blocks) (not shown) within the memory at a given time to reduce the amount of time required to program all the pages (or memory blocks) with a unique signature.
  • the memory can be, for example, a RAM (random access memory), a ROM (read-only memory), a hybrid memory, in addition to a multi-level cell device (that can store more than 1 bit per memory cell).
  • a RAM random access memory
  • ROM read-only memory
  • hybrid memory in addition to a multi-level cell device (that can store more than 1 bit per memory cell).

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

A method (300) and apparatus for testing correct operation of a page decoder in a memory is provided. In one implementation, the method includes erasing the memory (302) to reset all memory cells associated with each of the N pages in the memory, and iteratively generating a unique bit sequence of M bits (304) and programming the unique bit sequence into a plurality of the N pages (306) at a given time until each of -the N pages contains a unique bit sequence relative to other pages in the memory (308). Responsive to each of the N pages having a unique bit sequence, the method further includes using the page decoder to read out each unique bit sequence associated with the N pages to verify correct operation of the page decoder (310).

Description

METHOD AND APPARATUS FOR TESTING PAGE DECODER
CLAIM OF PRIORTY
[0001] Benefit of priority is hereby claimed to U.S. Patent Application
Serial Number 11/735,182, filed on April 13, 2007, which application is herein incorporated by reference.
FIELD
[0002] Embodiments disclosed in this document relate generally to digital circuits, and more particularly to address decoders.
BACKGROUND
[0003] Flash memory is a non-volatile computer memory that can be electrically erased and reprogrammed. FIG. 1 illustrates a conventional flash memory 100 organized into pages (e.g., pages 1-N). Each page (1-N) generally contains several words, and each word contains a pre-determined number of bits (e.g., 16 bits). Each word of a given page can be accessed with a pointer (or program counter) by means of an address decoder. As shown in FIG. 1 , the address decoder is composed of a page decoder 102 and a word decoder 104. hi particular, during a read from the flash memory 100, the page decoder 102 decodes the most significant bits of the program counter to determine which page to select, and the word decoder 104 decodes the least significant bits of the program counter to determine which word (within a selected page) is to be read. Each word has a group of bit lines (same size as the word size) that goes high when the corresponding word is selected. The word decoder 104 selects the correct bit lines that are used to multiplex the data onto an instructions bus (not shown). To write to the flash memory 100, page latches 106 are loaded with data. The least significant bits of the program counter are typically used to load the data to the correct portion of the page latches 106 in a similar fashion as in the word decoder (or the same word decoder can be used). Each page latch is connected to a corresponding bit line. During a read, the output from the page latches 106 is typically tri-stated to avoid drive contention. [0004] Testing correct operation of a flash memory typically requires testing the functionality of both the word decoder and the page decoder. Testing the functionality of a word decoder is usually not an issue because it is generally sufficient to program - i.e., write values into - only one page and then read back the values programmed into the page. Testing the functionality of a page decoder, however, typically requires programming all pages within a flash memory. That is, a unique signature is written into each page of the flash memory, which unique signature is subsequently read from each page of the flash memory. This guarantees that the page decoder points to correct locations within the flash memory. Yet, programming each page of a flash memory is a very time-consuming process, and test time is an important factor in production flow. Another method for testing the functionality of a page decoder is to insert observation points (e.g., a scan chain) at the output of the page decoder. If the page decoder works properly, then only one line (used to access a page) is active at a time. Such a method, however, does not guarantee that the connection between the output lines and the pages is free of any faults. [0005] The details of one or more implementation embodiments are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] FIG. l is a block diagram of a conventional flash memory;
[0007] FIG. 2 is a block diagram of a flash memory in accordance with some embodiments;
[0008] FIG. 3 is a method for testing the functionality of a page decoder of a flash memory in accordance with some embodiments;
[0009] FIG. 4 is a schematic diagram of a page decoder in accordance with some embodiments; and
[0010] FIG. 5 is a block diagram of a memory including a page decoder in accordance with some embodiments. DETAILED DESCRIPTION
[0011] Embodiments of the present invention relate generally to digital circuits, and more particularly to address decoders. The following description of the various embodiments is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. The present invention is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features described and claimed herein. Like reference symbols in the various drawings indicate like elements.
[0012] FIG. 2 illustrates a flash memory 200 in accordance with one implementation. In one implementation, the flash memory 200 is organized into pages (e.g., pages 1-N), and includes an address decoder (comprised of a page decoder 202 and a word decoder 204) for accessing each word of a given page within the flash memory 200. In one implementation, during a read from the flash memory 200, the page decoder 202 decodes the most significant bits of a program counter (not shown) to determine which page to select, and the word decoder 204 decodes the least significant bits of the program counter to determine which word (within a selected page) is to be read. In one implementation, to write to the flash memory 200, page latches 206 are loaded with data (or bit sequences) that are to be written to corresponding bit locations (or memory cells) within the flash memory 200 - i.e., each page latch is connected to a corresponding bit line. The least significant bits of the program counter can be used to load the data to the correct portion of the page latches 206. In one implementation, each memory cell of the flash memory 200 is written to by setting a logic level of the memory cell to zero. Accordingly, in this implementation, erasing a memory cell requires setting the logic level of the memory cell to one. In one implementation, during a programming operation, an entire page is written to at once and the resulting logical value of the memory cells associated with the page depends upon what was previously loaded in the page latches 206. That is, a logic one in a page latch will leave the content (or logic level) of a corresponding memory cell in the flash memory untouched, whereas a logic zero in the page latch will write the corresponding memory cell in the flash memory (the logic level of the memory cell is set to zero). [0013] As discussed above, testing correct operation of a flash memory typically requires testing the functionality of both the word decoder and the page decoder. Testing the functionality of a word decoder is usually not an issue because it is generally sufficient to program only one page and then read back into the page, the values programmed. Testing the functionality of a page decoder, however, in some embodiments typically requires programming all pages (within a flash memory) with a unique signature that is subsequently read from each page of the flash memory. Unlike a conventional page decoder that requires N operations to program N pages of a flash memory, the page decoder 202 is operable to program a plurality of pages at a given time to reduce the amount of time required to program all the pages of a flash memory with a unique signature. Reducing the amount of time required to program pages of a flash memory reduces the overall time and cost required to test functionality of a flash memory. In one implementation, the number of operations required to program each of N pages of a flash memory (with a unique signature) is reduced to log2N, as described in greater detail below.
[0014] FIG. 3 illustrates a method 300 for testing the functionality of a page decoder (e.g., page decoder 202) of a flash memory in accordance with one implementation. A flash memory (e.g., flash memory 200) is erased (step 302). In one implementation, erasing a flash memory comprises setting a logic level of each memory cell (of the flash memory) to one. After the flash memory is erased, a unique bit sequence (or signature) to be loaded into the flash memory is generated (e.g., by logic) (step 304). In one implementation, the number of bits in the unique bit sequence is equal to the number of bits in a given page of the flash memory. For example, if a page contains 32 bits, then the unique bit sequence contains 32 bits. A bit sequence having such a length permits an entire page to be programmed at once. The unique bit sequence is programmed into a plurality of pages of the flash memory at one time (step 306). hi one implementation, N/2 pages are programmed with the unique bit sequence, where N is the total number of pages within the flash memory.
[0015] A determination is made (e.g., by logic) whether each page of the flash memory contains a unique bit sequence (or unique signature) relative to other pages in the flash memory (step 308). If each page of the flash memory has not yet been programmed to have a unique signature, then the method 300 returns to step 304 to generate another unique bit sequence to be loaded into the flash memory, hi one implementation, during each iteration, N/2 pages of the flash memory are programmed. Thus, in this implementation, only log2N iterations (or operations) are required to program each page of the flash memory with a unique signature. If, at step 306, a determination is made that each page of the flash memory has been programmed with a unique signature, then each unique signature is read from a corresponding page of the flash memory (step 3 10).
[0016] An example will now be provided. Table 1 below shows contents of a flash memory after the flash memory has been erased - i.e., each memory cell has a logic level of one. In the example, the flash memory has only 8 pages, and each page contains 5 bits.
Figure imgf000007_0001
Table 1
[0017] Table 2 below shows the contents of the flash memory after a first plurality of pages (e.g., N/2 pages) have been programmed with a unique signature. The unique signature programmed into the flash memory is [01111], and this signature is first loaded into the page latches prior to being written into the flash memory. The "H" means that the page lines corresponding to pages 1- 4 are set high. Therefore, because only the first bit in the page latches is set to zero while all the other bits are set at one, only the first bit in each of the accessed pages (i.e., pages 1-4) are written while the other bits are left untouched.
Figure imgf000007_0002
Figure imgf000008_0001
Table 2
[0018] In a second programming step, N/2 pages of the flash memory are access again at once. However, as shown in Table 3 below, the first two pages of the first half of the flash memory and the first two pages of the second half of the flash memory are accessed. And in this programming step, only the second bit in the page latches is set to zero. Table 3 shows the contents of the flash memory after the second programming step.
Figure imgf000008_0002
Table 3
[0019] In a third (and final) programming step, N/2 pages are again accessed at once, however, this time in an alternating fashion. In this programming step, only the third bit in the page latches is set to a logic level of zero. Table 4 shows the contents of the flash memory after the third programming step.
Figure imgf000008_0003
[0020] As shown in Table 4 above, the programming test sequence leaves a unique signature in each page with only 1Og2N (or three) programming operations. These signatures can then be used to test the functionality of a page decoder through a read operation. As shown in the example above, page 1 is programmed with a given unique bit sequence during each programming step. In contrast, page 8 remains unchanged throughout all the programming steps. [0021] In general, to apply such a programming technique to a flash memory having N pages, one needs the highest 1Og2N bits of the program counter. Each of these bits of the program counter can be combined with a test mode signal (also of size 1Og2N) to access N/2 pages of the flash memory at a time. FIG. 4 illustrates one implementation of a page decoder 400 operable to program N/2 pages of a flash memory at a time. The page decoder 400 includes inverters (INVO-INV2), OR gates (ORO-OR2), and AND gates (ANDO- ANDl 1). To access N/2 pages at a given time as set forth in the example above, the following programming constraints can be implemented:
Programming step 1 : PC[2:0] = 3'0OO
TM[2:0] = 31)101
Programming step 2: PC[2:0] = 3'bOOO
TM[2:0] = 31)110
Programming step 3: PC[2:0] = 3'bOOO
TM[2:0] = 31)110
CONCLUSION
[0022] This specification describes method embodiments for testing correct operation of a page decoder in a memory comprised of N pages, in which each of the N pages has M memory cells. The method comprises, inter alia, erasing the memory to reset all memory cells associated with each of the N pages in the memory; iteratively generating a unique bit sequence of M bits and programming the unique bit sequence into a plurality of the N pages at a given time until each of the N pages contains a unique bit sequence relative to other pages in the memory; and responsive to each of the N pages having a unique bit sequence, using the page decoder to read out each unique bit sequence associated with the N pages to verify correct operation of the page decoder. [0023] Particular implementation embodiments may include one or more of the following features. Erasing the memory can include setting all memory cells associated with each of the N pages to a logic level of one. Programming the unique bit sequence into a plurality of the N pages can include setting one or more of the M memory cells of a given page to a logic level of zero. Programming the unique bit sequence into a plurality of the N pages at a given time can include programming the unique bit sequence into N/2 pages of the memory at a given time. In one aspect, only log2N iterations are required until each of the N pages contains a unique bit sequence relative to other pages in the memory. At least one of the plurality of N pages can be programmed with a given unique bit sequence during each iteration. The memory can be a flash memory.
[0024] This specification also describes embodiments of a memory including N pages, in which each of the N pages has M memory cells. The memory further includes a page latch to iteratively load a unique bit sequence of M bits into a plurality of the N pages at a given time until each of the N pages contains a unique bit sequence relative to other pages in the memory, and a page decoder to read out each unique bit sequence associated with the N pages when each of the N pages has a unique bit sequence relative to other pages in the memory.
[0025] In some embodiments, a method and system for fully testing the functionality of a page decoder is provided that does not require use of observation points - e.g., a scan chain, hi some embodiments, the techniques described herein reduce the overall test time of a flash memory by reducing the number of programming operations required to place a unique signature into each page of the flash memory.
[0026] Various implementation embodiments of a page decoder for a flash memory have been described. Nevertheless, various modifications may be made to the implementations. For example, though example embodiments of page decoder described above are generally described with respect to flash memories, a page decoder in accordance with the present invention can be implemented within other types of memories, as shown in FIG. 5. [0027] FIG. 5 illustrates a memory 500 including a page decoder 502 and a word decoder 504. The page decoder 502 is operable to program a plurality of pages (or memory blocks) (not shown) within the memory at a given time to reduce the amount of time required to program all the pages (or memory blocks) with a unique signature. The memory can be, for example, a RAM (random access memory), a ROM (read-only memory), a hybrid memory, in addition to a multi-level cell device (that can store more than 1 bit per memory cell). In addition, steps of the method discussed above can be performed in a different order and still achieve desirable results. Accordingly, many modifications may be made without departing from the scope of the following claims.

Claims

CLAIMSWhat is claimed is:
1. A method for testing correct operation of a page decoder in a memory comprised of N pages, each of the N pages having M memory cells, the method comprising: erasing the memory to reset all memory cells associated with each of the N pages in the memory; iteratively generating a unique bit sequence of M bits and programming the unique bit sequence into a plurality of the N pages at a given time until each of the N pages contains a unique bit sequence relative to other pages in the memory; and responsive to each of the N pages having a unique bit sequence, using the page decoder to read out each unique bit sequence associated with the N pages to verify correct operation of the page decoder.
2. The method of claim 1, wherein: erasing the memory comprises setting all memory cells associated with each of the N pages to a logic level of one; and programming the unique bit sequence into a plurality of the N pages comprises setting one or more of the M memory cells of a given page to a logic level of zero.
3. The method of claim 1 , wherein programming the unique bit sequence into a plurality of the N pages at a given time comprises programming the unique bit sequence into N/2 pages of the memory at a given time.
4. The method of claim 3, wherein only log2N iterations are required until each of the N pages contains a unique bit sequence relative to other pages in the memory.
5. The method of claim 4, wherein at least one of the plurality of N pages is programmed with a given unique bit sequence during each iteration.
6. The method of claim 5, wherein the memory is a flash memory.
7. A memory comprised of N pages, each of the N pages having M memory cells, the memory comprising: means for erasing the memory to reset all memory cells associated with each of the N pages in the memory; means for iteratively generating a unique bit sequence of M bits and programming the unique bit sequence into a plurality of the N pages at a given time until each of the N pages contains a unique bit sequence relative to other pages in the memory; and responsive to each of the N pages having a unique bit sequence, means for reading out each unique bit sequence associated with the N pages to verify correct operation of the memory.
8. The memory of claim 7, wherein: the means for erasing the memory comprises means for setting all memory cells associated with each of the N pages to a logic level of one; and the means for iteratively generating a unique bit sequence of M bits and programming the unique bit sequence into a plurality of the N pages comprises means for setting one or more of the M memory cells of a given page to a logic level of zero.
9. The memory of claim 7, wherein the means for iteratively generating a unique bit sequence of M bits and programming the unique bit sequence into a plurality of the N pages comprises means for programming the unique bit sequence into N/2 pages of the memory at a given time.
10. The memory of claim 9, wherein the means for iteratively generating a unique bit sequence of M bits and programming the unique bit sequence into a plurality of the N pages requires only 1Og2N iterations until each of the N pages contains a unique bit sequence relative to other pages in the memory.
11. The memory of claim 10, wherein at least one of the plurality of Npages is programmed with a given unique bit sequence during each iteration.
12. The memory of claim 11, wherein the memory is a flash memory.
13. A memory comprising:
Npages, each of the Npages having M memory cells; a page latch to iteratively load a unique bit sequence of M bits into a plurality of the Npages at a given time until each of the Npages contains a unique bit sequence relative to other pages in the memory; and a page decoder to read out each unique bit sequence associated with the Npages when each of the Npages has a unique bit sequence relative to other pages in the memory.
14. The memory of claim 13, wherein the page latch is operable to iteratively load a given unique bit sequence into N/2 pages of the memory at a given time.
15. The memory of claim 14, wherein only 1Og2N iterations are required until each of the Npages contains a unique bit sequence relative to other pages in the memory.
16. The memory of claim 15, wherein the memory is a flash memory.
PCT/US2008/004637 2007-04-13 2008-04-10 Method and apparatus for testing page decoder Ceased WO2008127616A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE112008000991T DE112008000991T5 (en) 2007-04-13 2008-04-10 Method and apparatus for testing a page decoder

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/735,182 2007-04-13
US11/735,182 US7646645B2 (en) 2007-04-13 2007-04-13 Method and apparatus for testing the functionality of a page decoder

Publications (1)

Publication Number Publication Date
WO2008127616A1 true WO2008127616A1 (en) 2008-10-23

Family

ID=39591056

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/004637 Ceased WO2008127616A1 (en) 2007-04-13 2008-04-10 Method and apparatus for testing page decoder

Country Status (5)

Country Link
US (1) US7646645B2 (en)
CN (1) CN101669174A (en)
DE (1) DE112008000991T5 (en)
TW (1) TW200907991A (en)
WO (1) WO2008127616A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7646645B2 (en) 2007-04-13 2010-01-12 Atmel Corporation Method and apparatus for testing the functionality of a page decoder

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218388B2 (en) * 2015-12-18 2019-02-26 SK Hynix Inc. Techniques for low complexity soft decoder for turbo product codes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672610A (en) * 1985-05-13 1987-06-09 Motorola, Inc. Built in self test input generator for programmable logic arrays
US5954831A (en) * 1997-10-08 1999-09-21 Ects Inc. Method for testing a memory device
US6212112B1 (en) * 1998-12-11 2001-04-03 Stmicroelectronics S.A. Method to verify the integrity of the decoding circuits of a memory
US20040015756A1 (en) * 2002-07-09 2004-01-22 Sau-Kwo Chiu Diagonal testing method for flash memories

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623620A (en) 1993-06-30 1997-04-22 Intel Corporation Special test modes for a page buffer shared resource in a memory device
JP3983969B2 (en) * 2000-03-08 2007-09-26 株式会社東芝 Nonvolatile semiconductor memory device
JP4413406B2 (en) 2000-10-03 2010-02-10 株式会社東芝 Nonvolatile semiconductor memory and test method thereof
US6865702B2 (en) 2001-04-09 2005-03-08 Micron Technology, Inc. Synchronous flash memory with test code input
ITRM20010556A1 (en) 2001-09-12 2003-03-12 Micron Technology Inc DECODER TO DECODE SWITCHING COMMANDS IN INTEGRATED CIRCUIT TEST MODE.
JP3898481B2 (en) 2001-10-03 2007-03-28 富士通株式会社 Semiconductor memory device
JP3863124B2 (en) 2003-05-08 2006-12-27 株式会社東芝 Semiconductor memory device and test method thereof
JP2004348803A (en) * 2003-05-20 2004-12-09 Sharp Corp Program verification method for nonvolatile memory element, semiconductor storage device, and portable electronic device having the same
FR2856186A1 (en) 2003-06-12 2004-12-17 St Microelectronics Sa FLASH MEMORY COMPRISING MEANS FOR MONITORING AND REFRESHING CELLS MEMORY IN THE ERASED STATE
KR100632947B1 (en) * 2004-07-20 2006-10-12 삼성전자주식회사 Nonvolatile Memory Device And Its Program Method
US7325177B2 (en) 2004-11-17 2008-01-29 Silicon Storage Technology, Inc. Test circuit and method for multilevel cell flash memory
JP2006310457A (en) * 2005-04-27 2006-11-09 Toshiba Corp Semiconductor integrated circuit
KR100666185B1 (en) * 2005-07-29 2007-01-09 삼성전자주식회사 3-level nonvolatile semiconductor memory device and driving method thereof
US7130222B1 (en) * 2005-09-26 2006-10-31 Macronix International Co., Ltd. Nonvolatile memory with program while program verify
US7646645B2 (en) 2007-04-13 2010-01-12 Atmel Corporation Method and apparatus for testing the functionality of a page decoder

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672610A (en) * 1985-05-13 1987-06-09 Motorola, Inc. Built in self test input generator for programmable logic arrays
US5954831A (en) * 1997-10-08 1999-09-21 Ects Inc. Method for testing a memory device
US6212112B1 (en) * 1998-12-11 2001-04-03 Stmicroelectronics S.A. Method to verify the integrity of the decoding circuits of a memory
US20040015756A1 (en) * 2002-07-09 2004-01-22 Sau-Kwo Chiu Diagonal testing method for flash memories

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COMPUTING SURVEYS USA, vol. 22, no. 1, March 1990 (1990-03-01), pages 5 - 33, ISSN: 0360-0300 *
DATABASE INSPEC [online] THE INSTITUTION OF ELECTRICAL ENGINEERS, STEVENAGE, GB; March 1990 (1990-03-01), VAN DER GOOR A J ET AL: "An overview of deterministic functional RAM chip testing", XP002488797, Database accession no. 3889555 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7646645B2 (en) 2007-04-13 2010-01-12 Atmel Corporation Method and apparatus for testing the functionality of a page decoder

Also Published As

Publication number Publication date
US20080253207A1 (en) 2008-10-16
DE112008000991T5 (en) 2010-05-12
US7646645B2 (en) 2010-01-12
TW200907991A (en) 2009-02-16
CN101669174A (en) 2010-03-10

Similar Documents

Publication Publication Date Title
CN101512669B (en) Defective Block Isolation in Non-Volatile Memory Systems
US8601331B2 (en) Defective memory block remapping method and system, and memory device and processor-based system using same
EP0529945B1 (en) Method and apparatus for programmable memory control with error regulation and test functions
CN101447227A (en) Flash memory device and programming method thereof
US20100329030A1 (en) Nonvolatile memory device and method of programming the same
US6073243A (en) Block locking and passcode scheme for flash memory
US8085589B2 (en) Flash memory device and program recovery method thereof
US20140026005A1 (en) Macro and command execution from memory array
CN100442395C (en) Integrated circuit with self-test device and related test method
US5954818A (en) Method of programming, erasing, and reading block lock-bits and a master lock-bit in a flash memory device
US7277981B2 (en) Scratch control memory array in a flash memory device
US6035401A (en) Block locking apparatus for flash memory
US7486530B2 (en) Method of comparison between cache and data register for non-volatile memory
CN100555455C (en) Nonvolatile memory device and programming method using subset of columns
US7577030B2 (en) Semiconductor storage device
US7646645B2 (en) Method and apparatus for testing the functionality of a page decoder
US20110238889A1 (en) Semiconductor memory device from which data can be read at low power
CN101350224B (en) Memory and its programming method
US8923068B2 (en) Low margin read operation with CRC comparision
US11682470B2 (en) Memory device and operating method thereof
KR20100085657A (en) Non volatile memory device and method of operating the same
JP3777047B2 (en) Erasing method of flash memory device
JP5345508B2 (en) Semiconductor memory test equipment
US6675273B2 (en) Memory circuitry with auxiliary word line to obtain predictable array output when an invalid address is requested
CN119649884A (en) A redundant replacement control circuit, storage array and flash memory

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880011899.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08742730

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 1120080009910

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08742730

Country of ref document: EP

Kind code of ref document: A1

RET De translation (de og part 6b)

Ref document number: 112008000991

Country of ref document: DE

Date of ref document: 20100512

Kind code of ref document: P