Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode
Claim Score by NHIP
Abstract
Embodiments of the invention are generally directed to systems, methods, and apparatuses for using the same memory type in an error check mode and a non-error check mode. In some embodiments, a memory device includes at least one split bank pair of memory banks. If the memory device is in an error check mode, then, in some embodiments, data is stored in one of memory banks of the split bank pair and the corresponding error check bits are stored in the other memory bank of the split bank pair. A register bit on the memory device indicates whether it is in the error check mode or the non-error check mode. Other embodiments are described and claimed.

Term
Projected expiry 22 July 2027.
- Priority and filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1A memory device comprising:a split bank pair of memory banks including a first memory bank and a second memory bank wherein data is to be stored in the first memory bank and corresponding error check bits are to be stored in the second memory bank, if the memory device is in an error check mode;and a register bit to indicate whether the memory device is in an error check mode or a non-error mode.
- 10Broadest claimClaim Score 75, broad(NHIP)A method comprising:determining whether a memory device is in an error check mode or a non-error check mode, the memory device having at least one split bank pair of memory banks;writing data into a first memory bank of the split bank pair;and writing error check bits associated with the data into a second memory bank of the split bank pair.
- 16A system comprising:a host to control a memory subsystem;and a memory device coupled with the host via an interconnect, the memory device including a split bank pair of memory banks including a first memory bank and a second memory bank wherein data is to be stored in the first memory bank and corresponding error check bits are to be stored in the second memory bank, if the memory device is in an error check mode, and a register bit to indicate whether the memory device is in an error check mode or a non-error mode.
Independent claims3
49 paragraphs in 4 sections, as filed
TECHNICAL FIELD
0001Embodiments of the invention generally relate to the field of integrated circuits and, more particularly, to systems, methods and apparatuses for using the same memory type to support an error check mode and a non-error check mode.
BACKGROUND
0002Memory devices are susceptible to errors such as transient (or soft) errors. If these errors are not handled properly, they can cause a computing system to malfunction. Redundant information in the form of error correcting codes (ECCs) can be used to improve overall system reliability. The redundant information, however, increases the storage requirement of the memory system and, thereby, increases the cost of the memory system. Thus, ECC is typically only used on high-end or mission critical systems. Lower cost (or less critical) systems do not use ECC and provide a level of reliability which is appropriate to their usage.
0003In some cases, the extra bits of storage are added to the system by adding additional memory devices (e.g., dynamic random access memory (DRAM) devices). For example, a system using eight DRAMs to store data may also use an additional DRAM to store the check codes. In other cases, the extra bits are stored in a variant DRAM designed especially for use in ECC systems. For example, a non-ECC DRAM may have 256 Mbits of capacity and 16 outputs. The ECC variant of that DRAM may have 288 Mbits of capacity and 18 outputs. In both of these examples, the ECC systems have 12.5% more storage capacity than the non-ECC counterparts.
0004The use of different DRAM devices in ECC systems has a number of disadvantages. For example, there is an increase in costs associated with designing, manufacturing, and inventorying, two (or more) variants of a DRAM device. In addition, an ECC variant DRAM device is larger than its non-ECC counterpart and, therefore, more difficult to manufacture. Adding the extra bits to the ECC variant DRAM lowers the yield of devices and, thus, increases the cost of the devices. Another disadvantage of using two (or more) variants of a DRAM device is that memory controllers that interface with the DRAM devices are required to support additional pins (e.g., ECC pins). Also, an ECC variant DRAM module uses more space on a motherboard because its connector is larger than its non-ECC counterpart.
BRIEF DESCRIPTION OF THE DRAWINGS
0005Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
0006<figref idref="DRAWINGS">FIG. 1</figref> is a high-level block diagram illustrating selected aspects of a computing system implemented according to an embodiment of the invention.
0007<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram illustrating selected aspects of a dynamic random access memory (DRAM) implemented according to an embodiment of the invention.
0008<figref idref="DRAWINGS">FIG. 3</figref> is a block diagram illustrating selected aspects of a dynamic random access memory (DRAM) implemented according to an embodiment of the invention.
0009<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram illustrating an example of the address mapping between data bits and error check bits, according to an embodiment of the invention.
0010<figref idref="DRAWINGS">FIG. 5</figref> illustrates selected aspects of read data frames, according to an embodiment of the invention.
0011<figref idref="DRAWINGS">FIGS. 6A and 6B</figref> illustrate selected aspects of a sequence of write data frames, according to an embodiment of the invention.
0012<figref idref="DRAWINGS">FIG. 7</figref> is a block diagram illustrating selected aspects of an electronic system according to an embodiment of the invention.
0013<figref idref="DRAWINGS">FIG. 8</figref> is a bock diagram illustrating selected aspects of an electronic system according to an alternative embodiment of the invention.
DETAILED DESCRIPTION
0014Embodiments of the invention are generally directed to systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode. In some embodiments, a memory device includes at least one split bank pair that has a first memory bank and a second memory bank. In the error check mode, data bits may be stored in one of the memory banks and the corresponding error check bits are stored in the other memory bank. The memory device may be configured to support either mode using a register bit (e.g., a mode register set (MRS) register bit). In some embodiments, the ability to support both an error check mode and a non-error check mode has a minimal impact on the interface with the memory controller. That is, substantially the same signaling, pin-count, and bust length may be used as in systems that support only a non-error check mode.
0015<figref idref="DRAWINGS">FIG. 1</figref> is a high-level block diagram illustrating selected aspects of a computing system implemented according to an embodiment of the invention. Computing system <b>100</b> includes requester <b>102</b>, memory controller (or host) <b>110</b>, memory device <b>130</b>, and interconnect <b>120</b>. Memory controller <b>110</b> controls, at least in part, the transfer of information between requester <b>102</b> and memory device <b>130</b>. Requester <b>102</b> may be a processor (e.g., a central processing unit and/or a core), a service processor, an input/output device (e.g., a peripheral component interconnect (PCI) Express device), memory itself, or any other element of system <b>100</b> that requests access to memory. In some embodiments, memory controller <b>110</b> is on the same die as requester <b>102</b>.
0016In the illustrated embodiment, memory controller <b>110</b> includes error check logic <b>112</b>, mode indicator <b>114</b>, and memory device addressing logic <b>116</b>. Error check logic <b>112</b> uses redundant information to protect data from specified faults. In some embodiments, error check logic <b>112</b> is an error correction code (ECC).
0017As is further discussed below, in some embodiments, memory device <b>130</b> can operate in either an error check mode or a non-error check mode. When operating in an error check mode, memory device <b>130</b> stores both data bits and corresponding error check bits (e.g., ECC bits). When operating in a non-error check mode, (substantially) the entire capacity of memory device <b>130</b> is used to store data bits. Mode indicator <b>114</b> provides an indication of whether memory device <b>130</b> is operating in an error check mode or a non-error check mode. In some embodiments, mode indicator <b>114</b> includes one or more register bits.
0018In some embodiments, memory device <b>130</b> applies a different address mapping for read/write data depending on whether it is in the error check mode or the non-error check mode. For example, the address mapping used in the error check mode may account for the mapping of error check bits (e.g., ECC bits). Address mapping logic <b>116</b> enables memory controller <b>110</b> to be aware of the address mapping used by memory device <b>130</b>. Address mapping logic <b>116</b> may be any logic capable of providing an indication of address mapping for a number of memory locations.
0019Memory device <b>130</b> may be any of a wide range of devices including a dynamic random access memory device (or, simply, a DRAM). In some embodiments, memory device <b>130</b> is organized into one or more split bank pairs <b>140</b>. A split bank pair refers to a pair of memory banks that can be configured as either a single bank or as two separate banks. In some embodiments, each bank of the split bank pair has its own row decoder and column decoder.
0020In some embodiments, each bank of the split bank pair can provide a page of memory. For example, bank <b>0</b>A provides page <b>142</b> and bank <b>0</b>B provides page <b>144</b>. A “bank” refers to an array of memory locations provided by a memory device. Collectively, banks <b>142</b> and <b>144</b> can provide logical page <b>146</b>. The term “logical page” refers to a logical combination of two or more physical banks. In some embodiments, pages <b>142</b> and <b>144</b> each provide 1 kilobytes (K bytes) of memory and logical page <b>146</b> provides a net effective page size of 2K bytes.
0021In the illustrated embodiment, memory device <b>130</b> includes mode indicator <b>132</b>, posted write buffer <b>134</b>, partial write mask <b>136</b>, and column address generation logic <b>138</b>. Mode indicator <b>132</b> provides an indication of whether memory device <b>130</b> is operating in an error check mode or a non-error check mode. In some embodiments, mode indicator <b>132</b> includes one or more bits of a register such as a mode register set (MRS). Poster write buffer <b>134</b> is a buffer to which data is posted prior to be written to the memory core of memory device <b>130</b>. Partial write mask <b>136</b> provides a write mask for data that is written to the memory core. In some embodiments, partial write mask <b>136</b> is used to access error check bits associated with data stored in memory device <b>130</b>. In some embodiments, column address generation logic <b>138</b> generates column address information for error check bits associated with data stored in memory device <b>130</b>.
0022<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram illustrating selected aspects of a dynamic random access memory (DRAM) implemented according to an embodiment of the invention. DRAM <b>200</b> includes 16 memory banks (<b>0</b>A through <b>7</b>B) or 8 split bank pairs (e.g., split bank pair <b>0</b>A, <b>0</b>B). In some embodiments, DRAM <b>200</b> can be configured as either a x4 or a x8 DRAM. In x4 mode, DRAM <b>200</b> provides 16 banks (<b>0</b>A through <b>7</b>B) and each bank provides 64 bits of data to 4 data (DQ) pins. In x8 mode, DRAM <b>200</b> provides 8 split bank pairs to provide 128 bits of data to 8 DQ pins.
0023In some embodiments, DRAM <b>200</b> can be configured to operate in either an error check mode (e.g., an ECC mode) or a non-error check mode. When operating in an error check mode, DRAM <b>200</b> leverages its split bank architecture by storing data in one member of the split bank (e.g., bank <b>0</b>A) and corresponding error check bits (e.g., ECC bits) in the other member of the split bank (e.g., bank <b>0</b>B).
0024<figref idref="DRAWINGS">FIG. 3</figref> is a block diagram illustrating selected aspects of storing data bits and error check bits in a split bank pair, according to an embodiment of the invention. Split bank pair <b>300</b> includes bank <b>0</b>A and bank <b>0</b>B. In some embodiments, data is stored in up to N/Mths (e.g., ⅞ths) of the locations in each bank and corresponding error check bits are stored in the last 1/Mth (e.g., ⅛) of the other member of split bank pair <b>300</b>. For example, the error check bits covering the data stored in bank <b>0</b>A may be stored in the top ⅛th of the memory locations of bank <b>0</b>B (<b>302</b>). Similarly, the error check bits covering the data stored in bank <b>0</b>B may stored in the top ⅛th of the memory locations of bank <b>0</b>A (<b>304</b>). In some embodiments, the error check bits are error check code (ECC) bits.
0025In some embodiments, a host (e.g., memory controller <b>110</b>, shown in <figref idref="DRAWINGS">FIG. 1</figref>) addresses a specific bank in the split bank pair to identify the bank that is receiving/providing the data bits. If the memory device is in the error check mode, then it uses its internal logic (e.g., partial write mask <b>136</b>, column address generation logic <b>138</b>, etc., shown in <figref idref="DRAWINGS">FIG. 1</figref>) to access the error check bits corresponding to the data bits. Accessing data bits and corresponding error check bits is further discussed below with reference to <figref idref="DRAWINGS">FIGS. 4-6B</figref>.
0026<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram illustrating an example of the address mapping between data bits and error check bits, according to an embodiment of the invention. In the illustrated embodiment, the data bits are stored in ⅞ths of a page that is provided by a bank within a split pair of banks as shown by <b>410</b>. The corresponding error check bits are stored in the upper ⅛th of the other bank in the split bank pair (<b>430</b>). For example, the ECC bits covering bytes <b>0</b>-<b>7</b> are stored at memory location <b>896</b> as shown by reference number <b>432</b>. Similarly, the ECC bits covering bytes <b>128</b>-<b>135</b> are stored at memory location <b>897</b> as shown by reference number <b>434</b> and this pattern is continued for the data bytes in page <b>410</b> as shown in <figref idref="DRAWINGS">FIG. 4</figref>. In some embodiments, the last byte of the upper ⅛th of bank <b>430</b> (e.g., location <b>903</b>) is not used as shown by reference number <b>436</b>. In some embodiments, the error check bits covering bytes <b>8</b>-<b>15</b> are stored in location <b>905</b> and the sequence repeats itself.
0027Referring again to <figref idref="DRAWINGS">FIG. 1</figref>, the sequence of events for reading from a DRAM is described. Memory controller <b>110</b> provides row address <b>124</b> to memory device <b>130</b>. Memory device <b>130</b> activates the same row in both banks of the split bank pair based, at least in part, on row address <b>124</b>. For example, memory device <b>130</b> opens rows <b>150</b> and <b>152</b> of banks <b>0</b>A and <b>0</b>B based on row address <b>124</b>.
0028Memory controller <b>110</b> provides column address <b>122</b> (e.g., using a column address strobe (CAS) frame) to memory device <b>130</b>. Memory device <b>130</b> uses column address <b>122</b> to access the data bits from the appropriate bank (e.g., bank <b>0</b>A). In some embodiments, memory device <b>130</b> internally generates the column address for the error check bits based, at least in part, on column address <b>122</b>. That is, memory device <b>130</b> internally generates the column address for the bank in which the error bits are stored. In some embodiments, memory device <b>130</b> forces a fraction of column address <b>122</b> high (e.g., logical 1's) to activate the top Mth of the row of the bank in which the error check bits are stored.
0029For example, in some embodiments, column address <b>122</b> includes eight column address (CA) bits CA <b>3</b> through CA <b>10</b>. In such embodiments, memory device <b>130</b> may access the error check bits by forcing column address bits CA <b>8</b>, CA <b>9</b>, and CA <b>10</b> high and accessing eight bytes from the appropriate bank (e.g., bank <b>0</b>B). Memory device <b>130</b> may then identify one of the eight bytes using the actual values of CA <b>8</b>, CA <b>9</b>, and CA <b>10</b>. For example, if the actual values of CA <b>8</b> to CA <b>10</b> are “000,” then memory device <b>130</b> will identify the first of the eight bytes of as the byte containing the error check bits. Similarly, if CA <b>8</b> to CA <b>10</b> are “001,” then memory device <b>130</b> will identify the second byte as the byte containing the error check bits. Memory device <b>130</b> may then provide the read data and its associated error check bits to memory controller <b>110</b>. In some embodiments, CA <b>3</b> to CA <b>7</b> are used from the read CAS frame.
0030<figref idref="DRAWINGS">FIG. 5</figref> illustrates selected aspects of read data frames, according to an embodiment of the invention. If the system (e.g., system <b>100</b>, shown in <figref idref="DRAWINGS">FIG. 1</figref>) is in the error check mode, then, in some embodiments, 64 bits of data are transferred over two back-to-back frames. For example, frames <b>502</b> and <b>504</b> convey 64 data bits in unit intervals <b>0</b> to <b>15</b> and 8 error check (e.g., ECC) bits in unit intervals (UIs) <b>16</b> and <b>17</b>.
0031In some embodiments, two reads are performed in parallel and <b>128</b> data bits are transferred in four frames. For example, in the illustrated embodiment, frames <b>502</b> and <b>504</b> transfer the first 64 data bits (e.g., d<b>0</b>-d<b>63</b>) and frames <b>506</b> and <b>508</b> transfer another 64 data bits (e.g., d<b>64</b>-d<b>127</b>). The error check bits covering data bits d<b>0</b>-d<b>63</b> are transferred in UIs <b>16</b> and <b>17</b> of frame <b>506</b> and the error check bits covering data bits d<b>64</b>-d<b>127</b> are transferred in UIs <b>16</b> and <b>17</b> of frame <b>508</b>. In alternative embodiments, the read frames may have a different structure and/or a different number of frames may be conveyed.
0032Referring again to <figref idref="DRAWINGS">FIG. 1</figref>, the sequence of events for writing data to a memory device (e.g., a DRAM) is described. The error check bits (e.g., ECC bits <b>126</b>) and the data bits (e.g., data bits <b>128</b>) are transferred from memory controller <b>110</b> and stored in buffer <b>134</b> (e.g., a posted write buffer). In addition, memory controller <b>110</b> also provides a row address <b>124</b> and a column address <b>122</b> (e.g., as part of a write CAS frame).
0033Memory device <b>130</b> activates the same row (e.g., rows <b>150</b> and <b>152</b>) in both banks of split bank pair <b>140</b> based, at least in part, on row address <b>124</b>. Data bits <b>128</b> are written to one of the banks of split bank pair <b>140</b> based on the data in the write CAS frame (e.g., column address <b>122</b> and the bits of a bank address field). Memory device <b>130</b> internally generates the column address for the error check bits based, at least in part, on column address <b>122</b>. In some embodiments, the column address for the error check bits is generated by forcing CA <b>8</b> to C A <b>10</b> high and using CA <b>4</b> to CA <b>10</b> from the write CAS frame. In some embodiments, CA <b>2</b> to CA <b>0</b> are not used.
0034Typically, the number of error check bits is only a fraction of the number of data bits. For example, 8 error check bits may be used to cover 64 data bits. Thus, memory device <b>130</b> may generate a partial write mask to mask 56 bits and write the 8 error check bits to the column address that is based on CA <b>8</b> to CA <b>10</b> high and CA <b>4</b> to CA <b>10</b> as provided by the write CAS frame.
0035<figref idref="DRAWINGS">FIGS. 6A and 6B</figref> illustrate selected aspects of a sequence of write data frames, according to an embodiment of the invention. The write sequence illustrated in <figref idref="DRAWINGS">FIGS. 6A and 6B</figref> may be used in a system having a parallel memory channel with two memory devices. Each device sees all four frames and is assigned either D<b>0</b> to D<b>63</b> or D<b>64</b> to D<b>127</b>. The assignment of memory devices is further discussed below.
0036In some embodiments, a write sequence includes the following frames: write header (Wh) <b>602</b>, ECC write frame (We) <b>604</b>, write data <b>1</b> (Wd<b>1</b>) <b>606</b>, and write data <b>2</b> (Wd<b>2</b>) <b>608</b>. In some embodiments, each frame is a six-bit frame (labeled <b>0</b> to <b>5</b>) that is nine bits deep (e.g., UIs <b>0</b> to <b>8</b> or <b>9</b> to <b>17</b>). Wh <b>602</b> includes header information for the write sequence as well as some data bits.
0037We <b>604</b> transfers the error check bits (e.g., ECC bits <b>610</b>, shown in UIs <b>12</b>-<b>14</b>) that cover the associated data bits. In some embodiments, the error check bits (e.g., ECC bits) are transferred to memory device <b>130</b> using partial write mask encoding. That is, We <b>604</b> may have the same command encoding as a partial write mask frame (Wm) except that the mask bits are replaced by error check bits (e.g., ECC bits <b>610</b>, shown in UIs <b>12</b>-<b>14</b>). ECC bits ECC<b>0</b>-ECC<b>7</b> cover data bits D<b>0</b>-D<b>63</b> and ECC bits ECC<b>8</b>-ECC <b>15</b> cover data bits D<b>64</b>-D<b>127</b>. In some embodiments, We frame <b>604</b> is required for all write data transfers when the system is operating in the error check mode.
0038Wd<b>1</b><b>606</b> and Wd<b>2</b><b>608</b> transfer the rest of the data bits for the write operation. Data bits D<b>0</b>-D<b>63</b> are used by one memory device and D<b>64</b>-D<b>127</b> are used by another memory device. In some embodiments a register bit within a memory device determines which memory device picks up which data bits. For example, the MRS register may be used to assign data bits to a memory device.
0039<figref idref="DRAWINGS">FIG. 7</figref> is a block diagram illustrating selected aspects of an electronic system according to an embodiment of the invention. Electronic system <b>700</b> includes processor <b>710</b>, memory controller <b>720</b>, memory <b>730</b>, input/output (I/O) controller <b>740</b>, radio frequency (RF) circuits <b>750</b>, and antenna <b>760</b>. In operation, system <b>700</b> sends and receives signals using antenna <b>760</b>, and these signals are processed by the various elements shown in <figref idref="DRAWINGS">FIG. 7</figref>. Antenna <b>760</b> may be a directional antenna or an omni-directional antenna. As used herein, the term omni-directional antenna refers to any antenna having a substantially uniform pattern in at least one plane. For example, in some embodiments, antenna <b>760</b> may be an omni-directional antenna such as a dipole antenna or a quarter wave antenna. Also, for example, in some embodiments, antenna <b>760</b> may be a directional antenna such as a parabolic dish antenna, a patch antenna, or a Yagi antenna. In some embodiments, antenna <b>760</b> may include multiple physical antennas.
0040Radio frequency circuit <b>750</b> communicates with antenna <b>760</b> and I/O controller <b>740</b>. In some embodiments, RF circuit <b>750</b> includes a physical interface (PHY) corresponding to a communication protocol. For example, RF circuit <b>750</b> may include modulators, demodulators, mixers, frequency synthesizers, low noise amplifiers, power amplifiers, and the like. In some embodiments, RF circuit <b>750</b> may include a heterodyne receiver, and in other embodiments, RF circuit <b>750</b> may include a direct conversion receiver. For example, in embodiments with multiple antennas <b>760</b>, each antenna may be coupled to a corresponding receiver. In operation, RF circuit <b>750</b> receives communications signals from antenna <b>760</b> and provides analog or digital signals to I/O controller <b>740</b>. Further, I/O controller <b>740</b> may provide signals to RF circuit <b>750</b>, which operates on the signals and then transmits them to antenna <b>760</b>.
0041Processor(s) <b>710</b> may be any type of processing device. For example, processor <b>710</b> may be a microprocessor, a microcontroller, or the like. Further, processor <b>710</b> may include any number of processing cores or may include any number of separate processors.
0042Memory controller <b>720</b> provides a communication path between processor <b>710</b> and other elements shown in <figref idref="DRAWINGS">FIG. 7</figref>. In some embodiments, memory controller <b>720</b> is part of a hub device that provides other functions as well. As shown in <figref idref="DRAWINGS">FIG. 7</figref>, memory controller <b>720</b> is coupled to processor(s) <b>710</b>, I/O controller <b>740</b>, and memory <b>730</b>.
0043Memory <b>730</b> may include multiple memory devices. These memory devices may be based on any type of memory technology. For example, memory <b>730</b> may be random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), nonvolatile memory such as FLASH memory, or nay other type of memory. In some embodiments, memory <b>730</b> may support an error check mode and a non-error check mode.
0044Memory <b>730</b> may represent a single memory device or a number of memory devices on one or more modules. Memory controller <b>720</b> provides data through interconnect <b>722</b> to memory <b>730</b> and receives data from memory <b>730</b> in response to read requests. Commands and/or addresses may be provided to memory <b>730</b> through interconnect <b>722</b> or through a different interconnect (not shown). Memory controller <b>730</b> may receive data to be stored in memory <b>730</b> from processor <b>710</b> or from another source. Memory controller <b>730</b> may provide the data it receives from memory <b>730</b> to processor <b>710</b> or to another destination. Interconnect <b>722</b> may be a bidirectional interconnect or a unidirectional interconnect. Interconnect <b>722</b> may include a number of parallel conductors. The signals may be differential or single ended. In some embodiments, interconnect <b>722</b> operates using a forwarded, multiphase clock scheme.
0045Memory controller <b>720</b> is also coupled to I/O controller <b>740</b> and provides a communications path between processor(s) <b>710</b> and I/O controller <b>740</b>. I/O controller <b>740</b> includes circuitry for communicating with I/O circuits such as serial ports, parallel ports, universal serial bus (USB) ports and the like. As shown in <figref idref="DRAWINGS">FIG. 7</figref>, I/O controller <b>740</b> provides a communication path to RF circuits <b>750</b>.
0046<figref idref="DRAWINGS">FIG. 8</figref> is a bock diagram illustrating selected aspects of an electronic system according to an alternative embodiment of the invention. Electronic system <b>800</b> includes memory <b>730</b>, I/O controller <b>740</b>, RF circuits <b>750</b>, and antenna <b>760</b>, all of which are described above with reference to <figref idref="DRAWINGS">FIG. 7</figref>. Electronic system <b>800</b> also includes processor(s) <b>810</b> and memory controller <b>820</b>. As shown in <figref idref="DRAWINGS">FIG. 8</figref>, memory controller <b>820</b> may be on the same die as processor(s) <b>810</b>. In some embodiments, memory controller <b>820</b> includes replay logic (e.g., replay logic <b>310</b>, shown in <figref idref="DRAWINGS">FIG. 3</figref>) to detect defined errors, conduct automatic fast resets, and replay certain transactions. Processor(s) <b>810</b> may be any type of processor as described above with reference to processor <b>710</b> (<figref idref="DRAWINGS">FIG. 5</figref>). Example systems represented by <figref idref="DRAWINGS">FIGS. 7 and 8</figref> include desktop computers, laptop computers, servers, cellular phones, personal digital assistants, digital home systems, and the like.
0047Elements of embodiments of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, flash memory, optical disks, compact disks-read only memory (CD-ROM), digital versatile/video disks (DVD) ROM, random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic or optical cards, propagation media or other type of machine-readable media suitable for storing electronic instructions. For example, embodiments of the invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
0048It should be appreciated that reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the invention.
0049Similarly, it should be appreciated that in the foregoing description of embodiments of the invention, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description.
Contents4
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10176038B2 | Cited by | United States of America | Search report |
| US2017063401A1 | Cited by | United States of America | Pre-grant |
| US11150814B2 | Cited by | United States of America | Search report |
| US9985656B2 | Cited by | United States of America | Applicant |
| KR101031436B1 | Cited by | Republic of Korea | Search report |
| US9766975B2 | Cited by | United States of America | Applicant |
| US7650558B2 | Cited by | United States of America | Applicant |
| US8225016B2 | Cited by | United States of America | Search report |
| US2009172215A1 | Cited by | United States of America | Pre-grant |
| US9823965B2 | Cited by | United States of America | Applicant |
| US9985655B2 | Cited by | United States of America | Applicant |
| US2007061684A1 | Cites | United States of America | Pre-grant |
| US2007079217A1 | Cites | United States of America | Pre-grant |
| US5896404A | Cites | United States of America | Pre-grant |
| US6005823A | Cites | United States of America | Pre-grant |
| US6222217B1 | Cites | United States of America | Pre-grant |
| US6360285B1 | Cites | United States of America | Pre-grant |
| US6397290B1 | Cites | United States of America | Pre-grant |
| US6418068B1 | Cites | United States of America | Pre-grant |
| US6480982B1 | Cites | United States of America | Pre-grant |
| US6622217B2 | Cites | United States of America | Pre-grant |
| US6658509B1 | Cites | United States of America | Pre-grant |
| US6934903B1 | Cites | United States of America | Pre-grant |
19 members in 9 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 36410706 | United States of America | A | |
| US20060364107 | – | – | – |
Members19
| Document | Office | Kind | |
|---|---|---|---|
| WO2007100694A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2007220401A1 | United States of America | A1 | |
| CN101060006A | China | A | |
| WO2007100694A3 | World Intellectual Property Organization (WIPO) | A3 | |
| TW200746157A | Taiwan Province of China | A | |
| KR20080089513A | Republic of Korea | A | |
| EP1989712A2 | European Patent Office (EPO) | A2 | |
| JP2009528591A | Japan | A | |
| US7734985B2 | United States of America | B2 | |
| KR100992256B1 | Republic of Korea | B1 | |
| TWI336083B | Taiwan Province of China | B | |
| EP1989712B1 | European Patent Office (EPO) | B1 | |
| AT504920T | Austria | T | |
| ATE504920T1 | Austria | T1 | |
| DE602007013716D1 | Germany | D1 | |
| CN101060006B | China | B | |
| CN102568606A | China | A | |
| JP5015177B2 | Japan | B2 | |
| CN102568606B | China | B |
65 transactions on the USPTO file
Allowed after 1 non-final rejection, 1 final rejection and 2 RCEs.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 2
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Response to Reasons for AllowanceREAS | REAS | |
| Response to Reasons for AllowanceREAS | REAS | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Correspondence Address ChangeC.AD | C.AD | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Initial Exam Team nnIEXX | IEXX |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.)LAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)FEPP | FEPP | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20070220401
- Publication, DOCDB
- 2007220401
- Publication, EPODOC
- US2007220401
- Application
- 11364107
- Application, DOCDB
- 36410706
- Application, EPODOC
- US20060364107
Titles
- English
- Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode
Patent term adjustment
- A delay
- +490 daysthe office missed an examination deadline
- B delay
- +166 dayspendency past three years
- Applicant delay
- −146 days
- Net adjustment
- 510 days
Classification
- CPC, 6
- G11C7/1045
- G11C29/42
- G06F11/1044
- G11C7/1006
- G11C29/52
- G11C2207/104
- IPC, 1
- G11C29 00
- USPC, 2
- 714766000
- 714E11041