WO2018186453A1 - 使用回数を増大させた不揮発性メモリ - Google Patents

使用回数を増大させた不揮発性メモリ Download PDF

Info

Publication number
WO2018186453A1
WO2018186453A1 PCT/JP2018/014479 JP2018014479W WO2018186453A1 WO 2018186453 A1 WO2018186453 A1 WO 2018186453A1 JP 2018014479 W JP2018014479 W JP 2018014479W WO 2018186453 A1 WO2018186453 A1 WO 2018186453A1
Authority
WO
WIPO (PCT)
Prior art keywords
page
data
area
recording medium
controller
Prior art date
Application number
PCT/JP2018/014479
Other languages
English (en)
French (fr)
Inventor
井上 信治
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2019511291A priority Critical patent/JP6890238B2/ja
Priority to EP18780487.7A priority patent/EP3588305A4/en
Priority to CN201880016487.9A priority patent/CN110392885B/zh
Publication of WO2018186453A1 publication Critical patent/WO2018186453A1/ja
Priority to US16/584,767 priority patent/US20200026452A1/en

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation

Definitions

  • the present disclosure relates to a recording medium including a nonvolatile memory.
  • Patent Document 1 discloses a storage device having a nonvolatile memory and a controller that controls an access area of the nonvolatile memory based on management information of the nonvolatile memory. This storage device manages the storage area of the nonvolatile memory by dividing it by a plurality of management information. This makes it possible to quickly determine whether each management information is valid / invalid.
  • the present disclosure provides a recording medium capable of increasing the number of times the nonvolatile memory is used.
  • a recording medium includes a nonvolatile memory having a storage area for writing data, and a controller that controls writing of data to the storage area.
  • the controller divides the storage area into a plurality of sections. An area to be used as a data recording area when one area is selected from a plurality of areas, only the selected area is used as a data recording area, and the rewrite rate of the selected area reaches the first predetermined value. Switch to another area that is not yet used in multiple areas.
  • the recording medium in the present disclosure can increase the number of times the nonvolatile memory is used.
  • FIG. 1 is a block diagram illustrating a configuration of an information recording system according to an aspect of the present disclosure.
  • FIG. 2 is a diagram illustrating an example of the division of the storage area of the recording medium.
  • FIG. 3 is a diagram illustrating an example of management information.
  • FIG. 4 is a diagram illustrating a specific example of a storage area and management information.
  • FIG. 5 is a flowchart illustrating an operation of a recording medium according to an aspect of the present disclosure.
  • FIG. 6 is a flowchart showing details of the movement of the remaining data of the previous page.
  • FIG. 7 is a diagram illustrating a specific example of data writing.
  • FIG. 8 is a flowchart illustrating an operation of a host according to an aspect of the present disclosure.
  • the present disclosure provides a recording medium capable of increasing the number of times the nonvolatile memory is used.
  • FIG. 1 discloses an information recording system according to an aspect of the present disclosure.
  • the information recording system includes a recording medium 1 for storing data, and a host 2 for writing and reading data to and from the recording medium 1.
  • the recording medium 1 is, for example, an SD memory card or SSD (Solid State Drive).
  • the host 2 is, for example, a personal computer, a digital camera, or a smartphone.
  • the recording medium 1 and the host 2 are connected by a bus compliant with the PCI Express (PCIe) standard.
  • PCIe PCI Express
  • the recording medium 1 and the host 2 may be connected by a bus conforming to a standard different from the PCI Express standard.
  • the recording medium 1 includes a controller 11, a memory 12, an information storage unit 13, and a connector 14.
  • the controller 11 performs processing such as reading and writing of data with respect to the memory 12 based on a command from the host 2 received via the connector 14.
  • the controller 11 can be realized by a semiconductor element or the like, and can be configured by, for example, a microcomputer, a CPU, an MPU, a DSP, an FPGA, and an ASIC.
  • the memory 12 is a NAND flash memory.
  • the memory 12 may be a non-volatile memory other than the NAND flash memory.
  • the memory 12 has a storage area in which data is recorded.
  • Management information 131 and an address conversion table 132 are recorded in the information storage unit 13.
  • the management information 131 is information for managing the usage status of the storage area of the memory 12.
  • the address conversion table 132 is a table that associates a logical address designated by the host 2 with a physical address in the memory 12.
  • the information storage unit 13 can be realized by, for example, a RAM, a DRAM, a ferroelectric memory, a flash memory, or a combination thereof.
  • the connector 14 is a member that is electrically connected to the host 2 and is configured in accordance with the PCI Express standard.
  • the host 2 includes a root complex 21, a CPU 22, a PCIe switch 23, a connector 24, a data transfer unit 25, a buffer 26, and a display unit 27.
  • the root complex (RootComplex) 21 and the PCIe switch 23 are configured to perform communication conforming to the PCI Express standard.
  • a root complex 21, a CPU 22, a PCIe switch 23, a data transfer unit 25, a buffer 26, and a display unit 27 are connected to each other via a bus 28.
  • the CPU 22 controls the entire host 2.
  • the host 2 includes a slot (not shown) into which the recording medium 1 is inserted, and a connector 24 is provided in this slot.
  • the connector 24 is a member that is electrically connected to the recording medium 1 and is configured in accordance with the PCI Express standard.
  • the data transfer unit 25 transmits commands and data to the recording medium 1 under the control of the CPU 22.
  • the display unit 27 is, for example, a liquid crystal panel or an organic EL panel.
  • the entire storage area of the memory 12 of the recording medium 1 is divided into a plurality of areas of a predetermined size (hereinafter referred to as “pages”), and one page among the divided pages. Only to the area where data can be recorded. That is, only a part of the storage area of the memory 12 is used as a data recording area.
  • the rewrite rate exceeds a predetermined value in one page assigned to the data recording area, data writing to the page is prohibited and the next page is assigned as the data recording area. Thereafter, every time the rewrite rate for one page exceeds a predetermined value, the data recording area is sequentially switched to another page.
  • FIG. 2 is a diagram schematically showing the division of the storage area of the memory 12.
  • the storage area is divided into a plurality of pages with a uniform size.
  • the number of pages (number of divisions) is arbitrary.
  • the number of pages may be determined in advance, or the controller 11 may determine based on a user instruction.
  • the storage area is divided into four pages. For example, if the entire storage area is 100 TB, each page is 25 TB.
  • the controller 11 of the recording medium 1 uses pages one by one as a data recording area. Specifically, the controller 11 first writes the data transmitted from the host to page 1 using page 1. At this time, pages 2 to 4 are not used for data recording.
  • a logical address (any one of 1 to M) designated by the host 2 is associated with a physical address (any one of 1 to N) in the page 1 by the address conversion table 132.
  • the address conversion table 132 the correspondence between the logical addresses 1 to M and the physical addresses 1 to N is changed by rewriting data or the like.
  • the controller 11 switches the data recording area from the page 1 to the page 2 when the rewrite rate of the page 1 becomes equal to or greater than the threshold value.
  • the “rewrite rate (write rate)” of a page is defined as the ratio of the actual number of times of writing to the current page with respect to the allowable number of times of writing in the entire set page. Specifically, the rewrite rate is calculated by the following equation.
  • Rewrite rate current number of writes / allowable number of writes
  • the threshold value is set to a value close to 100%, for example, 95%. Further, when the rewrite rate of page 2 exceeds a threshold value (for example, 95%), the data recording area is switched from page 2 to page 3. At this time, pages 1, 3, and 4 are not used for data recording. Thus, in this embodiment, pages are used in order from page 1 to page 4 as the data recording area.
  • FIG. 3 is a diagram showing an example of management information 131 used for managing the data recording area as described above.
  • the management information 131 includes a division flag 131a indicating that the storage area of the memory 12 is divided into a plurality of pages, used page information 131b indicating a currently used page, and current rewriting of each page Rewrite rate information 131c indicating the rate.
  • FIG. 4 is a diagram for explaining a specific example of the management information 131 for the usage status of the page.
  • the storage area of the memory 12 is divided into four pages. Therefore, “YES” indicating that the storage area is divided is set in the division flag 131a.
  • the hatching applied to the areas of pages 1 and 2 schematically represents the rewrite rate of each page.
  • the rewrite rate of page 1 is close to 100%, and the rewrite rate of page 2 is still about half.
  • the currently used page is “page 2”, and therefore “2/4” (meaning the second page) is set in the used page information 131b.
  • the rewrite rate for each page is calculated by “current writing count / allowable writing count”.
  • In the rewrite rate information 131c 96%, 52%, 0%, and 0% are set as the rewrite rates of the pages 1 to 4, respectively.
  • FIG. 5 shows control by the controller 11 of the recording medium 1.
  • writing of data of a predetermined data amount (fixed size) is instructed by a single write command.
  • the controller 11 of the recording medium 1 When the recording medium 1 is connected to the host 2, the controller 11 of the recording medium 1 performs an initialization process (S101). In the initialization process, for example, the controller 11 transmits to the host 2 the division flag 131a, the page size, the size of the entire storage area, the parameters indicating the performance of the recording medium 1, and the like.
  • the controller 11 waits for a command from the host 2.
  • the controller 11 determines whether the command is a write command (S102).
  • the write command transmitted from the host 2 includes a logical address indicating a write start position and data to be written.
  • the controller 11 When receiving a write command from the host 2, the controller 11 refers to the management information 131 and determines whether or not the rewrite rate of the currently used page exceeds a predetermined value (60% in the present embodiment). (S103). If the rewrite rate of the currently used page does not exceed 60%, the controller 11 writes the data instructed to be written by the write command in step S102 to the currently used page (S109).
  • a predetermined value (60% in the present embodiment).
  • step S104 when the rewriting rate of the currently used page exceeds 60%, the controller 11 moves the data that has been used before and has not been rewritten to the currently used page. (S104). This is because if the rewrite rate of the currently used page exceeds 60% and there is still data that has not been moved from the previously used page, the data is forced to be halfway. It is necessary to move. Details of step S104 will be described later.
  • the controller 11 determines whether or not the rewriting rate of the currently used page has exceeded a threshold for page switching (95% in the present embodiment) (S105). If the rewrite rate of the currently used page does not exceed 95%, the controller 11 writes the data instructed to be written by the write command in step S102 to the currently used page (S109).
  • the controller 11 determines whether the used page is the last page based on the management information 131 (S106). If the used page is the last page, the next page does not exist. Therefore, even if the rewrite rate exceeds 95%, the controller 11 writes the data instructed to be written by the write command in step S102 to the last page. Write (S109).
  • the controller 11 transfers the data instructed to be written by the write command in step S102 to the next page (unused (S107).
  • the controller 11 resets a counter indicating the number of times of writing of the currently used page to zero (S108). Further, the controller 11 updates the used page information 131b of the management information 131.
  • the controller 11 increments the counter value by one after writing the data in step S107 or S109 (S110). As a result, the number of times of writing the currently used page indicated by the counter increases by one. At this time, the controller 11 calculates the rewrite rate of the currently used page based on “counter value / allowable number of times of writing”, and updates the rewrite rate information 131 c of the management information 131.
  • the controller 11 When the controller 11 receives a command other than writing (No in S102), the controller 11 executes processing corresponding to the command (S114). For example, when a read command is received from the host 2, the controller 11 reads data from a specified area of the storage area and transmits it to the host 2.
  • the controller 11 performs processing according to the command from the host 2 (after step S110 or S114), and then refers to the management information 131 so that the rewrite rate of the last page of the memory 12 is a threshold for warning. It is determined whether or not the value (80% in the present embodiment) is exceeded (S111). If the last page rewrite rate exceeds 80%, the controller 11 notifies the host 2 of a warning indicating that the last page rewrite rate has increased (S112).
  • the controller 11 determines whether or not the recording medium 1 has been removed from the host 2 (S113), and if not, returns to step S102 and waits for the next command from the host 2. When the recording medium 1 is removed from the host 2, the processing shown in FIG.
  • FIG. 6 is a flowchart showing details of the process (step S104 in FIG. 5) of moving the previously used page data that has not been rewritten to the currently used page.
  • the controller 11 determines whether or not the currently used page is the first page (S151).
  • the currently used page is not the first page (page 1), it is the data of the previously used page and has not been rewritten, that is, has not yet been moved to the currently used page It is determined whether or not data remains on the previously used page (S152). If data that has not been moved remains on the previously used page, the controller 11 moves the data to the currently used page (S153). Thereafter, the controller 11 increments the counter by the amount of data moved (S154).
  • the amount of data written by one write command is a predetermined data amount (fixed size)
  • the amount of data written by one write command may be variable.
  • the increment of the counter may be changed according to the amount of data written by one write command. That is, when data of a total data amount corresponding to “predetermined size ⁇ ⁇ ” is written, the increment of the counter is set to “ ⁇ ”. For example, when data having a data amount “predetermined size ⁇ 5” is written, the increment of the counter is set to “+5”.
  • FIG. 7 shows a state in which data is written in page 2.
  • the controller 11 When writing data to page 2, the controller 11 first identifies the physical address by referring to the address conversion table 132 based on the logical address specified by the write command. For example, when the write command instructs to rewrite the data of the logical address “85”, the controller 11 refers to the address conversion table 132 and specifies the physical address “101” corresponding to the logical address “85”. Then, the data written at the position of the physical address “101” is read.
  • the controller 11 changes a part of the read data based on the write command, and writes the changed data at a position corresponding to the physical address “N + 1” of the next page (page 2). Then, the controller 11 updates the address conversion table 132 so that the logical address is associated with the physical address of page 2.
  • the page in use is a switched page (for example, page 2)
  • the previous page for example, the page associated with the logical address specified in the command
  • the changed data is written to the currently used page (for example, page 2).
  • step S103 in FIG. 5 when data writing to the currently used page is repeated according to the write command, a situation occurs in which data exists across the previously used page and the currently used page. Therefore, in the present embodiment, when the rewriting rate of the currently used page exceeds 60% (step S103 in FIG. 5), the data remaining on the previously used page is currently being used. Processing for moving to a page is performed (step S104 in FIG. 5). It can be determined by referring to the address conversion table 132 whether data that has not been moved to the currently used page still remains on the page that has been used before.
  • the controller 11 When there is a logical address associated with the physical addresses “4” and “104” of the area of the page (page 1) used previously in the address conversion table 132, the controller 11 The data written at the addresses “4” and “104” is moved to the currently used page (page 2).
  • the logical addresses “32” and “74” of the moved data are associated with the physical addresses “N + 101” and “N + 102” of the movement destination, respectively. As a result, all data remaining on the previously used page (page 1) is moved to the currently used page (page 2).
  • the recording medium 1 notifies the host 2 of a warning indicating that the rewriting rate of the recording medium 1 has increased when the rewriting rate of the recording medium 1 has increased. (Step S112 in FIG. 5).
  • the host 2 receives the warning from the recording medium 1, the host 2 performs a warning operation.
  • FIG. 8 is a flowchart of the warning operation by the CPU 22 of the host 2.
  • the CPU 22 of the host 2 transmits a command to the recording medium 1 based on an instruction from the user (S201).
  • the command is an instruction for instructing the recording medium 1 to write data, read data, erase data, or perform other processing.
  • the CPU 22 receives a response to the command from the recording medium 1 (S202).
  • the response transmitted from the recording medium includes a warning indicating that the rewrite rate of the last page has increased, a notification indicating completion of data writing, a notification indicating that data writing cannot be performed, or read data.
  • the CPU 22 determines whether or not the received response is a warning indicating that the rewriting rate of the last page has increased (S203). That is, the CPU 22 determines whether a warning has been received. When receiving a warning from the recording medium 1, the CPU 22 notifies the user of the warning. For example, the CPU 22 causes the display unit 27 to display a rewrite rate of the storage area of the recording medium 1 and a message recommending replacement with a new recording medium 1. As a result, the user can recognize that the rewrite rate of the recording medium 1 is high and replace the recording medium 1 with a new recording medium 1 before the recording medium 1 becomes unusable, for example, before reading and writing become impossible. It becomes possible to do.
  • the recording medium 1 of the present disclosure includes a nonvolatile memory 12 having a storage area for writing data, and a controller 11 that controls writing of data to the storage area.
  • the controller 11 divides the storage area into a plurality of pages (areas), selects one page from the plurality of pages, uses only the selected page as a data recording area, and the rewrite rate of the selected page is When the first predetermined value (for example, 95%) is reached, the area used as the data recording area is switched to another page that is not yet used in a plurality of pages.
  • the rewrite rate is the ratio of the actual number of writes to the allowable number of writes.
  • the page can be used until just before the page becomes unusable, the number of times of use of the entire memory 12 is greatly increased.
  • the accuracy of calculating the rewrite rate based on the number of times of writing is improved.
  • the memory 12 has a division flag 131a indicating that the storage area is divided into a plurality of pages.
  • the host 2 refers to the division flag 131a. It can be recognized that the recording medium 1 is normal. Therefore, data can be read and written normally.
  • the memory 12 has used page information 131b indicating the page in use.
  • the memory 12 has rewrite rate information 131c indicating the rewrite rate of each page.
  • the controller 11 itself can grasp the usage status of the memory 12 and can inform the host 2 from the recording medium 1 of the usage status of the memory 12.
  • the controller 11 sets the currently used page among the data written on the previously used page. Move unmoved data to the current page. Thereby, it is possible to prevent the data from continuing over a plurality of pages, and the reading / writing speed of the data is increased. For example, when data recording over a plurality of pages is left unattended, there is a possibility that data is recorded over all four pages. In that case, there is a possibility that the opportunity to check all the areas of the recording area may occur as much as it goes across, so that the read / write performance can be reduced as a whole.
  • a predetermined value for example, 60%
  • the controller 11 notifies the host 2 of a warning when the rewrite rate of the last selected page reaches a predetermined value (for example, 80%) after sequentially selecting all of the plurality of pages as the data recording area. Thereby, the host 2 can notify the user of a warning before the recording medium 1 cannot be used.
  • a predetermined value for example, 80%
  • the first embodiment has been described as an example of the technique disclosed in the present application.
  • the technology in the present disclosure is not limited to this, and can also be applied to embodiments in which changes, replacements, additions, omissions, and the like have been made as appropriate.
  • the predetermined value and threshold value used as the determination criteria in steps S103, S105, and S111 are not limited to the above values (60%, 95%, and 80%), and can be set as appropriate.
  • the predetermined value and threshold value may be set as appropriate depending on the performance of the NAND serving as the base, the overall capacity, and the usage (use case).
  • the predetermined value and the threshold value are not necessarily fixed values, and may be dynamically changed according to the state of the recording medium. Further, the predetermined value and the threshold value may be set by the host 2.
  • the page used is changed to the next page when a write command is received and the used page rewrite rate exceeds 95% in steps S105 to S107 of FIG.
  • the page to be used may be changed to the next page. In this case, the read data is rewritten to the next page.
  • the rewrite rate information 131c indicates the rewrite rate of each page, and the case where the data writing process shown in FIG. 5 is performed based on the rewrite rate has been described.
  • the rewrite rate information 131c may indicate the current write count (counter value) of each page instead of the rewrite rate of each page, and based on the write count (counter value), FIG. The data writing process shown in FIG.
  • the case where the storage area is divided into four pages has been described as an example, but the user may be able to select the number of divisions of the storage area.
  • the recording medium 1 has information on the number of possible divisions.
  • the recording medium 1 transmits information on the possible number of divisions to the host 2, and the controller 11 determines based on the number of divisions designated by the user via the host 2.
  • the storage area may be divided. Specifically, when the storage area is 100 TB, “10 TB ⁇ 10 pages”, “25 TB ⁇ 4 pages”, “50 TB ⁇ 2 pages”, “100 TB ⁇ 1 page (not divided)” can be selected. Good.
  • both the recording medium 1 and the host 2 may have the management information 131.
  • the host 2 may read the management information 131 from the recording medium 1 in the initial process of step S101 in FIG.
  • the host 2 may store the read management information 131 in the buffer 26 or may be stored in another built-in storage unit (for example, a hard disk or a flash memory).
  • the updated management information 131 may be included in the response to the command in step S202 of FIG.
  • the CPU 22 of the host 2 may refer to the management information 131 to determine whether or not the rewriting rate of the final page exceeds 80% and notify the user of a warning.
  • the controller 11 of the recording medium 1 uses each page in order from page 1 to page 4.
  • the order of use of pages is arbitrary.
  • the controller 11 selects one page to be used as a data recording area from a plurality of pages, and when the rewrite rate of the selected page approaches 100% (for example, exceeds 95%), another page that is not yet used. Use the use page.
  • the information storage unit 13 is provided separately from the memory 12, but the information storage unit 13 and the memory 12 may be an integrated nonvolatile memory.
  • the recording medium 1 has a RAM (not shown) as a work area.
  • the management information 131 and the address conversion table 132 are read from the information storage unit 13 and stored in the RAM. Load it. Thereafter, when executing the steps (S102 to S114) shown in FIG. 5, the management information 131 loaded on the RAM may be used (referenced or updated).
  • the recording medium and host of the present disclosure can be realized by cooperation with hardware resources such as a processor, a memory, and a program.
  • the number of times the nonvolatile memory can be used can be increased, which is useful for a memory card including a large-capacity nonvolatile memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

記録媒体(1)は、データを書き込むための記憶領域を有する不揮発性メモリ(12)と、記憶領域に対するデータの書き込みを制御するコントローラ(11)と、を有し、コントローラ(11)は、記憶領域を複数の区域に分割し、複数の区域の中から1つの区域を選択し、選択した区域のみをデータ記録領域として使用し、選択された区域の書き換え率が第1の所定値に達すると、データ記録領域として使用する領域を複数の区域において未だ使用していない別の区域に切り替える。

Description

[規則37.2に基づきISAが決定した発明の名称] 使用回数を増大させた不揮発性メモリ
 本開示は、不揮発性メモリを備えた記録媒体に関する。
 特許文献1は、不揮発性メモリと、不揮発性メモリの管理情報に基づいて不揮発性メモリのアクセス領域を制御するコントローラと、を有する記憶装置を開示している。この記憶装置は、複数の管理情報によって、不揮発メモリの記憶領域を分割して管理している。これにより、各管理情報の有効/無効の判断を素早く行うことを可能にしている。
特許第4301301号公報
 本開示は、不揮発性メモリの使用回数を増大させることが可能な記録媒体を提供する。
 本開示にかかる記録媒体は、データを書き込むための記憶領域を有する不揮発性メモリと、記憶領域に対するデータの書き込みを制御するコントローラと、を有し、コントローラは、記憶領域を複数の区域に分割し、複数の区域の中から1つの区域を選択し、選択した区域のみをデータ記録領域として使用し、選択された区域の書き換え率が第1の所定値に達すると、データ記録領域として使用する領域を複数の区域において未だ使用していない別の区域に切り替える。
 本開示における記録媒体は、不揮発性メモリの使用回数を増大させることができる。
図1は、本開示の一態様の情報記録システムの構成を示すブロック図である。 図2は、記録媒体の記憶領域の分割の一例を示す図である。 図3は、管理情報の一例を示す図である。 図4は、記憶領域と管理情報の具体例を示す図である。 図5は、本開示の一態様の記録媒体の動作を示すフローチャートである。 図6は、前ページの残存データの移動の詳細を示すフローチャートである。 図7は、データ書き込みの具体例を示す図である。 図8は、本開示の一態様のホストの動作を示すフローチャートである。
 以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
 なお、発明者(ら)は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
 (本開示に至った経緯)
 NAND型フラッシュメモリなどの不揮発性メモリを構成する記憶素子には、書き換え可能な回数に上限がある。そのため、通常、不揮発性メモリを備えた記録媒体は、データの書き込みが一部の記憶素子に偏らないようにしている。すなわち、データの書き込み先を分散させて、不揮発性メモリを構成する複数の記憶素子の書き込み回数が平準化されるようにしている。
 しかし、大容量の不揮発性メモリの場合、各記憶素子に対する書き換え回数を十分に平準化することは難しい。そのため、書き換え回数の上限に達していない記憶素子が多く存在していたとしても、一部の記憶素子の書き換え回数が上限に達することによって、その不揮発性メモリにデータが書き込めなくなることがあった。本開示は、不揮発性メモリの使用回数を増大させることが可能な記録媒体を提供する。
 (実施の形態1)
 1.構成
 図1は、本開示の一態様の情報記録システムを開示する。
 情報記録システムは、データを格納する記録媒体1と、記録媒体1に対してデータの書き込み、読み出しを行うホスト2とを備える。
 記録媒体1は、例えば、SDメモリカード、SSD(Solid State Drive)である。
 ホスト2は、例えば、パソコン、デジタルカメラ、スマートフォンである。
 本実施の形態においては、記録媒体1とホスト2は、PCI Express(PCIe)規格に準拠したバスで接続されるとしている。しかし、記録媒体1及びホスト2は、PCI Express規格とは別の規格に準拠したバスで接続されてもよい。
 記録媒体1は、コントローラ11と、メモリ12と、情報格納部13と、コネクタ14とを含む。
 コントローラ11は、コネクタ14を介して受信したホスト2からのコマンドに基づいて、メモリ12に対してデータの読み書きなどの処理を行う。コントローラ11は、半導体素子などで実現可能であり、例えば、マイコン、CPU、MPU、DSP、FPGA、ASICで構成することができる。
 本実施の形態において、メモリ12は、NAND型フラッシュメモリである。しかし、メモリ12は、NAND型フラッシュメモリ以外の不揮発性メモリであってもよい。メモリ12は、データが記録される記憶領域を有する。
 情報格納部13には、管理情報131と、アドレス変換テーブル132とが記録される。管理情報131は、メモリ12の記憶領域の使用状況を管理するための情報である。アドレス変換テーブル132は、ホスト2から指定された論理アドレスとメモリ12内の物理アドレスとの対応付けを行うテーブルである。情報格納部13は、例えば、RAM、DRAM、強誘電体メモリ、フラッシュメモリ、又はこれらの組み合わせによって実現できる。
 コネクタ14は、ホスト2と電気的に接続する部材であり、PCI Express規格に準拠して構成される。
 ホスト2は、ルートコンプレックス(RootComplex)21と、CPU22と、PCIeスイッチ23と、コネクタ24と、データ転送部25と、バッファ26と、表示部27とを含む。ルートコンプレックス(RootComplex)21と、PCIeスイッチ23とは、PCI Express規格に準拠した通信を行うための構成である。ルートコンプレックス(RootComplex)21、CPU22、PCIeスイッチ23、データ転送部25、バッファ26、及び表示部27は、バス28で相互に接続されている。
 CPU22は、ホスト2全体を制御する。ホスト2は、記録媒体1が挿入されるスロット(図示せず)を備えており、このスロット内にコネクタ24が設けられている。コネクタ24は、記録媒体1と電気的に接続する部材であり、PCI Express規格に準拠して構成される。データ転送部25は、CPU22の制御に従って、コマンドやデータを記録媒体1に送信する。表示部27は、例えば、液晶パネルや有機ELパネルである。
 記録媒体1が、コネクタ14とコネクタ24を介してホスト2に接続されると、記録媒体1とホスト2との間で、コマンドやデータの送受信が行われる。
 本実施の形態の情報記録システムでは、記録媒体1のメモリ12の記憶領域全体を、所定サイズの複数の区域(以下「ページ」という)に分割し、分割された複数のページの中の1ページのみをデータ記録可能な領域に割り当てる。すなわち、メモリ12の記憶領域の一部の領域のみを、データ記録領域として使用する。データ記録領域に割り当てられた1つのページにおいて、書き換え率が所定値を超えると、そのページへのデータ書き込みを禁止し、次のページをデータ記録領域として割り当てる。以後、順次、1つのページに対する書き換え率が所定値を超える度に、データ記録領域は、順次、他のページに切り替えられていく。このようにデータ記録領域を設定することで、一時に利用できるメモリ容量は減少するが、各ページの領域に対する書き換え回数をより多くすることができる。
 図2は、メモリ12の記憶領域の分割を模式的に示した図である。記憶領域は、均一のサイズで複数のページに分割されている。ページの数(分割数)は任意である。ページの数は予め決められていてもよいし、コントローラ11がユーザの指示に基づいて決めても良い。本実施の形態においては、一例として、記憶領域を4つのページに分割している。例えば、記憶領域全体が100TBの場合、各ページは25TBである。
 記録媒体1のコントローラ11は、データの記録領域として、ページを一つずつ順番に使用していく。具体的には、コントローラ11は、最初、ページ1を使用して、ホストから送信されたデータをページ1に書き込む。このとき、ページ2~4はデータ記録には使用されない。ホスト2から指定される論理アドレス(1~Mのいずれか)は、アドレス変換テーブル132により、ページ1内の物理アドレス(1~Nのいずれか)に対応付けられる。アドレス変換テーブル132において、論理アドレス1~Mと物理アドレス1~Nとの対応付けは、データの書き換え等により変更される。
 コントローラ11は、ページ1の書き換え率がしきい値以上になると、データ記録領域をページ1からページ2に切り替える。本実施の形態では、ページの「書き換え率(書き込み率)」は、設定されたページ全体における許容可能な書き込み回数に対する現時点でのそのページに対する実際の書き込み回数の比率と定義する。具体的には、書き換え率は次式で算出される。
   書き換え率=現時点の書き込み回数/許容可能な書き込み回数
 しきい値は100%に近い値、例えば95%に設定される。さらに、ページ2の書き換え率がしきい値(例えば95%)を超えると、データ記録領域を、ページ2からページ3に切り替える。このとき、ページ1、3、4はデータ記録には使用されない。このようにして、本実施の形態においては、データ記録領域として、ページ1からページ4まで順番にページを使用していく。
 図3は、上記のようなデータ記録領域の管理を行うために使用する管理情報131の一例を示した図である。管理情報131は、メモリ12の記憶領域を複数のページに分割して使用していることを示す分割フラグ131aと、現在使用しているページを示す使用ページ情報131bと、各ページの現時点の書き換え率を示す書き換え率情報131cとを含む。
 図4は、ページの使用状況に対する管理情報131の具体例を説明した図である。図4の例では、メモリ12の記憶領域は4つのページに分割されている。そのため、分割フラグ131aには、記憶領域が分割されていることを示す「YES」が設定されている。図4において、ページ1、2の領域に施されたハッチングは、各ページの書き換え率を模式的に表している。ページ1の書き換え率は100%に近く、ページ2の書き換え率はまだ半分程度である。このとき、現在使用中のページは「ページ2」であり、よって、使用ページ情報131bには、「2/4」(2ページ目を意味)が設定される。各ページについて書き換え率が、「現時点の書き込み回数/許容可能な書き込み回数」によって算出される。書き換え率情報131cにおいて、ページ1~4の書き換え率としてそれぞれ、96%、52%、0%、0%が設定される。
 2.動作
 2.1 記録媒体の全体動作
 図5は、記録媒体1のコントローラ11による制御を示している。本実施の形態では、説明の便宜上、1回の書き込みコマンドで、所定のデータ量(固定サイズ)のデータの書き込みが指示されるとして説明を行う。
 記録媒体1がホスト2に接続されると、記録媒体1のコントローラ11は初期化処理を行う(S101)。初期化処理では、例えば、コントローラ11は、分割フラグ131a、ページのサイズ、記憶領域全体のサイズ、及び記録媒体1の性能を示すパラメータなどをホスト2に送信する。
 初期化処理が終わると、コントローラ11はホスト2からのコマンドを待つ。コントローラ11は、ホスト2からコマンドを受信すると、そのコマンドが書き込みコマンドか否かを判断する(S102)。ホスト2から送信される書き込みコマンドは、書き込み開始位置を示す論理アドレスと、書き込むべきデータとを含む。
 ホスト2から書き込みコマンドを受信すると、コントローラ11は、管理情報131を参照して、現在使用中のページの書き換え率が所定値(本実施の形態において、60%)を越えているか否かを判断する(S103)。現在使用中のページの書き換え率が60%を越えていなければ、コントローラ11は、ステップS102の書き込みコマンドで書き込みを指示されたデータを現在使用中のページに書き込む(S109)。
 一方、現在使用中のページの書き換え率が60%を越えていた場合、コントローラ11は、前に使用していたページのデータであって、書き換えられていないデータを現在使用中のページに移動させる(S104)。これは、現在使用中のページの書き換え率が60%を超えているにも関わらず、未だ、前に使用していたページから移動されないデータが残っている場合には、半ば強制的にデータを移動する必要があるからである。ステップS104の詳細については後述する。
 その後、コントローラ11は、現在使用中のページの書き換え率が、ページ切り替えのためのしきい値(本実施の形態において95%)を越えたか否かを判断する(S105)。現在使用中のページの書き換え率が95%を越えていなければ、コントローラ11は、ステップS102の書き込みコマンドで書き込みを指示されたデータを現在使用中のページに書き込む(S109)。
 一方、現在使用中のページの書き換え率が95%を越えていれば、コントローラ11は、管理情報131に基づいて、使用ページが最終ページであるか否かを判断する(S106)。使用ページが最終ページであれば、次のページが存在しないため、書き換え率が95%を越えていても、コントローラ11は、その最終ページに、ステップS102の書き込みコマンドで書き込みを指示されたデータを書き込む(S109)。
 現在使用中のページの書き換え率が95%を越えていて、且つ使用ページが最終ページでなければ、コントローラ11は、ステップS102の書き込みコマンドで書き込みを指示されたデータを、次のページ(未使用のページ)に書き込む(S107)。次のページにデータを書き込んだときは、コントローラ11は、現在使用中のページの書き込み回数を示すカウンタをゼロにリセットする(S108)。また、コントローラ11は、管理情報131の使用ページ情報131bを更新する。
 コントローラ11は、ステップS107又はS109においてデータを書き込んだ後に、カウンタの値を一つ増加させる(S110)。これにより、カウンタによって示される現在使用中のページの書き込み回数が一つ増える。また、このとき、コントローラ11は、「カウンタの値/許容可能な書き込み回数」によって、現在使用中のページの書き換え率を算出し、管理情報131の書き換え率情報131cを更新する。
 コントローラ11は、書き込み以外のコマンドを受け取ったときは(S102でNo)、そのコマンドに応じた処理を実行する(S114)。例えば、ホスト2から読み出しコマンドを受け取ったときは、コントローラ11は、記憶領域の指定された領域からデータを読み出して、ホスト2に送信する。
 コントローラ11は、ホスト2からのコマンドに応じた処理を行った後(ステップS110又はS114の後)、管理情報131を参照して、メモリ12の最終ページの書き換え率が、警告のためのしきい値(本実施の形態において、80%)を越えているか否かを判断する(S111)。最終ページの書き換え率が80%を超えていた場合は、コントローラ11は、最終ページの書き換え率が高くなったことを示す警告をホスト2に通知する(S112)。
 コントローラ11は、記録媒体1がホスト2から取り外されたか否かを判断し(S113)、取り外されていなければ、ステップS102に戻り、ホスト2からの次のコマンドを待つ。記録媒体1がホスト2から取り外された場合は、図5に示す処理を終了する。
 2.2 記録媒体における残存データの移動の動作
 上記のステップS104の処理の詳細を、図6を参照して説明する。図6は、前に使用していたページのデータであって、書き換えられていないデータを現在使用しているページに移動させる処理(図5のステップS104)の詳細を示したフローチャートである。
 コントローラ11は、現在使用しているページが最初のページが否かを判断する(S151)。
 現在使用しているページが最初のページ(ページ1)でない場合、前に使用していたページのデータであって、書き換えられていないデータ、すなわち、現在使用しているページに未だ移動されていないデータが、前に使用していたページに残っているか否かを判断する(S152)。移動していないデータが前に使用していたページに残っていれば、コントローラ11は、そのデータを現在使用しているページに移動させる(S153)。その後、コントローラ11は、データを移動させた分、カウンタを増加させる(S154)。
 一方、現在使用しているページが最初のページ(ページ1)の場合(S151でYes)、又は前に使用していたページのデータの全てが現在使用しているページに移動済みの場合(S152でYes)は、移動すべきデータがないため、図6に示す処理を終了する。
 上記説明においては、1回の書き込みコマンドによって書き込まれるデータ量が所定のデータ量(固定サイズ)である場合を例にして説明した。しかし、1回の書き込みコマンドによって書き込まれるデータ量は可変であってもよい。その場合、カウンタを増加させる場合に、1回の書き込みコマンドによって書き込まれるデータ量に応じてカウンタの増分を変化させればよい。すなわち、「所定サイズ×α」に相当する総データ量のデータを書き込んだときは、カウンタの増分を「α」に設定する。例えば、データ量が「所定サイズ×5」のデータを書き込んだときは、カウンタの増分を「+5」にする。
 2.3 データ書き込みの具体例
 図7を参照して、データ書き込みの具体例を説明する。図7は、ページ2にデータが書き込まれている状態を示している。
 例えば、現在使用中のページ1の書き換え率が95%を超えた状態で、ホスト2から書き込みコマンドを受信した場合、ページが切り替わり、次のページ(ページ2)にデータが書き込まれる(図5のステップS105、S107)。ページ2にデータを書き込む場合、コントローラ11は、まず、書き込みコマンドで指定された論理アドレスに基づきアドレス変換テーブル132を参照して、物理アドレスを特定する。例えば、書き込みコマンドが論理アドレス「85」のデータの書き換えを指示している場合、コントローラ11は、アドレス変換テーブル132を参照して、論理アドレス「85」に対応する物理アドレス「101」を特定し、物理アドレス「101」の位置に書き込まれているデータを読み出す。そして、コントローラ11は、読み出したデータの一部を、書き込みコマンドに基づいて変更し、変更後のデータを次ページ(ページ2)の物理アドレス「N+1」に対応する位置に書き込む。そして、コントローラ11は、論理アドレスをページ2の物理アドレスに対応づけるようにアドレス変換テーブル132を更新する。このように、使用中のページが切り替えられたページ(例えば、ページ2)である場合、書き込みコマンドを受信したときに、コマンドに指定された論理アドレスに対応付けられている前のページ(例えば、ページ1)内の物理アドレスの位置にあるデータを変更して、変更後のデータを現在使用中のページ(例えば、ページ2)に書き込む。
 よって、書き込みコマンドに応じて現在使用中のページへのデータの書き込みが繰り返されると、前に使用していたページと現在使用中のページにまたがってデータが存在する状況が発生する。そのため、本実施の形態においては、現在使用中のページの書き換え率が60%を越えた時点で(図5のステップS103)、前に使用していたページに残っているデータを現在使用中のページに移動させる処理を行う(図5のステップS104)。現在使用中のページに移動されていないデータがまだ前に使用していたページに残っているか否かの判断は、アドレス変換テーブル132を参照することによって行うことができる。
 例えば、アドレス変換テーブル132の中に、前に使用していたページ(ページ1)の領域の物理アドレス「4」,「104」に対応づけられた論理アドレスがある場合、コントローラ11は、その物理アドレス「4」,「104」の位置に書き込まれているデータを現在使用中のページ(ページ2)に移動させる。そして、アドレス変換テーブル132において、移動させたデータの論理アドレス「32」,「74」を移動先の物理アドレス「N+101」,「N+102」にそれぞれ対応付ける。これにより、前に使用していたページ(ページ1)に残っているデータは、全て現在使用中のページ(ページ2)に移動される。
 2.4 ホストの警告動作
 前述のように、記録媒体1は、記録媒体1の書き換え率が高くなった場合に、記録媒体1の書き換え率が高くなったことを示す警告をホスト2に通知する(図5のステップS112)。ホスト2は、記録媒体1からその警告を受信すると、警告動作を行う。
 図8は、ホスト2のCPU22による警告動作のフローチャートである。ホスト2のCPU22は、例えば、ユーザからの指示に基づいてコマンドを記録媒体1に送信する(S201)。コマンドは、データの書き込み、データの読み出し、データの消去、又はその他の処理を記録媒体1に指示するための命令である。
 CPU22は、記録媒体1からコマンドに対する応答を受信する(S202)。記録媒体から送信される応答は、最終ページの書き換え率が高くなったことを示す警告、データの書き込み完了を示す通知、データの書き込み不可を示す通知、又は読み出されたデータなどを含む。
 CPU22は、受信した応答が最終ページの書き換え率が高くなったことを示す警告であるか否かを判断する(S203)。すなわち、CPU22は、警告を受信したか否かを判断する。CPU22は、記録媒体1から警告を受信した場合は、ユーザにその警告を通知する。例えば、CPU22は、記録媒体1の記憶領域の書き換え率と、新たな記録媒体1への交換を勧めるメッセージとを表示部27に表示させる。これにより、ユーザは、記録媒体1の書き換え率が高くなっていることを認識でき、記録媒体1が使用できなくなる前に、例えば、読み出し及び書き込みができなくなる前に、新たな記録媒体1に交換することが可能になる。
 3.効果等
 本開示の記録媒体1は、データを書き込むための記憶領域を有する不揮発性メモリ12と、記憶領域に対するデータの書き込みを制御するコントローラ11と、を有する。コントローラ11は、記憶領域を複数のページ(区域)に分割し、複数のページの中から1つのページを選択し、選択したページのみをデータ記録領域として使用し、選択されたページの書き換え率が第1の所定値(例えば、95%)に達すると、データ記録領域として使用する領域を複数のページにおいて未だ使用していない別のページに切り替える。書き換え率は、許容可能な書き込み回数に対する実際の書き込み回数の比率である。これにより、ページが使用できなくなる直前までそのページを使用し続けることができるため、メモリ12全体の使用回数が大幅に増加する。また、記憶領域を複数のページに分割することによって、書き込み回数に基づいた書き換え率の算出の精度が向上する。
 メモリ12は、記憶領域が複数のページに分割されていることを示す分割フラグ131aを有する。これにより、メモリ12の書き換え可能な領域(データ記録領域)の容量が、実際に搭載されているメモリ12のサイズよりも大幅に小さくても、ホスト2は、分割フラグ131aを参照することによって、その記録媒体1が正常であると認識することができる。よって、データの読み書きを正常に行うことができる。
 メモリ12は、使用中のページを示す使用ページ情報131bを有する。また、メモリ12は、各ページの書き換え率を示す書き換え率情報131cを有する。これにより、コントローラ11自身がメモリ12の使用状況を把握すると共に、記録媒体1からホスト2にメモリ12の使用状況を知らせることが可能になる。
 コントローラ11は、現在使用中のページの書き換え率が所定値(例えば、60%)に達したときに、前に使用していたページに書き込まれているデータの中で、現在使用中のページに移動していないデータを、現在使用中のページに移動する。これにより、複数のページにデータがまたがり続けることを防ぐことができ、データの読み書きの速度が速くなる。例えば、複数ページに跨がったデータの記録を放置した場合、4ページ全てに跨がってデータが記録される可能性が生じる。その場合、記録領域の全ての領域のチェックが必要となる機会が、跨る分だけ発生する可能性があり、そのため、総じて、読み書きの性能が低下し得る。この問題を考慮し、本実施の形態では、新たなページへの書き込みが一旦開始された後、書き換え率が所定値(例えば、60%)に達した時点で、データを新たなページへ移動している。これにより、新たなページへの書き込みが一旦開始されると、最初のうちのある程度の期間は、ページを跨がった移動を許容するとしても、ある時点(例えば、書き換え率が60%に達した時点)からは、できるだけ早くスムーズに新たなページのみでアクセスを完了できるようになる。
 コントローラ11は、複数のページの全てをデータ記録領域として順に選択した後、最後に選択したページの書き換え率が所定値(例えば、80%)に達したときに、ホスト2に警告を通知する。これにより、ホスト2は、記録媒体1が使用できなくなる前に、ユーザに警告を通知することが可能になる。
 (他の実施形態)
 以上のように、本出願において開示する技術の例示として、実施形態1を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施形態にも適用可能である。また、上記実施形態1で説明した各構成要素を組み合わせて、新たな実施形態とすることも可能である。そこで、以下、他の実施形態を例示する。
 上記の実施の形態において、ステップS103、S105、S111において判断基準となる所定値やしきい値は上記の値(60%、95%、80%)に限定されるものではなく、適宜設定できる。すなわち、上記の所定値やしきい値は、ベースとなるNANDの性能、全体の容量、使い方(ユースケース)により適宜設定しても良い。また、上記の所定値やしきい値は、必ずしも固定値である必要もなく、記録媒体の状態に応じて動的に変化させてもよい。また、上記の所定値やしきい値はホスト2により設定されてもよい。
 上記実施の形態においては、図5のステップS102~104において、書き込みコマンドを受信し且つ使用ページの書き換え率が60%を超えていたときに、前に使用していたページの残存データを現在使用中のページに移動させる場合について説明した。しかし、書き込みコマンド以外のコマンド(例えば、読み出しコマンド)を受信し且つ使用ページの書き換え率が60%を超えていたときに、前に使用していたページの残存データを現在使用中のページに移動させてもよい。
 上記実施の形態においては、図5のステップS105~107において、書き込みコマンドを受信し且つ使用ページの書き換え率が95%を超えていたときに、使用するページを次ページに変更した。しかし、読み出しコマンドを受信し且つ使用ページの書き換え率が95%を超えていたときに、使用するページを次ページに変更してもよい。この場合、読み出したデータを次ページに書き換える。
 上記実施の形態においては、書き換え率情報131cは各ページの書き換え率を示し、その書き換え率に基づいて図5に示すデータの書き込み処理を行う場合について説明した。しかし、書き換え率情報131cは、各ページの書き換え率の代わりに、各ページの現時点の書き込み回数(カウンタの値)を示すものであってもよく、書き込み回数(カウンタの値)に基づいて図5に示すデータの書き込み処理を行ってもよい。
 上記実施の形態においては、記憶領域が4つのページに分割されている場合を例にして説明したが、記憶領域の分割数をユーザが選択できるようにしてもよい。例えば、記録媒体1は可能な分割数の情報を有する。そして、記録媒体1が初めて使用されるときに、記録媒体1は、ホスト2にその可能な分割数の情報を送信し、ユーザがホスト2を介して指定した分割数に基づいて、コントローラ11が記憶領域を分割してもよい。具体的には、記憶領域が100TBの場合、「10TB×10ページ」、「25TB×4ページ」、「50TB×2ページ」、「100TB×1ページ(分割しない)」を選択できるようにしてもよい。
 上記実施の形態においては、管理情報131は、記録媒体1のみに格納されている場合について説明したが、記録媒体1とホスト2の両方が管理情報131を有してもよい。この場合、例えば、図5のステップS101の初期処理において、ホスト2は記録媒体1から管理情報131を読み出してもよい。ホスト2は、読み出した管理情報131をバッファ26に格納してもよいし、別の内蔵する記憶部(例えば、ハードディスク、フラッシュメモリ)に格納してもよい。さらに、図8のステップS202のコマンドに対する応答に、更新された管理情報131が含まれていてもよい。そして、ホスト2のCPU22が、管理情報131を参照して、最終ページの書き換え率が80%を超えているか否かを判断して、ユーザに警告を通知してもよい。
 上記実施の形態においては、記録媒体1のコントローラ11は、ページ1からページ4まで、順番に、各ページを使用した。しかし、ページの使用順は任意である。コントローラ11は、複数ページの中から、データ記録領域として使用するページを一つ選択し、選択したページの書き換え率が100%に近づいた(例えば、95%を越えた)ときに、別の未使用のページを使用すればよい。
 上記実施の形態においては、情報格納部13はメモリ12と別に設けられたが、情報格納部13とメモリ12は一体化された不揮発性メモリであってもよい。この場合、記録媒体1は、作業領域としてRAM(図示せず)を有し、初期化処理(図5のS101)において、情報格納部13から管理情報131及びアドレス変換テーブル132を読み出し、RAMにロードする。以後、図5に示すステップ(S102~S114)を実行する際には、RAM上にロードされた管理情報131を使用(参照、更新)してもよい。
 本開示の記録媒体及びホストは、ハードウェア資源、例えば、プロセッサ、メモリ、及びプログラムとの協働などによって、実現可能である。
 以上のように、本開示における技術の例示として、実施形態を説明した。そのために、添付図面および詳細な説明を提供した。したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 また、上述の実施形態は、本開示における技術を例示するためのものであるから、請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
 本開示の記録媒体によれば、不揮発性メモリの使用回数を増大させることができるため、大容量の不揮発性メモリを備えたメモリカードにおいて有用である。
  1    記録媒体
  11   コントローラ
  12   メモリ
  13   情報格納部
  14   コネクタ
  21   Root Complex
  22   CPU
  23   PCIeスイッチ
  24   コネクタ
  25   データ転送部
  26   バッファ
  27   表示部
  28   バス
  131  管理情報
  131a 分割フラグ
  131b 使用ページ情報
  131c 書き換え率情報
  132  アドレス変換テーブル

Claims (9)

  1.  データを書き込むための記憶領域を有する不揮発性メモリと、
     前記記憶領域に対するデータの書き込みを制御するコントローラと、
     を有し、
     前記コントローラは、
     前記記憶領域を複数の区域に分割し、
     前記複数の区域の中から1つの区域を選択し、選択された区域のみをデータ記録領域として使用し、
     前記選択された区域の書き換え率が第1の所定値に達すると、データ記録領域として使用する領域を前記複数の区域において未だ使用していない別の区域に切り替える、
     記録媒体。
  2.  前記書き換え率は、許容可能な書き込み回数に対する実際の書き込み回数の比率である、
     請求項1に記載の記録媒体。
  3.  前記不揮発性メモリは、前記記憶領域が前記複数の区域に分割されていることを示す情報を有する、
     請求項1に記載の記録媒体。
  4.  前記不揮発性メモリは、使用中の前記区域を示す情報を有する、
     請求項1に記載の記録媒体。
  5.  前記不揮発性メモリは、各区域の前記書き換え率を示す情報を有する、
     請求項1に記載の記録媒体。
  6.  前記コントローラは、現在使用中の前記区域の前記書き換え率が前記第1の所定値より小さい第2の所定値に達したときに、前に使用していた前記区域に書き込まれているデータの中で、現在使用中の前記区域に移動していないデータを、現在使用中の前記区域に移動する、
     請求項1に記載の記録媒体。
  7.  前記コントローラは、
     ホストから送信されるコマンドに基づいて、前記不揮発性メモリを制御するものであり、
     前記複数の区域の全てをデータ記録領域として順に選択した後、最後に選択した前記区域の前記書き換え率が第3の所定値に達したときに、前記ホストに警告を通知する、
     請求項1に記載の記録媒体。
  8.  前記不揮発性メモリは、NAND型フラッシュメモリである
     請求項1に記載の記録媒体。
  9.  前記コントローラは、ユーザが指定した分割数に応じて、前記記憶領域を前記複数の区域に分割する
     請求項1に記載の記録媒体。
PCT/JP2018/014479 2017-04-07 2018-04-04 使用回数を増大させた不揮発性メモリ WO2018186453A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019511291A JP6890238B2 (ja) 2017-04-07 2018-04-04 使用回数を増大させた不揮発性メモリ
EP18780487.7A EP3588305A4 (en) 2017-04-07 2018-04-04 NON-VOLATILE STORAGE WITH INCREASED NUMBER OF USEFUL TIMES
CN201880016487.9A CN110392885B (zh) 2017-04-07 2018-04-04 增大了使用次数的非易失性存储器
US16/584,767 US20200026452A1 (en) 2017-04-07 2019-09-26 Nonvolatile memory with increased number of usable times

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-076902 2017-04-07
JP2017076902 2017-04-07

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/584,767 Continuation US20200026452A1 (en) 2017-04-07 2019-09-26 Nonvolatile memory with increased number of usable times

Publications (1)

Publication Number Publication Date
WO2018186453A1 true WO2018186453A1 (ja) 2018-10-11

Family

ID=63713209

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/014479 WO2018186453A1 (ja) 2017-04-07 2018-04-04 使用回数を増大させた不揮発性メモリ

Country Status (5)

Country Link
US (1) US20200026452A1 (ja)
EP (1) EP3588305A4 (ja)
JP (1) JP6890238B2 (ja)
CN (1) CN110392885B (ja)
WO (1) WO2018186453A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58215794A (ja) * 1982-06-08 1983-12-15 Toshiba Corp 不揮発性メモリ装置
JPH0619800A (ja) * 1992-06-30 1994-01-28 Sharp Corp E2romへのデータ書き込み方法
JPH1063582A (ja) * 1996-08-26 1998-03-06 Jatco Corp 車両用制御装置
JP4301301B2 (ja) 2007-02-05 2009-07-22 ソニー株式会社 不揮発性半導体記憶装置およびその管理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4884382B2 (ja) * 2005-05-23 2012-02-29 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
CN1988039A (zh) * 2005-12-21 2007-06-27 群联电子股份有限公司 闪存分散写入方法
US8397015B2 (en) * 2007-05-10 2013-03-12 Panasonic Corporation Memory controller, semiconductor recording device, and method for notifying the number of times of rewriting
EP2243085A1 (en) * 2008-02-10 2010-10-27 Rambus Inc. Segmentation of flash memory for partial volatile storage
JP5478855B2 (ja) * 2008-08-08 2014-04-23 ルネサスエレクトロニクス株式会社 不揮発性メモリ制御方法及び半導体装置
TWI460588B (zh) * 2009-07-17 2014-11-11 Toshiba Kk Memory management device and memory information processing device
US8447915B2 (en) * 2009-07-23 2013-05-21 Hitachi, Ltd. Flash memory device for allocating physical blocks to logical blocks based on an erase count
JP4912456B2 (ja) * 2009-12-17 2012-04-11 株式会社日立製作所 ストレージ装置及びその制御方法
US8949506B2 (en) * 2010-07-30 2015-02-03 Apple Inc. Initiating wear leveling for a non-volatile memory
US20120155167A1 (en) * 2010-12-21 2012-06-21 Kabushiki Kaisha Toshiba Non-volatile storage device, information processing system and write control method of non-volatile storage device
KR20130060791A (ko) * 2011-11-30 2013-06-10 삼성전자주식회사 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브
JP2013254357A (ja) * 2012-06-07 2013-12-19 Sony Corp 情報処理装置および方法、並びにプログラム
CN106250320B (zh) * 2016-07-19 2019-05-24 诸葛晴凤 一种数据一致性及磨损均衡的内存文件***管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58215794A (ja) * 1982-06-08 1983-12-15 Toshiba Corp 不揮発性メモリ装置
JPH0619800A (ja) * 1992-06-30 1994-01-28 Sharp Corp E2romへのデータ書き込み方法
JPH1063582A (ja) * 1996-08-26 1998-03-06 Jatco Corp 車両用制御装置
JP4301301B2 (ja) 2007-02-05 2009-07-22 ソニー株式会社 不揮発性半導体記憶装置およびその管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3588305A4

Also Published As

Publication number Publication date
EP3588305A4 (en) 2020-04-01
CN110392885A (zh) 2019-10-29
EP3588305A1 (en) 2020-01-01
CN110392885B (zh) 2023-08-04
JP6890238B2 (ja) 2021-06-18
JPWO2018186453A1 (ja) 2019-12-19
US20200026452A1 (en) 2020-01-23

Similar Documents

Publication Publication Date Title
JP6538940B2 (ja) 不揮発性メモリの制御方法
KR102351660B1 (ko) 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법
US9069662B2 (en) Semiconductor device and method of controlling non-volatile memory device
US10509570B2 (en) Method, device, and program for managing a flash memory for mass storage
EP2200045A1 (en) Method of updating contents of a multibit flash memory
US9785384B2 (en) Semiconductor storage device and method for controlling nonvolatile semiconductor memory
US20120155167A1 (en) Non-volatile storage device, information processing system and write control method of non-volatile storage device
US20180365079A1 (en) Cooperative data migration for storage media
US20170269870A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
KR20180126921A (ko) 데이터 저장 장치 및 그것의 동작 방법
JP2018160189A (ja) メモリシステム
CN104102459A (zh) 一种闪存设备的数据处理方法及闪存设备
JP2016184402A (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法
US9948809B2 (en) Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
US20170003890A1 (en) Device, program, recording medium, and method for extending service life of memory
JP2010108385A (ja) 記憶装置
WO2018186453A1 (ja) 使用回数を増大させた不揮発性メモリ
US20150089122A1 (en) Apparatus, control apparatus, control method and storage medium
US11809314B2 (en) Method and apparatus for performing access control of memory device with aid of multi-stage garbage collection management
JP2008181456A (ja) 半導体記憶装置およびその書込制御方法
JP2010079860A (ja) 記憶装置およびメモリ制御方法
JP2014085794A (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: 18780487

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019511291

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018780487

Country of ref document: EP

Effective date: 20190926