The University of Massachusetts Amherst
Categories
Operating System

What’s KRACK, and Why Should It Bother You?

You may have recently noticed a new headline on the IT Newsreel you see when logging into a UMass service. The headline reads “Campus Wireless Infrastructure Patched Against New Cybersecurity Threat (Krack Attack)“. It’s good to know that UMass security actively protects us from threats like Krack, but what is it?

The KRACK exploit is a key reinstallation attack against the WPA2 protocol. That’s a lot of jargon in one sentence, so let’s break it down a little. WPA2 stands for Wi-Fi Protected Access Version 2. It is a security protocol that is used by all sorts of wireless devices in order to securely connect to a Wi-Fi network. There are other Wi-Fi security protocols, such as WPA and WEP, but WPA2 is the most common.

WPA2 is used to secure wireless connections between the client, such as your smartphone or laptop, and the router/access point that transmits the network. If you have a Wi-Fi network at home, then you have a router somewhere that transmits the signal. It’s a small box that connects to a modem – another small black box – which might connect to a large terminal somewhere in your house called the ONT, and which eventually leads to the telephone poles and wiring outside in your neighborhood. Secure connections have to be implemented at every level of your connection, which can range from the physical cables that are maintained by your internet service provider, all the way to the web browser running on your computer.

In order to create a secure connection between the router and the client, the two devices have to encrypt the data that they send to each other. In order to encrypt and decrypt the data they exchange, the two devices have to exchange keys when they connect. The two devices then use these keys to encrypt the messages that they send to each other, so that in transit they appear like gibberish, and only the two devices themselves know how to decipher it; they use these same keys for the duration of their communications.

WPA2 is just a protocol, meaning that is a series of rules and guidelines that a system must adhere to in order to support the protocol. WPA2 must be implemented in the software of a wireless device in order to be used. Most modern wireless devices support the WPA2 protocol. If you have a device that can connect to eduroam, the wireless network on the UMass Amherst campus, then that device supports WPA2.

This KRACK exploit is a vulnerability in the WPA2 protocol that was discovered by two Belgian researchers. They were able to get WPA2-supporting devices to send the same encrypted information over and over again and crack the key by deciphering known encrypted text content. They were able to get WPA2-supporting Android and Linux devices to reset their WPA2 keys to all zeroes, which made it even easier to crack encrypted content.

The real concern is that this is a vulnerability in the WPA2 protocol itself, not just any one implementation of it. Any software’s implementation of WPA2 that is correct is vulnerable to this exploit (newsflash – most are). That means essentially all wireless-enabled devices need to be updated to patch this vulnerability. This can be especially cumbersome because many internet-of-things devices (think of security webcams, web-connected smart home tools like garage doors) are rarely ever updated, if at all. Their software is assumed to just work without needing regular maintenance. All of those devices are vulnerable to attack. This WIRED article addresses the long-term impact that the KRACK exploit may have on the world.

The good news is that many software implementation patches are already available for your most critical devices. UMass Amherst has already updated all of our wireless access points with a patch to protect against the KRACK exploit. Also, with the exception of Android & Linux devices which are vulnerable to key resets, it is not very easy to exploit this vulnerability on most networks. One would need to generally know what they are looking for in order to crack the encryption key, but an attacker may be able to narrow down possibilities with social cues, such as if they see you at Starbucks shopping for shoes on Amazon.

The general takeaway is that you should update all of your wireless devices as soon as possible. If you are interested in learning more about KRACK, how it works on a technical level, and see a demonstration of an attack, check out the researchers’ website.

Categories
Operating System

Use Windows 10 Taskbar for Google Search

Search is a versatile feature in Windows 10. This tool allows you to browse files or programs on your computer, answer basic questions using Cortana, Microsoft’s personal assistant tool, and browse the web. The latter feature is what we will be focusing in this blog. By publishing this article, I do not intend to make a statement about which search engine or browser is better. It is simply a way for users to customize their PC so that it aligns with their search preferences.

Browsing the web is one of the most important features in a modern PC user, but Microsoft restricts web searches in the taskbar to use it’s own search engine, Bing, and will use the Microsoft Edge browser by default for any web links. Many Windows users install Google Chrome or another alternative to Microsoft’s default browser, and the best way for them to search the web with Windows 10 would be if it was using their preferred browser and search engine combo.

This How-To will mainly focus on using the search feature with Google search on Google Chrome. Again, I do not mean this article as an endorsement of one browser / search combo over another, and will specifically reference Google Chrome, because it is the most widely-used browser in the United States, and can re-direct searches using specific extensions not available on other browsers.

Step 1: Change Default Browser

First make sure you have Google Chrome browser installed on your Windows 10 machine.

Next, go to the bottom left and click the windows icon. From here, you can access the Windows search. Type “default” and you should be provided with an icon for “default app settings.” Alternatively, you can open the settings app and navigate to System, then Default Apps.

From here, scroll down to the “Web browser” section, and make sure that Google Chrome is selected.

At this point, any web search through the Windows search feature will open in Google Chrome (or your browser of choice). However, these links will still be performed using Bing, while the majority of people use Google as their default. Redirecting Bing searches to Google will be handled via a Google Chrome extension in the next step.

 

Step 2: Download an extension to redirect Bing queries to Google

To re-route searches from Bing to Google in the Windows search bar, you can use a third-party extensions, Chrometana. Chrometana will automatically redirect bing searches to your prefered search engine when you type in a query and are presented with an option that says “see search results.”

That’s it! From now on, any web search in the Windows search bar will open up a new Google search in Google Chrome. Hopefully you find this feature useful to you and allows you to browse the web the way that works best for you.

Categories
Operating System Windows

Maximizing your Windows 10 Battery Life

Maximize your Windows 10 Battery Life and Reduce your Device Performance, featuring X1 Carbon 2nd Gen.

Recently I was preparing for a trip to a music festival while taking classes over the summer. I knew that I needed to keep up with my courses but I also knew that I wasn’t going to be able to charge my computer’s battery very often, so I decided to write a short article on how you can maximize your computer’s battery life beyond normal power-saving methods.

After this guide you’ll be saving battery like nobody’s business and your laptop will be significantly less usable then before! Before we get started it’s important that you’re aware of my computer’s specs; depending on your computer’s specifications and application usage, results may vary.

The make of my computer is Lenovo and the model is the X1 Carbon 2nd Gen.

OS: Windows 10 Pro

Version: 1607 build 14383.1198

Processor: Intel Core i5-4300U at 1.90 Ghz – Turboboost to 2.49 Ghz

Ram: 8.00 GB (7.68 Usable) DDR3 at 1600 MHz

Hard Drive: 256GB M.2 SSD eDrive Opal capable

Wireless: Intel Dual Band Wireless-AC 7260 (2×2, 802.11ac) with Bluetooth® 4.0

Integrated Lithium Polymer 8-cell (45Wh) RapidCharge battery

Also note that the only application that I was using was Microsoft Edge – to save battery over using Google Chrome.

First head over to Device Manager (Note: you’ll require internet for this step). This can be accessed from the Windows Power User menu by pressing the Windows Key + X at the same time. From the Device Manager menu go through every device and make sure that the drivers for each device are up to date. This should ensure that all of your devices are using the best possible drivers that are more efficient for your system’s battery; out of date drivers can adversely affect your systems performance as well.

While in Device Manager we’re also going to make a few more changes. Depending on how you use your machine, you may want to adjust these settings to your needs. Click on the “Network adapters” drop down menu and double click on the Intel Dual Band Wireless-AC (this may be named differently depending on your device’s wireless card). Click over to the Advanced tab and change the “Preferred Band” to 5.2 GHz, “Roaming Aggressiveness” to a lower setting (lower is better unless in a congested wireless area). Now click over to the “Power Management” tab and make sure that the “Allow the computer to turn off this device to save power” is checked. Click the “OK” button and move on to the “Intel Ethernet Connection I218-LM (also may be different on your device) and double click on this as well. Make sure that “Enable PME” is set to enabled, “Energy Efficient Ethernet” is set to on and “System Idle Power Saver” is set to enabled. After that, navigate over to the “Power Management” tab and make sure again that the “Allow the computer to turn off this device to save power” is checked again.

After going through your drivers, head over to the Power & Sleep settings for your laptop. This can be accessed by pressing the Windows key, navigating to Settings -> System (Display notifications, apps, power) -> Power & Sleep. I’d recommend setting your Screen to turn off after at maximum of 5 minutes and setting your computer to Sleep after a maximum of 15 minutes. Then, navigate to the bottom of that page and click on Additional power settings. This will bring your to your computer’s Power Options.

You may want to switch over to the Power saver plan, which should automatically drop your computer down to a more efficient battery saving mode, but we want to push that even further. Click on “Change plan settings” to make some changes.

Consider changing “Adjust plan brightness” to the minimum usable brightness, as it’s one of the biggest aspects of battery saving. I however made sure that the computer’s brightness was always at minimum possible level was a must to keep my laptop alive.. Primarily I used the computer in the early morning or late at night so that I could keep the screen at the minimum brightness while still being able to use the laptop.

After changing your brightness to the minimum, click on “Change advanced power settings”. Here’s where you can adjust the fine controls for different hardware and software’s battery usage. Make sure that the top drop down menu says “Power saver [Active]” and move on the the main table of items. I would recommend changing this to your own personal preferences but there are a few major aspects I would recommend adjusting in this panel.

In “Desktop background settings” -> “Slide show” I would recommend setting this to paused while on battery power.

In “Wireless Adapter Settings” -> “Power Saving Mode” switch this over to Maximum Power Saving on battery power as well.

In “Sleep” -> “Sleep after” make sure these are set to the values you set earlier, around 5 and 15 respectively to On battery and Plugged in. Also in “Allow hybrid sleep” is set to off for both options, this is because hybrid sleep is more taxing on the battery. In “Hibernate after” set these to slightly higher values than your “Sleep after” values. This will allow your PC to conserve more battery than typical sleep. Also set “Allow wake timers” to disabled on battery power. We don’t want anything taking your laptop away from it’s beauty sleep.

In “Intel CPPC Energy Efficiency Settings” -> “Enable Energy Efficient Optimization” and make this enabled for both options. Also in “Energy Efficiency Aggressiveness” and set both options to 100%.

In “USB settings” -> “USB selective suspend setting” set both of these options to enabled.

In “Intel Graphics Settings” -> “Intel Graphics Power Plan” set both of these options to maximum battery life.

In “PCI Express” -> “Link State Power Management” set both of these options to Maximum power savings.

In “Processor power management” -> “Minimum processor state” set both options to 5%. This is the minimum percentage that your processor will run at. I wouldn’t recommend setting this to below 5% for minimum operation. Also in “System cooling policy” change both options to Passive cooling, which will slow your CPU before slowing your fans. Also in “Maximum processor state” set this to below 100%. I personally set my computer to a maximum of 50%, but depending on your use case, this will vary.

In “Display” most of these setting we’ve already touched earlier, but in “Enable adaptive brightness” and disable this setting. We don’t want the system to decide it wants a brighter screen and eat up valuable battery resources.

In “Battery” I would recommend just making sure that hibernation comes on in your “Critical battery action” settings and that your critical battery level is set to around 7%.

A couple additional changes that I made is to upscale the resolution on the computer so that it’s not having to display content in native 2K on the X1’s screen. This depends on the machine that you are using however, and your preference of how you want your machine’s screen to look.

Now there are a few things left to be changed, if I haven’t missed anything in Windows 10. For these you’ll want to shut down your computer and enter its BIOS settings. On the X1 Carbon that I was using, this is done by hitting Enter repeatedly after hitting the power button.

BIOS settings user interfaces tend to vary dramatically across computers and manufacturers, but for the X1 Carbon that I was working with it looked something like this

Image result for x1 carbon gen 2 bios(aside from the fact that this isn’t a Gen 2, it’s a very similar interface.)

In the BIOS I was working with, it doesn’t recognize mouse or trackpad input, so you’ll likely have to navigate with arrow keys, enter and escape; bear with me.

Navigate over to the “Config” tab and down arrow down to the “> USB option”. Make sure that the “USB UEFI BIOS Support” is enabled, “Always on USB” is disabled, and “USB 3.0 Mode” is set to auto. Now hit escape and down arrow down to the “> Power” option. Hit enter and I would recommend switching all of the settings over to battery optimized settings. For this X1 specifically, make sure that “Intel SpeedStep technology” is set to Enabled, “Mode for AC” is set to battery optimized, “Mode for Battery” is set to battery optimized. Also, make sure to switch the settings under “Adaptive Thermal Management”, “Scheme for AC” is set to balanced and “Scheme for Battery” is set to balanced. Now under “CPU Power Management”, make sure this is set to enabled, and make sure that “Intel Rapid Start Technology” is set to disabled. After modifying all these settings, hit escape again.

Depending on your personal use, you can head over to the “> Virtualization” settings and disable the Intel Virtualization and VT-d features, although this may adversely affect performance and prevent operating system virtualization entirely, so use at your discretion.

Thanks for bearing with me until now. Now you should have a remarkably effective battery-saving laptop that performs significantly worse than it did before. This worked out great for me working on course assignments while on a camping trip. I hope this works out well for you as well!

Categories
Hardware Hotfix Operating System Windows

Setting Roam Aggression on Windows Computers

What is Wireless Roaming?

Access Points

To understand what roaming is, you first have to know what device makes the software function necessary.

If you are only used to household internet setups, the idea of roaming might be a little strange to think about. In your house you have your router, which you connect to, and that’s all you need to do. You may have the option of choosing between 2.4GHz and 5GHz channels, however that’s as complicated as it can get.

Now imagine that your house is very large, let’s say the size of UMass Amherst. Now, from your router in your living room, the DuBois Library, it might be a little difficult to connect to from all the way up in your bedroom on Orchard Hill. Obviously in this situation, the one router will never suffice, and so a new component is needed.

An Access Point (AP for short) provides essentially the same function as a router, except that multiple APs used in conjunction project a Wi-Fi network further than a single router ever could. All APs are tied back to a central hub, which you can think of as a very large, powerful modem, which provides the internet signal via cable from the Internet Service Provider (ISP) out to the APs, and then in turn to your device.

On to Roaming

So now that you have your network set up with your central hub in DuBois (your living room), and have an AP in your bedroom (Orchard Hill), what happens if you want to go between the two? The network is the same, but how is your computer supposed to know that the AP in Orchard Hill is not the strongest signal when you’re in DuBois. This is where roaming comes in. Based on what ‘aggressiveness’ your WiFi card is set to roam at, your computer will test the connection to determine which AP has the strongest signal based on your location, and then connect to it. The network is set up such that it can tell the computer that all the APs are on the same network, and allow your computer to transfer your connection without making you input your credentials every time you move.

What is Roam Aggressiveness?

The ‘aggressiveness’ with which your computer roams determines how frequently and how likely it is for your computer to switch APs. If you have it set very high, your computer could be jumping between APs frequently. This can be a problem as it can cause your connection to be interrupted frequently as your computer authenticates to another AP. Having the aggressiveness set very low, or disabling it, can cause your computer to ‘stick’ to one AP, making it difficult to move around and maintain a connection. The low roaming aggression is the more frequent problem people run into on large networks like eduroam at UMass. If you are experiencing issues like this, you may want to change the aggressiveness to suit your liking. Here’s how:

How to Change Roam Aggressiveness on Your Device:

First, navigate to the Control Panel which can be found in your Start menu. Then click on Network and Internet.

From there, click on Network and Sharing Center. 

Then, you want to select Wi-Fi next to Connections. Note: You may not have eduroam listed next to Wi-Fi if you are not connected or connected to a different network.

Now, select Properties and agree to continue when prompted for Administrator permissions.

After selecting Configure for your wireless card (your card will differ with your device from the one shown in the image above).

Finally, navigate to Advanced, and then under Property select Roaming Sensitivity Level. From there you can change the Value based on what issue you are trying to address.

And that’s all there is to it! Now that you know how to navigate to the Roaming settings, you can experiment a little to find what works best for you. Depending on your model of computer, you may have more than just High, Middle, Low values.

Changing roaming aggressiveness can be helpful for stationary devices, like desktops, too. Perhaps someone near you has violated UMass’ wireless airspace policy and set up and hotspot network or a wireless printer. Their setup may interfere with the AP closest to you, and normally, it could cause packet loss, or latency (ping) spiking. You may not even be able to connect for a brief time. Changing roaming settings can help your computer move to the next best AP while the interference is occurring, resulting in a more continuous experience for you.

Categories
Operating System

Scout’s Honor: Will the Rise of Sabermetrics and Data Replace the Role of Baseball Scouts?

As popularized by the book-turned-movie Moneyball, a large portion of baseball relies on sabermetrics, a newer analysis of statistics to gauge players and teams. Where in the past RBIs and batting average were heavily relied on as be-all indicators, newer statistics have emerged as more accurate in measuring ability, since the game has changed so much in the 100+ years since its inception. With all these new statistics and measurements, software has been developed over the past 30 years to calculate and simulate different scenarios. If you are curious, Out of the Park Baseball (OOTP) is a yearly video game series in which you manage a baseball team, simulating games and poring over stats just like loads of front-offices do. Alongside the software, there are devices in most ballparks measuring every pitch (called PITCHF/x), and even players on the field, just collecting all the data possible for use.

An example of a spread chart from PITCHF/x

With all the tools available now to measure just about every fine detail about a player, some teams are cutting back on their scouting team. Scouts have been essential for baseball teams since the beginning of the sport, looking at prospects, or talent on other teams, measuring them and seeing if they are of any interest to the team. The Astros just cut eight scouts from their team, so scouts around the league are becoming weary about the future. Some teams still heavily rely on scouts and find them indispensable, with teams like the Brewers using them for players in the lower minor leagues, where there are not enough stats to fully screen players. There is also some information that can’t just be measured through just data and film.

Scouts with their radar guns ready

In a similar vein, all this technology also frees up the scouts and allows them to just watch the game for qualitative factors. Whenever a scout is recording the reading off a radar gun, or writing down the time for a sprint, they aren’t looking at the game. This issue is the same for sports reporters, because whenever you’re writing something down, you’re not paying attention to play as it happens. With the advancements of PITCHF/x and the like, scouts don’t need to spend time doing the busy work of recording numbers, where devices can do them automatically. This frees the scouts from tedious tasks, and watch the players as they play and how they interact in detail. They can see how other players react to a play not directed at them, see their energy while playing, and just their general dispositions. Used properly, modern baseball technology might free up and help scouts, maybe not replace them entirely.

Categories
Apps

Politweets: The Growing Use of Twitter and Social Media for Politics

Now more than ever, politicians turn to Twitter and other Social Media platforms.

This isn’t anything new. Since the beginning of Twitter, Facebook, and other forms of social media, politicians have increased their presence on the internet to reach out to many potential supporters and keep up with constituents. Today, when running a political campaign, it is almost necessary to have a web presence in order to make your name and positions on certain key issues known to voters. But can there be too much twitter? Too much of a presence online? And could social media be hurting the game of politics for the future?

(Source: New York Observer, 2016)

During the 2016 election cycle, Twitter became the go-to platform for ranting and discussing politics to endless users doing the same exact thing. Politicians noticed this, and ran with it, tweeting non-stop and even directly at their political opponents. Most notably, the three main candidates, Donald Trump, Hillary Clinton and Bernie Sanders, all used twitter the most to rally support, attack each other, and tweet their stances on many issues. Even our previous president, Barack Obama, has an active web presence, logging 95 million followers and being the most followed notable politician worldwide.

Politicians like President Trump and Hillary Clinton have taken politics on twitter to the next level. Not only would they tweet about the latest story to rile up their respective sides, but they would also use it to directly mud-sling each other on the platform. Whether it takes the form of Trump’s long rants about “Crooked Hillary” or Hillary’s simple but effective “Delete your account” response, these tweets start a flood of supporters from each side going at it in the replies and in the twitter universe in general.

As the British website “The Guardian” points out, Twitter is relatively small in the political sphere, mainly used by politicians’ key and sturdiest supporters that help push an agenda, politicians use twitter to start a discussion and get into the mainstream news on TV, in newspapers, magazines, and even other websites. These sometimes outrageous claims and tweets by politicians make it on all of these platforms, furthering discussion of their agendas and somehow still making it into the minds of people who don’t even use social media at all.

This trend isn’t limited to twitter, as this carries over to Facebook and even YouTube as well. Facebook has also become a hot-bed for political debates and agenda-pushing. Despite the negative stigma around social media and politics, it seems to be working. According to the Pew Research Center, “one-in-five social media users have changed their minds about a political issue or about a candidate for office, because of something they saw on social media”. 

That number is astounding. A simple post supporting one candidate, one policy, and movement could have a huge adverse effect. Theoretically, if someone has 500 facebook friends/twitter followers and they make posts concerning on topic of political discussion or supporting a candidate, a good amount of those followers would see that post. Say 100 people see that post out of 500 friends, 20 people of that 100 would be change their mind on an issue or candidate.

Whether you like it or not, Politicians using social media to further the political discussion is working, and is here to stay. President Trump will continue to push his agenda; his opponents/supporters will continue to spread their beliefs across the platform, and tweets by any politician will filter through the world of social media into everyday news outlets. This is a trend that is only expected to grow in the next coming elections and years, and a trend that could potentially either help or hurt the political sphere as a whole.

For more reading, you could visit either of these sources based around the political discussion that I used to research this article:

https://www.theguardian.com/technology/2016/jul/31/trash-talk-how-twitter-is-shaping-the-new-politics

http://www.pewinternet.org/2016/10/25/the-tone-of-social-media-discussions-around-politics/

Categories
Operating System

The Scroll Lock Key, A Brief History

Long ago in the year 1981, IBM released their original PC keyboard. It came with a set of 83 keys which have since become industry standard. However, the keyboard has evolved much over the 36 years since its creation. Most have changed key placements and adding, combining or removing keys due to evolving technological needs

But there is a key that has managed to hang on through history, despite most people not knowing what it even does. Today, we explpore the Scroll Lock  key.

 

Image result for scroll lock

 

The Original Purpose

Back when the Scroll Lock key was first invented, mice and graphical operating systems were still not mainstream like they are today. Today when when typing documents, we can use our mouse to point and click to move the typing cursor. Back then, the arrow keys were used to move your typing cursor, or to scroll the page. Toggling the Scroll Lock key would disable scrolling with the arrow keys, and allow you to move your typing cursor through the page.

But mice are widespread now, so why is the key still there?

 

Uses
There are two very popular uses for the Scroll Lock key today:

Microsoft Excel
In Excel, the arrow keys navigate cells by default. However, when the Scroll Lock key is toggled, the arrow keys will now scroll the entire spreadsheet either vertically or horizontally. This allows for more advanced users to have both hands on the keyboard at all times, decreasing the time it takes to use the spreadsheet.

“Free” Key
Another popular use for the Scroll Lock key is as a “Free” key. What this means is that people will remap the key to perform other functions and macros. For example, if I wanted to create a New Incognito Window in Google Chrome, I could hit CTRL+SHFT+N or I could remap the whole shortcut to the Scroll Lock and have it be done in one press.

The Scroll Lock key is a vestige of an older time that has remained a standard since the dawn of the keyboard, and managed to carve out relevance, staying useful long after its original purpose expired. In a world of constantly evolving technology, where many feel the need to update their skill-sets to fit new fads and trends, we can all learn a lot from the Scroll Lock key, finding new and exciting ways to apply our talents.

Categories
Hardware

RRAM: A Retrospective Analysis of the Future of Memory

Mechanisms of Memory

Since the dawn of digital computation, the machine has only known one language: binary.  This strange concoction of language and math has existed physically in many forms since the beginning.  In its simplest form, binary represents numerical values using only two values, 1 and 0.  This makes mathematical operations very easy to perform with switches. It also makes it very easy to store information in a very compact manor.

Early iterations of data storage employed some very creative thinking and some strange properties of materials.

 

IBM 80-Column Punch Card

One of the older (and simpler) methods of storing computer information was on punch cards.  As the name suggests, punch cards would have sections punched out to indicate different values.  Punch cards allowed for the storage of binary as well as decimal and character values.  However, punch cards had an extremely low capacity, occupied a lot of space, and were subject to rapid degradation.  For these reasons, punch cards became phased out along with black and white TV and drive-in movie theaters.

Macroscopic Image of Ferrite Memory Cores

Digital machines had the potential to view and store data using far less intuitive methods.  King of digital memory from the 1960s unto the mid-to-late 70s was magnetic core memory.  By far one of the prettiest things ever made for the computer, this form of memory was constructed with a lattice of interconnected ferrite beads.  These beads could be magnetized momentarily when a current of electricity passed near them.  Upon demagnetizing, they would induce a current in nearby wire.  This current could be used to measure the binary value stored in that bead.  Current flowing = 1, no current = 0.

Even more peculiar was the delay-line memory used in the 1960s.  Though occasionally implemented on a large scale, the delay-line units were primarily used from smaller computers as there is no way they were even remotely reliable… Data was stored in the form of pulsing twists through a long coil of wire.  This mean that data could be corrupted if one of your fellow computer scientists slammed the door to the laboratory or dropped his pocket protector near the computer or something.  This also meant that the data in the coil had to be constantly read and refreshed every time the twists traveled all the way through the coil which, as anyone who has ever played with a spring before knows, does not take a long time.

Delay-Line Memory from the 1960s

This issue of constant refreshing may seem like an issue of days past, but DDR memory, the kind that is used in modern computers, also has to do this.  The DDR actually stands for double data rate and refers to the number of times every cycle that the data in every binary cell is copied into an adjacent cell and then copied back.  This reduces the amount of useful work per clock cycle that a DDR memory unit can do.  Furthermore, only 64 bits of the 72-bit DIMM connection used for DDR memory are actually used for data (the rest are for Hamming error correction).  So we only use about half the work that DDR memory does for actual computation and it’s still so unreliable that we need a whole 8 bits for error correction; perhaps this explains why most computers now come with three levels of cache memory whose sole purpose is to guess what data the processor will need in the hopes that it will reduce the processor’s need to access the RAM.

DDR Memory Chip on a Modern RAM Stick

Even SRAM (the faster and more stable kind of memory used in cache) is not perfect and it is extremely expensive.  A MB of data on a RAM stick will run you about one cent while a MB of cache can be as costly as $10.  What if there were a better way or making memory that was more similar to those ferrite cores I mentioned earlier?  What if this new form of memory could also be written and read to with speeds orders of magnitude greater than DDR RAM or SRAM cache?  What if this new memory also shared characteristics with human memory and neurons?

 

Enter: Memristors and Resistive Memory

As silicon-based transistor technology looks to be slowing down, there is something new on the horizon: resistive RAM.  The idea is simple: there are materials out there whose electrical properties can be changed by having a voltage applied to them.  When the voltage is taken away, these materials are changed and that change can be measured.  Here’s the important part: when an equal but opposite voltage is applied, the change is reversed and that reversal can also be measured.  Sounds like something we learned about earlier…

The change that takes place in these magic materials is in their resistivity.  After the voltage is applied, the extent to which these materials resist a current of electricity changes.  This change can be measured and therefor binary data can be stored.

A Microscopic Image of a Series of Memristors

Also at play in the coming resistive memory revolution is speed.  Every transistor ever made is subject to something called propagation delay: the amount of time required for a signal to traverse the transistor.  As transistors get smaller and smaller, this time is reduced.  However, transistors cannot get very much smaller because of quantum uncertainty in position: a switch is no use if the thing you are trying to switch on and off can just teleport past the switch.  This is the kind of behavior common among very small transistors.

Because the memristor does not use any kind of transistor, we could see near-speed-or-light propagation delays.  This means resistive RAM could be faster than DDR RAM, faster than cache, and someday maybe even faster than the registers inside the CPU.

There is one more interesting aspect here.  Memristors also have a tendency to “remember” data long after is has been erased and over written.  Now, modern memory also does this but, because the resistance of the memristor is changing, large arrays of memristors could develop sections with lower resistance due to frequent accessing and overwriting.  This behavior is very similar to the human brain; memory that’s accessed a lot tends to be easy to… well… remember.

Resistive RAM looks to be, at the very least, a part of the far-reaching future of computing.  One day we might have computers which can not only recall information with near-zero latency, but possibly even know the information we’re looking for before we request it.