WO2023175684A1 - メモリシステム、および、その制御方法、ならびに、情報処理装置 - Google Patents

メモリシステム、および、その制御方法、ならびに、情報処理装置 Download PDF

Info

Publication number
WO2023175684A1
WO2023175684A1 PCT/JP2022/011399 JP2022011399W WO2023175684A1 WO 2023175684 A1 WO2023175684 A1 WO 2023175684A1 JP 2022011399 W JP2022011399 W JP 2022011399W WO 2023175684 A1 WO2023175684 A1 WO 2023175684A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
firmware
storage
memory system
user data
Prior art date
Application number
PCT/JP2022/011399
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 PCT/JP2022/011399 priority Critical patent/WO2023175684A1/ja
Publication of WO2023175684A1 publication Critical patent/WO2023175684A1/ja

Links

Images

Classifications

    • 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
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Definitions

  • Embodiments of the present invention relate to a memory system, a control method thereof, and an information processing device.
  • NAND flash memory included in memory systems is becoming increasingly multivalued.
  • quality of data retention reliability, data storage amount, etc.
  • the present embodiment aims to provide a highly convenient memory system, its control method, and an information processing device.
  • the memory system of the embodiment includes a nonvolatile memory having memory cells capable of storing user data using a plurality of different storage methods, and a memory controller that controls the nonvolatile memory.
  • the nonvolatile memory includes a firmware storage area for storing firmware and a user data area for storing user data, and the firmware storage area stores firmware corresponding to each of the storage methods, and the memory
  • the controller is characterized in that it controls the settings of the nonvolatile memory using the firmware that corresponds to the storage method instructed from the outside.
  • FIG. 1 is a diagram illustrating an example of a configuration of a memory system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating an example of the configuration of a firmware storage area according to the first embodiment.
  • 3 is a flowchart illustrating an example of a method for controlling the memory system according to the first embodiment.
  • FIG. 7 is a block diagram illustrating an example of a configuration of a firmware storage area according to a second embodiment. 7 is a flowchart illustrating an example of a method for controlling a memory system according to a second embodiment.
  • FIG. 1 is a diagram illustrating an example of the configuration of a memory system according to an embodiment of the present invention.
  • FIG. 1 shows, as an example, an information processing system configured by connecting a memory system 100 according to an embodiment to a host 3, which is an information processing device.
  • the memory system 100 shown in FIG. 1 is various types of storage devices such as a USB (Universal Serial Bus) memory, a memory card, and the like.
  • the memory system 100 is communicably connected to an external host 3.
  • the host 3 is, for example, an electronic device such as a personal computer or a mobile terminal.
  • the information processing system shown in FIG. 1 can be used as a system for recording images captured by the drive recorder on the USB memory. can.
  • the memory system 100 of this embodiment includes a memory controller 1 and a nonvolatile memory 2.
  • the non-volatile memory 2 is a memory that stores data in a non-volatile manner, and is composed of, for example, a NAND flash memory (hereinafter referred to as NAND memory).
  • NAND memory a NAND flash memory
  • Nonvolatile memory 2 includes a memory cell array 21 including a plurality of memory cells and a control circuit (not shown).
  • the nonvolatile memory 2 is configured, for example, as a NAND memory having memory cells capable of holding 3 bits (8 values) of data per memory cell, that is, as a NAND memory with a TLC (Triple Level Cell) storage method.
  • TLC Triple Level Cell
  • the non-volatile memory 2 is of the SLC (Single Level Cell) type that can hold 1-bit (binary) data, the MLC (Multi Level Cell) type that can hold 2-bit (4-value) data, and the 4-bit (16-value) type. It is also possible to use a QLC (Quad Level Cell) method that can hold data of 5 bits or more, or a method that can hold data of 5 or more bits. Note that in the following description, the "storage method” may be simply referred to as "method".
  • the memory controller 1 controls writing of data to the nonvolatile memory 2 according to a write request from the host 3. Furthermore, the memory controller 1 controls reading of data from the nonvolatile memory 2 according to a read request from the host 3.
  • the memory controller 1 includes a RAM (Random Access Memory) 11, a processor 12, a host interface circuit 13, an ECC (Error Check and Correct) circuit 14, a memory interface circuit 15, and an ROM (Read Only Memory) 17.
  • RAM 11, processor 12, host interface circuit 13, ECC circuit 14, memory interface circuit 15, and ROM 17 are connected to each other by internal bus 16.
  • the host interface circuit 13 outputs requests, user data (write data), etc. received from the host 3 to the internal bus 16. Further, the host interface circuit 13 transmits user data read from the nonvolatile memory 2, responses from the processor 12, etc. to the host 3.
  • the memory interface circuit 15 controls the process of writing user data etc. to the nonvolatile memory 2 and the process of reading it from the nonvolatile memory 2 based on instructions from the processor 12.
  • the processor 12 controls the memory controller 1 in an integrated manner.
  • the processor 12 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like.
  • the processor 12 receives a request from the host 3 via the host interface circuit 13, the processor 12 performs control according to the request.
  • the processor 12 instructs the memory interface circuit 15 to write user data and parity into the nonvolatile memory 2 in accordance with a request from the host 3. Further, in accordance with a request from the host 3, the processor 12 instructs the memory interface circuit 15 to read user data and parity from the nonvolatile memory 2.
  • the processor 12 determines a storage area (memory area) on the nonvolatile memory 2 for user data stored in the RAM 11.
  • User data is stored in RAM 11 via internal bus 16.
  • the processor 12 determines the memory area for data in units of pages (page data), which are units of writing.
  • User data (unit data) stored in one page of the nonvolatile memory 2 is generally encoded by the ECC circuit 14 and stored in the nonvolatile memory 2 as a code word.
  • encoding is not essential.
  • FIG. 1 shows a configuration in which encoding is performed as an example of the configuration. If the memory controller 1 does not perform encoding, the page data matches the unit data.
  • one code word may be generated based on one unit data, or one code word may be generated based on divided data obtained by dividing unit data. Further, one code word may be generated using a plurality of unit data.
  • the processor 12 determines the memory area of the nonvolatile memory 2 to which data will be written for each unit of data.
  • a physical address is assigned to a memory area of the nonvolatile memory 2.
  • the processor 12 manages the memory area to which unit data is written using physical addresses.
  • the processor 12 instructs the memory interface circuit 15 to designate the determined memory area (physical address) and write the user data into the nonvolatile memory 2.
  • the processor 12 manages the correspondence between logical addresses of user data (logical addresses managed by the host 3) and physical addresses. When the processor 12 receives a read request including a logical address from the host 3, it identifies a physical address corresponding to the logical address, specifies the physical address, and instructs the memory interface circuit 15 to read user data.
  • the ECC circuit 14 encodes the user data stored in the RAM 11 to generate a code word. Further, the ECC circuit 14 decodes the code word read from the nonvolatile memory 2.
  • the RAM 11 temporarily stores user data received from the host 3 before storing it in the nonvolatile memory 2, and temporarily stores data read from the nonvolatile memory 2 before transmitting it to the host 3.
  • the RAM 11 is, for example, a general-purpose memory such as SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory).
  • the ROM 17 stores a boot program.
  • the boot program is a program that is executed first when the memory system 100 is powered on.
  • the RAM 11 can hold the boot program and is used as a work area for the processor 12. That is, when the memory system 100 is powered on, the boot program stored in the ROM 17 is first loaded onto the RAM 11 and executed by the processor 12.
  • the boot program is executed, predetermined firmware is loaded from the nonvolatile memory 2 into the RAM 11.
  • the firmware loaded into the RAM 11 is then executed by the processor 12.
  • the series of operations described above enables the memory controller 1 to perform various operations including write operations, read operations, and the like.
  • FIG. 1 shows a configuration example in which the memory controller 1 includes an ECC circuit 14 and a memory interface circuit 15, respectively.
  • the ECC circuit 14 may be built into the memory interface circuit 15.
  • the ECC circuit 14 may be built into the nonvolatile memory 2.
  • the memory system 100 When a write request is received from the host 3, the memory system 100 operates as follows.
  • the processor 12 causes the RAM 11 to temporarily store the data to be written.
  • the processor 12 reads data stored in the RAM 11 and inputs it to the ECC circuit 14 .
  • the ECC circuit 14 encodes the input data and inputs the code word to the memory interface circuit 15.
  • the memory interface circuit 15 writes the input code word into the nonvolatile memory 2.
  • the memory system 100 When a read request is received from the host 3, the memory system 100 operates as follows.
  • the memory interface circuit 15 inputs the code word read from the nonvolatile memory 2 to the ECC circuit 14.
  • the ECC circuit 14 decodes the input code word and stores the decoded data in the RAM 11.
  • the processor 12 transmits the data stored in the RAM 11 to the host 3 via the host interface circuit 13.
  • the memory cell array 21 of the nonvolatile memory 2 has a firmware storage area 211, a management area 212, and a user data area 213.
  • the firmware storage area 211 stores firmware that is executed by the memory controller 1 during a startup operation after the memory system 100 is powered on.
  • the host 3 as an information processing device reads and writes data to and from the memory system 100.
  • the host 3 includes a RAM 31, a processor 12, an interface 33, an input section 34, and a display section 35.
  • the processor 32 controls the host 3 in an integrated manner.
  • the processor 32 is, for example, a CPU, an MPU, or the like.
  • the processor 12 receives a request from the user via the input unit 34, the processor 12 performs control according to the request. For example, processor 32 instructs interface 33 to write user data to memory system 100 in accordance with a request from a user. Further, the processor 32 instructs the interface 33 to read user data from the memory system 100 in accordance with a request from the user. Further, in accordance with a request from the user, the interface 33 is instructed to change the storage method of the memory system 100 or to inquire about the storage method.
  • the interface 33 outputs requests input from the user, user data (write data), etc. to the memory system 100 based on instructions from the processor 32. Further, the interface 33 causes the display unit 35 to display user data read from the memory system 100 and various responses (for example, storage method, etc.).
  • the input unit 34 receives instructions from the user and transmits the contents of the instructions to the processor 32.
  • the input unit 34 includes, for example, a keyboard (not shown), a touch panel display, a voice input device such as a microphone, and the like.
  • the display unit 35 displays user data read from the memory system 100, inquiry results from the user, and the like.
  • FIG. 2 is a block diagram illustrating an example of the configuration of the firmware storage area according to the first embodiment.
  • a plurality of firmwares are stored in the firmware storage area 211.
  • three firmwares are stored: TLC firmware FW1, SLC firmware FW2, and switching firmware FWt.
  • the TLC firmware FW1 is firmware used when holding data in the user data area 213 using the TLC method.
  • the SLC firmware FW2 is firmware used when holding data in the user data area 213 using the SLC method.
  • the switching firmware FWt is firmware used when switching the storage method of the user data area 213.
  • the firmware storage area 211 may further store firmware used to hold data in the user data area 213 in other ways, such as for MLC and QLC.
  • appropriate firmware is selected from among the plurality of firmwares stored in the firmware storage area 211 and output to the memory controller 1.
  • the management area 212 stores various management information for controlling the operation of the memory system 100.
  • the management information is, for example, shift table information (information regarding the amount of shift during shift read), lookup table (correspondence table between logical addresses and physical addresses), and the like.
  • the management information is copied from the nonvolatile memory 2 to the RAM 11 of the memory controller 1 and used when the power is turned on.
  • the user data area 213 stores data written from the host 3.
  • the data storage method in the user data area 213 can be switched according to instructions from the user.
  • data is stored using the TLC method in a normal state, but it is possible to switch to the SLC method and store data according to an instruction from the user.
  • the data capacity that can be stored in the nonvolatile memory 2 varies depending on the data storage method, and the following relationship (1) holds true.
  • the quality of data is expressed, for example, by a data retention (DR) period.
  • the data retention period refers to a period during which data written to a certain memory cell can be correctly read from the memory cell even after a period of time has elapsed since the data was written. That is, the larger the storable data capacity is, the shorter the data retention period is, and the smaller the storable data capacity is, the longer the data retention period is.
  • users may require capacity or reliability.
  • the nonvolatile memory 2 when the host 3 is a drive recorder equipped with a camera unit, the nonvolatile memory 2 is generally required to have a large capacity because it is desired to record imaged data for a long time.
  • the nonvolatile memory 2 when an accident occurs, it is desired to reliably record imaged data for a long period of time, so the nonvolatile memory 2 is required to have high reliability (long data retention period). That is, by using the memory system 100 in which the data storage method can be changed as in this embodiment, data is normally written using a method such as the TLC method that allows a large amount of data to be stored, and high reliability is required. In some situations, data can be written by changing to a method with a long data retention period, such as the SLC method. Therefore, the user does not have to use memory systems 100 with different storage methods while exchanging them depending on the nature of the data, which improves convenience.
  • FIG. 3 is a flowchart illustrating an example of a method for controlling the memory system according to the first embodiment.
  • the memory controller 1 starts the boot program stored in the ROM 17 and reads out the firmware of the set method from the nonvolatile memory 2 (step (hereinafter referred to as S). omitted) 1).
  • the firmware used in the method set in the memory system 100 in advance (for example, TLC firmware FW1) is read. If the memory system 100 is already in use and the power is turned on for the second time or later, the firmware used for the method set before the last power-off is read. For example, if data was recorded using the SLC method before the last power shutoff, the SLC firmware FW2 is read out. Further, for example, if data was recorded using the TLC method before the last power cut, the TLC firmware FW1 is read out.
  • the firmware When the firmware is loaded into the memory controller 1, the firmware is executed by the processor 12 and a system is constructed (S2). In other words, the nonvolatile memory 2 is brought into a state in which it can perform various operations including writing and reading data in the nonvolatile memory 2 using methods supported by the firmware.
  • S2 When S2 is completed, the host 3 can write and read data to and from the memory system 100.
  • the user can inquire (confirm) the current storage method of the memory system 100 via the host 3.
  • the host 3 inquires about the method of the memory system 100 (S3: Yes)
  • the memory controller 1 responds with the current method (S4). If there is no inquiry about the method of the memory system 100 from the host 3 (S3: No), the memory system 100 continues to be used in the current method.
  • the memory controller 1 After the response of the method, if the user instructs switching to a method different from the current method (S5: Yes), the memory controller 1 reads the switching firmware FWt from the nonvolatile memory 2 (S6).
  • the switching firmware FWt is executed by the processor 12, and all data stored in the user data area 213 is erased (S7).
  • the firmware of the method specified by the user in S5 is read into the memory controller 1 (S8). For example, when switching to the SLC method is instructed in S5, the SLC firmware FW2 is read out in S8.
  • the firmware When the firmware is loaded into the memory controller 1, the firmware is executed by the processor 12, and the system is constructed (S9).
  • the nonvolatile memory 2 is brought into a state in which it can perform various operations including writing and reading data in the nonvolatile memory 2 using methods supported by the firmware.
  • S9 When S9 is completed, the user can write and read data to and from the memory system 100 in the specified manner. Note that in S9, after the system construction is completed, it is desirable that the memory system 100 outputs a response signal indicating completion of switching to the host 3.
  • the memory controller 1 After switching the method, if the host 3 inquires about the storage method of the memory system 100 for confirmation (S10: Yes), the memory controller 1 responds with the current method (the method after switching) (S11). If there is no inquiry about the method of the memory system 100 from the host 3 (S10: No), the memory system 100 is continuously used in the current method (the method after switching).
  • the memory system 100 of this embodiment includes a plurality of firmwares, each of which corresponds to a different number of bits of data held in one memory cell. It also includes switching firmware FWt that executes system rebuilding operations associated with system switching. Therefore, the user can switch to a desired method and use the memory system 100, which improves convenience.
  • the memory system 100 includes a plurality of firmwares, and firmware is prepared for each data storage method.
  • the present embodiment differs in that the memory system 100 includes only one firmware.
  • the configuration of the memory system 100 of this embodiment is similar to the configuration of the first embodiment shown in FIG. 1 except that the configuration of the firmware storage area 211 is different.
  • the configuration of the firmware storage area 211 which is different from the first embodiment, will be described below.
  • FIG. 4 is a block diagram illustrating an example of the configuration of a firmware storage area according to the second embodiment.
  • One firmware FWa is stored in the firmware storage area 211.
  • Firmware FWa is composed of multiple modules.
  • the firmware FWa includes three modules: a TLC module MD11, an SLC module MD12, and a common module MD2.
  • the TLC module MD11 and the SLC module MD12 are configured to perform processing according to each method. is stored.
  • firmware FWa may further include modules used to hold data in the user data area 213 in other ways, such as an MLC module or a QLC module.
  • FIG. 5 is a flowchart illustrating an example of a method for controlling a memory system according to the second embodiment.
  • the memory controller 1 starts the boot program stored in the ROM 17, reads the firmware FWa from the nonvolatile memory 2, and stores it in the RAM 11 (S21).
  • a module of the set method and a common module are selected from the firmware FWa and executed by the processor 12 (S22).
  • a module (TLC module MD11) corresponding to a method (for example, TLC method) set in advance in the memory system 100 and a common module MD2 are selected. be done. If the memory system 100 is already in use and the power is turned on for the second time or later, the module and common module corresponding to the method set before the last power-off are selected. For example, if data was recorded using the SLC method before the last power cut, the SLC module MD12 and the common module MD2 are selected.
  • the selected module is placed in a state in which it can perform various operations including writing and reading data to and from the nonvolatile memory 2 in a manner supported by the module.
  • the host 3 can write and read data to and from the memory system 100.
  • the user can inquire (confirm) the current storage method of the memory system 100 via the host 3.
  • the host 3 inquires about the method of the memory system 100 (S23: Yes)
  • the memory controller 1 responds with the current method (S24). If there is no inquiry about the method of the memory system 100 from the host 3 (S23: No), the memory system 100 is continuously used in the current method.
  • the memory controller 1 selects a module corresponding to the specified method and a common module from the firmware FWa stored in the RAM 11, and rebuilds the system (S27). For example, when switching from the TLC method to the SLC method, from a state where the TLC module MD11 and the common module MD2 are selected, the TLC module MD11 is deselected, and the SLC module MD12 and the common module MD2 are selected. , rebuild the system. Note that the reconstruction may involve restarting the memory system 100, or may be performed by simply switching the selected module.
  • the selected module When S27 is completed, the selected module is in a state in which it can perform various operations including writing and reading data to and from the nonvolatile memory 2 in a manner supported by the module. In other words, the user can write and read data to and from the memory system 100 in the manner instructed. Note that, in S27, after the system construction is completed, it is desirable that the memory system 100 outputs a response signal indicating completion of switching to the host 3.
  • the memory controller 1 After switching the method, if the host 3 inquires about the storage method of the memory system 100 for confirmation (S28: Yes), the memory controller 1 responds with the current method (the method after switching) (S29). If there is no inquiry about the method of the memory system 100 from the host 3 (S28: No), the memory system 100 is continuously used in the current method (the method after switching).
  • the memory system 100 of the present embodiment includes one firmware FWa composed of a plurality of modules. It consists of modules that correspond to processing. Furthermore, modules that perform different processing depending on the storage method are provided for each storage method. When switching the storage method, a necessary module is selected from the firmware FWa read into the memory controller 1 and the system is rebuilt. Therefore, there is no need to newly load firmware from the nonvolatile memory 2 when switching the storage system, so the switching time is shortened and user convenience is further improved.
  • the TLC method was explained as an example of the method preset in the memory system 100, but the present invention is not limited to this, and the MLC method, the QLC method, and even the method that is stored in one memory cell.
  • a system in which the number of data bits is five or more values may be used.
  • the method to be changed is not limited to the SLC method, but may be an MLC method, a QLC method, or a method in which the number of bits of data held in one memory cell is five or more values.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

利便性が高いメモリシステム、および、その制御方法、ならびに、情報処理装置を提供する。 実施形態のメモリシステム100は、複数の異なる記憶方式でユーザデータを記憶可能なメモリセルを有する不揮発性メモリ2と、不揮発性メモリ2を制御するメモリコントローラ1とを備える。不揮発性メモリ2は、ファームウェアを格納するファームウェア格納領域211と、ユーザデータを格納するユーザデータ領域213とを備え、ファームウェア格納領域211には記憶方式のそれぞれに対応するファームウェアFW1,FW2が格納されており、メモリコントローラ1は、外部から指示された記憶方式に対応するファームウェアを用いて不揮発性メモリ2の設定を制御することを特徴とする。

Description

メモリシステム、および、その制御方法、ならびに、情報処理装置
 本発明の実施形態は、メモリシステム、および、その制御方法、ならびに、情報処理装置に関する。
 メモリシステムに含まれるNANDフラッシュメモリは、多値化が進んでいる。近年、NANDフラッシュメモリに格納するデータの性質に応じて、データ保持の品質(信頼性やデータ格納量など)を変更したいというニーズが高まっている。
特開2007-122241号公報
 本実施形態は、利便性が高いメモリシステム、および、その制御方法、ならびに、情報処理装置を提供することを目的とする。
 実施形態のメモリシステムは、複数の異なる記憶方式でユーザデータを記憶可能なメモリセルを有する不揮発性メモリと、前記不揮発性メモリを制御するメモリコントローラと、を備える。前記不揮発性メモリは、ファームウェアを格納するファームウェア格納領域と、ユーザデータを格納するユーザデータ領域とを備え、前記ファームウェア格納領域には前記記憶方式のそれぞれに対応するファームウェアが格納されており、前記メモリコントローラは、外部から指示された前記記憶方式に対応する前記ファームウェアを用いて前記不揮発性メモリの設定を制御すること特徴とする。
本発明の実施形態に係るメモリシステムの構成の一例を説明する図である。 第1実施形態に係るファームウェア格納領域の構成の一例を説明するブロック図である。 第1実施形態に係るメモリシステムの制御方法の一例を説明するフローチャートである。 第2実施形態に係るファームウェア格納領域の構成の一例を説明するブロック図である。 第2実施形態に係るメモリシステムの制御方法の一例を説明するフローチャートである。
 以下、図面を参照して実施形態を説明する。
(第1実施形態)
 図1は、本発明の実施形態に係わるメモリシステムの構成の一例を説明する図である。図1は、実施形態のメモリシステム100を、情報処理装置であるホスト3に接続して構成される情報処理システムを、一例として示している。図1に示すメモリシステム100は、例えば、USB(Universal Serial Bus)メモリ、メモリカードなど、様々な種類のストレージデバイスである。メモリシステム100は、外部のホスト3と通信可能に接続されている。ホスト3は、例えば、パーソナルコンピュータ、携帯端末などの電子機器である。例えば、ホスト3がカメラユニット付きのドライブレコーダであり、メモリシステム100がUSBメモリである場合、図1に示す情報処理システムは、ドライブレコーダで撮像した映像をUSBメモリに記録するシステムとして用いることができる。
 図1に示すように、本実施形態のメモリシステム100は、メモリコントローラ1と、不揮発性メモリ2とを備える。不揮発性メモリ2は、データを不揮発に記憶するメモリであり、例えばNAND型フラッシュメモリ(以下、NANDメモリと示す)で構成される。不揮発性メモリ2は、メモリセルを複数備えるメモリセルアレイ21と、制御回路(図示せず)とを含む。不揮発性メモリ2は、例えば、メモリセルあたり3ビット(8値)のデータを保持可能なメモリセルを有するNANDメモリ、すなわち、記憶方式がTLC(Triple Level Cell)方式のNANDメモリとして構成される。不揮発性メモリ2は、1ビット(2値)のデータを保持可能なSLC(Single Level Cell)方式、2ビット(4値)のデータを保持可能なMLC(Multi Level Cell)方式、4ビット(16値)のデータを保持可能なQLC(Quad Level Cell)方式、または、5ビット以上の複数ビットのデータを保持可能な方式で構成することも可能である。なお、以下の説明において、「記憶方式」のことを単に「方式」とよぶことがある。
 メモリコントローラ1は、ホスト3からの書き込みリクエストに従って不揮発性メモリ2へのデータの書き込みを制御する。また、メモリコントローラ1は、ホスト3からの読み出しリクエストに従って不揮発性メモリ2からのデータの読み出しを制御する。
 メモリコントローラ1は、RAM(Random Access Memory)11、プロセッサ12、ホストインターフェイス回路13、ECC(Error Check and Correct)回路14、メモリインターフェイス回路15、およびRОM(Read Only Memory)17を備える。RAM11、プロセッサ12、ホストインターフェイス回路13、ECC回路14、メモリインターフェイス回路15、およびROM17は、互いに内部バス16で接続される。
 ホストインターフェイス回路13は、ホスト3から受信したリクエスト、ユーザデータ(書き込みデータ)などを内部バス16に出力する。また、ホストインターフェイス回路13は、不揮発性メモリ2から読み出されたユーザデータ、プロセッサ12からの応答などをホスト3へ送信する。
 メモリインターフェイス回路15は、プロセッサ12の指示に基づいて、ユーザデータ等を不揮発性メモリ2へ書き込む処理および不揮発性メモリ2から読み出す処理を制御する。
 プロセッサ12は、メモリコントローラ1を統括的に制御する。プロセッサ12は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等である。プロセッサ12は、ホスト3からホストインターフェイス回路13経由でリクエストを受けた場合に、そのリクエストに従った制御を行う。例えば、プロセッサ12は、ホスト3からのリクエストに従って、不揮発性メモリ2へのユーザデータおよびパリティの書き込みをメモリインターフェイス回路15へ指示する。また、プロセッサ12は、ホスト3からのリクエストに従って、不揮発性メモリ2からのユーザデータおよびパリティの読み出しを、メモリインターフェイス回路15へ指示する。
 プロセッサ12は、RAM11に蓄積されるユーザデータに対して、不揮発性メモリ2上の格納領域(メモリ領域)を決定する。ユーザデータは、内部バス16経由でRAM11に格納される。プロセッサ12は、メモリ領域の決定を、書き込み単位であるページ単位のデータ(ページデータ)に対して実施する。不揮発性メモリ2の1ページに格納されるユーザデータ(ユニットデータ)は、一般的にはECC回路14によって符号化されて符号語として不揮発性メモリ2に格納される。本実施形態では、符号化は必須ではない。メモリコントローラ1は、符号化せずにユニットデータを不揮発性メモリ2に格納してもよいが、図1では、一構成例として符号化を行う構成を示している。メモリコントローラ1が符号化を行わない場合には、ページデータはユニットデータと一致する。また、1つのユニットデータに基づいて1つの符号語が生成されてもよいし、ユニットデータが分割された分割データに基づいて1つの符号語が生成されてもよい。また、複数のユニットデータを用いて1つの符号語が生成されてもよい。
 プロセッサ12は、ユニットデータごとに書き込み先の不揮発性メモリ2のメモリ領域を決定する。不揮発性メモリ2のメモリ領域には物理アドレスが割当てられている。プロセッサ12は、ユニットデータの書き込み先のメモリ領域を、物理アドレスを用いて管理する。プロセッサ12は、決定したメモリ領域(物理アドレス)を指定してユーザデータを不揮発性メモリ2へ書き込むようメモリインターフェイス回路15へ指示する。プロセッサ12は、ユーザデータの論理アドレス(ホスト3が管理する論理アドレス)と物理アドレスとの対応を管理する。プロセッサ12は、ホスト3からの論理アドレスを含む読み出しリクエストを受信した場合は、論理アドレスに対応する物理アドレスを特定し、物理アドレスを指定してユーザデータの読み出しをメモリインターフェイス回路15へ指示する。
 ECC回路14は、RAM11に格納されたユーザデータを符号化して、符号語を生成する。また、ECC回路14は、不揮発性メモリ2から読み出された符号語を復号する。
 RAM11は、ホスト3から受信したユーザデータを不揮発性メモリ2へ記憶するまでに一時格納したり、不揮発性メモリ2から読み出したデータをホスト3へ送信するまでに一時格納したりする。RAM11は、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモリである。
 ROM17は、ブートプログラムを格納する。ブートプログラムとは、メモリシステム100の電源投入時に最初に実行されるプログラムである。RAM11は、当該ブートプログラムを保持可能であり、プロセッサ12の作業領域として使用される。すなわち、メモリシステム100に電源が投入されると、まず、ROM17に格納されているブートプログラムがRAM11上にロードされ、プロセッサ12により実行される。ブートプログラムが実行されると、不揮発性メモリ2から所定のファームウェアがRAM11に読み込まれる。そして、RAM11にロードされたファームウェアがプロセッサ12により実行される。以上の一連の動作により、メモリコントローラ1は、書込み動作および読出し動作等を含む種々の動作を実行することが可能となる。
 図1では、メモリコントローラ1が、ECC回路14とメモリインターフェイス回路15をそれぞれ備える構成例を示した。しかしながら、ECC回路14がメモリインターフェイス回路15に内蔵されていてもよい。また、ECC回路14が、不揮発性メモリ2に内蔵されていてもよい。
 ホスト3から書き込みリクエストを受信した場合、メモリシステム100は次のように動作する。プロセッサ12は、書き込み対象となるデータをRAM11に一時記憶させる。プロセッサ12は、RAM11に格納されたデータを読み出し、ECC回路14に入力する。ECC回路14は、入力されたデータを符号化し、符号語をメモリインターフェイス回路15に入力する。メモリインターフェイス回路15は、入力された符号語を不揮発性メモリ2に書き込む。
 ホスト3から読み出しリクエストを受信した場合、メモリシステム100は次のように動作する。メモリインターフェイス回路15は、不揮発性メモリ2から読み出した符号語をECC回路14に入力する。ECC回路14は、入力された符号語を復号し、復号されたデータをRAM11に格納する。プロセッサ12は、RAM11に格納されたデータを、ホストインターフェイス回路13を介してホスト3に送信する。
 不揮発性メモリ2のメモリセルアレイ21は、ファームウェア格納領域211、管理領域212、およびユーザデータ領域213の各領域を有する。ファームウェア格納領域211は、メモリシステム100の電源投入後の立ち上げ動作において、メモリコントローラ1で実行されるファームウェアが格納される。
 情報処理装置としてのホスト3は、メモリシステム100に対してデータを読み出したり書き込んだりする。ホスト3は、RAM31、プロセッサ12、インターフェイス33、入力部34、および表示部35を備える。
 プロセッサ32は、ホスト3を統括的に制御する。プロセッサ32は、例えば、CPU、MPU等である。プロセッサ12は、ユーザから入力部34経由でリクエストを受けた場合に、そのリクエストに従った制御を行う。例えば、プロセッサ32は、ユーザからのリクエストに従って、メモリシステム100へのユーザデータの書き込みをインターフェイス33へ指示する。また、プロセッサ32は、ユーザからのリクエストに従って、メモリシステム100からのユーザデータの読み出しを、インターフェイス33へ指示する。さらに、ユーザからのリクエストに従って、メモリシステム100の記憶方式の変更や、記憶方式の照会(問い合わせ)を、インターフェイス33へ指示する。
 インターフェイス33は、プロセッサ32の指示に基づいて、ユーザから入力されたリクエストやユーザデータ(書き込みデータ)などをメモリシステム100に出力する。また、インターフェイス33は、メモリシステム100から読み出されたユーザデータや各種の応答(例えば、記憶方式など)を、表示部35に表示させる。
 入力部34は、ユーザからの指示を受けて、指示内容をプロセッサ32に伝達する。入力部34は、例えば、図示しないキーボードやタッチパネル式のディスプレイ、マイク等の音声入力装置などで構成される。
 表示部35は、プロセッサ32の指示に基づいて、メモリシステム100から読み出したユーザデータや、ユーザからの照会結果などを表示させる。
 図2は、第1実施形態に係るファームウェア格納領域の構成の一例を説明するブロック図である。ファームウェア格納領域211には、複数のファームウェアが格納される。例えば、図2に示すように、TLC用ファームウェアFW1、SLC用ファームウェアFW2、および、切替用ファームウェアFWtの3つのファームウェアが格納される。TLC用ファームウェアFW1は、TLC方式でユーザデータ領域213にデータを保持する場合に用いられるファームウェアである。SLC用ファームウェアFW2は、SLC方式でユーザデータ領域213にデータを保持する場合に用いられるファームウェアである。切替用ファームウェアFWtは、ユーザデータ領域213の記憶方式を切り替える場合に用いられるファームウェアである。なお、ファームウェア格納領域211には、上述のファームウェアのほかに、MLC用、QLC用など、他の方式でユーザデータ領域213にデータを保持する際に用いるファームウェアが、さらに格納されていてもよい。メモリコントローラ1からの要求に応じて、ファームウェア格納領域211に格納されている複数のファームウェアのなかから適切なファームウェアが選択され、メモリコントローラ1へ出力される。
 管理領域212には、メモリシステム100の動作を制御するための様々な管理情報が格納される。管理情報は、例えば、シフトテーブル情報(シフトリード時のシフト量に関する情報)、ルックアップテーブル(論理アドレスと物理アドレスの対応表)等である。管理情報は、電源投入時に、不揮発性メモリ2からメモリコントローラ1のRAM11にコピーされて使用される。
 ユーザデータ領域213には、ホスト3から書き込まれるデータが格納される。ユーザデータ領域213におけるデータの記憶方式は、ユーザからの指示により切り替えることができる。ユーザデータ領域213は、例えば、通常状態ではTLC方式でデータが格納されるが、ユーザからの指示によりSLC方式に切り替えてデータを格納することが可能である。
 不揮発性メモリ2に記憶可能なデータ容量は、データの記憶方式によって異なり、次の(1)式の関係が成り立つ。
  SLC < MLC < TLC < QLC     …(1)式
 すなわち、1つのメモリセルに保持可能なビット数が大きい方式ほど、データ容量が大きくなる。一方で、不揮発性メモリ2に記憶されるデータの品質は、次の(2)式の関係が成り立つ。
  QLC < TLC < MLC < SLC     …(2)式
 なお、データの品質とは、例えば、データリテンション(DR:Data Retention)期間であらわされる。データリテンション期間とは、あるメモリセルに対して書き込まれたデータが、データが書き込まれてからの時間が経過しても、メモリセルから正しく読み出せる状態を保っている期間をしめす。すなわち、格納可能なデータ容量が大きい方式ほどデータリテンション期間が短くなり、格納可能なデータ容量が小さいほどデータリテンション期間が長くなる。ユーザは、格納するデータの性質によって、容量を必要とする場合もあるし、信頼性を必要とする場合もある。例えば、ホスト3がカメラユニット付きのドライブレコーダである場合、通常は、撮像データを長時間分記録したいため、不揮発性メモリ2には大容量が要求される。一方、アクシデント発生時などには、撮像データを確実に長期間記録したいため、不揮発性メモリ2には高信頼性(長データリテンション期間)が要求される。すなわち、本実施形態のように、データの記憶方式が変更可能なメモリシステム100を用いることで、通常はTLC方式など記憶可能なデータ容量が大きい方式でデータを書き込み、高信頼性が要求される場面においては、SLC方式などデータリテンション期間が長い方式に変更してデータを書き込むことができる。故に、ユーザは、記憶方式の異なるメモリシステム100をデータの性質に応じて交換しながら使用する手間がなくなり、利便性が向上する。
 次に、実施形態のメモリシステムにおけるデータの記憶方式の切り替え方法を説明する。図3は、第1実施形態に係るメモリシステムの制御方法の一例を説明するフローチャートである。まず、メモリシステム100に電源が投入されると、メモリコントローラ1は、ROM17に記憶されているブートプログラムを起動し、設定された方式のファームウェアを不揮発性メモリ2から読み出す(ステップ(以下、Sと略す)1)。
 メモリシステム100が未使用であり最初の電源投入である場合、予めメモリシステム100に設定されている方式に用いられるファームウェア(例えば、TLC用ファームウェアFW1)が読み出される。メモリシステム100が既に使用されており電源投入が2回目以降である場合、最後の電源遮断前に設定されていた方式に用いられるファームウェアが読み出される。例えば、最後の電源遮断前に、SLC方式でデータを記録していた場合、SLC用ファームウェアFW2が読み出される。また、例えば、最後の電源遮断前に、TLC方式でデータを記録していた場合、TLC用ファームウェアFW1が読み出される。
 ファームウェアがメモリコントローラ1にロードされると、当該ファームウェアがプロセッサ12により実行され、システムが構築される(S2)。すなわち、当該ファームウェアがサポートする方式で、不揮発性メモリ2へのデータの書込み動作および読出し動作等を含む種々の動作を実行することが可能な状態になされる。S2が完了すると、ホスト3からメモリシステム100に対して、データの書き込みや読み出しができるようになる。
 ユーザは、メモリシステム100の使用中に、ホスト3を介してメモリシステム100の現在の記憶方式を問い合わせる(確認する)ことができる。ホスト3からメモリシステム100の方式の問い合わせがあった場合(S3:Yes)、メモリコントローラ1は、現在の方式を応答する(S4)。ホスト3からメモリシステム100の方式の問い合わせがない場合(S3:No)、メモリシステム100は現在の方式で継続的に使用される。
 方式の応答後、現在の方式とは異なる方式への切り替えがユーザから指示された場合(S5:Yes)、メモリコントローラ1は、不揮発性メモリ2から切替用ファームウェアFWtを読み出す(S6)。切替用ファームウェアFWtがプロセッサ12により実行され、ユーザデータ領域213に格納されているデータがすべて消去される(S7)。そして、S5でユーザにより指定された方式のファームウェアが、メモリコントローラ1に読み出される(S8)。例えば、S5においてSLC方式への切り替えが指示された場合、S8ではSLC用ファームウェアFW2が読み出される。
 ファームウェアがメモリコントローラ1にロードされると、当該ファームウェアがプロセッサ12により実行され、システムが構築される(S9)。すなわち、当該ファームウェアがサポートする方式で、不揮発性メモリ2へのデータの書込み動作および読出し動作等を含む種々の動作を実行することが可能な状態になされる。S9が完了すると、ユーザは、指示した方式でメモリシステム100へのデータの書き込みや読み出しができるようになる。なお、S9では、システムの構築が完了後、メモリシステム100からホスト3に対して、切り替え完了の応答信号を出力することが望ましい。
 方式切り替え後、確認のためにホスト3からメモリシステム100の記憶方式の問い合わせがあった場合(S10:Yes)、メモリコントローラ1は、現在の方式(切り替え後の方式)を応答する(S11)。ホスト3からメモリシステム100の方式の問い合わせがない場合(S10:No)、メモリシステム100は現在の方式(切り替え後の方式)で継続的に使用される。
 このように、本実施形態のメモリシステム100は、複数のファームウェアを備えており、それぞれのファームウェアは、1つのメモリセルに保持するデータのビット数が異なる方式に対応している。また、方式の切り替えに伴うシステム再構築動作を実行させる、切替用ファームウェアFWtも備えている。従って、ユーザが所望の方式に切り替えてメモリシステム100を使用することができるため、利便性が向上する。
 (第2実施形態)
 上述の第1実施形態では、メモリシステム100は複数のファームウェアを備えており、データの記憶方式ごとにファームウェアが用意されていた。これに対し、本実施形態では、メモリシステム100は1つのファームウェアのみを備えている点が異なっている。本実施形態のメモリシステム100の構成は、ファームウェア格納領域211の構成が異なる点を除き、図1に示す第1実施形態の構成と同様である。以下、第1実施形態と異なる、ファームウェア格納領域211の構成について説明する。
 図4は、第2実施形態に係るファームウェア格納領域の構成の一例を説明するブロック図である。ファームウェア格納領域211には、1つのファームウェアFWaが格納される。ファームウェアFWaは、複数のモジュールから構成されている。ファームウェアFWaは、例えば、図4に示すように、TLC用モジュールMD11、SLC用モジュールMD12、および、共通モジュールMD2の3つのモジュールから構成される。例えば、読み出し動作時のリード電圧の設定や、書き込み動作時のプログラムループの設定など、記憶方式によって動作が異なる処理については、TLC用モジュールMD11やSLC用モジュールMD12に、それぞれの方式に応じた処理が格納される。ウェアレベリング動作など、記憶方式によらず共通の処理については、共通モジュールMD2に格納される。
 なお、ファームウェアFWaは、上述のモジュールのほかに、MLC用モジュールや、QLC用モジュールなど、他の方式でユーザデータ領域213にデータを保持する際に用いるモジュールを、さらに有していてもよい。
 次に、実施形態のメモリシステムにおけるデータの記憶方式の切り替え方法を説明する。図5は、第2実施形態に係るメモリシステムの制御方法の一例を説明するフローチャートである。まず、メモリシステム100に電源が投入されると、メモリコントローラ1は、ROM17に記憶されているブートプログラムを起動し、ファームウェアFWaを不揮発性メモリ2から読み出してRAM11に格納する(S21)。
 ファームウェアFWaがメモリコントローラ1にロードされると、当該ファームウェアFWaから、設定された方式のモジュールと共通モジュールとが選択され、プロセッサ12により実行される(S22)。メモリシステム100が未使用であり最初の電源投入である場合、予めメモリシステム100に設定されている方式(例えば、TLC方式)に対応するモジュール(TLC用モジュールMD11)と、共通モジュールMD2とが選択される。メモリシステム100が既に使用されており電源投入が2回目以降である場合、最後の電源遮断前に設定されていた方式に対応するモジュールと共通モジュールとが選択される。例えば、最後の電源遮断前に、SLC方式でデータを記録していた場合、SLC用モジュールMD12と共通モジュールMD2とが選択される。すなわち、選択されたモジュールがサポートする方式で、不揮発性メモリ2へのデータの書込み動作および読出し動作等を含む種々の動作を実行することが可能な状態になされる。S22が完了すると、ホスト3からメモリシステム100に対して、データの書き込みや読み出しができるようになる。
 ユーザは、メモリシステム100の使用中に、ホスト3を介してメモリシステム100の現在の記憶方式を問い合わせる(確認する)ことができる。ホスト3からメモリシステム100の方式の問い合わせがあった場合(S23:Yes)、メモリコントローラ1は、現在の方式を応答する(S24)。ホスト3からメモリシステム100の方式の問い合わせがない場合(S23:No)、メモリシステム100は現在の方式で継続的に使用される。
 方式の応答後、現在の方式とは異なる方式への切り替えがユーザから指示された場合(S25:Yes)、ユーザデータ領域213に格納されているデータがすべて消去される(S26)。メモリコントローラ1は、RAM11に格納されているファームウェアFWaから、指定された方式に対応するモジュールと共通モジュールとを選択し、システムを再構築する(S27)。例えば、TLC方式からSLC方式に切り替える場合、TLC用モジュールMD11と共通モジュールMD2とが選択されている状態から、TLC用モジュールMD11を非選択とし、SLC用モジュールMD12と共通モジュールMD2とを選択して、システムを再構築する。なお、再構築は、メモリシステム100の再起動を伴う場合もあるし、選択するモジュールの切り替えのみで行う場合もある。
 S27が完了すると、選択されたモジュールがサポートする方式で、不揮発性メモリ2へのデータの書込み動作および読出し動作等を含む種々の動作を実行することが可能な状態になされる。すなわち、ユーザは、指示した方式でメモリシステム100へのデータの書き込みや読み出しができるようになる。なお、S27では、システムの構築が完了後、メモリシステム100からホスト3に対して、切り替え完了の応答信号を出力することが望ましい。
 方式切り替え後、確認のためにホスト3からメモリシステム100の記憶方式の問い合わせがあった場合(S28:Yes)、メモリコントローラ1は、現在の方式(切り替え後の方式)を応答する(S29)。ホスト3からメモリシステム100の方式の問い合わせがない場合(S28:No)、メモリシステム100は現在の方式(切り替え後の方式)で継続的に使用される。
 このように、本実施形態のメモリシステム100は、複数のモジュールから構成される1つのファームウェアFWaを備えており、ファームウェアFWaは、記憶方式によって異なる処理を行うモジュールと、記憶方式によらず共通の処理に対応するモジュールとから構成されている。また、記憶方式によって異なる処理を行うモジュールは、記憶方式ごとに対応するモジュールが設けられている。記憶方式を切り替える際には、メモリコントローラ1に読み出されているファームウェアFWaから必要なモジュールを選択してシステムを再構築する。従って、記憶方式の切り替えの際に不揮発性メモリ2から新たにファームウェアをロードする必要がないので、切り替え時間が短縮されてユーザの利便性がさらに向上する。
 なお、上述した各実施形態では、予めメモリシステム100に設定されている方式としてTLC方式を一例として説明したが、これに限定されず、MLC方式やQLC方式、さらには1つのメモリセルに保持するデータのビット数が5値以上の方式であってもよい。また、変更する方式も、SLC方式に限定されず、MLC方式やQLC方式、さらには1つのメモリセルに保持するデータのビット数が5値以上の方式であってもよい。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として例示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (10)

  1.  複数の異なる記憶方式でユーザデータを記憶可能なメモリセルを有する不揮発性メモリと、
     前記不揮発性メモリを制御するメモリコントローラと、
    を備え、
     前記不揮発性メモリは、ファームウェアを格納するファームウェア格納領域と、ユーザデータを格納するユーザデータ領域とを備え、前記ファームウェア格納領域には前記記憶方式のそれぞれに対応するファームウェアが格納されており、
     前記メモリコントローラは、外部から指示された前記記憶方式に対応する前記ファームウェアを用いて前記不揮発性メモリの設定を制御することを特徴とする、メモリシステム。
  2.  前記ファームウェア格納領域には、複数の前記ファームウェアが格納されており、それぞれの前記ファームウェアは、異なる前記記憶方式に対応する、請求項1に記載のメモリシステム。
  3.  前記ファームウェア格納領域には、前記不揮発性メモリの前記記憶方式を切り替えるための切替用ファームウェアがさらに格納されている、請求項2に記載のメモリシステム。
  4.  前記メモリコントローラは、前記指示された記憶方式への切り替えにおいて、前記切替用ファームウェアをロードして実行したのちに、前記指示された記憶方式に対応する前記ファームウェアをロードして実行する、請求項3に記載のメモリシステム。
  5.  前記切替用ファームウェアの実行により、前記ユーザデータ領域に格納されているデータが消去される、請求項4に記載のメモリシステム。
  6.  前記ファームウェア格納領域には、前記複数の異なる記憶方式のそれぞれに対応する処理を行う複数の特定モジュールと、前記記憶方式によらず共通の処理を行う共通モジュールと、を含む前記ファームウェアが1つ格納されている、請求項1に記載のメモリシステム。
  7.  前記メモリコントローラは、前記指示された記憶方式への切り替えにおいて、前記ユーザデータ領域に格納されているデータを消去したのちに、前記指示された記憶方式に対応する前記特定モジュールと前記共通モジュールとを選択して実行する、請求項6に記載のメモリシステム。
  8.  複数の異なる記憶方式でユーザデータを記憶可能なメモリセルを有する不揮発性メモリを備えたメモリシステムの制御方法は、
     前記不揮発性メモリから第1の記憶方式に対応するファームウェアをロードし実行することと、
     前記第1の記憶方式と異なる第2の記憶方式への切り替え指示を受信すると、前記不揮発性メモリにおける前記ユーザデータを格納する領域を消去したのちに、前記第2の記憶方式に対応するファームウェアをロードし実行することと、
     を含むことを特徴とする、メモリシステムの制御方法。
  9.  複数の異なる記憶方式でユーザデータを記憶可能なメモリセルを有する不揮発性メモリを備えたメモリシステムの制御方法は、
     前記不揮発性メモリからファームウェアをロードし、前記ファームウェアに含まれる第1の記憶方式に対応するモジュールを選択して実行することと、
     前記第1の記憶方式と異なる第2の記憶方式への切り替え指示を受信すると、前記不揮発性メモリにおける前記ユーザデータを格納する領域を消去したのちに、前記ファームウェアから第2の記憶方式に対応するモジュールを選択して実行することと、
     を含むことを特徴とする、メモリシステムの制御方法。
  10.  複数の異なる記憶方式でユーザデータを記憶可能なメモリセルを有する不揮発性メモリと、前記不揮発性メモリを制御するメモリコントローラと、を備えるメモリシステムに対して前記ユーザデータを読み書き可能な情報処理装置であって、
     前記不揮発性メモリにおける前記ユーザデータの前記記憶方式を、設定されている第1の記憶方式とは異なる第2の記憶方式に設定可能な入力部と、
     前記メモリコントローラに対して前記第2の記憶方式への変更を指示するプロセッサと、
     前記プロセッサからの指示を前記メモリコントローラに送信し、前記メモリコントローラからの応答を受信可能なインターフェイスと、
     を備えることを特徴とする、情報処理装置。
PCT/JP2022/011399 2022-03-14 2022-03-14 メモリシステム、および、その制御方法、ならびに、情報処理装置 WO2023175684A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/011399 WO2023175684A1 (ja) 2022-03-14 2022-03-14 メモリシステム、および、その制御方法、ならびに、情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/011399 WO2023175684A1 (ja) 2022-03-14 2022-03-14 メモリシステム、および、その制御方法、ならびに、情報処理装置

Publications (1)

Publication Number Publication Date
WO2023175684A1 true WO2023175684A1 (ja) 2023-09-21

Family

ID=88022474

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/011399 WO2023175684A1 (ja) 2022-03-14 2022-03-14 メモリシステム、および、その制御方法、ならびに、情報処理装置

Country Status (1)

Country Link
WO (1) WO2023175684A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006079282A (ja) * 2004-09-08 2006-03-23 Fuji Electric Holdings Co Ltd 情報処理装置
JP2008506189A (ja) * 2004-07-06 2008-02-28 サンディスク コーポレイション 多目的不揮発性メモリカード
JP2021140553A (ja) * 2020-03-06 2021-09-16 キオクシア株式会社 メモリシステム及びその制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008506189A (ja) * 2004-07-06 2008-02-28 サンディスク コーポレイション 多目的不揮発性メモリカード
JP2006079282A (ja) * 2004-09-08 2006-03-23 Fuji Electric Holdings Co Ltd 情報処理装置
JP2021140553A (ja) * 2020-03-06 2021-09-16 キオクシア株式会社 メモリシステム及びその制御方法

Similar Documents

Publication Publication Date Title
US8504760B2 (en) Method and apparatus for managing erase count of memory device
US10303367B2 (en) Mapping table updating method without updating the first mapping information, memory control circuit unit and memory storage device
US20160070507A1 (en) Memory system and method of controlling memory device
US9213636B2 (en) Data accessing method for flash memory storage device having data perturbation module, and storage system and controller using the same
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US8694748B2 (en) Data merging method for non-volatile memory module, and memory controller and memory storage device using the same
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
US11467758B2 (en) Data writing method using different programming modes based on the number of available physical erasing units, memory control circuit unit and memory storage device
KR20130019891A (ko) 메타 라이팅 빈도를 줄이기 위한 메타 데이터 라이팅 방법
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
US11144210B2 (en) Valid data merging method, memory control circuit unit and memory storage apparatus
KR20190054383A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11537296B2 (en) Storage device and operating method thereof
JP2007094639A (ja) メモリコントローラ及びフラッシュメモリシステム
US10496549B2 (en) Memory manage method and storage controller using the same
KR20230047563A (ko) 메모리 장치 및 이를 포함하는 메모리 시스템의 동작 방법
KR20200061217A (ko) 전자 장치 및 그것의 동작 방법
KR20170093370A (ko) 데이터 저장 장치
US20180335942A1 (en) Data reading method, memory control circuit unit and memory storage device
KR20190035280A (ko) 데이터 저장 장치 및 그것의 동작 방법
WO2023175684A1 (ja) メモリシステム、および、その制御方法、ならびに、情報処理装置
KR20170031311A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20180276067A1 (en) Data protecting method and memory storage device
US10942858B2 (en) Data storage devices and data processing methods
EP4310847A2 (en) Storage controller

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

Country of ref document: EP

Kind code of ref document: A1