WO2016174744A1 - 不揮発性メモリの制御方法、制御装置、および半導体記憶装置 - Google Patents

不揮発性メモリの制御方法、制御装置、および半導体記憶装置 Download PDF

Info

Publication number
WO2016174744A1
WO2016174744A1 PCT/JP2015/062853 JP2015062853W WO2016174744A1 WO 2016174744 A1 WO2016174744 A1 WO 2016174744A1 JP 2015062853 W JP2015062853 W JP 2015062853W WO 2016174744 A1 WO2016174744 A1 WO 2016174744A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
memory
logical address
control circuit
write
Prior art date
Application number
PCT/JP2015/062853
Other languages
English (en)
French (fr)
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 株式会社日立製作所
Priority to JP2017515329A priority Critical patent/JP6360627B2/ja
Priority to PCT/JP2015/062853 priority patent/WO2016174744A1/ja
Priority to US15/566,854 priority patent/US10388369B2/en
Publication of WO2016174744A1 publication Critical patent/WO2016174744A1/ja

Links

Images

Classifications

    • 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
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • 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
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0097Erasing, e.g. resetting, circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • 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
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0078Write using current through the cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/75Array having a NAND structure comprising, for example, memory cells in series or memory elements in series, a memory element being a memory cell in parallel with an access transistor

Definitions

  • the present invention relates to a semiconductor device, and more particularly to a semiconductor device provided with a nonvolatile memory device.
  • phase change memory using a chalcogenite material as a recording material has been actively studied as a nonvolatile memory device.
  • a phase change memory is a type of resistance change memory that stores information by utilizing the fact that recording materials between electrodes have different resistance states.
  • phase change memory information is stored by utilizing the fact that the resistance value of a phase change material such as Ge 2 Sb 2 Te 5 is different between an amorphous state and a crystalline state. In the amorphous state, the resistance is high (high resistance state), and in the crystal state, the resistance is low (low resistance state). Therefore, reading of information from the phase change memory is realized by applying a potential difference to both ends of the element, measuring the current flowing through the element, and determining the high resistance state / low resistance state of the element.
  • a phase change material such as Ge 2 Sb 2 Te 5
  • the data is rewritten by changing the electric resistance of the phase change film formed of the phase change material to a different state by Joule heat generated by current.
  • FIG. 19 is a diagram showing the relationship between the pulse width and temperature required for the phase change of the resistive memory element using the phase change material.
  • the vertical axis represents temperature and the horizontal axis represents time.
  • the memory information “1” when the memory information “1” is written, it is sufficient to keep the memory element in a temperature region lower than the melting point Ta but higher than the crystallization temperature Tx (same or higher than the glass transition temperature).
  • a set pulse is applied for a long time so that a proper current flows.
  • the chalcogenide material is in a low-resistance polycrystalline state.
  • Patent Document 1 discloses a nonvolatile memory having a three-dimensional structure.
  • Patent Documents 1 and 3 show a configuration in which memory cells each including a variable resistance element and a transistor connected in parallel thereto are connected in series in the stacking direction.
  • Patent Document 2 shows a configuration in which memory cells each including a variable resistance element and a diode connected in series to the variable resistance element are connected in series with a conductive wire interposed in the stacking direction.
  • the two memory cells can be collectively processed. Thus, the write operation is performed.
  • Patent Document 3 discloses a method of erasing data in N ⁇ M three-dimensional memory cell arrays at once. Further, it is shown that a thermal buffer region is provided so that Joule heat during the erase operation does not greatly affect the crystal state of peripheral memory cells adjacent to the memory cell array to be erased.
  • Patent Document 4 discloses a non-volatile memory in which a controller selects one of memory units according to a workload index.
  • the present inventors examined a method for controlling a NAND flash memory used for storage such as an SSD (Solid State Drive) or a memory card. In addition, a control method using resistance change memory was examined.
  • a NAND flash memory used for storage such as an SSD (Solid State Drive) or a memory card.
  • a control method using resistance change memory was examined.
  • garbage collection operation starts when the free area (the number of erased blocks) becomes a predetermined value or less. In order to increase the number of erased blocks by one by this garbage collection operation, it is necessary to select at least two blocks (the following memory areas A and B).
  • the SSD reads currently valid data (pages) from the already written 1 Mbyte nonvolatile memory areas A and B, collects these data, and writes them to the RAM. Next, the nonvolatile memory areas A and B are erased.
  • the data written in the RAM is collectively written in the nonvolatile memory area A.
  • the 1-Mbyte nonvolatile memory area B becomes an erased memory area, and new data can be written to the nonvolatile memory area B.
  • garbage collection is conventionally performed in a memory in which the erase unit and the write unit are different in size and cannot be overwritten.
  • this garbage collection operation causes data movement from one nonvolatile memory area to another nonvolatile memory area within the SSD.
  • the write and data requested from the host controller to the SSD The read request cannot be executed, and the performance of the SSD deteriorates.
  • An object of the present invention is to provide a semiconductor device that achieves high performance and high reliability.
  • One aspect of the present invention is a method for controlling a nonvolatile memory in which an erase unit and a write unit are different.
  • the physical address of the non-volatile memory is assigned to a predetermined unit of logical address, and the size of the erase unit including the physical address assigned to the logical address according to the write access status for the predetermined unit of logical address. To control.
  • the specific definition of the erasure unit is “one area for managing the number of erasures”, “area erased with one erase command” or “erase with one erase command” It becomes an area that is an integral multiple of "area”. In this specification, this may be called a block.
  • the erase count for each block is managed by an erase count table or the like.
  • the write access status can be normalized using at least one of the average write data amount of all logical addresses and the number of write accesses of all logical addresses.
  • the size of the erase unit can be controlled in consideration of the status of read access to a predetermined unit of logical address.
  • the amount of the provisional area included in the allocated physical address can be controlled according to the status of write access to a predetermined unit of logical address.
  • Another aspect of the present invention is a non-volatile memory control device that controls various non-volatile memories by the above method.
  • An example of a non-volatile memory control device is a control circuit that allocates a physical address of a non-volatile memory to a logical address and accesses the physical address, and the control circuit is based on an access status to the logical address.
  • the size of the erase unit block including the physical address corresponding to the logical address is dynamically changed.
  • Another aspect of the present invention is a semiconductor memory device including a nonvolatile memory and a control circuit that assigns a physical address to an input logical address and accesses the physical address of the nonvolatile memory.
  • the control circuit is characterized in that writing is performed by dynamically changing the block size of the block including the physical address of the nonvolatile memory.
  • the control circuit calculates a first feature quantity of a write request input to the control circuit for each logical address, and the block of the block including the physical address of the nonvolatile memory based on the first feature quantity Determine the size.
  • the first feature amount is a feature amount indicating a logical address with high access frequency, for example, and a block size factor described later is a typical example.
  • Another aspect of the present invention is a semiconductor memory device including a nonvolatile memory and a control circuit that assigns a physical address to an input logical address and accesses the physical address of the nonvolatile memory.
  • the control circuit performs writing by dynamically changing the capacity of the physical address with respect to the capacity of the logical address of the nonvolatile memory.
  • the control circuit calculates a second feature quantity of a write request input to the control circuit for each logical address, and based on the second feature quantity, the control circuit calculates the capacity of a logical address area including a plurality of logical addresses.
  • the capacity of a physical address area including a plurality of physical addresses is determined.
  • the second feature amount is, for example, a feature amount indicating how much data of the logical address is written, and a provisional capacity factor described later is a typical example.
  • a specific method for determining the capacity of the physical address area there is an example of changing the provisional capacity described later.
  • a semiconductor device in another aspect of the present invention, includes a nonvolatile memory and a control circuit that accesses the nonvolatile memory.
  • the control circuit calculates the frequency of access to the logical address of the write request input from the outside within a certain period, changes the block size of the nonvolatile memory based on this access frequency, and performs writing.
  • the block size of the block including the physical address corresponding to the logical address with high access frequency is reduced, and the effective data amount in the block is reduced.
  • the control circuit shortens the time for waiting for externally input write and read requests, and the data transfer speed of the semiconductor device is improved.
  • the block can be grasped as an erasing unit when garbage collection is performed.
  • FIG. 1 is a block diagram illustrating a schematic configuration example of an information processing system to which a semiconductor device according to an embodiment of the present invention is applied. It is a block diagram which shows the structural example of the control circuit in FIG.
  • FIG. 2 is a block diagram showing a configuration of a control circuit in the memory module in FIG. 1.
  • FIG. 3 is a block diagram showing a configuration example of nonvolatile memory devices NMV0 to 31 in FIG.
  • FIG. 5 is a circuit diagram illustrating a configuration example of the chain memory array in FIG. 4.
  • FIG. 6 is a circuit diagram showing an operation example of the chain memory array of FIG. 5.
  • FIG. 6 is a circuit diagram showing another operation example of the chain memory array of FIG. 5.
  • FIG. 6 is a circuit diagram showing another operation example of the chain memory array of FIG. 5.
  • the constituent elements are not necessarily indispensable unless otherwise specified or apparently indispensable in principle.
  • the shapes when referring to the shapes, positional relationships, etc. of the components, etc., the shapes are substantially the same unless otherwise specified, or otherwise apparent in principle. And the like are included. The same applies to the above numbers and the like (including the number, numerical value, quantity, range, etc.).
  • the circuit elements constituting each block are not particularly limited, but are formed on a single semiconductor substrate such as single crystal silicon by a known integrated circuit technology such as a CMOS (complementary MOS transistor).
  • CMOS complementary MOS transistor
  • a resistive memory element such as a phase change memory or a ReRAM (Resistive Random Access Memory) is used.
  • FIG. 1 is a block diagram showing a schematic configuration example of an information processing system to which a semiconductor device according to an embodiment of the present invention is applied.
  • the information processing system shown in FIG. 1 includes an information processing device CPUG, a router device ROUTER, control devices DYBS-CTL0 to m, and storage devices STRG0 to STRG0.
  • the information processing device CPUG includes, but is not limited to, information processing circuits CPU0 to CPUn and CPU memory modules MD0 to MDn.
  • Each of the CPU memory modules MD0 to MDn includes memory devices M0 to nn.
  • Each of the storage devices STRG0 to m is provided with nonvolatile memory modules NVMD0 to kMD.
  • Each of the non-volatile memory modules NVMD0 to kMD includes a non-volatile memory device NVM0 to NVM, a random access memory RAM, and a control circuit NVM-CTL that controls the non-volatile memory device and the random access memory.
  • the nonvolatile memory devices NVM0 to NVMp have, for example, the same configuration and performance.
  • Each of the nonvolatile memory devices NVM0 to NVMp of the nonvolatile memory modules NVMD0 to kMD stores an operating system, application programs, and data that operate on the information processing circuits CPU0 to CPUn.
  • the non-volatile memory devices NVM0 to nVMp also include a secondary block size table BLKTBL2 indicating the correspondence of the management block size to the physical address area DPAD of the memory modules NVMD0 to kk managed by the control devices DYBS-CTL0 to m,
  • the secondary address conversion table DLPTBL2 of the physical address DPAD of the memory modules NVMD0 to 31 corresponding to the logical address DLAD is stored.
  • the block size table and the address conversion table are also copied by the control device DYBS-CTL.
  • the table possessed by the control device DYBS-CTL is referred to as a primary table
  • the tables possessed by the nonvolatile memory modules NVMD0 to NVMD are referred to as secondary tables.
  • the logical address LAD from the information processing device CPUG managed by the control circuit NVM-CTL and the physical addresses of the nonvolatile memory devices NVM0 to NVM in the memory modules NVMD0 to k A secondary address conversion table DLPTBL2 that performs correspondence with PAD, an erase count table ERSTBL for each block, and an address map ADMAP are stored.
  • the secondary block size table, the address conversion table, the erase count table, the address map, and the like may be stored in a dedicated memory separately provided in the control circuit or the control device.
  • n, nn, m, p, and k represent natural numbers, respectively.
  • the nonvolatile memory modules NVMD0 to NVMD are not particularly limited, but correspond to, for example, SSD (Solid State Drive).
  • any of the information processing circuits CPU0 to n of the information processing device CPUG is stored in the non-volatile memory devices NVM0 to p of the storage devices STRG0 to m through the router device ROUTER and the control devices DYBS-CTL0 to m
  • the program and data are read out and transferred to the CTL memory modules MD0 to MDn. Thereafter, the information processing circuits CPU0 to CPUn use the data stored in the memory modules MD0 to MDn to execute the operating system and application programs.
  • the nonvolatile memory devices NVM0 to NVM0 in the storage devices STRG0 to m are passed through the router device ROUTER and the control devices DYBS-CTL0 to m. Store to NVMp.
  • the information processing device CPUG manages data stored in the storage devices STRG0 to STRG0 using a logical address (LAD) in units of a minimum of 512 bytes.
  • LAD logical address
  • the router device ROUTER transfers read commands, write commands and data from the information processing device CPUG to the control devices DYBS-CTL0 to m, and transfers data from the control devices DYBS-CTL0 to m to the information processing device CPUG. Device.
  • FIG. 2 shows the configuration of the control device DYBS-CTL.
  • the control devices DYBS-CTL0 to m read the secondary block size table BLKTBL2 stored in the nonvolatile memory devices NVM0 to NVMp of the storage devices STRG0 to m and transfer them to the memory devices MMD in the control devices DYBS-CTL0 to m To do.
  • the memory device MMD has a primary block size table BLKTBL1 that is a copy of the secondary block size table.
  • control devices DYBS-CTL 0 to m are controllers that manage data stored in the storage devices STRG 0 to m with a logical address (LAD) in a minimum 512-byte unit (sector unit).
  • LAD logical address
  • control devices DYBS-CTL0 to m read and write data to and from the memory modules NVMD0 to k through the interface signal HDH_IF in accordance with read and write commands from the information processing device CPUG through the router device ROUTER.
  • control devices DYBS-CTL0 to m determine the physical addresses DPAD of the memory modules NVMD0 to k for the input logical address LAD from the information processing device CPUG through the router device ROUTER, and to the memory modules NVMD0 to k Read and write data.
  • control devices DYBS-CTL0 to m analyze the characteristics of read and write access from the information processing device CPUG, dynamically and optimally change the management block size for the physical address area DPAD of the memory modules NVMD0 to k,
  • the primary block size table BLKTBL1 in the memory device MMD is updated. This improves the performance and reliability of the information processing system.
  • the control circuit NVM-CTL in the memory modules NVMD0 to kMD reads the secondary address conversion table DLPTBL2 stored in the non-volatile memory devices NVM0 to NVM, the erase count table ERSTBL for each block, and the address map ADDMAP.
  • the address conversion table DLPTBL2 and the erase count table ERSTBL for each block are transferred to the memory device RAM in the memory modules NVMD0 to NVk, the address map ADDMAP is read, and transferred to the map register MAPREG.
  • the physical page address PAD of the non-volatile memory devices NVM0 to NVM is written for each block managing the non-volatile memory devices NVM0 to NVM.
  • the physical page address PAD is determined so that the number of times is equalized, and the secondary address conversion table DLPTBL2 is updated.
  • the memory control circuit NVM-CTL When the memory control circuit NVM-CTL reads data from the nonvolatile memory devices NVM0 to NVMp, the memory control circuit NVM-CTL refers to the secondary address conversion table DLPTBL2 and determines the physical address PAD for the logical address LAD. The data stored in the physical address PAD is read out.
  • the memory control circuit NVM-CTL is instructed based on the information of the secondary block size table BLKTBL2 according to an instruction from the control device DYBS-CTL0 to m. Reconstructs the secondary address conversion table DLPTBL2, the erase count table ERSTBL for each block, and the address map ADDMAP. This improves the performance and reliability of the memory modules NVMD0 to kMD.
  • FIG. 2 is a block diagram showing a configuration example of the control devices DYBS-CTL 0 to m in FIG.
  • the control device DYBS-CTL shown in FIG. 2 includes a control block DYBSC and a memory module MMD.
  • the control block DYBSC is composed of an interface circuit HOSTIF, an information processing circuit MNGER, an arbitration circuit ARBC, and interface circuits NVIF0 to k to memory modules NVMD0 to k.
  • the memory module MMD includes memory devices MEM0 to MEMk.
  • a primary block size table BLKTBL1 indicating a block size for each logical address DLAD and a primary address conversion table DLPTBL1 of the physical addresses DPAD of the memory modules NVMD0 to NVK corresponding to the logical address DLAD are stored.
  • the divided logical address DLAD indicates a logical address area including a plurality of logical addresses LAD
  • the physical address DPAD indicates a physical address area including a plurality of physical addresses PAD.
  • a read request (RQ) from the information processing device CPUG is input through the router device ROUTER.
  • the read request (RQ) includes a logical address (LAD), a data read command (RD), a sector count (SEC), and the like.
  • the control device DYBS-CTL refers to the primary address conversion table DLPTBL1 stored in the memory device MMD, reads the physical address DPAD0 corresponding to the divided logical address DLAD including the logical address LAD, and uses this physical address DPAD0 to read the logical address LAD.
  • the memory module NVMD0 storing the data is selected and the read request (RQ) is transferred.
  • the memory module NVMD0 refers to the secondary address conversion table DLPTBL2, and reads data DTAT0 corresponding to the sector count from the data stored in the physical page address PAD corresponding to the logical address LAD.
  • the read data DATA0 is transferred to the control device DYBS-CTL, and further transferred to the information processing device CPUG through the router device ROUTER.
  • a write request (WQ) is input from the information processing device CPUG through the router device ROUTER.
  • the write request (WQ) includes a logical address (LAD), a data write command (WT), a sector count (SEC), and the like.
  • the control device DYBS-CTL refers to the primary address conversion table DLPTBL1 stored in the memory device MMD, reads the physical address DPAD1 corresponding to the logical address DLAD including the logical address LAD, and uses this physical address DPAD1 to read the logical address LAD.
  • the memory module NVMD1 storing the data is selected and the write request (WQ) is transferred.
  • the physical address PAD is determined so as to equalize the number of block writes, and data DTAT1 corresponding to the sector count is written to the physical address PAD. Thereafter, the secondary address conversion table DLPTBL2 is updated to associate the logical address LAD with the latest physical address PAD.
  • FIG. 3 is a block diagram of the memory control circuit NVM-CTL of the memory modules NVMD0 to kMD in FIG.
  • the memory control circuit NVM-CTL includes an interface circuit NVM_IF, an address / command buffer ADCBUF, a data buffer DBUF, a map register MAPREG, an arbitration circuit ARB, an information processing circuit CONTL, a RAM memory control circuit RAMC, and a nonvolatile memory And memory control circuits NVCT0p of the memory devices NVM0 to NVM.
  • the memory control circuit RAMC directly controls the random access memory RAM of FIG. 1, and NVCT0 to p control the nonvolatile memory devices NVM0 to p of FIG. 1 respectively.
  • the data buffer DBUF temporarily stores write data and read data of the nonvolatile memory devices NVM0 to NVM.
  • the address / command buffer ADCBUF temporarily stores a logical address LAD, a data read command (RD), and a data write command (WT) input from the control device DYBS-CTL to the memory control circuit NVM-CTL.
  • the memory device RAM stores a secondary address conversion table DLPTBL2 and an erase count table ERSTBL for each block.
  • map register MAPREG an address map ADDMAP is stored, and correspondence between the X address, Y address, and Z address in the nonvolatile memory devices NVM0 to NVM for each block size is shown.
  • the memory control circuit NVM-CTL Based on the information in the secondary block size table BLKTBL2, the memory control circuit NVM-CTL performs a secondary address conversion table DLPTBL2, an erase count table ERSRSTBL for each block, and an address map ADDMAP according to instructions from the control device DYBS-CTL0 to m. To rebuild. This improves the performance and reliability of the memory modules NVMD0 to kMD.
  • FIG. 4 is a block diagram showing a configuration example of the nonvolatile memory devices NVM0 to NVMp in FIG. 1
  • FIG. 5 is a circuit diagram showing a configuration example of the chain memory array in FIG.
  • the nonvolatile memory device shown in FIG. 4 corresponds to each of the nonvolatile memory devices NVM0 to NVMp of FIG. 1, and here, as an example, a phase change type nonvolatile memory (phase change memory) is used. However, it may be a flash memory or other resistance change type memory.
  • the nonvolatile memory device includes a clock generation circuit SYMD, a status register STREG, an erase size designation register NVREG, an address / command interface circuit ADCMDIF, an IO buffer IOBUF, a control circuit CTLOG, a temperature sensor THMO, a data control circuit DATCTL, and memory banks BK0 to BK3. Is provided.
  • the various peripheral circuits include a row address latch RADLT, a column address latch CADLT, a row decoder ROWDEC, a column decoder COLDEC, a chain selection address latch CHLT, a chain decoder CHDEC, a data selection circuit DSW1, and data buffers DBUF0 and DBUF1.
  • the interface for operating the nonvolatile memory device shown in FIG. 4 employs a memory interface such as a NAND flash memory interface or a DRAM interface, the compatibility of the interface with the conventional system can be maintained, which is convenient.
  • a good nonvolatile memory device can be provided.
  • the block size that can be erased by one command is not physically fixed, and can be easily changed as a control management unit by the memory control circuit NVM-CTL. It is. Therefore, by analyzing the characteristics of access to the memory module NVMD of the information processing device CPUG and dynamically optimizing the block size of the nonvolatile memory device, the performance and reliability of the information processing system can be improved.
  • each chain memory array CY has a configuration in which a plurality of phase change memory cells CL0 to CLn are connected in series, one end of which is connected to a word line WL via a chain selection transistor Tch2. The other end is connected to the bit line BL via chain selection transistors Tch0 and Tch1.
  • the plurality of phase change memory cells CL0 to CLn are sequentially stacked in the height direction with respect to the semiconductor substrate and are connected in series.
  • Each phase change memory cell CL includes a variable resistance type storage element R and a memory cell selection transistor Tcl connected in parallel thereto.
  • the memory element R is made of, for example, a chalcogenide material.
  • two chain memory arrays CY share the chain selection transistor Tch2, and the chain memory transistors Tch0, 1, 2 in each chain memory array are connected by the chain memory array selection lines SL0, SL1, SL2. Each is controlled, and one of the chain memory arrays is thereby selected.
  • the memory cell selection lines LY (LY0 to LYn) are connected to the gate electrodes of the corresponding phase change memory cells, and the memory cell selection lines LY cause the memory cell selection transistors Tcl in the phase change memory cells CL0 to CLn, respectively. And each phase change memory cell is appropriately selected.
  • the chain memory array selection lines SL0, SL1, and SL2 and the memory cell selection lines LY0 to LYn are appropriately driven as the chain control line CH via the chain selection address latch CHLT and the chain decoder CHDEC in FIG.
  • the control circuit CTLOG receives the control signal CTL via the address / command interface circuit ADCMDIF.
  • the control signal CTL is not particularly limited.
  • the command latch enable signal (CLE), the chip enable signal (CEB), the address latch signal (ALE), the write enable signal (WEB), the read enable signal (REB), A write instruction or a read instruction is issued by a combination of these including a ready busy signal (RBB).
  • the control circuit CTLOG receives the input / output signal IO through the IO buffer IOBUF together with the control signal CTL.
  • the input / output signal IO includes an address signal
  • the control circuit CTLOG extracts a row address and a column address from the address signal.
  • the control circuit CTLOG appropriately generates an internal address based on the row address, the column address, and a predetermined write / read unit, and transmits the internal address to the row address latch RADLT, the column address latch CADLT, and the chain selection address latch CHLT, respectively. To do.
  • the row decoder ROWDEC receives the output of the row address latch RADLT and selects the word lines WL0 to WLk
  • the chain decoder CHDEC receives the output of the chain selection address latch CHLT and selects the chain control line CH. When a read command is input by the control signal CTL, data is read from the chain memory array CY selected by the combination of the word line, bit line, and chain control line described above via the bit line selection circuits BSW0 to BSWm.
  • the read data is amplified by the sense amplifiers SA0 to SAm and transmitted to the data buffer DBUF0 (or DBUF1) via the data selection circuit DSW1.
  • the data on the data buffer DBUF0 (or DBUF1) is sequentially transmitted to the input / output signal IO via the data control circuit DATCTL and the IO buffer IOBUF.
  • a write command is input by the control signal CTL
  • a data signal is transmitted to the input / output signal IO following the address signal described above, and the data signal is sent to the data buffer DBUF0 (or via the data control circuit DATCTL).
  • DBUF1 A data signal on the data buffer DBUF0 (or DBUF1) is selected by a combination of the above-described word line, bit line, and chain control line via the data selection circuit DSW1, write drivers WDR0 to WDRm, and bit line selection circuits BSW0 to BSWm. Is written to the chain memory array CY.
  • the write data verification circuits WV0 to WVm verify whether the write level has reached a sufficient level while appropriately reading the written data through the sense amplifiers SA0 to SAm.
  • the write operation is performed again using the write drivers WDR0 to WDRm until it reaches.
  • the current I0 is changed from the word line WL0 to the chain selection transistor Tch2, the variable resistance memory element R0, the memory cell selection transistors Tcl1 to Tcln, and the chain selection. It flows to the bit line BL0 via the transistor Tch1.
  • the variable resistance memory element R0 has a high resistance.
  • the current I0 is controlled in the form of the Set current pulse shown in FIG. 14, so that the variable resistance memory element R0 has a low resistance.
  • Data “1” and “0” are distinguished by the difference in resistance value of the variable resistance memory elements R0 to Rn.
  • the writing speed can be improved by flowing the current I0 to the plurality of bit lines BL0_0, BL0_1 to BL0_m.
  • data “1” is recorded when the variable resistance memory element becomes low resistance, and data “0” is recorded when it becomes high resistance.
  • a current is applied through the same path as the data writing so that the resistance value of the variable resistance memory element R0 does not change.
  • a voltage value corresponding to the resistance value of the variable resistance memory element R0 is detected by a sense amplifier (SA0 in FIG. 4 in this example), and data “0” and “1” are determined.
  • a plurality of sense lines can be obtained by applying a current through the same path as the data writing to the extent that the resistance value of the variable resistance memory element R0 does not change through the plurality of bit lines BL0_0 and BL0_1 to BL0_m.
  • Data “0” and “1” are determined by the amplifier (SA0 to SAm in FIG. 4 in this example), and the reading speed can be improved.
  • 7 and 8 are explanatory diagrams showing another example of the operation of the chain memory array of FIG.
  • the current I2 is changed from the word line WL0 to the bit via the chain selection transistor Tch2, the memory cell selection transistors Tcl0 to Tcln, and the chain selection transistor Tch1. Flow to line BL0.
  • the Joule heat due to the current I2 is conducted to the variable resistance memory elements R0 to Rn, and the variable resistance memory elements R0 to Rn collectively have a low resistance.
  • This current I2 is controlled to such a value that the variable resistance memory elements R0 to Rn can collectively reduce the resistance.
  • the word line WL0 becomes High and then the bit line BL0 becomes Low
  • the current I3 changes from the word line WL0 to the chain selection transistor Tch2
  • the memory cell selection transistors Tcl0 to Tcln of both the chain memory arrays CY0 and CY1 It flows to the bit line BL0 via the selection transistors Tch0 and Tch1.
  • the Joule heat due to the current I3 is conducted to the variable resistance memory elements R0 to Rn of both the chain memory arrays CY0 and CY1, and the variable resistance memory elements R0 to Rn collectively have a low resistance.
  • the value of the current I3 is controlled to such a value that the variable resistance storage elements R0 to Rn of both the chain memory arrays CY0 and CY1 are collectively reduced in resistance.
  • the memory cells in the plurality of chain memory arrays can be made low resistance at the same time, and the erase data rate can be improved.
  • control device DYBS-CTL and the memory control circuit NVM-CTL will be described with reference to FIGS.
  • FIG. 9 shows the overall flow of dynamic block size change operation.
  • FIG. 11 and FIG. 12 show detailed operations of Step 1, Step 3 and Step 4 of FIG. 13 and 14 show a primary block size table BLKTBL and a primary address conversion table DLPTBL.
  • the effective period is a sampling period for analyzing access characteristics.
  • Step 1 when a read request (RQ) or a write request (WQ) is input from the information processing device CPUG to the control device DYBS-CTL through the router device ROUTER, Step 1 is executed. In Step 1, Steps 100 to 103 are performed.
  • Step 100 it is determined whether or not the access from the host is a write access. If it is a write access, Step 101 is performed. If it is not a write access, Step 102 is performed. In Step 101, the following is calculated. -Number of write accesses WC for each logical address DLAD -Number of write accesses in all logical address areas WCT -Total write data amount WD for each logical address DLAD -Total write data amount WDT in all logical address areas When Step 101 ends, Step 102 is performed.
  • Step 102 it is determined whether or not the access from the host is a read access. If it is a read access, Step 103 is performed. If it is not a read access, Step 100 is performed. In Step 103, the following is calculated. -Number of read accesses RC for each logical address DLAD -Number of read accesses RCT in all logical address areas -Total read data amount RD for each logical address DLAD ⁇ Total read data amount RDT in all logical address areas When Step 103 ends, Step 2 is performed.
  • Step 2 it is checked whether or not the effective period TC of various calculations executed in Step 101 and Step 103 for the access feature analysis performed in Step 3 has passed the period T1.
  • Step 3 When the effective period T1 has elapsed, Step 3 is performed, and when the effective period T1 has not elapsed, Step 1 is performed.
  • Step 3 the measurement of the valid period TC is stopped, and the characteristics of access are analyzed using the various calculation results in Step 1.
  • Steps 300 to 305 are performed.
  • Step 300 the measurement of the effective period TC is temporarily stopped.
  • Step 301 the following is calculated.
  • AWD total write data amount WD of logical address DLAD / total write access number WC of logical address DLAD
  • Average read data amount per read access of each logical address DLAD ARD: ARD total read data amount RD of logical address DLAD / total read access number RC of logical address DLAD
  • Step 302 the following is calculated.
  • Step 4 is performed after Step 3 ends.
  • the block size for each logical address DLAD is determined using the analysis result in Step 3.
  • Steps 400 to 402 are performed.
  • Step 400 in FIG. Calculate a block size factor BLKFCT and a provisional capacity factor PVFCT for each logical address DLAD.
  • WRT1AVG is the ratio of the capacity of each logical address DLAD to the capacity of the entire logical address area. That is, this is the ratio of the number of times of write access of each logical address DLAD when the write access from the information processing device CPUG occurs to each logical address DLAD on average. Since WCRATE1 is the ratio of the number of write accesses for each logical address DLAD, a large (WCRATE1 / WRT1AVG) means that the number of accesses is concentrated on the logical address above the average, that is, a hot area. Indicates.
  • AWDT is the average write data amount per write access in all logical address areas
  • AWD is the average write data amount per write access of each logical address DLAD.
  • a large (AWDT / AWD) indicates that the data per time written to the logical address is smaller than the average.
  • the block size factor BLKFCT is an index that takes a large value when write access with a small write data size per write access occurs frequently and occurs in the logical address DLAD. is there.
  • BLKFCT when BLKFCT is large, control is performed to reduce the size of the physical address (erase block) corresponding to the logical address.
  • the physical address capacity is slightly larger than the logical address capacity. This margin (for example, about 20%) is called a provisional area.
  • a provisional area By securing the provisional area, it is possible to make it difficult to deplete the usable area even when data is rewritten.
  • the proportion of invalid data in the physical address (erase block) can be adjusted. This is because the physical address valid data does not exceed the logical address capacity, and the physical address can usually have invalid data for the provisional area at the maximum.
  • WDRATE is the ratio of the total write data amount WD of each logical address DLAD to the capacity LCP of each logical address DLAD, and SUM (WDRATE) is the sum of them. Therefore, the provisional capacity factor PVFCT indicates how much data of the logical address is written. As will be described in detail later, in this embodiment, when the PVFCT is large, control is performed to increase the provisional area of the physical address (erase block) corresponding to the logical address.
  • the block size factor BLKFCT of each logical address DLAD is used to determine the block size BLKSIZE of each logical address DLAD.
  • a logical address DLAD having a larger block size factor BLKFCT indicates that a large number of write accesses with a small write data size per write access are frequently generated in the logical address DLAD. . Therefore, by assigning a smaller block size to a logical address DLAD having a larger block size factor BLKFCT, the number of valid physical pages in the block decreases, and data associated with the garbage collection operation performed in the memory module NVMD. The copy amount is reduced. For this reason, since the data copy time is shortened, the waiting time for the read request RQ and the write request WQ from the control device DYBS-CTL is shortened, and the performance is improved.
  • the write access is very frequently performed and concentrated in a specific area in large quantities, in an extreme example, there may be no effective physical page in that area. In such a case, the data copy itself is unnecessary and only the area is erased. If the block size is selected appropriately, the case where the data copy itself becomes unnecessary increases in this way, and it can be expected that the performance is improved.
  • a logical address area with a high access frequency is called a HOT area, and data written here is also called HOT data.
  • a logical address area with low access frequency is called a COLD area, and data written therein is also called COLD data.
  • the determination numerical value of the block size factor BLKFCT value is an example and is not particularly limited, but the block size BLKSIZE is determined by the determination shown below.
  • the provisional capacity factor PVSIZE of each logical address DLAD is determined using the provisional capacity factor PVFCT of each logical address DLAD.
  • the logical address DLAD having a larger value of the provisional capacity factor PVFCT indicates that the amount of write data is larger. Therefore, when the physical address DPAD of the nonvolatile memory having the upper limit of the number of rewrites is assigned to the logical address DLAD, the life of the memory module NVMD determines the life of the information processing system.
  • the logical address DLAD having a larger provisional capacity factor PVFCT needs to have a larger capacity allocated to the logical address DLAD in the provisional area total capacity PVAREA.
  • provisional capacity PVSIZE PVFCT ⁇ provisional area total capacity PVAREA.
  • control device DYBS-CTL creates a primary block size table BLKTBL1 and a primary address conversion table DLPTBL1 indicating the block size using the block size BLKSIZE and the provisional capacity PVSIZE obtained in Step 4. .
  • control devices DYBS-CTL0 to m create the primary block size table BLKTBL1 and the primary address conversion table DLPTBL1
  • the control device DYBS-CTL transfers the primary block size table BLKTBL1 and the primary address conversion table DLPTBL1 to the memory control circuit NVM-CTL, the secondary address conversion table DLPTBL2, and the erase count table ERSTBL for each block. Instructs to create a new address map ADMAP.
  • the memory control circuit NVM-CTL follows the instruction of the control device DYBS-CTL. Based on the information in the primary block size table BLKTBL1 and the primary address translation table DLPTBL1, a secondary address translation table DLPTBL2, an erase count table ERSTBL for each block, and an address map ADMAP are created.
  • control device DYBS-CTL checks whether the memory module NVMD has reached the product life.
  • Step 7 is performed.
  • the memory control circuit NVM-CTL ends the dynamic block size changing operation.
  • Step 7 the measurement of the effective period TC is resumed.
  • control device DYBS-CTL first creates 64 pieces (that is, after the measurement and analysis of the first effective period TC (T1) in FIG. 9 is completed).
  • a primary block size table BLKTBL1 and a primary address conversion table DLPTBL1 corresponding to each logical address DLAD are shown.
  • control device DYBS-CTL is created the second time (that is, after the second effective period TC (T2) is measured and analyzed in FIG. 9).
  • a primary block size table BLKTBL1 and a primary address conversion table DLPTBL1 corresponding to each logical address DLAD are shown.
  • the block size table represents access characteristics for each logical address and physical block specifications based on the access characteristics.
  • DLAD is a logical address
  • WCRATE1 is the ratio of the number of write accesses
  • AWD is the average write data amount per write access of the logical address
  • WDRATE is the total of each logical address DLAD. This is the ratio of the write data amount WD and the capacity LCP of each logical address DLAD.
  • BLKFCT is a block size factor
  • a logical address DLAD having a larger value indicates that a write access with a smaller write data size per write access is frequently generated in the logical address DLAD.
  • BLKSIZE is a block size of the logical address DLAD
  • PVFCT is a provisional capacity factor.
  • the logical address DLAD having a larger value indicates a larger amount of write data.
  • PVSIZE is the provisional capacity.
  • WRT1AVG is the ratio of the capacity of each logical address DLAD to the capacity of the entire logical address area
  • AWDT is the average write data amount per write access in the entire logical address area
  • PVAREA is the total capacity of the provisional area.
  • the address conversion table represents allocation of physical addresses to logical addresses based on the block size table.
  • DPAD is the physical address of the memory module corresponding to the logical address DLAD
  • DPADSIZE is the capacity of the physical address
  • PRAREA is the physical address assigned to the provisional area.
  • the block size table BLKTBL in FIG. Since the logical addresses DLAD0 to 63 have a large number of write accesses with a small write data size per write access, the value of the block size factor BLKFCT is as high as 8.28. It is a value. Therefore, the block size BLKSIZE of the logical addresses DLAD0 to 63 is relatively small 64KB.
  • the logical address DLAD 448 to 511 has a low write frequency with a large write data size per write access, and a small amount of write access occurs, so the value of the block size factor BLKFCT is as low as 0.03. It has become. Therefore, the block size BLKSIZE of the logical addresses DLAD 448 to 511 is relatively large 1024 KB.
  • the value of the provisional capacity factor PVFCT is the highest value of 0.25. Therefore, the provisional capacity PVSIZE of the logical addresses DLAD0 to 63 is the highest value of 32.
  • the value of the provisional capacity factor PVFCT is the lowest value of 0.055. Therefore, the provisional capacity PVSIZE of the logical addresses DLAD 448 to 511 is the lowest value of 7.
  • the physical addresses DPAD assigned to the logical addresses DLAD0 to 63 are DPDA0 to 63 and DPAD512 to 543.
  • the capacity DPADSIZE of the physical address DPAD allocated to the logical addresses DLAD0 to 63 is the largest value 96. This is because the provisional capacity PVSIZE value 32 of the logical addresses DLAD0 to 63 is added to the capacity value 64 of the logical addresses DLAD0 to 64.
  • the physical addresses DPAD assigned to the logical addresses DLAD 448 to 511 are DPDA 448 to 511 and DPAD 631 to 639. That is, the capacity DPADSIZE of the physical address DPAD assigned to the logical addresses DLAD 448 to 511 has the smallest value 71. This is because the value 7 of the provisional capacity PVSIZE of the logical addresses DLAD 448 to 511 is added to the capacity value 64 of the logical addresses DLAD 448 to 511.
  • the block size BLKSIZE of the logical addresses DLAD0 to 63 is 32KB.
  • the value of the block size factor BLKFCT is higher than the block size factor BLKFCT of the logical addresses DLAD0 to 63 in the block size table BLKTBL created by the controller DYBS-CTL for the first time. This indicates that write accesses having a small write data size per write access to the logical addresses DLAD0 to 63 are generated more frequently and in large quantities.
  • the control device DYBS-CTL extracts the write access characteristics for each logical address DLAD, and changes the block size BLKSIZE of the logical addresses DLAD0 to 63 from 64 KB to 32 KB.
  • the value of the block size factor BLKFCT of the logical addresses DLAD 192 to 255 is as low as 0.58. Therefore, the block size BLKSIZE of the logical addresses DLAD 192 to 255 is 512 KB. That is, the value of the block size factor BLKFCT is lower than the block size factor BLKFCT of the logical addresses DLAD 192 to 255 in the block size table BLKTBL created by the controller DYBS-CTL for the first time. This indicates that a write access having a large write data size per write access to the logical addresses DLAD 192 to 255 occurs at a lower frequency.
  • the control device DYBS-CTL extracts the write access characteristics for each logical address DLAD, and changes the block size BLKSIZE of the logical addresses DLAD 192 to 255 from 256 KB to 512 KB.
  • the physical addresses DPAD assigned to the logical addresses DLAD0 to 63 are DPDA0 to 63 and DPAD512 to 564.
  • the capacity DPADSIZE of the physical address DPAD assigned to the logical addresses DLAD0 to 63 is 117.
  • control device DYBS-CTL calculates the write data amount for each logical address DLAD, and increases the capacity DPADSIZE of the physical address DPAD allocated to the logical addresses DLAD0 to 63 from 96 to 117.
  • the physical addresses DPAD assigned to the logical addresses DLAD 192 to 255 are DPDA 192 to 255 and DPAD 611 to 621, respectively. That is, the capacity DPADSIZE of the physical address DPAD assigned to the logical addresses DLAD 192 to 255 is 75.
  • control device DYBS-CTL has a value 11 that is lower than the provisional capacity PVSIZE of the logical addresses DLAD 192 to 255 in the address conversion table DLPTBL created first time.
  • control device DYBS-CTL calculates the write data amount for each logical address DLAD and decreases the capacity DPADSIZE of the physical address DPAD allocated to the logical addresses DLAD 192 to 255 from 18 to 11.
  • the control device DYBS-CTL performs control based on the block size table and the address conversion table, and sets the erase block size and the provisional area of the memory array.
  • N and M can be determined depending on which memory cell array is selected.
  • a thermal buffer region is provided so that Joule heat during the erase operation does not greatly affect the crystal state of the peripheral memory cells adjacent to the memory cell array to be erased.
  • the smaller the erase data unit the greater the ratio of the thermal buffer area and the lower the effective memory capacity.
  • FIG. 15 shows a nonvolatile memory constructed by using the address map ADMAP information created by the memory control circuit NVM-CTL based on the block size table BLKTBL information transferred by the control device DYBS-CTL to the memory control circuit NVM-CTL. It is an example of a block configuration of the memory array of the device NMV, and is an example of a block configuration when the block size is 1024 KB.
  • the non-volatile memory device includes blocks BLK0 to BLKkn + n-1, and an example of the arrangement of the chain memory array CYL and the chain memory array CYH of the memory array ARY in each block is shown.
  • the chain memory array CYL is indicated by a white circle
  • the chain memory array CYH constituting the thermal buffer region is indicated by a black circle.
  • the chain memory array CYL and the chain memory array CYH use the same display method.
  • a large number of these blocks are arranged to constitute a memory array of the nonvolatile memory shown in FIG.
  • the write area WT-AREA in one block is the same as the erase area and is an area in which a plurality of chain memory arrays CYL are physically gathered.
  • the data size of one logical address LAD is 8192 bytes, and the information processing circuit CONTL generates an ECC code for the data DATA and transfers the data DATA to the write area WT-AREA in the block of the memory array of the nonvolatile memory. Write ECC code.
  • One physical address is assigned an 8192-byte data area DATA-AREA for writing data DATA of one logical address LAD and a 1024-byte management area MG-AREA for writing an ECC code for the data DATA. Because In the 1048576-byte write area WT-AREA, physical address data for 128 logical addresses LAD is stored.
  • thermal buffer area WALL is an area where a plurality of chain memory arrays CYH arranged outside the write area WT-AREA are physically gathered.
  • the data of all the memory cells included in all the chain memory arrays CYL in the write area WT-AREA is “1” (Set state: low resistance state). That is, the data is erased all at once, and then only “0” data (reset state: high resistance state) is written for each physical address PAD. For example, when the write area WT-AREA size is 11179648 bytes and the batch erase data size by one erase operation is 576 bytes, 2048 erase operations are sequentially performed in the direction parallel to the Y direction. The data of all the memory cells of WT-AREA is “1” (Set state: low resistance state).
  • the memory array CYH serving as a heat buffer region is structurally a normal memory cell, but is controlled by a control device so that writing and erasing are not performed.
  • the heat buffering area WALL is not formed in the X direction.
  • the device structure since the device structure has a physical space in the Y direction between the blocks BLK, it is not formed because the thermal buffer region WALL is not required in the X direction.
  • a heat buffer region may be provided also in the X direction.
  • FIG. 16 shows a nonvolatile memory constructed by using the address map ADMAP information created by the memory control circuit NVM-CTL based on the block size table BLKTBL information transferred by the control device DYBS-CTL to the memory control circuit NVM-CTL. It is an example of a block configuration of the memory array of the device NMV, and is an example of a block configuration when the block size is 128 KB.
  • the erase data unit and the thermal buffer area WALL are the same as those in FIG.
  • the display method of the chain memory array CYL and the chain memory array CYH is the same as that in FIG.
  • a large number of these blocks are arranged to constitute a memory array of the nonvolatile memory shown in FIG.
  • the write area WT-AREA in one block is the same as the erase area and is an area in which a plurality of chain memory arrays CYL are physically gathered.
  • the writing method and erasing method of the nonvolatile memory by the information processing circuit CONTL are the same as those in FIG.
  • FIG. 17 shows a nonvolatile memory constructed by using the address map ADMAP information created by the memory control circuit NVM-CTL based on the block size table BLKTBL information transferred to the memory control circuit NVM-CTL by the control device DYBS-CTL. It is an example of a block configuration of the memory array of the device NMV, and is an example of a block configuration when the block size is 64 KB.
  • the erase data unit and the thermal buffer area WALL are the same as those in FIG.
  • the display method of the chain memory array CYL and the chain memory array CYH is the same as that in FIG.
  • 9 (X direction) ⁇ 9216 (Y direction) ⁇ 8 ( Z direction) A large number of these blocks are arranged to constitute a memory array of the nonvolatile memory shown in FIG.
  • the write area WT-AREA in one block is the same as the erase area and is an area in which a plurality of chain memory arrays CYL are physically gathered.
  • the writing method and erasing method of the nonvolatile memory by the information processing circuit CONTL are the same as those in FIG.
  • FIG. 18 shows a nonvolatile memory constructed by using the address map ADMAP information created by the memory control circuit NVM-CTL based on the block size table BLKTBL information transferred to the memory control circuit NVM-CTL by the control device DYBS-CTL. It is an example of a block configuration of the memory array of the device NMV, and is an example of a block configuration when the block size is 32 KB.
  • the erase data unit and the thermal buffer area WALL are the same as those in FIG.
  • the display method of the chain memory array CYL and the chain memory array CYH is the same as that in FIG.
  • a large number of these blocks are arranged to constitute a memory array of the nonvolatile memory shown in FIG.
  • the write area WT-AREA in one block is the same as the erase area and is an area in which a plurality of chain memory arrays CYL are physically gathered.
  • the writing method and erasing method of the nonvolatile memory by the information processing circuit CONTL are the same as those in FIG.
  • the memory control circuit NVM-CTL can optimally configure the block size of the memory array of the nonvolatile memory shown in FIG. 4 based on the block size table BLKTBL information.
  • the ratio of the thermal buffer area to the capacity can be suppressed, and the cost and performance of the memory module MD can be reduced.
  • the width in the X direction is changed without changing the width in the Y direction.
  • the method of changing the size is not limited to this, and the width in the Y direction is not limited. May be changed.
  • the control is simple because it is only necessary to change the position of the memory array CYH aligned in the Y direction in order to change the boundary of the blocks aligned in the X direction.
  • the boundary between the blocks arranged in the Y direction uses a physical interval according to the device structure, there is an advantage that it is not necessary to set a heat buffer region. Note that the thermal buffer region may not be provided as long as the device structure can ignore the influence of the thermal buffer.
  • the block size of the logical address can be changed optimally, and the data transfer performance of the semiconductor device can be improved.
  • the capacity of the physical address area for each logical address area can be optimized, and the reliability of the semiconductor device can be improved.
  • the block size of the logical address can be changed optimally, the ratio of the thermal buffer area to the nonvolatile memory capacity can be suppressed, and the cost of the semiconductor device can be reduced. Can be realized.
  • the present invention made by the present inventor has been specifically described based on the embodiment.
  • the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.
  • the above-described embodiment has been described in detail for easy understanding of the present invention, and is not necessarily limited to one having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. .
  • the phase change memory has been mainly described as a representative, but a resistance change type memory including a ReRAM or the like can be similarly applied to obtain the same effect.
  • the description has been given by taking as an example a memory having a three-dimensional structure in which a plurality of memory cells are sequentially stacked in the height direction with respect to the semiconductor substrate.
  • the same effect can be obtained by applying the same to a two-dimensional memory in which one memory cell is arranged.
  • nonvolatile memory device NVMMD ... memory module, PAD ... physical address, PADTBL ... physical address table, PERC ... erase count, PPAD ... physical Fset address, PRNG ... physical address area, PVLD ... valid flag, R ... memory element, RADLT ... row address latch, RAM ... random access memory, RAMC ... memory control circuit, REF_CLK ... reference clock signal, REG ... register, ROWDEC ... Row decoder, RSTSIG ... reset signal, SA ... sense amplifier, SGAD ... physical segment address, SL ... chain memory array selection line, STREG ... status register, SWB ... read / write control block, SYMD ... clock generation circuit, Tch ...

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

消去単位と書き込み単位が異なる不揮発性メモリの制御方法であって、所定単位の論理アドレスに対して不揮発性メモリの物理アドレスを割り当て、所定単位の論理アドレスに対するライトアクセスの状況に応じて、論理アドレスに割り当てられる物理アドレスが含まれる消去単位の大きさを制御することを特徴とする、不揮発性メモリの制御方法が開示される。

Description

不揮発性メモリの制御方法、制御装置、および半導体記憶装置
 本発明は、半導体装置に関し、特に不揮発性メモリ装置を備えた半導体装置に関する。
 近年、不揮発性メモリ装置として、記録材料にカルコゲナイト材料を用いた相変化メモリが盛んに研究されている。相変化メモリとは、電極間の記録材料が異なる抵抗状態を持つことを利用し、情報を記憶する抵抗変化型メモリの一種である。
 相変化メモリにおいては、GeSbTeなどの相変化材料の抵抗値がアモルファス状態と結晶状態とで異なることを利用して情報を記憶する。アモルファス状態では抵抗が高く(高抵抗状態)、結晶状態では抵抗が低い(低抵抗状態)。従って、相変化メモリからの情報読み出しは、素子の両端に電位差を与え、素子に流れる電流を測定し、素子の高抵抗状態/低抵抗状態を判別することにより実現する。
 相変化メモリにおいては、電流により発生するジュール熱によって、相変化材料により構成されたところの相変化膜の電気抵抗を異なる状態に変化させることによりデータを書き換える。
 図19は、相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示す図である。同図において、縦軸は温度を表し、横軸は時間を表す。この記憶素子に記憶情報“0”を書き込む場合には、図19に示す様に、大電流を流して記憶素子をカルコゲナイド材料の融点Ta以上に熱してから急冷する様なリセットパルスを印加する。この場合、冷却時間t1を短くすることにより(例えば約1nsに設定することにより)、カルコゲナイド材料は高抵抗のアモルファス(非晶質)状態となる。逆に、記憶情報“1”を書き込む場合には、記憶素子を融点Taよりも低いが、結晶化温度Tx(ガラス転移点と同じかそれよりも高い)よりも高い温度領域に保つ様な十分な電流を流すようにセットパルスを長時間印加する。これにより、カルコゲナイド材料は低抵抗の多結晶状態となる。
 この相変化メモリは抵抗素子構造を小さくすると、相変化膜の状態変化に必要な電流が小さくなる。このため、相変化メモリは、原理上、微細化に向いており、研究が盛んに行われている。特許文献1、特許文献2および特許文献3には、3次元構造の不揮発性メモリが開示されている。
 特許文献1および3には、可変抵抗素子とこれに並列接続されるトランジスタとを備えたメモリセルを積層方向に向けて直列に接続した構成が示されている。また、特許文献2には、可変抵抗素子とこれに直列接続されるダイオードとを備えたメモリセルを積層方向に向けて導電線を挟んで直列に接続した構成が示されている。当該構成では、例えば2個のメモリセルの間の導電線と、2個のメモリセルの外側の2本の導電線との間に電位差を与えることで、当該2個のメモリセルに対して一括して書込み動作が行われる。
 また、特許文献3には、NxM個の3次元構造のメモリセルアレイ内のデータを一括で消去する方法が示されている。さらに、消去動作時のジュール熱が、消去対象のメモリセルアレイへ隣接する周辺のメモリセルの結晶状態に大きな影響を及ぼさないように熱緩衝領域を設けることが示されている。また、特許文献4には、不揮発性メモリに関し、コントローラがワークロード指標に応じて、メモリユニットのうちの1つを選択することが開示されている。
国際公開第2011/074545号 特開2011-142186号公報 国際公開第2014/188484号 特開2014-179086号公報
 本発明者らは、本願に先立ち、SSD(Solid State Drive)やメモリカードなどのストレージへ利用されているNAND型フラッシュメモリの制御方法について検討した。さらに、抵抗変化型メモリを利用した制御方法いついて検討した。
 [NAND型フラッシュメモリの制御方法に対する検討]
 NAND型フラッシュメモリに代表される不揮発性メモリは、あるメモリ領域へデータを書き込むためには、予め、そのメモリ領域のデータを消去する必要がある。この消去時の最小データ単位は例えば1Mバイト等(例えば1ブロックという)であり、書き込み時の最小データ単位は例えば8Kバイト等(例えば1ページという)である。不揮発性メモリでは、1ブロックのメモリ領域に、論理アドレスに対応した物理アドレスを持つページに書き込みを行う。このとき、同じ論理アドレスで新しいデータを書き込む場合には、古いページを無効化し、新しいページにデータを書き込む。1ブロックが有効なページと無効なページで満たされると、それ以上は書き込みができなくなる。つまり、8Kバイトのデータを書くために、1Mバイトの消去済メモリ領域を確保する必要がある。この1Mバイトの消去済メモリ領域を確保するために、SSD内部ではガーベージコレクションと呼ばれる動作が必要となる。 このガーベージコレクション動作は、空き領域(消去済ブロック数)が所定以下になった場合に、開始する。このガーベージコレクション動作によって、消去済ブロック数を1つ増やしたい場合は、最低、2個のブロック(以下のメモリ領域A,B)を選択する必要がある。SSDは、先ず、既に書き込み済の1Mバイトの不揮発性メモリ領域AおよびBから、現時点で有効なデータ(ページ)を読み出し、これらのデータを集めて、RAMへ書き込む。次に、不揮発性メモリ領域AおよびBを消去する。最後に、RAMへ書き込まれたデータをまとめて不揮発性メモリ領域Aへ書き込む。このガーベージコレクション動作によって、1Mバイトの不揮発性メモリ領域Bが消去済メモリ領域となり、この不揮発性メモリ領域Bへ新たなにデータを書き込むことができる。このようなガーベージコレクションは、消去単位と書き込み単位の大きさが異なり、上書きができないメモリにおいては、従来から行われている。
 しかしながら、このガーベージコレクション動作によって、SSD内部では、ある不揮発メモリ領域から他の不揮発性メモリ領域へのデータの移動が発生し、ここのデータ移動期間中は、ホストコントローラからSSDへ要求されたライト及びリードリクエストが実行できず、SSDの性能が劣化してしまう。
 さらに、ガーベージコレクション動作に伴うデータ移動により、ホストコントローラからSSDへ要求されたライトデータサイズよりも、大きなデータサイズの書き込みが行われる。このため、SSDの信頼性や寿命が低下する。
 本願発明は、上記のような課題に鑑みてなされたものである。本願発明の目的は、高性能化、高信頼化を実現する半導体装置を提供することにある。
 本願発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
 本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
 本発明の一側面は、消去単位と書き込み単位が異なる不揮発性メモリの制御方法である。この方法では、所定単位の論理アドレスに対して不揮発性メモリの物理アドレスを割り当て、所定単位の論理アドレスに対するライトアクセスの状況に応じて、論理アドレスに割り当てられる物理アドレスが含まれる消去単位の大きさを制御する。
 消去単位の具体的な定義としては、「消去回数を管理するための、一つのまとまった領域」であり、「1つの消去コマンドで消去される領域」あるいは、「1つの消去コマンドで消去される領域」の整数倍の領域となる。本明細書ではこれをブロックと称することがある。ブロック毎の消去回数は、消去回数テーブル等で管理される。
 ライトアクセスの状況の評価方法は種々考えられるが、一例としては、所定単位の論理アドレスの平均ライトデータ量および所定単位の論理アドレスのライトアクセス回数の少なくとも一つによって評価できる。
 また、ライトアクセスの状況は、全ての論理アドレスの平均ライトデータ量および全ての論理アドレスのライトアクセス回数の少なくとも一つを用いて正規化することもできる。
 さらに、所定単位の論理アドレスに対するリードアクセスの状況を考慮して、消去単位の大きさを制御することもできる。
 さらに、所定単位の論理アドレスに対するライトアクセスの状況に応じて、割り当てられる物理アドレスに含まれるプロビジョナル領域の量を制御することもできる。
 本発明の他の側面は、種々の不揮発メモリに対して、上記の方法で制御を行う不揮発性メモリの制御装置である。不揮発性メモリの制御装置の一例としては、論理アドレスに対して不揮発性メモリの物理アドレスを割り当て、物理アドレスにアクセスを行う制御回路であって、この制御回路は、論理アドレスに対するアクセス状況に基づいて、論理アドレスに対応する物理アドレスを含む消去単位ブロックの大きさを動的に変化させる。
 本発明の他の側面は、不揮発性メモリと、入力される論理アドレスに対して物理アドレスを割り当て、不揮発性メモリの前記物理アドレスにアクセスを行う制御回路と、を有する半導体記憶装置である。制御回路は、不揮発性メモリの物理アドレスを含むブロックのブロックサイズを動的に変化させ、書込みを行うことを特徴とする。
 好ましい態様では、制御回路は、論理アドレス毎に、制御回路へ入力するライトリクエストの第1特徴量を計算し、第1特徴量に基づいて、不揮発性メモリの前記物理アドレスを含む前記ブロックのブロックサイズを決定する。具体的な例としては、第1特徴量は、例えばアクセス頻度の高い論理アドレスを示す特徴量であり、例えば、後述するブロックサイズファクタが典型例である。
 本発明の他の側面は、不揮発性メモリと、入力される論理アドレスに対して物理アドレスを割り当て、不揮発性メモリの前記物理アドレスにアクセスを行う制御回路と、を有する半導体記憶装置である。制御回路は、不揮発性メモリの論理アドレスの容量に対する物理アドレスの容量を動的に変化させ、書込みを行うことを特徴とする。
 好ましい態様では、制御回路は、論理アドレス毎に、制御回路へ入力するライトリクエストの第2特徴量を計算し、第2特徴量に基づいて、論理アドレスを複数個分含む論理アドレス領域の容量に対する、物理アドレスを複数個分含む物理アドレス領域の容量を決定する。具体的な例としては、第2特徴量は、例えば論理アドレスのデータがどれほどの割合ライトされているかを示す特徴量であり、後述するプロビジョナル容量ファクタが典型例である。物理アドレス領域の容量を決定する具体的手法では、後述するプロビジョナル容量を変化させる例が挙げられる。
 本発明の他の側面では、半導体装置は、不揮発性メモリと、不揮発性メモリをアクセスする制御回路と、を具備している。制御回路は、一定期間以内で外部から入力されるライトリクエストの論理アドレスに対するアクセスの頻度を計算し、このアクセス頻度を基に、不揮発性メモリのブロックサイズを変更し、書込みを行う。これにより、アクセス頻度の高い論理アドレスに対応する物理アドレスを含むブロックのブロックサイズが小さくなり、ブロック内の有効データ量が少なくなる。これによって、ガーベージコレクション時のデータコピー量が小さくなり、コピー時間が短縮されるため制御回路は、外部から入力されるライトおよびリードリクエストを待たせる時間が短くなり半導体装置のデータ転送速度が向上する。ここにおいてブロックとは、ガーベージコレクションが行われる際の、消去単位と把握することができる。
 本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
 すなわち、高性能で、信頼性が高く且つコストが低い不揮発性メモリを備えた半導体装置を提供することができる。
本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。 図1における制御回路の構成例を示すブロック図である。 図1におけるメモリモジュール内の制御回路の構成を示すブロック図である。 図1における不揮発性メモリ装置NMV0~31の構成例を示すブロック図である。 図4におけるチェインメモリアレイの構成例を示す回路図である。 図5のチェインメモリアレイの動作例を示す回路図である。 図5のチェインメモリアレイの別の動作例を示す回路図である。 図5のチェインメモリアレイの別の動作例を示す回路図である。 動的ブロックサイズ変更の動作の全体フローを示すフロー図である。 図9のStep1の詳細動作を示すフロー図である。 図9のStep3の詳細動作を示すフロー図である。 図9のStep4の詳細動作を示すフロー図である。 ブロックサイズテーブルBLKTBLとアドレス変換テーブルDLPTBLを示す表図である。 ブロックサイズテーブルBLKTBLとアドレス変換テーブルDLPTBLを示す表図である。 不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。 不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。 不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。 不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。 相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示すグラフ図である。
 以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。特に明示した場合を除き、それらは互いに無関係ではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
 さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
 以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の機能を有する部材には同一または関連する符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
 実施の形態において各ブロックを構成する回路素子は特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような1個の半導体基板上に形成される。また、実施の形態で述べるメモリセルとしては、相変化メモリ、ReRAM(Resistive Ramdam Access Memory)のような抵抗性記憶素子を用いるものとする。
 <情報処理システムの概要>
 図1は、本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。図1に示す情報処理システムは、情報処理装置CPUGと、ルーター装置ROUTERと、制御装置DYBS-CTL0~mと、ストレージ装置STRG0~mとを備える。
 情報処理装置CPUGは、特に限定しないが、情報処理回路CPU0~nと、CPUメモリモジュールMD0~nとを備える。CPUメモリモジュールMD0~nの各々は、メモリ装置M0~nnを備える。
 ストレージ装置STRG0~mの各々には、不揮発メモリモジュールNVMD0~kを備えている。
 不揮発メモリモジュールNVMD0~kの各々は、不揮発性メモリ装置NVM0~pと、ランダムアクセスメモリRAMと、これら不揮発性メモリ装置およびランダムアクセスメモリを制御する制御回路NVM-CTLを備える。不揮発性メモリ装置NVM0~NVMpは、例えば同じ構成および性能を備えている。
 不揮発メモリモジュールNVMD0~kの各々の不揮発性メモリ装置NVM0~pには、情報処理回路CPU0~nにて動作するオペレーティングシステム、アプリケーションプログラム、データが格納される。
 不揮発性メモリ装置NVM0~pには、また、制御装置DYBS-CTL0~mにて管理するメモリモジュールNVMD0~kの物理アドレス領域DPADに対する管理ブロックサイズの対応を示した2次ブロックサイズテーブルBLKTBL2と、論理アドレスDLADに対応したメモリモジュールNVMD0~31の物理アドレスDPADの2次アドレス変換テーブルDLPTBL2が格納される。なお、ブロックサイズテーブルとアドレス変換テーブルは、制御装置DYBS-CTLもコピーを持つ。便宜上、制御装置DYBS-CTLが持つテーブルを1次テーブル、不揮発メモリモジュールNVMD0~kが持つテーブルを2次テーブルとする。
 不揮発性メモリ装置NVM0~pには、また、制御回路NVM-CTLにて管理される情報処理装置CPUGからの論理アドレスLADと、メモリモジュールNVMD0~k内の不揮発性メモリ装置NVM0~pの物理アドレスPADとの対応を行う2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADMAPが格納される。もっとも、2次ブロックサイズテーブル、アドレス変換テーブル、消去回数テーブル、アドレスマップ等は、制御回路や制御装置に別途設けられた専用のメモリに格納してもよい。
 以上で、n、nn、m、p、kは、其々自然数を表すものとする。
 不揮発メモリモジュールNVMD0~pは、特に限定しないが、例えばSSD(Solid State Drive)等に該当するものである。
 情報処理装置CPUGの情報処理回路CPU0~nのいずれかが、ルーター装置ROUTERおよび制御装置DYBS-CTL0~mを通じてストレージ装置STRG0~mの不揮発性メモリ装置NVM0~pへ格納されているオペレーティングシステム、アプリケーションプログラム、データを読み出し、CTLメモリモジュールMD0~nへ転送、保存する。
その後、情報処理回路CPU0~nが、メモリモジュールMD0~nへ保存したデータを利用し、オペレーティングシステムやアプリケーションプログラムを実行する。
 情報処理回路CPU0~nが、アプリケーションプログラムの実行結果をストレージ装置STRG0~mへ格納する場合、ルーター装置ROUTERおよび制御装置DYBS-CTL0~mを通じて、ストレージ装置STRG0~m内の不揮発性メモリ装置NVM0~NVMpへ格納する。
 情報処理装置CPUGは、ストレージ装置STRG0~mへ保存されているデータを最小512バイト単位の論理アドレス(LAD)にて管理している。
 ルーター装置ROUTERは、情報処理装置CPUGからの読み出し命令、書込み命令やデータを制御装置DYBS-CTL0~mへ転送し、また、御装置DYBS-CTL0~mからのデータを情報処理装置CPUGへ転送する装置である。
 図2には制御装置DYBS-CTLの構成を示している。
 制御装置DYBS-CTL0~mは、ストレージ装置STRG0~mの不揮発性メモリ装置NVM0~NVMpへ格納されている2次ブロックサイズテーブルBLKTBL2を読み出し、制御装置DYBS-CTL0~m内のメモリ装置MMDへ転送する。この結果、メモリ装置MMDは2次ブロックサイズテーブルのコピーである、1次ブロックサイズテーブルBLKTBL1を持つ。
 また、制御装置DYBS-CTL0~mは、ストレージ装置STRG0~mへ保存されているデータを、最小512バイト単位(セクタ単位)の論理アドレス(LAD)にて管理するコントローラである。
 また、制御装置DYBS-CTL0~mは、ルーター装置ROUTERを通じて、情報処理装置CPUGからの読み出しおよび書込み命令に従い、インターフェース信号HDH_IFを通じ、これらメモリモジュールNVMD0~kに対してデータの読み出しや書込みを行う。
 この際、制御装置DYBS-CTL0~mは、ルーター装置ROUTERを通じて、入力した情報処理装置CPUGからの論理アドレスLADに対するメモリモジュールNVMD0~kの物理アドレスDPADを決定し、メモリモジュールNVMD0~kに対してデータの読み出しや書込みを行う。
 さらに、制御装置DYBS-CTL0~mは、情報処理装置CPUGからの読み出しおよび書込みアクセスの特徴を分析し、メモリモジュールNVMD0~kの物理アドレス領域DPADに対する管理ブロックサイズを動的に最適に変更し、メモリ装置MMD内の1次ブロックサイズテーブルBLKTBL1を更新する。これによって、情報処理システムの性能および信頼性が向上する。
 メモリモジュールNVMD0~k内の制御回路NVM-CTLは、不揮発性メモリ装置NVM0~pへ格納されている2次アドレス変換テーブルDLPTBL2、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADDMAPを読み出し、2次アドレス変換テーブルDLPTBL2とブロック毎の消去回数テーブルERSTBLをメモリモジュールNVMD0~k内のメモリ装置RAMへ転送し、アドレスマップADDMAPを読み出し、マップレジスタMAPREGへ転送する。
 メモリ制御回路NVM-CTLが、データを不揮発性メモリ装置NVM0~pへ書込む場合、不揮発性メモリ装置NVM0~pの物理ページアドレスPADは、不揮発性メモリ装置NVM0~pを管理するブロック毎の書込み回数が平準化するように、物理ページアドレスPADを決定し、2次アドレス変換テーブルDLPTBL2を更新する。
 また、メモリ制御回路NVM-CTLが、データを不揮発性メモリ装置NVM0~pから読み出す場合、メモリ制御回路NVM-CTLは、2次アドレス変換テーブルDLPTBL2を参照し、論理アドレスLADに対する物理アドレスPADを決定し、物理アドレスPADに格納されたデータを読み出す。
 さらに、制御装置DYBS-CTL0~mが1次ブロックサイズテーブルBLKTBL1を更新した後に、制御装置DYBS-CTL0~mの指示によって、2次ブロックサイズテーブルBLKTBL2の情報を基に、メモリ制御回路NVM-CTLは2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADDMAPを再構築する。これによって、メモリモジュールNVMD0~kの性能および信頼性が向上する。
 図2は、図1における制御装置DYBS-CTL0~mの構成例を示すブロック図である。図2に示す制御装置DYBS-CTLには、制御ブロックDYBSCとメモリモジュールMMDが含まれている。
 制御ブロックDYBSCは、インターフェース回路HOSTIFと、情報処理回路MNGERと、調停回路ARBCと、メモリモジュールNVMD0~kとのインターフェース回路NVIF0~kから構成される。メモリモジュールMMDには、メモリ装置MEM0~MEMkが含まれている。
 メモリモジュールMMDには、論理アドレスDLAD毎のブロックサイズを示す1次ブロックサイズテーブルBLKTBL1と、論理アドレスDLADに対応したメモリモジュールNVMD0~kの物理アドレスDPADの1次アドレス変換テーブルDLPTBL1が保存される。
 また、分割論理アドレスDLADは、複数の論理アドレスLADを含む論理アドレス領域を示し、物理アドレスDPADは、複数の物理アドレスPADを含む物理アドレス領域を示す。
 制御装置DYBS-CTLの読み出し動作について説明する。ルーター装置ROUTERを通じて、情報処理装置CPUGからのリードリクエスト(RQ)が入力される。リードリクエスト(RQ)には論理アドレス(LAD)、データ読み出し命令(RD)、セクタカウント(SEC)などが含まれる。
 制御装置DYBS-CTLはメモリ装置MMDへ格納されている1次アドレス変換テーブルDLPTBL1を参照し、論理アドレスLADを含む分割論理アドレスDLADに対応した物理アドレスDPAD0を読み出し、この物理アドレスDPAD0によって論理アドレスLADのデータを格納したメモリモジュールNVMD0を選択し、リードリクエスト(RQ)を転送する。
 メモリモジュールNVMD0では、2次アドレス変換テーブルDLPTBL2を参照し、論理アドレスLADに対応した物理ページアドレスPADに格納されているデータの中で、セクタカウント分だけのデータDTAT0を読み出す。
 読み出されたデータDATA0は、制御装置DYBS-CTLへ転送され、さらに、ルーター装置ROUTERを通じて、情報処理装置CPUGへ転送される。
 制御装置DYBS-CTLの書込み動作について説明する。ルーター装置ROUTERを通じて、情報処理装置CPUGからライトリクエスト(WQ)が入力される。ライトリクエスト(WQ)には論理アドレス(LAD)、データ書込み命令(WT)、セクタカウント(SEC)などが含まれる。
 制御装置DYBS-CTLはメモリ装置MMDへ格納されている1次アドレス変換テーブルDLPTBL1を参照し、論理アドレスLADが含まれる論理アドレスDLADに対応した物理アドレスDPAD1を読み出し、この物理アドレスDPAD1によって論理アドレスLADのデータを格納したメモリモジュールNVMD1を選択し、ライトリクエスト(WQ)を転送する。
 メモリモジュールNVMD1では、ブロックの書込み回数を平準化するように物理アドレスPADを決定し、この物理アドレスPADへセクタカウント分だけのデータDTAT1を書き込む。その後、2次アドレス変換テーブルDLPTBL2を更新し、論理アドレスLADと最新の物理アドレスPADを対応付けする。
 図3は、図1におけるメモリモジュールNVMD0~kのメモリ制御回路NVM-CTLのブロック図である。
 メモリ制御回路NVM-CTLは、インターフェース回路NVM_IFと、アドレス/コマンドバッファADCBUFと、データバッファDBUFと、マップレジスタMAPREGと、調停回路ARBと、情報処理回路CONTLと、RAMのメモリ制御回路RAMC、不揮発性メモリ装置NVM0~pのメモリ制御回路NVCT0pと、を備える。メモリ制御回路RAMCは、図1のランダムアクセスメモリRAMを直接制御し、NVCT0~pは、図1の不揮発性メモリ装置NVM0~pをそれぞれ直接制御する。
 データバッファDBUFは、不揮発性メモリ装置NVM0~pの書込みデータや読み出しデータを一時的に蓄える。
 アドレス/コマンドバッファADCBUFは、制御装置DYBS-CTLからメモリ制御回路NVM-CTLへ入力した論理アドレスLADと、データ読み出し命令(RD)と、データ書込み命令(WT)を一時的に蓄える。
 メモリ装置RAMには、2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLが保存される。
 マップレジスタMAPREGには、アドレスマップADDMAPが格納され、1ブロックサイズ毎の不揮発性メモリ装置NVM0~p内部のXアドレス、YアドレスおよびZアドレスの対応が示されている。
 制御装置DYBS-CTL0~mの指示によって、2次ブロックサイズテーブルBLKTBL2の情報を基に、メモリ制御回路NVM-CTLは2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADDMAPを再構築する。
これによって、メモリモジュールNVMD0~kの性能および信頼性が向上する。
 図4は、図1における不揮発性メモリ装置NVM0~pの構成例を示すブロック図であり、図5は、図4におけるチェインメモリアレイの構成例を示す回路図である。
 図4に示す不揮発性メモリ装置は、図1の不揮発性メモリ装置NVM0~pのそれぞれに該当するものであり、ここでは、一例として相変化型の不揮発性メモリ(相変化メモリ)が用いられているが、フラッシュメモリや他の抵抗変化型メモリであってもよい。不揮発性メモリ装置は、クロック生成回路SYMD、ステータスレジスタSTREG、イレースサイズ指定レジスタNVREG、アドレス・コマンドインターフェース回路ADCMDIF、IOバッファIOBUF、制御回路CTLOG、温度センサTHMO、データ制御回路DATCTL、メモリバンクBK0~BK3を備える。
 各メモリバンクBK0~BK3は、メモリアレイARYx(x=0~m)と、各メモリアレイにそれぞれ対応して設けられる読み書き制御ブロックSWBx(x=0~m)と、これらを制御する各種周辺回路を備える。各種周辺回路の中には、ロウアドレスラッチRADLT、カラムアドレスラッチCADLT、ロウデコーダROWDEC、カラムデコーダCOLDEC、チェイン選択アドレスラッチCHLT、チェインデコーダCHDEC、データ選択回路DSW1、データバッファDBUF0,DBUF1が含まれる。
 各メモリアレイARYx(x=0~m)は、複数のワード線WL0~WLkと複数のビット線BL0_x~BLi_xの交点に配置される複数のチェインメモリアレイCYと、複数のビット線BL0_x~BLi_x(x=0~m)のいずれかを選択してデータ線DTxに接続するビット線選択回路BSWxを備える。各読み書き制御ブロックSWBx(x=0~m)は、データ線DTx(x=0~m)に接続されるセンスアンプSAx(x=0~m)およびライトドライバWDRx(x=0~m)と、書込み動作時に、これらを用いてデータの検証を行う書込みデータ検証回路WVx(x=0~m)を備える。また、図4に示した不揮発性メモリ装置を動作させるインターフェースはNAND型フラッシュメモリインターエースやDRAMインターフェースなどのメモリインターフェースを採用すると、従来システムとのインターフェースの互換性を保つことができ、利便性が良い不揮発性メモリ装置を提供できる。
 さらに、図4に示した不揮発性メモリ装置は、1つのコマンドで消去できるブロックサイズが物理的に固定しておらず、メモリ制御回路NVM-CTLにて、制御上の管理単位として容易に変更可能である。このため、情報処理装置CPUGのメモリモジュールNVMDへのアクセスの特徴を分析し、不揮発性メモリ装置のブロックサイズ動的に最適化することで、情報処理システムの性能や信頼性の向上が図れる。
 図5に示すように、各チェインメモリアレイCYは、複数の相変化メモリセルCL0~CLnが直列に接続された構成を備え、その一端はチェイン選択トランジスタTch2を介してワード線WLに接続され、他端はチェイン選択トランジスタTch0およびTch1を介してビット線BLに接続される。複数の相変化メモリセルCL0~CLnは、図示は省略するが、半導体基板に対して高さ方向に順に積層配置され、互いに直列接続される。また、各相変化メモリセルCLは、可変抵抗型の記憶素子Rと、それに並列接続されるメモリセル選択トランジスタTclを備える。記憶素子Rは、例えばカルコゲナイド材料で形成される。
 図5の例では、2個のチェインメモリアレイCYがチェイン選択トランジスタTch2を共有しており、チェインメモリアレイ選択線SL0,SL1,SL2によって各チェインメモリアレイ内のチェイン選択トランジスタTch0,1,2がそれぞれ制御され、これによっていずれか一方のチェインメモリアレイが選択される。また、メモリセル選択線LY(LY0~LYn)は、対応する相変化メモリセルのゲート電極に接続され、メモリセル選択線LYによって、相変化メモリセルCL0~CLn内のメモリセル選択トランジスタTclがそれぞれ制御され、これによって各相変化メモリセルが適宜選択される。なお、チェインメモリアレイ選択線SL0,SL1、SL2およびメモリセル選択線LY0~LYnは、チェイン制御線CHとして、図4のチェイン選択アドレスラッチCHLTおよびチェインデコーダCHDECを介して適宜駆動される。
 次に、図4の不揮発性メモリ装置の動作について簡単に説明する。図4において、まず、制御回路CTLOGは、アドレス・コマンドインターフェース回路ADCMDIFを介して制御信号CTLを受ける。制御信号CTLは、特に限定しないが、例えば、コマンド・ラッチイネーブル信号(CLE)、チップイネーブル信号(CEB)、アドレス・ラッチ信号(ALE)、ライトイネーブル信号(WEB)、リードイネーブル信号(REB)、レディビジー信号(RBB)を含み、これらの組み合わせによって、書込み命令又は読み出し命令が発行される。また、制御回路CTLOGは、制御信号CTLと共に、IOバッファIOBUFを介して入出力信号IOを受ける。入出力信号IOには、アドレス信号が含まれており、制御回路CTLOGは、当該アドレス信号からロウアドレスおよびカラムアドレスを抽出する。制御回路CTLOGは、当該ロウアドレス、カラムアドレス、ならびに予め定められる書込み・読み出し単位等に基づいて、適宜内部アドレスを生成し、ロウアドレスラッチRADLT、カラムアドレスラッチCADLTならびにチェイン選択アドレスラッチCHLTにそれぞれ伝送する。
 ロウデコーダROWDECは、ロウアドレスラッチRADLTの出力を受けてワード線WL0~WLkの選択を行い、カラムデコーダCOLDECは、カラムアドレスラッチCADLTの出力を受けてビット線BL0_x~BLi_x(x=0~m)の選択を行う。また、チェインデコーダCHDECは、チェイン選択アドレスラッチCHLTの出力を受けて、チェイン制御線CHの選択を行う。制御信号CTLによって読み出し命令が入力された際、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイCYからビット線選択回路BSW0~BSWmを介してデータが読み出される。当該読み出されたデータは、センスアンプSA0~SAmで増幅され、データ選択回路DSW1を介してデータバッファDBUF0(又はDBUF1)に伝送される。そして、データバッファDBUF0(又はDBUF1)上のデータは、データ制御回路DATCTLおよびIOバッファIOBUFを介して入出力信号IOに順次伝送される。
 一方、制御信号CTLによって書込み命令が入力された際、入出力信号IOには、前述したアドレス信号に続いてデータ信号が伝送され、データ信号は、データ制御回路DATCTLを介してデータバッファDBUF0(又はDBUF1)に入力される。データバッファDBUF0(又はDBUF1)上のデータ信号は、データ選択回路DSW1、ライトドライバWDR0~WDRmおよびビット線選択回路BSW0~BSWmを介して、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイCYに書き込まれる。また、この際に、書込みデータ検証回路WV0~WVmは、書込みを行ったデータをセンスアンプSA0~SAmを介して適宜読み出しながら書込みレベルが十分なレベルに達したかを検証し、十分なレベルに達するまでライトドライバWDR0~WDRmを用いて再度の書込み動作を行う。
 図6は、図5のチェインメモリアレイの動作例を示す説明図である。この図6を用いて、例えば、チェインメモリアレイCY1内の相変化メモリセルCL0における可変抵抗型記憶素子R0を高抵抗や低抵抗にする際の動作について説明する。チェインデコーダCHDECによって、チェインメモリアレイ選択線SL1のみが活性化(SL0=Low、SL1=High、SL2=High)され、チェイン選択トランジスタTch1およびTch2が導通状態となる。続いて、メモリセル選択線LY0のみが非活性化(LY0=Low、LY1~LYn=High)され、相変化メモリセルCL0のメモリセル選択トランジスタTcl0はカットオフ状態となり、残りのメモリセルCL1~CLnのメモリセル選択トランジスタTcl1~Tclnは導通状態となる。
 次に、ワード線WL0がHighとなり、続いてビット線BL0がLowになると、電流I0がワード線WL0から、チェイン選択トランジスタTch2、可変抵抗型記憶素子R0、メモリセル選択トランジスタTcl1~Tclnおよびチェイン選択トランジスタTch1を経由してビット線BL0へ流れる。この電流I0が図14に示したReset電流パルスの形に制御されることで、可変抵抗型記憶素子R0は高抵抗となる。また、この電流I0が図14に示したSet電流パルスの形に制御されることで、可変抵抗型記憶素子R0は低抵抗となる。可変抵抗型記憶素子R0~Rnの抵抗値の違いによってデータ“1”と“0”が区別される。
 また、図4で示すように複数のビット線BL0_0、BL0_1~BL0_mへ電流I0を流すことで、書込み速度を向上することができる。
 特に限定しないが、可変抵抗型記憶素子が低抵抗になった場合に、データ“1”が記録され、高抵抗になった場合にデータ“0”が記録されるものとする。
 なお、可変抵抗型記憶素子R0に記録されたデータを読み出す場合は、可変抵抗型記憶素子R0の抵抗値が変化しない程度に、データ書込みと同様の経路で電流が印加される。この場合、可変抵抗型記憶素子R0の抵抗値に応じた電圧値がセンスアンプ(この例では図4のSA0)で検出され、データ“0”および“1”が判定される。
 また、図4で示すように複数のビット線BL0_0、BL0_1~BL0_mを通じて可変抵抗型記憶素子R0の抵抗値が変化しない程度に、データ書込みと同様の経路で電流が印加することで、複数のセンスアンプ(この例では図4のSA0~SAm)にてデータ“0”および“1”が判定され、読み出し速度を向上することができる。
 図7および図8は、図5のチェインメモリアレイの別の動作例を示す説明図である。
 図7を用いて、1チェインメモリアレイCY1内の全可変抵抗型記憶素子R0~Rnを一括で低抵抗にする際の動作を説明する。チェインデコーダCHDECによって、チェインメモリアレイ選択線SL1のみが活性化(SL0=Low、SL1=High、SL2=High)され、チェイン選択トランジスタTch1およびTch2が導通状態となる。続いて、メモリセル選択線LY0~LYnが活性化(LY0~LYn=High)され、メモリセルCL0~CLnのメモリセル選択トランジスタTcl0~Tclnは導通状態となる。次に、ワード線WL0がHighとなり、続いてビット線BL0がLowになると、電流I2がワード線WL0から、チェイン選択トランジスタTch2、メモリセル選択トランジスタTcl0~Tclnおよびチェイン選択トランジスタTch1を経由してビット線BL0へ流れる。この電流I2によるジュール熱が、可変抵抗型記憶素子R0~Rnへ伝導し、可変抵抗型記憶素子R0~Rnは一括して低抵抗となる。この電流I2は、可変抵抗型記憶素子R0~Rnが一括して低抵抗にすることができる様な値に制御される。
 図8を用いて、チェインメモリアレイCY0およびCY1内の全可変抵抗型記憶素子R0~Rnを一括で低抵抗にする際の動作を説明する。チェインデコーダCHDECによって、チェインメモリアレイ選択線SL0および1が活性化(SL0、SL1=High、SL2=High)され、チェインメモリアレイCY0およびCY1双方のチェイン選択トランジスタTch0、Tch1およびTch2が導通状態となる。続いて、メモリセル選択線LY0~LYnが活性化(LY0~LYn=High)され、チェインメモリアレイCY0およびCY1双方のメモリセルCL0~CLnのメモリセル選択トランジスタTcl0~Tclnは導通状態となる。次に、ワード線WL0がHighとなり、続いてビット線BL0がLowになると、電流I3がワード線WL0から、チェイン選択トランジスタTch2、チェインメモリアレイCY0およびCY1双方のメモリセル選択トランジスタTcl0~Tclnおよびチェイン選択トランジスタTch0およびTch1を経由してビット線BL0へ流れる。この電流I3によるジュール熱が、チェインメモリアレイCY0およびCY1双方の可変抵抗型記憶素子R0~Rnへ伝導し、可変抵抗型記憶素子R0~Rnは一括して低抵抗となる。電流I3の値は、チェインメモリアレイCY0およびCY1双方の可変抵抗型記憶素子R0~Rnを一括して低抵抗にするような値に制御される。
 以上説明したように、必要に応じて、同時に複数のチェインメモリアレイ内のメモリセルを低抵抗にすることができ、消去データレートを向上することができる。
 図9~図12を用いて制御装置DYBS-CTLおよびメモリ制御回路NVM-CTLが行う動的ブロックサイズ変更の動作を説明する。
 図9は動的ブロックサイズ変更の動作の全体フローを示す。また、図10,図11および図12では、図9のStep1およびStep3およびStep4の詳細動作を示す。図13および図14では、1次ブロックサイズテーブルBLKTBLおよび1次アドレス変換テーブルDLPTBLを示す。
 図9のフローにおいて、先ず、Step0で有効期間TCの測定を開始する。有効期間は、アクセスの特徴を分析するためのサンプリング期間である。
 次に、情報処理装置CPUGからルーター装置ROUTERを通じて、制御装置DYBS-CTLへリードリクエスト(RQ)やライトリクエスト(WQ)が入力した際に、Step1を実行する。Step1では、Step100~103を行う。
 図10のフローにおいて、Step100では、ホストからのアクセスがライトアクセスかどうかを判定する。ライトアクセスであれば、Step101を行い、ライトアクセスでなければStep102を行う。Step101では、以下を計算する。
・各論理アドレスDLADのライトアクセス回数WC
・全論理アドレス領域でのライトアクセス回数WCT
・各論理アドレスDLADの総ライトデータ量WD
・全論理アドレス領域での総ライトデータ量WDT
Step101が終了するとStep102を行う。
 Step102では、ホストからのアクセスがリードアクセスかどうかを判定する。リードアクセスであれば、Step103を行い、リードアクセスでなければStep100を行う。Step103では、以下を計算する。
・各論理アドレスDLADのリードアクセス回数RC
・全論理アドレス領域でのリードアクセス回数RCT
・各論理アドレスDLADの総リードデータ量RD
・全論理アドレス領域での総リードデータ量RDT
Step103が終了するとStep2を行う。
 図9に戻り、Step2では、Step3で行うアクセス特徴分析のための、Step101およびStep103で実行する各種計算の有効期間TCが期間T1を経過したかどうかをチェックする。
 有効期間T1を経過した場合、Step3を行い、有効期間T1を経過していない場合、Step1を行う。
 Step3では、有効期間TCの測定を停止し、Step1での各種計算結果を利用し、アクセスの特徴を分析する。Step3では、Step300~305を行う。
 図11において、先ずStep300では、有効期間TCの測定を一旦停止する。次のStep301では以下を計算する。
・各論理アドレスDLADの1回のライトアクセス当たりの平均ライトデータ量AWD:AWD=論理アドレスDLADの総ライトデータ量WD/論理アドレスDLADの総ライトアクセス数WC
・各論理アドレスDLADの1回のリードアクセス当たりの平均リードデータ量ARD:ARD=論理アドレスDLADの総リードデータ量RD/論理アドレスDLADの総リードアクセス数RC
 次のStep302では以下を計算する。
・全論理アドレス領域での1回のライトアクセス当たりの平均ライトデータ量AWDT:AWDT=全論理アドレス領域での総ライトデータ量WDT/全論理アドレス領域での総ライトアクセス数WCT
全論理アドレス領域での1回のリードアクセス当たりの平均リードデータ量ARDT:ARDT=全論理アドレス領域での総リードデータ量RDT/全論理アドレス領域での総リードアクセス数RCT
 次のStep303では以下を計算する。
・各論理アドレスDLADのライトアクセス回数の割合WCRATE:WCRATE=WC/(WC+RC)
・各論理アドレスDLADのリードアクセス回数の割合RCRATE:RCRATE=RC/(WC+RC)=1-WRATE
 次のStep304では以下を計算する。
・全論理アドレス領域での総ライトアクセス回数WCTに対する論理アドレスDLADの総ライトアクセス回数WCの割合WRATE1:WRATE1=WC/WCT
・全論理アドレス領域での総リードアクセス回数RCTに対する論理アドレスDLADの総リードアクセス回数RCの割合RRATE1:RRATE1=RC/RCT
 次のStep305では以下を計算する。
・各論理アドレスDLADの総ライトデータ量WDと各論理アドレスDLADの容量LCPの比率WDRATE=WD/LCP
 図11のフローではライトとリードの両方の特性を検討している。ライトの特性は、上述のように小さなブロックに集中してアクセスさせたほうが、ガーベージコレクションのコピー量が減る。一方、リードのアクセスは不揮発性メモリに分散してデータが配置されたほうが、リード性能は向上する。よって性能バランスを取るためには、両者を考慮することがより望ましい。
 図9に戻って説明を続ける。Step3の終了後Step4を行う。Step4では、Step3での分析結果を利用し、各論理アドレスDLADに対するブロックサイズを決定する。Step4では、Step400~402を行う。
 図12においてStep400では、
・各論理アドレスDLADのブロックサイズファクタ(Block Size Factor)BLKFCTと、プロビジョナル容量ファクタ(Provisional Area Factor)PVFCTを計算する。
 ブロックサイズファクタBLKFCTは、
BLKFCT=(WCRATE1/WRT1AVG)×(AWDT/AWD)で表す。
 WRT1AVGは、全論理アドレス領域の容量に対する各論理アドレスDLADの容量の割合である。つまり、情報処理装置CPUGからのライトアクセスが平均的に各論理アドレスDLADへ生じた場合の、各論理アドレスDLADのライトアクセス回数の割合である。WCRATE1は各論理アドレスDLADのライトアクセス回数の割合であるから、(WCRATE1/WRT1AVG)が大きいということは、当該論理アドレスには平均以上にアクセス回数が集中していること、すなわちホットエリアであることを示す。
 AWDTは全論理アドレス領域での1回のライトアクセス当たりの平均ライトデータ量、AWDは各論理アドレスDLADの1回のライトアクセス当たりの平均ライトデータ量である。よって、(AWDT/AWD)が大きいということは、当該論理アドレスに書き込まれる1回あたりのデータが、平均より小さいということを示す。以上の説明より明らかなように、ブロックサイズファクタBLKFCTは、1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが高頻度で、当該論理アドレスDLADへ発生している場合大きな値をとる指標である。後に詳述するように、本実施例では、BLKFCTが大きい場合、その論理アドレスに対応する物理アドレス(消去ブロック)の大きさを小さくする制御を行う。
 一方、1回当たりのサイズが大きなサイズのライトアクセスが、高頻度で、大量に発生する論理アドレスの場合は、消去回数が増えるのと、実効メモリ量を減少させないために、大きなサイズのブロックのままにしておいたほうがよい。
 また、プロビジョナル容量ファクタPVFCTは、PVFCT=WDRATE/SUM(WDRATE)で表す。 通常、論理アドレスの容量に対して、物理アドレスの容量は少し大きくなっている。この余裕分(例えば20%程度等)をプロビジョナル領域という。プロビジョナル領域を確保することにより、データの再書き込みを行った場合でも、使用可能な領域を枯渇しにくくすることができる。このプロビジョナル領域を変化させることにより、物理アドレス(消去ブロック)中の無効データの割合を調節することができる。なぜなら、物理アドレスの有効データは、論理アドレス容量以上にはならないから、通常、物理アドレスは最大でプロビジョナル領域分の無効データを持つことができるからである。
 WDRATEは各論理アドレスDLADの総ライトデータ量WDと各論理アドレスDLADの容量LCPの比率であり、SUM(WDRATE)はそれらの合計である。よって、プロビジョナル容量ファクタPVFCTは、当該論理アドレスのデータがどれほどの割合ライトされているかを示している。後に詳述するように、本実施例では、PVFCTが大きい場合、その論理アドレスに対応する物理アドレス(消去ブロック)のプロビジョナル領域を大きくする制御を行う。
 プロビジョナル領域を大きくすることにより、消去ブロックに含まれる無効データの割合を大きくすることができる。一方、プロビジョナル領域が大きくするということは、物理アドレスを余計に消費することになるから、プロビジョナル領域を大きくする物理アドレスは、ライトされる割合の大きな(すなわち、無効データの量が多くなる可能性のある)領域に限ることが望ましい。
 次のStep401では各論理アドレスDLADのブロックサイズファクタBLKFCTを利用し、各論理アドレスDLADのブロックサイズBLKSIZEを決定する。
 ブロックサイズファクタBLKFCTが大きな値をもつ論理アドレスDLADほど、1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが、高頻度で、大量に、その当該論理アドレスDLADへ発生していることを示す。したがって、ブロックサイズファクタBLKFCTが大きな値をもつ論理アドレスDLADほど、小さなブロックサイズを割り当てることにより、ブロック内の有効となる物理ページの数が少なくなり、メモリモジュールNVMD内部で行うガーベージコレクション動作に伴うデータコピー量が小さくなる。このため、データコピー時間が短くなるため、制御装置DYBS-CTLからのリードリクエストRQやライトリクエストWQの待ち時間が短くなり性能が向上する。
 ライトアクセスが非常に高頻度で、大量に、特定の領域に集中している場合、極端な例では、その領域に有効な物理ページがなくなる場合もある。このような場合には、データコピー自体不要であり、当該領域を消去するだけになる。ブロックサイズを適切に選ぶと、このようにデータコピー自体不要になる場合が増え、性能が向上することが期待できる。
 なお、アクセス頻度が高い論理アドレス領域のことをHOTエリアといい、ここに書き込まれるデータをHOTデータともいう。また、アクセス頻度が低い論理アドレス領域のことをCOLDエリアといい、ここに書き込まれるデータをCOLDデータともいう。
 ブロックサイズファクタBLKFCT値の判定数値は一例であってとくに限定しないが、以下に例を示す判定によってブロックサイズBLKSIZEを決定する。
 ブロックサイズファクタBLKFCT≧10の場合、ブロックサイズBLKSIZE=32KB
 10>ブロックサイズファクタBLKFCT≧5の場合、ブロックサイズBLKSIZE=64KB、
 5>ブロックサイズファクタBLKFCT≧2の場合、ブロックサイズBLKSIZE=128KB、
 2>ブロックサイズファクタBLKFCT≧1の場合、ブロックサイズBLKSIZE=256KB、
1>ブロックサイズファクタBLKFCT≧0.2の場合、ブロックサイズBLKSIZE=512KB、
0.2>ブロックサイズファクタBLKFCTの場合、ブロックサイズBLKSIZE=1024KB
 次のStep402では各論理アドレスDLADのプロビジョナル容量ファクタPVFCTを利用し、各論理アドレスDLADのプロビジョナル容量PVSIZEを決定する。
 プロビジョナル容量ファクタPVFCTが大きな値をもつ論理アドレスDLADほど、ライトデータ量が多いことを示す。したがって、論理アドレスDLADへ、書き換え回数に上限のある不揮発性メモリの物理アドレスDPADを割り当てる場合、メモリモジュールNVMDの寿命が情報処理システムの寿命を決定するため、メモリモジュールNVMDを寿命が長くするように、プロビジョナル容量ファクタPVFCTが大きな値をもつ論理アドレスDLADほど、プロビジョナル領域全容量PVAREAの中で、その論理アドレスDLADへ割り当てる容量が大きくする必要がある。
 そこで、プロビジョナル容量PVSIZEは、PVSIZE=PVFCT×プロビジョナル領域全容量PVAREAと表すことができる。
 図9において、次のStep5では、制御装置DYBS-CTLは
Step4で求めたブロックサイズBLKSIZEとプロビジョナル容量PVSIZEを利用し、ブロックサイズを示す1次ブロックサイズテーブルBLKTBL1と1次アドレス変換テーブルDLPTBL1を作成する。
 さらに、制御装置DYBS-CTL0~mが1次ブロックサイズテーブルBLKTBL1と、1次アドレス変換テーブルDLPTBL1を作成した後に、
 制御装置DYBS-CTLは、メモリ制御回路NVM-CTLへ、1次ブロックサイズテーブルBLKTBL1と、1次アドレス変換テーブルDLPTBL1を転送し、2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADMAPを新規に作成するよう指示する。
メモリ制御回路NVM-CTLは制御装置DYBS-CTLの指示に従って、
 1次ブロックサイズテーブルBLKTBL1および1次アドレス変換テーブルDLPTBL1の情報を基に、2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADMAPを作成する。
 次のStep6では、制御装置DYBS-CTLは、メモリモジュールNVMDが製品寿命に到達したかをチェックする。
 メモリモジュールNVMDが製品寿命に到達しなかった場合、Step7を行う。メモリモジュールNVMDが製品寿命に到達した場合、メモリ制御回路NVM-CTLは動的ブロックサイズ変更の動作を終了する。
Step7では、有効期間TCの測定を再開する。
 図13(A)および(B)には、制御装置DYBS-CTLが最初に(すなわち、図9で、1回目の有効期間TC(T1)の測定と分析が終わった後)作成した、64個の論理アドレスDLAD毎に対応した1次ブロックサイズテーブルBLKTBL1と1次アドレス変換テーブルDLPTBL1を示す。
 図14(A)および(B)には、制御装置DYBS-CTLが2回目(すなわち、図9で、2回目の有効期間TC(T2)の測定と分析が終わった後)に作成した、64個の論理アドレスDLAD毎に対応した1次ブロックサイズテーブルBLKTBL1と1次アドレス変換テーブルDLPTBL1を示す。
 ブロックサイズテーブルは、各論理アドレスに対してアクセス特性と、アクセス特性の基づいた物理ブロック仕様を表している。ブロックサイズテーブルにおいては、既述のように、DLADは論理アドレス、WCRATE1はライトアクセス回数の割合、AWDは論理アドレスの1回のライトアクセス当たりの平均ライトデータ量、WDRATEは各論理アドレスDLADの総ライトデータ量WDと各論理アドレスDLADの容量LCPの比率である。
 BLKFCTはブロックサイズファクタで、これが大きな値をもつ論理アドレスDLADほど、1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが高頻度で、当該論理アドレスDLADへ発生していることを示す。BLKSIZEは論理アドレスDLADのブロックサイズ、PVFCTはプロビジョナル容量ファクタで、これが大きな値をもつ論理アドレスDLADほど、ライトデータ量が多いことを示す。PVSIZEはプロビジョナル容量である。
 WRT1AVGは全論理アドレス領域の容量に対する各論理アドレスDLADの容量の割合、AWDTは全論理アドレス領域での1回のライトアクセス当たりの平均ライトデータ量、PVAREAはプロビジョナル領域全容量である。
 アドレス変換テーブルは、ブロックサイズテーブルに基づいて、論理アドレスに対する物理アドレスの割り当てを表す。アドレス変換テーブルにおいては、DPADは論理アドレスDLADに対応したメモリモジュールの物理アドレス、DPADSIZEは物理アドレスの容量、PRAREAはプロビジョナル領域に割り当てられた物理アドレスである。 図13(A)のブロックサイズテーブルBLKTBLをみると、
論理アドレスDLAD0~63へは、1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが、高頻度で、大量に、発生しているため、ブロックサイズファクタBLKFCTの値が、8.28と高い値になっている。
そのため、論理アドレスDLAD0~63のブロックサイズBLKSIZEは比較的小さな64KBとなる。
 一方、論理アドレスDLAD448~511へは、1回のライトアクセス当たりのライトデータサイズが大きなライトアクセスが、低頻度で、少量発生しているためブロックサイズファクタBLKFCTの値が、0.03と低いあたいとなっている。そのため、論理アドレスDLAD448~511のブロックサイズBLKSIZEは比較的大きな1024KBとなる。
 また、論理アドレスDLAD0~63へのライトとデータ量が多いため、プロビジョナル容量ファクタPVFCTの値が0.25と最も高い値を示している。そのため、論理アドレスDLAD0~63のプロビジョナル容量PVSIZEは32と最も高い値となる。
 一方、論理アドレスDLAD448~511への、ライトとデータ量が少ないため、プロビジョナル容量ファクタPVFCTの値が0.055と最も低い値を示している。そのため、論理アドレスDLAD448~511のプロビジョナル容量PVSIZEは7と最も低い値となる。
 図13(B)のアドレス変換テーブルDLPTBLをみると、論理アドレスDLAD0~63へ割り当てられている物理アドレスDPADはDPDA0~63、DPAD512~543である。
 つまり、論理アドレスDLAD0~63へ割り当てられている物理アドレスDPADの容量DPADSIZEは最も大きな値96となっている。これは、論理アドレスDLAD0~63のプロビジョナル容量PVSIZEの値32が論理アドレスDLAD0~64までの容量値64へ加算されているためである。
 一方、論理アドレスDLAD448~511へ割り当てられている物理アドレスDPADはDPDA448~511、DPAD631~639である。
つまり、論理アドレスDLAD448~511へ割り当てられている物理アドレスDPADの容量DPADSIZEは最も小さな値71となっている。これは、論理アドレスDLAD448~511のプロビジョナル容量PVSIZEの値7が論理アドレスDLAD448~511までの容量値64へ加算されているためである。
 図14(A)のブロックサイズテーブルBLKTBLをみると、論理アドレスDLAD0~63のブロックサイズファクタBLKFCTの値が、11.04と高い値になっている。そのため、論理アドレスDLAD0~63のブロックサイズBLKSIZEは32KBとなる。
 つまり、このブロックサイズファクタBLKFCTの値は、制御装置DYBS-CTLが1回目に作成したブロックサイズテーブルBLKTBLでの論理アドレスDLAD0~63のブロックサイズファクタBLKFCTよりも高い値となっている。これは論理アドレスDLAD0~63へ1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが、さらに、高頻度で、大量に、発生していることを示す。
 制御装置DYBS-CTLは、論理アドレスDLAD毎のライトアクセスの特徴を抽出し、論理アドレスDLAD0~63のブロックサイズBLKSIZEを64KBから32KBへ変更している。
 また、論理アドレスDLAD192~255のブロックサイズファクタBLKFCTの値が、0.58と低い値になっている。そのため、論理アドレスDLAD192~255のブロックサイズBLKSIZEは512KBとなる。
つまり、このブロックサイズファクタBLKFCTの値は、制御装置DYBS-CTLが1回目に作成したブロックサイズテーブルBLKTBLでの論理アドレスDLAD192~255のブロックサイズファクタBLKFCTよりも低い値となっている。これは論理アドレスDLAD192~255へ1回のライトアクセス当たりのライトデータサイズが大きなライトアクセスが、さらに、低頻度で、発生していることを示す。
 制御装置DYBS-CTLは、論理アドレスDLAD毎のライトアクセスの特徴を抽出し、論理アドレスDLAD192~255のブロックサイズBLKSIZEを256KBから512KBへ変更している。
 図14(B)のアドレス変換テーブルDLPTBLをみると、論理アドレスDLAD0~63へ割り当てられている物理アドレスDPADはDPDA0~63、DPAD512~564である。
 つまり、論理アドレスDLAD0~63へ割り当てられている物理アドレスDPADの容量DPADSIZEは117となっている。
 これは、制御装置DYBS-CTLが1回目に作成したアドレス変換テーブルDLPTBLでの論理アドレスDLAD0~63のプロビジョナル容量PVSIZEよりも高い値である53となっているためである。
 この様に、制御装置DYBS-CTLは、論理アドレスDLAD毎のライトデータ量を計算し、論理アドレスDLAD0~63へ割り当てる物理アドレスDPADの容量DPADSIZEを96から117へ増加している。
 また、論理アドレスDLAD192~255へ割り当てられている物理アドレスDPADはDPDA192~255、DPAD611~621である。
つまり、論理アドレスDLAD192~255へ割り当てられている物理アドレスDPADの容量DPADSIZEは75となっている。
 これは、制御装置DYBS-CTLが1回目に作成したアドレス変換テーブルDLPTBLでの論理アドレスDLAD192~255のプロビジョナル容量PVSIZEよりも低い値である11となっているためである。
 この様に、制御装置DYBS-CTLは、論理アドレスDLAD毎のライトデータ量を計算し、論理アドレスDLAD192~255へ割り当てる物理アドレスDPADの容量DPADSIZEを18から11へ減少している。
 以上述べたように制御装置DYBS-CTLは、ブロックサイズテーブルやアドレス変換テーブルに基づいた制御を行い、メモリアレイの消去ブロックの大きさや、プロビジョナル領域の設定が行われる。 特許文献3に示されている3次元構造の不揮発性メモリでは、N×M個の3次元構造のメモリセルアレイ内のデータを一括で消去する方法が示されている。このNとMの値は、どのメモリセルアレイを選択するかによって決めることができる。また、消去動作時のジュール熱が、消去対象のメモリセルアレイへ隣接する周辺のメモリセルの結晶状態に大きな影響を及ぼさないように熱緩衝領域を設けることが示されている。しかし、この熱緩衝領域にはデータを書き込まないため消去データ単位を小さくするほど、熱緩衝領域の割合が増え、実効メモリ容量が減少してしまう。すなわち、ブロックのブロックサイズを均等に小さくすれば、ブロック内の有効データ量が少なくなるという効果はあるが、ブロックの境界部分に熱緩衝領域が配置されている場合、その割合が増え、実効的なデータ容量が減少する。このように、従来の不揮発性メモリ装置では、SSDの性能と実効メモリ容量はトレードオフの関係にあった。よって、必要に応じてブロックサイズを変化させる本実施例の構成に利点がある。
 図15は、制御装置DYBS-CTLがメモリ制御回路NVM-CTLへ転送したブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM-CTLが作成したアドレスマップADMAP情報を利用し、構築する不揮発性メモリ装置NMVのメモリアレイのブロック構成の一例であり、ブロックサイズが1024KBの場合のブロック構成の一例である。
 一つのブロックは、129(X方向:X-BLK)×9216(Y方向:Y-BLK)×8(Z方向:Z-BLK)のチェインメモリアレイにて構成され、そのサイズは11888864バイト(=129(X方向)×9216(Y方向)×8(Z方向))であることを示す。
 また、消去データ単位は、8(X方向:XERS)×72(Y方向:YERS)×8(Z方向:ZERS)のメモリアレイが一括で低抵抗になり、その消去データサイズは576バイト(=9(X方向)×72(Y方向)×8(Z方向))である。
 また、X方向に一行分だけのメモリアレイ、つまり1(X方向:XWAL)×9216(Y方向)×8(Z方向)のメモリアレイが熱緩衝領域WALLとして設定され、そのサイズは9216バイト(=1(X方向)×9216(Y方向)×8(Z方向))であることを示す。
 不揮発性メモリ装置は、ブロックBLK0~BLKkn+n-1で構成されており、それぞれのブロック内のメモリアレイARYのチェインメモリアレイCYLと、チェインメモリアレイCYHの配置の一例が示されている。これらの図において、チェインメモリアレイCYLは、白い丸印で示され、熱緩衝領域を構成するチェインメモリアレイCYHは、黒い丸印で示されている。以下の図面においても、チェインメモリアレイCYLとチェインメモリアレイCYHは同様な表示方法をする。
 図15において、一つのブロックは、129(X方向)×9216(Y方向)のチェインメモリアレイにて構成され、そのサイズは11888864バイト(=129(X方向)×9216(Y方向)×8(Z方向))である。このブロックが多数個配置され、図4に示す不揮発性メモリのメモリアレイを構成する。
 一つのブロック内の書込み領域WT-AREAは、消去領域と同一で、複数のチェインメモリアレイCYLが物理的に集まって形成されている領域である。
 書込み領域WT-AREAのサイズは1179648バイト(=128(X方向)×9216(Y方向)×8(Z方向))である。
 書込み領域WT-AREA内のデータ領域DATA-AREAのサイズは1048576バイト(=128(X方向)×8192(Y方向)×8(Z方向))で、書込み領域WT-AREA内の管理領域MG-AREAのサイズは131072バイト(=128(X方向)×1024(Y方向)×8(Z方向))である。
 一つの論理アドレスLADのデータサイズは、8192バイトであり、情報処理回路CONTLは、このデータDATAに対するECCコードを生成し、不揮発性メモリのメモリアレイのブロック内の書込み領域WT-AREAへ、データDATAとECCコードを書き込む。
 また、一つの物理アドレスには、一つの論理アドレスLADのデータDATAを書き込む8192バイトのデータ領域DATA-AREAと、データDATAに対するECCコードなどを書き込む1024バイトの管理領域MG-AREAが割り当たてられるため、
1048576バイトの書込み領域WT-AREAには、128つの論理アドレスLADに対する物理アドレスのデータが格納される。
 また、熱緩衝領域WALLは、書込み領域WT-AREAの外側に配置される複数のチェインメモリアレイCYHが物理的に集まって形成されている領域である。
 図15において、 熱緩衝領域WALLのサイズは9216バイト(=1(X方向)×9216(Y方向)×8(Z方向))である。
 また、先ず、書込み領域WT-AREA(=消去領域)内の全チェインメモリアレイCYLに含まれる全メモリセルのデータは、“1”(Set状態:低抵抗状態)となる。すなわち、一括消去され、次に、物理アドレスPAD毎に、“0”のデータのみが(Reset状態:高抵抗状態)が書き込まれる。たとえば、書込み領域WT-AREAサイズが1179648バイトで、一回の消去動作による一括消去データサイズが576バイトである場合、2048回の消去動作がY方向と平行な方向に、順に行われ、書込み領域WT-AREAの全メモリセルのデータは、“1”(Set状態:低抵抗状態)となる。
 熱緩衝領域WALLに対しては消去動作が行われないため、書込み領域へ消去動作を行った際の熱ディスターブによる信頼性低下の影響が、隣接するブロックへ及ぼされることは無い。さらに、熱緩衝領域WALLに対しては、“0”のデータ(Reset状態:高抵抗状態)も書き込まれることは無い。熱緩衝領域となるメモリアレイCYHは構造的には通常のメモリセルであるが、制御装置により、書き込みや消去が行われないように制御される。
 この様に、チェインメモリアレイCYHを熱緩衝領域WALLとして書込み領域(=消去領域)の周辺に配置することで、熱ディスターブによる信頼性低下を防ぐことができる。
 なお、図15ではX方向には熱緩衝領域WALLが形成されていない。この実施例ではデバイス構造として、各ブロックBLKの間にはY方向に物理的に間隔が設けられているため、X方向には熱緩衝領域WALLが必要ないため形成されていないが、必要に応じてX方向にも熱緩衝領域を設けてよい。
 図16は、制御装置DYBS-CTLがメモリ制御回路NVM-CTLへ転送したブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM-CTLが作成したアドレスマップADMAP情報を利用し、構築する不揮発性メモリ装置NMVのメモリアレイのブロック構成の一例であり、ブロックサイズが128KBの場合のブロック構成の一例である。
 一つのブロックは、17(X方向:X-BLK)×9216(Y方向:Y-BLK)×8(Z方向:Z-BLK)のチェインメモリアレイにて構成され、そのサイズは156672バイト(=17(X方向)×9216(Y方向)×8(Z方向))である。
 また、消去データ単位および熱緩衝領域WALLは、図15と同様である。チェインメモリアレイCYLとチェインメモリアレイCYHの表示方法は図15と同様である。
 図16において、一つのブロックは、17(X方向)×9216(Y方向)のチェインメモリアレイにて構成され、そのサイズは156672バイト(=17(X方向)×9216(Y方向)×8(Z方向))である。このブロックが多数個配置され、図4に示す不揮発性メモリのメモリアレイを構成する。
 一つのブロック内の書込み領域WT-AREAは、消去領域と同一で、複数のチェインメモリアレイCYLが物理的に集まって形成されている領域である。
 書込み領域WT-AREAのサイズは147456バイト(=16(X方向)×9216(Y方向)×8(Z方向))である。
 書込み領域WT-AREA内のデータ領域DATA-AREAのサイズは131072バイト(=16(X方向)×8192(Y方向)×8(Z方向))で、書込み領域WT-AREA内の管理領域MG-AREAのサイズは16384バイト(=16(X方向)×1024(Y方向)×8(Z方向))である。
 情報処理回路CONTLによる不揮発性メモリのメモリアレイへの書込み方法および消去方法は、図15と同様である。
 図17は、制御装置DYBS-CTLがメモリ制御回路NVM-CTLへ転送したブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM-CTLが作成したアドレスマップADMAP情報を利用し、構築する不揮発性メモリ装置NMVのメモリアレイのブロック構成の一例であり、ブロックサイズが64KBの場合のブロック構成の一例である。
 一つのブロックは、9(X方向:X-BLK)×9216(Y方向:Y-BLK)×8(Z方向:Z-BLK)のチェインメモリアレイにて構成され、そのサイズは82944バイト(=9(X方向)×9216(Y方向)×8(Z方向))である。
 また、消去データ単位および熱緩衝領域WALLは、図15と同様である。チェインメモリアレイCYLとチェインメモリアレイCYHの表示方法は図15と同様である。
 図17において、一つのブロックは、9(X方向)×9216(Y方向)のチェインメモリアレイにて構成され、そのサイズは82944バイト(=9(X方向)×9216(Y方向)×8(Z方向))である。このブロックが多数個配置され、図4に示す不揮発性メモリのメモリアレイを構成する。
 一つのブロック内の書込み領域WT-AREAは、消去領域と同一で、複数のチェインメモリアレイCYLが物理的に集まって形成されている領域である。
 書込み領域WT-AREAのサイズは73728バイト(=8(X方向)×9216(Y方向)×8(Z方向))である。
 書込み領域WT-AREA内のデータ領域DATA-AREAのサイズは65536バイト(=8(X方向)×8192(Y方向)×8(Z方向))で、書込み領域WT-AREA内の管理領域MG-AREAのサイズは8192バイト(=8(X方向)×1024(Y方向)×8(Z方向))である。
 情報処理回路CONTLによる不揮発性メモリのメモリアレイへの書込み方法および消去方法は、図15と同様である。
 図18は、制御装置DYBS-CTLがメモリ制御回路NVM-CTLへ転送したブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM-CTLが作成したアドレスマップADMAP情報を利用し、構築する不揮発性メモリ装置NMVのメモリアレイのブロック構成の一例であり、ブロックサイズが32KBの場合のブロック構成の一例である。
 一つのブロックは、5(X方向:X-BLK)×9216(Y方向:Y-BLK)×8(Z方向:Z-BLK)のチェインメモリアレイにて構成され、そのサイズは46080バイト(=5(X方向)×9216(Y方向)×8(Z方向))である。
 また、消去データ単位および熱緩衝領域WALLは、図15と同様である。チェインメモリアレイCYLとチェインメモリアレイCYHの表示方法は図15と同様である。
 図18において、一つのブロックは、5(X方向)×9216(Y方向)のチェインメモリアレイにて構成され、そのサイズは46080バイト(=9(X方向)×9216(Y方向)×8(Z方向))である。このブロックが多数個配置され、図4に示す不揮発性メモリのメモリアレイを構成する。
 一つのブロック内の書込み領域WT-AREAは、消去領域と同一で、複数のチェインメモリアレイCYLが物理的に集まって形成されている領域である。
 書込み領域WT-AREAのサイズは36864バイト(=4(X方向)×9216(Y方向)×8(Z方向))である。
 書込み領域WT-AREA内のデータ領域DATA-AREAのサイズは32768バイト(=8(X方向)×8192(Y方向)×8(Z方向))で、書込み領域WT-AREA内の管理領域MG-AREAのサイズは8192バイト(=8(X方向)×1024(Y方向)×8(Z方向))である。
 情報処理回路CONTLによる不揮発性メモリのメモリアレイへの書込み方法および消去方法は、図15と同様である。
 図15~図18で説明した様に、ブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM-CTLが、図4に示す不揮発性メモリのメモリアレイのブロックサイズを最適に構成でき、不揮発性メモリ容量に対する熱緩衝領域の割合を抑え、メモリモジュールMDの低コスト化と高性能化を実現できる。
 図15~図18では、ブロックサイズを変更するに際して、Y方向の幅を変えずにX方向の幅を変更しているが、サイズの変更方法としてはこれに限るものではなく、Y方向の幅を変更してもよい。ただし、図15~図18の手法では、X方向に並ぶブロックの境界を変更するために、Y方向に並ぶメモリアレイCYHの位置を変更するだけでよいので制御が簡単である。また、Y方向に並ぶブロックの境界は、デバイス構造による物理的な間隔を利用しているので、熱緩衝領域の設定が必要ないという利点もある。なお、熱緩衝の影響を無視できるデバイス構造であれば、熱緩衝領域は設けなくてもよい。
 (まとめ)
 以上に説明した各実施の形態によって得られる主な効果は以下の通りである。
 第1に、論理アドレス毎に生じるライトおよびリードリクエストの特徴量を抽出することにより、論理アドレスのブロックサイズ最適に変更でき、半導体装置のデータ転送性能を向上できる。
 第2に、論理アドレス毎に生じるライトリクエストの特徴量を抽出することにより、各論理アドレス領域に対する物理アドレス領域の容量を最適化でき、半導体装置の信頼性を向上できる。
 第3に、論理アドレス毎に生じるライトおよびリードリクエストの特徴量を抽出することにより、論理アドレスのブロックサイズ最適に変更でき、不揮発性メモリ容量に対する熱緩衝領域の割合を抑え、半導体装置の低コスト化を実現できる。
 以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、実施の形態においては、主に相変化メモリを代表として説明を行ったが、ReRAM等を含めた抵抗変化型のメモリであれば、同様に適用して同様の効果が得られる。
 また、実施例において、複数のメモリセルが半導体基板に対して高さ方向に順に積層して配置される3次元構造のメモリを代表として説明を行ったが、半導体基板に対して高さ方向に1つのメモリセルが配置される2次元構造のメモリにおいても同様に適用して同様の効果が得られる。
 不揮発性メモリを利用した、記憶装置の技術分野に利用することができる。
 ADCMDIF…アドレス・コマンドインターフェース回路、ARB…調停回路、ARY…メモリアレイ、BK…メモリバンク、BL…ビット線、BSW…ビット線選択回路、BUF…バッファ、CADLT…カラムアドレスラッチ、CH…チェイン制御線、CHDEC…チェインデコーダ、CHLT…チェイン選択アドレスラッチ、CL…相変化メモリセル、COLDEC…カラムデコーダ、PAD…物理アドレス、CPAD…物理アドレス、CPUG…情報処理装置、CTLOG…制御回路、CY…チェインメモリアレイ、DATCTL…データ制御回路、DBUF…データバッファ、DSW…データ選択回路、DT…データ線、ENUM…エントリー番号、HDH_IF…インターフェース信号、HOST_IF…インターフェース回路、IOBUF…IOバッファ、LAD…論理アドレス、LRNG…論理アドレス領域、DLPTBL…アドレス変換テーブル、LY…メモリセル選択線、LYC…レイヤ番号、LYN…データ書込みレイヤ情報、MAPREG…マップレジスタ、MDLCT…制御回路、MNERC…最小消去回数、MNGER…情報処理回路、MNIPAD…無効物理オフセットアドレス、MNVPAD…有効物理オフセットアドレス、MXERC…最大消去回数、MXIPAD…無効物理オフセットアドレス、MXVPAD…有効物理オフセットアドレス、NVCT…メモリ制御回路、NVM…不揮発性メモリ装置、NVMMD…メモリモジュール、PAD…物理アドレス、PADTBL…物理アドレステーブル、PERC…消去回数、PPAD…物理オフセットアドレス、PRNG…物理アドレス領域、PVLD…有効フラグ、R…記憶素子、RADLT…ロウアドレスラッチ、RAM…ランダムアクセスメモリ、RAMC…メモリ制御回路、REF_CLK…基準クロック信号、REG…レジスタ、ROWDEC…ロウデコーダ、RSTSIG…リセット信号、SA…センスアンプ、SGAD…物理セグメントアドレス、SL…チェインメモリアレイ選択線、STREG…ステータスレジスタ、SWB…読み書き制御ブロック、SYMD…クロック生成回路、Tch…チェイン選択トランジスタ、Tcl…メモリセル選択トランジスタ、THMO…温度センサ、TNIPA…無効物理アドレス総数、TNVPA…有効物理アドレス総数、WDR…ライトドライバ、WL…ワード線、WV…書込みデータ検証回路、CPUG…情報処理装置、ROUTER…ルーター装置、DYBS-CTL0~31…制御装置、STRG0~31…ストレージ装置、CPU0~31…情報処理回路、MD0~31…CPUメモリモジュール、メM0~7…メモリ装置を備える。
NVMD0~31…メモリモジュール、NVM0~NVM31…不揮発性メモリ装置、RAM0…ランダムアクセスメモリNVM-CTL…メモリ制御回路、BLKTBL…ブロックサイズテーブル、DLPTBL…アドレス変換テーブル、DLAD…論理アドレス、DPAD…物理アドレス、ERSTBL…消去回数テーブル、ADMAP…アドレスマップ

Claims (15)

  1.  消去単位と書き込み単位が異なる不揮発性メモリの制御方法であって、
     所定単位の論理アドレスに対して前記不揮発性メモリの物理アドレスを割り当て、
     前記所定単位の論理アドレスに対するライトアクセスの状況に応じて、当該論理アドレスに割り当てられる物理アドレスが含まれる前記消去単位の大きさを制御することを特徴とする、不揮発性メモリの制御方法。
  2.  前記ライトアクセスの状況は、前記所定単位の論理アドレスの平均ライトデータ量および前記所定単位の論理アドレスのライトアクセス回数の少なくとも一つを含むことを特徴とする、請求項1記載の不揮発性メモリの制御方法。
  3.  前記ライトアクセスの状況は、全ての論理アドレスの平均ライトデータ量および全ての論理アドレスのライトアクセス回数の少なくとも一つを含むことを特徴とする、請求項2記載の不揮発性メモリの制御方法。
  4.  さらに、前記所定単位の論理アドレスに対するリードアクセスの状況に応じて、前記消去単位の大きさを制御することを特徴とする、請求項1記載の不揮発性メモリの制御方法。
  5.  前記所定単位の論理アドレスに対するライトアクセスの状況に応じて、前記割り当てられる物理アドレスに含まれるプロビジョナル領域の量を制御することを特徴とする請求項1記載の不揮発性メモリの制御方法。
  6.  不揮発性メモリの制御装置であって、
     論理アドレスに対して前記不揮発性メモリの物理アドレスを割り当て、前記物理アドレスにアクセスを行う制御回路を有し、
     前記制御回路は、前記論理アドレスに対するアクセス状況に基づいて、当該論理アドレスに対応する前記物理アドレスを含む消去単位ブロックの大きさを動的に変化させることを特徴とする不揮発性メモリの制御装置。
  7.  不揮発性メモリと、
     入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリの前記物理アドレスにアクセスを行う制御回路と、を有し、
     前記制御回路は、前記不揮発性メモリの前記物理アドレスを含むブロックのブロックサイズを動的に変化させ、書込みを行うことを特徴とする半導体記憶装置。
  8.  請求項7に記載の半導体記憶装置において、
     前記制御回路は、前記論理アドレス毎に、前記制御回路へ入力するライトリクエストの第1特徴量を計算し、前記第1特徴量に基づいて、前記不揮発性メモリの前記物理アドレスを含む前記ブロックのブロックサイズを決定することを特徴とする半導体記憶装置。
  9.  請求項7に記載の半導体記憶装置において、
     前記制御回路は、前記論理アドレス毎に、前記制御回路へ入力するライトリクエストの第2特徴量を計算し、前記第2特徴量に基づいて、前記論理アドレスを複数個分含む論理アドレス領域の容量に対する、前記物理アドレスを複数個分含む物理アドレス領域の容量を決定することを特徴とする半導体記憶装置。
  10.  請求項8に記載の半導体記憶装置において、
     前記制御回路は、前記論理アドレスに対する前記ブロックサイズを示すブロックサイズテーブルを作成することを特徴とする半導体記憶装置。
  11.  請求項9に記載の半導体記憶装置において、
     前記制御回路は、前記論理アドレスに領域対する前記物理アドレス領域を示すアドレス変換テーブルを作成することを特徴とする半導体記憶装置。
  12.  請求項8に記載の半導体記憶装置において、
     前記制御回路は、前記第1特徴量が大きいほど、より小さな前記ブロックサイズを前記論理アドレスへ割り当てることを特徴とする半導体記憶装置。
  13.  請求項9に記載の半導体記憶装置において、
     前記制御回路は、前記第2特徴量が大きいほど、より大きな前記物理アドレス領域の容量を、前記論理アドレス領域へ割り当てることを特徴とする半導体記憶装置。
  14.  請求項8に記載の半導体記憶装置において、
     前記制御回路は、期間T内で、前記制御回路へ入力したライトリクエストに対して、前記第1特徴量を計算し、前記第1特徴量に基づいて、前記不揮発性メモリの前記物理アドレスを含む前記ブロックのブロックサイズを決定することを特徴とする半導体記憶装置。
  15.  請求項9に記載の半導体記憶装置において、
     前記制御回路は、期間T内で、前記論理アドレス毎に、前記制御回路へ入力するライトリクエストの第2特徴量を計算し、前記第2特徴量に基づいて、前記論理アドレスを複数個分含む論理アドレス領域の容量に対する、前記物理アドレスを複数個分含む物理アドレス領域の容量を決定することを特徴とする半導体記憶装置。
PCT/JP2015/062853 2015-04-28 2015-04-28 不揮発性メモリの制御方法、制御装置、および半導体記憶装置 WO2016174744A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017515329A JP6360627B2 (ja) 2015-04-28 2015-04-28 不揮発性メモリの制御方法、制御装置、および半導体記憶装置
PCT/JP2015/062853 WO2016174744A1 (ja) 2015-04-28 2015-04-28 不揮発性メモリの制御方法、制御装置、および半導体記憶装置
US15/566,854 US10388369B2 (en) 2015-04-28 2015-04-28 Nonvolatile memory control method, control device, and semiconductor storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/062853 WO2016174744A1 (ja) 2015-04-28 2015-04-28 不揮発性メモリの制御方法、制御装置、および半導体記憶装置

Publications (1)

Publication Number Publication Date
WO2016174744A1 true WO2016174744A1 (ja) 2016-11-03

Family

ID=57198255

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/062853 WO2016174744A1 (ja) 2015-04-28 2015-04-28 不揮発性メモリの制御方法、制御装置、および半導体記憶装置

Country Status (3)

Country Link
US (1) US10388369B2 (ja)
JP (1) JP6360627B2 (ja)
WO (1) WO2016174744A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6524039B2 (ja) * 2016-09-23 2019-06-05 東芝メモリ株式会社 メモリシステム及び制御方法
US10733107B2 (en) * 2016-10-07 2020-08-04 Via Technologies, Inc. Non-volatile memory apparatus and address classification method thereof
JP6779821B2 (ja) * 2017-03-24 2020-11-04 キオクシア株式会社 メモリシステム及びデータの読み出し方法
JP6517385B1 (ja) * 2018-02-07 2019-05-22 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
DE102019128331A1 (de) * 2019-08-29 2021-03-04 Taiwan Semiconductor Manufacturing Co., Ltd. Gemeinsam genutzter decodiererschaltkreis und verfahren

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002133877A (ja) * 2001-09-03 2002-05-10 Toshiba Corp 不揮発性半導体記憶装置
JP2013250982A (ja) * 2012-06-01 2013-12-12 Samsung Electronics Co Ltd 記憶装置のデータ書き込み方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100470585C (zh) * 2004-03-31 2009-03-18 松下电器产业株式会社 存储卡和存储卡系统
KR100739256B1 (ko) * 2006-05-12 2007-07-12 주식회사 하이닉스반도체 소거 동작시 메모리 셀 블록의 크기를 선택적으로 변경하는기능을 가지는 플래시 메모리 장치 및 그 소거 동작 방법
TWI492432B (zh) 2009-12-17 2015-07-11 Hitachi Ltd Semiconductor memory device and manufacturing method thereof
JP2011142186A (ja) 2010-01-06 2011-07-21 Toshiba Corp 抵抗変化メモリ
JP2012058770A (ja) * 2010-09-03 2012-03-22 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR101289931B1 (ko) * 2011-09-23 2013-07-25 한양대학교 산학협력단 다양한 블록 크기를 지원하는 주소 사상을 사용하여 플래시 메모리 내에 데이터를 저장하는 방법 및 장치
US9645917B2 (en) * 2012-05-22 2017-05-09 Netapp, Inc. Specializing I/O access patterns for flash storage
US9489148B2 (en) 2013-03-13 2016-11-08 Seagate Technology Llc Selecting between non-volatile memory units having different minimum addressable data unit sizes
US9478284B2 (en) 2013-05-20 2016-10-25 Hitachi, Ltd. Semiconductor storage device
JP6139711B2 (ja) * 2014-02-03 2017-05-31 株式会社日立製作所 情報処理装置
WO2015118623A1 (ja) * 2014-02-05 2015-08-13 株式会社日立製作所 情報処理装置
TWI595492B (zh) * 2016-03-02 2017-08-11 群聯電子股份有限公司 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002133877A (ja) * 2001-09-03 2002-05-10 Toshiba Corp 不揮発性半導体記憶装置
JP2013250982A (ja) * 2012-06-01 2013-12-12 Samsung Electronics Co Ltd 記憶装置のデータ書き込み方法

Also Published As

Publication number Publication date
US20180108404A1 (en) 2018-04-19
US10388369B2 (en) 2019-08-20
JPWO2016174744A1 (ja) 2017-12-28
JP6360627B2 (ja) 2018-07-18

Similar Documents

Publication Publication Date Title
US9898207B2 (en) Storage device
JP6360627B2 (ja) 不揮発性メモリの制御方法、制御装置、および半導体記憶装置
JP5756622B2 (ja) 半導体装置
JP5847940B2 (ja) 半導体装置
KR102635689B1 (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US11163494B2 (en) Memory system, memory controller and operating method
CN112346652A (zh) 存储器控制器及其操作方法
JP6073495B2 (ja) 半導体装置
US11301174B2 (en) Memory system, memory controller and method for operating memory system
US11550375B2 (en) Storage system and operating method thereof
US11474726B2 (en) Memory system, memory controller, and operation method thereof
JP6145227B2 (ja) 半導体装置
KR20210101972A (ko) 메모리 컨트롤러 및 그 동작 방법
KR20210028517A (ko) 메모리 컨트롤러 및 그 동작 방법
KR20210000010A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US11709610B2 (en) Memory system, memory controller and operating method
WO2017017842A1 (ja) メモリの制御装置、記憶装置、および、メモリの書込み方法
US11675712B2 (en) Memory system, memory controller, and operation method of memory system
US11507509B2 (en) Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size
US20230195342A1 (en) Memory system for managing data corresponding to a plurality of zones and operating method thereof
US20240211153A1 (en) Memory system for executing a target operation based on a program state of a super memory block and operating method thereof
US20240004566A1 (en) Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system
KR20160144563A (ko) 불휘발성 메모리 모듈 및 그것의 동작 방법
JP5620557B2 (ja) 情報処理システム
JP5807103B2 (ja) 半導体装置

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: 15890728

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017515329

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15566854

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15890728

Country of ref document: EP

Kind code of ref document: A1