Today computer-based systems can be found most everywhere and have made inroads into many devices that are used by society everyday, such as cell phones, handheld computers, automobiles, medical devices, personal computers and so on. In general, society has placed much reliance on computer-based systems to handle everyday tasks such as simple tasks like balancing checkbooks to relatively complex tasks such as predicting the weather. As technology improves, more and more tasks are migrated to computer-based systems. This, in turn, causes society to become more and more reliant on these systems.
A typical computer-based system comprises a system board and optionally one or more peripheral devices, such as display units, storage units and the like. The system board may contain one or more processors, a memory subsystem and other logic, such as serial device interfaces, network device controllers, hard disk controllers and the like.
The type of processors that are employed on a particular system board usually depends on the type of tasks performed by the system. For example, a system that performs a limited set of tasks, such as monitor emissions generated by an automobile engine and adjust an air/fuel mixture to ensure the engine is burning fuel completely may employ a simple specialized processor that is tailored to performing these tasks. On the other hand, a system that performs many different tasks, such as managing many users and running many different applications, may employ one or more complex processors that are general purpose in nature, configured to perform high-speed calculations and manipulate data to minimize the response time to servicing the users' requests.
The memory subsystem is a storage that holds information (e.g., instructions, data values) used by the processors. The memory subsystem typically comprises controller logic and one or more memory devices. The controller logic typically is configured to interface the memory devices with the processors and enable the processors to store and retrieve information to and from the memory devices. The memory devices hold the actual information.
Like the processors, the type of devices employed in a memory subsystem is often driven by the type of tasks performed by the computer system. For example, a computer system may have the task of having to boot without the assistance of a disk drive and execute a set of software routines that do not change often. Here, the memory subsystem may employ non-volatile devices, such as flash memory devices, to store the software routines. Other computer systems may execute very complex tasks that require a large high-speed data store to hold large portions of information. Here, the memory subsystem may employ high-speed high-density Dynamic Random Access Memory (DRAM) devices to store large portions of information.
Presently, hard disk drives have high densities that can store 20 to 40 Gigabytes of data, but are relatively bulky. However, flash memory, also known as solid-state drive, is popular because of its high density, non-volatility, and small size relative to hard disk drives. Flash memory technology is based on EPROM and EEPROM technologies. The term “flash” was chosen because a large number of memory cells could be erased at one time as distinguished from EEPROMs, where each byte was erased individually. The advent of multi-level cells (MLC) further increases Flash memory density relative to single level cells. Those of skill in the art will understand that Flash memory can be configured as NOR Flash or NAND Flash, with NAND Flash having higher density per given area due to its more compact memory array structure. For the purpose of further discussion, references to Flash memory should be understood as being either NOR or NAND or other type Flash memory.
Devices in a memory subsystem are often interconnected using a parallel interconnection scheme. This scheme involves interconnecting the devices in a manner such that address and data information and control signals are coupled to the devices in a parallel fashion. Each device may incorporate multiple inputs/outputs to accommodate the parallel transfer of the data and address information as well as control signals to the devices.
One shortcoming associated with utilizing parallel interconnections in a memory subsystem is that they tend to require a large number of interconnections between the devices in order to transfer information and signals to the devices in parallel. This adds to the complexity of boards that implement these subsystems. Moreover, undesirable effects associated with large numbers of interconnections, such as crosstalk, tend to limit the performance of these subsystems. In addition, the number of devices incorporated in these subsystems may be limited due to propagation delay of signals carried by the interconnections.
The techniques described herein overcome the above shortcomings by providing a technique for coupling devices in a serial daisy chain cascading arrangement that employs fewer and shorter connections than parallel interconnection implementations. Configuring devices in the daisy chain arrangement may allow the devices to be operated at higher speeds than parallel interconnection implementations because utilizing fewer and shorter interconnections makes the overall implementation less vulnerable to undesirable effects, such as propagation delay and crosstalk. Moreover, fewer and shorter connections tend to reduce the complexity of the implementation. This reduced complexity further enables a subsystem containing the devices to be implemented in a smaller area thus allowing the subsystem to occupy a smaller footprint.
According to aspects of the techniques described herein, devices are coupled in a daisy chain cascade arrangement such that outputs of an earlier device in the daisy chain cascade are coupled to inputs of the next device later in the daisy chain to accommodate the transfer of information (e.g., data, address and command information) and control signals (e.g., enable signals) from the earlier device to the latter device.
In an embodiment of the techniques, each device in the daisy chain cascade comprises a serial input (SI) and a serial output (SO). Information is input to a device via its SI. Likewise, the information is output from the device via its SO. The SO of a device in the daisy chain cascade is coupled to the SI of the next device in the daisy chain cascade. Circuitry is provided in the devices to enable information input to an earlier device in the daisy chain cascade via its SI to be passed through the device and output from the device via its SO. The information is then transferred to the SI of the next device in the daisy chain cascade via the connection between the earlier device's SO and the next device's SI. The transferred information may then be inputted to the next device via its SI.
In addition, a clock signal is coupled to the devices in the daisy chain cascade. The clock signal is used by the devices to accommodate the transfer of the information from one device to the next device in the daisy chain cascade.
In accordance with other aspects of the techniques described herein, control signals (e.g., enable signals) that are utilized by the devices to, e.g., enable data to be input to the device via the SI and output from the device via the SO are transferred between devices in the daisy chain cascade, as described above. Here, circuitry is provided to enable control signals input to an earlier device in the daisy chain cascade to be propagated through the device and transferred from the device via an output to an input of a next device in the daisy chain cascade. The transferred control signals are then input to the next device via the input.
According to principles of the present invention, a flash memory system may have plurality of serially connected flash memory devices. A flash memory device of the system may include a serial data link interface having a serial input data port and a serial data output port, a control input port for receiving a first input enable signal, and a control output port for sending a second input enable signal. The input enable signals are used in circuitry that controls data transfer between the serial data link interface and the memory bank. The flash memory devices are configured to receive serial input data and control signals from an external source and to provide data and control signals to an external device. The external source and external device may be other flash memory devices within the system. In embodiment of the present invention, when devices are serially cascaded in a system, they may further output control ports that “echo” the received IPE and OPE signals to external devices. This allows the system to have point-to-point connected signal ports to form a daisy-chain cascading scheme (versus broadcasting/multi-drop cascading scheme).
These systems may use a unique device identification and target device selection address scheme, rather than using limited hardware physical device select pins, so that the whole system can be easily expanded as many as possible in terms of memory density without sacrificing system's overall performance. In some embodiments of the present invention, each of the flash memory devices may include a unique device identifier. The devices may be configured parse a target device information field in serial input data to correlate target device information with the unique device identification number of the device to determine whether the device is the target device. The device may parse the target device information field prior to processing any additional input data received. If the memory device is not the target device, it may ignore the serial input data, thus saving additional processing time and resources.
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
A description of preferred embodiments of the invention follows.
The SI is used to transfer information (e.g., command, address and data information) into the device 110. The SO is used to transfer information from the device 110. The SCLK input is used to provide an external clock signal to the device 110 and the CS# input is used to provide a chip select signal to the device 110. An example of a device that may be used with the techniques described herein is a Multiple Independent Serial Link (MISL) Memory device described in previously incorporated U.S. patent application Ser. No. 11/324,023.
The SI and SO are connected between devices 110 in the daisy chain cascade arrangement such that the SO of a device 110 earlier in the daisy chain cascade is coupled to the SI of the next device 110 in the daisy chain cascade. For example, the SO of device 110a is coupled to the SI of device 110b. The SCLK input of each device 110 is fed with a clock signal from, e.g., a memory controller (not shown). The clock signal is distributed to each device 110 via a common link. As will be described further below, SCLK is used to, inter alia, latch information input to the device 110 at various registers contained in the device 110.
Information input to the devices 110 may be latched at different times of the clock signal fed to the SCLK input. For example, in a single data rate (SDR) implementation, information input to the device 110 at the SI may be latched at either the rising or falling edge of the SCLK clock signal. Alternatively, in a double data rate (DDR) implementation, both the rising and falling edges of the SCLK clock signal may be used to latch information input at the SI.
The CS# input of each device is a conventional chip select that selects the device. This input is coupled to a common link which enables a chip select signal to be asserted to all of the devices 110 concurrently and consequently selects all of the devices 110 simultaneously.
Referring to
Note that the clock signal may incur a delay as it propagates through the daisy chain cascaded devices. An internal delay compensation circuit, such as a delay locked loop (DLL) circuit, may be employed to obviate this delay.
The SI and SO are coupled from one device to the next in a daisy chain cascade arrangement, as described above. Moreover, the IPEQ and OPEQ of an earlier device 410 in the daisy chain cascade are coupled to the IPE input and OPE input, respectively, of the next device 410 in the daisy chain cascade. This arrangement allows IPE and OPE signals to be transferred from one device 410 to the next in a serial daisy chain cascade fashion.
The CS# input for each device 510 is coupled to a single link to simultaneously select all devices 510, as described above. Likewise, the SCLK for each device 510 is coupled to a single link which is configured to simultaneously distribute a clock signal to all devices 510, as described above. Also, as described above, the SI, SO, IPE, OPE, IPEQ and OPEQ are coupled between devices such that the SO, IPEQ and OPEQ of an earlier device in the daisy chain cascade are coupled to the SI, IPE and OPE of a later device in the daisy chain cascade. For example, the SO1, SO2, IPEQ1, IPEQ2, OPEQ1 and OPEQ2 of device 510a are coupled to the SI1, SI2, IPE1, IPE2, OPE1 and OPE2, respectively, of device 510b.
The SI, IPE and OPE signals that are input to the SI, IPE and OPE inputs of device 510a, respectively, are provided to the device 510a from, e.g., a memory controller (not shown). Device 510d provides data and control signals back to the memory controller via the SO, IPEQ and OPEQ outputs of device 510d.
The serial inputs (SI0 to SIn) and serial outputs (SO0 to SOn) employed for each device 610 enable information to be input to and output from the device 610, respectively, in a serial fashion. Each input may be assigned a specific role to input certain types of information (e.g., address, command, data) and/or signals (e.g., enable signals) to the device 610. Likewise, each output may be assigned a specific role to output certain types of information and signals from the device 610. For example, one or more inputs may be assigned a role to enable address information to be input to the device 610. Likewise, for example, one or more outputs may be assigned a role to output the address information from the device 610.
The number of serial inputs and serial outputs for each device 610 typically depends on certain factors, such as the number of address lines, command size and data width size. These factors may be influenced by how the device is used in a particular system application. For example, a system application that requires a data store that is used to store a small amount of information may employ a device that has fewer address and data lines, and hence fewer inputs/outputs, than a system application that requires a data store for a large amount of information.
At time “tR”, the requested data is read from memory and placed in a special internal data buffer contained in the device. The length of tR is typically determined by characteristics of cells that comprise the memory. After time tR, OPE is asserted to enable the serial transfer of data from the internal data buffer via the SO to the next device in the daisy chain cascade. The data is serially outputted from the internal buffer at the SO output, illustratively, at the rising edge of SCLK. Data output from a device in the daisy chain cascade is delayed as much as one clock cycle to control latency, e.g., associated with propagating control signals, such as IPE and OPE. As will be described further below, latency control is performed using a clock synchronized latch.
Examples of some of the operations of cascaded memory devices in for a flash core architecture implementation are shown in Table I below. Table I lists the target device address (TDA), possible OP (operation) codes and corresponding states of the column address, row/bank address, and the input data.
In some embodiments of the present invention, each device in system shown in
Table 2 shows a preferred input sequence of the input data stream in accordance with embodiments of the present invention, including the systems described in connection with
Referring to
The 1-byte TDA is shifted into the device followed by the 1-byte cinb code. The most significant bit (MSB) starts on the SIP and each bit is latched at the rising edges of serial clock (SCLK). Depending on the command, the one-byte command code may be followed by column address bytes, row address bytes, bank address bytes, data bytes, and/or a combination or none.
Input buffer 902 is a conventional low-voltage transistor-to-transistor logic (LVTTL) buffer configured to buffer the state of an IPE signal fed to the device at the input of buffer 902. The output of buffer 902 is fed to input latch control 908 which latches the state of the IPE signal and provides a latched state of the IPE signal to input buffer 904 and selector 920. Input buffer 904 is a LVTTL buffer configured to buffer information fed to the device via the SI input. Input buffer 904 is enabled by the output of input latch control 908. When enabled, information provided to the SI input is fed by the buffer 908 to the serial-to-parallel register 910 and an input of selector 930. The input buffer 904 is enabled when the latched state of the IPE signal fed from the input latch control 908 indicates that the IPE signal is asserted. Information fed to the serial-to-parallel register 910 is converted by the register 910 from a serial form to a parallel form. Outputs of the serial-to-parallel register 910 are fed to data register 914, address register 916 and command interpreter 918.
The data register 914 and address register 916 hold data and address information, respectively, that is fed to the device via the SI. The command interpreter 918 is configured to interpret commands input to the device via the SI. These commands are used to further control the operation of the device. For example, a “write memory” command may be used to cause the device to write data contained in the data register 914 to memory 950 contained in the device at an address specified by the address register 916.
The input buffer 906 is a LVTTL buffer configured to buffer an OPE signal that is fed to the OPE input of the device. The output of buffer 906 is transferred to an output latch control 912 which latches the state of the OPE signal. Output latch control outputs the latched OPE signal state to OR gate 926. OR gate 926 is a conventional logic OR gate whose output is used to enable/disable the output of output buffer 928.
Selector 920 is a conventional 2-to-1 multiplexer that outputs one of two inputs as selected by the signal DAISY_CHAIN. As noted above, one of these inputs is the latched state of IPE from input latch control 908. The other input is set to a logical low condition. The signal DAISY_CHAIN indicates whether the device is coupled to one or more other devices in a serial daisy chain cascade arrangement. Illustratively, this signal is asserted if the device is coupled to one or more devices in a serial daisy chain cascade arrangement. Asserting the DAISY_CHAIN signal causes the latched state of the IPE signal fed to the selector 920 to be output from the selector 920. When DAISY_CHAIN is not asserted, the logic low condition input to the selector 920 is output from the selector 920.
Page buffer 924 is a conventional data buffer that is configured to hold information read from memory 950. Selector 930 is a conventional 2-to-1 multiplexer that outputs one of two inputs as selected by the signal ID_MATCH. One input to selector 930 is fed from the output of the page buffer 924 and the other input is fed from the output of the SI input buffer 904. The output of selector 930 is fed to output buffer 928. The signal ID_MATCH indicates whether a particular command sent to the device via SI is addressed to the device. If the command is addressed to the device, ID_MATCH is asserted causing the output from the page buffer 924 to be output from the selector 930. If ID_MATCH is not asserted, the output from the SI buffer 904 (i.e., the state of the SI signal input to the device) is output from selector 930.
Memory 950 is a conventional memory configured to hold data. Memory 950 may be a random access memory (RAM) comprising cells, such as static RAM (SRAM), dynamic RAM (DRAM) or flash memory cells, that are addressable using an address that is input to the device via the SI.
Operationally, an asserted IPE signal is buffered by input buffer 902 and transferred to input latch control 908 which latches the asserted state of IPE. This latched state is fed to selector 920 and to input buffer 904 to enable this buffer 904. Command, address and data information input to input buffer 904 are then transferred to the serial-to-parallel register 910 which converts the information from a serial form to a parallel form and feeds the command, address and data information to the command interpreter 918, address register 916 and data register 914, respectively. The output of buffer 904 is also fed to selector 930. If ID_MATCH is not asserted, the output of the buffer 904 is present at the output of selector 930 which is fed to the input of output buffer 928. If DAISY_CHAIN is asserted, the latched state of IPE is present at the output of selector 920 and fed to a first input of OR gate 926. OR gate 926 passes the state of IPE to output buffer 928 to enable the output buffer 928. This, in turn, allows the information input to the SI input to be output from the device at SO.
Data from the page buffer 924 are output from the device by asserting OPE and ID_MATCH. Specifically, the asserted state of OPE is fed to input buffer 906 which in turn feeds the state to output latch control 912 which latches the state. The latched asserted state is fed to a second input of OR gate 926 which outputs a signal to enable output buffer 928. Asserting ID_MATCH enables the output of page buffer 924 to be present at the output of selector 930. The output of selector 930 is fed to the enabled output buffer 928 which outputs the data from the device at the device's SO output.
Note that, if DAISY_CHAIN is not asserted, output buffer 928 is only enabled by the OPE. This allows the device to be used in non-daisy chain serial cascade configurations.
AND gate 1112 is configured to output the information input to the SI to latch 1116 when IPE is asserted. Latch 1116 is configured to latch the information when a clock signal (SCLK) is provided by buffer 1110. DATA_OUT represents the state of data read from a memory (not shown) contained in the device. AND gate 1114 is configured to output a state of DATA_OUT when OPE is asserted. The output of AND gate 1114 feeds latch 1118 which is configured to latch the state of DATA_OUT when a clock signal is provided by buffer 1110. Buffer 1106 is configured to buffer the IPE signal fed to the device. The output of buffer 1106 is latched by latch 1120. Likewise, buffer 1108 is configured to buffer the OPE signal fed to the device. Latch 1122 is configured to latch the state of OPE as output by buffer 1108. Selectors 1124 and 1130 are conventional 2-to-1 multiplexers each comprising two inputs. The inputs for selector 1124 are selected for output from the selector 1124 by the above-described ID_MATCH signal. One input is fed with the latched state of DATA_OUT as maintained by latch 1118. This input is selected for output from selector 1124 when ID_MATCH is asserted. The other input is fed with the latched state of SI as maintained by latch 1116. This input is selected for output from the selector 1124 when ID_MATCH is not asserted.
The inputs for selector 1130 are selected for output from the selector 1130 by the above-described DAISY_CHAIN signal. One input to selector 1130 is fed with the latched state of IPE as maintained by latch 1120 and the other input is tied to a logical zero. The latched state of IPE is selected for output from the selector 1130 when DAISY_CHAIN is asserted. Likewise, when DAISY_CHAIN is not asserted, logical zero is selected for output from the selector 1130.
OR gate 1126 is a conventional logical OR gate configured to provide an enable/disable signal to output buffer 1128. OR gate 1126 is fed with the output of selector 1130 and the latched state of OPE, as maintained by latch 1122. Either of these outputs may be used to provide an enable signal to buffer 1128 to enable the buffer's output. Buffer 1128 is a conventional buffer that buffers output signal SO. As noted above, buffer 1128 is enabled/disabled by the output of OR gate 1126.
Operationally, when IPE is asserted, information that is input to the device via SI is fed to latch 1116. Latch 1116 latches this information illustratively at the first upward transition of SCLK after IPE is asserted. Likewise, latch 1120 latches the state of IPE at this SCLK transition. Assuming ID_MATCH is not asserted, the output of latch 1116 is fed to buffer 1128 via selector 1124. Likewise, the asserted IPE is transferred from buffer 1106 to latch 1120 where it is also illustratively latched by the first upward transition of SCLK. Assuming DAISY_CHAIN is asserted, the latched state of IPE is provided at the output of selector 1130 and transferred to OR gate 1126 to provide an enable signal to buffer 1128. The latched state of SI is then transferred from the device via buffer 1128 as output SO.
When DAISY_CHAIN is not asserted, the logical zero input to selector 1130 is selected which outputs a logical zero from selector 1130. This effectively disables IPE from enabling buffer 1128.
Illustratively, at the next upward transition of SCLK after OPE is asserted, the asserted state of OPE is latched at latch 1122 and the state of DATA_OUT is latched at latch 1118. Assuming ID_MATCH is asserted, the latched state of DATA_OUT is selected by selector 1124 and applied to the input of buffer 1128. Simultaneously, the latched asserted state of OPE from latch 1122 passes through OR gate 1126 to enable buffer 1128 which causes the latched state of DATA_OUT to be output from the device as output SO.
Referring to
In the daisy chain cascade arrangements described above, the output latency of signals in the daisy chain cascade for SDR operation may be determined using the following formula:
output_latency=N*clock_cycle_time
where:
“output_latency” is the output latency of the data,
“N” is the number of devices in the daisy chain cascade arrangement and
“clock cycle_time” is the clock cycle time at which the clock (e.g., SCLK) operates.
For example, assume the clock_cycle_time for the daisy chain cascade illustrated in
In the case of DDR operation, the output latency may be determined as follows:
output_latency=N*(clock_cycle_time/2)
In DDR operation both edges of the clock may act as latch points of input data and change points of output data. Thus, the total latency is half the latency for SDR operation.
Note that in the above description, the information input to a device 1210 is output one clock cycle later for SDR operation and one half cycle later for DDR operation. This delay is introduced to accommodate the time it takes to activate the output buffer 1128.
The data output register 1402 is a conventional register configured to store data read from memory contained in the device 1450. The register 1402 is illustratively a parallel-to-serial data register that loads data in parallel from memory and serially transfers the data to an input of gate 1408. SCLK provides clocks that are used by register 1402 to transfer the data to gate 1408. As illustrated, data register 1402 is configured to hold a byte of data comprising bits DO through D7 where DO is the least-significant bit (LSB) of the byte and bit D7 is the most-significant bit (MSB) of the byte. The register 1402 is loaded in parallel with a byte's width of data from memory. The data is then shifted from the register and serially fed bit-by-bit to the input of gate 1408 starting with the MSB.
Buffers 1404 and 1406 are conventional LVTTL buffers used to buffer input signals OPE and SCLK, respectively. The OPE signal is transferred from the output of buffer 1404 (OPEI) to gate 1408. The SCLK signal is transferred from the output of buffer 1406 to data output register 1402 and, latches 1410 and 1412 to provide a clock to these components.
Gate 1408 is a conventional logic AND gate which is configured to transfer the output of the data output register 1402 (DATA_OUT) to latch 1410 when OPE is asserted. The output of gate 1408 is designated as “DBIT”. Latches 1410 and 1412 are conventional latches configured to latch the state of DBIT and the OPE signal, respectively. Selector 1414 is a conventional two input 2-to-1 multiplexer that is controlled by the signal ID_MATCH. One of the data inputs is fed with the latched state of DBIT. This state is output from the selector 1414 when ID_MATCH is asserted. The other input is fed with serial information (SI0) inputted to the device 1450a via its SI. This information is outputted by the selector 1414 when ID_MATCH is not asserted.
Buffers 1416 and 1418 are conventional buffers configured to buffer the output of selector 1414 and latch 1406, respectively. The output of buffer 1416 exits the device 1450a as SO (SO0) and the output of buffer 1418 exits the device 1450a as OPEQ (OPEQ0).
While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
This application is a continuation-in-part of U.S. application Ser. No. 11/496,278 filed Jul. 31, 2006, which is a continuation-in-part of U.S. patent application Ser. No. 11/324,023 filed Dec. 30, 2005, now U.S. Pat. No. 7,652,922 which claims the benefit of U.S. Provisional Application No. 60/722,368 filed on Sep. 30, 2005, and this application claims the benefit of U.S. Provisional Application No. 60/787,710 filed on Mar. 28, 2006. The entire teachings of the above applications are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3249270 | Zuckerman | May 1966 | A |
4174536 | Misunas et al. | Nov 1979 | A |
4617566 | Diamond | Oct 1986 | A |
4683555 | Pinkham | Jul 1987 | A |
4733376 | Ogawa | Mar 1988 | A |
4796231 | Pinkham | Jan 1989 | A |
4899316 | Nagami | Feb 1990 | A |
5038299 | Maeda | Aug 1991 | A |
5126808 | Montalvo et al. | Jun 1992 | A |
5132635 | Kennedy | Jul 1992 | A |
5136292 | Ishida | Aug 1992 | A |
5175819 | Le Ngoc et al. | Dec 1992 | A |
5204669 | Dorfe et al. | Apr 1993 | A |
5243703 | Farmwald et al. | Sep 1993 | A |
5249270 | Stewart et al. | Sep 1993 | A |
5280539 | Yeom et al. | Jan 1994 | A |
5319598 | Aralis et al. | Jun 1994 | A |
5336951 | Josephson et al. | Aug 1994 | A |
5365484 | Cleveland et al. | Nov 1994 | A |
5386511 | Murata et al. | Jan 1995 | A |
5404460 | Thomsen et al. | Apr 1995 | A |
5430859 | Norman | Jul 1995 | A |
5440694 | Nakajima | Aug 1995 | A |
5452259 | McLaury | Sep 1995 | A |
5473563 | Suh et al. | Dec 1995 | A |
5473566 | Rao | Dec 1995 | A |
5473577 | Miyake et al. | Dec 1995 | A |
5475854 | Thomsen et al. | Dec 1995 | A |
5519847 | Fandrich et al. | May 1996 | A |
5596724 | Mullins et al. | Jan 1997 | A |
5602780 | Diem et al. | Feb 1997 | A |
5636342 | Jeffries | Jun 1997 | A |
5663901 | Wallace et al. | Sep 1997 | A |
5671178 | Park et al. | Sep 1997 | A |
5721840 | Soga | Feb 1998 | A |
5729683 | Le et al. | Mar 1998 | A |
5740379 | Hartwig | Apr 1998 | A |
5761146 | Yoo et al. | Jun 1998 | A |
5768212 | Fujita | Jun 1998 | A |
5771199 | Lee | Jun 1998 | A |
5778419 | Hansen | Jul 1998 | A |
5802006 | Ohta | Sep 1998 | A |
5802399 | Yumoto et al. | Sep 1998 | A |
5806070 | Norman et al. | Sep 1998 | A |
5809070 | Krishnan | Sep 1998 | A |
5812796 | Broedner et al. | Sep 1998 | A |
5818785 | Ohshima | Oct 1998 | A |
5828899 | Richard et al. | Oct 1998 | A |
5835935 | Estakhri et al. | Nov 1998 | A |
5859809 | Kim | Jan 1999 | A |
5872994 | Akiyama et al. | Feb 1999 | A |
5878240 | Tomko | Mar 1999 | A |
5896400 | Roohparvar et al. | Apr 1999 | A |
5900021 | Tiede et al. | May 1999 | A |
5937425 | Ban | Aug 1999 | A |
5938750 | Shaberman | Aug 1999 | A |
5941974 | Babin | Aug 1999 | A |
5959930 | Sakurai | Sep 1999 | A |
5964857 | Srinivasan et al. | Oct 1999 | A |
5966723 | James et al. | Oct 1999 | A |
5995417 | Chen et al. | Nov 1999 | A |
6002638 | John | Dec 1999 | A |
6085290 | Smith et al. | Jul 2000 | A |
6091660 | Sasaki et al. | Jul 2000 | A |
6097666 | Sakui et al. | Aug 2000 | A |
6102963 | Agrawal | Aug 2000 | A |
6107658 | Itoh et al. | Aug 2000 | A |
6144576 | Leddige et al. | Nov 2000 | A |
6144579 | Taira | Nov 2000 | A |
6148363 | Lofgren et al. | Nov 2000 | A |
6148364 | Srinivasan et al. | Nov 2000 | A |
6178135 | Kang | Jan 2001 | B1 |
6282121 | Cho et al. | Aug 2001 | B1 |
6304921 | Rooke | Oct 2001 | B1 |
6317350 | Pereira et al. | Nov 2001 | B1 |
6317352 | Halbert et al. | Nov 2001 | B1 |
6317812 | Lofgren et al. | Nov 2001 | B1 |
6377487 | Lee | Apr 2002 | B1 |
6377502 | Honda et al. | Apr 2002 | B1 |
6378018 | Tsern et al. | Apr 2002 | B1 |
6422098 | Hanson et al. | Jul 2002 | B1 |
6438064 | Ooishi | Aug 2002 | B2 |
6442098 | Kengeri | Aug 2002 | B1 |
6453365 | Habot | Sep 2002 | B1 |
6510086 | Kato et al. | Jan 2003 | B2 |
6535948 | Wheeler et al. | Mar 2003 | B1 |
6584303 | Kingswood et al. | Jun 2003 | B1 |
6594183 | Lofgren et al. | Jul 2003 | B1 |
6601199 | Fukuda et al. | Jul 2003 | B1 |
6611466 | Lee et al. | Aug 2003 | B2 |
6658509 | Bonella et al. | Dec 2003 | B1 |
6658582 | Han | Dec 2003 | B1 |
6680904 | Kaplan et al. | Jan 2004 | B1 |
6715044 | Lofgren et al. | Mar 2004 | B2 |
6718432 | Srinivasan | Apr 2004 | B1 |
6727831 | Iwata | Apr 2004 | B2 |
6732221 | Ban | May 2004 | B2 |
6754807 | Parthasarathy et al. | Jun 2004 | B1 |
6763426 | James et al. | Jul 2004 | B1 |
6792003 | Polluri et al. | Sep 2004 | B1 |
6792033 | Maruta | Sep 2004 | B1 |
6799235 | Bormann et al. | Sep 2004 | B2 |
6807103 | Cavaleri et al. | Oct 2004 | B2 |
6816933 | Andreas | Nov 2004 | B1 |
6850443 | Lofgren et al. | Feb 2005 | B2 |
6853557 | Haba et al. | Feb 2005 | B1 |
6853573 | Kim et al. | Feb 2005 | B2 |
6906978 | Elzur et al. | Jun 2005 | B2 |
6928002 | Shiga et al. | Aug 2005 | B2 |
6928501 | Andreas et al. | Aug 2005 | B2 |
6944093 | Sumitani | Sep 2005 | B2 |
6944697 | Andreas | Sep 2005 | B2 |
6950325 | Chen | Sep 2005 | B1 |
6965539 | Lee | Nov 2005 | B2 |
6967874 | Hosono | Nov 2005 | B2 |
6996644 | Schoch et al. | Feb 2006 | B2 |
7020757 | Ruhovets et al. | Mar 2006 | B2 |
7031221 | Mooney et al. | Apr 2006 | B2 |
7073022 | El-Batal et al. | Jul 2006 | B2 |
7111140 | Estakhri et al. | Sep 2006 | B2 |
7130958 | Chou et al. | Oct 2006 | B2 |
7202545 | Perner | Apr 2007 | B2 |
7242635 | Okuda | Jul 2007 | B2 |
7277973 | Bando | Oct 2007 | B2 |
7284089 | Gallivan | Oct 2007 | B2 |
7308524 | Grundy et al. | Dec 2007 | B2 |
7334070 | Borkenhagen | Feb 2008 | B2 |
7414917 | Ruckerbauer et al. | Aug 2008 | B2 |
7433258 | Rao et al. | Oct 2008 | B2 |
7652922 | Kim et al. | Jan 2010 | B2 |
7908451 | Larson | Mar 2011 | B2 |
20020188781 | Schoch et al. | Dec 2002 | A1 |
20030074505 | Andreas et al. | Apr 2003 | A1 |
20030123473 | Satoh et al. | Jul 2003 | A1 |
20030128702 | Satoh et al. | Jul 2003 | A1 |
20030167374 | Hronik | Sep 2003 | A1 |
20030174075 | Iwata | Sep 2003 | A1 |
20030221061 | El-batal et al. | Nov 2003 | A1 |
20040001380 | Becca et al. | Jan 2004 | A1 |
20040019736 | Kim et al. | Jan 2004 | A1 |
20040024960 | King et al. | Feb 2004 | A1 |
20040039854 | Estakhri et al. | Feb 2004 | A1 |
20040148482 | Grundy et al. | Jul 2004 | A1 |
20040199721 | Chen | Oct 2004 | A1 |
20040230738 | Lim et al. | Nov 2004 | A1 |
20050086413 | Lee et al. | Apr 2005 | A1 |
20050097249 | Oberlin et al. | May 2005 | A1 |
20050108469 | Freeman et al. | May 2005 | A1 |
20050120163 | Chou et al. | Jun 2005 | A1 |
20050138267 | Bains et al. | Jun 2005 | A1 |
20050160218 | See et al. | Jul 2005 | A1 |
20050166006 | Talbot et al. | Jul 2005 | A1 |
20050213421 | Polizzi et al. | Sep 2005 | A1 |
20050273539 | Yamamoto | Dec 2005 | A1 |
20060020740 | Bartley et al. | Jan 2006 | A1 |
20060031593 | Sinclair | Feb 2006 | A1 |
20060041730 | Larson | Feb 2006 | A1 |
20060044872 | Nazarian | Mar 2006 | A1 |
20060050594 | Park | Mar 2006 | A1 |
20060133160 | Dickin et al. | Jun 2006 | A1 |
20060198202 | Erez | Sep 2006 | A1 |
20060285424 | Gregorius et al. | Dec 2006 | A1 |
20070005831 | Gregorius | Jan 2007 | A1 |
20070076479 | Kim et al. | Apr 2007 | A1 |
20070083701 | Kapil | Apr 2007 | A1 |
20070153576 | Oh et al. | Jul 2007 | A1 |
20070234071 | Pyeon | Oct 2007 | A1 |
20080028175 | Bartley et al. | Jan 2008 | A1 |
20080028176 | Bartley et al. | Jan 2008 | A1 |
20080049505 | Kim et al. | Feb 2008 | A1 |
20080086590 | Urabe | Apr 2008 | A1 |
20080144411 | Tsern | Jun 2008 | A1 |
20080279003 | Kim et al. | Nov 2008 | A1 |
Number | Date | Country |
---|---|---|
1147135 | Apr 1997 | CN |
1591680 | Mar 2005 | CN |
1049021 | Nov 2000 | EP |
1425635 | Jul 2001 | EP |
1457993 | Sep 2004 | EP |
1457993 | Sep 2004 | EP |
1425635 | Dec 2006 | EP |
S61-034654 | Feb 1986 | JP |
S61-048060 | Mar 1986 | JP |
S61-21600 | Sep 1986 | JP |
H01-076143 | Mar 1989 | JP |
01200447 | Aug 1989 | JP |
02136945 | May 1990 | JP |
H02-282989 | Nov 1990 | JP |
H03-113555 | May 1991 | JP |
05108547 | Apr 1993 | JP |
H05-233524 | Sep 1993 | JP |
H05-241946 | Sep 1993 | JP |
H07-254292 | Oct 1995 | JP |
07319755 | Dec 1995 | JP |
08221319 | Aug 1996 | JP |
H09-054751 | Feb 1997 | JP |
H09-115286 | May 1997 | JP |
09186584 | Jul 1997 | JP |
1097464 | Apr 1998 | JP |
H10-116064 | May 1998 | JP |
2000293432 | Oct 2000 | JP |
2000-315185 | Nov 2000 | JP |
2000315185 | Nov 2000 | JP |
2001-5776 | Jan 2001 | JP |
H01-076143 | Mar 2001 | JP |
2001-156621 | Jun 2001 | JP |
2002-024158 | Jan 2002 | JP |
2002109884 | Apr 2002 | JP |
2002133867 | May 2002 | JP |
2002236611 | Aug 2002 | JP |
2003036681 | Feb 2003 | JP |
2003-72276 | Mar 2003 | JP |
2003-077276 | Mar 2003 | JP |
H03-113555 | Apr 2003 | JP |
2003-198356 | Jul 2003 | JP |
2003263363 | Sep 2003 | JP |
2003-337640 | Nov 2003 | JP |
2004-139364 | May 2004 | JP |
2004242332 | Aug 2004 | JP |
2005004895 | Jan 2005 | JP |
2005025473 | Jan 2005 | JP |
2005-078523 | Mar 2005 | JP |
2005-196739 | Jul 2005 | JP |
H05-233524 | Sep 2005 | JP |
2006260127 | Sep 2006 | JP |
2007534044 | Nov 2007 | JP |
H09-054751 | Mar 2009 | JP |
WO 0169411 | Sep 2001 | WO |
03010939 | Feb 2003 | WO |
2005069150 | Jul 2005 | WO |
2005069150 | Jul 2005 | WO |
2006017725 | Feb 2006 | WO |
2006023360 | Mar 2006 | WO |
2007003370 | Jan 2007 | WO |
2007083701 | Jul 2007 | WO |
2005038660 | Apr 2011 | WO |
Entry |
---|
“Toshiba MOS Digital Integrated Circuit Silicon Gate CMOS”, TH58NVG1S3AFT05, Toshiba Corporation, May 19, 2003, pp. 1-32. |
“Intel® Advanced+ Boot Block Flash Memory (C3)”, May 2005, Intel Corporation, pp. 1-72. |
“256 M × 8 Bit/ 128M × 16 Bit/ 512M × 8 Bit NAND Flash Memory”, K9K4GO8U1M, K9F2GO8UOM, K9F2G16U0M, Rev. 1.0, Samsung Electronics Co., Ltd., May 6, 2005, pp. 1-41. |
King, et al., “Communicating with Daisy Chained MCP42XXX Digital Potentiometers”, Microchip AN747, pp. 1-8, 2001. |
“High Speed Small Sectored SPI Flash Memory,” Atmel Corp., pp. 1-22 (2006). |
64 Megatbit CMOS 3.0 Volt Flash Memory with 50MHz SPI (2006). |
“DiskOnChip H1 4Gb (512MByte) and 8 Gb (1 GByte) High Capacity Flash Disk with NAND and x2 Technology,” Data Sheet, Rev. 0.5 (Preliminary), M-Systems Flash Disk Pioneers Ltd., pp. 1-66, (2005). |
Tal, A., “Guidelines for Integrating DiskOnChip in a Host System,” AP-DOC-1004, Rev. 1.0, M-Systems Flash Disk Pioneers Ltd., pp. 1-15, (2004). |
OneNAND4G(KFW4G16Q2M-DEB6), OneNAND2G(KFH2G16Q2M-DEB6), OneNAND1G(KFWIG16Q2M-DEB6) Flash Memory, OneNAND™ Specification Ver. 1.2, Samsung Electronics, pp. 1-125, (Dec. 23, 2005). |
Kennedy, J., et al., “A 2Gb/s Point-to-Point Heterogeneous Voltage Capable DRAM Interface for Capacity-Scalable Memory Subsystems,” ISSCC 2004/Session 1/DRAM/11.8, IEEE International Solid-State Circuits Conference (2004). |
Kim, Jae-Kwan, et al., “A 3.6Gb/s/pin Simultaneous Bidirectional (SBD) I/O Interface for High-Speed DRAM”, ISSCC 2004/SESSION 22/DSL and MULTI-Gb/s I/O 22.7, IEEE International Solid-State Circuits Conference (2004). |
“HyperTransport TM I/O Link Specification”, Revision 2.00, Document No. HTC20031217-0036-00, HyperTransportTM Technology Consortium, pp. 1-325 (2001). |
“IEEE Standard for High-Bandwidth Memory Interface Based on Scalable Coherent Interface (SCI) Signaling Technology (RamLink)”, IEEE Std. 1596-4-1996, The Institute of Electrical Electronics Engineers, Inc., pp. i-91, (Mar. 1996). |
“High-Speed Memory Architectures for Multimedia Applications”,Circuits & Devices, IEEE 8755-3996/97/, pp. 8-13, Jan. 1997. |
Gjessing, S., et al., “RamLink: A High-Bandwidth Point-to-Point Memory Architecture”, IEEE 08186-2655-0/92, pp. 328-331, 1992. |
Gjessing, S., et al., “Performance of the RamLink Memory Architecture”, Proceedings of the Twenty-Seventh Annual Hawaii International Conference on System Sciences, IEEE 1060-3425/94, pp. 154-162, 1994. |
Gjessing, S., et al., “A RAM link for high speed”, Special Report/Memory, IEEE Spectrum, pp. 52-53, (Oct. 1992). |
Diamond, S. L., “SyncLink: High-speed DRAM for the future”, Micro Standards, IEEE Micro, pp. 74-75, (Dec. 1996). |
“DDR2 Fully Buffered DIMM 240pin FBDIMMS based on 512Mb C-die”, Rev. 1.3 Sep. 2006, Samsung Electronics, pp. 1-32 (Sep. 2006). |
“HyperTransportTM IO Link Specification”, Revision 3.00, Document No. HTC20051222-0046-0008, HyperTransport Technology Consortium, pp. 1-428, (Apr. 2006). |
Extended European Search Report for European Patent Application No. 08006224.3, dated Sep. 16, 2008. |
Extended European Search Report for European Patent Application No. 08006225.0, dated Sep. 16, 2008. |
Extended European Search Report for European Patent Application No. 06790771.7, dated Sep. 16, 2008. |
Extended European Search Report for European Patent Application No. 08006223.5, dated Sep. 16, 2008. |
“Mbit, Low Voltage, Serial Flash Memory With 40MHz SPI Bus Interface”, Silicon Storage Technology, Aug. 2005, pp. 1-40. |
“The I2C-Bus Specification,” Version 2.1, Philips Semiconductors, Jan. 2000, pp. 1-46. |
Atmel, “8-megabit 2.5-volt Only or 2.7-volt Only DataFlash®,” Technical Specification, Atmel, Rev. 2225H-DFLSH (2004). |
Jung, T. et al., “A 117-mm2 3.3-V Only 128-Mb Multilevel NAND Flash Memory for Mass Storage Applications,” IEEE Journal of Solid-State Circuits, vol. 31, No. 11, Nov. 1996, pp. 1575-1583. |
Kim, et al. “A 120-mm2 64-Mb NAND Flash Memory Archieving 180 ns/Byte Effective Program Speed,” IEEE Journal of Solid-State Circuits, vol. 32, No. 5, May 1977, pp. 670-680. |
U.S. Appl. No. 11/496,278 Office Action dated Jul. 31, 2006. |
U.S. Appl. No. 11/496,278, Office Action dated Feb. 18, 2010. |
European Patent Application No. 06790770.9 Search Report dated Sep. 16, 2008. |
European Patent Application No. 06790771.7: Office Action Dated Feb. 19, 2009. |
Number | Date | Country | |
---|---|---|---|
20070109833 A1 | May 2007 | US |
Number | Date | Country | |
---|---|---|---|
60722368 | Sep 2005 | US | |
60787710 | Mar 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11496278 | Jul 2006 | US |
Child | 11594564 | US | |
Parent | 11324023 | Dec 2005 | US |
Child | 11496278 | US |