Memory storage device and read/write method thereof
First Claim
1. A memory storage device is adapted to read/write data with an external system, comprising:
- a flash memory adapted to store the read/written data, the flash memory having a plurality of memory blocks, each of the memory blocks having a plurality of memory pages, and the memory blocks distinguished into at least one particular data management area and at least one common data management area in logical block address; and
a control unit, further comprising;
an area map table adapted to map the logical block address and physical block address of the memory blocks; and
a plurality of page map tables produced by each of the memory blocks and adapted to relate the logical block address and the physical block address of the memory pages;
wherein the control unit writing data to the memory pages of the memory blocks in the particular data management area according to the area map table and the corresponding page map tables by using a method of dynamic deviation value, and updating the corresponding area map table and the page map tables to be read and written later.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory storage device and a read/write method thereof, first defining logically the flash memory as at least one particular data management area and at least one common data management area; next, determining the logical block address located in the particular data management area or the common data management area according to data transmitted to an external system by an area decision mechanism, wherein the method of writing to the particular data management area is by using a method of dynamic deviation value, and the method of writing to the common data management area is by using a method of same displacement value. Whereby, the particular data management area can be avoided moving frequently caused by updating data from the external system to improve read/write performance of the flash memory.
46 Citations
21 Claims
-
1. A memory storage device is adapted to read/write data with an external system, comprising:
-
a flash memory adapted to store the read/written data, the flash memory having a plurality of memory blocks, each of the memory blocks having a plurality of memory pages, and the memory blocks distinguished into at least one particular data management area and at least one common data management area in logical block address; and a control unit, further comprising; an area map table adapted to map the logical block address and physical block address of the memory blocks; and a plurality of page map tables produced by each of the memory blocks and adapted to relate the logical block address and the physical block address of the memory pages; wherein the control unit writing data to the memory pages of the memory blocks in the particular data management area according to the area map table and the corresponding page map tables by using a method of dynamic deviation value, and updating the corresponding area map table and the page map tables to be read and written later. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A write method of a memory storage device, wherein the memory storage device comprises a flash memory, and the flash memory has a plurality of memory blocks and each of the memory blocks has a plurality of memory pages, comprising the steps:
-
defining logically the flash memory as at least one particular data management area and at least one common data management area; accessing a logical block address of new written data; determining the logical block address located in the particular data management area or the common data management area by an area decision mechanism; determining whether the logical block address continued to a last accumulated address where the previous data written or not if the logical block address located in the particular data management area; determining further whether a corresponding stack block is filled or not if the logical block address continued to the last accumulated address where the previous data written; arranging and fetching data of the stack block to another new stack block, acquiring the latest accumulated address of the new stack block according an area map table and a corresponding page map table to write the new written data to the physical block address corresponded to the latest accumulated address by using a method of dynamic deviation value, and updating the area map table and the page map tables if the corresponding stack block is filled; and acquiring directly the latest accumulated address according to the area map table and the corresponding page map tables, writing directly the new written data to the physical block address corresponded to the latest accumulated address by using a method of dynamic deviation value, and updating the area map table and the page map tables if the corresponding stack block isn'"'"'t filled. - View Dependent Claims (7, 8, 9)
-
-
10. A write method of a memory storage device, wherein the memory storage device comprises a flash memory, and the flash memory has a plurality of memory blocks and each of the memory blocks has a plurality of memory pages, comprising the steps:
-
defining logically the flash memory as at least one particular data management area and at least one common data management area; accessing a logical block address of new written data; determining the logical block address located in the particular data management area or the common data management area by an area decision mechanism; determining whether the logical block address continued to a last address where the previous data written or not if the logical block address located in the common data management area; and acquiring a physical block address corresponded to the last address according to an area map table, writing the new written data in the physical block address corresponded to the last address according to an area map table by using a method of same displacement value, and updating the area map table if the logical block address continued to the last address where the previous data written. - View Dependent Claims (11, 12, 13)
-
-
14. A read method of a memory storage device, wherein the memory storage device comprises a flash memory, the flash memory has a plurality of memory blocks and each of the memory blocks has a plurality of memory pages, and the flash memory is defined logically as at least one particular data management area and at least one common data management area, comprising the steps:
-
accessing a logical block address of a read data; determining the logical block address located in the particular data management area or the common data management area by an area decision mechanism; determining whether the logical block address conformed to a address of a last memory page where the previous data written or not if the logical block address located in the particular data management area; determining further whether the logical block address exceeded a last sector address of the last memory page or not if the logical block address conformed to the address of the last memory page where the previous data written; acquiring a physical page address of the old memory page according to a area map table and a corresponding page map table, and reading out the data in the physical block of the old memory page if the logical block address is exceeded the last sector address of the last memory page to mean that the read data located in the logical block address of a old memory page; and acquiring a physical page address of the new memory page according to the area map table and the corresponding page map table, and reading out the data in the physical block of the new memory page if the logical block address isn'"'"'t exceeded the last sector address of the last memory page to mean that the read data located in a new memory page. - View Dependent Claims (15, 16, 17)
-
-
18. A read method of a memory storage device, wherein the memory storage device comprises a flash memory, the flash memory has a plurality of memory blocks and each of the memory blocks has a plurality of memory pages, and the flash memory is defined logically as at least one particular data management area and at least one common data management area, comprising the steps:
-
accessing a logical block address of a read data; determining the logical block address located in the particular data management area or the common data management area by an area decision mechanism; determining whether the logical block address conformed to a address of a last memory block where the previous data written or not if the logical block address located in the common data management area; determining further whether the logical block address exceeded a address of the last memory page or not in the address of the last memory block if the logical block address conformed to the address of the last memory block where the previous data written; acquiring a physical block address of the old memory block according to a area map table, and reading out the data in the physical block address if the logical block address is exceeded the address of the last memory page to mean that the read data located in a old memory block; and acquiring a physical block address corresponded to the new memory block according to the area map table, and reading out the data in the physical block address if the logical block address isn'"'"'t exceeded the address of the last memory page to mean that the read data located in a new memory block. - View Dependent Claims (19, 20, 21)
-
Specification