CN112711544B - Flash memory particle physical address fast addressing method of solid-state nonvolatile memory controller - Google Patents

Flash memory particle physical address fast addressing method of solid-state nonvolatile memory controller Download PDF

Info

Publication number
CN112711544B
CN112711544B CN202011351461.5A CN202011351461A CN112711544B CN 112711544 B CN112711544 B CN 112711544B CN 202011351461 A CN202011351461 A CN 202011351461A CN 112711544 B CN112711544 B CN 112711544B
Authority
CN
China
Prior art keywords
physical address
field
block
bad block
domain
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.)
Active
Application number
CN202011351461.5A
Other languages
Chinese (zh)
Other versions
CN112711544A (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.)
Beijing Zeshi Technology Co ltd
Original Assignee
Beijing Zeshi 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 Beijing Zeshi Technology Co ltd filed Critical Beijing Zeshi Technology Co ltd
Priority to CN202011351461.5A priority Critical patent/CN112711544B/en
Publication of CN112711544A publication Critical patent/CN112711544A/en
Application granted granted Critical
Publication of CN112711544B publication Critical patent/CN112711544B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

The invention provides a method for quickly addressing a flash memory particle physical address of a solid-state nonvolatile memory controller, wherein the physical address of a flash memory particle is completed by hardware; moreover, the bit width of each domain of the physical address is configurable, the accumulation sequence of each domain is also configurable, and bad blocks are automatically skipped. The process does not need software participation, does not influence the operation of the CPU at all, and can realize the maximization of the efficiency.

Description

Flash memory particle physical address fast addressing method of solid-state nonvolatile memory controller
Technical Field
The invention relates to the technical field of flash memory controllers, in particular to a flash memory particle physical address fast addressing method of a solid-state nonvolatile memory controller.
Background
The physical addresses required for data programming of a solid-state non-volatile memory controller are typically generated by software, for example as follows: the software selects the idle block first, then accumulates each domain of the physical address in sequence according to the order of the programming command, wherein the bad block needs to be skipped, and sends the complete programming command to the hardware module after generating the physical address corresponding to the programming command. The composition of the flash memory particle physical addresses of each brand may be different, the bit width of each domain is variable in order to adapt to various media by software, and a bad block is jumped, so that the link of generating the physical address by the software consumes much time, and hardware is required to accelerate the completion of the operation under the requirement of high performance. Since the CPU is burdened by the physical address generated for each programming, the CPU has less and less time requirement for processing each read/write command as the read/write bandwidth requirement of the solid-state nonvolatile memory controller increases, and it is significant to generate the physical address required for data programming by hardware.
Disclosure of Invention
Aiming at the problems, the invention provides a method for quickly addressing the physical address of the flash memory particle of the solid-state nonvolatile memory controller, wherein the physical address of the flash memory particle is completed by hardware; moreover, the bit width of each domain of the physical address is configurable, the accumulation sequence of each domain is also configurable, and bad blocks are automatically skipped. The process does not need software participation, does not influence the operation of the CPU at all, and can realize the maximization of the efficiency.
Specifically, in the method for fast addressing the flash memory particle physical address of the solid-state nonvolatile memory controller, a hardware module generates a physical address, wherein the physical address comprises a channel field, a lun field, a block field, a plane field and a page field; and configuring the accumulation sequence of the channel field, the lun field, the block field, the plane field and the page field in the physical address by means of configuration information.
Further, the bit width of the ID of each of the channel field, the lun field, the block field, the plane field, and the page field may be configured according to configuration information.
Further, the method for fast addressing the flash granule physical address of the solid-state nonvolatile memory controller can further comprise the steps of judging whether a bad block exists in the physical address or not and directly skipping the bad block.
Still further, the step of directly skipping the bad block includes:
step 1: accumulating the physical addresses of the bad blocks;
step 2: the accumulated result indexes the bad block table of the bad block according to the index numbers of the channel ID, the lunID and the plane ID;
if the bit of the bad block table is 1, judging that the bad block is a bad block, generating no legal value of the physical address and returning to the step 1, otherwise generating the legal value of the physical address and returning to the step 1 to continue accumulation.
Detailed Description
The following examples are provided by way of illustration in order to fully convey the spirit of the invention to those skilled in the art to which the invention pertains. Accordingly, the present invention is not limited to the embodiments disclosed herein.
As known to those skilled in the art, common physical addresses may include block addresses, lun addresses, plane addresses, page addresses, and column addresses. The column address is not provided during programming, but the controller generally uses multiple channels to improve the read/write performance, so the physical address generated at this time needs to indicate the channel number.
In the invention, the physical address generated by the hardware module finally has five fields of { channel, lun, block, plane, page }, wherein block id needs the hardware module to apply for.
The arrangement sequence of the physical addresses directly influences the programming performance and the size of the memory needing to cache the programming data, so that which domain is accumulated can be controlled according to actual conditions. For example, take 8 channels, 2 luns, 1024 blocks, 2 planes and 1024 pages, the first application for a block id of 0 as an example, where channel id is 3 bits, lun id is 1bit, block id is 1bit, plane id is 1bit, and page is 10 bits.
A common address accumulation method is to accumulate channel ids, then accumulate lun ids, then accumulate plane ids, and finally accumulate page ids, and switch block numbers after all accumulation is completed.
<xnotran> { channel, lun, block, plane, page } , block id 0, {0,0,0,0,0}, {1,0,0,0,0},... {8,0,0,0,0}, 9 {0,1,0,0,0}, 10 {1,1,0,0,0}, 16 {8,1,0,0,0}, , block 0 {8,1,0,1, 1023}. </xnotran> And after the physical address of block 0 is accumulated, accumulating the next round according to the newly applied block id in the same way as the block 0.
Another common method for accumulating addresses is to add a plane first under the current channel and switch channels after the plane is added, and the remaining accumulation rule is similar to the previous method. Therefore, the accumulating sequence of each domain of the module is required to be configurable, and the domain is determined to be accumulated firstly through configuration information, such as whether channel id or plane id is accumulated firstly or the ids of other domains. Meanwhile, the bit widths of the page id and the block id are also not fixed, so that the non-fixed bit widths also need to be configurable.
In addition, it is necessary to determine whether the current physical address is a bad block during the accumulation process. If the block is bad, the block is not a valid physical address and is directly skipped.
Therefore, the method of the present invention further comprises the step of reading the bad block table, wherein the bad block table is generally stored in a rule of { channel, lun, plane }. Taking block 0 as an example, if block 0 of channel 0, lun 1 and plane 1 is a bad block, the bit corresponding to the bad block table {0, 1} is set to 1.
The process of skipping bad blocks may be as follows:
step 1: accumulating the physical addresses of block 0 according to a rule;
and 2, step: the accumulated result indexes a bad block table of block 0 according to the index numbers of channel id, lun id and plane id;
and if the bit of the corresponding id bad block table is 1, indicating that the block is a bad block, not generating valid of the physical address, and jumping back to the step 1, otherwise, generating valid of the physical address, and simultaneously jumping back to the step 1 to continue accumulation.
In the addressing method of the invention, the physical address of the flash memory grain is completed by hardware; moreover, the bit width of each domain of the physical address is configurable, the accumulation sequence of each domain is also configurable, and bad blocks are automatically skipped. The process does not need software participation, does not influence the operation of the CPU at all, and can realize the maximization of the efficiency.
Although the present invention has been described in terms of specific embodiments, those skilled in the art will readily appreciate that the above-described embodiments are meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any and all variations thereof without departing from the spirit and scope of the present invention.

Claims (1)

1. A flash memory particle physical address fast addressing method of a solid-state nonvolatile memory controller is disclosed, wherein a hardware module generates a physical address, and the physical address has a channel field, a lun field, a block field, a plane field and a page field; configuring the accumulation sequence of the channel field, the lun field, the block field, the plane field and the page field in the physical address by means of configuration information;
the bit width of the ID of each of the channel domain, the lun domain, the block domain, the plane domain and the page domain can be configured according to configuration information;
the method also comprises a step of judging whether the physical address has a bad block or not, and a step of directly skipping the bad block;
the step of directly skipping the bad block comprises:
step 1: accumulating the physical addresses of the bad blocks;
step 2: the accumulated result indexes a bad block table of the bad block according to the channel ID, the lunID and the plane ID as index numbers;
if the bit of the bad block table is 1, judging that the bad block is a bad block, generating no legal value of the physical address and returning to the step 1, otherwise generating the legal value of the physical address and returning to the step 1 to continue accumulation.
CN202011351461.5A 2020-11-27 2020-11-27 Flash memory particle physical address fast addressing method of solid-state nonvolatile memory controller Active CN112711544B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011351461.5A CN112711544B (en) 2020-11-27 2020-11-27 Flash memory particle physical address fast addressing method of solid-state nonvolatile memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011351461.5A CN112711544B (en) 2020-11-27 2020-11-27 Flash memory particle physical address fast addressing method of solid-state nonvolatile memory controller

Publications (2)

Publication Number Publication Date
CN112711544A CN112711544A (en) 2021-04-27
CN112711544B true CN112711544B (en) 2022-11-11

Family

ID=75542048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011351461.5A Active CN112711544B (en) 2020-11-27 2020-11-27 Flash memory particle physical address fast addressing method of solid-state nonvolatile memory controller

Country Status (1)

Country Link
CN (1) CN112711544B (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096457B (en) * 2018-01-31 2023-05-23 联发科技股份有限公司 Hardware control system and hardware control method
US10579538B2 (en) * 2018-02-21 2020-03-03 Western Digital Technologies, Inc. Predicting addresses in non-volatile storage
CN109491930B (en) * 2018-11-16 2023-04-11 杭州阿姆科技有限公司 Method for optimizing write address allocation in SSD
CN109783411B (en) * 2018-12-20 2022-05-17 成都旋极历通信息技术有限公司 FLASH array control method based on FPGA and controller

Also Published As

Publication number Publication date
CN112711544A (en) 2021-04-27

Similar Documents

Publication Publication Date Title
US11354040B2 (en) Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory
US20220276786A1 (en) Memory protocol
US6798696B2 (en) Method of controlling the operation of non-volatile semiconductor memory chips
CN105489239B (en) Data storage device and operation method thereof
CN106448733B (en) Nonvolatile memory device, program method, and program verification method thereof
US10048870B2 (en) Electronic system and data maintenance method thereof
CN111009269A (en) Apparatus and method for storing and writing multiple parameter codes for operating parameters of memory
US7319610B2 (en) MTP storage medium and access algorithm method with traditional OTP
US9933958B2 (en) Data storage device and data maintenance method thereof
US11704260B2 (en) Memory controller
EP3610380A1 (en) Memory protocol with programmable buffer and cache size
KR20100117295A (en) Method for driving of data storage device and data storage device thereof
US11550717B2 (en) Apparatuses and methods for concurrently accessing different memory planes of a memory
CN108074620B (en) Repair control device and semiconductor device including the same
US9996304B2 (en) Data storage device and data maintenance method thereof
US9779017B2 (en) Data storage device and data accessing method thereof
CN112711544B (en) Flash memory particle physical address fast addressing method of solid-state nonvolatile memory controller
US11061764B2 (en) Data storage device and data retrieval method
US20120254516A1 (en) Control device, storage device, and reading control method
US8041886B2 (en) System and method of managing memory
US10628067B2 (en) Memory system and operating method thereof
US20060233037A1 (en) Method and apparatus for operating electronic semiconductor chips via signal lines
US8593878B2 (en) Program method and flash memory using the same
US20220197792A1 (en) Random seed generating circuit of memory system
US7594090B2 (en) Efficient data storage

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