[go: up one dir, main page]

CN116301564A - Storage controller and flash memory chip - Google Patents

Storage controller and flash memory chip Download PDF

Info

Publication number
CN116301564A
CN116301564A CN202111565060.4A CN202111565060A CN116301564A CN 116301564 A CN116301564 A CN 116301564A CN 202111565060 A CN202111565060 A CN 202111565060A CN 116301564 A CN116301564 A CN 116301564A
Authority
CN
China
Prior art keywords
read
erase
write
control register
bit
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.)
Pending
Application number
CN202111565060.4A
Other languages
Chinese (zh)
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.)
Wuhan Xinxin Semiconductor Manufacturing Co Ltd
Original Assignee
Wuhan Xinxin Semiconductor Manufacturing 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 Wuhan Xinxin Semiconductor Manufacturing Co Ltd filed Critical Wuhan Xinxin Semiconductor Manufacturing Co Ltd
Priority to CN202111565060.4A priority Critical patent/CN116301564A/en
Publication of CN116301564A publication Critical patent/CN116301564A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)

Abstract

The invention discloses a memory controller and a flash memory chip, wherein the memory controller comprises a controller, a control register group and an execution circuit, a main program, a writing algorithm subprogram, an erasing algorithm subprogram and a reading algorithm subprogram which are arranged in the controller based on an instruction set are triggered through user instructions, corresponding execution data can be generated, then the control register group can generate corresponding enabling data according to the execution data, and then the execution circuit can control the reading and erasing operation of a memory unit according to the enabling data; meanwhile, when the capacity is upgraded, namely the number of the storage units is increased, only the electrical connection relation between the execution circuit and the newly-added storage units is increased, and the capacity can be expanded by adjusting corresponding subroutines, so that the method is more convenient compared with the large-scale change of the whole special circuit.

Description

存储控制器及闪存芯片Storage controller and flash memory chip

技术领域technical field

本发明涉及存储技术领域,具体涉及一种存储控制器及闪存芯片。The invention relates to the technical field of storage, in particular to a storage controller and a flash memory chip.

背景技术Background technique

传统技术方案中存储芯片的控制器通常通过专用电路实现读、写以及擦除操作,但是基于专用电路实现的算法固定,若需要更改算法,则需要调整对应的专用电路,因此,其不便于升级读擦写算法,也不便于升级存储容量。In the traditional technical solution, the controller of the memory chip usually realizes the read, write and erase operations through a dedicated circuit, but the algorithm based on the dedicated circuit is fixed. If the algorithm needs to be changed, the corresponding dedicated circuit needs to be adjusted. Therefore, it is not easy to upgrade The read/write algorithm is not easy to upgrade the storage capacity.

需要注意的是,上述关于背景技术的介绍仅仅是为了便于清楚、完整地理解本发明的技术方案。因此,不能仅仅由于其出现在本发明的背景技术中,而认为上述所涉及到的技术方案为本领域所属技术人员所公知。It should be noted that the above introduction about the background technology is only for the purpose of clearly and completely understanding the technical solution of the present invention. Therefore, it cannot be considered that the above mentioned technical solutions are known to those skilled in the art just because they appear in the background technology of the present invention.

发明内容Contents of the invention

本发明提供一种存储控制器及闪存芯片,以缓解采用专用电路构成的存储控制器不便于升级算法及升级容量的技术问题。The invention provides a storage controller and a flash memory chip to alleviate the technical problem that the storage controller composed of a dedicated circuit is inconvenient to upgrade algorithm and upgrade capacity.

第一方面,本发明提供一种存储控制器,其包括控制器、控制寄存器组以及执行电路,控制器用于响应于用户指令而执行基于指令集设置的主程序、写算法子程序、擦算法子程序以及读算法子程序,以生成对应的执行数据;控制寄存器组与控制器电性连接,用于根据执行数据生成对应的使能数据;执行电路与控制寄存器组电性连接,用于根据使能数据控制存储单元的读擦写操作。In a first aspect, the present invention provides a storage controller, which includes a controller, a control register group, and an execution circuit, and the controller is used to execute a main program based on an instruction set setting, a write algorithm subroutine, and an erase algorithm in response to a user instruction. The program and the reading algorithm subroutine are used to generate corresponding execution data; the control register group is electrically connected to the controller for generating corresponding enable data according to the execution data; the execution circuit is electrically connected to the control register group for The data can control the read, erase and write operations of the storage unit.

在其中一些实施方式中,执行电路包括高电压发生器、行列译码器、静态存储器以及灵敏放大器,高电压发生器与控制寄存器组电性连接,用于生成对应的操作电压;行列译码器与控制寄存器组电性连接,用于生成对应的操作地址;静态存储器与控制器、控制寄存器组电性连接,用于存储待写入数据;灵敏放大器与控制寄存器组电性连接,用于读出存储单元中的数据。In some of the embodiments, the execution circuit includes a high voltage generator, a row and column decoder, a static memory, and a sense amplifier, and the high voltage generator is electrically connected to the control register group for generating corresponding operating voltages; the row and column decoder It is electrically connected with the control register group for generating corresponding operation addresses; the static memory is electrically connected with the controller and the control register group for storing data to be written; the sense amplifier is electrically connected with the control register group for reading data in the storage unit.

在其中一些实施方式中,控制寄存器组包括读控制寄存器、写控制寄存器以及擦控制寄存器,读控制寄存器与高电压发生器、行列译码器以及灵敏放大器电性连接,用于使能高电压发生器、行列译码器以及灵敏放大器执行存储单元的读操作;写控制寄存器与高电压发生器、行列译码器以及静态存储器电性连接,用于使能高电压发生器、行列译码器以及静态存储器执行存储单元的写操作;擦控制寄存器与高电压发生器、行列译码器电性连接,用于使能高电压发生器、行列译码器执行存储单元的擦操作。In some of these implementations, the control register set includes a read control register, a write control register, and an erase control register, and the read control register is electrically connected to the high voltage generator, row and column decoder, and sense amplifier for enabling high voltage generation The device, row and column decoder and sense amplifier perform the read operation of the storage unit; the write control register is electrically connected with the high voltage generator, the row and column decoder and the static memory, and is used to enable the high voltage generator, the row and column decoder and the The static memory executes the write operation of the storage unit; the erase control register is electrically connected with the high voltage generator and the row and column decoder, and is used to enable the high voltage generator and the row and column decoder to perform the erase operation of the storage unit.

在其中一些实施方式中,控制寄存器组包括过擦除校正控制寄存器,过擦除校正控制寄存器与控制器电性连接,过擦除校正控制寄存器用于控制至少一个存储单元的过擦除校正操作。In some of these implementations, the control register set includes an over-erased correction control register, the over-erased correction control register is electrically connected to the controller, and the over-erased correction control register is used to control the over-erased correction operation of at least one storage unit .

在其中一些实施方式中,指令集包括转移类指令和位操作类指令,每个转移类指令包括6个比特位的操作码和8个比特位的指示地址;每个位操作类指令包括6个比特位的操作码和8个比特位的寄存器位选择数据。In some of these implementations, the instruction set includes transfer instructions and bit operation instructions, each transfer instruction includes a 6-bit operation code and an 8-bit instruction address; each bit operation instruction includes 6 1-bit opcode and 8-bit register bit selection data.

在其中一些实施方式中,6个比特位的操作码包括3个比特位的主操作码和3个比特位的子操作码。In some implementations, the 6-bit opcode includes a 3-bit main opcode and a 3-bit sub-opcode.

在其中一些实施方式中,用户指令包括读操作指令;响应于读操作指令,控制器基于读算法子程序通过读控制寄存器使能高电压发生器生成对应的读电压、使能行列译码器生成对应的读单元地址以及使能灵敏放大器读出读单元地址中存储的数据。In some of these implementations, the user instruction includes a read operation instruction; in response to the read operation instruction, the controller enables the high voltage generator to generate the corresponding read voltage by reading the control register based on the read algorithm subroutine, and enables the row and column decoder to generate the corresponding read voltage. The corresponding read unit address and the enable sense amplifier read out the data stored in the read unit address.

在其中一些实施方式中,读操作指令包括读命令代码和读地址代码;响应于读命令代码,控制器基于读算法子程序通过读控制寄存器使能高电压发生器生成对应的读电压;响应于读地址代码,控制器基于读算法子程序通过读控制寄存器使能行列译码器生成对应的读单元地址;在读电压的供给下,控制器基于读算法子程序通过读控制寄存器使能灵敏放大器读出读单元地址中存储的数据。In some of these implementations, the read operation instruction includes a read command code and a read address code; in response to the read command code, the controller enables the high voltage generator to generate a corresponding read voltage through the read control register based on the read algorithm subroutine; in response to To read the address code, the controller enables the row and column decoder to generate the corresponding read unit address through the read control register based on the read algorithm subroutine; under the supply of the read voltage, the controller enables the sense amplifier to read through the read control register based on the read algorithm subroutine. Read the data stored in the cell address.

在其中一些实施方式中,存储控制器还包括串行接口和数据转换模块,数据转换模块与灵敏放大器的输出端、串行接口电性连接,控制器使能数据转换模块转换灵敏放大器输出的并行数据为对应的串行数据,并通过串行接口输出串行数据至外部。In some of these implementations, the storage controller also includes a serial interface and a data conversion module, the data conversion module is electrically connected to the output terminal of the sense amplifier and the serial interface, and the controller enables the data conversion module to convert the parallel output of the sense amplifier. The data is the corresponding serial data, and the serial data is output to the outside through the serial interface.

在其中一些实施方式中,用户指令包括写操作指令;响应于写操作指令,控制器基于写算法子程序通过写控制寄存器使能静态存储器存储待写入数据、使能高电压发生器生成对应的写电压、使能行列译码器生成对应的写单元地址,以转存静态存储器中的待写入数据至对应的存储单元。In some of these implementations, the user instruction includes a write operation instruction; in response to the write operation instruction, the controller enables the static memory to store the data to be written by writing the control register based on the write algorithm subroutine, and enables the high voltage generator to generate the corresponding The write voltage enables the row and column decoder to generate a corresponding write unit address, so as to dump the data to be written in the static memory to the corresponding storage unit.

在其中一些实施方式中,写操作指令包括写命令代码、写地址代码以及待写入数据;响应于写命令代码,控制器基于写算法子程序通过写控制寄存器使能静态存储器存储待写入数据和使能高电压发生器生成对应的写电压;响应于写地址代码,控制器基于写算法子程序通过写控制寄存器使能行列译码器生成对应的写单元地址。In some of these implementations, the write operation instruction includes a write command code, a write address code, and data to be written; in response to the write command code, the controller enables the static memory to store the data to be written by writing the control register based on the write algorithm subroutine and enabling the high voltage generator to generate a corresponding write voltage; in response to the write address code, the controller enables the row and column decoder to generate a corresponding write unit address based on the write algorithm subroutine through the write control register.

在其中一些实施方式中,用户指令包括擦操作指令;响应于擦操作指令,控制器基于擦算法子程序通过擦控制寄存器使能高电压发生器生成对应的擦电压、使能行列译码器生成对应的擦单元地址,以擦除擦单元地址对应的存储单元。In some of these implementations, the user instruction includes an erase operation instruction; in response to the erase operation instruction, the controller enables the high voltage generator to generate the corresponding erase voltage through the erase control register based on the erase algorithm subroutine, and enables the row and column decoder to generate The corresponding erase unit address is used to erase the storage unit corresponding to the erase unit address.

在其中一些实施方式中,擦操作指令包括擦命令代码和擦地址代码;响应于擦命令代码,控制器基于擦算法子程序通过擦控制寄存器使能高电压发生器生成对应的擦电压;响应于擦地址代码,控制器基于擦算法子程序通过擦控制寄存器使能行列译码器生成对应的擦单元地址。In some of these implementations, the wipe operation instruction includes a wipe command code and a wipe address code; in response to the wipe command code, the controller enables the high voltage generator to generate a corresponding wipe voltage through the wipe control register based on the wipe algorithm subroutine; in response to Erase address code, the controller enables the row and column decoder to generate the corresponding erase unit address through the erase control register based on the erase algorithm subroutine.

在其中一些实施方式中,擦算法子程序还包括过擦除校正子程序,响应于擦操作指令,控制器基于擦算法子程序通过过擦除校正控制寄存器对擦除过的存储单元执行过擦除校正子程序。In some of these implementations, the erase algorithm subroutine also includes an over-erase correction subroutine, and in response to the erase operation instruction, the controller performs over-erase on the erased memory cells through the over-erase correction control register based on the erase algorithm subroutine. Eliminate calibration subroutines.

第二方面,本发明提供一种闪存芯片,其包括上述至少一实施方式中的存储控制器和至少一个存储单元,至少一个存储单元与执行电路电性连接。In a second aspect, the present invention provides a flash memory chip, which includes the storage controller in at least one embodiment above and at least one storage unit, and the at least one storage unit is electrically connected to the execution circuit.

本发明提供的存储控制器及闪存芯片,通过用户指令触发在控制器中基于指令集设置的主程序、写算法子程序、擦算法子程序以及读算法子程序,可以生成对应的执行数据,然后控制寄存器组根据该执行数据可以生成对应的使能数据,然后执行电路根据使能数据可以控制存储单元的读擦写操作,在此基础上,可以根据使用需要较为灵活方便地调整对应的子程序,而并不需要去更改硬件配置;同时,在升级容量即增加存储单元的数量时,也仅需要增加执行电路与新增存储单元的电性连接关系,其他可以通过对应子程序的调整即可实现扩容,如此,相对于整个专用电路的大规模更改,更加方便,也简化了设计方案以及降低了各种成本。The storage controller and the flash memory chip provided by the present invention can generate corresponding execution data by triggering the main program, the write algorithm subroutine, the erase algorithm subroutine and the read algorithm subroutine set in the controller based on the instruction set through user instructions, and then The control register group can generate corresponding enable data according to the execution data, and then the execution circuit can control the read/write operation of the storage unit according to the enable data. On this basis, the corresponding subroutine can be adjusted flexibly and conveniently according to the needs of use , and there is no need to change the hardware configuration; at the same time, when upgrading the capacity, that is, increasing the number of storage units, it is only necessary to increase the electrical connection between the execution circuit and the newly added storage units, and other adjustments can be made through the corresponding subroutines Realizing expansion, in this way, is more convenient than large-scale changes of the entire dedicated circuit, and also simplifies the design scheme and reduces various costs.

附图说明Description of drawings

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。The technical solutions and other beneficial effects of the present invention will be apparent through the detailed description of specific embodiments of the present invention in conjunction with the accompanying drawings.

图1为本发明实施例提供的闪存芯片的结构示意图。FIG. 1 is a schematic structural diagram of a flash memory chip provided by an embodiment of the present invention.

图2为图1所示读控制寄存器的结构示意图。FIG. 2 is a schematic structural diagram of the read control register shown in FIG. 1 .

图3为图1所示写控制寄存器的结构示意图。FIG. 3 is a schematic structural diagram of the write control register shown in FIG. 1 .

图4为图1所示擦控制寄存器的结构示意图。FIG. 4 is a schematic structural diagram of the wipe control register shown in FIG. 1 .

图5为图1所示过擦除校正控制寄存器的结构示意图。FIG. 5 is a schematic structural diagram of the over-erasure correction control register shown in FIG. 1 .

图6为图1所示闪存芯片工作的流程示意图。FIG. 6 is a schematic flow chart of the operation of the flash memory chip shown in FIG. 1 .

图7为图6中所示读算法子程序的流程示意图。FIG. 7 is a schematic flowchart of the reading algorithm subroutine shown in FIG. 6 .

图8为图6中所示写算法子程序的流程示意图。FIG. 8 is a schematic flowchart of the writing algorithm subroutine shown in FIG. 6 .

图9为图6中所示擦算法子程序的流程示意图。FIG. 9 is a schematic flowchart of the erasing algorithm subroutine shown in FIG. 6 .

图10为图9中所示过擦除校正子程序的流程示意图。FIG. 10 is a schematic flowchart of the over-erasure correction subroutine shown in FIG. 9 .

具体实施方式Detailed ways

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Apparently, the described embodiments are only some of the embodiments of the present invention, but not all of them. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative efforts fall within the protection scope of the present invention.

有鉴于上述提及的专用电路构成的存储控制器不便于升级算法及升级容量的技术问题,本实施例提供了一种闪存芯片,请参阅图1至图10,如图1所示,该闪存芯片包括存储控制器100和至少一个串行接口101,至少一个串行接口101与存储控制器100电性连接。其中,该闪存芯片可以但不限于为Nor flash芯片,也可以为其他能够适用于本发明的存储芯片。In view of the above-mentioned technical problems that the storage controller composed of a dedicated circuit is inconvenient to upgrade the algorithm and upgrade the capacity, this embodiment provides a flash memory chip, please refer to Fig. 1 to Fig. 10, as shown in Fig. 1, the flash memory The chip includes a storage controller 100 and at least one serial interface 101 , and the at least one serial interface 101 is electrically connected with the storage controller 100 . Wherein, the flash memory chip may be, but not limited to, a Nor flash chip, or other memory chips applicable to the present invention.

如图1和图6所示,在其中一个实施例中,本实施例提供一种存储控制器100,该存储控制器100包括控制器110、控制寄存器组191以及执行电路192,控制器110用于响应于用户指令而执行基于指令集设置的主程序、写算法子程序S20、擦算法子程序S30以及读算法子程序S10,以生成对应的执行数据;控制寄存器组191与控制器110电性连接,用于根据执行数据生成对应的使能数据;执行电路192与控制寄存器组191电性连接,用于根据使能数据控制存储单元的读擦写操作。As shown in Figure 1 and Figure 6, in one of the embodiments, this embodiment provides a storage controller 100, the storage controller 100 includes a controller 110, a control register set 191 and an execution circuit 192, the controller 110 uses In response to user instructions, execute the main program based on the instruction set, the write algorithm subroutine S20, the erase algorithm subroutine S30 and the read algorithm subroutine S10, to generate corresponding execution data; the control register group 191 is electrically connected to the controller 110 connected to generate corresponding enable data according to the execution data; the execution circuit 192 is electrically connected to the control register group 191 and used to control the read, erase and write operations of the storage unit according to the enable data.

所述执行数据可以是逻辑数据或控制时序,此处不限定执行数据的数据类型。The execution data may be logic data or control timing, and the data type of the execution data is not limited here.

可以理解的是,本实施例提供的存储控制器100及闪存芯片,通过用户指令触发在控制器110中基于指令集设置的主程序、写算法子程序S20、擦算法子程序S30以及读算法子程序S10,可以生成对应的执行数据,然后控制寄存器组191根据该执行数据可以生成对应的使能数据,然后执行电路192根据使能数据可以控制存储单元的读擦写操作,在此基础上,可以根据使用需要较为灵活方便地调整对应的子程序,而并不需要去更改硬件配置;同时,在升级容量即增加存储单元的数量时,也仅需要增加执行电路192与新增存储单元的电性连接关系,其他可以通过对应子程序的调整即可实现扩容,如此,相对于整个专用电路的大规模更改,更加方便,也简化了设计方案以及降低了各种成本。It can be understood that the storage controller 100 and the flash memory chip provided in this embodiment trigger the main program, the write algorithm subroutine S20, the erase algorithm subroutine S30 and the read algorithm set based on the instruction set in the controller 110 through user instructions. Program S10 can generate corresponding execution data, and then the control register group 191 can generate corresponding enable data according to the execution data, and then the execution circuit 192 can control the read/write operation of the storage unit according to the enable data, on this basis, The corresponding subroutines can be adjusted flexibly and conveniently according to the needs of use, without changing the hardware configuration; at the same time, when upgrading the capacity, that is, increasing the number of storage units, it is only necessary to increase the power of the execution circuit 192 and the newly added storage units. Sexual connection relationship, and others can be expanded by adjusting the corresponding subroutines. In this way, compared with large-scale changes of the entire dedicated circuit, it is more convenient, and it also simplifies the design scheme and reduces various costs.

其中,执行电路192包括高电压发生器120、行列译码器130、静态存储器140以及灵敏放大器150,高电压发生器120与控制寄存器组191电性连接,用于生成对应的操作电压;行列译码器130与控制寄存器组191电性连接,用于生成对应的操作地址;静态存储器140与控制器110、控制寄存器组191电性连接,用于存储待写入数据;灵敏放大器150与控制寄存器组191电性连接,用于读出存储单元中的数据。Wherein, the execution circuit 192 includes a high-voltage generator 120, a row-column decoder 130, a static memory 140, and a sense amplifier 150. The high-voltage generator 120 is electrically connected to the control register set 191 for generating corresponding operating voltages; the row-column decoder Encoder 130 is electrically connected with control register group 191 for generating corresponding operating addresses; static memory 140 is electrically connected with controller 110 and control register group 191 for storing data to be written; sense amplifier 150 and control register The group 191 is electrically connected for reading data in the memory cells.

在其中一个实施例中,控制寄存器组191包括读控制寄存器160、写控制寄存器170以及擦控制寄存器180,读控制寄存器160与高电压发生器120、行列译码器130以及灵敏放大器150电性连接,用于使能高电压发生器120、行列译码器130以及灵敏放大器150执行存储单元的读操作;写控制寄存器170与高电压发生器120、行列译码器130以及静态存储器140电性连接,用于使能高电压发生器120、行列译码器130以及静态存储器140执行存储单元的写操作;擦控制寄存器180与高电压发生器120、行列译码器130电性连接,用于使能高电压发生器120、行列译码器130执行存储单元的擦操作。In one of the embodiments, the control register group 191 includes a read control register 160, a write control register 170 and an erase control register 180, and the read control register 160 is electrically connected to the high voltage generator 120, the row and column decoder 130 and the sense amplifier 150 , used to enable the high voltage generator 120, the row and column decoder 130 and the sense amplifier 150 to perform the read operation of the storage unit; the write control register 170 is electrically connected to the high voltage generator 120, the row and column decoder 130 and the static memory 140 , used to enable the high voltage generator 120, the row and column decoder 130 and the static memory 140 to perform the write operation of the storage unit; the erase control register 180 is electrically connected with the high voltage generator 120 and the row and column decoder 130, and is used to The high-voltage generator 120 and the row-column decoder 130 can execute the erase operation of the memory cell.

如图2所示,在其中一个实施例中,读控制寄存器160包括读使能操作位、读电压启动操作位、读准备结束操作位、读预处理操作位以及读单位控制位,读使能操作位用于控制是否进行读操作;读电压启动操作位用于控制是否启动至少一个存储单元的读电压;读准备结束操作位用于控制是否结束至少一个存储单元的读准备操作;读预处理操作位用于控制是否进行至少一个存储单元的读预处理操作;读单位控制位用于控制是否对存储单元进行读操作。As shown in Figure 2, in one of the embodiments, the read control register 160 includes a read enable operation bit, a read voltage start operation bit, a read preparation end operation bit, a read preprocessing operation bit and a read unit control bit, and the read enable The operation bit is used to control whether to perform a read operation; the read voltage start operation bit is used to control whether to start the read voltage of at least one storage unit; the read preparation end operation bit is used to control whether to end the read preparation operation of at least one storage unit; read preprocessing The operation bit is used to control whether to perform a read preprocessing operation on at least one storage unit; the read unit control bit is used to control whether to perform a read operation on the storage unit.

例如,读控制寄存器160的容量可以至少为5bits(位),优选的通常为8bits(位),第0位可以为读使能操作位M_RDr,当其为1时,表示允许进行至少一个存储单元的读操作;当其为0时,表示禁止进行至少一个存储单元的读操作。第1位可以为读电压启动操作位M_PUMPr,当其为1时,表示允许启动至少一个存储单元的读电压;当其为0时,表示禁止启动至少一个存储单元的读电压。第2位可以为读准备结束操作位M_DISCHr,当其为1时,表示允许结束至少一个存储单元的读准备操作;当其为0时,表示禁止结束至少一个存储单元的读准备操作。第3位可以为读预处理操作位M_PREr,当其为1时,表示允许进行至少一个存储单元的读预处理操作;当其为0时,表示禁止进行至少一个存储单元的读预处理操作。第4位可以为读单位控制位M_CHARGEr,当其为1时,表示允许对存储单元进行读操作;当其为0时,表示禁止对存储单元进行读操作。第5位至第7位暂时保留(Reserved),可选的,用户可以对第5位至第7位自行定义功能。For example, the capacity of the read control register 160 can be at least 5bits (bits), preferably usually 8bits (bits), the 0th bit can be the read enable operation bit M_RDr, when it is 1, it means that at least one storage unit is allowed read operation; when it is 0, it means that the read operation of at least one storage unit is prohibited. The first bit may be the read voltage start operation bit M_PUMPr, when it is 1, it means that the read voltage of at least one memory cell is allowed to be started; when it is 0, it means that the read voltage of at least one memory cell is disabled. The second bit can be the read preparation end operation bit M_DISCHr. When it is 1, it means that it is allowed to end the read preparation operation of at least one storage unit; when it is 0, it means that it is prohibited to end the read preparation operation of at least one storage unit. The third bit may be the read preprocessing operation bit M_PREr. When it is 1, it indicates that the read preprocessing operation of at least one storage unit is allowed; when it is 0, it indicates that the reading preprocessing operation of at least one storage unit is prohibited. The fourth bit may be the read unit control bit M_CHARGEr. When it is 1, it means that the memory unit is allowed to be read; when it is 0, it means that the memory unit is prohibited from being read. The 5th to 7th bits are temporarily reserved (Reserved). Optionally, the user can define functions for the 5th to 7th bits.

可以理解的是,基于本实施例可以实现对至少一个存储单元的读操作。It can be understood that, based on this embodiment, a read operation on at least one storage unit can be implemented.

如图3所示,在其中一个实施例中,写控制寄存器170包括写使能操作位、写电压启动操作位、写准备结束操作位、写预处理操作位、写单位控制位、第一编程状态使能位、第二编程状态使能位以及第三编程状态使能位,写使能操作位用于控制是否进行至少一个存储单元的写操作;写电压启动操作位用于控制是否启动至少一个存储单元的写电压;写准备结束操作位用于控制是否结束至少一个存储单元的写准备操作;写预处理操作位用于控制是否进行至少一个存储单元的写预处理操作;写单位控制位用于控制是否对存储单元进行写操作;第一编程状态使能位用于控制是否进行第一编程状态;第二编程状态使能位用于控制是否进行第二编程状态;第三编程状态使能位用于控制是否进行第三编程状态。As shown in FIG. 3 , in one of the embodiments, the write control register 170 includes a write enable operation bit, a write voltage start operation bit, a write preparation end operation bit, a write preprocessing operation bit, a write unit control bit, a first programming State enabling bit, the second programming state enabling bit and the third programming state enabling bit, the write enabling operation bit is used to control whether to carry out the write operation of at least one memory cell; the write voltage start operation bit is used to control whether to start at least The write voltage of a storage unit; the write preparation end operation bit is used to control whether to end the write preparation operation of at least one storage unit; the write preprocessing operation bit is used to control whether to perform the write preprocessing operation of at least one storage unit; the write unit control bit It is used to control whether to write to the memory cell; the first programming state enabling bit is used to control whether to perform the first programming state; the second programming state enabling bit is used to control whether to perform the second programming state; the third programming state enables The enable bit is used to control whether to perform the third programming state.

例如,写控制寄存器170的容量可以至少为8bits(位),第0位可以为写使能操作位P_RDr,当其为1时,表示允许进行至少一个存储单元的写操作;当其为0时,表示禁止进行至少一个存储单元的写操作。第1位可以为写电压启动操作位P_PUMPr,当其为1时,表示允许启动至少一个存储单元的写电压;当其为0时,表示禁止启动至少一个存储单元的写电压。第2位可以为写准备结束操作位P_DISCHr,当其为1时,表示允许结束至少一个存储单元的写准备操作;当其为0时,表示禁止结束至少一个存储单元的写准备操作。第3位可以为写预处理操作位P_PREr,当其为1时,表示允许进行至少一个存储单元的写预处理操作;当其为0时,表示禁止进行至少一个存储单元的写预处理操作。第4位可以为写单位控制位P_CHARGEr,当其为1时,表示允许对存储单元进行写操作;当其为0时,表示禁止对存储单元进行写操作。第5位可以为第一编程状态使能位P_ST2,当其为1时,表示允许进行第一编程状态;当其为0时,表示禁止进行第一编程状态。第6位可以为第二编程状态使能位P_ST1,当其为1时,表示允许进行第二编程状态;当其为0时,表示禁止进行第二编程状态。第7位可以为第三编程状态使能位P_ST0,当其为1时,表示允许进行第三编程状态;当其为0时,表示禁止进行第三编程状态。For example, the capacity of the write control register 170 can be at least 8bits (bits), and the 0th bit can be the write enable operation bit P_RDr. When it is 1, it means that the write operation of at least one storage unit is allowed; when it is 0 , indicating that the write operation of at least one storage unit is prohibited. The first bit may be the write voltage activation operation bit P_PUMPr. When it is 1, it means that the write voltage of at least one memory cell is allowed to be activated; when it is 0, it means that the write voltage of at least one memory cell is prohibited from being activated. The second bit can be the write preparation end operation bit P_DISCHr. When it is 1, it means that the write preparation operation of at least one storage unit is allowed to end; when it is 0, it means that the write preparation operation of at least one storage unit is prohibited. The third bit may be the write preprocessing operation bit P_PREr. When it is 1, it indicates that the writing preprocessing operation of at least one storage unit is allowed; when it is 0, it indicates that the writing preprocessing operation of at least one storage unit is prohibited. The fourth bit may be the write unit control bit P_CHARGEr, when it is 1, it means that the storage unit is allowed to be written; when it is 0, it means that the storage unit is prohibited from being written. The fifth bit may be the first programming state enable bit P_ST2, when it is 1, it means that the first programming state is allowed; when it is 0, it means that the first programming state is prohibited. The sixth bit may be the second programming state enable bit P_ST1, when it is 1, it means that the second programming state is allowed; when it is 0, it means that the second programming state is prohibited. The seventh bit may be the third programming state enable bit P_ST0, when it is 1, it means that the third programming state is allowed; when it is 0, it means that the third programming state is prohibited.

可以理解的是,基于本实施例可以实现对至少一个存储单元的写操作。It can be understood that, based on this embodiment, a write operation to at least one storage unit can be implemented.

如图4所示,在其中一个实施例中,擦控制寄存器180包括擦使能操作位、擦电压启动操作位、擦准备结束操作位、擦预处理操作位、擦单位控制位、第一擦除状态使能位、第二擦除状态使能位以及第三擦除状态使能位,擦使能操作位用于控制是否进行擦操作;擦电压启动操作位用于控制是否启动至少一个存储单元的擦电压;擦准备结束操作位用于控制是否结束至少一个存储单元的擦准备操作;擦预处理操作位用于控制是否进行至少一个存储单元的擦预处理操作;擦单位控制位用于控制是否对存储单元进行擦操作;第一擦除状态使能位用于控制是否进行第一擦除状态;第二擦除状态使能位用于控制是否进行第二擦除状态;第三擦除状态使能位用于控制是否进行第三擦除状态。As shown in Figure 4, in one of the embodiments, the wipe control register 180 includes the wipe enable operation bit, the wipe voltage start operation bit, the wipe preparation end operation bit, the wipe preprocessing operation bit, the wipe unit control bit, the first wipe Erase state enable bit, the second erase state enable bit and the third erase state enable bit, the erase enable operation bit is used to control whether to perform an erase operation; the erase voltage start operation bit is used to control whether to start at least one storage The erase voltage of the unit; the erase preparation end operation bit is used to control whether to end the erase preparation operation of at least one memory cell; the erase preprocessing operation bit is used to control whether to perform the erase preprocessing operation of at least one memory cell; the erase unit control bit is used for Control whether to perform an erase operation on the storage unit; the first erase state enable bit is used to control whether to perform the first erase state; the second erase state enable bit is used to control whether to perform the second erase state; the third erase state The erase state enable bit is used to control whether to perform the third erase state.

例如,擦控制寄存器180的容量可以至少为8bits(位),第0位可以为擦使能操作位E_RDr,当其为1时,表示允许进行至少一个存储单元的擦操作;当其为0时,表示禁止进行至少一个存储单元的擦操作。第1位可以为擦电压启动操作位E_PUMPr,当其为1时,表示允许启动至少一个存储单元的擦电压;当其为0时,表示禁止启动至少一个存储单元的擦电压。第2位可以为擦准备结束操作位E_DISCHr,当其为1时,表示允许结束至少一个存储单元的擦准备操作;当其为0时,表示禁止结束至少一个存储单元的擦准备操作。第3位可以为擦预处理操作位E_PREr,当其为1时,表示允许进行至少一个存储单元的擦预处理操作;当其为0时,表示禁止进行至少一个存储单元的擦预处理操作。第4位可以为擦单位控制位E_CHARGEr,当其为1时,表示允许对存储单元进行擦操作;当其为0时,表示禁止对存储单元进行擦操作。第5位可以为第一擦除状态使能位E_ST2,当其为1时,表示允许进行第一擦除状态;当其为0时,表示禁止进行第一擦除状态。第6位可以为第二擦除状态使能位E_ST1,当其为1时,表示允许进行第二擦除状态;当其为0时,表示禁止进行第二擦除状态。第7位可以为第三擦除状态使能位E_ST0,当其为1时,表示允许进行第三擦除状态;当其为0时,表示禁止进行第三擦除状态。For example, the capacity of the wiping control register 180 can be at least 8bits (bits), and the 0th bit can be the wiping enable operation bit E_RDr. When it is 1, it means that the wiping operation of at least one storage unit is allowed; when it is 0 , indicating that the erasing operation of at least one memory cell is prohibited. The first bit can be the erasing voltage start operation bit E_PUMPr, when it is 1, it means that the erasing voltage of at least one memory cell is allowed to be started; when it is 0, it means that the erasing voltage of at least one memory cell is disabled. The second bit can be the erase preparation end operation bit E_DISCHr. When it is 1, it means that it is allowed to end the erase preparation operation of at least one storage unit; when it is 0, it means that it is forbidden to end the erase preparation operation of at least one storage unit. The third bit can be the erase pre-processing operation bit E_PREr, when it is 1, it means that the erase pre-processing operation of at least one storage unit is allowed; when it is 0, it means that the erasing pre-processing operation of at least one storage unit is prohibited. The fourth bit can be the erasing unit control bit E_CHARGEr. When it is 1, it indicates that the erasing operation on the storage unit is allowed; when it is 0, it indicates that the erasing operation on the storage unit is prohibited. The fifth bit may be the enable bit E_ST2 of the first erasing state. When it is 1, it means that the first erasing state is allowed; when it is 0, it means that the first erasing state is prohibited. The sixth bit may be the second erasing state enable bit E_ST1, when it is 1, it means that the second erasing state is allowed; when it is 0, it means that the second erasing state is prohibited. The seventh bit may be the third erasing state enabling bit E_ST0. When it is 1, it means that the third erasing state is allowed; when it is 0, it means that the third erasing state is prohibited.

可以理解的是,基于本实施例可以实现对至少一个存储单元的擦操作。It can be understood that, based on this embodiment, an erasing operation on at least one storage unit can be implemented.

如图5所示,在其中一个实施例中,过擦除校正控制寄存器190包括过擦除校正使能操作位、过擦除校正电压启动操作位、过擦除校正准备结束操作位、过擦除校正预处理操作位、过擦除校正单位控制位、第一过擦除校正状态使能位、第二过擦除校正状态使能位以及第三过擦除校正状态使能位,过擦除校正使能操作位用于控制是否进行过擦除校正操作;过擦除校正电压启动操作位用于控制是否启动至少一个存储单元的过擦除校正电压;过擦除校正准备结束操作位用于控制是否结束至少一个存储单元的过擦除校正准备操作;过擦除校正预处理操作位用于控制是否进行至少一个存储单元的过擦除校正预处理操作;过擦除校正单位控制位用于控制是否对存储单元进行过擦除校正操作;第一过擦除校正状态使能位用于控制是否进行第一过擦除校正状态;第二过擦除校正状态使能位用于控制是否进行第二过擦除校正状态;第三过擦除校正状态使能位用于控制是否进行第三过擦除校正状态。As shown in Figure 5, in one of the embodiments, the over-erasing correction control register 190 includes an over-erasing correction enabling operation bit, an over-erasing correction voltage start operation bit, an over-erasing correction preparation end operation bit, an over-erasing correction In addition to correcting the preprocessing operation bit, over-erasing correction unit control bit, the first over-erasing correction state enabling bit, the second over-erasing correction state enabling bit, and the third over-erasing correction state enabling bit, over-erasing In addition to the correction enable operation bit is used to control whether to perform an erase correction operation; the over-erase correction voltage start operation bit is used to control whether to start the over-erase correction voltage of at least one memory cell; the over-erase correction preparation end operation bit is used It is used to control whether to end the over-erase correction preparation operation of at least one memory cell; the over-erase correction pre-processing operation bit is used to control whether to perform the over-erase correction pre-processing operation of at least one memory cell; the over-erase correction unit control bit is used It is used to control whether the memory cell has been erased and corrected; the first over-erased correction state enable bit is used to control whether the first over-erased correction state is performed; the second over-erased correction state enable bit is used to control whether The second over-erasure correction state is performed; the enable bit of the third over-erasure correction state is used to control whether to perform the third over-erasure correction state.

例如,过擦除校正控制寄存器190的容量可以至少为8bits(位),第0位可以为过擦除校正使能操作位O_RDr,当其为1时,表示允许进行至少一个存储单元的过擦除校正操作;当其为0时,表示禁止进行至少一个存储单元的过擦除校正操作。第1位可以为过擦除校正电压启动操作位O_PUMPr,当其为1时,表示允许启动至少一个存储单元的过擦除校正电压;当其为0时,表示禁止启动至少一个存储单元的过擦除校正电压。第2位可以为过擦除校正准备结束操作位O_DISCHr,当其为1时,表示允许结束至少一个存储单元的过擦除校正准备操作;当其为0时,表示禁止结束至少一个存储单元的过擦除校正准备操作。第3位可以为过擦除校正预处理操作位O_PREr,当其为1时,表示允许进行至少一个存储单元的过擦除校正预处理操作;当其为0时,表示禁止进行至少一个存储单元的过擦除校正预处理操作。第4位可以为过擦除校正单位控制位O_CHARGEr,当其为1时,表示允许对存储单元进行过擦除校正操作;当其为0时,表示禁止对存储单元进行过擦除校正操作。第5位可以为第一过擦除校正状态使能位O_ST2,当其为1时,表示允许进行第一过擦除校正状态;当其为0时,表示禁止进行第一过擦除校正状态。第6位可以为第二过擦除校正状态使能位O_ST1,当其为1时,表示允许进行第二过擦除校正状态;当其为0时,表示禁止进行第二过擦除校正状态。第7位可以为第三过擦除校正状态使能位O_ST0,当其为1时,表示允许进行第三过擦除校正状态;当其为0时,表示禁止进行第三过擦除校正状态。For example, the capacity of the over-erasing correction control register 190 can be at least 8bits (bits), and the 0th bit can enable the operation bit O_RDr for over-erasing correction, and when it is 1, it means that the over-erasing of at least one storage unit is allowed Except correction operation; when it is 0, it indicates that the over-erase correction operation of at least one memory cell is prohibited. The first bit can be the over-erasing correction voltage start operation bit O_PUMPr. When it is 1, it means that the over-erasing correction voltage of at least one memory cell is allowed to be started; Erase correction voltage. The 2nd bit can prepare the end operation bit O_DISCHr for over-erase correction, when it is 1, it means to allow the end of the over-erase correction preparation operation of at least one storage unit; when it is 0, it means to prohibit the end of at least one storage unit Prepare for operation by erasing calibration. The third bit can be the over-erasing correction pre-processing operation bit O_PREr, when it is 1, it means that the over-erasing correction pre-processing operation of at least one storage unit is allowed; when it is 0, it means that at least one storage unit is prohibited The over-erase correction preprocessing operation. The fourth bit can be the over-erasing correction unit control bit O_CHARGEr, when it is 1, it means that the over-erasing correction operation on the memory cell is allowed; when it is 0, it means that the memory cell is prohibited from performing an over-erasing correction operation. The 5th bit can be the first over-erasing correction state enable bit O_ST2, when it is 1, it means that the first over-erasing correction state is allowed; when it is 0, it means that the first over-erasing correction state is prohibited . The sixth bit can be the second over-erasing correction state enable bit O_ST1, when it is 1, it means that the second over-erasing correction state is allowed; when it is 0, it means that the second over-erasing correction state is prohibited . The 7th bit can be the third over-erasing correction state enabling bit O_ST0, when it is 1, it means that the third over-erasing correction state is allowed; when it is 0, it means that the third over-erasing correction state is prohibited .

可以理解的是,基于本实施例可以实现对至少一个存储单元的过擦除校正操作。It can be understood that, based on this embodiment, an over-erase correction operation for at least one storage unit can be implemented.

需要进行说明的是,在上述实施例中,至少一个串行接口101与高电压发生器120、行列译码器130、静态存储器140以及灵敏放大器150电性连接,以实现对至少一个串行接口101的读擦写操作。It should be noted that, in the above-mentioned embodiment, at least one serial interface 101 is electrically connected with the high voltage generator 120, the column decoder 130, the static memory 140 and the sense amplifier 150, so as to realize at least one serial interface 101 read and write operations.

其中,存储控制器100还可以包括串行接口101和数据转换模块,数据转换模块与灵敏放大器150的输出端、串行接口101以及静态存储器140电性连接。该数据转换模块用于串行数据与并行数据之间的相互转换,在控制器110的使能下,数据转换模块可以将串行接口101输入的串行数据转换为对应的并行数据,然后将该并行数据存储至静态存储器140中;数据转换模块还可以将灵敏放大器150输出的并行数据转换为对应的串行数据,然后该串行接口101将该串行数据传输至外部。基于这种设计,本方案中的存储控制器100能够兼容现有的串行外设接口,同时能够以并行的方式处理数据,使得整个过程更加高效,且不用在外设上做任何改变。Wherein, the storage controller 100 may further include a serial interface 101 and a data conversion module, and the data conversion module is electrically connected to the output terminal of the sense amplifier 150 , the serial interface 101 and the static memory 140 . The data conversion module is used for mutual conversion between serial data and parallel data. Under the enablement of the controller 110, the data conversion module can convert the serial data input by the serial interface 101 into corresponding parallel data, and then convert The parallel data is stored in the static memory 140; the data conversion module can also convert the parallel data output by the sense amplifier 150 into corresponding serial data, and then the serial interface 101 transmits the serial data to the outside. Based on this design, the storage controller 100 in this solution is compatible with existing serial peripheral interfaces, and can process data in parallel, making the whole process more efficient without making any changes to the peripherals.

其中,数据转换模块可以但不限于设置于控制器110中,如此可以减少存储控制器100的占用面积。数据转换模块也可以设置于加速模块191中,如此可以提高串并转换速度或者效率。Wherein, the data conversion module can be, but not limited to, disposed in the controller 110 , so that the occupied area of the storage controller 100 can be reduced. The data conversion module can also be set in the acceleration module 191, so that the serial-to-parallel conversion speed or efficiency can be improved.

其中,该串行接口101可以为串行外设接口(SPI,Serial PeripheralInterface),该串行外设接口是一种高速、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,可以节约芯片的管脚;该串行接口101也可以为IIC(Inter-IntegratedCircuit Bus,集成电路总线)接口。该串行接口101可以采用自定义的通信协议,也可以采用标准的通信协议,在此不作具体限制。Wherein, the serial interface 101 can be a serial peripheral interface (SPI, Serial Peripheral Interface), which is a high-speed, full-duplex, synchronous communication bus, and occupies only Four wires can save chip pins; the serial interface 101 can also be an IIC (Inter-Integrated Circuit Bus, integrated circuit bus) interface. The serial interface 101 may adopt a self-defined communication protocol or a standard communication protocol, which is not specifically limited here.

其中,用户指令可以包括读操作指令、写操作指令以及擦操作指令。读操作指令可以包括读命令代码和读地址代码。写操作指令包括写命令代码、写地址代码以及待写入数据。擦操作指令包括擦命令代码和擦地址代码。Wherein, the user instruction may include a read operation instruction, a write operation instruction and an erase operation instruction. The read operation instruction may include a read command code and a read address code. The write operation instruction includes a write command code, a write address code and data to be written. Erase operation instructions include erase command codes and erase address codes.

读命令代码、写命令代码以及擦命令代码均可以但不限于为8bits,读地址代码、写地址代码以及擦地址代码均可以但不限于为32bits,待写入数据可以但不限于为一个或者多个字节。The read command code, write command code and wipe command code can be but not limited to 8bits, the read address code, write address code and wipe address code can be but not limited to 32bits, and the data to be written can be but not limited to one or more bytes.

其中,控制器110还可以包括自定义指令集和编译器,该自定义指令集可以包括无条件跳转指令、有条件跳转指令、置位指令、清零指令以及等待指令,置位指令可以用于置位寄存器的一个或者多个位,清零指令可以用于清零寄存器的一个或者多个位。可以理解的是,上述的主程序、写算法子程序S20、擦算法子程序S30以及读算法子程序S10均可以基于该自定义指令集实现。同时,编译器可以将各种类型指令转化为对应的机器码,例如,可以将汇编指令转化为控制器110可以识别的机器码,以调用上述的主程序、写算法子程序S20、擦算法子程序S30以及读算法子程序S10。Wherein, the controller 110 can also include a custom instruction set and a compiler, and the custom instruction set can include an unconditional jump instruction, a conditional jump instruction, a set instruction, a clear instruction, and a wait instruction, and the set instruction can be used To set one or more bits of a register, clear instructions can be used to clear one or more bits of a register. It can be understood that the above-mentioned main program, write algorithm subroutine S20 , erase algorithm subroutine S30 and read algorithm subroutine S10 can all be realized based on the self-defined instruction set. At the same time, the compiler can convert various types of instructions into corresponding machine codes. For example, assembly instructions can be converted into machine codes that can be recognized by the controller 110 to call the above-mentioned main program, write algorithm subroutine S20, erase algorithm Program S30 and the reading algorithm subroutine S10.

其中,控制器110具体可以为微控制芯片,也可以为中央处理芯片,还可以为数字处理芯片、现成可编程逻辑阵列、现成可编程逻辑器件等等中的任一个。Wherein, the controller 110 may specifically be a micro-control chip, a central processing chip, or any one of a digital processing chip, an off-the-shelf programmable logic array, an off-the-shelf programmable logic device, and the like.

如图1至图7所示,在其中一个实施例中,响应于读操作指令,控制器110基于读算法子程序S10通过读控制寄存器160使能高电压发生器120生成对应的读电压、使能行列译码器130生成对应的读单元地址以及使能灵敏放大器150读出读单元地址中存储的数据。As shown in FIGS. 1 to 7 , in one embodiment, in response to the read operation instruction, the controller 110 enables the high voltage generator 120 to generate the corresponding read voltage by reading the control register 160 based on the read algorithm subroutine S10, enabling the The row-column decoder 130 can generate the corresponding read unit address and the sense amplifier 150 can be enabled to read the data stored in the read unit address.

具体地,响应于读命令代码,控制器110基于读算法子程序S10通过读控制寄存器160使能高电压发生器120生成对应的读电压;响应于读地址代码,控制器110基于读算法子程序S10通过读控制寄存器160使能行列译码器130生成对应的读单元地址;在读电压的供给下,控制器110基于读算法子程序S10通过读控制寄存器160使能灵敏放大器150读出读单元地址中存储的数据。Specifically, in response to the read command code, the controller 110 enables the high voltage generator 120 to generate a corresponding read voltage based on the read algorithm subroutine S10 through the read control register 160; in response to the read address code, the controller 110 generates the corresponding read voltage based on the read algorithm subroutine S10 enables the row and column decoder 130 to generate the corresponding read unit address by reading the control register 160; under the supply of the read voltage, the controller 110 enables the sense amplifier 150 to read the read unit address based on the read algorithm subroutine S10 by reading the control register 160 data stored in .

例如,如图7所示,上述读算法子程序S10的工作过程可以为:串行接口101接到读操作指令,然后开始读操作过程:然后选择对应地址的存储单元,通过转移类指令切换到存储单元的读操作;然后进行数据处理,即通过对应指令调整读控制寄存器160的对应位值,进而使能灵敏放大器150读取存储单元中的数据至控制器110;在控制器110的对应指令控制下,完成并行数据转换为串行数据,并经串行接口101输出至外部。For example, as shown in Figure 7, the working process of the above-mentioned read algorithm subroutine S10 can be: the serial interface 101 receives the read operation instruction, and then starts the read operation process: then select the storage unit of the corresponding address, switch to The read operation of the storage unit; then perform data processing, that is, adjust the corresponding bit value of the read control register 160 through the corresponding instruction, and then enable the sense amplifier 150 to read the data in the storage unit to the controller 110; the corresponding instruction in the controller 110 Under the control, the parallel data is converted into serial data, and output to the outside through the serial interface 101 .

如图1、图6以及图8所示,在其中一个实施例中,响应于写操作指令,控制器110基于写算法子程序S20通过写控制寄存器170使能静态存储器140存储待写入数据、使能高电压发生器120生成对应的写电压、使能行列译码器130生成对应的写单元地址,以转存静态存储器140中的待写入数据至对应的串行接口101。As shown in FIG. 1, FIG. 6 and FIG. 8, in one embodiment, in response to the write operation instruction, the controller 110 enables the static memory 140 to store the data to be written through the write control register 170 based on the write algorithm subroutine S20, The high voltage generator 120 is enabled to generate the corresponding write voltage, and the row and column decoder 130 is enabled to generate the corresponding write unit address, so as to transfer the data to be written in the static memory 140 to the corresponding serial interface 101 .

具体地,响应于写命令代码,控制器110基于写算法子程序S20通过写控制寄存器170使能静态存储器140存储待写入数据和使能高电压发生器120生成对应的写电压;响应于写地址代码,控制器110基于写算法子程序S20通过写控制寄存器170使能行列译码器130生成对应的写单元地址。Specifically, in response to the write command code, the controller 110 enables the static memory 140 to store data to be written and enables the high voltage generator 120 to generate corresponding write voltages through the write control register 170 based on the write algorithm subroutine S20; For the address code, the controller 110 enables the row and column decoder 130 to generate the corresponding write unit address through the write control register 170 based on the write algorithm subroutine S20 .

例如,如图8所示,上述写算法子程序S20的工作过程可以为:串行接口101接收到写操作指令,开始写操作过程:准备数据即准备和启动写电压;根据待写入数据与存储单元中的数据进行比较,得到比较结果;若比较结果为存储单元中已存储待写入数据,则本次写操作结束。若存储单元中未存储待写入数据,则启动和准备写电压,通过多条指令调整写控制寄存器170的对应位值,以控制高电压发生器120启动电荷泵以准备高压;通过多条指令调整写控制寄存器170的对应位值,写入第一个单元;再次启动和准备写电压,通过多条指令调整写控制寄存器170的对应位值,以控制高电压发生器120启动电荷泵以准备高压;通过多条指令调整写控制寄存器170的对应位值,写入第二个单元;然后更换写单元地址,通过指令切换至下个存储单元进行写操作。For example, as shown in FIG. 8, the working process of the above-mentioned write algorithm subroutine S20 can be: the serial interface 101 receives the write operation command, and starts the write operation process: preparing data means preparing and starting the write voltage; The data in the storage unit is compared to obtain a comparison result; if the comparison result is that the data to be written has been stored in the storage unit, the writing operation ends. If the data to be written is not stored in the storage unit, then start and prepare the write voltage, and adjust the corresponding bit value of the write control register 170 by multiple instructions to control the high voltage generator 120 to start the charge pump to prepare for high voltage; Adjust the corresponding bit value of the write control register 170, write the first unit; start and prepare the write voltage again, adjust the corresponding bit value of the write control register 170 through multiple instructions, to control the high voltage generator 120 to start the charge pump to prepare High voltage; adjust the corresponding bit value of the write control register 170 through multiple instructions, and write to the second unit; then change the address of the write unit, and switch to the next storage unit for write operation through instructions.

可以理解的是,当本次写操作过程结束后,控制器110进入等待状态,直至串行接口101收到下一个写操作指令。It can be understood that, after the current write operation process ends, the controller 110 enters a waiting state until the serial interface 101 receives the next write operation instruction.

需要进行说明的是,一个写单元地址可以对应一个或者多个单元,例如,一个写单元地址可以对应第一个单元或者第二单元,或者,一个写单元地址也可以同时对应第一个单元和第二单元。其中,第一单元或者第二单元的存储空间可以为一个比特位或者多个比特位,例如,可以为16bits、32bits、64bits等等,可以依次类推。It should be noted that a write unit address can correspond to one or more units, for example, a write unit address can correspond to the first unit or the second unit, or a write unit address can also correspond to the first unit and the second unit at the same time. Second unit. Wherein, the storage space of the first unit or the second unit may be one bit or multiple bits, for example, it may be 16 bits, 32 bits, 64 bits, etc., and so on.

如图1、图6以及图9所示,在其中一个实施例中,响应于擦操作指令,控制器110基于擦算法子程序S30通过擦控制寄存器180使能高电压发生器120生成对应的擦电压、使能行列译码器130生成对应的擦单元地址,以擦除擦单元地址对应的串行接口101。As shown in Fig. 1, Fig. 6 and Fig. 9, in one of the embodiments, in response to the wiping operation command, the controller 110 enables the high voltage generator 120 to generate the corresponding wiping control register 180 through the wiping control register 180 based on the wiping algorithm subroutine S30. The voltage enables the row-column decoder 130 to generate a corresponding erase unit address to erase the serial interface 101 corresponding to the erase unit address.

具体地,响应于擦命令代码,控制器110基于擦算法子程序S30通过擦控制寄存器180使能高电压发生器120生成对应的擦电压;响应于擦地址代码,控制器110基于擦算法子程序S30通过擦控制寄存器180使能行列译码器130生成对应的擦单元地址。Specifically, in response to the wipe command code, the controller 110 enables the high voltage generator 120 to generate a corresponding wipe voltage through the wipe control register 180 based on the wipe algorithm subroutine S30; in response to the wipe address code, the controller 110 generates the corresponding wipe voltage based on the wipe algorithm subroutine S30 enables the row-column decoder 130 to generate a corresponding erase unit address through the erase control register 180 .

例如,如图9所示,上述擦算法子程序S30的工作过程可以为:串行接口101接收到擦操作指令,然后开始擦操作过程:首先,通过多条指令调整写控制寄存器170的对应位值,实现对存储单元的编程操作;然后通过多条指令调整擦控制寄存器180的对应位值,实现对存储单元的擦操作;可选的,最后基于过擦除校正子程序S31并通过多条指令调整过擦除校正控制寄存器190的对应位值,实现对存储单元的过擦除校正操作。For example, as shown in Figure 9, the working process of the above-mentioned erasing algorithm subroutine S30 can be: the serial interface 101 receives the erasing operation instruction, and then starts the erasing operation process: first, adjust the corresponding bit of the write control register 170 by multiple instructions value, to realize the programming operation of the memory cell; then adjust the corresponding bit value of the erase control register 180 through multiple instructions to realize the erase operation of the memory cell; The instruction adjusts the corresponding bit value of the over-erasure correction control register 190 to implement the over-erasure correction operation on the storage unit.

需要进行说明的是,在本次擦操作过程结束后,控制器110可以进入等待状态,直至串行接口101接收到下一次擦操作指令。It should be noted that, after the current erasing operation process ends, the controller 110 may enter a waiting state until the serial interface 101 receives the next erasing operation instruction.

其中,过擦除校正子程序S31的工作过程可以为如图10所示,具体如下:Wherein, the working process of the over-erasing correction subroutine S31 can be as shown in Figure 10, specifically as follows:

首先,开始过擦除校正过程;然后设置过擦除校正的开始地址;然后通过指令或者程序对开始地址对应的存储单元进行过擦除校正的验证操作,并得到验证操作结果,然后通过指令完成验证操作结果的比较;若验证操作结果是未发生过擦除,则通过指令跳转至下一个地址,并判断该下一个地址是否为最后一个地址,若是,则结束本次过擦除校正过程;若不是,则增加地址,并比较增加地址后对应的验证操作结果,依次循环,直接增加到最后一个地址。若验证操作结果为发生过擦除,则通过多条指令调整过擦除校正控制寄存器190的对应位值,以编程对应的存储位,例如,可以依次对0至31位进行编程、对32至63位进行编程、对64至95位进行编程以及对96至127位进行编程等等,然后对0至127位这些进行放电,然后通过指令跳转至比较步骤。First, start the over-erasure correction process; then set the start address of the over-erasure correction; then perform an over-erasure correction verification operation on the storage unit corresponding to the start address through instructions or programs, and obtain the verification operation result, and then complete through the instruction The comparison of the verification operation results; if the verification operation result is that no erasure has occurred, jump to the next address through the instruction, and judge whether the next address is the last address, and if so, end the over-erasure correction process ; If not, increase the address, and compare the corresponding verification operation results after adding the address, loop in turn, and directly increase to the last address. If the result of the verification operation is that over-erasing has occurred, adjust the corresponding bit value of the over-erased correction control register 190 through multiple instructions to program the corresponding storage bit. For example, bits 0 to 31 can be programmed sequentially, bits 32 to Program 63 bits, program 64 to 95 bits, and program 96 to 127 bits, etc., then discharge 0 to 127 bits these, and then jump to the compare step with the instruction.

表1-1Table 1-1

opcode(6bit)opcode(6bit) instruction address(8bit)instruction address(8bit) opcode(6bit)opcode(6bit) bit-register(8bit)bit-register(8bit)

表1-2Table 1-2

Figure BDA0003421774210000131
Figure BDA0003421774210000131

表1-3Table 1-3

Figure BDA0003421774210000132
Figure BDA0003421774210000132

Figure BDA0003421774210000141
Figure BDA0003421774210000141

在其中一个实施例中,上述指令集包括转移类指令和位操作类指令,其中,转移类指令可以为控制程序转移类指令,其可以包括无条件转移类指令和有条件转移类指令。位操作类指令可以包括置位指令和清零指令,置位指令可以用于置位寄存器的一个或者多个位,清零指令可以用于清零寄存器的一个或者多个位。如此可以为清零或者置位各寄存器中对应位上的码值。当转移类指令和/或位操作类指令相互之间执行存在时间间隔时,上述指令集可以适当配置等待指令,该等待指令用于执行等待操作,以过渡上述时间间隔。可以理解的是,该等待指令并非是必要的。In one embodiment, the above instruction set includes transfer instructions and bit manipulation instructions, wherein the transfer instructions may be control program transfer instructions, which may include unconditional transfer instructions and conditional transfer instructions. The bit operation instructions may include a set instruction and a clear instruction, the set instruction may be used to set one or more bits of the register, and the zero clear instruction may be used to clear one or more bits of the register. In this way, the code value on the corresponding bit in each register can be cleared or set. When there is a time interval between the execution of the transfer instruction and/or the bit operation instruction, the above-mentioned instruction set may properly configure a waiting instruction, and the waiting instruction is used to perform a waiting operation to bridge the above-mentioned time interval. Understandably, the waiting instruction is not necessary.

具体地,如下所示的表1-1中,“opcode(6bit)”用于表示控制程序转移类指令或者位操作类指令中6个比特位的操作码,“instruction address(8bit)”用于表示控制程序转移类指令中8个比特位的指示地址,“bit-register(8bit)”用于表示8个比特位的寄存器位选择数据。Specifically, in Table 1-1 as shown below, "opcode(6bit)" is used to indicate the 6-bit operation code in the control program transfer instruction or bit operation instruction, and "instruction address(8bit)" is used for Indicates the 8-bit instruction address in the control program transfer instruction, and "bit-register(8bit)" is used to indicate the 8-bit register bit selection data.

其中,如表1-2和表1-3所示,表1-1中6个比特位的操作码还可以分为3个比特位的主操作码“opcode 3bit”和3个比特位的子操作码“sub-opcode 3bit”。表1-2中的“flagregister bit”可以具体表示为表1-3中第二列中第三行至第十行对应的三个组合比特位,其依次对应不同的条件跳变指令。表1-2中第四行的“控制寄存器的地址”可以具体表示为表1-3中第二列中第十一行至第十四行对应的三个组合比特位,每个组合比特位可以确定一个寄存器的位,然后通过主操作码对该位进行置位。表1-2中第五行的“控制寄存器的地址”可以具体表示为表1-3中第二列中第十五行至第十八行对应的三个组合比特位,每个组合比特位可以确定一个寄存器的位,然后通过主操作码对该位进行清零。如此即可以通过表1-2或者表1-3所示的自定义指令集操作各寄存器的位值,进而通过硬件逻辑电路实现存储单元的读擦写操作,也可以通过软件算法的方式实现存储单元的读擦写操作,也为后续存储器功能的开发提供了便利性和可能性。Among them, as shown in Table 1-2 and Table 1-3, the 6-bit opcode in Table 1-1 can also be divided into the 3-bit main opcode "opcode 3bit" and the 3-bit sub-opcode Opcode "sub-opcode 3bit". The "flagregister bit" in Table 1-2 can be specifically expressed as three combined bits corresponding to the third row to the tenth row in the second column of Table 1-3, which in turn correspond to different conditional jump instructions. The "address of the control register" in the fourth row in Table 1-2 can be specifically expressed as three combined bits corresponding to the eleventh to fourteenth rows in the second column in Table 1-3, and each combined bit A bit of a register can be identified and then set by the major opcode. The "address of the control register" in the fifth row in Table 1-2 can be specifically expressed as three combined bits corresponding to the fifteenth to eighteenth rows in the second column in Table 1-3, and each combined bit can be determined bit of a register, which is then cleared by the major opcode. In this way, the bit value of each register can be manipulated through the custom instruction set shown in Table 1-2 or Table 1-3, and then the read/write operation of the storage unit can be realized through the hardware logic circuit, and the storage can also be realized through the software algorithm. The read/write operation of the unit also provides convenience and possibility for the development of subsequent memory functions.

由于本专利仅采用四个控制寄存器即可对后续读、写、擦、过擦除校正操作进行控制,简化了硬件结构,同时配合这四个控制寄存器采用了简化的指令集,仅包含转移类和位操作类指令,且控制程序转移类指令或者位操作类指令仅采用6个比特位的操作码即可指示存储器的主要操作,也减轻了程序运行压力。Since this patent only uses four control registers to control the subsequent read, write, erase, and over-erase correction operations, the hardware structure is simplified. At the same time, a simplified instruction set is used in conjunction with these four control registers. And bit operation instructions, and control program transfer instructions or bit operation instructions only use 6-bit opcodes to indicate the main operation of the memory, and also reduce the pressure on program operation.

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。In the foregoing embodiments, the descriptions of each embodiment have their own emphases, and for parts not described in detail in a certain embodiment, reference may be made to relevant descriptions of other embodiments.

以上对本发明实施例所提供的存储控制器及闪存芯片进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。The storage controller and the flash memory chip provided by the embodiment of the present invention have been introduced in detail above. The principles and implementation methods of the present invention have been explained by using specific examples in this paper. The description of the above embodiments is only used to help understand the present invention. Technical solutions and their core ideas; those skilled in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not The essence of the corresponding technical solutions deviates from the scope of the technical solutions of the embodiments of the present invention.

Claims (15)

1. A memory controller, comprising:
a controller for executing at least one of a main program, a writing algorithm subroutine, an erasing algorithm subroutine, and a reading algorithm subroutine set based on an instruction set in response to a user instruction to generate corresponding execution data;
the control register set is electrically connected with the controller and used for generating corresponding enabling data according to the execution data; and
and the execution circuit is electrically connected with the control register set and used for controlling the read-write operation of the storage unit according to the enabling data.
2. The memory controller of claim 1, wherein the execution circuit comprises:
the high voltage generator is electrically connected with the control register set and used for generating corresponding operation voltages;
the row-column decoder is electrically connected with the control register set and used for generating a corresponding operation address;
the static memory is electrically connected with the controller and the control register set and is used for storing data to be written; and
and the sense amplifier is electrically connected with the control register set and used for reading out the data in the memory unit.
3. The memory controller of claim 2, wherein the control register set comprises:
The read control register is electrically connected with the high voltage generator, the row-column decoder and the sense amplifier and is used for enabling the high voltage generator, the row-column decoder and the sense amplifier to execute the read operation of the memory unit;
the write control register is electrically connected with the high voltage generator, the row-column decoder and the static memory and is used for enabling the high voltage generator, the row-column decoder and the static memory to execute write operation of a storage unit; and
and the erasing control register is electrically connected with the high voltage generator and the row-column decoder and is used for enabling the high voltage generator and the row-column decoder to execute the erasing operation of the memory unit.
4. The memory controller of claim 3, wherein the set of control registers includes an over-erase correction control register electrically coupled to the controller, the over-erase correction control register to control over-erase correction operations of the at least one memory cell.
5. The memory controller of claim 1, wherein the instruction set includes a branch class instruction and a bit operation class instruction, each of the branch class instructions including a 6 bit opcode and an 8 bit instruction address; each of the bit operation class instructions includes a 6 bit opcode and 8 bit register bit select data.
6. The memory controller of claim 5, wherein the 6-bit opcode comprises a 3-bit main opcode and a 3-bit sub opcode.
7. The memory controller of claim 3, wherein the user instruction comprises a read operation instruction;
in response to the read operation instruction, the controller enables the high voltage generator to generate a corresponding read voltage through the read control register, enables the row-column decoder to generate a corresponding read unit address, and enables the sense amplifier to read out data stored in the read unit address based on the read algorithm subroutine.
8. The memory controller of claim 7, wherein the read operation instruction comprises a read command code and a read address code;
in response to the read command code, the controller enables the high voltage generator to generate a corresponding read voltage through the read control register based on the read algorithm subroutine;
in response to the read address code, the controller enables the rank decoder to generate a corresponding read cell address through the read control register based on the read algorithm subroutine;
The controller enables the sense amplifier to read out data stored in the read cell address through the read control register based on the read algorithm subroutine under the supply of the read voltage.
9. The memory controller of claim 2, further comprising a serial interface and a data conversion module, wherein the data conversion module is electrically connected to the output end of the sense amplifier and the serial interface, and the controller enables the data conversion module to convert parallel data output by the sense amplifier into corresponding serial data and output the serial data to the outside through the serial interface.
10. The memory controller of claim 3, wherein the user instruction comprises a write operation instruction;
in response to the write operation instruction, the controller enables the static memory to store data to be written through the write control register based on the write algorithm subroutine, enables the high voltage generator to generate corresponding write voltages, and enables the row-column decoder to generate corresponding write unit addresses so as to transfer the data to be written in the static memory to corresponding storage units.
11. The memory controller of claim 10, wherein the write operation instruction includes a write command code, a write address code, and the data to be written;
in response to the write command code, the controller enables the static memory to store data to be written and enables the high voltage generator to generate a corresponding write voltage through the write control register based on the write algorithm subroutine;
in response to the write address code, the controller enables the row and column decoder to generate a corresponding write unit address via the write control register based on the write algorithm subroutine.
12. The memory controller of claim 3, wherein the user instruction comprises a wipe operation instruction;
in response to the erase operation instruction, the controller enables the high voltage generator to generate a corresponding erase voltage through the erase control register based on the erase algorithm subroutine, and enables the row-column decoder to generate a corresponding erase unit address so as to erase a memory cell corresponding to the erase unit address.
13. The memory controller of claim 12, wherein the erase operation instruction includes an erase command code and an erase address code;
In response to the wipe command code, the controller enables the high voltage generator to generate a corresponding wipe voltage through the wipe control register based on the wipe algorithm subroutine;
in response to the erase address code, the controller enables the row and column decoder to generate a corresponding erase unit address through the erase control register based on the erase algorithm subroutine.
14. The memory controller of claim 4, wherein the erase algorithm subroutine further comprises an over-erase correction subroutine, the controller executing the over-erase correction subroutine on erased memory cells through the over-erase correction control register based on the erase algorithm subroutine in response to the erase operation instruction.
15. A flash memory chip, comprising:
the memory controller of any one of claims 1 to 14; and
and the at least one storage unit is electrically connected with the execution circuit.
CN202111565060.4A 2021-12-20 2021-12-20 Storage controller and flash memory chip Pending CN116301564A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111565060.4A CN116301564A (en) 2021-12-20 2021-12-20 Storage controller and flash memory chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111565060.4A CN116301564A (en) 2021-12-20 2021-12-20 Storage controller and flash memory chip

Publications (1)

Publication Number Publication Date
CN116301564A true CN116301564A (en) 2023-06-23

Family

ID=86780230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111565060.4A Pending CN116301564A (en) 2021-12-20 2021-12-20 Storage controller and flash memory chip

Country Status (1)

Country Link
CN (1) CN116301564A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990058730A (en) * 1997-12-30 1999-07-15 구본준 Flash Memory Lead / Write Controller
US20040027886A1 (en) * 2002-08-08 2004-02-12 Fujitsu Limited Flash memory with shortened erasing operation time
CN1869915A (en) * 2005-05-24 2006-11-29 三星电子株式会社 Memory card providing hardware acceleration for read operations
CN103700396A (en) * 2013-12-03 2014-04-02 中国航天科技集团公司第九研究院第七七一研究所 SRAM (static random access memory)-oriented anti-SEU (single-event upset) error accumulation controller and method
CN105389134A (en) * 2015-12-11 2016-03-09 华中科技大学 Flash memory interface control method and apparatus
CN107993687A (en) * 2018-01-12 2018-05-04 成都信息工程大学 A kind of memory circuitry
US20190243571A1 (en) * 2019-04-12 2019-08-08 Intel Corporation Apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990058730A (en) * 1997-12-30 1999-07-15 구본준 Flash Memory Lead / Write Controller
US20040027886A1 (en) * 2002-08-08 2004-02-12 Fujitsu Limited Flash memory with shortened erasing operation time
CN1869915A (en) * 2005-05-24 2006-11-29 三星电子株式会社 Memory card providing hardware acceleration for read operations
CN103700396A (en) * 2013-12-03 2014-04-02 中国航天科技集团公司第九研究院第七七一研究所 SRAM (static random access memory)-oriented anti-SEU (single-event upset) error accumulation controller and method
CN105389134A (en) * 2015-12-11 2016-03-09 华中科技大学 Flash memory interface control method and apparatus
CN107993687A (en) * 2018-01-12 2018-05-04 成都信息工程大学 A kind of memory circuitry
US20190243571A1 (en) * 2019-04-12 2019-08-08 Intel Corporation Apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator

Similar Documents

Publication Publication Date Title
KR100774598B1 (en) Initializing a Computer System With Boot Code Stored in Sequential Access Memory
EP2428896A1 (en) Nonvolatile memory system, and data read/write method for nonvolatile memory system
EP2301034B1 (en) Fast, low-power reading of data in a flash memory
US20080028131A1 (en) Nonvolatile memory system, and data read/write method for nonvolatile memory system
CN109859780B (en) Semiconductor memory
EP3891594B1 (en) Memory control system with a sequence processing unit
US8489843B2 (en) Configurable memory device
JP4034971B2 (en) Memory controller and memory system device
US8456917B1 (en) Logic circuit for a semiconductor memory device, and method of managing an operation in the semiconductor memory device
CN1237253A (en) Programmable nonvolatile memory device and microcomputer using same
CN103136111A (en) Data writing method, memory controller and memory storage device
TWI587302B (en) Memory programming methods and memory devices
CN116301564A (en) Storage controller and flash memory chip
US20190073300A1 (en) Nested wrap-around memory access
US8085593B2 (en) Method of inputting address in nonvolatile memory device and method of operating the nonvolatile memory device
TWI529721B (en) Memory storage device, memory control circuit unit and power supply method
WO2007116476A1 (en) Memory card and data write method
CN116301563B (en) Memory controller and memory chip
CN109522236B (en) Memory management method, memory control circuit unit and memory storage device
JP7569891B1 (en) Semiconductor device and method for operating the same
JP4661748B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
KR20100059666A (en) Nonvolatile memory device
CN116312703A (en) Storage controller and flash memory chip
CN118747067A (en) A method to improve FLASH programming efficiency
TWI621944B (en) Method and apparatus for executing access operation

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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 430205 No.18, Gaoxin 4th Road, Donghu Development Zone, Wuhan City, Hubei Province

Applicant after: Wuhan Xinxin Integrated Circuit Co.,Ltd.

Address before: 430205 No.18, Gaoxin 4th Road, Donghu Development Zone, Wuhan City, Hubei Province

Applicant before: Wuhan Xinxin Semiconductor Manufacturing Co.,Ltd.

Country or region before: China