WO2011161798A1 - 半導体記憶装置及び半導体記憶装置の制御方法 - Google Patents

半導体記憶装置及び半導体記憶装置の制御方法 Download PDF

Info

Publication number
WO2011161798A1
WO2011161798A1 PCT/JP2010/060763 JP2010060763W WO2011161798A1 WO 2011161798 A1 WO2011161798 A1 WO 2011161798A1 JP 2010060763 W JP2010060763 W JP 2010060763W WO 2011161798 A1 WO2011161798 A1 WO 2011161798A1
Authority
WO
WIPO (PCT)
Prior art keywords
word line
decoder
data
address
read
Prior art date
Application number
PCT/JP2010/060763
Other languages
English (en)
French (fr)
Inventor
森 敦司
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2010/060763 priority Critical patent/WO2011161798A1/ja
Publication of WO2011161798A1 publication Critical patent/WO2011161798A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction

Definitions

  • the present invention relates to a semiconductor memory device and a method for controlling the semiconductor memory device.
  • FIG. 1A is a diagram schematically showing the structure of a single port type bit cell used in SRAM (Static Random Access Memory), and FIG. 1B is a diagram showing in detail the structure of the bit cell of FIG. 1A.
  • SRAM Static Random Access Memory
  • the bit cell 10 includes a pair of negative circuits, inverters 11 and 12, and a pair of NMOS (N-type Metal Oxide Semiconductor) transistors 13 and 14.
  • NMOS N-type Metal Oxide Semiconductor
  • the inverters 11 and 12 are connected so as to form a loop.
  • the gates of the NMOS transistors 13 and 14 are both connected to a word line WL (Word Line), the drain of the NMOS transistor 13 is connected to a positive bit line BL, and the drain of the NMOS transistor 14 is a negative bit line. It is connected to BLB (BL bar).
  • the sources of the NMOS transistors 13 and 14 are connected to the connection portions N1 and N2 of the inverters 11 and 12 connected in a loop.
  • the inverter 11 includes a CMOS (Complementary Metal Oxide Semiconductor) having a PMOS (P-type Metal Metal Oxide Semiconductor) transistor 11A and an NMOS transistor 11B.
  • CMOS Complementary Metal Oxide Semiconductor
  • PMOS P-type Metal Metal Oxide Semiconductor
  • NMOS NMOS transistor
  • the inverter 12 is a CMOS type inverter having a PMOS transistor 12A and an NMOS transistor 12B. That is, the bit cell shown in FIGS. 1A and 1B includes six MOS transistors.
  • the input / output terminals of the MOS transistors 11A and 11B and the input / output terminals of the MOS transistors 12A and 12B are connected to cross each other, and the bit cell 10 is realized as a latch circuit including the inverters 11 and 12.
  • connection portion N1 between the drains of the MOS transistors 11A and 11B corresponds to the connection portion N1 shown in FIG. 1A and functions as the storage node N1.
  • connection portion N2 between the drains of the MOS transistors 12A and 12B corresponds to the connection portion N2 shown in FIG. 1A and functions as the storage node N2.
  • the storage By storing the complementary data of “1”, “0” or “0”, “1” in the storage nodes N1 and N2, and selecting the bit cell 10 by the word line WL and the pair of bit lines BL and BLB, the storage is performed. Data reading and writing of the nodes N1 and N2 are performed.
  • bit lines BL and BLB When data is read, when the pair of bit lines BL and BLB are set to H level and the word line WL is driven, one of the bit lines BL and BLB is set to L level by the storage node N1 or N2, and read data is obtained. Is output.
  • the word line WL is driven in a state where one of the pair of bit lines BL and BLB is at the H level and the other is at the L level, and writing is performed to the storage nodes N1 and N2.
  • the 6-transistor type bit cell 10 as shown in FIGS. 1A and 1B cannot simultaneously read and write data in one bit cell 10, and reading and writing are performed in different cycles.
  • FIG. 2 is a diagram showing a conventional 8-transistor type multi-port bit cell.
  • the multiport bit cell 20 shown in FIG. 2 includes two inverters.
  • the two inverters themselves are the same as the inverters 11 and 12 included in the single-port type bit cell 10 shown in FIG. 1A, and each includes two transistors (see FIG. 1B). The description is omitted.
  • the multi-port type bit cell 20 shown in FIG. 2 has two word lines, and includes a write word line WWL (Write Word Line) and a read word line RWL (Read Word Line). Also, there are two pairs of bit lines, a positive write bit line WBL (Write Bit Line), a negative write bit line WBLB (Write Bit Line Bar), and a positive read bit line RBL (Read Bit). Line) and a negative read bit line RBLB (Read Bit Line Bar).
  • NMOS transistors 21 and 22 are connected to the read word line RWL.
  • the drain of the NMOS transistor 21 is connected to the read bit line RBLB, and the source is connected to the storage node N1.
  • the drain of the NMOS transistor 22 is connected to the read bit line RBL, and the source is connected to the storage node N2.
  • NMOS transistors 23 and 24 are connected to the write word line WWL.
  • the drain of the NMOS transistor 23 is connected to the write bit line WBLB, and the source is connected to the storage node N1.
  • the drain of the NMOS transistor 24 is connected to the write bit line WBL, and the source is connected to the storage node N2.
  • the bit cell 20 When reading data, the bit cell 20 is selected by the read word line RWL and the read bit lines RBL and RBLB.
  • bit cell 20 When writing data, the bit cell 20 is selected by the write word line WWL and the write bit lines WBL and WBLB.
  • the bit cell 20 includes two pairs of transistors (21, 22, 23, 24) used for reading and writing, and uses separate word lines and bit lines for reading and writing, so that reading and writing can be performed simultaneously. .
  • reading and writing can be performed on the bit cell in the same cycle, reading and writing can be performed at the same time, so that the reading and writing process can be speeded up.
  • the size of the bit cell increases, which is unsuitable for downsizing (small area), high density, large capacity, or power saving of a semiconductor memory device. Further, as the area of the bit cell increases, the word line and the bit line become longer, so that it is difficult to improve the operating frequency of the semiconductor memory device, leading to a decrease in the read / write processing speed.
  • the capacitance between the wirings may be increased.
  • an object of the present invention is to provide a semiconductor memory device and a method for controlling the semiconductor memory device that can simultaneously perform reading and writing while using a bit cell that can be realized in a small area.
  • a semiconductor memory device includes a plurality of memory blocks each having a memory cell holding data and a first address decoded, and is included in the first memory block among the plurality of memory blocks
  • a first decoder that identifies a first memory cell
  • a second memory cell that decodes a second address and is included in a second memory block different from the first memory block among the plurality of memory blocks
  • a second decoder for identifying the data, reading of data held in the first memory cell identified by the first decoder, and writing of data to the second memory cell identified by the second decoder It has a read / write control unit that executes simultaneously.
  • FIG. 1 is a diagram illustrating an information processing apparatus including a semiconductor memory device according to a first embodiment. It is a figure which expands and shows the semiconductor memory device of FIG. 3A.
  • 3 is a diagram showing a part of SRAM 500 according to the first embodiment.
  • FIG. 3 is a diagram showing bit cells included in an SRAM 500.
  • FIG. 3 is an example of a circuit diagram of a word line driver 512A of the SRAM 500 according to the first embodiment.
  • FIG. 10 is a diagram showing a part of an SRAM 900 according to a second embodiment. 2 is a diagram showing bit cells included in an SRAM 900.
  • FIG. FIG. 12 is a circuit diagram of a word line driver 512A of the SRAM 900 according to the second embodiment. It is a circuit diagram of a write word line driver 912A.
  • 10 is a timing chart illustrating a data read operation and a write operation of the SRAM 900 according to the second embodiment.
  • FIG. 10 is a diagram showing a part of SRAM 1200 of a third embodiment. 3 is a diagram showing bit cells included in an SRAM 1200.
  • FIG. 22 is a circuit diagram of an A port word line driver 1512A of the SRAM 1200 according to the third embodiment.
  • FIG. 12 is a circuit diagram of a B port word line driver 1912A according to the third embodiment.
  • 14 is a timing chart illustrating a data read operation and a write operation of the SRAM 1200 according to the third embodiment.
  • FIG. 3A is a diagram illustrating an information processing apparatus including the semiconductor memory device of the first embodiment
  • FIG. 3B is an enlarged diagram illustrating the semiconductor memory device of FIG. 3A.
  • Embodiment 1 an embodiment in which the information processing apparatus is a server 100 will be described as an example.
  • the server 100 includes an LSI (Large Scale Integrated Circuit) 101, a main storage device 102, and an auxiliary storage device 103.
  • LSI Large Scale Integrated Circuit
  • main storage device 102 main storage device
  • auxiliary storage device 103 auxiliary storage device
  • the LSI 101 includes a processor core 111, an L1 (Level-1: primary) instruction cache 112, an L1 data cache 113, an L2 (Level-2: secondary) cache 114, and a memory controller 115.
  • the processor core 111 is, for example, a CPU (Central Processing Unit) core (Core), and is an arithmetic processing device that performs arithmetic processing of the server 100 as an information processing device.
  • the processor core 111, the L1 instruction cache 112, and the L1 data cache 113 may be integrated as a CPU.
  • the L1 instruction cache 112 is a primary instruction cache that temporarily stores a program necessary for arithmetic processing of the processor core 111.
  • an SRAM is used as the L1 instruction cache.
  • the L1 data cache 113 is a primary data cache that temporarily stores data necessary for the arithmetic processing by the processor core 111 or data generated by the arithmetic processing.
  • a mode in which the SRAM as the semiconductor memory device of the first embodiment is used for the L1 data cache 113 will be described. The detailed structure will be described later.
  • the L2 cache 114 is a lower cache than the L1 instruction cache 112 and the L1 data cache 113 in the sense that it is close to the main storage device 102 in the memory hierarchical structure. Typically, the L1 instruction cache 112 and the L1 data cache 113 are used. The processing speed is lower than that of the cache, but the cache has a large capacity.
  • the L2 cache 114 is realized by an SRAM, for example.
  • the memory controller 115 is a control device that performs control when the LSI 101 reads / writes data from / to the main storage device 102, and is realized by, for example, an LSI.
  • the main storage device 102 is, for example, a DRAM (Dynamic Random Access Memory) or a ROM (Read Only Memory), and the auxiliary storage device 103 is, for example, a hard disk.
  • DRAM Dynamic Random Access Memory
  • ROM Read Only Memory
  • the server 100 may include a data input / output interface that communicates with an external device.
  • the L1 data cache 113 includes a plurality of SRAMs 500A, 500B,.
  • the SRAMs 500A, 500B,..., 500X are connected in parallel to the processor core 111 and are selected by the processor core 111.
  • the SRAMs 500A, 500B,..., 500X are all the same, only the SRAM 500A will be described here.
  • the SRAMs 500A, 500B,..., 500X are described to explain that there are a plurality of SRAMs, but the number of SRAMs included in the L1 data cache 113 may be one, for example, two or more. The number of SRAMs may be arranged.
  • the SRAM 500A has a memory area divided into a plurality of sub-blocks (Sub Blocks) 510, and is divided into a hierarchy, and includes a decoder 520, an input / output port (I / O) 530, And a timer 540.
  • Sub Blocks sub-blocks
  • I / O input / output port
  • timer 540 timer
  • Each sub-block 510 has two sub-arrays 511A and 511B, word line drivers 512A and 512B, and a column selection / read / write circuit (Column Select / Read /) as shown on the right side of the SRAM 500A in FIG. 3B.
  • Write logic 513 is included.
  • All the subarrays 511A and 511B included in the SRAM 500A have the same structure, and bit cells as memory cells are arranged in an array, and the word line and the word line are based on the decoding result of the input address input to the decoder 520 by the decoder 520.
  • the bit line can be selected.
  • the input address is input to the decoder 520 from the processor core 111 (see FIG. 3A).
  • the input address includes a column address for specifying a column, a row address for specifying a row, and a subarray address for specifying a subarray.
  • the decoder 520 includes a column decoder that decodes a column address, a row decoder that decodes a row address, and a subarray decoder that decodes a subarray address.
  • the word line drivers 512A and 512B are provided corresponding to the sub arrays 511A and 511B, respectively, and are connected to the word lines included in the sub arrays 511A and 511B, respectively.
  • the word line drivers 512A and 512B perform row selection (word line selection) based on row selection data (row selection signal) output by the decoder 520 decoding and outputting a row address.
  • the column selection / read / write circuit 513 is provided corresponding to each sub-block 510, and is connected to the bit lines of the two sub-arrays 511A and 511B in each sub-block 510.
  • the column selection / read / write circuit 513 performs column selection (bit line selection) based on column selection data (column selection signal) output by the decoder 520 decoding the column address.
  • the column selection / read / write circuit 513 of the sub-block 510 in each hierarchy has switching circuits 515A and 515B, respectively.
  • the bit line in the column selection / read / write circuit 513 is connected to the global bit line 514 via the switching circuits 515A and 515B.
  • bit lines of the subarrays 511A and 511B included in all hierarchized subblocks 510 are connected by the global bitline 514 via the switching circuits 515A and 515B in the column selection / read / write circuit 513, respectively. .
  • the sub-block 510 of each hierarchy is hierarchized by the global bit line 514.
  • the switching circuits 515A and 515B connect the bit line connected to the memory cell from which data is read or written to the global bit line 514 based on the column selection data.
  • the column selection / read / write circuit 513 including the switching circuits 515A and 515B is a read / write control unit.
  • SRAMs 500A, 500B,..., 500X will be referred to as SRAM 500 unless otherwise distinguished.
  • FIG. 4A is a diagram illustrating a part of the SRAM 500 according to the first embodiment
  • FIG. 4B is a diagram illustrating a bit cell included in the SRAM 500.
  • a part of the SRAM 500 shown in FIG. 4A corresponds to one sub-block 510 shown in FIG. 3B, and includes sub-arrays 511A and 511B, word line drivers 512A and 512B, a column selection / read / write circuit 513, a global bit line 514, and This is a part corresponding to the decoder 520.
  • the SRAM 500 reads and writes data by a read command and a write command input from the processor core 111 (see FIG. 3A).
  • the read command includes an input address that identifies a bit cell in any of the sub-arrays 510 and a write enable signal WE (L level).
  • the write command includes an input address that specifies a bit cell in any of the subarrays 510 and a write enable signal WE (H level).
  • the read command and the write command are commands requested from the processor core 111 (see FIG. 3A).
  • row selection, subarray selection, and column selection are performed based on an input address included in a read command or a write command. For example, a column address for selecting a column is specified for the lower few bits of the input address, a subarray address for selecting a subarray is specified for the next few bits, and a row address for selecting a row is specified for the uppermost several bits. You can specify.
  • Each of the subarrays 511A and 511B includes bit cells 601 as a plurality of memory cells arranged in an array.
  • the sub-array 511A (Sub Array 0) includes four word lines WL00 to WL03 and four pairs of bit lines BL00 and BLB (BL bars) 00 to BL03 and BLB03.
  • the word lines WL00 to WL03 are respectively connected to the word line driver 512A, and the bit lines BL00, BLB00 to BL03 and BLB03 are respectively connected to the column selection / read / write circuit 513.
  • the sub-array 511B (Sub Array 1) includes four word lines WL10 to WL13 and four pairs of bit lines BL10, BLB10 to BL13, BLB13.
  • the word lines WL10 to WL13 are respectively connected to the word line driver 512B, and the bit lines BL10, BLB10 to BL13, and BLB13 are respectively connected to the column selection / read / write circuit 513.
  • Each bit cell 601 is disposed at the intersection of a word line and a bit line pair.
  • the decoder 520 includes a row decoder 611, a subarray decoder 612, a column decoder 613, a row decoder 621, a subarray decoder 622, and a column decoder 623.
  • the row decoder 611, the subarray decoder 612, and the column decoder 613 are read decoders, and the row decoder 621, the subarray decoder 622, and the column decoder 623 are write decoders.
  • row decoder 611, the subarray decoder 612, the column decoder 613, the row decoder 621, the subarray decoder 622, and the column decoder 623 are provided one by one for one SRAM.
  • the row decoder 611 and the subarray decoder 612 are connected to the word line drivers 512A and 512B via signal lines. Actually, since the sub-block 510 is hierarchized (see FIG. 3B), the row decoder 611 and the sub-array decoder 612 are connected to the word line drivers 512A and 512B of all the sub-blocks 510.
  • the column decoder 613 is connected to the column selection / read / write circuit 513 through a signal line. Actually, since the sub-block 510 is hierarchized (see FIG. 3B), the column decoder 613 is connected to the column selection / read / write circuits 513 of all the sub-blocks 510.
  • the row decoder 621 and the subarray decoder 622 are connected to the word line drivers 512A and 512B through signal lines. Actually, since the sub-block 510 is hierarchized (see FIG. 3B), the row decoder 621 and the sub-array decoder 622 are connected to the word line drivers 512A and 512B of all the sub-blocks 510.
  • the column decoder 623 is connected to the column selection / read / write circuit 513 through a signal line. Actually, since the sub-block 510 is hierarchized (see FIG. 3B), the column decoder 623 is connected to the column selection / read / write circuit 513 of all the sub-blocks 510.
  • the column selection / read / write circuit 513 may be any circuit that can select the bit lines BL and BLB, switch read / write, and transfer read / write data.
  • the selection of the bit lines BL and BLB is performed based on the column selection data transmitted from the column decoders 613 and 623.
  • the column selection / read / write circuit 513 receives the column selection data from the column decoder 613 and selects a pair of bit lines BL and BLB having the same line number.
  • the column selection / read / write circuit 513 receives column selection data from the column decoder 623 to write data, it selects a pair of bit lines BL and BLB having the same line number.
  • the column selection / read / write circuit 513 is connected to a global bit line 514 for transmitting read data or write data to / from an input / output port (I / O) 530 (see FIG. 3B).
  • the global bit line 514 is a line for transmitting data read through the bit lines BL and BLB and a line for transmitting data to be written through the bit lines BL and BLB.
  • the bit line selection circuit includes four pairs of bits included in each of the two subarrays 511A and 511B based on the column selection data transmitted from the column decoders 613 and 623.
  • the lines BL00, BLB00 to BL03, BLB03, BL10, BLB10 to BL13, and BLB13 can be selected, their formats are not limited.
  • a circuit that transfers read data and write data can switch between read processing and write processing in accordance with the signal level of the write enable signal WE, and the input / output port 530 (FIG.
  • the format is not limited.
  • the row decoder 611 performs row selection using row selection data R_ROW included in the input address of the read command.
  • the row selection data R_ROW is input to the word line drivers 512A and 512B, and any one of the word lines WL00 to WL03 and WL10 to WL13 is selected.
  • FIG. 4A shows two subarrays 511A and 511B. However, since there are actually many subarrays, row selection by the row decoder 611 is performed from among all the subarrays.
  • the subarray decoder 612 performs row selection using the subarray selection data R_SAS included in the input address of the read command.
  • the subarray selection data R_SAS is input to the word line drivers 512A and 512B, and the subarray 511A or 511B is selected.
  • FIG. 4A shows two subarrays 511A and 511B, since there are actually many subarrays, subarray selection by the subarray decoder 612 is performed from among all the subarrays.
  • the column decoder 613 performs column selection using the column selection data R_COL included in the input address of the read command.
  • the column selection data R_COL is input to the column selection / read / write circuit 513, and any one of the bit lines BL00 to BL03, BLB00 to BLB03, BL10 to BL13, BLB10 to BLB13 is selected as a pair.
  • FIG. 4A shows two subarrays 511A and 511B, since there are actually many subarrays, column selection by the column decoder 613 is performed from among all the subarrays.
  • row selection, subarray selection, and column selection are for data reading, but row selection, subarray selection, and column selection for data writing are performed in the same manner.
  • the row selection data W_ROW, the subarray selection data W_SAS, and the column selection data W_COL (Write COColumn) included in the input address of the write command are used to write the row decoder 621, the subarray decoder 622, and the column decoder. Each selection is performed by 623.
  • bit cell 601 used in the SRAM 500 of the first embodiment will be described.
  • the bit cell 601 used in the SRAM 500 of the first embodiment is a 6-transistor type bit cell.
  • the bit cell 601 includes a pair of inverters 602 and 603 and a pair of NMOS transistors 604 and 605.
  • the inverters 602 and 603 are connected so as to form a loop.
  • the gates of the NMOS transistors 604 and 605 are both connected to the word line WL, the drain of the NMOS transistor 604 is connected to the bit line BL, and the drain of the NMOS transistor 605 is connected to the bit line BLB.
  • the sources of the NMOS transistors 604 and 605 are connected to the connection portions N1 and N2 of the inverters 602 and 603 connected in a loop, respectively.
  • the connection units N1 and N2 function as storage nodes that store 1-bit information.
  • Both inverters 602 and 603 are CMOS type inverters having PMOS transistors and NMOS transistors, and have the same structure as the conventional bit cell inverters 11 and 12 shown in FIG. 1B.
  • bit cell 601 used in the SRAM 500 of the first embodiment is the same as the conventional 6-transistor type bit cell 10 shown in FIG. Therefore, the description of the operation of the bit cell 601 is omitted.
  • connection between the source and drain of the MOS transistor 604 included in the bit cell 601 may be reversed.
  • connection between the source and drain of the MOS transistor 605 may be reversed.
  • the circuits of the word line drivers 512A and 512B will be described with reference to FIG. As described above, since the word line drivers 512A and 512B have the same structure, the word line driver 512A connected to the subarray 511A illustrated in FIG. 4A will be described here.
  • FIG. 5 is an example of a circuit diagram of the word line driver 512A of the SRAM 500 according to the first embodiment.
  • the word line driver 512A is a circuit that selects a word line when data is read or written to any bit cell 601 in the subarray 511.
  • word lines WL00 to WL03 are connected to the word line driver 512A.
  • the row selection data R_ROW for reading, the subarray selection data R_SAS for reading, the row selection data W_ROW for writing, and the subarray selection data W_SAS for writing are input to the word line driver 512A.
  • row selection data R_ROW and W_ROW are given line numbers 00 to 03 to distinguish data for selecting each word line.
  • the word line driver 512A is divided into a read circuit and a write circuit.
  • NMOS transistors 700R and 700W are connected to signal lines to which row selection data R_ROW00 and W_ROW00 are input, respectively.
  • the source of the NMOS transistor 700R is connected to the drain of the NMOS transistor 750R.
  • the source of the NMOS transistor 700W is connected to the drain of the NMOS transistor 750W.
  • the sub-array selection data R_SAS for reading is input to the gate of the NMOS transistor 750R, and the source is grounded.
  • the sub-array selection data W_SAS for writing is input to the gate of the NMOS transistor 750W, and the source is grounded.
  • the drains of the NMOS transistors 700R and 700W are both connected to the input terminal of the inverter 702 and to the drain of the PMOS transistor 701W.
  • the source of the PMOS transistor 701W is connected to the drain of the PMOS transistor 701R, and the source of the PMOS transistor 701R is connected to a power supply having a predetermined voltage.
  • the sub-array selection data R_SAS for reading and the sub-array selection data W_SAS for writing are input to the gates of the PMOS transistors 701R and 701W, respectively.
  • the output terminal of the inverter 702 is connected to the word line WL00.
  • the word line driver 512A includes the same circuit as the word line WL00 for the word lines WL01, WL02, and WL03.
  • the NMOS transistors 750R and 750W are common to the word lines WL00 to WL03.
  • the word line driver 512A includes NMOS transistors 710R and 710W, PMOS transistors 711R and 711W, and an inverter 712 for the word line WL01.
  • the word line WL02 including NMOS transistors 720R, 720W, PMOS transistors 721R, 721W, and an inverter 722.
  • the word line WL03 including NMOS transistors 730R, 730w, PMOS transistors 731R, 731W, and an inverter 732.
  • the NMOS transistors 750R and 750W are common to the word lines WL00 to WL03.
  • the read subarray selection data R_SAS shown in FIG. 5 is at the H level
  • the read row selection data R_ROW00 is at the H level.
  • the PMOS transistor 701R When the read subarray selection data R_SAS becomes H level, the PMOS transistor 701R is turned off and the NMOS transistor 750R is turned on. Further, when the row selection data R_ROW00 for reading becomes H level, the NMOS transistor 700R is turned on.
  • the L level is input to the inverter 702 through the NMOS transistors 750R and 700R, and the L level is inverted by the inverter 702 and the H level is output. As a result, the word line WL00 becomes H level.
  • the operation when the word line WL00 of the subarray 511A is selected when data is written will be described.
  • the subarray selection data W_SAS for writing shown in FIG. 5 becomes H level
  • the row selection data W_ROW00 for writing becomes H level.
  • the PMOS transistor 701W When the subarray selection data W_SAS for writing becomes H level, the PMOS transistor 701W is turned off and the NMOS transistor 750W is turned on. Further, when the row selection data W_ROW00 for writing becomes H level, the NMOS transistor 700W is turned on.
  • the L level is input to the inverter 702 through the NMOS transistors 750W and 700W, and the L level is inverted by the inverter 702 and the H level is output. As a result, the word line WL00 becomes H level.
  • the word line driver 512A includes circuits having the same structure for the word lines WL01, WL02, and WL03, the operations at the time of reading and writing are performed on the word line WL00. Is the same as For this reason, the description of the operations on the word lines WL01, WL02, WL03 is omitted.
  • the word line driver 512A when reading data, can set the word line WL selected by the read sub-array selection data R_SAS and the read row selection data R_ROW to the H level. In addition, when writing data, the word line driver 512A can set the word line WL selected by the write sub-array selection data W_SAS and the write row selection data W_ROW to the H level.
  • the word line driver 512A reads or writes data based on the read subarray selection data R_SAS, the read row selection data R_ROW, the write subarray selection data W_SAS, and the write row selection data W_ROW. At this time, any word line WL can be set to the H level.
  • the circuit of the word line driver 512B has the same circuit configuration and operation as the word line driver 512A, except that the line number of the input selection signal is different from the line number of the connected word line. is there.
  • the circuits of the word line drivers 512A and 512B provided in each sub block 510 are all the same. For this reason, descriptions of the word line driver 512B and the word line drivers 512A and 512B included in other sub-blocks 510 are omitted.
  • FIG. 6 is a timing chart showing a data read operation and a write operation of the SRAM 500 according to the first embodiment.
  • FIG. 6A shows a read operation
  • FIG. 6B shows a write operation
  • read commands are input to the read row decoder 611, subarray decoder 612, and column decoder 613 shown in FIG. 6 in every cycle, and the operation related to the subarray 511A will be described. .
  • write commands are input to the write row decoder 621, subarray decoder 622, and column decoder 623 in all cycles, and the operation related to the subarray 511B will be described.
  • 6A shows an input address (Read Address) indicating a read destination of a read command, row selection data R_ROW00 to R_ROW03, subarray selection data R_SAS0, signal levels of word lines WL00 to WL03 (WL00 to WL03), and bit line BL00.
  • the signal levels of BL03 to BL03 (BL00 to BL03), column selection data R_COL00 to R_COL03, and read data (Read Data) are shown.
  • all the signals shown in FIG. 6A are signals input to the word line driver 512A.
  • the row selection data W_ROW, the subarray selection data W_SAS, and the column selection data W_COL are input to the word line driver 512A from the row decoder 621, the subarray decoder 622, and the column decoder 623, which are write decoders. There is also. However, here, since a read operation is illustrated in FIG. 6A, signals related to the write operation are omitted.
  • FIG. 6B shows an input address (Write Address) indicating a write destination of a write command, row selection data W_ROW10 to W_ROW13, subarray selection data W_SAS1, word line WL10 to WL13 signal levels (WL10 to WL13), column selection data.
  • W_COL10 ⁇ W_COL13 signal level (BL10 ⁇ BL13) bit lines BL10 ⁇ BL13, indicating a write data (write data).
  • all the signals shown in FIG. 6B are signals input to the word line driver 512B.
  • row selection data R_ROW, subarray selection data R_SAS, and column selection data R_COL are input to the word line driver 512B from the row decoder 611, the subarray decoder 612, and the column decoder 613, which are read decoders. There is also. However, here, since a write operation is illustrated in FIG. 6B, signals relating to the read operation are omitted.
  • the read row selection data R_ROW00 to R_ROW03 shown in FIG. 6A are row selection data for selecting the word lines WL00 to WL03, respectively. Further, the row selection data R_ROW10 to R_ROW13 for reading shown in FIG. 6B are row selection data for selecting the word lines WL10 to WL13, respectively.
  • subarray selection data R_SAS0 shown in FIG. 6A is subarray selection data for selecting the subarray 511A (Sub Array 0) for reading, and the subarray selection data W_SAS1 shown in FIG. Therefore, sub-array selection data for selecting the sub-array 511B (Sub (Array 1).
  • the column selection data for reading R_COL00 to R_COL03 shown in FIG. 6A are column selection data for selecting a pair of bit lines BL00, BLB00 to BL03, and BLB03, respectively.
  • the column selection data W_COL10 to W_COL13 for writing shown in FIG. 6B are column selection data for selecting pairs of bit lines BL10, BLB10 to BL13, and BLB13, respectively.
  • the clock is as shown at the top of FIG. 6 (A) and indicates cycles 1 to 4.
  • the clock is common in FIGS. 6A and 6B.
  • the row selection data R_ROW03, the subarray selection data R_SAS0, and the column selection data R_COL03 are set to the H level by the input address (Read Address) indicating the read destination of the read command. .
  • the subarray selection data R_SAS0 becomes H level
  • the subarray 511A (see FIG. 4A) is selected for reading.
  • the row selection data R_ROW03 becomes H level
  • the signal level of the word line WL03 becomes H.
  • the column selection data R_COL03 becomes H level
  • the bit lines BL03 and BLB03 are selected.
  • cycle 3 in addition to data being read by performing selection similar to cycle 1 for bit cell 601 of subarray 511A, data is written to bitcell 601 of subarray 511B. Is called. Data read from the bit cell 601 of the subarray 511A in cycle 3 is the same as the read operation in cycle 1, and will be omitted, and the write operation to the bit cell 601 of the subarray 511B will be described.
  • the row selection data W_ROW13, the sub-array selection data W_SAS1, and the column selection data W_COL13 are set to the H level by the input address (Write Address) indicating the write destination of the write command.
  • the subarray selection data W_SAS1 becomes H level
  • the subarray 511B (see FIG. 4A) is selected for writing.
  • the row selection data W_ROW13 becomes H level
  • the signal level of the word line WL13 becomes H.
  • the column selection data W_COL13 becomes H level
  • the bit lines BL13 and BLB13 are selected.
  • write data WD (Write Data) 1 is written to the storage nodes N1 and N2 of the bit cell 601 (see FIG. 4A) at the intersection of the word line WL13 and the bit lines BL13 and BLB13.
  • reading to the subarray 511A and writing to the subarray 511B can be performed simultaneously.
  • FIG. 6A shows an operation example of reading data from the bit cell 601 (see FIG. 4A) specified by the word line 03 and the bit lines BL03 and BLB03 in the subarray 511A. Therefore, the signal levels of the row selection data R_ROW00, R_ROW01, and R_ROW02 and the signal levels of the word lines WL00, WL01, and WL02 are at the L level through cycles 1 to 4. Similarly, the signal levels of the column selection data R_COL00, R_COL01, and R_COL02 are L level throughout cycles 1 to 4. The signal levels of the bit lines BL00, BL01, BL02 are at the H level throughout the cycles 1 to 4.
  • FIG. 6B shows an operation example in which data is written to the bit cell 601 (see FIG. 4A) specified by the word line 13 and the bit lines BL13 and BLB13 in the subarray 511B.
  • the signal levels of the row selection data R_ROW10, R_ROW11, R_ROW12 and the signal levels of the word lines WL10, WL11, WL12 are at the L level through cycles 1 to 4.
  • the column selection data R_COL10, R_COL11, the signal level of R_COL12 is L level throughout the cycle 1-4.
  • the signal levels of the bit lines BL10, BL11, BL12 are at the H level throughout the cycles 1 to 4.
  • bit cell 601 at the intersection of the word line WL03 and the bit lines BL03 and BLB03 of the subarray 511A and the bit cell 601 at the intersection of the wordline WL13 and the bitlines BL13 and BLB13 of the subarray 511B are selected and read / written.
  • An example of an operation for simultaneously performing the above has been described.
  • the selection of the bit cell 601 in the subarrays 511A and 511B can be performed in any combination.
  • the subarrays 511A and 511B have the same structure, writing to the subarray 511A can be performed simultaneously with reading from the subarray 511B.
  • the row decoder 621, the subarray decoder 622, and the column decoder 623, which are write decoders write to the subarray 511A, and the row decoder 611, the subarray decoder 612, and the column decoder 613, which are read decoders.
  • reading from the subarray 511B may be performed.
  • reading and writing can be performed simultaneously in a semiconductor memory device including a bit cell having a pair of transistors used for reading and writing, such as a 6-transistor type bit cell. It is possible to achieve both speed improvement and downsizing. For this reason, it is possible to achieve downsizing (small area), high density, large capacity, or power saving while ensuring the speed of read / write processing of the semiconductor memory device.
  • the downsizing of the bit cell can shorten the word line and the bit line as compared with a semiconductor memory device including a bit cell having a large number of transistors, such as an 8-transistor type bit cell, so that the operating frequency of the semiconductor memory device can be improved.
  • the speed of read / write processing can be improved.
  • a semiconductor memory device including a bit cell having two pairs of transistors used for reading and writing, such as a conventional 8-transistor type bit cell
  • separate bit lines are provided for reading and writing, and a word line is also read. It was necessary to provide separate for writing and writing.
  • the word line can be shared for reading and writing
  • the bit line can be shared for reading and writing. It is suitable for high density, large capacity, or power saving.
  • the size can be reduced without reducing the wiring interval between the bit lines or the word lines. It does not occur, and the decrease in the read / write processing speed can be suppressed.
  • the semiconductor memory device of the first embodiment can improve the speed of the read / write processing also by hierarchizing the memory area using the global bit line.
  • the number of transistors included in the bit cell as the memory cell is not limited to six. As long as a pair of transistors is sufficient for reading and writing signals and a pair of bit lines is sufficient, the memory cell can be used instead of the bit cell 601 (see FIG. 4B), and the semiconductor memory device can be reduced in size and density. Thus, a large capacity or power saving can be realized in the same manner.
  • the memory area of the SRAM 500 described above is divided into sub-blocks 510, and the sub-block 510 includes two sub-arrays 511.
  • the sub-block 510 and the sub-array 511 are merely examples of how to divide the memory area. Since the semiconductor memory device in Embodiment 1 can read data from one area and write data to the other area as long as the memory area is divided into two or more areas, various divisions are possible.
  • the present invention can be applied to a semiconductor memory device having the above method.
  • the SRAM 500 that is the semiconductor memory device of the first embodiment is used as the L1 data cache 113 of the LSI 101.
  • the SRAM 500 is also used as a cache memory such as an L2 cache memory other than the L1 data cache 113. It can also be used as a type of storage device other than a cache memory.
  • the SRAM 500 that is the semiconductor storage device according to the first embodiment is applied to the server 100 as the information processing apparatus.
  • the information processing apparatus is not limited to the server, and may be a personal computer, a tablet computer, or the like.
  • the present invention can be applied to various information processing apparatuses.
  • the semiconductor memory device of the second embodiment includes two word lines for one bit cell, and only one word line is selected at the time of data reading, in comparison with the semiconductor memory device (SRAM 500) of the first embodiment. Different. By increasing the number of word lines to two, the connection of bit cells and the circuit of the word line driver are different from those of the first embodiment, but the others are the same as the semiconductor memory device of the first embodiment. For this reason, the same code
  • FIG. 7A is a diagram illustrating a part of the SRAM 900 according to the second embodiment
  • FIG. 7B is a diagram illustrating a bit cell included in the SRAM 900.
  • a part of the SRAM 900 shown in FIG. 7A corresponds to one sub-block 510 of the SRAM 500 of the first embodiment.
  • the SRAM 900 of the second embodiment includes two word lines for each bit cell, and activates two word lines when writing data, and activates one word line when reading data.
  • the SRAM 900 of the second embodiment includes write word lines WWL00 to WWL03 and WWL10 to WWL13 in addition to the word lines WL00 to WL03 and WL10 to WL13.
  • write word line drivers 912A and 912B for driving the write word lines WWL00 to WWL03 and WWL10 to WWL13 are included.
  • the word line drivers 512A and 512B activate only the word lines WL00 to WL03 and WL10 to WL13, and read the data of one storage node of the bit cell.
  • the word line drivers 512A and 512B activate the word lines WL00 to WL03 and WL10 to WL13
  • the write word line drivers 912A and 912B activate the write word lines WWL00 to WWL03 and WWL10 to WWL13. Activate.
  • decoder 520 the connection relationship between word line drivers 512A and 512B and row decoder 611, subarray decoder 612, column decoder 613, row decoder 621, subarray decoder 622, and column decoder 623 is the same as that in the first embodiment. is there.
  • the row decoder 621 and the subarray decoder 622 are different from the first embodiment in that they are also connected to the write word line drivers 912A and 912B.
  • the row decoder 621 and the sub-array decoder 622 are connected to the word line drivers 512A and 512B of all the sub-blocks 510, and for writing.
  • the word line drivers 912A and 912B are connected.
  • the method of selecting a word line is different from that in the first embodiment at the time of reading and at the time of writing, the method of selecting a bit line is also different from that of the first embodiment.
  • This is realized by the column selection / read / write circuit 913.
  • the column selection / read / write circuit 913 will be described later.
  • bit cell 901 used in the SRAM 900 of the second embodiment will be described.
  • the bit cell 901 is different from the bit cell 601 of the first embodiment in that the gate of the NMOS transistor 605 connected to the bit line BLB is connected to the write word line WWL.
  • both the word line WL and the write word line WWL are set to the H level, the bit lines BL and BLB are selected, and the data is written to the storage nodes N1 and N2 of the bit cell 901.
  • the SRAM 900 of the second embodiment is different from the SRAM 500 of the first embodiment in that only the NMOS transistor 604 of the bit cell 901 is turned on when reading data.
  • the SRAM 900 of the second embodiment performs row selection, subarray selection, and column selection by the row decoder 611, the subarray decoder 612, and the column decoder 613 when reading data.
  • the row decoder 611 performs row selection using row selection data R_ROW included in the input address of the read command.
  • the row selection data R_ROW is input to the word line drivers 512A and 512B, and any one of the word lines WL00 to WL03 and WL10 to WL13 is selected.
  • FIG. 7A shows two subarrays 511A and 511B, since there are actually many subarrays, row selection by the row decoder 611 is performed from among all the subarrays.
  • the subarray decoder 612 performs row selection using subarray selection data R_SAS (Read Sub Array Select) included in the input address of the read command.
  • the subarray selection data R_SAS is input to the word line drivers 512A and 512B, and the subarray 511A or 511B is selected.
  • FIG. 7A shows two subarrays 511A and 511B, since there are actually many subarrays, subarray selection by the subarray decoder 612 is performed from among all the subarrays.
  • the column decoder 613 performs column selection using column selection data R_COL (Read COColumn) included in the input address of the read command.
  • the column selection data R_COL is input to the column selection / read / write circuit 913, and any one of the bit lines BL00 to BL03 and BL10 to BL13 is selected.
  • FIG. 7A shows two subarrays 511A and 511B, since there are actually many subarrays, column selection by the column decoder 613 is performed from among all the subarrays.
  • the row decoder 621 performs a row selection using row selection data W_ROW (Write ROW) included in the input address of the write instruction.
  • the row selection data W_ROW is input to the word line drivers 512A and 512B and the write word line drivers 912A and 912B.
  • W_ROW is selected in pairs.
  • WL00 to WL03 and WWL00 to WWL03 have line numbers (00 to 03). The same thing is selected as a pair. This also applies to the subarray 511B, and the same applies to other subarrays not shown in FIG. 7A.
  • the subarray decoder 622 performs row selection using the subarray selection data W_SAS included in the input address of the write command.
  • the subarray selection data W_SAS is input to the word line drivers 512A and 512B and the write wordline drivers 912A and 912B, and the subarray 511A or 511B is selected when data is written.
  • FIG. 7A shows two subarrays 511A and 511B. However, since there are actually many subarrays, selection of the subarray by the subarray decoder 622 is performed from among all the subarrays.
  • the column decoder 623 performs column selection using the column selection data W_COL included in the input address of the write command.
  • the column selection data W_COL is input to the column selection / read / write circuit 913, and any one of the bit lines BL00 to BL03, BLB00 to BLB03, BL10 to BL13, and BLB10 to BLB13 is selected.
  • FIG. 7A Although only two subarrays 511A and 511B are shown in FIG. 7A, there are actually a large number of subarrays, and column selection by the column decoder 623 is performed from among all the subarrays.
  • the column selection / read / write circuit 913 may be any circuit that can select the bit lines BL and BLB, switch read / write, and transfer read / write data.
  • the selection of the bit lines BL and BLB is performed based on the column selection data transmitted from the column decoders 613 and 623.
  • Column select / write circuit 913 to read the data, when receiving the column selection data from the column decoder 613 selects a bit line BL.
  • the column selection / read / write circuit 913 selects the bit lines BL and BLB in order to write data.
  • the column selection / read / write circuit 913 is connected to a global bit line 514 for transmitting read data to an input / output port (I / O) 530 (see FIG. 3B).
  • the global bit line 514 is a line for outputting data read through the bit line BL.
  • the bit line selection circuit is based on the column selection data transmitted from the column decoders 613 and 623, and the bit lines BL00 and BLB00 to BL03 included in the subarrays 511A and 511B.
  • BLB03, BL10, BLB10 to BL13, and BLB13 can be selected in any format.
  • a circuit for transferring read data and write data can switch between read processing and write processing in accordance with the signal level of the write enable signal WE, and the input / output port 530 (FIG. between the global bit line 514 connected to 3B reference), if the circuit that can transfer data, no limitation on the form.
  • the word line driver 512A, and 512B, the write word line driver 912A, the circuit 912B will be described.
  • the word line driver 512A, 512B is, since it has the same structure, here, a description is given of the word line drivers 512A. Since the write word line drivers 912A and 912B have the same structure, only the write word line driver 912A will be described here.
  • FIG. 8A is a circuit diagram of the word line driver 512A of the SRAM 900 according to the second embodiment, and FIG. 8B is a circuit diagram of the write word line driver 912A.
  • the circuit of the word line driver 512A shown in FIG. 8A is the same as the word line driver 512A (see FIG. 5) of the first embodiment.
  • the word line driver 512A selects the word lines WL00 to WL03 based on the row selection data R_ROW for reading, the subarray selection data R_SAS for reading, the row selection data W_ROW for writing, and the subarray selection data W_SAS for writing.
  • the gate of the NMOS transistor 1000W is connected to the signal line to which the row selection data W_ROW00 of the write word line driver 912A is input.
  • the source of the NMOS transistor 1000W is connected to the drain of the NMOS transistor 1050W.
  • the gate of the NMOS transistor 1050W is subarray selection data W_SAS for writing is input, the source is grounded.
  • the drain of the NMOS transistor 1000W is connected to the inverter 1002 and also to the drain of the PMOS transistor 1001W.
  • the source of the PMOS transistor 1001W is connected to a power supply having a predetermined voltage.
  • the gate of the PMOS transistor 1001W is connected so that the subarray selection data W_SAS for writing is input.
  • the output side of the inverter 1002 is connected to the write word line WWL00.
  • the write word line driver 912A includes the same circuit as the write word line WWL00 for the write word lines WWL01, WWL02, and WWL03.
  • the NMOS transistor 1050W is common to the write word lines WWL00 to WWL03.
  • the write word line driver 912A includes an NMOS transistor 1010W, a PMOS transistor 1011W, and an inverter 1012 for the write word line WWL01.
  • the write word line WWL02 includes an NMOS transistor 1020W, a PMOS transistor 1021W, and an inverter 1022.
  • the write word line WWL03 includes an NMOS transistor 1030W, a PMOS transistor 1031W, and an inverter 1032.
  • the NMOS transistor 1050W is common to the write word lines WWL00 to WWL03.
  • the write sub-array selection data W_SAS shown in FIG. 8B is at H level
  • the write row selection data W_ROW00 is at H level
  • the PMOS transistor 1001W is turned off and the NMOS transistor 1050W is turned on.
  • the write row selection data W_ROW00 becomes H level, the NMOS transistor 1000W is turned on.
  • the input of the inverter 1002 becomes L level through the NMOS transistors 1050W and 1000W, and this L level is inverted by the inverter 1002 and the H level is output.
  • the write word line WWL00 becomes H level.
  • the word line WL00 shown in FIG. 8A also becomes H level. Therefore, when the write row selection data W_ROW00 becomes H level, both the word line WL00 and the write word line WWL00 having the same line number become H level.
  • the write word line driver 912A includes circuits having the same structure for the write word lines WWL01, WWL02, and WWL03. This operation is the same as that of the write word line WWL00.
  • word line driver 512B and the writing word line driver 912B are different in the circuit configuration and operation from the word line driver 512A only in that the line number of the input selection signal and the line number of the connected word line are different. This is the same as the write word line driver 912A.
  • the circuits of the word line drivers 512A and 512B provided in each sub block 510 are all the same.
  • FIG. 9 is a timing chart showing a data read operation and a write operation of the SRAM 900 according to the second embodiment.
  • FIG. 9A shows a read operation
  • FIG. 9B shows a write operation
  • read commands are input to the read row decoder 611, sub-array decoder 612, and column decoder 613 in all cycles, and the operation related to the sub-array 511A will be described.
  • write commands are input to the write row decoder 621, subarray decoder 622, and column decoder 623 in all cycles, and the operation related to the subarray 511B will be described.
  • FIG. 9A shows an input address (Read Address) of a read command, row selection data R_ROW00 to R_ROW03, subarray selection data R_SAS0, signal levels of word lines WL00 to WL03 (WL00 to WL03), and signals of bit lines BL00 to BL03. Indicates the level (BL00 to BL03), column selection data R_COL00 to R_COL03, and read data (Read Data).
  • FIG. 9B shows the write instruction input address (Write) Address), row selection data W_ROW10 to W_ROW13, subarray selection data W_SAS1, word line WL10 to WL13 signal levels (WL10 to WL13), and write word lines WWL10 to WWL13.
  • Signal level (WWL10 to WWL13) column selection data W_COL10 to W_COL13, signal levels (BL10 to BL13) of bit lines BL10 to BL13, and write data (Write Data).
  • data can be read from or written to any of the subarrays 511A and 511B using the word line drivers 512A and 512B and the write word line drivers 912A and 912B.
  • the word line drivers 512A and 512B and the write word line drivers 912A and 912B.
  • signals not directly related to the operation description are omitted.
  • the read operation is performed using only one word line WL and one bit line BL.
  • a timing chart is shown in FIG.
  • the read data RD1 and RD3 are obtained in cycle 1 and cycle 3.
  • FIG. 7B At the time of reading, as shown in FIG. 7B, only the NMOS transistor 604 connected to the word line WL is turned on, and the data of the storage node N2 is read through the bit line BL.
  • the row selection data W_ROW13, the subarray selection data W_SAS1, and the column selection data W_COL13 are set to the H level by the input address (Write Address) of the write command.
  • the subarray selection data W_SAS1 becomes H level
  • the subarray 511B (see FIG. 7A) is selected for writing.
  • the row selection data W_ROW13 becomes the H level
  • the signal level of the word line WWL13 write the word line WL13 both become H.
  • the column selection data W_COL13 becomes H level
  • the bit lines BL13 and BLB13 are selected.
  • write data (Write Data) is written to the storage nodes N1 and N2 of the bit cell 601 (see FIG. 7A) at the intersection of the word line WL13 and the write word line WWL13 and the bit lines BL13 and BLB13.
  • cycle 3 it is possible to perform the reading of data from the sub-arrays 511A, the writing of data to the sub-array 511B simultaneously.
  • the operation example in which the bit cell 601 is selected and the reading and writing are performed simultaneously has been described.
  • the selection of the bit cells 601 in the subarrays 511A and 511B can be performed in any combination, and at the same time as writing to the subarray 511A, reading from the subarray 511B can be performed.
  • the SRAM 900 semiconductor memory device using a 6-transistor type bit cell (see FIG. 7B)
  • reading is performed on different subarrays 511A and 511B within the same cycle. And write.
  • the NMOS transistor 604 of the bit cell 901 needs to be turned on at the time of reading, the power consumption of the SRAM 900 at the time of reading can be suppressed.
  • reading and writing can be performed simultaneously in a semiconductor memory device including a bit cell having a pair of transistors used for reading and writing, such as a 6-transistor type bit cell. It is possible to achieve both speed improvement and downsizing. For this reason, it is possible to achieve downsizing (small area), high density, large capacity, or power saving while ensuring the speed of read / write processing of the semiconductor memory device.
  • the semiconductor memory device of the second embodiment includes a write word line WWL in addition to the word line WL, but the conventional 8-transistor type semiconductor memory device (see FIG. 2) has two pairs of bit lines (4 This is necessary, so not only the number of transistors but also the number of bit lines can be reduced.
  • the semiconductor memory device of the second embodiment includes two word line drivers for each subarray 511.
  • the write word line drivers 912A and 912B are simpler circuits than the word line drivers 512A and 512B. realizable. Therefore, compared with the semiconductor memory device of the first embodiment, it can be realized with a minimum addition in terms of space and cost.
  • the SRAM 900 semiconductor memory device using the 6-transistor type bit cell 901 (see FIG. 7B)
  • the number of transistors included in the bit cell as the memory cell is limited to 6. is not.
  • the memory cell can be used instead of the bit cell 901 (see FIG. 7B), and the semiconductor memory device can be reduced in size and density. Thus, a large capacity or power saving can be realized in the same manner.
  • the semiconductor memory device of the third embodiment is the same as that of the second embodiment in that two word lines are included for one bit cell, but the data can be read by selecting either word line. Different from the semiconductor memory device of the second embodiment.
  • the semiconductor memory device of the third embodiment can simultaneously read data from bit cells included in different subarrays in addition to being able to read and write simultaneously in different subarrays.
  • FIG. 10A is a diagram illustrating a part of the SRAM 1200 according to the third embodiment
  • FIG. 10B is a diagram illustrating a bit cell included in the SRAM 1200.
  • a part of the SRAM 1200 shown in FIG. 10A corresponds to one sub-block 510 of the SRAM 500 of the first embodiment.
  • Word lines WLA Word Line port A
  • WLB Word Line port B
  • WLB write word lines WWLWWL00 to WWL03 of the second embodiment.
  • the word lines WLA10 to WLA13 correspond to the word lines WL10 to WL13 of the second embodiment.
  • the word lines WLB10 to WLB13 correspond to the write word lines WWL10 to WWL13 of the second embodiment.
  • a decoder for performing row selection, subarray selection, and column selection is divided into an A port and a B port.
  • the A port corresponds to the read decoder (see 611, 612, and 613 in FIG. 9) in the second embodiment.
  • the B port corresponds to the write decoder (see 621, 622, and 623 in FIG. 9) in the second embodiment.
  • the A port in the decoder 1520 includes a row decoder 1611, a subarray decoder 1612, and a column decoder 1613, and is used as a read decoder.
  • the B port in the decoder 1520 includes a row decoder 1621, a subarray decoder 1622, and a column decoder 1623, and is used as a decoder for both reading and writing.
  • one row decoder 1611, one sub-array decoder 1612, one column decoder 1613, one row decoder 1621, one sub-array decoder 1622, and one column decoder 1623 are provided for one SRAM.
  • the A port row decoder 1611 and the sub-array decoder 1612 are connected to A port word line drivers 1512A and 1512B via signal lines. Actually, since the sub-block 510 (see FIG. 3B) is hierarchized, the row decoder 1611 and the sub-array decoder 1612 are connected to the A-port word line drivers 1512A and 1512B of all the sub-blocks 510.
  • the A port column decoder 1613 is connected to a column selection / read / write circuit 1513 via a signal line A_COL (port A Column). Actually, since the sub-block 510 (see FIG. 3B) is hierarchized, the column decoder 1613 is connected to the column selection / read / write circuit 1513 of all the sub-blocks 510.
  • the B port row decoder 1621 is connected to the A port word line drivers 1512A and 1512B via the signal line B_ROW, and the subarray decoder 1622 is connected to the B port word line drivers 1912A and 1912B via the signal line B_SAS. Each is connected.
  • the row decoder 1621 and the sub-array decoder 1622 are connected to the A port word line drivers 1512A and 1512B of all the sub blocks 510 and the B port.
  • the word line drivers 1912A and 1912B are connected.
  • the B port column decoder 1623 is connected to a column selection / read / write circuit 1513 via a signal line B_COL (port B COColumn). Actually, since the sub-block 510 (see FIG. 3B) is hierarchized, the column decoder 1623 is connected to the column selection / read / write circuit 1513 of all the sub-blocks 510.
  • bit cell 1201 used in the SRAM 1200 of the third embodiment will be described.
  • two word lines WLA and word lines WLB are wired for one bit cell 1201.
  • the gate of the NMOS transistor 604 is connected to the word line WLA, and the gate of the NMOS transistor 605 is connected to the word line WLB.
  • bit lines BLA and BLB are connected to one bit cell 1201, and selection of the bit lines BLA and BLB is performed by a column selection / read / write circuit 1513.
  • connection relationship between the two word lines WLA and WLB, the pair of bit lines BLA and BLB, and the NMOS transistors 604 and 605 is the bit cell 901 of the second embodiment. Is the same.
  • the connection relationship between the inverters 602 and 603 is also the same as that of the bit cell 901 of the second embodiment.
  • the B cell sub-array decoder 1622 and the column decoder 1623 select the bit cell 1201, both the word lines WLA and WLB are set to the H level, and the bit lines BLA and BLB are connected to the storage nodes N1 and N2. Write data.
  • the column selection / read / write circuit 1513 may be any circuit that can select the bit lines BLA and BLB, switch between read / write, and transfer read / write data, but has two global bit lines 1514 for reading. Is different from the second embodiment.
  • the selection of the bit lines BLA and BLB is performed based on column selection data transmitted from the column decoders 1613 and 1623.
  • the column selection / read / write circuit 1513 selects the bit line BLA when receiving column selection data from the column decoder 1613 of the A port in order to read data.
  • the column selection / read / write circuit 1513 selects the bit line BLB when receiving column selection data from the column decoder 1623 of the B port in order to read data.
  • the column selection / read / write circuit 1513 selects the bit lines BLA and BLB upon receiving column selection data from the B port column decoder 1623 in order to write data.
  • One of the two global bit lines 1514 connected to the column selection / read / write circuit 1513 is an A port line for outputting data read through the bit line BLA.
  • the other is a B port line for outputting data read through the bit line BLB.
  • the bit line selection circuit includes four bit lines included in each of the two subarrays 511A and 511B based on the column selection data transmitted from the column decoders 1613 and 1623.
  • BLA00, BLB00 to BLA03, BLB03, BLA10, BLB10 to BLA13, and BLB13 can be selected, their formats are not limited.
  • a circuit that transfers read data and write data can switch between read processing and write processing in accordance with the signal level of the write enable signal WE included in the read command or the write command. Any circuit can be used as long as it can exchange data with the global bit line 1514 connected to the input / output port 530 (see FIG. 3B).
  • the row decoder 1611 performs row selection using row selection data A_ROW included in the input address (A-Port-Address) of the read command.
  • the row selection data A_ROW is input to the A port word line drivers 1512A and 1512B.
  • the row selection data A_ROW is also input to A port word line drivers 1512A and 1512B of the subarray not shown.
  • the subarray decoder 1612 performs row selection using the subarray selection data A_SAS included in the input address (A-Port-Address) of the read command.
  • the subarray selection data A_SAS is input to the A port word line drivers 1512A and 1512B.
  • the subarray selection data A_SAS is input to the A port word line drivers 1512A and 1512B of the subarray not shown.
  • Column decoder 1613 performs column selection using column selection data A_COL included in the input address (A-Port Address) of the read command.
  • the column selection data A_COL is input to the column selection / read / write circuit 1513. The same applies to other sub-blocks 510 not shown in FIG. 10A.
  • the row decoder 1621 performs row selection using row selection data B_ROW included in an input address (B-Port Address) of a read command or a write command.
  • the row selection data B_ROW is input to the A port word line drivers 1512A and 1512B and the B port word line drivers 1912A and 1912B. The same applies to other subarrays not shown in FIG. 10A.
  • the subarray decoder 1622 performs row selection using the subarray selection data B_SAS included in the input address (B-Port-Address) of the read command or write command.
  • the subarray selection data B_SAS is input to the A port word line drivers 1512A and 1512B and the B port word line drivers 1912A and 1912B. The same applies to other subarrays not shown in FIG. 10A.
  • the column decoder 1623 performs column selection using the column selection data B_COL included in the input address (B-Port Address) of the read command or the write command.
  • the column selection data B_COL is input to the column selection / read / write circuit 1513. The same applies to other sub-blocks 510 not shown in FIG. 10A.
  • the circuits of the A port word line drivers 1512A and 1512B and the B port word line drivers 1912A and 1912B will be described with reference to FIG. As described above, since the A port word line drivers 1512A and 1512B have the same structure, only the A port word line driver 1512A will be described here. Since the B port word line drivers 1912A and 1912B have the same structure, only the B port word line driver 1912A will be described here.
  • FIG. 11A is a circuit diagram of the A port word line driver 1512A of the SRAM 1200 according to the third embodiment
  • FIG. 11B is a circuit diagram of the B port word line driver 1912A.
  • the A port word line driver 1512A shown in FIG. 11A is the same as the word line driver 512A (see FIG. 5) of the first embodiment, except that the signs of input / output signals are different. Reference numerals are given and explanation of the operation is omitted.
  • the A port word line driver 1512A supplies the row selection data A_ROW00 to A_ROW03 for reading, the subarray selection data A_SAS for reading, the row selection data B_ROW00 to B_ROW03 for reading or writing, and the subarray selection data B_SAS for reading or writing. Based on this, the word lines WLA00 to WLA03 are selected.
  • the word lines WLA00 to WLA03 are selected by the A port word line driver 1512A when reading data from the storage node N2 (see FIG. 10B) of the bit cell 1201 or when writing data.
  • the word lines WLB00 to WLB03 having the same line number are selected together with the B port word line driver 1912A.
  • the B port word line driver 1912A shown in FIG. 11B is the same as the write word line driver 912A (see FIG. 8B) of Embodiment 2 except that the signs of the input / output signals are different. Are denoted by the same reference numerals and description of the operation is omitted.
  • the B port word line driver 1912A selects the word lines WLB00 to WLB03 based on the read or write row selection data B_ROW00 to B_ROW03 and the read or write subarray selection data B_SAS.
  • the word lines WLB00 to WLB03 are selected by the B port word line driver 1912A when reading data from the storage node N1 (see FIG. 10B) of the bit cell 1201 or when writing data.
  • the word lines WLA00 to WLA03 having the same line number are selected together with the A port word line driver 1512A.
  • the A port word line driver 1512B and the B port word line driver 1912B are different in the circuit configuration and operation only in the line number of the input selection signal and the line number of the connected word line.
  • 1512A is the same as the B port word line driver 1912A.
  • FIG. 12 is a timing chart showing data read and write operations of the SRAM 1200 according to the third embodiment.
  • cycle 1 data is simultaneously read from bit cells 601 included in subarrays 511A and 511B shown in FIG. 12, respectively, and in cycle 3, data is read from bitcells 601 included in subarray 511A and An operation when data is written to the included bit cell 601 will be described.
  • FIG. 12A shows the A port input address (A) Address), row selection data A_ROW00 to A_ROW03, subarray selection data A_SAS0, word line WLA00 to WLA03 signal levels (WLA00 to WLA03), and bit lines BLA00 to BLA03 signals. Indicates the level (BLA00 to BLA03), column selection data A_COL00 to A_COL03, and data (A Data).
  • FIG. 12B shows the B port input address (B) Address), row selection data B_ROW10 to B_ROW13, subarray selection data B_SAS1, word line WLA10 to WLA13 signal levels (WLA10 to WLA13), and word line WLB10 to WLB13 signals.
  • the level (WLB10 to WLB13), the column selection data B_COL10 to B_COL13, the signal levels (BLA10 to BLA13) of the bit lines BLA10 to BLA13, the WE signal, and the data (B Data) are shown.
  • the WE signal that is a write control signal is not shown in the timing chart of FIG. In FIGS. 12A and 12B, signals that are not directly related to the operation description are omitted.
  • the read operation shown in cycle 1 and cycle 3 in FIG. 12A is performed using only one word line and one bit line, but the timing chart is shown in FIG. The operation is the same as shown. That is, read data RDA1 from cycle 1 and cycle 3 from bit cell 1201 at the intersection of word line WLA03 selected by A port word line driver 1512A and bit lines BLA03 and BLB03 selected by column selection / read / write circuit 1513, RDA3 is obtained.
  • row selection data B_ROW13, subarray selection data B_SAS1, and column selection data B_COL13 are set to H level, and the WE signal is set to L level.
  • the sub-array 511B is selected, the word line WLB13 is set to the H level by the B port word line driver 1912B, and the bit line BLB13 is selected by the column selection / read / write circuit 1513.
  • the NMOS transistor 605 at the intersection of the word line WLB13 and the bit line BLB13 is turned on, and the data (RDB1) of the storage node N1 is read out through the bit line BLB13 by the column selection / read / write circuit 1513.
  • the row selection data B_ROW13, the subarray selection data B_SAS1, and the column selection data B_COL13 are set to the H level, and the WE signal is set to the H level.
  • the sub-array 511B is selected, the word line WLA13 is selected by the A port word line driver 1512B, the word line WLB13 is selected by the B port word line driver 1912B, and the bit lines BLA13 and BLB13 are set by the column selection / read / write circuit 1513. Selected.
  • bit cell 1201 at the intersection of the word lines WLA13, WLB13 and the bit lines BLA13, BLB13 is selected, and the data (WDB3) is stored in the storage nodes N1, N2 by the column selection / read / write circuit 1513 through the bit lines BLA13, BLB13.
  • WDB3 the data (WDB3) is stored in the storage nodes N1, N2 by the column selection / read / write circuit 1513 through the bit lines BLA13, BLB13.
  • SRAM 1200 which is the semiconductor memory device of the third embodiment, in addition to being able to read and write simultaneously in different subarrays, it is possible to simultaneously read data from bit cells included in different subarrays. .
  • the addresses of the memory cells included in different subarrays are used.
  • the 6-transistor single-port SRAM 500 which is advantageous in terms of density, reading and writing can be realized within the same cycle. If there are two word lines for one bit cell and one of the two word lines is selected, data can be read from the selected word line. Therefore, data can be read from either storage node N1 or N2.
  • the SRAM 1200 semiconductor memory device using the 6-transistor type bit cell 1201 (see FIG. 10B) has been described.
  • the number of transistors included in the bit cell as the memory cell is limited to 6. is not.
  • the memory cell can be used instead of the bit cell 1201 (see FIG. 10B), and the semiconductor memory device can be reduced in size (reduced area). ), High density, large capacity, or power saving can be realized as well.

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)

Abstract

 小面積で実現可能なビットセルを用いて読み書きを同時に行える半導体記憶装置及び半導体記憶装置の制御方法を提供する。 半導体記憶装置は、データを保持するメモリセルをそれぞれ有する複数のメモリブロックと、第1のアドレスをデコードし、前記複数のメモリブロックのうち第1のメモリブロックに含まれる第1のメモリセルを特定する第1デコーダと、第2のアドレスをデコードし、前記複数のメモリブロックのうち前記第1のメモリブロックとは異なる第2のメモリブロックに含まれる第2のメモリセルを特定する第2デコーダと、前記第1のデコーダが特定した前記第1のメモリセルが保持するデータの読み出しと、前記第2のデコーダが特定した前記第2のメモリセルに対するデータの書き込みとを同時に実行する読み書き制御部を有することを特徴とする。

Description

半導体記憶装置及び半導体記憶装置の制御方法
 本願発明は、半導体記憶装置及び半導体記憶装置の制御方法に関する。
 図1Aは、SRAM(Static Random Access Memory)に用いられるシングルポート型のビットセルの構造を概略的に示す図であり、図1Bは図1Aのビットセルの構造を詳細に示す図である。
 図1Aに示すように、ビットセル10は、一対の否定回路であるインバータ11、12と一対のNMOS(N-type Metal Oxide Semiconductor:N型金属酸化膜半導体)トランジスタ13、14を含む。
 インバータ11、12は、ループを形成するように接続されている。NMOSトランジスタ13、14のゲートは、ともにワードラインWL(Word Line)に接続されており、NMOSトランジスタ13のドレインは正極性のビットラインBLに接続され、NMOSトランジスタ14のドレインは負極性のビットラインBLB(BLバー)に接続されている。
 また、NMOSトランジスタ13、14のソースは、ループ状に接続されるインバータ11、12の接続部N1、N2に接続されている。
 図1Bに示すように、インバータ11は、PMOS(P-type Metal Oxide Semiconductor:P型金属酸化膜半導体)トランジスタ11AとNMOSトランジスタ11Bとを有するCMOS(Complementary Metal Oxide Semiconductor:相補型金属酸化膜半導体)型のインバータである。同様に、インバータ12は、PMOSトランジスタ12AとNMOSトランジスタ12Bとを有するCMOS型のインバータである。すなわち、図1A、図1Bに示すビットセルは、6つのMOSトランジスタを含む。
 MOSトランジスタ11A、11Bの入出力端子と、MOSトランジスタ12A、12Bの入出力端子とは、交差して接続されており、ビットセル10は、インバータ11、12を含むラッチ回路として実現される。
 MOSトランジスタ11A、11Bのドレイン同士の接続部N1は、図1Aに示す接続部N1に相当し、記憶ノードN1として機能する。また、MOSトランジスタ12A、12Bのドレイン同士の接続部N2は図1Aに示す接続部N2に相当し、記憶ノードN2として機能する。
 記憶ノードN1、N2に、"1"、"0"又は"0"、"1"の相補データを保持させ、ワードラインWLと一対のビットラインBL、BLBでビットセル10を選択することにより、記憶ノードN1、N2のデータの読み出し、及び書き込みを行う。
 データの読み出す際は、一対のビットラインBL、BLBをHレベルにして、ワードラインWLを駆動すると、ビットラインBL、BLBのいずれか一方が記憶ノードN1又はN2によりLレベルにされ、読み出しデータとして出力される。
 一方、データを書き込む際は、一対のビットラインBL、BLBのいずれか一方をHレベル、他方をLレベルにした状態で、ワードラインWLを駆動し、記憶ノードN1、N2に書き込みを行う。
 図1A、図1Bに示すような6トランジスタ型のビットセル10は、1つのビットセル10においてデータの読み出しと書き込みを同時に行うことはできず、読み出しと書き込みは異なるサイクルで行われる。
 次に、同時にデータの読み書きを行うことのできるマルチポートビットセルについて説明する。
 図2は、従来の8トランジスタ型のマルチポートビットセルを示す図である。図2に示すマルチポートビットセル20は、2つのインバータを含む。2つのインバータ自体は、図1Aに示したシングルポート型のビットセル10に含まれるインバータ11、12と同一であり、それぞれが2つのトランジスタを含むため(図1B参照)、ここでは同一符号を用い、その説明を省略する。
 図2に示すマルチポート型のビットセル20は、ワードラインが2本あり、書き込み用ワードラインWWL(Write Word Line)と読み出し用ワードラインRWL(Read Word Line)を含む。また、ビットラインは二対あり、正極性の書き込み用ビットラインWBL(Write Bit Line)、負極性の書き込み用ビットラインWBLB(Write Bit Line Bar)、及び正極性の読み出し用ビットラインRBL(Read Bit Line)、負極性の読み出し用ビットラインRBLB(Read Bit Line Bar)を含む。
 読み出し用ワードラインRWLには、NMOSトランジスタ21、22のゲートがそれぞれ接続されている。NMOSトランジスタ21のドレインは読み出し用ビットラインRBLBに接続され、ソースは記憶ノードN1に接続されている。また、NMOSトランジスタ22のドレインは読み出し用ビットラインRBLに接続され、ソースは記憶ノードN2に接続されている。
 書き込み用ワードラインWWLには、NMOSトランジスタ23、24のゲートがそれぞれ接続されている。NMOSトランジスタ23のドレインは書き込み用ビットラインWBLBに接続され、ソースは記憶ノードN1に接続されている。また、NMOSトランジスタ24のドレインは書き込み用ビットラインWBLに接続され、ソースは記憶ノードN2に接続されている。
 データを読み出す際は、読み出し用ワードラインRWLと、読み出し用ビットラインRBL、RBLBとでビットセル20を選択する。
 データを書き込む際は、書き込み用ワードラインWWLと、書き込み用ビットラインWBL、WBLBとでビットセル20を選択する。
 このように、ビットセル20は、読み出しと書き込みに用いるトランジスタ(21、22、23、24)を二対含み、読み出しと書き込みで別々のワードライン及びビットラインを用いるため、同時に読み書きを行うことができる。
特開平10-222983号公報 特許第2613257号
 ビットセルに対して読み出しと書き込みを同一サイクルの中で行うことができれば、読み出しと書き込みを同時に行うことができるため、読み書き処理の高速化を図ることができる。
 しかしながら、上述の6トランジスタ型のビットセルのように、読み出しと書き込みに用いるトランジスタを一対だけ有するビットセルを含む従来の半導体記憶装置では、読み出しと書き込みを同時に行うことはできなかった。
 これに対して、上述の8トランジスタ型のビットセルを含む従来の半導体記憶装置では、読み出しと書き込みを同時に行うことができるが、以下の課題があった。
 トランジスタの数が増えることによってビットセルが大きくなり、半導体記憶装置の小型化(小面積化)、高密度化、大容量化、あるいは省電力化には不向きであった。また、ビットセルの面積の増大に伴い、ワードラインとビットラインが長くなるため、半導体記憶装置の動作周波数を向上させることが困難となり、読み書き処理の速度の低下に繋がっていた。
 また、読み出し用と書き込み用で別々のビットラインを設け、かつ、ワードラインも読み出し用と書き込み用で別々に設ける必要があり配線量が増大するので、半導体記憶装置の面積拡大に繋がっていた。大面積化は、半導体記憶装置の小型化、高密度化、大容量化、あるいは省電力化には不向きであった。
 ここで、面積拡大を抑制すべく、ビットラインあるいはワードラインの配線間隔を狭めると、配線間の容量増加に繋がる場合があった。
 面積拡大による配線長の増大、あるいは、配線間の容量増加は、半導体記憶装置の動作周波数を向上させることが困難となり、読み書き処理の速度の低下に繋がっていた。
 そこで、小面積で実現可能なビットセルを用いつつ、読み出しと書き込みを同時に行うことのできる半導体記憶装置及び半導体記憶装置の制御方法を提供することを目的とする。
  本発明の実施の形態の半導体記憶装置は、データを保持するメモリセルをそれぞれ有する複数のメモリブロックと、第1のアドレスをデコードし、前記複数のメモリブロックのうち第1のメモリブロックに含まれる第1のメモリセルを特定する第1デコーダと、第2のアドレスをデコードし、前記複数のメモリブロックのうち前記第1のメモリブロックとは異なる第2のメモリブロックに含まれる第2のメモリセルを特定する第2デコーダと、前記第1のデコーダが特定した前記第1のメモリセルが保持するデータの読み出しと、前記第2のデコーダが特定した前記第2のメモリセルに対するデータの書き込みとを同時に実行する読み書き制御部を有することを特徴とする。
 小面積で実現可能なビットセルを用いつつ、読み出しと書き込みを同時に行うことのできる半導体記憶装置及び半導体記憶装置の制御方法を提供することができる。
SRAMに用いられるシングルポート型のビットセルの構造を概略的に示す図である。 図1Aのビットセルの構造を詳細に示す図である。 従来の8トランジスタ型のマルチポートビットセルを示す図である。 実施の形態1の半導体記憶装置を含む情報処理装置を示す図である。 図3Aの半導体記憶装置を拡大して示す図である。 実施の形態1のSRAM500の一部分を示す図である。 SRAM500に含まれるビットセルを示す図である。 実施の形態1のSRAM500のワードラインドライバ512Aの回路図の一例である。 実施の形態1のSRAM500のデータの読み出し動作と書き込み動作を表すタイミングチャートである。 実施の形態2のSRAM900の一部分を示す図である。 SRAM900に含まれるビットセルを示す図である。 実施の形態2のSRAM900のワードラインドライバ512Aの回路図である。 書き込み用ワードラインドライバ912Aの回路図である。 実施の形態2のSRAM900のデータの読み出し動作と書き込み動作を表すタイミングチャートである。 実施の形態3のSRAM1200の一部分を示す図である。 SRAM1200に含まれるビットセルを示す図である。 実施の形態3のSRAM1200のAポートワードラインドライバ1512Aの回路図である。 実施の形態3のBポートワードラインドライバ1912Aの回路図である。 実施の形態3のSRAM1200のデータの読み出し動作と書き込み動作を表すタイミングチャートである。
 以下、本発明の半導体記憶装置及び半導体記憶装置の制御方法を適用した実施の形態について説明する。
 <実施の形態1>
 図3Aは、実施の形態1の半導体記憶装置を含む情報処理装置を示す図であり、図3Bは、図3Aの半導体記憶装置を拡大して示す図である。
 実施の形態1では、一例として情報処理装置がサーバ100の実施形態について説明する。
 図3Aに示すように、サーバ100は、LSI(Large Scale Integrated circuit:大規模集積回路)101、主記憶装置102、及び補助記憶装置103を含む。LSI101と主記憶装置102の間、及び主記憶装置102と補助記憶装置103の間は、例えば、それぞれ専用のバスで接続されている。
 LSI101は、プロセッサコア111、L1(Level-1:一次)インストラクションキャッシュ112、L1データキャッシュ113、L2(Level-2:二次)キャッシュ114、及びメモリコントローラ115を有する。
 プロセッサコア111は、例えば、CPU(Central Processing Unit:中央演算処理装置)コア(Core)であり、情報処理装置としてのサーバ100の演算処理を行う演算処理装置である。ここで、プロセッサコア111、L1インストラクションキャッシュ112、及びL1データキャッシュ113は、CPUとして一体化されていてもよい。プロセッサコア111は、複数あってもよく、その場合は、各プロセッサコア111にL1インストラクションキャッシュ112とL1データキャッシュ113が一つずつ接続されていてもよい。
 L1インストラクションキャッシュ112は、プロセッサコア111の演算処理に必要なプログラムを一時的に記憶する一次命令キャッシュである。L1インストラクションキャッシュは、例えば、SRAMが用いられる。
 L1データキャッシュ113は、プロセッサコア111が演算処理に必要なデータ、又は演算処理で生成されたデータを一時的に記憶する一次データキャッシュである。実施の形態1では、L1データキャッシュ113に、実施の形態1の半導体記憶装置としてのSRAMを用いる形態について説明する。なお、詳細な構造については、後述する。
 L2キャッシュ114は、メモリ階層構造において主記憶装置102に近いという意味で、L1インストラクションキャッシュ112及びL1データキャッシュ113よりも下位のキャッシュであり、典型的には、L1インストラクションキャッシュ112及びL1データキャッシュ113よりも処理速度は低いが、容量の大きいキャッシュである。L2キャッシュ114は、例えば、SRAMで実現される。
 メモリコントローラ115は、LSI101が主記憶装置102との間でデータの読み書きを行う際の制御を行う制御装置であり、例えば、LSIで実現される。
 主記憶装置102は、例えば、DRAM(Dynamic Random Access Memory:ダイナミックランダムアクセスメモリ)又はROM(Read Only Memory:読み出し専用メモリ)であり、補助記憶装置103は、例えば、ハードディスクである。
 なお、サーバ100は、外部装置との通信を行うデータ入出力インタフェース等を含んでいてもよい。
 図3Bに示すように、L1データキャッシュ113は、複数のSRAM500A、500B、・・・、500Xを含む。SRAM500A、500B、・・・、500Xは、プロセッサコア111に対して並列に接続されており、プロセッサコア111によって選択が行われる。
 SRAM500A、500B、・・・、500Xの構造はすべて同一であるため、ここでは、SRAM500Aについて説明する。なお、ここでは、SRAMが複数あることを説明するためにSRAM500A、500B、・・・、500Xと記すが、L1データキャッシュ113に含まれるSRAMの数は1つでもよいし、例えば、2つ以上の数のSRAMが配列されていてもよい。
 SRAM500Aは、図3Bの左側に示すように、メモリ領域が複数のサブブロック(Sub Block)510に分けられて階層化されており、デコーダ(Decoder)520、入出力ポート(I/O)530、及びタイマ(Timer)540を含む。
 各サブブロック510は、図3BのSRAM500Aの右側に拡大して示すように、2つのサブアレイ(Sub Array)511A、511B、ワードラインドライバ512A、512B、及びカラム選択/読み書き回路(Column Select/Read/Write logic)513を含む。
 SRAM500Aに含まれるすべてのサブアレイ511A、511Bは、同一の構造であり、メモリセルとしてのビットセルがアレイ状に配列され、デコーダ520に入力される入力アドレスのデコーダ520によるデコード結果に基づいてワードラインとビットラインの選択が行えるようになっている。
 ここで、入力アドレスは、プロセッサコア111(図3A参照)からデコーダ520に入力される。入力アドレスは、カラムを特定するためのカラムアドレス、ロウを特定するためのロウアドレス、及び、サブアレイを特定するためのサブアレイアドレスを含む。
 また、デコーダ520は、カラムアドレスをデコードするカラムデコーダ、ロウアドレスをデコードするロウデコーダ、及び、サブアレイアドレスをデコードするためのサブアレイデコーダを含む。
 ワードラインドライバ512A、512Bは、それぞれサブアレイ511A、511Bに対応して設けられており、それぞれサブアレイ511A、511Bに含まれるワードラインに接続されている。ワードラインドライバ512A、512Bは、それぞれデコーダ520がロウアドレスをデコードして出力するロウ選択データ(ロウ選択信号)に基づき、ロウの選択(ワードラインの選択)を行う。
 カラム選択/読み書き回路513は、各サブブロック510に対応して設けられており、各サブブロック510内の2つのサブアレイ511A、511Bのビットラインに接続されている。カラム選択/読み書き回路513は、デコーダ520がカラムアドレスをデコードして出力するカラム選択データ(カラム選択信号)に基づき、カラムの選択(ビットラインの選択)を行う。
 各階層のサブブロック510のカラム選択/読み書き回路513は、それぞれ、切替回路515A、515Bを有する。カラム選択/読み書き回路513内のビットラインは、切替回路515A、515Bを介して、グローバルビットライン514に接続されている。
 このため、階層化されたすべてのサブブロック510に含まれるサブアレイ511A、511Bのビットラインは、それぞれカラム選択/読み書き回路513内の切替回路515A、515Bを介してグローバルビットライン514によって接続されている。これにより、各階層のサブブロック510は、グローバルビットライン514によって階層化されている。
 切替回路515A、515Bは、カラム選択データに基づいて、データの読み出し又は書き込みを行うメモリセルに接続されたビットラインをグローバルビットライン514と接続する。
 切替回路515A、515Bを含むカラム選択/読み書き回路513は、読み書き制御部である。
 なお、以下では、SRAM500A、500B、・・・、500Xを特に区別をしない場合には、SRAM500と表記することとする。
 次に、実施の形態1の半導体記憶装置としてのSRAM500の詳細な構造について図4A、図4Bを用いて説明する。
 図4Aは、実施の形態1のSRAM500の一部分を示す図であり、図4BはSRAM500に含まれるビットセルを示す図である。
 図4Aに示すSRAM500の一部分は、図3Bに示す一つのサブブロック510に対応する部分であり、サブアレイ511A、511B、ワードラインドライバ512A、512B、カラム選択/読み書き回路513、グローバルビットライン514、及びデコーダ520に対応する部分である。
 ここでは、SRAM500は、プロセッサコア111(図3A参照)から入力される読み出し命令と書き込み命令によって、データの読み出しと書き込みが行われることとする。読み出し命令は、いずれかのサブアレイ510のビットセルを特定する入力アドレスと、ライトイネーブル(Write Enable)信号WE(Lレベル)とを含む。書き込み命令は、いずれかのサブアレイ510のビットセルを特定する入力アドレスと、ライトイネーブル信号WE(Hレベル)とを含む。読み出し命令と書き込み命令は、プロセッサコア111(図3A参照)から要求される命令である。
 なお、ロウ選択、サブアレイ選択、及びカラム選択は、読み出し命令又は書き込み命令に含まれる入力アドレスに基づいて行われる。例えば、入力アドレスの下位の数ビットにカラム選択を行うカラムアドレスを指定し、その次の数ビットにサブアレイ選択を行うサブアレイアドレスを指定し、一番上位の数ビットにロウ選択を行うロウアドレスを指定すればよい。
 サブアレイ511A、511Bは、それぞれ、アレイ状に配列された複数のメモリセルとしてのビットセル601を含む。
 また、サブアレイ511A(Sub Array 0)は、4本のワードラインWL00~WL03と、4対のビットラインBL00、BLB(BLバー)00~BL03、BLB03を含む。ワードラインWL00~WL03は、それぞれワードラインドライバ512Aに接続されており、ビットラインBL00、BLB00~BL03、BLB03は、それぞれカラム選択/読み書き回路513に接続されている。
 サブアレイ511B(Sub Array 1)は、4本のワードラインWL10~WL13と、4対のビットラインBL10、BLB10~BL13、BLB13を含む。ワードラインWL10~WL13は、それぞれワードラインドライバ512Bに接続されており、ビットラインBL10、BLB10~BL13、BLB13は、それぞれカラム選択/読み書き回路513に接続されている。
 なお、各ビットセル601は、ワードラインとビットライン対の交差部に配設される。
 また、デコーダ520は、ロウデコーダ611、サブアレイデコーダ612、カラムデコーダ613、ロウデコーダ621、サブアレイデコーダ622、及びカラムデコーダ623を含む。
 ロウデコーダ611、サブアレイデコーダ612、及びカラムデコーダ613は読み出し用のデコーダであり、ロウデコーダ621、サブアレイデコーダ622、及びカラムデコーダ623は、書き込み用のデコーダである。
 なお、ロウデコーダ611、サブアレイデコーダ612、カラムデコーダ613、ロウデコーダ621、サブアレイデコーダ622、及びカラムデコーダ623は、一つのSRAMに対して、一つずつ配設される。
 ロウデコーダ611とサブアレイデコーダ612は、信号線を介して、ワードラインドライバ512A、512Bに接続されている。実際には、サブブロック510は階層化されているため(図3B参照)、ロウデコーダ611とサブアレイデコーダ612は、すべてのサブブロック510のワードラインドライバ512A、512Bに接続されている。
 カラムデコーダ613は、信号線を介して、カラム選択/読み書き回路513に接続されている。実際には、サブブロック510は階層化されているため(図3B参照)、カラムデコーダ613は、すべてのサブブロック510のカラム選択/読み書き回路513に接続されている。
 ロウデコーダ621とサブアレイデコーダ622は、信号線を介して、ワードラインドライバ512A、512Bに接続されている。実際には、サブブロック510は階層化されているため(図3B参照)、ロウデコーダ621とサブアレイデコーダ622は、すべてのサブブロック510のワードラインドライバ512A、512Bに接続されている。
 カラムデコーダ623は、信号線を介して、カラム選択/読み書き回路513に接続されている。実際には、サブブロック510は階層化されているため(図3B参照)、カラムデコーダ623は、すべてのサブブロック510のカラム選択/読み書き回路513に接続されている。
 次に、カラム選択/読み書き回路513について説明する。
 カラム選択/読み書き回路513は、ビットラインBL、BLBの選択、読み出し/書き込みの切り替え、読み出しデータ/書き込みデータの受け渡しを行える回路であればよい。
 ビットラインBL、BLBの選択は、カラムデコーダ613、623から伝送されるカラム選択データに基づいて行われる。
 カラム選択/読み書き回路513は、データを読み出すために、カラムデコーダ613からカラム選択データを受け取ると、ライン番号が同一のビットラインBLとBLBの対を選択する。
 同様に、カラム選択/読み書き回路513は、データを書き込むために、カラムデコーダ623からカラム選択データを受け取ると、ライン番号が同一のビットラインBLとBLBの対を選択する。
 また、カラム選択/読み書き回路513には、読み出したデータ又は書き込むデータを入出力ポート(I/O)530(図3B参照)との間で伝送するグローバルビットライン514が接続されている。グローバルビットライン514は、ビットラインBL、BLBを通じて読み出したデータを伝送するラインであるとともに、ビットラインBL、BLBを通じて書き込むデータを伝送するラインである。
 また、カラム選択/読み書き回路513のうち、ビットラインの選択を行う回路については、カラムデコーダ613、623から伝送されるカラム選択データに基づいて、2つのサブアレイ511A、511Bにそれぞれ四対含まれるビットラインBL00、BLB00~BL03、BLB03、BL10、BLB10~BL13、BLB13を選択できれば、その形式は問わない。
 また、カラム選択/読み書き回路513のうち、読み出しデータ及び書き込みデータの受け渡しを行う回路は、ライトイネーブル信号WEの信号レベルに応じて読み出し処理と書き込み処理を切り替えることができ、入出力ポート530(図3B参照)に接続されたグローバルビットライン514との間で、データの受け渡しができる回路であれば、その形式は問わない。
 次に、ロウデコーダ611によるロウ選択、サブアレイデコーダ612によるサブアレイ選択、カラムデコーダ613によるカラム選択について説明する。
 ロウデコーダ611は、読み出し命令の入力アドレスに含まれるロウ選択データR_ROWを用いてロウ選択を行う。ロウ選択データR_ROWは、ワードラインドライバ512A、512Bに入力され、ワードラインWL00~WL03、WL10~WL13のいずれかが選択される。図4Aには2つのサブアレイ511A、511Bを示すが、実際には多数存在するため、ロウデコーダ611によるロウ選択は、すべてのサブアレイの中から行われる。
 サブアレイデコーダ612は、読み出し命令の入力アドレスに含まれるサブアレイ選択データR_SASを用いてロウ選択を行う。サブアレイ選択データR_SASは、ワードラインドライバ512A、512Bに入力され、サブアレイ511A又は511Bが選択される。図4Aには2つのサブアレイ511A、511Bを示すが、実際には多数存在するため、サブアレイデコーダ612によるサブアレイ選択は、すべてのサブアレイの中から行われる。
 カラムデコーダ613は、読み出し命令の入力アドレスに含まれるカラム選択データR_COLを用いてカラム選択を行う。カラム選択データR_COLは、カラム選択/読み書き回路513に入力され、ビットラインBL00~BL03、BLB00~BLB03、BL10~BL13、BLB10~BLB13のいずれかが対として選択される。図4Aには2つのサブアレイ511A、511Bを示すが、実際には多数存在するため、カラムデコーダ613によるカラム選択は、すべてのサブアレイの中から行われる。
 以上のロウ選択、サブアレイ選択、及びカラム選択は、データの読み出しを行う際のものであるが、データの書き込みを行う際のロウ選択、サブアレイ選択、及びカラム選択も同様に行われる。
 データの書き込みを行う際は、書き込み命令の入力アドレスに含まれるロウ選択データW_ROW、サブアレイ選択データW_SAS、及びカラム選択データW_COL(Write COLumn)を用いて、ロウデコーダ621、サブアレイデコーダ622、及びカラムデコーダ623によって、それぞれの選択が行われる。
 次に、実施の形態1のSRAM500に用いるビットセル601について説明する。
 図4Bに示すように、実施の形態1のSRAM500で用いるビットセル601は、6トランジスタ型のビットセルである。
 ビットセル601は、一対のインバータ602、603と一対のNMOSトランジスタ604、605を含む。
 インバータ602、603は、ループを形成するように接続されている。NMOSトランジスタ604、605のゲートは、ともにワードラインWLに接続されており、NMOSトランジスタ604のドレインはビットラインBLに接続され、NMOSトランジスタ605のドレインはビットラインBLBに接続されている。
 また、NMOSトランジスタ604、605のソースは、それぞれ、ループ状に接続されるインバータ602、603の接続部N1、N2に接続されている。接続部N1、N2は、1ビットの情報を記憶する記憶ノードとして機能する。
 インバータ602、603は、ともに、PMOSトランジスタとNMOSトランジスタとを有するCMOS型のインバータであり、図1Bに示した従来のビットセルのインバータ11、12と同一の構造を有する。
 このように、実施の形態1のSRAM500で用いるビットセル601は、図1に示す従来の6トランジスタ型のビットセル10と同一である。このため、ビットセル601の動作説明は、省略する。
 なお、ビットセル601に含まれるMOSトランジスタ604のソースとドレインの接続は、逆であっても構わない。同様に、MOSトランジスタ605のソースとドレインの接続についても、逆であっても構わない。
 次に、図5を用いて、ワードラインドライバ512A、512Bの回路について説明する。上述のように、ワードラインドライバ512A、512Bは、同一の構造を有するため、ここでは、図4Aに示したサブアレイ511Aに接続されているワードラインドライバ512Aについて説明を行う。
 図5は、実施の形態1のSRAM500のワードラインドライバ512Aの回路図の一例である。
 ワードラインドライバ512Aは、サブアレイ511内のいずれかのビットセル601にデータの読み出し又は書き込みを行う際に、ワードラインを選択する回路である。
 ワードラインドライバ512Aには、4本のワードラインWL00~WL03が接続されている。
 また、ワードラインドライバ512Aには、読み出し用のロウ選択データR_ROW、読み出し用のサブアレイ選択データR_SAS、書き込み用のロウ選択データW_ROW、書き込み用のサブアレイ選択データW_SASが入力される。
 ここでは、ワードラインが4本であるため、ロウ選択データR_ROW、W_ROWにライン番号00~03を付して、各ワードラインを選択するデータを区別する。
 ワードラインドライバ512Aは、読み出し用回路と書き込み用回路とに回路が区分されている。
 ロウ選択データR_ROW00、W_ROW00が入力される信号線には、それぞれNMOSトランジスタ700R、700Wのゲートが接続されている。NMOSトランジスタ700Rのソースは、NMOSトランジスタ750Rのドレインに接続されている。また、NMOSトランジスタ700Wのソースは、NMOSトランジスタ750Wのドレインに接続されている。
 ここで、NMOSトランジスタ750Rのゲートには、読み出し用のサブアレイ選択データR_SASが入力され、ソースは接地されている。同様に、NMOSトランジスタ750Wのゲートには、書き込み用のサブアレイ選択データW_SASが入力され、ソースは接地されている。
 また、NMOSトランジスタ700R、700Wのドレインは、ともにインバータ702の入力端子に接続されるとともに、PMOSトランジスタ701Wのドレインに接続されている。PMOSトランジスタ701WのソースはPMOSトランジスタ701Rのドレインに接続され、PMOSトランジスタ701Rのソースには、所定電圧の電源に接続されている。
 PMOSトランジスタ701R、701Wのゲートには、それぞれ、読み出し用のサブアレイ選択データR_SAS、書き込み用のサブアレイ選択データW_SASが入力されるようになっている。
 なお、インバータ702の出力端子は、ワードラインWL00に接続されている。
 ワードラインドライバ512Aは、ワードラインWL01、WL02、WL03についても、ワードラインWL00と同一の回路を含んでいる。なお、NMOSトランジスタ750R、750Wは、ワードラインWL00~WL03で共通である。
 ワードラインドライバ512Aは、ワードラインWL01については、NMOSトランジスタ710R、710W、PMOSトランジスタ711R、711W、及びインバータ712を含む。
 また、ワードラインWL02については、NMOSトランジスタ720R、720W、PMOSトランジスタ721R、721W、及びインバータ722を含む。
 また、ワードラインWL03については、NMOSトランジスタ730R、730W、PMOSトランジスタ731R、731W、及びインバータ732を含む。
 なお、上述のように、NMOSトランジスタ750R、750Wは、ワードラインWL00~WL03で共通である。
 ここで、データを読み出す際に、サブアレイ511AのワードラインWL00を選択する場合の動作を説明する。この場合は、図5に示す読み出し用のサブアレイ選択データR_SASがHレベルになり、かつ、読み出し用のロウ選択データR_ROW00がHレベルになる。
 読み出し用のサブアレイ選択データR_SASがHレベルになると、PMOSトランジスタ701Rがオフになり、NMOSトランジスタ750Rがオンになる。また、読み出し用のロウ選択データR_ROW00がHレベルになると、NMOSトランジスタ700Rがオンになる。
 これにより、NMOSトランジスタ750R及び700Rを通じて、インバータ702にはLレベルが入力され、このLレベルはインバータ702で反転されてHレベルが出力される。これにより、ワードラインWL00がHレベルになる。
 次に、データを書き込む際に、サブアレイ511AのワードラインWL00を選択する場合の動作を説明する。この場合は、図5に示す書き込み用のサブアレイ選択データW_SASがHレベルになり、かつ、書き込み用のロウ選択データW_ROW00がHレベルになる。
 書き込み用のサブアレイ選択データW_SASがHレベルになると、PMOSトランジスタ701Wがオフになり、NMOSトランジスタ750Wがオンになる。また、書き込み用のロウ選択データW_ROW00がHレベルになると、NMOSトランジスタ700Wがオンになる。
 これにより、NMOSトランジスタ750W及び700Wを通じて、インバータ702にはLレベルが入力され、このLレベルはインバータ702で反転されてHレベルが出力される。これにより、ワードラインWL00がHレベルになる。
 以上がワードラインWL00を選択する場合の動作であるが、ワードラインドライバ512Aは、ワードラインWL01、WL02、WL03についても同一構造の回路を含むため、読み出し時と書き込み時の動作は、ワードラインWL00の場合と同一である。このため、ワードラインWL01、WL02、WL03についての動作説明は省略する。
 以上により、ワードラインドライバ512Aは、データを読み出す際に、読み出し用のサブアレイ選択データR_SASと、読み出し用のロウ選択データR_ROWで選択されたワードラインWLをHレベルにすることができる。また、ワードラインドライバ512Aは、データを書き込む際に、書き込み用のサブアレイ選択データW_SASと、書き込み用のロウ選択データW_ROWで選択されたワードラインWLをHレベルにすることができる。
 すなわち、ワードラインドライバ512Aは、読み出し用のサブアレイ選択データR_SAS、読み出し用のロウ選択データR_ROW、書き込み用のサブアレイ選択データW_SAS、書き込み用のロウ選択データW_ROWに基づいて、データの読み出し又は書き込みを行う際に、任意のワードラインWLをHレベルにすることができる。
 また、上述のように、ワードラインドライバ512Bの回路は、入力される選択信号のライン番号と、接続されるワードラインのライン番号が異なるだけで、回路構成と動作はワードラインドライバ512Aと同一である。また、各サブブロック510(図3B参照)に設けられるワードラインドライバ512A、512Bの回路は、すべて同一である。このため、ワードラインドライバ512B、他のサブブロック510に含まれるワードラインドライバ512A、512Bについての説明は省略する。
 次に、図6を用いて、実施の形態1のSRAM500においてデータの読み出しと書き込みを同時に行う際の動作について説明する。
 図6は、実施の形態1のSRAM500のデータの読み出し動作と書き込み動作を表すタイミングチャートである。
 ここでは、一例として、図6に示すサブアレイ511Aに含まれるビットセル601からデータの読み出しを行い、サブアレイ511Bに含まれるビットセル601にデータの書き込みを行う際の動作を説明する。このため、図6(A)に読み出し動作を示し、図6(B)に書き込み動作を示す。
 また、ここでは、図6に示す読み出し用のロウデコーダ611、サブアレイデコーダ612、カラムデコーダ613には、読み出し命令がすべてのサイクルにおいて入力されており、そのうちのサブアレイ511Aに関する動作について説明することとする。
 同様に、書き込み用のロウデコーダ621、サブアレイデコーダ622、カラムデコーダ623には、書き込み命令がすべてのサイクルにおいて入力されており、そのうちのサブアレイ511Bに関する動作について説明することとする。
 図6(A)は、読み出し命令の読み出し先を示す入力アドレス(Read Address)、ロウ選択データR_ROW00~R_ROW03、サブアレイ選択データR_SAS0、ワードラインWL00~WL03の信号レベル(WL00~WL03)、ビットラインBL00~BL03の信号レベル(BL00~BL03)、カラム選択データR_COL00~R_COL03、読み出しデータ(Read Data)を示す。
 ここで、図6(A)に示すすべての信号は、ワードラインドライバ512Aに入力される信号である。実際には、ワードラインドライバ512Aには、書き込み用のデコーダであるロウデコーダ621、サブアレイデコーダ622、及びカラムデコーダ623からロウ選択データW_ROW、サブアレイ選択データW_SAS、及びカラム選択データW_COLが入力される場合もある。しかしながら、ここでは、図6(A)で読み出し動作を示すため、書き込み動作に関する信号は省略する。
 図6(B)は、書き込み命令の書き込み先を示す入力アドレス(Write Address)、ロウ選択データW_ROW10~W_ROW13、サブアレイ選択データW_SAS1、ワードラインWL10~WL13の信号レベル(WL10~WL13)、カラム選択データW_COL10~W_COL13、ビットラインBL10~BL13の信号レベル(BL10~BL13)、書き込みデータ(Write Data)を示す。
 ここで、図6(B)に示すすべての信号は、ワードラインドライバ512Bに入力される信号である。実際には、ワードラインドライバ512Bには、読み出し用のデコーダであるロウデコーダ611、サブアレイデコーダ612、及びカラムデコーダ613からロウ選択データR_ROW、サブアレイ選択データR_SAS、及びカラム選択データR_COLが入力される場合もある。しかしながら、ここでは、図6(B)で書き込み動作を示すため、読み出し動作に関する信号は省略する。
 また、ビットラインBLB00~BLB03の信号レベルは、ビットラインBL00~BL03の信号レベルBL00~BL03の逆であるため、図6(A)、(B)では省略する。
 図6(A)に示す読み出し用のロウ選択データR_ROW00~R_ROW03は、それぞれ、ワードラインWL00~WL03を選択するロウ選択データである。また、図6(B)に示す読み出し用のロウ選択データR_ROW10~R_ROW13は、それぞれ、ワードラインWL10~WL13を選択するロウ選択データである。
 また、図6(A)に示すサブアレイ選択データR_SAS0は、読み出しのためにサブアレイ511A(Sub Array 0)を選択するサブアレイ選択データであり、図6(B)に示すサブアレイ選択データW_SAS1は、書き込みのためにサブアレイ511B(Sub Array 1)を選択するサブアレイ選択データである。
 また、図6(A)に示す読み出し用のカラム選択データR_COL00~R_COL03は、それぞれ、ビットラインBL00、BLB00~BL03、BLB03の対を選択するカラム選択データである。図6(B)に示す書き込み用のカラム選択データW_COL10~W_COL13は、それぞれ、ビットラインBL10、BLB10~BL13、BLB13の対を選択するカラム選択データである。
 なお、クロックは、図6(A)の一番上に示す通りであり、サイクル1~4を示す。クロックは、図6(A)、(B)で共通である。
 まず、サイクル1では、図6(A)に示すように、読み出し命令の読み出し先を示す入力アドレス(Read Address)により、ロウ選択データR_ROW03、サブアレイ選択データR_SAS0、カラム選択データR_COL03がHレベルになる。
 サブアレイ選択データR_SAS0がHレベルになることによってサブアレイ511A(図4A参照)が読み出し用に選択される。ロウ選択データR_ROW03がHレベルになると、ワードラインWL03の信号レベルがHになる。カラム選択データR_COL03がHレベルになると、ビットラインBL03、BLB03が選択される。
 これにより、ワードラインWL03とビットラインBL03、BLB03との交差部にあるビットセル601(図4A参照)のデータが読み出され、読み出しデータRD(Read Data)1が得られる。
 次に、サイクル3では、サブアレイ511Aのビットセル601に対してサイクル1と同様の選択が行われることによってデータの読み出しが行われることに加えて、サブアレイ511Bのビットセル601に対してデータの書き込みが行われる。サイクル3でのサブアレイ511Aのビットセル601に対するデータの読み出しは、サイクル1での読み出し動作と同一であるため省略し、サブアレイ511Bのビットセル601に対する書き込み動作について説明する。
 図6(B)に示すように、書き込み命令の書き込み先を示す入力アドレス(Write Address)により、ロウ選択データW_ROW13、サブアレイ選択データW_SAS1、カラム選択データW_COL13がHレベルになる。
 サブアレイ選択データW_SAS1がHレベルになることによってサブアレイ511B(図4A参照)が書き込み用に選択される。ロウ選択データW_ROW13がHレベルになると、ワードラインWL13の信号レベルがHになる。カラム選択データW_COL13がHレベルになると、ビットラインBL13、BLB13が選択される。
 これにより、ワードラインWL13とビットラインBL13、BLB13との交差部にあるビットセル601(図4A参照)の記憶ノードN1、N2に書き込みデータWD(Write Data)1が書き込まれる。
 以上のように、サイクル3では、サブアレイ511Aへの読み出しと、サブアレイ511Bへの書き込みを同時に行うことができる。
 なお、図6(A)には、サブアレイ511A内のワードライン03とビットラインBL03、BLB03によって特定されるビットセル601(図4A参照)からデータを読み出す動作例を示した。このため、ロウ選択データR_ROW00、R_ROW01、R_ROW02の信号レベル、及び、ワードラインWL00、WL01、WL02の信号レベルは、サイクル1~4を通じてLレベルである。同様に、カラム選択データR_COL00、R_COL01、R_COL02の信号レベルは、サイクル1~4を通じてLレベルである。また、ビットラインBL00、BL01、BL02の信号レベルは、サイクル1~4を通じてHレベルである。
 また、図6(B)には、サブアレイ511B内のワードライン13とビットラインBL13、BLB13によって特定されるビットセル601(図4A参照)にデータを書き込む動作例を示した。このため、ロウ選択データR_ROW10、R_ROW11、R_ROW12の信号レベル、及び、ワードラインWL10、WL11、WL12の信号レベルは、サイクル1~4を通じてLレベルである。同様に、カラム選択データR_COL10、R_COL11、R_COL12の信号レベルは、サイクル1~4を通じてLレベルである。また、ビットラインBL10、BL11、BL12の信号レベルは、サイクル1~4を通じてHレベルである。
 また、図6では、サブアレイ511AのワードラインWL03とビットラインBL03、BLB03の交差部のビットセル601と、サブアレイ511BのワードラインWL13とビットラインBL13、BLB13の交差部のビットセル601とを選択して読み書きを同時に行う動作例について説明した。
 しかしながら、サブアレイ511Aと511B内でのビットセル601の選択は、任意の組み合わせで行うことができるものである。
 また、サブアレイ511Aと511Bは、同一の構造であるため、サブアレイ511Aに書き込みを行うと同時に、サブアレイ511Bから読み出しを行うこともできる。この場合は、書き込み用のデコーダであるロウデコーダ621、サブアレイデコーダ622、及びカラムデコーダ623でサブアレイ511Aに対して書き込みを行い、読み出し用のデコーダであるロウデコーダ611、サブアレイデコーダ612、及びカラムデコーダ613でサブアレイ511Bから読み出しを行えばよい。
 以上のように、実施の形態1によれば、6トランジスタ型のビットセル601(図4B参照)を用いたSRAM500(半導体記憶装置)において、同一のサイクル内で、異なるサブアレイ511A、511Bに対して、読み出しと書き込みを行うことができる。
 このように、同一サイクル内でデータを読み出すメモリセルのアドレスと、データを書き込むメモリセルのアドレスとについて、互いに異なるサブアレイに含まれるメモリセルのアドレスを用いるという制限を設けることにより、実装面積や配線密度の点で有利な6トランジスタ型のシングルポート型のSRAM500において、同一のサイクル内での読み書きを実現することができる。
 従来は、図2に一例として示した8トランジスタ型のビットセルのように、読み出しと書き込みに用いるトランジスタを二対有し、読み出し用と書き込み用のビットラインに接続されるビットセルを含む半導体記憶装置でなければ読み出しと書き込みを同時に行うことはできなかった。
 これに対して、実施の形態1では、6トランジスタ型のビットセルのように、読み出しと書き込みに用いる一対のトランジスタを有するビットセルを含む半導体記憶装置で読み出しと書き込みを同時に行うことができるので、読み書き処理の速度向上と小型化を両立できる。このため、半導体記憶装置の読み書き処理の速度を担保しつつ、小型化(小面積化)、高密度化、大容量化、あるいは省電力化を実現することができる。
 また、ビットセルの小型化により、8トランジスタ型のビットセルのようにトランジスタ数の多いビットセルを含む半導体記憶装置よりもワードラインとビットラインを短くできるため、半導体記憶装置の動作周波数を向上させることが可能となり、読み書き処理の速度を向上させることができる。
 また、従来の8トランジスタ型のビットセルのように、読み出しと書き込みに用いるトランジスタを二対有するビットセルを含む半導体記憶装置では、読み出し用と書き込み用で別々のビットラインを設け、かつ、ワードラインも読み出し用と書き込み用で別々に設ける必要があった。
 これに対して、実施の形態1の半導体記憶装置は、読み出し用と書き込み用とでワードラインを共通化でき、ビットラインも読み出し用と書き込み用とで共通化できるので、半導体記憶装置の小型化、高密度化、大容量化、あるいは省電力化に好適である。
 また、従来の8トランジスタ型のビットセルのよりもトランジスタ数を少なくできるため、ビットライン又はワードラインの配線間隔を狭めなくても小型化を図れるので、配線間隔を狭めることによる配線間の容量増加が生じず、読み書き処理の速度の低下を抑制することができる。
 また、実施の形態1の半導体記憶装置は、グローバルビットラインを用いてメモリ領域を階層化したことによっても、読み書き処理の速度の向上を図ることができる。
 なお、6トランジスタ型のビットセル601(図4B参照)を用いたSRAM500(半導体記憶装置)について説明したが、メモリセルとしてのビットセルに含まれるトランジスタの数は、6個に限定されるものではない。信号の読み出しと書き込みに用いるトランジスタが一対で足り、ビットラインも一対で足りるメモリセルであれば、ビットセル601(図4B参照)の代わりに用いることができ、半導体記憶装置の小型化、高密度化、大容量化、あるいは省電力化を同様に実現することができる。
 また、上記に記載したSRAM500のメモリ領域がサブブロック510に分けられ、サブブロック510に2つのサブアレイ511が含まれる形態について説明した。しかしながら、サブブロック510とサブアレイ511は、メモリ領域の分割の仕方の一例に過ぎない。実施の形態1の半導体記憶装置は、メモリ領域が2つ以上に分割されていれば、一方の領域に対して読み出しを行い、他方の領域に対して書き込みを行うことができるため、様々な分割の仕方をした半導体記憶装置に適用することができる。
 また、以上では、グローバルビットラインを用いて複数のサブブロック510を階層化した半導体記憶装置について説明したが、必ずしもグローバルビットラインでサブブロック同士が接続されている必要はない。
 また、以上では、実施の形態1の半導体記憶装置であるSRAM500をLSI101のL1データキャッシュ113として用いる形態について説明したが、SRAM500は、L1データキャッシュ113以外のL2キャッシュメモリ等のキャッシュメモリとしても用いることが可能であり、また、キャッシュメモリ以外の種類の記憶装置としても用いることができる。
 また、以上では、実施の形態1の半導体記憶装置であるSRAM500を情報処理装置としてのサーバ100に適用した形態について説明したが、情報処理装置はサーバに限られず、パーソナルコンピュータ、タブレット型のコンピュータ等の種々の情報処理装置に適用することができる。
 <実施の形態2>
 実施の形態2の半導体記憶装置は、1つのビットセルに対してワードラインを2本含み、データの読み出し時は片方のワードラインだけを選択する点が実施の形態1の半導体記憶装置(SRAM500)と異なる。ワードラインが2本に増えることによってビットセルの接続とワードラインドライバの回路等が実施の形態1とは異なるが、その他は実施の形態1の半導体記憶装置と同一である。このため、同一の要素には同一符号を付し、その説明を省略する。以下、相違点を中心に説明する。
 図7Aは、実施の形態2のSRAM900の一部分を示す図であり、図7BはSRAM900に含まれるビットセルを示す図である。
 図7Aに示すSRAM900の一部分は、実施の形態1のSRAM500の一つのサブブロック510に対応する部分である。
 実施の形態2のSRAM900は、各ビットセルについてワードラインを2本含み、データを書き込むときは2本のワードラインを活性化させ、データを読み出すときは1本のワードラインを活性化させる。
 このような動作を実現するために、実施の形態2のSRAM900は、ワードラインWL00~WL03、WL10~WL13に加えて、書き込み用ワードラインWWL00~WWL03、WWL10~WWL13を含む。また、ワードラインWL00~WL03、WL10~WL13を駆動するワードラインドライバ512A、512Bに加えて、書き込み用ワードラインWWL00~WWL03、WWL10~WWL13を駆動する書き込み用ワードラインドライバ912A、912Bを含む。
 データを読み出すときはワードラインドライバ512A、512BでワードラインWL00~WL03、WL10~WL13だけを活性化させて、ビットセルの片方の記憶ノードのデータを読み出す。
 また、データを書き込むときはワードラインドライバ512A、512BでワードラインWL00~WL03、WL10~WL13を活性化させるとともに、書き込み用ワードラインドライバ912A、912Bで書き込み用ワードラインWWL00~WWL03、WWL10~WWL13を活性化させる。
 デコーダ520については、ワードラインドライバ512A、512Bと、ロウデコーダ611、サブアレイデコーダ612、カラムデコーダ613、ロウデコーダ621、サブアレイデコーダ622、及びカラムデコーダ623との接続関係は、実施の形態1と同一である。
 しかしながら、ロウデコーダ621とサブアレイデコーダ622は、書き込み用ワードラインドライバ912A、912Bにも接続されている点が実施の形態1と異なる。
 なお、実施の形態1と同様に、実際には、サブブロック510は階層化されているため、ロウデコーダ621とサブアレイデコーダ622は、すべてのサブブロック510のワードラインドライバ512A、512Bと、書き込み用ワードラインドライバ912A、912Bに接続されている。
 また、読み出し時と書き込み時とでワードラインの選択の仕方が実施の形態1と異なることにより、ビットラインの選択の仕方も実施の形態1とは異なる。これは、カラム選択/読み書き回路913によって実現される。カラム選択/読み書き回路913については後述する。
 ここで、実施の形態2のSRAM900で用いるビットセル901について説明する。
 図7Bに示すように、ビットセル901は、ビットラインBLBに接続されたNMOSトランジスタ605のゲートが書き込み用ワードラインWWLに接続されている点が実施の形態1のビットセル601と異なる。
 実施の形態2のSRAM900は、データを読み出す際は、ワードラインWLだけをHレベルにするとともに、ビットラインBLのみを選択してビットセル901の記憶ノードN2のデータを読み出す。
 また、データを書き込む際は、ワードラインWLと書き込み用ワードラインWWLをともにHレベルにするとともに、ビットラインBL、BLBを選択して、ビットセル901の記憶ノードN1、N2にデータを書き込む。
 このように、実施の形態2のSRAM900は、データを読み出す際には、ビットセル901のNMOSトランジスタ604だけをオンにする点が実施の形態1のSRAM500と異なる。
 実施の形態2のSRAM900は、データの読み出し時には、ロウデコーダ611、サブアレイデコーダ612、カラムデコーダ613でロウ選択、サブアレイ選択、カラム選択を行う。
 ロウデコーダ611は、読み出し命令の入力アドレスに含まれるロウ選択データR_ROWを用いてロウ選択を行う。ロウ選択データR_ROWは、ワードラインドライバ512A、512Bに入力され、ワードラインWL00~WL03、WL10~WL13のいずれかが選択される。図7Aには2つのサブアレイ511A、511Bを示すが、実際には多数存在するため、ロウデコーダ611によるロウ選択は、すべてのサブアレイの中から行われる。
 サブアレイデコーダ612は、読み出し命令の入力アドレスに含まれるサブアレイ選択データR_SAS(Read Sub Array Select)を用いてロウ選択を行う。サブアレイ選択データR_SASは、ワードラインドライバ512A、512Bに入力され、サブアレイ511A又は511Bが選択される。図7Aには2つのサブアレイ511A、511Bを示すが、実際には多数存在するため、サブアレイデコーダ612によるサブアレイ選択は、すべてのサブアレイの中から行われる。
 カラムデコーダ613は、読み出し命令の入力アドレスに含まれるカラム選択データR_COL(Read COLumn)を用いてカラム選択を行う。カラム選択データR_COLは、カラム選択/読み書き回路913に入力され、ビットラインBL00~BL03、BL10~BL13のいずれかが選択される。図7Aには2つのサブアレイ511A、511Bを示すが、実際には多数存在するため、カラムデコーダ613によるカラム選択は、すべてのサブアレイの中から行われる。
 ロウデコーダ621は、書き込み命令の入力アドレスに含まれるロウ選択データW_ROW(Write ROW)を用いてロウ選択を行う。ロウ選択データW_ROWは、ワードラインドライバ512A、512Bと、書き込み用ワードラインドライバ912A、912Bとに入力され、データの書き込み時には、ライン番号(00~03)が同一のワードラインWLと書き込み用ワードラインWWLが対になって選択される。
 図7Aに示すサブアレイ511Aには、4本のワードラインWL00~WL03と4本の書き込み用ワードラインWWL00~WWL03とがあるため、WL00~WL03とWWL00~WWL03は、ライン番号(00~03)が同一のもの同士で対として選択される。なお、これは、サブアレイ511Bについても同様であり、図7Aに図示しないその他のサブアレイについても同様である。
 サブアレイデコーダ622は、書き込み命令の入力アドレスに含まれるサブアレイ選択データW_SASを用いてロウ選択を行う。サブアレイ選択データW_SASは、ワードラインドライバ512A、512Bと、書き込み用ワードラインドライバ912A、912Bとに入力され、データの書き込み時に、サブアレイ511A又は511Bが選択される。
 図7Aには2つのサブアレイ511A、511Bを示すが、実際には多数存在するため、サブアレイデコーダ622によるサブアレイの選択は、すべてのサブアレイの中から行われる。
 カラムデコーダ623は、書き込み命令の入力アドレスに含まれるカラム選択データW_COLを用いてカラム選択を行う。カラム選択データW_COLは、カラム選択/読み書き回路913に入力され、ビットラインBL00~BL03、BLB00~BLB03、BL10~BL13、BLB10~BLB13のうちのいずれかの対が選択される。図7Aには2つのサブアレイ511A、511Bのみを示すが、実際には多数のサブアレイが存在し、カラムデコーダ623によるカラム選択は、すべてのサブアレイの中から行われる。
 次に、カラム選択/読み書き回路913について説明する。
 カラム選択/読み書き回路913は、ビットラインBL、BLBの選択、読み出し/書き込みの切り替え、読み出しデータ/書き込みデータの受け渡しを行える回路であればよい。
 ビットラインBL、BLBの選択は、カラムデコーダ613、623から伝送されるカラム選択データに基づいて行われる。
 カラム選択/読み書き回路913は、データを読み出すために、カラムデコーダ613からカラム選択データを受け取ると、ビットラインBLを選択する。
 カラム選択/読み書き回路913は、データを書き込むために、カラムデコーダ623からカラム選択データを受け取ると、ビットラインBLとBLBを選択する。
 また、カラム選択/読み書き回路913には、読み出したデータを入出力ポート(I/O)530(図3B参照)に伝送するグローバルビットライン514が接続されている。グローバルビットライン514は、ビットラインBLを通じて読み出したデータを出力するラインである。
 また、カラム選択/読み書き回路913のうち、ビットラインの選択を行う回路は、カラムデコーダ613、623から伝送されるカラム選択データに基づいて、サブアレイ511A、511Bに含まれるビットラインBL00、BLB00~BL03、BLB03、BL10、BLB10~BL13、BLB13を選択できれば、その形式は問わない。
 また、カラム選択/読み書き回路913のうち、読み出しデータ及び書き込みデータの受け渡しを行う回路は、ライトイネーブル信号WEの信号レベルに応じて読み出し処理と書き込み処理を切り替えることができ、入出力ポート530(図3B参照)に接続されたグローバルビットライン514との間で、データの受け渡しができる回路であれば、その形式は問わない。
 次に、図10を用いて、ワードラインドライバ512A、512Bと、書き込み用ワードラインドライバ912A、912Bの回路について説明する。上述のように、ワードラインドライバ512A、512Bは、同一の構造を有するため、ここでは、ワードラインドライバ512Aについて説明を行う。また、書き込み用ワードラインドライバ912A、912Bは、同一の構造を有するため、ここでは、書き込み用ワードラインドライバ912Aについて説明を行う。
 図8Aは、実施の形態2のSRAM900のワードラインドライバ512Aの回路図であり、図8Bは、書き込み用ワードラインドライバ912Aの回路図である。
 図8Aに示すワードラインドライバ512Aの回路は、実施の形態1のワードラインドライバ512A(図5参照)と同一である。
 ワードラインドライバ512Aは、読み出し用のロウ選択データR_ROW、読み出し用のサブアレイ選択データR_SAS、書き込み用のロウ選択データW_ROW、書き込み用のサブアレイ選択データW_SASに基づき、ワードラインWL00~WL03の選択を行う。
 次に、書き込み用ワードラインドライバ912Aについて説明する。
 図8Bに示すように、書き込み用ワードラインドライバ912Aのロウ選択データW_ROW00が入力される信号線には、NMOSトランジスタ1000Wのゲートが接続されている。NMOSトランジスタ1000Wのソースは、NMOSトランジスタ1050Wのドレインに接続されている。
 ここで、NMOSトランジスタ1050Wのゲートには、書き込み用のサブアレイ選択データW_SASが入力され、ソースは接地されている。
 また、NMOSトランジスタ1000Wのドレインは、インバータ1002に接続されるとともに、PMOSトランジスタ1001Wのドレインに接続されている。PMOSトランジスタ1001Wのソースは、所定電圧の電源に接続されている。
 PMOSトランジスタ1001Wのゲートには、書き込み用のサブアレイ選択データW_SASが入力されるように接続されている。
 なお、インバータ1002の出力側は、書き込み用ワードラインWWL00に接続されている。
 書き込み用ワードラインドライバ912Aは、書き込み用ワードラインWWL01、WWL02、WWL03についても、書き込み用ワードラインWWL00と同一の回路を含んでいる。なお、NMOSトランジスタ1050Wは、書き込み用ワードラインWWL00~WWL03で共通である。
 書き込み用ワードラインドライバ912Aは、書き込み用ワードラインWWL01については、NMOSトランジスタ1010W、PMOSトランジスタ1011W、及びインバータ1012を含む。
 また、書き込み用ワードラインWWL02については、NMOSトランジスタ1020W、PMOSトランジスタ1021W、及びインバータ1022を含む。
 また、書き込み用ワードラインWWL03については、NMOSトランジスタ1030W、PMOSトランジスタ1031W、及びインバータ1032を含む。
 なお、上述のように、NMOSトランジスタ1050Wは、書き込み用ワードラインWWL00~WWL03で共通である。
 ここで、データを書き込む際に、サブアレイ511Aの書き込み用ワードラインWWL00を選択する場合の動作を説明する。この場合は、図8Bに示す書き込み用のサブアレイ選択データW_SASがHレベルになり、かつ、書き込み用のロウ選択データW_ROW00がHレベルになる。
 書き込み用のサブアレイ選択データW_SASがHレベルになると、PMOSトランジスタ1001Wがオフになり、NMOSトランジスタ1050Wがオンになる。また、書き込み用のロウ選択データW_ROW00がHレベルになると、NMOSトランジスタ1000Wがオンになる。
 これにより、NMOSトランジスタ1050W及び1000Wを通じて、インバータ1002の入力はLレベルになり、このLレベルはインバータ1002で反転されてHレベルが出力される。これにより、書き込み用ワードラインWWL00がHレベルになる。
 また、書き込み用のロウ選択データW_ROW00がHレベルになると、図8Aに示すワードラインWL00もHレベルになる。このため、書き込み用のロウ選択データW_ROW00がHレベルになると、ライン番号の等しいワードラインWL00と書き込み用ワードラインWWL00がともにHレベルになることになる。
 なお、ここでは、書き込み用ワードラインWWL00を選択する場合の動作について説明したが、書き込み用ワードラインドライバ912Aは、書き込み用ワードラインWWL01、WWL02、WWL03についても同一構造の回路を含むため、書き込み時の動作は、書き込み用ワードラインWWL00の場合と同一である。
 このため、書き込み用のロウ選択データW_ROW01~W_ROW03の各々がHレベルになると、ライン番号の等しいワードラインWL01~WL03と書き込み用ワードラインWWL00~WWL03とが対としてそれぞれHレベルになることになる。
 なお、ワードラインドライバ512Bと書き込み用ワードラインドライバ912Bは、それぞれ、入力される選択信号のライン番号と、接続されるワードラインのライン番号が異なるだけで、回路構成と動作はワードラインドライバ512Aと書き込み用ワードラインドライバ912Aと同一である。また、各サブブロック510(図3B参照)に設けられるワードラインドライバ512A、512Bの回路は、すべて同一である。
 次に、図9を用いて、実施の形態2のSRAM900においてデータの読み出しと書き込みを同時に行う際の動作について説明する。
 図9は、実施の形態2のSRAM900のデータの読み出し動作と書き込み動作を表すタイミングチャートである。
 ここでは、一例として、図9に示すサブアレイ511Aに含まれるビットセル601からデータの読み出しを行い、サブアレイ511Bに含まれるビットセル601にデータの書き込みを行う際の動作を説明する。このため、図9(A)に読み出し動作を示し、図9(B)に書き込み動作を示す。
 なお、ここでは、読み出し用のロウデコーダ611、サブアレイデコーダ612、カラムデコーダ613には、読み出し命令がすべてのサイクルにおいて入力されており、そのうちのサブアレイ511Aに関する動作について説明することとする。
 同様に、書き込み用のロウデコーダ621、サブアレイデコーダ622、カラムデコーダ623には、書き込み命令がすべてのサイクルにおいて入力されており、そのうちのサブアレイ511Bに関する動作について説明することとする。
 図9(A)は、読み出し命令の入力アドレス(Read Address)、ロウ選択データR_ROW00~R_ROW03、サブアレイ選択データR_SAS0、ワードラインWL00~WL03の信号レベル(WL00~WL03)、ビットラインBL00~BL03の信号レベル(BL00~BL03)、カラム選択データR_COL00~R_COL03、読み出しデータ(Read Data)を示す。
 図9(B)は、書き込み命令の入力アドレス(Write Address)、ロウ選択データW_ROW10~W_ROW13、サブアレイ選択データW_SAS1、ワードラインWL10~WL13の信号レベル(WL10~WL13)、書き込み用ワードラインWWL10~WWL13の信号レベル(WWL10~WWL13)、カラム選択データW_COL10~W_COL13、ビットラインBL10~BL13の信号レベル(BL10~BL13)、書き込みデータ(Write Data)を示す。
 なお、ワードラインドライバ512A、512B、書き込み用ワードラインドライバ912A、912Bを用いて、サブアレイ511A、511Bのいずれに対してもデータの読み出し又は書き込みを行うことができる。しかしながら、ここでは、サブアレイ511Aからデータの読み出しを行い、サブアレイ511Bにデータを書き込む場合について説明するため、動作説明に直接関係のない信号は省略する。
 図9(A)に示すように、読み出しの動作は、片方のワードラインWLと片方のビットラインBLだけを用いて行われるが、タイミングチャートは、実施の形態1で図6(A)に示した動作と同一であり、サイクル1とサイクル3で読み出しデータRD1、RD3が得られる。読み出しの際は、図7Bに示すように、ワードラインWLに接続されたNMOSトランジスタ604だけがオンにされ、ビットラインBLを介して記憶ノードN2のデータが読み出される。
 次に、図9(B)を用いて、サイクル3でサブアレイ511Bのビットセルに対してデータの書き込みを行う際の動作について説明する。
 図9(B)に示すように、サイクル3において、書き込み命令の入力アドレス(Write Address)により、ロウ選択データW_ROW13、サブアレイ選択データW_SAS1、カラム選択データW_COL13がHレベルにされる。
 サブアレイ選択データW_SAS1がHレベルになることによってサブアレイ511B(図7A参照)が書き込み用に選択される。ロウ選択データW_ROW13がHレベルになると、ワードラインWL13と書き込み用ワードラインWWL13の信号レベルがともにHになる。カラム選択データW_COL13がHレベルになると、ビットラインBL13、BLB13が選択される。
 これにより、ワードラインWL13及び書き込み用ワードラインWWL13と、ビットラインBL13、BLB13との交差部にあるビットセル601(図7A参照)の記憶ノードN1、N2に書き込みデータ(Write Data)が書き込まれる。
 このように、サイクル3では、サブアレイ511Aからのデータの読み出しと、サブアレイ511Bへのデータの書き込みを同時に行うことができる。
 なお、図9では、サブアレイ511AのワードラインWL03とビットラインBL03、BLB03の交差部のビットセル601と、サブアレイ511BのワードラインWL13及び書き込み用ワードラインWWL13と、ビットラインBL13、BLB13との交差部のビットセル601とを選択して読み書きを同時に行う動作例について説明した。しかしながら、サブアレイ511Aと511B内でのビットセル601の選択は、任意の組み合わせで行うことができるものであり、また、サブアレイ511Aに書き込みを行うと同時に、サブアレイ511Bから読み出しを行うこともできる。
 以上のように、実施の形態2によれば、6トランジスタ型のビットセル(図7B参照)を用いたSRAM900(半導体記憶装置)において、同一のサイクル内で、異なるサブアレイ511A、511Bに対して、読み出しと書き込みを行うことができる。
 このように、同一サイクル内でデータを読み出すメモリセルのアドレスと、データを書き込むメモリセルのアドレスとについて、互いに異なるサブアレイに含まれるメモリセルのアドレスを用いるという制限を設けることにより、実装面積や配線密度の点で有利な6トランジスタ型のシングルポート型のSRAM900において、同一のサイクル内での読み書きを実現することができる。
 また、読み出し時には、ビットセル901の片方のポート(ここでは、NMOSトランジスタ604)だけをオンにするだけでよいので、読み出し時におけるSRAM900の電力消費を抑制することができる。
 従来は、図2に一例として示した8トランジスタ型のビットセルのように、読み出しと書き込みに用いるトランジスタを二対有し、読み出し用と書き込み用のビットラインに接続されるビットセルを含む半導体記憶装置でなければ読み出しと書き込みを同時に行うことはできなかった。
 これに対して、実施の形態2では、6トランジスタ型のビットセルのように、読み出しと書き込みに用いる一対のトランジスタを有するビットセルを含む半導体記憶装置で読み出しと書き込みを同時に行うことができるので、読み書き処理の速度向上と小型化を両立できる。このため、半導体記憶装置の読み書き処理の速度を担保しつつ、小型化(小面積化)、高密度化、大容量化、あるいは省電力化を実現することができる。
 また、実施の形態2の半導体記憶装置は、ワードラインWLに加えて書き込み用ワードラインWWLを含むが、従来の8トランジスタ型の半導体記憶装置(図2参照)は、ビットラインが二対(4本)必要なので、トランジスタの数だけでなく、ビットラインの数も少なくて済む。
 このため、半導体記憶装置の小型化を実施の形態1の半導体記憶装置と略同一のレベルで達成することができる。
 このため、読み書き処理の速度の向上、半導体記憶装置の小型化、高密度化、大容量化、あるいは省電力化を図ることができる。
 また、実施の形態2の半導体記憶装置は、各サブアレイ511に対してワードラインドライバを2つ含むが、書き込み用ワードラインドライバ912A、912Bは、ワードラインドライバ512A、512Bに比べて簡易な回路で実現できる。このため、実施の形態1の半導体記憶装置に比べて、スペース的にもコスト的にも最小限の追加で実現が可能である。
 なお、以上では、6トランジスタ型のビットセル901(図7B参照)を用いたSRAM900(半導体記憶装置)について説明したが、メモリセルとしてのビットセルに含まれるトランジスタの数は、6個に限定されるものではない。信号の読み出しと書き込みに用いるトランジスタが一対で足り、ビットラインも一対で足りるメモリセルであれば、ビットセル901(図7B参照)の代わりに用いることができ、半導体記憶装置の小型化、高密度化、大容量化、あるいは省電力化を同様に実現することができる。
 <実施の形態3>
 実施の形態3の半導体記憶装置は、1つのビットセルに対してワードラインを2本含む点は実施の形態2と同一であるが、どちらのワードラインを選択することによってもデータを読み出せる点が実施の形態2の半導体記憶装置と異なる。
 実施の形態3の半導体記憶装置は、読み出しと書き込みを異なるサブアレイで同時にできることに加えて、互いに異なるサブアレイに含まれるビットセルから同時にデータの読み出しを行うことができる。
 図10Aは、実施の形態3のSRAM1200の一部分を示す図であり、図10BはSRAM1200に含まれるビットセルを示す図である。
 図10Aに示すSRAM1200の一部分は、実施の形態1のSRAM500の一つのサブブロック510に対応する部分である。
 図10Aに示すように、実施の形態3のSRAM1200のサブアレイ511Aは、各ビットセルにワードラインが2本ずつ配線されている。ワードラインWLA(Word Line port A)00~WLA03は、実施の形態2のワードラインWL00~WL03に対応する。また、ワードラインWLB(Word Line port B)00~WLB03は、実施の形態2の書き込み用ワードラインWWLWWL00~WWL03に対応する。
 同様に、サブアレイ511Bは、各ビットセルにワードラインが2本ずつ配線されている。ワードラインWLA10~WLA13は、実施の形態2のワードラインWL10~WL13に対応する。また、ワードラインWLB10~WLB13は、実施の形態2の書き込み用ワードラインWWL10~WWL13に対応する。
 実施の形態3のSRAM1200は、ロウ選択、サブアレイ選択、及びカラム選択を行うデコーダがAポートとBポートに分かれている。Aポートは、実施の形態2における読み出し用のデコーダ(図9の611、612、613参照)に相当する。Bポートは、実施の形態2における書き込み用のデコーダ(図9の621、622、623参照)に相当する。
 デコーダ1520のうちのAポートは、ロウデコーダ1611、サブアレイデコーダ1612、及びカラムデコーダ1613を含み、読み出し用のデコーダとして用いられる。また、デコーダ1520のうちのBポートは、ロウデコーダ1621、サブアレイデコーダ1622、及びカラムデコーダ1623を含み、読み出しと書き込みの両用のデコーダとして用いられる。
 なお、ロウデコーダ1611、サブアレイデコーダ1612、カラムデコーダ1613、ロウデコーダ1621、サブアレイデコーダ1622、及びカラムデコーダ1623は、一つのSRAMに対して、一つずつ配設される。
 Aポートのロウデコーダ1611とサブアレイデコーダ1612は、信号線を介して、Aポートワードラインドライバ1512A、1512Bに接続されている。実際には、サブブロック510(図3B参照)は階層化されているため、ロウデコーダ1611とサブアレイデコーダ1612は、すべてのサブブロック510のAポートワードラインドライバ1512A、1512Bに接続されている。
 Aポートのカラムデコーダ1613は、信号線A_COL(port A COLumn)を介して、カラム選択/読み書き回路1513に接続されている。実際には、サブブロック510(図3B参照)は階層化されているため、カラムデコーダ1613は、すべてのサブブロック510のカラム選択/読み書き回路1513に接続されている。
 Bポートのロウデコーダ1621は、信号線B_ROWを介し、サブアレイデコーダ1622は、信号線B_SASを介して、Aポートワードラインドライバ1512A、1512Bにそれぞれ接続されるとともに、Bポートワードラインドライバ1912A、1912Bにそれぞれ接続されている。実施の形態1と同様に、実際には、サブブロック510は階層化されているため、ロウデコーダ1621とサブアレイデコーダ1622は、すべてのサブブロック510のAポートワードラインドライバ1512A、1512Bと、Bポートワードラインドライバ1912A、1912Bに接続されている。
 Bポートのカラムデコーダ1623は、信号線B_COL(port B COLumn)を介して、カラム選択/読み書き回路1513に接続されている。実際には、サブブロック510(図3B参照)は階層化されているため、カラムデコーダ1623は、すべてのサブブロック510のカラム選択/読み書き回路1513に接続されている。
 ここで、実施の形態3のSRAM1200で用いるビットセル1201について説明する。
 図10Bに示すように、1つのビットセル1201に対して2本のワードラインWLAとワードラインWLBが配線されている。NMOSトランジスタ604のゲートは、ワードラインWLAに接続され、NMOSトランジスタ605のゲートは、ワードラインWLBに接続されている。
 また、図10Bに示すように、1つのビットセル1201に対して一対のビットラインBLA、BLBが接続されており、ビットラインBLA、BLBの選択は、カラム選択/読み書き回路1513によって行われる。
 このように、ワードラインとビットラインの名称が異なるが、2本のワードラインWLA、WLB、一対のビットラインBLA、BLB、及びNMOSトランジスタ604、605の接続関係は、実施の形態2のビットセル901と同一である。また、インバータ602、603の接続関係も実施の形態2のビットセル901と同一である。
 実施の形態3のSRAM1200は、Aポートのロウデコーダ1611、サブアレイデコーダ1612、及びカラムデコーダ1613で選択したビットセル1201からデータを読み出す際は、ワードラインWLAだけをHレベルにして、ビットラインBLAを通じて記憶ノードN2のデータを読み出す。
 また、Bポートのロウデコーダ1621、サブアレイデコーダ1622、及びカラムデコーダ1623で選択したビットセル1201からデータを読み出す際は、ワードラインWLBだけをHレベルにして、ビットラインBLBを通じて記憶ノードN1のデータを読み出す。
 また、データを書き込む際は、Bポートのサブアレイデコーダ1622、及びカラムデコーダ1623でビットセル1201を選択し、ワードラインWLA、WLBをともにHレベルにして、ビットラインBLA、BLBを通じて記憶ノードN1、N2にデータを書き込む。
 次に、実施の形態3のSRAM1200で用いるカラム選択/読み書き回路1513について説明する。
 カラム選択/読み書き回路1513は、ビットラインBLA、BLBの選択、読み出し/書き込みの切り替え、読み出しデータ/書き込みデータの受け渡しを行える回路であればよいが、読み出し用のグローバルビットライン1514を2本有する点が実施の形態2と異なる。
 ビットラインBLA、BLBの選択は、カラムデコーダ1613、1623から伝送されるカラム選択データに基づいて行われる。
 カラム選択/読み書き回路1513は、データを読み出すために、Aポートのカラムデコーダ1613からカラム選択データを受け取ると、ビットラインBLAを選択する。
 カラム選択/読み書き回路1513は、データを読み出すために、Bポートのカラムデコーダ1623からカラム選択データを受け取ると、ビットラインBLBを選択する。
 カラム選択/読み書き回路1513は、データを書き込むために、Bポートのカラムデコーダ1623からカラム選択データを受け取ると、ビットラインBLAとBLBを選択する。
 なお、カラム選択/読み書き回路1513に接続される2本のグローバルビットライン1514のうちの一方は、ビットラインBLAを通じて読み出したデータを出力するAポート用のラインである。他方は、ビットラインBLBを通じて読み出したデータを出力するBポート用のラインである。
 また、カラム選択/読み書き回路1513のうち、ビットラインの選択を行う回路は、カラムデコーダ1613、1623から伝送されるカラム選択データに基づいて、2つのサブアレイ511A、511Bにそれぞれ四対含まれるビットラインBLA00、BLB00~BLA03、BLB03、BLA10、BLB10~BLA13、BLB13を選択できれば、その形式は問わない。
 また、カラム選択/読み書き回路1513のうち、読み出しデータ及び書き込みデータの受け渡しを行う回路は、読み出し命令又は書き込み命令に含まれるライトイネーブル信号WEの信号レベルに応じて読み出し処理と書き込み処理を切り替えることができ、入出力ポート530(図3B参照)に接続されたグローバルビットライン1514との間で、データの受け渡しができる回路であれば、その形式は問わない。
 次に、ロウデコーダ1611、1621によるロウ選択、サブアレイデコーダ1612、1622によるサブアレイ選択、カラムデコーダ1613、1623によるカラム選択について説明する。
 ロウデコーダ1611は、読み出し命令の入力アドレス(A-Port Address)に含まれるロウ選択データA_ROWを用いてロウ選択を行う。ロウ選択データA_ROWは、Aポートワードラインドライバ1512A、1512Bに入力される。なお、図10Aに図示しないその他のサブアレイについても同様であり、ロウ選択データA_ROWは、図示しないサブアレイのAポートワードラインドライバ1512A、1512Bにも入力される。
 サブアレイデコーダ1612は、読み出し命令の入力アドレス(A-Port Address)に含まれるサブアレイ選択データA_SASを用いてロウ選択を行う。サブアレイ選択データA_SASは、Aポートワードラインドライバ1512A、1512Bに入力される。なお、図10Aに図示しないその他のサブアレイについても同様であり、サブアレイ選択データA_SASは、図示しないサブアレイのAポートワードラインドライバ1512A、1512Bに入力される。
 カラムデコーダ1613は、読み出し命令の入力アドレス(A-Port Address)に含まれるカラム選択データA_COLを用いてカラム選択を行う。カラム選択データA_COLは、カラム選択/読み書き回路1513に入力される。なお、図10Aに図示しないその他のサブブロック510についても同様である。
 ロウデコーダ1621は、読み出し命令又は書き込み命令の入力アドレス(B-Port Address)に含まれるロウ選択データB_ROWを用いてロウ選択を行う。ロウ選択データB_ROWは、Aポートワードラインドライバ1512A、1512Bと、Bポートワードラインドライバ1912A、1912Bとに入力される。なお、図10Aに図示しないその他のサブアレイについても同様である。
 サブアレイデコーダ1622は、読み出し命令又は書き込み命令の入力アドレス(B-Port Address)に含まれるサブアレイ選択データB_SASを用いてロウ選択を行う。サブアレイ選択データB_SASは、Aポートワードラインドライバ1512A、1512Bと、Bポートワードラインドライバ1912A、1912Bとに入力される。なお、図10Aに図示しないその他のサブアレイについても同様である。
 カラムデコーダ1623は、読み出し命令又は書き込み命令の入力アドレス(B-Port Address)に含まれるカラム選択データB_COLを用いてカラム選択を行う。カラム選択データB_COLは、カラム選択/読み書き回路1513に入力される。なお、図10Aに図示しないその他のサブブロック510についても同様である。
 次に、図13を用いて、Aポートワードラインドライバ1512A、1512Bと、Bポートワードラインドライバ1912A、1912Bの回路について説明する。上述のように、Aポートワードラインドライバ1512A、1512Bは、同一の構造を有するため、ここでは、Aポートワードラインドライバ1512Aについて説明を行う。また、Bポートワードラインドライバ1912A、1912Bは、同一の構造を有するため、ここでは、Bポートワードラインドライバ1912Aについて説明を行う。
 図11Aは、実施の形態3のSRAM1200のAポートワードラインドライバ1512Aの回路図であり、図11Bは、Bポートワードラインドライバ1912Aの回路図である。
 図11Aに示すAポートワードラインドライバ1512Aは、入出力信号の符号が異なるだけで、回路自体は実施の形態1のワードラインドライバ512A(図5参照)と同一であるため、各素子には同一符号を付し、動作説明を省略する。
 Aポートワードラインドライバ1512Aは、読み出し用のロウ選択データA_ROW00~A_ROW03、読み出し用のサブアレイ選択データA_SAS、読み出し用又は書き込み用のロウ選択データB_ROW00~B_ROW03、読み出し用又は書き込み用のサブアレイ選択データB_SASに基づき、ワードラインWLA00~WLA03の選択を行う。
 Aポートワードラインドライバ1512AによってワードラインWLA00~WLA03が選択されるのは、ビットセル1201の記憶ノードN2(図10B参照)のデータを読み出す場合と、データを書き込む場合である。データを書き込む場合は、Bポートワードラインドライバ1912Aとともに同一のライン番号のワードラインWLB00~WLB03が選択される。
 次に、Bポートワードラインドライバ1912Aについて説明する。
 図11Bに示すBポートワードラインドライバ1912Aは、入出力信号の符号が異なるだけで、回路自体は実施の形態2の書き込み用ワードラインドライバ912A(図8B参照)と同一であるため、各素子には同一符号を付し、動作説明を省略する。
 Bポートワードラインドライバ1912Aは、読み出し用又は書き込み用のロウ選択データB_ROW00~B_ROW03、読み出し用又は書き込み用のサブアレイ選択データB_SASに基づき、ワードラインWLB00~WLB03の選択を行う。
 Bポートワードラインドライバ1912AによってワードラインWLB00~WLB03が選択されるのは、ビットセル1201の記憶ノードN1(図10B参照)のデータを読み出す場合と、データを書き込む場合である。データを書き込む場合は、Aポートワードラインドライバ1512Aとともに同一のライン番号のワードラインWLA00~WLA03が選択される。
 なお、Aポートワードラインドライバ1512B、Bポートワードラインドライバ1912Bは、入力される選択信号のライン番号と、接続されるワードラインのライン番号が異なるだけで、回路構成と動作はAポートワードラインドライバ1512A、Bポートワードラインドライバ1912Aと同一である。
 次に、図12を用いて、実施の形態3のSRAM1200においてデータの読み出しと書き込みを同時に行う際の動作について説明する。
 図12は、実施の形態3のSRAM1200のデータの読み出し動作と書き込み動作を表すタイミングチャートである。
 ここでは、一例として、サイクル1で図12に示すサブアレイ511A、511Bにそれぞれ含まれるビットセル601から同時にデータの読み出しを行い、サイクル3でサブアレイ511Aに含まれるビットセル601からデータを読み出すとともに、サブアレイ511Bに含まれるビットセル601にデータの書き込みを行う際の動作を説明する。
 図12(A)は、Aポートの入力アドレス(A Address)、ロウ選択データA_ROW00~A_ROW03、サブアレイ選択データA_SAS0、ワードラインWLA00~WLA03の信号レベル(WLA00~WLA03)、ビットラインBLA00~BLA03の信号レベル(BLA00~BLA03)、カラム選択データA_COL00~A_COL03、データ(A Data)を示す。
 図12(B)は、Bポートの入力アドレス(B Address)、ロウ選択データB_ROW10~B_ROW13、サブアレイ選択データB_SAS1、ワードラインWLA10~WLA13の信号レベル(WLA10~WLA13)、ワードラインWLB10~WLB13の信号レベル(WLB10~WLB13)、カラム選択データB_COL10~B_COL13、ビットラインBLA10~BLA13の信号レベル(BLA10~BLA13)、WE信号、データ(B Data)を示す。
 なお、Aポートは、読み出し用のポートであるため、図12(A)のタイミングチャートには、書き込み制御信号であるWE信号を示さない。また、図12(A)、(B)では、動作説明に直接関係のない信号は省略する。
 図12(A)のサイクル1とサイクル3に示す読み出しの動作は、片方のワードラインと片方のビットラインだけを用いて行われるが、タイミングチャートは、実施の形態1で図6(A)に示した動作と同一である。すなわち、Aポートワードラインドライバ1512Aによって選択されたワードラインWLA03と、カラム選択/読み書き回路1513によって選択されたビットラインBLA03、BLB03との交差部のビットセル1201からサイクル1、サイクル3で読み出しデータRDA1、RDA3が得られる。
 次に、図12(B)を用いて、サイクル1でサブアレイ511Bのビットセルからデータを読み出し、サイクル3でサブアレイ511Bのビットセルに対してデータの書き込みを行う際の動作について説明する。
 図12(B)のサイクル1では、ロウ選択データB_ROW13、サブアレイ選択データB_SAS1、カラム選択データB_COL13がHレベルにされ、WE信号がLレベルにされる。
 これにより、サブアレイ511Bが選択され、Bポートワードラインドライバ1912BによってワードラインWLB13がHレベルになり、カラム選択/読み書き回路1513によってビットラインBLB13が選択される。
 この結果、ワードラインWLB13とビットラインBLB13の交差部にあるNMOSトランジスタ605がオンになり、記憶ノードN1のデータ(RDB1)がカラム選択/読み書き回路1513によってビットラインBLB13を通じて読み出される。
 また、図12(B)のサイクル3では、ロウ選択データB_ROW13、サブアレイ選択データB_SAS1、カラム選択データB_COL13がHレベルにされ、WE信号がHレベルにされる。
 これにより、サブアレイ511Bが選択され、Aポートワードラインドライバ1512BによってワードラインWLA13が選択され、Bポートワードラインドライバ1912BによってワードラインWLB13が選択され、カラム選択/読み書き回路1513によってビットラインBLA13、BLB13が選択される。
 この結果、ワードラインWLA13、WLB13と、ビットラインBLA13、BLB13の交差部にあるビットセル1201が選択され、記憶ノードN1、N2にデータ(WDB3)がカラム選択/読み書き回路1513によってビットラインBLA13、BLB13を通じて書き込まれる。
 以上のように、実施の形態3の半導体記憶装置であるSRAM1200によれば、読み出しと書き込みを異なるサブアレイで同時にできることに加えて、互いに異なるサブアレイに含まれるビットセルから同時にデータの読み出しを行うことができる。
 すなわち、6トランジスタのビットセルを用いつつ、1つのビットセルに対するワードラインを2本有することにより、異なるサブアレイでの読み出しと書き込みを同時に可能にするとともに、記憶ノードN1、N2のどちらからでもデータを読み出すことのできる半導体記憶装置を提供することができる。
 このように、同一サイクル内でデータを読み出すメモリセルのアドレスと、データを書き込むメモリセルのアドレスとについて、互いに異なるサブアレイに含まれるメモリセルのアドレスを用いるという制限を設けることにより、実装面積や配線密度の点で有利な6トランジスタ型のシングルポート型のSRAM500において、同一のサイクル内での読み書きを実現することができる。また、1つのビットセルに対するワードラインを2本有し、2本のワードラインのうちのどちらか一方を選択すれば、選択したワードラインからデータを読み出すことができる。このため、記憶ノードN1、N2のどちらからでもデータを読み出すことができる。
 なお、以上では、6トランジスタ型のビットセル1201(図10B参照)を用いたSRAM1200(半導体記憶装置)について説明したが、メモリセルとしてのビットセルに含まれるトランジスタの数は、6個に限定されるものではない。信号の読み出しと書き込みに用いるトランジスタが一対で足り、ビットラインも一対で足りるメモリセルであれば、ビットセル1201(図10B参照)の代わりに用いることができ、半導体記憶装置の小型化(小面積化)、高密度化、大容量化、あるいは省電力化を同様に実現することができる。
 以上、本発明の例示的な実施の形態の半導体記憶装置及び半導体記憶装置の制御方法について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
 100 サーバ
 101 LSI
 102 主記憶装置
 103 補助記憶装置
 111 プロセッサコア
 112 L1インストラクションキャッシュ
 113 L1データキャッシュ
 114 L2キャッシュ
 115 メモリコントローラ
 500、500A、500B、500X、900、1200 SRAM
 510 サブブロック
 511、511A、511B サブアレイ
 512、512A、512B ワードラインドライバ
 513 カラム選択/読み書き回路
 514 グローバルビットライン
 515A、515B 切替回路
 520 デコーダ
 530 入出力ポート
 540 タイマ
 601、901 ビットセル
 602、603 インバータ
 604、605 NMOSトランジスタ
 611 ロウデコーダ
 612 サブアレイデコーダ
 613 カラムデコーダ
 621 ロウデコーダ
 622 サブアレイデコーダ
 623 カラムデコーダ
 WL00~WL03、WL10~WL13 ワードライン
 BL00、BLB00~BL03、BLB03、BL10、BLB10~BL13、BLB13 ビットライン
 700R、700W、720R、720W、730R、730W、750R、1000W、1050W、1020W NMOSトランジスタ
 702、712、722、732、1002、1012、1022、1032 インバータ
 701W、701R、711W、711R、721R、721W、731R、731W、1001W、1011W、1021W、1031W PMOSトランジスタ
 1611、1621 ロウデコーダ
 1612、1622 サブアレイデコーダ
 1613、1623 カラムデコーダ
 1512A、1512B Aポートワードラインドライバ
 1912A、1912B Bポートワードラインドライバ

Claims (5)

  1.  データを保持するメモリセルをそれぞれ有する複数のメモリブロックと、
     第1のアドレスをデコードし、前記複数のメモリブロックのうち第1のメモリブロックに含まれる第1のメモリセルを特定する第1デコーダと、
     第2のアドレスをデコードし、前記複数のメモリブロックのうち前記第1のメモリブロックとは異なる第2のメモリブロックに含まれる第2のメモリセルを特定する第2デコーダと、
     前記第1のデコーダが特定した前記第1のメモリセルが保持するデータの読み出しと、前記第2のデコーダが特定した前記第2のメモリセルに対するデータの書き込みとを同時に実行する読み書き制御部を有することを特徴とする半導体記憶装置。
  2.  前記半導体記憶装置において、
     前記メモリセルは、
     第1のインバータと、
     前記第1のインバータの出力端子に接続された入力端子と、前記第1のインバータの入力端子に接続された出力端子を有する第2のインバータと、
     ワード線に制御端子が接続されるとともに、前記第1のインバータの入力端子に第1の入出力端子が接続されるとともに、第1のビット線に第2の入出力端子が接続される第1のトランジスタと、
     前記ワード線に制御端子が接続されるとともに、前記第1のインバータの出力端子に第1の入出力端子が接続されるとともに、第2のビット線に第2の入出力端子が接続される第2のトランジスタとを有し、
     前記半導体記憶装置はさらに、
     前記第1デコーダによる前記第1のアドレスのデコード結果に基づいて、前記第1のメモリブロックに含まれる第1のメモリセルのワード線を駆動する第1のワード線駆動部と、
     前記第2デコーダによる前記第2のアドレスのデコード結果に基づいて、前記第2のメモリブロックに含まれる第2のメモリセルのワード線を駆動する第2のワード線駆動部とを有することを特徴とする請求項1記載の半導体記憶装置。
  3.  前記半導体記憶装置において、
     前記メモリセルは、
     第1のインバータと、
     前記第1のインバータの出力端子に接続された入力端子と、前記第1のインバータの入力端子に接続された出力端子を有する第2のインバータと、
     第1のワード線に制御端子が接続されるとともに、前記第1のインバータの入力端子に第1の入出力端子が接続されるとともに、第1のビット線に第2の入出力端子が接続される第1のトランジスタと、
     第2のワード線に制御端子が接続されるとともに、前記第1のインバータの出力端子に第1の入出力端子が接続されるとともに、第2のビット線に第2の入出力端子が接続される第2のトランジスタとを有し、
     前記半導体記憶装置はさらに、
     前記第1デコーダによる前記第1のアドレスのデコード結果に基づいて、前記第1のメモリブロックに含まれる第1のメモリセルの第1のワード線を、前記第1のメモリセルが保持するデータの読み出し時及び前記第1のメモリセルに対するデータの書き込み時に駆動する第1のワード線駆動部と、
     前記第1デコーダによる前記第1のアドレスのデコード結果に基づいて、前記第1のメモリブロックに含まれる第1のメモリセルの第2のワード線を、前記第1のメモリセルに対するデータの書き込み時に駆動する第2のワード線駆動部と、
     前記第2デコーダによる前記第2のアドレスのデコード結果に基づいて、前記第2のメモリブロックに含まれる第2のメモリセルの第1のワード線を、前記第2のメモリセルが保持するデータの読み出し時及び前記第2のメモリセルに対するデータの書き込み時に駆動する第3のワード線駆動部と、
     前記第2デコーダによる前記第2のアドレスのデコード結果に基づいて、前記第2のメモリブロックに含まれる第2のメモリセルの第2のワード線を、前記第2のメモリセルに対するデータの書き込み時に駆動する第4のワード線駆動部とを有し、
     前記読み書き制御部は、前記第1のデコーダが特定した前記第1のメモリセルが保持するデータの読み出し又は前記第1のメモリセルに対するデータの書き込みと、前記第2のデコーダが特定した前記第2のメモリセルが保持するデータの読み出し又は前記第2のメモリセルに対するデータの書き込みとを同時に実行することを特徴とする請求項1記載の半導体記憶装置。
  4.  前記半導体記憶装置において、
     前記前記第1アドレス及び前記第2アドレスは、カラムアドレスとロウアドレスとメモリブロック特定アドレスをそれぞれ含み、
     前記第1デコーダ及び前記第2デコーダは、それぞれ、
     前記第1アドレス及び前記第2アドレスが含むロウアドレスをデコードし、前記第1又は第2のメモリブロックに含まれるメモリセルが有するワードラインを選択するワードラインデコーダと、
     前記第1アドレス及び前記第2アドレスが含むカラムアドレスをデコードし、前記第1又は第2のメモリブロックに含まれるメモリセルが有するビットラインを選択するカラムデコーダと、
     前記第1アドレス及び前記第2アドレスが含むメモリブロック特定アドレスをデコードし、前記第1又は第2のメモリブロックを選択するメモリブロックデコーダとを有することを特徴とする請求項1記載の半導体記憶装置。
  5.  データを保持するメモリセルをそれぞれ有する複数のメモリブロックを有する半導体記憶装置の制御方法において、
     前記半導体記憶装置が有する第1デコーダが、第1のアドレスをデコードし、前記複数のメモリブロックのうち第1のメモリブロックに含まれる第1のメモリセルを特定するステップと、
     前記半導体記憶装置が有する第2デコーダが、第2のアドレスをデコードし、前記複数のメモリブロックのうち前記第1のメモリブロックとは異なる第2のメモリブロックに含まれる第2のメモリセルを特定するステップと、
     前記半導体記憶装置が有する読み書き制御部が、前記第1のデコーダが特定した前記第1のメモリセルが保持するデータの読み出しと、前記第2のデコーダが特定した前記第2のメモリセルに対するデータの書き込みとを同時に実行するステップを有することを特徴とする半導体記憶装置の制御方法。
PCT/JP2010/060763 2010-06-24 2010-06-24 半導体記憶装置及び半導体記憶装置の制御方法 WO2011161798A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/060763 WO2011161798A1 (ja) 2010-06-24 2010-06-24 半導体記憶装置及び半導体記憶装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/060763 WO2011161798A1 (ja) 2010-06-24 2010-06-24 半導体記憶装置及び半導体記憶装置の制御方法

Publications (1)

Publication Number Publication Date
WO2011161798A1 true WO2011161798A1 (ja) 2011-12-29

Family

ID=45371011

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/060763 WO2011161798A1 (ja) 2010-06-24 2010-06-24 半導体記憶装置及び半導体記憶装置の制御方法

Country Status (1)

Country Link
WO (1) WO2011161798A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063545A (ja) * 2012-09-20 2014-04-10 Fujitsu Ltd 半導体記憶装置、及び、情報処理装置
JP6122170B1 (ja) * 2016-03-16 2017-04-26 株式会社東芝 不揮発性ram及び不揮発性ramを含むシステム
CN117174139A (zh) * 2023-08-25 2023-12-05 合芯科技(苏州)有限公司 一种信号生成电路及存储器

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01184783A (ja) * 1988-01-18 1989-07-24 Nec Corp 半導体記憶装置
JPH023163A (ja) * 1988-06-09 1990-01-08 Toshiba Corp 多ポートメモリ
JPH05109279A (ja) * 1991-03-19 1993-04-30 Fujitsu Ltd マルチポートメモリ
JPH07147091A (ja) * 1993-11-22 1995-06-06 Hitachi Ltd 半導体記憶装置
JPH1083673A (ja) * 1996-06-19 1998-03-31 Cirrus Logic Inc メモリシステム、i/oサブシステムデバイスおよびメモリ装置を動作させる方法
JPH11345489A (ja) * 1998-03-13 1999-12-14 Cypress Semiconductor Corp ランダムアクセスメモリ並びに、同メモリへの書込み及び同メモリからの読出し方法
JP2002109884A (ja) * 2000-09-27 2002-04-12 Toshiba Corp メモリ装置
JP2004355712A (ja) * 2003-05-29 2004-12-16 Oki Electric Ind Co Ltd 半導体集積装置
JP2004362760A (ja) * 2003-06-03 2004-12-24 Samsung Electronics Co Ltd マルチポートメモリ装置
JP2006127669A (ja) * 2004-10-29 2006-05-18 Renesas Technology Corp 半導体記憶装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01184783A (ja) * 1988-01-18 1989-07-24 Nec Corp 半導体記憶装置
JPH023163A (ja) * 1988-06-09 1990-01-08 Toshiba Corp 多ポートメモリ
JPH05109279A (ja) * 1991-03-19 1993-04-30 Fujitsu Ltd マルチポートメモリ
JPH07147091A (ja) * 1993-11-22 1995-06-06 Hitachi Ltd 半導体記憶装置
JPH1083673A (ja) * 1996-06-19 1998-03-31 Cirrus Logic Inc メモリシステム、i/oサブシステムデバイスおよびメモリ装置を動作させる方法
JPH11345489A (ja) * 1998-03-13 1999-12-14 Cypress Semiconductor Corp ランダムアクセスメモリ並びに、同メモリへの書込み及び同メモリからの読出し方法
JP2002109884A (ja) * 2000-09-27 2002-04-12 Toshiba Corp メモリ装置
JP2004355712A (ja) * 2003-05-29 2004-12-16 Oki Electric Ind Co Ltd 半導体集積装置
JP2004362760A (ja) * 2003-06-03 2004-12-24 Samsung Electronics Co Ltd マルチポートメモリ装置
JP2006127669A (ja) * 2004-10-29 2006-05-18 Renesas Technology Corp 半導体記憶装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063545A (ja) * 2012-09-20 2014-04-10 Fujitsu Ltd 半導体記憶装置、及び、情報処理装置
JP6122170B1 (ja) * 2016-03-16 2017-04-26 株式会社東芝 不揮発性ram及び不揮発性ramを含むシステム
JP2017168167A (ja) * 2016-03-16 2017-09-21 株式会社東芝 不揮発性ram及び不揮発性ramを含むシステム
US9858976B2 (en) 2016-03-16 2018-01-02 Kabushiki Kaisha Toshiba Nonvolatile RAM comprising a write circuit and a read circuit operating in parallel
CN117174139A (zh) * 2023-08-25 2023-12-05 合芯科技(苏州)有限公司 一种信号生成电路及存储器

Similar Documents

Publication Publication Date Title
US10354719B2 (en) 3D structure for advanced SRAM design to avoid half-selected issue
US9697888B1 (en) 9T, 8T, and 7T bitcells for 1R1W and single port static random access memories (SRAM) with single-ended read and single-ended write
US9001546B2 (en) 3D structure for advanced SRAM design to avoid half-selected issue
TWI771090B (zh) 記憶體裝置、記憶體輸入/輸出以及形成記憶體裝置的方法
WO2019206074A1 (zh) 存储器及信号处理方法
US7821812B2 (en) Low-power DRAM and method for driving the same
JP4566621B2 (ja) 半導体メモリ
JP2005293814A (ja) 6トランジスタデュアルポートsramセル
JP2008503029A (ja) データ保持ラッチを含むメモリ素子
JP3889603B2 (ja) 半導体メモリ装置
JP2004111027A (ja) マルチポートsramセル書き込み回路及び方法
WO2011161798A1 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
US6151265A (en) Memory device having direct sense circuit
JP2006269023A (ja) 半導体記憶装置
US8120987B2 (en) Structure and method for decoding read data-bus with column-steering redundancy
JP6115059B2 (ja) 半導体記憶装置、及び、情報処理装置
JP4757607B2 (ja) 半導体メモリ
JP4926129B2 (ja) メモリ用の評価回路
WO2012124063A1 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
JP4143515B2 (ja) 半導体記憶装置
CN117095719A (zh) 一种控制电路及存储器
JP2008065863A (ja) 半導体記憶装置
CN118629457A (zh) 一种9t-sram单元、数据存取方法及芯片
JP2002216491A (ja) 半導体メモリ
JP2005353178A (ja) 半導体記憶装置

Legal Events

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

Ref document number: 10853658

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10853658

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP