CN111859792B - 一种闪存操作时延仿真方法 - Google Patents
一种闪存操作时延仿真方法 Download PDFInfo
- Publication number
- CN111859792B CN111859792B CN202010650845.0A CN202010650845A CN111859792B CN 111859792 B CN111859792 B CN 111859792B CN 202010650845 A CN202010650845 A CN 202010650845A CN 111859792 B CN111859792 B CN 111859792B
- Authority
- CN
- China
- Prior art keywords
- flash memory
- time delay
- data
- programming
- delay
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012360 testing method Methods 0.000 claims abstract description 25
- 239000007787 solid Substances 0.000 claims abstract description 9
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 238000012549 training Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 3
- 238000011160 research Methods 0.000 abstract description 4
- 238000005265 energy consumption Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 abstract 1
- 238000009776 industrial production Methods 0.000 abstract 1
- 230000001737 promoting effect Effects 0.000 abstract 1
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 208000033830 Hot Flashes Diseases 0.000 description 1
- 206010060800 Hot flush Diseases 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Geometry (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种闪存操作时延仿真方法。闪存以高性能、低能耗等特性被广泛应用于固态硬盘中。近年来,随着三维闪存技术的兴起,闪存在容量增大的同时,其特性也变得日益复杂。而建立闪存仿真器对深入分析闪存特性、减少闪存测试工作量、促进固态硬盘向高性能、高可靠迈进具有重要意义。闪存操作的时延仿真是闪存仿真器的重要组成部分,如何通过少量测试快速建立操作时延仿真成为亟需解决的问题。因此本发明利用生成对抗网络,通过较低成本的闪存测试,快速建立闪存操作时延仿真器,对全闪存仿真器的建立、闪存特性研究、降低工业生产成本具有重大意义。
Description
技术领域
本发明属于计算机存储领域,具体涉及一种闪存操作时延仿真方法。
背景技术
随着大数据、物联网、人工智能、5G网络、无人驾驶等热潮的兴起,闪存存储以其高可靠性、低延迟、低功耗等特点逐渐取代传统磁盘存储。以智能型手机、固态硬盘(SolidState Drive, SSD)为核心的个人存储和企业大数据存储需求持续增强。三维闪存的应用一定程度上缓解了大容量存储的带来的挑战,但其性能、可靠性等特性变得日益复杂。而对闪存进行特性分析,有助于设计更高性能、高可靠性的固态硬盘。
但目前闪存的测试与特性分析工作异常复杂,面对种类繁多的芯片型号、闪存类型、以及复杂的堆叠结构,测试工作费时费力,导致特性分析工作举步维艰。而建立闪存仿真器可以有助于快速生成数据用以闪存研究,因此如何利用少量测试数据建立闪存仿真器是目前急待解决的问题。针对现有问题,本发明公开了一种闪存操作时延仿真方法,以解决闪存仿真器中时延仿真的难点,对闪存特性研究、降低闪存测试成本具有重要意义。
发明内容
针对以上需求与闪存特性研究,本发明提供了一种闪存操作时延仿真方法。技术原理为,测试少量闪存操作时延数据,利用生成对抗网络,训练得到一个闪存操作时延仿真器,从而快速生成可与真实测试数据媲美的时延仿真数据,实现全闪存仿真器的一个重要组成部分。
本发明提供了一种闪存擦除时延仿真方法,包括以下步骤:
(1)对闪存进行测试,收集闪存块在不同擦除周期下的擦除时延;
(2)设计一个神经网络判别器一D1,将一个块在不同擦除周期下的擦除时延作为一个向量输入,如[T(pe=1), T(pe=500),……, T(pe=N)],pe表示编 程/擦除周期;
(3)重复输入剩余块的擦除时延数据,对神经网络判别器一D1进行训练;
(4)设计一个基于神经网络的擦除时延生成器G1;
(5)用擦除时延生成器G1生成一组数据,并用神经网络判别器一D1判别这组数据是否能达到仿真效果;
(6)不断调整擦除时延生成器G1参数,直到生成数据能通过神经网络判别器一D1。
本发明提供了一种闪存编程时延仿真方法,包括以下步骤:
(1)对闪存进行测试,收集闪存块在不同编程周期下页的编程时延;
(2)设计一个神经网络判别器二D2,将一个块的所有页在不同编程周期下的编程时延作为一个向量输入,如[T(pe=1, pg=0), T(pe=1, pg=1),……, T(pe=N, pg=M)],pe表示编程周期,pg表示页编号;
(3)重复输入剩余块的编程时延数据,对神经网络判别器二D2进行训练;
(4)设计一个基于神经网络的编程时延生成器G2;
(5)用编程时延生成器G2生成一组数据,并用神经网络判别器二D2判别这组数据是否能达到仿真效果;
(6)不断调整编程时延生成器G2参数,直到生成数据能通过神经网络判别器二D2。
优选地,在本发明中,上述两个方法中步骤(1)中测试的块,是在闪存芯片中未经过擦除/编程操作的块随机采样获得的。
优选地,在本发明中,由于一个闪存块包含若干页,一种闪存编程时延仿真方法中步骤(2)中页编程时延组成的向量可以是一个二维的向量(编程/擦除周期,页),也可以调整到一维向量中表示。
优选地,在本发明中,由于一个闪存块包含若干页,闪存页的读取时延仿真方法的步骤与一种闪存编程时延仿真方法的步骤是一致的,但如果测试结果中页的读时延随编程/擦除周期增大保持不变,则无需设计读时延仿真器。
优选地,在本发明中,上述两个方法中测试时写入的数据是随机的,且在不同字线上写入的数据也完全不同,以模拟固态硬盘中存储真实数据的场景。
要求保护的技术方案为:
一种闪存操作时延仿真方法,其中,擦除时延仿真包括以下步骤:
(1)对闪存进行测试,收集闪存块在不同擦除周期下的擦除时延;
(2)设计一个神经网络判别器一(D1),将一个块在不同擦除周期下的擦除时延作为一个向量输入,记为T(pe=N),pe表示擦除周期;
(3)重复输入剩余块的擦除时延数据,对神经网络判别器一(D1)进行训练;
(4)设计一个基于神经网络的擦除时延生成器(G1);
(5)用擦除时延生成器(G1)生成一组数据,并用神经网络判别器一(D1)判别这组数据是否能达到仿真效果;
(6)不断调整擦除时延生成器(G1)参数,直到生成数据能通过神经网络判别器一(D1)。
一种闪存操作时延仿真方法,其中,编程时延仿真包括以下步骤:
(1)对闪存进行测试,收集闪存块在不同编程周期 下页的编程时延;
(2)设计一个神经网络判别器二(D2),将一个块的所有页在不同编程周期下的编程时延作为一个向量输入;
(3)重复输入剩余块的编程时延数据,对神经网络判别器二(D2)进行训练;
(4)设计一个基于神经网络的编程时延生成器(G2);
(5)用编程时延生成器(G2)生成一组数据,并用神经网络判别器二(D2)判别这组数据是否能达到仿真效果;
(6)不断调整编程时延生成器(G2)参数,直到生成数据能通过神经网络判别器二(D2)。
优选地,所述步骤(1)中所述闪存块,是在闪存芯片中未经过擦除/编程操作的块随机采样获得的。
优选地,编程时延仿真步骤(2)中所述的向量可以是一个二维的向量表示,也可以是一维向量表示;二维的向量记为T(pe=N, pg=M),pe表示编程/擦除周期,pg表示页编号。
优选地,编程时延仿真中闪存页的读取时延仿真步骤同编程时延仿真的步骤是一致的,但如果测试结果中页的读时延随编程/擦除周期增大保持不变,则无需设计读时延仿真器。
优选地,测试时写入的数据是随机的,且在不同字线上写入的数据也完全不同,以模拟固态硬盘中存储真实数据的场景。
本发明的有益效果:
本发明能够通过测试少量闪存操作的编程、擦除时延数据,利用生成对抗网络,快速建立操作时延仿真器,是全闪存仿真器的重要组成部分。
附图说明
图1为本发明一种闪存擦除时延仿真方法步骤流程图。
实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的整体思路在于,通过闪存测试,获取闪存块在不同编程/擦除周期下的编程时延和擦除时延数据,应用生成对抗网络设计时延生成器与判别器,最终达到快速生成可与真实数据媲美的时延数据。具体地如图1所示,包括以下步骤:
(1)对闪存进行测试,收集闪存块在不同编程/擦除周期下块的擦除时延和页的编程时延;
(2)设计擦除时延和编程时延神经网络判别器D1和D2;
(3)分别输入采集的擦除时延和编程时延数据到步骤(2)对应的判别器中进行训练,如D1中训练的数据格式为[T(pe=1), T(pe=500),……, T(pe=N)],pe表示编 程/擦除周期。D2中训练的数据格式为[T(pe=1, pg=0), T(pe=1, pg=1),……, T(pe=N, pg=M)],pe表示编程/擦除周期,pg表示页编号;
(4)设计基于神经网络的擦除时延和编程时延生成器G1和G2;
(5)不断生成数据、调整生成器G1和G2的参数,直到生成数据能通过判别器。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种闪存操作时延仿真方法,其特征在于,擦除时延仿真包括以下步骤:
(1)对闪存进行测试,收集闪存块在不同擦除周期下的擦除时延;
(2)设计一个神经网络判别器一(D1),将一个块在不同擦除周期下的擦除时延作为一个向量输入,记为T(pe=N),pe表示擦除周期;
(3)重复输入剩余块的擦除时延数据,对神经网络判别器一(D1)进行训练;
(4)设计一个基于神经网络的擦除时延生成器(G1);
(5)用擦除时延生成器(G1)生成一组数据,并用神经网络判别器一(D1)判别这组数据是否能达到仿真效果;
(6)不断调整擦除时延生成器(G1)参数,直到生成数据能通过神经网络判别器一(D1)。
2.根据权利要求1所述的一种闪存操作时延仿真方法,其特征在于,步骤(1)中所述闪存块,是在闪存芯片中未经过擦除操作的块随机采样获得的。
3.根据权利要求1所述的一种闪存操作时延仿真方法,其特征在于,闪存页的读取时延仿真步骤与上述步骤(1)-(6)相同,但如果测试结果中页的读时延随擦除周期增大保持不变,则无需设计读时延仿真器。
4.根据权利要求1所述的一种闪存操作时延仿真方法,其特征在于,所述测试时写入的数据是随机的,且在不同字线上写入的数据也完全不同,以模拟固态硬盘中存储真实数据的场景。
5.一种闪存操作时延仿真方法,其特征在于,编程时延仿真包括以下步骤:
(1)对闪存进行测试,收集闪存块在不同编程周期下页的编程时延;
(2)设计一个神经网络判别器二(D2),将一个块的所有页在不同编程周期下的编程时延作为一个向量输入;
(3)重复输入剩余块的编程时延数据,对神经网络判别器二(D2)进行训练;
(4)设计一个基于神经网络的编程时延生成器(G2);
(5)用编程时延生成器(G2)生成一组数据,并用神经网络判别器二(D2)判别这组数据是否能达到仿真效果;
(6)不断调整编程时延生成器(G2)参数,直到生成数据能通过神经网络判别器二(D2)。
6.根据权利要求5所述的一种闪存操作时延仿真方法,其特征在于,步骤(1)中所述闪存块,是在闪存芯片中未经过编程操作的块随机采样获得的。
7.根据权利要求5所述的一种闪存操作时延仿真方法,其特征在于,步骤(2)中所述的向量是一个二维向量表示或一维向量表示;二维的向量记为T(pe=N, pg=M),pe表示编程周期,pg表示页编号。
8.根据权利要求5所述的一种闪存操作时延仿真方法,其特征在于,闪存页的读取时延仿真步骤与上述步骤(1)-(6)相同,但如果测试结果中页的读时延随编程周期增大保持不变,则无需设计读时延仿真器。
9.根据权利要求5所述的一种闪存操作时延仿真方法,其特征在于,所述测试时写入的数据是随机的,且在不同字线上写入的数据也完全不同,以模拟固态硬盘中存储真实数据的场景。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010650845.0A CN111859792B (zh) | 2020-07-08 | 2020-07-08 | 一种闪存操作时延仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010650845.0A CN111859792B (zh) | 2020-07-08 | 2020-07-08 | 一种闪存操作时延仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111859792A CN111859792A (zh) | 2020-10-30 |
CN111859792B true CN111859792B (zh) | 2023-12-26 |
Family
ID=73152000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010650845.0A Active CN111859792B (zh) | 2020-07-08 | 2020-07-08 | 一种闪存操作时延仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859792B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581738A (en) * | 1993-06-07 | 1996-12-03 | Xilinx, Inc. | Method and apparatus for back-annotating timing constraints into simulation models of field programmable gate arrays |
CN109376502A (zh) * | 2018-12-27 | 2019-02-22 | 贵州华芯通半导体技术有限公司 | 基于机器学习算法进行串行链路仿真的方法、***和装置 |
US10679723B1 (en) * | 2018-12-06 | 2020-06-09 | Pdf Solutions, Inc. | Direct memory characterization using periphery transistors |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417902B2 (en) * | 2008-08-05 | 2013-04-09 | Atmel Corporation | One-time-programmable memory emulation |
CN102163165B (zh) * | 2011-05-26 | 2012-11-14 | 忆正存储技术(武汉)有限公司 | 一种闪存错误预估模块及其预估方法 |
WO2019012330A2 (en) * | 2017-07-12 | 2019-01-17 | Banuba Limited | COMPUTER-IMPLEMENTED METHODS AND CONFIGURED COMPUTER SYSTEMS TO GENERATE SYNTHETIC REPRESENTATIONS WITH PHOTOREALIST IMITATION OF SUBJECTS |
US20190340499A1 (en) * | 2018-05-04 | 2019-11-07 | Microsoft Technology Licensing, Llc | Quantization for dnn accelerators |
US10970443B2 (en) * | 2018-11-20 | 2021-04-06 | Synopsys, Inc. | Generation of module and system-level waveform signatures to verify, regression test and debug SoC functionality |
-
2020
- 2020-07-08 CN CN202010650845.0A patent/CN111859792B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581738A (en) * | 1993-06-07 | 1996-12-03 | Xilinx, Inc. | Method and apparatus for back-annotating timing constraints into simulation models of field programmable gate arrays |
US10679723B1 (en) * | 2018-12-06 | 2020-06-09 | Pdf Solutions, Inc. | Direct memory characterization using periphery transistors |
CN109376502A (zh) * | 2018-12-27 | 2019-02-22 | 贵州华芯通半导体技术有限公司 | 基于机器学习算法进行串行链路仿真的方法、***和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111859792A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12001317B2 (en) | Waveform based reconstruction for emulation | |
CN103473159B (zh) | 基于动态重构的fpga配置信息翻转测试平台及测试方法 | |
CN105183993A (zh) | 一种电磁轨道炮综合仿真平台及方法 | |
CN104504292A (zh) | 基于bp神经网络预测循环流化床锅炉最佳工作温度的方法 | |
CN103150228A (zh) | 面向高速缓冲存储器的可综合伪随机验证方法及装置 | |
CN111427794A (zh) | 一种用于加速存储部件网表仿真的方法、***及介质 | |
CN113721927B (zh) | 基于fpga的ate测试向量编译加速方法及ate*** | |
CN102915448A (zh) | 一种基于AdaBoost的三维模型自动分类方法 | |
CN111563582A (zh) | 一种在fpga上实现及优化加速卷积神经网络的方法 | |
Bakir et al. | High performance simulations of kernel P systems | |
CN106354515A (zh) | 基于模型的SystemC代码生成*** | |
CN103580954A (zh) | 交换机芯片软件仿真验证的装置及方法 | |
CN116450486A (zh) | 多元异构计算***内节点的建模方法、装置、设备及介质 | |
WO2022103668A1 (en) | Faster coverage convergence with automatic test parameter tuning in constrained random verification | |
CN103207804B (zh) | 基于集群作业日志的MapReduce负载模拟方法 | |
CN111859792B (zh) | 一种闪存操作时延仿真方法 | |
CN104536864A (zh) | 一种位翻转可控的Nand Flash仿真模型的注错方法 | |
CN106776779A (zh) | 基于Mac平台的JSON数据生成实体文件的方法 | |
CN102262208B (zh) | 一种芯片测试的方法和*** | |
CN111859791B (zh) | 一种闪存数据保存错误率仿真方法 | |
Salah | A unified UVM architecture for flash-based memory | |
CN111814414A (zh) | 一种基于遗传算法的覆盖率收敛方法及*** | |
CN111243680A (zh) | 用于模拟原子动态的方法和装置 | |
CN104679963A (zh) | 一种基于tcl的仿真验证装置和方法 | |
CN107679282A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |