Generating Representative Test Sequences from Real Workload for Minimizing DRAM Verification Overhead

Dynamic Random Access Memory (DRAM) standards have evolved for higher bandwidth, larger capacity, and lower power consumption, so their specifications have become complicated to satisfy the design goals. These complex implementations have significantly increased the test time overhead for design verification; thus, a tremendous amount of command sequences are used. However, since the sequences generated by real machines or memory simulators are the results of scheduling for high performance, they result in low test coverage with repetitive patterns. Eventually, various workloads should be applied to increase the coverage, but this approach incurs significant test time overhead. A few preliminary studies have been proposed to generate predefined or random sequences to cover various test cases or increase test coverage. However, they have limitations in representing various memory behaviors of real workloads. In this article, we define a performance metric for estimating the test coverage when using command sequences. Then, our experiment shows that the coverage of a real machine and a simulator is low and similar. Also, the coverage patterns are almost the same in all tested benchmarks. To alleviate the problem, we propose a test-oriented command scheduling algorithm that increases the test coverage while preserving the memory behaviors of workloads and reducing the test time overhead by extracting representative sequences based on the similarity between command sequences. For the sequence extraction and the coverage estimation, our test sequences are embedded into vectors using bag-of-Ngrams. Compared to the simulator, our algorithm achieves 2.94x higher coverage while reducing the test overhead to 7.57%.

[1]  Reetuparna Das,et al.  ANVIL: Software-Based Protection Against Next-Generation Rowhammer Attacks , 2016, ASPLOS.

[2]  Rachata Ausavarungnirun,et al.  Google Workloads for Consumer Devices: Mitigating Data Movement Bottlenecks , 2018, ASPLOS.

[3]  Marcos André Gonçalves,et al.  Semantically-Enhanced Topic Modeling , 2018, CIKM.

[4]  Kwang-Ting Cheng,et al.  An FPGA-based re-configurable functional tester for memory chips , 2000, Proceedings of the Ninth Asian Test Symposium.

[5]  Rupak Majumdar,et al.  Edit distance for timed automata , 2014, HSCC.

[6]  Onur Mutlu,et al.  Understanding Reduced-Voltage Operation in Modern DRAM Devices , 2017, Proc. ACM Meas. Anal. Comput. Syst..

[7]  Youngsun Han,et al.  Fault Tolerance Technique Offlining Faulty Blocks by Heap Memory Management , 2019, ACM Trans. Design Autom. Electr. Syst..

[8]  Shunfei Chen,et al.  MARSS: A full system simulator for multicore x86 CPUs , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[9]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[10]  Tzu-Hsuan Huang,et al.  Random pattern generation for post-silicon validation of DDR3 SDRAM , 2015, 2015 IEEE 33rd VLSI Test Symposium (VTS).

[11]  Jongsun Park,et al.  Design of Processing-“Inside”-Memory Optimized for DRAM Behaviors , 2019, IEEE Access.

[12]  Onur Mutlu,et al.  Ramulator: A Fast and Extensible DRAM Simulator , 2016, IEEE Computer Architecture Letters.

[13]  Onur Mutlu,et al.  SoftMC: A Flexible and Practical Open-Source Infrastructure for Enabling Experimental DRAM Studies , 2017, 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[14]  Biswajit Ray,et al.  Exploiting DRAM Latency Variations for Generating True Random Numbers , 2018, 2019 IEEE International Conference on Consumer Electronics (ICCE).

[15]  M S Waterman,et al.  Identification of common molecular subsequences. , 1981, Journal of molecular biology.

[16]  Hyoung-Joo Kim,et al.  A 3.2 Gbps/pin 8 Gbit 1.0 V LPDDR4 SDRAM With Integrated ECC Engine for Sub-1 V DRAM Core Operation , 2015, IEEE Journal of Solid-State Circuits.

[17]  Nello Cristianini,et al.  Classification using String Kernels , 2000 .

[18]  Christus,et al.  A General Method Applicable to the Search for Similarities in the Amino Acid Sequence of Two Proteins , 2022 .

[19]  Bernhard Haeupler,et al.  Near-linear time insertion-deletion codes and (1+ε)-approximating edit distance via indexing , 2018, STOC.

[20]  Onur Mutlu,et al.  Detecting and Mitigating Data-Dependent DRAM Failures by Exploiting Current Memory Content , 2017, 2017 50th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[21]  Barbara P. Aichinger,et al.  DDR memory errors caused by Row Hammer , 2015, 2015 IEEE High Performance Extreme Computing Conference (HPEC).

[22]  Duy Thanh Nguyen,et al.  St-DRC: Stretchable DRAM Refresh Controller with No Parity-overhead Error Correction Scheme for Energy-efficient DNNs , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[23]  Sandip Ray,et al.  Post-Silicon Validation in the SoC Era: A Tutorial Introduction , 2017, IEEE Design & Test.

[24]  Tao Zhang,et al.  PRIME: A Novel Processing-in-Memory Architecture for Neural Network Computation in ReRAM-Based Main Memory , 2016, 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA).

[25]  Yanick Fratantonio,et al.  Drammer: Deterministic Rowhammer Attacks on Mobile Platforms , 2016, CCS.

[26]  Nicolas Courtois,et al.  On Feasibility and Performance of Rowhammmer Attack , 2017, ASHES@CCS.

[27]  ChakrabartyKrishnendu,et al.  Built-In Self-Test and Test Scheduling for Interposer-Based 2.5D IC , 2015 .

[28]  Herbert Bos,et al.  ZebRAM: Comprehensive and Compatible Software Protection Against Rowhammer Attacks , 2018, OSDI.

[29]  Sukhan Lee,et al.  TWiCe: Time Window Counter Based Row Refresh to Prevent Row-Hammering , 2018, IEEE Computer Architecture Letters.

[30]  Chris Fallin,et al.  Flipping bits in memory without accessing them: An experimental study of DRAM disturbance errors , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[31]  Sungho Kang,et al.  A Survey of Repair Analysis Algorithms for Memories , 2016, ACM Comput. Surv..

[32]  Konrad Rieck,et al.  Similarity measures for sequential data , 2011, WIREs Data Mining Knowl. Discov..

[33]  Aubin Roy,et al.  A selt-testing BOST for high-frequency PLLs, DLLs, and SerDes , 2007, 2007 IEEE International Test Conference.

[34]  Krishnendu Chakrabarty,et al.  Built-In Self-Test and Test Scheduling for Interposer-Based 2.5D IC , 2015, ACM Trans. Design Autom. Electr. Syst..

[35]  Hyuk-Jae Lee,et al.  An Effective DRAM Address Remapping for Mitigating Rowhammer Errors , 2019, IEEE Transactions on Computers.

[36]  Frederic T. Chong,et al.  Protecting Page Tables from RowHammer Attacks using Monotonic Pointers in DRAM True-Cells , 2019, ASPLOS.

[37]  Youngsun Han,et al.  Recovering from Biased Distribution of Faulty Cells in Memory by Reorganizing Replacement Regions through Universal Hashing , 2017, TODE.

[38]  Onur Mutlu,et al.  The RowHammer problem and other issues we may face as memory becomes denser , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[39]  Ding-Ming Kwai,et al.  A channel-sharable built-in self-test scheme for multi-channel DRAMs , 2018, 2018 23rd Asia and South Pacific Design Automation Conference (ASP-DAC).

[40]  Norman P. Jouppi,et al.  Staged Reads: Mitigating the impact of DRAM writes on DRAM reads , 2012, IEEE International Symposium on High-Performance Comp Architecture.

[41]  Bruce Jacob,et al.  DRAMSim2: A Cycle Accurate Memory System Simulator , 2011, IEEE Computer Architecture Letters.

[42]  W. B. Cavnar,et al.  N-gram-based text categorization , 1994 .

[43]  Jeffrey Dean,et al.  Efficient Estimation of Word Representations in Vector Space , 2013, ICLR.

[44]  Dong-Hun Lee,et al.  An Enhanced Built-off-Test Transceiver with Wide-range, Self-calibration Engine for 3.2 Gb/s/pin DDR4 SDRAM , 2018, 2018 IEEE Asian Solid-State Circuits Conference (A-SSCC).

[45]  Mohamed Hassan,et al.  MCXplore: Automating the Validation Process of DRAM Memory Controller Designs , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[46]  Jorge E. Pezoa,et al.  FREGEX: A Feature Extraction Method for Biomedical Text Classification using Regular Expressions , 2019, 2019 41st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC).

[47]  Kiyoung Choi,et al.  A scalable processing-in-memory accelerator for parallel graph processing , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).