Lyric Semiconductor thinks it is probably time to blend analog and digital technology into a new technology they call probability processing. This MIT spinoff uses an approach outlined in CEO and cofounder Ben Vigoda PhD thesis, Analog Logic: Continuous-Time Analog Circuits for Statistical Signal Processing.
As you might expect, probability processing is based on probabilities and probability equations. Lyric’s own probability programming language is called PSBL (Probability Synthesis to Bayesian Logic). PSBL will be used by programmers to program the upcoming GP5 general-purpose programmable probability platform but first the technology will be deployed in flash memory components.
Yes, that is not a mistake, the same type of probability circuits are being used in the Lyric Error Correction (LEC) for Flash Memory support. Error correction is becoming more important to flash memory as the size and complexity of the flash memory arrays increases. The memory is not error free and error correction allows large arrays to provide reliable storage. LEC looks to deliver the same capability as a digital implementation of an error correcting subsystem but LEC has 30x smaller footprint and cuts power consumption by a factor of 12 when operating at 1 Gbit/s speeds. All this while delivering a higher bandwidth than most digital implementations.
Internally, Lyric's probability gates are essentially analog devices typically working with analog values called pbits that have a digital resolution of approximately 8-bits although the approach is applicable for different resolutions as well. In this case the pbit probability prob(variable=1)=0% is represented by GND and prob(variable=1)=100% is VDD. The pbits are processed by Bayesian probability gates. The type of encoding may be current or voltage depending upon the circuit being used. Lyric's design interface hides the underlying implementation details.
Unlike cascaded analog circuits, Lyric uses a clocked approach so values flow through the gates and the state is latched. The approach is similar that that found in digital combinatorial logic allowing parallel, queued computation. A typical chain oriented (Fig. 1) computation like that used in the LEC processing meshes well with this approach since sequential data is often read from flash and the system can compute subsequent values for each piece of data.
Probability computations deal with probabilities and the results of many computations tends to converge towards certainty, a probability of 1, prob(output=1)=100% or prob(output=1)=0%. This is what LEC requires. Reaching this goal will vary depending upon the logic employed and the problem being addressed. For example, Lyric developed a Sudoku playing program that takes an iterative approach to computing the probability of every number in every square and where the result is usually that one number is most probable in each square. The program takes about 8 to 16 iterations to solve a game depending upon the complexity of the problem.
The same type of game playing program can, and has been, written using conventional programming languages. Likewise a probability-based application has been written in Matlab by Lyric that could do the same computations as Lyric hardware could. The difference is the sequential floating point computations performed by a conventional digital CPU would be significantly more costly in terms of power consumption and execution time compared to what the Lyric hardware could do and the results would be the same.
Lyric’s technology is not better than digital for all applications. Digital logic handles state machines more efficiently and today's digital computing platforms are essentially big, complex state machines. When performing state machine logic, a digital computer is a better choice, when calculating probabilities, probability processing will outperform digital.
Probabilities are utilized in a wide range of computer applications. Lyric's technology can be used in many of these applications from financial modeling to fraud detection or from voice recognition to image processing. Like graphics processing units (GPUs), Lyric's probability technology will be blended with digital microprocessors and possibly analog circuits directly allowing each section to handle their part in an optimum fashion. And as with GPUs, the fundamentals are changing and developers will need to adapt if they are to remain on the cutting edge.