US20150019804A1 - Mapping of random defects in a memory device - Google Patents
Mapping of random defects in a memory device Download PDFInfo
- Publication number
- US20150019804A1 US20150019804A1 US14/505,343 US201414505343A US2015019804A1 US 20150019804 A1 US20150019804 A1 US 20150019804A1 US 201414505343 A US201414505343 A US 201414505343A US 2015019804 A1 US2015019804 A1 US 2015019804A1
- Authority
- US
- United States
- Prior art keywords
- address
- memory
- row
- column
- defective
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0684—Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/808—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/72—Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G06F2212/69—
Definitions
- the invention relates to a memory device having a memory array and particularly to managing random defects in memory locations of the memory array of the memory device.
- Memory arrays have a variety of applications nearly all of which require reliability of the memory locations of such arrays.
- memory arrays which are organized in rows and columns of memory cells, readily include defective memory cells, which are generally identified prior to the memory array leaving its place of manufacturing. These defects are characterized as “massive” defects and “random” defects. “Massive” defects generally refer to defects that render an entire row or column defective or that are greater than that which is statistically considered random defects, whereas “random” defects appear more randomly in memory cells with no particular known pattern, such as in a row or a column of the memory array.
- Both massive as well as random defects require management if the memory array is to be used in any practical memory application.
- the management of such defects is typically done by circuitry that controls the memory array.
- an entire row or column is identified as defective and the defective row/column is replaced with a spare row/column by the circuitry that controls the memory array. This replacement prevents further use of the defective row and/or column for the entire remaining life time of the memory array.
- this type of defect management is not efficient for the case of random defects because an entire row or an entire column of memory cells is likely rendered unusable even though as few as one memory cell in the row or column may be defective.
- Magnetic random access memory is a prime candidate for having random defects due to the non-uniform etching process and other processes employed during its manufacturing, MRAM memory cells typically experience random defects as opposed to massive defects or in some cases, in addition to massive defects. MRAM is quickly gaining wide popularity in various applications oftentimes replacing its current counterpart non-volatile memory and is anticipated to replace volatile memory in the near future. Therefore, the efficient management of random defects in a memory array that is made of MRAM memory cells is vital.
- circuits designed to manage defects map a defective address to a spare memory area, which is typically made of content addressable memory content-addressable memories (CAMs).
- CAMs operate by checking an incoming address, which is an input to the CAM, against its content and outputting a signal that reflects whether or not there is a match and an alternate address.
- Current defect management techniques use this as a way to identify a defective memory location in that defective addresses, as they are identified during manufacturing, are stored in the CAM so that when there is a match between the input of the CAM and the content of the CAM, a defective memory location is identified and an alternate address generated.
- random defects of a memory array in a memory device are mapped by receiving an incoming address that identifies a memory location to be accessed in the memory array, the memory array being made of a plurality of memory cells arranged in an array of rows and columns.
- the incoming address includes a row address and a column address, a row address and a column address identifies a memory location of a memory cell of the memory array.
- the row address belongs to a group of row addresses such that each group has no more than one defective memory cell per column, and each group is assigned an alternate row address or an index, further, for each column address each group is assigned a defective row address.
- the method further determines whether or not the incoming column address identifies a defective column and if it is determined that the incoming column address identifies a defective column, the incoming column address is replaced with an alternate column address for identifying the alternate memory location in the memory array. Additionally, the method determines whether or not the incoming row address identifies a defective row and if the incoming row address identifies a defective row, the incoming row address is replaced with an alternate defective row address for identifying the alternate memory location in the memory array, otherwise, a determination is made as to whether or not the incoming address identifies a (random) defective memory cell and if so, the incoming row address is replaced with the alternate row address that is to be used for identifying the alternate memory location in the memory array.
- FIG. 1 shows a high-level flow chart of generally the relevant steps performed in replacing a defective row/column, in accordance with a method of the present invention.
- FIG. 2 shows a high-level block diagram generally carrying out the steps of FIG. 1 , in accordance with an embodiment of the present invention.
- FIG. 3 shows a flow chart of the relevant steps performed in managing a random defect in a memory array of a memory device by mapping the memory location of the defective memory cell to an alternate memory location, in accordance with an embodiment of the present invention.
- FIG. 4 a shows a portion of exemplary memory array of a memory device where grouping of rows is shown and spare row addresses are employed.
- FIG. 4 b shows a portion of exemplary memory array of a memory device where grouping of columns is shown and spare column addresses are employed.
- FIG. 5 shows a high level block diagram of a memory device 400 , in accordance with an embodiment of the present invention.
- FIG. 6 shows a high level block diagram of a memory device 500 , in accordance with an embodiment of the present invention.
- FIG. 7 shows a flow chart of the relevant steps performed in generating the groups of rows, in accordance with a method of the invention.
- a method of managing random defects in a memory array of a memory device includes receiving an incoming address that identifies a memory location to be accessed, within a memory array.
- the incoming address includes a row address and a column address, the row address belongs to a group of row addresses that are associated with a number of column addresses, each of the associated plurality of column addresses of a group of row addresses identifies no more than one defective memory cell.
- the method further determines whether or not the incoming address identifies a defective memory cell and if so, an alternate row address is identified.
- a defective row address is identified using the incoming column address and the incoming row address is compared against the defective row address of each group and if a match is found between the incoming row address and the defective row address of any of the groups, the incoming row address is replaced with the alternate row address, the alternate row address being used to identify an alternate (or “spare”) memory location in the memory array for accessing the memory cell.
- the method further determines whether or not the incoming column address is associated with a defective memory column and if so, the incoming column address is replaced with an alternate (or “spare”) column address that is used to identify the alternate memory location in the memory array.
- FIG. 1 shows a high-level flow chart of generally the relevant steps performed in replacing a defective row/column, in accordance with a method of the present invention.
- the process 150 is shown to start with a determination, at 152 , of whether or not the row that is being accessed is defective and if so, the process proceeds to step 162 , otherwise, the process proceeds to 154 .
- a row is determined to be defective at 152 , this is a “massive” defect, as discussed previously.
- an alternate (or spare) defective row address is used as the memory array row address, which is the address of the row that is to be accessed in the memory array of interest.
- the process continues to 158 .
- step 163 the alternate row address is used as the memory array row address
- step 156 the incoming row address is maintained as the row address for accessing the memory array and no alternate row address is employed.
- step 158 the process continues to 158 , where a determination is made as to whether or not the incoming column is defective and if so, the process continues to the step 164 , otherwise, the step 160 is performed.
- the determination at 158 is a determination of a massive defect in the column and not a random defect, as is done at 152
- the determination at 154 is a determination of the presence of a random defect, as opposed to a massive defect.
- the step 160 is performed where the column address used to access the memory array is the incoming column address and not an alternate column address but upon a determination, at 158 , that the column is defective, the step 164 is performed where an alternate (or spare) column address is used to access the memory array.
- FIG. 2 shows a high-level block diagram generally carrying out the steps of FIG. 1 , in accordance with an embodiment of the present invention.
- a memory device 170 is shown to include a defective row address map 172 , a random defects address 174 map, a defective column address map 176 , a memory array row address select 446 , a memory array column address select 421 , a row decoder 404 , a column decoder 406 , a column select/sense amplifier 408 , and a memory array 402 , in accordance with an embodiment of the present invention.
- the row decoder 404 , column decoder 406 and the column select/sense amplifier 408 are used to access a particular memory location with the memory array 402 .
- the column select 408 includes sense amplifiers.
- the column decoder 406 works in conjunction with the column select 408 to identify a column in the memory array 402 .
- the row decoder 404 identifies a row in the memory array 402 .
- the input to the row decoder 404 is the memory array row address 448 , provided by the select 446
- the input to the column decoder 406 is the memory array column address 428 , provided by the select 421 .
- the defective column address map 176 receives column address 414 , which is included in the incoming memory address 410 , and generates a match signal 192 that indicates a match occurred or not and an alternate column address 190 , to the select 421 .
- the select 421 also receives the column address 414 as another one of its inputs.
- the address 176 is a CAM and generates a match signal 192 to the select 421 to select either one of its other two inputs to pass through as the address 428 based on whether or not the column address 414 is defective on a massive scale, such as determined at 158 , in FIG. 1 .
- the select 421 chooses to pass the alternate column address 190 as the address 428 (an alternate column address is used in this case, such as shown at the step 164 in FIG. 1 ) and if not, the select 421 chooses to pass through the column address 414 as the address 428 (as done at step 160 in FIG. 1 ).
- Row address selection is done differently than column address selection, in FIG. 2 , accordance with one embodiment of the present invention where random defects in a row are managed to avoid replacement of an entire row for a non-massive defect situation.
- the address 172 processes massive row defects whereas the address 174 processes random row defects.
- the address 172 receives as its input, the row address 412 , which is included in the address 410 and generates a match signal 182 that indicates a match occurred or not and an address that is an alternate defective row address 180 if the row address 412 is defective.
- the address 174 receives as its input, the address 410 and generates a match signal 186 that indicates a match occurred or not and an address that is an alternate row address 184 if the addressed cell is defective.
- the match signals 182 and 186 are select signals to the select 446 for use in choosing which of the select 446 ′s inputs, i.e. the address 412 , alternate defective row address 180 or alternate row address 184 the select 446 chooses to pass through as the memory array row address 448 .
- the address 174 may receive part of address 410 instead of the full address.
- the random defects are all mapped to spares cells wherein the column address of the spare cell is the same as column address of the random defective cell if the column was not massively defective. This is further explained further below with reference to FIG. 4 . This results in a smaller CAM.
- the address 174 and the select 446 enable re-use of the same spare row to store defective memory cells thereby making efficient use of the array 402 because less spare rows are required than that required by prior art techniques.
- the address 172 processes massive defects in a row where re-use of a spare row is not possible and address 176 processes massive defects in a column where re-use of a spare column is not possible.
- FIG. 3 shows a flow chart of the relevant steps performed in managing a random defect in a memory array of a memory device by mapping the memory location of the defective memory cell to an alternate memory location, in accordance with an embodiment of the present invention.
- the flow chart of FIG. 3 begins by assuming that a defective memory location has been identified.
- a row address of an incoming memory address that has a row address (also referred to herein as “incoming row address”) and a column address (also referred to herein as “incoming column address”) identifying a particular memory location is used as an index into a row address map table to obtain an alternate address, or an index, as the case may be, and is compared to a predetermined (or “pre-defined”) value to identify whether or not the incoming memory address is identifying a defective row or a (random) defective memory location.
- the identification of a defective memory row is done by setting a bit to a binary value of “1” or “0” in the alternate address, which is effectively a form of a flag indicative of whether or not the particular memory location is defective.
- steps of FIG. 3 show a process for managing random defects and not only massive defects.
- step 12 the column address of the incoming memory address is used as an index into the defective row address for each group of memory locations to obtain a defective row address for each group.
- Identification of groups is performed prior to the steps of FIG. 3 and generally during manufacturing. A method for identification of groups is shown and discussed later relative to subsequent figures.
- step 14 a determination is made as to whether or not the memory cell being accessed and identified by the incoming memory address is defective and if so, the process continues to step 16 , otherwise, the process continues to step 18 .
- the memory cell is presumed not to be defective and the row address of the incoming memory address is used as the row address of the memory array, referred to as the “memory array row address” and the process continues to 20 .
- an alternate row address is used as the memory array row address. This alternate row address identifies a row that is in a predetermined spare area of the memory area.
- the process continues to 20 where a determination is made as to whether or not, the column address of the incoming memory address is defective and if this determination yields a positive result, the process continues to step 22 , otherwise, the process continues to step 24 .
- step 24 because the column address was declared non-defective at 20 , it is used as the memory array column address.
- the column address of the incoming memory address was declared defective at 20 , an alternate column address is used as the memory array column address, wherein the defects in the group of rows with no more than one defect per column are all mapped to cells in the same alternate row address and the same array column address.
- FIG. 4 a shows a portion of exemplary memory array of the memory device where grouping of rows is shown and spare row addresses are employed. That is, the memory array 30 is shown arranged in rows and columns with the rows are identified by a designation of “r”, followed by numbers, which are separated by a period “.” Accordingly, the first row is referenced by “r1.1” where “r” stands for “row”, “1” after “r” indicates the group number and the “1” after the “.” indicates the number of the row in the, thus, the second row is referenced by “rm.1” indicating that this row belongs to group m but that it is the first row of that group. “m” is an integer value. Similarly, additional rows of various groups are shown down to the row “rs.m” with “s” representing a “spare” row and the group of spare or alternate rows being rs.1 to rs.m.
- the columns of the memory array 30 are indicated by “c” followed by a number with the last columns being indicated by the letters “w”, “x”, “y” and “z” to emphasize an unknown number of columns.
- Each of the “w”, “x”, “y”, and “z” are integer values.
- a number of defective memory cells are shown by the representation “o” (or a circle) and a number of alternate cells are shown by the designation of a square.
- the memory cells at 34 are defective memory cells and the memory cells at 36 are alternate (also known as “spare”) memory cells.
- the grouping of rows is done such that only up to one defective memory cell of a given column is tolerated before more than one spare row need be used, which essentially defines a group.
- the grouping of rows is done such that only up to one defective memory cell of a given column is tolerated before more than one spare row need be used, which essentially defines a group.
- two spare rows need be identified as alternate rows for the defects rs.1 for group 1 and rs.m
- the random defective cells are mapped to a spare cell in the same column.
- FIG. 4 b shows a portion of exemplary memory array of the memory device where grouping of columns is shown and spare column addresses are employed. Accordingly, rather than designated spare rows, such as shown in FIG.
- spare columns cs.1 thorough cs.m, are employed.
- FIG. 4 a when more than one defective memory cell in a given row is detected, more than one spare column need be employed because a group in this case is defined by no more than one defective memory cell in a given row. Note that the random defective cells are mapped to a spare cell in the same row
- FIG. 5 shows a high level block diagram of a memory device 400 , in accordance with an embodiment of the present invention.
- the device 400 is one of many ways of implementing defect management in accordance with the teachings of the present invention and that other ways, structures, circuits, software programs, and other suitable means of implementing the defect management of the present invention are contemplated.
- the device 400 is shown to include a memory array 402 coupled to a row address device 401 and a column address device 403 . Further, the device 400 is shown to include a control circuit 450 for generating certain control signals, readily known to those skilled in the art, used by the devices 401 and 403 and the memory array 402 , such as those used by the device 401 to extract the incoming row address and those used by the device 403 to extract the incoming column address.
- the device 401 is shown to include a row address map 440 , ‘g’ number of defective row address table 430 . a through 430 . g, with ‘g’ being an integer value, ‘g’ number of row address comparators 434 . a through 434 . g, a memory array row address select 446 , a defective cell detector 438 , and a row address select 483 .
- the device 403 is shown to include the defective column address map 420 , and a memory array column address select 421 .
- the device 400 is shown to include a non-volatile defective address store 452 and a defective column address 458 .
- the non-volatile defective address store 452 is shown to include ‘g’ number of defective row address table 456 . a through 456 . g and row address map 454 .
- the store 452 and the address 458 reside externally to the memory device 400 .
- the map 440 is a look-up-table that receives an incoming row address 412 , which is extracted from the incoming memory address 410 .
- each of the defective row address tables 430 . a through 430 . g receive an incoming column address 414 , extracted from the address 410 and they are also each effectively a look-up-table.
- the map 440 uses the address 412 as index to obtain the address (or index) of the alternate row address and when an index is obtained (as in this embodiment), it is concatenated with the spare row base address 443 to generate the alternate row address 444 .
- the select 446 selects to output either the address 412 or the address 444 , based on the state of the row address select signal 439 and accordingly generates the memory array row address 448 , which is received by the row decoder 404 .
- the row decoder 404 is used to access a memory location within the memory array 402 .
- the map 440 essentially performs the step 10 of FIG. 3 by using the incoming row address 412 as an index to generate an address or an index of an alternate (or “spare”) row address, the index 442 . That is, the index 442 may be an address or an index of an address (also referred to as “partial row address”). In the case of the latter, further circuitry or functionality is required to process the index, as this is a partial address.
- the tables 430 . a through 430 . g effectively implement the step 12 of FIG. 3 .
- the tables 430 . a through 430 . g each are responsive to the incoming column address 414 and uses the same to generate a defective row address 432 . a for group a through 432 . g for group g, respectively, which are each an address or an index.
- a defective row address 432 . a for group a through 432 . g for group g respectively, which are each an address or an index.
- the incoming memory address 410 identifies a defective memory cell
- one of the tables 430 . a through 430 . g generates a defective row address, which is compared against the incoming row address. That is, each of the comparators 434 . a through 434 .
- each of the comparators 434 . a through 434 . g generates a defective row address match 436 . a through 436 . g, respectively.
- the matches 436 . a through 436 . g are each used to determine whether any is active by the detector 438 , which in one embodiment is an ‘OR’ gate that generates the signal 439 .
- the incoming row address 412 is addressing memory cells with random defect(s) which means that the memory cell being accessed is defective.
- the alternate row address 444 may be selected by the select 446 as opposed to the incoming row address 412 , which is effectively the step 16 in FIG. 3 with the determination at 14 , in FIG. 3 , being performed by the comparators 434 , the detector 438 , the row address select 483 , and the select 446 .
- the flags 493 serves as input to the row address select 483 , which also receives as input, the flags 493 , and based on these two inputs, the select 483 chooses to output, as address 448 , the row address 412 or the address 444 .
- the select 446 chooses the incoming row address 412 as its output, which is the memory array row address 448 .
- the address 448 serves as input to the row decoder 404 , which selects the row to be accessed in the memory array 402 .
- the column address 408 selects the column to be accessed in the memory array 402 .
- the memory arrays 30 and 40 of FIGS. 2 a and 2 b respectively are portions of the memory array 402 of FIG. 5 .
- the memory array 402 is organized into a number of rows and columns, as readily known to those in the art and can be made of a variety of memory cells, such as SRAM, non-volatile RAM (NVRAM) (examples of which include NOR Flash and NAND Flash), and MRAM.
- SRAM static random access memory
- NVRAM non-volatile RAM
- MRAM MRAM
- the map 420 receives as input the incoming column address 414 , which it uses to generate the column alternate address when a defective column address is detected. That is, the map 420 is effectively a CAM that searches for an address that matches its input, the address 414 , and if a match is detected, the address of an alternate column address, which is previously stored in the map 420 becomes the address 424 , additionally, the column address match is generated by the map 420 to indicate the presence of a defective column or not. Accordingly, when a match is detected, the match 422 causes the select 421 to choose the address 424 rather than the address 414 .
- the select 421 receives the addresses 414 and 424 as input and selects to output one or the other based on the state of the match 422 .
- the output of the select 421 is the memory array column address 428 , which serves as input to the column decoder 406 .
- the decoder 406 decodes the address 428 and outputs the decoded address to the column select 408 , which selects a column to access in the memory array 402 .
- the map 420 is a look-up-table.
- the map 420 is a CAM
- the CAM includes field entries with each entry having a first field and a second field and first, the address 414 is used to search the first field and if a match is detected, then the second field is output.
- the map 420 and tables 430 . a through 430 . g are each CAMs.
- the store 452 and the address 458 store values of defects that load values into map 440 and tables 430 , and map 420 respectively, after each power-on and are therefore made of non-volatile memory. In some embodiments, the store 452 and the address 458 are not needed, such as in the case where the array 402 or map 420 and tables 430 . a through 430 . g is made of MRAM memory cells because MRAM is as small and as fast as static random access memory (SRAM), and can therefore be used to store the information that would be stored in the store 452 and the address 458 .
- SRAM static random access memory
- the map 440 , the tables 430 and map 420 are random access memory (RAM), such as SRAM, or CAM in an effort to increase performance. That is, as is well known, mapping defective memory cells eats into memory access time, thus, it is important to access these tables fast or efficiently and for this reason, SRAM or volatile CAM is a suitable candidate due to its fast access speed.
- RAM random access memory
- FIG. 6 shows a high level block diagram of a memory device 500 , in accordance with an embodiment of the present invention.
- the memory device 500 is analogous to the memory device 400 except that column grouping rather than row grouping is performed and is understood to adversely affect the memory access time less than the memory device 400 does.
- spare column are grouped together and accessed at the same time as when the memory array 502 of the memory device 500 is accessed. That is, the spare array 503 is accessed at the same time as when the memory array 502 is accessed.
- the device 500 is shown to include a row address device 511 , a column address device 513 , a control circuit 550 , a memory array 502 and a spare array 503 .
- the control circuit 550 is analogous to the control circuit 450 a column decoder 506 , a spare array column decoder 507 , column select 508 , a spare array column select 509 , an output select 560 .
- the device 511 is shown to include a defective row address 520 , a row address select 526 , a row decoder 504 .
- the device 513 is shown to include a column address map 540 .
- the device 500 is shown to include a non-volatile defective address store 552 and a defective row address 558 .
- the non-volatile defective address store 552 is shown to include ‘g’ number of defective column address table 556 . a through 556 . g and column address map 554 .
- the store 552 and the address 558 reside externally to the memory device 500 .
- the defective address store 552 is analogous to the store 452 except that it is regarding column addresses rather than row addresses. That is, it maintains defective column addresses for use by the addresses 530 . a through 530 . g and column address map 540 and loads the latter upon power-up.
- the control circuit 550 is analogous to the control circuit 450 .
- the defective row address 520 is responsive to the incoming row address 512 , which is extracted from the incoming memory address 510 , and outputs the row alternate address 524 , which is either an address or an index of an address.
- the address 520 does so by finding a match between the address 512 and one of its stored values and if it detects a match, it generates the row address match 522 to the row address select 526 , which causes the latter to select the address 524 rather than the address 512 as its output, memory array row address 528 .
- the address 528 is provided as input to the row decoder 504 , which decodes the address 528 and uses the decoded row address to access a corresponding row in the memory array 502 and the spare array 503 .
- the column address map 540 is responsive to the incoming column address 514 and is analogous to the row address map 440 except that it is for looking up column addresses and not row addresses.
- the map 540 outputs the spare column index 542 for use by spare array column decoder 507 , which decodes the alternate column address 542 and outputs the decoded address for use by the spare array column select 509 , the select 560 further chooses between the output of the select 509 and the output of the column select 508 based upon the status of the column address defect signal 539 .
- the select 560 selects the output of the select 509 to provide, as output 562 , and if it does not indicate a defect, the select 560 chooses the output of the column select 508 as the output 562 .
- the defective column addresses 530 for groups a through g are analogous to the addresses 430 except that they store defective column addresses instead of defective row addresses and in this respect, they receive as input, the incoming row address 512 as their input.
- the comparators 534 . a through 534 . g are analogous to the comparators 434 . a through 434 . g, respectively, but they compare column addresses and more specifically, the address of a respective defective column address with the incoming column address 514 .
- the output of the detector so indicates and provides such input to the select 589 and based on the same in addition to the state of the flags 599 , from the map 540 , as processed by the select 589 , the signal 539 , which is the output of the select 589 , causes the select 560 to choose between the output of the select 509 and the output of the column select 508 .
- the detector 538 is therefore analogous to the detector 438 .
- the flags 599 are a part of the address 542 and in an exemplary embodiment, take on values analogous to those shown in Table 1 hereinabove. As previously discussed, an index concatenated with a base address is used to generate 542 , in an embodiment of the invention.
- the store 552 or address 558 is not required for the case where the array 517 is made of MRAM cells.
- FIG. 7 shows a flow chart of the relevant steps performed in generating the groups of rows, in accordance with a method of the invention.
- the process 700 is shown to start at 704 where a determination is made as to whether or not all rows have been processed and if so, the process completes at 710 . Otherwise, the step 702 is performed where the next row is processed (or accessed), followed by another determination at 714 . At 714 , it is determined whether or not the row being processed has more than one defective memory cell in any of the associated columns of any of the groups and if so, the process continues to step 720 where the row being processed is added to any one of the groups that qualify. Groups that qualify are those with no more than one defective memory cell at a given column thereof.
- step 718 a new group is started and the row being processed is added to the new group and the process continues to 704 .
- An analogous process is undertaken in the case where columns are grouped.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
A memory device includes a memory array with random defective memory cells. The memory array is organized into rows and columns with a row and column identifying a memory location of a memory cell of the memory array. The memory device includes a row address device and a column address device and is operative to use a grouping of either the row or the column addresses to manage the random defective memory cells by mapping the memory location of a defective memory cell to an alternate memory location.
Description
- This application is a continuation of U.S. patent application Ser. No. 14/497,091, filed on Sep. 25, 2014, filed by Siamack Nemazie, and entitled “MAPPING OF RANDOM DEFECTS IN A MEMORY DEVICE”, which is a divisional application of U.S. patent application Ser. No. 13/175,801, filed by Siamack Nemazie, on Jul. 1, 2011, and entitled “Mapping of Random Defects in a Memory Device”.
- 1. Field of the Invention
- The invention relates to a memory device having a memory array and particularly to managing random defects in memory locations of the memory array of the memory device.
- 2. Description of the Prior Art
- Memory arrays have a variety of applications nearly all of which require reliability of the memory locations of such arrays. However, as readily known in the industry, memory arrays, which are organized in rows and columns of memory cells, readily include defective memory cells, which are generally identified prior to the memory array leaving its place of manufacturing. These defects are characterized as “massive” defects and “random” defects. “Massive” defects generally refer to defects that render an entire row or column defective or that are greater than that which is statistically considered random defects, whereas “random” defects appear more randomly in memory cells with no particular known pattern, such as in a row or a column of the memory array.
- Both massive as well as random defects require management if the memory array is to be used in any practical memory application. The management of such defects is typically done by circuitry that controls the memory array. In the case of massive defects, an entire row or column is identified as defective and the defective row/column is replaced with a spare row/column by the circuitry that controls the memory array. This replacement prevents further use of the defective row and/or column for the entire remaining life time of the memory array. As can be appreciated, this type of defect management is not efficient for the case of random defects because an entire row or an entire column of memory cells is likely rendered unusable even though as few as one memory cell in the row or column may be defective.
- Magnetic random access memory (MRAM) is a prime candidate for having random defects due to the non-uniform etching process and other processes employed during its manufacturing, MRAM memory cells typically experience random defects as opposed to massive defects or in some cases, in addition to massive defects. MRAM is quickly gaining wide popularity in various applications oftentimes replacing its current counterpart non-volatile memory and is anticipated to replace volatile memory in the near future. Therefore, the efficient management of random defects in a memory array that is made of MRAM memory cells is vital.
- Techniques currently employed to manage random defects suffer from being costly due to their use of large memory. That is, circuits designed to manage defects map a defective address to a spare memory area, which is typically made of content addressable memory content-addressable memories (CAMs). CAMs operate by checking an incoming address, which is an input to the CAM, against its content and outputting a signal that reflects whether or not there is a match and an alternate address. Current defect management techniques use this as a way to identify a defective memory location in that defective addresses, as they are identified during manufacturing, are stored in the CAM so that when there is a match between the input of the CAM and the content of the CAM, a defective memory location is identified and an alternate address generated. When a cell being accessed is identified to be defective, the incoming address thereof is replaced with an alternate address associated with a spare cell. As can be appreciated, the shortcoming with this technique is that a large CAM is required, causing valuable real estate in addition to increased costs to the point of being impractical. In some current designs, two CAMs are employed, one for maintaining defective row addresses and another for maintaining defective column addresses, which is a costly solution for managing random defects as each random defect is mapped to a spare row (or column) which increases the memory array, among perhaps others.
- Thus, the need arises for a memory device with an efficient and cost effective method and apparatus to manage random defects in its memory array.
- To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the specification, the invention discloses.
- Briefly, in accordance with a method of the present invention, random defects of a memory array in a memory device are mapped by receiving an incoming address that identifies a memory location to be accessed in the memory array, the memory array being made of a plurality of memory cells arranged in an array of rows and columns. The incoming address includes a row address and a column address, a row address and a column address identifies a memory location of a memory cell of the memory array. The row address belongs to a group of row addresses such that each group has no more than one defective memory cell per column, and each group is assigned an alternate row address or an index, further, for each column address each group is assigned a defective row address. The method further determines whether or not the incoming column address identifies a defective column and if it is determined that the incoming column address identifies a defective column, the incoming column address is replaced with an alternate column address for identifying the alternate memory location in the memory array. Additionally, the method determines whether or not the incoming row address identifies a defective row and if the incoming row address identifies a defective row, the incoming row address is replaced with an alternate defective row address for identifying the alternate memory location in the memory array, otherwise, a determination is made as to whether or not the incoming address identifies a (random) defective memory cell and if so, the incoming row address is replaced with the alternate row address that is to be used for identifying the alternate memory location in the memory array.
- These and other objects and advantages of the present invention will no doubt become apparent after having read the following detailed description of the preferred embodiments illustrated in the several figures of the drawing.
-
FIG. 1 shows a high-level flow chart of generally the relevant steps performed in replacing a defective row/column, in accordance with a method of the present invention. -
FIG. 2 shows a high-level block diagram generally carrying out the steps ofFIG. 1 , in accordance with an embodiment of the present invention. -
FIG. 3 shows a flow chart of the relevant steps performed in managing a random defect in a memory array of a memory device by mapping the memory location of the defective memory cell to an alternate memory location, in accordance with an embodiment of the present invention. -
FIG. 4 a shows a portion of exemplary memory array of a memory device where grouping of rows is shown and spare row addresses are employed. -
FIG. 4 b shows a portion of exemplary memory array of a memory device where grouping of columns is shown and spare column addresses are employed. -
FIG. 5 shows a high level block diagram of amemory device 400, in accordance with an embodiment of the present invention. -
FIG. 6 shows a high level block diagram of amemory device 500, in accordance with an embodiment of the present invention. -
FIG. 7 shows a flow chart of the relevant steps performed in generating the groups of rows, in accordance with a method of the invention. - In the following description of the embodiments, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration of the specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized because structural changes may be made without departing from the scope of the present invention. It should be noted that the figures discussed herein are not drawn to scale and thicknesses of lines are not indicative of actual sizes.
- In accordance with an embodiment of the present invention, a method of managing random defects in a memory array of a memory device is disclosed. The memory array is organized into rows and columns, with a row and a column identifying a memory location identifying a memory cell. This method includes receiving an incoming address that identifies a memory location to be accessed, within a memory array. The incoming address includes a row address and a column address, the row address belongs to a group of row addresses that are associated with a number of column addresses, each of the associated plurality of column addresses of a group of row addresses identifies no more than one defective memory cell. The method further determines whether or not the incoming address identifies a defective memory cell and if so, an alternate row address is identified.
- For each group of row addresses, a defective row address is identified using the incoming column address and the incoming row address is compared against the defective row address of each group and if a match is found between the incoming row address and the defective row address of any of the groups, the incoming row address is replaced with the alternate row address, the alternate row address being used to identify an alternate (or “spare”) memory location in the memory array for accessing the memory cell. The method further determines whether or not the incoming column address is associated with a defective memory column and if so, the incoming column address is replaced with an alternate (or “spare”) column address that is used to identify the alternate memory location in the memory array.
-
FIG. 1 shows a high-level flow chart of generally the relevant steps performed in replacing a defective row/column, in accordance with a method of the present invention. Theprocess 150 is shown to start with a determination, at 152, of whether or not the row that is being accessed is defective and if so, the process proceeds tostep 162, otherwise, the process proceeds to 154. When a row is determined to be defective at 152, this is a “massive” defect, as discussed previously. - At
step 162, an alternate (or spare) defective row address is used as the memory array row address, which is the address of the row that is to be accessed in the memory array of interest. Next, the process continues to 158. - At 154, another determination is made, this time, as to whether or not, the addressed memory cell is defective and if so, the process proceeds to
step 163 where the alternate row address is used as the memory array row address, otherwise, the process continues to step 156 where the incoming row address is maintained as the row address for accessing the memory array and no alternate row address is employed. Afterstep 156, the process continues to 158, where a determination is made as to whether or not the incoming column is defective and if so, the process continues to thestep 164, otherwise, thestep 160 is performed. The determination at 158 is a determination of a massive defect in the column and not a random defect, as is done at 152, whereas, the determination at 154 is a determination of the presence of a random defect, as opposed to a massive defect. - If there is no massive column defects spotted at 158, the
step 160 is performed where the column address used to access the memory array is the incoming column address and not an alternate column address but upon a determination, at 158, that the column is defective, thestep 164 is performed where an alternate (or spare) column address is used to access the memory array. -
FIG. 2 shows a high-level block diagram generally carrying out the steps ofFIG. 1 , in accordance with an embodiment of the present invention. InFIG. 2 , amemory device 170 is shown to include a defectiverow address map 172, a random defects address 174 map, a defective column address map 176, a memory array row address select 446, a memory array column address select 421, arow decoder 404, acolumn decoder 406, a column select/sense amplifier 408, and amemory array 402, in accordance with an embodiment of the present invention. - As is known to those in the art, the
row decoder 404,column decoder 406 and the column select/sense amplifier 408 are used to access a particular memory location with thememory array 402. The column select 408, as again generally known, includes sense amplifiers. Thecolumn decoder 406 works in conjunction with the column select 408 to identify a column in thememory array 402. Therow decoder 404 identifies a row in thememory array 402. - The input to the
row decoder 404 is the memoryarray row address 448, provided by the select 446, and the input to thecolumn decoder 406 is the memoryarray column address 428, provided by the select 421. - The defective column address map 176, receives
column address 414, which is included in theincoming memory address 410, and generates amatch signal 192 that indicates a match occurred or not and an alternate column address 190, to the select 421. The select 421 also receives thecolumn address 414 as another one of its inputs. In some embodiments, the address 176 is a CAM and generates amatch signal 192 to the select 421 to select either one of its other two inputs to pass through as theaddress 428 based on whether or not thecolumn address 414 is defective on a massive scale, such as determined at 158, inFIG. 1 . Accordingly, if thecolumn address 414 is determined to be defective, the select 421 chooses to pass the alternate column address 190 as the address 428 (an alternate column address is used in this case, such as shown at thestep 164 inFIG. 1 ) and if not, the select 421 chooses to pass through thecolumn address 414 as the address 428 (as done atstep 160 inFIG. 1 ). - Row address selection is done differently than column address selection, in
FIG. 2 , accordance with one embodiment of the present invention where random defects in a row are managed to avoid replacement of an entire row for a non-massive defect situation. Thus, theaddress 172 processes massive row defects whereas theaddress 174 processes random row defects. Theaddress 172 receives as its input, therow address 412, which is included in theaddress 410 and generates a match signal 182 that indicates a match occurred or not and an address that is an alternatedefective row address 180 if therow address 412 is defective. Theaddress 174 receives as its input, theaddress 410 and generates a match signal 186 that indicates a match occurred or not and an address that is analternate row address 184 if the addressed cell is defective. Further, the match signals 182 and 186 are select signals to the select 446 for use in choosing which of the select 446′s inputs, i.e. theaddress 412, alternatedefective row address 180 oralternate row address 184 the select 446 chooses to pass through as the memoryarray row address 448. In other embodiments theaddress 174 may receive part ofaddress 410 instead of the full address. The random defects are all mapped to spares cells wherein the column address of the spare cell is the same as column address of the random defective cell if the column was not massively defective. This is further explained further below with reference toFIG. 4 . This results in a smaller CAM. - Accordingly, the
address 174 and the select 446 enable re-use of the same spare row to store defective memory cells thereby making efficient use of thearray 402 because less spare rows are required than that required by prior art techniques. Theaddress 172 processes massive defects in a row where re-use of a spare row is not possible and address 176 processes massive defects in a column where re-use of a spare column is not possible. -
FIG. 3 shows a flow chart of the relevant steps performed in managing a random defect in a memory array of a memory device by mapping the memory location of the defective memory cell to an alternate memory location, in accordance with an embodiment of the present invention. The flow chart ofFIG. 3 begins by assuming that a defective memory location has been identified. Atstep 10, a row address of an incoming memory address that has a row address (also referred to herein as “incoming row address”) and a column address (also referred to herein as “incoming column address”) identifying a particular memory location is used as an index into a row address map table to obtain an alternate address, or an index, as the case may be, and is compared to a predetermined (or “pre-defined”) value to identify whether or not the incoming memory address is identifying a defective row or a (random) defective memory location. By way of example, the identification of a defective memory row is done by setting a bit to a binary value of “1” or “0” in the alternate address, which is effectively a form of a flag indicative of whether or not the particular memory location is defective. - It is noted that the steps of
FIG. 3 show a process for managing random defects and not only massive defects. - After
step 10, atstep 12, the column address of the incoming memory address is used as an index into the defective row address for each group of memory locations to obtain a defective row address for each group. Identification of groups is performed prior to the steps ofFIG. 3 and generally during manufacturing. A method for identification of groups is shown and discussed later relative to subsequent figures. - Next, at
step 14, a determination is made as to whether or not the memory cell being accessed and identified by the incoming memory address is defective and if so, the process continues to step 16, otherwise, the process continues to step 18. Atstep 18, the memory cell is presumed not to be defective and the row address of the incoming memory address is used as the row address of the memory array, referred to as the “memory array row address” and the process continues to 20. Atstep 16, an alternate row address is used as the memory array row address. This alternate row address identifies a row that is in a predetermined spare area of the memory area. Next, the process continues to 20 where a determination is made as to whether or not, the column address of the incoming memory address is defective and if this determination yields a positive result, the process continues to step 22, otherwise, the process continues to step 24. - At
step 24, because the column address was declared non-defective at 20, it is used as the memory array column address. Atstep 22, because the column address of the incoming memory address was declared defective at 20, an alternate column address is used as the memory array column address, wherein the defects in the group of rows with no more than one defect per column are all mapped to cells in the same alternate row address and the same array column address. -
FIG. 4 a shows a portion of exemplary memory array of the memory device where grouping of rows is shown and spare row addresses are employed. That is, thememory array 30 is shown arranged in rows and columns with the rows are identified by a designation of “r”, followed by numbers, which are separated by a period “.” Accordingly, the first row is referenced by “r1.1” where “r” stands for “row”, “1” after “r” indicates the group number and the “1” after the “.” indicates the number of the row in the, thus, the second row is referenced by “rm.1” indicating that this row belongs to group m but that it is the first row of that group. “m” is an integer value. Similarly, additional rows of various groups are shown down to the row “rs.m” with “s” representing a “spare” row and the group of spare or alternate rows being rs.1 to rs.m. - The columns of the
memory array 30 are indicated by “c” followed by a number with the last columns being indicated by the letters “w”, “x”, “y” and “z” to emphasize an unknown number of columns. Each of the “w”, “x”, “y”, and “z” are integer values. Further, a number of defective memory cells are shown by the representation “o” (or a circle) and a number of alternate cells are shown by the designation of a square. For example, the memory cells at 34 are defective memory cells and the memory cells at 36 are alternate (also known as “spare”) memory cells. - In an embodiment and method of the present invention, the grouping of rows is done such that only up to one defective memory cell of a given column is tolerated before more than one spare row need be used, which essentially defines a group. For example, because 2 defective memory cells appear on three columns, i.e. column c1 column c2, and column cz two spare rows need be identified as alternate rows for the defects rs.1 for
group 1 and rs.m The random defective cells are mapped to a spare cell in the same column.FIG. 4 b shows a portion of exemplary memory array of the memory device where grouping of columns is shown and spare column addresses are employed. Accordingly, rather than designated spare rows, such as shown inFIG. 4 a, spare columns, cs.1 thorough cs.m, are employed. Analogous toFIG. 4 a, when more than one defective memory cell in a given row is detected, more than one spare column need be employed because a group in this case is defined by no more than one defective memory cell in a given row. Note that the random defective cells are mapped to a spare cell in the same row -
FIG. 5 shows a high level block diagram of amemory device 400, in accordance with an embodiment of the present invention. Thedevice 400 is one of many ways of implementing defect management in accordance with the teachings of the present invention and that other ways, structures, circuits, software programs, and other suitable means of implementing the defect management of the present invention are contemplated. - The
device 400 is shown to include amemory array 402 coupled to arow address device 401 and acolumn address device 403. Further, thedevice 400 is shown to include acontrol circuit 450 for generating certain control signals, readily known to those skilled in the art, used by thedevices memory array 402, such as those used by thedevice 401 to extract the incoming row address and those used by thedevice 403 to extract the incoming column address. - The
device 401 is shown to include arow address map 440, ‘g’ number of defective row address table 430.a through 430.g, with ‘g’ being an integer value, ‘g’ number of row address comparators 434.a through 434.g, a memory array row address select 446, adefective cell detector 438, and a row address select 483. - The
device 403 is shown to include the defectivecolumn address map 420, and a memory array column address select 421. - The
device 400 is shown to include a non-volatiledefective address store 452 and adefective column address 458. The non-volatiledefective address store 452 is shown to include ‘g’ number of defective row address table 456.a through 456.g androw address map 454. - In alternative embodiments, the
store 452 and theaddress 458 reside externally to thememory device 400. - The
map 440 is a look-up-table that receives anincoming row address 412, which is extracted from theincoming memory address 410. Similarly, each of the defective row address tables 430.a through 430.g receive anincoming column address 414, extracted from theaddress 410 and they are also each effectively a look-up-table. Themap 440 uses theaddress 412 as index to obtain the address (or index) of the alternate row address and when an index is obtained (as in this embodiment), it is concatenated with the sparerow base address 443 to generate thealternate row address 444. The select 446 selects to output either theaddress 412 or theaddress 444, based on the state of the row addressselect signal 439 and accordingly generates the memoryarray row address 448, which is received by therow decoder 404. As known in the art, therow decoder 404 is used to access a memory location within thememory array 402. - The
map 440 essentially performs thestep 10 ofFIG. 3 by using theincoming row address 412 as an index to generate an address or an index of an alternate (or “spare”) row address, theindex 442. That is, theindex 442 may be an address or an index of an address (also referred to as “partial row address”). In the case of the latter, further circuitry or functionality is required to process the index, as this is a partial address. - The tables 430.a through 430.g effectively implement the
step 12 ofFIG. 3 . The tables 430.a through 430.g, each are responsive to theincoming column address 414 and uses the same to generate a defective row address 432.a for group a through 432.g for group g, respectively, which are each an address or an index. Assuming theincoming memory address 410 identifies a defective memory cell, one of the tables 430.a through 430.g generates a defective row address, which is compared against the incoming row address. That is, each of the comparators 434.a through 434.g compares theincoming row address 412 to an output of the address 430, or output 432.a through 432.g, respectively, to determine whether or not the memory location being accessed, i.e. the memory cell, is defective, which is effectively carrying out 14 inFIG. 3 . Each of the comparators 434.a through 434.g generates a defective row address match 436.a through 436.g, respectively. The matches 436.a through 436.g are each used to determine whether any is active by thedetector 438, which in one embodiment is an ‘OR’ gate that generates thesignal 439. That is, if any of the comparators 434 yield a match, theincoming row address 412 is addressing memory cells with random defect(s) which means that the memory cell being accessed is defective. Where there is a match found by thedetector 438, based on the state of theflags 493, which are included in theindex 442, thealternate row address 444 may be selected by the select 446 as opposed to theincoming row address 412, which is effectively thestep 16 inFIG. 3 with the determination at 14, inFIG. 3 , being performed by the comparators 434, thedetector 438, the row address select 483, and the select 446. More specifically, theflags 493 serves as input to the row address select 483, which also receives as input, theflags 493, and based on these two inputs, the select 483 chooses to output, asaddress 448, therow address 412 or theaddress 444. - Where there is no defect, the select 446 chooses the
incoming row address 412 as its output, which is the memoryarray row address 448. Theaddress 448 serves as input to therow decoder 404, which selects the row to be accessed in thememory array 402. Similarly, thecolumn address 408 selects the column to be accessed in thememory array 402. - It is noted that the “spare” or “alternate” row and column addresses are kept in the
memory array 402. Thememory arrays FIGS. 2 a and 2 b, respectively are portions of thememory array 402 ofFIG. 5 . - An example of the state of the
flags 493 is shown in Table 1 below: -
TABLE 1 Flag 1Flag 2 M (439) Description X 0 X No defect in the row (select row address) 1 1 X Defective row (select alt. row address) 0 1 0 Cell is not defective (select row add.) 0 1 1 Cell is defective (select alt. row add.) - The
memory array 402 is organized into a number of rows and columns, as readily known to those in the art and can be made of a variety of memory cells, such as SRAM, non-volatile RAM (NVRAM) (examples of which include NOR Flash and NAND Flash), and MRAM. - The
map 420 receives as input theincoming column address 414, which it uses to generate the column alternate address when a defective column address is detected. That is, themap 420 is effectively a CAM that searches for an address that matches its input, theaddress 414, and if a match is detected, the address of an alternate column address, which is previously stored in themap 420 becomes theaddress 424, additionally, the column address match is generated by themap 420 to indicate the presence of a defective column or not. Accordingly, when a match is detected, thematch 422 causes the select 421 to choose theaddress 424 rather than theaddress 414. More specifically, the select 421 receives theaddresses match 422. The output of the select 421 is the memoryarray column address 428, which serves as input to thecolumn decoder 406. Thedecoder 406 decodes theaddress 428 and outputs the decoded address to the column select 408, which selects a column to access in thememory array 402. - In some embodiments, the
map 420 is a look-up-table. - In embodiments where the
map 420 is a CAM, in an alternate embodiment, the CAM includes field entries with each entry having a first field and a second field and first, theaddress 414 is used to search the first field and if a match is detected, then the second field is output. - In some embodiments, the
map 420 and tables 430.a through 430.g are each CAMs. - The
store 452 and theaddress 458 store values of defects that load values intomap 440 and tables 430, and map 420 respectively, after each power-on and are therefore made of non-volatile memory. In some embodiments, thestore 452 and theaddress 458 are not needed, such as in the case where thearray 402 or map 420 and tables 430.a through 430.g is made of MRAM memory cells because MRAM is as small and as fast as static random access memory (SRAM), and can therefore be used to store the information that would be stored in thestore 452 and theaddress 458. - In non-MRAM applications, the
map 440, the tables 430 and map 420 are random access memory (RAM), such as SRAM, or CAM in an effort to increase performance. That is, as is well known, mapping defective memory cells eats into memory access time, thus, it is important to access these tables fast or efficiently and for this reason, SRAM or volatile CAM is a suitable candidate due to its fast access speed. -
FIG. 6 shows a high level block diagram of amemory device 500, in accordance with an embodiment of the present invention. Thememory device 500 is analogous to thememory device 400 except that column grouping rather than row grouping is performed and is understood to adversely affect the memory access time less than thememory device 400 does. Accordingly, in thememory device 500, spare column are grouped together and accessed at the same time as when thememory array 502 of thememory device 500 is accessed. That is, thespare array 503 is accessed at the same time as when thememory array 502 is accessed. - More specifically, the
device 500 is shown to include arow address device 511, acolumn address device 513, acontrol circuit 550, amemory array 502 and aspare array 503. Thecontrol circuit 550 is analogous to the control circuit 450 a column decoder 506, a sparearray column decoder 507, column select 508, a spare array column select 509, an output select 560. Thedevice 511 is shown to include adefective row address 520, a row address select 526, arow decoder 504. Thedevice 513 is shown to include acolumn address map 540. - The
device 500 is shown to include a non-volatiledefective address store 552 and adefective row address 558. The non-volatiledefective address store 552 is shown to include ‘g’ number of defective column address table 556.a through 556.g andcolumn address map 554. - In alternative embodiments, the
store 552 and theaddress 558 reside externally to thememory device 500. - The
defective address store 552 is analogous to thestore 452 except that it is regarding column addresses rather than row addresses. That is, it maintains defective column addresses for use by the addresses 530.a through 530.g andcolumn address map 540 and loads the latter upon power-up. Thecontrol circuit 550 is analogous to thecontrol circuit 450. - The
defective row address 520 is responsive to theincoming row address 512, which is extracted from the incoming memory address 510, and outputs the rowalternate address 524, which is either an address or an index of an address. Theaddress 520 does so by finding a match between theaddress 512 and one of its stored values and if it detects a match, it generates therow address match 522 to the row address select 526, which causes the latter to select theaddress 524 rather than theaddress 512 as its output, memoryarray row address 528. Theaddress 528 is provided as input to therow decoder 504, which decodes theaddress 528 and uses the decoded row address to access a corresponding row in thememory array 502 and thespare array 503. - The
column address map 540 is responsive to theincoming column address 514 and is analogous to therow address map 440 except that it is for looking up column addresses and not row addresses. Themap 540 outputs thespare column index 542 for use by sparearray column decoder 507, which decodes thealternate column address 542 and outputs the decoded address for use by the spare array column select 509, the select 560 further chooses between the output of the select 509 and the output of the column select 508 based upon the status of the columnaddress defect signal 539. That is, if the signal indicates a defective column address, the select 560 selects the output of the select 509 to provide, asoutput 562, and if it does not indicate a defect, the select 560 chooses the output of the column select 508 as theoutput 562. - The defective column addresses 530 for groups a through g are analogous to the addresses 430 except that they store defective column addresses instead of defective row addresses and in this respect, they receive as input, the
incoming row address 512 as their input. Similarly, the comparators 534.a through 534.g are analogous to the comparators 434.a through 434.g, respectively, but they compare column addresses and more specifically, the address of a respective defective column address with theincoming column address 514. If a match between theincoming column address 514 and one of the defective column addresses in the groups a through g of the tables 530 is found by thedetector 538, the output of the detector so indicates and provides such input to the select 589 and based on the same in addition to the state of theflags 599, from themap 540, as processed by the select 589, thesignal 539, which is the output of the select 589, causes the select 560 to choose between the output of the select 509 and the output of the column select 508. Thedetector 538 is therefore analogous to thedetector 438. Theflags 599 are a part of theaddress 542 and in an exemplary embodiment, take on values analogous to those shown in Table 1 hereinabove. As previously discussed, an index concatenated with a base address is used to generate 542, in an embodiment of the invention. - The
store 552 oraddress 558 is not required for the case where thearray 517 is made of MRAM cells. -
FIG. 7 shows a flow chart of the relevant steps performed in generating the groups of rows, in accordance with a method of the invention. - The
process 700 is shown to start at 704 where a determination is made as to whether or not all rows have been processed and if so, the process completes at 710. Otherwise, thestep 702 is performed where the next row is processed (or accessed), followed by another determination at 714. At 714, it is determined whether or not the row being processed has more than one defective memory cell in any of the associated columns of any of the groups and if so, the process continues to step 720 where the row being processed is added to any one of the groups that qualify. Groups that qualify are those with no more than one defective memory cell at a given column thereof. If, on the other hand, at 714, it is determined that the row being processed has more than one defective memory cell in any associated column of any group, the process proceeds to step 718 where a new group is started and the row being processed is added to the new group and the process continues to 704. An analogous process is undertaken in the case where columns are grouped. - Although the present invention has been described in terms of specific embodiments, it is anticipated that alterations and modifications thereof will no doubt become apparent to those skilled in the art. It is therefore intended that the following claims be interpreted as covering all such alterations and modification as fall within the true spirit and scope of the invention.
Claims (10)
1. A memory device comprising:
an apparatus coupled to a memory array, the memory array made of memory cells and organized into rows and columns of memory cells, the apparatus including,
a row address device responsive to an incoming row address and an incoming column address, the incoming row and column addresses identifying the location of a memory cell in the memory array, the row address device operable to detect a first defective memory cell the location of which in the memory array is identified by the incoming row and column addresses, wherein upon a column of the memory array identified by the incoming column address being associated with one defective memory cell, the row address device operable to identify the location of the memory cell by an alternate row and column addresses,
wherein upon the column, identified by the incoming column address being associated with more than one defective memory cell, the row address device operable to identify a spare memory location identified by an alternate row and column address within the memory array and upon the column being associated with more than one defective memory cells, the row address device operable to identify two alternate row addresses identified by more than one alternate row address and one or more alternate column address.
2. The memory device of claim 1 , wherein the incoming row address identifies a row in the memory array, among a group of rows, groups of rows are each formed such that up to one defective memory cell of a given column corresponding to a group of rows is tolerated before using more than one alternate row to identify locations used to replace the location of the defective memory cells.
3. The memory device of claim 1 , wherein a column address device responsive to an incoming column address and operable to detect the incoming column address to identify a defective cell identified, in part, by the incoming column address and to replace the incoming defective column address with an alternate column address, wherein the alternate row address or alternate column address or the combination thereof to be used to identify an alternate memory cell used to store incoming data associated with an alternate memory cell identified by the alternate row address or the alternate column address or any combination thereof.
4. The method of managing, as recited in claim 1 , wherein determining that the memory cell is not defective using a predetermined value.
5. The method of managing, as recited in claim 1 , wherein determining that the memory cell is not defective using a flag.
6. The method of managing, as recited in claim 1 , wherein if it is determined that there is no match between the incoming column address and the defective column address, using the incoming column address for identifying the memory location to be accessed.
7. The method of managing, as recited in claim 1 , wherein if it is determined that there is no match between the incoming row address and the defective row address, using the incoming row address for identifying the memory location to be accessed.
8. The method of managing, as recited in claim 1 , wherein the plurality of memory cells of the memory device are random access memory (RAM) cells.
9. The method of managing, as recited in claim 1 , wherein the plurality of memory cells of the memory device are magnetic random access memory (MRAM) cells.
10. The method of managing, as recited in claim 1 , wherein using a content addressable memory (CAM) for the step of determining whether or not the incoming column address is associated with a defective memory cell.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/505,343 US20150019804A1 (en) | 2011-07-01 | 2014-10-02 | Mapping of random defects in a memory device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/175,801 US8887013B2 (en) | 2011-07-01 | 2011-07-01 | Mapping of random defects in a memory device |
US14/497,091 US9224504B2 (en) | 2011-07-01 | 2014-09-25 | Mapping of random defects in a memory device |
US14/505,343 US20150019804A1 (en) | 2011-07-01 | 2014-10-02 | Mapping of random defects in a memory device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/497,091 Continuation US9224504B2 (en) | 2011-07-01 | 2014-09-25 | Mapping of random defects in a memory device |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150019804A1 true US20150019804A1 (en) | 2015-01-15 |
Family
ID=47391960
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/175,801 Active 2032-02-09 US8887013B2 (en) | 2011-07-01 | 2011-07-01 | Mapping of random defects in a memory device |
US14/497,091 Active US9224504B2 (en) | 2011-07-01 | 2014-09-25 | Mapping of random defects in a memory device |
US14/505,343 Abandoned US20150019804A1 (en) | 2011-07-01 | 2014-10-02 | Mapping of random defects in a memory device |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/175,801 Active 2032-02-09 US8887013B2 (en) | 2011-07-01 | 2011-07-01 | Mapping of random defects in a memory device |
US14/497,091 Active US9224504B2 (en) | 2011-07-01 | 2014-09-25 | Mapping of random defects in a memory device |
Country Status (1)
Country | Link |
---|---|
US (3) | US8887013B2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210019082A1 (en) * | 2019-07-17 | 2021-01-21 | Samsung Electronics Co., Ltd. | Nonvolatile memory bad row management |
WO2021196661A1 (en) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | Read-write method and memory device |
US11527301B2 (en) | 2020-04-01 | 2022-12-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11881240B2 (en) | 2020-04-01 | 2024-01-23 | Changxin Memory Technologies, Inc. | Systems and methods for read/write of memory devices and error correction |
US11886287B2 (en) | 2020-04-01 | 2024-01-30 | Changxin Memory Technologies, Inc. | Read and write methods and memory devices |
US11894088B2 (en) | 2020-04-01 | 2024-02-06 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11899971B2 (en) | 2020-04-01 | 2024-02-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11914479B2 (en) | 2020-04-01 | 2024-02-27 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11922023B2 (en) | 2020-04-01 | 2024-03-05 | Changxin Memory Technologies, Inc. | Read/write method and memory device |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013048451A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Presentation of direct accessed storage under a logical drive model |
US20130117636A1 (en) * | 2011-11-07 | 2013-05-09 | Su-a Kim | Semiconductor memory device and system having redundancy cells |
US8929165B2 (en) | 2011-12-21 | 2015-01-06 | Samsung Electronics Co., Ltd. | Memory device |
US20140075093A1 (en) * | 2012-09-12 | 2014-03-13 | Infineon Technologies Ag | Method and system for implicit or explicit online repair of memory |
US9406403B2 (en) * | 2013-06-25 | 2016-08-02 | Advanced Micro Devices, Inc. | Spare memory external to protected memory |
US9715424B1 (en) * | 2013-08-23 | 2017-07-25 | Rambus Inc. | Memory device and repair method with column-based error code tracking |
US20160124664A1 (en) * | 2014-10-30 | 2016-05-05 | Sandisk Technologies Inc. | Block Level Local Column Redundancy Methods for Higher Yield |
TWI608488B (en) * | 2015-03-25 | 2017-12-11 | 慧榮科技股份有限公司 | Data storage device and data accessing method thereof |
US9659666B2 (en) | 2015-08-31 | 2017-05-23 | Sandisk Technologies Llc | Dynamic memory recovery at the sub-block level |
US10318700B2 (en) | 2017-09-05 | 2019-06-11 | International Business Machines Corporation | Modifying a manufacturing process of integrated circuits based on large scale quality performance prediction and optimization |
US10666264B1 (en) * | 2018-12-13 | 2020-05-26 | Micron Technology, Inc. | 3D stacked integrated circuits having failure management |
US11221794B2 (en) * | 2019-02-20 | 2022-01-11 | International Business Machines Corporation | Memory array element sparing |
TWI709143B (en) * | 2019-11-20 | 2020-11-01 | 珠海南北極科技有限公司 | Memory reordering circuit and method for reordering memory bits |
TWI736252B (en) * | 2020-05-08 | 2021-08-11 | 大陸商珠海南北極科技有限公司 | Memory circuit and memory repair method thereof |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4751656A (en) * | 1986-03-10 | 1988-06-14 | International Business Machines Corporation | Method for choosing replacement lines in a two dimensionally redundant array |
US5179536A (en) * | 1989-01-31 | 1993-01-12 | Fujitsu Limited | Semiconductor memory device having means for replacing defective memory cells |
US5195057A (en) * | 1989-09-18 | 1993-03-16 | Fujitsu Limited | Semiconductor memory device having a redundant memory which can be selectively placed in a not-in-use status |
US5983374A (en) * | 1996-09-26 | 1999-11-09 | Kabushiki Kaisha Toshiba | Semiconductor test system and method, and medium for recording test program therefor |
US6115828A (en) * | 1997-04-28 | 2000-09-05 | Fujitsu Limited | Method of replacing failed memory cells in semiconductor memory device |
US6259636B1 (en) * | 1998-02-27 | 2001-07-10 | Kabushiki Kaisha Toshiba | Semiconductor memory device having redundancy circuit for relieving faulty memory cells |
US6421286B1 (en) * | 2001-02-14 | 2002-07-16 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor integrated circuit device capable of self-analyzing redundancy replacement adapting to capacities of plural memory circuits integrated therein |
US7055013B2 (en) * | 2003-10-20 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Spare data site allocation |
US7092289B1 (en) * | 2001-08-09 | 2006-08-15 | Samsung Electronics Co., Ltd. | Efficient redundancy system for flash memories with uniformly sized blocks |
US7437627B2 (en) * | 2003-02-20 | 2008-10-14 | Infineon Technologies Ag | Method and test device for determining a repair solution for a memory module |
US8839053B2 (en) * | 2010-05-27 | 2014-09-16 | Microsoft Corporation | Error correcting pointers for non-volatile storage |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5577050A (en) * | 1994-12-28 | 1996-11-19 | Lsi Logic Corporation | Method and apparatus for configurable build-in self-repairing of ASIC memories design |
US5644541A (en) | 1995-11-03 | 1997-07-01 | Philip K. Siu | Memory substitution system and method for correcting partially defective memories |
US7444268B1 (en) * | 2004-03-25 | 2008-10-28 | Sun Microsystems, Inc. | Method and apparatus for identifying a drift in a quantized signal in a computer system |
US8086913B2 (en) * | 2008-09-11 | 2011-12-27 | Micron Technology, Inc. | Methods, apparatus, and systems to repair memory |
-
2011
- 2011-07-01 US US13/175,801 patent/US8887013B2/en active Active
-
2014
- 2014-09-25 US US14/497,091 patent/US9224504B2/en active Active
- 2014-10-02 US US14/505,343 patent/US20150019804A1/en not_active Abandoned
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4751656A (en) * | 1986-03-10 | 1988-06-14 | International Business Machines Corporation | Method for choosing replacement lines in a two dimensionally redundant array |
US5179536A (en) * | 1989-01-31 | 1993-01-12 | Fujitsu Limited | Semiconductor memory device having means for replacing defective memory cells |
US5195057A (en) * | 1989-09-18 | 1993-03-16 | Fujitsu Limited | Semiconductor memory device having a redundant memory which can be selectively placed in a not-in-use status |
US5983374A (en) * | 1996-09-26 | 1999-11-09 | Kabushiki Kaisha Toshiba | Semiconductor test system and method, and medium for recording test program therefor |
US6115828A (en) * | 1997-04-28 | 2000-09-05 | Fujitsu Limited | Method of replacing failed memory cells in semiconductor memory device |
US6259636B1 (en) * | 1998-02-27 | 2001-07-10 | Kabushiki Kaisha Toshiba | Semiconductor memory device having redundancy circuit for relieving faulty memory cells |
US6421286B1 (en) * | 2001-02-14 | 2002-07-16 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor integrated circuit device capable of self-analyzing redundancy replacement adapting to capacities of plural memory circuits integrated therein |
US7092289B1 (en) * | 2001-08-09 | 2006-08-15 | Samsung Electronics Co., Ltd. | Efficient redundancy system for flash memories with uniformly sized blocks |
US7437627B2 (en) * | 2003-02-20 | 2008-10-14 | Infineon Technologies Ag | Method and test device for determining a repair solution for a memory module |
US7055013B2 (en) * | 2003-10-20 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Spare data site allocation |
US8839053B2 (en) * | 2010-05-27 | 2014-09-16 | Microsoft Corporation | Error correcting pointers for non-volatile storage |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210019082A1 (en) * | 2019-07-17 | 2021-01-21 | Samsung Electronics Co., Ltd. | Nonvolatile memory bad row management |
US10922025B2 (en) * | 2019-07-17 | 2021-02-16 | Samsung Electronics Co., Ltd. | Nonvolatile memory bad row management |
WO2021196661A1 (en) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | Read-write method and memory device |
US20210327531A1 (en) * | 2020-04-01 | 2021-10-21 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11527301B2 (en) | 2020-04-01 | 2022-12-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11869615B2 (en) * | 2020-04-01 | 2024-01-09 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11881240B2 (en) | 2020-04-01 | 2024-01-23 | Changxin Memory Technologies, Inc. | Systems and methods for read/write of memory devices and error correction |
US11886287B2 (en) | 2020-04-01 | 2024-01-30 | Changxin Memory Technologies, Inc. | Read and write methods and memory devices |
US11894088B2 (en) | 2020-04-01 | 2024-02-06 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11899971B2 (en) | 2020-04-01 | 2024-02-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11914479B2 (en) | 2020-04-01 | 2024-02-27 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11922023B2 (en) | 2020-04-01 | 2024-03-05 | Changxin Memory Technologies, Inc. | Read/write method and memory device |
Also Published As
Publication number | Publication date |
---|---|
US20130007544A1 (en) | 2013-01-03 |
US9224504B2 (en) | 2015-12-29 |
US20150012784A1 (en) | 2015-01-08 |
US8887013B2 (en) | 2014-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9224504B2 (en) | Mapping of random defects in a memory device | |
US7505357B2 (en) | Column/row redundancy architecture using latches programmed from a look up table | |
US7159141B2 (en) | Repairable block redundancy scheme | |
KR20090073094A (en) | Defective block isolation in a non-volatile memory system | |
US9111643B2 (en) | Method and apparatus for repairing defective memory cells | |
US9978463B2 (en) | Semiconductor apparatus and repair method thereof | |
JPH0553926A (en) | Memory module and defective bit table setting method for same | |
US7359263B2 (en) | Chip information managing method, chip information managing system, and chip information managing program | |
US6985395B2 (en) | Semiconductor memory device and method of testing the device | |
US20140369143A1 (en) | Apparatuses and methods for mapping memory addresses to redundant memory | |
US20090319839A1 (en) | Repairing memory arrays | |
US8000158B2 (en) | Semiconductor memory device including repair redundancy memory cell arrays | |
US20150213906A1 (en) | Integrated circuit with programmable storage cell array and boot-up operation method thereof | |
US7593274B2 (en) | Semiconductor integrated circuit and relief method and test method of the same | |
US11367495B2 (en) | Microelectronic device testing, and associated methods, devices, and systems | |
US9607718B2 (en) | Semiconductor memory device and test operation method thereof | |
US9748003B2 (en) | Efficient coding for memory redundancy | |
US20070115720A1 (en) | Non-volatile semiconductor memory device and method for operating a non-volatile memory device | |
US8131954B2 (en) | Memory device and data reading method | |
US6490209B1 (en) | Memory employing multiple enable/disable modes for redundant elements and testing method using same | |
US20230317198A1 (en) | Dynamic fault clustering method and apparatus | |
WO2024087469A1 (en) | Memory test method, test circuit, and memory | |
JP2005182900A (en) | Semiconductor memory | |
JPH01285097A (en) | Redundant circuit for semiconductor memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AVALANCHE TECHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NEMAZIE, SIAMACK;ABEDIFARD, EBARHIM;REEL/FRAME:037600/0995 Effective date: 20160127 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: SILICON VALLEY BANK, CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:AVALANCHE TECHNOLOGY, INC.;REEL/FRAME:053156/0223 Effective date: 20200212 |