We often think of memory as data files that can be stored locally in a hard drive or off-site on a server in a data center. However, it is not necessary to always externalize and outsource memory in this way. Historically, users lacking access to cloud computing have had to devise their own systems of data storage and retrieval by leveraging technologies based around the method of loci, which is Latin for places.
Also known as the memory or mind palace technique, any physical location that you can visualize in your brain can be used. Making use of your biological infrastructure’s built-in spatial memory and navigation systems can allow you to back up data extremely locally, restore data as needed, and provide you with the opportunity to migrate that data wherever you physically find yourself.
In addition to the increased portability of your data, leveraging your mental structures will lead to increases in performance that can result in decreased data latency. Additionally, a memory palace storage system will create redundancy of existing physical and electronic data stores. Despite roughly 200,000 years of development, the replication of data across multiple human biological data stores is still in beta.
This tutorial will cover how to commit a route through your memory palace, identify data stores, add data to your palace, and ensure that data transfer was successful.
In order to complete this tutorial, you will need:
Though it is not necessary to do background reading, the following texts can provide you with additional theory and praxis:
With your localized data store in place and prepared, we are ready to begin.
To begin, we’ll need to mount and format our memory storage space. From where you physically are, you should visualize the location that you have chosen as your memory palace. In your mind’s eye, wander through the space. While “walking” through the space in your memory, you should identify where to start and end, and consider the various places you can store information.
For example, if you are using a childhood home, you may want to start at the front door, then move into the foyer, the kitchen, the living room, et cetera. Be sure that you have a clear end point in your mind, perhaps the attic or the basement.
As part of this process, it is helpful to move through the memory palace both forwards and backwards. You may want to amend the route to find a more memorable path. At this stage, it is most important to have a fully developed memory of the space as you will be testing the memory palace and can refactor the flow of it later.
Once you “walk” through the route a few times, you are ready to move on to the next step to determine specific locations for storage.
Within your memory palace, you can take a memory journey that has various loci or stations that are places to stop where you store information. Any unique nook or memorable piece of furniture can be a viable station where you store data for later retrieval.
As you identify each locus or place, ensure that they are individually unique. If one place looks too similar to another, you may end up confusing the stations and your data will get corrupted.
In order, the places should correspond with the route through your memory palace. The starting point for your memory journey should be locus 1. At this point, you may want to amend the pathway through your memory palace based on the location of each station.
When you get to the end of your path through your visualization, you should return to the beginning and make sure you stop at all the same locations in order as part of your commit process. View each station from the same angle that you viewed them previously, to ensure that you do not corrupt the data stores.
With our specific data stores in place and on a pathway, we can add data to our local memory.
At this point, you should take data that you want to memorize and place that data at the various loci within your memory palace. A list such as grocery items, spiral galaxies, or Linux kernel names could be stored in your palace. Lists that you store in your memory palace can be of mixed data types — think the Python list data structure, rather than the C array. As you get more advanced, you can store a speech or presentation in your palace.
Ensure that each item on your list corresponds in order with each storage location in your memory palace. This will reinforce your loci, enabling you to skip locations and retrieve the next item of data.
Next, we will work to make sure that our data cannot be corrupted.
With your data tucked away into each storage locus, you should go through your memory palace and “look” at each piece of data stored within it. In order to reinforce the data, it is helpful to build concrete memories around each item.
Go through the palace, exaggerating the images of the items on your list, and have them interact with the spatial location where they are stored. If you are storing some of the characters from Dante’s Inferno in your house, you can visualize them within the context of your space. For example, stuff the Roman assassins Brutus and Cassius feet first into the openings of your washer and dryer rather than in Lucifer’s jaws.
It is also helpful to connect these mnemonic images to other sensory information. Attempt to add smell and hearing cues to this imagery. Humor and lewdness can also assist with committing data to your memory palace.
Once we are sure that we have our memorable data in our memory store, we can test that it is there through restoring it to an external list.
With data stored in loci throughout our memory palace, we can test that the data transfer was successful by restoring that information.
It can be helpful to grab a friend to read your original list while you “recite” it by walking through your memory palace out loud. Your friend can be helpful by quizzing you based on the original list. Alternatively, you can test your retrieval alone by restoring the data to a piece of paper and referring back to a physical copy of the data on the list.
If you find that you have had any failures, you can rebalance the pathways and loci of your palace, and refactor the flow and data stores to enable yourself to better retrieve your data.
Once you have delivered your list in order based on your memory palace a few times, you have successfully committed to your memory the mnemonic technique of memory palaces and can migrate with this data. If you have random access requirements, once you have fully committed the structure data sequentially, you should be able to retrieve each item of data as needed and can test the unordered data to ensure its successful accessibility.
Although there may be corporeal restraints to your biological data storage, at this point you can recall this data at any location and point in time that you physically are. This data is therefore as portable as you are without being cloud-reliant.
With your first memory palace committed to memory, you can work to horizontally scale your data stores by memorizing new memory palaces based on other physical spaces you know very well. For additional scaling, you can visit new physical spaces you come across Within these palaces, you can store additional data as needed.
When you run out of memory palaces, or it becomes challenging to scale, it is important to delete the data within your memory palace. There are different approaches to this. You may want to walk through the palace to “clean up” and remove each item stored in memory. Alternatively, you can attempt to write over data with new, inconsequential data until the original memory fades.
With a trained and disciplined memory, you can successfully back up, restore, and migrate data without any additional hardware.
If you find that memory palaces aren’t for you, you can always consider alternative methods of data storage, such as cloud block storage and object storage services.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.