WO2009045010A2 - Flash memory mapping management method - Google Patents

Flash memory mapping management method Download PDF

Info

Publication number
WO2009045010A2
WO2009045010A2 PCT/KR2008/005522 KR2008005522W WO2009045010A2 WO 2009045010 A2 WO2009045010 A2 WO 2009045010A2 KR 2008005522 W KR2008005522 W KR 2008005522W WO 2009045010 A2 WO2009045010 A2 WO 2009045010A2
Authority
WO
WIPO (PCT)
Prior art keywords
sector
block
mapping
physical
logical block
Prior art date
Application number
PCT/KR2008/005522
Other languages
French (fr)
Other versions
WO2009045010A3 (en
Inventor
Dae-Hyun Ahn
Mu-Kyoung Jung
Shin-Soo Ha
Original Assignee
Huone Inc.
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 Huone Inc. filed Critical Huone Inc.
Publication of WO2009045010A2 publication Critical patent/WO2009045010A2/en
Publication of WO2009045010A3 publication Critical patent/WO2009045010A3/en

Links

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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/7201Logical to physical mapping or translation of blocks or pages

Definitions

  • the present invention relates to a flash memory management method, and more particularly, to a flash memory mapping management method.
  • embedded systems such as home appliances, communication devices, set top boxes and so on, use nonvolatile memories as storage media for storing and processing data.
  • a flash memory is a nonvolatile storage device capable of electrically erasing and rewriting data. Flash memories have been widely used as storage media of potable devices because of lower power consumption than magnetic disk memory-based storage media, access time as short as hard disks, and small size.
  • nonvolatile storage media Like existing RAMs (Random Access Memories), nonvolatile storage media, magnetic storage media and so on, an access can be made to data stored in a particular location in the flash memory.
  • data are erased in the unit of block in the flash memory, unlike the existing storage media.
  • a host writes data in a sector, which is the unit of logical operation, while the host erases the entire block including the sector when data are overwritten on the sector.
  • the mapping method is for managing information on data mapping between the logical address and the physical address through a mapping table and may include, for example, a block mapping method, a block and sector mapping method, etc.
  • Fig. 1 shows a flash memory access structure in a conventional mapping method.
  • the conventional mapping method is to maintain mapping information in the unit of block of a flash memory and convert logical sector information into logical block information to enable physical sector access of the flash memory using the logical block information and offset information.
  • PBN physical block number
  • Fig. 2 shows a flash memory access structure in a conventional method using both of block and sector mapping.
  • the block and sector mapping method performs the mapping in the unit of block in the same way as the block mapping method and then performs sector mapping using a sector mapping table assigned to a physical block.
  • the above-mentioned block mapping method requires offset matching and thus, if a write operation for the same sector frequently occurs, has to assign a new block and copy not only data of the same sector but also data of another sector within the same old block as the same sector into the newly assigned block, which may result in deterioration of system performance.
  • the method of finding a physical block through the block mapping and finding a physical sector in the physical block through the sector mapping has an advantage in that there is no need of offset matching.
  • this method has a problem of increase in memory requirements since a memory space has to be secured, as shown in Fig. 2, for sector mapping information for each of the plurality of physical blocks.
  • this method has another problem of deterioration of system performance in configuring the sector mapping information since a read operation for information of sectors is performed with access to all of the physical blocks assigned to the logical block in order to produce a sector mapping information table.
  • the present invention has been designed to overcome the above and other problems, and it is an object of the invention to provide a mapping management method which is capable of reducing the amount of RAM used and improving system performance using Demanding Page with use of physical block numbers related to logical blocks in combination of a sector mapping table.
  • the present invention provides a memory mapping management method including the steps of: upon receiving a request for assignment of a new physical block to a logical block for a memory, assigning the new physical block to the logical block; writing LSN, which is information of a sector mapping table being used when the new physical block is assigned to the logical block, PSN representing an actual physical sector being used by the LSN, and PBN assigned with the PSN in a predetermined sector of the newly assigned physical block, along with LBN of the logical block; assigning a physical sector of the new physical block to a logical sector of the logical block and updating mapping information related to the sector assignment into the sector mapping table; and reading the mapping information written in a predetermined sector of a physical block last assigned to the logical block and producing the sector mapping table for the logical block.
  • state information to indicate the last assigned physical block is additionally written in the predetermined sector in which sector mapping table information and LBN for the logical block are written, and, based on the state information to indicate the logical block and the last assigned physical block, mapping information for a corresponding logical block is obtained by detecting a physical block last assigned to each logical block.
  • one sector mapping information represents a physical block number and a position of a physical sector in the physical block for mapping of the logical sector to the physical sector.
  • the amount of use of the memory is minimized by managing a required sector mapping table of the logical block in a mapping table list using Demanding Page, instead of managing all sector mapping tables of the logical block on RAM.
  • the present invention Since the mapping information of the physical block related to the logical block is searched only in a predetermined sector of the last assigned physical block by writing the sector mapping table information of the logical block in the physical block, the present invention has an advantage of reduction of search time over a method of searching all blocks to produce a mapping table. Further, the present invention has another advantage of minimization of the amount of use of the memory by using a system memory of a fixed size irrespective of the number of assigned physical blocks in sector mapping of the logical block.
  • FIGs. 1 and 2 are views showing a flash memory access structure in a conventional mapping method.
  • Fig. 3 is a view schematically showing a relation between a logical block mapping table and a physical block list according to a preferred embodiment of the present invention.
  • Figs. 4 to 7 are views schematically showing cases where a new physical block is assigned to a logical block according to a preferred embodiment of the present invention.
  • Figs. 8 to 11 are views schematically showing a process of registering a logical block mapping table which does not exist in a mapping table list according to a preferred embodiment of the present invention.
  • the number of sectors of logical blocks is set by sectors other than sectors for block heads in physical blocks.
  • a sector mapping table of a fixed size is assigned for each of the logical blocks and mapping information on the last logical block assigned with a sector of a corresponding physical block is written in a block head list of the physical blocks.
  • Fig. 3 shows a relation between a logical block mapping table for LBN of 0 and a physical block list. Referring to Fig. 3, an actual physical block number and a physical sector number, which is a location in the physical block, can be confirmed from the sector mapping table.
  • Fig. 4 shows information written in a block head when a physical block is first assigned to a logical block.
  • a logical block number (LBN) of 3 When the physical block is first assigned to the logical block, a logical block number (LBN) of 3, state information (L) indicating the last block, and mapping information on physical blocks and physical sectors assigned respectively to sectors of the logical block are written in the block head of the physical block.
  • Figs. 5, 6 and 7 show processes of assigning a new physical block if there exists no empty sector to be used for physical blocks assigned to logical blocks.
  • Fig. 5 shows a case where there exists no empty sector in which data are written although a write operation for a sector occurs.
  • Fig. 6 shows a case where, if a new physical block is assigned to a logical block, mapping information on the logical block to which the new physical block is assigned, i.e., LBN, and sector mapping information on the physical block related to the logical block, are written in a block head of the new physical block.
  • LBN mapping information on the logical block to which the new physical block is assigned
  • C block state information
  • Fig. 7 shows a process of updating a sector mapping table after sector mapping information is written in an empty main region of the last physical block and a logical sector number is written in a sub region of the last physical block.
  • a sector mapping table corresponding to a logical block exists in a sector mapping table list. If it is checked that the sector mapping table does not exist in the sector mapping table list, the sector mapping information on the logical block is assigned with an empty space of the sector mapping table list and the mapping information is produced from the last physical block of the logical block using the sector mapping information stored in the block head. If there is no empty space in the sector mapping table list, the oldest logical block sector mapping information in the list is erased and the resultant space is assigned to the sector mapping information on the logical block.
  • Figs. 8 to 11 show the above-described mapping information producing process in which a sector mapping table is assigned if there exists no sector mapping table corresponding to a logical sector, a mapping table stored in a block head of the last physical block is read and a sector mapping table for a corresponding logical block is updated if two or more physical blocks are assigned to the logical block, and an access is made to a physical sector through mapping information of the sector mapping table (a physical block number and position information of a physical sector in a block).
  • Fig. 3 schematically shows a relation between a logical block mapping table and a physical block list.
  • sector mapping information is not assigned to each physical block with a block mapping table integrated with a sector mapping table, but a mapping table consists of a block mapping table representing the assignment of mapping information to a logical block and an actual physical block list pointing at the block mapping table.
  • PBNs related to the block sector mapping table are 0, 3, 4, 6 and 8, which are connected like a physical block list.
  • PBN 3 is assigned in the example shown in Fig. 2.
  • PSN 0 of PBN 8 is used for LSN 0
  • PSN 1 of PBN 6 is used for LSN 1
  • PSN 2 of PBN 4 is used for LSN 2
  • PSN 1 of PBN 3 is used for LSN 3
  • PSN 1 of PBN 8 is used for LSN 4
  • PSN 3 of PBN 0 is used for LSN 5.
  • a flash memory access device fetches information on LSN 3 from a mapping table of LBN 0 and reads data of PSN 4 of PBN 3.
  • Figs. 4 to 7 schematically show a process in which, if a new physical block is assigned to a logical block, a sector mapping table assigned to the logical block is written in the newly assigned physical block.
  • Fig. 4 shows information written in a block head of a physical block when a logical block mapping table is first produced. Only a pointing number of LBN is written at the first production as in the block head of the physical block.
  • Fig. 5 shows a process in which, when all physical blocks of PBN 8 are used and a new physical block is to be assigned, new PBN 13 is added to a physical block list and mapping table information of a logical block used in PBN 8 is written in a block head of PBN 13 along with a number of the logical block.
  • Fig. 6 shows a process in which, when LSNs 2 and 3 are changed in a logical block mapping table, PSNs of PBN 13 are in turn assigned and numbers 2 and 3 of LSN are written.
  • Figs. 8 to 11 schematically show a process of registering a logical block mapping table which does not exist in a mapping table list.
  • a mapping table of LBN 3 points at a first NULL. Since data operation for LBN 3 has not been requested, information on LBN 3 can not be found in a logical block mapping table list.
  • a flash memory access device upon receiving a data operation request for LBN 3, a flash memory access device checks whether or not a mapping table is assigned to a corresponding logical block. If it is checked that there is no assigned mapping table, a mapping table is assigned from a sector mapping table list. It is checked whether or not there exists LBN 3 in an LBN mapping table list. If it is checked that there is no LBN 3 in the LBN mapping table list, a space for LBN 3 is assigned from the logical block mapping table list.
  • Fig. 10 shows a process of reading a block head of the last assigned physical block from a physical block list and producing a logical block mapping table. PBNs used in LBN 3 are 0, 1 and 3. A header of PBN 3 is a logical block mapping table of PBNs 0 and 1 when PBN 3 is assigned.
  • Fig. 11 shows a process of reading a logical sector number written in a sub region of PBN 3 from mapping table information stored in the header of PBN 3 in Fig. 10 and updating a sector mapping table.
  • the present invention has been designed to overcome the problems of the prior art and provides a mapping management method which is capable of reducing the amount of RAM used and improving system performance using Demanding Page with use of physical block numbers related to logical blocks in combination of a sector mapping table, which is useful for the field of flash memory mapping management.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Abstract

The present invention relates to a flash memory mapping management method and a memory according to the method. The present invention provides a memory mapping management method including the steps of: upon receiving a request for assignment of a new physical block to a logical block for a memory, assigning the new physical block to the logical block; writing LSN, which is information of a sector mapping table being used when the new physical block is assigned to the logical block, PSN representing an actual physical sector being used by the LSN, and PBN assigned with the PSN in a predetermined sector of the newly assigned physical block, along with LBN of the logical block; assigning a physical sector of the new physical block to a logical sector of the logical block and updating mapping information related to the sector assignment into the sector mapping table; and reading the mapping information written in a predetermined sector of a physical block last assigned to the logical block and producing the sector mapping table for the logical block.

Description

DESCRIPTION
FLASH MEMORY MAPPING MANAGEMENT METHOD
Technical Field The present invention relates to a flash memory management method, and more particularly, to a flash memory mapping management method.
Background Art
In general, embedded systems, such as home appliances, communication devices, set top boxes and so on, use nonvolatile memories as storage media for storing and processing data.
Among the nonvolatile memories, a flash memory is a nonvolatile storage device capable of electrically erasing and rewriting data. Flash memories have been widely used as storage media of potable devices because of lower power consumption than magnetic disk memory-based storage media, access time as short as hard disks, and small size.
Like existing RAMs (Random Access Memories), nonvolatile storage media, magnetic storage media and so on, an access can be made to data stored in a particular location in the flash memory. However, for erase of data, data are erased in the unit of block in the flash memory, unlike the existing storage media. In other words, in the flash memory, a host writes data in a sector, which is the unit of logical operation, while the host erases the entire block including the sector when data are overwritten on the sector.
Such discordance between data write and data erase is the main factor of possible deterioration of flash memory performance.
For the purpose of overcoming this erase-before-write problem, the concept of logical address and physical address and a method of mapping logical address to physical address have been introduced.
The mapping method is for managing information on data mapping between the logical address and the physical address through a mapping table and may include, for example, a block mapping method, a block and sector mapping method, etc.
Fig. 1 shows a flash memory access structure in a conventional mapping method. Referring to Fig. 1, the conventional mapping method is to maintain mapping information in the unit of block of a flash memory and convert logical sector information into logical block information to enable physical sector access of the flash memory using the logical block information and offset information.
As one example, if a read operation is required for data with designated logical sector number (LSN) of 14, a flash memory access device obtains a logical block number (LBN) of 2 (=14/6) of the LSN of 14 and then obtains a physical block number (PBN) corresponding to the LBN by referring to a mapping table. At this time, data are read from PBN of 4, which is calculated by matching an offset of the logical block with an offset of the physical block, to a sector corresponding to an offset of 2.
Like the LSN of 14, if data are designated with LSN of 12, the flash memory access device obtains an LBN of 2 (=12/6) of the LSN of 12 and then obtains a PBN corresponding to the LBN by referring to the mapping table. At this time, data are read from PBN of 4, which is calculated by matching an offset of the logical block with an offset of the physical block, to a sector corresponding to an offset of 0.
Fig. 2 shows a flash memory access structure in a conventional method using both of block and sector mapping. Referring to Fig. 2, the block and sector mapping method performs the mapping in the unit of block in the same way as the block mapping method and then performs sector mapping using a sector mapping table assigned to a physical block.
If a read operation is required for data with designated LSN of 11, a flash memory access device obtains an LBN of 1 (=11/6) of the LSN of 11, obtains a PBN of 8 corresponding to a logical block by referring to a block mapping table, and then matches a sector mapping table assigned to a physical block with a sector offset of 5 (=11%6) in the logical block to check mapping information. Since it is checked that the mapping information matching the offset is not valid, mapping information of the sector mapping table of a PBN of 6 assigned next to the PBN of 8 is checked. When such an operation is repeated, an access may be made to a physical sector of 3, as mapping information, in a physical block of 0 having valid mapping information in the sector mapping table assigned to the physical block.
However, the above-mentioned block mapping method requires offset matching and thus, if a write operation for the same sector frequently occurs, has to assign a new block and copy not only data of the same sector but also data of another sector within the same old block as the same sector into the newly assigned block, which may result in deterioration of system performance.
As described above, the method of finding a physical block through the block mapping and finding a physical sector in the physical block through the sector mapping has an advantage in that there is no need of offset matching. However, when a write operation for sectors in the same logical block is repeatedly performed, thus requiring a plurality of physical blocks for assignment, this method has a problem of increase in memory requirements since a memory space has to be secured, as shown in Fig. 2, for sector mapping information for each of the plurality of physical blocks. Further, this method has another problem of deterioration of system performance in configuring the sector mapping information since a read operation for information of sectors is performed with access to all of the physical blocks assigned to the logical block in order to produce a sector mapping information table.
Disclosure of Invention Technical Problem
The present invention has been designed to overcome the above and other problems, and it is an object of the invention to provide a mapping management method which is capable of reducing the amount of RAM used and improving system performance using Demanding Page with use of physical block numbers related to logical blocks in combination of a sector mapping table.
It is another object of the invention to provide a mapping management method which is capable of creating a sector mapping information table of logical blocks by only a read operation for a physical block lastly assigned through last block-related state information in producing mapping information when sector mapping information assigned to a logical block is written, along with the last block-related state information, every time a physical block is assigned.
Technical Solution To achieve the above and other objects, the present invention provides a memory mapping management method including the steps of: upon receiving a request for assignment of a new physical block to a logical block for a memory, assigning the new physical block to the logical block; writing LSN, which is information of a sector mapping table being used when the new physical block is assigned to the logical block, PSN representing an actual physical sector being used by the LSN, and PBN assigned with the PSN in a predetermined sector of the newly assigned physical block, along with LBN of the logical block; assigning a physical sector of the new physical block to a logical sector of the logical block and updating mapping information related to the sector assignment into the sector mapping table; and reading the mapping information written in a predetermined sector of a physical block last assigned to the logical block and producing the sector mapping table for the logical block.
Preferably, state information to indicate the last assigned physical block is additionally written in the predetermined sector in which sector mapping table information and LBN for the logical block are written, and, based on the state information to indicate the logical block and the last assigned physical block, mapping information for a corresponding logical block is obtained by detecting a physical block last assigned to each logical block.
Preferably, one sector mapping information represents a physical block number and a position of a physical sector in the physical block for mapping of the logical sector to the physical sector. Preferably, the amount of use of the memory is minimized by managing a required sector mapping table of the logical block in a mapping table list using Demanding Page, instead of managing all sector mapping tables of the logical block on RAM.
Advantageous Effects
Since the mapping information of the physical block related to the logical block is searched only in a predetermined sector of the last assigned physical block by writing the sector mapping table information of the logical block in the physical block, the present invention has an advantage of reduction of search time over a method of searching all blocks to produce a mapping table. Further, the present invention has another advantage of minimization of the amount of use of the memory by using a system memory of a fixed size irrespective of the number of assigned physical blocks in sector mapping of the logical block.
Brief Description of the Drawings Figs. 1 and 2 are views showing a flash memory access structure in a conventional mapping method.
Fig. 3 is a view schematically showing a relation between a logical block mapping table and a physical block list according to a preferred embodiment of the present invention. Figs. 4 to 7 are views schematically showing cases where a new physical block is assigned to a logical block according to a preferred embodiment of the present invention.
Figs. 8 to 11 are views schematically showing a process of registering a logical block mapping table which does not exist in a mapping table list according to a preferred embodiment of the present invention.
Best Mode for Carrying Out the Invention
In the present invention, the number of sectors of logical blocks is set by sectors other than sectors for block heads in physical blocks. A sector mapping table of a fixed size is assigned for each of the logical blocks and mapping information on the last logical block assigned with a sector of a corresponding physical block is written in a block head list of the physical blocks.
Fig. 3 shows a relation between a logical block mapping table for LBN of 0 and a physical block list. Referring to Fig. 3, an actual physical block number and a physical sector number, which is a location in the physical block, can be confirmed from the sector mapping table. Mode for Carrying Out the Invention
Now, according to a preferred embodiment of the present invention, cases where a new physical block is assigned to a logical block will be described.
Fig. 4 shows information written in a block head when a physical block is first assigned to a logical block. When the physical block is first assigned to the logical block, a logical block number (LBN) of 3, state information (L) indicating the last block, and mapping information on physical blocks and physical sectors assigned respectively to sectors of the logical block are written in the block head of the physical block. Figs. 5, 6 and 7 show processes of assigning a new physical block if there exists no empty sector to be used for physical blocks assigned to logical blocks.
In particular, Fig. 5 shows a case where there exists no empty sector in which data are written although a write operation for a sector occurs. Fig. 6 shows a case where, if a new physical block is assigned to a logical block, mapping information on the logical block to which the new physical block is assigned, i.e., LBN, and sector mapping information on the physical block related to the logical block, are written in a block head of the new physical block. The last block state information (L) of a block head of a previous block is updated to completed block state information (C).
Fig. 7 shows a process of updating a sector mapping table after sector mapping information is written in an empty main region of the last physical block and a logical sector number is written in a sub region of the last physical block. In the present invention, in the event of operation of an access to a physical sector, such as a sector read operation, it is checked whether or not a sector mapping table corresponding to a logical block exists in a sector mapping table list. If it is checked that the sector mapping table does not exist in the sector mapping table list, the sector mapping information on the logical block is assigned with an empty space of the sector mapping table list and the mapping information is produced from the last physical block of the logical block using the sector mapping information stored in the block head. If there is no empty space in the sector mapping table list, the oldest logical block sector mapping information in the list is erased and the resultant space is assigned to the sector mapping information on the logical block.
Figs. 8 to 11 show the above-described mapping information producing process in which a sector mapping table is assigned if there exists no sector mapping table corresponding to a logical sector, a mapping table stored in a block head of the last physical block is read and a sector mapping table for a corresponding logical block is updated if two or more physical blocks are assigned to the logical block, and an access is made to a physical sector through mapping information of the sector mapping table (a physical block number and position information of a physical sector in a block).
Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings.
Fig. 3 schematically shows a relation between a logical block mapping table and a physical block list. Referring to Fig. 3, sector mapping information is not assigned to each physical block with a block mapping table integrated with a sector mapping table, but a mapping table consists of a block mapping table representing the assignment of mapping information to a logical block and an actual physical block list pointing at the block mapping table. PBNs related to the block sector mapping table are 0, 3, 4, 6 and 8, which are connected like a physical block list.
First, since there is no assignable sector during use of PBN 0, PBN 3 is assigned in the example shown in Fig. 2.
Through such a procedure, PBNs 0, 3, 4, 6 and 8 are used to construct LBN O.
For required PSN, as shown in the logical block sector mapping table, PSN 0 of PBN 8 is used for LSN 0, PSN 1 of PBN 6 is used for LSN 1, PSN 2 of PBN 4 is used for LSN 2, PSN 1 of PBN 3 is used for LSN 3, PSN 1 of PBN 8 is used for LSN 4, and PSN 3 of PBN 0 is used for LSN 5.
As one example, when a data read operation is requested and LSN 3 of LBN 0 is designated, a flash memory access device fetches information on LSN 3 from a mapping table of LBN 0 and reads data of PSN 4 of PBN 3.
Figs. 4 to 7 schematically show a process in which, if a new physical block is assigned to a logical block, a sector mapping table assigned to the logical block is written in the newly assigned physical block.
Fig. 4 shows information written in a block head of a physical block when a logical block mapping table is first produced. Only a pointing number of LBN is written at the first production as in the block head of the physical block.
Fig. 5 shows a process in which, when all physical blocks of PBN 8 are used and a new physical block is to be assigned, new PBN 13 is added to a physical block list and mapping table information of a logical block used in PBN 8 is written in a block head of PBN 13 along with a number of the logical block.
Fig. 6 shows a process in which, when LSNs 2 and 3 are changed in a logical block mapping table, PSNs of PBN 13 are in turn assigned and numbers 2 and 3 of LSN are written. Figs. 8 to 11 schematically show a process of registering a logical block mapping table which does not exist in a mapping table list.
As shown in Fig. 8, a mapping table of LBN 3 points at a first NULL. Since data operation for LBN 3 has not been requested, information on LBN 3 can not be found in a logical block mapping table list.
As shown in Fig. 9, upon receiving a data operation request for LBN 3, a flash memory access device checks whether or not a mapping table is assigned to a corresponding logical block. If it is checked that there is no assigned mapping table, a mapping table is assigned from a sector mapping table list. It is checked whether or not there exists LBN 3 in an LBN mapping table list. If it is checked that there is no LBN 3 in the LBN mapping table list, a space for LBN 3 is assigned from the logical block mapping table list. Fig. 10 shows a process of reading a block head of the last assigned physical block from a physical block list and producing a logical block mapping table. PBNs used in LBN 3 are 0, 1 and 3. A header of PBN 3 is a logical block mapping table of PBNs 0 and 1 when PBN 3 is assigned.
Fig. 11 shows a process of reading a logical sector number written in a sub region of PBN 3 from mapping table information stored in the header of PBN 3 in Fig. 10 and updating a sector mapping table.
Industrial Applicability
The present invention has been designed to overcome the problems of the prior art and provides a mapping management method which is capable of reducing the amount of RAM used and improving system performance using Demanding Page with use of physical block numbers related to logical blocks in combination of a sector mapping table, which is useful for the field of flash memory mapping management.

Claims

1. A memory mapping management method comprising the steps of: upon receiving a request for assignment of a new physical block to a logical block for a memory, assigning the new physical block to the logical block; writing LSN, which is information of a sector mapping table being used when the new physical block is assigned to the logical block, PSN representing an actual physical sector being used by the LSN, and PBN assigned with the PSN in a predetermined sector of the newly assigned physical block, along with LBN of the logical block; and assigning a physical sector of the new physical block to a logical sector of the logical block and updating mapping information related to the sector assignment into the sector mapping table.
2. The memory mapping management method of claim 1, further comprising the step of: reading the mapping information written in a predetermined sector of a physical block last assigned to the logical block and producing the sector mapping table for the logical block.
3. The memory mapping management method of claim 1 or 2, wherein state information to indicate the logical block and the last assigned physical block is additionally written in the predetermined sector, and wherein, based on the state information to indicate the logical block and the last assigned physical block, mapping information for a corresponding logical block is obtained by detecting a physical block last assigned to each logical block
4. The memory mapping management method of claim 1 or 2, wherein the amount of use of the memory is minimized by managing a required sector mapping table of the logical block in a mapping table list using Demanding Page, instead of managing all sector mapping tables of the logical block on RAM.
5. The memory mapping management method of claim 3, wherein one sector mapping information represents a physical block number and a position of a physical sector in the physical block for mapping of the logical sector to the physical sector.
PCT/KR2008/005522 2007-10-02 2008-09-18 Flash memory mapping management method WO2009045010A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2007-0099343 2007-10-02
KR1020070099343A KR100924021B1 (en) 2007-10-02 2007-10-02 Flash memory mapping management method

Publications (2)

Publication Number Publication Date
WO2009045010A2 true WO2009045010A2 (en) 2009-04-09
WO2009045010A3 WO2009045010A3 (en) 2009-07-02

Family

ID=40526809

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2008/005522 WO2009045010A2 (en) 2007-10-02 2008-09-18 Flash memory mapping management method

Country Status (2)

Country Link
KR (1) KR100924021B1 (en)
WO (1) WO2009045010A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102543184A (en) * 2010-12-22 2012-07-04 群联电子股份有限公司 Memory storage device, memory controller thereof and data writing method
CN103970605A (en) * 2013-02-06 2014-08-06 珠海世纪鼎利通信科技股份有限公司 Low-performance terminal based data analysis method and device
US9940261B2 (en) * 2016-05-05 2018-04-10 Western Digital Technology, Inc. Zoning of logical to physical data address translation tables with parallelized log list replay

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100970537B1 (en) * 2008-11-20 2010-07-16 서울시립대학교 산학협력단 Method and device for managing solid state drive
KR101888074B1 (en) 2012-01-09 2018-08-13 삼성전자주식회사 Storage device and nonvolatile memory device and operation method thererof
KR20130084846A (en) 2012-01-18 2013-07-26 삼성전자주식회사 Storage device based on a flash memory, user device including the same, and data read method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020013879A1 (en) * 1998-03-18 2002-01-31 Sang-Wook Han Flash memory array access method and device
KR20020092261A (en) * 2002-08-31 2002-12-11 지인정보기술 주식회사 Management Scheme for Flash Memory with the Multi-Plane Architecture
KR20040072875A (en) * 2003-02-11 2004-08-19 유비시스테크놀러지 주식회사 Storage using nand flash memory
US20070061545A1 (en) * 2003-10-24 2007-03-15 Hyperstone Ag Method for writing memory sectors in a memory deletable by blocks
US20070192533A1 (en) * 2006-02-16 2007-08-16 Samsung Electronics Co., Ltd. Apparatus and method for managing mapping information of nonvolatile memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020013879A1 (en) * 1998-03-18 2002-01-31 Sang-Wook Han Flash memory array access method and device
KR20020092261A (en) * 2002-08-31 2002-12-11 지인정보기술 주식회사 Management Scheme for Flash Memory with the Multi-Plane Architecture
KR20040072875A (en) * 2003-02-11 2004-08-19 유비시스테크놀러지 주식회사 Storage using nand flash memory
US20070061545A1 (en) * 2003-10-24 2007-03-15 Hyperstone Ag Method for writing memory sectors in a memory deletable by blocks
US20070192533A1 (en) * 2006-02-16 2007-08-16 Samsung Electronics Co., Ltd. Apparatus and method for managing mapping information of nonvolatile memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102543184A (en) * 2010-12-22 2012-07-04 群联电子股份有限公司 Memory storage device, memory controller thereof and data writing method
CN103970605A (en) * 2013-02-06 2014-08-06 珠海世纪鼎利通信科技股份有限公司 Low-performance terminal based data analysis method and device
US9940261B2 (en) * 2016-05-05 2018-04-10 Western Digital Technology, Inc. Zoning of logical to physical data address translation tables with parallelized log list replay

Also Published As

Publication number Publication date
KR20090034135A (en) 2009-04-07
KR100924021B1 (en) 2009-10-28
WO2009045010A3 (en) 2009-07-02

Similar Documents

Publication Publication Date Title
US9842030B2 (en) Data storage device and flash memory control method
US9753847B2 (en) Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
CN101354681B (en) Memory system, abrasion equilibrium method and apparatus of non-volatile memory
US7594067B2 (en) Enhanced data access in a storage device
US7702844B2 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
US20120191927A1 (en) Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US20140089564A1 (en) Method of data collection in a non-volatile memory
US9323661B2 (en) Memory system and control method thereof
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
EP1895418A1 (en) Nonvolatile memory device, method of writing data, and method of reading out data
US7287117B2 (en) Flash memory and mapping control apparatus and method for flash memory
US20140297921A1 (en) Method of Partitioning Physical Block and Memory System Thereof
US9594675B2 (en) Virtualization of chip enables
US20070150645A1 (en) Method, system and apparatus for power loss recovery to enable fast erase time
US8521947B2 (en) Method for writing data into flash memory
US10089225B2 (en) Improving garbage collection efficiency by reducing page table lookups
WO2009045010A2 (en) Flash memory mapping management method
CN112596668A (en) Bad block processing method and system for memory
US9304906B2 (en) Memory system, controller and control method of memory
KR100533683B1 (en) Data managing device and method for flash memory
KR100703727B1 (en) Non-volatile memory, Mappping controlling apparatus and method for the same
US7773433B2 (en) Method for managing a non-volatile memory in a smart card
CN111913890B (en) Random read-write method of nonvolatile memory based on security module
KR20110017489A (en) Method of managing block information for flash memory

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: 08836720

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08836720

Country of ref document: EP

Kind code of ref document: A2