{'fraction_non_alphanumeric': 0.019008264462809916, 'fraction_numerical': 0.005785123966942148, 'mean_word_length': 4.504545454545455, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
High-Speed SRAM with Flexible Read/Write Data Width Tailored for Convolutional Neural Network

This paper discusses the design of a high-speed Static Random Access Memory (SRAM) which is tailored for convolutional neural network (CNN). Training process of CNNs requires memory to be accessed with different data widths, of which the most popular data widths are from 1 byte to 4 bytes. Traditional SRAMs have a set read/write data width and thus can only read/write one byte at a time. This slows down the training process of CNNs. SRAMs have become one of the bottlenecks of CNNs training speed. We proposed an SRAM with a new architecture that can read/write at flexible data widths. It can read/write any data from 1 byte to 4 bytes. This allows multiple bytes of data to be accessed each clock cycle and increases the memory access speed up to 4 times compared to traditional SRAMs. This can greatly improve the CNN training speed. A 1 KB traditional SRAM and another 1 KB SRAM based on the proposed architecture are also designed and simulated to further verify our design concepts. Power overhead and layout area overhead are also analyzed between the proposed SRAM architecture and the traditional SRAM.