EP2801096A1 - Device selection schemes in multi chip package nand flash memory system - Google Patents
Device selection schemes in multi chip package nand flash memory systemInfo
- Publication number
- EP2801096A1 EP2801096A1 EP12864164.4A EP12864164A EP2801096A1 EP 2801096 A1 EP2801096 A1 EP 2801096A1 EP 12864164 A EP12864164 A EP 12864164A EP 2801096 A1 EP2801096 A1 EP 2801096A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- command
- memory
- read
- code
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000015654 memory Effects 0.000 title claims abstract description 105
- 239000000872 buffer Substances 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims 6
- 102100040577 Dermatan-sulfate epimerase-like protein Human genes 0.000 description 12
- 101000816741 Homo sapiens Dermatan-sulfate epimerase-like protein Proteins 0.000 description 12
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
- G11C15/046—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
Definitions
- the present invention relates generally to semiconductor devices, for example, flash devices.
- NAND flash devices have become very popular with respect to their use in mobile applications and mobile storage applications such as flash cards, digital audio/video players, cell phones, USB flash drives and solid state drives (SSDs) for hard disk drive (HDD) replacement.
- SSDs solid state drives
- HDD hard disk drive
- NAND flash memories are described in, for example,
- the invention provides a memory system comprising: a memory controller; a plurality of memory devices connected to the controller via a common bus with a multi-drop connection; wherein the memory controller performs device selection by command.
- the invention provides a memory system comprising: a memory controller; a plurality of memory devices connected to the controller via a common bus with a multi-drop connection; wherein the memory controller performs device selection by input address; each memory device comprising: a register containing a device identifier; a device identifier comparator that compares selected bits of a received input address to contents of the register to determine if there is a match, and wherein a given device is selected if the device identifier comparator of the given device determines there is a match.
- the invention provides a memory controller for use in a system comprising the memory controller and a plurality of memory devices connected to the controller via a common bus with a multi-drop connection, wherein the memory controller performs device selection by command.
- the invention provides a memory device for use in a system comprising a memory controller and a plurality of memory devices connected to the controller via a common bus with a multi-drop connection inclusive of the memory device, the memory device comprising: a command processor configured to process a command received via the common bus to determine if the command selects that particular memory device, and to act upon the command if the command selects that particular memory device.
- the invention provides a memory device for use in memory system comprising a memory controller, and a plurality of memory devices inclusive of the memory device connected to the controller via a common bus with a multidrop connection, the memory device comprising: a register containing a device identifier; a device identifier comparator that compares selected bits of a received input address to contents of the register to determine if there is a match, and wherein the memory device is selected if the device identifier comparator determines there is a match.
- the invention provides a method in a memory system comprising a memory controller and a plurality of memory devices connected to the controller via a common bus with a multi-drop connection, the method comprising: performing device selection by command.
- the invention provides a method for use in a memory system comprising a memory controller and a plurality of memory devices connected to the controller via a common bus with a multi-drop connection, the method comprising: the memory controller performing device selection by input address; each memory device maintaining a device identifier in a register; a device identifier comparator in each memory device comparing selected bits of a received input address to contents of the register of the memory device to determine if there is a match, and wherein a given device is selected if the device identifier comparator of the given device determines there is a match.
- Figure 1 illustrates a NAND flash functional block
- Figure 2 illustrates a NAND flash cell array structure
- Figure 3 illustrates a NAND flash block structure
- Figure 4 illustrates a NAND flash page structure
- Figure 5 illustrates a page basis read operation in NAND flash
- Figure 6 illustrates a page basis program operation in NAND flash
- Figure 7 illustrates a block basis erase operation in NAND flash
- Figure 8 illustrates a general system with flash memory
- Figure 9 illustrates a flash memory system using a single flash memory device
- Figure 10 illustrates a flash memory system using multiple flash memory devices
- Figure 11 illustrates NAND flash devices in multi-drop connection
- Figure 12 illustrates NAND flash devices in multi-drop connection
- Figure 13 illustrates a page program in two NAND flash devices
- Figure 14 illustrates an interleave page program in two NAND flash devices
- Figure 15 illustrates a page read in two NAND flash devices
- Figure 16 illustrates two NAND flash devices in a MCP according to one embodiment of the present invention
- Figure 17 illustrates four NAND flash devices in a MCP according to another embodiment of the present invention.
- Figure 18 illustrates a command structure according to another embodiment of the present invention.
- Figure 19 illustrates an interleave page program in two NAND flash devices according to another embodiment of the present invention.
- Figure 20 illustrates an interleave page read in two NAND flash devices according to another embodiment of the present invention.
- Figure 21 illustrates an interleave page read and program in two NAND flash devices according to another embodiment of the present invention.
- Figure 22 illustrates example circuits for device selection by input address
- Figure 23 illustrates a command/address/data input timing
- Figure 24 illustrates command/address/data output timing.
- MCP multi chip package
- CE# chip enable pin
- Figure 1 illustrates a NAND flash functional block. Various inputs/outputs to the NAND functional block are depicted. In the following, # denotes active low (i.e. enable when the signal input is Low).
- Command Latch Enable (CLE) input signal 18 is used to control loading of an operation mode command into an internal command register 38.
- the command is latched into the command register 38 from the I/O port 28 on the rising edge of the WE# signal 22 while CLE is High.
- the Address Latch Enable (ALE) signal 20 is used to control loading address information into the internal address register 40. Address information is latched into the address register from the I/O port 28 on the rising edge of the WE# signal 22 while ALE is High.
- ALE Address Latch Enable
- Chip Enable (CE#) 16 the device goes into a low-power Standby mode if CE# goes High while the device is in Ready state.
- the Write Enable (WE#) signal 22 is used to control the acquisition of data from the I/O port 28.
- I/O Port (I/O0 to 7) 28 I/O0 to I/07 pins are used as a port for transferring address, command and input/output data to and from the device.
- WP# Write Protect
- Ready/Busy (R/B#) 14 is an open drain pin and the output signal is used to indicate the operating condition of the device.
- Vcc 10 and Vss 12 are power supply inputs.
- the memory core of NAND flash consists of NAND memory cell array 50, row decoder 52, sense amp & page buffer 54 and column decoder 56. The detailed memory cell array organization is described below.
- a page for either read or program operation is selected by the row decoder 52.
- a block for erase operation is also selected by the row decoder.
- the data of the selected page is sensed and latched into sense amp & page buffer 54.
- the data stored in the page buffer 54 are sequentially read out through column decoder 56 and global buffers 44.
- the input data from global buffers 44 are sequentially loaded into the page buffer 54 via column decoder 56.
- the input data latched in the page buffer are finally programmed into the selected page.
- High voltage generator 32 provides high voltages and reference voltages during read, program and erase operations.
- Global buffers 44 temporarily hold and buffer input and output data via common I/O pins (I/O 0 to 7) 28.
- the common I/O pins serve as the port for command, address and input/output data.
- Status register 42 tracks the device status during read, program or erase operation.
- Ready/Busy# 30 has an open drain transistor, and generates the Ready/Busy
- Command register 38 decodes an input command from the global buffer 44 and the decoded command is input to the control circuit 36 having a state machine.
- Control circuit 36 is a central unit to control the entire device during various operating modes.
- Control buffers 34 determine one of operating modes such as command input, address input, data input, data output and status output in accordance with combination of control pins as CE#, CLE, ALE, WE#, RE# and WP#.
- Figure 2 illustrates the cell array structure of NAND flash memory which consists of n erasable blocks labeled Block 0, Block 1 , Block n-1. Each block is subdivided into m programmable pages as shown Figure 3, labeled Page 0, Page 1 , Page m-1.
- Each page consists of (j+k) bytes (x8b) as shown in Figure 4.
- the pages are further divided into a j-byte data storage region 100 (data field) with a separate k-byte area 102 (spare field).
- the k-byte area is typically used for error management functions.
- 1 page (j + k) bytes
- the internal memory array is accessed on a page basis.
- the read operation starts after writing READ command followed by addresses via common I/O pins (I/O0 to I/O 7) to the device.
- the 4,224 bytes of data within the selected page are sensed and transferred to the page register (or page buffer) in less than tR (data transfer time from flash array to page register) shown in Figure 5.
- tR data transfer time from flash array to page register
- the memory array is programmed on a page basis. For program operations, a
- PROGRAM command followed by addresses and input data of 4,224 bytes is issued to the device through common I/O pins (I/O0 to I/07).
- the 4,224 bytes of data are transferred to the page register (or page buffer) during input data loading cycles and finally programmed to the selected page of the cell array less than tPROG (page program time) as shown in Figure 6.
- the memory array is erased on a block basis. For block erase operations, a
- BLOCK ERASE command followed by block addresses is issued to the device through common I/O pins (I/O0 to I/07).
- the (256K + 8K) bytes of data are erased less than tBERS (block erase time) as shown in Figure 7.
- FIG. 8 shows a block diagram of an example of a general system that includes a flash memory system.
- the flash memory system 114 communicates with a main system or processor 110 via a flash controller 112.
- a typical flash memory system has either a single flash memory device 118 as shown in Figure 9 or multiple flash memory devices 120,122,124,126 as shown in Figure 10.
- a flash memory system using a single flash device might be used in applications which require relatively small memory space.
- a flash memory system using multiple flash memory devices can be implemented such as the system of Figure 10.
- the flash controller 112 can access each flash memory device 120,122,124,126 via a common bus 128. Only one flash device can be selected at a time by asserting a chip enable signal on one of devices.
- MCP Multi Chip Package
- a multi chip package (MCP: multiple chips in a single package) is a very popular solution to increase packing density.
- An MCP typically uses multi-drop bus such as shown in Figure 11 and Figure 12.
- Figure 12 illustrates a MCP having four NAND flash devices
- the output signals of the rest devices are high impedance (i.e. Hi-Z) state.
- This type of device connection is a multi-drop bus connection or topology.
- Figure 13 illustrates an example of page program operational timing for two
- NAND flash devices in a single package. All input and output pins except CE# pins are commonly connected in multi-drop configuration as shown in Figure 1 1. This example shows consecutive program operations into device 1 130 and device 2 132.
- the 2nd command cycle (10h) (408) for page program is asserted and device 1 starts page program operation (410) governed by auto-timed, internal program algorithm. During this period, the R/B# of device 1 goes Low to represent device 1 is in busy state (412). Once the internal page program operation is completed, the R/B# of device 1 goes High (414). Hence the next command can be issued to device 1.
- the 1st command cycle (80h) for page program is issued to device 2 (420).
- Five bytes input addresses (AO to A30 for 8Gb NAND Flash) (422) and 4K bytes input data (424) are loaded to device 2.
- the 2nd command cycle (10h) (426) for page program is asserted and device 1 starts page program operation governed by auto- timed, internal program algorithm. During this period, the R/B# of device 1 goes Low (428) to represent device 1 is in busy state. Once the internal page program operation is completed, the R/B# of device 2 goes High (430). Hence the next command can be issued to device 2.
- the unselected NAND flash device waits until the selected device completes any operation.
- the auto-timed page program typically takes 200us in SLC NAND flash and 600us in MLC NAND flash.
- a NAND flash device may have a "CE# don't care state.” Once the selected device starts an internal page program operation, the selected device will continue the internal page program operation even when the CE# is High. With the "CE# don't care" feature, the next device can perform any other operation once the previous device enters the internal page program operation. This is referred to as a device interleave operation between two NAND flash devices and an example of this is shown in Figure 14, again in the context of the MCP of Figure 1 1 containing 2 flash devices.
- the 1st command cycle (80h) for page program is issued to device 1 130 (442).
- Five bytes input addresses (AO to A30 for 8Gb NAND Flash) (444) and 4K bytes input data (446) are loaded to device 1.
- the 2nd command cycle (10h) (448) for page program is asserted and device 1 starts page program operation governed by auto-timed, internal program algorithm (450). During this period, the R/B# of device 1 goes 'Low' to represent device 1 is in busy state (452). Once the internal page program operation in the 1 st device started, which can be indicated by R/B#, the CE1# can return to High (454). Therefore the next page program command can be issued to the 2nd device 132.
- Figure 15 shows interleave page read operational timing for two NAND flash devices in a single package, for example, the MCP of Figure 11.
- the interleave page read operation is very similar to the interleave page program operation described previously.
- R/B# of device 1 goes Low to represent device 1 is in busy state (480). Once the internal page read operation is completed, the R/B# of device 1 goes High (482). Hence device 1 is ready for burst read operation of 4KB data. During page read operation for device 1 , device
- CE2# High (484).
- CE2# Low (486)
- the 1st command cycle (OOh) (488) for page program to device 2 is issued and five bytes input addresses (AO to A30 for 8Gb NAND Flash) (490) are loaded to device 2.
- the 2nd command cycle (10h) (492) for page read is asserted and device 2 starts page read operation governed by auto-timed, read algorithm (494). During this period, the R/B# of device 2 goes Low to represent device 2 is in busy state (496). Once the internal page read operation is completed, the R/B# of device 2 goes High (498). Hence the next command can be issued to device 2.
- An objective of MCP in flash memory is increasing memory capacity while maintaining same package pinout and configuration.
- the chip enable (CE#) pin needs to be separated as described in section 1.4. If the MCP device has 4 flash devices in a single package, four chip enable pins (CE1# ⁇ CE4#) are needed as opposed to two in an MCP with two flash devices. The result is that the 4-device MCP needs a different pin assignment and PCB layout compared to a 2-device MCP. In addition, this chip enable pin increase is a burden to the flash memory controller.
- Figure 16 and Figure 17 show examples of device connection for two NAND flash devices in a single package and four NAND flash devices in a single package.
- For the two device embodiment of Figure 16 there are two NAND flash devices 160,162 connected to a common bus 164. Unlike the arrangement of Figure 11 , there are no individual CE# pins.
- FIG. 18 depicts a 1 byte command structure according to an embodiment of the present invention.
- the command consists of OP code 200 and device ID 202.
- upper 4 bits (Bit 4 to Bit 7) are assigned to the OP code and lower 4 bits (Bit 0 to Bit 3) are assigned to the device ID.
- 4-bit device ID total 16 devices can be exclusively selected. Note that the number of bits assigned to OP code and device ID may vary and the command structure shown in Figure 18 is just an example.
- each NAND flash device connected in a multi-drop configuration for example the NAND flash devices of Figure 16 or 17, contains a command processor (not shown) configured to process a command received via the common bus to determine if the command selects that particular memory device, and to act upon the command if the command selects that particular memory device.
- a command processor not shown
- Table 1 lists an example set of commands for use in an embodiment of the present invention.
- the lower 4 bits in the 1st command select one of up to 16 flash devices.
- a difference between the proposed NAND flash command and conventional NAND flash commands is that the lower 4 bits of each command in the example of the present invention are assigned to the device ID.
- Table 1 Example Set of Commands Including Device ID
- Table 2 and Table 3 show read commands and page program commands having device ID to select one of up to 16 flash devices.
- Figure 19 illustrates operational timing of interleave page program in two
- NAND flash devices according to an embodiment of the present invention. Note that the following interleave page operations can be also applied to more than two flash devices in a system.
- All flash devices in this case, two flash devices always accept any command.
- 3rd address input (3rd byte) row address 1 ;
- 5th address input (5th byte) row address 3.
- Device 2 will recognize from the 1st command cycle (80h) that the input address and input data are not for device 2. Thus device 2 will block following 5 bytes input address and 4K bytes input data from the common bus (i.e. device 2 is deselected by the 1st command cycle (80h)) (520).
- the 2nd command cycle (10h) (518) for page program is asserted and device 1 starts page program operation governed by auto-timed, internal program algorithm (522). During this period, the R/B# of device 1 goes Low to represent device 1 is in busy state (524)
- Device 2 will ignore the 2nd command cycle (10h) because the 1 st command cycle (80h) was not for device 2. Once the internal page program operation in device 1 started, which can be indicated by R/B#, the next page program command can be issued to device 2.
- the 1st command cycle having device ID (81 h) (526) for page program to device 2 is issued to device 2.
- Five bytes input addresses (AO to A30 for 8Gb NAND Flash) (530) and 4K bytes input data (532) are loaded to device 1.
- the internal page program operation in device 1 is not interrupted by the 1 st command cycle (81 h) for page program to device 2.
- the 2nd command cycle (10h) (534) for page program is asserted and device 2 starts page program operation governed by auto-timed, internal program algorithm (536). During this period, the R/B# of device 2 goes Low to represent device 2 is in busy state (538).
- a read status command having device ID (70h) is issued to check the status of device 1 (540). If device 1 is ready to take a next operation, another page program command can be inputted to device 1.
- the 1 st command cycle having device ID (80h) (542) for page program is issued to device 1.
- Five bytes input addresses (AO to A30 for 8Gb NAND Flash) (544) and 4K bytes input data (546) are loaded to device 1.
- the 2nd command cycle (1 Oh) (548) for page program is issued and device 1 starts page program operation governed by auto-timed, internal program algorithm (550). During this period, the R/B# of device 1 goes Low to represent device 1 is in busy state (552).
- Figure 20 illustrates operational timing of interleave page read in two NAND flash devices according to an embodiment of the present invention. Note following interleave page operations can be also applied to more than two flash devices in a system.
- All flash devices in this case, two flash devices always accept any command.
- the 1 st command cycle (OOh) (562) for page read to device 1 is asserted and five bytes input addresses (AO to A30 for 8Gb NAND Flash) (564) are loaded to device 1.
- Device 2 will recognize from the 1 st command cycle (OOh) that the input address are not for device 2.
- device 2 will block following 5 bytes input address from the common bus (i.e. device 2 is deselected by the 1 st command cycle (00h)) (570).
- the 2nd command cycle (30h) (566) for page read is asserted and device 1 starts page read operation governed by auto-timed, internal read algorithm (568). During this period, the R/B# of device 1 goes Low to represent device 1 is in busy state (572).
- Device 2 will ignore the 2nd command cycle (30h) because the 1 st command cycle having device ID (OOh) is not for device 2.
- the 1st command cycle (01 h) (580) for page read to device 2 is asserted and five bytes input addresses (AO to A30 for 8Gb NAND Flash) (582) are loaded to device 2.
- the 2nd command cycle (30h) (584) for page read is asserted and device 2 starts page read operation governed by auto-timed, read algorithm (586). During this period, the R/B# of device 2 goes Low to represent device 2 is in busy state (588).
- a read status command having device ID (70h) is issued to device 1 to check the device status (590). If device 1 is ready to take a next operation, another command can be inputted to device 1.
- the 1st command cycle (20h) (592) for burst read to device 1 is asserted and five bytes input addresses (AO to A30 for 8Gb NAND Flash) (594) are loaded to device 2.
- the 2nd command cycle (30h) (596) for burst read is asserted and device 1 starts burst read operation to access 4K bytes data stored in the page buffers of device 1 during previous page read operation in device 1 (598).
- a read status command (71 h) is issued to check the status of device 2 (600).
- Device 1 will ignore the read status command (71 h) because this command is not for the device 1. If device 2 is ready to take a next operation, another command can be inputted to device 2.
- the 1 st command cycle (21 h) (602) for burst read to device 2 is asserted and five bytes input addresses (604) are loaded to device 2.
- the 2nd command cycle (30h) (606) for burst read is asserted and device 2 starts burst read operation to access 4K bytes data stored in the page buffers of device 2 during previous page read operation in device 2 (608).
- Figure 21 shows operational timing of interleave page read and program in two NAND flash devices according to an embodiment of the present invention.
- All flash devices in this case, two flash devices always accept any command.
- the 1 st command cycle (OOh) (612) for page read to device 1 is asserted and five bytes input addresses (AO to A30 for 8Gb NAND Flash) (614) are loaded to device 1.
- Device 2 will recognize from the 1 st command cycle (OOh) that the input address are not for device 2. Thus device 2 will block following 5 bytes input address from the common bus (i.e. device 2 is deselected by the 1st command cycle (00h)) (620).
- the 2nd command cycle (30h) (616) for page read is asserted and device 1 starts page read operation governed by auto-timed, internal read algorithm (618). During this period, the R/B# of device 1 goes Low to represent device 1 is in busy state (622).
- Device 2 will ignore the 2nd command cycle (30h) because the 1 st command cycle (OOh) is not device 2.
- the 1 st command cycle having device ID (81 h) (624) for page program to device 2 is issued to device 2.
- Five bytes input addresses (AO to A30 for 8Gb NAND Flash) (628) and 4K bytes (630) input data are loaded to device 1.
- the internal page program operation in device 1 is not interrupted by the 1 st command cycle (81 h) for page program to device 2.
- the 2nd command cycle (10h) (632) for page program is asserted and device 2 starts page program operation governed by auto-timed, internal program algorithm (634). During this period, the R/B# of device 2 goes Low to represent device 2 is in busy state (636).
- a read status command (70h) is issued to check the status of device 1 (640). If device 1 is ready to take a next operation, another command can be inputted to device 1.
- the 1st command cycle (20h) (642) for burst read to device 1 is asserted and five bytes input addresses (644) are loaded to device 1.
- the 2nd command cycle (30h) (646) for burst read is asserted and device 1 starts burst read operation to access 4K bytes data stored in the page buffers of device 1 during previous page read operation in device 1 (648).
- device selection is achieved through the use of input address, for example one or more MSB of the row address.
- input address for example one or more MSB of the row address.
- the command and sequence shown in Table 4 are identical to those of conventional proposed NAND flash . It should be clearly understood a different command structure could be used.
- a full command cycle for read, burst read, block erase, page program includes an address.
- the address contains 4 bytes, containing 32 bits AO to A31. Address bits AO to A12 are assigned to the column address, and address bits A13 to A30 are assigned to the row address.
- additional bits in of the address are used to select one of multiple devices that are commonly connected in a single package (e.g. MCP using multi-drop connection).
- A31 can be used to perform device selection.
- A31 and A32 can be used to perform device selection. Note this requires an additional byte in the address to convey A32. However, since the command and address are conveyed to the devices in sequence over the common bus, this does not change the pinout requirement.
- A31 to A33 can be used to perform device selection. Note that this also requires an additional byte in the address to convey A32 and A33. However, since the command and address are conveyed to the devices in sequence over the common bus, this does not change the pinout requirement.
- address information for read, burst read, block erase, and page program, for this embodiment of the invention, address information is also included for other device-specific commands, such as read status.
- Figure 22 shows one example of circuits for device selection by input address. Such a circuit is included in each NAND flash device connected in a multi-drop configuration.
- # denotes enable when logic Low (i.e. active when Low).
- CE#, WE#, RE#, WP#, ALE, CLE are external control input signals.
- CEf#, WEf#, REf#, WPf#, ALEf, CLEf are buffered, internal control signals.
- I/O0 ⁇ 1/07 are external input and output signals (common I/O signals).
- DeviceJD register 300 is a register containing a unique deviceJD - that is, unique between the devices connected in the multi-drop configuration. This can, for example, where the DeviceJD register of each device contains respective values for the bits ID_A32 and ID_A31. be programmed by one of nonvolatile programming methods such as laser fuse, electrical fuse, pad bonding option, metal layer option or nonvolatile memory cells.
- nonvolatile programming methods such as laser fuse, electrical fuse, pad bonding option, metal layer option or nonvolatile memory cells.
- A31 and A32 whenever input addresses are loaded. Input address A31 and A32 via the global buffer are compared with device ID address ID_A31 and ID_A32 in Device ID Comparator 302. If the input addresses are matched with the device ID addresses, the output IOEN 306 of the DeviceJD Comparator is High. WE# buffer and RE# buffer are controlled by not only CE# but also DSEL of the Burst Data Control block. Specifically, when DSEL is high, these buffers are disabled.
- a burst data control block 310 generates the DSEL outputs 320 as a function of IOEN 306, ALEf 312 and CLEf 314.
- the burst data control block 310 receives IOEN 306, and inverts this with invertor 316 to produce IOEN#.
- ALEf 312 is an input that is high during address input
- CLEf 314 is an input that is high during command input.
- ALEf 312, CLEf 314 and IOEN# are input to NOR gate 318 the output of which input to inverter 319, the output of which is the DSEL output 320.
- DSEL low means that a device is not de-selected, while DSEL high means a device is de-selected.
- Table 5 shows device selection table by input address for four flash devices in MCP.
- Table 5 Device Selection by Input Address Input Address (A32, A31) from 5th Address
- ID_A32 ID_A31 0, 0 0, 1 1 , 0 1, 1
- Figure 23 illustrates an example of command/address/data input timing with the circuits shown in Figure 22.
- Device 1 is selected and devices 2 to 4 are deselected.
- the IOEN in device 1 is High while the IOEN in device 2 is Low.
- Figure 24 illustrates command/address/data output timing with the circuits shown in Figure 22.
- the output timing is very similar to the input timing shown in Figure 23.
- Device 1 is selected and devices 2 to 4 are deselected.
- the IOEN in device 1 is High while the IOEN in device 2 is Low.
- the device interleave operations (e.g., page program, interleave page read and interleave page read & program and so on) can be performed in same fashion as the device interleave operations described previously.
- the device elements and circuits are connected to each other as shown in the figures for the sake of simplicity. In practical applications these devices, elements circuits, etc., may be connected directly to each other or indirectly through other devices elements, circuits, etc. Thus, in an actual configuration, the elements, circuits and devices are coupled either directly or indirectly with each other.
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261583408P | 2012-01-05 | 2012-01-05 | |
| US13/611,580 US8797799B2 (en) | 2012-01-05 | 2012-09-12 | Device selection schemes in multi chip package NAND flash memory system |
| PCT/CA2012/001035 WO2013102255A1 (en) | 2012-01-05 | 2012-11-08 | Device selection schemes in multi chip package nand flash memory system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP2801096A1 true EP2801096A1 (en) | 2014-11-12 |
| EP2801096A4 EP2801096A4 (en) | 2015-10-28 |
Family
ID=48743830
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP12864164.4A Withdrawn EP2801096A4 (en) | 2012-01-05 | 2012-11-08 | Device selection schemes in multi chip package nand flash memory system |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US8797799B2 (en) |
| EP (1) | EP2801096A4 (en) |
| KR (1) | KR20140111323A (en) |
| CN (1) | CN104160448A (en) |
| CA (1) | CA2865019A1 (en) |
| TW (1) | TW201337945A (en) |
| WO (1) | WO2013102255A1 (en) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8797799B2 (en) * | 2012-01-05 | 2014-08-05 | Conversant Intellectual Property Management Inc. | Device selection schemes in multi chip package NAND flash memory system |
| US9256502B2 (en) * | 2012-06-19 | 2016-02-09 | Oracle International Corporation | Method and system for inter-processor communication |
| US20150039813A1 (en) * | 2013-08-05 | 2015-02-05 | Greenliant Llc | NAND Interface Capacity Extender Device For Extending Solid State Drives Capacity, Performance, And Reliability |
| KR101655008B1 (en) | 2014-11-27 | 2016-09-06 | 숭실대학교산학협력단 | Apparatus and method for real-time multi-chip flash storage |
| JP2016170747A (en) * | 2015-03-16 | 2016-09-23 | セイコーエプソン株式会社 | Semiconductor integrated circuit device and electronic apparatus using the same |
| US10146608B2 (en) * | 2015-04-06 | 2018-12-04 | Rambus Inc. | Memory module register access |
| KR102291639B1 (en) * | 2015-07-13 | 2021-08-20 | 에스케이하이닉스 주식회사 | Semiconductor memory device outputting ready busy signal and memory system including the same |
| KR102296740B1 (en) * | 2015-09-16 | 2021-09-01 | 삼성전자 주식회사 | Memory device and memory system including the same |
| KR102342789B1 (en) * | 2015-09-24 | 2021-12-24 | 에스케이하이닉스 주식회사 | Memory system and operating method thereof |
| KR102554416B1 (en) * | 2016-08-16 | 2023-07-11 | 삼성전자주식회사 | Internal status output device of memory device and memory system adopting the same |
| CN109478162B (en) * | 2016-09-26 | 2023-01-03 | 株式会社日立制作所 | Semiconductor memory device with a plurality of memory cells |
| CN110149459B (en) * | 2018-02-11 | 2024-04-05 | 杭州海康威视数字技术股份有限公司 | Camera control method and camera |
| CN109101730B (en) * | 2018-08-14 | 2022-02-18 | 郑州云海信息技术有限公司 | Method and system for acquiring chip associated element |
| JP2021044358A (en) * | 2019-09-10 | 2021-03-18 | キオクシア株式会社 | Semiconductor device and manufacturing method for semiconductor device |
| KR20210157749A (en) | 2020-06-22 | 2021-12-29 | 삼성전자주식회사 | Device for interfacing between memory device and memory controller, package and system including the same |
| WO2022269740A1 (en) * | 2021-06-22 | 2022-12-29 | ユニサンティス エレクトロニクス シンガポール プライベート リミテッド | Memory device using semiconductor element |
| US12468446B2 (en) | 2021-11-15 | 2025-11-11 | Samsung Electronics Co., Ltd. | Memory systems including memory controllers that use status input pins to check memory operation statuses of memory devices |
| EP4465353A4 (en) * | 2022-12-08 | 2025-10-01 | Yangtze Memory Tech Co Ltd | Chip, semiconductor package structure, method for configuring an activation pin and memory |
Family Cites Families (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3810105A (en) * | 1967-10-26 | 1974-05-07 | Xerox Corp | Computer input-output system |
| US5860080A (en) | 1996-03-19 | 1999-01-12 | Apple Computer, Inc. | Multicasting system for selecting a group of memory devices for operation |
| JP3189727B2 (en) | 1997-04-15 | 2001-07-16 | 日本電気株式会社 | Packet-type memory LSI with built-in coprocessor, memory system using the same, and control method therefor |
| JP3003782B2 (en) * | 1997-07-31 | 2000-01-31 | 日本電気株式会社 | Development support equipment |
| US6223230B1 (en) * | 1998-06-15 | 2001-04-24 | Sun Microsystems, Inc. | Direct memory access in a bridge for a multi-processor system |
| US6216178B1 (en) * | 1998-11-16 | 2001-04-10 | Infineon Technologies Ag | Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution |
| US6535450B1 (en) | 2000-08-18 | 2003-03-18 | Micron Technology, Inc. | Method for selecting one or a bank of memory devices |
| JP4358111B2 (en) * | 2002-08-29 | 2009-11-04 | パナソニック株式会社 | Semiconductor memory device and data writing method to flash memory |
| US7861007B2 (en) * | 2003-12-05 | 2010-12-28 | Ati Technologies Ulc | Method and apparatus for multimedia display in a mobile device |
| US8429326B2 (en) * | 2005-09-12 | 2013-04-23 | Mediatek Inc. | Method and system for NAND-flash identification without reading device ID table |
| KR101260632B1 (en) * | 2005-09-30 | 2013-05-03 | 모사이드 테크놀로지스 인코퍼레이티드 | Memory with output control |
| US20070165457A1 (en) * | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
| US7802064B2 (en) * | 2006-03-31 | 2010-09-21 | Mosaid Technologies Incorporated | Flash memory system control scheme |
| EP2487794A3 (en) * | 2006-08-22 | 2013-02-13 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
| US8433874B2 (en) * | 2006-12-06 | 2013-04-30 | Mosaid Technologies Incorporated | Address assignment and type recognition of serially interconnected memory devices of mixed type |
| US7796462B2 (en) * | 2007-02-22 | 2010-09-14 | Mosaid Technologies Incorporated | Data flow control in multiple independent port |
| US8046527B2 (en) * | 2007-02-22 | 2011-10-25 | Mosaid Technologies Incorporated | Apparatus and method for using a page buffer of a memory device as a temporary cache |
| US20080282017A1 (en) * | 2007-05-09 | 2008-11-13 | Microsoft Corporation | Serial Peripheral Interface Switch |
| US7831742B2 (en) * | 2007-08-10 | 2010-11-09 | Qimonda Ag | Method and device for enumeration |
| US8131913B2 (en) * | 2008-02-04 | 2012-03-06 | Mosaid Technologies Incorporated | Selective broadcasting of data in series connected devices |
| US20100115172A1 (en) * | 2008-11-04 | 2010-05-06 | Mosaid Technologies Incorporated | Bridge device having a virtual page buffer |
| US8880970B2 (en) * | 2008-12-23 | 2014-11-04 | Conversant Intellectual Property Management Inc. | Error detection method and a system including one or more memory devices |
| US8250417B2 (en) * | 2009-01-14 | 2012-08-21 | Micron Technology, Inc. | Method for detecting flash program failures |
| US8370718B2 (en) * | 2009-04-08 | 2013-02-05 | Stmicroelectronics S.R.L. | Method for identifying a flash memory device and related hosting device |
| US8966208B2 (en) * | 2010-02-25 | 2015-02-24 | Conversant Ip Management Inc. | Semiconductor memory device with plural memory die and controller die |
| US8582382B2 (en) * | 2010-03-23 | 2013-11-12 | Mosaid Technologies Incorporated | Memory system having a plurality of serially connected devices |
| US8924626B2 (en) * | 2010-04-29 | 2014-12-30 | Sandisk Technologies Inc. | Phased NAND power-on reset |
| KR101635446B1 (en) * | 2010-05-25 | 2016-07-04 | 삼성전자주식회사 | Method of merging blocks for a semiconductor memory device |
| JP2012133416A (en) * | 2010-12-17 | 2012-07-12 | Toshiba Corp | Memory system |
| WO2013071399A1 (en) * | 2011-11-14 | 2013-05-23 | Mosaid Technologies Incorporated | Package having stacked memory dies with serially connected buffer dies |
| US8825967B2 (en) * | 2011-12-08 | 2014-09-02 | Conversant Intellectual Property Management Inc. | Independent write and read control in serially-connected devices |
| US8797799B2 (en) * | 2012-01-05 | 2014-08-05 | Conversant Intellectual Property Management Inc. | Device selection schemes in multi chip package NAND flash memory system |
-
2012
- 2012-09-12 US US13/611,580 patent/US8797799B2/en active Active
- 2012-11-08 CA CA2865019A patent/CA2865019A1/en not_active Abandoned
- 2012-11-08 TW TW101141601A patent/TW201337945A/en unknown
- 2012-11-08 KR KR1020147021681A patent/KR20140111323A/en not_active Ceased
- 2012-11-08 WO PCT/CA2012/001035 patent/WO2013102255A1/en not_active Ceased
- 2012-11-08 EP EP12864164.4A patent/EP2801096A4/en not_active Withdrawn
- 2012-11-08 CN CN201280071163.8A patent/CN104160448A/en active Pending
-
2014
- 2014-07-02 US US14/321,987 patent/US9524778B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| TW201337945A (en) | 2013-09-16 |
| US20130176788A1 (en) | 2013-07-11 |
| KR20140111323A (en) | 2014-09-18 |
| CA2865019A1 (en) | 2013-07-11 |
| WO2013102255A1 (en) | 2013-07-11 |
| EP2801096A4 (en) | 2015-10-28 |
| US8797799B2 (en) | 2014-08-05 |
| CN104160448A (en) | 2014-11-19 |
| US20140313831A1 (en) | 2014-10-23 |
| US9524778B2 (en) | 2016-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9524778B2 (en) | Device selection schemes in multi chip package NAND flash memory system | |
| US10705736B2 (en) | Flash memory system | |
| US12079060B2 (en) | Memory system | |
| CN107871521B (en) | Semiconductor storage device, flash memory and continuous reading method thereof | |
| JP5421127B2 (en) | Nonvolatile memory with dynamic multimode operation | |
| EP2332036B1 (en) | Solid state storage device controller with expansion mode | |
| US20150134887A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
| US20130166825A1 (en) | Method Of Controlling Non-Volatile Memory, Non-Volatile Memory Controller Therefor, And Memory System Including The Same | |
| US20080172521A1 (en) | Memory System Determining Storage Mode According to Host Provided Data Information | |
| US9021218B2 (en) | Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same | |
| US9846643B2 (en) | Methods for maintaining a storage mapping table and apparatuses using the same | |
| JP2015164090A (en) | multiple independent serial link memory | |
| WO2012082656A2 (en) | Universal timing waveforms sets to improve random access read and write speed of memories | |
| JP2017045391A (en) | Memory system | |
| US20140173173A1 (en) | Method, device, and system including configurable bit-per-cell capability | |
| US10884668B2 (en) | Memory system | |
| JP2020149151A (en) | Semiconductor storage device | |
| US20070047308A1 (en) | Memory controller, flash memory system and control method for flash memory | |
| US8713242B2 (en) | Control method and allocation structure for flash memory device | |
| JP6708762B1 (en) | Semiconductor memory device | |
| US20250266839A1 (en) | Storage device including pad for determining link startup mode and method of controlling level of pad for determining link startup mode thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20140730 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC. |
|
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC. |
|
| DAX | Request for extension of the european patent (deleted) | ||
| RA4 | Supplementary search report drawn up and despatched (corrected) |
Effective date: 20150930 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G11C 7/10 20060101ALI20150924BHEP Ipc: G11C 8/12 20060101AFI20150924BHEP Ipc: G11C 16/06 20060101ALI20150924BHEP Ipc: G11C 16/10 20060101ALI20150924BHEP Ipc: G11C 16/04 20060101ALI20150924BHEP Ipc: G11C 15/04 20060101ALI20150924BHEP |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
| 18W | Application withdrawn |
Effective date: 20160310 |