Files used by SuperMemo

Contents

SuperMemo files

These are the files used by a typical SuperMemo installation:

  • SuperMemo folder - usually c:\sm8, c:\sm98, c:\sm15, c:\SuperMemo, etc.
    • sm15.exe - the program: SuperMemo 15
    • bin - some working files used by SuperMemo
      • supermemo.ini - text file with some settings used by SuperMemo. You can modify this file manually. Please do it with caution and make a back-up before introducing any changes. If you experience problems, restore the backup or delete this file altogether
      • commands.ini - text file with the list of custom commands for Tools : Commander
      • search.ini - definition of keyboard shortcuts for your most frequently executed web searches (e.g. Google, Wikipedia, etc.)
      • layout.ini - layouts used by SuperMemo (i.e. positions and sizes of windows and toolbars). This file also can be modified manually if backed up safely
      • tips.txt - text file with tips used in Question of the Day. You can modify this file manually
      • smhelp.chm - help file for SuperMemo (if you are not reading this text over the Internet, you are probably reading this file). You can download smhelp.chm if you select the Help system : Microsoft® Help (off-line) option while installing SuperMemo by means of SuperMemo Install Wizard or manually from here
      • questionnaire.ini - your answers to Help : E-mail : Questionnaire. If you do not send your questionnaire, your answer will be kept between the sessions to make it possible to send your feedback at later time
      • supermemo.css - default stylesheet used by SuperMemo in HTML components. You can edit this file
      • FAQ_template.htm - a template file reused for FAQs, saved in the HTML markup (with the HTML FAQ checkbox selected), that are processed with Reading : E-mail FAQ from the component menu
      • FAQ_wiki.txt - a template file reused for FAQs, saved in the Wiki markup (with the Wiki FAQ option checked), that are processed with Reading : E-mail FAQ in the component menu
    • systems - default folder for keeping collections used by SuperMemo

Collection files

  • SuperMemo folder
    • systems
      • <name of the collection>.kno - file with the most important parameters of the collection such as the total number of elements, number of memorized elements, date of creating the collection, etc. For more details see below
      • <name of the collection> - folder with the remaining files of the collection. You must copy this folder along the above kno file if you want to preserve the integrity of the collection. It is recommended that you always use File : Copy collection instead. Most important files in the collection folder:
        • collection.ini - text file with some parameters used by the collection. You can modify this file manually. Please do it with caution and create a backup before introducing any changes
        • postpone.ini - postpone setup definitions (e.g. used with Learn : Postpone)
        • search.ini - search definitions (as used with Search : Find elements)
        • filter.ini - definition of element filters (e.g. as used with View : Filter)
        • info - most important information files used by the collection
          • compon.dat - binary file with the layout and attributes of all components used in the collection
          • elinfo.dat - information about all individual elements: A-factor, last repetition date, number of repetitions, forgetting index, task number, etc.
          • contents.dat - information about the structure of the knowledge tree. Each element has its parent, siblings and the first child recorded in this file along with the number of children and the number of descendants
          • repetitions.dat - file with the dates of the nearest repetition for each element in the collection
          • RepetitionHist.dat - file with the repetition history of all elements (e.g. date, hour, grade, interval, etc.)
          • workload.dat - file with the number of items and topic scheduled for repetition on each day
          • priority.sub - element subset file holding the priority queue. Elements are stored in this subset in the order of priority. You can view this subset with View : Priority queue
          • intact.dat - element subset file with all pending elements in the order as they appear in the pending queue
          • sm8opt.dat - file with data describing your memory (i.e. the optimization data record used by SuperMemo Algorithm). Some details of this record can be found in: Implementing SuperMemo with sm8opt.dll
          • drill.dat - element subset file with all elements scheduled for the final drill (i.e. the final drill queue). You can delete this file manually (the final drill queue will be emptied)
          • emptyslots.dat - list of unused filespace slots in the ELEMENTS subfolder (in the primary and/or secondary storage). This file is used to accelerate allocation of new slots. If this file is corrupt, it can be deleted. SuperMemo should be able to recreate its contents when starting up
          • history.sub - element subset file with the last 1000 most recently visited elements. You can always delete this file manually
          • ret.dat and backret.dat - retention and consolidation data. Although these files can be recreated if deleted, retention data will not include elements that have been deleted nor elements whose repetition history has been deleted
          • outstanding.sub, OutstandingItems.sub, OutstandingTopics.sub - element subset file holding the outstanding queues. Only outstanding.sub file is sorted by the repetition order. These files are created from repetitions.dat at the beginning of each learning day
        • registry - registries used by the collection (except translation and transcription registries described later in this text)
          • text.* - text registry files
            • text.mem - information about all registry members stored in the text registry (e.g. number of using elements, pointer to the text.rtx file storing the name of the text registry member, pointer to the text.lst file storing the list of elements using a given member, etc.)
            • text.lst - list of all elements using individual members of the text registry. This list is used, for example, in search procedures. First a member (e.g. a text) is found. Then all elements using this member are placed in a browser by scanning the user list stored in text.lst. Only the first 500 elements using the member are stored for performance reasons
            • text.ptr - registry subset storing the sorted subset of all members in the text registry
            • text.rtx - all names of the members of the text registry. You should not manually modify this file as it can corrupt your collection and destroy the integrity of the text registry. You can search for text.rtx with a given content if you need to locate a specific collection on your hard disk. Remember that such a search will not find names you used for sounds, images or other registry members (search for *.rtx instead). Note also that some HTML texts may be imported via frames and will not be included in the text registry.
            • text.rtf - richly formatted non-HTML texts used by the text registry are kept in a single file (this file is compacted if you run File : Repair collection and choose Rebuild registries). The contents of text.rtf may not match text.rtx if you have edited names in the text registry (the same text member can have the name that is entirely different from its rich text contents)
            • text.su1, text.su2, etc. - subset files generated with search operations. First search generates the file su1. Second search (e.g. in AND-searching) generates su2, etc. SuperMemo limits the number of subsets to five. You can always delete these files manually
            • text.srt - file with the sorted subset of registry members generated when sorting the registry. You can always delete this file manually
            • text.ord - file with the sorted subset of registry members generated while searching the registry. You can always delete this file manually
          • font.* - font registry files
          • sound.*, etc.
          • etc.
        • elements - multimedia files associated with individual registries such as html, images, sound, video, OLE, Scripts, etc. You can edit all those files but you must not rename or move them as this would destroy the integrity of the collection. The elements folder can be transferred to secondary storage (e.g. with File : Tools : Semi-copy) and be stored on a CD-ROM or CDR. This way substantial hard disk savings can be made. The folder tree in ELEMENTS is growing gradually as you are adding new files to the system. However, it sticks to the 40-files-per-folder limit to maximize the performance on CD-ROM media. Note that the 40-files-per-folder limit may be violated if you import HTML files with a large number of inclusions (e.g. graphics, scripts, HTML includes, etc.)
        • tasks - tasklists associated with a given collection
          • tasklist name.dat - task data such as value, time, deadline function, etc.
          • tasklist name.ptr - sorted tasklist pointers used when displaying tasks in Tasklist Manager
          • tasklist name.txt - text file exported with Export in Tasklist Manager. This file can always be deleted manually
        • translat - translation registries available for the collection (see: Tools : Options : Language : Collection translation). You can delete this folder; however, the translations will become unavailable
        • subsets - element subsets created by the user. You can delete this folder if you do not need the subsets. Read more: Using subsets. Two typical subsets are: last_subset.sub (contents of the last used browser that can be reused with View : Last browser) and searched.sub (results of the last search that can be reused with View : Search results)
        • stats - statistics of the learning process. If you delete this folder, SuperMemo will not malfunction, but you will lose the record of your past repetitions. SuperMemo will then restore these files anyway. This folder also includes your repetition timeline stored in the time.tim file. *.dat file statistics from the STATS subfolder can be viewed in Tools : Statistics : Analysis : Use
        • history - repetition history subsets that make it easy and fast to browse repetitions executed on given days in the past
        • reports - text files with reports generated by SuperMemo (e.g. recovery report, translation import report, transfer report, e-mail import report, etc.). You can delete this folder if you do not need these reports. File : Tools : Garbage deletes this folder
        • files - other files used by SuperMemo (e.g. template files). You can delete this folder
        • font - true type font files that will be installed in Windows first time the collection is run. Upon installing, the font file is renamed with an underline in front of the name. For example hiragana.ttf will be renamed to _hiragana.ttf
        • html - collection in the HTML format or its portions created by the user. This folder can be deleted as it can easily be recreated
        • temp - temporary files used by SuperMemo. You can always delete this folder. Note, however, that you will lose user recordings generated in pronunciation exercises (option Sound : Panel : Recorder on the sound component's menu). Note: if you open temp.rtf in MS Word, SuperMemo will not be able to use RTF components due to the fact that MS Word locks files it uses. about.jpg is the file used by the SuperMemo splash screen when you start the program
        • recover - folder used by SuperMemo to store stray files located by SuperMemo while running File : Repair collection. This folder can be deleted. However, it is recommended that you inspect its content as it may be indicative of problems with your collection
    • sleep - collection of text files used by Tools : Sleep Chart.
      • sleep.tim - your manually logged sleep data
      • sleep.ini - text file with some parameters used by Tools : Sleep Chart. You can modify this file manually. Please do it with caution and create a backup before introducing any changes
    • plans - collection of text files used by Tools : Plan. The subfolder ARCHIVE contains the archive of your past work schedules (e.g. c:\sm2008\plans\archive\2008\Nov\Nov 26, 2008, Wed.txt). The subfolder stats contains schedule statistics (e.g. c:\sm2008\plans\stats\2008\2008 Nov.csv contains activity totals and averages for November 2008)
    • help - SuperMemo help in the HTML format. This help does not have to be installed if you can view CHM files on your computer. In the latter case, use Tools : Options : SuperMemo : Help system : Microsoft Help (CHM) to use smhelp.chm in the BIN subfolder (see above)
    • translat - SuperMemo localization table files used in displaying various language interfaces of SuperMemo (see: Tools : Options : Language : Localization table)
    • phonetic - phonetic transcription registries (see: Tools : Options : Language : Phonetic transcription) and phonetic transcription fonts
    • filters - Filter files for processing texts in collections (extension flt)
    • backup - default backup folder
    • wiki - Wiki FAQ text files whose contents can be pasted into a wiki software application (e.g. SuperMemopedia, MediaWiki, etc.)

KNO file

Most important fields of the KNO file

  • Total, Memorized:integer - the number of undeleted elements in the collection and the number of memorized elements
  • AllocatedFileSpaceSlots:integer - number of slots allocated for files in the ELEMENTS subfolder
  • Version:byte - collection structure version number (for checking compatibility with the used software release)
  • Burden:real48 - the average number of items to repeated per day
  • FirstDay, LastDay:word - first day of the learning process relative to Jan 1, 1980, and the last day on which repetitions have been cleared (relative to FirstDay)
  • DefaultFI:byte - default forgetting index in the collection
  • MeasuredFI:real48 - measured forgetting index
  • MeasuredFICases:word - the number of repetitions contributing to MeasuredFI
  • FutureReps:real48 - not used in the current version SuperMemo
  • ALR, AFI, AR, AL, AI, AF, ATim, AG:real48 - various averages: Average Last Repetition, Average FI, AverageRepetition, AverageLapses, AverageInterval, AverageFactor, AverageTime, and AverageGrade
  • AFactorDistribution:array[1..20] of word
  • IntervalDistribution:array[1..13] of word
  • LapsesDistribution:array[1..15] of word
  • RepetitionsDistribution:array[1..20] of word
  • author specific data, repetition time measurements, repetition counters, reserved fields, topic statistics, collection version, etc.

The size of variables used above in bytes is: integer and longint 4, byte 1, real48 6, and word 2.

FAQ

Your collection can suddenly appear empty!
Disappearing material
With luck, you can recover from "empty backup"!
Backing up Advanced English
Recovering from file mix-up


Disappearing learning material

From: hojinil
Country: South Korea
Sent: Wednesday, April 11, 2001 4:29 AM

Question

I used Add New and I added lots of stuff but next time when I opened collections I couldn't find any of them. It was gone!

Answer

Please make sure the following two conditions are met:

  1. You are not copying or moving files behind the back of SuperMemo (e.g. with Windows Explorer)
  2. You are not using two independent copies of SuperMemo (each may use a different default collection)

With File : Open collection, you go to the exactly same location where you last left your collection. If some files are moved or deleted behind the back of SuperMemo, it will often attempt to recreate missing files and open the collection regardless. Unless you delete your collection or delete its folders, your learning material should remain safe


Collections may look like empty

From: Michael Duggan
Country: Canada
Sent: Nov 2, 1998

Question

I was cleaning up my hard drive and attempted to move SuperMemo from one folder to another folder. In the process I lost the data for a number of collections. Can I retrieve these data files and place them back in my collection? How do I do that?

Answer

It is recommended to always move collections with File : Copy collection in SuperMemo. Otherwise, a frequent mistake is to copy the kno file without the folder that contains the actual collection files.

Some customers also fall victim of the following scenario:

  1. move the whole SuperMemo folder to a new location using Windows tools
  2. start SuperMemo from the new location
  3. SuperMemo inspects supermemo.ini for the location of most recently used files and looks for them in the old location
  4. SuperMemo displays Cannot find <collection name> at <old location>. Create new files?
  5. if the users responds with Yes, SuperMemo creates empty files with the old name
  6. it all looks like collections became empty while they are safely stored at the new location

The simplest remedy is to answer No in Step 5 and open collections at the new location with File : Open collection. You can also delete supermemo.ini (or its portion that begins with [SYSTEMS] and keeps the location of collections). This way, SuperMemo will 'forget' about the old location of files


Backup disaster: collection lost!

From: Przemek S.
Country: Poland
Sent: June 8, 2000

Question

I used to regularly back up my Advanced English on a second hard disk. Today I tried to restore my backup and ... it looks as it is empty! Only one element inside! Help!!!

Answer

There is a frequent mistake users make. To backup a collection, you need to copy both the kno file and the associated folder (e.g. file ae.kno and the folder [AE]). Some inexperienced users copy only the kno file which is less than 20KB of data (e.g. 950 bytes in SuperMemo 15)! If you try to open an orphaned kno file, SuperMemo will reconstruct an empty folder structure.

To avoid this problem: Always back up collections with File : Copy collection or File : Tools : Quick backup. Do not use external tools unless you understand Windows, files, folders and SuperMemo very well!

To resolve the problem: it is possible the original folder associated with the kno file still exists on the hard disk! You can search for some files characteristic for SuperMemo (e.g. compon.dat or sm8opt.dat). Make an inventory of all kno files (search for *.kno) and all SuperMemo collection folders (search for compon.dat) on your hard disk. Once the inventory is made, try to carefully match up knos and folders and copy kno files to match the folders. Chances are that File : Open collection on one of these files will restore the lost backup. Note that you can easily find empty collections by checking the size of workload.dat (burden.dat in older SuperMemos). This file contains repetitions and is zero-sized on collections with no learning process


Mixed up collection files

From: Richard D
Country: USA
Sent: Feb 15 , 2001

Question

While backing up my collections, I have mixed up some files. As a result, my precious collection on Emergency Medicine became empty. I have lots of backups but I find it difficult to locate the appropriate files. Can you suggest how to resolve it?

Answer

To backup a collection, you need to copy both the kno file and the associated folder (e.g. file Emergy Medicine.kno and the folder [EMERGENCY MEDICINE]). Some inexperienced users copy only the kno file! If you try to open the orphaned Emergency Medicine.kno file, SuperMemo will reconstruct an empty folder structure and the collection will be empty. What is worse, if you run File : Repair collection, the kno file will be "corrected" to match data of the empty collection (e.g. Memorized will be set to zero, etc.).

To restore your collection in such cases you need to:

  1. Locate the EMERGENCY MEDICINE folder which contains all the most important data:
    1. Search for the folder EMERGENCY MEDICINE
    2. If you do not find it, search for folders like EMERG*
    3. If you fail, search for files text.rtx on all your hard disks (including backup drives, networks and CDRs)
    4. Sort text.rtx files by size (the more work you put in the collection, the larger the file)
    5. You can view the content of text.rtx and see if it corresponds with the material you put into your collection
    6. If you do not find the folder with the matching text.rtx, you have probably lost your files for good
  2. Locate the Emergency Medicine.kno file:
    1. Search for the file Emergency Medicine.kno
    2. If you do not find it, search for files like Emerg*.kno
    3. If you fail, search for all *.kno files
    4. If you fail, take any kno file as a substitute (File : Repair collection may occasionally be able to completely restore lost information)
  3. Put both the EMERGENCY MEDICINE folder (or the folder found in Step 1) and Emergency Medicine.kno file (or equivalent from Step 2) in the same folder (e.g. c:\recovered). Make sure the name of kno file matches the name of the folder. For example, if the folder is Emergency Medicine (copy Jan 8, 2001) and the file is Emergency Medicine.kno, rename the file to Emergency Medicine (copy Jan 8, 2001).kno (or rename the folder to Emergency Medicine). If the names do not match, SuperMemo will again recreate empty folders
  4. Open your restored collection and run File : Repair collection to make sure the collection does not include data discrepancies

Backing up Advanced English

From: Marcin Piekarniak
Country: Poland
Sent: Dec 2, 1997

Question

How to easily back up Advanced English 97? In Advanced English 94 the entire system could be compressed to a 1.4 MB file!

Answer

If you wish, you can back up only the learning process. This way, only the data related to memorized items will be stored (not the items themselves). Use File : Export : Learning process to export the data. Later, upon reinstalling Advanced English 97, you can restore the learning process with File : Import : Learning process : Text file. See: Backup


Collection files missing

Question

Carol M. asked:

What is the meaning of this message:

Collection files missing! Folder=C:\SUPERMEMO\SYSTEMS\BIO132_LEC_DIGESTIVE SYSTEM\ Try to restore files that you have moved or deleted

Answer

Your collection is incomplete. It is missing some essential files that can make recovery impossible.

The most frequent reason for this error is a mistake on the part of the user. SuperMemo collections are made of a *.KNO file and a folder with other essential files. Many users believe that the small KNO file contains all information and copy/backup only that single file. If you get the error as above, see if you have not separated the KNO file from its folder. Putting those two together will bring your collection back to life.

In your case, see if the file C:\SUPERMEMO\SYSTEMS\BIO132_LEC_DIGESTIVE SYSTEM.kno exists, if it is not empty, and if the folder C:\SUPERMEMO\SYSTEMS\BIO132_LEC_DIGESTIVE SYSTEM\ is not empty, and includes \REGISTRY\TEXT.PTR and \INFO\COMPON.DAT files.

Technical

SuperMemo always tries to restore missing files and attempts recovery in all conceivable scenarios. This is why SuperMemo collections often survive serious disk damage. However, in the past, users would often get confused when SuperMemo restored the entire empty collection from a lone KNO file. This is why, newer versions check for the presence of essential files that are needed for a collection to be meaningfully recoverable. Those files include the text registry (most collections contain texts used in learning), and compon.dat (collection without components is of little use).