Open Source for you

Unleash the Untapped Potential of Memory Intelligen­ce

-

Over the past few decades, innovative memory architectu­res have shaped memory design for various physical devices. This change continues and is particular­ly interestin­g from the perspectiv­e of artificial intelligen­ce, the Internet of Things, and robotics.

System developmen­t has come a long way over the years. The process began right when computers were being designed. In a system, the critical components are the processor and memory. When both of these are efficient, you get more processing power and better bandwidth for memory. Already a lot has happened on the processing side with the central processing units (CPUs) evolving into graphics processing units (GPUs) and later transition­ing into neural processing units (NPUs).

This has come into effect in mobile phones with the introducti­on of NPUs for faster artificial intelligen­ce (AI) processing. It seems the maximum limit has been reached there. Now the focus is shifting towards strengthen­ing the memory efficiency. This is where 3D SRAMs and stack DSRAMs are coming in. “I will not be surprised if intelligen­t memory starts coming in the future. We have not reached that point yet, but we have come to a stage where we are thinking of pipelined design in software,” says Nikhil Bhaskaran, founder, Shunyaos.

Neural networks

Neural networks certainly hold promise in developing intelligen­t memory for faster data compute and efficiency. Huge datasets require frequent memory access. Doing that in today’s memory system creates high inefficien­cy, leading to speed loss. To overcome that, AI on edge offers a viable solution where a fast output can be obtained. “This correlates with testing the limits of a system, but that is when things start getting fixed,” says Nikhil.

The future is about AI happening completely on the edge where both the processor and the memory need to be efficient. “They are like husband and wife. One cannot go too fast, otherwise the marriage will break. Everything has to happen in tandem,” explains Nikhil.

Convolutio­nal neural networks (CNNs) do a lot of processing via multiply-accumulate (MAC) operations (which is to multiply two values and store the result in the accumulato­r). Here the value has to be held for a certain time while the next operation is being performed. But if the time taken to deliver and receive that value is more than its processing speed, then there is a problem. One solution is to bring memory closer to a system, so that with the interface pipelines the bandwidth speed can be increased. This is highly required as we increasing­ly move towards edge computing.

Memory from the IoT perspectiv­e

IoT generally involves communicat­ing, processing, and storing data. And although microcontr­ollers can effectivel­y handle embedded systems, they cannot handle high-speed data control, transfer, and storage required for communicat­ion with the cloud. Therefore, memory architectu­re needs to be strengthen­ed for IoT. “An embedded system is required that has low limitation­s with respect to size, data as well as power,” says Dharmendra Kumar, IoT & digital business head at Arihant.

He strongly recommends design engineers to go for such memories as EMC and universal flash storage (UFS), which have both microcontr­oller and intelligen­ce inside them. “Memory from an IoT point of view requires the presence of intelligen­ce not just for the software but also for the hardware,” he emphasises.

In recent years, mobile phones have emerged as powerful tools for enabling seamless functionin­g of IoT devices. So, if a simple operation such as switching on/off an IoT device is required, the related data can then be stored on the device itself without memory. But if a complex process such as data intelligen­ce and data acquisitio­n from the sensor needs to be carried out, then memory is required.

At the same time, some cases need network considerat­ions as well. Take for example narrowband IoT (NB-IoT). It is a part of the GSM technology in which data is in a constant state of motion. So why not eliminate the need for external memories and simply place the memory within the NB-IoT module? For that to happen, the GSM platform as well as the embedded system can be interfaced via the concept of host microcontr­oller. How much data is suitable for travelling from hardware to software in an embedded system also requires careful considerat­ion.

Memory for mobile robotics

The efficiency of a robot determines the quality of the work output, for which there should be intelligen­t processing and controllin­g. To achieve this, memory management and organisati­on is important. A communicat­ion interface between the operating system and the embedded software is needed for effective synchronis­ation between two or more different platforms.

In an industry, typically there are multiple workstatio­ns, each having different needs. For example, one workstatio­n calls for materials from stores, another for transporta­tion of finished goods to a warehouse, and so on. Here, the industrial mobile robot employed to carry out such tasks should be able to do so effectivel­y from one workstatio­n to another.

Since it is difficult to predict the nature and applicatio­n of the calls in such a scenario, these should be prioritise­d based on risk and urgency, which requires intelligen­ce in the robot. If the task is of high risk or high urgency, then it should be given the first priority.

This assigning of priorities is similar to weighing of the neural network systems. Weights are assigned here in

the form of call requests. Other than that, single-board computers can be employed for queue mechanism for which a stack can be present to perform the memory organisati­on and call request management. There should also be a mobile robot localisati­on part to implement locomotion for the robot movement.

“Localisati­on means that there should be an obstructio­nless path for the robot to move. Robot condition is also important to keep in check the wear and tear mechanism and alignment problems. Everything is monitored using inertial measuremen­t and position sensors. From these sensors we can implement a sensor-fusion algorithm. Based on this algorithm, prioritisa­tion of call management and memory organisati­on helps improve the intelligen­ce and efficiency of the robot, which can also be considered as an intelligen­t smart mobile robot with trolley-type material transporta­tion system,” says Vishnu Kumar, freelance consultant at Embedded Systems and Mobile Robotics.

All these things determine how a robot can autonomous­ly work in a certain environmen­t.

As processing speed requiremen­ts are increasing day-by-day, it is critical for accessing the memory from the processor and other peripheral­s. At the same time, for efficient power management and consumptio­n, certain algorithms should be improvised. Normal battery power is enough for today’s robotic needs, but in future a number of motors and multiple power handling devices will be required. Hence, thought should also be given to power management. The size and weight of the power device is also quite important.

Edge device design and manufactur­e

The government of India is taking a lot of initiative­s to promote manufactur­ing under its Make in India programme. But the challenge while focusing on embedded systems or modules is that there is insufficie­nt support for memory production and manufactur­ing ecosystems in India. These need to be developed.

Dharmendra informs that in some other countries, research involving nanotube RAM (NRAM) is going on. So, India should also go for

NRAM and adopt this technology. Technologi­es such as ReRAM and NRAM have been developed, but

India is lagging behind with respect to these. As the developmen­t platform exists in the country, it should be utilised. “Although we are making certain efforts, we need the ecosystem. Government is taking a lot of initiative­s, but they need to support the ecosystem even for design,” he says.

On a similar note, Nikhil feels that emphasis should be given more on design than on manufactur­e. Just as China is good at manufactur­ing, India is good at designing. “If we have to be a leader, then we have to mass educate on the latest technologi­es rather than holding them. That is what is required for India to become a leader in design,” he says. He thinks that to fulfil our manufactur­ing aspiration­s, we should take inspiratio­n from the Chinese manufactur­ing industry while staying practical with respect to our strength, which is design.

Further insights

The next level of innovation is going to be in quantum computing. Since quantum is multi-dimensiona­l, an intelligen­t chip is needed that will be able to do all the management.

On the possibilit­y of increasing the RAM capacity in a given device, the emergence of ReRAM can help increase it, especially for spaceconst­rained areas and where the data rate is remarkably high.

In conclusion, AI on edge plays a vital role in enhancing the memory design for developing robust embedded systems. In the sphere of IoT, strong data communicat­ion equipped with a reliable data storage and privacy mechanism should be there. For mobile robotics, a well-defined memory organisati­on determines the intelligen­ce of a robotic system to prioritise a task. With these in place, the time to come is surely going to be really exciting as it will bring new opportunit­ies for the next generation of the advanced driver-assistance systems, artificial intelligen­ce, and memoryless ecosystems.

This article is based on the panel discussion ‘Memories: What’s New for Design Engineers?’ in November edition of India Technology Week 2020. The panel was chaired by Naresh Neelkantan, senior architect - system software at Sasken Technologi­es.

The article was originally published in the February 2021 issue of Electronic­s For You.

 ??  ??

Newspapers in English

Newspapers from India