CN115440294A - 一种NAND Flash控制器多命令混合测试方法 - Google Patents

一种NAND Flash控制器多命令混合测试方法 Download PDF

Info

Publication number
CN115440294A
CN115440294A CN202211060962.7A CN202211060962A CN115440294A CN 115440294 A CN115440294 A CN 115440294A CN 202211060962 A CN202211060962 A CN 202211060962A CN 115440294 A CN115440294 A CN 115440294A
Authority
CN
China
Prior art keywords
command
test
physical address
data
list
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
CN202211060962.7A
Other languages
English (en)
Inventor
徐源长
唐汉钊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors 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 Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN202211060962.7A priority Critical patent/CN115440294A/zh
Publication of CN115440294A publication Critical patent/CN115440294A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开一种NAND Flash控制器多命令混合测试方法,可任意调整各种类命令所占权重,实际运行时各命令出现的概率也与预设权重值基本相符,解决传统测试方法每次仅对单一命令类型进行测试,且参数修改不够灵活,无法模拟复杂真实的固件应用环境下多种命令之间的相互作用的问题。通过TLC/SLC可用块分组、命令挂起列表、已写满的块列表实现测试范围内存储块的动态管理机制,便于自动化脚本进行长时间测试,减少了测试人员的维护成本。数据校验为即时进行,且采用总体随机、关键位置插入特殊检测点的样本数据,兼顾了准确性和运行效率。

Description

一种NAND Flash控制器多命令混合测试方法
技术领域
本发明涉及NAND Flash测试领域,具体是一种NAND Flash控制器多命令混合测试方法。
背景技术
Nand Flash(与非型闪存)是一种常见的非易失存储介质,具有访问速度快、存储密度大、单位容量价格低廉等优点,因而在固态存储设备(SSD)中广泛应用。但其先擦后写,按块(Block)擦除、按字线(WL)写入、按页(Page)读取等特性决定其不能像Nor Flash(或非型闪存)那样随机寻址,需要比较复杂的控制逻辑来满足I/O访问协议,即需要Nand Flash控制器硬件及配套驱动程序。Nand Flash控制器具有多个通道(Channel)分别与多片闪存颗粒连接,通道之间独立并行,可执行包括擦除、写(编程)、读、Set/Get Feature等多种Nand Flash操作命令,命令的具体配置信息存放在控制器各通道称为命令槽(CommandSlot)的SRAM中。
现有的NAND Flash控制测试方法功能单一、命令类型覆盖度较低,缺乏有效检验多种命令批量混合的复杂环境下Nand Flash控制器硬件及其驱动程序工作是否可靠的手段。
现有的NAND Flash控制测试方法一般是单种命令类型进行测试,对于多种命令混合的测试方式有两种,一种通过仿真平台实现,这种方式只能处理几十条命令混合的场景,无法适应多种命令批量混合的复杂环境;另外一种是多种测试命令的简单混合,测试方式也是将各种类型命令的测试方法简单叠加,参数修改不够灵活,无法模拟复杂真实的固件应用环境下多种命令之间的相互作用。
发明内容
针对现有技术的缺陷,本发明提供一种NAND Flash控制器多命令混合测试方法,在满足执行效率的条件下,支持多种Nand Flash命令随机并行测试,提高了测试覆盖面和检验效果。
为了解决所述技术问题,本发明采用的技术方案是:一种NAND Flash控制器多命令混合测试方法,包括以下步骤:
S01)、NFC测试程序从命令接收解析模块获取测试用例配置参数,并检查参数合法性;
S02)、根据参数确定测试物理地址起始值和范围,从起始物理块地址开始检查测试范围内是否有足够数量的连续可用块,数量足够则执行步骤S03),数量不够则反馈资源不足的错误消息;
S03)、NFC测试程序将步骤S02)筛选出来的可用块进行分组,按照测试用例配置参数中预设的比例一部分作为TLC存储块,一部分作为SLC存储器,分别使用擦除命令依次清除各可用块上现有的数据;
S04)、随机挑选各分组内部分存储块,生成与闪存物理地址相关联的样本数据写入,作为混合过程中读命令的初始数据来源,建立已写满列表记录已写满的块,后续读、擦命令物理地址都选择该列表中的块;
S05)、根据测试用例配置参数中各类型命令权重比例生成随机数,根据随机数确定要生成的命令种类;重复随机过程补全命令剩余参数,根据不同命令类型进入不同的命令生成处理流程;
此处的命令剩余参数包括通用参数和各命令的专属参数,通用参数比如命令索引号、物理地址、内存数据地址等,此外不同命令类型具有各自的专属参数,比如读命令有4K/16K/512等读模式、写命令有是否包含Meta数据等选项,补全命令剩余参数是本领域的常规技术手段,所以没有详述。
S06)、判断生成的命令是否满足发送条件,如果满足,发送命令给NFC驱动程序,如果不满足,将该笔命令暂时加入挂起列表;
S07)、每隔一段时间或者已发送的命令、暂时被挂起的命令数量达到设定阈值,触发消息回收机制,接收NFC驱动程序返回的状态消息,进行数据校验和错误处理,更新已写满列表、挂起列表;
S08)、NFC测试程序每隔一定时间反馈当前已完成的各命令类型及数量统计信息,当完成的测试命令累计数达到预设值,或者测试过程因异常原因终止,混合测试结束。
进一步的,步骤S04)中,与闪存物理地址相关联的样本数据包括随机填充数据和特定值填充数据,特定值填充是在存储块每个4K的各512/520数据块头部及中间的随机某些位置用闪存物理地址与该512/520数据块在4K中的偏移序号代替,并在其后紧跟着指出下一个存放闪存物理地址信息的位置,随机填充是在特定值填充之外的位置以无规律的随机数均匀填充。
进一步的,根据测试用例配置参数中各类型命令权重比例生成随机数,根据随机数确定要生成的命令种类的过程为:对各类型命令比例权重进行加和,加和值用S表示,NFC测试程序实时生成一个范围在[0,S-1]之间、服从均匀分布的随机数,根据随机数的具体值判断接下来需要生成并发送的命令类型,如果随机数在[(W1 +…+ Wi-1, W1 +…+ Wi-1 +Wi- 1]之间,选择类型i命令,Wi表示类型i命令的比例权重,i取值范围为[1,n],n为命令的总类型数。
进一步的,步骤S06)中,对于擦除命令,首先根据TLC/SLC属性在测试覆盖的物理地址范围内随机挑选一个已写满数据且类型相匹配的存储块,若写满的存储块数量少于设定的阈值则跳过本条擦除命令;若当前有未处理完的读命令落在选中的存储块上,则将该擦除命令暂时加入挂起列表,并阻止后续新的读命令发到该存储块上,待该块上现有的读命令完成后再释放出来,否则直接将其发送给NFC驱动程序。
步骤S06)中,对于写命令,按照TLC/SLC之分在对应的组别中随机选择一个未写满的存储块,Flash物理地址为该块上一次写的位置的下一个WL,内存数据地址指向为该WL准备的样本数据;若该组别所有存储块均写满,则随机挑选一个或多个存储块擦除,该笔写命令Flash物理地址设为所选存储块的首个WL,放入挂起列表,待擦除完成后再发给NFC驱动程序。
进一步的,步骤S06)中,对于读命令,如果是无实际数据传输的假读,则则随机分配测试范围内的任意存储块的任意Page作为其物理地址;若是存在实际数据传输的普通读命令,首先根据其TLC/SLC之分随机选取对应分组中已写满的存储块某个Page作为物理地址,然后继续通过随机抽签的方式补全该笔读命令的其他属性,然后根据以上配置为该笔命令申请内存空间存放从NandFlash中读回来的数据并记录包含物理地址在内的命令上下文供之后进行数据校验,内存申请成功并完成上下文记录后将该命令发给NFC驱动程序。
进一步的,步骤S06)中,对于Set/Get Feature类命令,NFC测试程序维护一个记录每个LUN Feature初始值和当前值的列表FeatureList,测试开始时通过Get Feature命令获取各LUN的Feature初始值并作为当前值;混合测试过程中Set/Get Feature命令随机选择测试范围内任意LUN作为物理地址,若为Set Feature命令,随机挑选在合法取值范围内的某个Feature值作为参数并更新FeatureList中的当前值;若为Get Feature则在命令返回后与FeatureList中的当前值进行对比以确认Set Feature命令有效;混合测试过程结束后再以FeatureList中记录的初始值作为参数向测试范围内的所有LUN发送Set Feature命令还原到测试前的状态。
进一步的,步骤S07)触发消息回收机制后处理NFC驱动程序返回的状态消息,根据消息类型执行对应的处理流程:擦除命令完成后将命令所在的存储块从已写满列表中移除,写命令完成后检查该笔命令所在的存储块是否已写满,若写满则加入已写满列表中允许后续访问,读命令完成后根据记录的上下文进行数据校验,之后释放命令申请的内存资源,此外检查该笔读命令所在的存储块是否为待擦除命令,若是且该块上无其他未完成的读命令则将其擦除,遍历挂起列表并执行其中满足条件的命令,当NFC驱动程序返回错误状态时,定位并输出错误命令所在的物理地址,并根据错误的类型及严重程度决定重新发送命令或终止测试。
进一步的,获取的测试用例配置参数包括测试范围、测试程序使用的起始闪存物理地址、待写入的样本数据/接收从Nand Flash中读上来数据分别使用的内存地址、各类型命令所占的比例和混合测试命令总量。
本发明的有益效果:
1、擦、写、读、Feature等各种类命令所占权重可任意调整,实际运行时各命令出现的概率也与预设权重值基本相符,命令属性参数高度随机化,可以作为FTL固件某些应用场景下的行为模型参考,或用来加速复现Nand Flash控制器在较极端情况下才可触发的硬件Bug。传统的测试方法每次仅对单一命令类型进行测试,且参数修改不够灵活,无法模拟复杂真实的固件应用环境下多种命令之间的相互作用。
2、TLC/SLC可用块分组、命令挂起列表(PendingList)、已写满的块列表(FilledList)实现测试范围内存储块的动态管理机制,在预设参数中指定命令总量,混合测试程序开始运行后,外部无须对被测区域存储块的空满状态等进行额外检测干预,且空间资源循环利用,便于自动化脚本进行长时间测试,减少了测试人员的维护成本。
3、数据校验为即时进行,每当从Nand Flash中读出数据的命令完成后,立即根据命令的上下文进行数据校验,可在第一时间拦截数据异常,避免错误扩大、传递;且采用总体随机、关键位置插入特殊检测点的样本数据,无需对整个Page的数据做完整校验,兼顾了准确性和运行效率。传统方法在测试程序结束后统一执行批量数据比较的指令,耗时较多且具有滞后性。
附图说明
图1为本方法基于的Nand Flash测试系统示意图;
图2为本方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种NAND Flash控制器多命令混合测试方法,其基于图1所示测试系统,包括命令接收与解析模块、Nand Flash控制器测试程序(以下简称NFC测试程序)和Nand Flash控制器驱动程序(简称NFC驱动程序)和Nand Flash控制器硬件(简称NFC),其中命令接收与解析模块负责为NFC测试程序提供用例配置参数,NFC驱动程序和NFC为被测对象相当于黑盒,而本方法所述的主要逻辑均运行在NFC测试程序上,其与NFC驱动程序之间通过命令和状态消息FIFO进行交互。
如图2所示,测试方法的主要步骤如下:
1、Nand Flash控制器所在板卡固件中的NFC测试程序解析来自上位机串口输入或自动化测试脚本的指令,获取测试用例运行需要的各项参数,主要包括测试范围(多Channel并行、单Channel多LUN并行、单LUN测试等不同模式)、测试程序使用的起始闪存物理地址(PBA)、待写入的样本数据/接收从Nand Flash中读上来数据分别使用的内存地址,以及读写擦等各类型命令所占的比例和混合测试命令总量等。
2、NFC测试程序检查获取到的测试用例各项参数(混合比例、读写内存地址等)的有效性,若超出允许范围则报错并提示合法的参数取值及变量间的约束关系。
3、根据NandFlash存储组织结构(Channel、CE、LUN、Plane的数量)和划定的测试范围,从起始物理块地址(Block号)开始检查测试范围内是否有足够数量的连续可用块(非坏块),满足条件则继续后续测试步骤,若可用块不够则反馈资源不足的错误消息。
4、NFC测试程序将上述过程(3)中筛选出来的可用块进行分组,按照配置参数中预设的比例一部分作为TLC存储块,一部分作为SLC存储块,分别使用对应的擦除命令依次清除各可用块上现有的数据。
5、在给定的内存地址中生成待写入的测试样本数据(Pattern),各Page、GU中的内容大体上以无规律的随机数均匀填充,但在每个4K的各512/520数据块头部及中间的随机某些位置用闪存物理地址(PBA,精确到GU)与该512/520数据块在4K中的偏移序号代替,并在其后紧跟着指出下一个存放上述PBA信息的位置。
6、从已分组的TLC/SLC存储块中各随机选择一部分预先写入上述步骤(5)中生成的样本数据作为混合过程开始时读命令的数据来源(防止读未写满的块造成ECC错误),建立一个列表(FilledList)动态记录已完整写入数据的块。
7、所有需要预先填充数据的存储块写入完毕后,开始混合测试过程。对各类型命令比例权重(W1、W2、……Wn)进行加和(设值为S),测试程序实时生成一个范围在0 ~ S - 1之间服从均匀分布的随机数,根据随机数的具体值判断接下来需要生成并发送哪种测试命令(比如在0 ~ W1 - 1之间选择类型1命令,W1 ~ (W1 + W2) - 1之间选择类型2命令,(W1+…+ Wi-1) ~ (W1 +…+ Wi-1 + Wi) - 1选择类型i命令,以此类推,这样可保证混合过程中各类型命令出现的概率基本符合预设比例)。定好类型后,根据读写擦等不同命令种类进入不同的命令生成处理流程。
本实施例中,输入的各命令比例权重值是整数不是百分比,比如3:5:10,计算是,将各类型命令比例权重进行加和,即S=3+5+10,然后再进行后面的流程。
8、对于擦除命令,首先根据其TLC/SLC属性在测试覆盖的物理地址范围内随机挑选一个已写满数据且类型相匹配的存储块,若写满的存储块数量少于设定的阈值则跳过本条擦命令(由于擦是按块进行,读写是按页进行,一般读写命令数量远大于擦);若当前有未处理完的读命令落在选中的存储块上,则将该擦命令暂时加入挂起列表(PendingList),并阻止后续新的读命令发到该存储块上,待该块上现有的读命令完成后再释放出来,否则直接将其发送给NFC驱动程序。
9、对于写(编程)命令,也按照TLC/SLC之分在对应的组别中随机选择一个未写满的存储块,Flash物理地址为该块上一次写的位置的下一个WL(对于Multiplane类型操作,增加块地址与闪存颗粒Plane数成倍数关系的约束条件),内存数据地址指向为该WL准备的样本数据。若该组别所有存储块均写满则先按步骤(8)所述随机挑选一个(Multiplane下为多个)存储块擦除,该笔写命令Flash物理地址设为所选存储块的首个WL,放入挂起(PendingList)列表,待擦完成后再发给NFC驱动程序。
10、对于读命令,如果是无实际数据传输的假读(DummyRead,用来做Refresh防止BER过高),则随机分配测试范围内的任意存储块的任意Page作为其物理地址(无论块是否写过);若是存在实际数据传输的普通读命令,首先根据其TLC/SLC之分随机选取对应分组中已写满的存储块(位于FilledList中)某个Page作为物理地址,然后继续通过随机抽签的方式补全该笔读命令的其他属性(包括Single/MultiPlane类型、读取的GU个数、Sector大小(4096/4104/512/520)、数据传输方式(直接内存地址或DMA Link描述符等)、是否包含Meta数据、发送到NandFlash控制器哪个优先级的命令槽中等选项),之后根据以上配置为该笔命令申请内存空间存放从NandFlash中读回来的数据并记录包含物理地址在内的命令上下文供之后进行数据校验(若当前可申请的内存资源不足则先将该笔读命令加入挂起列表(PendingList))。内存申请成功并完成上下文记录后将该命令发给NFC驱动程序。
11、对于Set/Get Feature类命令(Read Retry时设置Nand的阈值电压Vth),NFC测试程序维护一个记录每个LUN Feature初始值和当前值的列表(FeatureList),测试开始时通过Get Feature命令获取各LUN的Feature初始值并作为当前值。混合测试过程中Set/GetFeature命令随机选择测试范围内任意LUN作为物理地址,若为Set Feature命令,随机挑选在合法取值范围内的某个Feature值作为参数并更新FeatureList中的当前值,然后发送到NFC驱动程序;若为Get Feature则在命令返回后与FeatureList中的当前值进行对比以确认Set Feature命令有效。混合测试过程结束后再以FeatureList中记录的初始值作为参数向测试范围内的所有LUN发送Set Feature命令还原到测试前的状态。
这里的Feature是Nand Flash颗粒内部的一些特定的物理属性值,比如读取闪存单元内数据时使用的阈值电压Vth,可以通过外部命令调节和查看。Set Feature就是修改这些属性,Get Feature是读取这些属性。
12、混合测试过程中,每隔一段时间,或当已发送的命令以及暂时被挂起(位于PendingList中)的命令数量达到一定阈值,会触发消息回收机制,处理NFC驱动程序返回的状态消息。根据消息类型执行对应的处理流程——擦命令完成后将命令所在的存储块从已写满列表(FilledList)中移除;写(编程)命令完成后检查该笔写命令所在的存储块是否已写满,若写满则加入到已写满列表(FilledList)中允许后续读访问;读命令完成后根据记录的上下文进行数据校验,之后释放命令申请的内存资源,此外检查该笔读命令所在的存储块是否为待擦除状态,若是且该块上无其他未完成的读命令则将其擦除。遍历挂起命令列表(PendingList)并执行其中满足条件的命令,当NFC驱动程序返回错误状态时,定位并输出错误命令所在的物理地址,并根据错误的类型及严重程度决定重新发送命令或终止测试。
13、NFC测试程序每隔一定时间反馈当前已完成的各命令类型及数量统计信息以让测试者了解进度,当完成的测试命令累计数达到预设值,或者测试过程因异常原因终止(包括命令接收超时或NFC驱动程序返回无法处理的错误情形时),混合测试结束,释放运行过程申请的资源,并输出最终测试报告。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

Claims (9)

1.一种NAND Flash控制器多命令混合测试方法,其特征在于:包括以下步骤:
S01)、NFC测试程序从命令接收解析模块获取测试用例配置参数,并检查参数合法性;
S02)、根据参数确定测试物理地址起始值和范围,从起始物理块地址开始检查测试范围内是否有足够数量的连续可用块,有则执行步骤S03),没有则反馈资源不足的错误消息;
S03)、NFC测试程序将步骤S02)筛选出来的可用块进行分组,按照测试用例配置参数中预设的比例一部分作为TLC存储块,一部分作为SLC存储器,分别使用擦除命令依次清除各可用块上现有的数据;
S04)、随机挑选各分组内部分存储块,生成与闪存物理地址相关联的样本数据并写入,作为混合过程中读命令的初始数据来源,建立已写满列表记录已写满的块,后续读、擦命令物理地址都选择该列表中的块;
S05)、根据测试用例配置参数中各类型命令权重比例生成随机数,根据随机数确定要生成的命令种类;重复随机过程补全命令剩余参数,根据不同命令类型进入不同的命令生成处理流程;
S06)、判断生成的命令是否满足发送条件,如果满足,发送命令给NFC驱动程序,如果不满足,将该笔命令暂时加入挂起列表;
S07)、每隔一段时间或者已发送的命令、暂时被挂起的命令数量达到设定阈值,触发消息回收机制,接收NFC驱动程序返回的状态消息,进行数据校验和错误处理,更新已写满列表、挂起列表;
S08)、NFC测试程序每隔一定时间反馈当前已完成的各命令类型及数量统计信息,当完成的测试命令累计数达到预设值,或者测试过程因异常原因终止,混合测试结束。
2.根据权利要求1所述的NAND Flash控制器多命令混合测试方法,其特征在于:步骤S04)中,与闪存物理地址相关联的样本数据包括随机填充数据和特定值填充数据,特定值填充是在存储块每个4K的各512/520数据块头部及中间的随机某些位置用闪存物理地址与该512/520数据块在4K中的偏移序号代替,并在其后紧跟着指出下一个存放闪存物理地址信息的位置,随机填充是在特定值填充之外的位置以无规律的随机数均匀填充。
3.根据权利要求1所述的NAND Flash控制器多命令混合测试方法,其特征在于:根据测试用例配置参数中各类型命令权重比例生成随机数,根据随机数确定要生成的命令种类的过程为:对各类型命令比例权重进行加和,加和值用S表示,NFC测试程序实时生成一个范围在[0,S-1]之间、服从均匀分布的随机数,根据随机数的具体值判断接下来需要生成并发送的命令类型,如果随机数在[(W1 +…+ Wi-1, W1 +…+ Wi-1 + Wi- 1]之间,选择类型i命令,Wi表示类型i命令的比例权重,i取值范围为[1,n],n为命令的总类型数。
4.根据权利要求1所述的NAND Flash控制器多命令混合测试方法,其特征在于:步骤S06)中,对于擦除命令,首先根据TLC/SLC属性在测试覆盖的物理地址范围内随机挑选一个已写满数据且类型相匹配的存储块,若写满的存储块数量少于设定的阈值则跳过本条擦除命令;若当前有未处理完的读命令落在选中的存储块上,则将该擦除命令暂时加入挂起列表,并阻止后续新的读命令发到该存储块上,待该块上现有的读命令完成后再释放出来,否则直接将其发送给NFC驱动程序。
5.根据权利要求1所述的NAND Flash控制器多命令混合测试方法,其特征在于:步骤S06)中,对于写命令,按照TLC/SLC之分在对应的组别中随机选择一个未写满的存储块,Flash物理地址为该块上一次写的位置的下一个WL,内存数据地址指向为该WL准备的样本数据;若该组别所有存储块均写满,则随机挑选一个或多个存储块擦除,该笔写命令Flash物理地址设为所选存储块的首个WL,放入挂起列表,待擦除完成后再发给NFC驱动程序。
6.根据权利要求1所述的NAND Flash控制器多命令混合测试方法,其特征在于:步骤S06)中,对于读命令,如果是无实际数据传输的假读,则则随机分配测试范围内的任意存储块的任意Page作为其物理地址;若是存在实际数据传输的普通读命令,首先根据其TLC/SLC之分随机选取对应分组中已写满的存储块某个Page作为物理地址,然后继续通过随机抽签的方式补全该笔读命令的其他属性,然后根据以上配置为该笔命令申请内存空间存放从NandFlash中读回来的数据并记录包含物理地址在内的命令上下文供之后进行数据校验,内存申请成功并完成上下文记录后将该命令发给NFC驱动程序。
7.根据权利要求1所述的NAND Flash控制器多命令混合测试方法,其特征在于:步骤S06)中,对于Set/Get Feature类命令,NFC测试程序维护一个记录每个LUN Feature初始值和当前值的列表FeatureList,测试开始时通过Get Feature命令获取各LUN的Feature初始值并作为当前值;混合测试过程中Set/Get Feature命令随机选择测试范围内任意LUN作为物理地址,若为Set Feature命令,随机挑选在合法取值范围内的某个Feature值作为参数并更新FeatureList中的当前值;若为Get Feature则在命令返回后与FeatureList中的当前值进行对比以确认Set Feature命令有效;混合测试过程结束后再以FeatureList中记录的初始值作为参数向测试范围内的所有LUN发送Set Feature命令还原到测试前的状态。
8.根据权利要求1所述的NAND Flash控制器多命令混合测试方法,其特征在于:步骤S07)触发消息回收机制后处理NFC驱动程序返回的状态消息,根据消息类型执行对应的处理流程:擦除命令完成后将命令所在的存储块从已写满列表中移除,写命令完成后检查该笔命令所在的存储块是否已写满,若写满则加入已写满列表中允许后续访问,读命令完成后根据记录的上下文进行数据校验,之后释放命令申请的内存资源,此外检查该笔读命令所在的存储块是否为待擦除命令,若是且该块上无其他未完成的读命令则将其擦除,遍历挂起列表并执行其中满足条件的命令,当NFC驱动程序返回错误状态时,定位并输出错误命令所在的物理地址,并根据错误的类型及严重程度决定重新发送命令或终止测试。
9.根据权利要求1所述的NAND Flash控制器多命令混合测试方法,其特征在于:获取的测试用例配置参数包括测试范围、测试程序使用的起始闪存物理地址、待写入的样本数据/接收从Nand Flash中读上来数据分别使用的内存地址、各类型命令所占的比例和混合测试命令总量。
CN202211060962.7A 2022-09-01 2022-09-01 一种NAND Flash控制器多命令混合测试方法 Pending CN115440294A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211060962.7A CN115440294A (zh) 2022-09-01 2022-09-01 一种NAND Flash控制器多命令混合测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211060962.7A CN115440294A (zh) 2022-09-01 2022-09-01 一种NAND Flash控制器多命令混合测试方法

Publications (1)

Publication Number Publication Date
CN115440294A true CN115440294A (zh) 2022-12-06

Family

ID=84244940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211060962.7A Pending CN115440294A (zh) 2022-09-01 2022-09-01 一种NAND Flash控制器多命令混合测试方法

Country Status (1)

Country Link
CN (1) CN115440294A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185892A (zh) * 2023-04-27 2023-05-30 珠海妙存科技有限公司 闪存控制器及其访问闪存颗粒的方法
CN116737323A (zh) * 2023-08-10 2023-09-12 上海移芯通信科技股份有限公司 一种基于物联网芯片的脚本调用方法和装置
CN116755639A (zh) * 2023-08-18 2023-09-15 深圳大普微电子科技有限公司 闪存接口的性能评估方法及相关装置
CN117435416A (zh) * 2023-12-19 2024-01-23 合肥康芯威存储技术有限公司 一种存储器的测试系统及测试方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185892A (zh) * 2023-04-27 2023-05-30 珠海妙存科技有限公司 闪存控制器及其访问闪存颗粒的方法
CN116737323A (zh) * 2023-08-10 2023-09-12 上海移芯通信科技股份有限公司 一种基于物联网芯片的脚本调用方法和装置
CN116737323B (zh) * 2023-08-10 2023-11-10 上海移芯通信科技股份有限公司 一种基于物联网芯片的脚本调用方法和装置
CN116755639A (zh) * 2023-08-18 2023-09-15 深圳大普微电子科技有限公司 闪存接口的性能评估方法及相关装置
CN116755639B (zh) * 2023-08-18 2024-03-08 深圳大普微电子科技有限公司 闪存接口的性能评估方法及相关装置
CN117435416A (zh) * 2023-12-19 2024-01-23 合肥康芯威存储技术有限公司 一种存储器的测试系统及测试方法
CN117435416B (zh) * 2023-12-19 2024-04-05 合肥康芯威存储技术有限公司 一种存储器的测试系统及测试方法

Similar Documents

Publication Publication Date Title
CN115440294A (zh) 一种NAND Flash控制器多命令混合测试方法
US6388919B2 (en) Memory controller for flash memory system and method for writing data to flash memory device
US8086919B2 (en) Controller having flash memory testing functions, and storage system and testing method thereof
US20150301748A1 (en) Storage operating system
CN103577342A (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
CN110610740A (zh) 一种测试单元、方法、系统及控制器、存储设备
CN108694989A (zh) 存储设备及其坏块指派方法
CN112542203A (zh) 非易失性存储器的坏块修复方法、装置、存储介质和终端
US20130151764A1 (en) Systems and methods for storing data in a multi-level cell solid state storage device
US20210373810A1 (en) Data storage device and operating method thereof
US10997068B1 (en) Rapid SSD preconditioning
CN113157512B (zh) 实现大容量ssd在小内存机器上进行数据校验测试的方法
US20200409808A1 (en) Systems And Methods For Evaluating Integrity Of Adjacent Sub Blocks Of Data Storage Apparatuses
CN112802530B (zh) Nand测试方法、装置、可读存储介质及电子设备
CN114639439A (zh) 芯片内部sram测试方法、装置、存储介质及ssd设备
CN113035265B (zh) 坏块筛选方法、装置、可读存储介质及电子设备
TW487920B (en) Apparatus for testing memories with redundant storage elements
CN113470723B (zh) 读重试测试方法、装置、可读存储介质及电子设备
US8392766B2 (en) Operational method of a controller of a flash memory, and associated memory device and controller thereof
US20120159280A1 (en) Method for controlling nonvolatile memory apparatus
CN110444247A (zh) 存储设备写错误纠错能力的测试装置
US20060005088A1 (en) System and method for testing artificial memory
CN113470728B (zh) 纠错能力测试方法、装置、可读存储介质及电子设备
CN111324554B (zh) 闪存数据的管理方法及装置、电梯控制器
CN117393032B (zh) 一种存储装置及其数据处理方法

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