Repairable memory circuit

Abstract: A memory circuit comprises a memory array (1) having a plurality of memory cells arranged in rows and columns; a plurality of column select circuits (CS₀-CS₇) for enabling access to columns in said array, each column select circuit being associated with a respective group of said columns and being arranged to access a selected one of the columns in the respective group; at least one spare memory column (14); a plurality of read/write circuits (R/W₀-R/W₇) associated respectively with the said groups, and with said spare column, for reading or writing data bits between the data bus and the columns selected by the column select circuits; and routing circuitry (8) connected between the read/write circuits and the data bus and being programmable with information identifying at least one faulty column, the routing circuitry being operable in response to an attempted access to said faulty column to disconnect from the data bus the read/write circuit associated with the group containing the faulty column and to connect to the data bus the read/write circuit associated with the spare column thereby to transfer data between said spare column and the data bus.

Description: The present invention relates to a memory circuit in which a faulty column can be replaced to repair the circuit. US 4 672 581 describes a memory circuit comprising a memory array having a plurality of rows and columns, a plurality of column decoders for enabling access to columns in said array, each column decoder being associated with a respective group of said columns and being arranged to selectively access one of the columns in the respective group, and further comprising a spare group of memory columns and a further column decoder associated with said spare group of columns and arranged to selectively access one of the columns in said spare group, and logic means programmable to inhibit access to a selected group of said columns. Each group has associated with it a data line for reading and writing data from and into selected memory cells. The data line for each group can be connected either to that group or to the adjacent preceding group. The data line of the first group can be connected either to the first group or to the spare group. In this circuit, any selected group of columns which is found to be defective can be replaced by the adjacent preceding group of columns. However, despite the proximity of the groups there will be some increase in access time due to the extra loading associated with the connecting circuitry between adjacent datalines. The data line of the replacement group is connected to the next preceding group and so on until the data line of the first group is connected to the spare group of columns. Each row of the memory array is arranged to store more than one data word, only one data bit of each data word being stored in any one group of columns. Further, the number of columns in each group is equal to the number of data words to be stored in each row, and the number of groups of columns is equal to the number of data bits making up each data word. Correspondingly positioned bits of each data word are then stored in each group of columns. Transistors are arranged to connect each data line to its associated group of columns or to the preceding group, according to the location of faulty columns apparent during testing. The connections of the data lined can be selected by blowing fuses. With the repairable memory circuit described above, the column decoder associated with the spare group of columns is connected to the data line of the next adjacent group so that a whole group of columns containing the faulty column is replaced by a whole group of spare columns. This means that, for example for the case where each group contains sixteen columns then sixteen columns are required for each level of redundancy. By each level of redundancy is meant the number of groups in which faulty columns are replaced by spare columns. Also, the connection of the data line associated with one group to the next preceding group incurs a penalty in terms of an increased signal path length. In US 4 672 581 this penalty is incurred where the data line signal is developing during a read cycle, i.e. between the read/write circuitry and the column decoder, hence entailing an undesirable additional load on the developing data line signal. It is desirable to reduce this load, particularly for fast access static random access memories (SRAMs), so that the time taken to achieve a bitline differential sufficient for sensing is not impaired. It is further desirable to increase the efficiency of repair of the memory circuit. In EP-A-0300467 an attempt is made to address these problems by providing a memory circuit with shifting circuitry coupled between the read/write circuits and input/output terminals of the memory circuit. The shifting circuit is operative to replace a data bit supplied from a defective memory cell with a data bit from a spare memory cell. As a result of the fact that the shifting circuit is located downstream of the read/write circuits, the shifting operation can be completed before determination of the logic levels of the data bits read out from the major memory cells. EP-A-0300467 does not disclose how the shifting circuit is implemented. It is an object of the invention to provide a memory circuit having routing circuitry by means of which redundancy can be implemented simply and effectively. According to the present invention there is provided a memory circuit for connection to a data bus having a plurality of bit positions for the transmission of respective bits of a data word arranged between a most significant bit position and a least significant bit position, the circuit comprising: a memory array having a plurality of memory cells arranged in rows and columns; a plurality of column select circuits for enabling access to columns in said array, each column select circuit being associated with a respective group of said columns and being arranged to access a selected one of the columns in the respective group; at least one spare memory column and means arranged to access said at least one spare column; a plurality of read/write circuits associated respectively with said groups, and with said at least one spare column, for reading data bits onto the data bus in respective ones of said bit positions from the columns selected by the column select circuits; and routing circuitry coupled between the read/write circuits and the data bus characterised in that the routing circuitry comprises: first and second gate elements associated with each of said column groups, the first gate element being connected between one of said read/write circuits associated with that column group, and said respective bit position of the data bus, and the second gate element being connected between one of said read/write circuits associated with an adjacent one of said column groups, and the aforementioned respective bit position of the data bus; logic means associated with each column group and connected to receive a column group signal, having a predetermined logic value depending on whether or not one of the column groups contains a faulty column end on which side of said one column group the respective column group is located, and a column signal having a predetermined logic value depending on whether or not said faulty column has been selected; said logic means being connected to supply to the first and second gate elements respective control signals of opposite logic values so that one of the first and second gate elements is conductive while the other of the gate elements is non-conductive; said control signals being supplied so that, on an attempted access to said faulty column, the first gate element associated with the column group containing that faulty column is rendered non-conductive so as to disconnect the read/write circuit associated with that column group from the data bus; said second gate elements, associated with the column group containing said faulty column and all of the column groups to one side of the column group containing said faulty column and including said at least one spare column, are rendered conductive; and said first gate elements, associated with column groups to the other side of the column group containing the faulty column, are rendered conductive, whereas on an attempted access to another column within the group containing the faulty column the read/write circuit associated with that column group remains connected to the data bus. The spare column could be connected either to the most significant bit with groups being connected to their adjacent lower bit positions or it could be connected to the least significant bit position with groups being connected to their adjacent higher bit positions. Preferably the read/write circuit comprises a sense amplifier which provides full logic levels and a write driver. A suitable sense amplifier is described in our copending European Application No. 90308152.9. The circuit is particularly suitable for wider word memories, i.e. for word lengths of 8 bits or greater. It is especially suited to present microprocessor applications where words are generally 32 bits, or even 64 bits. This arrangement has the advantage over that described in US 4 672 581 in that the efficiency of the repair mechanism is increased, since each faulty column requires only a single replacement column. Also, on reading from the memory, as diversion of the data bits is carried out by the routing circuitry after full logic levels have been established by the read sense amplifiers there is no extra loading on the developing dataline signal. The invention is particularly suited to the data storage structure described above with reference to US 4 672 581, in which each row of the memory array is arranged to store more than one data word, only one data bit of each data word being stored in any one group of columns. Further, the number of columns in each group is equal to the number of data words to be stored in each row, and the number of groups of columns is equal to the number of data bits making up each data word. Correspondingly positioned bits of each data word are then stored in each group of columns. The data bus has a plurality of bit positions corresponding to the number of bits in a word to be stored in the memory. A "word position" is the position within each group of the columns containing the data bits for that word. A "bit position" is the position of the bit in the word, corresponding to the number of the group within the array. A column select circuit can be associated with the spare column so that all the paths between bit lines and datalines have similar properties. The invention provides for the provision of one or more spare columns. Where there is more than one spare column, the column select circuit can be used to select one of the spare columns when redundancy is implemented. For a better understanding of the present invention, and to show how the same may be carried into effect, reference will now be made by way of example to the accompanying drawings, in which: Figure 1 is a diagram of a memory circuit which can be repaired; Figure 2 shows schematically the arrangement of data bits and words in one row of the memory; Figure 3 is a diagram showing the logic circuits in the routing circuitry and associated with the Nth position of the data bus; Figure 4 shows the data routing adopted when an 8 bit word with a faulty column in the fourth group (bit position 3) is addressed; and Figure 5 is a circuit diagram showing how the routing circuitry is programmed. Figure 1 shows a block diagram of a memory circuit including a random access memory (RAM) 1 and enabling the RAM to be repaired. In this embodiment, the RAM is an array of memory cells having n rows (where n is typically 128, 256 or 512) and 16x8 columns. In the illustrated embodiment each word to be stored in the RAM is 8 bits long such that sixteen words can be stored in each row of the RAM array 1. Each row of the RAM array 1 is connected to a row decoder/driver 2 arranged to access an individual row of the RAM array 1 upon receipt of the appropriate multi-bit row address on the address lines 3. The data items stored in the individual cells along each row are arranged in an interleaved manner as is illustrated in Figure 2. Figure 2 shows the arrangement of sixteen words. The first bit of the first word is stored in the leftmost column WORD 0 of the leftmost group BIT 0. The second bit of the first word is stored in the leftmost column WORD 0 of the next group BIT 1. The first bit of the second word is stored in the next column WORD 1 of the leftmost group BIT 0. As is apparent, the eight bits of each word are stored in respective columns occupying the same position in each group such that to retrieve one word it is only necessary to access one column from each group of sixteen columns. Thus, to access word 0 it is only necessary to access the most lefthand column of every group of sixteen columns. The data items accessed would then be BITS 0 to 7 of word 0. A column decoder 4 is provided to decode column address signals received on column address lines 5 to provide a signal selecting one of sixteen columns in each group to column select circuitry 11. The column select circuitry 11 comprises a plurality of column select circuits CS₀-CS₇ (see Figure 4) associated respectively with the groups of columns BIT 0 to BIT 7 and each arranged to selectively access one of the columns in its associated group. Preferably, the column select circuits CS₀-CS₇ are ganged switches such that when one column is selected within its group, the other circuits similarly select the corresponding columns in their respective group. To access a word in the RAM array 1 it is necessary to put the row address of this word on the row address lines 3 and the column address on the column address line 5. Because the column select circuits CS₀-CS₇ are ganged together each column select circuit will similarly access the corresponding column in its associated group such that every cell containing bits of the selected word on the accessed row will be simultaneously accessed. The memory circuit includes also write logic 13 and read circuitry 10 coupled to the column select circuitry 11 via access lines DL, DL . The memory circuit illustrated in Figure 1 includes not only the address lines 3 and 5 but also a plurality of input and output data lines 6 connected to a data bus 9. Each data line 6 N is connected to a corresponding bus position BUS N of the bus 9. It is intended that the memory circuit of Figure 1 would be used with a processor or other control units (not shown) which would address the RAM array 1 to either output or input data via the lines 6 in normal manner in accordance with a program. To read data, the words stored in the array 1 are accessed as described above and the data items are sensed by the read circuitry 10 and connected by way of routing circuitry (designated generally by box 8) to the data bus 9. Similarly, to write data into the array 1, the word locations are accessed in the array 1 and the data items to be written into those cells are presented from the data bus 9 via the routing circuitry 8 and write logic 13. This data will then be written into the accessed cells of the array 1 effectively in the reverse manner of the read operation described above. In both the read and the write operations the data is fed in accordance with the invention between the data bus 9 and the read/write circuits by way of routing circuitry 8. The write logic 13 comprises a respective write driver associated with each group of columns while the read circuitry comprises a plurality of sense amplifiers similarly associated respectively with the groups. The memory circuit shown in Figure 1 also includes a group of spare columns 14. This group of spare columns can contain 1, 2 or 4 columns depending on the predicted defect density associated with the manufacturing process of the memory. This spare group of columns 14 is connected to the RAM array 1 such that the rows thereof can be accessed by the row decoder/driver 2. Preferably, the spare memory columns 14 have the same type of memory cells as the RAM array 1. The spare group 14 has associated therewith its own column select circuit CS sp , sense amplifier and write driver (Figure 4) which effectively provide the spare columns with their own data path independent of the data paths of other groups. When redundancy is implemented, as programmed by a program redundancy circuit 15, the sense amplifier or write driver associated with the spare group can hence be connected to a bit position of the data bus 9. As will become clearer in the following, in the preferred embodiment the spare column is connected to either the most significant bit (MSB) or least significant bit (LSB) position. The data bus 9 connects the memory cells to the input/output pads of the memory. The data bus can either be two way, i.e. shared for read and write operations or can consist of two separate, input and output, buses. In this description the two way bus is described for simplicity. The data bus has a width of eight bits. Figure 3 shows the circuits associated with the Nth group of columns BIT N. There is a sense amplifier 10 N and a write driver 13 N for the group, together annotated as R/W. The routing circuitry comprises for each group two logic circuits 80 N , 82 N associated respectively with the sense amplifier 10 N and write driver 13 N . Each logic circuit 80 N , 82 N comprises a pair of field effect transistors (FETs) ST(N) and SH(N) which enable the column of the Nth group selected by the column select circuit CS N to be connected to the Nth bit position in the data bus via a "straight" path or, during redundancy, enable the column of the N+1th group selected by the column select circuit CS N+1 to be connected to the Nth position in the data bus via a "shift" path. Which path is adopted in each logic circuit depends on the state of signals applied to the gates of the FETs ST(N) and SH(N). The production of these signals is described in more detail hereinafter. An inverter 84 is connected between the data bus 9 and the write driver 13 N to act as a buffer. A bus driver 86 N is connected between the data bus 9 and the sense amplifier 10 N : this is disabled by an ENABLE BUS DRIVER signal turning off during a write operation. These components are grouped for the following explanation into a buffer/bus driver circuit 90 N . Reference is now made to Figure 4 to describe the implementation of redundancy in more detail. Figure 4 shows 8 groups BIT0-BIT7 in an array, while the spare column is indicated schematically as 14. There is associated with the spare column a column select circuit CS sp . In this example, there is a faulty column C j in the fourth group BIT3, where the fourth bit of the jth word would otherwise be stored. As can readily be seen from Figure 4, a read/write circuit R/W and buffer/bus driver circuit 90 is associated with each group. The transistors ST(N) and SH(N) in the routing circuitry 8 are shown diagrammatically as switches. When an attempt is made to access the word which has one of its bits stored in the faulty column C j , its associated read/write circuit R/W₃ is disconnected from the data bus 9. The read/write circuit R/W sp associated with the spare group 14 is connected to the most significant bit (MSB) position (BUS 7) of the data bus 9. The logic circuit in the routing circuitry associated with the adjacent preceding group BIT7 is caused to adopt its shift path and therefore connects its read/write circuit R/W₇ to the seventh position (BUS 6) of the data bus. This applies for successive ones of the preceding groups down to group BIT4, which causes its read/write circuit R/W₄ to be connected to the fourth position (BUS 3) of the data bus. The group BIT3 is not used, and the groups BIT0 to BIT2 are directly connected to their normal respective bit positions on the data bus. There are three pieces of information required to effect redundancy: (i) that redundancy is being implemented; (ii) the column select address of the faulty column, i.e. the word position; and (iii) the position of the group of columns which contains the faulty column, i.e. the bit position. These three pieces of information are programmed into the memory circuit by blowing fuses, as explained in the following with reference to Figure 5. Figure 5 shows the column decoder 4 in more detail. It comprises four input leads 5 for four address signals. Each input signal is inverted and the logic input signals and their inverted signals are fed in different combinations to sixteen NAND gates 16,18,20, ......... . The output of one only of these NAND gates 16,18,20 ....... will be low for each column address, thereby to select the word position. The circuit shown is for a redundancy scheme in which there is only one level of redundancy and one spare column replaces one faulty column. Figure 5 shows a redundancy select circuit comprising a fuse 13, in series with an FET 24 whose gate is at ground, and which is blown to enable redundancy. When the fuse 13 is blown, a RED SELECT signal is held high by the FET 24; otherwise the RED SELECT signal is low and redundancy is not being implemented. The RED SELECT signal is inverted by an inverter 26 and the inverted signal RED SELECT is supplied to the gate of an FET 28 and to a spare column select fuse circuit 14. The spare column select fuse circuit 14 comprises sixteen NOR gates 30,32,34 ..... each with a fuse F0-F15 connected in series with its output; more generally the number of NOR gates and fuses equals the number of words in each row. When redundancy is implemented, one input of each NOR gate is held low by the RED SELECT signal. The other input receives the output of a respective NAND gate in the column decoder 4. When the fuse 13 is blown such that output signal RED SELECT goes LOW, this enables redundancy. Next fifteen of the sixteen fuses F0-F15 are blown in the spare column select fuse circuit 14. The unblown fuse F j is the fuse in the output of the NOR gate connected to the NAND gate receiving the address (or word position) of the faulty column C j . A SPARE COL SELECT signal at the output of the fuse circuit 14 will now go HIGH (active) whenever the address of the faulty column is selected via the column decoder since the input of the relevant NOR gate will go LOW. The FET 28 has eight fuses (three of which fN-1, fN, fN+1 are shown) connected in series in its drain. There is a fuse f N associated with each group of columns. For the embodiment of Figure 4, one of these fuses f₃ is blown in the bit position of the faulty column; this allows the line to the right of the blown fuse to be held high by the gate, while the line to the left is hard-wired to ground and hence LOW. This determines the bit position from which shifting in the logic circuits begins. In practice, when the address of the faulty column is selected SPARE COLUMN SELECT goes HIGH, shifting takes place to the right of the faulty column and the normal "straight" path is active to the left. The read/write circuit in the bit position of the faulty column becomes redundant for that cycle. The production of control signals for feeding to the transistors SH(N) and ST(N) in the logic circuits 80,82 is effected by providing for each group a NAND gate 40,42,44 ....... whose output is connected directly to the gates of the ST(N) transistor or, inverted, to the gates of the SH(N) transistor. Consider for example the case where the fuse f N has been blown and the faulty column addressed. The NAND gate 40 and those to the left of it will have their SPARE COLUMN SELECT input high and their other input low. The output of the NAND gate 40 is hence HIGH, turning on the FET ST and thus activating the straight path for groups BIT 0 to BITN-1. The NAND gate 42 and those to the right of it have two HIGH inputs and so the outputs are LOW. These outputs are inverted by the invertors 46,48 to provide a high signal to the FETs SH thereby activating the shift paths for groups BITN to BIT7. The effect of this to disconnect the read/write circuit of the Nth group has been discussed above with reference to Figure 4. Figure 5 shows a NAND gate 50 whose inputs are the straight control line ST(N) of the Nth group and the shift control line SH(N+1) of the N+1th group. Similar NAND gates are so connected (but not shown) for N=1 to 7. The purpose of this gate 50 is to produce a signal ENABLE WRITE DRIVER which when low disables the write driver 13 N when the read/write circuit R/W N of the Nth group has been disconnected from the data bus. This avoids a large d.c. current path in a faulty column if, say, a short circuit were present, thereby increasing the power consumption of a part where redundancy has been implemented. The above explanation of the preferred embodiment has been in relation to a memory where sixteen 8 bit words are stored in each row and where there is a single spare column. It will be appreciated that the present invention is readily applicable to other storage arrangement, for example to the storage of four 32 bit words. In such a case, it could be appropriate to have a spare group of 4 spare columns with the column select circuit associated with the spare group being ganged with the column select circuits associated with the memory groups. In this case, it can be arranged that the selected replacement column occupies the same word position in the spare group as the faulty column does in its group. If a faulty column is then identified in a different word position in its group, this can be replaced during a subsequent repair cycle by the similarly positioned column in the same spare group. This approach is generally only suitable where there are a few long words to be stored, since for the storage of more, shorter words it is not cost effective to have a spare group containing, for example, sixteen spare columns. In fact, it is one of the principle advantages of the present invention that a small number of spare columns only is required to repair a faulty memory circuit. Also, the example described above explains how the routing circuitry 8 shifts the selected column in each group to the right hand side of the group containing the faulty column so as to connect them to the respective adjacent positions on the bus. That is, in the general case, bit position N will be connected to bus position N-1 for groups to the right hand side of the group containing the faulty column. The spare column is then connected to the most significant bit position of the bus. Clearly, the inverse arrangement could be implemented in a similar manner, that is with the spare column being connected to the least significant bit position of the data bus and each of the other bit positions being shifted to the next higher adjacent bit position of the data bus respectively. With the above scheme using a single spare column, it is not possible to repair two columns that occupy the same word position in two different groups of columns. However, it is possible to implement more complex routing schemes using the principle of the present invention. For example, to repair the above fault condition, columns could be connected to bus positions greater by 1 or 2 than their normal bus position when redundancy is implemented. Naturally, these and other implementations complicate the routing circuitry which is required, but may be justified if the statistical distribution of faults in the array warrant it.

Claims: A memory circuit for connection to a data bus having a plurality of bit positions (BUS0-BUS7) for the transmission of respective bits of a data word arranged between a most significant bit position and a least significant bit position, the circuit comprising: a memory array (1) having a plurality of memory cells arranged in rows and columns; a plurality of column select circuits (11, CS₀-CS₇) for enabling access to columns in said array, each column select circuit being associated with a respective group (BIT0-BIT7) of said columns and being arranged to access a selected one of the columns in the respective group; at least one spare memory column (14) and means (CS sp ) arranged to access said at least one spare column; a plurality of read/write circuits (10,13,R/W₀-R/W₇) associated respectively with said groups, and (R/W sp ) with said at least one spare column, for reading data bits onto the data bus in respective ones of said bit positions from the columns selected by the column select circuits; and routing circuitry (8) coupled between the read/write circuits and the data bus characterised in that the routing circuitry comprises: first and second gate elements (80 N ,82 N ) associated with each of said column groups, the first gate element being connected between one of said read/write circuits associated with that column group (BITN), and said respective bit position (BUSN) of the data bus, and the second gate element being connected between one of said read/write circuits associated with an adjacent one of said column groups (BITN+1), and the aforementioned respective bit position of the data bus; logic means (42, 46) associated with each column group and connected to receive a column group signal having a predetermined logic value depending on whether or not one of the column groups contains a faulty column (C j ) end on which side of said one column group the respective column group is located, and a column signal (SPARE COLUMN SELECT) having a predetermined logic value depending on whether or not said faulty column (C j ) has been selected; said logic means being connected to supply to the first and second gate elements respective control signals (ST N , SH N ) of opposite logic values so that one of the first and second gate elements is conductive while the other of the gate elements is non-conductive; said control signals being supplied so that, on an attempted access to said faulty column, the first gate element associated with the column group containing that faulty column is rendered non-conductive so as to disconnect the read/write circuit (R/W N ) associated with that column group from the data bus; said second gate elements, associated with the column group containing said faulty column and all of the column groups to one side of the column group containing said faulty column and including said at least one spare column, are rendered conductive; and said first gate elements, associated with column groups to the other side of the column group containing the faulty column, are rendered conductive, whereas on an attempted access to another column within the group containing the faulty column the read/write circuit associated with that column group remains connected to the data bus. A memory circuit as claimed in claim 1, which comprises column address decoding means (4) associated with the column select circuits (11) for decoding column addresses. A memory circuit as claimed in claim 1 or 2, wherein each read/write circuit comprises a sense amplifier (10) and a write driver (13). A memory circuit as claimed in claim 1, 2 or 3, in which each row of the memory array is arranged to store more than one data word, only one data bit of each data word being stored in any one group of columns, wherein the number of columns in each group is equal to the number of data words to be stored in each row, and the number of groups of columns is equal to the number of data bits making up each data word with correspondingly positioned bits of each data word being stored in each group of columns. A memory circuit as claimed in claim 1, 2, 3 or 4, in which said means for accessing a spare column comprises a further column select circuit (CS sp ). A memory circuit as claimed in any preceding claim, wherein on an attempted access to said faulty column the spare column is connected either to the most significant bit with adjacent groups being connected to adjacent lower bit positions or to the least significant bit position with adjacent groups being connected to adjacent higher bit positions. A memory circuit as claimed in any preceding claim, wherein the first and second gate elements are field effect transistors having their gates connected to receive the control signals (ST N ,SH N ) from the logic means. A memory circuit as claimed in any preceding claim comprising a faulty column select circuit which comprises a plurality of fuses (F₀-F₁₅) which can selectively be blown to identify the position of the faulty columns within the group to produce said column signal. A memory circuit as claimed in any preceding claim, which comprises means (90 N ) for disabling the write driver of a read/write circuit which has been disconnected from the data bus. A memory circuit as claimed in claims 4 and 5, wherein the number of spare columns equals the number of columns in each group of the memory array and wherein the column select circuits associated with the groups are connected together to receive a common column access signal. A memory circuit as claimed in any preceding claim, wherein each logic means comprises a NAND gate (40,42,44) which has one input selectively connected to ground or to a supply voltage, depending on whether or not one of said column groups associated with said NAND gate contains a faulty column end on which side of said one column group the respective column group is located, and another input connected to receive said column signal (SPARE COLUMN SELECT). A memory circuit as claimed in claim 11, comprising a plurality of fuses (fn) connected respectively between said one input of each logic means (40,42,44) and ground, the group containing the faulty column being identified by blowing the fuse associated with that column group.

Inventors: FERRIS ANDREW TIMOTHY, WORK GORDON STIRLING, FERRIS, ANDREW TIMOTHY, WORK, GORDON STIRLING
Applicants: INMOS LTD, INMOS LIMITED
Application year: 1990
Main classification: G06F11
IPC codes: G11C11, G11C29