The present disclosure relates to a recording medium including a nonvolatile memory.
PTL 1 discloses a storage device including a nonvolatile memory, and a controller configured to control an access region in the nonvolatile memory based on management information on the nonvolatile memory. Based on a plurality of pieces of management information, the storage device divides and manages a storage region in the nonvolatile memory. In this manner, whether each of the pieces of management information is valid or invalid can be promptly determined.
PTL 1: Japanese Patent No. 4301301
The present disclosure provides a recording medium capable of increasing a number of usable times of a nonvolatile memory.
A recording medium according to the present disclosure includes a nonvolatile memory having a storage region used for writing of data, and a controller configured to control the writing of data onto the storage region. The controller divides the storage region into a plurality of areas, selects one area among the plurality of areas, and uses only the one area as a data recording region.
When a rewriting ratio in the one area reaches a first predetermined value, the controller switches the data recording region from the one are to another area having not yet used among the plurality of areas.
The recording medium according to the present disclosure can increase a number of usable times of the nonvolatile memory.
Hereinafter, embodiments will be described in detail with reference to the drawings as appropriate. However, detailed description more than necessary may be omitted. For example, a detailed description of a well-known matter or a duplicated description of substantially the same configuration is omitted in some cases. This is to avoid unnecessary redundancy in the following description and to facilitate understanding by those skilled in the art.
Note that the inventors of the present disclosure provide the accompanying drawings and the following description in order to allow those skilled in the art to fully understand the present disclosure, and do not intend to limit the subject matter as described in the appended claims.
In each of storage elements constituting a nonvolatile memory such as a NAND-type flash memory, a number of times of rewriting is limited. A recording medium including a nonvolatile memory is normally configured to disallow, as much as possible, data to be unevenly written onto storage elements. That is, destinations of data to be written are dispersed to level numbers of times of writing in the plurality of storage elements constituting the nonvolatile memory.
A large-capacity, nonvolatile memory may however face difficulty in fully leveling numbers of times of rewriting onto storage elements. When the numbers of times of rewriting have each reached an upper limit in some of the storage elements, whereas the numbers of times of rewriting have not yet each reached the upper limit in others of the storage elements, writing of data onto the nonvolatile memory becomes impossible in some cases. The present disclosure provides a recording medium capable of increasing a number of usable times of a nonvolatile memory.
The information recording system includes recording medium 1 configured to store data, and host 2 configured to write and read data onto and from recording medium 1.
Recording medium 1 is, for example, a secure digital (SD) memory card or a solid state drive (SSD).
Host 2 is, for example, a personal computer, a digital camera, or a smartphone.
In the present exemplary embodiment, recording medium 1 and host 2 are coupled with each other with a bus conforming to a peripheral component interconnect express (PCI Express or PCIe) standard. Recording medium 1 and host 2 may be however coupled with each other with a bus conforming to another standard than the PCI Express standard.
Recording medium 1 includes controller 11, memory 12, information storage unit 13, and connector 14.
Based on a command received from host 2 via connector 14, controller 11 performs processing such as reading and writing of data from and onto memory 12. Controller 11 can be achieved with a semiconductor element, for example, and can include, for example, a microcomputer, a central processing unit (CPU), a microprocessor unit (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC).
In the present exemplary embodiment, memory 12 is a NAND-type flash memory. Memory 12 may however be another nonvolatile memory than the NAND-type flash memory. Memory 12 has a storage region used to record data.
Information storage unit 13 is recorded with management information 131 and address mapping table 132. Management information 131 is information used to manage a status of use of the storage region in memory 12. Address mapping table 132 is a table associating logical addresses specified by host 2 with physical addresses in memory 12. Information storage unit 13 can be achieved with, for example, one of or a combination of a random access memory (RAM), a dynamic random access memory (DRAM), a ferroelectric memory, and a flash memory.
Connector 14 is a member configured to be electrically coupled to host 2, and is configured to conform to the PCI Express standard.
Host 2 includes Root Complex 21, CPU 22, PCIe switch 23, connector 24, data transfer unit 25, buffer 26, and display 27. Root Complex 21 and PCIe switch 23 are configured to perform communications conforming to the PCI Express standard. Root Complex 21, CPU 22, PCIe switch 23, data transfer unit 25, buffer 26, and display 27 are mutually coupled with bus 28.
CPU 22 is configured to wholly control host 2. Host 2 has a slot (not illustrated) to be inserted with recording medium 1. Connector 24 is provided in the slot. Connector 24 is a member configured to be electrically coupled to recording medium 1, and is configured to conform to the PCI Express standard. Data transfer unit 25 follows control by CPU 22 to send commands and data to recording medium 1. Display 27 is, for example, a liquid crystal panel or an organic electroluminescence (EL) panel.
Upon coupling of recording medium 1 to host 2 via connector 14 and connector 24, commands and data are exchanged between recording medium 1 and host 2.
In the information recording system according to the present exemplary embodiment, the storage region in memory 12 of recording medium 1 is wholly divided into a plurality of areas each having a predetermined size (hereinafter referred to as “pages”), and only one page in the plurality of pages being divided is allocated as a region onto which data can be recorded. That is, only a part of the storage region in memory 12 is used as a data recording region. When a rewriting ratio exceeds a predetermined value in the one page allocated as the data recording region, writing of data onto the page is prohibited, and a next page is allocated as the data recording region. Each time the rewriting ratio exceeds the predetermined value in one of the pages, the data recording region is then sequentially switched to another one of the pages. In setting of the data recording region, as described above, a memory capacity to be temporarily utilized reduces. However, a number of times of rewriting onto each region of the pages can be increased.
Controller 11 of recording medium 1 uses the pages one by one in order as a region used to record data. Specifically, controller 11 first uses page 1 to write data sent from the host onto page 1. At this time, pages 2 to 4 are not used for recording of data. One of logical addresses (1 to M) is specified by host 2, and is associated by address mapping table 132 to one of physical addresses (1 to N) in page 1. In address mapping table 132, associations among logical addresses 1 to M and physical addresses 1 to N are changed through rewriting of data, for example.
When the rewriting ratio in page 1 is more than or equal to a threshold value, controller 11 switches the data recording region from page 1 to page 2. In the present exemplary embodiment, the “rewriting ratio (writing ratio)” in a page is defined as a ratio of a current, actual number of times of writing onto the page with respect to an allowable number of times of writing onto the whole page being set. Specifically, the rewriting ratio is calculated with an expression described below.
Rewriting ratio=Current number of times of writing/Allowable number of times of writing
The threshold value is set to a value closer to 100% such as 95%. Furthermore, when the rewriting ratio in page 2 exceeds the threshold value (e.g., 95%), the data recording region is switched from page 2 to page 3. At this time, pages 1, 3, and 4 are not used for recording of data. As described above, in the present exemplary embodiment, pages 1 to 4 are used one by one in order as the data recording region.
Upon coupling of recording medium 1 to host 2, controller 11 of recording medium 1 performs initialization processing (S101). In the initialization processing, for example, controller 11 sends to host 2 division flag 131a, a size of a page, a whole size of the storage region, and parameters indicative of capability of recording medium 1.
Upon completion of the initialization processing, controller 11 waits for a command from host 2. Upon reception of the command from host 2, controller 11 determines whether the command corresponds to the writing command (S102). The writing command sent from host 2 includes a logical address indicative of a writing start position, and data to be written.
Upon reception of the writing command from host 2, controller 11 determines, by referring to management information 131, whether the rewriting ratio in the page being currently used is exceeding the predetermined value (in the present exemplary embodiment, 60%) (S103). When the rewriting ratio in the page being currently used is not exceeding 60%, controller 11 writes, onto the page being currently used, data for which writing is instructed through the writing command in step S102 (S109).
On the other hand, when the rewriting ratio in the page being currently used is exceeding 60%, controller 11 moves data that has not yet been rewritten in the page previously used to the page being currently used (S104). A reason is that, when there is data yet remained unmoved from a page previously used even though the rewriting ratio in a page being currently used is exceeding 60%, the data should be almost forcibly moved. Details of step S104 will be described later.
After that, controller 11 determines whether the rewriting ratio in the page being currently used is exceeding a threshold value for page switching (in the present exemplary embodiment, 95%) (S105). When the rewriting ratio in the page being currently used is not exceeding 95%, controller 11 writes, onto the page being currently used, the data for which writing is instructed through the writing command in step S102 (S109).
On the other hand, when the rewriting ratio in the page being currently used is exceeding 95%, controller 11 determines whether the current page is a final page based on management information 131 (S106). As no next page exists when the current page is the final page, even when the rewriting ratio is exceeding 95%, controller 11 writes, onto the final page, the data for which writing is instructed through the writing command in step S102 (S109).
When the rewriting ratio in the page being currently used is exceeding 95%, and the current page is not the final page, controller 11 writes the data for which writing is instructed through the writing command in step S102 onto a next page (page being unused) (S107). Upon completion of writing of the data onto the next page, controller 11 resets a counter indicative of the number of times of writing in the page being currently used to zero (S108). Controller 11 further updates current-page information 131b in management information 131.
Upon completion of writing of the data in step S107 or S109, controller 11 increases a counter value by one (S110). Then, the number of times of writing in the page being currently used, which is indicated by the counter, increases by one. At this time, controller 11 uses “Counter value/Allowable number of times of writing” to calculate the rewriting ratio in the page being currently used, and updates rewriting ratio information 131c in management information 131.
Upon reception of a command for other than writing (No in S102), controller 11 executes processing corresponding to the command (S114). For example, upon reception of a reading command from host 2, controller 11 reads data from a specified region in the storage region, and sends the data to host 2.
Upon completion of the processing corresponding to the command from host 2 (after step S110 or S114), controller 11 determines, by referring to management information 131, whether the rewriting ratio in the final page in memory 12 is exceeding a threshold value for warning (in the present exemplary embodiment, 80%) (S111). When the rewriting ratio in the final page is exceeding 80%, controller 11 gives to host 2 a warning indicative of increase of the rewriting ratio in the final page (S112).
Controller 11 then determines whether recording medium 1 has been removed from host 2 (S113). When not removed, controller 11 returns to step S102 to wait for a next command from host 2. Upon removal of recording medium 1 from host 2, the processing illustrated in
The processing in step S104 described above will be described in detail with reference to
Controller 11 determines whether the page being currently used is the first page (S151).
When the page being currently used is not the first page (page 1), controller 11 determines whether the page previously used still contains the data that has not yet been rewritten, i.e., the data being unmoved to the page being currently used (S152). When the page previously used still contains the data being unmoved, controller 11 moves the data to the page being currently used (S153). After that, controller 11 increases the counter in accordance with the data being moved (S154).
On the other hand, when the page being currently used is the first page (page 1) (Yes in S151), or when all of the data in the page previously used is moved to the page being currently used (Yes in S152), the processing illustrated in
In the example described above, an amount of data to be written through the single writing command corresponds to the predetermined amount of data (fixed size). An amount of data to be written through the single writing command may however be variable. To increase the counter in that case, an increment of the counter may be changed in accordance with an amount of data to be written through the single writing command. That is, when data is written at a total amount corresponding to an amount of “predetermined size x a”, the increment of the counter is set to “a”. For example, when data is written at an amount of “predetermined size x 5”, the increment of the counter is set to “+5”.
A specific example of writing of data will be described with reference to
For example, upon reception of the writing command from host 2 in a state where the rewriting ratio in page 1 being currently used is exceeding 95%, the page is switched, and data is written onto the next page (page 2) (steps S105, S107 in
If writing of data onto the page being currently used in accordance with the writing command is repeated, such a situation occurs that the data exists across the page previously used and the page being currently used. In the present exemplary embodiment, however, when the rewriting ratio in the page being currently used exceeds 60% (step S103 in
For example, when address mapping table 132 has logical addresses associated with physical addresses of “4”, “104” in the region of the page previously used (page 1), controller 11 moves data written at the physical addresses of “4”, “104” to the page being currently used (page 2). In address mapping table 132, logical addresses of “32”, “74” of the data being moved are respectively associated with physical addresses of “N+101”, “N+102” in the destinations. The remaining data in the page previously used (page 1) is all thus moved to the page being currently used (page 2).
As described above, upon increase of the rewriting ratio in recording medium 1, recording medium 1 gives to host 2 a warning indicative of increase of the rewriting ratio in recording medium 1 (step S112 in
CPU 22 receives from recording medium 1 an acknowledgement with respect to the command (S202). The acknowledgement sent from the recording medium contains a warning indicative of increase of the rewriting ratio in the final page, a notification indicative of completion of writing data, a notification indicative of that writing of data is not allowed, or data being read, for example.
CPU 22 determines whether the received acknowledgement is a warning indicative of increase of the rewriting ratio in the final page (S203). That is, CPU 22 determines whether a warning is received. Upon reception of the warning from recording medium 1, CPU 22 gives the warning to the user. For example, CPU 22 causes display 27 to display the rewriting ratio in the storage region in recording medium 1 and a message urging replacement of the recording medium to new recording medium 1. The user can recognize increase of the rewriting ratio in recording medium 1. Before recording medium 1 can no longer be used, i.e., before neither reading nor writing can be performed, the user can replace recording medium 1 with a new one.
Recording medium 1 according to the present disclosure includes nonvolatile memory 12 having the storage region used for writing of data, and controller 11 configured to control writing of data onto the storage region. Controller 11 divides the storage region into a plurality of pages (areas), selects one page from among the plurality of pages, uses only the selected page as a data recording region, and, when a rewriting ratio in the selected page reaches a first predetermined value (e.g., 95%), switches the region to a region to be used as the data recording region in another page being unused among the plurality of pages. The rewriting ratio represents a ratio of an actual number of times of writing with respect to an allowable number of times of writing. The page can thus be continuously used immediately before the page can no longer be used, thereby significantly increasing a number of usable times of whole memory 12. By dividing the storage region into a plurality of pages, a calculation of a rewriting ratio based on a number of times of writing improves in accuracy.
Memory 12 stores division flag 131a indicative of that the storage region has been divided into the plurality of pages. Even when a capacity in a rewritable region (data recording region) in memory 12 is significantly smaller, compared with a size of memory 12 being actually mounted, host 2 can recognize, by referring to division flag 131a, that recording medium 1 is available. Data can thus be normally read and written.
Memory 12 stores current-page information 131b indicative of a page being used. Memory 12 further stores rewriting ratio information 131c indicative of the rewriting ratios in the pages. This allows controller 11 itself to know a status of use of memory 12, as well as to give the status of use of memory 12 from recording medium 1 to host 2.
When the rewriting ratio in the page being currently used reaches the predetermined value (e.g., 60%), controller 11 moves data being unmoved to the page being currently used in data written in the page previously used to the page being currently used. This prevents data from continuously being present across the plurality of pages, thereby increasing a speed of reading and writing of data. For example, if some of data is recorded across some of the plurality of page, the data might be recorded across all of the four pages. As data is distributed wider, a number of times the whole recording region should be checked might increase, thereby generally lowering capability of reading and writing. The present exemplary embodiment has taken into account the problem. When the rewriting ratio reaches the predetermined value (e.g., 60%) after writing onto a new page is once started, data is moved to a new page. Even though, upon start of writing onto a new page, data is allowed to move across pages during a certain initial period, accessing can be completed only within the new page as promptly and smoothly as possible from a certain point (e.g., when the rewriting ratio reaches 60%).
When the rewriting ratio in the last page being selected reaches a predetermined value (e.g., 80%) after all of the plurality of pages have been each sequentially selected as the data recording region, controller 11 gives a warning to host 2. Before recording medium 1 can no longer be used, this allows host 2 to give a warning to a user.
As described above, the first exemplary embodiment has been described as an example of the technique disclosed in the present application. However, the technique of the present disclosure is not limited to the first exemplary embodiment, and also applicable to other exemplary embodiments that undergo some modifications, replacements, additions, and omissions, for example, as appropriate. A new exemplary embodiment can also be provided by combining the respective configuration elements described in the above first exemplary embodiment. Thus, other exemplary embodiments are described as examples below.
The predetermined values and the threshold values used in the exemplary embodiment described above as the references for determination in steps S103, S105, and S111 are not limited to the values described above (60%, 95%, and 80%), but can be appropriately set. That is, the predetermined values and the threshold values described above may be appropriately set in accordance with capability of a NAND used as a base element, a whole capacity, and application (use case). The predetermined values and the threshold values described above are not necessarily fixed values, but may be dynamically changed in accordance with a state of a recording medium. The predetermined values and the threshold values described above may be set by host 2.
The exemplary embodiment has described that, upon reception of a writing command, and when the rewriting ratio in a current page is exceeding 60% in steps S102 to 104 in
In the exemplary embodiment described above, upon reception of the writing command, and when the rewriting ratio in the current page is exceeding 95% in steps S105 to 107 in
The exemplary embodiment has described the case where rewriting ratio information 131c is indicative of the rewriting ratios in the pages. Based on the rewriting ratios, the processing of writing of data, illustrated in
The exemplary embodiment has described the example where the storage region has been divided into the four pages. However, a user may be able to select how many the storage region is to be divided. For example, recording medium 1 stores information indicative of an available number of divisions. In initial use of recording medium 1, recording medium 1 may send to host 2 information indicative of the available number of divisions. Controller 11 may then divide the storage region based on a number of divisions designated by a user via host 2. Specifically, when the storage region has a capacity of 100 TB, one of “10 TB×10 pages”, “25 TB×4 pages”, “50 TB×2 pages”, and “100 TB×1 page (not divided)” may be selected.
The exemplary embodiment has described the case where management information 131 is stored in recording medium 1 only. However, both of recording medium 1 and host 2 may store management information 131. In this case, for example, host 2 may read management information 131 from recording medium 1 in the initialization processing in step S101 in
In the exemplary embodiment described above, controller 11 of recording medium 1 has used pages 1 to 4 one by one in order. However, pages may be used in desired order. Controller 11 may select one of a plurality of pages, may use the page as the data recording region, and may use another page being unused when the rewriting ratio in the selected page is approaching 100% (e.g., is exceeding 95%).
In the exemplary embodiment described above, information storage unit 13 is provided separately from memory 12. However, information storage unit 13 and memory 12 may be an integrated nonvolatile memory. In this case, recording medium 1 includes a RAM (not illustrated) serving as a work region. In the initialization processing (S101 in
The recording medium and the host according to the present disclosure can be achieved with hardware resources such as a processor and a memory with cooperation of a program.
As described above, the exemplary embodiments have been described as examples of the technique of the present disclosure. For this purpose, the accompanying drawings and the detailed description have been provided. The components illustrated in the accompanying drawings and described in the detailed description may include components essential for solving the problems, as well as components that are not essential for solving the problems but required to exemplify the above techniques. Therefore, it should not be immediately construed that these components that are not essential are essential just because these components that are not essential are described in the accompanying drawings and the detailed description.
Each exemplary embodiment described above is provided to exemplify the technique according to the present disclosure. Therefore, it is possible to make various changes, replacements, additions, omissions, and the like within the scope of the claims and equivalents thereof.
According to the present disclosure, a number of usable times of nonvolatile memory in the recording medium can be increased, whereby the present disclosure is useful in a memory card including a large-capacity, nonvolatile memory.
1: recording medium
11: controller
12: memory
13: information storage unit
14: connector
21: Root Complex
22: CPU
23: PCIe switch
24: connector
25: data transfer unit
26: buffer
27: display
28: bus
131: management information
131
a: division flag
131
b: current-page information
131
c: rewriting ratio information
132: address mapping table
Number | Date | Country | Kind |
---|---|---|---|
2017-076902 | Apr 2017 | JP | national |
This application is a Continuation of International Application No. PCT/JP2018/014479 filed on Apr. 4, 2018, which claims priority to Japanese Patent Application No. 2017-076902 filed Apr. 7, 2017. The entire disclosures of these applications are incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2018/014479 | Apr 2018 | US |
Child | 16584767 | US |