CN110993012B - 一种统计nand flash busy时间的装置和方法 - Google Patents
一种统计nand flash busy时间的装置和方法 Download PDFInfo
- Publication number
- CN110993012B CN110993012B CN201911099899.6A CN201911099899A CN110993012B CN 110993012 B CN110993012 B CN 110993012B CN 201911099899 A CN201911099899 A CN 201911099899A CN 110993012 B CN110993012 B CN 110993012B
- Authority
- CN
- China
- Prior art keywords
- signal
- fifo
- syn
- module
- counting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- 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
- Read Only Memory (AREA)
Abstract
本发明公开一种统计nand flash busy时间的装置和方法,所述装置包括命令检测模块,用于检测nand flash的操作命令,当有新的命令传输至命令检测模块时,输出flush信号,用于清空FIFO中的内容;同步处理模块,对flash引脚输出的R_Bn信号使用工作时钟进行采样和延迟,输出经过同步处理的syn_r_bn信号,该信号与工作时钟同步;计时模块,用于统计syn_r_bn信号为低电平时的时钟上升沿个数,并在syn_r_bn为高电平时,将统计结果写入FIFO;FIFO,用于存储计时模块的统计结果。本发明提高统计时间的精确度,并且计时结果随命令不断刷新,无需软件干预。
Description
技术领域
本发明涉及一种统计nand flash busy时间的装置和方法,属于nand flash特性测试技术领域。
背景技术
NAND flash在工作时,会有两种状态,ready 和busy(准备和忙碌)。在flashready状态下,可以向flash发送命令,flash在接收到相应命令后会进入busy状态。busy时间的长短不仅能反映出当前操作是否正确执行,还能反映出flash的老化特性等。在NANDflash特性测试中,统计命令之后的busy时间具有重要意义。
现在统计nand flash busy时间的方法是:使用软件通过不断向flash发送状态查询命令而获得。该方法占用软件大量时间且获得到的busy时间误差大,微秒级别误差。
发明内容
本发明要解决的技术问题是提供一种统计nand flash busy时间的装置和方法,提高统计时间的精确度,并且计时结果随命令不断刷新,无需软件干预。
为了解决所述技术问题,本发明采用的技术方案是:一种统计nand flash busy时间的装置,包括
命令检测模块,用于检测nand flash的操作命令,当有新的命令传输至命令检测模块时,输出flush信号,用于清空FIFO中的内容;
同步处理模块,对flash引脚输出的R_Bn信号使用工作时钟进行采样和延迟,输出经过同步处理的syn_r_bn信号,该信号与工作时钟同步;
计时模块,用于统计syn_r_bn信号为低电平时的时钟上升沿个数,并在syn_r_bn为高电平时,将统计结果写入FIFO;
FIFO,用于存储计时模块的统计结果,同时输出FIFO内部状态。
进一步的,命令检测模块根据FIFO内部状态决定flush信号是否有效,若FIFO内部不为空,则命令检测模块输出有效的flush信号,清空FIFO内容,否则无效flush信号,不对FIFO操作。
进一步的,当syn_r_bn为低电平时,使能计时模块,开始计时,当时钟上升沿个数不为0时,高有效timer_cnt_vld信号,当syn_r_bn变为高电平且timer_cnt_vld为高电平时,高有效push信号,将有效的计时结果即时钟上升沿个数写入FIFO,下一时刻,计时模块被高电平syb_r_bn清零,计时模块统计的时钟上升沿个数变为0,同时timer_cnt_vld变为低电平。
进一步的,syn_r_bn信号一路直接连接至计时模块的清零端,另一路经过一个非门连接至计时模块的使能端。
进一步的,FIFO前连接有一个与门,与门的输入端分别连接syn_r_bn信号和timer_cnt_vld信号,与门的输出端输出push信号至FIFO。
本发明还公开了一种统计nand flash busy时间的方法,包括以下步骤:
S01)、同步处理模块对外部输入的异步R/B_n信号使用工作时钟进行采样和延迟,输出经过同步处理的syn_r_bn信号,该信号与工作时钟同步;
S02)、命令检测模块检测到有效的输入信号New_cmd,该信号表明一次新的命令需要向flash发送,同时该模块检测到FIFO模块输出的状态表明fifo内部不为空,则命令检测模输出有效的flush信号,清空FIFO内容;否则无效flush信号,不对FIFO操作;
S03)、计数模块对syn_r_bn信号低电平时间进行统计,输出有效的时钟上升沿个数,nand flash busy时间为时钟上升沿个数乘以时钟周期,当syn_r_bn为低电平时,使能计时模块,开始计时,当时钟上升沿个数不为0时,高有效timer_cnt_vld信号;当syn_r_bn变为高电平且timer_cnt_vld为高电平时,高有效push信号,将有效的计时结果即时钟上升沿个数写入FIFO;下一时刻,计时模块被高电平syn_r_bn清零,即计时模块统计的时钟上升沿个数变为0,同时timer_cnt_vld变为低电平;
S04)、FIFO存储计时值,外部CPU根据查看需求读取FIFO内存储的计时值,外部CPU若不读取计时值,则在下次新命令执行时,冲掉FIFO中的内容。
进一步的,一次命令执行过程中,syn_r_bn信号有多个低电平,则计时模块被使能多次,记录多次busy时间,每次记录时钟上升沿个数都从0开始统计。
本发明的有益效果:本发明通过计时模块自动获取记录NAND flash busy时间,不增加软件开销且误差在一个采样时钟周期内,纳秒级别,非常精准。且本装置在每条新命令之前会对上次结果进行判断,如果上次结果有残留会清空结果,无需软件干预,计时结果会随命令不断刷新,保证每次记录的值均为当前命令所产生的busy时间值。同一条命令执行过程中,计时模块被使能多次,记录多次busy时间,每次记录时钟上升沿个数都从0开始统计,实时记录nand flash命令的busy时间。
附图说明
图1为R_Bn信号在一条命令执行过程中的波形图;
图2为对R_Bn信号进行同步处理的示意图;
图3为实施例所述装置的架构图;
图中:clock为工作时钟,timer为计时模块,Timer_cnt为时钟上升沿个数。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
NAND flash的ready/busy状态可向flash发送命令查看或根据flash输出的引脚R_Bn查看。
本实施例所述装置通过采样R_Bn引脚电平来判断flash当前状态。如果电平值为1,则表明flash在ready状态,否则flash在busy状态。flash在执行一条命令的过程中,可能会在两种状态下切换多次,因此一条命令可能对应多个busy时间。需要将中间每次busy时间都存储下来。
图1为一条nand flash 命令执行过程中R_Bn信号的波形图,一条NAND 命令对应有多段busy时间,需要单独统计每一段时间长度。
外部R_Bn信号与模块工作时钟为异步关系,如果不进行同步处理,则会导致亚稳态出现。亚稳态即时序电路在时钟上升沿时进行采样,如果此时被采样信号出现跳变,则采样结果不可预知,可能为0或1,如图2R_Bn_d1信号所示。如果该信号R_Bn_d1继续向下级多路传播,则会导致电路出现未知错误。处理方式为对R_Bn_d1信号再进行一次采样,得到syn_r_bn信号,syn_r_bn信号与工作时钟clock同步,避过R_Bn_d1的亚稳态。
如图3所示,本实施例所述装置包括:
命令检测模块,用于检测nand flash的操作命令,当有新的命令传输至命令检测模块时,输出flush信号,用于清空FIFO中的内容;
同步处理模块,对flash引脚输出的R_Bn信号使用工作时钟进行采样和延迟,输出经过同步处理的syn_r_bn信号,该信号与工作时钟同步;
计时模块,用于统计syn_r_bn信号为低电平时的时钟上升沿个数,并在syn_r_bn为高电平时,将统计结果写入FIFO;
FIFO,用于存储计时模块的统计结果,同时输出FIFO内部状态(空或满)。
本实施例中,命令检测模块根据FIFO内部状态决定flush信号是否有效,若FIFO内部不为空,则命令检测模块输出有效的flush信号,清空FIFO内容,否则无效flush信号,不对FIFO操作。
当syn_r_bn为低电平时,使能计时模块,开始计时,当时钟上升沿个数不为0时,高有效timer_cnt_vld信号,当syn_r_bn变为高电平且timer_cnt_vld为高电平时,高有效push信号,将有效的计时结果即时钟上升沿个数写入FIFO,下一时刻,计时模块被高电平syb_r_bn清零,计时模块统计的时钟上升沿个数变为0,同时timer_cnt_vld变为低电平。
计时模块的使能与清零通过syn_r_bn信号实现,具体的,syn_r_bn信号一路直接连接至计时模块的清零端,另一路经过一个非门连接至计时模块的使能端。
Push信号的有效性由syn_r_bn信号和timer_cnt_vld信号共同决定,具体的,FIFO前连接有一个与门,与门的输入端分别连接syn_r_bn信号和timer_cnt_vld信号,与门的输出端输出push信号至FIFO。
本实施例所述装置能够自动获取记录NAND flash busy时间不增加软件开销且误差在一个采样时钟周期内,纳秒级别,非常精准。且本装置在每条新命令之前会对上次结果进行判断,如果上次结果有残留会清空结果,无需软件干预,计时结果会随命令不断刷新。
实施例2
本实施例公开一种统计nand flash busy时间的方法,本方法包括以下步骤:
S01)、同步处理模块对外部输入的异步R/B_n信号使用工作时钟进行采样和延迟,输出经过同步处理的syn_r_bn信号,该信号与工作时钟同步;
S02)、命令检测模块检测到有效的输入信号New_cmd,该信号表明一次新的命令需要向flash发送,同时该模块检测到FIFO模块输出的状态表明fifo内部不为空,则命令检测模输出有效的flush信号,清空FIFO内容;否则无效flush信号,不对FIFO操作;
S03)、计数模块对syn_r_bn信号低电平时间进行统计,输出有效的时钟上升沿个数,nand flash busy时间为时钟上升沿个数乘以时钟周期,当syn_r_bn为低电平时,使能计时模块,开始计时,当时钟上升沿个数不为0时,高有效timer_cnt_vld信号;当syn_r_bn变为高电平且timer_cnt_vld为高电平时,高有效push信号,将有效的计时结果即时钟上升沿个数写入FIFO;下一时刻,计时模块被高电平syn_r_bn清零,即计时模块统计的时钟上升沿个数变为0,同时timer_cnt_vld变为低电平;这样保证每次计时值在syn_r_bn为高电平时写入FIFO一次,syn_r_bn为低电平时又重新从0开始计时。
S04)、FIFO存储计时值,外部CPU根据查看需求读取FIFO内存储的计时值,外部CPU若不读取计时值,则在下次新命令执行时,冲掉FIFO中的内容。
外部读取至FIFO为空时,表明当前记录的Timer_cnt均被有效读取;如果不需要查看,则不读取FIFO,FIFO状态非空,则在下次新命令执行时,FIFO内容被冲掉,不会被累积。
本实施例中,一次命令执行过程中,syn_r_bn信号有多个低电平,则计时模块被使能多次,记录多次busy时间,每次记录时钟上升沿个数都从0开始统计。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (6)
1.一种统计nand flash busy时间的装置,其特征在于:包括
命令检测模块,用于检测nand flash的操作命令,当有新的命令传输至命令检测模块时,输出flush信号,用于清空FIFO中的内容;
同步处理模块,对flash引脚输出的R_Bn信号使用工作时钟进行采样和延迟,输出经过同步处理的syn_r_bn信号,该信号与工作时钟同步;
计时模块,用于统计syn_r_bn信号为低电平时的时钟上升沿个数,并在syn_r_bn为高电平时,将统计结果写入FIFO;
FIFO,用于存储计时模块的统计结果,同时输出FIFO内部状态;
当syn_r_bn为低电平时,使能计时模块,开始计时,当时钟上升沿个数不为0时,高有效timer_cnt_vld信号,当syn_r_bn变为高电平且timer_cnt_vld为高电平时,高有效push信号,将有效的计时结果即时钟上升沿个数写入FIFO,下一时刻,计时模块被高电平syb_r_bn清零,计时模块统计的时钟上升沿个数变为0,同时timer_cnt_vld变为低电平。
2.根据权利要求1所述的统计nand flash busy时间的装置,其特征在于:命令检测模块根据FIFO内部状态决定flush信号是否有效,若FIFO内部不为空,则命令检测模块输出有效的flush信号,清空FIFO内容,否则无效flush信号,不对FIFO操作。
3.根据权利要求1所述的统计nand flash busy时间的装置,其特征在于: syn_r_bn信号一路直接连接至计时模块的清零端,另一路经过一个非门连接至计时模块的使能端。
4.根据权利要求1所述的统计nand flash busy时间的装置,其特征在于:FIFO前连接有一个与门,与门的输入端分别连接syn_r_bn信号和timer_cnt_vld信号,与门的输出端输出push信号至FIFO。
5.一种统计nand flash busy时间的方法,其特征在于:包括以下步骤:
S01)、同步处理模块对外部输入的异步R/B_n信号使用工作时钟进行采样和延迟,输出经过同步处理的syn_r_bn信号,该信号与工作时钟同步;
S02)、命令检测模块检测到有效的输入信号New_cmd,该信号表明一次新的命令需要向flash发送,同时该模块检测到FIFO模块输出的状态表明fifo内部不为空,则命令检测模输出有效的flush信号,清空FIFO内容;否则无效flush信号,不对FIFO操作;
S03)、计数模块对syn_r_bn信号低电平时间进行统计,输出有效的时钟上升沿个数,nand flash busy时间为时钟上升沿个数乘以时钟周期,当syn_r_bn为低电平时,使能计时模块,开始计时,当时钟上升沿个数不为0时,高有效timer_cnt_vld信号;当syn_r_bn变为高电平且timer_cnt_vld为高电平时,高有效push信号,将有效的计时结果即时钟上升沿个数写入FIFO;下一时刻,计时模块被高电平syn_r_bn清零,即计时模块统计的时钟上升沿个数变为0,同时timer_cnt_vld变为低电平;
S04)、FIFO存储计时值,外部CPU根据查看需求读取FIFO内存储的计时值,外部CPU若不读取计时值,则在下次新命令执行时,冲掉FIFO中的内容。
6.根据权利要求5所述的统计nand flash busy时间的方法,其特征在于:一次命令执行过程中,syn_r_bn信号有多个低电平,则计时模块被使能多次,记录多次busy时间,每次记录时钟上升沿个数都从0开始统计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911099899.6A CN110993012B (zh) | 2019-11-12 | 2019-11-12 | 一种统计nand flash busy时间的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911099899.6A CN110993012B (zh) | 2019-11-12 | 2019-11-12 | 一种统计nand flash busy时间的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110993012A CN110993012A (zh) | 2020-04-10 |
CN110993012B true CN110993012B (zh) | 2023-07-25 |
Family
ID=70083992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911099899.6A Active CN110993012B (zh) | 2019-11-12 | 2019-11-12 | 一种统计nand flash busy时间的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110993012B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064192A (zh) * | 2007-06-15 | 2007-10-31 | 华为技术有限公司 | 一种访问与非型闪存的系统及方法 |
CN101477838A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种与非快闪记忆体状态检测装置、系统及电子设备 |
CN101539895A (zh) * | 2009-05-07 | 2009-09-23 | 成都市华为赛门铁克科技有限公司 | 一种基于Flash的状态查询方法、装置及系统 |
CN102279823A (zh) * | 2011-06-13 | 2011-12-14 | 杭州华三通信技术有限公司 | 可实现Nand Flash状态检测的装置及方法 |
-
2019
- 2019-11-12 CN CN201911099899.6A patent/CN110993012B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064192A (zh) * | 2007-06-15 | 2007-10-31 | 华为技术有限公司 | 一种访问与非型闪存的系统及方法 |
CN101477838A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种与非快闪记忆体状态检测装置、系统及电子设备 |
CN101539895A (zh) * | 2009-05-07 | 2009-09-23 | 成都市华为赛门铁克科技有限公司 | 一种基于Flash的状态查询方法、装置及系统 |
CN102279823A (zh) * | 2011-06-13 | 2011-12-14 | 杭州华三通信技术有限公司 | 可实现Nand Flash状态检测的装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110993012A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7720670B2 (en) | Saving resources by deducing the total prediction events | |
US7209058B2 (en) | Trace receiver data compression | |
US7590912B2 (en) | Using a chip as a simulation engine | |
US7391344B2 (en) | High speed data recording with input duty cycle distortion | |
US7797685B2 (en) | Method for generating timing data packet | |
US7562259B2 (en) | Distributed depth trace receiver | |
US7797686B2 (en) | Behavior of trace in non-emulatable code | |
CN110993012B (zh) | 一种统计nand flash busy时间的装置和方法 | |
US7681084B2 (en) | TOD or time stamp inserted into trace recording stream | |
US7555681B2 (en) | Multi-port trace receiver | |
US7788645B2 (en) | Method for guaranteeing timing precision for randomly arriving asynchronous events | |
US7312736B2 (en) | Trading off visibility for volume of data when profiling memory events | |
US7721267B2 (en) | Efficient protocol for encoding software pipelined loop when PC trace is enabled | |
US20060255978A1 (en) | Enabling Trace and Event Selection Procedures Independent of the Processor and Memory Variations | |
US7590893B2 (en) | Recording control point in trace receivers | |
US7676697B2 (en) | Using a delay line to cancel clock insertion delays | |
US7555682B2 (en) | Distributed width trace receiver | |
US20060273944A1 (en) | System With Trace Capability Accessed Through the Chip Being Traced | |
US7613951B2 (en) | Scaled time trace | |
CN111290978A (zh) | 一种可配置异步接口时序中数据去干扰系统及工作方法 | |
US20060267815A1 (en) | Debug Tool Communication Through a Tool to Tool Connection | |
JP2010182241A (ja) | 評価方法および評価装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |