Modern computer systems typically contain a high-speed volatile memory device such as a dynamic, random access memory (DRAM) device which may be used to store data for the computer system. A memory device typically includes an interface with command pins, address pins, and data pins via which data in the memory device may be accessed. The speed with which data can be transmitted to or from the memory device may be referred to as the bandwidth of the memory device.
In many cases, different types of computer systems may be configured to access different types of memory devices. Such requirements may depend on the manufacturer using the memory device or on the type of computer system in which the memory device is to be used. For example, one manufacturer may desire a memory device which provides an interface with a low data pin count while another manufacturer may tolerate memory device with an interface which provides a higher data pin count.
Where the memory device provides an interface with a low data pin count, the amount of data which may be transferred to or from the memory device during a given access, and thus the bandwidth, may be reduced correspondingly. However, for both the high data pin count and the low data pin count, each manufacturer may desire a memory device with the largest possible bandwidth. Also, with respect to a manufacturer of the memory device, the memory device manufacturer may want to provide each type of device (e.g., low pin count and high pin count) to its customers while minimizing design, testing, and manufacturing costs.
Accordingly, what is needed are improved methods and apparatuses for providing configurations of a memory device.
Embodiments of the invention provide a memory device and a method of providing the memory device. In one embodiment, the method includes providing the memory device with a memory array arrangement of width N and providing a first configuration of the memory device and a second configuration of the memory device. Providing the first configuration of the memory device includes providing the memory device with a data pin output of width N/M and a burst length of M, where M is less than N. Providing the second configuration of the memory device comprises providing a data pin output of width N/P and a burst length of P, where P is less than M, wherein M, N, and P are all integers.
So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
Embodiments of the invention provide a memory device and a method of providing memory device. In one embodiment, the method includes providing the memory device with a memory array arrangement of width N and providing a first configuration of the memory device and a second configuration of the memory device. Providing the first configuration of the memory device includes providing the memory device with a data pin output of width N/M and a burst length of M, where M is less than N. Providing the second configuration of the memory device comprises providing a data pin output of width N/P and a burst length of P, where P is less than M, wherein M, N, and P are all integers.
In the following, reference is made to embodiments of the invention. However, it should be understood that the invention is not limited to specific described embodiments. Instead, any combination of the following features and elements, whether related to different embodiments or not, is contemplated to implement and practice the invention. Furthermore, in various embodiments the invention provides numerous advantages over the prior art. However, although embodiments of the invention may achieve advantages over other possible solutions and/or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the invention. Thus, the following aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to “the invention” shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be considered to be an element or limitation of the appended claims except where explicitly recited in a claim(s).
Also, signal names used below are exemplary names, indicative of signals used to perform various functions in a given memory device. In some cases, the relative signals may vary from device to device. Furthermore, the circuits and devices described below and depicted in the figures are merely exemplary of embodiments of the invention. As recognized by those of ordinary skill in the art, embodiments of the invention may be utilized with any memory device, including, for example, a double-data rate synchronous dynamic random access memory (DDR-SDRAM) device such as a low power (LP) DDR-SDRAM device.
In one embodiment, the memory array 120 may have a given width, which may refer to the number of bitlines in the memory array 120 which are used to read from or write the memory array 120. Thus, the width of the memory array 120 may include redundant bitlines which are used to replace faulty bitlines in the memory array 120 but may not include redundant bitlines which are not used or faulty bitlines which have been replaced.
During an access, the address inputs may be used by a wordline decoder 122 and column decoder 124 to access memory cells in a memory array 120. For example, using a received address, the column decoder 124 may select bitlines 130 of the memory array 120 to be accessed. Similarly, the wordline decoder 126 may select wordlines 128 to be accessed using the received address. In some cases, an access may also occur based on an address which is internally generated.
After an address has been used to select wordlines and bitlines in the memory array 120, data may be written to and/or read from the memory array 120 via internal read/write circuitry 108 which may include circuitry such as sense amps, output buffers, etc. Data for the access may be transmitted between the read/write circuitry 108 for the memory array 120 and the external I/O circuitry 106 via one or more internal data buses 112. While depicted with respect to a single memory array 120, the memory device 100 may also include additional memory arrays as known to those skilled in the art. Furthermore, the combination of features and elements described above with respect to
If the first configuration is selected, then at step 206, the memory device may be provided with a data pin output of width N/M and a burst length of M, where M is less than N. M and N may both be integers. The data pin output typically refers to the number of data pins in the data bus (also called DQ) used to transfer data to and from the memory device. The burst length typically refers to the number of consecutive read operations or write operations that may be performed with a burst read command or a burst write command. For example, in a double data rate (DDR) type memory, each read or write operation may occur on consecutive rising and falling edges of a clock signal (referred to as the data strobe signal, DQS) provided to the memory device. During each of the read operations or write operations, a number of bits equal to the data pin output number may be transferred to or from the memory device. Thus, with respect to step 206, N/M bits would be transferred each clock cycle by a memory device having the first configuration.
If the second configuration is selected, then at step 208, the memory device may be provided with a data pin output of width N/P and a burst length of P, where P is less than M. P may also be an integer, with N being divisible by both M and P as understood by those skilled in the art. Thus, the first configuration and the second configuration may utilize the same memory array arrangement of width N while providing different data pin counts N/M and N/P respectively.
In some cases, memory devices with either configuration may have the same number of data pin connections, but may only actively output data on N/M or N/P of the connections, respectively. Thus, in some cases, identical pin connections may be provided for each configuration of the memory device, while each data pin may not be used to input or output data from the memory device 100. Furthermore, in one embodiment, different configurations of the memory device may be provided in different packages such that the package for a corresponding configuration of the memory device only provides package data pin connections for the active data pins of the packaged memory device 100.
Also, in one embodiment, while the pin count and/or number of pins used to transmit data may be reduced for the first configuration, the first configuration may also provide a larger burst length M which is greater than P. Accordingly, both the first configuration and second configuration may utilize the full size of the internal memory array to perform burst read and write operations, even though one configuration has a smaller data pin count than the other configuration. Exemplary configurations are described below in greater detail.
During a read access, data may be transmitted from the memory array 120 to parallel to serial conversion circuitry 324 via a 128 bit read bus (RD_BUS) 320. From the parallel to serial conversion circuitry 324, the read data may be transmitted serially to an off-chip driver (OCD) 332 via a 32 bit data bus. The off-chip driver 332 may then transmit the serial data to the 32 bit external data bus (DQ<31:0>) 336.
During a write access, data may be transmitted from the 32 bit external bus 336 to a data input buffer 334. From the data input buffer 334, the data may be provided via a 32 bit internal but 330 to serial to parallel conversion circuitry 326. Where four cycles of 32 bits are written to the memory device 100, the serial to parallel conversion circuitry 326 may accumulate the serially written data and write the accumulated data to the memory array 120 via a 128 bit write bus (WT_BUS) 322.
In one embodiment, the lower order column address bits AY<1:0> of the column address may determine which addresses to read initially within a four address group, with each address corresponding to a different column segment 302 . . . 308. Thus, the lower order column address bits may not be decoded for a burst length of four, but may instead be used by the parallel to serial conversion circuitry 324 to determine the order with which read data is output. For example, where AY<1:0> is ‘00’, data from COLSEG0302 may be read first followed by data from COLSEG1304, COLSEG2306, and COLSEG3308. Where AY<1:0> is ‘10’, data from COLSEG2306 may be read first followed by COLSEG3306, COLSEG0302, and COLSEG1304 (thus wrapping around on the 4 address boundary).
As described above, after being converted from parallel data to serial data via the parallel to serial conversion circuitry 324, the read data may be output on the external data bus DQ<31:0> 336 beginning at time T2 (usually after a time greater than the CAS latency CL). Data from each column segment 302, 304, 306, 308 may be output, for example, beginning on the rising edge of the clock signal CLK at time T2 and continuing on each subsequent falling and rising edge at times T3, T4, and T5. Thus, over four clock cycles, 128 bits of data may be read from the memory device 100.
While described above with respect to read operations and write operations with a burst length of four, the configuration depicted in
According to one embodiment of the invention, the 128 bit topology described above with respect to
In one embodiment of the invention, the memory device 100 depicted in
The memory device configuration depicted in
After the read data has been received by the parallel to serial conversion circuitry 640, the parallel to serial conversion circuitry 640 may output the received data serially (e.g., 16 bits at a time over eight rising and falling clock edges) via the off-chip driver 648 and external data bus DQ 652 beginning at time T2 and continuing until time T9. Where a burst length of eight is used, the lower order column address bits AY<2:0> may not be decoded but may instead determine the column segment 620 . . . 634 from which data should be initially output, wrapping around at an eight address boundary. For example, as depicted in
During the write operation, the serially received write data may be accumulated by the serial to parallel conversion circuitry 642. After the write data has been accumulated, the serial to parallel conversion circuitry 642 may output the write data to the memory array 120 via the WT_BUS 322 beginning at time T9. As described above, the column address bits AY<2:0> may be used to determine which column segment 620 . . . 634 the first received write data should be written to, while wrapping around at the eight-address boundary as described above.
In some cases, the configuration depicted in
While the first half of the received data is being written to the memory array 120, the second half of the data may be received at times T5, T7, T8, and T9 and accumulated by the serial to parallel conversion circuitry 642. After the second half of the data has been received, the 64 bits of data may be written to the memory array 120 in parallel beginning at time T10 and using the WT_BUS 322 and column select signals as described above. Thus, in some cases, as depicted in
While described above with respect to read and write operations performed with a burst length of eight, in one embodiment, the configuration depicted in
For example, where an operation with a burst length of eight is performed, the decoding circuitry 660, 662 of the configuration depicted in
In one embodiment of the invention, for the 16 bit configuration depicted in
As described above,
Where device configurations are changed dynamically during operation and/or via fuses, circuitry used in the data path (e.g., parallel to serial conversion circuitry 324, 640, serial to parallel conversion circuitry 326, 642, off chip driver 332, 648, etc., and column selection circuitry) may be provided with multiple modes of operation in order to accommodate both possible configurations of the memory device 100. Optionally, in some cases, the multiple configurations of the memory device 100 may be provided during manufacturing by providing different components and/or connections for each of the device configurations.
In one embodiment of the invention, selection of a memory device configuration may be performed during packaging of the memory device 100. For example, as described above, where the configurations of the memory device 100 use different numbers of data pins to transfer data to and from the memory device 100, then during packaging, the memory device 100 may be packaged such that the package only provides external package data pins for the active data pins of the memory device configuration. Thus, in the configuration described above with respect to
Furthermore, in one embodiment, and external configuration pin may be provided on the memory device 100 and the external configuration pin may be used to place the memory device 100 in one of the first and the second configuration. For example, if a first voltage is applied to the external configuration pin, the memory device 100 may be placed in a first configuration, while if a second voltage is applied to the external configuration pin, the memory device 100 may be placed in the second configuration. In one embodiment, the configuration pin connection may be fixed during packaging to a given voltage in order to select the configuration. Optionally, the configuration pin may be routed to an external pin of the package, allowing the configuration to be selected after the package is connected to another device by a user of the package.
While described above with respect to configurations with external data bus widths of 32 bits and 16 bits, configurations of the memory device may also be provided with other external data bus widths (e.g., eight bits or 64 bits) while scaling the burst lengths of the configured device and using the full capability of the internal data bus and memory array accordingly. For example, in an eight bit configuration, the maximum burst length may be 16, while lower burst lengths may also be provided. For example, in the eight bit configuration, to perform a write operation with a burst length of eight, the same operation depicted with respect to
While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.