WO2023181892A1 - Memory controller and memory device - Google Patents

Memory controller and memory device Download PDF

Info

Publication number
WO2023181892A1
WO2023181892A1 PCT/JP2023/008414 JP2023008414W WO2023181892A1 WO 2023181892 A1 WO2023181892 A1 WO 2023181892A1 JP 2023008414 W JP2023008414 W JP 2023008414W WO 2023181892 A1 WO2023181892 A1 WO 2023181892A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
read
read voltage
control unit
memory cells
Prior art date
Application number
PCT/JP2023/008414
Other languages
French (fr)
Japanese (ja)
Inventor
英明 大久保
健一 中西
Original Assignee
ソニーセミコンダクタソリューションズ株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ソニーセミコンダクタソリューションズ株式会社 filed Critical ソニーセミコンダクタソリューションズ株式会社
Publication of WO2023181892A1 publication Critical patent/WO2023181892A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00

Definitions

  • the present disclosure relates to a memory controller and a memory device.
  • a memory system that can store data in a non-volatile manner is known (for example, see Patent Document 1).
  • a cell structure in which a storage element and a selection element are connected in series is provided for each memory cell.
  • read failure may occur for various reasons.
  • the invention described in Patent Document 1 has been proposed.
  • a memory controller controls a read operation for a nonvolatile memory cell array unit.
  • the nonvolatile memory cell array unit includes a plurality of memory cells. Each memory cell has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element.
  • This memory controller includes a detection section and a control section.
  • the detection unit performs error correction using the error correction code on the first data with the error correction code read from the plurality of first memory cells that are part of the plurality of memory cells, and the first data. Based on the second data obtained by this, the number of bits in which the information corresponding to the high resistance state is mistakenly read as the information corresponding to the low resistance state is detected.
  • the control section determines whether or not it is necessary to change the read voltage applied to the plurality of first memory cells based on the number of bits detected by the detection section.
  • a memory device includes a nonvolatile memory cell array unit and a memory controller that controls read operations for the nonvolatile memory cell array unit.
  • a nonvolatile memory cell array unit includes a plurality of memory cells. Each memory cell has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element.
  • the memory controller includes a detection section and a control section. The detection unit performs error correction using the error correction code on the first data with the error correction code read from the plurality of first memory cells that are part of the plurality of memory cells, and the first data.
  • the control section determines whether or not it is necessary to change the read voltage applied to the plurality of first memory cells based on the number of bits detected by the detection section.
  • the number of bits that have been erroneously read out as information corresponding to a high resistance state as information corresponding to a low resistance state is detected based on information obtained by error correction. , it is determined whether or not the read voltage needs to be changed based on the detected number of bits. This reduces the occurrence of reading failures caused by a drop in operating voltage as the number of times data is written to a memory cell increases.
  • FIG. 1 is a diagram illustrating an example of a schematic configuration of an information processing system including a nonvolatile storage device (memory device) according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram illustrating an example of functional blocks of the nonvolatile storage device of FIG. 1.
  • FIG. 3 is a diagram showing an example of an address translation table.
  • FIG. 4 is a diagram illustrating an example of a schematic configuration of a memory cell array.
  • FIG. 5 is a diagram showing an example of the distribution of operating voltages when each memory cell included in the memory cell array is in a low resistance state (LRS) and a high resistance state (HRS).
  • FIG. 6 shows the distribution of operating voltages in the low resistance state (LRS) and high resistance state (HRS) of each memory cell after writing to each memory cell included in the memory cell array is performed a predetermined number of times. It is a figure showing an example.
  • FIG. 7 is a diagram illustrating an example of an unused physical address table.
  • FIG. 8 is a diagram showing an example of a read voltage table.
  • FIG. 9 is a diagram illustrating an example of a read command processing procedure.
  • FIG. 10 is a diagram illustrating an example of a read voltage change processing procedure.
  • FIG. 11 is a diagram illustrating an example of a write command processing procedure.
  • FIG. 12 is a diagram showing a modified example of the address translation table.
  • FIG. 13 is a diagram showing an example of a tag table.
  • FIG. 14 is a diagram illustrating an example of a write command processing procedure.
  • FIG. 15 is a diagram showing a modified example of the address translation table.
  • FIG. 16 is a diagram showing a modified example of the read voltage table.
  • FIG. 17 is a diagram showing a modified example of the physical address table.
  • FIG. 18 is a diagram showing a modified example of the read command processing procedure.
  • FIG. 19 is a diagram illustrating an example of a read voltage change processing procedure.
  • FIG. 20 is a diagram illustrating an example of the processing procedure following FIG. 19.
  • FIG. 1 represents an example of a schematic configuration of an information processing system according to an embodiment of the present disclosure.
  • This information processing system includes, for example, a host 10 and a nonvolatile storage device 20, as shown in FIG.
  • the non-volatile memory device 20 includes a memory controller 210 and a non-volatile memory (NVM) cell array unit (NVM 220).
  • NVM non-volatile memory
  • the memory controller 210 communicates with the host 10 and receives write commands or read commands from the host 10.
  • the memory controller 210 controls write operations to or read operations from the NVM 220 based on the received commands.
  • the memory controller 210 When the memory controller 210 receives a write command from the host 10, it further receives write data from the host 10. The memory controller 210 issues a write request to the NVM 220 and transmits the data received from the host 10 to the NVM 220. NVM 220 writes data received from memory controller 210 into an internal memory cell array (see FIG. 2).
  • the memory controller 210 When the memory controller 210 receives a read command from the host 10, it issues a read request to the NVM 220 and transmits it to the NVM 220.
  • the nonvolatile memory cell array unit 220 reads data from the memory cell array in response to a read request, and transmits the read data to the memory controller 210.
  • the memory controller 210 transmits the data received from the NVM 220 to the host 10.
  • the host 10 When the host 10 generates a write command and a read command, it specifies a logical address as an address representing the location of data to be written or read.
  • the area indicated by one logical address has a size of, for example, 64 bytes.
  • the logical addresses that can be specified by the host 10 are, for example, 0x00000000 to 0x1F3FFFFFF (size of 500 GB).
  • the host 10 writes or reads, for example, 64 bytes of data with one write command or read command.
  • a physical address is used as an address representing data location information.
  • the memory area indicated by one physical address is, for example, 79 bytes. Of the 79 bytes, 64 consecutive bytes from the beginning are data to be exchanged with the host 10 in write commands and read commands, and the remaining 15 bytes are used for ECC.
  • the memory controller 210 converts a logical address specified by a command from the host 10 into a physical address using, for example, an address table as shown in FIG. 3, and uses the converted physical address to issue a write request or Generate a read request.
  • FIG. 2 shows an example of functional blocks of the memory controller 210 and the nonvolatile memory cell array unit 220.
  • the memory controller 210 includes a host interface section (host IF) 211, a storage section 212, a memory control section 213, a memory interface section (memory IF) 214, an error correction section 215, and an error detection section. It has 216.
  • the nonvolatile memory cell array unit 220 includes, for example, a memory interface section (memory IF) 221, an array control section 222, a memory cell array 223, and a buffer 224, as shown in FIG.
  • the memory cell array 223 includes, for example, a plurality of tiles 223A.
  • the memory cell array 223 has 2588672 tiles 223A.
  • Each tile 223A includes, for example, 4096 ⁇ 4096 memory cells MC.
  • the memory cell array 223 has a capacity of, for example, 632 GB, and can execute write commands and read commands in units of 79 bytes.
  • the physical address is, for example, 0x00000000 to 0x1FFFFFFFF.
  • FIG. 4 shows an example of a schematic configuration of the tile 223A.
  • the tile 223A includes a plurality of bit lines BL, a plurality of word lines WL, and a plurality of memory cells MC.
  • the plurality of memory cells MC are arranged one by one at the intersections of the plurality of bit lines BL and the plurality of word lines WL. This structure is called a so-called cross-point structure.
  • Memory cell MC is a writable nonvolatile memory.
  • the memory cell MC includes a memory element ME (Memory Element) that records 1-bit information depending on the state of high or low resistance value, and a selector element SE (Selector Element) connected in series to the memory element ME.
  • ME Memory Element
  • SE Selector element
  • the memory element ME is, for example, a phase change memory (PCM), and can be formed of a chalcogenide alloy of germanium (Ge), antimony (Sb), and tellurium (Te). Various elements may be added from the viewpoint of retention characteristics and operating current. Further, the memory element ME may be a resistance change memory material such as Oxide-based RAM (OxRAM) or Conductive Bridge RAM (CBRAM), and is not limited to the material. In the case of a memory material in which a drift phenomenon in which the operating voltage is displaced does not occur, a refresh operation that returns the operating voltage to the voltage before the drift phenomenon occurs can be applied to the selection element SE.
  • PCM phase change memory
  • OxRAM Oxide-based RAM
  • CBRAM Conductive Bridge RAM
  • the selection element SE is, for example, an Ovonic Threshold Switch (OTS).
  • OTS Ovonic Threshold Switch
  • the selection element SE can be formed of, for example, a material containing at least one chalcogen element selected from the group consisting of tellurium (Te), selenium (Se), and sulfur (S).
  • the selection element SE is made of boron (B), aluminum (Al), gallium (Ga), indium (In), carbon (C), germanium (Ge) for the purpose of stabilizing the amorphous structure and reducing leakage current. , arsenic (As), silicon (Si), oxygen (O), nitrogen (N), and the like.
  • the material of the selection element SE is not limited to the above-mentioned materials, and any material that causes a drift phenomenon may be used.
  • an intermediate electrode may be provided between the memory element ME and the selection element SE.
  • the memory element ME and the selection element SE may be directly joined to each other.
  • an adhesive layer, a diffusion prevention layer, or the like may be provided between the memory element ME and the selection element SE.
  • the memory cell MC may be provided with a single layer that has both the functions of the memory element ME (information recording) and the selection element SE (information selection).
  • Such a single layer may include, for example, an Ovonic threshold switch.
  • an Ovonic threshold switch by using a plurality of threshold states generated depending on the operating current and voltage application direction as storage data, it becomes possible to perform the functions of the storage element ME and the selection element SE in a single layer.
  • the memory element ME has, for example, one resistance state of a low resistance state (LRS) and a high resistance state (HRS) that are mutually transitionable.
  • LRS corresponds to the first value
  • HRS corresponds to the second value.
  • the first value corresponds to "1" and the second value corresponds to "0".
  • the first value may correspond to "0” and the second value may correspond to "1".
  • LRS corresponds to "1” and HRS corresponds to "0"
  • HRS corresponds to "0”
  • FIG. 5 shows an example of the distribution of operating voltages when each memory cell MC included in the memory cell array 223 is in a low resistance state (LRS) and a high resistance state (HRS).
  • LRS low resistance state
  • HRS high resistance state
  • FIG. 5 shows an example of the distribution of operating voltages when each memory cell MC included in the memory cell array 223 is in a low resistance state (LRS) and a high resistance state (HRS).
  • LRS low resistance state
  • HRS high resistance state
  • Pulses of voltages -Vread/2 and Vread/2 are applied to the word line WL and bit line BL connected to the selected memory cell MC, respectively.
  • Vread a predetermined read voltage
  • selection element SE is turned on, current flows through memory cell MC. In this case, the resistance state of the memory element ME is assumed to be LRS, and data of "1" is read out.
  • selection element SE is not turned on, no current flows through memory cell MC. In this case, the resistance state of the memory element ME is assumed to be HRS, and data of "0" is read.
  • the selection element SE will be turned on by applying the predetermined read voltage. Therefore, even if the resistance state of the memory element ME is HRS, a current necessary for determining HRS and LRS flows. As a result, the state of the memory element ME is erroneously determined to be LRS. That is, although the memory cell MC actually stores "0" data, it is determined that "1" data is stored therein.
  • a voltage pulse of -Vreset/2 and Vreset/2 is applied to the word line WL and bit line BL connected to the selected memory cell MC, respectively. be done.
  • the resistance state of the memory element ME is LRS, it changes to HRS. As a result, data "0" is written into the memory cell MC.
  • the memory IF 221 communicates with the memory controller 210. When the memory IF 221 receives a request from the memory controller 210, it provides the received request to the array control unit 222. Types of requests include read requests and write requests. When the memory IF 221 receives write data from the memory controller 210, it writes the data to the write data buffer of the buffer 224.
  • the array control unit 222 receives a request from the memory controller 210 via the memory IF 221.
  • the array control unit 222 performs operations depending on the type of request received.
  • the array control section 222 controls the word line driving section and the bit line driving section of the memory cell array 223.
  • the array control unit 222 selects the word line WL and bit line BL connected to the memory cell MC to be accessed, and selects the word line WL and bit line BL connected to the memory cell MC to be accessed. Apply necessary voltages to WL and bit line BL.
  • the array control unit 222 When executing a read request, the array control unit 222 applies a read pulse as a voltage to the selected word line WL and bit line BL. Thereby, data is read from the corresponding memory cell MC. This reading is performed for a plurality of memory cells MC belonging to the physical address specified in the read request. Data read from the plurality of memory cells MC is held in a read data buffer of the buffer 224. The array control unit 222 transmits the data held in the read data buffer to the memory controller 210 via the memory IF 221.
  • the array control unit 222 When executing a write request, the array control unit 222 first reads data from a plurality of memory cells MC belonging to the physical address specified in the write request, and holds it in the read data buffer of the buffer 224. The array control unit 222 compares the data held in the read data buffer and the data held in the write data buffer. The array control unit 222 writes “1” to the memory cell MC corresponding to the bit whose value held in the write data buffer is “1” and whose value held in the read data buffer is “0”. (set). That is, the array control unit 222 applies a set pulse as a voltage to the word line WL and bit line BL connected to such a memory cell MC.
  • the array control unit 222 writes “0” to the memory cell MC corresponding to the bit whose value held in the write data buffer is “0” and whose value held in the read data buffer is “1”. (Reset). That is, the array control unit 222 applies a reset pulse as a voltage to the word line WL and bit line BL connected to such a memory cell MC. The array control unit 222 does not write anything if the value held in the write data buffer and the value held in the read data buffer are the same.
  • the array control unit 222 when executing a write request, performs writing without reading data from the plurality of memory cells MC belonging to the physical address specified in the write request. Good too. In that case, the number of writes increases, but the time required to read and compare data with held data is shortened.
  • the host IF 211 receives a command (write command or read command) from the host 10.
  • the host IF 211 transmits the received command to the memory control unit 213. Further, the host IF 211 receives data instructed to be written by a write command from the host 10, and transmits the received data to the memory control unit 213 in association with the write command.
  • the host IF 211 receives data read from the NVM 220 and transmits the received data to the host 10.
  • the storage unit 212 includes, for example, an address conversion table 212A as shown in FIG. 3, an unused physical address list 212B as shown in FIG. 7, and a read voltage table 212C as shown in FIG. 8.
  • the address translation table 212A includes setting information indicating the correspondence between logical addresses and physical addresses.
  • the address conversion table 212A holds, for example, logical addresses from 0x000000000 to 0x1F3FFFFFF, which correspond to the capacity of the memory cell array 223, and physical addresses assigned to each logical address.
  • the unused physical address list 212B describes one or more physical addresses whose correspondence with logical addresses is not described in the address conversion table 212A.
  • the memory control unit 213 converts one physical address selected from the unused physical address list 212B into It is written in the address translation table 212A as a physical address corresponding to the specified logical address.
  • the read voltage table 212C describes the correspondence between physical addresses and read voltages.
  • the read voltage table 212C may be recorded at a specific physical address in the NVM 220, read from the specific physical address in the NVM 220 when the nonvolatile storage device 200 is started, and held and managed in the RAM. In this case, the read voltage table 212C can be held even when power is not supplied to the nonvolatile memory device 200.
  • the memory control unit 213 When the memory control unit 213 receives a write command from the host 10, it converts the logical address specified by the command from the host 10 into a physical address using the address conversion table 212A. The memory control unit 213 further reads the write voltage set at the physical address corresponding to the logical address specified by the command from the host 10 from a write voltage table (not shown). The memory control unit 213 generates a write request using the converted physical address and the read write voltage. The memory control unit 213 transmits the generated write request together with the data received from the host 10 to the NVM 220 via the memory IF 214.
  • the memory control unit 213 When the memory control unit 213 receives a read command from the host 10, it converts the logical address specified by the command from the host 10 into a physical address using an address conversion table 212A as shown in FIG. The memory control unit 213 further reads the read voltage set at the physical address corresponding to the logical address specified by the command from the host 10 from the read voltage table 212C. The memory control unit 213 generates a read request using the converted physical address and the read voltage. The memory control unit 213 transmits the generated read request to the NVM 220 via the memory IF 214.
  • FIG. 9 shows an example of a read command processing procedure.
  • the memory control unit 213 obtains a read command from the host 10. Then, the memory control unit 213 uses the address conversion table 212A to obtain a physical address from the logical address specified by the obtained read command (step S101). The memory control unit 213 further uses the read voltage table 212C to obtain the read voltage set at the physical address corresponding to the logical address specified by the obtained read command (step S102). The memory control unit 213 generates a read request using the converted physical address and the read voltage. In this way, the memory control unit 213 sets the read voltage to the plurality of memory cells MC to be read (step S103). The memory control unit 213 transmits the generated read request to the NVM 220 via the memory IF 214.
  • the memory control unit 213 reads data (first data) with an error correction code (ECC) from the plurality of memory cells MC to be read (step S104).
  • the memory control unit 213 outputs the read data with an error correction code (ECC) to the error correction unit 215.
  • the error correction unit 215 performs error correction on the input data using an error correction code (ECC) (step S105).
  • the error correction unit 215 outputs the data (second data) obtained by error correction to the memory control unit 213.
  • the memory control unit 213 outputs data with an error correction code (ECC) (first data) and data obtained by error correction (second data) to the error detection unit 216.
  • ECC error correction code
  • the error detection unit 216 determines whether the error correction unit 215 has successfully corrected the error (step S106). For example, error correction is possible when the number of erroneous bits is 12 bits or less, and error correction is not possible when the number of erroneous bits is 13 bits or more. If the error has been corrected (step S106; Y), the error detection unit 216 counts the number of erroneous bits (step S107). Specifically, the error detection unit 216 detects a high resistance state (HRS) based on data with an error correction code (ECC) (first data) and data obtained by error correction (second data). Detects the number of bits in which information corresponding to the low resistance state (LRS) is read out incorrectly as information corresponding to the low resistance state (LRS). The error detection section 216 outputs the detected number of bits to the memory control section 213.
  • HRS high resistance state
  • ECC error correction code
  • step S108 If the number of erroneous bits is greater than the predetermined number n (step S108; Y), or if error correction has not been possible (step S106; N), the memory control unit 213 performs read voltage change processing. Execute (step S109). In the process of changing the read voltage, the memory control unit 213 determines whether it is necessary to change the read voltage, changes the read voltage in response to the decision to change the read voltage, and the like. The specific procedure will be detailed later.
  • step S111 the memory control unit 213 updates the read voltage table 212C (step S111).
  • the memory control unit 213 changes, for example, a read voltage setting value corresponding to a physical address of a plurality of memory cells MC to be read, which is stored in the storage unit 212. After that, the memory control unit 213 transfers the read data (data after error correction) to the host 10 (step S112). If the read voltage changing process does not end normally (step S110; N), the memory control unit 213 notifies the host 10 of the error (step S113). In this way, read command processing by the memory control unit 213 is executed.
  • FIG. 10 shows an example of a procedure for changing the read voltage. Note that although FIG. 10 includes steps similar to the steps before step S109, this is because the processing procedure has not been optimized. Therefore, the processing procedure may be optimized as necessary.
  • the memory control unit 213 executes the same procedure as steps S101 to S106 (steps S201 to S206). If error correction is not possible in step S206 (step S206; N), the memory control unit 213 determines whether or not the held read voltage exists (step S212). As a result, if the held read voltage does not exist (step S212; N), it is assumed that an error has occurred, and the read voltage changing process ends (error end).
  • step S206 the memory control unit 213 temporarily holds the read voltage used for reading (step S207).
  • the error detection unit 216 counts the number of erroneous bits (step S208). Specifically, the error detection unit 216 detects a high resistance state (HRS) based on data with an error correction code (ECC) (first data) and data obtained by error correction (second data). Detects the number of bits in which information corresponding to the low resistance state (LRS) is read out incorrectly as information corresponding to the low resistance state (LRS).
  • the error detection section 216 outputs the detected number of bits to the memory control section 213.
  • step S210 determines changes in read voltages for the plurality of memory cells MC to be read from next time onwards.
  • the memory control unit 213 determines to change the next and subsequent read voltages for the plurality of memory cells MC to be read to the read voltage held in step S207.
  • step S209 If the number of erroneous bits is equal to or greater than the predetermined number m in step S209 (step S209; N), the memory control unit 213 sets the next and subsequent read voltages for the plurality of memory cells MC to be read in step S212. The read voltage is lowered below the held read voltage (step S211). After that, the memory control unit 213 returns to step S202 and continues to execute the procedures from step S202 onwards. In this way, in the read voltage changing process, either a normal end or an error end can be obtained.
  • FIG. 11 shows an example of a write command processing procedure.
  • the memory control unit 213 obtains a write command from the host 10. Then, the memory control unit 213 uses the address conversion table 212A to obtain a physical address from the logical address specified by the obtained write command (step S301). The memory control unit 213 adds an error correction code (ECC) to the write data included in the acquired write command (step S302).
  • ECC error correction code
  • the memory control unit 213 uses a write voltage table (not shown) to obtain the write voltage set at the physical address corresponding to the logical address specified by the obtained write command.
  • the memory control unit 213 generates a write request using the converted physical address, data with an error correction code (ECC), and the read write voltage. In this way, the memory control unit 213 sets the write voltage to the plurality of memory cells MC to be written.
  • the memory control unit 213 transmits the generated write request to the NVM 220 via the memory IF 214. In this way, the memory control unit 213 writes data with an error correction code (ECC) to the plurality of memory cells MC to be written (step S303).
  • the memory control unit 213 notifies the host 10 of the completion of writing (step S304). In this way, the write command processing by the memory control unit 213 is executed.
  • the number of bits in which information corresponding to a high resistance state is incorrectly read as information corresponding to a low resistance state is detected based on information obtained by error correction, and the number of bits is detected based on the detected number of bits. Then, it is determined whether or not the read voltage needs to be changed. This reduces the occurrence of read failures caused by a drop in operating voltage as the number of writes to the memory cell MC increases. Therefore, read processing can be performed depending on the cause of the read failure.
  • the read voltage setting value corresponding to the physical address of the plurality of memory cells MC to be read which is stored in the storage unit 212, is changed. This reduces the occurrence of read failures caused by a drop in operating voltage as the number of writes to the memory cell MC increases. Therefore, read processing can be performed depending on the cause of the read failure.
  • an address translation table 212D as shown in FIG. 12 and a tag table 212E as shown in FIG. 13 may be provided instead of the address translation table 212A.
  • the address conversion table 212D includes setting information in which physical addresses and logical addresses are associated with each other for each section in which a plurality of physical addresses are grouped together.
  • tags are further assigned to each section.
  • the tag table 212E describes the correspondence between a tag and the access order of a plurality of physical addresses included in the section corresponding to the tag.
  • the memory control unit 213 determines to change the read voltage, the memory control unit 213 changes the read voltage setting value corresponding to the section of the plurality of memory cells MC to be read, which is stored in the storage unit 212, for example. .
  • FIG. 14 shows an example of a write command processing procedure in this modification.
  • the memory control unit 213 obtains a write command from the host 10. Then, the memory control unit 213 uses the address conversion table 212D to obtain a physical address from the logical address specified by the obtained write command (step S401). The memory control unit 213 adds an error correction code (ECC) to the write data included in the acquired write command (step S402).
  • ECC error correction code
  • the memory control unit 213 generates pseudo-random numbers for determining whether to perform Wear Leveling (step S403).
  • Wear Leveling refers to a process of changing the order of a plurality of physical addresses assigned to logical addresses on a section-by-section basis within a section.
  • the memory control unit 213 determines whether to perform Wear Leveling based on the generated pseudo-random number (step S404). For example, assume that WearLeveling is executed with a probability of 0.1% when a write command is executed. At this time, in generating the pseudo-random number in step S403, the memory control unit 213 generates one integer from 0 to 999, and selects execution of Wear Leveling when the value of the random number is 0 (step S404; Y ). The memory control unit 213 selects non-execution of Wear Leveling when the random number value is any value from 1 to 999 (step S404; N).
  • the memory control unit 213 uses a write voltage table (not shown) to acquire the write voltage set at the physical address corresponding to the logical address specified by the acquired write command.
  • the memory control unit 213 generates a write request using the converted physical address, data with an error correction code (ECC), and the read write voltage. In this way, the memory control unit 213 sets the write voltage to the plurality of memory cells MC to be written.
  • the memory control unit 213 transmits the generated write request to the NVM 220 via the memory IF 214. In this way, the memory control unit 213 writes data with an error correction code (ECC) to the plurality of memory cells MC to be written (step S409).
  • the memory control unit 213 notifies the host 10 of the completion of writing (step S408).
  • the memory control unit 213 When selecting execution of Wear Leveling, the memory control unit 213 generates pseudo-random numbers for determining the order of physical addresses within the section (step S405). At this time, in generating the pseudo-random number in step S405, the memory control unit 213 generates one integer from 0 to 31, and uses the value of the random number as the value of the tag. The memory control unit 213 uses the tag table 212E to obtain the order of physical addresses corresponding to the tags of the generated random number values, and executes WearLeveling in that order (step S406). In this way, the memory control unit 213 writes data with an error correction code (ECC) to the plurality of memory cells MC to be written.
  • ECC error correction code
  • the memory control unit 213 updates the address conversion table 212D by writing the value of the selected tag into the address conversion table 212D (step S407).
  • the memory control unit 213 notifies the host 10 of the completion of writing (step S408). In this way, the write command processing by the memory control unit 213 is executed.
  • the read voltage setting value corresponding to the section of the plurality of memory cells MC to be read which is stored in the storage unit 212, is changed. This reduces the occurrence of read failures caused by a drop in operating voltage as the number of writes to the memory cell MC increases. Therefore, read processing can be performed depending on the cause of the read failure.
  • an address conversion table 212F as shown in FIG. 15, for example, may be provided instead of the address conversion table 212A and the read voltage table 212C.
  • the address conversion table 212F describes the correspondence between logical addresses and physical addresses, and also describes the correspondence between physical addresses and read voltages. By using such an address conversion table 212F, read command processing similar to that of the above embodiment can be executed.
  • a read voltage table 212G as shown in FIG. 16 in which read voltages for unused physical addresses are described may be provided in the storage unit 212.
  • the memory control unit 213 uses the read voltage table 212G to obtain the read voltage set to the unused physical address corresponding to the logical address specified by the obtained read command. I can do it. As a result, it is possible to reduce the occurrence of read failures at unused physical addresses due to a decrease in operating voltage due to an increase in the number of writes to memory cells.
  • the storage unit 212 may be provided with a physical address table 212H as shown in FIG. 17 in which physical addresses to be changed in the read voltage are registered.
  • the read command processing and the read voltage change processing can be performed separately, as will be described later.
  • FIG. 18 shows an example of a read command processing procedure according to this modification.
  • the memory control unit 213 executes the same procedure as steps S101 to S108 (steps S501 to S508).
  • step S208 if the number of erroneous bits is greater than the predetermined number n (step S508; Y), the memory control unit 213 determines to change the read voltage for the memory cell MC to be read from next time onwards.
  • the memory control unit 213 registers the physical address corresponding to the memory cell MC to be read in the physical address table 212H as the physical address to be changed in the read voltage (step S509).
  • step S508 If the number of erroneous bits is less than or equal to the predetermined number n (step S508; N), or if step S509 is executed, the memory control unit 213 transfers the read data (data after error correction) to the host 10. Transfer (step S510).
  • step S506 determines to change the read voltage for the memory cell MC to be read from next time onwards. At this time, the memory control unit 213 registers the physical address corresponding to the memory cell MC to be read in the physical address table 212H as the physical address to be changed in the read voltage (step S511). After that, the memory control unit 213 notifies the host 10 of the error (step S512).
  • FIGS. 19 and 20 illustrate an example of the read voltage change processing procedure performed after the read command processing of FIG. 18 is executed.
  • the memory control unit 213 acquires the physical address to be changed in the read voltage from the physical address table 212H (step S601).
  • the memory control unit 213 executes the same procedure as steps S202 to S212 for the acquired physical address (steps S602 to S612).
  • the memory control unit 213 updates the read voltage table 212C (step S613).
  • the memory control unit 213 changes, for example, a read voltage setting value corresponding to a physical address of a plurality of memory cells MC to be read, which is stored in the storage unit 212.
  • the memory control unit 213 updates the physical address table 212H (step S614).
  • the memory control unit 213 erases the physical address acquired in step S601 from the physical address table 212H, and ends the read voltage changing process (normal end). In this manner, the memory control unit 213 performs the read voltage change process after the read command process is completed.
  • the physical address corresponding to the memory cell MC to be read is registered in the storage unit 212 (physical address table 212H) as read voltage change information.
  • the read voltage setting value stored in the read voltage table 212C is changed based on the physical address table 212H. In this way, by performing the read voltage changing process after the read command process is completed, it is possible to suppress an increase in the processing time required for the read command process itself.
  • an address conversion table 212D as shown in FIG. 12 and a tag table 212E as shown in FIG. 13 may be provided instead of the address conversion table 212A.
  • the memory control unit 213 determines a change in the read voltage for the section to be read from next time onwards. .
  • the memory control unit 213 registers the physical address assigned to the section to be read in the physical address table 212H as the physical address to be changed in the read voltage (step S509).
  • the occurrence of read failures due to a decrease in operating voltage due to an increase in the number of writes to the memory cell MC is reduced. Therefore, read processing can be performed depending on the cause of the read failure.
  • the physical address corresponding to the memory cell MC to be read is registered in the storage unit 212 (physical address table 212H) as read voltage change information.
  • the read voltage setting value stored in the read voltage table 212C is changed based on the physical address table 212H. In this way, by performing the read voltage changing process after the read command process is completed, it is possible to suppress an increase in the processing time required for the read command process itself.
  • a memory controller that controls a read operation for a nonvolatile memory cell array unit,
  • the nonvolatile memory cell array unit includes a plurality of memory cells, Each of the memory cells has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element,
  • the memory controller is performing error correction using the error correction code on first data with an error correction code read from a plurality of first memory cells that are a part of the plurality of memory cells, and on the first data; a detection unit that detects the number of bits in which information corresponding to a high resistance state is incorrectly read as information corresponding to a low resistance state, based on the second data obtained by;
  • a control section that determines whether or not a read voltage applied to the plurality of first memory cells needs to be changed based on the number of bits detected by the detection section.
  • control unit determines to change the read voltage
  • the control unit stores the physical addresses of the plurality of first memory cells as the read voltage change information in the storage unit, and after the read operation is finished, the control unit stores the physical addresses of the plurality of first memory cells as the read voltage change information, and
  • the memory controller according to (1) or (2), wherein the read voltage setting value stored in the storage unit is changed based on read voltage change information.
  • a storage unit containing setting information in which the physical addresses and the logical addresses are associated with each other for each section including a plurality of physical addresses
  • the control unit stores the physical address assigned to the section of the plurality of first memory cells as the read voltage change information in the storage unit, and performs the read operation.
  • the memory controller according to (1) or (3), wherein the read voltage setting value stored in the storage unit is changed based on the read voltage change information after the read voltage change information is completed.
  • the memory controller according to any one of (1) to (5), wherein the memory element is a phase change memory (PCM).
  • PCM phase change memory
  • the nonvolatile memory cell array unit includes a plurality of memory cells, Each of the memory cells has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element,
  • the memory controller includes: performing error correction using the error correction code on first data with an error correction code read from a plurality of first memory cells that are a part of the plurality of memory cells, and on the first data; a detection unit that detects the number of bits in which information corresponding to a high resistance state is incorrectly read as information corresponding to a low resistance state, based on the second data obtained by; and a control section that determines whether or not a read voltage applied to the plurality of first memory cells needs to be changed based on the number of bits detected by the detection section.
  • the number of bits that have been incorrectly read as information corresponding to a high resistance state as information corresponding to a low resistance state is detected based on information obtained by error correction. Based on the detected number of bits, it is determined whether or not the read voltage needs to be changed. As a result, it is possible to reduce the occurrence of reading failures caused by a decrease in operating voltage due to an increase in the number of times of writing to a memory cell. Therefore, read processing can be performed depending on the cause of the read failure.

Abstract

A memory controller according to one aspect of the present disclosure controls a read operation for a nonvolatile memory cell array unit, and includes a detection unit and a control unit. The detection unit detects the number of bits in which information corresponding to a high resistance state is erroneously read as information corresponding to a low resistance state, on the basis of first data with an error correction code read from a plurality of first memory cells that are part of a plurality of memory cells, and second data obtained by performing error correction using an error correction code on the first data. The control unit determines whether or not to change read voltages applied to the plurality of first memory cells, on the basis of the number of bits detected by the detection unit.

Description

メモリコントローラおよびメモリ装置Memory controller and memory device
 本開示は、メモリコントローラおよびメモリ装置に関する。 The present disclosure relates to a memory controller and a memory device.
 データを不揮発に記憶することの可能なメモリシステムが知られている(例えば、特許文献1参照)。このようなメモリシステムでは、記憶素子および選択素子が直列に接続されたセル構造がメモリセルごとに設けられる。各メモリセルにおいては、様々な理由で読み出し不良が発生し得る。読み出し不良を低減する方策として、例えば、特許文献1に記載の発明が提案されている。 A memory system that can store data in a non-volatile manner is known (for example, see Patent Document 1). In such a memory system, a cell structure in which a storage element and a selection element are connected in series is provided for each memory cell. In each memory cell, read failure may occur for various reasons. As a measure to reduce read failures, for example, the invention described in Patent Document 1 has been proposed.
特開2021-007061号公報Japanese Patent Application Publication No. 2021-007061
 しかし、特許文献1に記載の方法では、読み出し不良の発生回数に応じて読み出し電圧が変更されるため、読み出し不良の原因に応じた適切な処理がなされていない。従って、読み出し不良の原因に応じた読み出し処理を行うことの可能なメモリコントローラ、およびそのようなメモリコントローラを備えたメモリ装置を提供することが望ましい。 However, in the method described in Patent Document 1, the read voltage is changed depending on the number of occurrences of read failures, so appropriate processing is not performed depending on the cause of read failures. Therefore, it is desirable to provide a memory controller that can perform read processing depending on the cause of a read failure, and a memory device equipped with such a memory controller.
 本開示の一側面に係るメモリコントローラは、不揮発性メモリセルアレイユニットに対する読み出し動作を制御する。ここで、不揮発性メモリセルアレイユニットは、複数のメモリセルを含む。各メモリセルは、抵抗値の高低の状態により1ビットの情報を記録する記憶素子と、記憶素子に直列に接続された選択素子とを有する。このメモリコントローラは、検出部と、制御部とを備える。検出部は、複数のメモリセルのうちの一部である複数の第1メモリセルから読み出した誤り訂正符号付きの第1データと、第1データに対して誤り訂正符号を用いた誤り訂正を行うことにより得られた第2データとに基づいて、高抵抗状態に対応する情報を低抵抗状態に対応する情報として誤って読み出したビット数を検出する。制御部は、検出部で検出された前記ビット数に基づいて、複数の第1メモリセルに対して印加する読み出し電圧の変更要否を決定する。 A memory controller according to one aspect of the present disclosure controls a read operation for a nonvolatile memory cell array unit. Here, the nonvolatile memory cell array unit includes a plurality of memory cells. Each memory cell has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element. This memory controller includes a detection section and a control section. The detection unit performs error correction using the error correction code on the first data with the error correction code read from the plurality of first memory cells that are part of the plurality of memory cells, and the first data. Based on the second data obtained by this, the number of bits in which the information corresponding to the high resistance state is mistakenly read as the information corresponding to the low resistance state is detected. The control section determines whether or not it is necessary to change the read voltage applied to the plurality of first memory cells based on the number of bits detected by the detection section.
 本開示の一側面に係るメモリ装置は、不揮発性メモリセルアレイユニットと、不揮発性メモリセルアレイユニットに対する読み出し動作を制御するメモリコントローラとを備えている。不揮発性メモリセルアレイユニットは、複数のメモリセルを含む。各メモリセルは、抵抗値の高低の状態により1ビットの情報を記録する記憶素子と、記憶素子に直列に接続された選択素子とを有する。メモリコントローラは、検出部と、制御部とを有する。検出部は、複数のメモリセルのうちの一部である複数の第1メモリセルから読み出した誤り訂正符号付きの第1データと、第1データに対して誤り訂正符号を用いた誤り訂正を行うことにより得られた第2データとに基づいて、高抵抗状態に対応する情報を低抵抗状態に対応する情報として誤って読み出したビット数を検出する。制御部は、検出部で検出された前記ビット数に基づいて、複数の第1メモリセルに対して印加する読み出し電圧の変更要否を決定する。 A memory device according to one aspect of the present disclosure includes a nonvolatile memory cell array unit and a memory controller that controls read operations for the nonvolatile memory cell array unit. A nonvolatile memory cell array unit includes a plurality of memory cells. Each memory cell has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element. The memory controller includes a detection section and a control section. The detection unit performs error correction using the error correction code on the first data with the error correction code read from the plurality of first memory cells that are part of the plurality of memory cells, and the first data. Based on the second data obtained by this, the number of bits in which the information corresponding to the high resistance state is mistakenly read as the information corresponding to the low resistance state is detected. The control section determines whether or not it is necessary to change the read voltage applied to the plurality of first memory cells based on the number of bits detected by the detection section.
 本開示の一側面に係るメモリコントローラおよびメモリ装置では、誤り訂正によって得られた情報に基づいて、高抵抗状態に対応する情報を低抵抗状態に対応する情報として誤って読み出したビット数が検出され、検出されたビット数に基づいて、読み出し電圧の変更要否が決定される。これにより、メモリセルに対する書き込み回数の増加に伴う動作電圧の低下に起因する読み出し不良の発生が低減される。 In the memory controller and memory device according to one aspect of the present disclosure, the number of bits that have been erroneously read out as information corresponding to a high resistance state as information corresponding to a low resistance state is detected based on information obtained by error correction. , it is determined whether or not the read voltage needs to be changed based on the detected number of bits. This reduces the occurrence of reading failures caused by a drop in operating voltage as the number of times data is written to a memory cell increases.
図1は、本開示の一実施の形態に係る不揮発性記憶装置(メモリ装置)を備えた情報処理システムの概略構成の一例を表す図である。FIG. 1 is a diagram illustrating an example of a schematic configuration of an information processing system including a nonvolatile storage device (memory device) according to an embodiment of the present disclosure. 図2は、図1の不揮発性記憶装置の機能ブロックの一例を表す図である。FIG. 2 is a diagram illustrating an example of functional blocks of the nonvolatile storage device of FIG. 1. 図3は、アドレス変換テーブルの一例を表す図である。FIG. 3 is a diagram showing an example of an address translation table. 図4は、メモリセルアレイの概略構成の一例を表す図である。FIG. 4 is a diagram illustrating an example of a schematic configuration of a memory cell array. 図5は、メモリセルアレイに含まれる各メモリセルの、低抵抗状態(LRS)および高抵抗状態(HRS)のときの動作電圧の分布の一例を表す図である。FIG. 5 is a diagram showing an example of the distribution of operating voltages when each memory cell included in the memory cell array is in a low resistance state (LRS) and a high resistance state (HRS). 図6は、メモリセルアレイに含まれる各メモリセルへ対する書き込みを所定の回数だけ行った後の各メモリセルの、低抵抗状態(LRS)および高抵抗状態(HRS)のときの動作電圧の分布の一例を表す図である。FIG. 6 shows the distribution of operating voltages in the low resistance state (LRS) and high resistance state (HRS) of each memory cell after writing to each memory cell included in the memory cell array is performed a predetermined number of times. It is a figure showing an example. 図7は、未使用物理アドレステーブルの一例を表す図である。FIG. 7 is a diagram illustrating an example of an unused physical address table. 図8は、読み出し電圧テーブルの一例を表す図である。FIG. 8 is a diagram showing an example of a read voltage table. 図9は、リードコマンド処理手順の一例を表す図である。FIG. 9 is a diagram illustrating an example of a read command processing procedure. 図10は、読み出し電圧の変更処理手順の一例を表す図である。FIG. 10 is a diagram illustrating an example of a read voltage change processing procedure. 図11は、ライトコマンド処理手順の一例を表す図である。FIG. 11 is a diagram illustrating an example of a write command processing procedure. 図12は、アドレス変換テーブルの一変形例を表す図である。FIG. 12 is a diagram showing a modified example of the address translation table. 図13は、タグテーブルの一例を表す図である。FIG. 13 is a diagram showing an example of a tag table. 図14は、ライトコマンド処理手順の一例を表す図である。FIG. 14 is a diagram illustrating an example of a write command processing procedure. 図15は、アドレス変換テーブルの一変形例を表す図である。FIG. 15 is a diagram showing a modified example of the address translation table. 図16は、読み出し電圧テーブルの一変形例を表す図である。FIG. 16 is a diagram showing a modified example of the read voltage table. 図17は、物理アドレステーブルの一変形例を表す図である。FIG. 17 is a diagram showing a modified example of the physical address table. 図18は、リードコマンド処理手順の一変形例を表す図である。FIG. 18 is a diagram showing a modified example of the read command processing procedure. 図19は、読み出し電圧の変更処理手順の一例を表す図である。FIG. 19 is a diagram illustrating an example of a read voltage change processing procedure. 図20は、図19に続く処理手順の一例を表す図である。FIG. 20 is a diagram illustrating an example of the processing procedure following FIG. 19.
 以下、本開示を実施するための形態について、図面を参照して詳細に説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。本技術は、その趣旨を逸脱しない範囲で種々変形(例えば各実施形態を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。 Hereinafter, embodiments for carrying out the present disclosure will be described in detail with reference to the drawings. However, the embodiments described below are merely examples, and there is no intention to exclude the application of various modifications and techniques not specified below. The present technology can be implemented with various modifications (for example, by combining the embodiments) without departing from the spirit of the technology. In addition, in the description of the drawings below, the same or similar parts are denoted by the same or similar symbols. The drawings are schematic and do not necessarily correspond to actual dimensions or proportions. The drawings may also include portions that differ in dimensional relationships and ratios.
<1.実施の形態>
[構成]
 図1は、本開示の一実施の形態に係る情報処理システムの概略構成の一例を表す。この情報処理システムは、例えば、図1に示したように、ホスト10および不揮発性記憶装置20を備える。不揮発性記憶装置20は、例えば、図1に示したように、メモリコントローラ210および不揮発性メモリ(NVM:Non-Volatile Memory)セルアレイユニット(NVM220)を有する。
<1. Embodiment>
[composition]
FIG. 1 represents an example of a schematic configuration of an information processing system according to an embodiment of the present disclosure. This information processing system includes, for example, a host 10 and a nonvolatile storage device 20, as shown in FIG. For example, as shown in FIG. 1, the non-volatile memory device 20 includes a memory controller 210 and a non-volatile memory (NVM) cell array unit (NVM 220).
 メモリコントローラ210は、ホスト10と通信し、ホスト10から書き込みコマンド又は読み出しコマンドを受信する。メモリコントローラ210は、受信したコマンドに基づき、NVM220への書き込み動作、又はNVM220からの読み出し動作を制御する。 The memory controller 210 communicates with the host 10 and receives write commands or read commands from the host 10. The memory controller 210 controls write operations to or read operations from the NVM 220 based on the received commands.
 メモリコントローラ210は、ホスト10から書き込みコマンドを受信した場合、ホスト10からさらに、書き込み用のデータを受信する。メモリコントローラ210は、NVM220に書き込み要求を発行して、ホスト10から受信したデータをNVM220に送信する。NVM220は、メモリコントローラ210から受信したデータを内部のメモリセルアレイ(図2参照)に書き込む。 When the memory controller 210 receives a write command from the host 10, it further receives write data from the host 10. The memory controller 210 issues a write request to the NVM 220 and transmits the data received from the host 10 to the NVM 220. NVM 220 writes data received from memory controller 210 into an internal memory cell array (see FIG. 2).
 メモリコントローラ210は、ホスト10から読み出しコマンドを受信した場合、NVM220に読み出し要求を発行して、NVM220に送信する。不揮発性メモリセルアレイユニット220は、読み出し要求に応じてメモリセルアレイからデータを読み出し、読み出したデータをメモリコントローラ210に送信する。メモリコントローラ210は、NVM220から受信したデータをホスト10に送信する。 When the memory controller 210 receives a read command from the host 10, it issues a read request to the NVM 220 and transmits it to the NVM 220. The nonvolatile memory cell array unit 220 reads data from the memory cell array in response to a read request, and transmits the read data to the memory controller 210. The memory controller 210 transmits the data received from the NVM 220 to the host 10.
 ホスト10は書き込みコマンド及び読み出しコマンドを生成するとき、書き込み又は読み出しの対象となるデータの位置を表すアドレスとして、論理アドレスを指定する。1つの論理アドレスで示される領域は、例えば、64バイトのサイズである。ホスト10が指定可能な論理アドレスは、例えば、0x00000000から0x1F3FFFFFF(500GBのサイズ)とする。ホスト10は、1回の書き込みコマンドもしくは読み出しコマンドで、例えば64バイトのデータの書き込みもしくは読み出しを行う。 When the host 10 generates a write command and a read command, it specifies a logical address as an address representing the location of data to be written or read. The area indicated by one logical address has a size of, for example, 64 bytes. The logical addresses that can be specified by the host 10 are, for example, 0x00000000 to 0x1F3FFFFFF (size of 500 GB). The host 10 writes or reads, for example, 64 bytes of data with one write command or read command.
 メモリコントローラ210がNVM220に書き込み要求または読み出し要求を行う場合、データの位置情報を表すアドレスとして物理アドレスが使われる。1つの物理アドレスで示されるメモリ領域は、例えば、79バイトである。79バイトのうち、先頭から連続する64バイトは、ライトコマンドやリードコマンドでホスト10との間で受送信するデータであり、残りの15バイトはECCに用いられる。メモリコントローラ210は、例えば、図3に示したようなアドレステーブルを用いて、ホスト10からのコマンドで指定された論理アドレスを物理アドレスへ変換し、変換後の物理アドレスを用いて、書き込み要求又は読み出し要求を生成する。 When the memory controller 210 makes a write request or a read request to the NVM 220, a physical address is used as an address representing data location information. The memory area indicated by one physical address is, for example, 79 bytes. Of the 79 bytes, 64 consecutive bytes from the beginning are data to be exchanged with the host 10 in write commands and read commands, and the remaining 15 bytes are used for ECC. The memory controller 210 converts a logical address specified by a command from the host 10 into a physical address using, for example, an address table as shown in FIG. 3, and uses the converted physical address to issue a write request or Generate a read request.
 図2は、メモリコントローラ210および不揮発性メモリセルアレイユニット220の機能ブロックの一例を表す。メモリコントローラ210は、例えば、図2に示したように、ホストインターフェース部(ホストIF)211、記憶部212、メモリ制御部213、メモリインターフェース部(メモリIF)214、エラー訂正部215およびエラー検出部216を有する。不揮発性メモリセルアレイユニット220は、例えば、図2に示したように、メモリインターフェース部(メモリIF)221、アレイ制御部222、メモリセルアレイ223およびバッファ224を有する。 FIG. 2 shows an example of functional blocks of the memory controller 210 and the nonvolatile memory cell array unit 220. For example, as shown in FIG. 2, the memory controller 210 includes a host interface section (host IF) 211, a storage section 212, a memory control section 213, a memory interface section (memory IF) 214, an error correction section 215, and an error detection section. It has 216. The nonvolatile memory cell array unit 220 includes, for example, a memory interface section (memory IF) 221, an array control section 222, a memory cell array 223, and a buffer 224, as shown in FIG.
 メモリセルアレイ223は、例えば、複数のタイル223Aを有する。本実施形態では、一例としてメモリセルアレイ223は、2588672個のタイル223Aを有する。各タイル223Aは、例えば、4096×4096個のメモリセルMCを含む。メモリセルアレイ223は、例えば、632Gバイトの容量を持ち、79バイト単位でライトコマンドやリードコマンドを実行することができる。物理アドレスは、例えば、0x00000000から0x1FFFFFFFFとする。 The memory cell array 223 includes, for example, a plurality of tiles 223A. In this embodiment, as an example, the memory cell array 223 has 2588672 tiles 223A. Each tile 223A includes, for example, 4096×4096 memory cells MC. The memory cell array 223 has a capacity of, for example, 632 GB, and can execute write commands and read commands in units of 79 bytes. The physical address is, for example, 0x00000000 to 0x1FFFFFFFF.
 図4は、タイル223Aの概略構成の一例を表したものである。タイル223Aは、例えば、図4に示したように、複数のビット線BLと、複数のワード線WLと、複数のメモリセルMCとを有する。複数のメモリセルMCは、複数のビット線BLと複数のワード線WLとの交差部に1つずつ配置される。この構造は、いわゆるクロスポイント構造と呼ばれる。メモリセルMCは、書き込み可能な不揮発性のメモリである。メモリセルMCは、抵抗値の高低の状態により1ビットの情報を記録する記憶素子ME(Memory Element)と、記憶素子MEに直列に接続された選択素子SE(Selector Element)とを有する。 FIG. 4 shows an example of a schematic configuration of the tile 223A. For example, as shown in FIG. 4, the tile 223A includes a plurality of bit lines BL, a plurality of word lines WL, and a plurality of memory cells MC. The plurality of memory cells MC are arranged one by one at the intersections of the plurality of bit lines BL and the plurality of word lines WL. This structure is called a so-called cross-point structure. Memory cell MC is a writable nonvolatile memory. The memory cell MC includes a memory element ME (Memory Element) that records 1-bit information depending on the state of high or low resistance value, and a selector element SE (Selector Element) connected in series to the memory element ME.
 記憶素子MEは、例えば相変化メモリ(Phase Change Memory;PCM)であり、ゲルマニウム(Ge)アンチモン(Sb)テルル(Te)のカルコゲナイド合金で形成することができる。保持特性や動作電流の観点から種々の元素が添加されてもよい。また、記憶素子MEは、OxRAM(Oxide-based RAM)、CBRAM(Conductive Bridge RAM)などの抵抗変化型メモリ材料であってもよく、材料に限定されない。動作電圧が変位するドリフト現象が発生しないメモリ材料の場合は、動作電圧をドリフト現象発生前の電圧に戻すリフレッシュ動作は選択素子SEに適用され得る。 The memory element ME is, for example, a phase change memory (PCM), and can be formed of a chalcogenide alloy of germanium (Ge), antimony (Sb), and tellurium (Te). Various elements may be added from the viewpoint of retention characteristics and operating current. Further, the memory element ME may be a resistance change memory material such as Oxide-based RAM (OxRAM) or Conductive Bridge RAM (CBRAM), and is not limited to the material. In the case of a memory material in which a drift phenomenon in which the operating voltage is displaced does not occur, a refresh operation that returns the operating voltage to the voltage before the drift phenomenon occurs can be applied to the selection element SE.
 選択素子SEは、例えばオボニック閾値スイッチ(OTS:Ovonic Threshold Switch)である。選択素子SEは、例えば、テルル(Te)、セレン(Se)および硫黄(S)からなる群より選択された少なくとも1種以上のカルコゲン元素を含む材料にて形成することができる。また、選択素子SEは、アモルファス構造の安定化やリーク電流の低減を目的として、ホウ素(B)、アルミニウム(Al)、ガリウム(Ga)、インジウム(In)、炭素(C)、ゲルマニウム(Ge)、ヒ素(As)、ケイ素(Si)、酸素(O)および窒素(N)などを含んでもよい。選択素子SEの材料は、上述の材料に限定されるものではなく、ドリフト現象が発生する材料が適用され得る。 The selection element SE is, for example, an Ovonic Threshold Switch (OTS). The selection element SE can be formed of, for example, a material containing at least one chalcogen element selected from the group consisting of tellurium (Te), selenium (Se), and sulfur (S). In addition, the selection element SE is made of boron (B), aluminum (Al), gallium (Ga), indium (In), carbon (C), germanium (Ge) for the purpose of stabilizing the amorphous structure and reducing leakage current. , arsenic (As), silicon (Si), oxygen (O), nitrogen (N), and the like. The material of the selection element SE is not limited to the above-mentioned materials, and any material that causes a drift phenomenon may be used.
 なお、メモリセルMCには、記憶素子MEと選択素子SEとの間に中間電極が設けられてもよい。記憶素子MEと選択素子SEとが互いに直接、接合されてもよい。逆に密着性や材料拡散の観点から、記憶素子MEと選択素子SEとの間に、接着層や拡散防止層などが設けられてもよい。また、メモリセルMCには、記憶素子MEおよび選択素子SEの代わりに、記憶素子ME(情報記録)および選択素子SE(情報選択)の機能を兼ね備えた単一の層が設けられてもよい。このような単一の層としては、例えば、オボニック閾値スイッチが挙げられる。例えば、オボニック閾値スイッチにおいて、動作電流や電圧印加方向によって発生した複数の閾値状態を記憶データとして用いることにより、記憶素子MEおよび選択素子SEの機能を単一の層で担うことが可能となる。 Note that in the memory cell MC, an intermediate electrode may be provided between the memory element ME and the selection element SE. The memory element ME and the selection element SE may be directly joined to each other. Conversely, from the viewpoint of adhesion and material diffusion, an adhesive layer, a diffusion prevention layer, or the like may be provided between the memory element ME and the selection element SE. Further, in place of the memory element ME and the selection element SE, the memory cell MC may be provided with a single layer that has both the functions of the memory element ME (information recording) and the selection element SE (information selection). Such a single layer may include, for example, an Ovonic threshold switch. For example, in an ovonic threshold switch, by using a plurality of threshold states generated depending on the operating current and voltage application direction as storage data, it becomes possible to perform the functions of the storage element ME and the selection element SE in a single layer.
 記憶素子MEは、例えば、相互に遷移可能な低抵抗状態(LRS)と高抵抗状態(HRS)のうちの1つの抵抗状態を有する。また一例としてLRSは第1値に対応し、HRSは第2値に対応する。第1値は“1”に対応し、第2値は“0”に対応する。あるいは、第1値は“0”に対応し、第2値は“1”に対応してもよい。本実施形態では、LRSは“1”に対応し、HRSは“0”に対応する場合を想定するが、これに限定されない。 The memory element ME has, for example, one resistance state of a low resistance state (LRS) and a high resistance state (HRS) that are mutually transitionable. Further, as an example, LRS corresponds to the first value, and HRS corresponds to the second value. The first value corresponds to "1" and the second value corresponds to "0". Alternatively, the first value may correspond to "0" and the second value may correspond to "1". In this embodiment, it is assumed that LRS corresponds to "1" and HRS corresponds to "0", but the present invention is not limited to this.
 図5は、メモリセルアレイ223に含まれる各メモリセルMCの、低抵抗状態(LRS)および高抵抗状態(HRS)のときの動作電圧の分布の一例を表したものである。図5に示したように、メモリセルMCに“1”のデータを書き込むためのセットパルスと、“0”のデータを書き込むためのリセットパルスとを交互に繰り返し印加すると、メモリセルMCの動作電圧が、例えば、図5に示したような分布となる。そして、メモリセルMCに、セットパルスとリセットパルスとを交互に繰り返し印加する回数(つまり、書き込み回数)が増えるにつれて、メモリセルMCの動作電圧が、例えば、図6に示したように低電圧側にシフトしていく。その結果、例えば、図6で網掛けをした箇所に対応するメモリセルMCにおいて、読み出し電圧Vreadで読み出しが行われたときに、“1”のデータが“0”のデータとして誤って読み出されてしまう。例えば、図6で網掛けをした箇所に対応するメモリセルMCにおいて、“1”のデータを1”のデータとして正しく読み出すためには、読み出し電圧をVread’とすることが必要となる。 FIG. 5 shows an example of the distribution of operating voltages when each memory cell MC included in the memory cell array 223 is in a low resistance state (LRS) and a high resistance state (HRS). As shown in FIG. 5, when a set pulse for writing data "1" and a reset pulse for writing data "0" are alternately and repeatedly applied to memory cell MC, the operating voltage of memory cell MC However, the distribution is as shown in FIG. 5, for example. As the number of times (that is, the number of writes) of alternately and repeatedly applying a set pulse and a reset pulse to the memory cell MC increases, the operating voltage of the memory cell MC changes to the lower voltage side, for example, as shown in FIG. will shift to. As a result, for example, when reading is performed using the read voltage Vread in the memory cell MC corresponding to the shaded area in FIG. 6, "1" data is erroneously read as "0" data. I end up. For example, in the memory cell MC corresponding to the shaded area in FIG. 6, in order to correctly read "1" data as 1 data, it is necessary to set the read voltage to Vread'.
 メモリセルMCからデータを読み出す方法の一例について説明する。選択したメモリセルMCに接続されたワード線WLとビット線BLにそれぞれ-Vread/2、Vread/2の電圧のパルスが印加される。選択したメモリセルMCに所定の読み出し電圧Vread(=Vread/2-(-Vread/2))の読み出しパルスが印加される。メモリセルMCに流れた電流に基づき、記憶素子MEの抵抗状態が、LRS及びHRSのいずれであるかが判別される。選択素子SEがオンする場合、メモリセルMCに電流が流れる。この場合、記憶素子MEの抵抗状態はLRSであるとして、“1”のデータが読み出される。選択素子SEがオンしない場合、メモリセルMCに電流が流れない。この場合、記憶素子MEの抵抗状態はHRSであるとして、“0”のデータが読み出される。 An example of a method for reading data from memory cells MC will be explained. Pulses of voltages -Vread/2 and Vread/2 are applied to the word line WL and bit line BL connected to the selected memory cell MC, respectively. A read pulse of a predetermined read voltage Vread (=Vread/2−(−Vread/2)) is applied to the selected memory cell MC. Based on the current flowing through the memory cell MC, it is determined whether the resistance state of the memory element ME is LRS or HRS. When selection element SE is turned on, current flows through memory cell MC. In this case, the resistance state of the memory element ME is assumed to be LRS, and data of "1" is read out. When selection element SE is not turned on, no current flows through memory cell MC. In this case, the resistance state of the memory element ME is assumed to be HRS, and data of "0" is read.
 ドリフトの発生により動作電圧が所定の読み出し電圧より小さくなっている場合、記憶素子MEがHRSであっても、所定の読み出し電圧の印加により選択素子SEはオンしてしまう。このため、記憶素子MEの抵抗状態がHRSであっても、HRSおよびLRSの判別に必要な電流が流れてしまう。この結果、記憶素子MEの状態はLRSと誤判別されてしまう。すなわち、実際にはメモリセルMCには“0”のデータが格納されているものの、“1”のデータが格納されていると判断される。 If the operating voltage is lower than the predetermined read voltage due to the occurrence of drift, even if the storage element ME is an HRS, the selection element SE will be turned on by applying the predetermined read voltage. Therefore, even if the resistance state of the memory element ME is HRS, a current necessary for determining HRS and LRS flows. As a result, the state of the memory element ME is erroneously determined to be LRS. That is, although the memory cell MC actually stores "0" data, it is determined that "1" data is stored therein.
 メモリセルMCにデータを書き込む方法の一例について説明する。メモリセルMCに“1”のデータを書き込む場合(セットと呼ぶ)、選択したメモリセルMCに接続されたワード線WLとビット線BLにそれぞれ-Vset/2、Vset/2の電圧のパルスが印加される。選択したメモリセルMCに所定のセット電圧Vset(=Vset/2-(-Vset/2))のセットパルスが印加される。記憶素子MEの抵抗状態がHRSの場合は、LRSに遷移する。これにより、メモリセルMCに“1”のデータが書き込まれる。 An example of a method for writing data into memory cells MC will be explained. When writing "1" data to a memory cell MC (called a set), voltage pulses of -Vset/2 and Vset/2 are applied to the word line WL and bit line BL connected to the selected memory cell MC, respectively. be done. A set pulse of a predetermined set voltage Vset (=Vset/2−(−Vset/2)) is applied to the selected memory cell MC. When the resistance state of the memory element ME is HRS, it changes to LRS. As a result, data "1" is written into the memory cell MC.
 メモリセルMCに“0”のデータを書き込む場合(リセットと呼ぶ)、選択したメモリセルMCに接続されたワード線WLとビット線BLにそれぞれ-Vreset/2、Vreset/2で電圧のパルスが印加される。選択したメモリセルMCに所定のリセット電圧Vreset(=Vreset/2-(-Vreset/2))のリセットパルスが印加される。なお、メモリセルMCの材料によっては、リセットパルスの電圧の方向は、セットパルスとは逆方向となっていてもよい。記憶素子MEの抵抗状態がLRSの場合は、HRSに遷移する。これにより、メモリセルMCに“0”のデータが書き込まれる。 When writing "0" data to a memory cell MC (referred to as a reset), a voltage pulse of -Vreset/2 and Vreset/2 is applied to the word line WL and bit line BL connected to the selected memory cell MC, respectively. be done. A reset pulse of a predetermined reset voltage Vreset (=Vreset/2−(−Vreset/2)) is applied to the selected memory cell MC. Note that depending on the material of the memory cell MC, the direction of the voltage of the reset pulse may be opposite to that of the set pulse. When the resistance state of the memory element ME is LRS, it changes to HRS. As a result, data "0" is written into the memory cell MC.
 選択素子SEが所定の読み出し電圧Vreadでオンするように所定の読み出し電圧Vread以下に閾値電圧を収めるためには、定期的に読み出し電圧Vreadを小さくし、ドリフトの影響を解消する必要がある。定期的に読み出し電圧Vreadを小さくすることで、“1”のデータが“0”のデータとして誤って読み出されることが防止される。 In order to keep the threshold voltage below the predetermined read voltage Vread so that the selection element SE turns on at the predetermined read voltage Vread, it is necessary to periodically reduce the read voltage Vread to eliminate the influence of drift. By periodically reducing the read voltage Vread, it is possible to prevent "1" data from being erroneously read as "0" data.
 次に、NVM220における他の構成について説明する。 Next, other configurations of the NVM 220 will be explained.
 メモリIF221は、メモリコントローラ210と通信する。メモリIF221は、メモリコントローラ210から要求を受信した場合、受信した要求をアレイ制御部222に提供する。要求の種類として、読み出し要求や書き込み要求などがある。メモリIF221は、メモリコントローラ210から書き込み用のデータを受信した場合、当該データをバッファ224のライトデータバッファに書き込む。 The memory IF 221 communicates with the memory controller 210. When the memory IF 221 receives a request from the memory controller 210, it provides the received request to the array control unit 222. Types of requests include read requests and write requests. When the memory IF 221 receives write data from the memory controller 210, it writes the data to the write data buffer of the buffer 224.
 アレイ制御部222は、メモリIF221を介して、メモリコントローラ210から要求を受信する。アレイ制御部222は、受信した要求の種類に応じた動作を行う。アレイ制御部222は、メモリセルアレイ223のワード線駆動部およびビット線駆動部を制御する。アレイ制御部222は、メモリセルアレイ223におけるメモリセルMCにアクセス(読み出し、セット、リセット)する場合、アクセス対象のメモリセルMCに接続されたワード線WLとビット線BLを選択し、選択したワード線WL及びビット線BLに、必要な電圧を印加する。 The array control unit 222 receives a request from the memory controller 210 via the memory IF 221. The array control unit 222 performs operations depending on the type of request received. The array control section 222 controls the word line driving section and the bit line driving section of the memory cell array 223. When accessing (reading, setting, resetting) a memory cell MC in the memory cell array 223, the array control unit 222 selects the word line WL and bit line BL connected to the memory cell MC to be accessed, and selects the word line WL and bit line BL connected to the memory cell MC to be accessed. Apply necessary voltages to WL and bit line BL.
 アレイ制御部222は、読み出し要求を実行する場合、選択したワード線WL及びビット線BLに対して読み出しパルスを電圧として印加する。これにより、該当するメモリセルMCからデータの読み出しを行う。この読み出しを、読み出し要求で指定された物理アドレスに属する複数のメモリセルMCについて行う。複数のメモリセルMCから読み出されたデータは、バッファ224のリードデータバッファに保持される。アレイ制御部222は、リードデータバッファに保持されたデータを、メモリIF221を介して、メモリコントローラ210に送信する。 When executing a read request, the array control unit 222 applies a read pulse as a voltage to the selected word line WL and bit line BL. Thereby, data is read from the corresponding memory cell MC. This reading is performed for a plurality of memory cells MC belonging to the physical address specified in the read request. Data read from the plurality of memory cells MC is held in a read data buffer of the buffer 224. The array control unit 222 transmits the data held in the read data buffer to the memory controller 210 via the memory IF 221.
 アレイ制御部222は、書き込み要求を実行する場合、まずは書き込み要求で指定された物理アドレスに属する複数のメモリセルMCからデータを読み出し、バッファ224のリードデータバッファに保持する。アレイ制御部222は、リードデータバッファに保持されたデータと、ライトデータバッファに保持されたデータとを比較する。アレイ制御部222は、ライトデータバッファに保持された値が“1”であり、リードデータバッファに保持された値が“0”であるビットに対応するメモリセルMCには、“1”を書き込む(セットする)。すなわち、アレイ制御部222は、そのようなメモリセルMCに接続されたワード線WL及びビット線BLに対しては、セットパルスを電圧として印加する。アレイ制御部222は、ライトデータバッファに保持された値が“0”であり、リードデータバッファに保持された値が“1”であるビットに対応するメモリセルMCには、“0”を書き込む(リセットする)。すなわち、アレイ制御部222は、そのようなメモリセルMCに接続されたワード線WL及びビット線BLに対しては、リセットパルスを電圧として印加する。アレイ制御部222は、ライトデータバッファに保持された値と、リードデータバッファに保持された値とが互いに同じ場合は、何も書き込みを行わない。 When executing a write request, the array control unit 222 first reads data from a plurality of memory cells MC belonging to the physical address specified in the write request, and holds it in the read data buffer of the buffer 224. The array control unit 222 compares the data held in the read data buffer and the data held in the write data buffer. The array control unit 222 writes “1” to the memory cell MC corresponding to the bit whose value held in the write data buffer is “1” and whose value held in the read data buffer is “0”. (set). That is, the array control unit 222 applies a set pulse as a voltage to the word line WL and bit line BL connected to such a memory cell MC. The array control unit 222 writes “0” to the memory cell MC corresponding to the bit whose value held in the write data buffer is “0” and whose value held in the read data buffer is “1”. (Reset). That is, the array control unit 222 applies a reset pulse as a voltage to the word line WL and bit line BL connected to such a memory cell MC. The array control unit 222 does not write anything if the value held in the write data buffer and the value held in the read data buffer are the same.
 なお、上記は一例であり、アレイ制御部222は、書き込み要求を実行する場合に書き込み要求で指定された物理アドレスに属する複数のメモリセルMCからデータを読み出すことなく、書き込みを実施するようにしてもよい。その場合、書き込み回数は増加するが、データを読み出し保持されたデータと比較する時間が短縮される。 Note that the above is an example, and when executing a write request, the array control unit 222 performs writing without reading data from the plurality of memory cells MC belonging to the physical address specified in the write request. Good too. In that case, the number of writes increases, but the time required to read and compare data with held data is shortened.
 次に、メモリコントローラ210の構成について説明する。 Next, the configuration of the memory controller 210 will be explained.
 ホストIF211は、ホスト10からコマンド(書き込みコマンド又は読出しコマンド)を受信する。ホストIF211は、受信したコマンドをメモリ制御部213に送信する。また、ホストIF211は、ホスト10から書き込みコマンドで書き込み指示されるデータを受信し、受信したデータを、書き込みコマンドに関連づけてメモリ制御部213に送信する。ホストIF211は、NVM220から読み出されたデータを受信し、受信したデータをホスト10に送信する。 The host IF 211 receives a command (write command or read command) from the host 10. The host IF 211 transmits the received command to the memory control unit 213. Further, the host IF 211 receives data instructed to be written by a write command from the host 10, and transmits the received data to the memory control unit 213 in association with the write command. The host IF 211 receives data read from the NVM 220 and transmits the received data to the host 10.
 記憶部212は、例えば、図3に示したようなアドレス変換テーブル212Aと、図7に示したような未使用物理アドレスリスト212Bと、図8に示したような読み出し電圧テーブル212Cとを有する。 The storage unit 212 includes, for example, an address conversion table 212A as shown in FIG. 3, an unused physical address list 212B as shown in FIG. 7, and a read voltage table 212C as shown in FIG. 8.
 アドレス変換テーブル212Aは、論理アドレスと物理アドレスとの対応関係を示す設定情報を含んでいる。アドレス変換テーブル212Aには、例えば、メモリセルアレイ223の容量に相当する0x000000000から0x1F3FFFFFFまでの論理アドレスと、それぞれに割り当てられた物理アドレスとが保持されている。 The address translation table 212A includes setting information indicating the correspondence between logical addresses and physical addresses. The address conversion table 212A holds, for example, logical addresses from 0x000000000 to 0x1F3FFFFFF, which correspond to the capacity of the memory cell array 223, and physical addresses assigned to each logical address.
 未使用物理アドレスリスト212Bには、論理アドレスとの対応関係がアドレス変換テーブル212Aに記述されていない1または複数の物理アドレスが記述されている。アドレス変換テーブル212Aにおいて物理アドレスとの対応関係が記述されていない論理アドレスがホスト10によって指定されたとき、メモリ制御部213は、未使用物理アドレスリスト212Bの中から選択した1つの物理アドレスを、指定された論理アドレスに対応する物理アドレスとしてアドレス変換テーブル212Aに記述する。 The unused physical address list 212B describes one or more physical addresses whose correspondence with logical addresses is not described in the address conversion table 212A. When the host 10 specifies a logical address for which no correspondence with a physical address is described in the address conversion table 212A, the memory control unit 213 converts one physical address selected from the unused physical address list 212B into It is written in the address translation table 212A as a physical address corresponding to the specified logical address.
 読み出し電圧テーブル212Cには、物理アドレスと読み出し電圧との対応関係が記述されている。読み出し電圧テーブル212Cは、NVM220における特定の物理アドレスに記録され、不揮発性記憶装置200の起動時にNVM220における特定の物理アドレスから読み出され、RAMに保持、管理されてもよい。このようにした場合には、不揮発性記憶装置200に電源が供給されていないときであっても読み出し電圧テーブル212Cを保持することができる。 The read voltage table 212C describes the correspondence between physical addresses and read voltages. The read voltage table 212C may be recorded at a specific physical address in the NVM 220, read from the specific physical address in the NVM 220 when the nonvolatile storage device 200 is started, and held and managed in the RAM. In this case, the read voltage table 212C can be held even when power is not supplied to the nonvolatile memory device 200.
 メモリ制御部213は、ホスト10から書き込みコマンドを受信すると、アドレス変換テーブル212Aを用いて、ホスト10からのコマンドで指定された論理アドレスを物理アドレスへ変換する。メモリ制御部213は、さらに、図示しない書き込み電圧テーブルから、ホスト10からのコマンドで指定された論理アドレスに対応する物理アドレスに設定された書き込み電圧を読み出す。メモリ制御部213は、変換後の物理アドレスと、読み出した書き込み電圧とを用いて、書き込み要求を生成する。メモリ制御部213は、生成した書き込み要求を、ホスト10から受信したデータとともに、メモリIF214を介してNVM220に送信する。 When the memory control unit 213 receives a write command from the host 10, it converts the logical address specified by the command from the host 10 into a physical address using the address conversion table 212A. The memory control unit 213 further reads the write voltage set at the physical address corresponding to the logical address specified by the command from the host 10 from a write voltage table (not shown). The memory control unit 213 generates a write request using the converted physical address and the read write voltage. The memory control unit 213 transmits the generated write request together with the data received from the host 10 to the NVM 220 via the memory IF 214.
 メモリ制御部213は、ホスト10から読み出しコマンドを受信すると、図3に示したようなアドレス変換テーブル212Aを用いて、ホスト10からのコマンドで指定された論理アドレスを物理アドレスへ変換する。メモリ制御部213は、さらに、読み出し電圧テーブル212Cから、ホスト10からのコマンドで指定された論理アドレスに対応する物理アドレスに設定された読み出し電圧を読み出す。メモリ制御部213は、変換後の物理アドレスと、読み出した読み出し電圧とを用いて、読み出し要求を生成する。メモリ制御部213は、生成した読み出し要求を、メモリIF214を介してNVM220に送信する。 When the memory control unit 213 receives a read command from the host 10, it converts the logical address specified by the command from the host 10 into a physical address using an address conversion table 212A as shown in FIG. The memory control unit 213 further reads the read voltage set at the physical address corresponding to the logical address specified by the command from the host 10 from the read voltage table 212C. The memory control unit 213 generates a read request using the converted physical address and the read voltage. The memory control unit 213 transmits the generated read request to the NVM 220 via the memory IF 214.
 次に、リードコマンドの処理手順について説明する。図9は、リードコマンドの処理手順の一例を表したものである。 Next, the read command processing procedure will be explained. FIG. 9 shows an example of a read command processing procedure.
 メモリ制御部213は、ホスト10から読み出しコマンドを取得する。すると、メモリ制御部213は、アドレス変換テーブル212Aを用いて、取得した読み出しコマンドで指定された論理アドレスから物理アドレスを取得する(ステップS101)。メモリ制御部213は、さらに、読み出し電圧テーブル212Cを用いて、取得した読み出しコマンドで指定された論理アドレスに対応する物理アドレスに設定された読み出し電圧を取得する(ステップS102)。メモリ制御部213は、変換後の物理アドレスと、読み出した読み出し電圧とを用いて、読み出し要求を生成する。このようにして、メモリ制御部213は、読み出し電圧を、読み出し対象の複数のメモリセルMCに設定する(ステップS103)。メモリ制御部213は、生成した読み出し要求を、メモリIF214を介してNVM220に送信する。 The memory control unit 213 obtains a read command from the host 10. Then, the memory control unit 213 uses the address conversion table 212A to obtain a physical address from the logical address specified by the obtained read command (step S101). The memory control unit 213 further uses the read voltage table 212C to obtain the read voltage set at the physical address corresponding to the logical address specified by the obtained read command (step S102). The memory control unit 213 generates a read request using the converted physical address and the read voltage. In this way, the memory control unit 213 sets the read voltage to the plurality of memory cells MC to be read (step S103). The memory control unit 213 transmits the generated read request to the NVM 220 via the memory IF 214.
 メモリ制御部213は、読み出し対称の複数のメモリセルMCから、誤り訂正符号(ECC)付きのデータ(第1データ)を読み出す(ステップS104)。メモリ制御部213は、読み出した誤り訂正符号(ECC)付きのデータをエラー訂正部215に出力する。エラー訂正部215は、入力されたデータに対して、誤り訂正符号(ECC)を用いた誤り訂正を行う(ステップS105)。エラー訂正部215は、誤り訂正により得られたデータ(第2データ)をメモリ制御部213に出力する。メモリ制御部213は、誤り訂正符号(ECC)付きのデータ(第1データ)と、誤り訂正により得られたデータ(第2データ)とをエラー検出部216に出力する。 The memory control unit 213 reads data (first data) with an error correction code (ECC) from the plurality of memory cells MC to be read (step S104). The memory control unit 213 outputs the read data with an error correction code (ECC) to the error correction unit 215. The error correction unit 215 performs error correction on the input data using an error correction code (ECC) (step S105). The error correction unit 215 outputs the data (second data) obtained by error correction to the memory control unit 213. The memory control unit 213 outputs data with an error correction code (ECC) (first data) and data obtained by error correction (second data) to the error detection unit 216.
 エラー検出部216は、エラー訂正部215において誤り訂正ができたか否かを判定する(ステップS106)。例えば、誤り訂正ができるのは、誤ったビット数が12ビット以下の場合であり、誤り訂正ができないのは、誤ったビット数が13ビット以上の場合である。誤り訂正ができた場合には(ステップS106;Y)、エラー検出部216は、誤ったビット数をカウントする(ステップS107)。具体的には、エラー検出部216は、誤り訂正符号(ECC)付きのデータ(第1データ)と、誤り訂正により得られたデータ(第2データ)とに基づいて、高抵抗状態(HRS)に対応する情報を低抵抗状態(LRS)に対応する情報として誤って読み出したビット数を検出する。エラー検出部216は、検出したビット数をメモリ制御部213に出力する。 The error detection unit 216 determines whether the error correction unit 215 has successfully corrected the error (step S106). For example, error correction is possible when the number of erroneous bits is 12 bits or less, and error correction is not possible when the number of erroneous bits is 13 bits or more. If the error has been corrected (step S106; Y), the error detection unit 216 counts the number of erroneous bits (step S107). Specifically, the error detection unit 216 detects a high resistance state (HRS) based on data with an error correction code (ECC) (first data) and data obtained by error correction (second data). Detects the number of bits in which information corresponding to the low resistance state (LRS) is read out incorrectly as information corresponding to the low resistance state (LRS). The error detection section 216 outputs the detected number of bits to the memory control section 213.
 メモリ制御部213は、誤ったビット数が所定の数nよりも大きい場合(ステップS108;Y)、または、誤り訂正ができなかった場合には(ステップS106;N)、読み出し電圧の変更処理を実行する(ステップS109)。メモリ制御部213は、読み出し電圧の変更処理において、読み出し電圧の変更要否の決定や、読み出し電圧の変更決定に伴う読み出し電圧の変更などを行う。その具体的な手順については、後に詳述する。 If the number of erroneous bits is greater than the predetermined number n (step S108; Y), or if error correction has not been possible (step S106; N), the memory control unit 213 performs read voltage change processing. Execute (step S109). In the process of changing the read voltage, the memory control unit 213 determines whether it is necessary to change the read voltage, changes the read voltage in response to the decision to change the read voltage, and the like. The specific procedure will be detailed later.
 メモリ制御部213は、読み出し電圧の変更処理が正常終了した場合には(ステップS110;Y)には、読み出し電圧テーブル212Cを更新する(ステップS111)。メモリ制御部213は、例えば、記憶部212に格納された、読み出し対称の複数のメモリセルMCの物理アドレスに対応する読み出し電圧設定値を変更する。その後、メモリ制御部213は、読み出したデータ(誤り訂正後のデータ)をホスト10へ転送する(ステップS112)。メモリ制御部213は、読み出し電圧の変更処理が正常終了しなかった場合には(ステップS110;N)には、ホスト10へエラーを通知する(ステップS113)。このようにして、メモリ制御部213によるリードコマンド処理が実行される。 If the read voltage change process has ended normally (step S110; Y), the memory control unit 213 updates the read voltage table 212C (step S111). The memory control unit 213 changes, for example, a read voltage setting value corresponding to a physical address of a plurality of memory cells MC to be read, which is stored in the storage unit 212. After that, the memory control unit 213 transfers the read data (data after error correction) to the host 10 (step S112). If the read voltage changing process does not end normally (step S110; N), the memory control unit 213 notifies the host 10 of the error (step S113). In this way, read command processing by the memory control unit 213 is executed.
 次に、ステップS109における読み出し電圧の変更処理手順について説明する。図10は、読み出し電圧の変更処理手順の一例を表したものである。なお、図10には、ステップS109の手前のステップと同様のステップが含まれているが、これは、処理手順の最適化がなされていないことが原因である。従って、必要に応じて、処理手順の最適化がなされてもよい。 Next, the procedure for changing the read voltage in step S109 will be explained. FIG. 10 shows an example of a procedure for changing the read voltage. Note that although FIG. 10 includes steps similar to the steps before step S109, this is because the processing procedure has not been optimized. Therefore, the processing procedure may be optimized as necessary.
 メモリ制御部213は、ステップS101~S106と同様の手順を実行する(ステップS201~S206)。ステップS206において誤り訂正ができなかった場合には(ステップS206;N)、メモリ制御部213は、保持した読み出し電圧が存在するか否か判定する(ステップS212)。その結果、保持した読み出し電圧が存在しない場合には(ステップS212;N)、エラーは発生したとして、読み出し電圧の変更処理を終了する(エラー終了)。 The memory control unit 213 executes the same procedure as steps S101 to S106 (steps S201 to S206). If error correction is not possible in step S206 (step S206; N), the memory control unit 213 determines whether or not the held read voltage exists (step S212). As a result, if the held read voltage does not exist (step S212; N), it is assumed that an error has occurred, and the read voltage changing process ends (error end).
 一方、ステップS206において誤り訂正ができた場合には(ステップS206;Y)、メモリ制御部213は、読み出しに用いた読み出し電圧を一時的に保持する(ステップS207)。その後、エラー検出部216は、誤ったビット数をカウントする(ステップS208)。具体的には、エラー検出部216は、誤り訂正符号(ECC)付きのデータ(第1データ)と、誤り訂正により得られたデータ(第2データ)とに基づいて、高抵抗状態(HRS)に対応する情報を低抵抗状態(LRS)に対応する情報として誤って読み出したビット数を検出する。エラー検出部216は、検出したビット数をメモリ制御部213に出力する。 On the other hand, if the error correction is successful in step S206 (step S206; Y), the memory control unit 213 temporarily holds the read voltage used for reading (step S207). After that, the error detection unit 216 counts the number of erroneous bits (step S208). Specifically, the error detection unit 216 detects a high resistance state (HRS) based on data with an error correction code (ECC) (first data) and data obtained by error correction (second data). Detects the number of bits in which information corresponding to the low resistance state (LRS) is read out incorrectly as information corresponding to the low resistance state (LRS). The error detection section 216 outputs the detected number of bits to the memory control section 213.
 続いて、メモリ制御部213は、誤ったビット数が所定の数mよりも小さい場合(ステップS209;Y)、または、ステップS212において保持した読み出し電圧が存在する場合(ステップS212;Y)には、読み出し対象の複数のメモリセルMCに対する次回以降の読み出し電圧の変更を決定する(ステップS210)。メモリ制御部213は、読み出し対象の複数のメモリセルMCに対する次回以降の読み出し電圧を、ステップS207において保持した読み出し電圧に変更することを決定する。 Next, if the number of erroneous bits is smaller than the predetermined number m (step S209; Y), or if the read voltage held in step S212 exists (step S212; Y), the memory control unit 213 , determines changes in read voltages for the plurality of memory cells MC to be read from next time onwards (step S210). The memory control unit 213 determines to change the next and subsequent read voltages for the plurality of memory cells MC to be read to the read voltage held in step S207.
 ステップS209において誤ったビット数が所定の数m以上となっている場合(ステップS209;N)、メモリ制御部213は、読み出し対象の複数のメモリセルMCに対する次回以降の読み出し電圧を、ステップS212において保持した読み出し電圧よりも引き下げる(ステップS211)。その後、メモリ制御部213は、ステップS202に戻り、引き続き、ステップS202以降の手順を実行する。このようにして、読み出し電圧の変更処理において、正常終了およびエラー終了のいずれか一方の結論が得られる。 If the number of erroneous bits is equal to or greater than the predetermined number m in step S209 (step S209; N), the memory control unit 213 sets the next and subsequent read voltages for the plurality of memory cells MC to be read in step S212. The read voltage is lowered below the held read voltage (step S211). After that, the memory control unit 213 returns to step S202 and continues to execute the procedures from step S202 onwards. In this way, in the read voltage changing process, either a normal end or an error end can be obtained.
 次に、ライトコマンドの処理手順について説明する。図11は、ライトコマンドの処理手順の一例を表したものである。 Next, the write command processing procedure will be explained. FIG. 11 shows an example of a write command processing procedure.
 メモリ制御部213は、ホスト10から書き込みコマンドを取得する。すると、メモリ制御部213は、アドレス変換テーブル212Aを用いて、取得した書き込みコマンドで指定された論理アドレスから物理アドレスを取得する(ステップS301)。メモリ制御部213は、取得した書き込みコマンドに含まれる書き込み用のデータに対して、誤り訂正符号(ECC)を付加する(ステップS302)。 The memory control unit 213 obtains a write command from the host 10. Then, the memory control unit 213 uses the address conversion table 212A to obtain a physical address from the logical address specified by the obtained write command (step S301). The memory control unit 213 adds an error correction code (ECC) to the write data included in the acquired write command (step S302).
 メモリ制御部213は、図示しない書き込み電圧テーブルを用いて、取得した書き込みコマンドで指定された論理アドレスに対応する物理アドレスに設定された書き込み電圧を取得する。メモリ制御部213は、変換後の物理アドレスと、誤り訂正符号(ECC)付きのデータと、読み出した書き込み電圧とを用いて、書き込み要求を生成する。このようにして、メモリ制御部213は、書き込み電圧を、書き込み対象の複数のメモリセルMCに設定する。メモリ制御部213は、生成した書き込み要求を、メモリIF214を介してNVM220に送信する。このようにして、メモリ制御部213は、誤り訂正符号(ECC)付きのデータを、書き込み対象の複数のメモリセルMCに書き込む(ステップS303)。メモリ制御部213は、ホスト10へ書き込み完了を通知する(ステップS304。このようにして、メモリ制御部213によるライトコマンド処理が実行される。 The memory control unit 213 uses a write voltage table (not shown) to obtain the write voltage set at the physical address corresponding to the logical address specified by the obtained write command. The memory control unit 213 generates a write request using the converted physical address, data with an error correction code (ECC), and the read write voltage. In this way, the memory control unit 213 sets the write voltage to the plurality of memory cells MC to be written. The memory control unit 213 transmits the generated write request to the NVM 220 via the memory IF 214. In this way, the memory control unit 213 writes data with an error correction code (ECC) to the plurality of memory cells MC to be written (step S303). The memory control unit 213 notifies the host 10 of the completion of writing (step S304). In this way, the write command processing by the memory control unit 213 is executed.
[効果]
 次に、本実施の形態に係る情報処理システムの効果について説明する。
[effect]
Next, the effects of the information processing system according to this embodiment will be explained.
 本実施の形態では、誤り訂正によって得られた情報に基づいて、高抵抗状態に対応する情報を低抵抗状態に対応する情報として誤って読み出したビット数が検出され、検出されたビット数に基づいて、読み出し電圧の変更要否が決定される。これにより、メモリセルMCに対する書き込み回数の増加に伴う動作電圧の低下に起因する読み出し不良の発生が低減される。従って、読み出し不良の原因に応じた読み出し処理を行うことができる。 In this embodiment, the number of bits in which information corresponding to a high resistance state is incorrectly read as information corresponding to a low resistance state is detected based on information obtained by error correction, and the number of bits is detected based on the detected number of bits. Then, it is determined whether or not the read voltage needs to be changed. This reduces the occurrence of read failures caused by a drop in operating voltage as the number of writes to the memory cell MC increases. Therefore, read processing can be performed depending on the cause of the read failure.
 本実施の形態では、読み出し電圧の変更が決定された場合には、記憶部212に格納された、読み出し対称の複数のメモリセルMCの物理アドレスに対応する読み出し電圧設定値が変更される。これにより、メモリセルMCに対する書き込み回数の増加に伴う動作電圧の低下に起因する読み出し不良の発生が低減される。従って、読み出し不良の原因に応じた読み出し処理を行うことができる。 In the present embodiment, when it is decided to change the read voltage, the read voltage setting value corresponding to the physical address of the plurality of memory cells MC to be read, which is stored in the storage unit 212, is changed. This reduces the occurrence of read failures caused by a drop in operating voltage as the number of writes to the memory cell MC increases. Therefore, read processing can be performed depending on the cause of the read failure.
<2.変形例>
 以下、上記実施の形態に係る情報処理システムの変形例について説明する。以下の変形例では、上記実施の形態と共通の構成に同一の符号を付して説明する。
<2. Modified example>
Hereinafter, a modification of the information processing system according to the above embodiment will be described. In the following modified examples, the same components as those in the above embodiment will be described with the same reference numerals.
[変形例A]
 上記実施の形態において、アドレス変換テーブル212Aの代わりに、例えば、図12に示したようなアドレス変換テーブル212D、および図13に示したようなタグテーブル212Eが設けられていてもよい。アドレス変換テーブル212Dは、複数の物理アドレスをまとめた1つのセクションごとに物理アドレスと論理アドレスとが互いに対応付けられた設定情報を含んでいる。アドレス変換テーブル212Dでは、さらに、セクションごとにタグが割り当てられている。タグテーブル212Eには、タグと、タグに対応するセクションに含まれる複数の物理アドレスのアクセス順序との対応関係が記述されている。このとき、メモリ制御部213は、読み出し電圧の変更を決定した場合には、例えば、記憶部212に格納された、読み出し対称の複数のメモリセルMCのセクションに対応する読み出し電圧設定値を変更する。
[Modification A]
In the above embodiment, instead of the address translation table 212A, for example, an address translation table 212D as shown in FIG. 12 and a tag table 212E as shown in FIG. 13 may be provided. The address conversion table 212D includes setting information in which physical addresses and logical addresses are associated with each other for each section in which a plurality of physical addresses are grouped together. In the address conversion table 212D, tags are further assigned to each section. The tag table 212E describes the correspondence between a tag and the access order of a plurality of physical addresses included in the section corresponding to the tag. At this time, if the memory control unit 213 determines to change the read voltage, the memory control unit 213 changes the read voltage setting value corresponding to the section of the plurality of memory cells MC to be read, which is stored in the storage unit 212, for example. .
 次に、本変形例におけるライトコマンドの処理手順について説明する。図14は、本変形例におけるライトコマンドの処理手順の一例を表したものである。 Next, the processing procedure of the write command in this modification will be explained. FIG. 14 shows an example of a write command processing procedure in this modification.
 メモリ制御部213は、ホスト10から書き込みコマンドを取得する。すると、メモリ制御部213は、アドレス変換テーブル212Dを用いて、取得した書き込みコマンドで指定された論理アドレスから物理アドレスを取得する(ステップS401)。メモリ制御部213は、取得した書き込みコマンドに含まれる書き込み用のデータに対して、誤り訂正符号(ECC)を付加する(ステップS402)。 The memory control unit 213 obtains a write command from the host 10. Then, the memory control unit 213 uses the address conversion table 212D to obtain a physical address from the logical address specified by the obtained write command (step S401). The memory control unit 213 adds an error correction code (ECC) to the write data included in the acquired write command (step S402).
 メモリ制御部213は、Wear Levelingを実行するか否かの判断を行うための疑似乱数を生成する(ステップS403)。Wear Levelingとは、セクション単位で論理アドレスに割り当てられた複数の物理アドレスの順番を、セクション内で入れ替える処理をさす。メモリ制御部213は、生成した疑似乱数に基づいて、WearLevelingを実行するか否かを判断する(ステップS404)。例えば、ライトコマンド実行に対して0.1%の確率でWearLevelingが実行されるとする。このとき、メモリ制御部213は、ステップS403での疑似乱数の生成において、0~999の内の1つの整数を生成し、乱数の値が0のときWearLevelingの実行を選択する(ステップS404;Y)。メモリ制御部213は、乱数の値が1~999のいずれの値のとき、WearLevelingの非実行を選択する(ステップS404;N)。 The memory control unit 213 generates pseudo-random numbers for determining whether to perform Wear Leveling (step S403). Wear Leveling refers to a process of changing the order of a plurality of physical addresses assigned to logical addresses on a section-by-section basis within a section. The memory control unit 213 determines whether to perform Wear Leveling based on the generated pseudo-random number (step S404). For example, assume that WearLeveling is executed with a probability of 0.1% when a write command is executed. At this time, in generating the pseudo-random number in step S403, the memory control unit 213 generates one integer from 0 to 999, and selects execution of Wear Leveling when the value of the random number is 0 (step S404; Y ). The memory control unit 213 selects non-execution of Wear Leveling when the random number value is any value from 1 to 999 (step S404; N).
 メモリ制御部213は、Wear Levelingの非実行を選択したとき、図示しない書き込み電圧テーブルを用いて、取得した書き込みコマンドで指定された論理アドレスに対応する物理アドレスに設定された書き込み電圧を取得する。メモリ制御部213は、変換後の物理アドレスと、誤り訂正符号(ECC)付きのデータと、読み出した書き込み電圧とを用いて、書き込み要求を生成する。このようにして、メモリ制御部213は、書き込み電圧を、書き込み対象の複数のメモリセルMCに設定する。メモリ制御部213は、生成した書き込み要求を、メモリIF214を介してNVM220に送信する。このようにして、メモリ制御部213は、誤り訂正符号(ECC)付きのデータを、書き込み対象の複数のメモリセルMCに書き込む(ステップS409)。メモリ制御部213は、ホスト10へ書き込み完了を通知する(ステップS408)。 When selecting not to perform Wear Leveling, the memory control unit 213 uses a write voltage table (not shown) to acquire the write voltage set at the physical address corresponding to the logical address specified by the acquired write command. The memory control unit 213 generates a write request using the converted physical address, data with an error correction code (ECC), and the read write voltage. In this way, the memory control unit 213 sets the write voltage to the plurality of memory cells MC to be written. The memory control unit 213 transmits the generated write request to the NVM 220 via the memory IF 214. In this way, the memory control unit 213 writes data with an error correction code (ECC) to the plurality of memory cells MC to be written (step S409). The memory control unit 213 notifies the host 10 of the completion of writing (step S408).
 メモリ制御部213は、Wear Levelingの実行を選択したとき、セクション内の物理アドレスの順序を決定するための疑似乱数を生成する(ステップS405)。このとき、メモリ制御部213は、ステップS405での疑似乱数の生成において、0~31の内の1つの整数を生成し、乱数の値をタグの値として使用する。メモリ制御部213は、タグテーブル212Eを用いて、生成した乱数の値のタグに対応する物理アドレスの順序を取得し、その順番でWearLevelingを実行する(ステップS406)。メモリ制御部213は、このようにして、誤り訂正符号(ECC)付きのデータを、書き込み対象の複数のメモリセルMCに書き込む。メモリ制御部213は、選択したタグの値を、アドレス変換テーブル212Dに書き込むことにより、アドレス変換テーブル212Dを更新する(ステップS407)。メモリ制御部213は、ホスト10へ書き込み完了を通知する(ステップS408)。このようにして、メモリ制御部213によるライトコマンド処理が実行される。 When selecting execution of Wear Leveling, the memory control unit 213 generates pseudo-random numbers for determining the order of physical addresses within the section (step S405). At this time, in generating the pseudo-random number in step S405, the memory control unit 213 generates one integer from 0 to 31, and uses the value of the random number as the value of the tag. The memory control unit 213 uses the tag table 212E to obtain the order of physical addresses corresponding to the tags of the generated random number values, and executes WearLeveling in that order (step S406). In this way, the memory control unit 213 writes data with an error correction code (ECC) to the plurality of memory cells MC to be written. The memory control unit 213 updates the address conversion table 212D by writing the value of the selected tag into the address conversion table 212D (step S407). The memory control unit 213 notifies the host 10 of the completion of writing (step S408). In this way, the write command processing by the memory control unit 213 is executed.
 本変形例では、読み出し電圧の変更が決定された場合には、記憶部212に格納された、読み出し対称の複数のメモリセルMCのセクションに対応する読み出し電圧設定値が変更される。これにより、メモリセルMCに対する書き込み回数の増加に伴う動作電圧の低下に起因する読み出し不良の発生が低減される。従って、読み出し不良の原因に応じた読み出し処理を行うことができる。 In this modification, when it is decided to change the read voltage, the read voltage setting value corresponding to the section of the plurality of memory cells MC to be read, which is stored in the storage unit 212, is changed. This reduces the occurrence of read failures caused by a drop in operating voltage as the number of writes to the memory cell MC increases. Therefore, read processing can be performed depending on the cause of the read failure.
[変形例B]
 上記実施の形態において、アドレス変換テーブル212Aおよび読み出し電圧テーブル212Cの代わりに、例えば、図15に示したようなアドレス変換テーブル212Fが設けられていてもよい。アドレス変換テーブル212Fには、論理アドレスと物理アドレスとの対応関係が記述されており、さらに、物理アドレスと読み出し電圧との対応関係が記述されている。このようなアドレス変換テーブル212Fを用いることで、上記実施の形態と同様のリードコマンド処理を実行することができる。
[Modification B]
In the above embodiment, an address conversion table 212F as shown in FIG. 15, for example, may be provided instead of the address conversion table 212A and the read voltage table 212C. The address conversion table 212F describes the correspondence between logical addresses and physical addresses, and also describes the correspondence between physical addresses and read voltages. By using such an address conversion table 212F, read command processing similar to that of the above embodiment can be executed.
[変形例C]
 上記実施の形態において、例えば、図16に示したような、未使用の物理アドレスに対する読み出し電圧が記述された読み出し電圧テーブル212Gが記憶部212に設けられていてもよい。このようにした場合には、メモリ制御部213は、読み出し電圧テーブル212Gを用いて、取得した読み出しコマンドで指定された論理アドレスに対応する未使用の物理アドレスに設定された読み出し電圧を取得することができる。その結果、未使用の物理アドレスにおいて、メモリセルに対する書き込み回数の増加に伴う動作電圧の低下に起因する読み出し不良の発生を低減することができる。
[Modification C]
In the embodiment described above, for example, a read voltage table 212G as shown in FIG. 16 in which read voltages for unused physical addresses are described may be provided in the storage unit 212. In this case, the memory control unit 213 uses the read voltage table 212G to obtain the read voltage set to the unused physical address corresponding to the logical address specified by the obtained read command. I can do it. As a result, it is possible to reduce the occurrence of read failures at unused physical addresses due to a decrease in operating voltage due to an increase in the number of writes to memory cells.
[変形例D]
 上記実施の形態および変形例B,Cにおいて、例えば、図17に示したような、読み出し電圧変更対象の物理アドレスが登録された物理アドレステーブル212Hが記憶部212に設けられていてもよい。このようにした場合には、後述するように、リードコマンド処理と、読み出し電圧の変更処理とを別々に行うことができる。
[Modification D]
In the above embodiment and modifications B and C, for example, the storage unit 212 may be provided with a physical address table 212H as shown in FIG. 17 in which physical addresses to be changed in the read voltage are registered. In this case, the read command processing and the read voltage change processing can be performed separately, as will be described later.
 図18は、本変形例に係るリードコマンド処理手順の一例を表したものである。まず、メモリ制御部213は、ステップS101~S108と同様の手順を実行する(ステップS501~S508)。ステップS208において、メモリ制御部213は、誤ったビット数が所定の数nよりも大きい場合には(ステップS508;Y)、読み出し対象のメモリセルMCに対する次回以降の読み出し電圧の変更を決定する。このとき、メモリ制御部213は、読み出し対象のメモリセルMCに対応する物理アドレスを、読み出し電圧変更対象の物理アドレスとして、物理アドレステーブル212Hに登録する(ステップS509)。誤ったビット数が所定の数n以下の場合(ステップS508;N)、または、ステップS509を実行した場合には、メモリ制御部213は、読み出したデータ(誤り訂正後のデータ)をホスト10へ転送する(ステップS510)。 FIG. 18 shows an example of a read command processing procedure according to this modification. First, the memory control unit 213 executes the same procedure as steps S101 to S108 (steps S501 to S508). In step S208, if the number of erroneous bits is greater than the predetermined number n (step S508; Y), the memory control unit 213 determines to change the read voltage for the memory cell MC to be read from next time onwards. At this time, the memory control unit 213 registers the physical address corresponding to the memory cell MC to be read in the physical address table 212H as the physical address to be changed in the read voltage (step S509). If the number of erroneous bits is less than or equal to the predetermined number n (step S508; N), or if step S509 is executed, the memory control unit 213 transfers the read data (data after error correction) to the host 10. Transfer (step S510).
 ステップS506において誤り訂正ができなかった場合には(ステップS506;N)、メモリ制御部213は、読み出し対象のメモリセルMCに対する次回以降の読み出し電圧の変更を決定する。このとき、メモリ制御部213は、読み出し対象のメモリセルMCに対応する物理アドレスを、読み出し電圧変更対象の物理アドレスとして、物理アドレステーブル212Hに登録する(ステップS511)。その後、メモリ制御部213は、ホスト10へエラーを通知する(ステップS512)。 If error correction is not possible in step S506 (step S506; N), the memory control unit 213 determines to change the read voltage for the memory cell MC to be read from next time onwards. At this time, the memory control unit 213 registers the physical address corresponding to the memory cell MC to be read in the physical address table 212H as the physical address to be changed in the read voltage (step S511). After that, the memory control unit 213 notifies the host 10 of the error (step S512).
 図19、図20は、図18のリードコマンド処理を実行した後に行われる読み出し電圧変更処理手順の一例を表したものである。 FIGS. 19 and 20 illustrate an example of the read voltage change processing procedure performed after the read command processing of FIG. 18 is executed.
 まず、メモリ制御部213は、物理アドレステーブル212Hから、読み出し電圧変更対象の物理アドレスを取得する(ステップS601)。次に、メモリ制御部213は、取得した物理アドレスについて、ステップS202~S212と同様の手順を実行する(ステップS602~S612)。メモリ制御部213は、ステップS610を実行した後、読み出し電圧テーブル212Cを更新する(ステップS613)。メモリ制御部213は、例えば、記憶部212に格納された、読み出し対称の複数のメモリセルMCの物理アドレスに対応する読み出し電圧設定値を変更する。続いて、メモリ制御部213は、物理アドレステーブル212Hを更新する(ステップS614)。具体的には、メモリ制御部213は、物理アドレステーブル212Hから、ステップS601で取得した物理アドレスを消去し、読み出し電圧の変更処理を終了する(正常終了)。メモリ制御部213は、このようにして、リードコマンド処理が終わった後に、読み出し電圧の変更処理を行う。 First, the memory control unit 213 acquires the physical address to be changed in the read voltage from the physical address table 212H (step S601). Next, the memory control unit 213 executes the same procedure as steps S202 to S212 for the acquired physical address (steps S602 to S612). After executing step S610, the memory control unit 213 updates the read voltage table 212C (step S613). The memory control unit 213 changes, for example, a read voltage setting value corresponding to a physical address of a plurality of memory cells MC to be read, which is stored in the storage unit 212. Subsequently, the memory control unit 213 updates the physical address table 212H (step S614). Specifically, the memory control unit 213 erases the physical address acquired in step S601 from the physical address table 212H, and ends the read voltage changing process (normal end). In this manner, the memory control unit 213 performs the read voltage change process after the read command process is completed.
 本変形例では、読み出し電圧の変更が決定された場合には、読み出し対象のメモリセルMCに対応する物理アドレスが読み出し電圧変更情報として記憶部212(物理アドレステーブル212H)に登録される。そして、読み出し動作が終わった後に、物理アドレステーブル212Hに基づいて、読み出し電圧テーブル212Cに格納された読み出し電圧設定値が変更される。このように、リードコマンド処理が終わった後に、読み出し電圧の変更処理が行われることにより、リードコマンド処理自体に要する処理時間の増大を抑えることができる。 In this modification, when it is decided to change the read voltage, the physical address corresponding to the memory cell MC to be read is registered in the storage unit 212 (physical address table 212H) as read voltage change information. After the read operation is finished, the read voltage setting value stored in the read voltage table 212C is changed based on the physical address table 212H. In this way, by performing the read voltage changing process after the read command process is completed, it is possible to suppress an increase in the processing time required for the read command process itself.
 なお、本変形例において、アドレス変換テーブル212Aの代わりに、例えば、図12に示したようなアドレス変換テーブル212D、および図13に示したようなタグテーブル212Eが設けられていてもよい。この場合、ステップS208において、メモリ制御部213は、誤ったビット数が所定の数nよりも大きい場合には(ステップS508;Y)、読み出し対象のセクションに対する次回以降の読み出し電圧の変更を決定する。このとき、メモリ制御部213は、読み出し対象のセクションに割り当てられた物理アドレスを、読み出し電圧変更対象の物理アドレスとして、物理アドレステーブル212Hに登録する(ステップS509)。このようにした場合には、メモリセルMCに対する書き込み回数の増加に伴う動作電圧の低下に起因する読み出し不良の発生が低減される。従って、読み出し不良の原因に応じた読み出し処理を行うことができる。 Note that in this modification, for example, an address conversion table 212D as shown in FIG. 12 and a tag table 212E as shown in FIG. 13 may be provided instead of the address conversion table 212A. In this case, in step S208, if the number of erroneous bits is greater than the predetermined number n (step S508; Y), the memory control unit 213 determines a change in the read voltage for the section to be read from next time onwards. . At this time, the memory control unit 213 registers the physical address assigned to the section to be read in the physical address table 212H as the physical address to be changed in the read voltage (step S509). In this case, the occurrence of read failures due to a decrease in operating voltage due to an increase in the number of writes to the memory cell MC is reduced. Therefore, read processing can be performed depending on the cause of the read failure.
 本変形例では、読み出し電圧の変更が決定された場合には、読み出し対象のメモリセルMCに対応する物理アドレスが読み出し電圧変更情報として記憶部212(物理アドレステーブル212H)に登録される。そして、読み出し動作が終わった後に、物理アドレステーブル212Hに基づいて、読み出し電圧テーブル212Cに格納された読み出し電圧設定値が変更される。このように、リードコマンド処理が終わった後に、読み出し電圧の変更処理が行われることにより、リードコマンド処理自体に要する処理時間の増大を抑えることができる。 In this modification, when it is decided to change the read voltage, the physical address corresponding to the memory cell MC to be read is registered in the storage unit 212 (physical address table 212H) as read voltage change information. After the read operation is finished, the read voltage setting value stored in the read voltage table 212C is changed based on the physical address table 212H. In this way, by performing the read voltage changing process after the read command process is completed, it is possible to suppress an increase in the processing time required for the read command process itself.
 以上、実施の形態を挙げて本技術を説明したが、本開示は上記実施の形態に限定されるものではなく、種々変形が可能である。なお、本明細書中に記載された効果は、あくまで例示である。本開示の効果は、本明細書中に記載された効果に限定されるものではない。本開示が、本明細書中に記載された効果以外の効果を持っていてもよい。 Although the present technology has been described above with reference to the embodiments, the present disclosure is not limited to the above embodiments, and various modifications are possible. Note that the effects described in this specification are merely examples. The effects of the present disclosure are not limited to the effects described herein. The present disclosure may have advantages other than those described herein.
 また、例えば、本開示は以下のような構成を取ることができる。
(1)
 不揮発性メモリセルアレイユニットに対する読み出し動作を制御するメモリコントローラであって、
 前記不揮発性メモリセルアレイユニットは、複数のメモリセルを含み、
 各前記メモリセルは、抵抗値の高低の状態により1ビットの情報を記録する記憶素子と、前記記憶素子に直列に接続された選択素子とを有し、
 当該メモリコントローラは、
 前記複数のメモリセルのうちの一部である複数の第1メモリセルから読み出した誤り訂正符号付きの第1データと、前記第1データに対して前記誤り訂正符号を用いた誤り訂正を行うことにより得られた第2データとに基づいて、高抵抗状態に対応する情報を低抵抗状態に対応する情報として誤って読み出したビット数を検出する検出部と、
 前記検出部で検出された前記ビット数に基づいて、前記複数の第1メモリセルに対して印加する読み出し電圧の変更要否を決定する制御部と
 を備えた
 メモリコントローラ。
(2)
 物理アドレスと読み出し電圧設定値との対応関係を示す設定情報を含む記憶部を更に備え、
 前記制御部は、前記読み出し電圧の変更を決定した場合には、前記記憶部に格納された、前記複数の第1メモリセルの前記物理アドレスに対応する読み出し電圧設定値を変更する
 (1)に記載のメモリコントローラ。
(3)
 複数の物理アドレスをまとめた1つのセクションごとに物理アドレスと論理アドレスとが互いに対応付けられた設定情報を含む記憶部を更に備え、
 前記制御部は、前記読み出し電圧の変更を決定した場合には、前記記憶部に格納された、前記複数の第1メモリセルの前記セクションに対応する読み出し電圧設定値を変更する
 (1)または(2)に記載のメモリコントローラ。
(4)
 物理アドレスと読み出し電圧設定値との対応関係を示す設定情報と、読み出し電圧変更情報とを含む記憶部を更に備え、
 前記制御部は、前記読み出し電圧の変更を決定した場合には、前記複数の第1メモリセルの前記物理アドレスを前記読み出し電圧変更情報として前記記憶部に格納し、読み出し動作が終わった後に、前記読み出し電圧変更情報に基づいて、前記記憶部に格納された読み出し電圧設定値を変更する
 (1)または(2)に記載のメモリコントローラ。
(5)
 複数の物理アドレスをまとめた1つのセクションごとに、物理アドレスと論理アドレスとが互いに対応付けられた設定情報を含む記憶部を更に備え、
 前記制御部は、前記読み出し電圧の変更を決定した場合には、前記複数の第1メモリセルの前記セクションに割り当てられた物理アドレスを前記読み出し電圧変更情報として前記記憶部に格納し、読み出し動作が終わった後に、前記読み出し電圧変更情報に基づいて、前記記憶部に格納された読み出し電圧設定値を変更する
 (1)または(3)に記載のメモリコントローラ。
(6)
 前記記憶素子は、相変化メモリ(Phase Change Memory;PCM)である
 (1)ないし(5)のいずれか1つに記載のメモリコントローラ。
(7)
 不揮発性メモリセルアレイユニットと、
 前記不揮発性メモリセルアレイユニットに対する読み出し動作を制御するメモリコントローラと
 を備え、
 前記不揮発性メモリセルアレイユニットは、複数のメモリセルを含み、
 各前記メモリセルは、抵抗値の高低の状態により1ビットの情報を記録する記憶素子と、前記記憶素子に直列に接続された選択素子とを有し、
 前記メモリコントローラは、
 前記複数のメモリセルのうちの一部である複数の第1メモリセルから読み出した誤り訂正符号付きの第1データと、前記第1データに対して前記誤り訂正符号を用いた誤り訂正を行うことにより得られた第2データとに基づいて、高抵抗状態に対応する情報を低抵抗状態に対応する情報として誤って読み出したビット数を検出する検出部と、
 前記検出部で検出された前記ビット数に基づいて、前記複数の第1メモリセルに対して印加する読み出し電圧の変更要否を決定する制御部と
 を有する
 メモリ装置。
Further, for example, the present disclosure can take the following configuration.
(1)
A memory controller that controls a read operation for a nonvolatile memory cell array unit,
The nonvolatile memory cell array unit includes a plurality of memory cells,
Each of the memory cells has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element,
The memory controller is
performing error correction using the error correction code on first data with an error correction code read from a plurality of first memory cells that are a part of the plurality of memory cells, and on the first data; a detection unit that detects the number of bits in which information corresponding to a high resistance state is incorrectly read as information corresponding to a low resistance state, based on the second data obtained by;
A control section that determines whether or not a read voltage applied to the plurality of first memory cells needs to be changed based on the number of bits detected by the detection section.
(2)
further comprising a storage unit containing setting information indicating a correspondence relationship between the physical address and the read voltage setting value,
(1) When the control unit determines to change the read voltage, the control unit changes the read voltage setting value corresponding to the physical address of the plurality of first memory cells stored in the storage unit. Memory controller as described.
(3)
further comprising a storage unit containing setting information in which physical addresses and logical addresses are associated with each other for each section in which a plurality of physical addresses are grouped;
When the control unit determines to change the read voltage, the control unit changes a read voltage setting value corresponding to the section of the plurality of first memory cells stored in the storage unit (1) or ( 2) The memory controller described in 2).
(4)
Further comprising a storage unit including setting information indicating a correspondence relationship between the physical address and the read voltage setting value and read voltage change information,
When the control unit determines to change the read voltage, the control unit stores the physical addresses of the plurality of first memory cells as the read voltage change information in the storage unit, and after the read operation is finished, the control unit stores the physical addresses of the plurality of first memory cells as the read voltage change information, and The memory controller according to (1) or (2), wherein the read voltage setting value stored in the storage unit is changed based on read voltage change information.
(5)
Further comprising a storage unit containing setting information in which the physical addresses and the logical addresses are associated with each other for each section including a plurality of physical addresses,
When the control unit determines to change the read voltage, the control unit stores the physical address assigned to the section of the plurality of first memory cells as the read voltage change information in the storage unit, and performs the read operation. The memory controller according to (1) or (3), wherein the read voltage setting value stored in the storage unit is changed based on the read voltage change information after the read voltage change information is completed.
(6)
The memory controller according to any one of (1) to (5), wherein the memory element is a phase change memory (PCM).
(7)
a nonvolatile memory cell array unit,
a memory controller that controls a read operation for the nonvolatile memory cell array unit;
The nonvolatile memory cell array unit includes a plurality of memory cells,
Each of the memory cells has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element,
The memory controller includes:
performing error correction using the error correction code on first data with an error correction code read from a plurality of first memory cells that are a part of the plurality of memory cells, and on the first data; a detection unit that detects the number of bits in which information corresponding to a high resistance state is incorrectly read as information corresponding to a low resistance state, based on the second data obtained by;
and a control section that determines whether or not a read voltage applied to the plurality of first memory cells needs to be changed based on the number of bits detected by the detection section.
 本開示の一側面に係るメモリ装置およびメモリ制御方法では、誤り訂正によって得られた情報に基づいて、高抵抗状態に対応する情報を低抵抗状態に対応する情報として誤って読み出したビット数が検出され、検出されたビット数に基づいて、読み出し電圧の変更要否が決定される。これにより、メモリセルに対する書き込み回数の増加に伴う動作電圧の低下に起因する読み出し不良の発生を低減することができる。従って、読み出し不良の原因に応じた読み出し処理を行うことができる。 In a memory device and a memory control method according to an aspect of the present disclosure, the number of bits that have been incorrectly read as information corresponding to a high resistance state as information corresponding to a low resistance state is detected based on information obtained by error correction. Based on the detected number of bits, it is determined whether or not the read voltage needs to be changed. As a result, it is possible to reduce the occurrence of reading failures caused by a decrease in operating voltage due to an increase in the number of times of writing to a memory cell. Therefore, read processing can be performed depending on the cause of the read failure.
 本出願は、日本国特許庁において2022年3月22日に出願された日本特許出願番号第2022-045965号を基礎として優先権を主張するものであり、この出願のすべての内容を参照によって本出願に援用する。 This application claims priority based on Japanese Patent Application No. 2022-045965 filed at the Japan Patent Office on March 22, 2022, and all contents of this application are incorporated herein by reference. Incorporate it into your application.
 当業者であれば、設計上の要件や他の要因に応じて、種々の修正、コンビネーション、サブコンビネーション、および変更を想到し得るが、それらは添付の請求の範囲やその均等物の範囲に含まれるものであることが理解される。
 
Various modifications, combinations, subcombinations, and changes may occur to those skilled in the art, depending on design requirements and other factors, which may come within the scope of the appended claims and their equivalents. It is understood that the

Claims (7)

  1.  不揮発性メモリセルアレイユニットに対する読み出し動作を制御するメモリコントローラであって、
     前記不揮発性メモリセルアレイユニットは、複数のメモリセルを含み、
     各前記メモリセルは、抵抗値の高低の状態により1ビットの情報を記録する記憶素子と、前記記憶素子に直列に接続された選択素子とを有し、
     当該メモリコントローラは、
     前記複数のメモリセルのうちの一部である複数の第1メモリセルから読み出した誤り訂正符号付きの第1データと、前記第1データに対して前記誤り訂正符号を用いた誤り訂正を行うことにより得られた第2データとに基づいて、高抵抗状態に対応する情報を低抵抗状態に対応する情報として誤って読み出したビット数を検出する検出部と、
     前記検出部で検出された前記ビット数に基づいて、前記複数の第1メモリセルに対して印加する読み出し電圧の変更要否を決定する制御部と
     を備えた
     メモリコントローラ。
    A memory controller that controls a read operation for a nonvolatile memory cell array unit,
    The nonvolatile memory cell array unit includes a plurality of memory cells,
    Each of the memory cells has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element,
    The memory controller is
    performing error correction using the error correction code on first data with an error correction code read from a plurality of first memory cells that are a part of the plurality of memory cells, and on the first data; a detection unit that detects the number of bits in which information corresponding to a high resistance state is incorrectly read as information corresponding to a low resistance state, based on the second data obtained by;
    A control section that determines whether or not a read voltage applied to the plurality of first memory cells needs to be changed based on the number of bits detected by the detection section.
  2.  物理アドレスと読み出し電圧設定値との対応関係を示す設定情報を含む記憶部を更に備え、
     前記制御部は、前記読み出し電圧の変更を決定した場合には、前記記憶部に格納された、前記複数の第1メモリセルの前記物理アドレスに対応する読み出し電圧設定値を変更する
     請求項1に記載のメモリコントローラ。
    further comprising a storage unit containing setting information indicating a correspondence relationship between the physical address and the read voltage setting value,
    The control unit changes the read voltage setting value corresponding to the physical address of the plurality of first memory cells stored in the storage unit when determining to change the read voltage. Memory controller as described.
  3.  複数の物理アドレスをまとめた1つのセクションごとに物理アドレスと論理アドレスとが互いに対応付けられた設定情報を含む記憶部を更に備え、
     前記制御部は、前記読み出し電圧の変更を決定した場合には、前記記憶部に格納された、前記複数の第1メモリセルの前記セクションに対応する読み出し電圧設定値を変更する
     請求項1に記載のメモリコントローラ。
    further comprising a storage unit containing setting information in which physical addresses and logical addresses are associated with each other for each section in which a plurality of physical addresses are grouped;
    The control unit changes a read voltage setting value corresponding to the section of the plurality of first memory cells stored in the storage unit when determining to change the read voltage. memory controller.
  4.  物理アドレスと読み出し電圧設定値との対応関係を示す設定情報と、読み出し電圧変更情報とを含む記憶部を更に備え、
     前記制御部は、前記読み出し電圧の変更を決定した場合には、前記複数の第1メモリセルの前記物理アドレスを前記読み出し電圧変更情報として前記記憶部に格納し、読み出し動作が終わった後に、前記読み出し電圧変更情報に基づいて、前記記憶部に格納された読み出し電圧設定値を変更する
     請求項1に記載のメモリコントローラ。
    Further comprising a storage unit including setting information indicating a correspondence relationship between the physical address and the read voltage setting value and read voltage change information,
    When the control unit determines to change the read voltage, the control unit stores the physical addresses of the plurality of first memory cells as the read voltage change information in the storage unit, and after the read operation is finished, the control unit stores the physical addresses of the plurality of first memory cells as the read voltage change information, and The memory controller according to claim 1, wherein the read voltage setting value stored in the storage unit is changed based on read voltage change information.
  5.  複数の物理アドレスをまとめた1つのセクションごとに、物理アドレスと論理アドレスとが互いに対応付けられた設定情報を含む記憶部を更に備え、
     前記制御部は、前記読み出し電圧の変更を決定した場合には、前記複数の第1メモリセルの前記セクションに割り当てられた物理アドレスを前記読み出し電圧変更情報として前記記憶部に格納し、読み出し動作が終わった後に、前記読み出し電圧変更情報に基づいて、前記記憶部に格納された読み出し電圧設定値を変更する
     請求項1に記載のメモリコントローラ。
    Further comprising a storage unit containing setting information in which the physical addresses and the logical addresses are associated with each other for each section including a plurality of physical addresses,
    When the control unit determines to change the read voltage, the control unit stores the physical address assigned to the section of the plurality of first memory cells as the read voltage change information in the storage unit, and performs the read operation. The memory controller according to claim 1, wherein the read voltage setting value stored in the storage unit is changed based on the read voltage change information after the read voltage change information is completed.
  6.  前記記憶素子は、相変化メモリ(Phase Change Memory;PCM)である
     請求項1に記載のメモリコントローラ。
    The memory controller according to claim 1, wherein the memory element is a phase change memory (PCM).
  7.  不揮発性メモリセルアレイユニットと、
     前記不揮発性メモリセルアレイユニットに対する読み出し動作を制御するメモリコントローラと
     を備え、
     前記不揮発性メモリセルアレイユニットは、複数のメモリセルを含み、
     各前記メモリセルは、抵抗値の高低の状態により1ビットの情報を記録する記憶素子と、前記記憶素子に直列に接続された選択素子とを有し、
     前記メモリコントローラは、
     前記複数のメモリセルのうちの一部である複数の第1メモリセルから読み出した誤り訂正符号付きの第1データと、前記第1データに対して前記誤り訂正符号を用いた誤り訂正を行うことにより得られた第2データとに基づいて、高抵抗状態に対応する情報を低抵抗状態に対応する情報として誤って読み出したビット数を検出する検出部と、
     前記検出部で検出された前記ビット数に基づいて、前記複数の第1メモリセルに対して印加する読み出し電圧の変更要否を決定する制御部と
     を有する
     メモリ装置。
    a nonvolatile memory cell array unit,
    a memory controller that controls a read operation for the nonvolatile memory cell array unit;
    The nonvolatile memory cell array unit includes a plurality of memory cells,
    Each of the memory cells has a memory element that records one bit of information depending on the state of high or low resistance value, and a selection element connected in series to the memory element,
    The memory controller includes:
    performing error correction using the error correction code on first data with an error correction code read from a plurality of first memory cells that are a part of the plurality of memory cells, and on the first data; a detection unit that detects the number of bits in which information corresponding to a high resistance state is incorrectly read as information corresponding to a low resistance state, based on the second data obtained by;
    and a control section that determines whether or not a read voltage applied to the plurality of first memory cells needs to be changed based on the number of bits detected by the detection section.
PCT/JP2023/008414 2022-03-22 2023-03-06 Memory controller and memory device WO2023181892A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022045965 2022-03-22
JP2022-045965 2022-03-22

Publications (1)

Publication Number Publication Date
WO2023181892A1 true WO2023181892A1 (en) 2023-09-28

Family

ID=88100721

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/008414 WO2023181892A1 (en) 2022-03-22 2023-03-06 Memory controller and memory device

Country Status (1)

Country Link
WO (1) WO2023181892A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221536A (en) * 2011-04-12 2012-11-12 Sharp Corp Semiconductor storage device
JP2012256392A (en) * 2011-06-09 2012-12-27 Sharp Corp Semiconductor storage device
JP2018160065A (en) * 2017-03-22 2018-10-11 東芝メモリ株式会社 Memory system
JP2018163720A (en) * 2017-03-24 2018-10-18 東芝メモリ株式会社 Memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221536A (en) * 2011-04-12 2012-11-12 Sharp Corp Semiconductor storage device
JP2012256392A (en) * 2011-06-09 2012-12-27 Sharp Corp Semiconductor storage device
JP2018160065A (en) * 2017-03-22 2018-10-11 東芝メモリ株式会社 Memory system
JP2018163720A (en) * 2017-03-24 2018-10-18 東芝メモリ株式会社 Memory system

Similar Documents

Publication Publication Date Title
US7907441B2 (en) Data management method and mapping table update method in non-volatile memory device
JP4344011B2 (en) Nonvolatile storage device
US8339833B2 (en) Electrically rewritable nonvolatile semiconductor storage device including a variable resistive element
US20190051353A1 (en) Resistive memory device and resistive memory system including a plurality of layers, and method of operating the system
US20110066878A1 (en) Non-volatile semiconductor storage device
CN108305655B (en) Memory device including resistive material and driving method thereof
KR102292643B1 (en) Resistive Memory Device, Resistive Memory System and Operating Method thereof
US10672472B2 (en) Memory controller and memory system for suppression of fluctuation of voltage drop
JP7097792B2 (en) Memory device and its operation method
US7864579B2 (en) Integrated circuits having a controller to control a read operation and methods for operating the same
KR20150116270A (en) Nonvolatile memory device and memory system including the same, and method for driving nonvolatile memory device
US20120155162A1 (en) Semiconductor storage apparatus or semiconductor memory module
US9003242B2 (en) Semiconductor memory device and method of controlling the same
CN108281167B (en) Memory device having resistance change material and method of operating the same
US11636895B2 (en) Non-volatile resistive memory device including a plurality of write modes
US11307918B2 (en) Memory controller performing recovery operation, operating method of the same, and memory system including the same
WO2023181892A1 (en) Memory controller and memory device
US20180322940A1 (en) Memory system and operation method of the same
JP2019139827A (en) Semiconductor memory device
JP7061230B2 (en) Dedicated command for memory operation
WO2023162804A1 (en) Memory device and memory control method
CN112447205A (en) Semiconductor memory device with a plurality of memory cells
TW202137218A (en) Methods and systems for accessing memory cells
CN114596902A (en) High-speed memristor programming system and method based on error correcting codes

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23774491

Country of ref document: EP

Kind code of ref document: A1