WO2000074058A1 - Stockage, procede de stockage et systeme de traitement de donnees - Google Patents

Stockage, procede de stockage et systeme de traitement de donnees Download PDF

Info

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
Application number
PCT/JP1999/002841
Other languages
English (en)
French (fr)
Inventor
Yasuhisa Shimazaki
Tsuyoshi Koike
Makoto Mizoguchi
Original Assignee
Hitachi, Ltd.
Hitachi Ulsi Systems Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd., Hitachi Ulsi Systems Co., Ltd. filed Critical Hitachi, Ltd.
Priority to JP2001500273A priority Critical patent/JP3965620B2/ja
Priority to US09/979,951 priority patent/US6671219B1/en
Priority to PCT/JP1999/002841 priority patent/WO2000074058A1/ja
Priority to TW088109712A priority patent/TW436684B/zh
Publication of WO2000074058A1 publication Critical patent/WO2000074058A1/ja

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-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

明細書 記憶装置および記憶方法並びにデータ処理システム 技術分野
本発明は、 バイナリデータの記憶装置に関し、 特にマイクロプロセッサや マイクロコンビユー夕等のデータ処理装置に接続されてパイ ト ( 8ビット) 単位ゃヮ一ド ( 1 6ビット) 単位さらには 8の整数倍のビッ ト単位でデータ のリードとライ トが行なわれる R A M (ランダム 'アクセス 'メモリ) や R O M (リード 'オンリ 'メモリ) 等の半導体記憶装置に適用して有効な技術 に関するものである。 背景技術
半導体記憶装置は、 これをアクセスするマイクロプロセッサゃマイクロコ ンビュー夕等の動作周波数やデータ処理能力 (データのビッ ト数) の向上に 伴い、 より高速化が望まれている。
そこで、 従来より半導体記憶装置の高速化を図るため種々の技術が提案さ れている。 このような技術としては、 特開平 6 - 3 3 2 7 9 3号又は 1 9 9 9 年 IEEE International Sol id-State Circuit Conference DIGEST OF TECNICAL PAPERS の 1 9 0頁から 2 0 1頁に示されるようなものがある。 し かしながら、 従来の半導体記憶装置の高速化技術は、 デバイスの微細化、 あ るいは回路的にメモリセルからのデータ読出しを如何に速くするかに主眼を おいてなされており、 その半導体記憶装置が接続されるマイクロプロセッサ、 あるいはマイクロコンビュ一夕等のデータ処理装置との関係を考慮したもの ではなかった。
通常、 半導体記憶装置は、 それに接続されるマイクロプロセッサ、 あるい はマイクロコンビュー夕等のデータ処理装置が基本的に使用するデ一夕の ビッ ト長を単位として読み出し、 書き込みを行なうことができるような構成 になっている。 例えば、 基本データ長が 3 2ビッ トであるデータ処理装置に 接続される半導体記憶装置は、 3 2ビッ ト単位で読み出し、 書き込みが効率 良く行なえるようになつており、 また、 基本データ長が 6 4ビッ トである データ処理装置に接続される半導体記憶装置は、 6 4ビッ ト単位で読み出し、 書き込みが効率良く行なえるようになつているといつた具合である。
ところで、 一般に用いられているデータ処理装置では、 1バイ ト ( 8ビッ ト) のデータ毎に一つのアドレス番号が割り付けてあるため、 それに接続さ れる半導体記憶装置もアドレス番号毎の読み出し、 書き込みが可能となるよ うにされている。 また、 読み出し長についても、 基本デ一夕長の l / 2 n ( n は 1以上の整数) 倍であって、 8ビッ ト以上、 すなわち、 基本デ一夕長が 3 2にビヅ トの場合、 3 2 X 1 / 2 1である 1 6ビット、 つまり 2バイ ト単位 3 2 1 / 2 2である 8ビッ ト、 つまり 1バイ ト単位の読み出し、 書き込み動作 を行なうことができる必要がある。 これを、 図面を用いてもう少し詳しく説 明する。
図 3は基本データ長が 3 2ビッ ト (4バイ ト) であるデータ処理装置に接 続される従来の半導体記憶装置内での記憶データの物理的な配列および当該 記憶装置から 3 2ビッ トのデ一夕を読み出す場合の論理的動作を模式的に表 わしたものである。 3 0 0は半導体記憶装置内に格納されたデ一夕、 3 0 1 は半導体記憶装置から読み出されたデータを表わしている。 この場合は、 3 2ビッ トデ一夕がそのまま読み出されている。 すなわち、 半導体記憶装置内 のデータの第 nビッ ト目と、 読出し先のレジス夕等の第 nビッ ト目の間の相 対的な距離が最も短くなる様にレイァゥトし、 かつ配線されている。
図 4は基本デ一夕長が 3 2ビッ ト ( 4バイ ト) であるデータ処理装置に接 続される従来の半導体記憶装置内での記憶データの物理的な配列および当該 記憶装置から 1 6ビッ ト ( 2バイ ト) のデータを読み出す場合の論理的動作 を模式的に表わしたものである。 4 0 0は半導体記憶装置内に格納された デ一夕、 4 0 1、 4 0 2は半導体記憶装置から読み出されたデータを表わし ている。 図 4 (a)は、 デ一夕 4 0 0中の下位 1 6ビット (バイ ト 1、 パイ ト 0 ) を読 み出した様子を、 図 4 (b)は、 デ一夕 4 0 0中の上位 1 6ビッ ト (パイ ト 3、 バイ ト 2 ) を読み出した様子を表わしている。 ここで注意すべきことは、 図 4 (b)の場合、 上位 1 6ビットから下位 1 6ビッ トまで、 1 6ビッ ト分のビッ トシフ ト動作が必要になる点である。 従来の半導体記憶装置では、 データの ビッ ト順通りにメモリセルアレイのレイアウトを行なっていた。 そのため、 図 4 (b)のような動作を行なう際には物理的に 1 6ビッ ト分のシフ トを行なう 必要があった。 すなわち、 図 4 (a)では、 半導体記憶装置内の第 nビッ ト (0 ≤n≤ 1 5 ) と読出し先のレジスタ等の第 nビッ ト ( 0≤n≤ 1 5 ) とが相 対的に最も短くなることが出来るのに対し、 図 4 ( b ) では、 半導体記憶装 置内の第 n ' ビッ ト ( 1 6≤η ' ≤ 3 1 ) を読出し先のレジス夕等の第 η ビッ ト ( 0≤η≤ 1 5 ) に格納するため、 相対的な配線長が長くなつてしま う。 これにより、 配線長が長くなつて配線負荷が増大し、 読み出し速度の低 下、 消費電力の増大を招いていた。
図 5は基本データ長が 3 2ビッ ト (4バイ ト) であるデータ処理装置に接 続される従来の半導体記憶装置内での記憶データの物理的な配列および当該 記憶装置から 8ビッ ト ( 1バイ ト) のデータを読み出す場合の論理的動作を 模式的に表わしたものである。 5 0 0は半導体記憶装置内に格納されたデー 夕、 5 0 1、 5 0 2、 5 0 3、 5 0 4は半導体記憶装置から読み出された デ一夕を表わしている。
図 5 (a)は、 デ一夕 5 0 0中のパイ ト 0に当たる 8ビヅ トを読み出した様子 を、 図 5 (b)は、 デ一夕 5 0 0中のパイ ト 1に当たる 8ビットを、 図 5 (c )は、 デ一夕 5 0 0中のバイ ト 2に当たる 8ビッ トを、 図 5 (d)は、 デ一夕 5 0 0中 のパイ ト 3に当たる 8ビヅ トを、 読み出した様子を表わしている。 ここで注 意しなければならないのは、 図 5 (b)の場合、 バイ ト 1からバイ ト 0まで、 8 ビッ ト分のビットシフト動作が、 図 5 (c )の場合、 バイ ト 2からパイ ト 0まで、 1 6ビッ ト分のビッ トシフト動作が、 図 5 (d)の場合、 パイ ト 3からパイ ト 0 まで、 2 4ビット分のビットシフト動作が、 それそれ必要になる点である。 従来の半導体記憶装置では、 データのビッ ト順通りにメモリセルアレイの レイアウトを行なっていた。 そのため、 図 5 (b)あるいは図 5 ( c )あるいは図 5 (d)のような動作を行なう際には、 物理的に、 それそれ 8ビッ ト、 1 6ビッ ト、 2 4ビヅ ト分のシフトを行なう必要があった。 すなわち、 図 4 ( b ) の 場合と同様に相対的な配線長が長くなつてしまう。 これにより、 各メモリセ ルからセレクタまでの配線長が長くなり、 配線負荷が増大して読み出し速度 の低下、 消費電力の増大を招いていた。 また、 ビッ トのシフ トのために信号 線が例えば上記の例では、 図 1 6 ( a )に示すように、 2 4本並走するような 部分が生じ、 配線の占有面積が増大したり、 信号線が密であるため信号線間 のクロス トークが発生し易いという問題点があった。 一方、 メモリアクセス 時には、 必ず 3 2ビッ ト単位にレジス夕等に読出し、 その後ビッ トシフト等 を行うことで、 必要なビッ ト数のデータのみにするという方法も考えられる が、 ビッ トシフト等の処理を行う時間が必要となり、 読出し速度の低下は否 なめない。
本発明の目的は、 上記の問題点を解決し、 基本データ長より短いデータ長 の読出し又は書込みであって、 例えば、 8ビッ トすなわちバイ ト単位の読み 出しであっても高速に行なうことができ、 かつ低消費電力で動作する記憶装 置を提供することにある。
この発明の他の目的は、 配線の占有面積が低減されるとともにクロストー クが発生しにくい記憶装置を提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、 本明細 書の記述および添附図面から明らかになるであろう。 発明の開示
本願において開示される発明のうち代表的なものの概要を説明すれば、 下 記のとおりである。
すなわち、 複数のメモリセルと、 該複数のメモリセルの中からアドレス信 号に応じたメモリセルを選択するためのヮード線と、 選択されたメモリセル の記憶情報を読み出すためのビッ ト線とを含むメモリセルアレイを備え、 ァ ドレスバスおよびデ一夕バスに接続される記憶装置において、 上記メモリア レイに格納されるデ一夕のビッ ト配列が上記データバスのビッ ト配列と異な るように構成したものである。
また、 上記デ一夕パス上の互いに隣接するビッ ト信号線により伝達される 情報が、 所定のビッ ト数隔てたメモリセルに記憶されるように構成する。 さらに、 具体的には、 nビッ トを基本的な読み出しの単位とし、 論理的な ビッ ト位置が 0*8+k、 l*8+k、 2*8+k、 3*8+k、 … m*8+k ( k、 mは 0≤ k≤ 7 ; 0≤m≤ n/ 8 - 1なる自然数) であるビッ ト情報がメモリセルアレイ 内の互いに近接したメモリセルに記憶されるように構成する。
上記した手段によれば、 データ読出し時のビッ トシフ 卜のための配線長は 極めて短いものとなるため、 バイ ト単位の読み出しを高速に行なうことがで きるとともに、 ビッ トシフ トを行なう回路を実現するための素子や配線も非 常に少量で済むため、 低消費電力で動作する記憶装置を得ることができる。 また、 データ読出し時のビッ トシフ トのための配線長は比較的短いため配線 の占有面積を低減することができるとともに、 ビッ トシフ トのための配線が 形成されている領域において並走する信号線の本数も少なくて済むため配線 面積が小さくかつクロストークが発生しにくい記憶装置を得ることができる。 図面の簡単な説明
図 1は、 本発明に係るにおける記憶装置におけるメモリセルアレイに記憶 されるデータの物理的なビッ ト配列を示した模式図である。
図 2は、 本発明に係る記憶装置 (メモリモジュール) が 3 2ビッ ト長を基 本データサイズとするデ一夕処理装置に接続される場合のビッ ト配列の一例 を示す説明図である。
図 3は、 3 2ビッ トデ一夕を読み出す場合の論理的動作を表わす模式図で める。
図 4は、 1 6ビッ トデ一夕を読み出す場合の論理的動作を表わす模式図で める。
図 5は、 8ビッ トデ一夕を読み出す場合の論理的動作を表わす模式図であ る o
図 6は、 3 2ビッ トデータ、 1 6ビッ トデ一夕および 8ビッ トデータの読 出しを可能にするビッ トシフト回路の一構成例を示すブロック図である。
図 7は、 ビッ トシフ ト回路の具体例を示す回路図である。
図 8は、 ビッ トシフ ト回路の他の例を示す回路図である。
図 9は、 3 2ビッ トデータ、 1 6ビッ トデ一夕および 8ビッ トデータの書 込みを可能にするビッ トシフト回路の一構成例を示すプロック図である。
図 1 0は、 図 1の 1 ビッ トを記憶するローカルなメモリセルアレイの一実 施例を示す回路図である。
図 1 1は、 本発明を適用した半導体記憶装置におけるメモリセルアレイと ビッ トシフト回路のレイァゥトの一例を表わす模式図である。
図 1 2は、 本発明を冗長方式の半導体記憶装置に適用した場合の一実施例 を示すプロック図である。
図 1 3は、 本発明を適用した半導体記憶装置の応用システムの一例として のマイクロコンビュー夕システムの一構成例を示すプロヅク図である。
図 1 4は、 本発明を適用した半導体記憶装置の応用システムの一例として のマイクロコンビュー夕システムの他の構成例を示すブロック図である。 図 1 5は、 デ一夕長が 3 2ビッ トの場合のビッ トの並び換えを行なうデー 夕ァライメント回路の入出力信号の配列を示す機能説明図である。
図 1 6は、 従来の半導体記憶装置における 3 2ビッ ト単位で記憶されてい るメモリセルアレイから 8ビッ トのデ一夕を読み出す方式および本発明にお ける同様な読出し方式を模式的に示す説明図である。 発明を実施するため最良の形態
以下、 本発明の好適な実施例を図面に基づいて説明する。
図 1は、 本発明に係る記憶装置におけるメモリセルの物理的なレイァゥト を示した模式図である。 図中 k、 mは自然数であり、
0≤k≤ 7
0≤m≤ (n/8) - 1
n:基本デ一夕サイズ
を満たすものとする。 ここで、 基本データサイズ nとは、 本発明を適用した 半導体記憶装置や複数のメモリチップからなるメモリモジュールに接続され るマイクロプロセッサ、 あるいはマイクロコンビュー夕等のデータ処理装置 が基本的に処理するデータのビッ ト長を指し、 多くのデータ処理装置では 1 6ビッ ト、 32ビッ ト、 64ビッ ト、 128ビッ ト等のビッ ト長が用いられ ている。 例えば 32ビッ ト長を基本デ一夕サイズとするデータ処理装置に接 続される記憶装置に本発明を適用する場合、 mの値は 0、 1、 2または 3と なる。
また、 図 1(a)において、 data[0*8+k]は、 基本データサイズ nビッ トの データ中のビッ ト位置 o*8+kの 1ビッ トを指している。 本発明を適用した半導 体記憶装置では、 図 1 (a)に示すように論理的なビッ ト位置が 0*8+k、 l*8+k、 2*8+k、 3*8+k、 … 、 m*8+kであるデータを格納するメモリセルを一つのグ ループ 100として近接レイアウ トする。 つまり、 グループ 100には n/ 8ビッ トのデ一夕が含まれることになる。 例えば、 n = 32のときには、 各 グループ 100は 4ビッ 卜のデータで構成される。
図 1(a)において、 1つのグループでは、 kは 0~7のいずれか一つであ り、 ブロック B 0のデ一夕 data[0*8+k]における kが例えば 0のとき他のブ ロック B 1〜 B n/8-1のデ一夕 data [ l*8+k]〜 data [m*8+k]における kも 0である ことを意味している。 n=32のとき、 k= 0のグループ 100Jには、 図 1 ( c )のように data[0], data[8] , data[16], data[24]が含まれる。 同様にし て、 k= 1のグループ 100_1には、 data[l], data[9], data[17], data[24]が、 k= 7のグループ 100_7には、 data[7], data[15], data[23], data[31]が含 まれる。
そして、 このように構成された kの値が同一のビッ トからなるグループ 100_0〜100_7が、 図 1 ( b )に示すように、 7個並ぶように配置されてメモリ セルアレイ 1 0 1に格納される。 なお、 図 1 ( b ) において、 1 0 1をメモリ セルアレイ全体とした場合、 各グループ 100_0〜100_7には、 それそれ他の ワード (他のアドレス番地の nビッ トのデ一夕) の kの値が同一であるビッ トも含まれる。
本発明に係る半導体記憶装置では、 図 1 ( b )に示すように、 グループ 100_7、 100_6、 100_5、 100_4、 100_3、 100_2、 100_1、 100_0を並べることにより、 全 体として nビッ トのデータを読み書きできるようにしている。 なお、 従来の 半導体記憶装置では、 図 1 ( a )の各プロック B 0〜B 7内にそれそれ mの値 が同一であり、 かつ kが 0〜7の値をとる 8個のビッ トが順に配置され、 全 体として nビッ トのデ一夕が構成されるように格納されており、 各ブロック B 0〜B 7内にそれそれ kの値が同一であるビッ トが配置される本発明方法 とはデ一夕の格納の仕方が明らかに異なることが理解されるであろう。
図 2は、 本発明を、 3 2ビッ ト長を基本データサイズとするデータ処理装 置に接続される記憶装置に適用した場合の実施例を示すものである。 200は本 発明を適用したメモリモジュールであり、 201はメモリモジュール 200に入出 力されるデータ信号を表わしている。 データ信号 201のビッ ト並び順は、 メモ リモジュール 200のセルレイァゥトに於ける物理的なビッ ト並び順に対応して いる。
ここで、 メモリモジュールとは、 狭義には一つの半導体メモリチップ内に 含まれるメモリセルアレイを、 広義には複数の半導体メモリチップからなる 記憶装置を意味し、 本発明は、 その規模を問わずどのような構成の記憶装置 に対しても適用することができる。 また、 本発明は、 記憶装置は S R A Mや D R A Mのような揮発性の半導体記憶装置はもちろん E E P R 0 Mのような 不揮発性の半導体記憶装置にも適用することができる。
データ処理装置が 3 2ビッ ト (4バイ ト) 単位でデータの読出し、 書込み を行なう場合、 図 2のメモリモジュール 2 0 0から、 同時に data[0]〜 data[31 ]の 3 2ビッ トが読み出され、 また書込みも 3 2ビッ ト単位で行なわ れる。 データ処理装置が例えば 1 6ビッ ト ( 2バイ ト) 単位でデータの読出 しを行なう場合、 図 2のメモリモジュール 2 0 0から上位 1 6 ビッ トの data[16]〜(! ata[31]を読み出す際に、 図中破線で示すようなビッ トのシフ ト が行なわれる。 書込みの際には逆のシフ トが行なわれる。 このビッ トシフ ト は、 図 4 ( b ) のビッ トシフトに対応するものである。
デ一夕処理装置が例えば 8ビッ ト ( 1バイ ト) 単位でデータの読出し、 書 込みを行なう場合、 図 2のメモリモジュール 2 0 0から、 ビッ ト data[8;!〜 data[15] , data[16]〜data[23] , data[24]〜data[31 ]を読み出す際にも、 そ れそれ図 5 (b)〜(d)に対応するビッ トシフ トが行なわれる。 ただし、 その ビッ トシフトは、 互いに近接して配置されている n/ 8ビッ ト (例えば 3 2 ビッ トデ一夕では 4ビッ ト) の範囲で行なわれるので、 図 1 6 ( b )に示すよ うに、 ビッ トシフ トのための配線長は極めて短いものとなる。 また、 従来の ようにビッ トシフ 卜のために多数の信号線が並走することがなく、 たかだか n/ 8本である。
なお、 図 2を参照すると明らかなように、 読み出されたデータのビッ トの 位置は論理ビヅ 卜の位置と異なる。 すなわち、 論理ビッ 卜の位置は data[0]〜 data[31 ]の順番であるが、 実施例を適用すると data[0], data[8], data[16] , data[24] data[23] , data[31 ]のような順番になる。 そこで、 メモリモ ジュール内部もしくは外部でビッ 卜の並び替えが行なわれる。 データの書込 みの場合も同様で、 逆の並び替えが行なわれる。 このビッ ト並び替えはメモ リモジュ一ル側でハードウェア的に行なっても良いし、 デ一夕処理装置がソ フトウエア的に行なうこともできる。
図 6には、 図 1に示されているグループ 100に対応して上記のような 8ビッ ト単位のデータの読出しを行なう際のビッ トシフ トを可能にするビッ トシフ ト回路 6 0 0の具体的な構成例を、 基本デ一夕長が 3 2ビッ 卜の場合、 つま り m = 3の場合について示したものである。
図 6において、 6 0 1, 6 0 2はそれぞれセレクタ回路で、 このうち 2 to 1セレクタ 6 0 1は、 data[3*8+k]または data[l*8+k]のいずれかを選択する ためのセレクタ、 4 to 1セレクタ 6 0 2は、 data[3*8+k], data[2*8+k] , data[l*8+k]または data[0*8+k]のいずれかを選択するためのセレクタであり、 制御信号 C 0〜 C 5により選択動作が制御される。 例えば図 4 ( b )に対応した ビッ トシフト動作を行なう場合、 セレクタ 6 0 1は data[3*8+k]を選択し、 セ レクタ 6 0 2は data[2*8+k]を選択してそれそれ 2ビット目と 1ビッ ト目に出 力する。 また、 セレクタ 6 0 2は、 図 5 ( b ) に対応したビッ トシフト動作を 行なう場合、 data[l*8+k]を選択して 1ビッ ト目に出力し、 図 5 (c ) に対応し たビットシフ ト動作を行なう場合、 data[2*8+k]を選択して 1ビッ ト目に出力 し、 図 5 (d) に対応したビッ トシフ ト動作を行なう場合、 data[3*8+k]を選択 して 1ビット目に出力する。
本実施例から明らかなように、 図 1 (a)に示すビッ ト配置方式を用いると、 例えば論理的に 2 4ビッ トシフ ト動作が必要な場合でも、 レイァゥ ト的には 髙々 3ビッ 卜のシフ トを行なうだけで良いことになり、 従来に比べ配線長を 1 / 8にすることが可能になる。 従って、 読み出し速度を向上させることが でき、 また配線負荷容量による消費電力も低減することができる。 なお、 限 定されたものではないが、 1 6ビッ トデ一夕の読出しあるいは 8ビッ トデー 夕の読出しの際には、 有効なビッ ト以外の上位ビッ トには " 0 " が付加され て全体として nビッ トのデータとして出力される。 本明細書では、 この n ビッ トのうち実際に読み出された上記 1 6ビッ トまたは 8ビッ トの部分を有 効ビットと称する。
図 7には、 図' 6に示すビッ トシフ ト回路 6 0 0の具体的な回路例が示され ている。 この実施例は、 基本デ一夕長が 3 2ビッ トの場合のビッ トシフト回 路 6 0 0を、 Pチャネル型 M0Sトランジスタを用いて構成したものであり、 制 御信号 C0、 Cl、 C2、 C3、 C4、 C5で制御されるように作られている。 702は相補 ビッ ト線ペアであり、 左からそれそれ data[3*8+k]に対応するビッ ト線 bit[3*8+k]、 /Mt[3*8+k]、 data[2*8+k]に対応するビッ ト線 bit[2*8+k]、 / bit[2*8+k]、 data[l*8+k]に対応するビッ ト線 bit [l*8+k]、 /Mt[l*8+k]、 data[0*8+k]に対応するビッ ト線 Mt[0*8+k]、 /bit[0*8+k]である。 703は data[3*8+k]、 data[2*8+k]、 data[l ]、 data[0*8+k]を保持するメ モリセルアレイを模式的に表わしたものである。 701はメモリセルアレイ 703 からビッ トシフ ト回路 6 0 0を介して読み出されてきたデータを増幅するセ ンスアンプ回路群である。
例えば図 4 (b) に対応したシフ ト動作を行なう場合は、 ビッ トシフ ト回路 6 0 0における制御信号 C0、 Cl、 C2、 C4を電源電圧レベル (Hレベル) にし、 C3、 C5を接地電圧レベル ( L レベル) にすれば良い。 また、 例えば図 5 (d) に対応したシフ ト動作を行なう場合は、 ビッ トシフ ト回路 6 0 0における制 御信号 C0、 C2、 C3、 C5を電源電圧レベル (Hレベル) にし、 C4を接地電圧レ ベル (Lレベル) にすれば良い。
次の表 1に、 3 2ビッ ト読出し時、 1 6ビッ ト読出し時の図 4 (b) に対応 したシフ ト動作および 8 ビヅ ト読出し時の図 5 (b)〜( に対応したシフ ト動 作を行なう場合における制御信号 C0、 Cl、 C2、 C3、 C4、 C5の組合せを示す。 表 1
Figure imgf000013_0001
本実施例によれば、 data[3*8+k]を read data[0*8+k]にシフトする場合でも、 配線長は従来に比べて短いため高速に動作させることができる。 また、 ビッ トシフ ト回路 6 0 0を実現するための素子や配線も非常に少量で済むため、 低消費電力である。 図 8は、 図 6に示すビッ トシフ ト回路 6 0 0の他の具体例である。 この実 施例は、 基本データ長が 3 2ビッ トの場合のビットシフ ト回路 8 0 0を、 ト ライステ一トインバ一夕 804とィンバ一夕 802を用いて構成したものであり、 制御信号 C0、 Cl、 C2、 C3、 C4、 C5で制御されるように作られている。 803は data[3*8+k]、 data[2*8+k]、 data[l*8+k]、 data[0*8+k]を保持するメモリセ ルアレイを模式的に表わしたものである。 801はメモリセルアレイ 803から相 補ビッ ト線ペアを通じて出力されるデータを増幅するセンスアンプ回路群で ある。 例えば図 4 (b) に対応したシフ ト動作を行なう場合は、 ビッ トシフ ト 回路 8 0 0における制御信号 C0、 Cl、 C3、 C4を接地電圧レベル (Lレベル) にし、 C2、 C5を電源電圧レベル (Hレベル) にすれば良い。 また、 例えば図 5 (d ) に対応したシフ 卜動作を行なう場合は、 ビッ トシフ ト回路 8 0 0にお ける制御信号 C0、 Cl、 C2、 C4、 C5を接地電圧レベルにし、 C3を電源電圧レべ ル (Hレベル) にすれば良い。
次の表 2に、 3 2ビッ ト読出し時、 1 6ビッ ト読出し時の図 4 (b) に対応 したシフ ト動作および 8ビッ ト読出し時の図 5 (b)〜(d) に対応したシフ ト動 作を行なう場合における制御信号 C0、 Cl、 C2、 C3、 C4、 C5の組合せを示す。 表 2
Figure imgf000014_0001
本実施例によれば、 data[3*8+k]を read data[0*8+k]にシフトする場合でも、 トライステ一トインバーター段を介して読み出せば良く、 一般にセンスアン プの出力にはィンバ一夕一段以上のバッファが挿入されることを考えると、 読み出しを高速に行なうことが可能であることが分かる。 また、 ビッ トシフ ト回路 8 0 0を実現するための素子や配線も非常に少量で済むため、 低消費 電力である。
図 9は、 図 1に示されているグループ 100に対応して 3 2ビッ ト単位、 1 6 ビッ ト単位または 8ビッ ト単位のデータ書き込み時に、 図 6とは逆のビッ ト シフ トを行なうためのビッ トシフ ト回路 1300を、 基本データ長が 3 2ビッ ト の場合、 つまり m = 3の場合について示したものである。
図 9において、 1301,1302,1303はそれそれセレクタ回路で、 このうち 3 to 1 セ レク タ 1301は書込みデ一夕の ビッ 卜 write data[ 3*8+k]、 write data[ l*8+k] または write data[0*8+k]のう ちいずれか一つを選択して data[3*8+k]が格納されるメモリセルに供給するためのセレクタ、 2 to 1セレ クタ 1302は write data[2*8+k]または write data[0*8+k] のいずれかを選択し て data[2*8+k]が格納されるメモリセルに供給するためのセレクタ、 2 to 1セ レク夕 1303は write data[ l*8+k]または write data[ 0*8+k] のいずれかを選択 して data[ l*8+k]が格納されるメモリセルに供給するためのセレクタであり、 制御信号の組み合わせにより動作が制御される。
具体的には、 書込みデータが 3 2ビッ トの場合には、 セレクタ 1301は write data[3*8+k]を、 セレクタ 1302は write data[2*8+k]を、 セレクタ 1303は write data[ l*8+k]をそれそれ選択する。 また、 書込みデータが 3 2ビッ トのうち上 位 1 6ビッ トの場合には、 セレクタ 1301は write data[ l*8+k]を、 セレクタ 1302は write data[0*8+k]をそれそれ選択し、 セレクタ 1303はいずれも選択し ない。 一方、 書込みデータが 3 2ビッ トのうち下位 1 6ビッ 卜の場合には、 セレクタ 1301と 1302はどのデータ も選択せず、 セ レクタ 1301は write data[ l*8+k]を選択する。
さらに、 書込みデータが 3 2ビッ トのうち最上位のバイ ト 3である場合に はセレクタ 1301が write data[ 0*8+k]を、 書込みデータが 3 2ビッ トのバイ ト 2である場合にはセレクタ 1302が write data[ 0*8+k]を、 書込みデータが 3 2 ビヅ 卜のバイ ト 1である場合にはセレクタ 1301が write data[0*8+k]をそれそ れ選択し、 書込みデ一夕が 3 2 ビッ トのバイ ト 0である場合にはセレク夕 1301〜1303はいずれのデータも選択しない。
本実施例によれば、 読み出し動作時と同様、 書き込み時にも例えば論理的 に 2 4ビットシフ ト動作が必要な場合でも、 レイアウ ト的には 3ビッ トのシ フトを行なうだけで良いことになり、 従来に比べ配線長を 1 / 8にすること が可能になり、 高速かつ低消費電力の書込み動作を行なわせることができる。 図 1 0は、 図 1 ( a )に示されている論理的な 1ビッ ト data[ m*8+k]を格納 するメモリセルアレイのレイァゥ 卜の一例を S R A Mを想定して具体的に示 したものである。
図 1 0において、 1100はアドレス番地が異なる複数の nビッ トデ一夕 (他 のヮ一ド) の同一論理位置にある 1ビッ ト data[ m*8+k]を格納するメモリブ ロックであり、 このようなメモリブロック 1100が n個もしくは nの整数倍個 集まってメモリセルアレイが構成される。 1101は 1 ビッ 卜のデータを保持す る S R A Mメモリセル、 1102はメモリセルを選択するためのワード線、 1103 はメモリセルの入出力ノードが接続された相補ビッ ト線ペア、 1104は Pチヤネ ル型 M0Sトランジス夕で構成されたカラムスィツチ、 1105は共通ビッ ト線べ ァである。
ァドレス信号が与えられるとメモリセルアレイの周辺に設けられているデ コーダ回路がそのァドレス信号をデコ一ドして、 各メモリプロック毎に 1本 のヮ一ド線 1102を選択レベルにするとともに、 1つのカラムスィツチ 1104を 導通状態にする。 これによつて、 1つのアドレスに対応して、 n個のメモリ ブロックから 1ビッ トずつ計 nビッ トのデータがそれそれの共通ビッ ト線ぺ ァ 1105より読み出される。
図 1を用いた説明では、 図 1 ( a )に示されている論理的な 1ビット data[ m *8+k]を格納するメモリセルアレイは、 レイァゥト的に同一のカラムに配置さ れるイメージで説明したが、 図 1 0の具体例に示されるように、 レイアウト 的に複数カラムで構成されていても良い。 また、 図 1 0では、 論理的な 1 ビッ ト data[ m*8+k] を格納するメモリセルアレイを 4つのカラムで構成した 例を示したが、 これに限定されるものではなく、 1カラムでも良いし、 2力 ラムあるいは 8カラム等任意のカラム数に構成可能である。
図 1 1は、 図 1のメモリセルアレイ 101と図 6の読出し用ビッ トシフト回路 600および図 9の書込み用ビッ トシフト回路 1300を組み合わせた回路のレイァ ゥトイメージを模式的に表わしたものである。 図 1 1において、 1200は双方 向性のビットシフ ト回路であり、 1201はそれそれ前述のビッ トシフ ト回路 600 および 1300を含んだ回路を表わしている。 本実施例から明らかなように、 双 方向性ビッ トシフ ト回路 1200は、 単位ビッ トシフ ト回路 1201を、 各グループ 100_0〜100_7のデ一夕を記憶するメモリセル群に対応して整然と並べること ができるため、 無駄スペースを少なくしてレイアウト効率を良くすることが できる。 図 1 2は、 図 8に示すビッ トシフ ト回路を、 冗長カラムを有する記憶装置 に適用した場合の実施例である。 1400は基本デ一夕長が 3 2ビッ 卜の場合の ビッ トシフ ト回路であり、 図 8の実施例と同様に、 トライステートイ ンバ一 夕 1404とインバ一夕 1402とで構成されており、 制御信号 C0、 Cl、 C2、 C3、 C4、 C5に よ っ て制御される 。 1403は ビ ッ ト data[3*8+k]、 data[2*8+k]、 data[l*8+k]、 data[0*8+k]を記憶するメモリセルアレイを模式的に表わした ものである。 1405はメモリセルアレイ 1403内に欠陥カラムがあった場合に用 いられる予備メモリセルからなる冗長カラムである。
1401はメモリセルアレイ 1403および冗長カラム 1405から相補ビッ ト線ペア を通じて出力されるデータを増幅するセンスアンプ回路群である。 1406〜 1409は冗長カラムの使用時と不使用時とでセンスアンプの出力をビッ トシフ ト回路 1400に伝達すべき信号経路を切り換える 2 to lセレクタであり、 冗長 制御信号 R C Sによって制御される。 各 2 to 1セレクタ 1406〜1409は図に示 されているように、 互いに隣接する 2つのビッ 卜の増幅信号のいずかを選択 してビッ トシフト回路 1400へ伝達するように構成されている。
例えば、 図 1 2に示されているビヅト data[3*8+k]を記憶するカラムに欠陥 があった場合、 data[3*8+k]のデータは冗長カラム 1405に記憶され、 セレクタ 1406は冗長カラムのセンスアンプの出力を選択してビッ トシフ ト回路 1400へ 伝達するように制御される。 このとき他のセレクタ 1407〜1409は、 本来のセ ンスアンプの出力を選択してビッ トシフ ト回路 1400へ伝達するように制御さ レる
また、 data[2*8+k] を記憶するカラムに欠陥があった場合、 data[2*8+k]の デ一夕は data[3*8+k]カラムに記憶され、 セレクタ 1406は冗長カラムのセンス アンプの出力を選択してビッ トシフ ト回路 1400へ、 またセレクタ 1407は data[3*8+k]カラムのセンスアンプの出力を選択してビッ トシフ ト回路 1400へ 伝達するように制御される。 このとき他のセレクタ 1408, 1409は、 本来のセ ンスアンプの出力を選択してビッ トシフ ト回路 1400へ伝達するように制御さ れる。
同様に して、 data[ l*8+k] を記憶するカラムに欠陥があった場合、 data[l*8+k]のデータは data[2*8+k]カラムに記憶され、 セレクタ 1406は冗長 カラムのセンスアンプの出力を選択してビッ トシフト回路 1400へ、 またセレ クタ 1407は data[3*8+k]カラムのセンスアンプの出力を選択してビッ トシフ ト 回路 1400へ、 セレクタ 1408は data[2*8+k]カラムのセンスアンプの出力を選択 してビッ トシフ ト回路 1400へ伝達するように制御される。 このとき他のセレ クタ 1409は、 本来のセンスアンプの出力を選択してビッ トシフ ト回路 1400へ 伝達するように制御される。
さらに、 data[0*8+k]を記憶するカラムに欠陥があった場合、 data[0*8+k] のデ一夕は data[ l*8+k]カラムに記憶され、 セレクタ 1406は冗長力ラムのセン スアンプの出力を選択してビッ トシフ ト回路 1400へ、 またセレクタ 1407は data[3*8+k]カラムのセンスアンプの出力を選択してビッ トシフト回路 1400へ、 セレクタ 1408は data[2*8+k]カラムのセンスアンプの出力を選択してビッ トシ フト回路 1400へ、 セレクタ 1409は data[l*8+k]カラムのセンスアンプの出力を 選択してビッ トシフト回路 1400へ伝達するように制御される。
図 1 2の実施例から明らかなように、 冗長カラムを有する記憶装置に本発 明を適用した場合でも、 本発明の利点は損なわれることが無い。 また、 本実 施例ではセンスアンプ回路群 1401の後にセレクタ 1406〜1409を配置した例を 示したが、 それに限定されるものではなく、 センスアンプ回路群 1401の前に セレクタ 1406〜1409を配置しても何ら支障はない。
<応用例 >
図 1 3は本発明に係る半導体記憶装置をキヤッシュメモリとして応用した システムの構成例を示すものである。 900は本発明を適用した S R A M (ス夕 ティック ·ランダム · アクセス 'メモリ) からなるキヤヅシュメモリ、 901は 中央演算処理装置 (C P U ) 、 902は浮動小数点演算処理装置 (F P U ) 、 904はキャッシュメモリ 900と C P U 901と F P U 902との間を接続するデ一夕 パスで、 これらによってマイクロコンビュー夕システム 903が構成される。 図示しないが、 上記データパス 904以外に、 C P U 901から出力されるアド レス信号をキヤッシュメモリ 900へ供給するためのァドレスバスが設けられる。 なお、 905、 906はキャッシュメモリ 900へ読出しデータ長を指示するための制 御信号 (いわゆるバイ トコ一ド) を供給するための配線である。 C P U 901が 例えば 3 2ビッ トのような基本デ一夕長でデ一夕を処理する場合、 読出しは バイ ト単位で行なわれても書込みは 3 2ビッ トのような固定長で行なわれる。 このシステムにおいて C P U 901がデータバス 904上に出力する 3 2ビッ ト のようなデ一夕のビッ ト配列は従来と同様にビッ ト 0、 ビット 1、 ビッ ト 2、 ビッ ト 3……ビッ ト 3 1のような一般的な順序である。 一方、 このような配 列のデ一夕が入力されるキヤッシュメモリ 900内には、 入力されたデータの ビッ ト配列を図 1 ( a )のような配列に並び換えるデ一夕ァライメント回路 910 が設けられている。 このデータァライメント回路 910は、 キャッシュメモリ 900からデータパス 904上へデ一夕を出力する際には、 本発明独特の図 1 ( a ) のようなビッ ト配列のデ一夕を一般的な順序の配列に並び換える。 図 1 5にデ一夕長が 3 2ビッ トの場合のビッ トの並び換えを行なうデ一夕 ァライメント回路 910の入出力信号の配列が示されている。 同図において、 上 側の信号 Mt31〜MtOがメモリアレイ側の信号、 下側の信号がデ一夕バス側の 信号で、 この図における符号 "bit" は図 1における符号 "data" と同義であ る。 なお、 データ長が 3 2ビッ トの場合に 1 6ビッ 卜の読出しや 8ビッ トの 読出しがあつたときもデータァライメント回路 910により有効ビッ ト部分に対 して同様なビットの並び換えが行なわれる。 このデータァライメント回路 910 によるビットの並び換えと前記ビッ トシフト回路 600等によるビッ トシフ トと を 1つの回路もしくは回路プロックで行なうように構成することも可能であ る。
また、 特に限定されるものでないが、 上記デ一夕ァライメント回路 910は、 3 2ビッ ト長のデ一夕を処理する C P U 901が、 制御信号線 905を介して 8 ビッ トや 1 6ビッ トのような単位でのデ一夕を要求する場合には、 メモリセ ルアレイから読み出された 8ビッ トや 1 6ビッ トのデータのビッ トの並び換 えを行なうとともに、 その上位 2 4ビッ トまたは 1 6ビッ トに 「 0」 を入れ たデータをデ一夕パス 904上へ出力する。
図 1 4は本発明に係る半導体記憶装置をメインメモリとして応用したシス テムの一実施例を示すものである。 1000は本発明を適用した D R A M (ダイナ ミック · ランダム ,アクセス ·メモリ)などからなるメインメモリ、 1001はマ イク口プロセッサ、 1003はメインメモリ 1000とマイクロプロセッサ 1001間を 接続するデータパス、 1004はメインメモリ 1000へ読み出しデータ長を指示す るための制御信号線、 1005はマイクロプロセッサ 1001から供給される一般的 な順序のビッ ト配列、 すなわち、 第 6ビッ トに隣接して第 1ビッ トが存在し、 さらに、 第 1 ビッ トに隣接して第 2ビッ トが存在するというふうに昇順に若 しくは降順にビッ ト配列を行ったデータを図 1 ( a )のような本発明独特の ビッ ト配列に並び換えたりメモリアレイから読み出されたデータのビッ ト配 列を上記と逆に一般的な順序に並び換えるデータァライメント回路で、 メイ ンメモリ 1000とマイクロプロセッサ 1001とデータバス 1003とデータァライメ ント回路 1005によってマイクロコンビユー夕システム 1004が構成される。
メインメモリ 1000とマイクロプロセッサ 1001は同一チップ上に集積されて いても良いし、 別チップとして構成されていても良い。 メインメモリ 1000と しては、 D R A Mの他、 S R A M、 あるいは強誘電体メモリ、 フラッシュメ モリ等のメモリを使用することも可能である。 図示しないが、 上記データバ ス 1003以外に、 マイクロプロセッサ 1001から出力されるァドレス信号をメイ ンメモリ 1000へ供給するためのァドレスバスが設けられる。
なお、 図 1 4の応用例では、 メインメモリ 1000とデ一夕パス 1003との間に デ一夕ァライメント回路 1005を設けているが、 パスの切換えやパス占有権の 決定等を行なうパスコントローラや、 物理アドレスと論理アドレスの変換や 仮想記憶制御等を行なうメモリ管理ュニッ トなどを有するシステムでは、 上 記データァライメント回路 1005の機能を上記バスコントローラやメモリ管理 ュニット等に持たせることも可能である。
また、 図 1 3の応用例で説明したのと同様に、 このデータァライメント回 路 1005に、 ビッ トの並び換えの機能と前記ビッ トシフ ト回路 600等によるビッ トシフ ト機能とを持たせるように構成することも可能である。 その場合にお いても、 デ一夕ァライメント回路 1005の機能や前述したビヅ トシフ ト機能を 上記バスコントロ一ラゃメモリ管理ュニット等に持たせることが可能である。 以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、 本発明は上記実施例に限定されるものではなく、 その要旨を逸脱しない範囲 で種々変更可能であることはいうまでもない。 例えば上述した実施例では、 理解を容易にするため、 3 2ビッ トを基本データ長とするデータ処理装置に 接続される記憶装置を中心として説明してきたが、 基本デ一夕サイズが 1 6 ビッ ト、 6 4ビッ ト、 1 2 8ビッ ト、 2 5 6ビッ ト、 5 1 2ビッ ト、 1 0 2 4ビッ トあるいは 2 0 4 8ビッ ト等多ビッ トのデータ処理装置に接続される 半導体記憶装置や複数の半導体メモリチップからなるメモリモジュールに本 発明を適用しても、 上記実施例と同様の効果が得られる。 また、 図 1 (a)には data[0*8+k]の隣に data[l*8+k]を配置するようにした実 施例が示されているが、 本発明はそのような配置に限定されるものではなく、 例えば data[0*8+k]の隣に data[2*8+k]が配置されても良いし、 data[0*8+k]の 隣に data[3*8+k]が配置されても良く、 異なるグループ同士でのビッ トの並び 方が同一であればグループ内でのビッ卜の並び方は任意である。
さらに、 図 1 (b)ではグループ 100一 7の隣にグループ 100_6、 その隣にグルー ブ 100_5……のように配置された実施例が示されているが、 本発明はそれに限 定されるものではなく、 例えばグループ 100一 7の隣にグループ 100_5が配置さ れても良いし、 グループ 100_7の隣にグループ 100_0が配置されても良い。 また、 前記応用システムの例では、 データバス上のデ一夕は一般的な順序 のビッ ト配列であると説明したが、 データバス上のデ一夕のビッ ト配列その ものが、 図 1 ( a )に示されているような本発明独特の配列であっても良い。 その場合、 データのビッ ト配列の変換は C P Uもしくはマイクロプロセッサ 側で行なつても良いが、 例えばパスの信号線をスクランブルさせて C P U側 では一般的な順序でもメモリ側では本発明独特の順序となるように構成して もよい。 あるいは、 C P Uのデータ端子とパスの信号線との接続もしくはメ モリのデータ端子とパスの信号線との接続を工夫することで、 C P Uが一般 的な順序のビッ ト配列のデ一夕を出力してもメモリ側では本発明に従つた ビッ ト配列のデ一夕として入力されるように構成しても良い。 発明の効果
本願において開示される発明のうち代表的なものによって得られる効果を 簡単に説明すれば下記の通りである。
すなわち、 パイ ト単位の読み出しを高速に行なうことができるとともに、 ビッ トシフ トを行なう回路を実現するための素子や配線も非常に少量で済む ため、 低消費電力で動作する記憶装置を得ることができる。 また、 ビッ トシ フトのための配線における並走する信号線の本数も少なくて済むため配線面 積が小さくかつクロストークが発生しにくい記憶装置を得ることができる。

Claims

請求の範囲
1 . 複数のメモリセルと、 該複数のメモリセルの中からアドレス信号に応じ たメモリセルを選択するためのヮード線と、 選択されたメモリセルの記憶情 報を読み出すためのビッ ト線とを含むメモリセルアレイを備え、 ァドレスパ スおよびデ一夕パスに接続される記憶装置であって、 上記メモリアレイに格 納されるデータのビッ ト配列が上記データパスのビッ ト配列と異なるように 構成されてなることを特徴とする記憶装置。
2 . 上記データパス上の互いに隣接するビッ ト信号線により伝達される情報 が、 所定のビッ ト数隔てたメモリセルに記憶されるように構成されてなるこ とを特徴とする請求項 1に記載の記憶装置。
3 . nビットを基本的な読み出しの単位とし、 論理的なビッ ト位置が 0*8+k、 l*8+k、 2*8+k、 3*8+k、 … m*8+k ( k、 mは 0 ^ k≤ 7 ; 0≤m≤ n/ 8 - 1なる自然数) であるビヅ ト情報がメモリセルアレイ内の互いに近接したメ モリセルに記憶されるように構成されてなることを特徴とする請求項 2に記 載の記憶装置。
4 . 有効ビッ ト数の異なるデータが読出し可能に構成された記憶装置であつ て、 有効ビッ ト数の小さなデ一夕を上記メモリセルアレイより読み出す際に ビッ ト位置を所定ビッ ト数だけずらすビッ トシフ ト手段を有することを特徴 とする請求項 2または 3に記載の記憶装置。
5 . 上記メモリセルアレイから読み出されたデータのビッ ト配列を、 上記 データパス上のデ一夕のビッ ト配列に並び換える順序変換手段を有すること を特徴とする請求項 1、 2、 3または 4に記載の記憶装置。
6 . 有効ビッ ト数の異なるデ一夕が書込み可能に構成された記憶装置であ て、 有効ビッ ト数の小さなデ一夕を上記メモリセルアレイへ格納する際に ビッ ト位置を所定ビッ ト数だけずらすビッ トシフ ト手段を有することをこと を特徴とする請求項 2、 3、 4または 5に記載の記憶装置。
7 . 上記メモリセルアレイへ格納するデータのビッ ト配列を、 上記デ一夕バ ス上のデータのビッ ト配列から所定の配列に並び換える逆順序変換手段を有 することを特徴とする請求項 1、 2、 3、 4、 5または 6に記載の記憶装置。
8 . 請求項 1、 2、 3、 4または 6に記載の記憶装置と、 該記憶装置への データの読出し要求を行なうデータ処理装置と、 上記記憶装置とデータ処理 装置とを接続するァドレスバスおよびデータパスと、 上記メモリセルアレイ から読み出されたデ一夕のビッ ト配列を上記デ一夕バス上のデータのビッ ト 配列に並び換える順序変換手段とを備えたことを特徴とするデータ処理シス テム。
9 . 請求項 1、 2または 3に記載の記憶装置と、 該記憶装置へのデータの読 出し要求を行なうデータ処理装置と、 上記記憶装置とデータ処理装置とを接 続するァドレスパスおよびデ一夕バスとを備えたデータ処理システムであつ て、 上記データ処理装置が上記メモリセルアレイから読み出されたデ一夕の ビッ ト配列を上記データパス上のデータのビッ ト配列に並び換える機能を有 することを特徴とするデータ処理システム。
1 0 . 請求項 1、 2または 3に記載の記憶装置と、 該記憶装置へのデ一夕の 読出し要求を行なうデータ処理装置と、 上記記憶装置とデータ処理装置とを 接続するアドレスバスおよびデ一夕バスと、 パス占有権の決定等を行なうバ スコントローラまたは論理ァドレスと物理ァドレスの変換等を行なうメモリ 管理ュニッ トとを備えたデータ処理システムであって、 上記バスコントロ一 ラまたはメモリ管理ュニッ 卜が上記メモリセルアレイから読み出されたデー 夕のビッ ト配列を上記データバス上のデータのビッ ト配列に並び換える機能 を有することを特徴とするデータ処理システム。
1 1 . アドレス入力端子群と、 データパスに接続されるデータ端子群と、 複数のメモリセルと、 該複数のメモリセルの中からァドレス信号に応じた メモリセルを選択するためのヮード線と、 選択されたメモリセルの記憶情報 を読み出すためのビッ ト線とを含むメモリセルアレイと、 - を備えた半導体記憶装置において、
上記データバス上の互いに隣接するビット信号線により伝達される情報を、 所定のビッ ト数隔てたメモリセルに記憶させることを特徴とする半導体記憶 装置のデータ記憶方法。
1 2 . nビッ トを基本的な読み出しの単位とする場合に、 論理的なビッ ト位 置が 0*8+k、 l*8+k、 2*8+k、 3*8+k、 … m*8+k ( k、 mは 0≤k≤ 7 ; 0≤ m≤n/ 8 - 1なる自然数) であるビッ ト情報をメモリセルアレイ内の互い に近接したメモリセルに記憶させるようにしたことを特徴とする請求項 1 1 に記載の半導体記憶装置のデータ記憶方法。
PCT/JP1999/002841 1999-05-28 1999-05-28 Stockage, procede de stockage et systeme de traitement de donnees WO2000074058A1 (fr)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527604A (ja) * 2005-01-18 2008-07-24 キモンダ アクチエンゲゼルシャフト 接近パッドオーダリングロジック

Families Citing this family (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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