NONVOLATILE STORAGE DEVICE AND DATA WRITING METHOD THEREOF

Information

  • Patent Application
  • 20070214309
  • Publication Number
    20070214309
  • Date Filed
    February 02, 2007
    17 years ago
  • Date Published
    September 13, 2007
    16 years ago
Abstract
A nonvolatile storage device according to the invention is a nonvolatile storage device into which data is inputted from an external device on a sector unit, and includes: a main memory which is nonvolatile and in which data is written on a page unit, the page unit being larger than the sector unit; an auxiliary memory which holds at least a single page worth of the input data; a memory judging unit that judges whether or not data held in the auxiliary memory is equal to or larger than data of the page unit; and a memory control unit that writes, in a new page of the main memory on the page unit, the data held in the auxiliary memory when the memory judgment unit judges that the data held in the auxiliary memory is equal to or larger than data of the page unit.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, advantages and features of the invention will become apparent from the following description thereof taken in conjunction with the accompanying drawings that illustrate a specific embodiment of the invention. In the Drawings:



FIG. 1 is a block diagram showing a configuration of a conventional nonvolatile storage system.



FIG. 2 is a block diagram of a nonvolatile storage system according to the first embodiment.



FIG. 3 is a diagram showing a configuration of the flash memory 130.



FIG. 4 is a diagram showing a configuration of a physical block of the flash memory 130.



FIG. 5 is a diagram showing a configuration of data held in the buffer memory 122 according to the first embodiment.



FIG. 6 is a flow chart of a write process of the nonvolatile storage device 110 according to the first embodiment.



FIG. 7 is a diagram showing a flow of a rewrite process of the nonvolatile storage device 110 according to the first embodiment.



FIG. 8 is a diagram showing a flow of a rewrite process of a conventional nonvolatile storage device.



FIG. 9 is a diagram showing a flow of a rewrite process of the conventional nonvolatile storage device.



FIG. 10 is a flow chart of a write process of a nonvolatile storage device 110 according to the second embodiment.



FIG. 11 is a diagram showing a flow of a rewrite process of the nonvolatile storage device 110 according to the second embodiment.



FIG. 12 is a block diagram showing a configuration of the nonvolatile storage system according to the third embodiment.



FIG. 13 is a flow chart of a write process of the nonvolatile storage device 110 according to the third embodiment.



FIG. 14 is a flow chart of a write process of the nonvolatile storage device 110 according to the fifth embodiment.



FIG. 15 is a diagram showing a flow of a rewrite process of the nonvolatile storage device 110 according to the sixth embodiment.



FIG. 16 is a diagram showing a configuration of data held in the buffer memory 122 according to the eighth embodiment.



FIG. 17 is a diagram showing a flow of a rewrite process of the nonvolatile storage device 110 according to the eighth embodiment.



FIG. 18 is a diagram showing a configuration of data held in the buffer memory 122 according to the ninth embodiment.



FIG. 19 is a diagram showing a flow of a rewrite process of the nonvolatile storage device 110 according to the ninth embodiment.



FIG. 20 is a diagram showing a configuration of data held in a buffer memory 122 according to the tenth embodiment.



FIG. 21 is a diagram showing a flow of a rewrite process of the nonvolatile storage device 110 according to the tenth embodiment.



FIG. 22 is a diagram showing a flow of a rewrite process of the nonvolatile storage device 110 according to the eleventh embodiment.



FIG. 23 is a block diagram showing a configuration of the nonvolatile storage system according to the twelfth embodiment.


Claims
  • 1. A nonvolatile storage device into which data is inputted from an external device on a sector unit, said device comprising: a main memory which is nonvolatile and in which data is written on a page unit, the page unit being larger than the sector unit;an auxiliary memory which holds at least a single page worth of the input data;a memory judging unit operable to judge whether or not data held in said auxiliary memory is equal to or larger than data of the page unit; anda memory control unit operable to write, in a new page of said main memory on the page unit, the data held in said auxiliary memory when said memory judgment unit judges that the data held in said auxiliary memory is equal to or larger than data of the page unit.
  • 2. The nonvolatile storage device according to claim 1, wherein said auxiliary memory holds the input data and an address of the input data,said nonvolatile storage device further comprises:an address judgment unit operable to judge whether or not the address held in said auxiliary memory is identical to an address of data inputted newly from the external device; anda CPU operable to write the new input data in said auxiliary memory, and to control said memory control unit,wherein said auxiliary memory holds data management flags each of which indicates an order in which each held data is written, andsaid CPU is operable to:write the new input data in an area different from an area in which data judged to be identical to the new input data in said auxiliary memory is held when said address judgment unit judges that the address held in said auxiliary memory is identical to the address of the new input data;set information in a data management flag corresponding to the new input data, the information indicating that the new input data is written after the data judged to be identical to the new input data is written; anddetermine data which said memory control unit writes in said main memory, based on the data management flag.
  • 3. The nonvolatile storage device according to claim 2, wherein said memory judgment unit is operable to judge whether or not said auxiliary memory is full, andsaid memory control unit is operable to write, in said main memory, the data held in said auxiliary memory when said memory judgment unit judges that said auxiliary memory is full.
  • 4. The nonvolatile storage device according to claim 2, wherein said memory judgment unit is implemented by hardware,said nonvolatile storage device further comprisesa notifying unit operable to notify said CPU of a result of the judgment made by said memory judgment unit,said CPU is operable to control said memory control unit based on the result of the judgment notified by said notifying unit, andsaid memory control unit is operable to write, in the new page of said main memory on the page unit, the data held in said auxiliary memory under the control of said CPU.
  • 5. The nonvolatile storage device according to claim 2, wherein said memory judgment unit is operable to judge whether or not said auxiliary memory is full based on the number of valid data management flags held in said auxiliary memory.
  • 6. The nonvolatile storage device according to claim 2, wherein said address judgment unit is implemented by hardware.
  • 7. The nonvolatile storage device according to claim 1, wherein said auxiliary memory holds the input data and an address of the input data,said nonvolatile storage device further comprises:an address judgment unit operable to judge whether or not an address held in said auxiliary memory is identical to an address of data inputted newly from the external device; anda CPU operable to write the new input data in said auxiliary memory, and to control said memory control unit, andwhen said address judgment unit judges that the address held in said auxiliary memory is identical to the address of the new input data, said CPU is operable to overwrite the new input data in an area in which data judged to be identical to the new input data in said auxiliary memory is held.
  • 8. The nonvolatile storage device according to claim 7, wherein said memory judgment unit is operable to judge whether or not said auxiliary memory is full, andwhen said memory judgment unit judges that said auxiliary memory is full, said memory control unit is operable to write, in said main memory, the data held in said auxiliary memory.
  • 9. The nonvolatile storage device according to claim 7, wherein said memory judgment unit is implemented by hardware,said nonvolatile storage device further comprisesa notifying unit operable to notify said CPU of a result of the judgment made by said memory judgment unit,said CPU is operable to control said memory control unit based on the result of the judgment notified by said notifying unit, andsaid memory control unit is operable to write, in the new page of said main memory on the page unit, the data held in said auxiliary memory under the control of said CPU.
  • 10. The nonvolatile storage device according to claim 7, wherein said memory judgment unit is operable to judge whether or not said auxiliary memory is full,when said memory judgment unit judges that said auxiliary memory is full, said memory control unit is operable to write, in said main memory, the data held in said auxiliary memory, andsaid CPU is operable to write the new input data in said auxiliary memory after the judgment of said memory judgment unit is made.
  • 11. The nonvolatile storage device according to claim 1, further comprising an updating judgment unit operable to judge whether or not the input data is frequently updated,wherein specific data which is data judged to be frequently updated by said updating judgment unit is written in said main memory in order of priority, the priority of the specific data being lower than a priority of data other than the specific data.
  • 12. The nonvolatile storage device according to claim 11, wherein said auxiliary memory holds a specific area flag indicating whether or not each held data is the specific data.
  • 13. The nonvolatile storage device according to claim 11, wherein an area in which the specific data is held can be freely set in said auxiliary memory.
  • 14. The nonvolatile storage device according to claim 1, further comprising a specific address judgment unit operable to judge whether or not an address of the input data is identical to a specific address,wherein specific data which is data having the specific address is written in said main memory in order of priority, the priority of the specific data being lower than a priority of data other than the specific data.
  • 15. The nonvolatile storage device according to claim 14, wherein said auxiliary memory holds a specific area flag indicating whether or not each held data is the specific data.
  • 16. The nonvolatile storage device according to claim 1, wherein said auxiliary memory holds a write completion flag indicating whether or not each held data is correctly written in said auxiliary memory.
  • 17. The nonvolatile storage device according to claim 1, wherein said auxiliary memory holds a transfer completion flag indicating whether or not each held data is written in said main memory.
  • 18. The nonvolatile storage device according to claim 1, wherein said auxiliary memory is a nonvolatile RAM.
  • 19. The nonvolatile storage device according to claim 18, wherein said auxiliary memory is one of a ferroelectric memory, a magnetoresistive random access memory, an ovonic unified memory, and a resistance RAM.
  • 20. A data writing method for use in a nonvolatile storage device including a nonvolatile main memory in which data is inputted from an external device on a sector unit and in which data is written on a page unit, the page unit being larger than the sector unit, said method comprising: holding the input data in an auxiliary memory;judging whether or not data held in said auxiliary memory is equal to or larger than data of the page unit; andwriting, in a new page of the main memory on the page unit, the data held in the auxiliary memory when said judging judges that the data held in said auxiliary memory is equal to or larger than data of the page unit.
Priority Claims (1)
Number Date Country Kind
2006/061875 Mar 2006 JP national