Data storage method and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory
First Claim
1. A data storage method for rewriting data into a rewritable memory, the method for rewriting comprising the steps of:
- writing write data to an erasure block buffer, wherein said erasure block buffer comprises a first region of a nonvolatile memory;
copying non-changing data from said rewritable memory to said erasure block buffer, said rewritable memory having a plurality of erasure-unit regions wherein said non-changing data is written in predetermined units;
recording an erasure unit number into an erasure-unit-number hold region, said erasure-unit-number hold region comprising a second region of said nonvolatile memory;
erasing said non-changing data only from said erasure-unit regions which are to be rewritten;
determining a status of said erasure unit number;
transferring said non-changing data and said write data from said erasure block buffer to at least one of said erasure-unit regions in said rewritable memory depending on said status of said erasure unit number, wherein during an interruption of said transferring step, said transferring step is resumed in response to said status of said erasure unit number; and
nullifying said erasure unit number in said erasure-unit-number hold region when said transferring step is complete.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing device includes flash memory 101; nonvolatile memory 102 having an erasure block buffer 103 in which there are stored data recorded in an erasure-unit region of the flash memory 101; a write controller 111 for writing into the erasure block buffer 103 write request data which are to be written into the flash memory 101; a save unit 112 for saving non-changing data stored in the flash memory 101 to the erasure block buffer 103; an erasure instruction unit 301 for instructing erasure of the data from the erasure-unit region of flash memory 101; and a write unit for writing the data recorded in the erasure block buffer 103 to the flash memory 101. A comparison may be made between the erasure unit regions into which first and second write data are to be written. The data processing device may further include a write buffer for storing write data.
70 Citations
15 Claims
-
1. A data storage method for rewriting data into a rewritable memory, the method for rewriting comprising the steps of:
-
writing write data to an erasure block buffer, wherein said erasure block buffer comprises a first region of a nonvolatile memory;
copying non-changing data from said rewritable memory to said erasure block buffer, said rewritable memory having a plurality of erasure-unit regions wherein said non-changing data is written in predetermined units;
recording an erasure unit number into an erasure-unit-number hold region, said erasure-unit-number hold region comprising a second region of said nonvolatile memory;
erasing said non-changing data only from said erasure-unit regions which are to be rewritten;
determining a status of said erasure unit number;
transferring said non-changing data and said write data from said erasure block buffer to at least one of said erasure-unit regions in said rewritable memory depending on said status of said erasure unit number, wherein during an interruption of said transferring step, said transferring step is resumed in response to said status of said erasure unit number; and
nullifying said erasure unit number in said erasure-unit-number hold region when said transferring step is complete. - View Dependent Claims (2, 3, 4)
wherein said step of writing write data is performed in response to a first write request which requests writing of the write data into said at least one erasure-unit region of said rewritable memory; wherein said step of copying non-changing data is performed in response to the first write request; and
wherein said step of erasing the non-changing data from said at least one erasure-unit region is performed after said step of copying non-changing data is complete.
-
-
3. The data storage method according to claim 1, further comprising:
-
writing a second write data into a write buffer in response to a second write request for requesting writing of the second write data, after said step of writing write data, said write buffer comprising a third region of said nonvolatile memory; and
wherein said step of transferring said non-changing data and said write data from said erasure block buffer to said at least one erasure-unit region is performed after said step of writing second write data.
-
-
4. The data storage method according to claim 3, wherein
said status of said erasure unit number is determined by a comparison step of comparing said at least one erasure-unit region into which the write data is to be written with said at least one erasure-unit region to which the second write data is to be written, and in a case where a match is obtained as a comparison result in the comparison step, processing pertaining to said step of writing second data and processing pertaining to the step of transferring said non-changing data and said write data are performed.
-
5. A data storage method for rewriting data into a memory, the method for rewriting data comprising:
-
writing write data to an erasure block buffer, wherein said erasure block buffer is nonvolatile;
copying non-changing data from said memory to said erasure block buffer, said memory having a plurality of erasure-unit regions wherein said non-changing data is written in predetermined units;
erasing said non-changing data from said erasure-unit regions;
transferring said non changing data and said write data from said erasure block buffer to said memory;
writing first write data, during a first erasure block buffer write step, to said erasure block buffer, in response to a first write request for requesting writing of the first write data to a first erasure-unit region of said memory;
writing into said erasure block buffer non-changing data recorded in the first erasure-unit region, during a second erasure block buffer write step, in response to the first write request for requesting writing of the first write data to the first erasure-unit region of said memory;
erasing data, during an erasure step, from the first erasure-unit region after the second erasure block buffer write step; and
writing data stored in said erasure block buffer, during a memory write step, to the first erasure-unit region from which the data have been erased in the erasure step, in response to a second write request for requesting writing of second write data into said memory. - View Dependent Claims (6)
the erasure step is followed by a comparison step of comparing the erasure-unit region to which the first write data is to be written with the erasure-unit region to which the second write data is to be written, and in a case where a match is obtained as a comparison result in the comparison step, processing pertaining to the memory write step is performed.
-
-
7. A data storage method for rewriting data into a rewritable memory, the method for rewriting comprising the steps of:
-
writing first write data to an erasure block buffer, wherein said erasure block buffer comprises a first region of a nonvolatile memory;
writing second write data to a write buffer, wherein said write buffer comprises a second region of said nonvolatile memory;
copying non-changing data from said rewritable memory to said erasure block buffer, said rewritable memory having a plurality of erasure-unit regions wherein said non-changing data is written in predetermined units;
recording an erasure unit number into an erasure-unit-number hold region, said erasure-unit-number hold region comprising a third region of said nonvolatile memory;
erasing said non-changing data only from said erasure-unit regions which are to be rewritten;
determining a status of said erasure unit number;
transferring said non-changing data and said first and second write data to said rewritable memory, wherein said non-changing data is transferred from said erasure block buffer, said first write data is transferred from said erasure block buffer, and said second write data is transferred from said write buffer depending on said status of said erasure unit number, wherein during an interruption of said transferring step, said transferring step is resumed in response to said status of said erasure unit number; and
nullifying said erasure unit number in said erasure-unit-number hold region when said transferring,step is complete. - View Dependent Claims (8, 9, 10, 11)
wherein said step of writing said first write data to said erasure block buffer and said step of copying said non-changing data to said erasure block buffer is performed in response to a first write request for requesting writing of the first write data to a first erasure-unit region of said rewritable memory; wherein said step of writing said second write data into said write buffer is performed in response to a second write request for requesting writing of the second write data to a second erasure-unit region of said rewritable memory, after the erasure block buffer write step; and
wherein a further step of writing a third write data into said write buffer is performed, in response to a third write request for requesting writing of the third write data to an erasure-unit region of said rewritable memory, after said step of writing said second write data to said write buffer.
-
-
9. The data storage method according to claim 8, wherein
said status of said erasure unit number is determined by a comparison step of comparing a write request region which specifies a location in said rewritable memory in which the second write data is to be written with a write request region- which specifies a location in said rewritable memory in which the third write data is to be written, wherein in a case where the write request region into which the third write data is to be written is included in the write request region in which the second write data is to be written, the third write data overwrites the area of said write buffer where the second write data is written. -
10. The data storage method according to claim 7, further comprising:
-
wherein said step of writing said first write data to said erasure block buffer and said step of copying said non-changing data to said erasure block buffer is performed in response to a first write request for requesting writing of the first write data to a first erasure-unit region of said rewritable memory;
wherein said step of writing said second write data to said write buffer is performed in response to a second write request for requesting writing of the second write data to a second erasure-unit region of said rewritable memory, after said step of writing said first write data and said step of copying said non-changing data to said erasure block buffer;
wherein said step of transferring said non-changing data and said first write data to said rewritable memory is performed after said step of writing said second write data into said write buffer and in a case where there arises a third write request for requesting writing third write data to an erasure-unit region of said rewritable memory; and
wherein the second write data, the third write data, and the non-changing data stored in the second erasure-unit region is written to said erasure block buffer, after said step of transferring said non-changing data and said first write data from said erasure unit region into said rewritable memory.
-
-
11. The data storage method as defined in claim 10, wherein
said status of said erasure unit number is determined by a comparison step of comparing said erasure-unit region to which the second write data is to be written with said erasure-unit region into which the third write data is to be written, and in a case where a match is obtained as a comparison result in the comparison step, processing pertaining to said step of writing second data and processing pertaining to the step of transferring said first write data and said non-changing data are performed.
-
12. A data processing device comprising:
-
a rewritable memory having a plurality of erasure-unit regions wherein data is written in predetermined units to said erasure-unit regions, and wherein data is erased in predetermined units from said rewritable memory;
an erasure block buffer comprising a first region of a nonvolatile memory, said erasure block buffer permitting writing of data to said rewritable memory in arbitrary units, said erasure block buffer storing data that is erased to said rewritable memory; and
an erasure-unit-number hold region comprising a second region of said nonvolatile memory for recording an erasure unit number, wherein during an interruption of processing, a status of said erasure unit number is determined and depending on said status, processing resumes. - View Dependent Claims (13, 14, 15)
erasure means for erasing the data stored in the erasure-unit regions in the predetermined units and for rewriting the data stored in the erasure-unit region through use of first write data;
write control means including a data write means for writing the first write data into said erasure block buffer;
save means for writing, into said erasure block buffer, non-changing data which are not to be rewritten by the first write data from among the data stored in the erasure-unit regions of said rewritable memory; and
memory write means for writing the first write data and the non-changing data, both data sets being written into said erasure block buffer, to the erasure-unit region from which the data have been erased by said erasure means.
-
-
14. The data processing device according to claim 12, wherein
said erasure block buffer stores both write data to be written to the erasure-unit regions and non-changing data stored in the erasure-unit regions; - and wherein the data processing device further comprises;
write control means including a data write means for writing first write data into said erasure block buffer, in response to a first write request for requesting writing of the first write data into a first erasure-unit region of said rewritable memory;
save means for writing to said erasure block buffer non-changing data stored in the first erasure-unit region, in response to the first request for requesting writing of the first write data to the first erasure-unit region of said rewritable memory; and
memory write means for writing to the first erasure-unit region the data written in said erasure block buffer, wherein said erasure block buffer retains the first write data and the non-changing data stored in the first erasure-unit region, until a second write request is issued after the first write request; and
whereinsaid data write means writes the second write data into;
said erasure block buffer in a case where the second write request requests writing of the second write data into the first erasure-unit region, and the memory write means writing, to the first erasure-unit region, data belonging to said erasure block buffer in which the second write data are written.
- and wherein the data processing device further comprises;
-
15. The data processing device according to claim 12, wherein
said erasure block buffer stores both write data to be written to the erasure-unit regions and non-changing data stored in the erasure-unit regions, wherein the data processing device further comprises: -
a write buffer comprising a third region of said nonvolatile memory, for storing the write data without storing the non-changing data;
write control means including a data write means for writing first write data into said erasure block buffer, in response to a first write request for requesting writing of the first write data into a first erasure-unit region of said rewritable memory; and
save means for writing into said erasure block buffer non-changing data stored in the first erasure-unit region, in response to the first erasure-unit region of said rewritable memory;
wherein said write control means further includes write buffer write means for writing second write data to said write buffer, in response to a second write request for writing the second write data into a second erasure-unit region of said rewritable memory, wherein said write buffer retains the second write data until a third write request is issued after the second write request; and
whereinsaid write buffer write means writes third write data into said write buffer in a case where the third write request requests writing of a third write data to the write request region for the second write data.
-
Specification