This application claims the benefit of Korean Patent Application No. 10-2009-0019949, filed Mar. 3, 2009, the contents of which are incorporated herein by reference in their entirety.
1. Field
Example embodiments relate to methods of transferring and aligning input data, and more particularly, to methods of transferring and aligning input data including mask data, and a memory device using the same.
2. Description of Related Art
In general, most semiconductor memory devices include a memory cell array of a matrix structure so that they store data into the memory cells or output data from the memory cells in response to a row address and a column address inputted along with a command from an external device. Recently, operating speed of semiconductor memory devices, such as DRAM, SRAM, Flash memory, etc., has increased, which results in increased performance of systems that include semiconductor memory devices. Consequently, processing speed for data being stored into memory devices has needed to increase as well. Accordingly, synchronous memory devices operating in synchronization with a system clock have been developed for high speed data transmission.
In addition, most memory devices have a data masking function that prevents specific data from being written to the memory cells and prevents the memory cells from being written to. For supporting the data masking function, conventional memory devices have at least one data mask pin DM, and mask specific data of input data in response to a mask indicating signal from that pin during a write operation. That is, when a write operation occurs, especially when there is no need to change data stored in specific memory cells, the mask data on the data mask pin DM prevents the specific memory cell from being written to in order to prevent any change in previously stored data.
As integration of memory devices becomes more prevalent, the conventional method of data mask operations having additional data mask pins creates a burden by increasing the number of pins of memory devices. Also the mask indication signal from the external device to memory devices in the conventional method of data mask operation is transferred at the same speed that of data to be written to the memory cells. As faster operation has been demanded, a greater possibility of error exists in transferring the mask indicating signal. If an error of mask data occurs, it may be very difficult to correct the problem caused by the error.
In one embodiment, a method of transferring input data is disclosed. During a burst having a burst length of N, the method comprises transferring to a memory device data for each of a plurality of unit intervals (UIs) of the burst through a plurality of terminals, wherein each of the transfers includes D bits of input data and at least some of the input data is to be written to the memory device. The method further comprises transferring to the memory device mask data during the burst as part of the input data, the mask data occupying at least two UIs, and transferring to the memory device content data during the burst as part of the input data, wherein the mask data transferred during each of the at least two UIs has the same value
In another embodiment, a method of aligning data to be stored in a memory device including a plurality of memory cells is disclosed. The method includes receiving input data including content data through a plurality of terminals during a plurality of Unit Intervals (UIs) comprising a burst length N, wherein the memory device is configured to receive both the content data and mask data through the same plurality of terminals. The method additionally includes determining if a write command indicates a data mask operation, and if the write command does not indicate a data mask operation, aligning the content data to be stored in N memory locations, and if the write command indicates a data mask operation, aligning the content data to be stored in fewer than N memory locations and aligning pre-set data for the remaining of the N memory locations.
In another embodiment, a memory device including a plurality of memory cells is disclosed. The memory device includes a data receiver configured to receive input data including mask data and content data during a plurality of Unit Intervals (UIs) of a burst, a data aligner configured to divide and align the input data into the mask data and the content data in response to a control signal indicating a write command, and a data re-aligner configured to receive the aligned mask data and the aligned content data and to realign the content data in response to the aligned mask data.
In a further embodiment, a memory system is disclosed. The memory system includes a controller configured to output data to Q terminals during N unit intervals (UIs) of a burst having length N to a memory device. The memory system further includes a memory device including memory cells. The memory device is configured to receive, through Q terminals during the burst, the data output from the controller, receive a control signal that indicates whether any of the data received at the Q terminals during the burst is mask data, based on the control signal indicating that none of the data received during the burst at the Q terminals is mask data, write all of the data received through the Q terminals during the burst to the memory cells.
Example embodiments are described in further detail below with reference to the accompanying drawings:
a is a timing diagram illustrating a timing sequence for a O-byte masking operation consistent with exemplary embodiments;
b is a timing diagram illustrating a timing sequence for a 1-byte masking operation consistent with exemplary embodiments;
c is a timing diagram illustrating a timing sequence for a multi-byte masking operation consistent with exemplary embodiments;
a shows an exemplary method of transferring input data including mask data and content data in a memory system according to one embodiment;
b shows another exemplary method of transferring input data including mask data and content data in a memory system according to one embodiment;
a shows an exemplary method of transferring input data including mask data and content data in a memory system according to another embodiment;
b shows another exemplary method of transferring input data including mask data and content data in a memory system according to another embodiment;
a shows an exemplary method of transferring input data including mask data and content data for a 3-byte mask operation according to one embodiment.
b shows another exemplary method of transferring input data including mask data and content data for a 3-byte mask operation according to another embodiment;
a shows an exemplary data input part of a memory device in accordance with one embodiment;
b illustrates processes of data alignment consistent with certain disclosed embodiments;
It should be noted that these figures are intended to illustrate the general characteristics of methods, structure, and/or materials utilized in certain example embodiments and to supplement the written description provided below. These drawings are not, however, to scale and may not precisely reflect the precise structural or performance characteristics of any given embodiment, and should not be interpreted as defining or limiting the range of values or properties encompassed by example embodiments. For example, the relative thicknesses and positioning of molecules, layers, regions and/or structural elements may be reduced or exaggerated for clarity. The use of similar or identical reference numbers in the various drawings is intended to indicate the presence of a similar or identical element or feature.
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those of ordinary skill in the art.
It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. As used herein the term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that, although the terms “first”, “second”, etc., may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer or section from another element, component, region, layer or section. Thus, unless noted otherwise, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of example embodiments.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which example embodiments belong. It will be further understood that terms, such as those defined in commonly-used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Referring to
Also the memory device 100 may be one of volatile memory devices, such as DRAM (Dynamic RAM), SRAM (Static RAM), and VRAM (Video RAM), and one of non-volatile memory devices, such as Flash Memory, PRAM (Phase change RAM), and RRAM (Resistive RAM), etc.
The controller 200 may send commands to the memory device through terminals DQ0˜DQ7 or through separate command pin(s) (not shown) so that it controls overall operation of the memory device 100. The controller 200 may also send input data including data to be written to the memory device (e.g., content data) and mask data. For example, the controller 200 may generate write commands that include information about data mask operation and may send the commands to the memory device 100. Write commands may include, for example, a first write command indicating a write without a data mask operation, a second write operation indicating a write with a 1-byte data mask operation and a third write command, indicating a write operation with multi-byte data mask operation.
In one embodiment, the controller 200 sends mask data DM0˜DM7 and/or content data D0˜D7 through terminals DQ0˜DQ7, which may be data pins. For example, in one embodiment, the controller sends input data to data terminals DQ0˜DQ7 synchronously with a clock signal (e.g., the rising and/or falling edge of a clock pulse). Each clock signal may be termed a Unit Interval (UI). If the transmission speed of the mask data DM0˜DM7 is the same as that of the data when the memory system is operated at a high data rate (e.g., over 4 Gbps), the mask data DM0˜DM7 may contain errors. Thus, in one embodiment, to reduce the possibility of error, the mask data DM0˜DM7 may be transferred for a time period covering two consecutive UIs, so that the period of transferring of the mask data may be twice the period of that of the input data. Although an example of two periods is given, the relationship between the period of transferring of the data mask and the input data is not limited as such but may be other integral multiples of the input data period, including a multiple of 1.
a-2c depict exemplary timing diagrams for the input data for no masking, 1-byte masking, and 2-byte masking operations discussed below.
For example,
In one embodiment, after the command and address are transferred, content data D0˜D7 is transferred during one “burst,” such that the entire set of data D0˜D7 is transferred with only one command and address input. The burst can be transferred during a pre-determined number of UIs, such as, for example, a set number of clock cycles or clock edges. In one embodiment, for example, a burst includes data sent during eight clock edges (e.g., eight bytes of data, one byte per clock edge). Such a burst therefore has a burst length of eight. A burst including data send during four clock edges would have a burst length of four. As shown in
b is a timing diagram illustrating a timing sequence for a 1-byte masking operation for writing data to a memory, consistent with exemplary embodiments. As shown in
c is a timing diagram illustrating a timing sequence for a 2-byte masking operation for writing data to a memory, consistent with exemplary embodiments. As shown in
Referring also to the examples shown in
a shows an exemplary method of transferring input data including mask data and content data in a memory system of according to one embodiment.
Referring to the examples shown in
The mask data DM0˜DM3 may be 4-bit encoded data so that it may have 16 possible values when decoded in the memory device 100. In this way, seven bytes of content data may be transferred along with one byte of mask data during the burst. The 4-bit encoded mask value can then be used to determine which location of a memory to mask when writing the content data to memory cells.
For example, a first byte of content data D0(0)˜D0(7), as shown in
The memory device 100 using the method of transferring input data including content data and the encoded mask data as shown in
For example, as shown in
a and 5b show an exemplary method of transferring input data including mask data and content data in a memory system according to another embodiment.
As shown in
b depicts an exemplary data write to memory, where the content data D0˜D5 received in UIs B2˜B7 is written to allocated memory locations ML0˜ML7 in memory device 100, and the mask data DM0˜DM7 is used to determine which six memory locations of ML0˜ML7 should be written to with content data D0˜D5 and which two memory locations should be masked.
For example, as shown in
As in the examples above, the exemplary memory locations needn't be consecutive or even ordered locations in the memory device 100, but may be any set of eight memory locations pre-allocated for the content data input in UIs B0˜B7. In addition, the mask data need not be duplicated during two UIs. As such, a 2-byte mask may be affected with only a single UI of mask data and seven UIs of content data, wherein one of the UIs of content data comprises default data or “don't care” values and is not input into the memory. In one embodiment, for example, default data may be chosen to reduce noise. For example, the default data may be DC balanced data, such that the number of 0's and 1's in the byte of data have a desired ratio to reduce current fluctuations in the input buffer between received bytes (e.g., four 0's and four 1's).
a shows an exemplary method of transferring input data including mask data and content data for a 3-byte mask operation according to one embodiment. Referring to
For example, in one embodiment, a data aligner can decode the 8-bit mask data so that DM0 corresponds to the memory location ML0, DM1 corresponds to memory location ML1, etc. As such, in the example of
Although the “default” content data byte in
For masking four or more bytes, four bytes or fewer of content data may be transferred using four or fewer UIs out of B2 to B7 and at least two bytes of default data may be transferred using two or more UIs out of B2 to B7.
a shows an exemplary data input part of a memory device in accordance with one embodiment.
Referring to
The data receiver 112 receives input data including content data and mask data during the burst through data pins DQ0˜DQ7 from the controller 200 and sends the input data to the data aligner 116.
The command decoder 114 receives one of three write commands, write command without mask operation WD0, write command with 1 byte data mask operation WD1, and write command with multi-bytes mask operation WD2, and decodes the received write command, and outputs a control signal to the data aligner 116 and the data re-aligner 117. The three commands may be provided over the same input(s) to the command decoder 114. When the write command without mask operation WD0 is decoded, the input data does not have mask data. When the write command with 1-byte mask operation WD1 is decoded, the input data has one byte of mask data and seven bytes of content data. When the write command with a multi-byte mask operation WD2 is decoded, the input data has at least two bytes of mask data and six bytes or less than six bytes of content data. For a multi-byte mask operation, the write command for multi-byte mask operation may include an instruction indicating that at least one of the UIs will include at least one byte of predetermined default data.
The data aligner 116 divides and aligns input data into data Data1 to be written into memory cells and mask data DM in response to the control signal from the command decoder 114. That is, data aligner 116 separates the content data from the mask data, and outputs the content data as Data1, and outputs the mask data as DM. Thus, if the control signal indicates a write without data masking, then all eight bytes of data input into data aligner 116 are passed to the output of data aligner 116 as Data1 (they may be passed, for example, serially or in parallel). However, if the control signal indicates a write with 1-byte or multi-byte masking, then some of the input data of data aligner 116 is parsed out and is treated as mask data and output as DM and the remainder is treated as content data and is output as part of Data1 (e.g., with the other part of Data1 comprising dummy data).
In one embodiment, the aligned mask data DM is successive eight bits of mask data that does not include data to be written in the memory cells and includes information of which memory locations are to be masked. For instance, in one embodiment, when the value of the aligned mask data DM is “01111111”, the first byte of memory to which the content data is to be written is masked. When the value of the aligned mask data DM is “00110111” first, second, and fifth bytes of memory to which the content data is to be written are masked. In one embodiment, to effectuate masking of appropriate bytes of memory, the aligned mask data DM is also sent to a memory core including the memory cell to be written to such that if the value of the aligned mask data DM is “0,” then a column selection signal is prevented from being enabled so that the column of memory cannot be written to.
The data re-aligner 117 receives aligned content data Data1 in response to the control signal and, using the aligned mask data DM, outputs re-aligned Data2 to the memory core. That is, the data re-aligner 117 changes Data1 into Data2, which may include pre-set dummy data at a location of bytes to be masked as indicated by the mask data.
For example, in a 1-byte mask operation such as described in
In a 3-byte mask, in one embodiment, if the aligned mask data DM is “00110111”, Data1 may include, for example, five bytes of data to be written to memory, two bytes of dummy data and one byte of default data. Data2 may include dummy data at the first byte and second byte, dummy or default data at the fifth byte, and may include data bytes received at bursts B2˜B6 in the remaining bytes. The eight bytes of data may then be sent to memory cells in the memory device 100, with the first, second, and fifth bytes being masked. In one embodiment, when the value of the aligned mask data DM is “0”, the corresponding memory location is not written to. On the contrary, when the value of the aligned mask data DM is “1”, the re-aligned Data2 for that slot is written to the memory cell. In one embodiment, to effectuate masking of appropriate bytes of memory, the aligned mask data DM indicates the location of the memory cell such that if the value of the aligned mask data DM is “0,” then a column selection signal is prevented from being enabled so that the column of memory cannot be written to.
b further illustrates exemplary processes of data alignment that occur in the data aligner 116 and re-aligner 117 of
In step S110, the receiver 112 of the memory device 100 receives input data through the plurality of data pins DQ0˜DQ7 from the controller 200 for a write operation. The input data is inputted during the plurality of UIs B0˜B7, which constitute one burst.
In step S120, the memory device 100 determines if input data has mask data or not according to the result of decoding a write command inputted from the controller. If the decoded write command indicates no mask operation such that the input data does not include any mask data, the data aligner 116 outputs the input data as Data1 to be written into the memory cells and also outputs “11111111” as DM to indicate that none of the content data should be masked (step S144). This may be referred to non-masking mode in which “11111111” causes data re-aligner 117 to write into the memory cells without masking operation.
If the memory device determines that the write command is for 1-byte mask operation, then the data aligner 116 and the data re-aligner 117 align the data into Data2 including one byte of dummy data and the remaining seven bytes of the content data, in response to the mask data.
Also the memory device may determine that the write command is for more than one byte of masking. If so, the data aligner 116 and the data re-aligner 117 align the data into Data2 including at least two bytes of dummy data and six or fewer bytes of content data in response to the mask data.
The memory device 21, being one of volatile and non-volatile memory, may include memory cells as a bit buffer or bit bank, an audio data buffer, and/or a video data buffer. The memory device 21 may be the same that of the memory device 100 in
The data source 22 sends a compressed data to the bit buffer of the memory device. In general, the data source 22 may include a tuner that changes a received data from an external source through a cable or air into the compressed data, based on the compressed data and fit to format of compression data of digital TV. In storing data to the buffers, the digital TV 20 may use one or more of the masking operations described above.
The decoder 23 performs necessary operations for decoding the compressed data from the memory device 21. During a decoding operation, the decoder 23 may use a decoding buffer so that decoded data has desirable image size. For instance, the decoder 23 may be a MPEG4 decoder. The decoding buffer stores the decoded audio and video data into an audio data buffer and a video data buffer of the memory device 21. The audio data buffer uses 1M bit of the memory device and the video data buffer needs from 16M bit to 32M bit depending on a screen size of the digital TV 20.
The audio device 24 receives sound data from the audio data buffer and generates sound. The video display 25 receives video data from the video data buffer and generates image to be displayed on the screen of the digital TV 20.
The method of transferring input data including mask data according to the disclosed embodiments doesn't use additional pins to send the mask data but commonly uses data pins or other terminals to send the mask data. Also, the mask data having a same value for two UIs may be transferred from the controller to the memory device. In addition, the disclosed embodiments permit data masking of any desired number of bytes, while still using the same, standard burst length that would be used in a 9-pin data masking system. Thus, the method according to the disclosed embodiments improves the limitation of the number of pins and detects and corrects an error in the mask data caused by high speed transmission using general error detecting and correcting method, while providing compatibility with existing standard burst length systems.
While example embodiments have been disclosed herein, it should be understood that other variations may be possible. Such variations are not to be regarded as a departure from the spirit and scope of example embodiments of the present application, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2009-0019949 | Mar 2009 | KR | national |