CN115509442A - 闪存颗粒调试方法、闪存颗粒调试设备和可读存储介质 - Google Patents
闪存颗粒调试方法、闪存颗粒调试设备和可读存储介质 Download PDFInfo
- Publication number
- CN115509442A CN115509442A CN202211031396.7A CN202211031396A CN115509442A CN 115509442 A CN115509442 A CN 115509442A CN 202211031396 A CN202211031396 A CN 202211031396A CN 115509442 A CN115509442 A CN 115509442A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- virtual
- granule
- debugging
- particle
- 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; CALCULATING OR 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
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
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)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种闪存颗粒调试方法、闪存颗粒调试设备以及可读存储介质,该方法包括:在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒;在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行内存和/或硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系。解决了相关技术中需要实际的NAND闪存颗粒后才能进行调试的技术问题,进而实现了不需要成品闪存颗粒的情况下完成调试闪存颗粒。
Description
技术领域
本申请涉及快速存储介质领域,尤其涉及一种闪存颗粒调试方法、闪存颗粒调试设备和计算机可读存储介质。
背景技术
存储器包括MCU(Microcontroller Unit,微控制单元)和NAND颗粒。MCU中保存有控制程序,用于控制存储器完成相应的存储动作。NAND广泛应用在各种存储卡,U盘,SSD,eMMC等大容量设备中。它的颗粒根据每个存储单元内存储比特个数的不同,可以分为SLC(Single-Level Cell,单层单元)、MLC(Multi-Level Cell,多层单元)和TLC(Triple-LevelCell,三层单元)三类。其中,在一个存储单元中,SLC可以存储1个比特,MLC可以存储2个比特,TLC则可以存储3个比特。
在相关技术中,存储器生产厂商从闪存颗粒生产厂商处购买NAND颗粒,再进一步生产出存储器。为了对控制程序进行调试,需要使用NAND颗粒。
但是存在的技术问题是:NAND新颗粒发布之初,只能获取到闪存颗粒的性能参数,而无成品,这样极大的影响了存储器生产厂商新产品的研发进度。
发明内容
本申请实施例通过提供一种闪存颗粒调试方法、闪存颗粒调试设备及计算机可读存储介质,解决了相关技术中“NAND新颗粒发布之初,只能获取到闪存颗粒的性能参数,而无成品,这样极大的影响了存储器生产厂商新产品的研发进度”这一技术问题,实现了不需要成品闪存颗粒即可完成闪存颗粒调试的技术效果。
本申请实施例提供了一种闪存颗粒调试方法,应用于闪存颗粒调试系统,所述闪存颗粒调试系统包括虚拟闪存颗粒以及虚拟微控制单元,所述闪存颗粒调试方法包括:
在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒;
在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行内存和/或硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系。
可选的,当所述测试指令为写入指令时,所述在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒包括:
在所述虚拟微控制单元接收到所述测试指令时,读取预设的闪存颗粒参数;
确定预写入数据,并根据所述预写入数据在所述内存和/或所述硬盘中确定对应的待写入磁盘空间;
根据所述闪存颗粒参数、所述预写入数据以及所述待写入磁盘空间生成所述闪存颗粒操作指令,并将所述闪存颗粒操作指令发送给所述虚拟闪存颗粒。
可选的,所述在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行所述内存和/或所述硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系包括:
在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,确定所述闪存颗粒操作指令对应的所述预写入数据;
根据预设的压缩规则压缩所述预写入数据,得到目标写入数据;
根据所述映射规则以及所述目标读写数据的逻辑地址,在所述待写入磁盘空间写入所述目标写入数据。
可选的,所述根据所述映射规则以及所述目标读写数据的逻辑地址,在所述待写入磁盘空间写入所述目标写入数据之前,还包括:
所述虚拟闪存颗粒确定所述闪存颗粒操作指令对应的所述闪存颗粒参数,根据所述闪存颗粒参数确定所述虚拟闪存颗粒对应的错误曲线;
根据所述错误曲线确定所述虚拟闪存颗粒中的待屏蔽虚拟闪存颗粒;
屏蔽所述待屏蔽虚拟闪存颗粒的所述逻辑地址。
可选的,当所述测试指令为读取指令时,所述在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒包括:
在所述虚拟微控制单元接收到所述测试指令时,读取预设的闪存颗粒参数;
确定待读取数据在所述内存和/或所述硬盘中对应的物理地址;
根据所述闪存颗粒参数以及所述物理地址生成所述闪存颗粒操作指令,并将所述闪存颗粒操作指令发送给所述虚拟闪存颗粒。
可选的,所述在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行所述内存和/或所述硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系包括:
在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据所述闪存颗粒操作指令对应的所述物理地址确定所述内存和/或所述硬盘中的待读取文件;
根据所述物理地址以及所述预置的映射规则,读取所述待读取文件;
所述虚拟闪存颗粒在读取完成所述待读取文件后,根据所述待读取文件发送读取完成指令至所述虚拟微控制单元。
可选的,所述根据所述物理地址以及所述预置的映射规则,读取所述待读取文件之前,还包括:
所述虚拟闪存颗粒根据所述闪存颗粒操作指令确定所述虚拟闪存颗粒对应的错误曲线;
根据所述错误曲线确定所述虚拟闪存颗粒中的待屏蔽虚拟闪存颗粒;
屏蔽所述待屏蔽虚拟闪存颗粒的所述逻辑地址。
可选的,所述所述虚拟闪存颗粒在读取完成所述待读取文件后,根据所述待读取文件发送读取完成指令至所述虚拟微控制单元之后,还包括:
所述虚拟微控制单元在接收到所述读取完成指令后,基于所述读取完成指令,控制所述虚拟闪存颗粒发送所述待读取文件至所述测试指令的发送端。
此外,本申请还提出一种闪存颗粒调试设备,所述闪存颗粒调试设备包括存储器、处理器及存储在存储器上并可在处理器上运行的闪存颗粒调试程序,所述处理器执行所述闪存颗粒调试程序时实现如上所述的闪存颗粒调试方法的步骤。
此外,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有闪存颗粒调试程序,所述闪存颗粒调试程序被处理器执行时实现如上所述的闪存颗粒调试方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、由于采用了在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒;在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行所述内存和/或所述硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系,所以,有效解决了相关技术中“NAND新颗粒发布之初,只能获取到闪存颗粒的性能参数,而无成品,这样极大的影响了存储器生产厂商新产品的研发进度”这一技术问题,实现了不需要成品闪存颗粒即可完成闪存颗粒调试的技术效果。
2、由于采用了当虚拟闪存颗粒接收到闪存颗粒操作指令时,读取预设的闪存颗粒参数,并根据所述闪存颗粒参数确定虚拟闪存颗粒对应的错误曲线,再根据所述错误曲线,屏蔽部分虚拟闪存颗粒的逻辑地址,所以有效解决了相关技术中需要实际的NAND闪存颗粒后才能进行调试的技术问题,进而实现了调试虚拟NAND闪存颗粒时模拟实际操作中NAND闪存颗粒存在坏块的情况,以实现调试结果更精确。
3、由于采用了当所述测试指令为写入指令,虚拟闪存颗粒接收到闪存颗粒操作指令时,按照预设的压缩格式将预写入数据压缩得到目标写入数据,再将所述目标写入数据写入闪存颗粒操作指令对应的待写入磁盘空间,所以,有效解决了相关技术中需要实际的NAND闪存颗粒后才能进行调试的技术问题,进而实现了调试虚拟NAND闪存颗粒时使用6字节逻辑地址+2字节数据特征参数表征每条大小为16000字节的输入或输出数据,极大地压缩了数据量。
4、由于采用了当所述测试指令为读取指令,虚拟闪存颗粒接收到闪存颗粒操作指令时,确定待读取数据在内存中对应的物理地址,再根据预设的映射规则,将所述待读取数据读取到屏蔽后的虚拟闪存颗粒中;完成读取后,将所述待读取数据发送至测试指令的发送端,所以,有效解决了相关技术中要实际的NAND闪存颗粒后才能进行调试的技术问题,进而实现了调试闪存颗粒的读取控制程序。
附图说明
图1为本申请闪存颗粒调试方法实施例一的流程示意图;
图2为本申请闪存颗粒调试方法实施例二中步骤S10细化流程示意图;
图3为本申请闪存颗粒调试方法实施例二中部分流程示意图;
图4为本申请闪存颗粒调试方法实施例三中步骤S20细化流程示意图;
图5为本申请闪存颗粒调试设备实施例涉及的硬件结构示意图。
具体实施方式
在相关技术中,在新NAND发布之初,存储器生产厂商不能获取到NAND颗粒进行调试,这极大的拖延了新NAND颗粒存储器的研发进度。本申请实施例采用的主要技术方案是:在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒;在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行所述内存和/或所述硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系;并且通过读取闪存颗粒参数得到闪存颗粒的错误曲线,根据所述错误曲线屏蔽一部分虚拟闪存颗粒的逻辑地址。从而实现了使用虚拟闪存颗粒模拟实际的闪存颗粒,对虚拟闪存颗粒进行调试来完成调试实际闪存颗粒的控制程序。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
实施例一
本申请实施例一公开了一种闪存颗粒调试方法,参照图1,所述闪存颗粒调试方法包括:
步骤S10,在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒。
在本实施例中,虚拟微控制单元控制虚拟闪存颗粒执行数据读取操作,所述虚拟闪存颗粒具有逻辑地址,所述内存和所述硬盘具有物理地址,通过所述映射规则在所述逻辑地址与所述物理地址间建立映射关系,以使得所述虚拟闪存颗粒可以在所述内存和所述硬盘上执行读写操作。
作为一种可选实施方式,当虚拟微控制单元接收到写入指令时,运行预置的调试控制程序;其中所述调试控制程序运行时,所述虚拟微控制单元读取预设的闪存颗粒参数,确定预写入数据,并根据所述预写入数据确定所述内存和/或所述硬盘中对应的待写入磁盘空间,再根据所述闪存颗粒参数、所述预写入数据以及所述待写入磁盘空间生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒。
作为另一种可选实施方式,当所述虚拟微控制单元接收到读取指令时,运行预置的调试控制程序;其中所述调试控制程序运行时,所述虚拟微控制单元读取预设的闪存颗粒参数,确定待读取数据在存储器中的物理地址,再根据所述闪存颗粒参数以及所述物理地址生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送给虚拟闪存颗粒。
步骤S20,在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行内存和/或硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系。
作为一种可选实施方式,当测试指令为写入指令,虚拟闪存颗粒接收到写入指令对应的闪存颗粒操作指令后,根据预置的映射规则,在实体存储器中写入所述闪存颗粒操作指令对应的待写入数据。
示例性的,所述映射规则可以是虚拟闪存颗粒的逻辑地址与实体存储器的物理地址间固定的映射关系。
示例性的,所述映射规则可以是运行调试控制程序时,随机生成的映射规则,即逻辑地址与物理地址不是固定的对应关系。
示例性的,所述映射规则可以是测试指令对应的映射规则,例如,测试指令确定了实体存储器中待写入的存储空间;此时映射规则为所述待写入的存储空间的物理地址与虚拟闪存颗粒逻辑地址之间的映射关系。
作为另一种可选实施方式,当测试指令为读取指令,虚拟闪存颗粒接收到读取指令对应的闪存颗粒操作指令后,根据预置的映射规则。在实体存储器中确定闪存颗粒操作指令对应的物理地址,读取所述物理地址上的数据。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
由于采用了在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒;在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行所述内存和/或所述硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系,所以,有效解决了相关技术中“NAND新颗粒发布之初,只能获取到闪存颗粒的性能参数,而无成品,这样极大的影响了存储器生产厂商新产品的研发进度”这一技术问题,实现了不需要成品闪存颗粒即可完成闪存颗粒调试的技术效果。
实施例二
基于实施例一,本申请实施例二公开了一种闪存颗粒调试方法,参照图2,当测试指令为写入指令时,步骤S10包括:
步骤S21,在所述虚拟微控制单元接收到所述测试指令时,读取预设的闪存颗粒参数;
步骤S22,确定预写入数据,并根据所述预写入数据在所述内存和/或所述硬盘中确定对应的待写入磁盘空间;
步骤S23,根据所述闪存颗粒参数、所述预写入数据以及所述待写入磁盘空间生成所述闪存颗粒操作指令,并将所述闪存颗粒操作指令发送给所述虚拟闪存颗粒。
在本实施例中,使用虚拟微控制单元模拟快速存储器的主控,使用虚拟闪存颗粒模拟快速存储器的闪存颗粒,其中本实施例中快速存储器包括但不限于使用闪存颗粒的、读写速度快的存储器。
作为一种可选实施方式,在虚拟微控制单元接收到写入指令时,读取预存的闪存颗粒参数,其中,所述闪存颗粒参数为将要模拟的闪存颗粒对应的性能参数,这里的性能参数为闪存颗粒生产厂商发布。再确定预写入数据,并根据与写入数据在实体存储器中确定待写入磁盘空间;根据所述闪存颗粒参数、所述预写入数据以及所述待写入磁盘空间生成虚拟闪存颗粒可以执行的闪存颗粒操作指令,并把所述闪存颗粒操作指令发送给虚拟闪存颗粒。
作为另一种可选实施方式,确定预写入数据这一步骤与读取闪存颗粒参数这一步骤的先后顺序不作具体限定。
可选地,步骤S20包括:
步骤S24,在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,确定所述闪存颗粒操作指令对应的所述预写入数据;
步骤S25,根据预设的压缩规则压缩所述预写入数据,得到目标写入数据;
步骤S26,根据所述映射规则以及所述目标读写数据的逻辑地址,在所述待写入磁盘空间写入所述目标写入数据。
在本实施例中,虚拟闪存颗粒接收到闪存颗粒操作指令时,根据虚拟闪存颗粒的逻辑地址与实体存储器的物理地址之间的映射关系,执行所述闪存颗粒操作指令对应的写入操作。
作为一种可选实施方式,虚拟闪存颗粒接收到闪存颗粒操作指令时,确定所述闪存颗粒操作指令对应的预写入数据,压缩所述预写入数据,得到目标写入数据;再确定闪存颗粒操作指令对应的待写入磁盘空间的物理地址,根据逻辑地址与物理地址之间的关联关系,将目标写入数据写入待写入磁盘空间中。
示例性的,压缩待写入数据的方式为,将16kByte大小的数据压缩为8Byte大小,即用6Byte逻辑地址+2Byte数据特征参数来表征大小为16kByte大小的数据。
可选的,参照图3,步骤S26之前,还包括:
步骤S27,所述虚拟闪存颗粒确定所述闪存颗粒操作指令对应的所述闪存颗粒参数,根据所述闪存颗粒参数确定所述虚拟闪存颗粒对应的错误曲线;
步骤S28,根据所述错误曲线确定所
在本实施例中,闪存颗粒由于生产工艺等原因,会存在各个颗粒性能不一致,甚至出现坏块,而虚拟闪存颗粒不存在坏块的问题,为了使得虚拟闪存颗粒的性能与成品闪存颗粒的性能一致,采用通过颗粒生产厂商发布的闪存颗粒参数来模拟出虚拟闪存颗粒的错误曲线,以实现坏块程度与成品闪存颗粒相一致,使得调试结果更准确。
作为一种可选实施方式,虚拟闪存颗粒在接收到闪存颗粒操作指令后,确定闪存颗粒操作指令中对应的闪存颗粒参数,并根据所述闪存颗粒参数确定闪存颗粒的错误曲线,作为虚拟闪存颗粒的错误曲线;根据错误曲线,屏蔽掉一部分虚拟闪存颗粒的逻辑地址,即屏蔽的虚拟闪存颗粒相当于闪存颗粒中的坏块,屏蔽后的虚拟闪存颗粒相当于闪存颗粒中除去坏块的正常颗粒。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
由于采用了当所述测试指令为写入指令,虚拟闪存颗粒接收到闪存颗粒操作指令时,按照预设的压缩格式将预写入数据压缩得到目标写入数据,再将所述目标写入数据写入闪存颗粒操作指令对应的待写入磁盘空间,所以,有效解决了相关技术中需要实际的NAND闪存颗粒后才能进行调试的技术问题,进而实现了调试虚拟NAND闪存颗粒时使用6字节逻辑地址+2字节数据特征参数表征每条大小为16字节的输入或输出数据,极大地压缩了数据量。
实施例三
基于实施例一,本申请实施例三公开一种闪存颗粒调试方法,当测试指令为读取指令时,步骤S10包括:
步骤S31,在所述虚拟微控制单元接收到所述测试指令时,读取预设的闪存颗粒参数;
步骤S32,确定待读取数据在所述内存和/或所述硬盘中对应的物理地址;
步骤S33,根据所述闪存颗粒参数以及所述物理地址生成所述闪存颗粒操作指令,并将所述闪存颗粒操作指令发送给所述虚拟闪存颗粒。
在本实施例中,虚拟微控制单元在接收到读取指令时,确定待读取文件在实体存储器中对应的物理地址。
作为一种可选实施方式,在虚拟微控制单元接收到读取指令时,读取预存的闪存颗粒参数,其中,所述闪存颗粒参数为将要模拟的闪存颗粒对应的性能参数,这里的性能参数为闪存颗粒生产厂商发布。再确定待读取文件在实体存储其中对应的物理地址,根据所述闪存颗粒参数以及所述物理地址生成虚拟闪存颗粒可以执行的闪存颗粒操作指令,并把所述闪存颗粒操作指令发送给虚拟闪存颗粒。
作为另一种可选实施方式,确定物理地址这一步骤与读取闪存颗粒参数这一步骤的先后顺序不作具体限定。
作为另一种可选实施方式,物理地址可以是随机选取,也可以是测试指令对应的物理地址。
可选的,参照图4,步骤S20包括:
步骤S34,在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据所述闪存颗粒操作指令对应的所述物理地址确定所述内存和/或所述硬盘中的待读取文件;
步骤S35,根据所述物理地址以及所述预置的映射规则,读取所述待读取文件;
步骤S36,所述虚拟闪存颗粒在读取完成所述待读取文件后,根据所述待读取文件发送读取完成指令至所述虚拟微控制单元。
在本实施例中,虚拟闪存颗粒接收到闪存颗粒操作指令时,根据虚拟闪存颗粒的逻辑地址与实体存储器的物理地址之间的映射关系,执行所述闪存颗粒操作指令对应的读取操作。
作为一种可选实施方式,虚拟闪存颗粒接收到闪存颗粒操作指令时,解析闪存颗粒操作指令,确定实体存储器中待读取磁盘空间的物理地址,并基于物理地址确定待读取文件;再基于预设的映射规则,根据物理地址与虚拟闪存颗粒逻辑地址的关系,读取待读取文件;在虚拟闪存颗粒完成读取待读取文件之后,基于待读取文件生成读取完成指令,并发送读取完成指令至虚拟微控制单元。
作为另一种可选实施方式,在虚拟闪存颗粒发送所述读取完成至虚拟微控制单元,所述虚拟微控制单元接收到读取完成指令后,所述虚拟微控制单元控制虚拟闪存颗粒发送所述待读取文件至所述测试指令的发送端。
可选地,步骤S35之前,还包括:
步骤S37,所述虚拟闪存颗粒根据所述闪存颗粒操作指令确定所述虚拟闪存颗粒对应的错误曲线;
步骤S38,根据所述错误曲线确定所述虚拟闪存颗粒中的待屏蔽虚拟闪存颗粒;
步骤S39,屏蔽所述待屏蔽虚拟闪存颗粒的所述逻辑地址。
在本实施例中,闪存颗粒由于生产工艺等原因,会存在各个颗粒性能不一致,甚至出现坏块,而虚拟闪存颗粒不存在坏块的问题,为了使得虚拟闪存颗粒的性能与成品闪存颗粒的性能一致,采用通过颗粒生产厂商发布的闪存颗粒参数来模拟出虚拟闪存颗粒的错误曲线,以实现坏块程度与成品闪存颗粒相一致,使得调试结果更准确。
作为一种可选实施方式,虚拟闪存颗粒在接收到闪存颗粒操作指令后,确定闪存颗粒操作指令中对应的闪存颗粒参数,并根据所述闪存颗粒参数确定闪存颗粒的错误曲线,作为虚拟闪存颗粒的错误曲线;根据错误曲线,屏蔽掉一部分虚拟闪存颗粒的逻辑地址,即屏蔽的虚拟闪存颗粒相当于闪存颗粒中的坏块,屏蔽后的虚拟闪存颗粒相当于闪存颗粒中除去坏块的正常颗粒。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
由于采用了当所述测试指令为读取指令,虚拟闪存颗粒接收到闪存颗粒操作指令时,确定待读取数据在内存中对应的物理地址,再根据预设的映射规则,将所述待读取数据读取到屏蔽后的虚拟闪存颗粒中;完成读取后,将所述待读取数据发送至测试指令的发送端,所以,有效解决了相关技术中要实际的NAND闪存颗粒后才能进行调试的技术问题,进而实现了调试闪存颗粒的读取控制程序。
本申请还提出一种闪存颗粒调试设备,参照图5,图5为本申请实施例方案涉及的硬件运行环境的闪存颗粒调试设备结构示意图。
如图5所示,该闪存颗粒调试设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图5中示出的结构并不构成对闪存颗粒调试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
可选地,存储器1005与处理器1001电性连接,处理器1001可用于控制存储器1005的运行,还可以读取存储器1005中的数据以实现闪存颗粒调试。
可选地,如图5所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及闪存颗粒调试程序。
可选地,在图5所示的闪存颗粒调试设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请闪存颗粒调试设备中的处理器1001、存储器1005可以设置在闪存颗粒调试设备中。
如图5所示,应用于闪存颗粒调试系统,所述闪存颗粒调试系统包括虚拟闪存颗粒以及虚拟微控制单元,所述闪存颗粒调试设备通过处理器1001调用存储器1005中存储的闪存颗粒调试程序,并执行本申请实施例提供的闪存颗粒调试方法的相关步骤操作:
在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒;
在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行内存和/或硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系。
可选地,处理器1001可以调用存储器1005中存储的闪存颗粒调试程序,还执行以下操作:
在所述虚拟微控制单元接收到所述测试指令时,读取预设的闪存颗粒参数;
确定预写入数据,并根据所述预写入数据在所述内存和/或所述硬盘中确定对应的待写入磁盘空间;
根据所述闪存颗粒参数、所述预写入数据以及所述待写入磁盘空间生成所述闪存颗粒操作指令,并将所述闪存颗粒操作指令发送给所述虚拟闪存颗粒。
可选地,处理器1001可以调用存储器1005中存储的闪存颗粒调试程序,还执行以下操作:
在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,确定所述闪存颗粒操作指令对应的所述预写入数据;
根据预设的压缩规则压缩所述预写入数据,得到目标写入数据;
根据所述映射规则以及所述目标读写数据的逻辑地址,在所述待写入磁盘空间写入所述目标写入数据。
可选的,所述根据所述映射规则以及所述目标读写数据的逻辑地址,在所述待写入磁盘空间写入所述目标写入数据之前,还包括:
所述虚拟闪存颗粒确定所述闪存颗粒操作指令对应的所述闪存颗粒参数,根据所述闪存颗粒参数确定所述虚拟闪存颗粒对应的错误曲线;
根据所述错误曲线确定所述虚拟闪存颗粒中的待屏蔽虚拟闪存颗粒;
屏蔽所述待屏蔽虚拟闪存颗粒的所述逻辑地址。
可选地,处理器1001可以调用存储器1005中存储的闪存颗粒调试程序,还执行以下操作:
在所述虚拟微控制单元接收到所述测试指令时,读取预设的闪存颗粒参数;
确定待读取数据在所述内存和/或所述硬盘中对应的物理地址;
根据所述闪存颗粒参数以及所述物理地址生成所述闪存颗粒操作指令,并将所述闪存颗粒操作指令发送给所述虚拟闪存颗粒。
可选地,处理器1001可以调用存储器1005中存储的闪存颗粒调试程序,还执行以下操作:
在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据所述闪存颗粒操作指令对应的所述物理地址确定所述内存和/或所述硬盘中的待读取文件;
根据所述物理地址以及所述预置的映射规则,读取所述待读取文件;
所述虚拟闪存颗粒在读取完成所述待读取文件后,根据所述待读取文件发送读取完成指令至所述虚拟微控制单元。
可选地,处理器1001可以调用存储器1005中存储的闪存颗粒调试程序,还执行以下操作:
所述虚拟闪存颗粒根据所述闪存颗粒操作指令确定所述虚拟闪存颗粒对应的错误曲线;
根据所述错误曲线确定所述虚拟闪存颗粒中的待屏蔽虚拟闪存颗粒;
屏蔽所述待屏蔽虚拟闪存颗粒的所述逻辑地址。
可选地,处理器1001可以调用存储器1005中存储的闪存颗粒调试程序,还执行以下操作:
所述虚拟微控制单元在接收到所述读取完成指令后,基于所述读取完成指令,控制所述虚拟闪存颗粒发送所述待读取文件至所述测试指令的发送端。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有闪存颗粒调试程序,所述闪存颗粒调试程序被处理器执行时实现如上所述闪存颗粒调试方法任一实施例的相关步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种闪存颗粒调试方法,其特征在于,应用于闪存颗粒调试系统,所述闪存颗粒调试系统包括虚拟闪存颗粒以及虚拟微控制单元,所述闪存颗粒调试方法包括:
在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒;
在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行内存和/或硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系。
2.如权利要求1所述的闪存颗粒调试方法,其特征在于,当所述测试指令为写入指令时,所述在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒包括:
在所述虚拟微控制单元接收到所述测试指令时,读取预设的闪存颗粒参数;
确定预写入数据,并根据所述预写入数据在所述内存和/或所述硬盘中确定对应的待写入磁盘空间;
根据所述闪存颗粒参数、所述预写入数据以及所述待写入磁盘空间生成所述闪存颗粒操作指令,并将所述闪存颗粒操作指令发送给所述虚拟闪存颗粒。
3.如权利要求2所述的闪存颗粒调试方法,其特征在于,所述在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行所述内存和/或所述硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系包括:
在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,确定所述闪存颗粒操作指令对应的所述预写入数据;
根据预设的压缩规则压缩所述预写入数据,得到目标写入数据;
根据所述映射规则以及所述目标读写数据的逻辑地址,在所述待写入磁盘空间写入所述目标写入数据。
4.如权利要求3所述闪存颗粒调试方法,其特征在于,所述根据所述映射规则以及所述目标读写数据的逻辑地址,在所述待写入磁盘空间写入所述目标写入数据之前,还包括:
所述虚拟闪存颗粒确定所述闪存颗粒操作指令对应的所述闪存颗粒参数,根据所述闪存颗粒参数确定所述虚拟闪存颗粒对应的错误曲线;
根据所述错误曲线确定所述虚拟闪存颗粒中的待屏蔽虚拟闪存颗粒;
屏蔽所述待屏蔽虚拟闪存颗粒的所述逻辑地址。
5.如权利要求1所述的闪存颗粒调试方法,其特征在于,当所述测试指令为读取指令时,所述在所述虚拟微控制单元接收到测试指令时,通过运行预置的调试控制程序,生成闪存颗粒操作指令,并将所述闪存颗粒操作指令发送至所述虚拟闪存颗粒包括:
在所述虚拟微控制单元接收到所述测试指令时,读取预设的闪存颗粒参数;
确定待读取数据在所述内存和/或所述硬盘中对应的物理地址;
根据所述闪存颗粒参数以及所述物理地址生成所述闪存颗粒操作指令,并将所述闪存颗粒操作指令发送给所述虚拟闪存颗粒。
6.如权利要求5所述的闪存颗粒调试方法,其特征在于,所述在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据预置的映射规则,执行所述内存和/或所述硬盘数据读写动作,其中,所述映射规则为所述内存和/或所述硬盘数据物理地址,与虚拟闪存颗粒逻辑地址之间的映射关系包括:
在所述虚拟闪存颗粒接收到所述闪存颗粒操作指令时,根据所述闪存颗粒操作指令对应的所述物理地址确定所述内存和/或所述硬盘中的待读取文件;
根据所述物理地址以及所述预置的映射规则,读取所述待读取文件;
所述虚拟闪存颗粒在读取完成所述待读取文件后,根据所述待读取文件发送读取完成指令至所述虚拟微控制单元。
7.如权利要求6所述的闪存颗粒调试方法,其特征在于,所述根据所述物理地址以及所述预置的映射规则,读取所述待读取文件之前,还包括:
所述虚拟闪存颗粒根据所述闪存颗粒操作指令确定所述虚拟闪存颗粒对应的错误曲线;
根据所述错误曲线确定所述虚拟闪存颗粒中的待屏蔽虚拟闪存颗粒;
屏蔽所述待屏蔽虚拟闪存颗粒的所述逻辑地址。
8.如权利要求6所述的闪存颗粒调试方法,其特征在于,所述所述虚拟闪存颗粒在读取完成所述待读取文件后,根据所述待读取文件发送读取完成指令至所述虚拟微控制单元之后,还包括:
所述虚拟微控制单元在接收到所述读取完成指令后,基于所述读取完成指令,控制所述虚拟闪存颗粒发送所述待读取文件至所述测试指令的发送端。
9.一种闪存颗粒调试设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的闪存颗粒调试程序,所述处理器执行所述闪存颗粒调试程序时实现如权利要求1至8任一项所述的闪存颗粒调试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有闪存颗粒调试程序,所述闪存颗粒调试程序被处理器执行时实现如权利要求1至8任一项所述的闪存颗粒调试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211031396.7A CN115509442A (zh) | 2022-08-26 | 2022-08-26 | 闪存颗粒调试方法、闪存颗粒调试设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211031396.7A CN115509442A (zh) | 2022-08-26 | 2022-08-26 | 闪存颗粒调试方法、闪存颗粒调试设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509442A true CN115509442A (zh) | 2022-12-23 |
Family
ID=84501425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211031396.7A Pending CN115509442A (zh) | 2022-08-26 | 2022-08-26 | 闪存颗粒调试方法、闪存颗粒调试设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115509442A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971583A (zh) * | 2024-03-28 | 2024-05-03 | 合肥康芯威存储技术有限公司 | 一种存储颗粒的测试方法、系统、电子设备及存储介质 |
-
2022
- 2022-08-26 CN CN202211031396.7A patent/CN115509442A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971583A (zh) * | 2024-03-28 | 2024-05-03 | 合肥康芯威存储技术有限公司 | 一种存储颗粒的测试方法、系统、电子设备及存储介质 |
CN117971583B (zh) * | 2024-03-28 | 2024-06-11 | 合肥康芯威存储技术有限公司 | 一种存储颗粒的测试方法、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484316B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
TWI503673B (zh) | 電腦系統、初始化電腦系統之方法及電腦程式產品 | |
US10504605B2 (en) | Method and system for testing firmware of solid-state storage device, and electronic apparatus | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US10475516B2 (en) | Data storage device and data erasing method wherein after erasing process, predetermined value is written to indicate completion of said erasing method | |
CN103995784A (zh) | 快闪存储器控制器与存储装置以及快闪存储器控制方法 | |
CN102623069B (zh) | 随机激励闪存模型验证方法 | |
CN110610740A (zh) | 一种测试单元、方法、系统及控制器、存储设备 | |
CN103425589A (zh) | 控制装置、存储装置以及存储控制方法 | |
CN106775855B (zh) | 一种基于eclipse的flash烧写方法、插件和系统 | |
TW201717020A (zh) | 資料重建方法與系統及其記憶體控制電路單元 | |
US9858366B2 (en) | Simulator and simulating method for flash memory background | |
CN109445691B (zh) | 一种提高ftl算法开发和验证效率的方法及装置 | |
CN112395146A (zh) | Ssd固件仿真验证方法、系统、计算机设备及存储介质 | |
CN115440294A (zh) | 一种NAND Flash控制器多命令混合测试方法 | |
CN115509442A (zh) | 闪存颗粒调试方法、闪存颗粒调试设备和可读存储介质 | |
CN107045423A (zh) | 存储器装置及其数据存取方法 | |
JP4180757B2 (ja) | シミュレーション装置 | |
CN112802530A (zh) | Nand测试方法、装置、可读存储介质及电子设备 | |
CN110675910B (zh) | 一种ssd磨损均衡机制测试方法、系统、介质和终端 | |
CN116185747A (zh) | 存储颗粒开卡工具调试方法、设备和可读存储介质 | |
CN111694580B (zh) | 存储设备升级及初始化的方法、装置、电子设备 | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
CN113470723A (zh) | 读重试测试方法、装置、可读存储介质及电子设备 | |
CN112835777A (zh) | 一种提高flash仿真准确性的方法、系统 |
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 |