CN116301564A - Storage controller and flash memory chip - Google Patents
Storage controller and flash memory chip Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
Description
技术领域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
如图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
所述执行数据可以是逻辑数据或控制时序,此处不限定执行数据的数据类型。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
其中,执行电路192包括高电压发生器120、行列译码器130、静态存储器140以及灵敏放大器150,高电压发生器120与控制寄存器组191电性连接,用于生成对应的操作电压;行列译码器130与控制寄存器组191电性连接,用于生成对应的操作地址;静态存储器140与控制器110、控制寄存器组191电性连接,用于存储待写入数据;灵敏放大器150与控制寄存器组191电性连接,用于读出存储单元中的数据。Wherein, the
在其中一个实施例中,控制寄存器组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
如图2所示,在其中一个实施例中,读控制寄存器160包括读使能操作位、读电压启动操作位、读准备结束操作位、读预处理操作位以及读单位控制位,读使能操作位用于控制是否进行读操作;读电压启动操作位用于控制是否启动至少一个存储单元的读电压;读准备结束操作位用于控制是否结束至少一个存储单元的读准备操作;读预处理操作位用于控制是否进行至少一个存储单元的读预处理操作;读单位控制位用于控制是否对存储单元进行读操作。As shown in Figure 2, in one of the embodiments, the
例如,读控制寄存器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
可以理解的是,基于本实施例可以实现对至少一个存储单元的读操作。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
例如,写控制寄存器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
其中,存储控制器100还可以包括串行接口101和数据转换模块,数据转换模块与灵敏放大器150的输出端、串行接口101以及静态存储器140电性连接。该数据转换模块用于串行数据与并行数据之间的相互转换,在控制器110的使能下,数据转换模块可以将串行接口101输入的串行数据转换为对应的并行数据,然后将该并行数据存储至静态存储器140中;数据转换模块还可以将灵敏放大器150输出的并行数据转换为对应的串行数据,然后该串行接口101将该串行数据传输至外部。基于这种设计,本方案中的存储控制器100能够兼容现有的串行外设接口,同时能够以并行的方式处理数据,使得整个过程更加高效,且不用在外设上做任何改变。Wherein, the
其中,数据转换模块可以但不限于设置于控制器110中,如此可以减少存储控制器100的占用面积。数据转换模块也可以设置于加速模块191中,如此可以提高串并转换速度或者效率。Wherein, the data conversion module can be, but not limited to, disposed in the
其中,该串行接口101可以为串行外设接口(SPI,Serial PeripheralInterface),该串行外设接口是一种高速、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,可以节约芯片的管脚;该串行接口101也可以为IIC(Inter-IntegratedCircuit Bus,集成电路总线)接口。该串行接口101可以采用自定义的通信协议,也可以采用标准的通信协议,在此不作具体限制。Wherein, the
其中,用户指令可以包括读操作指令、写操作指令以及擦操作指令。读操作指令可以包括读命令代码和读地址代码。写操作指令包括写命令代码、写地址代码以及待写入数据。擦操作指令包括擦命令代码和擦地址代码。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
其中,控制器110具体可以为微控制芯片,也可以为中央处理芯片,还可以为数字处理芯片、现成可编程逻辑阵列、现成可编程逻辑器件等等中的任一个。Wherein, the
如图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
具体地,响应于读命令代码,控制器110基于读算法子程序S10通过读控制寄存器160使能高电压发生器120生成对应的读电压;响应于读地址代码,控制器110基于读算法子程序S10通过读控制寄存器160使能行列译码器130生成对应的读单元地址;在读电压的供给下,控制器110基于读算法子程序S10通过读控制寄存器160使能灵敏放大器150读出读单元地址中存储的数据。Specifically, in response to the read command code, the
例如,如图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
如图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
具体地,响应于写命令代码,控制器110基于写算法子程序S20通过写控制寄存器170使能静态存储器140存储待写入数据和使能高电压发生器120生成对应的写电压;响应于写地址代码,控制器110基于写算法子程序S20通过写控制寄存器170使能行列译码器130生成对应的写单元地址。Specifically, in response to the write command code, the
例如,如图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
可以理解的是,当本次写操作过程结束后,控制器110进入等待状态,直至串行接口101收到下一个写操作指令。It can be understood that, after the current write operation process ends, the
需要进行说明的是,一个写单元地址可以对应一个或者多个单元,例如,一个写单元地址可以对应第一个单元或者第二单元,或者,一个写单元地址也可以同时对应第一个单元和第二单元。其中,第一单元或者第二单元的存储空间可以为一个比特位或者多个比特位,例如,可以为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
具体地,响应于擦命令代码,控制器110基于擦算法子程序S30通过擦控制寄存器180使能高电压发生器120生成对应的擦电压;响应于擦地址代码,控制器110基于擦算法子程序S30通过擦控制寄存器180使能行列译码器130生成对应的擦单元地址。Specifically, in response to the wipe command code, the
例如,如图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
需要进行说明的是,在本次擦操作过程结束后,控制器110可以进入等待状态,直至串行接口101接收到下一次擦操作指令。It should be noted that, after the current erasing operation process ends, the
其中,过擦除校正子程序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
表1-1Table 1-1
表1-2Table 1-2
表1-3Table 1-3
在其中一个实施例中,上述指令集包括转移类指令和位操作类指令,其中,转移类指令可以为控制程序转移类指令,其可以包括无条件转移类指令和有条件转移类指令。位操作类指令可以包括置位指令和清零指令,置位指令可以用于置位寄存器的一个或者多个位,清零指令可以用于清零寄存器的一个或者多个位。如此可以为清零或者置位各寄存器中对应位上的码值。当转移类指令和/或位操作类指令相互之间执行存在时间间隔时,上述指令集可以适当配置等待指令,该等待指令用于执行等待操作,以过渡上述时间间隔。可以理解的是,该等待指令并非是必要的。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)
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)
| 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 |
-
2021
- 2021-12-20 CN CN202111565060.4A patent/CN116301564A/en active Pending
Patent Citations (7)
| 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 |