WO2000074058A1 - Stockage, procede de stockage et systeme de traitement de donnees - Google Patents
Stockage, procede de stockage et systeme de traitement de donnees Download PDFInfo
- Publication number
- WO2000074058A1 WO2000074058A1 PCT/JP1999/002841 JP9902841W WO0074058A1 WO 2000074058 A1 WO2000074058 A1 WO 2000074058A1 JP 9902841 W JP9902841 W JP 9902841W WO 0074058 A1 WO0074058 A1 WO 0074058A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- bit
- bits
- storage device
- memory cell
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
Definitions
- the present invention relates to a storage device for binary data, and in particular, is connected to a data processing device such as a microprocessor or a micro-computer, and is connected to a pipe (8 bits) unit / word (16 bits) unit and an integer of 8.
- a data processing device such as a microprocessor or a micro-computer
- a pipe 8 bits
- word 16 bits
- This technology relates to technology that is effective when applied to semiconductor memory devices such as RAM (random 'access' memory) and ROM (read 'only' memory), in which data is read and written in double bit units.
- RAM random 'access' memory
- ROM read 'only' memory
- a semiconductor memory device can read and write data in units of a bit length of data used basically by a microprocessor connected to the semiconductor memory device or a data processing device such as a micro computer.
- a semiconductor storage device connected to a data processing device having a basic data length of 32 bits can read and write data efficiently in units of 32 bits.
- a semiconductor memory device connected to a 64 bit data processing device can read and write data in 64 bit units efficiently.
- the readout length is l / 2n (n is an integer of 1 or more) times the basic data length, and is 8 bits or more, that is, the basic data length is 32 bits. case, it is necessary to be able to perform 1 6-bit is 3 2 X 1/2 1, i.e. 2 bytes 3 2 1/2 2 a is 8 bits, i.e. one byte unit of reading and writing operations . This will be explained in more detail using drawings.
- Figure 3 shows the physical arrangement of stored data in a conventional semiconductor memory device connected to a data processor with a basic data length of 32 bits (4 bytes) and 32 bits from the memory device.
- Reference numeral 300 denotes data stored in the semiconductor storage device
- reference numeral 301 denotes data read from the semiconductor storage device.
- the 32-bit data is read out as is.
- the wiring is laid out and wired so that the relative distance between the n-th bit of the data in the semiconductor memory device and the n-th bit such as a register at the readout destination becomes the shortest. .
- Figure 4 shows the physical arrangement of stored data in a conventional semiconductor memory device connected to a data processor with a basic data length of 32 bits (4 bytes), and 16 bits from the memory device.
- 400 represents data stored in the semiconductor memory device
- 401 and 402 represent data read from the semiconductor memory device.
- Figure 4 (a) shows the state of reading the lower 16 bits (byte 1, bit 0) of the data stream 400
- Figure 4 (b) shows the data read out of the data stream 400
- This figure shows how the upper 16 bits (bit 3 and byte 2) of the data are read. It should be noted here that in the case of FIG. 4B, a 16-bit bit shift operation from the upper 16 bits to the lower 16 bits is required.
- a memory cell array is laid out in the order of data bits. Therefore, when performing the operation shown in Fig. 4 (b), it was necessary to physically shift 16 bits. That is, in FIG. 4A, the n-th bit (0 ⁇ n ⁇ 15) in the semiconductor memory device and the n-th bit (0 ⁇ n ⁇ 15) of the register or the like to be read out are relative. In FIG. 4 (b), the n'th bit (16 ⁇ ' ⁇ 31) in the semiconductor memory device is replaced with the ⁇ th bit such as the destination register. (0 ⁇ 15), so the relative wiring length becomes longer. As a result, the wiring load increases as the wiring length increases, leading to a reduction in readout speed and an increase in power consumption.
- Figure 5 shows the physical arrangement of stored data in a conventional semiconductor memory device connected to a data processor with a basic data length of 32 bits (4 bytes), and 8 bits ( This is a schematic representation of the logical operation when reading 1-byte) data.
- 50,000 represents data stored in the semiconductor memory device
- 501, 502, 503, and 504 represent data read from the semiconductor memory device.
- FIG. 5 (a) shows a state in which 8-bit data corresponding to bit 0 in data 500 is read
- FIG. 5 (b) shows an 8-bit data corresponding to bit 1 in data 500 in
- FIG. 5 (c) shows the 8-bit data corresponding to byte 2 in the data block 500
- FIG. 5 (d) shows the 8-bit data corresponding to the bit 3 in the data block 500.
- the bit shift operation of 8 bits from byte 1 to byte 0 in Fig. 5 (b) and from byte 2 in Fig. 5 (c) A bit shift operation of 16 bits is required up to bit 0, and in the case of Fig. 5 (d), a bit shift operation of 24 bits is required from bits 3 to 0. is there.
- a memory cell array is laid out in the order of data bits. Therefore, when performing the operation shown in FIG. 5 (b), FIG. 5 (c), or FIG. 5 (d), physically, 8 bits, 16 bits, and 24 bits are required. Had to be shifted. That is, as in the case of FIG. 4 (b), the relative wiring length becomes longer. As a result, the wiring length from each memory cell to the selector becomes longer, the wiring load increases, and the reading speed decreases and the power consumption increases.
- the bit shift for example, in the above example, as shown in FIG. 16 (a), there are portions where 24 lines run in parallel, and the area occupied by the wiring increases.
- An object of the present invention is to solve the above-described problem, and to perform reading or writing of a data length shorter than the basic data length, for example, to perform high-speed reading even in the case of 8-bit, that is, reading in byte units. It is an object of the present invention to provide a storage device which can operate with low power consumption.
- Another object of the present invention is to provide a storage device in which the area occupied by wiring is reduced and crosstalk is less likely to occur.
- a plurality of memory cells a read line for selecting a memory cell corresponding to an address signal from the plurality of memory cells, and a selected memory cell
- a memory cell array including a bit line for reading out stored information of the memory cell connected to an address bus and a data bus, wherein the bit array of data stored in the memory array is It is configured to be different from the bit arrangement of the data bus.
- information transmitted by mutually adjacent bit signal lines on the data path is stored in memory cells separated by a predetermined number of bits. More specifically, n bits are used as the basic unit of reading, and the logical bit positions are 0 * 8 + k, l * 8 + k, 2 * 8 + k, 3 * 8 + k, ... Bit information that is m * 8 + k (k, m is a natural number of 0 ⁇ k ⁇ 7; 0 ⁇ m ⁇ n / 8-1) is stored in adjacent memory cells in the memory cell array. Constitute.
- the wiring length for the bit shift at the time of data reading is extremely short, so that it is possible to perform reading in units of bytes at high speed and to realize a circuit for performing a bit shift. Since the number of elements and wiring required for the operation is extremely small, a storage device which operates with low power consumption can be obtained. Also, since the length of the wiring for bit shift during data reading is relatively short, the area occupied by the wiring can be reduced, and the signal lines running in parallel in the region where the wiring for bit shift is formed Therefore, a memory device having a small wiring area and less occurrence of crosstalk can be obtained.
- FIG. 1 is a schematic diagram showing a physical bit arrangement of data stored in a memory cell array in a storage device according to the present invention.
- FIG. 2 is an explanatory diagram showing an example of a bit array when the storage device (memory module) according to the present invention is connected to a data processing device having a basic data size of 32 bits in length.
- FIG. 3 is a schematic diagram showing a logical operation when reading out 32 bits of data.
- Figure 4 is a schematic diagram showing the logical operation when reading 16-bit data. Confuse.
- Fig. 5 is a schematic diagram showing the logical operation when reading 8-bit data o
- FIG. 6 is a block diagram showing a configuration example of a bit shift circuit that enables reading of 32-bit data, 16-bit data, and 8-bit data.
- FIG. 7 is a circuit diagram showing a specific example of the bit shift circuit.
- FIG. 8 is a circuit diagram showing another example of the bit shift circuit.
- FIG. 9 is a block diagram showing an example of a configuration of a bit shift circuit that enables writing of 32-bit data, 16-bit data, and 8-bit data.
- FIG. 10 is a circuit diagram showing one embodiment of a local memory cell array that stores one bit in FIG.
- FIG. 11 is a schematic diagram showing an example of a layout of a memory cell array and a bit shift circuit in a semiconductor memory device to which the present invention is applied.
- FIG. 12 is a block diagram showing an embodiment when the present invention is applied to a redundant semiconductor memory device.
- FIG. 13 is a block diagram showing an example of a configuration of a micro computer system as an example of an application system of a semiconductor memory device to which the present invention is applied.
- FIG. 14 is a block diagram showing another configuration example of a micro computer system as an example of an application system of a semiconductor memory device to which the present invention is applied.
- FIG. 15 is a functional explanatory diagram showing an arrangement of input / output signals of a data alignment circuit for rearranging bits when the data length is 32 bits.
- FIG. 16 is a schematic diagram showing a method of reading 8-bit data from a memory cell array stored in 32 bits in a conventional semiconductor memory device and a similar reading method in the present invention.
- FIG. 1 shows a physical layout of a memory cell in a storage device according to the present invention.
- FIG. 1 shows a physical layout of a memory cell in a storage device according to the present invention.
- FIG. 1 shows a physical layout of a memory cell in a storage device according to the present invention.
- FIG. 1 shows a physical layout of a memory cell in a storage device according to the present invention.
- the basic data size n is basically processed by a data processor such as a microprocessor connected to a semiconductor memory device or a memory module including a plurality of memory chips to which the present invention is applied, or a micro computer.
- a data processor such as a microprocessor connected to a semiconductor memory device or a memory module including a plurality of memory chips to which the present invention is applied, or a micro computer.
- bit length of data Many data processing devices use bit lengths such as 16 bits, 32 bits, 64 bits, and 128 bits.
- the value of m is 0, 1, 2, or 3.
- data [0 * 8 + k] indicates one bit at bit position o * 8 + k in the data having the basic data size of n bits.
- the logical bit positions are 0 * 8 + k, l * 8 + k, 2 * 8 + k, 3 * 8 + as shown in FIG.
- the memory cells storing the data of k,..., m * 8 + k are arranged in close proximity as one group 100.
- k is any one of 0 to 7, and when k in data [0 * 8 + k] of data block This means that k in data [l * 8 + k] to data [m * 8 + k] of blocks B1 to Bn / 8-1 is also zero.
- each group 100_0 to 100_7 has k of another word (n-bit data at another address). Bits with the same value are also included.
- n bits of data are read and written as a whole. I can do it.
- eight bits having the same value of m and k having a value of 0 to 7 are included in each block B0 to B7 in FIG. 1 (a). It is arranged so that n bits of data are arranged as a whole, and is stored in each block B0 to B7 in which bits having the same value of k are arranged. It will be appreciated that the manner of storing the data is clearly different from the method of the invention.
- FIG. 2 shows an embodiment in which the present invention is applied to a storage device connected to a data processing device having a basic data size of 32 bits in length.
- Reference numeral 200 denotes a memory module to which the present invention is applied
- reference numeral 201 denotes a data signal input to and output from the memory module 200.
- the bit order of the data signal 201 corresponds to the physical bit order in the cell format of the memory module 200.
- the term “memory module” means a memory cell array included in one semiconductor memory chip in a narrow sense, and a storage device including a plurality of semiconductor memory chips in a broad sense.
- the present invention can be applied to a storage device having such a configuration.
- the present invention can be applied to a nonvolatile semiconductor memory device such as EEPROM as well as a volatile semiconductor memory device such as SRAM and DRAM.
- the data processing unit When the data processing unit reads and writes data in units of, for example, 8 bits (1 byte), the bit data [8 ;! When reading data to data [15], data [16] to data [23], and data [24] to data [31], the bit shift corresponding to Fig. 5 (b) to (d) respectively. Done. However, since the bit shift is performed within a range of n / 8 bits (for example, 4 bits in the case of 32 bits data) arranged close to each other, as shown in FIG. 16 (b), Therefore, the wiring length for the bit shift is extremely short. In addition, a large number of signal lines do not run in parallel due to bit shift as in the past, and the number is at most n / 8.
- the position of the bit of the read data is different from the position of the logical bit. That is, the positions of the logical bits are in the order of data [0] to data [31], but applying the embodiment, data [0], data [8], data [16], data [24] data [23] ], data [31]. Therefore, the bits are rearranged inside or outside the memory module. The same is true for writing data, and the reverse sort is performed. This bit rearrangement may be performed by hardware on the memory module side, or may be performed by software by the data processor.
- reference numerals 60 1 and 602 denote selector circuits, respectively, of which 2 to 1 selector 601 selects either data [3 * 8 + k] or data [l * 8 + k]
- the selector for the 4 to 1 selector 602 is either data [3 * 8 + k], data [2 * 8 + k], data [l * 8 + k] or data [0 * 8 + k]
- the selector is a selector for selecting whether or not the selection operation is controlled by control signals C0 to C5. For example, when performing a bit shift operation corresponding to FIG. 4 (b), the selector 601 selects data [3 * 8 + k] and the selector 602 selects data [2 * 8 + k].
- the second and first bits are output.
- the selector 602 selects data [l * 8 + k] and outputs the first bit, and corresponds to FIG. 5 (c).
- Data [2 * 8 + k] is selected and output to the first bit when performing the bit shift operation, and data [3 * 8] when performing the bit shift operation corresponding to Fig. 5 (d). + k] to output the first bit.
- FIG. 7 shows a specific circuit example of the bit shift circuit 600 shown in FIG.
- the bit shift circuit 600 in the case where the basic data length is 32 bits is configured using a P-channel M0S transistor, and the control signals C0, Cl, C2, Made to be controlled by C3, C4, C5.
- bit 702 is a complementary bit line pair, and from the left, bit lines corresponding to data [3 * 8 + k] bit [3 * 8 + k], / Mt [3 * 8 + k], data [2 * 8 + k] bit line corresponding to bit [2 * 8 + k], / bit [2 * 8 + k], bit line corresponding to data [l * 8 + k] bit [l * 8 + k], / Mt [l * 8 + k], and bit lines Mt [0 * 8 + k] and / bit [0 * 8 + k] corresponding to data [0 * 8 + k].
- Reference numeral 703 schematically shows a memory cell array holding data [3 * 8 + k], data [2 * 8 + k], data [l], and data [0 * 8 + k].
- a sense amplifier circuit group 701 amplifies data read from the memory cell array 703 via the bit shift circuit 600.
- the control signals C0, Cl, C2, and C4 in the bit shift circuit 600 are set to the power supply voltage level (H level), and C3 and C5 are set to the ground voltage.
- Level (L level) For example, when performing the shift operation corresponding to Fig. 5 (d), set the control signals C0, C2, C3, and C5 in the bit shift circuit 600 to the power supply voltage level (H level) and set C4 to ground.
- the voltage level (L level) should be set.
- Table 1 below shows the shift operation corresponding to FIG. 4 (b) at the time of reading 32 bits and 16 bits, and the shift operation corresponding to FIGS. 5 (b) to 5 () at the time of reading 8 bits.
- Table 1 shows the combinations of control signals C0, Cl, C2, C3, C4, and C5 when performing the operation.
- FIG. 8 shows another specific example of the bit shift circuit 600 shown in FIG.
- a bit shift circuit 800 for a basic data length of 32 bits is configured using a tristate inverter 804 and an inverter 802, and the control signals C0, Made to be controlled by Cl, C2, C3, C4, C5.
- Reference numeral 801 denotes a sense amplifier circuit group for amplifying data output from the memory cell array 803 through the complementary bit line pair.
- the control signals C0, Cl, C3, and C4 in the bit shift circuit 800 are set to the ground voltage level (L level), and C2 and C5 are set to the power supply voltage.
- Level (H level) For example, when performing the shift operation corresponding to FIG. 5 (d), the control signals C0, Cl, C2, C4, and C5 in the bit shift circuit 800 are set to the ground voltage level, and C3 is set to the power supply voltage. Level (H level) should be set.
- Table 2 shows the shift operation corresponding to Fig. 4 (b) during 32-bit reading and 16-bit reading, and the shift operation corresponding to Figs. 5 (b) to (d) during 8-bit reading. Shows combinations of control signals C0, Cl, C2, C3, C4, and C5 when performing shift operation. Table 2
- the data may be read via the 3-state inverter stage. Considering that one or more buffers are inserted into the output of the loop, it can be seen that reading can be performed at high speed. Further, the number of elements and wirings for implementing the bit shift circuit 800 is very small, so that power consumption is low.
- Figure 9 shows the opposite of Figure 6 when writing data in units of 32 bits, 16 bits or 8 bits corresponding to the group 100 shown in Figure 1.
- reference numerals 1301, 1302, and 1303 denote selector circuits.
- the 3 to 1 selector 1301 includes bits for write data [3 * 8 + k] and write data [l * 8 + selector to select one of k] or write data [0 * 8 + k] and supply it to the memory cell where data [3 * 8 + k] is stored
- 2 to 1 selector 1302 Is a selector for selecting either write data [2 * 8 + k] or write data [0 * 8 + k] and supplying it to the memory cell where data [2 * 8 + k] is stored.
- One-selector 1303 selects either write data [l * 8 + k] or write data [0 * 8 + k] and supplies it to the memory cell where data [l * 8 + k] is stored. The operation is controlled by a combination of control signals.
- the selector 1301 when the write data is 32 bits, the selector 1301 writes write data [3 * 8 + k], the selector 1302 writes write data [2 * 8 + k], and the selector 1303 writes write data [2 * 8 + k]. Select [l * 8 + k].
- selector 1301 When the write data is the upper 16 bits of the 32 bits, selector 1301 outputs write data [l * 8 + k] and selector 1302 outputs write data [0 * 8 + k]. Select it, and selector 1303 does not select any.
- the selectors 1301 and 1302 do not select any data, and the selector 1301 selects write data [l * 8 + k].
- the selector 1301 sets the write data [0 * 8 + k], and when the write data is the 32-bit byte 2, Selector 1302 has write data [0 * 8 + k], and the write data is 3 2 If the byte is byte 1, the selector 1301 selects write data [0 * 8 + k], and if the write data is byte 0 of 32 bits, it is selected. In the evening 1301 to 1303, no data is selected.
- FIG. 10 specifically shows an example of a layout of a memory cell array storing the logical 1-bit data [m * 8 + k] shown in FIG. 1 (a), assuming an SRAM. Things.
- reference numeral 1100 denotes a memory block for storing 1-bit data [m * 8 + k] at the same logical position of a plurality of n-bit data (other bits) having different address addresses.
- a memory cell array is formed by collecting such n memory blocks 1100 or an integral multiple of n.
- 1101 is an SRAM memory cell that holds one bit of data
- 1102 is a word line for selecting a memory cell
- 1103 is a complementary bit line pair to which the input / output nodes of the memory cell are connected
- 1104 is a P channel Column switch composed of type M0S transistor
- 1105 is a common bit line base.
- a decoder circuit provided around the memory cell array decodes the address signal, and sets one lead line 1102 to a selected level for each memory block.
- One column switch 1104 is turned on. Accordingly, a total of n bits of data are read from the n memory blocks, one bit at a time, from the common bit line pair 1105 corresponding to one address.
- the memory cell array storing the logical 1-bit data [m * 8 + k] shown in FIG. 1 (a) is an image arranged in the same column in a layout. As described in the specific example of Fig. 10, the layout It may be composed of multiple columns.
- FIG. 10 shows an example in which a memory cell array storing a logical 1-bit data [m * 8 + k] is composed of four columns. However, the present invention is not limited to this. However, any number of columns such as 2 columns or 8 columns can be used.
- FIG. 11 schematically shows a layout image of a circuit obtained by combining the memory cell array 101 of FIG. 1, the read bit shift circuit 600 of FIG. 6, and the write bit shift circuit 1300 of FIG.
- reference numeral 1200 denotes a bidirectional bit shift circuit
- 1201 denotes a circuit including the aforementioned bit shift circuits 600 and 1300, respectively.
- the bidirectional bit shift circuit 1200 can arrange the unit bit shift circuits 1201 in an orderly manner corresponding to the memory cell group that stores the data of each group 100_0 to 100_7. As a result, wasteful space can be reduced and layout efficiency can be improved.
- FIG. 12 shows an embodiment in which the bit shift circuit shown in FIG.
- Reference numeral 1400 denotes a bit shift circuit when the basic data length is 32 bits.
- the bit shift circuit is composed of a tristate inverter 1404 and an inverter 1402. Controlled by control signals C0, Cl, C2, C3, C4, C5.
- 1403 schematically represents a memory cell array that stores bits data [3 * 8 + k], data [2 * 8 + k], data [l * 8 + k], and data [0 * 8 + k]. It is something.
- Reference numeral 1405 denotes a redundant column including spare memory cells used when a defective column exists in the memory cell array 1403.
- Reference numeral 1401 denotes a sense amplifier circuit group for amplifying data output from the memory cell array 1403 and the redundant column 1405 through the complementary bit line pair.
- Reference numerals 1406 to 1409 denote 2 tol selectors that switch the signal path to be used to transmit the output of the sense amplifier to the bit shift circuit 1400 when the redundant column is used or not, and are controlled by a redundant control signal RCS.
- Each 2 to 1 selector 1406 to 1409 selects one of the amplified signals of two adjacent bits as shown in the figure Then, the signal is transmitted to the bit shift circuit 1400.
- the data of data [3 * 8 + k] shown in FIG. 12 is stored in the redundant column 1405 and the selector 1406 Is controlled so that the output of the sense amplifier in the redundant column is selected and transmitted to the bit shift circuit 1400.
- the other selectors 1407 to 1409 are controlled to select the output of the original sense amplifier and transmit it to the bit shift circuit 1400
- the selector 1406 Select the output of the sense amplifier in the redundant column and send it to the bit shift circuit 1400.
- the selector 1407 selects the output of the sense amplifier in the data [3 * 8 + k] column and sends it to the bit shift circuit 1400. Controlled. At this time, the other selectors 1408 and 1409 are controlled so as to select the output of the original sense amplifier and transmit it to the bit shift circuit 1400.
- the selector 1406 Selects the output of the sense amplifier in the redundant column to the bit shift circuit 1400, and the selector 1407 selects the output of the sense amplifier in the data [3 * 8 + k] column to the bit shift circuit 1400, and the selector 1408 Is controlled so that the output of the sense amplifier in the data [2 * 8 + k] column is selected and transmitted to the bit shift circuit 1400.
- the other selector 1409 is controlled so as to select the original output of the sense amplifier and transmit it to the bit shift circuit 1400.
- the selector 1407 selects the output of the sense amplifier of the redundancy ram and sends it to the bit shift circuit 1400.
- the selector 1407 selects the output of the sense amplifier of the data [3 * 8 + k] column and sends it to the bit shift circuit 1400.
- the selector 1409 outputs the output of the sense amplifier in the data [l * 8 + k] column. It is controlled so that it is selected and transmitted to the bit shift circuit 1400.
- FIG. 13 shows a configuration example of a system in which the semiconductor memory device according to the present invention is applied as a cache memory.
- 900 is a cache memory composed of SRAM (stick random access memory) to which the present invention is applied,
- 901 is a central processing unit (CPU)
- 902 is a floating point processing unit (FPU)
- 904 is a cache memory 900
- This is a data connection path between the CPU 901 and the FPU 902, and these constitute a micro computer system 903.
- an address bus for supplying an address signal output from the CPU 901 to the cache memory 900 is provided.
- Reference numerals 905 and 906 are wirings for supplying a control signal (so-called byte code) for instructing the read data length to the cache memory 900.
- a control signal so-called byte code
- the CPU 901 processes data with a basic data length of, for example, 32 bits, reading is performed in units of bytes, but writing is performed with a fixed length of 32 bits.
- the bit arrangement of 32 bits, such as 32 bits, which the CPU 901 outputs on the data bus 904 is the same as in the past, such as bit 0, bit 1, bit 2, bit 3 ... bit It is a general order like 3 1
- a data alignment circuit 910 for rearranging the bit array of the input data into an array as shown in FIG.
- the data alignment circuit 910 converts the data in a bit array as shown in FIG. Rearrange into an ordered array.
- FIG. 15 shows an arrangement of input / output signals of the data alignment circuit 910 for rearranging bits when the data length is 32 bits.
- the upper signals Mt31 to MtO are the signals on the memory array side and the lower signals are the signals on the data bus side. is there.
- the data alignment circuit 910 performs the same bit rearrangement for the effective bit portion. Done.
- the rearrangement of bits by the data alignment circuit 910 and the bit shift by the bit shift circuit 600 or the like can be performed by one circuit or circuit block.
- the above-mentioned data alignment circuit 910 is configured such that the CPU 901 that processes the data of 32 bits has an 8-bit or 16-bit data via a control signal line 905.
- the bits of the 8-bit or 16-bit data read from the memory cell array are rearranged, and the upper 24 bits of the data are rearranged.
- data with 16 bits set to “0” is output to the data path 904.
- FIG. 14 shows an embodiment of a system in which the semiconductor memory device according to the present invention is applied as a main memory.
- 1000 is a main memory such as a DRAM (dynamic random access memory) to which the present invention is applied
- 1001 is a micro processor
- 1003 is a data path connecting the main memory 1000 and the microprocessor 1001
- 1004 is a main path.
- 1005 is a bit array in a general order supplied from the microprocessor 1001, that is, the first bit exists adjacent to the sixth bit. Then, the data obtained by arranging the bits in ascending or descending order such that the second bit exists adjacent to the first bit is shown in FIG. 1 (a).
- a data alignment circuit that rearranges the bit array of data read from the memory array into a general order in reverse to the above.
- a microcombination system 1004 is constituted by the component circuit 1005.
- the main memory 1000 and the microprocessor 1001 may be integrated on the same chip, or may be configured as separate chips.
- the main memory 1000 in addition to DRAM, SRAM or a memory such as a ferroelectric memory or a flash memory can be used.
- an address bus for supplying an address signal output from the microprocessor 1001 to the main memory 1000 is provided.
- a data alignment circuit 1005 is provided between the main memory 1000 and the data path 1003, but a path controller for switching paths, determining path occupation rights, etc.
- the function of the data alignment circuit 1005 can be provided to the bus controller, the memory management unit, and the like. is there.
- this data alignment circuit 1005 is provided with a function of rearranging bits and a bit shift function of the bit shift circuit 600 and the like. It is also possible to configure. Even in such a case, the bus controller memory management unit and the like can have the function of the alignment circuit 1005 and the bit shift function described above.
- the storage device connected to the data processing device having a basic data length of 32 bits has been mainly described for easy understanding, but the basic data size is 16 bits.
- FIG. 1 (a) shows an embodiment in which data [l * 8 + k] is arranged next to data [0 * 8 + k].
- the arrangement is not limited.
- data [2 * 8 + k] may be arranged next to data [0 * 8 + k]
- data [data [0 * 8 + k] may be arranged next to data [0 * 8 + k].
- 3 * 8 + k] may be arranged, and the bit arrangement in the group is arbitrary as long as the bit arrangement in different groups is the same.
- FIG. 1B shows an embodiment in which the groups 100_6 are arranged next to the groups 100 to 7 and the groups 100_5 are arranged next to the groups 100_7, but the present invention is not limited to this. Instead, for example, the group 100_5 may be arranged next to the group 100-17, or the group 100_0 may be arranged next to the group 100_7. Also, in the example of the application system described above, the data array on the data bus is described as a bit array in a general order, but the data array on the data bus itself is shown in FIG. It may be a sequence unique to the present invention as shown in a).
- the conversion of the data bit array may be performed on the CPU or microprocessor side.
- the signal line of the path is scrambled so that the CPU side or the memory side has a general order or the memory side has a unique order. It may be configured so that Alternatively, by devising the connection between the data terminal of the CPU and the signal line of the path or the connection between the data terminal of the memory and the signal line of the path, the CPU can output a bit sequence data in a general order.
- the memory may be configured to be input as a bit array data according to the present invention. The invention's effect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Static Random-Access Memory (AREA)
- Semiconductor Memories (AREA)
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001500273A JP3965620B2 (ja) | 1999-05-28 | 1999-05-28 | 記憶装置および記憶方法並びにデータ処理システム |
US09/979,951 US6671219B1 (en) | 1999-05-28 | 1999-05-28 | Storage, storage method, and data processing system |
PCT/JP1999/002841 WO2000074058A1 (fr) | 1999-05-28 | 1999-05-28 | Stockage, procede de stockage et systeme de traitement de donnees |
TW088109712A TW436684B (en) | 1999-05-28 | 1999-06-10 | Storage, storage method, and data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP1999/002841 WO2000074058A1 (fr) | 1999-05-28 | 1999-05-28 | Stockage, procede de stockage et systeme de traitement de donnees |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2000074058A1 true WO2000074058A1 (fr) | 2000-12-07 |
Family
ID=14235831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP1999/002841 WO2000074058A1 (fr) | 1999-05-28 | 1999-05-28 | Stockage, procede de stockage et systeme de traitement de donnees |
Country Status (4)
Country | Link |
---|---|
US (1) | US6671219B1 (ja) |
JP (1) | JP3965620B2 (ja) |
TW (1) | TW436684B (ja) |
WO (1) | WO2000074058A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008527604A (ja) * | 2005-01-18 | 2008-07-24 | キモンダ アクチエンゲゼルシャフト | 接近パッドオーダリングロジック |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10592367B2 (en) * | 2017-09-15 | 2020-03-17 | Apple Inc. | Redundancy implementation using bytewise shifting |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63142593A (ja) * | 1986-12-04 | 1988-06-14 | Fujitsu Ltd | 多次元アクセスメモリ |
JPS63142592A (ja) * | 1986-12-04 | 1988-06-14 | Fujitsu Ltd | 多次元アクセスメモリ |
JPH0289279A (ja) * | 1988-09-26 | 1990-03-29 | Nec Corp | 半導体メモリ |
JPH02181244A (ja) * | 1989-01-04 | 1990-07-16 | Yokogawa Medical Syst Ltd | アドレッシング装置 |
JPH02292647A (ja) * | 1989-05-02 | 1990-12-04 | Toshiba Corp | 半導体記憶装置 |
JPH05181744A (ja) * | 1992-01-06 | 1993-07-23 | Nec Eng Ltd | 記憶装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62103893A (ja) * | 1985-10-30 | 1987-05-14 | Toshiba Corp | 半導体メモリ及び半導体メモリシステム |
US4845664A (en) * | 1986-09-15 | 1989-07-04 | International Business Machines Corp. | On-chip bit reordering structure |
US5185872A (en) * | 1990-02-28 | 1993-02-09 | Intel Corporation | System for executing different cycle instructions by selectively bypassing scoreboard register and canceling the execution of conditionally issued instruction if needed resources are busy |
JPH0831276B2 (ja) * | 1990-06-15 | 1996-03-27 | 松下電器産業株式会社 | 半導体メモリ |
DE69124437T2 (de) * | 1990-08-09 | 1997-07-03 | Silicon Graphics Inc | Verfahren und Vorrichtung zum Umkehren von Byteordnung in einem Rechner |
JPH06332793A (ja) | 1993-05-20 | 1994-12-02 | Nec Eng Ltd | データアライメント回路 |
US5477543A (en) * | 1994-08-03 | 1995-12-19 | Chromatic Research, Inc. | Structure and method for shifting and reordering a plurality of data bytes |
JPH09231130A (ja) | 1996-02-26 | 1997-09-05 | Mitsubishi Electric Corp | マイクロコンピュータ |
JPH10228766A (ja) | 1997-02-17 | 1998-08-25 | Hitachi Ltd | マイクロコンピュータ |
US5943283A (en) * | 1997-12-05 | 1999-08-24 | Invox Technology | Address scrambling in a semiconductor memory |
-
1999
- 1999-05-28 JP JP2001500273A patent/JP3965620B2/ja not_active Expired - Fee Related
- 1999-05-28 US US09/979,951 patent/US6671219B1/en not_active Expired - Fee Related
- 1999-05-28 WO PCT/JP1999/002841 patent/WO2000074058A1/ja active Application Filing
- 1999-06-10 TW TW088109712A patent/TW436684B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63142593A (ja) * | 1986-12-04 | 1988-06-14 | Fujitsu Ltd | 多次元アクセスメモリ |
JPS63142592A (ja) * | 1986-12-04 | 1988-06-14 | Fujitsu Ltd | 多次元アクセスメモリ |
JPH0289279A (ja) * | 1988-09-26 | 1990-03-29 | Nec Corp | 半導体メモリ |
JPH02181244A (ja) * | 1989-01-04 | 1990-07-16 | Yokogawa Medical Syst Ltd | アドレッシング装置 |
JPH02292647A (ja) * | 1989-05-02 | 1990-12-04 | Toshiba Corp | 半導体記憶装置 |
JPH05181744A (ja) * | 1992-01-06 | 1993-07-23 | Nec Eng Ltd | 記憶装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008527604A (ja) * | 2005-01-18 | 2008-07-24 | キモンダ アクチエンゲゼルシャフト | 接近パッドオーダリングロジック |
Also Published As
Publication number | Publication date |
---|---|
JP3965620B2 (ja) | 2007-08-29 |
TW436684B (en) | 2001-05-28 |
US6671219B1 (en) | 2003-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3386924B2 (ja) | 半導体装置 | |
US7243203B2 (en) | Pipeline circuit for low latency memory | |
JP5344324B2 (ja) | マルチレベルセルメモリに対するデータパス、格納方法およびメモリアレイの使用方法 | |
US7355899B2 (en) | Pipe latch circuit of multi-bit prefetch-type semiconductor memory device with improved structure | |
US7236413B2 (en) | Semiconductor memory device | |
JP2004500673A5 (ja) | ||
JPH0594698A (ja) | 半導体記憶装置 | |
US6847576B2 (en) | Layout structures of data input/output pads and peripheral circuits of integrated circuit memory devices | |
US6335889B1 (en) | Semiconductor memory device | |
US6718432B1 (en) | Method and apparatus for transparent cascading of multiple content addressable memory devices | |
US6396766B1 (en) | Semiconductor memory architecture for minimizing input/output data paths | |
KR0160325B1 (ko) | 비트 단위 데이타의 입력 및 출력용 반도체 메모리 장치 | |
KR19990047471A (ko) | 칼럼 방향의 데이터 입출력선을 가지는 반도체메모리장치와불량셀 구제회로 및 방법 | |
US20100208540A1 (en) | Integrated circuit with multiported memory supercell and data path switching circuitry | |
KR100390615B1 (ko) | 반도체 메모리 장치 | |
TWI490883B (zh) | 半導體記憶裝置 | |
WO2000074058A1 (fr) | Stockage, procede de stockage et systeme de traitement de donnees | |
JP4951304B2 (ja) | 半導体装置 | |
US6118727A (en) | Semiconductor memory with interdigitated array having bit line pairs accessible from either of two sides of the array | |
JP2000172524A (ja) | 半導体記憶装置 | |
JPH1124989A (ja) | 語長可変メモリアクセス方式 | |
KR100314129B1 (ko) | 데이터 입출력 라인의 부하를 줄이는 뱅크 구성방법 및 데이터입출력 라인 배치방법으로 구현된 반도체 메모리 장치 | |
JP2000058772A (ja) | 半導体メモリ装置 | |
US7729198B2 (en) | Synchronous memory circuit | |
US6914832B2 (en) | Semiconductor memory device with memory cell array divided into blocks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CN JP KR SG US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2001 500273 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09979951 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |