CN111694759A - Flash memory management method and flash memory - Google Patents

Flash memory management method and flash memory Download PDF

Info

Publication number
CN111694759A
CN111694759A CN201910377863.3A CN201910377863A CN111694759A CN 111694759 A CN111694759 A CN 111694759A CN 201910377863 A CN201910377863 A CN 201910377863A CN 111694759 A CN111694759 A CN 111694759A
Authority
CN
China
Prior art keywords
page address
address mapping
partial page
mapping table
flash memory
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201910377863.3A
Other languages
Chinese (zh)
Other versions
CN111694759B (en
Inventor
邱日圣
许智宏
萧智伟
陈昱维
叶庭玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asolid Technology Co Ltd
Original Assignee
Asolid Technology Co Ltd
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 Asolid Technology Co Ltd filed Critical Asolid Technology Co Ltd
Publication of CN111694759A publication Critical patent/CN111694759A/en
Application granted granted Critical
Publication of CN111694759B publication Critical patent/CN111694759B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The disclosure provides a flash memory management method and a flash memory. The flash memory management method comprises the following steps: generating a plurality of partial page address mapping tables in a random access memory; and when a first partial page address mapping table of the partial page address mapping table is released, moving data stored in a second partial page address mapping table which is newly generated in the partial page address mapping table to the first partial page address mapping table.

Description

Flash memory management method and flash memory
Technical Field
The present disclosure relates to a flash memory management method and a flash memory, and more particularly, to a flash memory management method and a flash memory for improving a random writing performance.
Background
In performance evaluation of flash memory, the random write speed (or 4K random write speed) is an important evaluation index. In randomly writing data, the flash memory controller must continuously generate a page mapping table and perform an operation of writing the page mapping table to the flash memory or reading the page mapping table from the flash memory to the random access memory. Frequent updates of the page mapping table cause a decrease in random writing speed.
Disclosure of Invention
The present disclosure provides a flash memory management method and a flash memory, which effectively prevent a speed of random writing from decreasing.
The present disclosure provides a flash memory management method, including: generating a plurality of partial page address mapping tables in a random access memory; and when a first partial page address mapping table of the partial page address mapping table is released, moving data stored in a second partial page address mapping table which is newly generated in the partial page address mapping table to the first partial page address mapping table.
The present disclosure proposes a flash memory, comprising: the memory unit module comprises a plurality of entity memory groups, and each entity memory group comprises a plurality of entity memory pages; and the controller is coupled with the storage unit module. The controller generates a plurality of partial page address mapping tables in the random access memory; and when a first partial page address mapping table of the partial page address mapping table is released, moving data stored in a second partial page address mapping table which is newly generated in the partial page address mapping table to the first partial page address mapping table.
Based on the above, the flash memory management method and the flash memory of the present disclosure will move the data stored in the second part of the page address mapping table that is generated newly to the first part of the page address mapping table when the first part of the page address mapping table of the random access memory is released. Therefore, the speed of the random writing of the flash memory can be effectively prevented from being reduced.
In order to make the aforementioned and other features and advantages of the disclosure more comprehensible, embodiments accompanied with figures are described in detail below.
Drawings
Fig. 1 is a block diagram of a flash memory according to an embodiment of the present disclosure.
Fig. 2A to 2D are schematic diagrams illustrating a flash memory management method according to an embodiment of the disclosure.
FIG. 3 is a diagram illustrating a partial page address mapping table according to an embodiment of the present disclosure.
FIG. 4 is a flowchart illustrating a method for managing a flash memory according to an embodiment of the disclosure.
[ notation ] to show
100: flash memory
110: controller
120: memory cell module
200: partial page address mapping table queue
201: indicator symbol
211. 212, 300: partial page address mapping table
SE 1-SE 4: column-setting column
301: mapping physical memory set
302: mapping physical page addresses
303: mapping segments
S401 and S402: method for managing flash memory
Detailed Description
Fig. 1 is a block diagram of a flash memory according to an embodiment of the present disclosure.
Referring to fig. 1, a flash memory 100 according to an embodiment of the present disclosure includes a controller 110 and a memory cell module 120 coupled to the controller 110. The controller 110 may perform management operations with respect to the memory cell module 120. The memory unit module 120 includes a plurality of physical banks (or called physical blocks). Each physical memory set includes a plurality of physical memory pages (or called physical pages, physical pages). Each physical memory page includes a plurality of segments (or segments), each of which is, for example, 4 kbytes in size.
Fig. 2A to 2D are schematic diagrams illustrating a flash memory management method according to an embodiment of the disclosure.
Referring to fig. 2A and fig. 1, fig. 2A shows an example of a Partial Page address Mapping Table (PPMT) queue 200 stored in a random access memory of the flash memory 100. The PPMT queue 200 may include PPMT groups 0 through M. Each PPMT group may include page 0 through page N, and each page may store one PPMT data. In the initial state where none of the pages of the respective PPMT group have stored PPMT data, the indicator 201 would refer to the address of page 0 of PPMT group 0. It should be noted that in the full page address mapping, one logical page is mapped to one physical page; in partial page address mapping, however, a logical page may map to segments of multiple different physical pages.
Referring to FIG. 2B and FIG. 1, after performing multiple random write operations (e.g., 4K random write operations), PPMTs are sequentially built in the PPMT queue 200. For example, page 0 to page N of PPMT group 0 and page 1 of PPMT group 1 store the PPMTs that can be used by the controller 110, that is, the controller 110 can obtain the logical-physical mapping relationship of the partial page address mapping according to the PPMTs (i.e., page 0 to page N of PPMT group 0 and PPMT of page 0 and page 1 of PPMT group 1 are in the first state). After the PPMT is established, the indicator 201 refers to the address of page 2 of the PPMT group 1 to indicate the address of the next PPMT to be established.
Referring to fig. 2C and fig. 1, when the partial page address mapping table (PPMT)211 (also referred to as a first partial page address mapping table) is released by the controller 110 (i.e., the contents of the PPMT211 are cleared), the controller 110 does not move the data of the PPMT211 to the release queue, but moves the mapping data stored in the newly generated partial page address mapping table (PPMT)212 (also referred to as a second partial page address mapping table) to the PPMT 211.
Referring to fig. 2D and fig. 1, after the data stored in the PPMT 212 is moved to the PPMT211, the controller 110 points the indicator 201 to the address of the page 1 of the PPMT group 1, and sets the PPMT of the page 1 of the PPMT group 1 to the second state, in which the controller 110 cannot obtain the logical-physical mapping relationship according to the PPMT of the page 1 of the PPMT group 1.
By the above method of PPMT rearrangement, the number of updates of PPMT can be effectively reduced and the access operations of PPMT between the RAM and the memory unit module 120 can be reduced.
FIG. 3 is a diagram illustrating a partial page address mapping table according to an embodiment of the present disclosure.
Referring to fig. 3, a partial page address mapping table 300 according to an embodiment of the present disclosure includes section fields SE1 to SE 4. Each segment includes a record mapping entity page address, a mapping segment, and a mapping entity memory set. Taking the segment SE1 as an example, the mapped physical memory set 301 recorded in the segment SE1 is the physical memory set B1The mapped physical page address 302 recorded in the section field SE1 is P1(i.e., physical memory set B1P of (A) to1Page) and the mapping section 303 recorded in the section field SE1 is S1(i.e., physical memory set B1P of (A) to1S th of page1Segmented data). Through the recorded contents of the section fields SE1 to SE4, the data in the logical page address corresponding to the partial page address mapping table 300 can be known and stored in: physical memory set B1P in (1)1S th of page1Segmented, physical memory set B2P in (1)2S th of page2Segmented, physical memory set B3P in (1)3S th of page3Segment and physical memory set B4P in (1)4S th of page4And (5) segmenting. Although the above embodiments illustrate the partial page address mapping table 300 as including four section fields, the disclosure is not limited thereto. In another embodiment, the partial page address mapping table 300 may also include eight or other number of section fields.
FIG. 4 is a flowchart illustrating a method for managing a flash memory according to an embodiment of the disclosure.
Referring to FIG. 4, in step S401, a plurality of partial page address mapping tables are generated in the RAM.
In step S402, when the first partial page address mapping table of the partial page address mapping tables is released, data stored in the second partial page address mapping table newly generated in the partial page address mapping tables is moved to the first partial page address mapping table.
In summary, the flash memory management method and the flash memory of the present disclosure move the data stored in the second part of the page address mapping table that is generated newly to the first part of the page address mapping table when the first part of the page address mapping table of the random access memory is released. By reforming the partial page address mapping table by the flash memory management method disclosed by the invention, the updating times of the partial page address mapping table can be greatly reduced, namely, the times of reading the partial page address mapping table from the flash memory to the random access memory and writing the partial page address mapping table into the flash memory from the random access memory. In addition, the flash memory management method of the present disclosure does not require the use of a release queue. Therefore, the speed of the random writing of the flash memory can be effectively prevented from being reduced.
Although the present disclosure has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the disclosure, and therefore, the scope of the disclosure should be determined by that of the appended claims.

Claims (10)

1. A method for flash memory management, comprising:
generating a plurality of partial page address mapping tables in a random access memory; and
when a first partial page address mapping table of the plurality of partial page address mapping tables is released, data stored in a second partial page address mapping table which is newly generated in the plurality of partial page address mapping tables is moved to the first partial page address mapping table.
2. The flash memory management method of claim 1, further comprising: data of the first partial page address mapping table is not moved to a release queue.
3. The method of claim 1, wherein each of the partial page address mapping tables includes a plurality of segment fields, each of the segment fields including a mapped physical page address, a mapped segment, and a mapped physical memory bank.
4. The flash memory management method of claim 1, wherein the first partial page address mapping table is in a first state, wherein in the first state a controller can obtain logical entity mapping relationships from the first partial page address mapping table.
5. The flash memory management method of claim 4, further comprising: setting the second partial page address mapping table to a second state in which the controller cannot obtain the logical entity mapping relationship according to the second partial page address mapping table.
6. A flash memory, comprising:
the memory unit module comprises a plurality of entity memory groups, and each entity memory group comprises a plurality of entity memory pages; and
a controller coupled to the memory cell module, wherein the controller generates a plurality of partial page address mapping tables in a random access memory; and
when a first partial page address mapping table of the plurality of partial page address mapping tables is released, data stored in a second partial page address mapping table which is newly generated in the plurality of partial page address mapping tables is moved to the first partial page address mapping table.
7. The flash memory of claim 6, wherein the controller does not move data of the first portion of the page address mapping table to a release queue.
8. The flash memory of claim 6 wherein each of the partial page address mapping tables includes a plurality of segment fields, each of the segment fields including a mapped physical page address, a mapped segment, and a mapped physical memory bank.
9. The flash memory of claim 6, wherein the first partial page address mapping table is in a first state, wherein in the first state the controller can obtain logical entity mapping relationships from the first partial page address mapping table.
10. The flash memory of claim 9, wherein the controller sets the second partial page address mapping table to a second state, wherein in the second state the controller cannot obtain the logical entity mapping relationship from the second partial page address mapping table.
CN201910377863.3A 2019-03-14 2019-05-06 Flash memory management method and flash memory Active CN111694759B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW108108728 2019-03-14
TW108108728A TWI776028B (en) 2019-03-14 2019-03-14 Flash memory management method and flash memory

Publications (2)

Publication Number Publication Date
CN111694759A true CN111694759A (en) 2020-09-22
CN111694759B CN111694759B (en) 2023-06-27

Family

ID=72476014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910377863.3A Active CN111694759B (en) 2019-03-14 2019-05-06 Flash memory management method and flash memory

Country Status (2)

Country Link
CN (1) CN111694759B (en)
TW (1) TWI776028B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016082227A1 (en) * 2014-11-29 2016-06-02 华为技术有限公司 Data storage method and apparatus
CN105868122A (en) * 2016-03-28 2016-08-17 深圳市硅格半导体股份有限公司 Data processing method and device for quick flashing storage equipment
CN108446238A (en) * 2017-02-14 2018-08-24 点序科技股份有限公司 Flash memory and management method thereof
CN109299021A (en) * 2017-07-24 2019-02-01 阿里巴巴集团控股有限公司 Page migration method, apparatus and central processing unit
TWI652679B (en) * 2017-12-08 2019-03-01 旺宏電子股份有限公司 Memory controller, memory system and control method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101510120B1 (en) * 2008-11-21 2015-04-10 삼성전자주식회사 Memory device and management method of memory device
TWI604307B (en) * 2014-10-31 2017-11-01 慧榮科技股份有限公司 Data storage device and flash memory control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016082227A1 (en) * 2014-11-29 2016-06-02 华为技术有限公司 Data storage method and apparatus
CN105868122A (en) * 2016-03-28 2016-08-17 深圳市硅格半导体股份有限公司 Data processing method and device for quick flashing storage equipment
CN108446238A (en) * 2017-02-14 2018-08-24 点序科技股份有限公司 Flash memory and management method thereof
CN109299021A (en) * 2017-07-24 2019-02-01 阿里巴巴集团控股有限公司 Page migration method, apparatus and central processing unit
TWI652679B (en) * 2017-12-08 2019-03-01 旺宏電子股份有限公司 Memory controller, memory system and control method

Also Published As

Publication number Publication date
TWI776028B (en) 2022-09-01
CN111694759B (en) 2023-06-27
TW202034169A (en) 2020-09-16

Similar Documents

Publication Publication Date Title
US10318434B2 (en) Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application
CN107273042B (en) Memory module and method for repeating deleting DRAM system algorithm structure
US10275361B2 (en) Managing multiple namespaces in a non-volatile memory (NVM)
EP2069979B1 (en) Dynamic fragment mapping
EP1970821A1 (en) Method and apparatus for dual-hashing tables
CN107273397B (en) Virtual bucket polyhistidine table for efficient memory online deduplication applications
CN109416666A (en) Caching with compressed data and label
CN106339324B (en) A kind of method and device selecting garbage reclamation block
CN105117351A (en) Method and apparatus for writing data into cache
CN107622020B (en) Data storage method, access method and device
US20120042146A1 (en) Device and method for storage, retrieval, relocation, insertion or removal of data in storage units
EP0032956A1 (en) Data processing system utilizing hierarchical memory
CN109976669B (en) Edge storage method, device and storage medium
US20090319721A1 (en) Flash memory apparatus and method for operating the same
CN109407985B (en) Data management method and related device
CN103970669A (en) Method for accelerating physical-to-logic address mapping of recycling operation in solid-state equipment
CN104834477A (en) Data writing method and device based on flash memory
US9311234B2 (en) Method for reliably addressing a large flash memory and flash memory
CN106980471B (en) Method and device for improving hard disk writing performance of intelligent equipment
CN111694759B (en) Flash memory management method and flash memory
TWI635391B (en) Flash memory and management method thereof
US20110153674A1 (en) Data storage including storing of page identity and logical relationships between pages
CN106547472A (en) Storage array management method and device
CN112181288B (en) Data processing method of nonvolatile storage medium and computer storage medium
US20210319011A1 (en) Metadata table resizing mechanism for increasing system performance

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant