US11694750B2 - Memory system, memory device, and control method of memory system for generating information from a threshold voltage - Google Patents
Memory system, memory device, and control method of memory system for generating information from a threshold voltage Download PDFInfo
- Publication number
- US11694750B2 US11694750B2 US17/176,213 US202117176213A US11694750B2 US 11694750 B2 US11694750 B2 US 11694750B2 US 202117176213 A US202117176213 A US 202117176213A US 11694750 B2 US11694750 B2 US 11694750B2
- Authority
- US
- United States
- Prior art keywords
- memory
- unique information
- memory cell
- data
- memory cells
- 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.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- 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/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/20—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional [3D] arrangements, e.g. with cells on different height levels
- H10B41/23—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional [3D] arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B41/27—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional [3D] arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional [3D] arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional [3D] arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional [3D] arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
Definitions
- Embodiments described herein relate generally to a memory system, a memory device, and a control method of the memory system.
- FIG. 1 is a view illustrating a configuration example of a memory system of an embodiment.
- FIG. 2 is a view illustrating a configuration example of a NAND flash memory according to the embodiment.
- FIG. 3 is an equivalent circuit diagram illustrating a configuration example of a memory cell array according to the embodiment.
- FIG. 4 is a schematic cross-sectional view illustrating a structure example of a memory cell array according to the embodiment.
- FIG. 5 is a view illustrating a relationship between data and a distribution of threshold voltages of memory cells according to the embodiment.
- FIG. 6 and FIG. 7 are schematic views for explaining an operation example of the memory system of the embodiment.
- FIG. 8 is a flowchart illustrating an operation example of the memory system of the embodiment.
- FIG. 9 , FIG. 10 and FIG. 11 are schematic views for explaining an operation example of the memory system of the embodiment.
- FIG. 12 is a flowchart illustrating an operation example of the memory system of the embodiment.
- FIG. 13 is a view illustrating a modification of the memory system of the embodiment.
- a memory system includes: a memory device configured to store data; and a controller configured to control an operation for the memory device.
- the memory device is configured to: execute a program operation by a first program voltage on a plurality of memory cells belonging to a first address of the memory device; detect at least one first memory cell among the plurality of memory cells by using a first determination level and a second determination level different from the first determination level, the at least one first memory cell having a threshold voltage of a value different from a value between the first determination level and the second determination level; and generate unique information of the memory device, based on a position of the first memory cell in the first address.
- FIG. 1 to FIG. 13 a memory system, a memory device, and a control method of the memory system according to embodiments will be described.
- FIG. 1 to FIG. 6 a configuration example of the memory system of the present embodiment will be described.
- FIG. 1 is a block diagram illustrating a configuration example of the memory system of the embodiment.
- a memory system SYS of the embodiment is electrically connected to a host device 9 .
- the memory system SYS performs data transfer, data storage, and the like, according to a command (hereinafter referred to as “host command”) from the host device 9 .
- the memory system SYS of the present embodiment includes at least one NAND flash memory 1 , and a controller 7 .
- the NAND flash memory 1 is an example of the memory device.
- the controller 7 orders write (write operation) of data to the NAND flash memory 1 , read (read operation) of data from the NAND flash memory 1 , and erase (erase operation) of data in the NAND flash memory 1 , in accordance with host commands.
- the controller 7 manages data in the NAND flash memory 1 .
- the NAND flash memory 1 is a nonvolatile semiconductor memory device which stores data substantially nonvolatilely.
- the NAND flash memory 1 will also be referred to simply as “flash memory”.
- FIG. 2 is a block diagram illustrating a configuration example of the flash memory in the memory system of the present embodiment.
- the flash memory 1 includes an input and output (input/output) circuit 10 , a logic control circuit 11 , a status register 12 , an address register 13 , a command register 14 , a sequencer 15 , a ready and busy (ready/busy) circuit 16 , a voltage generation circuit 17 , a memory cell array 18 , a row decoder 19 , a sense amplifier 20 , a data register 21 , and a column decoder 22 .
- input and output (input/output) circuit 10 the flash memory 1 includes an input and output (input/output) circuit 10 , a logic control circuit 11 , a status register 12 , an address register 13 , a command register 14 , a sequencer 15 , a ready and busy (ready/busy) circuit 16 , a voltage generation circuit 17 , a memory cell array 18 , a row decoder 19 , a sense amplifier 20 , a data register 21 , and a column decoder 22 .
- the input/output circuit 10 controls the input and output of signals 10 ( 100 to 107 ).
- the input/output circuit 10 sends data (write data) DAT from the memory controller 7 to the data register 21 .
- the input/output circuit 10 sends an address ADD from the controller 7 to the address register 13 .
- the input/output circuit 10 sends a command (hereinafter, also referred to as “controller command”) CMD from the controller 7 to the command register 14 .
- the input/output circuit 10 sends status information STS from the status register 12 to the memory controller 7 .
- the input/output circuit 10 sends data (read data) DAT from the data register 21 to the memory controller 7 .
- the logic control circuit 11 receives, from the controller 7 , a chip enable signal CEn, a command latch enable signal CLE, an address latch enable signal ALE, a write enable signal Wen, and a read enable signal REn.
- the logic control circuit 11 controls the input/output circuit 10 and sequencer 15 according to the received signals.
- the status register 12 temporarily stores status information, for example, of data write, data read, and data erase. By acquiring the status information, the controller 7 determines whether the operations are normally completed or not.
- the address register 13 temporarily stores the address ADD which is received from the memory controller 7 via the input/output circuit 10 .
- the address register 13 transfers a row address RA to the row decoder 19 , and transfers a column address CA to the column decoder 22 .
- the command register 14 temporarily stores the controller command CMD which is received via the input/output circuit 10 .
- the command register 14 transfers the controller command CMD to the sequencer 15 .
- the sequencer 15 controls the operation of the entirety of the memory device 1 .
- the sequencer 15 controls, according to the controller command CMD, for example, the status register 12 , the ready/busy circuit 16 , the voltage generation circuit 17 , the row decoder 19 , the sense amplifier 20 , the data register 21 , and the column decoder 22 . Thereby, the sequencer 15 executes a write operation, a read operation, and an erase operation.
- the ready/busy circuit 16 controls a signal level of a ready/busy signal R/Bn according to the operation state of the memory device 1 .
- the ready/busy circuit 16 sends the ready/busy signal R/Bn to the controller 7 .
- the voltage generation circuit 17 generates voltages for use in the write operation, read operation, and erase operation according to the control of the sequencer 15 .
- the voltage generation circuit 17 supplies the generated voltages to, for example, the memory cell array 18 , the row decoder 19 , and the sense amplifier 20 .
- the row decoder 19 and sense amplifier 20 apply the voltages, which are supplied from the voltage generation circuit 17 , to memory cells in the memory cell array 18 .
- the memory cell array 18 includes a plurality of blocks (physical blocks) BLK.
- Each block BLK includes memory cells (hereinafter, also referred to as “memory cell transistors”) which are associated with rows and columns.
- the row decoder 19 decodes the row address RA. Based on the decoded result, the row decoder 19 controls activation or deactivation (selection or non-selection) of the blocks BLK, word lines, and the like. The row decoder 19 applies voltages for the write operation, read operation, and erase operation to the memory cell array 18 (block BLK).
- the sense amplifier (sense amplifier module) 20 senses a signal which is output from the memory cell array 18 at a time of the read operation. Based on the sensed signal, data is determined. This data is used as read data. The sense amplifier 20 sends the read data to the data register 21 . At a time of the write operation, the sense amplifier 20 controls, based on write data, potentials of the bit lines BL of the memory cell array 18 .
- the sense amplifier 20 includes a plurality of sense amplifier circuits 200 .
- One sense amplifier circuit 200 is connected to one or more corresponding bit lines.
- Each sense amplifier circuit 200 includes at least one latch circuit 201 .
- the latch circuit 201 temporarily stores signals corresponding to threshold voltages of memory cells, which are output from a NAND string in the memory cell array 18 .
- the data register 21 stores write data and read data.
- the data register 21 transfers the write data DAT, which is received from the input/output circuit 10 , to the sense amplifier 20 as write data WD.
- the data register 21 transfers the read data RD, which is received from the sense amplifier 20 , to the input/output circuit 10 as read data DAT.
- the column decoder 22 decodes the column address CA.
- the column decoder 22 controls the sense amplifier 20 and data register 21 according to the decoded result.
- FIG. 3 is a schematic circuit diagram illustrating an example of a configuration of the memory cell array in the flash memory of the present embodiment.
- one block ELK includes, for example, four string units SU (SU 0 to SU 3 ).
- Each string unit SU includes a plurality of NAND strings NS.
- Each NAND string NS includes, for example, a plurality of memory cells MC (for example, an m-number of memory cells MC), and two select transistors ST 1 and ST 2 .
- Symbol m is an integer of 1 or more.
- the number of select transistors ST 1 and ST 2 in the NAND string NS is freely selected, and it suffices that at least one select transistor ST 1 and at least one select transistor ST 2 are provided.
- the memory cell MC includes a control gate and a charge storage layer. Thereby, the memory cell MC stores data nonvolatilely.
- the memory cell MC may be a charge trap type which uses an insulating layer (e.g. a silicon nitride film) as the charge storage layer, or may be a floating-gate type which uses a conductive layer (e.g. a silicon film) as the charge storage layer.
- the memory cells MC are connected in series between a source of the select transistor ST 1 and a drain of the select transistor ST 2 .
- Current paths of the memory cells MC are connected in series between the two select transistors ST 1 and ST 2 .
- a terminal (e.g. a drain) of the current path of a memory cell MC, which is located most on the drain side (i.e. the select transistor ST 1 side) in the NAND string NS, is connected to the source of the select transistor ST 1 .
- a terminal (e.g. a source) of the current path of a memory cell MC, which is located most on the source side (i.e. the select transistor ST 2 side) in the NAND string NS, is connected to the drain of the select transistor ST 2 .
- the gate of the select transistor ST 1 is connected to a corresponding one of drain-side select gate lines SGD 0 to SGD 3 .
- the gates of the select transistors ST 2 are commonly connected to one source-side select gate line SGS. Note that select gate lines SGS, which are independent from each other, may be connected to the string units SU 0 to SU 3 , respectively.
- the control gate of each memory cell MC in the block BLK is connected to a corresponding one of word lines WL 0 to WLm ⁇ 1.
- the drains of the select transistors ST 1 of the respective NAND strings NS in the string unit SU are connected to different bit lines BL 0 to BLn ⁇ 1, respectively.
- Symbol n is an integer of 1 or more.
- Each bit line BL is commonly connected to one NAND string NS in each string unit SU over plural blocks BLK.
- the sources of the select transistors ST 2 are commonly connected to a source line SL.
- the string units SU in the block BLK are connected to a common source line SL.
- the string unit SU is a set of NAND strings NS which are connected to plural bit lines BL and connected to an identical select gate line SGD.
- the block BLK is a set of string units SU which are commonly connected to plural word lines WL.
- the memory cell array 18 is a set of blocks BLK having common bit lines BL.
- Data write and data read are executed batchwise to memory cells MC connected to any one of word lines WL in a selected one of the string units SU.
- a group of memory cells MC which are selected batchwise when data write and data read are executed, are referred to as “memory cell group”.
- One or more pages are allocated to one memory cell group.
- Data erase is executed in units of the block BLK. However, data erase may be executed by a unit smaller than the block BLK.
- the flash memory 1 includes a unit of control, which is called “plane PLN”.
- One plane PLN includes, for example, the memory cell array 18 , the row decoder 19 , the sense amplifier 20 , the data register 21 , and the column decoder 22 .
- the flash memory 1 may include two or more planes PLN.
- the respective planes PLN can execute different operations at different timings by the control of the sequencer 15 .
- FIG. 4 is a cross-sectional view illustrating an example of a cross-sectional structure of the memory cell array of the flash memory of the present embodiment.
- the memory cell array 18 is provided above a semiconductor substrate SUB in the Z direction via an interlayer insulating film (not shown).
- the memory cell array 18 includes, for example, a plurality of conductive layers 41 to 45 , and a plurality of memory pillars MP.
- the conductive layer 41 is provided above the semiconductor substrate SUB in the Z direction.
- the conductive layer 41 has a plate shape extending along an XY plane that is parallel to a surface of the semiconductor substrate SUB.
- the conductive layer 41 is used as a source line SL of the memory cell array 18 .
- the conductive layer 41 includes, for example, silicon (Si).
- the conductive layer 42 is provided above the conductive layer 41 in the Z direction via an insulating layer (not shown).
- the conductive layer 42 has a plate shape extending along the XY plane.
- the conductive layer 42 is used as a select gate line SGS.
- the conductive layer 42 includes, for example, silicon (Si).
- Insulating layers (not shown) and the conductive layers 43 are alternately stacked in the Z direction above the conductive layer 42 .
- each of the conductive layers 43 has a plate shape extending along the XY plane.
- the stacked conductive layers 43 are used as word lines WL 0 to WLm ⁇ 1 in the order from the semiconductor substrate SUB side.
- the conductive layers 43 include, for example, tungsten (W).
- the conductive layer 44 is provided via an insulating layer (not shown) above the uppermost conductive layer 43 of the stacked conductive layers 43 .
- the conductive layer 44 has a plate shape extending along the XY plane.
- the conductive layer 44 is used as a select gate line SGD.
- the conductive layer 44 includes, for example, tungsten (W).
- the conductive layer 45 is provided via an insulating layer (not shown) above the conductive layer 44 in the Z direction.
- the conductive layer 45 has a line shape extending along the Y direction.
- the conductive layer 45 is used as a bit line BL.
- a plurality of conductive layers 45 functioning as bit lines BL are arranged in the X direction.
- the conductive layers 45 include, for example, copper (Cu).
- the memory pillar MP has a columnar structure extending in the Z direction.
- the memory pillar MP penetrates, for example, the conductive layers 42 to 44 .
- An upper end of the memory pillar MP is provided, for example, between a region (position/height in the Z direction) where the conductive layer 44 is provided, and a region (position/height in the Z direction) where the conductive layer 45 is provided.
- a lower end of the memory pillar MP is provided, for example, in a region where the conductive layer 41 is provided.
- the memory pillar MP includes, for example, a core layer 50 , a semiconductor layer 51 , and a stacked film 52 .
- the core layer 50 has a columnar structure extending in the Z direction. An upper end of the core layer 50 is provided, for example, in a region above the region (position/height) where the conductive layer 44 is provided. A lower end of the core layer 50 is provided, for example, in the region where the conductive layer 41 is provided.
- the core layer 50 includes, for example, an insulator such as silicon oxide (SiO 2 ).
- the semiconductor layer 51 covers the core layer 50 .
- the semiconductor layer 51 is put in direct contact with the conductive layer 41 , for example, on a side surface (a surface substantially perpendicular to the XY plane) of the memory pillar MP.
- the semiconductor layer 51 includes, for example, silicon (Si).
- the stacked film 52 covers the side surface and bottom surface of the semiconductor layer 51 , except the part where the conductor layer 41 and semiconductor layer 51 are put in contact.
- the stacked film 52 includes a tunnel insulating layer, a charge storage layer, and a block insulting layer.
- the charge storage layer is provided between the tunnel insulating layer and the block insulating layer.
- the tunnel insulating layer is provided between the charge storage layer and the semiconductor layer 51 .
- the block insulating layer is provided between the charge storage layer and the conductive layers 43 , between the charge storage layer and the conductive layer 42 , and between the charge storage layer and the conductive layer 44 .
- the characteristics of the memory cells MC are not uniform in the memory cell array 18 , depending on the positions in the Z direction in the memory cell array 18 , the positions in the X-Y plane in the memory cell array 18 , the film thickness of the stacked film 52 (tunnel insulating layer, charge storage layer, and block insulating layer), and the dimensions of the memory cells MC.
- FIG. 5 is a view illustrating a relationship between data and distributions of threshold voltages of memory cells in a flash memory.
- FIG. 5 illustrates a relationship between distributions of threshold voltages of memory cells and a read voltage.
- the ordinate axis corresponds to the number of memory cells
- the abscissa axis corresponds to threshold voltages Vth of memory cells.
- FIG. 5 represents distributions of threshold voltages corresponding to data which one memory cell stores.
- SLC Single Level Cell
- MLC Multi Level Cell
- two threshold voltages are set for the memory cell MC.
- the two threshold voltages are referred to as an “ER” level (or “ER” state) and an “A” level (or “A” state) in the order from the lower voltage value side.
- ER level
- A level
- “1” data is allocated to the “ER” level
- “0” data is allocated to the “A” level.
- the MLC method in the case of the MLC method, four threshold voltages are set for the memory cell MC.
- the four threshold voltages are referred to as an “ER” level, an “A” level, a “B” level (or “B” state) and a “C” level (or “C” state) in the order from the lower voltage value side.
- “11 (Lower/Upper)” data, “01” data, “00” data, and “10” data are allocated to the “ER” level, “A” level, “B” level, and “C” level, respectively.
- the threshold voltages of memory cells allocated to each level have a certain distribution (threshold voltage distribution).
- read voltages are set between neighboring threshold voltage distributions.
- the read voltage AR is set between a maximum threshold voltage in the distribution of the “ER” level and a minimum threshold voltage in the distribution of the “A” level.
- the read voltage AR is used in an operation of determining whether the threshold voltage of the memory cell MC is included in the threshold voltage distribution of the “ER” level or in the threshold voltage distribution of the “A” level or a higher level.
- the read voltage AR is applied to the memory cells MC, the memory cells corresponding to the “ER” level are set in the ON state, and the memory cells corresponding to the “A” level, “B” level, and “C” level are set in the OFF state.
- the read voltage BR is set between the threshold voltage distribution of the “A” level and the threshold voltage distribution of the “B” level
- the read voltage CR is set between the threshold voltage distribution of the “B” level and the threshold voltage distribution of the “C” level.
- a read pass voltage (non-select voltage) VREAD is set as a voltage which is applied to a non-selected word line at a time of a read operation.
- the voltage value of the read pass voltage VREAD is higher than the maximum threshold voltage in the highest threshold voltage distribution.
- the memory cells MC having the gates, to which the read pass voltage VREAD is applied, are set in the ON state, regardless of the data that the memory cells MC store.
- the above-described number of bits of data stored in one memory cell MC, and the allocation of data to the threshold voltages of the memory cell MC, are merely examples.
- data of 3 or more bits may be stored in one memory cell MC.
- Data different from the above may be allocated to each threshold voltage.
- the respective read voltages and the read pass voltage VREAD may be set to identical voltage values between the respective methods, or may be set to different voltage values between the methods.
- the threshold voltage of the memory cell is determined.
- FIG. 2 to FIG. 4 illustrate merely examples of the circuit configuration of the memory cell array of the flash memory in the present embodiment, and the circuit configuration of the memory cell array is not limited to the examples of FIG. 2 to FIG. 4 .
- the controller 7 includes a host interface circuit 70 , a processor (CPU) 71 , a ROM 72 , a buffer memory 73 , a RAM 74 , an ECC circuit 75 , and a memory interface circuit 79 .
- controller 7 may be implemented by firmware or by hardware.
- the controller 7 may be constituted by, for example, a SoC (System on a chip).
- the processor 71 controls the operation of the entirety of the controller 7 .
- the processor 71 For example, responding to a request (host command) from the host device 9 , the processor 71 generates a controller command. The processor 71 sends the generated controller command to the memory interface circuit 79 .
- the processor 71 can control execution of various internal processes for managing the flash memory 1 , such as wear leveling, garbage collection, and refresh. In these controls, too, the processor 71 generates controller commands and sends the controller commands to the memory interface circuit 79 . Based on criteria of the processor 71 , the controller 7 can order the flash memory 1 to execute, for example, an erase operation at a time of executing an internal process.
- the processor 71 includes a unique information generation circuit 710 .
- the unique information generation circuit 710 executes various processes for generating unique information (to be described later) in the memory system SYS (flash memory 1 ) of the present embodiment.
- the function of the unique information generation circuit 710 may be implemented as software or firmware as the function of the processor 71 .
- the unique information generation circuit 710 may be provided in the controller 7 as different hardware from the processor 71 .
- the unique information generation circuit 710 may be provided in the flash memory 1 .
- the ROM 72 stores a control program (firmware) of the memory system SYS, pieces of setting information, and the like.
- the buffer memory 73 temporarily stores data from the host device 9 and data from the flash memory 1 when data is transferred between the memory system SYS and the host device 9 .
- the buffer memory 73 temporarily stores data which is generated in the controller 7 .
- the buffer memory 73 is an SDRAM (Synchronous Dynamic random access memory) or an SRAM (Static random access memory).
- the buffer memory 73 may be provided outside the controller 7 .
- the RAM 74 is a memory area which is used as a working area of the processor 71 .
- the RAM 74 is, for example, an SRAM or an SDRAM.
- the RAM 74 may be provided outside the controller 7 .
- the RAM 74 stores, for example, an address conversion table.
- the address conversion table is a table representing a correspondence relationship between logical addresses which are storage positions of data that the host device 9 designates, and physical addresses which are storage positions of data that is actually written to the flash memory 1 .
- the address conversion table is stored, for example, in the flash memory 1 .
- the address conversion table is read from the flash memory 1 and loaded in the RAM 74 , for example, when the memory system SYS is started, or when necessary.
- the logical addresses are logical storage positions of data, which are obtained based on addresses designated from the host device 9 .
- the physical addresses are physical storage positions of data in the flash memory 1 .
- the address conversion table receives logical addresses as an input, and outputs physical addresses.
- the ECC circuit 75 executes error detection and error correction in read data.
- the error detection and error correction which are executed by the ECC circuit 75 , are referred to as “ECC process”.
- ECC process the error detection and error correction, which are executed by the ECC circuit 75 .
- the ECC circuit 75 generates a parity and a correction code, based on data from the host device 9 .
- the data, parity and correction code are written to the flash memory 1 .
- the ECC circuit 75 generates a syndrome, based on the read data, parity and correction code, and judges the presence or absence of an error in the read data.
- the ECC circuit 75 specifies the position of the error in the data, and corrects the error.
- the host interface circuit 70 is connected to the host device 9 via wireless communication or wired communication.
- the host interface circuit 70 executes communication between the memory system SYS and the host device 9 .
- the host interface circuit 70 controls transfer of data, host commands, and responses between the memory system SYS and the host device 9 .
- the host interface circuit 70 supports a communication interface standard such as SATA (Serial Advanced Technology Attachment), SAS (Serial Attached SCSI), PCIe (PCI Express) (trademark), or SDTM (trademark).
- the host device 9 is a computer or the like, which supports an interface such as SATA, SAS, or PCIe.
- the memory interface circuit 79 is connected to the corresponding flash memory 1 .
- a plurality of flash memories 1 may be connected to a single memory interface circuit 79 .
- the memory interface circuit 79 executes communication between the controller 7 and the flash memory 1 .
- the memory interface circuit 79 is constructed based on a NAND interface standard.
- a plurality of flash memories 1 may be controlled in parallel by the memory interface circuit 79 to which the flash memories 1 are connected.
- the memory system SYS including the controller 7 and flash memory 1 is a memory card such as an SDTM card, an SSD (solid state drive), a UFS (Universal Flash Storage), or the like.
- the host device 9 is connected to the memory system SYS via an interface such as SATA, SAS, PCIe, or an SD card.
- the host device 9 includes a processor 90 , a RAM (memory area) 91 , a ROM 92 , a unique information processing circuit 93 , and an authentication processing circuit 94 .
- the processor 90 controls the operation of the entirety of the host deice 9 .
- the processor 90 executes various processes of the host device 9 , by executing various programs (e.g. an access program AP).
- various programs e.g. an access program AP.
- the processor 90 orders the memory system SYS to execute data write, data read, or data erase, the processor 90 sends a host command to the memory system SYS.
- the RAM 91 is a memory area which is used as a working area of the processor 90 .
- the RAM 91 is, for example, an SRAM or an SDRAM.
- the ROM 92 stores a control program (firmware) of the host device 9 , and pieces of setting information.
- the host device 9 stores an access program AP in the RAM 91 or ROM 92 .
- the access program AP is executed on the processor 90 .
- the access program AP executes various processes on specific data (e.g. content data) in the flash memory.
- the host device 9 can access the memory system SYS by the access program AP.
- the host device 9 can request write of certain data to the flash memory 1 in the memory system SYS.
- the host device 9 can request read of certain data from the flash memory 1 of the memory system SYS.
- the host device 9 can request erase of certain data in the flash memory.
- the host device 9 executes an authentication process using various pieces of information, when executing data write, data read, or data erase for the flash memory 1 by the access program. AP.
- the host device 9 executes a process using the unique information of the memory system SYS, for the purpose of the authentication process between the host device 9 and the memory system SYS (flash memory 1 ).
- the unique information is information for the host device 9 to specify the memory system SYS.
- the host device 9 executes the authentication process with the use of the generated unique information, by using the authentication processing circuit 94 .
- the authentication process is a process for the host device 9 to authenticate the connected memory system SYS.
- the unique information processing circuit 93 executes various processes using the unique information of the memory system SYS.
- the unique information processing circuit 93 generates unique information INFS 1 of the memory system SYS (or flash memory 1 ) by using a certain area of the flash memory 1 .
- the unique information processing circuit 93 can control various operations for generating the unique information INFS 1 .
- the generated unique information INFS 1 is stored in a specific area (e.g. a block BLK) in the flash memory 1 .
- the authentication processing circuit 94 executes an authentication process between the host device 9 and the memory system SYS.
- the authentication processing circuit 94 can generate authentication information (e.g. an authentication key) by using the unique information INFS 1 of the flash memory 1 .
- the functions of the unique information processing circuit 93 and authentication processing circuit 94 may be implemented by software or firmware as the functions of the processor 71 .
- the unique information processing circuit 93 and authentication processing circuit 94 may be provided in the controller 7 in the memory system SYS.
- the host device 9 orders the unique information processing circuit 93 and authentication processing circuit 94 in the controller 7 to generate the unique information INFS 1 and to authenticate the unique information.
- a program voltage of a certain voltage value is applied to a certain word line, and thereby threshold voltages of memory cells connected to this word line WL increase.
- the values of the threshold voltages, which the memory cells can take, vary among the memory cells due to the variance in characteristics of the memory cells MC.
- the variance in characteristics of the memory cells MC of each word line WL does not substantially change in each word line. Therefore, as regards memory cells connected to a certain word line, the relationship between the bit (digit), in which an error occurs in data including plural bits, and the position (column address, cell number) of the memory cell does not substantially change.
- the unique information of the flash memory 1 in the memory system SYS is generated.
- An area for generating unique information (hereinafter referred to as “unique information generation area”) is set in the flash memory 1 .
- FIG. 6 is a schematic view for describing a configuration example of the unique information generation area in the memory system of the embodiment.
- a host device 9 A which executes a process of generating unique information, is exemplarily illustrated.
- the host device 9 A includes a unique information processing circuit 93 A.
- the flash memory 1 which is included in the memory system SYS, includes a unique information generation block BLKa, a protection block BLKb, and user blocks BLKc.
- a certain block BLKa is set as a unique information generation area (hereinafter, also referred to as “unique information generation block”).
- FIG. 7 is a schematic view illustrating a configuration example of the unique information generation block.
- the unique information generation block BLKa includes a plurality of (e.g. four) string units SU 0 , SU 1 , SU 2 and SU 3 .
- Each string unit SU includes a plurality of word lines WL 0 to WLm ⁇ 1.
- unique information INFS of the flash memory 1 is generated by using memory cells MC which are connected to a certain word line WLs (here, any one of word lines WL 0 to WLm ⁇ 1) of a certain string unit SUs (here, string unit SU 0 ) in the unique information generation block BLKa.
- the generated unique information INFS is provided to the host device 9 A.
- plural string units and plural word lines may be used as a selected address, in accordance with the number of bits (data length) of the unique information INFS used for authentication.
- Information relating to the address that is used for generating the unique information INFS is set, for example, as specifications or standards of the memory system SYS.
- the information relating to the address that was used for generating the unique information INFS may be stored as history information in an area in the memory system SYS, to which user access is restricted.
- the generated unique information INFS is stored by the host device 9 A in the protection area (hereinafter, also referred to as “protection block”) BLKb in the flash memory 1 .
- the protection block BLKb is an area to which user access is restricted.
- a plurality of blocks (hereinafter referred to as “user blocks”) BLKc, which are other than the unique information generation block BLKa and the protection block BLKb, are provided.
- the user blocks BLKc store certain data (called “user data” or “normal data”). Using well-known art, write, read, and erase of data are executed for the user blocks BLKc. In the present embodiment, description is omitted of the write, read, and erase of data for the user blocks BLKc.
- content data may be stored in the user blocks BLKc.
- the unique information processing circuit 93 A included in the host device 9 A illustrated in FIG. 6 executes various processes for generating the unique information INFS of the memory system SYS.
- the unique information processing circuit 93 A can control various processes and operations for at least one word line WLs (hereinafter referred to as “selected word line”) of a certain string unit SUs in the unique information generation block BLKa.
- the unique information processing circuit 93 A can instruct the flash memory 1 to execute a unique information generation process via the processor 90 .
- the processor 71 (or unique information generation circuit 710 ) can order the flash memory 1 to execute the various processes/operations for the unique information generation process, based on the instruction from the host device 9 A (unique information processing circuit 93 A).
- the host device 9 A When the host device 9 A writes data (e.g. secret information, content data, or the like), which is an object of protection, to the memory system SYS, the generation of the unique information INFS is executed.
- data e.g. secret information, content data, or the like
- the unique information processing circuit 93 A included in the host device 9 A executes the following processes at the time of generating the unique information INFS.
- FIG. 8 is a flowchart of the unique information generation process in the memory system of the present embodiment.
- the unique information processing circuit 93 A instructs at a particular timing the memory system SYS to generate unique information.
- the host device 9 A sends to the memory system SYS a host command for generating the unique information.
- the generation of the unique information may be executed according to the specifications of the memory system SYS, for example, before shipment of the memory system SYS, at a time of starting the use of the memory system SYS, at a time of powering on the memory system SYS, or upon request by the user.
- the memory system SYS receives the instruction (host command) to generate the unique information from the host device 9 A.
- the controller 7 sends to the flash memory 1 various instructions (controller commands) for generating the unique information.
- the flash memory 1 receives the instructions from the controller 7 .
- the flash memory 1 starts the unique information generation process.
- the sequencer 15 executes a program operation for the memory cells of a first address (e.g. word line WL 0 of the string unit SU 0 ) of the unique information generation block BLK.
- a first address e.g. word line WL 0 of the string unit SU 0
- the program operation for generating the unique information is different from an operation for writing specific data (e.g. user data).
- the program operation at the time of the unique information generation is an operation of shifting the threshold voltage of the memory cell by applying a program voltage of a certain voltage value, without writing specific data.
- the program operation at the time of the unique information generation is referred to as “rough program”.
- FIG. 9 is a schematic view for describing the rough program at the time of generating the unique information in the present embodiment.
- the rough program is executed on all memory cells in the unique information generation block BLKa.
- a program voltage Vpgmx is applied to the word lines WL sequentially or batchwise, in such a manner that the rough program is executed for all memory cells MC in the unique information generation block BLKa.
- the rough program may be executed to one word line WL in the unique information generation block BLKa. At this time, it suffices that the program voltage Vpgmx is applied to the one word line WL.
- the program voltage Vpgmx is applied to at least one word line WLs of the selected string unit SUs.
- the threshold voltages of the memory cells MC connected to the selected word line WLs are distributed in a range in which a certain voltage value corresponding to the program voltage Vpgmx is a central value Vx. In this manner, with respect to the rough program (program voltage Vpgmx), a distribution 999 of the memory cells MC connected to the selected word line WLs is formed.
- the verification (verify operation, program verify) of the voltage value of the threshold voltage of the memory cell with respect to the application of the program voltage Vpgmx is not executed.
- the rough program is finished after the application of the program voltage Vpgmx.
- FIG. 9 The details of FIG. 9 will be described later.
- the sequencer 15 executes a determination operation (read operation) of threshold voltages for the memory cells connected to a certain selected word line.
- the sequencer 15 determines whether the values of the threshold voltages of the memory cells MC are within a certain voltage range. For example, the sequencer 15 executes the read operation by using two determination levels VL and VH.
- the voltage value of the determination level VL is lower than the voltage value of the determination level VH.
- the voltage values of the determination levels VL and VH can be obtained by an experiment or by simulation.
- the determination levels VL and VH are set as appropriate, based on the threshold voltage distribution 999 formed by the rough program.
- the voltage value of the determination level VL is lower than the voltage value of the central value Vx of the threshold voltage distribution 999 formed by the rough program.
- the voltage value of the determination level VH is higher than the voltage value of the central value Vx.
- the voltage value of the determination level VL is higher than a minimum value of the threshold voltage distribution 999 .
- the voltage value of the determination level VH is lower than a maximum value of the threshold voltage distribution 999 .
- the value of the program voltage Vpgmx may be set such that the central value (voltage value) Vx of the distribution of the threshold voltages of the memory cells becomes a middle value between the determination level VL and the determination level VH.
- the value of the program voltage Vpgmx of the rough program may be set by an experiment or by simulation, in accordance with the determination level VL and the determination level VH.
- the memory cells e.g. memory cells in a region Qa in FIG. 9
- the memory cells MC having threshold voltages, which are equal to or less than the determination level VL are set in the ON state, and the memory cells MC having threshold voltages, which are higher than the determination level VL, are set in the OFF state.
- the memory cells MC having threshold voltages, which are equal to or less than the determination level VH, are set in the ON state on, and the memory cells MC (e.g. memory cells in a region Qb in FIG. 9 ) having threshold voltages, which are higher than the determination level VH, are set in the OFF state.
- Memory cells which are set in the OFF state when the determination level VL is applied and set in the ON state when the determination level VH is applied, have threshold voltages within a range Qc which is higher than the determination level VL and is equal to or less than the determination level VH.
- the memory cells which are set in the ON state at both the determination levels VL and VH, and the memory cells which are set in the OFF state at both the determination levels VH and VL have threshold voltages included in the region Qa and region Qb outside the range Qc.
- a threshold voltage (voltage value) which is equal to or less than the determination level VL, and a threshold voltage (voltage value) which is higher than the determination level VH, are referred to as “off-values”.
- memory cells (memory cells in the region Qa, Qb) MC having threshold voltages of off-values are referred to as “off-value cells”.
- the memory cells having threshold voltages within the range Qc and the memory cells (off-value cells) having threshold voltages outside this range are determined.
- the ON or OFF of memory cells is determined by the sense amplifier 20 detecting the occurrence of electric current in the bit line (or a variation of potential of the bit line), in the substantially same manner as in the read of user data.
- FIG. 10 is a view schematically illustrating a process at a time of a read operation using the determination level VL, VH.
- the determination result of the threshold voltage of the memory cell using the determination level VL, VH is temporarily stored in the latch circuit 201 of each sense amplifier circuit 200 of the sense amplifier 20 .
- the memory cell connected to the latch circuit 201 is a memory cell which is set in the ON state at the determination level VL, “0” is stored in this latch circuit 201 .
- the memory cell connected to the latch circuit 201 is a memory cell which is set in the OFF state at the determination level VL, “1” is stored in this latch circuit 201 .
- memory cells of an address ⁇ 0> (bit line BL 0 ), an address ⁇ 8> (bit line BL 8 ), an address ⁇ 9> (bit line BL 9 ), and an address ⁇ n ⁇ 4> (bit line BLn ⁇ 4) are memory cells (off-value cells) having threshold voltages which are equal to or less than the determination level VL.
- Signals (“0”) indicative of the ON state with respect to the determination level VL are stored in the corresponding latch circuits 201 as parts of the determination result of the determination level VL via the bit lines BL corresponding to the address ⁇ 0>, address ⁇ 8>, address ⁇ 9>, and address ⁇ n ⁇ 4>.
- signals (“1”) indicative of the OFF state with respect to the determination level VL are stored in the corresponding latch circuits 201 as parts of the determination result of the determination level VL.
- the thus obtained determination result of the determination level VL is information INFL for generating unique information INFS.
- the memory cell connected to the latch circuit 201 is a memory cell which is set in the ON state at the determination level VH, “0” is stored in this latch circuit 201 .
- the memory cell connected to the latch circuit 201 is a memory cell which is set in the OFF state at the determination level VH, “1” is stored in this latch circuit 201 .
- memory cells of an address ⁇ 5> (bit line BL 5 ), an address ⁇ i> (bit line BLi), and an address ⁇ n ⁇ 2> are memory cells (off-value cells) having threshold voltages which are higher than the determination level VH.
- Signals (“1”) indicative of the OFF state with respect to the determination level VH are stored in the corresponding latch circuits 201 as parts of the determination result of the determination level VH via the bit lines BL corresponding to the address ⁇ 5>, address ⁇ i>, and address ⁇ n ⁇ 2>.
- signals (“0”) indicative of the ON state with respect to the determination level VH are stored in the corresponding latch circuits 201 as parts of the determination result of the determination level VH.
- the thus obtained determination result of the determination level VH is information INFH for generating the unique information INFS.
- the information INFL, INFH of the ON or OFF relating to the determination level VL, VH is stored in the latch circuit 201 corresponding to the address (memory cell number, bit line number) of the memory cell.
- each of the memory cells MC corresponding to the latch circuit 201 has an off-value 99 ( 99 a , 99 b ).
- the memory cell MC corresponding to the latch circuit 201 has the threshold voltage of a value (hereinafter, also referred to as “hit value”) 80 in the range Qc.
- off-value cells can be determined from among the memory cells MC connected to the selected word line of the target of determination (read).
- the information which can specify the cell number (bit line number) of at least one off-value cell 99 a at the determination level VL, is stored in the sense amplifier 20 as the information INFL.
- the information which can specify the cell number of at least one off-value cell 99 b at the determination level VH, is stored in the sense amplifier 20 as the information INFH.
- the sequencer 15 executes a calculation process using the information in the latch circuit 201 .
- the result of the calculation process becomes the unique information INFS that is obtained from the unique information generation block of the flash memory 1 .
- the value indicative of the off-value cell becomes “1”
- the value indicative of the memory cell having the threshold voltage in the range Qc becomes “0”.
- the address (cell number, position) of the memory cell having the off-value in the selected word line is reflected as the position of the digit of “1” in the bit string of data.
- the data of the bit string of “0” and “1”, which corresponds to the characteristics of the memory cells MC connected to one selected word line WLs (e.g. word line WL 0 ) of the selected string unit of the unique information generation block, is set.
- the position (address or cell number) of the memory cell having the threshold voltage of the off-value is reflected at the position of the bit string of the data of the unique information.
- the memory cell which is in the OFF state at the determined level VH, is a memory cell having a high write speed in the rough program.
- the memory cell, which is in the ON state at the determined level VL is a memory cell having a low write speed in the rough program, compared to the memory cell which is in the OFF state at the determined level VH.
- the information using the memory cell, which is set in the ON state at the determination level VL can keep high reliability over a long time, compared to the information using the memory cell which is set in the ON state at the determination level VH.
- the unique information may be set by using only the determination result (information INFL) of the ON or OFF of the memory cell which is set in the ON state at the determination level VL.
- the information INFH relating to the determination level VH may be used as the unique information.
- the sequencer 15 sends to the controller 7 the unique information INFS (information INFL, INFH) obtained from the determination operation.
- the controller 7 sends the unique information INFS to the host device 9 A.
- the information which is sent to the host device 9 A, may be the information INFL of the determination result of the determination level VL, or the information INFH of the determination result of the determination level VH.
- the sequencer 15 determines whether or not the determination operation for generating the unique information of a particular number of bits has been executed a predetermined number of times.
- the sequencer 15 terminates the determination operation since the unique information of the particular number of bits is obtained.
- the sequencer 15 executes the process of S 1 to S 5 until the number of times of execution of the determination operation reaches the predetermined number of times, while changing the selected address that is the object of the read operation.
- the process may proceed to S 1 after executing the erase operation for the selected address (e.g. the entire block including the selected address, or a partial area including the selected address in the block), and then the rough program may be executed once again.
- the selected address e.g. the entire block including the selected address, or a partial area including the selected address in the block
- a plural number of times of the program operations and a plural number of the read operations may be executed in order to improve the reliability of the unique information.
- an address of a memory cell having a threshold voltage which is determined to be an off-value in a certain number or more of times of rough program among a k-number (k is an integer of 1 or more) of times of rough program, may be specified as the position of the off-value cell.
- the host device 9 A has determined that the number of off-value cells is less than a particular number or is greater than a particular number, the voltage value of the level VL, VH may be changed, and the above process of S 1 to S 5 may be executed.
- the host device 9 A receives the unique information INFS (or information INFL or INFH) of the flash memory 1 from the memory system SYS.
- the unique information processing circuit 93 receives the unique information INFS of the flash memory 1 from the memory system SYS.
- the unique information processing circuit 93 executes a certain process on the unique information INFS. Note that the unique information processing circuit 93 may receive the information INFL, INFH relating to the determination result of the determination level VL, VH from the memory system SYS, and may generate the unique information INFS.
- the unique information processing circuit 93 generates, with use of well-known art, a digital signature (electronic signature) by using certain information (e.g. key information such as a digital information generation key).
- a digital signature is a signature of digital information, which can be generated by only a person having specific secret information.
- a third person can inherit the fact that the digital signature is correct, but cannot substantially counterfeit the signature.
- the unique information processing circuit 93 A imparts the generated digital signature to the unique information INFS.
- the host device 9 A generates the unique information (for example, also called “key information” or “unique key”) INFS 1 that is the unique information INFS to which the digital signature is imparted.
- unique information for example, also called “key information” or “unique key”
- the host device 9 A instructs the memory system SYS to write the unique information INFS 1 .
- the host device 9 A sends the unique information INFS 1 to the memory system SYS.
- the memory system SYS receives the unique information INFS 1 .
- the controller 7 sends a write command, the address of a protection block BLKb, and the unique information INFS 1 to the flash memory 1 .
- the sequencer 15 writes, by a well-known operation, the unique information INFS 1 into the protection block BLKb in accordance with the write command.
- the digital signature may not be imparted to the unique information INFS, and the unique information (e.g., either the unique information INFS, or the information INFL, INFH) without the digital signature may be written in the protection block BLKb of the flash memory 1 .
- the host device 9 A writes certain information (e.g. content data) DTa into the flash memory 1 of the memory system SYS.
- information associated with the unique information INFS 1 may be imparted to the information DTa that is written in the memory system SYS.
- the unique information of the flash memory is generated.
- the controller 7 of the memory system SYS may instruct the above-described various processes for generating the unique information.
- Various conditions (the selected address, the voltage value of rough program, the voltage values of the determination levels) for generating the unique information may be written, as history information, in a certain area (e.g. protection block BLKb) of the flash memory 1 .
- FIG. 11 is a view schematically illustrating the authentication process using the unique information in the memory system of the present embodiment.
- FIG. 11 exemplarily illustrates, as an example of the host device 9 , a host device 9 B which executes the authentication process using the unique information.
- the host device 9 B is electrically connected to the memory system SYS of the present embodiment, in order to access the data (information) DTa in the memory system SYS.
- the host device 9 B may be, in one case, the host device 9 A used for generating the unique information of the memory system SYS (flash memory 1 ), or may be, in another case, a host device having a different configuration.
- a flash memory 1 X stores data (e.g. content data and secret data) DTa and unique information INFS 1 (an example of first unique information).
- data e.g. content data and secret data
- unique information INFS 1 is stored in the protection area (e.g. protection block) BLKb.
- the data DTa is stored in the protection area BLKb or in the user block BLKc.
- the memory system of the present embodiment executes a determination process and an authentication process using the unique information of the flash memory.
- FIG. 12 is a flowchart for describing the determination process using the unique information in the memory system of the present embodiment.
- the host device 9 B starts access to the data DTa in the memory system SYS, by the processor 90 executing the access program AP.
- the host device 9 B reads the unique information INFS 1 in the protection block BLKb of the flash memory 1 X as an authentication key of the access program AP.
- the host device 9 B instructs the memory system SYS to read out the unique information INFS 1 .
- the controller 7 of the memory system SYS sends a read command and an address to the flash memory 1 X in accordance with the instruction (request) from the host device 9 B.
- the flash memory 1 X reads the unique information INFS 1 from the protection block BLKb.
- the flash memory 1 X sends the read unique information INFS 1 to the controller 7 .
- the memory system SYS sends the unique information INFS 1 , which is read from the flash memory 1 X, to the host device 9 B.
- the host device 9 B acquires the unique information INFS 1 from the memory system SYS. For example, in the host device 9 B, the authentication processing circuit 94 B receives the unique information INFS 1 .
- the host device 9 B instructs the memory system SYS to generate unique information INFS 2 (an example of second unique information) using a particular address (first address) in the flash memory 1 X.
- the memory system SYS responds to the instruction from the host device 9 B, the memory system SYS generates the unique information INFS 2 using the particular address of the flash memory 1 X, by the above-described unique information generation processes S 1 to S 4 of FIG. 8 .
- the sequencer 15 executes, based on the standard (or history information of generation of unique information) for generating the unique information, the rough program (S 1 in FIG. 8 ) of the same condition as when the first unique information INFS 1 was generated, for the address having the same value as the address number used in the generation of the first unique information INFS 1 (e.g. the first word line WL 0 of the first string unit SU 0 of the unique information generation block BLKa).
- the sequencer 15 determines the magnitude of the threshold voltage of the memory cell after the rough program, by using the same determination level as the determination level VH, VL used when the first unique information INFS 1 was generated (S 2 in FIG. 8 ).
- the sequencer 15 sends the information INFH, INFL, which is the determination result of the determination level VH, VL, or the information INFS, which is the result of the calculation process (S 3 in FIG. 8 ) for the determination result, to the controller 7 as second unique information INFS 2 (S 4 in FIG. 8 ).
- the memory system SYS sends to the host device 9 B the unique information INFS 2 that is based on the particular address of the flash memory 1 X.
- the host device 9 B acquires the unique information INFS 2 .
- the unique information processing circuit 92 receives the unique information INFS 2 .
- the unique information processing circuit 92 executes various processes on the unique information INFS 2 .
- the authentication processing circuit 94 B compares the unique information INFS 2 , which is generated from the unique information generation block BLKa of the flash memory 1 X, with the first unique information INFS 1 which is read from the protection block BLKb.
- the authentication processing circuit 94 B determines whether the position (bit position) of the off-value (“1”) in the bit string of the unique information INFS 2 coincides with the position (bit position) of the off-value (“1”) in the bit string of the unique information INFS 1 .
- the positions of off-values in the unique information INFS 2 depend on the variance in characteristics of the memory cells connected to the first word line WL 0 of the first string unit SU 0 of the unique information generation block BLKa of the flash memory 1 . Therefore, the unique information INFS 1 , INFS 2 varies from flash memory to flash memory.
- the authentication processing circuit 94 B determines that the memory system SYS is the original media (valid media).
- the authentication processing circuit 94 B notifies the processor 90 of the determination result.
- the processor 90 permits the access to the flash memory 1 X of the memory system SYS, based on the notification.
- the host device 9 B sends a host command to the memory system SYS. Thereby, the host device 9 B accesses the data DTa.
- the memory system SYS executes various processes on the data DTa.
- the authentication processing circuit 94 B determines that the memory system SYS having the unique information INFS 2 is a clone media (unlawful media).
- the clone media is a recording medium which stores unlawfully copied data.
- the authentication processing circuit 94 B notifies the processor 90 of the determination result.
- the processor 90 prohibits the access to the memory system SYS, based on the notification.
- the data DTa in the flash memory 1 X can be protected.
- the memory system and host device of the present embodiment can disable the use of the clone media by the determination process (authentication) using the unique information INFS 2 obtained from the unique information generation block BLKa and the unique information INFS 1 in the protection block BLKb.
- the memory system of the present embodiment can prevent circulation of clone media.
- the authentication process determination process using the two unique information pieces INFS 1 and INFS 2 in the above-described embodiment is merely an example.
- the determination process as to whether the memory system is the original media or not may be executed by some other process, if the process uses the unique information obtained by the method of the present embodiment.
- FIG. 13 is a schematic view for describing a modification of the memory system of the embodiment.
- the unique information of the flash memory may be generated by writing specific data in the unique information generation area BLKa by a normal write operation.
- the unique information processing circuit 93 provides data (e.g. “0000 . . . 0000”) having a specific arrangement of “1” and/or “0” to the flash memory 1 as write data.
- the sequencer 15 programs the write data from the unique information processing circuit 93 into the memory cells MC of the selected word line WLs in the unique information generation block BLKa.
- the sequencer 15 executes data read for the memory cells MC in which the write data is written.
- the sequencer 15 sends the read data to the unique information processing circuit 93 .
- the unique information processing circuit 93 compares the read data and the write data.
- the unique information processing circuit 93 determines that the positions of bits 99 x , in which the bits in the read data and the bits in the write data have different values, correspond to the positions of the memory cells having off-values.
- the unique information of the flash memory is generated based on the positions of the bits in which the read data and the write data are different.
- the characteristics of memory cells in a flash memory vary from flash memory chip to flash memory chip. Therefore, information obtained from memory cells belonging to a certain address in the flash memory can indicated unique information of the flash memory.
- a program operation is executed on the memory cells connected to a certain word line in a certain block.
- the unique information of the flash memory is set in the memory system of the present embodiment.
- the unique information of the flash memory is generated based on analog characteristics of the memory cells.
- data can be protected.
- a NAND flash memory is exemplarily illustrated as a memory device used in the memory system.
- the memory device used in this embodiment may be a memory device other than the NAND flash memory.
- NOR flash memory e.g. MRAM, domain wall memory
- phase-change memory e.g. PCRAM
- resistance-change memory e.g. ReRAM
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Read Only Memory (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
Abstract
Description
Claims (19)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020060809A JP7305592B2 (en) | 2020-03-30 | 2020-03-30 | MEMORY SYSTEM, MEMORY DEVICE, AND METHOD OF CONTROLLING MEMORY SYSTEM |
| JP2020-060809 | 2020-03-30 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20210304819A1 US20210304819A1 (en) | 2021-09-30 |
| US11694750B2 true US11694750B2 (en) | 2023-07-04 |
Family
ID=77857527
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/176,213 Active 2041-02-16 US11694750B2 (en) | 2020-03-30 | 2021-02-16 | Memory system, memory device, and control method of memory system for generating information from a threshold voltage |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11694750B2 (en) |
| JP (1) | JP7305592B2 (en) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012014416A (en) | 2010-06-30 | 2012-01-19 | Toshiba Corp | Recording device, writing device, reading device, and control method for recording device |
| US20140185377A1 (en) * | 2012-12-28 | 2014-07-03 | Kyungryun Kim | Multi-level cell memory device and method of operating multi-level cell memory device |
| US8782804B2 (en) * | 2011-04-08 | 2014-07-15 | Kabushiki Kaisha Toshiba | Storage device, storage system, and authentication method |
| US8902651B2 (en) * | 2011-10-13 | 2014-12-02 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, programming method of nonvolatile memory device and memory system including nonvolatile memory device |
| US20170038807A1 (en) | 2015-08-03 | 2017-02-09 | Texas Instruments Incorporated | Methods and apparatus to create a physically unclonable function |
| US20180076957A1 (en) | 2016-09-13 | 2018-03-15 | Hiroshi Watanabe | Network without Abuse of a Private Key |
| US9977627B1 (en) * | 2016-11-09 | 2018-05-22 | Macronix International Co., Ltd. | Memory device and memory controlling method |
| US20180176012A1 (en) | 2016-08-04 | 2018-06-21 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6471130B2 (en) * | 2016-09-20 | 2019-02-13 | ウィンボンド エレクトロニクス コーポレーション | Semiconductor device and security system |
| JP2018186406A (en) * | 2017-04-26 | 2018-11-22 | ルネサスエレクトロニクス株式会社 | Semiconductor device and unique ID generation method |
| JP6646103B2 (en) * | 2018-05-30 | 2020-02-14 | ウィンボンド エレクトロニクス コーポレーション | Semiconductor device |
| US10839872B2 (en) * | 2018-07-03 | 2020-11-17 | Ememory Technology Inc. | Random bit cell using an initial state of a latch to generate a random bit |
-
2020
- 2020-03-30 JP JP2020060809A patent/JP7305592B2/en active Active
-
2021
- 2021-02-16 US US17/176,213 patent/US11694750B2/en active Active
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012014416A (en) | 2010-06-30 | 2012-01-19 | Toshiba Corp | Recording device, writing device, reading device, and control method for recording device |
| US20130117633A1 (en) | 2010-06-30 | 2013-05-09 | Shinichi Matsukawa | Recording apparatus, writing apparatus, and reading apparatus |
| US8782804B2 (en) * | 2011-04-08 | 2014-07-15 | Kabushiki Kaisha Toshiba | Storage device, storage system, and authentication method |
| US8902651B2 (en) * | 2011-10-13 | 2014-12-02 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, programming method of nonvolatile memory device and memory system including nonvolatile memory device |
| US20140185377A1 (en) * | 2012-12-28 | 2014-07-03 | Kyungryun Kim | Multi-level cell memory device and method of operating multi-level cell memory device |
| US20170038807A1 (en) | 2015-08-03 | 2017-02-09 | Texas Instruments Incorporated | Methods and apparatus to create a physically unclonable function |
| US20180176012A1 (en) | 2016-08-04 | 2018-06-21 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
| US20180076957A1 (en) | 2016-09-13 | 2018-03-15 | Hiroshi Watanabe | Network without Abuse of a Private Key |
| US9977627B1 (en) * | 2016-11-09 | 2018-05-22 | Macronix International Co., Ltd. | Memory device and memory controlling method |
Also Published As
| Publication number | Publication date |
|---|---|
| US20210304819A1 (en) | 2021-09-30 |
| JP2021163987A (en) | 2021-10-11 |
| JP7305592B2 (en) | 2023-07-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI787388B (en) | Memory device and operating method of the memory device | |
| KR102442219B1 (en) | Memory device and method of operation thereof | |
| US9514830B2 (en) | Non-volatile memory device, memory system including the same, and method of operating the same | |
| CN111258793B (en) | Memory controller and method of operating the same | |
| US10998065B2 (en) | Memory device and operating method thereof | |
| KR102409799B1 (en) | Memory system and operating method thereof | |
| US9928138B2 (en) | Memory system | |
| US11474890B2 (en) | Memory system and method of operating memory system | |
| CN111128280B (en) | Memory device and method of operating the same | |
| US10755785B2 (en) | Memory system and method of operating the same | |
| KR20200139573A (en) | Storage device and operating method thereof | |
| KR102409798B1 (en) | Memory system and operating method thereof | |
| US10936421B2 (en) | Memory system having storage device and memory controller and operating method thereof | |
| KR20190043860A (en) | Memory system and operation method thereof | |
| CN114078542B (en) | Memory devices and their operation methods | |
| US11340802B2 (en) | Semiconductor memory device, controller, memory system and method thereof | |
| KR102353363B1 (en) | Operating method of memory system | |
| CN116126583A (en) | Memory controller for controlling memory device and method of operating the same | |
| CN116978431A (en) | Memory device and method of operating the same | |
| CN113936721B (en) | Memory system, memory device, and method of operating a memory device | |
| CN115938440A (en) | Storage controller determining error count, method of operating same, and method of operating storage device including same | |
| US20250053301A1 (en) | Programming selective word lines during an erase operation in a memory device | |
| KR20220150147A (en) | Memory device and operating method thereof | |
| US11694750B2 (en) | Memory system, memory device, and control method of memory system for generating information from a threshold voltage | |
| US11594289B2 (en) | Semiconductor device, memory system and semiconductor memory device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: KIOXIA CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ARAI, YASUNORI;AOYAMA, NORIO;SIGNING DATES FROM 20201225 TO 20210210;REEL/FRAME:055264/0787 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |