Space sensitive cache dumping for post-silicon validation

The internal state of complex modern processors often needs to be dumped out frequently during post-silicon validation. Since the last level cache (considered L2 in this paper) holds most of the state, the volume of data dumped and the transfer time are dominated by the L2 cache. The limited bandwidth to transfer data off-chip coupled with the large size of L2 cache results in stalling the processor for long durations when dumping the cache contents off-chip. To alleviate this, we propose to transfer only those cache lines that were updated since the previous dump. Since maintaining a bit-vector with a separate bit to track the status of individual cache lines is expensive, we propose 2 methods: (i) where a bit tracks multiple cache lines and (ii) an Interval Table which stores only the starting and ending addresses of continuous runs of updated cache lines. Both methods require significantly lesser space compared to a bit-vector, and allow the designer to choose the amount of space to allocate for this design-for-debug (DFD) feature. The impact of reducing storage space is that some non-updated cache lines are dumped too. We attempt to minimize such overheads. Further, the Interval Table is independent of the cache size which makes it ideal for large caches. Through experimentation, we also determine the break-even point below which a t-lines/bit bit-vector is beneficial compared to an Interval Table.

[1]  Azadeh Davoodi,et al.  Trace signal selection to enhance timing and logic visibility in post-silicon validation , 2010, 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[2]  David Lin,et al.  QED: Quick Error Detection tests for effective post-silicon validation , 2010, 2010 IEEE International Test Conference.

[3]  Vijay Janapa Reddi,et al.  PIN: a binary instrumentation tool for computer architecture research and education , 2004, WCAE '04.

[4]  Nicola Nicolici,et al.  On Automated Trigger Event Generation in Post-Silicon Validation , 2008, 2008 Design, Automation and Test in Europe.

[5]  Valeria Bertacco,et al.  Post-silicon bug diagnosis with inconsistent executions , 2011, 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[6]  Gérard Memmi,et al.  A reconfigurable design-for-debug infrastructure for SoCs , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[7]  Prabhat Mishra,et al.  Efficient trace data compression using statically selected dictionary , 2011, 29th VLSI Test Symposium.

[8]  Kees G. W. Goossens,et al.  A high-level debug environment for communication-centric debug , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[9]  Igor L. Markov,et al.  Automating post-silicon debugging and repair , 2007, ICCAD 2007.

[10]  Eli Singerman,et al.  Transaction based pre-to-post silicon validation , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[11]  Nicola Nicolici,et al.  On Using Lossy Compression for Repeatable Experiments during Silicon Debug , 2011, IEEE Transactions on Computers.

[12]  Nicola Nicolici,et al.  Embedded Debug Architecture for Bypassing Blocking Bugs During Post-Silicon Validation , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[13]  Tian Zhang,et al.  BIRCH: an efficient data clustering method for very large databases , 1996, SIGMOD '96.

[14]  Qiang Xu,et al.  Trace signal selection for visibility enhancement in post-silicon validation , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[15]  Hong Wang,et al.  BLoG: Post-Silicon bug localization in processors using bug localization graphs , 2010, Design Automation Conference.

[16]  Nicola Nicolici,et al.  Automated trace signals selection using the RTL descriptions , 2010, 2010 IEEE International Test Conference.

[17]  Sanjit A. Seshia,et al.  Scalable specification mining for verification and diagnosis , 2010, Design Automation Conference.

[18]  Masahiro Fujita,et al.  Global transaction ordering in Network-on-Chips for post-silicon validation , 2011, 2011 12th International Symposium on Quality Electronic Design.

[19]  Smruti R. Sarangi,et al.  Efficient on-line algorithm for maintaining k-cover of sparse bit-strings , 2012, FSTTCS.

[20]  Nicola Nicolici,et al.  Automated Trace Signals Identification and State Restoration for Improving Observability in Post-Silicon Validation , 2008, 2008 Design, Automation and Test in Europe.

[21]  Valeria Bertacco,et al.  Simulation-based signal selection for state restoration in silicon debug , 2011, 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[22]  Preeti Ranjan Panda,et al.  Compressing Cache State for Postsilicon Processor Debug , 2011, IEEE Transactions on Computers.

[23]  Subhasish Mitra,et al.  IFRA: Instruction Footprint Recording and Analysis for post-silicon bug localization in processors , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[24]  Preeti Ranjan Panda,et al.  Online cache state dumping for processor debug , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[25]  Valeria Bertacco,et al.  Dacota: Post-silicon validation of the memory subsystem in multi-core designs , 2009, 2009 IEEE 15th International Symposium on High Performance Computer Architecture.

[26]  Masahiro Fujita,et al.  Automated data analysis techniques for a modern silicon debug environment , 2012, 17th Asia and South Pacific Design Automation Conference.

[27]  Qiang Xu,et al.  On signal tracing in post-silicon validation , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[28]  Kwang-Ting Cheng,et al.  A path-based methodology for post-silicon timing validation , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[29]  Nicola Nicolici,et al.  On using lossless compression of debug data in embedded logic analysis , 2007, 2007 IEEE International Test Conference.

[30]  Sandip Kundu,et al.  A Design-for-Debug (DfD) for NoC-Based SoC Debugging via NoC , 2008, 2008 17th Asian Test Symposium.

[31]  Pierre Michaud Online compression of cache-filtered address traces , 2009, 2009 IEEE International Symposium on Performance Analysis of Systems and Software.